mlterm-3.8.4004075500017600000144000000000001321054731500114515ustar kenusersmlterm-3.8.4/main004075500017600000144000000000001321054731100123715ustar kenusersmlterm-3.8.4/main/main_loop.h010064400017600000144000000003371321054731100145760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MAIN_LOOP_H__ #define __MAIN_LOOP_H__ int main_loop_init(int argc, char **argv); int main_loop_final(void); int main_loop_start(void); #endif mlterm-3.8.4/main/daemon.c010064400017600000144000000127151321054731100140620ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "daemon.h" #ifndef USE_WIN32API #include #include /* memset/memcpy */ #include /* setsid/unlink */ #include /* SIGHUP/kill */ #include #include /* umask */ #include #include /* alloca/malloc/free */ #include #include /* socket/bind/listen/sockaddr_un */ #include #include #if 0 #define __DEBUG #endif /* --- static variables --- */ static int sock_fd = -1; static char *un_file; /* --- static functions --- */ #ifdef USE_CONSOLE static void client_connected(void) { struct sockaddr_un addr; socklen_t sock_len; int fd; char ch; char cmd[1024]; size_t cmd_len; int dopt_added = 0; u_int num; ui_display_t **displays; sock_len = sizeof(addr); if ((fd = accept(sock_fd, (struct sockaddr *)&addr, &sock_len)) < 0) { return; } for (cmd_len = 0; cmd_len < sizeof(cmd) - 1; cmd_len++) { if (read(fd, &ch, 1) <= 0) { close(fd); return; } if ((ch == ' ' || ch == '\n') && !dopt_added) { if (cmd_len + 11 + DIGIT_STR_LEN(fd) + 1 > sizeof(cmd)) { close(fd); return; } sprintf(cmd + cmd_len, " -d client:%d", fd); cmd_len += strlen(cmd + cmd_len); dopt_added = 1; } if (ch == '\n') { break; } else { cmd[cmd_len] = ch; } } cmd[cmd_len] = '\0'; ui_mlclient(cmd, stdout); displays = ui_get_opened_displays(&num); if (num == 0 || fileno(displays[num - 1]->display->fp) != fd) { close(fd); } } #else static void client_connected(void) { struct sockaddr_un addr; socklen_t sock_len; int fd; FILE *fp; bl_file_t *from; char *line; size_t line_len; char *args; fp = NULL; sock_len = sizeof(addr); if ((fd = accept(sock_fd, (struct sockaddr *)&addr, &sock_len)) < 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " accept failed.\n"); #endif return; } /* * Set the close-on-exec flag. * If this flag off, this fd remained open until the child process forked in * open_screen_intern()(vt_term_open_pty()) close it. */ bl_file_set_cloexec(fd); if ((fp = fdopen(fd, "r+")) == NULL) { goto crit_error; } if ((from = bl_file_new(fp)) == NULL) { goto error; } if ((line = bl_file_get_line(from, &line_len)) == NULL) { bl_file_delete(from); goto error; } if ((args = alloca(line_len)) == NULL) { bl_file_delete(from); goto error; } strncpy(args, line, line_len - 1); args[line_len - 1] = '\0'; bl_file_delete(from); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s\n", args); #endif if (strstr(args, "--kill")) { daemon_final(); fprintf(fp, "bye\n"); exit(0); } else if (!ui_mlclient(args, fp)) { goto error; } fclose(fp); return; error : { char msg[] = "Error happened.\n"; write(fd, msg, sizeof(msg) - 1); } crit_error: if (fp) { fclose(fp); } else { close(fd); } } #endif /* --- global functions --- */ int daemon_init(void) { pid_t pid; struct sockaddr_un servaddr; char *path; #ifdef USE_CONSOLE if ((path = bl_get_user_rc_path("mlterm/socket-con")) == NULL) #else if ((path = bl_get_user_rc_path("mlterm/socket")) == NULL) #endif { return 0; } if (strlen(path) >= sizeof(servaddr.sun_path) || !bl_mkdir_for_file(path, 0700)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed mkdir for %s\n", path); #endif free(path); return 0; } memset(&servaddr, 0, sizeof(servaddr)); servaddr.sun_family = AF_LOCAL; strcpy(servaddr.sun_path, path); free(path); path = servaddr.sun_path; if ((sock_fd = socket(PF_LOCAL, SOCK_STREAM, 0)) < 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " socket failed\n"); #endif return 0; } for (;;) { int ret; int saved_errno; mode_t mode; mode = umask(077); ret = bind(sock_fd, (struct sockaddr *)&servaddr, sizeof(servaddr)); saved_errno = errno; umask(mode); if (ret == 0) { break; } else if (saved_errno == EADDRINUSE) { if (connect(sock_fd, (struct sockaddr *)&servaddr, sizeof(servaddr)) == 0) { close(sock_fd); bl_msg_printf("daemon is already running.\n"); return -1; } bl_msg_printf("removing stale lock file %s.\n", path); if (unlink(path) == 0) { continue; } } else { bl_msg_printf("failed to lock file %s: %s\n", path, strerror(saved_errno)); goto error; } } pid = fork(); if (pid == -1) { goto error; } if (pid != 0) { exit(0); } /* * child */ /* * This process becomes a session leader and purged from control terminal. */ setsid(); /* * SIGHUP signal when the child process exits must not be sent to * the grandchild process. */ signal(SIGHUP, SIG_IGN); pid = fork(); if (pid != 0) { exit(0); } /* * grandchild */ if (listen(sock_fd, 1024) < 0) { goto error; } bl_file_set_cloexec(sock_fd); #ifndef DEBUG close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); #endif /* Mark started as daemon. */ un_file = strdup(path); ui_event_source_add_fd(sock_fd, client_connected); return 1; error: close(sock_fd); return 0; } int daemon_final(void) { if (un_file) { close(sock_fd); unlink(un_file); free(un_file); } return 1; } #endif /* USE_WIN32API */ mlterm-3.8.4/main/main-con.c010064400017600000144000000160311321054731100143130ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include /* getenv */ #include #include /* open */ #include /* select */ #include #include /* memcpy */ #include #include #include #include #include #include #include #include #include #if defined(__CYGWIN__) || defined(__MSYS__) #ifndef BINDIR #define BINDIR "/bin" #endif #define MLLIBEXECDIR BINDIR #else #ifndef LIBEXECDIR #define LIBEXECDIR "/usr/local/libexec" #endif #define MLLIBEXECDIR LIBEXECDIR "/mlterm" #endif /* --- static variables --- */ static int connect_fd = -1; static int pty_fd = -1; static struct termios std_tio; /* --- static functions --- */ static void exit_cb(void) { tcsetattr(pty_fd, TCSANOW, &std_tio); } static void sig_child(int sig) { waitpid(-1, NULL, WNOHANG); } static void help(void) { printf("Usage: mlclient-con [options]\n"); } static char *get_path(char *file) { char *home; char *path; char *p; if (!(home = getenv("HOME")) || !(path = malloc(strlen(home) + 16 + strlen(file) + 1))) { return NULL; } sprintf(path, "%s/.config/mlterm/%s", home, file); p = strrchr(path, '/'); if (p > path + strlen(home) + 15) { struct stat st; *p = '\0'; if (stat(path, &st) == 0) { *p = '/'; return path; } } sprintf(path, "%s/.mlterm/%s", home, file); return path; } static void debug_printf(const char *format, ...) { va_list arg_list; static char *path; FILE* fp; va_start(arg_list, format); if (!path && !(path = get_path("msg.log"))) { return; } if ((fp = fopen(path, "a"))) { vfprintf(fp, format, arg_list); fclose(fp); } } static void sig_winch(int sig) { struct winsize ws; if (ioctl(pty_fd, TIOCGWINSZ, &ws) == 0) { char msg[10 + 11 * 4 + 1]; sprintf(msg, "\x1b[8;%d;%d;4;%d;%dt", ws.ws_row, ws.ws_col, ws.ws_ypixel, ws.ws_xpixel); write(connect_fd, msg, strlen(msg)); } signal(SIGWINCH, sig_winch); } static int set_cloexec(int fd) { int old_flags; if ((old_flags = fcntl(fd, F_GETFD)) == -1) { return 0; } if (!(old_flags & FD_CLOEXEC) && fcntl(fd, F_SETFD, old_flags | FD_CLOEXEC) == -1) { return 0; } return 1; } static int connect_to_server(int argc, char **argv) { char *path; struct sockaddr_un servaddr; int count; struct termios tio; if (!(path = get_path("socket-con"))) { return 0; } if ((connect_fd = socket(AF_LOCAL, SOCK_STREAM, 0)) == -1) { free(path); return 0; } set_cloexec(connect_fd); memset(&servaddr, 0, sizeof(servaddr)); servaddr.sun_family = AF_LOCAL; strcpy(servaddr.sun_path, path); free(path); path = servaddr.sun_path; fcntl(connect_fd, F_SETFL, fcntl(connect_fd, F_GETFL, 0) & ~O_NONBLOCK); if (connect(connect_fd, (struct sockaddr*)&servaddr, sizeof(servaddr)) == -1) { pid_t pid; unlink(path); signal(SIGCHLD, sig_child); if ((pid = fork()) == 0) { char **new_argv; if (!(new_argv = alloca((argc + 2 + 1) * sizeof(char*)))) { exit(1); } /* Remove command path */ argv++; argc--; count = 0; new_argv[count++] = "mlterm-con-server"; new_argv[count++] = "-j"; new_argv[count++] = "genuine"; for (; count < argc + 3; count++) { new_argv[count] = argv[count - 3]; } new_argv[count] = NULL; execv(MLLIBEXECDIR "/mlterm-con-server", new_argv); exit(-1); } if (pid < 0) { close(connect_fd); return 0; } for (count = 0; count < 100; count++) { struct stat st; usleep(10000); /* waiting for mlterm-con-server to call bind(). */ if (stat(path, &st) == 0) { /* XXX Following processing is for Oracle Solaris 11. */ usleep(50000); /* waiting for mlterm-con-server to become a daemon and to call listen(). */ if (connect(connect_fd, (struct sockaddr*)&servaddr, sizeof(servaddr)) == 0) { goto connected; } break; } } close(connect_fd); return 0; } connected: if ((pty_fd = open(ttyname(STDIN_FILENO), O_RDWR)) == -1) { close(connect_fd); return 0; } set_cloexec(pty_fd); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); tio = std_tio; tio.c_iflag &= ~(IXON | IXOFF | ICRNL | INLCR | IGNCR | IMAXBEL | ISTRIP); tio.c_iflag |= IGNBRK; tio.c_oflag &= ~(OPOST | ONLCR | OCRNL | ONLRET); #ifdef ECHOPRT tio.c_lflag &= ~(IEXTEN | ICANON | ECHO | ECHOE | ECHONL | ECHOCTL | ECHOPRT | ECHOKE | ECHOCTL | ISIG); #else /* ECHOPRT is not defined on cygwin. */ tio.c_lflag &= ~(IEXTEN | ICANON | ECHO | ECHOE | ECHONL | ECHOCTL | ECHOKE | ECHOCTL | ISIG); #endif tio.c_cc[VMIN] = 1; tio.c_cc[VTIME] = 0; tcsetattr(pty_fd, TCSANOW, &tio); atexit(exit_cb); /* XXX mlterm-con exits by SIGPIPE on fedora 24. */ #if 0 signal(SIGPIPE, SIG_IGN); #endif write(connect_fd, argv[0], strlen(argv[0])); for (count = 1; count < argc; count++) { write(connect_fd, " \"", 2); write(connect_fd, argv[count], strlen(argv[count])); write(connect_fd, "\"", 1); } write(connect_fd, "\n", 1); sig_winch(SIGWINCH); return 1; } /* --- global functions --- */ int main(int argc, char **argv) { fd_set fds; int maxfd; if (argc == 2 && strcmp(argv[1], "-h") == 0) { help(); return 0; } tcgetattr(STDIN_FILENO, &std_tio); if (!connect_to_server(argc, argv)) { debug_printf("Failed to connect to mlterm-con-server.\n"); return -1; } while (1) { char buf[1024]; ssize_t len; FD_ZERO(&fds); FD_SET(pty_fd, &fds); FD_SET(connect_fd, &fds); if (pty_fd > connect_fd) { maxfd = pty_fd; } else { maxfd = connect_fd; } if (select(maxfd + 1, &fds, NULL, NULL, NULL) < 0) { /* received signal */ continue; } if (FD_ISSET(pty_fd, &fds)) { fcntl(pty_fd, F_SETFL, fcntl(pty_fd, F_GETFL, 0) | O_NONBLOCK); while ((len = read(pty_fd, buf, sizeof(buf))) > 0) { /* XXX */ if (buf[0] == 0x7f && std_tio.c_cc[VERASE] == 0x7f) { /* Convert to BackSpace */ buf[0] = 0x08; } write(connect_fd, buf, len); } #if 0 if (len == -1 && errno != EAGAIN) { break; } #endif fcntl(pty_fd, F_SETFL, fcntl(pty_fd, F_GETFL, 0) & ~O_NONBLOCK); } if (FD_ISSET(connect_fd, &fds)) { fcntl(connect_fd, F_SETFL, fcntl(connect_fd, F_GETFL, 0) | O_NONBLOCK); while ((len = read(connect_fd, buf, sizeof(buf))) > 0) { write(pty_fd, buf, len); } /* * XXX * Even if read() has no problem, len is -1 and errno is ECONNRESET on fedora 24, * mlterm-con exits by SIGPIPE. */ #if 0 if (len == -1 && errno != EAGAIN) { break; } #endif fcntl(connect_fd, F_SETFL, fcntl(connect_fd, F_GETFL, 0) & ~O_NONBLOCK); } } tcsetattr(pty_fd, TCSANOW, &std_tio); return 0; } mlterm-3.8.4/main/main.c010064400017600000144000000072411321054731100135410ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include /* USE_WIN32API/HAVE_WINDOWS_H */ #include /* bl_getuid/bl_getgid */ #include #include #include #include #ifdef HAVE_WINDOWS_H #include #endif #include "main_loop.h" #if defined(USE_WIN32API) #define CONFIG_PATH "." #elif defined(SYSCONFDIR) #define CONFIG_PATH SYSCONFDIR #else #define CONFIG_PATH "/etc" #endif #ifdef USE_WIN32API #include /* _fmode */ #include /* _O_BINARY */ static char *dummy_argv[] = {"mlterm", NULL}; #define argv (__argv ? __argv : dummy_argv) #define argc __argc #endif /* --- static functions --- */ #if defined(HAVE_WINDOWS_H) && !defined(USE_WIN32API) #include /* sprintf */ #include #include #include static void check_console(void) { int count; HWND conwin; char app_name[6 + DIGIT_STR_LEN(u_int) + 1]; HANDLE handle; if (!(handle = GetStdHandle(STD_OUTPUT_HANDLE)) || handle == INVALID_HANDLE_VALUE) { #if 0 struct utsname name; char *rel; if (uname(&name) == 0 && (rel = bl_str_alloca_dup(name.release))) { char *p; if ((p = strchr(rel, '.'))) { int major; int minor; *p = '\0'; major = atoi(rel); rel = p + 1; if ((p = strchr(rel, '.'))) { *p = '\0'; minor = atoi(rel); if (major >= 2 || (major == 1 && minor >= 7)) { /* * Mlterm works without console * in cygwin 1.7 or later. */ return; } } } } /* AllocConsole() after starting mlterm doesn't work on MSYS. */ if (!AllocConsole()) #endif { return; } } /* Hide allocated console window */ sprintf(app_name, "mlterm%08x", (unsigned int)GetCurrentThreadId()); LockWindowUpdate(GetDesktopWindow()); SetConsoleTitle(app_name); for (count = 0; count < 20; count++) { if ((conwin = FindWindow(NULL, app_name))) { ShowWindowAsync(conwin, SW_HIDE); break; } Sleep(40); } LockWindowUpdate(NULL); } #else #define check_console() (1) #endif /* --- global functions --- */ #ifdef USE_WIN32API int PASCAL WinMain(HINSTANCE hinst, HINSTANCE hprev, char *cmdline, int cmdshow) #else int main(int argc, char **argv) #endif { #if defined(USE_WIN32API) && defined(USE_LIBSSH2) WSADATA wsadata; extern DWORD main_tid; /* see libptyssh/vt_pty_ssh.c */ WSAStartup(MAKEWORD(2, 0), &wsadata); /* * XXX * vt_pty_ssh_new() isn't called from the main thread, so main_tid * must be set here, not in vt_pty_ssh_new(). */ main_tid = GetCurrentThreadId(); #endif #ifdef USE_WIN32API _fmode = _O_BINARY; #endif check_console(); /* normal user */ bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); bl_set_sys_conf_dir(CONFIG_PATH); #if (defined(__NetBSD__) || defined(__OpenBSD__)) && defined(USE_FRAMEBUFFER) /* * XXX * It performs well to read as large amount of data as possible * on framebuffer on old machines. */ vt_set_timeout_read_pty(0xffff); /* 65535 sec */ #endif if (!main_loop_init(argc, argv)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_term_manager_init() failed.\n"); #endif return 1; } main_loop_start(); #if defined(DEBUG) || defined(USE_WIN32GUI) || defined(__CYGWIN__) || defined(__MSYS__) main_loop_final(); #else /* All resources are freed on exit. */ #endif #if defined(USE_WIN32API) && defined(USE_LIBSSH2) WSACleanup(); #endif bl_dl_close_all(); return 0; } mlterm-3.8.4/main/main_loop.c010064400017600000144000000300721321054731100145700ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "main_loop.h" #include #include /* getpid */ #include #include #include /* bl_alloca_garbage_collect */ #include /* bl_str_alloca_dup */ #include /* USE_WIN32API */ #include /* ui_use_cp932_ucs_fot_xft */ #include #include #ifdef USE_XLIB #include #endif #ifdef USE_BRLAPI #include #endif #ifdef USE_CONSOLE #include /* vt_get_all_terms */ #endif #include "version.h" #include "daemon.h" #if defined(__ANDROID__) || defined(USE_QUARTZ) || defined(USE_WIN32API) /* Shrink unused memory */ #define bl_conf_add_opt(conf, a, b, c, d, e) bl_conf_add_opt(conf, a, b, c, d, "") #endif #if 0 #define __DEBUG #endif /* --- static variables --- */ static int8_t is_genuine_daemon; /* --- static functions --- */ /* * signal handlers. */ #ifndef USE_WIN32API static void sig_fatal(int sig) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "signal %d is received\n", sig); #endif /* Remove ~/.mlterm/socket. */ daemon_final(); /* reset */ signal(sig, SIG_DFL); kill(getpid(), sig); } #endif /* USE_WIN32API */ static int get_font_size_range(u_int *min, u_int *max, const char *str) { char *str_p; char *p; if ((str_p = bl_str_alloca_dup(str)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } /* bl_str_sep() never returns NULL because str_p isn't NULL. */ p = bl_str_sep(&str_p, "-"); if (str_p == NULL) { bl_msg_printf("max font size is missing.\n"); return 0; } if (!bl_str_to_uint(min, p)) { bl_msg_printf("min font size %s is not valid.\n", p); return 0; } if (!bl_str_to_uint(max, str_p)) { bl_msg_printf("max font size %s is not valid.\n", str_p); return 0; } return 1; } #ifdef USE_LIBSSH2 static void ssh_keepalive(void) { vt_pty_ssh_keepalive(100); } #endif /* --- global functions --- */ int main_loop_init(int argc, char **argv) { ui_main_config_t main_config; bl_conf_t *conf; char *value; #ifdef USE_XLIB int use_xim; #endif u_int max_screens_multiple; u_int num_startup_screens; u_int depth; char *invalid_msg = "%s %s is not valid.\n"; char *orig_argv; #if defined(USE_FRAMEBUFFER) || defined(USE_WAYLAND) int use_aafont = 0; #endif if (!bl_locale_init("")) { bl_msg_printf("locale settings failed.\n"); } bl_sig_child_init(); bl_init_prog(argv[0], DETAIL_VERSION "\nFeatures:" #if defined(USE_XLIB) && defined(NO_DYNAMIC_LOAD_TYPE) #ifndef USE_TYPE_XFT " no-xft" #endif #ifndef USE_TYPE_CAIRO " no-cairo" #endif #endif #ifdef NO_DYNAMIC_LOAD_CTL #ifndef USE_FRIBIDI " no-bidi" #endif #ifndef USE_IND " no-indic" #endif #endif #ifdef USE_OT_LAYOUT " otl" #endif #ifdef USE_LIBSSH2 " ssh" #endif #ifdef USE_FREETYPE " freetype" #endif #ifdef USE_FONTCONFIG " fontconfig" #endif #ifdef USE_IM_PLUGIN " implugin" #endif #ifdef BUILTIN_IMAGELIB " imagelib(builtin)" #endif #ifdef USE_UTMP " utmp" #endif #ifdef USE_BRLAPI " brlapi" #endif ); if ((conf = bl_conf_new()) == NULL) { return 0; } ui_prepare_for_main_config(conf); /* * Same processing as vte_terminal_class_init(). * Following options are not possible to specify as arguments of mlclient. * 1) Options which are used only when mlterm starts up and which aren't * changed dynamically. (e.g. "startup_screens") * 2) Options which change status of all ptys or windows. (Including ones * which are possible to change dynamically.) * (e.g. "font_size_range") */ bl_conf_add_opt(conf, '@', "screens", 0, "startup_screens", "number of screens to open in start up [1]"); bl_conf_add_opt(conf, 'h', "help", 1, "help", "show this help message"); bl_conf_add_opt(conf, 'v', "version", 1, "version", "show version message"); bl_conf_add_opt(conf, 'R', "fsrange", 0, "font_size_range", "font size range for GUI configurator [6-30]"); #ifdef COMPOSE_DECSP_FONT bl_conf_add_opt(conf, 'Y', "decsp", 1, "compose_dec_special_font", "compose dec special font [false]"); #endif #ifdef USE_XLIB bl_conf_add_opt(conf, 'i', "xim", 1, "use_xim", "use XIM (X Input Method) [true]"); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) bl_conf_add_opt(conf, 'c', "cp932", 1, "use_cp932_ucs_for_xft", "use CP932-Unicode mapping table for JISX0208 [false]"); #endif #ifndef USE_WIN32API bl_conf_add_opt(conf, 'j', "daemon", 0, "daemon_mode", #ifdef USE_WIN32GUI /* 'genuine' is not supported in win32. */ "start as a daemon (none/blend) [none]" #else "start as a daemon (none/blend/genuine) [none]" #endif ); #endif bl_conf_add_opt(conf, '\0', "depth", 0, "depth", "visual depth"); bl_conf_add_opt(conf, '\0', "maxptys", 0, "max_ptys", "max ptys to open simultaneously (multiple of 32)"); #ifdef USE_LIBSSH2 bl_conf_add_opt(conf, '\0', "keepalive", 0, "ssh_keepalive_interval", "interval seconds to send keepalive. [0 = not send]"); #endif bl_conf_add_opt(conf, '\0', "deffont", 0, "default_font", "default font"); #ifdef SUPPORT_POINT_SIZE_FONT bl_conf_add_opt(conf, '\0', "point", 1, "use_point_size", "treat fontsize as point instead of pixel [false]"); #endif #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) bl_conf_add_opt(conf, '\0', "aafont", 1, "use_aafont", "use [tv]aafont files with the use of fontconfig" #ifdef USE_WAYLAND " [true]" #else /* USE_FRAMEBUFFER */ " [false]" #endif ); #endif orig_argv = argv; if (!bl_conf_parse_args(conf, &argc, &argv, #ifdef USE_QUARTZ 1 #else 0 #endif )) { bl_conf_delete(conf); return 0; } if ((value = bl_conf_get_value(conf, "font_size_range"))) { u_int min_font_size; u_int max_font_size; if (get_font_size_range(&min_font_size, &max_font_size, value)) { ui_set_font_size_range(min_font_size, max_font_size); } else { bl_msg_printf(invalid_msg, "font_size_range", value); } } is_genuine_daemon = 0; #ifndef USE_WIN32API if ((value = bl_conf_get_value(conf, "daemon_mode"))) { int ret; ret = 0; #ifndef USE_WIN32GUI /* 'genuine' is not supported in win32. */ if (strcmp(value, "genuine") == 0) { if ((ret = daemon_init()) > 0) { is_genuine_daemon = 1; } } else #endif if (strcmp(value, "blend") == 0) { ret = daemon_init(); } #if 0 else if (strcmp(value, "none") == 0) { } #endif if (ret == -1) { execvp("mlclient", orig_argv); } } #endif #ifdef USE_XLIB use_xim = 1; if ((value = bl_conf_get_value(conf, "use_xim"))) { if (strcmp(value, "false") == 0) { use_xim = 0; } } ui_xim_init(use_xim); #endif #ifdef COMPOSE_DECSP_FONT if ((value = bl_conf_get_value(conf, "compose_dec_special_font"))) { if (strcmp(value, "true") == 0) { ui_compose_dec_special_font(); } } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) if ((value = bl_conf_get_value(conf, "use_cp932_ucs_for_xft")) == NULL || strcmp(value, "true") == 0) { ui_use_cp932_ucs_for_xft(); } #endif if ((value = bl_conf_get_value(conf, "depth"))) { bl_str_to_uint(&depth, value); } else { depth = 0; } max_screens_multiple = 1; if ((value = bl_conf_get_value(conf, "max_ptys"))) { u_int max_ptys; if (bl_str_to_uint(&max_ptys, value)) { u_int multiple; multiple = max_ptys / 32; if (multiple * 32 != max_ptys) { bl_msg_printf("max_ptys %s is not multiple of 32.\n", value); } if (multiple > 1) { max_screens_multiple = multiple; } } else { bl_msg_printf(invalid_msg, "max_ptys", value); } } num_startup_screens = 1; if ((value = bl_conf_get_value(conf, "startup_screens"))) { u_int n; if (!bl_str_to_uint(&n, value) || (!is_genuine_daemon && n == 0)) { bl_msg_printf(invalid_msg, "startup_screens", value); } else { num_startup_screens = n; } } #ifdef USE_LIBSSH2 if ((value = bl_conf_get_value(conf, "ssh_keepalive_interval"))) { u_int interval; if (bl_str_to_uint(&interval, value) && interval > 0) { vt_pty_ssh_set_keepalive_interval(interval); ui_event_source_add_fd(-1, ssh_keepalive); } } #endif #ifdef KEY_REPEAT_BY_MYSELF if ((value = bl_conf_get_value(conf, "kbd_repeat_1"))) { extern int kbd_repeat_1; bl_str_to_int(&kbd_repeat_1, value); } if ((value = bl_conf_get_value(conf, "kbd_repeat_N"))) { extern int kbd_repeat_N; bl_str_to_int(&kbd_repeat_N, value); } #endif #ifdef USE_FRAMEBUFFER #if defined(__OpenBSD__) || defined(__NetBSD__) if ((value = bl_conf_get_value(conf, "fb_resolution"))) { extern u_int fb_width; extern u_int fb_height; extern u_int fb_depth; sscanf(value, "%dx%dx%d", &fb_width, &fb_height, &fb_depth); } #endif #endif #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) #ifdef USE_WAYLAND if (!(value = bl_conf_get_value(conf, "use_aafont")) || strcmp(value, "false") != 0) { ui_use_aafont(); use_aafont = 1; } #else /* USE_FRAMEBUFFER */ if ((value = bl_conf_get_value(conf, "use_aafont")) && strcmp(value, "true") == 0) { ui_use_aafont(); use_aafont = 1; } #endif #endif ui_main_config_init(&main_config, conf, argc, argv); if ((value = bl_conf_get_value(conf, "default_font"))) { #if defined(USE_WAYLAND) || defined(USE_FRAMEBUFFER) ui_customize_font_file(use_aafont ? "aafont" : "font", "DEFAULT", value, 0); ui_customize_font_file(use_aafont ? "aafont" : "font", "ISO10646_UCS4_1", value, 0); #else ui_customize_font_file(main_config.type_engine == TYPE_XCORE ? "font" : "aafont", "DEFAULT", value, 0); ui_customize_font_file(main_config.type_engine == TYPE_XCORE ? "font" : "aafont", "ISO10646_UCS4_1", value, 0); #endif } #ifdef SUPPORT_POINT_SIZE_FONT if ((value = bl_conf_get_value(conf, "use_point_size"))) { if (strcmp(value, "true") == 0) { ui_font_use_point_size(1); } } #endif bl_conf_delete(conf); if (!ui_screen_manager_init("MLTERM=" VERSION, depth, max_screens_multiple, num_startup_screens, &main_config)) { daemon_final(); #ifdef USE_XLIB ui_xim_final(); #endif bl_sig_child_final(); bl_locale_final(); return 0; } ui_event_source_init(); #ifdef USE_BRLAPI ui_brltty_init(); #endif bl_alloca_garbage_collect(); #ifndef USE_WIN32API signal(SIGHUP, sig_fatal); signal(SIGINT, sig_fatal); signal(SIGQUIT, sig_fatal); signal(SIGTERM, sig_fatal); signal(SIGPIPE, SIG_IGN); #endif return 1; } int main_loop_final(void) { #ifdef USE_BRLAPI ui_brltty_final(); #endif ui_event_source_final(); ui_screen_manager_final(); daemon_final(); vt_free_word_separators(); ui_free_mod_meta_prefix(); bl_set_msg_log_file_name(NULL); #ifdef USE_XLIB ui_xim_final(); #endif bl_sig_child_final(); bl_locale_final(); return 1; } int main_loop_start(void) { if (ui_screen_manager_startup() == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " open_screen_intern() failed.\n"); #endif if (!is_genuine_daemon) { bl_msg_printf("Unable to open screen.\n"); return 0; } } while (1) { bl_alloca_begin_stack_frame(); if (!ui_event_source_process() && !is_genuine_daemon) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Exiting...\n"); #endif break; } #ifdef USE_CONSOLE else if (vt_get_all_terms(NULL) == 0) { break; } #endif bl_alloca_end_stack_frame(); } return 1; } mlterm-3.8.4/main/Makefile.in010064400017600000144000000066501321054731100145210ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ BINDIR = $(DESTDIR)$(bindir) LIBEXECDIR = $(DESTDIR)$(libexecdir)/mlterm LIBEXECDIR_win32 = $(DESTDIR)$(bindir) VPATH = $(top_srcdir)/main OBJ_xlib = main.o OBJ_win32 = main.o OBJ_fb = main.o OBJ_quartz = main-cocoa.o OBJ_console = main.o OBJ_wayland = main.o OBJ = daemon.o main_loop.o $(OBJ_@GUI@) LPOBL = @LPOBL@ LMEF = @LMEF@ LMLTERM = ../vtemu/libmlterm.a ../vtemu/@LMLTERM_CORE@ LUITK = ../uitoolkit/libuitoolkit.a LPOBL_DEB = -lpobl_deb LMEF_DEB = -lmef_deb # XDATADIR is to avoid conflicting with DATADIR structure in w32api/objidl.h. CFLAGS = $(CFLAGS_LOCAL) @POBL_CFLAGS@ @MEF_CFLAGS@ @DEB_CFLAGS@ @BRLAPI_CFLAGS@ \ @X_CFLAGS@ @GUI_CFLAGS@ @SSH2_CFLAGS@ @TYPE_CFLAGS@ @FT_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \ -DSYSCONFDIR=\"$(sysconfdir)\" -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit -I${top_builddir}/main -I/usr/local/include CFLAGS_FOR_FEATURES = @OT_LAYOUT_CFLAGS@ @CTL_CFLAGS@ @IM_CFLAGS@ @IMAGELIB_CFLAGS@ @UTMP_CFLAGS@ LIBS1 = $(LIBS_LOCAL) $(LUITK) $(LMLTERM) $(LMEF) $(LPOBL) \ -L/usr/local/lib -R/usr/local/lib @SSH2_LIBS_FOR_PROG@ @BRLAPI_LIBS@ \ @OT_LAYOUT_LIBS_FOR_PROG@ @PTHREAD_LIB@ LIBS2_xlib = @IMAGELIB_LIBS@ @DL_LIBS_IM@ @DL_LIBS_SB@ @MATH_LIBS@ @TYPE_LIBS_FOR_PROG@ \ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ # @X_LIBS@ @X_PRE_LIBS@ -lX11 @X_EXTRA_LIBS@ LIBS2_fb = @MATH_LIBS@ @DL_LIBS_IM@ @DL_LIBS_SB@ @FT_LIBS@ @SOCK_LIBS@ LIBS2_win32 = -mwindows -limm32 ../uitoolkit/winrs.o # @SUBSYSTEM@ LIBS2_quartz = -framework Foundation -framework Cocoa LIBS2_console = @SIXEL_LIBS@ @MATH_LIBS@ @DL_LIBS_IM@ @DL_LIBS_SB@ @SOCK_LIBS@ LIBS2_wayland = @FT_LIBS@ @MATH_LIBS@ @DL_LIBS_IM@ @DL_LIBS_SB@ @SOCK_LIBS@ \ -lwayland-client -lwayland-cursor -lxkbcommon LIBS = $(LIBS1) $(LIBS2_@GUI@) PROG_xlib = mlterm PROG_win32 = mlterm PROG_fb = mlterm-fb PROG_console = mlterm-con-server PROG_quartz = mlterm PROG_wayland = mlterm-wl PROG2_console = mlterm-con INSTALL_OPT = @INSTALL_OPT@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(CFLAGS_FOR_FEATURES) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: $(PROG_@GUI@) $(PROG2_@GUI@) debug: $(MAKE) LPOBL="$(LPOBL_DEB)" LMEF="$(LMEF_DEB)" all $(PROG_@GUI@): $(OBJ) $(LMLTERM) $(LUITK) $(LIBTOOL_LINK) -o $(PROG_@GUI@) $(OBJ@MAIN_OBJ_SUFFIX@) \ $(LIBS) @CTL_LIBS_FOR_PROG@ mlterm-con: $(top_srcdir)/main/main-con.c $(CC) -o mlterm-con $(top_srcdir)/main/main-con.c $(CFLAGS_LOCAL) @CFLAGS@ @CPPFLAGS@ \ @SOCK_LIBS@ @LDFLAGS@ -DBINDIR=\"$(bindir)\" -DLIBEXECDIR=\"$(libexecdir)\" .SUFFIXES: .c .o .SUFFIXES: .m .o .c.o: $(LIBTOOL_CC) -c $< .m.o: $(LIBTOOL_CC) -c $< $(BINDIR): mkdir -p $(BINDIR) $(LIBEXECDIR@WIN32TAG@): mkdir -p $(LIBEXECDIR@WIN32TAG@) install: $(BINDIR) $(LIBEXECDIR@WIN32TAG@) if test "@GUI@" = "console" ; then \ $(LIBTOOL_INSTALL) $(PROG2_@GUI@) $(BINDIR) ; \ $(LIBTOOL_INSTALL) $(INSTALL_OPT) $(PROG_@GUI@) $(LIBEXECDIR@WIN32TAG@) ; \ else \ $(LIBTOOL_INSTALL) $(INSTALL_OPT) $(PROG_@GUI@) $(BINDIR) ; \ fi uninstall : rm -f $(BINDIR)/$(PROG_@GUI@) wc : find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf $(PROG_@GUI@)* $(PROG2_@GUI@) *core $(OBJ) $(OBJ:.o=.lo) .libs distclean: clean rm -f Makefile version.h mlterm-3.8.4/main/main-cocoa.m010064400017600000144000000030701321054731100146310ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #import #include #include #include #include /* alloca */ #include #include "main_loop.h" #if defined(SYSCONFDIR) #define CONFIG_PATH SYSCONFDIR #else #define CONFIG_PATH "/etc" #endif /* --- static functions --- */ static void set_lang(void) { char* locale; if ((locale = [[[NSLocale currentLocale] objectForKey:NSLocaleIdentifier] UTF8String])) { char* p; if ((p = alloca(strlen(locale) + 7))) { sprintf(p, "%s.UTF-8", locale); bl_setenv("LANG", p, 1); } } } /* --- global functions --- */ extern char *global_args; int main(int argc, const char* argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; @try { if (!getenv("LANG")) { set_lang(); } bl_set_sys_conf_dir([[[NSBundle mainBundle] bundlePath] UTF8String]); } @finally { [pool release]; } bl_set_msg_log_file_name("mlterm/msg.log"); char *myargv[] = {"mlterm", NULL}; main_loop_init(1, myargv); if (argc > 0) { int count; size_t len = 1; /* NULL terminator */ for (count = 0; count < argc; count++) { len += (strlen(argv[count]) + 1); } if ((global_args = malloc(len))) { char *p = global_args; for (count = 0; count < argc - 1; count++) { strcpy(p, argv[count]); p += strlen(p); *(p++) = ' '; } strcpy(p, argv[count]); } } return NSApplicationMain(argc, argv); } mlterm-3.8.4/main/version.h.in010064400017600000144000000012131321054731100147050ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VERSION_H__ #define __VERSION_H__ #include #define MAJOR_VERSION 3 #define MINOR_VERSION 8 #define REVISION 4 #define PATCH_LEVEL 0 #if 0 #define CHANGE_DATE "pre/@CHANGE_DATE@" #elif 0 #define CHANGE_DATE "post/@CHANGE_DATE@" #else #define CHANGE_DATE "" #endif #define VERSION \ BL_INT_TO_STR(MAJOR_VERSION) "." BL_INT_TO_STR(MINOR_VERSION) "." BL_INT_TO_STR(REVISION) #if PATCH_LEVEL == 0 #define DETAIL_VERSION VERSION " " CHANGE_DATE #else #define DETAIL_VERSION VERSION " patch level " BL_INT_TO_STR(PATCH_LEVEL) " " CHANGE_DATE #endif #endif mlterm-3.8.4/main/daemon.h010064400017600000144000000005131321054731100140600ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __DAEMON_H__ #define __DAEMON_H__ #include /* USE_WIN32API */ #ifndef USE_WIN32API int daemon_init(void); int daemon_final(void); #else #define daemon_init() (0) #define daemon_final() (0) #define daemon_get_fd() (-1) #endif #endif mlterm-3.8.4/vtemu004075500017600000144000000000001321054731200126065ustar kenusersmlterm-3.8.4/vtemu/libptyssh004075500017600000144000000000001321054731100146265ustar kenusersmlterm-3.8.4/vtemu/libptyssh/Makefile.in010064400017600000144000000020451321054731100167500ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/vtemu/libptyssh CFLAGS = $(CFLAGS_LOCAL) @DEB_CFLAGS@ @POBL_CFLAGS@ @MEF_CFLAGS@ \ @SSH2_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \ -I/usr/local/include -DLIBDIR=\"$(libdir)\" LIBS = $(LIBS_LOCAL) @LPOBL@ @SSH2_LIBS@ OBJ = vt_pty_ssh.o CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: libptyssh.la libptyssh.la: $(OBJ) $(LIBTOOL_LINK) -o libptyssh.la $(OBJ:.o=.lo) \ -rpath $(libdir)/mlterm -module -avoid-version @NO_UNDEFINED_FLAG@ \ $(LIBS) .SUFFIXES: .o .c .c.o: $(LIBTOOL_CC) -c $(CFLAGS) $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) libptyssh.la $(LIBDIR) uninstall: rm -f $(LIBDIR)/*ptyssh.* clean: rm -rf $(OBJ) $(OBJ:.o=.lo) *ptyssh.* .libs distclean: clean rm -f Makefile mlterm-3.8.4/vtemu/libptyssh/vt_pty_ssh.c010064400017600000144000001457031321054731100172620ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../vt_pty_intern.h" #include #include #include #include #include #include #include #include /* bl_usleep */ #include #include /* getaddrinfo/socket/connect/sockaddr_un */ #include /* bl_get_user_rc_path */ #if !defined(USE_WIN32API) && defined(HAVE_PTHREAD) #include #endif #include /* open */ #include /* close/pipe */ #include /* sprintf */ #ifdef __CYGWIN__ #include #include /* GetModuleHandle */ #endif #ifndef USE_WIN32API #define closesocket(sock) close(sock) #endif #ifndef NO_DYNAMIC_LOAD_SSH /* * If NO_DYNAMIC_LOAD_SSH is defined, mlterm/libptyssh/vt_pty_ssh.c is included * from mlterm/vt_pty_ssh.c. */ #define vt_write_to_pty(pty, buf, len) (*(pty)->write)(pty, buf, len) #endif #ifndef LIBSSH2_FLAG_COMPRESS #define LIBSSH2_FLAG_COMPRESS 2 #endif #ifndef LIBSSH2_ERROR_SOCKET_RECV #define LIBSSH2_ERROR_SOCKET_RECV -43 #endif #if 0 #define __DEBUG #endif typedef struct ssh_session { char *host; char *port; char *user; struct { char *pass; char *pubkey; char *privkey; char *cmd_path; char **argv; char **env; u_int cols; u_int rows; u_int width_pix; u_int height_pix; } *stored; LIBSSH2_SESSION *obj; int sock; int use_x11_forwarding; int suspended; LIBSSH2_CHANNEL **pty_channels; u_int num_ptys; int *x11_fds; LIBSSH2_CHANNEL **x11_channels; u_int num_x11; } ssh_session_t; typedef struct vt_pty_ssh { vt_pty_t pty; ssh_session_t *session; LIBSSH2_CHANNEL *channel; char *lo_buf; size_t lo_size; int is_eof; } vt_pty_ssh_t; typedef struct scp { LIBSSH2_CHANNEL *remote; int local; int src_is_remote; size_t src_size; vt_pty_ssh_t *pty_ssh; } scp_t; /* --- static variables --- */ static char *pass_response; static ssh_session_t **sessions; static u_int num_sessions = 0; #ifdef USE_WIN32API static HANDLE rd_ev; DWORD main_tid; /* XXX set in main(). */ #endif static const char *cipher_list; static u_int keepalive_msec; static u_int keepalive_msec_left; static int use_x11_forwarding; static int display_port = -1; static int auth_agent_is_available; static int auto_reconnect; /* --- static functions --- */ #ifdef USE_WIN32API static u_int __stdcall wait_pty_read(LPVOID thr_param) { u_int count; struct timeval tval; fd_set read_fds; int maxfd; tval.tv_usec = 500000; /* 0.5 sec */ tval.tv_sec = 0; #ifdef __DEBUG bl_debug_printf("Starting wait_pty_read thread.\n"); #endif while (num_sessions > 0) { FD_ZERO(&read_fds); maxfd = 0; for (count = 0; count < num_sessions; count++) { u_int count2; FD_SET(sessions[count]->sock, &read_fds); if (sessions[count]->sock > maxfd) { maxfd = sessions[count]->sock; } for (count2 = 0; count2 < sessions[count]->num_x11; count2++) { FD_SET(sessions[count]->x11_fds[count2], &read_fds); if (sessions[count]->x11_fds[count2] > maxfd) { maxfd = sessions[count]->x11_fds[count2]; } } } if (select(maxfd + 1, &read_fds, NULL, NULL, &tval) > 0) { /* Exit GetMessage() in x_display_receive_next_event(). */ PostThreadMessage(main_tid, WM_APP, 0, 0); WaitForSingleObject(rd_ev, INFINITE); } #ifdef __DEBUG bl_debug_printf("Select socket...\n"); #endif } #ifdef __DEBUG bl_debug_printf("Exiting wait_pty_read thread.\n"); #endif CloseHandle(rd_ev); rd_ev = 0; /* Not necessary if thread started by _beginthreadex */ #if 0 ExitThread(0); #endif return 0; } #endif /* USE_WIN32API */ /* libssh2 frees response[0].text internally. */ #ifdef BL_DEBUG #undef strdup #endif static void kbd_callback(const char *name, int name_len, const char *instruction, int instruction_len, int num_prompts, const LIBSSH2_USERAUTH_KBDINT_PROMPT *prompts, LIBSSH2_USERAUTH_KBDINT_RESPONSE *responses, void **abstract) { (void)name; (void)name_len; (void)instruction; (void)instruction_len; if (num_prompts == 1) { responses[0].text = strdup(pass_response); responses[0].length = strlen(pass_response); pass_response = NULL; } (void)prompts; (void)abstract; } #ifdef BL_DEBUG #define strdup(str) bl_str_dup(str, __FILE__, __LINE__, __FUNCTION__) #endif #ifdef OPEN_PTY_ASYNC #ifdef USE_WIN32API static HANDLE *openssl_locks; static void openssl_lock_callback(int mode, int type, const char *file, int line) { if (mode & 1 /* CRYPTO_LOCK */) { WaitForSingleObject(openssl_locks[type], INFINITE); } else { ReleaseMutex(openssl_locks[type]); } } #else static pthread_mutex_t *openssl_locks; static void openssl_lock_callback(int mode, int type, const char *file, int line) { if (mode & 1 /* CRYPTO_LOCK */) { pthread_mutex_lock(&openssl_locks[type]); } else { pthread_mutex_unlock(&openssl_locks[type]); } } #endif int CRYPTO_num_locks(void); void CRYPTO_set_locking_callback(void (*func)(int, int, const char *, int)); /* gcrypt is not supported. */ static void set_use_multi_thread(int use) { static int num_locks; int count; if (use) { num_locks = CRYPTO_num_locks(); if ((openssl_locks = malloc(num_locks * sizeof(*openssl_locks)))) { for (count = 0; count < num_locks; count++) { #ifdef USE_WIN32API openssl_locks[count] = CreateMutex(NULL, FALSE, NULL); #else openssl_locks[count] = PTHREAD_MUTEX_INITIALIZER; #endif } CRYPTO_set_locking_callback(openssl_lock_callback); } else { num_locks = 0; } } else { if (openssl_locks) { CRYPTO_set_locking_callback(NULL); #ifdef USE_WIN32API for (count = 0; count < num_locks; count++) { CloseHandle(openssl_locks[count]); } #endif free(openssl_locks); openssl_locks = NULL; } } } #else #define set_use_multi_thread(use) (0) #endif #ifdef AI_PASSIVE #define HAVE_GETADDRINFO #endif static void x11_callback(LIBSSH2_SESSION *session, LIBSSH2_CHANNEL *channel, char *shost, int sport, void **abstract); /* * Return session which is non-blocking mode because opening a new channel * can work as multi threading. */ static ssh_session_t *ssh_connect(const char *host, const char *port, const char *user, const char *pass, const char *pubkey, const char *privkey) { ssh_session_t *session; #ifdef HAVE_GETADDRINFO struct addrinfo hints; struct addrinfo *addr; struct addrinfo *addr_p; #else struct hostent *hent; struct sockaddr_in addr; int count; #endif const char *hostkey; size_t hostkey_len; int hostkey_type; char *userauthlist; int auth_success = 0; if ((session = vt_search_ssh_session(host, port, user))) { return session; } if (!(session = calloc(1, sizeof(ssh_session_t)))) { return NULL; } set_use_multi_thread(1); if (num_sessions == 0 && libssh2_init(0) != 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " libssh2_init failed.\n"); #endif goto error1; } #ifdef HAVE_GETADDRINFO memset(&hints, 0, sizeof(hints)); hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; if (getaddrinfo(host, port, &hints, &addr) != 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " getaddrinfo failed.\n"); #endif goto error2; } addr_p = addr; while (1) { if ((session->sock = socket(addr_p->ai_family, addr_p->ai_socktype, addr_p->ai_protocol)) >= 0) { if (connect(session->sock, addr_p->ai_addr, addr_p->ai_addrlen) == 0) { break; } else { closesocket(session->sock); } } if ((addr_p = addr_p->ai_next) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " socket/connect failed.\n"); #endif freeaddrinfo(addr); goto error2; } } freeaddrinfo(addr); #else if (!(hent = gethostbyname(host))) { goto error2; } memset(&addr, 0, sizeof(addr)); addr.sin_port = htons(atoi(port)); addr.sin_family = AF_INET; count = 0; while (1) { if (!hent->h_addr_list[count]) { goto error2; } if (hent->h_addrtype == AF_INET) { addr.sin_addr.s_addr = *((u_int *)hent->h_addr_list[count]); if ((session->sock = socket(addr.sin_family, SOCK_STREAM, 0)) >= 0) { if (connect(session->sock, (struct sockaddr *)&addr, sizeof(addr)) == 0) { break; } else { closesocket(session->sock); } } } count++; } #endif /* HAVE_GETADDRINFO */ if (!(session->obj = libssh2_session_init())) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " libssh2_session_init failed.\n"); #endif goto error3; } #ifdef DEBUG libssh2_trace(session->obj, -1); #endif libssh2_session_set_blocking(session->obj, 1); libssh2_session_set_timeout(session->obj, 30000); /* 30 sec */ if (cipher_list) { libssh2_session_method_pref(session->obj, LIBSSH2_METHOD_CRYPT_CS, cipher_list); libssh2_session_method_pref(session->obj, LIBSSH2_METHOD_CRYPT_SC, cipher_list); } libssh2_session_callback_set(session->obj, LIBSSH2_CALLBACK_X11, x11_callback); #if !defined(LIBSSH2_VERSION_NUM) || LIBSSH2_VERSION_NUM < 0x010500 #ifndef LIBSSH2_FIX_DECOMPRESS_BUG /* * XXX * libssh2 1.4.3 or before fails to decompress zipped packets and breaks X11 * forwarding. * Camellia branch of http://bitbucket.org/araklen/libssh2/ fixes this bug * and defines LIBSSH2_FIX_DECOMPRESS_BUG macro. * libssh2 1.5.0 or later fixes this bug. */ if (!use_x11_forwarding) #endif #endif { libssh2_session_flag(session->obj, LIBSSH2_FLAG_COMPRESS, 1); } session->use_x11_forwarding = use_x11_forwarding; if (libssh2_session_handshake(session->obj, session->sock) != 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " libssh2_session_handshake failed.\n"); #endif goto error4; } /* * Check ~/.ssh/knownhosts. */ if ((hostkey = libssh2_session_hostkey(session->obj, &hostkey_len, &hostkey_type))) { char *home; char *path; LIBSSH2_KNOWNHOSTS *nhs; if ((home = bl_get_home_dir()) && (path = alloca(strlen(home) + 20)) && (nhs = libssh2_knownhost_init(session->obj))) { struct libssh2_knownhost *nh; #ifdef USE_WIN32API sprintf(path, "%s\\mlterm\\known_hosts", home); #else sprintf(path, "%s/.ssh/known_hosts", home); #endif libssh2_knownhost_readfile(nhs, path, LIBSSH2_KNOWNHOST_FILE_OPENSSH); if (libssh2_knownhost_checkp(nhs, host, atoi(port), hostkey, hostkey_len, LIBSSH2_KNOWNHOST_TYPE_PLAIN | LIBSSH2_KNOWNHOST_KEYENC_RAW, &nh) != LIBSSH2_KNOWNHOST_CHECK_MATCH) { const char *hash; size_t count; char *msg; char *p; hash = libssh2_hostkey_hash(session->obj, LIBSSH2_HOSTKEY_HASH_SHA1); msg = alloca(strlen(host) + 31 + 3 * 20 + 1); sprintf(msg, "Connecting to unknown host: %s (", host); p = msg + strlen(msg); for (count = 0; count < 20; count++) { sprintf(p + count * 3, "%02x:", (u_char)hash[count]); } msg[strlen(msg) - 1] = ')'; /* replace ':' with ')' */ if (!bl_dialog(BL_DIALOG_OKCANCEL, msg)) { libssh2_knownhost_free(nhs); goto error4; } libssh2_knownhost_add(nhs, host, NULL, hostkey, hostkey_len, LIBSSH2_KNOWNHOST_TYPE_PLAIN | LIBSSH2_KNOWNHOST_KEYENC_RAW | LIBSSH2_KNOWNHOST_KEY_SSHRSA, NULL); libssh2_knownhost_writefile(nhs, path, LIBSSH2_KNOWNHOST_FILE_OPENSSH); bl_msg_printf("Add to %s and continue connecting.\n", path); } libssh2_knownhost_free(nhs); } } if (!(userauthlist = libssh2_userauth_list(session->obj, user, strlen(user)))) { goto error4; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Authentication methods: %s\n", userauthlist); #endif if (strstr(userauthlist, "publickey")) { char *home; char *p; LIBSSH2_AGENT *agent; if (*pass == '\0' && (agent = libssh2_agent_init(session->obj))) { if (libssh2_agent_connect(agent) == 0) { if (libssh2_agent_list_identities(agent) == 0) { struct libssh2_agent_publickey *ident; struct libssh2_agent_publickey *prev_ident; prev_ident = NULL; while (libssh2_agent_get_identity(agent, &ident, prev_ident) == 0) { if (libssh2_agent_userauth(agent, user, ident) == 0) { libssh2_agent_disconnect(agent); libssh2_agent_free(agent); auth_agent_is_available = 1; goto pubkey_success; } prev_ident = ident; } } libssh2_agent_disconnect(agent); } libssh2_agent_free(agent); } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Unable to use ssh-agent.\n"); #endif if ((home = bl_get_home_dir()) && ((p = alloca(strlen(home) * 2 + 38)))) { if (!pubkey) { #ifdef USE_WIN32API sprintf(p, "%s\\mlterm\\id_rsa.pub", home); #else sprintf(p, "%s/.ssh/id_rsa.pub", home); #endif pubkey = p; p += (strlen(pubkey) + 1); } if (!privkey) { #ifdef USE_WIN32API sprintf(p, "%s\\mlterm\\id_rsa", home); #else sprintf(p, "%s/.ssh/id_rsa", home); #endif privkey = p; } } else { if (!pubkey) { #ifdef USE_WIN32API pubkey = "mlterm\\ssh_host_rsa_key.pub"; #else pubkey = "/etc/ssh/ssh_host_rsa_key.pub"; #endif } if (!privkey) { #ifdef USE_WIN32API privkey = "mlterm\\ssh_host_rsa_key"; #else privkey = "/etc/ssh/ssh_host_rsa_key"; #endif } } if (libssh2_userauth_publickey_fromfile(session->obj, user, pubkey, privkey, pass) == 0) { pubkey_success: bl_msg_printf("Authentication by public key succeeded.\n"); auth_success = 1; } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " Authentication by public key failed.\n"); } #endif } if (!auth_success && strstr(userauthlist, "keyboard-interactive")) { pass_response = pass; if (libssh2_userauth_keyboard_interactive(session->obj, user, &kbd_callback) == 0) { bl_msg_printf("Authentication by keyboard-interactive succeeded.\n"); auth_success = 1; } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " Authentication by keyboard-interactive failed.\n"); } #endif } if (!auth_success) { if (!strstr(userauthlist, "password")) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " No supported authentication methods found.\n"); #endif goto error4; } if (libssh2_userauth_password(session->obj, user, pass) != 0) { bl_msg_printf("Authentication by password failed.\n"); goto error4; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Authentication by password succeeded.\n"); #endif } { void *p; if (!(p = realloc(sessions, sizeof(ssh_session_t) * (num_sessions + 1)))) { goto error4; } sessions = p; } libssh2_session_set_timeout(session->obj, 0); libssh2_session_set_blocking(session->obj, 0); session->host = strdup(host); session->port = strdup(port); session->user = strdup(user); sessions[num_sessions++] = session; return session; error4: libssh2_session_disconnect(session->obj, "Normal shutdown, Thank you for playing"); libssh2_session_free(session->obj); error3: closesocket(session->sock); error2: if (num_sessions == 0) { libssh2_exit(); } error1: set_use_multi_thread(0); free(session); return NULL; } static void close_x11(ssh_session_t *session, int idx); /* * Call with in blocking mode. */ static int ssh_disconnect(ssh_session_t *session) { u_int count; if (session->num_ptys > 0) { /* In case this function is called from vt_pty_new. */ libssh2_session_set_blocking(session->obj, 0); return 0; } for (count = 0; count < num_sessions; count++) { if (sessions[count] == session) { sessions[count] = sessions[--num_sessions]; if (num_sessions == 0) { free(sessions); sessions = NULL; } break; } } for (count = session->num_x11; count > 0; count--) { close_x11(session, count - 1); } libssh2_session_disconnect(session->obj, "Normal shutdown, Thank you for playing"); libssh2_session_free(session->obj); closesocket(session->sock); if (num_sessions == 0) { libssh2_exit(); } free(session->host); free(session->port); free(session->user); free(session->stored); free(session->pty_channels); free(session->x11_fds); free(session->x11_channels); free(session); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Closed session.\n"); #endif return 1; } static void remove_channel_from_session(ssh_session_t *session, LIBSSH2_CHANNEL *channel) { u_int count; for (count = 0; count < session->num_ptys; count++) { if (session->pty_channels[count] == channel) { session->pty_channels[count] = session->pty_channels[--session->num_ptys]; break; } } } static int unuse_loopback(vt_pty_t *pty); static int final(vt_pty_t *pty) { ssh_session_t *session; unuse_loopback(pty); session = ((vt_pty_ssh_t *)pty)->session; libssh2_session_set_blocking(session->obj, 1); remove_channel_from_session(session, ((vt_pty_ssh_t *)pty)->channel); libssh2_channel_free(((vt_pty_ssh_t *)pty)->channel); ssh_disconnect(session); return 1; } static int set_winsize(vt_pty_t *pty, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " win size cols %d rows %d width %d height %d.\n", cols, rows, width_pix, height_pix); #endif libssh2_channel_request_pty_size_ex(((vt_pty_ssh_t *)pty)->channel, cols, rows, width_pix, height_pix); return 1; } static int reconnect(vt_pty_ssh_t *pty); static int use_loopback(vt_pty_t *pty); static int zombie(vt_pty_ssh_t *pty) { if (use_loopback(&pty->pty)) { vt_write_to_pty(&pty->pty, "=== Press any key to exit ===", 29); pty->is_eof = 1; /* * vt_pty_ssh_poll() may access an invalid channel object without this. * After calling this, remove_channel_from_session() in final() does nothing. */ remove_channel_from_session(pty->session, pty->channel); return 1; } return 0; } static ssize_t write_to_pty(vt_pty_t *pty, u_char *buf, size_t len) { ssize_t ret; if (((vt_pty_ssh_t *)pty)->session->suspended) { return 0; } ret = libssh2_channel_write(((vt_pty_ssh_t *)pty)->channel, buf, len); if (ret == LIBSSH2_ERROR_SOCKET_SEND || ret == LIBSSH2_ERROR_SOCKET_RECV || libssh2_channel_eof(((vt_pty_ssh_t *)pty)->channel)) { if ((ret < 0 && reconnect((vt_pty_ssh_t*)pty)) || zombie((vt_pty_ssh_t *)pty)) { return 0; } bl_trigger_sig_child(pty->child_pid); return -1; } else { return ret < 0 ? 0 : ret; } } static ssize_t read_pty(vt_pty_t *pty, u_char *buf, size_t len) { ssize_t ret; if (((vt_pty_ssh_t *)pty)->lo_buf) { if (((vt_pty_ssh_t *)pty)->lo_size < len) { len = ((vt_pty_ssh_t *)pty)->lo_size; } memcpy(buf, ((vt_pty_ssh_t *)pty)->lo_buf, len); /* XXX */ free(((vt_pty_ssh_t *)pty)->lo_buf); ((vt_pty_ssh_t *)pty)->lo_buf = NULL; ((vt_pty_ssh_t *)pty)->lo_size = 0; return len; } if (((vt_pty_ssh_t *)pty)->session->suspended) { return 0; } ret = libssh2_channel_read(((vt_pty_ssh_t *)pty)->channel, buf, len); #ifdef USE_WIN32API SetEvent(rd_ev); #endif if (ret == LIBSSH2_ERROR_SOCKET_SEND || ret == LIBSSH2_ERROR_SOCKET_RECV || libssh2_channel_eof(((vt_pty_ssh_t *)pty)->channel)) { if ((ret < 0 && reconnect((vt_pty_ssh_t*)pty)) || zombie((vt_pty_ssh_t *)pty)) { return 0; } bl_trigger_sig_child(pty->child_pid); return -1; } else { return ret < 0 ? 0 : ret; } } static int scp_stop(vt_pty_ssh_t *pty_ssh) { pty_ssh->session->suspended = -1; return 1; } #ifdef USE_WIN32API static ssize_t lo_recv_pty(vt_pty_t *pty, u_char *buf, size_t len) { return recv(pty->master, buf, len, 0); } static ssize_t lo_send_to_pty(vt_pty_t *pty, u_char *buf, size_t len) { if (len == 1 && buf[0] == '\x03') { /* ^C */ scp_stop(pty); } else if (((vt_pty_ssh_t *)pty)->is_eof) { bl_trigger_sig_child(pty->child_pid); return -1; } return send(pty->slave, buf, len, 0); } static int _socketpair(int af, int type, int proto, SOCKET sock[2]) { SOCKET listen_sock; SOCKADDR_IN addr; int addr_len; if ((listen_sock = WSASocket(af, type, proto, NULL, 0, 0)) == -1) { return -1; } addr_len = sizeof(addr); memset((void *)&addr, 0, sizeof(addr)); addr.sin_family = af; addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); addr.sin_port = 0; if (bind(listen_sock, (SOCKADDR *)&addr, addr_len) != 0) { goto error1; } if (getsockname(listen_sock, (SOCKADDR *)&addr, &addr_len) != 0) { goto error1; } if (listen(listen_sock, 1) != 0) { goto error1; } /* select() and receive() can call simultaneously on java. */ if ((sock[0] = WSASocket(af, type, proto, NULL, 0, WSA_FLAG_OVERLAPPED)) == -1) { goto error1; } if (connect(sock[0], (SOCKADDR *)&addr, addr_len) != 0) { goto error2; } if ((sock[1] = accept(listen_sock, 0, 0)) == -1) { goto error2; } closesocket(listen_sock); return 0; error2: closesocket(sock[0]); error1: closesocket(listen_sock); return -1; } #endif /* USE_WIN32API */ #ifdef __CYGWIN__ static int check_sig_child(pid_t pid) { /* SIGCHLD signal isn't delivered on cygwin even if mlconfig exits. */ int status; if (pid > 0 && waitpid(pid, &status, WNOHANG) == pid) { bl_trigger_sig_child(pid); return 1; } else { return 0; } } #endif static ssize_t lo_read_pty(vt_pty_t *pty, u_char *buf, size_t len) { #ifdef __CYGWIN__ if (check_sig_child(pty->config_menu.pid)) { /* vt_pty_set_use_loopback(0) is called from sig_child() in vt_config_menu.c. */ return 0; } #endif return read(pty->master, buf, len); } static ssize_t lo_write_to_pty(vt_pty_t *pty, u_char *buf, size_t len) { #ifdef __CYGWIN__ if (check_sig_child(pty->config_menu.pid)) { /* * vt_pty_set_use_loopback(0) is called from sig_child() * in vt_config_menu.c is called */ return 0; } #endif if (len == 1 && buf[0] == '\x03') { /* ^C */ scp_stop((vt_pty_ssh_t *)pty); } else if (((vt_pty_ssh_t *)pty)->is_eof) { bl_trigger_sig_child(pty->child_pid); return -1; } return write(pty->slave, buf, len); } static int use_loopback(vt_pty_t *pty) { int fds[2]; if (pty->stored) { pty->stored->ref_count++; return 1; } if ((pty->stored = malloc(sizeof(*(pty->stored)))) == NULL) { return 0; } pty->stored->master = pty->master; pty->stored->slave = pty->slave; pty->stored->read = pty->read; pty->stored->write = pty->write; #ifdef USE_WIN32API if (_socketpair(AF_INET, SOCK_STREAM, 0, fds) == 0) { u_long val; val = 1; ioctlsocket(fds[0], FIONBIO, &val); val = 1; ioctlsocket(fds[1], FIONBIO, &val); pty->read = lo_recv_pty; pty->write = lo_send_to_pty; } else if (_pipe(fds, 256, O_BINARY) == 0) { pty->read = lo_read_pty; pty->write = lo_write_to_pty; } #else if (pipe(fds) == 0) { fcntl(fds[0], F_SETFL, O_NONBLOCK | fcntl(pty->master, F_GETFL, 0)); fcntl(fds[1], F_SETFL, O_NONBLOCK | fcntl(pty->slave, F_GETFL, 0)); pty->read = lo_read_pty; pty->write = lo_write_to_pty; } #endif else { free(pty->stored); pty->stored = NULL; return 0; } pty->master = fds[0]; pty->slave = fds[1]; pty->stored->ref_count = 1; ((vt_pty_ssh_t *)pty)->session->suspended = 1; return 1; } static int unuse_loopback(vt_pty_t *pty) { char buf[128]; ssize_t len; if (!pty->stored || --(pty->stored->ref_count) > 0) { return 1; } while ((len = (*pty->read)(pty, buf, sizeof(buf))) > 0) { char *p; if (!(p = realloc(((vt_pty_ssh_t *)pty)->lo_buf, ((vt_pty_ssh_t *)pty)->lo_size + len))) { break; } memcpy(p + ((vt_pty_ssh_t *)pty)->lo_size, buf, len); ((vt_pty_ssh_t *)pty)->lo_buf = p; ((vt_pty_ssh_t *)pty)->lo_size += len; } #ifdef USE_WIN32API if (pty->read == lo_recv_pty) { closesocket(pty->slave); closesocket(pty->master); } else #endif { close(pty->slave); close(pty->master); } pty->master = pty->stored->master; pty->slave = pty->stored->slave; pty->read = pty->stored->read; pty->write = pty->stored->write; free(pty->stored); pty->stored = NULL; ((vt_pty_ssh_t *)pty)->session->suspended = 0; return 1; } #ifdef USE_WIN32API static u_int __stdcall #else static void * #endif scp_thread(void *p) { scp_t *scp; size_t rd_len; char buf[8192]; int progress; char msg1[] = "\x1b[?25l\r\nTransferring data.\r\n|"; char msg2[] = "**************************************************|\x1b[?25h\r\n"; char err_msg[] = "\r\nInterrupted.\x1b[?25h\r\n"; #if !defined(USE_WIN32API) && defined(HAVE_PTHREAD) pthread_detach(pthread_self()); #endif scp = p; rd_len = 0; progress = 0; vt_write_to_pty(&scp->pty_ssh->pty, msg1, sizeof(msg1) - 1); while (rd_len < scp->src_size && scp->pty_ssh->session->suspended > 0) { int new_progress; ssize_t len; if (scp->src_is_remote) { if ((len = libssh2_channel_read(scp->remote, buf, sizeof(buf))) < 0) { if (len == LIBSSH2_ERROR_EAGAIN) { bl_usleep(1); continue; } else { break; } } write(scp->local, buf, len); } else { if ((len = read(scp->local, buf, sizeof(buf))) < 0) { break; } while (libssh2_channel_write(scp->remote, buf, len) == LIBSSH2_ERROR_EAGAIN) { bl_usleep(1); } } rd_len += len; new_progress = 50 * rd_len / scp->src_size; if (progress < new_progress && new_progress < 50) { int count; progress = new_progress; for (count = 0; count < new_progress; count++) { vt_write_to_pty(&scp->pty_ssh->pty, "*", 1); } for (; count < 50; count++) { vt_write_to_pty(&scp->pty_ssh->pty, " ", 1); } vt_write_to_pty(&scp->pty_ssh->pty, "|\r|", 3); #ifdef USE_WIN32API /* Exit GetMessage() in x_display_receive_next_event(). */ PostThreadMessage(main_tid, WM_APP, 0, 0); #endif } } if (scp->pty_ssh->session->suspended > 0) { vt_write_to_pty(&scp->pty_ssh->pty, msg2, sizeof(msg2) - 1); } else { vt_write_to_pty(&scp->pty_ssh->pty, err_msg, sizeof(err_msg) - 1); } #if 1 bl_usleep(100000); /* Expect to switch to main thread and call vt_read_pty(). */ #else pthread_yield(); #endif while (libssh2_channel_free(scp->remote) == LIBSSH2_ERROR_EAGAIN) ; close(scp->local); unuse_loopback(&scp->pty_ssh->pty); scp->pty_ssh->session->suspended = 0; free(scp); /* Not necessary if thread started by _beginthreadex */ #if 0 ExitThread(0); #endif return 0; } #if 0 #define TRUSTED #endif static int setup_x11(LIBSSH2_CHANNEL *channel) { char *display; char *display_port_str; char *p; char *proto; char *data; #if !defined(USE_WIN32API) && !defined(OPEN_PTY_ASYNC) char *cmd; FILE *fp; char line[512]; #ifndef TRUSTED char *xauth_file; #endif #endif int ret; if (!(display = getenv("DISPLAY"))) { display = ":0.0"; } if (strncmp(display, "unix:", 5) == 0) { display_port_str = display + 5; } else if (display[0] == ':') { display_port_str = display + 1; } else { return 0; } if (!(display_port_str = bl_str_alloca_dup(display_port_str))) { return 0; } if ((p = strrchr(display_port_str, '.'))) { *p = '\0'; } display_port = atoi(display_port_str); proto = NULL; data = NULL; /* I don't know why but system() and popen() can freeze if OPEN_PTY_ASYNC. */ #if !defined(USE_WIN32API) && !defined(OPEN_PTY_ASYNC) #ifdef TRUSTED if ((cmd = alloca(24 + strlen(display) + 1))) { sprintf(cmd, "xauth list %s 2> /dev/null", display); #else if ((xauth_file = bl_get_user_rc_path("mlterm/xauthfile"))) { if ((cmd = alloca(61 + strlen(xauth_file) + strlen(display) + 1))) { sprintf(cmd, "xauth -f %s generate %s MIT-MAGIC-COOKIE-1 " "untrusted 2> /dev/null", xauth_file, display); system(cmd); sprintf(cmd, "xauth -f %s list %s 2> /dev/null", xauth_file, display); #endif if ((fp = popen(cmd, "r"))) { if (fgets(line, sizeof(line), fp)) { if ((proto = strchr(line, ' '))) { proto += 2; if ((data = strchr(proto, ' '))) { *data = '\0'; data += 2; if ((p = strchr(data, '\n'))) { *p = '\0'; } } } } pclose(fp); } #ifdef TRUSTED } #else unlink(xauth_file); } free(xauth_file); } #endif #endif #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " libssh2_channel_x11_req_ex (with xauth %s %s)\n", proto, data); #endif while ((ret = libssh2_channel_x11_req_ex(channel, 0, proto, data, 0)) == LIBSSH2_ERROR_EAGAIN) ; return ret == 0; } static int open_channel(vt_pty_ssh_t *pty, /* pty->session is non-blocking */ const char *cmd_path, /* can be NULL */ char **cmd_argv, /* can be NULL(only if cmd_path is NULL) */ char **env, /* can be NULL */ u_int cols, u_int rows, u_int width_pix, u_int height_pix) { char *term; void *p; int ret; if (pty->session->suspended) { goto error2; } if (!(p = realloc(pty->session->pty_channels, (pty->session->num_ptys + 1) * sizeof(LIBSSH2_CHANNEL *)))) { goto error2; } pty->session->pty_channels = p; #if 0 while (!(pty->channel = libssh2_channel_open_session(pty->session->obj))) #else while (!(pty->channel = libssh2_channel_open_ex( pty->session->obj, "session", sizeof("session") - 1, /* RLogin's window size */ 64 * LIBSSH2_CHANNEL_PACKET_DEFAULT, LIBSSH2_CHANNEL_PACKET_DEFAULT, NULL, 0))) #endif { if (libssh2_session_last_errno(pty->session->obj) != LIBSSH2_ERROR_EAGAIN) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Unable to open a channel\n"); #endif goto error2; } } pty->session->suspended = 0; if (auth_agent_is_available) { #if defined(__CYGWIN__) static int (*func)(LIBSSH2_CHANNEL *); static int is_tried; if (!is_tried) { func = GetProcAddress(GetModuleHandle("cygssh2-1"), "libssh2_channel_request_auth_agent"); is_tried = 1; } if (func) { while ((ret = (*func)(pty->channel)) == LIBSSH2_ERROR_EAGAIN) ; if (ret == 0) { bl_msg_printf("Agent forwarding.\n"); } } #elif defined(LIBSSH2_FORWARD_AGENT) while ((ret = libssh2_channel_request_auth_agent(pty->channel)) == LIBSSH2_ERROR_EAGAIN) ; if (ret == 0) { bl_msg_printf("Agent forwarding.\n"); } #endif auth_agent_is_available = 0; } term = NULL; if (env) { while (*env) { char *val; size_t key_len; if ((val = strchr(*env, '='))) { key_len = val - *env; val++; } else { key_len = strlen(*env); val = ""; } while (libssh2_channel_setenv_ex(pty->channel, *env, key_len, val, strlen(val)) == LIBSSH2_ERROR_EAGAIN) ; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Env %s => key_len %d val %s\n", *env, key_len, val); #endif if (strncmp(*env, "TERM=", 5) == 0) { term = val; } env++; } } while ((ret = libssh2_channel_request_pty(pty->channel, term ? term : "xterm")) < 0) { if (ret != LIBSSH2_ERROR_EAGAIN) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to request pty. (Err %d)\n", ret); #endif goto error3; } } if (pty->session->use_x11_forwarding) { if (!setup_x11(pty->channel)) { bl_msg_printf("X11 forwarding failed.\n"); } } if (cmd_path) { int count; size_t cmd_line_len; /* Because cmd_path == cmd_argv[0], cmd_argv[0] is ignored. */ /* 1 = NULL terminator */ cmd_line_len = strlen(cmd_path) + 1; for (count = 1; cmd_argv[count] != NULL; count++) { /* 3 = " " */ cmd_line_len += (strlen(cmd_argv[count]) + 3); } if ((pty->pty.cmd_line = malloc(sizeof(char) * cmd_line_len)) == NULL) { goto error3; } strcpy(pty->pty.cmd_line, cmd_path); for (count = 1; cmd_argv[count] != NULL; count++) { sprintf(pty->pty.cmd_line + strlen(pty->pty.cmd_line), strchr(cmd_argv[count], ' ') ? " \"%s\"" : " %s", cmd_argv[count]); } while ((ret = libssh2_channel_exec(pty->channel, pty->pty.cmd_line)) < 0) { if (ret != LIBSSH2_ERROR_EAGAIN) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Unable to exec %s on allocated pty. (Err %d)\n", pty->pty.cmd_line, ret); #endif goto error3; } } } else { /* Open a SHELL on that pty */ while ((ret = libssh2_channel_shell(pty->channel)) < 0) { if (ret != LIBSSH2_ERROR_EAGAIN) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Unable to request shell on allocated pty. (Err %d)\n", ret); #endif goto error3; } } } pty->pty.master = pty->session->sock; pty->pty.slave = -1; pty->pty.child_pid = (pid_t)pty->channel; /* XXX regarding pid_t as channel */ pty->pty.final = final; pty->pty.set_winsize = set_winsize; pty->pty.write = write_to_pty; pty->pty.read = read_pty; if (set_winsize(&pty->pty, cols, rows, width_pix, height_pix) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_set_pty_winsize() failed.\n"); #endif } if (keepalive_msec >= 1000) { libssh2_keepalive_config(pty->session->obj, 1, keepalive_msec / 1000); } #ifdef USE_WIN32API if (!rd_ev) { HANDLE thrd; u_int tid; rd_ev = CreateEvent(NULL, FALSE, FALSE, "PTY_READ_READY"); if (GetLastError() != ERROR_ALREADY_EXISTS) { /* Launch the thread that wait for receiving data from pty. */ if (!(thrd = _beginthreadex(NULL, 0, wait_pty_read, NULL, 0, &tid))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateThread() failed.\n"); #endif goto error3; } CloseHandle(thrd); } else { /* java/MLTerm.java has already watched pty. */ } } #endif pty->session->pty_channels[pty->session->num_ptys++] = pty->channel; set_use_multi_thread(0); return 1; error3: libssh2_session_set_blocking(pty->session->obj, 1); /* unblock in ssh_disconnect */ libssh2_channel_free(pty->channel); error2: ssh_disconnect(pty->session); set_use_multi_thread(0); return 0; } #ifdef USE_WIN32API static int connect_to_x11(void) { int sock; struct sockaddr_in addr; int count; if (display_port == -1 || (sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { return -1; } for (count = 0; count < 5; count++) { memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(6000 + display_port + count); addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK); if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == 0) { u_long val; val = 1; ioctlsocket(sock, FIONBIO, &val); return sock; } } closesocket(sock); return -1; } #else static int connect_to_x11(void) { int sock; struct sockaddr_un addr; if (display_port == -1 || (sock = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { return -1; } memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; snprintf(addr.sun_path, sizeof(addr.sun_path), "/tmp/.X11-unix/X%d", display_port); if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) { closesocket(sock); return -1; } fcntl(sock, F_SETFL, O_NONBLOCK | fcntl(sock, F_GETFL, 0)); return sock; } #endif static void x11_callback(LIBSSH2_SESSION *session_obj, LIBSSH2_CHANNEL *channel, char *shost, int sport, void **abstract) { u_int count; ssh_session_t *session; void *p; int display_sock; for (count = 0;; count++) { if (count == num_sessions) { /* XXX count must not reache num_sessions. */ return; } if (session_obj == sessions[count]->obj) { session = sessions[count]; break; } } if (!(p = realloc(session->x11_fds, (session->num_x11 + 1) * sizeof(int)))) { /* XXX channel resource is leaked. */ return; } session->x11_fds = p; if (!(p = realloc(session->x11_channels, (session->num_x11 + 1) * sizeof(LIBSSH2_CHANNEL *)))) { /* XXX channel resource is leaked. */ return; } session->x11_channels = p; if ((display_sock = connect_to_x11()) < 0) { bl_error_printf("Failed to connect X Server.\n"); /* Don't call libssh2_channel_free() which causes segfault here. */ } session->x11_channels[session->num_x11] = channel; session->x11_fds[session->num_x11++] = display_sock; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " x11 forwarding %d (display %d <=> ssh %p) started. => channel num %d\n", session->num_x11 - 1, display_sock, channel, session->num_x11); #endif } static int reconnect(vt_pty_ssh_t *pty) { ssh_session_t *session; vt_pty_ssh_t orig_pty; if (!(session = vt_search_ssh_session(pty->session->host, pty->session->port, pty->session->user)) || session == pty->session) { char *host; host = pty->session->host; pty->session->host = "***dummy***"; #ifdef __DEBUG bl_debug_printf("Reconnect to %s@%s:%s pw %s pubkey %s privkey %s\n", pty->session->user, host, pty->session->port, pty->session->stored->pass, pty->session->stored->pubkey, pty->session->stored->privkey); #endif bl_usleep(1000); if (!pty->session->stored || !(session = ssh_connect(host, pty->session->port, pty->session->user, pty->session->stored->pass, pty->session->stored->pubkey, pty->session->stored->privkey))) { pty->session->host = host; return 0; } pty->session->host = host; session->stored = pty->session->stored; pty->session->stored = NULL; } orig_pty = *pty; pty->session = session; if (!open_channel(pty, session->stored->cmd_path, session->stored->argv, session->stored->env, session->stored->cols, session->stored->rows, session->stored->width_pix, session->stored->height_pix)) { *pty = orig_pty; return 0; } free(orig_pty.pty.cmd_line); /* newly allocated in open_channel() */ final(&orig_pty.pty); return 1; } static void close_x11(ssh_session_t *session, int idx) { closesocket(session->x11_fds[idx]); while (libssh2_channel_free(session->x11_channels[idx]) == LIBSSH2_ERROR_EAGAIN) ; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " x11 forwarding %d (display %d <=> ssh %p) stopped. => channel num %d\n", idx, session->x11_fds[idx], session->x11_channels[idx], session->num_x11 - 1); #endif if (--session->num_x11 > 0) { session->x11_channels[idx] = session->x11_channels[session->num_x11]; session->x11_fds[idx] = session->x11_fds[session->num_x11]; } } static int xserver_to_ssh(LIBSSH2_CHANNEL *channel, int display) { char buf[8192]; ssize_t len; while ((len = recv(display, buf, sizeof(buf), 0)) > 0) { ssize_t w_len; char *p; p = buf; while ((w_len = libssh2_channel_write(channel, p, len)) < len) { if (w_len > 0) { len -= w_len; p += w_len; } else if (w_len < 0) { if (libssh2_channel_eof(channel)) { #if 0 shutdown(display, SHUT_RDWR); #endif return 0; } bl_usleep(1); } } #if 0 bl_debug_printf("X SERVER(%d) -> CHANNEL %d\n", display, len); #endif } if (len == 0) { return 0; } else { return 1; } } static int ssh_to_xserver(LIBSSH2_CHANNEL *channel, int display) { char buf[8192]; ssize_t len; while ((len = libssh2_channel_read(channel, buf, sizeof(buf))) > 0) { ssize_t w_len; char *p; p = buf; while ((w_len = send(display, p, len, 0)) < len) { if (w_len > 0) { len -= w_len; p += w_len; } else if (w_len < 0) { bl_usleep(1); } } #if 0 bl_debug_printf("CHANNEL -> X SERVER(%d) %d\n", display, len); #endif } if (libssh2_channel_eof(channel)) { #if 0 shutdown(display, SHUT_RDWR); #endif return 0; } else { return 1; } } /* cmd_path, cmd_argv, env, pubkey and privkey can be NULL. */ static void save_data_for_reconnect(ssh_session_t *session, const char *cmd_path, char **argv, char **env, const char *pass, const char *pubkey, const char *privkey, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { size_t len; u_int array_size[2]; int idx; char **src; len = sizeof(*session->stored); len += (strlen(pass) + 1); if (cmd_path) len += (strlen(cmd_path) + 1); if (pubkey) len += (strlen(pubkey) + 1); if (privkey) len += (strlen(privkey) + 1); for (src = argv, idx = 0; idx < 2; src = env, idx++) { if (src) { array_size[idx] = 1; for ( ; *src; src++) { array_size[idx]++; len += (strlen(*src) + 1 + sizeof(*src)); } len += sizeof(*src); } else { array_size[idx] = 0; } } if ((session->stored = calloc(len, 1))) { char *str; char **dst; session->stored->argv = session->stored + 1; session->stored->env = session->stored->argv + array_size[0]; str = session->stored->env + array_size[1]; session->stored->pass = strcpy(str, pass); str += (strlen(pass) + 1); if (cmd_path) { session->stored->cmd_path = strcpy(str, cmd_path); str += (strlen(cmd_path) + 1); } if (pubkey) { session->stored->pubkey = strcpy(str, pubkey); str += (strlen(pubkey) + 1); } if (privkey) { session->stored->privkey = strcpy(str, privkey); str += (strlen(privkey) + 1); } for (src = argv, dst = session->stored->argv, idx = 0; idx < 2; src = env, dst = session->stored->env, idx++) { if (src) { for ( ; *src; src++) { *(dst++) = strcpy(str, *src); str += (strlen(str) + 1); } *dst = NULL; } else { if (idx == 0) { session->stored->argv = NULL; } else { session->stored->env = NULL; } } } session->stored->cols = cols; session->stored->rows = rows; session->stored->width_pix = width_pix; session->stored->height_pix = height_pix; } } static char *get_user_name(void) { char *user; /* USER/LOGNAME: unix , USERNAME: win32 */ if (!(user = getenv("USER")) && !(user = getenv("USERNAME"))) { user = getenv("LOGNAME"); } return user; } /* --- global functions --- */ /* * Thread-safe. */ vt_pty_t *vt_pty_ssh_new(const char *cmd_path, /* can be NULL */ char **cmd_argv, /* can be NULL(only if cmd_path is NULL) */ char **env, /* can be NULL */ const char *uri, const char *pass, const char *pubkey, /* can be NULL */ const char *privkey, /* can be NULL */ u_int cols, u_int rows, u_int width_pix, u_int height_pix) { vt_pty_ssh_t *pty; char *user; char *proto; char *host; char *port; if (!bl_parse_uri(&proto, &user, &host, &port, NULL, NULL, bl_str_alloca_dup(uri))) { return NULL; } if (!user && !(user = get_user_name())) { return NULL; } if (proto && strcmp(proto, "ssh") != 0) { return NULL; } if ((pty = calloc(1, sizeof(vt_pty_ssh_t))) == NULL) { return NULL; } if (!(pty->session = ssh_connect(host, port ? port : "22", user, pass, pubkey, privkey)) || !open_channel(pty, cmd_path, cmd_argv, env, cols, rows, width_pix, height_pix)) { free(pty); return NULL; } if (auto_reconnect && ! pty->session->stored && strcmp(host, "localhost") != 0 && strcmp(host, "127.0.0.1") != 0) { save_data_for_reconnect(pty->session, cmd_path, cmd_argv, env, pass, pubkey, privkey, cols, rows, width_pix, height_pix); } return &pty->pty; } void *vt_search_ssh_session(const char *host, const char *port, /* can be NULL */ const char *user /* can be NULL */ ) { int count; if (!user && !(user = get_user_name())) { return NULL; } /* search from newer sessions. */ for (count = num_sessions - 1; count >= 0; count--) { if (strcmp(sessions[count]->host, host) == 0 && (port == NULL || strcmp(sessions[count]->port, port) == 0) && strcmp(sessions[count]->user, user) == 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Find cached session for %s %s %s.\n", host, port, user); #endif return sessions[count]; } } return NULL; } int vt_pty_set_use_loopback(vt_pty_t *pty, int use) { if (use) { if (((vt_pty_ssh_t *)pty)->session->suspended) { return 0; } else { return use_loopback(pty); } } else { return unuse_loopback(pty); } } int vt_pty_ssh_scp_intern(vt_pty_t *pty, int src_is_remote, char *dst_path, char *src_path) { scp_t *scp; struct stat st; char *msg; /* Note that session is non-block mode in this context. */ /* Check if pty is vt_pty_ssh_t or not. */ if (pty->final != final) { return 0; } if (((vt_pty_ssh_t *)pty)->session->suspended) { bl_msg_printf("SCP: Another scp process is working.\n"); return 0; } if (!(scp = malloc(sizeof(scp_t)))) { return 0; } scp->pty_ssh = (vt_pty_ssh_t *)pty; scp->pty_ssh->session->suspended = 1; if (src_is_remote) { while (!(scp->remote = libssh2_scp_recv(scp->pty_ssh->session->obj, src_path, &st)) && libssh2_session_last_errno(scp->pty_ssh->session->obj) == LIBSSH2_ERROR_EAGAIN) ; if (!scp->remote) { bl_msg_printf("SCP: Failed to open remote:%s.\n", src_path); goto error; } if ((scp->local = open(dst_path, O_WRONLY | O_CREAT | O_TRUNC #ifdef USE_WIN32API | O_BINARY #endif , st.st_mode)) < 0) { bl_msg_printf("SCP: Failed to open local:%s.\n", dst_path); while (libssh2_channel_free(scp->remote) == LIBSSH2_ERROR_EAGAIN) ; goto error; } } else { if ((scp->local = open(src_path, O_RDONLY #ifdef USE_WIN32API | O_BINARY #endif , 0644)) < 0) { bl_msg_printf("SCP: Failed to open local:%s.\n", src_path); goto error; } fstat(scp->local, &st); while (!(scp->remote = libssh2_scp_send(scp->pty_ssh->session->obj, dst_path, st.st_mode & 0777, (u_long)st.st_size)) && libssh2_session_last_errno(scp->pty_ssh->session->obj) == LIBSSH2_ERROR_EAGAIN) ; if (!scp->remote) { bl_msg_printf("SCP: Failed to open remote:%s.\n", dst_path); close(scp->local); goto error; } } scp->src_is_remote = src_is_remote; scp->src_size = st.st_size; if (!use_loopback(pty)) { while (libssh2_channel_free(scp->remote) == LIBSSH2_ERROR_EAGAIN) ; goto error; } if ((msg = alloca(24 + strlen(src_path) + strlen(dst_path) + 1))) { sprintf(msg, "\r\nSCP: %s%s => %s%s", src_is_remote ? "remote:" : "local:", src_path, src_is_remote ? "local:" : "remote:", dst_path); vt_write_to_pty(pty, msg, strlen(msg)); } #if defined(USE_WIN32API) { HANDLE thrd; u_int tid; if ((thrd = _beginthreadex(NULL, 0, scp_thread, scp, 0, &tid))) { CloseHandle(thrd); } } #elif defined(HAVE_PTHREAD) { pthread_t thrd; pthread_create(&thrd, NULL, scp_thread, scp); } #else scp_thread(scp); #endif return 1; error: scp->pty_ssh->session->suspended = 0; free(scp); return 0; } void vt_pty_ssh_set_cipher_list(const char *list) { cipher_list = list; } void vt_pty_ssh_set_keepalive_interval(u_int interval_sec) { keepalive_msec_left = keepalive_msec = interval_sec * 1000; } int vt_pty_ssh_keepalive(u_int spent_msec) { if (keepalive_msec_left <= spent_msec) { u_int count; for (count = 0; count < num_sessions; count++) { libssh2_keepalive_send(sessions[count]->obj, NULL); } keepalive_msec_left = keepalive_msec; } else { keepalive_msec_left -= spent_msec; } return 1; } void vt_pty_ssh_set_use_x11_forwarding(void *session, int use) { if (session) { ((ssh_session_t *)session)->use_x11_forwarding = use; } else { use_x11_forwarding = use; } } int vt_pty_ssh_poll(void *p) { fd_set *fds; int num_fds; u_int count; fds = p; FD_ZERO(fds); num_fds = 0; for (count = 0; count < num_sessions; count++) { u_int idx; if (sessions[count]->suspended) { continue; } for (idx = 0; idx < sessions[count]->num_ptys; idx++) { if (libssh2_poll_channel_read(sessions[count]->pty_channels[idx], 0)) { goto found; } } for (idx = 0; idx < sessions[count]->num_x11; idx++) { if (libssh2_poll_channel_read(sessions[count]->x11_channels[idx], 0)) { goto found; } } continue; found: FD_SET(sessions[count]->sock, fds); num_fds++; } return num_fds; } /* * The returned fds can contain -1 which means the failure of x11_callback(). */ u_int vt_pty_ssh_get_x11_fds(int **fds) { static int *x11_fds; static u_int num_x11_fds; u_int count; u_int num; if (num_sessions == 0) { return 0; } num = 0; for (count = 0; count < num_sessions; count++) { num += sessions[count]->num_x11; } if (num_x11_fds < num) { void *p; num_x11_fds = num; if (!(p = realloc(x11_fds, num * sizeof(int)))) { return 0; } x11_fds = p; } num = 0; for (count = 0; count < num_sessions; count++) { memcpy(x11_fds + num, sessions[count]->x11_fds, sessions[count]->num_x11 * sizeof(int)); num += sessions[count]->num_x11; } *fds = x11_fds; return num; } int vt_pty_ssh_send_recv_x11(int idx, int bidirection) { u_int count; ssh_session_t *session; for (count = 0;; count++) { if (count >= num_sessions) { return 0; } if (idx < sessions[count]->num_x11) { break; } idx -= sessions[count]->num_x11; } session = sessions[count]; if (session->suspended) { return 0; } if (session->x11_fds[idx] == -1 || /* Failed to connect X server */ !((!bidirection || xserver_to_ssh(session->x11_channels[idx], session->x11_fds[idx])) && ssh_to_xserver(session->x11_channels[idx], session->x11_fds[idx]))) { close_x11(session, idx); } return 1; } void vt_pty_ssh_set_use_auto_reconnect(int flag) { auto_reconnect = flag; } mlterm-3.8.4/vtemu/libctl004075500017600000144000000000001321054731100140565ustar kenusersmlterm-3.8.4/vtemu/libctl/vt_functbl_bidi.c010064400017600000144000000020501321054731100174300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../vt_ctl_loader.h" /* Dummy declaration */ void vt_line_set_use_bidi(void); void vt_line_bidi_convert_logical_char_index_to_visual(void); void vt_line_bidi_convert_visual_char_index_to_logical(void); void vt_line_bidi_copy_logical_str(void); void vt_line_bidi_is_rtl(void); void vt_is_rtl_char(void); void vt_bidi_copy(void); void vt_bidi_reset(void); void vt_line_bidi_need_shape(void); void vt_line_bidi_render(void); void vt_line_bidi_visual(void); void vt_line_bidi_logical(void); /* --- global variables --- */ void *vt_ctl_bidi_func_table[MAX_CTL_BIDI_FUNCS] = { (void*)CTL_API_COMPAT_CHECK_MAGIC, vt_line_set_use_bidi, vt_line_bidi_convert_logical_char_index_to_visual, vt_line_bidi_convert_visual_char_index_to_logical, vt_line_bidi_copy_logical_str, vt_line_bidi_is_rtl, vt_shape_arabic, vt_is_arabic_combining, vt_is_rtl_char, vt_bidi_copy, vt_bidi_reset, vt_line_bidi_need_shape, vt_line_bidi_render, vt_line_bidi_visual, vt_line_bidi_logical, }; mlterm-3.8.4/vtemu/libctl/dexport-sun.map012075500017600000144000000000001321054731100213002dexport.mapustar kenusersmlterm-3.8.4/vtemu/libctl/dexport.map010064400017600000144000000001271321054731100163160ustar kenusersmlterm { global: vt_ctl_bidi_func_table ; vt_ctl_iscii_func_table ; local: * ; } ; mlterm-3.8.4/vtemu/libctl/vt_bidi.h010064400017600000144000000020661321054731100157270ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __CTL_VT_BIDI_H__ #define __CTL_VT_BIDI_H__ #include "../vt_bidi.h" #include "../vt_char.h" /* Only used by vt_bidi.c, vt_line_bidi.c */ #define BASE_IS_RTL(state) ((((state)->rtl_state) >> 1) & 0x1) #define SET_BASE_RTL(state) (((state)->rtl_state) |= (0x1 << 1)) #define UNSET_BASE_RTL(state) (((state)->rtl_state) &= ~(0x1 << 1)) #define HAS_RTL(state) (((state)->rtl_state) & 0x1) #define SET_HAS_RTL(state) (((state)->rtl_state) |= 0x1) #define UNSET_HAS_RTL(state) (((state)->rtl_state) &= ~0x1) struct vt_bidi_state { u_int16_t *visual_order; u_int16_t size; int8_t bidi_mode; /* Cache how visual_order is rendered. */ /* * 6bit: Not used for now. * 1bit: base_is_rtl * 1bit: has_rtl */ int8_t rtl_state; }; vt_bidi_state_t vt_bidi_new(void); int vt_bidi_delete(vt_bidi_state_t state); int vt_bidi(vt_bidi_state_t state, vt_char_t *src, u_int size, vt_bidi_mode_t mode, const char *separators); u_int32_t vt_bidi_get_mirror_char(u_int32_t src); #endif mlterm-3.8.4/vtemu/libctl/vt_functbl_iscii.c010064400017600000144000000015171321054731100176300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../vt_ctl_loader.h" /* Dummy declaration */ void vt_line_set_use_iscii(void); void vt_line_iscii_convert_logical_char_index_to_visual(void); void vt_iscii_copy(void); void vt_iscii_reset(void); void vt_line_iscii_need_shape(void); void vt_line_iscii_render(void); void vt_line_iscii_visual(void); void vt_line_iscii_logical(void); /* --- global variables --- */ void *vt_ctl_iscii_func_table[MAX_CTL_ISCII_FUNCS] = { (void*)CTL_API_COMPAT_CHECK_MAGIC, vt_isciikey_state_new, vt_isciikey_state_delete, vt_convert_ascii_to_iscii, vt_line_set_use_iscii, vt_line_iscii_convert_logical_char_index_to_visual, vt_shape_iscii, vt_iscii_copy, vt_iscii_reset, vt_line_iscii_need_shape, vt_line_iscii_render, vt_line_iscii_visual, vt_line_iscii_logical, }; mlterm-3.8.4/vtemu/libctl/vt_iscii.c010064400017600000144000000225671321054731100161230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_iscii.h" #include /* bl_snprintf */ #include #include #include #include #ifndef LIBDIR #define INDLIB_DIR "/usr/local/lib/mlterm/" #else #define INDLIB_DIR LIBDIR "/mlterm/" #endif #define A2IMAXBUFF 30 #if 0 #define __DEBUG #endif struct vt_isciikey_state { /* used for iitkeyb */ char prev_key[A2IMAXBUFF]; int8_t is_inscript; }; #ifdef STATIC_LINK_INDIC_TABLES /* for Android */ #include #include
#if 0 #include
#include
#include
#include
#include
#include
#include
#endif /* --- static variables --- */ static struct { struct tabl *tabl; size_t size; } tables[] = { #if 0 { iscii_assamese_table, sizeof(iscii_assamese_table) / sizeof(struct tabl), }, { iscii_bengali_table, sizeof(iscii_bengali_table) / sizeof(struct tabl), }, { iscii_gujarati_table, sizeof(iscii_gujarati_table) / sizeof(struct tabl), }, { iscii_hindi_table, sizeof(iscii_hindi_table) / sizeof(struct tabl), }, { iscii_kannada_table, sizeof(iscii_kannada_table) / sizeof(struct tabl), }, { iscii_malayalam_table, sizeof(iscii_malayalam_table) / sizeof(struct tabl), }, { iscii_oriya_table, sizeof(iscii_oriya_table) / sizeof(struct tabl), }, { iscii_punjabi_table, sizeof(iscii_punjabi_table) / sizeof(struct tabl), }, { iscii_tamil_table, sizeof(iscii_tamil_table) / sizeof(struct tabl), }, { iscii_telugu_table, sizeof(iscii_telugu_table) / sizeof(struct tabl), }, #else { NULL, 0, }, { iscii_bengali_table, sizeof(iscii_bengali_table) / sizeof(struct tabl), }, { NULL, 0, }, { iscii_hindi_table, sizeof(iscii_hindi_table) / sizeof(struct tabl), }, { NULL, 0, }, { NULL, 0, }, { NULL, 0, }, { NULL, 0, }, { NULL, 0, }, { NULL, 0, }, { NULL, 0, }, #endif }; /* --- static functions --- */ static struct tabl *get_iscii_table(int idx, size_t *size) { *size = tables[idx].size; return tables[idx].tabl; } static struct a2i_tabl *get_isciikey_table(int is_inscript, size_t *size) { return NULL; } #else /* STATIC_LINK_INDIC_TABLES */ /* --- static variables --- */ static char *iscii_table_files[] = { "ind_assamese", "ind_bengali", "ind_gujarati", "ind_hindi", "ind_kannada", "ind_malayalam", "ind_oriya", "ind_punjabi", "ind_tamil", "ind_telugu", }; static struct tabl *(*get_iscii_tables[11])(u_int *); static struct a2i_tabl *(*get_inscript_table)(u_int *); static struct a2i_tabl *(*get_iitkeyb_table)(u_int *); /* --- static functions --- */ static void *load_symbol(char *file) { void *handle; void *sym; if (!(handle = bl_dl_open(INDLIB_DIR, file)) && !(handle = bl_dl_open("", file))) { bl_msg_printf("Failed to open %s\n", file); return NULL; } bl_dl_close_at_exit(handle); if (!(sym = bl_dl_func_symbol(handle, "libind_get_table"))) { bl_dl_close(handle); } return sym; } static struct tabl *get_iscii_table(int idx, size_t *size) { if (!get_iscii_tables[idx] && !(get_iscii_tables[idx] = load_symbol(iscii_table_files[idx]))) { return NULL; } return (*get_iscii_tables[idx])(size); } static struct a2i_tabl *get_isciikey_table(int is_inscript, size_t *size) { if (is_inscript) { if (!get_inscript_table && !(get_inscript_table = load_symbol("ind_inscript"))) { return NULL; } return (*get_inscript_table)(size); } else { if (!get_iitkeyb_table && !(get_iitkeyb_table = load_symbol("ind_iitkeyb"))) { return NULL; } return (*get_iitkeyb_table)(size); } } #endif /* STATIC_LINK_INDIC_TABLES */ /* --- global functions --- */ u_int vt_iscii_shape(ef_charset_t cs, u_char *dst, size_t dst_size, u_char *src) { struct tabl *table; size_t size; if (!IS_ISCII(cs)) { return 0; } if ((table = get_iscii_table(cs - ISCII_ASSAMESE, &size)) == NULL) { return 0; } /* * XXX * iscii2font() expects dst to be terminated by zero. * int iscii2font(struct tabl table[MAXLEN], char *input, char *output, int *sz) { * ... * bzero(output,strlen(output)); * ... ^^^^^^^^^^^^^^ * } */ dst[0] = '\0'; return iscii2font(table, src, dst, size); } vt_iscii_state_t vt_iscii_new(void) { return calloc(1, sizeof(struct vt_iscii_state)); } int vt_iscii_delete(vt_iscii_state_t state) { free(state->num_chars_array); free(state); return 1; } int vt_iscii(vt_iscii_state_t state, vt_char_t *src, u_int src_len) { int dst_pos; int src_pos; u_char *iscii_buf; u_char *font_buf; u_int8_t *num_chars_array; u_int font_buf_len; u_int prev_font_filled; u_int iscii_filled; ef_charset_t cs; ef_charset_t prev_cs; int has_ucs; if ((iscii_buf = alloca(src_len * MAX_COMB_SIZE + 1)) == NULL) { return 0; } font_buf_len = src_len * MAX_COMB_SIZE + 1; if ((font_buf = alloca(font_buf_len)) == NULL) { return 0; } if ((num_chars_array = alloca(font_buf_len * sizeof(u_int8_t))) == NULL) { return 0; } state->has_iscii = 0; dst_pos = -1; prev_cs = cs = UNKNOWN_CS; has_ucs = 0; for (src_pos = 0; src_pos < src_len; src_pos++) { cs = vt_char_cs(src + src_pos); if (prev_cs != cs) { prev_font_filled = iscii_filled = 0; prev_cs = cs; } if (IS_ISCII(cs)) { u_int font_filled; u_int count; vt_char_t *comb; u_int num; iscii_buf[iscii_filled++] = vt_char_code(src + src_pos); comb = vt_get_combining_chars(src + src_pos, &num); for (; num > 0; num--) { iscii_buf[iscii_filled++] = vt_char_code(comb++); } iscii_buf[iscii_filled] = '\0'; font_filled = vt_iscii_shape(cs, font_buf, font_buf_len, iscii_buf); if (font_filled < prev_font_filled) { if (font_filled == 0) { return 0; } count = prev_font_filled - font_filled; dst_pos -= count; for (; count > 0; count--) { num_chars_array[dst_pos] += num_chars_array[dst_pos + count]; } prev_font_filled = font_filled; /* goto to the next if block */ } if (dst_pos >= 0 && font_filled == prev_font_filled) { num_chars_array[dst_pos]++; } else { num_chars_array[++dst_pos] = 1; for (count = font_filled - prev_font_filled; count > 1; count--) { num_chars_array[++dst_pos] = 0; } } prev_font_filled = font_filled; state->has_iscii = 1; } else { if (cs == ISO10646_UCS4_1) { has_ucs = 1; } num_chars_array[++dst_pos] = 1; } } if (state->size != dst_pos + 1) { void *p; if (!(p = realloc(state->num_chars_array, K_MAX(dst_pos + 1, src_len) * sizeof(*num_chars_array)))) { return 0; } #ifdef __DEBUG if (p != state->num_chars_array) { bl_debug_printf(BL_DEBUG_TAG " REALLOC array %d(%p) -> %d(%p)\n", state->size, state->num_chars_array, dst_pos + 1, p); } #endif state->num_chars_array = p; state->size = dst_pos + 1; } memcpy(state->num_chars_array, num_chars_array, state->size * sizeof(*num_chars_array)); return (!state->has_iscii && has_ucs) ? -1 : 1; } int vt_iscii_copy(vt_iscii_state_t dst, vt_iscii_state_t src, int optimize) { u_int8_t *p; if (optimize && !src->has_iscii) { vt_iscii_delete(dst); return -1; } else if (src->size == 0) { free(dst->num_chars_array); p = NULL; } else if ((p = realloc(dst->num_chars_array, sizeof(u_int8_t) * src->size))) { memcpy(p, src->num_chars_array, sizeof(u_int8_t) * src->size); } else { return 0; } dst->num_chars_array = p; dst->size = src->size; dst->has_iscii = src->has_iscii; return 1; } int vt_iscii_reset(vt_iscii_state_t state) { state->size = 0; return 1; } vt_isciikey_state_t vt_isciikey_state_new(int is_inscript) { vt_isciikey_state_t state; if ((state = malloc(sizeof(*state))) == NULL) { return NULL; } state->is_inscript = is_inscript; state->prev_key[0] = '\0'; return state; } void vt_isciikey_state_delete(vt_isciikey_state_t state) { free(state); } size_t vt_convert_ascii_to_iscii(vt_isciikey_state_t state, u_char *iscii, size_t iscii_len, u_char *ascii, size_t ascii_len) { struct a2i_tabl *table; size_t size; u_char *dup; /* * ins2iscii() and iitk2iscii() return 2nd argument variable whose memory * is modified by converted iscii bytes. * So, enough memory (* A2IMAXBUFF) should be allocated here. */ if ((dup = alloca(ascii_len * A2IMAXBUFF)) == NULL) { goto no_conv; } if ((table = get_isciikey_table(state->is_inscript, &size)) == NULL) { goto no_conv; } strncpy(dup, ascii, ascii_len); dup[ascii_len] = '\0'; if (state->is_inscript) { bl_snprintf(iscii, iscii_len, "%s", ins2iscii(table, dup, size)); } else { bl_snprintf(iscii, iscii_len, "%s", iitk2iscii(table, dup, state->prev_key, size)); state->prev_key[0] = ascii[0]; state->prev_key[1] = '\0'; } return strlen(iscii); no_conv: memmove(iscii, ascii, iscii_len); return ascii_len; } mlterm-3.8.4/vtemu/libctl/vt_iscii.h010064400017600000144000000010351321054731100161130ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __CTL_VT_ISCII_H__ #define __CTL_VT_ISCII_H__ #include "../vt_iscii.h" #include #include "../vt_char.h" struct vt_iscii_state { u_int8_t *num_chars_array; u_int16_t size; int8_t has_iscii; }; u_int vt_iscii_shape(ef_charset_t cs, u_char *dst, size_t dst_size, u_char *src); vt_iscii_state_t vt_iscii_new(void); int vt_iscii_delete(vt_iscii_state_t state); int vt_iscii(vt_iscii_state_t state, vt_char_t *src, u_int src_len); #endif mlterm-3.8.4/vtemu/libctl/vt_line_bidi.c010064400017600000144000000314651321054731100167360ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_line_bidi.h" #include /* memset */ #include #include /* alloca */ #define MSB32 0x80000000 /* --- static functions --- */ static void copy_char_with_mirror_check(vt_char_t *dst, vt_char_t *src, u_int16_t *visual_order, u_int16_t visual_order_size, int pos) { vt_char_copy(dst, src); if (((pos > 0 && visual_order[pos - 1] == visual_order[pos] + 1) || (pos + 1 < visual_order_size && visual_order[pos] == visual_order[pos + 1] + 1))) { /* * Pos is RTL character. * => XXX It is assumed that pos is always US_ASCII or ISO10646_UCS4_1. */ #if 0 ef_charset_t cs; if ((cs = vt_char_cs(dst)) == US_ASCII || cs == ISO10646_UCS4_1) #endif { u_int mirror; if ((mirror = vt_bidi_get_mirror_char(vt_char_code(dst)))) { vt_char_set_code(dst, mirror); } } } } static void set_visual_modified(vt_line_t *line, int logical_mod_beg, int logical_mod_end) { int visual_mod_beg; int visual_mod_end; /* same as 0 <= char_index < size */ if (((u_int)logical_mod_beg) >= line->ctl_info.bidi->size || ((u_int)logical_mod_end) >= line->ctl_info.bidi->size) { vt_line_set_modified_all(line); return; } visual_mod_beg = line->ctl_info.bidi->visual_order[logical_mod_beg]; visual_mod_end = line->ctl_info.bidi->visual_order[logical_mod_end]; if (visual_mod_beg > visual_mod_end) { int tmp; tmp = visual_mod_end; visual_mod_end = visual_mod_beg; visual_mod_beg = tmp; } #if 0 bl_debug_printf("%p %d %d -> %d %d\n", line, logical_mod_beg, logical_mod_end, visual_mod_beg, visual_mod_end); #endif vt_line_set_modified(line, visual_mod_beg, visual_mod_end); } /* --- global functions --- */ int vt_line_set_use_bidi(vt_line_t *line, int flag) { if (flag) { if (vt_line_is_using_bidi(line)) { return 1; } else if (line->ctl_info_type != 0) { return 0; } if ((line->ctl_info.bidi = vt_bidi_new()) == NULL) { return 0; } line->ctl_info_type = VINFO_BIDI; } else { if (vt_line_is_using_bidi(line)) { vt_bidi_delete(line->ctl_info.bidi); line->ctl_info_type = 0; } } return 1; } /* The caller should check vt_line_is_using_bidi() in advance. */ int vt_line_bidi_render(vt_line_t *line, /* is always modified */ vt_bidi_mode_t bidi_mode, const char *separators) { int ret; if (vt_line_is_real_modified(line)) { int base_was_rtl; base_was_rtl = BASE_IS_RTL(line->ctl_info.bidi); if ((ret = vt_bidi(line->ctl_info.bidi, line->chars, line->num_filled_chars, bidi_mode, separators)) <= 0) { return ret; } /* Conforming line->change_{beg|end}_col to visual mode. */ if (base_was_rtl != BASE_IS_RTL(line->ctl_info.bidi)) { /* * shifting RTL-base to LTR-base or LTR-base to RTL-base. * (which requires redrawing line all) */ vt_line_set_modified_all(line); return 1; } } else { ret = 1; /* order is not changed */ } if (ret == 2) /* order is changed => force to redraw all */ { if (vt_line_get_end_of_modified(line) > vt_line_end_char_index(line)) { vt_line_set_modified_all(line); } else { vt_line_set_modified(line, 0, vt_line_end_char_index(line)); } } else if (HAS_RTL(line->ctl_info.bidi)) { set_visual_modified(line, vt_line_get_beg_of_modified(line), vt_line_get_end_of_modified(line)); } return 1; } /* The caller should check vt_line_is_using_bidi() in advance. */ int vt_line_bidi_visual(vt_line_t *line) { int count; vt_char_t *src; if (line->ctl_info.bidi->size == 0 || !HAS_RTL(line->ctl_info.bidi)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Not need to visualize.\n"); #endif return 1; } if ((src = vt_str_alloca(line->ctl_info.bidi->size)) == NULL) { return 0; } vt_str_copy(src, line->chars, line->ctl_info.bidi->size); for (count = 0; count < line->ctl_info.bidi->size; count++) { copy_char_with_mirror_check(line->chars + line->ctl_info.bidi->visual_order[count], src + count, line->ctl_info.bidi->visual_order, line->ctl_info.bidi->size, count); } vt_str_final(src, line->ctl_info.bidi->size); return 1; } /* The caller should check vt_line_is_using_bidi() in advance. */ int vt_line_bidi_logical(vt_line_t *line) { int count; vt_char_t *src; if (line->ctl_info.bidi->size == 0 || !HAS_RTL(line->ctl_info.bidi)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Not need to logicalize.\n"); #endif return 0; } if ((src = vt_str_alloca(line->ctl_info.bidi->size)) == NULL) { return 0; } vt_str_copy(src, line->chars, line->ctl_info.bidi->size); for (count = 0; count < line->ctl_info.bidi->size; count++) { copy_char_with_mirror_check(line->chars + count, src + line->ctl_info.bidi->visual_order[count], line->ctl_info.bidi->visual_order, line->ctl_info.bidi->size, count); } vt_str_final(src, line->ctl_info.bidi->size); /* * !! Notice !! * is_modified is as it is , which should not be touched here. */ return 1; } /* The caller should check vt_line_is_using_bidi() in advance. */ int vt_line_bidi_convert_logical_char_index_to_visual(vt_line_t *line, int char_index, u_int32_t *meet_pos_info) { if (((u_int)char_index) < line->ctl_info.bidi->size && /* same as 0 <= char_index < size */ HAS_RTL(line->ctl_info.bidi)) { if (meet_pos_info) { int count; *meet_pos_info &= ~MSB32; if (!BASE_IS_RTL(line->ctl_info.bidi) && char_index >= 1) { for (count = char_index - 2; count >= -1; count--) { /* * visual order -> 1 2 4 3 5 * ^ ^ ^- char index * | | * cursor position --+ +-- meet position * * visual order -> 1 2*5*4 3 6 * ^ ^ ^ ^- char index * | | * cursor position --+ +-- meet position * * visual order -> 1 2 3 6 5 4 7 * ^ ^ ^ ^- char index * | | * cursor position --+ +-- meet position */ #if 0 bl_debug_printf(" Normal pos %d - Current pos %d %d %d - Meet position info %d\n", line->ctl_info.bidi->visual_order[char_index], count >= 0 ? line->ctl_info.bidi->visual_order[count] : 0, line->ctl_info.bidi->visual_order[count + 1], line->ctl_info.bidi->visual_order[count + 2], *meet_pos_info); #endif if ((count < 0 || line->ctl_info.bidi->visual_order[count] < line->ctl_info.bidi->visual_order[count + 1]) && line->ctl_info.bidi->visual_order[count + 1] + 1 < line->ctl_info.bidi->visual_order[count + 2]) { /* * If meet position is not changed, text isn't changed * but cursor is moved. In this case cursor position should * not be fixed to visual_order[count + 1]. */ if (((*meet_pos_info) & ~MSB32) != line->ctl_info.bidi->visual_order[count + 1] + line->ctl_info.bidi->visual_order[count + 2]) { *meet_pos_info = line->ctl_info.bidi->visual_order[count + 1] + line->ctl_info.bidi->visual_order[count + 2]; if (line->ctl_info.bidi->visual_order[char_index] == line->ctl_info.bidi->visual_order[count + 2] + 1) { *meet_pos_info |= MSB32; return line->ctl_info.bidi->visual_order[count + 1]; } } break; } } if (count == 0) { *meet_pos_info = 0; } } else if (BASE_IS_RTL(line->ctl_info.bidi) && char_index >= 1) { for (count = char_index - 2; count >= -1; count--) { /* * visual order -> 6 5 4 2 3 1 * ^ ^ ^ ^- char index * | * +-- meet position & cursor position * visual order -> 7 6 5 2 3*4*1 * ^ ^ ^ ^- char index * | * +-- meet position & cursor position * * visual order -> 7 6 4 5 3 2 1 * ^ ^ ^- char index * | | * cursor position --+ +-- meet position * visual order -> 7 6 3 4*5*2 1 * ^ ^ ^- char index * | | * cursor position --+ +-- meet position */ #if 0 bl_debug_printf(" Normal pos %d - Current pos %d %d %d - Meet position info %d\n", line->ctl_info.bidi->visual_order[char_index], count >= 0 ? line->ctl_info.bidi->visual_order[count] : 0, line->ctl_info.bidi->visual_order[count + 1], line->ctl_info.bidi->visual_order[count + 2], *meet_pos_info); #endif if ((count < 0 || line->ctl_info.bidi->visual_order[count] > line->ctl_info.bidi->visual_order[count + 1]) && line->ctl_info.bidi->visual_order[count + 1] > line->ctl_info.bidi->visual_order[count + 2] + 1) { /* * If meet position is not changed, text isn't changed * but cursor is moved. In this case cursor position should * not be fixed to visual_order[count + 1]. */ if (((*meet_pos_info) & ~MSB32) != line->ctl_info.bidi->visual_order[count + 1] + line->ctl_info.bidi->visual_order[count + 2]) { *meet_pos_info = line->ctl_info.bidi->visual_order[count + 1] + line->ctl_info.bidi->visual_order[count + 2]; if (line->ctl_info.bidi->visual_order[char_index] + 1 == line->ctl_info.bidi->visual_order[count + 2]) { *meet_pos_info |= MSB32; return line->ctl_info.bidi->visual_order[count + 1]; } } break; } } if (count == 0) { *meet_pos_info = 0; } } else { *meet_pos_info = 0; } } return line->ctl_info.bidi->visual_order[char_index]; } else { if (meet_pos_info) { *meet_pos_info = 0; } return char_index; } } /* * This function is used only by a loader of this module (not used inside this * module), * so it is assumed that vt_line_is_using_bidi() was already checked (otherwise * this * module can be loaded unnecessarily). */ int vt_line_bidi_convert_visual_char_index_to_logical(vt_line_t *line, int char_index) { u_int count; for (count = 0; count < line->ctl_info.bidi->size; count++) { if (line->ctl_info.bidi->visual_order[count] == char_index) { return count; } } return char_index; } /* * This function is used only by a loader of this module (not used inside this * module), * so it is assumed that vt_line_is_using_bidi() was already checked (otherwise * this * module can be loaded unnecessarily). */ int vt_line_bidi_is_rtl(vt_line_t *line) { return BASE_IS_RTL(line->ctl_info.bidi); } int vt_line_bidi_need_shape(vt_line_t *line) { return HAS_RTL(line->ctl_info.bidi); } /* * This function is used only by a loader of this module (not used inside this * module), * so it is assumed that vt_line_is_using_bidi() was already checked. */ int vt_line_bidi_copy_logical_str(vt_line_t *line, vt_char_t *dst, int beg, /* visual position */ u_int len) { /* * XXX * adhoc implementation. */ int *flags; int bidi_pos; int norm_pos; int dst_pos; if (line->ctl_info.bidi->size == 0) { return 0; } if ((flags = alloca(sizeof(int) * line->ctl_info.bidi->size)) == NULL) { return 0; } memset(flags, 0, sizeof(int) * line->ctl_info.bidi->size); for (bidi_pos = beg; bidi_pos < beg + len; bidi_pos++) { for (norm_pos = 0; norm_pos < line->ctl_info.bidi->size; norm_pos++) { if (line->ctl_info.bidi->visual_order[norm_pos] == bidi_pos) { flags[norm_pos] = 1; } } } for (dst_pos = norm_pos = 0; norm_pos < line->ctl_info.bidi->size; norm_pos++) { if (flags[norm_pos]) { copy_char_with_mirror_check( &dst[dst_pos++], line->chars + line->ctl_info.bidi->visual_order[norm_pos], line->ctl_info.bidi->visual_order, line->ctl_info.bidi->size, norm_pos); } } return 1; } mlterm-3.8.4/vtemu/libctl/vt_line_bidi.h010064400017600000144000000012421321054731100167310ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_LINE_BIDI_H__ #define __VT_LINE_BIDI_H__ #include "../vt_line.h" #include "vt_bidi.h" /* vt_bidi_mode_t */ #define vt_line_is_using_bidi(line) ((line)->ctl_info_type == VINFO_BIDI) int vt_line_set_use_bidi(vt_line_t *line, int flag); int vt_line_bidi_render(vt_line_t *line, vt_bidi_mode_t bidi_mode, const char *separators); int vt_line_bidi_visual(vt_line_t *line); int vt_line_bidi_logical(vt_line_t *line); int vt_line_bidi_convert_logical_char_index_to_visual(vt_line_t *line, int char_index, u_int32_t *meet_pos_info); #endif mlterm-3.8.4/vtemu/libctl/vt_line_iscii.c010064400017600000144000000147121321054731100171230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_line_iscii.h" #include /* NULL */ #include #include /* K_MIN */ #include "vt_iscii.h" /* --- global functions --- */ int vt_line_set_use_iscii(vt_line_t *line, int flag) { if (flag) { if (vt_line_is_using_iscii(line)) { return 1; } else if (line->ctl_info_type != 0) { return 0; } if ((line->ctl_info.iscii = vt_iscii_new()) == NULL) { return 0; } line->ctl_info_type = VINFO_ISCII; } else { if (vt_line_is_using_iscii(line)) { vt_iscii_delete(line->ctl_info.iscii); line->ctl_info_type = 0; } } return 1; } /* The caller should check vt_line_is_using_iscii() in advance. */ int vt_line_iscii_render(vt_line_t *line /* is always visual */ ) { int ret; int visual_mod_beg; /* * Lower case: ASCII * Upper case: ISCII * (Logical) AAA == (Visual) BBBBB * => (Logical) aaa == (Visual) aaa * In this case vt_line_is_cleared_to_end() returns 0, so "BB" remains on * the screen unless following vt_line_set_modified(). */ visual_mod_beg = vt_line_get_beg_of_modified(line); if (line->ctl_info.iscii->has_iscii) { visual_mod_beg = vt_line_iscii_convert_logical_char_index_to_visual(line, visual_mod_beg); } if (vt_line_is_real_modified(line)) { if ((ret = vt_iscii(line->ctl_info.iscii, line->chars, line->num_filled_chars)) <= 0) { return ret; } if (line->ctl_info.iscii->has_iscii) { int beg; if ((beg = vt_line_iscii_convert_logical_char_index_to_visual( line, vt_line_get_beg_of_modified(line))) < visual_mod_beg) { visual_mod_beg = beg; } } /* * Conforming line->change_{beg|end}_col to visual mode. * If this line contains ISCII chars, it should be redrawn to the end of * line. */ vt_line_set_modified(line, visual_mod_beg, line->num_chars); } else { vt_line_set_modified(line, visual_mod_beg, vt_line_iscii_convert_logical_char_index_to_visual( line, vt_line_get_end_of_modified(line))); } return 1; } /* The caller should check vt_line_is_using_iscii() in advance. */ int vt_line_iscii_visual(vt_line_t *line) { vt_char_t *src; u_int src_len; vt_char_t *dst; u_int dst_len; int dst_pos; int src_pos; if (line->ctl_info.iscii->size == 0 || !line->ctl_info.iscii->has_iscii) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " Not need to visualize.\n"); #endif return 1; } src_len = line->num_filled_chars; if ((src = vt_str_alloca(src_len)) == NULL) { return 0; } vt_str_copy(src, line->chars, src_len); dst_len = line->ctl_info.iscii->size; if (line->num_chars < dst_len) { vt_char_t *chars; if ((chars = vt_str_new(dst_len))) { /* XXX => shrunk at vt_screen.c and vt_logical_visual_ctl.c */ vt_str_delete(line->chars, line->num_chars); line->chars = chars; line->num_chars = dst_len; } else { line->ctl_info.iscii->size = dst_len = line->num_chars; } } dst = line->chars; src_pos = 0; for (dst_pos = 0; dst_pos < dst_len; dst_pos++) { if (line->ctl_info.iscii->num_chars_array[dst_pos] == 0) { vt_char_copy(dst + dst_pos, vt_get_base_char(src + src_pos - 1)); /* NULL */ vt_char_set_code(dst + dst_pos, 0); } else { u_int count; vt_char_copy(dst + dst_pos, src + (src_pos++)); for (count = 1; count < line->ctl_info.iscii->num_chars_array[dst_pos]; count++) { vt_char_t *comb; u_int num; #ifdef DEBUG if (vt_char_is_comb(vt_get_base_char(src + src_pos))) { bl_debug_printf(BL_DEBUG_TAG " illegal iscii\n"); } #endif vt_char_combine_simple(dst + dst_pos, vt_get_base_char(src + src_pos)); comb = vt_get_combining_chars(src + (src_pos++), &num); for (; num > 0; num--) { #ifdef DEBUG if (!vt_char_is_comb(comb)) { bl_debug_printf(BL_DEBUG_TAG " illegal iscii\n"); } #endif vt_char_combine_simple(dst + dst_pos, comb++); } } } } #ifdef DEBUG if (src_pos != src_len) { bl_debug_printf(BL_DEBUG_TAG "vt_line_iscii_visual() failed: %d -> %d\n", src_len, src_pos); } #endif vt_str_final(src, src_len); line->num_filled_chars = dst_pos; return 1; } /* The caller should check vt_line_is_using_iscii() in advance. */ int vt_line_iscii_logical(vt_line_t *line) { vt_char_t *src; u_int src_len; vt_char_t *dst; int src_pos; if (line->ctl_info.iscii->size == 0 || !line->ctl_info.iscii->has_iscii) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " Not need to logicalize.\n"); #endif return 1; } src_len = line->num_filled_chars; if ((src = vt_str_alloca(src_len)) == NULL) { return 0; } vt_str_copy(src, line->chars, src_len); dst = line->chars; for (src_pos = 0; src_pos < line->ctl_info.iscii->size; src_pos++) { vt_char_t *comb; u_int num; if (line->ctl_info.iscii->num_chars_array[src_pos] == 0) { continue; } else if (line->ctl_info.iscii->num_chars_array[src_pos] == 1) { vt_char_copy(dst, src + src_pos); } else { vt_char_copy(dst, vt_get_base_char(src + src_pos)); comb = vt_get_combining_chars(src + src_pos, &num); for (; num > 0; num--, comb++) { if (vt_char_is_comb(comb)) { vt_char_combine_simple(dst, comb); } else { vt_char_copy(++dst, comb); } } } dst++; } vt_str_final(src, src_len); line->num_filled_chars = dst - line->chars; return 1; } /* The caller should check vt_line_is_using_iscii() in advance. */ int vt_line_iscii_convert_logical_char_index_to_visual(vt_line_t *line, int logical_char_index) { int visual_char_index; if (vt_line_is_empty(line)) { return 0; } if (line->ctl_info.iscii->size == 0 || !line->ctl_info.iscii->has_iscii) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " logical char_index is same as visual one.\n"); #endif return logical_char_index; } for (visual_char_index = 0; visual_char_index < line->ctl_info.iscii->size; visual_char_index++) { if (logical_char_index == 0 || (logical_char_index -= line->ctl_info.iscii->num_chars_array[visual_char_index]) < 0) { break; } } return visual_char_index; } int vt_line_iscii_need_shape(vt_line_t *line) { return line->ctl_info.iscii->size > 0 && line->ctl_info.iscii->has_iscii; } mlterm-3.8.4/vtemu/libctl/vt_line_iscii.h010064400017600000144000000010071321054731100171210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_LINE_ISCII_H__ #define __VT_LINE_ISCII_H__ #include "../vt_line.h" #define vt_line_is_using_iscii(line) ((line)->ctl_info_type == VINFO_ISCII) int vt_line_set_use_iscii(vt_line_t *line, int flag); int vt_line_iscii_render(vt_line_t *line); int vt_line_iscii_visual(vt_line_t *line); int vt_line_iscii_logical(vt_line_t *line); int vt_line_iscii_convert_logical_char_index_to_visual(vt_line_t *line, int logical_char_index); #endif mlterm-3.8.4/vtemu/libctl/vt_shape_bidi.c010064400017600000144000000252561321054731100171100ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../vt_shape.h" #include /* strncpy */ #include /* alloca */ #include /* bl_msg_printf */ typedef struct arabic_present { u_int16_t base_arabic; /* presentations. right or left is visual order's one. */ u_int16_t no_joining_present; u_int16_t right_joining_present; u_int16_t left_joining_present; u_int16_t both_joining_present; } arabic_present_t; typedef struct arabic_comb { /* first or second is logical order's one */ u_int16_t first; u_int16_t second; u_int16_t comb; u_int16_t comb_right; } arabic_comb_t; /* --- static variables --- */ static arabic_present_t arabic_present_table[] = { { 0x0621, 0xFE80, 0x0000, 0x0000, 0x0000, }, { 0x0622, 0xFE81, 0xFE82, 0x0000, 0x0000, }, { 0x0623, 0xFE83, 0xFE84, 0x0000, 0x0000, }, { 0x0624, 0xFE85, 0xFE86, 0x0000, 0x0000, }, { 0x0625, 0xFE87, 0xFE88, 0x0000, 0x0000, }, { 0x0626, 0xFE89, 0xFE8A, 0xFE8B, 0xFE8C, }, { 0x0627, 0xFE8D, 0xFE8E, 0x0000, 0x0000, }, { 0x0628, 0xFE8F, 0xFE90, 0xFE91, 0xFE92, }, { 0x0629, 0xFE93, 0xFE94, 0x0000, 0x0000, }, { 0x062A, 0xFE95, 0xFE96, 0xFE97, 0xFE98, }, { 0x062B, 0xFE99, 0xFE9A, 0xFE9B, 0xFE9C, }, { 0x062C, 0xFE9D, 0xFE9E, 0xFE9F, 0xFEA0, }, { 0x062D, 0xFEA1, 0xFEA2, 0xFEA3, 0xFEA4, }, { 0x062E, 0xFEA5, 0xFEA6, 0xFEA7, 0xFEA8, }, { 0x062F, 0xFEA9, 0xFEAA, 0x0000, 0x0000, }, { 0x0630, 0xFEAB, 0xFEAC, 0x0000, 0x0000, }, { 0x0631, 0xFEAD, 0xFEAE, 0x0000, 0x0000, }, { 0x0632, 0xFEAF, 0xFEB0, 0x0000, 0x0000, }, { 0x0633, 0xFEB1, 0xFEB2, 0xFEB3, 0xFEB4, }, { 0x0634, 0xFEB5, 0xFEB6, 0xFEB7, 0xFEB8, }, { 0x0635, 0xFEB9, 0xFEBA, 0xFEBB, 0xFEBC, }, { 0x0636, 0xFEBD, 0xFEBE, 0xFEBF, 0xFEC0, }, { 0x0637, 0xFEC1, 0xFEC2, 0xFEC3, 0xFEC4, }, { 0x0638, 0xFEC5, 0xFEC6, 0xFEC7, 0xFEC8, }, { 0x0639, 0xFEC9, 0xFECA, 0xFECB, 0xFECC, }, { 0x063A, 0xFECD, 0xFECE, 0xFECF, 0xFED0, }, { 0x0640, 0x0640, 0x0640, 0x0640, 0x0640, }, { 0x0641, 0xFED1, 0xFED2, 0xFED3, 0xFED4, }, { 0x0642, 0xFED5, 0xFED6, 0xFED7, 0xFED8, }, { 0x0643, 0xFED9, 0xFEDA, 0xFEDB, 0xFEDC, }, { 0x0644, 0xFEDD, 0xFEDE, 0xFEDF, 0xFEE0, }, { 0x0645, 0xFEE1, 0xFEE2, 0xFEE3, 0xFEE4, }, { 0x0646, 0xFEE5, 0xFEE6, 0xFEE7, 0xFEE8, }, { 0x0647, 0xFEE9, 0xFEEA, 0xFEEB, 0xFEEC, }, { 0x0648, 0xFEED, 0xFEEE, 0x0000, 0x0000, }, { 0x0649, 0xFEEF, 0xFEF0, 0xFBE8, 0xFBE9, }, { 0x064A, 0xFEF1, 0xFEF2, 0xFEF3, 0xFEF4, }, { 0x0671, 0xFB50, 0xFB51, 0x0000, 0x0000, }, { 0x0679, 0xFB66, 0xFB67, 0xFB68, 0xFB69, }, { 0x067A, 0xFB5E, 0xFB5F, 0xFB60, 0xFB61, }, { 0x067B, 0xFB52, 0xFB53, 0xFB54, 0xFB55, }, { 0x067E, 0xFB56, 0xFB57, 0xFB58, 0xFB59, }, { 0x067F, 0xFB62, 0xFB63, 0xFB64, 0xFB65, }, { 0x0680, 0xFB5A, 0xFB5B, 0xFB5C, 0xFB5D, }, { 0x0683, 0xFB76, 0xFB77, 0xFB78, 0xFB79, }, { 0x0684, 0xFB72, 0xFB73, 0xFB74, 0xFB75, }, { 0x0686, 0xFB7A, 0xFB7B, 0xFB7C, 0xFB7D, }, { 0x0687, 0xFB7E, 0xFB7F, 0xFB80, 0xFB81, }, { 0x0688, 0xFB88, 0xFB89, 0x0000, 0x0000, }, { 0x068C, 0xFB84, 0xFB85, 0x0000, 0x0000, }, { 0x068D, 0xFB82, 0xFB83, 0x0000, 0x0000, }, { 0x068E, 0xFB86, 0xFB87, 0x0000, 0x0000, }, { 0x0691, 0xFB8C, 0xFB8D, 0x0000, 0x0000, }, { 0x0698, 0xFB8A, 0xFB8B, 0x0000, 0x0000, }, { 0x06A4, 0xFB6A, 0xFB6B, 0xFB6C, 0xFB6D, }, { 0x06A6, 0xFB6E, 0xFB6F, 0xFB70, 0xFB71, }, { 0x06A9, 0xFB8E, 0xFB8F, 0xFB90, 0xFB91, }, { 0x06AD, 0xFBD3, 0xFBD4, 0xFBD5, 0xFBD6, }, { 0x06AF, 0xFB92, 0xFB93, 0xFB94, 0xFB95, }, { 0x06B1, 0xFB9A, 0xFB9B, 0xFB9C, 0xFB9D, }, { 0x06B3, 0xFB96, 0xFB97, 0xFB98, 0xFB99, }, { 0x06BB, 0xFBA0, 0xFBA1, 0xFBA2, 0xFBA3, }, { 0x06BE, 0xFBAA, 0xFBAB, 0xFBAC, 0xFBAD, }, { 0x06C0, 0xFBA4, 0xFBA5, 0x0000, 0x0000, }, { 0x06C1, 0xFBA6, 0xFBA7, 0xFBA8, 0xFBA9, }, { 0x06C5, 0xFBE0, 0xFBE1, 0x0000, 0x0000, }, { 0x06C6, 0xFBD9, 0xFBDA, 0x0000, 0x0000, }, { 0x06C7, 0xFBD7, 0xFBD8, 0x0000, 0x0000, }, { 0x06C8, 0xFBDB, 0xFBDC, 0x0000, 0x0000, }, { 0x06C9, 0xFBE2, 0xFBE3, 0x0000, 0x0000, }, { 0x06CB, 0xFBDE, 0xFBDF, 0x0000, 0x0000, }, { 0x06CC, 0xFBFC, 0xFBFD, 0xFBFE, 0xFBFF, }, { 0x06D0, 0xFBE4, 0xFBE5, 0xFBE6, 0xFBE7, }, { 0x06D2, 0xFBAE, 0xFBAF, 0x0000, 0x0000, }, { 0x06D3, 0xFBB0, 0xFBB1, 0x0000, 0x0000, }, }; static arabic_comb_t arabic_comb_table[] = { { 0x0644, 0x0622, 0xFEF5, 0xFEF6, }, { 0x0644, 0x0623, 0xFEF7, 0xFEF8, }, { 0x0644, 0x0625, 0xFEF9, 0xFEFA, }, { 0x0644, 0x0627, 0xFEFB, 0xFEFC, }, }; /* --- static functions --- */ static arabic_present_t *get_arabic_present(vt_char_t *ch) { u_int16_t code; int count; if (vt_char_cs(ch) == ISO10646_UCS4_1) { code = vt_char_code(ch); } else { return NULL; } for (count = 0; count < sizeof(arabic_present_table) / sizeof(arabic_present_table[0]); count++) { if (arabic_present_table[count].base_arabic == code) { return &arabic_present_table[count]; } } return NULL; } /* --- global functions --- */ /* * 'src' characters are right to left (visual) order. */ u_int vt_shape_arabic(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len) { int count; arabic_present_t **list; u_int16_t code; vt_char_t *comb; vt_char_t *cur; vt_char_t *next; /* the same as 'prev' in logical order */ u_int size; if ((list = alloca(sizeof(arabic_present_t*) * (src_len + 2))) == NULL) { return 0; } /* head is NULL */ *(list++) = NULL; for (count = 0; count < src_len; count++) { list[count] = get_arabic_present(&src[count]); } /* tail is NULL */ list[count] = NULL; cur = src; if (src_len <= 1) { next = NULL; } else { next = cur + 1; } for (count = 0; count < src_len && count < dst_len; count++) { comb = vt_get_combining_chars(cur, &size); if (comb && (code = vt_is_arabic_combining(count + 1 >= src_len ? NULL : &src[count + 1], vt_get_base_char(cur), comb))) { vt_char_copy(&dst[count], vt_get_base_char(cur)); vt_char_set_code(&dst[count], code); } else if (list[count]) { #if 0 /* * Tanween characters combining their proceeded characters will * be ignored by vt_get_base_char(cur). */ vt_char_copy(&dst[count], vt_get_base_char(cur)); #else vt_char_copy(&dst[count], cur); #endif if (list[count - 1] && list[count - 1]->right_joining_present) { if ((list[count + 1] && list[count + 1]->left_joining_present) && !(next && (comb = vt_get_combining_chars(next, &size)) && vt_is_arabic_combining(count + 2 >= src_len ? NULL : &src[count + 2], vt_get_base_char(next), comb))) { if (list[count]->both_joining_present) { code = list[count]->both_joining_present; } else if (list[count]->left_joining_present) { code = list[count]->left_joining_present; } else if (list[count]->right_joining_present) { code = list[count]->right_joining_present; } else { code = list[count]->no_joining_present; } } else if (list[count]->left_joining_present) { code = list[count]->left_joining_present; } else { code = list[count]->no_joining_present; } } else if ((list[count + 1] && list[count + 1]->left_joining_present) && !(next && (comb = vt_get_combining_chars(next, &size)) && vt_is_arabic_combining(count + 2 >= src_len ? NULL : &src[count + 2], vt_get_base_char(next), comb))) { if (list[count]->right_joining_present) { code = list[count]->right_joining_present; } else { code = list[count]->no_joining_present; } } else { code = list[count]->no_joining_present; } if (code) { vt_char_set_code(&dst[count], code); } } else { vt_char_copy(&dst[count], cur); } cur = next; next++; } return count; } u_int16_t vt_is_arabic_combining(vt_char_t *prev2, /* can be NULL */ vt_char_t *prev, /* must be ISO10646_UCS4_1 character */ vt_char_t *ch /* must be ISO10646_UCS4_1 character */ ) { vt_char_t *seq[4]; /* reverse order */ u_int16_t ucs_seq[4]; /* reverse order */ int count; int prev2_is_comb; arabic_present_t *prev2_present; seq[0] = ch; seq[1] = prev; seq[2] = prev2; seq[3] = NULL; if (prev2) { vt_char_t *comb; u_int size; prev2_present = get_arabic_present(prev2); if ((comb = vt_get_combining_chars(prev2, &size))) { seq[3] = vt_get_base_char(prev2); seq[2] = comb; } } else { prev2_present = NULL; } for (count = 0; count < 4; count++) { if (seq[count] && vt_char_cs(seq[count]) == ISO10646_UCS4_1) { ucs_seq[count] = vt_char_code(seq[count]); } else if (count < 2) { /* Ignore the previous combinational/two characters */ return 0; } else { ucs_seq[count] = 0; } } prev2_is_comb = 0; if (seq[3] && prev2_present) { /* See if the current character was proceeded by combinational character */ for (count = 0; count < sizeof(arabic_comb_table) / sizeof(arabic_comb_table[0]); count++) { if ((ucs_seq[3] == arabic_comb_table[count].first && ucs_seq[2] == arabic_comb_table[count].second)) { prev2_is_comb = 1; break; } } } /* Shape the current combinational character */ for (count = 0; count < sizeof(arabic_comb_table) / sizeof(arabic_comb_table[0]); count++) { if (ucs_seq[1] == arabic_comb_table[count].first && ucs_seq[0] == arabic_comb_table[count].second) { if (!prev2_is_comb && prev2_present && prev2_present->left_joining_present) { return arabic_comb_table[count].comb_right; } else { return arabic_comb_table[count].comb; } } } return 0; } mlterm-3.8.4/vtemu/libctl/vt_shape_iscii.c010064400017600000144000000061751321054731100173000ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../vt_shape.h" #include /* alloca */ #include /* bl_msg_printf */ #include "vt_iscii.h" /* --- global functions --- */ u_int vt_shape_iscii(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len) { int src_pos; u_int dst_filled; u_char *iscii_buf; u_int iscii_filled; u_char *font_buf; u_int font_filled; vt_char_t *ch; vt_char_t *dst_shaped; u_int count; ef_charset_t cs; if ((iscii_buf = alloca(src_len * (MAX_COMB_SIZE + 1))) == NULL) { return 0; } #define DST_LEN (dst_len * (MAX_COMB_SIZE + 1)) if ((font_buf = alloca(DST_LEN)) == NULL) { return 0; } dst_filled = 0; iscii_filled = 0; dst_shaped = NULL; cs = UNKNOWN_CS; for (src_pos = 0; src_pos < src_len; src_pos++) { ch = &src[src_pos]; if (cs != vt_char_cs(ch)) { if (iscii_filled) { iscii_buf[iscii_filled] = '\0'; font_filled = vt_iscii_shape(cs, font_buf, DST_LEN, iscii_buf); /* * If EOL char is a iscii byte which presents two glyphs and * its second glyph is out of screen, 'font_filled' is greater * than 'dst + dst_len - dst_shaped'. */ if (font_filled > dst + dst_len - dst_shaped) { font_filled = dst + dst_len - dst_shaped; } #ifdef __DEBUG { int i; for (i = 0; i < iscii_filled; i++) { bl_msg_printf("%.2x ", iscii_buf[i]); } bl_msg_printf("=>\n"); for (i = 0; i < font_filled; i++) { bl_msg_printf("%.2x ", font_buf[i]); } bl_msg_printf("\n"); } #endif for (count = 0; count < font_filled; count++) { vt_char_set_code(dst_shaped++, font_buf[count]); } iscii_filled = 0; dst_shaped = NULL; } } cs = vt_char_cs(ch); if (IS_ISCII(cs)) { vt_char_t *comb; u_int comb_size; if (dst_shaped == NULL) { dst_shaped = &dst[dst_filled]; } if (!vt_char_is_null(ch)) { iscii_buf[iscii_filled++] = vt_char_code(ch); comb = vt_get_combining_chars(ch, &comb_size); for (count = 0; count < comb_size; count++) { iscii_buf[iscii_filled++] = vt_char_code(&comb[count]); } } vt_char_copy(&dst[dst_filled++], vt_get_base_char(ch)); if (dst_filled >= dst_len) { break; } } else { vt_char_copy(&dst[dst_filled++], ch); if (dst_filled >= dst_len) { return dst_filled; } } } if (iscii_filled) { iscii_buf[iscii_filled] = '\0'; font_filled = vt_iscii_shape(cs, font_buf, DST_LEN, iscii_buf); /* * If EOL char is a iscii byte which presents two glyphs and its second * glyph is out of screen, 'font_filled' is greater then * 'dst + dst_len - dst_shaped'. */ if (font_filled > dst + dst_len - dst_shaped) { font_filled = dst + dst_len - dst_shaped; } for (count = 0; count < font_filled; count++) { vt_char_set_code(dst_shaped + count, font_buf[count]); } } return dst_filled; } mlterm-3.8.4/vtemu/libctl/vt_bidi.c010064400017600000144000000205111321054731100157150ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_bidi.h" #include /* memset */ #include /* isalpha */ #include #include /* alloca/realloc/free */ #include #if 0 #define __DEBUG #endif #define DIR_LTR_MARK 0x200e #define DIR_RTL_MARK 0x200f /* --- global functions --- */ vt_bidi_state_t vt_bidi_new(void) { vt_bidi_state_t state; if ((state = malloc(sizeof(*state))) == NULL) { return NULL; } state->visual_order = NULL; state->size = 0; state->rtl_state = 0; state->bidi_mode = BIDI_NORMAL_MODE; return state; } int vt_bidi_delete(vt_bidi_state_t state) { free(state->visual_order); free(state); return 1; } /* * Don't call this functions with type_p == FRIBIDI_TYPE_ON and size == cur_pos. */ static void log2vis(FriBidiChar *str, u_int size, FriBidiCharType *type_p, vt_bidi_mode_t bidi_mode, FriBidiStrIndex *order, u_int cur_pos, int append) { FriBidiCharType type; u_int pos; if (size > cur_pos) { if (bidi_mode == BIDI_ALWAYS_RIGHT) { type = FRIBIDI_TYPE_RTL; } else if (bidi_mode == BIDI_ALWAYS_LEFT) { type = FRIBIDI_TYPE_LTR; } else { type = FRIBIDI_TYPE_ON; } fribidi_log2vis(str + cur_pos, size - cur_pos, &type, NULL, order + cur_pos, NULL, NULL); if (*type_p == FRIBIDI_TYPE_ON) { *type_p = type; } } else { /* * This functions is never called if type_p == FRIBIDI_TYPE_ON and * size == cur_pos. */ type = *type_p; } if (*type_p == FRIBIDI_TYPE_LTR) { if (type == FRIBIDI_TYPE_RTL) { /* * (Logical) "LLL/RRRNNN " ('/' is a separator) * ^-> endsp * => (Visual) "LLL/ NNNRRR" => "LLL/NNNRRR " */ u_int endsp_num; for (pos = size; pos > cur_pos; pos--) { if (str[pos - 1] != ' ') { break; } order[pos - 1] = pos - 1; } endsp_num = size - pos; for (pos = cur_pos; pos < size - endsp_num; pos++) { order[pos] = order[pos] + cur_pos - endsp_num; } } else if (cur_pos > 0) { for (pos = cur_pos; pos < size; pos++) { order[pos] += cur_pos; } } if (append) { order[size] = size; } } else /* if( *type_p == FRIBIDI_TYPE_RTL) */ { if (cur_pos > 0) { for (pos = 0; pos < cur_pos; pos++) { order[pos] += (size - cur_pos); } } if (type == FRIBIDI_TYPE_LTR) { /* * (Logical) "RRRNNN/LLL " ('/' is a separator) * ^-> endsp * => (Visual) "LLL /NNNRRR" => " LLL/NNNRRR" */ u_int endsp_num; for (pos = size; pos > cur_pos; pos--) { if (str[pos - 1] != ' ') { break; } order[pos - 1] = size - pos; } endsp_num = size - pos; for (pos = cur_pos; pos < size - endsp_num; pos++) { order[pos] += endsp_num; } } if (append) { for (pos = 0; pos < size; pos++) { order[pos]++; } order[size] = 0; } } } static void log2log(FriBidiStrIndex *order, u_int cur_pos, u_int size) { u_int pos; for (pos = cur_pos; pos < size; pos++) { order[pos] = pos; } } int vt_bidi(vt_bidi_state_t state, vt_char_t *src, u_int size, vt_bidi_mode_t bidi_mode, const char *separators) { FriBidiChar *fri_src; FriBidiCharType fri_type; FriBidiStrIndex *fri_order; int had_rtl; u_int cur_pos; ef_charset_t cs; u_int32_t code; u_int count; int ret; had_rtl = HAS_RTL(state); state->rtl_state = 0; if (size == 0) { state->size = 0; return 1; } if ((fri_src = alloca(sizeof(FriBidiChar) * size)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } if ((fri_order = alloca(sizeof(FriBidiStrIndex) * size)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } fri_type = FRIBIDI_TYPE_ON; if (bidi_mode == BIDI_ALWAYS_RIGHT) { SET_HAS_RTL(state); } for (count = 0, cur_pos = 0; count < size; count++) { cs = vt_char_cs(&src[count]); code = vt_char_code(&src[count]); if (cs == US_ASCII) { if (!isalpha(code)) { if (vt_get_picture_char(&src[count])) { fri_src[count] = 'a'; } else if (separators && strchr(separators, code)) { if (HAS_RTL(state)) { log2vis(fri_src, count, &fri_type, bidi_mode, fri_order, cur_pos, 1); } else { fri_type = FRIBIDI_TYPE_LTR; log2log(fri_order, cur_pos, count + 1); } cur_pos = count + 1; } else { fri_src[count] = code; } } else { fri_src[count] = code; } } else if (cs == ISO10646_UCS4_1) { if (0x2500 <= code && code <= 0x259f) { goto decsp; } else { fri_src[count] = code; if (!HAS_RTL(state) && (fribidi_get_type(fri_src[count]) & FRIBIDI_MASK_RTL)) { SET_HAS_RTL(state); } } } else if (cs == DEC_SPECIAL) { decsp: fri_type = FRIBIDI_TYPE_LTR; if (HAS_RTL(state)) { log2vis(fri_src, count, &fri_type, bidi_mode, fri_order, cur_pos, 1); } else { log2log(fri_order, cur_pos, count + 1); } cur_pos = count + 1; } else if (IS_ISCII(cs)) { return -2; } else { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %x is not ucs.\n", cs); #endif /* * Regarded as NEUTRAL character. */ fri_src[count] = ' '; } } if (HAS_RTL(state)) { log2vis(fri_src, size, &fri_type, bidi_mode, fri_order, cur_pos, 0); count = 0; if (state->size != size) { void *p; if (!(p = realloc(state->visual_order, sizeof(u_int16_t) * size))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc() failed.\n"); #endif state->size = 0; return 0; } state->visual_order = p; state->size = size; ret = 2; /* order is changed */ } else { ret = 1; /* order is not changed */ for (; count < size; count++) { if (state->visual_order[count] != fri_order[count]) { ret = 2; /* order_is_changed */ break; } } } for (; count < size; count++) { state->visual_order[count] = fri_order[count]; } #ifdef __DEBUG bl_msg_printf("utf8 text => \n"); for (count = 0; count < size; count++) { bl_msg_printf("%.4x ", fri_src[count]); } bl_msg_printf("\n"); bl_msg_printf("visual order => "); for (count = 0; count < size; count++) { bl_msg_printf("%.2d ", state->visual_order[count]); } bl_msg_printf("\n"); #endif #ifdef DEBUG for (count = 0; count < size; count++) { if (state->visual_order[count] >= size) { bl_warn_printf(BL_DEBUG_TAG " visual order(%d) of %d is illegal.\n", state->visual_order[count], count); bl_msg_printf("returned order => "); for (count = 0; count < size; count++) { bl_msg_printf("%d ", state->visual_order[count]); } bl_msg_printf("\n"); abort(); } } #endif } else { state->size = 0; if (had_rtl) { ret = 2; /* order is changed */ } else { ret = 1; /* order is not changed */ } } if (fri_type == FRIBIDI_TYPE_RTL) { SET_BASE_RTL(state); } state->bidi_mode = bidi_mode; return (state->size == 0) ? -1 : ret; } int vt_bidi_copy(vt_bidi_state_t dst, vt_bidi_state_t src, int optimize) { u_int16_t *p; if (optimize && !HAS_RTL(src)) { vt_bidi_delete(dst); return -1; } else if (src->size == 0) { free(dst->visual_order); p = NULL; } else if ((p = realloc(dst->visual_order, sizeof(u_int16_t) * src->size))) { memcpy(p, src->visual_order, sizeof(u_int16_t) * src->size); } else { return 0; } dst->visual_order = p; dst->size = src->size; dst->rtl_state = src->rtl_state; dst->bidi_mode = src->bidi_mode; return 1; } int vt_bidi_reset(vt_bidi_state_t state) { state->size = 0; return 1; } u_int32_t vt_bidi_get_mirror_char(u_int32_t ch) { FriBidiChar mirror; if (fribidi_get_mirror_char(ch, &mirror)) { return mirror; } else { return 0; } } int vt_is_rtl_char(u_int32_t ch) { return (fribidi_get_bidi_type(ch) & FRIBIDI_MASK_RTL) == FRIBIDI_MASK_RTL; } mlterm-3.8.4/vtemu/libctl/Makefile.in010064400017600000144000000037031321054731100162020ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/vtemu/libctl CFLAGS = $(CFLAGS_LOCAL) @DEB_CFLAGS@ @POBL_CFLAGS@ @MEF_CFLAGS@ \ @FRIBIDI_CFLAGS@ @IND_CFLAGS@ @CTL_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \ -I/usr/local/include -DLIBDIR=\"$(libdir)\" \ LIBS = $(LIBS_LOCAL) @LPOBL@ LIBS_BIDI = @FRIBIDI_LIBS@ LIBS_ISCII = ../../libind/indian.lo ../../libind/keyboard.lo ../../libind/lex.split.lo BIDI_OBJ = vt_bidi.o vt_line_bidi.o vt_shape_bidi.o ISCII_OBJ = vt_iscii.o vt_line_iscii.o vt_shape_iscii.o CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: @CTL_LIBS@ libctl_bidi.la: $(BIDI_OBJ) vt_functbl_bidi.o $(LIBTOOL_LINK) -o libctl_bidi.la $(BIDI_OBJ:.o=.lo) vt_functbl_bidi.lo \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ @DEXPORT@ ../@LMLTERM_CORE@ \ $(LIBS) $(LIBS_BIDI) libctl_iscii.la: $(ISCII_OBJ) vt_functbl_iscii.o $(LIBTOOL_LINK) -o libctl_iscii.la $(ISCII_OBJ:.o=.lo) vt_functbl_iscii.lo \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ @DEXPORT@ ../@LMLTERM_CORE@ \ $(LIBS) $(LIBS_ISCII) libctl_bidi.a: $(BIDI_OBJ) $(LIBTOOL_LINK) -o libctl_bidi.a $(BIDI_OBJ:.o=.lo) libctl_iscii.a: $(ISCII_OBJ) $(LIBTOOL_LINK) -o libctl_iscii.a $(ISCII_OBJ:.o=.lo) $(LIBS_ISCII) .SUFFIXES: .o .c .c.o: $(LIBTOOL_CC) -c $(CFLAGS) $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) if test "`echo @CTL_LIBS@|grep .la`" != "" ; then \ $(LIBTOOL_INSTALL) @CTL_LIBS@ $(LIBDIR) ; \ fi uninstall: rm -f $(LIBDIR)/*ctl_bidi.* $(LIBDIR)/*ctl_iscii.* clean: rm -rf $(BIDI_OBJ) $(BIDI_OBJ:.o=.lo) $(ISCII_OBJ) $(ISCII_OBJ:.o=.lo) \ vt_functbl_*.o vt_functbl_*.lo libctl_bidi.* libctl_iscii.* .libs distclean: clean rm -f Makefile mlterm-3.8.4/vtemu/cygfile.c010064400017600000144000000024341321054731100144520ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #if defined(__CYGWIN__) || defined(__MSYS__) #include #include #include /* bl_conv_to_win32_path */ /* --- global functions --- */ HANDLE cygfopen(const char *path, const char *mode) { char winpath[MAX_PATH]; HANDLE file; if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) < 0) { return NULL; } if (*mode == 'a') { file = CreateFileA(winpath, FILE_APPEND_DATA, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); } else /* if( *mode == 'w') */ { file = CreateFileA(winpath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); } if (file == INVALID_HANDLE_VALUE) { return NULL; } else { return file; } } int cygfclose(HANDLE file) { CloseHandle(file); return 0; } size_t cygfwrite(const void *ptr, size_t size, size_t nmemb, HANDLE file) { DWORD written; if (WriteFile(file, ptr, size * nmemb, &written, NULL)) { return written; } else { return 0; } } #ifdef __DEBUG void main(void) { HANDLE file = cygfopen("test.log", "w"); cygfwrite("aaa\n", 1, 4, file); cygfclose(file); file = cygfopen("test.log", "a"); cygfwrite("bbb\n", 1, 4, file); cygfclose(file); } #endif #endif mlterm-3.8.4/vtemu/cygfile.h010064400017600000144000000007031321054731100144540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __CYGFILE_H__ #define __CYGFILE_H__ #define FILE void #define fopen(path, mode) cygfopen(path, mode) #define fclose(file) cygfclose(file) #define fwrite(ptr, size, nmemb, file) cygfwrite(ptr, size, nmemb, file) void *cygfopen(const char *path, const char *mode); int cygfclose(void *file); size_t cygfwrite(const void *ptr, size_t size, size_t nmemb, void *file); #endif mlterm-3.8.4/vtemu/vt_bidi.h010064400017600000144000000006631321054731100144570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_BIDI_H__ #define __VT_BIDI_H__ #include /* u_int */ typedef enum { BIDI_NORMAL_MODE = 0, BIDI_ALWAYS_LEFT = 1, BIDI_ALWAYS_RIGHT = 2, BIDI_MODE_MAX, } vt_bidi_mode_t; typedef struct vt_bidi_state *vt_bidi_state_t; vt_bidi_mode_t vt_get_bidi_mode(const char *name); char *vt_get_bidi_mode_name(vt_bidi_mode_t mode); #endif mlterm-3.8.4/vtemu/vt_char.c010064400017600000144000000575761321054731100144770ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_char.h" #include /* memset/memcpy */ #include #include /* K_MIN */ #include /* malloc */ #define LINE_STYLE(attr) (((attr) >> 19) & 0xf) #define IS_UNICODE_AREA_CS(attr) ((attr) & (0x1 << 17)) /* Combination of IS_ITALIC, IS_BOLD, IS_FULLWIDTH, CS_REVISION_1 and * CHARSET(UNICODE AREA) */ #define VTFONT(attr) \ IS_UNICODE_AREA_CS(attr) \ ? ((((attr) >> 5) & 0xf00) | ISO10646_UCS4_1 | (((attr) << 7) & 0xff000)) \ : (((attr) >> 5) & 0xfff) #define IS_BLINKING(attr) ((attr) & (0x1 << 18)) #define IS_ITALIC(attr) ((attr) & (0x1 << 16)) #define IS_BOLD(attr) ((attr) & (0x1 << 15)) #define IS_FULLWIDTH(attr) ((attr) & (0x1 << 14)) #define CHARSET(attr) \ IS_UNICODE_AREA_CS(attr) ? (ISO10646_UCS4_1 | (((attr) >> 5) & 0x100)) : (((attr) >> 5) & 0x1ff) #define IS_REVERSED(attr) ((attr) & (0x1 << 4)) #define REVERSE_COLOR(attr) ((attr) |= (0x1 << 4)) #define RESTORE_COLOR(attr) ((attr) &= ~(0x1 << 4)) #define IS_PROTECTED(attr) ((attr) & (0x1 << 3)) #define IS_COMB(attr) ((attr) & (0x1 << 2)) #define IS_COMB_TRAILING(attr) ((attr) & (0x1 << 1)) #define SET_COMB_TRAILING(attr) ((attr) |= (0x1 << 1)) #define UNSET_COMB_TRAILING(attr) ((attr) &= 0xfffffd) #define IS_SINGLE_CH(attr) ((attr)&0x1) #define USE_MULTI_CH(attr) ((attr) &= 0xfffffe) #define UNUSE_MULTI_CH(attr) ((attr) |= 0x1) #define COMPOUND_ATTR(charset, is_fullwidth, is_bold, is_italic, is_unicode_area_cs, \ line_style, is_blinking, is_protected, is_comb) \ (((line_style) << 19) | ((is_blinking) << 18) | ((is_unicode_area_cs) << 17) | \ ((is_italic) << 16) | ((is_bold) << 15) | ((is_fullwidth) << 14) | ((charset) << 5) | \ ((is_protected) << 3) | ((is_comb) << 2) | 0x1) /* --- static variables --- */ static int use_multi_col_char = 1; static struct { u_int32_t min; u_int32_t max; } * unicode_areas; static u_int num_unicode_areas; static u_int unicode_area_min; static u_int unicode_area_max; static int blink_visible = 1; /* --- static functions --- */ inline static u_int get_comb_size(vt_char_t *multi_ch) { u_int size; size = 0; while (IS_COMB_TRAILING(multi_ch->u.ch.attr)) { size++; multi_ch++; } return size; } static vt_char_t *new_comb(vt_char_t *ch, u_int *comb_size_ptr) { vt_char_t *multi_ch; u_int comb_size; if (IS_SINGLE_CH(ch->u.ch.attr)) { if (ch->u.ch.cols == 0) { /* * Zero width characters must not be combined to * show string like U+09b0 + U+200c + U+09cd + U+09af correctly. */ return NULL; } if ((multi_ch = malloc(sizeof(vt_char_t) * 2)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } #ifndef __GLIBC__ if (sizeof(multi_ch) >= 8 && ((long)(multi_ch)&0x1UL) != 0) { bl_msg_printf( "Your malloc() doesn't return 2 bits aligned address." "Character combining is not supported.\n"); return NULL; } #endif vt_char_init(multi_ch); vt_char_copy(multi_ch, ch); comb_size = 1; if (comb_size > 10) { abort(); } } else { if (ch->u.multi_ch->u.ch.cols == 0) { /* * Zero width characters must not be combined to * show string like U+09b0 + U+200c + U+09cd + U+09af correctly. */ return NULL; } if ((comb_size = get_comb_size(ch->u.multi_ch)) >= MAX_COMB_SIZE) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " This char is already combined by %d chars, so no more combined.\n", comb_size); #endif return NULL; } if ((multi_ch = realloc(ch->u.multi_ch, sizeof(vt_char_t) * (comb_size + 2))) == NULL) { return NULL; } #ifndef __GLIBC__ if (sizeof(multi_ch) >= 8 && ((long)(multi_ch)&0x1UL) != 0) { bl_msg_printf( "Your malloc() doesn't return 2 bits aligned address." "Character combining is not supported.\n"); return 0; } #endif comb_size++; } SET_COMB_TRAILING((multi_ch[comb_size - 1]).u.ch.attr); ch->u.multi_ch = multi_ch; USE_MULTI_CH(ch->u.ch.attr); /* necessary for 64bit big endian */ *comb_size_ptr = comb_size; return multi_ch + comb_size; } #ifdef USE_NORMALIZE #include int vt_normalize(u_int16_t *str, int num); static void normalize(vt_char_t *ch, u_int comb_size) { u_int16_t *str; if ((str = alloca(sizeof(*str) * (comb_size + 1)))) { vt_char_t *multi_ch; u_int count; multi_ch = ch->u.multi_ch; for (count = 0; count < comb_size + 1; count++) { str[count] = vt_char_code(multi_ch + count); } if (vt_normalize(str, comb_size + 1) == 1) { *ch = *multi_ch; ch->u.ch.code = str[0]; UNSET_COMB_TRAILING(ch->u.ch.attr); free(multi_ch); } } } #endif /* --- global functions --- */ void vt_set_use_multi_col_char(int use_it) { use_multi_col_char = use_it; } int vt_get_unicode_area(vt_font_t font, int *min, int *max) { u_int idx; if (/* FONT_CS(font) == ISO10646_UCS4_1 && */ (idx = UNICODE_AREA(font)) && idx <= num_unicode_areas) { *min = unicode_areas[idx - 1].min; *max = unicode_areas[idx - 1].max; return 1; } else { return 0; } } vt_font_t vt_get_unicode_area_font(u_int32_t min, /* min <= max */ u_int32_t max /* min <= max */) { u_int idx; void *p; for (idx = num_unicode_areas; idx > 0; idx--) { if (min == unicode_areas[idx - 1].min && max == unicode_areas[idx - 1].max) { return ISO10646_UCS4_1 | (idx << 12); } } if (num_unicode_areas == 255 /* Max is 2^8-1 */ || !(p = realloc(unicode_areas, sizeof(*unicode_areas) * (num_unicode_areas + 1)))) { bl_msg_printf("No more unicode areas.\n"); return UNKNOWN_CS; } if (num_unicode_areas == 0) { unicode_area_min = min; unicode_area_max = max; } else { if (unicode_area_min > min) { unicode_area_min = min; } if (unicode_area_max < max) { unicode_area_max = max; } } unicode_areas = p; unicode_areas[num_unicode_areas].min = min; unicode_areas[num_unicode_areas++].max = max; return ISO10646_UCS4_1 | (num_unicode_areas << 12); } void vt_set_blink_chars_visible(int visible) { blink_visible = visible; } /* * character functions */ void vt_char_init(vt_char_t *ch) { if (sizeof(vt_char_t *) != sizeof(vt_char_t)) { /*ILP32*/ memset(ch, 0, sizeof(vt_char_t)); /* set u.ch.is_single_ch */ ch->u.ch.attr = 0x1; } else { /*LP64*/ /* LSB of multi_ch must be "is_single_ch" */ ch->u.multi_ch = (vt_char_t *)0x1; } } void vt_char_final(vt_char_t *ch) { if (!IS_SINGLE_CH(ch->u.ch.attr)) { free(ch->u.multi_ch); } } void vt_char_set(vt_char_t *ch, u_int32_t code, ef_charset_t cs, int is_fullwidth, int is_comb, vt_color_t fg_color, vt_color_t bg_color, int is_bold, int is_italic, int line_style, int is_blinking, int is_protected) { u_int idx; vt_char_final(ch); ch->u.ch.code = code; if (unicode_area_min <= code && cs == ISO10646_UCS4_1 && code <= unicode_area_max) { /* * If code == 0, unicode_area_max == 0 and unicode_area_min == 0, * enter this block unexpectedly, but harmless. */ for (idx = num_unicode_areas; idx > 0; idx--) { if (unicode_areas[idx - 1].min <= code && code <= unicode_areas[idx - 1].max) { cs = idx; break; } } } else { idx = 0; } #if 1 /* * 0 should be returned for all zero-width characters of Unicode, * but 0 is returned for following characters alone for now. * 200C;ZERO WIDTH NON-JOINER * 200D;ZERO WIDTH JOINER * 200E;LEFT-TO-RIGHT MARK * 200F;RIGHT-TO-LEFT MARK * 202A;LEFT-TO-RIGHT EMBEDDING * 202B;RIGHT-TO-LEFT EMBEDDING * 202C;POP DIRECTIONAL FORMATTING * 202D;LEFT-TO-RIGHT OVERRIDE * 202E;RIGHT-TO-LEFT OVERRIDE * * see is_noconv_unicode() in vt_parser.c */ if ((code & ~0x2f) == 0x2000 /* 0x2000-0x2000f or 0x2020-0x202f */ && cs == ISO10646_UCS4_1 && ((0x200c <= code && code <= 0x200f) || (0x202a <= code && code <= 0x202e))) { ch->u.ch.cols = 0; } else { ch->u.ch.cols = is_fullwidth ? 2 : 1; } #endif ch->u.ch.attr = COMPOUND_ATTR(cs, is_fullwidth != 0, is_bold != 0, is_italic != 0, idx > 0, line_style, is_blinking != 0, is_protected != 0, is_comb != 0); ch->u.ch.fg_color = fg_color; ch->u.ch.bg_color = bg_color; } void vt_char_change_attr(vt_char_t *ch, int is_bold, /* 0: don't change, 1: set, -1: unset */ int is_italic, /* 0: don't change, 1: set, -1: unset */ int underline_style, /* 0: don't change, 1,2: set, -1: unset */ int is_blinking, /* 0: don't change, 1: set, -1: unset */ int is_reversed, /* 0: don't change, 1: set, -1: unset */ int is_crossed_out, /* 0: don't change, 1: set, -1: unset */ int is_overlined /* 0: don't change, 1: set, -1: unset */) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr)) { int line_style = LINE_STYLE(attr); if (is_overlined) { if (is_overlined > 0) { line_style |= LS_OVERLINE; } else { line_style &= ~LS_OVERLINE; } } if (is_crossed_out) { if (is_crossed_out > 0) { line_style |= LS_CROSSED_OUT; } else { line_style &= ~LS_CROSSED_OUT; } } if (underline_style) { line_style &= ~LS_UNDERLINE; if (underline_style > 0) { line_style |= underline_style; } } ch->u.ch.attr = COMPOUND_ATTR(CHARSET(attr), IS_FULLWIDTH(attr) != 0, is_bold ? is_bold > 0 : IS_BOLD(attr) != 0, is_italic ? is_italic > 0 : IS_ITALIC(attr) != 0, IS_UNICODE_AREA_CS(attr) != 0, line_style, is_blinking ? is_blinking > 0 : IS_BLINKING(attr) != 0, IS_PROTECTED(attr) != 0, IS_COMB(attr) != 0) | (is_reversed ? (is_reversed > 0 ? IS_REVERSED(0xffffff) : IS_REVERSED(0)) : IS_REVERSED(attr)); } } void vt_char_reverse_attr(vt_char_t *ch, int bold, int italic, int underline_style, int blinking, int reversed, int crossed_out, int overlined) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr)) { int line_style = LINE_STYLE(attr); if (overlined) { if (line_style & LS_OVERLINE) { line_style &= ~LS_OVERLINE; } else { line_style |= LS_OVERLINE; } } if (crossed_out) { if (line_style & LS_CROSSED_OUT) { line_style &= ~LS_CROSSED_OUT; } else { line_style |= LS_CROSSED_OUT; } } if (underline_style) { if (line_style & LS_UNDERLINE) { line_style &= ~LS_UNDERLINE; } else { line_style = (line_style & ~LS_UNDERLINE) | (underline_style > 0 ? underline_style : LS_UNDERLINE_SINGLE); } } ch->u.ch.attr = COMPOUND_ATTR(CHARSET(attr), IS_FULLWIDTH(attr) != 0, bold ? !IS_BOLD(attr) : IS_BOLD(attr) != 0, italic ? !IS_ITALIC(attr) : IS_ITALIC(attr) != 0, IS_UNICODE_AREA_CS(attr) != 0, line_style, blinking ? !IS_BLINKING(attr) : IS_BLINKING(attr) != 0, IS_PROTECTED(attr) != 0, IS_COMB(attr) != 0) | (reversed ? (IS_REVERSED(attr) ? IS_REVERSED(0) : IS_REVERSED(0xffffff)) : IS_REVERSED(attr)); } } vt_char_t *vt_char_combine(vt_char_t *ch, u_int32_t code, ef_charset_t cs, int is_fullwidth, int is_comb, vt_color_t fg_color, vt_color_t bg_color, int is_bold, int is_italic, int line_style, int is_blinking, int is_protected) { vt_char_t *comb; u_int comb_size; /* * This check should be excluded, because characters whose is_comb flag * (combining property of mef) is NULL can be combined * if vt_is_arabic_combining(them) returns non-NULL. */ #if 0 if (!is_comb) { return NULL; } #endif #ifdef DEBUG if (!IS_ISCII(vt_char_cs(ch)) && IS_ISCII(cs)) { bl_debug_printf(BL_DEBUG_TAG " combining iscii char to non-iscii char.\n"); } #endif if (!(comb = new_comb(ch, &comb_size))) { return NULL; } vt_char_init(comb); vt_char_set(comb, code, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected); #ifdef USE_NORMALIZE normalize(ch, comb_size); #endif return comb; } vt_char_t *vt_char_combine_simple(vt_char_t *ch, vt_char_t *src) { vt_char_t *comb; u_int comb_size; /* * This check should be excluded, because characters whose is_comb flag * (combining property of mef) is NULL can be combined * if vt_is_arabic_combining(them) returns non-NULL. */ #if 0 if (!is_comb) { return NULL; } #endif if (!(comb = new_comb(ch, &comb_size))) { return NULL; } *comb = *src; UNSET_COMB_TRAILING(comb->u.ch.attr); #ifdef USE_NORMALIZE normalize(ch, comb_size); #endif return comb; } vt_char_t *vt_get_base_char(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return ch; } else { return ch->u.multi_ch; } } vt_char_t *vt_get_combining_chars(vt_char_t *ch, u_int *size) { if (IS_SINGLE_CH(ch->u.ch.attr)) { *size = 0; return NULL; } else { *size = get_comb_size(ch->u.multi_ch); return ch->u.multi_ch + 1; } } vt_char_t *vt_get_picture_char(vt_char_t *ch) { if (!IS_SINGLE_CH(ch->u.ch.attr)) { ch = ch->u.multi_ch; if (IS_COMB_TRAILING(ch->u.ch.attr) && CHARSET(ch[1].u.ch.attr) == PICTURE_CHARSET) { return ch + 1; } } return NULL; } /* * Not used for now. */ #if 0 int vt_char_move(vt_char_t *dst, vt_char_t *src) { if (dst == src) { return 0; } vt_char_final(dst); memcpy(dst, src, sizeof(vt_char_t)); #if 0 /* invalidated src */ vt_char_init(src); #endif return 1; } #endif int vt_char_copy(vt_char_t *dst, vt_char_t *src) { if (dst == src) { return 0; } vt_char_final(dst); memcpy(dst, src, sizeof(vt_char_t)); if (!IS_SINGLE_CH(src->u.ch.attr)) { vt_char_t *multi_ch; u_int comb_size; comb_size = get_comb_size(src->u.multi_ch); if ((multi_ch = malloc(sizeof(vt_char_t) * (comb_size + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " failed to malloc.\n"); #endif return 0; } memcpy(multi_ch, src->u.multi_ch, sizeof(vt_char_t) * (comb_size + 1)); dst->u.multi_ch = multi_ch; USE_MULTI_CH(dst->u.ch.attr); /* necessary for 64bit big endian */ } return 1; } u_int32_t vt_char_code(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return ch->u.ch.code; } else { return vt_char_code(ch->u.multi_ch); } } void vt_char_set_code(vt_char_t *ch, u_int32_t code) { if (IS_SINGLE_CH(ch->u.ch.attr)) { ch->u.ch.code = code; } else { vt_char_set_code(ch->u.multi_ch, code); } } ef_charset_t vt_char_cs(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return CHARSET(ch->u.ch.attr); } else { return vt_char_cs(ch->u.multi_ch); } } int vt_char_set_cs(vt_char_t *ch, ef_charset_t cs) { if (IS_SINGLE_CH(ch->u.ch.attr)) { if (IS_UNICODE_AREA_CS(ch->u.ch.attr)) { if (cs == ISO10646_UCS4_1_V) { ch->u.ch.attr |= (0x100 << 5); } else /* if( cs == ISO10646_UCS4_1) */ { ch->u.ch.attr &= ~(0x100 << 5); } } else { ch->u.ch.attr &= ~(MAX_CHARSET << 5); /* ~0x1ff (vt_font.h) */ ch->u.ch.attr |= (cs << 5); } } else { vt_char_set_cs(ch->u.multi_ch, cs); } return 1; } vt_font_t vt_char_font(vt_char_t *ch) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr)) { return VTFONT(attr); } else { return vt_char_font(ch->u.multi_ch); } } /* * Return the number of columns when ch is shown in the screen. * (If vt_char_cols(ch) returns 0, nothing is shown in the screen.) */ u_int vt_char_cols(vt_char_t *ch) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr)) { if (!use_multi_col_char) { return ch->u.ch.cols ? 1 : 0; } else { return ch->u.ch.cols; } } else { return vt_char_cols(ch->u.multi_ch); } } /* * 'use_multi_col_char' not concerned. */ int vt_char_is_fullwidth(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return IS_FULLWIDTH(ch->u.ch.attr); } else { return vt_char_is_fullwidth(ch->u.multi_ch); } } int vt_char_is_comb(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return IS_COMB(ch->u.ch.attr); } else { return vt_char_is_comb(ch->u.multi_ch); } } vt_color_t vt_char_fg_color(vt_char_t *ch) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr)) { if (IS_REVERSED(attr)) { return (!IS_BLINKING(attr) || blink_visible) ? ch->u.ch.bg_color : ch->u.ch.fg_color; } else { return (!IS_BLINKING(attr) || blink_visible) ? ch->u.ch.fg_color : ch->u.ch.bg_color; } } else { return vt_char_fg_color(ch->u.multi_ch); } } void vt_char_set_fg_color(vt_char_t *ch, vt_color_t color) { if (IS_SINGLE_CH(ch->u.ch.attr)) { ch->u.ch.fg_color = color; } else { u_int count; u_int comb_size; comb_size = get_comb_size(ch->u.multi_ch); for (count = 0; count < comb_size + 1; count++) { #ifdef DEBUG if (CHARSET(ch->u.multi_ch[count].u.ch.attr) == ISO10646_UCS4_1_V) { bl_debug_printf(BL_DEBUG_TAG " Don't change bg_color" " of ISO10646_UCS4_1_V char after shaped.\n"); } #endif vt_char_set_fg_color(ch->u.multi_ch + count, color); } } } vt_color_t vt_char_bg_color(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return IS_REVERSED(ch->u.ch.attr) ? ch->u.ch.fg_color : ch->u.ch.bg_color; } else { return vt_char_bg_color(ch->u.multi_ch); } } void vt_char_set_bg_color(vt_char_t *ch, vt_color_t color) { if (IS_SINGLE_CH(ch->u.ch.attr)) { ch->u.ch.bg_color = color; } else { u_int count; u_int comb_size; comb_size = get_comb_size(ch->u.multi_ch); for (count = 0; count < comb_size + 1; count++) { #ifdef DEBUG if (CHARSET(ch->u.multi_ch[count].u.ch.attr) == ISO10646_UCS4_1_V) { bl_debug_printf(BL_DEBUG_TAG " Don't change bg_color" " of ISO10646_UCS4_1_V char after shaped.\n"); } #endif vt_char_set_bg_color(ch->u.multi_ch + count, color); } } } int vt_char_get_offset(vt_char_t *ch) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr) && CHARSET(attr) == ISO10646_UCS4_1_V) { int8_t offset; offset = ch->u.ch.bg_color; /* unsigned -> signed */ return offset; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " vt_char_get_position() accepts " "ISO10646_UCS4_1_V char alone, but received %x charset.\n", vt_char_cs(ch)); #endif return 0; } } u_int vt_char_get_width(vt_char_t *ch) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr) && CHARSET(attr) == ISO10646_UCS4_1_V) { return ch->u.ch.fg_color; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " vt_char_get_width() accepts " "ISO10646_UCS4_1_V char alone, but received %x charset.\n", vt_char_cs(ch)); #endif return 0; } } int vt_char_set_position(vt_char_t *ch, u_int8_t offset, /* signed -> unsigned */ u_int8_t width) { u_int attr; attr = ch->u.ch.attr; if (IS_SINGLE_CH(attr) && CHARSET(attr) == ISO10646_UCS4_1_V) { ch->u.ch.bg_color = offset; ch->u.ch.fg_color = width; return 1; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " vt_char_set_position() accepts " "ISO10646_UCS4_1_V char alone, but received %x charset.\n", vt_char_cs(ch)); #endif return 0; } } int vt_char_line_style(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return LINE_STYLE(ch->u.ch.attr); } else { return vt_char_line_style(ch->u.multi_ch); } } int vt_char_is_blinking(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return IS_BLINKING(ch->u.ch.attr); } else { return vt_char_is_blinking(ch->u.multi_ch); } } int vt_char_is_protected(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return IS_PROTECTED(ch->u.ch.attr); } else { return vt_char_is_protected(ch->u.multi_ch); } } int vt_char_reverse_color(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { if (IS_REVERSED(ch->u.ch.attr)) { return 0; } REVERSE_COLOR(ch->u.ch.attr); return 1; } else { u_int count; u_int comb_size; comb_size = get_comb_size(ch->u.multi_ch); for (count = 0; count < comb_size + 1; count++) { vt_char_reverse_color(ch->u.multi_ch + count); } return 1; } } int vt_char_restore_color(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { if (!IS_REVERSED(ch->u.ch.attr)) { return 0; } RESTORE_COLOR(ch->u.ch.attr); return 1; } else { u_int count; u_int comb_size; comb_size = get_comb_size(ch->u.multi_ch); for (count = 0; count < comb_size + 1; count++) { vt_char_restore_color(ch->u.multi_ch + count); } return 1; } } int vt_char_is_null(vt_char_t *ch) { if (IS_SINGLE_CH(ch->u.ch.attr)) { return ch->u.ch.code == 0; } else { return vt_char_is_null(ch->u.multi_ch); } } /* * XXX * Returns inaccurate result in dealing with combined characters. * Even if they have the same code, false is returned since * vt_char_t:multi_ch-s never point the same address.) */ int vt_char_equal(vt_char_t *ch1, vt_char_t *ch2) { return memcmp(ch1, ch2, sizeof(vt_char_t)) == 0; } int vt_char_code_is(vt_char_t *ch, u_int32_t code, ef_charset_t cs) { if (IS_SINGLE_CH(ch->u.ch.attr)) { /* * XXX * gcc 4.8.2 output codes to cause unexpected result without * () before and after &&. */ if ((CHARSET(ch->u.ch.attr) == cs) && (ch->u.ch.code == code)) { return 1; } else { return 0; } } else { return vt_char_code_is(ch->u.multi_ch, code, cs); } } int vt_char_code_equal(vt_char_t *ch1, vt_char_t *ch2) { vt_char_t *comb1; vt_char_t *comb2; u_int comb1_size; u_int comb2_size; u_int count; if (vt_char_code(ch1) != vt_char_code(ch2)) { return 0; } comb1 = vt_get_combining_chars(ch1, &comb1_size); comb2 = vt_get_combining_chars(ch2, &comb2_size); if (comb1_size != comb2_size) { return 0; } for (count = 0; count < comb1_size; count++) { if (comb1[count].u.ch.code != comb2[count].u.ch.code) { return 0; } } return 1; } vt_char_t *vt_sp_ch(void) { static vt_char_t sp_ch; if (sp_ch.u.ch.attr == 0) { vt_char_init(&sp_ch); vt_char_set(&sp_ch, ' ', US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); } return &sp_ch; } vt_char_t *vt_nl_ch(void) { static vt_char_t nl_ch; if (nl_ch.u.ch.attr == 0) { vt_char_init(&nl_ch); vt_char_set(&nl_ch, '\n', US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); } return &nl_ch; } #ifdef DEBUG #if 0 #define DUMP_HEX #endif /* * for debugging. */ void vt_char_dump(vt_char_t *ch) { u_int comb_size; vt_char_t *comb_chars; #ifdef DUMP_HEX bl_msg_printf("[%.4x]", vt_char_code(ch)); #else if (vt_char_code(ch) >= 0x100) { if (vt_char_cs(ch) == JISX0208_1983) { /* only eucjp */ bl_msg_printf("%c%c", ((vt_char_code(ch) >> 8) & 0xff) | 0x80, (vt_char_code(ch) & 0xff) | 0x80); } else { bl_msg_printf("**"); } } else { bl_msg_printf("%c", vt_char_code(ch)); } #endif comb_chars = vt_get_combining_chars(ch, &comb_size); for (; comb_size > 0; comb_size--) { vt_char_dump(comb_chars++); } } #endif mlterm-3.8.4/vtemu/vt_char.h010064400017600000144000000143421321054731100144640ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_CHAR_H__ #define __VT_CHAR_H__ #include #include /* WORDS_BIGENDIAN */ #include /* ef_charset_t */ #include "vt_font.h" #include "vt_color.h" #define MAX_COMB_SIZE 7 /* Used in vt_shape.c,x_screen.c,vt_screen.c */ #define UTF_MAX_SIZE 6 /* see skk/dict.c */ /* * XXX * char prefixes are max 4 bytes. * additional 3 bytes + cs name len ("viscii1.1-1" is max 11 bytes) = * 14 bytes for iso2022 extension. * char length is max 2 bytes. * (total 20 bytes) */ #define XCT_MAX_SIZE 20 #define VTCHAR_UTF_MAX_SIZE (UTF_MAX_SIZE * (MAX_COMB_SIZE + 1)) #define VTCHAR_XCT_MAX_SIZE (XCT_MAX_SIZE * (MAX_COMB_SIZE + 1)) /* For inline pictures (see x_picture.c) */ #define PICTURE_CHARSET 0x1ff #define PICTURE_ID_BITS 9 /* fg or bg color */ #define PICTURE_POS_BITS 23 /* code (Can be shrunk to 21 bits) */ #define LS_UNDERLINE (LS_UNDERLINE_SINGLE|LS_UNDERLINE_DOUBLE) typedef enum { LS_NOLINE = 0x0, LS_UNDERLINE_SINGLE = 0x1, LS_UNDERLINE_DOUBLE = 0x2, LS_OVERLINE = 0x4, LS_CROSSED_OUT = 0x8, } vt_line_style_t; /* * This object size should be kept as small as possible. * (ILP32: 64bit) (LP64: 64bit) * * If LSB of vt_char_t.u.ch.attr is 0, * vt_char_t.u.ch is invalid. * vt_char_t.u.multi_ch -> vt_char_t [main char] * -> vt_char_t [first combining char] * -> vt_char_t [second combining char] * ..... */ typedef struct vt_char { union { struct { /* * attr member contents. * Total 23 bit * 4 bit : vt_char_attr_line_style_t * 1 bit : is_blinking(0 or 1) * 1 bit : is unicode area cs(0 or 1) * 1 bit : is_italic(0 or 1) -+ * 1 bit : is_bold(0 or 1) |__\ vt_font_t * 1 bit : is_fullwidth(0 or 1) | * 9 bit : charset(0x0 - 0x1ff) or -+ * 1 bit: CS_REVISION_1(ISO10646_UCS4_1_V(*)) * 8 bit: unicode area id * 1 bit : is_reversed(0 or 1) ... used for X Selection * 1 bit : is_protected(0 or 1) * 1 bit : is_comb(0 or 1) * 1 bit : is_comb_trailing(0 or 1) * --- * 1 bit : is_single_ch(0 or 1) * * (*) ISO10646_UCS4_1_V is set during being shaped. * (See vt_shape.c and vt_char_set_cs()) */ #ifdef WORDS_BIGENDIAN u_int code : 21; /* * cols = 0 or 1 or 2 * * XXX 'cols == 2' equals to 'is_fullwidth == 1', so there is room to * improve efficiency of memory. */ u_int cols : 2; u_int fg_color : 9; u_int bg_color : 9; u_int attr : 21; #else u_int attr : 23; u_int fg_color : 9; u_int bg_color : 9; /* * cols = 0 or 1 or 2 * * XXX 'cols == 2' equals to 'is_fullwidth == 1', so there is room to * improve efficiency of memory. */ u_int cols : 2; u_int code : 21; #endif } ch; /* * 32 bits(on ILP32) or 64 bits(on LP64). * LSB(used for is_single_ch) is considered 0. */ struct vt_char *multi_ch; } u; } vt_char_t; void vt_set_use_multi_col_char(int use_it); int vt_get_unicode_area(vt_font_t font, int *min, int *max); vt_font_t vt_get_unicode_area_font(u_int32_t min, u_int32_t max); void vt_set_blink_chars_visible(int visible); void vt_char_init(vt_char_t *ch); void vt_char_final(vt_char_t *ch); void vt_char_set(vt_char_t *ch, u_int32_t code, ef_charset_t cs, int is_fullwidth, int is_comb, vt_color_t fg_color, vt_color_t bg_color, int is_bold, int is_italic, int line_style, int is_blinking, int is_protected); void vt_char_change_attr(vt_char_t *ch, int is_bold, int is_italic, int underline_style, int is_blinking, int is_reversed, int crossed_out, int is_overlined); void vt_char_reverse_attr(vt_char_t *ch, int bold, int italic, int underline_style, int blinking, int reversed, int crossed_out, int overlined); vt_char_t *vt_char_combine(vt_char_t *ch, u_int32_t code, ef_charset_t cs, int is_fullwidth, int is_comb, vt_color_t fg_color, vt_color_t bg_color, int is_bold, int is_italic, int line_style, int is_blinking, int is_protected); /* set both fg and bg colors for reversing. */ #define vt_char_combine_picture(ch, id, pos) \ vt_char_combine(ch, pos, PICTURE_CHARSET, 0, 0, id, id, 0, 0, 0, 0, 0) vt_char_t *vt_char_combine_simple(vt_char_t *ch, vt_char_t *comb); vt_char_t *vt_get_base_char(vt_char_t *ch); vt_char_t *vt_get_combining_chars(vt_char_t *ch, u_int *size); vt_char_t *vt_get_picture_char(vt_char_t *ch); #if 0 /* * Not used for now. */ int vt_char_move(vt_char_t *dst, vt_char_t *src); #endif int vt_char_copy(vt_char_t *dst, vt_char_t *src); u_int32_t vt_char_code(vt_char_t *ch); void vt_char_set_code(vt_char_t *ch, u_int32_t code); ef_charset_t vt_char_cs(vt_char_t *ch); int vt_char_set_cs(vt_char_t *ch, ef_charset_t cs); int vt_char_is_comb(vt_char_t *ch); vt_font_t vt_char_font(vt_char_t *ch); u_int vt_char_cols(vt_char_t *ch); int vt_char_is_fullwidth(vt_char_t *ch); vt_color_t vt_char_fg_color(vt_char_t *ch); void vt_char_set_fg_color(vt_char_t *ch, vt_color_t color); #define vt_char_picture_id(ch) vt_char_fg_color(ch) #define vt_char_set_picture_id(ch, idx) vt_char_set_fg_color(ch, idx) vt_color_t vt_char_bg_color(vt_char_t *ch); void vt_char_set_bg_color(vt_char_t *ch, vt_color_t color); int vt_char_get_offset(vt_char_t *ch); u_int vt_char_get_width(vt_char_t *ch); int vt_char_set_position(vt_char_t *ch, u_int8_t offset, u_int8_t width); int vt_char_line_style(vt_char_t *ch); int vt_char_is_blinking(vt_char_t *ch); int vt_char_is_protected(vt_char_t *ch); int vt_char_reverse_color(vt_char_t *ch); int vt_char_restore_color(vt_char_t *ch); int vt_char_is_null(vt_char_t *ch); int vt_char_equal(vt_char_t *ch1, vt_char_t *ch2); int vt_char_code_is(vt_char_t *ch, u_int32_t code, ef_charset_t cs); int vt_char_code_equal(vt_char_t *ch1, vt_char_t *ch2); vt_char_t *vt_sp_ch(void); vt_char_t *vt_nl_ch(void); #ifdef DEBUG void vt_char_dump(vt_char_t *ch); #endif #endif mlterm-3.8.4/vtemu/vt_char_encoding.h010064400017600000144000000070621321054731100163330ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_CHAR_ENCODING_H__ #define __VT_CHAR_ENCODING_H__ #include /* u_char */ #include #include /* * Supported encodings are those which are not conflicted with US_ASCII. * So , UCS-2, UCS-4 etc encodings are not supported. */ typedef enum vt_char_encoding { VT_UNKNOWN_ENCODING = -1, VT_ISO8859_1 = 0, VT_ISO8859_2, VT_ISO8859_3, VT_ISO8859_4, VT_ISO8859_5, VT_ISO8859_6, VT_ISO8859_7, VT_ISO8859_8, VT_ISO8859_9, VT_ISO8859_10, VT_TIS620, VT_ISO8859_13, VT_ISO8859_14, VT_ISO8859_15, VT_ISO8859_16, VT_TCVN5712, VT_ISCII_ASSAMESE, VT_ISCII_BENGALI, VT_ISCII_GUJARATI, VT_ISCII_HINDI, VT_ISCII_KANNADA, VT_ISCII_MALAYALAM, VT_ISCII_ORIYA, VT_ISCII_PUNJABI, VT_ISCII_TELUGU, VT_VISCII, VT_KOI8_R, VT_KOI8_U, VT_KOI8_T, VT_GEORGIAN_PS, VT_CP1250, VT_CP1251, VT_CP1252, VT_CP1253, VT_CP1254, VT_CP1255, VT_CP1256, VT_CP1257, VT_CP1258, VT_CP874, VT_UTF8, VT_EUCJP, VT_EUCJISX0213, VT_ISO2022JP, VT_ISO2022JP2, VT_ISO2022JP3, VT_SJIS, VT_SJISX0213, VT_EUCKR, VT_UHC, VT_JOHAB, VT_ISO2022KR, VT_BIG5, VT_EUCTW, VT_BIG5HKSCS, VT_EUCCN, VT_GBK, VT_GB18030, VT_HZ, VT_ISO2022CN, MAX_CHAR_ENCODINGS } vt_char_encoding_t; #define IS_ISO8859_VARIANT(encoding) (VT_ISO8859_1 <= (encoding) && (encoding) <= VT_TCVN5712) #define IS_8BIT_ENCODING(encoding) (VT_ISO8859_1 <= (encoding) && (encoding) <= VT_CP874) #define IS_ENCODING_BASED_ON_ISO2022(encoding) \ (IS_ISO8859_VARIANT(encoding) || (VT_EUCJP <= (encoding) && (encoding) <= VT_ISO2022JP3) || \ VT_EUCKR == (encoding) || VT_ISO2022KR == (encoding) || VT_EUCTW == (encoding) || \ VT_ISO2022CN == (encoding) || VT_EUCCN == (encoding)) /* ISO2022KR is subset and EUC-TW is not subset */ #define IS_UCS_SUBSET_ENCODING(encoding) \ ((encoding) != VT_ISO2022JP && (encoding) != VT_ISO2022JP2 && (encoding) != VT_ISO2022JP3 && \ (encoding) != VT_ISO2022CN && (encoding) != VT_EUCTW) /* 0x0 - 0x7f is not necessarily US-ASCII */ #define IS_STATEFUL_ENCODING(encoding) \ ((encoding) == VT_ISO2022JP || (encoding) == VT_ISO2022JP2 || (encoding) == VT_ISO2022JP3 || \ (encoding) == VT_ISO2022KR || (encoding) == VT_ISO2022CN || (encoding) == VT_HZ) #define IS_ISCII_ENCODING(encoding) \ (VT_ISCII_ASSAMESE <= (encoding) && (encoding) <= VT_ISCII_TELUGU) char *vt_get_char_encoding_name(vt_char_encoding_t encoding); vt_char_encoding_t vt_get_char_encoding(const char *name); ef_parser_t *vt_char_encoding_parser_new(vt_char_encoding_t encoding); ef_conv_t *vt_char_encoding_conv_new(vt_char_encoding_t encoding); int vt_is_msb_set(ef_charset_t cs); size_t vt_char_encoding_convert(u_char *dst, size_t dst_len, vt_char_encoding_t dst_encoding, u_char *src, size_t src_len, vt_char_encoding_t src_encoding); size_t vt_char_encoding_convert_with_parser(u_char *dst, size_t dst_len, vt_char_encoding_t dst_encoding, ef_parser_t *parser); int vt_parse_unicode_area(const char *str, u_int *min, u_int *max); u_char vt_convert_ucs_to_decsp(u_int16_t ucs); u_int16_t vt_convert_decsp_to_ucs(u_char decsp); void vt_char_encoding_conv_set_use_loose_rule(ef_conv_t *conv, vt_char_encoding_t encoding, int flag); #endif mlterm-3.8.4/vtemu/vt_color.c010064400017600000144000000573431321054731100146700ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_color.h" #include /* sscanf */ #include /* strcmp */ #include #include #include #include #include #include /* strdup */ typedef struct rgb { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; } rgb_t; BL_MAP_TYPEDEF(color_rgb, vt_color_t, rgb_t); /* --- static variables --- */ static char *color_name_table[] = { "hl_black", "hl_red", "hl_green", "hl_yellow", "hl_blue", "hl_magenta", "hl_cyan", "hl_white", }; static u_int8_t vtsys_color_rgb_table[][3] = { {0x00, 0x00, 0x00}, {0xcd, 0x00, 0x00}, {0x00, 0xcd, 0x00}, {0xcd, 0xcd, 0x00}, {0x00, 0x00, 0xee}, {0xcd, 0x00, 0xcd}, {0x00, 0xcd, 0xcd}, {0xe5, 0xe5, 0xe5}, {0x7f, 0x7f, 0x7f}, {0xff, 0x00, 0x00}, {0x00, 0xff, 0x00}, {0xff, 0xff, 0x00}, {0x5c, 0x5c, 0xff}, {0xff, 0x00, 0xff}, {0x00, 0xff, 0xff}, {0xff, 0xff, 0xff}, }; #if 0 static u_int8_t color256_rgb_table[][3] = { /* CUBE COLOR(0x10-0xe7) */ {0x00, 0x00, 0x00}, {0x00, 0x00, 0x5f}, {0x00, 0x00, 0x87}, {0x00, 0x00, 0xaf}, {0x00, 0x00, 0xd7}, {0x00, 0x00, 0xff}, {0x00, 0x5f, 0x00}, {0x00, 0x5f, 0x5f}, {0x00, 0x5f, 0x87}, {0x00, 0x5f, 0xaf}, {0x00, 0x5f, 0xd7}, {0x00, 0x5f, 0xff}, {0x00, 0x87, 0x00}, {0x00, 0x87, 0x5f}, {0x00, 0x87, 0x87}, {0x00, 0x87, 0xaf}, {0x00, 0x87, 0xd7}, {0x00, 0x87, 0xff}, {0x00, 0xaf, 0x00}, {0x00, 0xaf, 0x5f}, {0x00, 0xaf, 0x87}, {0x00, 0xaf, 0xaf}, {0x00, 0xaf, 0xd7}, {0x00, 0xaf, 0xff}, {0x00, 0xd7, 0x00}, {0x00, 0xd7, 0x5f}, {0x00, 0xd7, 0x87}, {0x00, 0xd7, 0xaf}, {0x00, 0xd7, 0xd7}, {0x00, 0xd7, 0xff}, {0x00, 0xff, 0x00}, {0x00, 0xff, 0x5f}, {0x00, 0xff, 0x87}, {0x00, 0xff, 0xaf}, {0x00, 0xff, 0xd7}, {0x00, 0xff, 0xff}, {0x5f, 0x00, 0x00}, {0x5f, 0x00, 0x5f}, {0x5f, 0x00, 0x87}, {0x5f, 0x00, 0xaf}, {0x5f, 0x00, 0xd7}, {0x5f, 0x00, 0xff}, {0x5f, 0x5f, 0x00}, {0x5f, 0x5f, 0x5f}, {0x5f, 0x5f, 0x87}, {0x5f, 0x5f, 0xaf}, {0x5f, 0x5f, 0xd7}, {0x5f, 0x5f, 0xff}, {0x5f, 0x87, 0x00}, {0x5f, 0x87, 0x5f}, {0x5f, 0x87, 0x87}, {0x5f, 0x87, 0xaf}, {0x5f, 0x87, 0xd7}, {0x5f, 0x87, 0xff}, {0x5f, 0xaf, 0x00}, {0x5f, 0xaf, 0x5f}, {0x5f, 0xaf, 0x87}, {0x5f, 0xaf, 0xaf}, {0x5f, 0xaf, 0xd7}, {0x5f, 0xaf, 0xff}, {0x5f, 0xd7, 0x00}, {0x5f, 0xd7, 0x5f}, {0x5f, 0xd7, 0x87}, {0x5f, 0xd7, 0xaf}, {0x5f, 0xd7, 0xd7}, {0x5f, 0xd7, 0xff}, {0x5f, 0xff, 0x00}, {0x5f, 0xff, 0x5f}, {0x5f, 0xff, 0x87}, {0x5f, 0xff, 0xaf}, {0x5f, 0xff, 0xd7}, {0x5f, 0xff, 0xff}, {0x87, 0x00, 0x00}, {0x87, 0x00, 0x5f}, {0x87, 0x00, 0x87}, {0x87, 0x00, 0xaf}, {0x87, 0x00, 0xd7}, {0x87, 0x00, 0xff}, {0x87, 0x5f, 0x00}, {0x87, 0x5f, 0x5f}, {0x87, 0x5f, 0x87}, {0x87, 0x5f, 0xaf}, {0x87, 0x5f, 0xd7}, {0x87, 0x5f, 0xff}, {0x87, 0x87, 0x00}, {0x87, 0x87, 0x5f}, {0x87, 0x87, 0x87}, {0x87, 0x87, 0xaf}, {0x87, 0x87, 0xd7}, {0x87, 0x87, 0xff}, {0x87, 0xaf, 0x00}, {0x87, 0xaf, 0x5f}, {0x87, 0xaf, 0x87}, {0x87, 0xaf, 0xaf}, {0x87, 0xaf, 0xd7}, {0x87, 0xaf, 0xff}, {0x87, 0xd7, 0x00}, {0x87, 0xd7, 0x5f}, {0x87, 0xd7, 0x87}, {0x87, 0xd7, 0xaf}, {0x87, 0xd7, 0xd7}, {0x87, 0xd7, 0xff}, {0x87, 0xff, 0x00}, {0x87, 0xff, 0x5f}, {0x87, 0xff, 0x87}, {0x87, 0xff, 0xaf}, {0x87, 0xff, 0xd7}, {0x87, 0xff, 0xff}, {0xaf, 0x00, 0x00}, {0xaf, 0x00, 0x5f}, {0xaf, 0x00, 0x87}, {0xaf, 0x00, 0xaf}, {0xaf, 0x00, 0xd7}, {0xaf, 0x00, 0xff}, {0xaf, 0x5f, 0x00}, {0xaf, 0x5f, 0x5f}, {0xaf, 0x5f, 0x87}, {0xaf, 0x5f, 0xaf}, {0xaf, 0x5f, 0xd7}, {0xaf, 0x5f, 0xff}, {0xaf, 0x87, 0x00}, {0xaf, 0x87, 0x5f}, {0xaf, 0x87, 0x87}, {0xaf, 0x87, 0xaf}, {0xaf, 0x87, 0xd7}, {0xaf, 0x87, 0xff}, {0xaf, 0xaf, 0x00}, {0xaf, 0xaf, 0x5f}, {0xaf, 0xaf, 0x87}, {0xaf, 0xaf, 0xaf}, {0xaf, 0xaf, 0xd7}, {0xaf, 0xaf, 0xff}, {0xaf, 0xd7, 0x00}, {0xaf, 0xd7, 0x5f}, {0xaf, 0xd7, 0x87}, {0xaf, 0xd7, 0xaf}, {0xaf, 0xd7, 0xd7}, {0xaf, 0xd7, 0xff}, {0xaf, 0xff, 0x00}, {0xaf, 0xff, 0x5f}, {0xaf, 0xff, 0x87}, {0xaf, 0xff, 0xaf}, {0xaf, 0xff, 0xd7}, {0xaf, 0xff, 0xff}, {0xd7, 0x00, 0x00}, {0xd7, 0x00, 0x5f}, {0xd7, 0x00, 0x87}, {0xd7, 0x00, 0xaf}, {0xd7, 0x00, 0xd7}, {0xd7, 0x00, 0xff}, {0xd7, 0x5f, 0x00}, {0xd7, 0x5f, 0x5f}, {0xd7, 0x5f, 0x87}, {0xd7, 0x5f, 0xaf}, {0xd7, 0x5f, 0xd7}, {0xd7, 0x5f, 0xff}, {0xd7, 0x87, 0x00}, {0xd7, 0x87, 0x5f}, {0xd7, 0x87, 0x87}, {0xd7, 0x87, 0xaf}, {0xd7, 0x87, 0xd7}, {0xd7, 0x87, 0xff}, {0xd7, 0xaf, 0x00}, {0xd7, 0xaf, 0x5f}, {0xd7, 0xaf, 0x87}, {0xd7, 0xaf, 0xaf}, {0xd7, 0xaf, 0xd7}, {0xd7, 0xaf, 0xff}, {0xd7, 0xd7, 0x00}, {0xd7, 0xd7, 0x5f}, {0xd7, 0xd7, 0x87}, {0xd7, 0xd7, 0xaf}, {0xd7, 0xd7, 0xd7}, {0xd7, 0xd7, 0xff}, {0xd7, 0xff, 0x00}, {0xd7, 0xff, 0x5f}, {0xd7, 0xff, 0x87}, {0xd7, 0xff, 0xaf}, {0xd7, 0xff, 0xd7}, {0xd7, 0xff, 0xff}, {0xff, 0x00, 0x00}, {0xff, 0x00, 0x5f}, {0xff, 0x00, 0x87}, {0xff, 0x00, 0xaf}, {0xff, 0x00, 0xd7}, {0xff, 0x00, 0xff}, {0xff, 0x5f, 0x00}, {0xff, 0x5f, 0x5f}, {0xff, 0x5f, 0x87}, {0xff, 0x5f, 0xaf}, {0xff, 0x5f, 0xd7}, {0xff, 0x5f, 0xff}, {0xff, 0x87, 0x00}, {0xff, 0x87, 0x5f}, {0xff, 0x87, 0x87}, {0xff, 0x87, 0xaf}, {0xff, 0x87, 0xd7}, {0xff, 0x87, 0xff}, {0xff, 0xaf, 0x00}, {0xff, 0xaf, 0x5f}, {0xff, 0xaf, 0x87}, {0xff, 0xaf, 0xaf}, {0xff, 0xaf, 0xd7}, {0xff, 0xaf, 0xff}, {0xff, 0xd7, 0x00}, {0xff, 0xd7, 0x5f}, {0xff, 0xd7, 0x87}, {0xff, 0xd7, 0xaf}, {0xff, 0xd7, 0xd7}, {0xff, 0xd7, 0xff}, {0xff, 0xff, 0x00}, {0xff, 0xff, 0x5f}, {0xff, 0xff, 0x87}, {0xff, 0xff, 0xaf}, {0xff, 0xff, 0xd7}, {0xff, 0xff, 0xff}, /* GRAY SCALE COLOR(0xe8-0xff) */ {0x08, 0x08, 0x08}, {0x12, 0x12, 0x12}, {0x1c, 0x1c, 0x1c}, {0x26, 0x26, 0x26}, {0x30, 0x30, 0x30}, {0x3a, 0x3a, 0x3a}, {0x44, 0x44, 0x44}, {0x4e, 0x4e, 0x4e}, {0x58, 0x58, 0x58}, {0x62, 0x62, 0x62}, {0x6c, 0x6c, 0x6c}, {0x76, 0x76, 0x76}, {0x80, 0x80, 0x80}, {0x8a, 0x8a, 0x8a}, {0x94, 0x94, 0x94}, {0x9e, 0x9e, 0x9e}, {0xa8, 0xa8, 0xa8}, {0xb2, 0xb2, 0xb2}, {0xbc, 0xbc, 0xbc}, {0xc6, 0xc6, 0xc6}, {0xd0, 0xd0, 0xd0}, {0xda, 0xda, 0xda}, {0xe4, 0xe4, 0xe4}, {0xee, 0xee, 0xee}, }; #endif static char *color_file = "mlterm/color"; static BL_MAP(color_rgb) color_config; static u_int num_changed_256_colors; static struct { u_int is_changed : 1; u_int mark : 7; u_int8_t red; u_int8_t green; u_int8_t blue; } * ext_color_table; static u_int ext_color_mark = 1; static int color_distance_threshold = COLOR_DISTANCE_THRESHOLD; static int use_pseudo_color = 0; /* --- static functions --- */ static void get_default_rgb(vt_color_t color, /* is 255 or less */ u_int8_t *red, u_int8_t *green, u_int8_t *blue) { if (IS_VTSYS_COLOR(color)) { *red = vtsys_color_rgb_table[color][0]; *green = vtsys_color_rgb_table[color][1]; *blue = vtsys_color_rgb_table[color][2]; } else if (color <= 0xe7) { u_int8_t tmp; tmp = (color - 0x10) % 6; *blue = tmp ? (tmp * 40 + 55) & 0xff : 0; tmp = ((color - 0x10) / 6) % 6; *green = tmp ? (tmp * 40 + 55) & 0xff : 0; tmp = ((color - 0x10) / 36) % 6; *red = tmp ? (tmp * 40 + 55) & 0xff : 0; } else /* if( color >= 0xe8) */ { u_int8_t tmp; tmp = (color - 0xe8) * 10 + 8; *blue = tmp; *green = tmp; *red = tmp; } } static BL_PAIR(color_rgb) get_color_rgb_pair(vt_color_t color) { BL_PAIR(color_rgb) pair; bl_map_get(color_config, color, pair); return pair; } static int color_config_set_rgb(vt_color_t color, /* is 255 or less */ u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha) { BL_PAIR(color_rgb) pair; int result; rgb_t rgb; rgb.red = red; rgb.green = green; rgb.blue = blue; rgb.alpha = alpha; if ((pair = get_color_rgb_pair(color))) { u_int8_t r; u_int8_t g; u_int8_t b; if (pair->value.red == red && pair->value.green == green && pair->value.blue == blue && pair->value.alpha == alpha) { /* Not changed */ #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " color %d rgb(%02x%02x%02x%02x) not changed.\n", color, red, green, blue, alpha); #endif return 0; } get_default_rgb(color, &r, &g, &b); if (r == red && g == green && b == blue && alpha == 0xff) { if (IS_256_COLOR(color)) { num_changed_256_colors--; } bl_map_erase_simple(result, color_config, color); } else { pair->value = rgb; } return 1; } else { u_int8_t r; u_int8_t g; u_int8_t b; /* * The same rgb as the default is rejected in 256 color. * The same rgb as the default is not rejected in sys color * for backward compatibility with 3.1.5 or before. (If rejected, * mlterm -fg hl_white doesn't work even if hl_white is defined * in ~/.mlterm/color.) */ if (IS_256_COLOR(color)) { if (!vt_get_color_rgba(color, &r, &g, &b, NULL)) { return 0; } if (red == r && green == g && blue == b && alpha == 0xff) { /* Not changed */ #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " color %d rgb(%02x%02x%02x%02x) not changed.\n", color, red, green, blue, alpha); #endif return 0; } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " color %d rgb(%02x%02x%02x) changed => %02x%02x%02x.\n", color, r, g, b, red, green, blue); } #endif num_changed_256_colors++; } bl_map_set(result, color_config, color, rgb); return result; } } static int color_config_get_rgb(vt_color_t color, u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */ ) { BL_PAIR(color_rgb) pair; if ((pair = get_color_rgb_pair(color)) == NULL) { return 0; } *red = pair->value.red; *blue = pair->value.blue; *green = pair->value.green; if (alpha) { *alpha = pair->value.alpha; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %d's rgb => %d %d %d\n", color, *red, *blue, *green); #endif return 1; } static int parse_conf(char *color_name, char *rgb) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; vt_color_t color; /* * Illegal color name is rejected. */ if ((color = vt_get_color(color_name)) == VT_UNKNOWN_COLOR) { return 0; } if (*rgb == '\0') { if (!get_color_rgb_pair(color)) { return 0; } else { int result; if (IS_256_COLOR(color)) { num_changed_256_colors--; } bl_map_erase_simple(result, color_config, color); return 1; } } else if (!vt_color_parse_rgb_name(&red, &green, &blue, &alpha, rgb)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " illegal rgblist format (%s,%s)\n", color_name, rgb); #endif return 0; } #ifdef __DEBUG bl_debug_printf("%s(%d) = red %x green %x blue %x\n", color_name, color, red, green, blue); #endif return color_config_set_rgb(color, red, green, blue, alpha); } static void read_conf(const char *filename) { bl_file_t *from; char *color_name; char *rgb; if (!(from = bl_file_open(filename, "r"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return; } while (bl_conf_io_read(from, &color_name, &rgb)) { parse_conf(color_name, rgb); } bl_file_close(from); } /* --- global functions --- */ void vt_set_color_mode(const char *mode) { if (strcmp(mode, "256") == 0) { color_distance_threshold = COLOR_DISTANCE_THRESHOLD; use_pseudo_color = 1; } else { if (strcmp(mode, "true") == 0) { color_distance_threshold = 40; /* 9 + 30 + 1 */ } else /* if( strcmp( mode , "high") == 0 */ { color_distance_threshold = COLOR_DISTANCE_THRESHOLD; } use_pseudo_color = 0; } } char *vt_get_color_mode(void) { if (use_pseudo_color) { return "256"; } else if (color_distance_threshold == 40) { return "true"; } else { return "high"; } } void vt_color_config_init(void) { char *rcpath; bl_map_new_with_size(vt_color_t, rgb_t, color_config, bl_map_hash_int, bl_map_compare_int, 16); if ((rcpath = bl_get_sys_rc_path(color_file))) { read_conf(rcpath); free(rcpath); } if ((rcpath = bl_get_user_rc_path(color_file))) { read_conf(rcpath); free(rcpath); } } void vt_color_config_final(void) { bl_map_delete(color_config); color_config = NULL; } /* * Return value 0 means customization failed or not changed. * Return value -1 means saving failed. */ int vt_customize_color_file(char *color, char *rgb, int save) { if (!color_config || !parse_conf(color, rgb)) { return 0; } if (save) { char *path; bl_conf_write_t *conf; if ((path = bl_get_user_rc_path(color_file)) == NULL) { return -1; } conf = bl_conf_write_open(path); free(path); if (conf == NULL) { return -1; } bl_conf_io_write(conf, color, rgb); bl_conf_write_close(conf); } return 1; } char *vt_get_color_name(vt_color_t color) { if (IS_VTSYS_COLOR(color)) { if (color & VT_BOLD_COLOR_MASK) { return color_name_table[color & ~VT_BOLD_COLOR_MASK]; } else { return color_name_table[color] + 3; } } else if (IS_256_COLOR(color)) { /* XXX Not reentrant */ static char color_name_256[4]; snprintf(color_name_256, sizeof(color_name_256), "%d", color); return color_name_256; } else { return NULL; } } vt_color_t vt_get_color(const char *name) { vt_color_t color; if (sscanf(name, "%d", (int*)&color) == 1) { if (IS_VTSYS256_COLOR(color)) { return color; } } for (color = VT_BLACK; color <= VT_WHITE; color++) { if (strcmp(name, color_name_table[color] + 3) == 0) { return color; } else if (strcmp(name, color_name_table[color]) == 0) { return color | VT_BOLD_COLOR_MASK; } } return VT_UNKNOWN_COLOR; } int vt_get_color_rgba(vt_color_t color, u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */ ) { if (!IS_VALID_COLOR_EXCEPT_SPECIAL_COLORS(color)) { return 0; } if (IS_EXT_COLOR(color)) { if (!ext_color_table || ext_color_table[EXT_COLOR_TO_INDEX(color)].mark == 0) { return 0; } *red = ext_color_table[EXT_COLOR_TO_INDEX(color)].red; *green = ext_color_table[EXT_COLOR_TO_INDEX(color)].green; *blue = ext_color_table[EXT_COLOR_TO_INDEX(color)].blue; } else if (color_config && color_config_get_rgb(color, red, green, blue, alpha)) { return 1; } else { get_default_rgb(color, red, green, blue); } if (alpha) { *alpha = 0xff; } return 1; } int vt_color_parse_rgb_name(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha, const char *name) { int r; int g; int b; int a; size_t name_len; char *format; int has_alpha; int long_color; #if 1 /* Backward compatibility with mlterm-3.1.5 or before. */ if (color_config) { /* If name is defined in ~/.mlterm/color, the defined rgb is returned. */ vt_color_t color; if ((color = vt_get_color(name)) != VT_UNKNOWN_COLOR && color_config_get_rgb(color, red, green, blue, alpha)) { return 1; } } #endif a = 0xffff; has_alpha = 0; long_color = 0; name_len = strlen(name); if (name_len >= 14) { /* * XXX * "RRRR-GGGG-BBBB" length is 14, but 2.4.0 or before accepts * "RRRR-GGGG-BBBB....."(trailing any characters) format and * what is worse "RRRR-GGGG-BBBB;" appears in etc/color sample file. * So, more than 14 length is also accepted for backward compatiblity. */ if (sscanf(name, "%4x-%4x-%4x", &r, &g, &b) == 3) { goto end; } else if (name_len == 16) { format = "rgba:%2x/%2x/%2x/%2x"; has_alpha = 1; } else if (name_len == 17) { format = "#%4x%4x%4x%4x"; has_alpha = 1; long_color = 1; } else if (name_len == 18) { format = "rgb:%4x/%4x/%4x"; long_color = 1; } else if (name_len == 24) { format = "rgba:%4x/%4x/%4x/%4x"; long_color = 1; has_alpha = 1; } else { return 0; } } else { if (name_len == 7) { format = "#%2x%2x%2x"; } else if (name_len == 9) { format = "#%2x%2x%2x%2x"; has_alpha = 1; } else if (name_len == 12) { format = "rgb:%2x/%2x/%2x"; } else if (name_len == 13) { format = "#%4x%4x%4x"; long_color = 1; } else { return 0; } } if (sscanf(name, format, &r, &g, &b, &a) != (3 + has_alpha)) { return 0; } end: if (long_color) { *red = (r >> 8) & 0xff; *green = (g >> 8) & 0xff; *blue = (b >> 8) & 0xff; *alpha = (a >> 8) & 0xff; } else { *red = r; *green = g; *blue = b; *alpha = a & 0xff; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s => %x %x %x %x\n", name, *red, *green, *blue, *alpha); #endif return 1; } void vt_color_force_linear_search(int flag) { if (flag) { num_changed_256_colors++; } else { num_changed_256_colors--; } } /* * Return the number of colors which should be searched after this function. */ u_int vt_get_closest_256_color(vt_color_t *closest, u_int *min_diff, u_int8_t red, u_int8_t green, u_int8_t blue, int threshold) { int r, g, b; int tmp; vt_color_t color; u_int8_t rgb[3]; u_int diff; int diff_r, diff_g, diff_b; int count; int num; if (num_changed_256_colors > 0) { return 256; } /* * 0 - 47 => 0 * 48 - 114 => 1 * 115 - 154 => 2 * ... */ tmp = (red <= 114 ? (red >= 48) : ((red - 55) + 20) / 40); r = tmp ? (tmp * 40 + 55) & 0xff : 0; color = tmp * 36; tmp = (green <= 114 ? (green >= 48) : ((green - 55) + 20) / 40); g = tmp ? (tmp * 40 + 55) & 0xff : 0; color += tmp * 6; tmp = (blue <= 114 ? (blue >= 48) : ((blue - 55) + 20) / 40); b = tmp ? (tmp * 40 + 55) & 0xff : 0; color += tmp; /* lazy color-space conversion */ diff_r = red - r; diff_g = green - g; diff_b = blue - b; diff = COLOR_DISTANCE(diff_r, diff_g, diff_b); if (diff < *min_diff) { *min_diff = diff; *closest = color + 0x10; if (diff < threshold) { return 0; } } num = 1; rgb[0] = red; if (red != green) { rgb[num++] = green; } if (red != blue && green != blue) { rgb[num++] = blue; } for (count = 0; count < num; count++) { tmp = (rgb[count] >= 233 ? 23 : (rgb[count] <= 12 ? 0 : ((rgb[count] - 8) + 5) / 10)); r = g = b = tmp * 10 + 8; /* lazy color-space conversion */ diff_r = red - r; diff_g = green - g; diff_b = blue - b; diff = COLOR_DISTANCE(diff_r, diff_g, diff_b); if (diff < *min_diff) { *min_diff = diff; *closest = tmp + 0xe8; if (diff < threshold) { return 0; } } } return 16; } vt_color_t vt_get_closest_color(u_int8_t red, u_int8_t green, u_int8_t blue) { vt_color_t closest = VT_UNKNOWN_COLOR; vt_color_t color; u_int linear_search_max; u_int min = 0xffffff; vt_color_t oldest_color; u_int oldest_mark; u_int max = 0; #ifdef __DEBUG vt_color_t hit_closest = VT_UNKNOWN_COLOR; vt_get_closest_256_color(&hit_closest, &min, red, green, blue); min = 0xffffff; for (color = 16; color < 256; color++) #else if ((linear_search_max = vt_get_closest_256_color(&closest, &min, red, green, blue, color_distance_threshold)) == 0) { return closest; } for (color = 0; color < linear_search_max; color++) #endif { u_int8_t r; u_int8_t g; u_int8_t b; u_int8_t a; if (vt_get_color_rgba(color, &r, &g, &b, &a) && a == 0xff) { u_int diff; int diff_r, diff_g, diff_b; /* lazy color-space conversion */ diff_r = red - r; diff_g = green - g; diff_b = blue - b; diff = COLOR_DISTANCE(diff_r, diff_g, diff_b); if (diff < min) { min = diff; closest = color; if (diff < color_distance_threshold) { #ifdef __DEBUG /* * XXX * The result of linear search of boundary values * (115, 195 etc) is different from that of * vt_get_closest_256_color() of it. */ if (closest != hit_closest) { bl_debug_printf("ERROR %x %x %x -> %x<=>%x\n", red, green, blue, closest, hit_closest); } #endif return closest; } } } } #ifdef __DEBUG /* * XXX * The result of linear search of boundary values (115, 195 etc) is * different from that of vt_get_closest_256_color() of it. */ if (closest != hit_closest) { bl_debug_printf("ERROR %x %x %x -> %x<=>%x\n", red, green, blue, closest, hit_closest); } #endif if (use_pseudo_color || (!ext_color_table && !(ext_color_table = calloc(MAX_EXT_COLORS, sizeof(*ext_color_table))))) { return closest; } if ((oldest_mark = ext_color_mark / 2) == MAX_EXT_COLORS / 2) { oldest_mark = 1; } else { oldest_mark++; } if (ext_color_mark == MAX_EXT_COLORS) { ext_color_mark = 2; } else { ext_color_mark++; } color = 0; while (ext_color_table[color].mark) { u_int diff; int diff_r, diff_g, diff_b; /* lazy color-space conversion */ diff_r = red - ext_color_table[color].red; diff_g = green - ext_color_table[color].green; diff_b = blue - ext_color_table[color].blue; diff = COLOR_DISTANCE(diff_r, diff_g, diff_b); if (diff < min) { min = diff; if (diff < color_distance_threshold) { /* Set new mark */ ext_color_table[color].mark = ext_color_mark / 2; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Use cached ext color %x\n", INDEX_TO_EXT_COLOR(color)); #endif return INDEX_TO_EXT_COLOR(color); } } if (max == MAX_EXT_COLORS / 2) { /* do nothing */ } else if (ext_color_table[color].mark == oldest_mark) { max = MAX_EXT_COLORS / 2; oldest_color = color; } else { if (ext_color_table[color].mark < oldest_mark) { diff = oldest_mark - ext_color_table[color].mark; } else /* if( ext_color_table[color].mark > oldest_mark) */ { diff = oldest_mark + (MAX_EXT_COLORS / 2) - ext_color_table[color].mark; } if (diff > max) { max = diff; oldest_color = color; } } if (++color == MAX_EXT_COLORS) { color = oldest_color; ext_color_table[color].is_changed = 1; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Delete ext color %x mark %x\n", INDEX_TO_EXT_COLOR(color), ext_color_table[color].mark); #endif break; } } ext_color_table[color].mark = ext_color_mark / 2; ext_color_table[color].red = red; ext_color_table[color].green = green; ext_color_table[color].blue = blue; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "New ext color %.2x: r%.2x g%x b%.2x mark %x\n", INDEX_TO_EXT_COLOR(color), red, green, blue, ext_color_table[color].mark); #endif return INDEX_TO_EXT_COLOR(color); } int vt_ext_color_is_changed(vt_color_t color) { if (ext_color_table[EXT_COLOR_TO_INDEX(color)].is_changed) { ext_color_table[EXT_COLOR_TO_INDEX(color)].is_changed = 0; return 1; } else { return 0; } } mlterm-3.8.4/vtemu/vt_color.h010064400017600000144000000057171321054731100146730ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_COLOR_H__ #define __VT_COLOR_H__ #include #define MAX_VTSYS_COLORS 16 #define MAX_BASIC_VTSYS_COLORS 8 #define MAX_256_COLORS 240 #define MAX_EXT_COLORS 240 #define MAX_256EXT_COLORS (MAX_256_COLORS + MAX_EXT_COLORS) /* same as 0 <= color <= 0x7 */ #define IS_VTSYS_BASE_COLOR(color) ((unsigned int)(color) <= 0x7) /* same as 0 <= color <= 0xf */ #define IS_VTSYS_COLOR(color) ((unsigned int)(color) <= 0xf) #define IS_256_COLOR(color) (0x10 <= (color) && (color) <= 0xff) #define IS_VTSYS256_COLOR(color) ((unsigned int)(color) <= 0xff) #define IS_EXT_COLOR(color) (0x100 <= (color) && (color) <= 0x1ef) #define IS_256EXT_COLOR(color) (0x10 <= (color) && (color) <= 0x1ef) #define IS_VALID_COLOR_EXCEPT_SPECIAL_COLORS(color) ((unsigned int)(color) <= 0x1ef) #define IS_FG_BG_COLOR(color) (0x1f0 <= (color) && (color) <= 0x1f1) #define IS_ALT_COLOR(color) (0x1f2 <= (color)) #define EXT_COLOR_TO_INDEX(color) ((color) - MAX_VTSYS_COLORS - MAX_256_COLORS) #define INDEX_TO_EXT_COLOR(color) ((color) + MAX_VTSYS_COLORS + MAX_256_COLORS) #define COLOR_DISTANCE(diff_r, diff_g, diff_b) \ ((diff_r) * (diff_r)*9 + (diff_g) * (diff_g)*30 + (diff_b) * (diff_b)) /* no one may notice the difference (4[2^3/2]*4*9+4*4*30+4*4) */ #define COLOR_DISTANCE_THRESHOLD 640 /* XXX If these members are changed, modify init() in MLTerm.java. */ typedef enum vt_color { VT_UNKNOWN_COLOR = -1, /* * Don't change this order, which vt_parser.c(change_char_attr etc) and * x_color_cache.c etc depend on. */ VT_BLACK = 0x0, VT_RED = 0x1, VT_GREEN = 0x2, VT_YELLOW = 0x3, VT_BLUE = 0x4, VT_MAGENTA = 0x5, VT_CYAN = 0x6, VT_WHITE = 0x7, VT_BOLD_COLOR_MASK = 0x8, /* * 0x8 - 0xf: bold vt colors. */ /* * 0x10 - 0xff: 240 colors. */ /* * 0x100 - 0x1ef: 241-480 colors. */ VT_FG_COLOR = 0x1f0, VT_BG_COLOR = 0x1f1, VT_BOLD_COLOR = 0x1f2, VT_ITALIC_COLOR = 0x1f3, VT_UNDERLINE_COLOR = 0x1f4, VT_BLINKING_COLOR = 0x1f5, VT_CROSSED_OUT_COLOR = 0x1f6, } vt_color_t; void vt_set_color_mode(const char *mode); char *vt_get_color_mode(void); void vt_color_config_init(void); void vt_color_config_final(void); int vt_customize_color_file(char *color, char *rgb, int save); char *vt_get_color_name(vt_color_t color); vt_color_t vt_get_color(const char *name); int vt_get_color_rgba(vt_color_t color, u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha); int vt_color_parse_rgb_name(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha, const char *name); void vt_color_force_linear_search(int flag); u_int vt_get_closest_256_color(vt_color_t *closest, u_int *min_diff, u_int8_t red, u_int8_t green, u_int8_t blue, int threshold); vt_color_t vt_get_closest_color(u_int8_t red, u_int8_t green, u_int8_t blue); int vt_ext_color_is_changed(vt_color_t color); #endif mlterm-3.8.4/vtemu/vt_config_menu.c010064400017600000144000000222501321054731100160300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef NO_TOOLS #include "vt_config_menu.h" #ifdef USE_WIN32API #include #endif #include /* sprintf */ #include /* strchr */ #include /* fork */ #include #include #include /* DIGIT_STR_LEN */ #include /* malloc */ #include /* bl_file_set_cloexec, bl_file_unset_cloexec */ #include /* HAVE_WINDOWS_H */ #include /* BL_LIBEXECDIR */ /* --- static functions --- */ #ifdef USE_WIN32API static DWORD WINAPI wait_child_exited(LPVOID thr_param) { vt_config_menu_t *config_menu; DWORD ev; #if 0 bl_debug_printf("wait_child_exited thread.\n"); #endif config_menu = thr_param; while (1) { ev = WaitForSingleObject(config_menu->pid, INFINITE); #if 0 bl_debug_printf("WaitForMultipleObjects %dth event signaled.\n", ev); #endif if (ev == WAIT_OBJECT_0) { CloseHandle(config_menu->fd); CloseHandle(config_menu->pid); config_menu->fd = 0; config_menu->pid = 0; #ifdef USE_LIBSSH2 vt_pty_set_use_loopback(config_menu->pty, 0); config_menu->pty = NULL; #endif break; } } ExitThread(0); return 0; } #else static void sig_child(void *self, pid_t pid) { vt_config_menu_t *config_menu; config_menu = self; if (config_menu->pid == pid) { config_menu->pid = 0; close(config_menu->fd); config_menu->fd = -1; #ifdef USE_LIBSSH2 if (config_menu->pty) { vt_pty_set_use_loopback(config_menu->pty, 0); config_menu->pty = NULL; } #endif } } #endif /* --- global functions --- */ void vt_config_menu_init(vt_config_menu_t *config_menu) { config_menu->pid = 0; #ifdef USE_WIN32API config_menu->fd = 0; #else config_menu->fd = -1; bl_add_sig_child_listener(config_menu, sig_child); #endif #ifdef USE_LIBSSH2 config_menu->pty = NULL; #endif } void vt_config_menu_final(vt_config_menu_t *config_menu) { #ifndef USE_WIN32API bl_remove_sig_child_listener(config_menu, sig_child); #endif } int vt_config_menu_start(vt_config_menu_t *config_menu, char *cmd_path, int x, int y, char *display, vt_pty_ptr_t pty) { #ifdef USE_WIN32API HANDLE input_write_tmp; HANDLE input_read; HANDLE output_write; HANDLE error_write; SECURITY_ATTRIBUTES sa; PROCESS_INFORMATION pi; STARTUPINFO si; char *cmd_line; char geometry[] = "--geometry"; DWORD tid; int pty_fd; if (config_menu->pid > 0) { /* configuration menu is active now */ return 0; } input_read = output_write = error_write = 0; if ((pty_fd = vt_pty_get_slave_fd(pty)) == -1) { #ifdef USE_LIBSSH2 if (vt_pty_set_use_loopback(pty, 1)) { pty_fd = vt_pty_get_slave_fd(pty); config_menu->pty = pty; } else #endif { return 0; } } /* * pty_fd is not inheritable(see vt_pty_pipewin32.c), so it is necessary * to duplicate inheritable handle. * It is possible to DuplicateHandle(socket) if pty_fd is socket. */ if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)pty_fd, GetCurrentProcess(), &output_write, 0, TRUE, DUPLICATE_SAME_ACCESS)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DuplicateHandle() failed.\n"); #endif goto error1; } if (!DuplicateHandle(GetCurrentProcess(), (HANDLE)pty_fd, GetCurrentProcess(), &error_write, 0, TRUE, DUPLICATE_SAME_ACCESS)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DuplicateHandle() failed.\n"); #endif goto error1; } /* Set up the security attributes struct. */ sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; /* Create the child input pipe. */ if (!CreatePipe(&input_read, &input_write_tmp, &sa, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreatePipe() failed.\n"); #endif goto error1; } if (!DuplicateHandle(GetCurrentProcess(), input_write_tmp, GetCurrentProcess(), &config_menu->fd, /* Address of new handle. */ 0, FALSE, /* Make it uninheritable. */ DUPLICATE_SAME_ACCESS)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DuplicateHandle() failed.\n"); #endif CloseHandle(input_write_tmp); goto error1; } /* * Close inheritable copies of the handles you do not want to be * inherited. */ CloseHandle(input_write_tmp); /* Set up the start up info struct. */ ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESTDHANDLES | STARTF_FORCEOFFFEEDBACK; si.hStdOutput = output_write; si.hStdInput = input_read; si.hStdError = error_write; /* * Use this if you want to hide the child: * si.wShowWindow = SW_HIDE; * Note that dwFlags must include STARTF_USESHOWWINDOW if you want to * use the wShowWindow flags. */ if ((cmd_line = alloca(strlen(cmd_path) + 1 + sizeof(geometry) + (1 + DIGIT_STR_LEN(int)) * 2 + 1)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca failed.\n"); #endif goto error1; } sprintf(cmd_line, "%s %s +%d+%d", cmd_path, geometry, x, y); if (!CreateProcess(cmd_path, cmd_line, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateProcess() failed.\n"); #endif goto error1; } /* Set global child process handle to cause threads to exit. */ config_menu->pid = pi.hProcess; /* Close any unnecessary handles. */ CloseHandle(pi.hThread); /* * Close pipe handles (do not continue to modify the parent). * You need to make sure that no handles to the write end of the * output pipe are maintained in this process or else the pipe will * not close when the child process exits and the ReadFile will hang. */ CloseHandle(output_write); CloseHandle(input_read); CloseHandle(error_write); if (!CreateThread(NULL, 0, wait_child_exited, config_menu, 0, &tid)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateThread() failed.\n"); #endif goto error2; } return 1; error1: if (input_read) { CloseHandle(input_read); } if (output_write) { CloseHandle(output_write); } if (error_write) { CloseHandle(error_write); } error2: if (config_menu->pid) { /* * TerminateProcess must be called before CloseHandle(fd). */ TerminateProcess(config_menu->pid, 0); config_menu->pid = 0; } if (config_menu->fd) { CloseHandle(config_menu->fd); config_menu->fd = 0; } #ifdef USE_LIBSSH2 if (config_menu->pty) { vt_pty_set_use_loopback(config_menu->pty, 0); config_menu->pty = NULL; } #endif return 0; #else /* USE_WIN32API */ pid_t pid; int fds[2]; int pty_fd; if (config_menu->pid > 0) { /* configuration menu is active now */ return 0; } if ((pty_fd = vt_pty_get_slave_fd(pty)) == -1) { #ifdef USE_LIBSSH2 if (vt_pty_set_use_loopback(pty, 1)) { pty_fd = vt_pty_get_slave_fd(pty); config_menu->pty = pty; } else #endif { return 0; } } if (!bl_file_unset_cloexec(pty_fd)) { /* configulators require an inherited pty. */ return 0; } if (pipe(fds) == -1) { return 0; } pid = fork(); if (pid == -1) { return 0; } if (pid == 0) { /* child process */ char *args[6]; char geom[2 + DIGIT_STR_LEN(int)*2 + 1]; args[0] = cmd_path; sprintf(geom, "+%d+%d", x, y); args[1] = "--geometry"; args[2] = geom; if (display) { args[3] = "--display"; args[4] = display; args[5] = NULL; } else { args[3] = NULL; } close(fds[1]); /* for configulators, * STDIN => to read replys from mlterm * STDOUT => to write the "master" side of pty * STDERR => is retained to be the mlterm's STDERR */ if (dup2(fds[0], STDIN_FILENO) == -1 || dup2(pty_fd, STDOUT_FILENO) == -1) { bl_msg_printf("dup2 failed.\n"); exit(1); } #if (defined(__CYGWIN__) || defined(__MSYS__)) && !defined(DEBUG) /* Suppress error message */ close(STDERR_FILENO); #endif execv(cmd_path, args); /* failed */ /* If program name was specified without directory, prepend LIBEXECDIR to it. */ if (strchr(cmd_path, '/') == NULL) { char *p; char dir[] = BL_LIBEXECDIR("mlterm"); if ((p = alloca(sizeof(dir) + strlen(cmd_path) + 1))) { sprintf(p, "%s/%s", dir, cmd_path); args[0] = cmd_path = p; execv(cmd_path, args); } } bl_error_printf("Failed to exec %s.\n", cmd_path); exit(1); } /* parent process */ close(fds[0]); config_menu->fd = fds[1]; config_menu->pid = pid; bl_file_set_cloexec(pty_fd); bl_file_set_cloexec(config_menu->fd); return 1; #endif /* USE_WIN32API */ } int vt_config_menu_write(vt_config_menu_t *config_menu, u_char *buf, size_t len) { ssize_t write_len; #ifdef USE_WIN32API if (config_menu->fd == 0 || !WriteFile(config_menu->fd, buf, len, &write_len, NULL)) #else if (config_menu->fd == -1 || (write_len = write(config_menu->fd, buf, len)) == -1) #endif { return 0; } else { return write_len; } } #endif /* NO_TOOLS */ mlterm-3.8.4/vtemu/vt_config_menu.h010064400017600000144000000020131321054731100160300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_CONFIG_MENU_H__ #define __VT_CONFIG_MENU_H__ #include /* pid_t */ #include "vt_pty.h" typedef struct vt_config_menu { #ifdef USE_WIN32API void *pid; /* HANDLE */ void *fd; /* HANDLE */ #else pid_t pid; int fd; #endif #ifdef USE_LIBSSH2 vt_pty_ptr_t pty; #endif } vt_config_menu_t; #ifdef NO_TOOLS #define vt_config_menu_init(config_menu) (0) #define vt_config_menu_final(config_menu) (0) #define vt_config_menu_start(config_menu, cmd_path, x, y, display, pty) (0) #define vt_config_menu_write(config_menu, buf, len) (0) #else /* NO_TOOLS */ void vt_config_menu_init(vt_config_menu_t *config_menu); void vt_config_menu_final(vt_config_menu_t *config_menu); int vt_config_menu_start(vt_config_menu_t *config_menu, char *cmd_path, int x, int y, char *display, vt_pty_ptr_t pty); int vt_config_menu_write(vt_config_menu_t *config_menu, u_char *buf, size_t len); #endif /* NO_TOOLS */ #endif mlterm-3.8.4/vtemu/vt_config_proto.c010064400017600000144000000100041321054731100162210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_config_proto.h" #include #include #include #include /* open/creat */ #include /* close */ #include /* time */ #include #include #include #include #include #if 0 #define __DEBUG #endif /* --- static functions --- */ static char *challenge; static char *path; /* --- static functions --- */ static int read_challenge(void) { FILE *file; struct stat st; if ((file = fopen(path, "r")) == NULL) { return 0; } fstat(fileno(file), &st); if (st.st_size > DIGIT_STR_LEN(int)) { return 0; } free(challenge); if ((challenge = malloc(DIGIT_STR_LEN(int)+1)) == NULL) { return 0; } fread(challenge, st.st_size, 1, file); challenge[st.st_size] = '\0'; fclose(file); return 1; } /* --- global functions --- */ int vt_config_proto_init(void) { if ((path = bl_get_user_rc_path("mlterm/challenge")) == NULL) { return 0; } bl_mkdir_for_file(path, 0700); return vt_gen_proto_challenge(); } void vt_config_proto_final(void) { free(path); free(challenge); } int vt_gen_proto_challenge(void) { int fd; if ((fd = creat(path, 0600)) == -1) { bl_error_printf("Failed to create %s.\n", path); return 0; } free(challenge); if ((challenge = malloc(DIGIT_STR_LEN(int)+1)) == NULL) { return 0; } srand((u_int)(time(NULL) + (int)challenge)); sprintf(challenge, "%d", rand()); write(fd, challenge, strlen(challenge)); close(fd); return 1; } char *vt_get_proto_challenge(void) { return challenge; } /* * Returns 0 if illegal format. * Returns -1 if do_challenge is 1 and challenge failed. */ int vt_parse_proto_prefix(char **dev, /* can be NULL */ char **str, int do_challenge) { char *p; p = *str; while (do_challenge) { char *chal; chal = p; if ((p = strchr(p, ';'))) { *(p++) = '\0'; if ((challenge && strcmp(chal, challenge) == 0) || /* Challenge could have been re-generated. */ (read_challenge() && challenge && strcmp(chal, challenge) == 0)) { /* challenge succeeded. */ break; } } return -1; } *str = p; /* for no_dev */ if (strncmp(p, "/dev/", 5) == 0) { p += 4; while (*(++p) != ':') { /* Don't contain ';' in "/dev/...". */ if (*p == ';' || *p == '\0') { /* Illegal format */ #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Illegal protocol format.\n"); #endif goto no_dev; } } } else { if (strncmp(p, "color:", 6) == 0) { p += 5; } else { if (*p == 't' || *p == 'v') { p++; } if (*p == 'a' && *(p + 1) == 'a') { p += 2; } if (strncmp(p, "font:", 5) == 0) { p += 4; } else { goto no_dev; } } } if (dev) { *dev = *str; } *(p++) = '\0'; *str = p; return 1; no_dev: if (dev) { *dev = NULL; } return 1; } /* * Returns 0 if illegal format. * Returns -1 if do_challenge is 1 and challenge failed. * If finished parsing str, *str is set NULL(see *str = strchr( p , ';')). */ int vt_parse_proto(char **dev, /* can be NULL */ char **key, /* can be NULL. *key is never NULL. */ char **val, /* can be NULL */ char **str, int do_challenge, int sep_by_semicolon) { char *p; p = *str; if (vt_parse_proto_prefix(dev, &p, do_challenge) < 0) { return -1; } if (sep_by_semicolon) { if ((*str = strchr(p, ';'))) { /* *str points next key=value. */ *((*str)++) = '\0'; } } else { *str = NULL; } if (key) { *key = p; } if ((p = strchr(p, '='))) { *(p++) = '\0'; if (val) { *val = p; } } else { if (val) { *val = NULL; } } #ifdef __DEBUG bl_debug_printf("%s %s %s\n", key ? *key : NULL, val ? *val : NULL, dev ? *dev : NULL); #endif return 1; } mlterm-3.8.4/vtemu/vt_config_proto.h010064400017600000144000000010211321054731100162250ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_CONFIG_PROTO_H__ #define __VT_CONFIG_PROTO_H__ /* * These functions are exported from vt_term.h. */ int vt_config_proto_init(void); void vt_config_proto_final(void); int vt_gen_proto_challenge(void); char *vt_get_proto_challenge(void); int vt_parse_proto_prefix(char **dev, char **str, int do_challenge); int vt_parse_proto(char **dev, char **key, char **val, char **str, int do_challenge, int sep_by_semicolon); #endif mlterm-3.8.4/vtemu/vt_ctl_loader.c010064400017600000144000000040011321054731100156410ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_ctl_loader.h" #ifndef NO_DYNAMIC_LOAD_CTL #include /* NULL */ #include #include #ifndef LIBDIR #define CTLLIB_DIR "/usr/local/lib/mlterm/" #else #define CTLLIB_DIR LIBDIR "/mlterm/" #endif /* --- global functions --- */ void *vt_load_ctl_bidi_func(vt_ctl_bidi_id_t id) { static void **func_table; static int is_tried; if (!is_tried) { bl_dl_handle_t handle; is_tried = 1; if ((!(handle = bl_dl_open(CTLLIB_DIR, "ctl_bidi")) && !(handle = bl_dl_open("", "ctl_bidi")))) { bl_error_printf("BiDi: Could not load.\n"); return NULL; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Loading libctl_bidi.so\n"); #endif func_table = bl_dl_func_symbol(handle, "vt_ctl_bidi_func_table"); if ((u_int32_t)func_table[CTL_BIDI_API_COMPAT_CHECK] != CTL_API_COMPAT_CHECK_MAGIC) { bl_dl_close(handle); func_table = NULL; bl_error_printf("Incompatible BiDi rendering API.\n"); return NULL; } } if (func_table) { return func_table[id]; } else { return NULL; } } void *vt_load_ctl_iscii_func(vt_ctl_iscii_id_t id) { static void **func_table; static int is_tried; if (!is_tried) { bl_dl_handle_t handle; is_tried = 1; if ((!(handle = bl_dl_open(CTLLIB_DIR, "ctl_iscii")) && !(handle = bl_dl_open("", "ctl_iscii")))) { bl_error_printf("iscii: Could not load.\n"); return NULL; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Loading libctl_iscii.so\n"); #endif func_table = bl_dl_func_symbol(handle, "vt_ctl_iscii_func_table"); if ((u_int32_t)func_table[CTL_ISCII_API_COMPAT_CHECK] != CTL_API_COMPAT_CHECK_MAGIC) { bl_dl_close(handle); func_table = NULL; bl_error_printf("Incompatible indic rendering API.\n"); return NULL; } } if (func_table) { return func_table[id]; } else { return NULL; } } #endif /* NO_DYNAMIC_LOAD_CTL */ mlterm-3.8.4/vtemu/vt_ctl_loader.h010064400017600000144000000025131321054731100156540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_CTL_LOADER_H__ #define __VT_CTL_LOADER_H__ #include "vt_line.h" #include "vt_logical_visual.h" #include "vt_shape.h" typedef enum vt_ctl_bidi_id { CTL_BIDI_API_COMPAT_CHECK, VT_LINE_SET_USE_BIDI, VT_LINE_BIDI_CONVERT_LOGICAL_CHAR_INDEX_TO_VISUAL, VT_LINE_BIDI_CONVERT_VISUAL_CHAR_INDEX_TO_LOGICAL, VT_LINE_BIDI_COPY_LOGICAL_STR, VT_LINE_BIDI_IS_RTL, VT_SHAPE_ARABIC, VT_IS_ARABIC_COMBINING, VT_IS_RTL_CHAR, VT_BIDI_COPY, VT_BIDI_RESET, VT_LINE_BIDI_NEED_SHAPE, VT_LINE_BIDI_RENDER, VT_LINE_BIDI_VISUAL, VT_LINE_BIDI_LOGICAL, MAX_CTL_BIDI_FUNCS, } vt_ctl_bidi_id_t; typedef enum vt_ctl_iscii_id { CTL_ISCII_API_COMPAT_CHECK, VT_ISCIIKEY_STATE_NEW, VT_ISCIIKEY_STATE_DELETE, VT_CONVERT_ASCII_TO_ISCII, VT_LINE_SET_USE_ISCII, VT_LINE_ISCII_CONVERT_LOGICAL_CHAR_INDEX_TO_VISUAL, VT_SHAPE_ISCII, VT_ISCII_COPY, VT_ISCII_RESET, VT_LINE_ISCII_NEED_SHAPE, VT_LINE_ISCII_RENDER, VT_LINE_ISCII_VISUAL, VT_LINE_ISCII_LOGICAL, MAX_CTL_ISCII_FUNCS, } vt_ctl_iscii_id_t; #define CTL_API_VERSION 0x02 #define CTL_API_COMPAT_CHECK_MAGIC \ (((CTL_API_VERSION & 0x0f) << 28) | ((sizeof(vt_line_t) & 0xff) << 20)) void *vt_load_ctl_bidi_func(vt_ctl_bidi_id_t id); void *vt_load_ctl_iscii_func(vt_ctl_iscii_id_t id); #endif mlterm-3.8.4/vtemu/vt_cursor.c010064400017600000144000000105751321054731100150630ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_cursor.h" #include /* memset */ #include /* --- static functions --- */ static int cursor_goto(vt_cursor_t *cursor, int col_or_idx, int row, int is_by_col) { int char_index; u_int cols_rest; vt_line_t *line; if (row > vt_model_end_row(cursor->model)) { /* round row to end of row */ row = vt_model_end_row(cursor->model); } if ((line = vt_model_get_line(cursor->model, row)) == NULL) { return 0; } if (is_by_col) { char_index = vt_convert_col_to_char_index(line, &cols_rest, col_or_idx, BREAK_BOUNDARY); } else { char_index = col_or_idx; cols_rest = 0; } if (!vt_line_assure_boundary(line, char_index)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor cannot goto char index %d(line length is %d)\n", char_index, line->num_filled_chars); #endif char_index = vt_line_end_char_index(line); /* In this case, cols_rest is always 0. */ } cursor->char_index = char_index; cursor->row = row; cursor->col_in_char = cols_rest; cursor->col = vt_convert_char_index_to_col(vt_model_get_line(cursor->model, cursor->row), cursor->char_index, 0) + cursor->col_in_char; return 1; } /* --- global functions --- */ void vt_cursor_init(vt_cursor_t *cursor, vt_model_t *model) { memset(cursor, 0, sizeof(vt_cursor_t)); cursor->model = model; } void vt_cursor_final(vt_cursor_t *cursor) { /* Do nothing for now*/ } int vt_cursor_goto_by_char(vt_cursor_t *cursor, int char_index, int row) { return cursor_goto(cursor, char_index, row, 0); } /* Move horizontally */ int vt_cursor_moveh_by_char(vt_cursor_t *cursor, int char_index) { return cursor_goto(cursor, char_index, cursor->row, 0); } int vt_cursor_goto_by_col(vt_cursor_t *cursor, int col, int row) { return cursor_goto(cursor, col, row, 1); } /* Move horizontally */ int vt_cursor_moveh_by_col(vt_cursor_t *cursor, int col) { return cursor_goto(cursor, col, cursor->row, 1); } void vt_cursor_goto_home(vt_cursor_t *cursor) { cursor->row = 0; cursor->char_index = 0; cursor->col = 0; cursor->col_in_char = 0; } void vt_cursor_goto_beg_of_line(vt_cursor_t *cursor) { cursor->char_index = 0; cursor->col = 0; cursor->col_in_char = 0; } int vt_cursor_go_forward(vt_cursor_t *cursor) { /* full width char check. */ if (cursor->col_in_char + 1 < vt_char_cols(vt_get_cursor_char(cursor))) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " cursor is at 2nd byte of multi byte char.\n"); #endif cursor->col++; cursor->col_in_char++; return 1; } else if (cursor->char_index < vt_line_end_char_index(vt_get_cursor_line(cursor))) { cursor->col = vt_convert_char_index_to_col(vt_get_cursor_line(cursor), ++cursor->char_index, 0); cursor->col_in_char = 0; return 1; } else { /* Can't go forward in this line anymore. */ return 0; } } int vt_cursor_cr_lf(vt_cursor_t *cursor) { if (cursor->model->num_rows <= cursor->row + 1) { return 0; } cursor->row++; cursor->char_index = 0; cursor->col = 0; if (!vt_line_assure_boundary(vt_get_cursor_line(cursor), 0)) { bl_error_printf("Could cause unexpected behavior.\n"); return 0; } return 1; } vt_line_t *vt_get_cursor_line(vt_cursor_t *cursor) { return vt_model_get_line(cursor->model, cursor->row); } vt_char_t *vt_get_cursor_char(vt_cursor_t *cursor) { return vt_model_get_line(cursor->model, cursor->row)->chars + cursor->char_index; } void vt_cursor_char_is_cleared(vt_cursor_t *cursor) { cursor->char_index += cursor->col_in_char; cursor->col_in_char = 0; } void vt_cursor_left_chars_in_line_are_cleared(vt_cursor_t *cursor) { cursor->char_index = cursor->col; cursor->col_in_char = 0; } void vt_cursor_save(vt_cursor_t *cursor) { cursor->saved_col = cursor->col; cursor->saved_char_index = cursor->char_index; cursor->saved_row = cursor->row; cursor->is_saved = 1; } int vt_cursor_restore(vt_cursor_t *cursor) { if (!cursor->is_saved) { return 0; } if (!vt_cursor_goto_by_col(cursor, cursor->saved_col, cursor->saved_row)) { return 0; } return 1; } #ifdef DEBUG void vt_cursor_dump(vt_cursor_t *cursor) { bl_msg_printf("Cursor position => CH_IDX %d COL %d(+%d) ROW %d.\n", cursor->char_index, cursor->col, cursor->col_in_char, cursor->row); } #endif mlterm-3.8.4/vtemu/vt_cursor.h010064400017600000144000000027161321054731100150660ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_CURSOR_H__ #define __VT_CURSOR_H__ #include "vt_model.h" typedef struct vt_cursor { /* * XXX * Following members are modified directly in vt_logical_visual.c * without vt_cursor_xxx() functions. */ /* * public (readonly) */ int row; int char_index; int col; int col_in_char; /* * private */ int saved_row; int saved_char_index; int saved_col; int8_t is_saved; vt_model_t *model; } vt_cursor_t; void vt_cursor_init(vt_cursor_t *cursor, vt_model_t *model); void vt_cursor_final(vt_cursor_t *cursor); int vt_cursor_goto_by_char(vt_cursor_t *cursor, int char_index, int row); int vt_cursor_moveh_by_char(vt_cursor_t *cursor, int char_index); int vt_cursor_goto_by_col(vt_cursor_t *cursor, int col, int row); int vt_cursor_moveh_by_col(vt_cursor_t *cursor, int col); void vt_cursor_goto_home(vt_cursor_t *cursor); void vt_cursor_goto_beg_of_line(vt_cursor_t *cursor); int vt_cursor_go_forward(vt_cursor_t *cursor); int vt_cursor_cr_lf(vt_cursor_t *cursor); vt_line_t *vt_get_cursor_line(vt_cursor_t *cursor); vt_char_t *vt_get_cursor_char(vt_cursor_t *cursor); void vt_cursor_char_is_cleared(vt_cursor_t *cursor); void vt_cursor_left_chars_in_line_are_cleared(vt_cursor_t *cursor); void vt_cursor_save(vt_cursor_t *cursor); int vt_cursor_restore(vt_cursor_t *cursor); #ifdef DEBUG void vt_cursor_dump(vt_cursor_t *cursor); #endif #endif mlterm-3.8.4/vtemu/vt_drcs.c010064400017600000144000000066171321054731100145030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_drcs.h" #include /* memset */ #include #include /* strdup */ #include /* --- static variables --- */ static vt_drcs_t *cur_drcs; static ef_charset_t cached_font_cs = UNKNOWN_CS; static vt_drcs_font_t *cached_font; /* --- static functions --- */ static void drcs_final(vt_drcs_font_t *font) { int idx; for (idx = 0; idx < 0x5f; idx++) { free(font->glyphs[idx]); } memset(font->glyphs, 0, sizeof(font->glyphs)); if (cached_font_cs == font->cs) { /* Clear cache in vt_drcs_get(). */ cached_font_cs = UNKNOWN_CS; } } /* --- global functions --- */ void vt_drcs_select(vt_drcs_t *drcs) { cur_drcs = drcs; /* Clear cache in vt_drcs_get(). */ cached_font_cs = UNKNOWN_CS; } vt_drcs_font_t *vt_drcs_get_font(ef_charset_t cs, int create) { u_int count; void *p; if (cs == cached_font_cs) { if (cached_font || !create) { return cached_font; } } else if (!cur_drcs) { return NULL; } else { for (count = 0; count < cur_drcs->num_fonts; count++) { if (cur_drcs->fonts[count].cs == cs) { return &cur_drcs->fonts[count]; } } } if (!create || /* XXX leaks */ !(p = realloc(cur_drcs->fonts, sizeof(vt_drcs_font_t) * (cur_drcs->num_fonts + 1)))) { return NULL; } cur_drcs->fonts = p; memset(cur_drcs->fonts + cur_drcs->num_fonts, 0, sizeof(vt_drcs_font_t)); cached_font_cs = cur_drcs->fonts[cur_drcs->num_fonts].cs = cs; return (cached_font = &cur_drcs->fonts[cur_drcs->num_fonts++]); } char *vt_drcs_get_glyph(ef_charset_t cs, u_char idx) { vt_drcs_font_t *font; /* msb can be set in vt_parser.c (e.g. ESC(I (JISX0201 kana)) */ if ((font = vt_drcs_get_font(cs, 0)) && 0x20 <= (idx & 0x7f)) { return font->glyphs[(idx & 0x7f) - 0x20]; } else { return NULL; } } void vt_drcs_final(ef_charset_t cs) { u_int count; for (count = 0; count < cur_drcs->num_fonts; count++) { if (cur_drcs->fonts[count].cs == cs) { drcs_final(cur_drcs->fonts + count); cur_drcs->fonts[count] = cur_drcs->fonts[--cur_drcs->num_fonts]; return; } } } void vt_drcs_final_full(void) { u_int count; for (count = 0; count < cur_drcs->num_fonts; count++) { drcs_final(cur_drcs->fonts + count); } free(cur_drcs->fonts); cur_drcs->fonts = NULL; cur_drcs->num_fonts = 0; cur_drcs = NULL; } int vt_drcs_add(vt_drcs_font_t *font, int idx, const char *seq, u_int width, u_int height) { free(font->glyphs[idx]); if ((font->glyphs[idx] = malloc(2 + strlen(seq) + 1))) { font->glyphs[idx][0] = width; font->glyphs[idx][1] = height; strcpy(font->glyphs[idx] + 2, seq); } return 1; } int vt_convert_drcs_to_unicode_pua(ef_char_t *ch) { if (vt_drcs_get_glyph(ch->cs, ch->ch[0])) { ch->ch[3] = ch->ch[0]; ch->ch[2] = ch->cs + 0x30; /* see CS94SB_ID() in ef_charset.h */ ch->ch[1] = 0x10; ch->ch[0] = 0x00; ch->cs = ISO10646_UCS4_1; ch->size = 4; ch->property = 0; return 1; } else { return 0; } } int vt_convert_unicode_pua_to_drcs(ef_char_t *ch) { u_char *c; c = ch->ch; if (c[1] == 0x10 && 0x40 <= c[2] && c[2] <= 0x7e && 0x20 <= c[3] && c[3] <= 0x7f && c[0] == 0x00) { c[0] = c[3]; ch->cs = CS94SB_ID(c[2]); ch->size = 1; ch->property = 0; return 1; } else { return 0; } } mlterm-3.8.4/vtemu/vt_drcs.h010064400017600000144000000016441321054731100145030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_DRCS_H__ #define __VT_DRCS_H__ #include #include typedef struct vt_drcs_font { ef_charset_t cs; char *glyphs[0x5f]; } vt_drcs_font_t; typedef struct vt_drcs { vt_drcs_font_t *fonts; u_int num_fonts; } vt_drcs_t; #define vt_drcs_new() calloc(1, sizeof(vt_drcs_t)) #define vt_drcs_delete(drcs) \ vt_drcs_select(drcs); \ vt_drcs_final_full(); \ free(drcs); void vt_drcs_select(vt_drcs_t *drcs); vt_drcs_font_t *vt_drcs_get_font(ef_charset_t cs, int create); char *vt_drcs_get_glyph(ef_charset_t cs, u_char idx); void vt_drcs_final(ef_charset_t cs); void vt_drcs_final_full(void); int vt_drcs_add(vt_drcs_font_t *font, int idx, const char *seq, u_int width, u_int height); int vt_convert_drcs_to_unicode_pua(ef_char_t *ch); int vt_convert_unicode_pua_to_drcs(ef_char_t *ch); #endif mlterm-3.8.4/vtemu/vt_edit.c010064400017600000144000001370741321054731100144770ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_edit.h" #include /* memmove/memset */ #include /* alloca */ #include #include #include /* ef_charset_t */ #include "vt_edit_util.h" #include "vt_edit_scroll.h" #if 0 #define __DEBUG #endif #if 0 #define CURSOR_DEBUG #endif #if 0 #define COMPAT_XTERM #endif /* * vt_edit_t::tab_stops * e.g.) * 1 line = 40 columns * => tab_stops = u_int8_t * 5 (40bits) * => Check tab_stops bits if you want to know whether a column is set tab stop * or not. */ #define TAB_STOPS_SIZE(edit) (((edit)->model.num_cols - 1) / 8 + 1) #define reset_wraparound_checker(edit) ((edit)->wraparound_ready_line = NULL) #define MARGIN_IS_ENABLED(edit) \ ((edit)->use_margin && \ (0 < (edit)->hmargin_beg || (edit)->hmargin_end + 1 < (edit)->model.num_cols)) #define CURSOR_IS_INSIDE_HMARGIN(edit) \ ((edit)->hmargin_beg <= (edit)->cursor.col && (edit)->cursor.col <= (edit)->hmargin_end) #define CURSOR_IS_INSIDE_VMARGIN(edit) \ ((edit)->vmargin_beg <= (edit)->cursor.row && (edit)->cursor.row <= (edit)->vmargin_end) /* --- static functions --- */ /* * Insert chars within a line. * The cursor must be inside the left and right margins. (The caller of this * function must check it in advance.) */ static int insert_chars(vt_edit_t *edit, vt_char_t *ins_chars, u_int num_ins_chars, int do_move_cursor) { vt_char_t *buffer; u_int buf_len; u_int num_cols; u_int filled_len; u_int filled_cols; u_int last_index; u_int cols_after; u_int cols; int cursor_col; int count; vt_line_t *cursor_line; #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif cursor_line = CURSOR_LINE(edit); buf_len = edit->model.num_cols; #ifndef COMPAT_XTERM if (edit->cursor.col > edit->hmargin_end) { num_cols = edit->model.num_cols; } else #endif { num_cols = edit->hmargin_end + 1; } if ((buffer = vt_str_alloca(buf_len)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } filled_len = 0; filled_cols = 0; cursor_col = edit->cursor.col; /* * before cursor(excluding cursor) */ if (edit->cursor.col_in_char) { #ifdef DEBUG if (vt_char_cols(CURSOR_CHAR(edit)) <= edit->cursor.col_in_char) { bl_warn_printf(BL_DEBUG_TAG " illegal col_in_char.\n"); } #endif /* * padding spaces for former half of cursor. */ for (count = 0; count < edit->cursor.col_in_char; count++) { vt_char_copy(&buffer[filled_len++], vt_sp_ch()); } filled_cols += count; cols_after = vt_char_cols(CURSOR_CHAR(edit)) - count; cursor_col -= count; } else { cols_after = 0; } /* * chars are appended one by one below since the line may be full. */ /* * inserted chars */ for (count = 0; count < num_ins_chars; count++) { cols = vt_char_cols(&ins_chars[count]); if (cursor_col + filled_cols + cols > num_cols) { break; } vt_char_copy(&buffer[filled_len++], &ins_chars[count]); filled_cols += cols; } if (edit->cursor.char_index + filled_len == num_cols) { /* cursor position doesn't proceed. */ last_index = filled_len - 1; } else { last_index = filled_len; } /* * cursor char */ if (cols_after) { /* * padding spaces for latter half of cursor. */ for (count = 0; count < cols_after; count++) { /* + 1 is for vt_sp_ch() */ if (cursor_col + filled_cols + 1 > num_cols) { goto line_full; } vt_char_copy(&buffer[filled_len++], vt_sp_ch()); } filled_cols += count; } else { cols = vt_char_cols(CURSOR_CHAR(edit)); if (cursor_col + filled_cols + cols > num_cols) { goto line_full; } vt_char_copy(&buffer[filled_len++], CURSOR_CHAR(edit)); filled_cols += cols; } /* * after cursor(excluding cursor) */ for (count = edit->cursor.char_index + 1; count < cursor_line->num_filled_chars; count++) { cols = vt_char_cols(vt_char_at(cursor_line, count)); if (cursor_col + filled_cols + cols > num_cols) { break; } vt_char_copy(&buffer[filled_len++], vt_char_at(cursor_line, count)); filled_cols += cols; } line_full: /* * Updating current line and cursor. */ vt_line_overwrite(cursor_line, edit->cursor.char_index, buffer, filled_len, filled_cols); vt_str_final(buffer, buf_len); if (do_move_cursor) { vt_cursor_moveh_by_char(&edit->cursor, edit->cursor.char_index + last_index); } else if (edit->cursor.col_in_char) { vt_cursor_moveh_by_char(&edit->cursor, edit->cursor.char_index + edit->cursor.col_in_char); } #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } static int horizontal_tabs(vt_edit_t *edit, u_int num, int is_forward) { int col; u_int count; if (edit->wraparound_ready_line) { vt_edit_go_downward(edit, SCROLL); vt_edit_goto_beg_of_line(edit); } if (edit->cursor.col < edit->hmargin_beg) { vt_cursor_goto_by_col(&edit->cursor, edit->hmargin_beg, edit->cursor.row); } else if (edit->cursor.col > edit->hmargin_end) { vt_cursor_goto_by_col(&edit->cursor, edit->hmargin_end, edit->cursor.row); } col = edit->cursor.col; for (count = 0; count < num; count++) { while (1) { if (is_forward) { if (col >= edit->hmargin_end) { return 1; } col++; vt_edit_go_forward(edit, WRAPAROUND); } else { if (col <= edit->hmargin_beg) { return 1; } col--; vt_edit_go_back(edit, WRAPAROUND); } if (vt_edit_is_tab_stop(edit, col)) { break; } } } return 1; } static void copy_area(vt_edit_t *src_edit, int src_col, int src_row, u_int num_copy_cols, u_int num_copy_rows, vt_edit_t *dst_edit, int dst_col, int dst_row) { u_int count; vt_line_t *src_line; vt_line_t *dst_line; int src_char_index; int dst_char_index; u_int src_cols_rest; u_int src_cols_after; u_int dst_cols_rest; u_int num_src_chars; u_int num_src_cols; for (count = 0; count < num_copy_rows; count++) { int srow; int drow; if (src_row < dst_row) { srow = src_row + num_copy_rows - count - 1; drow = dst_row + num_copy_rows - count - 1; } else { srow = src_row + count; drow = dst_row + count; } if (!(src_line = vt_edit_get_line(src_edit, srow)) || !(dst_line = vt_edit_get_line(dst_edit, drow))) { continue; } /* Beginning of src line */ src_char_index = vt_convert_col_to_char_index(src_line, &src_cols_rest, src_col, BREAK_BOUNDARY); if (src_char_index >= src_line->num_filled_chars) { src_cols_after = num_copy_cols; } else if (src_cols_rest > 0) { src_cols_after = vt_char_cols(src_line->chars + src_char_index) - src_cols_rest; src_char_index++; } else { src_cols_after = 0; } /* Beginning of dst line */ dst_char_index = vt_convert_col_to_char_index(dst_line, &dst_cols_rest, dst_col, 0); /* Fill rest at the beginning */ if (dst_cols_rest + src_cols_after > 0) { vt_line_fill(dst_line, vt_sp_ch(), dst_char_index, dst_cols_rest + src_cols_after); if (src_char_index >= src_line->num_filled_chars) { continue; } dst_char_index += (dst_cols_rest + src_cols_after); } /* End of src line */ num_src_chars = vt_convert_col_to_char_index(src_line, &src_cols_rest, /* original value is replaced. */ src_col + num_copy_cols - 1, 0) + 1 - src_char_index; if (src_cols_rest == 0) { if ((src_cols_rest = vt_char_cols(src_line->chars + src_char_index + num_src_chars - 1) - 1) > 0) { num_src_chars--; } } else { src_cols_rest = 0; } num_src_cols = num_copy_cols - src_cols_after - src_cols_rest; /* Copy src to dst */ if (num_src_cols > 0) { vt_line_overwrite(dst_line, dst_char_index, src_line->chars + src_char_index, num_src_chars, num_src_cols); } /* Fill rest at the end */ if (src_cols_rest > 0) { vt_line_fill(dst_line, vt_sp_ch(), dst_char_index + num_src_chars, src_cols_rest); } } } static void erase_area(vt_edit_t *edit, int col, int row, u_int num_cols, u_int num_rows) { u_int count; vt_line_t *line; int char_index; u_int cols_rest; for (count = 0; count < num_rows; count++) { if (!(line = vt_edit_get_line(edit, row + count))) { continue; } char_index = vt_convert_col_to_char_index(line, &cols_rest, col, BREAK_BOUNDARY); if (char_index >= line->num_filled_chars && !edit->use_bce) { continue; } if (cols_rest > 0) { vt_line_fill(line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), char_index, cols_rest); char_index += cols_rest; } vt_line_fill(line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), char_index, num_cols); } } static int scroll_downward_region(vt_edit_t *edit, u_int size, int is_cursor_beg, int ignore_cursor_pos) { int vmargin_beg; if (is_cursor_beg) { if (edit->cursor.row < edit->vmargin_beg) { return 0; } vmargin_beg = edit->cursor.row; } else { vmargin_beg = edit->vmargin_beg; } /* * XXX * CURSOR_IS_INSIDE_HMARGIN(edit) disables vim to scroll the right side of * vertically splitted window. */ if (ignore_cursor_pos || (/* CURSOR_IS_INSIDE_HMARGIN(edit) && */ edit->cursor.row >= vmargin_beg && edit->cursor.row <= edit->vmargin_end)) { if (size > edit->vmargin_end - vmargin_beg + 1) { size = edit->vmargin_end - vmargin_beg + 1; } else { copy_area(edit, edit->hmargin_beg, vmargin_beg, edit->hmargin_end - edit->hmargin_beg + 1, edit->vmargin_end - vmargin_beg + 1 - size, edit, edit->hmargin_beg, vmargin_beg + size); } erase_area(edit, edit->hmargin_beg, vmargin_beg, edit->hmargin_end - edit->hmargin_beg + 1, size); return 1; } else { return 0; } } static int scroll_upward_region(vt_edit_t *edit, u_int size, int is_cursor_beg, int ignore_cursor_pos) { int vmargin_beg; if (is_cursor_beg) { if (edit->cursor.row < edit->vmargin_beg) { return 0; } vmargin_beg = edit->cursor.row; } else { vmargin_beg = edit->vmargin_beg; } /* * XXX * CURSOR_IS_INSIDE_HMARGIN(edit) disables vim to scroll the right side of * vertical splitted window. */ if (ignore_cursor_pos || (/* CURSOR_IS_INSIDE_HMARGIN(edit) && */ edit->cursor.row >= vmargin_beg && edit->cursor.row <= edit->vmargin_end)) { if (size > edit->vmargin_end - vmargin_beg + 1) { size = edit->vmargin_end - vmargin_beg + 1; } else { copy_area(edit, edit->hmargin_beg, vmargin_beg + size, edit->hmargin_end - edit->hmargin_beg + 1, edit->vmargin_end - vmargin_beg + 1 - size, edit, edit->hmargin_beg, vmargin_beg); } erase_area(edit, edit->hmargin_beg, edit->vmargin_end + 1 - size, edit->hmargin_end - edit->hmargin_beg + 1, size); return 1; } else { return 0; } } static int apply_relative_origin(vt_edit_t *edit, int *col, int *row, u_int *num_cols, u_int *num_rows) { if (edit->is_relative_origin) { if (((*row) += edit->vmargin_beg) > edit->vmargin_end || ((*col) += edit->hmargin_beg) > edit->hmargin_end) { return 0; } if ((*row) + (*num_rows) > edit->vmargin_end + 1) { (*num_rows) = edit->vmargin_end + 1 - (*row); } if ((*col) + (*num_cols) > edit->hmargin_end + 1) { (*num_cols) = edit->hmargin_end + 1 - (*col); } } return 1; } /* --- global functions --- */ int vt_edit_init(vt_edit_t *edit, vt_edit_scroll_event_listener_t *scroll_listener, u_int num_cols, u_int num_rows, u_int tab_size, int is_logging, int use_bce) { if (!vt_model_init(&edit->model, num_cols, num_rows)) { return 0; } vt_cursor_init(&edit->cursor, &edit->model); vt_line_assure_boundary(CURSOR_LINE(edit), 0); vt_char_init(&edit->bce_ch); vt_char_copy(&edit->bce_ch, vt_sp_ch()); edit->use_bce = use_bce; edit->is_logging = is_logging; reset_wraparound_checker(edit); edit->vmargin_beg = 0; edit->vmargin_end = vt_model_end_row(&edit->model); edit->scroll_listener = scroll_listener; edit->use_margin = 0; edit->hmargin_beg = 0; edit->hmargin_end = num_cols - 1; if ((edit->tab_stops = malloc(TAB_STOPS_SIZE(edit))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return 0; } vt_edit_set_tab_size(edit, tab_size); edit->is_relative_origin = 0; edit->is_auto_wrap = 1; return 1; } void vt_edit_final(vt_edit_t *edit) { vt_model_final(&edit->model); free(edit->tab_stops); vt_char_final(&edit->bce_ch); } int vt_edit_clone(vt_edit_t *dst_edit, vt_edit_t *src_edit) { u_int row; u_int num_rows; vt_line_t *src_line; vt_line_t *dst_line; memcpy(((char*)dst_edit) + sizeof(vt_model_t), ((char*)src_edit) + sizeof(vt_model_t), sizeof(vt_edit_t) - sizeof(vt_model_t)); if (!(dst_edit->tab_stops = malloc(TAB_STOPS_SIZE(src_edit)))) { return 0; } memcpy(dst_edit->tab_stops, src_edit->tab_stops, TAB_STOPS_SIZE(src_edit)); dst_edit->cursor.model = &dst_edit->model; num_rows = vt_edit_get_rows(src_edit); if (!vt_model_init(&dst_edit->model, vt_edit_get_cols(src_edit), num_rows)) { free(dst_edit->tab_stops); return 0; } for (row = 0; row < num_rows; row++) { dst_line = vt_edit_get_line(dst_edit, row); if ((src_line = vt_edit_get_line(src_edit, row)) == src_edit->wraparound_ready_line) { dst_edit->wraparound_ready_line = dst_line; } vt_line_copy(dst_line, src_line); } return 1; } int vt_edit_resize(vt_edit_t *edit, u_int num_cols, u_int num_rows) { u_int old_filled_rows; u_int old_cols; u_int slide; #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif if ((old_filled_rows = vt_model_get_num_filled_rows(&edit->model)) > num_rows) { if (edit->is_logging && edit->scroll_listener->receive_scrolled_out_line) { int count; for (count = 0; count < old_filled_rows - num_rows; count++) { (*edit->scroll_listener->receive_scrolled_out_line)(edit->scroll_listener->self, vt_model_get_line(&edit->model, count)); } } } old_cols = edit->model.num_cols; if (!vt_model_resize(&edit->model, &slide, num_cols, num_rows)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_model_resize() failed.\n"); #endif return 0; } if (slide > edit->cursor.row) { vt_cursor_goto_home(&edit->cursor); vt_line_assure_boundary(CURSOR_LINE(edit), 0); } else { edit->cursor.row -= slide; if (edit->cursor.row >= num_rows) { /* Forcibly move cursor to the bottom line. */ edit->cursor.row = num_rows - 1; edit->cursor.col = edit->cursor.char_index = 0; } if (num_cols < old_cols) { if (edit->cursor.col >= num_cols) { edit->cursor.col = num_cols - 1; edit->cursor.char_index = vt_convert_col_to_char_index( CURSOR_LINE(edit), &edit->cursor.col_in_char, edit->cursor.col, 0); } } } reset_wraparound_checker(edit); edit->vmargin_beg = 0; edit->vmargin_end = vt_model_end_row(&edit->model); edit->use_margin = 0; edit->hmargin_beg = 0; edit->hmargin_end = num_cols - 1; free(edit->tab_stops); if ((edit->tab_stops = malloc(TAB_STOPS_SIZE(edit))) == NULL) { return 0; } vt_edit_set_tab_size(edit, edit->tab_size); #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } int vt_edit_insert_chars(vt_edit_t *edit, vt_char_t *ins_chars, u_int num_ins_chars) { reset_wraparound_checker(edit); #ifdef COMPAT_XTERM if (!CURSOR_IS_INSIDE_HMARGIN(edit)) { return vt_edit_overwrite_chars(edit, ins_chars, num_ins_chars); } else #endif { return insert_chars(edit, ins_chars, num_ins_chars, 1); } } int vt_edit_insert_blank_chars(vt_edit_t *edit, u_int num_blank_chars) { int count; vt_char_t *blank_chars; vt_char_t *sp_ch; if (!CURSOR_IS_INSIDE_HMARGIN(edit)) { return 0; } reset_wraparound_checker(edit); if ((blank_chars = vt_str_alloca(num_blank_chars)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } if (edit->use_bce) { /* * If bce_ch is not used here, vttest 11.4.5 "If your terminal * has the ANSI 'Insert Character' function..." will fail. */ sp_ch = &edit->bce_ch; } else { sp_ch = vt_sp_ch(); } for (count = 0; count < num_blank_chars; count++) { vt_char_copy(&blank_chars[count], sp_ch); } vt_str_final(blank_chars, num_blank_chars); /* cursor will not moved. */ return insert_chars(edit, blank_chars, num_blank_chars, 0); } int vt_edit_overwrite_chars(vt_edit_t *edit, vt_char_t *ow_chars, u_int num_ow_chars) { int count; vt_char_t *buffer; u_int buf_len; u_int num_cols; u_int filled_len; vt_line_t *line; int beg; u_int cols; int new_char_index; #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif buf_len = num_ow_chars + edit->model.num_cols; if (edit->cursor.col > edit->hmargin_end) { num_cols = edit->model.num_cols; } else { num_cols = edit->hmargin_end + 1; } if ((buffer = vt_str_alloca(buf_len)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } line = CURSOR_LINE(edit); filled_len = 0; /* before cursor(excluding cursor) */ if (edit->cursor.col_in_char) { int count; /* * padding spaces before cursor. */ for (count = 0; count < edit->cursor.col_in_char; count++) { vt_char_copy(&buffer[filled_len++], vt_sp_ch()); } } /* appending overwriting chars */ vt_str_copy(&buffer[filled_len], ow_chars, num_ow_chars); filled_len += num_ow_chars; /* * overwriting */ beg = 0; count = 0; cols = 0; while (1) { u_int _cols; _cols = vt_char_cols(&buffer[count]); if (edit->cursor.col + cols + _cols > num_cols || (edit->wraparound_ready_line && edit->cursor.col + cols + _cols == num_cols)) { vt_line_overwrite(line, edit->cursor.char_index, &buffer[beg], count - beg, cols); if (!edit->is_auto_wrap) { break; } vt_line_set_continued_to_next(line, 1); if (edit->cursor.row + 1 > edit->vmargin_end) { if (MARGIN_IS_ENABLED(edit) ? !scroll_upward_region(edit, 1, 0, 0) : !vt_edsl_scroll_upward(edit, 1)) { return 0; } /* * If edit->cursor.row == edit->vmargin_end in this situation, * vmargin_beg == vmargin_end. */ if (edit->cursor.row + 1 <= edit->vmargin_end) { edit->cursor.row++; } } else { edit->cursor.row++; } if (edit->hmargin_beg > 0) { vt_cursor_goto_by_col(&edit->cursor, edit->hmargin_beg, edit->cursor.row); } else { edit->cursor.char_index = edit->cursor.col = 0; } /* Reset edit->wraparound_ready_line because it is not cursor line now. */ reset_wraparound_checker(edit); beg = count; cols = _cols; line = CURSOR_LINE(edit); } else { cols += _cols; } if (++count >= filled_len) { break; } } new_char_index = edit->cursor.char_index + count - beg; if (edit->cursor.col + cols >= num_cols && edit->wraparound_ready_line != line) { /* * Don't use vt_line_end_char_index() instead of * new_char_index --, because num_cols is not * vt_model::num_cols but is vt_edit_t::hmargin_end + 1. */ new_char_index--; edit->wraparound_ready_line = line; } else { reset_wraparound_checker(edit); } vt_line_overwrite(line, edit->cursor.char_index, &buffer[beg], count - beg, cols); vt_line_set_continued_to_next(line, 0); vt_cursor_moveh_by_char(&edit->cursor, new_char_index); vt_str_final(buffer, buf_len); #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } /* * deleting cols within a line. */ int vt_edit_delete_cols(vt_edit_t *edit, u_int del_cols) { int char_index; vt_char_t *buffer; u_int buf_len; u_int filled_len; vt_line_t *cursor_line; #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif reset_wraparound_checker(edit); cursor_line = CURSOR_LINE(edit); /* XXX del_cols should be converted to del_chars */ if (edit->cursor.char_index + del_cols >= cursor_line->num_filled_chars) { /* no need to overwrite */ vt_edit_clear_line_to_right(edit); /* Considering BCE */ return 1; } /* * collecting chars after cursor line. */ buf_len = cursor_line->num_filled_chars; if ((buffer = vt_str_alloca(buf_len)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } filled_len = 0; /* before cursor(including cursor) */ if (edit->cursor.col_in_char) { int cols_after; int count; #ifdef DEBUG if (vt_char_cols(CURSOR_CHAR(edit)) <= edit->cursor.col_in_char) { bl_warn_printf(BL_DEBUG_TAG " illegal col_in_char.\n"); } #endif cols_after = vt_char_cols(CURSOR_CHAR(edit)) - edit->cursor.col_in_char; /* * padding spaces before cursor. */ for (count = 0; count < edit->cursor.col_in_char; count++) { vt_char_copy(&buffer[filled_len++], vt_sp_ch()); } if (del_cols >= cols_after) { del_cols -= cols_after; } else { del_cols = 0; /* * padding spaces after cursor. */ for (count = 0; count < cols_after - del_cols; count++) { vt_char_copy(&buffer[filled_len++], vt_sp_ch()); } } char_index = edit->cursor.char_index + 1; } else { char_index = edit->cursor.char_index; } /* after cursor(excluding cursor) + del_cols */ if (del_cols) { u_int cols; cols = vt_char_cols(vt_char_at(cursor_line, char_index++)); if (MARGIN_IS_ENABLED(edit)) { u_int count; u_int copy_len; if (!CURSOR_IS_INSIDE_HMARGIN(edit)) { return 0; } while (cols < del_cols && edit->cursor.col + cols < edit->hmargin_end + 1 && char_index < cursor_line->num_filled_chars) { cols += vt_char_cols(vt_char_at(cursor_line, char_index++)); } copy_len = 0; while (edit->cursor.col + cols < edit->hmargin_end + 1 && char_index + copy_len < cursor_line->num_filled_chars) { cols += vt_char_cols(vt_char_at(cursor_line, char_index + (copy_len++))); } vt_str_copy(buffer + filled_len, vt_char_at(cursor_line, char_index), copy_len); filled_len += copy_len; char_index += copy_len; for (count = 0; count < del_cols; count++) { vt_char_copy(buffer + (filled_len++), edit->use_bce ? &edit->bce_ch : vt_sp_ch()); } } else { while (cols < del_cols && char_index < cursor_line->num_filled_chars) { cols += vt_char_cols(vt_char_at(cursor_line, char_index++)); } } } vt_str_copy(buffer + filled_len, vt_char_at(cursor_line, char_index), cursor_line->num_filled_chars - char_index); filled_len += (cursor_line->num_filled_chars - char_index); if (filled_len > 0) { /* * overwriting. */ vt_edit_clear_line_to_right(edit); /* Considering BCE */ vt_line_overwrite(cursor_line, edit->cursor.char_index, buffer, filled_len, vt_str_cols(buffer, filled_len)); } else { vt_line_reset(cursor_line); } vt_str_final(buffer, buf_len); if (edit->cursor.col_in_char) { vt_cursor_moveh_by_char(&edit->cursor, edit->cursor.char_index + edit->cursor.col_in_char); } #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } int vt_edit_clear_cols(vt_edit_t *edit, u_int cols) { vt_line_t *cursor_line; reset_wraparound_checker(edit); if (edit->cursor.col + cols >= edit->model.num_cols) { return vt_edit_clear_line_to_right(edit); } cursor_line = CURSOR_LINE(edit); if (edit->cursor.col_in_char) { vt_line_fill(cursor_line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), edit->cursor.char_index, edit->cursor.col_in_char); vt_cursor_char_is_cleared(&edit->cursor); } vt_line_fill(cursor_line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), edit->cursor.char_index, cols); return 1; } int vt_edit_insert_new_line(vt_edit_t *edit) { reset_wraparound_checker(edit); if (MARGIN_IS_ENABLED(edit)) { return scroll_downward_region(edit, 1, 1, 0); } else { return vt_edsl_insert_new_line(edit); } } int vt_edit_delete_line(vt_edit_t *edit) { reset_wraparound_checker(edit); if (MARGIN_IS_ENABLED(edit)) { return scroll_upward_region(edit, 1, 1, 0); } else { return vt_edsl_delete_line(edit); } } int vt_edit_clear_line_to_right(vt_edit_t *edit) { vt_line_t *cursor_line; reset_wraparound_checker(edit); cursor_line = CURSOR_LINE(edit); if (edit->cursor.col_in_char) { vt_line_fill(cursor_line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), edit->cursor.char_index, edit->cursor.col_in_char); vt_cursor_char_is_cleared(&edit->cursor); } if (edit->use_bce) { vt_line_clear_with(cursor_line, edit->cursor.char_index, &edit->bce_ch); } else { vt_line_clear(CURSOR_LINE(edit), edit->cursor.char_index); } return 1; } int vt_edit_clear_line_to_left(vt_edit_t *edit) { vt_line_t *cursor_line; reset_wraparound_checker(edit); cursor_line = CURSOR_LINE(edit); vt_line_fill(cursor_line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), 0, edit->cursor.col + 1); vt_cursor_left_chars_in_line_are_cleared(&edit->cursor); return 1; } int vt_edit_clear_below(vt_edit_t *edit) { reset_wraparound_checker(edit); if (!vt_edit_clear_line_to_right(edit)) { return 0; } if (edit->use_bce) { int row; for (row = edit->cursor.row + 1; row < edit->model.num_rows; row++) { vt_line_clear_with(vt_model_get_line(&edit->model, row), 0, &edit->bce_ch); } return 1; } else { return vt_edit_clear_lines(edit, edit->cursor.row + 1, edit->model.num_rows - edit->cursor.row - 1); } } int vt_edit_clear_above(vt_edit_t *edit) { reset_wraparound_checker(edit); if (!vt_edit_clear_line_to_left(edit)) { return 0; } if (edit->use_bce) { int row; for (row = 0; row < edit->cursor.row; row++) { vt_line_clear_with(vt_model_get_line(&edit->model, row), 0, &edit->bce_ch); } return 1; } else { return vt_edit_clear_lines(edit, 0, edit->cursor.row); } } vt_protect_store_t *vt_edit_save_protected_chars(vt_edit_t *edit, int beg_row, /* -1: cursor row (unless relative) */ int end_row, /* -1: cursor row (unless relative) */ int relative) { vt_protect_store_t *save = NULL; vt_char_t *dst; vt_char_t *src; int row; vt_line_t *line; if (relative) { if (edit->is_relative_origin) { if ((beg_row += edit->vmargin_beg) > edit->vmargin_end) { return NULL; } if ((end_row += edit->vmargin_beg) > edit->vmargin_end) { end_row = edit->vmargin_end; } } } else { if (beg_row == -1) { beg_row = vt_cursor_row(edit); } if (end_row == -1) { end_row = vt_cursor_row(edit); } } for (row = beg_row; row <= end_row; row++) { if ((line = vt_edit_get_line(edit, row))) { u_int num = vt_line_get_num_filled_chars_except_sp(line); u_int count; src = line->chars; for (count = 0; count < num; count++, src++) { if (vt_char_is_protected(src)) { if (!save) { if (!(save = malloc(sizeof(vt_protect_store_t) + sizeof(vt_char_t) * (vt_edit_get_cols(edit) + 1) * (end_row - row + 1)))) { return NULL; } dst = save->chars = save + 1; vt_str_init(dst, (vt_edit_get_cols(edit) + 1) * (end_row - row + 1)); dst += count; save->beg_row = row; save->end_row = end_row; } vt_char_copy(dst++, src); } else if (save) { dst += vt_char_cols(src); } } } if (save) { vt_char_copy(dst++, vt_nl_ch()); } } return save; } void vt_edit_restore_protected_chars(vt_edit_t *edit, vt_protect_store_t *save) { int row; int col; u_int cols; vt_line_t *line; vt_char_t *src_p; if (save == NULL) { return; } src_p = save->chars; for (row = save->beg_row; row <= save->end_row; row++) { if ((line = vt_edit_get_line(edit, row))) { for (col = 0; !vt_char_equal(src_p, vt_nl_ch()); src_p++) { if (vt_char_is_protected(src_p)) { cols = vt_char_cols(src_p); vt_line_overwrite(line, /* cols_rest must be always 0, so pass NULL. */ vt_convert_col_to_char_index(line, NULL, col, BREAK_BOUNDARY), src_p, 1, cols); } else { cols = 1; } col += cols; } src_p++; } } vt_str_final(save->chars, (vt_edit_get_cols(edit) + 1) * (save->end_row - save->beg_row + 1)); free(save); } int vt_edit_set_vmargin(vt_edit_t *edit, int beg, int end) { /* * for compatibility with xterm: * * 1. if beg and end is -1, use default. * 2. if beg and end are smaller than 0, ignore the sequence. * 3. if end is not larger than beg, ignore the sequence. * 4. if beg and end are out of window, ignore the sequence. * * (default = full size of window) */ if (beg == -1) { beg = 0; } if (end == -1) { end = vt_model_end_row(&edit->model); } if (beg < 0 || end < 0) { return 0; } if (beg >= end) { return 0; } if (beg >= edit->model.num_rows && end >= edit->model.num_rows) { return 0; } if (beg >= edit->model.num_rows) { beg = vt_model_end_row(&edit->model); } if (end >= edit->model.num_rows) { end = vt_model_end_row(&edit->model); } edit->vmargin_beg = beg; edit->vmargin_end = end; vt_edit_goto(edit, 0, 0); return 1; } void vt_edit_scroll_leftward(vt_edit_t *edit, u_int size) { copy_area(edit, edit->hmargin_beg + size, edit->vmargin_beg, edit->hmargin_end - edit->hmargin_beg + 1 - size, edit->vmargin_end - edit->vmargin_beg + 1, edit, edit->hmargin_beg, edit->vmargin_beg); erase_area(edit, edit->hmargin_end - edit->hmargin_beg + 1 - size, edit->vmargin_beg, size, edit->vmargin_end - edit->vmargin_beg + 1); } void vt_edit_scroll_rightward(vt_edit_t *edit, u_int size) { copy_area(edit, edit->hmargin_beg, edit->vmargin_beg, edit->hmargin_end - edit->hmargin_beg + 1 - size, edit->vmargin_end - edit->vmargin_beg + 1, edit, edit->hmargin_beg + size, edit->vmargin_beg); erase_area(edit, edit->hmargin_beg, edit->vmargin_beg, size, edit->vmargin_end - edit->vmargin_beg + 1); } int vt_edit_scroll_leftward_from_cursor(vt_edit_t *edit, u_int width) { int src; u_int height; if (!CURSOR_IS_INSIDE_HMARGIN(edit) || !CURSOR_IS_INSIDE_VMARGIN(edit)) { return 0; } height = edit->vmargin_end - edit->vmargin_beg + 1; if ((src = edit->cursor.col + width) <= edit->hmargin_end) { copy_area(edit, src, edit->vmargin_beg, edit->hmargin_end - src + 1, height, edit, edit->cursor.col, edit->vmargin_beg); } else { width = edit->hmargin_end - edit->cursor.col + 1; } erase_area(edit, edit->hmargin_end - width + 1, edit->vmargin_beg, width, height); return 1; } int vt_edit_scroll_rightward_from_cursor(vt_edit_t *edit, u_int width) { int dst; u_int height; if (!CURSOR_IS_INSIDE_HMARGIN(edit) || !CURSOR_IS_INSIDE_VMARGIN(edit)) { return 0; } height = edit->vmargin_end - edit->vmargin_beg + 1; if ((dst = edit->cursor.col + width) <= edit->hmargin_end) { copy_area(edit, edit->cursor.col, edit->vmargin_beg, edit->hmargin_end - dst + 1, height, edit, dst, edit->vmargin_beg); } else { width = edit->hmargin_end - edit->cursor.col + 1; } erase_area(edit, edit->cursor.col, edit->vmargin_beg, width, height); return 1; } int vt_edit_scroll_upward(vt_edit_t *edit, u_int size) { int cursor_row; int cursor_col; cursor_row = edit->cursor.row; cursor_col = edit->cursor.col; if (MARGIN_IS_ENABLED(edit)) { scroll_upward_region(edit, size, 0, 1); } else { vt_edsl_scroll_upward(edit, size); } vt_cursor_goto_by_col(&edit->cursor, cursor_col, cursor_row); return 1; } int vt_edit_scroll_downward(vt_edit_t *edit, u_int size) { int cursor_row; int cursor_col; cursor_row = edit->cursor.row; cursor_col = edit->cursor.col; if (MARGIN_IS_ENABLED(edit)) { scroll_downward_region(edit, size, 0, 1); } else { vt_edsl_scroll_downward(edit, size); } vt_cursor_goto_by_col(&edit->cursor, cursor_col, cursor_row); return 1; } void vt_edit_set_use_hmargin(vt_edit_t *edit, int use) { if (use <= 0) { edit->use_margin = 0; edit->hmargin_beg = 0; edit->hmargin_end = edit->model.num_cols - 1; } else { edit->use_margin = 1; } } int vt_edit_set_hmargin(vt_edit_t *edit, int beg, int end) { if (edit->use_margin && 0 <= beg && beg < end && end < edit->model.num_cols) { edit->hmargin_beg = beg; edit->hmargin_end = end; vt_edit_goto(edit, 0, 0); return 1; } else { return 0; } } int vt_edit_forward_tabs(vt_edit_t *edit, u_int num) { return horizontal_tabs(edit, num, 1); } int vt_edit_backward_tabs(vt_edit_t *edit, u_int num) { return horizontal_tabs(edit, num, 0); } void vt_edit_set_tab_size(vt_edit_t *edit, u_int tab_size) { int col; u_int8_t *tab_stops; if (tab_size == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " tab size 0 is not acceptable.\n"); #endif return; } vt_edit_clear_all_tab_stops(edit); col = 0; tab_stops = edit->tab_stops; while (1) { if (col % tab_size == 0) { (*tab_stops) |= (1 << (col % 8)); } col++; if (col >= edit->model.num_cols) { tab_stops++; break; } else if (col % 8 == 7) { tab_stops++; } } #ifdef __DEBUG { int i; bl_debug_printf(BL_DEBUG_TAG " tab stops =>\n"); for (i = 0; i < edit->model.num_cols; i++) { if (vt_edit_is_tab_stop(edit, i)) { bl_msg_printf("*"); } else { bl_msg_printf(" "); } } bl_msg_printf("\n"); } #endif edit->tab_size = tab_size; } void vt_edit_set_tab_stop(vt_edit_t *edit) { edit->tab_stops[edit->cursor.col / 8] |= (1 << (edit->cursor.col % 8)); } void vt_edit_clear_tab_stop(vt_edit_t *edit) { edit->tab_stops[edit->cursor.col / 8] &= ~(1 << (edit->cursor.col % 8)); } void vt_edit_clear_all_tab_stops(vt_edit_t *edit) { memset(edit->tab_stops, 0, TAB_STOPS_SIZE(edit)); } void vt_edit_set_modified_all(vt_edit_t *edit) { u_int count; for (count = 0; count < edit->model.num_rows; count++) { vt_line_set_modified_all(vt_model_get_line(&edit->model, count)); } } void vt_edit_goto_beg_of_line(vt_edit_t *edit) { reset_wraparound_checker(edit); if (edit->hmargin_beg > 0 && edit->cursor.col >= edit->hmargin_beg) { vt_cursor_goto_by_col(&edit->cursor, edit->hmargin_beg, edit->cursor.row); } else { vt_cursor_goto_beg_of_line(&edit->cursor); } } /* * Note that this function ignores edit->is_relative_origin. */ void vt_edit_goto_home(vt_edit_t *edit) { reset_wraparound_checker(edit); vt_cursor_goto_home(&edit->cursor); } int vt_edit_go_forward(vt_edit_t *edit, int flag /* WARPAROUND | SCROLL */ ) { u_int num_cols; #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif if (CURSOR_IS_INSIDE_HMARGIN(edit)) { num_cols = edit->hmargin_end + 1; } else { num_cols = edit->model.num_cols; } reset_wraparound_checker(edit); if (edit->cursor.col + 1 >= num_cols) { if (!(flag & WRAPAROUND)) { return 0; } if (vt_is_scroll_lowerlimit(edit, edit->cursor.row)) { if (!(flag & SCROLL) || (MARGIN_IS_ENABLED(edit) ? !scroll_upward_region(edit, 1, 0, 0) : !vt_edsl_scroll_upward(edit, 1))) { return 0; } } vt_cursor_cr_lf(&edit->cursor); } else if (!vt_cursor_go_forward(&edit->cursor)) { vt_line_break_boundary(CURSOR_LINE(edit), 1); vt_cursor_go_forward(&edit->cursor); } #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } int vt_edit_go_back(vt_edit_t *edit, int flag /* WRAPAROUND | SCROLL */ ) { #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif reset_wraparound_checker(edit); /* * full width char check. */ if (edit->cursor.col_in_char) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " cursor is at 2nd byte of multi byte char.\n"); #endif edit->cursor.col--; edit->cursor.col_in_char--; return 1; } /* * moving backward. */ if (edit->cursor.char_index == 0 || edit->cursor.char_index == edit->hmargin_beg) { if (!(flag & WRAPAROUND)) { return 0; } if (vt_is_scroll_upperlimit(edit, edit->cursor.row)) { if (!(flag & SCROLL) || (MARGIN_IS_ENABLED(edit) ? !scroll_downward_region(edit, 1, 0, 0) : !vt_edsl_scroll_downward(edit, 1))) { return 0; } } if (edit->cursor.row == 0) { return 0; } edit->cursor.row--; edit->cursor.char_index = vt_line_end_char_index(CURSOR_LINE(edit)); } else { edit->cursor.char_index--; } edit->cursor.col_in_char = vt_char_cols(CURSOR_CHAR(edit)) - 1; edit->cursor.col = vt_convert_char_index_to_col(CURSOR_LINE(edit), edit->cursor.char_index, 0) + edit->cursor.col_in_char; #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } int vt_edit_go_upward(vt_edit_t *edit, int flag /* SCROLL */ ) { #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif reset_wraparound_checker(edit); if (vt_is_scroll_upperlimit(edit, edit->cursor.row)) { if (!(flag & SCROLL) || (MARGIN_IS_ENABLED(edit) ? !scroll_downward_region(edit, 1, 0, 0) : !vt_edit_scroll_downward(edit, 1))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor cannot go upward(reaches scroll lower limit).\n"); #endif return 0; } } else { if (!vt_cursor_goto_by_col(&edit->cursor, edit->cursor.col, edit->cursor.row - 1)) { return 0; } } #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } int vt_edit_go_downward(vt_edit_t *edit, int flag /* SCROLL */ ) { #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif reset_wraparound_checker(edit); if (vt_is_scroll_lowerlimit(edit, edit->cursor.row)) { if (!(flag & SCROLL) || (MARGIN_IS_ENABLED(edit) ? !scroll_upward_region(edit, 1, 0, 0) : !vt_edit_scroll_upward(edit, 1))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor cannot go downward(reaches scroll lower limit).\n"); #endif return 0; } } else { if (!vt_cursor_goto_by_col(&edit->cursor, edit->cursor.col, edit->cursor.row + 1)) { return 0; } } #ifdef CURSOR_DEBUG vt_cursor_dump(&edit->cursor); #endif return 1; } int vt_edit_goto(vt_edit_t *edit, int col, int row) { reset_wraparound_checker(edit); if (edit->is_relative_origin) { if ((row += edit->vmargin_beg) > edit->vmargin_end) { row = edit->vmargin_end; } if ((col += edit->hmargin_beg) > edit->hmargin_end) { col = edit->hmargin_end; } } return vt_cursor_goto_by_col(&edit->cursor, col, row); } void vt_edit_set_relative_origin(vt_edit_t *edit, int flag) { edit->is_relative_origin = flag; } void vt_edit_set_auto_wrap(vt_edit_t *edit, int flag) { edit->is_auto_wrap = flag; } int vt_edit_restore_cursor(vt_edit_t *edit) { if (vt_cursor_restore(&edit->cursor)) { reset_wraparound_checker(edit); return 1; } else { return 0; } } void vt_edit_fill_area(vt_edit_t *edit, int code /* Unicode */, int is_protected, int col, int row, u_int num_cols, u_int num_rows) { int char_index; u_int cols_rest; vt_line_t *line; vt_char_t ch; if (!apply_relative_origin(edit, &col, &row, &num_cols, &num_rows)) { return; } vt_char_init(&ch); vt_char_set(&ch, code, code <= 0x7f ? US_ASCII : ISO10646_UCS4_1, /* XXX biwidth is not supported. */ 0, 0, edit->use_bce ? vt_char_fg_color(&edit->bce_ch) : VT_FG_COLOR, edit->use_bce ? vt_char_bg_color(&edit->bce_ch) : VT_BG_COLOR, 0, 0, 0, 0, is_protected); for (; num_rows > 0; num_rows--) { line = vt_model_get_line(&edit->model, row++); char_index = vt_convert_col_to_char_index(line, &cols_rest, col, BREAK_BOUNDARY); if (cols_rest > 0) { vt_line_fill(line, edit->use_bce ? &edit->bce_ch : vt_sp_ch(), char_index, cols_rest); char_index += cols_rest; } vt_line_fill(line, &ch, char_index, num_cols); } vt_char_final(&ch); } void vt_edit_copy_area(vt_edit_t *src_edit, int src_col, int src_row, u_int num_copy_cols, u_int num_copy_rows, vt_edit_t *dst_edit, int dst_col, int dst_row) { if (src_edit->is_relative_origin) { if ((src_row += src_edit->vmargin_beg) > src_edit->vmargin_end || (dst_row += dst_edit->vmargin_beg) > dst_edit->vmargin_end || (src_col += src_edit->hmargin_beg) > src_edit->hmargin_end || (dst_col += dst_edit->hmargin_beg) > dst_edit->hmargin_end) { return; } if (src_row + num_copy_rows > src_edit->vmargin_end + 1) { num_copy_rows = src_edit->vmargin_end + 1 - src_row; } if (dst_row + num_copy_rows > dst_edit->vmargin_end + 1) { num_copy_rows = dst_edit->vmargin_end + 1 - dst_row; } if (src_col + num_copy_cols > src_edit->hmargin_end + 1) { num_copy_cols = src_edit->hmargin_end + 1 - src_col; } if (dst_col + num_copy_cols > dst_edit->hmargin_end + 1) { num_copy_cols = dst_edit->hmargin_end + 1 - dst_col; } } copy_area(src_edit, src_col, src_row, num_copy_cols, num_copy_rows, dst_edit, dst_col, dst_row); } void vt_edit_erase_area(vt_edit_t *edit, int col, int row, u_int num_cols, u_int num_rows) { if (!apply_relative_origin(edit, &col, &row, &num_cols, &num_rows)) { return; } erase_area(edit, col, row, num_cols, num_rows); } void vt_edit_change_attr_area(vt_edit_t *edit, int col, int row, u_int num_cols, u_int num_rows, void (*func)(vt_char_t*, int, int, int, int, int, int, int), int attr) { u_int count; vt_line_t *line; int char_index; int end_char_index; u_int cols_rest; int bold; int italic; int underline_style; int blinking; int reversed; int crossed_out; int overlined; if (attr == 0) { bold = italic = underline_style = blinking = reversed = crossed_out = overlined = -1; } else { bold = italic = underline_style = blinking = reversed = crossed_out = overlined = 0; if (attr == 1) { bold = 1; } else if (attr == 3) { italic = 1; } else if (attr == 4) { underline_style = LS_UNDERLINE_SINGLE; } else if (attr == 5 || attr == 6) { blinking = 1; } else if (attr == 7) { reversed = 1; } else if (attr == 9) { crossed_out = 1; } else if (attr == 21) { underline_style = LS_UNDERLINE_DOUBLE; } else if (attr == 22) { bold = -1; } else if (attr == 23) { italic = -1; } else if (attr == 24) { underline_style = -1; } else if (attr == 25) { blinking = -1; } else if (attr == 27) { reversed = -1; } else if (attr == 29) { crossed_out = -1; } else if (attr == 53) { overlined = 1; } else if (attr == 55) { overlined = -1; } else { return; } } if (!apply_relative_origin(edit, &col, &row, &num_cols, &num_rows)) { return; } for (count = 0; count < num_rows; count++) { if (count == 1 && !edit->use_rect_attr_select) { int old_col; old_col = col; col = edit->is_relative_origin ? edit->hmargin_beg : 0; num_cols += (old_col - col); } if (!(line = vt_edit_get_line(edit, row + count))) { continue; } char_index = vt_convert_col_to_char_index(line, &cols_rest, col, BREAK_BOUNDARY); if (char_index >= line->num_filled_chars && attr > 7) { continue; } if (cols_rest > 0) { char_index++; } if (edit->use_rect_attr_select || count + 1 == num_rows) { end_char_index = vt_convert_col_to_char_index(line, NULL, col + num_cols - 1, BREAK_BOUNDARY); } else { end_char_index = vt_convert_col_to_char_index( line, NULL, edit->is_relative_origin ? edit->hmargin_end : vt_edit_get_cols(edit) - 1, BREAK_BOUNDARY); } vt_line_assure_boundary(line, end_char_index); vt_line_set_modified(line, char_index, end_char_index); for (; char_index <= end_char_index; char_index++) { (*func)(vt_char_at(line, char_index), bold, italic, underline_style, blinking, reversed, crossed_out, overlined); } } } void vt_edit_clear_size_attr(vt_edit_t *edit) { u_int count; for (count = 0; count < edit->model.num_rows; count++) { vt_line_set_size_attr(vt_edit_get_line(edit, count), 0); } } int vt_edit_cursor_logical_col(vt_edit_t *edit) { if (edit->is_relative_origin) { if (edit->cursor.col > edit->hmargin_beg) { return edit->cursor.col - edit->hmargin_beg; } else { return 0; } } return edit->cursor.col; } int vt_edit_cursor_logical_row(vt_edit_t *edit) { if (edit->is_relative_origin) { if (edit->cursor.row > edit->vmargin_beg) { return edit->cursor.row - edit->vmargin_beg; } else { return 0; } } return edit->cursor.row; } /* * for debugging. */ #ifdef DEBUG void vt_edit_dump(vt_edit_t *edit) { int row; vt_line_t *line; bl_debug_printf(BL_DEBUG_TAG " ===> dumping edit...[cursor(index)%d (col)%d (row)%d]\n", edit->cursor.char_index, edit->cursor.col, edit->cursor.row); for (row = 0; row < edit->model.num_rows; row++) { int char_index; line = vt_model_get_line(&edit->model, row); if (vt_line_is_modified(line)) { if (vt_line_is_cleared_to_end(line)) { bl_msg_printf("!%.2d-END", vt_line_get_beg_of_modified(line)); } else { bl_msg_printf("!%.2d-%.2d", vt_line_get_beg_of_modified(line), vt_line_get_end_of_modified(line)); } } else { bl_msg_printf(" "); } bl_msg_printf("[%.2d %.2d]", line->num_filled_chars, vt_line_get_num_filled_cols(line)); if (line->num_filled_chars > 0) { for (char_index = 0; char_index < line->num_filled_chars; char_index++) { if (edit->cursor.row == row && edit->cursor.char_index == char_index) { bl_msg_printf("**"); } vt_char_dump(vt_char_at(line, char_index)); if (edit->cursor.row == row && edit->cursor.char_index == char_index) { bl_msg_printf("**"); } } } bl_msg_printf("\n"); } bl_debug_printf(BL_DEBUG_TAG " <=== end of edit.\n\n"); } void vt_edit_dump_updated(vt_edit_t *edit) { int row; for (row = 0; row < edit->model.num_rows; row++) { bl_msg_printf("(%.2d)%d ", row, vt_line_is_modified(vt_model_get_line(&edit->model, row))); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/vtemu/vt_edit.h010064400017600000144000000134471321054731100145010ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_EDIT_H__ #define __VT_EDIT_H__ #include #include "vt_str.h" #include "vt_line.h" #include "vt_model.h" #include "vt_cursor.h" typedef struct vt_edit_scroll_event_listener { void *self; void (*receive_scrolled_out_line)(void *, vt_line_t *); void (*scrolled_out_lines_finished)(void *); int (*window_scroll_upward_region)(void *, int, int, u_int); int (*window_scroll_downward_region)(void *, int, int, u_int); } vt_edit_scroll_event_listener_t; typedef struct vt_protect_store { vt_char_t *chars; int beg_row; int end_row; } vt_protect_store_t; typedef struct vt_edit { vt_model_t model; vt_cursor_t cursor; u_int tab_size; u_int8_t *tab_stops; vt_char_t bce_ch; /* used for line overlapping */ vt_line_t *wraparound_ready_line; int16_t vmargin_beg; int16_t vmargin_end; vt_edit_scroll_event_listener_t *scroll_listener; int16_t hmargin_beg; int16_t hmargin_end; int8_t use_margin; int8_t is_logging; int8_t is_relative_origin; int8_t is_auto_wrap; int8_t use_bce; int8_t use_rect_attr_select; } vt_edit_t; int vt_edit_init(vt_edit_t *edit, vt_edit_scroll_event_listener_t *scroll_listener, u_int num_cols, u_int num_rows, u_int tab_size, int is_logging, int use_bce); void vt_edit_final(vt_edit_t *edit); int vt_edit_clone(vt_edit_t *dst_edit, vt_edit_t *src_edit); int vt_edit_resize(vt_edit_t *edit, u_int num_cols, u_int num_rows); int vt_edit_insert_chars(vt_edit_t *edit, vt_char_t *chars, u_int num_chars); int vt_edit_insert_blank_chars(vt_edit_t *edit, u_int num_blank_chars); int vt_edit_overwrite_chars(vt_edit_t *edit, vt_char_t *chars, u_int num_chars); int vt_edit_delete_cols(vt_edit_t *edit, u_int delete_cols); int vt_edit_clear_cols(vt_edit_t *edit, u_int cols); int vt_edit_insert_new_line(vt_edit_t *edit); int vt_edit_delete_line(vt_edit_t *edit); int vt_edit_clear_line_to_right(vt_edit_t *edit); int vt_edit_clear_line_to_left(vt_edit_t *edit); int vt_edit_clear_below(vt_edit_t *edit); int vt_edit_clear_above(vt_edit_t *edit); vt_protect_store_t *vt_edit_save_protected_chars(vt_edit_t *edit, int beg_row, int end_row, int relative); void vt_edit_restore_protected_chars(vt_edit_t *edit, vt_protect_store_t *save); int vt_edit_set_vmargin(vt_edit_t *edit, int beg, int end); int vt_edit_scroll_upward(vt_edit_t *edit, u_int size); int vt_edit_scroll_downward(vt_edit_t *edit, u_int size); void vt_edit_scroll_leftward(vt_edit_t *edit, u_int size); void vt_edit_scroll_rightward(vt_edit_t *edit, u_int size); int vt_edit_scroll_leftward_from_cursor(vt_edit_t *edit, u_int size); int vt_edit_scroll_rightward_from_cursor(vt_edit_t *edit, u_int size); void vt_edit_set_use_hmargin(vt_edit_t *edit, int use); int vt_edit_set_hmargin(vt_edit_t *edit, int beg, int end); int vt_edit_forward_tabs(vt_edit_t *edit, u_int num); int vt_edit_backward_tabs(vt_edit_t *edit, u_int num); #define vt_edit_get_tab_size(edit) ((edit)->tab_size) void vt_edit_set_tab_size(vt_edit_t *edit, u_int tab_size); void vt_edit_set_tab_stop(vt_edit_t *edit); #define vt_edit_is_tab_stop(edit, col) ((edit)->tab_stops[(col) / 8] & (1 << ((col) % 8))) void vt_edit_clear_tab_stop(vt_edit_t *edit); void vt_edit_clear_all_tab_stops(vt_edit_t *edit); #define vt_edit_get_line(edit, row) (vt_model_get_line(&(edit)->model, row)) void vt_edit_set_modified_all(vt_edit_t *edit); #define vt_edit_get_cols(edit) ((edit)->model.num_cols) #define vt_edit_get_rows(edit) ((edit)->model.num_rows) int vt_edit_go_forward(vt_edit_t *edit, int flag); int vt_edit_go_back(vt_edit_t *edit, int flag); int vt_edit_go_upward(vt_edit_t *edit, int flag); int vt_edit_go_downward(vt_edit_t *edit, int flag); void vt_edit_goto_beg_of_line(vt_edit_t *edit); void vt_edit_goto_home(vt_edit_t *edit); int vt_edit_goto(vt_edit_t *edit, int col, int row); void vt_edit_set_relative_origin(vt_edit_t *edit, int flag); #define vt_edit_is_relative_origin(edit) ((edit)->is_relative_origin) void vt_edit_set_auto_wrap(vt_edit_t *edit, int flag); #define vt_edit_is_auto_wrap(edit) ((edit)->is_auto_wrap) #define vt_edit_set_use_bce(edit, use) ((edit)->use_bce = (use)) #define vt_edit_is_using_bce(edit) ((edit)->use_bce) #define vt_edit_set_bce_fg_color(edit, fg_color) vt_char_set_fg_color(&(edit)->bce_ch, fg_color) #define vt_edit_set_bce_bg_color(edit, bg_color) vt_char_set_bg_color(&(edit)->bce_ch, bg_color) #define vt_edit_save_cursor(edit) vt_cursor_save(&(edit)->cursor) int vt_edit_restore_cursor(vt_edit_t *edit); void vt_edit_fill_area(vt_edit_t *edit, int code, int is_protected, int col, int row, u_int num_cols, u_int num_rows); void vt_edit_copy_area(vt_edit_t *src_edit, int src_col, int src_row, u_int num_copy_cols, u_int num_copy_rows, vt_edit_t *dst_edit, int dst_col, int dst_row); void vt_edit_erase_area(vt_edit_t *edit, int col, int row, u_int num_cols, u_int num_rows); void vt_edit_change_attr_area(vt_edit_t *edit, int col, int row, u_int num_cols, u_int num_rows, void (*func)(vt_char_t *, int, int, int, int, int, int, int), int attr); void vt_edit_clear_size_attr(vt_edit_t *edit); #define vt_edit_set_use_rect_attr_select(edit, use) ((edit)->use_rect_attr_select = (use)) #define vt_edit_is_using_rect_attr_select(edit) ((edit)->use_rect_attr_select) #define vt_cursor_char_index(edit) ((edit)->cursor.char_index) #define vt_cursor_col(edit) ((edit)->cursor.col) #define vt_cursor_row(edit) ((edit)->cursor.row) int vt_edit_cursor_logical_col(vt_edit_t *edit); int vt_edit_cursor_logical_row(vt_edit_t *edit); #ifdef DEBUG void vt_edit_dump(vt_edit_t *edit); void vt_edit_dump_updated(vt_edit_t *edit); #endif #endif mlterm-3.8.4/vtemu/vt_edit_scroll.c010064400017600000144000000215461321054731100160510ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_edit_scroll.h" #include #include "vt_edit_util.h" /* --- static functions --- */ /* * src and dst may overlap */ static int copy_lines(vt_edit_t *edit, int dst_row, int src_row, u_int size, int mark_changed) { int count; vt_line_t *src_line; vt_line_t *dst_line; if (size == 0 || dst_row == src_row) { return 1; } if (src_row + size > edit->model.num_rows) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " copying %d lines from %d row is over edit->model.num_rows(%d)", size, src_row, edit->model.num_rows); #endif size = edit->model.num_rows - src_row; #ifdef DEBUG bl_msg_printf(" ... size modified -> %d.\n", size); #endif } if (dst_row + size > edit->model.num_rows) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " copying %d lines to %d row is over edit->model.num_rows(%d)", size, dst_row, edit->model.num_rows); #endif size = edit->model.num_rows - dst_row; #ifdef DEBUG bl_msg_printf(" ... size modified -> %d.\n", size); #endif } if (dst_row < src_row) { for (count = 0; count < size; count++) { dst_line = vt_model_get_line(&edit->model, dst_row + count); src_line = vt_model_get_line(&edit->model, src_row + count); vt_line_swap(dst_line, src_line); if (mark_changed) { vt_line_set_modified_all(dst_line); } } } else { for (count = size - 1; count >= 0; count--) { dst_line = vt_model_get_line(&edit->model, dst_row + count); src_line = vt_model_get_line(&edit->model, src_row + count); vt_line_swap(dst_line, src_line); if (mark_changed) { vt_line_set_modified_all(dst_line); } } } return 1; } static int clear_lines_to_eol(vt_edit_t *edit, int beg_row, u_int size) { int count; vt_edit_clear_lines(edit, beg_row, size); for (count = 0; count < size; count++) { vt_line_set_modified_all(vt_model_get_line(&edit->model, beg_row + count)); } return 1; } static int scroll_upward_region(vt_edit_t *edit, int boundary_beg, int boundary_end, u_int size) { int count; int window_is_scrolled; if (boundary_beg + size > boundary_end) { /* * all lines within boundary are scrolled out. */ if (edit->is_logging && edit->scroll_listener->receive_scrolled_out_line) { for (count = boundary_beg; count < boundary_end; count++) { (*edit->scroll_listener->receive_scrolled_out_line)(edit->scroll_listener->self, vt_model_get_line(&edit->model, count)); } } edit->cursor.row = boundary_beg; edit->cursor.col = 0; edit->cursor.char_index = 0; (*edit->scroll_listener->scrolled_out_lines_finished)(edit->scroll_listener->self); return clear_lines_to_eol(edit, boundary_beg, boundary_end - boundary_beg + 1); } /* * scrolling up in window. * * !! Notice !! * This should be done before vt_edit_t data structure is chanegd * for the listener object to clear existing cache. */ #if 0 bl_debug_printf(" SCROLL UP region %d %d size %d\n", boundary_beg, boundary_end, size); #endif window_is_scrolled = (*edit->scroll_listener->window_scroll_upward_region)( edit->scroll_listener->self, boundary_beg, boundary_end, size); /* * handing over scrolled out lines , and calculating scrolling beg/end y * positions. */ if (edit->is_logging && edit->scroll_listener->receive_scrolled_out_line) { for (count = boundary_beg; count < boundary_beg + size; count++) { (*edit->scroll_listener->receive_scrolled_out_line)(edit->scroll_listener->self, vt_model_get_line(&edit->model, count)); } } /* * resetting cursor position. */ if (boundary_beg <= edit->cursor.row && edit->cursor.row <= boundary_end) { if (edit->cursor.row < boundary_beg + size) { edit->cursor.row = boundary_beg; edit->cursor.char_index = 0; edit->cursor.col = 0; } else { edit->cursor.row -= size; } } /* * scrolling up in edit. */ if (boundary_beg == 0 && boundary_end == vt_model_end_row(&edit->model)) { vt_model_scroll_upward(&edit->model, size); } else { copy_lines(edit, boundary_beg, boundary_beg + size, boundary_end - (boundary_beg + size) + 1, 0); } if (!window_is_scrolled) { int count; vt_edit_clear_lines(edit, boundary_end - size + 1, size); for (count = boundary_beg; count <= boundary_end; count++) { vt_line_set_modified_all(vt_model_get_line(&edit->model, count)); } } else { clear_lines_to_eol(edit, boundary_end - size + 1, size); } /* * This must be called after vt_model_scroll_upward() because * scrolled_out_lines_finished() * can change vt_model_t. */ (*edit->scroll_listener->scrolled_out_lines_finished)(edit->scroll_listener->self); return 1; } static int scroll_downward_region(vt_edit_t *edit, int boundary_beg, int boundary_end, u_int size) { int window_is_scrolled; if (boundary_beg + size > boundary_end) { /* * all lines within boundary are scrolled out. */ edit->cursor.row = boundary_end; edit->cursor.col = 0; edit->cursor.char_index = 0; return clear_lines_to_eol(edit, boundary_beg, boundary_end - boundary_beg + 1); } /* * scrolling down in window. * * !! Notice !! * This should be done before vt_edit_t data structure is chanegd * for the listener object to clear existing cache. */ #if 0 bl_debug_printf(" SCROLL DOWN region %d %d size %d\n", boundary_beg, boundary_end, size); #endif window_is_scrolled = (*edit->scroll_listener->window_scroll_downward_region)( edit->scroll_listener->self, boundary_beg, boundary_end, size); /* * resetting cursor position. */ if (boundary_beg <= edit->cursor.row && edit->cursor.row <= boundary_end) { if (edit->cursor.row + size >= boundary_end + 1) { edit->cursor.row = boundary_end; edit->cursor.char_index = 0; edit->cursor.col = 0; } else { edit->cursor.row += size; } } /* * scrolling down in edit. */ if (boundary_beg == 0 && boundary_end == vt_model_end_row(&edit->model)) { vt_model_scroll_downward(&edit->model, size); } else { copy_lines(edit, boundary_beg + size, boundary_beg, (boundary_end - size) - boundary_beg + 1, 0); } if (!window_is_scrolled) { int count; vt_edit_clear_lines(edit, boundary_beg, size); for (count = boundary_beg; count <= boundary_end; count++) { vt_line_set_modified_all(vt_model_get_line(&edit->model, count)); } } else { clear_lines_to_eol(edit, boundary_beg, size); } return 1; } /* --- global functions --- */ int vt_edsl_scroll_upward(vt_edit_t *edit, u_int size) { #if 0 /* * XXX * Can this cause unexpected result ? */ if (edit->vmargin_beg > edit->cursor.row || edit->cursor.row > edit->vmargin_end) { return 0; } #endif return scroll_upward_region(edit, edit->vmargin_beg, edit->vmargin_end, size); } int vt_edsl_scroll_downward(vt_edit_t *edit, u_int size) { #if 0 /* * XXX * Can this cause unexpected result ? */ if (edit->vmargin_beg > edit->cursor.row || edit->cursor.row > edit->vmargin_end) { return 0; } #endif return scroll_downward_region(edit, edit->vmargin_beg, edit->vmargin_end, size); } /* * XXX * not used for now. */ #if 0 int vt_edsl_scroll_upward_in_all(vt_edit_t *edit, u_int size) { return scroll_upward_region(edit, 0, edit->model.num_rows - 1, size); } int vt_edsl_scroll_downward_in_all(vt_edit_t *edit, u_int size) { return scroll_downward_region(edit, 0, edit->model.num_rows - 1, size); } #endif int vt_is_scroll_upperlimit(vt_edit_t *edit, int row) { return (row == edit->vmargin_beg); } int vt_is_scroll_lowerlimit(vt_edit_t *edit, int row) { return (row == edit->vmargin_end); } int vt_edsl_insert_new_line(vt_edit_t *edit) { int start_row; int start_col; int end_row; if (edit->cursor.row < edit->vmargin_beg || edit->vmargin_end < edit->cursor.row) { return 0; } start_row = edit->cursor.row; start_col = edit->cursor.col; end_row = edit->vmargin_end; scroll_downward_region(edit, start_row, end_row, 1); vt_cursor_goto_by_col(&edit->cursor, start_col, start_row); vt_edit_clear_line_to_right(edit); return 1; } int vt_edsl_delete_line(vt_edit_t *edit) { int start_row; int start_col; int end_row; int is_logging; if (edit->cursor.row < edit->vmargin_beg || edit->vmargin_end < edit->cursor.row) { return 0; } is_logging = edit->is_logging; edit->is_logging = 0; start_row = edit->cursor.row; start_col = edit->cursor.col; end_row = edit->vmargin_end; scroll_upward_region(edit, start_row, end_row, 1); vt_edit_clear_lines(edit, end_row, 1); vt_cursor_goto_by_col(&edit->cursor, start_col, start_row); edit->is_logging = is_logging; return 1; } mlterm-3.8.4/vtemu/vt_edit_scroll.h010064400017600000144000000011501321054731100160430ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_EDIT_SCROLL_H__ #define __VT_EDIT_SCROLL_H__ #include "vt_edit.h" int vt_edsl_scroll_upward(vt_edit_t *edit, u_int size); int vt_edsl_scroll_downward(vt_edit_t *edit, u_int size); #if 0 int vt_edsl_scroll_upward_in_all(vt_edit_t *edit, u_int size); int vt_edsl_scroll_downward_in_all(vt_edit_t *edit, u_int size); #endif int vt_is_scroll_upperlimit(vt_edit_t *edit, int row); int vt_is_scroll_lowerlimit(vt_edit_t *edit, int row); int vt_edsl_delete_line(vt_edit_t *edit); int vt_edsl_insert_new_line(vt_edit_t *edit); #endif mlterm-3.8.4/vtemu/vt_edit_util.c010064400017600000144000000023401321054731100155170ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_edit_util.h" #include /* --- global functions --- */ /* * used in vt_edit/vt_edit_scroll */ int vt_edit_clear_lines(vt_edit_t *edit, int beg_row, u_int size) { int count; if (size == 0) { return 0; } if (beg_row > vt_model_end_row(&edit->model)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " line %d is already empty.\n", beg_row); #endif return 0; } if (edit->use_bce) { for (count = 0; count < size; count++) { vt_line_clear_with(vt_model_get_line(&edit->model, beg_row + count), 0, &edit->bce_ch); } } else { for (count = 0; count < size; count++) { vt_line_reset(vt_model_get_line(&edit->model, beg_row + count)); } } if (beg_row <= edit->cursor.row && edit->cursor.row <= beg_row + size - 1) { u_int brk_size; if ((brk_size = vt_line_break_boundary(CURSOR_LINE(edit), edit->cursor.col + 1)) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " critical error.\n"); #endif edit->cursor.char_index = edit->cursor.col = 0; } else { edit->cursor.char_index = edit->cursor.col = brk_size - 1; } edit->cursor.col_in_char = 0; } return 1; } mlterm-3.8.4/vtemu/vt_edit_util.h010064400017600000144000000007241321054731100155300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_EDIT_UTIL_H__ #define __VT_EDIT_UTIL_H__ #include #include "vt_edit.h" #define CURSOR_LINE(edit) vt_get_cursor_line(&(edit)->cursor) #define CURSOR_CHAR(edit) vt_get_cursor_char(&(edit)->cursor) int vt_edit_clear_lines(vt_edit_t *edit, int start, u_int size); int vt_edit_copy_lines(vt_edit_t *edit, int dst_row, int src_row, u_int size, int mark_changed); #endif mlterm-3.8.4/vtemu/vt_font.h010064400017600000144000000027151321054731100145160ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_FONT_H__ #define __VT_FONT_H__ #include #undef MAX_CHARSET #define MAX_CHARSET 0x1ff #define FONT_CS(font) ((font) & MAX_CHARSET) #define FONT_STYLES (FONT_BOLD | FONT_ITALIC) #define FONT_STYLE_INDEX(font) ((((font) & FONT_STYLES) >> 10) - 1) #define UNICODE_AREA(font) (((font) >> 12) & 0xff) #define NORMAL_FONT_OF(cs) (IS_FULLWIDTH_CS(cs) ? (cs) | FONT_FULLWIDTH : (cs)) #define SIZE_ATTR_FONT(font, size_attr) ((font) | (((int)(size_attr)) << 21)) #define SIZE_ATTR_OF(font) (((font) >> 21) & 0x3) #define NO_SIZE_ATTR(font) ((font) & ~(0x3 << 21)) enum { DOUBLE_WIDTH = 0x1, DOUBLE_HEIGHT_TOP = 0x2, DOUBLE_HEIGHT_BOTTOM = 0x3, }; typedef enum vt_font { /* 0x00 - MAX_CHARSET(0x1ff) is reserved for ef_charset_t */ /* for unicode half or full width tag */ FONT_FULLWIDTH = 0x200u, /* (default) half width */ /* for font thickness */ FONT_BOLD = 0x400u, /* (default) medium */ /* for font slant */ FONT_ITALIC = 0x800u, /* (default) roman */ /* * Note that FONT_ROTATED is defined in fb/ui_font.c as (FONT_ITALIC << 1), * so be careful to add new entries after FONT_ITALIC. */ #if 0 /* font width */ FONT_SEMICONDENSED /* (default) normal */ #endif /* * 0x1000 - 0xff000 is used for Unicode range mark (see vt_get_unicode_area_font) * 0x200000 - 0x700000 is used for size_attr (see ui_font_manager.c) */ } vt_font_t; #endif mlterm-3.8.4/vtemu/vt_iscii.c010064400017600000144000000033141321054731100146370ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_iscii.h" #include /* memcpy */ #include "vt_ctl_loader.h" /* --- global functions --- */ #ifndef NO_DYNAMIC_LOAD_CTL #ifdef __APPLE__ vt_isciikey_state_t vt_isciikey_state_new(int) __attribute__((weak)); void vt_isciikey_state_delete(vt_isciikey_state_t) __attribute__((weak)); size_t vt_convert_ascii_to_iscii(vt_isciikey_state_t, u_char*, size_t, u_char*, size_t) __attribute__((weak)); #endif vt_isciikey_state_t vt_isciikey_state_new(int is_inscript) { vt_isciikey_state_t (*func)(int); if (!(func = vt_load_ctl_iscii_func(VT_ISCIIKEY_STATE_NEW))) { return NULL; } return (*func)(is_inscript); } void vt_isciikey_state_delete(vt_isciikey_state_t state) { void (*func)(vt_isciikey_state_t); if (!(func = vt_load_ctl_iscii_func(VT_ISCIIKEY_STATE_DELETE))) { return; } (*func)(state); } size_t vt_convert_ascii_to_iscii(vt_isciikey_state_t state, u_char *iscii, size_t iscii_len, u_char *ascii, size_t ascii_len) { int (*func)(vt_isciikey_state_t, u_char*, size_t, u_char*, size_t); if (!(func = vt_load_ctl_iscii_func(VT_CONVERT_ASCII_TO_ISCII))) { return 0; } return (*func)(state, iscii, iscii_len, ascii, ascii_len); } #else #ifdef USE_IND #include "libctl/vt_iscii.c" #else /* * Dummy functions are necessary for x_im.c */ vt_isciikey_state_t vt_isciikey_state_new(int is_inscript) { return NULL; } void vt_isciikey_state_delete(vt_isciikey_state_t state) {} size_t vt_convert_ascii_to_iscii(vt_isciikey_state_t state, u_char *iscii, size_t iscii_len, u_char *ascii, size_t ascii_len) { return 0; } #endif #endif mlterm-3.8.4/vtemu/vt_iscii.h010064400017600000144000000010531321054731100146420ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_ISCII_H__ #define __VT_ISCII_H__ #include /* u_int/u_char */ typedef struct vt_isciikey_state *vt_isciikey_state_t; typedef struct vt_iscii_state *vt_iscii_state_t; vt_isciikey_state_t vt_isciikey_state_new(int is_inscript); void vt_isciikey_state_delete(vt_isciikey_state_t state); size_t vt_convert_ascii_to_iscii(vt_isciikey_state_t state, u_char *iscii, size_t iscii_len, u_char *ascii, size_t ascii_len); #endif mlterm-3.8.4/vtemu/vt_line.c010064400017600000144000001241721321054731100144740ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_line.h" #include /* memset */ #include #include /* K_MIN */ #include /* alloca */ #include "vt_ctl_loader.h" #include "vt_ot_layout.h" #if 0 #define __DEBUG #endif #ifdef __DEBUG #define END_CHAR_INDEX(line) \ ((line)->num_filled_chars == 0 && \ bl_debug_printf("END_CHAR_INDEX()" BL_DEBUG_TAG " num_filled_chars is 0.\n") \ ? 0 \ : (line)->num_filled_chars - 1) #else #define END_CHAR_INDEX(line) \ ((line)->num_filled_chars == 0 ? 0 : (line)->num_filled_chars - 1) #endif #define IS_EMPTY(line) ((line)->num_filled_chars == 0) #define vt_line_is_using_bidi(line) ((line)->ctl_info_type == VINFO_BIDI) #define vt_line_is_using_iscii(line) ((line)->ctl_info_type == VINFO_ISCII) #define vt_line_is_using_ot_layout(line) ((line)->ctl_info_type == VINFO_OT_LAYOUT) /* You can specify this macro by configure script option. */ #if 0 #define OPTIMIZE_REDRAWING #endif /* --- static functions --- */ #ifndef NO_DYNAMIC_LOAD_CTL static int vt_line_set_use_bidi(vt_line_t *line, int flag) { int (*func)(vt_line_t *, int); if (!(func = vt_load_ctl_bidi_func(VT_LINE_SET_USE_BIDI))) { return 0; } return (*func)(line, flag); } static int vt_line_bidi_convert_visual_char_index_to_logical(vt_line_t *line, int char_index) { int (*func)(vt_line_t *, int); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_CONVERT_VISUAL_CHAR_INDEX_TO_LOGICAL))) { return char_index; } return (*func)(line, char_index); } static int vt_line_bidi_copy_logical_str(vt_line_t *line, vt_char_t *dst, int beg, /* visual position */ u_int len) { int (*func)(vt_line_t *, vt_char_t *, int, u_int); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_COPY_LOGICAL_STR))) { return 0; } return (*func)(line, dst, beg, len); } static int vt_line_bidi_is_rtl(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_IS_RTL))) { return 0; } return (*func)(line); } static int vt_bidi_copy(vt_bidi_state_t dst, vt_bidi_state_t src, int optimize_ctl_info) { int (*func)(vt_bidi_state_t, vt_bidi_state_t, int); if (!(func = vt_load_ctl_bidi_func(VT_BIDI_COPY))) { return 0; } return (*func)(dst, src, optimize_ctl_info); } static int vt_bidi_reset(vt_bidi_state_t state) { int (*func)(vt_bidi_state_t); if (!(func = vt_load_ctl_bidi_func(VT_BIDI_RESET))) { return 0; } return (*func)(state); } static int vt_line_bidi_render(vt_line_t *line, vt_bidi_mode_t bidi_mode, const char *separators) { int (*func)(vt_line_t *, vt_bidi_mode_t, const char *); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_RENDER))) { return 0; } return (*func)(line, bidi_mode, separators); } static int vt_line_bidi_visual(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_VISUAL))) { return 0; } return (*func)(line); } static int vt_line_bidi_logical(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_LOGICAL))) { return 0; } return (*func)(line); } static int vt_line_set_use_iscii(vt_line_t *line, int flag) { int (*func)(vt_line_t *, int); if (!(func = vt_load_ctl_iscii_func(VT_LINE_SET_USE_ISCII))) { return 0; } return (*func)(line, flag); } static int vt_iscii_copy(vt_iscii_state_t dst, vt_iscii_state_t src, int optimize_ctl_info) { int (*func)(vt_iscii_state_t, vt_iscii_state_t, int); if (!(func = vt_load_ctl_iscii_func(VT_ISCII_COPY))) { return 0; } return (*func)(dst, src, optimize_ctl_info); } static int vt_iscii_reset(vt_iscii_state_t state) { int (*func)(vt_iscii_state_t); if (!(func = vt_load_ctl_iscii_func(VT_ISCII_RESET))) { return 0; } return (*func)(state); } static int vt_line_iscii_render(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_iscii_func(VT_LINE_ISCII_RENDER))) { return 0; } return (*func)(line); } static int vt_line_iscii_visual(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_iscii_func(VT_LINE_ISCII_VISUAL))) { return 0; } return (*func)(line); } static int vt_line_iscii_logical(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_iscii_func(VT_LINE_ISCII_LOGICAL))) { return 0; } return (*func)(line); } #else /* NO_DYNAMIC_LOAD_CTL */ #ifndef USE_FRIBIDI #define vt_line_set_use_bidi(line, flag) (0) #define vt_line_bidi_convert_visual_char_index_to_logical(line, char_index) (char_index) #define vt_line_bidi_copy_logical_str(line, dst, beg, len) (0) #define vt_line_bidi_is_rtl(line) (0) #define vt_bidi_copy(dst, src, optimize) (0) #define vt_bidi_reset(state) (0) #define vt_line_bidi_render(line, bidi_mode, separators) (0) #define vt_line_bidi_visual(line) (0) #define vt_line_bidi_logical(line) (0) #else /* Link functions in libctl/vt_*bidi.c */ int vt_line_set_use_bidi(vt_line_t *line, int flag); int vt_line_bidi_convert_visual_char_index_to_logical(vt_line_t *line, int char_index); int vt_line_bidi_copy_logical_str(vt_line_t *line, vt_char_t *dst, int beg, u_int len); int vt_line_bidi_is_rtl(vt_line_t *line); int vt_bidi_copy(vt_bidi_state_t dst, vt_bidi_state_t src, int optimize); int vt_bidi_reset(vt_bidi_state_t state); int vt_line_bidi_convert_logical_char_index_to_visual(vt_line_t *line, int char_index, u_int32_t *meet_pos_info); int vt_line_bidi_render(vt_line_t *line, vt_bidi_mode_t bidi_mode, const char *separators); int vt_line_bidi_visual(vt_line_t *line); int vt_line_bidi_logical(vt_line_t *line); #endif /* USE_FRIBIDI */ #ifndef USE_IND #define vt_line_set_use_iscii(line, flag) (0) #define vt_iscii_copy(dst, src, optimize) (0) #define vt_iscii_reset(state) (0) #define vt_line_iscii_render(line) (0) #define vt_line_iscii_visual(line) (0) #define vt_line_iscii_logical(line) (0) #else /* Link functions in libctl/vt_*iscii.c */ int vt_line_set_use_iscii(vt_line_t *line, int flag); int vt_iscii_copy(vt_iscii_state_t dst, vt_iscii_state_t src, int optimize); int vt_iscii_reset(vt_iscii_state_t state); int vt_line_iscii_convert_logical_char_index_to_visual(vt_line_t *line, int logical_char_index); int vt_line_iscii_render(vt_line_t *line); int vt_line_iscii_visual(vt_line_t *line); int vt_line_iscii_logical(vt_line_t *line); #endif /* USE_IND */ #endif /* NO_DYNAMIC_LOAD_CTL */ #ifdef USE_OT_LAYOUT static int vt_line_set_use_ot_layout(vt_line_t *line, int flag) { if (flag) { if (vt_line_is_using_ot_layout(line)) { return 1; } else if (line->ctl_info_type != 0) { return 0; } if ((line->ctl_info.ot_layout = vt_ot_layout_new()) == NULL) { return 0; } line->ctl_info_type = VINFO_OT_LAYOUT; } else { if (vt_line_is_using_ot_layout(line)) { vt_ot_layout_delete(line->ctl_info.ot_layout); line->ctl_info_type = 0; } } return 1; } /* The caller should check vt_line_is_using_ot_layout() in advance. */ static int vt_line_ot_layout_visual(vt_line_t *line) { vt_char_t *src; u_int src_len; vt_char_t *dst; u_int dst_len; int dst_pos; int src_pos; if (line->ctl_info.ot_layout->size == 0 || !line->ctl_info.ot_layout->substituted) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " Not need to visualize.\n"); #endif return 1; } src_len = line->num_filled_chars; if ((src = vt_str_alloca(src_len)) == NULL) { return 0; } vt_str_copy(src, line->chars, src_len); dst_len = line->ctl_info.ot_layout->size; if (line->num_chars < dst_len) { vt_char_t *chars; if ((chars = vt_str_new(dst_len))) { /* XXX => shrunk at vt_screen.c and vt_logical_visual_ctl.c */ vt_str_delete(line->chars, line->num_chars); line->chars = chars; line->num_chars = dst_len; } else { line->ctl_info.ot_layout->size = dst_len = line->num_chars; } } dst = line->chars; src_pos = 0; for (dst_pos = 0; dst_pos < dst_len; dst_pos++) { if (line->ctl_info.ot_layout->num_chars_array[dst_pos] == 0) { /* * (logical)ACD -> (visual)A0CD -> (shaped)abcd * B B * (B is combining char) */ vt_char_copy(dst + dst_pos, vt_get_base_char(src + src_pos - 1)); vt_char_set_code(dst + dst_pos, 0); } else { u_int count; vt_char_copy(dst + dst_pos, src + (src_pos++)); for (count = 1; count < line->ctl_info.ot_layout->num_chars_array[dst_pos]; count++) { vt_char_t *comb; u_int num; #ifdef DEBUG if (vt_char_is_comb(vt_get_base_char(src + src_pos))) { bl_debug_printf(BL_DEBUG_TAG " illegal ot_layout\n"); } #endif vt_char_combine_simple(dst + dst_pos, vt_get_base_char(src + src_pos)); comb = vt_get_combining_chars(src + (src_pos++), &num); for (; num > 0; num--) { #ifdef DEBUG if (!vt_char_is_comb(comb)) { bl_debug_printf(BL_DEBUG_TAG " illegal ot_layout\n"); } #endif vt_char_combine_simple(dst + dst_pos, comb++); } } } } #ifdef DEBUG if (src_pos != src_len) { bl_debug_printf(BL_DEBUG_TAG "vt_line_ot_layout_visual() failed: %d -> %d\n", src_len, src_pos); } #endif vt_str_final(src, src_len); line->num_filled_chars = dst_pos; return 1; } /* The caller should check vt_line_is_using_ot_layout() in advance. */ static int vt_line_ot_layout_logical(vt_line_t *line) { vt_char_t *src; u_int src_len; vt_char_t *dst; int src_pos; if (line->ctl_info.ot_layout->size == 0 || !line->ctl_info.ot_layout->substituted) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " Not need to logicalize.\n"); #endif return 1; } src_len = line->num_filled_chars; if ((src = vt_str_alloca(src_len)) == NULL) { return 0; } vt_str_copy(src, line->chars, src_len); dst = line->chars; for (src_pos = 0; src_pos < line->ctl_info.ot_layout->size; src_pos++) { vt_char_t *comb; u_int num; if (line->ctl_info.ot_layout->num_chars_array[src_pos] == 0) { continue; } if (vt_char_cs(src + src_pos) == ISO10646_UCS4_1_V) { vt_char_set_cs(src + src_pos, ISO10646_UCS4_1); } if (line->ctl_info.ot_layout->num_chars_array[src_pos] == 1) { vt_char_copy(dst, src + src_pos); } else { vt_char_copy(dst, vt_get_base_char(src + src_pos)); comb = vt_get_combining_chars(src + src_pos, &num); for (; num > 0; num--, comb++) { if (vt_char_cs(comb) == ISO10646_UCS4_1_V) { vt_char_set_cs(comb, ISO10646_UCS4_1); } if (vt_char_is_comb(comb)) { vt_char_combine_simple(dst, comb); } else { vt_char_copy(++dst, comb); } } } dst++; } vt_str_final(src, src_len); line->num_filled_chars = dst - line->chars; return 1; } /* The caller should check vt_line_is_using_ot_layout() in advance. */ static int vt_line_ot_layout_convert_logical_char_index_to_visual(vt_line_t *line, int logical_char_index) { int visual_char_index; if (vt_line_is_empty(line)) { return 0; } if (line->ctl_info.ot_layout->size == 0 || !line->ctl_info.ot_layout->substituted) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " logical char_index is same as visual one.\n"); #endif return logical_char_index; } for (visual_char_index = 0; visual_char_index < line->ctl_info.ot_layout->size; visual_char_index++) { if (logical_char_index == 0 || (logical_char_index -= line->ctl_info.ot_layout->num_chars_array[visual_char_index]) < 0) { break; } } return visual_char_index; } /* The caller should check vt_line_is_using_ot_layout() in advance. */ static int vt_line_ot_layout_render(vt_line_t *line, /* is always modified */ void *term) { int ret; int visual_mod_beg; int visual_mod_end; /* * Lower case: ASCII * Upper case: GLYPH INDEX * (Logical) AAA == (Visual) BBBBB * => (Logical) aaa == (Visual) aaa * In this case vt_line_is_cleared_to_end() returns 0, so "BB" remains on * the screen unless following vt_line_set_modified(). */ visual_mod_beg = vt_line_get_beg_of_modified(line); if (line->ctl_info.ot_layout->substituted) { visual_mod_beg = vt_line_ot_layout_convert_logical_char_index_to_visual(line, visual_mod_beg); } if (vt_line_is_real_modified(line)) { int char_index; int complex_shape = line->ctl_info.ot_layout->complex_shape; int has_var_width_char = line->ctl_info.ot_layout->has_var_width_char; int count; line->ctl_info.ot_layout->term = term; if ((ret = vt_ot_layout(line->ctl_info.ot_layout, line->chars, line->num_filled_chars)) <= 0) { return ret; } complex_shape |= line->ctl_info.ot_layout->complex_shape; has_var_width_char |= line->ctl_info.ot_layout->has_var_width_char; if (line->ctl_info.ot_layout->substituted) { int beg; if ((beg = vt_line_ot_layout_convert_logical_char_index_to_visual( line, vt_line_get_beg_of_modified(line))) < visual_mod_beg) { visual_mod_beg = beg; } } if (has_var_width_char) { visual_mod_end = line->num_chars; } else { visual_mod_end = vt_line_ot_layout_convert_logical_char_index_to_visual(line, vt_line_get_end_of_modified(line)); } if (complex_shape) { /* * XXX * * Input Logical Visual * ! => ! => ! * ^ ^ * = => != => =/= * ^ ^^^ * ('=' after '!' should be redrawn in logical, but the first '!' should * be also redrawn in visual.) */ for (count = 0; visual_mod_beg > 0 && count < 4; count++, visual_mod_beg--) { if (vt_char_code(line->chars + visual_mod_beg - 1) == 0x20 /* SP */) { break; } } /* If trailing characters in this line are all spaces, visual_mod_end is not modified. */ for (char_index = visual_mod_end + 1; char_index < line->num_filled_chars; char_index++) { if (vt_char_code(line->chars + char_index) != 0x20 /* SP */) { visual_mod_end = line->num_chars; break; } } } } else { visual_mod_end = vt_line_ot_layout_convert_logical_char_index_to_visual(line, vt_line_get_end_of_modified(line)); } vt_line_set_modified(line, visual_mod_beg, visual_mod_end); return 1; } #endif /* USE_OT_LAYOUT */ static void copy_line(vt_line_t *dst, vt_line_t *src, int optimize_ctl_info) { u_int copy_len; copy_len = K_MIN(src->num_filled_chars, dst->num_chars); vt_str_copy(dst->chars, src->chars, copy_len); dst->num_filled_chars = copy_len; dst->change_beg_col = K_MIN(src->change_beg_col, dst->num_chars); dst->change_end_col = K_MIN(src->change_end_col, dst->num_chars); dst->is_modified = src->is_modified; dst->is_continued_to_next = src->is_continued_to_next; dst->size_attr = src->size_attr; #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) if (vt_line_is_using_bidi(src)) { if (vt_line_is_using_bidi(dst) || vt_line_set_use_bidi(dst, 1)) { /* * Don't use vt_line_bidi_render() here, * or it is impossible to call this function in visual context. */ if (dst->num_chars < src->num_filled_chars) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Not copy vt_bidi.\n"); #endif } else if (vt_bidi_copy(dst->ctl_info.bidi, src->ctl_info.bidi, optimize_ctl_info) == -1) { dst->ctl_info_type = 0; dst->ctl_info.bidi = NULL; } } } else if (vt_line_is_using_bidi(dst)) { vt_line_set_use_bidi(dst, 0); } #endif #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) if (vt_line_is_using_iscii(src)) { if (vt_line_is_using_iscii(dst) || vt_line_set_use_iscii(dst, 1)) { /* * Don't use vt_line_iscii_render() here, * or it is impossible to call this function in visual context. */ if (dst->num_chars < src->num_filled_chars) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Not copy vt_iscii.\n"); #endif } else if (vt_iscii_copy(dst->ctl_info.iscii, src->ctl_info.iscii, optimize_ctl_info) == -1) { dst->ctl_info_type = 0; dst->ctl_info.iscii = NULL; } } } else if (vt_line_is_using_iscii(dst)) { vt_line_set_use_iscii(dst, 0); } #endif #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(src)) { if (vt_line_is_using_ot_layout(dst) || vt_line_set_use_ot_layout(dst, 1)) { /* * Don't use vt_line_ot_layout_render() here, * or it is impossible to call this function in visual context. */ if (dst->num_chars < src->num_filled_chars) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Not copy vt_ot_layout.\n"); #endif } else if (vt_ot_layout_copy(dst->ctl_info.ot_layout, src->ctl_info.ot_layout, optimize_ctl_info) == -1) { dst->ctl_info_type = 0; dst->ctl_info.ot_layout = NULL; } } } else if (vt_line_is_using_ot_layout(dst)) { vt_line_set_use_ot_layout(dst, 0); } #endif } static void set_real_modified(vt_line_t *line, int beg_char_index, int end_char_index) { vt_line_set_modified(line, beg_char_index, end_char_index); line->is_modified = 2; } /* --- global functions --- */ /* * Functions which doesn't have to care about visual order. */ int vt_line_init(vt_line_t *line, u_int num_chars) { memset(line, 0, sizeof(vt_line_t)); if ((line->chars = vt_str_new(num_chars)) == NULL) { return 0; } line->num_chars = num_chars; return 1; } int vt_line_clone(vt_line_t *clone, vt_line_t *orig, u_int num_chars) { if (vt_line_init(clone, num_chars)) { copy_line(clone, orig, 1 /* clone->ctl_info can be uncopied. */); return 1; } else { return 0; } } void vt_line_final(vt_line_t *line) { if (vt_line_is_using_bidi(line)) { vt_line_set_use_bidi(line, 0); } else if (vt_line_is_using_iscii(line)) { vt_line_set_use_iscii(line, 0); } #ifdef USE_OT_LAYOUT else if (vt_line_is_using_ot_layout(line)) { vt_line_set_use_ot_layout(line, 0); } #endif if (line->chars) { vt_str_delete(line->chars, line->num_chars); } } /* * return: actually broken chars. */ u_int vt_line_break_boundary(vt_line_t *line, u_int size) { int count; if (line->num_filled_chars + size > line->num_chars) { /* over line length */ #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " breaking from col %d by size %d failed.", line->num_filled_chars, size); #endif size = line->num_chars - line->num_filled_chars; #ifdef DEBUG bl_msg_printf(" ... size modified -> %d\n", size); #endif } if (size == 0) { /* nothing is done */ return 0; } /* padding spaces */ for (count = line->num_filled_chars; count < line->num_filled_chars + size; count++) { vt_char_copy(line->chars + count, vt_sp_ch()); } #if 0 set_real_modified(line, END_CHAR_INDEX(line) + 1, END_CHAR_INDEX(line) + size); #else if (vt_line_is_using_ctl(line) && !vt_line_is_real_modified(line)) { /* ctl_render_line() should be called in ctl_render() in * vt_logical_visual.c. */ set_real_modified(line, END_CHAR_INDEX(line) + size, END_CHAR_INDEX(line) + size); } #endif line->num_filled_chars += size; return size; } int vt_line_assure_boundary(vt_line_t *line, int char_index) { if (char_index >= line->num_filled_chars) { u_int brk_size; brk_size = char_index - line->num_filled_chars + 1; if (vt_line_break_boundary(line, brk_size) < brk_size) { return 0; } } return 1; } void vt_line_reset(vt_line_t *line) { if (IS_EMPTY(line)) { /* already reset */ return; } #ifdef OPTIMIZE_REDRAWING { int count; count = END_CHAR_INDEX(line); while (1) { if (!vt_char_equal(line->chars + count, vt_sp_ch())) { set_real_modified(line, 0, count); break; } else if (--count < 0) { break; } } } #else set_real_modified(line, 0, END_CHAR_INDEX(line)); #endif line->num_filled_chars = 0; if (vt_line_is_using_bidi(line)) { vt_bidi_reset(line->ctl_info.bidi); } else if (vt_line_is_using_iscii(line)) { vt_iscii_reset(line->ctl_info.iscii); } #ifdef USE_OT_LAYOUT else if (vt_line_is_using_ot_layout(line)) { vt_ot_layout_reset(line->ctl_info.ot_layout); } #endif line->is_continued_to_next = 0; line->size_attr = 0; } void vt_line_clear(vt_line_t *line, int char_index) { if (char_index >= line->num_filled_chars) { return; } #ifdef OPTIMIZE_REDRAWING { int count; count = END_CHAR_INDEX(line); while (1) { if (!vt_char_equal(line->chars + count, vt_sp_ch())) { set_real_modified(line, char_index, count); break; } else if (--count < char_index) { break; } } } #else set_real_modified(line, char_index, END_CHAR_INDEX(line)); #endif vt_char_copy(line->chars + char_index, vt_sp_ch()); line->num_filled_chars = char_index + 1; line->is_continued_to_next = 0; line->size_attr = 0; } int vt_line_clear_with(vt_line_t *line, int char_index, vt_char_t *ch) { line->is_continued_to_next = 0; return vt_line_fill( line, ch, char_index, (line->num_chars - vt_str_cols(line->chars, char_index)) / vt_char_cols(ch)); } int vt_line_overwrite(vt_line_t *line, int beg_char_index, /* >= line->num_filled_chars is OK */ vt_char_t *chars, u_int len, u_int cols) { int count; u_int cols_to_beg; u_int cols_rest; u_int padding; u_int new_len; u_int copy_len; vt_char_t *copy_src; if (len == 0) { return 1; } if (beg_char_index + len > line->num_chars) { if (beg_char_index >= line->num_chars) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " beg[%d] is over num_chars[%d].\n", beg_char_index, line->num_chars); #endif return 0; } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " beg_char_index[%d] + len[%d] is over num_chars[%d].\n", beg_char_index, len, line->num_chars); #endif len = line->num_chars - beg_char_index; } if (beg_char_index > 0) { vt_line_assure_boundary(line, beg_char_index - 1); } #ifdef OPTIMIZE_REDRAWING if (len <= line->num_filled_chars - beg_char_index) { if (vt_str_equal(line->chars + beg_char_index, chars, len)) { return 1; } } else { if (vt_str_equal(line->chars + beg_char_index, chars, line->num_filled_chars - beg_char_index)) { chars += (line->num_filled_chars - beg_char_index); len -= (line->num_filled_chars - beg_char_index); beg_char_index = line->num_filled_chars; count = 0; while (1) { if (!vt_char_equal(chars + count, vt_sp_ch())) { break; } else if (++count >= len) { vt_str_copy(line->chars + beg_char_index, chars, len); line->num_filled_chars = beg_char_index + len; /* Not necessary vt_line_set_modified() */ return 1; } } } } #endif cols_to_beg = vt_str_cols(line->chars, beg_char_index); if (cols_to_beg + cols < line->num_chars) { int char_index; char_index = vt_convert_col_to_char_index(line, &cols_rest, cols_to_beg + cols, 0); if (0 < cols_rest && cols_rest < vt_char_cols(line->chars + char_index)) { padding = vt_char_cols(line->chars + char_index) - cols_rest; char_index++; } else { padding = 0; } if (line->num_filled_chars > char_index) { copy_len = line->num_filled_chars - char_index; } else { copy_len = 0; } copy_src = line->chars + char_index; } else { padding = 0; copy_len = 0; copy_src = NULL; } new_len = beg_char_index + len + padding + copy_len; if (new_len > line->num_chars) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " new line len %d(beg %d ow %d padding %d copy %d) is overflowed\n", new_len, beg_char_index, len, padding, copy_len); #endif new_len = line->num_chars; if (new_len > padding + beg_char_index + len) { copy_len = new_len - padding - beg_char_index - len; } else { copy_len = 0; padding = new_len - beg_char_index - len; } #ifdef DEBUG bl_msg_printf(" ... modified -> new_len %d , copy_len %d\n", new_len, copy_len); #endif } if (copy_len > 0) { /* making space */ vt_str_copy(line->chars + beg_char_index + len + padding, copy_src, copy_len); } for (count = 0; count < padding; count++) { vt_char_copy(line->chars + beg_char_index + len + count, vt_sp_ch()); } vt_str_copy(line->chars + beg_char_index, chars, len); line->num_filled_chars = new_len; set_real_modified(line, beg_char_index, beg_char_index + len + padding - 1); return 1; } /* * Not used for now. */ #if 0 int vt_line_overwrite_all(vt_line_t *line, vt_char_t *chars, int len) { set_real_modified(line, 0, END_CHAR_INDEX(line)); vt_str_copy(line->chars, chars, len); line->num_filled_chars = len; set_real_modified(line, 0, END_CHAR_INDEX(line)); return 1; } #endif int vt_line_fill(vt_line_t *line, vt_char_t *ch, int beg, /* >= line->num_filled_chars is OK */ u_int num) { int count; int char_index; u_int left_cols; u_int copy_len; if (num == 0) { return 1; } if (beg >= line->num_chars) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " beg[%d] is over num_chars[%d].\n", beg, line->num_chars); #endif return 0; } if (beg > 0) { vt_line_assure_boundary(line, beg - 1); } #ifdef OPTIMIZE_REDRAWING count = 0; while (1) { if (!vt_char_equal(line->chars + beg + count, ch)) { beg += count; num -= count; if (beg + num <= line->num_filled_chars) { count = 0; while (1) { if (!vt_char_equal(line->chars + beg + num - 1 - count, ch)) { num -= count; break; } else if (count++ == num) { /* Never happens */ return 1; } } } break; } else if (++count >= num) { return 1; } else if (beg + count == line->num_filled_chars) { beg += count; num -= count; break; } } #endif num = K_MIN(num, line->num_chars - beg); char_index = beg; left_cols = num * vt_char_cols(ch); while (1) { if (char_index >= line->num_filled_chars) { left_cols = 0; copy_len = 0; break; } else if (left_cols < vt_char_cols(line->chars + char_index)) { if (beg + num + left_cols > line->num_chars) { left_cols = line->num_chars - beg - num; copy_len = 0; } else { copy_len = line->num_filled_chars - char_index - left_cols; if (beg + num + left_cols + copy_len > line->num_chars) { /* * line->num_chars is equal to or larger than * beg + num + left_cols since * 'if( beg + num + left_cols > line->num_chars)' * is already passed here. */ copy_len = line->num_chars - beg - num - left_cols; } } char_index += (left_cols / vt_char_cols(ch)); break; } else { left_cols -= vt_char_cols(line->chars + char_index); char_index++; } } if (copy_len > 0) { /* making space */ vt_str_copy(line->chars + beg + num + left_cols, line->chars + char_index, copy_len); } char_index = beg; for (count = 0; count < num; count++) { vt_char_copy(&line->chars[char_index++], ch); } /* padding */ for (count = 0; count < left_cols; count++) { vt_char_copy(&line->chars[char_index++], vt_sp_ch()); } line->num_filled_chars = char_index + copy_len; set_real_modified(line, beg, beg + num + left_cols); return 1; } vt_char_t *vt_char_at(vt_line_t *line, int at) { if (at >= line->num_filled_chars) { return NULL; } else { return line->chars + at; } } int vt_line_set_modified(vt_line_t *line, int beg_char_index, int end_char_index) { int count; int beg_col; int end_col; if (beg_char_index > end_char_index) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " beg_char_index %d > end_char_index %d\n", beg_char_index, end_char_index); #endif return 0; } if (beg_char_index >= line->num_filled_chars) { beg_char_index = END_CHAR_INDEX(line); } beg_col = 0; for (count = 0; count < beg_char_index; count++) { beg_col += vt_char_cols(line->chars + count); } if (end_char_index >= line->num_filled_chars) { /* * '* 2' assures change_end_col should point over the end of line. * If triple width(or wider) characters(!) were to exist, this hack would * make * no sense... */ end_col = line->num_chars * 2; } else { end_col = beg_col; for (; count <= end_char_index; count++) { /* * This will be executed at least once, because beg_char_index is never * greater than end_char_index. */ end_col += vt_char_cols(line->chars + count); } /* * If vt_char_cols() returns 0, beg_col can be equals to end_col here. * If beg_col is equals to end_col, don't minus end_col. */ if (beg_col < end_col) { end_col--; } } if (line->is_modified) { if (beg_col < line->change_beg_col) { line->change_beg_col = beg_col; } if (end_col > line->change_end_col) { line->change_end_col = end_col; } } else { line->change_beg_col = beg_col; line->change_end_col = end_col; line->is_modified = 1; } return 1; } int vt_line_set_modified_all(vt_line_t *line) { line->change_beg_col = 0; /* * '* 2' assures change_end_col should point over the end of line. * If triple width(or wider) characters(!) were to exist, this hack would make * no sense... */ line->change_end_col = line->num_chars * 2; /* Don't overwrite if line->is_modified == 2 (real modified) */ if (!line->is_modified) { line->is_modified = 1; } return 1; } int vt_line_is_cleared_to_end(vt_line_t *line) { if (vt_line_get_num_filled_cols(line) < line->change_end_col + 1) { return 1; } else { return 0; } } int vt_line_is_modified(vt_line_t *line) { return line->is_modified; } int vt_line_get_beg_of_modified(vt_line_t *line) { if (IS_EMPTY(line)) { return 0; } else { return vt_convert_col_to_char_index(line, NULL, line->change_beg_col, 0); } } int vt_line_get_end_of_modified(vt_line_t *line) { if (IS_EMPTY(line)) { return 0; } else { return vt_convert_col_to_char_index(line, NULL, line->change_end_col, 0); } } u_int vt_line_get_num_redrawn_chars(vt_line_t *line, int to_end) { if (IS_EMPTY(line)) { return 0; } else if (to_end) { return line->num_filled_chars - vt_line_get_beg_of_modified(line); } else { return vt_line_get_end_of_modified(line) - vt_line_get_beg_of_modified(line) + 1; } } void vt_line_set_updated(vt_line_t *line) { line->is_modified = 0; line->change_beg_col = 0; line->change_end_col = 0; } int vt_line_is_continued_to_next(vt_line_t *line) { return line->is_continued_to_next; } void vt_line_set_continued_to_next(vt_line_t *line, int flag) { line->is_continued_to_next = flag; } int vt_convert_char_index_to_col(vt_line_t *line, int char_index, int flag /* BREAK_BOUNDARY */ ) { int count; int col; if (char_index >= line->num_chars) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " char index %d is larger than num_chars(%d) ... modified -> %d.\n", char_index, line->num_chars, line->num_chars - 1); #endif char_index = line->num_chars - 1; } col = 0; if ((flag & BREAK_BOUNDARY) && line->num_filled_chars <= char_index) { for (count = 0; count < line->num_filled_chars; count++) { #ifdef DEBUG if (vt_char_cols(line->chars + count) == 0) { bl_warn_printf(BL_DEBUG_TAG " vt_char_cols returns 0.\n"); continue; } #endif col += vt_char_cols(line->chars + count); } col += (char_index - count); } else if (line->num_filled_chars > 0) { /* * excluding the width of the last char. */ for (count = 0; count < K_MIN(char_index, END_CHAR_INDEX(line)); count++) { col += vt_char_cols(line->chars + count); } } return col; } int vt_convert_col_to_char_index(vt_line_t *line, u_int *cols_rest, int col, int flag /* BREAK_BOUNDARY */ ) { int char_index; #ifdef DEBUG if (col >= line->num_chars * 2 && cols_rest) { bl_warn_printf(BL_DEBUG_TAG " Since col [%d] is over line->num_chars * 2 [%d]," " cols_rest will be corrupt...\n", col, line->num_chars * 2); } #endif for (char_index = 0; char_index + 1 < line->num_filled_chars; char_index++) { int cols; cols = vt_char_cols(line->chars + char_index); if (col < cols) { goto end; } col -= cols; } if (flag & BREAK_BOUNDARY) { char_index += col; col = 0; } end: if (cols_rest != NULL) { *cols_rest = col; } return char_index; } int vt_line_reverse_color(vt_line_t *line, int char_index) { if (char_index >= line->num_filled_chars) { return 0; } if (vt_char_reverse_color(line->chars + char_index)) { vt_line_set_modified(line, char_index, char_index); } return 1; } int vt_line_restore_color(vt_line_t *line, int char_index) { if (char_index >= line->num_filled_chars) { return 0; } if (vt_char_restore_color(line->chars + char_index)) { vt_line_set_modified(line, char_index, char_index); } return 1; } /* * This copys a line as it is and doesn't care about visual order. * But bidi parameters are also copyed as it is. */ int vt_line_copy(vt_line_t *dst, /* should be initialized ahead */ vt_line_t *src) { copy_line(dst, src, 0); return 1; } int vt_line_swap(vt_line_t *line1, vt_line_t *line2) { vt_line_t tmp; tmp = *line1; *line1 = *line2; *line2 = tmp; return 1; } int vt_line_share(vt_line_t *dst, vt_line_t *src) { memcpy(dst, src, sizeof(vt_line_t)); return 1; } int vt_line_is_empty(vt_line_t *line) { return IS_EMPTY(line); } int vt_line_beg_char_index_regarding_rtl(vt_line_t *line) { int char_index; if (vt_line_is_rtl(line)) { for (char_index = 0; char_index < line->num_filled_chars; char_index++) { if (!vt_char_equal(line->chars + char_index, vt_sp_ch())) { return char_index; } } } return 0; } int vt_line_end_char_index(vt_line_t *line) { if (IS_EMPTY(line)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " num_filled_chars is 0.\n"); #endif return 0; } else { return line->num_filled_chars - 1; } } u_int vt_line_get_num_filled_cols(vt_line_t *line) { return vt_str_cols(line->chars, line->num_filled_chars); } u_int vt_line_get_num_filled_chars_except_sp_with_func(vt_line_t *line, int (*func)(vt_char_t *, vt_char_t *)) { if (IS_EMPTY(line)) { return 0; } else if (vt_line_is_rtl(line) || line->is_continued_to_next) { return line->num_filled_chars; } else { int char_index; for (char_index = END_CHAR_INDEX(line); char_index >= 0; char_index--) { #if 1 /* >= 3.0.6 */ if (!(*func)(line->chars + char_index, vt_sp_ch())) #else /* <= 3.0.5 */ if (!vt_char_equal(line->chars + char_index, vt_sp_ch())) #endif { return char_index + 1; } } return 0; } } void vt_line_set_size_attr(vt_line_t *line, int size_attr) { if (line->size_attr != size_attr) { line->size_attr = size_attr; vt_line_set_modified_all(line); } } int vt_line_convert_visual_char_index_to_logical(vt_line_t *line, int char_index) { if (vt_line_is_using_bidi(line)) { return vt_line_bidi_convert_visual_char_index_to_logical(line, char_index); } else { return char_index; } } int vt_line_is_rtl(vt_line_t *line) { if (vt_line_is_using_bidi(line)) { return vt_line_bidi_is_rtl(line); } else { return 0; } } /* * It is assumed that this function is called in *visual* context. */ int vt_line_copy_logical_str(vt_line_t *line, vt_char_t *dst, int beg, /* visual position */ u_int len) { if (vt_line_is_using_bidi(line)) { if (vt_line_bidi_copy_logical_str(line, dst, beg, len)) { return 1; } } return vt_str_copy(dst, line->chars + beg, len); } int vt_line_convert_logical_char_index_to_visual(vt_line_t *line, int char_index, u_int32_t *meet_pos_info) { #ifdef NO_DYNAMIC_LOAD_CTL if (line->ctl_info_type) { #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { char_index = vt_line_ot_layout_convert_logical_char_index_to_visual(line, char_index); } else #endif if (vt_line_is_using_bidi(line)) { #ifdef USE_FRIBIDI char_index = vt_line_bidi_convert_logical_char_index_to_visual(line, char_index, meet_pos_info); #endif } else /* if( vt_line_is_using_iscii( line)) */ { #ifdef USE_IND char_index = vt_line_iscii_convert_logical_char_index_to_visual(line, char_index); #endif } } return char_index; #else if (line->ctl_info_type) { #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { char_index = vt_line_ot_layout_convert_logical_char_index_to_visual(line, char_index); } else #endif if (vt_line_is_using_bidi(line)) { int (*bidi_func)(vt_line_t *, int, int *); if ((bidi_func = vt_load_ctl_bidi_func(VT_LINE_BIDI_CONVERT_LOGICAL_CHAR_INDEX_TO_VISUAL))) { char_index = (*bidi_func)(line, char_index, meet_pos_info); } } else /* if( vt_line_is_using_iscii( line)) */ { int (*iscii_func)(vt_line_t *, int); if ((iscii_func = vt_load_ctl_iscii_func(VT_LINE_ISCII_CONVERT_LOGICAL_CHAR_INDEX_TO_VISUAL))) { char_index = (*iscii_func)(line, char_index); } } } return char_index; #endif } int vt_line_unuse_ctl(vt_line_t *line) { if (line->ctl_info_type) { /* *_render() which may be called later works only if vt_line_t is really modified. */ set_real_modified(line, 0, END_CHAR_INDEX(line)); #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { return vt_line_set_use_ot_layout(line, 0); } else #endif if (vt_line_is_using_bidi(line)) { return vt_line_set_use_bidi(line, 0); } else /* if( vt_line_is_using_iscii( line)) */ { return vt_line_set_use_iscii(line, 0); } } return 0; } int vt_line_ctl_render(vt_line_t *line, vt_bidi_mode_t bidi_mode, const char *separators, void *term) { int ret; int (*set_use_ctl)(vt_line_t *, int); if (!vt_line_is_using_ctl(line)) { if ( #ifdef USE_OT_LAYOUT (!term || !vt_line_set_use_ot_layout(line, 1)) && #endif !vt_line_set_use_bidi(line, 1) && !vt_line_set_use_iscii(line, 1)) { return 0; } } if (line->ctl_info_type) { #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { if (!term) { ret = -1; } else if ((ret = vt_line_ot_layout_render(line, term)) >= 0) { return ret; } set_use_ctl = vt_line_set_use_ot_layout; if (ret == -1) { goto render_bidi; } else /* if( ret == -2) */ { goto render_iscii; } } else #endif if (vt_line_is_using_bidi(line)) { if ((ret = vt_line_bidi_render(line, bidi_mode, separators)) >= 0) { return ret; } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) set_use_ctl = vt_line_set_use_bidi; #else /* Never enter here */ #endif if (ret == -1) { #ifdef USE_OT_LAYOUT if (!term) { return 1; } goto render_ot_layout; #else return 1; #endif } else /* if( ret == -2) */ { goto render_iscii; } } else /* if( vt_line_is_using_iscii( line)) */ { if ((ret = vt_line_iscii_render(line)) >= 0) { return ret; } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) set_use_ctl = vt_line_set_use_iscii; #else /* Never enter here */ #endif #ifdef USE_OT_LAYOUT if (term) { goto render_ot_layout; } else #endif { goto render_bidi; } } } return 0; #ifdef USE_OT_LAYOUT render_ot_layout: (*set_use_ctl)(line, 0); vt_line_set_use_ot_layout(line, 1); if ((ret = vt_line_ot_layout_render(line, term) != -1)) { return ret; } /* Fall through */ #endif render_bidi: if ( #if !defined(NO_DYNAMIC_LOAD_CTL) vt_load_ctl_bidi_func(VT_LINE_SET_USE_BIDI) #elif defined(USE_FRIBIDI) 1 #else 0 #endif ) { (*set_use_ctl)(line, 0); vt_line_set_use_bidi(line, 1); return vt_line_bidi_render(line, bidi_mode, separators); } else { return 0; } render_iscii: if ( #if !defined(NO_DYNAMIC_LOAD_CTL) vt_load_ctl_iscii_func(VT_LINE_SET_USE_ISCII) #elif defined(USE_ISCII) 1 #else 0 #endif ) { (*set_use_ctl)(line, 0); vt_line_set_use_iscii(line, 1); return vt_line_iscii_render(line); } else { return 0; } } int vt_line_ctl_visual(vt_line_t *line) { if (line->ctl_info_type) { #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { return vt_line_ot_layout_visual(line); } else #endif if (vt_line_is_using_bidi(line)) { return vt_line_bidi_visual(line); } else /* if( vt_line_is_using_iscii( line)) */ { return vt_line_iscii_visual(line); } } return 0; } int vt_line_ctl_logical(vt_line_t *line) { if (line->ctl_info_type) { #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { return vt_line_ot_layout_logical(line); } else #endif if (vt_line_is_using_bidi(line)) { return vt_line_bidi_logical(line); } else /* if( vt_line_is_using_iscii( line)) */ { return vt_line_iscii_logical(line); } } return 0; } #ifdef DEBUG void vt_line_dump(vt_line_t *line) { int count; for (count = 0; count < line->num_filled_chars; count++) { vt_char_dump(line->chars + count); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/vtemu/vt_line.h010064400017600000144000000120561321054731100144760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_LINE_H__ #define __VT_LINE_H__ #include "vt_str.h" #include "vt_bidi.h" /* vt_bidi_state_t */ #include "vt_iscii.h" /* vt_iscii_state_t */ #include "vt_ot_layout.h" /* vt_ot_layout_state_t */ enum { WRAPAROUND = 0x01, BREAK_BOUNDARY = 0x02, SCROLL = 0x04 }; enum { VINFO_BIDI = 0x01, VINFO_ISCII = 0x02, VINFO_OT_LAYOUT = 0x03, }; typedef union ctl_info { vt_bidi_state_t bidi; vt_iscii_state_t iscii; vt_ot_layout_state_t ot_layout; } ctl_info_t; /* * This object size should be kept as small as possible. * (160bit ILP32) (224bit ILP64) */ typedef struct vt_line { /* public(readonly) -- If you access &chars[at], use vt_char_at(). */ vt_char_t *chars; /* public(readonly) */ u_int16_t num_chars; /* 0 - 65535 */ u_int16_t num_filled_chars; /* 0 - 65535 */ /* private */ /* * Type of col should be int, but u_int16_t is used here to shrink memory * because it is appropriate to assume that change_{beg|end}_col never * becomes minus value. */ u_int16_t change_beg_col; /* 0 - 65535 */ u_int16_t change_end_col; /* 0 - 65535 */ #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) || defined(USE_FRIBIDI) || \ defined(USE_OT_LAYOUT) /* Don't touch from vt_line.c. ctl_info is used by vt_line_bidi.c and * vt_line_iscii.c. */ ctl_info_t ctl_info; #endif u_int8_t ctl_info_type; int8_t is_modified; /* 1: need to redraw. 2: was really changed. */ int8_t is_continued_to_next; /* public */ int8_t size_attr; } vt_line_t; int vt_line_init(vt_line_t *line, u_int num_chars); int vt_line_clone(vt_line_t *clone, vt_line_t *orig, u_int num_chars); void vt_line_final(vt_line_t *line); u_int vt_line_break_boundary(vt_line_t *line, u_int size); int vt_line_assure_boundary(vt_line_t *line, int char_index); void vt_line_reset(vt_line_t *line); void vt_line_clear(vt_line_t *line, int char_index); int vt_line_clear_with(vt_line_t *line, int char_index, vt_char_t *ch); int vt_line_overwrite(vt_line_t *line, int beg_char_index, vt_char_t *chars, u_int len, u_int cols); #if 0 int vt_line_overwrite_all(vt_line_t *line, vt_char_t *chars, int len); #endif int vt_line_fill(vt_line_t *line, vt_char_t *ch, int beg, u_int num); vt_char_t *vt_char_at(vt_line_t *line, int at); int vt_line_set_modified(vt_line_t *line, int beg_char_index, int end_char_index); int vt_line_set_modified_all(vt_line_t *line); int vt_line_is_cleared_to_end(vt_line_t *line); int vt_line_is_modified(vt_line_t *line); /* XXX Private api for vt_line.c and vt_line_{iscii|bidi}.c */ #define vt_line_is_real_modified(line) (vt_line_is_modified(line) == 2) int vt_line_get_beg_of_modified(vt_line_t *line); int vt_line_get_end_of_modified(vt_line_t *line); u_int vt_line_get_num_redrawn_chars(vt_line_t *line, int to_end); void vt_line_set_updated(vt_line_t *line); int vt_line_is_continued_to_next(vt_line_t *line); void vt_line_set_continued_to_next(vt_line_t *line, int flag); int vt_convert_char_index_to_col(vt_line_t *line, int char_index, int flag); int vt_convert_col_to_char_index(vt_line_t *line, u_int *cols_rest, int col, int flag); int vt_line_reverse_color(vt_line_t *line, int char_index); int vt_line_restore_color(vt_line_t *line, int char_index); int vt_line_copy(vt_line_t *dst, vt_line_t *src); int vt_line_swap(vt_line_t *line1, vt_line_t *line2); int vt_line_share(vt_line_t *dst, vt_line_t *src); int vt_line_is_empty(vt_line_t *line); u_int vt_line_get_num_filled_cols(vt_line_t *line); int vt_line_end_char_index(vt_line_t *line); int vt_line_beg_char_index_regarding_rtl(vt_line_t *line); u_int vt_line_get_num_filled_chars_except_sp_with_func(vt_line_t *line, int (*func)(vt_char_t *, vt_char_t *)); #define vt_line_get_num_filled_chars_except_sp(line) \ vt_line_get_num_filled_chars_except_sp_with_func((line), vt_char_code_equal) void vt_line_set_size_attr(vt_line_t *line, int size_attr); #define vt_line_is_using_ctl(line) ((line)->ctl_info_type) #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_OT_LAYOUT) #define vt_line_has_ot_substitute_glyphs(line) \ ((line)->ctl_info_type == VINFO_OT_LAYOUT && (line)->ctl_info.ot_layout->substituted) #else #define vt_line_has_ot_substitute_glyphs(line) (0) #endif int vt_line_convert_visual_char_index_to_logical(vt_line_t *line, int char_index); int vt_line_is_rtl(vt_line_t *line); int vt_line_copy_logical_str(vt_line_t *line, vt_char_t *dst, int beg, u_int len); int vt_line_convert_logical_char_index_to_visual(vt_line_t *line, int logical_char_index, u_int32_t *meet_pos_info); vt_line_t *vt_line_shape(vt_line_t *line); int vt_line_unshape(vt_line_t *line, vt_line_t *orig); int vt_line_unuse_ctl(vt_line_t *line); int vt_line_ctl_render(vt_line_t *line, vt_bidi_mode_t bidi_mode, const char *separators, void *term); int vt_line_ctl_visual(vt_line_t *line); int vt_line_ctl_logical(vt_line_t *line); #ifdef DEBUG void vt_line_dump(vt_line_t *line); #endif #endif mlterm-3.8.4/vtemu/vt_line_shape.c010064400017600000144000000055561321054731100156600ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_line.h" #include /* NULL */ #include #include "vt_shape.h" #include "vt_ctl_loader.h" #define vt_line_is_using_bidi(line) ((line)->ctl_info_type == VINFO_BIDI) #define vt_line_is_using_iscii(line) ((line)->ctl_info_type == VINFO_ISCII) #define vt_line_is_using_ot_layout(line) ((line)->ctl_info_type == VINFO_OT_LAYOUT) /* --- static functions --- */ #ifndef NO_DYNAMIC_LOAD_CTL static int vt_line_bidi_need_shape(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_bidi_func(VT_LINE_BIDI_NEED_SHAPE))) { return 0; } return (*func)(line); } static int vt_line_iscii_need_shape(vt_line_t *line) { int (*func)(vt_line_t *); if (!(func = vt_load_ctl_iscii_func(VT_LINE_ISCII_NEED_SHAPE))) { return 0; } return (*func)(line); } #else #ifndef USE_FRIBIDI #define vt_line_bidi_need_shape(line) (0) #else /* Link functions in libctl/vt_*bidi.c */ int vt_line_bidi_need_shape(vt_line_t *line); #endif /* USE_FRIBIDI */ #ifndef USE_IND #define vt_line_iscii_need_shape(line) (0) #else /* Link functions in libctl/vt_*iscii.c */ int vt_line_iscii_need_shape(vt_line_t *line); #endif /* USE_IND */ #endif #ifdef USE_OT_LAYOUT static int vt_line_ot_layout_need_shape(vt_line_t *line) { return line->ctl_info.ot_layout->size > 0 && line->ctl_info.ot_layout->substituted; } #endif /* --- global functions --- */ vt_line_t *vt_line_shape(vt_line_t *line) { vt_line_t *orig; vt_char_t *shaped; u_int (*func)(vt_char_t *, u_int, vt_char_t *, u_int, ctl_info_t); if (line->ctl_info_type) { #ifdef USE_OT_LAYOUT if (vt_line_is_using_ot_layout(line)) { if (!vt_line_ot_layout_need_shape(line)) { return NULL; } func = vt_shape_ot_layout; } else #endif if (vt_line_is_using_bidi(line)) { if (!vt_line_bidi_need_shape(line)) { return NULL; } func = vt_shape_arabic; } else /* if( vt_line_is_using_iscii( line)) */ { if (!vt_line_iscii_need_shape(line)) { return NULL; } func = vt_shape_iscii; } if ((orig = malloc(sizeof(vt_line_t))) == NULL) { return NULL; } vt_line_share(orig, line); if ((shaped = vt_str_new(line->num_chars)) == NULL) { free(orig); return NULL; } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) || defined(USE_FRIBIDI) || \ defined(USE_OT_LAYOUT) line->num_filled_chars = (*func)(shaped, line->num_chars, line->chars, line->num_filled_chars, line->ctl_info); #else /* Never enter here */ #endif line->chars = shaped; return orig; } return NULL; } int vt_line_unshape(vt_line_t *line, vt_line_t *orig) { vt_str_delete(line->chars, line->num_chars); line->chars = orig->chars; line->num_filled_chars = orig->num_filled_chars; free(orig); return 1; } mlterm-3.8.4/vtemu/vt_logical_visual.c010064400017600000144000000664111321054731100165430ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_logical_visual.h" #include /* realloc/free */ #include /* bl_msg_printf */ #include /* strcmp */ #include "vt_ctl_loader.h" #include "vt_shape.h" /* vt_is_arabic_combining */ #define CURSOR_LINE(logvis) (vt_model_get_line((logvis)->model, (logvis)->cursor->row)) #define MSB32 0x80000000 #if 0 #define __DEBUG #endif #if 0 #define CURSOR_DEBUG #endif typedef struct container_logical_visual { vt_logical_visual_t logvis; /* * visual : children[0] => children[1] => ... => children[n] * logical: children[n] => ... => children[1] => children[0] */ vt_logical_visual_t **children; u_int num_children; } container_logical_visual_t; typedef struct comb_logical_visual { vt_logical_visual_t logvis; int cursor_logical_char_index; int cursor_logical_col; } comb_logical_visual_t; typedef struct vert_logical_visual { vt_logical_visual_t logvis; vt_model_t logical_model; vt_model_t visual_model; int cursor_logical_char_index; int cursor_logical_col; int cursor_logical_row; int8_t is_init; } vert_logical_visual_t; typedef struct ctl_logical_visual { vt_logical_visual_t logvis; int cursor_logical_char_index; int cursor_logical_col; u_int32_t cursor_meet_pos_info; vt_bidi_mode_t bidi_mode; const char *separators; void *term; } ctl_logical_visual_t; /* --- static variables --- */ /* Order of this table must be same as x_vertical_mode_t. */ static char *vertical_mode_name_table[] = { "none", "mongol", "cjk", }; /* --- static functions --- */ static int container_delete(vt_logical_visual_t *logvis) { container_logical_visual_t *container; int count; container = (container_logical_visual_t*)logvis; if (container->num_children) { for (count = container->num_children - 1; count >= 0; count--) { (*container->children[count]->delete)(container->children[count]); } } free(container->children); free(logvis); return 1; } static int container_init(vt_logical_visual_t *logvis, vt_model_t *model, vt_cursor_t *cursor) { container_logical_visual_t *container; u_int count; logvis->model = model; logvis->cursor = cursor; container = (container_logical_visual_t*)logvis; for (count = 0; count < container->num_children; count++) { (*container->children[count]->init)(container->children[count], model, cursor); } return 1; } static u_int container_logical_cols(vt_logical_visual_t *logvis) { container_logical_visual_t *container; container = (container_logical_visual_t*)logvis; if (container->num_children > 0) { return (*container->children[container->num_children - 1]->logical_cols)( container->children[container->num_children - 1]); } else { return logvis->model->num_cols; } } static u_int container_logical_rows(vt_logical_visual_t *logvis) { container_logical_visual_t *container; container = (container_logical_visual_t*)logvis; if (container->num_children > 0) { return (*container->children[container->num_children - 1]->logical_rows)( container->children[container->num_children - 1]); } else { return logvis->model->num_rows; } } static int container_render(vt_logical_visual_t *logvis) { container_logical_visual_t *container; u_int count; container = (container_logical_visual_t*)logvis; /* * XXX * only the first children can render correctly. */ for (count = 0; count < container->num_children; count++) { (*container->children[count]->render)(container->children[count]); } return 1; } static int container_visual(vt_logical_visual_t *logvis) { container_logical_visual_t *container; u_int count; if (logvis->is_visual) { return 0; } container = (container_logical_visual_t*)logvis; for (count = 0; count < container->num_children; count++) { (*container->children[count]->visual)(container->children[count]); } logvis->is_visual = 1; return 1; } static int container_logical(vt_logical_visual_t *logvis) { container_logical_visual_t *container; int count; if (!logvis->is_visual) { return 0; } container = (container_logical_visual_t*)logvis; if (container->num_children == 0) { return 1; } for (count = container->num_children - 1; count >= 0; count--) { (*container->children[count]->logical)(container->children[count]); } logvis->is_visual = 0; return 1; } static int container_visual_line(vt_logical_visual_t *logvis, vt_line_t *line) { container_logical_visual_t *container; u_int count; container = (container_logical_visual_t*)logvis; for (count = 0; count < container->num_children; count++) { (*container->children[count]->visual_line)(container->children[count], line); } return 1; } /* * dynamic combining */ static int comb_delete(vt_logical_visual_t *logvis) { free(logvis); return 1; } static int comb_init(vt_logical_visual_t *logvis, vt_model_t *model, vt_cursor_t *cursor) { logvis->model = model; logvis->cursor = cursor; return 1; } static u_int comb_logical_cols(vt_logical_visual_t *logvis) { return logvis->model->num_cols; } static u_int comb_logical_rows(vt_logical_visual_t *logvis) { return logvis->model->num_rows; } static int comb_render(vt_logical_visual_t *logvis) { return (*logvis->visual)(logvis); } static int comb_visual(vt_logical_visual_t *logvis) { int row; if (logvis->is_visual) { return 0; } ((comb_logical_visual_t*)logvis)->cursor_logical_char_index = logvis->cursor->char_index; ((comb_logical_visual_t*)logvis)->cursor_logical_col = logvis->cursor->col; for (row = 0; row < logvis->model->num_rows; row++) { vt_line_t *line; int dst_pos; int src_pos; vt_char_t *cur; line = vt_model_get_line(logvis->model, row); dst_pos = 0; cur = line->chars; for (src_pos = 0; src_pos < line->num_filled_chars; src_pos++) { if (dst_pos > 0 && (vt_char_is_comb(cur) || vt_is_arabic_combining(dst_pos >= 2 ? vt_char_at(line, dst_pos - 2) : NULL, vt_char_at(line, dst_pos - 1), cur))) { vt_char_combine_simple(vt_char_at(line, dst_pos - 1), cur); #if 0 /* * This doesn't work as expected, for example, when * one of combined two characters are deleted. */ if (vt_line_is_modified(line)) { int beg; int end; beg = vt_line_get_beg_of_modified(line); end = vt_line_get_end_of_modified(line); if (beg > dst_pos - 1) { beg--; } if (end > dst_pos - 1) { end--; } vt_line_set_updated(line); vt_line_set_modified(line, beg, end); } #endif } else { vt_char_copy(vt_char_at(line, dst_pos++), cur); } if (row == logvis->cursor->row && src_pos == logvis->cursor->char_index) { logvis->cursor->char_index = dst_pos - 1; logvis->cursor->col = vt_convert_char_index_to_col(CURSOR_LINE(logvis), logvis->cursor->char_index, 0) + logvis->cursor->col_in_char; } cur++; } #if 1 if (vt_line_is_modified(line)) { /* * (Logical) AbcdEfgHij (bcdfg are combining characters) * => (Visual) AEH * => (Logical) AbcEfgHij * ^^^^^^^ (^ means redrawn characters) * => (Visual) AE * ^^^^^^^ * ^^^^^^^^^^ <= vt_line_set_modified( line , 0 , ...) * => (Logical) AkcEfgHij * ^ * => (Visual) AEH * ^ * ^^ <= vt_line_set_modified( line , 0 , ...) */ vt_line_set_modified(line, 0, vt_line_get_end_of_modified(line)); } #endif line->num_filled_chars = dst_pos; } logvis->is_visual = 1; return 1; } static int comb_logical(vt_logical_visual_t *logvis) { vt_char_t *buf; int row; if (!logvis->is_visual) { return 0; } if ((buf = vt_str_alloca(logvis->model->num_cols)) == NULL) { return 0; } for (row = 0; row < logvis->model->num_rows; row++) { vt_line_t *line; int src_pos; u_int src_len; vt_char_t *c; line = vt_model_get_line(logvis->model, row); vt_str_copy(buf, line->chars, line->num_filled_chars); src_len = line->num_filled_chars; line->num_filled_chars = 0; c = buf; for (src_pos = 0; src_pos < src_len && line->num_filled_chars < line->num_chars; src_pos++) { vt_char_t *comb; u_int size; if ((comb = vt_get_combining_chars(c, &size)) #if 1 /* XXX Hack for inline pictures (see x_picture.c) */ && vt_char_cs(comb) != PICTURE_CHARSET #endif ) { int count; vt_char_copy(vt_char_at(line, line->num_filled_chars++), vt_get_base_char(c)); for (count = 0; count < size; count++) { if (line->num_filled_chars >= line->num_chars) { break; } #if 0 /* * This doesn't work as expected, for example, when * one of combined two characters are deleted. */ if (vt_line_is_modified(line)) { int beg; int end; int is_cleared_to_end; beg = vt_line_get_beg_of_modified(line); end = vt_line_get_end_of_modified(line); if (beg > src_pos) { beg++; } if (end > src_pos) { end++; } vt_line_set_updated(line); vt_line_set_modified(line, beg, end); } #endif vt_char_copy(vt_char_at(line, line->num_filled_chars++), comb); comb++; } } else { vt_char_copy(vt_char_at(line, line->num_filled_chars++), c); } c++; } } vt_str_final(buf, logvis->model->num_cols); logvis->cursor->char_index = ((comb_logical_visual_t*)logvis)->cursor_logical_char_index; logvis->cursor->col = ((comb_logical_visual_t*)logvis)->cursor_logical_col; logvis->is_visual = 0; return 1; } static int comb_visual_line(vt_logical_visual_t *logvis, vt_line_t *line) { int dst_pos; int src_pos; vt_char_t *cur; dst_pos = 0; cur = line->chars; for (src_pos = 0; src_pos < line->num_filled_chars; src_pos++) { if (dst_pos > 0 && (vt_char_is_comb(cur) || vt_is_arabic_combining(dst_pos >= 2 ? vt_char_at(line, dst_pos - 2) : NULL, vt_char_at(line, dst_pos - 1), cur))) { vt_char_combine_simple(vt_char_at(line, dst_pos - 1), cur); } else { vt_char_copy(vt_char_at(line, dst_pos++), cur); } cur++; } line->num_filled_chars = dst_pos; return 1; } /* * vertical view logical <=> visual methods */ static int vert_delete(vt_logical_visual_t *logvis) { vert_logical_visual_t *vert_logvis; if (logvis->model) { vert_logvis = (vert_logical_visual_t*)logvis; vt_model_final(&vert_logvis->visual_model); } free(logvis); return 1; } static int vert_init(vt_logical_visual_t *logvis, vt_model_t *model, vt_cursor_t *cursor) { vert_logical_visual_t *vert_logvis; vert_logvis = (vert_logical_visual_t*)logvis; if (vert_logvis->is_init) { vt_model_resize(&vert_logvis->visual_model, NULL, model->num_rows, model->num_cols); } else { vt_model_init(&vert_logvis->visual_model, model->num_rows, model->num_cols); vert_logvis->is_init = 1; } vert_logvis->logical_model = *model; logvis->model = model; logvis->cursor = cursor; return 1; } static u_int vert_logical_cols(vt_logical_visual_t *logvis) { if (logvis->is_visual) { return ((vert_logical_visual_t*)logvis)->logical_model.num_cols; } else { return logvis->model->num_cols; } } static u_int vert_logical_rows(vt_logical_visual_t *logvis) { if (logvis->is_visual) { return ((vert_logical_visual_t*)logvis)->logical_model.num_rows; } else { return logvis->model->num_rows; } } static int vert_render(vt_logical_visual_t *logvis) { return 1; } static void vert_set_modified(vt_line_t *vis_line, vt_line_t *log_line, int log_char_index) { /* * a:hankaku AA:zenkaku * * 012 3 0 1 * 012345 0123 * abAABB => AABB : change_beg_col=0, change_end_col=3, beg_of_modified=0, end_of_modified=1 * * 0 aa => AA : should be redraw from 0 column to 3 column * 1 bb BB * 2 AA * 3 BB * * || * * call vt_line_set_modified() from vt_line_get_beg_of_modified(log_line) to * log_line->change_end_col. */ if (vt_line_is_modified(log_line) && vt_line_get_beg_of_modified(log_line) <= log_char_index && (vt_line_is_cleared_to_end(log_line) || log_char_index <= log_line->change_end_col)) { vt_line_set_modified(vis_line, vis_line->num_filled_chars - 1, vis_line->num_filled_chars - 1); } } static int vert_visual_intern(vt_logical_visual_t *logvis, vt_vertical_mode_t mode) { vert_logical_visual_t *vert_logvis; vt_line_t *log_line; vt_line_t *vis_line; int row; int count; if (logvis->is_visual) { return 0; } #ifdef CURSOR_DEBUG bl_debug_printf(BL_DEBUG_TAG " logical cursor [col %d index %d row %d]\n", logvis->cursor->col, logvis->cursor->char_index, logvis->cursor->row); #endif vert_logvis = (vert_logical_visual_t*)logvis; if (vert_logvis->logical_model.num_rows != logvis->model->num_rows || vert_logvis->logical_model.num_cols != logvis->model->num_cols) { /* vt_model_t is resized */ vt_model_resize(&vert_logvis->visual_model, NULL, logvis->model->num_rows, logvis->model->num_cols); } vt_model_reset(&vert_logvis->visual_model); if (mode & VERT_LTR) { /* Mongol */ count = -1; } else { /* CJK */ count = logvis->model->num_rows; } while (1) { if (mode & VERT_LTR) { /* Mongol */ if (++count >= logvis->model->num_rows) { break; } } else { /* CJK */ if (--count < 0) { break; } } log_line = vt_model_get_line(logvis->model, count); for (row = 0; row < log_line->num_filled_chars; row++) { vis_line = vt_model_get_line(&vert_logvis->visual_model, row); if (vis_line == NULL || vis_line->num_filled_chars >= vis_line->num_chars) { continue; } vt_char_copy(vt_char_at(vis_line, vis_line->num_filled_chars++), vt_char_at(log_line, row)); vert_set_modified(vis_line, log_line, row); } for (; row < vert_logvis->visual_model.num_rows; row++) { vis_line = vt_model_get_line(&vert_logvis->visual_model, row); if (vis_line == NULL || vis_line->num_filled_chars >= vis_line->num_chars) { continue; } vt_char_copy(vt_char_at(vis_line, vis_line->num_filled_chars++), vt_sp_ch()); vert_set_modified(vis_line, log_line, row); } } vert_logvis->logical_model = *logvis->model; *logvis->model = vert_logvis->visual_model; vert_logvis->cursor_logical_char_index = logvis->cursor->char_index; vert_logvis->cursor_logical_col = logvis->cursor->col; vert_logvis->cursor_logical_row = logvis->cursor->row; logvis->cursor->row = vert_logvis->cursor_logical_char_index; logvis->cursor->char_index = logvis->cursor->col = 0; if (mode & VERT_LTR) { /* Mongol */ logvis->cursor->col = logvis->cursor->char_index = vert_logvis->cursor_logical_row; } else { /* CJK */ logvis->cursor->col = logvis->cursor->char_index = vert_logvis->logical_model.num_rows - vert_logvis->cursor_logical_row - 1; } #ifdef CURSOR_DEBUG bl_debug_printf(BL_DEBUG_TAG " visual cursor [col %d index %d row %d]\n", logvis->cursor->col, logvis->cursor->char_index, logvis->cursor->row); #endif logvis->is_visual = 1; return 1; } static int cjk_vert_visual(vt_logical_visual_t *logvis) { return vert_visual_intern(logvis, VERT_RTL); } static int mongol_vert_visual(vt_logical_visual_t *logvis) { return vert_visual_intern(logvis, VERT_LTR); } static int vert_logical(vt_logical_visual_t *logvis) { vert_logical_visual_t *vert_logvis; if (!logvis->is_visual) { return 0; } vert_logvis = (vert_logical_visual_t*)logvis; *logvis->model = vert_logvis->logical_model; logvis->cursor->char_index = vert_logvis->cursor_logical_char_index; logvis->cursor->col = vert_logvis->cursor_logical_col; logvis->cursor->row = vert_logvis->cursor_logical_row; #ifdef CURSOR_DEBUG bl_debug_printf(BL_DEBUG_TAG " logical cursor [col %d index %d row %d]\n", logvis->cursor->col, logvis->cursor->char_index, logvis->cursor->row); #endif logvis->is_visual = 0; return 1; } static int vert_visual_line(vt_logical_visual_t *logvis, vt_line_t *line) { return 1; } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) || defined(USE_IND) || \ defined(USE_OT_LAYOUT) /* * Ctl logical <=> visual methods */ static int ctl_delete(vt_logical_visual_t *logvis) { int row; if (logvis->model) { for (row = 0; row < logvis->model->num_rows; row++) { vt_line_unuse_ctl(&logvis->model->lines[row]); } } free(logvis); return 1; } static int ctl_init(vt_logical_visual_t *logvis, vt_model_t *model, vt_cursor_t *cursor) { int row; if (logvis->model) { for (row = 0; row < logvis->model->num_rows; row++) { vt_line_unuse_ctl(&logvis->model->lines[row]); } } logvis->model = model; logvis->cursor = cursor; return 1; } static u_int ctl_logical_cols(vt_logical_visual_t *logvis) { return logvis->model->num_cols; } static u_int ctl_logical_rows(vt_logical_visual_t *logvis) { return logvis->model->num_rows; } static void ctl_render_line(vt_logical_visual_t *logvis, vt_line_t *line) { if (!vt_line_is_empty(line) && vt_line_is_modified(line)) { vt_line_ctl_render(line, ((ctl_logical_visual_t*)logvis)->bidi_mode, ((ctl_logical_visual_t*)logvis)->separators, ((ctl_logical_visual_t*)logvis)->term); } } static int ctl_render(vt_logical_visual_t *logvis) { if (!logvis->is_visual) { int row; /* * all lines(not only filled lines) should be rendered. */ for (row = 0; row < logvis->model->num_rows; row++) { ctl_render_line(logvis, vt_model_get_line(logvis->model, row)); } } return 1; } static int ctl_visual(vt_logical_visual_t *logvis) { int row; if (logvis->is_visual) { return 0; } #ifdef CURSOR_DEBUG bl_debug_printf(BL_DEBUG_TAG " [cursor(index)%d (col)%d (row)%d (ltrmeet)%d] ->", logvis->cursor->char_index, logvis->cursor->col, logvis->cursor->row, ((ctl_logical_visual_t*)logvis)->cursor_meet_pos_info); #endif for (row = 0; row < logvis->model->num_rows; row++) { if (!vt_line_ctl_visual(vt_model_get_line(logvis->model, row))) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " visualize row %d failed.\n", row); #endif } } ((ctl_logical_visual_t*)logvis)->cursor_logical_char_index = logvis->cursor->char_index; ((ctl_logical_visual_t*)logvis)->cursor_logical_col = logvis->cursor->col; logvis->cursor->char_index = vt_line_convert_logical_char_index_to_visual( CURSOR_LINE(logvis), logvis->cursor->char_index, &((ctl_logical_visual_t*)logvis)->cursor_meet_pos_info); /* * XXX * col_in_char should not be plused to col, because the character pointed by * vt_line_bidi_convert_logical_char_index_to_visual() is not the same as the * one * in logical order. */ logvis->cursor->col = vt_convert_char_index_to_col(CURSOR_LINE(logvis), logvis->cursor->char_index, 0) + logvis->cursor->col_in_char; #ifdef CURSOR_DEBUG bl_msg_printf("-> [cursor(index)%d (col)%d (row)%d (ltrmeet)%d]\n", logvis->cursor->char_index, logvis->cursor->col, logvis->cursor->row, ((bidi_logical_visual_t*)logvis)->cursor_meet_pos_info); #endif logvis->is_visual = 1; return 1; } static int ctl_logical(vt_logical_visual_t *logvis) { int row; if (!logvis->is_visual) { return 0; } #ifdef CURSOR_DEBUG bl_debug_printf(BL_DEBUG_TAG " [cursor(index)%d (col)%d (row)%d] ->", logvis->cursor->char_index, logvis->cursor->col, logvis->cursor->row); #endif for (row = 0; row < logvis->model->num_rows; row++) { vt_line_t *line; line = vt_model_get_line(logvis->model, row); if (!vt_line_ctl_logical(line)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " logicalize row %d failed.\n", row); #endif } #if 1 /* XXX See vt_iscii_visual */ if (line->num_chars > logvis->model->num_cols) { vt_str_final(line->chars + logvis->model->num_cols, line->num_chars - logvis->model->num_cols); line->num_chars = logvis->model->num_cols; /* * line->num_filled_chars is equal or less than line->num_chars * because line is logicalized. */ } #endif } if (((ctl_logical_visual_t*)logvis)->cursor_meet_pos_info & MSB32) { /* cursor position is adjusted */ vt_line_t *line = vt_model_get_line(logvis->model, logvis->cursor->row); int idx = vt_line_convert_visual_char_index_to_logical(line, logvis->cursor->char_index); vt_line_set_modified(line, idx, idx); } logvis->cursor->char_index = ((ctl_logical_visual_t*)logvis)->cursor_logical_char_index; logvis->cursor->col = ((ctl_logical_visual_t*)logvis)->cursor_logical_col; #ifdef CURSOR_DEBUG bl_msg_printf("-> [cursor(index)%d (col)%d (row)%d]\n", logvis->cursor->char_index, logvis->cursor->col, logvis->cursor->row); #endif logvis->is_visual = 0; return 1; } static int ctl_visual_line(vt_logical_visual_t *logvis, vt_line_t *line) { ctl_render_line(logvis, line); vt_line_ctl_visual(line); return 1; } #endif /* --- global functions --- */ vt_logical_visual_t *vt_logvis_container_new(void) { container_logical_visual_t *container; if ((container = calloc(1, sizeof(container_logical_visual_t))) == NULL) { return NULL; } container->logvis.delete = container_delete; container->logvis.init = container_init; container->logvis.logical_cols = container_logical_cols; container->logvis.logical_rows = container_logical_rows; container->logvis.render = container_render; container->logvis.visual = container_visual; container->logvis.logical = container_logical; container->logvis.visual_line = container_visual_line; container->logvis.is_reversible = 1; return (vt_logical_visual_t*)container; } /* * logvis_comb can coexist with another logvise, but must be added to * logvis_container first of all. * vert_logvis, ctl_logvis and iscii_logvis can't coexist with each other * for now. */ int vt_logvis_container_add(vt_logical_visual_t *logvis, vt_logical_visual_t *child) { void *p; container_logical_visual_t *container; container = (container_logical_visual_t*)logvis; if ((p = realloc(container->children, (container->num_children + 1) * sizeof(vt_logical_visual_t))) == NULL) { return 0; } container->children = p; container->children[container->num_children++] = child; if (!child->is_reversible) { container->logvis.is_reversible = 0; } return 1; } vt_logical_visual_t *vt_logvis_comb_new(void) { comb_logical_visual_t *comb_logvis; if ((comb_logvis = calloc(1, sizeof(comb_logical_visual_t))) == NULL) { return NULL; } comb_logvis->logvis.delete = comb_delete; comb_logvis->logvis.init = comb_init; comb_logvis->logvis.logical_cols = comb_logical_cols; comb_logvis->logvis.logical_rows = comb_logical_rows; comb_logvis->logvis.render = comb_render; comb_logvis->logvis.visual = comb_visual; comb_logvis->logvis.logical = comb_logical; comb_logvis->logvis.visual_line = comb_visual_line; comb_logvis->logvis.is_reversible = 1; return (vt_logical_visual_t*)comb_logvis; } vt_logical_visual_t *vt_logvis_vert_new(vt_vertical_mode_t vertical_mode) { vert_logical_visual_t *vert_logvis; if (vertical_mode != VERT_RTL && vertical_mode != VERT_LTR) { return NULL; } if ((vert_logvis = calloc(1, sizeof(vert_logical_visual_t))) == NULL) { return NULL; } vert_logvis->logvis.delete = vert_delete; vert_logvis->logvis.init = vert_init; vert_logvis->logvis.logical_cols = vert_logical_cols; vert_logvis->logvis.logical_rows = vert_logical_rows; vert_logvis->logvis.render = vert_render; vert_logvis->logvis.logical = vert_logical; vert_logvis->logvis.visual_line = vert_visual_line; if (vertical_mode == VERT_RTL) { /* * CJK type vertical view */ vert_logvis->logvis.visual = cjk_vert_visual; } else /* if( vertical_mode == VERT_LTR) */ { /* * mongol type vertical view */ vert_logvis->logvis.visual = mongol_vert_visual; } return (vt_logical_visual_t*)vert_logvis; } vt_vertical_mode_t vt_get_vertical_mode(char *name) { vt_vertical_mode_t mode; for (mode = 0; mode < VERT_MODE_MAX; mode++) { if (strcmp(vertical_mode_name_table[mode], name) == 0) { return mode; } } /* default value */ return 0; } char *vt_get_vertical_mode_name(vt_vertical_mode_t mode) { if (mode < 0 || VERT_MODE_MAX <= mode) { /* default value */ mode = 0; } return vertical_mode_name_table[mode]; } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) || defined(USE_IND) || \ defined(USE_OT_LAYOUT) vt_logical_visual_t *vt_logvis_ctl_new(vt_bidi_mode_t bidi_mode, const char *separators, void *term) { ctl_logical_visual_t *ctl_logvis; #ifndef USE_OT_LAYOUT #ifndef NO_DYNAMIC_LOAD_CTL if (!vt_load_ctl_bidi_func(VT_LINE_SET_USE_BIDI) && !vt_load_ctl_iscii_func(VT_LINE_SET_USE_ISCII)) { return NULL; } #endif #endif if ((ctl_logvis = calloc(1, sizeof(ctl_logical_visual_t))) == NULL) { return NULL; } ctl_logvis->bidi_mode = bidi_mode; ctl_logvis->separators = separators; ctl_logvis->term = term; ctl_logvis->logvis.delete = ctl_delete; ctl_logvis->logvis.init = ctl_init; ctl_logvis->logvis.logical_cols = ctl_logical_cols; ctl_logvis->logvis.logical_rows = ctl_logical_rows; ctl_logvis->logvis.render = ctl_render; ctl_logvis->logvis.visual = ctl_visual; ctl_logvis->logvis.logical = ctl_logical; ctl_logvis->logvis.visual_line = ctl_visual_line; ctl_logvis->logvis.is_reversible = 1; return (vt_logical_visual_t*)ctl_logvis; } int vt_logical_visual_cursor_is_rtl(vt_logical_visual_t *logvis) { if (logvis->init == ctl_init) { vt_line_t *line; int ret = 0; if ((line = vt_model_get_line(logvis->model, logvis->cursor->row))) { int lidx = ((ctl_logical_visual_t*)logvis)->cursor_logical_char_index; int vidx1 = vt_line_convert_logical_char_index_to_visual(line, lidx > 0 ? lidx - 1 : 0, NULL); int vidx2 = vt_line_convert_logical_char_index_to_visual(line, lidx, NULL); int vidx3 = vt_line_convert_logical_char_index_to_visual(line, lidx + 1, NULL); if (vt_line_is_rtl(line) ? (vidx1 >= vidx2 && vidx2 >= vidx3) : (vidx1 > vidx2 || vidx2 > vidx3)) { ret = 1; } } if (((ctl_logical_visual_t*)logvis)->cursor_meet_pos_info & MSB32) { ret = !ret; } return ret; } else if (logvis->init == container_init) { u_int count; container_logical_visual_t *container = (container_logical_visual_t*)logvis; for (count = 0; count < container->num_children; count++) { if (vt_logical_visual_cursor_is_rtl(container->children[count])) { return 1; } } } return 0; } #endif mlterm-3.8.4/vtemu/vt_logical_visual.h010064400017600000144000000041601321054731100165410ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_LOGICAL_VISUAL_H__ #define __VT_LOGICAL_VISUAL_H__ #include "vt_model.h" #include "vt_cursor.h" #include "vt_bidi.h" /* vt_bidi_mode_t */ /* * LTR ... e.g. Mongolian * RTL ... e.g. CJK */ typedef enum vt_vertical_mode { VERT_LTR = 0x1, VERT_RTL = 0x2, VERT_MODE_MAX } vt_vertical_mode_t; typedef struct vt_logical_visual { /* Private */ vt_model_t *model; vt_cursor_t *cursor; int8_t is_visual; /* Public */ /* * Whether logical <=> visual is reversible. * * XXX This flag is used to determine if logvis is vertical mode or not in vt_screen.c * (vt_screen_set_use_status_line()) */ int8_t is_reversible; int (*init)(struct vt_logical_visual *, vt_model_t *, vt_cursor_t *); int (*delete)(struct vt_logical_visual *); u_int (*logical_cols)(struct vt_logical_visual *); u_int (*logical_rows)(struct vt_logical_visual *); /* * !! Notice !! * vt_model_t should not be modified from render/viaul until logical. * Any modification is done from logical until render/visual. */ int (*render)(struct vt_logical_visual *); int (*visual)(struct vt_logical_visual *); int (*logical)(struct vt_logical_visual *); int (*visual_line)(struct vt_logical_visual *, vt_line_t *line); } vt_logical_visual_t; vt_logical_visual_t *vt_logvis_container_new(void); int vt_logvis_container_add(vt_logical_visual_t *logvis, vt_logical_visual_t *child); vt_logical_visual_t *vt_logvis_comb_new(void); vt_logical_visual_t *vt_logvis_vert_new(vt_vertical_mode_t vertical_mode); vt_vertical_mode_t vt_get_vertical_mode(char *name); char *vt_get_vertical_mode_name(vt_vertical_mode_t mode); #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) || defined(USE_IND) || \ defined(USE_OT_LAYOUT) vt_logical_visual_t *vt_logvis_ctl_new(vt_bidi_mode_t mode, const char *separators, void *term); int vt_logical_visual_cursor_is_rtl(vt_logical_visual_t *logvis); #else #define vt_logvis_ctl_new(mode, separators, term) (0) #define vt_logical_visual_cursor_is_rtl(logvis) (0) #endif #endif /* __VT_LOGICAL_VISUAL_H__ */ mlterm-3.8.4/vtemu/vt_logs.c010064400017600000144000000123031321054731100145010ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_logs.h" #include /* memmove/memset */ #include /* malloc */ #include #include #if 0 #define __DEBUG #endif /* --- global functions --- */ int vt_log_init(vt_logs_t *logs, u_int num_rows) { logs->lines = NULL; logs->index = NULL; logs->num_rows = 0; if (num_rows == 0) { return 1; } if ((logs->lines = calloc(sizeof(vt_line_t), num_rows)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " calloc() failed.\n"); #endif return 0; } if ((logs->index = bl_cycle_index_new(num_rows)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " bl_cycle_index_new() failed.\n"); #endif free(logs->lines); logs->lines = NULL; return 0; } logs->num_rows = num_rows; return 1; } void vt_log_final(vt_logs_t *logs) { u_int count; if (logs->num_rows == 0) { return; } for (count = 0; count < logs->num_rows; count++) { vt_line_final(&logs->lines[count]); } bl_cycle_index_delete(logs->index); free(logs->lines); } int vt_change_log_size(vt_logs_t *logs, u_int new_num_rows) { u_int num_filled_rows; logs->unlimited = 0; num_filled_rows = vt_get_num_logged_lines(logs); if (new_num_rows == logs->num_rows) { return 1; } else if (new_num_rows == 0) { free(logs->lines); logs->lines = NULL; bl_cycle_index_delete(logs->index); logs->index = NULL; logs->num_rows = 0; return 1; } else if (new_num_rows > logs->num_rows) { vt_line_t *new_lines; if (sizeof(vt_line_t) * new_num_rows < sizeof(vt_line_t) * logs->num_rows) { /* integer overflow */ return 0; } if ((new_lines = realloc(logs->lines, sizeof(vt_line_t) * new_num_rows)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc() failed.\n"); #endif return 0; } memset(&new_lines[logs->num_rows], 0, sizeof(vt_line_t) * (new_num_rows - logs->num_rows)); logs->lines = new_lines; } else if (new_num_rows < logs->num_rows) { vt_line_t *new_lines; vt_line_t *line; int count; int start; if ((new_lines = calloc(sizeof(vt_line_t), new_num_rows)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " calloc() failed.\n"); #endif return 0; } num_filled_rows = vt_get_num_logged_lines(logs); if (new_num_rows >= num_filled_rows) { start = 0; } else { start = num_filled_rows - new_num_rows; } /* * freeing excess lines. */ for (count = 0; count < start; count++) { if ((line = vt_log_get(logs, count)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " this is impossible.\n"); #endif return 0; } vt_line_final(line); } /* * copying to new lines. */ for (count = 0; count < new_num_rows; count++) { if ((line = vt_log_get(logs, count + start)) == NULL) { break; } vt_line_init(&new_lines[count], line->num_filled_chars); vt_line_share(&new_lines[count], line); } free(logs->lines); logs->lines = new_lines; } if (logs->index) { if (!bl_cycle_index_change_size(logs->index, new_num_rows)) { return 0; } } else { if ((logs->index = bl_cycle_index_new(new_num_rows)) == NULL) { return 0; } } logs->num_rows = new_num_rows; return 1; } int vt_log_add(vt_logs_t *logs, vt_line_t *line) { int at; if (logs->num_rows == 0) { return 1; } if (logs->unlimited && bl_get_filled_cycle_index(logs->index) == bl_get_cycle_index_size(logs->index)) { if (logs->num_rows + 128 > logs->num_rows) { vt_change_log_size(logs, logs->num_rows + 128); logs->unlimited = 1; } } at = bl_next_cycle_index(logs->index); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %d len line logged to index %d.\n", line->num_filled_chars, at); #endif vt_line_final(&logs->lines[at]); /* logs->lines[at] becomes completely the same one as line */ vt_line_clone(&logs->lines[at], line, line->num_filled_chars); vt_line_set_updated(&logs->lines[at]); return 1; } vt_line_t *vt_log_get(vt_logs_t *logs, int at) { int _at; if (at < 0 || vt_get_num_logged_lines(logs) <= at) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " row %d is overflowed in logs.\n", at); #endif return NULL; } if ((_at = bl_cycle_index_of(logs->index, at)) == -1) { return NULL; } return &logs->lines[_at]; } u_int vt_get_num_logged_lines(vt_logs_t *logs) { if (logs->num_rows == 0) { return 0; } else { return bl_get_filled_cycle_index(logs->index); } } int vt_log_reverse_color(vt_logs_t *logs, int char_index, int row) { vt_line_t *line; if ((line = vt_log_get(logs, row)) == NULL) { return 0; } vt_char_reverse_color(vt_char_at(line, char_index)); vt_line_set_modified(line, char_index, vt_line_end_char_index(line)); return 1; } int vt_log_restore_color(vt_logs_t *logs, int char_index, int row) { vt_line_t *line; if ((line = vt_log_get(logs, row)) == NULL) { return 0; } vt_char_restore_color(vt_char_at(line, char_index)); vt_line_set_modified(line, char_index, vt_line_end_char_index(line)); return 1; } mlterm-3.8.4/vtemu/vt_logs.h010064400017600000144000000014161321054731100145110ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_LOGS_H__ #define __VT_LOGS_H__ #include #include "vt_char.h" #include "vt_edit.h" typedef struct vt_logs { vt_line_t *lines; bl_cycle_index_t *index; u_int num_rows; int unlimited; } vt_logs_t; int vt_log_init(vt_logs_t *logs, u_int num_rows); void vt_log_final(vt_logs_t *logs); int vt_change_log_size(vt_logs_t *logs, u_int num_rows); #define vt_unlimit_log_size(logs) ((logs)->unlimited = 1) #define vt_log_size_is_unlimited(logs) ((logs)->unlimited) int vt_log_add(vt_logs_t *logs, vt_line_t *line); vt_line_t *vt_log_get(vt_logs_t *logs, int at); u_int vt_get_num_logged_lines(vt_logs_t *logs); #define vt_get_log_size(logs) ((logs)->num_rows) #endif mlterm-3.8.4/vtemu/vt_model.c010064400017600000144000000112131321054731100146340ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_model.h" #include /* malloc/free */ #include #include /* --- global functions --- */ int vt_model_init(vt_model_t *model, u_int num_cols, u_int num_rows) { u_int count; if (num_rows == 0 || num_cols == 0) { return 0; } model->num_rows = num_rows; model->num_cols = num_cols; if ((model->lines = calloc(sizeof(vt_line_t), model->num_rows)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "calloc() failed.\n"); #endif return 0; } for (count = 0; count < model->num_rows; count++) { if (!vt_line_init(&model->lines[count], model->num_cols)) { return 0; } } model->beg_row = 0; return 1; } void vt_model_final(vt_model_t *model) { u_int count; for (count = 0; count < model->num_rows; count++) { vt_line_final(&model->lines[count]); } free(model->lines); } void vt_model_reset(vt_model_t *model) { u_int count; for (count = 0; count < model->num_rows; count++) { vt_line_reset(&model->lines[count]); vt_line_set_updated(&model->lines[count]); } } int vt_model_resize(vt_model_t *model, u_int *slide, u_int num_cols, u_int num_rows) { int old_row; int new_row; u_int count; u_int copy_rows; vt_line_t *lines_p; u_int filled_rows; if (num_cols == 0 || num_rows == 0) { return 0; } if (num_cols == model->num_cols && num_rows == model->num_rows) { /* not resized */ return 0; } if ((lines_p = calloc(sizeof(vt_line_t), num_rows)) == NULL) { return 0; } filled_rows = vt_model_get_num_filled_rows(model); if (num_rows >= filled_rows) { old_row = 0; copy_rows = filled_rows; } else { old_row = filled_rows - num_rows; copy_rows = num_rows; } if (slide) { *slide = old_row; } /* updating existing lines. */ for (new_row = 0; new_row < copy_rows; new_row++) { vt_line_init(&lines_p[new_row], num_cols); vt_line_copy(&lines_p[new_row], vt_model_get_line(model, old_row)); old_row++; vt_line_set_modified_all(&lines_p[new_row]); } /* freeing old data. */ for (count = 0; count < model->num_rows; count++) { vt_line_final(&model->lines[count]); } free(model->lines); model->lines = lines_p; /* update empty lines. */ for (; new_row < num_rows; new_row++) { vt_line_init(&lines_p[new_row], num_cols); vt_line_set_modified_all(&lines_p[new_row]); } model->num_rows = num_rows; model->num_cols = num_cols; model->beg_row = 0; return 1; } u_int vt_model_get_num_filled_rows(vt_model_t *model) { u_int filled_rows; for (filled_rows = model->num_rows; filled_rows > 0; filled_rows--) { #if 1 /* * This is problematic, since the value of 'slide' can be incorrect when * cursor is located at the line which contains white spaces alone. */ if (vt_line_get_num_filled_chars_except_sp(vt_model_get_line(model, filled_rows - 1)) > 0) #else if (!vt_line_is_empty(vt_model_get_line(model, filled_rows - 1))) #endif { return filled_rows; } } return 0; } int vt_model_end_row(vt_model_t *model) { return model->num_rows - 1; } vt_line_t *vt_model_get_line(vt_model_t *model, int row) { if (row < 0 || model->num_rows <= row) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " row %d is out of range.\n", row); #endif return NULL; } if (model->beg_row + row < model->num_rows) { return &model->lines[model->beg_row + row]; } else { return &model->lines[model->beg_row + row - model->num_rows]; } } int vt_model_scroll_upward(vt_model_t *model, u_int size) { if (size > model->num_rows) { size = model->num_rows; } if (model->beg_row + size >= model->num_rows) { model->beg_row = model->beg_row + size - model->num_rows; } else { model->beg_row += size; } return 1; } int vt_model_scroll_downward(vt_model_t *model, u_int size) { if (size > model->num_rows) { size = model->num_rows; } if (model->beg_row < size) { model->beg_row = model->num_rows - (size - model->beg_row); } else { model->beg_row -= size; } return 1; } #ifdef DEBUG void vt_model_dump(vt_model_t *model) { int row; vt_line_t *line; for (row = 0; row < model->num_rows; row++) { line = vt_model_get_line(model, row); if (vt_line_is_modified(line)) { bl_msg_printf("!%.2d-%.2d", vt_line_get_beg_of_modified(line), vt_line_get_end_of_modified(line)); } else { bl_msg_printf(" "); } bl_msg_printf("[%.2d %.2d]", line->num_filled_chars, vt_line_get_num_filled_cols(line)); vt_str_dump(line->chars, line->num_filled_chars); } } #endif mlterm-3.8.4/vtemu/vt_model.h010064400017600000144000000017611321054731100146500ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_MODEL_H__ #define __VT_MODEL_H__ #include #include "vt_str.h" #include "vt_line.h" typedef struct vt_model { /* private */ vt_line_t *lines; /* public(readonly) */ u_int16_t num_cols; /* 0 - 65536 */ u_int16_t num_rows; /* 0 - 65536 */ /* private */ int beg_row; /* used for scrolling */ } vt_model_t; int vt_model_init(vt_model_t *model, u_int num_cols, u_int num_rows); void vt_model_final(vt_model_t *model); void vt_model_reset(vt_model_t *model); int vt_model_resize(vt_model_t *model, u_int *slide, u_int num_cols, u_int num_rows); u_int vt_model_get_num_filled_rows(vt_model_t *model); int vt_model_end_row(vt_model_t *model); vt_line_t *vt_model_get_line(vt_model_t *model, int row); int vt_model_scroll_upward(vt_model_t *model, u_int size); int vt_model_scroll_downward(vt_model_t *model, u_int size); #ifdef DEBUG void vt_model_dump(vt_model_t *model); #endif #endif mlterm-3.8.4/vtemu/vt_ot_layout.c010064400017600000144000000210601321054731100155540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_ot_layout.h" #ifdef USE_OT_LAYOUT #include /* bl_snprintf */ #include #include #include #include /* K_MAX */ #include "vt_ctl_loader.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static u_int (*shape_func)(void *, u_int32_t *, u_int, int8_t *, u_int8_t *, u_int32_t *, u_int32_t *, u_int, const char *, const char *); static void *(*get_font_func)(void *, vt_font_t); static char *ot_layout_attrs[] = {"latn", "liga,clig,dlig,hlig,rlig"}; static int8_t ot_layout_attr_changed[2]; /* --- static functions --- */ #ifndef NO_DYNAMIC_LOAD_CTL static int vt_is_rtl_char(u_int32_t code) { int (*func)(u_int32_t); if (!(func = vt_load_ctl_bidi_func(VT_IS_RTL_CHAR))) { return 0; } return (*func)(code); } #elif defined(USE_FRIBIDI) /* Defined in libctl/vt_bidi.c */ int vt_is_rtl_char(u_int32_t code); #else #define vt_is_rtl_char(code) (0) #endif /* --- global functions --- */ void vt_set_ot_layout_attr(char *value, vt_ot_layout_attr_t attr) { if (0 <= attr && attr < MAX_OT_ATTRS) { if (ot_layout_attr_changed[attr]) { free(ot_layout_attrs[attr]); } else { ot_layout_attr_changed[attr] = 1; } if (!value || (attr == OT_SCRIPT && strlen(value) != 4) || !(ot_layout_attrs[attr] = strdup(value))) { ot_layout_attrs[attr] = (attr == OT_SCRIPT) ? "latn" : "liga,clig,dlig,hlig,rlig"; } } } char *vt_get_ot_layout_attr(vt_ot_layout_attr_t attr) { if (0 <= attr && attr < MAX_OT_ATTRS) { return ot_layout_attrs[attr]; } else { return ""; } } void vt_ot_layout_set_shape_func(u_int (*func1)(void *, u_int32_t *, u_int, int8_t *, u_int8_t *, u_int32_t *, u_int32_t *, u_int, const char *, const char *), void *(*func2)(void *, vt_font_t)) { shape_func = func1; get_font_func = func2; } u_int vt_ot_layout_shape(void *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len) { if (!shape_func) { return 0; } return (*shape_func)(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, ot_layout_attrs[OT_SCRIPT], ot_layout_attrs[OT_FEATURES]); } void *vt_ot_layout_get_font(void *term, vt_font_t font) { if (!get_font_func) { return NULL; } return (*get_font_func)(term, font); } vt_ot_layout_state_t vt_ot_layout_new(void) { return calloc(1, sizeof(struct vt_ot_layout_state)); } int vt_ot_layout_delete(vt_ot_layout_state_t state) { free(state->num_chars_array); free(state); return 1; } int vt_ot_layout(vt_ot_layout_state_t state, vt_char_t *src, u_int src_len) { int dst_pos; int src_pos; u_int32_t *ucs_buf; u_int32_t *shaped_buf; u_int8_t *num_chars_array; u_int shaped_buf_len; u_int prev_shaped_filled; u_int ucs_filled; u_int32_t prev_shaped; vt_font_t font; vt_font_t prev_font; void *xfont; if ((ucs_buf = alloca((src_len * MAX_COMB_SIZE + 1) * sizeof(*ucs_buf))) == NULL) { return 0; } shaped_buf_len = src_len * MAX_COMB_SIZE + 1; if ((shaped_buf = alloca(shaped_buf_len * sizeof(*shaped_buf))) == NULL) { return 0; } if ((num_chars_array = alloca(shaped_buf_len * sizeof(*num_chars_array))) == NULL) { return 0; } state->substituted = 0; state->complex_shape = 0; state->has_var_width_char = 0; dst_pos = -1; prev_font = font = UNKNOWN_CS; xfont = NULL; prev_shaped = 0; for (src_pos = 0; src_pos < src_len; src_pos++) { font = vt_char_font(src + src_pos); if (FONT_CS(font) == US_ASCII && vt_char_code(src + src_pos) != ' ') { font &= ~US_ASCII; font |= ISO10646_UCS4_1; } if (prev_font != font) { if (!state->substituted && xfont && (prev_shaped_filled != ucs_filled || memcmp(shaped_buf, ucs_buf, prev_shaped_filled * sizeof(*shaped_buf)) != 0)) { /* * state->substituted is useful for libotf (ucs -> glyph index -> shaped glyph index) * while useless for libharfbuzz (ucs -> ucs -> shaped glyph index) * If glyph index and shaped glyph index are the same, state->substituted is 0. */ state->substituted = 1; } prev_shaped_filled = ucs_filled = 0; prev_font = font; if (FONT_CS(font) == ISO10646_UCS4_1) { xfont = vt_ot_layout_get_font(state->term, font); } else { xfont = NULL; } } if (xfont) { u_int shaped_filled; u_int count; vt_char_t *comb; u_int num; ucs_buf[ucs_filled] = vt_char_code(src + src_pos); if (vt_is_rtl_char(ucs_buf[ucs_filled])) { return -1; } else if (IS_VAR_WIDTH_CHAR(ucs_buf[ucs_filled])) { state->has_var_width_char = 1; } /* Don't do it in vt_is_rtl_char() which may be replaced by (0). */ ucs_filled++; comb = vt_get_combining_chars(src + src_pos, &num); for (count = 0; count < num; count++) { ucs_buf[ucs_filled] = vt_char_code(comb++); if (vt_is_rtl_char(ucs_buf[ucs_filled])) { return -1; } /* Don't do it in vt_is_rtl_char() which may be replaced by (0). */ ucs_filled++; } /* store glyph index in ucs_buf. */ vt_ot_layout_shape(xfont, NULL, 0, NULL, NULL, ucs_buf + ucs_filled - num - 1, ucs_buf + ucs_filled - num - 1, num + 1); /* apply ot_layout to glyph indeces in ucs_buf. */ shaped_filled = vt_ot_layout_shape(xfont, shaped_buf, shaped_buf_len, NULL, NULL, ucs_buf, NULL, ucs_filled); if (shaped_filled < prev_shaped_filled) { if (shaped_filled == 0) { return 0; } count = prev_shaped_filled - shaped_filled; dst_pos -= count; for (; count > 0; count--) { num_chars_array[dst_pos] += num_chars_array[dst_pos + count]; } prev_shaped_filled = shaped_filled; /* goto to the next if block */ state->complex_shape = 1; } if (dst_pos >= 0 && shaped_filled == prev_shaped_filled) { num_chars_array[dst_pos]++; state->complex_shape = 1; } else { num_chars_array[++dst_pos] = 1; if ((count = shaped_filled - prev_shaped_filled) > 1) { do { num_chars_array[++dst_pos] = 0; } while (--count > 1); state->complex_shape = 1; } else if (!state->complex_shape) { if (shaped_filled >= 2 && shaped_buf[shaped_filled - 2] != prev_shaped) { /* * This line contains glyphs which are changeable according to the context * before and after. */ state->complex_shape = 1; } prev_shaped = shaped_buf[shaped_filled - 1]; } } prev_shaped_filled = shaped_filled; } else if (IS_ISCII(FONT_CS(font))) { return -2; } else { num_chars_array[++dst_pos] = 1; } } if (!state->substituted && xfont && (prev_shaped_filled != ucs_filled || memcmp(shaped_buf, ucs_buf, prev_shaped_filled * sizeof(*shaped_buf)) != 0)) { state->substituted = 1; } if (state->size != dst_pos + 1) { void *p; if (!(p = realloc(state->num_chars_array, K_MAX(dst_pos + 1, src_len) * sizeof(*num_chars_array)))) { return 0; } #ifdef __DEBUG if (p != state->num_chars_array) { bl_debug_printf(BL_DEBUG_TAG " REALLOC array %d(%p) -> %d(%p)\n", state->size, state->num_chars_array, dst_pos + 1, p); } #endif state->num_chars_array = p; state->size = dst_pos + 1; } memcpy(state->num_chars_array, num_chars_array, state->size * sizeof(*num_chars_array)); return 1; } int vt_ot_layout_copy(vt_ot_layout_state_t dst, vt_ot_layout_state_t src, int optimize) { u_int8_t *p; if (optimize && !src->substituted) { vt_ot_layout_delete(dst); return -1; } else if (src->size == 0) { free(dst->num_chars_array); p = NULL; } else if ((p = realloc(dst->num_chars_array, sizeof(u_int8_t) * src->size))) { memcpy(p, src->num_chars_array, sizeof(u_int8_t) * src->size); } else { return 0; } dst->num_chars_array = p; dst->term = src->term; dst->size = src->size; dst->substituted = src->substituted; return 1; } void vt_ot_layout_reset(vt_ot_layout_state_t state) { state->size = 0; } #endif mlterm-3.8.4/vtemu/vt_util.c010064400017600000144000000057421321054731100145230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_util.h" #include #include #include /* --- static functions --- */ static int hex_to_int(char c) { if ('0' <= c && c <= '9') { return c - '0'; } else { c &= 0xdf; if ('A' <= c && c <= 'F') { return c - 'A' + 10; } } return -1; } /* --- global functions --- */ size_t vt_hex_decode(char *decoded, const char *encoded, size_t e_len) { size_t pos; char *p = decoded; for (pos = 0; e_len > pos + 1; pos += 2) { int i1 = hex_to_int(encoded[pos]); int i2 = hex_to_int(encoded[pos + 1]); if (i1 < 0 || i2 < 0) { break; } *(p++) = i1 * 16 + i2; } return (p - decoded); } size_t vt_hex_encode(char *encoded, const char *decoded, size_t d_len) { size_t pos; char *p = encoded; for (pos = 0; d_len > pos; pos ++) { int h1 = (decoded[pos] >> 4) & 0xf; int h2 = decoded[pos] & 0xf; *(p++) = (h1 > 9) ? ('a' + h1 - 10) : ('0' + h1); *(p++) = (h2 > 9) ? ('a' + h2 - 10) : ('0' + h2); } return (p - encoded); } size_t vt_base64_decode(char *decoded, const char *encoded, size_t e_len) { size_t d_pos; size_t e_pos; /* ASCII -> Base64 order */ int8_t conv_tbl[] = {/* 0x2b - */ 62, -1, -1, -1, 63, /* 0x30 - */ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -2, -1, -1, /* 0x40 - */ -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, /* 0x50 - */ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, /* 0x60 - */ -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /* 0x70 - 7a */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}; d_pos = e_pos = 0; while (e_len >= e_pos + 4) { size_t count; int8_t bytes[4]; for (count = 0; count < 4; e_pos++) { if (encoded[e_pos] < 0x2b || 0x7a < encoded[e_pos] || (bytes[count] = conv_tbl[encoded[e_pos] - 0x2b]) == -1) { #ifdef DEBUG if (encoded[e_pos] != '\x0d' && encoded[e_pos] != '\x0a') { bl_debug_printf(BL_DEBUG_TAG " ignoring %c in base64\n", encoded[e_pos]); } #endif if (e_len <= e_pos + 1) { goto end; } } else { count++; } } decoded[d_pos++] = (((bytes[0] << 2) & 0xfc) | ((bytes[1] >> 4) & 0x3)); if (bytes[2] != -2) { decoded[d_pos++] = (((bytes[1] << 4) & 0xf0) | ((bytes[2] >> 2) & 0xf)); } else { break; } if (bytes[3] != -2) { decoded[d_pos++] = (((bytes[2] << 6) & 0xc0) | (bytes[3] & 0x3f)); } else { break; } } end: #ifdef DEBUG decoded[d_pos] = '\0'; if (strlen(encoded) < 1000) { bl_debug_printf(BL_DEBUG_TAG " Base64 Decode %s => %s\n", encoded, decoded); } #endif return d_pos; } mlterm-3.8.4/vtemu/vt_ot_layout.h010064400017600000144000000030321321054731100155600ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_OT_LAYOUT_H__ #define __VT_OT_LAYOUT_H__ #include /* u_int/u_char */ #include "vt_font.h" #include "vt_char.h" typedef enum vt_ot_layout_attr { OT_SCRIPT = 0, OT_FEATURES = 1, MAX_OT_ATTRS = 2, } vt_ot_layout_attr_t; typedef struct vt_ot_layout_state { void *term; u_int8_t *num_chars_array; u_int16_t size; int substituted : 2; int complex_shape : 2; int has_var_width_char : 2; } * vt_ot_layout_state_t; void vt_set_ot_layout_attr(char *value, vt_ot_layout_attr_t attr); char *vt_get_ot_layout_attr(vt_ot_layout_attr_t attr); void vt_ot_layout_set_shape_func(u_int (*func1)(void *, u_int32_t *, u_int, int8_t *, u_int8_t *, u_int32_t *, u_int32_t *, u_int, const char *, const char *), void *(*func2)(void *, vt_font_t)); u_int vt_ot_layout_shape(void *font, u_int32_t *shaped, u_int32_t shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int32_t src_len); void *vt_ot_layout_get_font(void *term, vt_font_t font); vt_ot_layout_state_t vt_ot_layout_new(void); int vt_ot_layout_delete(vt_ot_layout_state_t state); int vt_ot_layout(vt_ot_layout_state_t state, vt_char_t *src, u_int src_len); void vt_ot_layout_reset(vt_ot_layout_state_t state); int vt_ot_layout_copy(vt_ot_layout_state_t dst, vt_ot_layout_state_t src, int optimize); #endif mlterm-3.8.4/vtemu/vt_pty.h010064400017600000144000000056041321054731100143640ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_PTY_H__ #define __VT_PTY_H__ #include /* USE_WIN32API */ #include /* u_int/u_char */ #ifdef USE_LIBSSH2 #include "vt_char_encoding.h" /* * defined(__CYGWIN__) is not to link libpthread to mlterm for now. * OPEN_PTY_SYNC is defined in java/Makefile.in */ #if (defined(USE_WIN32API) && !defined(OPEN_PTY_SYNC)) || \ (defined(HAVE_PTHREAD) && defined(__CYGWIN__)) #define OPEN_PTY_ASYNC #endif #endif /* USE_LIBSSH2 */ typedef struct vt_pty_event_listener { void *self; /* Called when vt_pty_delete. */ void (*closed)(void *); void (*show_config)(void *, char *); } vt_pty_event_listener_t; typedef struct vt_pty_hook { void *self; size_t (*pre_write)(void *, u_char *, size_t); } vt_pty_hook_t; typedef struct vt_pty *vt_pty_ptr_t; vt_pty_ptr_t vt_pty_new(const char *cmd_path, char **cmd_argv, char **env, const char *host, const char *work_dir, const char *pass, const char *pubkey, const char *privkey, u_int cols, u_int rows, u_int width_pix, u_int height_pix); vt_pty_ptr_t vt_pty_new_with(int master, int slave, pid_t child_pid, u_int cols, u_int rows, u_int width_pix, u_int height_pix); int vt_pty_delete(vt_pty_ptr_t pty); void vt_pty_set_listener(vt_pty_ptr_t pty, vt_pty_event_listener_t *pty_listener); int vt_set_pty_winsize(vt_pty_ptr_t pty, u_int cols, u_int rows, u_int width_pix, u_int height_pix); size_t vt_write_to_pty(vt_pty_ptr_t pty, u_char *buf, size_t len); size_t vt_read_pty(vt_pty_ptr_t pty, u_char *buf, size_t left); void vt_response_config(vt_pty_ptr_t pty, char *key, char *value, int to_menu); pid_t vt_pty_get_pid(vt_pty_ptr_t pty); int vt_pty_get_master_fd(vt_pty_ptr_t pty); int vt_pty_get_slave_fd(vt_pty_ptr_t pty); char *vt_pty_get_slave_name(vt_pty_ptr_t pty); int vt_start_config_menu(vt_pty_ptr_t pty, char *cmd_path, int x, int y, char *display); char *vt_pty_get_cmd_line(vt_pty_ptr_t pty); void vt_pty_set_hook(vt_pty_ptr_t pty, vt_pty_hook_t *hook); #ifdef USE_LIBSSH2 void *vt_search_ssh_session(const char *host, const char *port, const char *user); int vt_pty_set_use_loopback(vt_pty_ptr_t pty, int use); int vt_pty_ssh_scp(vt_pty_ptr_t pty, vt_char_encoding_t pty_encoding, vt_char_encoding_t path_encoding, char *dst_path, char *src_path, int use_scp_full); void vt_pty_ssh_set_cipher_list(const char *list); void vt_pty_ssh_set_keepalive_interval(u_int interval_sec); int vt_pty_ssh_keepalive(u_int spent_msec); void vt_pty_ssh_set_use_x11_forwarding(void *session, int use_x11_forwarding); int vt_pty_ssh_poll(void *fds); u_int vt_pty_ssh_get_x11_fds(int **fds); int vt_pty_ssh_send_recv_x11(int idx, int bidirection); void vt_pty_ssh_set_use_auto_reconnect(int flag); #endif #endif mlterm-3.8.4/vtemu/vt_pty.c010064400017600000144000000201651321054731100143560ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * _GNU_SOURCE must be defined before including to take effect. * since standard headers, bl_types.h and bl_def.h include features.h * indirectly, * ecplicitly evaluate only the autoconf's result here. * (for ptsname) */ #include #ifdef HAVE_GNU_SOURCE #define _GNU_SOURCE #endif #include "vt_pty_intern.h" #include #include /* realloc/alloca */ #include #include #include /* DIGIT_STR_LEN */ #include #include /* ttyname/pipe */ #include /* sscanf */ #include /* ptsname */ #include /* fcntl/O_BINARY */ #ifdef USE_WIN32API #include #endif #if 0 #define __DEBUG #endif /* --- global functions --- */ vt_pty_t *vt_pty_new(const char *cmd_path, /* can be NULL */ char **cmd_argv, /* can be NULL(only if cmd_path is NULL) */ char **env, /* can be NULL */ const char *host, /* DISPLAY env or remote host */ const char *work_dir, /* can be NULL */ const char *pass, /* can be NULL */ const char *pubkey, /* can be NULL */ const char *privkey, /* can be NULL */ u_int cols, u_int rows, u_int width_pix, u_int height_pix) { vt_pty_t *pty; #ifndef USE_WIN32API if (!pass) { pty = vt_pty_unix_new(cmd_path, cmd_argv, env, host, work_dir, cols, rows, width_pix, height_pix); } else #endif { #if defined(USE_LIBSSH2) pty = vt_pty_ssh_new(cmd_path, cmd_argv, env, host, pass, pubkey, privkey, cols, rows, width_pix, height_pix); #elif defined(USE_WIN32API) pty = vt_pty_pipe_new(cmd_path, cmd_argv, env, host, pass, cols, rows); #else pty = NULL; #endif } if (pty) { vt_config_menu_init(&pty->config_menu); } return pty; } vt_pty_ptr_t vt_pty_new_with(int master, int slave, pid_t child_pid, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { vt_pty_t *pty; #ifndef USE_WIN32API if (ptsname(master)) { pty = vt_pty_unix_new_with(master, slave, child_pid, ":0.0", cols, rows, width_pix, height_pix); } else #endif { pty = NULL; } vt_config_menu_init(&pty->config_menu); return pty; } int vt_pty_delete(vt_pty_t *pty) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " vt_pty_delete is called for %p.\n", pty); #endif if (pty->pty_listener && pty->pty_listener->closed) { (*pty->pty_listener->closed)(pty->pty_listener->self); } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " %s is not set.\n", pty->pty_listener ? "pty_listener->closed" : "pty listener"); } #endif free(pty->buf); free(pty->cmd_line); vt_config_menu_final(&pty->config_menu); (*pty->final)(pty); free(pty); return 1; } int vt_set_pty_winsize(vt_pty_t *pty, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { return (*pty->set_winsize)(pty, cols, rows, width_pix, height_pix); } void vt_pty_set_listener(vt_pty_t *pty, vt_pty_event_listener_t *pty_listener) { pty->pty_listener = pty_listener; } /* * Return size of lost bytes. */ size_t vt_write_to_pty(vt_pty_t *pty, u_char *buf, size_t len /* if 0, flushing buffer. */ ) { u_char *w_buf; size_t w_buf_size; ssize_t written_size; void *p; w_buf_size = pty->left + len; if (w_buf_size == 0) { return 0; } #if 0 /* * Little influence without this buffering. */ else if (len > 0 && w_buf_size < 16) { /* * Buffering until 16 bytes. */ if (pty->size < 16) { if ((p = realloc(pty->buf, 16)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed. %d characters not written.\n", len); #endif return len; } pty->size = 16; pty->buf = p; } memcpy(&pty->buf[pty->left], buf, len); pty->left = w_buf_size; #if 0 bl_debug_printf("buffered(not written) %d characters.\n", pty->left); #endif return 0; } #endif if (/* pty->buf && */ len == 0) { w_buf = pty->buf; } else if (/* pty->buf == NULL && */ pty->left == 0) { w_buf = buf; } else if ((w_buf = alloca(w_buf_size))) { memcpy(w_buf, pty->buf, pty->left); memcpy(&w_buf[pty->left], buf, len); } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed. %d characters not written.\n", len); #endif return len; } #ifdef __DEBUG { int i; for (i = 0; i < w_buf_size; i++) { bl_msg_printf("%.2x", w_buf[i]); } bl_msg_printf("\n"); } #endif if (pty->hook) { if (!pty->hook->pre_write) { written_size = w_buf_size; goto written; } else { written_size = (*pty->hook->pre_write)(pty->hook->self, w_buf, w_buf_size); } } written_size = (*pty->write)(pty, w_buf, w_buf_size); written: if (written_size < 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " write() failed.\n"); #endif written_size = 0; } if (written_size == w_buf_size) { pty->left = 0; return 0; } /* w_buf_size - written_size == not_written_size */ if (w_buf_size - written_size > pty->size) { if ((p = realloc(pty->buf, w_buf_size - written_size)) == NULL) { size_t lost; if (pty->size == 0) { lost = w_buf_size - written_size; pty->left = 0; } else { lost = w_buf_size - written_size - pty->size; memcpy(pty->buf, &w_buf[written_size], pty->size); pty->left = pty->size; } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed. %d characters are not written.\n", lost); #endif return lost; } else { pty->size = pty->left = w_buf_size - written_size; pty->buf = p; } } else { pty->left = w_buf_size - written_size; } memcpy(pty->buf, &w_buf[written_size], pty->left); #if 0 bl_debug_printf("%d is not written.\n", pty->left); #endif return 0; } size_t vt_read_pty(vt_pty_t *pty, u_char *buf, size_t left) { size_t read_size; read_size = 0; while (1) { ssize_t ret; ret = (*pty->read)(pty, &buf[read_size], left); if (ret <= 0) { return read_size; } else { read_size += ret; left -= ret; } } } void vt_response_config(vt_pty_t *pty, char *key, char *value, int to_menu) { char *res; char *fmt; size_t res_len; res_len = 1 + strlen(key) + 1; if (value) { res_len += (1 + strlen(value)); fmt = "#%s=%s\n"; } else { fmt = "#%s\n"; } if (!(res = alloca(res_len + 1))) { res = "#error\n"; } sprintf(res, fmt, key, value); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s\n", res); #endif if (to_menu < 0) { if (pty->pty_listener && pty->pty_listener->show_config) { /* '\n' -> '\0' */ res[strlen(res) - 1] = '\0'; (*pty->pty_listener->show_config)(pty->pty_listener->self, res + 1); } } else if (to_menu > 0) { vt_config_menu_write(&pty->config_menu, res, res_len); } else { vt_write_to_pty(pty, res, res_len); } } pid_t vt_pty_get_pid(vt_pty_t *pty) { return pty->child_pid; } int vt_pty_get_master_fd(vt_pty_t *pty) { return pty->master; } /* Return: slave fd or -1 */ int vt_pty_get_slave_fd(vt_pty_t *pty) { return pty->slave; } /* * Always return non-NULL value. * XXX Static data can be returned. (Not reentrant) */ char *vt_pty_get_slave_name(vt_pty_t *pty) { static char virt_name[9 + DIGIT_STR_LEN(int)+1]; #ifndef USE_WIN32API char *name; if (pty->slave >= 0 && (name = ttyname(pty->slave))) { return name; } #endif /* Virtual pty name */ #ifdef USE_LIBSSH2 sprintf(virt_name, "/dev/vpty%d", ((pty->child_pid >> 1) & 0xfff)); /* child_pid == channel */ #else sprintf(virt_name, "/dev/vpty%d", pty->master); #endif return virt_name; } int vt_start_config_menu(vt_pty_t *pty, char *cmd_path, int x, int y, char *display) { return vt_config_menu_start(&pty->config_menu, cmd_path, x, y, display, pty); } char *vt_pty_get_cmd_line(vt_pty_t *pty) { return pty->cmd_line; } void vt_pty_set_hook(vt_pty_t *pty, vt_pty_hook_t *hook) { pty->hook = hook; } mlterm-3.8.4/vtemu/vt_pty_intern.h010064400017600000144000000036751321054731100157510ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_PTY_INTERN_H__ #define __VT_PTY_INTERN_H__ #include "vt_pty.h" #include "vt_config_menu.h" /* See android/jni/ui_event_source.c */ #ifdef __ANDROID__ #undef vt_config_menu_write extern char *android_config_response; #define vt_config_menu_write(config_menu, buf, len) \ (android_config_response = strncpy(calloc(len + 1, 1), buf, len)) #endif typedef struct vt_pty { int master; /* master pty fd */ int slave; /* slave pty fd */ pid_t child_pid; /* Used in vt_write_to_pty */ u_char *buf; size_t left; size_t size; int (*final)(vt_pty_ptr_t); int (*set_winsize)(vt_pty_ptr_t, u_int, u_int, u_int, u_int); ssize_t (*write)(vt_pty_ptr_t, u_char*, size_t); ssize_t (*read)(vt_pty_ptr_t, u_char*, size_t); vt_pty_event_listener_t *pty_listener; vt_pty_hook_t *hook; vt_config_menu_t config_menu; struct { int master; int slave; ssize_t (*write)(vt_pty_ptr_t, u_char*, size_t); ssize_t (*read)(vt_pty_ptr_t, u_char*, size_t); u_int ref_count; } * stored; char *cmd_line; } vt_pty_t; vt_pty_t *vt_pty_unix_new(const char *cmd_path, char **cmd_argv, char **env, const char *host, const char *work_dir, u_int cols, u_int rows, u_int width_pix, u_int height_pix); vt_pty_t *vt_pty_unix_new_with(int master, int slave, pid_t child_pid, const char *host, u_int cols, u_int rows, u_int width_pix, u_int height_pix); vt_pty_t *vt_pty_ssh_new(const char *cmd_path, char **cmd_argv, char **env, const char *host, const char *pass, const char *pubkey, const char *privkey, u_int cols, u_int rows, u_int width_pix, u_int height_pix); vt_pty_t *vt_pty_pipe_new(const char *cmd_path, char **cmd_argv, char **env, const char *host, const char *pass, u_int cols, u_int rows); #endif mlterm-3.8.4/vtemu/API010064400017600000144000000014431321054731200132200ustar kenusers[vt_term] (All functions declared in vt_term.h) [vt_line] ('get' family functions only) * vt_line_end_char_index * vt_line_is_rtl * vt_line_shape * vt_line_unshape * vt_line_is_empty * vt_line_get_beg_of_modified * vt_line_get_end_of_modified * vt_line_get_num_of_redrawn_chars * vt_line_is_cleared_to_end * vt_line_is_modified [vt_char] * vt_char_code * vt_char_size * vt_char_cs * vt_char_font * vt_char_fg_color * vt_char_bg_color * vt_char_is_underlined * vt_char_init * vt_char_copy * vt_char_final * vt_char_code_is * vt_char_set_code * vt_char_dump [vt_str] * vt_str_alloca * vt_str_new * vt_str_delete [vt_char_encoding] (All functions declared in vt_char_encoding.h) [vt_font] (All functions declared in vt_font.h) [vt_color] (All functions declared in vt_color.h) mlterm-3.8.4/vtemu/vt_pty_ssh.c010064400017600000144000000234331321054731100152340ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include /* bl_get_codeset() */ #ifdef NO_DYNAMIC_LOAD_SSH #include "libptyssh/vt_pty_ssh.c" #else /* NO_DYNAMIC_LOAD_SSH */ #include "vt_pty_intern.h" #include /* snprintf */ #include /* strcmp */ #include #include #include #include /* bl_basename */ #include /* alloca */ #ifndef LIBDIR #define SSHLIB_DIR "/usr/local/lib/mlterm/" #else #define SSHLIB_DIR LIBDIR "/mlterm/" #endif #if 0 #define __DEBUG #endif /* --- static variables --- */ static vt_pty_ptr_t (*ssh_new)(const char *, char **, char **, const char *, const char *, const char *, const char *, u_int, u_int, u_int, u_int); static void *(*search_ssh_session)(const char *, const char *, const char *); static int (*set_use_loopback)(vt_pty_ptr_t, int); static int (*ssh_scp)(vt_pty_ptr_t, int, char *, char *); static void (*ssh_set_cipher_list)(const char *); static void (*ssh_set_keepalive_interval)(u_int); static int (*ssh_keepalive)(u_int); static void (*ssh_set_use_x11_forwarding)(void *, int); static int (*ssh_poll)(void *); static u_int (*ssh_get_x11_fds)(int **); static int (*ssh_send_recv_x11)(int, int); static void (*ssh_set_use_auto_reconnect)(int); static int is_tried; static bl_dl_handle_t handle; /* * Not to load libptyssh.so until mlterm actually connects to a ssh server. * "mlterm 4460 child_info_fork::abort: address space needed by 'cygcrypto-1.0.0.dll' * (0x1660000) is already occupied" error may happen on startup without this. */ static u_int keepalive_interval_sec; static int auto_reconnect; /* --- static functions --- */ static void load_library(void) { is_tried = 1; if (!(handle = bl_dl_open(SSHLIB_DIR, "ptyssh")) && !(handle = bl_dl_open("", "ptyssh"))) { bl_error_printf("SSH: Could not load.\n"); return; } bl_dl_close_at_exit(handle); ssh_new = bl_dl_func_symbol(handle, "vt_pty_ssh_new"); search_ssh_session = bl_dl_func_symbol(handle, "vt_search_ssh_session"); set_use_loopback = bl_dl_func_symbol(handle, "vt_pty_set_use_loopback"); ssh_scp = bl_dl_func_symbol(handle, "vt_pty_ssh_scp_intern"); ssh_set_cipher_list = bl_dl_func_symbol(handle, "vt_pty_ssh_set_cipher_list"); ssh_set_keepalive_interval = bl_dl_func_symbol(handle, "vt_pty_ssh_set_keepalive_interval"); ssh_keepalive = bl_dl_func_symbol(handle, "vt_pty_ssh_keepalive"); ssh_set_use_x11_forwarding = bl_dl_func_symbol(handle, "vt_pty_ssh_set_use_x11_forwarding"); ssh_poll = bl_dl_func_symbol(handle, "vt_pty_ssh_poll"); ssh_get_x11_fds = bl_dl_func_symbol(handle, "vt_pty_ssh_get_x11_fds"); ssh_send_recv_x11 = bl_dl_func_symbol(handle, "vt_pty_ssh_send_recv_x11"); ssh_set_use_auto_reconnect = bl_dl_func_symbol(handle, "vt_pty_ssh_set_use_auto_reconnect"); if (keepalive_interval_sec > 0) { vt_pty_ssh_set_keepalive_interval(keepalive_interval_sec); keepalive_interval_sec = 0; } if (auto_reconnect) { vt_pty_ssh_set_use_auto_reconnect(1); auto_reconnect = 0; } } /* --- global functions --- */ vt_pty_ptr_t vt_pty_ssh_new(const char *cmd_path, char **cmd_argv, char **env, const char *uri, const char *pass, const char *pubkey, const char *privkey, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { if (!is_tried) { load_library(); } if (ssh_new) { return (*ssh_new)(cmd_path, cmd_argv, env, uri, pass, pubkey, privkey, cols, rows, width_pix, height_pix); } else { return NULL; } } void *vt_search_ssh_session(const char *host, const char *port, /* can be NULL */ const char *user /* can be NULL */ ) { if (search_ssh_session) { return (*search_ssh_session)(host, port, user); } else { return NULL; } } int vt_pty_set_use_loopback(vt_pty_ptr_t pty, int use) { if (set_use_loopback) { return (*set_use_loopback)(pty, use); } else { return 0; } } void vt_pty_ssh_set_cipher_list(const char *list) { /* This function can be called before vt_pty_ssh_new() */ if (!is_tried) { load_library(); } if (ssh_set_cipher_list) { (*ssh_set_cipher_list)(list); } } void vt_pty_ssh_set_keepalive_interval(u_int interval_sec) { /* This function can be called before vt_pty_ssh_new() */ if (!is_tried) { keepalive_interval_sec = interval_sec; } else if (ssh_set_keepalive_interval) { (*ssh_set_keepalive_interval)(interval_sec); } } int vt_pty_ssh_keepalive(u_int spent_msec) { if (ssh_keepalive) { return (*ssh_keepalive)(spent_msec); } else { return 0; } } void vt_pty_ssh_set_use_x11_forwarding(void *session, int use) { /* This function can be called before vt_pty_ssh_new() */ if (!is_tried) { load_library(); } if (ssh_set_use_x11_forwarding) { (*ssh_set_use_x11_forwarding)(session, use); } } int vt_pty_ssh_poll(void *fds) { if (ssh_poll) { return (*ssh_poll)(fds); } else { return 0; } } u_int vt_pty_ssh_get_x11_fds(int **fds) { if (ssh_get_x11_fds) { return (*ssh_get_x11_fds)(fds); } else { return 0; } } int vt_pty_ssh_send_recv_x11(int idx, int bidirection) { if (ssh_send_recv_x11) { return (*ssh_send_recv_x11)(idx, bidirection); } else { return 0; } } void vt_pty_ssh_set_use_auto_reconnect(int use) { /* This function can be called before vt_pty_ssh_new() */ if (!is_tried) { auto_reconnect = use; } else if (ssh_set_use_auto_reconnect) { (*ssh_set_use_auto_reconnect)(use); } } #endif /* NO_DYNAMIC_LOAD_SSH */ int vt_pty_ssh_scp(vt_pty_ptr_t pty, vt_char_encoding_t pty_encoding, /* Not VT_UNKNOWN_ENCODING */ vt_char_encoding_t path_encoding, /* Not VT_UNKNOWN_ENCODING */ char *dst_path, char *src_path, int use_scp_full) { int dst_is_remote; int src_is_remote; char *file; char* _dst_path; char* _src_path; size_t len; char *p; vt_char_encoding_t locale_encoding; if (strncmp(dst_path, "remote:", 7) == 0) { dst_path += 7; dst_is_remote = 1; } else if (strncmp(dst_path, "local:", 6) == 0) { dst_path += 6; dst_is_remote = 0; } else { dst_is_remote = -1; } if (strncmp(src_path, "local:", 6) == 0) { src_path += 6; src_is_remote = 0; } else if (strncmp(src_path, "remote:", 7) == 0) { src_path += 7; src_is_remote = 1; } else { if (dst_is_remote == -1) { src_is_remote = 0; dst_is_remote = 1; } else { src_is_remote = (!dst_is_remote); } } if (dst_is_remote == -1) { dst_is_remote = (!src_is_remote); } else if (dst_is_remote == src_is_remote) { bl_msg_printf("SCP: Destination host(%s) and source host(%s) is the same.\n", dst_path, src_path); return 0; } if (pty->stored /* using loopback */ || use_scp_full) { /* do nothing */ } else if (IS_RELATIVE_PATH_UNIX(dst_path)) /* dst_path is always unix style. */ { char *prefix; if (strstr(dst_path, "..")) { /* insecure file name */ return 0; } prefix = bl_get_home_dir(); if (!(p = alloca(strlen(prefix) + 13 + strlen(dst_path) + 1))) { return 0; } /* mkdir ~/.mlterm/scp in advance. */ if (!dst_is_remote) { #ifdef USE_WIN32API sprintf(p, "%s\\mlterm\\scp\\%s", prefix, dst_path); #else sprintf(p, "%s/.mlterm/scp/%s", prefix, dst_path); #endif } else { sprintf(p, ".mlterm/scp/%s", dst_path); } dst_path = p; } /* scp /tmp/TEST /home/user => scp /tmp/TEST /home/user/TEST */ file = bl_basename(src_path); if ((p = alloca(strlen(dst_path) + strlen(file) + 2))) { #ifdef USE_WIN32API if (!dst_is_remote) { sprintf(p, "%s\\%s", dst_path, file); } else #endif { sprintf(p, "%s/%s", dst_path, file); } dst_path = p; } #if 0 bl_debug_printf("SCP: %s%s -> %s%s\n", src_is_remote ? "remote:" : "local:", src_path, dst_is_remote ? "remote:" : "local:", dst_path); #endif if (path_encoding != pty_encoding) { /* convert to terminal encoding */ len = strlen(dst_path); if ((_dst_path = alloca(len * 2 + 1))) { _dst_path[vt_char_encoding_convert(_dst_path, len * 2, pty_encoding, dst_path, len, path_encoding)] = '\0'; } len = strlen(src_path); if ((_src_path = alloca(len * 2 + 1))) { _src_path[vt_char_encoding_convert(_src_path, len * 2, pty_encoding, src_path, len, path_encoding)] = '\0'; } } else { _dst_path = dst_path; _src_path = src_path; } if ((locale_encoding = vt_get_char_encoding(bl_get_codeset())) == VT_UNKNOWN_ENCODING) { locale_encoding = path_encoding; } if (src_is_remote) { /* Remote: convert to terminal encoding */ if (_src_path) { src_path = _src_path; } /* Local: convert to locale encoding */ len = strlen(dst_path); if (locale_encoding != path_encoding && (p = alloca(len * 2 + 1))) { p[vt_char_encoding_convert(p, len * 2, locale_encoding, dst_path, len, path_encoding)] = '\0'; dst_path = p; } } else /* if( dst_is_remote) */ { /* Remote: convert to terminal encoding */ if (_dst_path) { dst_path = _dst_path; } /* Local: convert to locale encoding */ len = strlen(src_path); if (locale_encoding != path_encoding && (p = alloca(len * 2 + 1))) { p[vt_char_encoding_convert(p, len * 2, locale_encoding, src_path, len, path_encoding)] = '\0'; src_path = p; } } #ifdef NO_DYNAMIC_LOAD_SSH if (vt_pty_ssh_scp_intern(pty, src_is_remote, dst_path, src_path)) #else if (ssh_scp && (*ssh_scp)(pty, src_is_remote, dst_path, src_path)) #endif { return 1; } else { return 0; } } mlterm-3.8.4/vtemu/vt_pty_unix.c010064400017600000144000000113731321054731100154220ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_pty_intern.h" #include /* sprintf */ #include /* close */ #include #include #include /* signal/SIGWINCH */ #include /* strchr/memcpy */ #include /* putenv */ #include #include /* realloc/alloca */ #include /* strdup */ #include #include /* bl_basename */ #include /* bl_killpg */ #ifdef USE_UTMP #include #endif #if 0 #define __DEBUG #endif typedef struct vt_pty_unix { vt_pty_t pty; #ifdef USE_UTMP bl_utmp_t utmp; #endif } vt_pty_unix_t; /* --- static functions --- */ static int final(vt_pty_t *pty) { #ifdef USE_UTMP if (((vt_pty_unix_t*)pty)->utmp) { bl_utmp_delete(((vt_pty_unix_t*)pty)->utmp); } #endif #ifdef __DEBUG bl_debug_printf("PTY fd %d is closed\n", pty->master); #endif bl_pty_close(pty->master); close(pty->slave); return 1; } static int set_winsize(vt_pty_t *pty, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { struct winsize ws; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " win size cols %d rows %d width %d height %d.\n", cols, rows, width_pix, height_pix); #endif ws.ws_col = cols; ws.ws_row = rows; ws.ws_xpixel = width_pix; ws.ws_ypixel = height_pix; if (ioctl(pty->master, TIOCSWINSZ, &ws) < 0) { #ifdef DBEUG bl_warn_printf(BL_DEBUG_TAG " ioctl(TIOCSWINSZ) failed.\n"); #endif return 0; } if (pty->child_pid > 1) { int pgrp; #ifdef TIOCGPGRP if (ioctl(pty->master, TIOCGPGRP, &pgrp) != -1) { if (pgrp > 0) { bl_killpg(pgrp, SIGWINCH); } } else #endif { bl_killpg(pty->child_pid, SIGWINCH); } } return 1; } static ssize_t write_to_pty(vt_pty_t *pty, u_char *buf, size_t len) { return write(pty->master, buf, len); } static ssize_t read_pty(vt_pty_t *pty, u_char *buf, size_t len) { return read(pty->master, buf, len); } /* --- global functions --- */ vt_pty_t *vt_pty_unix_new(const char *cmd_path, /* If NULL, child prcess is not exec'ed. */ char **cmd_argv, /* can be NULL(only if cmd_path is NULL) */ char **env, /* can be NULL */ const char *host, const char *work_dir, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { vt_pty_t *pty; int master; int slave; pid_t pid; pid = bl_pty_fork(&master, &slave); if (pid == -1) { return NULL; } if (pid == 0) { /* child process */ if (work_dir) { chdir(work_dir); } /* reset signals and spin off the command interpreter */ signal(SIGINT, SIG_DFL); signal(SIGQUIT, SIG_DFL); signal(SIGCHLD, SIG_DFL); signal(SIGPIPE, SIG_DFL); /* * setting environmental variables. */ if (env) { while (*env) { /* * an argument string of putenv() must be allocated memory. * (see SUSV2) */ putenv(strdup(*env)); env++; } } #if 0 /* * XXX is this necessary ? * * mimick login's behavior by disabling the job control signals. * a shell that wants them can turn them back on */ signal(SIGTSTP, SIG_IGN); signal(SIGTTIN, SIG_IGN); signal(SIGTTOU, SIG_IGN); #endif if (!cmd_path) { goto return_pty; } if (strchr(cmd_path, '/') == NULL) { execvp(cmd_path, cmd_argv); } else { execv(cmd_path, cmd_argv); } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " exec(%s) failed.\n", cmd_path); #endif exit(1); } /* parent process */ return_pty: if (!(pty = vt_pty_unix_new_with(master, slave, pid, host, cols, rows, width_pix, height_pix))) { close(master); close(slave); } return pty; } vt_pty_t *vt_pty_unix_new_with(int master, int slave, pid_t child_pid, const char *host, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { vt_pty_t *pty; if ((pty = calloc(1, sizeof(vt_pty_unix_t))) == NULL) { return NULL; } pty->final = final; pty->set_winsize = set_winsize; pty->write = write_to_pty; pty->read = read_pty; pty->master = master; pty->slave = slave; if ((pty->child_pid = child_pid) > 0) { /* Parent process */ #ifdef USE_UTMP if ((((vt_pty_unix_t*)pty)->utmp = bl_utmp_new(vt_pty_get_slave_name(pty), host, pty->master)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "utmp failed.\n"); #endif } #endif if (set_winsize(pty, cols, rows, width_pix, height_pix) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_set_pty_winsize() failed.\n"); #endif } } return pty; } mlterm-3.8.4/vtemu/vt_screen.c010064400017600000144000001521051321054731100150210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_screen.h" #include /* abs */ #include /* write */ #include #include #include /* malloc/free */ #include /* strdup */ #include /* K_MIN */ #include "vt_char_encoding.h" #include "vt_str_parser.h" #define ROW_IN_LOGS(screen, row) (vt_get_num_logged_lines(&(screen)->logs) + row) /* Not contains the first page. */ #define MAX_PAGE_ID 8 #if 1 #define EXIT_BS_AT_BOTTOM #endif /* --- static variables --- */ static char *word_separators = " .,:;/|@()[]{}"; static int regard_uri_as_word = 0; /* --- static functions --- */ static int get_n_prev_char_pos(vt_screen_t *screen, int *char_index, int *row, int n) { int count; *char_index = vt_cursor_char_index(screen->edit); *row = vt_cursor_row(screen->edit); for (count = 0; count < n; count++) { if (*char_index == 0) { return 0; } (*char_index)--; } return 1; } static int is_word_separator(vt_char_t *ch) { char *p; char c; if (vt_char_cs(ch) != US_ASCII) { return 0; } p = word_separators; c = vt_char_code(ch); while (*p) { if (c == *p) { return 1; } p++; } return 0; } /* * callbacks of vt_edit_scroll_event_listener_t. */ /* * Don't operate vt_model_t in this function because vt_model_t is not scrolled * yet. * Operate vt_model_t in scrolled_out_lines_finished(). */ static void receive_scrolled_out_line(void *p, vt_line_t *line) { vt_screen_t *screen; screen = p; if (vt_status_line_is_focused(screen)) { return; } if (screen->screen_listener && screen->screen_listener->line_scrolled_out) { (*screen->screen_listener->line_scrolled_out)(screen->screen_listener->self); } if (screen->logvis) { (*screen->logvis->visual_line)(screen->logvis, line); } else { line->num_filled_chars = vt_line_get_num_filled_chars_except_sp_with_func(line, vt_char_equal); } vt_log_add(&screen->logs, line); /* XXX see vt_line_iscii_visual() */ #if 1 if (line->num_chars > vt_screen_get_logical_cols(screen)) { /* * line->num_filled_chars can be more than line->num_chars * without vt_line_reset() here because line is visualized. */ vt_line_reset(line); vt_line_set_updated(line); vt_str_final(line->chars + vt_screen_get_logical_cols(screen), line->num_chars - vt_screen_get_logical_cols(screen)); line->num_chars = vt_screen_get_logical_cols(screen); } else #endif { vt_line_set_size_attr(line, 0); } if (vt_screen_is_backscrolling(screen) == BSM_STATIC) { screen->backscroll_rows++; } if (screen->search) { screen->search->row--; } } static void scrolled_out_lines_finished(void *p) { vt_screen_t *screen; screen = p; if (vt_screen_is_backscrolling(screen) == BSM_DEFAULT) { vt_screen_set_modified_all(screen); } } static int window_scroll_upward_region(void *p, int beg_row, int end_row, u_int size) { vt_screen_t *screen; screen = p; if (screen->is_backscrolling) { /* * Not necessary to scrolling window. If backscroll_mode is BSM_DEFAULT, * vt_screen_set_modified_all() in scrolled_out_lines_finished() later. */ return 1; } if (!screen->screen_listener || !screen->screen_listener->window_scroll_upward_region) { return 0; } return (*screen->screen_listener->window_scroll_upward_region)(screen->screen_listener->self, beg_row, end_row, size); } static int window_scroll_downward_region(void *p, int beg_row, int end_row, u_int size) { vt_screen_t *screen; screen = p; if (screen->is_backscrolling) { /* * Not necessary to scrolling window. If backscroll_mode is BSM_DEFAULT, * vt_screen_set_modified_all() in scrolled_out_lines_finished() later. */ return 1; } if (!screen->screen_listener || !screen->screen_listener->window_scroll_downward_region) { return 0; } return (*screen->screen_listener->window_scroll_downward_region)(screen->screen_listener->self, beg_row, end_row, size); } static int modify_region(vt_screen_t *screen, /* visual */ int *end_char_index, int *end_row) { int row; vt_line_t *line; /* Removing empty lines of the end. */ row = *end_row; while ((line = vt_screen_get_line(screen, row)) == NULL || vt_line_is_empty(line)) { if (--row < 0 && abs(row) > vt_get_num_logged_lines(&screen->logs)) { return 0; } } if (row < *end_row) { if (vt_line_is_rtl(line)) { *end_char_index = vt_line_beg_char_index_regarding_rtl(line); } else { if ((*end_char_index = vt_line_get_num_filled_chars_except_sp(line)) > 0) { (*end_char_index)--; } } *end_row = row; } return 1; } static void convert_col_to_char_index(vt_screen_t *screen, /* visual */ vt_line_t *line, int *beg_char_index, int *end_char_index, /* end + 1 */ int beg_col, int end_col) { int padding; int beg; int end; u_int rest; if (vt_line_is_rtl(line) && (padding = vt_screen_get_cols(screen) - vt_line_get_num_filled_cols(line)) > 0) { beg_col -= padding; end_col -= padding; } *beg_char_index = vt_convert_col_to_char_index(line, &rest, beg_col, 0); if ((end = vt_line_get_num_filled_chars_except_sp(line)) <= *beg_char_index || (end == *beg_char_index + 1 && rest > 0)) { *beg_char_index = end; } else if ((beg = vt_line_beg_char_index_regarding_rtl(line)) > *beg_char_index) { *beg_char_index = beg; } *end_char_index = vt_convert_col_to_char_index(line, NULL, end_col, 0) + 1; if (end < *end_char_index) { *end_char_index = end; } } static int reverse_or_restore_color_rect(vt_screen_t *screen, /* visual */ int beg_col, int beg_row, int end_col, int end_row, int (*func)(vt_line_t *, int)) { int row; int beg_char_index; int end_char_index; vt_line_t *line; if (beg_col > end_col) { int col; col = beg_col; beg_col = end_col; end_col = col; } for (row = beg_row; row <= end_row; row++) { if ((line = vt_screen_get_line(screen, row))) { int char_index; convert_col_to_char_index(screen, line, &beg_char_index, &end_char_index, beg_col, end_col); for (char_index = beg_char_index; char_index < end_char_index; char_index++) { (*func)(line, char_index); } } } return 1; } static int reverse_or_restore_color(vt_screen_t *screen, /* visual */ int beg_char_index, int beg_row, int end_char_index, int end_row, int (*func)(vt_line_t *, int)) { /* * LTR line: a * ^beg ^end * RTL line: c * ^end ^beg * ^beg_regarding_rtl * <>: selected region */ int char_index; int row; vt_line_t *line; u_int size_except_sp; int beg_regarding_rtl; if (!modify_region(screen, &end_char_index, &end_row)) { return 0; } /* Removing empty lines of the beginning. */ row = beg_row; while (1) { if (!(line = vt_screen_get_line(screen, row)) || vt_line_is_empty(line)) { goto next_line; } size_except_sp = vt_line_get_num_filled_chars_except_sp(line); beg_regarding_rtl = vt_line_beg_char_index_regarding_rtl(line); if (vt_line_is_rtl(line)) { if (row > beg_row || beg_char_index >= size_except_sp) { beg_char_index = K_MAX(size_except_sp, 1) - 1; } else if (beg_char_index < beg_regarding_rtl) { goto next_line; } } else { if (row > beg_row || beg_char_index < beg_regarding_rtl) { beg_char_index = beg_regarding_rtl; } else if (beg_char_index >= size_except_sp) { goto next_line; } } break; next_line: if (++row > end_row) { return 0; } } if (row < end_row) { if (vt_line_is_rtl(line)) { for (char_index = beg_regarding_rtl; char_index <= beg_char_index; char_index++) { (*func)(line, char_index); } } else { for (char_index = beg_char_index; char_index < size_except_sp; char_index++) { (*func)(line, char_index); } } for (row++; row < end_row; row++) { if (vt_line_is_empty((line = vt_screen_get_line(screen, row)))) { continue; } size_except_sp = vt_line_get_num_filled_chars_except_sp(line); for (char_index = vt_line_beg_char_index_regarding_rtl(line); char_index < size_except_sp; char_index++) { (*func)(line, char_index); } } if (vt_line_is_empty((line = vt_screen_get_line(screen, row)))) { return 1; } size_except_sp = vt_line_get_num_filled_chars_except_sp(line); beg_regarding_rtl = vt_line_beg_char_index_regarding_rtl(line); if (vt_line_is_rtl(line)) { beg_char_index = K_MAX(size_except_sp, 1) - 1; } else { beg_char_index = beg_regarding_rtl; } } /* row == end_row */ if (vt_line_is_rtl(line)) { if (end_char_index < size_except_sp) { for (char_index = K_MAX(end_char_index, beg_regarding_rtl); char_index <= beg_char_index; char_index++) { (*func)(line, char_index); } } } else { if (end_char_index >= beg_regarding_rtl) { for (char_index = beg_char_index; char_index < K_MIN(end_char_index + 1, size_except_sp); char_index++) { (*func)(line, char_index); } } } return 1; } static u_int check_or_copy_region_rect( vt_screen_t *screen, /* visual */ vt_char_t *chars, /* Behavior is undefined if chars is insufficient. */ u_int num_chars, int beg_col, int beg_row, int end_col, int end_row) { int row; vt_line_t *line; u_int region_size; int beg_char_index; int end_char_index; if (beg_col > end_col) { int col; col = beg_col; beg_col = end_col; end_col = col; } region_size = 0; for (row = beg_row; row <= end_row; row++) { if ((line = vt_screen_get_line(screen, row))) { u_int size; convert_col_to_char_index(screen, line, &beg_char_index, &end_char_index, beg_col, end_col); size = end_char_index - beg_char_index; if (chars && num_chars >= region_size + size) { vt_line_copy_logical_str(line, chars + region_size, beg_char_index, size); } region_size += size; if (row < end_row) { if (chars && num_chars >= region_size + 1) { vt_char_copy(chars + region_size, vt_nl_ch()); } region_size++; } } } return region_size; } static u_int check_or_copy_region( vt_screen_t *screen, /* visual */ vt_char_t *chars, /* Behavior is undefined if chars is insufficient. */ u_int num_chars, int beg_char_index, /* can be over size_except_sp */ int beg_row, int end_char_index, /* can be over size_except_sp */ int end_row) { /* * LTR line: a * ^beg ^end * RTL line: c * ^end ^beg * ^beg_regarding_rtl * <>: selected region */ vt_line_t *line; u_int size; u_int region_size; u_int size_except_sp; int beg_regarding_rtl; int row; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "region: %d %d %d %d\n", beg_char_index, beg_row, end_char_index, end_row); #endif if (!modify_region(screen, &end_char_index, &end_row)) { return 0; } row = beg_row; /* Removing empty lines of the beginning. */ while (1) { if (!(line = vt_screen_get_line(screen, row)) || vt_line_is_empty(line)) { goto next_line; } size_except_sp = vt_line_get_num_filled_chars_except_sp(line); beg_regarding_rtl = vt_line_beg_char_index_regarding_rtl(line); if (vt_line_is_rtl(line)) { if (row > beg_row || beg_char_index >= size_except_sp) { beg_char_index = K_MAX(size_except_sp, 1) - 1; } else if (beg_char_index < beg_regarding_rtl) { goto next_line; } } else { if (row > beg_row || beg_char_index < beg_regarding_rtl) { beg_char_index = beg_regarding_rtl; } else if (beg_char_index >= size_except_sp) { goto next_line; } } break; next_line: if (++row > end_row) { return 0; } } region_size = 0; if (row < end_row) { if (vt_line_is_rtl(line)) { size = beg_char_index - beg_regarding_rtl + 1; if (chars && num_chars >= region_size + size) { vt_line_copy_logical_str(line, chars + region_size, beg_regarding_rtl, size); } } else { size = size_except_sp - beg_char_index; if (chars && num_chars >= region_size + size) { vt_line_copy_logical_str(line, chars + region_size, beg_char_index, size); } } region_size += size; if (!vt_line_is_continued_to_next(line)) { if (chars && num_chars > region_size) { vt_char_copy(chars + region_size, vt_nl_ch()); } region_size++; } for (row++; row < end_row; row++) { line = vt_screen_get_line(screen, row); beg_regarding_rtl = vt_line_beg_char_index_regarding_rtl(line); size = vt_line_get_num_filled_chars_except_sp(line) - beg_regarding_rtl; if (chars && num_chars >= region_size + size) { vt_line_copy_logical_str(line, chars + region_size, beg_regarding_rtl, size); } region_size += size; if (!vt_line_is_continued_to_next(line)) { if (chars && num_chars > region_size) { vt_char_copy(chars + region_size, vt_nl_ch()); } region_size++; } } if (vt_line_is_empty((line = vt_screen_get_line(screen, row)))) { return region_size; } size_except_sp = vt_line_get_num_filled_chars_except_sp(line); beg_regarding_rtl = vt_line_beg_char_index_regarding_rtl(line); if (vt_line_is_rtl(line)) { beg_char_index = K_MAX(size_except_sp, 1) - 1; } else { beg_char_index = beg_regarding_rtl; } } /* row == end_row */ if (size_except_sp == 0) { /* do nothing */ } else if (vt_line_is_rtl(line)) { if (end_char_index < size_except_sp) { if (end_char_index < beg_regarding_rtl) { end_char_index = beg_regarding_rtl; } size = beg_char_index - end_char_index + 1; if (chars && num_chars >= region_size + size) { vt_line_copy_logical_str(line, chars + region_size, end_char_index, size); } region_size += size; } } else { if (end_char_index >= beg_regarding_rtl) { if (end_char_index >= size_except_sp) { end_char_index = size_except_sp - 1; } size = end_char_index - beg_char_index + 1; if (chars && num_chars >= region_size + size) { vt_line_copy_logical_str(line, chars + region_size, beg_char_index, size); } region_size += size; } } return region_size; } static u_int32_t get_msec_time(void) { #ifdef HAVE_GETTIMEOFDAY struct timeval tv; gettimeofday(&tv, NULL); /* XXX '/ 1000' => '>> 10' and '* 1000' => '<< 10' */ return (tv.tv_sec << 10) + (tv.tv_usec >> 10); #else return time(NULL) << 10; #endif } static void change_edit(vt_screen_t *screen, vt_edit_t *edit) { vt_screen_disable_local_echo(screen); if (edit != screen->status_edit) { if (screen->logvis) { (*screen->logvis->init)(screen->logvis, &edit->model, &edit->cursor); } if (screen->main_edit) { screen->main_edit = edit; } if (screen->edit != screen->status_edit) { vt_edit_set_modified_all(edit); } } else { screen->main_edit = screen->edit; } edit->bce_ch = screen->edit->bce_ch; screen->edit = edit; } static vt_edit_t *get_edit(vt_screen_t *screen, u_int page_id) { if (page_id == 0) { if (vt_screen_is_alternative_edit(screen)) { return &screen->alt_edit; } else { return &screen->normal_edit; } } else if (page_id <= MAX_PAGE_ID) { if (screen->page_edits == NULL) { int count; if (!(screen->page_edits = malloc(sizeof(vt_edit_t) * MAX_PAGE_ID))) { return NULL; } for (count = 0; count < MAX_PAGE_ID; count++) { vt_edit_init(screen->page_edits + count, &screen->edit_scroll_listener, vt_edit_get_cols(&screen->normal_edit), vt_edit_get_rows(&screen->normal_edit), vt_edit_get_tab_size(&screen->normal_edit), 1, screen->normal_edit.use_bce); } } return screen->page_edits + (page_id - 1); } return NULL; } static vt_edit_t *status_edit_new(vt_edit_t *main_edit) { vt_edit_t *status_edit; if ((status_edit = malloc(sizeof(vt_edit_t)))) { vt_edit_init(status_edit, main_edit->scroll_listener, vt_edit_get_cols(main_edit), 1, vt_edit_get_tab_size(main_edit), 1, main_edit->use_bce); } return status_edit; } /* --- global functions --- */ void vt_set_word_separators(const char *seps) { static char *default_word_separators; if (default_word_separators) { if (word_separators != default_word_separators) { free(word_separators); } if (seps == NULL || *seps == '\0') { /* Fall back to default. */ word_separators = default_word_separators; return; } } else if (seps == NULL || *seps == '\0') { /* Not changed */ return; } else { /* Store the default value. */ default_word_separators = word_separators; } word_separators = bl_str_unescape(seps); } char *vt_get_word_separators(void) { return word_separators; } void vt_set_regard_uri_as_word(int flag) { regard_uri_as_word = flag; } int vt_get_regard_uri_as_word(void) { return regard_uri_as_word; } vt_screen_t *vt_screen_new(u_int cols, u_int rows, u_int tab_size, u_int num_log_lines, int use_bce, vt_bs_mode_t bs_mode) { vt_screen_t *screen; if ((screen = calloc(1, sizeof(vt_screen_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } screen->edit_scroll_listener.self = screen; screen->edit_scroll_listener.receive_scrolled_out_line = receive_scrolled_out_line; screen->edit_scroll_listener.scrolled_out_lines_finished = scrolled_out_lines_finished; screen->edit_scroll_listener.window_scroll_upward_region = window_scroll_upward_region; screen->edit_scroll_listener.window_scroll_downward_region = window_scroll_downward_region; if (!vt_edit_init(&screen->normal_edit, &screen->edit_scroll_listener, cols, rows, tab_size, 1, use_bce)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_edit_init(normal_edit) failed.\n"); #endif goto error1; } if (!vt_edit_init(&screen->alt_edit, &screen->edit_scroll_listener, cols, rows, tab_size, 0, use_bce)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_edit_init(alt_edit) failed.\n"); #endif goto error2; } screen->edit = &screen->normal_edit; if (!vt_log_init(&screen->logs, num_log_lines)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_log_init failed.\n"); #endif goto error3; } screen->backscroll_mode = bs_mode; return screen; error3: vt_edit_final(&screen->normal_edit); error2: vt_edit_final(&screen->alt_edit); error1: free(screen); return NULL; } int vt_screen_delete(vt_screen_t *screen) { /* * this should be done before vt_edit_final() since termscr->logvis refers * to vt_edit_t and may have some data structure for it. */ if (screen->logvis) { (*screen->logvis->logical)(screen->logvis); (*screen->logvis->delete)(screen->logvis); } vt_edit_final(&screen->normal_edit); vt_edit_final(&screen->alt_edit); if (screen->page_edits) { int count; for (count = 0; count < MAX_PAGE_ID; count++) { vt_edit_final(screen->page_edits + count); } free(screen->page_edits); } if (screen->status_edit) { vt_edit_final(screen->status_edit); free(screen->status_edit); } vt_log_final(&screen->logs); vt_screen_search_final(screen); free(screen); return 1; } void vt_screen_set_listener(vt_screen_t *screen, vt_screen_event_listener_t *screen_listener) { screen->screen_listener = screen_listener; } /* This considers status line ('row' contains status line) */ int vt_screen_resize(vt_screen_t *screen, u_int cols, u_int rows) { if (screen->status_edit) { vt_edit_resize(screen->status_edit, cols, 1); if (vt_screen_has_status_line(screen) && rows >= 2) { rows--; } } vt_edit_resize(&screen->normal_edit, cols, rows); vt_edit_resize(&screen->alt_edit, cols, rows); if (screen->stored_edit) { vt_edit_resize(&screen->stored_edit->edit, cols, rows); } if (screen->page_edits) { int count; for (count = 0; count < MAX_PAGE_ID; count++) { vt_edit_resize(screen->page_edits + count, cols, rows); } } return 1; } /* This considers status line */ int vt_screen_cursor_row(vt_screen_t *screen) { int row = vt_cursor_row(screen->edit); if (vt_status_line_is_focused(screen)) { row += vt_edit_get_rows(screen->main_edit); } return row; } /* This considers status line */ int vt_screen_cursor_row_in_screen(vt_screen_t *screen) { int row = vt_screen_cursor_row(screen); if (screen->backscroll_rows > 0) { if ((row += screen->backscroll_rows) >= vt_screen_get_rows(screen)) { return -1; } } return row; } u_int vt_screen_get_logical_cols(vt_screen_t *screen) { if (screen->logvis && screen->logvis->is_visual) { return (*screen->logvis->logical_cols)(screen->logvis); } else { return vt_edit_get_cols(screen->edit); } } /* This considers status line */ u_int vt_screen_get_rows(vt_screen_t *screen) { u_int rows; rows = vt_edit_get_rows(screen->edit); if (vt_screen_has_status_line(screen)) { if (vt_status_line_is_focused(screen)) { rows += vt_edit_get_rows(screen->main_edit); } else { rows ++; } } return rows; } /* This ignores status line */ u_int vt_screen_get_logical_rows(vt_screen_t *screen) { if (screen->logvis && screen->logvis->is_visual) { return (*screen->logvis->logical_rows)(screen->logvis); } else { return vt_edit_get_rows(screen->edit); } } int vt_screen_convert_scr_row_to_abs(vt_screen_t *screen, int row) { return row - screen->backscroll_rows; } /* This considers status line */ vt_line_t *vt_screen_get_line(vt_screen_t *screen, int row) { if (row < 0) { return vt_log_get(&screen->logs, ROW_IN_LOGS(screen, row)); } else if (vt_screen_has_status_line(screen)) { if (row == vt_edit_get_rows(screen->main_edit)) { return vt_edit_get_line(screen->status_edit, 0); } else { return vt_edit_get_line(screen->main_edit, row); } } else { return vt_edit_get_line(screen->edit, row); } } /* This considers status line */ vt_line_t *vt_screen_get_line_in_screen(vt_screen_t *screen, int row) { if (screen->is_backscrolling && screen->backscroll_rows > 0) { row -= screen->backscroll_rows; if (row < 0) { return vt_log_get(&screen->logs, ROW_IN_LOGS(screen, row)); } } if (vt_screen_has_status_line(screen)) { if (row == vt_edit_get_rows(screen->main_edit)) { return vt_edit_get_line(screen->status_edit, 0); } else { return vt_edit_get_line(screen->main_edit, row); } } else { return vt_edit_get_line(screen->edit, row); } } void vt_screen_set_modified_all(vt_screen_t *screen) { int row; vt_line_t *line; u_int num_rows = vt_screen_get_rows(screen); for (row = 0; row < num_rows; row++) { if ((line = vt_screen_get_line_in_screen(screen, row))) { vt_line_set_modified_all(line); } } } int vt_screen_add_logical_visual(vt_screen_t *screen, vt_logical_visual_t *logvis) { (*logvis->init)(logvis, &screen->edit->model, &screen->edit->cursor); if (screen->logvis) { if (screen->container_logvis == NULL && (screen->container_logvis = vt_logvis_container_new()) == NULL) { return 0; } vt_logvis_container_add(screen->container_logvis, screen->logvis); vt_logvis_container_add(screen->container_logvis, logvis); screen->logvis = screen->container_logvis; } else { screen->logvis = logvis; } return 1; } int vt_screen_delete_logical_visual(vt_screen_t *screen) { if (screen->logvis) { (*screen->logvis->logical)(screen->logvis); (*screen->logvis->delete)(screen->logvis); screen->logvis = NULL; screen->container_logvis = NULL; return 1; } else { return 0; } } int vt_screen_render(vt_screen_t *screen) { if (screen->logvis) { return (*screen->logvis->render)(screen->logvis); } else { return 0; } } int vt_screen_visual(vt_screen_t *screen) { if (screen->logvis) { return (*screen->logvis->visual)(screen->logvis); } else { return 1; } } int vt_screen_logical(vt_screen_t *screen) { if (screen->logvis) { return (*screen->logvis->logical)(screen->logvis); } else { return 1; } } vt_bs_mode_t vt_screen_is_backscrolling(vt_screen_t *screen) { if (screen->is_backscrolling == BSM_STATIC) { if (screen->backscroll_rows < vt_get_log_size(&screen->logs)) { return BSM_STATIC; } else { return BSM_DEFAULT; } } else { return screen->is_backscrolling; } } void vt_set_backscroll_mode(vt_screen_t *screen, vt_bs_mode_t mode) { screen->backscroll_mode = mode; if (screen->is_backscrolling) { screen->is_backscrolling = mode; } } void vt_enter_backscroll_mode(vt_screen_t *screen) { screen->is_backscrolling = screen->backscroll_mode; } void vt_exit_backscroll_mode(vt_screen_t *screen) { screen->is_backscrolling = 0; screen->backscroll_rows = 0; vt_screen_set_modified_all(screen); } int vt_screen_backscroll_to(vt_screen_t *screen, int row) { if (!screen->is_backscrolling) { return 0; } if (row > 0) { screen->backscroll_rows = 0; } else { screen->backscroll_rows = abs(row); } vt_screen_set_modified_all(screen); #ifdef EXIT_BS_AT_BOTTOM if (screen->backscroll_rows == 0) { vt_exit_backscroll_mode(screen); } #endif return 1; } int vt_screen_backscroll_upward(vt_screen_t *screen, u_int size) { vt_line_t *line; u_int count; u_int num_rows; if (!screen->is_backscrolling) { return 0; } if (screen->backscroll_rows < size) { size = screen->backscroll_rows; } if (size == 0) { return 0; } screen->backscroll_rows -= size; num_rows = vt_screen_get_rows(screen); if (!screen->screen_listener || !screen->screen_listener->window_scroll_upward_region || !(*screen->screen_listener->window_scroll_upward_region)( screen->screen_listener->self, 0, num_rows - 1, size)) { for (count = 0; count < num_rows - size; count++) { if ((line = vt_screen_get_line_in_screen(screen, count)) == NULL) { break; } vt_line_set_modified_all(line); } } for (count = num_rows - size; count < num_rows; count++) { if ((line = vt_screen_get_line_in_screen(screen, count)) == NULL) { break; } vt_line_set_modified_all(line); } #ifdef EXIT_BS_AT_BOTTOM if (screen->backscroll_rows == 0) { vt_exit_backscroll_mode(screen); } #endif return 1; } int vt_screen_backscroll_downward(vt_screen_t *screen, u_int size) { vt_line_t *line; u_int count; int num_rows; if (!screen->is_backscrolling) { return 0; } if (vt_get_num_logged_lines(&screen->logs) < screen->backscroll_rows + size) { size = vt_get_num_logged_lines(&screen->logs) - screen->backscroll_rows; } if (size == 0) { return 0; } screen->backscroll_rows += size; num_rows = vt_screen_get_rows(screen); if (!screen->screen_listener || !screen->screen_listener->window_scroll_downward_region || !(*screen->screen_listener->window_scroll_downward_region)( screen->screen_listener->self, 0, num_rows - 1, size)) { for (count = size; count < num_rows; count++) { if ((line = vt_screen_get_line_in_screen(screen, count)) == NULL) { break; } vt_line_set_modified_all(line); } } for (count = 0; count < size; count++) { if ((line = vt_screen_get_line_in_screen(screen, count)) == NULL) { break; } vt_line_set_modified_all(line); } return 1; } int vt_screen_reverse_color(vt_screen_t *screen, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { if (is_rect) { return reverse_or_restore_color_rect(screen, beg_char_index, beg_row, end_char_index, end_row, vt_line_reverse_color); } else { return reverse_or_restore_color(screen, beg_char_index, beg_row, end_char_index, end_row, vt_line_reverse_color); } } int vt_screen_restore_color(vt_screen_t *screen, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { if (is_rect) { return reverse_or_restore_color_rect(screen, beg_char_index, beg_row, end_char_index, end_row, vt_line_restore_color); } else { return reverse_or_restore_color(screen, beg_char_index, beg_row, end_char_index, end_row, vt_line_restore_color); } } u_int vt_screen_copy_region(vt_screen_t *screen, vt_char_t *chars, u_int num_chars, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { if (is_rect) { return check_or_copy_region_rect(screen, chars, num_chars, beg_char_index, beg_row, end_char_index, end_row); } else { return check_or_copy_region(screen, chars, num_chars, beg_char_index, beg_row, end_char_index, end_row); } } u_int vt_screen_get_region_size(vt_screen_t *screen, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { if (is_rect) { return check_or_copy_region_rect(screen, NULL, 0, beg_char_index, beg_row, end_char_index, end_row); } else { return check_or_copy_region(screen, NULL, 0, beg_char_index, beg_row, end_char_index, end_row); } } int vt_screen_get_line_region(vt_screen_t *screen, int *beg_row, int *end_char_index, int *end_row, int base_row) { int row; vt_line_t *line; vt_line_t *next_line; /* * finding the end of line. */ row = base_row; if ((line = vt_screen_get_line(screen, row)) == NULL || vt_line_is_empty(line)) { return 0; } while (1) { if (!vt_line_is_continued_to_next(line)) { break; } if ((next_line = vt_screen_get_line(screen, row + 1)) == NULL || vt_line_is_empty(next_line)) { break; } line = next_line; row++; } *end_char_index = line->num_filled_chars - 1; *end_row = row; /* * finding the beginning of line. */ row = base_row; while (1) { if ((line = vt_screen_get_line(screen, row - 1)) == NULL || vt_line_is_empty(line) || !vt_line_is_continued_to_next(line)) { break; } row--; } *beg_row = row; return 1; } int vt_screen_get_word_region(vt_screen_t *screen, int *beg_char_index, int *beg_row, int *end_char_index, int *end_row, int base_char_index, int base_row) { int row; int char_index; vt_line_t *line; vt_line_t *base_line; vt_char_t *ch; int flag; if ((base_line = vt_screen_get_line(screen, base_row)) == NULL || vt_line_is_empty(base_line)) { return 0; } if (regard_uri_as_word) { char *orig; u_int len; vt_char_t *str; orig = word_separators; word_separators = "\" '`<>|"; regard_uri_as_word = 0; /* Not return 0 */ vt_screen_get_word_region(screen, beg_char_index, beg_row, end_char_index, end_row, base_char_index, base_row); word_separators = orig; regard_uri_as_word = 1; if ((len = check_or_copy_region(screen, NULL, 0, *beg_char_index, *beg_row, *end_char_index, *end_row)) > 0 && (str = vt_str_alloca(len))) { u_int count; int slash_num; check_or_copy_region(screen, str, len, *beg_char_index, *beg_row, *end_char_index, *end_row); for (slash_num = 0, count = 0; count < len; count++) { if (vt_char_cs(str + count) == US_ASCII) { switch (vt_char_code(str + count)) { case '/': if (++slash_num == 1) { continue; } /* Fall through */ case '@': vt_str_final(str, len); return 1; } } } vt_str_final(str, len); } } if (is_word_separator(vt_char_at(base_line, base_char_index))) { *beg_char_index = base_char_index; *end_char_index = base_char_index; *beg_row = base_row; *end_row = base_row; return 1; } flag = vt_char_is_fullwidth(vt_char_at(base_line, base_char_index)); /* * search the beg of word */ row = base_row; char_index = base_char_index; line = base_line; while (1) { if (char_index == 0) { if ((line = vt_screen_get_line(screen, row - 1)) == NULL || vt_line_is_empty(line) || !vt_line_is_continued_to_next(line)) { *beg_char_index = char_index; break; } row--; char_index = line->num_filled_chars - 1; } else { char_index--; } ch = vt_char_at(line, char_index); if (is_word_separator(ch) || flag != vt_char_is_fullwidth(ch)) { *beg_char_index = char_index + 1; break; } } *beg_row = row; /* * search the end of word. */ row = base_row; char_index = base_char_index; line = base_line; while (1) { if (char_index == line->num_filled_chars - 1) { if (!vt_line_is_continued_to_next(line) || (line = vt_screen_get_line(screen, row + 1)) == NULL || vt_line_is_empty(line)) { *end_char_index = char_index; break; } row++; char_index = 0; } else { char_index++; } ch = vt_char_at(line, char_index); if (is_word_separator(ch) || flag != vt_char_is_fullwidth(ch)) { *end_char_index = char_index - 1; break; } } *end_row = row; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " selected word region: %d %d => %d %d %d %d\n", base_char_index, base_row, *beg_char_index, *beg_row, *end_char_index, *end_row); #endif return 1; } int vt_screen_search_init(vt_screen_t *screen, int (*match)(size_t *, size_t *, void *, u_char *, int)) { if (screen->search) { return 0; } if (!(screen->search = malloc(sizeof(*screen->search)))) { return 0; } screen->search->match = match; vt_screen_search_reset_position(screen); return 1; } void vt_screen_search_final(vt_screen_t *screen) { free(screen->search); screen->search = NULL; } int vt_screen_search_reset_position(vt_screen_t *screen) { if (!screen->search) { return 0; } /* char_index == -1 has special meaning. */ screen->search->char_index = -1; screen->search->row = -1; return 1; } /* * It is assumed that this function is called in *visual* context. * * XXX * It is not supported to match text in multiple lines. */ int vt_screen_search_find(vt_screen_t *screen, int *beg_char_index, /* visual position is returned */ int *beg_row, /* visual position is returned */ int *end_char_index, /* visual position is returned */ int *end_row, /* visual position is returned */ void *regex, int backward) { vt_char_t *line_str; ef_parser_t *parser; ef_conv_t *conv; u_char *buf; size_t buf_len; vt_line_t *line; int step; int res; if (!screen->search) { return 0; } if (!(line_str = vt_str_alloca(vt_screen_get_logical_cols(screen)))) { return 0; } buf_len = vt_screen_get_logical_cols(screen) * VTCHAR_UTF_MAX_SIZE + 1; if (!(buf = alloca(buf_len))) { return 0; } if (!(parser = vt_str_parser_new())) { return 0; } if (!(conv = vt_char_encoding_conv_new(VT_UTF8))) { (*parser->delete)(parser); return 0; } /* char_index == -1 has special meaning. */ if (screen->search->char_index == -1) { screen->search->char_index = vt_screen_cursor_char_index(screen); screen->search->row = vt_screen_cursor_row(screen); } *beg_char_index = screen->search->char_index; *beg_row = screen->search->row; step = (backward ? -1 : 1); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Search start from %d %d\n", *beg_char_index, *beg_row); #endif res = 0; for (; (line = vt_screen_get_line(screen, *beg_row)); (*beg_row) += step) { size_t line_len; size_t match_beg; size_t match_len; if ((line_len = vt_line_get_num_filled_chars_except_sp(line)) == 0) { continue; } /* * Visual => Logical */ vt_line_copy_logical_str(line, line_str, 0, line_len); (*parser->init)(parser); if (backward) { vt_str_parser_set_str(parser, line_str, (*beg_row != screen->search->row) ? line_len : K_MIN(*beg_char_index + 1, line_len)); *beg_char_index = 0; } else { if (*beg_row != screen->search->row) { *beg_char_index = 0; } else if (line_len <= *beg_char_index) { continue; } vt_str_parser_set_str(parser, line_str + (*beg_char_index), line_len - *beg_char_index); } (*conv->init)(conv); *(buf + (*conv->convert)(conv, buf, buf_len - 1, parser)) = '\0'; if ((*screen->search->match)(&match_beg, &match_len, regex, buf, backward)) { size_t count; u_int comb_size; int beg; int end; vt_get_combining_chars(line_str + (*beg_char_index), &comb_size); for (count = 0; count < match_beg; count++) { /* Ignore 2nd and following bytes. */ if ((buf[count] & 0xc0) != 0x80) { if (comb_size > 0) { comb_size--; } else if ((++(*beg_char_index)) >= line_len - 1) { break; } else { vt_get_combining_chars(line_str + (*beg_char_index), &comb_size); } } } *end_char_index = (*beg_char_index) - 1; for (; count < match_beg + match_len; count++) { /* Ignore 2nd and following bytes. */ if ((buf[count] & 0xc0) != 0x80) { if (comb_size > 0) { comb_size--; } else if ((++(*end_char_index)) >= line_len - 1) { break; } else { vt_get_combining_chars(line_str + (*end_char_index), &comb_size); } } } if (*end_char_index < *beg_char_index) { continue; } *end_row = *beg_row; if (backward) { if (*beg_char_index > 0) { screen->search->char_index = *beg_char_index - 1; screen->search->row = *beg_row; } else { screen->search->char_index = vt_screen_get_logical_cols(screen) - 1; screen->search->row = *beg_row - 1; } } else { screen->search->char_index = *beg_char_index + 1; screen->search->row = *beg_row; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Search position x %d y %d\n", screen->search->char_index, screen->search->row); #endif /* * Logical => Visual * * XXX Incomplete * Current implementation have problems like this. * (logical)RRRLLLNNN => (visual)NNNLLLRRR * Searching LLLNNN => ^^^^^^ hits but only NNNL is reversed. */ beg = vt_line_convert_logical_char_index_to_visual(line, *beg_char_index, NULL); end = vt_line_convert_logical_char_index_to_visual(line, *end_char_index, NULL); if (beg > end) { *beg_char_index = end; *end_char_index = beg; } else { *beg_char_index = beg; *end_char_index = end; } if (vt_line_is_rtl(line)) { int char_index; /* XXX for x_selection */ char_index = -(*beg_char_index); *beg_char_index = -(*end_char_index); *end_char_index = char_index; } res = 1; break; } } (*parser->delete)(parser); (*conv->delete)(conv); vt_str_final(line_str, vt_screen_get_logical_cols(screen)); return res; } int vt_screen_blink(vt_screen_t *screen) { int has_blinking_char; has_blinking_char = 0; if (screen->has_blinking_char) { int char_index; int row; vt_line_t *line; u_int num_rows = vt_screen_get_rows(screen); for (row = 0; row + screen->backscroll_rows < num_rows; row++) { if ((line = vt_screen_get_line(screen, row)) == NULL) { continue; } for (char_index = 0; char_index < line->num_filled_chars; char_index++) { if (vt_char_is_blinking(line->chars + char_index)) { vt_line_set_modified(line, char_index, char_index); has_blinking_char = 1; } } } if (screen->backscroll_rows == 0) { screen->has_blinking_char = has_blinking_char; } } return has_blinking_char; } /* * VT100 commands * * !! Notice !! * These functions are called under logical order mode. */ vt_char_t *vt_screen_get_n_prev_char(vt_screen_t *screen, int n) { int char_index; int row; vt_line_t *line; if (!get_n_prev_char_pos(screen, &char_index, &row, 1)) { return NULL; } if ((line = vt_edit_get_line(screen->edit, row)) == NULL) { return NULL; } return vt_char_at(line, char_index); } int vt_screen_combine_with_prev_char(vt_screen_t *screen, u_int32_t code, ef_charset_t cs, int is_fullwidth, int is_comb, vt_color_t fg_color, vt_color_t bg_color, int is_bold, int is_italic, int line_style, int is_blinking, int is_protected) { int char_index; int row; vt_char_t *ch; vt_line_t *line; if (!get_n_prev_char_pos(screen, &char_index, &row, 1)) { return 0; } if ((line = vt_edit_get_line(screen->edit, row)) == NULL) { return 0; } if ((ch = vt_char_at(line, char_index)) == NULL) { return 0; } if (!vt_char_combine(ch, code, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected)) { return 0; } vt_line_set_modified(line, char_index, char_index); return 1; } int vt_screen_insert_chars(vt_screen_t *screen, vt_char_t *chars, u_int len) { return vt_edit_insert_chars(screen->edit, chars, len); } int vt_screen_insert_new_lines(vt_screen_t *screen, u_int size) { u_int count; if (size > vt_edit_get_rows(screen->edit)) { size = vt_edit_get_rows(screen->edit); } for (count = 0; count < size; count++) { vt_edit_insert_new_line(screen->edit); } return 1; } int vt_screen_overwrite_chars(vt_screen_t *screen, vt_char_t *chars, u_int len) { return vt_edit_overwrite_chars(screen->edit, chars, len); } int vt_screen_delete_lines(vt_screen_t *screen, u_int size) { u_int count; if (size > vt_edit_get_rows(screen->edit)) { size = vt_edit_get_rows(screen->edit); } for (count = 0; count < size; count++) { if (!vt_edit_delete_line(screen->edit)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " deleting nonexisting lines.\n"); #endif return 0; } } return 1; } int vt_screen_go_forward(vt_screen_t *screen, u_int size, int scroll) { u_int count; for (count = 0; count < size; count++) { if (!vt_edit_go_forward(screen->edit, 0)) { if (scroll) { if (size > vt_edit_get_cols(screen->edit)) { size = vt_edit_get_cols(screen->edit); if (size <= count) { break; } } vt_edit_scroll_leftward(screen->edit, size - count); break; } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " cursor cannot go forward any more.\n"); } #endif return 0; } } return 1; } int vt_screen_go_back(vt_screen_t *screen, u_int size, int scroll) { u_int count; for (count = 0; count < size; count++) { if (!vt_edit_go_back(screen->edit, 0)) { if (scroll) { if (size > vt_edit_get_cols(screen->edit)) { size = vt_edit_get_cols(screen->edit); if (size <= count) { break; } } vt_edit_scroll_rightward(screen->edit, size - count); break; } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " cursor cannot go back any more.\n"); } #endif return 0; } } return 1; } int vt_screen_go_upward(vt_screen_t *screen, u_int size) { u_int count; for (count = 0; count < size; count++) { if (!vt_edit_go_upward(screen->edit, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor cannot go upward any more.\n"); #endif return 0; } } return 1; } int vt_screen_go_downward(vt_screen_t *screen, u_int size) { u_int count; for (count = 0; count < size; count++) { if (!vt_edit_go_downward(screen->edit, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor cannot go downward any more.\n"); #endif return 0; } } return 1; } int vt_screen_use_normal_edit(vt_screen_t *screen) { if (screen->edit != &screen->normal_edit) { change_edit(screen, &screen->normal_edit); return 1; } else { return 0; } } int vt_screen_use_alternative_edit(vt_screen_t *screen) { if (screen->edit != &screen->alt_edit) { change_edit(screen, &screen->alt_edit); vt_screen_goto_home(screen); vt_screen_clear_below(screen); return 1; } else { return 0; } } /* * This function must be called in logical context in order to swap * stored_edit->edit and screen->edit in the same conditions. */ int vt_screen_enable_local_echo(vt_screen_t *screen) { if (!screen->stored_edit) { if (!(screen->stored_edit = malloc(sizeof(vt_stored_edit_t)))) { return 0; } screen->stored_edit->edit = *screen->edit; /* * New data is allocated in screen->edit, not in stored_edit->edit * because screen->edit allocated here will be deleted and * stored_edit->edit will be revived in vt_screen_disable_local_echo(). */ if (!vt_edit_clone(screen->edit, &screen->stored_edit->edit)) { free(screen->stored_edit); screen->stored_edit = NULL; return 0; } screen->edit->is_logging = 0; } screen->stored_edit->time = get_msec_time(); return 1; } int vt_screen_local_echo_wait(vt_screen_t *screen, int msec /* 0: stored_edit->time = 0 (>= get_msec_time() is always false.) */ ) { if (screen->stored_edit) { if (msec == 0) { screen->stored_edit->time = 0; } else if (screen->stored_edit->time + msec >= get_msec_time()) { return 1; } } return 0; } /* * This function must be called in logical context in order to swap * stored_edit->edit and screen->edit in the same conditions. */ int vt_screen_disable_local_echo(vt_screen_t *screen) { u_int row; u_int num_rows; vt_line_t *old_line; vt_line_t *new_line; if (!screen->stored_edit) { return 0; } num_rows = vt_edit_get_rows(screen->edit); /* * Set modified flag to the difference between the current edit and the stored * one * to restore the screen before starting local echo. */ for (row = 0; row < num_rows; row++) { if ((new_line = vt_edit_get_line(&screen->stored_edit->edit, row)) && (old_line = vt_edit_get_line(screen->edit, row)) && (vt_line_is_modified(old_line) || old_line->num_filled_chars != new_line->num_filled_chars #if 1 || !vt_str_bytes_equal(old_line->chars, new_line->chars, new_line->num_filled_chars) #endif )) { vt_line_set_modified_all(new_line); } } vt_edit_final(screen->edit); *screen->edit = screen->stored_edit->edit; free(screen->stored_edit); screen->stored_edit = NULL; return 1; } void vt_screen_copy_area(vt_screen_t *screen, int src_col, int src_row, u_int num_copy_cols, u_int num_copy_rows, u_int src_page, int dst_col, int dst_row, u_int dst_page) { vt_edit_t *src_edit; vt_edit_t *dst_edit; if (src_page > MAX_PAGE_ID) { src_page = MAX_PAGE_ID; } if (dst_page > MAX_PAGE_ID) { dst_page = MAX_PAGE_ID; } if ((src_edit = get_edit(screen, src_page)) && (dst_edit = get_edit(screen, dst_page))) { vt_edit_copy_area(src_edit, src_col, src_row, num_copy_cols, num_copy_rows, dst_edit, dst_col, dst_row); } } void vt_screen_enable_blinking(vt_screen_t *screen) { screen->has_blinking_char = 1; } int vt_screen_write_content(vt_screen_t *screen, int fd, ef_conv_t *conv, int clear_at_end, vt_write_content_area_t area) { int beg; int end; vt_char_t *buf; u_int num; u_char conv_buf[512]; ef_parser_t *vt_str_parser; #if 1 /* for sig_error in vt_term_manager.c */ vt_screen_logical(screen); #endif if (area == WCA_CURSOR_LINE) { beg = vt_screen_cursor_row(screen); end = beg + 1; } else { end = vt_screen_get_rows(screen); if (area == WCA_ALL) { beg = -vt_screen_get_num_logged_lines(screen); } else /* if (area == WCA_SCREEN) */ { beg = 0; } } /* WCA_CURSOR_LINE may cause num == 0. */ if ((num = vt_screen_get_region_size(screen, 0, beg, 0, end, 0)) == 0) { return 0; } if ((buf = vt_str_alloca(num)) == NULL) { return 0; } vt_screen_copy_region(screen, buf, num, 0, beg, 0, end, 0); if (!(vt_str_parser = vt_str_parser_new())) { return 0; } (*vt_str_parser->init)(vt_str_parser); vt_str_parser_set_str(vt_str_parser, buf, num); (*conv->init)(conv); while (!vt_str_parser->is_eos && (num = (*conv->convert)(conv, conv_buf, sizeof(conv_buf), vt_str_parser)) > 0) { write(fd, conv_buf, num); } if (clear_at_end) { write(fd, "\n\x1b[1000S\x1b[H", 11); } (*vt_str_parser->delete)(vt_str_parser); return 1; } int vt_screen_get_page_id(vt_screen_t *screen) { if (screen->edit == &screen->normal_edit || screen->edit == &screen->alt_edit /* alt edit is regarded as 0 */) { return 0; } else if (screen->page_edits) { return screen->edit - screen->page_edits + 1; } return -1; } int vt_screen_goto_page(vt_screen_t *screen, u_int page_id) { vt_edit_t *edit; if (page_id > MAX_PAGE_ID) { page_id = MAX_PAGE_ID; } if ((edit = get_edit(screen, page_id))) { vt_edit_goto(edit, screen->edit->cursor.col, screen->edit->cursor.row); if (vt_edit_get_tab_size(edit) != vt_edit_get_tab_size(screen->edit)) { vt_edit_set_tab_size(edit, vt_edit_get_tab_size(screen->edit)); } edit->vmargin_beg = screen->edit->vmargin_beg; edit->vmargin_end = screen->edit->vmargin_end; edit->hmargin_beg = screen->edit->hmargin_beg; edit->hmargin_end = screen->edit->hmargin_end; edit->use_margin = screen->edit->use_margin; edit->is_logging = screen->edit->is_logging; edit->is_relative_origin = screen->edit->is_relative_origin; edit->is_auto_wrap = screen->edit->is_auto_wrap; edit->use_bce = screen->edit->use_bce; edit->use_rect_attr_select = screen->edit->use_rect_attr_select; change_edit(screen, edit); return 1; } return 0; } int vt_screen_goto_next_page(vt_screen_t *screen, u_int offset) { int page_id = vt_screen_get_page_id(screen); if (page_id != -1) { return vt_screen_goto_page(screen, page_id + offset); } return 0; } int vt_screen_goto_prev_page(vt_screen_t *screen, u_int offset) { int page_id = vt_screen_get_page_id(screen); if (page_id != -1) { if (page_id < offset) { page_id = offset; } return vt_screen_goto_page(screen, page_id - offset); } return 0; } void vt_screen_set_use_status_line(vt_screen_t *screen, int use) { if (use) { if (!vt_screen_has_status_line(screen)) { if ((!screen->status_edit && !(screen->status_edit = status_edit_new(screen->edit))) || /* XXX status line is *not* supported on vertical mode */ (screen->logvis && !screen->logvis->is_reversible)) { return; } screen->main_edit = screen->edit; screen->has_status_line = 1; vt_edit_set_modified_all(screen->status_edit); vt_screen_resize(screen, vt_edit_get_cols(screen->main_edit), vt_edit_get_rows(screen->main_edit)); } } else { if (vt_screen_has_status_line(screen)) { screen->has_status_line = 0; vt_screen_resize(screen, vt_edit_get_cols(screen->main_edit), vt_edit_get_rows(screen->main_edit) + 1); screen->main_edit = NULL; } } } void vt_focus_status_line(vt_screen_t *screen) { if (!screen->status_edit && !(screen->status_edit = status_edit_new(screen->edit))) { return; } if (!vt_status_line_is_focused(screen)) { change_edit(screen, screen->status_edit); } } void vt_focus_main_screen(vt_screen_t *screen) { if (screen->main_edit && vt_status_line_is_focused(screen)) { change_edit(screen, screen->main_edit); } } mlterm-3.8.4/vtemu/vt_screen.h010064400017600000144000000345521321054731100150330ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_SCREEN_H__ #define __VT_SCREEN_H__ #include #include /* int8_t */ #include #include "vt_edit.h" #include "vt_logs.h" #include "vt_logical_visual.h" typedef struct vt_screen_event_listener { void *self; int (*screen_is_static)(void *); void (*line_scrolled_out)(void *); int (*window_scroll_upward_region)(void *, int, int, u_int); int (*window_scroll_downward_region)(void *, int, int, u_int); } vt_screen_event_listener_t; typedef enum vt_bs_mode { BSM_NONE = 0x0, BSM_DEFAULT, BSM_STATIC, BSM_MAX } vt_bs_mode_t; typedef enum vt_write_content_area { WCA_ALL, WCA_CURSOR_LINE, WCA_SCREEN, } vt_write_content_area_t; typedef struct vt_stored_edit { vt_edit_t edit; u_int32_t time; } vt_stored_edit_t; typedef struct vt_screen { /* public(readonly) */ vt_edit_t *edit; /* * private */ vt_edit_t normal_edit; vt_edit_t alt_edit; vt_edit_t *page_edits; /* stores 8 pages */ vt_stored_edit_t *stored_edit; /* Store logical edits. */ vt_edit_t *main_edit; vt_edit_t *status_edit; vt_edit_scroll_event_listener_t edit_scroll_listener; vt_logs_t logs; vt_logical_visual_t *logvis; vt_logical_visual_t *container_logvis; vt_screen_event_listener_t *screen_listener; struct { int (*match)(size_t *, size_t *, void *, u_char *, int); /* Logical order */ int char_index; int row; } * search; u_int backscroll_rows; /* vt_bs_mode_t */ int8_t backscroll_mode; int8_t is_backscrolling; int8_t has_blinking_char; int8_t has_status_line; } vt_screen_t; void vt_set_word_separators(const char *seps); char *vt_get_word_separators(void); void vt_set_regard_uri_as_word(int flag); int vt_get_regard_uri_as_word(void); #define vt_free_word_separators() vt_set_word_separators(NULL) vt_screen_t *vt_screen_new(u_int cols, u_int rows, u_int tab_size, u_int num_log_lines, int use_bce, vt_bs_mode_t bs_mode); int vt_screen_delete(vt_screen_t *screen); void vt_screen_set_listener(vt_screen_t *screen, vt_screen_event_listener_t *screen_listener); /* This considers status line */ int vt_screen_resize(vt_screen_t *screen, u_int cols, u_int rows); #define vt_screen_set_use_bce(screen, use) \ vt_edit_set_use_bce(&(screen)->alt_edit, vt_edit_set_use_bce(&(screen)->normal_edit, use)) #define vt_screen_is_using_bce(screen) vt_edit_is_using_bce((screen)->edit) #define vt_screen_set_bce_fg_color(screen, fg_color) \ vt_edit_set_bce_fg_color((screen)->edit, fg_color) #define vt_screen_set_bce_bg_color(screen, bg_color) \ vt_edit_set_bce_bg_color((screen)->edit, bg_color) #define vt_screen_cursor_char_index(screen) vt_cursor_char_index((screen)->edit) #define vt_screen_cursor_col(screen) vt_cursor_col((screen)->edit) /* XXX Don't call this in visual context for now. */ #define vt_screen_cursor_logical_col(screen) vt_edit_cursor_logical_col((screen)->edit) /* This considers status line */ int vt_screen_cursor_row(vt_screen_t *screen); /* This considers status line */ int vt_screen_cursor_row_in_screen(vt_screen_t *screen); /* XXX Don't call this in visual context for now. */ #define vt_screen_cursor_logical_row(screen) vt_edit_cursor_logical_row((screen)->edit) #define vt_screen_get_cols(screen) vt_edit_get_cols((screen)->edit) /* This considers status line */ u_int vt_screen_get_rows(vt_screen_t *screen); u_int vt_screen_get_logical_cols(vt_screen_t *screen); u_int vt_screen_get_logical_rows(vt_screen_t *screen); #define vt_screen_get_log_size(screen) vt_get_log_size(&(screen)->logs) #define vt_screen_change_log_size(screen, log_size) vt_change_log_size(&(screen)->logs, log_size) #define vt_screen_unlimit_log_size(screen) vt_unlimit_log_size(&(screen)->logs) #define vt_screen_log_size_is_unlimited(screen) vt_log_size_is_unlimited(&(screen)->logs) #define vt_screen_get_num_logged_lines(screen) vt_get_num_logged_lines(&(screen)->logs) int vt_screen_convert_scr_row_to_abs(vt_screen_t *screen, int row); /* This considers status line */ vt_line_t *vt_screen_get_line(vt_screen_t *screen, int row); /* This considers status line */ vt_line_t *vt_screen_get_line_in_screen(vt_screen_t *screen, int row); #define vt_screen_get_cursor_line(screen) \ vt_edit_get_line((screen)->edit, vt_cursor_row((screen)->edit)) void vt_screen_set_modified_all(vt_screen_t *screen); int vt_screen_add_logical_visual(vt_screen_t *screen, vt_logical_visual_t *logvis); int vt_screen_delete_logical_visual(vt_screen_t *screen); int vt_screen_render(vt_screen_t *screen); int vt_screen_visual(vt_screen_t *screen); int vt_screen_logical(vt_screen_t *screen); #define vt_screen_logical_visual_is_reversible(screen) \ (!(screen)->logvis || (screen)->logvis->is_reversible) vt_bs_mode_t vt_screen_is_backscrolling(vt_screen_t *screen); void vt_set_backscroll_mode(vt_screen_t *screen, vt_bs_mode_t mode); #define vt_get_backscroll_mode(screen) ((screen)->backscroll_mode) void vt_enter_backscroll_mode(vt_screen_t *screen); void vt_exit_backscroll_mode(vt_screen_t *screen); int vt_screen_backscroll_to(vt_screen_t *screen, int row); int vt_screen_backscroll_upward(vt_screen_t *screen, u_int size); int vt_screen_backscroll_downward(vt_screen_t *screen, u_int size); #define vt_screen_get_tab_size(screen) vt_edit_get_tab_size((screen)->edit) #define vt_screen_set_tab_size(screen, tab_size) vt_edit_set_tab_size((screen)->edit, tab_size) #define vt_screen_is_tab_stop(screen, col) vt_edit_is_tab_stop((screen)->edit, col) int vt_screen_restore_color(vt_screen_t *screen, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect); int vt_screen_reverse_color(vt_screen_t *screen, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect); u_int vt_screen_copy_region(vt_screen_t *screen, vt_char_t *chars, u_int num_chars, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect); u_int vt_screen_get_region_size(vt_screen_t *screen, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect); int vt_screen_get_line_region(vt_screen_t *screen, int *beg_row, int *end_char_index, int *end_row, int base_row); int vt_screen_get_word_region(vt_screen_t *screen, int *beg_char_index, int *beg_row, int *end_char_index, int *end_row, int base_char_index, int base_row); int vt_screen_search_init(vt_screen_t *screen, int (*match)(size_t *, size_t *, void *, u_char *, int)); void vt_screen_search_final(vt_screen_t *screen); int vt_screen_search_reset_position(vt_screen_t *screen); int vt_screen_search_find(vt_screen_t *screen, int *beg_char_index, int *beg_row, int *end_char_index, int *end_row, void *regex, int backward); int vt_screen_blink(vt_screen_t *screen); /* * VT100 commands (called in logical context) */ vt_char_t *vt_screen_get_n_prev_char(vt_screen_t *screen, int n); int vt_screen_combine_with_prev_char(vt_screen_t *screen, u_int32_t code, ef_charset_t cs, int is_fullwidth, int is_comb, vt_color_t fg_color, vt_color_t bg_color, int is_bold, int is_italic, int line_style, int is_blinking, int is_protected); int vt_screen_insert_chars(vt_screen_t *screen, vt_char_t *chars, u_int len); #define vt_screen_insert_blank_chars(screen, len) vt_edit_insert_blank_chars((screen)->edit, len) #define vt_screen_forward_tabs(screen, num) vt_edit_forward_tabs((screen)->edit, num) #define vt_screen_backward_tabs(screen, num) vt_edit_backward_tabs((screen)->edit, num) #define vt_screen_set_tab_stop(screen) vt_edit_set_tab_stop((screen)->edit) #define vt_screen_clear_tab_stop(screen) vt_edit_clear_tab_stop((screen)->edit) #define vt_screen_clear_all_tab_stops(screen) vt_edit_clear_all_tab_stops((screen)->edit) int vt_screen_insert_new_lines(vt_screen_t *screen, u_int size); #define vt_screen_line_feed(screen) vt_edit_go_downward((screen)->edit, SCROLL) int vt_screen_overwrite_chars(vt_screen_t *screen, vt_char_t *chars, u_int len); #define vt_screen_delete_cols(screen, len) vt_edit_delete_cols((screen)->edit, len) int vt_screen_delete_lines(vt_screen_t *screen, u_int size); #define vt_screen_clear_cols(screen, cols) vt_edit_clear_cols((screen)->edit, cols) #define vt_screen_clear_line_to_right(screen) vt_edit_clear_line_to_right((screen)->edit) #define vt_screen_clear_line_to_left(screen) vt_edit_clear_line_to_left((screen)->edit) #define vt_screen_clear_below(screen) vt_edit_clear_below((screen)->edit) #define vt_screen_clear_above(screen) vt_edit_clear_above((screen)->edit) #define vt_screen_save_protected_chars(screen, beg_row, end_row, relative) \ vt_edit_save_protected_chars((screen)->edit, beg_row, end_row, relative) #define vt_screen_restore_protected_chars(screen, save) \ vt_edit_restore_protected_chars((screen)->edit, save) #define vt_screen_set_vmargin(screen, beg, end) vt_edit_set_vmargin((screen)->edit, beg, end) #define vt_screen_set_use_hmargin(screen, use) vt_edit_set_use_hmargin((screen)->edit, use) #define vt_screen_set_hmargin(screen, beg, end) vt_edit_set_hmargin((screen)->edit, beg, end) #define vt_screen_index(screen) vt_edit_go_downward((screen)->edit, SCROLL) #define vt_screen_reverse_index(screen) vt_edit_go_upward((screen)->edit, SCROLL) #define vt_screen_scroll_upward(screen, size) vt_edit_scroll_upward((screen)->edit, size) #define vt_screen_scroll_downward(screen, size) vt_edit_scroll_downward((screen)->edit, size) #define vt_screen_scroll_leftward(screen, size) vt_edit_scroll_leftward((screen)->edit, size) #define vt_screen_scroll_rightward(screen, size) vt_edit_scroll_rightward((screen)->edit, size) #define vt_screen_scroll_leftward_from_cursor(screen, size) \ vt_edit_scroll_leftward_from_cursor((screen)->edit, size) #define vt_screen_scroll_rightward_from_cursor(screen, size) \ vt_edit_scroll_rightward_from_cursor((screen)->edit, size) int vt_screen_go_forward(vt_screen_t *screen, u_int size, int scroll); int vt_screen_go_back(vt_screen_t *screen, u_int size, int scroll); int vt_screen_go_upward(vt_screen_t *screen, u_int size); int vt_screen_go_downward(vt_screen_t *screen, u_int size); #define vt_screen_goto_beg_of_line(screen) vt_edit_goto_beg_of_line((screen)->edit) #define vt_screen_go_horizontally(screen, col) \ vt_edit_goto((screen)->edit, col, vt_edit_cursor_logical_row((screen)->edit)) #define vt_screen_go_vertically(screen, row) \ vt_edit_goto((screen)->edit, vt_edit_cursor_logical_col((screen)->edit), row) #define vt_screen_goto_home(screen) vt_edit_goto_home((screen)->edit) #define vt_screen_goto(screen, col, row) vt_edit_goto((screen)->edit, col, row) #define vt_screen_set_relative_origin(screen, flag) \ vt_edit_set_relative_origin((screen)->edit, flag) #define vt_screen_is_relative_origin(screen) vt_edit_is_relative_origin((screen)->edit) #define vt_screen_set_auto_wrap(screen, flag) vt_edit_set_auto_wrap((screen)->edit, flag) #define vt_screen_is_auto_wrap(screen) vt_edit_is_auto_wrap((screen)->edit) #define vt_screen_save_cursor(screen) vt_edit_save_cursor((screen)->edit) #define vt_screen_restore_cursor(screen) vt_edit_restore_cursor((screen)->edit) int vt_screen_cursor_visible(vt_screen_t *screen); int vt_screen_cursor_invisible(vt_screen_t *screen); #define vt_screen_is_cursor_visible(screen) ((screen)->is_cursor_visible) /* * XXX * Note that alt_edit/normal_edit are directly switched by ui_picture.c without * using following 3 functions. */ #define vt_screen_is_alternative_edit(screen) ((screen)->edit == &(screen)->alt_edit) int vt_screen_use_normal_edit(vt_screen_t *screen); int vt_screen_use_alternative_edit(vt_screen_t *screen); #define vt_screen_is_local_echo_mode(screen) ((screen)->stored_edit) int vt_screen_enable_local_echo(vt_screen_t *screen); int vt_screen_local_echo_wait(vt_screen_t *screen, int msec); int vt_screen_disable_local_echo(vt_screen_t *screen); #define vt_screen_fill_area(screen, code, is_protected, col, beg, num_cols, num_rows) \ vt_edit_fill_area((screen)->edit, code, is_protected, col, beg, num_cols, num_rows) void vt_screen_copy_area(vt_screen_t *screen, int src_col, int src_row, u_int num_copy_cols, u_int num_copy_rows, u_int src_page, int dst_col, int dst_row, u_int dst_page); #define vt_screen_erase_area(screen, col, row, num_cols, num_rows) \ vt_edit_erase_area((screen)->edit, col, row, num_cols, num_rows) #define vt_screen_change_attr_area(screen, col, row, num_cols, num_rows, attr) \ vt_edit_change_attr_area((screen)->edit, col, row, num_cols, num_rows, \ vt_char_change_attr, attr) #define vt_screen_reverse_attr_area(screen, col, row, num_cols, num_rows, attr) \ vt_edit_change_attr_area((screen)->edit, col, row, num_cols, num_rows, \ vt_char_reverse_attr, attr) #define vt_screen_set_use_rect_attr_select(screen, use) \ vt_edit_set_use_rect_attr_select((screen)->edit, use) #define vt_screen_is_using_rect_attr_select(screen) \ vt_edit_is_using_rect_attr_select((screen)->edit) #define vt_screen_clear_size_attr(screen) vt_edit_clear_size_attr((screen)->edit) void vt_screen_enable_blinking(vt_screen_t *screen); int vt_screen_write_content(vt_screen_t *screen, int fd, ef_conv_t *conv, int clear_at_end, vt_write_content_area_t area); int vt_screen_get_page_id(vt_screen_t *screen); int vt_screen_goto_page(vt_screen_t *screen, u_int page_id); int vt_screen_goto_next_page(vt_screen_t *screen, u_int offset); int vt_screen_goto_prev_page(vt_screen_t *prev, u_int offset); #define vt_screen_cursor_is_rtl(screen) \ ((screen)->logvis ? vt_logical_visual_cursor_is_rtl((screen)->logvis) : 0) /* This considers status line */ #define vt_screen_has_status_line(screen) ((screen)->has_status_line) /* This considers status line */ void vt_screen_set_use_status_line(vt_screen_t *screen, int use); /* This considers status line */ #define vt_status_line_is_focused(screen) ((screen)->edit == (screen)->status_edit) /* This considers status line */ void vt_focus_status_line(vt_screen_t *screen); /* This considers status line */ void vt_focus_main_screen(vt_screen_t *screen); #endif mlterm-3.8.4/vtemu/vt_shape.c010064400017600000144000000156731321054731100146520ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_shape.h" #include /* alloca */ #include "vt_ctl_loader.h" #include "vt_ot_layout.h" /* --- static functions --- */ static int combine_replacing_code(vt_char_t *dst, vt_char_t *src, u_int new_code, int8_t offset, u_int8_t width, int was_vcol) { u_int code; dst = vt_char_combine_simple(dst, src); code = vt_char_code(src); if (IS_VAR_WIDTH_CHAR(code) || (code == 0 && was_vcol)) { vt_char_set_cs(dst, ISO10646_UCS4_1_V); vt_char_set_position(dst, offset, width); was_vcol = 1; } else { vt_char_set_cs(dst, ISO10646_UCS4_1); was_vcol = 0; } vt_char_set_code(dst, new_code); return was_vcol; } static int replace_code(vt_char_t *ch, u_int new_code, int was_vcol) { u_int code; code = vt_char_code(ch); if (IS_VAR_WIDTH_CHAR(code) || (code == 0 && was_vcol)) { vt_char_set_cs(ch, ISO10646_UCS4_1_V); was_vcol = 1; } else { vt_char_set_cs(ch, ISO10646_UCS4_1); was_vcol = 0; } vt_char_set_code(ch, new_code); return was_vcol; } /* --- global functions --- */ #ifndef NO_DYNAMIC_LOAD_CTL #ifdef __APPLE__ u_int vt_shape_arabic(vt_char_t *, u_int, vt_char_t *, u_int) __attribute__((weak)); u_int16_t vt_is_arabic_combining(vt_char_t *, vt_char_t *, vt_char_t *) __attribute__((weak)); u_int vt_shape_iscii(vt_char_t *, u_int, vt_char_t *, u_int) __attribute__((weak)); #endif u_int vt_shape_arabic(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len) { u_int (*func)(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len); if (!(func = vt_load_ctl_bidi_func(VT_SHAPE_ARABIC))) { return 0; } return (*func)(dst, dst_len, src, src_len); } u_int16_t vt_is_arabic_combining(vt_char_t *prev2, /* can be NULL */ vt_char_t *prev, /* must be ISO10646_UCS4_1 character */ vt_char_t *ch /* must be ISO10646_UCS4_1 character */ ) { u_int16_t (*func)(vt_char_t *, vt_char_t *, vt_char_t *); if (!(func = vt_load_ctl_bidi_func(VT_IS_ARABIC_COMBINING))) { return 0; } return (*func)(prev2, prev, ch); } u_int vt_shape_iscii(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len) { u_int (*func)(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len); if (!(func = vt_load_ctl_iscii_func(VT_SHAPE_ISCII))) { return 0; } return (*func)(dst, dst_len, src, src_len); } #endif #ifdef USE_OT_LAYOUT u_int vt_shape_ot_layout(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len, ctl_info_t ctl_info) { int src_pos; u_int dst_filled; u_int32_t *ucs_buf; u_int ucs_filled; u_int32_t *shaped_buf; u_int shaped_filled; int8_t *offsets; u_int8_t *widths; vt_char_t *ch; vt_char_t *dst_shaped; u_int count; vt_font_t prev_font; vt_font_t cur_font; void *xfont; vt_char_t *comb; u_int comb_size; int src_pos_mark; int was_vcol; #define DST_LEN (dst_len * (MAX_COMB_SIZE + 1)) if ((ucs_buf = alloca(src_len * (MAX_COMB_SIZE + 1) * sizeof(*ucs_buf))) == NULL || (shaped_buf = alloca(DST_LEN * sizeof(*shaped_buf))) == NULL || (offsets = alloca(DST_LEN * sizeof(*offsets))) == NULL || (widths = alloca(DST_LEN * sizeof(*widths))) == NULL) { return 0; } dst_filled = 0; ucs_filled = 0; dst_shaped = NULL; prev_font = UNKNOWN_CS; xfont = NULL; for (src_pos = 0; src_pos < src_len; src_pos++) { ch = &src[src_pos]; cur_font = vt_char_font(ch); if (FONT_CS(cur_font) == US_ASCII /* && vt_char_code(ch) == ' ' */) { cur_font &= ~US_ASCII; cur_font |= ISO10646_UCS4_1; } if (prev_font != cur_font) { if (ucs_filled) { shaped_filled = vt_ot_layout_shape(xfont, shaped_buf, DST_LEN, offsets, widths, NULL, ucs_buf, ucs_filled); /* * If EOL char is a ot_layout byte which presents two ot_layouts * and its second ot_layout is out of screen, 'shaped_filled' is * greater than 'dst + dst_len - dst_shaped'. */ if (shaped_filled > dst + dst_len - dst_shaped) { shaped_filled = dst + dst_len - dst_shaped; } #ifdef __DEBUG { int i; for (i = 0; i < ucs_filled; i++) { bl_msg_printf("%.2x ", ucs_buf[i]); } bl_msg_printf("=>\n"); for (i = 0; i < shaped_filled; i++) { bl_msg_printf("%.2x ", shaped_buf[i]); } bl_msg_printf("\n"); } #endif was_vcol = 0; for (count = 0; count < shaped_filled; count++, dst_shaped++, src_pos_mark++) { if (offsets[count] || widths[count]) { was_vcol = combine_replacing_code(--dst_shaped, vt_get_base_char(&src[--src_pos_mark]), shaped_buf[count], offsets[count], widths[count], was_vcol); } else { was_vcol = replace_code(dst_shaped, shaped_buf[count], was_vcol); } } dst_filled = dst_shaped - dst; ucs_filled = 0; dst_shaped = NULL; } if (FONT_CS(cur_font) == ISO10646_UCS4_1) { xfont = vt_ot_layout_get_font(ctl_info.ot_layout->term, cur_font); } else { xfont = NULL; } } prev_font = cur_font; if (xfont) { if (dst_shaped == NULL) { dst_shaped = &dst[dst_filled]; src_pos_mark = src_pos; } if (!vt_char_is_null(ch)) { ucs_buf[ucs_filled++] = vt_char_code(ch); comb = vt_get_combining_chars(ch, &comb_size); for (; comb_size > 0; comb_size--) { ucs_buf[ucs_filled++] = vt_char_code(comb++); } } vt_char_copy(&dst[dst_filled++], vt_get_base_char(ch)); if (dst_filled >= dst_len) { break; } } else { vt_char_copy(&dst[dst_filled++], ch); if (dst_filled >= dst_len) { return dst_filled; } } } if (ucs_filled) { shaped_filled = vt_ot_layout_shape(xfont, shaped_buf, DST_LEN, offsets, widths, NULL, ucs_buf, ucs_filled); /* * If EOL char is a ot_layout byte which presents two ot_layouts and its * second * ot_layout is out of screen, 'shaped_filled' is greater then * 'dst + dst_len - dst_shaped'. */ if (shaped_filled > dst + dst_len - dst_shaped) { shaped_filled = dst + dst_len - dst_shaped; } was_vcol = 0; for (count = 0; count < shaped_filled; count++, dst_shaped++, src_pos_mark++) { if (offsets[count] || widths[count]) { was_vcol = combine_replacing_code(--dst_shaped, vt_get_base_char(&src[--src_pos_mark]), shaped_buf[count], offsets[count], widths[count], was_vcol); } else { was_vcol = replace_code(dst_shaped, shaped_buf[count], was_vcol); } } dst_filled = dst_shaped - dst; } return dst_filled; } #endif mlterm-3.8.4/vtemu/vt_shape.h010064400017600000144000000020271321054731100146440ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_SHAPING_H__ #define __VT_SHAPING_H__ #include /* u_int */ #include "vt_char.h" #include "vt_iscii.h" #include "vt_line.h" /* ctl_info_t */ #define IS_ARABIC_CHAR(ucode) (((ucode)&0xffffff00) == 0x600) #define IS_VAR_WIDTH_CHAR(ucode) (0x900 <= (ucode) && (ucode) <= 0xd7f) #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) u_int vt_shape_arabic(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len); u_int16_t vt_is_arabic_combining(vt_char_t *prev2, vt_char_t *prev, vt_char_t *ch); #else #define vt_shape_arabic (NULL) #define vt_is_arabic_combining(a, b, c) (0) #endif #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) u_int vt_shape_iscii(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len); #else #define vt_shape_iscii (NULL) #endif u_int vt_shape_ot_layout(vt_char_t *dst, u_int dst_len, vt_char_t *src, u_int src_len, ctl_info_t ctl_info); #endif /* __VT_SHAPING_H__ */ mlterm-3.8.4/vtemu/vt_str.c010064400017600000144000000046331321054731100143540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include "vt_str.h" #include #include /* malloc */ /* --- global functions --- */ /* * string functions */ void vt_str_init(vt_char_t *str, u_int size) { u_int count; for (count = 0; count < size; count++) { vt_char_init(str++); } } vt_char_t* __vt_str_init(vt_char_t *str, /* alloca()-ed memory (see vt_char.h) */ u_int size) { if (str == NULL) { /* alloca() failed. */ return NULL; } vt_str_init(str, size); return str; } vt_char_t *vt_str_new(u_int size) { vt_char_t *str; if ((str = malloc(sizeof(vt_char_t) * size)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } vt_str_init(str, size); return str; } void vt_str_final(vt_char_t *str, u_int size) { u_int count; for (count = 0; count < size; count++) { vt_char_final(&str[count]); } } void vt_str_delete(vt_char_t *str, u_int size) { vt_str_final(str, size); free(str); } /* * dst and src may overlap. */ int vt_str_copy(vt_char_t *dst, vt_char_t *src, u_int size) { u_int count; if (size == 0 || dst == src) { return 0; } if (dst < src) { for (count = 0; count < size; count++) { vt_char_copy(dst++, src++); } } else if (dst > src) { dst += size; src += size; for (count = 0; count < size; count++) { vt_char_copy(--dst, --src); } } return 1; } u_int vt_str_cols(vt_char_t *chars, u_int len) { int count; u_int cols; cols = 0; for (count = 0; count < len; count++) { cols += vt_char_cols(&chars[count]); } return cols; } /* * XXX * Returns inaccurate result in dealing with combined characters. * Even if they have the same bytes, false is returned since * vt_char_t:multi_ch-s never point the same address.) */ int vt_str_equal(vt_char_t *str1, vt_char_t *str2, u_int len) { return memcmp(str1, str2, sizeof(vt_char_t) * len) == 0; } int vt_str_bytes_equal(vt_char_t *str1, vt_char_t *str2, u_int len) { int count; for (count = 0; count < len; count++) { if (!vt_char_code_equal(str1++, str2++)) { return 0; } } return 1; } #ifdef DEBUG void vt_str_dump(vt_char_t *chars, u_int len) { int count; for (count = 0; count < len; count++) { vt_char_dump(&chars[count]); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/vtemu/vt_str.h010064400017600000144000000014571321054731100143620ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_STR_H__ #define __VT_STR_H__ #include /* alloca */ #include "vt_char.h" void vt_str_init(vt_char_t *str, u_int size); vt_char_t* __vt_str_init(vt_char_t *str, u_int size); #define vt_str_alloca(size) __vt_str_init(alloca(sizeof(vt_char_t) * (size)), (size)) vt_char_t *vt_str_new(u_int size); void vt_str_final(vt_char_t *str, u_int size); void vt_str_delete(vt_char_t *str, u_int size); int vt_str_copy(vt_char_t *dst, vt_char_t *src, u_int size); u_int vt_str_cols(vt_char_t *chars, u_int len); int vt_str_equal(vt_char_t *str1, vt_char_t *str2, u_int len); int vt_str_bytes_equal(vt_char_t *str1, vt_char_t *str2, u_int len); #ifdef DEBUG void vt_str_dump(vt_char_t *chars, u_int len); #endif #endif mlterm-3.8.4/vtemu/vt_str_parser.c010064400017600000144000000074731321054731100157350ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_str_parser.h" #include /* memcpy */ #include #include #include "vt_char_encoding.h" /* vt_is_msb_set */ #include "vt_drcs.h" typedef struct vt_str_parser { ef_parser_t parser; /* * !! Notice !! * ef_parser_reset() and ef_parser_mark() don't recognize these members. */ vt_char_t *str; u_int left; u_int comb_left; } vt_str_parser_t; /* --- static functions --- */ static int next_char(ef_parser_t *parser, ef_char_t *ch) { vt_str_parser_t *vt_str_parser; vt_char_t *vt_ch; u_int comb_size; vt_str_parser = (vt_str_parser_t*)parser; /* hack for ef_parser_reset */ vt_str_parser->str -= (parser->left - vt_str_parser->left); vt_str_parser->left = parser->left; while (1) { if (vt_str_parser->parser.is_eos) { goto err; } ef_parser_mark(parser); /* * skipping NULL */ if (!vt_char_is_null(vt_str_parser->str)) { break; } vt_str_parser->left--; vt_str_parser->str++; if (vt_str_parser->left == 0) { vt_str_parser->parser.is_eos = 1; } } vt_ch = vt_str_parser->str; if (vt_str_parser->comb_left > 0) { vt_char_t *combs; if ((combs = vt_get_combining_chars(vt_ch, &comb_size)) == NULL || comb_size < vt_str_parser->comb_left) { /* strange ! */ vt_str_parser->comb_left = 0; goto err; } vt_ch = &combs[comb_size - vt_str_parser->comb_left]; if (--vt_str_parser->comb_left == 0) { vt_str_parser->left--; vt_str_parser->str++; } } else { if (vt_get_combining_chars(vt_ch, &comb_size)) { vt_str_parser->comb_left = comb_size; } else { vt_str_parser->left--; vt_str_parser->str++; } } ch->cs = vt_char_cs(vt_ch); ch->size = CS_SIZE(ch->cs); ef_int_to_bytes(ch->ch, ch->size, vt_char_code(vt_ch)); /* * Android doesn't support PUA as follows. (tested on Android 4.0) * * e.g.) UTF8:0x4f88819a (U+10805a) * W/dalvikvm( 4527): JNI WARNING: input is not valid Modified UTF-8: illegal *start byte 0xf4 * I/dalvikvm( 4527): at dalvik.system.NativeStart.run(Native Method) * E/dalvikvm( 4527): VM aborting */ #ifndef __ANDROID__ if (!vt_convert_drcs_to_unicode_pua(ch)) #endif { /* XXX */ ch->property = 0; if (vt_is_msb_set(ch->cs)) { UNSET_MSB(ch->ch[0]); } } if (vt_str_parser->left == 0) { vt_str_parser->parser.is_eos = 1; } /* hack for ef_parser_reset */ parser->left = vt_str_parser->left; if (vt_char_is_null(vt_ch)) { return next_char(parser, ch); } return 1; err: /* hack for ef_parser_reset */ parser->left = vt_str_parser->left; return 0; } static void init(ef_parser_t *ef_parser) { vt_str_parser_t *vt_str_parser; vt_str_parser = (vt_str_parser_t*)ef_parser; ef_parser_init(ef_parser); vt_str_parser->str = NULL; vt_str_parser->left = 0; vt_str_parser->comb_left = 0; } static void set_str(ef_parser_t *ef_parser, u_char *str, size_t size) { /* do nothing */ } static void delete (ef_parser_t *s) { free(s); } /* --- global functions --- */ ef_parser_t *vt_str_parser_new(void) { vt_str_parser_t *vt_str_parser; if ((vt_str_parser = malloc(sizeof(vt_str_parser_t))) == NULL) { return NULL; } init((ef_parser_t*)vt_str_parser); vt_str_parser->parser.init = init; vt_str_parser->parser.set_str = set_str; vt_str_parser->parser.delete = delete; vt_str_parser->parser.next_char = next_char; return (ef_parser_t*)vt_str_parser; } void vt_str_parser_set_str(ef_parser_t *ef_parser, vt_char_t *str, u_int size) { vt_str_parser_t *vt_str_parser; vt_str_parser = (vt_str_parser_t*)ef_parser; vt_str_parser->parser.is_eos = 0; vt_str_parser->parser.left = size; vt_str_parser->str = str; vt_str_parser->left = size; } mlterm-3.8.4/vtemu/vt_str_parser.h010064400017600000144000000005101321054731100157230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_STR_PARSER_H__ #define __VT_STR_PARSER_H__ #include #include #include "vt_char.h" ef_parser_t *vt_str_parser_new(void); void vt_str_parser_set_str(ef_parser_t *ef_parser, vt_char_t *str, u_int size); #endif mlterm-3.8.4/vtemu/vt_term.c010064400017600000144000000561641321054731100145210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_term.h" #include /* malloc/free */ #include #include /* strdup */ #include #include /* bl_parse_uri */ #include "vt_pty.h" #include "vt_parser.h" #include "vt_screen.h" #ifdef OPEN_PTY_ASYNC #ifdef USE_WIN32API #include #include /* _beginthreadex */ #else #include #endif typedef struct { vt_term_t *term; char *cmd_path; char **argv; char **env; char *host; char *work_dir; char *pass; char *pubkey; char *privkey; u_int width_pix; u_int height_pix; } pty_args_t; #endif /* --- global variables --- */ #ifndef NO_IMAGE /* XXX */ void (*vt_term_pty_closed_event)(vt_term_t *); #endif #if defined(__ANDROID__) && defined(USE_LIBSSH2) /* XXX */ int start_with_local_pty = 0; #endif /* --- static functions --- */ #ifdef OPEN_PTY_ASYNC static void pty_args_delete(pty_args_t *args) { int count; free(args->cmd_path); free(args->host); free(args->work_dir); free(args->pass); free(args->pubkey); free(args->privkey); if (args->argv) { for (count = 0; args->argv[count]; count++) { free(args->argv[count]); } free(args->argv); } if (args->env) { for (count = 0; args->env[count]; count++) { free(args->env[count]); } free(args->env); } free(args); } static pty_args_t *pty_args_new(vt_term_t *term, const char *cmd_path, char **argv, char **env, const char *host, const char *work_dir, const char *pass, const char *pubkey, const char *privkey, u_int width_pix, u_int height_pix) { pty_args_t *args; u_int num; u_int count; if (!(args = calloc(1, sizeof(pty_args_t)))) { return NULL; } args->term = term; if (cmd_path) { args->cmd_path = strdup(cmd_path); } if (host) { args->host = strdup(host); } if (work_dir) { args->work_dir = strdup(work_dir); } if (pass) { args->pass = strdup(pass); } if (pubkey) { args->pubkey = strdup(pubkey); } if (privkey) { args->privkey = strdup(privkey); } args->width_pix = width_pix; args->height_pix = height_pix; if (argv) { for (num = 0; argv[num]; num++) ; if ((args->argv = malloc(sizeof(char *) * (num + 1)))) { for (count = 0; count < num; count++) { args->argv[count] = strdup(argv[count]); } args->argv[count] = NULL; } } else { args->argv = NULL; } if (env) { for (num = 0; env[num]; num++) ; if ((args->env = malloc(sizeof(char *) * (num + 1)))) { for (count = 0; count < num; count++) { args->env[count] = strdup(env[count]); } args->env[count] = NULL; } } else { args->env = NULL; } return args; } #ifdef USE_WIN32API static u_int __stdcall #else static void * #endif open_pty(void *p) { pty_args_t *args; vt_pty_ptr_t pty; #ifdef USE_WIN32API static HANDLE mutex; if (!mutex) { mutex = CreateMutex(NULL, FALSE, NULL); } WaitForSingleObject(mutex, INFINITE); #else static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_detach(pthread_self()); pthread_mutex_lock(&mutex); #endif args = p; pty = vt_pty_new(args->cmd_path, args->argv, args->env, args->host, args->work_dir, args->pass, args->pubkey, args->privkey, vt_screen_get_logical_cols(args->term->screen), vt_screen_get_logical_rows(args->term->screen), args->width_pix, args->height_pix); if (pty) { if (args->pass) { args->term->uri = strdup(args->host); } vt_term_plug_pty(args->term, pty); } else { args->term->return_special_pid = 1; bl_trigger_sig_child(-10); args->term->return_special_pid = 0; } pty_args_delete(args); #ifdef USE_WIN32API ReleaseMutex(mutex); #else pthread_mutex_unlock(&mutex); #endif return 0; } #endif /* Must be called in visual context. */ static void set_use_local_echo(vt_term_t *term, int flag) { if (term->use_local_echo != flag && !(term->use_local_echo = flag)) { vt_screen_logical(term->screen); vt_screen_disable_local_echo(term->screen); vt_screen_visual(term->screen); } } /* --- global functions --- */ void vt_term_final(void) { vt_parser_final(); vt_termcap_final(); } vt_term_t *vt_term_new(const char *term_type, u_int cols, u_int rows, u_int tab_size, u_int log_size, vt_char_encoding_t encoding, int is_auto_encoding, int use_auto_detect, int logging_vt_seq, vt_unicode_policy_t policy, u_int col_size_a, int use_char_combining, int use_multi_col_char, int use_ctl, vt_bidi_mode_t bidi_mode, const char *bidi_separators, int use_dynamic_comb, vt_bs_mode_t bs_mode, vt_vertical_mode_t vertical_mode, int use_local_echo, const char *win_name, const char *icon_name, int use_ansi_colors, vt_alt_color_mode_t alt_color_mode, int use_ot_layout, vt_cursor_style_t cursor_style, int ignore_broadcasted_chars) { vt_termcap_ptr_t termcap; vt_term_t *term; if (!(termcap = vt_termcap_get(term_type))) { return NULL; } if ((term = calloc(1, sizeof(vt_term_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } if (!(term->screen = vt_screen_new(cols, rows, tab_size, log_size, vt_termcap_bce_is_enabled(termcap), bs_mode))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_screen_new failed.\n"); #endif goto error; } term->use_ot_layout = use_ot_layout; #ifndef NOT_CONVERT_TO_ISCII #ifdef USE_HARFBUZZ if (!term->use_ot_layout) #endif { policy |= CONVERT_UNICODE_TO_ISCII; } #endif if (!(term->parser = vt_parser_new(term->screen, termcap, encoding, is_auto_encoding, use_auto_detect, logging_vt_seq, policy, col_size_a, use_char_combining, use_multi_col_char, win_name, icon_name, use_ansi_colors, alt_color_mode, cursor_style, ignore_broadcasted_chars))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_parser_new failed.\n"); #endif goto error; } if (bidi_separators) { term->bidi_separators = bl_str_unescape(bidi_separators); } term->vertical_mode = vertical_mode; term->bidi_mode = bidi_mode; term->use_ctl = use_ctl; term->use_dynamic_comb = use_dynamic_comb; term->use_local_echo = use_local_echo; return term; error: if (term->screen) { vt_screen_delete(term->screen); } if (term->parser) { vt_parser_delete(term->parser); } free(term); return NULL; } void vt_term_delete(vt_term_t *term) { #ifndef NO_IMAGE if (vt_term_pty_closed_event) { (*vt_term_pty_closed_event)(term); } #endif free(term->user_data); if (term->pty) { vt_pty_delete(term->pty); } else if (term->pty_listener) { (*term->pty_listener->closed)(term->pty_listener->self); } free(term->uri); free(term->icon_path); free(term->bidi_separators); vt_screen_delete(term->screen); vt_parser_delete(term->parser); free(term); } void vt_term_zombie(vt_term_t *term) { if (term->pty) { vt_pty_ptr_t pty; pty = term->pty; /* Should be NULL because vt_pty_delete calls term->pty_listener->closed. */ term->pty = NULL; vt_pty_delete(pty); } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " term is already zombie.\n"); } #endif } /* The caller should swap width_pix and height_pix in vertical mode. */ int vt_term_open_pty(vt_term_t *term, const char *cmd_path, char **argv, char **env, const char *host, const char *work_dir, const char *pass, const char *pubkey, const char *privkey, u_int width_pix, u_int height_pix) { if (!term->pty) { #ifdef OPEN_PTY_ASYNC char *user; char *server; char *port; if (pass && bl_parse_uri(NULL, &user, &server, &port, NULL, NULL, bl_str_alloca_dup(host)) && !vt_search_ssh_session(server, port, user)) { pty_args_t *args; if (!(args = pty_args_new(term, cmd_path, argv, env, host, work_dir, pass, pubkey, privkey, width_pix, height_pix))) { return 0; } #ifdef USE_WIN32API { HANDLE thrd; u_int tid; if ((thrd = _beginthreadex(NULL, 0, open_pty, args, 0, &tid))) { CloseHandle(thrd); return 1; } return 0; } #else { pthread_t thrd; if (pthread_create(&thrd, NULL, open_pty, args) == 0) { return 1; } else { return 0; } } #endif } else #endif /* OPEN_PTY_ASYNC */ { vt_pty_ptr_t pty; if (!(pty = vt_pty_new(cmd_path, argv, env, host, work_dir, pass, pubkey, privkey, vt_screen_get_logical_cols(term->screen), vt_screen_get_logical_rows(term->screen), width_pix, height_pix))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_pty_new failed.\n"); #endif return 0; } if (pass) { term->uri = strdup(host); } vt_term_plug_pty(term, pty); } } return 1; } int vt_term_plug_pty(vt_term_t *term, vt_pty_ptr_t pty /* Not NULL */ ) { if (!term->pty) { if (term->pty_listener) { vt_pty_set_listener(pty, term->pty_listener); term->pty_listener = NULL; } vt_parser_set_pty(term->parser, pty); term->pty = pty; } return 1; } int vt_term_attach(vt_term_t *term, vt_xterm_event_listener_t *xterm_listener, vt_config_event_listener_t *config_listener, vt_screen_event_listener_t *screen_listener, vt_pty_event_listener_t *pty_listener) { if (term->is_attached) { /* already attached */ return 0; } vt_parser_set_xterm_listener(term->parser, xterm_listener); vt_parser_set_config_listener(term->parser, config_listener); vt_screen_set_listener(term->screen, screen_listener); if (term->pty) { vt_pty_set_listener(term->pty, pty_listener); } else { term->pty_listener = pty_listener; } term->is_attached = 1; return 1; } int vt_term_detach(vt_term_t *term) { if (!term->is_attached) { /* already detached. */ return 0; } vt_parser_set_xterm_listener(term->parser, NULL); vt_parser_set_config_listener(term->parser, NULL); vt_screen_set_listener(term->screen, NULL); if (term->pty) { vt_pty_set_listener(term->pty, NULL); } else { term->pty_listener = NULL; } term->is_attached = 0; return 1; } void vt_term_set_use_ot_layout(vt_term_t *term, int flag) { #if defined(USE_HARFBUZZ) && !defined(NOT_CONVERT_TO_ISCII) vt_unicode_policy_t policy; policy = vt_parser_get_unicode_policy(term->parser); if (flag) { policy &= ~CONVERT_UNICODE_TO_ISCII; } else { policy |= CONVERT_UNICODE_TO_ISCII; } vt_parser_set_unicode_policy(term->parser, policy); #endif term->use_ot_layout = flag; } int vt_term_get_master_fd(vt_term_t *term) { if (term->pty == NULL) { return -1; } return vt_pty_get_master_fd(term->pty); } int vt_term_get_slave_fd(vt_term_t *term) { if (term->pty == NULL) { return -1; } return vt_pty_get_slave_fd(term->pty); } /* * Always return non-NULL value. * XXX Static data can be returned. (Not reentrant) */ char *vt_term_get_slave_name(vt_term_t *term) { if (term->pty == NULL) { return "/dev/zombie"; } return vt_pty_get_slave_name(term->pty); } pid_t vt_term_get_child_pid(vt_term_t *term) { if (term->pty == NULL) { #ifdef OPEN_PTY_ASYNC return term->return_special_pid ? -10 : -1; #else return -1; #endif } return vt_pty_get_pid(term->pty); } size_t vt_term_write(vt_term_t *term, u_char *buf, size_t len) { if (term->pty == NULL) { return 0; } if (term->use_local_echo) { vt_parser_local_echo(term->parser, buf, len); } return vt_write_to_pty(term->pty, buf, len); } /* The caller should swap width_pix and height_pix in vertical mode. */ int vt_term_resize(vt_term_t *term, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { vt_screen_logical(term->screen); vt_screen_resize(term->screen, cols, rows); vt_screen_render(term->screen); vt_screen_visual(term->screen); if (term->pty) { /* Don't use cols and rows because status line might change rows in vt_screen_resize(). */ vt_set_pty_winsize(term->pty, vt_screen_get_logical_cols(term->screen), vt_screen_get_logical_rows(term->screen), width_pix, height_pix); } return 1; } int vt_term_unhighlight_cursor(vt_term_t *term, int revert_visual) { vt_line_t *line; int ret; #ifdef DEBUG if (term->screen->logvis && !term->screen->logvis->is_visual) { bl_debug_printf(BL_DEBUG_TAG " vt_term_unhighlight_cursor() should be called in visual context but" " is called in logical context.\n"); } #endif vt_screen_logical(term->screen); if ((line = vt_screen_get_cursor_line(term->screen)) == NULL || vt_line_is_empty(line)) { ret = 0; } else { vt_line_set_modified(line, vt_screen_cursor_char_index(term->screen), vt_screen_cursor_char_index(term->screen)); ret = 1; } if (revert_visual) { /* vt_screen_render(term->screen); */ vt_screen_visual(term->screen); } return ret; } /* * Not implemented yet. */ #if 0 void vt_term_set_modified_region(vt_term_t *term, int beg_char_index, int beg_row, u_int nchars, u_int nrows) { return; } #endif /* * Not used. */ #if 0 void vt_term_set_modified_region_in_screen(vt_term_t *term, int beg_char_index, int beg_row, u_int nchars, u_int nrows) { int row; vt_line_t *line; int revert_to_visual; /* * This function is usually called in visual context, and sometimes * called in logical context. (see flush_scroll_cache() in x_screen.c) */ if (!vt_screen_logical_visual_is_reversible(term->screen) && vt_screen_logical(term->screen)) { revert_to_visual = 1; } else { revert_to_visual = 0; } for (row = beg_row; row < beg_row + nrows; row++) { if ((line = vt_screen_get_line_in_screen(term->screen, row))) { vt_line_set_modified(line, beg_char_index, beg_char_index + nchars - 1); } } if (revert_to_visual) { /* vt_screen_render(term->screen); */ vt_screen_visual(term->screen); } } #endif void vt_term_set_modified_lines(vt_term_t *term, int beg, int end) { int row; vt_line_t *line; int revert_to_visual; /* * This function is usually called in visual context, and sometimes * called in logical context. (see flush_scroll_cache() in x_screen.c) */ if (!vt_screen_logical_visual_is_reversible(term->screen) && vt_screen_logical(term->screen)) { revert_to_visual = 1; } else { revert_to_visual = 0; } for (row = beg; row <= end; row++) { if ((line = vt_screen_get_line(term->screen, row))) { vt_line_set_modified_all(line); } } if (revert_to_visual) { /* vt_screen_render(term->screen); */ vt_screen_visual(term->screen); } } void vt_term_set_modified_lines_in_screen(vt_term_t *term, int beg, int end) { int row; vt_line_t *line; int revert_to_visual; /* * This function is usually called in visual context, and sometimes * called in logical context. (see flush_scroll_cache() in x_screen.c) */ if (!vt_screen_logical_visual_is_reversible(term->screen) && vt_screen_logical(term->screen)) { revert_to_visual = 1; } else { revert_to_visual = 0; } for (row = beg; row <= end; row++) { if ((line = vt_screen_get_line_in_screen(term->screen, row))) { vt_line_set_modified_all(line); } } if (revert_to_visual) { /* vt_screen_render(term->screen); */ vt_screen_visual(term->screen); } } void vt_term_set_modified_all_lines_in_screen(vt_term_t *term) { int revert_to_visual; /* * This function is usually called in visual context, and sometimes * called in logical context. (see flush_scroll_cache() in x_screen.c) */ if (!vt_screen_logical_visual_is_reversible(term->screen) && vt_screen_logical(term->screen)) { revert_to_visual = 1; } else { revert_to_visual = 0; } vt_screen_set_modified_all(term->screen); if (revert_to_visual) { /* vt_screen_render(term->screen); */ vt_screen_visual(term->screen); } } void vt_term_updated_all(vt_term_t *term) { int row; vt_line_t *line; #ifdef DEBUG if (term->screen->logvis && !term->screen->logvis->is_visual) { bl_debug_printf(BL_DEBUG_TAG " vt_term_updated_all() should be called in visual context but" " is called in logical context.\n"); } #endif if (!vt_screen_logical_visual_is_reversible(term->screen)) { vt_screen_logical(term->screen); } for (row = 0; row < vt_edit_get_rows(term->screen->edit); row++) { if ((line = vt_screen_get_line_in_screen(term->screen, row))) { vt_line_set_updated(line); } } if (!vt_screen_logical_visual_is_reversible(term->screen)) { /* vt_screen_render(term->screen); */ vt_screen_visual(term->screen); } } /* * Return value: * 1 => Updated * 0 => Not updated(== not necessary to redraw) */ int vt_term_update_special_visual(vt_term_t *term) { vt_logical_visual_t *logvis; int had_logvis = 0; int has_logvis = 0; had_logvis = vt_screen_delete_logical_visual(term->screen); if (term->use_dynamic_comb) { if ((logvis = vt_logvis_comb_new())) { if (vt_screen_add_logical_visual(term->screen, logvis)) { has_logvis = 1; if (vt_parser_is_using_char_combining(term->parser)) { bl_msg_printf( "Set use_combining=false forcibly " "to enable use_dynamic_comb.\n"); vt_parser_set_use_char_combining(term->parser, 0); } } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_screen_add_logical_visual failed.\n"); #endif (*logvis->delete)(logvis); } } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " vt_logvis_comb_new() failed.\n"); } #endif } /* Vertical mode, BiDi and ISCII can't coexist. */ /* Similar if-else conditions exist in update_special_visual in x_screen.c. */ if (term->vertical_mode) { if ((logvis = vt_logvis_vert_new(term->vertical_mode))) { if (vt_screen_add_logical_visual(term->screen, logvis)) { has_logvis = 1; } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_screen_add_logical_visual failed.\n"); #endif (*logvis->delete)(logvis); } } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " vt_logvis_vert_new() failed.\n"); } #endif } else if (term->use_ctl && (vt_term_get_encoding(term) == VT_UTF8 || IS_ISCII_ENCODING(vt_term_get_encoding(term)))) { if ((logvis = vt_logvis_ctl_new(term->bidi_mode, term->bidi_separators, term->use_ot_layout ? term : NULL))) { if (vt_screen_add_logical_visual(term->screen, logvis)) { has_logvis = 1; } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_screen_add_logical_visual failed.\n"); #endif (*logvis->delete)(logvis); } } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " vt_logvis_ctl_new() failed.\n"); } #endif } if (had_logvis || has_logvis) { vt_screen_render(term->screen); vt_screen_visual(term->screen); return 1; } else { return 0; } } void vt_term_enter_backscroll_mode(vt_term_t *term) { /* XXX */ if (term->vertical_mode) { bl_msg_printf("Not supported backscrolling in vertical mode.\n"); return; } return vt_enter_backscroll_mode(term->screen); } void vt_term_set_icon_path(vt_term_t *term, const char *path) { free(term->icon_path); if (path && *path) { term->icon_path = strdup(path); } else { term->icon_path = NULL; } } void vt_term_set_bidi_separators(vt_term_t *term, const char *bidi_separators) { free(term->bidi_separators); if (bidi_separators && *bidi_separators) { term->bidi_separators = bl_str_unescape(bidi_separators); } else { term->bidi_separators = NULL; } } int vt_term_get_config(vt_term_t *term, vt_term_t *output, /* if term == output, NULL is set */ char *key, int to_menu, int *flag) { char *value; if (vt_parser_get_config(term->parser, output ? output->pty : NULL, key, to_menu, flag)) { return 1; } if (strcmp(key, "vertical_mode") == 0) { value = vt_get_vertical_mode_name(term->vertical_mode); } else if (strcmp(key, "use_dynamic_comb") == 0) { if (term->use_dynamic_comb) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_ctl") == 0) { if (term->use_ctl) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "bidi_mode") == 0) { value = vt_get_bidi_mode_name(term->bidi_mode); } else if (strcmp(key, "bidi_separators") == 0) { if ((value = term->bidi_separators) == NULL) { value = ""; } } #ifdef USE_OT_LAYOUT else if (strcmp(key, "use_ot_layout") == 0) { if (term->use_ot_layout) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "ot_features") == 0) { value = vt_get_ot_layout_attr(OT_FEATURES); } else if (strcmp(key, "ot_script") == 0) { value = vt_get_ot_layout_attr(OT_SCRIPT); } #endif else if (strcmp(key, "pty_name") == 0) { if (output) { if ((value = vt_get_window_name(term->parser)) == NULL) { value = ""; } } else { value = vt_term_get_slave_name(term); } } else if (strcmp(key, "icon_path") == 0) { if ((value = term->icon_path) == NULL) { value = ""; } } else if (strcmp(key, "use_local_echo") == 0) { if (term->use_local_echo) { value = "true"; } else { value = "false"; } #if defined(__ANDROID__) && defined(USE_LIBSSH2) } else if (strcmp(key, "start_with_local_pty") == 0) { value = start_with_local_pty ? "true" : "false"; #endif } else { /* Continue to process it in x_screen.c */ return 0; } if (!output) { output = term; } /* value is never set NULL above. */ #if 0 if (!value) { vt_response_config(output->pty, "error", NULL, to_menu); } #endif if (flag) { *flag = value ? true_or_false(value) : -1; } else { vt_response_config(output->pty, key, value, to_menu); } return 1; } int vt_term_set_config(vt_term_t *term, char *key, char *value) { if (vt_parser_set_config(term->parser, key, value)) { /* do nothing */ } else if (strcmp(key, "use_local_echo") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { set_use_local_echo(term, flag); } } #ifdef USE_OT_LAYOUT else if (strcmp(key, "ot_script") == 0) { vt_set_ot_layout_attr(value, OT_SCRIPT); } else if (strcmp(key, "ot_features") == 0) { vt_set_ot_layout_attr(value, OT_FEATURES); } #endif else { /* Continue to process it in x_screen.c */ return 0; } return 1; } mlterm-3.8.4/vtemu/vt_term.h010064400017600000144000000320421321054731100145130ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * !! Notice !! * Don't provide any methods modifying vt_model_t and vt_logs_t states * unless these are logicalized in advance. */ #ifndef __VT_TERM_H__ #define __VT_TERM_H__ #include /* USE_WIN32API */ #include "vt_pty.h" #include "vt_parser.h" #include "vt_screen.h" typedef struct vt_term { /* * private */ vt_pty_ptr_t pty; vt_pty_event_listener_t *pty_listener; /* pool until pty opened. */ vt_parser_t *parser; vt_screen_t *screen; /* * private */ char *icon_path; char *uri; char *bidi_separators; /* vt_bidi_mode_t */ int8_t bidi_mode; /* vt_vertical_mode_t */ int8_t vertical_mode; int8_t use_ctl; int8_t use_dynamic_comb; int8_t use_ot_layout; int8_t use_local_echo; int8_t is_attached; #ifdef OPEN_PTY_ASYNC int8_t return_special_pid; #endif void *user_data; } vt_term_t; /* XXX */ extern void (*vt_term_pty_closed_event)(vt_term_t *); #if defined(__ANDROID__) && defined(USE_LIBSSH2) /* XXX */ extern int start_with_local_pty; #endif #define vt_term_init vt_parser_init void vt_term_final(void); vt_term_t *vt_term_new(const char *term_type, u_int cols, u_int rows, u_int tab_size, u_int log_size, vt_char_encoding_t encoding, int is_auto_encoding, int use_auto_detect, int logging_vt_seq, vt_unicode_policy_t policy, u_int col_size_a, int use_char_combining, int use_multi_col_char, int use_ctl, vt_bidi_mode_t bidi_mode, const char *bidi_separators, int use_dynamic_comb, vt_bs_mode_t bs_mode, vt_vertical_mode_t vertical_mode, int use_local_echo, const char *win_name, const char *icon_name, int use_ansi_colors, vt_alt_color_mode_t alt_color_mode, int use_ot_layout, vt_cursor_style_t cursor_style, int ignore_broadcasted_chars); void vt_term_delete(vt_term_t *term); void vt_term_zombie(vt_term_t *term); int vt_term_open_pty(vt_term_t *term, const char *cmd_path, char **argv, char **env, const char *host, const char *work_dir, const char *pass, const char *pubkey, const char *privkey, u_int width_pix, u_int height_pix); int vt_term_plug_pty(vt_term_t *term, vt_pty_ptr_t pty); #define vt_term_pty_is_opened(term) ((term)->pty != NULL) int vt_term_attach(vt_term_t *term, vt_xterm_event_listener_t *xterm_listener, vt_config_event_listener_t *config_listener, vt_screen_event_listener_t *screen_listener, vt_pty_event_listener_t *pty_listner); int vt_term_detach(vt_term_t *term); #define vt_term_is_attached(term) ((term)->is_attached) #define vt_term_parse_vt100_sequence(term) vt_parse_vt100_sequence((term)->parser) #define vt_term_reset_pending_vt100_sequence(term) vt_reset_pending_vt100_sequence((term)->parser) #define vt_term_response_config(term, key, value, to_menu) \ vt_response_config((term)->pty, key, value, to_menu) #ifdef USE_LIBSSH2 #define vt_term_scp(term, dst_path, src_path, path_encoding) \ vt_pty_ssh_scp((term)->pty, vt_term_get_encoding(term), path_encoding, dst_path, src_path, 1) #else #define vt_term_scp(term, dst_path, src_path, path_encoding) (0) #endif #define vt_term_change_encoding(term, encoding) \ vt_parser_change_encoding((term)->parser, encoding) #define vt_term_get_encoding(term) vt_parser_get_encoding((term)->parser) #define vt_term_set_use_ctl(term, flag) ((term)->use_ctl = (flag)) #define vt_term_is_using_ctl(term) ((term)->use_ctl) #define vt_term_set_bidi_mode(term, mode) ((term)->bidi_mode = (mode)) #define vt_term_get_bidi_mode(term) ((term)->bidi_mode) void vt_term_set_use_ot_layout(vt_term_t *term, int flag); #define vt_term_is_using_ot_layout(term) ((term)->use_ot_layout) #define vt_term_set_vertical_mode(term, mode) ((term)->vertical_mode = (mode)) #define vt_term_get_vertical_mode(term) ((term)->vertical_mode) #define vt_term_set_use_dynamic_comb(term, use) ((term)->use_dynamic_comb = (use)) #define vt_term_is_using_dynamic_comb(term) ((term)->use_dynamic_comb) #define vt_term_convert_to(term, dst, len, _parser) \ vt_parser_convert_to((term)->parser, dst, len, _parser) #define vt_term_init_encoding_parser(term) vt_init_encoding_parser((term)->parser) #define vt_term_init_encoding_conv(term) vt_init_encoding_conv((term)->parser) int vt_term_get_master_fd(vt_term_t *term); int vt_term_get_slave_fd(vt_term_t *term); char *vt_term_get_slave_name(vt_term_t *term); pid_t vt_term_get_child_pid(vt_term_t *term); size_t vt_term_write(vt_term_t *term, u_char *buf, size_t len); #define vt_term_write_modified_key(term, key, modcode) \ ((term)->pty ? vt_parser_write_modified_key((term)->parser, key, modcode) : 0) #define vt_term_write_special_key(term, key, modcode, is_numlock) \ ((term)->pty ? vt_parser_write_special_key((term)->parser, key, modcode, is_numlock) : 0) /* Must be called in visual context. */ #define vt_term_write_loopback(term, buf, len) \ vt_parser_write_loopback((term)->parser, buf, len) /* Must be called in visual context. */ #define vt_term_show_message(term, msg) vt_parser_show_message((term)->parser, msg) #if defined(__ANDROID__) || defined(__APPLE__) /* Must be called in visual context. */ #define vt_term_preedit(term, buf, len) vt_parser_preedit((term)->parser, buf, len) #endif int vt_term_resize(vt_term_t *term, u_int cols, u_int rows, u_int width_pix, u_int height_pix); #define vt_term_cursor_col(term) vt_screen_cursor_col((term)->screen) #define vt_term_cursor_char_index(term) vt_screen_cursor_char_index((term)->screen) #define vt_term_cursor_row(term) vt_screen_cursor_row((term)->screen) #define vt_term_cursor_row_in_screen(term) vt_screen_cursor_row_in_screen((term)->screen) int vt_term_unhighlight_cursor(vt_term_t *term, int revert_visual); #define vt_term_get_cols(term) vt_screen_get_cols((term)->screen) #define vt_term_get_rows(term) vt_screen_get_rows((term)->screen) #define vt_term_get_logical_cols(term) vt_screen_get_logical_cols((term)->screen) #define vt_term_get_logical_rows(term) vt_screen_get_logical_rows((term)->screen) #define vt_term_get_log_size(term) vt_screen_get_log_size((term)->screen) #define vt_term_change_log_size(term, log_size) vt_screen_change_log_size((term)->screen, log_size) #define vt_term_unlimit_log_size(term) vt_screen_unlimit_log_size((term)->screen) #define vt_term_log_size_is_unlimited(term) vt_screen_log_size_is_unlimited((term)->screen) #define vt_term_get_num_logged_lines(term) vt_screen_get_num_logged_lines((term)->screen) #define vt_term_convert_scr_row_to_abs(term, row) \ vt_screen_convert_scr_row_to_abs((term)->screen, row) #define vt_term_get_line(term, row) vt_screen_get_line(term->screen, row) #define vt_term_get_line_in_screen(term, row) vt_screen_get_line_in_screen((term)->screen, row) #define vt_term_get_cursor_line(term) vt_screen_get_cursor_line((term)->screen) #if 0 void vt_term_set_modified_region(vt_term_t *term, int beg_char_index, int beg_row, u_int nchars, u_int nrows); void vt_term_set_modified_region_in_screen(vt_term_t *term, int beg_char_index, int beg_row, u_int nchars, u_int nrows); #endif void vt_term_set_modified_lines(vt_term_t *term, int beg, int end); void vt_term_set_modified_lines_in_screen(vt_term_t *term, int beg, int end); void vt_term_set_modified_all_lines_in_screen(vt_term_t *term); void vt_term_updated_all(vt_term_t *term); int vt_term_update_special_visual(vt_term_t *term); #define vt_term_logical_visual_is_reversible(term) \ vt_screen_logical_visual_is_reversible((term)->screen) #define vt_term_is_backscrolling(term) vt_screen_is_backscrolling((term)->screen) void vt_term_enter_backscroll_mode(vt_term_t *term); #define vt_term_exit_backscroll_mode(term) vt_exit_backscroll_mode((term)->screen) #define vt_term_backscroll_to(term, row) vt_screen_backscroll_to((term)->screen, row) #define vt_term_backscroll_upward(term, size) vt_screen_backscroll_upward((term)->screen, size) #define vt_term_backscroll_downward(term, size) vt_screen_backscroll_downward((term)->screen, size) #define vt_term_reverse_color(term, beg_char_index, beg_row, end_char_index, end_row, is_rect) \ vt_screen_reverse_color((term)->screen, beg_char_index, beg_row, end_char_index, end_row, is_rect) #define vt_term_restore_color(term, beg_char_index, beg_row, end_char_index, end_row, is_rect) \ vt_screen_restore_color((term)->screen, beg_char_index, beg_row, end_char_index, end_row, is_rect) #define vt_term_copy_region(term, chars, num_chars, beg_char_index, beg_row, end_char_index, \ end_row, is_rect) \ vt_screen_copy_region((term)->screen, chars, num_chars, beg_char_index, beg_row, \ end_char_index, end_row, is_rect) #define vt_term_get_region_size(term, beg_char_index, beg_row, end_char_index, end_row, is_rect) \ vt_screen_get_region_size((term)->screen, beg_char_index, beg_row, end_char_index, end_row, \ is_rect) #define vt_term_get_line_region(term, beg_row, end_char_index, end_row, base_row) \ vt_screen_get_line_region((term)->screen, beg_row, end_char_index, end_row, base_row) #define vt_term_get_word_region(term, beg_char_index, beg_row, end_char_index, end_row, \ base_char_index, base_row) \ vt_screen_get_word_region((term)->screen, beg_char_index, beg_row, end_char_index, end_row, \ base_char_index, base_row) #define vt_term_write_content(term, fd, conv, clear_at_end, area) \ vt_screen_write_content(term->screen, fd, conv, clear_at_end, area) #define vt_term_cursor_is_rtl(term) vt_screen_cursor_is_rtl((term)->screen) #define vt_term_set_use_multi_col_char(term, flag) \ vt_parser_set_use_multi_col_char((term)->parser, flag) #define vt_term_is_using_multi_col_char(term) \ vt_parser_is_using_multi_col_char((term)->parser) #define vt_term_get_mouse_report_mode(term) vt_parser_get_mouse_report_mode((term)->parser) #define vt_term_want_focus_event(term) vt_parser_want_focus_event((term)->parser) #define vt_term_set_alt_color_mode(term, mode) \ vt_parser_set_alt_color_mode((term)->parser, mode) #define vt_term_get_alt_color_mode(term) vt_parser_get_alt_color_mode((term)->parser) #define vt_term_is_broadcasting(term) vt_parser_is_broadcasting((term)->parser) void vt_term_set_icon_path(vt_term_t *term, const char *path); #define vt_term_window_name(term) vt_get_window_name((term)->parser) #define vt_term_icon_name(term) vt_get_icon_name((term)->parser) #define vt_term_icon_path(term) ((term)->icon_path) #define vt_term_get_uri(term) ((term)->uri) #define vt_term_is_bracketed_paste_mode(term) \ vt_parser_is_bracketed_paste_mode((term)->parser) #define vt_term_set_unicode_policy(term, policy) \ vt_parser_set_unicode_policy((term)->parser, policy) #define vt_term_get_unicode_policy(term) vt_parser_get_unicode_policy((term)->parser) void vt_term_set_bidi_separators(vt_term_t *term, const char *bidi_separators); #define vt_term_get_cmd_line(term) vt_pty_get_cmd_line((term)->pty) #define vt_term_start_config_menu(term, cmd_path, x, y, display) \ vt_reset_pending_vt100_sequence((term)->parser); \ vt_start_config_menu((term)->pty, cmd_path, x, y, display) int vt_term_get_config(vt_term_t *term, vt_term_t *output, char *key, int to_menu, int *flag); int vt_term_set_config(vt_term_t *term, char *key, char *value); #define vt_term_exec_cmd(term, cmd) vt_parser_exec_cmd((term)->parser, cmd) #define vt_term_report_mouse_tracking(term, col, row, button, is_released, key_state, \ button_state) \ vt_parser_report_mouse_tracking((term)->parser, col, row, button, is_released, key_state, \ button_state) #define vt_term_search_init(term, match) vt_screen_search_init((term)->screen, match) #define vt_term_search_final(term) vt_screen_search_final((term)->screen) #define vt_term_search_reset_position(term) vt_screen_search_reset_position((term)->screen) #define vt_term_search_find(term, beg_char_index, beg_row, end_char_index, end_row, regex, \ backward) \ vt_screen_search_find((term)->screen, beg_char_index, beg_row, end_char_index, end_row, regex, \ backward) #define vt_term_blink(term) vt_screen_blink((term)->screen) #define vt_term_has_status_line(term) vt_screen_has_status_line((term)->screen) #define vt_term_get_user_data(term, key) ((term)->user_data) #define vt_term_set_user_data(term, key, val) ((term)->user_data = (val)) #define vt_term_select_drcs(term) vt_parser_select_drcs((term)->parser) #define vt_term_is_visible_cursor(term) vt_parser_is_visible_cursor((term)->parser) #define vt_term_get_cursor_style(term) vt_parser_get_cursor_style((term)->parser) #endif mlterm-3.8.4/vtemu/vt_term_manager.c010064400017600000144000000311271321054731100162030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_term_manager.h" #include /* sprintf/sscanf */ #include /* fork/exec */ #include #include /* bl_snprintf */ #include /* malloc */ #include #include /* BL_DIGIT_STR */ #include #include /* bl_file_unset_cloexec */ #include /* bl_setenv/bl_unsetenv */ #define MAX_TERMS (MTU * max_terms_multiple) /* Default MAX_TERMS is 32. */ #define MTU (8 * sizeof(*dead_mask)) /* MAX_TERMS unit */ #ifndef BINDIR #define BINDIR "/usr/local/bin" #endif #if 0 #define __DEBUG #endif #if 0 #define INFINIT_RESTART #endif /* --- static variables --- */ static u_int max_terms_multiple; static u_int32_t *dead_mask; /* * 'terms' pointer must not be changed because vt_get_all_terms returns it * directly. * So 'terms' array must be allocated only once. */ static vt_term_t **terms; static u_int num_terms; static char *pty_list; static int zombie_pty; static char *auto_restart_cmd; /* --- static functions --- */ #if !defined(USE_WIN32API) && !defined(DEBUG) static void sig_error(int sig) { u_int count; char env[1024]; size_t len; env[0] = '\0'; len = 0; for (count = 0; count < num_terms; count++) { int master; if ((master = vt_term_get_master_fd(terms[count])) >= 0) { int slave; size_t n; slave = vt_term_get_slave_fd(terms[count]); snprintf(env + len, 1024 - len, "%d %d %d,", master, slave, vt_term_get_child_pid(terms[count])); n = strlen(env + len); if (n + len >= 1024) { env[len] = '\0'; break; } else { len += n; } bl_file_unset_cloexec(master); bl_file_unset_cloexec(slave); } } if (len > 0) { pid_t pid; pid = fork(); if (pid < 0) { return; } if (pid == 0) { /* child process */ for (count = 0; count < num_terms; count++) { vt_term_write_content(terms[count], vt_term_get_slave_fd(terms[count]), terms[count]->parser->cc_conv, 1, WCA_ALL); } exit(0); } bl_setenv("INHERIT_PTY_LIST", env, 1); if (auto_restart_cmd) { execlp(auto_restart_cmd, auto_restart_cmd, NULL); } execl(BINDIR "/mlterm", BINDIR "/mlterm", NULL); bl_error_printf("Failed to restart mlterm.\n"); } exit(1); } #endif static void sig_child(void *p, pid_t pid) { u_int count; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " SIG_CHILD received [PID:%d].\n", pid); #endif if (pid == -1) { /* * Note: * If term->pty is NULL, vt_term_get_child_pid() returns -1. * waitpid() in bl_sig_child.c might return -1. * * (Don't check by "pid < 0" above, because vt_term_get_child_pid() * might return minus value if it is a ssh channel.) */ return; } for (count = 0; count < num_terms; count++) { if (pid == vt_term_get_child_pid(terms[count])) { u_int idx; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " pty %d is dead.\n", count); #endif idx = count / MTU; dead_mask[idx] |= (1 << (count - MTU * idx)); } } } /* --- global functions --- */ int vt_term_manager_init(u_int multiple) { if (multiple > 0) { max_terms_multiple = multiple; } else { max_terms_multiple = 1; } if ((terms = malloc(sizeof(vt_term_t*) * MAX_TERMS)) == NULL) { return 0; } if ((dead_mask = calloc(sizeof(*dead_mask), max_terms_multiple)) == NULL) { goto error1; } if (!vt_term_init()) { goto error2; } bl_add_sig_child_listener(NULL, sig_child); return 1; error2: free(dead_mask); dead_mask = NULL; error1: free(terms); terms = NULL; return 0; } void vt_term_manager_final(void) { int count; #ifdef USE_OT_LAYOUT vt_set_ot_layout_attr(NULL, OT_SCRIPT); vt_set_ot_layout_attr(NULL, OT_FEATURES); #endif bl_remove_sig_child_listener(NULL, sig_child); vt_term_final(); for (count = num_terms - 1; count >= 0; count--) { #if 0 /* * All windows may be invalid before vt_term_manager_final() is called. * Without this vt_term_detach(), if terms[count] is not detached, * pty_listener::pty_closed() which is called in vt_pty_delete() can * operate invalid window. */ vt_term_detach(terms[count]); #endif vt_term_delete(terms[count]); } free(terms); free(dead_mask); free(pty_list); free(auto_restart_cmd); } void vt_set_auto_restart_cmd(char *cmd) { #if !defined(USE_WIN32API) && !defined(DEBUG) char *env; if ( #ifndef INFINIT_RESTART (!(env = getenv("INHERIT_PTY_LIST")) || *env == '\0') && #endif cmd && *cmd) { if (!auto_restart_cmd) { struct sigaction act; #if 0 /* * sa_sigaction which is called instead of sa_handler * if SA_SIGINFO is set to sa_flags is not defined in * some environments. */ act.sa_sigaction = NULL; #endif act.sa_handler = sig_error; sigemptyset(&act.sa_mask); /* Not blocking any signals for child. */ act.sa_flags = SA_NODEFER; /* Not blocking any signals for child. */ sigaction(SIGBUS, &act, NULL); sigaction(SIGSEGV, &act, NULL); sigaction(SIGFPE, &act, NULL); sigaction(SIGILL, &act, NULL); free(auto_restart_cmd); } auto_restart_cmd = strdup(cmd); } else if (auto_restart_cmd) { signal(SIGBUS, SIG_DFL); signal(SIGSEGV, SIG_DFL); signal(SIGFPE, SIG_DFL); signal(SIGILL, SIG_DFL); free(auto_restart_cmd); auto_restart_cmd = NULL; } #endif } vt_term_t *vt_create_term(const char *term_type, u_int cols, u_int rows, u_int tab_size, u_int log_size, vt_char_encoding_t encoding, int is_auto_encoding, int use_auto_detect, int logging_vt_seq, vt_unicode_policy_t policy, int col_size_a, int use_char_combining, int use_multi_col_char, int use_ctl, vt_bidi_mode_t bidi_mode, const char *bidi_separators, int use_dynamic_comb, vt_bs_mode_t bs_mode, vt_vertical_mode_t vertical_mode, int use_local_echo, const char *win_name, const char *icon_name, int use_ansi_colors, vt_alt_color_mode_t alt_color_mode, int use_ot_layout, vt_cursor_style_t cursor_style, int ignore_broadcasted_chars) { #if !defined(USE_WIN32API) && !defined(DEBUG) char *list; #endif if (num_terms == MAX_TERMS) { return NULL; } #if !defined(USE_WIN32API) && !defined(DEBUG) if ((list = getenv("INHERIT_PTY_LIST")) && (list = bl_str_alloca_dup(list))) { int master; int slave; pid_t child_pid; char *p; while ((p = bl_str_sep(&list, ","))) { vt_pty_ptr_t pty; if (sscanf(p, "%d %d %d", &master, &slave, &child_pid) == 3) { /* * cols + 1 is for redrawing screen by vt_set_pty_winsize() below. */ if ((pty = vt_pty_new_with(master, slave, child_pid, cols + 1, rows, 0, 0))) { if ((terms[num_terms] = vt_term_new( term_type, cols, rows, tab_size, log_size, encoding, is_auto_encoding, use_auto_detect, logging_vt_seq, policy, col_size_a, use_char_combining, use_multi_col_char, use_ctl, bidi_mode, bidi_separators, use_dynamic_comb, bs_mode, vertical_mode, use_local_echo, win_name, icon_name, use_ansi_colors, alt_color_mode, use_ot_layout, cursor_style, ignore_broadcasted_chars))) { vt_term_plug_pty(terms[num_terms++], pty); vt_set_pty_winsize(pty, cols, rows, 0, 0); continue; } else { vt_pty_delete(pty); } } close(master); close(slave); } } #ifdef INFINIT_RESTART bl_unsetenv("INHERIT_PTY_LIST"); #endif if (num_terms > 0) { return terms[num_terms - 1]; } } #endif /* * Before modifying terms and num_terms, do vt_close_dead_terms(). */ vt_close_dead_terms(); /* * XXX * If sig_child here... */ if (!(terms[num_terms] = vt_term_new(term_type, cols, rows, tab_size, log_size, encoding, is_auto_encoding, use_auto_detect, logging_vt_seq, policy, col_size_a, use_char_combining, use_multi_col_char, use_ctl, bidi_mode, bidi_separators, use_dynamic_comb, bs_mode, vertical_mode, use_local_echo, win_name, icon_name, use_ansi_colors, alt_color_mode, use_ot_layout, cursor_style, ignore_broadcasted_chars))) { return NULL; } return terms[num_terms++]; } void vt_destroy_term(vt_term_t *term) { u_int count; /* * Before modifying terms and num_terms, do vt_close_dead_terms(). */ vt_close_dead_terms(); /* * XXX * If sig_child here... */ for (count = 0; count < num_terms; count++) { if (terms[count] == term) { terms[count] = terms[--num_terms]; break; } } vt_term_delete(term); } vt_term_t *vt_get_term(const char *dev) { int count; for (count = 0; count < num_terms; count++) { if (dev == NULL || strcmp(dev, vt_term_get_slave_name(terms[count])) == 0) { return terms[count]; } } return NULL; } vt_term_t *vt_get_detached_term(const char *dev) { int count; for (count = 0; count < num_terms; count++) { if (!vt_term_is_attached(terms[count]) && (dev == NULL || strcmp(dev, vt_term_get_slave_name(terms[count])) == 0)) { return terms[count]; } } return NULL; } vt_term_t *vt_next_term(vt_term_t *term /* is detached */ ) { int count; for (count = 0; count < num_terms; count++) { if (terms[count] == term) { int old; old = count; for (count++; count < num_terms; count++) { if (!vt_term_is_attached(terms[count])) { return terms[count]; } } for (count = 0; count < old; count++) { if (!vt_term_is_attached(terms[count])) { return terms[count]; } } return NULL; } } return NULL; } vt_term_t *vt_prev_term(vt_term_t *term /* is detached */ ) { int count; for (count = 0; count < num_terms; count++) { if (terms[count] == term) { int old; old = count; for (count--; count >= 0; count--) { if (!vt_term_is_attached(terms[count])) { return terms[count]; } } for (count = num_terms - 1; count > old; count--) { if (!vt_term_is_attached(terms[count])) { return terms[count]; } } return NULL; } } return NULL; } /* * Return value: Number of opened terms. Don't trust it after vt_create_term(), * vt_destroy_term() or vt_close_dead_terms() which can change it is called. */ u_int vt_get_all_terms(vt_term_t*** _terms) { if (_terms) { *_terms = terms; } return num_terms; } void vt_close_dead_terms(void) { if (num_terms > 0) { int idx; for (idx = (num_terms - 1) / MTU; idx >= 0; idx--) { if (dead_mask[idx]) { int count; for (count = MTU - 1; count >= 0; count--) { if (dead_mask[idx] & (0x1 << count)) { vt_term_t *term; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " closing dead term %d.\n", count); #endif term = terms[idx * MTU + count]; /* * Update terms and num_terms before * vt_term_delete, which calls * vt_pty_event_listener::pty_close in which * vt_term_manager can be used. */ terms[idx * MTU + count] = terms[--num_terms]; if (zombie_pty) { vt_term_zombie(term); } else { vt_term_delete(term); } } } memset(&dead_mask[idx], 0, sizeof(dead_mask[idx])); } } } } char *vt_get_pty_list(void) { int count; char *p; size_t len; free(pty_list); /* The length of pty name is under 50. */ len = (50 + 2) * num_terms; if ((pty_list = malloc(len + 1)) == NULL) { return ""; } p = pty_list; *p = '\0'; for (count = 0; count < num_terms; count++) { bl_snprintf(p, len, "%s:%d;", vt_term_get_slave_name(terms[count]), vt_term_is_attached(terms[count])); len -= strlen(p); p += strlen(p); } return pty_list; } void vt_term_manager_enable_zombie_pty(void) { zombie_pty = 1; } mlterm-3.8.4/vtemu/vt_term_manager.h010064400017600000144000000030171321054731100162050ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_TERM_MANAGER_H__ #define __VT_TERM_MANAGER_H__ #include "vt_term.h" int vt_term_manager_init(u_int multiple); void vt_term_manager_final(void); void vt_set_auto_restart_cmd(char *cmd); vt_term_t *vt_create_term(const char *term_type, u_int cols, u_int rows, u_int tab_size, u_int log_size, vt_char_encoding_t encoding, int is_auto_encoding, int use_auto_detect, int logging_vt_seq, vt_unicode_policy_t policy, int col_size_a, int use_char_combining, int use_multi_col_char, int use_ctl, vt_bidi_mode_t bidi_mode, const char *bidi_separators, int use_dynamic_comb, vt_bs_mode_t bs_mode, vt_vertical_mode_t vertical_mode, int use_local_echo, const char *win_name, const char *icon_name, int use_ansi_colors, vt_alt_color_mode_t alt_color_mode, int use_ot_layout, vt_cursor_style_t cursor_style, int ignore_broadcasted_chars); void vt_destroy_term(vt_term_t *term); vt_term_t *vt_get_term(const char *dev); vt_term_t *vt_get_detached_term(const char *dev); vt_term_t *vt_next_term(vt_term_t *term); vt_term_t *vt_prev_term(vt_term_t *term); u_int vt_get_all_terms(vt_term_t ***terms); void vt_close_dead_terms(void); char *vt_get_pty_list(void); void vt_term_manager_enable_zombie_pty(void); #endif mlterm-3.8.4/vtemu/vt_termcap.c010064400017600000144000000324271321054731100152010ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_termcap.h" #include /* strchr */ #include /* strdup */ #include /* free */ #include #include #include typedef enum str_field { TC_DELETE, TC_BACKSPACE, TC_HOME, TC_END, TC_F1, TC_F2, TC_F3, TC_F4, TC_F5, MAX_TERMCAP_STR_FIELDS } str_field_t; typedef enum bool_field { TC_BCE, MAX_TERMCAP_BOOL_FIELDS } bool_field_t; typedef struct str_field_table { char *name; str_field_t field; } str_field_table_t; typedef struct bool_field_table { char *name; bool_field_t field; } bool_field_table_t; typedef struct vt_termcap { char *name; char *str_fields[MAX_TERMCAP_STR_FIELDS]; int8_t bool_fields[MAX_TERMCAP_BOOL_FIELDS]; } vt_termcap_t; /* --- static variables --- */ static vt_termcap_t *entries; static u_int num_entries; static str_field_table_t str_field_table[] = { { "kD", TC_DELETE, }, { "kb", TC_BACKSPACE, }, { "kh", TC_HOME, }, { "@7", TC_END, }, /* "\x1bOP" in xterm(279), but doc/term/mlterm.ti defined "\x1b[11~" from before. */ { "k1", TC_F1, }, /* "\x1bOQ" in xterm(279), but doc/term/mlterm.ti defined "\x1b[12~" from before. */ { "k2", TC_F2, }, /* "\x1bOR" in xterm(279), but doc/term/mlterm.ti defined "\x1b[13~" from before. */ { "k3", TC_F3, }, /* "\x1bOS" in xterm(279), but doc/term/mlterm.ti defined "\x1b[14~" from before. */ { "k4", TC_F4, }, /* Requested by Andi Cristian Serbanescu (1 Nov 2012) */ { "k5", TC_F5, }, }; static bool_field_table_t bool_field_table[] = { { "ut", TC_BCE, }, }; static char *tc_file = "mlterm/termcap"; /* --- static functions --- */ static int entry_init(vt_termcap_t *termcap, const char *name) { memset(termcap, 0, sizeof(vt_termcap_t)); termcap->name = strdup(name); return 1; } static int entry_final(vt_termcap_t *termcap) { int count; free(termcap->name); for (count = 0; count < MAX_TERMCAP_STR_FIELDS; count++) { free(termcap->str_fields[count]); } return 1; } static int parse_termcap_db(vt_termcap_t *termcap, char *termcap_db) { char *field; int count; while ((field = bl_str_sep(&termcap_db, ":"))) { char *key; char *value; key = bl_str_sep(&field, "="); if ((value = field) == NULL) { for (count = 0; count < MAX_TERMCAP_BOOL_FIELDS; count++) { if (strcmp(key, bool_field_table[count].name) == 0) { termcap->bool_fields[bool_field_table[count].field] = 1; break; } } } else { for (count = 0; count < MAX_TERMCAP_STR_FIELDS; count++) { if (strcmp(key, str_field_table[count].name) == 0) { if ((value = bl_str_unescape(value))) { free(termcap->str_fields[str_field_table[count].field]); termcap->str_fields[str_field_table[count].field] = value; } break; } } } } return 1; } static vt_termcap_t *search_termcap(const char *name) { int count; for (count = 0; count < num_entries; count++) { const char *p1; const char *p2; p1 = entries[count].name; while (*p1) { p2 = name; while (*p1 && *p2 && *p1 != '|' && *p1 == *p2) { p1++; p2++; } if (*p1 == '|' || *p1 == '\0') { return &entries[count]; } else { if ((p1 = strchr(p1, '|')) == NULL) { break; } p1++; } } } return NULL; } static int read_conf(char *filename) { bl_file_t *from; char *line; size_t len; char *termcap_db; size_t db_len; if (!(from = bl_file_open(filename, "r"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return 0; } termcap_db = NULL; db_len = 0; while ((line = bl_file_get_line(from, &len))) { void *p; if (len < 2) /* skip empty(LF-only) line */ { continue; } if (*line == '#') { continue; } line[len - 1] = '\0'; while (*line == ' ' || *line == '\t') { line++; } len = strlen(line); /* + 1 is for NULL terminator */ if ((p = realloc(termcap_db, db_len + len + 1)) == NULL) { free(termcap_db); bl_file_close(from); return 0; } termcap_db = p; strncpy(&termcap_db[db_len], line, len); db_len += len; if (termcap_db[db_len - 1] == '\\') { db_len--; } else { vt_termcap_t *termcap; char *field; char *db_p; termcap_db[db_len] = '\0'; db_p = termcap_db; if ((field = bl_str_sep(&db_p, ":"))) { if ((termcap = search_termcap(field))) { #if 0 entry_final(termcap); entry_init(termcap, field); #endif parse_termcap_db(termcap, db_p); } else if ((p = realloc(entries, sizeof(vt_termcap_t) * (num_entries + 1)))) { entries = p; termcap = &entries[num_entries]; if (entry_init(termcap, field) && parse_termcap_db(termcap, db_p)) { num_entries++; } } } db_len = 0; } } free(termcap_db); bl_file_close(from); return 1; } static int termcap_init(void) { char *rcpath; if ((entries = malloc(sizeof(vt_termcap_t))) == NULL) { return 0; } if (!entry_init(entries, "*")) { return 0; } entries[0].bool_fields[TC_BCE] = 1; num_entries = 1; if ((rcpath = bl_get_sys_rc_path(tc_file))) { if (!read_conf(rcpath)) { #if defined(__ANDROID__) #define MAX_DB_LEN_IDX 2 const char *db[] = { "k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~", "ut", "kh=\E[7~:@7=\E[8~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:ut", "kb=^H:kD=^?:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~", }; const char *names[] = { "mlterm", "xterm", "rxvt", "kterm", }; void *p; char *buf; if ((p = realloc(entries, sizeof(vt_termcap_t) * (sizeof(db) / sizeof(db[0]) + 1))) && (buf = alloca(strlen(db[MAX_DB_LEN_IDX]) + 1))) { size_t count; entries = p; num_entries = sizeof(db) / sizeof(db[0]) + 1; for (count = 0; count < sizeof(db) / sizeof(db[0]); count++) { entry_init(entries + count + 1, names[count]); strcpy(buf, db[count]); parse_termcap_db(entries + count + 1, buf); } } #endif } free(rcpath); } if ((rcpath = bl_get_user_rc_path(tc_file))) { read_conf(rcpath); free(rcpath); } return 1; } /* --- global functions --- */ vt_termcap_t *vt_termcap_get(const char *name) { vt_termcap_t *termcap; if (entries == NULL) { if (!termcap_init()) { return NULL; } } if ((termcap = search_termcap(name))) { return termcap; } /* '*' */ return entries; } void vt_termcap_final(void) { int count; for (count = 0; count < num_entries; count++) { entry_final(&entries[count]); } free(entries); } int vt_termcap_set_key_seq(vt_termcap_t *termcap, vt_special_key_t key, const char *str) { str_field_t field; if (key == SPKEY_DELETE) { field = TC_DELETE; } else if (key == SPKEY_BACKSPACE) { field = TC_BACKSPACE; } else { return 0; } free(termcap->str_fields[field]); termcap->str_fields[field] = strdup(str); return 1; } int vt_termcap_bce_is_enabled(vt_termcap_t *termcap) { return termcap->bool_fields[TC_BCE]; } char *vt_termcap_special_key_to_seq(vt_termcap_t *termcap, vt_special_key_t key, int modcode, int is_app_keypad, int is_app_cursor_keys, int is_app_escape, int modify_cursor_keys, int modify_function_keys) { static char escseq[10]; char *seq; char intermed_ch; char final_ch; int param; switch (key) { case SPKEY_DELETE: if (modcode || !(seq = termcap->str_fields[TC_DELETE])) { intermed_ch = '['; param = 3; final_ch = '~'; break; } else { return seq; } case SPKEY_BACKSPACE: if (!(seq = termcap->str_fields[TC_BACKSPACE])) { seq = "\x7f"; } return seq; case SPKEY_ESCAPE: if (is_app_escape) { return "\x1bO["; } else { return NULL; } case SPKEY_END: if (modcode || !is_app_cursor_keys || !(seq = termcap->str_fields[TC_END])) { intermed_ch = (is_app_cursor_keys && !modcode) ? 'O' : '['; param = modcode ? 1 : 0; final_ch = 'F'; break; } else { return seq; } case SPKEY_HOME: if (modcode || !is_app_cursor_keys || !(seq = termcap->str_fields[TC_HOME])) { intermed_ch = (is_app_cursor_keys && !modcode) ? 'O' : '['; param = modcode ? 1 : 0; final_ch = 'H'; break; } else { return seq; } case SPKEY_BEGIN: intermed_ch = '['; param = modcode ? 1 : 0; final_ch = 'E'; break; case SPKEY_ISO_LEFT_TAB: intermed_ch = '['; param = 0; final_ch = 'Z'; modcode = 0; break; default: if (key <= SPKEY_KP_F4) { if (is_app_keypad) { char final_chs[] = { 'j', /* MULTIPLY */ 'k', /* ADD */ 'l', /* SEPARATOR */ 'm', /* SUBTRACT */ 'n', /* DELETE */ 'o', /* DIVIDE */ 'q', /* END */ 'w', /* HOME */ 'u', /* BEGIN */ 'x', /* UP */ 'r', /* DOWN */ 'v', /* RIGHT */ 't', /* LEFT */ 'p', /* INSERT */ 'y', /* PRIOR */ 's', /* NEXT */ 'P', /* F1 */ 'Q', /* F2 */ 'R', /* F3 */ 'S', /* F4 */ }; intermed_ch = 'O'; param = 0; final_ch = final_chs[key - SPKEY_KP_MULTIPLY]; } else { if (key <= SPKEY_KP_DIVIDE) { return NULL; } else if (key <= SPKEY_KP_BEGIN) { key += (SPKEY_END - SPKEY_KP_END); } else if (key <= SPKEY_KP_LEFT) { key += (SPKEY_UP - SPKEY_KP_UP); } else if (key == SPKEY_KP_INSERT) { key = SPKEY_INSERT; } else if (key <= SPKEY_KP_F4) { key += (SPKEY_PRIOR - SPKEY_KP_PRIOR); } else { return NULL; } return vt_termcap_special_key_to_seq(termcap, key, modcode, is_app_keypad, is_app_cursor_keys, is_app_escape, modify_cursor_keys, modify_function_keys); } } else if (key <= SPKEY_LEFT) { intermed_ch = (is_app_cursor_keys && !modcode) ? 'O' : '['; param = modcode ? 1 : 0; final_ch = (key - SPKEY_UP) + 'A'; } else if (key <= SPKEY_NEXT) { intermed_ch = '['; param = (key - SPKEY_FIND) + 1; final_ch = '~'; } else if (key <= SPKEY_F5) { if (modcode || !(seq = termcap->str_fields[TC_F1 + key - SPKEY_F1])) { if (key == SPKEY_F5) { intermed_ch = '['; param = 15; final_ch = '~'; } else { /* PQRS */ if (modcode) { intermed_ch = '['; param = 1; } else { intermed_ch = 'O'; param = 0; } final_ch = (key - SPKEY_F1) + 'P'; } } else { return seq; } } else /* if( key <= SPKEY_F37) */ { char params[] = { /* F6 - F15 */ 17, 18, 19, 20, 21, 23, 24, 25, 26, 28, /* F16 - F25 */ 29, 31, 32, 33, 34, 42, 43, 44, 45, 46, /* F26 - F35 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, /* F36 - F37 */ 57, 58, }; intermed_ch = '['; final_ch = '~'; param = params[key - SPKEY_F6]; } } if (modcode) /* ESC Ps ; Ps */ { if ('A' <= final_ch && final_ch <= 'H') { /* cursor keys */ if (0 <= modify_cursor_keys && modify_cursor_keys <= 1) { goto obsolete_format; } else if (modify_cursor_keys == 3) { goto private_format; } } else if (SPKEY_IS_FKEY(key)) { if (modify_function_keys == 3) { goto private_format; } else if ('P' <= final_ch && final_ch <= 'S') { /* F1-F4 keys */ if (modify_function_keys == 0) { intermed_ch = 'O'; goto obsolete_format; } else if (modify_function_keys == 1) { goto obsolete_format; } } } while (1) { bl_snprintf(escseq, sizeof(escseq), "\x1b%c%d;%d%c", intermed_ch, param, modcode, final_ch); break; obsolete_format: bl_snprintf(escseq, sizeof(escseq), "\x1b%c%d%c", intermed_ch, modcode, final_ch); break; private_format: bl_snprintf(escseq, sizeof(escseq), "\x1b%c>%d;%d%c", intermed_ch, param, modcode, final_ch); break; } } else if (param) /* ESC Ps */ { bl_snprintf(escseq, sizeof(escseq), "\x1b%c%d%c", intermed_ch, param, final_ch); } else /* ESC */ { bl_snprintf(escseq, sizeof(escseq), "\x1b%c%c", intermed_ch, final_ch); } return escseq; } mlterm-3.8.4/vtemu/vt_termcap.h010064400017600000144000000035531321054731100152040ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_TERMCAP_H__ #define __VT_TERMCAP_H__ #include typedef enum vt_special_key { SPKEY_DELETE = 0, SPKEY_BACKSPACE, SPKEY_ESCAPE, SPKEY_END, SPKEY_HOME, SPKEY_BEGIN, SPKEY_ISO_LEFT_TAB, SPKEY_KP_MULTIPLY, SPKEY_KP_ADD, SPKEY_KP_SEPARATOR, SPKEY_KP_SUBTRACT, SPKEY_KP_DELETE, SPKEY_KP_DIVIDE, SPKEY_KP_END, SPKEY_KP_HOME, SPKEY_KP_BEGIN, SPKEY_KP_UP, SPKEY_KP_DOWN, SPKEY_KP_RIGHT, SPKEY_KP_LEFT, SPKEY_KP_INSERT, SPKEY_KP_PRIOR, SPKEY_KP_NEXT, SPKEY_KP_F1, SPKEY_KP_F2, SPKEY_KP_F3, SPKEY_KP_F4, SPKEY_UP, SPKEY_DOWN, SPKEY_RIGHT, SPKEY_LEFT, SPKEY_FIND, SPKEY_INSERT, SPKEY_EXECUTE, SPKEY_SELECT, SPKEY_PRIOR, SPKEY_NEXT, SPKEY_F1, SPKEY_F2, SPKEY_F3, SPKEY_F4, SPKEY_F5, SPKEY_F6, SPKEY_F7, SPKEY_F8, SPKEY_F9, SPKEY_F10, SPKEY_F11, SPKEY_F12, SPKEY_F13, SPKEY_F14, SPKEY_F15, SPKEY_F16, SPKEY_F17, SPKEY_F18, SPKEY_F19, SPKEY_F20, SPKEY_F21, SPKEY_F22, SPKEY_F23, SPKEY_F24, SPKEY_F25, SPKEY_F26, SPKEY_F27, SPKEY_F28, SPKEY_F29, SPKEY_F30, SPKEY_F31, SPKEY_F32, SPKEY_F33, SPKEY_F34, SPKEY_F35, SPKEY_F36, SPKEY_F37 } vt_special_key_t; typedef struct vt_termcap *vt_termcap_ptr_t; #define SPKEY_IS_FKEY(key) ((key) >= SPKEY_F1) vt_termcap_ptr_t vt_termcap_get(const char *name); void vt_termcap_final(); int vt_termcap_set_key_seq(vt_termcap_ptr_t termcap, vt_special_key_t key, const char *str); int vt_termcap_bce_is_enabled(vt_termcap_ptr_t termcap); char *vt_termcap_special_key_to_seq(vt_termcap_ptr_t termcap, vt_special_key_t key, int modcode, int is_app_keypad, int is_app_cursor_keys, int is_app_escape, int modify_cursor_keys, int modify_function_keys); #endif mlterm-3.8.4/vtemu/vt_parser.h010064400017600000144000000314501321054731100150420ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_VT100_PARSER_H__ #define __VT_VT100_PARSER_H__ #include /* u_xxx */ #include #include #include "vt_pty.h" #include "vt_screen.h" #include "vt_char_encoding.h" #include "vt_drcs.h" #include "vt_termcap.h" #include "vt_config_proto.h" #define PTY_WR_BUFFER_SIZE 100 /* * Possible patterns are: * NOT_USE_UNICODE_FONT(0x1) * USE_UNICODE_PROPERTY(0x2) * NOT_USE_UNICODE_FONT|USE_UNICODE_PROPERTY(0x3) * ONLY_USE_UNICODE_FONT(0x4) */ typedef enum vt_unicode_policy { NO_UNICODE_POLICY = 0x0, NOT_USE_UNICODE_FONT = 0x1, ONLY_USE_UNICODE_FONT = 0x2, NOT_USE_UNICODE_BOXDRAW_FONT = 0x4, ONLY_USE_UNICODE_BOXDRAW_FONT = 0x8, USE_UNICODE_DRCS = 0x10, CONVERT_UNICODE_TO_ISCII = 0x20, UNICODE_POLICY_MAX } vt_unicode_policy_t; typedef enum vt_mouse_report_mode { NO_MOUSE_REPORT = 0, MOUSE_REPORT = 0x1, BUTTON_EVENT_MOUSE_REPORT = 0x2, ANY_EVENT_MOUSE_REPORT = 0x3, LOCATOR_CHARCELL_REPORT = 0x4, LOCATOR_PIXEL_REPORT = 0x5, } vt_mouse_report_mode_t; typedef enum vt_extended_mouse_report_mode { NO_EXTENDED_MOUSE_REPORT = 0, EXTENDED_MOUSE_REPORT_UTF8 = 0x1, EXTENDED_MOUSE_REPORT_SGR = 0x2, EXTENDED_MOUSE_REPORT_URXVT = 0x3, } vt_extended_mouse_report_mode_t; typedef enum vt_locator_report_mode { LOCATOR_BUTTON_DOWN = 0x1, LOCATOR_BUTTON_UP = 0x2, LOCATOR_ONESHOT = 0x4, LOCATOR_REQUEST = 0x8, LOCATOR_FILTER_RECT = 0x10, } vt_locator_report_mode_t; typedef enum vt_alt_color_mode { ALT_COLOR_BOLD = 0x1, ALT_COLOR_ITALIC = 0x2, ALT_COLOR_UNDERLINE = 0x4, ALT_COLOR_BLINKING = 0x8, ALT_COLOR_CROSSED_OUT = 0x10, } vt_alt_color_mode_t; typedef enum vt_cursor_style { CS_BLOCK = 0x0, CS_UNDERLINE = 0x1, CS_BAR = 0x2, CS_BLINK = 0x4, } vt_cursor_style_t; typedef struct vt_write_buffer { vt_char_t chars[PTY_WR_BUFFER_SIZE]; u_int filled_len; /* for "CSI b"(REP) sequence */ vt_char_t *last_ch; int (*output_func)(vt_screen_t *, vt_char_t *chars, u_int); } vt_write_buffer_t; typedef struct vt_read_buffer { u_char *chars; size_t len; size_t filled_len; size_t left; size_t new_len; } vt_read_buffer_t; typedef struct vt_xterm_event_listener { void *self; void (*start)(void *); /* called in *visual* context. (Note that not logical) */ void (*stop)(void *); /* called in visual context. */ void (*interrupt)(void *); /* called in visual context. */ void (*resize)(void *, u_int, u_int, int); /* called in visual context. */ void (*reverse_video)(void *, int); /* called in visual context. */ void (*set_mouse_report)(void *); /* called in visual context. */ void (*request_locator)(void *); /* called in visual context. */ void (*set_window_name)(void *, u_char *); /* called in logical context. */ void (*set_icon_name)(void *, u_char *); /* called in logical context. */ void (*bel)(void *); /* called in visual context. */ int (*im_is_active)(void *); /* called in logical context. */ void (*switch_im_mode)(void *); /* called in logical context. */ void (*set_selection)(void *, vt_char_t *, u_int, u_char *); /* called in logical context. */ int (*get_window_size)(void *, u_int *, u_int *); /* called in logical context. */ int (*get_rgb)(void *, u_int8_t *, u_int8_t *, u_int8_t *, vt_color_t); /* called in logical context. */ vt_char_t *(*get_picture_data)(void *, char *, int *, int *, u_int32_t **); /* called in logical context. */ int (*get_emoji_data)(void *, vt_char_t *, vt_char_t *); /* called in logical context. */ void (*show_sixel)(void *, char *); /* called in logical context. */ void (*add_frame_to_animation)(void *, char *, int *, int *); /* called in logical context. */ void (*hide_cursor)(void *, int); /* called in logical context. */ int (*check_iscii_font)(void *, ef_charset_t); } vt_xterm_event_listener_t; /* * !! Notice !! * Validation of Keys and vals is not checked before these event called by * vt_parser. */ typedef struct vt_config_event_listener { void *self; /* Assume that exec, set and get affect each window. */ int (*exec)(void *, char *); int (*set)(void *, char *, char *, char *); void (*get)(void *, char *, char *, int); /* Assume that saved, set_font and set_color affect all window. */ void (*saved)(void); /* Event that mlterm/main file was changed. */ void (*set_font)(void *, char *, char *, char *, int); void (*get_font)(void *, char *, char *, int); void (*set_color)(void *, char *, char *, char *, int); void (*get_color)(void *, char *, int); } vt_config_event_listener_t; typedef struct vt_parser *vt_parser_ptr_t; typedef struct vt_storable_states { int is_saved : 1; int is_bold : 1; int is_italic : 1; int is_reversed : 1; int is_blinking : 1; int is_invisible : 1; /* vt_line_style_t */ int8_t line_style; vt_color_t fg_color; vt_color_t bg_color; ef_charset_t cs; } vt_storable_states_t; typedef struct vt_saved_names { char **names; u_int num; } vt_saved_names_t; typedef struct vt_macro { u_char *str; int8_t is_sixel; u_int8_t sixel_num; } vt_macro_t; typedef struct vt_parser { vt_read_buffer_t r_buf; vt_write_buffer_t w_buf; vt_pty_ptr_t pty; vt_pty_hook_t pty_hook; vt_screen_t *screen; vt_termcap_ptr_t termcap; ef_parser_t *cc_parser; /* char code parser */ ef_conv_t *cc_conv; /* char code converter */ vt_char_encoding_t encoding; vt_color_t fg_color; vt_color_t bg_color; ef_charset_t cs; vt_xterm_event_listener_t *xterm_listener; vt_config_event_listener_t *config_listener; int log_file; char *win_name; char *icon_name; struct { u_int16_t top; u_int16_t left; u_int16_t bottom; u_int16_t right; } loc_filter; struct { u_int16_t flags; u_int8_t fg[16]; u_int8_t bg[16]; } alt_colors; /* for save/restore cursor */ vt_storable_states_t saved_normal; vt_storable_states_t saved_alternate; vt_saved_names_t saved_win_names; vt_saved_names_t saved_icon_names; vt_drcs_t *drcs; vt_macro_t *macros; u_int num_macros; u_int32_t *sixel_palette; u_int64_t vtmode_flags; u_int64_t saved_vtmode_flags; /* vt_unicode_policy_t */ int8_t unicode_policy; /* vt_mouse_report_mode_t */ int8_t mouse_mode; /* vt_extended_mouse_report_mode_t */ int8_t ext_mouse_mode; /* vt_locator_report_mode_t */ int8_t locator_mode; /* vt_alt_color_mode_t */ int8_t alt_color_mode; u_int8_t col_size_of_width_a; /* 1 or 2 */ /* vt_cursor_style_t */ int8_t cursor_style; /* vt_line_style_t */ int8_t line_style; int8_t modify_cursor_keys; int8_t modify_function_keys; int8_t modify_other_keys; /* Used for non iso2022 encoding */ ef_charset_t gl; ef_charset_t g0; ef_charset_t g1; /* XXX Use (vt_parser->xxxxx ? 1 : 0) in copying these flags to int, otherwise int is -1. */ int is_so : 1; int is_bold : 1; int is_italic : 1; int is_reversed : 1; int is_blinking : 1; int is_invisible : 1; int use_char_combining : 1; int use_multi_col_char : 1; int logging_vt_seq : 1; int is_app_keypad : 1; int is_app_cursor_keys : 1; int is_app_escape : 1; int is_bracketed_paste_mode : 1; int allow_deccolm : 1; int keep_screen_on_deccolm : 1; int want_focus_event : 1; int im_is_active : 1; int sixel_scrolling : 1; int cursor_to_right_of_sixel : 1; int yield : 1; int is_auto_encoding : 1; int use_auto_detect : 1; int is_visible_cursor : 1; int is_protected : 1; int ignore_broadcasted_chars : 1; int set_title_using_hex : 1; int get_title_using_hex : 1; int set_title_using_utf8 : 1; int get_title_using_utf8 : 1; int auto_cr : 1; int bold_affects_bg : 1; int use_ansi_colors : 1; #ifdef USE_VT52 int is_vt52_mode : 1; #endif } vt_parser_t; void vt_set_use_alt_buffer(int use); void vt_set_unicode_noconv_areas(char *areas); void vt_set_full_width_areas(char *areas); void vt_set_use_ttyrec_format(int use); #ifdef USE_LIBSSH2 void vt_set_use_scp_full(int use); #else #define vt_set_use_scp_full(use) (0) #endif void vt_set_timeout_read_pty(u_long timeout); void vt_set_primary_da(char *da); void vt_set_secondary_da(char *da); #define vt_parser_init vt_config_proto_init void vt_parser_final(void); vt_parser_t *vt_parser_new(vt_screen_t *screen, vt_termcap_ptr_t termcap, vt_char_encoding_t encoding, int is_auto_encoding, int use_auto_detect, int logging_vt_seq, vt_unicode_policy_t policy, u_int col_size_a, int use_char_combining, int use_multi_col_char, const char *win_name, const char *icon_name, int use_ansi_colors, vt_alt_color_mode_t alt_color_mode, vt_cursor_style_t cursor_style, int ignore_broadcasted_chars); int vt_parser_delete(vt_parser_t *vt_parser); void vt_parser_set_pty(vt_parser_t *vt_parser, vt_pty_ptr_t pty); void vt_parser_set_xterm_listener(vt_parser_t *vt_parser, vt_xterm_event_listener_t *xterm_listener); void vt_parser_set_config_listener(vt_parser_t *vt_parser, vt_config_event_listener_t *config_listener); int vt_parse_vt100_sequence(vt_parser_t *vt_parser); void vt_reset_pending_vt100_sequence(vt_parser_t *vt_parser); int vt_parser_write_modified_key(vt_parser_t *vt_parser, int key, int modcode); int vt_parser_write_special_key(vt_parser_t *vt_parser, vt_special_key_t key, int modcode, int is_numlock); /* Must be called in visual context. */ int vt_parser_write_loopback(vt_parser_t *vt_parser, const u_char *buf, size_t len); /* Must be called in visual context. */ int vt_parser_show_message(vt_parser_t *vt_parser, char *msg); #if defined(__ANDROID__) || defined(__APPLE__) /* Must be called in visual context. */ int vt_parser_preedit(vt_parser_t *vt_parser, const u_char *buf, size_t len); #endif /* Must be called in visual context. */ int vt_parser_local_echo(vt_parser_t *vt_parser, const u_char *buf, size_t len); int vt_parser_change_encoding(vt_parser_t *vt_parser, vt_char_encoding_t encoding); #define vt_parser_get_encoding(vt_parser) ((vt_parser)->encoding) size_t vt_parser_convert_to(vt_parser_t *vt_parser, u_char *dst, size_t len, ef_parser_t *parser); void vt_init_encoding_parser(vt_parser_t *vt_parser); void vt_init_encoding_conv(vt_parser_t *vt_parser); #define vt_get_window_name(vt_parser) ((vt_parser)->win_name) #define vt_get_icon_name(vt_parser) ((vt_parser)->icon_name) #define vt_parser_set_use_char_combining(vt_parser, use) \ ((vt_parser)->use_char_combining = (use)) #define vt_parser_is_using_char_combining(vt_parser) ((vt_parser)->use_char_combining) #define vt_parser_set_use_multi_col_char(vt_parser, use) \ ((vt_parser)->use_multi_col_char = (use)) #define vt_parser_is_using_multi_col_char(vt_parser) ((vt_parser)->use_multi_col_char) #define vt_parser_get_mouse_report_mode(vt_parser) ((vt_parser)->mouse_mode) #define vt_parser_is_bracketed_paste_mode(vt_parser) \ ((vt_parser)->is_bracketed_paste_mode) #define vt_parser_want_focus_event(vt_parser) ((vt_parser)->want_focus_event) #define vt_parser_set_unicode_policy(vt_parser, policy) \ ((vt_parser)->unicode_policy = (policy)) #define vt_parser_get_unicode_policy(vt_parser) ((vt_parser)->unicode_policy) int vt_set_auto_detect_encodings(char *encodings); int vt_convert_to_internal_ch(vt_parser_t *vt_parser, ef_char_t *ch); #define vt_parser_select_drcs(vt_parser) vt_drcs_select((vt_parser)->drcs) void vt_parser_set_alt_color_mode(vt_parser_t *vt_parser, vt_alt_color_mode_t mode); #define vt_parser_get_alt_color_mode(vt_parser) ((vt_parser)->alt_color_mode) void vt_set_broadcasting(int flag); int vt_parser_is_broadcasting(vt_parser_t *vt_parser); int true_or_false(const char *str); int vt_parser_get_config(vt_parser_t *vt_parser, vt_pty_ptr_t output, char *key, int to_menu, int *flag); int vt_parser_set_config(vt_parser_t *vt_parser, char *key, char *val); int vt_parser_exec_cmd(vt_parser_t *vt_parser, char *cmd); void vt_parser_report_mouse_tracking(vt_parser_t *vt_parser, int col, int row, int button, int is_released, int key_state, int button_state); #define vt_parser_is_visible_cursor(vt_parser) ((vt_parser)->is_visible_cursor) #define vt_parser_get_cursor_style(vt_parser) ((vt_parser)->cursor_style) #endif mlterm-3.8.4/vtemu/vt_normalize.m010064400017600000144000000012401321054731100155450ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifdef __APPLE__ #include /* --- global functions --- */ int vt_normalize(UniChar* str, int num) { static CFMutableStringRef mutable_str; if (!mutable_str) { mutable_str = CFStringCreateMutable(kCFAllocatorDefault, 0); } CFStringAppendCharacters(mutable_str, str, num); CFStringNormalize(mutable_str, kCFStringNormalizationFormC); if ((num = CFStringGetLength(mutable_str)) == 1) { /* Normalized */ CFStringGetCharacters(mutable_str, CFRangeMake(0, 1), str); } CFStringDelete(mutable_str, CFRangeMake(0, num)); return num; } #endif mlterm-3.8.4/vtemu/vt_parser.c010064400017600000144000006075541321054731200150540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_parser.h" #include /* sprintf */ #include /* memmove */ #include /* atoi */ #include /* open */ #include /* write/getcwd */ #include /* gettimeofday */ #include /* clock */ #ifdef DEBUG #include /* va_list */ #endif #include #include /* malloc/free */ #include /* DIGIT_STR_LEN */ #include /* bl_get_user_rc_path */ #include /* bl_str_alloca_dup */ #include #include /* bl_usleep */ #include /* bl_get_locale */ #include /* ef_map_to_ucs4 */ #include #include #include #include "vt_iscii.h" #include "vt_str_parser.h" #include "vt_shape.h" /* vt_is_arabic_combining */ #include "vt_util.h" #if defined(__CYGWIN__) || defined(__MSYS__) #include "cygfile.h" #endif /* * kterm BUF_SIZE in ptyx.h is 4096. */ #define PTY_RD_BUFFER_SIZE 3072 #define CTL_BEL 0x07 #define CTL_BS 0x08 #define CTL_TAB 0x09 #define CTL_LF 0x0a #define CTL_VT 0x0b #define CTL_FF 0x0c #define CTL_CR 0x0d #define CTL_SO 0x0e #define CTL_SI 0x0f #define CTL_ESC 0x1b #define CURRENT_STR_P(vt_parser) \ ((vt_parser)->r_buf.chars + (vt_parser)->r_buf.filled_len - (vt_parser)->r_buf.left) #define HAS_XTERM_LISTENER(vt_parser, method) \ ((vt_parser)->xterm_listener && ((vt_parser)->xterm_listener->method)) #define HAS_CONFIG_LISTENER(vt_parser, method) \ ((vt_parser)->config_listener && ((vt_parser)->config_listener->method)) #if 1 #define MAX_PS_DIGIT 0xffff #endif #if 0 #define EDIT_DEBUG #endif #if 0 #define EDIT_ROUGH_DEBUG #endif #if 0 #define INPUT_DEBUG #endif #if 0 #define ESCSEQ_DEBUG #endif #if 0 #define OUTPUT_DEBUG #endif #if 0 #define DUMP_HEX #endif #if 0 #define SUPPORT_VTE_CJK_WIDTH #endif #ifndef NO_IMAGE #define SUPPORT_ITERM2_OSC1337 #endif /* If u_int64_t is defined as 32 bit (unsigned long), 1 << (32 or larger) is ignored. */ static u_int64_t true64 = 1; #define SHIFT_FLAG64(mode) ((sizeof(true64) < 8 && (mode) >= 32) ? 0 : (true64 << (mode))) #define INITIAL_VTMODE_FLAGS \ SHIFT_FLAG64(DECMODE_2) | /* is_vt52_mode == 0 */ \ SHIFT_FLAG64(DECMODE_7) | /* auto_wrap == 1 (compatible with xterm, not with VT220) */ \ SHIFT_FLAG64(DECMODE_25) | /* is_visible_cursor == 1 */ \ SHIFT_FLAG64(VTMODE_12); /* local echo is false */ #define VTMODE(mode) ((mode) + 10000) /* * If VTMODE_NUM >= 64, enlarge the size of vt_parser_t::vtmode_flags. * See get_initial_vtmode_flags() to check initial values of these modes. */ typedef enum { /* DECSET/DECRST */ DECMODE_1 = 0, DECMODE_2, DECMODE_3, DECMODE_5, DECMODE_6, DECMODE_7, DECMODE_25, DECMODE_40, DECMODE_47, DECMODE_66, DECMODE_67, DECMODE_69, DECMODE_80, DECMODE_95, DECMODE_116, DECMODE_117, DECMODE_1000, DECMODE_1002, /* Don't add an entry between 1000 and 1002 (see set_vtmode()) */ DECMODE_1003, DECMODE_1004, DECMODE_1005, DECMODE_1006, DECMODE_1015, /* Don't add an entry between 1006 and 1015 (see set_vtmode()) */ DECMODE_1042, DECMODE_1047, DECMODE_1048, DECMODE_1049, DECMODE_2004, DECMODE_7727, DECMODE_8428, DECMODE_8452, DECMODE_8800, /* SM/RM */ VTMODE_2, VTMODE_4, VTMODE_12, VTMODE_20, VTMODE_33, VTMODE_34, VTMODE_NUM, } vtmode_t; typedef struct area { u_int32_t min; u_int32_t max; } area_t; /* --- static variables --- */ static u_int16_t vtmodes[] = { /* DECSET/DECRST */ 1, 2, 3, 5, 6, 7, 25, 40, 47, 66, 67, 69, 80, 95, 116, 117, 1000, 1002, /* Don't add an entry between 1000 and 1002 (see set_vtmode()) */ 1003, 1004, 1005, 1006, 1015, /* Don't add an entry between 1006 and 1015 (see set_vtmode()) */ 1042, 1047, 1048, 1049, 2004, 7727, 8428, 8452, 8800, /* SM/RM */ VTMODE(2), VTMODE(4), VTMODE(12), VTMODE(20), VTMODE(33), VTMODE(34), }; static int use_alt_buffer = 1; static area_t *unicode_noconv_areas; static u_int num_unicode_noconv_areas; static area_t *full_width_areas; static u_int num_full_width_areas; static char *auto_detect_encodings; static struct { vt_char_encoding_t encoding; ef_parser_t *parser; } * auto_detect; static u_int auto_detect_count; static int use_ttyrec_format; static clock_t timeout_read_pty = CLOCKS_PER_SEC / 100; /* 0.01 sec */ static char *primary_da; static char *secondary_da; static int is_broadcasting; #ifdef USE_LIBSSH2 static int use_scp_full; #endif static u_int8_t alt_color_idxs[] = { 0, 1, 2, 4, 8, 3, 5, 9, 6, 10, 12, 7, 11, 13, 14, 15, } ; /* --- static functions --- */ #ifdef DEBUG static void debug_print_unknown(const char *format, ...) { va_list arg_list; va_start(arg_list, format); fprintf(stderr, BL_DEBUG_TAG " received unknown sequence "); vfprintf(stderr, format, arg_list); } #endif /* XXX This function should be moved to pobl */ static void str_replace(char *str, int c1, int c2) { while (*str) { if (*str == c1) { *str = c2; } str++; } } static area_t *set_area_to_table(area_t *area_table, u_int *num, char *areas) { char *area; if (areas == NULL || *areas == '\0') { free(area_table); *num = 0; return NULL; } else { void *p; if (!(p = realloc(area_table, sizeof(*area_table) * (bl_count_char_in_str(areas, ',') + 2)))) { return area_table; } area_table = p; } *num = 0; while ((area = bl_str_sep(&areas, ","))) { u_int min; u_int max; if (vt_parse_unicode_area(area, &min, &max)) { u_int count; for (count = 0; count < *num; count++) { if (area_table[count].min <= min && area_table[count].max >= max) { break; } if (min <= area_table[count].min && max >= area_table[count].max) { area_table[count].min = min; area_table[count].max = max; break; } } if (count == *num) { area_table[*num].min = min; area_table[(*num)++].max = max; } } } #ifdef __DEBUG { u_int count; for (count = 0; count < *num; count++) { bl_debug_printf("AREA %d-%d\n", area_table[count].min, area_table[count].max); } } #endif return area_table; } static void response_area_table(vt_pty_ptr_t pty, u_char *key, area_t *area_table, u_int num, int to_menu) { u_char *value; /* 20: U+FFFFFFFF-FFFFFFFF, */ if (num > 0 && (value = alloca(20 * num))) { u_int count; u_char *p; p = value; count = 0; while (1) { sprintf(p, area_table[count].min == area_table[count].max ? "U+%x" : "U+%x-%x", area_table[count].min, area_table[count].max); p += strlen(p); if (++count < num) { *(p++) = ','; } else { break; } } } else { value = ""; } vt_response_config(pty, key, value, to_menu); } static inline int is_noconv_unicode(u_char *ch) { if (unicode_noconv_areas || ch[2] == 0x20) { u_int count; u_int32_t code; code = ef_bytes_to_int(ch, 4); for (count = 0; count < num_unicode_noconv_areas; count++) { if (unicode_noconv_areas[count].min <= code && code <= unicode_noconv_areas[count].max) { return 1; } } /* * Don't convert these characters in order not to show them. * see vt_char_cols(). */ if ((0x200c <= code && code <= 0x200f) || (0x202a <= code && code <= 0x202e)) { return 1; } } return 0; } static inline ef_property_t modify_ucs_property(u_int32_t code, ef_property_t prop) { if (full_width_areas && !(prop & EF_FULLWIDTH)) { u_int count; for (count = 0; count < num_full_width_areas; count++) { if (full_width_areas[count].min <= code && code <= full_width_areas[count].max) { return (prop & ~EF_AWIDTH) | EF_FULLWIDTH; } } } return prop; } static inline ef_property_t get_ucs_property(u_int32_t code) { return modify_ucs_property(code, ef_get_ucs_property(code)); } static void start_vt100_cmd(vt_parser_t *vt_parser, int trigger_xterm_event /* dispatch to x_screen or not. */ ) { vt_set_use_multi_col_char(vt_parser->use_multi_col_char); if (trigger_xterm_event && HAS_XTERM_LISTENER(vt_parser, start)) { /* * XXX Adhoc implementation. * Converting visual -> logical in xterm_listener->start. */ (*vt_parser->xterm_listener->start)(vt_parser->xterm_listener->self); } else { vt_screen_logical(vt_parser->screen); } } static void stop_vt100_cmd(vt_parser_t *vt_parser, int trigger_xterm_event /* dispatch to x_screen or not. */ ) { vt_screen_render(vt_parser->screen); vt_screen_visual(vt_parser->screen); if (trigger_xterm_event && HAS_XTERM_LISTENER(vt_parser, stop)) { (*vt_parser->xterm_listener->stop)(vt_parser->xterm_listener->self); } } static void interrupt_vt100_cmd(vt_parser_t *vt_parser) { if (HAS_XTERM_LISTENER(vt_parser, interrupt)) { vt_screen_render(vt_parser->screen); vt_screen_visual(vt_parser->screen); (*vt_parser->xterm_listener->interrupt)(vt_parser->xterm_listener->self); vt_screen_logical(vt_parser->screen); } } static int change_read_buffer_size(vt_read_buffer_t *r_buf, size_t len) { void *p; if (!(p = realloc(r_buf->chars, len))) { return 0; } r_buf->chars = p; r_buf->len = len; /* * Not check if r_buf->left and r_buf->filled_len is larger than r_buf->len. * It should be checked before calling this function. */ return 1; } static char* get_now_suffix(char *now /* 16 bytes */) { time_t t; struct tm *tm; time(&t); tm = localtime(&t); sprintf(now, "-%04d%02d%02d%02d%02d%02d", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec); return now; } static char *get_home_file_path(const char *prefix, const char *name, const char *suffix) { char *file_name; if (!(file_name = alloca(7 + strlen(prefix) + 1 + strlen(name) + 1 + strlen(suffix) + 1))) { return NULL; } sprintf(file_name, "mlterm/%s%s.%s", prefix, name, suffix); str_replace(file_name + 7, '/', '_'); return bl_get_user_rc_path(file_name); } /* * 0: Error * 1: No error * >=2: Probable */ static int parse_string(ef_parser_t *cc_parser, u_char *str, size_t len) { ef_char_t ch; int ret; u_int nfull; u_int nkana; ret = 1; nfull = 0; nkana = 0; (*cc_parser->init)(cc_parser); (*cc_parser->set_str)(cc_parser, str, len); while (1) { if (!(*cc_parser->next_char)(cc_parser, &ch)) { if (cc_parser->is_eos) { if (nkana * 8 > nfull) { /* kana is over 12.5%. */ ret = 2; } return ret; } else { if (((str[len - cc_parser->left]) & 0x7f) <= 0x1f) { /* skip C0 or C1 */ ef_parser_increment(cc_parser); } else { return 0; } } } else if (ch.size > 1) { if (ch.cs == ISO10646_UCS4_1) { if (ret == 1 && ch.property == EF_FULLWIDTH) { ret = 2; } } else { if (IS_CS94MB(ch.cs)) { if (ch.ch[0] <= 0x20 || ch.ch[0] == 0x7f || ch.ch[1] <= 0x20 || ch.ch[1] == 0x7f) { /* mef can return illegal character code. */ return 0; } else if (ret == 1 && (ch.cs == JISX0208_1983 || ch.cs == JISC6226_1978 || ch.cs == JISX0213_2000_1) && (ch.ch[0] == 0x24 || ch.ch[0] == 0x25) && 0x21 <= ch.ch[1] && ch.ch[1] <= 0x73) { /* Hiragana/Katakana */ nkana++; } } nfull++; } } } } /* Check auto_detect_count > 0 before calling this function. */ static void detect_encoding(vt_parser_t *vt_parser) { u_char *str; size_t len; size_t count; u_int idx; int cur_idx; int cand_idx; int threshold; str = vt_parser->r_buf.chars; len = vt_parser->r_buf.filled_len; for (count = 0; count < len - 1; count++) { if (str[count] >= 0x80 && str[count + 1] >= 0x80) { goto detect; } } return; detect: cur_idx = -1; threshold = 0; for (idx = 0; idx < auto_detect_count; idx++) { if (auto_detect[idx].encoding == vt_parser->encoding) { if ((threshold = parse_string(auto_detect[idx].parser, str, len)) > 1) { return; } cur_idx = idx; break; } } cand_idx = -1; for (idx = 0; idx < auto_detect_count; idx++) { int ret; if (idx != cur_idx && (ret = parse_string(auto_detect[idx].parser, str, len)) > threshold) { cand_idx = idx; if (ret > 1) { break; } } } if (cand_idx >= 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Character encoding is changed to %s.\n", vt_get_char_encoding_name(auto_detect[cand_idx].encoding)); #endif vt_parser_change_encoding(vt_parser, auto_detect[cand_idx].encoding); } } inline static int is_dcs_or_osc(u_char *str /* The length should be 2 or more. */ ) { return *str == 0x90 || memcmp(str, "\x1bP", 2) == 0 || memcmp(str, "\x1b]", 2) == 0; } static void write_ttyrec_header(int fd, size_t len, int keep_time) { u_int32_t buf[3]; #ifdef HAVE_GETTIMEOFDAY if (!keep_time) { struct timeval tval; gettimeofday(&tval, NULL); #ifdef WORDS_BIGENDIAN buf[0] = LE32DEC(((u_char *)&tval.tv_sec)); buf[1] = LE32DEC(((u_char *)&tval.tv_usec)); buf[2] = LE32DEC(((u_char *)&len)); #else buf[0] = tval.tv_sec; buf[1] = tval.tv_usec; buf[2] = len; #endif #if __DEBUG bl_debug_printf("write len %d at %d\n", len, lseek(fd, 0, SEEK_CUR)); #endif write(fd, buf, 12); } else #endif { lseek(fd, 8, SEEK_CUR); #ifdef WORDS_BIGENDIAN buf[0] = LE32DEC(((u_char *)&len)); #else buf[0] = len; #endif write(fd, buf, 4); } } static int receive_bytes(vt_parser_t *vt_parser) { size_t len; if (vt_parser->r_buf.left == vt_parser->r_buf.len) { /* Buffer is full => Expand buffer */ len = vt_parser->r_buf.len >= PTY_RD_BUFFER_SIZE * 5 ? PTY_RD_BUFFER_SIZE * 10 : PTY_RD_BUFFER_SIZE; if (!change_read_buffer_size(&vt_parser->r_buf, vt_parser->r_buf.len + len)) { return 0; } } else { if (0 < vt_parser->r_buf.left && vt_parser->r_buf.left < vt_parser->r_buf.filled_len) { memmove(vt_parser->r_buf.chars, CURRENT_STR_P(vt_parser), vt_parser->r_buf.left * sizeof(u_char)); } /* vt_parser->r_buf.left must be always less than vt_parser->r_buf.len */ if ((len = vt_parser->r_buf.len - vt_parser->r_buf.left) > PTY_RD_BUFFER_SIZE && !is_dcs_or_osc(vt_parser->r_buf.chars)) { len = PTY_RD_BUFFER_SIZE; } } if ((vt_parser->r_buf.new_len = vt_read_pty( vt_parser->pty, vt_parser->r_buf.chars + vt_parser->r_buf.left, len)) == 0) { vt_parser->r_buf.filled_len = vt_parser->r_buf.left; return 0; } if (vt_parser->logging_vt_seq) { if (vt_parser->log_file == -1) { char *path; char buf[16]; if (!(path = get_home_file_path(vt_pty_get_slave_name(vt_parser->pty) + 5, get_now_suffix(buf), "log"))) { goto end; } if ((vt_parser->log_file = open(path, O_CREAT | O_WRONLY, 0600)) == -1) { free(path); goto end; } free(path); /* * O_APPEND in open() forces lseek(0,SEEK_END) in write() * and disables lseek(pos,SEEK_SET) before calling write(). * So don't specify O_APPEND in open() and call lseek(0,SEEK_END) * manually after open(). */ lseek(vt_parser->log_file, 0, SEEK_END); bl_file_set_cloexec(vt_parser->log_file); if (use_ttyrec_format) { char seq[6 + DIGIT_STR_LEN(int)*2 + 1]; /* The height of "CSI 8 t" doesn't include status line. */ sprintf(seq, "\x1b[8;%d;%dt", vt_screen_get_logical_rows(vt_parser->screen), vt_screen_get_logical_cols(vt_parser->screen)); write_ttyrec_header(vt_parser->log_file, strlen(seq), 0); write(vt_parser->log_file, seq, strlen(seq)); } } if (use_ttyrec_format) { if (vt_parser->r_buf.left > 0) { lseek(vt_parser->log_file, lseek(vt_parser->log_file, 0, SEEK_CUR) - vt_parser->r_buf.filled_len - 12, SEEK_SET); if (vt_parser->r_buf.left < vt_parser->r_buf.filled_len) { write_ttyrec_header(vt_parser->log_file, vt_parser->r_buf.filled_len - vt_parser->r_buf.left, 1); lseek(vt_parser->log_file, lseek(vt_parser->log_file, 0, SEEK_CUR) + vt_parser->r_buf.filled_len - vt_parser->r_buf.left, SEEK_SET); } } write_ttyrec_header(vt_parser->log_file, vt_parser->r_buf.left + vt_parser->r_buf.new_len, 0); write(vt_parser->log_file, vt_parser->r_buf.chars, vt_parser->r_buf.left + vt_parser->r_buf.new_len); } else { write(vt_parser->log_file, vt_parser->r_buf.chars + vt_parser->r_buf.left, vt_parser->r_buf.new_len); } #ifndef USE_WIN32API fsync(vt_parser->log_file); #endif } else { if (vt_parser->log_file != -1) { close(vt_parser->log_file); vt_parser->log_file = -1; } } end: vt_parser->r_buf.filled_len = (vt_parser->r_buf.left += vt_parser->r_buf.new_len); if (vt_parser->r_buf.filled_len <= PTY_RD_BUFFER_SIZE) { /* Shrink buffer */ change_read_buffer_size(&vt_parser->r_buf, PTY_RD_BUFFER_SIZE); } if (vt_parser->use_auto_detect && auto_detect_count > 0) { detect_encoding(vt_parser); } #ifdef INPUT_DEBUG { size_t count; bl_debug_printf(BL_DEBUG_TAG " pty msg (len %d) is received:", vt_parser->r_buf.left); for (count = 0; count < vt_parser->r_buf.left; count++) { #ifdef DUMP_HEX if (isprint(vt_parser->r_buf.chars[count])) { bl_msg_printf("%c ", vt_parser->r_buf.chars[count]); } else { bl_msg_printf("%.2x ", vt_parser->r_buf.chars[count]); } #else bl_msg_printf("%c", vt_parser->r_buf.chars[count]); #endif } bl_msg_printf("[END]\n"); } #endif return 1; } /* * If buffer exists, vt_parser->w_buf.last_ch is cached. * If buffer doesn't exist, vt_parser->w_buf.last_ch is cleared. */ static int flush_buffer(vt_parser_t *vt_parser) { vt_write_buffer_t *buffer; buffer = &vt_parser->w_buf; if (buffer->filled_len == 0) { /* last_ch is cleared. */ buffer->last_ch = NULL; return 0; } #ifdef OUTPUT_DEBUG { u_int count; bl_msg_printf("\nflushing chars(%d)...==>", buffer->filled_len); for (count = 0; count < buffer->filled_len; count++) { char *bytes; bytes = vt_char_code(&buffer->chars[count]); if (vt_char_size(&buffer->chars[count]) == 2) { #ifdef DUMP_HEX bl_msg_printf("%x%x", bytes[0] | 0x80, bytes[1] | 0x80); #else bl_msg_printf("%c%c", bytes[0] | 0x80, bytes[1] | 0x80); #endif } else { #ifdef DUMP_HEX bl_msg_printf("%x", bytes[0]); #else bl_msg_printf("%c", bytes[0]); #endif } } bl_msg_printf("<===\n"); } #endif (*buffer->output_func)(vt_parser->screen, buffer->chars, buffer->filled_len); /* last_ch which will be used & cleared in REP sequence is cached. */ buffer->last_ch = &buffer->chars[buffer->filled_len - 1]; /* buffer is cleared. */ buffer->filled_len = 0; #ifdef EDIT_DEBUG vt_edit_dump(vt_parser->screen->edit); #endif return 1; } static void put_char(vt_parser_t *vt_parser, u_int32_t ch, ef_charset_t cs, ef_property_t prop) { vt_color_t fg_color; vt_color_t bg_color; int is_fullwidth; int is_comb; int is_bold; int is_italic; int line_style; int is_blinking; int is_protected; if (vt_parser->w_buf.filled_len == PTY_WR_BUFFER_SIZE) { flush_buffer(vt_parser); } /* * checking width property of the char. */ is_fullwidth = 0; if (prop & EF_FULLWIDTH) { is_fullwidth = 1; } else if (prop & EF_AWIDTH) { #ifdef SUPPORT_VTE_CJK_WIDTH char *env; #endif if (vt_parser->col_size_of_width_a == 2) { is_fullwidth = 1; } #ifdef SUPPORT_VTE_CJK_WIDTH else if ((env = getenv("VTE_CJK_WIDTH")) && (strcmp(env, "wide") == 0 || strcmp(env, "1") == 0)) { is_fullwidth = 1; } #endif } #ifdef __DEBUG bl_debug_printf("%x %d %x => %s\n", ch, len, cs, is_fullwidth ? "Fullwidth" : "Single"); #endif if ((prop & EF_COMBINING) #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) || (ch == '\xe9' && IS_ISCII(cs)) /* nukta is always combined. */ #endif ) { is_comb = 1; } else { is_comb = 0; } fg_color = vt_parser->fg_color; bg_color = vt_parser->bg_color; is_italic = vt_parser->is_italic ? 1 : 0; is_blinking = vt_parser->is_blinking ? 1 : 0; is_protected = vt_parser->is_protected ? 1 : 0; line_style = vt_parser->line_style; if (cs == ISO10646_UCS4_1 && 0x2580 <= ch && ch <= 0x259f) { /* prevent these block characters from being drawn doubly. */ is_bold = 0; } else { is_bold = vt_parser->is_bold ? 1 : 0; } if (fg_color == VT_FG_COLOR) { if (is_italic && (vt_parser->alt_color_mode & ALT_COLOR_ITALIC)) { is_italic = 0; fg_color = VT_ITALIC_COLOR; } if ((line_style & LS_CROSSED_OUT) && (vt_parser->alt_color_mode & ALT_COLOR_CROSSED_OUT)) { line_style &= ~LS_CROSSED_OUT; fg_color = VT_CROSSED_OUT_COLOR; } if (is_blinking && (vt_parser->alt_color_mode & ALT_COLOR_BLINKING)) { is_blinking = 0; fg_color = VT_BLINKING_COLOR; } if ((line_style & LS_UNDERLINE) && (vt_parser->alt_color_mode & ALT_COLOR_UNDERLINE)) { line_style &= ~LS_UNDERLINE; fg_color = VT_UNDERLINE_COLOR; } if (is_bold && (vt_parser->alt_color_mode & ALT_COLOR_BOLD)) { is_bold = 0; fg_color = VT_BOLD_COLOR; } } else { if (is_bold) { if (IS_VTSYS_BASE_COLOR(fg_color)) { fg_color |= VT_BOLD_COLOR_MASK; } if (vt_parser->bold_affects_bg && IS_VTSYS_BASE_COLOR(bg_color)) { bg_color |= VT_BOLD_COLOR_MASK; } } } if (vt_parser->is_reversed) { vt_color_t tmp = bg_color; bg_color = fg_color; fg_color = tmp; } if (vt_parser->alt_colors.flags) { int idx = is_bold | ((vt_parser->is_reversed ? 1 : 0) << 1) | ((line_style & LS_UNDERLINE) ? 4 : 0) | (is_blinking << 3); if (/* idx < 16 && */ (vt_parser->alt_colors.flags & (1 << idx))) { fg_color = vt_parser->alt_colors.fg[idx]; bg_color = vt_parser->alt_colors.bg[idx]; } } /* * 2.9.2 Alternate Text Colors in VT520-VT525ProgrammerInformation.pdf * "The foreground color of text with the invisible attribute becomes the background color." */ if (vt_parser->is_invisible) { fg_color = bg_color; } if (vt_parser->use_char_combining && is_comb) { if (vt_parser->w_buf.filled_len == 0) { /* * vt_line_set_modified() is done in vt_screen_combine_with_prev_char() * internally. */ if (vt_screen_combine_with_prev_char(vt_parser->screen, ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected)) { return; } } else { if (vt_char_combine(&vt_parser->w_buf.chars[vt_parser->w_buf.filled_len - 1], ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected)) { return; } } /* * if combining failed , char is normally appended. */ } vt_char_set(&vt_parser->w_buf.chars[vt_parser->w_buf.filled_len++], ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected); if (cs != ISO10646_UCS4_1) { return; } if (0x1f000 <= ch && ch <= 0x1f6ff && HAS_XTERM_LISTENER(vt_parser, get_emoji_data)) { /* * Emoji pictures (mostly U+1F000-1F6FF) provided by * http://github.com/githuub/gemoji */ vt_char_t *emoji1; vt_char_t *emoji2; emoji1 = &vt_parser->w_buf.chars[vt_parser->w_buf.filled_len - 1]; emoji2 = NULL; if (0x1f1e6 <= ch && ch <= 0x1f1ff) { vt_char_t *prev_ch; if (vt_parser->w_buf.filled_len <= 1) { prev_ch = vt_screen_get_n_prev_char(vt_parser->screen, 1); } else { prev_ch = emoji1 - 1; } if (prev_ch) { if (0x1f1e6 <= vt_char_code(prev_ch) && vt_char_code(prev_ch) <= 0x1f1ff) { emoji2 = emoji1; emoji1 = prev_ch; } } } if ((*vt_parser->xterm_listener->get_emoji_data)(vt_parser->xterm_listener->self, emoji1, emoji2)) { if (emoji2) { /* Base char: emoji1, Comb1: picture, Comb2: emoji2 */ if (emoji2 == emoji1 + 1) { vt_char_combine(emoji1, ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected); } else { /* * vt_line_set_modified() is done in * vt_screen_combine_with_prev_char() internally. */ vt_screen_combine_with_prev_char(vt_parser->screen, ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected); } vt_parser->w_buf.filled_len--; } /* * Flush buffer before searching and deleting unused pictures * in x_picture.c. */ flush_buffer(vt_parser); } } else if (vt_parser->use_char_combining) { /* * Arabic combining */ vt_char_t *prev2; vt_char_t *prev; vt_char_t *cur; int n; cur = &vt_parser->w_buf.chars[vt_parser->w_buf.filled_len - 1]; n = 0; if (vt_parser->w_buf.filled_len >= 2) { prev = cur - 1; } else { if (!(prev = vt_screen_get_n_prev_char(vt_parser->screen, ++n))) { return; } } if (vt_parser->w_buf.filled_len >= 3) { prev2 = cur - 2; } else { /* possibly NULL */ prev2 = vt_screen_get_n_prev_char(vt_parser->screen, ++n); } if (IS_ARABIC_CHAR(ch) && vt_is_arabic_combining(prev2, prev, cur)) { if (vt_parser->w_buf.filled_len >= 2) { if (vt_char_combine(prev, ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected)) { vt_parser->w_buf.filled_len--; } } else { /* * vt_line_set_modified() is done in * vt_screen_combine_with_prev_char() internally. */ if (vt_screen_combine_with_prev_char(vt_parser->screen, ch, cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, is_italic, line_style, is_blinking, is_protected)) { vt_parser->w_buf.filled_len--; } } } } } static void push_to_saved_names(vt_saved_names_t *saved, char *name) { void *p; if (!(p = realloc(saved->names, (saved->num + 1) * sizeof(name)))) { return; } saved->names = p; saved->names[saved->num++] = name ? strdup(name) : NULL; } static char *pop_from_saved_names(vt_saved_names_t *saved) { char *name; name = saved->names[--saved->num]; if (saved->num == 0) { free(saved->names); saved->names = NULL; } return name; } /* * VT100_PARSER Escape Sequence Commands. */ static void save_cursor(vt_parser_t *vt_parser) { vt_storable_states_t *dest; dest = (vt_screen_is_alternative_edit(vt_parser->screen)) ? &(vt_parser->saved_alternate) : &(vt_parser->saved_normal); dest->is_saved = 1; dest->fg_color = vt_parser->fg_color; dest->bg_color = vt_parser->bg_color; dest->is_bold = vt_parser->is_bold; dest->is_italic = vt_parser->is_italic; dest->line_style = vt_parser->line_style; dest->is_reversed = vt_parser->is_reversed; dest->is_blinking = vt_parser->is_blinking; dest->is_invisible = vt_parser->is_invisible; dest->cs = vt_parser->cs; vt_screen_save_cursor(vt_parser->screen); } static void restore_cursor(vt_parser_t *vt_parser) { vt_storable_states_t *src; src = (vt_screen_is_alternative_edit(vt_parser->screen)) ? &(vt_parser->saved_alternate) : &(vt_parser->saved_normal); if (src->is_saved) { vt_parser->fg_color = src->fg_color; vt_screen_set_bce_fg_color(vt_parser->screen, src->fg_color); vt_parser->bg_color = src->bg_color; vt_screen_set_bce_bg_color(vt_parser->screen, src->bg_color); vt_parser->is_bold = src->is_bold; vt_parser->is_italic = src->is_italic; vt_parser->line_style = src->line_style; vt_parser->is_reversed = src->is_reversed; vt_parser->is_blinking = src->is_blinking; vt_parser->is_invisible = src->is_invisible; if (IS_ENCODING_BASED_ON_ISO2022(vt_parser->encoding)) { if ((src->cs == DEC_SPECIAL) && (src->cs != vt_parser->cs)) { /* force grapchics mode by sending \E(0 to current parser*/ u_char DEC_SEQ[] = {CTL_ESC, '(', '0'}; ef_char_t ch; ef_parser_t *parser; vt_init_encoding_parser(vt_parser); parser = vt_parser->cc_parser; (*parser->set_str)(parser, DEC_SEQ, sizeof(DEC_SEQ)); (*parser->next_char)(parser, &ch); } } else { /* XXX: what to do for g0/g1? */ if (src->cs == DEC_SPECIAL) { vt_parser->gl = DEC_SPECIAL; } else { vt_parser->gl = US_ASCII; } } } vt_screen_restore_cursor(vt_parser->screen); } static void set_maximize(vt_parser_t *vt_parser, int flag) { if (HAS_XTERM_LISTENER(vt_parser, resize)) { stop_vt100_cmd(vt_parser, 0); (*vt_parser->xterm_listener->resize)(vt_parser->xterm_listener->self, 0, 0, flag); start_vt100_cmd(vt_parser, 0); } } static void resize(vt_parser_t *vt_parser, u_int width, u_int height, int by_char) { if (HAS_XTERM_LISTENER(vt_parser, resize)) { if (by_char) { /* * XXX Not compatible with xterm. * width(cols) or height(rows) == 0 means full screen width * or height in xterm. * Note that vt_parser depends on following behavior. */ if (width == 0) { width = vt_screen_get_logical_cols(vt_parser->screen); } if (height == 0) { height = vt_screen_get_logical_rows(vt_parser->screen); } /* * 'height' argument of this function should includes status line according to * the following document, but teraterm (4.95) excludes status line by CSI 8 t. * mlterm considers height of "CSI t", "OSC 5379;geometry", DECSNLS and DECSLPP * to be excluding status line. * * https://vt100.net/docs/vt510-rm/DECSNLS.html * The terminal supports three different font heights, which allows 26, 42, or 53 data * lines to be displayed on the screen or 25, 41, or 52 data lines to be displayed on * the screen, plus a status line. */ if (vt_screen_has_status_line(vt_parser->screen)) { height ++; } vt_screen_resize(vt_parser->screen, width, height); /* * xterm_listener::resize(0,0) means that screen should be * resized according to the size of pty. */ width = 0; height = 0; } stop_vt100_cmd(vt_parser, 0); (*vt_parser->xterm_listener->resize)(vt_parser->xterm_listener->self, width, height, 0); start_vt100_cmd(vt_parser, 0); } } static void reverse_video(vt_parser_t *vt_parser, int flag) { if (HAS_XTERM_LISTENER(vt_parser, reverse_video)) { stop_vt100_cmd(vt_parser, 0); (*vt_parser->xterm_listener->reverse_video)(vt_parser->xterm_listener->self, flag); start_vt100_cmd(vt_parser, 0); } } static void set_mouse_report(vt_parser_t *vt_parser, vt_mouse_report_mode_t mode) { if (HAS_XTERM_LISTENER(vt_parser, set_mouse_report)) { /* * If xterm_set_mouse_report() calls x_stop_selecting() etc, * remove #if 0 - #end. * * If #if 0 - #end is removed, ctl_render() is at least twice * in one sequence packet from w3m because w3m sends CSI?1000h every time. */ #if 0 stop_vt100_cmd(vt_parser, 0); #endif vt_parser->mouse_mode = mode; (*vt_parser->xterm_listener->set_mouse_report)(vt_parser->xterm_listener->self); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } static void request_locator(vt_parser_t *vt_parser) { if (HAS_XTERM_LISTENER(vt_parser, request_locator)) { vt_mouse_report_mode_t orig; #if 0 stop_vt100_cmd(vt_parser, 0); #endif if (vt_parser->mouse_mode < LOCATOR_CHARCELL_REPORT) { orig = vt_parser->mouse_mode; vt_parser->mouse_mode = LOCATOR_CHARCELL_REPORT; } else { orig = 0; } vt_parser->locator_mode |= LOCATOR_REQUEST; (*vt_parser->xterm_listener->request_locator)(vt_parser->xterm_listener->self); vt_parser->locator_mode |= LOCATOR_REQUEST; if (orig) { orig = vt_parser->mouse_mode; } #if 0 start_vt100_cmd(vt_parser, 0); #endif } } static char *parse_title(vt_parser_t *vt_parser, char *src /* the caller should allocated */) { size_t len; ef_parser_t *parser; vt_char_encoding_t src_encoding; ef_char_t ch; u_int num_chars; vt_char_encoding_t dst_encoding; char *dst; if (src == NULL) { return NULL; } dst = NULL; len = strlen(src); if (vt_parser->set_title_using_hex) { if (!(len = vt_hex_decode(src, src, len))) { #ifdef DEBUG bl_debug_printf("Failed to decode %s as hex string.\n", src); #endif goto end; } src[len] = '\0'; } if (vt_parser->set_title_using_utf8 ? vt_parser->encoding == VT_UTF8 : 1) { parser = vt_parser->cc_parser; src_encoding = vt_parser->encoding; } else { if (!(parser = vt_char_encoding_parser_new(VT_UTF8))) { goto end; } src_encoding = VT_UTF8; } (*parser->init)(parser); (*parser->set_str)(parser, src, len); num_chars = 0; while ((*parser->next_char)(parser, &ch)) { if ((ef_bytes_to_int(ch.ch, ch.size) & ~0x80) < 0x20) { #ifdef DEBUG bl_debug_printf("%s which contains control characters is ignored for window title.\n", src); #endif goto end; } num_chars++; } /* locale encoding */ dst_encoding = vt_get_char_encoding("auto"); if (src_encoding == dst_encoding) { return src; } if ((dst = malloc(num_chars * UTF_MAX_SIZE + 1))) { (*parser->init)(parser); (*parser->set_str)(parser, src, len); len = vt_char_encoding_convert_with_parser(dst, num_chars * UTF_MAX_SIZE, dst_encoding, parser); dst[len] = '\0'; if (parser != vt_parser->cc_parser) { (*parser->delete)(parser); } } end: free(src); return dst; } static void set_window_name(vt_parser_t *vt_parser, u_char *name /* should be malloc'ed or NULL. */ ) { free(vt_parser->win_name); vt_parser->win_name = name; if (HAS_XTERM_LISTENER(vt_parser, set_window_name)) { #if 0 stop_vt100_cmd(vt_parser, 0); #endif (*vt_parser->xterm_listener->set_window_name)(vt_parser->xterm_listener->self, name); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } static void set_icon_name(vt_parser_t *vt_parser, u_char *name /* should be malloc'ed or NULL. */ ) { free(vt_parser->icon_name); vt_parser->icon_name = name; if (HAS_XTERM_LISTENER(vt_parser, set_icon_name)) { #if 0 stop_vt100_cmd(vt_parser, 0); #endif (*vt_parser->xterm_listener->set_icon_name)(vt_parser->xterm_listener->self, name); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } static void switch_im_mode(vt_parser_t *vt_parser) { if (HAS_XTERM_LISTENER(vt_parser, switch_im_mode)) { #if 0 stop_vt100_cmd(vt_parser, 0); #endif (*vt_parser->xterm_listener->switch_im_mode)(vt_parser->xterm_listener->self); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } static int im_is_active(vt_parser_t *vt_parser) { if (HAS_XTERM_LISTENER(vt_parser, im_is_active)) { return (*vt_parser->xterm_listener->im_is_active)(vt_parser->xterm_listener->self); } else { return 0; } } static void set_modkey_mode(vt_parser_t *vt_parser, int key, int mode) { if (key == 1) { if (-1 <= mode && mode <= 3) { vt_parser->modify_cursor_keys = mode; } } else if (key == 2) { if (-1 <= mode && mode <= 3) { vt_parser->modify_function_keys = mode; } } else if (key == 4) { if (0 <= mode && mode <= 2) { vt_parser->modify_other_keys = mode; } } } static void report_window_size(vt_parser_t *vt_parser, int by_char) { if (HAS_XTERM_LISTENER(vt_parser, get_window_size)) { int ps; u_int width; u_int height; char seq[5 + 1 /* ps */ + DIGIT_STR_LEN(u_int) * 2 + 1]; if (by_char) { width = vt_screen_get_logical_cols(vt_parser->screen); height = vt_screen_get_logical_rows(vt_parser->screen); ps = 8; } else { if (!(*vt_parser->xterm_listener->get_window_size)(vt_parser->xterm_listener->self, &width, &height)) { return; } ps = 4; } sprintf(seq, "\x1b[%d;%d;%dt", ps, height, width); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } } static void report_window_or_icon_name(vt_parser_t *vt_parser, int is_window) { char *seq; char *pre; char *title; size_t len; vt_char_encoding_t src_encoding; vt_char_encoding_t dst_encoding; if (is_window) { title = vt_parser->win_name; pre = "\x1b]l"; } else { title = vt_parser->icon_name; pre = "\x1b]L"; } /* see parse_title() */ src_encoding = vt_get_char_encoding("auto"); if (vt_parser->get_title_using_utf8) { dst_encoding = VT_UTF8; } else { dst_encoding = vt_parser->encoding; } len = strlen(title); if (src_encoding != dst_encoding) { char *p; if (!(p = alloca(len * UTF_MAX_SIZE + 1))) { goto error; } len = vt_char_encoding_convert(p, len * UTF_MAX_SIZE, dst_encoding, title, len, src_encoding); title = p; } if (!(seq = alloca(3 + len * (vt_parser->get_title_using_hex ? 2 : 1) + 3))) { goto error; } strcpy(seq, pre); if (vt_parser->get_title_using_hex) { len = vt_hex_encode(seq + 3, title, len); } else { memcpy(seq + 3, title, len); } strcpy(seq + 3 + len, "\x1b\\"); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); return; error: vt_write_to_pty(vt_parser->pty, pre, 3); vt_write_to_pty(vt_parser->pty, "\x1b\\", 2); return; } static void set_presentation_state(vt_parser_t *vt_parser, char *seq) { int row; int col; int page; char rend; char attr; char flag; if (sscanf(seq, "%d;%d;%d;%c;%c;%c;0;2;@;BB%%5%%5\x1b\\", &row, &col, &page, &rend, &attr, &flag) == 6) { vt_screen_goto(vt_parser->screen, col - 1, row - 1); if (rend & 0x20) { vt_parser->is_reversed = ((rend & 0x8) == 0x8); vt_parser->is_blinking = ((rend & 0x4) == 0x4); vt_parser->line_style &= ~LS_UNDERLINE; vt_parser->line_style |= ((rend & 0x2) ? LS_UNDERLINE_SINGLE : 0); vt_parser->is_bold = ((rend & 0x1) == 0x1); } if (attr & 0x20) { vt_parser->is_protected = ((attr & 0x1) == 0x1); } if (flag & 0x20) { vt_screen_set_auto_wrap(vt_parser->screen, ((flag & 0x8) == 0x8)); vt_screen_set_relative_origin(vt_parser->screen, ((flag & 0x1) == 0x1)); } } } static void report_presentation_state(vt_parser_t *vt_parser, int ps) { if (ps == 1) { /* DECCIR */ char seq[DIGIT_STR_LEN(u_int) * 3 + 31]; int rend = 0x40; int attr = 0x40; int flag = 0x40; if (vt_parser->is_reversed) { rend |= 0x8; } if (vt_parser->is_blinking) { rend |= 0x4; } if (vt_parser->line_style & LS_UNDERLINE) { rend |= 0x2; } if (vt_parser->is_bold) { rend |= 0x1; } if (vt_parser->is_protected) { attr |= 0x1; } if (vt_screen_is_auto_wrap(vt_parser->screen)) { flag |= 0x8; } if (vt_screen_is_relative_origin(vt_parser->screen)) { flag |= 0x1; } sprintf(seq, "\x1bP1$u%d;%d;%d;%c;%c;%c;0;2;@;BB%%5%%5\x1b\\", vt_screen_cursor_logical_row(vt_parser->screen) + 1, vt_screen_cursor_logical_col(vt_parser->screen) + 1, vt_screen_get_page_id(vt_parser->screen) + 1, rend, attr, flag); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } else if (ps == 2) { /* DECTABSR */ char *seq; u_int max_digit_len = 1; u_int cols = vt_screen_get_logical_cols(vt_parser->screen); u_int tmp = cols; while ((tmp /= 10) > 0) { max_digit_len++; } if ((seq = alloca(5 + (max_digit_len + 1) * cols + 3))) { u_int count; char *p; p = strcpy(seq, "\x1bP2$u") + 5; for (count = 0; count < cols; count++) { if (vt_screen_is_tab_stop(vt_parser->screen, count)) { sprintf(p, "%d/", count + 1); p += strlen(p); } } if (p != seq + 5) { p--; } strcpy(p, "\x1b\\"); vt_write_to_pty(vt_parser->pty, seq, p + 2 - seq); } } } static void rgb_to_hls(int *h, int *l, int *s, int r, int g, int b) { int max; int min; if (r > g) { if (g > b) { /* r > g > b */ max = r; min = b; } else { min = g; if (r > b) { /* r > b >= g */ max = r; } else { /* b >= r > g */ max = b; } } } else if (b > g) { /* b > g >= r */ max = b; min = r; } else { max = g; if (r > b) { /* g >= r > b */ min = b; } else { /* g >= b >= r */ min = r; } } *l = (max + min) * 100 / 255 / 2; if (max == min) { /* r == g == b */ *h = 0; *s = 0; } else { if (max == r) { *h = 60 * (g - b) / (max - min); } else if (max == g) { *h = 60 * (b - r) / (max - min) + 120; } else /* if (max == b) */ { *h = 60 * (r - g) / (max - min) + 240; } if (*h < 0) { *h += 360; } if (max + min < 255) { *s = (max - min) * 100 / (max + min); } else { *s = (max - min) * 100 / (510 - max - min); } } } static void report_color_table(vt_parser_t *vt_parser, int pu) { int color; u_int8_t r, g, b; char seq[5+(3*5+4)*256+255+3]; char *p; p = strcpy(seq, "\x1bP2$s") + 5; if (pu == 2) { /* RGB */ for (color = 0; color < 256; color++) { vt_get_color_rgba(color, &r, &g, &b, NULL); sprintf(p, "%d;2;%d;%d;%d/", color, r * 100 / 255, g * 100 / 255, b * 100 / 255); p += strlen(p); } } else if (pu == 1) { /* HLS */ int h, l, s; for (color = 0; color < 256; color++) { vt_get_color_rgba(color, &r, &g, &b, NULL); rgb_to_hls(&h, &l, &s, r, g, b); sprintf(p, "%d;1;%d;%d;%d/", color, h, l, s); p += strlen(p); } } else { return; } strcpy(p - 1, "\x1b\\"); bl_debug_printf("%s\n", seq); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } #ifndef NO_IMAGE static int cursor_char_is_picture_and_modified(vt_screen_t *screen) { vt_line_t *line; vt_char_t *ch; if ((line = vt_screen_get_cursor_line(screen)) && vt_line_is_modified(line) && (ch = vt_char_at(line, vt_screen_cursor_char_index(screen))) && vt_get_picture_char(ch)) { return 1; } else { return 0; } } /* Don't call this if vt_parser->sixel_scrolling is true. */ static int check_sixel_anim(vt_screen_t *screen, u_char *str, size_t left) { vt_line_t *line; vt_char_t *ch; if ((line = vt_screen_get_line(screen, 0)) && (ch = vt_char_at(line, 0)) && vt_get_picture_char(ch)) { while (--left > 0) { if (*(++str) == '\x1b') { if (--left == 0) { break; } if (*(++str) == 'P') { /* It seems animation sixel. */ return 1; } } } } return 0; } static void show_picture(vt_parser_t *vt_parser, char *file_path, int clip_beg_col, int clip_beg_row, int clip_cols, int clip_rows, int img_cols, int img_rows, int is_sixel /* 0: not sixel, 1: sixel, 2: sixel anim, 3: macro */ ) { #ifndef DONT_OPTIMIZE_DRAWING_PICTURE if (is_sixel == 2) { (*vt_parser->xterm_listener->show_sixel)(vt_parser->xterm_listener->self, file_path); vt_parser->yield = 1; return; } #endif /* DONT_OPTIMIZE_DRAWING_PICTURE */ if (HAS_XTERM_LISTENER(vt_parser, get_picture_data)) { vt_char_t *data; #ifdef __DEBUG struct timeval tv1, tv2; gettimeofday(&tv1, NULL); #endif if ((data = (*vt_parser->xterm_listener->get_picture_data)( vt_parser->xterm_listener->self, file_path, &img_cols, &img_rows, is_sixel ? &vt_parser->sixel_palette : NULL)) && clip_beg_row < img_rows && clip_beg_col < img_cols) { vt_char_t *p; int row; int cursor_col; int orig_auto_wrap; #ifdef __DEBUG gettimeofday(&tv2, NULL); bl_debug_printf("Processing sixel time (msec) %lu - %lu = %lu\n", tv2.tv_sec * 1000 + tv2.tv_usec / 1000, tv1.tv_sec * 1000 + tv1.tv_usec / 1000, tv2.tv_sec * 1000 + tv2.tv_usec / 1000 - tv1.tv_sec * 1000 - tv1.tv_usec / 1000); #endif if (clip_cols == 0) { clip_cols = img_cols - clip_beg_col; } if (clip_rows == 0) { clip_rows = img_rows - clip_beg_row; } if (clip_beg_row + clip_rows > img_rows) { clip_rows = img_rows - clip_beg_row; } if (clip_beg_col + clip_cols > img_cols) { clip_cols = img_cols - clip_beg_col; } p = data + (img_cols * clip_beg_row); row = 0; if (is_sixel && !vt_parser->sixel_scrolling) { vt_screen_save_cursor(vt_parser->screen); vt_parser->is_visible_cursor = 0; vt_screen_goto_home(vt_parser->screen); vt_screen_goto_beg_of_line(vt_parser->screen); } if (cursor_char_is_picture_and_modified(vt_parser->screen)) { /* Perhaps it is animation. */ interrupt_vt100_cmd(vt_parser); vt_parser->yield = 1; } orig_auto_wrap = vt_screen_is_auto_wrap(vt_parser->screen); vt_screen_set_auto_wrap(vt_parser->screen, 0); cursor_col = vt_screen_cursor_logical_col(vt_parser->screen); while (1) { vt_screen_overwrite_chars(vt_parser->screen, p + clip_beg_col, clip_cols); if (++row >= clip_rows) { break; } if (is_sixel && !vt_parser->sixel_scrolling) { if (!vt_screen_go_downward(vt_parser->screen, 1)) { break; } } else { vt_screen_line_feed(vt_parser->screen); } vt_screen_go_horizontally(vt_parser->screen, cursor_col); p += img_cols; } if (is_sixel) { if (vt_parser->sixel_scrolling) { if (!vt_parser->cursor_to_right_of_sixel && /* mlterm always enables DECSET 8452 in status line. */ !vt_status_line_is_focused(vt_parser->screen)) { vt_screen_line_feed(vt_parser->screen); vt_screen_go_horizontally(vt_parser->screen, cursor_col); } } else { vt_screen_restore_cursor(vt_parser->screen); vt_parser->is_visible_cursor = 1; } } vt_str_delete(data, img_cols * img_rows); vt_screen_set_auto_wrap(vt_parser->screen, orig_auto_wrap); if (strstr(file_path, "://")) { /* Showing remote image is very heavy. */ vt_parser->yield = 1; } } } } #endif static void snapshot(vt_parser_t *vt_parser, vt_char_encoding_t encoding, char *file_name, vt_write_content_area_t area) { char buf[16]; char *path; int fd; ef_conv_t *conv; if (!(path = get_home_file_path(file_name, get_now_suffix(buf), "snp"))) { return; } fd = open(path, O_WRONLY | O_CREAT, 0600); free(path); if (fd == -1) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to open %s\n", file_name); #endif return; } if (encoding == VT_UNKNOWN_ENCODING || (conv = vt_char_encoding_conv_new(encoding)) == NULL) { conv = vt_parser->cc_conv; } vt_screen_write_content(vt_parser->screen, fd, conv, 0, area); if (conv != vt_parser->cc_conv) { (*conv->delete)(conv); } close(fd); } static void set_col_size_of_width_a(vt_parser_t *vt_parser, u_int col_size_a) { if (col_size_a == 1 || col_size_a == 2) { vt_parser->col_size_of_width_a = col_size_a; } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " col size should be 1 or 2. default value 1 is used.\n"); #endif vt_parser->col_size_of_width_a = 1; } } /* * This function will destroy the content of pt. */ static void config_protocol_set(vt_parser_t *vt_parser, char *pt, int save) { int ret; char *dev; ret = vt_parse_proto_prefix(&dev, &pt, save); if (ret <= 0) { /* * ret == -1: do_challenge failed. * ret == 0: illegal format. * to_menu is necessarily 0 because it is pty that msg should be returned * to. */ vt_response_config(vt_parser->pty, ret < 0 ? "forbidden" : "error", NULL, 0); return; } if (dev && strlen(dev) <= 7 && strstr(dev, "font")) { char *key; char *val; if (vt_parse_proto(NULL, &key, &val, &pt, 0, 0) && val && HAS_CONFIG_LISTENER(vt_parser, set_font)) { /* * Screen is redrawn not in vt_parser->config_listener->set_font * but in stop_vt100_cmd, so it is not necessary to hold * vt_parser->config_listener->set_font between stop_vt100_cmd and * start_vt100_cmd. */ #if 0 stop_vt100_cmd(vt_parser, 0); #endif (*vt_parser->config_listener->set_font)(vt_parser->config_listener->self, dev, key, val, save); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } else if (dev && strcmp(dev, "color") == 0) { char *key; char *val; if (vt_parse_proto(NULL, &key, &val, &pt, 0, 0) && val && HAS_CONFIG_LISTENER(vt_parser, set_color)) { /* * Screen is redrawn not in vt_parser->config_listener->set_color * but in stop_vt100_cmd, so it is not necessary to hold * vt_parser->config_listener->set_font between stop_vt100_cmd and * start_vt100_cmd. */ #if 0 stop_vt100_cmd(vt_parser, 0); #endif (*vt_parser->config_listener->set_color)(vt_parser->config_listener->self, dev, key, val, save); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } else { stop_vt100_cmd(vt_parser, 0); if ((!HAS_CONFIG_LISTENER(vt_parser, exec) || !(*vt_parser->config_listener->exec)(vt_parser->config_listener->self, pt))) { bl_conf_write_t *conf; if (save) { char *path; /* XXX */ if ((path = bl_get_user_rc_path("mlterm/main")) == NULL) { return; } conf = bl_conf_write_open(path); free(path); } else { conf = NULL; } /* accept multiple key=value pairs. */ while (pt) { char *key; char *val; if (!vt_parse_proto(dev ? NULL : &dev, &key, &val, &pt, 0, 1)) { break; } if (conf) { /* XXX */ if (strcmp(key, "xim") != 0) { bl_conf_io_write(conf, key, val); } } if (val == NULL) { val = ""; } if (HAS_CONFIG_LISTENER(vt_parser, set) && (*vt_parser->config_listener->set)(vt_parser->config_listener->self, dev, key, val)) { if (!vt_parser->config_listener) { /* pty changed. */ break; } } dev = NULL; } if (conf) { bl_conf_write_close(conf); if (HAS_CONFIG_LISTENER(vt_parser, saved)) { (*vt_parser->config_listener->saved)(); } } } start_vt100_cmd(vt_parser, 0); } } static void config_protocol_set_simple(vt_parser_t *vt_parser, char *key, char *val, int visualize) { if (HAS_CONFIG_LISTENER(vt_parser, set)) { if (visualize) { stop_vt100_cmd(vt_parser, 0); } (*vt_parser->config_listener->set)(vt_parser->config_listener->self, NULL, key, val); if (visualize) { start_vt100_cmd(vt_parser, 0); } } } /* * This function will destroy the content of pt. */ static void config_protocol_get(vt_parser_t *vt_parser, char *pt, int to_menu, int *flag) { char *dev; char *key; int ret; if (to_menu == 0 && strchr(pt, ';') == NULL) { /* pt doesn't have challenge */ to_menu = -1; stop_vt100_cmd(vt_parser, 0); } #if 0 else { /* * It is assumed that screen is not redrawn not in * vt_parser->config_listener->get, so vt_parser->config_listener->get * is not held between stop_vt100_cmd and start_vt100_cmd. */ stop_vt100_cmd(vt_parser, 0); } #endif ret = vt_parse_proto(&dev, &key, NULL, &pt, to_menu == 0, 0); if (ret <= 0) { /* * ret == -1: do_challenge failed. * ret == 0: illegal format. * to_menu is necessarily 0 because it is pty that msg should be returned * to. */ vt_response_config(vt_parser->pty, ret < 0 ? "forbidden" : "error", NULL, 0); goto end; } if (dev && strlen(dev) <= 7 && strstr(dev, "font")) { char *cs; /* Compat with old format (3.6.3 or before): , */ cs = bl_str_sep(&key, ","); if (HAS_CONFIG_LISTENER(vt_parser, get_font)) { (*vt_parser->config_listener->get_font)(vt_parser->config_listener->self, dev, cs, to_menu); } } else if (dev && strcmp(dev, "color") == 0) { if (HAS_CONFIG_LISTENER(vt_parser, get_color)) { (*vt_parser->config_listener->get_color)(vt_parser->config_listener->self, key, to_menu); } } else if (HAS_CONFIG_LISTENER(vt_parser, get)) { (*vt_parser->config_listener->get)(vt_parser->config_listener->self, dev, key, to_menu); } end: if (to_menu == -1) { start_vt100_cmd(vt_parser, 0); } #if 0 else { start_vt100_cmd(vt_parser, 0); } #endif } #ifdef SUPPORT_ITERM2_OSC1337 #include /* bl_basename */ /* * This function will destroy the content of pt. */ static void iterm2_proprietary_set(vt_parser_t *vt_parser, char *pt) { if (strncmp(pt, "File=", 5) == 0) { /* See http://www.iterm2.com/images.html (2014/03/20) */ char *args; char *encoded; char *decoded; size_t e_len; u_int width; u_int height; char *path; args = pt + 5; width = height = 0; if ((encoded = strchr(args, ':'))) { char *beg; char *end; *(encoded++) = '\0'; if ((beg = strstr(args, "name=")) && ((end = strchr((beg += 5), ';')) || (end = beg + strlen(beg))) && (path = malloc(7 + (end - beg) + 1))) { char *file; char *new_path; size_t d_len; strcpy(path, "mlterm/"); d_len = vt_base64_decode(path + 7, beg, end - beg); path[7 + d_len] = '\0'; file = bl_basename(path); memmove(path + 7, file, strlen(file) + 1); new_path = bl_get_user_rc_path(path); free(path); path = new_path; } else { path = get_home_file_path("", vt_pty_get_slave_name(vt_parser->pty) + 5, "img"); } if ((beg = strstr(args, "width=")) && ((end = strchr((beg += 6), ';')) || (end = beg + strlen(beg)))) { *(end--) = '\0'; if ('0' <= *end && *end <= '9') { width = atoi(beg); *(end + 1) = ';'; /* For next strstr() */ } else { /* XXX Npx and N% are not supported */ } } if ((beg = strstr(args, "height=")) && ((end = strchr((beg += 7), ';')) || (end = beg + strlen(beg)))) { *(end--) = '\0'; if ('0' <= *end && *end <= '9') { height = atoi(beg); /* *(end + 1) = ';' ; */ } else { /* XXX Npx and N% are not supported */ } } } else { path = get_home_file_path("", vt_pty_get_slave_name(vt_parser->pty) + 5, "img"); } if (!path) { return; } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " OSC 1337 file is stored at %s.\n", path); } #endif if ((e_len = strlen(encoded)) > 0 && (decoded = malloc(e_len))) { size_t d_len; FILE *fp; if ((d_len = vt_base64_decode(decoded, encoded, e_len)) > 0 && (fp = fopen(path, "w"))) { fwrite(decoded, 1, d_len, fp); fclose(fp); show_picture(vt_parser, path, 0, 0, 0, 0, width, height, 0); remove(path); } free(decoded); } free(path); } } #endif static int change_char_fine_color(vt_parser_t *vt_parser, int *ps, int num) { int proceed; vt_color_t color; if (ps[0] != 38 && ps[0] != 48) { return 0; } if (num >= 3 && ps[1] == 5) { proceed = 3; color = (ps[2] <= 0 ? 0 : ps[2]); } else if (num >= 5 && ps[1] == 2) { proceed = 5; color = vt_get_closest_color(ps[2] <= 0 ? 0 : ps[2], ps[3] <= 0 ? 0 : ps[3], ps[4] <= 0 ? 0 : ps[4]); } else { return 1; } if (vt_parser->use_ansi_colors) { if (ps[0] == 38) { vt_parser->fg_color = color; vt_screen_set_bce_fg_color(vt_parser->screen, color); } else /* if( ps[0] == 48) */ { vt_parser->bg_color = color; vt_screen_set_bce_bg_color(vt_parser->screen, color); } } return proceed; } static void change_char_attr(vt_parser_t *vt_parser, int flag) { vt_color_t fg_color; vt_color_t bg_color; fg_color = vt_parser->fg_color; bg_color = vt_parser->bg_color; if (flag == 0) { /* Normal */ fg_color = VT_FG_COLOR; bg_color = VT_BG_COLOR; vt_parser->is_bold = 0; vt_parser->is_italic = 0; vt_parser->line_style = 0; vt_parser->is_reversed = 0; vt_parser->is_blinking = 0; vt_parser->is_invisible = 0; } else if (flag == 1) { /* Bold */ vt_parser->is_bold = 1; } else if (flag == 2) { /* XXX Faint */ vt_parser->is_bold = 0; } else if (flag == 3) { /* Italic */ vt_parser->is_italic = 1; } else if (flag == 4) { /* Underscore */ vt_parser->line_style = (vt_parser->line_style & ~LS_UNDERLINE) | LS_UNDERLINE_SINGLE; } else if (flag == 5 || flag == 6) { /* Blink (6 is repidly blinking) */ vt_parser->is_blinking = 1; vt_screen_enable_blinking(vt_parser->screen); } else if (flag == 7) { /* Inverse */ vt_parser->is_reversed = 1; } else if (flag == 8) { vt_parser->is_invisible = 1; } else if (flag == 9) { vt_parser->line_style |= LS_CROSSED_OUT; } else if (flag == 21) { /* Double underscore */ vt_parser->line_style = (vt_parser->line_style & ~LS_UNDERLINE) | LS_UNDERLINE_DOUBLE; } else if (flag == 22) { /* Bold */ vt_parser->is_bold = 0; } else if (flag == 23) { /* Italic */ vt_parser->is_italic = 0; } else if (flag == 24) { /* Underline */ vt_parser->line_style &= ~LS_UNDERLINE; } else if (flag == 25) { /* blink */ vt_parser->is_blinking = 0; } else if (flag == 27) { vt_parser->is_reversed = 0; } else if (flag == 28) { vt_parser->is_invisible = 0; } else if (flag == 29) { vt_parser->line_style &= ~LS_CROSSED_OUT; } else if (flag == 39) { /* default fg */ fg_color = VT_FG_COLOR; } else if (flag == 49) { bg_color = VT_BG_COLOR; } else if (flag == 53) { vt_parser->line_style |= LS_OVERLINE; } else if (flag == 55) { vt_parser->line_style &= ~LS_OVERLINE; } else if (vt_parser->use_ansi_colors) { /* Color attributes */ if (30 <= flag && flag <= 37) { /* 30=VT_BLACK(0) ... 37=VT_WHITE(7) */ fg_color = flag - 30; } else if (40 <= flag && flag <= 47) { /* 40=VT_BLACK(0) ... 47=VT_WHITE(7) */ bg_color = flag - 40; } else if (90 <= flag && flag <= 97) { fg_color = (flag - 90) | VT_BOLD_COLOR_MASK; } else if (100 <= flag && flag <= 107) { bg_color = (flag - 100) | VT_BOLD_COLOR_MASK; } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " unknown char attr flag(%d).\n", flag); } #endif } if (fg_color != vt_parser->fg_color) { vt_parser->fg_color = fg_color; vt_screen_set_bce_fg_color(vt_parser->screen, fg_color); } if (bg_color != vt_parser->bg_color) { vt_parser->bg_color = bg_color; vt_screen_set_bce_bg_color(vt_parser->screen, bg_color); } } static void get_rgb(vt_parser_t *vt_parser, int ps, vt_color_t color) { u_int8_t red; u_int8_t green; u_int8_t blue; char rgb[] = "rgb:xxxx/xxxx/xxxx"; char seq[2 + (DIGIT_STR_LEN(int)+1) * 2 + sizeof(rgb) + 1]; if (ps >= 10) /* IS_FG_BG_COLOR(color) */ { if (!HAS_XTERM_LISTENER(vt_parser, get_rgb) || !(*vt_parser->xterm_listener->get_rgb)(vt_parser->xterm_listener->self, &red, &green, &blue, color)) { return; } } else if (!vt_get_color_rgba(color, &red, &green, &blue, NULL)) { return; } sprintf(rgb + 4, "%.2x%.2x/%.2x%.2x/%.2x%.2x", red, red, green, green, blue, blue); if (ps >= 10) { /* ps: 10 = fg , 11 = bg , 12 = cursor bg */ sprintf(seq, "\x1b]%d;%s\x07", ps, rgb); } else { /* ps: 4 , 5 */ sprintf(seq, "\x1b]%d;%d;%s\x07", ps, color, rgb); } vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } /* * This function will destroy the content of pt. */ static void change_color_rgb(vt_parser_t *vt_parser, u_char *pt) { char *p; if ((p = strchr(pt, ';'))) { if (strcmp(p + 1, "?") == 0) { vt_color_t color; *p = '\0'; if ((color = vt_get_color(pt)) != VT_UNKNOWN_COLOR) { get_rgb(vt_parser, 4, color); } return; } else { *p = '='; if ((p = alloca(6 + strlen(pt) + 1))) { sprintf(p, "color:%s", pt); } else { return; } } } else { if ((p = alloca(7 + strlen(pt) + 1))) { sprintf(p, "color:%s=", pt); } else { return; } } config_protocol_set(vt_parser, p, 0); } static void change_special_color(vt_parser_t *vt_parser, u_char *pt) { char *key; if (*pt == '0') { key = "bd_color"; } else if (*pt == '1') { key = "ul_color"; } else if (*pt == '2') { key = "bl_color"; } else { return; } if (*(++pt) == ';' && strcmp(++pt, "?") != 0) /* ?: query rgb */ { config_protocol_set_simple(vt_parser, key, pt, 1); } else { config_protocol_set_simple(vt_parser, key, "", 1); } } static void set_selection(vt_parser_t *vt_parser, u_char *encoded) { if (HAS_XTERM_LISTENER(vt_parser, set_selection)) { u_char *p; u_char *targets; size_t e_len; size_t d_len; u_char *decoded; ef_char_t ch; vt_char_t *str; u_int str_len; if ((p = strchr(encoded, ';'))) { *p = '\0'; targets = encoded; encoded = p + 1; } else { targets = "s0"; } if ((e_len = strlen(encoded)) < 4 || !(decoded = alloca(e_len)) || (d_len = vt_base64_decode(decoded, encoded, e_len)) == 0 || !(str = vt_str_new(d_len))) { return; } str_len = 0; (*vt_parser->cc_parser->set_str)(vt_parser->cc_parser, decoded, d_len); while ((*vt_parser->cc_parser->next_char)(vt_parser->cc_parser, &ch)) { vt_char_set(&str[str_len++], ef_char_to_int(&ch), ch.cs, 0, 0, 0, 0, 0, 0, 0, 0, 0); } /* * It is assumed that screen is not redrawn not in * vt_parser->config_listener->get, so vt_parser->config_listener->get * is not held between stop_vt100_cmd and start_vt100_cmd. */ #if 0 stop_vt100_cmd(vt_parser, 0); #endif (*vt_parser->xterm_listener->set_selection)(vt_parser->xterm_listener->self, str, str_len, targets); #if 0 start_vt100_cmd(vt_parser, 0); #endif } } static void delete_macro(vt_parser_t *vt_parser, int id /* should be less than vt_parser->num_macros */ ) { if (vt_parser->macros[id].is_sixel) { unlink(vt_parser->macros[id].str); vt_parser->macros[id].is_sixel = 0; vt_parser->macros[id].sixel_num++; } free(vt_parser->macros[id].str); vt_parser->macros[id].str = NULL; } static void delete_all_macros(vt_parser_t *vt_parser) { u_int count; for (count = 0; count < vt_parser->num_macros; count++) { delete_macro(vt_parser, count); } free(vt_parser->macros); vt_parser->macros = NULL; vt_parser->num_macros = 0; } static u_char *hex_to_text(u_char *hex) { u_char *text; u_char *p; size_t len; size_t count; int rep_count; u_char *rep_beg; int d[2]; int sub_count; len = strlen(hex) / 2 + 1; if (!(text = malloc(len))) { return NULL; } count = 0; rep_count = 1; rep_beg = NULL; sub_count = 0; /* Don't use sscanf() here because it works too slow. */ while (1) { if ('0' <= *hex && *hex <= '9') { d[sub_count++] = *hex - '0'; } else { u_char masked_hex; masked_hex = (*hex) & 0xcf; if ('A' <= masked_hex && masked_hex <= 'F') { d[sub_count++] = masked_hex - 'A' + 10; } else { sub_count = 0; if (*hex == '!') { rep_beg = NULL; if ((p = strchr(hex + 1, ';'))) { *p = '\0'; if ((rep_count = atoi(hex + 1)) > 1) { rep_beg = text + count; } hex = p; } } else if (*hex == ';' || *hex == '\0') { if (rep_beg) { size_t rep_len; if ((rep_len = text + count - rep_beg) > 0) { len += rep_len * (rep_count - 1); if (!(p = realloc(text, len))) { free(text); return NULL; } rep_beg += (p - text); text = p; while (--rep_count > 0) { strncpy(text + count, rep_beg, rep_len); count += rep_len; } } rep_beg = NULL; } if (*hex == '\0') { goto end; } } } } if (sub_count == 2) { text[count++] = (d[0] << 4) + d[1]; sub_count = 0; } hex++; } end: text[count] = '\0'; return text; } #define MAX_NUM_OF_MACRO 1024 #define MAX_DIGIT_OF_MACRO 4 static void define_macro(vt_parser_t *vt_parser, u_char *param, u_char *data) { u_char *p; int ps[3] = {0, 0, 0}; int num; p = param; num = 0; for (p = param; *p != 'z'; p++) { if ((*p == ';' || *p == '!') && num < 3) { *p = '\0'; ps[num++] = atoi(param); param = p + 1; } } if (ps[0] >= MAX_NUM_OF_MACRO) { return; } if (ps[1] == 1) { delete_all_macros(vt_parser); } if (ps[0] >= vt_parser->num_macros) { void *p; if (*data == '\0' || !(p = realloc(vt_parser->macros, (ps[0] + 1) * sizeof(*vt_parser->macros)))) { return; } memset(p + vt_parser->num_macros * sizeof(*vt_parser->macros), 0, (ps[0] + 1 - vt_parser->num_macros) * sizeof(*vt_parser->macros)); vt_parser->macros = p; vt_parser->num_macros = ps[0] + 1; } else { delete_macro(vt_parser, ps[0]); if (*data == '\0') { return; } } if (ps[2] == 1) { p = vt_parser->macros[ps[0]].str = hex_to_text(data); #ifndef NO_IMAGE if (p && (*p == 0x90 || (*(p++) == '\x1b' && *p == 'P'))) { for (p++; *p == ';' || ('0' <= *p && *p <= '9'); p++) ; if (*p == 'q' && (strrchr(p, 0x9c) || ((p = strrchr(p, '\\')) && *(p - 1) == '\x1b'))) { char prefix[5 + MAX_DIGIT_OF_MACRO + 1 + DIGIT_STR_LEN(vt_parser->macros[0].sixel_num) + 2]; char *path; sprintf(prefix, "macro%d_%d_", ps[0], vt_parser->macros[ps[0]].sixel_num); if ((path = get_home_file_path(prefix, vt_pty_get_slave_name(vt_parser->pty) + 5, "six"))) { FILE *fp; if ((fp = fopen(path, "w"))) { fwrite(vt_parser->macros[ps[0]].str, 1, strlen(vt_parser->macros[ps[0]].str), fp); fclose(fp); free(vt_parser->macros[ps[0]].str); vt_parser->macros[ps[0]].str = path; vt_parser->macros[ps[0]].is_sixel = 1; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Register %s to macro %d\n", path, ps[0]); #endif } } } } #endif } else { vt_parser->macros[ps[0]].str = strdup(data); } } static int write_loopback(vt_parser_t *vt_parser, const u_char *buf, size_t len, int enable_local_echo, int is_visual); static void invoke_macro(vt_parser_t *vt_parser, int id) { if (id < vt_parser->num_macros && vt_parser->macros[id].str) { #ifndef NO_IMAGE if (vt_parser->macros[id].is_sixel) { show_picture(vt_parser, vt_parser->macros[id].str, 0, 0, 0, 0, 0, 0, 3); } else #endif { write_loopback(vt_parser, vt_parser->macros[id].str, strlen(vt_parser->macros[id].str), 0, 0); } } } static int response_termcap(vt_pty_ptr_t pty, u_char *key, u_char *value) { u_char *response; if ((response = alloca(5 + strlen(key) + 1 + strlen(value) * 2 + 3))) { u_char *dst; sprintf(response, "\x1bP1+r%s=", key); for (dst = response + strlen(response); *value; value++, dst += 2) { dst[0] = (value[0] >> 4) & 0xf; dst[0] = (dst[0] > 9) ? (dst[0] + 'A' - 10) : (dst[0] + '0'); dst[1] = value[0] & 0xf; dst[1] = (dst[1] > 9) ? (dst[1] + 'A' - 10) : (dst[1] + '0'); } strcpy(dst, "\x1b\\"); vt_write_to_pty(pty, response, strlen(response)); return 1; } else { return 0; } } #define TO_INT(a) (((a) | 0x20) - ((a) <= '9' ? '0' : ('a' - 10))) static void report_termcap(vt_parser_t *vt_parser, u_char *key) { u_char *deckey; u_char *src; u_char *dst; if ((deckey = alloca(strlen(key) / 2 + 1))) { struct { u_char *tckey; u_char *tikey; int16_t spkey; /* vt_special_key_t */ int16_t modcode; } db[] = { {"%1", "khlp", SPKEY_F15, 0}, {"#1", "kHLP", SPKEY_F15, 2}, {"@0", "kfnd", SPKEY_FIND, 0}, {"*0", "kFND", SPKEY_FIND, 2}, {"*6", "kslt", SPKEY_SELECT, 0}, {"#6", "kSLT", SPKEY_SELECT, 2}, {"kh", "khome", SPKEY_HOME, 0}, {"#2", "kHOM", SPKEY_HOME, 2}, {"@7", "kend", SPKEY_END, 0}, {"*7", "kEND", SPKEY_END, 2}, {"kl", "kcub1", SPKEY_LEFT, 0}, {"kr", "kcuf1", SPKEY_RIGHT, 0}, {"ku", "kcuu1", SPKEY_UP, 0}, {"kd", "kcud1", SPKEY_DOWN, 0}, {"#4", "kLFT", SPKEY_LEFT, 2}, {"%i", "kRIT", SPKEY_RIGHT, 2}, {"kF", "kind", SPKEY_DOWN, 2}, {"kR", "kri", SPKEY_UP, 2}, {"k1", "kf1", SPKEY_F1, 0}, {"k2", "kf2", SPKEY_F2, 0}, {"k3", "kf3", SPKEY_F3, 0}, {"k4", "kf4", SPKEY_F4, 0}, {"k5", "kf5", SPKEY_F5, 0}, {"k6", "kf6", SPKEY_F6, 0}, {"k7", "kf7", SPKEY_F7, 0}, {"k8", "kf8", SPKEY_F8, 0}, {"k9", "kf9", SPKEY_F9, 0}, {"k;", "kf10", SPKEY_F10, 0}, {"F1", "kf11", SPKEY_F11, 0}, {"F2", "kf12", SPKEY_F12, 0}, {"F3", "kf13", SPKEY_F13, 0}, {"F4", "kf14", SPKEY_F14, 0}, {"F5", "kf15", SPKEY_F15, 0}, {"F6", "kf16", SPKEY_F16, 0}, {"F7", "kf17", SPKEY_F17, 0}, {"F8", "kf18", SPKEY_F18, 0}, {"F9", "kf19", SPKEY_F19, 0}, {"FA", "kf20", SPKEY_F20, 0}, {"FB", "kf21", SPKEY_F21, 0}, {"FC", "kf22", SPKEY_F22, 0}, {"FD", "kf23", SPKEY_F23, 0}, {"FE", "kf24", SPKEY_F24, 0}, {"FF", "kf25", SPKEY_F25, 0}, {"FG", "kf26", SPKEY_F26, 0}, {"FH", "kf27", SPKEY_F27, 0}, {"FI", "kf28", SPKEY_F28, 0}, {"FJ", "kf29", SPKEY_F29, 0}, {"FK", "kf30", SPKEY_F30, 0}, {"FL", "kf31", SPKEY_F31, 0}, {"FM", "kf32", SPKEY_F32, 0}, {"FN", "kf33", SPKEY_F33, 0}, {"FO", "kf34", SPKEY_F34, 0}, {"FP", "kf35", SPKEY_F35, 0}, {"FQ", "kf36", SPKEY_F36, 0}, {"FR", "kf37", SPKEY_F37, 0}, {"K1", "ka1", SPKEY_KP_HOME, 0}, {"K4", "kc1", SPKEY_KP_END, 0}, {"K3", "ka3", SPKEY_KP_PRIOR, 0}, {"K5", "kc3", SPKEY_KP_NEXT, 0}, {"kB", "kcbt", SPKEY_ISO_LEFT_TAB, 0}, /* { "kC" , "kclr" , SPKEY_CLEAR , 0 } , */ {"kD", "kdch1", SPKEY_DELETE, 0}, {"kI", "kich1", SPKEY_INSERT, 0}, {"kN", "knp", SPKEY_NEXT, 0}, {"kP", "kpp", SPKEY_PRIOR, 0}, {"%c", "kNXT", SPKEY_NEXT, 2}, {"%e", "kPRV", SPKEY_PRIOR, 2}, /* { "&8" , "kund" , SPKEY_UNDO , 0 } , */ {"kb", "kbs", SPKEY_BACKSPACE, 0}, {"Co", "colors", -1, 0}, {"TN", "name", -2, 0}, }; int idx; u_char *value; for (src = key, dst = deckey; src[0] && src[1]; src += 2) { *(dst++) = TO_INT(src[0]) * 16 + TO_INT(src[1]); } *dst = '\0'; value = NULL; for (idx = 0; idx < sizeof(db) / sizeof(db[0]); idx++) { if (strcmp(deckey, db[idx].tckey) == 0 || strcmp(deckey, db[idx].tikey) == 0) { if (db[idx].spkey == -1) { value = "256"; } else if (db[idx].spkey == -2) { value = "mlterm"; } else { value = vt_termcap_special_key_to_seq( vt_parser->termcap, db[idx].spkey, db[idx].modcode, /* vt_parser->is_app_keypad */ 0, vt_parser->is_app_cursor_keys, /* vt_parser->is_app_escape */ 0, vt_parser->modify_cursor_keys, vt_parser->modify_function_keys); } break; } } if (value && response_termcap(vt_parser->pty, key, value)) { return; } } vt_write_to_pty(vt_parser->pty, "\x1bP0+r\x1b\\", 7); } static void report_char_attr_status(vt_parser_t *vt_parser) { char color[10]; /* ";38;5;XXX" (256 color) */ vt_write_to_pty(vt_parser->pty, "\x1bP1$r0", 6); if (vt_parser->is_bold) { vt_write_to_pty(vt_parser->pty, ";1", 2); } if (vt_parser->is_italic) { vt_write_to_pty(vt_parser->pty, ";3", 2); } if (vt_parser->line_style & LS_UNDERLINE_SINGLE) { vt_write_to_pty(vt_parser->pty, ";4", 2); } if (vt_parser->is_blinking) { vt_write_to_pty(vt_parser->pty, ";5", 2); } if (vt_parser->is_reversed) { vt_write_to_pty(vt_parser->pty, ";7", 2); } if (vt_parser->is_invisible) { vt_write_to_pty(vt_parser->pty, ":8", 2); } if (vt_parser->line_style & LS_CROSSED_OUT) { vt_write_to_pty(vt_parser->pty, ";9", 2); } if (vt_parser->line_style & LS_UNDERLINE_DOUBLE) { vt_write_to_pty(vt_parser->pty, ";21", 3); } if (vt_parser->line_style & LS_OVERLINE) { vt_write_to_pty(vt_parser->pty, ":53", 3); } color[0] = ';'; if (IS_VTSYS_BASE_COLOR(vt_parser->fg_color)) { color[1] = '3'; color[2] = '0' + vt_parser->fg_color; } else if (IS_VTSYS_COLOR(vt_parser->fg_color)) { color[1] = '9'; color[2] = '0' + (vt_parser->fg_color - 8); } else if (IS_VTSYS256_COLOR(vt_parser->fg_color)) { sprintf(color + 1, "38;5;%d", vt_parser->fg_color); } else { goto bg_color; } vt_write_to_pty(vt_parser->pty, color, strlen(color)); bg_color: if (IS_VTSYS_BASE_COLOR(vt_parser->bg_color)) { color[1] = '4'; color[2] = '0' + vt_parser->bg_color; } else if (IS_VTSYS_COLOR(vt_parser->bg_color)) { color[1] = '1'; color[2] = '0'; color[3] = '0' + (vt_parser->bg_color - 8); } else if (IS_VTSYS256_COLOR(vt_parser->bg_color)) { sprintf(color, ";48;5;%d", vt_parser->bg_color); } else { goto end; } vt_write_to_pty(vt_parser->pty, color, strlen(color)); end: vt_write_to_pty(vt_parser->pty, "m\x1b\\", 3); } static void report_status(vt_parser_t *vt_parser, u_char *key) { u_char *val; u_char digits[DIGIT_STR_LEN(int)*3 + 3]; u_char *seq; if (strcmp(key, "\"q") == 0) { /* DECSCA */ val = "0"; } else if (strcmp(key, "\"p") == 0) { /* DECSCL */ val = "63;1"; } else if (strcmp(key, "r") == 0) { /* DECSTBM */ val = digits; sprintf(val, "%d;%d", vt_parser->screen->edit->vmargin_beg + 1, vt_parser->screen->edit->vmargin_end + 1); } else if (strcmp(key, "s") == 0) { /* DECSLRM */ val = digits; sprintf(val, "%d;%d", vt_parser->screen->edit->hmargin_beg + 1, vt_parser->screen->edit->hmargin_end + 1); } else if (strcmp(key, " q") == 0) { /* DECSCUR */ char vals[] = {'2', '4', '6', '\0', '1', '3', '5'}; digits[0] = vals[vt_parser->cursor_style]; digits[1] = '\0'; val = digits; } else if (strcmp(key, "$}") == 0) { /* DECSASD */ val = vt_status_line_is_focused(vt_parser->screen) ? "1" : "0"; } else if (strcmp(key, "$~") == 0) { /* DECSSDT */ val = vt_screen_has_status_line(vt_parser->screen) ? "2" : "0"; } else if (strcmp(key, "*x") == 0) { /* DECSACE */ val = vt_screen_is_using_rect_attr_select(vt_parser->screen) ? "2" : "1"; } else if (strcmp(key, "){") == 0) { /* DECSTGLT */ if (vt_parser->use_ansi_colors) { val = "0"; } else if (vt_parser->alt_colors.flags) { val = "1"; } else { val = "2"; } } else if (strcmp(key, "$|") == 0) { /* DECSCPP */ val = digits; sprintf(val, "%d", vt_screen_get_logical_cols(vt_parser->screen)); } else if (strcmp(key, "t") == 0 || strcmp(key, "*|") == 0) { /* DECSLPP/DECSNLS */ val = digits; sprintf(val, "%d", vt_screen_get_logical_rows(vt_parser->screen)); } else if (strcmp(key, "m") == 0) { /* SGR */ report_char_attr_status(vt_parser); return; } else { u_int ps = atoi(key); key += (strlen(key) - 2); if (strcmp(key, ",|") == 0) { /* DECAC */ u_int8_t red; u_int8_t green; u_int8_t blue; vt_color_t colors[] = { VT_FG_COLOR, VT_BG_COLOR } ; u_int count; if (ps == 2) { /* Window Frame */ goto error_validreq; } vt_color_force_linear_search(1); for (count = 0; count < sizeof(colors) / sizeof(colors[0]); count++) { if (!HAS_XTERM_LISTENER(vt_parser, get_rgb) || !(*vt_parser->xterm_listener->get_rgb)(vt_parser->xterm_listener->self, &red, &green, &blue, colors[count])) { goto error_validreq; } colors[count] = vt_get_closest_color(red, green, blue); } vt_color_force_linear_search(0); val = digits; sprintf(val, "1;%d;%d", colors[0], colors[1]); } else if (strcmp(key, ",}") == 0) { /* DECATC */ int idx; if (ps <= 15 && (vt_parser->alt_colors.flags & (1 << (idx = alt_color_idxs[ps])))) { val = digits; sprintf(val, "%d;%d;%d", ps, vt_parser->alt_colors.fg[idx], vt_parser->alt_colors.bg[idx]); } else { goto error_validreq; } } else { goto error_invalidreq; } } /* * XXX * xterm returns 1 for vaild request while 0 for invalid request. * VT520/525 manual says 0 for vaild request while 1 for invalid request, * but it's wrong. (http://twitter.com/ttdoda/status/911125737242992645) */ if ((seq = alloca(7 + strlen(val) + strlen(key) + 1))) { sprintf(seq, "\x1bP1$r%s%s\x1b\\", val, key); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } return; error_validreq: vt_write_to_pty(vt_parser->pty, "\x1bP1$r\x1b\\", 7); return; error_invalidreq: vt_write_to_pty(vt_parser->pty, "\x1bP0$r\x1b\\", 7); } static void clear_line_all(vt_parser_t *vt_parser) { vt_screen_clear_line_to_left(vt_parser->screen); vt_screen_clear_line_to_right(vt_parser->screen); } static void clear_display_all(vt_parser_t *vt_parser) { vt_screen_clear_below(vt_parser->screen); vt_screen_clear_above(vt_parser->screen); vt_screen_clear_size_attr(vt_parser->screen); } static int vtmode_num_to_idx(int mode) { int idx; for (idx = 0; idx < VTMODE_NUM; idx++) { if (vtmodes[idx] == mode) { return idx; } } return -1; } static int get_vtmode(vt_parser_t *vt_parser, int mode) { int idx; /* XXX These can be changed via OSC 5379 instead of DEC Private Mode Set. */ if (mode == 8428) { return (vt_parser->col_size_of_width_a == 1) ? 1 : 2; } else if (mode == 117) { return vt_screen_is_using_bce(vt_parser->screen) ? 1 : 2; } else if (mode == VTMODE(33)) { return (vt_parser->cursor_style & CS_BLINK) ? 2 : 1; } else /* XXX DECBKM affects *all* terms sharing vt_termcap, so vtmode_flags is not reliable. */ if (mode == 67) { return strcmp(vt_termcap_special_key_to_seq(vt_parser->termcap, SPKEY_BACKSPACE, 0, 0, 0, 0, 0, 0), "\x08") == 0 ? 1 : 2; } if ((idx = vtmode_num_to_idx(mode)) != -1) { if (vt_parser->vtmode_flags & (SHIFT_FLAG64(idx))) { return 1; /* set */ } else { return 2; /* reset */ } } if (mode == 8 /* DECARM (auto repeat) */ || mode == 98 /* DECARSM (change lines per screen automatically by DECSLPP) */ || mode == 102 /* DECNULM (always dicard NUL character) */ || mode == 19 /* DECPEX (Ignore DECSTBM in MC and DECMC) */) { return 3; /* permanently set */ } else if (mode == 4 /* DECSCLM (smooth scroll) */ || mode == 9 /* X10 mouse report */ || mode == 38 /* Tek */ || mode == 45 /* reverse wraparound */ || mode == 1001 /* highlight mouse tracking */ || mode == VTMODE(6) /* ERM */ || mode == VTMODE(18) /* ISM */) { return 4; /* permanently reset */ } return 0; /* not recognized */ } static void set_vtmode(vt_parser_t *vt_parser, int mode, int flag) { int idx; #ifdef DEBUG if (VTMODE_NUM != sizeof(vtmodes) / sizeof(vtmodes[0])) { bl_debug_printf(BL_DEBUG_TAG "vtmode table is broken.\n"); } #endif if ((idx = vtmode_num_to_idx(mode)) == -1) { #ifdef DEBUG debug_print_unknown("ESC [%s %d l\n", mode >= VTMODE(0) ? "" : " ?", mode >= VTMODE(0) ? mode - VTMODE(0) : mode); #endif return; } if (flag) { vt_parser->vtmode_flags |= (SHIFT_FLAG64(idx)); } else { vt_parser->vtmode_flags &= ~(SHIFT_FLAG64(idx)); } switch (idx) { case DECMODE_1: /* DECCKM */ vt_parser->is_app_cursor_keys = flag; break; case DECMODE_2: #ifdef USE_VT52 if (!(vt_parser->is_vt52_mode = (flag ? 0 : 1))) { /* * USASCII should be designated for G0-G3 here, but it is temporized by * using vt_init_encoding_parser() etc for now. */ vt_init_encoding_parser(vt_parser); } #endif break; case DECMODE_3: /* DECCOLM */ if (vt_parser->allow_deccolm) { /* XTERM compatibility [#1048321] */ if (!vt_parser->keep_screen_on_deccolm) { clear_display_all(vt_parser); vt_screen_goto(vt_parser->screen, 0, 0); } resize(vt_parser, flag ? 132 : 80, 0, 1); } break; #if 0 case DECMODE_4: /* DECSCLM smooth scrolling */ break; #endif case DECMODE_5: /* DECSCNM */ reverse_video(vt_parser, flag); break; case DECMODE_6: /* DECOM */ if (flag) { vt_screen_set_relative_origin(vt_parser->screen, 1); } else { vt_screen_set_relative_origin(vt_parser->screen, 0); } /* * cursor position is reset * (the same behavior of xterm 4.0.3, kterm 6.2.0 or so) */ vt_screen_goto(vt_parser->screen, 0, 0); break; case DECMODE_7: /* DECAWM */ vt_screen_set_auto_wrap(vt_parser->screen, flag); break; #if 0 case DECMODE_8: /* DECARM auto repeat */ break; case DECMODE_9: /* X10 mouse reporting */ break; case DECMODE_12: /* * XT_CBLINK * If cursor blinking is enabled, restart blinking. */ break; #endif case DECMODE_25: /* DECTCEM */ vt_parser->is_visible_cursor = flag; break; #if 0 case DECMODE_35: /* shift keys */ break; #endif case DECMODE_40: if ((vt_parser->allow_deccolm = flag)) { /* Compatible behavior with rlogin. (Not compatible with xterm) */ set_vtmode(vt_parser, 3, (vt_parser->vtmode_flags >> DECMODE_3) & 1); } break; case DECMODE_47: if (use_alt_buffer) { if (flag) { vt_screen_use_alternative_edit(vt_parser->screen); } else { vt_screen_use_normal_edit(vt_parser->screen); } } break; case DECMODE_66: /* DECNKM */ vt_parser->is_app_keypad = flag; break; case DECMODE_67: /* DECBKM have back space */ /* XXX Affects all terms sharing vt_termcap */ vt_termcap_set_key_seq(vt_parser->termcap, SPKEY_BACKSPACE, flag ? "\x08" : "\x7f"); break; case DECMODE_69: /* DECLRMM */ vt_screen_set_use_hmargin(vt_parser->screen, flag); break; case DECMODE_80: /* DECSDM */ vt_parser->sixel_scrolling = (flag ? 0 : 1); break; case DECMODE_95: /* DECNCSM */ vt_parser->keep_screen_on_deccolm = flag; break; case DECMODE_116: /* DECBBSM */ vt_parser->bold_affects_bg = flag; break; case DECMODE_117: /* DECECM */ vt_screen_set_use_bce(vt_parser->screen, (flag ? 0 : 1)); break; case DECMODE_1000: /* MOUSE_REPORT */ case DECMODE_1002: /* BUTTON_EVENT */ case DECMODE_1003: /* ANY_EVENT */ set_mouse_report(vt_parser, flag ? (MOUSE_REPORT + idx - DECMODE_1000) : 0); break; #if 0 case DECMODE_1001: /* X11 mouse highlighting */ break; #endif case DECMODE_1004: vt_parser->want_focus_event = flag; break; case DECMODE_1005: /* UTF8 */ case DECMODE_1006: /* SGR */ case DECMODE_1015: /* URXVT */ if (flag) { vt_parser->ext_mouse_mode = EXTENDED_MOUSE_REPORT_UTF8 + idx - DECMODE_1005; } else { vt_parser->ext_mouse_mode = 0; } break; #if 0 case DECMODE_1010: /* scroll to bottom on tty output inhibit */ break; #endif #if 0 case DECMODE_1011: /* scroll to bottom on key press */ break; #endif case DECMODE_1042: config_protocol_set_simple(vt_parser, "use_urgent_bell", flag ? "true" : "false", 0); break; case DECMODE_1047: if (use_alt_buffer) { if (flag) { vt_screen_use_alternative_edit(vt_parser->screen); } else { if (vt_screen_is_alternative_edit(vt_parser->screen)) { clear_display_all(vt_parser); vt_screen_use_normal_edit(vt_parser->screen); } } } break; case DECMODE_1048: if (use_alt_buffer) { if (flag) { save_cursor(vt_parser); } else { restore_cursor(vt_parser); } } break; case DECMODE_1049: if (use_alt_buffer) { if (flag) { if (!vt_screen_is_alternative_edit(vt_parser->screen)) { save_cursor(vt_parser); vt_screen_use_alternative_edit(vt_parser->screen); clear_display_all(vt_parser); } } else { if (vt_screen_is_alternative_edit(vt_parser->screen)) { vt_screen_use_normal_edit(vt_parser->screen); restore_cursor(vt_parser); } } } break; case DECMODE_2004: vt_parser->is_bracketed_paste_mode = flag; break; case DECMODE_7727: vt_parser->is_app_escape = flag; break; case DECMODE_8428: /* RLogin original */ vt_parser->col_size_of_width_a = (flag ? 1 : 2); break; case DECMODE_8452: /* RLogin original */ vt_parser->cursor_to_right_of_sixel = flag; break; case DECMODE_8800: if (flag) { vt_parser->unicode_policy |= USE_UNICODE_DRCS; } else { vt_parser->unicode_policy &= ~USE_UNICODE_DRCS; } break; case VTMODE_2: /* KAM */ if (flag) { vt_parser->pty_hook.pre_write = NULL; vt_pty_set_hook(vt_parser->pty, &vt_parser->pty_hook); } else { vt_pty_set_hook(vt_parser->pty, NULL); } break; case VTMODE_4: /* IRM */ if (flag) { /* insert mode */ vt_parser->w_buf.output_func = vt_screen_insert_chars; } else { /* replace mode */ vt_parser->w_buf.output_func = vt_screen_overwrite_chars; } break; case VTMODE_12: /* SRM */ if (flag) { vt_pty_set_hook(vt_parser->pty, NULL); } else { vt_parser->pty_hook.pre_write = vt_parser_write_loopback; vt_pty_set_hook(vt_parser->pty, &vt_parser->pty_hook); } break; case VTMODE_20: /* LNM */ vt_parser->auto_cr = flag; break; case VTMODE_33: /* WYSTCURM */ if (flag) { vt_parser->cursor_style &= ~CS_BLINK; } else { vt_parser->cursor_style |= CS_BLINK; } break; case VTMODE_34: /* WYULCURM */ if (flag) { vt_parser->cursor_style |= CS_UNDERLINE; } else { vt_parser->cursor_style &= ~CS_UNDERLINE; } break; } } static void soft_reset(vt_parser_t *vt_parser) { /* * XXX * Following options is not reset for now. * DECNRCM, DECAUPSS, DECSASD, DECKPM, DECRLM, DECPCTERM * (see http://vt100.net/docs/vt510-rm/DECSTR.html) */ /* "CSI m" (SGR) */ change_char_attr(vt_parser, 0); vt_init_encoding_parser(vt_parser); /* DECSC */ (vt_screen_is_alternative_edit(vt_parser->screen) ? &vt_parser->saved_alternate : &vt_parser->saved_normal)->is_saved = 0; /* DECSCA */ vt_parser->is_protected = 0; /* CSI < r, CSI < s, CSI < t (compatible with TeraTerm) */ vt_parser->im_is_active = 0; set_vtmode(vt_parser, 1, 0); /* DECCKM */ /* auto_wrap == 1 (compatible with xterm, not with VT220) */ set_vtmode(vt_parser, 7, 1); /* DECAWM */ set_vtmode(vt_parser, 25, 1); /* DECTCEM */ set_vtmode(vt_parser, 66, 0); /* DECNKM */ set_vtmode(vt_parser, 1000, 0); /* compatible with xterm */ set_vtmode(vt_parser, 1002, 0); /* compatible with xterm */ set_vtmode(vt_parser, 1003, 0); /* compatible with xterm */ set_vtmode(vt_parser, 1005, 0); /* compatible with xterm */ set_vtmode(vt_parser, 1006, 0); /* compatible with xterm */ set_vtmode(vt_parser, 1015, 0); /* compatible with xterm */ set_vtmode(vt_parser, 2004, 0); /* compatible with xterm */ set_vtmode(vt_parser, 7727, 0); /* compatible with xterm */ set_vtmode(vt_parser, VTMODE(2), 0); /* KAM */ set_vtmode(vt_parser, VTMODE(4), 0); /* IRM */ /* DECOM */ #if 0 set_vtmode(vt_parser, 6, 0); #else vt_screen_set_relative_origin(vt_parser->screen, 0); vt_parser->vtmode_flags &= ~(SHIFT_FLAG64(DECMODE_6)); #endif /* DECLRMM (XXX Not described in vt510 manual.) */ #if 0 set_vtmode(vt_parser, 69, 0); #else vt_screen_set_use_hmargin(vt_parser->screen, -1 /* Don't move cursor. */); vt_parser->vtmode_flags &= ~(SHIFT_FLAG64(DECMODE_69)); #endif /* "CSI r" (DECSTBM) */ vt_screen_set_vmargin(vt_parser->screen, -1, -1); } static void full_reset(vt_parser_t *vt_parser) { vt_screen_goto_page(vt_parser->screen, 0); soft_reset(vt_parser); /* XXX insufficient */ clear_display_all(vt_parser); /* XXX off-screen pages are not cleared */ delete_all_macros(vt_parser); vt_drcs_final_full(); } static void send_device_status(vt_parser_t *vt_parser, int num, int id) { char *seq; char amb[] = "\x1b[?884Xn"; if (num == 6) { /* XCPR */ if ((seq = alloca(6 + DIGIT_STR_LEN(int)+1))) { sprintf(seq, "\x1b[?%d;%d;%dR", vt_screen_cursor_logical_row(vt_parser->screen) + 1, vt_screen_cursor_logical_col(vt_parser->screen) + 1, vt_screen_get_page_id(vt_parser->screen) + 1); } else { return; } } else if (num == 15) { seq = "\x1b[?13n"; /* No printer */ } else if (num == 25) { seq = "\x1b[?21n"; /* UDKs are locked */ } else if (num == 26) { seq = "\x1b[?27;1;0;0n"; /* North American, Keyboard ready */ } else if (num == 53 || num == 55) { seq = "\x1b[?50n"; /* Locator ready */ } else if (num == 56) { seq = "\x1b[?57;1n"; /* Locator exists */ } else if (num == 62) { seq = "\x1b[0*{"; /* Macro Space (Pn = [num of bytes] / 16 (rounded down) */ } else if (num == 63) { /* checksum = 0 */ if ((seq = alloca(10+DIGIT_STR_LEN(int)+1))) { sprintf(seq, "\x1bP%d!~0000\x1b\\", id); } else { seq = "\x1bP0!~0000\x1b\\"; } } else if (num == 75) { seq = "\x1b[?70n"; /* Ready */ } else if (num == 85) { seq = "\x1b[?83n"; /* Not multiple-session */ } else if (num == 8840) { /* "CSI ? 8840 n" (TNREPTAMB) */ amb[6] = vt_parser->col_size_of_width_a + 0x30; seq = amb; } else { return; } vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } static void send_device_attributes(vt_pty_ptr_t pty, int rank) { char *seq; if (rank == 1) { if (primary_da && (seq = alloca(4 + strlen(primary_da) + 1))) { sprintf(seq, "\x1b[?%sc", primary_da); } else { #ifndef NO_IMAGE seq = "\x1b[?63;1;2;3;4;7;29c"; #else seq = "\x1b[?63;1;2;7;29c"; #endif } } else if (rank == 2) { if (secondary_da && (seq = alloca(4 + strlen(secondary_da) + 1))) { sprintf(seq, "\x1b[>%sc", secondary_da); } else { /* * >=96: vim sets ttymouse=xterm2 * >=141: vim uses tcap-query. * >=277: vim uses sgr mouse tracking. * >=279: xterm supports DECSLRM/DECLRMM. */ seq = "\x1b[>24;279;0c"; } } else if (rank == 3) { seq = "\x1bP!|000000\x1b\\"; } else { return; } vt_write_to_pty(pty, seq, strlen(seq)); } static void send_display_extent(vt_pty_ptr_t pty, u_int cols, u_int rows, int vmargin, int hmargin, int page) { char seq[DIGIT_STR_LEN(int) * 5 + 1]; sprintf(seq, "\x1b[%d;%d;%d;%d;%d\"w", rows, cols, hmargin, vmargin, page); vt_write_to_pty(pty, seq, strlen(seq)); } static void set_use_status_line(vt_parser_t *vt_parser, int ps) { u_int width; u_int height; if (ps <= 1) { vt_screen_set_use_status_line(vt_parser->screen, 0); } else if (ps == 2) { vt_screen_set_use_status_line(vt_parser->screen, 1); } else { return; } if (!HAS_XTERM_LISTENER(vt_parser, get_window_size) || !(*vt_parser->xterm_listener->get_window_size)(vt_parser->xterm_listener->self, &width, &height)) { width = height = 0; } vt_set_pty_winsize(vt_parser->pty, vt_screen_get_logical_cols(vt_parser->screen), vt_screen_get_logical_rows(vt_parser->screen), width, height); } /* * For string outside escape sequences. */ static int increment_str(u_char **str, size_t *left) { if (--(*left) == 0) { return 0; } (*str)++; return 1; } /* * For string inside escape sequences. */ static int inc_str_in_esc_seq(vt_screen_t *screen, u_char **str_p, size_t *left, int want_ctrl) { while (1) { if (increment_str(str_p, left) == 0) { return 0; } if (**str_p < 0x20 || 0x7e < **str_p) { /* * cursor-control characters inside ESC sequences */ if (CTL_LF <= **str_p && **str_p <= CTL_FF) { vt_screen_line_feed(screen); /* XXX vt_parser->auto_cr is ignored for now. */ } else if (**str_p == CTL_CR) { vt_screen_goto_beg_of_line(screen); } else if (**str_p == CTL_BS) { vt_screen_go_back(screen, 1, 0); } else if (want_ctrl) { return 1; } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Ignored 0x%x inside escape sequences.\n", **str_p); #endif } } else { return 1; } } } /* * Set use_c1=0 for 0x9c not to be regarded as ST if str can be encoded by utf8. * (UTF-8 uses 0x80-0x9f as printable characters.) */ static char *get_pt_in_esc_seq( u_char **str, size_t *left, int use_c1, /* OSC is terminated by not only ST(ESC \) but also 0x9c. */ int bel_terminate /* OSC is terminated by not only ST(ESC \) but also BEL. */ ) { u_char *pt; pt = *str; while (1) { if ((bel_terminate && **str == CTL_BEL) || (use_c1 && **str == 0x9c)) { **str = '\0'; break; } if (**str == CTL_ESC) { if (!increment_str(str, left)) { return NULL; } if (**str == '\\') { *((*str) - 1) = '\0'; break; } /* * Reset position ahead of unprintable character for compat with xterm. * e.g.) "\x1bP\x1b[A" is parsed as "\x1b[A" */ (*str) -= 2; (*left) += 2; return NULL; } if (!increment_str(str, left)) { return NULL; } } return pt; } #ifdef USE_VT52 inline static int parse_vt52_escape_sequence( vt_parser_t *vt_parser /* vt_parser->r_buf.left must be more than 0 */ ) { u_char *str_p; size_t left; str_p = CURRENT_STR_P(vt_parser); left = vt_parser->r_buf.left; if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } if (*str_p == 'A') { vt_screen_go_upward(vt_parser->screen, 1); } else if (*str_p == 'B') { vt_screen_go_downward(vt_parser->screen, 1); } else if (*str_p == 'C') { vt_screen_go_forward(vt_parser->screen, 1, 0); } else if (*str_p == 'D') { vt_screen_go_back(vt_parser->screen, 1, 0); } else if (*str_p == 'F') { /* Enter graphics mode */ } else if (*str_p == 'G') { /* Exit graphics mode */ } else if (*str_p == 'H') { vt_screen_goto(vt_parser->screen, 0, 0); } else if (*str_p == 'I') { if (vt_screen_cursor_logical_row(vt_parser->screen) == 0) { vt_screen_scroll_downward(vt_parser->screen, 1); } else { vt_screen_go_upward(vt_parser->screen, 1); } } else if (*str_p == 'J') { vt_screen_clear_below(vt_parser->screen); } else if (*str_p == 'K') { vt_screen_clear_line_to_right(vt_parser->screen); } else if (*str_p == 'Y') { int row; int col; if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } if (*str_p < ' ') { goto end; } row = *str_p - ' '; if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } if (*str_p < ' ') { goto end; } col = *str_p - ' '; vt_screen_goto(vt_parser->screen, col, row); } else if (*str_p == 'Z') { char msg[] = "\x1b/Z"; vt_write_to_pty(vt_parser->pty, msg, sizeof(msg) - 1); } else if (*str_p == '=') { /* Enter altenate keypad mode */ } else if (*str_p == '>') { /* Exit altenate keypad mode */ } else if (*str_p == '<') { vt_parser->is_vt52_mode = 0; } else { /* not VT52 control sequence */ return 1; } end: vt_parser->r_buf.left = left - 1; return 1; } #endif /* * Parse escape/control sequence. Note that *any* valid format sequence * is parsed even if mlterm doesn't support it. * * Return value: * 0 => vt_parser->r_buf.left == 0 * 1 => Finished parsing. (If current vt_parser->r_buf.chars is not escape *sequence, * return without doing anthing.) */ inline static int parse_vt100_escape_sequence( vt_parser_t *vt_parser /* vt_parser->r_buf.left must be more than 0 */ ) { u_char *str_p; size_t left; #if 0 if (vt_parser->r_buf.left == 0) { /* end of string */ return 1; } #endif str_p = CURRENT_STR_P(vt_parser); left = vt_parser->r_buf.left; if (*str_p == CTL_ESC) { #ifdef ESCSEQ_DEBUG bl_msg_printf("RECEIVED ESCAPE SEQUENCE(current left = %d: ESC", left); #endif #ifdef USE_VT52 if (vt_parser->is_vt52_mode) { return parse_vt52_escape_sequence(vt_parser); } #endif if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } if (*str_p == '2') { /* "ESC 2" DECCAHT */ vt_screen_clear_all_tab_stops(vt_parser->screen); } else if (*str_p == '6') { /* "ESC 6" DECBI */ vt_screen_go_back(vt_parser->screen, 1, 1); } else if (*str_p == '7') { /* "ESC 7" save cursor (DECSC) */ save_cursor(vt_parser); } else if (*str_p == '8') { /* "ESC 8" restore cursor (DECRC) */ restore_cursor(vt_parser); } else if (*str_p == '9') { /* "ESC 9" DECFI */ vt_screen_go_forward(vt_parser->screen, 1, 1); } else if (*str_p == '=') { /* "ESC =" application keypad (DECKPAM) */ vt_parser->is_app_keypad = 1; } else if (*str_p == '>') { /* "ESC >" normal keypad (DECKPNM) */ vt_parser->is_app_keypad = 0; } else if (*str_p == 'D') { /* "ESC D" index(scroll up) (IND) */ vt_screen_index(vt_parser->screen); } else if (*str_p == 'E') { /* "ESC E" next line (NEL) */ vt_screen_line_feed(vt_parser->screen); vt_screen_goto_beg_of_line(vt_parser->screen); } #if 0 else if (*str_p == 'F') { /* "ESC F" cursor to lower left corner of screen */ } #endif else if (*str_p == 'H' || *str_p == '1') { /* "ESC H" (HTS) / "ESC 1" (DECHTS) set tab */ vt_screen_set_tab_stop(vt_parser->screen); } else if (*str_p == 'I') { /* "ESC I" (HTJ) */ vt_screen_forward_tabs(vt_parser->screen, 1); } #if 0 else if (*str_p == 'K') { /* "ESC K" (PLD) Partial Line Down */ } else if (*str_p == 'L') { /* "ESC L" (PLU) Partial Line Up */ } #endif else if (*str_p == 'M') { /* "ESC M" reverse index(scroll down) */ vt_screen_reverse_index(vt_parser->screen); } else if (*str_p == 'Z') { /* "ESC Z" return terminal id (Obsolete form of CSI c) */ send_device_attributes(vt_parser->pty, 1); } else if (*str_p == 'c') { /* "ESC c" full reset (RIS) */ full_reset(vt_parser); } #if 0 else if (*str_p == 'l') { /* "ESC l" memory lock */ } #endif #if 0 else if (*str_p == 'm') { /* "ESC m" memory unlock */ } #endif else if (*str_p == '[') { /* * "ESC [" (CSI) * CSI P.....P I.....I F * 060-077 040-057 100-176 */ #define MAX_NUM_OF_PS 10 u_char para_ch = '\0'; u_char intmed_ch = '\0'; int ps[MAX_NUM_OF_PS]; int num; num = 0; while (1) { if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } if (*str_p == ';') { /* * "CSI ; n" is regarded as "CSI -1 ; n" */ if (num < MAX_NUM_OF_PS) { ps[num++] = -1; } } else if (0x3c <= *str_p && *str_p <= 0x3f) { /* parameter character except numeric, ':' and ';' (< = > ?). */ if (para_ch == '\0') { para_ch = *str_p; } } else { if ('0' <= *str_p && *str_p <= '9') { u_char digit[DIGIT_STR_LEN(int)+1]; int count; if (*str_p == '0') { /* 000000001 -> 01 */ while (left > 1 && *(str_p + 1) == '0') { str_p++; left--; } } digit[0] = *str_p; for (count = 1; count < DIGIT_STR_LEN(int); count++) { if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } if (*str_p < '0' || '9' < *str_p) { break; } digit[count] = *str_p; } digit[count] = '\0'; if (num < MAX_NUM_OF_PS) { ps[num++] = atoi(digit); #ifdef MAX_PS_DIGIT if (ps[num - 1] > MAX_PS_DIGIT) { ps[num - 1] = MAX_PS_DIGIT; } #endif } } if (*str_p < 0x30 || 0x3f < *str_p) { /* Is not a parameter character(0x30-0x3f). */ /* * "CSI 0 n" is *not* regarded as "CSI 0 ; -1 n" * "CSI n" is regarded as "CSI -1 n" * "CSI 0 ; n" is regarded as "CSI 0 ; -1 n" * "CSI ; n" which has been already regarded as * "CSI -1 ; n" is regarded as "CSI -1 ; -1 n" */ if (num == 0 || (*(str_p - 1) == ';' && num < MAX_NUM_OF_PS)) { ps[num++] = -1; } /* num is always greater than 0 */ break; } } } /* * Intermediate(0x20-0x2f) characters. * (Unexpected paremeter(0x30-0x3f) characters are also ignored.) */ while (0x20 <= *str_p && *str_p <= 0x3f) { if (*str_p <= 0x2f && intmed_ch == '\0') { intmed_ch = *str_p; } if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } } if (para_ch == '?') { if (intmed_ch == '$') { if (*str_p == 'p' && num > 0) { /* "CSI ? $ p" DECRQM */ char seq[3 + DIGIT_STR_LEN(u_int) + 5]; sprintf(seq, "\x1b[?%d;%d$y", ps[0], (ps[0] >= VTMODE(0)) ? 0 : get_vtmode(vt_parser, ps[0])); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } } else if (*str_p == 'h') { /* "CSI ? h" DEC Private Mode Set (DECSET) */ int count; for (count = 0; count < num; count++) { if (ps[count] < VTMODE(0)) { set_vtmode(vt_parser, ps[count], 1); } } } else if (*str_p == 'i') { /* "CSI ? i" (DECMC) */ if (ps[0] <= 0 || ps[0] == 10) { snapshot(vt_parser, VT_UTF8, vt_pty_get_slave_name(vt_parser->pty) + 5 /* skip /dev/ */, WCA_SCREEN); } else if (ps[0] == 1) { snapshot(vt_parser, VT_UTF8, vt_pty_get_slave_name(vt_parser->pty) + 5 /* skip /dev/ */, WCA_CURSOR_LINE); } else if (ps[0] == 11) { snapshot(vt_parser, VT_UTF8, vt_pty_get_slave_name(vt_parser->pty) + 5 /* skip /dev/ */, WCA_ALL); } } else if (*str_p == 'l') { /* "CSI ? l" DEC Private Mode Reset (DECRST) */ int count; for (count = 0; count < num; count++) { if (ps[count] < VTMODE(0)) { set_vtmode(vt_parser, ps[count], 0); } } } else if (*str_p == 'r') { /* "CSI ? r" Restore DEC Private Mode (xterm) */ int count; for (count = 0; count < num; count++) { if (ps[count] < VTMODE(0)) { int idx; if ((idx = vtmode_num_to_idx(ps[count])) != -1) { set_vtmode(vt_parser, ps[count], (vt_parser->saved_vtmode_flags & SHIFT_FLAG64(idx)) ? 1 : 0); } } } } else if (*str_p == 's') { /* "CSI ? s" Save DEC Private Mode (xterm) */ int count; for (count = 0; count < num; count++) { if (ps[count] < VTMODE(0)) { int idx; if ((idx = vtmode_num_to_idx(ps[count])) != -1) { if (vt_parser->vtmode_flags & SHIFT_FLAG64(idx)) { vt_parser->saved_vtmode_flags |= (SHIFT_FLAG64(idx)); } else { vt_parser->saved_vtmode_flags &= ~(SHIFT_FLAG64(idx)); } } } } } else if (*str_p == 'n') { /* "CSI ? n" Device Status Report (DSR) */ send_device_status(vt_parser, ps[0], num == 2 ? ps[1] : 0); } else if (*str_p == 'J') { /* "CSI ? J" DECSED (Selective Erase Display) */ vt_protect_store_t *save; if (ps[0] <= 0) { save = vt_screen_save_protected_chars(vt_parser->screen, -1 /* cursor row */, vt_screen_get_logical_rows(vt_parser->screen) - 1, 0); vt_screen_clear_below(vt_parser->screen); vt_screen_restore_protected_chars(vt_parser->screen, save); } else if (ps[0] == 1) { save = vt_screen_save_protected_chars(vt_parser->screen, 0, -1 /* cursor row */, 0); vt_screen_clear_above(vt_parser->screen); vt_screen_restore_protected_chars(vt_parser->screen, save); } else if (ps[0] == 2) { save = vt_screen_save_protected_chars(vt_parser->screen, 0, vt_screen_get_logical_rows(vt_parser->screen) - 1, 0); clear_display_all(vt_parser); vt_screen_restore_protected_chars(vt_parser->screen, save); } } else if (*str_p == 'K') { /* "CSI ? K" DECSEL (Selective Erase Line) */ vt_protect_store_t *save; save = vt_screen_save_protected_chars(vt_parser->screen, -1 /* cursor row */, -1 /* cursor row */, 0); if (ps[0] <= 0) { vt_screen_clear_line_to_right(vt_parser->screen); } else if (ps[0] == 1) { vt_screen_clear_line_to_left(vt_parser->screen); } else if (ps[0] == 2) { clear_line_all(vt_parser); } vt_screen_restore_protected_chars(vt_parser->screen, save); } else if (*str_p == 'S') { /* * "CSI ? Pi;Pa;Pv S" (Xterm original) * The number of palettes mlterm supports is 256 alone. */ char *seq; if (num == 3 && ps[0] == 1 && (ps[1] == 1 || ps[1] == 2 || (ps[1] == 3 && ps[2] == 256))) { seq = "\x1b[?1;0;256S"; } else { seq = "\x1b[?1;3;0S"; } vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } else if (*str_p == 'W') { /* "CSI ? W" DECST8C */ vt_screen_set_tab_size(vt_parser->screen, 8); } #if 0 else if (*str_p == 'r') { /* "CSI ? r" Restore DEC Private Mode */ } #endif #if 0 else if (*str_p == 's') { /* "CSI ? s" Save DEC Private Mode */ } #endif /* Other final character */ else if (0x40 <= *str_p && *str_p <= 0x7e) { #ifdef DEBUG debug_print_unknown("ESC [ ? %c\n", *str_p); #endif } else { /* not VT100 control sequence. */ #ifdef ESCSEQ_DEBUG bl_msg_printf("=> not VT100 control sequence.\n"); #endif return 1; } } else if (para_ch == '<') { /* Teraterm compatible IME control sequence */ if (*str_p == 'r') { /* Restore IME state */ if (vt_parser->im_is_active != im_is_active(vt_parser)) { switch_im_mode(vt_parser); } } else if (*str_p == 's') { /* Save IME state */ vt_parser->im_is_active = im_is_active(vt_parser); } else if (*str_p == 't') { /* ps[0] = 0 (Close), ps[0] = 1 (Open) */ if (ps[0] != im_is_active(vt_parser)) { switch_im_mode(vt_parser); } } } else if (para_ch == '>') { if (*str_p == 'c') { /* "CSI > c" Secondary DA (DA2) */ send_device_attributes(vt_parser->pty, 2); } else if (*str_p == 'm') { /* "CSI > m" */ if (ps[0] == -1) { /* reset to initial value. */ set_modkey_mode(vt_parser, 1, 2); set_modkey_mode(vt_parser, 2, 2); set_modkey_mode(vt_parser, 4, 0); } else { if (num == 1 || ps[1] == -1) { if (ps[0] == 1 || /* modifyCursorKeys */ ps[0] == 2) /* modifyFunctionKeys */ { /* The default is 2. */ ps[1] = 2; } else /* if( ps[0] == 4) */ { /* * modifyOtherKeys * The default is 0. */ ps[1] = 0; } } set_modkey_mode(vt_parser, ps[0], ps[1]); } } else if (*str_p == 'n') { /* "CSI > n" */ if (num == 1) { if (ps[0] == -1) { ps[0] = 2; } /* -1: don't send modifier key code. */ set_modkey_mode(vt_parser, ps[0], -1); } } else if (*str_p == 'p') { /* "CSI > p" pointer mode */ if (HAS_XTERM_LISTENER(vt_parser, hide_cursor)) { (*vt_parser->xterm_listener->hide_cursor)(vt_parser->xterm_listener->self, ps[0] == 2 ? 1 : 0); } } else if (*str_p == 't') { /* "CSI > t" */ int count; for (count = 0; count < num; count++) { if (ps[count] == 0) { vt_parser->set_title_using_hex = 1; } else if (ps[count] == 1) { vt_parser->get_title_using_hex = 1; } else if (ps[count] == 2) { vt_parser->set_title_using_utf8 = 1; } else if (ps[count] == 3) { vt_parser->get_title_using_utf8 = 1; } } } else if (*str_p == 'T') { /* "CSI > T" */ int count; for (count = 0; count < num; count++) { if (ps[count] == 0) { vt_parser->set_title_using_hex = 0; } else if (ps[count] == 1) { vt_parser->get_title_using_hex = 0; } else if (ps[count] == 2) { vt_parser->set_title_using_utf8 = 0; } else if (ps[count] == 3) { vt_parser->get_title_using_utf8 = 0; } } } else { /* * "CSI > c" */ } } else if (para_ch == '=') { if (*str_p == 'c') { /* "CSI = c" Tertiary DA (DA3) */ send_device_attributes(vt_parser->pty, 3); } } else if (intmed_ch == '!') { if (*str_p == 'p') { /* "CSI ! p" Soft Terminal Reset (DECSTR) */ soft_reset(vt_parser); } } else if (intmed_ch == '$') { int count; if (*str_p == 'p') { /* "CSI $ p" DECRQM */ if (num > 0) { char seq[2 + DIGIT_STR_LEN(u_int) + 5]; sprintf(seq, "\x1b[%d;%d$y", ps[0], get_vtmode(vt_parser, VTMODE(ps[0]))); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } } else if (*str_p == '|') { /* "CSI $ |" DECSCPP */ /* * DECSCPP doesns't clear screen, reset scroll regions or moves the cursor * as does DECCOLM. */ if (ps[0] <= 0 || ps[0] == 80) { resize(vt_parser, 80, 0, 1); } else if (ps[0] == 132) { resize(vt_parser, 132, 0, 1); } } else if (*str_p == '}') { /* "CSI $ }" DECSASD */ if (ps[0] <= 0) { vt_focus_main_screen(vt_parser->screen); } else if (ps[0] == 1) { vt_focus_status_line(vt_parser->screen); } } else if (*str_p == '~') { /* "CSI $ ~" DECSSDT */ set_use_status_line(vt_parser, ps[0]); } else if (*str_p == 'u') { if (ps[0] == 1) { /* "CSI 1 $ u" DECRQTSR */ vt_write_to_pty(vt_parser->pty, "\x1bP0$s\x1b\\", 7); } else if (ps[0] == 2) { if (num == 2) { /* "CSI 2;Pu $ u" DECCTR */ report_color_table(vt_parser, ps[1]); } } } else if (*str_p == 'w') { /* "CSI $ w" DECRQPSR */ if (num == 1) { report_presentation_state(vt_parser, ps[0]); } } else { if (*str_p == 'x') { /* DECFRA: Move Pc to the end */ int tmp; tmp = ps[0]; memmove(ps, ps + 1, sizeof(ps[0]) * 4); ps[4] = tmp; } /* Set the default values to the 0-3 parameters. */ for (count = 0; count < 4; count++) { if (count >= num || ps[count] <= 0) { if (count == 2) { ps[count] = vt_screen_get_logical_rows(vt_parser->screen); } else if (count == 3) { ps[count] = vt_screen_get_logical_cols(vt_parser->screen); } else { ps[count] = 1; } } } if (ps[3] >= ps[1] && ps[2] >= ps[0]) { if (*str_p == 'z') { /* "CSI ... $ z" DECERA */ vt_screen_erase_area(vt_parser->screen, ps[1] - 1, ps[0] - 1, ps[3] - ps[1] + 1, ps[2] - ps[0] + 1); } else if (*str_p == '{') { /* "CSI ... $ {" DECSERA */ vt_protect_store_t *save; save = vt_screen_save_protected_chars(vt_parser->screen, ps[0] - 1, ps[2] - 1, 1); vt_screen_erase_area(vt_parser->screen, ps[1] - 1, ps[0] - 1, ps[3] - ps[1] + 1, ps[2] - ps[0] + 1); vt_screen_restore_protected_chars(vt_parser->screen, save); } else if (*str_p == 'v' && num >= 8) { /* "CSI ... $ v" DECCRA */ for (count = 4; count < 8; count++) { if (ps[count] <= 0) { ps[count] = 1; } } vt_screen_copy_area(vt_parser->screen, ps[1] - 1, ps[0] - 1, ps[3] - ps[1] + 1, ps[2] - ps[0] + 1, ps[4] - 1, ps[6] - 1, ps[5] - 1, ps[7] - 1); } else if (*str_p == 'x' && num >= 1) { /* "CSI ... $ x" DECFRA */ vt_screen_fill_area(vt_parser->screen, ps[4], vt_parser->is_protected, ps[1] - 1, ps[0] - 1, ps[3] - ps[1] + 1, ps[2] - ps[0] + 1); } else if (*str_p == 'r') { /* "CSI Pt;Pl;Pb;Pr;...$r" DECCARA */ for (count = 4; count < num; count++) { vt_screen_change_attr_area(vt_parser->screen, ps[1] - 1, ps[0] - 1, ps[3] - ps[1] + 1, ps[2] - ps[0] + 1, ps[count]); } } else if (*str_p == 't') { /* "CSI Pt;Pl;Pb;Pr;...$t" DECRARA */ for (count = 4; count < num; count++) { vt_screen_reverse_attr_area(vt_parser->screen, ps[1] - 1, ps[0] - 1, ps[3] - ps[1] + 1, ps[2] - ps[0] + 1, ps[count]); } } } } } else if (intmed_ch == ' ') { if (*str_p == 'q') { /* "CSI SP q" DECSCUSR */ if (ps[0] < 2) { vt_parser->cursor_style = CS_BLOCK|CS_BLINK; } else if (ps[0] == 2) { vt_parser->cursor_style = CS_BLOCK; } else if (ps[0] == 3) { vt_parser->cursor_style = CS_UNDERLINE|CS_BLINK; } else if (ps[0] == 4) { vt_parser->cursor_style = CS_UNDERLINE; } else if (ps[0] == 5) { vt_parser->cursor_style = CS_BAR|CS_BLINK; } else if (ps[0] == 6) { vt_parser->cursor_style = CS_BAR; } } else { if (ps[0] <= 0) { ps[0] = 1; } if (*str_p == '@') { /* CSI SP @ (SL) */ vt_screen_scroll_leftward(vt_parser->screen, ps[0]); } else if (*str_p == 'A') { /* CSI SP A (SR) */ vt_screen_scroll_rightward(vt_parser->screen, ps[0]); } else if (*str_p == 'P') { /* CSI SP P (PPA) */ vt_screen_goto_page(vt_parser->screen, ps[0] - 1); } else if (*str_p == 'Q') { /* CSI SP Q (PPR) */ vt_screen_goto_next_page(vt_parser->screen, ps[0]); } else if (*str_p == 'R') { /* CSI SP R (PPB) */ vt_screen_goto_prev_page(vt_parser->screen, ps[0]); } else { /* * "CSI SP t"(DECSWBV), "CSI SP u"(DECSMBV) */ } } } else if (intmed_ch == '*') { if (ps[0] == -1) { ps[0] = 0; } if (*str_p == 'z') { /* "CSI Pn * z" DECINVM */ invoke_macro(vt_parser, ps[0]); } else if (*str_p == 'x') { /* "CSI Pn * x " DECSACE */ vt_screen_set_use_rect_attr_select(vt_parser->screen, ps[0] == 2); } else if (*str_p == '|') { /* "CSI Pn * |" DECSNLS */ resize(vt_parser, 0, ps[0], 1); } } else if (intmed_ch == '\'') { if (*str_p == '|') { /* "CSI ' |" DECRQLP */ request_locator(vt_parser); } else if (*str_p == '{') { /* "CSI Pn ' {" DECSLE */ int count; for (count = 0; count < num; count++) { if (ps[count] == 1) { vt_parser->locator_mode |= LOCATOR_BUTTON_DOWN; } else if (ps[count] == 2) { vt_parser->locator_mode &= ~LOCATOR_BUTTON_DOWN; } else if (ps[count] == 3) { vt_parser->locator_mode |= LOCATOR_BUTTON_UP; } else if (ps[count] == 4) { vt_parser->locator_mode &= ~LOCATOR_BUTTON_UP; } else { vt_parser->locator_mode &= ~(LOCATOR_BUTTON_UP | LOCATOR_BUTTON_DOWN); } } } else if (*str_p == '}') { /* "CSI ' }" DECIC */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_scroll_rightward_from_cursor(vt_parser->screen, ps[0]); } else if (*str_p == '~') { /* "CSI ' ~" DECDC */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_scroll_leftward_from_cursor(vt_parser->screen, ps[0]); } else if (*str_p == 'w') { /* "CSI ' w" DECEFR Filter Rectangle */ if (num == 4) { #if 0 if (top > ps[0] || left > ps[1] || bottom < ps[2] || right < ps[3]) { /* * XXX * An outside rectangle event should * be sent immediately. */ } #endif vt_parser->loc_filter.top = ps[0]; vt_parser->loc_filter.left = ps[1]; vt_parser->loc_filter.bottom = ps[2]; vt_parser->loc_filter.right = ps[3]; } vt_parser->locator_mode |= LOCATOR_FILTER_RECT; } else if (*str_p == 'z') { /* "CSI ' z" DECELR */ vt_parser->locator_mode &= ~LOCATOR_FILTER_RECT; memset(&vt_parser->loc_filter, 0, sizeof(vt_parser->loc_filter)); if (ps[0] <= 0) { if (vt_parser->mouse_mode >= LOCATOR_CHARCELL_REPORT) { set_mouse_report(vt_parser, 0); } } else { vt_parser->locator_mode |= ps[0] == 2 ? LOCATOR_ONESHOT : 0; set_mouse_report(vt_parser, (num == 1 || ps[1] <= 0 || ps[1] == 2) ? LOCATOR_CHARCELL_REPORT : LOCATOR_PIXEL_REPORT); } } } else if (intmed_ch == '\"') { if (*str_p == 'v') { /* "CSI " v" DECRQDE */ send_display_extent(vt_parser->pty, vt_screen_get_logical_cols(vt_parser->screen), vt_screen_get_logical_rows(vt_parser->screen), vt_parser->screen->edit->hmargin_beg + 1, vt_parser->screen->edit->vmargin_beg + 1, vt_screen_get_page_id(vt_parser->screen) + 1); } else if (*str_p == 'q') { /* "CSI " q" DECSCA */ if (ps[0] <= 0 || ps[0] == 2) { vt_parser->is_protected = 0; } else if (ps[0] == 1) { vt_parser->is_protected = 1; } } else { /* "CSI " p"(DECSCL) etc */ } } else if (intmed_ch == ',') { if (*str_p == '|') { /* "CSI Ps1;Ps2;Ps3,|" (DECAC) */ if (num == 3 && ps[0] == 1 && ((u_int)ps[1]) <= 255 && ((u_int)ps[2]) <= 255) { config_protocol_set_simple(vt_parser, "fg_color", vt_get_color_name(ps[1]), 0); config_protocol_set_simple(vt_parser, "bg_color", vt_get_color_name(ps[2]), 1); } } else if (*str_p == '}') { /* "CSI Ps1;Ps2;Ps3,}" (DECATC) */ if (num == 3 && ((u_int)ps[0]) <= 15 && ((u_int)ps[1]) <= 255 && ((u_int)ps[2] <= 255)) { int idx = alt_color_idxs[ps[0]]; vt_parser->alt_colors.flags |= (1 << idx); vt_parser->alt_colors.fg[idx] = ps[1]; vt_parser->alt_colors.bg[idx] = ps[2]; } } } else if (intmed_ch == ')') { if (*str_p == '{') { /* "CSI ) {" DECSTGLT */ if (ps[0] <= 0) { vt_parser->use_ansi_colors = 0; } else if (ps[0] <= 3) { /* * ps[0] == 1 or 2 enables "Alternate color", but mlterm always enables it * if DECATC specifies alternate colors. */ vt_parser->use_ansi_colors = 1; } } } else if (intmed_ch == '+') { if (*str_p == 'p') { /* "CSI + p" DECSR */ full_reset(vt_parser); if (ps[0] >= 0) { char seq[2+DIGIT_STR_LEN(ps[0])+3]; sprintf(seq, "\x1b[%d*q", ps[0]); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } } } /* Other para_ch(0x3a-0x3f) or intmed_ch(0x20-0x2f) */ else if (para_ch || intmed_ch) { #ifdef DEBUG debug_print_unknown("ESC [ %c %c\n", para_ch, intmed_ch, *str_p); #endif } else if (*str_p == '@') { /* "CSI @" insert blank chars (ICH) */ if (ps[0] <= 0) { ps[0] = 1; } /* inserting ps[0] blank characters. */ vt_screen_insert_blank_chars(vt_parser->screen, ps[0]); } else if (*str_p == 'A' || *str_p == 'k') { /* "CSI A" = CUU , "CSI k" = VPB */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_upward(vt_parser->screen, ps[0]); } else if (*str_p == 'B' || *str_p == 'e') { /* "CSI B" = CUD , "CSI e" = VPR */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_downward(vt_parser->screen, ps[0]); } else if (*str_p == 'C' || *str_p == 'a') { /* "CSI C" = CUF , "CSI a" = HPR */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_forward(vt_parser->screen, ps[0], 0); } else if (*str_p == 'D' || *str_p == 'j') { /* "CSI D" = CUB , "CSI j" = HPB */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_back(vt_parser->screen, ps[0], 0); } else if (*str_p == 'E') { /* "CSI E" down and goto first column (CNL) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_downward(vt_parser->screen, ps[0]); vt_screen_goto_beg_of_line(vt_parser->screen); } else if (*str_p == 'F') { /* "CSI F" up and goto first column (CPL) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_upward(vt_parser->screen, ps[0]); vt_screen_goto_beg_of_line(vt_parser->screen); } else if (*str_p == 'G' || *str_p == '`') { /* * "CSI G" (CHA), "CSI `" (HPA) * cursor position absolute. */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_horizontally(vt_parser->screen, ps[0] - 1); } else if (*str_p == 'H' || *str_p == 'f') { /* "CSI H" (CUP) "CSI f" (HVP) */ if (ps[0] <= 0) { ps[0] = 1; } if (num <= 1 || ps[1] <= 0) { ps[1] = 1; } vt_screen_goto(vt_parser->screen, ps[1] - 1, ps[0] - 1); } else if (*str_p == 'I') { /* "CSI I" cursor forward tabulation (CHT) */ if (ps[0] == -1) { /* * "CSI 0 I" => No tabulation. * "CSI I" => 1 taburation. */ ps[0] = 1; } vt_screen_forward_tabs(vt_parser->screen, ps[0]); } else if (*str_p == 'J') { /* "CSI J" Erase in Display (ED) */ if (ps[0] <= 0) { vt_screen_clear_below(vt_parser->screen); } else if (ps[0] == 1) { vt_screen_clear_above(vt_parser->screen); } else if (ps[0] == 2) { clear_display_all(vt_parser); } } else if (*str_p == 'K') { /* "CSI K" Erase in Line (EL) */ if (ps[0] <= 0) { vt_screen_clear_line_to_right(vt_parser->screen); } else if (ps[0] == 1) { vt_screen_clear_line_to_left(vt_parser->screen); } else if (ps[0] == 2) { clear_line_all(vt_parser); } } else if (*str_p == 'L') { /* "CSI L" IL */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_insert_new_lines(vt_parser->screen, ps[0]); } else if (*str_p == 'M') { /* "CSI M" DL */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_delete_lines(vt_parser->screen, ps[0]); } else if (*str_p == 'P') { /* "CSI P" delete chars (DCH) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_delete_cols(vt_parser->screen, ps[0]); } else if (*str_p == 'S') { /* "CSI S" scroll up (SU) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_scroll_upward(vt_parser->screen, ps[0]); } else if (*str_p == 'T') { /* "CSI T" scroll down (SD) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_scroll_downward(vt_parser->screen, ps[0]); } else if (*str_p == 'U') { /* "CSI U" (NP) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_goto_next_page(vt_parser->screen, ps[0]); vt_screen_goto_home(vt_parser->screen); } else if (*str_p == 'V') { /* "CSI V" (PP) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_goto_prev_page(vt_parser->screen, ps[0]); vt_screen_goto_home(vt_parser->screen); } else if (*str_p == 'W') { /* "CSI W" Cursor Tabluation Control (CTC) */ if (ps[0] <= 0) { vt_screen_set_tab_stop(vt_parser->screen); } else if (ps[0] == 2) { vt_screen_clear_tab_stop(vt_parser->screen); } else if (ps[0] == 4 || ps[0] == 5) { vt_screen_clear_all_tab_stops(vt_parser->screen); } } else if (*str_p == 'X') { /* "CSI X" erase characters (ECH) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_clear_cols(vt_parser->screen, ps[0]); } else if (*str_p == 'Z') { /* "CSI Z" cursor backward tabulation (CBT) */ if (ps[0] == -1) { /* * "CSI 0 Z" => No tabulation. * "CSI Z" => 1 taburation. */ ps[0] = 1; } vt_screen_backward_tabs(vt_parser->screen, ps[0]); } else if (*str_p == 'b') { /* "CSI b" repeat the preceding graphic character(REP) */ if (vt_parser->w_buf.last_ch) { int count; if (ps[0] <= 0) { ps[0] = 1; } for (count = 0; count < ps[0]; count++) { (*vt_parser->w_buf.output_func)(vt_parser->screen, vt_parser->w_buf.last_ch, 1); } vt_parser->w_buf.last_ch = NULL; } } else if (*str_p == 'c') { /* "CSI c" Primary DA (DA1) */ send_device_attributes(vt_parser->pty, 1); } else if (*str_p == 'd') { /* "CSI d" line position absolute(VPA) */ if (ps[0] <= 0) { ps[0] = 1; } vt_screen_go_vertically(vt_parser->screen, ps[0] - 1); } else if (*str_p == 'g') { /* "CSI g" tab clear (TBC) */ if (ps[0] <= 0) { vt_screen_clear_tab_stop(vt_parser->screen); } else if (ps[0] == 3) { vt_screen_clear_all_tab_stops(vt_parser->screen); } } else if (*str_p == 'h') { /* "CSI h" (SM) */ int count; for (count = 0; count < num; count++) { set_vtmode(vt_parser, VTMODE(ps[count]), 1); } } else if (*str_p == 'i') { /* "CSI i" (MC) */ if (ps[0] <= 0) { snapshot(vt_parser, VT_UTF8, vt_pty_get_slave_name(vt_parser->pty) + 5 /* skip /dev/ */, WCA_SCREEN); } else if (ps[0] == 1) { snapshot(vt_parser, VT_UTF8, vt_pty_get_slave_name(vt_parser->pty) + 5 /* skip /dev/ */, WCA_CURSOR_LINE); } } else if (*str_p == 'l') { /* "CSI l" (RM) */ int count; for (count = 0; count < num; count++) { set_vtmode(vt_parser, VTMODE(ps[count]), 0); } } else if (*str_p == 'm') { /* "CSI m" (SGR) */ int count; for (count = 0; count < num;) { int proceed; if ((proceed = change_char_fine_color(vt_parser, ps + count, num - count))) { count += proceed; } else { if (ps[count] < 0) { ps[count] = 0; } change_char_attr(vt_parser, ps[count++]); } } } else if (*str_p == 'n') { /* "CSI n" Device Status Report (DSR) */ if (ps[0] == 5) { /* Operating Status */ vt_write_to_pty(vt_parser->pty, "\x1b[0n", 4); } else if (ps[0] == 6) { /* CPR */ char seq[4 + DIGIT_STR_LEN(u_int) * 2 + 1]; sprintf(seq, "\x1b[%d;%dR", vt_screen_cursor_logical_row(vt_parser->screen) + 1, vt_screen_cursor_logical_col(vt_parser->screen) + 1); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); } } else if (*str_p == 'r') { /* "CSI r" set scroll region (DECSTBM) */ if (ps[0] < 0) { ps[0] = 0; } if (num <= 1 || ps[1] < 0) { ps[1] = 0; } vt_screen_set_vmargin(vt_parser->screen, ps[0] - 1, ps[1] - 1); } else if (*str_p == 's') { /* "CSI s" SCOSC or DECSLRM */ if (num <= 1 || ps[1] <= 0) { ps[1] = vt_screen_get_logical_cols(vt_parser->screen); } if (!vt_screen_set_hmargin(vt_parser->screen, ps[0] <= 0 ? 0 : ps[0] - 1, ps[1] - 1) && num == 1 && ps[0] == -1) { save_cursor(vt_parser); } } else if (*str_p == 't') { /* "CSI t" */ if (ps[0] == 4 || ps[0] == 8) { if (num == 2) { ps[2] = 0; num = 3; } if (num == 3) { resize(vt_parser, ps[2], ps[1], ps[0] == 8); } } else if (ps[0] == 9) { if (num == 2 && 0 <= ps[1] && ps[1] <= 3) { int flag; if (ps[1] >= 2) { flag = ps[1]; /* MAXIMIZE VERTICALLY or HORIZONTALLY */ } else { flag = (ps[1] == 0 ? 1 /* UNMAXIMIZE */ : 4 /* MAXIMIZE FULL */); } set_maximize(vt_parser, flag); } } else if (num == 2) { if (ps[0] == 22) { if (ps[1] == 0 || ps[1] == 1) { push_to_saved_names(&vt_parser->saved_icon_names, vt_parser->icon_name); } if (ps[1] == 0 || ps[1] == 2) { push_to_saved_names(&vt_parser->saved_win_names, vt_parser->win_name); } } else if (ps[0] == 23) { if ((ps[1] == 0 || ps[1] == 1) && vt_parser->saved_icon_names.num > 0) { set_icon_name(vt_parser, pop_from_saved_names(&vt_parser->saved_icon_names)); } if ((ps[1] == 0 || ps[1] == 2) && vt_parser->saved_win_names.num > 0) { set_window_name(vt_parser, pop_from_saved_names(&vt_parser->saved_win_names)); } } } else { if (ps[0] == 7) { char cmd[] = "update_all"; config_protocol_set(vt_parser, cmd, 0); } else if (ps[0] == 13) { vt_write_to_pty(vt_parser->pty, "\x1b[3;0;0t", 8); } else if (ps[0] == 14) { report_window_size(vt_parser, 0); } else if (ps[0] == 18) { report_window_size(vt_parser, 1); } else if (ps[0] == 20) { report_window_or_icon_name(vt_parser, 1); } else if (ps[0] == 21) { report_window_or_icon_name(vt_parser, 0); } else if (ps[0] >= 24) { /* * "CSI Pn t" DECSLPP * This changes not only the number of lines but also * the number of pages, but mlterm doesn't change the latter. */ resize(vt_parser, 0, ps[0], 1); } } } else if (*str_p == 'u') { /* "CSI u" (SCORC) */ restore_cursor(vt_parser); } else if (*str_p == 'x') { /* "CSI x" request terminal parameters (DECREQTPARM) */ /* XXX the same as rxvt */ if (ps[0] < 0) { ps[0] = 0; } if (ps[0] == 0 || ps[0] == 1) { char seq[] = "\x1b[X;1;1;112;112;1;0x"; /* '+ 0x30' lets int to char */ seq[2] = ps[0] + 2 + 0x30; vt_write_to_pty(vt_parser->pty, seq, sizeof(seq) - 1); } } #if 0 else if (*str_p == '^') { /* "CSI ^" initiate hilite mouse tracking. */ } #endif /* Other final character */ else if (0x40 <= *str_p && *str_p <= 0x7e) { #ifdef DEBUG debug_print_unknown("ESC [ %c\n", *str_p); #endif } else { /* not VT100 control sequence. */ #ifdef ESCSEQ_DEBUG bl_msg_printf("=> not VT100 control sequence.\n"); #endif return 1; } } else if (*str_p == ']') { /* "ESC ]" (OSC) */ char digit[DIGIT_STR_LEN(int)+1]; int count; int ps; u_char *pt; if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } for (count = 0; count < DIGIT_STR_LEN(int); count++) { if ('0' <= *str_p && *str_p <= '9') { digit[count] = *str_p; if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } } else { break; } } if (count > 0 && *str_p == ';') { digit[count] = '\0'; /* if digit is illegal , ps is set 0. */ ps = atoi(digit); #ifdef MAX_PS_DIGIT if (ps > MAX_PS_DIGIT) { ps = MAX_PS_DIGIT; } #endif if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 1)) { return 0; } } else { /* Illegal OSC format */ ps = -1; } pt = str_p; /* * +1 in case str_p[left - vt_parser->r_buf.new_len] points * "\\" of "\x1b\\". */ if (left > vt_parser->r_buf.new_len + 1) { str_p += (left - vt_parser->r_buf.new_len - 1); left = vt_parser->r_buf.new_len + 1; } if (!get_pt_in_esc_seq(&str_p, &left, 0, 1)) { if (left == 0) { return 0; } #ifdef DEBUG else { debug_print_unknown("ESC ] %d ; ???\n", ps); } #endif } else if (ps == 0) { /* "OSC 0" change icon name and window title */ if (*pt != '\0') { if ((pt = parse_title(vt_parser, strdup(pt)))) { set_window_name(vt_parser, pt); set_icon_name(vt_parser, strdup(pt)); } } } else if (ps == 1) { /* "OSC 1" change icon name */ if (*pt != '\0') { if ((pt = parse_title(vt_parser, strdup(pt)))) { set_icon_name(vt_parser, pt); } } } else if (ps == 2) { /* "OSC 2" change window title */ if (*pt != '\0') { if ((pt = parse_title(vt_parser, strdup(pt)))) { set_window_name(vt_parser, pt); } } } else if (ps == 4) { /* "OSC 4" change 256 color */ change_color_rgb(vt_parser, pt); } else if (ps == 5) { /* "OSC 5" change colorBD/colorUL */ change_special_color(vt_parser, pt); } else if (ps == 10) { /* "OSC 10" fg color */ if (strcmp(pt, "?") == 0) /* ?:query rgb */ { get_rgb(vt_parser, ps, VT_FG_COLOR); } else { config_protocol_set_simple(vt_parser, "fg_color", pt, 1); } } else if (ps == 11) { /* "OSC 11" bg color */ if (strcmp(pt, "?") == 0) /* ?:query rgb */ { get_rgb(vt_parser, ps, VT_BG_COLOR); } else { config_protocol_set_simple(vt_parser, "bg_color", pt, 1); } } else if (ps == 12) { /* "OSC 12" cursor bg color */ if (strcmp(pt, "?") != 0) /* ?:query rgb */ { config_protocol_set_simple(vt_parser, "cursor_bg_color", pt, 1); } } else if (ps == 20) { /* "OSC 20" (Eterm compatible) */ /* edit commands */ char *p; /* XXX discard all adjust./op. settings.*/ /* XXX may break multi-byte char string. */ if ((p = strchr(pt, ';'))) { *p = '\0'; } if ((p = strchr(pt, ':'))) { *p = '\0'; } if (*pt == '\0') { /* * Do not change current edit but * alter diaplay setting. * XXX nothing can be done for now. */ return 0; } config_protocol_set_simple(vt_parser, "wall_picture", pt, 1); } #if 0 else if (ps == 46) { /* "OSC 46" change log file */ } else if (ps == 50) { /* "OSC 50" set font */ } #endif else if (ps == 52) { set_selection(vt_parser, pt); } else if (ps == 104) { change_color_rgb(vt_parser, pt); } else if (ps == 105) { change_special_color(vt_parser, pt); } #if 0 else if (ps == 110) { config_protocol_set_simple(vt_parser, "fg_color", "black", 1); } else if (ps == 111) { config_protocol_set_simple(vt_parser, "bg_color", "white", 1); } else if (ps == 112) { config_protocol_set_simple(vt_parser, "cursor_bg_color", "black", 1); } #endif #ifdef SUPPORT_ITERM2_OSC1337 else if (ps == 1337) { iterm2_proprietary_set(vt_parser, pt); } #endif else if (ps == 5379) { /* "OSC 5379" set */ config_protocol_set(vt_parser, pt, 0); } else if (ps == 5380) { /* "OSC 5380" get */ config_protocol_get(vt_parser, pt, 0, NULL); } else if (ps == 5381) { /* "OSC 5381" get(menu) */ config_protocol_get(vt_parser, pt, 1, NULL); } else if (ps == 5383) { /* "OSC 5383" set&save */ config_protocol_set(vt_parser, pt, 1); } #ifdef DEBUG else if (ps == -1) { debug_print_unknown("ESC ] %s\n", pt); } else { debug_print_unknown("ESC ] %d ; %s\n", ps, pt); } #endif } else if (*str_p == 'P') { /* "ESC P" DCS */ u_char *dcs_beg; #ifndef NO_IMAGE char *path; #endif while (1) { /* ESC P ... */ dcs_beg = str_p - 1; break; parse_dcs: /* 0x90 ... */ dcs_beg = str_p; break; } do { if (!increment_str(&str_p, &left)) { return 0; } } while (*str_p == ';' || ('0' <= *str_p && *str_p <= '9')); #ifndef NO_IMAGE if (/* sixel */ (*str_p == 'q' && (path = get_home_file_path("", vt_pty_get_slave_name(vt_parser->pty) + 5, "six"))) || /* ReGIS */ (*str_p == 'p' && (path = get_home_file_path("", vt_pty_get_slave_name(vt_parser->pty) + 5, "rgs")))) { int is_end; FILE *fp; if (left > 2 && *(str_p + 1) == '\0') { fp = fopen(path, "a"); is_end = *(str_p + 2); /* * dcs_beg will equal to str_p after str_p is * incremented by the following increment_str(). */ dcs_beg = (str_p += 2) + 1; left -= 2; } else { char *format; vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; fp = fopen(path, "w"); is_end = 0; if (strcmp(path + strlen(path) - 4, ".rgs") == 0) { /* Clear background by VT_BG_COLOR */ /* 13 + 3*3 + 1 = 23 */ format = "S(I(R%dG%dB%d))S(E)"; color = VT_BG_COLOR; } else if (strcmp(path + strlen(path) - 4, ".six") == 0) { /* * Set VT_FG_COLOR to the default value of the first entry of the sixel palette, * because some sixel graphics data has not palette definitions (#0;2;r;g;b). * '9' is a mark which means that this definition is added by mlterm itself. * (see c_sixel.c) */ /* 7 + 3*3 + 1 = 17 */ format = "#0;9;%d;%d;%d"; color = VT_FG_COLOR; } else { format = NULL; } if (format && HAS_XTERM_LISTENER(vt_parser, get_rgb) && (*vt_parser->xterm_listener->get_rgb)(vt_parser->xterm_listener->self, &red, &green, &blue, color)) { char color_seq[23]; if (color == VT_FG_COLOR) { /* sixel */ red = red * 100 / 255; green = green * 100 / 255; blue = blue * 100 / 255; } fwrite(dcs_beg, 1, str_p - dcs_beg + 1, fp); sprintf(color_seq, format, red, green, blue); fwrite(color_seq, 1, strlen(color_seq), fp); dcs_beg = str_p + 1; } /* * +1 in case str_p[left - vt_parser->r_buf.new_len] * points "\\" of "\x1b\\". */ if (left > vt_parser->r_buf.new_len + 1) { str_p += (left - vt_parser->r_buf.new_len - 1); left = vt_parser->r_buf.new_len + 1; } } while (1) { if (!increment_str(&str_p, &left)) { if (is_end == 2) { left++; break; } if (vt_parser->logging_vt_seq && use_ttyrec_format) { fclose(fp); free(path); return 0; } fwrite(dcs_beg, 1, str_p - dcs_beg + 1, fp); vt_parser->r_buf.left = 0; if (!receive_bytes(vt_parser)) { fclose(fp); memcpy(vt_parser->r_buf.chars, strcmp(path + strlen(path) - 4, ".six") == 0 ? "\x1bPq\0" : "\x1bPp\0", 4); free(path); vt_parser->r_buf.chars[4] = is_end; vt_parser->r_buf.filled_len = vt_parser->r_buf.left = 5; /* No more data in pty. */ vt_parser->yield = 1; return 0; } dcs_beg = str_p = CURRENT_STR_P(vt_parser); left = vt_parser->r_buf.left; } if (is_end == 2) { u_char *p; p = str_p; /* \x38 == '8' */ if (strncmp(p, "\x1d\x38k @\x1f", 6) == 0) { /* XXX Hack for biplane.six */ p += 6; } if (*p == 0x90 || /* XXX If left == 0 and next char is 'P'... */ (*p == CTL_ESC && left > p - str_p + 1 && *(p + 1) == 'P')) { /* continued ... */ is_end = 0; } else { str_p--; left++; break; } } /* * 0x9c is regarded as ST here, because sixel sequence * unuses it certainly. */ else if (*str_p == 0x9c) { is_end = 2; } else if (*str_p == CTL_ESC) { is_end = 1; } else if (is_end == 1) { if (*str_p == '\\') { is_end = 2; } else { is_end = 0; } } } fwrite(dcs_beg, 1, str_p - dcs_beg + 1, fp); fclose(fp); if (strcmp(path + strlen(path) - 4, ".six") == 0) { show_picture(vt_parser, path, 0, 0, 0, 0, 0, 0, (!vt_parser->sixel_scrolling && check_sixel_anim(vt_parser->screen, str_p, left)) ? 2 : 1); } else { /* ReGIS */ int orig_flag; orig_flag = vt_parser->sixel_scrolling; vt_parser->sixel_scrolling = 0; show_picture(vt_parser, path, 0, 0, 0, 0, 0, 0, 1); vt_parser->sixel_scrolling = orig_flag; } free(path); } else #endif /* NO_IMAGE */ if (*str_p == '{') { /* DECDLD */ u_char *pt; vt_drcs_font_t *font; int num; u_char *p; int ps[8]; int idx; int is_end; u_int width; u_int height; while (1) { if (*str_p == 0x9c || (*str_p == CTL_ESC && left > 1 && *(str_p + 1) == '\\')) { *str_p = '\0'; increment_str(&str_p, &left); break; } else if (!increment_str(&str_p, &left)) { return 0; } } if (*dcs_beg == '\x1b') { pt = dcs_beg + 2; } else /* if( *dcs_beg == '\x90') */ { pt = dcs_beg + 1; } for (num = 0; num < 8; num++) { p = pt; while ('0' <= *pt && *pt <= '9') { pt++; } if (*pt == ';' || *pt == '{') { *(pt++) = '\0'; } else { break; } ps[num] = *p ? atoi(p) : 0; } if (*pt == ' ') { /* ESC ( SP Ft */ pt++; } vt_drcs_select(vt_parser->drcs); if (num != 8) { /* illegal format */ } else if (*pt == '\0') { if (ps[2] == 2) { vt_drcs_final_full(); } } else if (0x30 <= *pt && *pt <= 0x7e) { ef_charset_t cs; if (ps[7] == 0) { idx = (ps[1] == 0 ? 1 : ps[1]); cs = CS94SB_ID(*pt); } else { idx = ps[1]; cs = CS96SB_ID(*pt); } if (ps[2] == 0) { vt_drcs_final(cs); } else if (ps[2] == 2) { vt_drcs_final_full(); } font = vt_drcs_get_font(cs, 1); if (ps[3] <= 4 || ps[3] >= 255) { width = 15; } else { width = ps[3]; } if (ps[6] == 0 || ps[6] >= 255) { height = 12; } else { height = ps[6]; } while (1) { p = ++pt; while (*pt == '/' || ('?' <= *pt && *pt <= '~')) { pt++; } if (*pt) { *pt = '\0'; is_end = 0; } else { is_end = 1; } if (*p) { if (strlen(p) == (width + 1) * ((height + 5) / 6) - 1) { vt_drcs_add(font, idx, p, width, height); } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG "DRCS illegal size %s\n", p); } #endif idx++; } if (is_end) { break; } } } } else { u_char *macro; u_char *tckey; u_char *status; u_char *present; macro = tckey = status = present = NULL; if ((*str_p == '!' && *(str_p + 1) == 'z') || ((*str_p == '+' || *str_p == '$') && *(str_p + 1) == 'q') || (*str_p == '$' && *(str_p + 1) == 't')) { if (left <= 2) { left = 0; return 0; } str_p += 2; left -= 2; if (*(str_p - 1) == 'z' /* && *(str_p - 2) == '!' */) { /* DECDMAC */ macro = str_p; } else if (*(str_p - 1) == 'q') { if (*(str_p - 2) == '$') { /* DECRQSS */ status = str_p; } else { /* Termcap query */ tckey = str_p; } } else /* if (*(str_p - 1) == t && *(str_p - 2) == '$') */ { /* DECRSPS */ present = str_p; } } else { if (!increment_str(&str_p, &left)) { return 0; } } /* * +1 in case str_p[left - vt_parser->r_buf.new_len] points * "\\" of "\x1b\\". */ if (left > vt_parser->r_buf.new_len + 1) { str_p += (left - vt_parser->r_buf.new_len - 1); left = vt_parser->r_buf.new_len + 1; } if (get_pt_in_esc_seq(&str_p, &left, 1, 0)) { if (macro) { define_macro(vt_parser, dcs_beg + (*dcs_beg == '\x1b' ? 2 : 1), macro); } else if (status) { report_status(vt_parser, status); } else if (tckey) { report_termcap(vt_parser, tckey); } else if (present) { set_presentation_state(vt_parser, present); } } else if (left == 0) { return 0; } } } else if (*str_p == 'X' || *str_p == '^' || *str_p == '_') { /* * "ESC X" SOS * "ESC ^" PM * "ESC _" APC */ if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } /* +1 in case str_p[left - new_len] points "\\" of "\x1b\\". */ if (left > vt_parser->r_buf.new_len + 1) { str_p += (left - vt_parser->r_buf.new_len - 1); left = vt_parser->r_buf.new_len + 1; } if (!get_pt_in_esc_seq(&str_p, &left, 1, 0) && left == 0) { return 0; } } /* Other final character */ else if (0x30 <= *str_p && *str_p <= 0x7e) { #ifdef DEBUG debug_print_unknown("ESC %c\n", *str_p); #endif } /* intermediate character */ else if (0x20 <= *str_p && *str_p <= 0x2f) { /* * ESC I.....I F * 033 040-057 060-176 */ u_int ic_num; ic_num = 0; /* In case more than one intermediate(0x20-0x2f) chars. */ do { ic_num++; if (!inc_str_in_esc_seq(vt_parser->screen, &str_p, &left, 0)) { return 0; } } while (0x20 <= *str_p && *str_p <= 0x2f); if (ic_num == 1 || ic_num == 2) { if (ic_num == 1 && *(str_p - 1) == '#') { if ('3' <= *str_p && *str_p <= '6') { vt_line_t *line; line = vt_screen_get_cursor_line(vt_parser->screen); if (*str_p == '3') { /* * "ESC # 3" DEC double-height line, * top half (DECDHL) */ vt_line_set_size_attr(line, DOUBLE_HEIGHT_TOP); } else if (*str_p == '4') { /* * "ESC # 4" DEC double-height line, * bottom half (DECDHL) */ vt_line_set_size_attr(line, DOUBLE_HEIGHT_BOTTOM); } else if (*str_p == '5') { /* * "ESC # 5" DEC single-with line (DECSWL) */ vt_line_set_size_attr(line, 0); } else /* if( *str_p == '6') */ { /* * "ESC # 6" DEC double-with line (DECDWL) */ vt_line_set_size_attr(line, DOUBLE_WIDTH); } } else if (*str_p == '8') { /* "ESC # 8" DEC screen alignment test (DECALN) */ #if 0 vt_screen_set_vmargin(vt_parser->screen, -1, -1); vt_screen_set_use_hmargin(vt_parser->screen, -1 /* Don't move cursor. */); #endif vt_screen_fill_area(vt_parser->screen, 'E', vt_parser->is_protected, 0, 0, vt_screen_get_logical_cols(vt_parser->screen), vt_screen_get_logical_rows(vt_parser->screen)); } } else if (*(str_p - ic_num) == '(' || *(str_p - ic_num) == '$') { /* * "ESC ("(Registered CS), * "ESC ( SP"(DRCS) or "ESC $" * See vt_convert_to_internal_ch() about CS94MB_ID. */ if (IS_ENCODING_BASED_ON_ISO2022(vt_parser->encoding)) { /* ESC ( will be processed in mef. */ return 1; } vt_parser->g0 = (*(str_p - ic_num) == '$') ? CS94MB_ID(*str_p) : CS94SB_ID(*str_p); if (!vt_parser->is_so) { vt_parser->gl = vt_parser->g0; } } else if (*(str_p - ic_num) == ')') { /* "ESC )"(Registered CS) or "ESC ( SP"(DRCS) */ if (IS_ENCODING_BASED_ON_ISO2022(vt_parser->encoding)) { /* ESC ) will be processed in mef. */ return 1; } vt_parser->g1 = (*(str_p - ic_num) == '$') ? CS94MB_ID(*str_p) : CS94SB_ID(*str_p); if (vt_parser->is_so) { vt_parser->gl = vt_parser->g1; } } else if (*(str_p - ic_num) == '-') { /* "ESC -"(Registered CS) or "ESC - SP"(DRCS) */ if (IS_ENCODING_BASED_ON_ISO2022(vt_parser->encoding)) { /* ESC ) will be processed in mef. */ return 1; } vt_parser->g1 = CS96SB_ID(*str_p); if (vt_parser->is_so) { vt_parser->gl = vt_parser->g1; } } else { /* * "ESC SP F", "ESC SP G", "ESC SP L", "ESC SP M", * "ESC SP N" etc ... */ } } } else { /* not VT100 control sequence. */ #ifdef ESCSEQ_DEBUG bl_msg_printf("=> not VT100 control sequence.\n"); #endif return 1; } #ifdef ESCSEQ_DEBUG bl_msg_printf("\n"); #endif } else if (*str_p == CTL_SI) { if (IS_ENCODING_BASED_ON_ISO2022(vt_parser->encoding)) { /* SI will be processed in mef. */ return 1; } #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving SI\n"); #endif vt_parser->gl = vt_parser->g0; vt_parser->is_so = 0; } else if (*str_p == CTL_SO) { if (IS_ENCODING_BASED_ON_ISO2022(vt_parser->encoding)) { /* SO will be processed in mef. */ return 1; } #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving SO\n"); #endif vt_parser->gl = vt_parser->g1; vt_parser->is_so = 1; } else if (CTL_LF <= *str_p && *str_p <= CTL_FF) { #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving LF\n"); #endif vt_screen_line_feed(vt_parser->screen); if (vt_parser->auto_cr) { vt_screen_goto_beg_of_line(vt_parser->screen); } } else if (*str_p == CTL_CR) { #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving CR\n"); #endif vt_screen_goto_beg_of_line(vt_parser->screen); } else if (*str_p == CTL_TAB) { #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving TAB\n"); #endif vt_screen_forward_tabs(vt_parser->screen, 1); } else if (*str_p == CTL_BS) { #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving BS\n"); #endif vt_screen_go_back(vt_parser->screen, 1, 0); } else if (*str_p == CTL_BEL) { #ifdef ESCSEQ_DEBUG bl_debug_printf(BL_DEBUG_TAG " receiving BEL\n"); #endif if (HAS_XTERM_LISTENER(vt_parser, bel)) { stop_vt100_cmd(vt_parser, 0); (*vt_parser->xterm_listener->bel)(vt_parser->xterm_listener->self); /* * XXX * start_vt100_cmd( ... , *1*) erases cursor which * xterm_listener::bell drew if bell mode is visual. */ start_vt100_cmd(vt_parser, 1); } } else if (*str_p == 0x90) { goto parse_dcs; } else { /* not VT100 control sequence */ return 1; } #ifdef EDIT_DEBUG vt_edit_dump(vt_parser->screen->edit); #endif vt_parser->r_buf.left = left - 1; return 1; } static int parse_vt100_sequence(vt_parser_t *vt_parser) { ef_char_t ch; size_t prev_left; while (1) { prev_left = vt_parser->r_buf.left; /* * parsing character encoding. */ (*vt_parser->cc_parser->set_str)(vt_parser->cc_parser, CURRENT_STR_P(vt_parser), vt_parser->r_buf.left); while ((*vt_parser->cc_parser->next_char)(vt_parser->cc_parser, &ch)) { int ret; ef_charset_t orig_cs; orig_cs = ch.cs; ret = vt_convert_to_internal_ch(vt_parser, &ch); if (ret == 1) { if (vt_parser->gl != US_ASCII && orig_cs == US_ASCII) { orig_cs = vt_parser->gl; } if (vt_parser->cs != orig_cs) { vt_parser->cs = orig_cs; } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) if (IS_ISCII(ch.cs) && ch.size == 2) { ch.size = 1; put_char(vt_parser, ef_char_to_int(&ch), ch.cs, ch.property); ch.ch[0] = ch.ch[1]; /* nukta is always combined. */ ch.property |= EF_COMBINING; } #endif put_char(vt_parser, ef_char_to_int(&ch), ch.cs, ch.property); vt_parser->r_buf.left = vt_parser->cc_parser->left; } else if (ret == -1) { /* * This is a control sequence (C0 or C1), so * reparsing this char in vt100_escape_sequence() ... */ vt_parser->cc_parser->left++; vt_parser->cc_parser->is_eos = 0; break; } } vt_parser->r_buf.left = vt_parser->cc_parser->left; flush_buffer(vt_parser); if (vt_parser->cc_parser->is_eos) { /* expect more input */ break; } /* * parsing other vt100 sequences. * (vt_parser->w_buf is always flushed here.) */ if (!parse_vt100_escape_sequence(vt_parser)) { /* expect more input */ break; } #ifdef EDIT_ROUGH_DEBUG vt_edit_dump(vt_parser->screen->edit); #endif if (vt_parser->r_buf.left == prev_left) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " unrecognized sequence[%.2x] is received , ignored...\n", *CURRENT_STR_P(vt_parser)); #endif vt_parser->r_buf.left--; } if (vt_parser->r_buf.left == 0) { break; } } /* * If only one window is shown on screen, it is not necessary to process * pending events for other windows. * But multiple windows can be shown even on framebuffer now, so it is * commented out. */ #if 0 if (vt_parser->yield) { vt_parser->yield = 0; return 0; } #endif return 1; } static int write_loopback(vt_parser_t *vt_parser, const u_char *buf, size_t len, int enable_local_echo, int is_visual /* 1: stop_vt100_cmd(1), -1: stop_vt100_cmd(0) */ ) { char *orig_buf; size_t orig_left; if (vt_parser->r_buf.len < len && !change_read_buffer_size(&vt_parser->r_buf, len)) { return 0; } if ((orig_left = vt_parser->r_buf.left) > 0) { if (!(orig_buf = alloca(orig_left))) { return 0; } memcpy(orig_buf, CURRENT_STR_P(vt_parser), orig_left); } memcpy(vt_parser->r_buf.chars, buf, len); vt_parser->r_buf.filled_len = vt_parser->r_buf.left = len; if (is_visual) { start_vt100_cmd(vt_parser, 1); } if (enable_local_echo) { vt_screen_enable_local_echo(vt_parser->screen); } /* * bidi and visual-indian is always stopped from here. * If you want to call {start|stop}_vt100_cmd (where vt_xterm_event_listener * is called), * the second argument of it shoule be 0. */ parse_vt100_sequence(vt_parser); if (is_visual) { stop_vt100_cmd(vt_parser, is_visual > 0); } if (orig_left > 0) { memcpy(vt_parser->r_buf.chars, orig_buf, orig_left); vt_parser->r_buf.filled_len = vt_parser->r_buf.left = orig_left; } return 1; } /* --- global functions --- */ void vt_set_use_alt_buffer(int use) { use_alt_buffer = use; } void vt_set_unicode_noconv_areas(char *areas) { unicode_noconv_areas = set_area_to_table(unicode_noconv_areas, &num_unicode_noconv_areas, areas); } void vt_set_full_width_areas(char *areas) { full_width_areas = set_area_to_table(full_width_areas, &num_full_width_areas, areas); } void vt_set_use_ttyrec_format(int use) { use_ttyrec_format = use; } #ifdef USE_LIBSSH2 void vt_set_use_scp_full(int use) { use_scp_full = use; } #endif void vt_set_timeout_read_pty(u_long timeout) { timeout_read_pty = timeout; } void vt_set_primary_da(char *da) { free(primary_da); primary_da = strdup(da); } void vt_set_secondary_da(char *da) { free(secondary_da); secondary_da = strdup(da); } void vt_parser_final(void) { vt_config_proto_final(); free(unicode_noconv_areas); num_unicode_noconv_areas = 0; free(full_width_areas); num_full_width_areas = 0; vt_set_auto_detect_encodings(""); } vt_parser_t *vt_parser_new(vt_screen_t *screen, vt_termcap_ptr_t termcap, vt_char_encoding_t encoding, int is_auto_encoding, int use_auto_detect, int logging_vt_seq, vt_unicode_policy_t policy, u_int col_size_a, int use_char_combining, int use_multi_col_char, const char *win_name, const char *icon_name, int use_ansi_colors, vt_alt_color_mode_t alt_color_mode, vt_cursor_style_t cursor_style, int ignore_broadcasted_chars) { vt_parser_t *vt_parser; if ((vt_parser = calloc(1, sizeof(vt_parser_t))) == NULL) { return NULL; } vt_str_init(vt_parser->w_buf.chars, PTY_WR_BUFFER_SIZE); vt_parser->w_buf.output_func = vt_screen_overwrite_chars; vt_parser->pty_hook.self = vt_parser; vt_parser->screen = screen; vt_parser->termcap = termcap; vt_parser->log_file = -1; vt_parser->cs = UNKNOWN_CS; vt_parser->fg_color = VT_FG_COLOR; vt_parser->bg_color = VT_BG_COLOR; vt_parser->use_char_combining = use_char_combining; vt_parser->use_multi_col_char = use_multi_col_char; vt_parser->is_auto_encoding = is_auto_encoding; vt_parser->use_auto_detect = use_auto_detect; vt_parser->logging_vt_seq = logging_vt_seq; vt_parser->unicode_policy = policy; vt_parser->cursor_style = cursor_style; vt_parser->is_visible_cursor = 1; if ((vt_parser->cc_conv = vt_char_encoding_conv_new(encoding)) == NULL) { goto error; } if ((vt_parser->cc_parser = vt_char_encoding_parser_new(encoding)) == NULL) { goto error; } if ((vt_parser->drcs = vt_drcs_new()) == NULL) { goto error; } vt_parser->encoding = encoding; if (win_name) { vt_parser->win_name = strdup(win_name); } if (icon_name) { vt_parser->icon_name = strdup(icon_name); } vt_parser->gl = US_ASCII; vt_parser->g0 = US_ASCII; vt_parser->g1 = US_ASCII; set_col_size_of_width_a(vt_parser, col_size_a); /* Default value of modify_*_keys except modify_other_keys is 2. */ vt_parser->modify_cursor_keys = 2; vt_parser->modify_function_keys = 2; vt_parser->sixel_scrolling = 1; vt_parser->use_ansi_colors = use_ansi_colors; vt_parser->alt_color_mode = alt_color_mode; vt_parser->saved_vtmode_flags = vt_parser->vtmode_flags = INITIAL_VTMODE_FLAGS; vt_parser->ignore_broadcasted_chars = ignore_broadcasted_chars; return vt_parser; error: if (vt_parser->cc_conv) { (*vt_parser->cc_conv->delete)(vt_parser->cc_conv); } if (vt_parser->cc_parser) { (*vt_parser->cc_parser->delete)(vt_parser->cc_parser); } if (vt_parser->drcs) { vt_drcs_delete(vt_parser->drcs); } free(vt_parser); return NULL; } int vt_parser_delete(vt_parser_t *vt_parser) { vt_str_final(vt_parser->w_buf.chars, PTY_WR_BUFFER_SIZE); (*vt_parser->cc_parser->delete)(vt_parser->cc_parser); (*vt_parser->cc_conv->delete)(vt_parser->cc_conv); vt_drcs_delete(vt_parser->drcs); delete_all_macros(vt_parser); free(vt_parser->sixel_palette); if (vt_parser->log_file != -1) { close(vt_parser->log_file); } free(vt_parser->r_buf.chars); free(vt_parser->win_name); free(vt_parser->icon_name); free(vt_parser->saved_win_names.names); free(vt_parser->saved_icon_names.names); free(vt_parser); return 1; } void vt_parser_set_pty(vt_parser_t *vt_parser, vt_pty_ptr_t pty) { vt_parser->pty = pty; } void vt_parser_set_xterm_listener(vt_parser_t *vt_parser, vt_xterm_event_listener_t *xterm_listener) { vt_parser->xterm_listener = xterm_listener; } void vt_parser_set_config_listener(vt_parser_t *vt_parser, vt_config_event_listener_t *config_listener) { vt_parser->config_listener = config_listener; } int vt_parse_vt100_sequence(vt_parser_t *vt_parser) { clock_t beg; if (vt_screen_local_echo_wait(vt_parser->screen, 500)) { return 1; } if (!vt_parser->pty || receive_bytes(vt_parser) == 0) { return 0; } beg = clock(); start_vt100_cmd(vt_parser, 1); vt_screen_disable_local_echo(vt_parser->screen); /* * bidi and visual-indian is always stopped from here. * If you want to call {start|stop}_vt100_cmd (where vt_xterm_event_listener * is called), * the second argument of it shoule be 0. */ while (parse_vt100_sequence(vt_parser) && /* (PTY_RD_BUFFER_SIZE / 2) is baseless. */ vt_parser->r_buf.filled_len >= (PTY_RD_BUFFER_SIZE / 2) && clock() - beg < timeout_read_pty && receive_bytes(vt_parser)) ; stop_vt100_cmd(vt_parser, 1); return 1; } void vt_reset_pending_vt100_sequence(vt_parser_t *vt_parser) { if (vt_parser->r_buf.left >= 2 && is_dcs_or_osc(CURRENT_STR_P(vt_parser))) { /* Reset DCS or OSC */ vt_parser->r_buf.left = 0; } } int vt_parser_write_modified_key(vt_parser_t *vt_parser, int key, /* should be less than 0x80 */ int modcode) { if (vt_parser->modify_other_keys == 2) { char *buf; if (!((modcode - 1) == 1 /* is shift */ && (('!' <= key && key < 'A') || ('Z' < key && key < 'a') || ('z' < key && key <= '~'))) && (buf = alloca(10))) { sprintf(buf, "\x1b[%d;%du", key, modcode); vt_write_to_pty(vt_parser->pty, buf, strlen(buf)); return 1; } } return 0; } int vt_parser_write_special_key(vt_parser_t *vt_parser, vt_special_key_t key, int modcode, int is_numlock) { char *buf; if ((buf = vt_termcap_special_key_to_seq( vt_parser->termcap, key, modcode, (vt_parser->is_app_keypad && !is_numlock), vt_parser->is_app_cursor_keys, vt_parser->is_app_escape, vt_parser->modify_cursor_keys, vt_parser->modify_function_keys))) { vt_write_to_pty(vt_parser->pty, buf, strlen(buf)); return 1; } else { return 0; } } int vt_parser_write_loopback(vt_parser_t *vt_parser, const u_char *buf, size_t len) { return write_loopback(vt_parser, buf, len, 0, 1); } int vt_parser_show_message(vt_parser_t *vt_parser, char *msg) { char *buf; size_t len; if (!(buf = alloca((len = 3 + strlen(msg) + 4)))) { return 0; } if (vt_screen_is_local_echo_mode(vt_parser->screen)) { sprintf(buf, "\r\n%s\x1b[K", msg); return write_loopback(vt_parser, buf, len - 2, 0, -1); } else { sprintf(buf, "\x1b[H%s\x1b[K", msg); return write_loopback(vt_parser, buf, len - 1, 1, -1); } } #if defined(__ANDROID__) || defined(__APPLE__) int vt_parser_preedit(vt_parser_t *vt_parser, const u_char *buf, size_t len) { if (!(vt_parser->line_style & LS_UNDERLINE)) { char *new_buf; size_t new_len; if ((new_buf = alloca((new_len = 4 + len + 5)))) { memcpy(new_buf, "\x1b[4m", 4); memcpy(new_buf + 4, buf, len); memcpy(new_buf + 4 + len, "\x1b[24m", 5); buf = new_buf; len = new_len; } } return write_loopback(vt_parser, buf, len, 1, 1); } #endif int vt_parser_local_echo(vt_parser_t *vt_parser, const u_char *buf, size_t len) { size_t count; for (count = 0; count < len; count++) { if (buf[count] < 0x20) { vt_screen_local_echo_wait(vt_parser->screen, 0); vt_parse_vt100_sequence(vt_parser); return 1; } } vt_parse_vt100_sequence(vt_parser); if (!(vt_parser->line_style & LS_UNDERLINE)) { char *new_buf; size_t new_len; if ((new_buf = alloca((new_len = 4 + len + 5)))) { memcpy(new_buf, "\x1b[4m", 4); memcpy(new_buf + 4, buf, len); memcpy(new_buf + 4 + len, "\x1b[24m", 5); buf = new_buf; len = new_len; } } return write_loopback(vt_parser, buf, len, 1, 1); } int vt_parser_change_encoding(vt_parser_t *vt_parser, vt_char_encoding_t encoding) { ef_parser_t *cc_parser; ef_conv_t *cc_conv; cc_conv = vt_char_encoding_conv_new(encoding); cc_parser = vt_char_encoding_parser_new(encoding); if (cc_parser == NULL || cc_conv == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " encoding not changed.\n"); #endif if (cc_parser) { (*cc_parser->delete)(cc_parser); } if (cc_conv) { (*cc_conv->delete)(cc_conv); } return 0; } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " encoding changed.\n"); #endif (*vt_parser->cc_parser->delete)(vt_parser->cc_parser); (*vt_parser->cc_conv->delete)(vt_parser->cc_conv); vt_parser->encoding = encoding; vt_parser->cc_parser = cc_parser; vt_parser->cc_conv = cc_conv; /* reset */ vt_parser->gl = US_ASCII; vt_parser->g0 = US_ASCII; vt_parser->g1 = US_ASCII; vt_parser->is_so = 0; vt_parser->is_auto_encoding = 0; return 1; } size_t vt_parser_convert_to(vt_parser_t *vt_parser, u_char *dst, size_t len, ef_parser_t *parser) { return (*vt_parser->cc_conv->convert)(vt_parser->cc_conv, dst, len, parser); } void vt_init_encoding_parser(vt_parser_t *vt_parser) { (*vt_parser->cc_parser->init)(vt_parser->cc_parser); vt_parser->gl = US_ASCII; vt_parser->g0 = US_ASCII; vt_parser->g1 = US_ASCII; vt_parser->is_so = 0; } void vt_init_encoding_conv(vt_parser_t *vt_parser) { (*vt_parser->cc_conv->init)(vt_parser->cc_conv); /* * XXX * this causes unexpected behaviors in some applications(e.g. biew) , * but this is necessary , since 0x00 - 0x7f is not necessarily US-ASCII * in these encodings but key input or selection paste assumes that * 0x00 - 0x7f should be US-ASCII at the initial state. */ if (IS_STATEFUL_ENCODING(vt_parser->encoding)) { vt_init_encoding_parser(vt_parser); } } int vt_set_auto_detect_encodings(char *encodings) { char *p; u_int count; if (auto_detect_count > 0) { for (count = 0; count < auto_detect_count; count++) { (*auto_detect[count].parser->delete)(auto_detect[count].parser); } free(auto_detect); auto_detect_count = 0; } free(auto_detect_encodings); if (*encodings == '\0') { auto_detect_encodings = NULL; return 1; } else { auto_detect_encodings = strdup(encodings); } if (!(auto_detect = malloc(sizeof(*auto_detect) * (bl_count_char_in_str(encodings, ',') + 1)))) { return 0; } while ((p = bl_str_sep(&encodings, ","))) { if ((auto_detect[auto_detect_count].encoding = vt_get_char_encoding(p)) != VT_UNKNOWN_ENCODING) { auto_detect_count++; } } if (auto_detect_count == 0) { free(auto_detect); return 0; } for (count = 0; count < auto_detect_count; count++) { auto_detect[count].parser = vt_char_encoding_parser_new(auto_detect[count].encoding); } return 1; } /* * XXX * ef_map_ucs4_to_iscii() in ef_ucs4_iscii.h is used directly in * vt_convert_to_internal_ch(), though it should be used internally in mef * library */ int ef_map_ucs4_to_iscii(ef_char_t *non_ucs, u_int32_t ucs4_code); /* * Return value * 1: Succeed * 0: Error * -1: Control sequence */ int vt_convert_to_internal_ch(vt_parser_t *vt_parser, ef_char_t *orig_ch) { ef_char_t ch; ch = *orig_ch; /* * UCS <-> OTHER CS */ if (ch.cs == ISO10646_UCS4_1) { u_char decsp; if ((vt_parser->unicode_policy & NOT_USE_UNICODE_BOXDRAW_FONT) && (decsp = vt_convert_ucs_to_decsp(ef_char_to_int(&ch)))) { ch.ch[0] = decsp; ch.size = 1; ch.cs = DEC_SPECIAL; ch.property = 0; } #if 1 /* See http://github.com/saitoha/drcsterm/ */ else if ((vt_parser->unicode_policy & USE_UNICODE_DRCS) && vt_convert_unicode_pua_to_drcs(&ch)) { /* do nothing */ } #endif else { ef_char_t non_ucs; u_int32_t code; ch.property = modify_ucs_property((code = ef_char_to_int(&ch)), ch.property); if (vt_parser->unicode_policy & NOT_USE_UNICODE_FONT) { /* convert ucs4 to appropriate charset */ if (!is_noconv_unicode(ch.ch) && ef_map_locale_ucs4_to(&non_ucs, &ch) && non_ucs.cs != ISO8859_6_R && /* ARABIC */ non_ucs.cs != ISO8859_8_R) /* HEBREW */ { if (IS_FULLWIDTH_CS(non_ucs.cs)) { non_ucs.property = EF_FULLWIDTH; } ch = non_ucs; goto end; } } #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_IND) if ((vt_parser->unicode_policy & CONVERT_UNICODE_TO_ISCII) && 0x900 <= code && code <= 0xd7f) { int ret = ef_map_ucs4_to_iscii(&non_ucs, code); if (!HAS_XTERM_LISTENER(vt_parser,check_iscii_font) || /* non_ucs.cs is set if ef_map_ucs4_to_iscii() fails. */ !(*vt_parser->xterm_listener->check_iscii_font)(vt_parser->xterm_listener->self, non_ucs.cs)) { goto end; } if (ret) { ch.ch[0] = non_ucs.ch[0]; ch.cs = non_ucs.cs; ch.size = 1; /* ch.property is not changed. */ } else { switch (code & 0x07f) { case 0x0c: ch.ch[0] = '\xa6'; break; case 0x3d: ch.ch[0] = '\xea'; break; case 0x44: ch.ch[0] = '\xdf'; break; case 0x50: ch.ch[0] = '\xa1'; break; case 0x58: ch.ch[0] = '\xb3'; break; case 0x59: ch.ch[0] = '\xb4'; break; case 0x5a: ch.ch[0] = '\xb5'; break; case 0x5b: ch.ch[0] = '\xba'; break; case 0x5c: ch.ch[0] = '\xbf'; break; case 0x5d: ch.ch[0] = '\xc0'; break; case 0x5e: ch.ch[0] = '\xc9'; break; case 0x60: ch.ch[0] = '\xaa'; break; case 0x61: ch.ch[0] = '\xa7'; break; case 0x62: ch.ch[0] = '\xdb'; break; case 0x63: ch.ch[0] = '\xdc'; break; default: goto end; } ch.ch[1] = '\xe9'; /* non_ucs.cs is set if ef_map_ucs4_to_iscii() fails. */ ch.cs = non_ucs.cs; ch.size = 2; /* ch.property is not changed. */ } } #endif end: ; } } else if (ch.cs != US_ASCII) { if ((vt_parser->unicode_policy & ONLY_USE_UNICODE_FONT) || /* XXX converting japanese gaiji to ucs. */ ch.cs == JISC6226_1978_NEC_EXT || ch.cs == JISC6226_1978_NECIBM_EXT || ch.cs == JISX0208_1983_MAC_EXT || ch.cs == SJIS_IBM_EXT || /* XXX converting RTL characters to ucs. */ ch.cs == ISO8859_6_R || /* Arabic */ ch.cs == ISO8859_8_R /* Hebrew */ #if 0 /* GB18030_2000 2-byte chars(==GBK) are converted to UCS */ || (encoding == VT_GB18030 && ch.cs == GBK) #endif ) { ef_char_t ucs; if (ef_map_to_ucs4(&ucs, &ch)) { ch = ucs; ch.property = get_ucs_property(ef_char_to_int(&ucs)); } } else if (IS_FULLWIDTH_CS(ch.cs)) { ch.property = EF_FULLWIDTH; } } if (ch.size == 1) { /* single byte cs */ if ((ch.ch[0] == 0x0 || ch.ch[0] == 0x7f)) { /* DECNULM is always set => discarding 0x0 */ #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " 0x0/0x7f sequence is received , ignored...\n"); #endif return 0; } else if ((ch.ch[0] & 0x7f) <= 0x1f && ch.cs == US_ASCII) { /* Control sequence (C0 or C1) */ return -1; } if (vt_is_msb_set(ch.cs)) { SET_MSB(ch.ch[0]); } else { if (ch.cs == US_ASCII && vt_parser->gl != US_ASCII) { /* XXX prev_ch should not be static. */ static u_char prev_ch; static ef_charset_t prev_gl = US_ASCII; if (IS_CS94MB(vt_parser->gl)) { if (vt_parser->gl == prev_gl && prev_ch) { ch.ch[1] = ch.ch[0]; ch.ch[0] = prev_ch; ch.size = 2; ch.property = EF_FULLWIDTH; prev_ch = 0; prev_gl = US_ASCII; } else { prev_ch = ch.ch[0]; prev_gl = vt_parser->gl; return 0; } } ch.cs = vt_parser->gl; } if (ch.cs == DEC_SPECIAL) { u_int16_t ucs; if ((vt_parser->unicode_policy & ONLY_USE_UNICODE_BOXDRAW_FONT) && (ucs = vt_convert_decsp_to_ucs(ch.ch[0]))) { ef_int_to_bytes(ch.ch, 4, ucs); ch.size = 4; ch.cs = ISO10646_UCS4_1; ch.property = get_ucs_property(ucs); } } } } else { /* * NON UCS <-> NON UCS */ /* multi byte cs */ /* * XXX hack * how to deal with johab 10-4-4(8-4-4) font ? * is there any uhc font ? */ if (ch.cs == JOHAB) { ef_char_t uhc; if (ef_map_johab_to_uhc(&uhc, &ch) == 0) { return 0; } ch = uhc; } /* * XXX * switching option whether this conversion is done should * be introduced. */ if (ch.cs == UHC) { ef_char_t ksc; if (ef_map_uhc_to_ksc5601_1987(&ksc, &ch) == 0) { return 0; } ch = ksc; } } *orig_ch = ch; return 1; } void vt_parser_set_alt_color_mode(vt_parser_t *vt_parser, vt_alt_color_mode_t mode) { vt_parser->alt_color_mode = mode; } void vt_set_broadcasting(int flag) { is_broadcasting = flag; } int vt_parser_is_broadcasting(vt_parser_t *vt_parser) { return (is_broadcasting && !vt_parser->ignore_broadcasted_chars); } int true_or_false(const char *str) { if (strcmp(str, "true") == 0) { return 1; } else if (strcmp(str, "false") == 0) { return 0; } else { return -1; } } int vt_parser_get_config( vt_parser_t *vt_parser, vt_pty_ptr_t output, /* if vt_parser->pty == output, NULL is set */ char *key, int to_menu, int *flag) { char *value; char digit[DIGIT_STR_LEN(u_int) + 1]; char cwd[PATH_MAX]; if (strcmp(key, "encoding") == 0) { value = vt_get_char_encoding_name(vt_parser->encoding); } else if (strcmp(key, "is_auto_encoding") == 0) { if (vt_parser->is_auto_encoding) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "word_separators") == 0) { value = vt_get_word_separators(); } else if (strcmp(key, "regard_uri_as_word") == 0) { if (vt_get_regard_uri_as_word()) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_alt_buffer") == 0) { if (use_alt_buffer) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "vt_color_mode") == 0) { value = vt_get_color_mode(); } else if (strcmp(key, "use_ansi_colors") == 0) { if (vt_parser->use_ansi_colors) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "tabsize") == 0) { sprintf(digit, "%d", vt_screen_get_tab_size(vt_parser->screen)); value = digit; } else if (strcmp(key, "logsize") == 0) { if (vt_screen_log_size_is_unlimited(vt_parser->screen)) { value = "unlimited"; } else { sprintf(digit, "%d", vt_screen_get_log_size(vt_parser->screen)); value = digit; } } else if (strcmp(key, "static_backscroll_mode") == 0) { if (vt_get_backscroll_mode(vt_parser->screen) == BSM_STATIC) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_combining") == 0) { if (vt_parser->use_char_combining) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "col_size_of_width_a") == 0) { if (vt_parser->col_size_of_width_a == 2) { value = "2"; } else { value = "1"; } } else if (strcmp(key, "locale") == 0) { value = bl_get_locale(); } else if (strcmp(key, "pwd") == 0) { value = getcwd(cwd, sizeof(cwd)); } else if (strcmp(key, "logging_vt_seq") == 0) { if (vt_parser->logging_vt_seq) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "vt_seq_format") == 0) { if (use_ttyrec_format) { value = "ttyrec"; } else { value = "raw"; } } else if (strcmp(key, "rows") == 0) { sprintf(digit, "%d", vt_screen_get_logical_rows(vt_parser->screen)); value = digit; } else if (strcmp(key, "cols") == 0) { sprintf(digit, "%d", vt_screen_get_logical_cols(vt_parser->screen)); value = digit; } else if (strcmp(key, "not_use_unicode_font") == 0) { if (vt_parser->unicode_policy & NOT_USE_UNICODE_FONT) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "only_use_unicode_font") == 0) { if (vt_parser->unicode_policy & ONLY_USE_UNICODE_FONT) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "box_drawing_font") == 0) { if (vt_parser->unicode_policy & NOT_USE_UNICODE_BOXDRAW_FONT) { value = "decsp"; } else if (vt_parser->unicode_policy & ONLY_USE_UNICODE_BOXDRAW_FONT) { value = "unicode"; } else { value = "noconv"; } } else if (strcmp(key, "auto_detect_encodings") == 0) { if ((value = auto_detect_encodings) == NULL) { value = ""; } } else if (strcmp(key, "use_auto_detect") == 0) { if (vt_parser->use_auto_detect) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "allow_scp") == 0) { #ifdef USE_LIBSSH2 if (use_scp_full) { value = "true"; } else #endif { value = "false"; } } else if (strcmp(key, "unicode_noconv_areas") == 0) { response_area_table(vt_parser->pty, key, unicode_noconv_areas, num_unicode_noconv_areas, to_menu); return 1; } else if (strcmp(key, "unicode_full_width_areas") == 0) { response_area_table(vt_parser->pty, key, full_width_areas, num_full_width_areas, to_menu); return 1; } else if (strcmp(key, "blink_cursor") == 0) { if (vt_parser->cursor_style & CS_BLINK) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "ignore_broadcasted_chars") == 0) { if (vt_parser->ignore_broadcasted_chars) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "broadcast") == 0) { if (is_broadcasting) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "challenge") == 0) { value = vt_get_proto_challenge(); if (to_menu < 0) { to_menu = 0; } } else { /* Continue to process it in x_screen.c */ return 0; } if (!output) { output = vt_parser->pty; } /* value is never set NULL above. */ #if 0 if (!value) { vt_response_config(output, "error", NULL, to_menu); } #endif if (flag) { *flag = value ? true_or_false(value) : -1; } else { vt_response_config(output, key, value, to_menu); } return 1; } int vt_parser_set_config(vt_parser_t *vt_parser, char *key, char *value) { if (strcmp(key, "encoding") == 0) { if (strcmp(value, "auto") == 0) { vt_parser->is_auto_encoding = strcasecmp(value, "auto") == 0 ? 1 : 0; } return 0; /* Continue to process it in x_screen.c */ } else if (strcmp(key, "logging_msg") == 0) { if (true_or_false(value) > 0) { bl_set_msg_log_file_name("mlterm/msg.log"); } else { bl_set_msg_log_file_name(NULL); } } else if (strcmp(key, "word_separators") == 0) { vt_set_word_separators(value); } else if (strcmp(key, "regard_uri_as_word") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_set_regard_uri_as_word(flag); } } else if (strcmp(key, "vt_color_mode") == 0) { vt_set_color_mode(value); } else if (strcmp(key, "use_alt_buffer") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { use_alt_buffer = flag; } } else if (strcmp(key, "use_ansi_colors") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_parser->use_ansi_colors = flag; } } else if (strcmp(key, "unicode_noconv_areas") == 0) { vt_set_unicode_noconv_areas(value); } else if (strcmp(key, "unicode_full_width_areas") == 0) { vt_set_full_width_areas(value); } else if (strcmp(key, "tabsize") == 0) { u_int tab_size; if (bl_str_to_uint(&tab_size, value)) { vt_screen_set_tab_size(vt_parser->screen, tab_size); } } else if (strcmp(key, "static_backscroll_mode") == 0) { vt_bs_mode_t mode; if (strcmp(value, "true") == 0) { mode = BSM_STATIC; } else if (strcmp(value, "false") == 0) { mode = BSM_DEFAULT; } else { return 1; } vt_set_backscroll_mode(vt_parser->screen, mode); } else if (strcmp(key, "use_combining") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_parser->use_char_combining = flag; } } else if (strcmp(key, "col_size_of_width_a") == 0) { u_int size; if (bl_str_to_uint(&size, value)) { set_col_size_of_width_a(vt_parser, size); } } else if (strcmp(key, "locale") == 0) { bl_locale_init(value); } else if (strcmp(key, "logging_vt_seq") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_parser->logging_vt_seq = flag; } } else if (strcmp(key, "vt_seq_format") == 0) { use_ttyrec_format = (strcmp(value, "ttyrec") == 0); } else if (strcmp(key, "geometry") == 0) { u_int cols; u_int rows; if (sscanf(value, "%ux%u", &cols, &rows) == 2) { resize(vt_parser, cols, rows, 1); } } else if (strcmp(key, "box_drawing_font") == 0) { if (strcmp(value, "unicode") == 0) { vt_parser->unicode_policy &= ~NOT_USE_UNICODE_BOXDRAW_FONT; vt_parser->unicode_policy |= ONLY_USE_UNICODE_BOXDRAW_FONT; } else if (strcmp(value, "decsp") == 0) { vt_parser->unicode_policy &= ~ONLY_USE_UNICODE_BOXDRAW_FONT; vt_parser->unicode_policy |= NOT_USE_UNICODE_BOXDRAW_FONT; } else { vt_parser->unicode_policy &= (~NOT_USE_UNICODE_BOXDRAW_FONT & ~ONLY_USE_UNICODE_BOXDRAW_FONT); } } else if (strcmp(key, "auto_detect_encodings") == 0) { vt_set_auto_detect_encodings(value); } else if (strcmp(key, "use_auto_detect") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_parser->use_auto_detect = flag; } } else if (strcmp(key, "blink_cursor") == 0) { if (strcmp(value, "true") == 0) { vt_parser->cursor_style |= CS_BLINK; } else { vt_parser->cursor_style &= ~CS_BLINK; } } else if (strcmp(key, "ignore_broadcasted_chars") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_parser->ignore_broadcasted_chars = flag; } } else if (strcmp(key, "broadcast") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { is_broadcasting = flag; } } else { /* Continue to process it in x_screen.c */ return 0; } return 1; } int vt_parser_exec_cmd(vt_parser_t *vt_parser, char *cmd) { if (strcmp(cmd, "gen_proto_challenge") == 0) { vt_gen_proto_challenge(); } else if (strcmp(cmd, "full_reset") == 0) { soft_reset(vt_parser); vt_reset_pending_vt100_sequence(vt_parser); vt_parser->sixel_scrolling = 1; } else if (strncmp(cmd, "snapshot", 8) == 0) { char **argv; int argc; vt_char_encoding_t encoding; char *file; argv = bl_arg_str_to_array(&argc, cmd); if (argc >= 3) { encoding = vt_get_char_encoding(argv[2]); } else { encoding = VT_UNKNOWN_ENCODING; } if (argc >= 2) { file = argv[1]; } else { /* skip /dev/ */ file = vt_pty_get_slave_name(vt_parser->pty) + 5; } if (strstr(file, "..")) { /* insecure file name */ bl_msg_printf("%s is insecure file name.\n", file); } else { snapshot(vt_parser, encoding, file, WCA_ALL); } } #ifndef NO_IMAGE else if (strncmp(cmd, "show_picture ", 13) == 0 || strncmp(cmd, "add_frame ", 10) == 0) { int clip_beg_col = 0; int clip_beg_row = 0; int clip_cols = 0; int clip_rows = 0; int img_cols = 0; int img_rows = 0; char **argv; int argc; argv = bl_arg_str_to_array(&argc, cmd); if (argc == 1) { return 1; } if (argc >= 3) { int has_img_size; if (strchr(argv[argc - 1], '+')) { sscanf(argv[argc - 1], "%dx%d+%d+%d", &clip_cols, &clip_rows, &clip_beg_col, &clip_beg_row); has_img_size = (argc >= 4); } else { has_img_size = 1; } if (has_img_size) { sscanf(argv[2], "%dx%d", &img_cols, &img_rows); } } if (*argv[0] == 's') { show_picture(vt_parser, argv[1], clip_beg_col, clip_beg_row, clip_cols, clip_rows, img_cols, img_rows, 0); } else if (HAS_XTERM_LISTENER(vt_parser, add_frame_to_animation)) { (*vt_parser->xterm_listener->add_frame_to_animation)(vt_parser->xterm_listener->self, argv[1], &img_cols, &img_rows); } } #endif #ifdef USE_LIBSSH2 else if (strncmp(cmd, "scp ", 4) == 0) { char **argv; int argc; argv = bl_arg_str_to_array(&argc, cmd); if (argc == 3 || argc == 4) { vt_char_encoding_t encoding; if (!argv[3] || (encoding = vt_get_char_encoding(argv[3])) == VT_UNKNOWN_ENCODING) { encoding = vt_parser->encoding; } vt_pty_ssh_scp(vt_parser->pty, vt_parser->encoding, encoding, argv[2], argv[1], use_scp_full); } } #endif else { return 0; } return 1; } #define MOUSE_POS_LIMIT (0xff - 0x20) #define EXT_MOUSE_POS_LIMIT (0x7ff - 0x20) void vt_parser_report_mouse_tracking(vt_parser_t *vt_parser, int col, int row, int button, int is_released, /* is_released is 0 if PointerMotion */ int key_state, int button_state) { if (vt_parser->mouse_mode >= LOCATOR_CHARCELL_REPORT) { char seq[10 + DIGIT_STR_LEN(int)*4 + 1]; int ev; int is_outside_filter_rect; is_outside_filter_rect = 0; if (vt_parser->loc_filter.top > row || vt_parser->loc_filter.left > col || vt_parser->loc_filter.bottom < row || vt_parser->loc_filter.right < col) { vt_parser->loc_filter.top = vt_parser->loc_filter.bottom = row; vt_parser->loc_filter.left = vt_parser->loc_filter.right = col; if (vt_parser->locator_mode & LOCATOR_FILTER_RECT) { vt_parser->locator_mode &= ~LOCATOR_FILTER_RECT; is_outside_filter_rect = 1; } } if (button == 0) { if (is_outside_filter_rect) { ev = 10; } else if (vt_parser->locator_mode & LOCATOR_REQUEST) { ev = 1; } else { return; } } else { if ((is_released && !(vt_parser->locator_mode & LOCATOR_BUTTON_UP)) || (!is_released && !(vt_parser->locator_mode & LOCATOR_BUTTON_DOWN))) { return; } if (button == 1) { ev = is_released ? 3 : 2; } else if (button == 2) { ev = is_released ? 5 : 4; } else if (button == 3) { ev = is_released ? 7 : 6; } else { ev = 1; } } sprintf(seq, "\x1b[%d;%d;%d;%d;%d&w", ev, button_state, row, col, vt_screen_get_page_id(vt_parser->screen) + 1); vt_write_to_pty(vt_parser->pty, seq, strlen(seq)); if (vt_parser->locator_mode & LOCATOR_ONESHOT) { set_mouse_report(vt_parser, 0); vt_parser->locator_mode = 0; } } else { /* * Max length is SGR style => ESC [ < %d ; %d(col) ; %d(row) ; %c('M' or * 'm') NULL * 1 1 1 3 1 3 1 3 1 1 1 */ u_char seq[17]; size_t seq_len; if (is_released && vt_parser->ext_mouse_mode != EXTENDED_MOUSE_REPORT_SGR) { key_state = 0; button = 3; } else if (button == 0) { /* PointerMotion */ button = 3 + 32; } else { if (is_released) { /* for EXTENDED_MOUSE_REPORT_SGR */ key_state += 0x80; } button--; /* button1 == 0, button2 == 1, button3 == 2 */ while (button >= 3) { /* Wheel mouse */ key_state += 64; button -= 3; } } if (vt_parser->ext_mouse_mode == EXTENDED_MOUSE_REPORT_SGR) { sprintf(seq, "\x1b[<%d;%d;%d%c", (button + key_state) & 0x7f, col, row, ((button + key_state) & 0x80) ? 'm' : 'M'); seq_len = strlen(seq); } else if (vt_parser->ext_mouse_mode == EXTENDED_MOUSE_REPORT_URXVT) { sprintf(seq, "\x1b[%d;%d;%dM", 0x20 + button + key_state, col, row); seq_len = strlen(seq); } else { memcpy(seq, "\x1b[M", 3); seq[3] = 0x20 + button + key_state; if (vt_parser->ext_mouse_mode == EXTENDED_MOUSE_REPORT_UTF8) { int ch; u_char *p; p = seq + 4; if (col > EXT_MOUSE_POS_LIMIT) { col = EXT_MOUSE_POS_LIMIT; } if ((ch = 0x20 + col) >= 0x80) { *(p++) = ((ch >> 6) & 0x1f) | 0xc0; *(p++) = (ch & 0x3f) | 0x80; } else { *(p++) = ch; } if (row > EXT_MOUSE_POS_LIMIT) { row = EXT_MOUSE_POS_LIMIT; } if ((ch = 0x20 + row) >= 0x80) { *(p++) = ((ch >> 6) & 0x1f) | 0xc0; *p = (ch & 0x3f) | 0x80; } else { *p = ch; } seq_len = p - seq + 1; } else { seq[4] = 0x20 + (col < MOUSE_POS_LIMIT ? col : MOUSE_POS_LIMIT); seq[5] = 0x20 + (row < MOUSE_POS_LIMIT ? row : MOUSE_POS_LIMIT); seq_len = 6; } } vt_write_to_pty(vt_parser->pty, seq, seq_len); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " [reported cursor pos] %d %d\n", col, row); #endif } } mlterm-3.8.4/vtemu/vt_util.h010064400017600000144000000005551321054731200145260ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VT_UTIL_H__ #define __VT_UTIL_H__ #include size_t vt_hex_encode(char *encoded, const char *decoded, size_t e_len); size_t vt_hex_decode(char *decoded, const char *encoded, size_t e_len); size_t vt_base64_decode(char *decoded, const char *encoded, size_t e_len); #endif mlterm-3.8.4/vtemu/vt_bidi.c010064400017600000144000000014401321054731200144450ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_bidi.h" #include /* strcmp */ #if 0 #define __DEBUG #endif /* --- static variables --- */ /* Order of this table must be same as vt_bidi_mode_t. */ static char *bidi_mode_name_table[] = { "normal", "left", "right", }; /* --- global functions --- */ vt_bidi_mode_t vt_get_bidi_mode(const char *name) { vt_bidi_mode_t mode; for (mode = 0; mode < BIDI_MODE_MAX; mode++) { if (strcmp(bidi_mode_name_table[mode], name) == 0) { return mode; } } /* default value */ return BIDI_NORMAL_MODE; } char *vt_get_bidi_mode_name(vt_bidi_mode_t mode) { if ((u_int)mode >= BIDI_MODE_MAX) { /* default value */ mode = BIDI_NORMAL_MODE; } return bidi_mode_name_table[mode]; } mlterm-3.8.4/vtemu/vt_char_encoding.c010064400017600000144000000422301321054731200163230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_char_encoding.h" #include /* sscanf */ #include /* bl_str_alloca_dup */ #include #include /* alloca */ #include /* bl_get_codeset */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* ef_iso2022_illegal_char */ #include "vt_drcs.h" typedef struct encoding_table { vt_char_encoding_t encoding; char *name; ef_parser_t *(*parser_new)(void); ef_conv_t *(*conv_new)(void); } encoding_table_t; /* --- static variables --- */ /* * !!! Notice !!! * The order should be the same as vt_char_encoding_t in vt_char_encoding.h * If the order is changed, x_font_manager.c:usascii_font_cs_table should be * also changed. */ static encoding_table_t encoding_table[] = { { VT_ISO8859_1, "ISO88591", ef_iso8859_1_parser_new, ef_iso8859_1_conv_new, }, { VT_ISO8859_2, "ISO88592", ef_iso8859_2_parser_new, ef_iso8859_2_conv_new, }, { VT_ISO8859_3, "ISO88593", ef_iso8859_3_parser_new, ef_iso8859_3_conv_new, }, { VT_ISO8859_4, "ISO88594", ef_iso8859_4_parser_new, ef_iso8859_4_conv_new, }, { VT_ISO8859_5, "ISO88595", ef_iso8859_5_parser_new, ef_iso8859_5_conv_new, }, { VT_ISO8859_6, "ISO88596", ef_iso8859_6_parser_new, ef_iso8859_6_conv_new, }, { VT_ISO8859_7, "ISO88597", ef_iso8859_7_parser_new, ef_iso8859_7_conv_new, }, { VT_ISO8859_8, "ISO88598", ef_iso8859_8_parser_new, ef_iso8859_8_conv_new, }, { VT_ISO8859_9, "ISO88599", ef_iso8859_9_parser_new, ef_iso8859_9_conv_new, }, { VT_ISO8859_10, "ISO885910", ef_iso8859_10_parser_new, ef_iso8859_10_conv_new, }, { VT_TIS620, "ISO885911", ef_tis620_2533_parser_new, ef_tis620_2533_conv_new, }, { VT_ISO8859_13, "ISO885913", ef_iso8859_13_parser_new, ef_iso8859_13_conv_new, }, { VT_ISO8859_14, "ISO885914", ef_iso8859_14_parser_new, ef_iso8859_14_conv_new, }, { VT_ISO8859_15, "ISO885915", ef_iso8859_15_parser_new, ef_iso8859_15_conv_new, }, { VT_ISO8859_16, "ISO885916", ef_iso8859_16_parser_new, ef_iso8859_16_conv_new, }, { VT_TCVN5712, "TCVN5712", ef_tcvn5712_3_1993_parser_new, ef_tcvn5712_3_1993_conv_new, }, { VT_ISCII_ASSAMESE, "ISCIIASSAMESE", ef_iscii_assamese_parser_new, ef_iscii_assamese_conv_new, }, { VT_ISCII_BENGALI, "ISCIIBENGALI", ef_iscii_bengali_parser_new, ef_iscii_bengali_conv_new, }, { VT_ISCII_GUJARATI, "ISCIIGUJARATI", ef_iscii_gujarati_parser_new, ef_iscii_gujarati_conv_new, }, { VT_ISCII_HINDI, "ISCIIHINDI", ef_iscii_hindi_parser_new, ef_iscii_hindi_conv_new, }, { VT_ISCII_KANNADA, "ISCIIKANNADA", ef_iscii_kannada_parser_new, ef_iscii_kannada_conv_new, }, { VT_ISCII_MALAYALAM, "ISCIIMALAYALAM", ef_iscii_malayalam_parser_new, ef_iscii_malayalam_conv_new, }, { VT_ISCII_ORIYA, "ISCIIORIYA", ef_iscii_oriya_parser_new, ef_iscii_oriya_conv_new, }, { VT_ISCII_PUNJABI, "ISCIIPUNJABI", ef_iscii_punjabi_parser_new, ef_iscii_punjabi_conv_new, }, { VT_ISCII_TELUGU, "ISCIITELUGU", ef_iscii_telugu_parser_new, ef_iscii_telugu_conv_new, }, { VT_VISCII, "VISCII", ef_viscii_parser_new, ef_viscii_conv_new, }, { VT_KOI8_R, "KOI8R", ef_koi8_r_parser_new, ef_koi8_r_conv_new, }, { VT_KOI8_U, "KOI8U", ef_koi8_u_parser_new, ef_koi8_u_conv_new, }, { VT_KOI8_T, "KOI8T", ef_koi8_t_parser_new, ef_koi8_t_conv_new, }, { VT_GEORGIAN_PS, "GEORGIANPS", ef_georgian_ps_parser_new, ef_georgian_ps_conv_new, }, { VT_CP1250, "CP1250", ef_cp1250_parser_new, ef_cp1250_conv_new, }, { VT_CP1251, "CP1251", ef_cp1251_parser_new, ef_cp1251_conv_new, }, { VT_CP1252, "CP1252", ef_cp1252_parser_new, ef_cp1252_conv_new, }, { VT_CP1253, "CP1253", ef_cp1253_parser_new, ef_cp1253_conv_new, }, { VT_CP1254, "CP1254", ef_cp1254_parser_new, ef_cp1254_conv_new, }, { VT_CP1255, "CP1255", ef_cp1255_parser_new, ef_cp1255_conv_new, }, { VT_CP1256, "CP1256", ef_cp1256_parser_new, ef_cp1256_conv_new, }, { VT_CP1257, "CP1257", ef_cp1257_parser_new, ef_cp1257_conv_new, }, { VT_CP1258, "CP1258", ef_cp1258_parser_new, ef_cp1258_conv_new, }, { VT_CP874, "CP874", ef_cp874_parser_new, ef_cp874_conv_new, }, { VT_UTF8, "UTF8", ef_utf8_parser_new, ef_utf8_conv_new, }, { VT_EUCJP, "EUCJP", ef_eucjp_parser_new, ef_eucjp_conv_new, }, { VT_EUCJISX0213, "EUCJISX0213", ef_eucjisx0213_parser_new, ef_eucjisx0213_conv_new, }, { VT_ISO2022JP, "ISO2022JP", ef_iso2022jp_7_parser_new, ef_iso2022jp_7_conv_new, }, { VT_ISO2022JP2, "ISO2022JP2", ef_iso2022jp2_parser_new, ef_iso2022jp2_conv_new, }, { VT_ISO2022JP3, "ISO2022JP3", ef_iso2022jp3_parser_new, ef_iso2022jp3_conv_new, }, { VT_SJIS, "SJIS", ef_sjis_parser_new, ef_sjis_conv_new, }, { VT_SJISX0213, "SJISX0213", ef_sjisx0213_parser_new, ef_sjisx0213_conv_new, }, { VT_EUCKR, "EUCKR", ef_euckr_parser_new, ef_euckr_conv_new, }, { VT_UHC, "UHC", ef_uhc_parser_new, ef_uhc_conv_new, }, { VT_JOHAB, "JOHAB", ef_johab_parser_new, ef_johab_conv_new, }, { VT_ISO2022KR, "ISO2022KR", ef_iso2022kr_parser_new, ef_iso2022kr_conv_new, }, { VT_BIG5, "BIG5", ef_big5_parser_new, ef_big5_conv_new, }, { VT_EUCTW, "EUCTW", ef_euctw_parser_new, ef_euctw_conv_new, }, { VT_BIG5HKSCS, "BIG5HKSCS", ef_big5hkscs_parser_new, ef_big5hkscs_conv_new, }, /* not listed in IANA. GB2312 is usually used instead. */ { VT_EUCCN, "EUCCN", ef_euccn_parser_new, ef_euccn_conv_new, }, { VT_GBK, "GBK", ef_gbk_parser_new, ef_gbk_conv_new, }, { VT_GB18030, "GB18030", ef_gb18030_2000_parser_new, ef_gb18030_2000_conv_new, }, { VT_HZ, "HZ", ef_hz_parser_new, ef_hz_conv_new, }, { VT_ISO2022CN, "ISO2022CN", ef_iso2022cn_parser_new, ef_iso2022cn_conv_new, }, /* * alternative names. * these are not used in vt_{parser|conv}_new , so parser_new/parser_conv * members are * not necessary. */ { VT_TIS620, "TIS620", }, #if 0 /* XXX necessary ? */ { VT_EUCJP, "EXTENDEDUNIXCODEPACKEDFORMATFORJAPANESE", }, /* MIME */ { VT_EUCJP, "CSEUCPKDFMTJAPANESE", }, /* MIME */ #endif {VT_EUCJP, "UJIS"}, { VT_SJIS, "SHIFTJIS", }, /* MIME */ { VT_EUCKR, "KSC56011987", }, /* for IIS error page(IIS bug?) */ { VT_EUCCN, "GB2312", }, { VT_HZ, "HZGB2312", }, }; /* * MSB of these charsets are not set , but must be set manually for X font. * These charsets are placed in an ascending order. */ static ef_charset_t msb_set_cs_table[] = { JISX0201_KATA, ISO8859_1_R, ISO8859_2_R, ISO8859_3_R, ISO8859_4_R, ISO8859_5_R, ISO8859_6_R, ISO8859_7_R, ISO8859_8_R, ISO8859_9_R, ISO8859_10_R, TIS620_2533, ISO8859_13_R, ISO8859_14_R, ISO8859_15_R, ISO8859_16_R, TCVN5712_3_1993, }; static struct { u_int16_t ucs; u_char decsp; } ucs_to_decsp_table[] = { {0xa0, '_'}, {0xa3, '}'}, {0xb0, 'f'}, {0xb1, 'g'}, {0xb7, '~'}, {0x3c0, '{'}, {0x2260, '|'}, {0x2264, 'y'}, {0x2265, 'z'}, {0x23ba, 'o'}, {0x23bb, 'p'}, {0x23bc, 'r'}, {0x23bd, 's'}, {0x2409, 'b'}, {0x240a, 'e'}, {0x240b, 'i'}, {0x240c, 'c'}, {0x240d, 'd'}, {0x2424, 'h'}, {0x2500, 'q'}, {0x2502, 'x'}, {0x250c, 'l'}, {0x2510, 'k'}, {0x2514, 'm'}, {0x2518, 'j'}, {0x251c, 't'}, {0x2524, 'u'}, {0x252c, 'w'}, {0x2534, 'v'}, {0x253c, 'n'}, {0x2592, 'a'}, {0x25c6, '`'}, }; static void (*iso2022kr_conv_init)(ef_conv_t *); static void (*iso2022kr_parser_init)(ef_parser_t *); /* --- static functions --- */ static void ovrd_iso2022kr_conv_init(ef_conv_t *conv) { u_char buf[5]; ef_parser_t *parser; (*iso2022kr_conv_init)(conv); if ((parser = ef_iso2022kr_parser_new()) == NULL) { return; } /* designating KSC5601 to G1 */ (*parser->set_str)(parser, "\x1b$)Ca", 5); /* this returns sequence of designating KSC5601 to G1 */ (*conv->convert)(conv, buf, sizeof(buf), parser); (*parser->delete)(parser); } static void ovrd_iso2022kr_parser_init(ef_parser_t *parser) { u_char buf[5]; ef_conv_t *conv; (*iso2022kr_parser_init)(parser); if ((conv = ef_iso2022kr_conv_new()) == NULL) { return; } /* designating KSC5601 to G1 */ (*parser->set_str)(parser, "\x1b$)Ca", 5); /* this returns sequence of designating KSC5601 to G1 */ (*conv->convert)(conv, buf, sizeof(buf), parser); (*conv->delete)(conv); } static size_t iso2022_illegal_char(ef_conv_t *conv, u_char *dst, size_t dst_size, int *is_full, ef_char_t *ch) { if (ch->cs == ISO10646_UCS4_1) { vt_convert_unicode_pua_to_drcs(ch); } return ef_iso2022_illegal_char(conv, dst, dst_size, is_full, ch); } static size_t non_iso2022_illegal_char(ef_conv_t *conv, u_char *dst, size_t dst_size, int *is_full, ef_char_t *ch) { *is_full = 0; if (ch->cs == DEC_SPECIAL) { if (dst_size < 7) { *is_full = 1; return 0; } dst[0] = '\x1b'; dst[1] = '('; dst[2] = '0'; dst[3] = ch->ch[0]; dst[4] = '\x1b'; dst[5] = '('; dst[6] = 'B'; return 7; } else { return 0; } } static size_t utf8_illegal_char(ef_conv_t *conv, u_char *dst, size_t dst_size, int *is_full, ef_char_t *ch) { *is_full = 0; if (ch->cs == DEC_SPECIAL) { u_int16_t utf16; if (dst_size < 3) { *is_full = 1; } else if ((utf16 = vt_convert_decsp_to_ucs(ef_char_to_int(ch)))) { dst[0] = ((utf16 >> 12) & 0x0f) | 0xe0; dst[1] = ((utf16 >> 6) & 0x3f) | 0x80; dst[2] = (utf16 & 0x3f) | 0x80; return 3; } } return 0; } /* --- global functions --- */ char *vt_get_char_encoding_name(vt_char_encoding_t encoding) { if (encoding < 0 || MAX_CHAR_ENCODINGS <= encoding) { return "ISO88591"; } else { return encoding_table[encoding].name; } } vt_char_encoding_t vt_get_char_encoding(const char *name /* '_' and '-' are ignored. */ ) { int count; char *_name; char *encoding; char *p; /* * duplicating name so as not to destroy its memory. */ if ((_name = bl_str_alloca_dup(name)) == NULL || (encoding = alloca(strlen(name) + 1)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return VT_UNKNOWN_ENCODING; } encoding[0] = '\0'; /* * removing '-' and '_' from name. */ while ((p = bl_str_sep(&_name, "-_")) != NULL) { strcat(encoding, p); } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " encoding -> %s.\n", encoding); #endif if (strcasecmp(encoding, "auto") == 0) { /* * XXX * UTF-8 is used by default in cygwin, msys, win32, android and osx. * (On osx, if mlterm.app is started from Finder, * vt_get_char_encoding("auto") returns VT_ISO88591.) * Note that vt_get_char_encoding("auto") is used to set character encoding * of window/icon title string, not only to determine character encoding. * (see vt_parser.c) */ #if !defined(__CYGWIN__) && !defined(__MSYS__) && !defined(USE_WIN32API) && \ !defined(__ANDROID__) && !defined(__APPLE__) vt_char_encoding_t e; if ((e = vt_get_char_encoding(bl_get_codeset())) != VT_UNKNOWN_ENCODING) { return e; } #endif return VT_UTF8; } for (count = 0; count < sizeof(encoding_table) / sizeof(encoding_table_t); count++) { if (strcasecmp(encoding, encoding_table[count].name) == 0) { return encoding_table[count].encoding; } } return VT_UNKNOWN_ENCODING; } ef_parser_t *vt_char_encoding_parser_new(vt_char_encoding_t encoding) { ef_parser_t *parser; if (encoding < 0 || MAX_CHAR_ENCODINGS <= encoding || encoding_table[encoding].encoding != encoding) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %d is illegal encoding.\n", encoding); #endif return NULL; } if ((parser = (*encoding_table[encoding].parser_new)()) == NULL) { return NULL; } if (encoding == VT_ISO2022KR) { /* overriding init method */ iso2022kr_parser_init = parser->init; parser->init = ovrd_iso2022kr_parser_init; (*parser->init)(parser); } return parser; } ef_conv_t *vt_char_encoding_conv_new(vt_char_encoding_t encoding) { ef_conv_t *conv; if (encoding < 0 || MAX_CHAR_ENCODINGS <= encoding || encoding_table[encoding].encoding != encoding) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %d is illegal encoding.\n", encoding); #endif return NULL; } if ((conv = (*encoding_table[encoding].conv_new)()) == NULL) { return NULL; } if (encoding == VT_UTF8) { conv->illegal_char = utf8_illegal_char; } else if (IS_ENCODING_BASED_ON_ISO2022(encoding)) { if (encoding == VT_ISO2022KR) { /* overriding init method */ iso2022kr_conv_init = conv->init; conv->init = ovrd_iso2022kr_conv_init; (*conv->init)(conv); } } return conv; } int vt_is_msb_set(ef_charset_t cs) { if (msb_set_cs_table[0] <= cs && cs <= msb_set_cs_table[sizeof(msb_set_cs_table) / sizeof(msb_set_cs_table[0]) - 1]) { int count; for (count = 0; count < sizeof(msb_set_cs_table) / sizeof(msb_set_cs_table[0]); count++) { if (msb_set_cs_table[count] == cs) { return 1; } } } return 0; } size_t vt_char_encoding_convert(u_char *dst, size_t dst_len, vt_char_encoding_t dst_encoding, u_char *src, size_t src_len, vt_char_encoding_t src_encoding) { ef_parser_t *parser; size_t filled_len; if ((parser = vt_char_encoding_parser_new(src_encoding)) == NULL) { return 0; } (*parser->init)(parser); (*parser->set_str)(parser, src, src_len); filled_len = vt_char_encoding_convert_with_parser(dst, dst_len, dst_encoding, parser); (*parser->delete)(parser); return filled_len; } size_t vt_char_encoding_convert_with_parser(u_char *dst, size_t dst_len, vt_char_encoding_t dst_encoding, ef_parser_t *parser) { ef_conv_t *conv; size_t filled_len; if ((conv = vt_char_encoding_conv_new(dst_encoding)) == NULL) { return 0; } (*conv->init)(conv); filled_len = (*conv->convert)(conv, dst, dst_len, parser); (*conv->delete)(conv); return filled_len; } int vt_parse_unicode_area(const char *str, u_int *min, u_int *max) { if (sscanf(str, "U+%x-%x", min, max) != 2) { if (sscanf(str, "U+%x", min) != 1) { goto error; } else { *max = *min; } } else if (*min > *max) { goto error; } return 1; error: bl_msg_printf("Illegal unicode area format: %s\n", str); return 0; } /* XXX This function should be moved to mef */ u_char vt_convert_ucs_to_decsp(u_int16_t ucs) { int l_idx; int h_idx; int idx; l_idx = 0; h_idx = sizeof(ucs_to_decsp_table) / sizeof(ucs_to_decsp_table[0]) - 1; if (ucs < ucs_to_decsp_table[l_idx].ucs || ucs_to_decsp_table[h_idx].ucs < ucs) { return 0; } while (1) { idx = (l_idx + h_idx) / 2; if (ucs == ucs_to_decsp_table[idx].ucs) { return ucs_to_decsp_table[idx].decsp; } else if (ucs < ucs_to_decsp_table[idx].ucs) { h_idx = idx; } else { l_idx = idx + 1; } if (l_idx >= h_idx) { return 0; } } } /* XXX This function should be moved to mef */ u_int16_t vt_convert_decsp_to_ucs(u_char decsp) { if ('`' <= decsp && decsp <= 'x') { int count; for (count = 0; count < sizeof(ucs_to_decsp_table) / sizeof(ucs_to_decsp_table[0]); count++) { if (ucs_to_decsp_table[count].decsp == decsp) { return ucs_to_decsp_table[count].ucs; } } } return 0; } void vt_char_encoding_conv_set_use_loose_rule(ef_conv_t *conv, vt_char_encoding_t encoding, int flag) { if (flag) { if (IS_ENCODING_BASED_ON_ISO2022(encoding)) { conv->illegal_char = iso2022_illegal_char; } else { conv->illegal_char = non_iso2022_illegal_char; } } else { if (encoding == VT_UTF8) { conv->illegal_char = utf8_illegal_char; } else { conv->illegal_char = NULL; } } } mlterm-3.8.4/vtemu/Makefile.in010064400017600000144000000045031321054731200147310ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ BINDIR = $(DESTDIR)$(bindir) LIBDIR = $(DESTDIR)$(libdir) VPATH = $(top_srcdir)/vtemu # @FRIBIDI_CFLAGS@ and @IND_CFLAGS@ are for NO_DYNAMIC_LOAD_CTL. CFLAGS = $(CFLAGS_LOCAL) @DEB_CFLAGS@ @POBL_CFLAGS@ @MEF_CFLAGS@ @SSH2_CFLAGS@ \ @UTMP_CFLAGS@ @FRIBIDI_CFLAGS@ @IND_CFLAGS@ @CTL_CFLAGS@ @VT52_CFLAGS@ \ @IMAGE_CFLAGS@ @TOOLS_CFLAGS@ @OT_LAYOUT_CFLAGS@ @CFLAGS@ \ @VT_NORM_CFLAGS@ @CPPFLAGS@ \ -I/usr/local/include -DLIBEXECDIR=\"$(libexecdir)\" -DBINDIR=\"$(bindir)\" \ -DLIBDIR=\"$(libdir)\" OBJ_CORE = vt_char.o vt_str.o vt_line.o vt_model.o vt_ot_layout.o @VT_NORM_OBJ@ @CTL_LOADER_OBJ@ OBJ = vt_char_encoding.o vt_color.o vt_edit.o vt_edit_util.o vt_edit_scroll.o \ vt_cursor.o vt_logical_visual.o vt_logs.o vt_screen.o vt_shape.o \ vt_str_parser.o vt_term.o vt_parser.o vt_term_manager.o \ vt_bidi.o vt_iscii.o vt_config_menu.o vt_config_proto.o vt_drcs.o \ vt_pty.o vt_termcap.o vt_line_shape.o vt_util.o cygfile.o @VT_PTY_OBJ@ LIBNAME = libmlterm LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all : @LMLTERM_CORE@ $(LIBNAME).a debug : @LMLTERM_CORE@ $(LIBNAME).a $(LIBNAME).a : $(OBJ) $(LIBTOOL_LINK) -o $(LIBNAME).a $(OBJ:.o=.lo) $(LIBNAME)_core.a : $(OBJ_CORE) $(LIBTOOL_LINK) -o $(LIBNAME)_core.a $(OBJ_CORE:.o=.lo) $(LIBNAME)_core.la : $(OBJ_CORE) $(LIBTOOL_LINK) -o $(LIBNAME)_core.la $(OBJ_CORE:.o=.lo) \ @NO_UNDEFINED_FLAG@ -rpath $(libdir) -avoid-version @LPOBL@ $(LIBS) $(LIBNAME)_coreotl.la : $(OBJ_CORE) $(LIBTOOL_LINK) -o $(LIBNAME)_coreotl.la $(OBJ_CORE:.o=.lo) \ @NO_UNDEFINED_FLAG@ -rpath $(libdir) -avoid-version @LPOBL@ $(LIBS) install : $(LIBDIR) if test "`echo @LMLTERM_CORE@|grep .la`" != "" ; then \ $(LIBTOOL_INSTALL) @LMLTERM_CORE@ $(LIBDIR) ; \ fi uninstall : rm -f $(LIBDIR)/*mlterm_core.* $(LIBDIR) : mkdir -p $(LIBDIR) clean : rm -rf $(OBJ) $(OBJ:.o=.lo) $(OBJ_CORE) $(OBJ_CORE:.o=.lo) .libs *.a *.la distclean: clean rm -f Makefile wc : find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l .SUFFIXES : .c.o .m.o : $(LIBTOOL_CC) -c $< .c.o : $(LIBTOOL_CC) -c $< mlterm-3.8.4/vtemu/vt_pty_pipewin32.c010064400017600000144000000363351321054731200162650ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "vt_pty_intern.h" #include #include #include /* close */ #include /* strchr/memcpy */ #include /* putenv/alloca */ #include #include /* realloc/alloca */ #include /* strdup */ #include #include #include #if 0 #define __DEBUG #endif typedef struct vt_pty_pipe { vt_pty_t pty; HANDLE master_input; /* master read(stdout,stderr) */ HANDLE master_output; /* master write */ HANDLE slave_stdout; /* slave write */ HANDLE child_proc; int8_t is_plink; u_char rd_ch; int8_t rd_ready; HANDLE rd_ev; } vt_pty_pipe_t; static DWORD main_tid; static HANDLE* child_procs; /* Notice: The first element is "ADDED_CHILD" event */ static DWORD num_child_procs; /* --- static functions --- */ static DWORD WINAPI wait_child_exited(LPVOID thr_param) { DWORD ev; #ifdef __DEBUG bl_debug_printf("Starting wait_child_exited thread.\n"); #endif while (1) { ev = WaitForMultipleObjects(num_child_procs, child_procs, FALSE, INFINITE); if (ev > WAIT_OBJECT_0 && ev < WAIT_OBJECT_0 + num_child_procs) { #ifdef __DEBUG bl_debug_printf("%dth child exited.\n", ev); #endif /* XXX regarding pid_t as HANDLE */ bl_trigger_sig_child(child_procs[ev - WAIT_OBJECT_0]); CloseHandle(child_procs[ev - WAIT_OBJECT_0]); child_procs[ev - WAIT_OBJECT_0] = child_procs[--num_child_procs]; } if (num_child_procs == 1) { break; } } free(child_procs); num_child_procs = 0; child_procs = NULL; #ifdef __DEBUG bl_debug_printf("Exiting wait_child_exited thread.\n"); #endif ExitThread(0); return 0; } /* * Monitors handle for input. Exits when child exits or pipe is broken. */ static DWORD WINAPI wait_pty_read(LPVOID thr_param) { vt_pty_pipe_t *pty = (vt_pty_pipe_t*)thr_param; DWORD n_rd; #ifdef __DEBUG bl_debug_printf("Starting wait_pty_read thread.\n"); #endif while (1) { if (!ReadFile(pty->master_input, &pty->rd_ch, 1, &n_rd, NULL) || n_rd == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ReadFile() failed."); #endif if (GetLastError() == ERROR_BROKEN_PIPE) { /* * If slave_stdout member is not necessary, wait_child_exited * is called here and wait_child_exited thread becomes * unnecessary. (But master_input is never broken until * slave_stdout is closed even if child process exited, so * wait_child_exited thread is necessary.) */ #ifdef DEBUG bl_msg_printf(" ==> ERROR_BROKEN_PIPE."); #endif } #ifdef DEBUG bl_msg_printf("\n"); #endif break; } /* Exit GetMessage() in x_display_receive_next_event(). */ PostThreadMessage(main_tid, WM_APP, 0, 0); WaitForSingleObject(pty->rd_ev, INFINITE); if (!pty->child_proc) { break; } #ifdef __DEBUG bl_debug_printf("Exit WaitForSingleObject\n"); #endif } #ifdef __DEBUG bl_debug_printf("Exiting wait_pty_read thread.\n"); #endif ExitThread(0); return 0; } static int pty_open(vt_pty_pipe_t *pty, const char *cmd_path, char *const cmd_argv[]) { HANDLE output_read_tmp, output_write; HANDLE input_write_tmp, input_read; HANDLE error_write; SECURITY_ATTRIBUTES sa; PROCESS_INFORMATION pi; STARTUPINFO si; char *cmd_line; output_read_tmp = input_write_tmp = output_write = input_read = error_write = 0; /* Set up the security attributes struct. */ sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; /* Create the child output pipe. */ if (!CreatePipe(&output_read_tmp, &output_write, &sa, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreatePipe() failed.\n"); #endif return 0; } /* * Create a duplicate of the output write handle for the std error * write handle. This is necessary in case the child application * closes one of its std output handles. */ if (!DuplicateHandle(GetCurrentProcess(), output_write, GetCurrentProcess(), &error_write, 0, TRUE, DUPLICATE_SAME_ACCESS)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DuplicateHandle() failed.\n"); #endif goto error1; } /* Create the child input pipe. */ if (!CreatePipe(&input_read, &input_write_tmp, &sa, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreatePipe() failed.\n"); #endif goto error1; } /* * Create new output read handle and the input write handles. Set * the Properties to FALSE. Otherwise, the child inherits the * properties and, as a result, non-closeable handles to the pipes * are created. */ if (!DuplicateHandle(GetCurrentProcess(), output_read_tmp, GetCurrentProcess(), &pty->master_input, /* Address of new handle. */ 0, FALSE, /* Make it uninheritable. */ DUPLICATE_SAME_ACCESS)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DuplicateHandle() failed.\n"); #endif goto error1; } else if (!DuplicateHandle(GetCurrentProcess(), input_write_tmp, GetCurrentProcess(), &pty->master_output, /* Address of new handle. */ 0, FALSE, /* Make it uninheritable. */ DUPLICATE_SAME_ACCESS)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DuplicateHandle() failed.\n"); #endif CloseHandle(pty->master_input); goto error1; } /* * Close inheritable copies of the handles you do not want to be * inherited. * * !! Notice !! * After here, goto error2 if error happens. */ CloseHandle(output_read_tmp); CloseHandle(input_write_tmp); /* Set up the start up info struct. */ ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESTDHANDLES | STARTF_FORCEOFFFEEDBACK; si.hStdOutput = output_write; si.hStdInput = input_read; si.hStdError = error_write; /* * Use this if you want to hide the child: * si.wShowWindow = SW_HIDE; * Note that dwFlags must include STARTF_USESHOWWINDOW if you want to * use the wShowWindow flags. */ if (cmd_argv) { int count; size_t cmd_line_len; /* Because cmd_path == cmd_argv[0], cmd_argv[0] is ignored. */ cmd_line_len = strlen(cmd_path) + 1; for (count = 1; cmd_argv[count] != NULL; count++) { cmd_line_len += (strlen(cmd_argv[count]) + 1); } if ((cmd_line = alloca(sizeof(char) * cmd_line_len)) == NULL) { CloseHandle(pty->master_input); CloseHandle(pty->master_output); goto error2; } strcpy(cmd_line, cmd_path); for (count = 1; cmd_argv[count] != NULL; count++) { strcat(cmd_line, " "); strcat(cmd_line, cmd_argv[count]); } } else { cmd_line = cmd_path; } if (!CreateProcess(cmd_path, cmd_line, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateProcess() failed.\n"); #endif CloseHandle(pty->master_input); CloseHandle(pty->master_output); goto error2; } pty->slave_stdout = output_write; /* Set global child process handle to cause threads to exit. */ pty->child_proc = pi.hProcess; if (strstr(cmd_path, "plink")) { pty->is_plink = 1; } else { pty->is_plink = 0; } /* close unnecessary handles. */ CloseHandle(pi.hThread); CloseHandle(input_read); CloseHandle(error_write); return 1; error1: if (output_read_tmp) { CloseHandle(output_read_tmp); } if (input_write_tmp) { CloseHandle(input_write_tmp); } error2: if (output_write) { CloseHandle(output_write); } if (error_write) { CloseHandle(error_write); } if (input_read) { CloseHandle(input_read); } return 0; } static int final(vt_pty_t *p) { vt_pty_pipe_t *pty; int count; DWORD size; pty = (vt_pty_pipe_t*)p; /* * TerminateProcess must be called before CloseHandle. * If pty->child_proc is not in child_procs, pty->child_proc is already * closed in wait_child_exited, so TerminateProcess is not called. */ for (count = 0; count < num_child_procs; count++) { if (pty->child_proc == child_procs[count]) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Terminate process %d\n", pty->child_proc); #endif TerminateProcess(pty->child_proc, 0); break; } } /* Used to check if child process is dead or not in wait_pty_read. */ pty->child_proc = 0; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Trying to terminate wait_pty_read thread."); #endif /* * If wait_pty_read waits in ReadFile( pty->master_input), * CloseHandle( pty->master_input) causes process to be blocked. * (Even if child process exits, ReadFile in wait_pty_read doesn't * exit by ERROR_BROKEN_PIPE, because pty->slave_stdout remains * opened in parent process.) * Write a dummy data to child process, and wait_pty_read waits * in WaitForSingleObject(pty->rd_ev). * Then close pty->slave_stdout and set pty->rd_ev. * As a result, wait_pty_read thread exits. */ WriteFile(pty->slave_stdout, "", 1, &size, NULL); CloseHandle(pty->slave_stdout); SetEvent(pty->rd_ev); #ifdef __DEBUG bl_msg_printf(" => Finished.\n"); #endif CloseHandle(pty->master_input); CloseHandle(pty->master_output); CloseHandle(pty->rd_ev); return 1; } static int set_winsize(vt_pty_t *pty, u_int cols, u_int rows, u_int width_pix, u_int height_pix) { if (((vt_pty_pipe_t*)pty)->is_plink) { /* * XXX Hack */ u_char opt[5]; opt[0] = 0xff; opt[1] = (cols >> 8) & 0xff; opt[2] = cols & 0xff; opt[3] = (rows >> 8) & 0xff; opt[4] = rows & 0xff; vt_write_to_pty(pty, opt, 5); return 1; } return 0; } /* * Return size of lost bytes. */ static ssize_t write_to_pty(vt_pty_t *pty, u_char *buf, size_t len) { DWORD written_size; if (!WriteFile(((vt_pty_pipe_t*)pty)->master_output, buf, len, &written_size, NULL)) { if (GetLastError() == ERROR_BROKEN_PIPE) { return -1; } } FlushFileBuffers(((vt_pty_pipe_t*)pty)->master_output); return written_size; } static ssize_t read_pty(vt_pty_t *p, u_char *buf, size_t len) { vt_pty_pipe_t *pty; ssize_t n_rd; pty = (vt_pty_pipe_t*)p; if (pty->rd_ch == '\0' && !pty->rd_ready) { return 0; } if (pty->rd_ch != '\0') { buf[0] = pty->rd_ch; n_rd = 1; len--; pty->rd_ch = '\0'; pty->rd_ready = 1; } else { n_rd = 0; } while (len > 0) { DWORD ret; if (!PeekNamedPipe(pty->master_input, NULL, 0, NULL, &ret, NULL) || ret == 0 || !ReadFile(pty->master_input, &buf[n_rd], len, &ret, NULL) || ret == 0) { break; } n_rd += ret; len -= ret; } if (n_rd == 0) { SetEvent(pty->rd_ev); pty->rd_ready = 0; } #if 0 else { int i; for (i = 0; i < n_rd; i++) { if (buf[i] == 0xff) { bl_msg_printf("Server Option => "); bl_msg_printf("%d ", buf[i++]); if (i < n_rd) printf("%d ", buf[i++]); if (i < n_rd) printf("%d ", buf[i++]); if (i < n_rd) printf("%d ", buf[i++]); if (i < n_rd) printf("%d ", buf[i++]); } } } #endif return n_rd; } /* --- global functions --- */ vt_pty_t *vt_pty_pipe_new(const char *cmd_path, /* can be NULL */ char **cmd_argv, /* can be NULL(only if cmd_path is NULL) */ char **env, /* can be NULL */ const char *uri, const char *pass, u_int cols, u_int rows) { vt_pty_pipe_t *pty; HANDLE thrd; DWORD tid; char ev_name[25]; char *user; char *proto; char *host; char *port; int idx; if (num_child_procs == 0) { main_tid = GetCurrentThreadId(); /* * Initialize child_procs array. */ if ((child_procs = malloc(sizeof(HANDLE))) == NULL) { return NULL; } child_procs[0] = CreateEvent(NULL, FALSE, FALSE, "ADDED_CHILD"); num_child_procs = 1; /* Launch the thread that wait for child exited. */ if (!(thrd = CreateThread(NULL, 0, wait_child_exited, NULL, 0, &tid))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateThread() failed.\n"); #endif return NULL; } CloseHandle(thrd); } if ((pty = calloc(1, sizeof(vt_pty_pipe_t))) == NULL) { return NULL; } if (env) { while (*env) { char *p; char *key; char *val; if ((key = bl_str_alloca_dup(*env)) && (p = strchr(key, '='))) { *p = '\0'; val = ++p; SetEnvironmentVariable(key, val); #ifdef __DEBUG bl_debug_printf("Env: %s=%s\n", key, val); #endif } env++; } } if (!cmd_path || /* ! cmd_argv || */ (strstr(cmd_path, "plink") && cmd_argv[0] && !cmd_argv[1])) { if (!(cmd_argv = alloca(sizeof(char*) * 8)) || !bl_parse_uri(&proto, &user, &host, &port, NULL, NULL, bl_str_alloca_dup(uri))) { free(pty); return NULL; } if (!cmd_path) { cmd_path = "plink.exe"; } idx = 0; cmd_argv[idx++] = cmd_path; if (proto) { char *p; if ((p = alloca(strlen(proto) + 2))) { sprintf(p, "-%s", proto); cmd_argv[idx++] = p; /* -pw option can only be used with SSH. */ if (strcmp(proto, "ssh") == 0) { cmd_argv[idx++] = "-pw"; cmd_argv[idx++] = pass; } } } /* USER/LOGNAME: unix , USERNAME: win32 */ if (user || (user = getenv("USER")) || (user = getenv("USERNAME")) || (user = getenv("LOGNAME"))) { cmd_argv[idx++] = "-l"; cmd_argv[idx++] = user; } cmd_argv[idx++] = host; cmd_argv[idx++] = NULL; } if (!(pty_open(pty, cmd_path, cmd_argv))) { free(pty); return NULL; } snprintf(ev_name, sizeof(ev_name), "PTY_READ_READY%x", (int)pty->child_proc); pty->rd_ev = CreateEvent(NULL, FALSE, FALSE, ev_name); #ifdef __DEBUG bl_debug_printf("Created pty read event: %s\n", ev_name); #endif pty->pty.master = (int)pty->master_output; /* XXX Cast HANDLE => int */ pty->pty.slave = (int)pty->slave_stdout; /* XXX Cast HANDLE => int */ pty->pty.child_pid = (pid_t)pty->child_proc; /* Cast HANDLE => pid_t */ pty->pty.final = final; pty->pty.set_winsize = set_winsize; pty->pty.write = write_to_pty; pty->pty.read = read_pty; if (set_winsize(&pty->pty, cols, rows, 0, 0) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_set_pty_winsize() failed.\n"); #endif } /* Launch the thread that read the child's output. */ if (!(thrd = CreateThread(NULL, 0, wait_pty_read, (LPVOID)pty, 0, &tid))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateThread() failed.\n"); #endif vt_pty_delete(&pty->pty); return NULL; } else { void *p; CloseHandle(thrd); /* Add to child_procs */ if (!(p = realloc(child_procs, sizeof(HANDLE) * (num_child_procs + 1)))) { vt_pty_delete(&pty->pty); return NULL; } child_procs = p; child_procs[num_child_procs++] = pty->child_proc; /* * Exit WaitForMultipleObjects in wait_child_proc and do * WaitForMultipleObjects * again with new child_procs. */ SetEvent(child_procs[0]); #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " Added child procs NUM %d ADDED-HANDLE %d:%d.\n", num_child_procs, child_procs[num_child_procs - 1], pty->child_proc); #endif return &pty->pty; } } mlterm-3.8.4/uitoolkit004075500017600000144000000000001321054731200134715ustar kenusersmlterm-3.8.4/uitoolkit/wayland004075500017600000144000000000001321054731200151305ustar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_selection_encoding.c012075500017600000144000000000001321054731200275402../xlib/ui_selection_encoding.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_xic.c012075500017600000144000000000001321054731200210512../fb/ui_xic.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui.h010064400017600000144000000266751321054731200160120ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ #include #include #include #include #include #ifdef USE_FREETYPE #include /* u_int32_t etc */ #endif typedef int KeyCode; /* Same as type of wparam */ typedef int KeySym; /* Same as type of wparam */ typedef unsigned long Atom; /* Same as definition in X11/X.h */ typedef uint32_t Time; typedef struct { int type; Time time; unsigned int state; KeySym ksym; unsigned int keycode; } XKeyEvent; typedef struct { int type; Time time; int x; int y; unsigned int state; unsigned int button; } XButtonEvent; typedef struct { int type; Time time; int x; int y; unsigned int state; } XMotionEvent; typedef struct { int type; struct ui_window *target; } XSelectionRequestEvent; typedef union { int type; XKeyEvent xkey; XButtonEvent xbutton; XMotionEvent xmotion; XSelectionRequestEvent xselectionrequest; } XEvent; typedef struct { struct wl_display *display; struct wl_output *output; struct wl_registry *registry; struct wl_compositor *compositor; struct wl_shm *shm; struct wl_cursor_theme *cursor_theme; struct wl_cursor *cursor[10]; struct wl_surface *cursor_surface; struct wl_seat *seat; struct wl_keyboard *keyboard; struct wl_pointer *pointer; struct wl_data_device_manager *data_device_manager; struct wl_data_device *data_device; struct ui_xkb { struct xkb_context *ctx; struct xkb_keymap *keymap; struct xkb_state *state; xkb_mod_index_t ctrl; xkb_mod_index_t alt; xkb_mod_index_t shift; xkb_mod_index_t logo; unsigned int mods; } * xkb; struct wl_surface *current_kbd_surface; struct wl_surface *current_pointer_surface; int pointer_x; int pointer_y; int pointer_button; int current_cursor; int kbd_repeat_wait; XKeyEvent prev_kev; u_int kbd_repeat_count; struct wl_data_offer *dnd_offer; struct wl_data_offer *sel_offer; struct wl_data_source *sel_source; int32_t sel_fd; uint32_t serial; int ref_count; #ifdef COMPAT_LIBVTE struct wl_subcompositor *subcompositor; #else struct wl_shell *shell; #endif } ui_wlserv_t; typedef struct { ui_wlserv_t *wlserv; unsigned char *fb; struct wl_buffer *buffer; struct wl_surface *surface; unsigned int bytes_per_pixel; unsigned int line_length; int lock_state; struct rgb_info { unsigned int r_limit; unsigned int g_limit; unsigned int b_limit; unsigned int r_offset; unsigned int g_offset; unsigned int b_offset; } rgbinfo; unsigned int width; unsigned int height; int damage_x; int damage_y; unsigned int damage_width; unsigned int damage_height; int is_resizing; struct ui_display *parent; #ifdef COMPAT_LIBVTE struct wl_surface *parent_surface; struct wl_subsurface *subsurface; int x; int y; #else struct wl_shell_surface *shell_surface; #endif } Display; #define PIXEL_RED(pixel, rgbinfo) (((pixel) >> (rgbinfo).r_offset) << (rgbinfo).r_limit) #define PIXEL_BLUE(pixel, rgbinfo) (((pixel) >> (rgbinfo).b_offset) << (rgbinfo).b_limit) #define PIXEL_GREEN(pixel, rgbinfo) (((pixel) >> (rgbinfo).g_offset) << (rgbinfo).g_limit) #define RGB_TO_PIXEL(r, g, b, rgbinfo) \ ((((r) >> (rgbinfo).r_limit) << (rgbinfo).r_offset) | \ (((g) >> (rgbinfo).g_limit) << (rgbinfo).g_offset) | \ (((b) >> (rgbinfo).b_limit) << (rgbinfo).b_offset)) typedef int XIC; /* dummy */ typedef void *XID; /* dummy */ typedef void *Window; /* dummy */ typedef void *Drawable; /* dummy */ typedef struct { unsigned char *image; unsigned int width; unsigned int height; } * Pixmap; typedef unsigned char *PixmapMask; typedef int GC; typedef int Font; typedef int Cursor; typedef struct /* Same as definition in X11/X.h */ { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; typedef struct /* Same as definition in X11/X.h */ { unsigned char byte1; unsigned char byte2; } XChar2b; typedef struct _XFontStruct { char *file; #ifdef USE_FREETYPE int32_t format; /* XXX (fontsize|FONT_BOLD|FONT_ITALIC) on freetype. */ #endif int32_t num_glyphs; unsigned char *glyphs; int32_t glyph_width_bytes; unsigned char width; unsigned char width_full; unsigned char height; unsigned char ascent; #if 0 u_int16_t *glyph_indeces; #else unsigned short *glyph_indeces; #endif /* for pcf */ int16_t min_char_or_byte2; int16_t max_char_or_byte2; int16_t min_byte1; int16_t max_byte1; int32_t *glyph_offsets; #ifdef USE_FREETYPE /* for freetype */ void *face; u_int32_t num_indeces; u_int32_t glyph_size; int is_aa; #ifdef USE_FONTCONFIG struct _XFontStruct **compl_xfonts; #endif #endif unsigned int ref_count; } XFontStruct; typedef int XFontSet; /* dummy */ #define None 0L /* Same as definition in X11/X.h */ #define NoSymbol 0L /* Same as definition in X11/X.h */ #define CurrentTime 0L /* Same as definition in X11/X.h */ /* Same as definition in X11/X.h */ #define NoEventMask 0L #define KeyPressMask (1L << 0) #define KeyReleaseMask (1L << 1) #define ButtonPressMask (1L << 2) #define ButtonReleaseMask (1L << 3) #define EnterWindowMask (1L << 4) #define LeaveWindowMask (1L << 5) #define PointerMotionMask (1L << 6) #define PointerMotionHintMask (1L << 7) #define Button1MotionMask (1L << 8) #define Button2MotionMask (1L << 9) #define Button3MotionMask (1L << 10) #define Button4MotionMask (1L << 11) #define Button5MotionMask (1L << 12) #define ButtonMotionMask (1L << 13) #define KeymapStateMask (1L << 14) #define ExposureMask (1L << 15) #define VisibilityChangeMask (1L << 16) #define StructureNotifyMask (1L << 17) #define ResizeRedirectMask (1L << 18) #define SubstructureNotifyMask (1L << 19) #define SubstructureRedirectMask (1L << 20) #define FocusChangeMask (1L << 21) #define PropertyChangeMask (1L << 22) #define ColormapChangeMask (1L << 23) #define OwnerGrabButtonMask (1L << 24) #define ShiftMask (1 << 0) #define LockMask (1 << 1) #define ControlMask (1 << 2) #define Mod1Mask (1 << 3) #define Mod2Mask (1 << 4) #define Mod3Mask (1 << 5) #define Mod4Mask (1 << 6) #define Mod5Mask (1 << 7) #define Button1Mask (1 << 8) #define Button2Mask (1 << 9) #define Button3Mask (1 << 10) #define Button4Mask (1 << 11) #define Button5Mask (1 << 12) #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 #define XK_Super_L XKB_KEY_Super_L #define XK_Super_R XKB_KEY_Super_R #define XK_Hyper_L XKB_KEY_Hyper_L #define XK_Hyper_R XKB_KEY_Hyper_R #define XK_BackSpace XKB_KEY_BackSpace #define XK_Tab XKB_KEY_Tab #define XK_Clear XKB_KEY_Clear #define XK_Linefeed XKB_KEY_Linefeed #define XK_Return XKB_KEY_Return #define XK_Shift_L XKB_KEY_Shift_L #define XK_Control_L XKB_KEY_Control_L #define XK_Alt_L XKB_KEY_Alt_L #define XK_Shift_R XKB_KEY_Shift_R #define XK_Control_R XKB_KEY_Control_R #define XK_Alt_R XKB_KEY_Alt_R #define XK_Meta_L XKB_KEY_Meta_L #define XK_Meta_R XKB_KEY_Meta_R #define XK_Pause XKB_KEY_Pause #define XK_Shift_Lock XKB_KEY_Shift_Lock #define XK_Caps_Lock XKB_KEY_Caps_Lock #define XK_Escape XKB_KEY_Escape #define XK_Prior XKB_KEY_Prior #define XK_Next XKB_KEY_Next #define XK_End XKB_KEY_End #define XK_Home XKB_KEY_Home #define XK_Left XKB_KEY_Left #define XK_Up XKB_KEY_Up #define XK_Right XKB_KEY_Right #define XK_Down XKB_KEY_Down #define XK_Select XKB_KEY_Select #define XK_Print XKB_KEY_Print #define XK_Execute XKB_KEY_Execute #define XK_Insert XKB_KEY_Insert #define XK_Delete XKB_KEY_Delete #define XK_Help XKB_KEY_Help #define XK_F1 XKB_KEY_F1 #define XK_F2 XKB_KEY_F2 #define XK_F3 XKB_KEY_F3 #define XK_F4 XKB_KEY_F4 #define XK_F5 XKB_KEY_F5 #define XK_F6 XKB_KEY_F6 #define XK_F7 XKB_KEY_F7 #define XK_F8 XKB_KEY_F8 #define XK_F9 XKB_KEY_F9 #define XK_F10 XKB_KEY_F10 #define XK_F11 XKB_KEY_F11 #define XK_F12 XKB_KEY_F12 #define XK_F13 XKB_KEY_F13 #define XK_F14 XKB_KEY_F14 #define XK_F15 XKB_KEY_F15 #define XK_F16 XKB_KEY_F16 #define XK_F17 XKB_KEY_F17 #define XK_F18 XKB_KEY_F18 #define XK_F19 XKB_KEY_F19 #define XK_F20 XKB_KEY_F20 #define XK_F21 XKB_KEY_F21 #define XK_F22 XKB_KEY_F22 #define XK_F23 XKB_KEY_F23 #define XK_F24 XKB_KEY_F24 #define XK_FMAX XKB_KEY_F24 #define XK_Num_Lock XKB_KEY_Num_Lock #define XK_Scroll_Lock XKB_KEY_Scroll_Lock #define XK_Find XKB_KEY_Find #define XK_Menu XKB_KEY_Menu #define XK_Begin XKB_KEY_Begin #define XK_Muhenkan XKB_KEY_Muhenkan #define XK_Henkan_Mode XKB_KEY_Henkan_Mode #define XK_Zenkaku_Hankaku XKB_KEY_Zenkaku_Hankaku #define XK_Hiragana_Katakana 0xfffe /* dummy */ #define XK_KP_Prior XKB_KEY_KP_Prior #define XK_KP_Next XKB_KEY_KP_Next #define XK_KP_End XKB_KEY_KP_End #define XK_KP_Home XKB_KEY_KP_Home #define XK_KP_Left XKB_KEY_KP_Left #define XK_KP_Up XKB_KEY_KP_Up #define XK_KP_Right XKB_KEY_KP_Right #define XK_KP_Down XKB_KEY_KP_Down #define XK_KP_Insert XKB_KEY_KP_Insert #define XK_KP_Delete XKB_KEY_KP_Delete #define XK_KP_F1 XKB_KEY_KP_F1 #define XK_KP_F2 XKB_KEY_KP_F2 #define XK_KP_F3 XKB_KEY_KP_F3 #define XK_KP_F4 XKB_KEY_KP_F4 #define XK_KP_Begin XKB_KEY_KP_Begin #define XK_KP_Multiply XKB_KEY_KP_Multiply #define XK_KP_Add XKB_KEY_KP_Add #define XK_KP_Separator XKB_KEY_KP_Separator #define XK_KP_Subtract XKB_KEY_KP_Subtract #define XK_KP_Decimal XKB_KEY_KP_Decimal #define XK_KP_Divide XKB_KEY_KP_Divide #define XK_KP_0 XKB_KEY_KP_0 #define XK_KP_1 XKB_KEY_KP_1 #define XK_KP_2 XKB_KEY_KP_2 #define XK_KP_3 XKB_KEY_KP_3 #define XK_KP_4 XKB_KEY_KP_4 #define XK_KP_5 XKB_KEY_KP_5 #define XK_KP_6 XKB_KEY_KP_6 #define XK_KP_7 XKB_KEY_KP_7 #define XK_KP_8 XKB_KEY_KP_8 #define XK_KP_9 XKB_KEY_KP_9 #define IsKeypadKey(ksym) (XKB_KEY_KP_Space <= (ksym) && (ksym) < XKB_KEY_F1) #define IsModifierKey(ksym) (0) #define XK_ISO_Left_Tab XKB_KEY_ISO_Left_Tab typedef struct { short x; short y; } XPoint; /* XXX dummy */ #define XKeysymToKeycode(disp, ks) (ks) #define XKeycodeToKeysym(disp, kc, i) (kc) #define XKeysymToString(ks) "" #define DefaultScreen(disp) (0) #define BlackPixel(disp, screen) (0xff000000 | RGB(0, 0, 0)) #define WhitePixel(disp, screen) (0xff000000 | RGB(0xff, 0xff, 0xff)) /* Same as definition in X11/cursorfont.h */ #define XC_xterm 152 #define XC_left_ptr 68 /* Same as definition in X11/Xutil.h */ #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height); KeySym XStringToKeysym(char *str); /* === Platform dependent options === */ #define UI_COLOR_HAS_RGB #define SUPPORT_TRUE_TRANSPARENT_BG #ifdef USE_FREETYPE #define TYPE_XCORE_SCALABLE #else #undef TYPE_XCORE_SCALABLE #endif #define MANAGE_SUB_WINDOWS_BY_MYSELF /* ui_im_{candidate|status}_screen.c, ui_window.c */ #undef MANAGE_ROOT_WINDOWS_BY_MYSELF #define INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #undef SUPPORT_POINT_SIZE_FONT #undef XIM_SPOT_IS_LINE_TOP #undef USE_GC #undef CHANGEABLE_CURSOR #define PLUGIN_MODULE_SUFFIX "wl" #define KEY_REPEAT_BY_MYSELF #define ROTATABLE_DISPLAY #undef PSEUDO_COLOR_DISPLAY #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #undef SUPPORT_URGENT_BELL #undef FORCE_UNICODE #define NEED_DISPLAY_SYNC_EVERY_TIME #define DRAW_SCREEN_IN_PIXELS #undef NO_DRAW_IMAGE_STRING /* libpthread is not linked to mlterm explicitly for now. */ #undef HAVE_PTHREAD #define COMPOSE_DECSP_FONT #ifdef USE_FREETYPE #define USE_REAL_VERTICAL_FONT #else #undef USE_REAL_VERTICAL_FONT #endif #endif mlterm-3.8.4/uitoolkit/wayland/ui_gc.c012075500017600000144000000000001321054731200204652../fb/ui_gc.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_connect_dialog.c012075500017600000144000000000001321054731200254232../fb/ui_connect_dialog.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_imagelib.c012075500017600000144000000000001321054731200230252../fb/ui_imagelib.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_display.c010064400017600000144000001766621321054731200175340ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_display.h" #include /* memset/memcpy */ #include #include #include #include #include #include #include /* strdup */ #include /* bl_file_set_cloexec */ #include "../ui_window.h" #include "../ui_picture.h" #include "../ui_imagelib.h" #if 0 #define __DEBUG #endif #ifndef BTN_LEFT #define BTN_LEFT 0x110 #endif #ifndef BTN_RIGHT #define BTN_RIGHT 0x111 #endif #ifndef BTN_MIDDLE #define BTN_MIDDLE 0x112 #endif #define DECORATION_MARGIN 0 /* for decorataion */ #define RESIZE_MARGIN 4 /* for resizing area */ #define KEY_REPEAT_UNIT 25 /* msec (see ui_event_source.c) */ #define DEFAULT_KEY_REPEAT_1 400 /* msec */ #define DEFAULT_KEY_REPEAT_N 50 /* msec */ /* --- static variables --- */ static u_int num_wlservs; static ui_wlserv_t **wlservs; static u_int num_displays; static ui_display_t **displays; static int rotate_display; int kbd_repeat_1 = DEFAULT_KEY_REPEAT_1; int kbd_repeat_N = DEFAULT_KEY_REPEAT_N; /* --- static functions --- */ static int create_tmpfile_cloexec(char *tmpname) { int fd; #ifdef HAVE_MKOSTEMP if ((fd = mkostemp(tmpname, O_CLOEXEC)) >= 0) { unlink(tmpname); } #else if ((fd = mkstemp(tmpname)) >= 0) { bl_file_set_cloexec(fd); unlink(tmpname); } #endif return fd; } static int create_anonymous_file(off_t size) { static const char template[] = "/weston-shared-XXXXXX"; const char *path; char *name; int fd; int ret; if (!(path = getenv("XDG_RUNTIME_DIR"))) { return -1; } if (!(name = malloc(strlen(path) + sizeof(template)))) { return -1; } strcpy(name, path); strcat(name, template); fd = create_tmpfile_cloexec(name); free(name); if (fd < 0) { return -1; } if ((ret = posix_fallocate(fd, 0, size)) != 0) { close(fd); return -1; } return fd; } static ui_window_t *search_focused_window(ui_window_t *win) { u_int count; ui_window_t *focused; /* * *parent* - *child* * ^^^^^^^ => Hit this window instead of the parent window. * - child * - child * (**: is_focused == 1) */ for (count = 0; count < win->num_children; count++) { if ((focused = search_focused_window(win->children[count]))) { return focused; } } if (win->is_focused) { return win; } return NULL; } static ui_window_t *search_inputtable_window(ui_window_t *candidate, ui_window_t *win) { u_int count; if (win->inputtable) { if (candidate == NULL || win->inputtable > candidate->inputtable) { candidate = win; } } for (count = 0; count < win->num_children; count++) { candidate = search_inputtable_window(candidate, win->children[count]); } return candidate; } /* * x and y are rotated values. */ static inline ui_window_t *get_window(ui_window_t *win, int x, int y) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_t *child; if ((child = win->children[count])->is_mapped) { if (child->x <= x && x < child->x + ACTUAL_WIDTH(child) && child->y <= y && y < child->y + ACTUAL_HEIGHT(child)) { return get_window(child, x - child->x, y - child->y); } } } return win; } static inline u_char *get_fb(Display *display, int x, int y) { return ((u_char*)display->fb) + (y + DECORATION_MARGIN) * display->line_length + x * display->bytes_per_pixel; } static ui_display_t *surface_to_display(struct wl_surface *surface) { u_int count; for (count = 0; count < num_displays; count++) { if (surface == displays[count]->display->surface) { return displays[count]; } } return NULL; } #ifdef COMPAT_LIBVTE static ui_display_t *parent_surface_to_display(struct wl_surface *surface) { u_int count; for (count = 0; count < num_displays; count++) { if (surface == displays[count]->display->parent_surface) { return displays[count]; } } return NULL; } static ui_display_t *add_root_to_display(ui_display_t *disp, ui_window_t *root, struct wl_surface *parent_surface) { ui_wlserv_t *wlserv = disp->display->wlserv; ui_display_t *new; void *p; u_int count; if (!(p = realloc(displays, sizeof(ui_display_t*) * (num_displays + 1)))) { return NULL; } displays = p; if (wlservs == NULL) { if (!(wlservs = malloc(sizeof(ui_wlserv_t*)))) { return NULL; } wlservs[0] = wlserv; num_wlservs = 1; } if (!(new = calloc(1, sizeof(ui_display_t) + sizeof(Display)))) { return NULL; } memcpy(new, disp, sizeof(ui_display_t)); new->display = new + 1; new->name = strdup(disp->name); new->roots = NULL; new->num_roots = 0; memcpy(new->display, disp->display, sizeof(Display)); new->display->parent_surface = parent_surface; for (count = 0; count < num_displays; count++) { if (strcmp(displays[count]->name, new->name) == 0) { new->selection_owner = displays[count]->selection_owner; break; } } displays[num_displays++] = new; if ((p = realloc(disp->roots, sizeof(ui_window_t*) * (disp->num_roots + 1)))) { disp->roots = p; disp->roots[disp->num_roots++] = root; } wlserv->ref_count++; return new; } static ui_display_t *remove_root_from_display(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { disp->roots[count] = disp->roots[--disp->num_roots]; break; } } for (count = 0; count < num_displays; count++) { if (displays[count]->roots[0] == root) { return displays[count]; } } return NULL; } #endif static void seat_capabilities(void *data, struct wl_seat *seat, enum wl_seat_capability caps); static void seat_name(void *data, struct wl_seat *seat, const char *name) { #ifdef __DEBUG bl_debug_printf("SEAT name %s\n", name); #endif } static const struct wl_seat_listener seat_listener = { seat_capabilities, seat_name, }; static void registry_global(void *data, struct wl_registry *registry, uint32_t name, const char *interface, uint32_t version) { ui_wlserv_t *wlserv = data; if(strcmp(interface, "wl_compositor") == 0) { wlserv->compositor = wl_registry_bind(registry, name, &wl_compositor_interface, 1); } #ifdef COMPAT_LIBVTE else if (strcmp(interface, "wl_subcompositor") == 0) { wlserv->subcompositor = wl_registry_bind(registry, name, &wl_subcompositor_interface, 1); } #else else if(strcmp(interface, "wl_shell") == 0) { wlserv->shell = wl_registry_bind(registry, name, &wl_shell_interface, 1); } #endif else if(strcmp(interface, "wl_shm") == 0) { wlserv->shm = wl_registry_bind(registry, name, &wl_shm_interface, 1); } else if(strcmp(interface, "wl_seat") == 0) { wlserv->seat = wl_registry_bind(registry, name, &wl_seat_interface, 4); /* 4 is for keyboard_repeat_info */ wl_seat_add_listener(wlserv->seat, &seat_listener, wlserv); } else if(strcmp(interface, "wl_output") == 0) { wlserv->output = wl_registry_bind(registry, name, &wl_output_interface, 1); } else if (strcmp(interface, "wl_data_device_manager") == 0) { wlserv->data_device_manager = wl_registry_bind(registry, name, &wl_data_device_manager_interface, 3); } #ifdef __DEBUG else { bl_debug_printf("Unknown interface: %s\n", interface); } #endif } static void registry_global_remove(void *data, struct wl_registry *registry, uint32_t name) { } static const struct wl_registry_listener registry_listener = { registry_global, registry_global_remove }; static void receive_key_event(ui_wlserv_t *wlserv, XKeyEvent *ev) { if (wlserv->current_kbd_surface) { ui_display_t *disp = surface_to_display(wlserv->current_kbd_surface); ui_window_t *win; #ifdef COMPAT_LIBVTE if (!disp) { disp = parent_surface_to_display(wlserv->current_kbd_surface); } #endif /* Key event for dead surface may be received. */ if (disp && (win = search_focused_window(disp->roots[0]))) { ui_window_receive_event(win, ev); } } } static void keyboard_keymap(void *data, struct wl_keyboard *keyboard, uint32_t format, int fd, uint32_t size){ ui_wlserv_t *wlserv = data; char *string; if (format != WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1) { close(fd); return; } if ((string = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0)) == MAP_FAILED) { close(fd); return; } wlserv->xkb->keymap = xkb_keymap_new_from_string(wlserv->xkb->ctx, string, XKB_KEYMAP_FORMAT_TEXT_V1, 0); munmap(string, size); close(fd); wlserv->xkb->state = xkb_state_new(wlserv->xkb->keymap); wlserv->xkb->ctrl = xkb_keymap_mod_get_index(wlserv->xkb->keymap, XKB_MOD_NAME_CTRL); wlserv->xkb->alt = xkb_keymap_mod_get_index(wlserv->xkb->keymap, XKB_MOD_NAME_ALT); wlserv->xkb->shift = xkb_keymap_mod_get_index(wlserv->xkb->keymap, XKB_MOD_NAME_SHIFT); wlserv->xkb->logo = xkb_keymap_mod_get_index(wlserv->xkb->keymap, XKB_MOD_NAME_LOGO); } static void auto_repeat(void) { u_int count; for (count = 0; count < num_wlservs; count++) { if (wlservs[count]->prev_kev.type && --wlservs[count]->kbd_repeat_wait == 0) { if (wlservs[count]->kbd_repeat_count++ == 2) { /* * Selecting next candidate of ibus lookup table by repeating space key * freezes without this. */ wl_display_roundtrip(wlservs[count]->display); wlservs[count]->kbd_repeat_count = 0; } wlservs[count]->prev_kev.time += kbd_repeat_N; receive_key_event(wlservs[count], &wlservs[count]->prev_kev); wlservs[count]->kbd_repeat_wait = (kbd_repeat_N + KEY_REPEAT_UNIT / 2) / KEY_REPEAT_UNIT; } } } static void keyboard_enter(void *data, struct wl_keyboard *keyboard, uint32_t serial, struct wl_surface *surface, struct wl_array *keys) { ui_display_t *disp = surface_to_display(surface); ui_wlserv_t *wlserv = data; ui_window_t *win; #ifdef COMPAT_LIBVTE if (!disp || disp->num_roots == 0) { wlserv->current_kbd_surface = surface; return; } #endif if (disp->display->parent) { /* XXX input method */ disp = disp->display->parent; surface = disp->display->surface; } wlserv->current_kbd_surface = surface; #ifdef __DEBUG bl_debug_printf("KBD ENTER %p\n", surface); #endif if ((win = search_inputtable_window(NULL, disp->roots[0]))) { #ifdef __DEBUG bl_debug_printf("FOCUSED %p\n", win); #endif ui_window_set_input_focus(win); } /* During resizing keyboard leaves. keyboard_enter() means that resizing has finished. */ disp->display->is_resizing = 0; } static void keyboard_leave(void *data, struct wl_keyboard *keyboard, uint32_t serial, struct wl_surface *surface) { ui_wlserv_t *wlserv = data; ui_display_t *disp = surface_to_display(surface); ui_window_t *win; #ifdef __DEBUG bl_debug_printf("KBD LEAVE %p\n", surface); #endif #if 0 wlserv->prev_kev.type = 0; #endif #ifdef COMPAT_LIBVTE if (!disp || disp->num_roots == 0) { return; } #endif if (wlserv->current_kbd_surface == surface) { u_int count; for (count = 0; count < num_displays; count++) { if (displays[count]->display->parent == disp) { /* * Don't send FocusOut event to the surface which has an input method surface * as transient one, because the surface might receive this event by creating * and showing the input method surface. * As a secondary effect, the surface can't receive FocusOut event as long as * the input method surface is active. */ return; } } wlserv->current_kbd_surface = NULL; } /* surface may have been already destroyed. So null check of disp is necessary. */ if (disp && !disp->display->parent /* not input method window */ && (win = search_focused_window(disp->roots[0]))) { XEvent ev; #ifdef __DEBUG bl_debug_printf("UNFOCUSED %p\n", win); #endif ev.type = FocusOut; ui_window_receive_event(ui_get_root_window(win), &ev); } } static void keyboard_key(void *data, struct wl_keyboard *keyboard, uint32_t serial, uint32_t time, uint32_t key, uint32_t state_w) { ui_wlserv_t *wlserv = data; XKeyEvent ev; if (state_w == WL_KEYBOARD_KEY_STATE_PRESSED) { ev.ksym = xkb_state_key_get_one_sym(wlserv->xkb->state, key + 8); ev.type = KeyPress; ev.keycode = 0; ev.state = wlserv->xkb->mods; ev.time = time; wlserv->kbd_repeat_wait = (kbd_repeat_1 + KEY_REPEAT_UNIT - 1) / KEY_REPEAT_UNIT; wlserv->prev_kev = ev; #ifdef __DEBUG bl_debug_printf("Receive key %x %x at %d\n", ev.ksym, wlserv->xkb->mods, time); #endif } else if (state_w == WL_KEYBOARD_KEY_STATE_RELEASED) { #if 0 ev.type = KeyRelease; ev.time = time; ev.ksym = ev.keycode = ev.state = 0; #endif wlserv->prev_kev.type = 0; #ifdef __DEBUG bl_debug_printf("key released\n"); #endif return; } else { return; } wlserv->serial = serial; receive_key_event(wlserv, &ev); } static void keyboard_modifiers(void *data, struct wl_keyboard *keyboard, uint32_t serial, uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked, uint32_t group) { ui_wlserv_t *wlserv = data; xkb_mod_mask_t mod_mask; xkb_state_update_mask(wlserv->xkb->state, mods_depressed, mods_latched, mods_locked, group, 0, 0); mod_mask = xkb_state_serialize_mods(wlserv->xkb->state, XKB_STATE_MODS_EFFECTIVE); wlserv->xkb->mods = 0; if (mod_mask & (1 << wlserv->xkb->ctrl)) wlserv->xkb->mods |= ControlMask; if (mod_mask & (1 << wlserv->xkb->alt)) wlserv->xkb->mods |= Mod1Mask; /* XXX ModMask disables yourei by Ctrl+Alt+H on fcitx */ if (mod_mask & (1 << wlserv->xkb->shift)) wlserv->xkb->mods |= ShiftMask; #if 0 if (mod_mask & (1 << wlserv->xkb->logo)) wlserv->xkb->mods |= MOD_MASK_LOGO; #endif #ifdef __DEBUG bl_debug_printf("MODIFIER MASK %x\n", wlserv->xkb->mods); #endif } static void keyboard_repeat_info(void *data, struct wl_keyboard *keyboard, int32_t rate, int32_t delay) { #ifdef __DEBUG bl_debug_printf("Repeat info rate %d delay %d.\n", rate, delay); #endif kbd_repeat_1 = delay; #ifdef COMPAT_LIBVTE kbd_repeat_N = (1000 / rate); /* XXX 1000 / rate is too late. */ #else kbd_repeat_N = (500 / rate); /* XXX 1000 / rate is too late. */ #endif } static const struct wl_keyboard_listener keyboard_listener = { keyboard_keymap, keyboard_enter, keyboard_leave, keyboard_key, keyboard_modifiers, keyboard_repeat_info, }; static void change_cursor(struct wl_pointer *pointer, uint32_t serial, struct wl_surface *surface, struct wl_cursor *cursor) { struct wl_buffer *buffer; struct wl_cursor_image *image; image = cursor->images[0]; if (!(buffer = wl_cursor_image_get_buffer(image))) { return; } wl_pointer_set_cursor(pointer, serial, surface, image->hotspot_x, image->hotspot_y); wl_surface_attach(surface, buffer, 0, 0); wl_surface_damage(surface, 0, 0, image->width, image->height); wl_surface_commit(surface); } static void pointer_enter(void *data, struct wl_pointer *pointer, uint32_t serial, struct wl_surface *surface, wl_fixed_t sx_w, wl_fixed_t sy_w) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("POINTER ENTER %p\n", surface); #endif wlserv->current_pointer_surface = surface; #ifdef COMPAT_LIBVTE if (parent_surface_to_display(surface)) { return; } #endif if (wlserv->cursor[0]) { change_cursor(pointer, serial, wlserv->cursor_surface, wlserv->cursor[0]); wlserv->current_cursor = 0; } } static void pointer_leave(void *data, struct wl_pointer *pointer, uint32_t serial, struct wl_surface *surface) { ui_wlserv_t *wlserv = data; if (wlserv->current_pointer_surface == surface) { wlserv->current_pointer_surface = NULL; } #ifdef __DEBUG bl_debug_printf("POINTER LEAVE %p\n", surface); #endif } static int get_edge_state(u_int width, u_int height, int x, int y) { if (x < RESIZE_MARGIN) { if (y < height / 8) { return WL_SHELL_SURFACE_RESIZE_TOP_LEFT; } else if (y > height - height / 8) { return WL_SHELL_SURFACE_RESIZE_BOTTOM_LEFT; } return WL_SHELL_SURFACE_RESIZE_LEFT; } else if (x > width - RESIZE_MARGIN * 2) { if (y < height / 8) { return WL_SHELL_SURFACE_RESIZE_TOP_RIGHT; } else if (y > height - height / 8) { return WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT; } return WL_SHELL_SURFACE_RESIZE_RIGHT; } else if (y < RESIZE_MARGIN) { if (x < width / 8) { return WL_SHELL_SURFACE_RESIZE_TOP_LEFT; } else if (x > width - width / 8) { return WL_SHELL_SURFACE_RESIZE_TOP_RIGHT; } else if (width * 2 / 5 < x && x < width - width * 2 / 5) { return 11; } return WL_SHELL_SURFACE_RESIZE_TOP; } else if (y > height - RESIZE_MARGIN * 2) { if (x < width / 8){ return WL_SHELL_SURFACE_RESIZE_BOTTOM_LEFT; } else if (x > width - width / 8){ return WL_SHELL_SURFACE_RESIZE_BOTTOM_RIGHT; } else if (width * 2 / 5 < x && x < width - width * 2 / 5) { return 11; } return WL_SHELL_SURFACE_RESIZE_BOTTOM; } return WL_SHELL_SURFACE_RESIZE_NONE; } static void pointer_motion(void *data, struct wl_pointer *pointer, uint32_t time /* milisec */, wl_fixed_t sx_w, wl_fixed_t sy_w) { ui_wlserv_t *wlserv = data; ui_display_t *disp; #ifdef ____DEBUG bl_debug_printf("Pointer motion at %d\n", time); #endif disp = surface_to_display(wlserv->current_pointer_surface); if (disp) { XMotionEvent ev; ui_window_t *win; int resize_state; ev.type = MotionNotify; ev.time = time; ev.state = wlserv->xkb->mods; if (wlserv->pointer_button) { ev.state |= (Button1Mask << (wlserv->pointer_button - 1)); } wlserv->pointer_x = ev.x = wl_fixed_to_int(sx_w); wlserv->pointer_y = ev.y = wl_fixed_to_int(sy_w); if ((resize_state = get_edge_state(disp->display->width, disp->display->height, ev.x, ev.y))) { if (resize_state > 3) { /* 3 and 7 are missing numbers in wl_shell_surface_resize */ if (resize_state > 7) { resize_state -= 2; } else { resize_state --; } } if (!wlserv->cursor[resize_state]) { resize_state = 0; } } if (resize_state != wlserv->current_cursor) { change_cursor(pointer, 0, wlserv->cursor_surface, wlserv->cursor[resize_state]); wlserv->current_cursor = resize_state; } if (rotate_display) { int tmp = ev.x; if (rotate_display > 0) { ev.x = ev.y; ev.y = disp->display->width - tmp - 1; } else { ev.x = disp->display->height - ev.y - 1; ev.y = tmp; } } win = get_window(disp->roots[0], ev.x, ev.y); ev.x -= win->x; ev.y -= win->y; #ifdef ____DEBUG bl_debug_printf("Motion event state %x x %d y %d in %p window.\n", ev.state, ev.x, ev.y, win); #endif ui_window_receive_event(win, &ev); } } #ifdef COMPAT_LIBVTE void focus_gtk_window(ui_window_t *win, uint32_t time); #endif static void pointer_button(void *data, struct wl_pointer *pointer, uint32_t serial, uint32_t time, uint32_t button, uint32_t state_w) { ui_wlserv_t *wlserv = data; ui_display_t *disp; #ifdef __DEBUG bl_debug_printf("Pointer button at %d\n", time); #endif disp = surface_to_display(wlserv->current_pointer_surface); if (disp) { XButtonEvent ev; ui_window_t *win; ev.x = wlserv->pointer_x; ev.y = wlserv->pointer_y; if (state_w == WL_POINTER_BUTTON_STATE_PRESSED) { ev.type = ButtonPress; if (button == BTN_LEFT) { #ifndef COMPAT_LIBVTE int state = get_edge_state(disp->display->width, disp->display->height, ev.x, ev.y); if (state > 0) { if (state == 11) { wl_shell_surface_move(disp->display->shell_surface, wlserv->seat, serial); } else { disp->display->is_resizing = 1; wl_shell_surface_resize(disp->display->shell_surface, wlserv->seat, serial, state); } return; } #endif ev.button = 1; } else if (button == BTN_MIDDLE) { ev.button = 2; } else if (button == BTN_RIGHT) { ev.button = 3; } else { return; } wlserv->pointer_button = ev.button; } else { ev.type = ButtonRelease; ev.button = wlserv->pointer_button; wlserv->pointer_button = 0; } ev.time = time; ev.state = wlserv->xkb->mods; if (rotate_display) { int tmp = ev.x; if (rotate_display > 0) { ev.x = ev.y; ev.y = disp->display->width - tmp - 1; } else { ev.x = disp->display->height - ev.y - 1; ev.y = tmp; } } win = get_window(disp->roots[0], ev.x, ev.y); ev.x -= win->x; ev.y -= win->y; #ifdef __DEBUG bl_debug_printf("Button event type %d button %d state %x x %d y %d in %p window.\n", ev.type, ev.button, ev.state, ev.x, ev.y, win); #endif wlserv->serial = serial; ui_window_receive_event(win, &ev); #ifdef COMPAT_LIBVTE if (ev.type == ButtonPress && disp->display->parent == NULL /* Not input method */) { focus_gtk_window(win, time); } #endif } } static void pointer_axis(void *data, struct wl_pointer *pointer, uint32_t time, uint32_t axis, wl_fixed_t value) { ui_wlserv_t *wlserv = data; ui_display_t *disp; #ifdef __DEBUG bl_debug_printf("Pointer axis at %d\n", time); #endif disp = surface_to_display(wlserv->current_pointer_surface); if (disp) { XButtonEvent ev; ui_window_t *win; if (axis == WL_POINTER_AXIS_VERTICAL_SCROLL) { /* Vertical scroll */ if (value < 0) { ev.button = 4; } else { ev.button = 5; } } else /* if (axis == WL_POINTER_AXIS_HORIZONTAL_SCROLL) */ { /* Horizontal scroll */ return; } ev.time = time; ev.state = wlserv->xkb->mods; ev.x = wlserv->pointer_x; ev.y = wlserv->pointer_y; if (rotate_display) { int tmp = ev.x; if (rotate_display > 0) { ev.x = ev.y; ev.y = disp->display->width - tmp - 1; } else { ev.x = disp->display->height - ev.y - 1; ev.y = tmp; } } win = get_window(disp->roots[0], ev.x, ev.y); ev.x -= win->x; ev.y -= win->y; #ifdef __DEBUG bl_debug_printf("Wheel event button %d state %x x %d y %d in %p window.\n", ev.button, ev.state, ev.x, ev.y, win); #endif ev.type = ButtonPress; ui_window_receive_event(win, &ev); ev.type = ButtonRelease; ui_window_receive_event(win, &ev); } } static const struct wl_pointer_listener pointer_listener = { pointer_enter, pointer_leave, pointer_motion, pointer_button, pointer_axis, }; static void seat_capabilities(void *data, struct wl_seat *seat, enum wl_seat_capability caps) { ui_wlserv_t *wlserv = data; #ifdef DEBUG bl_debug_printf("KBD: %s, MOUSE %s\n", (caps & WL_SEAT_CAPABILITY_KEYBOARD) ? "attach" : "detach", (caps & WL_SEAT_CAPABILITY_POINTER) ? "attach" : "detach"); #endif if (caps & WL_SEAT_CAPABILITY_KEYBOARD) { if (!wlserv->keyboard) { wlserv->keyboard = wl_seat_get_keyboard(wlserv->seat); wl_keyboard_add_listener(wlserv->keyboard, &keyboard_listener, wlserv); } } else { if (wlserv->keyboard) { wl_keyboard_destroy(wlserv->keyboard); wlserv->keyboard = NULL; } } if (caps & WL_SEAT_CAPABILITY_POINTER) { if (!wlserv->pointer) { wlserv->pointer = wl_seat_get_pointer(wlserv->seat); wl_pointer_add_listener(wlserv->pointer, &pointer_listener, wlserv); } } else { if (wlserv->pointer) { wl_pointer_destroy(wlserv->pointer); wlserv->pointer = NULL; } } wl_display_flush(wlserv->display); } static void surface_enter(void *data, struct wl_surface *surface, struct wl_output *output) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("SURFACE ENTER %p\n", surface); #endif wlserv->current_kbd_surface = surface; } static void surface_leave(void *data, struct wl_surface *surface, struct wl_output *output) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("SURFACE LEAVE %p\n", surface); #endif if (wlserv->current_kbd_surface == surface) { wlserv->current_kbd_surface = NULL; } } static const struct wl_surface_listener surface_listener = { surface_enter, surface_leave }; /* Call this after display->surface was created. */ static int create_shm_buffer(Display *display) { struct wl_shm_pool *pool; int fd; int size; #ifdef __DEBUG bl_debug_printf("Buffer w %d h %d bpp %d\n", display->width, display->height, display->bytes_per_pixel); #endif display->line_length = display->width * display->bytes_per_pixel; size = display->line_length * (display->height + DECORATION_MARGIN); if ((fd = create_anonymous_file(size)) < 0) { return 0; } if ((display->fb = mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0)) == MAP_FAILED) { return 0; } pool = wl_shm_create_pool(display->wlserv->shm, fd, size); display->buffer = wl_shm_pool_create_buffer(pool, 0, display->width, display->height, display->line_length, WL_SHM_FORMAT_ARGB8888); wl_shm_pool_destroy(pool); close(fd); wl_surface_attach(display->surface, display->buffer, 0, 0); return 1; } static void destroy_shm_buffer(Display *display) { wl_surface_attach(display->surface, NULL, 0, 0); wl_buffer_destroy(display->buffer); munmap(display->fb, display->line_length * (display->height + DECORATION_MARGIN)); } static u_int total_min_width(ui_window_t *win) { u_int count; u_int min_width; min_width = win->min_width + win->hmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_width += total_min_width(win->children[count]); } } return min_width; } static u_int total_min_height(ui_window_t *win) { u_int count; u_int min_height; min_height = win->min_height + win->vmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_height += total_min_height(win->children[count]); } } return min_height; } static u_int total_width_inc(ui_window_t *win) { u_int count; u_int width_inc; width_inc = win->width_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_width_inc(win->children[count])) > width_inc) { width_inc = sub_inc; } } } return width_inc; } static u_int total_height_inc(ui_window_t *win) { u_int count; u_int height_inc; height_inc = win->height_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_height_inc(win->children[count])) > height_inc) { height_inc = sub_inc; } } } return height_inc; } static int resize_display(ui_display_t *disp, u_int width, u_int height, int roundtrip) { int do_create; if (disp->width == width && disp->height == height) { return 0; } if (roundtrip) { /* Process pending shell_surface_configure events in advance. */ wl_display_roundtrip(disp->display->wlserv->display); } #ifdef __DEBUG bl_debug_printf("Resizing display from w %d h %d to w %d h %d.\n", disp->width, disp->height, width, height); #endif #ifdef COMPAT_LIBVTE /* For the case of resizing a window which contains multiple tabs. */ if (disp->display->buffer) { destroy_shm_buffer(disp->display); do_create = 1; } else { do_create = 0; } #else destroy_shm_buffer(disp->display); do_create = 1; #endif disp->width = width; disp->height = height; if (rotate_display) { disp->display->width = height; disp->display->height = width; } else { disp->display->width = width; disp->display->height = height; } if (do_create) { create_shm_buffer(disp->display); } return 1; } #ifndef COMPAT_LIBVTE static void shell_surface_ping(void *data, struct wl_shell_surface *shell_surface, uint32_t serial) { wl_shell_surface_pong(shell_surface, serial); } static int check_resize(u_int old_width, u_int old_height, int32_t *new_width, int32_t *new_height, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc, int check_inc) { u_int diff; if (old_width < *new_width) { diff = ((*new_width - old_width) / width_inc) * width_inc; if (check_inc || diff < width_inc) { *new_width = old_width + diff; } } else if (*new_width < old_width) { diff = ((old_width - *new_width) / width_inc) * width_inc; if (!check_inc && diff >= width_inc) { diff = old_width - *new_width; } if (old_width < min_width + diff) { *new_width = min_width; } else { *new_width = old_width - diff; } } if (old_height < *new_height) { diff = ((*new_height - old_height) / height_inc) * height_inc; if (check_inc || diff < height_inc) { *new_height = old_height + diff; } } else if (*new_height < old_height) { diff = ((old_height - *new_height) / height_inc) * height_inc; if (!check_inc && diff >= height_inc) { diff = old_height - *new_height; } if (old_height < min_height + diff) { *new_height = min_height; } else { *new_height = old_height - diff; } } if (old_width == *new_width && old_height == *new_height) { return 0; } else { return 1; } } /* XXX I don't know why, but edges is always 0 even if resizing by dragging an edge. */ static void shell_surface_configure(void *data, struct wl_shell_surface *shell_surface, uint32_t edges, int32_t width, int32_t height) { ui_display_t *disp = data; #ifdef __DEBUG bl_debug_printf("Configuring size from w %d h %d to w %d h %d.\n", disp->display->width, disp->display->height, width, height); #endif if (check_resize(disp->display->width, disp->display->height, &width, &height, total_min_width(disp->roots[0]), total_min_height(disp->roots[0]), total_width_inc(disp->roots[0]), total_height_inc(disp->roots[0]), disp->display->is_resizing)) { #ifdef __DEBUG bl_msg_printf("-> modified size w %d h %d\n", width, height); #endif if (rotate_display) { resize_display(disp, height, width, 0); } else { resize_display(disp, width, height, 0); } ui_window_resize_with_margin(disp->roots[0], disp->width, disp->height, NOTIFY_TO_MYSELF); } } static void shell_surface_popup_done(void *data, struct wl_shell_surface *shell_surface) { } static const struct wl_shell_surface_listener shell_surface_listener = { shell_surface_ping, shell_surface_configure, shell_surface_popup_done }; #endif static void data_offer_offer(void *data, struct wl_data_offer *offer, const char *type) { #ifdef __DEBUG bl_debug_printf("DATA OFFER %s\n", type); #endif } static void data_offer_source_action(void *data, struct wl_data_offer *data_offer, uint32_t source_actions) { #ifdef __DEBUG bl_debug_printf("SOURCE ACTION %d\n", source_actions); #endif } static void data_offer_action(void *data, struct wl_data_offer *data_offer, uint32_t dnd_action) { #ifdef __DEBUG bl_debug_printf("DND ACTION %d\n", dnd_action); #endif } static const struct wl_data_offer_listener data_offer_listener = { data_offer_offer, data_offer_source_action, data_offer_action }; static void data_device_data_offer(void *data, struct wl_data_device *data_device, struct wl_data_offer *offer) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("DND OFFER %p\n", offer); #endif wl_data_offer_add_listener(offer, &data_offer_listener, wlserv); wlserv->dnd_offer = offer; } static void data_device_enter(void *data, struct wl_data_device *data_device, uint32_t serial, struct wl_surface *surface, wl_fixed_t x_w, wl_fixed_t y_w, struct wl_data_offer *offer) { #ifdef __DEBUG bl_debug_printf("DATA DEVICE ENTER %p\n", offer); #endif wl_data_offer_accept(offer, serial, "text/uri-list"); /* wl_data_device_manager_get_version() >= 3 */ wl_data_offer_set_actions(offer, WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY, WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY); } static void data_device_leave(void *data, struct wl_data_device *data_device) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("DATA DEVICE LEAVE\n"); #endif if (wlserv->dnd_offer) { wl_data_offer_destroy(wlserv->dnd_offer); wlserv->dnd_offer = NULL; } if (wlserv->sel_offer) { wl_data_offer_destroy(wlserv->sel_offer); wlserv->sel_offer = NULL; } } static void data_device_motion(void *data, struct wl_data_device *data_device, uint32_t time, wl_fixed_t x_w, wl_fixed_t y_w) { } static void receive_data(ui_wlserv_t *wlserv, struct wl_data_offer *offer, const char *mime) { int fds[2]; if (pipe(fds) == 0) { u_char buf[512]; ssize_t len; ui_display_t *disp = surface_to_display(wlserv->current_kbd_surface); wl_data_offer_receive(offer, mime, fds[1]); wl_display_flush(wlserv->display); close(fds[1]); while ((len = read(fds[0], buf, sizeof(buf))) > 0) { #ifdef __DEBUG if (len == sizeof(buf)) { buf[len - 1] = '\0'; } else { buf[len] = '\0'; } bl_debug_printf("RECEIVE %d %s\n", len, buf); #endif if (disp->roots[0]->utf_selection_notified) { (*disp->roots[0]->utf_selection_notified)(disp->roots[0], buf, len); } } close(fds[0]); } } static void data_device_drop(void *data, struct wl_data_device *data_device) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("DROPPED\n"); #endif receive_data(data, wlserv->dnd_offer, "text/uri-list"); } static void data_device_selection(void *data, struct wl_data_device *wl_data_device, struct wl_data_offer *offer) { ui_wlserv_t *wlserv = data; #ifdef __DEBUG bl_debug_printf("SELECTION OFFER %p\n", offer); #endif if (wlserv->sel_offer) { wl_data_offer_destroy(wlserv->sel_offer); wlserv->sel_offer = NULL; } wlserv->sel_offer = offer; } static const struct wl_data_device_listener data_device_listener = { data_device_data_offer, data_device_enter, data_device_leave, data_device_motion, data_device_drop, data_device_selection }; static void data_source_target(void *data, struct wl_data_source *source, const char *mime) { } static void data_source_send(void *data, struct wl_data_source *source, const char *mime, int32_t fd) { ui_display_t *disp = data; disp->display->wlserv->sel_fd = fd; #ifdef __DEBUG bl_debug_printf("SOURCE SEND %s\n", mime); #endif if (disp->selection_owner->utf_selection_requested) { /* utf_selection_requested() calls ui_display_send_text_selection() */ (*disp->selection_owner->utf_selection_requested)(disp->selection_owner, NULL, 0); } } #ifdef COMPAT_LIBVTE #include gint64 deadline_ignoring_source_cancelled_event; #endif static void data_source_cancelled(void *data, struct wl_data_source *source) { ui_display_t *disp = data; ui_wlserv_t *wlserv = disp->display->wlserv; #ifdef __DEBUG bl_debug_printf("SOURCE CANCEL %p %p\n", source, wlserv->sel_source); #endif #ifdef COMPAT_LIBVTE if (deadline_ignoring_source_cancelled_event != 0 && deadline_ignoring_source_cancelled_event > g_get_monotonic_time()) { } else { deadline_ignoring_source_cancelled_event = 0; #endif if (source == wlserv->sel_source) { ui_display_clear_selection(disp, disp->selection_owner); } #ifdef COMPAT_LIBVTE } #endif } void data_source_dnd_drop_performed(void *data, struct wl_data_source *wl_data_source) { } void data_source_dnd_finished(void *data, struct wl_data_source *wl_data_source) { } void data_source_action(void *data, struct wl_data_source *wl_data_source, uint32_t dnd_action) { } static const struct wl_data_source_listener data_source_listener = { data_source_target, data_source_send, data_source_cancelled, data_source_dnd_drop_performed, data_source_dnd_finished, data_source_action, }; static ui_wlserv_t *open_wl_display(char *name) { ui_wlserv_t *wlserv; if (!(wlserv = calloc(1, sizeof(ui_wlserv_t) + sizeof(*wlserv->xkb)))) { return NULL; } wlserv->xkb = wlserv + 1; if ((wlserv->display = wl_display_connect(name)) == NULL) { bl_error_printf("Couldn't open display %s.\n", name); free(wlserv); return NULL; } /* set close-on-exec flag on the socket connected to X. */ bl_file_set_cloexec(wl_display_get_fd(wlserv->display)); wlserv->registry = wl_display_get_registry(wlserv->display); wl_registry_add_listener(wlserv->registry, ®istry_listener, wlserv); wl_display_roundtrip(wlserv->display); wlserv->xkb->ctx = xkb_context_new(XKB_CONTEXT_NO_FLAGS); /* See seat_capabilities() */ #if 0 wlserv->keyboard = wl_seat_get_keyboard(wlserv->seat); wl_keyboard_add_listener(wlserv->keyboard, &keyboard_listener, wlserv); wlserv->pointer = wl_seat_get_pointer(wlserv->seat); wl_pointer_add_listener(wlserv->pointer, &pointer_listener, wlserv); #endif if ((wlserv->cursor_theme = wl_cursor_theme_load(NULL, 32, wlserv->shm))) { /* The order should be the one of wl_shell_surface_resize. */ char *names[] = { "xterm", "n-resize", "s-resize", "w-resize", "nw-resize", "sw-resize", "e-resize", "ne-resize", "se-resize", "move" }; int count; int has_cursor = 0; for (count = 0; count < sizeof(names) / sizeof(names[0]); count++) { if ((wlserv->cursor[count] = wl_cursor_theme_get_cursor(wlserv->cursor_theme, names[count]))) { has_cursor = 1; } } if (has_cursor) { wlserv->cursor_surface = wl_compositor_create_surface(wlserv->compositor); } else { wl_cursor_theme_destroy(wlserv->cursor_theme); wlserv->cursor_theme = NULL; } } wlserv->data_device = wl_data_device_manager_get_data_device(wlserv->data_device_manager, wlserv->seat); wl_data_device_add_listener(wlserv->data_device, &data_device_listener, wlserv); wlserv->sel_fd = -1; return wlserv; } static void close_wl_display(ui_wlserv_t *wlserv) { #ifdef __DEBUG bl_debug_printf("Closing wldisplay.\n"); #endif #if 0 if (wlserv->dnd_offer) { wl_data_offer_destroy(wlserv->dnd_offer); wlserv->dnd_offer = NULL; } if (wlserv->sel_offer) { wl_data_offer_destroy(wlserv->sel_offer); wlserv->sel_offer = NULL; } #endif if (wlserv->sel_source) { wl_data_source_destroy(wlserv->sel_source); wlserv->sel_source = NULL; } #ifdef COMPAT_LIBVTE wl_subcompositor_destroy(wlserv->subcompositor); #endif wl_output_destroy(wlserv->output); wl_compositor_destroy(wlserv->compositor); #ifndef COMPAT_LIBVTE wl_registry_destroy(wlserv->registry); #endif if (wlserv->cursor_surface) { wl_surface_destroy(wlserv->cursor_surface); } if (wlserv->cursor_theme) { wl_cursor_theme_destroy(wlserv->cursor_theme); } if (wlserv->keyboard) { wl_keyboard_destroy(wlserv->keyboard); wlserv->keyboard = NULL; } xkb_state_unref(wlserv->xkb->state); xkb_keymap_unref(wlserv->xkb->keymap); xkb_context_unref(wlserv->xkb->ctx); if (wlserv->pointer) { wl_pointer_destroy(wlserv->pointer); wlserv->pointer = NULL; } wl_seat_destroy(wlserv->seat); wl_data_device_destroy(wlserv->data_device); wl_data_device_manager_destroy(wlserv->data_device_manager); #ifndef COMPAT_LIBVTE wl_display_disconnect(wlserv->display); free(wlserv); #endif } static void close_display(ui_display_t *disp) { u_int count; #ifdef __DEBUG bl_debug_printf("Closing ui_display_t\n"); #endif free(disp->name); for (count = 0; count < disp->num_roots; count++) { ui_window_unmap(disp->roots[count]); ui_window_final(disp->roots[count]); } free(disp->roots); ui_picture_display_closed(disp->display); #ifdef COMPAT_LIBVTE if (disp->display->subsurface) { /* disp->display->buffer may have been destroyed in ui_display_unmap(). */ if (disp->display->buffer) { destroy_shm_buffer(disp->display); disp->display->buffer = NULL; } wl_subsurface_destroy(disp->display->subsurface); wl_surface_destroy(disp->display->surface); } #else if (disp->display->shell_surface) { destroy_shm_buffer(disp->display); disp->display->buffer = NULL; wl_shell_surface_destroy(disp->display->shell_surface); wl_surface_destroy(disp->display->surface); } #endif if (disp->display->wlserv->ref_count == 1) { u_int count; close_wl_display(disp->display->wlserv); for (count = 0; count < num_wlservs; count++) { if (disp->display->wlserv == wlservs[count]) { if (--num_wlservs == 0) { free(wlservs); wlservs = NULL; } else { wlservs[count] = wlservs[--num_wlservs]; } } } } else { disp->display->wlserv->ref_count--; } free(disp); } static int flush_damage(Display *display) { if (display->damage_height > 0) { wl_surface_damage(display->surface, display->damage_x, display->damage_y, display->damage_width, display->damage_height); display->damage_x = display->damage_y = display->damage_width = display->damage_height = 0; return 1; } else { return 0; } } static int cache_damage_h(Display *display, int x, int y, u_int width, u_int height) { if (x == display->damage_x && y == display->damage_y + display->damage_height && width == display->damage_width) { display->damage_height += height; return 1; } else { return 0; } } static int cache_damage_v(Display *display, int x, int y, u_int width, u_int height) { if (y == display->damage_y && x == display->damage_x + display->damage_width && height == display->damage_height) { display->damage_width += width; return 1; } else { return 0; } } static void damage_buffer(Display *display, int x, int y, u_int width, u_int height) { if (rotate_display ? !cache_damage_v(display, x, y, width, height) : !cache_damage_h(display, x, y, width, height)) { if (display->damage_height > 0) { wl_surface_damage(display->surface, display->damage_x, display->damage_y, display->damage_width, display->damage_height); } display->damage_x = x; display->damage_y = y; display->damage_width = width; display->damage_height = height; } } static int flush_display(Display *display) { if (flush_damage(display)) { wl_surface_commit(display->surface); #ifdef COMPAT_LIBVTE if (display->parent) { /* * Input method window. * refrect wl_surface_damage() immediately. */ wl_surface_commit(display->parent_surface); } #endif return 1; } else { return 0; } } static void create_surface(ui_display_t *disp, u_int width, u_int height, char *app_name) { Display *display = disp->display; ui_wlserv_t *wlserv = display->wlserv; display->surface = wl_compositor_create_surface(wlserv->compositor); #ifdef COMPAT_LIBVTE display->subsurface = wl_subcompositor_get_subsurface(wlserv->subcompositor, display->surface, display->parent_surface); #else display->shell_surface = wl_shell_get_shell_surface(wlserv->shell, display->surface); wl_shell_surface_set_class(display->shell_surface, app_name); if (!display->parent) { /* Not input method */ wl_surface_add_listener(display->surface, &surface_listener, wlserv); wl_shell_surface_add_listener(display->shell_surface, &shell_surface_listener, disp); wl_shell_surface_set_toplevel(display->shell_surface); wl_shell_surface_set_title(display->shell_surface, app_name); } #endif disp->width = width; disp->height = height; if (rotate_display) { display->width = height; display->height = width; } else { display->width = width; display->height = height; } } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, u_int depth) { u_int count; ui_display_t *disp; ui_wlserv_t *wlserv = NULL; void *p; struct rgb_info rgbinfo = {0, 0, 0, 16, 8, 0}; static int added_auto_repeat; if (!(disp = calloc(1, sizeof(ui_display_t) + sizeof(Display)))) { return NULL; } disp->display = disp + 1; if ((p = realloc(displays, sizeof(ui_display_t*) * (num_displays + 1))) == NULL) { free(disp); return NULL; } displays = p; displays[num_displays] = disp; for (count = 0; count < num_displays; count++) { if (strcmp(displays[count]->name, disp_name) == 0) { disp->selection_owner = displays[count]->selection_owner; wlserv = displays[count]->display->wlserv; break; } } if (wlserv == NULL) { if ((wlserv = open_wl_display(disp_name)) == NULL) { free(disp); return NULL; } if ((p = realloc(wlservs, sizeof(ui_wlserv_t*) * (num_wlservs + 1))) == NULL) { close_wl_display(wlserv); free(disp); return NULL; } wlservs = p; wlservs[num_wlservs++] = wlserv; } disp->display->wlserv = wlserv; disp->name = strdup(disp_name); disp->display->rgbinfo = rgbinfo; disp->display->bytes_per_pixel = 4; disp->depth = 32; wlserv->ref_count++; num_displays++; ui_picture_display_opened(disp->display); if (!added_auto_repeat) { ui_event_source_add_fd(-10, auto_repeat); added_auto_repeat = 1; } return disp; } void ui_display_close(ui_display_t *disp) { u_int count; for (count = 0; count < num_displays; count++) { if (displays[count] == disp) { close_display(disp); if (--num_displays == 0) { free(displays); displays = NULL; } else { displays[count] = displays[num_displays]; } #ifdef DEBUG bl_debug_printf("wayland display connection closed.\n"); #endif return; } } } void ui_display_close_all(void) { while (num_displays > 0) { close_display(displays[0]); } } ui_display_t **ui_get_opened_displays(u_int *num) { *num = num_displays; return displays; } int ui_display_fd(ui_display_t *disp) { return wl_display_get_fd(disp->display->wlserv->display); } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window) { void *p; if (parent_window) { #ifdef COMPAT_LIBVTE disp = add_root_to_display(disp, root, parent_window); #endif } else { if (disp->num_roots > 0) { /* XXX Input Method */ ui_display_t *parent = disp; disp = ui_display_open(disp->name, disp->depth); disp->display->parent = parent; #ifdef COMPAT_LIBVTE parent_window = disp->display->parent_surface = parent->display->parent_surface; #endif } } root->parent_window = parent_window; if ((p = realloc(disp->roots, sizeof(ui_window_t *) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; root->gc = disp->gc; root->x = 0; root->y = 0; if (app_name) { root->app_name = app_name; } /* * root is added to disp->roots before ui_window_show() because * ui_display_get_group_leader() is called in ui_window_show(). */ disp->roots[disp->num_roots++] = root; create_surface(disp, ACTUAL_WIDTH(root), ACTUAL_HEIGHT(root), root->app_name); #ifdef COMPAT_LIBVTE if (!disp->display->parent) { /* do nothing until ui_display_map() except input method */ } else #endif { create_shm_buffer(disp->display); #ifndef COMPAT_LIBVTE if (disp->display->parent) #endif { /* XXX Input Method */ /* XXX * x and y of wl_shell_surface_set_transient() aren't applied without calling * wl_surface_commit() here before calling wl_shell_surface_set_transient(). */ wl_surface_commit(disp->display->surface); /* * XXX wl_shell_surface_set_transient() doesn't move surface to the specified position * if it is called before create_shm_buffer(). */ ui_display_move(disp, x, y); } ui_window_show(root, hint); } return 1; } int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { #ifdef COMPAT_LIBVTE if (disp->display->parent) { /* XXX input method (do nothing) */ } else { disp = remove_root_from_display(disp, root); } count = 0; #endif /* Don't switching on or off screen in exiting. */ ui_window_unmap(root); ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; if (disp->num_roots == 0 #ifndef COMPAT_LIBVTE && disp->display->parent /* XXX input method alone */ #endif ) { ui_display_close(disp); } } else { disp->roots[count] = disp->roots[disp->num_roots]; } return 1; } } return 0; } void ui_display_idling(ui_display_t *disp) { u_int count; #ifdef COMPAT_LIBVTE static int display_idling_wait = 4; if (--display_idling_wait > 0) { goto skip; } display_idling_wait = 4; #endif for (count = 0; count < disp->num_roots; count++) { #ifdef COMPAT_LIBVTE if (disp->roots[count]->disp->display->buffer) #endif { ui_window_idling(disp->roots[count]); } } ui_display_sync(disp); skip: auto_repeat(); } #ifndef COMPAT_LIBVTE int ui_display_receive_next_event(ui_display_t *disp) { u_int count; ui_display_sync(disp); for (count = 0; count < num_displays; count++) { if (displays[count]->display->wlserv == disp->display->wlserv) { if (displays[count] == disp) { return (wl_display_dispatch(disp->display->wlserv->display) != -1); } else { break; } } } return 0; } int ui_display_receive_next_event_singly(ui_display_t *disp) { u_int count; ui_display_sync(disp); for (count = 0; count < num_displays; count++) { if (displays[count]->display->wlserv == disp->display->wlserv) { return (wl_display_dispatch(disp->display->wlserv->display) != -1); } else { break; } } return 0; } #endif void ui_display_sync(ui_display_t *disp) { #ifdef COMPAT_LIBVTE u_int count; int flushed = 0; /* * ui_display_sync() is called from ui_display_idling() alone on libvte compat library. * ui_display_idling() is called with disp in vte.c, not displays in ui_display.c, so * call flush_display() with all displays here. */ for (count = 0; count < num_displays; count++) { if (displays[count]->display->buffer) { flushed |= flush_display(displays[count]->display); } } if (flushed) { wl_display_flush(wlservs[0]->display); } #else if (flush_display(disp->display)) { wl_display_flush(disp->display->wlserv->display); } #endif } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { ui_wlserv_t *wlserv = disp->display->wlserv; u_int count; if (disp->selection_owner) { ui_display_clear_selection(NULL, disp->selection_owner); } for (count = 0; count < num_displays; count++) { if (displays[count]->display->wlserv == wlserv) { displays[count]->selection_owner = win; } } wlserv->sel_source = wl_data_device_manager_create_data_source(wlserv->data_device_manager); wl_data_source_add_listener(wlserv->sel_source, &data_source_listener, disp); wl_data_source_offer(wlserv->sel_source, "UTF8_STRING"); wl_data_device_set_selection(wlserv->data_device, wlserv->sel_source, wlserv->serial); return 1; } int ui_display_clear_selection(ui_display_t *disp, /* NULL means all selection owner windows. */ ui_window_t *win) { u_int count; for (count = 0; count < num_displays; count++) { if ((disp == NULL || disp->display->wlserv == displays[count]->display->wlserv) && (displays[count]->selection_owner == win)) { displays[count]->selection_owner = NULL; if (displays[count]->display->wlserv->sel_source) { wl_data_source_destroy(displays[count]->display->wlserv->sel_source); displays[count]->display->wlserv->sel_source = NULL; } } } if (win->selection_cleared) { (*win->selection_cleared)(win); } return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) {} XID ui_display_get_group_leader(ui_display_t *disp) { if (disp->num_roots > 0) { return disp->roots[0]->my_window; } else { return None; } } void ui_display_rotate(int rotate) { rotate_display = rotate; } /* Don't call this internally from ui_display.c. Call resize_display(..., 0) instead. */ int ui_display_resize(ui_display_t *disp, u_int width, u_int height) { return resize_display(disp, width, height, 1); } int ui_display_move(ui_display_t *disp, int x, int y) { Display *display = disp->display; #ifdef COMPAT_LIBVTE if (!display->buffer || (display->x == x && display->y == y)) { return 0; } display->x = x; display->y = y; if (display->subsurface) { #ifdef __DEBUG bl_debug_printf("Move display (on libvte) at %d %d\n", x, y); #endif wl_subsurface_set_position(display->subsurface, x, y); if (display->parent) { /* * Input method window. * refrect wl_subsurface_set_position() immediately. */ wl_surface_commit(display->parent_surface); } } #else if (display->parent) { /* input method window */ #ifdef __DEBUG bl_debug_printf("Move display (set transient) at %d %d\n", x, y); #endif wl_shell_surface_set_transient(display->shell_surface, display->parent->display->surface, x, y, WL_SHELL_SURFACE_TRANSIENT_INACTIVE); } #endif return 1; } u_long ui_display_get_pixel(ui_display_t *disp, int x, int y) { u_char *fb; u_long pixel; #ifdef COMPAT_LIBVTE if (!disp->display->buffer) { return 0; } #endif if (rotate_display) { int tmp; if (rotate_display > 0) { tmp = x; x = disp->height - y - 1; y = tmp; } else { tmp = x; x = y; y = disp->width - tmp - 1; } } fb = get_fb(disp->display, x, y); pixel = TOINT32(fb); return pixel; } void ui_display_put_image(ui_display_t *disp, int x, int y, u_char *image, size_t size, int need_fb_pixel) { Display *display = disp->display; #ifdef COMPAT_LIBVTE if (!display->buffer) { return; } #endif if (rotate_display) { /* Display is rotated. */ u_char *fb; int tmp; int line_length; size_t count; tmp = x; if (rotate_display > 0) { x = disp->height - y - 1; y = tmp; line_length = display->line_length; } else { x = y; y = disp->width - tmp - 1; line_length = -display->line_length; } fb = get_fb(display, x, y); if (display->bytes_per_pixel == 2) { size /= 2; for (count = 0; count < size; count++) { *((u_int16_t*)fb) = ((u_int16_t*)image)[count]; fb += line_length; } } else /* if (display->bytes_per_pixel == 4) */ { size /= 4; for (count = 0; count < size; count++) { *((u_int32_t*)fb) = ((u_int32_t*)image)[count]; fb += line_length; } } damage_buffer(display, x, rotate_display > 0 ? y : y - size + 1, 1 , size); } else { memcpy(get_fb(display, x, y), image, size); damage_buffer(display, x, y, size, 1); } } void ui_display_copy_lines(ui_display_t *disp, int src_x, int src_y, int dst_x, int dst_y, u_int width, u_int height) { Display *display = disp->display; u_char *src; u_char *dst; u_int copy_len; u_int count; size_t line_length; #ifdef COMPAT_LIBVTE if (!display->buffer) { return; } #endif if (rotate_display) { int tmp; if (rotate_display > 0) { tmp = src_x; src_x = disp->height - src_y - height; src_y = tmp; tmp = dst_x; dst_x = disp->height - dst_y - height; dst_y = tmp; } else { tmp = src_x; src_x = src_y; src_y = disp->width - tmp - width; tmp = dst_x; dst_x = dst_y; dst_y = disp->width - tmp - width; } tmp = height; height = width; width = tmp; } copy_len = width * display->bytes_per_pixel; line_length = display->line_length; if (src_y <= dst_y) { src = get_fb(display, src_x, src_y + height - 1); dst = get_fb(display, dst_x, dst_y + height - 1); if (src_y == dst_y) { for (count = 0; count < height; count++) { memmove(dst, src, copy_len); dst -= line_length; src -= line_length; } } else { for (count = 0; count < height; count++) { memcpy(dst, src, copy_len); dst -= line_length; src -= line_length; } } } else { src = get_fb(display, src_x, src_y); dst = get_fb(display, dst_x, dst_y); for (count = 0; count < height; count++) { memcpy(dst, src, copy_len); dst += line_length; src += line_length; } } damage_buffer(display, dst_x, dst_y, width, height); } void ui_display_request_text_selection(ui_display_t *disp) { if (disp->selection_owner) { XSelectionRequestEvent ev; ev.type = 0; ev.target = disp->roots[0]; if (disp->selection_owner->utf_selection_requested) { /* utf_selection_requested() calls ui_display_send_text_selection() */ (*disp->selection_owner->utf_selection_requested)(disp->selection_owner, &ev, 0); } } else if (disp->display->wlserv->sel_offer) { receive_data(disp->display->wlserv, disp->display->wlserv->sel_offer, "UTF8_STRING"); } } void ui_display_send_text_selection(ui_display_t *disp, XSelectionRequestEvent *ev, u_char *sel_data, size_t sel_len) { if (disp->display->wlserv->sel_fd != -1) { write(disp->display->wlserv->sel_fd, sel_data, sel_len); close(disp->display->wlserv->sel_fd); disp->display->wlserv->sel_fd = -1; } else if (ev && ev->target->utf_selection_notified) { (*ev->target->utf_selection_notified)(ev->target, sel_data, sel_len); } } u_char ui_display_get_char(KeySym ksym) { char buf[10]; int len; if ((len = xkb_keysym_to_utf8(ksym, buf, sizeof(buf))) > 0) { return buf[0]; } else { return 0; } } void ui_display_logical_to_physical_coordinates(ui_display_t *disp, int *x, int *y) { if (rotate_display) { int tmp = *y; if (rotate_display > 0) { *y = *x; *x = disp->display->width - tmp - 1; } else { *y = disp->display->height - *x - 1; *x = tmp; } } #ifdef COMPAT_LIBVTE *x += disp->display->x; *y += disp->display->y; #endif } void ui_display_set_maximized(ui_display_t *disp) { #ifndef COMPAT_LIBVTE wl_shell_surface_set_maximized(disp->display->shell_surface, disp->display->wlserv->output); #endif } void ui_display_set_title(ui_display_t *disp, const u_char *name) { #ifndef COMPAT_LIBVTE wl_shell_surface_set_title(disp->display->shell_surface, name); #endif } #ifdef COMPAT_LIBVTE /* * Only one ui_wlserv_t exists on libvte compat library. * disp in vte.c shares one ui_wlserv_t but doesn't have shm buffer and surface. * displays in ui_display.c share one ui_wlserv_t and have each shm buffer and surface. */ void ui_display_init_wlserv(ui_wlserv_t *wlserv) { wl_registry_add_listener(wlserv->registry, ®istry_listener, wlserv); wl_display_roundtrip(wlserv->display); wlserv->xkb->ctx = xkb_context_new(XKB_CONTEXT_NO_FLAGS); /* See seat_capabilities() */ #if 0 wlserv->keyboard = wl_seat_get_keyboard(wlserv->seat); wl_keyboard_add_listener(wlserv->keyboard, &keyboard_listener, wlserv); wlserv->pointer = wl_seat_get_pointer(wlserv->seat); wl_pointer_add_listener(wlserv->pointer, &pointer_listener, wlserv); #endif wlserv->data_device = wl_data_device_manager_get_data_device(wlserv->data_device_manager, wlserv->seat); wl_data_device_add_listener(wlserv->data_device, &data_device_listener, wlserv); if ((wlserv->cursor_theme = wl_cursor_theme_load(NULL, 32, wlserv->shm))) { wlserv->cursor[0] = wl_cursor_theme_get_cursor(wlserv->cursor_theme, "xterm"); wlserv->cursor_surface = wl_compositor_create_surface(wlserv->compositor); } wlserv->sel_fd = -1; } void ui_display_map(ui_display_t *disp) { if (!disp->display->buffer) { ui_window_t *win; #ifdef __DEBUG bl_debug_printf("Creating new shm buffer.\n"); #endif /* * wl_subsurface should be desynchronized between create_shm_buffer() and * destroy_shm_buffer() to draw screen correctly. */ wl_subsurface_set_desync(disp->display->subsurface); create_shm_buffer(disp->display); /* * gnome-terminal doesn't invoke FocusIn event in switching tabs, so * it is necessary to set current_kbd_surface and is_focused manually. */ disp->display->wlserv->current_kbd_surface = disp->display->surface; if ((win = search_inputtable_window(NULL, disp->roots[0]))) { /* * ui_window_set_input_focus() is not called here, because it is not necessary to * call win->window_focused() which is called in ui_window_set_input_focus(). */ win->inputtable = win->is_focused = 1; } /* * shell_surface_configure() might have been already received and * the size of ui_display_t and ui_window_t might mismatch. * So, ui_window_show() doesn't show anything. */ disp->roots[0]->is_mapped = 0; ui_window_show(disp->roots[0], 0); disp->roots[0]->is_mapped = 1; if (!ui_window_resize_with_margin(disp->roots[0], disp->width, disp->height, NOTIFY_TO_MYSELF)) { ui_window_update_all(disp->roots[0]); } } } void ui_display_unmap(ui_display_t *disp) { if (disp->display->buffer) { #ifdef __DEBUG bl_debug_printf("Destroying shm buffer.\n"); #endif destroy_shm_buffer(disp->display); /* * Without calling wl_subsurface_set_sync() before wl_surface_commit(), * is_surface_effectively_shnchronized(surface->sub.parent) in meta-wayland-surface.c * (mutter-3.22.3) causes segfault because surface->sub.parent can be NULL before * ui_display_unmap() is called. */ wl_subsurface_set_sync(disp->display->subsurface); wl_surface_commit(disp->display->surface); disp->display->buffer = NULL; disp->display->x = disp->display->y = 0; } } #endif /* COMPAT_LIBVTE */ mlterm-3.8.4/uitoolkit/wayland/ui.c012075500017600000144000000000001321054731200173432../fb/ui.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_display.h010064400017600000144000000032701321054731200175210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include "../ui_display.h" #define CLKED 1 #define NLKED 2 #define SLKED 4 #define ALKED 8 #define KeyPress 2 /* Private in wayland/ */ #define ButtonPress 4 /* Private in wayland/ */ #define ButtonRelease 5 /* Private in wayland/ */ #define MotionNotify 6 /* Private in wayland/ */ #define FocusOut 10 /* Private in wayland/ */ /* common functions for ui_window.c */ u_long ui_display_get_pixel(ui_display_t *disp, int x, int y); void ui_display_put_image(ui_display_t *disp, int x, int y, u_char *image, size_t size, int need_fb_pixel); void ui_display_copy_lines(ui_display_t *disp, int src_x, int src_y, int dst_x, int dst_y, u_int width, u_int height); /* common functions for ui_window.c (pseudo color) */ #define ui_display_fill_with(x, y, width, height, pixel) (0) #define ui_cmap_get_closest_color(closest, red, green, blue) (0) #define ui_cmap_get_pixel_rgb(red, green, blue, pixel) (0) /* platform specific functions for ui_window.c */ int ui_display_receive_next_event_singly(ui_display_t *disp); int ui_display_resize(ui_display_t *disp, u_int width, u_int height); int ui_display_move(ui_display_t *disp, int x, int y); void ui_display_request_text_selection(ui_display_t *disp); void ui_display_send_text_selection(ui_display_t *disp, XSelectionRequestEvent *ev, u_char *sel_data, size_t sel_len); u_char ui_display_get_char(KeySym ksym); void ui_display_set_title(ui_display_t *disp, const u_char *name); void ui_display_set_maximized(ui_display_t *disp); #endif mlterm-3.8.4/uitoolkit/wayland/ui_color.c012075500017600000144000000000001321054731200217372../fb/ui_color.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_dnd.c012075500017600000144000000000001321054731200210152../fb/ui_dnd.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_font.c012075500017600000144000000000001321054731200214172../fb/ui_font.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_font.h012075500017600000144000000000001321054731200214312../fb/ui_font.hustar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_decsp_font.c012075500017600000144000000000001321054731200237532../fb/ui_decsp_font.custar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_decsp_font.h012075500017600000144000000000001321054731200237652../fb/ui_decsp_font.hustar kenusersmlterm-3.8.4/uitoolkit/wayland/ui_window.c012075500017600000144000000000001321054731200223212../fb/ui_window.custar kenusersmlterm-3.8.4/uitoolkit/xlib004075500017600000144000000000001321054731200144275ustar kenusersmlterm-3.8.4/uitoolkit/xlib/ui_selection_encoding.c010064400017600000144000000034021321054731200211760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_selection_encoding.h" #include /* NULL */ #include #include #include /* --- static varaiables --- */ static ef_parser_t *utf_parser; /* leaked */ static ef_parser_t *parser; /* leaked */ static ef_conv_t *utf_conv; /* leaked */ static ef_conv_t *conv; /* leaked */ #ifdef USE_XLIB static int big5_buggy; #endif /* --- global functions --- */ #ifdef USE_XLIB void ui_set_big5_selection_buggy(int buggy) { big5_buggy = buggy; } #endif ef_parser_t *ui_get_selection_parser(int utf) { if (utf) { if (!utf_parser) { if (!(utf_parser = vt_char_encoding_parser_new(VT_UTF8))) { return NULL; } } return utf_parser; } else { if (!parser) { if (!(parser = ef_xct_parser_new())) { return NULL; } } return parser; } } ef_conv_t *ui_get_selection_conv(int utf) { if (utf) { if (!utf_conv) { if (!(utf_conv = vt_char_encoding_conv_new(VT_UTF8))) { return NULL; } } return utf_conv; } else { if (!conv) { #ifdef USE_XLIB if (big5_buggy) { if (!(conv = ef_xct_big5_buggy_conv_new())) { return NULL; } } else #endif { if (!(conv = ef_xct_conv_new())) { return NULL; } } } return conv; } } #if 0 void ui_selection_encoding_final(void) { if (utf_parser) { (*utf_parser->delete)(utf_parser); utf_parser = NULL; } if (parser) { (*parser->delete)(parser); parser = NULL; } if (utf_conv) { (*utf_conv->delete)(utf_conv); utf_conv = NULL; } if (conv) { (*conv->delete)(conv); conv = NULL; } } #endif mlterm-3.8.4/uitoolkit/xlib/ui_xic.c010064400017600000144000000270411321054731200161330ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_xic.h" #include /* X{mb|utf8}LookupString */ #include #include /* bl_str_alloca_dup */ #include /* malloc */ #include /* bl_get_locale */ #include #include "ui_xim.h" /* refering mutually */ #define HAS_XIM_LISTENER(win, function) ((win)->xim_listener && (win)->xim_listener->function) /* for XIMPreeditArea, XIMStatusArea */ #if 0 #define SET_XNAREA_ATTR #endif /* --- static variables --- */ static ef_parser_t *utf8_parser; /* --- static functions --- */ #ifdef SET_XNAREA_ATTR static void get_rect(ui_window_t *win, XRectangle *rect) { rect->x = 0; rect->y = 0; rect->width = ACTUAL_WIDTH(win); rect->height = ACTUAL_HEIGHT(win); } #endif static int get_spot(ui_window_t *win, XPoint *spot) { int x; int y; if (!HAS_XIM_LISTENER(win, get_spot) || win->xim_listener->get_spot(win->xim_listener->self, &x, &y) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " xim_listener->get_spot() failed.\n"); #endif return 0; } spot->x = x + win->hmargin; spot->y = y /* + win->vmargin */; return 1; } static XFontSet load_fontset(ui_window_t *win) { char *cur_locale; XFontSet fontset; cur_locale = bl_str_alloca_dup(bl_get_locale()); if (bl_locale_init(ui_get_xim_locale(win))) { if (!HAS_XIM_LISTENER(win, get_fontset)) { return NULL; } fontset = (*win->xim_listener->get_fontset)(win->xim_listener->self); /* restoring */ bl_locale_init(cur_locale); } else { fontset = NULL; } return fontset; } static int destroy_xic(ui_window_t *win) { if (!win->xic) { return 0; } XDestroyIC(win->xic->ic); if (win->xic->fontset) { XFreeFontSet(win->disp->display, win->xic->fontset); } free(win->xic); win->xic = NULL; return 1; } static int create_xic(ui_window_t *win) { XIMStyle selected_style; XVaNestedList preedit_attr; #ifdef SET_XNAREA_ATTR XRectangle rect; #endif XPoint spot; XFontSet fontset; XIC xic; long xim_ev_mask; if (win->xic) { /* already created */ return 0; } if ((selected_style = ui_xim_get_style(win)) == 0) { return 0; } if (selected_style & XIMPreeditPosition) { /* * over the spot style. */ #ifdef SET_XNAREA_ATTR get_rect(win, &rect); #endif if (get_spot(win, &spot) == 0) { /* forcibly set ... */ spot.x = 0; spot.y = 0; } if (!(fontset = load_fontset(win))) { return 0; } if ((preedit_attr = XVaCreateNestedList(0, /* * Some input methods use XNArea to show lookup table, * setting XNArea as follows shows lookup table at unexpected position. */ #ifdef SET_XNAREA_ATTR XNArea, &rect, #endif XNSpotLocation, &spot, XNForeground, (*win->xim_listener->get_fg_color)(win->xim_listener->self)->pixel, XNBackground, (*win->xim_listener->get_bg_color)(win->xim_listener->self)->pixel, XNFontSet, fontset, NULL)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " XVaCreateNestedList() failed.\n"); #endif XFreeFontSet(win->disp->display, fontset); return 0; } if ((xic = ui_xim_create_ic(win, selected_style, preedit_attr)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " XCreateIC() failed\n"); #endif XFree(preedit_attr); XFreeFontSet(win->disp->display, fontset); return 0; } XFree(preedit_attr); } else { /* * root style */ if ((xic = ui_xim_create_ic(win, selected_style, NULL)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " XCreateIC() failed\n"); #endif return 0; } fontset = NULL; } if ((win->xic = malloc(sizeof(ui_xic_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif if (fontset) { XFreeFontSet(win->disp->display, fontset); } return 0; } win->xic->ic = xic; win->xic->fontset = fontset; win->xic->style = selected_style; xim_ev_mask = 0; XGetICValues(win->xic->ic, XNFilterEvents, &xim_ev_mask, NULL); ui_window_add_event_mask(win, xim_ev_mask); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " XIC activated.\n"); #endif return 1; } /* --- global functions --- */ int ui_xic_activate(ui_window_t *win, char *xim_name, char *xim_locale) { if (win->xic) { /* already activated */ return 0; } return ui_add_xim_listener(win, xim_name, xim_locale); } int ui_xic_deactivate(ui_window_t *win) { if (win->xic == NULL) { /* already deactivated */ return 0; } #if 0 { /* * this should not be done. */ int xim_ev_mask; XGetICValues(win->xic->ic, XNFilterEvents, &xim_ev_mask, NULL); ui_window_remove_event_mask(win, xim_ev_mask); } #endif destroy_xic(win); if (!ui_remove_xim_listener(win)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_remove_xim_listener() failed.\n"); #endif } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " XIC deactivated.\n"); #endif return 1; } char *ui_xic_get_xim_name(ui_window_t *win) { return ui_get_xim_name(win); } char *ui_xic_get_default_xim_name(void) { return ui_get_default_xim_name(); } int ui_xic_fg_color_changed(ui_window_t *win) { XVaNestedList preedit_attr; if (win->xic == NULL || !(win->xic->style & XIMPreeditPosition)) { return 0; } if ((preedit_attr = XVaCreateNestedList( 0, XNForeground, (*win->xim_listener->get_fg_color)(win->xim_listener->self)->pixel, NULL)) == NULL) { return 0; } XSetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL); XFree(preedit_attr); return 1; } int ui_xic_bg_color_changed(ui_window_t *win) { XVaNestedList preedit_attr; if (win->xic == NULL || !(win->xic->style & XIMPreeditPosition)) { return 0; } if ((preedit_attr = XVaCreateNestedList( 0, XNBackground, (*win->xim_listener->get_bg_color)(win->xim_listener->self)->pixel, NULL)) == NULL) { return 0; } XSetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL); XFree(preedit_attr); return 1; } int ui_xic_font_set_changed(ui_window_t *win) { XVaNestedList preedit_attr; XFontSet fontset; if (win->xic == NULL || !(win->xic->style & XIMPreeditPosition)) { return 0; } if (!(fontset = load_fontset(win))) { return 0; } if ((preedit_attr = XVaCreateNestedList(0, XNFontSet, fontset, NULL)) == NULL) { XFreeFontSet(win->disp->display, fontset); return 0; } XSetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL); XFree(preedit_attr); XFreeFontSet(win->disp->display, win->xic->fontset); win->xic->fontset = fontset; return 1; } int ui_xic_resized(ui_window_t *win) { XVaNestedList preedit_attr; #ifdef SET_XNAREA_ATTR XRectangle rect; #endif XPoint spot; if (win->xic == NULL || !(win->xic->style & XIMPreeditPosition)) { return 0; } #ifdef SET_XNAREA_ATTR get_rect(win, &rect); #endif if (get_spot(win, &spot) == 0) { /* forcibly set ...*/ spot.x = 0; spot.y = 0; } if ((preedit_attr = XVaCreateNestedList(0, #ifdef SET_XNAREA_ATTR XNArea, &rect, #endif XNSpotLocation, &spot, NULL)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " XvaCreateNestedList() failed.\n"); #endif return 0; } XSetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL); XFree(preedit_attr); return 1; } int ui_xic_set_spot(ui_window_t *win) { XVaNestedList preedit_attr; XPoint spot; if (win->xic == NULL || !(win->xic->style & XIMPreeditPosition)) { return 0; } if (get_spot(win, &spot) == 0) { /* XNSpotLocation not changed */ return 0; } if ((preedit_attr = XVaCreateNestedList(0, XNSpotLocation, &spot, NULL)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " XvaCreateNestedList failed.\n"); #endif return 0; } XSetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL); XFree(preedit_attr); return 1; } size_t ui_xic_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { Status stat; size_t len; if (win->xic == NULL) { return 0; } if ((len = XmbLookupString(win->xic->ic, event, seq, seq_len, keysym, &stat)) == 0) { return 0; } else if (stat == XBufferOverflow /* len > seq_len */) { /* * Input string is too large for seq. seq and keysym are not modified. * len is required size for input string. */ return len; } if (IS_ENCODING_BASED_ON_ISO2022(win->xim->encoding) && *seq < 0x20) { /* * XXX hack * control char(except delete char[0x7f]) is received. * in afraid of it being parsed as part of iso2022 sequence , * *parser is set NULL. */ *parser = NULL; } else { *parser = win->xim->parser; } return len; } size_t ui_xic_get_utf8_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { #ifdef HAVE_XUTF8_LOOKUP_STRING Status stat; size_t len; if (win->xic == NULL) { return 0; } if ((len = Xutf8LookupString(win->xic->ic, event, seq, seq_len, keysym, &stat)) == 0) { return 0; } else if (stat == XBufferOverflow /* len > seq_len */) { /* * Input string is too large for seq. seq and keysym are not modified. * len is required size for input string. */ return len; } if (!utf8_parser) { utf8_parser = ef_utf8_parser_new(); } *parser = utf8_parser; return len; #else return 0; #endif } int ui_xic_set_focus(ui_window_t *win) { if (!win->xic) { return 0; } XSetICFocus(win->xic->ic); return 1; } int ui_xic_unset_focus(ui_window_t *win) { if (!win->xic) { return 0; } XUnsetICFocus(win->xic->ic); return 1; } int ui_xic_is_active(ui_window_t *win) { #ifdef XNPreeditState XIMPreeditState preedit_state; XVaNestedList preedit_attr; int res; if (!win->xic) { return 0; } preedit_attr = XVaCreateNestedList(0, XNPreeditState, &preedit_state, NULL); if (XGetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL) != NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " XIM doesn't support XNPreeditState.\n"); #endif res = 0; } else { res = (preedit_state == XIMPreeditEnable); #ifdef DEBUG if (res) { bl_debug_printf(BL_DEBUG_TAG " XIM is enabled.\n"); } else { bl_debug_printf(BL_DEBUG_TAG " XIM is disabled.\n"); } #endif } XFree(preedit_attr); return res; #else return 0; #endif } int ui_xic_switch_mode(ui_window_t *win) { #ifdef XNPreeditState XVaNestedList preedit_attr; if (!win->xic) { return 0; } preedit_attr = XVaCreateNestedList( 0, XNPreeditState, ui_xic_is_active(win) ? XIMPreeditDisable : XIMPreeditEnable, NULL); if (XSetICValues(win->xic->ic, XNPreeditAttributes, preedit_attr, NULL) != NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " XIM doesn't support XNPreeditState.\n"); #endif } XFree(preedit_attr); return 1; #else return 0; #endif } /* * ui_xim.c <-> ui_xic.c communication functions */ int ui_xim_activated(ui_window_t *win) { return create_xic(win); } int ui_xim_destroyed(ui_window_t *win) { return destroy_xic(win); } mlterm-3.8.4/uitoolkit/xlib/ui_xim.c010064400017600000144000000255231321054731200161500ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_xim.h" #include /* sprintf */ #include /* strcmp/memset */ #include /* dup/close */ #include /* bl_set_file_cloexec */ #include #include /* strdup */ #include /* bl_locale_init/bl_get_locale/bl_get_codeset */ #include /* alloca/realloc */ #include "../ui_xic.h" /* refering mutually */ #if 0 #define __DEBUG #endif #define MAX_XIMS_SAME_TIME 5 /* --- static variables --- */ static int use_xim; static char *default_xim_name; /* this can be NULL */ static ui_xim_t xims[MAX_XIMS_SAME_TIME]; static u_int num_xims; /* --- static functions --- */ /* refered in xim_server_destroyed */ static void xim_server_instantiated(Display *display, XPointer client_data, XPointer call_data); static int close_xim(ui_xim_t *xim) { if (xim->im) { XCloseIM(xim->im); } if (xim->parser) { (*xim->parser->delete)(xim->parser); } free(xim->name); free(xim->locale); free(xim->xic_wins); return 1; } static int invoke_xim_destroyed(ui_xim_t *xim) { int count; for (count = 0; count < xim->num_xic_wins; count++) { ui_xim_destroyed(xims->xic_wins[count]); } return 1; } static void xim_server_destroyed(XIM im, XPointer data1, XPointer data2) { int count; for (count = 0; count < num_xims; count++) { if (xims[count].im == im) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s xim(with %d xic) server destroyed.\n", xims[count].name, xims[count].num_xic_wins); #endif invoke_xim_destroyed(&xims[count]); xims[count].im = NULL; break; } } /* * XXX * XRegisterIMInstantiateCallback of sunos/openwin seems buggy. */ #if !defined(sun) && !defined(__sun__) && !defined(__sun) /* it is necessary to reset callback */ XRegisterIMInstantiateCallback(XDisplayOfIM(im), NULL, NULL, NULL, xim_server_instantiated, NULL); #endif } static int open_xim(ui_xim_t *xim, Display *display) { char *xmod; char *cur_locale; int result; int next_fd; /* to deal with brain-dead XIM implemantations */ /* 4 is the length of "@im=" */ if ((xmod = alloca(4 + strlen(xim->name) + 1)) == NULL) { return 0; } sprintf(xmod, "@im=%s", xim->name); cur_locale = bl_get_locale(); if (strcmp(xim->locale, cur_locale) == 0) { /* the same locale as current */ cur_locale = NULL; } else { cur_locale = strdup(cur_locale); if (!bl_locale_init(xim->locale)) { /* setlocale() failed. restoring */ bl_locale_init(cur_locale); free(cur_locale); return 0; } } result = 0; next_fd = dup(0); if (next_fd != -1) { /* remember the lowest unused fd */ close(next_fd); } if (XSetLocaleModifiers(xmod) && (xim->im = XOpenIM(display, NULL, NULL, NULL))) { if ((xim->encoding = vt_get_char_encoding(bl_get_codeset())) == VT_UNKNOWN_ENCODING || (xim->parser = vt_char_encoding_parser_new(xim->encoding)) == NULL) { XCloseIM(xim->im); xim->im = NULL; } else { XIMCallback callback = {NULL, xim_server_destroyed}; XSetIMValues(xim->im, XNDestroyCallback, &callback, NULL); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " XIM %s is successfully opened.\n", xmod); #endif /* succeeded */ result = 1; } } if (next_fd > 0) { /* if XOpenIM() internally opens a fd, * we should close it on exec() */ bl_file_set_cloexec(next_fd); } if (cur_locale) { /* restoring */ bl_locale_init(cur_locale); free(cur_locale); } return result; } static int activate_xim(ui_xim_t *xim, Display *display) { u_int count; if (!xim->im && !open_xim(xim, display)) { return 0; } for (count = 0; count < xim->num_xic_wins; count++) { ui_xim_activated(xim->xic_wins[count]); } return 1; } static void xim_server_instantiated(Display *display, XPointer client_data, XPointer call_data) { int count; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " new xim server is instantiated.\n"); #endif for (count = 0; count < num_xims; count++) { activate_xim(&xims[count], display); } } static ui_xim_t *search_xim(Display *display, char *xim_name) { int count; for (count = 0; count < num_xims; count++) { if (strcmp(xims[count].name, xim_name) == 0) { if (!xims[count].im) { return &xims[count]; } else if (XDisplayOfIM(xims[count].im) == display) { return &xims[count]; } } } return NULL; } static ui_xim_t *get_xim(Display *display, char *xim_name, char *xim_locale) { ui_xim_t *xim; if ((xim = search_xim(display, xim_name)) == NULL) { if (num_xims == MAX_XIMS_SAME_TIME) { int count; count = 0; while (1) { if (count == num_xims) { return NULL; } else if (xims[count].num_xic_wins == 0) { close_xim(&xims[count]); xims[count] = xims[--num_xims]; break; } else { count++; } } } xim = &xims[num_xims++]; memset(xim, 0, sizeof(ui_xim_t)); xim->name = strdup(xim_name); xim->locale = strdup(xim_locale); } return xim; } static XIMStyle search_xim_style(XIMStyles *xim_styles, XIMStyle *supported_styles, u_int size) { int count; for (count = 0; count < xim_styles->count_styles; count++) { int _count; for (_count = 0; _count < size; _count++) { if (supported_styles[_count] == xim_styles->supported_styles[count]) { return supported_styles[_count]; } } } return 0; } /* --- global functions --- */ int ui_xim_init(int _use_xim) { char *xmod; char *p; if (!(use_xim = _use_xim)) { return 0; } xmod = XSetLocaleModifiers(""); /* 4 is the length of "@im=" */ if (xmod && strlen(xmod) >= 4 && (p = strstr(xmod, "@im=")) && (default_xim_name = strdup(p + 4))) { if ((p = strstr(default_xim_name, "@"))) { /* only the first entry is used , others are ignored. */ *p = '\0'; } } return 1; } int ui_xim_final(void) { int count; if (!use_xim) { return 0; } for (count = 0; count < num_xims; count++) { close_xim(&xims[count]); } free(default_xim_name); return 1; } int ui_xim_display_opened(Display *display) { if (!use_xim) { return 0; } /* * XXX * XRegisterIMInstantiateCallback of sunos/openwin seems buggy. */ #if !defined(sun) && !defined(__sun__) && !defined(__sun) XRegisterIMInstantiateCallback(display, NULL, NULL, NULL, xim_server_instantiated, NULL); #endif return 1; } int ui_xim_display_closed(Display *display) { int count; if (!use_xim) { return 0; } count = 0; while (count < num_xims) { if (xims[count].im && XDisplayOfIM(xims[count].im) == display) { close_xim(&xims[count]); xims[count] = xims[--num_xims]; } else { count++; } } /* * XXX * XRegisterIMInstantiateCallback of sunos/openwin seems buggy. */ #if !defined(sun) && !defined(__sun__) && !defined(__sun) XUnregisterIMInstantiateCallback(display, NULL, NULL, NULL, xim_server_instantiated, NULL); #endif return 1; } int ui_add_xim_listener(ui_window_t *win, char *xim_name, char *xim_locale) { void *p; if (!use_xim) { return 0; } /* * If xim_name is "none", call XSetLocaleModifiers("@im=none"). * If xim_name is "unused", do nothing. */ if (strcmp(xim_locale, "C") == 0 || strcmp(xim_name, "unused") == 0) { return 0; } if (*xim_name == '\0' && win->xim) { /* * reactivating current xim. */ return activate_xim(win->xim, win->disp->display); } if (win->xim) { ui_remove_xim_listener(win); } if (*xim_name == '\0') { if (default_xim_name) { xim_name = default_xim_name; } else { xim_name = "none"; } } if ((win->xim = get_xim(win->disp->display, xim_name, xim_locale)) == NULL) { return 0; } if ((p = realloc(win->xim->xic_wins, sizeof(ui_window_t*) * (win->xim->num_xic_wins + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } win->xim->xic_wins = p; win->xim->xic_wins[win->xim->num_xic_wins++] = win; return activate_xim(win->xim, win->disp->display); } int ui_remove_xim_listener(ui_window_t *win) { int count; if (win->xim == NULL) { return 0; } if (win->xim->num_xic_wins == 0) { return 0; } for (count = 0; count < win->xim->num_xic_wins; count++) { if (win->xim->xic_wins[count] == win) { win->xim->xic_wins[count] = win->xim->xic_wins[--win->xim->num_xic_wins]; win->xim = NULL; /* * memory area of win->xim->xic_wins is not shrunk. */ return 1; } } return 0; } XIC ui_xim_create_ic(ui_window_t *win, XIMStyle selected_style, XVaNestedList preedit_attr) { if (win->xim == NULL) { return NULL; } if (preedit_attr) { return XCreateIC(win->xim->im, XNClientWindow, win->my_window, XNFocusWindow, win->my_window, XNInputStyle, selected_style, XNPreeditAttributes, preedit_attr, NULL); } else { return XCreateIC(win->xim->im, XNClientWindow, win->my_window, XNFocusWindow, win->my_window, XNInputStyle, selected_style, NULL); } } XIMStyle ui_xim_get_style(ui_window_t *win) { XIMStyle over_the_spot_styles[] = { XIMPreeditPosition | XIMStatusNothing, XIMPreeditPosition | XIMStatusNone, }; XIMStyle root_styles[] = { XIMPreeditNothing | XIMStatusNothing, #if 0 /* * These styles doesn't support character * composing(XK_dead_xxx,XK_Multi_key...). */ XIMPreeditNothing | XIMStatusNone, XIMPreeditNone | XIMStatusNothing, XIMPreeditNone | XIMStatusNone, #endif }; XIMStyle selected_style; XIMStyles *xim_styles; if (win->xim == NULL) { return 0; } if (XGetIMValues(win->xim->im, XNQueryInputStyle, &xim_styles, NULL) || !xim_styles) { return 0; } if (!(selected_style = search_xim_style(xim_styles, over_the_spot_styles, sizeof(over_the_spot_styles) / sizeof(over_the_spot_styles[0])))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " over the spot style not found.\n"); #endif if (!(selected_style = search_xim_style(xim_styles, root_styles, sizeof(root_styles) / sizeof(root_styles[0])))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " root style not found.\n"); #endif XFree(xim_styles); return 0; } } XFree(xim_styles); return selected_style; } char *ui_get_xim_name(ui_window_t *win) { if (win->xim == NULL) { return "unused"; } return win->xim->name; } char *ui_get_xim_locale(ui_window_t *win) { if (win->xim == NULL) { return ""; } return win->xim->locale; } char *ui_get_default_xim_name(void) { if (!use_xim) { return "disable"; } return default_xim_name ? default_xim_name : "none"; } mlterm-3.8.4/uitoolkit/xlib/ui.h010064400017600000144000000025221321054731200152720ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ /* This must be included ahead of Xft.h on XFree86-4.0.x or before. */ #include #include /* XK_xxx */ #include /* XA_xxx */ #include /* IsKeypadKey */ #include /* for cursor shape */ typedef Pixmap PixmapMask; #ifdef XK_F21 #define XK_FMAX XK_F35 #else #define XK_FMAX XK_F20 #endif /* === Platform dependent options === */ #define UI_COLOR_HAS_RGB #define SUPPORT_TRUE_TRANSPARENT_BG #undef TYPE_XCORE_SCALABLE #undef MANAGE_ROOT_WINDOWS_BY_MYSELF #undef MANAGE_SUB_WINDOWS_BY_MYSELF #undef INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #define SUPPORT_POINT_SIZE_FONT #undef XIM_SPOT_IS_LINE_TOP #define USE_GC #define CHANGEABLE_CURSOR #undef PLUGIN_MODULE_SUFFIX #undef KEY_REPEAT_BY_MYSELF #undef ROTATABLE_DISPLAY #undef PSEUDO_COLOR_DISPLAY #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #define SUPPORT_URGENT_BELL #undef FORCE_UNICODE #define NEED_DISPLAY_SYNC_EVERY_TIME #undef DRAW_SCREEN_IN_PIXELS #undef NO_DRAW_IMAGE_STRING /* * for ui_picture.c * Xlib doesn't work on threading without XInitThreads(). * (libpthread is not linked to mlterm explicitly for now.) */ #undef HAVE_PTHREAD #define COMPOSE_DECSP_FONT #undef USE_REAL_VERTICAL_FONT #endif mlterm-3.8.4/uitoolkit/xlib/ui_connect_dialog.c010064400017600000144000000123661321054731200203240ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* Note that protocols except ssh aren't supported if USE_LIBSSH2 is defined. */ #ifdef USE_LIBSSH2 #include "../ui_connect_dialog.h" #include /* sprintf */ #include /* alloca */ #include /* strdup */ #include #include /* USE_WIN32API */ #include #include #include #define LINESPACE 10 #define BEGENDSPACE 8 #define CLEAR_DRAW 1 #define DRAW 2 #define DRAW_EXPOSE 3 /* --- global functions --- */ int ui_connect_dialog(char **uri, /* Should be free'ed by those who call this. */ char **pass, /* Same as uri. If pass is not input, "" is set. */ char **exec_cmd, /* Same as uri. If exec_cmd is not input, NULL is set. */ int *x11_fwd, /* in/out */ char *display_name, Window parent_window, char **sv_list, char *def_server /* (@)(:)(:). */ ) { Display *display; int screen; Window window; GC gc; XFontStruct *font; u_int width; u_int height; u_int ncolumns; char *title; size_t pass_len; int ret; if (!(title = alloca((ncolumns = 20 + strlen(def_server))))) { return 0; } sprintf(title, "Enter password for %s", def_server); if (!(display = XOpenDisplay(display_name))) { return 0; } screen = DefaultScreen(display); gc = DefaultGC(display, screen); if (!(font = XLoadQueryFont(display, "-*-r-normal--*-*-*-*-c-*-iso8859-1"))) { XCloseDisplay(display); return 0; } XSetFont(display, gc, font->fid); width = font->max_bounds.width * ncolumns + BEGENDSPACE; height = (font->ascent + font->descent + LINESPACE) * 2; if (!(window = XCreateSimpleWindow( display, DefaultRootWindow(display), (DisplayWidth(display, screen) - width) / 2, (DisplayHeight(display, screen) - height) / 2, width, height, 0, BlackPixel(display, screen), WhitePixel(display, screen)))) { XFreeFont(display, font); XCloseDisplay(display); return 0; } XStoreName(display, window, title); XSetIconName(display, window, title); XSelectInput(display, window, KeyReleaseMask | ExposureMask | StructureNotifyMask); XMapWindow(display, window); ret = 0; *pass = strdup(""); pass_len = 1; while (1) { XEvent ev; int redraw = 0; XWindowEvent(display, window, KeyReleaseMask | ExposureMask | StructureNotifyMask, &ev); if (ev.type == KeyRelease) { char buf[10]; void *p; size_t len; if ((len = XLookupString(&ev.xkey, buf, sizeof(buf), NULL, NULL)) > 0) { if (buf[0] == 0x08) /* Backspace */ { if (pass_len > 1) { (*pass)[--pass_len] = '\0'; redraw = CLEAR_DRAW; } } else if (buf[0] == 0x1b) { break; } else if (isprint((int)buf[0])) { if (!(p = realloc(*pass, (pass_len += len)))) { break; } memcpy((*pass = p) + pass_len - len - 1, buf, len); (*pass)[pass_len - 1] = '\0'; redraw = DRAW; } else { /* Exit loop successfully. */ ret = 1; break; } } } else if (ev.type == Expose) { redraw = DRAW_EXPOSE; } else if (ev.type == MapNotify) { XSetInputFocus(display, window, RevertToPointerRoot, CurrentTime); } if (redraw) { XPoint points[5]; points[0].x = BEGENDSPACE / 2; points[0].y = font->ascent + font->descent + LINESPACE; points[1].x = width - BEGENDSPACE / 2; points[1].y = font->ascent + font->descent + LINESPACE; points[2].x = width - BEGENDSPACE / 2; points[2].y = (font->ascent + font->descent) * 2 + LINESPACE * 3 / 2; points[3].x = BEGENDSPACE / 2; points[3].y = (font->ascent + font->descent) * 2 + LINESPACE * 3 / 2; points[4].x = BEGENDSPACE / 2; points[4].y = font->ascent + font->descent + LINESPACE; if (redraw == DRAW_EXPOSE) { XDrawString(display, window, gc, BEGENDSPACE / 2, font->ascent + LINESPACE / 2, title, strlen(title)); XDrawLines(display, window, gc, points, 5, CoordModeOrigin); } else if (redraw == CLEAR_DRAW) { XClearArea(display, window, points[0].x + 1, points[0].y + 1, points[2].x - points[0].x - 1, points[2].y - points[0].y - 1, False); } if (*pass) { char *input; size_t count; if (!(input = alloca(pass_len - 1))) { break; } for (count = 0; count < pass_len - 1; count++) { input[count] = '*'; } XDrawString(display, window, gc, BEGENDSPACE / 2 + font->max_bounds.width / 2, font->ascent * 2 + font->descent + LINESPACE * 3 / 2, input, K_MIN(pass_len - 1, ncolumns - 1)); } } } XDestroyWindow(display, window); XFreeFont(display, font); XCloseDisplay(display); if (ret) { *uri = strdup(def_server); *exec_cmd = NULL; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Connecting to %s %s\n", *uri, *pass); #endif } else { free(*pass); } return ret; } #endif mlterm-3.8.4/uitoolkit/xlib/ui_imagelib.c010064400017600000144000001273721321054731200171310ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /** @file * @brief image handling functions using gdk-pixbuf */ #ifndef NO_IMAGE #include "../ui_imagelib.h" /* * might not include internally in some environments * (e.g. open window in Solaris 2.6), so is necessary. * SF Bug 350944. */ #include #include /* XInternAtom */ #include #include /* memcpy */ #include /* sscanf */ #ifdef BUILTIN_IMAGELIB #include #endif /* BUILTIN_IMAGELIB */ #ifdef DLOPEN_LIBM #include /* dynamically loading pow */ #else #include /* pow */ #endif #include #include /* u_int32_t/u_int16_t */ #include /* SSIZE_MAX */ #include #include /* strdup */ #include /* DIGIT_STR_LEN */ #include #include /* BL_LIBEXECDIR */ #include "ui_display.h" /* ui_display_get_visual_info */ /* * 'data' which is malloc'ed for XCreateImage() in pixbuf_to_ximage_truecolor() * is free'ed in XDestroyImage(). */ #ifdef BL_DEBUG static void destroy_image(XImage *image) { bl_mem_remove(image->data, __FILE__, __LINE__, __FUNCTION__); XDestroyImage(image); } #undef XDestroyImage #define XDestroyImage(image) destroy_image(image) #endif #if 1 #define USE_FS #endif #if 0 #define ENABLE_CARD2PIXBUF #endif #if (GDK_PIXBUF_MAJOR < 2) #define g_object_ref(pixbuf) gdk_pixbuf_ref(pixbuf) #define g_object_unref(pixbuf) gdk_pixbuf_unref(pixbuf) #endif /* Trailing "/" is appended in value_table_refresh(). */ #ifndef LIBMDIR #define LIBMDIR "/lib" #endif #if 0 #define __DEBUG #endif #define PIXEL_RED(pixel, rgbinfo) \ ((((pixel) & (rgbinfo).r_mask) >> (rgbinfo).r_offset) << (rgbinfo).r_limit) #define PIXEL_BLUE(pixel, rgbinfo) \ ((((pixel) & (rgbinfo).b_mask) >> (rgbinfo).b_offset) << (rgbinfo).b_limit) #define PIXEL_GREEN(pixel, rgbinfo) \ ((((pixel) & (rgbinfo).g_mask) >> (rgbinfo).g_offset) << (rgbinfo).g_limit) #define RGB_TO_PIXEL(r, g, b, rgbinfo) \ (((((r) >> (rgbinfo).r_limit) << (rgbinfo).r_offset) & (rgbinfo).r_mask) | \ ((((g) >> (rgbinfo).g_limit) << (rgbinfo).g_offset) & (rgbinfo).g_mask) | \ ((((b) >> (rgbinfo).b_limit) << (rgbinfo).b_offset) & (rgbinfo).b_mask)) #if 1 #define BUILTIN_SIXEL #endif typedef struct rgb_info { u_long r_mask; u_long g_mask; u_long b_mask; u_int r_limit; u_int g_limit; u_int b_limit; u_int r_offset; u_int g_offset; u_int b_offset; } rgb_info_t; /* --- static variables --- */ static int display_count = 0; /* --- static functions --- */ #include "../../common/c_imagelib.c" static Status get_drawable_size(Display *display, Drawable drawable, u_int *width, u_int *height) { Window root; int x; int y; u_int border; u_int depth; return XGetGeometry(display, drawable, &root, &x, &y, width, height, &border, &depth); } /* returned cmap shuold be freed by the caller */ static int fetch_colormap(ui_display_t *disp, XColor **color_list) { int num_cells, i; num_cells = disp->visual->map_entries; if ((*color_list = calloc(num_cells, sizeof(XColor))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "couldn't allocate color table\n"); #endif return 0; } for (i = 0; i < num_cells; i++) { ((*color_list)[i]).pixel = i; } XQueryColors(disp->display, disp->colormap, *color_list, num_cells); return num_cells; } /* Get an background pixmap from _XROOTMAP_ID */ static Pixmap root_pixmap(ui_display_t *disp) { Atom id; int act_format; u_long nitems; u_long bytes_after; u_char *prop; Pixmap pixmap; if (!(id = XInternAtom(disp->display, "_XROOTPMAP_ID", False))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " _XROOTPMAP_ID atom is not available.\n"); #endif return None; } if (XGetWindowProperty(disp->display, disp->my_window, id, 0, 1, False, XA_PIXMAP, &id, &act_format, &nitems, &bytes_after, &prop) != Success || !prop) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Failed to read prop\n"); #endif return None; } pixmap = *((Drawable *)prop); XFree(prop); return pixmap; } static void rgb_info_init(XVisualInfo *vinfo, rgb_info_t *rgb) { rgb->r_mask = vinfo->red_mask; rgb->g_mask = vinfo->green_mask; rgb->b_mask = vinfo->blue_mask; rgb->r_offset = lsb(rgb->r_mask); rgb->g_offset = lsb(rgb->g_mask); rgb->b_offset = lsb(rgb->b_mask); rgb->r_limit = 8 + rgb->r_offset - msb(rgb->r_mask); rgb->g_limit = 8 + rgb->g_offset - msb(rgb->g_mask); rgb->b_limit = 8 + rgb->b_offset - msb(rgb->b_mask); } static void value_table_refresh(u_char *value_table, /* 256 bytes */ ui_picture_modifier_t *mod) { int i, tmp; double real_gamma, real_brightness, real_contrast; static double (*pow_func)(double, double); real_gamma = (double)(mod->gamma) / 100; real_contrast = (double)(mod->contrast) / 100; real_brightness = (double)(mod->brightness) / 100; if (!pow_func) { #ifdef DLOPEN_LIBM bl_dl_handle_t handle; if ((!(handle = bl_dl_open(LIBMDIR "/", "m")) && !(handle = bl_dl_open("", "m"))) || !(pow_func = bl_dl_func_symbol(handle, "pow"))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load pow in " LIBMDIR "/libm.so\n"); #endif if (handle) { bl_dl_close(handle); } /* * gamma, contrast and brightness options are ignored. * (alpha option still survives.) */ for (i = 0; i < 256; i++) { value_table[i] = i; } return; } #else /* DLOPEN_LIBM */ pow_func = pow; #endif /* BUILTIN_IMAGELIB */ } for (i = 0; i < 256; i++) { tmp = real_contrast * (255 * (*pow_func)(((double)i + 0.5) / 255, real_gamma) - 128) + 128 * real_brightness; if (tmp >= 255) { break; } else if (tmp < 0) { value_table[i] = 0; } else { value_table[i] = tmp; } } for (; i < 256; i++) { value_table[i] = 255; } } static int modify_pixmap(ui_display_t *disp, Pixmap src_pixmap, Pixmap dst_pixmap, /* Can be same as src_pixmap */ ui_picture_modifier_t *pic_mod /* Mustn't be normal */ ) { u_char value_table[256]; u_int x, y; u_int width, height; XImage *image; u_char r, g, b; u_long pixel; get_drawable_size(disp->display, src_pixmap, &width, &height); if ((image = XGetImage(disp->display, src_pixmap, 0, 0, width, height, AllPlanes, ZPixmap)) == NULL) { return 0; } value_table_refresh(value_table, pic_mod); if (disp->visual->class == TrueColor) { XVisualInfo *vinfo; rgb_info_t rgbinfo; if (!(vinfo = ui_display_get_visual_info(disp))) { XDestroyImage(image); return 0; } rgb_info_init(vinfo, &rgbinfo); XFree(vinfo); for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { pixel = XGetPixel(image, x, y); r = PIXEL_RED(pixel, rgbinfo); g = PIXEL_GREEN(pixel, rgbinfo); b = PIXEL_BLUE(pixel, rgbinfo); r = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; g = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; b = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; XPutPixel(image, x, y, RGB_TO_PIXEL(r, g, b, rgbinfo) | (disp->depth == 32 ? 0xff000000 : 0)); } } } else /* if( disp->visual->class == PseudoColor) */ { XColor *color_list; int num_cells; if ((num_cells = fetch_colormap(disp, &color_list)) == 0) { XDestroyImage(image); return 0; } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { if ((pixel = XGetPixel(image, x, y)) >= num_cells) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Pixel %x is illegal.\n", pixel); #endif continue; } r = color_list[pixel].red >> 8; g = color_list[pixel].green >> 8; b = color_list[pixel].blue >> 8; r = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; g = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; b = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; XPutPixel(image, x, y, closest_color_index(color_list, num_cells, r, g, b)); } } free(color_list); } XPutImage(disp->display, dst_pixmap, disp->gc->gc, image, 0, 0, 0, 0, width, height); XDestroyImage(image); return 1; } #if defined(BUILTIN_IMAGELIB) || defined(BUILTIN_SIXEL) #ifndef BUILTIN_IMAGELIB #define CARD_HEAD_SIZE 0 #include "../../common/c_sixel.c" #endif static int load_sixel(ui_display_t *disp, char *path, Pixmap *pixmap, Pixmap *mask, /* Can be NULL */ u_int *width, /* Can be NULL */ u_int *height /* Can be NULL */ ) { XImage *image; u_int32_t *data; u_int32_t *in; u_char *out; u_int w; u_int h; u_int x; u_int y; XVisualInfo *vinfo; rgb_info_t rgbinfo; int bytes_per_pixel; GC mask_gc; XGCValues gcv; if (disp->depth < 16 || !(data = in = out = load_sixel_from_file(path, &w, &h))) { return 0; } vinfo = ui_display_get_visual_info(disp); rgb_info_init(vinfo, &rgbinfo); XFree(vinfo); if (disp->depth == 16) { bytes_per_pixel = 2; } else { bytes_per_pixel = 4; } if (mask) { *mask = None; } for (y = 0; y < h; y++) { for (x = 0; x < w; x++) { u_int32_t pixel; #ifdef GDK_PIXBUF_VERSION if (mask && ((u_char *)in)[3] <= 0x7f) #else if (mask && in[0] <= 0x7fffffff) #endif { if (*mask == None) { *mask = XCreatePixmap(disp->display, ui_display_get_group_leader(disp), w, h, 1); mask_gc = XCreateGC(disp->display, *mask, 0, &gcv); XSetForeground(disp->display, mask_gc, 1); XFillRectangle(disp->display, *mask, mask_gc, 0, 0, w, h); XSetForeground(disp->display, mask_gc, 0); } XDrawPoint(disp->display, *mask, mask_gc, x, y); } #ifdef GDK_PIXBUF_VERSION pixel = RGB_TO_PIXEL(((u_char *)in)[0], ((u_char *)in)[1], ((u_char *)in)[2], rgbinfo); #else pixel = RGB_TO_PIXEL((in[0] >> 16) & 0xff, (in[0] >> 8) & 0xff, in[0] & 0xff, rgbinfo); #endif if (bytes_per_pixel == 2) { *((u_int16_t *)out) = pixel; } else /* if( bytes_per_pixel == 4) */ { *((u_int32_t *)out) = (pixel | (in[0] & 0xff000000)); } in++; out += bytes_per_pixel; } } if (mask && *mask) { XFreeGC(disp->display, mask_gc); } image = XCreateImage(disp->display, disp->visual, disp->depth, ZPixmap, 0, data, w, h, /* in case depth isn't multiple of 8 */ bytes_per_pixel * 8, w * bytes_per_pixel); *pixmap = XCreatePixmap(disp->display, ui_display_get_group_leader(disp), w, h, disp->depth); XPutImage(disp->display, *pixmap, disp->gc->gc, image, 0, 0, 0, 0, w, h); XDestroyImage(image); if (width) { *width = w; } if (height) { *height = h; } return 1; } #endif /* BUILTIN_SIXEL */ #ifdef BUILTIN_IMAGELIB /* create GdkPixbuf from the specified file path. * * The returned pixbuf should be unrefed by the caller. * Don't modify returned pixbuf since the pixbuf * is stored in the cache and may be reused. * This function is not reentrant. */ static GdkPixbuf *load_file(char *path, /* If NULL is specified, cache is cleared. */ u_int width, /* 0 == image width */ u_int height, /* 0 == image height */ GdkInterpType scale_type) { static char *name = NULL; static GdkPixbuf *orig_cache = NULL; static GdkPixbuf *scaled_cache = NULL; GdkPixbuf *pixbuf; if (!path) { /* free caches */ if (orig_cache) { g_object_unref(orig_cache); orig_cache = NULL; } if (scaled_cache) { g_object_unref(scaled_cache); scaled_cache = NULL; } return NULL; } if (name == NULL || strcmp(name, path) != 0) { /* create new pixbuf */ if (!(pixbuf = gdk_pixbuf_new_from(path))) { return NULL; } /* XXX Don't cache ~/.mlterm/[pty name].six, [pty name].rgs and anim-*.gif */ if (!strstr(path, "mlterm/") || strstr(path, "mlterm/macro")) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " adding a pixbuf to cache(%s)\n", path); #endif /* Replace cache */ free(name); name = strdup(path); if (orig_cache) { g_object_unref(orig_cache); } orig_cache = pixbuf; if (scaled_cache) /* scaled_cache one is not vaild now */ { g_object_unref(scaled_cache); scaled_cache = NULL; } } } else { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " using the pixbuf from cache\n"); #endif pixbuf = orig_cache; } /* loading from file/cache ends here */ if (width == 0) { width = gdk_pixbuf_get_width(pixbuf); } if (height == 0) { height = gdk_pixbuf_get_height(pixbuf); } /* It is necessary to scale orig_cache if width/height don't correspond. */ if ((width != gdk_pixbuf_get_width(pixbuf)) || (height != gdk_pixbuf_get_height(pixbuf))) { if (pixbuf != orig_cache) { /* Non-cached image */ GdkPixbuf *scaled_pixbuf; scaled_pixbuf = gdk_pixbuf_scale_simple(pixbuf, width, height, scale_type); g_object_unref(pixbuf); return scaled_pixbuf; } /* Old cached scaled_cache pixbuf became obsolete if width/height is changed */ else if (scaled_cache && gdk_pixbuf_get_width(scaled_cache) == width && gdk_pixbuf_get_height(scaled_cache) == height) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " using the scaled_cache pixbuf(%u x %u) from cache\n", width, height); #endif pixbuf = scaled_cache; } else { if (!(pixbuf = gdk_pixbuf_scale_simple(pixbuf, width, height, scale_type))) { return NULL; } #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " adding a scaled pixbuf to cache(%u x %u)\n", width, height); #endif if (scaled_cache) { g_object_unref(scaled_cache); } scaled_cache = pixbuf; } } /* scaling ends here */ if (pixbuf == scaled_cache || pixbuf == orig_cache) { /* Add reference count of the cache. */ g_object_ref(pixbuf); } return pixbuf; } #ifdef ENABLE_CARD2PIXBUF /* create a pixbuf from an array of cardinals */ static GdkPixbuf *create_pixbuf_from_cardinals(u_int32_t *cardinal, int req_width, int req_height) { GdkPixbuf *pixbuf; GdkPixbuf *scaled; int rowstride; u_char *line; u_char *pixel; int width, height; int x, y; width = cardinal[0]; height = cardinal[1]; if ((pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height)) == NULL) { return NULL; } rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); cardinal += 2; for (y = 0; y < height; y++) { pixel = line; for (x = 0; x < width; x++) { /* ARGB -> RGBA conversion */ pixel[2] = (*cardinal) & 0xff; pixel[1] = ((*cardinal) >> 8) & 0xff; pixel[0] = ((*cardinal) >> 16) & 0xff; pixel[3] = ((*cardinal) >> 24) & 0xff; cardinal++; pixel += 4; } line += rowstride; } if (req_width == 0) { req_width = width; } if (req_height == 0) { req_height = height; } if ((req_width != width) || (req_height != height)) { scaled = gdk_pixbuf_scale_simple(pixbuf, req_width, req_height, GDK_INTERP_TILES); } else { scaled = NULL; } if (scaled) { g_object_unref(pixbuf); return scaled; } else { return pixbuf; } } #endif /* ENABLE_CARD2PIXBUF */ static int pixbuf_to_pixmap_pseudocolor(ui_display_t *disp, GdkPixbuf *pixbuf, Pixmap pixmap) { int width, height, rowstride; u_int bytes_per_pixel; int x, y; int num_cells; #ifdef USE_FS char *diff_next; char *diff_cur; char *temp; #endif /* USE_FS */ u_char *line; u_char *pixel; XColor *color_list; int closest; int diff_r, diff_g, diff_b; int ret_val = 0; if ((num_cells = fetch_colormap(disp, &color_list)) == 0) { return 0; } width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); #ifdef USE_FS if ((diff_cur = calloc(1, width * 3)) == NULL) { goto error1; } if ((diff_next = calloc(1, width * 3)) == NULL) { goto error2; } #endif /* USE_FS */ bytes_per_pixel = (gdk_pixbuf_get_has_alpha(pixbuf)) ? 4 : 3; rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { pixel = line; #ifdef USE_FS closest = closest_color_index(color_list, num_cells, pixel[0] - diff_cur[0], pixel[1] - diff_cur[1], pixel[2] - diff_cur[2]); diff_r = (color_list[closest].red >> 8) - pixel[0]; diff_g = (color_list[closest].green >> 8) - pixel[1]; diff_b = (color_list[closest].blue >> 8) - pixel[2]; diff_cur[3 * 1 + 0] += diff_r / 2; diff_cur[3 * 1 + 1] += diff_g / 2; diff_cur[3 * 1 + 2] += diff_b / 2; /* initialize next line */ diff_next[3 * 0 + 0] = diff_r / 4; diff_next[3 * 0 + 1] = diff_g / 4; diff_next[3 * 0 + 2] = diff_b / 4; diff_next[3 * 1 + 0] = diff_r / 4; diff_next[3 * 1 + 1] = diff_g / 4; diff_next[3 * 1 + 2] = diff_b / 4; #else closest = closest_color_index(color_list, num_cells, pixel[0], pixel[1], pixel[2]); #endif /* USE_FS */ XSetForeground(disp->display, disp->gc->gc, closest); XDrawPoint(disp->display, pixmap, disp->gc->gc, 0, y); pixel += bytes_per_pixel; for (x = 1; x < width - 2; x++) { #ifdef USE_FS closest = closest_color_index(color_list, num_cells, pixel[0] - diff_cur[3 * x + 0], pixel[1] - diff_cur[3 * x + 1], pixel[2] - diff_cur[3 * x + 2]); diff_r = (color_list[closest].red >> 8) - pixel[0]; diff_g = (color_list[closest].green >> 8) - pixel[1]; diff_b = (color_list[closest].blue >> 8) - pixel[2]; diff_cur[3 * (x + 1) + 0] += diff_r / 2; diff_cur[3 * (x + 1) + 1] += diff_g / 2; diff_cur[3 * (x + 1) + 2] += diff_b / 2; diff_next[3 * (x - 1) + 0] += diff_r / 8; diff_next[3 * (x - 1) + 1] += diff_g / 8; diff_next[3 * (x - 1) + 2] += diff_b / 8; diff_next[3 * (x + 0) + 0] += diff_r / 8; diff_next[3 * (x + 0) + 1] += diff_g / 8; diff_next[3 * (x + 0) + 2] += diff_b / 8; /* initialize next line */ diff_next[3 * (x + 1) + 0] = diff_r / 4; diff_next[3 * (x + 1) + 1] = diff_g / 4; diff_next[3 * (x + 1) + 2] = diff_b / 4; #else closest = closest_color_index(color_list, num_cells, pixel[0], pixel[1], pixel[2]); #endif /* USE_FS */ XSetForeground(disp->display, disp->gc->gc, closest); XDrawPoint(disp->display, pixmap, disp->gc->gc, x, y); pixel += bytes_per_pixel; } #ifdef USE_FS closest = closest_color_index(color_list, num_cells, pixel[0] - diff_cur[3 * x + 0], pixel[1] - diff_cur[3 * x + 1], pixel[2] - diff_cur[3 * x + 2]); diff_r = (color_list[closest].red >> 8) - pixel[0]; diff_g = (color_list[closest].green >> 8) - pixel[1]; diff_b = (color_list[closest].blue >> 8) - pixel[2]; diff_next[3 * (x - 1) + 0] += diff_r / 4; diff_next[3 * (x - 1) + 1] += diff_g / 4; diff_next[3 * (x - 1) + 2] += diff_b / 4; diff_next[3 * (x + 0) + 0] += diff_r / 4; diff_next[3 * (x + 0) + 1] += diff_g / 4; diff_next[3 * (x + 0) + 2] += diff_b / 4; temp = diff_cur; diff_cur = diff_next; diff_next = temp; #else closest = closest_color_index(color_list, num_cells, pixel[0], pixel[1], pixel[2]); #endif /* USE_FS */ XSetForeground(disp->display, disp->gc->gc, closest); XDrawPoint(disp->display, pixmap, disp->gc->gc, x, y); line += rowstride; } ret_val = 1; #ifdef USE_FS error2: free(diff_cur); free(diff_next); #endif /* USE_FS */ error1: free(color_list); return ret_val; } static XImage *pixbuf_to_ximage_truecolor(ui_display_t *disp, GdkPixbuf *pixbuf) { XVisualInfo *vinfo; rgb_info_t rgbinfo; u_int x, y; u_int width, height, rowstride, bytes_per_pixel; u_char *line; XImage *image; char *data; if (!(vinfo = ui_display_get_visual_info(disp))) { return NULL; } rgb_info_init(vinfo, &rgbinfo); XFree(vinfo); width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); /* Set num of bytes per pixel of display (necessarily 4 or 2 in TrueColor). */ bytes_per_pixel = disp->depth > 16 ? 4 : 2; if (width > SSIZE_MAX / bytes_per_pixel / height || /* integer overflow */ !(data = malloc(width * height * bytes_per_pixel))) { return NULL; } if (!(image = XCreateImage(disp->display, disp->visual, disp->depth, ZPixmap, 0, data, width, height, /* in case depth isn't multiple of 8 */ bytes_per_pixel * 8, width * bytes_per_pixel))) { free(data); return NULL; } /* set num of bytes per pixel of pixbuf */ bytes_per_pixel = (gdk_pixbuf_get_has_alpha(pixbuf)) ? 4 : 3; rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { u_char *pixel; pixel = line; for (x = 0; x < width; x++) { XPutPixel(image, x, y, RGB_TO_PIXEL(pixel[0], pixel[1], pixel[2], rgbinfo) | (disp->depth == 32 ? 0xff000000 : 0)); pixel += bytes_per_pixel; } line += rowstride; } return image; } static int pixbuf_to_pixmap(ui_display_t *disp, GdkPixbuf *pixbuf, Pixmap pixmap) { if (disp->visual->class == TrueColor) { XImage *image; if ((image = pixbuf_to_ximage_truecolor(disp, pixbuf))) { XPutImage(disp->display, pixmap, disp->gc->gc, image, 0, 0, 0, 0, gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf)); XDestroyImage(image); return 1; } else { return 0; } } else /* if( disp->visual->class == PseudoColor) */ { return pixbuf_to_pixmap_pseudocolor(disp, pixbuf, pixmap); } } static int pixbuf_to_pixmap_and_mask(ui_display_t *disp, GdkPixbuf *pixbuf, Pixmap pixmap, Pixmap *mask /* Created in this function. */ ) { if (!pixbuf_to_pixmap(disp, pixbuf, pixmap)) { return 0; } if (gdk_pixbuf_get_has_alpha(pixbuf)) { int x, y; int width, height, rowstride; u_char *line; u_char *pixel; GC mask_gc; XGCValues gcv; int has_tp; width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); /* * DefaultRootWindow should not be used because depth and visual * of DefaultRootWindow don't always match those of mlterm window. * Use ui_display_get_group_leader instead. */ *mask = XCreatePixmap(disp->display, ui_display_get_group_leader(disp), width, height, 1); mask_gc = XCreateGC(disp->display, *mask, 0, &gcv); XSetForeground(disp->display, mask_gc, 0); XFillRectangle(disp->display, *mask, mask_gc, 0, 0, width, height); XSetForeground(disp->display, mask_gc, 1); line = gdk_pixbuf_get_pixels(pixbuf); rowstride = gdk_pixbuf_get_rowstride(pixbuf); has_tp = 0; for (y = 0; y < height; y++) { pixel = line + 3; for (x = 0; x < width; x++) { if (*pixel > 127) { XDrawPoint(disp->display, *mask, mask_gc, x, y); } else { has_tp = 1; } pixel += 4; } line += rowstride; } XFreeGC(disp->display, mask_gc); if (!has_tp) { /* mask is not necessary. */ XFreePixmap(disp->display, *mask); *mask = None; } } else { /* no mask */ *mask = None; } return 1; } static XImage *compose_truecolor(ui_display_t *disp, GdkPixbuf *pixbuf, Pixmap pixmap) { XVisualInfo *vinfo; rgb_info_t rgbinfo; XImage *image; int x, y; int width, height, rowstride; u_char *line; u_char *pixel; u_char r, g, b; u_long pixel2; width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); if (!(vinfo = ui_display_get_visual_info(disp))) { return NULL; } rgb_info_init(vinfo, &rgbinfo); XFree(vinfo); if (!(image = XGetImage(disp->display, pixmap, 0, 0, width, height, AllPlanes, ZPixmap))) { return NULL; } rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { pixel = line; for (x = 0; x < width; x++) { pixel2 = XGetPixel(image, x, y); r = PIXEL_RED(pixel2, rgbinfo); g = PIXEL_BLUE(pixel2, rgbinfo); b = PIXEL_GREEN(pixel2, rgbinfo); r = (r * (256 - pixel[3]) + pixel[0] * pixel[3]) >> 8; g = (g * (256 - pixel[3]) + pixel[1] * pixel[3]) >> 8; b = (b * (256 - pixel[3]) + pixel[2] * pixel[3]) >> 8; XPutPixel(image, x, y, RGB_TO_PIXEL(r, g, b, rgbinfo) | (disp->depth == 32 ? 0xff000000 : 0)); pixel += 4; } line += rowstride; } return image; } static XImage *compose_pseudocolor(ui_display_t *disp, GdkPixbuf *pixbuf, Pixmap pixmap) { XImage *image; int x, y, num_cells; int width, height, rowstride; u_int r, g, b; u_char *line; u_char *pixel; u_long pixel2; XColor *color_list; if ((num_cells = fetch_colormap(disp, &color_list)) == 0) { return NULL; } width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); if (!(image = XGetImage(disp->display, pixmap, 0, 0, width, height, AllPlanes, ZPixmap))) { free(color_list); return NULL; } rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { pixel = line; for (x = 0; x < width; x++) { if ((pixel2 = XGetPixel(image, x, y)) >= num_cells) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Pixel %x is illegal.\n", pixel2); #endif continue; } r = color_list[pixel2].red >> 8; g = color_list[pixel2].green >> 8; b = color_list[pixel2].blue >> 8; r = (r * (256 - pixel[3]) + pixel[0] * pixel[3]) >> 8; g = (g * (256 - pixel[3]) + pixel[1] * pixel[3]) >> 8; b = (b * (256 - pixel[3]) + pixel[2] * pixel[3]) >> 8; XPutPixel(image, x, y, closest_color_index(color_list, num_cells, r, g, b)); pixel += 4; } line += rowstride; } free(color_list); return image; } static int compose_to_pixmap(ui_display_t *disp, GdkPixbuf *pixbuf, Pixmap pixmap) { XImage *image; if (disp->visual->class == TrueColor) { image = compose_truecolor(disp, pixbuf, pixmap); } else /* if( disp->visual->class == PseudoColor) */ { image = compose_pseudocolor(disp, pixbuf, pixmap); } if (!image) { return 0; } XPutImage(disp->display, pixmap, disp->gc->gc, image, 0, 0, 0, 0, gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf)); XDestroyImage(image); return 1; } static int modify_image(GdkPixbuf *pixbuf, ui_picture_modifier_t *pic_mod /* Mustn't be normal */ ) { int x, y; int width, height, rowstride, bytes_per_pixel; u_char *line; u_char *pixel; u_char value_table[256]; value_table_refresh(value_table, pic_mod); bytes_per_pixel = (gdk_pixbuf_get_has_alpha(pixbuf)) ? 4 : 3; width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { pixel = line; line += rowstride; for (x = 0; x < width; x++) { /* * XXX * keeps neither hue nor saturation. * MUST be replaced by another better color model(CIE Yxy? lab?) */ pixel[0] = (value_table[pixel[0]] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; pixel[1] = (value_table[pixel[1]] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; pixel[2] = (value_table[pixel[2]] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; /* alpha plane is not changed */ pixel += bytes_per_pixel; } } return 1; } #else /* BUILTIN_IMAGELIB */ #ifdef NO_TOOLS #define load_file(disp, width, height, path, pic_mod, pixmap, mask) (0) #define create_cardinals_from_file(path, width, height) (NULL) #else /* NO_TOOLS */ static pid_t exec_mlimgloader(int *read_fd, int *write_fd, Window window, u_int width, u_int height, char *path, char *cardinal_opt) { int fds1[2]; int fds2[2]; pid_t pid; if (!path || !*path || pipe(fds1) == -1) { return -1; } if (pipe(fds2) == -1) { goto error1; } if ((pid = fork()) == -1) { goto error2; } if (pid == 0) { /* child process */ char *args[7]; char win_str[DIGIT_STR_LEN(Window) + 1]; char width_str[DIGIT_STR_LEN(u_int) + 1]; char height_str[DIGIT_STR_LEN(u_int) + 1]; args[0] = BL_LIBEXECDIR("mlterm") "/mlimgloader"; sprintf(win_str, "%lu", window); args[1] = win_str; sprintf(width_str, "%u", width); args[2] = width_str; sprintf(height_str, "%u", height); args[3] = height_str; args[4] = path; args[5] = cardinal_opt; args[6] = NULL; close(fds1[1]); close(fds2[0]); if (dup2(fds1[0], STDIN_FILENO) != -1 && dup2(fds2[1], STDOUT_FILENO) != -1) { execv(args[0], args); } bl_msg_printf("Failed to exec %s.\n", args[0]); exit(1); } close(fds1[0]); close(fds2[1]); *write_fd = fds1[1]; *read_fd = fds2[0]; return pid; error2: close(fds2[0]); close(fds2[1]); error1: close(fds1[0]); close(fds1[1]); return -1; } static int load_file(ui_display_t *disp, u_int width, u_int height, char *path, ui_picture_modifier_t *pic_mod, Pixmap *pixmap, Pixmap *mask /* Can be NULL */ ) { int read_fd; int write_fd; char pix_str[DIGIT_STR_LEN(Pixmap) + 1 + DIGIT_STR_LEN(Pixmap) + 1]; Pixmap pixmap_tmp; Pixmap mask_tmp; ssize_t size; if (exec_mlimgloader(&read_fd, &write_fd, ui_display_get_group_leader(disp), width, height, path, NULL) == -1) { return 0; } if ((size = read(read_fd, pix_str, sizeof(pix_str) - 1)) <= 0) { goto error; } pix_str[size] = '\0'; if (sscanf(pix_str, "%lu %lu", &pixmap_tmp, &mask_tmp) != 2) { goto error; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Receiving pixmap %lu %lu\n", pixmap_tmp, mask_tmp); #endif if (width == 0 || height == 0) { get_drawable_size(disp->display, pixmap_tmp, &width, &height); } *pixmap = XCreatePixmap(disp->display, ui_display_get_group_leader(disp), width, height, disp->depth); if (!ui_picture_modifier_is_normal(pic_mod)) { modify_pixmap(disp, pixmap_tmp, *pixmap, pic_mod); } else { XCopyArea(disp->display, pixmap_tmp, *pixmap, disp->gc->gc, 0, 0, width, height, 0, 0); } if (mask) { if (mask_tmp) { GC mask_gc; XGCValues gcv; *mask = XCreatePixmap(disp->display, ui_display_get_group_leader(disp), width, height, 1); mask_gc = XCreateGC(disp->display, *mask, 0, &gcv); XCopyArea(disp->display, mask_tmp, *mask, mask_gc, 0, 0, width, height, 0, 0); XFreeGC(disp->display, mask_gc); } else { *mask = None; } } XSync(disp->display, False); close(read_fd); close(write_fd); /* child process exited by this. pixmap_tmp is alive until here. */ return 1; error: close(read_fd); close(write_fd); return 0; } static u_int32_t *create_cardinals_from_file(char *path, u_int32_t width, u_int32_t height) { int read_fd; int write_fd; u_int32_t *cardinal; ssize_t size; if (exec_mlimgloader(&read_fd, &write_fd, None, width, height, path, "-c") == -1) { return 0; } if (read(read_fd, &width, sizeof(u_int32_t)) != sizeof(u_int32_t) || read(read_fd, &height, sizeof(u_int32_t)) != sizeof(u_int32_t)) { cardinal = NULL; } else if ((cardinal = malloc((size = (width * height + 2) * sizeof(u_int32_t))))) { u_char *p; ssize_t n_rd; cardinal[0] = width; cardinal[1] = height; size -= (sizeof(u_int32_t) * 2); p = &cardinal[2]; while ((n_rd = read(read_fd, p, size)) > 0) { p += n_rd; size -= n_rd; } if (size > 0) { free(cardinal); cardinal = NULL; } } close(read_fd); close(write_fd); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s(w %d h %d) is loaded.\n", path, width, height); #endif return cardinal; } #endif /* NO_TOOLS */ #endif /* BUILTIN_IMAGELIB */ /* --- global functions --- */ void ui_imagelib_display_opened(Display *display) { #if GDK_PIXBUF_MAJOR >= 2 if (display_count == 0) { g_type_init(); } #endif /*GDK_PIXBUF_MAJOR*/ /* Want _XROOTPIAMP_ID changed events. */ XSelectInput(display, DefaultRootWindow(display), PropertyChangeMask); display_count++; } void ui_imagelib_display_closed(Display *display) { display_count--; if (display_count == 0) { #ifdef BUILTIN_IMAGELIB /* drop pixbuf cache */ load_file(NULL, 0, 0, 0); #endif } } /** Load an image from the specified file. *\param win mlterm window. *\param path File full path. *\param pic_mod picture modifier. * *\return Pixmap to be used as a window's background. */ Pixmap ui_imagelib_load_file_for_background(ui_window_t *win, char *path, ui_picture_modifier_t *pic_mod) { #ifdef BUILTIN_IMAGELIB GdkPixbuf *pixbuf; #endif Pixmap pixmap; if (!path || !*path) { return None; } if (strncmp(path, "pixmap:", 7) == 0 && sscanf(path + 7, "%lu", &pixmap) == 1) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " pixmap:%lu is used.\n", pixmap); #endif return pixmap; } #ifdef BUILTIN_IMAGELIB if (!(pixbuf = load_file(path, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), GDK_INTERP_BILINEAR))) { return None; } if (!ui_picture_modifier_is_normal(pic_mod)) { /* pixbuf which load_file() returned is cached, so don't modify it. */ GdkPixbuf *p; p = gdk_pixbuf_copy(pixbuf); g_object_unref(pixbuf); if ((pixbuf = p) == NULL) { return None; } if (!modify_image(pixbuf, pic_mod)) { g_object_unref(pixbuf); return None; } } if (gdk_pixbuf_get_has_alpha(pixbuf) && (pixmap = ui_imagelib_get_transparent_background(win, NULL))) { if (!compose_to_pixmap(win->disp, pixbuf, pixmap)) { goto error; } } else { pixmap = XCreatePixmap(win->disp->display, win->my_window, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), win->disp->depth); if (!pixbuf_to_pixmap(win->disp, pixbuf, pixmap)) { goto error; } } g_object_unref(pixbuf); return pixmap; error: XFreePixmap(win->disp->display, pixmap); g_object_unref(pixbuf); return None; #else /* BUILTIN_IMAGELIB */ if (load_file(win->disp, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), path, pic_mod, &pixmap, NULL)) { return pixmap; } else { return None; } #endif /* BUILTIN_IMAGELIB */ } /* defined in xlib/ui_window.c */ int ui_window_get_visible_geometry(ui_window_t *win, int *x, int *y, int *my_x, int *my_y, u_int *width, u_int *height); /** Create an pixmap from root window *\param win window structure *\param pic_mod picture modifier * *\return Newly allocated Pixmap (or None in the case of failure) */ Pixmap ui_imagelib_get_transparent_background(ui_window_t *win, ui_picture_modifier_t *pic_mod) { int x; int y; int pix_x; int pix_y; u_int width; u_int height; Pixmap root; Pixmap pixmap; u_int root_width; u_int root_height; if (!(root = root_pixmap(win->disp))) { return None; } if (!ui_window_get_visible_geometry(win, &x, &y, &pix_x, &pix_y, &width, &height)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_window_get_visible_geometry failed.\n"); #endif return None; } /* The pixmap to be returned */ pixmap = XCreatePixmap(win->disp->display, win->my_window, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), win->disp->depth); get_drawable_size(win->disp->display, root, &root_width, &root_height); if (win->disp->depth != DefaultDepth(win->disp->display, DefaultScreen(win->disp->display))) { u_int bytes_per_pixel; XImage *image = NULL; char *data = NULL; XImage *image2; XVisualInfo vinfo_template; int nitems; XVisualInfo *vinfo; rgb_info_t rgbinfo; rgb_info_t rgbinfo2; u_int _x; u_int _y; /* Set num of bytes per pixel of display (necessarily 4 or 2 in TrueColor). */ bytes_per_pixel = win->disp->depth > 16 ? 4 : 2; if (win->disp->visual->class != TrueColor || !(image = XGetImage(win->disp->display, root, x, y, width, height, AllPlanes, ZPixmap)) || width > SSIZE_MAX / bytes_per_pixel / height || !(data = malloc(width * height * bytes_per_pixel)) || !(image2 = XCreateImage(win->disp->display, win->disp->visual, win->disp->depth, ZPixmap, 0, data, width, height, /* in case depth isn't multiple of 8 */ bytes_per_pixel * 8, width * bytes_per_pixel))) { XFreePixmap(win->disp->display, pixmap); if (image) { XDestroyImage(image); } if (data) { free(data); } return None; } vinfo_template.visualid = XVisualIDFromVisual(DefaultVisual(win->disp->display, DefaultScreen(win->disp->display))); vinfo = XGetVisualInfo(win->disp->display, VisualIDMask, &vinfo_template, &nitems); rgb_info_init(vinfo, &rgbinfo); XFree(vinfo); vinfo = ui_display_get_visual_info(win->disp); rgb_info_init(vinfo, &rgbinfo2); XFree(vinfo); for (_y = 0; _y < height; _y++) { for (_x = 0; _x < width; _x++) { u_long pixel; pixel = XGetPixel(image, _x, _y); XPutPixel(image2, _x, _y, (win->disp->depth == 32 ? 0xff000000 : 0) | RGB_TO_PIXEL(PIXEL_RED(pixel, rgbinfo), PIXEL_GREEN(pixel, rgbinfo), PIXEL_BLUE(pixel, rgbinfo), rgbinfo2)); } } XPutImage(win->disp->display, pixmap, win->disp->gc->gc, image2, 0, 0, 0, 0, width, height); XDestroyImage(image); XDestroyImage(image2); } else if (root_width < win->disp->width || root_height < win->disp->height) { GC gc; gc = XCreateGC(win->disp->display, win->my_window, 0, NULL); x %= root_width; y %= root_height; /* Some WM (WindowMaker etc) need tiling... sigh.*/ XSetTile(win->disp->display, gc, root); XSetTSOrigin(win->disp->display, gc, -x, -y); XSetFillStyle(win->disp->display, gc, FillTiled); /* XXX not correct with virtual desktop? */ XFillRectangle(win->disp->display, pixmap, gc, pix_x, pix_y, width, height); XFreeGC(win->disp->display, gc); } else { XCopyArea(win->disp->display, root, pixmap, win->gc->gc, x, y, width, height, pix_x, pix_y); } if (!ui_picture_modifier_is_normal(pic_mod)) { if (!modify_pixmap(win->disp, pixmap, pixmap, pic_mod)) { XFreePixmap(win->disp->display, pixmap); return None; } } return pixmap; } /** Load an image from the specified file with alpha plane. A pixmap and a mask *are returned. *\param display connection to the X server. *\param path File full path. *\param cardinal Returns pointer to a data structure for the extended WM hint *spec. *\param pixmap Returns an image pixmap for the old WM hint. *\param mask Returns a mask bitmap for the old WM hint. *\param width Pointer to the desired width. If *width is 0, the returned image *would not be scaled and *width would be overwritten by its width. "width" can *be NULL and the image would not be scaled and nothing would be returned in *this case. *\param height Pointer to the desired height. *height can be 0 and height can *be NULL(see "width" 's description) * *\return Success => 1, Failure => 0 */ int ui_imagelib_load_file(ui_display_t *disp, char *path, u_int32_t **cardinal, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height) { u_int dst_height, dst_width; #ifdef BUILTIN_IMAGELIB GdkPixbuf *pixbuf; #endif if (!width) { dst_width = 0; } else { dst_width = *width; } if (!height) { dst_height = 0; } else { dst_height = *height; } #if defined(BUILTIN_IMAGELIB) || defined(BUILTIN_SIXEL) if (!cardinal && strcasecmp(path + strlen(path) - 4, ".six") == 0 && dst_width == 0 && dst_height == 0 && load_sixel(disp, path, pixmap, mask, width, height)) { return 1; } #endif #ifdef BUILTIN_IMAGELIB if (path) { /* create a pixbuf from the file and create a cardinal array */ if (!(pixbuf = load_file(path, dst_width, dst_height, GDK_INTERP_BILINEAR))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "couldn't load pixbuf\n"); #endif return 0; } if (cardinal) { if (!(*cardinal = create_cardinals_from_pixbuf(pixbuf))) { g_object_unref(pixbuf); return 0; } } } else { #ifdef ENABLE_CARD2PIXBUF if (!cardinal || !*cardinal) { return 0; } /* create a pixbuf from the cardinal array */ if (!(pixbuf = create_pixbuf_from_cardinals(*cardinal, dst_width, dst_height))) #endif { return 0; } } dst_width = gdk_pixbuf_get_width(pixbuf); dst_height = gdk_pixbuf_get_height(pixbuf); /* * Create the Icon pixmap & mask to be used in WMHints. * Note that none as a result is acceptable. * Pixmaps can't be cached since the last pixmap may be freed by someone... */ if (pixmap) { /* * DefaultRootWindow should not be used because depth and visual * of DefaultRootWindow don't always match those of mlterm window. * Use ui_display_get_group_leader instead. */ *pixmap = XCreatePixmap(disp->display, ui_display_get_group_leader(disp), dst_width, dst_height, disp->depth); if (mask) { if (!pixbuf_to_pixmap_and_mask(disp, pixbuf, *pixmap, mask)) { g_object_unref(pixbuf); goto error; } } else { if (!pixbuf_to_pixmap(disp, pixbuf, *pixmap)) { g_object_unref(pixbuf); goto error; } } } g_object_unref(pixbuf); #else /* BUILTIN_IMAGELIB */ if (!path) { /* cardinals => pixbuf is not supported. */ return 0; } if (!load_file(disp, dst_width, dst_height, path, NULL, pixmap, mask)) { return 0; } /* XXX Duplicated in load_file */ if (dst_width == 0 || dst_height == 0) { get_drawable_size(disp->display, *pixmap, &dst_width, &dst_height); } if (cardinal) { if (!(*cardinal = create_cardinals_from_file(path, dst_width, dst_height))) { goto error; } } #endif /* BUILTIN_IMAGELIB */ if (width && *width == 0) { *width = dst_width; } if (height && *height == 0) { *height = dst_height; } return 1; error: XFreePixmap(disp->display, *pixmap); return 0; } Pixmap ui_imagelib_pixbuf_to_pixmap(ui_window_t *win, ui_picture_modifier_t *pic_mod, GdkPixbufPtr pixbuf) { #ifdef BUILTIN_IMAGELIB Pixmap pixmap; GdkPixbuf *target; if (!ui_picture_modifier_is_normal(pic_mod)) { if ((target = gdk_pixbuf_copy(pixbuf)) == NULL) { return None; } modify_image(target, pic_mod); } else { target = pixbuf; } pixmap = XCreatePixmap(win->disp->display, win->my_window, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), win->disp->depth); if (pixbuf_to_pixmap(win->disp, target, pixmap)) { return pixmap; } if (target != pixbuf) { g_object_unref(target); } XFreePixmap(win->disp->display, pixmap); #endif /* BUILTIN_IMAGELIB */ return None; } void ui_delete_image(Display *display, Pixmap pixmap) { XFreePixmap(display, pixmap); } #endif /* NO_IMAGE */ mlterm-3.8.4/uitoolkit/xlib/ui_decsp_font.c010064400017600000144000000160761321054731200175020ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_decsp_font.h" #include /* memset */ #include /* malloc */ /* --- global functions --- */ ui_decsp_font_t *ui_decsp_font_new(Display *display, u_int width, u_int height, u_int ascent) { ui_decsp_font_t *font; char gray_bits[] = {0x11, 0x44}; Window win; u_int glyph_width; u_int glyph_height; GC gc; Pixmap gray; XPoint pts[4]; int count; if ((font = malloc(sizeof(ui_decsp_font_t))) == NULL) { return NULL; } font->width = width; font->height = height; font->ascent = ascent; glyph_width = width; glyph_height = height; win = DefaultRootWindow(display); gray = XCreateBitmapFromData(display, win, gray_bits, 8, 2); gc = XCreateGC(display, gray, 0, NULL); XSetForeground(display, gc, 0); XSetFillStyle(display, gc, FillSolid); memset(font->glyphs, 0, sizeof(font->glyphs)); for (count = 1; count < sizeof(font->glyphs) / sizeof(font->glyphs[0]); count++) { /* * Glyph map * * None , Used , Used , None , None , None , None , None , * None , None , None , Used , Used , Used , Used , Used , * Used , Used , Used , Used , Used , Used , Used , Used , * Used , Used , None , None , None , None , Used , None , */ if (count <= 0x02 || (0x0b <= count && count <= 0x19) || count == 0x1e) { font->glyphs[count] = XCreatePixmap(display, win, width, height, 1); XFillRectangle(display, font->glyphs[count], gc, 0, 0, width, height); } } XSetForeground(display, gc, 1); XSetLineAttributes(display, gc, (glyph_width >> 3) + 1, LineSolid, CapProjecting, JoinMiter); pts[0].x = glyph_width / 2; pts[0].y = 0; pts[1].x = 0; pts[1].y = glyph_height / 2; pts[2].x = glyph_width / 2; pts[2].y = glyph_height; pts[3].x = glyph_width; pts[3].y = glyph_height / 2; XFillPolygon(display, font->glyphs[0x01], gc, pts, 4, Nonconvex, CoordModeOrigin); XSetFillStyle(display, gc, FillStippled); XSetStipple(display, gc, gray); XFillRectangle(display, font->glyphs[0x02], gc, 0, 0, width, height); XSetFillStyle(display, gc, FillSolid); XDrawLine(display, font->glyphs[0x0b], gc, 0, glyph_height / 2, glyph_width / 2, glyph_height / 2); XDrawLine(display, font->glyphs[0x0b], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height / 2); XDrawLine(display, font->glyphs[0x0c], gc, 0, glyph_height / 2, glyph_width / 2, glyph_height / 2); XDrawLine(display, font->glyphs[0x0c], gc, glyph_width / 2, glyph_height / 2, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x0d], gc, glyph_width / 2, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x0d], gc, glyph_width / 2, glyph_height / 2, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x0e], gc, glyph_width / 2, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x0e], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height / 2); XDrawLine(display, font->glyphs[0x0f], gc, 0, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x0f], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x10], gc, 0, 0, glyph_width, 0); XDrawLine(display, font->glyphs[0x11], gc, 0, glyph_height / 4, glyph_width, glyph_height / 4); XDrawLine(display, font->glyphs[0x12], gc, 0, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x13], gc, 0, glyph_height * 3 / 4, glyph_width, glyph_height * 3 / 4); XDrawLine(display, font->glyphs[0x14], gc, 0, glyph_height, glyph_width, glyph_height); XDrawLine(display, font->glyphs[0x15], gc, glyph_width / 2, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x15], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x16], gc, 0, glyph_height / 2, glyph_width / 2, glyph_height / 2); XDrawLine(display, font->glyphs[0x16], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x17], gc, 0, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x17], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height / 2); XDrawLine(display, font->glyphs[0x18], gc, 0, glyph_height / 2, glyph_width, glyph_height / 2); XDrawLine(display, font->glyphs[0x18], gc, glyph_width / 2, glyph_height / 2, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x19], gc, glyph_width / 2, 0, glyph_width / 2, glyph_height); XDrawLine(display, font->glyphs[0x1e], gc, glyph_width / 2 - 1, glyph_height / 2, glyph_width / 2 + 1, glyph_height / 2); XDrawLine(display, font->glyphs[0x1e], gc, glyph_width / 2, glyph_height / 2 - 1, glyph_width / 2, glyph_height / 2 + 1); XFreePixmap(display, gray); XFreeGC(display, gc); return font; } void ui_decsp_font_delete(ui_decsp_font_t *font, Display *display) { int count; for (count = 0; count < sizeof(font->glyphs) / sizeof(font->glyphs[0]); count++) { if (font->glyphs[count]) { XFreePixmap(display, font->glyphs[count]); } } free(font); } void ui_decsp_font_draw_string(ui_decsp_font_t *font, Display *display, Drawable drawable, GC gc, int x, int y, u_char *str, u_int len) { int count; int cache = -1; /* to avoid replace clip mask every time */ y -= font->ascent; /* original y is not used */ for (count = 0; count < len; count++) { if (*str < 0x20 && font->glyphs[*str]) { XSetClipOrigin(display, gc, x, y); if (cache != *str) { XSetClipMask(display, gc, font->glyphs[*str]); cache = *str; } XFillRectangle(display, drawable, gc, x, y, font->width, font->height); } else { /* XXX handle '#'? */ XSetClipMask(display, gc, None); cache = -1; XDrawRectangle(display, drawable, gc, x, y, font->width - 1, font->height - 1); } x += font->width; str++; } XSetClipMask(display, gc, None); } void ui_decsp_font_draw_image_string(ui_decsp_font_t *font, Display *display, Drawable drawable, GC gc, int x, int y, u_char *str, u_int len) { u_int count; y -= font->ascent; /* original y is not used */ for (count = 0; count < len; count++) { if (*str < 0x20 && font->glyphs[*str]) { XCopyPlane(display, font->glyphs[*str], drawable, gc, 0, 0, font->width, font->height, x, y, 1); } else { /* XXX handle '#'? */ XGCValues gcv; u_long fg; u_long bg; if (!XGetGCValues(display, gc, GCBackground | GCForeground, &gcv)) { return; } fg = gcv.foreground; bg = gcv.background; XSetForeground(display, gc, bg); XFillRectangle(display, drawable, gc, x, y, font->width, font->height); XSetForeground(display, gc, fg); XDrawRectangle(display, drawable, gc, x, y, font->width - 1, font->height - 1); } x += font->width; str++; } } mlterm-3.8.4/uitoolkit/xlib/ui_xim.h010064400017600000144000000016321321054731200161500ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_XIM_H__ #define __UI_XIM_H__ #include #include #include "../ui_window.h" typedef struct ui_xim { XIM im; char *name; char *locale; ef_parser_t *parser; vt_char_encoding_t encoding; ui_window_t **xic_wins; u_int num_xic_wins; } ui_xim_t; int ui_xim_init(int use_xim); int ui_xim_final(void); int ui_xim_display_opened(Display *display); int ui_xim_display_closed(Display *display); int ui_add_xim_listener(ui_window_t *win, char *xim_name, char *xim_locale); int ui_remove_xim_listener(ui_window_t *win); XIMStyle ui_xim_get_style(ui_window_t *win); XIC ui_xim_create_ic(ui_window_t *win, XIMStyle selected_style, XVaNestedList preedit_attr); char *ui_get_xim_name(ui_window_t *win); char *ui_get_xim_locale(ui_window_t *win); char *ui_get_default_xim_name(void); #endif mlterm-3.8.4/uitoolkit/xlib/ui_type_loader.h010064400017600000144000000015121321054731200176570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_TYPE_LOADER_H__ #define __UI_TYPE_LOADER_H__ #include "../ui_font.h" #include "../ui_window.h" typedef enum ui_type_id { TYPE_API_COMPAT_CHECK, UI_WINDOW_SET_TYPE, UI_WINDOW_DRAW_STRING8, UI_WINDOW_DRAW_STRING32, UI_WINDOW_RESIZE, UI_SET_FONT, UI_UNSET_FONT, UI_CALCULATE_CHAR_WIDTH, UI_WINDOW_SET_CLIP, UI_WINDOW_UNSET_CLIP, UI_SET_OT_FONT, UI_CONVERT_TEXT_TO_GLYPHS, MAX_TYPE_FUNCS, } ui_type_id_t; #define TYPE_API_VERSION 0x01 #define TYPE_API_COMPAT_CHECK_MAGIC \ (((TYPE_API_VERSION & 0x0f) << 28) | ((sizeof(ui_font_t) & 0xff) << 20) | \ ((sizeof(ui_window_t) & 0xff) << 12)) void *ui_load_type_xft_func(ui_type_id_t id); void *ui_load_type_cairo_func(ui_type_id_t id); #endif mlterm-3.8.4/uitoolkit/xlib/ui_color.c010064400017600000144000000127671321054731200164770ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_color.h" #include /* memcpy,strcmp */ #include /* sscanf */ #include #include #include #include /* --- static functions --- */ static void native_color_to_xcolor(ui_color_t *xcolor, XColor *ncolor) { xcolor->pixel = ncolor->pixel; xcolor->red = (ncolor->red >> 8) & 0xff; xcolor->green = (ncolor->green >> 8) & 0xff; xcolor->blue = (ncolor->blue >> 8) & 0xff; xcolor->alpha = 0xff; } static int alloc_closest_xcolor_pseudo(ui_display_t *disp, int red, /* 0 to 0xffff */ int green, /* 0 to 0xffff */ int blue, /* 0 to 0xffff */ ui_color_t *ret_xcolor) { XColor *all_colors; /* colors exist in the shared color map */ XColor closest_color; int closest_index = -1; u_long min_diff = 0xffffffff; u_long diff; int diff_r, diff_g, diff_b; int ncells = disp->visual->map_entries; int i; /* FIXME: When visual class is StaticColor, should not be return? */ if (!disp->visual->class == PseudoColor && !disp->visual->class == GrayScale) { return 0; } if ((all_colors = malloc(ncells * sizeof(XColor))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return 0; } /* get all colors from default colormap */ for (i = 0; i < ncells; i++) { all_colors[i].pixel = i; } XQueryColors(disp->display, disp->colormap, all_colors, ncells); red >>= 8; green >>= 8; blue >>= 8; /* find the closest color */ for (i = 0; i < ncells; i++) { diff_r = red - (all_colors[i].red >> 8); diff_g = green - (all_colors[i].green >> 8); diff_b = blue - (all_colors[i].blue >> 8); diff = COLOR_DISTANCE(diff_r, diff_g, diff_b); if (diff < min_diff) { min_diff = diff; closest_index = i; /* no one may notice the difference (4[2^3/2]*4*9+4*4*30+4*4) */ if (diff < COLOR_DISTANCE_THRESHOLD) { break; } } } if (closest_index == -1) /* unable to find closest color */ { closest_color.red = 0; closest_color.green = 0; closest_color.blue = 0; } else { closest_color.red = all_colors[closest_index].red; closest_color.green = all_colors[closest_index].green; closest_color.blue = all_colors[closest_index].blue; } closest_color.flags = DoRed | DoGreen | DoBlue; free(all_colors); if (!XAllocColor(disp->display, disp->colormap, &closest_color)) { return 0; } ret_xcolor->pixel = closest_color.pixel; ret_xcolor->red = (closest_color.red >> 8) & 0xff; ret_xcolor->green = (closest_color.green >> 8) & 0xff; ret_xcolor->blue = (closest_color.blue >> 8) & 0xff; ret_xcolor->alpha = 0xff; return 1; } /* --- global functions --- */ int ui_load_named_xcolor(ui_display_t *disp, ui_color_t *xcolor, char *name) { XColor near; XColor exact; u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (vt_color_parse_rgb_name(&red, &green, &blue, &alpha, name)) { return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } if (!XAllocNamedColor(disp->display, disp->colormap, name, &near, &exact)) { /* try to find closest color */ if (XParseColor(disp->display, disp->colormap, name, &exact)) { return alloc_closest_xcolor_pseudo(disp, exact.red, exact.green, exact.blue, xcolor); } else { return 0; } } native_color_to_xcolor(xcolor, &near); return 1; } int ui_load_rgb_xcolor(ui_display_t *disp, ui_color_t *xcolor, u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha) { if (disp->depth == 32 && alpha < 0xff) { xcolor->red = red; xcolor->green = green; xcolor->blue = blue; xcolor->alpha = alpha; /* XXX */ xcolor->pixel = (alpha << 24) | (((u_int)red * (u_int)alpha / 256) << 16) | (((u_int)green * (u_int)alpha / 256) << 8) | (((u_int)blue * (u_int)alpha / 256)); } else { XColor ncolor; ncolor.red = (red << 8) + red; ncolor.green = (green << 8) + green; ncolor.blue = (blue << 8) + blue; ncolor.flags = 0; if (!XAllocColor(disp->display, disp->colormap, &ncolor)) { /* try to find closest color */ return alloc_closest_xcolor_pseudo(disp, ncolor.red, ncolor.green, ncolor.blue, xcolor); } native_color_to_xcolor(xcolor, &ncolor); } return 1; } void ui_unload_xcolor(ui_display_t *disp, ui_color_t *xcolor) { #if 0 u_long pixel[1]; pixel[0] = xcolor->pixel; XFreeColors(disp->display, disp->colormap, pixel, 1, 0); #endif } void ui_get_xcolor_rgba(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */, ui_color_t *xcolor) { *red = xcolor->red; *green = xcolor->green; *blue = xcolor->blue; if (alpha) { *alpha = xcolor->alpha; } } int ui_xcolor_fade(ui_display_t *disp, ui_color_t *xcolor, u_int fade_ratio) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; ui_get_xcolor_rgba(&red, &green, &blue, &alpha, xcolor); #if 0 bl_msg_printf("Fading R%d G%d B%d => ", red, green, blue); #endif red = (red * fade_ratio) / 100; green = (green * fade_ratio) / 100; blue = (blue * fade_ratio) / 100; ui_unload_xcolor(disp, xcolor); #if 0 bl_msg_printf("R%d G%d B%d\n", red, green, blue); #endif return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } mlterm-3.8.4/uitoolkit/xlib/ui_type_loader.c010064400017600000144000000040711321054731200176550ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_type_loader.h" #ifndef NO_DYNAMIC_LOAD_TYPE #include /* NULL */ #include #include #ifndef LIBDIR #define TYPELIB_DIR "/usr/local/lib/mlterm/" #else #define TYPELIB_DIR LIBDIR "/mlterm/" #endif /* --- global functions --- */ void *ui_load_type_xft_func(ui_type_id_t id) { static void **func_table; static int is_tried; if (!is_tried) { bl_dl_handle_t handle; is_tried = 1; if ((!(handle = bl_dl_open(TYPELIB_DIR, "type_xft")) && !(handle = bl_dl_open("", "type_xft")))) { bl_error_printf("xft: Could not load.\n"); return NULL; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Loading libtype_xft.so\n"); #endif bl_dl_close_at_exit(handle); func_table = bl_dl_func_symbol(handle, "ui_type_xft_func_table"); if ((u_int32_t)func_table[TYPE_API_COMPAT_CHECK] != TYPE_API_COMPAT_CHECK_MAGIC) { bl_dl_close(handle); func_table = NULL; bl_error_printf("Incompatible type engine API.\n"); return NULL; } } if (func_table) { return func_table[id]; } else { return NULL; } } void *ui_load_type_cairo_func(ui_type_id_t id) { static void **func_table; static int is_tried; if (!is_tried) { bl_dl_handle_t handle; is_tried = 1; if ((!(handle = bl_dl_open(TYPELIB_DIR, "type_cairo")) && !(handle = bl_dl_open("", "type_cairo")))) { bl_error_printf("cairo: Could not load.\n"); return NULL; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Loading libtype_cairo.so\n"); #endif bl_dl_close_at_exit(handle); func_table = bl_dl_func_symbol(handle, "ui_type_cairo_func_table"); if ((u_int32_t)func_table[TYPE_API_COMPAT_CHECK] != TYPE_API_COMPAT_CHECK_MAGIC) { bl_dl_close(handle); func_table = NULL; bl_error_printf("Incompatible type engine API.\n"); return NULL; } } if (func_table) { return func_table[id]; } else { return NULL; } } #endif /* NO_DYNAMIC_LOAD_TYPE */ mlterm-3.8.4/uitoolkit/xlib/ui_display.h010064400017600000144000000004311321054731200170140ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include "../ui_display.h" Cursor ui_display_get_cursor(ui_display_t *disp, u_int shape); XVisualInfo *ui_display_get_visual_info(ui_display_t *disp); #endif mlterm-3.8.4/uitoolkit/xlib/ui_font.c010064400017600000144000001107611321054731200163200ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_font.h" #include #include /* bl_snprintf */ #include /* alloca */ #include /* bl_str_sep/bl_str_to_int/memset/strncasecmp */ #include /* DIGIT_STR_LEN/K_MIN */ #include /* bl_get_lang() */ #include #include #include /* vt_is_msb_set */ #include "ui_type_loader.h" #include "ui_decsp_font.h" #define FOREACH_FONT_ENCODINGS(csinfo, font_encoding_p) \ for ((font_encoding_p) = (csinfo)->encoding_names; \ (font_encoding_p) < \ (csinfo)->encoding_names + \ sizeof((csinfo)->encoding_names) / sizeof((csinfo)->encoding_names[0]) && \ *(font_encoding_p); \ (font_encoding_p)++) #define DIVIDE_ROUNDING(a, b) (((int)((a)*10 + (b)*5)) / ((int)((b)*10))) #define DIVIDE_ROUNDINGUP(a, b) (((int)((a)*10 + (b)*10 - 1)) / ((int)((b)*10))) #if 0 #define __DEBUG #endif typedef struct cs_info { ef_charset_t cs; /* default encodings. */ char *encoding_names[2]; } cs_info_t; /* --- static variables --- */ /* * If this table is changed, ui_font_config.c:cs_table and * mc_font.c:cs_info_table * shoule be also changed. */ static cs_info_t cs_info_table[] = { { ISO10646_UCS4_1, { "iso10646-1", NULL, }, }, { DEC_SPECIAL, { "iso8859-1", NULL, }, }, { ISO8859_1_R, { "iso8859-1", NULL, }, }, { ISO8859_2_R, { "iso8859-2", NULL, }, }, { ISO8859_3_R, { "iso8859-3", NULL, }, }, { ISO8859_4_R, { "iso8859-4", NULL, }, }, { ISO8859_5_R, { "iso8859-5", NULL, }, }, { ISO8859_6_R, { "iso8859-6", NULL, }, }, { ISO8859_7_R, { "iso8859-7", NULL, }, }, { ISO8859_8_R, { "iso8859-8", NULL, }, }, { ISO8859_9_R, { "iso8859-9", NULL, }, }, { ISO8859_10_R, { "iso8859-10", NULL, }, }, { TIS620_2533, { "tis620.2533-1", "tis620.2529-1", }, }, { ISO8859_13_R, { "iso8859-13", NULL, }, }, { ISO8859_14_R, { "iso8859-14", NULL, }, }, { ISO8859_15_R, { "iso8859-15", NULL, }, }, { ISO8859_16_R, { "iso8859-16", NULL, }, }, /* * XXX * The encoding of TCVN font is iso8859-1 , and its font family is * .VnTime or .VnTimeH ... * How to deal with it ? */ { TCVN5712_3_1993, { NULL, NULL, }, }, { ISCII_ASSAMESE, { NULL, NULL, }, }, { ISCII_BENGALI, { NULL, NULL, }, }, { ISCII_GUJARATI, { NULL, NULL, }, }, { ISCII_HINDI, { NULL, NULL, }, }, { ISCII_KANNADA, { NULL, NULL, }, }, { ISCII_MALAYALAM, { NULL, NULL, }, }, { ISCII_ORIYA, { NULL, NULL, }, }, { ISCII_PUNJABI, { NULL, NULL, }, }, { ISCII_TAMIL, { NULL, NULL, }, }, { ISCII_TELUGU, { NULL, NULL, }, }, { VISCII, { "viscii-1", NULL, }, }, { KOI8_R, { "koi8-r", NULL, }, }, { KOI8_U, { "koi8-u", NULL, }, }, #if 0 /* * XXX * KOI8_T, GEORGIAN_PS and CP125X charset can be shown by unicode font only. */ { KOI8_T, { NULL, NULL, }, }, { GEORGIAN_PS, { NULL, NULL, }, }, { CP1250, { NULL, NULL, }, }, { CP1251, { NULL, NULL, }, }, { CP1252, { NULL, NULL, }, }, { CP1253, { NULL, NULL, }, }, { CP1254, { NULL, NULL, }, }, { CP1255, { NULL, NULL, }, }, { CP1256, { NULL, NULL, }, }, { CP1257, { NULL, NULL, }, }, { CP1258, { NULL, NULL, }, }, { CP874, { NULL, NULL, }, }, #endif { JISX0201_KATA, { "jisx0201.1976-0", NULL, }, }, { JISX0201_ROMAN, { "jisx0201.1976-0", NULL, }, }, { JISC6226_1978, { "jisx0208.1978-0", "jisx0208.1983-0", }, }, { JISX0208_1983, { "jisx0208.1983-0", "jisx0208.1990-0", }, }, { JISX0208_1990, { "jisx0208.1990-0", "jisx0208.1983-0", }, }, { JISX0212_1990, { "jisx0212.1990-0", NULL, }, }, { JISX0213_2000_1, { "jisx0213.2000-1", "jisx0208.1983-0", }, }, { JISX0213_2000_2, { "jisx0213.2000-2", NULL, }, }, { KSC5601_1987, { "ksc5601.1987-0", "ksx1001.1997-0", }, }, #if 0 /* * XXX * UHC and JOHAB fonts are not used at the present time. * see vt_vt100_parser.c:vt_parse_vt100_sequence(). */ { UHC, { NULL, NULL, }, }, { JOHAB, { "johabsh-1", /* "johabs-1" , */ "johab-1", }, }, #endif { GB2312_80, { "gb2312.1980-0", NULL, }, }, { GBK, { "gbk-0", NULL, }, }, { BIG5, { "big5.eten-0", "big5.hku-0", }, }, { HKSCS, { "big5hkscs-0", "big5-0", }, }, { CNS11643_1992_1, { "cns11643.1992-1", "cns11643.1992.1-0", }, }, { CNS11643_1992_2, { "cns11643.1992-2", "cns11643.1992.2-0", }, }, { CNS11643_1992_3, { "cns11643.1992-3", "cns11643.1992.3-0", }, }, { CNS11643_1992_4, { "cns11643.1992-4", "cns11643.1992.4-0", }, }, { CNS11643_1992_5, { "cns11643.1992-5", "cns11643.1992.5-0", }, }, { CNS11643_1992_6, { "cns11643.1992-6", "cns11643.1992.6-0", }, }, { CNS11643_1992_7, { "cns11643.1992-7", "cns11643.1992.7-0", }, }, }; static int compose_dec_special_font; static int use_point_size_for_fc; static double dpi_for_fc; /* --- static functions --- */ static cs_info_t *get_cs_info(ef_charset_t cs) { int count; for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_t); count++) { if (cs_info_table[count].cs == cs) { return &cs_info_table[count]; } } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " not supported cs(%x).\n", cs); #endif return NULL; } #if !defined(NO_DYNAMIC_LOAD_TYPE) static void xft_unset_font(ui_font_t *font) { void (*func)(ui_font_t *); if (!(func = ui_load_type_xft_func(UI_UNSET_FONT))) { return; } (*func)(font); } #elif defined(USE_TYPE_XFT) void xft_unset_font(ui_font_t *font); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) static void cairo_unset_font(ui_font_t *font) { void (*func)(ui_font_t *); if (!(func = ui_load_type_cairo_func(UI_UNSET_FONT))) { return; } (*func)(font); } #elif defined(USE_TYPE_CAIRO) void cairo_unset_font(ui_font_t *font); #endif static int set_decsp_font(ui_font_t *font) { /* * freeing font->xfont or font->xft_font */ #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (font->xft_font) { xft_unset_font(font); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (font->cairo_font) { cairo_unset_font(font); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) if (font->xfont) { XFreeFont(font->display, font->xfont); font->xfont = NULL; } #endif if ((font->decsp_font = ui_decsp_font_new(font->display, font->width, font->height, font->ascent)) == NULL) { return 0; } /* decsp_font is impossible to draw double with. */ font->double_draw_gap = 0; /* decsp_font is always fixed pitch. */ font->is_proportional = 0; return 1; } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) static u_int xcore_calculate_char_width(Display *display, XFontStruct *xfont, u_int32_t ch) { int width; if (ch < 0x100) { u_char c; c = ch; width = XTextWidth(xfont, &c, 1); } else { XChar2b c[2]; width = XTextWidth16(xfont, c, ui_convert_ucs4_to_utf16(c, ch) / 2); } if (width < 0) { /* Some (indic) fonts could return minus value as text width. */ return 0; } else { return width; } } static int parse_xfont_name(char **font_xlfd, char **percent, /* NULL can be returned. */ char *font_name /* Don't specify NULL. Broken in this function */ ) { /* * XFont format. * [Font XLFD](:[Percentage]) */ /* bl_str_sep() never returns NULL because font_name isn't NULL. */ *font_xlfd = bl_str_sep(&font_name, ":"); /* may be NULL */ *percent = font_name; return 1; } static XFontStruct *load_xfont(Display *display, const char *family, const char *weight, const char *slant, const char *width, u_int fontsize, const char *spacing, const char *encoding) { XFontStruct *xfont; char *fontname; size_t max_len; /* "+ 20" means the num of '-' , '*'(19byte) and null chars. */ max_len = 3 /* gnu */ + strlen(family) + 7 /* unifont */ + strlen(weight) + strlen(slant) + strlen(width) + 2 /* lang */ + DIGIT_STR_LEN(fontsize) + strlen(spacing) + strlen(encoding) + 20; if ((fontname = alloca(max_len)) == NULL) { return NULL; } bl_snprintf(fontname, max_len, "-*-%s-%s-%s-%s--%d-*-*-*-%s-*-%s", family, weight, slant, width, fontsize, spacing, encoding); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " loading %s.\n", fontname); #endif if ((xfont = XLoadQueryFont(display, fontname))) { return xfont; } if (strcmp(encoding, "iso10646-1") == 0 && strcmp(family, "biwidth") == 0) { /* XFree86 Unicode font */ bl_snprintf(fontname, max_len, "-*-*-%s-%s-%s-%s-%d-*-*-*-%s-*-%s", weight, slant, width, bl_get_lang(), fontsize, spacing, encoding); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " loading %s.\n", fontname); #endif if ((xfont = XLoadQueryFont(display, fontname))) { return xfont; } if (strcmp(bl_get_lang(), "ja") != 0) { bl_snprintf(fontname, max_len, "-*-*-%s-%s-%s-ja-%d-*-*-*-%s-*-%s", weight, slant, width, fontsize, spacing, encoding); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " loading %s.\n", fontname); #endif if ((xfont = XLoadQueryFont(display, fontname))) { return xfont; } } /* GNU Unifont */ bl_snprintf(fontname, max_len, "-gnu-unifont-%s-%s-%s--%d-*-*-*-%s-*-%s", weight, slant, width, fontsize, spacing, encoding); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " loading %s.\n", fontname); #endif return XLoadQueryFont(display, fontname); } else { return NULL; } } static int xcore_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, /* if usascii font wants to be set , 0 will be set */ int use_medium_for_bold, u_int letter_space) { XFontStruct *xfont; u_int cols; char *weight; char *slant; char *width; char *family; cs_info_t *csinfo; char **font_encoding_p; u_int percent; int count; int num_spacings; char *spacings[] = {"c", "m", "p"}; if ((csinfo = get_cs_info(FONT_CS(font->id))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " get_cs_info(cs %x(id %x)) failed.\n", FONT_CS(font->id), font->id); #endif return 0; } if (fontname) { char *p; char *font_xlfd; char *percent_str; if ((p = bl_str_alloca_dup(fontname)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } if (parse_xfont_name(&font_xlfd, &percent_str, p)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " loading %s font (%s percent).\n", font_xlfd, percent_str); #endif while (1) { if (!(xfont = XLoadQueryFont(font->display, font_xlfd))) { char *xlfd; if ((xlfd = bl_str_replace(font_xlfd, "-bold-", "-medium-"))) { xfont = XLoadQueryFont(font->display, xlfd); free(xlfd); } if (!xfont) { bl_msg_printf("Font %s couldn't be loaded.\n", font_xlfd); break; } font->double_draw_gap = 1; } else { font->double_draw_gap = use_medium_for_bold; } if (percent_str == NULL || !bl_str_to_uint(&percent, percent_str)) { percent = 0; } goto font_found; } } } /* * searching apropriate font by using font info. */ #ifdef __DEBUG bl_debug_printf("font for id %x will be loaded.\n", font->id); #endif font->double_draw_gap = 0; percent = 0; if (font->id & FONT_BOLD) { weight = "bold"; } else { weight = "medium"; } if (font->id & FONT_ITALIC) { slant = "i"; } else { slant = "r"; } width = "normal"; if ((font->id & FONT_FULLWIDTH) && (FONT_CS(font->id) == ISO10646_UCS4_1)) { family = "biwidth"; num_spacings = sizeof(spacings) / sizeof(spacings[0]); } else { family = "fixed"; num_spacings = 1; } for (count = 0;; count++) { FOREACH_FONT_ENCODINGS(csinfo, font_encoding_p) { int idx; for (idx = 0; idx < num_spacings; idx++) { if ((xfont = load_xfont(font->display, family, weight, slant, width, fontsize, spacings[idx], *font_encoding_p))) { goto font_found; } } } if (count == 0) { width = "*"; family = "*"; num_spacings = sizeof(spacings) / sizeof(spacings[0]); } else if (count == 1) { slant = "*"; } else if (count == 2) { weight = "*"; if (font->id & FONT_BOLD) { /* no bold font is found. */ font->double_draw_gap = 1; } } else { break; } } return 0; font_found: font->xfont = xfont; font->height = xfont->ascent + xfont->descent; font->ascent = xfont->ascent; /* * calculating actual font glyph width. */ font->is_proportional = 0; font->width = xfont->max_bounds.width; if (xfont->max_bounds.width != xfont->min_bounds.width) { if (FONT_CS(font->id) == ISO10646_UCS4_1 || FONT_CS(font->id) == TIS620_2533) { if (font->id & FONT_FULLWIDTH) { /* * XXX * At the present time , all full width unicode fonts * (which may include both half width and full width * glyphs) are regarded as fixed. * Since I don't know what chars to be compared to * determine font proportion and width. */ } else { /* * XXX * A font including combining (0-width) glyphs or both half and * full width glyphs. * In this case , whether the font is proportional or not * cannot be determined by comparing min_bounds and max_bounds, * so if `i' and `W' chars have different width , the font is * regarded as proportional (and `W' width is used as font->width). */ u_int w_width; u_int i_width; if ((w_width = xcore_calculate_char_width(font->display, font->xfont, 'W')) == 0) { font->is_proportional = 1; } else if ((i_width = xcore_calculate_char_width(font->display, font->xfont, 'i')) == 0 || w_width != i_width) { font->is_proportional = 1; font->width = w_width; } else { font->width = w_width; } } } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " max font width(%d) and min one(%d) are mismatched.\n", xfont->max_bounds.width, xfont->min_bounds.width); #endif font->is_proportional = 1; } } font->x_off = 0; if (font->id & FONT_FULLWIDTH) { cols = 2; } else { cols = 1; } if (col_width == 0) { /* standard(usascii) font */ if (percent > 0) { u_int ch_width; if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width = DIVIDE_ROUNDING(fontsize * percent, 100); } else { ch_width = DIVIDE_ROUNDING(fontsize * percent, 200); } if (font->width != ch_width) { font->is_proportional = 1; if (!font->is_var_col_width && font->width < ch_width) { /* * If width(2) of '1' doesn't match ch_width(4) * x_off = (4-2)/2 = 1. * It means that starting position of drawing '1' is 1 * as follows. * * 0123 * +----+ * | ** | * | * | * | * | * +----+ */ font->x_off = (ch_width - font->width) / 2; } font->width = ch_width; } } else if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ font->is_proportional = 1; font->x_off = font->width / 2; font->width *= 2; } /* letter_space is ignored in variable column width mode. */ if (!font->is_var_col_width && letter_space > 0) { font->is_proportional = 1; font->width += letter_space; font->x_off += (letter_space / 2); } } else { /* not a standard(usascii) font */ /* * XXX hack * forcibly conforming non standard font width to standard font width. */ if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ if (font->width != col_width) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, col_width); font->is_proportional = 1; /* is_var_col_width is always false if is_vertical is true. */ if (/* ! font->is_var_col_width && */ font->width < col_width) { font->x_off = (col_width - font->width) / 2; } font->width = col_width; } } else { if (font->width != col_width * cols) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, col_width * cols); font->is_proportional = 1; if (!font->is_var_col_width && font->width < col_width * cols) { font->x_off = (col_width * cols - font->width) / 2; } font->width = col_width * cols; } } } /* * checking if font width/height/ascent member is sane. */ if (font->width == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " font width is 0.\n"); #endif font->is_proportional = 1; /* XXX this may be inaccurate. */ font->width = DIVIDE_ROUNDINGUP(fontsize * cols, 2); } if (font->height == 0) { /* XXX this may be inaccurate. */ font->height = fontsize; } if (font->ascent == 0) { /* XXX this may be inaccurate. */ font->ascent = fontsize; } /* * set_decsp_font() is called after dummy font is loaded to get font metrics. * Since dummy font encoding is "iso8859-1", loading rarely fails. */ if (compose_dec_special_font && FONT_CS(font->id) == DEC_SPECIAL) { return set_decsp_font(font); } return 1; } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) static u_int xft_calculate_char_width(ui_font_t *font, u_int32_t ch /* US-ASCII or Unicode */ ) { int (*func)(ui_font_t *, u_int32_t); if (!(func = ui_load_type_xft_func(UI_CALCULATE_CHAR_WIDTH))) { return 0; } return (*func)(font, ch); } static int xft_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, /* if usascii font wants to be set , 0 will be set. */ u_int letter_space, int aa_opt, /* 0 = default , 1 = enable , -1 = disable */ int use_point_size_for_fc, double dpi_for_fc) { int (*func)(ui_font_t *, const char *, u_int, u_int, u_int, int, int, double); if (!(func = ui_load_type_xft_func(UI_SET_FONT))) { return 0; } return (*func)(font, fontname, fontsize, col_width, letter_space, aa_opt, use_point_size_for_fc, dpi_for_fc); } static int xft_set_ot_font(ui_font_t *font) { int (*func)(ui_font_t *); if (!(func = ui_load_type_xft_func(UI_SET_OT_FONT))) { return 0; } return (*func)(font); } static u_int xft_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { int (*func)(ui_font_t *, u_int32_t *, u_int, int8_t *, u_int8_t *, u_int32_t *, u_int32_t *, u_int, const char *, const char *); if (!(func = ui_load_type_xft_func(UI_CONVERT_TEXT_TO_GLYPHS))) { return 0; } return (*func)(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features); } #elif defined(USE_TYPE_XFT) u_int xft_calculate_char_width(ui_font_t *font, u_int32_t ch); int xft_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, u_int letter_space, int aa_opt, int use_point_size_for_fc, double dpi_for_fc); int xft_set_ot_font(ui_font_t *font); #define xft_convert_text_to_glyphs(font, shaped, shaped_len, offsets, widths, cmapped, src, \ src_len, script, features) \ ft_convert_text_to_glyphs(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, \ script, features) u_int ft_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, int8_t *, u_int8_t *, u_int shaped_len, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) static u_int cairo_calculate_char_width(ui_font_t *font, u_int32_t ch /* US-ASCII or Unicode */ ) { int (*func)(ui_font_t *, u_int32_t); if (!(func = ui_load_type_cairo_func(UI_CALCULATE_CHAR_WIDTH))) { return 0; } return (*func)(font, ch); } static int cairo_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, /* if usascii font wants to be set , 0 will be set. */ u_int letter_space, int aa_opt, /* 0 = default , 1 = enable , -1 = disable */ int use_point_size_for_fc, double dpi_for_fc) { int (*func)(ui_font_t *, const char *, u_int, u_int, u_int, int, int, double); if (!(func = ui_load_type_cairo_func(UI_SET_FONT))) { return 0; } return (*func)(font, fontname, fontsize, col_width, letter_space, aa_opt, use_point_size_for_fc, dpi_for_fc); } static int cairo_set_ot_font(ui_font_t *font) { int (*func)(ui_font_t *); if (!(func = ui_load_type_cairo_func(UI_SET_OT_FONT))) { return 0; } return (*func)(font); } static u_int cairo_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { int (*func)(ui_font_t *, u_int32_t *, u_int, int8_t *, u_int8_t *, u_int32_t *, u_int32_t *, u_int, const char *, const char *); if (!(func = ui_load_type_cairo_func(UI_CONVERT_TEXT_TO_GLYPHS))) { return 0; } return (*func)(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features); } #elif defined(USE_TYPE_CAIRO) u_int cairo_calculate_char_width(ui_font_t *font, u_int32_t ch); int cairo_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, u_int letter_space, int aa_opt, int use_point_size_for_fc, double dpi_for_fc); int cairo_set_ot_font(ui_font_t *font); #define cairo_convert_text_to_glyphs(font, shaped, shaped_len, offsets, widths, cmapped, src, \ src_len, script, features) \ ft_convert_text_to_glyphs(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, \ script, features) #ifndef USE_TYPE_XFT u_int ft_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, int8_t *offsets, u_int8_t *widths, u_int shaped_len, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features); #endif #endif static u_int calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (font->xft_font) { if (cs != US_ASCII && !IS_ISCII(cs)) { if (!(ch = ui_convert_to_xft_ucs4(ch, cs))) { return 0; } } return xft_calculate_char_width(font, ch); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (font->cairo_font) { if (cs != US_ASCII && !IS_ISCII(cs)) { if (!(ch = ui_convert_to_xft_ucs4(ch, cs))) { return 0; } } return cairo_calculate_char_width(font, ch); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) if (font->xfont) { return xcore_calculate_char_width(font->display, font->xfont, ch); } #endif #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " couldn't calculate correct font width.\n"); #endif return 0; } /* --- global functions --- */ void ui_compose_dec_special_font(void) { compose_dec_special_font = 1; } ui_font_t *ui_font_new( Display *display, vt_font_t id, int size_attr, ui_type_engine_t type_engine, ui_font_present_t font_present, /* FONT_VAR_WIDTH is never set if FONT_VERTICAL is set. */ const char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold, u_int letter_space /* ignored in variable column width mode. */ ) { ui_font_t *font; if ((font = calloc(1, sizeof(ui_font_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } font->display = display; font->id = id; if (font_present & FONT_VAR_WIDTH) { font->is_var_col_width = 1; } else if (IS_ISCII(FONT_CS(font->id))) { /* * For exampe, 'W' width and 'l' width of OR-TTSarala font for ISCII_ORIYA * are the same by chance, though it is actually a proportional font. */ font->is_var_col_width = font->is_proportional = 1; } if (font_present & FONT_VERTICAL) { font->is_vertical = 1; } if (size_attr >= DOUBLE_HEIGHT_TOP) { fontsize *= 2; col_width *= 2; } switch (type_engine) { default: return NULL; #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) case TYPE_XFT: if (!xft_set_font(font, fontname, fontsize, col_width, letter_space, (font_present & FONT_AA) == FONT_AA ? 1 : ((font_present & FONT_NOAA) == FONT_NOAA ? -1 : 0), use_point_size_for_fc, dpi_for_fc)) { free(font); return NULL; } break; #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) case TYPE_CAIRO: if (!cairo_set_font(font, fontname, fontsize, col_width, letter_space, (font_present & FONT_AA) == FONT_AA ? 1 : ((font_present & FONT_NOAA) == FONT_NOAA ? -1 : 0), use_point_size_for_fc, dpi_for_fc)) { free(font); return NULL; } break; #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) case TYPE_XCORE: if (font_present & FONT_AA) { return NULL; } else if (!xcore_set_font(font, fontname, fontsize, col_width, use_medium_for_bold, letter_space)) { if (size_attr >= DOUBLE_HEIGHT_TOP && xcore_set_font(font, fontname, fontsize / 2, col_width, use_medium_for_bold, letter_space)) { goto end; } free(font); return NULL; } goto end; #endif } /* * set_decsp_font() is called after dummy xft/cairo font is loaded to get font * metrics. * Since dummy font encoding is "iso8859-1", loading rarely fails. */ /* XXX dec specials must always be composed for now */ if (/* compose_dec_special_font && */ FONT_CS(font->id) == DEC_SPECIAL) { set_decsp_font(font); } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) end: #endif if (size_attr == DOUBLE_WIDTH) { if (type_engine == TYPE_CAIRO) { font->x_off *= 2; } else { font->x_off += (font->width / 2); font->is_proportional = 1; font->is_var_col_width = 0; } font->width *= 2; } font->size_attr = size_attr; if (font->is_proportional && !font->is_var_col_width) { bl_msg_printf("Characters (cs %x) are drawn *one by one *to arrange column width.\n", FONT_CS(font->id)); } #ifdef DEBUG ui_font_dump(font); #endif return font; } void ui_font_delete(ui_font_t *font) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (font->xft_font) { xft_unset_font(font); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (font->cairo_font) { cairo_unset_font(font); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) if (font->xfont) { XFreeFont(font->display, font->xfont); font->xfont = NULL; } #endif if (font->decsp_font) { ui_decsp_font_delete(font->decsp_font, font->display); font->decsp_font = NULL; } free(font); } u_int ui_calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs, int *draw_alone) { if (draw_alone) { *draw_alone = 0; } if (font->is_proportional) { if (font->is_var_col_width) { /* Returned value can be 0 if iscii font is used. */ return calculate_char_width(font, ch, cs); } if (draw_alone) { *draw_alone = 1; } } else if (draw_alone && cs == ISO10646_UCS4_1 /* ISO10646_UCS4_1_V is always proportional */ #ifdef USE_OT_LAYOUT && (!font->use_ot_layout /* || ! font->ot_font */) #endif ) { if (((ef_get_ucs_property(ch) & EF_AWIDTH) || /* * The width of U+2590 and U+2591 is narrow in EastAsianWidth-6.3.0 * but the glyphs in GNU Unifont are full-width unexpectedly. */ ch == 0x2590 || ch == 0x2591)) { if (calculate_char_width(font, ch, cs) != font->width) { *draw_alone = 1; } } } return font->width; } char **ui_font_get_encoding_names(ef_charset_t cs) { cs_info_t *info; if ((info = get_cs_info(cs))) { return info->encoding_names; } else { return NULL; } } void ui_font_use_point_size(int use) { use_point_size_for_fc = use; } int ui_font_has_ot_layout_table(ui_font_t *font) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (font->cairo_font) { #ifdef USE_OT_LAYOUT if (!font->ot_font) { if (font->ot_font_not_found || !cairo_set_ot_font(font)) { return 0; } } #endif return 1; } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (font->xft_font) { #ifdef USE_OT_LAYOUT if (!font->ot_font) { if (font->ot_font_not_found || !xft_set_ot_font(font)) { return 0; } } #endif return 1; } #endif return 0; } u_int ui_convert_text_to_glyphs(ui_font_t *font, /* always has ot_font */ u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (font->cairo_font) { return cairo_convert_text_to_glyphs(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (font->xft_font) { return xft_convert_text_to_glyphs(font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features); } #endif return 0; } /* For mlterm-libvte */ void ui_font_set_dpi_for_fc(double dpi) { dpi_for_fc = dpi; } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) static int use_cp932_ucs_for_xft = 0; static u_int32_t convert_to_ucs4(u_int32_t ch, ef_charset_t cs) { if (IS_ISO10646_UCS4(cs) /* || cs == ISO10646_UCS2_1 */) { return ch; } else { ef_char_t non_ucs; ef_char_t ucs4; non_ucs.size = CS_SIZE(cs); non_ucs.property = 0; non_ucs.cs = cs; ef_int_to_bytes(non_ucs.ch, non_ucs.size, ch); if (vt_is_msb_set(cs)) { u_int count; for (count = 0; count < non_ucs.size; count++) { non_ucs.ch[count] &= 0x7f; } } if (ef_map_to_ucs4(&ucs4, &non_ucs)) { return ef_char_to_int(&ucs4); } else { return 0; } } } void ui_use_cp932_ucs_for_xft(void) { use_cp932_ucs_for_xft = 1; } /* * used only for xft or cairo. */ u_int32_t ui_convert_to_xft_ucs4(u_int32_t ch, ef_charset_t cs /* US_ASCII and ISO8859_1_R is not accepted */ ) { if (cs == US_ASCII || cs == ISO8859_1_R) { return 0; } else if (use_cp932_ucs_for_xft && cs == JISX0208_1983) { if (ch == 0x2140) { return 0xff3c; } else if (ch == 0x2141) { return 0xff5e; } else if (ch == 0x2142) { return 0x2225; } else if (ch == 0x215d) { return 0xff0d; } else if (ch == 0x2171) { return 0xffe0; } else if (ch == 0x2172) { return 0xffe1; } else if (ch == 0x224c) { return 0xffe2; } } return convert_to_ucs4(ch, cs); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) /* Return written size */ size_t ui_convert_ucs4_to_utf16(u_char *dst, /* 4 bytes. Big endian. */ u_int32_t src) { #if 0 bl_debug_printf(BL_DEBUG_TAG "%.8x => ", src); #endif if (src < 0x10000) { dst[0] = (src >> 8) & 0xff; dst[1] = src & 0xff; return 2; } else if (src < 0x110000) { /* surrogate pair */ u_char c; src -= 0x10000; c = (u_char)(src / (0x100 * 0x400)); src -= (c * 0x100 * 0x400); dst[0] = c + 0xd8; c = (u_char)(src / 0x400); src -= (c * 0x400); dst[1] = c; c = (u_char)(src / 0x100); src -= (c * 0x100); dst[2] = c + 0xdc; dst[3] = (u_char)src; #if 0 bl_msg_printf("%.2x%.2x%.2x%.2x\n", dst[0], dst[1], dst[2], dst[3]); #endif return 4; } return 0; } #endif #ifdef DEBUG void ui_font_dump(ui_font_t *font) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) bl_msg_printf("Font id %x: XFont %p ", font->id, font->xfont); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) bl_msg_printf("Font id %x: XftFont %p ", font->id, font->xft_font); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) bl_msg_printf("Font id %x: CairoFont %p ", font->id, font->cairo_font); #endif bl_msg_printf("(width %d, height %d, ascent %d, x_off %d, gap %d)", font->width, font->height, font->ascent, font->x_off, font->double_draw_gap); if (font->is_proportional) { bl_msg_printf(" (proportional)"); } if (font->is_var_col_width) { bl_msg_printf(" (var col width)"); } if (font->is_vertical) { bl_msg_printf(" (vertical)"); } if (font->double_draw_gap) { bl_msg_printf(" (double drawing)"); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/uitoolkit/xlib/ui_display.c010064400017600000144000000323561321054731200170220ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_display.h" #include /* memset/memcpy */ #include #include #include /* strdup */ #include /* bl_file_set_cloexec */ #include #include "../ui_window.h" #include "../ui_picture.h" #include "../ui_imagelib.h" #include "ui_xim.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static u_int num_displays; static ui_display_t **displays; static int (*default_error_handler)(Display *, XErrorEvent *); /* --- static functions --- */ #ifdef __DEBUG static int error_handler(Display *display, XErrorEvent *event) { char buffer[1024]; XGetErrorText(display, event->error_code, buffer, 1024); bl_msg_printf("%s\n", buffer); abort(); return 1; } static int ioerror_handler(Display *display) { bl_error_printf("X IO Error.\n"); abort(); return 1; } #else /* __DEBUG */ static int error_handler(Display *display, XErrorEvent *event) { /* * If is included for 'X_OpenFont', typedef of BOOL and INT32 * is conflicted in (included from and * (included from ). */ if (event->error_code == 2 /* BadValue */ && event->request_code == 45 /* X_OpenFont */) { /* * XXX Hack * If BadValue error happens in XLoad(Query)Font function, * mlterm doesn't stop. */ bl_msg_printf("XLoad(Query)Font failed.\n"); /* ignored anyway */ return 0; } else if (default_error_handler) { return (*default_error_handler)(display, event); } else { exit(1); return 1; } } #endif #ifdef USE_ALERT_DIALOG #define LINESPACE 20 #define BEGENDSPACE 20 static int dialog_cb(bl_dialog_style_t style, const char *msg) { Display *display; int screen; Window window; GC gc; XFontStruct *font; u_int width; u_int height; u_int len; char title[] = "** Warning **"; if (style != BL_DIALOG_ALERT) { return -1; } len = strlen(msg); if (!(display = XOpenDisplay(""))) { return -1; } screen = DefaultScreen(display); gc = DefaultGC(display, screen); if (!(font = XLoadQueryFont(display, "-*-r-normal--*-*-*-*-c-*-iso8859-1"))) { XCloseDisplay(display); return -1; } XSetFont(display, gc, font->fid); width = font->max_bounds.width * K_MAX(len, sizeof(title) - 1) + BEGENDSPACE; height = (font->ascent + font->descent) * 2 + LINESPACE; if (!(window = XCreateSimpleWindow(display, DefaultRootWindow(display), (DisplayWidth(display, screen) - width) / 2, (DisplayHeight(display, screen) - height) / 2, width, height, 0, BlackPixel(display, screen), WhitePixel(display, screen)))) { XFreeFont(display, font); XCloseDisplay(display); return -1; } /* * Not only ButtonReleaseMask but also ButtonPressMask is necessary to * receive ButtonRelease event correctly. */ XSelectInput(display, window, KeyReleaseMask|ButtonPressMask|ButtonReleaseMask|ExposureMask|StructureNotifyMask); XMapWindow(display, window); while (1) { XEvent ev; XWindowEvent(display, window, KeyReleaseMask|ButtonPressMask|ButtonReleaseMask|ExposureMask|StructureNotifyMask, &ev); if (ev.type == KeyRelease || ev.type == ButtonRelease || ev.type == ClientMessage) { break; } else if (ev.type == Expose) { XDrawString(display, window, gc, BEGENDSPACE / 2, font->ascent + LINESPACE / 2, title, sizeof(title) - 1); XDrawString(display, window, gc, BEGENDSPACE / 2, font->ascent * 2 + font->descent + LINESPACE / 2, msg, len); } else if (ev.type == MapNotify) { XSetInputFocus(display, window, RevertToPointerRoot, CurrentTime); } } XDestroyWindow(display, window); XFreeFont(display, font); XCloseDisplay(display); return 1; } #endif static ui_display_t *open_display(char *name, u_int depth) { ui_display_t *disp; XVisualInfo vinfo; if ((disp = calloc(1, sizeof(ui_display_t))) == NULL) { return NULL; } if ((disp->display = XOpenDisplay(name)) == NULL) { bl_error_printf("Couldn't open display %s.\n", name); goto error1; } /* set close-on-exec flag on the socket connected to X. */ bl_file_set_cloexec(XConnectionNumber(disp->display)); disp->name = DisplayString(disp->display); disp->screen = DefaultScreen(disp->display); disp->my_window = DefaultRootWindow(disp->display); disp->width = DisplayWidth(disp->display, disp->screen); disp->height = DisplayHeight(disp->display, disp->screen); if (depth && XMatchVisualInfo(disp->display, disp->screen, depth, TrueColor, &vinfo) && vinfo.visual != DefaultVisual(disp->display, disp->screen)) { XSetWindowAttributes s_attr; Window win; disp->depth = depth; disp->visual = vinfo.visual; disp->colormap = XCreateColormap(disp->display, disp->my_window, vinfo.visual, AllocNone); s_attr.background_pixel = BlackPixel(disp->display, disp->screen); s_attr.border_pixel = BlackPixel(disp->display, disp->screen); s_attr.colormap = disp->colormap; win = XCreateWindow(disp->display, disp->my_window, 0, 0, 1, 1, 0, disp->depth, InputOutput, disp->visual, CWColormap | CWBackPixel | CWBorderPixel, &s_attr); if ((disp->gc = ui_gc_new(disp->display, win)) == NULL) { goto error2; } XDestroyWindow(disp->display, win); } else { disp->depth = DefaultDepth(disp->display, disp->screen); disp->visual = DefaultVisual(disp->display, disp->screen); disp->colormap = DefaultColormap(disp->display, disp->screen); if ((disp->gc = ui_gc_new(disp->display, None)) == NULL) { goto error2; } } disp->modmap.map = XGetModifierMapping(disp->display); default_error_handler = XSetErrorHandler(error_handler); #ifdef __DEBUG XSetIOErrorHandler(ioerror_handler); XSynchronize(disp->display, True); #endif ui_xim_display_opened(disp->display); ui_picture_display_opened(disp->display); #ifdef DEBUG bl_debug_printf("X connection opened.\n"); #endif return disp; error2: XCloseDisplay(disp->display); error1: free(disp); return NULL; } static void close_display(ui_display_t *disp) { u_int count; ui_gc_delete(disp->gc); if (disp->modmap.map) { XFreeModifiermap(disp->modmap.map); } for (count = 0; count < (sizeof(disp->cursors) / sizeof(disp->cursors[0])); count++) { if (disp->cursors[count]) { XFreeCursor(disp->display, disp->cursors[count]); } } for (count = 0; count < disp->num_roots; count++) { ui_window_unmap(disp->roots[count]); ui_window_final(disp->roots[count]); } free(disp->roots); ui_xim_display_closed(disp->display); ui_picture_display_closed(disp->display); XCloseDisplay(disp->display); free(disp); } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, u_int depth) { int count; ui_display_t *disp; void *p; for (count = 0; count < num_displays; count++) { if (strcmp(displays[count]->name, disp_name) == 0) { return displays[count]; } } #ifdef USE_ALERT_DIALOG /* Callback should be set before bl_dialog() is called. */ bl_dialog_set_callback(dialog_cb); #endif if ((disp = open_display(disp_name, depth)) == NULL) { return NULL; } if ((p = realloc(displays, sizeof(ui_display_t *) * (num_displays + 1))) == NULL) { ui_display_close(disp); return NULL; } displays = p; displays[num_displays++] = disp; return disp; } void ui_display_close(ui_display_t *disp) { u_int count; for (count = 0; count < num_displays; count++) { if (displays[count] == disp) { close_display(displays[count]); displays[count] = displays[--num_displays]; #ifdef DEBUG bl_debug_printf("X connection closed.\n"); #endif return; } } } void ui_display_close_all(void) { while (num_displays > 0) { close_display(displays[--num_displays]); } free(displays); displays = NULL; } ui_display_t **ui_get_opened_displays(u_int *num) { *num = num_displays; return displays; } int ui_display_fd(ui_display_t *disp) { return XConnectionNumber(disp->display); } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window) { void *p; if ((p = realloc(disp->roots, sizeof(ui_window_t *) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; if (parent_window) { root->parent_window = parent_window; } else { root->parent_window = disp->my_window; } root->gc = disp->gc; root->x = x; root->y = y; if (app_name) { root->app_name = app_name; } /* * root is added to disp->roots before ui_window_show() because * ui_display_get_group_leader() is called in ui_window_show(). */ disp->roots[disp->num_roots++] = root; ui_window_show(root, hint); return 1; } int ui_window_reset_group(ui_window_t *win); /* defined in xlib/ui_window.c */ int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { /* Don't switching on or off screen in exiting. */ ui_window_unmap(root); ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; } else { disp->roots[count] = disp->roots[disp->num_roots]; if (count == 0) { /* Group leader is changed. */ #if 0 bl_debug_printf(BL_DEBUG_TAG " Changing group_leader -> %x\n", disp->roots[0]->my_window); #endif for (count = 0; count < disp->num_roots; count++) { ui_window_reset_group(disp->roots[count]); } } } return 1; } } return 0; } void ui_display_idling(ui_display_t *disp) { int count; for (count = 0; count < disp->num_roots; count++) { ui_window_idling(disp->roots[count]); } } int ui_display_receive_next_event(ui_display_t *disp) { XEvent event; int count; do { XNextEvent(disp->display, &event); if (!XFilterEvent(&event, None)) { for (count = 0; count < disp->num_roots; count++) { ui_window_receive_event(disp->roots[count], &event); } } } while (XEventsQueued(disp->display, QueuedAfterReading)); return 1; } void ui_display_sync(ui_display_t *disp) { if (XEventsQueued(disp->display, QueuedAlready)) { ui_display_receive_next_event(disp); } XFlush(disp->display); } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { if (disp->selection_owner) { ui_display_clear_selection(disp, disp->selection_owner); } disp->selection_owner = win; return 1; } int ui_display_clear_selection(ui_display_t *disp, /* NULL means all selection owner windows. */ ui_window_t *win) { if (disp == NULL) { u_int count; for (count = 0; count < num_displays; count++) { ui_display_clear_selection(displays[count], displays[count]->selection_owner); } return 1; } if (disp->selection_owner == NULL || disp->selection_owner != win) { return 0; } if (disp->selection_owner->selection_cleared) { (*disp->selection_owner->selection_cleared)(disp->selection_owner); } disp->selection_owner = NULL; return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) { if (serial != disp->modmap.serial) { if (disp->modmap.map) { XFreeModifiermap(disp->modmap.map); } disp->modmap.map = XGetModifierMapping(disp->display); disp->modmap.serial = serial; } } Cursor ui_display_get_cursor(ui_display_t *disp, u_int shape) { int idx; /* * XXX * cursor[0] == XC_xterm / cursor[1] == XC_left_ptr / cursor[2] == XC_nil * Mlterm uses only these shapes. */ if (shape == XC_xterm) { idx = 0; } else if (shape == XC_left_ptr) { idx = 1; } else if (shape == XC_nil) { idx = 2; } else { return None; } if (!disp->cursors[idx]) { if (idx == 2) { XFontStruct *font; XColor dummy; if (!(font = XLoadQueryFont(disp->display, "nil2"))) { return None; } disp->cursors[idx] = XCreateGlyphCursor(disp->display, font->fid, font->fid, 'X', ' ', &dummy, &dummy); XFreeFont(disp->display, font); } else { disp->cursors[idx] = XCreateFontCursor(disp->display, shape); } } return disp->cursors[idx]; } XVisualInfo *ui_display_get_visual_info(ui_display_t *disp) { XVisualInfo vinfo_template; int nitems; vinfo_template.visualid = XVisualIDFromVisual(disp->visual); /* Return pointer to the first element of VisualInfo list. */ return XGetVisualInfo(disp->display, VisualIDMask, &vinfo_template, &nitems); } XID ui_display_get_group_leader(ui_display_t *disp) { if (disp->num_roots > 0) { return disp->roots[0]->my_window; } else { return None; } } mlterm-3.8.4/uitoolkit/xlib/ui_dnd.c010064400017600000144000000546161321054731200161250ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /** @file * @brief X Drag and Drop protocol support */ #ifndef DISABLE_XDND #include "../ui_window.h" #include "../ui_dnd.h" #include #include #include #include #include #include #include #include #if 0 #define SELF_TEST #endif #define SUCCESS 0 #define FAILURE -1 /* XXX: should we cache this atom for decrease round-trip? */ #define XA_DND_STORE(display) (XInternAtom(display, "MLTERM_DND", False)) /* following define should be consistent with the counterpart in ui_window.c */ #define XA_INCR(display) (XInternAtom(display, "INCR", False)) /* For now, we need a pointer to this structure in the ui_window_t * to keep track of DND. It should be removed someday ...*/ typedef struct ui_dnd_context { Window source; Atom waiting_atom; int is_incr; ef_parser_t *parser; ef_conv_t *conv; Atom action; } ui_dnd_context_t; typedef struct dnd_parser { char *atomname; int (*parser)(ui_window_t *, u_char *, int); } dnd_parser_t; #ifdef BL_DEBUG static void TEST_dnd(ui_display_t *disp); #endif /********************** parsers **********************************/ /* XXX: to properly support DnD spec v5, parsers should accept "codeset"*/ static int parse_text_unicode(ui_window_t *win, u_char *src, int len) { int filled_len; ef_parser_t *parser; ef_conv_t *conv; u_char conv_buf[512] = {0}; if (!(win->utf_selection_notified)) return FAILURE; if ((conv = win->dnd->conv) && (parser = win->dnd->parser) && (win->dnd->is_incr)) { if (len == 0) { /* the incr session was finished */ (conv->delete)(conv); win->dnd->conv = NULL; (parser->delete)(parser); win->dnd->parser = NULL; #ifdef DEBUG bl_debug_printf("freed parser/converter\n"); #endif return SUCCESS; } #ifdef DEBUG bl_debug_printf("recycling parser/converter %d, %p, %p\n", win->dnd->is_incr, conv, parser); #endif } else { if (win->dnd->conv) (win->dnd->conv->delete)(win->dnd->conv); if (win->dnd->parser) (win->dnd->parser->delete)(win->dnd->parser); if (!(conv = ef_utf8_conv_new())) return FAILURE; if (!(parser = ef_utf16_parser_new())) { (conv->delete)(conv); return FAILURE; } /* initialize the parser's endian. */ (parser->init)(parser); if ((src[0] == 0xFF || src[0] == 0xFE) && (src[1] == 0xFF || src[1] == 0xFE) && (src[0] != src[1])) { /* src sequence seems to have a valid BOM and * * should initialize parser correctly */ } else { /* try to set parser state depending on your machine's endianess by sending BOM */ /* XXX: it's not spec comformant and someteime fails */ u_int16_t BOM[] = {0xFEFF}; (parser->set_str)(parser, (u_char *)BOM, 2); (parser->next_char)(parser, NULL); } } (parser->set_str)(parser, src, len); /* conversion from utf16 -> utf8. */ while (!parser->is_eos) { filled_len = (conv->convert)(conv, conv_buf, sizeof(conv_buf), parser); if (filled_len == 0) break; (*win->utf_selection_notified)(win, conv_buf, filled_len); } if (win->dnd->is_incr) { /* keep pointers to parser/converter to use them for next event */ win->dnd->parser = parser; win->dnd->conv = conv; } else { (conv->delete)(conv); win->dnd->conv = NULL; (parser->delete)(parser); win->dnd->parser = NULL; } return SUCCESS; } static void unescape(u_char *src) { u_char *dst; int c; dst = src; while (*src) { if (*src == '%' && sscanf(src, "%%%2x", &c) == 1) { *(dst++) = c; src += 3; } else { *(dst++) = *(src++); } } *dst = '\0'; } static int parse_text_uri_list(ui_window_t *win, u_char *src, int len) { u_char *pos; u_char *end; if (len <= 0) return FAILURE; pos = src; end = src + len; while (pos < end) { u_char *delim; /* * According to RFC, 0x0d is the delimiter. */ if ((delim = strchr(pos, 0x0d))) { *delim++ = '\0'; } else { delim = end; } if (pos + 7 < end && strncmp((char *)pos, "file://", 7) == 0) { /* * Skip "file:". * But if pos == 'file://'(with no trailing bytes), not skipped * by checking pos + 7 < end because it doesn't conform to * "file://..." format. */ pos += 7; } unescape(pos); /* XdndActionMove == Shift+DnD */ if (win->dnd->action == XInternAtom(win->disp->display, "XdndActionMove", False) && win->set_xdnd_config) { (*win->set_xdnd_config)(win, NULL, "scp", pos); } else if (win->utf_selection_notified) { (*win->utf_selection_notified)(win, pos, strlen(pos)); } else { return FAILURE; } /* skip trailing 0x0A */ pos = delim + 1; } return SUCCESS; } static int parse_compound_text(ui_window_t *win, u_char *src, int len) { if (!(win->xct_selection_notified)) return FAILURE; (*win->xct_selection_notified)(win, src, len); return SUCCESS; } static int parse_utf8_string(ui_window_t *win, u_char *src, int len) { if (!(win->utf_selection_notified)) return FAILURE; (*win->utf_selection_notified)(win, src, len); return SUCCESS; } static int parse_mlterm_config(ui_window_t *win, u_char *src, int len) { char *value; if (len <= 0) return FAILURE; if (!(win->set_xdnd_config)) return FAILURE; value = strchr((char *)src, '='); if (!value) return FAILURE; *value = 0; #ifdef DEBUG bl_debug_printf("conf key %s val %s\n", src, value); #endif (*win->set_xdnd_config)(win, NULL, /* dev */ (char *)src, /* key */ value + 1 /* value */); return SUCCESS; } static int parse_app_color(ui_window_t *win, u_char *src, int len) { u_int16_t *r, *g, *b; u_char buffer[25]; r = (u_int16_t *)src; g = r + 1; b = r + 2; sprintf((char *)buffer, "bg_color=#%02x%02x%02x", (*r) >> 8, (*g) >> 8, (*b) >> 8); #ifdef DEBUG bl_debug_printf("bgcolor: %s\n", buffer); #endif parse_mlterm_config(win, buffer, strlen(buffer)); return SUCCESS; } static int parse_prop_bgimage(ui_window_t *win, u_char *src, int len) { char *head; char tail; if (len <= 0) return FAILURE; if (!(win->set_xdnd_config)) return FAILURE; tail = src[len - 1]; src[len - 1] = 0; if ((head = strstr((char *)src, "file://"))) { /* format should be file:/// */ memmove(src, head + 7, len - 6 - ((char *)src - head)); src[strlen((char *)src)] = tail; src[strlen((char *)src)] = 0; if (!(head = strstr((char *)src, "/"))) return FAILURE; /* and should be localhost and safely ignored.*/ src = (u_char *)head; /* remove trailing garbage */ if ((head = strstr((char *)src, "\r"))) *head = 0; if ((head = strstr((char *)src, "\n"))) *head = 0; } else { /* other schemas (like "http" --call wget?) may be supported here */ } #ifdef DEBUG bl_debug_printf("bgimage: %s\n", src); #endif (*win->set_xdnd_config)(win, NULL, /* dev */ "wall_picture", /* key */ (char *)src /* value */); return SUCCESS; } #ifdef DEBUG static int parse_debug(ui_window_t *win, u_char *src, int len) { int i; bl_debug_printf(">%s<\n", (char *)src); for (i = 0; (i < 100) && (i < len); i++) bl_debug_printf("\n%d %x", i, src[i]); return SUCCESS; } #endif /* new mime type and parser pair should be added into this table */ static dnd_parser_t dnd_parsers[] = {{"text/x-mlterm.config", parse_mlterm_config}, {"UTF8_STRING", parse_utf8_string}, {"COMPOUND_TEXT", parse_compound_text}, {"TEXT", parse_utf8_string}, {"application/x-color", parse_app_color}, {"property/bgimage", parse_prop_bgimage}, {"x-special/gnome-reset-background", parse_prop_bgimage}, {"text/uri-list", parse_text_uri_list}, {"text/unicode", parse_text_unicode}, {"text/plain", parse_utf8_string}, /* nobody would use following... {"GIMP_PATTERN" , parse_utf8_string } , {"GIMP_BRUSH" , parse_utf8_string } , {"GIMP_GRADIENT" , parse_utf8_string } , {"GIMP_IMAGEFILE" , parse_utf8_string } , */ {NULL, NULL}}; /************************** static functions *************************/ static int ignore_badwin(Display *display, XErrorEvent *event) { char buffer[1024]; XGetErrorText(display, event->error_code, buffer, 1024); bl_error_printf("%s\n", buffer); switch (event->error_code) { case BadWindow: return 1; default: abort(); /* Not reached. */ return 0; } } static void set_badwin_handler(int flag) { static XErrorHandler old; if (flag) { if (!old) old = XSetErrorHandler(ignore_badwin); } else { if (old) { XSetErrorHandler(old); old = NULL; } } } static int finalize_context(ui_window_t *win) { if (!(win->dnd)) return FAILURE; if (win->dnd->conv) (win->dnd->conv->delete)(win->dnd->conv); if (win->dnd->parser) (win->dnd->parser->delete)(win->dnd->parser); free(win->dnd); win->dnd = NULL; return SUCCESS; } /* seek atom array and return the index */ static int is_pref(Atom type, Atom *atom_list, int num) { int i; for (i = 0; i < num; i++) if (atom_list[i] == type) return i; return FAILURE; } /**send a accept/reject message to the dnd sender *\param win mlterm window */ static void reply(ui_window_t *win) { XClientMessageEvent msg; msg.type = ClientMessage; msg.display = win->disp->display; msg.format = 32; msg.window = win->dnd->source; msg.message_type = XInternAtom(win->disp->display, "XdndStatus", False); msg.data.l[0] = win->my_window; if (win->dnd->waiting_atom) { msg.data.l[1] = 0x1 | 0x2; /* accept the drop | use [2][3] */ msg.data.l[2] = 0; msg.data.l[3] = 0; msg.data.l[4] = win->dnd->action; } else { msg.data.l[1] = 0; msg.data.l[2] = 0; msg.data.l[3] = 0; msg.data.l[4] = 0; } set_badwin_handler(1); XSendEvent(win->disp->display, msg.window, False, 0, (XEvent *)&msg); set_badwin_handler(0); } /**send finish message to dnd sender *\param win mlterm window */ static int finish(ui_window_t *win) { XClientMessageEvent msg; if (!(win->dnd)) return FAILURE; if (!(win->dnd->source)) return FAILURE; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "saying good bye\n"); #endif msg.message_type = XInternAtom(win->disp->display, "XdndFinished", False); msg.data.l[0] = win->my_window; /* setting bit 0 means success */ msg.data.l[1] = 1; msg.data.l[2] = win->dnd->action; msg.type = ClientMessage; msg.format = 32; msg.window = win->dnd->source; msg.display = win->disp->display; set_badwin_handler(1); XSendEvent(win->disp->display, win->dnd->source, False, 0, (XEvent *)&msg); set_badwin_handler(0); win->dnd->source = 0; return SUCCESS; } /**parse dnd data and send them to the pty *\param win mlterm window *\param atom type of data *\param src data from dnd (src is prop_return of XGetWindowProperty() which *always allocated * one extra byte in prop_return and sets it to zero. So src[len] is always *NULL.) *\param len size of data in bytes */ static int parse(ui_window_t *win, u_char *src, int len) { dnd_parser_t *proc_entry; if (!src) return FAILURE; if (!(win->dnd)) return FAILURE; if (!(win->dnd->waiting_atom)) return FAILURE; for (proc_entry = dnd_parsers; proc_entry->atomname; proc_entry++) { if ((win->dnd->waiting_atom) == XInternAtom(win->disp->display, proc_entry->atomname, False)) break; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "processing as %s\n", proc_entry->atomname); #endif if (proc_entry->parser) return (proc_entry->parser)(win, src, len); return FAILURE; } /* i is used as an index for an array of atom. * i = -1 means "nothing" * * returned value is the atom found and NOT THE INDEX * and 0 means "nothing" */ static Atom choose_atom(ui_window_t *win, Atom *atom_list, int num) { dnd_parser_t *proc_entry; int i; #ifdef DEBUG char *atom_name; for (i = 0; i < num; i++) { if (!atom_list[i]) break; atom_name = XGetAtomName(win->disp->display, atom_list[i]); if (atom_name) { bl_debug_printf(BL_DEBUG_TAG "candidate #%d: %s\n", i, atom_name); XFree(atom_name); } } #endif i = -1; for (proc_entry = dnd_parsers; i < 0 && proc_entry->atomname; proc_entry++) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "ckecking against : %s\n", proc_entry->atomname); #endif i = is_pref(XInternAtom(win->disp->display, proc_entry->atomname, False), atom_list, num); } if (i < 0) return (Atom)0; /* 0 would never be used for Atom */ #ifdef DEBUG atom_name = XGetAtomName(win->disp->display, atom_list[i]); if (atom_name) { bl_debug_printf(BL_DEBUG_TAG "accepted: %s(%d)\n", atom_name, atom_list[i]); XFree(atom_name); } #endif return atom_list[i]; } /**set/reset the window's dnd awareness *\param win mlterm window *\param flag awareness is set when true */ static void awareness(ui_window_t *win, int version) { set_badwin_handler(1); XChangeProperty(win->disp->display, win->my_window, XInternAtom(win->disp->display, "XdndAware", False), XA_ATOM, 32, PropModeReplace, (u_char *)(&version), 1); set_badwin_handler(0); } static int enter(ui_window_t *win, XEvent *event) { Atom to_wait; /* more than 3 type is available? */ if (event->xclient.data.l[1] & 0x01) { Atom act_type; int act_format; unsigned long nitems, left; Atom *dat; int result; set_badwin_handler(1); result = XGetWindowProperty(win->disp->display, event->xclient.data.l[0], XInternAtom(win->disp->display, "XdndTypeList", False), 0L, 1024L, False, XA_ATOM, &act_type, &act_format, &nitems, &left, (u_char **)(&dat)); set_badwin_handler(0); if (result != Success) return FAILURE; if (act_type != None) { to_wait = choose_atom(win, dat, nitems); } else { to_wait = None; } XFree(dat); } else { /* less than 3 candidates */ to_wait = choose_atom(win, (Atom *)(event->xclient.data.l + 2), 3); } if (!(to_wait)) { finalize_context(win); return FAILURE; } if (!win->dnd && !(win->dnd = calloc(1, sizeof(ui_dnd_context_t)))) { return FAILURE; } win->dnd->source = event->xclient.data.l[0]; win->dnd->waiting_atom = to_wait; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "choosed atom:%d on %p\n", to_wait, win->dnd); #endif return SUCCESS; } static int position(ui_window_t *win, XEvent *event) { if (!(win->dnd)) return FAILURE; if (win->dnd->source != event->xclient.data.l[0]) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "WID mismatched.\n"); #endif finalize_context(win); return FAILURE; } win->dnd->action = event->xclient.data.l[4]; reply(win); return SUCCESS; } static int drop(ui_window_t *win, XEvent *event) { if (!(win->dnd)) return FAILURE; if (win->dnd->source != event->xclient.data.l[0]) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "WID mismatched.\n"); #endif finalize_context(win); return FAILURE; } /* data request */ set_badwin_handler(1); XConvertSelection(win->disp->display, XInternAtom(win->disp->display, "XdndSelection", False), win->dnd->waiting_atom, /* mime type */ XA_DND_STORE(win->disp->display), win->my_window, event->xclient.data.l[2]); set_badwin_handler(0); return SUCCESS; } static int incr(ui_window_t *win, XEvent *event) { u_long bytes_after; XTextProperty ct; int result; if (!(win->dnd)) return FAILURE; /* remember that it's an incremental transfer */ win->dnd->is_incr = 1; /* dummy read to determine data length */ set_badwin_handler(1); result = XGetWindowProperty(win->disp->display, event->xproperty.window, event->xproperty.atom, 0, 0, False, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value); set_badwin_handler(0); if (result != Success) return FAILURE; /* ignore when ct.encoding != XA_INCR */ if (ct.encoding != XA_INCR(win->disp->display)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "ignored.\n"); #endif if (ct.value) XFree(ct.value); return FAILURE; } set_badwin_handler(1); result = XGetWindowProperty(win->disp->display, event->xproperty.window, event->xproperty.atom, 0, bytes_after, False, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value); set_badwin_handler(0); if (result != Success) return FAILURE; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "INCR: %d\n", ct.nitems); #endif /* * (man XGetWindowProperty) * XGetWindowProperty always allocates one extra byte in prop_return (even * if the property is zero length) and sets it to zero so that simple * properties consisting of characters do not have to be copied into yet * another string before use. */ parse(win, ct.value, ct.nitems); if (ct.nitems == 0) { /* all data have been received */ #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "terminating.\n"); #endif finish(win); finalize_context(win); } if (ct.value) XFree(ct.value); /* This delete will trigger the next update*/ set_badwin_handler(1); XDeleteProperty(win->disp->display, event->xproperty.window, event->xproperty.atom); set_badwin_handler(0); return SUCCESS; } static int selection(ui_window_t *win, XEvent *event) { u_long bytes_after; XTextProperty ct; int seg = 0; int result; if (!(win->dnd)) return FAILURE; /* dummy read to determine data length */ set_badwin_handler(1); result = XGetWindowProperty(win->disp->display, event->xselection.requestor, event->xselection.property, 0, 0, False, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value); set_badwin_handler(0); if (result != Success) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "couldn't get property. \n"); #endif finalize_context(win); return FAILURE; } if (ct.value) XFree(ct.value); if (ct.encoding == XA_INCR(win->disp->display)) return SUCCESS; while (bytes_after > 0) { set_badwin_handler(1); result = XGetWindowProperty(win->disp->display, event->xselection.requestor, event->xselection.property, seg / 4, 4096, False, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value); set_badwin_handler(0); if (result != Success) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "couldn't get property. \n"); #endif finalize_context(win); return FAILURE; } parse(win, ct.value, ct.nitems); XFree(ct.value); seg += ct.nitems; } finish(win); finalize_context(win); return SUCCESS; } /*****************************************************************************/ /* XFilterEvent(event, w) analogue */ /* return 0 if the event should be processed in the mlterm mail loop */ /* return 1 if nothing to be done is left for the event */ int ui_dnd_filter_event(XEvent *event, ui_window_t *win) { BL_TESTIT_ONCE(dnd, (win->disp)); switch (event->type) { /* case CreateNotify:*/ case MapNotify: /* CreateNotifyEvent seems to be lost somewhere... */ awareness(win, 5); return 0; case SelectionNotify: if (event->xselection.property != XA_DND_STORE(win->disp->display)) return 0; selection(win, event); set_badwin_handler(1); XDeleteProperty(win->disp->display, event->xselection.requestor, event->xselection.property); set_badwin_handler(0); break; case ClientMessage: if (event->xclient.message_type == XInternAtom(win->disp->display, "XdndEnter", False)) { enter(win, event); } else if (event->xclient.message_type == XInternAtom(win->disp->display, "XdndPosition", False)) { position(win, event); } else if (event->xclient.message_type == XInternAtom(win->disp->display, "XdndDrop", False)) { drop(win, event); } else if (event->xclient.data.l[0] == (XInternAtom(win->disp->display, "WM_DELETE_WINDOW", False))) { finalize_context(win); /* the event should also be processed in main loop */ return 0; } else { return 0; } break; case PropertyNotify: if (event->xproperty.atom != XA_DND_STORE(win->disp->display)) return 0; if (event->xproperty.state == PropertyDelete) { /* ignore delete notify */ return 1; } incr(win, event); break; case DestroyNotify: finalize_context(win); return 0; default: return 0; } /* the event was processed. mlterm main loop don't have to know about it*/ return 1; } #ifdef BL_DEBUG #include static void TEST_parse_text_uri_list_utf_selection_notified(ui_window_t *win, u_char *data, size_t len) { static int count; u_char *urls[] = { "http://hoge.com/foo.bar", "http://abcdefg", "/hijklmn", }; data[len] = '\0'; assert(strcmp(urls[count], data) == 0); count++; } static void TEST_parse_text_uri_list(ui_display_t *disp) { ui_window_t win; ui_dnd_context_t dnd; u_char *urls[] = { "http://hoge.com/foo.bar", "http://abcdefg\r\nfile:///hijklmn", }; u_char buf[100]; int count; memset(&win, 0, sizeof(win)); /* disp is used in l.231: XInternAtom( win->disp->display, "XdndActionMove", * False) */ win.disp = disp; win.utf_selection_notified = TEST_parse_text_uri_list_utf_selection_notified; memset(&dnd, 0, sizeof(dnd)); win.dnd = &dnd; for (count = 0; count < sizeof(urls) / sizeof(urls[0]); count++) { strcpy(buf, urls[count]); parse_text_uri_list(&win, buf, strlen(urls[count])); } } static void TEST_dnd(ui_display_t *disp) { TEST_parse_text_uri_list(disp); } #endif #endif /* DISABLE_XDND */ mlterm-3.8.4/uitoolkit/xlib/ui_gc.c010064400017600000144000000041111321054731200157320ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_gc.h" #include /* malloc */ #include "../ui_color.h" /* --- global functions --- */ ui_gc_t *ui_gc_new(Display *display, Drawable drawable) { ui_gc_t *gc; XGCValues gc_value; if ((gc = calloc(1, sizeof(ui_gc_t))) == NULL) { return NULL; } gc->display = display; if (drawable) { /* Default value of GC. */ gc->fg_color = 0xff000000; gc->bg_color = 0xffffffff; /* Overwriting default value (1) of backgrond and foreground colors. */ gc_value.foreground = gc->fg_color; gc_value.background = gc->bg_color; gc_value.graphics_exposures = True; gc->gc = XCreateGC(gc->display, drawable, GCForeground | GCBackground | GCGraphicsExposures, &gc_value); } else { gc->gc = DefaultGC(display, DefaultScreen(display)); XGetGCValues(display, gc->gc, GCForeground | GCBackground, &gc_value); gc->fg_color = gc_value.foreground; gc->bg_color = gc_value.background; } return gc; } void ui_gc_delete(ui_gc_t *gc) { if ((gc->gc != DefaultGC(gc->display, DefaultScreen(gc->display)))) { XFreeGC(gc->display, gc->gc); } free(gc); } void ui_gc_set_fg_color(ui_gc_t *gc, u_long fg_color) { /* Cooperate with ui_window_copy_area(). */ if (gc->mask) { XSetClipMask(gc->display, gc->gc, None); gc->mask = None; } if (fg_color != gc->fg_color) { XSetForeground(gc->display, gc->gc, fg_color); gc->fg_color = fg_color; } } void ui_gc_set_bg_color(ui_gc_t *gc, u_long bg_color) { /* Cooperate with ui_window_copy_area(). */ if (gc->mask) { XSetClipMask(gc->display, gc->gc, None); gc->mask = None; } if (bg_color != gc->bg_color) { XSetBackground(gc->display, gc->gc, bg_color); gc->bg_color = bg_color; } } void ui_gc_set_fid(ui_gc_t *gc, Font fid) { /* XXX Lazy skip (maybe harmless) */ #if 0 if (gc->mask) { XSetClipMask(gc->display, gc->gc, None); gc->mask = None; } #endif if (gc->fid != fid) { XSetFont(gc->display, gc->gc, fid); gc->fid = fid; } } mlterm-3.8.4/uitoolkit/xlib/ui_window.c010064400017600000144000002732601321054731200166650ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * Functions designed and implemented by Minami Hirokazu(minami@mistfall.net) * are: * - XDND support * - Extended Window Manager Hint(Icon) support */ #include "../ui_window.h" #include /* abs */ #include /* memset/memcpy */ #include /* for XSizeHints */ #include #include #include /* realloc/free */ #include /* K_MAX */ #include /* bl_usleep */ #include /* bl_get_codeset() */ #include "../ui_xic.h" #include "../ui_picture.h" #ifndef DISABLE_XDND #include "../ui_dnd.h" #endif #include "ui_type_loader.h" #include "ui_display.h" /* ui_display_get_cursor */ #include "ui_decsp_font.h" /* * Atom macros. * Not cached because Atom may differ on each display */ #define XA_CLIPBOARD(display) (XInternAtom(display, "CLIPBOARD", False)) #define XA_COMPOUND_TEXT(display) (XInternAtom(display, "COMPOUND_TEXT", False)) #define XA_TARGETS(display) (XInternAtom(display, "TARGETS", False)) #ifdef DEBUG #define XA_MULTIPLE(display) (XInternAtom(display, "MULTIPLE", False)) #endif #define XA_TEXT(display) (XInternAtom(display, "TEXT", False)) #define XA_UTF8_STRING(display) (XInternAtom(display, "UTF8_STRING", False)) #define XA_BMP(display) (XInternAtom(display, "image/bmp", False)) #define XA_NONE(display) (XInternAtom(display, "NONE", False)) #define XA_SELECTION(display) (XInternAtom(display, "MLTERM_SELECTION", False)) #define XA_DELETE_WINDOW(display) (XInternAtom(display, "WM_DELETE_WINDOW", False)) #define XA_TAKE_FOCUS(display) (XInternAtom(display, "WM_TAKE_FOCUS", False)) #define XA_INCR(display) (XInternAtom(display, "INCR", False)) #define XA_XROOTPMAP_ID(display) (XInternAtom(display, "_XROOTPMAP_ID", False)) #define XA_XSETROOT_ID(display) (XInternAtom(display, "_XSETROOT_ID", False)) #define XA_WM_CLIENT_LEADER(display) (XInternAtom(display, "WM_CLIENT_LEADER", False)) /* * Extended Window Manager Hint support */ #define XA_NET_WM_ICON(display) (XInternAtom(display, "_NET_WM_ICON", False)) /* * Motif Window Manager Hint (for borderless window) */ #define XA_MWM_INFO(display) (XInternAtom(display, "_MOTIF_WM_INFO", True)) #define XA_MWM_HINTS(display) (XInternAtom(display, "_MOTIF_WM_HINTS", True)) #define IS_INHERIT_TRANSPARENT(win) \ (use_inherit_transparent && ui_picture_modifier_is_normal((win)->pic_mod)) /* win->width is not multiples of (win)->width_inc if window is maximized. */ #define RIGHT_MARGIN(win) \ ((win)->width_inc ? ((win)->width - (win)->min_width) % (win)->width_inc : 0) #define BOTTOM_MARGIN(win) \ ((win)->height_inc ? ((win)->height - (win)->min_height) % (win)->height_inc : 0) typedef struct { u_int32_t flags; u_int32_t functions; u_int32_t decorations; int32_t inputMode; u_int32_t status; } MWMHints_t; #define MWM_HINTS_DECORATIONS (1L << 1) #define MAX_CLICK 3 /* max is triple click */ #define restore_fg_color(win) ui_gc_set_fg_color((win)->gc, (win)->fg_color.pixel) #define restore_bg_color(win) ui_gc_set_bg_color((win)->gc, (win)->bg_color.pixel) #if 0 #define __DEBUG #endif /* --- static variables --- */ static int click_interval = 250; /* millisecond, same as xterm. */ /* ParentRelative isn't used for transparency by default */ static int use_inherit_transparent = 0; static int use_clipboard = 1; static int use_urgent_bell = 0; static struct { u_int8_t h_type[2]; u_int8_t h_size[4]; u_int8_t h_res1[2]; u_int8_t h_res2[2]; u_int8_t h_offbits[4]; u_int8_t i_size[4]; u_int8_t i_width[4]; u_int8_t i_height[4]; u_int8_t i_planes[2]; u_int8_t i_bitcount[2]; u_int8_t i_compression[4]; u_int8_t i_sizeimage[4]; u_int8_t i_xpelspermeter[4]; u_int8_t i_ypelspermeter[4]; u_int8_t i_clrused[4]; u_int8_t i_clrimportant[4]; u_char data[1]; } * sel_bmp; static size_t sel_bmp_size; /* --- static functions --- */ static int locale_is_utf8(void) { char *p = bl_get_codeset(); if ((*(p++) & ~0x20) == 'U' && (*(p++) & ~0x20) == 'T' && (*(p++) & ~0x20) == 'F' && p[(*p == '-' || *p == '_')] == '8') { return 1; } else { return 0; } } static void urgent_bell(ui_window_t *win, int on) { if (use_urgent_bell && (!win->is_focused || !on)) { #ifndef XUrgencyHint #define XUrgencyHint (1L << 8) /* not defined in X11R5 */ #endif XWMHints *hints; win = ui_get_root_window(win); if ((hints = XGetWMHints(win->disp->display, win->my_window))) { if (on) { hints->flags |= XUrgencyHint; } else { hints->flags &= ~XUrgencyHint; } XSetWMHints(win->disp->display, win->my_window, hints); XFree(hints); } } } static void clear_margin_area(ui_window_t *win) { u_int right_margin; u_int bottom_margin; right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); if (win->hmargin > 0) { XClearArea(win->disp->display, win->my_window, 0, 0, win->hmargin, ACTUAL_HEIGHT(win), 0); } if (win->hmargin + right_margin > 0) { XClearArea(win->disp->display, win->my_window, win->width - right_margin + win->hmargin, 0, win->hmargin + right_margin, ACTUAL_HEIGHT(win), 0); } if (win->vmargin > 0) { XClearArea(win->disp->display, win->my_window, win->hmargin, 0, win->width - right_margin, win->vmargin, 0); } if (win->vmargin + bottom_margin > 0) { XClearArea(win->disp->display, win->my_window, win->hmargin, win->height - bottom_margin + win->vmargin, win->width - right_margin, win->vmargin + bottom_margin, 0); } } /* Only used for set_transparent|update_modified_transparent */ static int set_transparent_picture(ui_window_t *win, Pixmap pixmap) { /* * !! Notice !! * This must be done before ui_window_set_wall_picture() because * ui_window_set_wall_picture() doesn't do anything if is_transparent * flag is on. */ win->is_transparent = 0; if (!ui_window_set_wall_picture(win, pixmap, 1)) { win->pic_mod = NULL; return 0; } win->is_transparent = 1; return 1; } /* Only used for set_transparent */ static int update_transparent_picture(ui_window_t *win) { ui_picture_t *pic; if (!(pic = ui_acquire_bg_picture(win, win->pic_mod, "root"))) { goto error1; } if (!set_transparent_picture(win, pic->pixmap)) { goto error2; } ui_release_picture(pic); return 1; error2: ui_release_picture(pic); error1: win->is_transparent = 0; /* win->pic_mod = NULL is done in set_transparent. */ return 0; } static int unset_transparent(ui_window_t *win) { /* * XXX * If previous mode is not modified transparent, * ParentRelative mode of parent windows should be unset. */ /* * !! Notice !! * this must be done before ui_window_unset_wall_picture() because * ui_window_unset_wall_picture() doesn't do anything if is_transparent * flag is on. */ win->is_transparent = 0; win->pic_mod = NULL; return ui_window_unset_wall_picture(win, 1); } static int set_transparent(ui_window_t *win) { Window parent; if (!IS_INHERIT_TRANSPARENT(win)) { /* * XXX * If previous mode is not modified transparent, * ParentRelative mode of parent windows should be unset. */ /* win->is_transparent is set appropriately in update_transparent_picture(). */ if (update_transparent_picture(win)) { return 1; } else { bl_msg_printf( "_XROOTPMAP_ID is not found." " Trying ParentRelative for transparency instead.\n"); if (!ui_picture_modifier_is_normal(win->pic_mod)) { bl_msg_printf( "(brightness, contrast, gamma and alpha " "options are ignored)\n"); win->pic_mod = NULL; } use_inherit_transparent = 1; } } /* * It is not necessary to set ParentRelative more than once, so * this function should be used as follows. * if( ! IS_INHERIT_TRANSPARENT(win) || ! win->wall_picture_is_set) * { * set_transparent( win) ; * } */ /* * Root - Window A - Window C * - Window B - Window D * - Window E * If Window C is set_transparent(), C -> A -> Root are set ParentRelative. * Window B,D and E are not set ParentRelative. */ while (win->parent) { /* win->is_transparent is set appropriately in set_transparent() */ set_transparent_picture(win, ParentRelative); win = win->parent; } set_transparent_picture(win, ParentRelative); parent = win->my_window; while (1) { Window root; Window *list; u_int n; XWindowAttributes attr; if (!XQueryTree(win->disp->display, parent, &root, &parent, &list, &n)) { break; } XFree(list); if (!parent || parent == root) { break; } if (XGetWindowAttributes(win->disp->display, parent, &attr) && attr.depth == win->disp->depth) { XSetWindowBackgroundPixmap(win->disp->display, parent, ParentRelative); } else { break; } } return 1; } static void notify_focus_in_to_children(ui_window_t *win) { u_int count; if (!win->is_focused && win->inputtable > 0) { win->is_focused = 1; if (win->window_focused) { (*win->window_focused)(win); } ui_xic_set_focus(win); } for (count = 0; count < win->num_children; count++) { notify_focus_in_to_children(win->children[count]); } } static void notify_focus_out_to_children(ui_window_t *win) { u_int count; if (win->is_focused) { win->is_focused = 0; if (win->window_unfocused) { (*win->window_unfocused)(win); } ui_xic_unset_focus(win); } for (count = 0; count < win->num_children; count++) { notify_focus_out_to_children(win->children[count]); } } static void notify_configure_to_children(ui_window_t *win) { u_int count; if (win->is_transparent) { if (!IS_INHERIT_TRANSPARENT(win) || !win->wall_picture_is_set) { #ifdef __DEBUG bl_debug_printf("configure notify for transparency\n"); #endif set_transparent(win); } else if (win->window_exposed) { clear_margin_area(win); (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { clear_margin_area(win); ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { notify_configure_to_children(win->children[count]); } } static void notify_reparent_to_children(ui_window_t *win) { u_int count; if (win->is_transparent) { /* Parent window is changed. => Reset transparent. */ #ifdef __DEBUG bl_debug_printf("reparent notify for transparency\n"); #endif set_transparent(win); } for (count = 0; count < win->num_children; count++) { notify_reparent_to_children(win->children[count]); } } static void notify_property_to_children(ui_window_t *win) { u_int count; if (win->is_transparent) { /* Background image of desktop is changed. */ if (!IS_INHERIT_TRANSPARENT(win)) { #ifdef __DEBUG bl_debug_printf("property notify for transparency\n"); #endif set_transparent(win); } } for (count = 0; count < win->num_children; count++) { notify_property_to_children(win->children[count]); } } static int is_descendant_window(ui_window_t *win, Window window) { u_int count; if (win->my_window == window) { return 1; } for (count = 0; count < win->num_children; count++) { if (is_descendant_window(win->children[count], window)) { return 1; } } return 0; } static int is_in_the_same_window_family(ui_window_t *win, Window window) { return is_descendant_window(ui_get_root_window(win), window); } static u_int total_min_width(ui_window_t *win) { u_int count; u_int min_width; min_width = win->min_width + win->hmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_width += total_min_width(win->children[count]); } } return min_width; } static u_int total_min_height(ui_window_t *win) { u_int count; u_int min_height; min_height = win->min_height + win->vmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_height += total_min_height(win->children[count]); } } return min_height; } static u_int total_width_inc(ui_window_t *win) { u_int count; u_int width_inc; width_inc = win->width_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_width_inc(win->children[count])) > width_inc) { width_inc = sub_inc; } } } return width_inc; } static u_int total_height_inc(ui_window_t *win) { u_int count; u_int height_inc; height_inc = win->height_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_height_inc(win->children[count])) > height_inc) { height_inc = sub_inc; } } } return height_inc; } static XID reset_client_leader(ui_window_t *root) { u_long leader; if ((leader = ui_display_get_group_leader(root->disp)) == None) { leader = root->my_window; } XChangeProperty(root->disp->display, root->my_window, XA_WM_CLIENT_LEADER(root->disp->display), XA_WINDOW, 32, PropModeReplace, (unsigned char *)(&leader), 1); return leader; } static void convert_to_decsp_font_index(u_char *str, u_int len) { while (len != 0) { if (*str == 0x5f) { *str = 0x7f; } else if (0x5f < *str && *str < 0x7f) { (*str) -= 0x5f; } len--; str++; } } static void scroll_region(ui_window_t *win, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y) { XCopyArea(win->disp->display, win->my_window, win->my_window, win->gc->gc, src_x + win->hmargin, src_y + win->vmargin, width, height, dst_x + win->hmargin, dst_y + win->vmargin); while (win->wait_copy_area_response) { XEvent ev; XWindowEvent(win->disp->display, win->my_window, ExposureMask, &ev); if (ev.type == GraphicsExpose) { /* * GraphicsExpose caused by the previous XCopyArea is * processed *after* XCopyArea above to avoid following problem. * * - : GraphicsExpose Area * * (X Window screen) (vt_term_t) * aaaaaaaaaa aaaaaaaaaa * bbbbbbbbbb bbbbbbbbbb * cccccccccc cccccccccc * 1||(CA) 1|| * \/ \/ * bbbbbbbbbb bbbbbbbbbb * cccccccccc cccccccccc * ---------- dddddddddd * 2|| * \/ * bbbbbbbbbb 3(GE) cccccccccc * cccccccccc <===== dddddddddd * eeeeeeeeee eeeeeeeeee * 4||(CA) * \/ * cccccccccc * eeeeeeeeee * eeeeeeeeee */ ev.xgraphicsexpose.x += (dst_x - src_x); ev.xgraphicsexpose.y += (dst_y - src_y); } ui_window_receive_event(win, &ev); } win->wait_copy_area_response = 1; } static int send_selection(ui_window_t *win, XSelectionRequestEvent *req_ev, u_char *sel_data, size_t sel_len, Atom sel_type, int sel_format) { XEvent res_ev; res_ev.xselection.type = SelectionNotify; res_ev.xselection.display = req_ev->display; res_ev.xselection.requestor = req_ev->requestor; res_ev.xselection.selection = req_ev->selection; res_ev.xselection.target = req_ev->target; res_ev.xselection.time = req_ev->time; if (sel_data == NULL) { res_ev.xselection.property = None; } else { if (req_ev->property == None) { /* An obsolete client may fill None as a property. * Try to deal with them by using 'target' instead. */ req_ev->property = req_ev->target; } if (req_ev->property != None) { XChangeProperty(win->disp->display, req_ev->requestor, req_ev->property, sel_type, sel_format, PropModeReplace, sel_data, sel_len); } res_ev.xselection.property = req_ev->property; } XSendEvent(win->disp->display, res_ev.xselection.requestor, False, 0, &res_ev); return 1; } static int right_shift(u_long mask) { int shift = 0; int count = 8; if (mask == 0) { return 0; } while ((mask & 1) == 0) { mask >>= 1; shift++; } while ((mask & 1) == 1) { mask >>= 1; count--; } if (count > 0) { shift -= count; } return shift; } static void reset_input_focus(ui_window_t *win) { u_int count; if (win->inputtable) { win->inputtable = -1; } else { win->inputtable = 0; } for (count = 0; count < win->num_children; count++) { reset_input_focus(win->children[count]); } } static void ensure_input_focus(ui_window_t *win) { u_int count; if (win->inputtable > 0) { if (!win->is_focused) { XSetInputFocus(win->disp->display, win->my_window, RevertToParent, CurrentTime); } } else { for (count = 0; count < win->num_children; count++) { ensure_input_focus(win->children[count]); } } } static int get_num_inputtables(ui_window_t *win) { u_int count; int num = (win->inputtable != 0) ? 1 : 0; for (count = 0; count < win->num_children; count++) { num += get_num_inputtables(win->children[count]); } return num; } #if !defined(NO_DYNAMIC_LOAD_TYPE) static void ui_window_set_use_xft(ui_window_t *win, int use_xft) { void (*func)(ui_window_t *, int); if (!(func = ui_load_type_xft_func(UI_WINDOW_SET_TYPE))) { return; } (*func)(win, use_xft); } static void ui_window_xft_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len) { void (*func)(ui_window_t *, ui_font_t *, ui_color_t *, int, int, u_char *, size_t); if (!(func = ui_load_type_xft_func(UI_WINDOW_DRAW_STRING8))) { return; } (*func)(win, font, fg_color, x, y, str, len); } static void ui_window_xft_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, /* FcChar32 */ u_int32_t *str, size_t len) { void (*func)(ui_window_t *, ui_font_t *, ui_color_t *, int, int, /* FcChar32 */ u_int32_t *, size_t); if (!(func = ui_load_type_xft_func(UI_WINDOW_DRAW_STRING32))) { return; } return (*func)(win, font, fg_color, x, y, str, len); } static void xft_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { void (*func)(ui_window_t *, int, int, u_int, u_int); if (!(func = ui_load_type_xft_func(UI_WINDOW_SET_CLIP))) { return; } (*func)(win, x, y, width, height); } static void xft_unset_clip(ui_window_t *win) { void (*func)(ui_window_t *); if (!(func = ui_load_type_xft_func(UI_WINDOW_UNSET_CLIP))) { return; } (*func)(win); } static void ui_window_set_use_cairo(ui_window_t *win, int use_cairo) { void (*func)(ui_window_t *, int); if (!(func = ui_load_type_cairo_func(UI_WINDOW_SET_TYPE))) { return; } (*func)(win, use_cairo); } static void ui_window_cairo_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len) { void (*func)(ui_window_t *, ui_font_t *, ui_color_t *, int, int, u_char *, size_t); if (!(func = ui_load_type_cairo_func(UI_WINDOW_DRAW_STRING8))) { return; } (*func)(win, font, fg_color, x, y, str, len); } static void ui_window_cairo_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, /* FcChar32 */ u_int32_t *str, size_t len) { void (*func)(ui_window_t *, ui_font_t *, ui_color_t *, int, int, /* FcChar32 */ u_int32_t *, size_t); if (!(func = ui_load_type_cairo_func(UI_WINDOW_DRAW_STRING32))) { return; } (*func)(win, font, fg_color, x, y, str, len); } static void cairo_resize(ui_window_t *win) { void (*func)(ui_window_t *); if (!(func = ui_load_type_cairo_func(UI_WINDOW_RESIZE))) { return; } (*func)(win); } static void cairo_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { void (*func)(ui_window_t *, int, int, u_int, u_int); if (!(func = ui_load_type_cairo_func(UI_WINDOW_SET_CLIP))) { return; } (*func)(win, x, y, width, height); } static void cairo_unset_clip(ui_window_t *win) { void (*func)(ui_window_t *); if (!(func = ui_load_type_cairo_func(UI_WINDOW_UNSET_CLIP))) { return; } (*func)(win); } #else /* NO_DYNAMIC_LOAD_TYPE */ #ifdef USE_TYPE_XFT void ui_window_set_use_xft(ui_window_t *win, int use_xft); void ui_window_xft_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len); void ui_window_xft_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_int32_t *str, size_t len); void xft_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height); void xft_unset_clip(ui_window_t *win); #endif #ifdef USE_TYPE_CAIRO void ui_window_set_use_cairo(ui_window_t *win, int use_cairo); void ui_window_cairo_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len); void ui_window_cairo_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_int32_t *str, size_t len); void cairo_resize(ui_window_t *win); void cairo_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height); void cairo_unset_clip(ui_window_t *win); #endif #endif /* NO_DYNAMIC_LOAD_TYPE */ /* --- global functions --- */ int ui_window_init(ui_window_t *win, u_int width, u_int height, u_int min_width, /* width_inc * 1 must be added to if width_inc > 0 */ u_int min_height, /* height_inc * 1 must be added to if height_inc > 0 */ u_int width_inc, u_int height_inc, u_int hmargin, u_int vmargin, int create_gc, int inputtable) { memset(win, 0, sizeof(ui_window_t)); win->fg_color.pixel = 0xff000000; win->fg_color.alpha = 0xff; memset(&win->bg_color, 0xff, sizeof(win->bg_color)); win->event_mask = ExposureMask | FocusChangeMask | PropertyChangeMask; /* If wall picture is set, scrollable will be 0. */ win->is_scrollable = 1; #if 0 /* * is_focus member shoule be 0 by default in order to call * XSetICFocus(ui_xic_set_focus) in startup FocusIn event. * If XSetICFocus() is not called, KeyPress event is discarded * in XFilterEvent. */ win->is_focused = 0; #endif win->inputtable = inputtable; /* This flag will map window automatically in ui_window_show() */ win->is_mapped = 1; win->create_gc = create_gc; win->width = width; win->height = height; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; win->hmargin = hmargin; win->vmargin = vmargin; win->prev_clicked_button = -1; win->app_name = "mlterm"; /* Can be changed in ui_display_show_root(). */ return 1; } void ui_window_final(ui_window_t *win) { u_int count; #ifdef DEBUG bl_debug_printf("[deleting child windows]\n"); ui_window_dump_children(win); #endif for (count = 0; count < win->num_children; count++) { ui_window_final(win->children[count]); } free(win->children); if (win->my_window) { ui_display_clear_selection(win->disp, win); ui_xic_deactivate(win); /* Delete cairo/xft. */ ui_window_set_type_engine(win, TYPE_XCORE); XDestroyWindow(win->disp->display, win->my_window); if (win->create_gc) { ui_gc_delete(win->gc); } } else { /* ui_window_show() is not called yet. */ } if (win->window_finalized) { (*win->window_finalized)(win); } } /* * Call this function in window_realized event at first. */ void ui_window_set_type_engine(ui_window_t *win, ui_type_engine_t type_engine) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if ((win->xft_draw != NULL) != (type_engine == TYPE_XFT)) { ui_window_set_use_xft(win, (type_engine == TYPE_XFT)); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if ((win->cairo_draw != NULL) != (type_engine == TYPE_CAIRO)) { ui_window_set_use_cairo(win, (type_engine == TYPE_CAIRO)); } #endif } void ui_window_add_event_mask(ui_window_t *win, long event_mask) { #if 0 if (event_mask & ButtonMotionMask) { event_mask &= ~ButtonMotionMask; event_mask |= (Button1MotionMask | Button2MotionMask | Button3MotionMask | Button4MotionMask | Button5MotionMask); } #endif win->event_mask |= event_mask; if (win->my_window) { XSelectInput(win->disp->display, win->my_window, win->event_mask); } } void ui_window_remove_event_mask(ui_window_t *win, long event_mask) { #if 0 if (event_mask & ButtonMotionMask) { event_mask &= ~ButtonMotionMask; event_mask |= (Button1MotionMask | Button2MotionMask | Button3MotionMask | Button4MotionMask | Button5MotionMask); } #endif win->event_mask &= ~event_mask; if (win->my_window) { XSelectInput(win->disp->display, win->my_window, win->event_mask); } } void ui_window_ungrab_pointer(ui_window_t *win) { XUngrabPointer(win->disp->display, CurrentTime); } int ui_window_set_wall_picture(ui_window_t *win, Pixmap pic, int do_expose) { u_int count; if (win->is_transparent) { /* * unset transparent before setting wall picture ! */ return 0; } XSetWindowBackgroundPixmap(win->disp->display, win->my_window, pic); win->wall_picture_is_set = 1; win->is_scrollable = 0; if (do_expose) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_set_wall_picture(win->children[count], ParentRelative, do_expose); } return 1; } int ui_window_unset_wall_picture(ui_window_t *win, int do_expose) { u_int count; /* * win->wall_picture_is_set == 0 doesn't mean that following codes * to disable wall picture is already processed. * e.g.) If ui_window_unset_transparent() is called after * ui_window_set_transparent() before my_window is created, * XSetWindowBackground() which is not called in ui_window_set_bg_color() * (because is_transparent flag is set by ui_window_set_transparent()) * is never called in startup by checking win->wall_picture_is_set as follows. */ #if 0 if (!win->wall_picture_is_set) { /* already unset */ return 1; } #endif if (win->is_transparent) { /* * transparent background is not a wall picture :) * this case is regarded as not using a wall picture. */ return 1; } XSetWindowBackgroundPixmap(win->disp->display, win->my_window, None); XSetWindowBackground(win->disp->display, win->my_window, win->bg_color.pixel); win->wall_picture_is_set = 0; win->is_scrollable = 1; if (do_expose) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_unset_wall_picture(win->children[count], do_expose); } return 1; } /* * This function is possible to be called before my_window is created. * (because ui_screen_t doesn't contain transparent flag.) */ int ui_window_set_transparent( ui_window_t *win, /* Transparency is applied to all children recursively */ ui_picture_modifier_t *pic_mod) { u_int count; win->pic_mod = pic_mod; if (win->my_window == None) { /* * If Window is not still created , actual drawing is delayed and * ReparentNotify event will do transparent processing automatically after * ui_window_show(). */ win->is_transparent = 1; } else { set_transparent(win); } for (count = 0; count < win->num_children; count++) { ui_window_set_transparent(win->children[count], win->pic_mod); } return 1; } /* * This function is possible to be called before my_window is created. * (because ui_screen_t doesn't contain transparent flag.) */ int ui_window_unset_transparent(ui_window_t *win) { u_int count; if (win->my_window == None) { win->is_transparent = 0; } else if (win->is_transparent) { unset_transparent(win); clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_unset_transparent(win->children[count]); } return 1; } /* * Cursor is not changeable after ui_window_show(). */ void ui_window_set_cursor(ui_window_t *win, u_int cursor_shape) { if (win->my_window == None) { win->cursor_shape = cursor_shape; } else { Cursor cursor; if ((cursor = ui_display_get_cursor(win->disp, (win->cursor_shape = cursor_shape)))) { XDefineCursor(win->disp->display, win->my_window, cursor); } } } int ui_window_set_fg_color(ui_window_t *win, ui_color_t *fg_color) { if (win->fg_color.pixel == fg_color->pixel) { return 0; } win->fg_color = *fg_color; return 1; } int ui_window_set_bg_color(ui_window_t *win, ui_color_t *bg_color) { if (win->bg_color.pixel == bg_color->pixel) { return 0; } win->bg_color = *bg_color; if (!win->is_transparent && !win->wall_picture_is_set) { XSetWindowBackground(win->disp->display, win->my_window, win->bg_color.pixel); clear_margin_area(win); } return 1; } int ui_window_add_child(ui_window_t *win, ui_window_t *child, int x, int y, int map) { void *p; if ((p = realloc(win->children, sizeof(*win->children) * (win->num_children + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } win->children = p; child->parent = win; child->x = x + win->hmargin; child->y = y + win->vmargin; if (!(child->is_mapped = map) && child->inputtable > 0) { child->inputtable = -1; } win->children[win->num_children++] = child; return 1; } int ui_window_remove_child(ui_window_t *win, ui_window_t *child) { u_int count; for (count = 0; count < win->num_children; count++) { if (win->children[count] == child) { child->parent = NULL; win->children[count] = win->children[--win->num_children]; return 1; } } return 0; } ui_window_t *ui_get_root_window(ui_window_t *win) { while (win->parent != NULL) { win = win->parent; } return win; } GC ui_window_get_fg_gc(ui_window_t *win) { /* Reset */ restore_fg_color(win); #if 0 restore_bg_color(win); #endif return win->gc->gc; } GC ui_window_get_bg_gc(ui_window_t *win) { ui_gc_set_fg_color((win)->gc, (win)->bg_color.pixel); #if 0 ui_gc_set_bg_color((win)->gc, (win)->fg_color.pixel); #endif return win->gc->gc; } /* * If win->parent(_window) is None, specify XValue|YValue as 'hint' to locate * window at win->x/win->y. */ int ui_window_show(ui_window_t *win, int hint) { u_int count; XSetWindowAttributes s_attr; if (win->my_window) { /* already shown */ return 0; } if (win->parent) { win->disp = win->parent->disp; win->gc = win->parent->gc; win->parent_window = win->parent->my_window; } if (hint & XNegative) { win->x += (win->disp->width - ACTUAL_WIDTH(win)); } if (hint & YNegative) { win->y += (win->disp->height - ACTUAL_HEIGHT(win)); } s_attr.background_pixel = win->bg_color.pixel; s_attr.border_pixel = win->fg_color.pixel; s_attr.colormap = win->disp->colormap; #if 1 win->my_window = XCreateWindow(win->disp->display, win->parent_window, win->x, win->y, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), 0, win->disp->depth, InputOutput, win->disp->visual, CWBackPixel | CWBorderPixel | CWColormap, &s_attr); #else win->my_window = XCreateSimpleWindow(win->disp->display, win->parent_window, win->x, win->y, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), 0, win->fg_color.pixel, win->bg_color.pixel); #endif if (win->create_gc) { ui_gc_t *gc; if ((gc = ui_gc_new(win->disp->display, win->my_window)) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_gc_new failed.\n"); #endif win->create_gc = 0; } else { win->gc = gc; } } if (win->cursor_shape) { Cursor cursor; if ((cursor = ui_display_get_cursor(win->disp, win->cursor_shape))) { XDefineCursor(win->disp->display, win->my_window, cursor); } } /* Don't use win->parent here in case mlterm works as libvte. */ if (PARENT_WINDOWID_IS_TOP(win)) { /* Root window */ XSizeHints size_hints; XClassHint class_hint; XWMHints wm_hints; int argc = 1; char *argv[] = { "mlterm", NULL, }; Atom protocols[2]; win->event_mask |= StructureNotifyMask; /* * XXX * x/y/width/height are obsoleted. (see XSizeHints(3)) */ size_hints.x = win->x; size_hints.y = win->y; size_hints.width = ACTUAL_WIDTH(win); size_hints.height = ACTUAL_HEIGHT(win); size_hints.width_inc = total_width_inc(win); size_hints.height_inc = total_height_inc(win); size_hints.min_width = total_min_width(win); size_hints.min_height = total_min_height(win); size_hints.base_width = size_hints.min_width > size_hints.width_inc ? size_hints.min_width - size_hints.width_inc : 0; size_hints.base_height = size_hints.min_height > size_hints.height_inc ? size_hints.min_height - size_hints.height_inc : 0; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Size hints => w %d h %d wi %d hi %d mw %d mh %d bw %d bh %d\n", size_hints.width, size_hints.height, size_hints.width_inc, size_hints.height_inc, size_hints.min_width, size_hints.min_height, size_hints.base_width, size_hints.base_height); #endif if (hint & XNegative) { if (hint & YNegative) { size_hints.win_gravity = SouthEastGravity; } else { size_hints.win_gravity = NorthEastGravity; } } else { if (hint & YNegative) { size_hints.win_gravity = SouthWestGravity; } else { size_hints.win_gravity = NorthWestGravity; } } size_hints.flags = PSize | PMinSize | PResizeInc | PBaseSize | PWinGravity; if (hint & (XValue | YValue)) { size_hints.flags |= PPosition; size_hints.flags |= USPosition; } class_hint.res_name = win->app_name; class_hint.res_class = win->app_name; wm_hints.initial_state = NormalState; /* or IconicState */ wm_hints.input = True; /* wants FocusIn/FocusOut */ wm_hints.window_group = reset_client_leader(win); wm_hints.flags = StateHint | InputHint | WindowGroupHint; #if 0 bl_debug_printf(BL_DEBUG_TAG " Group leader -> %x\n", wm_hints.window_group); #endif /* notify to window manager */ #if 1 XmbSetWMProperties(win->disp->display, win->my_window, win->app_name, win->app_name, argv, argc, &size_hints, &wm_hints, &class_hint); #else XmbSetWMProperties(win->disp->display, win->my_window, win->app_name, win->app_name, argv, argc, &size_hints, &wm_hints, NULL); #endif protocols[0] = XA_DELETE_WINDOW(win->disp->display); protocols[1] = XA_TAKE_FOCUS(win->disp->display); XSetWMProtocols(win->disp->display, win->my_window, protocols, 2); } if (win->parent && !win->parent->is_transparent && win->parent->wall_picture_is_set) { ui_window_set_wall_picture(win, ParentRelative, 0); } /* * This should be called after Window Manager settings, because * ui_set_{window|icon}_name() can be called in win->window_realized(). */ if (win->window_realized) { (*win->window_realized)(win); } XSelectInput(win->disp->display, win->my_window, win->event_mask); #if 0 { char *locale; if ((locale = bl_get_locale())) { XChangeProperty(win->disp->display, win->my_window, XInternAtom(win->disp->display, "WM_LOCALE_NAME", False), XA_STRING, 8, PropModeReplace, locale, strlen(locale)); } } #endif /* * showing child windows. */ for (count = 0; count < win->num_children; count++) { ui_window_show(win->children[count], 0); } /* * really visualized. */ if (win->is_mapped) { XMapWindow(win->disp->display, win->my_window); if (win->inputtable > 0) { reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; } #if 0 ui_window_clear_all(win); #endif } return 1; } void ui_window_map(ui_window_t *win) { if (win->is_mapped) { return; } XMapWindow(win->disp->display, win->my_window); win->is_mapped = 1; } void ui_window_unmap(ui_window_t *win) { if (!win->is_mapped) { return; } XUnmapWindow(win->disp->display, win->my_window); win->is_mapped = 0; } int ui_window_resize(ui_window_t *win, u_int width, /* excluding margin */ u_int height, /* excluding margin */ ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { if (win->width == width && win->height == height) { return 0; } /* Max width of each window is DisplayWidth(). */ if ((flag & LIMIT_RESIZE) && win->disp->width < width) { win->width = win->disp->width - win->hmargin * 2; } else { win->width = width; } /* Maui.height of each window is DisplayHeight(). */ if ((flag & LIMIT_RESIZE) && win->disp->height < height) { win->height = win->disp->height - win->vmargin * 2; } else { win->height = height; } if ((flag & NOTIFY_TO_PARENT) && win->parent && win->parent->child_window_resized) { (*win->parent->child_window_resized)(win->parent, win); } XResizeWindow(win->disp->display, win->my_window, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); if ((flag & NOTIFY_TO_MYSELF) && win->window_resized) { (*win->window_resized)(win); } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (win->cairo_draw) { cairo_resize(win); } #endif if (!win->configure_root && !(flag & NOTIFY_TO_PARENT) && win->parent) { notify_configure_to_children(win); } return 1; } /* * !! Notice !! * This function is not recommended. * Use ui_window_resize if at all possible. */ int ui_window_resize_with_margin(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { u_int min_width; u_int min_height; min_width = total_min_width(win); min_height = total_min_height(win); return ui_window_resize(win, width <= min_width ? min_width : width - win->hmargin * 2, height <= min_height ? min_height : height - win->vmargin * 2, flag); } void ui_window_set_maximize_flag(ui_window_t *win, ui_maximize_flag_t flag) { if (flag) { u_int w; u_int h; int x; int y; win = ui_get_root_window(win); ui_window_translate_coordinates(win, 0, 0, &x, &y); if (flag & MAXIMIZE_HORIZONTAL) { w = win->disp->width - win->hmargin * 2; x = 0; } else { w = win->width; } if (flag & MAXIMIZE_VERTICAL) { h = win->disp->height - win->vmargin * 2; y = 0; } else { h = win->height; } XMoveWindow(win->disp->display, win->my_window, x, y); ui_window_resize(win, w, h, NOTIFY_TO_MYSELF); } else { /* XXX MAXIMIZE_RESTORE is not supported for now. */ } } void ui_window_set_normal_hints(ui_window_t *win, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc) { XSizeHints size_hints; ui_window_t *root; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; root = ui_get_root_window(win); /* * these hints must be set at the same time ! */ size_hints.width_inc = total_width_inc(root); size_hints.height_inc = total_height_inc(root); size_hints.min_width = total_min_width(root); size_hints.min_height = total_min_height(root); size_hints.base_width = size_hints.min_width > size_hints.width_inc ? size_hints.min_width - size_hints.width_inc : 0; size_hints.base_height = size_hints.min_height > size_hints.height_inc ? size_hints.min_height - size_hints.height_inc : 0; size_hints.flags = PMinSize | PResizeInc | PBaseSize; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Size hints => wi %u hi %u mw %u mh %u bw %u bh %u\n", size_hints.width_inc, size_hints.height_inc, size_hints.min_width, size_hints.min_height, size_hints.base_width, size_hints.base_height); #endif XSetWMNormalHints(root->disp->display, root->my_window, &size_hints); } void ui_window_set_override_redirect(ui_window_t *win, int flag) { ui_window_t *root; XSetWindowAttributes s_attr; XWindowAttributes g_attr; root = ui_get_root_window(win); XGetWindowAttributes(root->disp->display, root->my_window, &g_attr); if (flag) { s_attr.override_redirect = True; } else { s_attr.override_redirect = False; } if (g_attr.override_redirect == s_attr.override_redirect) { return; } XChangeWindowAttributes(root->disp->display, root->my_window, CWOverrideRedirect, &s_attr); if (g_attr.map_state != IsUnmapped) { XUnmapWindow(root->disp->display, root->my_window); XMapWindow(root->disp->display, root->my_window); } reset_input_focus(root); /* XXX Always focused not to execute XSetInputFocus(). */ win->inputtable = win->is_focused = 1; } int ui_window_set_borderless_flag(ui_window_t *win, int flag) { /* * XXX * Support borderless with _MOTIF_WM_HINTS. * (See Eterm/src/windows.c) */ ui_window_t *root; Atom atom; root = ui_get_root_window(win); #ifdef __DEBUG bl_debug_printf("MOTIF_WM_HINTS: %x\nMOTIF_WM_INFO: %x\n", XInternAtom(root->disp->display, "_MOTIF_WM_HINTS", True), XInternAtom(root->disp->display, "_MOTIF_WM_INFO", True)); #endif if ((atom = XA_MWM_HINTS(root->disp->display)) != None) { if (flag) { MWMHints_t mwmhints = {MWM_HINTS_DECORATIONS, 0, 0, 0, 0}; XChangeProperty(root->disp->display, root->my_window, atom, atom, 32, PropModeReplace, (u_char *)&mwmhints, sizeof(MWMHints_t) / sizeof(u_long)); } else { XDeleteProperty(root->disp->display, root->my_window, atom); } } else { /* fall back to override redirect */ ui_window_set_override_redirect(win, flag); } return 1; } int ui_window_move(ui_window_t *win, int x, int y) { if (win->parent) { x += win->parent->hmargin; y += win->parent->vmargin; } if (win->x == x && win->y == y) { return 0; } win->x = x; win->y = y; XMoveWindow(win->disp->display, win->my_window, win->x, win->y); if (!win->configure_root && win->parent) { notify_configure_to_children(win); } return 1; } void ui_window_clear(ui_window_t *win, int x, int y, u_int width, u_int height) { #ifdef AUTO_CLEAR_MARGIN if (x + width >= win->width) { /* Clearing margin area */ width += win->hmargin; } if (x > 0) #endif { x += win->hmargin; } #ifdef AUTO_CLEAR_MARGIN else { /* Clearing margin area */ width += win->hmargin; } if (y + height >= win->height) { /* Clearing margin area */ height += win->vmargin; } if (y > 0) #endif { y += win->vmargin; } #ifdef AUTO_CLEAR_MARGIN else { /* Clearing margin area */ height += win->vmargin; } #endif XClearArea(win->disp->display, win->my_window, x, y, width, height, False); } void ui_window_clear_all(ui_window_t *win) { ui_window_clear(win, 0, 0, win->width, win->height); } void ui_window_fill(ui_window_t *win, int x, int y, u_int width, u_int height) { restore_fg_color(win); XFillRectangle(win->disp->display, win->my_window, win->gc->gc, x + win->hmargin, y + win->vmargin, width, height); } void ui_window_fill_with(ui_window_t *win, ui_color_t *color, int x, int y, u_int width, u_int height) { ui_gc_set_fg_color(win->gc, color->pixel); XFillRectangle(win->disp->display, win->my_window, win->gc->gc, x + win->hmargin, y + win->vmargin, width, height); } void ui_window_blank(ui_window_t *win) { restore_fg_color(win); XFillRectangle(win->disp->display, win->my_window, win->gc->gc, win->hmargin, win->vmargin, win->width - RIGHT_MARGIN(win), win->height - BOTTOM_MARGIN(win)); } #if 0 /* * XXX * At the present time, not used and not maintained. */ void ui_window_blank_with(ui_window_t *win, ui_color_t *color) { ui_gc_set_fg_color(win->gc, color->pixel); XFillRectangle(win->disp->display, win->my_window, win->gc->gc, win->hmargin, win->vmargin, win->width, win->height); } #endif void ui_window_update(ui_window_t *win, int flag) { if (win->update_window) { (*win->update_window)(win, flag); if (win->gc->mask) { /* * ui_window_copy_area() can set win->gc->mask. * It can cause unexpected drawing in ui_animate_inline_pictures(). */ XSetClipMask(win->disp->display, win->gc->gc, None); win->gc->mask = None; } } } void ui_window_update_all(ui_window_t *win) { u_int count; clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } for (count = 0; count < win->num_children; count++) { ui_window_update_all(win->children[count]); } } void ui_window_idling(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_idling(win->children[count]); } #ifdef __DEBUG if (win->button_is_pressing) { bl_debug_printf(BL_DEBUG_TAG " button is pressing...\n"); } #endif if (win->button_is_pressing && win->button_press_continued) { (*win->button_press_continued)(win, &win->prev_button_press_event); } else if (win->idling) { (*win->idling)(win); } } /* * Return value: 0 => different window. * 1 => finished processing. */ int ui_window_receive_event(ui_window_t *win, XEvent *event) { u_int count; for (count = 0; count < win->num_children; count++) { if (ui_window_receive_event(win->children[count], event)) { return 1; } } if (win->my_window != event->xany.window) { /* * XXX * if some window invokes xim window open event and it doesn't have any xic * , * no xim window will be opened at XFilterEvent() in * ui_display_receive_next_event(). * but it is desired to open xim window of ui_screen when its event is * invoked * on scrollbar or title bar. * this hack enables it , but this way won't deal with the case that * multiple * xics exist. */ if (win->xic) { if (is_in_the_same_window_family(win, event->xany.window) && XFilterEvent(event, win->my_window)) { return 1; } } if (event->type == PropertyNotify && win == ui_get_root_window(win) && (event->xproperty.atom == XA_XSETROOT_ID(win->disp->display) || event->xproperty.atom == XA_XROOTPMAP_ID(win->disp->display))) { /* * Background image is changed. * (notify_property_to_children() is called here because * event->xproperty.window is not win->my_window.) * * twm => XA_XSETROOT_ID * englightment => XA_XROOTPMAP_ID */ notify_property_to_children(win); return 1; } if (event->type == MappingNotify && event->xmapping.request != MappingPointer) { if (win->disp) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " MappingNotify serial #%d\n", event->xmapping.serial); #endif XRefreshKeyboardMapping(&(event->xmapping)); ui_display_update_modifier_mapping(win->disp, event->xmapping.serial); /* have to process only once */ return 1; } if (win->mapping_notify) { (*win->mapping_notify)(win); } } return 0; } #ifndef DISABLE_XDND if (ui_dnd_filter_event(event, win)) { /* event was consumed by xdnd handlers */ return 1; } #endif if (event->type == KeyPress) { if (win->key_pressed) { (*win->key_pressed)(win, &event->xkey); } } else if (event->type == FocusIn) { #ifdef __DEBUG bl_debug_printf("FOCUS IN %p (parent %p)\n", event->xany.window, win->parent); #endif urgent_bell(win, 0); if (!win->parent && get_num_inputtables(win) > 1) { ensure_input_focus(win); } else { /* * Cygwin/X can send FocusIn/FocusOut events not to top windows * but to child ones in changing window focus, so don't encircle * notify_focus_{in|out}_to_children with if(!win->parent). */ notify_focus_in_to_children(win); } } else if (event->type == FocusOut) { #ifdef __DEBUG bl_debug_printf("FOCUS OUT %p (parent %p)\n", event->xany.window, win->parent); #endif /* * Cygwin/X can send FocusIn/FocusOut events not to top windows * but to child ones in changing window focus, so don't encircle * notify_focus_{in|out}_to_children with if(!win->parent). */ notify_focus_out_to_children(win); } else if (event->type == MotionNotify) { XEvent ahead; while (XEventsQueued(win->disp->display, QueuedAfterReading)) { XPeekEvent(win->disp->display, &ahead); if (ahead.type != MotionNotify || ahead.xmotion.window != event->xmotion.window) { break; } XNextEvent(win->disp->display, event); } /* * If ButtonReleaseMask is not set to win->event_mask, * win->button_is_pressing * is always 0. So, event->xmotion.state is also checked. */ if (win->button_is_pressing || (event->xmotion.state & ButtonMask)) { if (win->button_motion) { event->xmotion.x -= win->hmargin; event->xmotion.y -= win->vmargin; (*win->button_motion)(win, &event->xmotion); } /* following button motion ... */ win->prev_button_press_event.x = event->xmotion.x; win->prev_button_press_event.y = event->xmotion.y; win->prev_button_press_event.time = event->xmotion.time; } else if (win->pointer_motion) { event->xmotion.x -= win->hmargin; event->xmotion.y -= win->vmargin; (*win->pointer_motion)(win, &event->xmotion); } } else if (event->type == ButtonRelease) { if (win->button_released) { event->xbutton.x -= win->hmargin; event->xbutton.y -= win->vmargin; (*win->button_released)(win, &event->xbutton); } win->button_is_pressing = 0; } else if (event->type == ButtonPress) { if (win->button_pressed) { event->xbutton.x -= win->hmargin; event->xbutton.y -= win->vmargin; /* XXX If button is released outside screen, ButtonRelease event might not happen. */ if (win->button_is_pressing) { if (win->button_released) { XButtonEvent ev = event->xbutton; ev.type = ButtonRelease; (*win->button_released)(win, &ev); } win->button_is_pressing = 0; } if (win->click_num == MAX_CLICK) { win->click_num = 0; } if (win->prev_clicked_time + click_interval >= event->xbutton.time && event->xbutton.button == win->prev_clicked_button) { win->click_num++; win->prev_clicked_time = event->xbutton.time; } else { win->click_num = 1; win->prev_clicked_time = event->xbutton.time; win->prev_clicked_button = event->xbutton.button; } (*win->button_pressed)(win, &event->xbutton, win->click_num); } if (win->event_mask & ButtonReleaseMask) { /* * if ButtonReleaseMask is not set and ui_window_t doesn't receive * ButtonRelease event , button_is_pressing flag must never be set , * since once it is set , it will never unset. */ win->button_is_pressing = 1; win->prev_button_press_event = event->xbutton; } /* XXX Note that win->is_focused is always true on override redirect mode. */ if (!win->is_focused && win->inputtable && event->xbutton.button == Button1 && !event->xbutton.state) { ui_window_set_input_focus(win); } } else if (event->type == NoExpose) { win->wait_copy_area_response = 0; } else if (event->type == Expose || event->type == GraphicsExpose) { XEvent next_ev; int x; int y; u_int width; u_int height; int margin_area_exposed; #ifdef __DEBUG int nskip = 0; #endif /* Optimize redrawing. */ while (XCheckTypedWindowEvent(win->disp->display, win->my_window, event->type, &next_ev)) { XEvent ev; int diff; ev = *event; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " x %d y %d w %d h %d + x %d y %d w %d h %d ->", ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height, next_ev.xexpose.x, next_ev.xexpose.y, next_ev.xexpose.width, next_ev.xexpose.height); #endif if ((diff = ev.xexpose.x - next_ev.xexpose.x) > 0) { ev.xexpose.width += diff; ev.xexpose.x = next_ev.xexpose.x; } if ((diff = next_ev.xexpose.x + next_ev.xexpose.width - ev.xexpose.x - ev.xexpose.width) > 0) { ev.xexpose.width += diff; } if ((diff = ev.xexpose.y - next_ev.xexpose.y) > 0) { ev.xexpose.height += diff; ev.xexpose.y = next_ev.xexpose.y; } if ((diff = next_ev.xexpose.y + next_ev.xexpose.height - ev.xexpose.y - ev.xexpose.height) > 0) { ev.xexpose.height += diff; } #ifdef __DEBUG bl_msg_printf(" x %d y %d w %d h %d\n", ev.xexpose.x, ev.xexpose.y, ev.xexpose.width, ev.xexpose.height); #endif /* Minimum character size is regarded as w5 ui.h10. */ if ((ev.xexpose.width * ev.xexpose.height) / 4 >= (K_MAX(event->xexpose.width, 5) * K_MAX(event->xexpose.height, 10) + K_MAX(next_ev.xexpose.width, 5) * K_MAX(next_ev.xexpose.height, 10)) / 3) { /* Redrawing area is increased over 33.3% by this combination. */ #ifdef __DEBUG bl_msg_printf( "=> Discard combination of XExposeEvents " "because of inefficiency.\n"); #endif XPutBackEvent(win->disp->display, &next_ev); break; } else { #ifdef __DEBUG nskip++; #endif *event = ev; } } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " skipped %d expose events.\n", nskip); #endif margin_area_exposed = 0; if (event->xexpose.x < win->hmargin) { margin_area_exposed = 1; x = 0; if (x + event->xexpose.width > win->width) { width = win->width; } else if (event->xexpose.width < (win->hmargin - event->xexpose.x)) { width = 0; } else { width = event->xexpose.width - (win->hmargin - event->xexpose.x); } } else { x = event->xexpose.x - win->hmargin; if (x + event->xexpose.width > win->width) { margin_area_exposed = 1; width = win->width - x; } else { width = event->xexpose.width; } } if (event->xexpose.y < win->vmargin) { margin_area_exposed = 1; y = 0; if (y + event->xexpose.height > win->height) { height = win->height; } else if (event->xexpose.height < (win->vmargin - event->xexpose.y)) { height = 0; } else { height = event->xexpose.height - (win->vmargin - event->xexpose.y); } } else { y = event->xexpose.y - win->vmargin; if (y + event->xexpose.height > win->height) { margin_area_exposed = 1; height = win->height - y; } else { height = event->xexpose.height; } } /* * It is desirable to set win->is_scrollable = 0 before calling * window_exposed event for GraphicsExpose event, because * GraphicsExpose event itself is caused by scrolling (XCopyArea). * * XXX * But win->is_scrollable = 0 is disabled for now because there * seems no cases which cause definite inconvenience. * (ref. flush_scroll_cache() in ui_screen.c) */ if (event->type == GraphicsExpose) { win->wait_copy_area_response = 0; #if 0 win->is_scrollable = 0; #endif } if (margin_area_exposed) { clear_margin_area(win); } if (win->window_exposed) { (*win->window_exposed)(win, x, y, width, height); } #if 0 else { ui_window_clear_all(win); } #endif #if 0 if (event->type == GraphicsExpose) { win->is_scrollable = 1; } #endif } else if (event->type == ConfigureNotify) { int is_changed; XEvent next_ev; /* * Optimize transparent processing in notify_configure_to_children. */ while (XCheckTypedWindowEvent(win->disp->display, win->my_window, ConfigureNotify, &next_ev)) { *event = next_ev; } is_changed = 0; if (event->xconfigure.x != win->x || event->xconfigure.y != win->y) { /* * for fvwm2 style virtual screen. */ if (abs(event->xconfigure.x - win->x) % win->disp->width != 0 || abs(event->xconfigure.y - win->y) % win->disp->height != 0 || (event->xconfigure.x < 0 && event->xconfigure.x + (int)ACTUAL_WIDTH(win) > 0) || (event->xconfigure.x > 0 && event->xconfigure.x + (int)ACTUAL_WIDTH(win) > (int)win->disp->width) || (event->xconfigure.y < 0 && event->xconfigure.y + (int)ACTUAL_HEIGHT(win) > 0) || (event->xconfigure.y > 0 && event->xconfigure.y + (int)ACTUAL_HEIGHT(win) > (int)win->disp->height)) { is_changed = 1; } win->x = event->xconfigure.x; win->y = event->xconfigure.y; } if (event->xconfigure.width != ACTUAL_WIDTH(win) || event->xconfigure.height != ACTUAL_HEIGHT(win)) { win->width = event->xconfigure.width - win->hmargin * 2; win->height = event->xconfigure.height - win->vmargin * 2; if (win->window_resized) { win->configure_root = 1; (*win->window_resized)(win); win->configure_root = 0; } is_changed = 1; #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (win->cairo_draw) { cairo_resize(win); } #endif } if (is_changed) { notify_configure_to_children(win); } } else if (event->type == ReparentNotify) { XEvent next_ev; /* * Optimize transparent processing in notify_reparent_to_children. */ while (XCheckTypedWindowEvent(win->disp->display, win->my_window, ReparentNotify, &next_ev)) { *event = next_ev; } win->x = event->xreparent.x; win->y = event->xreparent.y; notify_reparent_to_children(win); } #if 0 else if (event->type == MapNotify) { if (win->is_transparent && !win->wall_picture_is_set) { set_transparent(win); } } #endif else if (event->type == SelectionClear) { /* Call win->selection_cleared in ui_display_clear_selection. */ ui_display_clear_selection(win->disp, win); free(sel_bmp); sel_bmp = NULL; } else if (event->type == SelectionRequest) { Atom xa_utf8_string; Atom xa_compound_text; #ifdef DEBUG Atom xa_multiple; #endif Atom xa_targets; Atom xa_text; Atom xa_bmp; xa_compound_text = XA_COMPOUND_TEXT(win->disp->display); xa_targets = XA_TARGETS(win->disp->display); #ifdef DEBUG xa_multiple = XA_MULTIPLE(win->disp->display); #endif xa_text = XA_TEXT(win->disp->display); xa_utf8_string = XA_UTF8_STRING(win->disp->display); xa_bmp = XA_BMP(win->disp->display); if (event->xselectionrequest.target == XA_STRING) { if (win->xct_selection_requested) { (*win->xct_selection_requested)(win, &event->xselectionrequest, event->xselectionrequest.target); } } else if (event->xselectionrequest.target == xa_text || event->xselectionrequest.target == xa_compound_text) { if (win->xct_selection_requested) { /* * kterm requests selection with "TEXT" atom , but * wants it to be sent back with "COMPOUND_TEXT" atom. * why ? */ (*win->xct_selection_requested)(win, &event->xselectionrequest, xa_compound_text); } } else if (event->xselectionrequest.target == xa_utf8_string) { if (win->utf_selection_requested) { (*win->utf_selection_requested)(win, &event->xselectionrequest, xa_utf8_string); } } else if (event->xselectionrequest.target == xa_targets) { Atom targets[6]; targets[0] = xa_targets; targets[1] = XA_STRING; targets[2] = xa_text; targets[3] = xa_compound_text; targets[4] = xa_utf8_string; targets[5] = xa_bmp; send_selection(win, &event->xselectionrequest, (u_char *)targets, sizeof(targets) / sizeof targets[0], XA_ATOM, 32); } #ifdef DEBUG else if (event->xselectionrequest.target == xa_multiple) { bl_debug_printf("MULTIPLE requested(not yet implemented)\n"); } #endif else if (event->xselectionrequest.target == xa_bmp && sel_bmp) { send_selection(win, &event->xselectionrequest, (u_char *)sel_bmp, sel_bmp_size, xa_bmp, 8); } else { send_selection(win, &event->xselectionrequest, NULL, 0, 0, 0); } } else if (event->type == SelectionNotify) { Atom xa_utf8_string; Atom xa_compound_text; Atom xa_text; Atom xa_selection; xa_compound_text = XA_COMPOUND_TEXT(win->disp->display); xa_text = XA_TEXT(win->disp->display); xa_utf8_string = XA_UTF8_STRING(win->disp->display); xa_selection = XA_SELECTION(win->disp->display); if (event->xselection.property == None || event->xselection.property == XA_NONE(win->disp->display)) { /* * Selection request failed. * Retrying with xa_compound_text => xa_text => XA_STRING */ if (event->xselection.target == xa_utf8_string) { XConvertSelection(win->disp->display, XA_PRIMARY, xa_compound_text, xa_selection, win->my_window, CurrentTime); } else if (event->xselection.target == xa_compound_text) { XConvertSelection(win->disp->display, XA_PRIMARY, xa_text, xa_selection, win->my_window, CurrentTime); } else if (event->xselection.target == xa_text) { XConvertSelection(win->disp->display, XA_PRIMARY, XA_STRING, xa_selection, win->my_window, CurrentTime); } return 1; } /* SELECTION */ if (event->xselection.selection == XA_PRIMARY && (event->xselection.property == xa_selection && (event->xselection.target == XA_STRING || event->xselection.target == xa_text || event->xselection.target == xa_compound_text || event->xselection.target == xa_utf8_string))) { u_long bytes_after; XTextProperty ct; int seg; for (seg = 0;; seg += ct.nitems) { /* * XXX * long_offset and long_len is the same as rxvt-2.6.3 , * but I'm not confident if this is OK. */ if (XGetWindowProperty(win->disp->display, event->xselection.requestor, event->xselection.property, seg / 4, 4096, False, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value) != Success) { break; } if (ct.value == NULL || ct.nitems == 0) { break; } if (ct.encoding == XA_STRING || ct.encoding == xa_text || ct.encoding == xa_compound_text) { if (win->xct_selection_notified) { (*win->xct_selection_notified)(win, ct.value, ct.nitems); } } else if (ct.encoding == xa_utf8_string) { if (win->utf_selection_notified) { (*win->utf_selection_notified)(win, ct.value, ct.nitems); } } XFree(ct.value); if (bytes_after == 0) { break; } } } XDeleteProperty(win->disp->display, event->xselection.requestor, event->xselection.property); } else if (event->type == ClientMessage) { if (event->xclient.format == 32 && event->xclient.data.l[0] == XA_DELETE_WINDOW(win->disp->display)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " DeleteWindow message is received. exiting...\n"); #endif if (win->window_deleted) { (*win->window_deleted)(win); } else { exit(0); } } #if 0 else if (event->xclient.format == 32 && event->xclient.data.l[0] == XA_TAKE_FOCUS(win->disp->display)) { bl_warn_printf(BL_DEBUG_TAG " TakeFocus message is received.\n"); } #endif } else if (event->type == PropertyNotify) { if (event->xproperty.atom == XA_SELECTION(win->disp->display) && event->xproperty.state == PropertyNewValue) { XTextProperty ct; u_long bytes_after; XGetWindowProperty(win->disp->display, event->xproperty.window, event->xproperty.atom, 0, 0, False, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value); if (ct.value) { XFree(ct.value); } if (ct.encoding == XA_INCR(win->disp->display) || bytes_after == 0) { XDeleteProperty(win->disp->display, event->xproperty.window, ct.encoding); } else { XGetWindowProperty(win->disp->display, event->xproperty.window, event->xproperty.atom, 0, bytes_after, True, AnyPropertyType, &ct.encoding, &ct.format, &ct.nitems, &bytes_after, &ct.value); if (ct.encoding == XA_STRING || ct.encoding == XA_TEXT(win->disp->display) || ct.encoding == XA_COMPOUND_TEXT(win->disp->display)) { if (win->xct_selection_notified) { (*win->xct_selection_notified)(win, ct.value, ct.nitems); } } else if (ct.encoding == XA_UTF8_STRING(win->disp->display)) { if (win->utf_selection_notified) { (*win->utf_selection_notified)(win, ct.value, ct.nitems); } } if (ct.value) { XFree(ct.value); } } } } #ifdef __DEBUG else { bl_warn_printf(BL_DEBUG_TAG " event %d is received, but not processed.\n", event->type); } #endif return 1; } size_t ui_window_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { size_t len; *keysym = 0; if ((len = ui_xic_get_str(win, seq, seq_len, parser, keysym, event)) > 0) { return len; } if ((len = XLookupString(event, seq, seq_len, keysym, NULL)) > 0) { *parser = NULL; return len; } if ((len = ui_xic_get_utf8_str(win, seq, seq_len, parser, keysym, event)) > 0) { return len; } return 0; } /* * Scroll functions. * The caller side should clear the scrolled area. */ int ui_window_scroll_upward(ui_window_t *win, u_int height) { return ui_window_scroll_upward_region(win, 0, win->height, height); } int ui_window_scroll_upward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, height, win->height, win->width); #endif return 0; } scroll_region(win, 0, boundary_start + height, /* src */ win->width, boundary_end - boundary_start - height, /* size */ 0, boundary_start); /* dst */ return 1; } int ui_window_scroll_downward(ui_window_t *win, u_int height) { return ui_window_scroll_downward_region(win, 0, win->height, height); } int ui_window_scroll_downward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d\n", boundary_start, boundary_end, height); #endif return 0; } scroll_region(win, 0, boundary_start, win->width, boundary_end - boundary_start - height, 0, boundary_start + height); return 1; } int ui_window_scroll_leftward(ui_window_t *win, u_int width) { return ui_window_scroll_leftward_region(win, 0, win->width, width); } int ui_window_scroll_leftward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, width, win->height, win->width); #endif return 0; } scroll_region(win, boundary_start + width, 0, /* src */ boundary_end - boundary_start - width, win->height, /* size */ boundary_start, 0); /* dst */ return 1; } int ui_window_scroll_rightward(ui_window_t *win, u_int width) { return ui_window_scroll_rightward_region(win, 0, win->width, width); } int ui_window_scroll_rightward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d\n", boundary_start, boundary_end, width); #endif return 0; } scroll_region(win, boundary_start, 0, boundary_end - boundary_start - width, win->height, boundary_start + width, 0); return 1; } int ui_window_copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, /* >= 0 */ int src_y, /* >= 0 */ u_int width, u_int height, int dst_x, /* >= 0 */ int dst_y /* >= 0 */ ) { if (dst_x >= win->width || dst_y >= win->height) { return 0; } if (dst_x + width > win->width) { width = win->width - dst_x; } if (dst_y + height > win->height) { height = win->height - dst_y; } if (win->gc->mask != mask) { XSetClipMask(win->disp->display, win->gc->gc, mask); win->gc->mask = mask; } if (mask) { XSetClipOrigin(win->disp->display, win->gc->gc, dst_x + win->hmargin - src_x, dst_y + win->vmargin - src_y); } XCopyArea(win->disp->display, src, win->my_window, win->gc->gc, src_x, src_y, width, height, dst_x + win->hmargin, dst_y + win->vmargin); return 1; } void ui_window_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (win->cairo_draw) { cairo_set_clip(win, x + win->hmargin, y + win->vmargin, width, height); } else #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (win->xft_draw) { xft_set_clip(win, x + win->hmargin, y + win->vmargin, width, height); } else #endif { XRectangle rect; rect.x = 0; rect.y = 0; rect.width = width; rect.height = height; XSetClipRectangles(win->disp->display, win->gc->gc, x + win->hmargin, y + win->vmargin, &rect, 1, YSorted); } } void ui_window_unset_clip(ui_window_t *win) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (win->cairo_draw) { cairo_unset_clip(win); } else #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (win->xft_draw) { xft_unset_clip(win); } else #endif { XSetClipMask(win->disp->display, win->gc->gc, None); } } void ui_window_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { convert_to_decsp_font_index(str, len); if (font->decsp_font) { ui_gc_set_fg_color(win->gc, fg_color->pixel); ui_decsp_font_draw_string(font->decsp_font, win->disp->display, win->my_window, win->gc->gc, x + win->hmargin, y + win->vmargin, str, len); } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) else if (font->xfont) { ui_window_draw_string(win, font, fg_color, x, y, str, len); } #endif } void ui_window_draw_decsp_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len) { convert_to_decsp_font_index(str, len); if (font->decsp_font) { ui_gc_set_fg_color(win->gc, fg_color->pixel); ui_gc_set_bg_color(win->gc, bg_color->pixel); ui_decsp_font_draw_image_string(font->decsp_font, win->disp->display, win->my_window, win->gc->gc, x + win->hmargin, y + win->vmargin, str, len); } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) else if (font->xfont) { ui_window_draw_image_string(win, font, fg_color, bg_color, x, y, str, len); } #endif } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) void ui_window_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { /* Removing trailing spaces. */ while (1) { if (len == 0) { return; } if (*(str + len - 1) == ' ') { len--; } else { break; } } ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); XDrawString(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin, y + win->vmargin, (char *)str, len); if (font->double_draw_gap) { XDrawString(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin + font->double_draw_gap, y + win->vmargin, (char *)str, len); } } void ui_window_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, u_int len) { ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); XDrawString16(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin, y + win->vmargin, str, len); if (font->double_draw_gap) { XDrawString16(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin + font->double_draw_gap, y + win->vmargin, str, len); } } void ui_window_draw_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len) { ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); ui_gc_set_bg_color(win->gc, bg_color->pixel); XDrawImageString(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin, y + win->vmargin, (char *)str, len); if (font->double_draw_gap) { XDrawString(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin + font->double_draw_gap, y + win->vmargin, (char *)str, len); } } void ui_window_draw_image_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, XChar2b *str, u_int len) { ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); ui_gc_set_bg_color(win->gc, bg_color->pixel); XDrawImageString16(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin, y + win->vmargin, str, len); if (font->double_draw_gap) { XDrawString16(win->disp->display, win->my_window, win->gc->gc, x + font->x_off + win->hmargin + font->double_draw_gap, y + win->vmargin, str, len); } } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) void ui_window_ft_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (win->cairo_draw) { ui_window_cairo_draw_string8(win, font, fg_color, x, y, str, len); return; } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (win->xft_draw) { ui_window_xft_draw_string8(win, font, fg_color, x, y, str, len); return; } #endif } void ui_window_ft_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, /* FcChar32 */ u_int32_t *str, u_int len) { #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) if (win->cairo_draw) { ui_window_cairo_draw_string32(win, font, fg_color, x, y, str, len); return; } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) if (win->xft_draw) { ui_window_xft_draw_string32(win, font, fg_color, x, y, str, len); return; } #endif } #endif void ui_window_draw_rect_frame(ui_window_t *win, int x1, int y1, int x2, int y2) { XPoint points[5] = { {x1 += win->hmargin, y1 += win->vmargin}, {x1, y2 += win->vmargin}, {x2 += win->hmargin, y2}, {x2, y1}, {x1, y1}, }; restore_fg_color(win); XDrawLines(win->disp->display, win->my_window, win->gc->gc, points, 5, CoordModeOrigin); } void ui_set_use_clipboard_selection(int use_it) { if (use_clipboard == use_it) { return; } use_clipboard = use_it; /* * disp->selection_owner is reset. * If it isn't reset and value of 'use_clipboard' option is changed from false * to true dynamically, ui_window_set_selection_owner() returns before calling * XSetSelectionOwner(). */ ui_display_clear_selection(NULL, NULL); } int ui_is_using_clipboard_selection(void) { return use_clipboard; } int ui_window_set_selection_owner(ui_window_t *win, Time time) { if (ui_window_is_selection_owner(win)) { /* Already owner */ return 1; } XSetSelectionOwner(win->disp->display, XA_PRIMARY, win->my_window, time); if (use_clipboard) { XSetSelectionOwner(win->disp->display, XA_CLIPBOARD(win->disp->display), win->my_window, time); } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " XA_PRIMARY => %lu, XA_CLIPBOARD => %lu (mywin %lu)\n", XGetSelectionOwner(win->disp->display, XA_PRIMARY), XGetSelectionOwner(win->disp->display, XA_CLIPBOARD(win->disp->display)), win->my_window); #endif if (win->my_window != XGetSelectionOwner(win->disp->display, XA_PRIMARY) && (!use_clipboard || win->my_window != XGetSelectionOwner(win->disp->display, XA_CLIPBOARD(win->disp->display)))) { return 0; } else { return ui_display_own_selection(win->disp, win); } } int ui_window_xct_selection_request(ui_window_t *win, Time time) { XConvertSelection(win->disp->display, XA_PRIMARY, XA_COMPOUND_TEXT(win->disp->display), XA_SELECTION(win->disp->display), win->my_window, time); return 1; } int ui_window_utf_selection_request(ui_window_t *win, Time time) { XConvertSelection(win->disp->display, XA_PRIMARY, XA_UTF8_STRING(win->disp->display), XA_SELECTION(win->disp->display), win->my_window, time); return 1; } void ui_window_send_picture_selection(ui_window_t *win, Pixmap pixmap, u_int width, u_int height) { XImage *image; if (win->disp->visual->class == TrueColor && (image = XGetImage(win->disp->display, pixmap, 0, 0, width, height, AllPlanes, ZPixmap))) { XVisualInfo *vinfo; if ((vinfo = ui_display_get_visual_info(win->disp))) { int shift[3]; u_long mask[3]; size_t image_size; shift[0] = right_shift((mask[0] = vinfo->blue_mask)); shift[1] = right_shift((mask[1] = vinfo->green_mask)); shift[2] = right_shift((mask[2] = vinfo->red_mask)); image_size = width * height * 4; sel_bmp_size = image_size + 54; if ((sel_bmp = calloc(1, sel_bmp_size))) { int x; int y; u_char *dst; sel_bmp->h_type[0] = 0x42; sel_bmp->h_type[1] = 0x4d; sel_bmp->h_size[0] = sel_bmp_size & 0xff; sel_bmp->h_size[1] = (sel_bmp_size >> 8) & 0xff; sel_bmp->h_size[2] = (sel_bmp_size >> 16) & 0xff; sel_bmp->h_size[3] = (sel_bmp_size >> 24) & 0xff; sel_bmp->h_offbits[0] = 54; sel_bmp->i_size[0] = 40; sel_bmp->i_width[0] = width & 0xff; sel_bmp->i_width[1] = (width >> 8) & 0xff; sel_bmp->i_width[2] = (width >> 16) & 0xff; sel_bmp->i_width[3] = (width >> 24) & 0xff; sel_bmp->i_height[0] = height & 0xff; sel_bmp->i_height[1] = (height >> 8) & 0xff; sel_bmp->i_height[2] = (height >> 16) & 0xff; sel_bmp->i_height[3] = (height >> 24) & 0xff; sel_bmp->i_planes[0] = 1; sel_bmp->i_bitcount[0] = 32; sel_bmp->i_sizeimage[0] = image_size & 0xff; sel_bmp->i_sizeimage[1] = (image_size >> 8) & 0xff; sel_bmp->i_sizeimage[2] = (image_size >> 16) & 0xff; sel_bmp->i_sizeimage[3] = (image_size >> 24) & 0xff; dst = sel_bmp->data; for (y = height - 1; y >= 0; y--) { for (x = 0; x < width; x++) { u_long pixel; int count; pixel = XGetPixel(image, x, y); for (count = 0; count < 3; count++) { if (shift[count] < 0) { *(dst++) = (pixel & mask[count]) << (-shift[count]); } else { *(dst++) = (pixel & mask[count]) >> (shift[count]); } } *(dst++) = 0x00; } } ui_window_set_selection_owner(win, CurrentTime); bl_msg_printf("Set a clicked picture to the clipboard.\n"); } XFree(vinfo); } XDestroyImage(image); } } void ui_window_send_text_selection(ui_window_t *win, XSelectionRequestEvent *req_ev, u_char *sel_data, size_t sel_len, Atom sel_type) { XEvent res_ev; res_ev.xselection.type = SelectionNotify; res_ev.xselection.display = req_ev->display; res_ev.xselection.requestor = req_ev->requestor; res_ev.xselection.selection = req_ev->selection; res_ev.xselection.target = req_ev->target; res_ev.xselection.time = req_ev->time; if (sel_data == NULL) { res_ev.xselection.property = None; } else { if (req_ev->property == None) { /* An obsolete client may fill None as a property. * Try to deal with them by using 'target' instead. */ req_ev->property = req_ev->target; } if (req_ev->property != None) { XChangeProperty(win->disp->display, req_ev->requestor, req_ev->property, sel_type, 8, PropModeReplace, sel_data, sel_len); } res_ev.xselection.property = req_ev->property; } XSendEvent(win->disp->display, res_ev.xselection.requestor, False, 0, &res_ev); } void ui_set_window_name(ui_window_t *win, u_char *name) { ui_window_t *root; XTextProperty prop; root = ui_get_root_window(win); if (name == NULL) { name = root->app_name; } if (XmbTextListToTextProperty(root->disp->display, (char **)&name, 1, XStdICCTextStyle, &prop) >= Success) { Atom atom; XSetWMName(root->disp->display, root->my_window, &prop); XFree(prop.value); if (locale_is_utf8() && (atom = XInternAtom(root->disp->display, "_NET_WM_NAME", True)) != None) { XChangeProperty(root->disp->display, root->my_window, atom, XA_UTF8_STRING(root->disp->display), 8, PropModeReplace, name, strlen(name)); } #ifdef DEBUG else { bl_debug_printf("_NET_WM_NAME is not set.\n"); } #endif } else { /* XXX which is better , doing this or return 0 without doing anything ? */ XStoreName(root->disp->display, root->my_window, name); } } void ui_set_icon_name(ui_window_t *win, u_char *name) { ui_window_t *root; XTextProperty prop; root = ui_get_root_window(win); if (name == NULL) { name = root->app_name; } if (XmbTextListToTextProperty(root->disp->display, (char **)&name, 1, XStdICCTextStyle, &prop) >= Success) { Atom atom; XSetWMIconName(root->disp->display, root->my_window, &prop); XFree(prop.value); if (locale_is_utf8() && (atom = XInternAtom(root->disp->display, "_NET_ICON_NAME", True)) != None) { XChangeProperty(root->disp->display, root->my_window, atom, XA_UTF8_STRING(root->disp->display), 8, PropModeReplace, name, strlen(name)); } #ifdef DEBUG else { bl_debug_printf("_NET_ICON_NAME is not set.\n"); } #endif } else { /* XXX which is better , doing this or return 0 without doing anything ? */ XSetIconName(root->disp->display, root->my_window, name); } } void ui_window_set_icon(ui_window_t *win, ui_icon_picture_t *icon) { ui_window_t *root; XWMHints *hints; root = ui_get_root_window(win); /* set extended window manager hint's icon */ if (icon->cardinal && icon->cardinal[0] && icon->cardinal[1]) { int num; u_long *data; /* width * height + 2 */ num = icon->cardinal[0] * icon->cardinal[1] + 2; if (sizeof(u_long) != 4) { int count; if (!(data = alloca(sizeof(u_long) * num))) { return; } for (count = 0; count < num; count++) { data[count] = icon->cardinal[count]; } } else { data = icon->cardinal; } /*it should be possible to set multiple icons...*/ XChangeProperty(root->disp->display, root->my_window, XA_NET_WM_ICON(root->disp->display), XA_CARDINAL, 32, PropModeReplace, (u_char *)data, num); } if ((hints = XGetWMHints(root->disp->display, root->my_window)) == NULL && (hints = XAllocWMHints()) == NULL) { return; } if (icon->pixmap) { hints->flags |= IconPixmapHint; hints->icon_pixmap = icon->pixmap; } if (icon->mask) { hints->flags |= IconMaskHint; hints->icon_mask = icon->mask; } XSetWMHints(root->disp->display, root->my_window, hints); XFree(hints); } void ui_window_remove_icon(ui_window_t *win) { ui_window_t *root; XWMHints *hints; root = ui_get_root_window(win); if ((hints = XGetWMHints(root->disp->display, root->my_window))) { #if 0 bl_debug_printf(" Removing icon.\n"); #endif hints->flags &= ~(IconPixmapHint | IconMaskHint); hints->icon_pixmap = None; hints->icon_mask = None; XSetWMHints(root->disp->display, root->my_window, hints); XFree(hints); } XDeleteProperty(root->disp->display, root->my_window, XA_NET_WM_ICON(root->disp->display)); } /* for xlib/ui_display.c */ void ui_window_reset_group(ui_window_t *win) { ui_window_t *root; XWMHints *hints; root = ui_get_root_window(win); if ((hints = XGetWMHints(root->disp->display, root->my_window)) == NULL && (hints = XAllocWMHints()) == NULL) { return; } hints->flags |= WindowGroupHint; hints->window_group = reset_client_leader(root); XSetWMHints(root->disp->display, root->my_window, hints); XFree(hints); } /* for xlib/ui_imagelib.c */ int ui_window_get_visible_geometry(ui_window_t *win, int *x, /* x relative to root window */ int *y, /* y relative to root window */ int *my_x, /* x relative to my window */ int *my_y, /* y relative to my window */ u_int *width, u_int *height) { Window child; XTranslateCoordinates(win->disp->display, win->my_window, win->disp->my_window, 0, 0, x, y, &child); if (*x >= (int)win->disp->width || *y >= (int)win->disp->height) { /* no visible window */ return 0; } if (*x < 0) { if (ACTUAL_WIDTH(win) <= abs(*x)) { /* no visible window */ return 0; } *my_x = abs(*x); *width = ACTUAL_WIDTH(win) - abs(*x); *x = 0; } else { *my_x = 0; *width = ACTUAL_WIDTH(win); } if (*y < 0) { if (ACTUAL_HEIGHT(win) <= abs(*y)) { /* no visible window */ return 0; } *my_y = abs(*y); *height = ACTUAL_HEIGHT(win) - abs(*y); *y = 0; } else { *my_y = 0; *height = ACTUAL_HEIGHT(win); } if (*x + (int)*width > (int)win->disp->width) { *width = win->disp->width - *x; } if (*y + (int)*height > (int)win->disp->height) { *height = win->disp->height - *y; } return 1; } void ui_set_click_interval(int interval) { click_interval = interval; } int ui_get_click_interval(void) { return click_interval; } u_int ui_window_get_mod_ignore_mask(ui_window_t *win, KeySym *keysyms) { XModifierKeymap *mod_map; int count; u_int ignore; u_int masks[] = {Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask}; KeySym default_keysyms[] = {XK_Num_Lock, XK_Scroll_Lock, XK_ISO_Level3_Lock, NoSymbol}; if (!keysyms) { keysyms = default_keysyms; } if ((mod_map = ui_window_get_modifier_mapping(win)) == NULL) { return ~0; } ignore = 0; count = 0; while (keysyms[count] != NoSymbol) { int ks_count; KeyCode kc; kc = XKeysymToKeycode(win->disp->display, keysyms[count]); for (ks_count = 0; ks_count < sizeof(masks) / sizeof(masks[0]); ks_count++) { int kc_count; KeyCode *key_codes; key_codes = &(mod_map->modifiermap[(ks_count + 3) * mod_map->max_keypermod]); for (kc_count = 0; kc_count < mod_map->max_keypermod; kc_count++) { if (key_codes[kc_count] == 0) { break; } if (key_codes[kc_count] == kc) { #ifdef DEBUG bl_debug_printf("keycode = %d, mod%d idx %d (by %s)\n", kc, ks_count + 1, kc_count + 1, XKeysymToString(keysyms[count])); #endif ignore |= masks[ks_count]; break; } } } count++; } return ~ignore; } u_int ui_window_get_mod_meta_mask(ui_window_t *win, char *mod_key) { int mask_count; int kc_count; XModifierKeymap *mod_map; KeyCode *key_codes; KeySym sym; char *mod_keys[] = {"mod1", "mod2", "mod3", "mod4", "mod5"}; u_int mod_masks[] = {Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask}; if (mod_key) { int count; for (count = 0; count < sizeof(mod_keys) / sizeof(mod_keys[0]); count++) { if (strcmp(mod_key, mod_keys[count]) == 0) { return mod_masks[count]; } } } if ((mod_map = ui_window_get_modifier_mapping(win)) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_window_get_modifier_mapping failed.\n"); #endif return 0; } key_codes = mod_map->modifiermap; for (mask_count = 0; mask_count < sizeof(mod_masks) / sizeof(mod_masks[0]); mask_count++) { int count; /* * KeyCodes order is like this. * Shift[max_keypermod] Lock[max_keypermod] Control[max_keypermod] * Mod1[max_keypermod] Mod2[max_keypermod] Mod3[max_keypermod] * Mod4[max_keypermod] Mod5[max_keypermod] */ /* * this modmap handling is tested with Xsun and XFree86-4.x * it works fine on both X servers. (2004-10-19 seiichi) */ /* skip shift/lock/control */ kc_count = (mask_count + 3) * mod_map->max_keypermod; for (count = 0; count < mod_map->max_keypermod; count++) { if (key_codes[kc_count] == 0) { break; } sym = XKeycodeToKeysym(win->disp->display, key_codes[kc_count], 0); if (((mod_key == NULL || strcmp(mod_key, "meta") == 0) && (sym == XK_Meta_L || sym == XK_Meta_R)) || ((mod_key == NULL || strcmp(mod_key, "alt") == 0) && (sym == XK_Alt_L || sym == XK_Alt_R)) || ((mod_key == NULL || strcmp(mod_key, "super") == 0) && (sym == XK_Super_L || sym == XK_Super_R)) || ((mod_key == NULL || strcmp(mod_key, "hyper") == 0) && (sym == XK_Hyper_L || sym == XK_Hyper_R))) { return mod_masks[mask_count]; } kc_count++; } } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " No meta key was found.\n"); #endif return 0; } void ui_set_use_urgent_bell(int use) { use_urgent_bell = use; } void ui_window_bell(ui_window_t *win, ui_bel_mode_t mode) { urgent_bell(win, 1); if (mode & BEL_VISUAL) { ui_window_blank(win); #if 0 XSync(win->disp->display, False); #else XFlush(win->disp->display); #endif bl_usleep(1); (*win->window_exposed)(win, 0, 0, win->width, win->height); } if (mode & BEL_SOUND) { XBell(win->disp->display, 0); } } void ui_window_translate_coordinates(ui_window_t *win, int x, int y, int *global_x, int *global_y) { Window child; XTranslateCoordinates(win->disp->display, win->my_window, DefaultRootWindow(win->disp->display), x, y, global_x, global_y, &child); } void ui_window_set_input_focus(ui_window_t *win) { reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; XSetInputFocus(win->disp->display, win->my_window, RevertToParent, CurrentTime); } #ifdef DEBUG void ui_window_dump_children(ui_window_t *win) { int count; bl_msg_printf("%p(%li) => ", win, win->my_window); for (count = 0; count < win->num_children; count++) { bl_msg_printf("%p(%li) ", win->children[count], win->children[count]->my_window); } bl_msg_printf("\n"); for (count = 0; count < win->num_children; count++) { ui_window_dump_children(win->children[count]); } } #endif mlterm-3.8.4/uitoolkit/xlib/ui_decsp_font.h010064400017600000144000000014241321054731200174760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_DECSP_FONT_H__ #define __UI_DECSP_FONT_H__ #include "../ui.h" typedef struct ui_decsp_font { Pixmap glyphs[0x20]; u_int width; u_int height; u_int ascent; } ui_decsp_font_t; ui_decsp_font_t *ui_decsp_font_new(Display *display, u_int width, u_int height, u_int ascent); void ui_decsp_font_delete(ui_decsp_font_t *vtgr, Display *display); void ui_decsp_font_draw_string(ui_decsp_font_t *vtgr, Display *display, Drawable drawable, GC gc, int x, int y, u_char *str, u_int len); void ui_decsp_font_draw_image_string(ui_decsp_font_t *font, Display *display, Drawable drawable, GC gc, int x, int y, u_char *str, u_int len); #endif mlterm-3.8.4/uitoolkit/libotl004075500017600000144000000000001321054731200147565ustar kenusersmlterm-3.8.4/uitoolkit/libotl/otl.h010064400017600000144000000037161321054731200160100ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __OTL_H__ #define __OTL_H__ #include #ifdef NO_DYNAMIC_LOAD_OTL #ifdef USE_HARFBUZZ #include "hb.c" #else #include "otf.c" #endif #else /* NO_DYNAMIC_LOAD_OTL */ #include #include #include #ifndef LIBDIR #define OTL_DIR "/usr/local/lib/mlterm/" #else #define OTL_DIR LIBDIR "/mlterm/" #endif /* --- static variables --- */ static void *(*open_sym)(void *, u_int); static void (*close_sym)(void *); static u_int (*convert_sym)(void *, u_int32_t *, u_int, int8_t *, u_int8_t *, u_int32_t *, u_int32_t *, u_int, const char *, const char *, u_int); /* --- static functions --- */ static void *otl_open(void *obj, u_int size) { static int is_tried; if (!is_tried) { bl_dl_handle_t handle; is_tried = 1; if ((!(handle = bl_dl_open(OTL_DIR, "otl")) && !(handle = bl_dl_open("", "otl"))) || !(open_sym = bl_dl_func_symbol(handle, "otl_open")) || !(close_sym = bl_dl_func_symbol(handle, "otl_close")) || !(convert_sym = bl_dl_func_symbol(handle, "otl_convert_text_to_glyphs"))) { bl_error_printf("libotl: Could not load.\n"); if (handle) { bl_dl_close(handle); } return NULL; } } else if (!open_sym) { return NULL; } return (*open_sym)(obj, size); } static void otl_close(void *otf) { (*close_sym)(otf); } static u_int otl_convert_text_to_glyphs(void *otf, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features, u_int fontsize) { return (*convert_sym)(otf, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features, fontsize); } #endif #endif /* __OTL_H__ */ mlterm-3.8.4/uitoolkit/libotl/hb.c010064400017600000144000000310521321054731200155700ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifdef HB_HACK_FOR_QUARTZ #include #include #include #else #include #ifdef USE_QUARTZ #include #include #else #include #endif #endif #include /* isalpha */ #include #include #include #ifndef HB_VERSION_ATLEAST #define HB_VERSION_ATLEAST(a,b,c) !HB_VERSION_CHECK(a,b,c) #endif /* --- static functions --- */ static hb_feature_t *get_hb_features(const char *features, u_int *num) { static const char *prev_features; static hb_feature_t *hbfeatures; static u_int num_features; if (features != prev_features) { char *str; void *p; if ((str = alloca(strlen(features) + 1)) && (p = realloc(hbfeatures, sizeof(hb_feature_t) * (bl_count_char_in_str(features, ',') + 1)))) { hbfeatures = p; strcpy(str, features); num_features = 0; while ((p = bl_str_sep(&str, ","))) { if (hb_feature_from_string(p, -1, &hbfeatures[num_features])) { num_features++; } } if (num_features == 0) { free(hbfeatures); hbfeatures = NULL; } } prev_features = features; } *num = num_features; return hbfeatures; } static u_int convert_text_to_glyphs(void *hbfont, u_int32_t *shaped /* never NULL */, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src /* never NULL */, u_int src_len, hb_script_t hbscript, hb_feature_t *hbfeatures, u_int hbfeatures_num) { static hb_buffer_t *buf; hb_glyph_info_t *info; hb_glyph_position_t *pos; u_int count; u_int num; if (!buf) { buf = hb_buffer_create(); } else { hb_buffer_reset(buf); } hb_buffer_add_utf32(buf, src, src_len, 0, src_len); #if 0 hb_buffer_guess_segment_properties(buf); #else hb_buffer_set_script(buf, hbscript); hb_buffer_set_direction(buf, hb_script_get_horizontal_direction(hbscript)); hb_buffer_set_language(buf, hb_language_get_default()); #endif hb_shape(hbfont, buf, hbfeatures, hbfeatures_num); info = hb_buffer_get_glyph_infos(buf, &num); pos = hb_buffer_get_glyph_positions(buf, &num); if (!cmapped) { /* src -> shaped (called from vt_shape.c) */ int32_t prev_offset; prev_offset = 0; shaped[0] = info[0].codepoint; #if 0 if (offsets && widths) #endif { offsets[0] = widths[0] = 0; } for (count = 1; count < num; count++) { shaped[count] = info[count].codepoint; #if 0 if (!offsets || !widths) { /* do nothing */ } else #endif { if (abs(pos[count].x_offset) >= 64) { int32_t offset; prev_offset = offset = pos[count].x_offset + pos[count - 1].x_advance + prev_offset; if (offset >= 0) { offset = ((offset >> 6) & 0x7f); } else { offset = ((offset >> 6) | 0x80); } offsets[count] = offset; widths[count] = ((pos[count].x_advance >> 6) & 0xff); if (offsets[count] == 0 && widths[count] == 0) { offsets[count] = -1; /* XXX */ } } else { offsets[count] = widths[count] = 0; prev_offset = 0; } } } } else { /* * cmapped -> shaped (called from vt_ot_layout.c) * (offsets and widths are not set) */ u_int minus = 0; shaped[0] = info[0].codepoint; for (count = 1; count < num; count++) { if (abs(pos[count].x_offset) >= 64) { minus++; } shaped[count] = info[count].codepoint; } num -= minus; } #if 0 hb_buffer_destroy(buf); #endif return num; } #ifdef USE_WIN32GUI #include static FT_Library ftlib; static u_int ref_count; static void done_ft_face(void *p) { FT_Face face; face = p; free(face->generic.data); face->generic.data = NULL; FT_Done_Face(face); if (--ref_count == 0) { FT_Done_FreeType(ftlib); ftlib = NULL; } } #endif /* --- global functions --- */ #ifdef NO_DYNAMIC_LOAD_OTL static #endif void *otl_open(void *obj, u_int size) { #if defined(USE_WIN32GUI) FT_Face face; hb_font_t *hbfont; if (!ftlib) { if (FT_Init_FreeType(&ftlib) != 0) { free(obj); return NULL; } } if (FT_New_Memory_Face(ftlib, obj, size, 0, &face) == 0) { if ((hbfont = hb_ft_font_create(face, done_ft_face))) { face->generic.data = obj; ref_count++; return hbfont; } FT_Done_Face(face); } free(obj); if (ref_count == 0) { FT_Done_FreeType(ftlib); ftlib = NULL; } return NULL; #elif defined(USE_QUARTZ) hb_face_t *face; if ((face = hb_coretext_face_create(obj /* CGFont */))) { hb_font_t *font; if ((font = hb_font_create(face))) { hb_ot_font_set_funcs(font); hb_face_destroy(face); return font; } } return NULL; #else return hb_ft_font_create(obj, NULL); #endif } #ifdef NO_DYNAMIC_LOAD_OTL static #endif void otl_close(void *hbfont) { hb_font_destroy(hbfont); } static hb_script_t get_hb_script(u_int32_t code, int *is_rtl, hb_script_t default_hbscript) { hb_script_t hbscript; *is_rtl = 0; if (code < 0x590) { hbscript = default_hbscript; } else if (code < 0x900) { if (code < 0x600) { hbscript = HB_SCRIPT_HEBREW; *is_rtl = 1; } else if (code < 0x700) { hbscript = HB_SCRIPT_ARABIC; *is_rtl = 1; } else if (code < 0x750) { hbscript = HB_SCRIPT_SYRIAC; *is_rtl = 1; } else if (code < 0x780) { hbscript = HB_SCRIPT_ARABIC; *is_rtl = 1; } else if (code < 0x7c0) { hbscript = HB_SCRIPT_THAANA; *is_rtl = 1; } else if (code < 0x800) { hbscript = HB_SCRIPT_NKO; *is_rtl = 1; } else if (code < 0x840) { hbscript = HB_SCRIPT_SAMARITAN; *is_rtl = 1; } else if (code < 0x860) { hbscript = HB_SCRIPT_MANDAIC; *is_rtl = 1; } else if (code < 0x870) { hbscript = HB_SCRIPT_SYRIAC; /* Syriac Supplement? */ *is_rtl = 1; } else if (code < 0x8a0) { hbscript = default_hbscript; /* Undefined area */ } else /* if (code < 0x900) */ { hbscript = HB_SCRIPT_ARABIC; *is_rtl = 1; } } else if (code < 0xd80) { if (code < 0x980) { hbscript = HB_SCRIPT_DEVANAGARI; } else if (code < 0xa00) { hbscript = HB_SCRIPT_BENGALI; } else if (code < 0xa80) { /* PUNJABI */ hbscript = HB_SCRIPT_GURMUKHI; } else if (code < 0xb00) { hbscript = HB_SCRIPT_GUJARATI; } else if (code < 0xb80) { hbscript = HB_SCRIPT_ORIYA; } else if (code < 0xc00) { hbscript = HB_SCRIPT_TAMIL; } else if (code < 0xc80) { hbscript = HB_SCRIPT_TELUGU; } else if (code < 0xd00) { hbscript = HB_SCRIPT_KANNADA; } else /* if (code < 0xd80) */ { hbscript = HB_SCRIPT_MALAYALAM; } } else if (0x10300 <= code && code < 0x10e80) { if (code < 0x10330) { hbscript = HB_SCRIPT_OLD_ITALIC; *is_rtl = 1; } else if (code < 0x10800) { hbscript = default_hbscript; } else if (code < 0x10840) { hbscript = HB_SCRIPT_CYPRIOT; *is_rtl = 1; } else if (code < 0x10860) { hbscript = HB_SCRIPT_IMPERIAL_ARAMAIC; *is_rtl = 1; } else if (code < 0x10880) { hbscript = default_hbscript; } else if (code < 0x108b0) { #if HB_VERSION_ATLEAST(0,9,30) hbscript = HB_SCRIPT_NABATAEAN; *is_rtl = 1; #else hbscript = default_hbscript; #endif } else if (code < 0x10900) { hbscript = default_hbscript; } else if (code < 0x10920) { hbscript = HB_SCRIPT_PHOENICIAN; *is_rtl = 1; } else if (code < 0x10940) { hbscript = HB_SCRIPT_LYDIAN; *is_rtl = 1; } else if (code < 0x10a00) { hbscript = default_hbscript; } else if (code < 0x10a60) { hbscript = HB_SCRIPT_KHAROSHTHI; *is_rtl = 1; } else if (code < 0x10b00) { hbscript = default_hbscript; } else if (code < 0x10b40) { hbscript = HB_SCRIPT_AVESTAN; *is_rtl = 1; } else if (code < 0x10b60) { hbscript = HB_SCRIPT_INSCRIPTIONAL_PARTHIAN; *is_rtl = 1; } else if (code < 0x10b80) { hbscript = HB_SCRIPT_INSCRIPTIONAL_PAHLAVI; *is_rtl = 1; } else if (code < 0x10bb0) { #if HB_VERSION_ATLEAST(0,9,30) hbscript = HB_SCRIPT_PSALTER_PAHLAVI; *is_rtl = 1; #else hbscript = default_hbscript; #endif } else if (code < 0x10c00) { hbscript = default_hbscript; } else if (code < 0x10c50) { hbscript = HB_SCRIPT_OLD_TURKIC; *is_rtl = 1; } else if (code < 0x10e60) { hbscript = default_hbscript; } else /* if (code < 0x10e80) */ { hbscript = HB_SCRIPT_ARABIC; *is_rtl = 1; } } else if (0x1e800 <= code && code < 0x1ef00) { if (code < 0x1e8f0) { #if HB_VERSION_ATLEAST(0,9,30) hbscript = HB_SCRIPT_MENDE_KIKAKUI; *is_rtl = 1; #else hbscript = default_hbscript; #endif } else if (code < 0x1e900) { hbscript = default_hbscript; } else if (code < 0x1e960) { #if HB_VERSION_ATLEAST(1,3,0) hbscript = HB_SCRIPT_ADLAM; *is_rtl = 1; #else hbscript = default_hbscript; #endif } else if (code < 0x1ee00) { hbscript = default_hbscript; } else /* if (code < 0x1ef00) */ { hbscript = HB_SCRIPT_ARABIC; *is_rtl = 1; } } else { hbscript = default_hbscript; } return hbscript; } #ifdef NO_DYNAMIC_LOAD_OTL static #endif u_int otl_convert_text_to_glyphs(void *hbfont, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features, u_int fontsize) { if (src && cmapped) { if (cmapped != src) { memcpy(cmapped, src, sizeof(*src) * src_len); } return src_len; } else { u_int32_t code; hb_script_t hbscript; hb_script_t cur_hbscript; hb_script_t default_hbscript; int is_rtl; int is_cur_rtl; hb_feature_t *hbfeatures; u_int hbfeatures_num; u_int count; u_int num = 0; if (cmapped) { src = cmapped; } if (fontsize > 0) { u_int scale = fontsize << 6; /* fontsize x 64 */ #ifdef USE_WIN32GUI FT_Set_Pixel_Sizes(hb_ft_font_get_face(hbfont), fontsize, fontsize); #endif hb_font_set_scale(hbfont, scale, scale); } hbfeatures = get_hb_features(features, &hbfeatures_num); default_hbscript = HB_TAG(script[0] & ~0x20, /* Upper case */ script[1] | 0x20, /* Lower case */ script[2] | 0x20, /* Lower case */ script[3] | 0x20); /* Lower case */ cur_hbscript = get_hb_script(src[0], &is_cur_rtl, default_hbscript); for (count = 1; count < src_len; count++) { code = src[count]; hbscript = get_hb_script(code, &is_rtl, default_hbscript); if (hbscript != cur_hbscript) { u_int count2 = count; u_int n; if (is_cur_rtl) { while (1) { if (code <= 0x7f) { if (isalpha(code)) { break; } else { /* Regard neutral ascii characters in RTL context as RTL. */ } } else if (hbscript != cur_hbscript) { break; } count2++; if (code <= 0x7f) { /* Do not regard neutral ascii characters at the end of line as RTL. */ } else { count = count2; } if (count2 == src_len) { count2--; /* for count++ */ break; } code = src[count2]; hbscript = get_hb_script(code, &is_rtl, default_hbscript); } } n = convert_text_to_glyphs(hbfont, shaped, shaped_len, offsets, widths, cmapped, src, count, cur_hbscript, hbfeatures, hbfeatures_num); shaped += n; shaped_len -= n; offsets += n; widths += n; num += n; if (cmapped) { cmapped += count; } src += count; src_len -= count; count = count2 - count; cur_hbscript = hbscript; is_cur_rtl = is_rtl; } } num += convert_text_to_glyphs(hbfont, shaped, shaped_len, offsets, widths, cmapped, src, count, cur_hbscript, hbfeatures, hbfeatures_num); return num; } } mlterm-3.8.4/uitoolkit/libotl/Makefile.in010064400017600000144000000025271321054731200171050ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = $(top_srcdir)/uitoolkit/libotl OBJ = @OT_LAYOUT_OBJ@ LPOBL = @LPOBL@ LPOBL_DEB = -lpobl_deb # XDATADIR is to avoid conflicting with DATADIR structure in w32api/objidl.h. CFLAGS = $(CFLAGS_LOCAL) @POBL_CFLAGS@ @DEB_CFLAGS@ @GUI_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \ @OT_LAYOUT_CFLAGS@ -I/usr/local/include LIBS = $(LIBS_LOCAL) @OT_LAYOUT_LIBS@ $(LPOBL) -L/usr/local/lib -R/usr/local/lib INSTALL_OPT = -m 755 LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: libotl.la libotl.la: $(OBJ) $(LIBTOOL_LINK) -o libotl.la $(OBJ:.o=.lo) -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .SUFFIXES: .c .o .c.o: $(LIBTOOL_CC) -c $< install : $(LIBDIR) $(LIBTOOL_INSTALL) $(INSTALL_OPT) libotl.la $(LIBDIR) uninstall : rm -f $(LIBDIR)/*otl* $(LIBDIR) : mkdir -p $(LIBDIR) wc : find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf libotl.la $(OBJ) $(OBJ:.o=.lo) .libs distclean: clean rm -f Makefile mlterm-3.8.4/uitoolkit/libotl/otf.c010064400017600000144000000053511321054731200157720ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include /* --- global functions --- */ #ifdef NO_DYNAMIC_LOAD_OTL static #endif void* otl_open(void *obj, u_int size) { OTF* otf; #if defined(USE_WIN32GUI) FT_Library ftlib; FT_Face face; if (FT_Init_FreeType(&ftlib) != 0) { free(obj); return NULL; } if (FT_New_Memory_Face(ftlib, obj, size, 0, &face) != 0) { otf = NULL; } else { if ((otf = OTF_open_ft_face(face))) { if (OTF_get_table(otf, "GSUB") != 0 || OTF_get_table(otf, "cmap") != 0) { OTF_close(otf); otf = NULL; } } FT_Done_Face(face); } free(obj); FT_Done_FreeType(ftlib); #else #if defined(USE_QUARTZ) if ((otf = OTF_open(obj))) #else if ((otf = OTF_open_ft_face(obj))) #endif { if (OTF_check_table(otf, "GSUB") != 0 || OTF_check_table(otf, "cmap") != 0) { OTF_close(otf); otf = NULL; } } #endif return otf; } #ifdef NO_DYNAMIC_LOAD_OTL static #endif void otl_close(void *otf) { OTF_close(otf); } #ifdef NO_DYNAMIC_LOAD_OTL static #endif u_int otl_convert_text_to_glyphs(void *otf, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features, u_int fontsize) { static OTF_Glyph *glyphs; OTF_GlyphString otfstr; u_int count; otfstr.size = otfstr.used = src_len; /* Avoid bl_mem memory management */ #undef realloc if (!(otfstr.glyphs = realloc(glyphs, otfstr.size * sizeof(*otfstr.glyphs)))) { return 0; } #ifdef BL_DEBUG #define realloc(ptr, size) bl_mem_realloc(ptr, size, __FILE__, __LINE__, __FUNCTION) #endif glyphs = otfstr.glyphs; memset(otfstr.glyphs, 0, otfstr.size * sizeof(*otfstr.glyphs)); if (src) { for (count = 0; count < src_len; count++) { otfstr.glyphs[count].c = src[count]; } OTF_drive_cmap(otf, &otfstr); if (cmapped) { for (count = 0; count < otfstr.used; count++) { cmapped[count] = otfstr.glyphs[count].glyph_id; } return otfstr.used; } else { #if 0 if (!offsets || !widths) { /* do nothing */ } else #endif { memset(offsets, 0, shaped_len * sizeof(*offsets)); memset(widths, 0, shaped_len * sizeof(*widths)); } } } else /* if(cmapped) */ { for (count = 0; count < src_len; count++) { otfstr.glyphs[count].glyph_id = cmapped[count]; } } OTF_drive_gsub(otf, &otfstr, script, NULL, features); for (count = 0; count < otfstr.used; count++) { shaped[count] = otfstr.glyphs[count].glyph_id; } return otfstr.used; } mlterm-3.8.4/uitoolkit/fb004075500017600000144000000000001321054731200140605ustar kenusersmlterm-3.8.4/uitoolkit/fb/ui_selection_encoding.c012075500017600000144000000000001321054731200264702../xlib/ui_selection_encoding.custar kenusersmlterm-3.8.4/uitoolkit/fb/ui_xic.c010064400017600000144000000030251321054731200155600ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_xic.h" /* --- global functions --- */ int ui_xic_activate(ui_window_t *win, char *xim_name, char *xim_locale) { return 1; } int ui_xic_deactivate(ui_window_t *win) { return 1; } char *ui_xic_get_xim_name(ui_window_t *win) { return ""; } char *ui_xic_get_default_xim_name(void) { return ""; } int ui_xic_fg_color_changed(ui_window_t *win) { return 0; } int ui_xic_bg_color_changed(ui_window_t *win) { return 0; } int ui_xic_font_set_changed(ui_window_t *win) { return 0; } int ui_xic_resized(ui_window_t *win) { return 0; } int ui_xic_set_spot(ui_window_t *win) { return 0; } size_t ui_xic_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return 0; } size_t ui_xic_get_utf8_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return 0; } int ui_xic_filter_event(ui_window_t *win, /* Should be root window. */ XEvent *event) { return 0; } int ui_xic_set_focus(ui_window_t *win) { return 1; } int ui_xic_unset_focus(ui_window_t *win) { return 1; } int ui_xic_is_active(ui_window_t *win) { return 0; } int ui_xic_switch_mode(ui_window_t *win) { return 0; } #if 0 /* * ui_xim.c <-> ui_xic.c communication functions * Not necessary in fb. */ int ui_xim_activated(ui_window_t *win) { return 1; } int ui_xim_destroyed(ui_window_t *win) { return 1; } #endif mlterm-3.8.4/uitoolkit/fb/ui_font.h010064400017600000144000000013041321054731200157460ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_FONT_H__ #define ___UI_FONT_H__ #include "../ui_font.h" u_char *ui_get_bitmap(XFontStruct *xfont, u_char *ch, size_t len, int use_ot_layout, XFontStruct **compl_xfont); #define ui_get_bitmap_line(xfont, bitmap, y, bitmap_line) \ ((bitmap) && \ memcmp(((bitmap_line) = (bitmap) + (y) * (xfont)->glyph_width_bytes), "\x0\x0\x0", \ (xfont)->glyph_width_bytes) != 0) /* x & 7 == x % 8 */ #define ui_get_bitmap_cell(bitmap_line, x) ((bitmap_line)[(x) / 8] & (1 << (8 - ((x)&7) - 1))) #endif mlterm-3.8.4/uitoolkit/fb/ui_color.c010064400017600000144000000056421321054731200161220ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_color.h" #include /* strcmp */ #include #include "ui_display.h" /* CMAP_SIZE, ui_cmap_get_closest_color */ /* --- global functions --- */ int ui_load_named_xcolor(ui_display_t *disp, ui_color_t *xcolor, char *name) { vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (vt_color_parse_rgb_name(&red, &green, &blue, &alpha, name)) { return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } if ((color = vt_get_color(name)) != VT_UNKNOWN_COLOR && IS_VTSYS_BASE_COLOR(color)) { /* * 0 : 0x00, 0x00, 0x00 * 1 : 0xff, 0x00, 0x00 * 2 : 0x00, 0xff, 0x00 * 3 : 0xff, 0xff, 0x00 * 4 : 0x00, 0x00, 0xff * 5 : 0xff, 0x00, 0xff * 6 : 0x00, 0xff, 0xff * 7 : 0xe5, 0xe5, 0xe5 */ red = (color & 0x1) ? 0xff : 0; green = (color & 0x2) ? 0xff : 0; blue = (color & 0x4) ? 0xff : 0; } else { if (strcmp(name, "gray") == 0) { red = green = blue = 190; } else if (strcmp(name, "lightgray") == 0) { red = green = blue = 211; } else { return 0; } } return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, 0xff); } int ui_load_rgb_xcolor(ui_display_t *disp, ui_color_t *xcolor, u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha) { u_long pixel; if (ui_cmap_get_closest_color(&pixel, red, green, blue)) { xcolor->pixel = pixel; ui_cmap_get_pixel_rgb(&xcolor->red, &xcolor->green, &xcolor->blue, pixel); } else { xcolor->red = red; xcolor->green = green; xcolor->blue = blue; xcolor->alpha = alpha; #ifdef USE_WAYLAND /* wl_buffer requires rgb which has been already multiplied by alpha. */ red = red * alpha / 256; green = green * alpha / 256; blue = blue * alpha / 256; #endif xcolor->pixel = RGB_TO_PIXEL(red, green, blue, disp->display->rgbinfo) | (disp->depth == 32 ? (alpha << 24) : 0); } return 1; } void ui_unload_xcolor(ui_display_t *disp, ui_color_t *xcolor) {} void ui_get_xcolor_rgba(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */, ui_color_t *xcolor) { *red = xcolor->red; *green = xcolor->green; *blue = xcolor->blue; if (alpha) { *alpha = xcolor->alpha; } } int ui_xcolor_fade(ui_display_t *disp, ui_color_t *xcolor, u_int fade_ratio) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; ui_get_xcolor_rgba(&red, &green, &blue, &alpha, xcolor); #if 0 bl_msg_printf("Fading R%d G%d B%d => ", red, green, blue); #endif red = (red * fade_ratio) / 100; green = (green * fade_ratio) / 100; blue = (blue * fade_ratio) / 100; ui_unload_xcolor(disp, xcolor); #if 0 bl_msg_printf("R%d G%d B%d\n", red, green, blue); #endif return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } mlterm-3.8.4/uitoolkit/fb/ui.h010064400017600000144000000426131321054731200147300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ #if defined(__linux__) #include #include #include /* XXX */ #elif defined(__FreeBSD__) #include #if __FreeBSD_version >= 410000 #include #else #include #endif #elif defined(__NetBSD__) || defined(__OpenBSD__) #include #include #include #endif #if defined(__FreeBSD__) typedef video_color_palette_t fb_cmap_t; #elif defined(__NetBSD__) || defined(__OpenBSD__) #define FBIOGETCMAP WSDISPLAYIO_GETCMAP #define FBIOPUTCMAP WSDISPLAYIO_PUTCMAP typedef struct wsdisplay_cmap fb_cmap_t; #else typedef struct fb_cmap fb_cmap_t; #endif /* SIXEL_SHAREPALETTE in c_sixel.c reduces the role of COLOR_CACHE_MINIMUM. */ #define COLOR_CACHE_MINIMUM typedef struct { int fd; int fb_fd; unsigned char *fb; size_t smem_len; unsigned int line_length; unsigned int xoffset; unsigned int yoffset; unsigned int bytes_per_pixel; /* public */ unsigned int pixels_per_byte; /* public */ /* Actual width, while ui_display_t.width excludes virtual kbd area. */ unsigned int width; /* Actual height, while ui_display_t.height excludes virtual kbd area. */ unsigned int height; struct rgb_info { unsigned int r_limit; unsigned int g_limit; unsigned int b_limit; unsigned int r_offset; unsigned int g_offset; unsigned int b_offset; } rgbinfo; fb_cmap_t *cmap; fb_cmap_t *cmap_orig; struct { #ifndef COLOR_CACHE_MINIMUM u_int8_t pixels[16384]; /* 2^14 */ u_int32_t flags[512]; /* 2^14/8/4 */ #else /* * Closest color is searched by 14 bits. * R(1)G(1)B(1): segment(3bits) * R(3)G(3)B(2): offset(11bits) */ u_int8_t pixels[2048]; /* 2^11 */ u_int8_t segments[2048]; /* 2^11 */ #endif } * color_cache; int key_state; int lock_state; /* For 1, 2 or 4 bpp */ unsigned char *back_fb; int shift_0; int mask; size_t plane_offset[8]; } Display; #define PIXEL_RED(pixel, rgbinfo) (((pixel) >> (rgbinfo).r_offset) << (rgbinfo).r_limit) #define PIXEL_BLUE(pixel, rgbinfo) (((pixel) >> (rgbinfo).b_offset) << (rgbinfo).b_limit) #define PIXEL_GREEN(pixel, rgbinfo) (((pixel) >> (rgbinfo).g_offset) << (rgbinfo).g_limit) #define RGB_TO_PIXEL(r, g, b, rgbinfo) \ ((((r) >> (rgbinfo).r_limit) << (rgbinfo).r_offset) | \ (((g) >> (rgbinfo).g_limit) << (rgbinfo).g_offset) | \ (((b) >> (rgbinfo).b_limit) << (rgbinfo).b_offset)) typedef int XIC; /* dummy */ typedef void *XID; /* dummy */ typedef void *Window; /* dummy */ typedef void *Drawable; /* dummy */ typedef struct { unsigned char *image; unsigned int width; unsigned int height; } * Pixmap; typedef unsigned char* PixmapMask; typedef int GC; /* dummy */ typedef int Font; /* dummy */ typedef int Cursor; /* dummy */ typedef int KeyCode; typedef int KeySym; typedef struct /* Same as definition in X11/X.h */ { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; typedef struct /* Same as definition in X11/X.h */ { unsigned char byte1; unsigned char byte2; } XChar2b; typedef struct { int type; unsigned int state; KeySym ksym; unsigned int keycode; } XKeyEvent; typedef unsigned long Time; /* Same as definition in X11/X.h */ typedef unsigned long Atom; /* Same as definition in X11/X.h */ typedef struct { int type; Time time; int x; int y; unsigned int state; unsigned int button; } XButtonEvent; typedef struct { int type; Time time; int x; int y; unsigned int state; } XMotionEvent; typedef struct { int type; struct ui_window *target; } XSelectionRequestEvent; typedef union { int type; XKeyEvent xkey; XButtonEvent xbutton; XMotionEvent xmotion; XSelectionRequestEvent xselectionrequest; } XEvent; typedef struct _XFontStruct { char *file; int32_t format; /* XXX (fontsize|FONT_BOLD|FONT_ITALIC|FONT_ROTATED) on freetype. */ int32_t num_glyphs; unsigned char *glyphs; int32_t glyph_width_bytes; unsigned char width; unsigned char width_full; /* If it doesn't contain full width glyphs, width_full == width */ unsigned char height; unsigned char ascent; u_int16_t *glyph_indeces; /* for pcf */ int16_t min_char_or_byte2; int16_t max_char_or_byte2; int16_t min_byte1; int16_t max_byte1; int32_t *glyph_offsets; #ifdef USE_FREETYPE /* for freetype */ void *face; u_int32_t num_indeces; u_int32_t glyph_size; int is_aa; #ifdef USE_FONTCONFIG struct _XFontStruct **compl_xfonts; #endif #endif unsigned int ref_count; } XFontStruct; typedef int XFontSet; /* dummy */ #define None 0L /* Same as definition in X11/X.h */ #define NoSymbol 0L /* Same as definition in X11/X.h */ #define CurrentTime 0L /* Same as definition in X11/X.h */ /* Same as definition in X11/X.h */ #define NoEventMask 0L #define KeyPressMask (1L << 0) #define KeyReleaseMask (1L << 1) #define ButtonPressMask (1L << 2) #define ButtonReleaseMask (1L << 3) #define EnterWindowMask (1L << 4) #define LeaveWindowMask (1L << 5) #define PointerMotionMask (1L << 6) #define PointerMotionHintMask (1L << 7) #define Button1MotionMask (1L << 8) #define Button2MotionMask (1L << 9) #define Button3MotionMask (1L << 10) #define Button4MotionMask (1L << 11) #define Button5MotionMask (1L << 12) #define ButtonMotionMask (1L << 13) #define KeymapStateMask (1L << 14) #define ExposureMask (1L << 15) #define VisibilityChangeMask (1L << 16) #define StructureNotifyMask (1L << 17) #define ResizeRedirectMask (1L << 18) #define SubstructureNotifyMask (1L << 19) #define SubstructureRedirectMask (1L << 20) #define FocusChangeMask (1L << 21) #define PropertyChangeMask (1L << 22) #define ColormapChangeMask (1L << 23) #define OwnerGrabButtonMask (1L << 24) #define ShiftMask (1 << 0) #define LockMask (1 << 1) #define ControlMask (1 << 2) #define Mod1Mask (1 << 3) #define Mod2Mask (1 << 4) #define Mod3Mask (1 << 5) #define Mod4Mask (1 << 6) #define Mod5Mask (1 << 7) #define Button1Mask (1 << 8) #define Button2Mask (1 << 9) #define Button3Mask (1 << 10) #define Button4Mask (1 << 11) #define Button5Mask (1 << 12) #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 #if defined(__NetBSD__) || defined(__OpenBSD__) #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace 0x08 #define XK_Tab 0x09 #define XK_Clear KS_Clear #define XK_Linefeed KS_Linefeed #define XK_Return 0x0d #define XK_Shift_L KS_Shift_L #define XK_Control_L KS_Control_L #define XK_Alt_L KS_Alt_L #define XK_Shift_R KS_Shift_R #define XK_Control_R KS_Control_R #define XK_Alt_R KS_Alt_R #define XK_Meta_L KS_Meta_L #define XK_Meta_R KS_Meta_R #define XK_Pause KS_Pause #define XK_Shift_Lock KS_Shift_Lock #define XK_Caps_Lock KS_Caps_Lock #define XK_Escape KS_Escape #define XK_Prior KS_Prior #define XK_Next KS_Next #define XK_End KS_End #define XK_Home KS_Home #define XK_Left KS_Left #define XK_Up KS_Up #define XK_Right KS_Right #define XK_Down KS_Down #define XK_Select KS_Select #define XK_Print KS_Print_Screen #define XK_Execute KS_Execute #define XK_Insert KS_Insert #define XK_Delete KS_Delete #define XK_Help KS_Help #define XK_F1 KS_F1 #define XK_F2 KS_F2 #define XK_F3 KS_F3 #define XK_F4 KS_F4 #define XK_F5 KS_F5 #define XK_F6 KS_F6 #define XK_F7 KS_F7 #define XK_F8 KS_F8 #define XK_F9 KS_F9 #define XK_F10 KS_F10 #define XK_F11 KS_F11 #define XK_F12 KS_F12 #define XK_F13 KS_F13 #define XK_F14 KS_F14 #define XK_F15 KS_F15 #define XK_F16 KS_F16 #define XK_F17 KS_F17 #define XK_F18 KS_F18 #define XK_F19 KS_F19 #define XK_F20 KS_F20 #define XK_F21 0xfffa /* dummy */ #define XK_F22 0xfff9 /* dummy */ #define XK_F23 0xfff8 /* dummy */ #define XK_F24 0xfff7 /* dummy */ #define XK_FMAX KS_F20 #define XK_Num_Lock KS_Num_Lock #define XK_Scroll_Lock KS_Scroll_Lock #define XK_Find KS_Find #define XK_Menu KS_Menu #define XK_Begin 0xfff6 /* dummy */ #define XK_Muhenkan KS_Muhenkan #define XK_Henkan_Mode KS_Henkan_Mode #define XK_Zenkaku_Hankaku KS_Zenkaku_Hankaku #define XK_Hiragana_Katakana KS_Hiragana_Katakana #define XK_KP_Prior KS_KP_Prior #define XK_KP_Next KS_KP_Next #define XK_KP_End KS_KP_End #define XK_KP_Home KS_KP_Home #define XK_KP_Left KS_KP_Left #define XK_KP_Up KS_KP_Up #define XK_KP_Right KS_KP_Right #define XK_KP_Down KS_KP_Down #define XK_KP_Insert KS_KP_Insert #define XK_KP_Delete KS_KP_Delete #define XK_KP_F1 KS_KP_F1 #define XK_KP_F2 KS_KP_F2 #define XK_KP_F3 KS_KP_F3 #define XK_KP_F4 KS_KP_F4 #define XK_KP_Begin KS_KP_Begin #define XK_KP_Multiply KS_KP_Multiply #define XK_KP_Add KS_KP_Add #define XK_KP_Separator KS_KP_Separator #define XK_KP_Subtract KS_KP_Subtract #define XK_KP_Decimal KS_KP_Decimal #define XK_KP_Divide KS_KP_Divide #define XK_KP_0 KS_KP_0 #define XK_KP_1 KS_KP_1 #define XK_KP_2 KS_KP_2 #define XK_KP_3 KS_KP_3 #define XK_KP_4 KS_KP_4 #define XK_KP_5 KS_KP_5 #define XK_KP_6 KS_KP_6 #define XK_KP_7 KS_KP_7 #define XK_KP_8 KS_KP_8 #define XK_KP_9 KS_KP_9 #define IsKeypadKey(ksym) (0xf200 <= (ksym) && (ksym) < 0xf300) #define IsModifierKey(ksym) (KS_Shift_L <= (ksym) && (ksym) <= KS_Alt_R) #else /* if __FreeBSD__ || __linux__ */ #ifndef __linux__ /* FreeBSD */ #define KEY_CLEAR 0xff /* dummy */ #define KEY_LINEFEED 0xfe /* dummy */ #define KEY_LEFTSHIFT 0x02 #define KEY_LEFTCTRL 0x09 #define KEY_LEFTALT 0x07 #define KEY_RIGHTSHIFT 0x03 #define KEY_RIGHTCTRL 0x80 #define KEY_RIGHTALT 0x81 #define KEY_LEFTMETA 0xfd /* dummy */ #define KEY_RIGHTMETA 0xfc /* dummy */ #define KEY_CAPSLOCK 0x04 #define KEY_PAGEUP 0x4d #define KEY_PAGEDOWN 0x55 #define KEY_END 0x53 #define KEY_HOME 0x4b #define KEY_LEFT 0x4f #define KEY_UP 0x4c #define KEY_RIGHT 0x51 #define KEY_DOWN 0x54 #define KEY_SELECT 0xfb /* dummy */ #define KEY_PRINT 0x0a #define KEY_INSERT 0x56 #define KEY_DELETE 0x57 #define KEY_HELP 0xfa /* dummy */ #define KEY_F1 0x1b #define KEY_F2 0x1c #define KEY_F3 0x1d #define KEY_F4 0x1e #define KEY_F5 0x1f #define KEY_F6 0x20 #define KEY_F7 0x21 #define KEY_F8 0x22 #define KEY_F9 0x23 #define KEY_F10 0x24 #define KEY_F11 0x25 #define KEY_F12 0x26 #define KEY_F13 0xf9 /* dummy */ #define KEY_F14 0xf8 /* dummy */ #define KEY_F15 0xf7 /* dummy */ #define KEY_F16 0xf6 /* dummy */ #define KEY_F17 0xf5 /* dummy */ #define KEY_F18 0xf4 /* dummy */ #define KEY_F19 0xf3 /* dummy */ #define KEY_F20 0xf2 /* dummy */ #define KEY_F21 0xf1 /* dummy */ #define KEY_F22 0xf0 /* dummy */ #define KEY_F23 0xef /* dummy */ #define KEY_F24 0xee /* dummy */ #define KEY_NUMLOCK 0x05 #define KEY_SCROLLLOCK 0x06 #define KEY_FIND 0xed /* dummy */ #define KEY_MENU 0xec /* dummy */ #define KEY_MUHENKAN 0xeb /* dummy */ #define KEY_HENKAN 0xea /* dummy */ #define KEY_ZENKAKUHANKAKU 0xe9 /* dummy */ #define KEY_KATAKANAHIRAGANA 0xe8 /* dummy */ #define KEY_KPASTERISK 0xe7 /* dummy */ #define KEY_KPPLUS (0x52 + 0x100) #define KEY_KPCOMMA 0xe6 /* dummy */ #define KEY_KPMINUS (0x4e + 0x100) #define KEY_KPDOT (0x7f + 0x100) #define KEY_KPSLASH 0xe5 /* dummy */ #define KEY_KP0 (0x56 + 0x100) #define KEY_KP1 (0x53 + 0x100) #define KEY_KP2 (0x54 + 0x100) #define KEY_KP3 (0x55 + 0x100) #define KEY_KP4 (0x4f + 0x100) #define KEY_KP5 (0x50 + 0x100) #define KEY_KP6 (0x51 + 0x100) #define KEY_KP7 (0x4b + 0x100) #define KEY_KP8 (0x4c + 0x100) #define KEY_KP9 (0x4d + 0x100) #endif /* FreeBSD */ #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace 0x08 #define XK_Tab 0x09 #define XK_Clear (KEY_CLEAR + 0x100) #define XK_Linefeed (KEY_LINEFEED + 0x100) #define XK_Return 0x0d #define XK_Shift_L (KEY_LEFTSHIFT + 0x100) #define XK_Control_L (KEY_LEFTCTRL + 0x100) #define XK_Alt_L (KEY_LEFTALT + 0x100) #define XK_Shift_R (KEY_RIGHTSHIFT + 0x100) #define XK_Control_R (KEY_RIGHTCTRL + 0x100) #define XK_Alt_R (KEY_RIGHTALT + 0x100) #define XK_Meta_L (KEY_LEFTMETA + 0x100) #define XK_Meta_R (KEY_RIGHTMETA + 0x100) #define XK_Pause 0xfff1 /* dummy */ #define XK_Shift_Lock 0xfff0 /* dummy */ #define XK_Caps_Lock (KEY_CAPSLOCK + 0x100) #define XK_Escape 0x1b #define XK_Prior (KEY_PAGEUP + 0x100) #define XK_Next (KEY_PAGEDOWN + 0x100) #define XK_End (KEY_END + 0x100) #define XK_Home (KEY_HOME + 0x100) #define XK_Left (KEY_LEFT + 0x100) #define XK_Up (KEY_UP + 0x100) #define XK_Right (KEY_RIGHT + 0x100) #define XK_Down (KEY_DOWN + 0x100) #define XK_Select (KEY_SELECT + 0x100) #define XK_Print (KEY_PRINT + 0x100) #define XK_Execute 0xffef /* dummy */ #define XK_Insert (KEY_INSERT + 0x100) #define XK_Delete (KEY_DELETE + 0x100) #define XK_Help (KEY_HELP + 0x100) #define XK_F1 (KEY_F1 + 0x100) #define XK_F2 (KEY_F2 + 0x100) #define XK_F3 (KEY_F3 + 0x100) #define XK_F4 (KEY_F4 + 0x100) #define XK_F5 (KEY_F5 + 0x100) #define XK_F6 (KEY_F6 + 0x100) #define XK_F7 (KEY_F7 + 0x100) #define XK_F8 (KEY_F8 + 0x100) #define XK_F9 (KEY_F9 + 0x100) #define XK_F10 (KEY_F10 + 0x100) #define XK_F11 (KEY_F11 + 0x100) #define XK_F12 (KEY_F12 + 0x100) #define XK_F13 (KEY_F13 + 0x100) #define XK_F14 (KEY_F14 + 0x100) #define XK_F15 (KEY_F15 + 0x100) #define XK_F16 (KEY_F16 + 0x100) #define XK_F17 (KEY_F17 + 0x100) #define XK_F18 (KEY_F18 + 0x100) #define XK_F19 (KEY_F19 + 0x100) #define XK_F20 (KEY_F20 + 0x100) #define XK_F21 (KEY_F21 + 0x100) #define XK_F22 (KEY_F22 + 0x100) #define XK_F23 (KEY_F23 + 0x100) #define XK_F24 (KEY_F24 + 0x100) #ifdef __FreeBSD__ #define XK_FMAX XK_F12 #else #define XK_FMAX XK_F10 /* F11 or later is not sequential number. */ #endif #define XK_Num_Lock (KEY_NUMLOCK + 0x100) #define XK_Scroll_Lock (KEY_SCROLLLOCK + 0x100) #define XK_Find (KEY_FIND + 0x100) #define XK_Menu (KEY_MENU + 0x100) #define XK_Begin 0xffee /* dummy */ #define XK_Muhenkan (KEY_MUHENKAN + 0x100) #define XK_Henkan_Mode (KEY_HENKAN + 0x100) #define XK_Zenkaku_Hankaku (KEY_ZENKAKUHANKAKU + 0x100) #define XK_Hiragana_Katakana (KEY_KATAKANAHIRAGANA + 0x100) #define XK_KP_Prior (KEY_KP9 + 0x100) #define XK_KP_Next (KEY_KP3 + 0x100) #define XK_KP_End (KEY_KP1 + 0x100) #define XK_KP_Home (KEY_KP7 + 0x100) #define XK_KP_Left (KEY_KP4 + 0x100) #define XK_KP_Up (KEY_KP8 + 0x100) #define XK_KP_Right (KEY_KP6 + 0x100) #define XK_KP_Down (KEY_KP2 + 0x100) #define XK_KP_Insert (KEY_KP0 + 0x100) #define XK_KP_Delete (KEY_KPDOT + 0x100) #define XK_KP_F1 0xffed /* dummy */ #define XK_KP_F2 0xffec /* dummy */ #define XK_KP_F3 0xffeb /* dummy */ #define XK_KP_F4 0xffea /* dummy */ #define XK_KP_Begin (KEY_KP5 + 0x100) /* dummy */ #define XK_KP_Multiply (KEY_KPASTERISK + 0x100) #define XK_KP_Add (KEY_KPPLUS + 0x100) #define XK_KP_Separator (KEY_KPCOMMA + 0x100) #define XK_KP_Subtract (KEY_KPMINUS + 0x100) #define XK_KP_Decimal 0xffe9 /* dummy */ #define XK_KP_Divide (KEY_KPSLASH + 0x100) #define XK_KP_0 0xffe8 /* dummy */ #define XK_KP_1 0xffe7 /* dummy */ #define XK_KP_2 0xffe6 /* dummy */ #define XK_KP_3 0xffe5 /* dummy */ #define XK_KP_4 0xffe4 /* dummy */ #define XK_KP_5 0xffe3 /* dummy */ #define XK_KP_6 0xffe1 /* dummy */ #define XK_KP_7 0xffe0 /* dummy */ #define XK_KP_8 0xffdf /* dummy */ #define XK_KP_9 0xffde /* dummy */ #define IsKeypadKey(ksym) (1) #define IsModifierKey(ksym) (0) #endif /* FreeBSD/Linux/NetBSD */ #define XK_ISO_Left_Tab 0xffa3 /* dummy */ /* Same as definition in X11/X.h */ typedef struct { short x; short y; } XPoint; /* XXX dummy */ #define XKeysymToKeycode(disp, ks) (ks) #define XKeycodeToKeysym(disp, kc, i) (kc) #define XKeysymToString(ks) "" #define DefaultScreen(disp) (0) #define BlackPixel(disp, screen) (0) #define WhitePixel(disp, screen) (-1) /* Same as definition in X11/cursorfont.h */ #define XC_xterm 152 #define XC_left_ptr 68 /* Same as definition in X11/Xutil.h */ #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height); KeySym XStringToKeysym(char *str); /* === Platform dependent options === */ #define UI_COLOR_HAS_RGB #undef SUPPORT_TRUE_TRANSPARENT_BG #ifdef USE_FREETYPE /* XXX pcf fonts isn't scalable, though... */ #define TYPE_XCORE_SCALABLE #else #undef TYPE_XCORE_SCALABLE #endif #define MANAGE_ROOT_WINDOWS_BY_MYSELF #define MANAGE_SUB_WINDOWS_BY_MYSELF /* See also fb/ui_display.c where ui_picture_display_closed() is never called. */ #define INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #undef SUPPORT_POINT_SIZE_FONT #undef XIM_SPOT_IS_LINE_TOP #undef USE_GC #undef CHANGEABLE_CURSOR #define PLUGIN_MODULE_SUFFIX "fb" #if defined(__NetBSD__) && !defined(USE_GRF) #define KEY_REPEAT_BY_MYSELF #else #undef KEY_REPEAT_BY_MYSELF #endif #define ROTATABLE_DISPLAY #define PSEUDO_COLOR_DISPLAY #if defined(__NetBSD__) || defined(__OpenBSD__) /* for old machines */ #define WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #else #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #endif #undef SUPPORT_URGENT_BELL #undef FORCE_UNICODE #undef NEED_DISPLAY_SYNC_EVERY_TIME #define DRAW_SCREEN_IN_PIXELS #undef NO_DRAW_IMAGE_STRING /* * libpthread is not linked to mlterm explicitly for now. * * Threading is not supported for 8 or less bpp framebuffer imaging * because of ui_display_enable_to_change_cmap() and ui_display_set_cmap(). */ #undef HAVE_PTHREAD #define COMPOSE_DECSP_FONT #ifdef USE_FREETYPE #define USE_REAL_VERTICAL_FONT #else #undef USE_REAL_VERTICAL_FONT #endif #endif mlterm-3.8.4/uitoolkit/fb/ui_display_freebsd.c010064400017600000144000000265131321054731200201430ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include #define SYSMOUSE_PACKET_SIZE 8 /* --- static variables --- */ static keymap_t keymap; /* --- static functions --- */ static int open_display(u_int depth) { char *dev; int vmode; video_info_t vinfo; video_adapter_info_t vainfo; video_display_start_t vstart; struct termios tm; bl_priv_restore_euid(); bl_priv_restore_egid(); _display.fb_fd = open((dev = getenv("FRAMEBUFFER")) ? dev : "/dev/ttyv0", O_RDWR); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_display.fb_fd < 0) { bl_error_printf("Couldn't open %s.\n", dev ? dev : "/dev/ttyv0"); return 0; } bl_file_set_cloexec(_display.fb_fd); ioctl(_display.fb_fd, FBIO_GETMODE, &vmode); vinfo.vi_mode = vmode; ioctl(_display.fb_fd, FBIO_MODEINFO, &vinfo); ioctl(_display.fb_fd, FBIO_ADPINFO, &vainfo); ioctl(_display.fb_fd, FBIO_GETDISPSTART, &vstart); if ((_display.fb = mmap(NULL, (_display.smem_len = vainfo.va_window_size), PROT_WRITE | PROT_READ, MAP_SHARED, _display.fb_fd, (off_t)0)) == MAP_FAILED) { bl_error_printf("Retry another mode of resolution and depth.\n"); goto error; } _disp.depth = vinfo.vi_depth; if ((_display.bytes_per_pixel = (_disp.depth + 7) / 8) == 3) { _display.bytes_per_pixel = 4; } if (_disp.depth < 15) { if (vainfo.va_mode == M_PC98_EGC640x400) { _display.pixels_per_byte = 8; _disp.depth = 4; _display.shift_0 = 7; _display.mask = 1; _display.plane_offset[0] = 0; /* 0xA8000 */ _display.plane_offset[1] = 0x8000; /* 0xB0000 */ _display.plane_offset[2] = 0x10000; /* 0xB8000 */ _display.plane_offset[3] = 0x38000; /* 0xE0000 */ } else if (_disp.depth < 8) { #ifdef ENABLE_2_4_PPB _display.pixels_per_byte = 8 / _disp.depth; #else /* XXX Forcibly set 1 bpp */ _display.pixels_per_byte = 8; _disp.depth = 1; #endif _display.shift_0 = FB_SHIFT_0(_display.pixels_per_byte, _disp.depth); _display.mask = FB_MASK(_display.pixels_per_byte); } else { _display.pixels_per_byte = 1; } if (!cmap_init()) { goto error; } } else { _display.pixels_per_byte = 1; } #ifdef ENABLE_DOUBLE_BUFFER if (_display.pixels_per_byte > 1 && !(_display.back_fb = malloc(_display.smem_len))) { cmap_final(); goto error; } #endif _display.line_length = vainfo.va_line_width; _display.xoffset = vstart.x; _display.yoffset = vstart.y; _display.width = _disp.width = vinfo.vi_width; _display.height = _disp.height = vinfo.vi_height; _display.rgbinfo.r_limit = 8 - vinfo.vi_pixel_fsizes[0]; _display.rgbinfo.g_limit = 8 - vinfo.vi_pixel_fsizes[1]; _display.rgbinfo.b_limit = 8 - vinfo.vi_pixel_fsizes[2]; _display.rgbinfo.r_offset = vinfo.vi_pixel_fields[0]; _display.rgbinfo.g_offset = vinfo.vi_pixel_fields[1]; _display.rgbinfo.b_offset = vinfo.vi_pixel_fields[2]; tcgetattr(STDIN_FILENO, &tm); orig_tm = tm; tm.c_iflag = tm.c_oflag = 0; tm.c_cflag &= ~CSIZE; tm.c_cflag |= CS8; tm.c_lflag &= ~(ECHO | ISIG | IEXTEN | ICANON); tm.c_cc[VMIN] = 1; tm.c_cc[VTIME] = 0; tcsetattr(STDIN_FILENO, TCSAFLUSH, &tm); ioctl(STDIN_FILENO, GIO_KEYMAP, &keymap); ioctl(STDIN_FILENO, KDSKBMODE, K_CODE); ioctl(STDIN_FILENO, KDGKBSTATE, &_display.lock_state); _display.fd = STDIN_FILENO; _disp.display = &_display; bl_priv_restore_euid(); bl_priv_restore_egid(); _mouse.fd = open("/dev/sysmouse", O_RDWR | O_NONBLOCK); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_mouse.fd != -1) { int level; mousemode_t mode; struct mouse_info info; level = 1; ioctl(_mouse.fd, MOUSE_SETLEVEL, &level); ioctl(_mouse.fd, MOUSE_GETMODE, &mode); if (mode.packetsize != SYSMOUSE_PACKET_SIZE) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to open /dev/sysmouse.\n"); #endif close(_mouse.fd); _mouse.fd = -1; } else { bl_file_set_cloexec(_mouse.fd); _mouse.x = _display.width / 2; _mouse.y = _display.height / 2; _disp_mouse.display = (Display*)&_mouse; tcgetattr(_mouse.fd, &tm); tm.c_iflag = IGNBRK | IGNPAR; tm.c_oflag = 0; tm.c_lflag = 0; tm.c_cc[VTIME] = 0; tm.c_cc[VMIN] = 1; tm.c_cflag = CS8 | CSTOPB | CREAD | CLOCAL | HUPCL; cfsetispeed(&tm, B1200); cfsetospeed(&tm, B1200); tcsetattr(_mouse.fd, TCSAFLUSH, &tm); info.operation = MOUSE_HIDE; ioctl(STDIN_FILENO, CONS_MOUSECTL, &info); } } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " Failed to open /dev/sysmouse.\n"); } #endif return 1; error: if (_display.fb) { munmap(_display.fb, _display.smem_len); _display.fb = NULL; } close(_display.fb_fd); return 0; } static int receive_mouse_event(void) { u_char buf[64]; ssize_t len; while ((len = read(_mouse.fd, buf, sizeof(buf))) > 0) { static u_char packet[SYSMOUSE_PACKET_SIZE]; static ssize_t packet_len; ssize_t count; for (count = 0; count < len; count++) { int x; int y; int z; int move; struct timeval tv; XButtonEvent xev; ui_window_t *win; if (packet_len == 0) { if ((buf[count] & 0xf8) != 0x80) { /* is not packet header */ continue; } } packet[packet_len++] = buf[count]; if (packet_len < SYSMOUSE_PACKET_SIZE) { continue; } packet_len = 0; /* set mili seconds */ gettimeofday(&tv, NULL); xev.time = tv.tv_sec * 1000 + tv.tv_usec / 1000; move = 0; if ((x = (char)packet[1] + (char)packet[3]) != 0) { restore_hidden_region(); _mouse.x += x; if (_mouse.x < 0) { _mouse.x = 0; } else if (_display.width <= _mouse.x) { _mouse.x = _display.width - 1; } move = 1; } if ((y = (char)packet[2] + (char)packet[4]) != 0) { restore_hidden_region(); _mouse.y -= y; if (_mouse.y < 0) { _mouse.y = 0; } else if (_display.height <= _mouse.y) { _mouse.y = _display.height - 1; } move = 1; } z = ((char)(packet[5] << 1) + (char)(packet[6] << 1)) >> 1; if (move) { update_mouse_cursor_state(); } if (~packet[0] & 0x04) { xev.button = Button1; _mouse.button_state = Button1Mask; } else if (~packet[0] & 0x02) { xev.button = Button2; _mouse.button_state = Button2Mask; } else if (~packet[0] & 0x01) { xev.button = Button3; _mouse.button_state = Button3Mask; } else if (z < 0) { xev.button = Button4; _mouse.button_state = Button4Mask; } else if (z > 0) { xev.button = Button5; _mouse.button_state = Button5Mask; } else { xev.button = 0; } if (move) { xev.type = MotionNotify; xev.state = _mouse.button_state | _display.key_state; } else { if (xev.button) { xev.type = ButtonPress; } else { xev.type = ButtonRelease; if (_mouse.button_state & Button1Mask) { xev.button = Button1; } else if (_mouse.button_state & Button2Mask) { xev.button = Button2; } else if (_mouse.button_state & Button3Mask) { xev.button = Button3; } else if (_mouse.button_state & Button4Mask) { xev.button = Button4; } else if (_mouse.button_state & Button5Mask) { xev.button = Button5; } /* Reset button_state in releasing button */ _mouse.button_state = 0; } xev.state = _display.key_state; } if (rotate_display) { if (rotate_display > 0) { xev.x = _mouse.y; xev.y = _display.width - _mouse.x - 1; } else { xev.x = _display.height - _mouse.y - 1; xev.y = _mouse.x; } } else { xev.x = _mouse.x; xev.y = _mouse.y; } #ifdef __DEBUG bl_debug_printf( BL_DEBUG_TAG "Button is %s x %d y %d btn %d time %d\n", xev.type == ButtonPress ? "pressed" : xev.type == MotionNotify ? "motion" : "released", xev.x, xev.y, xev.button, xev.time); #endif if (!check_virtual_kbd(&xev)) { win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); } if (move) { save_hidden_region(); draw_mouse_cursor(); } } } return 1; } static int receive_key_event(void) { u_char code; while (read(_display.fd, &code, 1) == 1) { XKeyEvent xev; int pressed; if (code & 0x80) { pressed = 0; code &= 0x7f; } else { pressed = 1; } if (code >= keymap.n_keys) { continue; } if (keymap.key[code].flgs & 2) { /* The key should react on num-lock(2). (Keypad keys) */ int kcode; if ((kcode = keymap.key[code].map[0]) != 0 && pressed) { /* * KEY_KP0 etc are 0x100 larger than KEY_INSERT etc to * distinguish them. * (see ui.h) */ xev.ksym = kcode + 0x200; goto send_event; } } else if (!(keymap.key[code].spcl & 0x80)) { /* Character keys */ if (pressed) { int idx; idx = (_display.key_state & 0x7); if ((keymap.key[code].flgs & 1) && (_display.lock_state & CLKED)) { /* xor shift bit(1) */ idx ^= 1; } #if 1 if (code == 41) { xev.ksym = XK_Zenkaku_Hankaku; } else if (code == 121) { xev.ksym = XK_Henkan_Mode; } else if (code == 123) { xev.ksym = XK_Muhenkan; } else #endif { xev.ksym = keymap.key[code].map[idx]; } goto send_event; } } else { /* Function keys */ int kcode; if ((kcode = keymap.key[code].map[0]) == 0) { /* do nothing */ } else if (pressed) { if (kcode == KEY_RIGHTSHIFT || kcode == KEY_LEFTSHIFT) { _display.key_state |= ShiftMask; } else if (kcode == KEY_RIGHTCTRL || kcode == KEY_LEFTCTRL) { _display.key_state |= ControlMask; } else if (kcode == KEY_RIGHTALT || kcode == KEY_LEFTALT) { _display.key_state |= Mod1Mask; } else if (kcode == KEY_NUMLOCK) { _display.lock_state ^= NLKED; } else if (kcode == KEY_CAPSLOCK) { _display.lock_state ^= CLKED; } else { xev.ksym = kcode + 0x100; goto send_event; } } else { if (kcode == KEY_RIGHTSHIFT || kcode == KEY_LEFTSHIFT) { _display.key_state &= ~ShiftMask; } else if (kcode == KEY_RIGHTCTRL || kcode == KEY_LEFTCTRL) { _display.key_state &= ~ControlMask; } else if (kcode == KEY_RIGHTALT || kcode == KEY_LEFTALT) { _display.key_state &= ~Mod1Mask; } } } continue; send_event: xev.type = KeyPress; xev.state = _mouse.button_state | _display.key_state; xev.keycode = code; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "scancode %d -> ksym 0x%x state 0x%x\n", code, xev.ksym, xev.state); #endif receive_event_for_multi_roots(&xev); } return 1; } mlterm-3.8.4/uitoolkit/fb/ui_imagelib.c010064400017600000144000000401451321054731200165520ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef NO_IMAGE #include "../ui_imagelib.h" #include /* sprintf */ #include /* write , STDIN_FILENO */ #include /* waitpid */ #ifdef DLOPEN_LIBM #include /* dynamically loading pow */ #else #include /* pow */ #endif #include #include #include /* BL_LIBEXECDIR */ #include "ui_display.h" /* ui_cmap_get_closest_color */ /* Trailing "/" is appended in value_table_refresh(). */ #ifndef LIBMDIR #define LIBMDIR "/lib" #endif #if 1 #define BUILTIN_SIXEL #endif /* --- static functions --- */ static void value_table_refresh(u_char *value_table, /* 256 bytes */ ui_picture_modifier_t *mod) { int i, tmp; double real_gamma, real_brightness, real_contrast; static double (*pow_func)(double, double); real_gamma = (double)(mod->gamma) / 100; real_contrast = (double)(mod->contrast) / 100; real_brightness = (double)(mod->brightness) / 100; if (!pow_func) { #ifdef DLOPEN_LIBM bl_dl_handle_t handle; if ((!(handle = bl_dl_open(LIBMDIR "/", "m")) && !(handle = bl_dl_open("", "m"))) || !(pow_func = bl_dl_func_symbol(handle, "pow"))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load pow in libm.so\n"); #endif if (handle) { bl_dl_close(handle); } /* * gamma, contrast and brightness options are ignored. * (alpha option still survives.) */ for (i = 0; i < 256; i++) { value_table[i] = i; } return; } bl_dl_close_at_exit(handle); #else /* DLOPEN_LIBM */ pow_func = pow; #endif /* DLOPEN_LIBM */ } for (i = 0; i < 256; i++) { tmp = real_contrast * (255 * (*pow_func)(((double)i + 0.5) / 255, real_gamma) - 128) + 128 * real_brightness; if (tmp >= 255) { break; } else if (tmp < 0) { value_table[i] = 0; } else { value_table[i] = tmp; } } for (; i < 256; i++) { value_table[i] = 255; } } static void modify_pixmap(Display *display, Pixmap pixmap, ui_picture_modifier_t *pic_mod, u_int depth) { u_char *value_table; u_int32_t *src; u_char *dst; u_int num_pixels; u_int count; u_char r, g, b; u_long pixel; if (!ui_picture_modifier_is_normal(pic_mod) && (value_table = alloca(256))) { value_table_refresh(value_table, pic_mod); } else if (display->bytes_per_pixel == 4 && /* RRGGBB */ display->rgbinfo.r_offset == 16 && display->rgbinfo.g_offset == 8 && display->rgbinfo.b_offset == 0) { return; } else { value_table = NULL; } src = dst = pixmap->image; num_pixels = pixmap->width * pixmap->height; for (count = 0; count < num_pixels; count++) { pixel = *(src++); r = (pixel >> 16) & 0xff; g = (pixel >> 8) & 0xff; b = pixel & 0xff; if (value_table) { r = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; g = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; b = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; } if (ui_cmap_get_closest_color(&pixel, r, g, b)) { #ifdef USE_GRF *((u_int16_t *)dst) = pixel; dst += 2; #else *(dst++) = pixel; #endif } else { pixel = RGB_TO_PIXEL(r, g, b, display->rgbinfo) | (depth == 32 ? (pixel & 0xff000000) : 0); if (display->bytes_per_pixel == 2) { *((u_int16_t *)dst) = pixel; dst += 2; } else /* if( display->bytes_per_pixel == 4) */ { *((u_int32_t *)dst) = pixel; dst += 4; } } } if (display->bytes_per_pixel < 4) { void *p; if ((p = realloc(pixmap->image, pixmap->width * pixmap->height * display->bytes_per_pixel))) { pixmap->image = p; } } } #ifdef BUILTIN_SIXEL #include #include #include /* SSIZE_MAX */ /* * This function resizes the sixel image to the specified size and shrink * pixmap->image. * It frees pixmap->image in failure. * Call resize_sixel() after load_sixel_from_file() because it returns at least * 1024*1024 pixels memory even if the actual image size is less than 1024*1024. */ static int resize_sixel(Pixmap pixmap, u_int width, u_int height, u_int bytes_per_pixel) { void *p; size_t line_len; size_t old_line_len; size_t image_len; size_t old_image_len; u_char *dst; u_char *src; int y; u_int min_height; p = NULL; if ((width == 0 || width == pixmap->width) && (height == 0 || height == pixmap->height)) { goto end; } if (width > SSIZE_MAX / bytes_per_pixel / height) { goto error; } old_line_len = pixmap->width * bytes_per_pixel; line_len = width * bytes_per_pixel; image_len = line_len * height; old_image_len = old_line_len * pixmap->height; if (image_len > old_image_len) { if (!(p = realloc(pixmap->image, image_len))) { goto error; } pixmap->image = p; } /* Tiling */ min_height = K_MIN(height, pixmap->height); if (width > pixmap->width) { size_t surplus; u_int num_copy; u_int count; u_char *dst_next; y = min_height - 1; src = pixmap->image + old_line_len * y; dst = pixmap->image + line_len * y; surplus = line_len % old_line_len; num_copy = line_len / old_line_len - 1; for (; y >= 0; y--) { dst_next = memmove(dst, src, old_line_len); for (count = num_copy; count > 0; count--) { memcpy((dst_next += old_line_len), dst, old_line_len); } memcpy(dst_next + old_line_len, dst, surplus); dst -= line_len; src -= old_line_len; } } else if (width < pixmap->width) { src = pixmap->image + old_line_len; dst = pixmap->image + line_len; for (y = 1; y < min_height; y++) { memmove(dst, src, old_line_len); dst += line_len; src += old_line_len; } } if (height > pixmap->height) { y = pixmap->height; src = pixmap->image; dst = src + line_len * y; for (; y < height; y++) { memcpy(dst, src, line_len); dst += line_len; src += line_len; } } bl_msg_printf("Resize sixel from %dx%d to %dx%d\n", pixmap->width, pixmap->height, width, height); pixmap->width = width; pixmap->height = height; end: /* Always realloate pixmap->image according to its width, height and * bytes_per_pixel. */ if (!p && (p = realloc(pixmap->image, pixmap->width * pixmap->height * bytes_per_pixel))) { pixmap->image = p; } return 1; error: free(pixmap->image); return 0; } #define CARD_HEAD_SIZE 0 #include "../../common/c_sixel.c" /* For old machines (not to use mlimgloader) */ #if (defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(USE_GRF) #define SIXEL_1BPP #include "../../common/c_sixel.c" #undef SIXEL_1BPP /* depth should be checked by the caller. */ static int load_sixel_with_mask_from_data_1bpp(char *file_data, u_int width, u_int height, Pixmap *pixmap, PixmapMask *mask) { int x; int y; u_char *src; #if 0 u_char *dst; #endif if (!(*pixmap = calloc(1, sizeof(**pixmap)))) { return 0; } if (!((*pixmap)->image = load_sixel_from_data_1bpp(file_data, &(*pixmap)->width, &(*pixmap)->height)) || /* resize_sixel() frees pixmap->image in failure. */ !resize_sixel(*pixmap, width, height, 1)) { free(*pixmap); return 0; } src = (*pixmap)->image; #if 0 if (mask && (dst = *mask = calloc(1, (*pixmap)->width * (*pixmap)->height))) { int has_tp; has_tp = 0; for (y = 0; y < (*pixmap)->height; y++) { for (x = 0; x < (*pixmap)->width; x++) { if (*src >= 0x80) { *dst = 1; /* clear opaque mark */ *src &= 0x7f; } else { has_tp = 1; } src++; dst++; } } if (!has_tp) { free(*mask); *mask = None; } } else { for (y = 0; y < (*pixmap)->height; y++) { for (x = 0; x < (*pixmap)->width; x++) { /* clear opaque mark */ *(src++) &= 0x7f; } } } #else { u_char bg_color; u_char *p; if (mask) { *mask = None; } bg_color = 0; p = src; /* Guess the current screen background color. */ for (y = 0; y < (*pixmap)->height; y++) { for (x = 0; x < (*pixmap)->width; x++) { if (*p >= 0x80) { bg_color = (((*p) & 0x7f) == 1) ? 0 : 1; break; } p++; } } for (y = 0; y < (*pixmap)->height; y++) { for (x = 0; x < (*pixmap)->width; x++) { if (*src >= 0x80) { /* clear opaque mark */ *(src++) &= 0x7f; } else { /* replace transparent pixel by the background color */ *(src++) = bg_color; } } } } #endif return 1; } #endif #endif /* BUILTIN_SIXEL */ #define SIXEL_SHAREPALETTE #include "../../common/c_sixel.c" #undef SIXEL_SHAREPALETTE static int load_file(Display *display, char *path, u_int width, u_int height, ui_picture_modifier_t *pic_mod, u_int depth, Pixmap *pixmap, PixmapMask *mask) { pid_t pid; int fds1[2]; int fds2[2]; ssize_t size; u_int32_t tmp; if (!path || !*path) { return 0; } #ifdef BUILTIN_SIXEL if (strcasecmp(path + strlen(path) - 4, ".six") == 0) { char *file_data; if (!(file_data = read_sixel_file(path))) { return 0; } /* For old machines */ #if (defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(USE_GRF) if (depth == 1) { /* pic_mod is ignored. */ if (load_sixel_with_mask_from_data_1bpp(file_data, width, height, pixmap, mask)) { free(file_data); return 1; } } else #endif if ( /* For old machines and Android (not to use mlimgloader) */ #if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__ANDROID__) width == 0 && height == 0 && #endif (*pixmap = calloc(1, sizeof(**pixmap)))) { #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE u_int32_t *sixel_cmap; #endif if (depth <= 8) { if (ui_picture_modifier_is_normal(pic_mod) /* see modify_pixmap() */) { if (((*pixmap)->image = load_sixel_from_data_sharepalette(file_data, &(*pixmap)->width, &(*pixmap)->height)) && resize_sixel(*pixmap, width, height, #ifdef USE_GRF 2 #else 1 #endif )) { if (mask) { *mask = NULL; } free(file_data); goto loaded_nomodify; } } bl_msg_printf("Use closest colors for %s.\n", path); } #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE if (!(sixel_cmap = custom_palette) && (sixel_cmap = alloca(sizeof(*sixel_cmap) * 257))) { sixel_cmap[256] = 0; /* No active palette */ custom_palette = sixel_cmap; } #endif if (((*pixmap)->image = load_sixel_from_data(file_data, &(*pixmap)->width, &(*pixmap)->height)) && /* resize_sixel() frees pixmap->image in failure. */ resize_sixel(*pixmap, width, height, 4)) { #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE if (sixel_cmap) { /* see set_wall_picture() in ui_screen.c */ ui_display_set_cmap(sixel_cmap, sixel_cmap[256]); } #endif free(file_data); goto loaded; } else { free(*pixmap); } } free(file_data); } #endif /* BUILTIN_SIXEL */ #ifdef __ANDROID__ if (!(*pixmap = calloc(1, sizeof(**pixmap)))) { return 0; } (*pixmap)->width = width; (*pixmap)->height = height; if (!((*pixmap)->image = ui_display_get_bitmap(path, &(*pixmap)->width, &(*pixmap)->height))) { goto error; } #else if (pipe(fds1) == -1) { return 0; } if (pipe(fds2) == -1) { close(fds1[0]); close(fds1[1]); return 0; } pid = fork(); if (pid == -1) { close(fds1[0]); close(fds1[1]); close(fds2[0]); close(fds2[0]); return 0; } if (pid == 0) { /* child process */ char *args[7]; char width_str[DIGIT_STR_LEN(u_int) + 1]; char height_str[DIGIT_STR_LEN(u_int) + 1]; args[0] = BL_LIBEXECDIR("mlterm") "/mlimgloader"; args[1] = "0"; sprintf(width_str, "%u", width); args[2] = width_str; sprintf(height_str, "%u", height); args[3] = height_str; args[4] = path; args[5] = "-c"; args[6] = NULL; close(fds1[1]); close(fds2[0]); if (dup2(fds1[0], STDIN_FILENO) != -1 && dup2(fds2[1], STDOUT_FILENO) != -1) { execv(args[0], args); } bl_msg_printf("Failed to exec %s.\n", args[0]); exit(1); } close(fds1[0]); close(fds2[1]); if (!(*pixmap = calloc(1, sizeof(**pixmap)))) { goto error; } if (read(fds2[0], &tmp, sizeof(u_int32_t)) != sizeof(u_int32_t)) { goto error; } size = ((*pixmap)->width = tmp) * sizeof(u_int32_t); if (read(fds2[0], &tmp, sizeof(u_int32_t)) != sizeof(u_int32_t)) { goto error; } size *= ((*pixmap)->height = tmp); if (!((*pixmap)->image = malloc(size))) { goto error; } else { u_char *p; ssize_t n_rd; p = (*pixmap)->image; while ((n_rd = read(fds2[0], p, size)) > 0) { p += n_rd; size -= n_rd; } if (size > 0) { goto error; } } close(fds2[0]); close(fds1[1]); /* bl_pty_fork() in vt_pty_unix_new() may block without this in startup. */ #if 1 waitpid(pid, NULL, 0); #endif #endif loaded: if (mask) { u_char *dst; if ((dst = *mask = calloc(1, (*pixmap)->width * (*pixmap)->height))) { int x; int y; int has_tp; u_int32_t *src; has_tp = 0; src = (u_int32_t *)(*pixmap)->image; for (y = 0; y < (*pixmap)->height; y++) { for (x = 0; x < (*pixmap)->width; x++) { if (*(src++) >= 0x80000000) { *dst = 1; } else { has_tp = 1; } dst++; } } if (!has_tp) { free(*mask); *mask = None; } } } modify_pixmap(display, *pixmap, pic_mod, depth); loaded_nomodify: #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s(w %d h %d) is loaded%s.\n", path, (*pixmap)->width, (*pixmap)->height, (mask && *mask) ? " (has mask)" : ""); #endif return 1; error: #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load %s\n", path); #endif if (*pixmap) { free((*pixmap)->image); free(*pixmap); } close(fds2[0]); close(fds1[1]); return 0; } /* --- global functions --- */ void ui_imagelib_display_opened(Display *display) {} void ui_imagelib_display_closed(Display *display) {} Pixmap ui_imagelib_load_file_for_background(ui_window_t *win, char *path, ui_picture_modifier_t *pic_mod) { Pixmap pixmap; #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE ui_display_enable_to_change_cmap(1); #endif if (!load_file(win->disp->display, path, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), pic_mod, win->disp->depth, &pixmap, NULL)) { pixmap = None; } #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE ui_display_enable_to_change_cmap(0); #endif return pixmap; } int ui_imagelib_root_pixmap_available(Display *display) { return 0; } Pixmap ui_imagelib_get_transparent_background(ui_window_t *win, ui_picture_modifier_t *pic_mod) { return None; } int ui_imagelib_load_file(ui_display_t *disp, char *path, u_int32_t **cardinal, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height) { if (cardinal) { return 0; } if (!load_file(disp->display, path, *width, *height, NULL, disp->depth, pixmap, mask)) { return 0; } if (*width == 0 || *height == 0) { *width = (*pixmap)->width; *height = (*pixmap)->height; } return 1; } void ui_delete_image(Display *display, Pixmap pixmap) { free(pixmap->image); free(pixmap); } void ui_delete_mask(Display *display, PixmapMask mask /* can be NULL */) { if (mask) { free(mask); } } #endif /* NO_IMAGE */ mlterm-3.8.4/uitoolkit/fb/ui_display_x68kgrf.c010064400017600000144000000516401321054731200200270ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include /* VT_GETSTATE */ #include #include #include #define get_key_state() (0) typedef struct fb_reg { /* CRT controller */ struct { u_short r00, r01, r02, r03, r04, r05, r06, r07; u_short r08, r09, r10, r11, r12, r13, r14, r15; u_short r16, r17, r18, r19, r20, r21, r22, r23; char pad0[0x450]; u_short ctrl; char pad1[0x1b7e]; } crtc; u_short gpal[256]; /* graphic palette */ u_short tpal[256]; /* text palette */ /* video controller */ struct { u_short r0; char pad0[0xfe]; u_short r1; char pad1[0xfe]; u_short r2; char pad2[0x19fe]; } videoc; u_short pad0[0xa000]; /* system port */ struct { u_short r1, r2, r3, r4; u_short pad0[2]; u_short r5, r6; u_short pad[0x1ff0]; } sysport; } fb_reg_t; typedef struct fb_reg_conf { struct { u_short r00, r01, r02, r03, r04, r05, r06, r07, r08, r20; } crtc; struct { u_short r0, r1, r2; } videoc; } fb_reg_conf_t; /* --- static variables --- */ static int console_id = -1; u_int fb_width = 768; u_int fb_height = 512; u_int fb_depth = 4; int separate_wall_picture = 1; static fb_reg_conf_t orig_reg; static int grf0_fd = -1; static size_t grf0_len; static fb_reg_t *grf0_reg; static u_short *tpal_orig; static u_short gpal_12_orig; static int use_tvram_cmap; static fb_cmap_t *tcmap; /* If NULL, T-VRAM palette is the same as G-VRAM. */ static fb_cmap_t *gcmap; /* --- static functions --- */ static void close_grf0(void) { if (grf0_fd != -1) { if (tcmap) { free(tcmap); tcmap = NULL; } grf0_reg->gpal[TP_COLOR] = gpal_12_orig; if (tpal_orig) { memcpy(grf0_reg->tpal, tpal_orig, sizeof(u_short) * 16); free(tpal_orig); } grf0_reg->videoc.r2 = 0x0010; munmap(grf0_reg, grf0_len); close(grf0_fd); grf0_fd = -1; } } static void setup_reg(fb_reg_t *reg, fb_reg_conf_t *conf) { if ((reg->crtc.r20 & 0x3) < (conf->crtc.r20 & 0x3) || ((reg->crtc.r20 & 0x3) == (conf->crtc.r20 & 0x3) && (reg->crtc.r20 & 0x10) < (conf->crtc.r20 & 0x10))) { /* to higher resolution */ reg->crtc.r00 = conf->crtc.r00; reg->crtc.r01 = conf->crtc.r01; reg->crtc.r02 = conf->crtc.r02; reg->crtc.r03 = conf->crtc.r03; reg->crtc.r04 = conf->crtc.r04; reg->crtc.r05 = conf->crtc.r05; reg->crtc.r06 = conf->crtc.r06; reg->crtc.r07 = conf->crtc.r07; reg->crtc.r20 = conf->crtc.r20; } else { /* to lower resolution */ reg->crtc.r20 = conf->crtc.r20; reg->crtc.r01 = conf->crtc.r01; reg->crtc.r02 = conf->crtc.r02; reg->crtc.r03 = conf->crtc.r03; reg->crtc.r04 = conf->crtc.r04; reg->crtc.r05 = conf->crtc.r05; reg->crtc.r06 = conf->crtc.r06; reg->crtc.r07 = conf->crtc.r07; reg->crtc.r00 = conf->crtc.r00; } reg->crtc.r08 = conf->crtc.r08; reg->videoc.r0 = conf->videoc.r0; reg->videoc.r1 = conf->videoc.r1; reg->videoc.r2 = conf->videoc.r2; } static int open_display(u_int depth) { char *dev; struct grfinfo vinfo; fb_reg_t *reg; fb_reg_conf_t *conf; fb_reg_conf_t conf_512_512_15 = {{91, 9, 17, 81, 567, 5, 40, 552, 27, 789}, {3, 0x21e4, 0x000f}}; fb_reg_conf_t conf_512_512_8 = {{91, 9, 17, 81, 567, 5, 40, 552, 27, 277}, {1, 0x21e4, 0x0003}}; fb_reg_conf_t conf_768_512_4 = {{137, 14, 28, 124, 567, 5, 40, 552, 27, 1046}, {4, 0x24e4 /* Graphic vram is prior to text one. */, 0x0010}}; fb_reg_conf_t conf_1024_768_4 = {{169, 14, 28, 156, 439, 5, 40, 424, 27, 1050}, {4, 0x21e4, 0x0010}}; struct rgb_info rgb_info_15bpp = {3, 3, 3, 6, 11, 1}; struct termios tm; bl_priv_restore_euid(); bl_priv_restore_egid(); _display.fb_fd = open((dev = getenv("FRAMEBUFFER")) ? dev : "/dev/grf1", O_RDWR); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_display.fb_fd < 0) { bl_error_printf("Couldn't open %s.\n", dev ? dev : "/dev/grf1"); return 0; } bl_file_set_cloexec(_display.fb_fd); if (ioctl(_display.fb_fd, GRFIOCGINFO, &vinfo) == -1) { goto error; } _display.smem_len = vinfo.gd_fbsize + vinfo.gd_regsize; if ((_display.fb = mmap(NULL, _display.smem_len, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, _display.fb_fd, (off_t)0)) == MAP_FAILED) { bl_error_printf("Retry another mode of resolution and depth.\n"); goto error; } reg = _display.fb; /* XXX Here reg->crtc.rXX are 0 which will slide the screen unexpectedly on * exit. */ #if 0 orig_reg.crtc.r00 = reg->crtc.r00; orig_reg.crtc.r01 = reg->crtc.r01; orig_reg.crtc.r02 = reg->crtc.r02; orig_reg.crtc.r03 = reg->crtc.r03; orig_reg.crtc.r04 = reg->crtc.r04; orig_reg.crtc.r05 = reg->crtc.r05; orig_reg.crtc.r06 = reg->crtc.r06; orig_reg.crtc.r07 = reg->crtc.r07; orig_reg.crtc.r08 = reg->crtc.r08; orig_reg.crtc.r20 = reg->crtc.r20; orig_reg.videoc.r0 = reg->videoc.r0; orig_reg.videoc.r1 = reg->videoc.r1; orig_reg.videoc.r2 = reg->videoc.r2; bl_debug_printf(BL_DEBUG_TAG " crtc %d %d %d %d %d %d %d %d %d 0x%x videoc 0x%x 0x%x 0x%x\n", orig_reg.crtc.r00, orig_reg.crtc.r01, orig_reg.crtc.r02, orig_reg.crtc.r03, orig_reg.crtc.r04, orig_reg.crtc.r05, orig_reg.crtc.r06, orig_reg.crtc.r07, orig_reg.crtc.r08, orig_reg.crtc.r20, orig_reg.videoc.r0, orig_reg.videoc.r1, orig_reg.videoc.r2); #else orig_reg = conf_768_512_4; orig_reg.videoc.r2 = 0x20; #endif if (fb_depth == 15) { conf = &conf_512_512_15; _display.width = _disp.width = 512; _display.height = _disp.height = 512; _disp.depth = 15; _display.rgbinfo = rgb_info_15bpp; } else { if (fb_depth == 8) { conf = &conf_512_512_8; _display.width = _disp.width = 512; _display.height = _disp.height = 512; _disp.depth = 8; } else /* if( fb_depth == 4) */ { if (fb_width == 1024 && fb_height == 768) { conf = &conf_1024_768_4; _display.width = _disp.width = 1024; _display.height = _disp.height = 768; } else { conf = &conf_768_512_4; _display.width = _disp.width = 768; _display.height = _disp.height = 512; } if (fb_depth == 1) { _disp.depth = 1; } else { _disp.depth = 4; } } if (!cmap_init()) { goto error; } } _display.bytes_per_pixel = 2; _display.pixels_per_byte = 1; _display.line_length = (_disp.width * 2 + 1023) / 1024 * 1024; _display.xoffset = 0; /* XXX gd_regsize is regarded as multiple of line_length */ _display.yoffset = vinfo.gd_regsize / _display.line_length; setup_reg(reg, conf); #ifdef ENABLE_DOUBLE_BUFFER if (_display.pixels_per_byte > 1 && !(_display.back_fb = malloc(_display.smem_len))) { goto error; } #endif tcgetattr(STDIN_FILENO, &tm); orig_tm = tm; tm.c_iflag = tm.c_oflag = 0; tm.c_cflag &= ~CSIZE; tm.c_cflag |= CS8; tm.c_lflag &= ~(ECHO | ISIG | IEXTEN | ICANON); tm.c_cc[VMIN] = 1; tm.c_cc[VTIME] = 0; tcsetattr(STDIN_FILENO, TCSAFLUSH, &tm); bl_priv_restore_euid(); bl_priv_restore_egid(); if ((_display.fd = open("/dev/kbd", O_RDONLY)) >= 0) { int mode; fcntl(_display.fd, F_SETOWN, getpid()); fcntl(_display.fd, F_SETFL, O_NONBLOCK | O_ASYNC); mode = 1; ioctl(_display.fd, KIOCSDIRECT, &mode); } else { _display.fd = STDIN_FILENO; } if ((_mouse.fd = open("/dev/mouse", O_RDONLY)) >= 0) { int format; format = VUID_FIRM_EVENT; ioctl(_mouse.fd, VUIDSFORMAT, &format); fcntl(_mouse.fd, F_SETOWN, getpid()); fcntl(_mouse.fd, F_SETFL, O_NONBLOCK | O_ASYNC); } bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_mouse.fd != -1) { bl_file_set_cloexec(_mouse.fd); _mouse.x = _display.width / 2; _mouse.y = _display.height / 2; _disp_mouse.display = (Display*)&_mouse; #if 0 tcgetattr(_mouse.fd, &tm); tm.c_iflag = IGNBRK | IGNPAR; tm.c_oflag = 0; tm.c_lflag = 0; tm.c_cc[VTIME] = 0; tm.c_cc[VMIN] = 1; tm.c_cflag = CS8 | CSTOPB | CREAD | CLOCAL | HUPCL; cfsetispeed(&tm, B1200); cfsetospeed(&tm, B1200); tcsetattr(_mouse.fd, TCSAFLUSH, &tm); #endif } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " Failed to open /dev/wsmouse.\n"); } #endif _disp.display = &_display; console_id = get_active_console(); return 1; error: cmap_final(); if (_display.fb) { setup_reg(reg, &orig_reg); munmap(_display.fb, _display.smem_len); _display.fb = NULL; } close(_display.fb_fd); ioctl(_display.fb_fd, GRFIOCOFF, 0); return 0; } static int receive_mouse_event(void) { #define MS_LEFT 0x7f20 /* left mouse button */ #define MS_MIDDLE 0x7f21 /* middle mouse button */ #define MS_RIGHT 0x7f22 /* right mouse button */ #define LOC_X_DELTA 0x7f80 /* mouse delta-X */ #define LOC_Y_DELTA 0x7f81 /* mouse delta-Y */ #define VKEY_UP 0 #define VKEY_DOWN 1 Firm_event ev; ssize_t len; if (console_id != get_active_console()) { return 0; } while ((len = read(_mouse.fd, memset(&ev, 0, sizeof(ev)), sizeof(ev))) > 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " MOUSE event (len)%d (id)%d (val)%d\n", len, ev.id, ev.value); #endif if (ev.value == VKEY_DOWN || ev.value == VKEY_UP) { XButtonEvent xev; ui_window_t *win; if (ev.id == MS_LEFT) { xev.button = Button1; _mouse.button_state = Button1Mask; } else if (ev.id == MS_MIDDLE) { xev.button = Button2; _mouse.button_state = Button2Mask; } else if (ev.id == MS_RIGHT) { xev.button = Button3; _mouse.button_state = Button3Mask; } else { continue; } if (ev.value == VKEY_DOWN) { xev.type = ButtonPress; } else /* if( ev.value == VKEY_UP) */ { xev.type = ButtonRelease; /* Reset button_state in releasing button. */ _mouse.button_state = 0; } xev.time = ev.time.tv_sec * 1000 + ev.time.tv_usec / 1000; xev.x = _mouse.x; xev.y = _mouse.y; xev.state = _display.key_state; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "Button is %s x %d y %d btn %d time %d\n", xev.type == ButtonPress ? "pressed" : "released", xev.x, xev.y, xev.button, xev.time); #endif if (!check_virtual_kbd(&xev)) { win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); } } else if (ev.id == LOC_X_DELTA || ev.id == LOC_Y_DELTA) { XMotionEvent xev; ui_window_t *win; restore_hidden_region(); if (ev.id == LOC_X_DELTA) { _mouse.x += ((int)ev.value * 2); if (_mouse.x < 0) { _mouse.x = 0; } else if (_display.width <= _mouse.x) { _mouse.x = _display.width - 1; } } else /* if( ev.id == LOC_Y_DELTA) */ { _mouse.y -= ((int)ev.value * 2); if (_mouse.y < 0) { _mouse.y = 0; } else if (_display.height <= _mouse.y) { _mouse.y = _display.height - 1; } } update_mouse_cursor_state(); xev.type = MotionNotify; xev.x = _mouse.x; xev.y = _mouse.y; xev.time = ev.time.tv_sec * 1000 + ev.time.tv_usec / 1000; xev.state = _mouse.button_state | _display.key_state; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Button is moved %d x %d y %d btn %d time %d\n", xev.type, xev.x, xev.y, xev.state, xev.time); #endif win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); save_hidden_region(); draw_mouse_cursor(); } } return 1; } static int receive_key_event(void) { static u_int16_t keymap[] = { XK_Escape, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '^', '\\', XK_BackSpace, XK_Tab, 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '@', '[', XK_Return, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', ':', ']', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', 0, ' ', XK_Home, XK_Delete, XK_Prior, XK_Next, 0 /* XK_Undo */, XK_Left, XK_Up, XK_Right, XK_Down, XK_Clear, XK_KP_Divide, XK_KP_Multiply, XK_KP_Subtract, XK_KP_7, XK_KP_8, XK_KP_9, XK_KP_Add, XK_KP_4, XK_KP_5, XK_KP_6, '=' /* XK_KP_Equal */, XK_KP_1, XK_KP_2, XK_KP_3, XK_Return /* XK_KP_Enter */, XK_KP_0, ',', '.', 0, 0 /* XK_Touroku */, XK_Help, XK_Alt_L, XK_Meta_L, XK_Meta_R, XK_Alt_R, XK_Control_R, 0 /* XK_Kana_Lock */, 0 /* XK_Romaji */, 0, XK_Caps_Lock, XK_Insert, XK_Hiragana_Katakana, XK_Zenkaku_Hankaku, 0 /* XK_Break */, XK_Print, XK_F1, XK_F2, XK_F3, XK_F4, XK_F5, XK_F6, XK_F7, XK_F8, XK_F9, XK_F10, 0, 0, 0, XK_Shift_L, XK_Control_L, XK_Super_L, XK_Super_R, }; static u_int8_t shift_keymap[] = { 0, '!', '\"', '#', '$', '%', '&', '\'', '(', ')', 0, '=', '~', '|', 0, 0, 'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P', '`', '{', 0, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '+', '*', '}', 'Z', 'X', 'C', 'V', 'B', 'N', 'M', '<', '>', '?', '_', }; Firm_event ev; if (_display.fd == STDIN_FILENO) { return receive_stdin_key_event(); } if (console_id != get_active_console()) { return 0; } while (read(_display.fd, memset(&ev, 0, sizeof(ev)), sizeof(ev)) > 0) { XKeyEvent xev; int pressed; int shift; pressed = (ev.value == VKEY_DOWN); ev.id--; ev.id &= 0x7f; if (_display.lock_state & CLKED) { shift = !(_display.key_state & ShiftMask); } else { shift = _display.key_state & ShiftMask; } if (!shift || ev.id >= sizeof(shift_keymap) / sizeof(*shift_keymap) || !(xev.ksym = shift_keymap[ev.id])) { if (ev.id >= sizeof(keymap) / sizeof(*keymap) || !(xev.ksym = keymap[ev.id])) { continue; } } if (pressed) { if (xev.ksym == XK_Shift_R || xev.ksym == XK_Shift_L) { _display.key_state |= ShiftMask; } else if (xev.ksym == XK_Control_R || xev.ksym == XK_Control_L) { _display.key_state |= ControlMask; } else if (xev.ksym == XK_Alt_R || xev.ksym == XK_Alt_L || xev.ksym == XK_Meta_R || xev.ksym == XK_Meta_L) { _display.key_state |= Mod1Mask; } else if (xev.ksym == XK_Num_Lock) { _display.lock_state ^= NLKED; } else if (xev.ksym == XK_Caps_Lock) { _display.lock_state ^= CLKED; } else { xev.type = KeyPress; xev.state = _mouse.button_state | _display.key_state; xev.keycode = ev.id + 1; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "scancode %d -> ksym 0x%x state 0x%x\n", ev.id, xev.ksym, xev.state); #endif receive_event_for_multi_roots(&xev); } } else { if (xev.ksym == XK_Shift_R || xev.ksym == XK_Shift_L) { _display.key_state &= ~ShiftMask; } else if (xev.ksym == XK_Control_R || xev.ksym == XK_Control_L) { _display.key_state &= ~ControlMask; } else if (xev.ksym == XK_Alt_R || xev.ksym == XK_Alt_L || xev.ksym == XK_Meta_R || xev.ksym == XK_Meta_L) { _display.key_state &= ~Mod1Mask; } } } return 1; } static int gpal_init(u_short *gpal) { if (grf0_fd != -1) { u_long color; if (ui_cmap_get_closest_color(&color, 0, 0, 0)) { /* Opaque black */ gpal[color] |= 0x1; } /* Transparent (Wall paper is visible) */ gpal_12_orig = gpal[TP_COLOR]; gpal[TP_COLOR] = 0x0; } return 1; } static void x68k_set_use_tvram_colors(int use) { if (separate_wall_picture && _disp.depth == 4 && use) { if (tcmap) { free(tcmap); tcmap = NULL; } use_tvram_cmap = 1; } else { if (_display.cmap == tcmap) { _display.cmap = gcmap; if (_display.color_cache) { memset(_display.color_cache, 0, sizeof(*_display.color_cache)); } } use_tvram_cmap = 0; } } static fb_cmap_t *cmap_new(int num_colors); static int x68k_set_tvram_cmap(u_int32_t *pixels, u_int cmap_size) { if (use_tvram_cmap && cmap_size <= 16) { if ((tcmap = cmap_new(cmap_size))) { u_int count; for (count = 0; count < cmap_size; count++) { tcmap->red[count] = (pixels[count] >> 16) & 0xff; tcmap->green[count] = (pixels[count] >> 8) & 0xff; tcmap->blue[count] = pixels[count] & 0xff; } gcmap = _display.cmap; _display.cmap = tcmap; if (_display.color_cache) { memset(_display.color_cache, 0, sizeof(*_display.color_cache)); } return 1; } } return 0; } /* --- global functions --- */ int x68k_tvram_is_enabled(void) { return (grf0_fd != -1) ? 1 : 0; } /* * On success, if /dev/grf0 is opened just now, 2 is returned, while if * /dev/grf0 has been already opened, 1 is returned. */ int x68k_tvram_set_wall_picture(u_short *image, u_int width, u_int height) { int ret; static u_char *vram; u_char *pl0; u_char *pl1; u_char *pl2; u_char *pl3; u_short *img; int y; int img_y; if (!separate_wall_picture || _disp.depth != 4 || width < 8 || !image) { close_grf0(); return 0; } ret = 1; while (grf0_fd == -1) { struct grfinfo vinfo; bl_priv_restore_euid(); bl_priv_restore_egid(); grf0_fd = open("/dev/grf0", O_RDWR); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (grf0_fd >= 0) { bl_file_set_cloexec(grf0_fd); if (ioctl(grf0_fd, GRFIOCGINFO, &vinfo) >= 0) { grf0_len = vinfo.gd_fbsize + vinfo.gd_regsize; if ((grf0_reg = mmap(NULL, grf0_len, PROT_WRITE | PROT_READ, MAP_FILE | MAP_SHARED, grf0_fd, (off_t)0)) != MAP_FAILED) { /* Enale the text vram. */ grf0_reg->videoc.r2 = 0x0030; /* Initialize scroll registers. */ grf0_reg->crtc.r10 = grf0_reg->crtc.r11 = 0; grf0_reg->crtc.r21 = 0; if ((tpal_orig = malloc(sizeof(u_short) * 16))) { memcpy(tpal_orig, grf0_reg->tpal, sizeof(u_short) * 16); } vram = ((u_char*)grf0_reg) + vinfo.gd_regsize; gpal_init(grf0_reg->gpal); ret = 2; break; } } close(grf0_fd); grf0_fd = -1; } return 0; } bl_msg_printf("Wall picture on Text VRAM. %s\n", tcmap ? "" : "(ANSI 16 colors)"); if (tcmap) { u_int count; for (count = 0; count < CMAP_SIZE(tcmap); count++) { grf0_reg->tpal[count] = (tcmap->red[count] >> 3) << 6 | (tcmap->green[count] >> 3) << 11 | (tcmap->blue[count] >> 3) << 1; } free(tcmap); tcmap = NULL; } else { /* Reset text palette. */ memcpy(grf0_reg->tpal, grf0_reg->gpal, sizeof(u_short) * 16); grf0_reg->tpal[TP_COLOR] = gpal_12_orig; } pl0 = vram; pl1 = pl0 + 0x20000; pl2 = pl1 + 0x20000; pl3 = pl2 + 0x20000; img = image; /* Don't use _disp.height because this function doesn't concern display * rotation. */ for (y = 0, img_y = 0; y < _display.height; y++, img_y++) { int x; int img_x; if (img_y >= height) { img = image; img_y = 0; } img_x = 0; /* 128 bytes per line */ for (x = 0; x < 128; x++) { *(pl3++) = ((img[img_x] & 0x8) << 4) | ((img[img_x + 1] & 0x8) << 3) | ((img[img_x + 2] & 0x8) << 2) | ((img[img_x + 3] & 0x8) << 1) | (img[img_x + 4] & 0x8) | ((img[img_x + 5] & 0x8) >> 1) | ((img[img_x + 6] & 0x8) >> 2) | ((img[img_x + 7] & 0x8) >> 3); *(pl2++) = ((img[img_x] & 0x4) << 5) | ((img[img_x + 1] & 0x4) << 4) | ((img[img_x + 2] & 0x4) << 3) | ((img[img_x + 3] & 0x4) << 2) | ((img[img_x + 4] & 0x4) << 1) | (img[img_x + 5] & 0x4) | ((img[img_x + 6] & 0x4) >> 1) | ((img[img_x + 7] & 0x4) >> 2); *(pl1++) = ((img[img_x] & 0x2) << 6) | ((img[img_x + 1] & 0x2) << 5) | ((img[img_x + 2] & 0x2) << 4) | ((img[img_x + 3] & 0x2) << 3) | ((img[img_x + 4] & 0x2) << 2) | ((img[img_x + 5] & 0x2) << 1) | (img[img_x + 6] & 0x2) | ((img[img_x + 7] & 0x2) >> 1); *(pl0++) = ((img[img_x] & 0x1) << 7) | ((img[img_x + 1] & 0x1) << 6) | ((img[img_x + 2] & 0x1) << 5) | ((img[img_x + 3] & 0x1) << 4) | ((img[img_x + 4] & 0x1) << 3) | ((img[img_x + 5] & 0x1) << 2) | ((img[img_x + 6] & 0x1) << 1) | (img[img_x + 7] & 0x1); if ((img_x += 8) >= width) { /* XXX tiling with chopping the last 7 or less pixels. */ img_x = 0; } } img += width; } if (y < 1024) { u_long color; if (ui_cmap_get_closest_color(&color, 0, 0, 0)) { size_t len; len = (1024 - y) * 128; memset(pl3, (color & 0x8) ? 0xff : 0, len); memset(pl2, (color & 0x4) ? 0xff : 0, len); memset(pl1, (color & 0x2) ? 0xff : 0, len); memset(pl0, (color & 0x1) ? 0xff : 0, len); } } return ret; } mlterm-3.8.4/uitoolkit/fb/ui_connect_dialog.c010064400017600000144000000067041321054731200177540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* Note that protocols except ssh aren't supported if USE_LIBSSH2 is defined. */ #ifdef USE_LIBSSH2 #include #include #include #include "../ui_connect_dialog.h" #include "../ui_screen.h" #ifdef USE_WAYLAND #include "ui_display.h" #define ui_display_receive_next_event(disp) ui_display_receive_next_event_singly(disp) #endif /* --- static variables --- */ static int end_input; static char *password; static size_t password_len; /* --- static functions --- */ static void key_pressed(ui_window_t *win, XKeyEvent *event) { u_char seq[1]; KeySym ksym; ef_parser_t *parser; if (ui_window_get_str(win, seq, 1, &parser, &ksym, event) == 0) { return; } if (ksym == XK_Return) { if (!password) { password = strdup(""); } end_input = 1; } else { if (ksym == XK_BackSpace) { if (password_len > 0) { password[--password_len] = '\0'; } } else if (0x20 <= seq[0] && seq[0] <= 0x7e) { void *p; if ((p = realloc(password, password_len + 2))) { password = p; password[password_len++] = seq[0]; password[password_len] = '\0'; } } } } /* --- global functions --- */ int ui_connect_dialog(char **uri, /* Should be free'ed by those who call this. */ char **pass, /* Same as uri. If pass is not input, "" is set. */ char **exec_cmd, /* Same as uri. If exec_cmd is not input, NULL is set. */ int *x11_fwd, /* in/out */ char *display_name, Window parent_window, char **sv_list, char *def_server /* (@)(:)(:). */ ) { ui_screen_t *screen; char *prompt; size_t prompt_len; void (*orig_key_pressed)(); prompt_len = 12 + strlen(def_server) + 11; if (!(prompt = alloca(prompt_len + 1))) { return 0; } sprintf(prompt, " Connect to %s. Password:", def_server); if (!(*uri = strdup(def_server))) { return 0; } screen = (ui_screen_t *)parent_window; orig_key_pressed = screen->window.key_pressed; screen->window.key_pressed = key_pressed; ui_window_clear_all(&screen->window); #ifndef USE_CONSOLE ui_window_draw_image_string(&screen->window, ui_get_usascii_font(screen->font_man), ui_get_xcolor(screen->color_man, VT_FG_COLOR), ui_get_xcolor(screen->color_man, VT_BG_COLOR), 0, ui_line_ascent(screen), prompt, prompt_len); #endif do { #ifdef USE_CONSOLE /* * prompt is redrawn every time because ui_display_receive_next_event() receives * "\x1b[8;%d;%d;4;%d;%dt" in startup. */ ui_window_console_draw_string(&screen->window, ui_get_usascii_font(screen->font_man), ui_get_xcolor(screen->color_man, VT_FG_COLOR), ui_get_xcolor(screen->color_man, VT_BG_COLOR), 0, ui_line_ascent(screen), prompt, prompt_len, 0); #endif ui_display_receive_next_event(screen->window.disp); } while (!end_input); end_input = 0; screen->window.key_pressed = orig_key_pressed; if (!password) { free(*uri); return 0; } *pass = password; password = NULL; password_len = 0; *exec_cmd = NULL; #if 0 ui_window_update_all(&screen->window); #endif return 1; } #endif mlterm-3.8.4/uitoolkit/fb/ui_virtual_kbd.h010064400017600000144000000006071321054731200173130ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_VIRTUAL_KBD_H__ #define __UI_VIRTUAL_KBD_H__ #include "ui_display.h" #include "../ui_window.h" int ui_virtual_kbd_hide(void); int ui_is_virtual_kbd_event(ui_display_t *disp, XButtonEvent *bev); int ui_virtual_kbd_read(XKeyEvent *kev, XButtonEvent *bev); ui_window_t *ui_is_virtual_kbd_area(int y); #endif mlterm-3.8.4/uitoolkit/fb/ui_display_linux.c010064400017600000144000000355761321054731200177010ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include /* VT_GETSTATE */ #define _GNU_SOURCE /* strcasestr */ #include #if 0 #define READ_CTRL_KEYMAP #endif /* --- static variables --- */ static int console_id = -1; /* --- static functions --- */ static int get_key_state(void) { int ret; char state; state = 6; ret = ioctl(STDIN_FILENO, TIOCLINUX, &state); if (ret == -1) { return 0; } else { /* ShiftMask and ControlMask is the same. */ return state | ((state & (1 << KG_ALT)) ? Mod1Mask : 0); } } static int kcode_to_ksym(int kcode, int state) { if (kcode == KEY_ENTER || kcode == KEY_KPENTER) { /* KDGKBENT returns '\n'(0x0a) */ return 0x0d; } else if (kcode == KEY_BACKSPACE) { /* KDGKBDENT returns 0x7f */ return 0x08; } else if (kcode <= KEY_SLASH || kcode == KEY_SPACE || kcode == KEY_YEN || kcode == KEY_RO) { struct kbentry ent; if (state & ShiftMask) { ent.kb_table = (1 << KG_SHIFT); } #ifdef READ_CTRL_KEYMAP else if (state & ControlMask) { ent.kb_table = (1 << KG_CTRL); } #endif else { ent.kb_table = 0; } ent.kb_index = kcode; if (ioctl(STDIN_FILENO, KDGKBENT, &ent) == 0 && ent.kb_value != K_HOLE && ent.kb_value != K_NOSUCHMAP) { ent.kb_value &= 0xff; #if 1 /* XXX linux returns KEY_GRAVE for HankakuZenkaku key. */ if (kcode == KEY_GRAVE && ent.kb_value == '\x1b') { static int is_jp106 = -1; if (is_jp106 == -1) { struct kbentry ent; is_jp106 = 0; ent.kb_table = (1 << KG_SHIFT); ent.kb_index = KEY_MINUS; if (ioctl(STDIN_FILENO, KDGKBENT, &ent) == 0 && ent.kb_value != K_HOLE && ent.kb_value != K_NOSUCHMAP && ent.kb_value == '=') { /* is jp106 or netherland */ is_jp106 = 1; } } if (is_jp106) { return KEY_ZENKAKUHANKAKU + 0x100; } } #endif return ent.kb_value; } } return kcode + 0x100; } static void set_use_console_backscroll(int use) { struct kbentry ent; bl_priv_restore_euid(); bl_priv_restore_egid(); ent.kb_table = (1 << KG_SHIFT); ent.kb_index = KEY_PAGEUP; ent.kb_value = use ? K_SCROLLBACK : K_PGUP; ioctl(STDIN_FILENO, KDSKBENT, &ent); ent.kb_index = KEY_PAGEDOWN; ent.kb_value = use ? K_SCROLLFORW : K_PGDN; ioctl(STDIN_FILENO, KDSKBENT, &ent); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); } static void get_event_device_num_intern(int *kbd, int *mouse, const char *fmt) { char *class; int count; FILE* fp; *kbd = *mouse = -1; if (!(class = alloca(strlen(fmt) - 2 /* %d */ + 3 /* 0 - 999 */ + 1))) { return; } for (count = 0;; count++) { sprintf(class, fmt, count); if (!(fp = fopen(class, "r"))) { break; } else { char buf[128]; if (fgets(buf, sizeof(buf), fp)) { if (strcasestr(buf, "key")) { *kbd = count; } else { static char *mouse_names[] = {"mouse", "touch"}; u_int idx; for (idx = 0; idx < sizeof(mouse_names) / sizeof(mouse_names[0]); idx++) { if (strcasestr(buf, mouse_names[idx])) { *mouse = count; break; } } } } fclose(fp); if (*kbd != -1 && *mouse != -1) { break; } } } } static void get_event_device_num(int *kbd, int *mouse) { get_event_device_num_intern(kbd, mouse, "/sys/class/input/event%d/device/name"); if (*kbd == -1 || *mouse == -1) { int k; int m; /* * XXX * /sys/class/input/input%d/event%d * => Note that The first %d and the second %d might not be the same number. */ get_event_device_num_intern(&k, &m, "/sys/class/input/input%d/name"); if (*kbd == -1) { *kbd = k; } if (*mouse == -1) { *mouse = m; } } } static int open_event_device(u_int num, const char *path) { char event[16 + 3 /* 0 - 999 */ + 1]; int fd; if (!path) { if (num >= 1000) { /* num < 0 is impossible because num is u_int. */ return -1; } sprintf(event, "/dev/input/event%d", num); path = event; } bl_priv_restore_euid(); bl_priv_restore_egid(); if ((fd = open(path, O_RDONLY | O_NONBLOCK)) == -1) { bl_error_printf("Couldn't open %s.\n", path); } #if 0 else { /* Occupy /dev/input/eventN */ ioctl(fd, EVIOCGRAB, 1); } #endif bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); return fd; } static void convert_input_num(int *num, const char *str) { if (strcmp(str, "-1") == 0) { *num = -1; } else if ('0' <= *str && *str <= '9') { *num = atoi(str); } } static int open_display(u_int depth) { char *dev; struct fb_fix_screeninfo finfo; struct fb_var_screeninfo vinfo; int kbd_num; int mouse_num; struct termios tm; bl_priv_restore_euid(); bl_priv_restore_egid(); _display.fb_fd = open((dev = getenv("FRAMEBUFFER")) ? dev : "/dev/fb0", O_RDWR); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_display.fb_fd < 0) { bl_error_printf("Couldn't open %s.\n", dev ? dev : "/dev/fb0"); return 0; } bl_file_set_cloexec(_display.fb_fd); ioctl(_display.fb_fd, FBIOGET_FSCREENINFO, &finfo); ioctl(_display.fb_fd, FBIOGET_VSCREENINFO, &vinfo); if ((_disp.depth = vinfo.bits_per_pixel) < 8) { #ifdef ENABLE_2_4_PPB _display.pixels_per_byte = 8 / _disp.depth; #else /* XXX Forcibly set 1 bpp */ _display.pixels_per_byte = 8; _disp.depth = 1; #endif _display.shift_0 = FB_SHIFT_0(_display.pixels_per_byte, _disp.depth); _display.mask = FB_MASK(_display.pixels_per_byte); } else { _display.pixels_per_byte = 1; } if ((_display.fb = mmap(NULL, (_display.smem_len = finfo.smem_len), PROT_WRITE | PROT_READ, MAP_SHARED, _display.fb_fd, (off_t)0)) == MAP_FAILED) { goto error; } if ((_display.bytes_per_pixel = (_disp.depth + 7) / 8) == 3) { _display.bytes_per_pixel = 4; } if (_disp.depth < 15 && !cmap_init()) { goto error; } #ifdef ENABLE_DOUBLE_BUFFER if (_display.pixels_per_byte > 1 && !(_display.back_fb = malloc(_display.smem_len))) { cmap_final(); goto error; } #endif _display.line_length = finfo.line_length; _display.xoffset = vinfo.xoffset; _display.yoffset = vinfo.yoffset; _display.width = _disp.width = vinfo.xres; _display.height = _disp.height = vinfo.yres; _display.rgbinfo.r_limit = 8 - vinfo.red.length; _display.rgbinfo.g_limit = 8 - vinfo.green.length; _display.rgbinfo.b_limit = 8 - vinfo.blue.length; _display.rgbinfo.r_offset = vinfo.red.offset; _display.rgbinfo.g_offset = vinfo.green.offset; _display.rgbinfo.b_offset = vinfo.blue.offset; get_event_device_num(&kbd_num, &mouse_num); if ((dev = getenv("KBD_INPUT_NUM"))) { convert_input_num(&kbd_num, dev); } if ((dev = getenv("MOUSE_INPUT_NUM"))) { convert_input_num(&mouse_num, dev); } tcgetattr(STDIN_FILENO, &tm); orig_tm = tm; tm.c_iflag = tm.c_oflag = 0; tm.c_cflag &= ~CSIZE; tm.c_cflag |= CS8; tm.c_lflag &= ~(ECHO | ISIG | ICANON); tm.c_cc[VMIN] = 1; tm.c_cc[VTIME] = 0; tcsetattr(STDIN_FILENO, TCSAFLUSH, &tm); /* Disable backscrolling of default console. */ set_use_console_backscroll(0); if (kbd_num == -1 || (_display.fd = open_event_device(kbd_num, NULL)) == -1) { _display.fd = STDIN_FILENO; } else { bl_file_set_cloexec(_display.fd); } _disp.display = &_display; if ((mouse_num == -1 || (_mouse.fd = open_event_device(mouse_num, NULL)) == -1) && (_mouse.fd = open_event_device(0, "/dev/input/mice")) == -1 && (_mouse.fd = open_event_device(0, "/dev/input/mouse0")) == -1) { _mouse.fd = -1; } else { bl_file_set_cloexec(_mouse.fd); _mouse.x = _display.width / 2; _mouse.y = _display.height / 2; _disp_mouse.display = (Display*)&_mouse; } console_id = get_active_console(); return 1; error: if (_display.fb) { munmap(_display.fb, _display.smem_len); _display.fb = NULL; } close(_display.fb_fd); return 0; } static int receive_mouse_event(void) { struct input_event ev; if (console_id != get_active_console()) { return 0; } while (read(_mouse.fd, &ev, sizeof(ev)) > 0) { if (ev.type == EV_ABS) { #ifdef EVIOCGABS static int max_abs_x; static int max_abs_y; if (max_abs_x == 0 /* || max_abs_y == 0 */) { struct input_absinfo info; ioctl(_mouse.fd, EVIOCGABS(ABS_X), &info); max_abs_x = info.maximum; ioctl(_mouse.fd, EVIOCGABS(ABS_Y), &info); max_abs_y = info.maximum; } if (ev.code == ABS_PRESSURE) { ev.type = EV_KEY; ev.code = BTN_LEFT; ev.value = 1; /* ButtonPress */ } else if (ev.code == ABS_X) { ev.type = EV_REL; ev.code = REL_X; ev.value = ev.value * _display.width / max_abs_x - _mouse.x; } else if (ev.code == ABS_Y) { ev.type = EV_REL; ev.code = REL_Y; ev.value = ev.value * _display.height / max_abs_y - _mouse.y; } else #endif { continue; } } if (ev.type == EV_KEY) { XButtonEvent xev; ui_window_t *win; if (ev.code == BTN_LEFT) { xev.button = Button1; _mouse.button_state = Button1Mask; } else if (ev.code == BTN_MIDDLE) { xev.button = Button2; _mouse.button_state = Button2Mask; } else if (ev.code == BTN_RIGHT) { xev.button = Button3; _mouse.button_state = Button3Mask; } else { continue; while (1) { button4: xev.button = Button4; _mouse.button_state = Button4Mask; break; button5: xev.button = Button5; _mouse.button_state = Button5Mask; break; button6: xev.button = Button6; _mouse.button_state = Button6Mask; break; button7: xev.button = Button7; _mouse.button_state = Button7Mask; break; } ev.value = 1; } if (ev.value == 1) { xev.type = ButtonPress; } else if (ev.value == 0) { xev.type = ButtonRelease; /* Reset button_state in releasing button. */ _mouse.button_state = 0; } else { continue; } xev.time = ev.time.tv_sec * 1000 + ev.time.tv_usec / 1000; if (rotate_display) { if (rotate_display > 0) { xev.x = _mouse.y; xev.y = _display.width - _mouse.x - 1; } else { xev.x = _display.height - _mouse.y - 1; xev.y = _mouse.x; } } else { xev.x = _mouse.x; xev.y = _mouse.y; } xev.state = _display.key_state; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "Button is %s x %d y %d btn %d time %d\n", xev.type == ButtonPress ? "pressed" : "released", xev.x, xev.y, xev.button, xev.time); #endif if (!check_virtual_kbd(&xev)) { win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); } } else if (ev.type == EV_REL) { XMotionEvent xev; ui_window_t *win; if (ev.code == REL_X) { restore_hidden_region(); _mouse.x += (int)ev.value; if (_mouse.x < 0) { _mouse.x = 0; } else if (_display.width <= _mouse.x) { _mouse.x = _display.width - 1; } } else if (ev.code == REL_Y) { restore_hidden_region(); _mouse.y += (int)ev.value; if (_mouse.y < 0) { _mouse.y = 0; } else if (_display.height <= _mouse.y) { _mouse.y = _display.height - 1; } } else if (ev.code == REL_WHEEL) { if (ev.value > 0) { /* Up */ goto button4; } else if (ev.value < 0) { /* Down */ goto button5; } } else if (ev.code == REL_HWHEEL) { if (ev.value < 0) { /* Left */ goto button6; } else if (ev.value > 0) { /* Right */ goto button7; } } else { continue; } update_mouse_cursor_state(); xev.type = MotionNotify; if (rotate_display) { if (rotate_display > 0) { xev.x = _mouse.y; xev.y = _display.width - _mouse.x - 1; } else { xev.x = _display.height - _mouse.y - 1; xev.y = _mouse.x; } } else { xev.x = _mouse.x; xev.y = _mouse.y; } xev.time = ev.time.tv_sec * 1000 + ev.time.tv_usec / 1000; xev.state = _mouse.button_state | _display.key_state; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Button is moved %d x %d y %d btn %d time %d\n", xev.type, xev.x, xev.y, xev.state, xev.time); #endif win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); save_hidden_region(); draw_mouse_cursor(); } } return 1; } static int receive_key_event(void) { if (_display.fd == STDIN_FILENO) { return receive_stdin_key_event(); } else { struct input_event ev; if (console_id != get_active_console()) { return 0; } while (read(_display.fd, &ev, sizeof(ev)) > 0) { if (ev.type == EV_KEY && ev.code < 0x100 /* Key event is less than 0x100 */) { if (ev.value == 1 /* Pressed */ || ev.value == 2 /* auto repeat */) { if (ev.code == KEY_RIGHTSHIFT || ev.code == KEY_LEFTSHIFT) { _display.key_state |= ShiftMask; } else if (ev.code == KEY_CAPSLOCK) { if (_display.key_state & ShiftMask) { _display.key_state &= ~ShiftMask; } else { _display.key_state |= ShiftMask; } } else if (ev.code == KEY_RIGHTCTRL || ev.code == KEY_LEFTCTRL) { _display.key_state |= ControlMask; } else if (ev.code == KEY_RIGHTALT || ev.code == KEY_LEFTALT) { _display.key_state |= Mod1Mask; } else if (ev.code == KEY_NUMLOCK) { _display.lock_state ^= NLKED; } else { XKeyEvent xev; xev.type = KeyPress; xev.ksym = kcode_to_ksym(ev.code, _display.key_state); xev.keycode = ev.code; xev.state = _mouse.button_state | _display.key_state; receive_event_for_multi_roots(&xev); } } else if (ev.value == 0 /* Released */) { if (ev.code == KEY_RIGHTSHIFT || ev.code == KEY_LEFTSHIFT) { _display.key_state &= ~ShiftMask; } else if (ev.code == KEY_RIGHTCTRL || ev.code == KEY_LEFTCTRL) { _display.key_state &= ~ControlMask; } else if (ev.code == KEY_RIGHTALT || ev.code == KEY_LEFTALT) { _display.key_state &= ~Mod1Mask; } } } } } return 1; } mlterm-3.8.4/uitoolkit/fb/ui_display.h010064400017600000144000000035561321054731200164600ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include "../ui_display.h" #ifdef __FreeBSD__ #include /* NLKED */ #else #define CLKED 1 #define NLKED 2 #define SLKED 4 #define ALKED 8 #endif #define KeyPress 2 /* Private in fb/ */ #define ButtonPress 4 /* Private in fb/ */ #define ButtonRelease 5 /* Private in fb/ */ #define MotionNotify 6 /* Private in fb/ */ #define IM_WINDOW_IS_ACTIVATED(disp) ((disp)->num_roots > 1 && (disp)->roots[1]->is_mapped) #ifdef USE_GRF #define TP_COLOR 12 #endif /* common functions for ui_window.c */ #define ui_display_get_pixel(disp, x, y) ui_display_get_pixel2(x, y) u_long ui_display_get_pixel2(int x, int y); #define ui_display_put_image(disp, x, y, image, size, need_fb_pixel) \ ui_display_put_image2(x, y, image, size, need_fb_pixel) void ui_display_put_image2(int x, int y, u_char *image, size_t size, int need_fb_pixel); #define ui_display_copy_lines(disp, src_x, src_y, dst_x, dst_y, width, height) \ ui_display_copy_lines2(src_x, src_y, dst_x, dst_y, width, height) void ui_display_copy_lines2(int src_x, int src_y, int dst_x, int dst_y, u_int width, u_int height); /* common functions for ui_window.c (pseudo color) */ void ui_display_fill_with(int x, int y, u_int width, u_int height, u_int8_t pixel); int ui_cmap_get_closest_color(u_long *closest, int red, int green, int blue); int ui_cmap_get_pixel_rgb(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_long pixel); /* platform specific functions for ui_window.c */ #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE void ui_display_enable_to_change_cmap(int flag); void ui_display_set_cmap(u_int32_t *cmap, u_int cmap_size); #endif #ifdef USE_GRF int x68k_tvram_is_enabled(void); int x68k_tvram_set_wall_picture(u_short *image, u_int width, u_int height); #endif #endif mlterm-3.8.4/uitoolkit/fb/ui_font.c010064400017600000144000001604231321054731200157510ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_font.h" #include #include /* open */ #include /* close */ #include /* mmap */ #include /* memcmp */ #include /* fstat */ #include /* utime */ #include /* WORDS_BIGENDIAN */ #include #include /* strdup */ #include #include /* strdup */ #include /* bl_basename */ #include /* bl_get_user_rc_path */ #include /* TOINT32 */ #include #ifdef __ANDROID__ #include #endif #ifdef USE_OT_LAYOUT #include #endif #include "ui_decsp_font.h" #define DIVIDE_ROUNDING(a, b) (((int)((a)*10 + (b)*5)) / ((int)((b)*10))) #define DIVIDE_ROUNDINGUP(a, b) (((int)((a)*10 + (b)*10 - 1)) / ((int)((b)*10))) #define DIVIDE_ROUNDINGDOWN(a, b) (((int)(a)*10) / ((int)((b)*10))) #ifdef WORDS_BIGENDIAN #define _TOINT32(p, is_be) ((is_be) ? TOINT32(p) : LE32DEC(p)) #define _TOINT16(p, is_be) ((is_be) ? TOINT16(p) : LE16DEC(p)) #else #define _TOINT32(p, is_be) ((is_be) ? BE32DEC(p) : TOINT32(p)) #define _TOINT16(p, is_be) ((is_be) ? BE16DEC(p) : TOINT16(p)) #endif #define PCF_PROPERTIES (1 << 0) #define PCF_ACCELERATORS (1 << 1) #define PCF_METRICS (1 << 2) #define PCF_BITMAPS (1 << 3) #define PCF_INK_METRICS (1 << 4) #define PCF_BDF_ENCODINGS (1 << 5) #define PCF_SWIDTHS (1 << 6) #define PCF_GLYPH_NAMES (1 << 7) #define PCF_BDF_ACCELERATORS (1 << 8) #define MAX_GLYPH_TABLES 512 #define GLYPH_TABLE_SIZE 128 #define INITIAL_GLYPH_INDEX_TABLE_SIZE 0x1000 #if 0 #define __DEBUG #endif /* --- static variables --- */ static XFontStruct **xfonts; static u_int num_xfonts; static XFontStruct *get_cached_xfont(const char *file, int32_t format); static int add_xfont_to_cache(XFontStruct *xfont); static void xfont_unref(XFontStruct *xfont); /* ===== PCF ===== */ /* --- static functions --- */ static int load_bitmaps(XFontStruct *xfont, u_char *p, size_t size, int is_be, int glyph_pad_type) { int32_t *offsets; int32_t bitmap_sizes[4]; int32_t count; /* 0 -> byte , 1 -> short , 2 -> int */ xfont->glyph_width_bytes = (glyph_pad_type == 2 ? 4 : (glyph_pad_type == 1 ? 2 : 1)); xfont->num_glyphs = _TOINT32(p, is_be); p += 4; if (size < 8 + sizeof(*offsets) * xfont->num_glyphs) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " size %d is too small.\n", size); #endif return 0; } if (!(xfont->glyph_offsets = malloc(sizeof(*offsets) * xfont->num_glyphs))) { return 0; } #ifdef WORDS_BIGENDIAN if (is_be) #else if (!is_be) #endif { memcpy(xfont->glyph_offsets, p, sizeof(*offsets) * xfont->num_glyphs); p += (sizeof(*offsets) * xfont->num_glyphs); } else { for (count = 0; count < xfont->num_glyphs; count++) { xfont->glyph_offsets[count] = _TOINT32(p, is_be); p += 4; } } for (count = 0; count < 4; count++) { bitmap_sizes[count] = _TOINT32(p, is_be); p += 4; } if (size < 8 + sizeof(*offsets) * xfont->num_glyphs + 16 + bitmap_sizes[glyph_pad_type]) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " size %d is too small.\n", size); #endif return 0; } if (!(xfont->glyphs = malloc(bitmap_sizes[glyph_pad_type]))) { return 0; } if (is_be) { /* Regard the bit order of p as msb first */ memcpy(xfont->glyphs, p, bitmap_sizes[glyph_pad_type]); } else { /* Regard the bit order of p as lsb first. Reorder it to msb first. */ for (count = 0; count < bitmap_sizes[glyph_pad_type]; count++) { xfont->glyphs[count] = ((p[count] << 7) & 0x80) | ((p[count] << 5) & 0x40) | ((p[count] << 3) & 0x20) | ((p[count] << 1) & 0x10) | ((p[count] >> 1) & 0x08) | ((p[count] >> 3) & 0x04) | ((p[count] >> 5) & 0x02) | ((p[count] >> 7) & 0x01); } } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "GLYPH COUNT %d x WIDTH BYTE %d = SIZE %d\n", xfont->num_glyphs, xfont->glyph_width_bytes, bitmap_sizes[glyph_pad_type]); { FILE* fp; p = xfont->glyphs; fp = fopen("log.txt", "w"); for (count = 0; count < xfont->num_glyphs; count++) { fprintf(fp, "NUM %x\n", count); fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n", _TOINT32(p, is_be)); p += 4; fprintf(fp, "%x\n\n", _TOINT32(p, is_be)); p += 4; } fclose(fp); } #endif return 1; } static int load_encodings(XFontStruct *xfont, u_char *p, size_t size, int is_be) { size_t idx_size; xfont->min_char_or_byte2 = _TOINT16(p, is_be); p += 2; xfont->max_char_or_byte2 = _TOINT16(p, is_be); p += 2; xfont->min_byte1 = _TOINT16(p, is_be); p += 2; xfont->max_byte1 = _TOINT16(p, is_be); p += 2; /* skip default_char */ p += 2; idx_size = (xfont->max_char_or_byte2 - xfont->min_char_or_byte2 + 1) * (xfont->max_byte1 - xfont->min_byte1 + 1) * sizeof(int16_t); if (size < 14 + idx_size) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " size %d is too small.\n", size); #endif return 0; } if (!(xfont->glyph_indeces = malloc(idx_size))) { return 0; } #ifdef WORDS_BIGENDIAN if (is_be) #else if (!is_be) #endif { memcpy(xfont->glyph_indeces, p, idx_size); } else { size_t count; for (count = 0; count < (idx_size / sizeof(int16_t)); count++) { xfont->glyph_indeces[count] = _TOINT16(p, is_be); p += 2; } } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "GLYPH INDEX %d %d %d %d\n", xfont->min_char_or_byte2, xfont->max_char_or_byte2, xfont->min_byte1, xfont->max_byte1); { int count; int16_t *p; p = xfont->glyph_indeces; for (count = xfont->min_char_or_byte2; count <= xfont->max_char_or_byte2; count++) { bl_msg_printf("%d %x\n", count, (int)*p); p++; } } #endif return 1; } static int get_metrics(u_int8_t *width, u_int8_t *width_full, u_int8_t *height, u_int8_t *ascent, u_char *p, size_t size, int is_be, int is_compressed) { int16_t num_metrics; /* XXX Proportional font is not considered. */ if (is_compressed) { num_metrics = _TOINT16(p, is_be); p += 2; *width = p[2] - 0x80; *ascent = p[3] - 0x80; *height = *ascent + (p[4] - 0x80); if (num_metrics > 0x3000) { /* U+3000: Unicode ideographic space (Full width) */ p += (5 * 0x3000); *width_full = p[2] - 0x80; } else { *width_full = *width; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " COMPRESSED METRICS %d %d %d %d %d\n", num_metrics, *width, *width_full, *height, *ascent); #endif } else { num_metrics = _TOINT32(p, is_be); p += 4; /* skip {left|right}_sided_bearing */ p += 4; *width = _TOINT16(p, is_be); p += 2; *ascent = _TOINT16(p, is_be); p += 2; *height = *ascent + _TOINT16(p, is_be); if (num_metrics > 0x3000) { /* skip character_descent and character attributes */ p += 4; /* U+3000: Unicode ideographic space (Full width) */ p += (12 * 0x2999); /* skip {left|right}_sided_bearing */ p += 4; *width_full = _TOINT16(p, is_be); } else { *width_full = *width; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " NOT COMPRESSED METRICS %d %d %d %d %d\n", num_metrics, *width, *width_full, *height, *ascent); #endif } return 1; } static char *gunzip(const char *file_path, struct stat *st) { size_t len; char *new_file_path; struct stat new_st; char *cmd; struct utimbuf ut; if (stat(file_path, st) == -1) { return NULL; } if ((len = strlen(file_path)) <= 3 || strcmp(file_path + len - 3, ".gz") != 0) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " USE UNCOMPRESSED FONT\n"); #endif return strdup(file_path); } if (!(new_file_path = alloca(7 + len + 1))) { goto error; } sprintf(new_file_path, "mlterm/%s", bl_basename(file_path)); new_file_path[strlen(new_file_path) - 3] = '\0'; /* remove ".gz" */ if (!(new_file_path = bl_get_user_rc_path(new_file_path))) { goto error; } if (stat(new_file_path, &new_st) == 0) { if (st->st_mtime <= new_st.st_mtime) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " USE CACHED UNCOMPRESSED FONT.\n"); #endif *st = new_st; return new_file_path; } } if (!(cmd = alloca(10 + len + 3 + strlen(new_file_path) + 1))) { goto error; } sprintf(cmd, "gunzip -c %s > %s", file_path, new_file_path); /* * The returned value is not checked because -1 with errno=ECHILD may be * returned even if cmd is executed successfully. */ system(cmd); /* st->st_size can be 0 if file_path points an illegally gzipped file. */ if (stat(new_file_path, st) == -1 || st->st_size <= 8) { unlink(new_file_path); goto error; } /* * The atime and mtime of the uncompressed pcf font is the same * as those of the original gzipped font. */ ut.actime = st->st_atime; ut.modtime = st->st_mtime; utime(new_file_path, &ut); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " USE NEWLY UNCOMPRESSED FONT\n"); #endif return new_file_path; error: #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to gunzip %s.\n", file_path); #endif free(new_file_path); return NULL; } static int load_pcf(XFontStruct *xfont, const char *file_path) { char *uzfile_path; int fd; struct stat st; u_char *pcf = NULL; u_char *p; int32_t num_tables; int table_load_count; int32_t count; if (!(uzfile_path = gunzip(file_path, &st))) { return 0; } fd = open(uzfile_path, O_RDONLY); free(uzfile_path); if (fd == -1) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to open %s.", xfont->file); #endif return 0; } if (!(xfont->file = strdup(file_path))) { close(fd); return 0; } table_load_count = 0; /* "st.st_size > 8" is ensured. (see gunzip()) */ if (!(p = pcf = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0)) || memcmp(p, "\1fcp", 4) != 0) { goto end; } p += 4; num_tables = _TOINT32(p, 0); p += 4; if (st.st_size <= 8 + 16 * num_tables) { goto end; } for (count = 0; count < num_tables; count++) { int32_t type; int32_t format; int32_t size; int32_t offset; type = _TOINT32(p, 0); p += 4; format = _TOINT32(p, 0); p += 4; size = _TOINT32(p, 0); p += 4; offset = _TOINT32(p, 0); p += 4; if (/* (format & 8) != 0 || */ /* MSBit first */ ((format >> 4) & 3) != 0 || /* the bits aren't stored in bytes(0) but in short(1) or int(2). */ offset + size > st.st_size || format != _TOINT32(pcf + offset, 0)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s is unsupported pcf format.\n", xfont->file); #endif } else if (type == PCF_BITMAPS) { if (!load_bitmaps(xfont, pcf + offset + 4, size, format & 4, format & 3)) { goto end; } table_load_count++; } else if (type == PCF_BDF_ENCODINGS) { if (!load_encodings(xfont, pcf + offset + 4, size, format & 4)) { goto end; } table_load_count++; } else if (type == PCF_METRICS) { if (!get_metrics(&xfont->width, &xfont->width_full, &xfont->height, &xfont->ascent, pcf + offset + 4, size, format & 4, format & 0x100)) { goto end; } table_load_count++; } } #ifdef __DEBUG { #if 1 u_char ch[] = "\x97\xf3"; #elif 0 u_char ch[] = "a"; #else u_char ch[] = "\x06\x22"; /* UCS2 */ #endif u_char *bitmap; int i; int j; if ((bitmap = ui_get_bitmap(xfont, ch, sizeof(ch) - 1, 0, NULL))) { for (j = 0; j < xfont->height; j++) { u_char *line; ui_get_bitmap_line(xfont, bitmap, j, line); for (i = 0; i < xfont->width; i++) { bl_msg_printf("%d", (line && ui_get_bitmap_cell(line, i)) ? 1 : 0); } bl_msg_printf("\n"); } } } #endif end: close(fd); if (pcf) { munmap(pcf, st.st_size); } if (table_load_count == 3) { return 1; } return 0; } static void unload_pcf(XFontStruct *xfont) { free(xfont->file); free(xfont->glyphs); free(xfont->glyph_offsets); free(xfont->glyph_indeces); } #ifdef USE_FREETYPE static int is_pcf(const char *file_path) { return (strcasecmp(file_path + strlen(file_path) - 6, "pcf.gz") == 0 || strcasecmp(file_path + strlen(file_path) - 3, "pcf") == 0); } #else #define is_pcf(path) (1) #endif /* ===== FREETYPE ===== */ #ifdef USE_FREETYPE #include #include FT_FREETYPE_H #ifdef FT_LCD_FILTER_H #include FT_LCD_FILTER_H #endif #include FT_OUTLINE_H /* 0 - 511 */ #define SEG(idx) (((idx) >> 7) & 0x1ff) /* 0 - 127 */ #define OFF(idx) ((idx)&0x7f) /* +3 is for storing glyph position info. */ #define IS_PROPORTIONAL(xfont) \ ((xfont)->glyph_size == (xfont)->glyph_width_bytes * (xfont)->height + 3) #define FONT_ROTATED (FONT_ITALIC << 1) /* --- static variables --- */ static FT_Library library; /* --- static functions --- */ static int get_glyph_index(FT_Face face, u_int32_t code) { int idx; if ((idx = FT_Get_Char_Index(face, code)) == 0) { /* XXX Some glyph indeces of ISCII fonts becomes 0 wrongly. */ if (0x80 <= code && code <= 0xff) { u_int32_t prev_idx; u_int32_t next_idx; u_int32_t c; for (c = code + 1; c <= 0xff; c++) { if ((next_idx = FT_Get_Char_Index(face, c)) > 0) { for (c = code - 1; c >= 80; c--) { if ((prev_idx = FT_Get_Char_Index(face, c)) > 0) { if (prev_idx + 1 < next_idx) { idx = prev_idx + 1; break; } } } break; } } } } return idx; } static int load_glyph(FT_Face face, int32_t format, u_int32_t code, int is_aa) { FT_Glyph_Format orig_glyph_format; if (is_aa) { FT_Load_Glyph(face, code, FT_LOAD_NO_BITMAP); if (face->glyph->format == FT_GLYPH_FORMAT_BITMAP) { return 0; } } else { FT_Load_Glyph(face, code, 0); } orig_glyph_format = face->glyph->format; if (format & FONT_ROTATED) { FT_Matrix matrix; matrix.xx = 0; matrix.xy = 0x10000L; /* (FT_Fixed)(-sin((-90.0 / 360.0) * 3.141592 * 2) * 0x10000L */ matrix.yx = -0x10000L; /* (FT_Fixed)(sin((-90.0 / 360.0) * 3.141592 * 2) * 0x10000L */ matrix.yy = 0; FT_Outline_Transform(&face->glyph->outline, &matrix); } else if (format & FONT_ITALIC) { FT_Matrix matrix; matrix.xx = 1 << 16; matrix.xy = 0x3000; matrix.yx = 0; matrix.yy = 1 << 16; FT_Outline_Transform(&face->glyph->outline, &matrix); } if (format & FONT_BOLD) { FT_Outline_Embolden(&face->glyph->outline, 1 << 5); } if (is_aa) { FT_Render_Glyph(face->glyph, FT_RENDER_MODE_LCD); } else { FT_Render_Glyph(face->glyph, FT_RENDER_MODE_MONO); } /* * get_ft_bitmap_intern() uses face->glyph->format to check if glyph is actually rotated. * (face->glyph->format == FT_GLYPH_FORMAT_BITMAP just after FT_Load_Glyph() means that * glyphs is not rotated.) * * Note that FT_Render_Glyph() turns face->glyph->format from FT_GLYPH_FORMAT_OUTLINE * to FT_GLYPH_FORMAT_BITMAP. */ face->glyph->format = orig_glyph_format; return 1; } static int load_ft(XFontStruct *xfont, const char *file_path, int32_t format, int is_aa, u_int force_height) { u_int count; FT_Face face; u_int fontsize; if (!library) { if (FT_Init_FreeType(&library)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "FT_Init_FreeType() failed.\n"); #endif return 0; } #ifdef FT_LCD_FILTER_H FT_Library_SetLcdFilter(library, FT_LCD_FILTER_DEFAULT); #endif } fontsize = (format & ~(FONT_BOLD | FONT_ITALIC | FONT_ROTATED)); for (count = 0; count < num_xfonts; count++) { if (strcmp(xfonts[count]->file, file_path) == 0 && /* The same face is used for normal, italic and bold. */ (xfonts[count]->format & ~(FONT_BOLD | FONT_ITALIC | FONT_ROTATED)) == fontsize) { face = xfonts[count]->face; goto face_found; } } if (FT_New_Face(library, file_path, 0, &face)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "FT_New_Face() failed.\n"); #endif return 0; } face_found: FT_Set_Pixel_Sizes(face, fontsize, fontsize); xfont->format = format; xfont->face = face; xfont->is_aa = is_aa; if (!load_glyph(face, format, get_glyph_index(face, 'M'), is_aa)) { bl_msg_printf("%s doesn't have outline glyphs.\n", file_path); goto error; } xfont->num_indeces = INITIAL_GLYPH_INDEX_TABLE_SIZE; if (!(xfont->file = strdup(file_path)) || !(xfont->glyph_indeces = calloc(xfont->num_indeces, sizeof(u_int16_t))) || !(xfont->glyphs = calloc(MAX_GLYPH_TABLES, sizeof(u_char*)))) { goto error; } face->generic.data = ((int)face->generic.data) + 1; /* ref_count */ if (force_height) { xfont->height = force_height; } else { xfont->height = (face->max_advance_height * face->size->metrics.y_ppem + face->units_per_EM - 1) / face->units_per_EM; #ifdef __DEBUG bl_debug_printf("maxh %d ppem %d units %d => h %d\n", face->max_advance_height, face->size->metrics.y_ppem, face->units_per_EM, xfont->height); #endif } if (format & FONT_ROTATED) { xfont->width = xfont->width_full = xfont->height; xfont->ascent = 0; } else { xfont->width_full = (face->max_advance_width * face->size->metrics.x_ppem + face->units_per_EM - 1) / face->units_per_EM; #ifdef __DEBUG bl_debug_printf("maxw %d ppem %d units %d => w %d\n", face->max_advance_width, face->size->metrics.x_ppem, face->units_per_EM, xfont->width_full); #endif if (is_aa) { xfont->width = face->glyph->bitmap.width / 3; } else { xfont->width = face->glyph->bitmap.width; } xfont->ascent = (face->ascender * face->size->metrics.y_ppem + face->units_per_EM - 1) / face->units_per_EM; if (load_glyph(face, format, get_glyph_index(face, 'j'), is_aa)) { int descent = face->glyph->bitmap.rows - face->glyph->bitmap_top; if (descent > xfont->height - xfont->ascent) { xfont->height = xfont->ascent + descent; } } } if (is_aa) { xfont->glyph_width_bytes = xfont->width_full * 3; } else { xfont->glyph_width_bytes = (xfont->width_full + 7) / 8; } xfont->glyph_size = xfont->glyph_width_bytes * xfont->height; #if 0 bl_debug_printf("w %d %d h %d a %d\n", xfont->width, xfont->width_full, xfont->height, xfont->ascent); #endif return 1; error: FT_Done_Face(face); free(xfont->file); free(xfont->glyph_indeces); return 0; } static void init_iscii_ft(FT_Face face) { int count; for (count = 0; count < face->num_charmaps; count++) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ISCII font encoding %c%c%c%c\n", ((face->charmaps[count]->encoding) >> 24) & 0xff, ((face->charmaps[count]->encoding) >> 16) & 0xff, ((face->charmaps[count]->encoding) >> 8) & 0xff, (face->charmaps[count]->encoding & 0xff)); #endif if (face->charmaps[count]->encoding == FT_ENCODING_APPLE_ROMAN) { FT_Set_Charmap(face, face->charmaps[count]); return; } } } static void clear_glyph_cache_ft(XFontStruct *xfont) { int count; for (count = 0; ((u_char**)xfont->glyphs)[count]; count++) { free(((u_char**)xfont->glyphs)[count]); } memset(xfont->glyphs, 0, MAX_GLYPH_TABLES * sizeof(u_char*)); xfont->num_glyphs = 0; memset(xfont->glyph_indeces, 0, xfont->num_indeces * sizeof(u_int16_t)); } static void unload_ft(XFontStruct *xfont) { FT_Face face; int count; free(xfont->file); face = xfont->face; face->generic.data = ((int)face->generic.data) - 1; if (!face->generic.data) { FT_Done_Face(xfont->face); } for (count = 0; ((u_char**)xfont->glyphs)[count]; count++) { free(((u_char**)xfont->glyphs)[count]); } free(xfont->glyphs); free(xfont->glyph_indeces); if (num_xfonts == 0 && library) { FT_Done_FreeType(library); library = NULL; } } static int is_rotated_char(u_int32_t ch) { if (ch < 0x80) { return 1; } else if ((ch & 0xffffff00) == 0x3000) { if ((0x3008 <= ch && ch <= 0x3011) || (0x3013 <= ch && ch <= 0x301c) || ch == 0x30fc) { return 1; } } else if ((ch & 0xffffff00) == 0xff00) { if ((0xff08 <= ch && ch <= 0xff09) || ch == 0xff0d || (0xff1a <= ch && ch <= 0xff1e) || ch == 0xff3b || ch == 0xff3d || (0xff5b <= ch && ch <= 0xff5e) || (0xff62 <= ch && ch <= 0xff63)) { return 1; } } return 0; } static int is_right_aligned_char(u_int32_t ch) { if ((ch & 0xffffff00) == 0x3000) { if ((0x3001 <= ch && ch <= 0x3002) || ch == 0x3063 || ch == 0x30c3 || (((0x3041 <= ch && ch <= 0x3049) || (0x3083 <= ch && ch <= 0x3087) || (0x30a1 <= ch && ch <= 0x30a9) || (0x30e3 <= ch && ch <= 0x30e7)) && ch % 2 == 1)) { return 1; } } else if ((ch & 0xffffff00) == 0xff00) { if (ch == 0xff0c || ch == 0xff61 || ch == 0xff64) { return 1; } } return 0; } static u_char *get_ft_bitmap_intern(XFontStruct *xfont, u_int32_t code /* glyph index */, u_int32_t ch) { u_int16_t *indeces; int idx; u_char **glyphs; u_char *glyph; if (code >= xfont->num_indeces) { if (!(indeces = realloc(xfont->glyph_indeces, sizeof(u_int16_t) * (code + 1)))) { return NULL; } memset(indeces + xfont->num_indeces, 0, sizeof(u_int16_t) * (code + 1 - xfont->num_indeces)); xfont->num_indeces = code + 1; xfont->glyph_indeces = indeces; } else { indeces = xfont->glyph_indeces; } glyphs = xfont->glyphs; if (!(idx = indeces[code])) { FT_Face face; int y; u_char *src; u_char *dst; int left_pitch; int pitch; int rows; int32_t format; if (xfont->num_glyphs >= GLYPH_TABLE_SIZE * MAX_GLYPH_TABLES - 1) { bl_msg_printf("Unable to show U+%x because glyph cache is full.\n", code); return NULL; } face = xfont->face; format = xfont->format; left_pitch = 0; /* CJK characters etc aren't rotated. */ if (format & FONT_ROTATED) { if (is_rotated_char(ch)) { if (!load_glyph(face, xfont->format & ~FONT_ROTATED, code, xfont->is_aa)) { return NULL; } left_pitch = (face->max_advance_height - face->ascender) * face->size->metrics.y_ppem / face->units_per_EM; if (face->glyph->bitmap.rows > face->glyph->bitmap_top) { if ((left_pitch -= (face->glyph->bitmap.rows - face->glyph->bitmap_top)) < 0) { left_pitch = 0; } } /* XXX 'if (xfont->is_aa) { left_pitch *= 3 }' is in the following block. */ } else { format &= ~FONT_ROTATED; } } if (!load_glyph(face, format, code, xfont->is_aa)) { return NULL; } if (OFF(xfont->num_glyphs) == 0) { if (!(glyphs[SEG(xfont->num_glyphs)] = calloc(GLYPH_TABLE_SIZE, xfont->glyph_size))) { return NULL; } } idx = ++xfont->num_glyphs; #if 0 bl_debug_printf("%x %c w %d %d(%d) h %d(%d) at %d %d\n", code, code, face->glyph->bitmap.width, face->glyph->bitmap.pitch, xfont->glyph_width_bytes, face->glyph->bitmap.rows, xfont->height, face->glyph->bitmap_left, face->glyph->bitmap_top); #endif indeces[code] = idx; if (xfont->format & FONT_ROTATED) { if (!(format & FONT_ROTATED) || face->glyph->format == FT_GLYPH_FORMAT_BITMAP) { /* Glyph isn't rotated. */ if (is_right_aligned_char(ch)) { /* XXX Hack for vertical kutouten and sokuon */ left_pitch += (xfont->width / 2); } else if (face->glyph->bitmap_left + face->glyph->bitmap.width <= xfont->width / 2) { left_pitch += (xfont->width / 4); } } if (face->glyph->bitmap.rows < xfont->height) { rows = face->glyph->bitmap.rows; y = (xfont->height - face->glyph->bitmap.rows) / 2; } else { rows = xfont->height; y = 0; } } else { if (xfont->ascent > face->glyph->bitmap_top) { y = xfont->ascent - face->glyph->bitmap_top; } else { y = 0; } if (face->glyph->bitmap.rows < xfont->height) { rows = face->glyph->bitmap.rows; if (rows + y > xfont->height) { y = xfont->height - rows; } } else { rows = xfont->height; y = 0; } } if (face->glyph->bitmap_left > 0) { left_pitch += face->glyph->bitmap_left; } if (xfont->is_aa) { left_pitch *= 3; if (face->glyph->bitmap.pitch < xfont->glyph_width_bytes) { pitch = face->glyph->bitmap.pitch; if (pitch + left_pitch > xfont->glyph_width_bytes) { left_pitch = xfont->glyph_width_bytes - pitch; } } else { pitch = xfont->glyph_width_bytes; left_pitch = 0; } } else { if (face->glyph->bitmap.pitch <= xfont->glyph_width_bytes) { pitch = face->glyph->bitmap.pitch; if (left_pitch >= (xfont->glyph_width_bytes - pitch + 1) * 8) { left_pitch = 7; } } else { pitch = xfont->glyph_width_bytes; left_pitch = 0; } } glyph = glyphs[SEG(idx - 1)] + xfont->glyph_size * OFF(idx - 1); src = face->glyph->bitmap.buffer; dst = glyph + (xfont->glyph_width_bytes * y); if (xfont->is_aa) { for (y = 0; y < rows; y++) { memcpy(dst + left_pitch, src, pitch); src += face->glyph->bitmap.pitch; dst += xfont->glyph_width_bytes; } if (IS_PROPORTIONAL(xfont)) { /* Storing glyph position info. (ISCII or ISO10646_UCS4_1_V) */ dst = glyph + xfont->glyph_size - 3; dst[0] = (face->glyph->advance.x >> 6); /* advance */ dst[2] = (face->glyph->bitmap.width + left_pitch) / 3; /* width */ if (dst[2] > xfont->width_full) { dst[2] = xfont->width_full; /* == glyph_width_bytes / 3 */ } if (face->glyph->bitmap_left < 0) { dst[1] = -face->glyph->bitmap_left; /* retreat */ } else { dst[1] = 0; } if (dst[0] == 0 && dst[2] > dst[0] + dst[1]) { dst[1] = dst[2] - dst[0]; /* retreat */ } #if 0 bl_debug_printf("%x %c A %d R %d W %d-> A %d R %d W %d\n", code, code, face->glyph->advance.x >> 6, face->glyph->bitmap_left, face->glyph->bitmap.width, dst[0], dst[1], dst[2]); #endif } } else { int shift; if ((shift = left_pitch / 8) > 0) { left_pitch -= (shift * 8); dst += shift; } if (left_pitch == 0) { for (y = 0; y < rows; y++) { memcpy(dst, src, pitch); src += face->glyph->bitmap.pitch; dst += xfont->glyph_width_bytes; } } else { int count; for (y = 0; y < rows; y++) { dst[0] = (src[0] >> left_pitch); for (count = 1; count < pitch; count++) { dst[count] = (src[count - 1] << (8 - left_pitch)) | (src[count] >> left_pitch); } if (shift + pitch < xfont->glyph_width_bytes) { dst[count] = (src[count - 1] << (8 - left_pitch)); } src += face->glyph->bitmap.pitch; dst += xfont->glyph_width_bytes; } } } } else { glyph = glyphs[SEG(idx - 1)] + xfont->glyph_size * OFF(idx - 1); } return glyph; } static int load_xfont(XFontStruct *xfont, const char *file_path, int32_t format, u_int bytes_per_pixel, ef_charset_t cs, int noaa) { if (!is_pcf(file_path)) { return load_ft(xfont, file_path, format, (bytes_per_pixel > 1) && !noaa, 0); } else { return load_pcf(xfont, file_path); } } static void unload_xfont(XFontStruct *xfont) { if (xfont->face) { unload_ft(xfont); } else { unload_pcf(xfont); } } #ifdef USE_FONTCONFIG #include static int use_fontconfig; static double dpi_for_fc; static FcPattern *compl_pattern; static char **fc_files; static u_int num_fc_files; static FcCharSet **fc_charsets; static void compl_final(void) { if (compl_pattern) { u_int count; FcPatternDestroy(compl_pattern); compl_pattern = NULL; if (fc_files) { for (count = 0; count < num_fc_files; count++) { free(fc_files[count]); FcCharSetDestroy(fc_charsets[count]); } free(fc_files); /* fc_charsets is also free'ed */ fc_files = NULL; fc_charsets = NULL; } } } static void compl_xfonts_delete(XFontStruct **xfonts) { if (xfonts) { u_int count; for (count = 0; count < num_fc_files; count++) { if (xfonts[count]) { xfont_unref(xfonts[count]); } } free(xfonts); } } /* Same processing as win32/ui_font.c (partially) and libtype/ui_font_ft.c */ static int parse_fc_font_name(char **font_family, int *is_bold, /* if bold is not specified in font_name, not changed. */ int *is_italic, /* if italic is not specified in font_name, not changed. */ u_int *percent, /* if percent is not specified in font_name, not changed. */ char *font_name /* modified by this function. */ ) { char *p; size_t len; /* * [Family]( [WEIGHT] [SLANT] [SIZE]:[Percentage]) */ *font_family = font_name; p = font_name; while (1) { if (*p == '\\' && *(p + 1)) { /* Compat with 3.6.3 or before. (e.g. Foo\-Bold-iso10646-1) */ /* skip backslash */ p++; } else if (*p == '\0') { /* encoding and percentage is not specified. */ *font_name = '\0'; break; } else if (*p == ':') { /* Parsing ":[Percentage]" */ *font_name = '\0'; if (!bl_str_to_uint(percent, p + 1)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Percentage(%s) is illegal.\n", p + 1); #endif } break; } *(font_name++) = *(p++); } /* * Parsing "[Family] [WEIGHT] [SLANT] [SIZE]". * Following is the same as ui_font_win32.c:parse_font_name() * except FC_*. */ #if 0 bl_debug_printf("Parsing %s for [Family] [Weight] [Slant]\n", *font_family); #endif p = bl_str_chop_spaces(*font_family); len = strlen(p); while (len > 0) { size_t step = 0; if (*p == ' ') { char *orig_p; orig_p = p; do { p++; len--; } while (*p == ' '); if (len == 0) { *orig_p = '\0'; break; } else { int count; char *styles[] = { "italic", "bold", "oblique", "light", "semi-bold", "heavy", "semi-condensed", }; for (count = 0; count < sizeof(styles) / sizeof(styles[0]); count++) { size_t len_v; len_v = strlen(styles[count]); /* XXX strncasecmp is not portable? */ if (len >= len_v && strncasecmp(p, styles[count], len_v) == 0) { /* [WEIGHT] [SLANT] */ *orig_p = '\0'; step = len_v; if (count <= 1) { if (count == 0) { *is_italic = 1; } else { *is_bold = 1; } } goto next_char; } } if (*p != '0' || /* In case of "DevLys 010" font family. */ *(p + 1) == '\0') /* "MS Gothic 0" => "MS Gothic" + "0" */ { char *end; double size; size = strtod(p, &end); if (*end == '\0') { /* [SIZE] */ *orig_p = '\0'; break; /* p has no more parameters. */ } } step = 1; } } else { step = 1; } next_char: p += step; len -= step; } return 1; } static int is_same_family(FcPattern *pattern, const char *family) { int count; FcValue val; for (count = 0; FcPatternGet(pattern, FC_FAMILY, count, &val) == FcResultMatch; count++) { if (strcmp(family, val.u.s) == 0) { return 1; } } return 0; } static u_int strip_pattern(FcPattern *pattern, FcPattern *remove) { u_int count = 0; FcValue val; while (FcPatternGet(pattern, FC_FAMILY, count, &val) == FcResultMatch) { if (is_same_family(remove, val.u.s)) { /* Remove not only matched name but also alias names */ FcPatternRemove(pattern, FC_FAMILY, count); } else { int count2 = ++count; FcValue val2; while(FcPatternGet(pattern, FC_FAMILY, count2, &val2) == FcResultMatch) { if (strcmp(val.u.s, val2.u.s) == 0) { FcPatternRemove(pattern, FC_FAMILY, count2); } else { count2++; } } } } return count; } static FcPattern *fc_pattern_create(const FcChar8* family) { FcPattern *pattern; if (!(pattern = FcPatternCreate())) { return NULL; } if (family) { FcPatternAddString(pattern, FC_FAMILY, family); } FcConfigSubstitute(NULL, pattern, FcMatchPattern); FcPatternRemove(pattern, FC_FAMILYLANG, 0); FcPatternRemove(pattern, FC_STYLELANG, 0); FcPatternRemove(pattern, FC_FULLNAMELANG, 0); #ifdef FC_NAMELANG FcPatternRemove(pattern, FC_NAMELANG, 0); #endif FcPatternRemove(pattern, FC_LANG, 0); FcDefaultSubstitute(pattern); return pattern; } /* XXX Lazy check */ static int check_iscii_font(FcPattern *pattern) { FcValue val; if (FcPatternGet(pattern, FC_FAMILY, 0, &val) == FcResultMatch && strstr(val.u.s, "-TT")) { return 1; } else { return 0; } } static FcPattern *parse_font_name(const char *fontname, int *is_bold, int *is_italic, u_int *percent, ef_charset_t cs) { FcPattern *pattern; FcPattern *match; FcResult result; char *family; *percent = 0; *is_bold = 0; *is_italic = 0; if (!fontname) { family = NULL; } else { parse_fc_font_name(&family, is_bold, is_italic, percent, bl_str_alloca_dup(fontname)); } if ((pattern = fc_pattern_create(family))) { match = FcFontMatch(NULL, pattern, &result); if (IS_ISCII(cs) && !check_iscii_font(match)) { FcPatternDestroy(match); FcPatternDestroy(pattern); return NULL; } if (compl_pattern == NULL) { num_fc_files = strip_pattern((compl_pattern = pattern), match); } else { FcPatternDestroy(pattern); } } else { match = NULL; } return match; } #endif /* USE_FONTCONFIG */ static u_char *get_ft_bitmap(XFontStruct *xfont, u_int32_t ch, int use_ot_layout, XFontStruct **compl_xfont) { #ifdef USE_FONTCONFIG u_int count; #endif u_char *bitmap; u_int32_t code; if (!use_ot_layout) { /* char => glyph index */ if (ch == 0x20) { return NULL; } if ((code = get_glyph_index(xfont->face, ch)) == 0) { if (!IS_PROPORTIONAL(xfont)) { goto compl_font; } } } else { code = ch; ch = 0xffffffff; /* check_rotate() always returns 0. */ } return get_ft_bitmap_intern(xfont, code, ch); compl_font: /* * Complementary glyphs are searched only if xfont->face && !IS_PROPOTIONAL && !use_ot_layout. */ #ifdef USE_FONTCONFIG if (!compl_pattern) { return NULL; } if (!fc_files) { if (!(fc_files = calloc(num_fc_files, sizeof(*fc_charsets) + sizeof(*fc_files)))) { return NULL; } fc_charsets = fc_files + num_fc_files; } if (!xfont->compl_xfonts && !(xfont->compl_xfonts = calloc(num_fc_files, sizeof(*xfont->compl_xfonts)))) { return NULL; } for (count = 0; count < num_fc_files;) { if (!fc_files[count]) { FcResult result; FcPattern *match; match = FcFontMatch(NULL, compl_pattern, &result); FcPatternRemove(compl_pattern, FC_FAMILY, 0); if (match) { num_fc_files = count + 1 + strip_pattern(compl_pattern, match); if (FcPatternGetCharSet(match, FC_CHARSET, 0, &fc_charsets[count]) == FcResultMatch) { FcValue val; fc_charsets[count] = FcCharSetCopy(fc_charsets[count]); if (FcPatternGet(match, FC_FILE, 0, &val) == FcResultMatch) { fc_files[count] = strdup(val.u.s); } } FcPatternDestroy(match); } if (!fc_files[count]) { num_fc_files --; if (fc_charsets[count]) { FcCharSetDestroy(fc_charsets[count]); } continue; } } if (FcCharSetHasChar(fc_charsets[count], ch)) { XFontStruct *compl; if (!xfont->compl_xfonts[count]) { if (!(compl = get_cached_xfont(fc_files[count], xfont->format))) { if (!(compl = calloc(1, sizeof(XFontStruct)))) { continue; } /* * XXX * If xfont->height is 17 and compl->height is 15, garbage is left in drawing glyphs * by compl. * force_height (xfont->height) forcibly changes the height of the font from natural one * to the same one as xfont->height. */ else if (!load_ft(compl, fc_files[count], xfont->format, xfont->is_aa, xfont->height)) { free(compl); continue; } if (!add_xfont_to_cache(compl)) { continue; } } xfont->compl_xfonts[count] = compl; } if ((code = get_glyph_index(xfont->compl_xfonts[count]->face, ch)) > 0) { if ((bitmap = get_ft_bitmap_intern(xfont->compl_xfonts[count], code, ch))) { if (compl_xfont) { *compl_xfont = xfont->compl_xfonts[count]; } #ifdef __DEBUG bl_debug_printf("Use %s font to show U+%x\n", (*compl_xfont)->file, ch); #endif return bitmap; } } } count++; } #endif return NULL; } #else /* USE_FREETYPE */ #define load_xfont(xfont, file_path, format, bytes_per_pixel, cs, noaa) load_pcf(xfont, file_path) #define unload_xfont(xfont) unload_pcf(xfont) #endif /* USE_FREETYPE */ static XFontStruct *get_cached_xfont(const char *file, int32_t format) { u_int count; for (count = 0; count < num_xfonts; count++) { if (strcmp(xfonts[count]->file, file) == 0 #ifdef USE_FREETYPE && (xfonts[count]->face == NULL || xfonts[count]->format == format) #endif ) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Use cached XFontStruct for %s.\n", xfonts[count]->file); #endif xfonts[count]->ref_count++; return xfonts[count]; } } return NULL; } static int add_xfont_to_cache(XFontStruct *xfont) { void *p; if (!(p = realloc(xfonts, sizeof(XFontStruct*) * (num_xfonts + 1)))) { unload_xfont(xfont); free(xfont); return 0; } xfonts = p; xfonts[num_xfonts++] = xfont; xfont->ref_count = 1; return 1; } static void xfont_unref(XFontStruct *xfont) { if (--xfont->ref_count == 0) { u_int count; #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) compl_xfonts_delete(xfont->compl_xfonts); #endif for (count = 0; count < num_xfonts; count++) { if (xfonts[count] == xfont) { if (--num_xfonts > 0) { xfonts[count] = xfonts[num_xfonts]; } else { free(xfonts); xfonts = NULL; #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) compl_final(); #endif } break; } } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s font is unloaded. => CURRENT NUM OF XFONTS %d\n", xfont->file, num_xfonts); #endif unload_xfont(xfont); free(xfont); } } /* --- static variables --- */ static int compose_dec_special_font; /* --- global functions --- */ void ui_compose_dec_special_font(void) { compose_dec_special_font = 1; } #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) void ui_font_use_fontconfig(void) { use_fontconfig = 1; } #endif ui_font_t *ui_font_new(Display *display, vt_font_t id, int size_attr, ui_type_engine_t type_engine, ui_font_present_t font_present, const char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold, u_int letter_space /* Ignored for now. */ ) { ef_charset_t cs; char *font_file; char *decsp_id = NULL; u_int percent; ui_font_t *font; vt_font_t orig_id = id; #ifdef USE_FREETYPE u_int format; #endif u_int cols; cs = FONT_CS(id); #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) if (use_fontconfig) { FcPattern *pattern; FcValue val; int is_bold; int is_italic; if (!(pattern = parse_font_name(fontname, &is_bold, &is_italic, &percent, cs))) { return NULL; } if (is_bold) { id |= FONT_BOLD; } if (is_italic) { id |= FONT_ITALIC; } if (FcPatternGet(pattern, FC_FILE, 0, &val) != FcResultMatch) { FcPatternDestroy(pattern); return NULL; } font_file = bl_str_alloca_dup(val.u.s); FcPatternDestroy(pattern); } else #endif if (!fontname) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Font file is not specified.\n"); #endif if (cs == DEC_SPECIAL) { /* use ui_decsp_font_new() */ font_file = NULL; percent = 0; } /* * Default font on Androidis is ttf, so charsets except unicode and ISO88591 are available. * (Chars except unicode are converted to unicode in ui_window.c for freetype.) */ #ifndef __ANDROID__ else if (!IS_ISO10646_UCS4(cs) && cs != ISO8859_1_R) { return NULL; } #endif else { struct stat st; #if defined(__FreeBSD__) if (stat("/usr/local/lib/X11/fonts/local/unifont.pcf.gz", &st) == 0) { font_file = "/usr/local/lib/X11/fonts/local/unifont.pcf.gz"; percent = 100; } else { font_file = "/usr/local/lib/X11/fonts/misc/10x20.pcf.gz"; percent = 0; } #elif defined(__NetBSD__) percent = 0; if (stat("/usr/pkg/lib/X11/fonts/efont/b16.pcf.gz", &st) == 0) { font_file = "/usr/pkg/lib/X11/fonts/efont/b16.pcf.gz"; } else { font_file = "/usr/X11R7/lib/X11/fonts/misc/10x20.pcf.gz"; } #elif defined(__OpenBSD__) if (stat("/usr/X11R6/lib/X11/fonts/misc/unifont.pcf.gz", &st) == 0) { font_file = "/usr/X11R6/lib/X11/fonts/misc/unifont.pcf.gz"; percent = 100; } else { font_file = "/usr/X11R6/lib/X11/fonts/misc/10x20.pcf.gz"; percent = 0; } #elif defined(__ANDROID__) if (stat("/system/fonts/DroidSansMono.ttf", &st) == 0) { font_file = "/system/fonts/DroidSansMono.ttf"; } else { DIR* dir; struct dirent *entry; const char *cand; if ((dir = opendir("/system/fonts")) == NULL) { return NULL; } cand = NULL; while ((entry = readdir(dir))) { if (strcasestr(entry->d_name, ".tt")) { if (cand == NULL) { cand = bl_str_alloca_dup(entry->d_name); } else if (strcasestr(entry->d_name, "Mono")) { cand = bl_str_alloca_dup(entry->d_name); break; } } } closedir(dir); if (cand == NULL || !(font_file = alloca(14 + strlen(cand) + 1))) { return NULL; } strcpy(font_file, "/system/fonts"); font_file[13] = '/'; strcpy(font_file + 14, cand); } percent = 0; #else /* __linux__ */ if (stat("/usr/share/fonts/X11/misc/unifont.pcf.gz", &st) == 0) { font_file = "/usr/share/fonts/X11/misc/unifont.pcf.gz"; percent = 100; } else { font_file = "/usr/share/fonts/X11/misc/10x20.pcf.gz"; percent = 0; } #endif #ifndef __ANDROID__ /* XXX double drawing is used to bolden pcf font. */ if (id & FONT_BOLD) { use_medium_for_bold = 1; } #endif } } else { char *percent_str; if (!(percent_str = bl_str_alloca_dup(fontname))) { return NULL; } font_file = bl_str_sep(&percent_str, ":"); if (!percent_str || !bl_str_to_uint(&percent, percent_str)) { percent = 0; } } if (cs == DEC_SPECIAL && (compose_dec_special_font || font_file == NULL || !is_pcf(font_file))) { if (!(decsp_id = alloca(6 + DIGIT_STR_LEN(u_int) + 1 + DIGIT_STR_LEN(u_int) + 1))) { return NULL; } } if (type_engine != TYPE_XCORE || !(font = calloc(1, sizeof(ui_font_t)))) { return NULL; } if (size_attr >= DOUBLE_HEIGHT_TOP) { fontsize *= 2; col_width *= 2; } #ifdef USE_FREETYPE #ifdef USE_FONTCONFIG if (use_fontconfig && dpi_for_fc > 0.0) { fontsize = DIVIDE_ROUNDINGDOWN(dpi_for_fc * fontsize, 72); } #endif format = fontsize | (id & (FONT_BOLD | FONT_ITALIC)); if (font_present & FONT_VERT_RTL) { format |= FONT_ROTATED; /* XXX Not support ROTATED and ITALIC at the same time. (see load_glyph()). */ format &= ~FONT_ITALIC; } #endif if (decsp_id) { sprintf(decsp_id, "decsp-%dx%d", col_width, fontsize); } if ((font->xfont = get_cached_xfont(decsp_id ? decsp_id : font_file, #ifdef USE_FREETYPE format #else 0 #endif ))) { goto xfont_loaded; } if (!(font->xfont = calloc(1, sizeof(XFontStruct)))) { free(font); return NULL; } font->display = display; if (decsp_id) { if (!ui_load_decsp_xfont(font->xfont, decsp_id)) { compose_dec_special_font = 0; free(font->xfont); free(font); if (size_attr >= DOUBLE_HEIGHT_TOP) { fontsize /= 2; col_width /= 2; } return ui_font_new(display, id, size_attr, type_engine, font_present, font_file, fontsize, col_width, use_medium_for_bold, letter_space); } } else if (!load_xfont(font->xfont, font_file, format, display->bytes_per_pixel, cs, font_present & FONT_NOAA)) { bl_msg_printf("Failed to load %s.\n", font_file); free(font->xfont); free(font); if (fontname) { if (size_attr >= DOUBLE_HEIGHT_TOP) { fontsize /= 2; col_width /= 2; } return ui_font_new(display, id, size_attr, type_engine, font_present, NULL /* Fall back to the default font */, fontsize, col_width, use_medium_for_bold, letter_space); } else { return NULL; } } if (!add_xfont_to_cache(font->xfont)) { free(font); return NULL; } xfont_loaded: /* Following is almost the same processing as xlib. */ font->id = orig_id; if (font->id & FONT_FULLWIDTH) { cols = 2; } else { cols = 1; } /* * font->is_var_col_width == false and font->is_proportional == true * is impossible on framebuffer. */ #ifdef USE_FREETYPE if (IS_ISCII(cs) && font->xfont->is_aa && (font->xfont->ref_count == 1 || IS_PROPORTIONAL(font->xfont))) { /* Proportional glyph is available on ISCII alone for now. */ font->is_var_col_width = font->is_proportional = 1; if (font->xfont->ref_count == 1) { init_iscii_ft(font->xfont->face); /* +3 is for storing glyph position info. */ font->xfont->glyph_size += 3; } } else #endif if (font_present & FONT_VAR_WIDTH) { /* * If you use fixed-width fonts whose width is differnet from * each other. */ font->is_var_col_width = 1; #ifdef USE_FREETYPE if (cs == ISO10646_UCS4_1_V) { font->is_proportional = 1; if (font->xfont->ref_count == 1) { /* +3 is for storing glyph position info. */ font->xfont->glyph_size += 3; } else if (!IS_PROPORTIONAL(font->xfont)) { clear_glyph_cache_ft(font->xfont); /* +3 is for storing glyph position info. */ font->xfont->glyph_size += 3; } } #endif } if (font_present & FONT_VERTICAL) { font->is_vertical = 1; } if (use_medium_for_bold) { font->double_draw_gap = 1; } if (id & FONT_FULLWIDTH) { font->width = font->xfont->width_full; } else { font->width = font->xfont->width; } font->height = font->xfont->height; font->ascent = font->xfont->ascent; if (col_width == 0) { /* standard(usascii) font */ if (percent > 0) { u_int ch_width; if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width = DIVIDE_ROUNDING(fontsize * percent, 100); } else { ch_width = DIVIDE_ROUNDING(fontsize * percent, 200); } if (font->width != ch_width) { if (!font->is_var_col_width) { /* * If width(2) of '1' doesn't match ch_width(4) * x_off = (4-2)/2 = 1. * It means that starting position of drawing '1' is 1 * as follows. * * 0123 * +----+ * | ** | * | * | * | * | * +----+ */ if (font->width < ch_width) { font->x_off = (ch_width - font->width) / 2; } font->width = ch_width; } } } else if (font->is_vertical) { #ifdef USE_FREETYPE if (!font->xfont->face || !(font->xfont->format & FONT_ROTATED)) #endif { /* * !! Notice !! * The width of full and half character font is the same. */ font->x_off = font->width / 2; font->width *= 2; } } if (letter_space > 0) { font->width += letter_space; font->x_off += (letter_space / 2); } } else { /* not a standard(usascii) font */ /* * XXX hack * forcibly conforming non standard font width to standard font width. */ if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ if (font->width != col_width) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, col_width); /* is_var_col_width is always false if is_vertical is true. */ #if 0 if (!font->is_var_col_width) #endif { if (font->width < col_width) { font->x_off = (col_width - font->width) / 2; } font->width = col_width; } } } else { if (font->width != col_width * cols) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, col_width * cols); if (!font->is_var_col_width) { if (font->width < col_width * cols) { font->x_off = (col_width * cols - font->width) / 2; } font->width = col_width * cols; } } } } if (size_attr == DOUBLE_WIDTH) { font->x_off += (font->width / 2); font->width *= 2; } font->size_attr = size_attr; /* * checking if font width/height/ascent member is sane. */ if (font->width == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " font width is 0.\n"); #endif /* XXX this may be inaccurate. */ font->width = DIVIDE_ROUNDINGUP(fontsize * cols, 2); } if (font->height == 0) { /* XXX this may be inaccurate. */ font->height = fontsize; } if (font->ascent == 0) { /* XXX this may be inaccurate. */ font->ascent = fontsize; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s font is loaded. => CURRENT NUM OF XFONTS %d\n", font->xfont->file, num_xfonts); #endif #ifdef DEBUG ui_font_dump(font); #endif return font; } void ui_font_delete(ui_font_t *font) { xfont_unref(font->xfont); #ifdef USE_OT_LAYOUT if (font->ot_font) { otl_close(font->ot_font); } #endif free(font); } #ifdef USE_OT_LAYOUT int ui_font_has_ot_layout_table(ui_font_t *font) { #ifdef USE_FREETYPE if (font->xfont->face) { if (!font->ot_font) { if (font->ot_font_not_found || !(font->ot_font = otl_open(font->xfont->face, 0))) { font->ot_font_not_found = 1; return 0; } } return 1; } #endif return 0; } u_int ui_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { return otl_convert_text_to_glyphs(font->ot_font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features, 0); } #endif u_int ui_calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs, int *draw_alone) { if (draw_alone) { *draw_alone = 0; } #if defined(USE_FREETYPE) if (font->xfont->is_aa && font->is_proportional) { u_char *glyph; if ((glyph = get_ft_bitmap(font->xfont, ch, #ifdef USE_OT_LAYOUT (font->use_ot_layout /* && font->ot_font */) #else 0 #endif , NULL))) { return glyph[font->xfont->glyph_size - 3]; } } #endif return font->width; } /* Return written size */ size_t ui_convert_ucs4_to_utf16(u_char *dst, /* 4 bytes. Big endian. */ u_int32_t src) { if (src < 0x10000) { dst[0] = (src >> 8) & 0xff; dst[1] = src & 0xff; return 2; } else if (src < 0x110000) { /* surrogate pair */ u_char c; src -= 0x10000; c = (u_char)(src / (0x100 * 0x400)); src -= (c * 0x100 * 0x400); dst[0] = c + 0xd8; c = (u_char)(src / 0x400); src -= (c * 0x400); dst[1] = c; c = (u_char)(src / 0x100); src -= (c * 0x100); dst[2] = c + 0xdc; dst[3] = (u_char)src; return 4; } return 0; } #ifdef DEBUG void ui_font_dump(ui_font_t *font) { bl_msg_printf("Font id %x: XFont %p (width %d, height %d, ascent %d, x_off %d)", font->id, font->xfont, font->width, font->height, font->ascent, font->x_off); if (font->is_proportional) { bl_msg_printf(" (proportional)"); } if (font->is_var_col_width) { bl_msg_printf(" (var col width)"); } if (font->is_vertical) { bl_msg_printf(" (vertical)"); } if (font->double_draw_gap) { bl_msg_printf(" (double drawing)"); } bl_msg_printf("\n"); } #endif u_char *ui_get_bitmap(XFontStruct *xfont, u_char *ch, size_t len, int use_ot_layout, XFontStruct **compl_xfont) { size_t ch_idx; int16_t glyph_idx; int32_t glyph_offset; #ifdef USE_FREETYPE if (xfont->face) { return get_ft_bitmap(xfont, ef_bytes_to_int(ch, len), use_ot_layout, compl_xfont); } else #endif if (len == 1) { ch_idx = ch[0] - xfont->min_char_or_byte2; } else if (len == 2) { ch_idx = (ch[0] - xfont->min_byte1) * (xfont->max_char_or_byte2 - xfont->min_char_or_byte2 + 1) + ch[1] - xfont->min_char_or_byte2; } else /* if( len == 4) */ { ch_idx = (ch[1] * 0x100 + ch[2] - xfont->min_byte1) * (xfont->max_char_or_byte2 - xfont->min_char_or_byte2 + 1) + ch[3] - xfont->min_char_or_byte2; } if (ch_idx >= (xfont->max_char_or_byte2 - xfont->min_char_or_byte2 + 1)*(xfont->max_byte1 - xfont->min_byte1 + 1) || (glyph_idx = xfont->glyph_indeces[ch_idx]) == -1) { return NULL; } /* * glyph_idx should be casted to unsigned in order not to be minus * if it is over 32767. */ glyph_offset = xfont->glyph_offsets[(u_int16_t)glyph_idx]; #if 0 bl_debug_printf(BL_DEBUG_TAG " chindex %d glindex %d glyph offset %d\n", ch_idx, glyph_idx, glyph_offset); #endif return xfont->glyphs + glyph_offset; } /* For mlterm-libvte */ void ui_font_set_dpi_for_fc(double dpi) { #ifdef USE_FONTCONFIG dpi_for_fc = dpi; #endif } mlterm-3.8.4/uitoolkit/fb/ui_virtual_kbd.c010064400017600000144000000270631321054731200173130ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_virtual_kbd.h" #include #include "../ui_imagelib.h" #ifndef XDATADIR #define KBD_DIR "/usr/local/share/mlterm/kbd" #else #define KBD_DIR XDATADIR "/mlterm/kbd" #endif /* --- static variables --- */ static ui_window_t *kbd_win; static struct kbd_key { int16_t left; int16_t right; u_int16_t ksym; u_int16_t shift_ksym; u_int keycode; } kbd_keys[] = { {1, 35, XK_Escape, XK_Escape, 1}, {37, 71, XK_F1, XK_F1, 59}, {73, 107, XK_F2, XK_F2, 60}, {109, 143, XK_F3, XK_F3, 61}, {145, 179, XK_F4, XK_F4, 62}, {181, 215, XK_F5, XK_F5, 63}, {217, 251, XK_F6, XK_F6, 64}, {253, 287, XK_F7, XK_F7, 65}, {289, 323, XK_F8, XK_F8, 66}, {325, 359, XK_F9, XK_F9, 67}, {361, 395, XK_F10, XK_F10, 68}, {397, 431, XK_F11, XK_F11, 87}, {433, 467, XK_F11, XK_F12, 88}, {589, 623, 0, 0, 0}, {1, 35, '`', '~', 41}, {37, 71, '1', '!', 2}, {73, 107, '2', '@', 3}, {109, 143, '3', '#', 4}, {145, 179, '4', '$', 5}, {181, 215, '5', '%', 6}, {217, 251, '6', '^', 7}, {253, 287, '7', '&', 8}, {289, 323, '8', '*', 9}, {325, 359, '9', '(', 10}, {361, 395, '0', ')', 11}, {397, 431, '-', '_', 12}, {433, 467, '=', '+', 13}, {469, 515, XK_BackSpace, XK_BackSpace, 14}, {517, 551, XK_Insert, XK_Insert, 110}, {553, 587, XK_Home, XK_Home, 102}, {589, 623, XK_Prior, XK_Prior, 104}, {1, 47, XK_Tab, XK_Tab, 15}, {49, 83, 'q', 'Q', 16}, {85, 119, 'w', 'W', 17}, {121, 155, 'e', 'E', 18}, {157, 191, 'r', 'R', 19}, {193, 227, 't', 'T', 20}, {229, 263, 'y', 'Y', 21}, {265, 299, 'u', 'U', 22}, {301, 335, 'i', 'I', 23}, {337, 371, 'o', 'O', 24}, {373, 407, 'p', 'P', 25}, {409, 443, '[', '{', 26}, {445, 479, ']', '}', 27}, {481, 515, '\\', '|', 43}, {517, 551, XK_Delete, XK_Delete, 111}, {553, 587, XK_End, XK_End, 107}, {589, 623, XK_Next, XK_Next, 109}, {1, 59, XK_Caps_Lock, XK_Caps_Lock, 58}, {61, 95, 'a', 'A', 30}, {97, 131, 's', 'S', 31}, {133, 167, 'd', 'D', 32}, {169, 203, 'f', 'F', 33}, {205, 239, 'g', 'G', 34}, {241, 275, 'h', 'H', 35}, {277, 311, 'j', 'J', 36}, {313, 347, 'k', 'K', 37}, {349, 383, 'l', 'L', 38}, {385, 419, ';', ':', 39}, {421, 455, '\'', '\"', 40}, {457, 515, XK_Return, XK_Return, 28}, {1, 71, XK_Shift_L, XK_Shift_L, 42}, {73, 107, 'z', 'Z', 44}, {109, 143, 'x', 'X', 45}, {145, 179, 'c', 'C', 46}, {181, 215, 'v', 'V', 47}, {217, 251, 'b', 'B', 48}, {253, 287, 'n', 'N', 49}, {289, 323, 'm', 'M', 50}, {325, 359, ',', '<', 51}, {361, 395, '.', '>', 52}, {397, 431, '/', '?', 53}, {433, 515, XK_Shift_R, XK_Shift_R, 54}, {553, 587, XK_Up, XK_Up, 103}, {1, 71, XK_Control_L, XK_Control_L, 29}, {73, 143, XK_Alt_L, XK_Alt_L, 56}, {145, 359, ' ', ' ', 57}, {361, 431, XK_Alt_R, XK_Alt_R, 100}, {433, 515, XK_Control_R, XK_Control_R, 97}, {517, 551, XK_Left, XK_Left, 105}, {553, 587, XK_Down, XK_Down, 108}, {589, 623, XK_Right, XK_Right, 106}, }; static struct kbd_key_group { int16_t top; int16_t bottom; u_int16_t num_keys; struct kbd_key *keys; } kbd_key_groups[] = { {1, 35, 14, kbd_keys}, {37, 71, 17, kbd_keys + 14}, {73, 107, 17, kbd_keys + 31}, {109, 143, 13, kbd_keys + 48}, {145, 179, 13, kbd_keys + 61}, {181, 215, 8, kbd_keys + 74}, }; static Pixmap normal_pixmap; static Pixmap pressed_pixmap; static int is_pressed; static int16_t pressed_top; static int16_t pressed_left; static u_int16_t pressed_width; static u_int16_t pressed_height; static int x_off; static int state; static int lock_state; /* --- static functions --- */ static int update_state(u_int ksym) { if (ksym == XK_Alt_L || ksym == XK_Alt_R) { if (state & Mod1Mask) { state &= ~Mod1Mask; return -1; } else { state |= Mod1Mask; return 1; } } else if (ksym == XK_Control_L || ksym == XK_Control_R) { if (state & ControlMask) { state &= ~ControlMask; return -1; } else { state |= ControlMask; return 1; } } else if (ksym == XK_Shift_L || ksym == XK_Shift_R) { if (state & ShiftMask) { state &= ~ShiftMask; return (lock_state & CLKED) ? 1 : -1; } else { state |= ShiftMask; return (lock_state & CLKED) ? -1 : 1; } } else if (ksym == XK_Caps_Lock) { state ^= ShiftMask; if (lock_state & CLKED) { lock_state &= ~CLKED; return -1; } else { lock_state |= CLKED; return 1; } } else { return 0; } } static void window_exposed(ui_window_t *win, int x, int y, u_int width, u_int height) { if (x < x_off) { ui_window_clear(win, x, y, width, height); if (width <= x_off - x) { return; } width -= (x_off - x); x = x_off; } if (x + width > x_off + normal_pixmap->width) { ui_window_clear(win, x_off + normal_pixmap->width, y, x_off + 1, height); if (x >= x_off + normal_pixmap->width) { return; } width = x_off + normal_pixmap->width - x; } ui_window_copy_area(win, normal_pixmap, None, x - x_off, y, width, height, x, y); } static int start_virtual_kbd(ui_display_t *disp) { u_int width; u_int height; if (normal_pixmap /* && pressed_pixmap */) { width = normal_pixmap->width; height = normal_pixmap->height; } else { width = 0; height = 0; if (!ui_imagelib_load_file(disp, KBD_DIR "/pressed_kbd.six", NULL, &pressed_pixmap, NULL, &width, &height)) { /* * Note that pressed_pixmap can be non-NULL even if * ui_imagelib_load_file() fails. */ pressed_pixmap = NULL; return 0; } width = 0; height = 0; if (!ui_imagelib_load_file(disp, KBD_DIR "/kbd.six", NULL, &normal_pixmap, NULL, &width, &height)) { /* * Note that normal_pixmap can be non-NULL even if * ui_imagelib_load_file() fails. */ normal_pixmap = NULL; goto error; } #if 1 if (disp->depth == 1) { /* XXX */ Pixmap tmp; tmp = normal_pixmap; normal_pixmap = pressed_pixmap; pressed_pixmap = tmp; } #endif /* * It is assumed that the width and height of kbd.png are the same * as those of pressed_kbg.png */ } if (width > disp->width) { width = disp->width; } if (height > disp->height / 2) { height = disp->height / 2; } if (!(kbd_win = malloc(sizeof(ui_window_t)))) { goto error; } ui_window_init(kbd_win, disp->width, height, disp->width, height, disp->width, height, 0, 0, 0, 0); kbd_win->window_exposed = window_exposed; kbd_win->disp = disp; kbd_win->x = 0; kbd_win->y = disp->height - height; ui_window_show(kbd_win, 0); ui_window_clear_all(kbd_win); x_off = (disp->width - width) / 2; ui_window_copy_area(kbd_win, normal_pixmap, None, 0, 0, width, height, x_off, 0); if (disp->num_roots > 0) { ui_window_resize_with_margin(disp->roots[0], disp->width, disp->height - height, NOTIFY_TO_MYSELF); } return 1; error: if (normal_pixmap) { ui_delete_image(disp->display, normal_pixmap); normal_pixmap = NULL; } if (pressed_pixmap) { ui_delete_image(disp->display, pressed_pixmap); pressed_pixmap = NULL; } return 0; } /* --- global functions --- */ int ui_virtual_kbd_hide(void) { if (!kbd_win) { return 0; } #if 0 ui_delete_image(kbd_win->disp->display, normal_pixmap); normal_pixmap = NULL; ui_delete_image(kbd_win->disp->display, pressed_pixmap); pressed_pixmap = NULL; #endif if (kbd_win->disp->num_roots > 0) { ui_window_resize_with_margin(kbd_win->disp->roots[0], kbd_win->disp->width, kbd_win->disp->height, NOTIFY_TO_MYSELF); } ui_window_final(kbd_win); kbd_win = NULL; return 1; } /* * Return value * 0: is not virtual kbd event. * 1: is virtual kbd event. * -1: is inside the virtual kbd area but not virtual kbd event. */ int ui_is_virtual_kbd_event(ui_display_t *disp, XButtonEvent *bev) { while (!kbd_win) { static int click_num; if (bev->type == ButtonPress) { if (bev->x + bev->y + 20 >= disp->width + disp->height) { if (click_num == 0) { click_num = 1; } else /* if( click_num == 1) */ { click_num = 0; if (start_virtual_kbd(disp)) { break; } } } else { click_num = 0; } } return 0; } if (bev->y < kbd_win->y) { return 0; } if (kbd_win->disp->num_roots > 0 && kbd_win->disp->roots[0]->y + kbd_win->disp->roots[0]->height > kbd_win->y) { /* disp->roots[0] seems to be resized. */ ui_virtual_kbd_hide(); return 0; } if (bev->type == ButtonRelease || bev->type == ButtonPress) { return 1; } else { is_pressed = 0; return -1; } } /* * Call this function after checking if ui_is_virtual_kbd_event() returns 1. * Return value * 1: keytop image is redrawn and kev is set. * 2: keytop image is redrawn but kev is not set. * 0: keytop image is not redrawn and kev is not set. */ int ui_virtual_kbd_read(XKeyEvent *kev, XButtonEvent *bev) { int x; int y; if (bev->type == ButtonRelease) { if (is_pressed) { ui_window_copy_area(kbd_win, normal_pixmap, None, pressed_left, pressed_top, pressed_width, pressed_height, pressed_left + x_off, pressed_top); is_pressed = 0; return 2; } } else /* if( bev->type == ButtonPress) */ { struct kbd_key_group *key_group; u_int count; y = bev->y - kbd_win->y; x = bev->x - x_off; for (count = 0, key_group = kbd_key_groups; count < sizeof(kbd_key_groups) / sizeof(kbd_key_groups[0]); count++, key_group++) { if (y < key_group->top) { break; } if (y <= key_group->bottom) { u_int count2; for (count2 = 0; count2 < key_group->num_keys; count2++) { if (x < key_group->keys[count2].left) { break; } if (x <= key_group->keys[count2].right) { Pixmap pixmap; int ret; if (key_group->keys[count2].ksym == 0) { /* [X] button */ return ui_virtual_kbd_hide(); } if ((ret = update_state(key_group->keys[count2].ksym)) < 0) { pixmap = normal_pixmap; } else { pixmap = pressed_pixmap; } pressed_top = key_group->top; pressed_height = key_group->bottom - pressed_top + 1; pressed_left = key_group->keys[count2].left; pressed_width = key_group->keys[count2].right - pressed_left + 1; ui_window_copy_area(kbd_win, pixmap, None, pressed_left, pressed_top, pressed_width, pressed_height, pressed_left + x_off, pressed_top); if (ret == 0) { is_pressed = 1; kev->type = KeyPress; kev->state = state; kev->ksym = (state & ShiftMask) ? key_group->keys[count2].shift_ksym : key_group->keys[count2].ksym; kev->keycode = key_group->keys[count2].keycode; return 1; } else { return 2; } } } } } } is_pressed = 0; return 0; } ui_window_t *ui_is_virtual_kbd_area(int y) { if (kbd_win && y > kbd_win->y) { return kbd_win; } else { return NULL; } } mlterm-3.8.4/uitoolkit/fb/ui_display.c010064400017600000144000001432651321054731200164550ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_display.h" #include /* printf */ #include /* STDIN_FILENO */ #include /* open */ #include /* mmap */ #include /* ioctl */ #include /* memset/memcpy */ #include /* getenv */ #include #include #include /* bl_priv_change_e(u|g)id */ #include /* bl_getuid */ #include #include /* alloca */ #include #include "../ui_window.h" #include "../ui_picture.h" #include "ui_virtual_kbd.h" #define DISP_IS_INITED (_disp.display) #define MOUSE_IS_INITED (_mouse.fd != -1) #define CMAP_IS_INITED (_display.cmap) /* Because ppb is 2, 4 or 8, "% ppb" can be replaced by "& ppb" */ #define MOD_PPB(i, ppb) ((i) & ((ppb)-1)) /* * If the most significant bit stores the pixel at the right side of the screen, * define VRAMBIT_MSBRIGHT. */ #if 0 #define VRAMBIT_MSBRIGHT #endif #if 0 #define ENABLE_2_4_PPB #endif #ifdef ENABLE_2_4_PPB #ifdef VRAMBIT_MSBRIGHT #define FB_SHIFT(ppb, bpp, idx) (MOD_PPB(idx, ppb) * (bpp)) #define FB_SHIFT_0(ppb, bpp) (0) #define FB_SHIFT_NEXT(shift, bpp) ((shift) += (bpp)) #else #define FB_SHIFT(ppb, bpp, idx) (((ppb)-MOD_PPB(idx, ppb) - 1) * (bpp)) #define FB_SHIFT_0(ppb, bpp) (((ppb)-1) * (bpp)) #define FB_SHIFT_NEXT(shift, bpp) ((shift) -= (bpp)) #endif #define FB_MASK(ppb) ((2 << (8 / (ppb)-1)) - 1) #define PLANE(image) (image) #else /* ENABLE_2_4_PPB */ #ifdef VRAMBIT_MSBRIGHT #define FB_SHIFT(ppb, bpp, idx) MOD_PPB(idx, ppb) #define FB_SHIFT_0(ppb, bpp) (0) #define FB_SHIFT_NEXT(shift, bpp) ((shift) += 1) #else #define FB_SHIFT(ppb, bpp, idx) (7 - MOD_PPB(idx, ppb)) #define FB_SHIFT_0(ppb, bpp) (7) #define FB_SHIFT_NEXT(shift, bpp) ((shift) -= 1) #endif #define FB_MASK(ppb) (1) #define PLANE(image) (((image) >> plane) & 0x1) #endif /* ENABLE_2_4_PPB */ #define FB_WIDTH_BYTES(display, x, width) \ ((width) * (display)->bytes_per_pixel / (display)->pixels_per_byte + \ (MOD_PPB(x, (display)->pixels_per_byte) > 0 ? 1 : 0) + \ (MOD_PPB((x) + (width), (display)->pixels_per_byte) > 0 ? 1 : 0)) #define BG_MAGIC 0xff /* for 1,2,4 bpp */ /* Enable doube buffering on 1, 2 or 4 bpp */ #if 1 #define ENABLE_DOUBLE_BUFFER #endif /* Parameters of mouse cursor */ #define MAX_CURSOR_SHAPE_WIDTH 15 #define CURSOR_SHAPE_SIZE (7 * 15 * sizeof(u_int32_t)) /* * Note that this structure could be casted to Display. * * x, y, width and height are on the physical display. * (rotate_display is not considered.) */ typedef struct { int fd; /* Same as Display */ int x; int y; int button_state; struct { /* x/y is left/top of the cursor. */ int x; int y; int width; int height; /* x and y offset of cursor_shape */ int x_off; int y_off; int is_drawn; } cursor; u_char saved_image[CURSOR_SHAPE_SIZE]; int hidden_region_saved; } Mouse; /* --- static variables --- */ static Display _display; static ui_display_t _disp; static Mouse _mouse; static ui_display_t _disp_mouse; static ui_display_t *opened_disps[] = {&_disp, &_disp_mouse}; #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE static int use_ansi_colors = 1; #endif static int rotate_display = 0; static struct termios orig_tm; static const char cursor_shape_normal[] = "#######" "#*****#" "###*###" " #*# " " #*# " " #*# " " #*# " " #*# " " #*# " " #*# " " #*# " " #*# " "###*###" "#*****#" "#######"; static const char cursor_shape_rotate[] = "### ###" "#*# #*#" "#*###########*#" "#*************#" "#*###########*#" "#*# #*#" "### ###"; static struct cursor_shape { const char *shape; u_int width; u_int height; int x_off; int y_off; } cursor_shape = { cursor_shape_normal, 7, /* width */ 15, /* height */ -3, /* x_off */ -7 /* y_off */ }; /* --- static functions --- */ static inline ui_window_t *get_window_intern(ui_window_t *win, int x, int y) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_t *child; if ((child = win->children[count])->is_mapped) { if (child->x <= x && x < child->x + ACTUAL_WIDTH(child) && child->y <= y && y < child->y + ACTUAL_HEIGHT(child)) { return get_window_intern(child, x - child->x, y - child->y); } } } return win; } /* * _disp.roots[1] is ignored. * x and y are rotated values. */ static inline ui_window_t *get_window(int x, /* X in display */ int y /* Y in display */ ) { return get_window_intern(_disp.roots[0], x, y); } static inline u_char *get_fb(int x, int y) { return _display.fb + (_display.yoffset + y) * _display.line_length + (_display.xoffset + x) * _display.bytes_per_pixel / _display.pixels_per_byte; } static void put_image_124bpp(int x, int y, u_char *image, size_t size, int write_back_fb, int need_fb_pixel) { u_int ppb; u_int bpp; u_char *new_image; u_char *new_image_p; u_char *fb; int shift; size_t count; int plane; ppb = _display.pixels_per_byte; bpp = 8 / ppb; fb = get_fb(x, y); #ifdef ENABLE_DOUBLE_BUFFER if (write_back_fb) { new_image = _display.back_fb + (fb - _display.fb); } else #endif { /* + 2 is for surplus */ if (!(new_image = alloca(size / ppb + 2))) { return; } } plane = 0; while (1) { new_image_p = new_image; if (need_fb_pixel && memchr(image, BG_MAGIC, size)) { #ifdef ENABLE_DOUBLE_BUFFER if (!write_back_fb) #endif { memcpy(new_image, #ifdef ENABLE_DOUBLE_BUFFER _display.back_fb + (fb - _display.fb), #else fb, #endif size / ppb + 2); } shift = FB_SHIFT(ppb, bpp, x); #ifndef ENABLE_2_4_PPB if (_disp.depth > 1) { for (count = 0; count < size; count++) { if (image[count] != BG_MAGIC) { (*new_image_p) = ((*new_image_p) & ~(_display.mask << shift)) | (PLANE(image[count]) << shift); } #ifdef VRAMBIT_MSBRIGHT if (FB_SHIFT_NEXT(shift, bpp) >= 8) #else if (FB_SHIFT_NEXT(shift, bpp) < 0) #endif { new_image_p++; shift = _display.shift_0; } } } else #endif { for (count = 0; count < size; count++) { if (image[count] != BG_MAGIC) { (*new_image_p) = ((*new_image_p) & ~(_display.mask << shift)) | (image[count] << shift); } #ifdef VRAMBIT_MSBRIGHT if (FB_SHIFT_NEXT(shift, bpp) >= 8) #else if (FB_SHIFT_NEXT(shift, bpp) < 0) #endif { new_image_p++; shift = _display.shift_0; } } } if (shift != _display.shift_0) { new_image_p++; } } else { int surplus; u_char pixel; shift = _display.shift_0; count = 0; pixel = 0; if ((surplus = MOD_PPB(x, ppb)) > 0) { u_char fb_pixel; #ifdef ENABLE_DOUBLE_BUFFER fb_pixel = _display.back_fb[fb - _display.fb]; #else fb_pixel = fb[0]; #endif for (; surplus > 0; surplus--) { pixel |= (fb_pixel & (_display.mask << shift)); FB_SHIFT_NEXT(shift, bpp); } } else { #ifndef ENABLE_2_4_PPB if (_disp.depth > 1) { goto round_number_1; } else #endif { goto round_number_2; } } #ifndef ENABLE_2_4_PPB if (_disp.depth > 1) { do { pixel |= (PLANE(image[count++]) << shift); #ifdef VRAMBIT_MSBRIGHT if (FB_SHIFT_NEXT(shift, bpp) >= 8) #else if (FB_SHIFT_NEXT(shift, bpp) < 0) #endif { *(new_image_p++) = pixel; pixel = 0; shift = _display.shift_0; round_number_1: if (ppb == 8) { for (; count + 7 < size; count += 8) { *(new_image_p++) = #ifdef VRAMBIT_MSBRIGHT PLANE(image[count]) | (PLANE(image[count + 1]) << 1) | (PLANE(image[count + 2]) << 2) | (PLANE(image[count + 3]) << 3) | (PLANE(image[count + 4]) << 4) | (PLANE(image[count + 5]) << 5) | (PLANE(image[count + 6]) << 6) | (PLANE(image[count + 7]) << 7); #else (PLANE(image[count]) << 7) | (PLANE(image[count + 1]) << 6) | (PLANE(image[count + 2]) << 5) | (PLANE(image[count + 3]) << 4) | (PLANE(image[count + 4]) << 3) | (PLANE(image[count + 5]) << 2) | (PLANE(image[count + 6]) << 1) | PLANE(image[count + 7]); #endif } } } } while (count < size); } else #endif { do { pixel |= (image[count++] << shift); #ifdef VRAMBIT_MSBRIGHT if (FB_SHIFT_NEXT(shift, bpp) >= 8) #else if (FB_SHIFT_NEXT(shift, bpp) < 0) #endif { *(new_image_p++) = pixel; pixel = 0; shift = _display.shift_0; round_number_2: if (ppb == 8) { for (; count + 7 < size; count += 8) { *(new_image_p++) = #ifdef VRAMBIT_MSBRIGHT image[count] | (image[count + 1] << 1) | (image[count + 2] << 2) | (image[count + 3] << 3) | (image[count + 4] << 4) | (image[count + 5] << 5) | (image[count + 6] << 6) | (image[count + 7] << 7); #else (image[count] << 7) | (image[count + 1] << 6) | (image[count + 2] << 5) | (image[count + 3] << 4) | (image[count + 4] << 3) | (image[count + 5] << 2) | (image[count + 6] << 1) | image[count + 7]; #endif } } } } while (count < size); } if (shift != _display.shift_0) { u_char fb_pixel; #ifdef ENABLE_DOUBLE_BUFFER fb_pixel = _display.back_fb[get_fb(x + size, y) - _display.fb + _display.plane_offset[plane]]; #else fb_pixel = get_fb(x + size, y)[_display.plane_offset[plane]]; #endif do { pixel |= (fb_pixel & (_display.mask << shift)); } #ifdef VRAMBIT_MSBRIGHT while (FB_SHIFT_NEXT(shift, bpp) < 8); #else while (FB_SHIFT_NEXT(shift, bpp) >= 0); #endif *(new_image_p++) = pixel; } } memcpy(fb, new_image, new_image_p - new_image); if (++plane < _disp.depth) { size_t offset; offset = _display.plane_offset[plane] - _display.plane_offset[plane - 1]; fb += offset; #ifdef ENABLE_DOUBLE_BUFFER if (write_back_fb) { new_image += offset; } #endif } else { break; } } } static void rotate_mouse_cursor_shape(void) { int tmp; cursor_shape.shape = (cursor_shape.shape == cursor_shape_normal) ? cursor_shape_rotate : cursor_shape_normal; tmp = cursor_shape.x_off; cursor_shape.x_off = cursor_shape.y_off; cursor_shape.y_off = tmp; tmp = cursor_shape.width; cursor_shape.width = cursor_shape.height; cursor_shape.height = tmp; } static void update_mouse_cursor_state(void) { if (-cursor_shape.x_off > _mouse.x) { _mouse.cursor.x = 0; _mouse.cursor.x_off = -cursor_shape.x_off - _mouse.x; } else { _mouse.cursor.x = _mouse.x + cursor_shape.x_off; _mouse.cursor.x_off = 0; } _mouse.cursor.width = cursor_shape.width - _mouse.cursor.x_off; if (_mouse.cursor.x + _mouse.cursor.width > _display.width) { _mouse.cursor.width -= (_mouse.cursor.x + _mouse.cursor.width - _display.width); } if (-cursor_shape.y_off > _mouse.y) { _mouse.cursor.y = 0; _mouse.cursor.y_off = -cursor_shape.y_off - _mouse.y; } else { _mouse.cursor.y = _mouse.y + cursor_shape.y_off; _mouse.cursor.y_off = 0; } _mouse.cursor.height = cursor_shape.height - _mouse.cursor.y_off; if (_mouse.cursor.y + _mouse.cursor.height > _display.height) { _mouse.cursor.height -= (_mouse.cursor.y + _mouse.cursor.height - _display.height); } } static void restore_hidden_region(void) { if (!_mouse.cursor.is_drawn) { return; } /* Set 0 before window_exposed is called. */ _mouse.cursor.is_drawn = 0; if (_mouse.hidden_region_saved) { size_t width; u_char *saved; int plane; int num_planes; u_char *fb; u_int count; width = FB_WIDTH_BYTES(&_display, _mouse.cursor.x, _mouse.cursor.width); saved = _mouse.saved_image; if (_display.pixels_per_byte == 8) { num_planes = _disp.depth; } else { num_planes = 1; } for (plane = 0; plane < num_planes; plane++) { fb = get_fb(_mouse.cursor.x, _mouse.cursor.y) + _display.plane_offset[plane]; for (count = 0; count < _mouse.cursor.height; count++) { memcpy(fb, saved, width); saved += width; fb += _display.line_length; } } } else { ui_window_t *win; int cursor_x; int cursor_y; u_int cursor_height; u_int cursor_width; if (rotate_display) { win = get_window(_mouse.y, _display.width - _mouse.x - 1); if (rotate_display > 0) { cursor_x = _mouse.cursor.y; cursor_y = _display.width - _mouse.cursor.x - _mouse.cursor.width; } else { cursor_x = _display.height - _mouse.cursor.y - _mouse.cursor.height; cursor_y = _mouse.cursor.x; } cursor_width = _mouse.cursor.height; cursor_height = _mouse.cursor.width; } else { win = get_window(_mouse.x, _mouse.y); cursor_x = _mouse.cursor.x; cursor_y = _mouse.cursor.y; cursor_width = _mouse.cursor.width; cursor_height = _mouse.cursor.height; } if (win->window_exposed) { (*win->window_exposed)(win, cursor_x - win->x - win->hmargin, cursor_y - win->y - win->vmargin, cursor_width, cursor_height); } } } static void save_hidden_region(void) { size_t width; u_char *saved; int plane; int num_planes; u_char *fb; u_int count; width = FB_WIDTH_BYTES(&_display, _mouse.cursor.x, _mouse.cursor.width); saved = _mouse.saved_image; if (_display.pixels_per_byte == 8) { num_planes = _disp.depth; } else { num_planes = 1; } for (plane = 0; plane < num_planes; plane++) { fb = get_fb(_mouse.cursor.x, _mouse.cursor.y) + _display.plane_offset[plane]; for (count = 0; count < _mouse.cursor.height; count++) { memcpy(saved, fb, width); fb += _display.line_length; saved += width; } } _mouse.hidden_region_saved = 1; } static void draw_mouse_cursor_line(int y) { u_char *fb; ui_window_t *win; char *shape; u_char image[MAX_CURSOR_SHAPE_WIDTH * sizeof(u_int32_t)]; int x; fb = get_fb(_mouse.cursor.x, _mouse.cursor.y + y); if (rotate_display) { if (rotate_display > 0) { win = get_window(_mouse.y, _display.width - _mouse.x - 1); } else { win = get_window(_display.height - _mouse.y - 1, _mouse.x); } } else { win = get_window(_mouse.x, _mouse.y); } shape = cursor_shape.shape + ((_mouse.cursor.y_off + y) * cursor_shape.width + _mouse.cursor.x_off); for (x = 0; x < _mouse.cursor.width; x++) { if (shape[x] == '*') { switch (_display.bytes_per_pixel) { case 1: image[x] = win->fg_color.pixel; break; case 2: ((u_int16_t*)image)[x] = win->fg_color.pixel; break; /* case 4: */ default: ((u_int32_t*)image)[x] = win->fg_color.pixel; break; } } else if (shape[x] == '#') { switch (_display.bytes_per_pixel) { case 1: image[x] = win->bg_color.pixel; break; case 2: ((u_int16_t*)image)[x] = win->bg_color.pixel; break; /* case 4: */ default: ((u_int32_t*)image)[x] = win->bg_color.pixel; break; } } else { switch (_display.bytes_per_pixel) { int tmp; case 1: tmp = rotate_display; rotate_display = 0; image[x] = ui_display_get_pixel2(_mouse.cursor.x + x, _mouse.cursor.y + y); rotate_display = tmp; break; case 2: ((u_int16_t*)image)[x] = TOINT16(fb + 2 * x); break; /* case 4: */ default: ((u_int32_t*)image)[x] = TOINT32(fb + 4 * x); break; } } } if (_display.pixels_per_byte > 1) { put_image_124bpp(_mouse.cursor.x, _mouse.cursor.y + y, image, _mouse.cursor.width, 0, 1); } else { memcpy(fb, image, _mouse.cursor.width * _display.bytes_per_pixel); } } static void draw_mouse_cursor(void) { int y; for (y = 0; y < _mouse.cursor.height; y++) { draw_mouse_cursor_line(y); } _mouse.cursor.is_drawn = 1; } /* XXX defined in fb/ui_window.c */ void ui_window_clear_margin_area(ui_window_t *win); static void expose_window(ui_window_t *win, int x, int y, u_int width, u_int height) { if (x + width <= win->x || win->x + ACTUAL_WIDTH(win) < x || y + height <= win->y || win->y + ACTUAL_HEIGHT(win) < y) { return; } if (x < win->x + win->hmargin || y < win->y + win->vmargin || x - win->x + width > win->hmargin + win->width || y - win->y + height > win->vmargin + win->height) { ui_window_clear_margin_area(win); } if (win->window_exposed) { if (x < win->x + win->hmargin) { width -= (win->x + win->hmargin - x); x = 0; } else { x -= (win->x + win->hmargin); } if (y < win->y + win->vmargin) { height -= (win->y + win->vmargin - y); y = 0; } else { y -= (win->y + win->vmargin); } (*win->window_exposed)(win, x, y, width, height); } } static void expose_display(int x, int y, u_int width, u_int height) { u_int count; ui_window_t *kbd; /* maybe software keyboard */ /* * XXX * ui_im_{status|candidate}_screen can exceed display width or height, * because ui_im_{status|candidate}_screen_new() shows screen at * non-adjusted position. */ if (x + width > _disp.width) { width = _disp.width - x; } if (y + height > _disp.height) { height = _disp.height - y; } expose_window(_disp.roots[0], x, y, width, height); for (count = 0; count < _disp.roots[0]->num_children; count++) { expose_window(_disp.roots[0]->children[count], x, y, width, height); } if ((kbd = ui_is_virtual_kbd_area(y + height - 1))) { expose_window(kbd, x, y, width, height); } } static int check_visibility_of_im_window(void) { static struct { int saved; int x; int y; u_int width; u_int height; } im_region; int redraw_im_win = 0; #ifdef DEBUG if (_disp.num_roots > 2) { bl_debug_printf(BL_DEBUG_TAG" Multiple IM Windows (%d) are activated.\n", _disp.num_roots - 1); } #endif if (IM_WINDOW_IS_ACTIVATED(&_disp)) { if (im_region.saved) { if (im_region.x == _disp.roots[1]->x && im_region.y == _disp.roots[1]->y && im_region.width == ACTUAL_WIDTH(_disp.roots[1]) && im_region.height == ACTUAL_HEIGHT(_disp.roots[1])) { return 0; } if (im_region.x < _disp.roots[1]->x || im_region.y < _disp.roots[1]->y || im_region.x + im_region.width > _disp.roots[1]->x + ACTUAL_WIDTH(_disp.roots[1]) || im_region.y + im_region.height > _disp.roots[1]->y + ACTUAL_HEIGHT(_disp.roots[1])) { expose_display(im_region.x, im_region.y, im_region.width, im_region.height); redraw_im_win = 1; } } im_region.saved = 1; im_region.x = _disp.roots[1]->x; im_region.y = _disp.roots[1]->y; im_region.width = ACTUAL_WIDTH(_disp.roots[1]); im_region.height = ACTUAL_HEIGHT(_disp.roots[1]); } else { if (im_region.saved) { expose_display(im_region.x, im_region.y, im_region.width, im_region.height); im_region.saved = 0; } } return redraw_im_win; } static void receive_event_for_multi_roots(XEvent *xev) { int redraw_im_win; if ((redraw_im_win = check_visibility_of_im_window())) { /* Stop drawing input method window */ _disp.roots[1]->is_mapped = 0; } ui_window_receive_event(_disp.roots[0], xev); if (redraw_im_win && _disp.num_roots == 2) { /* Restart drawing input method window */ _disp.roots[1]->is_mapped = 1; } else if (!check_visibility_of_im_window()) { return; } expose_window(_disp.roots[1], _disp.roots[1]->x, _disp.roots[1]->y, ACTUAL_WIDTH(_disp.roots[1]), ACTUAL_HEIGHT(_disp.roots[1])); } /* * Return value * 0: button is outside the virtual kbd area. * 1: button is inside the virtual kbd area. (bev is converted to kev.) */ static int check_virtual_kbd(XButtonEvent *bev) { XKeyEvent kev; int ret; if (!(ret = ui_is_virtual_kbd_event(&_disp, bev))) { return 0; } if (ret > 0) { /* don't draw mouse cursor in ui_virtual_kbd_read() */ restore_hidden_region(); ret = ui_virtual_kbd_read(&kev, bev); save_hidden_region(); draw_mouse_cursor(); if (ret == 1) { receive_event_for_multi_roots(&kev); } } return 1; } /* --- platform dependent stuff --- */ #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) #define CMAP_SIZE(cmap) ((cmap)->count) #define BYTE_COLOR_TO_WORD(color) (color) #define WORD_COLOR_TO_BYTE(color) (color) #else /* Linux */ #define CMAP_SIZE(cmap) ((cmap)->len) #define BYTE_COLOR_TO_WORD(color) ((color) << 8 | (color)) #define WORD_COLOR_TO_BYTE(color) ((color)&0xff) #endif static int cmap_init(void); static void cmap_final(void); static int get_active_console(void); static int receive_stdin_key_event(void); #if defined(__FreeBSD__) #include "ui_display_freebsd.c" #elif defined(USE_GRF) #include "ui_display_x68kgrf.c" #elif defined(__NetBSD__) || defined(__OpenBSD__) #include "ui_display_wscons.c" #else /* Linux */ #include "ui_display_linux.c" #endif #ifndef __FreeBSD__ static int get_active_console(void) { struct vt_stat st; if (ioctl(STDIN_FILENO, VT_GETSTATE, &st) == -1) { return -1; } return st.v_active; } static int receive_stdin_key_event(void) { u_char buf[6]; ssize_t len; while ((len = read(_display.fd, buf, sizeof(buf) - 1)) > 0) { static struct { char *str; KeySym ksym; } table[] = { {"[2~", XK_Insert}, {"[3~", XK_Delete}, {"[5~", XK_Prior}, {"[6~", XK_Next}, {"[A", XK_Up}, {"[B", XK_Down}, {"[C", XK_Right}, {"[D", XK_Left}, #if defined(USE_GRF) {"[7~", XK_End}, {"[1~", XK_Home}, {"OP", XK_F1}, {"OQ", XK_F2}, {"OR", XK_F3}, {"OS", XK_F4}, {"[17~", XK_F5}, {"[18~", XK_F6}, {"[19~", XK_F7}, {"[20~", XK_F8}, {"[21~", XK_F9}, {"[29~", XK_F10}, #else /* USE_GRF */ #if defined(__NetBSD__) || defined(__OpenBSD__) {"[8~", XK_End}, {"[7~", XK_Home}, #else {"[F", XK_End}, {"[H", XK_Home}, #endif #if defined(__FreeBSD__) {"OP", XK_F1}, {"OQ", XK_F2}, {"OR", XK_F3}, {"OS", XK_F4}, {"[15~", XK_F5}, #elif defined(__NetBSD__) || defined(__OpenBSD__) {"[11~", XK_F1}, {"[12~", XK_F2}, {"[13~", XK_F3}, {"[14~", XK_F4}, {"[15~", XK_F5}, #else {"[[A", XK_F1}, {"[[B", XK_F2}, {"[[C", XK_F3}, {"[[D", XK_F4}, {"[[E", XK_F5}, #endif {"[17~", XK_F6}, {"[18~", XK_F7}, {"[19~", XK_F8}, {"[20~", XK_F9}, {"[21~", XK_F10}, {"[23~", XK_F11}, {"[24~", XK_F12}, #endif /* USE_GRF */ }; size_t count; XKeyEvent xev; xev.type = KeyPress; xev.state = get_key_state(); xev.ksym = 0; xev.keycode = 0; if (buf[0] == '\x1b' && len > 1) { buf[len] = '\0'; for (count = 0; count < sizeof(table) / sizeof(table[0]); count++) { if (strcmp(buf + 1, table[count].str) == 0) { xev.ksym = table[count].ksym; break; } } /* XXX */ #ifdef __FreeBSD__ if (xev.ksym == 0 && len == 3 && buf[1] == '[') { if ('Y' <= buf[2] && buf[2] <= 'Z') { xev.ksym = XK_F1 + (buf[2] - 'Y'); xev.state = ShiftMask; } else if ('a' <= buf[2] && buf[2] <= 'j') { xev.ksym = XK_F3 + (buf[2] - 'a'); xev.state = ShiftMask; } else if ('k' <= buf[2] && buf[2] <= 'v') { xev.ksym = XK_F1 + (buf[2] - 'k'); xev.state = ControlMask; } else if ('w' <= buf[2] && buf[2] <= 'z') { xev.ksym = XK_F1 + (buf[2] - 'w'); xev.state = ControlMask | ShiftMask; } else if (buf[2] == '@') { xev.ksym = XK_F5; xev.state = ControlMask | ShiftMask; } else if ('[' <= buf[2] && buf[2] <= '\`') { xev.ksym = XK_F6 + (buf[2] - '['); xev.state = ControlMask | ShiftMask; } else if (buf[2] == '{') { xev.ksym = XK_F12; xev.state = ControlMask | ShiftMask; } } #endif } if (xev.ksym) { receive_event_for_multi_roots(&xev); } else { for (count = 0; count < len; count++) { xev.ksym = buf[count]; if ((u_int)xev.ksym <= 0x1f) { if (xev.ksym == '\0') { /* CTL+' ' instead of CTL+@ */ xev.ksym = ' '; } else if (0x01 <= xev.ksym && xev.ksym <= 0x1a) { /* * Lower case alphabets instead of * upper ones. */ xev.ksym = xev.ksym + 0x60; } else { xev.ksym = xev.ksym + 0x40; } xev.state = ControlMask; } receive_event_for_multi_roots(&xev); } } } return 1; } #endif /* __FreeBSD__ */ static fb_cmap_t *cmap_new(int num_colors) { fb_cmap_t *cmap; if (!(cmap = malloc(sizeof(*cmap) + sizeof(*(cmap->red)) * num_colors * 3))) { return NULL; } #if defined(__FreeBSD__) cmap->index = 0; cmap->transparent = NULL; #elif defined(__NetBSD__) || defined(__OpenBSD__) cmap->index = 0; #else cmap->start = 0; cmap->transp = NULL; #endif CMAP_SIZE(cmap) = num_colors; cmap->red = cmap + 1; cmap->green = cmap->red + num_colors; cmap->blue = cmap->green + num_colors; return cmap; } /* * Note that ui_display_wscons.c has its own cmap_init() because vinfo.depth != * _disp.depth * on NetBSD/luna68k etc. */ static int cmap_init(void) { int num_colors; vt_color_t color; u_int8_t r; u_int8_t g; u_int8_t b; static u_char rgb_1bpp[] = {0x00, 0x00, 0x00, 0xff, 0xff, 0xff}; static u_char rgb_2bpp[] = {0x00, 0x00, 0x00, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xff}; u_char *rgb_tbl; num_colors = (2 << (_disp.depth - 1)); if (!_display.cmap) { #ifndef USE_GRF if (num_colors > 2) { /* * Not get the current cmap because num_colors == 2 doesn't * conform the actual depth (1,2,4). */ if (!(_display.cmap_orig = cmap_new(num_colors))) { return 0; } ioctl(_display.fb_fd, FBIOGETCMAP, _display.cmap_orig); } #else if ((_display.cmap_orig = malloc(sizeof(((fb_reg_t*)_display.fb)->gpal)))) { memcpy(_display.cmap_orig, ((fb_reg_t*)_display.fb)->gpal, sizeof(((fb_reg_t*)_display.fb)->gpal)); } #endif if (!(_display.cmap = cmap_new(num_colors))) { free(_display.cmap_orig); return 0; } if (!(_display.color_cache = calloc(1, sizeof(*_display.color_cache)))) { free(_display.cmap_orig); free(_display.cmap); return 0; } } if (num_colors == 2) { rgb_tbl = rgb_1bpp; } else if (num_colors == 4) { rgb_tbl = rgb_2bpp; } else { rgb_tbl = NULL; } for (color = 0; color < num_colors; color++) { if (rgb_tbl) { r = rgb_tbl[color * 3]; g = rgb_tbl[color * 3 + 1]; b = rgb_tbl[color * 3 + 2]; } else { vt_get_color_rgba(color, &r, &g, &b, NULL); } _display.cmap->red[color] = BYTE_COLOR_TO_WORD(r); _display.cmap->green[color] = BYTE_COLOR_TO_WORD(g); _display.cmap->blue[color] = BYTE_COLOR_TO_WORD(b); } /* Same processing as ui_display_set_cmap(). */ #ifndef USE_GRF ioctl(_display.fb_fd, FBIOPUTCMAP, _display.cmap); #else { u_int count; for (count = 0; count < CMAP_SIZE(_display.cmap); count++) { ((fb_reg_t*)_display.fb)->gpal[count] = (_display.cmap->red[count] >> 3) << 6 | (_display.cmap->green[count] >> 3) << 11 | (_display.cmap->blue[count] >> 3) << 1; } } #endif return 1; } static void cmap_final(void) { if (_display.cmap_orig) { #ifndef USE_GRF ioctl(_display.fb_fd, FBIOPUTCMAP, _display.cmap_orig); #else memcpy(((fb_reg_t*)_display.fb)->gpal, _display.cmap_orig, sizeof(((fb_reg_t*)_display.fb)->gpal)); #endif free(_display.cmap_orig); } free(_display.cmap); free(_display.color_cache); } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, u_int depth) { if (!DISP_IS_INITED) { if (!open_display(depth)) { return NULL; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Framebuffer: " "len %d line_len %d xoff %d yoff %d depth %db/%dB w %d h %d\n", _display.smem_len, _display.line_length, _display.xoffset, _display.yoffset, _disp.depth, _display.bytes_per_pixel, _display.width, _display.height); #endif if (rotate_display) { u_int tmp; if (_display.pixels_per_byte > 1) { rotate_display = 0; rotate_mouse_cursor_shape(); } else { tmp = _disp.width; _disp.width = _disp.height; _disp.height = tmp; } } if (!(_disp.name = getenv("DISPLAY"))) { _disp.name = ":0.0"; } fcntl(STDIN_FILENO, F_SETFL, fcntl(STDIN_FILENO, F_GETFL, 0) | O_NONBLOCK); /* Hide the cursor of default console. */ write(STDIN_FILENO, "\x1b[?25l", 6); } return &_disp; } void ui_display_close(ui_display_t *disp) { if (disp == &_disp) { ui_display_close_all(); } } void ui_display_close_all(void) { if (DISP_IS_INITED) { /* inline pictures are alive until vt_term_t is deleted. */ #if 0 ui_picture_display_closed(_disp.display); #endif ui_virtual_kbd_hide(); if (MOUSE_IS_INITED) { close(_mouse.fd); } #ifdef ENABLE_DOUBLE_BUFFER free(_display.back_fb); #endif write(STDIN_FILENO, "\x1b[?25h", 6); tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig_tm); #if defined(__FreeBSD__) ioctl(STDIN_FILENO, KDSKBMODE, K_XLATE); #elif defined(__NetBSD__) #ifdef USE_GRF close_grf0(); setup_reg((fb_reg_t*)_display.fb, &orig_reg); #else ioctl(STDIN_FILENO, WSDISPLAYIO_SMODE, &orig_console_mode); ui_event_source_remove_fd(-10); #endif #elif defined(__OpenBSD__) ioctl(STDIN_FILENO, WSDISPLAYIO_SMODE, &orig_console_mode); #else set_use_console_backscroll(1); #endif if (CMAP_IS_INITED) { cmap_final(); } if (_display.fd != STDIN_FILENO) { close(_display.fd); } munmap(_display.fb, _display.smem_len); close(_display.fb_fd); free(_disp.roots); /* DISP_IS_INITED is false from here. */ _disp.display = NULL; } } ui_display_t **ui_get_opened_displays(u_int *num) { if (!DISP_IS_INITED #ifndef __FreeBSD__ || console_id != get_active_console() #endif ) { *num = 0; return NULL; } if (MOUSE_IS_INITED) { *num = 2; } else { *num = 1; } return opened_disps; } int ui_display_fd(ui_display_t *disp) { return disp->display->fd; } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window /* Ignored */ ) { void *p; if ((p = realloc(disp->roots, sizeof(ui_window_t*) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; root->parent_window = disp->my_window; root->gc = disp->gc; root->x = x; root->y = y; if (app_name) { root->app_name = app_name; } disp->roots[disp->num_roots++] = root; /* Cursor is drawn internally by calling ui_display_put_image2(). */ if (!ui_window_show(root, hint)) { return 0; } if (MOUSE_IS_INITED) { update_mouse_cursor_state(); save_hidden_region(); draw_mouse_cursor(); } return 1; } int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { /* XXX ui_window_unmap resize all windows internally. */ #if 0 ui_window_unmap(root); #endif ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; } else { disp->roots[count] = disp->roots[disp->num_roots]; } return 1; } } return 0; } void ui_display_idling(ui_display_t *disp) { u_int count; for (count = 0; count < disp->num_roots; count++) { ui_window_idling(disp->roots[count]); } } int ui_display_receive_next_event(ui_display_t *disp) { if (disp == &_disp_mouse) { return receive_mouse_event(); } else { return receive_key_event(); } } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { if (_disp.selection_owner) { ui_display_clear_selection(&_disp, _disp.selection_owner); } _disp.selection_owner = win; return 1; } int ui_display_clear_selection(ui_display_t *disp /* can be NULL */, ui_window_t *win) { if (_disp.selection_owner == NULL || _disp.selection_owner != win) { return 0; } if (_disp.selection_owner->selection_cleared) { (*_disp.selection_owner->selection_cleared)(_disp.selection_owner); } _disp.selection_owner = NULL; return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) { /* dummy */ } XID ui_display_get_group_leader(ui_display_t *disp) { return None; } int ui_display_reset_cmap(void) { if (_display.color_cache) { memset(_display.color_cache, 0, sizeof(*_display.color_cache)); } return _display.cmap && cmap_init() #ifdef USE_GRF && gpal_init(((fb_reg_t*)_display.fb)->gpal) #endif ; } #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE void ui_display_set_use_ansi_colors(int use) { use_ansi_colors = use; } void ui_display_enable_to_change_cmap(int flag) { if (flag) { #ifdef USE_GRF x68k_set_use_tvram_colors(1); #endif if (!use_ansi_colors) { use_ansi_colors = -1; } } else { #ifdef USE_GRF x68k_set_use_tvram_colors(0); #endif if (use_ansi_colors == -1) { use_ansi_colors = 0; } } } void ui_display_set_cmap(u_int32_t *pixels, u_int cmap_size) { if ( #ifdef USE_GRF !x68k_set_tvram_cmap(pixels, cmap_size) && #endif use_ansi_colors == -1 && cmap_size <= 16 && _disp.depth == 4) { u_int count; vt_color_t color; if (cmap_size < 16) { color = VT_RED; } else { color = VT_BLACK; } for (count = 0; count < cmap_size; count++, color++) { if (color == VT_WHITE && cmap_size < 15) { color++; } _display.cmap->red[color] = (pixels[count] >> 16) & 0xff; _display.cmap->green[color] = (pixels[count] >> 8) & 0xff; _display.cmap->blue[color] = pixels[count] & 0xff; } /* Same processing as cmap_init(). */ #ifndef USE_GRF ioctl(_display.fb_fd, FBIOPUTCMAP, _display.cmap); #else for (count = 0; count < CMAP_SIZE(_display.cmap); count++) { ((fb_reg_t*)_display.fb)->gpal[count] = (_display.cmap->red[count] >> 3) << 6 | (_display.cmap->green[count] >> 3) << 11 | (_display.cmap->blue[count] >> 3) << 1; } gpal_init(((fb_reg_t*)_display.fb)->gpal); #endif if (_display.color_cache) { memset(_display.color_cache, 0, sizeof(*_display.color_cache)); } bl_msg_printf("Palette changed.\n"); } } #endif void ui_display_rotate(int rotate /* 1: clockwise, -1: counterclockwise */ ) { if (rotate == rotate_display || /* rotate is available for 8 or more bpp */ _display.pixels_per_byte > 1) { return; } if (DISP_IS_INITED) { ui_virtual_kbd_hide(); } if (rotate_display + rotate != 0) { int tmp; tmp = _disp.width; _disp.width = _disp.height; _disp.height = tmp; rotate_mouse_cursor_shape(); rotate_display = rotate; if (_disp.num_roots > 0) { ui_window_resize_with_margin(_disp.roots[0], _disp.width, _disp.height, NOTIFY_TO_MYSELF); } } else { /* If rotate_display == -1 rotate == 1 or vice versa, don't swap. */ rotate_display = rotate; if (_disp.num_roots > 0) { ui_window_update_all(_disp.roots[0]); } } } u_long ui_display_get_pixel2(int x, int y) { u_char *fb; u_long pixel; if (_display.pixels_per_byte > 1) { return BG_MAGIC; } if (rotate_display) { int tmp; if (rotate_display > 0) { tmp = x; x = _disp.height - y - 1; y = tmp; } else { tmp = x; x = y; y = _disp.width - tmp - 1; } } fb = get_fb(x, y); switch (_display.bytes_per_pixel) { case 1: pixel = *fb; break; case 2: pixel = TOINT16(fb); break; /* case 4: */ default: pixel = TOINT32(fb); } return pixel; } void ui_display_put_image2(int x, int y, u_char *image, size_t size, int need_fb_pixel) { if (_display.pixels_per_byte > 1) { put_image_124bpp(x, y, image, size, 1, need_fb_pixel); } else if (!rotate_display) { memcpy(get_fb(x, y), image, size); } else { /* Display is rotated. */ u_char *fb; int tmp; int line_length; size_t count; tmp = x; if (rotate_display > 0) { x = _disp.height - y - 1; y = tmp; line_length = _display.line_length; } else { x = y; y = _disp.width - tmp - 1; line_length = -_display.line_length; } fb = get_fb(x, y); if (_display.bytes_per_pixel == 1) { for (count = 0; count < size; count++) { *fb = image[count]; fb += line_length; } } else if (_display.bytes_per_pixel == 2) { size /= 2; for (count = 0; count < size; count++) { *((u_int16_t*)fb) = ((u_int16_t*)image)[count]; fb += line_length; } } else /* if( _display.bytes_per_pixel == 4) */ { size /= 4; for (count = 0; count < size; count++) { *((u_int32_t*)fb) = ((u_int32_t*)image)[count]; fb += line_length; } } if (rotate_display < 0) { y -= (size - 1); } if (/* MOUSE_IS_INITED && */ _mouse.cursor.is_drawn && _mouse.cursor.x <= x && x < _mouse.cursor.x + _mouse.cursor.width) { if (y <= _mouse.cursor.y + _mouse.cursor.height && _mouse.cursor.y < y + size) { _mouse.hidden_region_saved = 0; /* draw_mouse_cursor() */ } } return; } if (/* MOUSE_IS_INITED && */ _mouse.cursor.is_drawn && _mouse.cursor.y <= y && y < _mouse.cursor.y + _mouse.cursor.height) { size /= _display.bytes_per_pixel; if (x <= _mouse.cursor.x + _mouse.cursor.width && _mouse.cursor.x < x + size) { _mouse.hidden_region_saved = 0; draw_mouse_cursor_line(y - _mouse.cursor.y); } } } /* * For 8 or less bpp. * Check if bytes_per_pixel == 1 or not by the caller. */ void ui_display_fill_with(int x, int y, u_int width, u_int height, u_int8_t pixel) { u_char *fb; u_int ppb; u_char *buf; int y_off; fb = get_fb(x, y); if ((ppb = _display.pixels_per_byte) > 1) { u_char *fb_orig; u_int bpp; int plane; u_char *fb_end; u_char *buf_end; u_int surplus; u_int surplus_end; int packed_pixel; u_int count; int shift; bpp = 8 / ppb; plane = 0; fb_orig = fb; fb_end = get_fb(x + width, y); #ifndef ENABLE_DOUBLE_BUFFER if (!(buf = alloca(fb_end - fb + 1))) { return; } buf_end = buf + (fb_end - fb); #endif while (1) { #ifdef ENABLE_DOUBLE_BUFFER fb_end = _display.back_fb + (fb_end - _display.fb); #endif surplus = MOD_PPB(x, ppb); surplus_end = MOD_PPB(x + width, ppb); packed_pixel = 0; if (pixel) { if (ppb == 8) { if (_disp.depth == 1 || PLANE(pixel)) { packed_pixel = 0xff; } } else { shift = _display.shift_0; for (count = 0; count < ppb; count++) { packed_pixel |= (pixel << shift); FB_SHIFT_NEXT(shift, bpp); } } } for (y_off = 0; y_off < height; y_off++) { u_char *buf_p; u_int8_t pix; size_t size; #ifdef ENABLE_DOUBLE_BUFFER buf = fb = _display.back_fb + (fb - _display.fb); buf_end = fb_end; #endif buf_p = buf; shift = _display.shift_0; count = 0; pix = 0; if (surplus > 0) { for (; count < surplus; count++) { pix |= (fb[0] & (_display.mask << shift)); FB_SHIFT_NEXT(shift, bpp); } if (buf_p != buf_end) { if (pixel) { for (; count < ppb; count++) { pix |= (PLANE(pixel) << shift); FB_SHIFT_NEXT(shift, bpp); } } *(buf_p++) = pix; shift = _display.shift_0; count = 0; pix = 0; } } if (surplus_end > 0) { if (pixel) { for (; count < surplus_end; count++) { pix |= (PLANE(pixel) << shift); FB_SHIFT_NEXT(shift, bpp); } } else { count = surplus_end; shift = FB_SHIFT(ppb, bpp, surplus_end); } for (; count < ppb; count++) { pix |= (fb_end[0] & (_display.mask << shift)); FB_SHIFT_NEXT(shift, bpp); } *buf_end = pix; shift = _display.shift_0; pix = 0; size = buf_end - buf + 1; } else { size = buf_end - buf; } if (buf_p < buf_end) { /* * XXX * If ENABLE_DOUBLE_BUFFER is off, it is not necessary * to memset every time because the pointer of buf * points the same address. */ memset(buf_p, packed_pixel, buf_end - buf_p); } #ifdef ENABLE_DOUBLE_BUFFER fb = _display.fb + (fb - _display.back_fb); #endif memcpy(fb, buf, size); fb += _display.line_length; fb_end += _display.line_length; } #ifndef ENABLE_2_4_PPB if (++plane < _disp.depth) { fb = fb_orig + _display.plane_offset[plane]; fb_end = fb + (buf_end - buf); } else #endif { break; } } } else { if (rotate_display) { u_int tmp; if (rotate_display > 0) { fb = get_fb(_disp.height - y - height, x); } else /* if( rotate_display < 0) */ { fb = get_fb(y, _disp.width - x - width); } tmp = width; width = height; height = tmp; } if (!(buf = alloca(width))) { return; } for (y_off = 0; y_off < height; y_off++) { memset(buf, pixel, width); memcpy(fb, buf, width); fb += _display.line_length; } } } void ui_display_copy_lines2(int src_x, int src_y, int dst_x, int dst_y, u_int width, u_int height) { u_char *src; u_char *dst; u_int copy_len; u_int count; int num_planes; int plane; /* XXX cheap implementation. */ restore_hidden_region(); if (rotate_display) { int tmp; if (rotate_display > 0) { tmp = src_x; src_x = _disp.height - src_y - height; src_y = tmp; tmp = dst_x; dst_x = _disp.height - dst_y - height; dst_y = tmp; } else { tmp = src_x; src_x = src_y; src_y = _disp.width - tmp - width; tmp = dst_x; dst_x = dst_y; dst_y = _disp.width - tmp - width; } tmp = height; height = width; width = tmp; } /* XXX could be different from FB_WIDTH_BYTES(display, dst_x, width) */ copy_len = FB_WIDTH_BYTES(&_display, src_x, width); if (_display.pixels_per_byte == 8) { num_planes = _disp.depth; } else { num_planes = 1; } for (plane = 0; plane < num_planes; plane++) { if (src_y <= dst_y) { src = get_fb(src_x, src_y + height - 1) + _display.plane_offset[plane]; dst = get_fb(dst_x, dst_y + height - 1) + _display.plane_offset[plane]; #ifdef ENABLE_DOUBLE_BUFFER if (_display.back_fb) { u_char *src_back; u_char *dst_back; src_back = _display.back_fb + (src - _display.fb); dst_back = _display.back_fb + (dst - _display.fb); if (dst_y == src_y) { for (count = 0; count < height; count++) { memmove(dst_back, src_back, copy_len); memcpy(dst, src_back, copy_len); dst -= _display.line_length; dst_back -= _display.line_length; src_back -= _display.line_length; } } else { for (count = 0; count < height; count++) { memcpy(dst_back, src_back, copy_len); memcpy(dst, src_back, copy_len); dst -= _display.line_length; dst_back -= _display.line_length; src_back -= _display.line_length; } } } else #endif { if (src_y == dst_y) { for (count = 0; count < height; count++) { memmove(dst, src, copy_len); dst -= _display.line_length; src -= _display.line_length; } } else { for (count = 0; count < height; count++) { memcpy(dst, src, copy_len); dst -= _display.line_length; src -= _display.line_length; } } } } else { src = get_fb(src_x, src_y) + _display.plane_offset[plane]; dst = get_fb(dst_x, dst_y) + _display.plane_offset[plane]; #ifdef ENABLE_DOUBLE_BUFFER if (_display.back_fb) { u_char *src_back; u_char *dst_back; src_back = _display.back_fb + (src - _display.fb); dst_back = _display.back_fb + (dst - _display.fb); for (count = 0; count < height; count++) { memcpy(dst_back, src_back, copy_len); memcpy(dst, src_back, copy_len); dst += _display.line_length; dst_back += _display.line_length; src_back += _display.line_length; } } else #endif { for (count = 0; count < height; count++) { memcpy(dst, src, copy_len); dst += _display.line_length; src += _display.line_length; } } } } } /* XXX for input method window */ void ui_display_reset_input_method_window(void) { #if 0 if (IM_WINDOW_IS_ACTIVATED(&_disp)) #endif { check_visibility_of_im_window(); ui_window_clear_margin_area(_disp.roots[1]); } } /* seek the closest color */ int ui_cmap_get_closest_color(u_long *closest, int red, int green, int blue) { u_int segment; u_int offset; u_int color; u_int min = 0xffffff; u_int diff; int diff_r, diff_g, diff_b; u_int linear_search_max; if (!_display.cmap) { return 0; } #ifndef COLOR_CACHE_MINIMUM segment = 0; /* * R G B * 11111111 11111111 11111111 * ^^^^^ ^^^^^ ^^^^ */ offset = ((red << 6) & 0x3e00) | ((green << 1) & 0x1f0) | ((blue >> 4) & 0xf); if (_display.color_cache->flags[offset / 32] & (1 << (offset & 31))) #else /* * R G B * 11111111 11111111 11111111 * ^ ^ ^ */ segment = ((red >> 5) & 0x4) | ((green >> 6) & 0x2) | ((blue >> 7) & 0x1); /* * R G B * 11111111 11111111 11111111 * ^^^^ ^^^^ ^^^ */ offset = ((red << 4) & 0x780) | (green & 0x78) | ((blue >> 4) & 0x7); if (_display.color_cache->segments[offset] == (segment | 0x80)) #endif { *closest = _display.color_cache->pixels[offset]; #ifdef __DEBUG bl_debug_printf("CACHED PIXEL %x <= r%x g%x b%x segment %x offset %x\n", *closest, red, green, blue, segment, offset); #endif return 1; } if ((linear_search_max = CMAP_SIZE(_display.cmap)) == 256) { if ((linear_search_max = vt_get_closest_256_color(closest, &min, red, green, blue, COLOR_DISTANCE_THRESHOLD)) == 0) { goto end; } } for (color = 0; color < linear_search_max; color++) { #ifdef USE_GRF if (grf0_fd != -1 && !use_tvram_cmap && color == TP_COLOR) { continue; } #endif /* lazy color-space conversion */ diff_r = red - WORD_COLOR_TO_BYTE(_display.cmap->red[color]); diff_g = green - WORD_COLOR_TO_BYTE(_display.cmap->green[color]); diff_b = blue - WORD_COLOR_TO_BYTE(_display.cmap->blue[color]); diff = COLOR_DISTANCE(diff_r, diff_g, diff_b); if (diff < min) { min = diff; *closest = color; /* no one may notice the difference (4[2^3/2]*4*9+4*4*30+4*4) */ if (diff < COLOR_DISTANCE_THRESHOLD) { break; } } } end: #ifndef COLOR_CACHE_MINIMUM _display.color_cache->flags[offset / 32] |= (1 << (offset & 31)); #else _display.color_cache->segments[offset] = (segment | 0x80); #endif _display.color_cache->pixels[offset] = *closest; #ifdef __DEBUG bl_debug_printf("NEW PIXEL %x <= r%x g%x b%x segment %x offset %x\n", *closest, red, green, blue, segment, offset); #endif return 1; } int ui_cmap_get_pixel_rgb(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_long pixel) { #ifdef USE_GRF if (grf0_fd != -1 && !use_tvram_cmap && pixel == TP_COLOR) { return 0; } #endif *red = WORD_COLOR_TO_BYTE(_display.cmap->red[pixel]); *green = WORD_COLOR_TO_BYTE(_display.cmap->green[pixel]); *blue = WORD_COLOR_TO_BYTE(_display.cmap->blue[pixel]); return 1; } mlterm-3.8.4/uitoolkit/fb/ui_dnd.c010064400017600000144000000006671321054731200155530ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef DISABLE_XDND #include "../ui_window.h" #include "../ui_dnd.h" /* --- global functions --- */ /* * XFilterEvent(event, w) analogue. * return 0 if the event should be processed in the mlterm mail loop. * return 1 if nothing to be done is left for the event. */ int ui_dnd_filter_event(XEvent *event, ui_window_t *win) { return 0; } #endif /* DISABLE_XDND */ mlterm-3.8.4/uitoolkit/fb/ui_gc.c010064400017600000144000000006341321054731200153710ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_gc.h" #include /* --- global functions --- */ ui_gc_t *ui_gc_new(Display *display, Drawable drawable) { return NULL; } void ui_gc_delete(ui_gc_t *gc) {} void ui_gc_set_fg_color(ui_gc_t *gc, u_long fg_color) {} void ui_gc_set_bg_color(ui_gc_t *gc, u_long bg_color) {} void ui_gc_set_fid(ui_gc_t *gc, Font fid) {} mlterm-3.8.4/uitoolkit/fb/ui_window.c010064400017600000144000001575701321054731200163230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_window.h" #include #include #include #include /* bl_usleep */ #include #include "ui_display.h" #include "ui_font.h" #define MAX_CLICK 3 /* max is triple click */ /* win->width is not multiples of (win)->width_inc in framebuffer. */ #define RIGHT_MARGIN(win) \ ((win)->width_inc ? ((win)->width - (win)->min_width) % (win)->width_inc : 0) #define BOTTOM_MARGIN(win) \ ((win)->height_inc ? ((win)->height - (win)->min_height) % (win)->height_inc : 0) #ifdef USE_GRF static ui_color_t black = {TP_COLOR, 0, 0, 0, 0}; #endif #define ParentRelative (1L) #define DummyPixmap (2L) /* XXX Check if win is input method window or not. */ #define IS_IM_WINDOW(win) ((win)->disp->num_roots >= 2 && (win) == (win)->disp->roots[1]) /* --- static variables --- */ static int click_interval = 250; /* millisecond, same as xterm. */ /* --- static functions --- */ static int scroll_region(ui_window_t *win, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y) { if (!win->is_mapped || !ui_window_is_scrollable(win)) { return 0; } ui_display_copy_lines(win->disp, src_x + win->x + win->hmargin, src_y + win->y + win->vmargin, dst_x + win->x + win->hmargin, dst_y + win->y + win->vmargin, width, height); return 1; } /* * copy_pixel() is called more than twice, so if it is implemented as a function * it may be uninlined in compiling. * dst should be aligned. */ #define copy_pixel(dst, pixel, bpp) \ switch (bpp) { \ case 1: \ *(dst) = pixel; \ break; \ case 2: \ *((u_int16_t *)(dst)) = (pixel); \ break; \ /* case 4: */ \ default: \ *((u_int32_t *)(dst)) = (pixel); \ } static inline u_int16_t *memset16(u_int16_t *dst, u_int16_t i, u_int len) { u_int count; for (count = 0; count < len; count++) { dst[count] = i; } return dst; } static inline u_int32_t *memset32(u_int32_t *dst, u_int32_t i, u_int len) { u_int count; for (count = 0; count < len; count++) { dst[count] = i; } return dst; } #ifdef USE_FREETYPE #define BLEND(fg, bg, alpha) ((bg) + ((fg) - (bg)) * (alpha) / 255) static int copy_blended_pixel(Display *display, u_char *dst, u_char **bitmap, u_long fg, u_long bg, u_int bpp) { int a1 = *((*bitmap)++); int a2 = *((*bitmap)++); int a3 = *((*bitmap)++); if (a1 + a2 + a3 > 0) { int r1; int g1; int b1; int r2; int g2; int b2; r1 = PIXEL_RED(fg, display->rgbinfo) & 0xff; g1 = PIXEL_GREEN(fg, display->rgbinfo) & 0xff; b1 = PIXEL_BLUE(fg, display->rgbinfo) & 0xff; r2 = PIXEL_RED(bg, display->rgbinfo) & 0xff; g2 = PIXEL_GREEN(bg, display->rgbinfo) & 0xff; b2 = PIXEL_BLUE(bg, display->rgbinfo) & 0xff; copy_pixel(dst, #ifdef USE_WAYLAND /* * f: fg color * b: bg color * w: other windows or desktop wall picture below mlterm window. * 0.6, 0.4: a1, a2, a3 * 1.0, 0.0: alpha of fg_color * 0.8, 0.2: alpha of bg color * * Correct: 0.6*(1.0*f + 0.0*w) + 0.4*(0.8*b + 0.2*w) = 0.6*f + 0.32*b + 0.08*w * Lazy : (0.6*f + 0.4*b)*(1.0*0.6+0.8*0.4) + w*(1.0-(1.0*0.6+0.8*0.4)) * ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ * = 0.552*f + 0.368*b + 0.08*w */ BLEND((fg >> 24), (bg >> 24), (a1 + a2 + a3) / 3) << 24 | #endif RGB_TO_PIXEL(BLEND(r1, r2, a1), BLEND(g1, g2, a2), BLEND(b1, b2, a3), display->rgbinfo), bpp); return 1; } else { return 0; } } #endif static void draw_string_intern(ui_window_t *win, XFontStruct *xfont, u_int font_height, u_int font_ascent, u_int font_width, int font_x_off, int double_draw_gap, int is_proportional, u_int32_t fg_pixel, u_int32_t bg_pixel, int x, /* win->x and win->hmargin are added. */ int y, int y_off, u_char **bitmaps, u_int len, u_char *picture, size_t picture_line_len, int src_bg_is_set, int bpp) { size_t size; u_char *src; u_char *p; u_int count; int orig_x; int orig_y_off; /* * If font_width is larger than xfont->width_full, memory access must be limited * to the latter one. (Don't excess xfont->glyph_width_bytes) */ u_int max_glyph_width = xfont->width_full; if (max_glyph_width + font_x_off > font_width) { max_glyph_width = font_width - font_x_off; } #ifdef USE_FREETYPE if (xfont->is_aa && is_proportional) { u_int width; /* width_full == glyph_width_bytes / 3 */ if (x + (width = len * xfont->width_full) > win->width + win->hmargin + win->x) { width = win->width + win->hmargin + win->x - x; } size = width * bpp; } else #endif { size = len * font_width * bpp; } if (!(src = alloca(size))) { return; } #if 1 /* Optimization for most cases */ if (src_bg_is_set && !double_draw_gap #ifdef USE_FREETYPE && !xfont->face #endif ) { u_char *bitmap_line; int x_off; u_int end_gap = font_width - font_x_off - max_glyph_width; switch (bpp) { case 1: for (; y_off < font_height; y_off++) { p = (picture ? memcpy(src, (picture += picture_line_len), size) : memset(src, bg_pixel, size)); for (count = 0; count < len; count++) { if (!ui_get_bitmap_line(xfont, bitmaps[count], y_off, bitmap_line)) { p += font_width; } else { p += font_x_off; for (x_off = 0; x_off < max_glyph_width; x_off++, p++) { if (ui_get_bitmap_cell(bitmap_line, x_off)) { *p = fg_pixel; } } p += end_gap; } } ui_display_put_image(win->disp, x, y + y_off, src, p - src, 0); } return; case 2: for (; y_off < font_height; y_off++) { p = (picture ? memcpy(src, (picture += picture_line_len), size) : memset16(src, bg_pixel, size / 2)); for (count = 0; count < len; count++) { if (!ui_get_bitmap_line(xfont, bitmaps[count], y_off, bitmap_line)) { p += (font_width * 2); } else { p += (font_x_off * 2); for (x_off = 0; x_off < max_glyph_width; x_off++, p += 2) { if (ui_get_bitmap_cell(bitmap_line, x_off)) { *((u_int16_t *)p) = fg_pixel; } } p += (end_gap * 2); } } ui_display_put_image(win->disp, x, y + y_off, src, p - src, 0); } return; /* case 4: */ default: for (; y_off < font_height; y_off++) { p = (picture ? memcpy(src, (picture += picture_line_len), size) : memset32(src, bg_pixel, size / 4)); for (count = 0; count < len; count++) { if (!ui_get_bitmap_line(xfont, bitmaps[count], y_off, bitmap_line)) { p += (font_width * 4); } else { p += (font_x_off * 4); for (x_off = 0; x_off < max_glyph_width; x_off++, p += 4) { if (ui_get_bitmap_cell(bitmap_line, x_off)) { *((u_int32_t *)p) = fg_pixel; } } p += (end_gap * 4); } } ui_display_put_image(win->disp, x, y + y_off, src, p - src, 0); } return; } } #endif orig_x = x; orig_y_off = y_off; for (; y_off < font_height; y_off++) { #if defined(USE_FREETYPE) int prev_crowded_out = 0; #endif if (src_bg_is_set) { if (picture) { memcpy(src, (picture += picture_line_len), size); } else { switch (bpp) { case 1: memset(src, bg_pixel, size); break; case 2: memset16(src, bg_pixel, size / 2); break; /* case 4: */ default: memset32(src, bg_pixel, size / 4); break; } } } p = src; for (count = 0; count < len; count++, x += font_width) { u_char *bitmap_line; int x_off; if (!ui_get_bitmap_line(xfont, bitmaps[count], y_off, bitmap_line)) { if (src_bg_is_set) { p += (font_width * bpp); } else { for (x_off = 0; x_off < font_width; x_off++, p += bpp) { copy_pixel(p, ui_display_get_pixel(win->disp, x + x_off, y + y_off), bpp); } } } #if defined(USE_FREETYPE) else if (xfont->is_aa) { if (is_proportional) { /* * src_bg_is_set is always false * (see #ifdef USE_FRAMEBUFFER #ifdef USE_FREETYPE * #endif #endif in xcore_draw_str() in ui_draw_str.c) */ int retreat; int advance; int width; if ((retreat = bitmaps[count][xfont->glyph_size - 2]) > 0) { u_int filled; if ((filled = (p - src) / bpp) < retreat) { if (x >= retreat) { x_off = -retreat; /* p is not changed. */ if (y_off == orig_y_off) { orig_x -= retreat; } else { x += retreat; } } else { bitmap_line += (retreat - filled); x_off = -filled; p = src; } } else { x_off = -retreat; p -= (retreat * bpp); } } else { x_off = 0; } width = bitmaps[count][xfont->glyph_size - 1]; /* width - retreat */ for (; x_off < width - retreat; x_off++, p += bpp) { u_long bg; bg = ui_display_get_pixel(win->disp, x + x_off, y + y_off); if (copy_blended_pixel(win->disp->display, p, &bitmap_line, fg_pixel, bg, bpp)) { continue; } else if (count == 0 || x_off >= prev_crowded_out) { copy_pixel(p, bg, bpp); } } advance = bitmaps[count][xfont->glyph_size - 3]; for (; x_off < advance; x_off++, p += bpp) { if (count == 0 || x_off >= prev_crowded_out) { copy_pixel(p, ui_display_get_pixel(win->disp, x + x_off, y + y_off), bpp); } } if (count + 1 < len) { if (prev_crowded_out > advance) { prev_crowded_out -= advance; } else { prev_crowded_out = 0; } if (advance > 0 && x_off != advance) { p += ((advance - x_off) * bpp); if (x_off > advance && prev_crowded_out < x_off - advance) { prev_crowded_out = x_off - advance; } } /* -font_width is for +font_width in for() */ x = x + advance - font_width; } } else { u_int glyph_end = font_x_off + max_glyph_width; for (x_off = 0; ; x_off++, p += bpp) { if (font_x_off <= x_off && x_off < glyph_end) { u_long bg; if (src_bg_is_set) { if (picture) { bg = (bpp == 2) ? *((u_int16_t *)p) : *((u_int32_t *)p); } else { bg = bg_pixel; } } else { bg = ui_display_get_pixel(win->disp, x + x_off, y + y_off); } if (copy_blended_pixel(win->disp->display, p, &bitmap_line, fg_pixel, bg, bpp)) { continue; } } else if (font_width <= x_off) { break; } if (!src_bg_is_set) { u_long pixel; pixel = ui_display_get_pixel(win->disp, x + x_off, y + y_off); copy_pixel(p, pixel, bpp); } } } } #endif else { int force_fg = 0; u_int glyph_end = font_x_off + max_glyph_width; for (x_off = 0; ; x_off++, p += bpp) { u_long pixel; if (font_x_off <= x_off && x_off < glyph_end && ui_get_bitmap_cell(bitmap_line, x_off - font_x_off)) { pixel = fg_pixel; force_fg = double_draw_gap; } else if (font_width <= x_off) { break; } else { if (force_fg) { pixel = fg_pixel; force_fg = 0; } else if (src_bg_is_set) { continue; } else { pixel = ui_display_get_pixel(win->disp, x + x_off, y + y_off); } } copy_pixel(p, pixel, bpp); } } } ui_display_put_image(win->disp, (x = orig_x), y + y_off, src, p - src, !src_bg_is_set); } return; } static void draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, /* must be NULL if wall_picture_bg is 1 */ int x, int y, u_char *str, /* 'len * ch_len' bytes */ u_int len, u_int ch_len, int wall_picture_bg) { u_int bpp; XFontStruct *xfont; u_char **bitmaps; u_int font_height; u_int font_ascent; int y_off; u_char *picture; size_t picture_line_len; u_int count; int src_bg_is_set; u_int clip_bottom; int use_ot_layout; int x_off; if (!win->is_mapped) { return; } if (!(bitmaps = alloca((len * sizeof(*bitmaps))))) { return; } bpp = win->disp->display->bytes_per_pixel; xfont = font->xfont; #ifdef USE_OT_LAYOUT use_ot_layout = (font->use_ot_layout /* && font->ot_font */); #else use_ot_layout = 0; #endif /* * Check if font->height or font->ascent excesses the display height, * because font->height doesn't necessarily equals to the height of the *US-ASCII font. * * XXX * On the other hand, font->width is always the same (or exactly double) for *now. */ font_ascent = font->ascent; font_height = font->height; if (win->clip_height == 0) { clip_bottom = win->height; } else { clip_bottom = win->clip_y + win->clip_height; } if (y >= clip_bottom + font_ascent) { return; } else if (y + font_height - font_ascent > clip_bottom) { font_height -= (y + font_height - font_ascent - clip_bottom + 1); if (font_height < font_ascent) { /* XXX I don't know why but without -1 causes line gap */ y -= (font_ascent - font_height - 1); font_ascent = font_height; } } if (y + font_height - font_ascent < win->clip_y) { return; } else if (y < win->clip_y + font_ascent) { y_off = win->clip_y + font_ascent - y; } else { y_off = 0; } /* Following check is done by the caller of this function. */ #if 0 /* * Check if font->width * len excesses the display height * because full width fonts can be used for characters which console * applications regard as half width. */ if (x + font->width * len > win->width) { len = (win->width - x) / font->width; } #endif x += (win->hmargin + win->x); y = y + (win->vmargin + win->y) - font_ascent; if (wall_picture_bg) { /* bg_color is always NULL */ Pixmap pic; int pic_x; int pic_y; if (win->wall_picture == ParentRelative) { pic = win->parent->wall_picture; pic_x = x; pic_y = y; } else { pic = win->wall_picture; pic_x = x - win->x; pic_y = y - win->y; } picture_line_len = pic->width * bpp; picture = pic->image + (pic_y + y_off) * picture_line_len + /* - picture_line_len is for picture += picture_line_len below. */ pic_x * bpp - picture_line_len; src_bg_is_set = 1; } else { picture = NULL; if (bg_color) { src_bg_is_set = 1; } else { src_bg_is_set = 0; } } x_off = font->x_off; if (ch_len == 1) { for (count = 0; count < len; count++) { bitmaps[count] = ui_get_bitmap(xfont, str + count, 1, use_ot_layout, NULL); } } else /* if(ch_len == 2) */ { XFontStruct *compl_xfont; #if defined(USE_FREETYPE) if (xfont->face && !IS_ISO10646_UCS4(font->id)) { u_char *str_p = str; ef_char_t non_ucs; ef_char_t ucs4; non_ucs.size = 2; non_ucs.cs = FONT_CS(font->id); non_ucs.property = 0; for (count = 0; count < len; count++, str_p += 2) { memcpy(non_ucs.ch, str_p, 2); if (!ef_map_to_ucs4(&ucs4, &non_ucs)) { continue; } if (ucs4.ch[0] == '\0' && ucs4.ch[1] == '\0') { memcpy(str_p, ucs4.ch + 2, 2); } #if 0 else { memcpy(str_p, ucs4.ch, 4); ch_len = 4; } #endif } } #endif for (count = 0; count < len;) { if (0xd8 <= str[0] && str[0] <= 0xdb) { if (use_ot_layout || count >= --len) { break; } if (0xdc <= str[2] && str[2] <= 0xdf) { /* surrogate pair */ ef_int_to_bytes(str, 4, (str[0] - 0xd8) * 0x100 * 0x400 + str[1] * 0x400 + (str[2] - 0xdc) * 0x100 + str[3] + 0x10000); ch_len = 4; } else { /* illegal, ignored. */ len--; count--; str += 4; continue; } } compl_xfont = NULL; bitmaps[count] = ui_get_bitmap(font->xfont, str, ch_len, use_ot_layout, &compl_xfont); if (compl_xfont && xfont != compl_xfont) { u_int w; if (count > 0) { draw_string_intern(win, xfont, font_height, font_ascent, font->width, x_off, font->double_draw_gap, font->is_proportional, fg_color->pixel, bg_color ? bg_color->pixel : 0, x, y, y_off, bitmaps, count, picture, picture_line_len, src_bg_is_set, bpp); x += (font->width * count); bitmaps[0] = bitmaps[count]; len -= count; count = 0; } else { count++; } xfont = compl_xfont; /* see ui_font.c */ if (font->id & FONT_FULLWIDTH) { w = xfont->width_full; } else { w = xfont->width; } if (w >= font->width) { x_off = 0; } else { x_off = (font->width - w) / 2; } } else { count++; } str += ch_len; ch_len = 2; } } draw_string_intern(win, xfont, font_height, font_ascent, font->width, x_off, font->double_draw_gap, font->is_proportional, fg_color->pixel, bg_color ? bg_color->pixel : 0, x, y, y_off, bitmaps, len, picture, picture_line_len, src_bg_is_set, bpp); } static int copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, /* can be minus */ int src_y, /* can be minus */ u_int width, u_int height, int dst_x, /* can be minus */ int dst_y, /* can be minus */ int accept_margin /* x/y can be minus and over width/height */ ) { int hmargin; int vmargin; int right_margin; int bottom_margin; int y_off; u_int bpp; u_char *picture; size_t src_width_size; if (!win->is_mapped) { return 0; } if (accept_margin) { hmargin = win->hmargin; vmargin = win->vmargin; right_margin = bottom_margin = 0; } else { hmargin = vmargin = 0; right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); } if (dst_x >= (int)win->width + hmargin || dst_y >= (int)win->height + vmargin) { return 0; } if (dst_x + width > win->width + hmargin - right_margin) { width = win->width + hmargin - right_margin - dst_x; } if (dst_y + height > win->height + vmargin - bottom_margin) { height = win->height + vmargin - bottom_margin - dst_y; } bpp = win->disp->display->bytes_per_pixel; src_width_size = src->width * bpp; picture = src->image + src_width_size * (vmargin + src_y) + bpp * (hmargin + src_x); if (mask) { mask += ((vmargin + src_y) * src->width + hmargin + src_x); for (y_off = 0; y_off < height; y_off++) { int x_off; u_int w; w = 0; for (x_off = 0; x_off < width; x_off++) { if (mask[x_off]) { w++; if (x_off + 1 == width) { /* for x_off - w */ x_off++; } else { continue; } } else if (w == 0) { continue; } ui_display_put_image(win->disp, win->x + win->hmargin + dst_x + x_off - w, win->y + win->vmargin + dst_y + y_off, picture + bpp * (x_off - w), w * bpp, 0); w = 0; } mask += src->width; picture += src_width_size; } } else { size_t size; size = width * bpp; for (y_off = 0; y_off < height; y_off++) { ui_display_put_image(win->disp, win->x + win->hmargin + dst_x, win->y + win->vmargin + dst_y + y_off, picture, size, 0); picture += src_width_size; } } return 1; } static void clear_margin_area(ui_window_t *win) { u_int right_margin; u_int bottom_margin; right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); if (win->hmargin | win->vmargin | right_margin | bottom_margin) { ui_window_clear(win, -(win->hmargin), -(win->vmargin), win->hmargin, ACTUAL_HEIGHT(win)); ui_window_clear(win, 0, -(win->vmargin), win->width, win->vmargin); ui_window_clear(win, win->width - right_margin, -(win->vmargin), win->hmargin + right_margin, ACTUAL_HEIGHT(win)); ui_window_clear(win, 0, win->height - bottom_margin, win->width, win->vmargin + bottom_margin); } /* XXX */ if (win->num_children == 2 && ACTUAL_HEIGHT(win->children[0]) == ACTUAL_HEIGHT(win->children[1])) { if (win->children[0]->x + ACTUAL_WIDTH(win->children[0]) <= win->children[1]->x) { ui_window_clear(win, win->children[0]->x + ACTUAL_WIDTH(win->children[0]), 0, win->children[1]->x - win->children[0]->x - ACTUAL_WIDTH(win->children[0]), win->height); } else if (win->children[0]->x >= win->children[1]->x + ACTUAL_WIDTH(win->children[1])) { ui_window_clear(win, win->children[1]->x + ACTUAL_WIDTH(win->children[1]), 0, win->children[0]->x - win->children[1]->x - ACTUAL_WIDTH(win->children[1]), win->height); } } } static int fix_rl_boundary(ui_window_t *win, int boundary_start, int *boundary_end) { int margin; margin = RIGHT_MARGIN(win); if (boundary_start > win->width - margin) { return 0; } if (*boundary_end > win->width - margin) { *boundary_end = win->width - margin; } return 1; } static void reset_input_focus(ui_window_t *win) { u_int count; #ifdef USE_WAYLAND /* * Switching input method engines invokes unfocus and focus. In this case, * it is necessary to search a window which was focused most recently. */ if (win->inputtable > 0) { win->inputtable = -1; } else if (win->inputtable < 0) { if (win->inputtable > -10) { win->inputtable --; } } #else if (win->inputtable) { win->inputtable = -1; } #endif else { win->inputtable = 0; } if (win->is_focused) { win->is_focused = 0; if (win->window_unfocused) { (*win->window_unfocused)(win); } } for (count = 0; count < win->num_children; count++) { reset_input_focus(win->children[count]); } } #ifdef USE_WAYLAND static void check_update_window(ui_window_t *win, int x /* parent */, int y /* parent */) { u_int count; x += win->x; y += win->y; if ((win->parent || win->num_children == 0) && /* XXX ui_layout_t is not updated. */ (ui_display_get_pixel(win->disp, x + ACTUAL_WIDTH(win) / 2, y + ACTUAL_HEIGHT(win) / 2) == 0 || ui_display_get_pixel(win->disp, x + ACTUAL_WIDTH(win) - 1, y + ACTUAL_HEIGHT(win) - 1) == 0)) { /* This window doesn't seem to have been drawn correctly yet after ui_display_resize(). */ ui_window_update_all(win); } for (count = 0; count < win->num_children; count++) { check_update_window(win->children[count], x, y); } } #endif #if 0 static int check_child_window_area(ui_window_t *win) { if (win->num_children > 0) { u_int count; u_int sum; for (sum = 0, count = 1; count < win->num_children; count++) { sum += (ACTUAL_WIDTH(win->children[count]) * ACTUAL_HEIGHT(win->children[count])); } if (sum < win->disp->width * win->disp->height * 0.9) { return 0; } } return 1; } #endif static void convert_to_decsp_font_index(u_char *str, u_int len) { while (len != 0) { if (*str == 0x5f) { *str = 0x7f; } else if (0x5f < *str && *str < 0x7f) { (*str) -= 0x5f; } len--; str++; } } /* --- global functions --- */ int ui_window_init(ui_window_t *win, u_int width, u_int height, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc, u_int hmargin, u_int vmargin, int create_gc, int inputtable) { memset(win, 0, sizeof(ui_window_t)); /* If wall picture is set, scrollable will be 0. */ win->is_scrollable = 1; #ifndef USE_WAYLAND win->is_focused = 1; #endif win->inputtable = inputtable; win->is_mapped = 1; win->create_gc = create_gc; win->width = width; win->height = height; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; win->hmargin = hmargin; win->vmargin = vmargin; win->prev_clicked_button = -1; win->app_name = "mlterm"; /* Can be changed in ui_display_show_root(). */ return 1; } void ui_window_final(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_final(win->children[count]); } free(win->children); ui_display_clear_selection(win->disp, win); if (win->window_finalized) { (*win->window_finalized)(win); } } void ui_window_set_type_engine(ui_window_t *win, ui_type_engine_t type_engine) {} void ui_window_add_event_mask(ui_window_t *win, long event_mask) { win->event_mask |= event_mask; } void ui_window_remove_event_mask(ui_window_t *win, long event_mask) { win->event_mask &= ~event_mask; } void ui_window_ungrab_pointer(ui_window_t *win) {} int ui_window_set_wall_picture(ui_window_t *win, Pixmap pic, int do_expose) { u_int count; #ifdef USE_GRF int ret; if ((ret = x68k_tvram_set_wall_picture(pic->image, pic->width, pic->height))) { win->wall_picture = DummyPixmap; /* dummy */ /* Don't set is_scrollable = 0. */ /* If ret == 2, text vram was initialized just now. */ if (ret == 2) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } } return 0; /* to free pic memory. */ } #endif win->wall_picture = pic; win->is_scrollable = 0; if (do_expose) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_set_wall_picture(win->children[count], ParentRelative, do_expose); } return 1; } int ui_window_unset_wall_picture(ui_window_t *win, int do_expose) { u_int count; #ifdef USE_GRF x68k_tvram_set_wall_picture(NULL, 0, 0); #endif win->wall_picture = None; win->is_scrollable = 1; if (do_expose) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_unset_wall_picture(win->children[count], do_expose); } return 1; } int ui_window_set_transparent( ui_window_t *win, /* Transparency is applied to all children recursively */ ui_picture_modifier_ptr_t pic_mod) { return 0; } int ui_window_unset_transparent(ui_window_t *win) { return 0; } void ui_window_set_cursor(ui_window_t *win, u_int cursor_shape) { win->cursor_shape = cursor_shape; } int ui_window_set_fg_color(ui_window_t *win, ui_color_t *fg_color) { if (win->fg_color.pixel == fg_color->pixel) { return 0; } win->fg_color = *fg_color; return 1; } int ui_window_set_bg_color(ui_window_t *win, ui_color_t *bg_color) { if (win->bg_color.pixel == bg_color->pixel) { return 0; } win->bg_color = *bg_color; clear_margin_area(win); return 1; } int ui_window_add_child(ui_window_t *win, ui_window_t *child, int x, int y, int map) { void *p; if (win->parent) { /* Can't add a grand child window. */ return 0; } if ((p = realloc(win->children, sizeof(*win->children) * (win->num_children + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } win->children = p; child->parent = win; child->x = x + win->hmargin; child->y = y + win->vmargin; #ifdef USE_WAYLAND /* * The default value of is_focused is 0 on wayland, while 1 on framebuffer. * (see ui_window_init()) */ if (!(child->is_mapped = map) && child->inputtable > 0) { child->inputtable = -1; } #else if ((child->is_mapped = map) && win->is_focused && child->inputtable) { child->is_focused = 1; } else { child->is_focused = 0; if (child->inputtable > 0) { child->inputtable = -1; } } #endif win->children[win->num_children++] = child; return 1; } int ui_window_remove_child(ui_window_t *win, ui_window_t *child) { u_int count; for (count = 0; count < win->num_children; count++) { if (win->children[count] == child) { child->parent = NULL; win->children[count] = win->children[--win->num_children]; return 1; } } return 0; } ui_window_t *ui_get_root_window(ui_window_t *win) { while (win->parent != NULL) { win = win->parent; } return win; } GC ui_window_get_fg_gc(ui_window_t *win) { return None; } GC ui_window_get_bg_gc(ui_window_t *win) { return None; } int ui_window_show(ui_window_t *win, int hint /* If win->parent(_window) is None, specify XValue|YValue to localte window at win->x/win->y. */ ) { u_int count; if (win->my_window) { /* already shown */ return 0; } if (win->parent) { win->disp = win->parent->disp; win->parent_window = win->parent->my_window; win->gc = win->parent->gc; } win->my_window = win; /* Note that ui_connect_dialog.c uses this. */ if (win->parent && !win->parent->is_transparent && win->parent->wall_picture) { ui_window_set_wall_picture(win, ParentRelative, 0); } /* * This should be called after Window Manager settings, because * ui_set_{window|icon}_name() can be called in win->window_realized(). */ if (win->window_realized) { int is_mapped; /* * Don't show anything until ui_window_resize_with_margin() is called * at the end of this function. */ is_mapped = win->is_mapped; win->is_mapped = 0; /* XXX ui_window_set_wall_picture() depends on this. */ (*win->window_realized)(win); win->is_mapped = is_mapped; } /* * showing child windows. */ for (count = 0; count < win->num_children; count++) { ui_window_show(win->children[count], 0); } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF if (!win->parent && win->x == 0 && win->y == 0) { ui_window_resize_with_margin(win, win->disp->width, win->disp->height, NOTIFY_TO_MYSELF); } #else /* win->window_realized() which was executed with is_mapped == 0 doesn't draw anything. */ ui_window_update_all(win); #endif return 1; } void ui_window_map(ui_window_t *win) { if (!win->is_mapped) { win->is_mapped = 1; clear_margin_area(win); (*win->window_exposed)(win, 0, 0, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); } } void ui_window_unmap(ui_window_t *win) { win->is_mapped = 0; } int ui_window_resize(ui_window_t *win, u_int width, /* excluding margin */ u_int height, /* excluding margin */ ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF if ((flag & NOTIFY_TO_PARENT) && /* XXX Check if win is input method window or not. */ !IS_IM_WINDOW(win)) { if (win->parent) { win = win->parent; } /* * XXX * If Font size, screen_{width|height}_ratio or vertical_mode is changed * and ui_window_resize( NOTIFY_TO_PARENT) is called, ignore this call and * resize windows with display size. */ win->width = 0; return ui_window_resize_with_margin(win, win->disp->width, win->disp->height, NOTIFY_TO_MYSELF); } if (width + win->hmargin * 2 > win->disp->width) { width = win->disp->width - win->hmargin * 2; } if (height + win->vmargin * 2 > win->disp->height) { height = win->disp->height - win->vmargin * 2; } #endif if (win->width == width && win->height == height) { return 0; } #ifndef MANAGE_ROOT_WINDOWS_BY_MYSELF if (win->parent == NULL) { #ifdef USE_WAYLAND ui_display_resize(win->disp, width + win->hmargin * 2, height + win->vmargin * 2); #endif } else if (flag & NOTIFY_TO_PARENT) { return ui_window_resize(win->parent, win->parent->width + width - win->width , win->parent->height + height - win->height, NOTIFY_TO_MYSELF); } #endif win->width = width; win->height = height; if (flag & NOTIFY_TO_MYSELF) { if (win->window_resized) { (*win->window_resized)(win); } /* * clear_margin_area() must be called after win->window_resized * because wall_picture can be resized to fit to the new window * size in win->window_resized. * * Don't clear_margin_area() if flag == 0 because ui_window_resize() * is called before ui_window_move() in ui_im_*_screen.c and could * cause segfault. */ clear_margin_area(win); } #ifdef USE_WAYLAND /* * ui_display_resize() clears screen. * (win is always root here.) */ check_update_window(win, 0, 0); #endif return 1; } /* * !! Notice !! * This function is not recommended. * Use ui_window_resize if at all possible. */ int ui_window_resize_with_margin(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { return ui_window_resize(win, width - win->hmargin * 2, height - win->vmargin * 2, flag); } void ui_window_set_maximize_flag(ui_window_t *win, ui_maximize_flag_t flag) { #ifdef USE_WAYLAND if (flag == MAXIMIZE_FULL) { ui_display_set_maximized(win->disp); } #endif } void ui_window_set_normal_hints(ui_window_t *win, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc) { win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; } void ui_window_set_override_redirect(ui_window_t *win, int flag) {} int ui_window_set_borderless_flag(ui_window_t *win, int flag) { return 0; } int ui_window_move(ui_window_t *win, int x, int y) { if (win->parent) { x += win->parent->hmargin; y += win->parent->vmargin; } #ifndef MANAGE_ROOT_WINDOWS_BY_MYSELF else { /* * Don't do "win->x = x; win->y = y;" here. * ui_window_xxx(..., x, y) functions add win->x and win->y to x and y arguments, * but it causes unexpected result because MANAGE_ROOT_WINDOWS_BY_MYSELF means that * win->x and win->y of root windows are always 0. */ #ifdef USE_WAYLAND return ui_display_move(win->disp, x, y); #else return 0; #endif } #endif if (win->x == x && win->y == y) { return 0; } win->x = x; win->y = y; if (/* ! check_child_window_area( ui_get_root_window( win)) || */ win->x + ACTUAL_WIDTH(win) > win->disp->width || win->y + ACTUAL_HEIGHT(win) > win->disp->height) { /* * XXX Hack * (Expect the caller to call ui_window_resize() immediately after this.) */ return 1; } /* * XXX * Check if win is input method window or not, because ui_window_move() * can fall into the following infinite loop on framebuffer. * 1) ui_im_stat_screen::draw_screen() -> * ui_window_move() -> * ui_im_stat_screen::window_exposed() -> * ui_im_stat_screen::draw_screen() * 2) ui_im_candidate_screen::draw_screen() -> * ui_im_candidate_screen::resize() -> * ui_window_move() -> * ui_im_candidate_screen::window_exposed() -> * ui_im_candidate_screen::draw_screen() */ if (!IS_IM_WINDOW(win)) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif /* XXX */ if (win->parent) { clear_margin_area(win->parent); } } return 1; } void ui_window_clear(ui_window_t *win, int x, int y, u_int width, u_int height) { #ifdef USE_GRF if (x68k_tvram_is_enabled()) { ui_window_fill_with(win, &black, x, y, width, height); } else #endif if (!win->wall_picture) { ui_window_fill_with(win, &win->bg_color, x, y, width, height); } else { Pixmap pic; int src_x; int src_y; if (win->wall_picture == ParentRelative) { src_x = x + win->x; src_y = y + win->y; pic = win->parent->wall_picture; } else { pic = win->wall_picture; src_x = x; src_y = y; } copy_area(win, pic, None, src_x, src_y, width, height, x, y, 1); } } void ui_window_clear_all(ui_window_t *win) { ui_window_clear(win, 0, 0, win->width, win->height); } void ui_window_fill(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_window_fill_with(win, &win->fg_color, x, y, width, height); } void ui_window_fill_with(ui_window_t *win, ui_color_t *color, int x, int y, u_int width, u_int height) { u_char *src; size_t size; int y_off; u_int bpp; if (!win->is_mapped) { return; } x += (win->x + win->hmargin); y += (win->y + win->vmargin); if ((bpp = win->disp->display->bytes_per_pixel) == 1) { ui_display_fill_with(x, y, width, height, (u_int8_t)color->pixel); } else { if (!(src = alloca((size = width * bpp)))) { return; } for (y_off = 0; y_off < height; y_off++) { u_char *p = src; int x_off; if (bpp == 2) { for (x_off = 0; x_off < width; x_off++) { *((u_int16_t *)p) = color->pixel; p += 2; } } else /* if (bpp == 4) */ { for (x_off = 0; x_off < width; x_off++) { *((u_int32_t *)p) = color->pixel; p += 4; } } ui_display_put_image(win->disp, x, y + y_off, src, size, 0); } } } void ui_window_blank(ui_window_t *win) { ui_window_fill_with(win, &win->fg_color, 0, 0, win->width - RIGHT_MARGIN(win), win->height - BOTTOM_MARGIN(win)); } void ui_window_update(ui_window_t *win, int flag) { if (!win->is_mapped) { return; } if (win->update_window) { (*win->update_window)(win, flag); } } void ui_window_update_all(ui_window_t *win) { u_int count; if (!win->is_mapped) { return; } if (!win->parent) { ui_display_reset_cmap(); } clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } for (count = 0; count < win->num_children; count++) { ui_window_update_all(win->children[count]); } } void ui_window_idling(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_idling(win->children[count]); } #ifdef __DEBUG if (win->button_is_pressing) { bl_debug_printf(BL_DEBUG_TAG " button is pressing...\n"); } #endif if (win->button_is_pressing && win->button_press_continued) { (*win->button_press_continued)(win, &win->prev_button_press_event); } else if (win->idling) { (*win->idling)(win); } } /* * Return value: 0 => different window. * 1 => finished processing. */ int ui_window_receive_event(ui_window_t *win, XEvent *event) { #if 0 u_int count; for (count = 0; count < win->num_children; count++) { if (ui_window_receive_event(win->children[count], event)) { return 1; } } #endif if (event->type == KeyPress) { if (win->key_pressed) { (*win->key_pressed)(win, &event->xkey); } } else if (event->type == MotionNotify) { if (win->button_is_pressing) { if (win->button_motion) { event->xmotion.x -= win->hmargin; event->xmotion.y -= win->vmargin; (*win->button_motion)(win, &event->xmotion); } /* following button motion ... */ win->prev_button_press_event.x = event->xmotion.x; win->prev_button_press_event.y = event->xmotion.y; win->prev_button_press_event.time = event->xmotion.time; } else if ((win->event_mask & PointerMotionMask) && win->pointer_motion) { event->xmotion.x -= win->hmargin; event->xmotion.y -= win->vmargin; (*win->pointer_motion)(win, &event->xmotion); } } else if (event->type == ButtonRelease) { if (win->button_released) { event->xbutton.x -= win->hmargin; event->xbutton.y -= win->vmargin; (*win->button_released)(win, &event->xbutton); } win->button_is_pressing = 0; } else if (event->type == ButtonPress) { if (win->button_pressed) { event->xbutton.x -= win->hmargin; event->xbutton.y -= win->vmargin; /* XXX If button is released outside screen, ButtonRelease event might not happen. */ if (win->button_is_pressing) { if (win->button_released) { XButtonEvent ev = event->xbutton; ev.type = ButtonRelease; (*win->button_released)(win, &ev); } win->button_is_pressing = 0; } if (win->click_num == MAX_CLICK) { win->click_num = 0; } if (win->prev_clicked_time + click_interval >= event->xbutton.time && event->xbutton.button == win->prev_clicked_button) { win->click_num++; win->prev_clicked_time = event->xbutton.time; } else { win->click_num = 1; win->prev_clicked_time = event->xbutton.time; win->prev_clicked_button = event->xbutton.button; } (*win->button_pressed)(win, &event->xbutton, win->click_num); } if (event->xbutton.button <= Button3) { /* button_is_pressing flag is on except wheel mouse (Button4/Button5). */ win->button_is_pressing = 1; win->prev_button_press_event = event->xbutton; } if (!win->is_focused && win->inputtable && event->xbutton.button == Button1 && !event->xbutton.state) { ui_window_set_input_focus(win); } } #ifdef USE_WAYLAND else if (event->type == FocusOut) { reset_input_focus(win); } #endif return 1; } size_t ui_window_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { u_char ch; if (seq_len == 0) { return 0; } *parser = NULL; #ifdef USE_WAYLAND *keysym = event->ksym; if ((ch = ui_display_get_char(event->ksym)) == '\0') { return 0; } #else ch = event->ksym; #ifdef __ANDROID__ if (ch == 0) { return ui_display_get_str(seq, seq_len); } #endif if ((*keysym = event->ksym) >= 0x100) { switch (*keysym) { case XK_KP_Multiply: ch = '*'; break; case XK_KP_Add: ch = '+'; break; case XK_KP_Separator: ch = ','; break; case XK_KP_Subtract: ch = '-'; break; case XK_KP_Divide: ch = '/'; break; default: if (win->disp->display->lock_state & NLKED) { switch (*keysym) { case XK_KP_Insert: ch = '0'; break; case XK_KP_End: ch = '1'; break; case XK_KP_Down: ch = '2'; break; case XK_KP_Next: ch = '3'; break; case XK_KP_Left: ch = '4'; break; case XK_KP_Begin: ch = '5'; break; case XK_KP_Right: ch = '6'; break; case XK_KP_Home: ch = '7'; break; case XK_KP_Up: ch = '8'; break; case XK_KP_Prior: ch = '9'; break; case XK_KP_Delete: ch = '.'; break; default: return 0; } *keysym = ch; } else { return 0; } } } else if (*keysym == XK_Tab && (event->state & ShiftMask)) { *keysym = XK_ISO_Left_Tab; return 0; } #endif /* * Control + '@'(0x40) ... '_'(0x5f) -> 0x00 ... 0x1f * * Not "<= '_'" but "<= 'z'" because Control + 'a' is not * distinguished from Control + 'A'. */ if ((event->state & ControlMask) && (ch == ' ' || ('@' <= ch && ch <= 'z'))) { seq[0] = (ch & 0x1f); } else { seq[0] = ch; } return 1; } /* * Scroll functions. * The caller side should clear the scrolled area. */ int ui_window_scroll_upward(ui_window_t *win, u_int height) { return ui_window_scroll_upward_region(win, 0, win->height, height); } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF int ui_window_is_scrollable(ui_window_t *win) { /* XXX If input method module is activated, don't scroll window. */ if (win->is_scrollable && !IM_WINDOW_IS_ACTIVATED(win->disp)) { return 1; } else { return 0; } } #endif int ui_window_scroll_upward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, height, win->height, win->width); #endif return 0; } return scroll_region(win, 0, boundary_start + height, /* src */ win->width, boundary_end - boundary_start - height, /* size */ 0, boundary_start); /* dst */ } int ui_window_scroll_downward(ui_window_t *win, u_int height) { return ui_window_scroll_downward_region(win, 0, win->height, height); } int ui_window_scroll_downward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d\n", boundary_start, boundary_end, height); #endif return 0; } return scroll_region(win, 0, boundary_start, win->width, boundary_end - boundary_start - height, 0, boundary_start + height); } int ui_window_scroll_leftward(ui_window_t *win, u_int width) { return ui_window_scroll_leftward_region(win, 0, win->width, width); } int ui_window_scroll_leftward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width || !fix_rl_boundary(win, boundary_start, &boundary_end)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, width, win->height, win->width); #endif return 0; } scroll_region(win, boundary_start + width, 0, /* src */ boundary_end - boundary_start - width, win->height, /* size */ boundary_start, 0); /* dst */ return 1; } int ui_window_scroll_rightward(ui_window_t *win, u_int width) { return ui_window_scroll_rightward_region(win, 0, win->width, width); } int ui_window_scroll_rightward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width || !fix_rl_boundary(win, boundary_start, &boundary_end)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d\n", boundary_start, boundary_end, width); #endif return 0; } scroll_region(win, boundary_start, 0, boundary_end - boundary_start - width, win->height, boundary_start + width, 0); return 1; } int ui_window_copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, /* >= 0 */ int src_y, /* >= 0 */ u_int width, u_int height, int dst_x, /* >= 0 */ int dst_y /* >= 0 */ ) { return copy_area(win, src, mask, src_x, src_y, width, height, dst_x, dst_y, 0); } void ui_window_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { win->clip_y = y; win->clip_height = height; } void ui_window_unset_clip(ui_window_t *win) { win->clip_y = win->clip_height = 0; } void ui_window_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { convert_to_decsp_font_index(str, len); ui_window_draw_string(win, font, fg_color, x, y, str, len); } void ui_window_draw_decsp_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, /* NULL => use wall_picture for bg */ int x, int y, u_char *str, u_int len) { convert_to_decsp_font_index(str, len); ui_window_draw_image_string(win, font, fg_color, bg_color, x, y, str, len); } void ui_window_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { draw_string(win, font, fg_color, NULL, x, y, str, len, 1, 0); } void ui_window_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, u_int len) { draw_string(win, font, fg_color, NULL, x, y, str, len, 2, 0); } void ui_window_draw_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, /* NULL => use wall_picture for bg */ int x, int y, u_char *str, u_int len) { #ifdef USE_GRF if (bg_color == NULL && x68k_tvram_is_enabled()) { bg_color = &black; } #endif draw_string(win, font, fg_color, bg_color, x, y, str, len, 1, bg_color == NULL); } void ui_window_draw_image_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, /* NULL => use wall_picture for bg */ int x, int y, XChar2b *str, u_int len) { #ifdef USE_GRF if (bg_color == NULL && x68k_tvram_is_enabled()) { bg_color = &black; } #endif draw_string(win, font, fg_color, bg_color, x, y, str, len, 2, bg_color == NULL); } void ui_window_draw_rect_frame(ui_window_t *win, int x1, int y1, int x2, int y2) { ui_window_fill_with(win, &win->fg_color, x1, y1, x2 - x1 + 1, 1); ui_window_fill_with(win, &win->fg_color, x1, y1, 1, y2 - y1 + 1); ui_window_fill_with(win, &win->fg_color, x1, y2, x2 - x1 + 1, 1); ui_window_fill_with(win, &win->fg_color, x2, y1, 1, y2 - y1 + 1); } void ui_set_use_clipboard_selection(int use_it) {} int ui_is_using_clipboard_selection(void) { return 0; } int ui_window_set_selection_owner(ui_window_t *win, Time time) { if (ui_window_is_selection_owner(win)) { /* Already owner */ } else { ui_display_own_selection(win->disp, win); } #ifdef __ANDROID__ if (win->utf_selection_requested) { (*win->utf_selection_requested)(win, NULL, 0); } #endif return 1; } int ui_window_xct_selection_request(ui_window_t *win, Time time) { #if defined(__ANDROID__) || defined(USE_WAYLAND) return 0; #else if (win->disp->selection_owner && win->disp->selection_owner->xct_selection_requested) { XSelectionRequestEvent ev; ev.type = 0; ev.target = win; (*win->disp->selection_owner->xct_selection_requested)(win->disp->selection_owner, &ev, 0); } return 1; #endif } int ui_window_utf_selection_request(ui_window_t *win, Time time) { #if defined(__ANDROID__) ui_display_request_text_selection(); #elif defined(USE_WAYLAND) ui_display_request_text_selection(win->disp); #else if (win->disp->selection_owner && win->disp->selection_owner->utf_selection_requested) { XSelectionRequestEvent ev; ev.type = 1; ev.target = win; (*win->disp->selection_owner->utf_selection_requested)(win->disp->selection_owner, &ev, 0); } #endif return 1; } void ui_window_send_picture_selection(ui_window_t *win, Pixmap pixmap, u_int width, u_int height) {} void ui_window_send_text_selection(ui_window_t *win, XSelectionRequestEvent *req_ev, u_char *sel_data, size_t sel_len, Atom sel_type) { #if defined(__ANDROID__) ui_display_send_text_selection(sel_data, sel_len); #elif defined(USE_WAYLAND) ui_display_send_text_selection(win->disp, req_ev, sel_data, sel_len); #else if (req_ev) { if (req_ev->type == 1) { if (req_ev->target->utf_selection_notified) { (*req_ev->target->utf_selection_notified)(req_ev->target, sel_data, sel_len); } } else { if (req_ev->target->xct_selection_notified) { (*req_ev->target->xct_selection_notified)(req_ev->target, sel_data, sel_len); } } } #endif } void ui_set_window_name(ui_window_t *win, u_char *name) { #ifdef USE_WAYLAND if (name == NULL) { name = win->app_name; } ui_display_set_title(win->disp, name); #endif } void ui_set_icon_name(ui_window_t *win, u_char *name) {} void ui_window_set_icon(ui_window_t *win, ui_icon_picture_ptr_t icon) {} void ui_window_remove_icon(ui_window_t *win) {} void ui_window_reset_group(ui_window_t *win) {} void ui_set_click_interval(int interval) { click_interval = interval; } int ui_get_click_interval(void) { return click_interval; } u_int ui_window_get_mod_ignore_mask(ui_window_t *win, KeySym *keysyms) { return ~0; } u_int ui_window_get_mod_meta_mask(ui_window_t *win, char *mod_key) { return ModMask; } void ui_window_bell(ui_window_t *win, ui_bel_mode_t mode) { if (mode & BEL_VISUAL) { ui_window_blank(win); bl_usleep(100000); /* 100 mili sec */ (*win->window_exposed)(win, 0, 0, win->width, win->height); } } void ui_window_translate_coordinates(ui_window_t *win, int x, int y, int *global_x, int *global_y) { *global_x = x + win->x; *global_y = y + win->y; #if defined(ROTATABLE_DISPLAY) && !defined(MANAGE_ROOT_WINDOWS_BY_MYSELF) /* == USE_WAYLAND */ ui_display_logical_to_physical_coordinates(win->disp, global_x, global_y); #endif } void ui_window_set_input_focus(ui_window_t *win) { if (win->inputtable > 0 && win->is_focused) { return; } reset_input_focus(ui_get_root_window(win)); win->inputtable = win->is_focused = 1; if (win->window_focused) { (*win->window_focused)(win); } } /* for ui_display.c */ void ui_window_clear_margin_area(ui_window_t *win) { clear_margin_area(win); } mlterm-3.8.4/uitoolkit/fb/ui.c012075500017600000144000000000001321054731200166462../win32/ui.custar kenusersmlterm-3.8.4/uitoolkit/fb/ui_decsp_font.c010064400017600000144000000121631321054731200171240ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_decsp_font.h" #include #include /* malloc */ #include /* strdup */ #include /* --- static functions --- */ static void draw_check(u_char *fb, u_int width_bytes, u_int height) { int y; u_char check1 = 0xaa; u_char check2 = 0x55; for (y = 0; y < height; y++) { if ((y & 1) == 0) { memset(fb, check1, width_bytes); } else { memset(fb, check2, width_bytes); } fb += width_bytes; } } static void draw_vline(u_char *fb, u_int width_bytes, int x, int beg_y, int end_y) { int y; int mask; fb += (width_bytes * beg_y); fb += (x / 8); mask = (1 << (8 - (x&7) - 1)); for (y = beg_y; y <= end_y; y++) { *fb |= mask; fb += width_bytes; } } static void draw_hline(u_char *fb, u_int width_bytes, int beg_x, int end_x, int y) { int x; fb += (width_bytes * y); for (x = beg_x; x <= end_x; x++) { fb[x/8] |= (1 << (8 - (x&7) - 1)); } } static void draw_diamond(u_char *fb, u_int width_bytes, u_int width, u_int height) { int x; int y; u_int mod = height / 2; for (y = 0; y < mod; y++) { x = (width * (mod - y - 1) / mod + 1) / 2; draw_hline(fb, width_bytes, x, width - x - 1, y); } for (; y < height; y++) { x = (width * (y - mod) / mod + 1) / 2; draw_hline(fb, width_bytes, x, width - x - 1, y); } } /* --- global functions --- */ int ui_load_decsp_xfont(XFontStruct *xfont, const char *decsp_id) { u_int width; u_int height; int count; u_int glyph_size; u_char *p; if (sscanf(decsp_id, "decsp-%dx%d", &width, &height) != 2) { return 0; } xfont->file = strdup(decsp_id); xfont->glyph_width_bytes = (width + 7) / 8; xfont->width = xfont->width_full = width; xfont->height = height; xfont->ascent = height - height / 6; xfont->min_char_or_byte2 = 0x1; xfont->max_char_or_byte2 = 0x1e; xfont->num_glyphs = 30; glyph_size = xfont->glyph_width_bytes * height; xfont->glyphs = calloc(30, glyph_size); xfont->glyph_offsets = calloc(30, sizeof(xfont->glyph_offsets[0])); xfont->glyph_indeces = calloc(30, sizeof(xfont->glyph_indeces[0])); xfont->ref_count = 1; for (count = 0; count < 30; count++) { xfont->glyph_offsets[count] = count * glyph_size; xfont->glyph_indeces[count] = count; } /* * Glyph map * * Used , Used , None , None , None , None , None , * None , None , None , Used , Used , Used , Used , Used , * Used , Used , Used , Used , Used , Used , Used , Used , * Used , Used , None , None , None , None , Used */ p = xfont->glyphs; draw_diamond(p, xfont->glyph_width_bytes, width, height); p += glyph_size; draw_check(p, xfont->glyph_width_bytes, height); p += (glyph_size * (0x0a - 0x01)); draw_hline(p, xfont->glyph_width_bytes, 0, width / 2 - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height / 2 - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width / 2 - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, height / 2 - 1, height - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, width / 2 - 1, width - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, height / 2 - 1, height - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, width / 2 - 1, width - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height / 2 - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, 0); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height / 4 - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height / 2 - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height * 3 / 4 - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, width / 2 - 1, width - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width / 2 - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height / 2 - 1); p += glyph_size; draw_hline(p, xfont->glyph_width_bytes, 0, width - 1, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, height / 2 - 1, height - 1); p += glyph_size; draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, 0, height - 1); p += (glyph_size * (0x1d - 0x18)); draw_hline(p, xfont->glyph_width_bytes, width / 2 - 2, width / 2, height / 2 - 1); draw_vline(p, xfont->glyph_width_bytes, width / 2 - 1, height / 2 - 2, height / 2); return 1; } /* unload_pcf() in ui_font.c completely frees memory. */ mlterm-3.8.4/uitoolkit/fb/ui_decsp_font.h010064400017600000144000000003331321054731200171250ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_DECSP_FONT_H__ #define __UI_DECSP_FONT_H__ #include "../ui.h" int ui_load_decsp_xfont(XFontStruct *xfont, const char *decsp_id); #endif mlterm-3.8.4/uitoolkit/fb/ui_display_wscons.c010064400017600000144000000542321321054731200200440ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include /* MACHINE */ #include /* VT_GETSTATE */ #ifdef __NetBSD__ #include "../ui_event_source.h" #endif #ifdef __NetBSD__ #define KEY_REPEAT_UNIT 25 /* msec (see ui_event_source.c) */ #define DEFAULT_KEY_REPEAT_1 400 /* msec */ #define DEFAULT_KEY_REPEAT_N 50 /* msec */ #define DEFAULT_FBDEV "/dev/ttyE0" #else /* __OpenBSD__ */ #define DEFAULT_FBDEV "/dev/ttyC0" #endif #define get_key_state() (0) /* --- static variables --- */ static u_int kbd_type; static struct wskbd_map_data keymap; static int console_id = -1; static struct wscons_event prev_key_event; u_int fb_width = 640; u_int fb_height = 480; u_int fb_depth = 8; #ifdef __NetBSD__ static int kbd_repeat_wait = (DEFAULT_KEY_REPEAT_1 + KEY_REPEAT_UNIT / 2) / KEY_REPEAT_UNIT; int kbd_repeat_1 = DEFAULT_KEY_REPEAT_1; int kbd_repeat_N = DEFAULT_KEY_REPEAT_N; #endif static int orig_console_mode = WSDISPLAYIO_MODE_EMUL; /* 0 */ static int wskbd_mode_switch = 0; /* --- static functions --- */ /* For iBus which requires ps/2 keycode. */ static u_int get_ps2_kcode(u_int kcode) { if (kbd_type == WSKBD_TYPE_USB) { static u_char map_table1[] = { 30, /* A (4) */ 48, /* B */ 46, /* C */ 32, /* D */ 18, /* E */ 33, /* F */ 34, /* G (10) */ 35, /* H */ 23, /* I */ 36, /* J */ 37, /* K */ 38, /* L */ 50, /* M */ 49, /* N */ 24, /* O */ 25, /* P */ 16, /* Q (20) */ 19, /* R */ 31, /* S */ 20, /* T */ 22, /* U */ 47, /* V */ 17, /* W */ 45, /* X */ 21, /* Y */ 44, /* Z */ 2, /* 1 (30) */ 3, /* 2 */ 4, /* 3 */ 5, /* 4 */ 6, /* 5 */ 7, /* 6 */ 8, /* 7 */ 9, /* 8 */ 10, /* 9 */ 11, /* 0 */ 28, /* Enter (40) */ 1, /* ESC */ 14, /* BackSpace */ 15, /* Tab */ 57, /* Space */ 12, /* _ - */ 13, /* + = */ 26, /* { [ */ 27, /* } ] */ 43, /* \ | */ 0, /* (50) */ 39, /* : ; */ 40, /* " ' */ 41, /* ~ ` */ 51, /* < , */ 52, /* > . */ 53, /* ? / */ 58, /* CapsLock */ 59, /* F1 */ 60, /* F2 */ 61, /* F3 (60) */ 62, /* F4 */ 63, /* F5 */ 64, /* F6 */ 65, /* F7 */ 66, /* F8 */ 67, /* F9 */ 68, /* F10 */ 87, /* F11 */ 88, /* F12 */ 0, /* Print Screen (70) */ 70, /* ScreenLock */ 0, /* Pause */ 110, /* Insert */ 102, /* Home */ 104, /* Page Up */ 111, /* Delete */ 107, /* End */ 109, /* Page Down */ 106, /* Right */ 105, /* Left (80) */ 108, /* Down */ 103, /* Up */ 69, /* NumLock */ 0, /* Num / */ 55, /* Num * */ 74, /* Num - */ 78, /* Num + */ 0, /* Num Enter */ 79, /* Num 1 */ 80, /* Num 2 (90) */ 81, /* Num 3 */ 75, /* Num 4 */ 76, /* Num 5 */ 77, /* Num 6 */ 71, /* Num 7 */ 72, /* Num 8 */ 73, /* Num 9 */ 82, /* Num 0 */ 83, /* Num . */ }; static u_char map_table2[] = { 29, /* Control L (224) */ 42, /* Shift L */ 56, /* Alt L */ 0, /* Windows L */ 97, /* Control R */ 54, /* Shift R */ 100, /* Alt R (230) */ 0, /* Windows R */ }; if (4 <= kcode) { if (kcode <= 99) { return map_table1[kcode - 4]; } else if (224 <= kcode) { if (kcode <= 231) { return map_table2[kcode - 224]; } } } return 0; } else { return kcode; } } static void process_wskbd_event(struct wscons_event *ev) { keysym_t ksym; if (keymap.map[ev->value].command == KS_Cmd_ResetEmul) { /* XXX */ ksym = XK_BackSpace; } else { keysym_t *group; if (wskbd_mode_switch) { group = keymap.map[ev->value].group2; } else { group = keymap.map[ev->value].group1; } if (_display.key_state & ShiftMask) { ksym = group[1]; } else { ksym = group[0]; } if (KS_f1 <= ksym && ksym <= KS_f20) { /* KS_f1 => KS_F1 */ ksym += (KS_F1 - KS_f1); } else if (_display.lock_state & CLKED) { if (KS_a <= ksym && ksym <= KS_z) { ksym += (KS_A - KS_a); } else if (KS_agrave <= ksym && ksym <= KS_thorn && ksym != KS_division) { ksym += (KS_Agrave - KS_agrave); } } } if (ev->type == WSCONS_EVENT_KEY_DOWN) { if (ksym == KS_Shift_R || ksym == KS_Shift_L) { _display.key_state |= ShiftMask; } else if (ksym == KS_Caps_Lock) { _display.lock_state ^= CLKED; } else if (ksym == KS_Control_R || ksym == KS_Control_L) { _display.key_state |= ControlMask; } else if (ksym == KS_Alt_R || ksym == KS_Alt_L) { _display.key_state |= Mod1Mask; } else if (ksym == KS_Mode_switch) { wskbd_mode_switch = 1; } else if (ksym == KS_Num_Lock) { _display.lock_state ^= NLKED; } else { XKeyEvent xev; xev.type = KeyPress; xev.ksym = ksym; xev.state = _mouse.button_state | _display.key_state; xev.keycode = get_ps2_kcode(ev->value); receive_event_for_multi_roots(&xev); prev_key_event = *ev; #ifdef __NetBSD__ kbd_repeat_wait = (kbd_repeat_1 + KEY_REPEAT_UNIT / 2) / KEY_REPEAT_UNIT; #endif } } else if (ev->type == WSCONS_EVENT_KEY_UP) { if (ksym == KS_Shift_R || ksym == KS_Shift_L) { _display.key_state &= ~ShiftMask; } else if (ksym == KS_Control_R || ksym == KS_Control_L) { _display.key_state &= ~ControlMask; } else if (ksym == KS_Alt_R || ksym == KS_Alt_L) { _display.key_state &= ~Mod1Mask; } else if (ksym == KS_Mode_switch) { wskbd_mode_switch = 0; } else if (ev->value == prev_key_event.value) { prev_key_event.value = 0; } } } #ifdef __NetBSD__ static void auto_repeat(void) { if (prev_key_event.value && --kbd_repeat_wait == 0) { process_wskbd_event(&prev_key_event); kbd_repeat_wait = (kbd_repeat_N + KEY_REPEAT_UNIT / 2) / KEY_REPEAT_UNIT; } } #endif static fb_cmap_t *cmap_new(int num_colors); static int open_display(u_int depth /* used on luna68k alone. */ ) { char *dev; struct wsdisplay_fbinfo vinfo; #ifdef WSDISPLAYIO_GET_FBINFO struct wsdisplayio_fbinfo vinfo2; #endif int mode; int wstype; struct rgb_info rgbinfos[] = { {3, 3, 3, 10, 5, 0}, {3, 2, 3, 11, 5, 0}, {0, 0, 0, 16, 8, 0}, }; struct termios tm; static struct wscons_keymap map[KS_NUMKEYCODES]; bl_priv_restore_euid(); bl_priv_restore_egid(); _display.fb_fd = open((dev = getenv("FRAMEBUFFER")) ? dev : DEFAULT_FBDEV, O_RDWR); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_display.fb_fd < 0) { bl_error_printf("Couldn't open %s.\n", dev ? dev : DEFAULT_FBDEV); return 0; } bl_file_set_cloexec(_display.fb_fd); ioctl(STDIN_FILENO, WSDISPLAYIO_GMODE, &orig_console_mode); #ifdef __OpenBSD__ { struct wsdisplay_gfx_mode gfx_mode; gfx_mode.width = fb_width; gfx_mode.height = fb_height; gfx_mode.depth = fb_depth; if (ioctl(_display.fb_fd, WSDISPLAYIO_SETGFXMODE, &gfx_mode) == -1) { bl_error_printf("Couldn't set screen resolution (gfx mode).\n"); } } #endif mode = WSDISPLAYIO_MODE_DUMBFB; if (ioctl(STDIN_FILENO, WSDISPLAYIO_SMODE, &mode) == -1) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " WSDISPLAYIO_SMODE failed.\n"); #endif goto error; } if (ioctl(_display.fb_fd, WSDISPLAYIO_GTYPE, &wstype) == -1) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " WSDISPLAYIO_GTYPE failed.\n"); #endif goto error; } #ifdef WSDISPLAYIO_GET_FBINFO vinfo2.fbi_stride = 0; if (ioctl(_display.fb_fd, WSDISPLAYIO_GET_FBINFO, &vinfo2) == 0) { vinfo.width = vinfo2.fbi_width; vinfo.height = vinfo2.fbi_height; vinfo.depth = vinfo2.fbi_bitsperpixel; vinfo.cmsize = vinfo2.fbi_subtype.fbi_cmapinfo.cmap_entries; /* XXX fbi_fboffset is regarded as multiple of fbi_stride */ _display.yoffset = vinfo2.fbi_fboffset / vinfo2.fbi_stride; } else #endif if (ioctl(_display.fb_fd, WSDISPLAYIO_GINFO, &vinfo) == 0) { _display.yoffset = 0; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " WSDISPLAYIO_GTYPE and WSDISPLAYIO_GET_FBINFO failed.\n"); #endif goto error; } _display.xoffset = 0; _display.width = _disp.width = vinfo.width; _display.height = _disp.height = vinfo.height; _disp.depth = vinfo.depth; #ifdef WSDISPLAY_TYPE_LUNA if (wstype == WSDISPLAY_TYPE_LUNA) { /* always 8 or less bpp */ if (_disp.depth > 8) { goto error; } else if (depth == 1 || depth == 4 || depth == 8) { _disp.depth = depth; } _display.pixels_per_byte = 8; _display.shift_0 = 7; _display.mask = 1; } else #endif if (_disp.depth < 8) { #ifdef ENABLE_2_4_PPB _display.pixels_per_byte = 8 / _disp.depth; #else /* XXX Forcibly set 1 bpp */ _disp.depth = 1; _display.pixels_per_byte = 8; #endif _display.shift_0 = FB_SHIFT_0(_display.pixels_per_byte, _disp.depth); _display.mask = FB_MASK(_display.pixels_per_byte); } else { _display.pixels_per_byte = 1; } if ((_display.bytes_per_pixel = (_disp.depth + 7) / 8) == 3) { _display.bytes_per_pixel = 4; } #ifdef WSDISPLAYIO_GET_FBINFO if (vinfo2.fbi_stride > 0) { _display.line_length = vinfo2.fbi_stride; } else #endif if (ioctl(_display.fb_fd, WSDISPLAYIO_LINEBYTES, &_display.line_length) == -1) { /* WSDISPLAYIO_LINEBYTES isn't defined in some ports. */ #ifdef MACHINE /* XXX Hack for NetBSD 5.ui.hpcmips */ if (strcmp(MACHINE, "hpcmips") == 0 && _disp.depth == 16) { _display.line_length = _display.width * 5 / 2; } else #endif { _display.line_length = _display.width * _display.bytes_per_pixel / _display.pixels_per_byte; } } #ifdef WSDISPLAY_TYPE_LUNA if (wstype == WSDISPLAY_TYPE_LUNA && (_disp.depth == 4 || _disp.depth == 8)) { u_int plane; _display.smem_len = 0x40000 * _disp.depth; for (plane = 0; plane < _disp.depth; plane++) { _display.plane_offset[plane] = 0x40000 * plane; } } else #endif { _display.smem_len = _display.line_length * _display.height; } if ((_display.fb = mmap(NULL, _display.smem_len, PROT_WRITE | PROT_READ, MAP_SHARED, _display.fb_fd, (off_t)0)) == MAP_FAILED) { bl_error_printf("Retry another mode of resolution and depth.\n"); goto error; } #ifdef WSDISPLAY_TYPE_LUNA if (wstype == WSDISPLAY_TYPE_LUNA) { _display.fb += 8; } #endif if (_disp.depth < 15) { if (vinfo.depth >= 2 && _disp.depth == 1) { int num_colors; vt_color_t color; num_colors = (2 << (vinfo.depth - 1)); if (!_display.cmap) { if (!(_display.cmap_orig = cmap_new(num_colors))) { goto error; } ioctl(_display.fb_fd, FBIOGETCMAP, _display.cmap_orig); if (!(_display.cmap = cmap_new(num_colors))) { free(_display.cmap_orig); goto error; } if (!(_display.color_cache = calloc(1, sizeof(*_display.color_cache)))) { free(_display.cmap_orig); free(_display.cmap); goto error; } } for (color = 0; color < num_colors; color++) { _display.cmap->red[color] = (color & 1) ? 0xff : 0; _display.cmap->green[color] = (color & 1) ? 0xff : 0; _display.cmap->blue[color] = (color & 1) ? 0xff : 0; } ioctl(_display.fb_fd, FBIOPUTCMAP, _display.cmap); } else if (!cmap_init()) { goto error; } } #ifdef WSDISPLAYIO_GET_FBINFO else if (vinfo2.fbi_stride > 0) { _display.rgbinfo.r_limit = 8 - vinfo2.fbi_subtype.fbi_rgbmasks.red_size; _display.rgbinfo.g_limit = 8 - vinfo2.fbi_subtype.fbi_rgbmasks.green_size; _display.rgbinfo.b_limit = 8 - vinfo2.fbi_subtype.fbi_rgbmasks.blue_size; _display.rgbinfo.r_offset = vinfo2.fbi_subtype.fbi_rgbmasks.red_offset; _display.rgbinfo.g_offset = vinfo2.fbi_subtype.fbi_rgbmasks.green_offset; _display.rgbinfo.b_offset = vinfo2.fbi_subtype.fbi_rgbmasks.blue_offset; #ifdef DEBUG bl_debug_printf("FBINFO: (limit)r%d g%d b%d (offset)r%d g%d b%d\n", _display.rgbinfo.r_limit, _display.rgbinfo.g_limit, _display.rgbinfo.b_limit, _display.rgbinfo.r_offset, _display.rgbinfo.g_offset, _display.rgbinfo.b_offset); #endif } #endif else { if (_disp.depth == 15) { _display.rgbinfo = rgbinfos[0]; } else if (_disp.depth == 16) { _display.rgbinfo = rgbinfos[1]; } else /* if( _disp.depth >= 24) */ { _display.rgbinfo = rgbinfos[2]; } if (wstype == WSDISPLAY_TYPE_SUN24 || wstype == WSDISPLAY_TYPE_SUNCG12 || wstype == WSDISPLAY_TYPE_SUNCG14 || wstype == WSDISPLAY_TYPE_SUNTCX || wstype == WSDISPLAY_TYPE_SUNFFB #ifdef WSDISPLAY_TYPE_XVR1000 || wstype == WSDISPLAY_TYPE_XVR1000 #endif #ifdef WSDISPLAY_TYPE_VC4 || wstype == WSDISPLAY_TYPE_VC4 #endif ) { /* RRGGBB => BBGGRR */ u_int tmp; tmp = _display.rgbinfo.r_offset; _display.rgbinfo.r_offset = _display.rgbinfo.b_offset; _display.rgbinfo.b_offset = tmp; } } #ifdef ENABLE_DOUBLE_BUFFER if (_display.pixels_per_byte > 1 && !(_display.back_fb = malloc(_display.smem_len))) { goto error; } #endif tcgetattr(STDIN_FILENO, &tm); orig_tm = tm; tm.c_iflag = tm.c_oflag = 0; tm.c_cflag &= ~CSIZE; tm.c_cflag |= CS8; tm.c_lflag &= ~(ECHO | ISIG | IEXTEN | ICANON); tm.c_cc[VMIN] = 1; tm.c_cc[VTIME] = 0; tcsetattr(STDIN_FILENO, TCSAFLUSH, &tm); bl_priv_restore_euid(); bl_priv_restore_egid(); if (!getenv("WSKBD") || /* If you want to use /dev/wskbd0, export WSKBD=/dev/wskbd0 */ (_display.fd = open(getenv("WSKBD"), O_RDWR | O_NONBLOCK | O_EXCL)) == -1) { _display.fd = open("/dev/wskbd", O_RDWR | O_NONBLOCK | O_EXCL); } _mouse.fd = open("/dev/wsmouse", O_RDWR | O_NONBLOCK | O_EXCL); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (_display.fd == -1) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to open /dev/wskbd.\n"); #endif _display.fd = STDIN_FILENO; } else { bl_file_set_cloexec(_display.fd); #ifdef WSKBDIO_EVENT_VERSION mode = WSKBDIO_EVENT_VERSION; ioctl(_display.fd, WSKBDIO_SETVERSION, &mode); #endif ioctl(_display.fd, WSKBDIO_GTYPE, &kbd_type); keymap.maplen = KS_NUMKEYCODES; keymap.map = map; ioctl(_display.fd, WSKBDIO_GETMAP, &keymap); #if 0 bl_debug_printf("DUMP KEYMAP (LEN %d)\n", keymap.maplen); { int count; for (count = 0; count < keymap.maplen; count++) { bl_debug_printf("%d: %x %x %x %x %x\n", count, keymap.map[count].command, keymap.map[count].group1[0], keymap.map[count].group1[1], keymap.map[count].group2[0], keymap.map[count].group2[1]); } } #endif tcgetattr(_display.fd, &tm); tm.c_iflag = IGNBRK | IGNPAR; tm.c_oflag = 0; tm.c_lflag = 0; tm.c_cc[VTIME] = 0; tm.c_cc[VMIN] = 1; tm.c_cflag = CS8 | CSTOPB | CREAD | CLOCAL | HUPCL; cfsetispeed(&tm, B1200); cfsetospeed(&tm, B1200); tcsetattr(_display.fd, TCSAFLUSH, &tm); ioctl(_display.fd, WSKBDIO_GETLEDS, &_display.lock_state); #ifdef __NetBSD__ ui_event_source_add_fd(-10, auto_repeat); #endif } _disp.display = &_display; if (_mouse.fd != -1) { bl_file_set_cloexec(_mouse.fd); #ifdef WSMOUSE_EVENT_VERSION mode = WSMOUSE_EVENT_VERSION; ioctl(_mouse.fd, WSMOUSEIO_SETVERSION, &mode); #endif _mouse.x = _display.width / 2; _mouse.y = _display.height / 2; _disp_mouse.display = (Display*)&_mouse; tcgetattr(_mouse.fd, &tm); tm.c_iflag = IGNBRK | IGNPAR; tm.c_oflag = 0; tm.c_lflag = 0; tm.c_cc[VTIME] = 0; tm.c_cc[VMIN] = 1; tm.c_cflag = CS8 | CSTOPB | CREAD | CLOCAL | HUPCL; cfsetispeed(&tm, B1200); cfsetospeed(&tm, B1200); tcsetattr(_mouse.fd, TCSAFLUSH, &tm); } #ifdef DEBUG else { bl_debug_printf(BL_DEBUG_TAG " Failed to open /dev/wsmouse.\n"); } #endif console_id = get_active_console(); return 1; error: if (_display.fb) { munmap(_display.fb, _display.smem_len); _display.fb = NULL; } close(_display.fb_fd); ioctl(STDIN_FILENO, WSDISPLAYIO_SMODE, &orig_console_mode); return 0; } static int receive_mouse_event(void) { struct wscons_event ev; ssize_t len; if (console_id != get_active_console()) { return 0; } while ((len = read(_mouse.fd, memset(&ev, 0, sizeof(ev)), sizeof(ev))) > 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " MOUSE event (len)%d (type)%d (val)%d\n", len, ev.type, ev.value); #endif if (ev.type == WSCONS_EVENT_MOUSE_ABSOLUTE_X) { _mouse.x = ev.value; continue; /* Wait for ABSOLUTE_Y */ } else if (ev.type == WSCONS_EVENT_MOUSE_ABSOLUTE_Y) { restore_hidden_region(); _mouse.y = ev.value; update_mouse_cursor_state(); /* XXX MotionNotify event is not sent. */ save_hidden_region(); draw_mouse_cursor(); ev.type = WSCONS_EVENT_MOUSE_DOWN; ev.value = 0; /* Button1 */ } if (ev.type == WSCONS_EVENT_MOUSE_DOWN || ev.type == WSCONS_EVENT_MOUSE_UP) { XButtonEvent xev; ui_window_t *win; if (ev.value == 0) { xev.button = Button1; _mouse.button_state = Button1Mask; } else if (ev.value == 1) { xev.button = Button2; _mouse.button_state = Button2Mask; } else if (ev.value == 2) { xev.button = Button3; _mouse.button_state = Button3Mask; } else { continue; while (1) { button4: xev.button = Button4; _mouse.button_state = Button4Mask; break; button5: xev.button = Button5; _mouse.button_state = Button5Mask; break; button6: xev.button = Button6; _mouse.button_state = Button6Mask; break; button7: xev.button = Button7; _mouse.button_state = Button7Mask; break; } ev.value = 1; } if (ev.type != WSCONS_EVENT_MOUSE_UP) { /* * WSCONS_EVENT_MOUSE_UP, * WSCONS_EVENT_MOUSE_DELTA_Z * WSCONS_EVENT_MOUSE_DELTA_W */ xev.type = ButtonPress; } else /* if( ev.type == WSCONS_EVENT_MOUSE_UP) */ { xev.type = ButtonRelease; /* Reset button_state in releasing button. */ _mouse.button_state = 0; } xev.time = ev.time.tv_sec * 1000 + ev.time.tv_nsec / 1000000; if (rotate_display) { if (rotate_display > 0) { xev.x = _mouse.y; xev.y = _display.width - _mouse.x - 1; } else { xev.x = _display.height - _mouse.y - 1; xev.y = _mouse.x; } } else { xev.x = _mouse.x; xev.y = _mouse.y; } xev.state = _display.key_state; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "Button is %s x %d y %d btn %d time %d\n", xev.type == ButtonPress ? "pressed" : "released", xev.x, xev.y, xev.button, xev.time); #endif if (!check_virtual_kbd(&xev)) { win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); } } else if (ev.type == WSCONS_EVENT_MOUSE_DELTA_X || ev.type == WSCONS_EVENT_MOUSE_DELTA_Y || ev.type == WSCONS_EVENT_MOUSE_DELTA_Z || ev.type == WSCONS_EVENT_MOUSE_DELTA_W) { XMotionEvent xev; ui_window_t *win; if (ev.type == WSCONS_EVENT_MOUSE_DELTA_X) { restore_hidden_region(); _mouse.x += (int)ev.value; if (_mouse.x < 0) { _mouse.x = 0; } else if (_display.width <= _mouse.x) { _mouse.x = _display.width - 1; } } else if (ev.type == WSCONS_EVENT_MOUSE_DELTA_Y) { restore_hidden_region(); _mouse.y -= (int)ev.value; if (_mouse.y < 0) { _mouse.y = 0; } else if (_display.height <= _mouse.y) { _mouse.y = _display.height - 1; } } else if (ev.type == WSCONS_EVENT_MOUSE_DELTA_Z) { if (ev.value < 0) { /* Up */ goto button4; } else if (ev.value > 0) { /* Down */ goto button5; } } else /* if( ev.type == WSCONS_EVENT_MOUSE_DELTA_W) */ { if (ev.value < 0) { /* Left */ goto button6; } else if (ev.value > 0) { /* Right */ goto button7; } } update_mouse_cursor_state(); xev.type = MotionNotify; if (rotate_display) { if (rotate_display > 0) { xev.x = _mouse.y; xev.y = _display.width - _mouse.x - 1; } else { xev.x = _display.height - _mouse.y - 1; xev.y = _mouse.x; } } else { xev.x = _mouse.x; xev.y = _mouse.y; } xev.time = ev.time.tv_sec * 1000 + ev.time.tv_nsec / 1000000; xev.state = _mouse.button_state | _display.key_state; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Button is moved %d x %d y %d btn %d time %d\n", xev.type, xev.x, xev.y, xev.state, xev.time); #endif win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; ui_window_receive_event(win, &xev); save_hidden_region(); draw_mouse_cursor(); } } return 1; } static int receive_key_event(void) { if (_display.fd == STDIN_FILENO) { return receive_stdin_key_event(); } else { ssize_t len; struct wscons_event ev; if (console_id != get_active_console()) { return 0; } while ((len = read(_display.fd, memset(&ev, 0, sizeof(ev)), sizeof(ev))) > 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " KEY event (len)%d (type)%d (val)%d\n", len, ev.type, ev.value); #endif process_wskbd_event(&ev); } } return 1; } mlterm-3.8.4/uitoolkit/quartz004075500017600000144000000000001321054731200150175ustar kenusersmlterm-3.8.4/uitoolkit/quartz/ui_selection_encoding.c012075500017600000144000000000001321054731200274272../xlib/ui_selection_encoding.custar kenusersmlterm-3.8.4/uitoolkit/quartz/ui_xic.c010064400017600000144000000050211321054731200165150ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_xic.h" #include #include #include /* malloc */ /* --- global functions --- */ int ui_xic_activate(ui_window_t *win, char *xim_name, char *xim_locale) { if (win->xic) { /* already activated */ return 0; } if ((win->xic = malloc(sizeof(ui_xic_t))) == NULL) { return 0; } if ((win->xic->parser = vt_char_encoding_parser_new(VT_UTF8)) == NULL) { free(win->xic); win->xic = NULL; return 0; } ui_xic_font_set_changed(win); return 1; } int ui_xic_deactivate(ui_window_t *win) { if (win->xic == NULL) { /* already deactivated */ return 0; } (*win->xic->parser->delete)(win->xic->parser); free(win->xic); win->xic = NULL; return 1; } char *ui_xic_get_xim_name(ui_window_t *win) { return ""; } char *ui_xic_get_default_xim_name(void) { return ""; } int ui_xic_fg_color_changed(ui_window_t *win) { return 0; } int ui_xic_bg_color_changed(ui_window_t *win) { return 0; } int ui_xic_font_set_changed(ui_window_t *win) { return 0; } int ui_xic_resized(ui_window_t *win) { return 0; } int ui_xic_set_spot(ui_window_t *win) { return 0; } size_t ui_xic_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { if ((*keysym = event->keysym) >= 0xf700) { *parser = NULL; return 0; } else if (event->utf8 == NULL) { *seq = event->keysym; *parser = NULL; return 1; } else { size_t len = strlen(event->utf8); if (len == 0 && (event->state & ControlMask)) { *seq = '\0'; len = 1; *parser = NULL; } else if (len <= seq_len) { memcpy(seq, event->utf8, seq_len); *parser = win->xic->parser; } return len; } } size_t ui_xic_get_utf8_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return 0; } int ui_xic_filter_event(ui_window_t *win, /* Should be root window. */ XEvent *event) { return 0; } int ui_xic_set_focus(ui_window_t *win) { return 1; } int ui_xic_unset_focus(ui_window_t *win) { return 1; } int ui_xic_is_active(ui_window_t *win) { return 0; } int ui_xic_switch_mode(ui_window_t *win) { return 0; } #if 0 /* * ui_xim.c <-> ui_xic.c communication functions * Not necessary in fb. */ int ui_xim_activated(ui_window_t *win) { return 1; } int ui_xim_destroyed(ui_window_t *win) { return 1; } #endif mlterm-3.8.4/uitoolkit/quartz/ui_color.c010064400017600000144000000044541321054731200170610ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_color.h" #include /* memcpy,strcmp */ #include /* sscanf */ #include #include #include /* --- global functions --- */ int ui_load_named_xcolor(ui_display_t *disp, ui_color_t *xcolor, char *name) { vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (vt_color_parse_rgb_name(&red, &green, &blue, &alpha, name)) { return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } if ((color = vt_get_color(name)) != VT_UNKNOWN_COLOR && IS_VTSYS_BASE_COLOR(color)) { /* * 0 : 0x00, 0x00, 0x00 * 1 : 0xff, 0x00, 0x00 * 2 : 0x00, 0xff, 0x00 * 3 : 0xff, 0xff, 0x00 * 4 : 0x00, 0x00, 0xff * 5 : 0xff, 0x00, 0xff * 6 : 0x00, 0xff, 0xff * 7 : 0xe5, 0xe5, 0xe5 */ red = (color & 0x1) ? 0xff : 0; green = (color & 0x2) ? 0xff : 0; blue = (color & 0x4) ? 0xff : 0; } else { if (strcmp(name, "gray") == 0) { red = green = blue = 190; } else if (strcmp(name, "lightgray") == 0) { red = green = blue = 211; } else { return 0; } } return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, 0xff); } int ui_load_rgb_xcolor(ui_display_t *disp, ui_color_t *xcolor, u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha) { xcolor->pixel = (red << 16) | (green << 8) | blue | (alpha << 24); return 1; } void ui_unload_xcolor(ui_display_t *disp, ui_color_t *xcolor) {} void ui_get_xcolor_rgba(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */, ui_color_t *xcolor) { if (alpha) { *alpha = (xcolor->pixel >> 24) & 0xff; } *red = (xcolor->pixel >> 16) & 0xff; *green = (xcolor->pixel >> 8) & 0xff; *blue = xcolor->pixel & 0xff; } int ui_xcolor_fade(ui_display_t *disp, ui_color_t *xcolor, u_int fade_ratio) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; ui_get_xcolor_rgba(&red, &green, &blue, &alpha, xcolor); red = (red * fade_ratio) / 100; green = (green * fade_ratio) / 100; blue = (blue * fade_ratio) / 100; ui_unload_xcolor(disp, xcolor); return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } mlterm-3.8.4/uitoolkit/quartz/ui.h010064400017600000144000000360041321054731200156640ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ #ifndef MAC_OS_X_VERSION_MAX_ALLOWED /* NSText.h */ /* Various important Unicode code points */ enum { NSEnterCharacter = 0x0003, NSBackspaceCharacter = 0x0008, NSTabCharacter = 0x0009, NSNewlineCharacter = 0x000a, NSFormFeedCharacter = 0x000c, NSCarriageReturnCharacter = 0x000d, NSBackTabCharacter = 0x0019, NSDeleteCharacter = 0x007f, NSLineSeparatorCharacter = 0x2028, NSParagraphSeparatorCharacter = 0x2029 }; /* NSObjCRuntime.h */ #include #define NSUIntegerMax ULONG_MAX /* NSEvent.h */ enum { /* various types of events */ NSLeftMouseDown = 1, NSLeftMouseUp = 2, NSRightMouseDown = 3, NSRightMouseUp = 4, NSMouseMoved = 5, NSLeftMouseDragged = 6, NSRightMouseDragged = 7, NSMouseEntered = 8, NSMouseExited = 9, NSKeyDown = 10, NSKeyUp = 11, NSFlagsChanged = 12, NSAppKitDefined = 13, NSSystemDefined = 14, NSApplicationDefined = 15, NSPeriodic = 16, NSCursorUpdate = 17, NSScrollWheel = 22, #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 NSTabletPoint = 23, NSTabletProximity = 24, #endif NSOtherMouseDown = 25, NSOtherMouseUp = 26, NSOtherMouseDragged = 27, #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 /* The following event types are available on some hardware on 10.5.2 and later */ NSEventTypeGesture = 29, NSEventTypeMagnify = 30, NSEventTypeSwipe = 31, NSEventTypeRotate = 18, NSEventTypeBeginGesture = 19, NSEventTypeEndGesture = 20 #endif }; enum { /* masks for the types of events */ NSLeftMouseDownMask = 1 << NSLeftMouseDown, NSLeftMouseUpMask = 1 << NSLeftMouseUp, NSRightMouseDownMask = 1 << NSRightMouseDown, NSRightMouseUpMask = 1 << NSRightMouseUp, NSMouseMovedMask = 1 << NSMouseMoved, NSLeftMouseDraggedMask = 1 << NSLeftMouseDragged, NSRightMouseDraggedMask = 1 << NSRightMouseDragged, NSMouseEnteredMask = 1 << NSMouseEntered, NSMouseExitedMask = 1 << NSMouseExited, NSKeyDownMask = 1 << NSKeyDown, NSKeyUpMask = 1 << NSKeyUp, NSFlagsChangedMask = 1 << NSFlagsChanged, NSAppKitDefinedMask = 1 << NSAppKitDefined, NSSystemDefinedMask = 1 << NSSystemDefined, NSApplicationDefinedMask = 1 << NSApplicationDefined, NSPeriodicMask = 1 << NSPeriodic, NSCursorUpdateMask = 1 << NSCursorUpdate, NSScrollWheelMask = 1 << NSScrollWheel, #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 NSTabletPointMask = 1 << NSTabletPoint, NSTabletProximityMask = 1 << NSTabletProximity, #endif NSOtherMouseDownMask = 1 << NSOtherMouseDown, NSOtherMouseUpMask = 1 << NSOtherMouseUp, NSOtherMouseDraggedMask = 1 << NSOtherMouseDragged, #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 /* The following event masks are available on some hardware on 10.5.2 and later */ NSEventMaskGesture = 1 << NSEventTypeGesture, NSEventMaskMagnify = 1 << NSEventTypeMagnify, NSEventMaskSwipe = 1U << NSEventTypeSwipe, NSEventMaskRotate = 1 << NSEventTypeRotate, NSEventMaskBeginGesture = 1 << NSEventTypeBeginGesture, NSEventMaskEndGesture = 1 << NSEventTypeEndGesture, #endif NSAnyEventMask = NSUIntegerMax }; /* Device-independent bits found in event modifier flags */ enum { NSAlphaShiftKeyMask = 1 << 16, NSShiftKeyMask = 1 << 17, NSControlKeyMask = 1 << 18, NSAlternateKeyMask = 1 << 19, NSCommandKeyMask = 1 << 20, NSNumericPadKeyMask = 1 << 21, NSHelpKeyMask = 1 << 22, NSFunctionKeyMask = 1 << 23, #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4 NSDeviceIndependentModifierFlagsMask = 0xffff0000UL #endif }; /* Unicodes we reserve for function keys on the keyboard, OpenStep reserves the * range 0xF700-0xF8FF for this purpose. The availability of various keys will * be system dependent. */ enum { NSUpArrowFunctionKey = 0xF700, NSDownArrowFunctionKey = 0xF701, NSLeftArrowFunctionKey = 0xF702, NSRightArrowFunctionKey = 0xF703, NSF1FunctionKey = 0xF704, NSF2FunctionKey = 0xF705, NSF3FunctionKey = 0xF706, NSF4FunctionKey = 0xF707, NSF5FunctionKey = 0xF708, NSF6FunctionKey = 0xF709, NSF7FunctionKey = 0xF70A, NSF8FunctionKey = 0xF70B, NSF9FunctionKey = 0xF70C, NSF10FunctionKey = 0xF70D, NSF11FunctionKey = 0xF70E, NSF12FunctionKey = 0xF70F, NSF13FunctionKey = 0xF710, NSF14FunctionKey = 0xF711, NSF15FunctionKey = 0xF712, NSF16FunctionKey = 0xF713, NSF17FunctionKey = 0xF714, NSF18FunctionKey = 0xF715, NSF19FunctionKey = 0xF716, NSF20FunctionKey = 0xF717, NSF21FunctionKey = 0xF718, NSF22FunctionKey = 0xF719, NSF23FunctionKey = 0xF71A, NSF24FunctionKey = 0xF71B, NSF25FunctionKey = 0xF71C, NSF26FunctionKey = 0xF71D, NSF27FunctionKey = 0xF71E, NSF28FunctionKey = 0xF71F, NSF29FunctionKey = 0xF720, NSF30FunctionKey = 0xF721, NSF31FunctionKey = 0xF722, NSF32FunctionKey = 0xF723, NSF33FunctionKey = 0xF724, NSF34FunctionKey = 0xF725, NSF35FunctionKey = 0xF726, NSInsertFunctionKey = 0xF727, NSDeleteFunctionKey = 0xF728, NSHomeFunctionKey = 0xF729, NSBeginFunctionKey = 0xF72A, NSEndFunctionKey = 0xF72B, NSPageUpFunctionKey = 0xF72C, NSPageDownFunctionKey = 0xF72D, NSPrintScreenFunctionKey = 0xF72E, NSScrollLockFunctionKey = 0xF72F, NSPauseFunctionKey = 0xF730, NSSysReqFunctionKey = 0xF731, NSBreakFunctionKey = 0xF732, NSResetFunctionKey = 0xF733, NSStopFunctionKey = 0xF734, NSMenuFunctionKey = 0xF735, NSUserFunctionKey = 0xF736, NSSystemFunctionKey = 0xF737, NSPrintFunctionKey = 0xF738, NSClearLineFunctionKey = 0xF739, NSClearDisplayFunctionKey = 0xF73A, NSInsertLineFunctionKey = 0xF73B, NSDeleteLineFunctionKey = 0xF73C, NSInsertCharFunctionKey = 0xF73D, NSDeleteCharFunctionKey = 0xF73E, NSPrevFunctionKey = 0xF73F, NSNextFunctionKey = 0xF740, NSSelectFunctionKey = 0xF741, NSExecuteFunctionKey = 0xF742, NSUndoFunctionKey = 0xF743, NSRedoFunctionKey = 0xF744, NSFindFunctionKey = 0xF745, NSHelpFunctionKey = 0xF746, NSModeSwitchFunctionKey = 0xF747 }; #endif typedef struct { int fd; } Display; typedef int XIC; typedef int XID; typedef void* Window; /* NSView */ typedef int Drawable; typedef struct CGImage* Pixmap; typedef struct CGImage* PixmapMask; typedef int GC; typedef int Font; #ifndef __QUICKDRAWTYPES__ typedef int Cursor; #endif typedef int KeyCode; /* Same as type of wparam */ typedef int KeySym; /* Same as type of wparam */ typedef struct /* Same as definition in X11/X.h */ { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; typedef struct /* Same as definition in X11/X.h */ { unsigned char byte1; unsigned char byte2; } XChar2b; #define UI_FOCUS_IN 1 #define UI_FOCUS_OUT 2 #define UI_BUTTON_PRESS 3 #define UI_BUTTON_RELEASE 4 #define UI_BUTTON_MOTION 5 #define UI_KEY_PRESS 6 #define UI_EXPOSE 7 #define UI_SELECTION_REQUESTED 8 #define UI_CLOSE_WINDOW 9 #define UI_KEY_FOCUS_IN 10 #define UI_SELECTION_NOTIFIED 11 #define UI_POINTER_MOTION 12 typedef struct { int type; } XEvent; typedef struct { int type; unsigned int state; KeySym keysym; const char *utf8; } XKeyEvent; typedef unsigned long Time; /* Same as definition in X11/X.h */ typedef unsigned long Atom; /* Same as definition in X11/X.h */ typedef struct { int type; int time; int x; int y; unsigned int state; unsigned int button; int click_count; } XButtonEvent; typedef struct { int type; int time; int x; int y; unsigned int state; } XMotionEvent; typedef struct { int type; int x; int y; unsigned int width; unsigned int height; int force_expose; } XExposeEvent; typedef struct { int type; void *sender; } XSelectionRequestEvent; typedef struct { int type; char *data; unsigned int len; } XSelectionNotifyEvent; typedef struct { void *cg_font; unsigned int size; int is_italic; } XFontStruct; typedef int XFontSet; /* dummy */ #define None 0L /* Same as definition in X11/X.h */ #define NoSymbol 0L /* Same as definition in X11/X.h */ #define CurrentTime 0L /* Same as definition in X11/X.h */ /* Same as definition in X11/X.h */ #define NoEventMask 0L #define KeyPressMask (1L << 0) #define KeyReleaseMask (1L << 1) #define ButtonPressMask (1L << 2) #define ButtonReleaseMask (1L << 3) #define EnterWindowMask (1L << 4) #define LeaveWindowMask (1L << 5) #define PointerMotionMask (1L << 6) #define PointerMotionHintMask (1L << 7) #define Button1MotionMask (1L << 8) #define Button2MotionMask (1L << 9) #define Button3MotionMask (1L << 10) #define Button4MotionMask (1L << 11) #define Button5MotionMask (1L << 12) #define ButtonMotionMask (1L << 13) #define KeymapStateMask (1L << 14) #define ExposureMask (1L << 15) #define VisibilityChangeMask (1L << 16) #define StructureNotifyMask (1L << 17) #define ResizeRedirectMask (1L << 18) #define SubstructureNotifyMask (1L << 19) #define SubstructureRedirectMask (1L << 20) #define FocusChangeMask (1L << 21) #define PropertyChangeMask (1L << 22) #define ColormapChangeMask (1L << 23) #define OwnerGrabButtonMask (1L << 24) #define ShiftMask NSShiftKeyMask #define LockMask 0 #define ControlMask NSControlKeyMask #define Mod1Mask NSAlternateKeyMask #define Mod2Mask NSCommandKeyMask #define Mod3Mask 0 #define Mod4Mask 0 #define Mod5Mask 0 #define CommandMask NSCommandKeyMask #define Button1Mask NSLeftMouseDownMask #define Button2Mask 0 #define Button3Mask NSRightMouseDownMask #define Button4Mask 0 #define Button5Mask 0 #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace NSDeleteCharacter #define XK_Tab NSTabCharacter #define XK_Clear NSClearDisplayFunctionKey #define XK_Linefeed 0xfffa /* dummy */ #define XK_Return NSCarriageReturnCharacter #define XK_Shift_L 0xfff9 /* dummy */ #define XK_Control_L 0xfff8 /* dummy */ #define XK_Alt_L 0xfff7 /* dummy */ #define XK_Shift_R 0xfff6 /* dummy */ #define XK_Control_R 0xfff5 /* dummy */ #define XK_Alt_R 0xfff4 /* dummy */ #define XK_Meta_L 0xfff3 /* dummy */ #define XK_Meta_R 0xfff2 /* dummy */ #define XK_Pause NSPauseFunctionKey #define XK_Shift_Lock 0xfff1 /* dummy */ #define XK_Caps_Lock 0xfff0 /* dummy */ #define XK_Escape 0x1b #define XK_Prior NSPageUpFunctionKey #define XK_Next NSPageDownFunctionKey #define XK_End NSEndFunctionKey #define XK_Home NSHomeFunctionKey #define XK_Left NSLeftArrowFunctionKey #define XK_Up NSUpArrowFunctionKey #define XK_Right NSRightArrowFunctionKey #define XK_Down NSDownArrowFunctionKey #define XK_Select NSSelectFunctionKey #define XK_Print NSPrintFunctionKey #define XK_Execute NSExecuteFunctionKey #define XK_Insert NSHelpFunctionKey #define XK_Delete NSDeleteFunctionKey #define XK_Help NSHelpFunctionKey #define XK_F1 NSF1FunctionKey #define XK_F2 NSF2FunctionKey #define XK_F3 NSF3FunctionKey #define XK_F4 NSF4FunctionKey #define XK_F5 NSF5FunctionKey #define XK_F6 NSF6FunctionKey #define XK_F7 NSF7FunctionKey #define XK_F8 NSF8FunctionKey #define XK_F9 NSF9FunctionKey #define XK_F10 NSF10FunctionKey #define XK_F11 NSF11FunctionKey #define XK_F12 NSF12FunctionKey #define XK_F13 NSF13FunctionKey #define XK_F14 NSF14FunctionKey #define XK_F15 NSF15FunctionKey #define XK_F16 NSF16FunctionKey #define XK_F17 NSF17FunctionKey #define XK_F18 NSF18FunctionKey #define XK_F19 NSF19FunctionKey #define XK_F20 NSF20FunctionKey #define XK_F21 NSF21FunctionKey #define XK_F22 NSF22FunctionKey #define XK_F23 NSF23FunctionKey #define XK_F24 NSF24FunctionKey #define XK_FMAX XK_F24 #define XK_Num_Lock 0xffef /* dummy */ #define XK_Scroll_Lock NSScrollLockFunctionKey #define XK_Find NSFindFunctionKey #define XK_Menu NSMenuFunctionKey #define XK_Begin NSBeginFunctionKey #define XK_Muhenkan 0xffee /* dummy */ #define XK_Henkan_Mode 0xffed /* dummy */ #define XK_Zenkaku_Hankaku 0xffec /* dummy */ #define XK_KP_Prior 0xffe8 /* dummy */ #define XK_KP_Next 0xffe7 /* dummy */ #define XK_KP_End 0xffe6 /* dummy */ #define XK_KP_Home 0xffe5 /* dummy */ #define XK_KP_Left 0xffe4 /* dummy */ #define XK_KP_Up 0xffe3 /* dummy */ #define XK_KP_Right 0xffe2 /* dummy */ #define XK_KP_Down 0xffe1 /* dummy */ #define XK_KP_Insert 0xffe0 /* dummy */ #define XK_KP_Delete 0xffdf /* dummy */ #define XK_KP_F1 0xffde /* dummy */ #define XK_KP_F2 0xffdd /* dummy */ #define XK_KP_F3 0xffdc /* dummy */ #define XK_KP_F4 0xffdb /* dummy */ #define XK_KP_Begin 0xffda /* dummy */ #define XK_KP_Multiply 0xffd9 /* dummy */ #define XK_KP_Add 0xffd8 /* dummy */ #define XK_KP_Separator 0xffd7 /* dummy */ #define XK_KP_Subtract 0xffd6 /* dummy */ #define XK_KP_Decimal 0xffd5 /* dummy */ #define XK_KP_Divide 0xffd4 /* dummy */ #define XK_KP_0 0xffd3 /* dummy */ #define XK_KP_1 0xffd2 /* dummy */ #define XK_KP_2 0xffd1 /* dummy */ #define XK_KP_3 0xffd0 /* dummy */ #define XK_KP_4 0xffcf /* dummy */ #define XK_KP_5 0xffce /* dummy */ #define XK_KP_6 0xffcd /* dummy */ #define XK_KP_7 0xffcc /* dummy */ #define XK_KP_8 0xffcb /* dummy */ #define XK_KP_9 0xffca /* dummy */ #define IsKeypadKey(ksym) (0) #define IsModifierKey(ksym) (0) #define XK_ISO_Left_Tab NSBackTabCharacter /* XPoint(short x, short y) in Xlib. POINT(float x, float y) in win32. */ #define XPoint NSPoint /* XXX dummy */ #define XKeysymToKeycode(disp, ks) (ks) #define XKeycodeToKeysym(disp, kc, i) (kc) #define XKeysymToString(ks) "" #define DefaultScreen(disp) (0) #define BlackPixel(disp, screen) (0xff000000) #define WhitePixel(disp, screen) (0xffffffff) /* Same as definition in X11/cursorfont.h */ #define XC_xterm 152 #define XC_left_ptr 68 /* Same as definition in X11/Xutil.h */ #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height); KeySym XStringToKeysym(char *str); /* === Platform dependent options === */ #undef UI_COLOR_HAS_RGB #define SUPPORT_TRUE_TRANSPARENT_BG #define TYPE_XCORE_SCALABLE #undef MANAGE_ROOT_WINDOWS_BY_MYSELF #undef MANAGE_SUB_WINDOWS_BY_MYSELF #undef INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #define SUPPORT_POINT_SIZE_FONT #undef XIM_SPOT_IS_LINE_TOP #undef USE_GC #undef CHANGEABLE_CURSOR #undef PLUGIN_MODULE_SUFFIX #undef KEY_REPEAT_BY_MYSELF #undef ROTATABLE_DISPLAY #undef PSEUDO_COLOR_DISPLAY #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #define SUPPORT_URGENT_BELL #define FORCE_UNICODE #undef NEED_DISPLAY_SYNC_EVERY_TIME #undef DRAW_SCREEN_IN_PIXELS #define NO_DRAW_IMAGE_STRING /* libpthread is not linked to mlterm explicitly for now. */ #undef HAVE_PTHREAD #undef COMPOSE_DECSP_FONT #undef USE_REAL_VERTICAL_FONT #endif mlterm-3.8.4/uitoolkit/quartz/cocoa.h010064400017600000144000000056001321054731200163310ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __COCOA_H__ #define __COCOA_H__ #ifdef __UI_WINDOW_H__ /* for NSScroller */ void scroller_update(void *scroller, float pos, float knob); /* for MLTermView */ void view_alloc(ui_window_t *uiwindow); void view_dealloc(void *view); void view_update(void *view, int flag); void view_set_clip(void *view, int x, int y, u_int width, u_int height); void view_unset_clip(void *view); void view_draw_string(void *view, ui_font_t *font, ui_color_t *fg_color, int x, int y, char *str, size_t len); void view_draw_string16(void *view, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, size_t len); void view_fill_with(void *view, ui_color_t *color, int x, int y, u_int width, u_int height); void view_draw_rect_frame(void *view, ui_color_t *color, int x1, int y1, int x2, int y2); void view_copy_area(void *view, Pixmap src, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y); void view_scroll(void *view, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y); void view_bg_color_changed(void *view); void view_visual_bell(void *view); /* for NSView */ void view_set_input_focus(void *view); void view_set_rect(void *view, int x, int y, u_int width, u_int height); void view_set_hidden(void *view, int flag); /* for NSWindow */ void window_alloc(ui_window_t *root); void window_dealloc(void *window); void window_resize(void *window, int width, int height); void window_move_resize(void *window, int x, int y, int width, int height); void window_accepts_mouse_moved_events(void *window, int accept); void window_set_normal_hints(void *window, u_int width_inc, u_int height_inc); void window_get_position(void *window, int *x, int *y); void window_set_title(void *window, const char *title); /* for NSApp */ void app_urgent_bell(int on); /* for NSScroller */ void scroller_update(void *scroller, float pos, float knob); /* for Clipboard */ int cocoa_clipboard_own(void *view); void cocoa_clipboard_set(const u_char *utf8, size_t len); const char *cocoa_clipboard_get(void); void cocoa_beep(void); #endif /* __UI_WINDOW_H__ */ #ifdef __UI_FONT_H__ /* for CGFont */ void *cocoa_create_font(const char *font_family); char *cocoa_get_font_path(void *cg_font); void cocoa_release_font(void *cg_font); u_int cocoa_font_get_advance(void *cg_font, u_int fontsize, int size_attr, u_int16_t *utf16, u_int len, u_int32_t glyph); #endif #ifdef __UI_IMAGELIB_H__ /* for CGImage */ Pixmap cocoa_load_image(const char *path, u_int *width, u_int *height); #endif /* Utility */ int cocoa_add_fd(int fd, void (*handler)(void)); int cocoa_remove_fd(int fd); char *cocoa_dialog_password(const char *msg); int cocoa_dialog_okcancel(const char *msg); int cocoa_dialog_alert(const char *msg); #endif mlterm-3.8.4/uitoolkit/quartz/ui_sb_view_factory.c010064400017600000144000000001021321054731200211120ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ mlterm-3.8.4/uitoolkit/quartz/ui_connect_dialog.c010064400017600000144000000022371321054731200207100ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* Note that protocols except ssh aren't supported if USE_LIBSSH2 is defined. */ #ifdef USE_LIBSSH2 #include "../ui_connect_dialog.h" #include #include /* strdup */ #include /* alloca */ #include "cocoa.h" /* --- global functions --- */ int ui_connect_dialog(char **uri, /* Should be free'ed by those who call this. */ char **pass, /* Same as uri. If pass is not input, "" is set. */ char **exec_cmd, /* Same as uri. If exec_cmd is not input, NULL is set. */ int *x11_fwd, /* in/out */ char *display_name, Window parent_window, char **sv_list, char *def_server /* (@)(:)(:). */ ) { char *msg; if (!(*uri = strdup(def_server))) { return 0; } if ((msg = alloca(19 + strlen(*uri) + 1))) { sprintf(msg, "Enter password for %s", *uri); if ((*pass = cocoa_dialog_password(msg))) { *exec_cmd = NULL; return 1; } } free(*uri); return 0; } #endif mlterm-3.8.4/uitoolkit/quartz/ui_imagelib.c010064400017600000144000000167141321054731200175160ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef NO_IMAGE #include #include "../ui_imagelib.h" #include /* sprintf */ #include /* pow */ #include /* DIGIT_STR_LEN */ #include #include #include /* bl_get_user_rc_path */ #include "cocoa.h" #if 1 #define BUILTIN_SIXEL #endif /* --- static functions --- */ #define CARD_HEAD_SIZE 0 #include "../../common/c_sixel.c" #include "../../common/c_regis.c" #include "../../common/c_animgif.c" static void value_table_refresh(u_char *value_table, /* 256 bytes */ ui_picture_modifier_t *mod) { int i, tmp; double real_gamma, real_brightness, real_contrast; real_gamma = (double)(mod->gamma) / 100; real_contrast = (double)(mod->contrast) / 100; real_brightness = (double)(mod->brightness) / 100; for (i = 0; i < 256; i++) { tmp = real_contrast * (255 * pow(((double)i + 0.5) / 255, real_gamma) - 128) + 128 * real_brightness; if (tmp >= 255) { break; } else if (tmp < 0) { value_table[i] = 0; } else { value_table[i] = tmp; } } for (; i < 256; i++) { value_table[i] = 255; } } static void adjust_pixmap(u_char *image, u_int width, u_int height, ui_picture_modifier_t *pic_mod) { u_char *value_table; u_int y; u_int x; u_char r, g, b, a; u_int32_t pixel; if (!ui_picture_modifier_is_normal(pic_mod) && (value_table = alloca(256))) { value_table_refresh(value_table, pic_mod); } else { return; } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { pixel = *(((u_int32_t *)image) + (y * width + x)); a = (pixel >> 24) & 0xff; r = (pixel >> 16) & 0xff; g = (pixel >> 8) & 0xff; b = pixel & 0xff; r = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; g = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; b = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; pixel = (a << 24) | (r << 16) | (g << 8) | b; *(((u_int32_t *)image) + (y * width + x)) = pixel; } } } static void adjust_cgimage(u_char *image, u_int width, u_int height, ui_picture_modifier_t *pic_mod) { u_char *value_table; u_int y; u_int x; u_char r, g, b; if (!ui_picture_modifier_is_normal(pic_mod) && (value_table = alloca(256))) { value_table_refresh(value_table, pic_mod); } else { return; } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { r = image[0]; g = image[1]; b = image[2]; image[0] = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; image[1] = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; image[2] = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; image += 4; } } } static int check_has_alpha(u_char *image, u_int width, u_int height) { u_int x; u_int y; u_char *p = image + 3; for (y = 0; y < height; y++) { for (x = 0; x < width; x++, p += 4) { if (*p != 0xff) { return 1; } } } return 0; } static int load_file(char *path, /* must be UTF-8 */ u_int *width, u_int *height, ui_picture_modifier_t *pic_mod, Pixmap *pixmap, PixmapMask *mask) { char *suffix; u_char *image; CGImageAlphaInfo info; suffix = path + strlen(path) - 4; #ifdef BUILTIN_SIXEL if (strcasecmp(suffix, ".six") == 0 && *width == 0 && *height == 0 && (image = load_sixel_from_file(path, width, height))) { adjust_pixmap(image, *width, *height, pic_mod); info = check_has_alpha(image, *width, *height) ? kCGImageAlphaPremultipliedLast : kCGImageAlphaNoneSkipLast; CGColorSpaceRef cs = CGColorSpaceCreateDeviceRGB(); CGContextRef ctx = CGBitmapContextCreate(image, *width, *height, 8, *width * 4, cs, info); CGColorSpaceRelease(cs); *pixmap = CGBitmapContextCreateImage(ctx); CGContextRelease(ctx); } else #endif { if (strcmp(suffix, ".gif") == 0) { char *dir; if (!strstr(path, "mlterm/anim") && /* is animation gif */ (dir = bl_get_user_rc_path("mlterm/"))) { split_animation_gif(path, dir, hash_path(path)); free(dir); } } else if (strcasecmp(suffix, ".rgs") == 0) { convert_regis_to_bmp(path); } /* XXX pic_mod is ignored */ if (!(*pixmap = cocoa_load_image(path, width, height))) { return 0; } info = CGImageGetAlphaInfo(*pixmap); if (!ui_picture_modifier_is_normal(pic_mod)) { CGDataProviderRef provider = CGImageGetDataProvider(*pixmap); CFDataRef data = CGDataProviderCopyData(provider); image = (u_char *)CFDataGetBytePtr(data); adjust_cgimage(image, *width, *height, pic_mod); CFDataRef new_data = CFDataCreate(NULL, image, CFDataGetLength(data)); CGDataProviderRef new_provider = CGDataProviderCreateWithCFData(new_data); CGImageRef new_image = CGImageCreate( *width, *height, CGImageGetBitsPerComponent(*pixmap), CGImageGetBitsPerPixel(*pixmap), CGImageGetBytesPerRow(*pixmap), CGImageGetColorSpace(*pixmap), CGImageGetBitmapInfo(*pixmap), new_provider, NULL, CGImageGetShouldInterpolate(*pixmap), CGImageGetRenderingIntent(*pixmap)); CGImageRelease(*pixmap); CFRelease(new_provider); CFRelease(data); CFRelease(new_data); *pixmap = new_image; } } if (info == kCGImageAlphaPremultipliedLast || info == kCGImageAlphaPremultipliedFirst || info == kCGImageAlphaLast || info == kCGImageAlphaFirst) { *mask = 1L; /* dummy */ } return 1; } /* --- global functions --- */ void ui_imagelib_display_opened(Display *display) {} void ui_imagelib_display_closed(Display *display) {} Pixmap ui_imagelib_load_file_for_background(ui_window_t *win, char *path, ui_picture_modifier_t *pic_mod) { Pixmap pixmap; u_int width = 0; u_int height = 0; if (!load_file(path, &width, &height, pic_mod, &pixmap, NULL)) { return None; } CGColorSpaceRef cs = CGImageGetColorSpace(pixmap); CGContextRef ctx = CGBitmapContextCreate( NULL, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), CGImageGetBitsPerComponent(pixmap), CGImageGetBytesPerRow(pixmap), cs, CGImageGetAlphaInfo(pixmap)); CGContextDrawImage(ctx, CGRectMake(0, 0, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)), pixmap); CGImageRelease(pixmap); Pixmap resized = CGBitmapContextCreateImage(ctx); CGContextRelease(ctx); return resized; } int ui_imagelib_root_pixmap_available(Display *display) { return 0; } Pixmap ui_imagelib_get_transparent_background(ui_window_t *win, ui_picture_modifier_t *pic_mod) { return None; } int ui_imagelib_load_file(ui_display_t *disp, char *path, u_int32_t **cardinal, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height) { if (cardinal) { return 0; } if (!load_file(path, width, height, NULL, pixmap, mask)) { return 0; } return 1; } void ui_delete_image(Display *display, Pixmap pixmap) { CGImageRelease(pixmap); } void ui_delete_mask(Display *display, PixmapMask mask /* can be NULL */) {} #endif /* NO_IMAGE */ mlterm-3.8.4/uitoolkit/quartz/ui_scrollbar.c010064400017600000144000000106411321054731200177210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_scrollbar.h" #include #include "cocoa.h" /* --- static functions --- */ static void update_scroller(ui_scrollbar_t *sb) { scroller_update(sb->window.my_window, sb->num_filled_log_lines == 0 ? 1.0 : ((float)(sb->current_row + sb->num_filled_log_lines)) / ((float)sb->num_filled_log_lines), ((float)sb->num_scr_lines) / ((float)(sb->num_filled_log_lines + sb->num_scr_lines))); } /* * callbacks of ui_window_t events. */ static void window_resized(ui_window_t *win) { ui_scrollbar_t *sb; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " scrollbar resized.\n"); #endif sb = (ui_scrollbar_t*)win; sb->num_scr_lines = sb->window.height / sb->line_height; update_scroller(sb); } /* --- global functions --- */ int ui_scrollbar_init(ui_scrollbar_t *sb, ui_scrollbar_event_listener_t *sb_listener, char *view_name, char *fg_color, char *bg_color, u_int height, u_int line_height, u_int num_log_lines, u_int num_filled_log_lines, int use_transbg, ui_picture_modifier_t *pic_mod) { sb->view_name = "simple"; sb->view = NULL; sb->fg_color = NULL; sb->bg_color = NULL; sb->sb_listener = sb_listener; if (!ui_window_init(&sb->window, 10, height, 10, 0, 0, 0, 0, 0, 0, 0)) { return 0; } sb->line_height = line_height; sb->num_scr_lines = height / line_height; sb->num_log_lines = num_log_lines; sb->num_filled_log_lines = num_filled_log_lines; sb->window.window_resized = window_resized; return 1; } void ui_scrollbar_final(ui_scrollbar_t *sb) {} void ui_scrollbar_set_num_log_lines(ui_scrollbar_t *sb, u_int num_log_lines) { if (sb->num_log_lines == num_log_lines) { return; } sb->num_log_lines = num_log_lines; if (sb->num_filled_log_lines > sb->num_log_lines) { sb->num_filled_log_lines = sb->num_log_lines; } update_scroller(sb); } void ui_scrollbar_set_num_filled_log_lines(ui_scrollbar_t *sb, u_int lines) { if (lines > sb->num_log_lines) { lines = sb->num_log_lines; } if (sb->num_filled_log_lines == lines) { return; } sb->num_filled_log_lines = lines; update_scroller(sb); } int ui_scrollbar_line_is_added(ui_scrollbar_t *sb) { if ((*sb->sb_listener->screen_is_static)(sb->sb_listener->self)) { if (sb->num_filled_log_lines < sb->num_log_lines) { sb->num_filled_log_lines++; } sb->current_row--; } else if (sb->num_filled_log_lines == sb->num_log_lines) { return 0; } else { sb->num_filled_log_lines++; } update_scroller(sb); return 1; } void ui_scrollbar_reset(ui_scrollbar_t *sb) { sb->current_row = 0; update_scroller(sb); } int ui_scrollbar_move_upward(ui_scrollbar_t *sb, u_int size) { /* * XXX Adhoc solution * Fix ui_screen.c:bs_{half_}page_{up|down}ward() instead. */ if (sb->current_row + sb->num_filled_log_lines == 0) { return 0; } return ui_scrollbar_move(sb, sb->current_row - size); } int ui_scrollbar_move_downward(ui_scrollbar_t *sb, u_int size) { if (sb->current_row >= 0) { return 0; } return ui_scrollbar_move(sb, sb->current_row + size); } int ui_scrollbar_move(ui_scrollbar_t *sb, int row) { if (0 < row) { row = 0; } else if (row + (int)sb->num_filled_log_lines < 0) { row = -(sb->num_filled_log_lines); } if (sb->current_row == row) { return 0; } sb->current_row = row; update_scroller(sb); return 1; } int ui_scrollbar_set_line_height(ui_scrollbar_t *sb, u_int line_height) { if (sb->line_height == line_height) { return 0; } sb->line_height = line_height; return 1; } int ui_scrollbar_set_fg_color(ui_scrollbar_t *sb, char *fg_color) { return 1; } int ui_scrollbar_set_bg_color(ui_scrollbar_t *sb, char *bg_color) { return 1; } int ui_scrollbar_change_view(ui_scrollbar_t *sb, char *name) { return 1; } int ui_scrollbar_set_transparent(ui_scrollbar_t *sb, ui_picture_modifier_t *pic_mod, int force) { return 1; } int ui_scrollbar_unset_transparent(ui_scrollbar_t *sb) { return 1; } void ui_scrollbar_is_moved(ui_scrollbar_t *sb, float pos) { sb->current_row = sb->num_filled_log_lines * pos - sb->num_filled_log_lines; if (sb->sb_listener->screen_scroll_to) { (*sb->sb_listener->screen_scroll_to)(sb->sb_listener->self, sb->current_row); } } mlterm-3.8.4/uitoolkit/quartz/ui_event_source.c010064400017600000144000000006751321054731200204450ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_event_source.h" #include "cocoa.h" /* --- global functions --- */ void ui_event_source_init(void) {} void ui_event_source_final(void) {} int ui_event_source_process(void) { return 1; } int ui_event_source_add_fd(int fd, void (*handler)(void)) { cocoa_add_fd(fd, handler); return 1; } void ui_event_source_remove_fd(int fd) { cocoa_remove_fd(fd); } mlterm-3.8.4/uitoolkit/quartz/ui_scrollbar.h010064400017600000144000000003341321054731200177240ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_SCROLLBAR_H__ #define ___UI_SCROLLBAR_H__ #include "../ui_scrollbar.h" void ui_scrollbar_is_moved(ui_scrollbar_t *sb, float pos); #endifmlterm-3.8.4/uitoolkit/quartz/ui_window.h010064400017600000144000000002211321054731200172430ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_window.h" int ui_window_clear_margin_area(ui_window_t *win); mlterm-3.8.4/uitoolkit/quartz/ui_display.h010064400017600000144000000003331321054731200174050ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include "../ui_display.h" Cursor ui_display_get_cursor(ui_display_t *disp, u_int shape); #endif mlterm-3.8.4/uitoolkit/quartz/ui_font.c010064400017600000144000000262061321054731200167100ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include "../ui_font.h" #include #include /* memset/strncasecmp */ #include #include /* bl_snprintf */ #include /* alloca */ #include /* bl_str_to_int */ #include #include #include /* ui_convert_to_xft_ucs4 */ #ifdef USE_OT_LAYOUT #include #endif #include "cocoa.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static int use_point_size; /* --- static functions --- */ static int parse_font_name( char **font_family, double *font_size, /* if size is not specified in font_name, not changed. */ int *is_bold, /* if bold is not specified in font_name, not changed. */ int *is_italic, /* if italic is not specified in font_name, not changed. */ u_int *percent, /* if percent is not specified in font_name , not changed. */ char *font_name /* modified by this function. */ ) { char *p; size_t len; /* * Format. * [Family]( [WEIGHT] [SLANT] [SIZE]:[Percentage]) */ *font_family = font_name; if ((p = strrchr(font_name, ':'))) { /* Parsing ":[Percentage]" */ if (bl_str_to_uint(percent, p + 1)) { *p = '\0'; } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " Percentage(%s) is illegal.\n", p + 1); } #endif } /* * Parsing "[Family] [WEIGHT] [SLANT] [SIZE]". * Following is the same as ui_font.c:parse_xft_font_name() * except FW_* and is_italic. */ #if 0 bl_debug_printf("Parsing %s for [Family] [Weight] [Slant]\n", *font_family); #endif p = bl_str_chop_spaces(*font_family); len = strlen(p); while (len > 0) { size_t step = 0; if (*p == ' ') { char *orig_p; orig_p = p; do { p++; len--; } while (*p == ' '); if (len == 0) { *orig_p = '\0'; break; } else { int count; /* * XXX * "medium" is necessary because GTK font selection dialog (mlconfig) * returns "Osaka medium" */ char *styles[] = { "italic", "bold", "medium", "oblique", "light", "semi-bold", "heavy", "semi-condensed", }; for (count = 0; count < sizeof(styles) / sizeof(styles[0]); count++) { size_t len_v; len_v = strlen(styles[count]); /* XXX strncasecmp is not portable? */ if (len >= len_v && strncasecmp(p, styles[count], len_v) == 0) { /* [WEIGHT] [SLANT] */ *orig_p = '\0'; step = len_v; if (count <= 1) { if (count == 0) { *is_italic = 1; } else { *is_bold = 1; } } goto next_char; } } if (*p != '0' || /* In case of "DevLys 010" font family. */ *(p + 1) == '\0') /* "MS Gothic 0" => "MS Gothic" + "0" */ { char *end; double size; size = strtod(p, &end); if (*end == '\0') { /* p has no more parameters. */ *orig_p = '\0'; if (size > 0) { *font_size = size; } break; } } step = 1; } } else { step = 1; } next_char: p += step; len -= step; } return 1; } /* --- global functions --- */ void ui_compose_dec_special_font(void) { /* Do nothing for now in quartz. */ } /* Undocumented */ bool CGFontGetGlyphsForUnichars(CGFontRef, u_int16_t[], CGGlyph[], size_t); ui_font_t *ui_font_new(Display *display, vt_font_t id, int size_attr, ui_type_engine_t type_engine, ui_font_present_t font_present, const char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold, u_int letter_space /* Ignored for now. */ ) { ui_font_t *font; char *font_family; u_int percent; u_int cols; if (type_engine != TYPE_XCORE || (font = calloc(1, sizeof(ui_font_t) + sizeof(XFontStruct))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } font->xfont = font + 1; font->display = display; font->id = id; if (font->id & FONT_FULLWIDTH) { cols = 2; } else { cols = 1; } if (IS_ISCII(FONT_CS(font->id)) || FONT_CS(font->id) == ISO10646_UCS4_1_V) { /* * For exampe, 'W' width and 'l' width of OR-TTSarala font for ISCII_ORIYA * are the same by chance, though it is actually a proportional font. */ font->is_var_col_width = font->is_proportional = 1; } else if (font_present & FONT_VAR_WIDTH) { font->is_var_col_width = 1; } if (font_present & FONT_VERTICAL) { font->is_vertical = 1; } font_family = NULL; percent = 0; if (fontname) { char *p; if ((p = bl_str_alloca_dup(fontname)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif free(font); return NULL; } double fontsize_d = 0; int is_bold = 0; int is_italic = 0; parse_font_name(&font_family, &fontsize_d, &is_bold, &is_italic, &percent, p); if (fontsize_d > 0.0) { fontsize = fontsize_d; } if (is_bold) { font->double_draw_gap = 1; } if (is_italic) { font->xfont->is_italic = 1; } } else { /* Default font */ font_family = "Menlo"; } if (font->id & FONT_BOLD) { font->double_draw_gap = 1; } if (font->id & FONT_ITALIC) { font->xfont->is_italic = 1; } while (!(font->xfont->cg_font = cocoa_create_font(font_family))) { bl_warn_printf("%s font is not found.\n", font_family); if (col_width == 0 && strcmp(font_family, "Menlo") != 0) { /* * standard(usascii) font * Fall back to default font. */ font_family = "Menlo"; } else { free(font); return NULL; } } #if 0 bl_debug_printf("%d %d %d %d %d %d\n", CGFontGetAscent(font->xfont->cg_font), CGFontGetDescent(font->xfont->cg_font), CGFontGetLeading(font->xfont->cg_font), CGFontGetCapHeight(font->xfont->cg_font), CGFontGetXHeight(font->xfont->cg_font), CGFontGetUnitsPerEm(font->xfont->cg_font)); #endif font->xfont->size = fontsize; int ascent = CGFontGetAscent(font->xfont->cg_font); int descent = CGFontGetDescent(font->xfont->cg_font); /* minus value */ int units = CGFontGetUnitsPerEm(font->xfont->cg_font); font->height = ((float)fontsize * (ascent - descent)) / ((float)units) + 0.5; font->ascent = (font->height * ascent) / (ascent - descent); CGGlyph glyphs[1]; u_int16_t ch = 'M'; int advance; CGFontGetGlyphsForUnichars(font->xfont->cg_font, &ch, glyphs, 1); CGFontGetGlyphAdvances(font->xfont->cg_font, glyphs, 1, &advance); fontsize = ((float)fontsize * advance * 2) / ((float)units) + 0.5; /* * Following processing is same as ui_font.c:set_xfont() */ font->x_off = 0; if (col_width == 0) { /* standard(usascii) font */ if (percent > 0) { u_int ch_width; if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width = font->height * percent / 100; } else { ch_width = font->height * percent / 200; } font->width = ch_width; } else if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ font->width = fontsize; font->x_off += (fontsize / 4); } else { font->width = fontsize * cols / 2; } font->width += letter_space; } else { /* not a standard(usascii) font */ if (font->is_vertical) { font->width = col_width; } else { font->width = col_width * cols; } } font->decsp_font = NULL; if (size_attr) { font->width *= 2; font->x_off *= 2; if (size_attr >= DOUBLE_HEIGHT_TOP) { font->height *= 2; font->ascent *= 2; } } font->size_attr = size_attr; #ifdef DEBUG ui_font_dump(font); #endif return font; } void ui_font_delete(ui_font_t *font) { #ifdef USE_OT_LAYOUT if (font->ot_font) { otl_close(font->ot_font); } #endif cocoa_release_font(font->xfont->cg_font); free(font); } #ifdef USE_OT_LAYOUT int ui_font_has_ot_layout_table(ui_font_t *font) { if (!font->ot_font) { #ifdef USE_HARFBUZZ if (font->ot_font_not_found) { return 0; } font->ot_font = otl_open(font->xfont->cg_font, 0); #else char *path; if (font->ot_font_not_found || !(path = cocoa_get_font_path(font->xfont->cg_font))) { return 0; } font->ot_font = otl_open(path, 0); free(path); #endif if (!font->ot_font) { font->ot_font_not_found = 1; return 0; } } return 1; } u_int ui_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { return otl_convert_text_to_glyphs(font->ot_font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features, font->xfont->size * (font->size_attr >= DOUBLE_WIDTH ? 2 : 1)); } #endif /* USE_OT_LAYOUT */ u_int ui_calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs, int *draw_alone) { if (draw_alone) { *draw_alone = 0; } if (font->is_proportional) { #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { return cocoa_font_get_advance(font->xfont->cg_font, font->xfont->size, font->size_attr, NULL, 0, ch); } else #endif { u_int16_t utf16[2]; u_int len; if ((len = ui_convert_ucs4_to_utf16(utf16, ch) / 2) > 0) { return cocoa_font_get_advance(font->xfont->cg_font, font->xfont->size, font->size_attr, utf16, len, 0); } else { return 0; } } } return font->width; } void ui_font_use_point_size(int use) { use_point_size = use; } /* Return written size */ size_t ui_convert_ucs4_to_utf16(u_char *dst, /* 4 bytes. Little endian. */ u_int32_t src) { if (src < 0x10000) { dst[1] = (src >> 8) & 0xff; dst[0] = src & 0xff; return 2; } else if (src < 0x110000) { /* surrogate pair */ u_char c; src -= 0x10000; c = (u_char)(src / (0x100 * 0x400)); src -= (c * 0x100 * 0x400); dst[1] = c + 0xd8; c = (u_char)(src / 0x400); src -= (c * 0x400); dst[0] = c; c = (u_char)(src / 0x100); src -= (c * 0x100); dst[3] = c + 0xdc; dst[2] = (u_char)src; return 4; } return 0; } #ifdef DEBUG void ui_font_dump(ui_font_t *font) { bl_msg_printf(" id %x: Font %p", font->id, font->xfont->cg_font); if (font->is_proportional) { bl_msg_printf(" (proportional)"); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/uitoolkit/quartz/ui_display.c010064400017600000144000000112501321054731200174000ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_display.h" #include /* sprintf */ #include /* memset/memcpy */ #include /* getenv */ #include /* USE_WIN32API */ #include #include #include #include #include "ui.h" #include "../ui_window.h" #include "../ui_picture.h" #include "cocoa.h" #define DISP_IS_INITED (_disp.display) #if 0 #define __DEBUG #endif /* --- static variables --- */ static ui_display_t _disp; /* Singleton */ static Display _display; static ui_display_t *opened_disp = &_disp; /* --- static functions --- */ static int dialog_cb(bl_dialog_style_t style, const char *msg) { if (style == BL_DIALOG_OKCANCEL) { return cocoa_dialog_okcancel(msg); } else if (style == BL_DIALOG_ALERT) { return cocoa_dialog_alert(msg); } else { return -1; } } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, /* Ignored */ u_int depth /* Ignored */ ) { if (DISP_IS_INITED) { /* Already opened. */ return &_disp; } /* Callback should be set before bl_dialog() is called. */ bl_dialog_set_callback(dialog_cb); /* _disp.width and _disp.height are set in viewDidMoveToWindow */ _disp.depth = 32; if (!(_disp.name = getenv("DISPLAY"))) { _disp.name = ":0.0"; } /* _disp is initialized successfully. */ _display.fd = -1; _disp.display = &_display; return &_disp; } void ui_display_close(ui_display_t *disp) { if (disp == &_disp) { ui_display_close_all(); } } void ui_display_close_all(void) { u_int count; if (!DISP_IS_INITED) { return; } ui_picture_display_closed(_disp.display); ui_gc_delete(_disp.gc); for (count = 0; count < _disp.num_roots; count++) { ui_window_unmap(_disp.roots[count]); ui_window_final(_disp.roots[count]); } free(_disp.roots); _disp.display = NULL; } ui_display_t **ui_get_opened_displays(u_int *num) { if (!DISP_IS_INITED) { *num = 0; return NULL; } *num = 1; return &opened_disp; } int ui_display_fd(ui_display_t *disp) { return disp->display->fd; } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window /* Ignored */ ) { void *p; if ((p = realloc(disp->roots, sizeof(ui_window_t*) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; root->parent_window = disp->my_window; root->gc = disp->gc; root->x = x; root->y = y; if (app_name) { root->app_name = app_name; } disp->roots[disp->num_roots++] = root; if (ui_window_show(root, hint)) { if (disp->num_roots > 1) { window_alloc(root); } return 1; } else { return 0; } } int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { ui_window_unmap(root); ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; } else { disp->roots[count] = disp->roots[disp->num_roots]; } return 1; } } return 0; } void ui_display_idling(ui_display_t *disp) { u_int count; for (count = 0; count < _disp.num_roots; count++) { ui_window_idling(_disp.roots[count]); } } /* * * 0: Receive WM_QUIT * 1: Receive other messages. */ int ui_display_receive_next_event(ui_display_t *disp) { return 1; } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { if (disp->selection_owner) { ui_display_clear_selection(disp, disp->selection_owner); } disp->selection_owner = win; return 1; } int ui_display_clear_selection(ui_display_t *disp, ui_window_t *win) { if (disp->selection_owner == NULL || disp->selection_owner != win) { return 0; } if (disp->selection_owner->selection_cleared) { (*disp->selection_owner->selection_cleared)(disp->selection_owner); } disp->selection_owner = NULL; return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) { /* dummy */ } Cursor ui_display_get_cursor(ui_display_t *disp, u_int shape) { return None; } XID ui_display_get_group_leader(ui_display_t *disp) { return None; } mlterm-3.8.4/uitoolkit/quartz/cocoa.m010064400017600000144000001354561321054731200163530ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #import #include "ui_window.h" #include "ui_scrollbar.h" #include #include /* bl_getuid/bl_getgid */ #include #include /* bl_file_set_cloexec */ #include /* bl_compare_str */ #include #include #include "../ui_screen_manager.h" #include "../ui_layout.h" #include "../ui_selection_encoding.h" @interface MLTermView : NSView { ui_window_t *uiwindow; CGContextRef ctx; int forceExpose; /* 2 = visual bell */ BOOL ignoreKeyDown; NSString *markedText; int currentShiftMask; NSRange markedRange; NSRange selectedRange; int cand_x; int cand_y; } - (void)drawString:(ui_font_t *)font :(ui_color_t *)fg_color :(int)x :(int)y :(u_char *)str :(size_t)len; - (void)drawString16:(ui_font_t *)font :(ui_color_t *)fg_color :(int)x :(int)y :(XChar2b *)str :(size_t)len; - (void)fillWith:(ui_color_t *)color:(int)x:(int)y:(u_int)width:(u_int)height; - (void)drawRectFrame:(ui_color_t *)color:(int)x1:(int)y1:(int)x2:(int)y2; - (void)copyArea:(Pixmap)src :(int)src_x :(int)src_y :(u_int)width :(u_int)height :(int)dst_x :(int)dst_y; #if 0 - (void)scroll:(int)src_x:(int)src_y:(u_int)width:(u_int)height:(int)dst_x:(int)dst_y; #endif - (void)setClip:(int)x:(int)y:(u_int)width:(u_int)height; - (void)unsetClip; - (void)update:(int)flag; - (void)bgColorChanged; @end @interface MLSecureTextField : NSSecureTextField @end /* --- static variables --- */ static struct { int fd; void (*handler)(void); } * additional_fds; static u_int num_additional_fds; static ui_window_t *uiwindow_for_mlterm_view; static NSMenuItem *configMenuItem; static NSMenuItem *pasteMenuItem; char *global_args; /* --- static functions --- */ #define set_fill_color(color) \ CGContextSetRGBFillColor(ctx, (((color)->pixel >> 16) & 0xff) / 255.0, \ (((color)->pixel >> 8) & 0xff) / 255.0, \ ((color)->pixel & 0xff) / 255.0, 1.0); #define IS_OPAQUE \ ((uiwindow->bg_color.pixel & 0xff000000) == 0xff000000 || \ ui_window_has_wall_picture(uiwindow)) static void exit_program(void) { /* This function is called twice from willClose() and monitor_pty() */ static int exited; if (!exited) { exited = 1; #ifdef DEBUG main_loop_final(); bl_alloca_garbage_collect(); bl_mem_free_all(); bl_dl_close_all(); #endif [[NSApplication sharedApplication] terminate:nil]; } } static void monitor_pty(void) { #if 0 /* normal user (Don't call before NSApplicationMain()) */ bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); #endif dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ static int ret; static fd_set read_fds; static int maxfd; static int is_cont_read; for (;;) { dispatch_sync(dispatch_get_main_queue(), ^{ vt_close_dead_terms(); vt_term_t **terms; u_int num_terms = vt_get_all_terms(&terms); int count; int ptyfd; if (ret > 0) { for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd < 0) { (*additional_fds[count].handler)(); } } for (count = 0; count < num_terms; count++) { if ((ptyfd = vt_term_get_master_fd(terms[count])) >= 0 && FD_ISSET(ptyfd, &read_fds)) { vt_term_parse_vt100_sequence(terms[count]); } } if (++is_cont_read >= 2) { [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; } } else if (ret == 0) { ui_display_idling(NULL); is_cont_read = 0; } FD_ZERO(&read_fds); maxfd = -1; for (count = 0; count < num_terms; count++) { if ((ptyfd = vt_term_get_master_fd(terms[count])) >= 0) { FD_SET(ptyfd, &read_fds); if (ptyfd > maxfd) { maxfd = ptyfd; } } } for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd >= 0) { FD_SET(additional_fds[count].fd, &read_fds); if (additional_fds[count].fd > maxfd) { maxfd = additional_fds[count].fd; } } } }); struct timeval tval; tval.tv_usec = 100000; /* 0.1 sec */ tval.tv_sec = 0; if (maxfd == -1 || (ret = select(maxfd + 1, &read_fds, NULL, NULL, &tval)) < 0) { dispatch_sync(dispatch_get_main_queue(), ^{ exit_program(); }); break; } } }); } /* Undocumented */ bool CGFontGetGlyphsForUnichars(CGFontRef, unichar[], CGGlyph[], size_t); static void drawUnistr(CGContextRef ctx, ui_font_t *font, unichar *str, u_int len, int x, int y) { CGGlyph glyphs_buf[len]; CGGlyph *glyphs; #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->otf */) { glyphs = str; } else #endif { glyphs = memset(glyphs_buf, 0, sizeof(CGGlyph) * len); CGFontGetGlyphsForUnichars(font->xfont->cg_font, str, glyphs_buf, len); for (; len > 0 && glyphs[len - 1] == 0; len--) ; } CGContextSetFont(ctx, font->xfont->cg_font); CGAffineTransform t; if (font->xfont->is_italic) { CGFloat f = -tanf(-12.0 * acosf(0) / 90); t = CGAffineTransformMake(1.0, 0.0, f, 1.0, -y * f, 0.0); } else { t = CGAffineTransformIdentity; } u_int width = font->width; u_int fontsize = font->xfont->size; switch (font->size_attr) { case DOUBLE_WIDTH: width /= 2; x = (x + 1) / 2; t = CGAffineTransformScale(t, 2.0, 1.0); break; case DOUBLE_HEIGHT_TOP: case DOUBLE_HEIGHT_BOTTOM: fontsize *= 2; break; } CGContextSetTextMatrix(ctx, t); CGPoint points[len]; if (font->is_proportional) { int advances[len]; if (!CGFontGetGlyphAdvances(font->xfont->cg_font, glyphs, len, advances)) { return; } int units = CGFontGetUnitsPerEm(font->xfont->cg_font); int cur_x = x; u_int count; for (count = 0; count < len; count++) { points[count] = CGPointMake(cur_x, y); if (advances[count] > 0) { cur_x += (advances[count] * fontsize / units); } } } else { u_int count; x += font->x_off; for (count = 0; count < len; count++) { points[count] = CGPointMake((x + width * count), y); } } CGContextSetFontSize(ctx, fontsize); CGContextShowGlyphsAtPositions(ctx, glyphs, points, len); if (font->double_draw_gap) { int gap = font->double_draw_gap; font->double_draw_gap = 0; drawUnistr(ctx, font, str, len, x + font->double_draw_gap, y); font->double_draw_gap = gap; } } static void (*orig_draw_preedit_str)(void *, vt_char_t *, u_int, int); static void dummy_draw_preedit_str(void *p, vt_char_t *chars, u_int num_chars, int cursor_offset) { /* Don't set ui_screen_t::is_preediting = 0. */ } static void update_ime_text(ui_window_t *uiwindow, const char *preedit_text, const char *cur_preedit_text) { vt_term_t *term = ((ui_screen_t *)uiwindow)->term; vt_term_set_config(term, "use_local_echo", "false"); if (orig_draw_preedit_str) { ((ui_screen_t*)uiwindow)->im_listener.draw_preedit_str = orig_draw_preedit_str; orig_draw_preedit_str = NULL; ((ui_screen_t*)uiwindow)->is_preediting = 0; } ef_parser_t *utf8_parser; if (!(utf8_parser = ui_get_selection_parser(1))) { return; } (*utf8_parser->init)(utf8_parser); if (*preedit_text == '\0') { preedit_text = NULL; } else { if (bl_compare_str(preedit_text, cur_preedit_text) == 0) { return; } /* Hide cursor */ orig_draw_preedit_str = ((ui_screen_t*)uiwindow)->im_listener.draw_preedit_str; ((ui_screen_t*)uiwindow)->im_listener.draw_preedit_str = dummy_draw_preedit_str; ((ui_screen_t*)uiwindow)->is_preediting = 1; vt_term_parse_vt100_sequence(term); vt_term_set_config(term, "use_local_echo", "true"); (*utf8_parser->set_str)(utf8_parser, preedit_text, strlen(preedit_text)); u_char buf[128]; size_t len; while (!utf8_parser->is_eos && (len = vt_term_convert_to(term, buf, sizeof(buf), utf8_parser)) > 0) { vt_term_preedit(term, buf, len); } } ui_window_update(uiwindow, 3); /* UPDATE_SCREEN|UPDATE_CURSOR */ } static void remove_all_observers(ui_window_t *uiwindow) { u_int count; for (count = 0; count < uiwindow->num_children; count++) { [[NSNotificationCenter defaultCenter] removeObserver:uiwindow->children[count]->my_window]; remove_all_observers(uiwindow->children[count]); } } static NSAlert *create_dialog(const char *msg, int has_cancel) { NSAlert *alert = [[NSAlert alloc] init]; [alert autorelease]; NSString *ns_msg = [NSString stringWithCString:msg encoding:NSUTF8StringEncoding]; [alert setMessageText:ns_msg]; [alert addButtonWithTitle:@"OK"]; /* First */ if (has_cancel) { [alert addButtonWithTitle:@"Cancel"]; /* Second */ } return alert; } /* --- class --- */ int cocoa_dialog_alert(const char *msg); @implementation MLTermView - (id)initWithFrame:(NSRect)frame { if (uiwindow_for_mlterm_view) { uiwindow = uiwindow_for_mlterm_view; } else { if (global_args) { char *args = bl_str_alloca_dup(global_args); if (args) { ui_mlclient(args, NULL); } } else { char args[] = "mlclient"; ui_mlclient(args, NULL); } ui_screen_t **screens; u_int num = ui_get_all_screens(&screens); if (num == 0) { cocoa_dialog_alert("Failed to open screen"); exit(1); } uiwindow = &screens[num - 1]->window; } uiwindow->my_window = (NSView *)self; forceExpose = 1; [super initWithFrame:frame]; [self registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, nil]]; ignoreKeyDown = FALSE; markedText = nil; markedRange = NSMakeRange(NSNotFound, 0); selectedRange = NSMakeRange(NSNotFound, 0); if (uiwindow_for_mlterm_view) { uiwindow_for_mlterm_view = NULL; } if (!configMenuItem) { monitor_pty(); #if 1 [NSEvent addLocalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent *event) { switch (event.keyCode) { case 0x66: /* Eisu */ case 0x68: /* Kana */ ignoreKeyDown = TRUE; } [event.window.firstResponder keyDown:event]; return (NSEvent *)nil; }]; #endif /* for mlconfig */ setenv("PANGO_LIBDIR", [[[NSBundle mainBundle] bundlePath] UTF8String], 1); NSMenu *appmenu = [[NSMenu alloc] initWithTitle:@""]; configMenuItem = [appmenu addItemWithTitle:@"Config" action:@selector(configMenu:) keyEquivalent:@"C"]; pasteMenuItem = [appmenu addItemWithTitle:@"Paste" action:@selector(pasteMenu:) keyEquivalent:@"P"]; [configMenuItem setTarget:self]; [pasteMenuItem setTarget:self]; NSMenu *menu = [[NSMenu alloc] initWithTitle:@""]; [[menu addItemWithTitle:@"" action:nil keyEquivalent:@""] setSubmenu:appmenu]; [[NSApplication sharedApplication] setMainMenu:menu]; } return self; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; } - (void)configMenu:(id)sender { /* if by any change */ if (((ui_screen_t *)uiwindow)->term) { ui_screen_exec_cmd((ui_screen_t *)uiwindow, "mlconfig"); } } - (void)pasteMenu:(id)sender { /* if by any change */ if (((ui_screen_t *)uiwindow)->term) { ui_screen_exec_cmd((ui_screen_t *)uiwindow, "paste"); } } static void reset_position(ui_window_t *uiwindow) { u_int count; for (count = 0; count < uiwindow->num_children; count++) { ui_window_t *child = uiwindow->children[count]; [((NSView *)child->my_window) setFrame:NSMakeRect(child->x, ((int)ACTUAL_HEIGHT(uiwindow)) - ((int)ACTUAL_HEIGHT(child)) - child->y, ACTUAL_WIDTH(child), ACTUAL_HEIGHT(child))]; reset_position(child); } } - (void)resized:(NSNotification *)note { if (!uiwindow->parent || !((ui_screen_t *)uiwindow)->term) { /* It has been already removed from ui_layout or term has been detached. */ return; } uiwindow->parent->width = ((NSView *)[self window].contentView).frame.size.width - uiwindow->parent->hmargin * 2; uiwindow->parent->height = ((NSView *)[self window].contentView).frame.size.height - uiwindow->parent->vmargin * 2; (*uiwindow->parent->window_resized)(uiwindow->parent); reset_position(uiwindow->parent); } - (void)viewDidMoveToWindow { if ([self window] == nil) { /* just before being deallocated */ return; } struct terminal *term = ((ui_screen_t *)uiwindow)->screen_scroll_listener->self; if (!uiwindow->parent->my_window) { [[self window] orderOut:self]; if (uiwindow->event_mask & PointerMotionMask) { [self window].acceptsMouseMovedEvents = YES; } } [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(resized:) name:NSViewFrameDidChangeNotification object:[self window].contentView]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(focused:) name:NSWindowDidBecomeMainNotification object:[self window]]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(unfocused:) name:NSWindowDidResignMainNotification object:[self window]]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willClose:) name:NSWindowWillCloseNotification object:[self window]]; int diff_x = [self window].frame.size.width - self.frame.size.width; int diff_y = [self window].frame.size.height - self.frame.size.height; u_int sb_width = [NSScroller scrollerWidth]; int y = ACTUAL_HEIGHT(uiwindow->parent) - ACTUAL_HEIGHT(uiwindow) - uiwindow->y; /* Change view size */ self.frame = CGRectMake(uiwindow->x, y, ACTUAL_WIDTH(uiwindow), ACTUAL_HEIGHT(uiwindow)); /* Creating scrollbar */ CGRect r = CGRectMake(term->scrollbar.window.x, y, sb_width, ACTUAL_HEIGHT(uiwindow)); NSScroller *scroller = [[NSScroller alloc] initWithFrame:r]; [scroller setEnabled:YES]; [scroller setTarget:self]; [scroller setAction:@selector(scrollerAction:)]; #if 1 [scroller setFloatValue:0.0 knobProportion:1.0]; /* Deprecated since 10.6 */ #else scroller.knobProportion = 1.0; scroller.doubleValue = 0.0; #endif #if 0 [scroller setArrowsPosition:NSScrollerArrowsMaxEnd]; #endif [[self window].contentView addSubview:scroller]; term->scrollbar.window.my_window = (NSView *)scroller; if (term->sb_mode != SBM_NONE) { uiwindow->parent->width = uiwindow->parent->width + sb_width - term->scrollbar.window.width; } else { [scroller setHidden:YES]; } term->scrollbar.window.width = sb_width; /* Change window size */ if (!uiwindow->parent->my_window) { [[self window] useOptimizedDrawing:YES]; uiwindow->parent->my_window = [self window]; r = [self window].frame; r.size.width = ACTUAL_WIDTH(uiwindow->parent) + diff_x; float new_height = ACTUAL_HEIGHT(uiwindow->parent) + diff_y; r.origin.y += (r.size.height - new_height); r.size.height = new_height; [[self window] setResizeIncrements:NSMakeSize(uiwindow->width_inc, uiwindow->height_inc)]; [[self window] setFrame:r display:NO]; if (!IS_OPAQUE) { [self bgColorChanged]; } [[self window] makeKeyAndOrderFront:self]; /* * Adjust by uiwindow->parent->{x,y} after [window setFrame:r] above adjusted * window position. */ if (uiwindow->parent->x > 0 || uiwindow->parent->y > 0) { r = [self window].frame; r.origin.x += uiwindow->parent->x; r.origin.y -= uiwindow->parent->y; [[self window] setFrame:r display:NO]; } } NSRect sr = [[[self window] screen] visibleFrame]; uiwindow->disp->width = sr.size.width; uiwindow->disp->height = sr.size.height; /* Adjust scroller position */ [scroller setFrameOrigin:NSMakePoint(term->scrollbar.window.x, y)]; } - (void)scrollerAction:(id)sender { struct terminal *term = ((ui_screen_t *)uiwindow)->screen_scroll_listener->self; ui_scrollbar_t *sb = &term->scrollbar; float pos = [sender floatValue]; switch ([sender hitPart]) { case NSScrollerKnob: case NSScrollerKnobSlot: ui_scrollbar_is_moved(sb, pos); break; case NSScrollerDecrementLine: ui_scrollbar_move_upward(sb, 1); (sb->sb_listener->screen_scroll_downward)(sb->sb_listener->self, 1); break; case NSScrollerDecrementPage: ui_scrollbar_move_upward(sb, 10); (sb->sb_listener->screen_scroll_downward)(sb->sb_listener->self, 10); break; case NSScrollerIncrementLine: ui_scrollbar_move_downward(sb, 1); (sb->sb_listener->screen_scroll_upward)(sb->sb_listener->self, 1); break; case NSScrollerIncrementPage: ui_scrollbar_move_downward(sb, 10); (sb->sb_listener->screen_scroll_upward)(sb->sb_listener->self, 10); break; case NSScrollerNoPart: break; } } - (void)drawRect:(NSRect)rect { if (!uiwindow->parent || !((ui_screen_t *)uiwindow)->term) { /* It has been already removed from ui_layout or term has been detached. */ return; } XExposeEvent ev; ctx = [[NSGraphicsContext currentContext] graphicsPort]; #if 0 CGAffineTransform t = CGContextGetCTM(ctx); bl_debug_printf("%f %f %f %f %f %f\n", t.a, t.b, t.c, t.d, t.tx, t.ty); #endif if (forceExpose & 2) { [self fillWith:&uiwindow->fg_color :uiwindow->hmargin :uiwindow->vmargin :uiwindow->width :uiwindow->height]; CGContextFlush(ctx); [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; forceExpose = 1; uiwindow->update_window_flag = 0; } ev.type = UI_EXPOSE; ev.x = rect.origin.x; ev.width = rect.size.width; ev.height = rect.size.height; ev.y = ACTUAL_HEIGHT(uiwindow) - rect.origin.y - ev.height; ev.force_expose = forceExpose; ui_window_receive_event(uiwindow, (XEvent *)&ev); forceExpose = 0; uiwindow->update_window_flag = 0; } - (BOOL)isOpaque { return IS_OPAQUE ? YES : NO; } - (BOOL)wantsDefaultClipping { return IS_OPAQUE ? YES : NO; } static ui_window_t *get_current_window(ui_window_t *win) { u_int count; if (win->inputtable > 0) { return win; } for (count = 0; count < win->num_children; count++) { ui_window_t *hit; if ((hit = get_current_window(win->children[count]))) { return hit; } } return NULL; } - (void)focused:(NSNotification *)note { if (!uiwindow->parent || !((ui_screen_t *)uiwindow)->term) { /* It has been already removed from ui_layout or term has been detached. */ return; } XEvent ev; ev.type = UI_FOCUS_IN; ui_window_receive_event(ui_get_root_window(uiwindow), &ev); ui_window_t *focused; if ((focused = get_current_window(ui_get_root_window(uiwindow)))) { [configMenuItem setTarget:focused->my_window]; [pasteMenuItem setTarget:focused->my_window]; } } - (void)unfocused:(NSNotification *)note { if (!uiwindow->parent || !((ui_screen_t *)uiwindow)->term) { /* It has been already removed from ui_layout or term has been detached. */ return; } XEvent ev; ev.type = UI_FOCUS_OUT; ui_window_receive_event(ui_get_root_window(uiwindow), &ev); } - (BOOL)acceptsFirstResponder { return YES; } - (BOOL)becomeFirstResponder { XEvent ev; ev.type = UI_KEY_FOCUS_IN; ui_window_receive_event(uiwindow, &ev); [configMenuItem setTarget:uiwindow->my_window]; [pasteMenuItem setTarget:uiwindow->my_window]; return YES; } - (void)willClose:(NSNotification *)note { if (ui_get_all_screens(NULL) == 0) { [[NSNotificationCenter defaultCenter] removeObserver:self]; return; } ui_window_t *root = ui_get_root_window(uiwindow); if (root->num_children == 0) { /* * This function can be called if root->num_children == 0 * by window_dealloc() in ui_window.c. */ return; } remove_all_observers(root); XEvent ev; ev.type = UI_CLOSE_WINDOW; ui_window_receive_event(root, &ev); ui_close_dead_screens(); if (ui_get_all_screens(NULL) == 0) { exit_program(); } } - (void)mouseDown:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XButtonEvent bev; bev.type = UI_BUTTON_PRESS; bev.time = event.timestamp * 1000; bev.x = loc.x - self.frame.origin.x; bev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y - */ 1; bev.state = event.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask); if (event.type == NSLeftMouseDown) { bev.button = 1; } else { bev.button = 3; } bev.click_count = event.clickCount; ui_window_receive_event(uiwindow, (XEvent *)&bev); } - (void)mouseUp:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XButtonEvent bev; bev.type = UI_BUTTON_RELEASE; bev.time = event.timestamp * 1000; bev.x = loc.x - self.frame.origin.x; bev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y - */ 1; bev.state = event.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask); if (event.type == NSLeftMouseUp) { bev.button = 1; } else { bev.button = 3; } ui_window_receive_event(uiwindow, (XEvent *)&bev); } - (void)rightMouseUp:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XButtonEvent bev; bev.type = UI_BUTTON_RELEASE; bev.time = event.timestamp * 1000; bev.x = loc.x - self.frame.origin.x; bev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y - */ 1; bev.state = event.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask); bev.button = 3; ui_window_receive_event(uiwindow, (XEvent *)&bev); } - (NSMenu *)menuForEvent:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XButtonEvent bev; bev.type = UI_BUTTON_PRESS; bev.time = event.timestamp * 1000; bev.x = loc.x - self.frame.origin.x; bev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y - */ 1; bev.state = event.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask); bev.button = 3; bev.click_count = event.clickCount; ui_window_receive_event(uiwindow, (XEvent *)&bev); return (NSMenu *)nil; } - (void)mouseDragged:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XMotionEvent mev; mev.type = UI_BUTTON_MOTION; mev.time = event.timestamp * 1000; mev.x = loc.x - self.frame.origin.x; mev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y */ -1; if (event.type == NSLeftMouseDragged) { mev.state = Button1Mask; } else { mev.state = Button3Mask; } ui_window_receive_event(uiwindow, (XEvent *)&mev); } - (void)rightMouseDragged:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XMotionEvent mev; mev.type = UI_BUTTON_MOTION; mev.time = event.timestamp * 1000; mev.x = loc.x - self.frame.origin.x; mev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y */ -1; mev.state = Button3Mask; ui_window_receive_event(uiwindow, (XEvent *)&mev); } - (void)mouseMoved:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XMotionEvent mev; mev.type = UI_POINTER_MOTION; mev.time = event.timestamp * 1000; mev.x = loc.x - self.frame.origin.x; mev.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y */ -1; mev.state = 0; ui_window_receive_event(uiwindow, (XEvent *)&mev); } - (void)scrollWheel:(NSEvent *)event { NSPoint loc = [event locationInWindow]; XButtonEvent bevPress; XButtonEvent bevRelease; bevPress.type = UI_BUTTON_PRESS; bevRelease.type = UI_BUTTON_RELEASE; bevPress.time = event.timestamp * 1000; bevRelease.time = (event.timestamp * 1000) + 1; bevPress.x = loc.x - self.frame.origin.x; bevRelease.x = loc.x - self.frame.origin.x; bevPress.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y - */ 1; bevRelease.y = ACTUAL_HEIGHT(uiwindow->parent) - loc.y - /* self.frame.origin.y - */ 1; bevPress.state = event.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask); bevRelease.state = event.modifierFlags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask); bevPress.click_count = 1; if (event.deltaY > 1) { bevPress.button = 4; bevRelease.button = 4; } if (event.deltaY < -1) { bevPress.button = 5; bevRelease.button = 5; } if (event.deltaY < -1 || event.deltaY > 1) { ui_window_receive_event(uiwindow, (XEvent *)&bevPress); ui_window_receive_event(uiwindow, (XEvent *)&bevRelease); } } - (void)keyDown:(NSEvent *)event { if ([event type] == NSFlagsChanged) { return; } u_int flags = event.modifierFlags; /* ShiftMask is not set without this. (see insertText()) */ currentShiftMask = flags & NSShiftKeyMask; NSString *oldMarkedText = markedText; /* Alt+x isn't interpreted unless preediting. */ if (markedText || !(flags & NSAlternateKeyMask) || (flags & NSControlKeyMask)) { [self interpretKeyEvents:[NSArray arrayWithObject:event]]; } if (ignoreKeyDown) { ignoreKeyDown = FALSE; } else if (!oldMarkedText && !markedText) { XKeyEvent kev; kev.type = UI_KEY_PRESS; kev.state = flags & (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask); if (kev.state & NSControlKeyMask) { kev.keysym = [[event charactersIgnoringModifiers] characterAtIndex:0]; kev.utf8 = [event characters].UTF8String; } else if (kev.state & NSAlternateKeyMask) { kev.keysym = [[event charactersIgnoringModifiers] characterAtIndex:0]; kev.utf8 = NULL; } else { kev.keysym = [[event characters] characterAtIndex:0]; kev.utf8 = [event characters].UTF8String; } if ((kev.state & NSShiftKeyMask) && 'A' <= kev.keysym && kev.keysym <= 'Z') { kev.keysym += 0x20; } ui_window_receive_event(uiwindow, (XEvent *)&kev); } } #if 0 - (BOOL)_wantsKeyDownForEvent:(id)event { return YES; } #endif - (void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSString *)type { /* * If this view exits with owning pasteboard, this method is called * after ui_screen_t::term is deleted. */ if (((ui_screen_t *)uiwindow)->term) { XSelectionRequestEvent ev; ev.type = UI_SELECTION_REQUESTED; ev.sender = sender; ui_window_receive_event(uiwindow, (XEvent *)&ev); } } - (NSDragOperation)draggingEntered:(id)sender { NSPasteboard *pboard = [sender draggingPasteboard]; NSDragOperation sourceMask = [sender draggingSourceOperationMask]; if ([[pboard types] containsObject:NSFilenamesPboardType]) { if (sourceMask & NSDragOperationLink) { return NSDragOperationLink; } else if (sourceMask & NSDragOperationCopy) { return NSDragOperationCopy; } } return NSDragOperationNone; } - (BOOL)performDragOperation:(id)sender { NSPasteboard *pboard = [sender draggingPasteboard]; if ([[pboard types] containsObject:NSFilenamesPboardType]) { NSArray *files = [pboard propertyListForType:NSFilenamesPboardType]; int count; XSelectionNotifyEvent ev; ev.type = UI_SELECTION_NOTIFIED; for (count = 0; count < [files count]; count++) { ev.data = [[files objectAtIndex:count] UTF8String]; ev.len = strlen(ev.data); ui_window_receive_event(uiwindow, (XEvent *)&ev); } } return YES; } - (NSUInteger)characterIndexForPoint:(NSPoint)point { return 0; } - (NSRect)firstRectForCharacterRange:(NSRange)range actualRange:(NSRangePointer)actualRange { int x = cand_x + uiwindow->x + uiwindow->hmargin; int y = ACTUAL_HEIGHT(uiwindow->parent) - (cand_y + uiwindow->y + uiwindow->vmargin); if (vt_term_get_vertical_mode(((ui_screen_t*)uiwindow)->term)) { /* * XXX Adjust candidate window position. * * +-+-+------ * | |1|ABCDE * * <-->^ * 25 x */ x += 25; } NSRect r = NSMakeRect(x, y, ui_col_width((ui_screen_t *)uiwindow), ui_line_height((ui_screen_t *)uiwindow)); r.origin = [[self window] convertBaseToScreen:r.origin]; return r; } - (NSArray *)validAttributesForMarkedText { return nil; } - (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)range actualRange:(NSRangePointer) actualRange { return nil; } - (BOOL)hasMarkedText { if (markedText) { return YES; } else { return NO; } } - (NSRange)markedRange { return markedRange; } - (NSRange)selectedRange { return selectedRange; } - (void)unmarkText { [markedText release]; markedText = nil; update_ime_text(uiwindow, "", NULL); } - (void)setMarkedText:(id)string selectedRange:(NSRange)selected replacementRange:(NSRange)replacement { if ([string isKindOfClass:[NSAttributedString class]]) { string = [string string]; } selectedRange = selected; if ([string length] > 0) { char *p; if (!(p = alloca(strlen([string UTF8String]) + 10))) { return; } *p = '\0'; if (selectedRange.location > 0) { strcpy(p, [[string substringWithRange: NSMakeRange(0, selectedRange.location)] UTF8String]); } if (selectedRange.length > 0) { sprintf(p + strlen(p), "\x1b[7m%s\x1b[27m", [[string substringWithRange:selectedRange] UTF8String]); } if (selectedRange.location + selectedRange.length < [string length]) { strcat(p, [[string substringWithRange: NSMakeRange( selectedRange.location + selectedRange.length, [string length] - selectedRange.location - selectedRange.length)] UTF8String]); } if (!markedText) { if (!uiwindow->xim_listener || !(*uiwindow->xim_listener->get_spot)(uiwindow->xim_listener->self, &cand_x, &cand_y)) { cand_x = cand_y = 0; } } update_ime_text(uiwindow, p, markedText ? markedText.UTF8String : NULL); } else if (markedText) { update_ime_text(uiwindow, "", markedText.UTF8String); } if (markedText) { [markedText release]; markedText = nil; } if ([string length] > 0) { markedText = [string copy]; markedRange = NSMakeRange(0, [string length]); } else { markedRange = NSMakeRange(NSNotFound, 0); } } - (void)doCommandBySelector:(SEL)selector { } - (void)insertText:(id)string replacementRange:(NSRange)replacementRange { [self unmarkText]; if ([string length] > 0) { XKeyEvent kev; kev.type = UI_KEY_PRESS; kev.state = currentShiftMask; kev.keysym = 0; kev.utf8 = [string UTF8String]; ui_window_receive_event(uiwindow, (XEvent *)&kev); ignoreKeyDown = TRUE; } } - (void)drawString:(ui_font_t *)font :(ui_color_t *)fg_color :(int)x :(int)y :(u_char *)str :(size_t)len { set_fill_color(fg_color); #if 0 u_char *p = alloca(len + 1); memcpy(p, str, len); p[len] = '\0'; bl_debug_printf("%d %d %s %x\n", x, y, p, p[len - 1]); #endif #if 0 CGContextSelectFont(ctx, "Menlo", 1, kCGEncodingMacRoman); CGContextShowTextAtPoint(ctx, x, ACTUAL_HEIGHT(uiwindow) - y - 1, str, len); #else unichar ustr[len]; int count; for (count = 0; count < len; count++) { ustr[count] = str[count]; } drawUnistr(ctx, font, ustr, len, x, ACTUAL_HEIGHT(uiwindow) - y - 1); #endif } - (void)drawString16:(ui_font_t *)font :(ui_color_t *)fg_color :(int)x :(int)y :(XChar2b *)str :(size_t)len { set_fill_color(fg_color); drawUnistr(ctx, font, (unichar *)str, len, x, ACTUAL_HEIGHT(uiwindow) - y - 1); } - (void)fillWith:(ui_color_t *)color:(int)x:(int)y:(u_int)width:(u_int)height { #if 0 static int count = 0; color->pixel += (0x10 * (count++)); #endif if (IS_OPAQUE) { set_fill_color(color); CGRect rect = CGRectMake(x, ACTUAL_HEIGHT(uiwindow) - y - height, width, height); CGContextAddRect(ctx, rect); CGContextFillPath(ctx); } else { [[NSColor colorWithDeviceRed:((color->pixel >> 16) & 0xff) / 255.0 green:((color->pixel >> 8) & 0xff) / 255.0 blue:(color->pixel & 0xff) / 255.0 alpha:((color->pixel >> 24) & 0xff) / 255.0] set]; NSRectFillUsingOperation( NSMakeRect(x, ACTUAL_HEIGHT(uiwindow) - y - height, width, height), NSCompositeCopy); } } - (void)drawRectFrame:(ui_color_t *)color:(int)x1:(int)y1:(int)x2:(int)y2 { set_fill_color(color); CGRect rect = CGRectMake(x1, ACTUAL_HEIGHT(uiwindow) - y2 - 1, 1, y2 - y1); CGContextAddRect(ctx, rect); rect = CGRectMake(x1, ACTUAL_HEIGHT(uiwindow) - y2 - 1, x2 - x1, 1); CGContextAddRect(ctx, rect); rect = CGRectMake(x2, ACTUAL_HEIGHT(uiwindow) - y2 - 1, 1, y2 - y1); CGContextAddRect(ctx, rect); rect = CGRectMake(x1, ACTUAL_HEIGHT(uiwindow) - y1 - 1, x2 - x1 + 1, 1); CGContextAddRect(ctx, rect); CGContextFillPath(ctx); } - (void)copyArea:(Pixmap)src :(int)src_x :(int)src_y :(u_int)width :(u_int)height :(int)dst_x :(int)dst_y { CGImageRef clipped = CGImageCreateWithImageInRect( src, CGRectMake(src_x, src_y, width, height)); CGContextDrawImage( ctx, CGRectMake(dst_x, ACTUAL_HEIGHT(uiwindow) - dst_y - height, width, height), clipped); CGImageRelease(clipped); } #if 0 - (void)scroll:(int)src_x:(int)src_y:(u_int)width:(u_int)height:(int)dst_x:(int)dst_y { CGContextFlush(ctx); /* Don't release this CGImage */ NSRect src_r = NSMakeRect(src_x, ACTUAL_HEIGHT(uiwindow) - src_y - height, width, height); NSBitmapImageRep *bir = [self bitmapImageRepForCachingDisplayInRect:src_r]; [self cacheDisplayInRect:src_r toBitmapImageRep:bir]; CGImageRef image = bir.CGImage; CGRect dst_r = CGRectMake(dst_x, ACTUAL_HEIGHT(uiwindow) - dst_y - height, width, height); CGContextDrawImage(ctx, dst_r, image); static int i; if (i == 0) { CFURLRef url = [NSURL fileURLWithPath:@"/Users/ken/kallist/log.png"]; CGImageDestinationRef dest = CGImageDestinationCreateWithURL( url, kUTTypePNG, 1, NULL); CGImageDestinationAddImage(dest, image, nil); CGImageDestinationFinalize(dest); CFRelease( dest); i++; } else if (i == 1) { NSImage * nsimage = [[[NSImage alloc]initWithSize:src_r.size] autorelease]; [nsimage addRepresentation:bir]; [[nsimage TIFFRepresentation] writeToFile:@"/Users/ken/kallist/log.tiff" atomically:YES]; i++; } } #endif - (void)update:(int)flag { forceExpose |= flag; if (IS_OPAQUE || forceExpose) { [self setNeedsDisplay:YES]; } else { int x; int y; if (!uiwindow->xim_listener || !(*uiwindow->xim_listener->get_spot)(uiwindow->xim_listener->self, &x, &y)) { x = y = 0; } x += (uiwindow->hmargin); y += (uiwindow->vmargin); [self setNeedsDisplayInRect:NSMakeRect(x, ACTUAL_HEIGHT(uiwindow) - y, 1, 1)]; } } - (void)setClip:(int)x:(int)y:(u_int)width:(u_int)height { CGContextSaveGState(ctx); y = ACTUAL_HEIGHT(uiwindow) - y; CGContextBeginPath(ctx); CGContextMoveToPoint(ctx, x, y); CGContextAddLineToPoint(ctx, x + width, y); CGContextAddLineToPoint(ctx, x + width, y - height); CGContextAddLineToPoint(ctx, x, y - height); CGContextClosePath(ctx); CGContextClip(ctx); } - (void)unsetClip { CGContextRestoreGState(ctx); } - (void)bgColorChanged { if (IS_OPAQUE) { [[self window] setBackgroundColor:[NSColor whiteColor]]; [[self window] setOpaque:YES]; } else { [[self window] setBackgroundColor:[NSColor clearColor]]; [[self window] setOpaque:NO]; } } @end @implementation MLSecureTextField - (void)viewDidMoveToWindow { [super viewDidMoveToWindow]; [self becomeFirstResponder]; } @end /* --- global functions --- */ void view_alloc(ui_window_t *uiwindow) { uiwindow_for_mlterm_view = uiwindow; MLTermView *view = [[MLTermView alloc] initWithFrame:NSMakeRect(0, 0, 400, 400)]; [((NSWindow *)uiwindow->parent->my_window).contentView addSubview:view]; [view release]; } void view_dealloc(NSView *view) { /* view is also released by this. */ [view removeFromSuperviewWithoutNeedingDisplay]; } void view_update(MLTermView *view, int flag) { [view update:flag]; } void view_set_clip(MLTermView *view, int x, int y, u_int width, u_int height) { [view setClip:x:y:width:height]; } void view_unset_clip(MLTermView *view) { [view unsetClip]; } void view_draw_string(MLTermView *view, ui_font_t *font, ui_color_t *fg_color, int x, int y, char *str, size_t len) { [view drawString:font:fg_color:x:y:str:len]; } void view_draw_string16(MLTermView *view, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, size_t len) { [view drawString16:font:fg_color:x:y:str:len]; } void view_fill_with(MLTermView *view, ui_color_t *color, int x, int y, u_int width, u_int height) { [view fillWith:color:x:y:width:height]; } void view_draw_rect_frame(MLTermView *view, ui_color_t *color, int x1, int y1, int x2, int y2) { [view drawRectFrame:color:x1:y1:x2:y2]; } void view_copy_area(MLTermView *view, Pixmap src, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y) { [view copyArea:src:src_x:src_y:width:height:dst_x:dst_y]; } void view_scroll(MLTermView *view, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y) { #if 0 [view scroll:src_x:src_y:width:height:dst_x:dst_y]; #endif } void view_bg_color_changed(MLTermView *view) { [view bgColorChanged]; } void view_visual_bell(MLTermView *view) { [view update:2]; } void view_set_input_focus(NSView *view) { [[view window] makeFirstResponder:view]; } void view_set_rect(NSView *view, int x, int y, /* The origin is left-botom. */ u_int width, u_int height) { #if 0 /* Scrollbar position is corrupt in spliting screen vertically. */ [view setFrame:NSMakeRect(x,y,width,height)]; #else [view setFrameSize:NSMakeSize(width, height)]; [view setFrameOrigin:NSMakePoint(x, y)]; #endif } void view_set_hidden(NSView *view, int flag) { [view setHidden:flag]; } void window_alloc(ui_window_t *root) { uiwindow_for_mlterm_view = root->children[1]; NSNib *nib = [[NSNib alloc] initWithNibNamed:@"Main" bundle:nil]; [nib instantiateNibWithOwner:nil topLevelObjects:nil]; [nib release]; } void window_dealloc(NSWindow *window) { [window release]; } void window_resize(NSWindow *window, int width, int height) { CGRect wr = window.frame; CGSize vs = ((NSView *)window.contentView).frame.size; int diff_x = wr.size.width - vs.width; int diff_y = wr.size.height - vs.height; wr.origin.y += (vs.height - height); wr.size.width = width + diff_x; wr.size.height = height + diff_y; [window setFrame:wr display:YES]; } void window_move_resize(NSWindow *window, int x, int y, int width, int height) { CGRect wr = window.frame; CGSize vs = ((NSView *)window.contentView).frame.size; int diff_x = wr.size.width - vs.width; int diff_y = wr.size.height - vs.height; wr.origin.y = [[window screen] visibleFrame].size.height - y - height; wr.origin.x = x; wr.size.width = width + diff_x; wr.size.height = height + diff_y; [window setFrame:wr display:YES]; } void window_accepts_mouse_moved_events(NSWindow *window, int accept) { window.acceptsMouseMovedEvents = (accept ? YES : NO); } void window_set_normal_hints(NSWindow *window, u_int width_inc, u_int height_inc) { [window setResizeIncrements:NSMakeSize(width_inc, height_inc)]; } void window_get_position(NSWindow *window, int *x, int *y) { *x = window.frame.origin.x; *y = [[window screen] visibleFrame].size.height - window.frame.origin.y - [window.contentView frame].size.height; } void window_set_title(NSWindow *window, const char *title /* utf8 */) { NSString *ns_title = [NSString stringWithCString:title encoding:NSUTF8StringEncoding]; [window setTitle:ns_title]; } void app_urgent_bell(int on) { if (on) { [[NSApplication sharedApplication] requestUserAttention:NSCriticalRequest]; } else { [[NSApplication sharedApplication] cancelUserAttentionRequest:NSCriticalRequest]; } } void scroller_update(NSScroller *scroller, float pos, float knob) { #if 1 [scroller setFloatValue:pos knobProportion:knob]; /* Deprecated since 10.6 */ #else scroller.knobProportion = knob; scroller.doubleValue = pos; #endif } CGFontRef cocoa_create_font(const char *font_family) { NSString *ns_font_family = [NSString stringWithCString:font_family encoding:NSUTF8StringEncoding]; return CGFontCreateWithFontName(ns_font_family); } #ifdef USE_OT_LAYOUT char *cocoa_get_font_path(CGFontRef cg_font) { CTFontDescriptorRef desc = CTFontDescriptorCreateWithNameAndSize(CGFontCopyFullName(cg_font), 14); CFURLRef url = (CFURLRef)CTFontDescriptorCopyAttribute(desc, kCTFontURLAttribute); const char *urlstr = [((NSString *)CFURLGetString(url))UTF8String]; if (strncmp(urlstr, "file://localhost", 16) == 0) { urlstr += 16; } char *path = strdup(urlstr); CFRelease(url); CFRelease(desc); return path; } #endif /* USE_OT_LAYOUT */ void cocoa_release_font(CGFontRef cg_font) { CFRelease(cg_font); } u_int cocoa_font_get_advance(CGFontRef cg_font, u_int fontsize, int size_attr, unichar *utf16, u_int len, CGGlyph glyph) { if (utf16) { CGFontGetGlyphsForUnichars(cg_font, &utf16, &glyph, 1); } int advance; if (!CGFontGetGlyphAdvances(cg_font, &glyph, 1, &advance) || advance < 0) { return 0; } if (size_attr >= DOUBLE_HEIGHT_TOP) { fontsize *= 2; } return advance * fontsize / CGFontGetUnitsPerEm(cg_font); } int cocoa_clipboard_own(MLTermView *view) { NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; [pasteboard declareTypes:[NSArray arrayWithObject:NSPasteboardTypeString] owner:view]; return 1; } void cocoa_clipboard_set(const u_char *utf8, size_t len) { NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; NSString *str = [[NSString alloc] initWithBytes:utf8 length:len encoding:NSUTF8StringEncoding]; [pasteboard setString:str forType:NSPasteboardTypeString]; [str release]; } const char *cocoa_clipboard_get(void) { NSPasteboard *pasteboard = [NSPasteboard generalPasteboard]; NSString *available; available = [pasteboard availableTypeFromArray:[NSArray arrayWithObject:NSPasteboardTypeString]]; if ([available isEqualToString:NSPasteboardTypeString]) { NSString *str = [pasteboard stringForType:NSPasteboardTypeString]; if (str != nil) { return [str UTF8String]; } } return NULL; } void cocoa_beep(void) { NSBeep(); } CGImageRef cocoa_load_image(const char *path, u_int *width, u_int *height) { NSString *nspath = [NSString stringWithCString:path encoding:NSUTF8StringEncoding]; NSImage *nsimg = [[NSImage alloc] initWithContentsOfFile:nspath]; if (!nsimg) { return nil; } CGImageRef cgimg = [nsimg CGImageForProposedRect:NULL context:nil hints:nil]; CGImageRetain(cgimg); *width = nsimg.size.width; *height = nsimg.size.height; [nsimg release]; return cgimg; } /* * fd >= 0 -> Normal file descriptor. handler is invoked if fd is ready. * fd < 0 -> Special ID. handler is invoked at interval of 0.1 sec. */ int cocoa_add_fd(int fd, void (*handler)(void)) { void *p; if (!handler) { return 0; } if ((p = realloc(additional_fds, sizeof(*additional_fds) * (num_additional_fds + 1))) == NULL) { return 0; } additional_fds = p; additional_fds[num_additional_fds].fd = fd; additional_fds[num_additional_fds++].handler = handler; if (fd >= 0) { bl_file_set_cloexec(fd); } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %d is added to additional fds.\n", fd); #endif return 1; } int cocoa_remove_fd(int fd) { u_int count; for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd == fd) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Additional fd %d is removed.\n", fd); #endif additional_fds[count] = additional_fds[--num_additional_fds]; return 1; } } return 0; } const char *cocoa_get_bundle_path(void) { return [[[NSBundle mainBundle] bundlePath] UTF8String]; } char *cocoa_dialog_password(const char *msg) { NSAlert *alert = create_dialog(msg, 1); NSTextField *text = [[MLSecureTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 20)]; [text autorelease]; [alert setAccessoryView:text]; if ([alert runModal] == NSAlertFirstButtonReturn) { return strdup([[text stringValue] UTF8String]); } else { return NULL; } } int cocoa_dialog_okcancel(const char *msg) { NSAlert *alert = create_dialog(msg, 1); if ([alert runModal] == NSAlertFirstButtonReturn) { return 1; } else { return 0; } } int cocoa_dialog_alert(const char *msg) { NSAlert *alert = create_dialog(msg, 0); if ([alert runModal] == NSAlertFirstButtonReturn) { return 1; } else { return 0; } } mlterm-3.8.4/uitoolkit/quartz/ui_im_status_screen-cocoa.m010064400017600000144000000121231321054731200223760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #import #include "../ui_im_status_screen.h" #ifdef USE_IM_PLUGIN #include #include /* --- static functions --- */ /* * methods of ui_im_status_screen_t */ static int delete (ui_im_status_screen_t* stat_screen) { NSWindow* window = stat_screen->window.my_window; [window release]; free(stat_screen); return 1; } static int show(ui_im_status_screen_t* stat_screen) { NSWindow* window = stat_screen->window.my_window; [window orderFront:window]; return 1; } static int hide(ui_im_status_screen_t* stat_screen) { NSWindow* window = stat_screen->window.my_window; [window orderOut:window]; return 1; } static int set_spot(ui_im_status_screen_t* stat_screen, int x, int y) { NSWindow* window = stat_screen->window.my_window; [window setFrameOrigin:NSMakePoint(x, [[window screen] visibleFrame].size.height - [window.contentView frame].size.height - y)]; stat_screen->x = x; stat_screen->y = y; return 1; } static int set(ui_im_status_screen_t* stat_screen, ef_parser_t* parser, u_char* str) { size_t len; u_char* utf8; ef_char_t ch; u_int count; len = strlen(str); (*parser->init)(parser); (*parser->set_str)(parser, str, len); for (count = 0; (*parser->next_char)(parser, &ch); count++) ; if (!(utf8 = alloca(count * UTF_MAX_SIZE + 1))) { return 0; } (*parser->init)(parser); (*parser->set_str)(parser, str, len); len = vt_char_encoding_convert_with_parser(utf8, count * UTF_MAX_SIZE, VT_UTF8, parser); utf8[len] = '\0'; NSWindow* window = stat_screen->window.my_window; NSTextField* label = window.contentView; label.stringValue = [NSString stringWithCString:utf8 encoding:NSUTF8StringEncoding]; [label sizeToFit]; [window setContentSize:label.frame.size]; /* XXX (see ui_im_status_screen_new()) */ if (stat_screen->filled_len == 1) { [window orderFront:window]; set_spot(stat_screen, stat_screen->x, stat_screen->y); stat_screen->filled_len = 0; } return 1; } /* --- global functions --- */ ui_im_status_screen_t* ui_im_status_screen_new(ui_display_t* disp, ui_font_manager_t* font_man, ui_color_manager_t* color_man, void *vtparser, int is_vertical, u_int line_height, int x, int y) { ui_im_status_screen_t* stat_screen; if ((stat_screen = calloc(1, sizeof(ui_im_status_screen_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } stat_screen->font_man = font_man; stat_screen->color_man = color_man; stat_screen->vtparser = vtparser; stat_screen->x = x; stat_screen->y = y; stat_screen->line_height = line_height; stat_screen->is_vertical = is_vertical; NSWindow* window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 100, 0, 0) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]; [window setLevel:NSStatusWindowLevel]; NSTextField* label = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 10, 10)]; label.drawsBackground = YES; [label setEditable:NO]; [label setSelectable:NO]; ui_color_t* fg = ui_get_xcolor(stat_screen->color_man, VT_FG_COLOR); ui_color_t* bg = ui_get_xcolor(stat_screen->color_man, VT_BG_COLOR); [label setTextColor:[NSColor colorWithCalibratedRed:((fg->pixel >> 16) & 0xff) / 255.0 green:((fg->pixel >> 8) & 0xff) / 255.0 blue:(fg->pixel & 0xff) / 255.0 alpha:1.0]]; [label setBackgroundColor: [NSColor colorWithCalibratedRed:((bg->pixel >> 16) & 0xff) / 255.0 green:((bg->pixel >> 8) & 0xff) / 255.0 blue:(bg->pixel & 0xff) / 255.0 alpha:1.0]]; [window setContentView:label]; stat_screen->window.my_window = window; /* methods of ui_im_status_screen_t */ stat_screen->delete = delete; stat_screen->show = show; stat_screen->hide = hide; stat_screen->set_spot = set_spot; stat_screen->set = set; /* XXX (see set()) */ stat_screen->filled_len = 1; return stat_screen; } #else /* ! USE_IM_PLUGIN */ ui_im_status_screen_t* ui_im_status_screen_new(ui_display_t* disp, ui_font_manager_t* font_man, ui_color_manager_t* color_man, int is_vertical, u_int line_height, int x, int y) { return NULL; } #endif mlterm-3.8.4/uitoolkit/quartz/ui_dnd.c010064400017600000144000000006671321054731200165120ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef DISABLE_XDND #include "../ui_window.h" #include "../ui_dnd.h" /* --- global functions --- */ /* * XFilterEvent(event, w) analogue. * return 0 if the event should be processed in the mlterm mail loop. * return 1 if nothing to be done is left for the event. */ int ui_dnd_filter_event(XEvent *event, ui_window_t *win) { return 0; } #endif /* DISABLE_XDND */ mlterm-3.8.4/uitoolkit/quartz/ui_gc.c012075500017600000144000000000001321054731200203542../fb/ui_gc.custar kenusersmlterm-3.8.4/uitoolkit/quartz/ui_window.c010064400017600000144000001005741321054731200172520ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_window.h" #include /* abs */ #include /* memset/memcpy */ #include #include /* realloc/free */ #include /* K_MIN/K_MAX */ #include "../ui_xic.h" #include "../ui_picture.h" #include "../ui_imagelib.h" #ifndef DISABLE_XDND #include "../ui_dnd.h" #endif #include "ui_display.h" /* ui_display_get_cursor */ #include "cocoa.h" /* win->width is not multiples of (win)->width_inc if window is maximized. */ #define RIGHT_MARGIN(win) \ ((win)->width_inc ? ((win)->width - (win)->min_width) % (win)->width_inc : 0) #define BOTTOM_MARGIN(win) \ ((win)->height_inc ? ((win)->height - (win)->min_height) % (win)->height_inc : 0) #define ParentRelative (1L) #define IS_XSCREEN(win) ((win)->selection_cleared) #define IS_XLAYOUT(win) ((win)->child_window_resized) #if 0 #define DEBUG_SCROLLABLE #endif #if 0 #define __DEBUG #endif /* --- static variables --- */ static int click_interval = 250; /* millisecond, same as xterm. */ static int use_urgent_bell; /* --- static functions --- */ static void urgent_bell(ui_window_t *win, int on) { if (use_urgent_bell && (!win->is_focused || !on)) { win = ui_get_root_window(win); app_urgent_bell(on); } } static void notify_focus_in_to_children(ui_window_t *win) { u_int count; if (!win->is_focused) { if (win->inputtable > 0 || win->parent == NULL) /* check_scrollable checks root->is_focused */ { win->is_focused = 1; } if (win->inputtable > 0) { ui_xic_set_focus(win); if (win->window_focused) { (*win->window_focused)(win); } } } for (count = 0; count < win->num_children; count++) { notify_focus_in_to_children(win->children[count]); } } static void notify_focus_out_to_children(ui_window_t *win) { u_int count; if (win->is_focused) { win->is_focused = 0; ui_xic_unset_focus(win); if (win->window_unfocused) { (*win->window_unfocused)(win); } } for (count = 0; count < win->num_children; count++) { notify_focus_out_to_children(win->children[count]); } } static void notify_move_to_children(ui_window_t *win) { int count; for (count = 0; count < win->num_children; count++) { notify_move_to_children(win->children[count]); } } static u_int total_min_width(ui_window_t *win) { int count; u_int min_width; min_width = win->min_width + win->hmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_width += total_min_width(win->children[count]); } } return min_width; } static u_int total_min_height(ui_window_t *win) { int count; u_int min_height; min_height = win->min_height + win->vmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_height += total_min_height(win->children[count]); } } return min_height; } static u_int total_width_inc(ui_window_t *win) { int count; u_int width_inc; width_inc = win->width_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_width_inc(win->children[count])) > width_inc) { width_inc = sub_inc; } } } return width_inc; } static u_int total_height_inc(ui_window_t *win) { int count; u_int height_inc; height_inc = win->height_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_height_inc(win->children[count])) > height_inc) { height_inc = sub_inc; } } } return height_inc; } static void reset_input_focus(ui_window_t *win) { u_int count; if (win->inputtable) { win->inputtable = -1; } else { win->inputtable = 0; } for (count = 0; count < win->num_children; count++) { reset_input_focus(win->children[count]); } } static void clear_margin_area(ui_window_t *win) { u_int right_margin; u_int bottom_margin; u_int win_width; u_int win_height; right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); win_width = win->width - right_margin; win_height = win->height - bottom_margin; if (win->wall_picture) { Pixmap pic; int src_x; int src_y; if (win->wall_picture == ParentRelative) { pic = win->parent->wall_picture; src_x = win->x; src_y = win->y; } else { pic = win->wall_picture; src_x = src_y = 0; } if (win->hmargin > 0 || right_margin > 0) { view_copy_area(win->my_window, pic, src_x, src_y, win->hmargin, ACTUAL_HEIGHT(win), 0, 0); view_copy_area(win->my_window, pic, src_x + win_width + win->hmargin, src_y, win->hmargin + right_margin, ACTUAL_HEIGHT(win), win_width + win->hmargin, 0); } if (win->vmargin > 0 || bottom_margin > 0) { view_copy_area(win->my_window, pic, src_x + win->hmargin, src_y, win_width, win->vmargin, win->hmargin, 0); view_copy_area(win->my_window, pic, src_x + win->hmargin, src_y + win_height + win->vmargin, win_width, win->vmargin + bottom_margin, win->hmargin, win_height + win->vmargin); } } else { if (win->hmargin > 0 || right_margin > 0) { view_fill_with(win->my_window, &win->bg_color, 0, 0, win->hmargin, ACTUAL_HEIGHT(win)); view_fill_with(win->my_window, &win->bg_color, win_width + win->hmargin, 0, ACTUAL_WIDTH(win) - win_width - win->hmargin, ACTUAL_HEIGHT(win)); } if (win->vmargin > 0 || bottom_margin > 0) { view_fill_with(win->my_window, &win->bg_color, win->hmargin, 0, win_width, win->vmargin); view_fill_with(win->my_window, &win->bg_color, win->hmargin, win_height + win->vmargin, win_width, ACTUAL_HEIGHT(win) - win_height - win->vmargin); } } } static void expose(ui_window_t *win, XExposeEvent *event) { int clear_margin; if (win->update_window_flag) { if (!event->force_expose) { if (win->update_window) { (*win->update_window)(win, win->update_window_flag); } return; } event->x = win->hmargin; event->y = win->vmargin; event->width = win->width; event->height = win->height; clear_margin = 1; } else { clear_margin = 0; if (event->x < win->hmargin) { event->width -= (win->hmargin - event->x); event->x = win->hmargin; clear_margin = 1; } if (event->y < win->vmargin) { event->height -= (win->vmargin - event->y); event->y = win->vmargin; clear_margin = 1; } if (!clear_margin && (event->x + event->width > win->hmargin + win->width || event->y + event->height > win->vmargin + win->height)) { clear_margin = 1; } } if (clear_margin) { clear_margin_area(win); } if (win->window_exposed) { (*win->window_exposed)(win, event->x - win->hmargin, event->y - win->vmargin, event->width, event->height); } } static int need_pointer_motion_mask(ui_window_t *win) { u_int count; if (win->event_mask & PointerMotionMask) { return 1; } for (count = 0; count < win->num_children; count++) { if (need_pointer_motion_mask(win->children[count])) { return 1; } } return 0; } /* --- global functions --- */ int ui_window_init(ui_window_t *win, u_int width, u_int height, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc, u_int hmargin, u_int vmargin, int create_gc, /* ignored */ int inputtable) { memset(win, 0, sizeof(ui_window_t)); win->fg_color.pixel = 0xff000000; win->bg_color.pixel = 0xffffffff; win->is_scrollable = 0; win->is_focused = 0; win->inputtable = inputtable; /* This flag will map window automatically in ui_window_show(). */ win->is_mapped = 1; win->create_gc = create_gc; win->width = width; win->height = height; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; win->hmargin = hmargin; win->vmargin = vmargin; win->prev_clicked_button = -1; win->app_name = "mlterm"; return 1; } void ui_window_final(ui_window_t *win) { u_int count; Window my_window; #ifdef __DEBUG bl_debug_printf("[deleting child windows]\n"); ui_window_dump_children(win); #endif my_window = win->my_window; for (count = 0; count < win->num_children; count++) { ui_window_final(win->children[count]); } free(win->children); win->num_children = 0; ui_display_clear_selection(win->disp, win); ui_xic_deactivate(win); if (my_window) { /* * win->parent may be NULL because this function is called * from ui_layout after ui_window_remove_child(), * not only win->parent but also IS_XLAYOUT(win) is necessary. */ if (!win->parent && IS_XLAYOUT(win)) { window_dealloc(my_window); } else { view_dealloc(my_window); } } if (win->window_finalized) { (*win->window_finalized)(win); } } void ui_window_set_type_engine(ui_window_t *win, ui_type_engine_t type_engine) {} void ui_window_add_event_mask(ui_window_t *win, long event_mask) { if (event_mask & PointerMotionMask) { win->event_mask = PointerMotionMask; if (ui_get_root_window(win)->my_window) { window_accepts_mouse_moved_events(ui_get_root_window(win)->my_window, 1); } } } void ui_window_remove_event_mask(ui_window_t *win, long event_mask) { if (event_mask & PointerMotionMask) { ui_window_t *root; win->event_mask = 0; root = ui_get_root_window(win); if (root->my_window && !need_pointer_motion_mask(root)) { window_accepts_mouse_moved_events(root->my_window, 0); } } } void ui_window_ungrab_pointer(ui_window_t *win) {} int ui_window_set_wall_picture(ui_window_t *win, Pixmap pic, int do_expose) { u_int count; win->wall_picture = pic; if (win->my_window != None && do_expose) { #if 1 view_update(win->my_window, 1); #endif } for (count = 0; count < win->num_children; count++) { ui_window_set_wall_picture(win->children[count], ParentRelative, do_expose); } return 1; } int ui_window_unset_wall_picture(ui_window_t *win, int do_expose) { u_int count; win->wall_picture = None; if (win->my_window != None) { #if 0 InvalidateRect(win->my_window, NULL, FALSE); #endif } for (count = 0; count < win->num_children; count++) { ui_window_unset_wall_picture(win->children[count], do_expose); } return 1; } int ui_window_set_transparent(ui_window_t *win, ui_picture_modifier_t *pic_mod) { return 0; } int ui_window_unset_transparent(ui_window_t *win) { return 0; } void ui_window_set_cursor(ui_window_t *win, u_int cursor_shape) { win->cursor_shape = cursor_shape; } int ui_window_set_fg_color(ui_window_t *win, ui_color_t *fg_color) { if (win->fg_color.pixel == fg_color->pixel) { return 0; } win->fg_color = *fg_color; return 1; } int ui_window_set_bg_color(ui_window_t *win, ui_color_t *bg_color) { if (win->bg_color.pixel == bg_color->pixel) { return 0; } win->bg_color = *bg_color; if (win->my_window && IS_XSCREEN(win)) { view_bg_color_changed(win->my_window); ui_window_update_all(win); } return 1; } int ui_window_add_child(ui_window_t *win, ui_window_t *child, int x, int y, int map) { void *p; if ((p = realloc(win->children, sizeof(*win->children) * (win->num_children + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } win->children = p; child->parent = win; child->x = x + win->hmargin; child->y = y + win->vmargin; if (!(child->is_mapped = map) && child->inputtable > 0) { child->inputtable = -1; } win->children[win->num_children++] = child; return 1; } int ui_window_remove_child(ui_window_t *win, ui_window_t *child) { u_int count; for (count = 0; count < win->num_children; count++) { if (win->children[count] == child) { child->parent = NULL; win->children[count] = win->children[--win->num_children]; return 1; } } return 0; } ui_window_t *ui_get_root_window(ui_window_t *win) { while (win->parent != NULL) { win = win->parent; } return win; } int ui_window_show(ui_window_t *win, int hint /* If win->parent(_window) is None, specify XValue|YValue to localte window at win->x/win->y. */ ) { u_int count; if (win->my_window) { /* already shown */ return 0; } if (win->parent) { win->disp = win->parent->disp; win->parent_window = win->parent->my_window; win->gc = win->parent->gc; } #ifndef USE_QUARTZ if (hint & XNegative) { win->x += (win->disp->width - ACTUAL_WIDTH(win)); } if (hint & YNegative) { win->y += (win->disp->height - ACTUAL_HEIGHT(win)); } #endif #ifndef DISABLE_XDND /* DragAcceptFiles( win->my_window , TRUE) ; */ #endif if (win->parent && !win->parent->is_transparent && win->parent->wall_picture) { ui_window_set_wall_picture(win, ParentRelative, 0); } /* * This should be called after Window Manager settings, because * ui_set_{window|icon}_name() can be called in win->window_realized(). */ if (win->window_realized) { (*win->window_realized)(win); } /* * showing child windows. */ for (count = 0; count < win->num_children; count++) { ui_window_show(win->children[count], 0); } /* * really visualized. */ if (win->is_mapped) { if (win->inputtable > 0) { reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; } } if (win->is_transparent) { ui_window_set_transparent(win, win->pic_mod); } if (IS_XSCREEN(win) && win->parent->my_window) { view_alloc(win); } return 1; } void ui_window_map(ui_window_t *win) { if (win->is_mapped) { return; } if (win->parent) { view_set_hidden(win->my_window, 0); } win->is_mapped = 1; } void ui_window_unmap(ui_window_t *win) { if (!win->is_mapped) { return; } if (win->parent) { view_set_hidden(win->my_window, 1); /* Scrollbar position is corrupt without this. */ ui_window_move(win, -1, -1); } win->is_mapped = 0; } int ui_window_resize(ui_window_t *win, u_int width, /* excluding margin */ u_int height, /* excluding margin */ ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { if (win->width == width && win->height == height) { return 0; } /* Max width of each window is screen width. */ if ((flag & LIMIT_RESIZE) && win->disp->width < width) { win->width = win->disp->width - win->hmargin * 2; } else { win->width = width; } /* Maui.height of each window is screen height. */ if ((flag & LIMIT_RESIZE) && win->disp->height < height) { win->height = win->disp->height - win->vmargin * 2; } else { win->height = height; } if (win->parent) { view_set_rect(win->my_window, win->x, ACTUAL_HEIGHT(win->parent) - ACTUAL_HEIGHT(win) - win->y, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); if ((flag & NOTIFY_TO_PARENT) && win->parent->child_window_resized) { (*win->parent->child_window_resized)(win->parent, win); } } else { /* * win->parent may be NULL because this function is called * from ui_layout after ui_window_remove_child(), * not only win->parent but also IS_XLAYOUT(win) is necessary. */ if (IS_XLAYOUT(win)) { window_resize(win->my_window, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); } } if ((flag & NOTIFY_TO_MYSELF) && win->window_resized) { (*win->window_resized)(win); win->update_window_flag = 0; /* force redraw */ } return 1; } /* * !! Notice !! * This function is not recommended. * Use ui_window_resize if at all possible. */ int ui_window_resize_with_margin(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { return ui_window_resize(win, width - win->hmargin * 2, height - win->vmargin * 2, flag); } void ui_window_set_maximize_flag(ui_window_t *win, ui_maximize_flag_t flag) { if (flag) { u_int w; u_int h; int x; int y; win = ui_get_root_window(win); window_get_position(win->my_window, &x, &y); if (flag & MAXIMIZE_HORIZONTAL) { w = win->disp->width; x = 0; } else { w = win->width; } if (flag & MAXIMIZE_VERTICAL) { h = win->disp->height; y = 0; } else { h = win->height; } window_move_resize(win->my_window, x, y, w, h); /* Same processing as ui_window_resize() */ if (win->window_resized) { (*win->window_resized)(win); win->update_window_flag = 0; /* force redraw */ } } else { /* XXX MAXIMIZE_RESTORE is not supported for now. */ } } void ui_window_set_normal_hints(ui_window_t *win, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc) { ui_window_t *root; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; /* root is always ui_layout_t (use_mdi is always true) on macosx/cocoa. */ root = ui_get_root_window(win); window_set_normal_hints(root->my_window, total_width_inc(root), total_height_inc(root)); return 1; } void ui_window_set_override_redirect(ui_window_t *win, int flag) {} int ui_window_set_borderless_flag(ui_window_t *win, int flag) { return 0; } int ui_window_move(ui_window_t *win, int x, int y) { if (win->parent) { x += win->parent->hmargin; y += win->parent->vmargin; } if (win->x == x && win->y == y) { return 0; } win->x = x; win->y = y; if (win->parent) { view_set_rect(win->my_window, x, ACTUAL_HEIGHT(win->parent) - ACTUAL_HEIGHT(win) - y, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); } return 1; } /* * This function can be used in context except window_exposed and update_window * events. */ void ui_window_clear(ui_window_t *win, int x, int y, u_int width, u_int height) { #ifdef AUTO_CLEAR_MARGIN if (x + width >= win->width) { /* Clearing margin area */ width += win->hmargin; } if (x > 0) #endif { x += win->hmargin; } #ifdef AUTO_CLEAR_MARGIN else { /* Clearing margin area */ width += win->hmargin; } if (y + height >= win->height) { /* Clearing margin area */ height += win->vmargin; } if (y > 0) #endif { y += win->vmargin; } #ifdef AUTO_CLEAR_MARGIN else { /* Clearing margin area */ height += win->vmargin; } #endif if (win->wall_picture) { Pixmap pic; int src_x; int src_y; if (win->wall_picture == ParentRelative) { pic = win->parent->wall_picture; src_x = win->x; src_y = win->y; } else { pic = win->wall_picture; src_x = src_y = 0; } view_copy_area(win->my_window, pic, src_x + x, src_y + y, width, height, x, y); } else { view_fill_with(win->my_window, &win->bg_color, x, y, width, height); } } void ui_window_clear_all(ui_window_t *win) { ui_window_clear(win, 0, 0, win->width, win->height); } void ui_window_fill(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_window_fill_with(win, &win->fg_color, x, y, width, height); } void ui_window_fill_with(ui_window_t *win, ui_color_t *color, int x, int y, u_int width, u_int height) { view_fill_with(win->my_window, color, x + win->hmargin, y + win->vmargin, width, height); } /* * This function can be used in context except window_exposed and update_window * events. */ void ui_window_blank(ui_window_t *win) {} #if 0 /* * XXX * at the present time , not used and not maintained. */ void ui_window_fill_all_with(ui_window_t *win, ui_color_t *color) {} #endif void ui_window_update(ui_window_t *win, int flag) { if (win->update_window_flag) { win->update_window_flag |= flag; } else { win->update_window_flag = flag; view_update(win->my_window, 0); } } void ui_window_update_all(ui_window_t *win) { u_int count; if (IS_XSCREEN(win)) { view_update(win->my_window, 1); } for (count = 0; count < win->num_children; count++) { ui_window_update_all(win->children[count]); } } void ui_window_idling(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_idling(win->children[count]); } #ifdef __DEBUG if (win->button_is_pressing) { bl_debug_printf(BL_DEBUG_TAG " button is pressing...\n"); } #endif if (win->button_is_pressing && win->button_press_continued) { (*win->button_press_continued)(win, &win->prev_button_press_event); } else if (win->idling) { (*win->idling)(win); } } /* * Return value: 0 => different window. * 1 => finished processing. * -1 => continuing default processing. */ int ui_window_receive_event(ui_window_t *win, XEvent *event) { switch (event->type) { case UI_KEY_FOCUS_IN: reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; win = ui_get_root_window(win); notify_focus_out_to_children(win); /* Fall through */ case UI_FOCUS_IN: urgent_bell(win, 0); notify_focus_in_to_children(win); break; case UI_FOCUS_OUT: notify_focus_out_to_children(win); break; case UI_BUTTON_PRESS: if (win->button_pressed) { XButtonEvent *bev; bev = (XButtonEvent*)event; bev->x -= win->hmargin; bev->y -= win->vmargin; (*win->button_pressed)(win, bev, bev->click_count); win->button_is_pressing = 1; win->prev_button_press_event = *bev; } break; case UI_BUTTON_RELEASE: if (win->button_released) { XButtonEvent *bev; bev = (XButtonEvent*)event; bev->x -= win->hmargin; bev->y -= win->vmargin; (*win->button_released)(win, bev); win->button_is_pressing = 0; } break; case UI_BUTTON_MOTION: if (win->button_motion) { XMotionEvent *mev; mev = (XMotionEvent*)event; mev->x -= win->hmargin; mev->y -= win->vmargin; (*win->button_motion)(win, mev); /* following button motion ... */ win->prev_button_press_event.x = mev->x; win->prev_button_press_event.y = mev->y; win->prev_button_press_event.time = mev->time; } break; case UI_POINTER_MOTION: if (win->pointer_motion) { XMotionEvent *mev; mev = (XMotionEvent*)event; mev->x -= win->hmargin; mev->y -= win->vmargin; (*win->pointer_motion)(win, mev); } break; case UI_KEY_PRESS: if (win->key_pressed) { (*win->key_pressed)(win, (XKeyEvent*)event); } break; case UI_EXPOSE: expose(win, (XExposeEvent*)event); break; case UI_SELECTION_REQUESTED: if (win->utf_selection_requested) { (*win->utf_selection_requested)(win, (XSelectionRequestEvent*)event, 0); } break; case UI_SELECTION_NOTIFIED: if (win->utf_selection_notified) { (*win->utf_selection_notified)(win, ((XSelectionNotifyEvent*)event)->data, ((XSelectionNotifyEvent*)event)->len); } break; case UI_CLOSE_WINDOW: /* root window */ win->my_window = None; if (win->window_deleted) { (*win->window_deleted)(win); } break; } return 1; } size_t ui_window_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return ui_xic_get_str(win, seq, seq_len, parser, keysym, event); } /* * Scroll functions. * The caller side should clear the scrolled area. */ int ui_window_scroll_upward(ui_window_t *win, u_int height) { return ui_window_scroll_upward_region(win, 0, win->height, height); } int ui_window_scroll_upward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, height, win->height, win->width); #endif return 0; } view_scroll(win->my_window, win->hmargin, win->vmargin + boundary_start + height, /* src */ win->width, boundary_end - boundary_start - height, /* size */ win->hmargin, win->vmargin + boundary_start); /* dst */ return 1; } int ui_window_scroll_downward(ui_window_t *win, u_int height) { return ui_window_scroll_downward_region(win, 0, win->height, height); } int ui_window_scroll_downward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d\n", boundary_start, boundary_end, height); #endif return 0; } view_scroll(win->my_window, win->hmargin, win->vmargin + boundary_start, /* src */ win->width, boundary_end - boundary_start - height, /* size */ win->hmargin, win->vmargin + boundary_start + height); /* dst */ return 1; } int ui_window_scroll_leftward(ui_window_t *win, u_int width) { return ui_window_scroll_leftward_region(win, 0, win->width, width); } int ui_window_scroll_leftward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, width, win->height, win->width); #endif return 0; } view_scroll(win->my_window, win->hmargin + boundary_start + width, win->vmargin, /* src */ boundary_end - boundary_start - width, win->height, /* size */ win->hmargin + boundary_start, win->vmargin); /* dst */ return 1; } int ui_window_scroll_rightward(ui_window_t *win, u_int width) { return ui_window_scroll_rightward_region(win, 0, win->width, width); } int ui_window_scroll_rightward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d\n", boundary_start, boundary_end, width); #endif return 0; } view_scroll(win->my_window, win->hmargin + boundary_start, win->vmargin, /* src */ boundary_end - boundary_start - width, win->height, /* size */ win->hmargin + boundary_start + width, win->vmargin); /* dst */ return 1; } int ui_window_copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, /* >= 0 */ int src_y, /* >= 0 */ u_int width, u_int height, int dst_x, /* >= 0 */ int dst_y /* >= 0 */ ) { if (dst_x >= win->width || dst_y >= win->height) { return 0; } if (dst_x + width > win->width) { width = win->width - dst_x; } if (dst_y + height > win->height) { height = win->height - dst_y; } view_copy_area(win->my_window, src, src_x, src_y, width, height, dst_x + win->hmargin, dst_y + win->vmargin); return 1; } void ui_window_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { view_set_clip(win->my_window, x + win->hmargin, y + win->vmargin, width, height); } void ui_window_unset_clip(ui_window_t *win) { view_unset_clip(win->my_window); } void ui_window_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { ui_window_draw_string(win, font, fg_color, x, y, str, len); } void ui_window_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { view_draw_string(win->my_window, font, fg_color, x + win->hmargin, y + win->vmargin, str, len); } void ui_window_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, u_int len) { view_draw_string16(win->my_window, font, fg_color, x + win->hmargin, y + win->vmargin, str, len); } void ui_window_draw_rect_frame(ui_window_t *win, int x1, int y1, int x2, int y2) { view_draw_rect_frame(win->my_window, &win->fg_color, x1 + win->hmargin, y1 + win->vmargin, x2 + win->hmargin, y2 + win->vmargin); } void ui_set_use_clipboard_selection(int use_it) {} int ui_is_using_clipboard_selection(void) { return 0; } int ui_window_set_selection_owner(ui_window_t *win, Time time) { if (ui_window_is_selection_owner(win)) { /* Already owner */ return 1; } #if 0 bl_debug_printf(BL_DEBUG_TAG " ui_window_set_selection_owner.\n"); #endif cocoa_clipboard_own(win->my_window); return 1; } int ui_window_xct_selection_request(ui_window_t *win, Time time) { return 0; } int ui_window_utf_selection_request(ui_window_t *win, Time time) { if (win->utf_selection_notified) { const char *str; if ((str = cocoa_clipboard_get())) { (*win->utf_selection_notified)(win, str, strlen(str)); return 1; } } return 0; } void ui_window_send_picture_selection(ui_window_t *win, Pixmap pixmap, u_int width, u_int height) {} void ui_window_send_text_selection(ui_window_t *win, XSelectionRequestEvent *req_ev, u_char *sel_data, size_t sel_len, Atom sel_type) { cocoa_clipboard_set(sel_data, sel_len); } void ui_set_window_name(ui_window_t *win, u_char *name) { ui_window_t *root = ui_get_root_window(win); if (name == NULL) { name = root->app_name; } /* name is utf8 (see vt_parser.c) */ window_set_title(root->my_window, name); } void ui_set_icon_name(ui_window_t *win, u_char *name) {} void ui_window_set_icon(ui_window_t *win, ui_icon_picture_t *icon) {} void ui_window_remove_icon(ui_window_t *win) {} void ui_window_reset_group(ui_window_t *win) {} void ui_set_click_interval(int interval) { click_interval = interval; } int ui_get_click_interval(void) { return click_interval; } u_int ui_window_get_mod_ignore_mask(ui_window_t *win, KeySym *keysyms) { return ~0; } u_int ui_window_get_mod_meta_mask(ui_window_t *win, char *mod_key) { return ModMask; } void ui_set_use_urgent_bell(int use) { use_urgent_bell = use; } void ui_window_bell(ui_window_t *win, ui_bel_mode_t mode) { urgent_bell(win, 1); if (mode & BEL_VISUAL) { view_visual_bell(win->my_window); } if (mode & BEL_SOUND) { cocoa_beep(); } } void ui_window_translate_coordinates(ui_window_t *win, int x, int y, int *global_x, int *global_y) { win = ui_get_root_window(win); window_get_position(win->my_window, global_x, global_y); *global_x += x; *global_y += y; } void ui_window_set_input_focus(ui_window_t *win) { reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; view_set_input_focus(win->my_window); } #ifdef DEBUG void ui_window_dump_children(ui_window_t *win) { u_int count; bl_msg_printf("%p(%li) => ", win, win->my_window); for (count = 0; count < win->num_children; count++) { bl_msg_printf("%p(%li) ", win->children[count], win->children[count]->my_window); } bl_msg_printf("\n"); for (count = 0; count < win->num_children; count++) { ui_window_dump_children(win->children[count]); } } #endif mlterm-3.8.4/uitoolkit/quartz/ui.c012075500017600000144000000000001321054731200176052../win32/ui.custar kenusersmlterm-3.8.4/uitoolkit/quartz/ui_simple_sb_view.c010064400017600000144000000001021321054731200207340ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ mlterm-3.8.4/uitoolkit/console004075500017600000144000000000001321054731200151335ustar kenusersmlterm-3.8.4/uitoolkit/console/ui_selection_encoding.c012075500017600000144000000000001321054731200275432../xlib/ui_selection_encoding.custar kenusersmlterm-3.8.4/uitoolkit/console/ui_xic.c012075500017600000144000000000001321054731200210542../fb/ui_xic.custar kenusersmlterm-3.8.4/uitoolkit/console/ui_font.h012075500017600000144000000000001321054731200214342../fb/ui_font.hustar kenusersmlterm-3.8.4/uitoolkit/console/ui_color.c010064400017600000144000000055701321054731200171750ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_color.h" #include /* strcmp */ #include #include "ui_display.h" /* CMAP_SIZE, ui_cmap_get_closest_color */ /* --- global functions --- */ int ui_load_named_xcolor(ui_display_t *disp, ui_color_t *xcolor, char *name) { vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (vt_color_parse_rgb_name(&red, &green, &blue, &alpha, name)) { return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } if ((color = vt_get_color(name)) != VT_UNKNOWN_COLOR && IS_VTSYS_BASE_COLOR(color)) { /* * 0 : 0x00, 0x00, 0x00 * 1 : 0xff, 0x00, 0x00 * 2 : 0x00, 0xff, 0x00 * 3 : 0xff, 0xff, 0x00 * 4 : 0x00, 0x00, 0xff * 5 : 0xff, 0x00, 0xff * 6 : 0x00, 0xff, 0xff * 7 : 0xe5, 0xe5, 0xe5 */ red = (color & 0x1) ? 0xff : 0; green = (color & 0x2) ? 0xff : 0; blue = (color & 0x4) ? 0xff : 0; } else { if (strcmp(name, "gray") == 0) { red = green = blue = 190; } else if (strcmp(name, "lightgray") == 0) { red = green = blue = 211; } else { return 0; } } return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, 0xff); } int ui_load_rgb_xcolor(ui_display_t *disp, ui_color_t *xcolor, u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha) { xcolor->pixel = vt_get_closest_color(red, green, blue); /* XXX */ if (xcolor->pixel == 0x10) { xcolor->pixel = 0; } else if (xcolor->pixel == 0xe2) { xcolor->pixel = 0xb; } else if (xcolor->pixel == 0xc4) { xcolor->pixel = 0x9; } else if (xcolor->pixel == 0x2e) { xcolor->pixel = 0xa; } else if (xcolor->pixel == 0xc9) { xcolor->pixel = 0xd; } else if (xcolor->pixel == 0x33) { xcolor->pixel = 0xe; } else if (xcolor->pixel == 0xe7) { xcolor->pixel = 0xf; } vt_get_color_rgba(xcolor->pixel, &xcolor->red, &xcolor->green, &xcolor->blue, NULL); return 1; } void ui_unload_xcolor(ui_display_t *disp, ui_color_t *xcolor) {} void ui_get_xcolor_rgba(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */, ui_color_t *xcolor) { *red = xcolor->red; *green = xcolor->green; *blue = xcolor->blue; if (alpha) { *alpha = xcolor->alpha; } } int ui_xcolor_fade(ui_display_t *disp, ui_color_t *xcolor, u_int fade_ratio) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; ui_get_xcolor_rgba(&red, &green, &blue, &alpha, xcolor); #if 0 bl_msg_printf("Fading R%d G%d B%d => ", red, green, blue); #endif red = (red * fade_ratio) / 100; green = (green * fade_ratio) / 100; blue = (blue * fade_ratio) / 100; ui_unload_xcolor(disp, xcolor); #if 0 bl_msg_printf("R%d G%d B%d\n", red, green, blue); #endif return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } mlterm-3.8.4/uitoolkit/console/ui.h010064400017600000144000000351431321054731200160030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ #if defined(__linux__) #include #elif defined(__NetBSD__) || defined(__OpenBSD__) #include #endif #include typedef struct { FILE* fp; /* Actual width, while ui_display_t.width excludes virtual kbd area. */ unsigned int width; /* Actual height, while ui_display_t.height excludes virtual kbd area. */ unsigned int height; unsigned int col_width; unsigned int line_height; int key_state; int lock_state; struct ef_conv *conv; unsigned char buf[512]; unsigned int buf_len; int is_pressing; void *sixel_output; void *sixel_dither; int support_hmargin; } Display; typedef int XIC; /* dummy */ typedef void* XID; /* dummy */ typedef void* Window; /* dummy */ typedef void* Drawable; /* dummy */ typedef struct { unsigned char *image; unsigned int width; unsigned int height; } * Pixmap; typedef unsigned char* PixmapMask; typedef int GC; /* dummy */ typedef int Font; /* dummy */ typedef int Cursor; /* dummy */ typedef int KeyCode; typedef int KeySym; typedef struct /* Same as definition in X11/X.h */ { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; typedef struct /* Same as definition in X11/X.h */ { unsigned char byte1; unsigned char byte2; } XChar2b; typedef struct { int type; unsigned int state; KeySym ksym; unsigned int keycode; } XKeyEvent; typedef unsigned long Time; /* Same as definition in X11/X.h */ typedef unsigned long Atom; /* Same as definition in X11/X.h */ typedef struct { int type; Time time; int x; int y; unsigned int state; unsigned int button; } XButtonEvent; typedef struct { int type; Time time; int x; int y; unsigned int state; } XMotionEvent; typedef struct { int type; struct ui_window *target; } XSelectionRequestEvent; typedef union { int type; XKeyEvent xkey; XButtonEvent xbutton; XMotionEvent xmotion; XSelectionRequestEvent xselectionrequest; } XEvent; typedef struct { void *dummy; } XFontStruct; typedef int XFontSet; /* dummy */ #define None 0L /* Same as definition in X11/X.h */ #define NoSymbol 0L /* Same as definition in X11/X.h */ #define CurrentTime 0L /* Same as definition in X11/X.h */ /* Same as definition in X11/X.h */ #define NoEventMask 0L #define KeyPressMask (1L << 0) #define KeyReleaseMask (1L << 1) #define ButtonPressMask (1L << 2) #define ButtonReleaseMask (1L << 3) #define EnterWindowMask (1L << 4) #define LeaveWindowMask (1L << 5) #define PointerMotionMask (1L << 6) #define PointerMotionHintMask (1L << 7) #define Button1MotionMask (1L << 8) #define Button2MotionMask (1L << 9) #define Button3MotionMask (1L << 10) #define Button4MotionMask (1L << 11) #define Button5MotionMask (1L << 12) #define ButtonMotionMask (1L << 13) #define KeymapStateMask (1L << 14) #define ExposureMask (1L << 15) #define VisibilityChangeMask (1L << 16) #define StructureNotifyMask (1L << 17) #define ResizeRedirectMask (1L << 18) #define SubstructureNotifyMask (1L << 19) #define SubstructureRedirectMask (1L << 20) #define FocusChangeMask (1L << 21) #define PropertyChangeMask (1L << 22) #define ColormapChangeMask (1L << 23) #define OwnerGrabButtonMask (1L << 24) #define ShiftMask (1 << 0) #define LockMask (1 << 1) #define ControlMask (1 << 2) #define Mod1Mask (1 << 3) #define Mod2Mask (1 << 4) #define Mod3Mask (1 << 5) #define Mod4Mask (1 << 6) #define Mod5Mask (1 << 7) #define Button1Mask (1 << 8) #define Button2Mask (1 << 9) #define Button3Mask (1 << 10) #define Button4Mask (1 << 11) #define Button5Mask (1 << 12) #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 /* Same as fb/ui.h (to use same inputmethod plugins from both mlterm-fb and * mlterm-con) */ #if defined(__NetBSD__) || defined(__OpenBSD__) #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace 0x08 #define XK_Tab 0x09 #define XK_Clear KS_Clear #define XK_Linefeed KS_Linefeed #define XK_Return 0x0d #define XK_Shift_L KS_Shift_L #define XK_Control_L KS_Control_L #define XK_Alt_L KS_Alt_L #define XK_Shift_R KS_Shift_R #define XK_Control_R KS_Control_R #define XK_Alt_R KS_Alt_R #define XK_Meta_L KS_Meta_L #define XK_Meta_R KS_Meta_R #define XK_Pause KS_Pause #define XK_Shift_Lock KS_Shift_Lock #define XK_Caps_Lock KS_Caps_Lock #define XK_Escape KS_Escape #define XK_Prior KS_Prior #define XK_Next KS_Next #define XK_End KS_End #define XK_Home KS_Home #define XK_Left KS_Left #define XK_Up KS_Up #define XK_Right KS_Right #define XK_Down KS_Down #define XK_Select KS_Select #define XK_Print KS_Print_Screen #define XK_Execute KS_Execute #define XK_Insert KS_Insert #define XK_Delete KS_Delete #define XK_Help KS_Help #define XK_F1 KS_F1 #define XK_F2 KS_F2 #define XK_F3 KS_F3 #define XK_F4 KS_F4 #define XK_F5 KS_F5 #define XK_F6 KS_F6 #define XK_F7 KS_F7 #define XK_F8 KS_F8 #define XK_F9 KS_F9 #define XK_F10 KS_F10 #define XK_F11 KS_F11 #define XK_F12 KS_F12 #define XK_F13 KS_F13 #define XK_F14 KS_F14 #define XK_F15 KS_F15 #define XK_F16 KS_F16 #define XK_F17 KS_F17 #define XK_F18 KS_F18 #define XK_F19 KS_F19 #define XK_F20 KS_F20 #define XK_F21 0xfffa /* dummy */ #define XK_F22 0xfff9 /* dummy */ #define XK_F23 0xfff8 /* dummy */ #define XK_F24 0xfff7 /* dummy */ #define XK_FMAX KS_F20 #define XK_Num_Lock KS_Num_Lock #define XK_Scroll_Lock KS_Scroll_Lock #define XK_Find KS_Find #define XK_Menu KS_Menu #define XK_Begin 0xfff6 /* dummy */ #define XK_Muhenkan KS_Muhenkan #define XK_Henkan_Mode KS_Henkan_Mode #define XK_Zenkaku_Hankaku KS_Zenkaku_Hankaku #define XK_Hiragana_Katakana KS_Hiragana_Katakana #define XK_KP_Prior KS_KP_Prior #define XK_KP_Next KS_KP_Next #define XK_KP_End KS_KP_End #define XK_KP_Home KS_KP_Home #define XK_KP_Left KS_KP_Left #define XK_KP_Up KS_KP_Up #define XK_KP_Right KS_KP_Right #define XK_KP_Down KS_KP_Down #define XK_KP_Insert KS_KP_Insert #define XK_KP_Delete KS_KP_Delete #define XK_KP_F1 KS_KP_F1 #define XK_KP_F2 KS_KP_F2 #define XK_KP_F3 KS_KP_F3 #define XK_KP_F4 KS_KP_F4 #define XK_KP_Begin KS_KP_Begin #define XK_KP_Multiply KS_KP_Multiply #define XK_KP_Add KS_KP_Add #define XK_KP_Separator KS_KP_Separator #define XK_KP_Subtract KS_KP_Subtract #define XK_KP_Decimal KS_KP_Decimal #define XK_KP_Divide KS_KP_Divide #define XK_KP_0 KS_KP_0 #define XK_KP_1 KS_KP_1 #define XK_KP_2 KS_KP_2 #define XK_KP_3 KS_KP_3 #define XK_KP_4 KS_KP_4 #define XK_KP_5 KS_KP_5 #define XK_KP_6 KS_KP_6 #define XK_KP_7 KS_KP_7 #define XK_KP_8 KS_KP_8 #define XK_KP_9 KS_KP_9 #define IsKeypadKey(ksym) (0xf200 <= (ksym) && (ksym) < 0xf300) #define IsModifierKey(ksym) (KS_Shift_L <= (ksym) && (ksym) <= KS_Alt_R) #else /* if __FreeBSD__ || __linux__ || __darwin__ */ #ifndef __linux__ /* FreeBSD / MacOSX etc */ #define KEY_CLEAR 0xff /* dummy */ #define KEY_LINEFEED 0xfe /* dummy */ #define KEY_LEFTSHIFT 0x02 #define KEY_LEFTCTRL 0x09 #define KEY_LEFTALT 0x07 #define KEY_RIGHTSHIFT 0x03 #define KEY_RIGHTCTRL 0x80 #define KEY_RIGHTALT 0x81 #define KEY_LEFTMETA 0xfd /* dummy */ #define KEY_RIGHTMETA 0xfc /* dummy */ #define KEY_CAPSLOCK 0x04 #define KEY_PAGEUP 0x4d #define KEY_PAGEDOWN 0x55 #define KEY_END 0x53 #define KEY_HOME 0x4b #define KEY_LEFT 0x4f #define KEY_UP 0x4c #define KEY_RIGHT 0x51 #define KEY_DOWN 0x54 #define KEY_SELECT 0xfb /* dummy */ #define KEY_PRINT 0x0a #define KEY_INSERT 0x56 #define KEY_DELETE 0x57 #define KEY_HELP 0xfa /* dummy */ #define KEY_F1 0x1b #define KEY_F2 0x1c #define KEY_F3 0x1d #define KEY_F4 0x1e #define KEY_F5 0x1f #define KEY_F6 0x20 #define KEY_F7 0x21 #define KEY_F8 0x22 #define KEY_F9 0x23 #define KEY_F10 0x24 #define KEY_F11 0x25 #define KEY_F12 0x26 #define KEY_F13 0xf9 /* dummy */ #define KEY_F14 0xf8 /* dummy */ #define KEY_F15 0xf7 /* dummy */ #define KEY_F16 0xf6 /* dummy */ #define KEY_F17 0xf5 /* dummy */ #define KEY_F18 0xf4 /* dummy */ #define KEY_F19 0xf3 /* dummy */ #define KEY_F20 0xf2 /* dummy */ #define KEY_F21 0xf1 /* dummy */ #define KEY_F22 0xf0 /* dummy */ #define KEY_F23 0xef /* dummy */ #define KEY_F24 0xee /* dummy */ #define KEY_NUMLOCK 0x05 #define KEY_SCROLLLOCK 0x06 #define KEY_FIND 0xed /* dummy */ #define KEY_MENU 0xec /* dummy */ #define KEY_MUHENKAN 0xeb /* dummy */ #define KEY_HENKAN 0xea /* dummy */ #define KEY_ZENKAKUHANKAKU 0xe9 /* dummy */ #define KEY_KATAKANAHIRAGANA 0xe8 /* dummy */ #define KEY_KPASTERISK 0xe7 /* dummy */ #define KEY_KPPLUS (0x52 + 0x100) #define KEY_KPCOMMA 0xe6 /* dummy */ #define KEY_KPMINUS (0x4e + 0x100) #define KEY_KPDOT (0x7f + 0x100) #define KEY_KPSLASH 0xe5 /* dummy */ #define KEY_KP0 (0x56 + 0x100) #define KEY_KP1 (0x53 + 0x100) #define KEY_KP2 (0x54 + 0x100) #define KEY_KP3 (0x55 + 0x100) #define KEY_KP4 (0x4f + 0x100) #define KEY_KP5 (0x50 + 0x100) #define KEY_KP6 (0x51 + 0x100) #define KEY_KP7 (0x4b + 0x100) #define KEY_KP8 (0x4c + 0x100) #define KEY_KP9 (0x4d + 0x100) #endif /* FreeBSD */ #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace 0x08 #define XK_Tab 0x09 #define XK_Clear (KEY_CLEAR + 0x100) #define XK_Linefeed (KEY_LINEFEED + 0x100) #define XK_Return 0x0d #define XK_Shift_L (KEY_LEFTSHIFT + 0x100) #define XK_Control_L (KEY_LEFTCTRL + 0x100) #define XK_Alt_L (KEY_LEFTALT + 0x100) #define XK_Shift_R (KEY_RIGHTSHIFT + 0x100) #define XK_Control_R (KEY_RIGHTCTRL + 0x100) #define XK_Alt_R (KEY_RIGHTALT + 0x100) #define XK_Meta_L (KEY_LEFTMETA + 0x100) #define XK_Meta_R (KEY_RIGHTMETA + 0x100) #define XK_Pause 0xfff1 /* dummy */ #define XK_Shift_Lock 0xfff0 /* dummy */ #define XK_Caps_Lock (KEY_CAPSLOCK + 0x100) #define XK_Escape 0x1b #define XK_Prior (KEY_PAGEUP + 0x100) #define XK_Next (KEY_PAGEDOWN + 0x100) #define XK_End (KEY_END + 0x100) #define XK_Home (KEY_HOME + 0x100) #define XK_Left (KEY_LEFT + 0x100) #define XK_Up (KEY_UP + 0x100) #define XK_Right (KEY_RIGHT + 0x100) #define XK_Down (KEY_DOWN + 0x100) #define XK_Select (KEY_SELECT + 0x100) #define XK_Print (KEY_PRINT + 0x100) #define XK_Execute 0xffef /* dummy */ #define XK_Insert (KEY_INSERT + 0x100) #define XK_Delete (KEY_DELETE + 0x100) #define XK_Help (KEY_HELP + 0x100) #define XK_F1 (KEY_F1 + 0x100) #define XK_F2 (KEY_F2 + 0x100) #define XK_F3 (KEY_F3 + 0x100) #define XK_F4 (KEY_F4 + 0x100) #define XK_F5 (KEY_F5 + 0x100) #define XK_F6 (KEY_F6 + 0x100) #define XK_F7 (KEY_F7 + 0x100) #define XK_F8 (KEY_F8 + 0x100) #define XK_F9 (KEY_F9 + 0x100) #define XK_F10 (KEY_F10 + 0x100) #define XK_F11 (KEY_F11 + 0x100) #define XK_F12 (KEY_F12 + 0x100) #define XK_F13 (KEY_F13 + 0x100) #define XK_F14 (KEY_F14 + 0x100) #define XK_F15 (KEY_F15 + 0x100) #define XK_F16 (KEY_F16 + 0x100) #define XK_F17 (KEY_F17 + 0x100) #define XK_F18 (KEY_F18 + 0x100) #define XK_F19 (KEY_F19 + 0x100) #define XK_F20 (KEY_F20 + 0x100) #define XK_F21 (KEY_F21 + 0x100) #define XK_F22 (KEY_F22 + 0x100) #define XK_F23 (KEY_F23 + 0x100) #define XK_F24 (KEY_F24 + 0x100) #ifdef __FreeBSD__ #define XK_FMAX XK_F12 #else #define XK_FMAX XK_F10 /* F11 or later is not sequential number. */ #endif #define XK_Num_Lock (KEY_NUMLOCK + 0x100) #define XK_Scroll_Lock (KEY_SCROLLLOCK + 0x100) #define XK_Find (KEY_FIND + 0x100) #define XK_Menu (KEY_MENU + 0x100) #define XK_Begin 0xffee /* dummy */ #define XK_Muhenkan (KEY_MUHENKAN + 0x100) #define XK_Henkan_Mode (KEY_HENKAN + 0x100) #define XK_Zenkaku_Hankaku (KEY_ZENKAKUHANKAKU + 0x100) #define XK_Hiragana_Katakana (KEY_KATAKANAHIRAGANA + 0x100) #define XK_KP_Prior (KEY_KP9 + 0x100) #define XK_KP_Next (KEY_KP3 + 0x100) #define XK_KP_End (KEY_KP1 + 0x100) #define XK_KP_Home (KEY_KP7 + 0x100) #define XK_KP_Left (KEY_KP4 + 0x100) #define XK_KP_Up (KEY_KP8 + 0x100) #define XK_KP_Right (KEY_KP6 + 0x100) #define XK_KP_Down (KEY_KP2 + 0x100) #define XK_KP_Insert (KEY_KP0 + 0x100) #define XK_KP_Delete (KEY_KPDOT + 0x100) #define XK_KP_F1 0xffed /* dummy */ #define XK_KP_F2 0xffec /* dummy */ #define XK_KP_F3 0xffeb /* dummy */ #define XK_KP_F4 0xffea /* dummy */ #define XK_KP_Begin (KEY_KP5 + 0x100) /* dummy */ #define XK_KP_Multiply (KEY_KPASTERISK + 0x100) #define XK_KP_Add (KEY_KPPLUS + 0x100) #define XK_KP_Separator (KEY_KPCOMMA + 0x100) #define XK_KP_Subtract (KEY_KPMINUS + 0x100) #define XK_KP_Decimal 0xffe9 /* dummy */ #define XK_KP_Divide (KEY_KPSLASH + 0x100) #define XK_KP_0 0xffe8 /* dummy */ #define XK_KP_1 0xffe7 /* dummy */ #define XK_KP_2 0xffe6 /* dummy */ #define XK_KP_3 0xffe5 /* dummy */ #define XK_KP_4 0xffe4 /* dummy */ #define XK_KP_5 0xffe3 /* dummy */ #define XK_KP_6 0xffe1 /* dummy */ #define XK_KP_7 0xffe0 /* dummy */ #define XK_KP_8 0xffdf /* dummy */ #define XK_KP_9 0xffde /* dummy */ #define IsKeypadKey(ksym) (1) #define IsModifierKey(ksym) (0) #endif /* FreeBSD/Linux/NetBSD */ #define XK_ISO_Left_Tab 0xff61 /* dummy */ /* Same as definition in X11/X.h */ typedef struct { short x; short y; } XPoint; /* XXX dummy */ #define XKeysymToKeycode(disp, ks) (ks) #define XKeycodeToKeysym(disp, kc, i) (kc) #define XKeysymToString(ks) "" #define DefaultScreen(disp) (0) #define BlackPixel(disp, screen) (0) #define WhitePixel(disp, screen) (-1) /* Same as definition in X11/cursorfont.h */ #define XC_xterm 152 #define XC_left_ptr 68 /* Same as definition in X11/Xutil.h */ #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height); KeySym XStringToKeysym(char *str); /* === Platform dependent options === */ #define UI_COLOR_HAS_RGB #undef SUPPORT_TRUE_TRANSPARENT_BG /* Actually, fonts aren't scalable, but define TYPE_XCORE_SCALABLE to avoid * double drawing. */ #define TYPE_XCORE_SCALABLE #define MANAGE_ROOT_WINDOWS_BY_MYSELF #define MANAGE_SUB_WINDOWS_BY_MYSELF /* See also console/ui_display.c where ui_picture_display_closed() is never * called. */ #define INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #undef SUPPORT_POINT_SIZE_FONT #undef XIM_SPOT_IS_LINE_TOP #undef USE_GC #undef CHANGEABLE_CURSOR /* use same modules as those for framebuffer */ #define PLUGIN_MODULE_SUFFIX "fb" #undef KEY_REPEAT_BY_MYSELF #undef ROTATABLE_DISPLAY #undef PSEUDO_COLOR_DISPLAY #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #undef SUPPORT_URGENT_BELL #undef FORCE_UNICODE #undef NEED_DISPLAY_SYNC_EVERY_TIME #undef DRAW_SCREEN_IN_PIXELS #undef NO_DRAW_IMAGE_STRING /* libpthread is not linked to mlterm explicitly for now. */ #undef HAVE_PTHREAD #undef COMPOSE_DECSP_FONT #undef USE_REAL_VERTICAL_FONT #endif mlterm-3.8.4/uitoolkit/console/ui_connect_dialog.c012075500017600000144000000000001321054731200254262../fb/ui_connect_dialog.custar kenusersmlterm-3.8.4/uitoolkit/console/ui_imagelib.c010064400017600000144000000246571321054731200176370ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef NO_IMAGE #include "../ui_imagelib.h" #include /* sprintf */ #include /* write , STDIN_FILENO */ #ifdef DLOPEN_LIBM #include /* dynamically loading pow */ #else #include /* pow */ #endif #include #include #include /* BL_LIBEXECDIR */ #include "ui_display.h" /* ui_cmap_get_closest_color */ /* Trailing "/" is appended in value_table_refresh(). */ #ifndef LIBMDIR #define LIBMDIR "/lib" #endif #if 1 #define BUILTIN_SIXEL #endif /* --- static functions --- */ static void value_table_refresh(u_char *value_table, /* 256 bytes */ ui_picture_modifier_t *mod) { int i, tmp; double real_gamma, real_brightness, real_contrast; static double (*pow_func)(double, double); real_gamma = (double)(mod->gamma) / 100; real_contrast = (double)(mod->contrast) / 100; real_brightness = (double)(mod->brightness) / 100; if (!pow_func) { #ifdef DLOPEN_LIBM bl_dl_handle_t handle; if ((!(handle = bl_dl_open(LIBMDIR "/", "m")) && !(handle = bl_dl_open("", "m"))) || !(pow_func = bl_dl_func_symbol(handle, "pow"))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load pow in libm.so\n"); #endif if (handle) { bl_dl_close(handle); } /* * gamma, contrast and brightness options are ignored. * (alpha option still survives.) */ for (i = 0; i < 256; i++) { value_table[i] = i; } return; } bl_dl_close_at_exit(handle); #else /* DLOPEN_LIBM */ pow_func = pow; #endif /* DLOPEN_LIBM */ } for (i = 0; i < 256; i++) { tmp = real_contrast * (255 * (*pow_func)(((double)i + 0.5) / 255, real_gamma) - 128) + 128 * real_brightness; if (tmp >= 255) { break; } else if (tmp < 0) { value_table[i] = 0; } else { value_table[i] = tmp; } } for (; i < 256; i++) { value_table[i] = 255; } } static void modify_pixmap(Display *display, Pixmap pixmap, ui_picture_modifier_t *pic_mod, u_int depth) { u_char *value_table; u_int32_t *src; u_char *dst; u_int num_pixels; u_int count; u_char r, g, b, a; u_long pixel; if (!ui_picture_modifier_is_normal(pic_mod) && (value_table = alloca(256))) { value_table_refresh(value_table, pic_mod); } else { value_table = NULL; } src = dst = pixmap->image; num_pixels = pixmap->width * pixmap->height; for (count = 0; count < num_pixels; count++) { pixel = *(src++); a = (pixel >> 24) & 0xff; r = (pixel >> 16) & 0xff; g = (pixel >> 8) & 0xff; b = pixel & 0xff; if (value_table) { r = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; g = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; b = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; } dst[0] = r; dst[1] = g; dst[2] = b; dst[3] = a; dst += 4; } } #ifdef BUILTIN_SIXEL #include #include #include /* SSIZE_MAX */ /* * This function resizes the sixel image to the specified size and shrink * pixmap->image. * It frees pixmap->image in failure. * Call resize_sixel() after load_sixel_from_file() because it returns at least * 1024*1024 pixels memory even if the actual image size is less than 1024*1024. */ static int resize_sixel(Pixmap pixmap, u_int width, u_int height, u_int bytes_per_pixel) { void *p; size_t line_len; size_t old_line_len; size_t image_len; size_t old_image_len; u_char *dst; u_char *src; int y; u_int min_height; p = NULL; if ((width == 0 || width == pixmap->width) && (height == 0 || height == pixmap->height)) { goto end; } if (width > SSIZE_MAX / bytes_per_pixel / height) { goto error; } old_line_len = pixmap->width * bytes_per_pixel; line_len = width * bytes_per_pixel; image_len = line_len * height; old_image_len = old_line_len * pixmap->height; if (image_len > old_image_len) { if (!(p = realloc(pixmap->image, image_len))) { goto error; } pixmap->image = p; } /* Tiling */ min_height = K_MIN(height, pixmap->height); if (width > pixmap->width) { size_t surplus; u_int num_copy; u_int count; u_char *dst_next; y = min_height - 1; src = pixmap->image + old_line_len * y; dst = pixmap->image + line_len * y; surplus = line_len % old_line_len; num_copy = line_len / old_line_len - 1; for (; y >= 0; y--) { dst_next = memmove(dst, src, old_line_len); for (count = num_copy; count > 0; count--) { memcpy((dst_next += old_line_len), dst, old_line_len); } memcpy(dst_next + old_line_len, dst, surplus); dst -= line_len; src -= old_line_len; } } else if (width < pixmap->width) { src = pixmap->image + old_line_len; dst = pixmap->image + line_len; for (y = 1; y < min_height; y++) { memmove(dst, src, old_line_len); dst += line_len; src += old_line_len; } } if (height > pixmap->height) { y = pixmap->height; src = pixmap->image; dst = src + line_len * y; for (; y < height; y++) { memcpy(dst, src, line_len); dst += line_len; src += line_len; } } bl_msg_printf("Resize sixel from %dx%d to %dx%d\n", pixmap->width, pixmap->height, width, height); pixmap->width = width; pixmap->height = height; end: /* Always realloate pixmap->image according to its width, height and * bytes_per_pixel. */ if (!p && (p = realloc(pixmap->image, pixmap->width * pixmap->height * bytes_per_pixel))) { pixmap->image = p; } return 1; error: free(pixmap->image); return 0; } #define CARD_HEAD_SIZE 0 #include "../../common/c_sixel.c" #endif /* BUILTIN_SIXEL */ static int load_file(Display *display, char *path, u_int width, u_int height, ui_picture_modifier_t *pic_mod, u_int depth, Pixmap *pixmap, PixmapMask *mask) { pid_t pid; int fds1[2]; int fds2[2]; ssize_t size; u_int32_t tmp; if (!path || !*path) { return 0; } #ifdef BUILTIN_SIXEL if (strcasecmp(path + strlen(path) - 4, ".six") == 0 && /* For old machines and Android (not to use mlimgloader) */ #if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__ANDROID__) width == 0 && height == 0 && #endif (*pixmap = calloc(1, sizeof(**pixmap)))) { if (((*pixmap)->image = load_sixel_from_file(path, &(*pixmap)->width, &(*pixmap)->height)) && /* resize_sixel() frees pixmap->image in failure. */ resize_sixel(*pixmap, width, height, 4)) { goto loaded; } else { free(*pixmap); } } #endif #ifdef __ANDROID__ if (!(*pixmap = calloc(1, sizeof(**pixmap)))) { return 0; } (*pixmap)->width = width; (*pixmap)->height = height; if (!((*pixmap)->image = ui_display_get_bitmap(path, &(*pixmap)->width, &(*pixmap)->height))) { goto error; } #else if (pipe(fds1) == -1) { return 0; } if (pipe(fds2) == -1) { close(fds1[0]); close(fds1[1]); return 0; } pid = fork(); if (pid == -1) { close(fds1[0]); close(fds1[1]); close(fds2[0]); close(fds2[0]); return 0; } if (pid == 0) { /* child process */ char *args[7]; char width_str[DIGIT_STR_LEN(u_int) + 1]; char height_str[DIGIT_STR_LEN(u_int) + 1]; args[0] = BL_LIBEXECDIR("mlterm") "/mlimgloader"; args[1] = "0"; sprintf(width_str, "%u", width); args[2] = width_str; sprintf(height_str, "%u", height); args[3] = height_str; args[4] = path; args[5] = "-c"; args[6] = NULL; close(fds1[1]); close(fds2[0]); if (dup2(fds1[0], STDIN_FILENO) != -1 && dup2(fds2[1], STDOUT_FILENO) != -1) { execv(args[0], args); } bl_msg_printf("Failed to exec %s.\n", args[0]); exit(1); } close(fds1[0]); close(fds2[1]); if (!(*pixmap = calloc(1, sizeof(**pixmap)))) { goto error; } if (read(fds2[0], &tmp, sizeof(u_int32_t)) != sizeof(u_int32_t)) { goto error; } size = ((*pixmap)->width = tmp) * sizeof(u_int32_t); if (read(fds2[0], &tmp, sizeof(u_int32_t)) != sizeof(u_int32_t)) { goto error; } size *= ((*pixmap)->height = tmp); if (!((*pixmap)->image = malloc(size))) { goto error; } else { u_char *p; ssize_t n_rd; p = (*pixmap)->image; while ((n_rd = read(fds2[0], p, size)) > 0) { p += n_rd; size -= n_rd; } if (size > 0) { goto error; } } close(fds2[0]); close(fds1[1]); #endif loaded: if (mask) { *mask = None; } modify_pixmap(display, *pixmap, pic_mod, depth); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s(w %d h %d) is loaded%s.\n", path, (*pixmap)->width, (*pixmap)->height, (mask && *mask) ? " (has mask)" : ""); #endif return 1; error: #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load %s\n", path); #endif if (*pixmap) { free((*pixmap)->image); free(*pixmap); } close(fds2[0]); close(fds1[1]); return 0; } /* --- global functions --- */ void ui_imagelib_display_opened(Display *display) {} void ui_imagelib_display_closed(Display *display) {} Pixmap ui_imagelib_load_file_for_background(ui_window_t *win, char *path, ui_picture_modifier_t *pic_mod) { Pixmap pixmap; if (!load_file(win->disp->display, path, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), pic_mod, win->disp->depth, &pixmap, NULL)) { pixmap = None; } return pixmap; } int ui_imagelib_root_pixmap_available(Display *display) { return 0; } Pixmap ui_imagelib_get_transparent_background(ui_window_t *win, ui_picture_modifier_t *pic_mod) { return None; } int ui_imagelib_load_file(ui_display_t *disp, char *path, u_int32_t **cardinal, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height) { if (cardinal) { return 0; } if (!load_file(disp->display, path, *width, *height, NULL, disp->depth, pixmap, mask)) { return 0; } if (*width == 0 || *height == 0) { *width = (*pixmap)->width; *height = (*pixmap)->height; } return 1; } void ui_delete_image(Display *display, Pixmap pixmap) { free(pixmap->image); free(pixmap); } void ui_delete_mask(Display *display, PixmapMask mask /* can be NULL */) { if (mask) { free(mask); } } #endif /* NO_IMAGE */ mlterm-3.8.4/uitoolkit/console/ui_display.h010064400017600000144000000013661321054731200175300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include "../ui_display.h" #ifdef __FreeBSD__ #include /* NLKED */ #else #define CLKED 1 #define NLKED 2 #define SLKED 4 #define ALKED 8 #endif #define KeyPress 2 /* Private in fb/ */ #define ButtonPress 4 /* Private in fb/ */ #define ButtonRelease 5 /* Private in fb/ */ #define MotionNotify 6 /* Private in fb/ */ #define IM_WINDOW_IS_ACTIVATED(disp) ((disp)->num_roots > 1 && (disp)->roots[1]->is_mapped) #ifdef USE_LIBSIXEL void ui_display_output_picture(ui_display_t *disp, u_char *picture, u_int width, u_int height); #else #define ui_display_output_picture(disp, picture, width, height) (0) #endif #endif mlterm-3.8.4/uitoolkit/console/ui_font.c010064400017600000144000000131471321054731200170240ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_font.h" #include #include /* open */ #include /* close */ #include /* mmap */ #include /* memcmp */ #include /* fstat */ #include /* utime */ #include /* WORDS_BIGENDIAN */ #include #include #include /* strdup */ #include /* bl_basename */ #include /* bl_get_user_rc_path */ #include /* TOINT32 */ #include #ifdef __ANDROID__ #include #endif #include "ui_display.h" #define DIVIDE_ROUNDINGUP(a, b) (((int)((a)*10 + (b)*10 - 1)) / ((int)((b)*10))) #if 0 #define __DEBUG #endif /* --- global functions --- */ void ui_compose_dec_special_font(void) { /* Do nothing for now in console. */ } ui_font_t *ui_font_new(Display *display, vt_font_t id, int size_attr, ui_type_engine_t type_engine, ui_font_present_t font_present, const char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold, u_int letter_space /* Ignored for now. */ ) { ui_font_t *font; u_int cols; if (type_engine != TYPE_XCORE || !(font = calloc(1, sizeof(ui_font_t)))) { return NULL; } if (!(font->xfont = calloc(1, sizeof(XFontStruct)))) { free(font); return NULL; } font->display = display; font->xfont = NULL; font->id = id; if (font->id & FONT_FULLWIDTH) { cols = 2; } else { cols = 1; } if (font_present & FONT_VAR_WIDTH) { /* * If you use fixed-width fonts whose width is differnet from * each other. */ font->is_var_col_width = 1; } if (font_present & FONT_VERTICAL) { font->is_vertical = 1; } if (use_medium_for_bold) { font->double_draw_gap = 1; } font->width = font->display->col_width * cols; font->height = font->display->line_height; font->ascent = 0; /* x_off is *not* divided by 2 => see draw_string() in ui_window.c */ if (col_width == 0) { /* standard(usascii) font */ if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ font->x_off = font->width /* / 2 */; font->width *= 2; } /* letter_space and line_space are ignored. */ #if 0 if (letter_space > 0) { font->width += letter_space; font->x_off += (letter_space /* / 2 */); } #endif } else { /* not a standard(usascii) font */ /* * XXX hack * forcibly conforming non standard font width to standard font width. */ if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ if (font->width != col_width) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, col_width); /* is_var_col_width is always false if is_vertical is true. */ #if 0 if (!font->is_var_col_width) #endif { if (font->width < col_width) { font->x_off = (col_width - font->width) /* / 2 */; } font->width = col_width; } } } else { if (font->width != col_width * cols) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, col_width * cols); if (!font->is_var_col_width) { if (font->width < col_width * cols) { font->x_off = (col_width * cols - font->width) /* / 2 */; } font->width = col_width * cols; } } } } font->size_attr = size_attr; /* * checking if font width/height/ascent member is sane. */ if (font->width == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " font width is 0.\n"); #endif /* XXX this may be inaccurate. */ font->width = DIVIDE_ROUNDINGUP(fontsize * cols, 2); } if (font->height == 0) { /* XXX this may be inaccurate. */ font->height = fontsize; } #ifdef DEBUG ui_font_dump(font); #endif return font; } void ui_font_delete(ui_font_t *font) { free(font); } u_int ui_calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs, int *draw_alone) { if (draw_alone) { *draw_alone = 0; } return font->width; } /* Return written size */ size_t ui_convert_ucs4_to_utf16(u_char *dst, /* 4 bytes. Big endian. */ u_int32_t src) { if (src < 0x10000) { dst[0] = (src >> 8) & 0xff; dst[1] = src & 0xff; return 2; } else if (src < 0x110000) { /* surrogate pair */ u_char c; src -= 0x10000; c = (u_char)(src / (0x100 * 0x400)); src -= (c * 0x100 * 0x400); dst[0] = c + 0xd8; c = (u_char)(src / 0x400); src -= (c * 0x400); dst[1] = c; c = (u_char)(src / 0x100); src -= (c * 0x100); dst[2] = c + 0xdc; dst[3] = (u_char)src; return 4; } return 0; } #ifdef DEBUG void ui_font_dump(ui_font_t *font) { bl_msg_printf("Font id %x: XFont %p (width %d, height %d, ascent %d, x_off %d)", font->id, font->xfont, font->width, font->height, font->ascent, font->x_off); if (font->is_proportional) { bl_msg_printf(" (proportional)"); } if (font->is_var_col_width) { bl_msg_printf(" (var col width)"); } if (font->is_vertical) { bl_msg_printf(" (vertical)"); } if (font->double_draw_gap) { bl_msg_printf(" (double drawing)"); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/uitoolkit/console/ui_display.c010064400017600000144000000666621321054731200175350ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_display.h" #include /* printf */ #include /* STDIN_FILENO */ #include /* fcntl */ #include /* ioctl */ #include /* memset/memcpy */ #include /* getenv */ #include #include #include /* time */ #include /* gettimeofday */ #include #include /* select */ #include /* HAVE_GETTIMEOFDAY */ #include #include /* bl_priv_change_e(u|g)id */ #include /* bl_getuid */ #include #include /* alloca */ #include #include #include #include #ifdef __linux__ #include #endif #ifdef USE_LIBSIXEL #include #endif #include "../ui_window.h" #include "../ui_picture.h" /* --- static variables --- */ static ui_display_t **displays; static u_int num_displays; static struct termios orig_tm; static vt_char_encoding_t encoding = VT_UTF8; static u_int default_col_width = 8; static u_int default_line_height = 16; /* --- static functions --- */ static void set_blocking(int fd, int block) { fcntl(fd, F_SETFL, block ? (fcntl(fd, F_GETFL, 0) & ~O_NONBLOCK) : (fcntl(fd, F_GETFL, 0) | O_NONBLOCK)); } static int set_winsize(ui_display_t *disp, char *seq) { struct winsize ws; memset(&ws, 0, sizeof(ws)); if (seq) { int col; int row; int x; int y; if (sscanf(seq, "8;%d;%d;4;%d;%dt", &row, &col, &y, &x) != 4) { return 0; } ws.ws_col = col; ws.ws_row = row; disp->width = x; disp->height = y; } else { if (ioctl(fileno(disp->display->fp), TIOCGWINSZ, &ws) == 0) { disp->width = ws.ws_xpixel; disp->height = ws.ws_ypixel; } } if (ws.ws_col == 0) { bl_error_printf("winsize.ws_col is 0\n"); ws.ws_col = 80; } if (ws.ws_row == 0) { bl_error_printf("winsize.ws_row is 0\n"); ws.ws_row = 24; } if (disp->width == 0) { disp->width = ws.ws_col * default_col_width; disp->display->col_width = default_col_width; } else { disp->display->col_width = disp->width / ws.ws_col; disp->width = disp->display->col_width * ws.ws_col; } if (disp->height == 0) { disp->height = ws.ws_row * default_line_height; disp->display->line_height = default_line_height; } else { disp->display->line_height = disp->height / ws.ws_row; disp->height = disp->display->line_height * ws.ws_row; } bl_msg_printf("Screen is %dx%d (Cell %dx%d)\n", disp->width / disp->display->col_width, disp->height / disp->display->line_height, disp->display->col_width, disp->display->line_height); return 1; } /* XXX */ int ui_font_cache_unload_all(void); static void sig_winch(int sig) { u_int count; set_winsize(displays[0], NULL); /* XXX */ ui_font_cache_unload_all(); for (count = 0; count < displays[0]->num_roots; count++) { ui_window_resize_with_margin(displays[0]->roots[count], displays[0]->width, displays[0]->height, NOTIFY_TO_MYSELF); } signal(SIGWINCH, sig_winch); } static ui_display_t *open_display_socket(int fd) { void *p; if (!(p = realloc(displays, sizeof(ui_display_t *) * (num_displays + 1)))) { return NULL; } displays = p; if (!(displays[num_displays] = calloc(1, sizeof(ui_display_t))) || !(displays[num_displays]->display = calloc(1, sizeof(Display)))) { free(displays[num_displays]); return NULL; } if (!(displays[num_displays]->display->fp = fdopen(fd, "w"))) { free(displays[num_displays]->display); free(displays[num_displays]); return NULL; } /* * Set the close-on-exec flag. * If this flag off, this fd remained open until the child process forked in * open_screen_intern()(vt_term_open_pty()) close it. */ bl_file_set_cloexec(fd); set_blocking(fd, 1); write(fd, "\x1b[?25l", 6); write(fd, "\x1b[>4;2m", 7); write(fd, "\x1b[?1002h\x1b[?1006h", 16); write(fd, "\x1b[>c", 4); displays[num_displays]->display->conv = vt_char_encoding_conv_new(encoding); vt_char_encoding_conv_set_use_loose_rule(displays[num_displays]->display->conv, encoding, 1); set_winsize(displays[num_displays], "8;24;80;4;384;640t"); return displays[num_displays++]; } static ui_display_t *open_display_console(void) { void *p; struct termios tio; int fd; if (num_displays > 0 || !isatty(STDIN_FILENO) || !(p = realloc(displays, sizeof(ui_display_t *)))) { return NULL; } displays = p; if (!(displays[0] = calloc(1, sizeof(ui_display_t))) || !(displays[0]->display = calloc(1, sizeof(Display)))) { free(displays[0]); return NULL; } tcgetattr(STDIN_FILENO, &orig_tm); if (!(displays[0]->display->fp = fopen(ttyname(STDIN_FILENO), "r+"))) { free(displays[0]->display); free(displays[0]); return NULL; } fd = fileno(displays[0]->display->fp); bl_file_set_cloexec(fd); close(STDIN_FILENO); close(STDOUT_FILENO); close(STDERR_FILENO); write(fd, "\x1b[?25l", 6); write(fd, "\x1b[>4;2m", 7); write(fd, "\x1b[?1002h\x1b[?1006h", 16); write(fd, "\x1b[>c", 4); tio = orig_tm; tio.c_iflag &= ~(IXON | IXOFF | ICRNL | INLCR | IGNCR | IMAXBEL | ISTRIP); tio.c_iflag |= IGNBRK; tio.c_oflag &= ~(OPOST | ONLCR | OCRNL | ONLRET); #ifdef ECHOPRT tio.c_lflag &= ~(IEXTEN | ICANON | ECHO | ECHOE | ECHONL | ECHOCTL | ECHOPRT | ECHOKE | ECHOCTL | ISIG); #else /* ECHOPRT is not defined on cygwin. */ tio.c_lflag &= ~(IEXTEN | ICANON | ECHO | ECHOE | ECHONL | ECHOCTL | ECHOKE | ECHOCTL | ISIG); #endif tio.c_cc[VMIN] = 1; tio.c_cc[VTIME] = 0; tcsetattr(fd, TCSANOW, &tio); displays[0]->display->conv = vt_char_encoding_conv_new(encoding); vt_char_encoding_conv_set_use_loose_rule(displays[0]->display->conv, encoding, 1); set_winsize(displays[0], NULL); signal(SIGWINCH, sig_winch); return displays[num_displays++]; } #ifdef __linux__ static int get_key_state(void) { int ret; char state; state = 6; ret = ioctl(STDIN_FILENO, TIOCLINUX, &state); if (ret == -1) { return 0; } else { /* ShiftMask and ControlMask is the same. */ return state | ((state & (1 << KG_ALT)) ? Mod1Mask : 0); } } #else #define get_key_state() (0) #endif static inline ui_window_t *get_window_intern(ui_window_t *win, int x, int y) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_t *child; if ((child = win->children[count])->is_mapped) { if (child->x <= x && x < child->x + ACTUAL_WIDTH(child) && child->y <= y && y < child->y + ACTUAL_HEIGHT(child)) { return get_window_intern(child, x - child->x, y - child->y); } } } return win; } /* * disp->roots[1] is ignored. */ static inline ui_window_t *get_window(ui_display_t *disp, int x, /* X in display */ int y /* Y in display */ ) { return get_window_intern(disp->roots[0], x, y); } /* XXX defined in console/ui_window.c */ void ui_window_clear_margin_area(ui_window_t *win); static void expose_window(ui_window_t *win, int x, int y, u_int width, u_int height) { if (x + width <= win->x || win->x + ACTUAL_WIDTH(win) < x || y + height <= win->y || win->y + ACTUAL_HEIGHT(win) < y) { return; } if (x < win->x + win->hmargin || y < win->y + win->vmargin || x - win->x + width > win->hmargin + win->width || y - win->y + height > win->vmargin + win->height) { ui_window_clear_margin_area(win); } if (win->window_exposed) { if (x < win->x + win->hmargin) { width -= (win->x + win->hmargin - x); x = 0; } else { x -= (win->x + win->hmargin); } if (y < win->y + win->vmargin) { height -= (win->y + win->vmargin - y); y = 0; } else { y -= (win->y + win->vmargin); } (*win->window_exposed)(win, x, y, width, height); } } static void expose_display(ui_display_t *disp, int x, int y, u_int width, u_int height) { u_int count; /* * XXX * ui_im_{status|candidate}_screen can exceed display width or height, * because ui_im_{status|candidate}_screen_new() shows screen at * non-adjusted position. */ if (x + width > disp->width) { width = disp->width - x; } if (y + height > disp->height) { height = disp->height - y; } expose_window(disp->roots[0], x, y, width, height); for (count = 0; count < disp->roots[0]->num_children; count++) { expose_window(disp->roots[0]->children[count], x, y, width, height); } } static int check_visibility_of_im_window(ui_display_t *disp) { static struct { int saved; int x; int y; u_int width; u_int height; } im_region; int redraw_im_win = 0; #ifdef DEBUG if (disp->num_roots > 2) { bl_debug_printf(BL_DEBUG_TAG" Multiple IM Windows (%d) are activated.\n", disp->num_roots - 1); } #endif if (IM_WINDOW_IS_ACTIVATED(disp)) { if (im_region.saved) { if (im_region.x == disp->roots[1]->x && im_region.y == disp->roots[1]->y && im_region.width == ACTUAL_WIDTH(disp->roots[1]) && im_region.height == ACTUAL_HEIGHT(disp->roots[1])) { return 0; } if (im_region.x < disp->roots[1]->x || im_region.y < disp->roots[1]->y || im_region.x + im_region.width > disp->roots[1]->x + ACTUAL_WIDTH(disp->roots[1]) || im_region.y + im_region.height > disp->roots[1]->y + ACTUAL_HEIGHT(disp->roots[1])) { expose_display(disp, im_region.x, im_region.y, im_region.width, im_region.height); redraw_im_win = 1; } } im_region.saved = 1; im_region.x = disp->roots[1]->x; im_region.y = disp->roots[1]->y; im_region.width = ACTUAL_WIDTH(disp->roots[1]); im_region.height = ACTUAL_HEIGHT(disp->roots[1]); } else { if (im_region.saved) { expose_display(disp, im_region.x, im_region.y, im_region.width, im_region.height); im_region.saved = 0; } } return redraw_im_win; } static void receive_event_for_multi_roots(ui_display_t *disp, XEvent *xev) { int redraw_im_win; if ((redraw_im_win = check_visibility_of_im_window(disp))) { /* Stop drawing input method window */ disp->roots[1]->is_mapped = 0; } ui_window_receive_event(disp->roots[0], xev); if (redraw_im_win && disp->num_roots == 2) { /* Restart drawing input method window */ disp->roots[1]->is_mapped = 1; } else if (!check_visibility_of_im_window(disp)) { return; } expose_window(disp->roots[1], disp->roots[1]->x, disp->roots[1]->y, ACTUAL_WIDTH(disp->roots[1]), ACTUAL_HEIGHT(disp->roots[1])); } static int receive_stdin(Display *display) { ssize_t len; if ((len = read(fileno(display->fp), display->buf + display->buf_len, sizeof(display->buf) - display->buf_len - 1)) > 0) { display->buf_len += len; display->buf[display->buf_len] = '\0'; return 1; } else { return 0; } } static u_char *skip_range(u_char *seq, int beg, int end) { while (beg <= *seq && *seq <= end) { seq++; } return seq; } static int parse(u_char **param, u_char **intermed, u_char **ft, u_char *seq) { *param = seq; if ((*intermed = skip_range(*param, 0x30, 0x3f)) == *param) { *param = NULL; } if ((*ft = skip_range(*intermed, 0x20, 0x2f)) == *intermed) { *intermed = NULL; } if (0x40 <= **ft && **ft <= 0x7e) { return 1; } else { return 0; } } static int parse_modify_other_keys(XKeyEvent *kev, const char *param, const char *format, int key_mod_order) { int key; int modcode; if (sscanf(param, format, &key, &modcode) == 2) { if (!key_mod_order) { int tmp; tmp = key; key = modcode; modcode = tmp; } kev->ksym = key; modcode--; if (modcode & 1) { kev->state |= ShiftMask; } if (modcode & (2 | 8)) { kev->state |= Mod1Mask; } if (modcode & 4) { kev->state |= ControlMask; } return 1; } else { return 0; } } /* Same as fb/ui_display */ static int receive_stdin_event(ui_display_t *disp) { u_char *p; if (!receive_stdin(disp->display)) { u_int count; for (count = disp->num_roots; count > 0; count--) { if (disp->roots[count - 1]->window_deleted) { (*disp->roots[count - 1]->window_deleted)(disp->roots[count - 1]); } } return 0; } p = disp->display->buf; while (p - disp->display->buf < disp->display->buf_len) { XKeyEvent kev; u_char *param; u_char *intermed; u_char *ft; kev.type = KeyPress; kev.state = get_key_state(); kev.ksym = 0; kev.keycode = 0; if (*p == '\x1b' && p[1] == '\x0') { fd_set fds; struct timeval tv; FD_ZERO(&fds); FD_SET(fileno(disp->display->fp), &fds); tv.tv_usec = 50000; /* 0.05 sec */ tv.tv_sec = 0; if (select(fileno(disp->display->fp) + 1, &fds, NULL, NULL, &tv) == 1) { receive_stdin(disp->display); } } if (*p == '\x1b' && (p[1] == '[' || p[1] == 'O')) { if (p[1] == '[') { u_char *tmp; if (!parse(¶m, &intermed, &ft, p + 2)) { set_blocking(fileno(disp->display->fp), 0); if (!receive_stdin(disp->display)) { break; } continue; } p = ft + 1; if (*ft == '~') { if (!param || intermed) { continue; } else if (!parse_modify_other_keys(&kev, param, "27;%d;%d~", 0)) { switch (atoi(param)) { case 2: kev.ksym = XK_Insert; break; case 3: kev.ksym = XK_Delete; break; case 5: kev.ksym = XK_Prior; break; case 6: kev.ksym = XK_Next; break; case 7: kev.ksym = XK_Home; break; case 8: kev.ksym = XK_End; break; case 17: kev.ksym = XK_F6; break; case 18: kev.ksym = XK_F7; break; case 19: kev.ksym = XK_F8; break; case 20: kev.ksym = XK_F9; break; case 21: kev.ksym = XK_F10; break; case 23: kev.ksym = XK_F11; break; case 24: kev.ksym = XK_F12; break; default: continue; } } } else if (*ft == 'M' || *ft == 'm') { XButtonEvent bev; int state; #ifdef HAVE_GETTIMEOFDAY struct timeval tv; #endif ui_window_t *win; if (*ft == 'M') { if (disp->display->is_pressing) { bev.type = MotionNotify; } else { bev.type = ButtonPress; disp->display->is_pressing = 1; } if (!param) { state = *(p++) - 0x20; bev.x = *(p++) - 0x20; bev.y = *(p++) - 0x20; goto make_event; } } else { bev.type = ButtonRelease; disp->display->is_pressing = 0; } *ft = '\0'; if (!param || sscanf(param, "<%d;%d;%d", &state, &bev.x, &bev.y) != 3) { continue; } make_event: bev.button = (state & 0x2) + 1; if (bev.type == MotionNotify) { bev.state = Button1Mask << (bev.button - 1); } else { bev.state = 0; } bev.x--; bev.x *= disp->display->col_width; bev.y--; bev.y *= disp->display->line_height; win = get_window(disp, bev.x, bev.y); bev.x -= win->x; bev.y -= win->y; #ifdef HAVE_GETTIMEOFDAY gettimeofday(&tv, NULL); bev.time = tv.tv_sec * 1000 + tv.tv_usec / 1000; #else bev.time = time(NULL) * 1000; #endif set_blocking(fileno(disp->display->fp), 1); ui_window_receive_event(win, &bev); set_blocking(fileno(disp->display->fp), 0); continue; } else if (param && set_winsize(disp, param)) { u_int count; /* XXX */ ui_font_cache_unload_all(); for (count = 0; count < disp->num_roots; count++) { ui_window_resize_with_margin(disp->roots[count], disp->width, disp->height, NOTIFY_TO_MYSELF); } continue; } else if (param && *ft == 'u') { if (!parse_modify_other_keys(&kev, param, "%d;%du", 1)) { continue; } } else if (param && *ft == 'c') { int pp; int pv; int pc; /* * iTerm2: CSI?0;95;c * MacOSX Terminal: CSI?1;2c */ if (sscanf(param + 1, "%d;%d;%dc", &pp, &pv, &pc) >= 2 && (pp >= 41 /* VT420 or later */ || /* * xterm 279 or later supports DECSLRM/DECLRMM * but mlterm 3.7.1 or before which supports it * responses 277. */ pv >= 277)) { disp->display->support_hmargin = 1; } else { bl_msg_printf("Slow scrolling on splitted screens\n"); disp->display->support_hmargin = 0; } continue; } else if ('P' <= *ft && *ft <= 'S') { kev.ksym = XK_F1 + (*ft - 'P'); } #ifdef __FreeBSD__ else if ('Y' <= *ft && *ft <= 'Z') { kev.ksym = XK_F1 + (*ft - 'Y'); kev.state = ShiftMask; } else if ('a' <= *ft && *ft <= 'j') { kev.ksym = XK_F3 + (*ft - 'a'); kev.state = ShiftMask; } else if ('k' <= *ft && *ft <= 'v') { kev.ksym = XK_F1 + (*ft - 'k'); kev.state = ControlMask; } else if ('w' <= *ft && *ft <= 'z') { kev.ksym = XK_F1 + (*ft - 'w'); kev.state = ControlMask | ShiftMask; } else if (*ft == '@') { kev.ksym = XK_F5; kev.state = ControlMask | ShiftMask; } else if ('[' <= *ft && *ft <= '\`') { kev.ksym = XK_F6 + (*ft - '['); kev.state = ControlMask | ShiftMask; } else if (*ft == '{') { kev.ksym = XK_F12; kev.state = ControlMask | ShiftMask; } #endif else { switch (*ft) { case 'A': kev.ksym = XK_Up; break; case 'B': kev.ksym = XK_Down; break; case 'C': kev.ksym = XK_Right; break; case 'D': kev.ksym = XK_Left; break; case 'F': kev.ksym = XK_End; break; case 'H': kev.ksym = XK_Home; break; default: continue; } } if (param && (tmp = strchr(param, ';'))) { param = tmp + 1; } } else /* if( p[1] == 'O') */ { if (!parse(¶m, &intermed, &ft, p + 2)) { set_blocking(fileno(disp->display->fp), 0); if (!receive_stdin(disp->display)) { break; } continue; } p = ft + 1; switch (*ft) { case 'P': kev.ksym = XK_F1; break; case 'Q': kev.ksym = XK_F2; break; case 'R': kev.ksym = XK_F3; break; case 'S': kev.ksym = XK_F4; break; default: continue; } } if (param && '1' <= *param && *param <= '9') { int state; state = atoi(param) - 1; if (state & 0x1) { kev.state |= ShiftMask; } if (state & 0x2) { kev.state |= Mod1Mask; } if (state & 0x4) { kev.state |= ControlMask; } } } else { kev.ksym = *(p++); /* XXX */ if (kev.ksym == 0x7f && orig_tm.c_cc[VERASE] == 0x7f) { /* Convert to BackSpace */ kev.ksym = 0x08; } if ((u_int)kev.ksym <= 0x1f) { if (kev.ksym == '\0') { /* CTL+' ' instead of CTL+@ */ kev.ksym = ' '; } else if (0x01 <= kev.ksym && kev.ksym <= 0x1a) { /* Lower case alphabets instead of upper ones. */ kev.ksym = kev.ksym + 0x60; } else { kev.ksym = kev.ksym + 0x40; } kev.state = ControlMask; } else if ('A' <= kev.ksym && kev.ksym <= 'Z') { kev.state = ShiftMask; } } set_blocking(fileno(disp->display->fp), 1); receive_event_for_multi_roots(disp, &kev); set_blocking(fileno(disp->display->fp), 0); } if ((disp->display->buf_len = disp->display->buf + disp->display->buf_len - p) > 0) { memcpy(disp->display->buf, p, disp->display->buf_len + 1); } set_blocking(fileno(disp->display->fp), 1); return 1; } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, u_int depth) { ui_display_t *disp; if (disp_name && strncmp(disp_name, "client:", 7) == 0) { disp = open_display_socket(atoi(disp_name + 7)); } else if (!displays) { disp = open_display_console(); } else { return displays[0]; } if (disp) { if (!(disp->name = getenv("DISPLAY"))) { disp->name = ":0.0"; } } return disp; } void ui_display_close(ui_display_t *disp) { u_int count; /* inline pictures are alive until vt_term_t is deleted. */ #if 0 ui_picture_display_closed(disp->display); #endif if (isatty(fileno(disp->display->fp))) { tcsetattr(fileno(disp->display->fp), TCSAFLUSH, &orig_tm); signal(SIGWINCH, SIG_IGN); } write(fileno(disp->display->fp), "\x1b[?25h", 6); write(fileno(disp->display->fp), "\x1b[>4;0m", 7); write(fileno(disp->display->fp), "\x1b[?1002l\x1b[?1006l", 16); fclose(disp->display->fp); (*disp->display->conv->delete)(disp->display->conv); for (count = 0; count < num_displays; count++) { if (displays[count] == disp) { memcpy(displays + count, displays + count + 1, sizeof(ui_display_t *) * (num_displays - count - 1)); num_displays--; break; } } } void ui_display_close_all(void) { u_int count; for (count = num_displays; count > 0; count--) { ui_display_close(displays[count - 1]); } free(displays); displays = NULL; } ui_display_t **ui_get_opened_displays(u_int *num) { *num = num_displays; return displays; } int ui_display_fd(ui_display_t *disp) { return fileno(disp->display->fp); } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window /* Ignored */ ) { void *p; if ((p = realloc(disp->roots, sizeof(ui_window_t *) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; root->parent_window = disp->my_window; root->gc = disp->gc; root->x = x; root->y = y; if (app_name) { root->app_name = app_name; } disp->roots[disp->num_roots++] = root; /* Cursor is drawn internally by calling ui_display_put_image(). */ if (!ui_window_show(root, hint)) { return 0; } return 1; } int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { /* XXX ui_window_unmap resizes all windows internally. */ #if 0 ui_window_unmap(root); #endif ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; } else { disp->roots[count] = disp->roots[disp->num_roots]; } return 1; } } return 0; } void ui_display_idling(ui_display_t *disp) { u_int count; for (count = 0; count < disp->num_roots; count++) { ui_window_idling(disp->roots[count]); } } int ui_display_receive_next_event(ui_display_t *disp) { return receive_stdin_event(disp); } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { if (disp->selection_owner) { ui_display_clear_selection(NULL, NULL); } disp->selection_owner = win; return 1; } int ui_display_clear_selection(ui_display_t *disp, /* NULL means all selection owner windows. */ ui_window_t *win) { if (disp == NULL) { u_int count; for (count = 0; count < num_displays; count++) { ui_display_clear_selection(displays[count], displays[count]->selection_owner); } return 1; } if (disp->selection_owner == NULL || disp->selection_owner != win) { return 0; } if (disp->selection_owner->selection_cleared) { (*disp->selection_owner->selection_cleared)(disp->selection_owner); } disp->selection_owner = NULL; return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) { /* dummy */ } XID ui_display_get_group_leader(ui_display_t *disp) { return None; } /* XXX for input method window */ void ui_display_reset_input_method_window(void) { #if 0 if (IM_WINDOW_IS_ACTIVATED(displays[0])) #endif { check_visibility_of_im_window(displays[0]); ui_window_clear_margin_area(displays[0]->roots[1]); } } void ui_display_set_char_encoding(ui_display_t *disp, vt_char_encoding_t e) { encoding = e; if (disp) { (*disp->display->conv->delete)(disp->display->conv); disp->display->conv = vt_char_encoding_conv_new(encoding); vt_char_encoding_conv_set_use_loose_rule(disp->display->conv, encoding, 1); } } void ui_display_set_default_cell_size(u_int width, u_int height) { default_col_width = width; default_line_height = height; } #ifdef USE_LIBSIXEL static int dither_id = BUILTIN_XTERM16; void ui_display_set_sixel_colors(ui_display_t *disp, const char *colors) { if (strcmp(colors, "256") == 0) { dither_id = BUILTIN_XTERM256; } else if (strcmp(colors, "full") == 0) { dither_id = -1; } else { dither_id = BUILTIN_XTERM16; } if (disp) { if (disp->display->sixel_dither) { sixel_dither_destroy(disp->display->sixel_dither); } if (dither_id == -1) { disp->display->sixel_dither = sixel_dither_create(-1); } else { disp->display->sixel_dither = sixel_dither_get(dither_id); } sixel_dither_set_pixelformat(disp->display->sixel_dither, PIXELFORMAT_RGBA8888); } } static int callback(char *data, int size, void *out) { return fwrite(data, 1, size, out); } void ui_display_output_picture(ui_display_t *disp, u_char *picture, u_int width, u_int height) { if (!disp->display->sixel_output) { disp->display->sixel_output = sixel_output_create(callback, disp->display->fp); } if (!disp->display->sixel_dither) { if (dither_id == -1) { disp->display->sixel_dither = sixel_dither_create(-1); } else { disp->display->sixel_dither = sixel_dither_get(dither_id); } sixel_dither_set_pixelformat(disp->display->sixel_dither, PIXELFORMAT_RGBA8888); } sixel_encode(picture, width, height, 4, disp->display->sixel_dither, disp->display->sixel_output); } #endif mlterm-3.8.4/uitoolkit/console/ui_dnd.c012075500017600000144000000000001321054731200210202../fb/ui_dnd.custar kenusersmlterm-3.8.4/uitoolkit/console/ui_window.c010064400017600000144000001210761321054731200173660ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_window.h" #include #include #include #include #include /* bl_usleep */ #include #include #include #include #include "ui_display.h" #include "ui_font.h" #define MAX_CLICK 3 /* max is triple click */ /* win->width is not multiples of (win)->width_inc in framebuffer. */ #define RIGHT_MARGIN(win) \ ((win)->width_inc ? ((win)->width - (win)->min_width) % (win)->width_inc : 0) #define BOTTOM_MARGIN(win) \ ((win)->height_inc ? ((win)->height - (win)->min_height) % (win)->height_inc : 0) #ifdef USE_GRF static ui_color_t black = {TP_COLOR, 0, 0, 0, 0}; #endif #define ParentRelative (1L) #define DummyPixmap (2L) #define COL_WIDTH (win->disp->display->col_width) #define LINE_HEIGHT (win->disp->display->line_height) /* XXX Check if win is input method window or not. */ #define IS_IM_WINDOW(win) ((win)->disp->num_roots >= 2 && (win) == (win)->disp->roots[1]) /* --- static variables --- */ static int click_interval = 250; /* millisecond, same as xterm. */ static ef_parser_t *cp_parser; static ef_parser_t *utf16_parser; /* --- static functions --- */ static int scroll_region(ui_window_t *win, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y) { int top; int top_c; int bottom; int bottom_c; int left; int left_c; int right; int right_c; if (!win->is_mapped || !ui_window_is_scrollable(win)) { return 0; } if (src_y < dst_y) { top = src_y; bottom = dst_y + height; } else { top = dst_y; bottom = src_y + height; } top_c = (top + win->y) / LINE_HEIGHT; bottom_c = (bottom + win->y) / LINE_HEIGHT; if (src_x < dst_x) { left = src_x; right = dst_x + width; } else { left = dst_x; right = src_x + width; } left_c = (left + win->x) / COL_WIDTH; right_c = (right + win->x) / COL_WIDTH; fprintf(win->disp->display->fp, "\x1b[%d;%dr", top_c + 1, bottom_c); fprintf(win->disp->display->fp, "\x1b[?69h\x1b[%d;%ds", left_c + 1, right_c); /* XXX for mlterm-3.7.1 or before */ #if 1 fprintf(win->disp->display->fp, "\x1b[%d;%dH", top_c + 1, left_c + 1); #endif if (src_y < dst_y) { fprintf(win->disp->display->fp, "\x1b[%dT", (dst_y - src_y) / LINE_HEIGHT); } else if (src_y > dst_y) { fprintf(win->disp->display->fp, "\x1b[%dS", (src_y - dst_y) / LINE_HEIGHT); } if (src_x < dst_x) { int len = (dst_x - src_x) / COL_WIDTH; for (; top_c < bottom_c; top_c++) { fprintf(win->disp->display->fp, "\x1b[%d;%dH\x1b[%d@", top_c + 1, left_c + 1, len); } } else if (src_x > dst_x) { int len = (src_x - dst_x) / COL_WIDTH; for (; top_c < bottom_c; top_c++) { fprintf(win->disp->display->fp, "\x1b[%d;%dH\x1b[%dP", top_c + 1, left_c + 1, len); } } fprintf(win->disp->display->fp, "\x1b[r\x1b[?69l"); return 1; } static void set_attr(FILE *fp, vt_font_t font, u_int fg_pixel, u_int bg_pixel, int line_style, int size_attr) { static int size_attr_set; if (fg_pixel < 0x8) { fprintf(fp, "\x1b[%dm", fg_pixel + 30); } else if (fg_pixel < 0x10) { fprintf(fp, "\x1b[%dm", (fg_pixel & ~VT_BOLD_COLOR_MASK) + 90); } else { fprintf(fp, "\x1b[38;5;%dm", fg_pixel); } if (bg_pixel < 0x8) { fprintf(fp, "\x1b[%dm", bg_pixel + 40); } else if (bg_pixel < 0x10) { fprintf(fp, "\x1b[%dm", (bg_pixel & ~VT_BOLD_COLOR_MASK) + 100); } else { fprintf(fp, "\x1b[48;5;%dm", bg_pixel); } if (line_style & LS_UNDERLINE_SINGLE) { fwrite("\x1b[4m", 1, 4, fp); } else if (line_style & LS_UNDERLINE_DOUBLE) { fwrite("\x1b[21m", 1, 5, fp); } if (line_style & LS_CROSSED_OUT) { fwrite("\x1b[9m", 1, 4, fp); } if (line_style & LS_OVERLINE) { fwrite("\x1b[53m", 1, 5, fp); } if (font & FONT_BOLD) { fwrite("\x1b[1m", 1, 4, fp); } if (font & FONT_ITALIC) { fwrite("\x1b[3m", 1, 4, fp); } if (size_attr == 0) { if (size_attr_set) { fwrite("\x1b#5", 1, 3, fp); } } else { size_attr_set = 1; if (size_attr == DOUBLE_WIDTH) { fwrite("\x1b#6", 1, 3, fp); } else if (size_attr == DOUBLE_HEIGHT_TOP) { fwrite("\x1b#3", 1, 3, fp); } else /* if (size_attr == DOUBLE_HEIGHT_BOTTOM) */ { fwrite("\x1b#4", 1, 3, fp); } } } static void draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, /* must be NULL if wall_picture_bg is 1 */ int x, int y, u_char *str, /* 'len * ch_len' bytes */ u_int len, u_int ch_len, int line_style) { u_char *str2; if (!win->is_mapped) { return; } if ((ch_len != 1 || str[0] >= 0x80) && (str2 = alloca(len * UTF_MAX_SIZE))) { ef_parser_t *parser; ef_charset_t cs; if ((cs = FONT_CS(font->id)) == ISO10646_UCS4_1) { if (!utf16_parser) { utf16_parser = ef_utf16_parser_new(); } parser = utf16_parser; (*parser->init)(parser); (*parser->set_str)(parser, str, len * ch_len); } else { if (!cp_parser) { cp_parser = ef_codepoint_parser_new(); } parser = cp_parser; (*parser->init)(parser); /* 3rd argument of parser->set_str is len(16bit) + cs(16bit) */ (*parser->set_str)(parser, str, (len * ch_len) | (cs << 16)); } (*win->disp->display->conv->init)(win->disp->display->conv); if ((len = (*win->disp->display->conv->convert)(win->disp->display->conv, str2, len *UTF_MAX_SIZE, parser)) > 0) { str = str2; } } else { /* * XXX * Padding white space by font->x_off is processed only if ch_len == 1 for now. * font->x_off is calculated by the right-justified in ui_font.c. */ if (font->x_off >= font->width / 2) { if ((str2 = alloca(len * 2))) { u_int count; for (count = 0; count < len; count++) { str2[count * 2] = str[count]; str2[count * 2 + 1] = ' '; } len *= 2; str = str2; } } len *= ch_len; } fprintf(win->disp->display->fp, "\x1b[%d;%dH", (win->y + win->vmargin + y) / LINE_HEIGHT + 1 + (font->size_attr == DOUBLE_HEIGHT_BOTTOM ? 1 : 0), (win->x + win->hmargin + x) / COL_WIDTH + 1); set_attr(win->disp->display->fp, font->id, fg_color->pixel, bg_color->pixel, line_style, font->size_attr); fwrite(str, 1, len, win->disp->display->fp); fwrite("\x1b[m", 1, 3, win->disp->display->fp); fflush(win->disp->display->fp); } #ifdef USE_LIBSIXEL static int copy_area(ui_window_t *win, Pixmap src, int src_x, /* can be minus */ int src_y, /* can be minus */ u_int width, u_int height, int dst_x, /* can be minus */ int dst_y, /* can be minus */ int accept_margin /* x/y can be minus and over width/height */ ) { int hmargin; int vmargin; int right_margin; int bottom_margin; u_char *picture; if (!win->is_mapped) { return 0; } #if 0 if (accept_margin) #endif { hmargin = win->hmargin; vmargin = win->vmargin; right_margin = bottom_margin = 0; } #if 0 else { hmargin = vmargin = 0; right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); } #endif if (dst_x >= (int)win->width + hmargin || dst_y >= (int)win->height + vmargin) { return 0; } if (dst_x + width > win->width + hmargin - right_margin) { width = win->width + hmargin - right_margin - dst_x; } if (dst_y + height > win->height + vmargin - bottom_margin) { height = win->height + vmargin - bottom_margin - dst_y; } picture = src->image + src->width * 4 * (vmargin + src_y) + 4 * (hmargin + src_x); if (width < src->width) { u_char *clip; u_char *p; size_t line_len; line_len = width * 4; if ((p = clip = calloc(line_len, height))) { u_int count; for (count = 0; count < height; count++) { memcpy(p, picture, line_len); p += line_len; picture += (src->width * 4); } picture = clip; } } fprintf(win->disp->display->fp, "\x1b[%d;%dH", (win->y + win->vmargin + dst_y) / LINE_HEIGHT + 1, (win->x + win->hmargin + dst_x) / COL_WIDTH + 1); ui_display_output_picture(win->disp, picture, width, height); fflush(win->disp->display->fp); if (width < src->width) { free(picture); } return 1; } #else #define copy_area(win, src, src_x, src_y, width, height, dst_x, dst_y, accept_margin) (0) #endif static void clear_margin_area(ui_window_t *win) { u_int right_margin; u_int bottom_margin; right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); if (win->hmargin | win->vmargin | right_margin | bottom_margin) { ui_window_clear(win, -(win->hmargin), -(win->vmargin), win->hmargin, ACTUAL_HEIGHT(win)); ui_window_clear(win, 0, -(win->vmargin), win->width, win->vmargin); ui_window_clear(win, win->width - right_margin, -(win->vmargin), win->hmargin + right_margin, ACTUAL_HEIGHT(win)); ui_window_clear(win, 0, win->height - bottom_margin, win->width, win->vmargin + bottom_margin); } /* XXX */ if (win->num_children == 2 && ACTUAL_HEIGHT(win->children[0]) == ACTUAL_HEIGHT(win->children[1])) { if (win->children[0]->x + ACTUAL_WIDTH(win->children[0]) <= win->children[1]->x) { ui_window_clear(win, win->children[0]->x + ACTUAL_WIDTH(win->children[0]), 0, win->children[1]->x - win->children[0]->x - ACTUAL_WIDTH(win->children[0]), win->height); } else if (win->children[0]->x >= win->children[1]->x + ACTUAL_WIDTH(win->children[1])) { ui_window_clear(win, win->children[1]->x + ACTUAL_WIDTH(win->children[1]), 0, win->children[0]->x - win->children[1]->x - ACTUAL_WIDTH(win->children[1]), win->height); } } } static int fix_rl_boundary(ui_window_t *win, int boundary_start, int *boundary_end) { int margin; margin = RIGHT_MARGIN(win); if (boundary_start > win->width - margin) { return 0; } if (*boundary_end > win->width - margin) { *boundary_end = win->width - margin; } return 1; } static void reset_input_focus(ui_window_t *win) { u_int count; if (win->inputtable) { win->inputtable = -1; } else { win->inputtable = 0; } if (win->is_focused) { win->is_focused = 0; if (win->window_unfocused) { (*win->window_unfocused)(win); } } for (count = 0; count < win->num_children; count++) { reset_input_focus(win->children[count]); } } #if 0 static int check_child_window_area(ui_window_t *win) { if (win->num_children > 0) { u_int count; u_int sum; for (sum = 0, count = 1; count < win->num_children; count++) { sum += (ACTUAL_WIDTH(win->children[count]) * ACTUAL_HEIGHT(win->children[count])); } if (sum < win->disp->width * win->disp->height * 0.9) { return 0; } } return 1; } #endif /* --- global functions --- */ int ui_window_init(ui_window_t *win, u_int width, u_int height, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc, u_int hmargin, u_int vmargin, int create_gc, int inputtable) { memset(win, 0, sizeof(ui_window_t)); /* If wall picture is set, scrollable will be 0. */ win->is_scrollable = 1; win->is_focused = 1; win->inputtable = inputtable; win->is_mapped = 1; win->create_gc = create_gc; win->width = width; win->height = height; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; win->hmargin = 0 /* hmargin */; win->vmargin = 0 /* vmargin */; win->prev_clicked_button = -1; win->app_name = "mlterm"; /* Can be changed in ui_display_show_root(). */ return 1; } void ui_window_final(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_final(win->children[count]); } free(win->children); ui_display_clear_selection(win->disp, win); if (win->window_finalized) { (*win->window_finalized)(win); } } void ui_window_set_type_engine(ui_window_t *win, ui_type_engine_t type_engine) {} void ui_window_add_event_mask(ui_window_t *win, long event_mask) { win->event_mask |= event_mask; } void ui_window_remove_event_mask(ui_window_t *win, long event_mask) { win->event_mask &= ~event_mask; } void ui_window_ungrab_pointer(ui_window_t *win) {} int ui_window_set_wall_picture(ui_window_t *win, Pixmap pic, int do_expose) { u_int count; win->wall_picture = pic; win->is_scrollable = 0; if (do_expose) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_set_wall_picture(win->children[count], ParentRelative, do_expose); } return 1; } int ui_window_unset_wall_picture(ui_window_t *win, int do_expose) { u_int count; win->wall_picture = None; win->is_scrollable = 1; if (do_expose) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif } for (count = 0; count < win->num_children; count++) { ui_window_unset_wall_picture(win->children[count], do_expose); } return 1; } int ui_window_set_transparent( ui_window_t *win, /* Transparency is applied to all children recursively */ ui_picture_modifier_ptr_t pic_mod) { return 0; } int ui_window_unset_transparent(ui_window_t *win) { return 0; } void ui_window_set_cursor(ui_window_t *win, u_int cursor_shape) { win->cursor_shape = cursor_shape; } int ui_window_set_fg_color(ui_window_t *win, ui_color_t *fg_color) { if (win->fg_color.pixel == fg_color->pixel) { return 0; } win->fg_color = *fg_color; return 1; } int ui_window_set_bg_color(ui_window_t *win, ui_color_t *bg_color) { if (win->bg_color.pixel == bg_color->pixel) { return 0; } win->bg_color = *bg_color; clear_margin_area(win); return 1; } int ui_window_add_child(ui_window_t *win, ui_window_t *child, int x, int y, int map) { void *p; if (win->parent) { /* Can't add a grand child window. */ return 0; } if ((p = realloc(win->children, sizeof(*win->children) * (win->num_children + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } win->children = p; child->parent = win; child->x = x + win->hmargin; child->y = y + win->vmargin; if ((child->is_mapped = map) && win->is_focused && child->inputtable) { child->is_focused = 1; } else { child->is_focused = 0; if (child->inputtable > 0) { child->inputtable = -1; } } win->children[win->num_children++] = child; return 1; } int ui_window_remove_child(ui_window_t *win, ui_window_t *child) { u_int count; for (count = 0; count < win->num_children; count++) { if (win->children[count] == child) { child->parent = NULL; win->children[count] = win->children[--win->num_children]; return 1; } } return 0; } ui_window_t *ui_get_root_window(ui_window_t *win) { while (win->parent != NULL) { win = win->parent; } return win; } GC ui_window_get_fg_gc(ui_window_t *win) { return None; } GC ui_window_get_bg_gc(ui_window_t *win) { return None; } int ui_window_show(ui_window_t *win, int hint /* If win->parent(_window) is None, specify XValue|YValue to localte window at win->x/win->y. */ ) { u_int count; if (win->my_window) { /* already shown */ return 0; } if (win->parent) { win->disp = win->parent->disp; win->parent_window = win->parent->my_window; win->gc = win->parent->gc; } win->my_window = win; /* Note that ui_connect_dialog.c uses this. */ if (win->parent && !win->parent->is_transparent && win->parent->wall_picture) { ui_window_set_wall_picture(win, ParentRelative, 0); } /* * This should be called after Window Manager settings, because * ui_set_{window|icon}_name() can be called in win->window_realized(). */ if (win->window_realized) { int is_mapped; /* * Don't show anything until ui_window_resize_with_margin() is called * at the end of this function. */ is_mapped = win->is_mapped; win->is_mapped = 0; /* XXX ui_window_set_wall_picture() depends on this. */ (*win->window_realized)(win); win->is_mapped = is_mapped; } /* * showing child windows. */ for (count = 0; count < win->num_children; count++) { ui_window_show(win->children[count], 0); } if (!win->parent && win->x == 0 && win->y == 0) { ui_window_resize_with_margin(win, win->disp->width, win->disp->height, NOTIFY_TO_MYSELF); } return 1; } void ui_window_map(ui_window_t *win) { if (!win->is_mapped) { win->is_mapped = 1; (*win->window_exposed)(win, 0, 0, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); clear_margin_area(win); } } void ui_window_unmap(ui_window_t *win) { win->is_mapped = 0; } int ui_window_resize(ui_window_t *win, u_int width, /* excluding margin */ u_int height, /* excluding margin */ ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { if ((flag & NOTIFY_TO_PARENT) && !IS_IM_WINDOW(win)) { if (win->parent) { win = win->parent; } /* * XXX * If Font size, screen_{width|height}_ratio or vertical_mode is changed * and ui_window_resize( NOTIFY_TO_PARENT) is called, ignore this call and * resize windows with display size. */ win->width = 0; return ui_window_resize_with_margin(win, win->disp->width, win->disp->height, NOTIFY_TO_MYSELF); } if (width + win->hmargin * 2 > win->disp->width) { width = win->disp->width - win->hmargin * 2; } if (height + win->vmargin * 2 > win->disp->height) { height = win->disp->height - win->vmargin * 2; } if (win->width == width && win->height == height) { return 0; } win->width = width; win->height = height; if (flag & NOTIFY_TO_MYSELF) { if (win->window_resized) { (*win->window_resized)(win); } /* * clear_margin_area() must be called after win->window_resized * because wall_picture can be resized to fit to the new window * size in win->window_resized. * * Don't clear_margin_area() if flag == 0 because ui_window_resize() * is called before ui_window_move() in ui_im_*_screen.c and could * cause segfault. */ clear_margin_area(win); } return 1; } /* * !! Notice !! * This function is not recommended. * Use ui_window_resize if at all possible. */ int ui_window_resize_with_margin(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { return ui_window_resize(win, width - win->hmargin * 2, height - win->vmargin * 2, flag); } void ui_window_set_maximize_flag(ui_window_t *win, ui_maximize_flag_t flag) {} void ui_window_set_normal_hints(ui_window_t *win, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc) {} void ui_window_set_override_redirect(ui_window_t *win, int flag) {} int ui_window_set_borderless_flag(ui_window_t *win, int flag) { return 0; } int ui_window_move(ui_window_t *win, int x, int y) { if (win->parent) { x += win->parent->hmargin; y += win->parent->vmargin; } if (win->x == x && win->y == y) { return 0; } win->x = x; win->y = y; if (/* ! check_child_window_area( ui_get_root_window( win)) || */ win->x + ACTUAL_WIDTH(win) > win->disp->width || win->y + ACTUAL_HEIGHT(win) > win->disp->height) { /* * XXX Hack * (Expect the caller to call ui_window_resize() immediately after this.) */ return 1; } /* * XXX * Check if win is input method window or not, because ui_window_move() * can fall into the following infinite loop on framebuffer. * 1) ui_im_stat_screen::draw_screen() -> * ui_window_move() -> * ui_im_stat_screen::window_exposed() -> * ui_im_stat_screen::draw_screen() * 2) ui_im_candidate_screen::draw_screen() -> * ui_im_candidate_screen::resize() -> * ui_window_move() -> * ui_im_candidate_screen::window_exposed() -> * ui_im_candidate_screen::draw_screen() */ if (!IS_IM_WINDOW(win)) { clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } #if 0 else { ui_window_clear_all(win); } #endif /* XXX */ if (win->parent) { clear_margin_area(win->parent); } } return 1; } void ui_window_clear(ui_window_t *win, int x, int y, u_int width, u_int height) { if (!win->wall_picture) { ui_window_fill_with(win, &win->bg_color, x, y, width, height); } else { Pixmap pic; int src_x; int src_y; if (win->wall_picture == ParentRelative) { src_x = x + win->x; src_y = y + win->y; pic = win->parent->wall_picture; } else { pic = win->wall_picture; src_x = x; src_y = y; } copy_area(win, pic, src_x, src_y, width, height, x, y, 1); } } void ui_window_clear_all(ui_window_t *win) { ui_window_clear(win, 0, 0, win->width, win->height); } void ui_window_fill(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_window_fill_with(win, &win->fg_color, x, y, width, height); } void ui_window_fill_with(ui_window_t *win, ui_color_t *color, int x, int y, u_int width, u_int height) { u_int h; int fill_to_end; if (!win->is_mapped) { return; } if (height < LINE_HEIGHT || width < COL_WIDTH) { return; } if (!IS_IM_WINDOW(win) && (!win->parent || win->x + ACTUAL_WIDTH(win) >= win->parent->width) && x + width >= win->width) { fill_to_end = 1; } else { fill_to_end = 0; } x += (win->x + win->hmargin); y += (win->y + win->vmargin); if (color->pixel < 0x8) { fprintf(win->disp->display->fp, "\x1b[%dm", color->pixel + 40); } else if (color->pixel < 0x10) { fprintf(win->disp->display->fp, "\x1b[%dm", (color->pixel & ~VT_BOLD_COLOR_MASK) + 100); } else { fprintf(win->disp->display->fp, "\x1b[48;5;%dm", color->pixel); } #if 1 for (h = 0; h < height; h += LINE_HEIGHT) { fprintf(win->disp->display->fp, "\x1b[%d;%dH", (y + h) / LINE_HEIGHT + 1, x / COL_WIDTH + 1); if (fill_to_end) { fwrite("\x1b[K", 1, 3, win->disp->display->fp); } else { u_int w; for (w = 0; w < width; w += COL_WIDTH) { fwrite(" ", 1, 1, win->disp->display->fp); } } } #else fprintf(win->disp->display->fp, "\x1b[%d;%d;%d;%d$z", y / LINE_HEIGHT + 1, x / COL_WIDTH + 1, (y + height) / LINE_HEIGHT, (x + width) / COL_WIDTH); #endif fwrite("\x1b[m", 1, 3, win->disp->display->fp); fflush(win->disp->display->fp); } void ui_window_blank(ui_window_t *win) { ui_window_fill_with(win, &win->fg_color, 0, 0, win->width - RIGHT_MARGIN(win), win->height - BOTTOM_MARGIN(win)); } void ui_window_update(ui_window_t *win, int flag) { if (!win->is_mapped) { return; } if (win->update_window) { (*win->update_window)(win, flag); } } void ui_window_update_all(ui_window_t *win) { u_int count; if (!win->is_mapped) { return; } if (!win->parent) { ui_display_reset_cmap(); } clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } for (count = 0; count < win->num_children; count++) { ui_window_update_all(win->children[count]); } } void ui_window_idling(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_idling(win->children[count]); } #ifdef __DEBUG if (win->button_is_pressing) { bl_debug_printf(BL_DEBUG_TAG " button is pressing...\n"); } #endif if (win->button_is_pressing && win->button_press_continued) { (*win->button_press_continued)(win, &win->prev_button_press_event); } else if (win->idling) { (*win->idling)(win); } } /* * Return value: 0 => different window. * 1 => finished processing. */ int ui_window_receive_event(ui_window_t *win, XEvent *event) { #if 0 u_int count; for (count = 0; count < win->num_children; count++) { if (ui_window_receive_event(win->children[count], event)) { return 1; } } #endif if (event->type == KeyPress) { if (win->key_pressed) { (*win->key_pressed)(win, &event->xkey); } } else if (event->type == MotionNotify) { if (win->button_is_pressing) { if (win->button_motion) { event->xmotion.x -= win->hmargin; event->xmotion.y -= win->vmargin; (*win->button_motion)(win, &event->xmotion); } /* following button motion ... */ win->prev_button_press_event.x = event->xmotion.x; win->prev_button_press_event.y = event->xmotion.y; win->prev_button_press_event.time = event->xmotion.time; } else if ((win->event_mask & PointerMotionMask) && win->pointer_motion) { event->xmotion.x -= win->hmargin; event->xmotion.y -= win->vmargin; (*win->pointer_motion)(win, &event->xmotion); } } else if (event->type == ButtonRelease) { if (win->button_released) { event->xbutton.x -= win->hmargin; event->xbutton.y -= win->vmargin; (*win->button_released)(win, &event->xbutton); } win->button_is_pressing = 0; } else if (event->type == ButtonPress) { if (win->button_pressed) { event->xbutton.x -= win->hmargin; event->xbutton.y -= win->vmargin; /* XXX If button is released outside screen, ButtonRelease event might not happen. */ if (win->button_is_pressing) { if (win->button_released) { XButtonEvent ev = event->xbutton; ev.type = ButtonRelease; (*win->button_released)(win, &ev); } win->button_is_pressing = 0; } if (win->click_num == MAX_CLICK) { win->click_num = 0; } if (win->prev_clicked_time + click_interval >= event->xbutton.time && event->xbutton.button == win->prev_clicked_button) { win->click_num++; win->prev_clicked_time = event->xbutton.time; } else { win->click_num = 1; win->prev_clicked_time = event->xbutton.time; win->prev_clicked_button = event->xbutton.button; } (*win->button_pressed)(win, &event->xbutton, win->click_num); } if (event->xbutton.button <= Button3) { /* button_is_pressing flag is on except wheel mouse (Button4/Button5). */ win->button_is_pressing = 1; win->prev_button_press_event = event->xbutton; } if (!win->is_focused && win->inputtable && event->xbutton.button == Button1 && !event->xbutton.state) { ui_window_set_input_focus(win); } } return 1; } size_t ui_window_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { u_char ch; if (seq_len == 0) { return 0; } *parser = NULL; ch = event->ksym; if ((*keysym = event->ksym) >= 0x100) { switch (*keysym) { case XK_KP_Multiply: ch = '*'; break; case XK_KP_Add: ch = '+'; break; case XK_KP_Separator: ch = ','; break; case XK_KP_Subtract: ch = '-'; break; case XK_KP_Divide: ch = '/'; break; default: if (win->disp->display->lock_state & NLKED) { switch (*keysym) { case XK_KP_Insert: ch = '0'; break; case XK_KP_End: ch = '1'; break; case XK_KP_Down: ch = '2'; break; case XK_KP_Next: ch = '3'; break; case XK_KP_Left: ch = '4'; break; case XK_KP_Begin: ch = '5'; break; case XK_KP_Right: ch = '6'; break; case XK_KP_Home: ch = '7'; break; case XK_KP_Up: ch = '8'; break; case XK_KP_Prior: ch = '9'; break; case XK_KP_Delete: ch = '.'; break; default: return 0; } *keysym = ch; } else { return 0; } } } else if (*keysym == XK_Tab && (event->state & ShiftMask)) { *keysym = XK_ISO_Left_Tab; return 0; } /* * Control + '@'(0x40) ... '_'(0x5f) -> 0x00 ... 0x1f * * Not "<= '_'" but "<= 'z'" because Control + 'a' is not * distinguished from Control + 'A'. */ if ((event->state & ControlMask) && (ch == ' ' || ('@' <= ch && ch <= 'z'))) { seq[0] = (ch & 0x1f); if (seq[0] == XK_BackSpace || seq[0] == XK_Tab || seq[0] == XK_Return) { *keysym = seq[0]; event->state &= ~ControlMask; } } else { seq[0] = ch; } return 1; } /* * Scroll functions. * The caller side should clear the scrolled area. */ int ui_window_scroll_upward(ui_window_t *win, u_int height) { return ui_window_scroll_upward_region(win, 0, win->height, height); } int ui_window_is_scrollable(ui_window_t *win) { /* XXX If input method module is activated, don't scroll window. */ if (win->is_scrollable && (win->disp->display->support_hmargin || win->disp->width == ACTUAL_WIDTH(win)) && !IM_WINDOW_IS_ACTIVATED(win->disp)) { return 1; } else { return 0; } } int ui_window_scroll_upward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, height, win->height, win->width); #endif return 0; } return scroll_region(win, 0, boundary_start + height, /* src */ win->width, boundary_end - boundary_start - height, /* size */ 0, boundary_start); /* dst */ } int ui_window_scroll_downward(ui_window_t *win, u_int height) { return ui_window_scroll_downward_region(win, 0, win->height, height); } int ui_window_scroll_downward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d\n", boundary_start, boundary_end, height); #endif return 0; } return scroll_region(win, 0, boundary_start, win->width, boundary_end - boundary_start - height, 0, boundary_start + height); } int ui_window_scroll_leftward(ui_window_t *win, u_int width) { return ui_window_scroll_leftward_region(win, 0, win->width, width); } int ui_window_scroll_leftward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width || !fix_rl_boundary(win, boundary_start, &boundary_end)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, width, win->height, win->width); #endif return 0; } scroll_region(win, boundary_start + width, 0, /* src */ boundary_end - boundary_start - width, win->height, /* size */ boundary_start, 0); /* dst */ return 1; } int ui_window_scroll_rightward(ui_window_t *win, u_int width) { return ui_window_scroll_rightward_region(win, 0, win->width, width); } int ui_window_scroll_rightward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width || !fix_rl_boundary(win, boundary_start, &boundary_end)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d\n", boundary_start, boundary_end, width); #endif return 0; } scroll_region(win, boundary_start, 0, boundary_end - boundary_start - width, win->height, boundary_start + width, 0); return 1; } int ui_window_copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, /* >= 0 */ int src_y, /* >= 0 */ u_int width, u_int height, int dst_x, /* >= 0 */ int dst_y /* >= 0 */ ) { return copy_area(win, src, src_x, src_y, width, height, dst_x, dst_y, 0); } void ui_window_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) {} void ui_window_unset_clip(ui_window_t *win) {} void ui_window_console_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len, int line_style) { if (!win->is_mapped) { return; } fprintf(win->disp->display->fp, "\x1b[%d;%dH", (win->y + win->vmargin + y) / LINE_HEIGHT + 1 + (font->size_attr == DOUBLE_HEIGHT_BOTTOM ? 1 : 0), (win->x + win->hmargin + x) / COL_WIDTH + 1); set_attr(win->disp->display->fp, font->id, fg_color->pixel, bg_color->pixel, line_style, font->size_attr); fwrite("\x1b(0", 1, 3, win->disp->display->fp); fwrite(str, 1, len, win->disp->display->fp); fwrite("\x1b(B\x1b[m", 1, 6, win->disp->display->fp); fflush(win->disp->display->fp); } void ui_window_console_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len, int line_style) { draw_string(win, font, fg_color, bg_color, x, y, str, len, 1, line_style); } void ui_window_console_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, XChar2b *str, u_int len, int line_style) { draw_string(win, font, fg_color, bg_color, x, y, str, len, 2, line_style); } void ui_window_draw_rect_frame(ui_window_t *win, int x1, int y1, int x2, int y2) { ui_window_fill_with(win, &win->fg_color, x1, y1, x2 - x1 + 1, 1); ui_window_fill_with(win, &win->fg_color, x1, y1, 1, y2 - y1 + 1); ui_window_fill_with(win, &win->fg_color, x1, y2, x2 - x1 + 1, 1); ui_window_fill_with(win, &win->fg_color, x2, y1, 1, y2 - y1 + 1); } void ui_set_use_clipboard_selection(int use_it) {} int ui_is_using_clipboard_selection(void) { return 0; } int ui_window_set_selection_owner(ui_window_t *win, Time time) { if (ui_window_is_selection_owner(win)) { /* Already owner */ return 1; } return ui_display_own_selection(win->disp, win); } int ui_window_xct_selection_request(ui_window_t *win, Time time) { u_int count; u_int num_displays; ui_display_t **displays = ui_get_opened_displays(&num_displays); for (count = 0; count < num_displays; count++) { if (displays[count]->selection_owner) { ui_window_t *owner = displays[count]->selection_owner; if (owner->xct_selection_requested) { XSelectionRequestEvent ev; ev.type = 0; ev.target = win; (*owner->xct_selection_requested)(owner, &ev, 0); } break; } } return 1; } int ui_window_utf_selection_request(ui_window_t *win, Time time) { u_int count; u_int num_displays; ui_display_t **displays = ui_get_opened_displays(&num_displays); for (count = 0; count < num_displays; count++) { if (displays[count]->selection_owner) { ui_window_t *owner = displays[count]->selection_owner; if (owner->utf_selection_requested) { XSelectionRequestEvent ev; ev.type = 1; ev.target = win; (*owner->utf_selection_requested)(owner, &ev, 0); } break; } } return 1; } void ui_window_send_picture_selection(ui_window_t *win, Pixmap pixmap, u_int width, u_int height) {} void ui_window_send_text_selection(ui_window_t *win, XSelectionRequestEvent *req_ev, u_char *sel_data, size_t sel_len, Atom sel_type) { if (req_ev) { if (req_ev->type == 1) { if (req_ev->target->utf_selection_notified) { (*req_ev->target->utf_selection_notified)(req_ev->target, sel_data, sel_len); } } else { if (req_ev->target->xct_selection_notified) { (*req_ev->target->xct_selection_notified)(req_ev->target, sel_data, sel_len); } } } } void ui_set_window_name(ui_window_t *win, u_char *name) { vt_char_encoding_t encoding; ef_parser_t *parser; if (name == NULL) { name = win->app_name; } /* See parse_title() in vt_parser.c */ if ((encoding = vt_get_char_encoding("auto")) == VT_UTF8) { fwrite("\x1b[>2t\x1b]2;", 1, 9, win->disp->display->fp); fwrite(name, 1, strlen(name), win->disp->display->fp); fwrite("\x07\x1b[>2T", 1, 6, win->disp->display->fp); } else if ((parser = vt_char_encoding_parser_new(encoding))) { u_char buf[64]; size_t len; (*win->disp->display->conv->init)(win->disp->display->conv); (*parser->init)(parser); (*parser->set_str)(parser, name, strlen(name)); fwrite("\x1b]2;", 1, 4, win->disp->display->fp); while ((len = (*win->disp->display->conv->convert)(win->disp->display->conv, buf, sizeof(buf), parser)) > 0) { fwrite(buf, 1, len, win->disp->display->fp); } fwrite("\x07", 1, 1, win->disp->display->fp); (*parser->delete)(parser); } } void ui_set_icon_name(ui_window_t *win, u_char *name) { vt_char_encoding_t encoding; ef_parser_t *parser; if (name == NULL) { name = win->app_name; } if ((encoding = vt_get_char_encoding("auto")) == VT_UTF8) { fwrite("\x1b[>2t\x1b]1;", 1, 9, win->disp->display->fp); fwrite(name, 1, strlen(name), win->disp->display->fp); fwrite("\x07\x1b[>2T", 1, 6, win->disp->display->fp); } else if ((parser = vt_char_encoding_parser_new(encoding))) { u_char buf[64]; size_t len; (*win->disp->display->conv->init)(win->disp->display->conv); (*parser->init)(parser); (*parser->set_str)(parser, name, strlen(name)); fwrite("\x1b]1;", 1, 4, win->disp->display->fp); while ((len = (*win->disp->display->conv->convert)(win->disp->display->conv, buf, sizeof(buf), parser)) > 0) { fwrite(buf, 1, len, win->disp->display->fp); } fwrite("\x07", 1, 1, win->disp->display->fp); (*parser->delete)(parser); } } void ui_window_set_icon(ui_window_t *win, ui_icon_picture_ptr_t icon) {} void ui_window_remove_icon(ui_window_t *win) {} void ui_window_reset_group(ui_window_t *win) {} void ui_set_click_interval(int interval) { click_interval = interval; } int ui_get_click_interval(void) { return click_interval; } u_int ui_window_get_mod_ignore_mask(ui_window_t *win, KeySym *keysyms) { return ~0; } u_int ui_window_get_mod_meta_mask(ui_window_t *win, char *mod_key) { return ModMask; } void ui_window_bell(ui_window_t *win, ui_bel_mode_t mode) { if (mode & BEL_VISUAL) { ui_window_blank(win); bl_usleep(100000); /* 100 mili sec */ (*win->window_exposed)(win, 0, 0, win->width, win->height); } if (mode & BEL_SOUND) { fwrite("\x07", 1, 1, win->disp->display->fp); } } void ui_window_translate_coordinates(ui_window_t *win, int x, int y, int *global_x, int *global_y) { *global_x = x + win->x; *global_y = y + win->y; } void ui_window_set_input_focus(ui_window_t *win) { reset_input_focus(ui_get_root_window(win)); win->inputtable = win->is_focused = 1; if (win->window_focused) { (*win->window_focused)(win); } } /* for ui_display.c */ void ui_window_clear_margin_area(ui_window_t *win) { clear_margin_area(win); } mlterm-3.8.4/uitoolkit/console/ui.c012075500017600000144000000000001321054731200177212../win32/ui.custar kenusersmlterm-3.8.4/uitoolkit/console/ui_gc.c012075500017600000144000000000001321054731200204702../fb/ui_gc.custar kenusersmlterm-3.8.4/uitoolkit/win32004075500017600000144000000000001321054731200144335ustar kenusersmlterm-3.8.4/uitoolkit/win32/ui_connect_dialog.h010064400017600000144000000006661321054731200203350ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_CONNECT_DIALOG_H__ #define ___UI_CONNECT_DIALOG_H__ #include "../ui_connect_dialog.h" /* Exported for winrs.rs. */ #define IDD_LIST 10 #define IDD_SSH 11 #define IDD_TELNET 12 #define IDD_RLOGIN 13 #define IDD_SERVER 14 #define IDD_PORT 15 #define IDD_USER 16 #define IDD_PASS 17 #define IDD_ENCODING 18 #define IDD_EXEC_CMD 19 #define IDD_X11 20 #endif mlterm-3.8.4/uitoolkit/win32/ui_xic.c010064400017600000144000000141421321054731200161350ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_xic.h" #include #include /* bl_str_alloca_dup */ #include /* malloc */ #include /* bl_get_locale */ #ifdef UTF16_IME_CHAR #include #endif #define HAS_XIM_LISTENER(win, function) ((win)->xim_listener && (win)->xim_listener->function) /* --- static functions --- */ static int get_spot(ui_window_t *win, XPoint *spot) { int x; int y; if (!HAS_XIM_LISTENER(win, get_spot) || win->xim_listener->get_spot(win->xim_listener->self, &x, &y) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " xim_listener->get_spot() failed.\n"); #endif return 0; } spot->x = x + win->hmargin; spot->y = y + win->vmargin; if (win->parent && GetFocus() == ui_get_root_window(win)->my_window) { spot->x += win->x; spot->y += win->y; } return 1; } /* --- global functions --- */ int ui_xic_activate(ui_window_t *win, char *xim_name, char *xim_locale) { if (win->xic) { /* already activated */ return 0; } if ((win->xic = malloc(sizeof(ui_xic_t))) == NULL) { return 0; } #ifndef UTF16_IME_CHAR if ((win->xic->parser = vt_char_encoding_parser_new(vt_get_char_encoding(bl_get_codeset_win32()))) == NULL) #else /* UTF16LE => UTF16BE in ui_xic_get_str. */ if ((win->xic->parser = ef_utf16_parser_new()) == NULL) #endif { free(win->xic); win->xic = NULL; return 0; } win->xic->ic = ImmGetContext(win->my_window); win->xic->prev_keydown_wparam = 0; ui_xic_font_set_changed(win); return 1; } int ui_xic_deactivate(ui_window_t *win) { if (win->xic == NULL) { /* already deactivated */ return 0; } ImmReleaseContext(win->my_window, win->xic->ic); (*win->xic->parser->delete)(win->xic->parser); free(win->xic); win->xic = NULL; return 1; } char *ui_xic_get_xim_name(ui_window_t *win) { return ""; } char *ui_xic_get_default_xim_name(void) { return ""; } int ui_xic_fg_color_changed(ui_window_t *win) { return 0; } int ui_xic_bg_color_changed(ui_window_t *win) { return 0; } int ui_xic_font_set_changed(ui_window_t *win) { if (win->xic && HAS_XIM_LISTENER(win, get_fontset)) { if (ImmSetCompositionFont(win->xic->ic, (*win->xim_listener->get_fontset)(win->xim_listener->self))) { return 1; } } return 0; } int ui_xic_resized(ui_window_t *win) { return 0; } int ui_xic_set_spot(ui_window_t *win) { XPoint spot; COMPOSITIONFORM cf; if (win->xic == NULL || /* * Multiple windows can share the same input context, so windows except * the focused one don't call ImmSetCompositionWindow(). */ !win->is_focused) { return 0; } if (get_spot(win, &spot) == 0) { return 0; } cf.ptCurrentPos = spot; cf.dwStyle = CFS_FORCE_POSITION; return ImmSetCompositionWindow(win->xic->ic, &cf); } size_t ui_xic_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { size_t len; if (win->xic == NULL) { goto zero_return; } *keysym = win->xic->prev_keydown_wparam; if ('a' <= *keysym && *keysym <= VK_F24) { /* * Avoid to conflict 'a' - 'z' with VK_NUMPAD1..9, * VK_MULTIPLY..VK_DIVIDE, VK_F1..VK_F11. * (0x61 - 0x7a) */ *keysym += 0xff00; } win->xic->prev_keydown_wparam = 0; if (seq_len == 0 || event->ch == 0) { goto zero_return; } else if ((event->state & ShiftMask) && *keysym == XK_ISO_Left_Tab) { goto zero_return; } else if (event->state & ControlMask) { if (event->ch == '2' || event->ch == ' ' || event->ch == '@') { event->ch = 0; } else if ('3' <= event->ch && event->ch <= '7') { /* '3' => 0x1b '4' => 0x1c '5' => 0x1d '6' => 0x1e '7' => 0x1f */ event->ch -= 0x18; } else if (event->ch == '8') { event->ch = 0x7f; } else if (event->ch == '0' || event->ch == '1' || event->ch == '9') { /* For modifyOtherKeys */ goto zero_return; } else if (event->ch == '^') { event->ch = 0x1d; } else if (event->ch == '_' || event->ch == '/') { event->ch = 0x1f; } } #ifndef UTF16_IME_CHAR len = 1; if (event->ch > 0xff) { *(seq++) = (char)((event->ch >> 8) & 0xff); if (seq_len == 1) { goto zero_return; } len++; } *seq = (char)(event->ch & 0xff); #else if (seq_len == 1) { goto zero_return; } *(seq++) = (char)((event->ch >> 8) & 0xff); *seq = (char)(event->ch & 0xff); len = 2; #endif /* wparam doesn't tell upper case from lower case. */ if ('A' <= *keysym && *keysym <= 'Z') { if (event->ch < 'A' || 'Z' < event->ch) { /* Upper to Lower case */ *keysym += 0x20; } } *parser = win->xic->parser; return len; zero_return: *parser = NULL; return 0; } size_t ui_xic_get_utf8_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return 0; } int ui_xic_filter_event(ui_window_t *win, /* Should be root window. */ XEvent *event) { u_int count; if (event->msg != WM_KEYDOWN) { return 0; } for (count = 0; count < win->num_children; count++) { ui_xic_filter_event(win->children[count], event); } if (!win->xic) { return 0; } win->xic->prev_keydown_wparam = event->wparam; return 1; } int ui_xic_set_focus(ui_window_t *win) { /* The composition font can be changed by the connection dialog box. */ ui_xic_font_set_changed(win); return 1; } int ui_xic_unset_focus(ui_window_t *win) { return 1; } int ui_xic_is_active(ui_window_t *win) { if (win->xic == NULL) { return 0; } return ImmGetOpenStatus(win->xic->ic); } int ui_xic_switch_mode(ui_window_t *win) { if (win->xic == NULL) { return 0; } return ImmSetOpenStatus(win->xic->ic, (ImmGetOpenStatus(win->xic->ic) == FALSE)); } #if 0 /* * ui_xim.c <-> ui_xic.c communication functions * Not necessary in win32. */ int ui_xim_activated(ui_window_t *win) { return 1; } int ui_xim_destroyed(ui_window_t *win) { return 1; } #endif mlterm-3.8.4/uitoolkit/win32/ui_color.c010064400017600000144000000044341321054731200164730ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_color.h" #include /* memcpy,strcmp */ #include /* sscanf */ #include #include #include /* --- global functions --- */ int ui_load_named_xcolor(ui_display_t *disp, ui_color_t *xcolor, char *name) { vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (vt_color_parse_rgb_name(&red, &green, &blue, &alpha, name)) { return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } if ((color = vt_get_color(name)) != VT_UNKNOWN_COLOR && IS_VTSYS_BASE_COLOR(color)) { /* * 0 : 0x00, 0x00, 0x00 * 1 : 0xff, 0x00, 0x00 * 2 : 0x00, 0xff, 0x00 * 3 : 0xff, 0xff, 0x00 * 4 : 0x00, 0x00, 0xff * 5 : 0xff, 0x00, 0xff * 6 : 0x00, 0xff, 0xff * 7 : 0xe5, 0xe5, 0xe5 */ red = (color & 0x1) ? 0xff : 0; green = (color & 0x2) ? 0xff : 0; blue = (color & 0x4) ? 0xff : 0; } else { if (strcmp(name, "gray") == 0) { red = green = blue = 190; } else if (strcmp(name, "lightgray") == 0) { red = green = blue = 211; } else { return 0; } } return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, 0xff); } int ui_load_rgb_xcolor(ui_display_t *disp, ui_color_t *xcolor, u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha) { xcolor->pixel = RGB(red, green, blue) | (alpha << 24); return 1; } void ui_unload_xcolor(ui_display_t *disp, ui_color_t *xcolor) {} void ui_get_xcolor_rgba(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha /* can be NULL */, ui_color_t *xcolor) { *red = GetRValue(xcolor->pixel); *green = GetGValue(xcolor->pixel); *blue = GetBValue(xcolor->pixel); if (alpha) { *alpha = (xcolor->pixel >> 24) & 0xff; } } int ui_xcolor_fade(ui_display_t *disp, ui_color_t *xcolor, u_int fade_ratio) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; ui_get_xcolor_rgba(&red, &green, &blue, &alpha, xcolor); red = (red * fade_ratio) / 100; green = (green * fade_ratio) / 100; blue = (blue * fade_ratio) / 100; ui_unload_xcolor(disp, xcolor); return ui_load_rgb_xcolor(disp, xcolor, red, green, blue, alpha); } mlterm-3.8.4/uitoolkit/win32/ui.h010064400017600000144000000317751321054731200153120ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ #undef WINVER #define WINVER 0x0500 #undef _WIN32_WINNT #define _WIN32_WINNT 0x0500 /* for WS_EX_LAYERED , LWA_XXX , SetLayeredWindowAttributes */ #if defined(__CYGWIN__) || defined(__MSYS__) #define _WINSOCK2_H /* Don't include winsock2.h which conflicts with \ cygwin/msys types. */ #endif #define _WINSOCK_H /* Don't include winsock.h instead of winsock2.h. */ #include #include /* for msys-1.0 dvlpr */ #ifndef WM_MOUSEHWHEEL #define WM_MOUSEHWHEEL 0x20e #endif typedef struct { HINSTANCE hinst; int fd; } Display; typedef HIMC XIC; typedef HANDLE XID; typedef HANDLE Window; typedef HDC Drawable; typedef HDC Pixmap; typedef HBITMAP PixmapMask; typedef HDC GC; typedef HFONT Font; typedef HCURSOR Cursor; typedef WORD KeyCode; /* Same as type of wparam */ typedef WORD KeySym; /* Same as type of wparam */ typedef struct /* Same as definition in X11/X.h */ { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; typedef struct /* Same as definition in X11/X.h */ { unsigned char byte1; unsigned char byte2; } XChar2b; typedef struct { Window window; UINT msg; WPARAM wparam; LPARAM lparam; } XEvent; typedef struct { unsigned int state; WORD ch; /* unsigned short(16bit) defined in windef.h */ } XKeyEvent; typedef unsigned long Time; /* Same as definition in X11/X.h */ typedef unsigned long Atom; /* Same as definition in X11/X.h */ typedef struct { Time time; int x; int y; unsigned int state; unsigned int button; } XButtonEvent; typedef struct { Time time; int x; int y; unsigned int state; } XMotionEvent; typedef int XSelectionRequestEvent; /* dummy */ typedef struct { Font fid; struct ef_conv *conv; unsigned int size; /* font size */ } XFontStruct; typedef LPLOGFONT XFontSet; #define None 0L /* Same as definition in X11/X.h */ #define NoSymbol 0L /* Same as definition in X11/X.h */ #define CurrentTime 0L /* Same as definition in X11/X.h */ /* Same as definition in X11/X.h */ #define NoEventMask 0L #define KeyPressMask (1L << 0) #define KeyReleaseMask (1L << 1) #define ButtonPressMask (1L << 2) #define ButtonReleaseMask (1L << 3) #define EnterWindowMask (1L << 4) #define LeaveWindowMask (1L << 5) #define PointerMotionMask (1L << 6) #define PointerMotionHintMask (1L << 7) #define Button1MotionMask (1L << 8) #define Button2MotionMask (1L << 9) #define Button3MotionMask (1L << 10) #define Button4MotionMask (1L << 11) #define Button5MotionMask (1L << 12) #define ButtonMotionMask (1L << 13) #define KeymapStateMask (1L << 14) #define ExposureMask (1L << 15) #define VisibilityChangeMask (1L << 16) #define StructureNotifyMask (1L << 17) #define ResizeRedirectMask (1L << 18) #define SubstructureNotifyMask (1L << 19) #define SubstructureRedirectMask (1L << 20) #define FocusChangeMask (1L << 21) #define PropertyChangeMask (1L << 22) #define ColormapChangeMask (1L << 23) #define OwnerGrabButtonMask (1L << 24) #define ShiftMask (1 << 0) #define LockMask (1 << 1) #define ControlMask (1 << 2) #define Mod1Mask (1 << 3) #define Mod2Mask (1 << 4) #define Mod3Mask (1 << 5) #define Mod4Mask (1 << 6) #define Mod5Mask (1 << 7) #define Button1Mask (1 << 8) #define Button2Mask (1 << 9) #define Button3Mask (1 << 10) #define Button4Mask (1 << 11) #define Button5Mask (1 << 12) #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 /* For msys-dtk */ #ifndef VK_OEM_1 #define VK_OEM_1 0xba #endif #ifndef VK_OEM_MINUS #define VK_OEM_MINUS 0xbd #endif #ifndef VK_OEM_2 #define VK_OEM_2 0xbf #endif #ifndef VK_OEM_3 #define VK_OEM_3 0xc0 #endif #ifndef VK_OEM_4 #define VK_OEM_4 0xdb #endif #ifndef VK_OEM_5 #define VK_OEM_5 0xdc #endif #ifndef VK_OEM_6 #define VK_OEM_6 0xdd #endif #ifndef VK_OEM_7 #define VK_OEM_7 0xde #endif #ifndef VK_OEM_AX #define VK_OEM_AX 0xe1 #endif #ifndef VK_OEM_102 #define VK_OEM_102 0xe2 #endif #ifndef VK_NONCONVERT #define VK_NONCONVERT 0x1d #endif #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace VK_BACK #define XK_Tab VK_TAB #define XK_Clear VK_CLEAR #define XK_Linefeed 0xfffa /* dummy */ #define XK_Return VK_RETURN /* * VK_L... and VK_R... are available by GetKeyState(VK_SHIFT, VK_CONTROL or * VK_MENU), * but mlerm doesn't support fow now. */ #if 1 #define XK_Shift_L VK_SHIFT #define XK_Control_L VK_CONTROL #define XK_Alt_L VK_MENU #else #define XK_Shift_L VK_LSHIFT #define XK_Control_L VK_LCONTROL #define XK_Alt_L VK_LMENU #endif #define XK_Shift_R VK_RSHIFT #define XK_Control_R VK_RCONTROL #define XK_Alt_R VK_RMENU #define XK_Meta_L 0xfff9 /* dummy */ #define XK_Meta_R 0xfff8 /* dummy */ #define XK_Pause VK_PAUSE #define XK_Shift_Lock 0xfff7 /* dummy */ #define XK_Caps_Lock VK_CAPITAL #define XK_Escape VK_ESCAPE /* #define XXX VK_SPACE */ #define XK_Prior VK_PRIOR #define XK_Next VK_NEXT #define XK_End VK_END #define XK_Home VK_HOME #define XK_Left VK_LEFT #define XK_Up VK_UP #define XK_Right VK_RIGHT #define XK_Down VK_DOWN #define XK_Select VK_SELECT #define XK_Print VK_PRINT #define XK_Execute VK_EXECUTE /* #define XXX VK_SNAPSHOT ... PrintScreen key */ #define XK_Insert VK_INSERT #define XK_Delete VK_DELETE #define XK_Help VK_HELP #define XK_F1 (VK_F1 + 0xff00) /* 0xff70 (avoid to conflict with 'p') */ #define XK_F2 (VK_F2 + 0xff00) /* 0xff71 (avoid to conflict with 'q') */ #define XK_F3 (VK_F3 + 0xff00) /* 0xff72 (avoid to conflict with 'r') */ #define XK_F4 (VK_F4 + 0xff00) /* 0xff73 (avoid to conflict with 's') */ #define XK_F5 (VK_F5 + 0xff00) /* 0xff74 (avoid to conflict with 't') */ #define XK_F6 (VK_F6 + 0xff00) /* 0xff75 (avoid to conflict with 'u') */ #define XK_F7 (VK_F7 + 0xff00) /* 0xff76 (avoid to conflict with 'v') */ #define XK_F8 (VK_F8 + 0xff00) /* 0xff77 (avoid to conflict with 'w') */ #define XK_F9 (VK_F9 + 0xff00) /* 0xff78 (avoid to conflict with 'x') */ #define XK_F10 (VK_F10 + 0xff00) /* 0xff79 (avoid to conflict with 'y') */ #define XK_F11 (VK_F11 + 0xff00) /* 0xff7a (avoid to conflict with 'z') */ #define XK_F12 (VK_F12 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F13 (VK_F13 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F14 (VK_F14 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F15 (VK_F15 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F16 (VK_F16 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F17 (VK_F17 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F18 (VK_F18 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F19 (VK_F19 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F20 (VK_F20 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F21 (VK_F21 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F22 (VK_F22 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F23 (VK_F23 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_F24 (VK_F24 + 0xff00) /* Add 0xff00 to be sequential number. */ #define XK_FMAX XK_F24 #define XK_Num_Lock VK_NUMLOCK #define XK_Scroll_Lock VK_SCROLL #define XK_Find 0xffeb /* dummy */ #define XK_Menu 0xffea /* dummy */ #define XK_Begin VK_CLEAR #define XK_Muhenkan VK_NONCONVERT #define XK_Henkan_Mode 0xe5 #define XK_Zenkaku_Hankaku 0xe5 /* #define XXX VK_PLAY */ /* #define XXX VK_ZOOM */ #define XK_KP_Prior 0xffe8 /* dummy */ #define XK_KP_Next 0xffe7 /* dummy */ #define XK_KP_End 0xffe6 /* dummy */ #define XK_KP_Home 0xffe5 /* dummy */ #define XK_KP_Left 0xffe4 /* dummy */ #define XK_KP_Up 0xffe3 /* dummy */ #define XK_KP_Right 0xffe2 /* dummy */ #define XK_KP_Down 0xffe1 /* dummy */ #define XK_KP_Insert 0xffe0 /* dummy */ #define XK_KP_Delete 0xffdf /* dummy */ #define XK_KP_F1 0xffde /* dummy */ #define XK_KP_F2 0xffdd /* dummy */ #define XK_KP_F3 0xffdc /* dummy */ #define XK_KP_F4 0xffdb /* dummy */ #define XK_KP_Begin 0xffda /* dummy */ #define XK_KP_Multiply (VK_MULTIPLY + 0xff00) /* 0xff6a (avoid to conflict with 'j') */ #define XK_KP_Add (VK_ADD + 0xff00) /* 0xff6b (avoid to conflict with 'k') */ #define XK_KP_Separator (VK_SEPARATOR + 0xff00) /* 0xff6c (avoid to conflict with 'l') */ #define XK_KP_Subtract (VK_SUBTRACT + 0xff00) /* 0xff6d (avoid to conflict with 'm') */ #define XK_KP_Decimal (VK_DECIMAL + 0xff00) /* 0xff6e (avoid to conflict with 'n') */ #define XK_KP_Divide (VK_DIVIDE + 0xff00) /* 0xff6f (avoid to conflict with 'o') */ #define XK_KP_0 VK_NUMPAD0 #define XK_KP_1 \ (VK_NUMPAD1 + 0xff00) /* 0xff61 (avoid to conflict with 'a') \ */ #define XK_KP_2 \ (VK_NUMPAD2 + 0xff00) /* 0xff62 (avoid to conflict with 'b') \ */ #define XK_KP_3 \ (VK_NUMPAD3 + 0xff00) /* 0xff63 (avoid to conflict with 'c') \ */ #define XK_KP_4 \ (VK_NUMPAD4 + 0xff00) /* 0xff64 (avoid to conflict with 'd') \ */ #define XK_KP_5 \ (VK_NUMPAD5 + 0xff00) /* 0xff65 (avoid to conflict with 'e') \ */ #define XK_KP_6 \ (VK_NUMPAD6 + 0xff00) /* 0xff66 (avoid to conflict with 'f') \ */ #define XK_KP_7 \ (VK_NUMPAD7 + 0xff00) /* 0xff67 (avoid to conflict with 'g') \ */ #define XK_KP_8 \ (VK_NUMPAD8 + 0xff00) /* 0xff68 (avoid to conflict with 'h') \ */ #define XK_KP_9 \ (VK_NUMPAD9 + 0xff00) /* 0xff69 (avoid to conflict with 'i') \ */ /* VK_NUMPAD0 = 0x60, VK_DIVIDE = 0x6f */ #define IsKeypadKey(ksym) ((ksym) == XK_KP_0 || (XK_KP_1 <= (ksym) && (ksym) <= XK_KP_Divide)) #define IsModifierKey(ksym) (0) #define XK_ISO_Left_Tab 0xffd9 /* XPoint(short x, short y) in Xlib. POINT(long x, long y) in win32. */ #define XPoint POINT /* XXX dummy */ #define XKeysymToKeycode(disp, ks) (ks) #define XKeycodeToKeysym(disp, kc, i) (kc) #define XKeysymToString(ks) "" #define DefaultScreen(disp) (0) #define BlackPixel(disp, screen) (0xff000000 | RGB(0, 0, 0)) #define WhitePixel(disp, screen) (0xff000000 | RGB(0xff, 0xff, 0xff)) /* Same as definition in X11/cursorfont.h */ #define XC_xterm 152 #define XC_left_ptr 68 /* Same as definition in X11/Xutil.h */ #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 /* tchar.h doesn't exist in /usr/include/w32api in cygwin. */ #ifndef _T #if defined(_UNICODE) || defined(UNICODE) #define _T(a) L##a #else #define _T(a) a #endif #endif /* _T */ #if 1 /* Use xxxxW functions for RegisterClass etc. */ #define UTF16_IME_CHAR #endif #ifdef UTF16_IME_CHAR #undef GetMessage #define GetMessage(a, b, c, d) GetMessageW(a, b, c, d) #undef DispatchMessage #define DispatchMessage(a) DispatchMessageW(a) #undef PeekMessage #define PeekMessage(a, b, c, d, e) PeekMessageW(a, b, c, d, e) #undef DefWindowProc #define DefWindowProc(a, b, c, d) DefWindowProcW(a, b, c, d) #undef WNDCLASS #define WNDCLASS WNDCLASSW #undef RegisterClass #define RegisterClass(a) RegisterClassW(a) #undef CreateWindowEx #define CreateWindowEx(a, b, c, d, e, f, g, h, i, j, k, l) \ CreateWindowExW(a, b, c, d, e, f, g, h, i, j, k, l) #define __(a) L##a #else /* UTF16_IME_CHAR */ #define __(a) _T(a) #endif /* UTF16_IME_CHAR */ int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height); KeySym XStringToKeysym(char *str); /* === Platform dependent options === */ #undef UI_COLOR_HAS_RGB #define SUPPORT_TRUE_TRANSPARENT_BG #define TYPE_XCORE_SCALABLE #undef MANAGE_ROOT_WINDOWS_BY_MYSELF #undef MANAGE_SUB_WINDOWS_BY_MYSELF #undef INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #define SUPPORT_POINT_SIZE_FONT #define XIM_SPOT_IS_LINE_TOP #define USE_GC #define CHANGEABLE_CURSOR #undef PLUGIN_MODULE_SUFFIX #undef KEY_REPEAT_BY_MYSELF #undef ROTATABLE_DISPLAY #undef PSEUDO_COLOR_DISPLAY #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #define SUPPORT_URGENT_BELL #undef FORCE_UNICODE #undef NEED_DISPLAY_SYNC_EVERY_TIME #undef DRAW_SCREEN_IN_PIXELS #undef NO_DRAW_IMAGE_STRING /* for ui_picture.c */ #ifdef __CYGWIN__ #define HAVE_PTHREAD #else /* libpthread is not linked to mlterm explicitly for now. */ #undef HAVE_PTHREAD #endif #undef COMPOSE_DECSP_FONT #undef USE_REAL_VERTICAL_FONT #endif mlterm-3.8.4/uitoolkit/win32/ui_gc.c010064400017600000144000000033711321054731200157450ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_gc.h" #include /* malloc */ #include "../ui_color.h" #define ARGB_TO_RGB(pixel) ((pixel)&0x00ffffff) /* --- global functions --- */ ui_gc_t *ui_gc_new(Display *display, Drawable drawable) { ui_gc_t *gc; if ((gc = calloc(1, sizeof(ui_gc_t))) == NULL) { return NULL; } gc->display = display; /* Default value of GC. */ gc->fg_color = RGB(0, 0, 0); gc->bg_color = RGB(0xff, 0xff, 0xff); return gc; } void ui_gc_delete(ui_gc_t *gc) { free(gc); } void ui_set_gc(ui_gc_t *gc, GC _gc) { gc->gc = _gc; SetTextAlign(gc->gc, TA_LEFT | TA_BASELINE); gc->fg_color = RGB(0, 0, 0); /* black */ #if 0 /* black is default value */ SetTextColor(gc->gc, gc->fg_color); #endif gc->bg_color = RGB(0xff, 0xff, 0xff); /* white */ #if 0 /* white is default value */ SetBkColor(gc->gc, gc->bg_color); #endif gc->fid = None; gc->pen = None; gc->brush = None; } void ui_gc_set_fg_color(ui_gc_t *gc, u_long fg_color) { if (ARGB_TO_RGB(fg_color) != gc->fg_color) { SetTextColor(gc->gc, (gc->fg_color = ARGB_TO_RGB(fg_color))); } } void ui_gc_set_bg_color(ui_gc_t *gc, u_long bg_color) { if (ARGB_TO_RGB(bg_color) != gc->bg_color) { SetBkColor(gc->gc, (gc->bg_color = ARGB_TO_RGB(bg_color))); } } void ui_gc_set_fid(ui_gc_t *gc, Font fid) { if (gc->fid != fid) { SelectObject(gc->gc, fid); gc->fid = fid; } } HPEN ui_gc_set_pen(ui_gc_t *gc, HPEN pen) { if (gc->pen != pen) { gc->pen = pen; return SelectObject(gc->gc, pen); } return None; } HBRUSH ui_gc_set_brush(ui_gc_t *gc, HBRUSH brush) { if (gc->brush != brush) { gc->brush = brush; return SelectObject(gc->gc, brush); } return None; } mlterm-3.8.4/uitoolkit/win32/ui_gdiobj_pool.h010064400017600000144000000005771321054731200176550ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_GDIOBJ_POOL_H__ #define __UI_GDIOBJ_POOL_H__ #include #include "ui.h" int ui_gdiobj_pool_init(void); int ui_gdiobj_pool_final(void); HPEN ui_acquire_pen(u_long rgb); int ui_release_pen(HPEN pen); HBRUSH ui_acquire_brush(u_long rgb); int ui_release_brush(HBRUSH brush); #endif mlterm-3.8.4/uitoolkit/win32/ui_gdiobj_pool.c010064400017600000144000000071331321054731200176430ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_gdiobj_pool.h" #include typedef struct stock_pen { HPEN pen; u_long rgb; int ref_count; } stock_pen_t; typedef struct stock_brush { HBRUSH brush; u_long rgb; int ref_count; } stock_brush_t; /* --- static variables --- */ static stock_pen_t *stock_pens; static u_int num_stock_pens; static stock_brush_t *stock_brushes; static u_int num_stock_brushes; /* --- static functions --- */ static int garbage_unused_objects(void) { int count; for (count = 0; count < num_stock_pens;) { if (stock_pens[count].ref_count <= 0) { DeleteObject(stock_pens[count].pen); stock_pens[count] = stock_pens[--num_stock_pens]; } else { count++; } } for (count = 0; count < num_stock_brushes;) { if (stock_brushes[count].ref_count <= 0) { DeleteObject(stock_brushes[count].brush); stock_brushes[count] = stock_brushes[--num_stock_brushes]; } else { count++; } } return 1; } /* --- global functions --- */ int ui_gdiobj_pool_init(void) { return 1; } int ui_gdiobj_pool_final(void) { u_int count; for (count = 0; count < num_stock_pens; count++) { DeleteObject(stock_pens[count].pen); } for (count = 0; count < num_stock_brushes; count++) { DeleteObject(stock_brushes[count].brush); } free(stock_pens); free(stock_brushes); return 1; } HPEN ui_acquire_pen(u_long rgb) { u_int count; /* Remove alpha */ rgb &= 0xffffff; for (count = 0; count < num_stock_pens; count++) { if (rgb == stock_pens[count].rgb) { stock_pens[count].ref_count++; return stock_pens[count].pen; } } if (rgb == RGB(0, 0, 0)) { return GetStockObject(BLACK_PEN); } else if (rgb == RGB(0xff, 0xff, 0xff)) { return GetStockObject(WHITE_PEN); } else { void *p; if (num_stock_pens % 10 == 9) { garbage_unused_objects(); } if ((p = realloc(stock_pens, sizeof(stock_pen_t) * (num_stock_pens + 1))) == NULL) { return None; } stock_pens = p; stock_pens[num_stock_pens].rgb = rgb; stock_pens[num_stock_pens].pen = CreatePen(PS_SOLID, 1, rgb); stock_pens[num_stock_pens].ref_count = 1; return stock_pens[num_stock_pens++].pen; } } int ui_release_pen(HPEN pen) { u_int count; for (count = 0; count < num_stock_pens; count++) { if (pen == stock_pens[count].pen) { --stock_pens[count].ref_count; return 1; } } return 0; } HBRUSH ui_acquire_brush(u_long rgb) { u_int count; /* Remove alpha */ rgb &= 0xffffff; for (count = 0; count < num_stock_brushes; count++) { if (rgb == stock_brushes[count].rgb) { stock_brushes[count].ref_count++; return stock_brushes[count].brush; } } if (rgb == RGB(0, 0, 0)) { return GetStockObject(BLACK_BRUSH); } else if (rgb == RGB(0xff, 0xff, 0xff)) { return GetStockObject(WHITE_BRUSH); } else { void *p; if (num_stock_brushes % 10 == 9) { garbage_unused_objects(); } if ((p = realloc(stock_brushes, sizeof(stock_brush_t) * (num_stock_brushes + 1))) == NULL) { return None; } stock_brushes = p; stock_brushes[num_stock_brushes].rgb = rgb; stock_brushes[num_stock_brushes].brush = CreateSolidBrush(rgb); stock_brushes[num_stock_brushes].ref_count = 1; return stock_brushes[num_stock_brushes++].brush; } } int ui_release_brush(HBRUSH brush) { u_int count; for (count = 0; count < num_stock_brushes; count++) { if (brush == stock_brushes[count].brush) { --stock_brushes[count].ref_count; return 1; } } return 0; } mlterm-3.8.4/uitoolkit/win32/ui_connect_dialog.c010064400017600000144000000225131321054731200203230ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include /* USE_WIN32API */ /* Note that protocols except ssh aren't supported if USE_LIBSSH2 is defined.*/ #if defined(USE_WIN32API) || defined(USE_LIBSSH2) #include "ui_connect_dialog.h" #include /* sprintf */ #include /* malloc */ #include /* strdup */ #include #include /* bl_parse_uri */ /* --- static variables --- */ static int selected_proto = -1; static char **server_list; static char *default_server; /* These variables are set in IDOK. If empty string is input, nothing is set * (==NULL). */ static char *selected_server; static char *selected_port; static char *selected_user; static char *selected_pass; static char *selected_encoding; static char *selected_exec_cmd; static int use_x11_forwarding; /* --- static functions --- */ /* * Parsing "://@::". */ static int parse(int *protoid, /* If seq doesn't have proto, -1 is set. */ char **user, /* If seq doesn't have user, NULL is set. */ char **host, char **port, char **encoding, /* If seq doesn't have encoding, NULL is set. */ char *seq /* broken in this function. */ ) { char *proto; if (!bl_parse_uri(&proto, user, host, port, NULL, encoding, seq)) { return 0; } if (proto) { if (strcmp(proto, "ssh") == 0) { *protoid = IDD_SSH; } else if (strcmp(proto, "telnet") == 0) { *protoid = IDD_TELNET; } else if (strcmp(proto, "rlogin") == 0) { *protoid = IDD_RLOGIN; } else { *protoid = -1; } } else { *protoid = -1; } return 1; } static char *get_window_text(HWND win) { char *p; int len; if ((len = GetWindowTextLength(win)) > 0 && (p = malloc(len + 1))) { if (GetWindowText(win, p, len + 1) > 0) { return p; } free(p); } return NULL; } LRESULT CALLBACK dialog_proc(HWND dlgwin, UINT msg, WPARAM wparam, LPARAM lparam) { switch (msg) { case WM_INITDIALOG: { HWND win; HWND focus_win; char *user_env; focus_win = None; win = GetDlgItem(dlgwin, IDD_LIST); if (server_list) { int count; for (count = 0; server_list[count]; count++) { SendMessage(win, CB_ADDSTRING, 0, (LPARAM)server_list[count]); } if (count > 1) { focus_win = win; } } else { EnableWindow(win, FALSE); } selected_proto = IDD_SSH; user_env = getenv("USERNAME"); if (default_server) { LRESULT res; char *user; int proto; char *server; char *port; char *encoding; res = SendMessage(win, CB_FINDSTRINGEXACT, 0, (LPARAM)default_server); if (res != CB_ERR) { SendMessage(win, CB_SETCURSEL, res, 0); } if (parse(&proto, &user, &server, &port, &encoding, bl_str_alloca_dup(default_server))) { SetWindowText(GetDlgItem(dlgwin, IDD_SERVER), server); if (port) { SetWindowText(GetDlgItem(dlgwin, IDD_PORT), port); } if (user || (user = user_env)) { SetWindowText(GetDlgItem(dlgwin, IDD_USER), user); } #ifndef USE_LIBSSH2 if (proto != -1) { selected_proto = proto; } #endif if (encoding) { SetWindowText(GetDlgItem(dlgwin, IDD_ENCODING), encoding); } } } else if (user_env) { SetWindowText(GetDlgItem(dlgwin, IDD_USER), user_env); } #ifdef USE_LIBSSH2 EnableWindow(GetDlgItem(dlgwin, IDD_TELNET), FALSE); EnableWindow(GetDlgItem(dlgwin, IDD_RLOGIN), FALSE); CheckRadioButton(dlgwin, IDD_SSH, IDD_RLOGIN, IDD_SSH); #else CheckRadioButton(dlgwin, IDD_SSH, IDD_RLOGIN, selected_proto); #endif #ifdef USE_LIBSSH2 if (use_x11_forwarding) { SendMessage(GetDlgItem(dlgwin, IDD_X11), BM_SETCHECK, BST_CHECKED, 0); } #else EnableWindow(GetDlgItem(dlgwin, IDD_X11), FALSE); #endif if (focus_win) { SetFocus(focus_win); } else { SetFocus(GetDlgItem(dlgwin, selected_proto)); } return FALSE; } case WM_COMMAND: switch (LOWORD(wparam)) { case IDOK: selected_server = get_window_text(GetDlgItem(dlgwin, IDD_SERVER)); selected_port = get_window_text(GetDlgItem(dlgwin, IDD_PORT)); selected_user = get_window_text(GetDlgItem(dlgwin, IDD_USER)); selected_pass = get_window_text(GetDlgItem(dlgwin, IDD_PASS)); selected_encoding = get_window_text(GetDlgItem(dlgwin, IDD_ENCODING)); selected_exec_cmd = get_window_text(GetDlgItem(dlgwin, IDD_EXEC_CMD)); EndDialog(dlgwin, IDOK); break; case IDCANCEL: selected_proto = -1; EndDialog(dlgwin, IDCANCEL); break; case IDD_LIST: if (HIWORD(wparam) == CBN_SELCHANGE) { Window win; LRESULT idx; LRESULT len; char *seq; char *user; int proto; char *server; char *port; char *encoding; win = GetDlgItem(dlgwin, IDD_LIST); if ((idx = SendMessage(win, CB_GETCURSEL, 0, 0)) == CB_ERR || (len = SendMessage(win, CB_GETLBTEXTLEN, idx, 0)) == CB_ERR || (seq = alloca(len + 1)) == NULL || (SendMessage(win, CB_GETLBTEXT, idx, seq)) == CB_ERR) { seq = NULL; } if (seq && parse(&proto, &user, &server, &port, &encoding, seq)) { SetWindowText(GetDlgItem(dlgwin, IDD_SERVER), server); if (port) { SetWindowText(GetDlgItem(dlgwin, IDD_PORT), port); } if (user || (user = getenv("USERNAME")) || (user = "")) { SetWindowText(GetDlgItem(dlgwin, IDD_USER), user); } if (proto == -1) { selected_proto = IDD_SSH; } else { selected_proto = proto; } if (encoding) { SetWindowText(GetDlgItem(dlgwin, IDD_ENCODING), encoding); } CheckRadioButton(dlgwin, IDD_SSH, IDD_RLOGIN, selected_proto); } } break; case IDD_SSH: case IDD_TELNET: case IDD_RLOGIN: selected_proto = LOWORD(wparam); CheckRadioButton(dlgwin, IDD_SSH, IDD_RLOGIN, selected_proto); break; case IDD_X11: use_x11_forwarding = (SendMessage(GetDlgItem(dlgwin, IDD_X11), BM_GETCHECK, 0, 0) == BST_CHECKED); break; default: return FALSE; } default: return FALSE; } return TRUE; } /* --- global functions --- */ int ui_connect_dialog(char **uri, /* Should be free'ed by those who call this. */ char **pass, /* Same as uri. If pass is not input, "" is set. */ char **exec_cmd, /* Same as uri. If exec_cmd is not input, NULL is set. */ int *x11_fwd, /* in/out */ char *display_name, Window parent_window, char **sv_list, char *def_server /* (@)(:)(:). */ ) { int ret; char *proto; server_list = sv_list; default_server = def_server; use_x11_forwarding = *x11_fwd; #ifdef DEBUG { char **p; bl_debug_printf("DEFAULT server %s\n", default_server); if (server_list) { bl_debug_printf("SERVER LIST "); p = server_list; while (*p) { bl_msg_printf("%s ", *p); p++; } bl_msg_printf("\n"); } } #endif DialogBox(GetModuleHandle(NULL), "ConnectDialog", parent_window, (DLGPROC)dialog_proc); ret = 0; if (selected_server == NULL) { goto end; } else if (selected_proto == IDD_SSH) { proto = "ssh://"; } else if (selected_proto == IDD_TELNET) { proto = "telnet://"; } else if (selected_proto == IDD_RLOGIN) { proto = "rlogin://"; } else { goto end; } if (!(*uri = malloc(strlen(proto) + (selected_user ? strlen(selected_user) + 1 : 0) + strlen(selected_server) + 1 + (selected_port ? strlen(selected_port) + 1 : 0) + (selected_encoding ? strlen(selected_encoding) + 1 : 0)))) { goto end; } (*uri)[0] = '\0'; strcat(*uri, proto); if (selected_user) { strcat(*uri, selected_user); strcat(*uri, "@"); } strcat(*uri, selected_server); if (selected_port) { strcat(*uri, ":"); strcat(*uri, selected_port); } if (selected_encoding) { strcat(*uri, ":"); strcat(*uri, selected_encoding); } *pass = selected_pass ? selected_pass : strdup(""); *exec_cmd = selected_exec_cmd; *x11_fwd = use_x11_forwarding; /* Successfully */ ret = 1; end: selected_proto = -1; server_list = NULL; default_server = NULL; free(selected_server); selected_server = NULL; free(selected_port); selected_port = NULL; free(selected_user); selected_user = NULL; free(selected_encoding); selected_encoding = NULL; if (ret == 0) { free(selected_pass); free(selected_exec_cmd); } selected_pass = NULL; selected_exec_cmd = NULL; return ret; } #endif mlterm-3.8.4/uitoolkit/win32/ui_imagelib.c010064400017600000144000000243521321054731200171270ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef NO_IMAGE #include "../ui_imagelib.h" #include /* sprintf */ #include /* pow */ #include /* DIGIT_STR_LEN */ #include #include #if defined(__CYGWIN__) || defined(__MSYS__) #include /* bl_conv_to_win32_path */ #endif #if 1 #define BUILTIN_SIXEL #endif /* --- static functions --- */ #define CARD_HEAD_SIZE 0 #include "../../common/c_sixel.c" #include "../../common/c_regis.c" static void value_table_refresh(u_char *value_table, /* 256 bytes */ ui_picture_modifier_t *mod) { int i, tmp; double real_gamma, real_brightness, real_contrast; real_gamma = (double)(mod->gamma) / 100; real_contrast = (double)(mod->contrast) / 100; real_brightness = (double)(mod->brightness) / 100; for (i = 0; i < 256; i++) { tmp = real_contrast * (255 * pow(((double)i + 0.5) / 255, real_gamma) - 128) + 128 * real_brightness; if (tmp >= 255) { break; } else if (tmp < 0) { value_table[i] = 0; } else { value_table[i] = tmp; } } for (; i < 256; i++) { value_table[i] = 255; } } static void adjust_pixmap(u_char *image, u_int width, u_int height, ui_picture_modifier_t *pic_mod) { u_char *value_table; u_int y; u_int x; u_char r, g, b, a; u_int32_t pixel; if (!ui_picture_modifier_is_normal(pic_mod) && (value_table = alloca(256))) { value_table_refresh(value_table, pic_mod); } else { return; } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { pixel = *(((u_int32_t *)image) + (y * width + x)); a = (pixel >> 24) & 0xff; r = (pixel >> 16) & 0xff; g = (pixel >> 8) & 0xff; b = pixel & 0xff; r = (value_table[r] * (255 - pic_mod->alpha) + pic_mod->blend_red * pic_mod->alpha) / 255; g = (value_table[g] * (255 - pic_mod->alpha) + pic_mod->blend_green * pic_mod->alpha) / 255; b = (value_table[b] * (255 - pic_mod->alpha) + pic_mod->blend_blue * pic_mod->alpha) / 255; pixel = (a << 24) | (r << 16) | (g << 8) | b; *(((u_int32_t *)image) + (y * width + x)) = pixel; } } } static int load_file(char *path, /* must be UTF-8 */ u_int *width, u_int *height, ui_picture_modifier_t *pic_mod, HBITMAP *hbmp, HBITMAP *hbmp_mask) { char *suffix; char *cmd_line; WCHAR *w_cmd_line; int num; SECURITY_ATTRIBUTES sa; HANDLE output_write; HANDLE output_read; PROCESS_INFORMATION pi; STARTUPINFO si; u_int32_t tmp; DWORD n_rd; DWORD size; BITMAPINFOHEADER header; HDC hdc; BYTE *image; suffix = path + strlen(path) - 4; #ifdef BUILTIN_SIXEL if (strcasecmp(suffix, ".six") == 0 && *width == 0 && *height == 0 && /* XXX fopen() in load_sixel_from_file() on win32api doesn't support UTF-8. */ (image = (u_int32_t *)load_sixel_from_file(path, width, height))) { goto loaded; } #endif if (strcasecmp(suffix, ".rgs") == 0) { convert_regis_to_bmp(path); } #define CMD_LINE_FMT "mlimgloader.exe 0 %u %u \"%s\" -c" if (!(cmd_line = alloca(sizeof(CMD_LINE_FMT) + DIGIT_STR_LEN(int)*2 + strlen(path)))) { return 0; } sprintf(cmd_line, CMD_LINE_FMT, *width, *height, path); /* Assume that path is UTF-8 */ if ((num = MultiByteToWideChar(CP_UTF8, 0, cmd_line, strlen(cmd_line) + 1, NULL, 0)) == 0 || !(w_cmd_line = alloca(sizeof(WCHAR) * num))) { return 0; } MultiByteToWideChar(CP_UTF8, 0, cmd_line, strlen(cmd_line) + 1, w_cmd_line, num); /* Set up the security attributes struct. */ sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; sa.bInheritHandle = TRUE; /* Create the child output pipe. */ if (!CreatePipe(&output_read, &output_write, &sa, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreatePipe() failed.\n"); #endif return 0; } ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_USESTDHANDLES | STARTF_FORCEOFFFEEDBACK; si.hStdOutput = output_write; si.hStdInput = GetStdHandle(STD_INPUT_HANDLE); si.hStdError = GetStdHandle(STD_ERROR_HANDLE); if (!CreateProcessW(NULL, w_cmd_line, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { #if defined(__CYGWIN__) || defined(__MSYS__) #ifndef BINDIR #define BINDIR "/bin" #endif /* MAX_PATH which is 260 (3+255+1+1) is defined in win32 alone. */ char bindir[MAX_PATH]; char *new_cmd_line; if (bl_conv_to_win32_path(BINDIR, bindir, sizeof(bindir)) == 0 && (new_cmd_line = alloca(strlen(bindir) + 1 + strlen(cmd_line) + 1))) { sprintf(new_cmd_line, "%s\\%s", bindir, cmd_line); num = MultiByteToWideChar(CP_UTF8, 0, new_cmd_line, strlen(new_cmd_line) + 1, NULL, 0); if ((w_cmd_line = alloca(sizeof(WCHAR) * num))) { MultiByteToWideChar(CP_UTF8, 0, new_cmd_line, strlen(new_cmd_line) + 1, w_cmd_line, num); if (CreateProcessW(NULL, w_cmd_line, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { goto executed; } } } #endif #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " CreateProcess() failed.\n"); #endif CloseHandle(output_write); goto error; } executed: CloseHandle(output_write); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); if (!ReadFile(output_read, &tmp, sizeof(u_int32_t), &n_rd, NULL) || n_rd != sizeof(u_int32_t)) { goto error; } size = (*width = tmp) * sizeof(u_int32_t); if (!ReadFile(output_read, &tmp, sizeof(u_int32_t), &n_rd, NULL) || n_rd != sizeof(u_int32_t)) { goto error; } size *= (*height = tmp); if (!(image = malloc(size))) { goto error; } else { BYTE *p; p = image; while (ReadFile(output_read, p, size, &n_rd, NULL) && n_rd > 0) { p += n_rd; size -= n_rd; } if (size > 0) { free(image); goto error; } } CloseHandle(output_read); loaded: adjust_pixmap(image, *width, *height, pic_mod); if (hbmp_mask) { int x; int y; u_int data_width; BYTE *mask_data; BYTE *dst; *hbmp_mask = None; /* align each line by short. */ data_width = ((*width) + 15) / 16 * 2; if ((dst = mask_data = calloc(data_width * (*height), 1))) { int has_tp; u_int32_t *src; has_tp = 0; src = (u_int32_t *)image; for (y = 0; y < *height; y++) { for (x = 0; x < *width; x++) { if (*src >= 0x80000000) { dst[x / 8] |= (1 << (7 - x % 8)); } else { has_tp = 1; } src++; } dst += data_width; } if (has_tp) { *hbmp_mask = CreateBitmap(*width, *height, 1, 1, mask_data); } free(mask_data); } } header.biSize = sizeof(BITMAPINFOHEADER); header.biWidth = *width; header.biHeight = -(*height); header.biPlanes = 1; header.biBitCount = 32; header.biCompression = BI_RGB; header.biSizeImage = (*width) * (*height) * 4; header.biXPelsPerMeter = 0; header.biYPelsPerMeter = 0; header.biClrUsed = 0; header.biClrImportant = 0; hdc = GetDC(NULL); *hbmp = CreateDIBitmap(hdc, &header, CBM_INIT, image, (BITMAPINFO *)&header, DIB_RGB_COLORS); ReleaseDC(NULL, hdc); free(image); return 1; error: CloseHandle(output_read); return 0; } /* --- global functions --- */ void ui_imagelib_display_opened(Display *display) {} void ui_imagelib_display_closed(Display *display) {} Pixmap ui_imagelib_load_file_for_background(ui_window_t *win, char *path, ui_picture_modifier_t *pic_mod) { u_int width; u_int height; HBITMAP hbmp; HBITMAP hbmp_w; HDC hdc; HDC hmdc_tmp; HDC hmdc; width = height = 0; if (!load_file(path, &width, &height, pic_mod, &hbmp, NULL)) { BITMAP bmp; #if defined(__CYGWIN__) || defined(__MSYS__) /* MAX_PATH which is 260 (3+255+1+1) is defined in win32 alone. */ char winpath[MAX_PATH]; if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) < 0) { return None; } path = winpath; #endif if (!(hbmp = LoadImage(0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE))) { return None; } GetObject(hbmp, sizeof(BITMAP), &bmp); width = bmp.bmWidth; height = bmp.bmHeight; } hdc = GetDC(win->my_window); hmdc_tmp = CreateCompatibleDC(hdc); SelectObject(hmdc_tmp, hbmp); hbmp_w = CreateCompatibleBitmap(hdc, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); hmdc = CreateCompatibleDC(hdc); SelectObject(hmdc, hbmp_w); ReleaseDC(win->my_window, hdc); SetStretchBltMode(hmdc, COLORONCOLOR); StretchBlt(hmdc, 0, 0, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), hmdc_tmp, 0, 0, width, height, SRCCOPY); DeleteDC(hmdc_tmp); DeleteObject(hbmp); return hmdc; } int ui_imagelib_root_pixmap_available(Display *display) { return 0; } Pixmap ui_imagelib_get_transparent_background(ui_window_t *win, ui_picture_modifier_t *pic_mod) { return None; } int ui_imagelib_load_file(ui_display_t *disp, char *path, u_int32_t **cardinal, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height) { HBITMAP hbmp; HDC hdc; HDC hmdc; if (cardinal) { return 0; } if (!load_file(path, width, height, NULL, &hbmp, mask)) { BITMAP bmp; #if defined(__CYGWIN__) || defined(__MSYS__) /* MAX_PATH which is 260 (3+255+1+1) is defined in win32 alone. */ char winpath[MAX_PATH]; if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) < 0) { return 0; } path = winpath; #endif if (!(hbmp = LoadImage(0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE))) { return 0; } GetObject(hbmp, sizeof(BITMAP), &bmp); *width = bmp.bmWidth; *height = bmp.bmHeight; if (mask) { *mask = NULL; } } hdc = GetDC(NULL); hmdc = CreateCompatibleDC(hdc); SelectObject(hmdc, hbmp); ReleaseDC(NULL, hdc); DeleteObject(hbmp); *pixmap = hmdc; return 1; } void ui_delete_image(Display *display, Pixmap pixmap) { HBITMAP bmp; bmp = CreateBitmap(1, 1, 1, 1, NULL); DeleteObject(SelectObject(pixmap, bmp)); DeleteDC(pixmap); DeleteObject(bmp); } void ui_delete_mask(Display *display, PixmapMask mask /* can be NULL */) { if (mask) { DeleteObject(mask); } } #endif /* NO_IMAGE */ mlterm-3.8.4/uitoolkit/win32/ui_display.h010064400017600000144000000003331321054731200170210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include "../ui_display.h" Cursor ui_display_get_cursor(ui_display_t *disp, u_int shape); #endif mlterm-3.8.4/uitoolkit/win32/ui_font.c010064400017600000144000000561151321054731200163260ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_font.h" #include #include /* memset/strncasecmp */ #include #include /* bl_snprintf */ #include /* alloca */ #include /* bl_str_sep/bl_str_to_int */ #include /* bl_get_lang() */ #include #include #include /* ui_convert_to_xft_ucs4 */ #ifdef USE_OT_LAYOUT #include "otl.h" #endif #define FOREACH_FONT_ENCODINGS(csinfo, font_encoding_p) \ for ((font_encoding_p) = &csinfo->encoding_names[0]; *(font_encoding_p); (font_encoding_p)++) #if 0 #define __DEBUG #endif typedef struct wincs_info { DWORD cs; vt_char_encoding_t encoding; } wincs_info_t; typedef struct cs_info { ef_charset_t cs; DWORD wincs; } cs_info_t; /* --- static variables --- */ static wincs_info_t wincs_info_table[] = { { DEFAULT_CHARSET, VT_UNKNOWN_ENCODING, }, { SYMBOL_CHARSET, VT_UNKNOWN_ENCODING, }, { OEM_CHARSET, VT_UNKNOWN_ENCODING, }, { ANSI_CHARSET, VT_CP1252, }, { RUSSIAN_CHARSET, VT_CP1251, }, { GREEK_CHARSET, VT_CP1253, }, { TURKISH_CHARSET, VT_CP1254, }, { BALTIC_CHARSET, VT_CP1257, }, { HEBREW_CHARSET, VT_CP1255, }, { ARABIC_CHARSET, VT_CP1256, }, { SHIFTJIS_CHARSET, VT_SJIS, }, { HANGEUL_CHARSET, VT_UHC, }, { GB2312_CHARSET, VT_GBK, }, {CHINESEBIG5_CHARSET, VT_BIG5}, { JOHAB_CHARSET, VT_JOHAB, }, { THAI_CHARSET, VT_TIS620, }, { EASTEUROPE_CHARSET, VT_ISO8859_3, }, { MAC_CHARSET, VT_UNKNOWN_ENCODING, }, }; static cs_info_t cs_info_table[] = { { ISO10646_UCS4_1, DEFAULT_CHARSET, }, { ISO10646_UCS4_1_V, DEFAULT_CHARSET, }, { DEC_SPECIAL, SYMBOL_CHARSET, }, { ISO8859_1_R, ANSI_CHARSET, }, { ISO8859_2_R, DEFAULT_CHARSET, }, { ISO8859_3_R, EASTEUROPE_CHARSET, }, { ISO8859_4_R, DEFAULT_CHARSET, }, { ISO8859_5_R, RUSSIAN_CHARSET, }, { ISO8859_6_R, ARABIC_CHARSET, }, { ISO8859_7_R, GREEK_CHARSET, }, { ISO8859_8_R, HEBREW_CHARSET, }, { ISO8859_9_R, TURKISH_CHARSET, }, { ISO8859_10_R, DEFAULT_CHARSET, }, { TIS620_2533, THAI_CHARSET, }, { ISO8859_13_R, DEFAULT_CHARSET, }, { ISO8859_14_R, DEFAULT_CHARSET, }, { ISO8859_15_R, DEFAULT_CHARSET, }, { ISO8859_16_R, DEFAULT_CHARSET, }, { TCVN5712_3_1993, VIETNAMESE_CHARSET, }, { ISCII_ASSAMESE, DEFAULT_CHARSET, }, { ISCII_BENGALI, DEFAULT_CHARSET, }, { ISCII_GUJARATI, DEFAULT_CHARSET, }, { ISCII_HINDI, DEFAULT_CHARSET, }, { ISCII_KANNADA, DEFAULT_CHARSET, }, { ISCII_MALAYALAM, DEFAULT_CHARSET, }, { ISCII_ORIYA, DEFAULT_CHARSET, }, { ISCII_PUNJABI, DEFAULT_CHARSET, }, { ISCII_TAMIL, DEFAULT_CHARSET, }, { ISCII_TELUGU, DEFAULT_CHARSET, }, { VISCII, VIETNAMESE_CHARSET, }, { KOI8_R, RUSSIAN_CHARSET, }, { KOI8_U, RUSSIAN_CHARSET, }, { KOI8_T, RUSSIAN_CHARSET, }, { GEORGIAN_PS, DEFAULT_CHARSET, }, { CP1250, EASTEUROPE_CHARSET, }, { CP1251, RUSSIAN_CHARSET, }, { CP1252, ANSI_CHARSET, }, { CP1253, GREEK_CHARSET, }, { CP1254, TURKISH_CHARSET, }, { CP1255, HEBREW_CHARSET, }, { CP1256, ARABIC_CHARSET, }, { CP1257, BALTIC_CHARSET, }, { CP1258, VIETNAMESE_CHARSET, }, { JISX0201_KATA, SHIFTJIS_CHARSET, }, { JISX0201_ROMAN, SHIFTJIS_CHARSET, }, { JISC6226_1978, SHIFTJIS_CHARSET, }, { JISX0208_1983, SHIFTJIS_CHARSET, }, { JISX0208_1990, SHIFTJIS_CHARSET, }, { JISX0212_1990, SHIFTJIS_CHARSET, }, { JISX0213_2000_1, SHIFTJIS_CHARSET, }, { JISX0213_2000_2, SHIFTJIS_CHARSET, }, { KSC5601_1987, HANGEUL_CHARSET, }, { UHC, HANGEUL_CHARSET, }, { JOHAB, JOHAB_CHARSET, }, { GB2312_80, GB2312_CHARSET, }, { GBK, GB2312_CHARSET, }, { BIG5, CHINESEBIG5_CHARSET, }, { HKSCS, DEFAULT_CHARSET, }, { CNS11643_1992_1, GB2312_CHARSET, }, { CNS11643_1992_2, GB2312_CHARSET, }, { CNS11643_1992_3, GB2312_CHARSET, }, { CNS11643_1992_4, GB2312_CHARSET, }, { CNS11643_1992_5, GB2312_CHARSET, }, { CNS11643_1992_6, GB2312_CHARSET, }, { CNS11643_1992_7, GB2312_CHARSET, }, }; static GC display_gc; static int use_point_size; /* --- static functions --- */ static wincs_info_t *get_wincs_info(ef_charset_t cs) { int count; for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_t); count++) { if (cs_info_table[count].cs == cs) { DWORD wincs; wincs = cs_info_table[count].wincs; for (count = 0; count < sizeof(wincs_info_table) / sizeof(wincs_info_t); count++) { if (wincs_info_table[count].cs == wincs) { return &wincs_info_table[count]; } } break; } } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " not supported cs(%x).\n", cs); #endif return NULL; } static int parse_font_name( char **font_family, int *font_weight, /* if weight is not specified in font_name , not changed. */ int *is_italic, /* if slant is not specified in font_name , not changed. */ double *font_size, /* if size is not specified in font_name , not changed. */ u_int *percent, /* if percent is not specified in font_name , not changed. */ char *font_name /* modified by this function. */ ) { char *p; size_t len; /* * Format. * [Family]( [WEIGHT] [SLANT] [SIZE]:[Percentage]) */ *font_family = font_name; if ((p = strrchr(font_name, ':'))) { /* Parsing ":[Percentage]" */ if (bl_str_to_uint(percent, p + 1)) { *p = '\0'; } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " Percentage(%s) is illegal.\n", p + 1); } #endif } /* * Parsing "[Family] [WEIGHT] [SLANT] [SIZE]". * Following is the same as libtype/ui_font_ft.c and fb/ui_font.c. * except FW_* and is_italic. */ #if 0 bl_debug_printf("Parsing %s for [Family] [Weight] [Slant]\n", *font_family); #endif p = bl_str_chop_spaces(*font_family); len = strlen(p); while (len > 0) { size_t step = 0; if (*p == ' ') { char *orig_p; orig_p = p; do { p++; len--; } while (*p == ' '); if (len == 0) { *orig_p = '\0'; break; } else { int count; struct { char *style; int weight; int is_italic; } styles[] = { /* * Portable styles. */ /* slant */ { "italic", 0, 1, }, /* weight */ { "bold", FW_BOLD, 0, }, /* * Hack for styles which can be returned by * gtk_font_selection_dialog_get_font_name(). */ /* slant */ { "oblique", /* XXX This style is ignored. */ 0, 0, }, /* weight */ { "light", /* e.g. "Bookman Old Style Light" */ FW_LIGHT, 0, }, { "semi-bold", FW_SEMIBOLD, 0, }, { "heavy", /* e.g. "Arial Black Heavy" */ FW_HEAVY, 0, }, /* other */ { "semi-condensed", /* XXX This style is ignored. */ 0, 0, }, }; for (count = 0; count < sizeof(styles) / sizeof(styles[0]); count++) { size_t len_v; len_v = strlen(styles[count].style); /* XXX strncasecmp is not portable? */ if (len >= len_v && strncasecmp(p, styles[count].style, len_v) == 0) { *orig_p = '\0'; step = len_v; if (styles[count].weight) { *font_weight = styles[count].weight; } else if (styles[count].is_italic) { *is_italic = 1; } goto next_char; } } if (*p != '0' || /* In case of "DevLys 010" font family. */ *(p + 1) == '\0') /* "MS Gothic 0" => "MS Gothic" + "0" */ { char *end; double size; size = strtod(p, &end); if (*end == '\0') { /* p has no more parameters. */ *orig_p = '\0'; if (size > 0) { *font_size = size; } break; } } step = 1; } } else { step = 1; } next_char: p += step; len -= step; } return 1; } static u_int calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs) { SIZE sz; if (!display_gc) { /* * Cached as far as ui_caculate_char_width is called. * display_gc is deleted in ui_font_new or ui_font_delete. */ display_gc = CreateIC("Display", NULL, NULL, NULL); } SelectObject(display_gc, font->xfont->fid); if (cs != US_ASCII && !IS_ISCII(cs)) { u_int32_t ucs4_code; u_char utf16[4]; int len; BOOL ret; if (IS_ISO10646_UCS4(cs)) { ucs4_code = ch; } else { ef_char_t non_ucs; ef_char_t ucs4; non_ucs.size = CS_SIZE(cs); non_ucs.property = 0; non_ucs.cs = cs; ef_int_to_bytes(non_ucs.ch, non_ucs.size, ch); if (vt_is_msb_set(cs)) { u_int count; for (count = 0; count < non_ucs.size; count++) { non_ucs.ch[count] &= 0x7f; } } if (ef_map_to_ucs4(&ucs4, &non_ucs)) { ucs4_code = ef_bytes_to_int(ucs4.ch, 4); } else { return 0; } } len = ui_convert_ucs4_to_utf16(utf16, ucs4_code) / 2; #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { #ifdef USE_WIN32API /* GetTextExtentPointI doesn't exist on mingw-i686-pc-mingw */ static WINGDIAPI BOOL WINAPI (*func)(HDC, LPWORD, int, LPSIZE); if (!func) { func = GetProcAddress(GetModuleHandleA("GDI32.DLL"), "GetTextExtentPointI"); } ret = (*func)(display_gc, utf16, len, &sz); #else ret = GetTextExtentPointI(display_gc, utf16, len, &sz); #endif } else #endif { ret = GetTextExtentPoint32W(display_gc, utf16, len, &sz); } if (!ret) { return 0; } } else { u_char c; c = ch; if (!GetTextExtentPoint32A(display_gc, &c, 1, &sz)) { return 0; } } if (sz.cx < 0) { return 0; } else { return sz.cx; } } /* --- global functions --- */ void ui_compose_dec_special_font(void) { /* Do nothing for now in win32. */ } ui_font_t *ui_font_new(Display *display, vt_font_t id, int size_attr, ui_type_engine_t type_engine, ui_font_present_t font_present, const char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold, u_int letter_space /* Ignored for now. */ ) { ui_font_t *font; u_int cols; wincs_info_t *wincsinfo; char *font_family; int weight; int is_italic; double fontsize_d; u_int percent; if (type_engine != TYPE_XCORE || (font = calloc(1, sizeof(ui_font_t) + sizeof(XFontStruct))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } font->xfont = font + 1; font->display = display; font->id = id; if (font->id & FONT_FULLWIDTH) { cols = 2; } else { cols = 1; } if (IS_ISCII(FONT_CS(font->id)) || FONT_CS(font->id) == ISO10646_UCS4_1_V) { /* * For exampe, 'W' width and 'l' width of OR-TTSarala font for ISCII_ORIYA * are the same by chance, though it is actually a proportional font. */ font->is_var_col_width = font->is_proportional = 1; } else if (font_present & FONT_VAR_WIDTH) { font->is_var_col_width = 1; } if (font_present & FONT_VERTICAL) { font->is_vertical = 1; } if ((wincsinfo = get_wincs_info(FONT_CS(font->id))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " charset(0x%.2x) is not supported.\n", FONT_CS(font->id)); #endif free(font); return NULL; } if (font->id & FONT_BOLD) { #if 0 weight = FW_BOLD; #else /* * XXX * Width of bold font is not necessarily the same as * that of normal font in win32. * So ignore weight and if font->id is bold use double- * drawing method for now. */ weight = FW_DONTCARE; #endif } else { weight = FW_MEDIUM; } if (font->id & FONT_ITALIC) { is_italic = TRUE; } else { is_italic = FALSE; } if (size_attr) { if (size_attr >= DOUBLE_HEIGHT_TOP) { fontsize *= 2; } col_width *= 2; } font_family = NULL; percent = 0; fontsize_d = (double)fontsize; if (FONT_CS(font->id) == DEC_SPECIAL) { font_family = "Tera Special"; } else if (fontname) { char *p; if ((p = bl_str_alloca_dup(fontname)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif free(font); return NULL; } parse_font_name(&font_family, &weight, &is_italic, &fontsize_d, &percent, p); } else { /* Default font */ font_family = "Courier New"; } if (!display_gc) { display_gc = CreateIC("Display", NULL, NULL, NULL); } font->xfont->fid = CreateFont(use_point_size ? /* Height */ -MulDiv((int)fontsize_d, GetDeviceCaps(display_gc, LOGPIXELSY), 72) : (int)fontsize_d, #if 0 col_width ? (font->is_vertical ? col_width / 2 : col_width) : (int)fontsize_d / 2, #else size_attr == DOUBLE_WIDTH ? (use_point_size ? -MulDiv((int)fontsize_d, GetDeviceCaps(display_gc, LOGPIXELSX), 72) : (int)fontsize_d) : 0, /* Width (0=auto) */ #endif 0, /* text angle */ 0, /* char angle */ weight, /* weight */ is_italic, /* italic */ FALSE, /* underline */ FALSE, /* eraseline */ wincsinfo->cs, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, (font_present & FONT_AA) ? ANTIALIASED_QUALITY : PROOF_QUALITY, FIXED_PITCH | FF_MODERN, font_family); if (!font->xfont->fid) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " CreateFont failed.\n"); free(font); #endif return NULL; } else { TEXTMETRIC tm; SIZE w_sz; SIZE l_sz; SelectObject(display_gc, font->xfont->fid); GetTextMetrics(display_gc, &tm); /* * Note that fixed pitch font containing both Hankaku and Zenkaku characters * like * MS Gothic is regarded as VARIABLE_PITCH. (tm.tmPitchAndFamily) * So "w" and "l" width is compared to check if font is proportional or not. */ GetTextExtentPoint32A(display_gc, "w", 1, &w_sz); GetTextExtentPoint32A(display_gc, "l", 1, &l_sz); #if 0 bl_debug_printf( "Family %s Size %d CS %x => AveCharWidth %d Maui.harWidth %d 'w' width " "%d 'l' width %d Height %d Ascent %d ExLeading %d InLeading %d " "Pitch&Family %d Weight %d\n", font_family, fontsize, wincsinfo->cs, tm.tmAveCharWidth, tm.tmMaui.harWidth, w_sz.cx, l_sz.cx, tm.tmHeight, tm.tmAscent, tm.tmExternalLeading, tm.tmInternalLeading, tm.tmPitchAndFamily, tm.tmWeight); #endif if (w_sz.cx != l_sz.cx) { font->is_proportional = 1; font->width = tm.tmAveCharWidth * cols; } else { SIZE sp_sz; WORD sp = 0x3000; /* wide space */ if (cols == 2 && GetTextExtentPoint32W(display_gc, &sp, 1, &sp_sz) && sp_sz.cx != l_sz.cx * 2) { font->is_proportional = 1; font->width = sp_sz.cx; } else { font->width = w_sz.cx * cols; } } font->height = tm.tmHeight; font->ascent = tm.tmAscent; if ((font->id & FONT_BOLD) && tm.tmWeight <= FW_MEDIUM) { font->double_draw_gap = 1; } } font->xfont->size = fontsize; /* * Following processing is same as ui_font.c:set_xfont() */ if (col_width == 0) { /* standard(usascii) font */ if (percent > 0) { u_int ch_width; if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width = fontsize * percent / 100; } else { ch_width = fontsize * percent / 200; } if (!font->is_var_col_width && font->width != ch_width) { font->is_proportional = 1; if (font->width < ch_width) { font->x_off = (ch_width - font->width) / 2; } font->width = ch_width; } } else if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ font->is_proportional = 1; font->x_off = font->width / 2; font->width *= 2; } /* letter_space is ignored in variable column width mode. */ if (!font->is_var_col_width && letter_space > 0) { font->is_proportional = 1; font->width += letter_space; font->x_off += (letter_space / 2); } } else { /* not a standard(usascii) font */ /* * XXX hack * forcibly conforming non standard font width to standard font width. */ if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ if (font->width != col_width) { font->is_proportional = 1; /* is_var_col_width is always false if is_vertical is true. */ if (/* ! font->is_var_col_width && */ font->width < col_width) { font->x_off = (col_width - font->width) / 2; } font->width = col_width; } } else { if (font->width != col_width * cols) { bl_msg_printf( "Font width(%d) is not matched with " "standard width(%d).\n", font->width, col_width * cols); font->is_proportional = 1; if (!font->is_var_col_width && font->width < col_width * cols) { font->x_off = (col_width * cols - font->width) / 2; } font->width = col_width * cols; } } } font->size_attr = size_attr; if (wincsinfo->cs != ANSI_CHARSET && wincsinfo->cs != SYMBOL_CHARSET && !IS_ISO10646_UCS4(FONT_CS(font->id))) { if (!(font->xfont->conv = vt_char_encoding_conv_new(wincsinfo->encoding))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_char_encoding_conv_new(font id %x) failed.\n", font->id); #endif } } if (font->is_proportional && !font->is_var_col_width) { bl_msg_printf("Characters (cs %x) are drawn *one by one *to arrange column width.\n", FONT_CS(font->id)); } return font; } void ui_font_delete(ui_font_t *font) { #ifdef USE_OT_LAYOUT if (font->ot_font) { otl_close(font->ot_font); } #endif if (font->xfont->fid) { DeleteObject(font->xfont->fid); } if (font->xfont->conv) { (*font->xfont->conv->delete)(font->xfont->conv); } free(font); if (display_gc) { DeleteDC(display_gc); display_gc = None; } } #ifdef USE_OT_LAYOUT int ui_font_has_ot_layout_table(ui_font_t *font) { if (!font->ot_font) { u_char buf[4]; void *font_data; u_int size; int is_ttc; if (font->ot_font_not_found) { return 0; } if (!display_gc) { /* * Cached as far as ui_caculate_char_width is called. * display_gc is deleted in ui_font_new or ui_font_delete. */ display_gc = CreateIC("Display", NULL, NULL, NULL); } SelectObject(display_gc, font->xfont->fid); #define TTC_TAG ('t' << 0) + ('t' << 8) + ('c' << 16) + ('f' << 24) if (GetFontData(display_gc, TTC_TAG, 0, &buf, 1) == 1) { is_ttc = 1; size = GetFontData(display_gc, TTC_TAG, 0, NULL, 0); } else { is_ttc = 0; size = GetFontData(display_gc, 0, 0, NULL, 0); } if (!(font_data = malloc(size))) { font->ot_font = NULL; } else { if (is_ttc) { GetFontData(display_gc, TTC_TAG, 0, font_data, size); } else { GetFontData(display_gc, 0, 0, font_data, size); } font->ot_font = otl_open(font_data, size); } if (!font->ot_font) { font->ot_font_not_found = 1; return 0; } } return 1; } u_int ui_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { u_int size; if (use_point_size) { if (!display_gc) { display_gc = CreateIC("Display", NULL, NULL, NULL); } size = MulDiv((int)font->xfont->size, GetDeviceCaps(display_gc, LOGPIXELSY), 72); } else { size = font->xfont->size; } return otl_convert_text_to_glyphs(font->ot_font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features, size * (font->size_attr >= DOUBLE_WIDTH ? 2 : 1)); } #endif /* USE_OT_LAYOUT */ u_int ui_calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs, int *draw_alone) { if (draw_alone) { *draw_alone = 0; } if (font->is_proportional) { if (font->is_var_col_width) { u_int width; return width = calculate_char_width(font, ch, cs); } if (draw_alone) { *draw_alone = 1; } } else if (draw_alone && /* ISO10646_UCS4_1_V is always proportional */ cs == ISO10646_UCS4_1 #ifdef USE_OT_LAYOUT && (!font->use_ot_layout /* || ! font->ot_font */) #endif ) { if (ef_get_ucs_property(ch) & EF_AWIDTH) { if (calculate_char_width(font, ch, cs) != font->width) { *draw_alone = 1; } } } return font->width; } void ui_font_use_point_size(int use) { use_point_size = use; } /* Return written size */ size_t ui_convert_ucs4_to_utf16(u_char *dst, /* 4 bytes. Little endian. */ u_int32_t src) { if (src < 0x10000) { dst[1] = (src >> 8) & 0xff; dst[0] = src & 0xff; return 2; } else if (src < 0x110000) { /* surrogate pair */ u_char c; src -= 0x10000; c = (u_char)(src / (0x100 * 0x400)); src -= (c * 0x100 * 0x400); dst[1] = c + 0xd8; c = (u_char)(src / 0x400); src -= (c * 0x400); dst[0] = c; c = (u_char)(src / 0x100); src -= (c * 0x100); dst[3] = c + 0xdc; dst[2] = (u_char)src; return 4; } return 0; } #ifdef DEBUG void ui_font_dump(ui_font_t *font) { bl_msg_printf(" id %x: Font %p", font->id, font->xfont->fid); if (font->is_proportional) { bl_msg_printf(" (proportional)"); } bl_msg_printf("\n"); } #endif mlterm-3.8.4/uitoolkit/win32/winrs.rs010064400017600000144000000026021321054731200162170ustar kenusers/* * $Id$ */ MLTERM_ICON ICON "mlterm-icon-win32.ico" #include /* USE_WIN32API */ #if defined(USE_WIN32API) || defined(USE_LIBSSH2) #include "ui_connect_dialog.h" ConnectDialog DIALOG 20, 20, 138, 139 STYLE WS_POPUP | WS_DLGFRAME | DS_CENTER { LTEXT "List", -1, 4, 4, 20, 8 COMBOBOX IDD_LIST, 24, 4, 106, 48, CBS_SORT | CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP GROUPBOX "Protocol", -1, 4, 20, 126, 24 RADIOBUTTON "&SSH", IDD_SSH, 8, 30, 40, 12 RADIOBUTTON "&TELNET", IDD_TELNET, 48, 30, 40, 12 RADIOBUTTON "&RLOGIN", IDD_RLOGIN, 88, 30, 40, 12 LTEXT "Server", -1, 4, 46, 30, 8 EDITTEXT IDD_SERVER, 38, 46, 96, 10, ES_AUTOHSCROLL LTEXT "Port", -1, 4, 57, 30, 8 EDITTEXT IDD_PORT, 38, 57, 96, 10, ES_AUTOHSCROLL LTEXT "User", -1, 4, 68, 30, 8 EDITTEXT IDD_USER, 38, 68, 96, 10, ES_AUTOHSCROLL LTEXT "Pass", -1, 4, 79, 30, 8 EDITTEXT IDD_PASS, 38, 79, 96, 10, ES_PASSWORD | ES_AUTOHSCROLL LTEXT "Encoding", -1, 4, 90, 30, 8 EDITTEXT IDD_ENCODING, 38, 90, 96, 10, ES_AUTOHSCROLL LTEXT "ExecCmd", -1, 4, 101, 30, 8 EDITTEXT IDD_EXEC_CMD, 38,101, 96, 10, ES_AUTOHSCROLL CONTROL "X11 forwarding", IDD_X11, "Button", BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP, 4, 112, 126, 8 DEFPUSHBUTTON "OK", IDOK, 20,124, 40, 12 PUSHBUTTON "Cancel", IDCANCEL, 80,124, 40, 12 } #endif /* USE_WIN32API */ mlterm-3.8.4/uitoolkit/win32/ui_display.c010064400017600000144000000163041321054731200170210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_display.h" #include /* sprintf */ #include /* memset/memcpy */ #include /* getenv */ #include /* USE_WIN32API */ #ifndef USE_WIN32API #include /* open */ #endif #include /* close */ #include #include #include #include #include "../ui_window.h" #include "../ui_picture.h" #include "ui_gdiobj_pool.h" #define DISP_IS_INITED (_disp.display) #if 0 #define __DEBUG #endif /* --- static variables --- */ static ui_display_t _disp; /* Singleton */ static Display _display; /* --- static functions --- */ static LRESULT CALLBACK window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { XEvent event; int count; event.window = hwnd; event.msg = msg; event.wparam = wparam; event.lparam = lparam; for (count = 0; count < _disp.num_roots; count++) { int val; val = ui_window_receive_event(_disp.roots[count], &event); if (val == 1) { return 0; } else if (val == -1) { break; } } return DefWindowProc(hwnd, msg, wparam, lparam); } static int dialog_cb(bl_dialog_style_t style, const char *msg) { if (style == BL_DIALOG_OKCANCEL) { if (MessageBoxA(NULL, msg, "", MB_OKCANCEL) == IDOK) { return 1; } else { return 0; } } else if (style == BL_DIALOG_ALERT) { MessageBoxA(NULL, msg, "", MB_ICONSTOP); return 1; } else { return -1; } } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, /* Ignored */ u_int depth /* Ignored */ ) { #ifndef UTF16_IME_CHAR WNDCLASS wc; #else WNDCLASSW wc; #endif int fd; if (DISP_IS_INITED) { /* Already opened. */ return &_disp; } /* Callback should be set before bl_dialog() is called. */ bl_dialog_set_callback(dialog_cb); _display.hinst = GetModuleHandle(NULL); /* Prepare window class */ ZeroMemory(&wc, sizeof(WNDCLASS)); wc.lpfnWndProc = window_proc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.hInstance = _display.hinst; wc.hIcon = LoadIcon(_display.hinst, "MLTERM_ICON"); _disp.cursors[2] = wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = 0; wc.lpszClassName = __("MLTERM"); if (!RegisterClass(&wc)) { bl_dialog(BL_DIALOG_ALERT, "Failed to register class"); return NULL; } _disp.width = GetSystemMetrics(SM_CXSCREEN); _disp.height = GetSystemMetrics(SM_CYSCREEN); _disp.depth = 24; if ((_disp.gc = ui_gc_new(&_display, None)) == NULL) { return NULL; } if (!(_disp.name = getenv("DISPLAY"))) { _disp.name = ":0.0"; } #ifdef USE_WIN32API fd = -1; #else if ((fd = open("/dev/windows", O_NONBLOCK, 0)) == -1) { ui_gc_delete(_disp.gc); return NULL; } bl_file_set_cloexec(fd); #endif ui_gdiobj_pool_init(); /* _disp is initialized successfully. */ _display.fd = fd; _disp.display = &_display; return &_disp; } void ui_display_close(ui_display_t *disp) { if (disp == &_disp) { ui_display_close_all(); } } void ui_display_close_all(void) { u_int count; if (!DISP_IS_INITED) { return; } ui_picture_display_closed(_disp.display); ui_gc_delete(_disp.gc); for (count = 0; count < _disp.num_roots; count++) { ui_window_unmap(_disp.roots[count]); ui_window_final(_disp.roots[count]); } free(_disp.roots); #if 0 for (count = 0; count < (sizeof(_disp.cursors) / sizeof(_disp.cursors[0])); count++) { if (_disp.cursors[count]) { CloseHandle(_disp.cursors[count]); } } #endif if (_display.fd != -1) { close(_display.fd); } _disp.display = NULL; ui_gdiobj_pool_final(); } ui_display_t **ui_get_opened_displays(u_int *num) { static ui_display_t *opened_disp = &_disp; if (!DISP_IS_INITED) { *num = 0; return NULL; } *num = 1; return &opened_disp; } int ui_display_fd(ui_display_t *disp) { return disp->display->fd; } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window /* Ignored */ ) { void *p; if ((p = realloc(disp->roots, sizeof(ui_window_t*) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; root->parent_window = disp->my_window; root->gc = disp->gc; root->x = x; root->y = y; if (app_name) { root->app_name = app_name; } disp->roots[disp->num_roots++] = root; return ui_window_show(root, hint); } int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { ui_window_unmap(root); ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; } else { disp->roots[count] = disp->roots[disp->num_roots]; } return 1; } } return 0; } void ui_display_idling(ui_display_t *disp) { u_int count; for (count = 0; count < disp->num_roots; count++) { ui_window_idling(disp->roots[count]); } } /* * * 0: Receive WM_QUIT * 1: Receive other messages. */ int ui_display_receive_next_event(ui_display_t *disp) { MSG msg; #ifdef USE_WIN32API /* 0: WM_QUIT, -1: Error */ if (GetMessage(&msg, NULL, 0, 0) <= 0) { return 0; } TranslateMessage(&msg); DispatchMessage(&msg); #endif while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) { return 0; } TranslateMessage(&msg); DispatchMessage(&msg); } return 1; } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { if (disp->selection_owner) { ui_display_clear_selection(disp, disp->selection_owner); } disp->selection_owner = win; return 1; } int ui_display_clear_selection(ui_display_t *disp, ui_window_t *win) { if (disp->selection_owner == NULL || disp->selection_owner != win) { return 0; } disp->selection_owner->is_sel_owner = 0; if (disp->selection_owner->selection_cleared) { (*disp->selection_owner->selection_cleared)(disp->selection_owner); } disp->selection_owner = NULL; return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) { /* dummy */ } Cursor ui_display_get_cursor(ui_display_t *disp, u_int shape) { int idx; LPCTSTR name; /* * XXX * cursor[0] == XC_xterm / cursor[1] == XC_left_ptr / cursor[2] == not used * Mlterm uses only these shapes. */ if (shape == XC_xterm) { idx = 0; name = IDC_IBEAM; } else if (shape == XC_left_ptr) { idx = 1; name = IDC_ARROW; /* already loaded in ui_display_open() */ } else { return None; } if (!disp->cursors[idx]) { disp->cursors[idx] = LoadCursor(NULL, name); } return disp->cursors[idx]; } XID ui_display_get_group_leader(ui_display_t *disp) { return None; } mlterm-3.8.4/uitoolkit/win32/ui_window.c010064400017600000144000002134211321054731200166620ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_window.h" #include /* abs */ #include /* memset/memcpy */ #include #include /* realloc/free */ #include /* K_MIN/K_MAX */ #include #include #include /* UTF_MAX_SIZE */ #include #if !defined(USE_WIN32API) && defined(HAVE_PTHREAD) #include #endif #include "../ui_xic.h" #include "../ui_picture.h" #include "../ui_imagelib.h" #include "../ui_selection_encoding.h" #ifndef DISABLE_XDND #include "../ui_dnd.h" #endif #include "ui_display.h" /* ui_display_get_cursor */ #include "ui_gdiobj_pool.h" #define MAX_CLICK 3 /* max is triple click */ #define WM_APP_PAINT (WM_APP + 0x0) #define WM_APP_PASTE (WM_APP + 0x1) #define WM_APP_WPASTE (WM_APP + 0x2) /* * ACTUAL_(WIDTH|HEIGHT) is the width of client area, * ACTUAL_WINDOW_(WIDTH|HEIGHT) is * that of window area. */ #if 1 #define ACTUAL_WINDOW_WIDTH(win) (ACTUAL_WIDTH(win) + decorate_width) #define ACTUAL_WINDOW_HEIGHT(win) (ACTUAL_HEIGHT(win) + decorate_height) #else #define ACTUAL_WINDOW_WIDTH(win) \ ACTUAL_WIDTH(win) + GetSystemMetrics(SM_CXEDGE) * 2 + \ /* GetSystemMetrics(SM_CXBORDER) * 2 + */ GetSystemMetrics(SM_CXFRAME) #define ACTUAL_WINDOW_HEIGHT(win) \ ACTUAL_HEIGHT(win) + GetSystemMetrics(SM_CYEDGE) * 2 + \ /* GetSystemMetrics(SM_CXBORDER) * 2 + */ GetSystemMetrics(SM_CYFRAME) + \ GetSystemMetrics(SM_CYCAPTION) #endif /* win->width is not multiples of (win)->width_inc if window is maximized. */ #define RIGHT_MARGIN(win) \ ((win)->width_inc ? ((win)->width - (win)->min_width) % (win)->width_inc : 0) #define BOTTOM_MARGIN(win) \ ((win)->height_inc ? ((win)->height - (win)->min_height) % (win)->height_inc : 0) #define ParentRelative (1L) #if 0 #define DEBUG_SCROLLABLE #endif #if 0 #define __DEBUG #endif /* --- static variables --- */ static int click_interval = 250; /* millisecond, same as xterm. */ static ef_parser_t *m_cp_parser; static LONG decorate_width; static LONG decorate_height; /* Height of Title bar etc. */ static int use_urgent_bell; /* --- static functions --- */ #ifdef FLASHW_ALL static void urgent_bell(ui_window_t *win, int on) { if (use_urgent_bell && (!win->is_focused || !on)) { win = ui_get_root_window(win); if (on) { FLASHWINFO info; info.cbSize = sizeof(info); info.hwnd = win->my_window; info.dwFlags = FLASHW_ALL; info.uCount = 5; info.dwTimeout = 0; /* standard */ FlashWindowEx(&info); } else { FlashWindow(win->my_window, FALSE); } } } #else #define urgent_bell(win, on) (0) #endif static int set_transparent(ui_window_t *win, int alpha) { /* * XXX * LWA_ALPHA and SetLayeredWindowAttributes() are not defined * in older winuser.h and libuser32.a(e.g. MSYS-DTK 1.0.1). */ #if defined(WS_EX_LAYERED) && defined(LWA_ALPHA) if ((win = ui_get_root_window(win))->my_window) { LONG style; style = GetWindowLong(win->my_window, GWL_EXSTYLE); SetWindowLong(win->my_window, GWL_EXSTYLE, style | WS_EX_LAYERED); #if 1 SetLayeredWindowAttributes(win->my_window, 0, alpha, LWA_ALPHA); #else SetLayeredWindowAttributes(win->my_window, ARGB_TO_RGB(win->bg_color.pixel), 0, LWA_COLORKEY); #endif } return 1; #else return 0; #endif } static int unset_transparent(ui_window_t *win) { /* * XXX * LWA_ALPHA and SetLayeredWindowAttributes() are not defined * in older winuser.h and libuser32.a(e.g. MSYS-DTK 1.0.1). */ #if defined(WS_EX_LAYERED) && defined(LWA_ALPHA) if ((win = ui_get_root_window(win))->my_window) { LONG style; style = GetWindowLong(win->my_window, GWL_EXSTYLE); SetWindowLong(win->my_window, GWL_EXSTYLE, style & ~WS_EX_LAYERED); } return 1; #else return 0; #endif } /* * XXX * Adhoc alternative of VisibilityNotify event. */ static int check_scrollable(ui_window_t *win /* Assume root window. */ ) { if (win->is_focused) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("SCREEN W %d H %d WINDOW W %d H %d X %d Y %d ", win->disp->width, win->disp->height, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), win->x, win->y); #endif /* * If window is outside of screen partially, is_scrollable = 0. */ if (win->y < 0 || win->x < 0) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(1)\n"); #endif return 0; } else { if (win->y + ACTUAL_HEIGHT(win) > win->disp->height) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(2)\n"); #endif return 0; } else { if (win->x + ACTUAL_WIDTH(win) > win->disp->width) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(3)\n"); #endif return 0; } else { APPBARDATA barinfo; ZeroMemory(&barinfo, sizeof(barinfo)); barinfo.cbSize = sizeof(barinfo); barinfo.hWnd = win->my_window; SHAppBarMessage(ABM_GETTASKBARPOS, &barinfo); #ifdef DEBUG_SCROLLABLE bl_debug_printf("TASKBAR t %d b %d l %d r %d ", barinfo.rc.top, barinfo.rc.bottom, barinfo.rc.left, barinfo.rc.right); #endif if (barinfo.rc.top <= 0) { if (barinfo.rc.left <= 0) { if (barinfo.rc.right >= win->disp->width) { /* North */ if (win->y < barinfo.rc.bottom) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(4)\n"); #endif return 0; } } else { /* West */ if (win->x < barinfo.rc.right) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(5)\n"); #endif return 0; } } } else { /* East */ if (win->x + ACTUAL_WIDTH(win) > barinfo.rc.left) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(6)\n"); #endif return 0; } } } else { /* South */ if (win->y + ACTUAL_HEIGHT(win) > barinfo.rc.top) { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(7)\n"); #endif return 0; } } #ifdef DEBUG_SCROLLABLE bl_debug_printf("SCROLLABLE\n"); #endif return 1; } } } } else { #ifdef DEBUG_SCROLLABLE bl_debug_printf("NOT SCROLLABLE(4)\n"); #endif return 0; } } static void notify_focus_in_to_children(ui_window_t *win) { u_int count; if (!win->is_focused) { if (win->inputtable > 0 || win->parent == NULL) /* check_scrollable checks root->is_focused */ { win->is_focused = 1; } /* If win->wall_picture is set, is_scrollable is always 0. */ if (!win->wall_picture) { if (!win->parent) { win->is_scrollable = check_scrollable(win); } else { win->is_scrollable = win->parent->is_scrollable; } } if (win->inputtable > 0) { ui_xic_set_focus(win); if (win->window_focused) { (*win->window_focused)(win); } } } for (count = 0; count < win->num_children; count++) { notify_focus_in_to_children(win->children[count]); } } static void notify_focus_out_to_children(ui_window_t *win) { u_int count; if (win->is_focused) { win->is_focused = 0; win->is_scrollable = 0; ui_xic_unset_focus(win); if (win->window_unfocused) { (*win->window_unfocused)(win); } } for (count = 0; count < win->num_children; count++) { notify_focus_out_to_children(win->children[count]); } } static void notify_move_to_children(ui_window_t *win) { int count; if (win->wall_picture) { /* If win->wall_picture is set, is_scrollable is always 0. */ } else if (!win->parent) { int is_scrollable; if ((is_scrollable = check_scrollable(win)) == win->is_scrollable) { /* * If is_scrollable is not changed, nothing should be * notified to children. */ return; } win->is_scrollable = is_scrollable; } else { win->is_scrollable = win->parent->is_scrollable; } for (count = 0; count < win->num_children; count++) { notify_move_to_children(win->children[count]); } } #if 0 /* * Not used for now in win32. */ static int is_descendant_window(ui_window_t *win, Window window) { int count; if (win->my_window == window) { return 1; } for (count = 0; count < win->num_children; count++) { if (is_descendant_window(win->children[count], window)) { return 1; } } return 0; } /* * Not used for now in win32. */ static int is_in_the_same_window_family(ui_window_t *win, Window window) { return is_descendant_window(ui_get_root_window(win), window); } #endif static u_int total_min_width(ui_window_t *win) { int count; u_int min_width; min_width = win->min_width + win->hmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_width += total_min_width(win->children[count]); } } return min_width; } static u_int total_min_height(ui_window_t *win) { int count; u_int min_height; min_height = win->min_height + win->vmargin * 2; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { /* XXX */ min_height += total_min_height(win->children[count]); } } return min_height; } static u_int total_width_inc(ui_window_t *win) { int count; u_int width_inc; width_inc = win->width_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_width_inc(win->children[count])) > width_inc) { width_inc = sub_inc; } } } return width_inc; } static u_int total_height_inc(ui_window_t *win) { int count; u_int height_inc; height_inc = win->height_inc; for (count = 0; count < win->num_children; count++) { if (win->children[count]->is_mapped) { u_int sub_inc; /* * XXX * we should calculate least common multiple of width_inc and sub_inc. */ if ((sub_inc = total_height_inc(win->children[count])) > height_inc) { height_inc = sub_inc; } } } return height_inc; } static u_int get_key_state(void) { u_int state; state = 0; if (GetKeyState(VK_SHIFT) < 0) { state |= ShiftMask; } if (GetKeyState(VK_CONTROL) < 0) { state |= ControlMask; } if (GetKeyState(VK_MENU) < 0) { state |= Mod1Mask; } return state; } static BOOL text_out(GC gc, int x, int y, u_char *str, u_int len, ef_charset_t cs, /* FONT_CS(font->id) */ int is_glyph, int is_ucs) { if (is_ucs) { if (is_glyph) { return ExtTextOutW(gc, x, y, ETO_GLYPH_INDEX, NULL, (WCHAR*)str, len / 2, NULL); } else { /* TextOutW is supported in windows 9x. */ return TextOutW(gc, x, y, (WCHAR*)str, len / 2); } } else if (cs == ISCII_BENGALI || cs == ISCII_ASSAMESE) { u_int count; u_int16_t *str2; str2 = alloca(len * 2); /* char code -> glyph index in BN-TTDurga and AS-TTDurga fonts. */ for (count = 0; count < len; count++) { if (str[count] <= 0x7e) { str2[count] = str[count] - 0x1d; } else { str2[count] = str[count] - 0x1e; } } /* ExtTextOutA doesn't work correctly. */ return ExtTextOutW(gc, x, y, ETO_GLYPH_INDEX, NULL, str2, len, NULL); } else { return TextOutA(gc, x, y, str, len); } } static void draw_string(ui_window_t *win, ui_font_t *font, int x, int y, u_char *str, u_int len, int is_tp, int is_ucs) { u_char *str2; int is_glyph; str2 = NULL; if (font->xfont->conv) { if ((str2 = alloca(len * UTF_MAX_SIZE))) /* assume utf8 */ { (*m_cp_parser->init)(m_cp_parser); /* 3rd argument of cp_parser->set_str is len(16bit) + cs(16bit) */ (*m_cp_parser->set_str)(m_cp_parser, str, len | (FONT_CS(font->id) << 16)); (*font->xfont->conv->init)(font->xfont->conv); if ((len = (*font->xfont->conv->convert)(font->xfont->conv, str2, len* UTF_MAX_SIZE, m_cp_parser)) > 0) { str = str2; } } } if (is_tp) { SetBkMode(win->gc->gc, TRANSPARENT); } #ifdef USE_OT_LAYOUT is_glyph = (font->use_ot_layout /* && font->ot_font */); #else is_glyph = 0; #endif text_out(win->gc->gc, x + (font->is_var_col_width ? 0 : font->x_off) + win->hmargin, y + win->vmargin, str, len, FONT_CS(font->id), is_glyph, is_ucs); if (font->double_draw_gap) { SetBkMode(win->gc->gc, TRANSPARENT); text_out(win->gc->gc, x + (font->is_var_col_width ? 0 : font->x_off) + win->hmargin + font->double_draw_gap, y + win->vmargin, str, len, FONT_CS(font->id), is_glyph, is_ucs); SetBkMode(win->gc->gc, OPAQUE); } else if (is_tp) { SetBkMode(win->gc->gc, OPAQUE); } } /* * Return 1 => decorate size is changed. * 0 => decorate size is not changed. */ static int update_decorate_size(ui_window_t *win) { RECT wr; RECT cr; LONG width; LONG height; if (win->parent) { return 0; } GetWindowRect(win->my_window, &wr); GetClientRect(win->my_window, &cr); width = wr.right - wr.left - cr.right + cr.left; height = wr.bottom - wr.top - cr.bottom + cr.top; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " DECORATE W %d H %d -> W %d H %d\n", decorate_width, decorate_height, width, height); #endif if (width != decorate_width || height != decorate_height) { decorate_width = width; decorate_height = height; return 1; } else { return 0; } } static void clear_margin_area(ui_window_t *win) { u_int right_margin; u_int bottom_margin; u_int win_width; u_int win_height; if (win->gc->gc == None) { return; } right_margin = RIGHT_MARGIN(win); bottom_margin = BOTTOM_MARGIN(win); win_width = win->width - right_margin; win_height = win->height - bottom_margin; if (win->wall_picture) { Pixmap pic; int src_x; int src_y; if (win->wall_picture == ParentRelative) { pic = win->parent->wall_picture; src_x = win->x; src_y = win->y; } else { pic = win->wall_picture; src_x = src_y = 0; } if (win->hmargin > 0 || right_margin > 0) { BitBlt(win->gc->gc, 0, 0, win->hmargin, ACTUAL_HEIGHT(win), pic, src_x, src_y, SRCCOPY); BitBlt(win->gc->gc, win_width + win->hmargin, 0, win->hmargin + right_margin, ACTUAL_HEIGHT(win), pic, src_x + win_width + win->hmargin, src_y, SRCCOPY); } if (win->vmargin > 0 || bottom_margin > 0) { BitBlt(win->gc->gc, win->hmargin, 0, win_width, win->vmargin, pic, src_x + win->hmargin, src_y, SRCCOPY); BitBlt(win->gc->gc, win->hmargin, win_height + win->vmargin, win_width, win->vmargin + bottom_margin, pic, src_x + win->hmargin, src_y + win_height + win->vmargin, SRCCOPY); } } else { HBRUSH brush; RECT r; brush = ui_acquire_brush(win->bg_color.pixel); if (win->hmargin > 0 || right_margin > 0) { SetRect(&r, 0, 0, win->hmargin, ACTUAL_HEIGHT(win)); FillRect(win->gc->gc, &r, brush); SetRect(&r, win_width + win->hmargin, 0, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); FillRect(win->gc->gc, &r, brush); } if (win->vmargin > 0 || bottom_margin > 0) { SetRect(&r, win->hmargin, 0, win_width + win->hmargin, win->vmargin); FillRect(win->gc->gc, &r, brush); SetRect(&r, win->hmargin, win_height + win->vmargin, win_width + win->hmargin, ACTUAL_HEIGHT(win)); FillRect(win->gc->gc, &r, brush); } ui_release_brush(brush); } } static WORD oem_key_to_char(WORD wparam) { if (VK_OEM_1 <= wparam && wparam <= VK_OEM_2) { /* * VK_OEM_1 0xba * VK_OEM_PLUS 0xbb * VK_OEM_COMMA 0xbc * VK_OEM_MINUS 0xbd * VK_OEM_PERIOD 0xbe * VK_OEM_2 0xbf */ return '*' + wparam - VK_OEM_1; } else if (wparam == VK_OEM_3) { return '@'; } else if (VK_OEM_4 <= wparam && wparam <= VK_OEM_7) { /* * VK_OEM_4 0xdb * VK_OEM_5 0xdc * VK_OEM_6 0xdd * VK_OEM_7 0xde */ return '[' + wparam - VK_OEM_4; } else if (wparam == VK_OEM_102) { return '_'; } else { return 0; } } static int selection_request(ui_window_t *win, UINT format) { HGLOBAL hmem; u_char *l_data; u_char *g_data; size_t len; #if !defined(USE_WIN32API) && defined(HAVE_PTHREAD) pthread_detach(pthread_self()); #endif if (OpenClipboard(win->my_window) == FALSE) { return 0; } g_data = NULL; if ((hmem = GetClipboardData(format)) == NULL || (g_data = GlobalLock(hmem)) == NULL || (len = (format == CF_TEXT ? strlen(g_data) : lstrlenW(g_data))) == 0 || (l_data = malloc((len + 1) * (format == CF_TEXT ? 1 : 2))) == NULL) { if (g_data) { GlobalUnlock(hmem); } CloseClipboard(); return 0; } if (format == CF_TEXT) { strcpy(l_data, g_data); } else { lstrcpyW(l_data, g_data); } GlobalUnlock(hmem); CloseClipboard(); #if 0 bl_debug_printf("%s SELECTION: %d\n", format == CF_TEXT ? "XCT" : "UTF", len); #endif PostMessage(win->my_window, format == CF_TEXT ? WM_APP_PASTE : WM_APP_WPASTE, len, l_data); return 0; } #ifdef USE_WIN32API static u_int __stdcall #else static void* #endif xct_selection_request(LPVOID thr_param) { return selection_request(thr_param, CF_TEXT); } #ifdef USE_WIN32API static u_int __stdcall #else static void* #endif utf_selection_request(LPVOID thr_param) { return selection_request(thr_param, CF_UNICODETEXT); } /* * Request selection from another thread for x11 applications on x11 forwarding. */ static int invoke_selection_request(ui_window_t *win, UINT format, #ifdef USE_WIN32API u_int (*selection_request)(LPVOID) #else void* (*selection_request)(LPVOID) #endif ) { if (IsClipboardFormatAvailable(format)) { #if defined(USE_WIN32API) HANDLE thrd; u_int tid; if (!(thrd = _beginthreadex(NULL, 0, selection_request, win, 0, &tid))) { return 0; } CloseHandle(thrd); #elif defined(HAVE_PTHREAD) pthread_t thrd; pthread_create(&thrd, NULL, selection_request, win); #else selection_request(win); #endif return 1; } return 0; } static void reset_input_focus(ui_window_t *win) { u_int count; if (win->inputtable) { win->inputtable = -1; } else { win->inputtable = 0; } for (count = 0; count < win->num_children; count++) { reset_input_focus(win->children[count]); } } /* --- global functions --- */ int ui_window_init(ui_window_t *win, u_int width, u_int height, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc, u_int hmargin, u_int vmargin, int create_gc, /* ignored */ int inputtable) { memset(win, 0, sizeof(ui_window_t)); win->fg_color.pixel = 0xff000000; win->bg_color.pixel = 0xffffffff; /* if visibility is partially obscured , scrollable will be 0. */ win->is_scrollable = 1; win->inputtable = inputtable; /* This flag will map window automatically in ui_window_show(). */ win->is_mapped = 1; win->create_gc = create_gc; win->width = width; win->height = height; win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; win->hmargin = hmargin; win->vmargin = vmargin; /* Not freed explicitly. Expect to be freed on process exited. */ if (!m_cp_parser && (m_cp_parser = ef_codepoint_parser_new()) == NULL) { return 0; } win->prev_clicked_button = -1; win->app_name = __("mlterm"); win->cmd_show = SW_SHOWNORMAL; return 1; } void ui_window_final(ui_window_t *win) { u_int count; #ifdef __DEBUG bl_debug_printf("[deleting child windows]\n"); ui_window_dump_children(win); #endif for (count = 0; count < win->num_children; count++) { ui_window_final(win->children[count]); } free(win->children); ui_display_clear_selection(win->disp, win); /* * DestroyWindow() is not called here because DestroyWindow internally sends * WM_DESTROY message which causes window_deleted event again. * If you want to close window, call SendMessage( WM_CLOSE ) instead of * ui_window_final(). */ ui_xic_deactivate(win); #if 0 (*m_cp_parser.delete)(&m_cp_parser); #endif if (win->window_finalized) { (*win->window_finalized)(win); } } void ui_window_set_type_engine(ui_window_t *win, ui_type_engine_t type_engine) {} void ui_window_add_event_mask(ui_window_t *win, long event_mask) { win->event_mask |= event_mask; } void ui_window_remove_event_mask(ui_window_t *win, long event_mask) { win->event_mask &= ~event_mask; } void ui_window_ungrab_pointer(ui_window_t *win) {} int ui_window_set_wall_picture(ui_window_t *win, Pixmap pic, int do_expose) { u_int count; win->is_scrollable = 0; win->wall_picture = pic; if (win->my_window != None && do_expose) { InvalidateRect(win->my_window, NULL, FALSE); } for (count = 0; count < win->num_children; count++) { ui_window_set_wall_picture(win->children[count], ParentRelative, do_expose); } return 1; } int ui_window_unset_wall_picture(ui_window_t *win, int do_expose) { u_int count; win->is_scrollable = check_scrollable(win); win->wall_picture = None; if (win->my_window != None) { InvalidateRect(win->my_window, NULL, FALSE); } for (count = 0; count < win->num_children; count++) { ui_window_unset_wall_picture(win->children[count], do_expose); } return 1; } int ui_window_set_transparent(ui_window_t *win, ui_picture_modifier_t *pic_mod) { return 0; } int ui_window_unset_transparent(ui_window_t *win) { return 0; } void ui_window_set_cursor(ui_window_t *win, u_int cursor_shape) { win->cursor_shape = cursor_shape; } int ui_window_set_fg_color(ui_window_t *win, ui_color_t *fg_color) { if (win->fg_color.pixel == fg_color->pixel) { return 0; } win->fg_color = *fg_color; return 1; } int ui_window_set_bg_color(ui_window_t *win, ui_color_t *bg_color) { int alpha; if (win->bg_color.pixel == bg_color->pixel) { return 0; } if ((alpha = ((bg_color->pixel >> 24) & 0xff)) != 0xff) { set_transparent(win, alpha); } else if (((win->bg_color.pixel >> 24) & 0xff) != 0xff) { /* * If alpha is changed from less than 0xff to 0xff, * transparent is disabled. * XXX It is assumed that alpha is changed by only one window. */ unset_transparent(win); } win->bg_color = *bg_color; if (win->my_window != None) { InvalidateRect(win->my_window, NULL, FALSE); } return 1; } int ui_window_add_child(ui_window_t *win, ui_window_t *child, int x, int y, int map) { void *p; if ((p = realloc(win->children, sizeof(*win->children) * (win->num_children + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } win->children = p; child->parent = win; child->x = x + win->hmargin; child->y = y + win->vmargin; if (!(child->is_mapped = map) && child->inputtable > 0) { child->inputtable = -1; } win->children[win->num_children++] = child; return 1; } int ui_window_remove_child(ui_window_t *win, ui_window_t *child) { u_int count; for (count = 0; count < win->num_children; count++) { if (win->children[count] == child) { child->parent = NULL; win->children[count] = win->children[--win->num_children]; return 1; } } return 0; } ui_window_t *ui_get_root_window(ui_window_t *win) { while (win->parent != NULL) { win = win->parent; } return win; } GC ui_window_get_fg_gc(ui_window_t *win) { if (win->gc->gc == None) { return None; } #if 0 ui_gc_set_fg_color(win->gc, win->fg_color.pixel); ui_gc_set_bg_color(win->gc, win->bg_color.pixel); #endif ui_release_pen(ui_gc_set_pen(win->gc, ui_acquire_pen(win->fg_color.pixel))); ui_release_brush(ui_gc_set_brush(win->gc, ui_acquire_brush(win->fg_color.pixel))); return win->gc->gc; } GC ui_window_get_bg_gc(ui_window_t *win) { if (win->gc->gc == None) { return None; } #if 0 ui_gc_set_fg_color(win->gc, win->bg_color.pixel); ui_gc_set_bg_color(win->gc, win->fg_color.pixel); #endif ui_release_pen(ui_gc_set_pen(win->gc, GetStockObject(NULL_PEN))); ui_release_brush(ui_gc_set_brush(win->gc, ui_acquire_brush(win->bg_color.pixel))); return win->gc->gc; } int ui_window_show(ui_window_t *win, int hint /* If win->parent(_window) is None, specify XValue|YValue to localte window at win->x/win->y. */ ) { u_int count; if (win->my_window) { /* already shown */ return 0; } if (win->parent) { win->disp = win->parent->disp; win->parent_window = win->parent->my_window; win->gc = win->parent->gc; } #ifndef USE_WIN32GUI if (hint & XNegative) { win->x += (win->disp->width - ACTUAL_WIDTH(win)); } if (hint & YNegative) { win->y += (win->disp->height - ACTUAL_HEIGHT(win)); } #endif #ifdef __DEBUG bl_debug_printf("X: EDGE%d BORDER%d FRAME%d Y: EDGE%d BORDER%d FRAME%d CAPTION%d\n", GetSystemMetrics(SM_CXEDGE), GetSystemMetrics(SM_CXBORDER), GetSystemMetrics(SM_CXFRAME), GetSystemMetrics(SM_CYEDGE), GetSystemMetrics(SM_CYBORDER), GetSystemMetrics(SM_CYFRAME), GetSystemMetrics(SM_CYCAPTION)); #endif win->my_window = CreateWindowEx(0, __("MLTERM"), win->app_name, PARENT_WINDOWID_IS_TOP(win) ? WS_OVERLAPPEDWINDOW : WS_CHILD | WS_VISIBLE, PARENT_WINDOWID_IS_TOP(win) && !(hint & XValue) ? CW_USEDEFAULT : win->x, PARENT_WINDOWID_IS_TOP(win) && !(hint & YValue) ? CW_USEDEFAULT : win->y, PARENT_WINDOWID_IS_TOP(win) ? ACTUAL_WINDOW_WIDTH(win) : ACTUAL_WIDTH(win), PARENT_WINDOWID_IS_TOP(win) ? ACTUAL_WINDOW_HEIGHT(win) : ACTUAL_HEIGHT(win), win->parent_window, NULL, win->disp->display->hinst, NULL); if (!win->my_window) { bl_dialog(BL_DIALOG_ALERT, "Failed to create window."); return 0; } #ifndef DISABLE_XDND DragAcceptFiles(win->my_window, TRUE); #endif if (win->parent && !win->parent->is_transparent && win->parent->wall_picture) { ui_window_set_wall_picture(win, ParentRelative, 0); } /* * This should be called after Window Manager settings, because * ui_set_{window|icon}_name() can be called in win->window_realized(). */ if (win->window_realized) { (*win->window_realized)(win); } /* * showing child windows. */ for (count = 0; count < win->num_children; count++) { ui_window_show(win->children[count], 0); } /* * really visualized. */ /* Don't place this before ui_window_show(children). */ if (update_decorate_size(win)) { SetWindowPos(win->my_window, win->cmd_show == SW_SHOWNA ? HWND_TOPMOST : 0, 0, 0, ACTUAL_WINDOW_WIDTH(win), ACTUAL_WINDOW_HEIGHT(win), (win->cmd_show == SW_SHOWNA ? SWP_NOACTIVATE : 0) | SWP_NOMOVE | SWP_NOZORDER); } /* * XXX * Some area in a main screen is not correctly drawn without this * in showing a status screen. * stat_screen is shown in im->stat_screen->show() in ui_im_redraw_preedit() */ if (win->app_name && strstr(win->app_name, "mlterm-")) /* mlterm-{candidate|status}-window" */ { win->is_mapped = 0; } if (win->is_mapped) { ShowWindow(win->my_window, win->cmd_show); if (win->inputtable > 0) { reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; } #if 0 ui_window_clear_all(win); #endif } else { ShowWindow(win->my_window, SW_HIDE); } if (win->is_transparent) { ui_window_set_transparent(win, win->pic_mod); } return 1; } void ui_window_map(ui_window_t *win) { if (win->is_mapped) { return; } ShowWindow(win->my_window, win->cmd_show); win->is_mapped = 1; } void ui_window_unmap(ui_window_t *win) { if (!win->is_mapped) { return; } ShowWindow(win->my_window, SW_HIDE); win->is_mapped = 0; } int ui_window_resize(ui_window_t *win, u_int width, /* excluding margin */ u_int height, /* excluding margin */ ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { if (win->width == width && win->height == height) { return 0; } /* Max width of each window is screen width. */ if ((flag & LIMIT_RESIZE) && win->disp->width < width) { win->width = win->disp->width - win->hmargin * 2; } else { win->width = width; } /* Maui.height of each window is screen height. */ if ((flag & LIMIT_RESIZE) && win->disp->height < height) { win->height = win->disp->height - win->vmargin * 2; } else { win->height = height; } if ((flag & NOTIFY_TO_PARENT) && win->parent && win->parent->child_window_resized) { (*win->parent->child_window_resized)(win->parent, win); } update_decorate_size(win); SetWindowPos(win->my_window, win->cmd_show == SW_SHOWNA ? HWND_TOPMOST : 0, 0, 0, win->parent ? ACTUAL_WIDTH(win) : ACTUAL_WINDOW_WIDTH(win), win->parent ? ACTUAL_HEIGHT(win) : ACTUAL_WINDOW_HEIGHT(win), (win->cmd_show == SW_SHOWNA ? SWP_NOACTIVATE : 0) | SWP_NOMOVE | SWP_NOZORDER); if ((flag & NOTIFY_TO_MYSELF) && win->window_resized) { (*win->window_resized)(win); } return 1; } /* * !! Notice !! * This function is not recommended. * Use ui_window_resize if at all possible. */ int ui_window_resize_with_margin(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag /* NOTIFY_TO_PARENT , NOTIFY_TO_MYSELF */ ) { return ui_window_resize(win, width - win->hmargin * 2, height - win->vmargin * 2, flag); } void ui_window_set_maximize_flag(ui_window_t *win, ui_maximize_flag_t flag) { if (flag == MAXIMIZE_FULL) { ShowWindow(ui_get_root_window(win)->my_window, SW_MAXIMIZE); } else if (flag == MAXIMIZE_RESTORE) { ShowWindow(ui_get_root_window(win)->my_window, SW_NORMAL); } else { /* XXX */ } } void ui_window_set_normal_hints(ui_window_t *win, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc) { win->min_width = min_width; win->min_height = min_height; win->width_inc = width_inc; win->height_inc = height_inc; } void ui_window_set_override_redirect(ui_window_t *win, int flag) { ui_window_t *root; if ((root = ui_get_root_window(win))->my_window) { #if 0 if (root->is_mapped) { ShowWindow(root->my_window, SW_HIDE); } #endif if (flag) { SetWindowLong(root->my_window, GWL_STYLE, 0); win->cmd_show = SW_SHOWNA; SetWindowPos(root->my_window, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER); } else { SetWindowLong(root->my_window, GWL_STYLE, !win->parent ? WS_OVERLAPPEDWINDOW : WS_CHILD | WS_VISIBLE); win->cmd_show = SW_SHOWNORMAL; } #if 0 if (root->is_mapped) { ShowWindow(root->my_window, win->cmd_show); } #endif } } int ui_window_set_borderless_flag(ui_window_t *win, int flag) { return 0; } int ui_window_move(ui_window_t *win, int x, int y) { if (win->parent) { x += win->parent->hmargin; y += win->parent->vmargin; } if (win->x == x && win->y == y) { return 0; } win->x = x; win->y = y; update_decorate_size(win); SetWindowPos(win->my_window, 0, win->x, win->y, win->parent ? ACTUAL_WIDTH(win) : ACTUAL_WINDOW_WIDTH(win), win->parent ? ACTUAL_HEIGHT(win) : ACTUAL_WINDOW_HEIGHT(win), (win->cmd_show == SW_SHOWNA ? SWP_NOACTIVATE : 0) | SWP_NOSIZE | SWP_NOZORDER); return 1; } /* * This function can be used in context except window_exposed and update_window * events. */ void ui_window_clear(ui_window_t *win, int x, int y, u_int width, u_int height) { RECT r; #ifdef AUTO_CLEAR_MARGIN if (x + width >= win->width) { /* Clearing margin area */ width += win->hmargin; } if (x > 0) #endif { x += win->hmargin; } #ifdef AUTO_CLEAR_MARGIN else { /* Clearing margin area */ width += win->hmargin; } if (y + height >= win->height) { /* Clearing margin area */ height += win->vmargin; } if (y > 0) #endif { y += win->vmargin; } #ifdef AUTO_CLEAR_MARGIN else { /* Clearing margin area */ height += win->vmargin; } #endif r.left = x; r.top = y; /* XXX Garbage is left in screen in scrolling without +1 due to NULL_PEN ? */ r.right = x + width /* + 1 */; r.bottom = y + height /* + 1 */; if (win->gc->gc == None) { InvalidateRect(win->my_window, &r, TRUE); } else { if (win->wall_picture) { Pixmap pic; int src_x; int src_y; if (win->wall_picture == ParentRelative) { pic = win->parent->wall_picture; src_x = win->x; src_y = win->y; } else { pic = win->wall_picture; src_x = src_y = 0; } BitBlt(win->gc->gc, r.left, r.top, r.right - r.left, r.bottom - r.top, pic, src_x + r.left, src_y + r.top, SRCCOPY); } else { HBRUSH brush; brush = ui_acquire_brush(win->bg_color.pixel); FillRect(win->gc->gc, &r, brush); ui_release_brush(brush); } } } void ui_window_clear_all(ui_window_t *win) { ui_window_clear(win, 0, 0, win->width, win->height); } void ui_window_fill(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_window_fill_with(win, &win->fg_color, x, y, width, height); } void ui_window_fill_with(ui_window_t *win, ui_color_t *color, int x, int y, u_int width, u_int height) { if (win->gc->gc == None) { return; } if (height == 1 || width == 1) { ui_release_pen(ui_gc_set_pen(win->gc, ui_acquire_pen(color->pixel))); MoveToEx(win->gc->gc, win->hmargin + x, win->vmargin + y, NULL); LineTo(win->gc->gc, win->hmargin + x + (width == 1 ? 0 : width), win->vmargin + y + (width == 1 ? height : 0)); } else { HBRUSH brush; RECT r; brush = ui_acquire_brush(color->pixel); SetRect(&r, win->hmargin + x, win->vmargin + y, win->hmargin + x + width, win->vmargin + y + height); FillRect(win->gc->gc, &r, brush); ui_release_brush(brush); } } /* * This function can be used in context except window_exposed and update_window * events. */ void ui_window_blank(ui_window_t *win) { int get_dc; HBRUSH brush; RECT r; if (win->gc->gc == None) { ui_set_gc(win->gc, GetDC(win->my_window)); get_dc = 1; } else { get_dc = 0; } brush = ui_acquire_brush(win->fg_color.pixel); SetRect(&r, win->hmargin, win->vmargin, win->width - RIGHT_MARGIN(win), win->height - BOTTOM_MARGIN(win)); FillRect(win->gc->gc, &r, brush); ui_release_brush(brush); if (get_dc) { ReleaseDC(win->my_window, win->gc->gc); ui_set_gc(win->gc, None); } } #if 0 /* * XXX * at the present time , not used and not maintained. */ void ui_window_blank_with(ui_window_t *win, ui_color_t *color) {} #endif void ui_window_update(ui_window_t *win, int flag) { if (win->update_window_flag) { /* WM_APP_PAINT has been already posted. */ win->update_window_flag |= flag; return; } else { win->update_window_flag = flag; } /* * WM_APP_PAINT message is posted only when update_window_flag is 0. */ PostMessage(win->my_window, WM_APP_PAINT, 0, 0); } void ui_window_update_all(ui_window_t *win) { u_int count; InvalidateRect(win->my_window, NULL, FALSE); for (count = 0; count < win->num_children; count++) { ui_window_update_all(win->children[count]); } } void ui_window_idling(ui_window_t *win) { u_int count; for (count = 0; count < win->num_children; count++) { ui_window_idling(win->children[count]); } #ifdef __DEBUG if (win->button_is_pressing) { bl_debug_printf(BL_DEBUG_TAG " button is pressing...\n"); } #endif if (win->button_is_pressing && win->button_press_continued) { (*win->button_press_continued)(win, &win->prev_button_press_event); } else if (win->idling) { (*win->idling)(win); } } /* * Return value: 0 => different window. * 1 => finished processing. * -1 => continuing default processing. */ int ui_window_receive_event(ui_window_t *win, XEvent *event) { u_int count; for (count = 0; count < win->num_children; count++) { int val; if ((val = ui_window_receive_event(win->children[count], event)) != 0) { return val; } } if (event->window != win->my_window) { return 0; } #ifndef DISABLE_XDND if (ui_dnd_filter_event(event, win)) { /* event was consumed by xdnd handler. */ return 1; } #endif switch (event->msg) { case WM_DESTROY: if (win->window_deleted) { (*win->window_deleted)(win); } return 1; case WM_APP_PASTE: if (win->xct_selection_notified) { (*win->xct_selection_notified)(win, event->lparam, event->wparam); free(event->lparam); } return 1; case WM_APP_WPASTE: if (win->utf_selection_notified) { (*win->utf_selection_notified)(win, event->lparam, event->wparam * 2); free(event->lparam); } return 1; case WM_APP_PAINT: if (win->update_window) { ui_set_gc(win->gc, GetDC(win->my_window)); (*win->update_window)(win, win->update_window_flag); ReleaseDC(win->my_window, win->gc->gc); ui_set_gc(win->gc, None); win->update_window_flag = 0; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "WM_APP_PAINT_END\n"); #endif } return 1; case WM_PAINT: if (win->window_exposed) { PAINTSTRUCT ps; int margin_area_exposed; int x; int y; u_int width; u_int height; ui_set_gc(win->gc, BeginPaint(win->my_window, &ps)); margin_area_exposed = 0; if (ps.rcPaint.left < win->hmargin) { margin_area_exposed = 1; x = 0; } else { x = ps.rcPaint.left - win->hmargin; } if (ps.rcPaint.top < win->vmargin) { margin_area_exposed = 1; y = 0; } else { y = ps.rcPaint.top - win->vmargin; } if (ps.rcPaint.right > win->width - win->hmargin) { margin_area_exposed = 1; width = win->width - win->hmargin - x; } else { /* +1 is not necessary ? */ width = ps.rcPaint.right - x /* + 1 */; } if (ps.rcPaint.bottom > win->height - win->vmargin) { margin_area_exposed = 1; height = win->height - win->vmargin - y; } else { /* +1 is not necessary ? */ height = ps.rcPaint.bottom - y /* + 1 */; } if (margin_area_exposed) { clear_margin_area(win); } (*win->window_exposed)(win, x, y, width, height); EndPaint(win->my_window, &ps); ui_set_gc(win->gc, None); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "WM_PAINT_END\n"); #endif } return 1; case WM_ERASEBKGND: { RECT rt; HBRUSH old; if (win->parent != NULL) /* XXX Hack for not flashing. */ { old = SelectObject((HDC)event->wparam, ui_acquire_brush(win->bg_color.pixel)); GetClientRect(win->my_window, &rt); PatBlt((HDC)event->wparam, rt.left, rt.top, rt.right - rt.left, rt.bottom - rt.top, PATCOPY); ui_release_brush(SelectObject((HDC)event->wparam, old)); } return 1; } case WM_KEYDOWN: /* * Dispatch event to all windows in case key was pressed in the * scrollbar window but should be shown in the text area. */ ui_xic_filter_event(ui_get_root_window(win), event); case WM_SYSKEYDOWN: if (win->key_pressed) { XKeyEvent kev; kev.state = get_key_state(); if ((0x30 <= event->wparam && event->wparam <= VK_DIVIDE) || event->wparam == VK_BACK || event->wparam == VK_RETURN || event->wparam == VK_ESCAPE || event->wparam == VK_SPACE) { kev.ch = event->wparam; if (kev.state & ModMask) { if (event->msg == WM_SYSKEYDOWN) { /* * Alt+key (which doesn't cause WM_*_CHAR message) */ if ('A' <= kev.ch && kev.ch <= 'Z') { /* * Upper case => Lower case. * event->wparam is always upper case * if alt key is pressed together. */ kev.ch += 0x20; } } else { /* wait for WM_*_CHAR message. */ break; } } else if ((kev.state & ControlMask) && '0' <= kev.ch && kev.ch <= '9') { /* * - See ui_xic_get_str() in win32/ui_xic.c. * - Control+0-9 doesn't cause WM_*_CHAR message. */ } else { /* wait for WM_*_CHAR message. */ break; } } else if (event->wparam == VK_TAB) { kev.ch = event->wparam; if (kev.state & ShiftMask) { event->wparam = XK_ISO_Left_Tab; ui_xic_filter_event(ui_get_root_window(win), event); } if (kev.state & ControlMask) { /* (Shift+)Control+Tab doesn't cause WM_*_CHAR message. */ } else { /* wait for WM_*_CHAR message. */ break; } } else if (event->msg == WM_SYSKEYDOWN) { if (kev.state & ModMask) { /* * VK_OEM_XXX doesn't cause WM_*_CHAR message * in WM_SYSKEYDOWN. */ if ((kev.ch = oem_key_to_char(event->wparam))) { event->wparam = kev.ch; ui_xic_filter_event(ui_get_root_window(win), event); } } else { kev.ch = 0; } if (kev.ch == 0 && event->wparam != VK_F10 /* Menu */) { break; } } else if (VK_SHIFT <= event->wparam && event->wparam <= VK_MENU) { /* Don't call key_pressed event */ break; } else { kev.ch = 0; /* * - See ui_xic_get_str() in win32/ui_xic.c. * - Ctrl+Alt+key(AltGr+key) can cause WM_*_CHAR message later. */ if (!(kev.state & ModMask) && (kev.state & ControlMask)) { if ((kev.ch = oem_key_to_char(event->wparam))) { /* * VK_OEM_1 <= event->wparam && * event->wparam <= VK_OEM_102 */ int orig_wparam; orig_wparam = event->wparam; event->wparam = kev.ch; ui_xic_filter_event(ui_get_root_window(win), event); if (orig_wparam == VK_OEM_4 || /* Ctl+[ */ orig_wparam == VK_OEM_5 || /* Ctl+\ */ orig_wparam == VK_OEM_6 || /* Ctl+] */ (orig_wparam == VK_OEM_102 && /* Ctl+_ */ !(kev.state & ShiftMask)) || (orig_wparam == VK_OEM_MINUS && /* Ctrl+- */ (kev.state & ShiftMask))) { break; } else { /* * keys except VK_OEM_{4|5|6} and * Shift+VK_OEM_102 don't * cause WM_*_CHAR message. */ } } } else if ((VK_OEM_1 /* 0xba */ <= event->wparam && event->wparam <= VK_OEM_3 /* 0xc0 */) || (VK_OEM_4 /* 0xdb */ <= event->wparam && event->wparam <= VK_OEM_8 /* 0xdf */) || (VK_OEM_AX /* 0xe1 */ <= event->wparam && event->wparam <= VK_OEM_102 /* 0xe2 */)) { /* wait for WM_*_CHAR message. */ break; } } if (event->msg == WM_SYSKEYDOWN) { event->msg = WM_KEYDOWN; ui_xic_filter_event(ui_get_root_window(win), event); } (*win->key_pressed)(win, &kev); return 1; } /* Continue default processing. */ break; case WM_IME_CHAR: case WM_CHAR: if (win->key_pressed) { XKeyEvent kev; kev.state = get_key_state(); if ((kev.state & (ControlMask | Mod1Mask)) == (ControlMask | Mod1Mask) && 0x20 < event->wparam && event->wparam != 0x7f) { /* AltGr+key sends Ctrl+Alt+char */ kev.state &= ~(ControlMask | Mod1Mask); } #if 0 /* * XXX * For cmd.exe. If not converted '\r' to '\n', cmd prompt * never goes to next line. */ if (event->wparam == '\r') { kev.ch = '\n'; } else #endif { kev.ch = event->wparam; } (*win->key_pressed)(win, &kev); } return 1; case WM_SETFOCUS: #if 0 bl_debug_printf("FOCUS IN %p\n", win->my_window); #endif urgent_bell(win, 0); notify_focus_in_to_children(ui_get_root_window(win)); break; case WM_KILLFOCUS: #if 0 bl_debug_printf("FOCUS OUT %p\n", win->my_window); #endif notify_focus_out_to_children(ui_get_root_window(win)); break; case WM_MOUSEWHEEL: case WM_MOUSEHWHEEL: case WM_LBUTTONDOWN: case WM_MBUTTONDOWN: case WM_RBUTTONDOWN: if (!win->button_pressed) { return 1; } goto BUTTON_MSG; case WM_LBUTTONUP: case WM_MBUTTONUP: case WM_RBUTTONUP: if (!win->button_released) { return 1; } BUTTON_MSG : { XButtonEvent bev; bev.time = GetMessageTime(); bev.state = get_key_state(); #if 0 if (event->wparam & MK_LBUTTON) { bev.state |= Button1Mask; } if (event->wparam & MK_MBUTTON) { bev.state |= Button2Mask; } if (event->wparam & MK_RBUTTON) { bev.state |= Button3Mask; } #endif if (event->wparam & MK_SHIFT) { bev.state |= ShiftMask; } if (event->wparam & MK_CONTROL) { bev.state |= ControlMask; } if (event->msg == WM_MOUSEWHEEL || event->msg == WM_MOUSEHWHEEL) { /* Note that WM_MOUSEWHEEL event is reported to top window. */ POINT p; p.x = LOWORD(event->lparam); p.y = HIWORD(event->lparam); ScreenToClient(win->my_window, &p); bev.x = p.x - win->hmargin; bev.y = p.y - win->vmargin; if (((SHORT)HIWORD(event->wparam)) > 0) { if (event->msg == WM_MOUSEHWHEEL) { /* Right */ bev.button = Button7; } else { /* Up */ bev.button = Button4; } } else { if (event->msg == WM_MOUSEHWHEEL) { /* Left */ bev.button = Button6; } else { /* Down */ bev.button = Button5; } } } else { bev.x = LOWORD(event->lparam) - win->hmargin; bev.y = HIWORD(event->lparam) - win->vmargin; if (event->msg == WM_LBUTTONDOWN || event->msg == WM_LBUTTONUP) { bev.button = Button1; } else if (event->msg == WM_MBUTTONDOWN || event->msg == WM_MBUTTONUP) { bev.button = Button2; } else /* if( event->msg == WM_RBUTTONDOWN || event->msg == WM_RBUTTONUP) */ { bev.button = Button3; } } /* XXX grandchild windows aren't regarded for now. */ for (count = 0; count < win->num_children; count++) { if (bev.x <= win->children[count]->x && bev.y <= win->children[count]->y && win->children[count]->x + ACTUAL_WIDTH(win->children[count]) <= bev.x + 1 && win->children[count]->y + ACTUAL_HEIGHT(win->children[count]) <= bev.y + 1) { win = win->children[count]; bev.x -= win->x; bev.y -= win->y; break; } } if (event->msg == WM_MOUSEWHEEL || event->msg == WM_LBUTTONDOWN || event->msg == WM_RBUTTONDOWN || event->msg == WM_MBUTTONDOWN) { /* XXX If button is released outside screen, WM_*BUTTONUP event might not happen. */ if (win->button_is_pressing) { if (win->button_released) { (*win->button_released)(win, &bev); } win->button_is_pressing = 0; } if (win->click_num == MAX_CLICK) { win->click_num = 0; } if (win->prev_clicked_time + click_interval >= bev.time && bev.button == win->prev_clicked_button) { win->click_num++; win->prev_clicked_time = bev.time; } else { win->click_num = 1; win->prev_clicked_time = bev.time; win->prev_clicked_button = bev.button; } (*win->button_pressed)(win, &bev, win->click_num); win->button_is_pressing = 1; win->prev_button_press_event = bev; #if 0 bl_debug_printf(BL_DEBUG_TAG " mouse pressed btn %d stat %d x %d y %d click_num %d\n", bev.button, bev.state, bev.x, bev.y, win->click_num); #endif } else /* if( event->msg == WM_LBUTTONUP || event->msg == WM_RBUTTONUP || event->msg == WM_MBUTTONUP) */ { (*win->button_released)(win, &bev); win->button_is_pressing = 0; #if 0 bl_debug_printf(BL_DEBUG_TAG " mouse released... state %d x %d y %d\n", bev.state, bev.x, bev.y); #endif } if (!win->is_focused && win->inputtable && bev.button == Button1 && !bev.state) { ui_window_set_input_focus(win); } } return 1; case WM_MOUSEMOVE: if (win->button_is_pressing || ((win->event_mask & PointerMotionMask) && win->pointer_motion)) { XMotionEvent mev; mev.time = GetMessageTime(); mev.x = LOWORD(event->lparam) - win->hmargin; mev.y = HIWORD(event->lparam) - win->vmargin; mev.state = get_key_state(); if (event->wparam & MK_LBUTTON) { mev.state |= Button1Mask; } if (event->wparam & MK_MBUTTON) { mev.state |= Button2Mask; } if (event->wparam & MK_RBUTTON) { mev.state |= Button3Mask; } if (!mev.state) { win->button_is_pressing = 0; } if (event->wparam & MK_SHIFT) { mev.state |= ShiftMask; } if (event->wparam & MK_CONTROL) { mev.state |= ControlMask; } if (win->button_is_pressing) { /* * prev_button_press_event.{x|y} can be the same * as mev.{x|y} when window is pressed and focused. */ if (win->button_motion && (win->prev_button_press_event.x != mev.x || win->prev_button_press_event.y != mev.y)) { (*win->button_motion)(win, &mev); } /* following button motion ... */ win->prev_button_press_event.x = mev.x; win->prev_button_press_event.y = mev.y; win->prev_button_press_event.time = mev.time; #if 0 bl_debug_printf(BL_DEBUG_TAG " button motion... state %d x %d y %d\n", mev.state, mev.x, mev.y); #endif } /* * win->pointer_motion should be checked again here because * win->button_is_pressing was changed from 1 to 0 above. */ else if (win->pointer_motion) { (*win->pointer_motion)(win, &mev); #if 0 bl_debug_printf(BL_DEBUG_TAG " pointer motion... state %d x %d y %d\n", mev.state, mev.x, mev.y); #endif } } return 1; case WM_SETCURSOR: { Cursor cursor; if (win->cursor_shape == XC_nil) { SetCursor(NULL); } else if ((cursor = ui_display_get_cursor(win->disp, win->cursor_shape))) { SetCursor(cursor); } else { break; } return 1; } case WM_RENDERALLFORMATS: OpenClipboard(win->my_window); EmptyClipboard(); case WM_RENDERFORMAT: if (event->wparam == CF_UNICODETEXT) { if (win->utf_selection_requested) { (*win->utf_selection_requested)(win, NULL, CF_UNICODETEXT); #if 0 bl_debug_printf(BL_DEBUG_TAG "utf_selection_requested\n"); #endif } } else if (event->wparam == CF_TEXT) { if (win->xct_selection_requested) { (*win->xct_selection_requested)(win, NULL, CF_TEXT); } } if (event->msg == WM_RENDERALLFORMATS) { CloseClipboard(); } return 1; case WM_DESTROYCLIPBOARD: if (win->is_sel_owner == 1) { /* * Call win->selection_cleared and win->is_sel_owner is set 0 * in ui_display_clear_selection. */ ui_display_clear_selection(win->disp, win); } else if (win->is_sel_owner > 1) { win->is_sel_owner--; } return 1; case WM_MOVE: if (win->parent == NULL) { win->x = LOWORD(event->lparam); win->y = HIWORD(event->lparam); #if 0 bl_debug_printf("WM_MOVE x %d y %d\n", win->x, win->y); #endif notify_move_to_children(win); } return 1; case WM_SIZE: if (win->window_resized && !IsIconic(win->my_window)) { /* * Assume that win == root. */ u_int width; u_int height; u_int min_width; u_int min_height; width = LOWORD(event->lparam); height = HIWORD(event->lparam); min_width = total_min_width(win); min_height = total_min_height(win); if (width < min_width + win->hmargin * 2 || height < min_height + win->vmargin * 2) { ui_window_resize(win, K_MAX(min_width + win->hmargin * 2, width) - win->hmargin * 2, K_MAX(min_height + win->vmargin * 2, height) - win->vmargin * 2, NOTIFY_TO_MYSELF); } else if (width != ACTUAL_WIDTH(win) || height != ACTUAL_HEIGHT(win)) { u_int width_surplus; u_int height_surplus; if (IsZoomed(ui_get_root_window(win)->my_window)) { width_surplus = height_surplus = 0; } else { width_surplus = (width - min_width - win->hmargin * 2) % total_width_inc(win); height_surplus = (height - min_height - win->vmargin * 2) % total_height_inc(win); } win->width = width - win->hmargin * 2; win->height = height - win->vmargin * 2; if (width_surplus > 0 || height_surplus > 0) { ui_window_resize(win, width - win->hmargin * 2 - width_surplus, height - win->vmargin * 2 - height_surplus, NOTIFY_TO_MYSELF); } else { ui_window_clear_all(win); (*win->window_resized)(win); } } notify_move_to_children(win); } return 1; /* Not necessary */ #if 0 case WM_THEMECHANGED: update_decorate_size(win); return 1; #endif } return -1; } size_t ui_window_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return ui_xic_get_str(win, seq, seq_len, parser, keysym, event); } /* * Scroll functions. * The caller side should clear the scrolled area. */ int ui_window_scroll_upward(ui_window_t *win, u_int height) { return ui_window_scroll_upward_region(win, 0, win->height, height); } int ui_window_scroll_upward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, height, win->height, win->width); #endif return 0; } BitBlt(win->gc->gc, win->hmargin, win->vmargin + boundary_start, /* dst */ win->width, boundary_end - boundary_start - height, /* size */ win->gc->gc, win->hmargin, win->vmargin + boundary_start + height, /* src */ SRCCOPY); return 1; } int ui_window_scroll_downward(ui_window_t *win, u_int height) { return ui_window_scroll_downward_region(win, 0, win->height, height); } int ui_window_scroll_downward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->height || boundary_end <= boundary_start + height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d height %d\n", boundary_start, boundary_end, height); #endif return 0; } BitBlt(win->gc->gc, win->hmargin, win->vmargin + boundary_start + height, /* dst */ win->width, boundary_end - boundary_start - height, /* size */ win->gc->gc, win->hmargin, win->vmargin + boundary_start, /* src */ SRCCOPY); return 1; } int ui_window_scroll_leftward(ui_window_t *win, u_int width) { return ui_window_scroll_leftward_region(win, 0, win->width, width); } int ui_window_scroll_leftward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d in window((h) %d (w) %d)\n", boundary_start, boundary_end, width, win->height, win->width); #endif return 0; } BitBlt(win->gc->gc, win->hmargin + boundary_start, win->vmargin, /* dst */ boundary_end - boundary_start - width, win->height, /* size */ win->gc->gc, win->hmargin + boundary_start + width, win->vmargin, /* src */ SRCCOPY); return 1; } int ui_window_scroll_rightward(ui_window_t *win, u_int width) { return ui_window_scroll_rightward_region(win, 0, win->width, width); } int ui_window_scroll_rightward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width) { if (!win->is_scrollable) { return 0; } if (boundary_start < 0 || boundary_end > win->width || boundary_end <= boundary_start + width) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " boundary start %d end %d width %d\n", boundary_start, boundary_end, width); #endif return 0; } BitBlt(win->gc->gc, win->hmargin + boundary_start + width, win->vmargin, /* dst */ boundary_end - boundary_start - width, win->height, /* size */ win->gc->gc, win->hmargin + boundary_start, win->vmargin, /* src */ SRCCOPY); return 1; } int ui_window_copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, /* >= 0 */ int src_y, /* >= 0 */ u_int width, u_int height, int dst_x, /* >= 0 */ int dst_y /* >= 0 */ ) { #ifndef DONT_OPTIMIZE_DRAWING_PICTURE int tmp_gc; #endif if (dst_x >= win->width || dst_y >= win->height) { return 0; } /* for xterm_show_picture() */ #ifndef DONT_OPTIMIZE_DRAWING_PICTURE if (win->gc->gc == None) { ui_set_gc(win->gc, GetDC(win->my_window)); tmp_gc = 1; } else { tmp_gc = 0; } #endif if (dst_x + width > win->width) { width = win->width - dst_x; } if (dst_y + height > win->height) { height = win->height - dst_y; } if (mask) { MaskBlt(win->gc->gc, win->hmargin + dst_x, win->vmargin + dst_y, width, height, src, src_x, src_y, mask, src_x, src_y, MAKEROP4(SRCCOPY, 0x00aa0029)); } else { BitBlt(win->gc->gc, win->hmargin + dst_x, win->vmargin + dst_y, width, height, src, src_x, src_y, SRCCOPY); } #ifndef DONT_OPTIMIZE_DRAWING_PICTURE if (tmp_gc) { ReleaseDC(win->my_window, win->gc->gc); ui_set_gc(win->gc, None); } #endif return 1; } void ui_window_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { HRGN r = CreateRectRgn(x + win->hmargin, y + win->vmargin, x + width + win->hmargin, y + height + win->vmargin); SelectClipRgn(win->gc->gc, r); DeleteObject(r); } void ui_window_unset_clip(ui_window_t *win) { SelectClipRgn(win->gc->gc, NULL); } void ui_window_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { ui_window_draw_string(win, font, fg_color, x, y, str, len); } void ui_window_draw_decsp_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len) { ui_window_draw_image_string(win, font, fg_color, bg_color, x, y, str, len); } void ui_window_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len) { if (win->gc->gc == None) { return; } /* Removing trailing spaces. */ while (1) { if (len == 0) { return; } if (*(str + len - 1) == ' ') { len--; } else { break; } } ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); /* * XXX Hack * In case US_ASCII characters is drawn by Unicode font. * 8 bit charcter => 16 bit character. */ if (IS_ISO10646_UCS4(FONT_CS(font->id))) { u_char *dbl_str; if ((dbl_str = alloca(len * 2))) { u_int count; for (count = 0; count < len; count++) { /* Little Endian */ dbl_str[count * 2] = str[count]; dbl_str[count * 2 + 1] = 0x0; } draw_string(win, font, x, y, dbl_str, len * 2, 1, 1); } } else { draw_string(win, font, x, y, str, len, 1, 0); } } void ui_window_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, u_int len) { if (win->gc->gc == None) { return; } ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); draw_string(win, font, x, y, (u_char*)str, len * 2, 1, IS_ISO10646_UCS4(FONT_CS(font->id))); } void ui_window_draw_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len) { if (win->gc->gc == None) { return; } ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); ui_gc_set_bg_color(win->gc, bg_color->pixel); /* * XXX Hack * In case US_ASCII characters is drawn by Unicode font. * 8 bit charcter => 16 bit character. */ if (IS_ISO10646_UCS4(FONT_CS(font->id))) { u_char *dbl_str; if ((dbl_str = alloca(len * 2))) { u_int count; for (count = 0; count < len; count++) { /* Little Endian */ dbl_str[count * 2] = str[count]; dbl_str[count * 2 + 1] = 0x0; } draw_string(win, font, x, y, dbl_str, len * 2, 0, 1); } } else { draw_string(win, font, x, y, str, len, 0, 0); } } void ui_window_draw_image_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, XChar2b *str, u_int len) { if (win->gc->gc == None) { return; } ui_gc_set_fid(win->gc, font->xfont->fid); ui_gc_set_fg_color(win->gc, fg_color->pixel); ui_gc_set_bg_color(win->gc, bg_color->pixel); draw_string(win, font, x, y, (u_char*)str, len * 2, 0, IS_ISO10646_UCS4(FONT_CS(font->id))); } void ui_window_draw_rect_frame(ui_window_t *win, int x1, int y1, int x2, int y2) { if (win->gc->gc == None) { return; } ui_release_pen(ui_gc_set_pen(win->gc, ui_acquire_pen(win->fg_color.pixel))); ui_release_brush(ui_gc_set_brush(win->gc, GetStockObject(NULL_BRUSH))); Rectangle(win->gc->gc, x1 + win->hmargin, y1 + win->vmargin, x2 + win->hmargin, y2 + win->vmargin); } void ui_set_use_clipboard_selection(int use_it) {} int ui_is_using_clipboard_selection(void) { return 0; } int ui_window_set_selection_owner(ui_window_t *win, Time time) { #if 0 bl_debug_printf(BL_DEBUG_TAG " ui_window_set_selection_owner.\n"); #endif if ((!win->is_sel_owner && !ui_display_own_selection(win->disp, win)) || OpenClipboard(win->my_window) == FALSE) { return 0; } /* * If win->is_sel_owner is already 1, win->is_sel_owner++ prevents * WM_DESTROYCLIPBOARD by EmtpyClipboard() from calling * ui_display_clear_selection(). */ win->is_sel_owner++; EmptyClipboard(); /* Own clipboard. Create WM_DESTROYCLIPBOARD message */ SetClipboardData(CF_TEXT, NULL); SetClipboardData(CF_UNICODETEXT, NULL); CloseClipboard(); return 1; } int ui_window_xct_selection_request(ui_window_t *win, Time time) { return invoke_selection_request(win, CF_TEXT, xct_selection_request); } int ui_window_utf_selection_request(ui_window_t *win, Time time) { return invoke_selection_request(win, CF_UNICODETEXT, utf_selection_request); } void ui_window_send_picture_selection(ui_window_t *win, Pixmap pixmap, u_int width, u_int height) { HBITMAP hbmp; HGDIOBJ old; HDC hdc; if (MessageBox(win->my_window, "Set this picture to the clipboard.", "", MB_OKCANCEL) != IDOK) { return; } hbmp = CreateCompatibleBitmap(pixmap, width, height); hdc = CreateCompatibleDC(pixmap); old = SelectObject(hdc, hbmp); BitBlt(hdc, 0, 0, width, height, pixmap, 0, 0, SRCCOPY); SelectObject(hdc, old); DeleteDC(hdc); if ((!win->is_sel_owner && !ui_display_own_selection(win->disp, win)) || OpenClipboard(win->my_window) == FALSE) { return; } /* * If win->is_sel_owner is already 1, win->is_sel_owner++ prevents * WM_DESTROYCLIPBOARD by EmtpyClipboard() from calling * ui_display_clear_selection(). */ win->is_sel_owner++; EmptyClipboard(); SetClipboardData(CF_BITMAP, hbmp); CloseClipboard(); DeleteObject(hbmp); } void ui_window_send_text_selection(ui_window_t *win, XSelectionRequestEvent *req_ev, u_char *sel_data, size_t sel_len, Atom sel_type) { HGLOBAL hmem; u_char *g_data; size_t count; if (sel_data == NULL || sel_len == 0) { return; } /* +1 for 0x00, +2 for 0x0000(UTF16) */ if ((hmem = GlobalAlloc(GHND, sel_len + (sel_type == CF_UNICODETEXT ? 2 : 1))) == NULL) { return; } if ((g_data = GlobalLock(hmem)) == NULL) { GlobalFree(hmem); return; } for (count = 0; count < sel_len; count++) { *(g_data++) = *(sel_data++); } /* *(g_data++) = 0x0 is not necessary because GlobalAlloc already cleared * memory. */ GlobalUnlock(hmem); SetClipboardData(sel_type, hmem); #if 0 bl_debug_printf(BL_DEBUG_TAG " ui_window_send_selection.\n"); #endif } void ui_set_window_name(ui_window_t *win, u_char *name) { ui_window_t *root; root = ui_get_root_window(win); if (name == NULL) { name = root->app_name; } #ifdef UTF16_IME_CHAR else { u_char *buf; size_t len; vt_char_encoding_t encoding; ef_conv_t *utf_conv; ef_parser_t *parser; /* See parse_title() in vt_parser.c */ encoding = vt_get_char_encoding("auto"); /* 4 == UTF16 surrogate pair. */ if (!(buf = alloca((len = strlen(name)) * 4 + 2)) || !(utf_conv = ui_get_selection_conv(1)) /* UTF16LE */ || !(parser = vt_char_encoding_parser_new(encoding))) { return; } if (len > 0) { (*parser->init)(parser); (*parser->set_str)(parser, name, len); (*utf_conv->init)(utf_conv); len = (*utf_conv->convert)(utf_conv, buf, len * 4, parser); } (*parser->delete)(parser); buf[len] = '\0'; buf[len + 1] = '\0'; name = buf; } #endif #ifndef UTF16_IME_CHAR SetWindowTextA(root->my_window, name); #else SetWindowTextW(root->my_window, name); #endif } void ui_set_icon_name(ui_window_t *win, u_char *name) {} void ui_window_set_icon(ui_window_t *win, ui_icon_picture_t *icon) {} void ui_window_remove_icon(ui_window_t *win) {} void ui_window_reset_group(ui_window_t *win) {} void ui_set_click_interval(int interval) { click_interval = interval; } int ui_get_click_interval(void) { return click_interval; } u_int ui_window_get_mod_ignore_mask(ui_window_t *win, KeySym *keysyms) { return ~0; } u_int ui_window_get_mod_meta_mask(ui_window_t *win, char *mod_key) { return ModMask; } void ui_set_use_urgent_bell(int use) { use_urgent_bell = use; } void ui_window_bell(ui_window_t *win, ui_bel_mode_t mode) { urgent_bell(win, 1); if (mode & BEL_VISUAL) { int count; ui_set_gc(win->gc, GetDC(win->my_window)); /* win->gc is used in ui_window_blank(). */ ui_window_blank(win); for (count = 0; count < 10; count++) { Sleep(10); } (*win->window_exposed)(win, 0, 0, win->width, win->height); ReleaseDC(win->my_window, win->gc->gc); ui_set_gc(win->gc, None); } if (mode & BEL_SOUND) { Beep(800, 200); } } void ui_window_translate_coordinates(ui_window_t *win, int x, int y, int *global_x, int *global_y) { POINT p; p.x = x; p.y = y; ClientToScreen(win->my_window, &p); *global_x = p.x; *global_y = p.y; } void ui_window_set_input_focus(ui_window_t *win) { reset_input_focus(ui_get_root_window(win)); win->inputtable = 1; SetFocus(win->my_window); } #ifdef DEBUG void ui_window_dump_children(ui_window_t *win) { u_int count; bl_msg_printf("%p(%li) => ", win, win->my_window); for (count = 0; count < win->num_children; count++) { bl_msg_printf("%p(%li) ", win->children[count], win->children[count]->my_window); } bl_msg_printf("\n"); for (count = 0; count < win->num_children; count++) { ui_window_dump_children(win->children[count]); } } #endif mlterm-3.8.4/uitoolkit/win32/ui.c010064400017600000144000000100631321054731200152700ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui.h" #include /* sscanf */ #include /* strcmp */ #include /* size_t */ #if 0 #define SELF_TEST #endif #define TABLE_SIZE (sizeof(keysym_table) / sizeof(keysym_table[0])) static struct { char *str; KeySym /* WORD */ ksym; /* 16bit */ } keysym_table[] = { {"1", '1'}, {"2", '2'}, {"3", '3'}, {"4", '4'}, {"5", '5'}, {"6", '6'}, {"7", '7'}, {"8", '8'}, {"9", '9'}, {"0", '0'}, {"BackSpace", XK_BackSpace}, {"Delete", XK_Delete}, {"Down", XK_Down}, {"End", XK_End}, {"Escape", XK_Escape}, {"F1", XK_F1}, {"F10", XK_F10}, {"F11", XK_F11}, {"F12", XK_F12}, {"F13", XK_F13}, {"F14", XK_F14}, {"F15", XK_F15}, {"F16", XK_F16}, {"F17", XK_F17}, {"F18", XK_F18}, {"F19", XK_F19}, {"F2", XK_F2}, {"F20", XK_F20}, {"F21", XK_F21}, {"F22", XK_F22}, {"F23", XK_F23}, {"F24", XK_F24}, {"F3", XK_F3}, {"F4", XK_F4}, {"F5", XK_F5}, {"F6", XK_F6}, {"F7", XK_F7}, {"F8", XK_F8}, {"F9", XK_F9}, {"Henkan_Mode", XK_Henkan_Mode}, {"Home", XK_Home}, {"Insert", XK_Insert}, {"Left", XK_Left}, {"Muhenkan", XK_Muhenkan}, {"Next", XK_Next}, {"Prior", XK_Prior}, {"Return", XK_Return}, {"Right", XK_Right}, {"Tab", XK_Tab}, {"Up", XK_Up}, {"Zenkaku_Hankaku", XK_Zenkaku_Hankaku}, {"a", 'a'}, {"b", 'b'}, {"c", 'c'}, {"d", 'd'}, {"e", 'e'}, {"f", 'f'}, {"g", 'g'}, {"h", 'h'}, {"i", 'i'}, {"j", 'j'}, {"k", 'k'}, {"l", 'l'}, {"m", 'm'}, {"n", 'n'}, {"o", 'o'}, {"p", 'p'}, {"q", 'q'}, {"r", 'r'}, {"s", 's'}, {"space", ' '}, {"t", 't'}, {"u", 'u'}, {"v", 'v'}, {"w", 'w'}, {"x", 'x'}, {"y", 'y'}, {"z", 'z'}, }; /* --- global functions --- */ int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height) { if (sscanf(str, "%ux%u+%d+%d", width, height, x, y) == 4) { return XValue | YValue | WidthValue | HeightValue; } else if (sscanf(str, "%ux%u", width, height) == 2) { return WidthValue | HeightValue; } else if (sscanf(str, "+%d+%d", x, y) == 2) { return XValue | YValue; } else { return 0; } } KeySym XStringToKeysym(char *str) { #ifdef SELF_TEST int debug_count = 0; #endif size_t prev_idx; size_t idx; size_t distance; prev_idx = -1; /* +1 => roundup */ idx = (TABLE_SIZE + 1) / 2; /* idx + distance == TABLE_SIZE - 1 */ distance = TABLE_SIZE - idx - 1; while (1) { int cmp; if ((cmp = strcmp(keysym_table[idx].str, str)) == 0) { #ifdef SELF_TEST fprintf(stderr, "%.2d/%.2d:", debug_count, TABLE_SIZE); #endif return keysym_table[idx].ksym; } else { size_t next_idx; #ifdef SELF_TEST debug_count++; #endif /* +1 => roundup */ if ((distance = (distance + 1) / 2) == 0) { break; } if (cmp > 0) { if (idx < distance) { /* idx - distance == 0 */ distance = idx; } next_idx = idx - distance; } else /* if( cmp < 0) */ { if (idx + distance >= TABLE_SIZE) { /* idx + distance == TABLE_SIZE - 1 */ distance = TABLE_SIZE - idx - 1; } next_idx = idx + distance; } if (next_idx == prev_idx) { break; } prev_idx = idx; idx = next_idx; } } return NoSymbol; } #ifdef SELF_TEST int main() { size_t count; for (count = 0; count < TABLE_SIZE; count++) { fprintf(stderr, "%x %x\n", XStringToKeysym(keysym_table[count].str), keysym_table[count].ksym); /* * stderr isn't flushed without fflush() if * XStringToKeysym() falls to infinite-loop. */ fflush(stderr); } fprintf(stderr, "%x\n", XStringToKeysym("a")); fflush(stderr); fprintf(stderr, "%x\n", XStringToKeysym("hoge")); fflush(stderr); fprintf(stderr, "%x\n", XStringToKeysym("zzzz")); fflush(stderr); return 1; } #endif mlterm-3.8.4/uitoolkit/win32/ui_selection_encoding.c010064400017600000144000000034141321054731200212050ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_selection_encoding.h" #include /* NULL */ #include #include #include #include /* --- static varaiables --- */ static ef_parser_t *utf_parser; /* leaked */ static ef_parser_t *parser; /* leaked */ static ef_conv_t *utf_conv; /* leaked */ static ef_conv_t *conv; /* leaked */ /* --- static functions --- */ /* See utf8_illegal_char() in vt_char_encoding.c */ static size_t utf16le_illegal_char(ef_conv_t *conv, u_char *dst, size_t dst_size, int *is_full, ef_char_t *ch) { *is_full = 0; if (ch->cs == DEC_SPECIAL) { u_int16_t utf16; if (dst_size < 2) { *is_full = 1; } else if ((utf16 = vt_convert_decsp_to_ucs(ef_char_to_int(ch)))) { memcpy(dst, utf16, 2); /* little endian */ return 2; } } return 0; } /* --- global functions --- */ ef_parser_t *ui_get_selection_parser(int utf) { if (utf) { if (!utf_parser) { if (!(utf_parser = ef_utf16le_parser_new())) { return NULL; } } return utf_parser; } else { if (!parser) { if (!(parser = vt_char_encoding_parser_new(vt_get_char_encoding(bl_get_codeset_win32())))) { return NULL; } } return parser; } } ef_conv_t *ui_get_selection_conv(int utf) { if (utf) { if (!utf_conv) { if (!(utf_conv = ef_utf16le_conv_new())) { return NULL; } utf_conv->illegal_char = utf16le_illegal_char; } return utf_conv; } else { if (!conv) { if (!(conv = vt_char_encoding_conv_new(vt_get_char_encoding(bl_get_codeset_win32())))) { return NULL; } } return conv; } } mlterm-3.8.4/uitoolkit/win32/ui_dnd.c010064400017600000144000000072241321054731200161220ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef DISABLE_XDND #include "../ui_window.h" #include "../ui_dnd.h" #include /* USE_WIN32API */ #if defined(__CYGWIN__) || defined(__MSYS__) #include /* bl_conv_to_posix_path */ #endif #include #include #ifndef USE_WIN32API #include #include #endif /* --- static functions --- */ static size_t conv_utf16_to_utf8(u_char *dst, size_t dst_len, u_char *src, size_t src_len) { size_t conv_len; ef_parser_t *utf16_parser; ef_conv_t *utf8_conv; utf16_parser = ef_utf16le_parser_new(); utf8_conv = ef_utf8_conv_new(); (*utf16_parser->init)(utf16_parser); (*utf16_parser->set_str)(utf16_parser, src, src_len); (*utf8_conv->init)(utf8_conv); if ((conv_len = (*utf8_conv->convert)(utf8_conv, dst, dst_len, utf16_parser)) == dst_len) { conv_len--; } dst[conv_len] = '\0'; (*utf16_parser->delete)(utf16_parser); (*utf8_conv->delete)(utf8_conv); return conv_len; } /* --- global functions --- */ /* * XFilterEvent(event, w) analogue. * return 0 if the event should be processed in the mlterm mail loop. * return 1 if nothing to be done is left for the event. */ int ui_dnd_filter_event(XEvent *event, ui_window_t *win) { HDROP drop; UINT num; int count; int do_scp; #ifndef USE_WIN32API ef_conv_t *utf16_conv; ef_parser_t *utf8_parser; #endif if (event->msg != WM_DROPFILES) { return 0; } /* Shift+DnD => SCP */ do_scp = (GetKeyState(VK_SHIFT) < 0); #ifndef USE_WIN32API utf8_parser = ef_utf8_parser_new(); utf16_conv = ef_utf16le_conv_new(); #endif drop = (HDROP)event->wparam; num = DragQueryFile(drop, 0xffffffff, NULL, 0); for (count = 0; count < num; count++) { WCHAR utf16_path[MAX_PATH]; UINT path_len; if ((path_len = DragQueryFileW(drop, count, utf16_path, sizeof(utf16_path) / sizeof(utf16_path[0]))) > 0) { u_char utf8_path[MAX_PATH]; #ifdef USE_WIN32API if (do_scp) { path_len++; /* NULL terminator */ if (win->set_xdnd_config && conv_utf16_to_utf8(utf8_path, sizeof(utf8_path), utf16_path, path_len * sizeof(utf16_path[0])) > 0) { (*win->set_xdnd_config)(win, NULL, "scp", utf8_path); } } else { path_len *= sizeof(utf16_path[0]); if (win->utf_selection_notified) { (*win->utf_selection_notified)(win, (u_char*)utf16_path, path_len); } } #else u_char posix_path[MAX_PATH]; path_len++; /* NULL terminator */ if (conv_utf16_to_utf8(utf8_path, sizeof(utf8_path), utf16_path, path_len * sizeof(utf16_path[0])) == 0 || bl_conv_to_posix_path(utf8_path, posix_path, sizeof(posix_path)) < 0) { continue; } if (do_scp) { if (win->set_xdnd_config) { (*win->set_xdnd_config)(win, NULL, "scp", posix_path); } } else if (win->utf_selection_notified) { (*utf8_parser->init)(utf8_parser); (*utf8_parser->set_str)(utf8_parser, posix_path, strlen(posix_path) + 1); (*utf16_conv->init)(utf16_conv); if ((path_len = (*utf16_conv->convert)(utf16_conv, (u_char*)utf16_path, sizeof(utf16_path), utf8_parser)) > 0) { (*win->utf_selection_notified)(win, (u_char*)utf16_path, path_len); } } #endif } } #ifndef USE_WIN32API (*utf8_parser->delete)(utf8_parser); (*utf16_conv->delete)(utf16_conv); #endif DragFinish(drop); return 1; } #endif /* DISABLE_XDND */ mlterm-3.8.4/uitoolkit/libtype004075500017600000144000000000001321054731200151415ustar kenusersmlterm-3.8.4/uitoolkit/libtype/ui_window_cairo.c010064400017600000144000000212121321054731200205400ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_window.h" #include #include /* FcChar32 */ #include #include /* alloca */ #include /* UTF_MAX_SIZE */ #define DIVIDE_ROUNDINGUP(a, b) (((int)((a)*10 + (b)*10 - 1)) / ((int)((b)*10))) /* Implemented in ui_font_ft.c */ size_t ui_convert_ucs4_to_utf8(u_char *utf8, u_int32_t ucs); int ui_search_next_cairo_font(ui_font_t *font, int ch); /* --- static functions --- */ static void adjust_glyphs(ui_font_t *font, cairo_glyph_t *glyphs, int num_glyphs) { if (!font->is_var_col_width) { int count; double prev_x; int adjust; int std_width; adjust = 0; prev_x = glyphs[0].x; for (count = 1; count < num_glyphs; count++) { int w; w = glyphs[count].x - prev_x; prev_x = glyphs[count].x; if (!adjust) { if (w == font->width) { continue; } adjust = 1; std_width = font->width - font->x_off * 2; } glyphs[count].x = glyphs[count - 1].x + font->width; glyphs[count - 1].x += ((std_width - w) / 2); } } } static int show_text(cairo_t *cr, cairo_scaled_font_t *xfont, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str /* NULL-terminated UTF8 or FcChar32* */, u_int str_len, int double_draw_gap) { #if CAIRO_VERSION_ENCODE(1, 8, 0) <= CAIRO_VERSION int drawn_x; #endif #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION if (cairo_get_user_data(cr, 1) != xfont) #endif { cairo_set_scaled_font(cr, xfont); #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION cairo_set_user_data(cr, 1, xfont, NULL); #endif } #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION /* * If cairo_get_user_data() returns NULL, it means that source rgb value is * default one * (black == 0). */ if ((u_long)cairo_get_user_data(cr, 2) != fg_color->pixel) #endif { cairo_set_source_rgba(cr, (double)fg_color->red / 255.0, (double)fg_color->green / 255.0, (double)fg_color->blue / 255.0, (double)fg_color->alpha / 255.0); #if CAIRO_VERSION_ENCODE(1, 4, 0) <= CAIRO_VERSION cairo_set_user_data(cr, 2, fg_color->pixel, NULL); #endif } if (font->size_attr == DOUBLE_WIDTH) { x /= 2; font->width /= 2; cairo_scale(cr, 2.0, 1.0); } #if CAIRO_VERSION_ENCODE(1, 8, 0) > CAIRO_VERSION cairo_move_to(cr, x, y); cairo_show_text(cr, str); if (double_draw_gap) { cairo_move_to(cr, x + double_draw_gap, y); cairo_show_text(cr, str); } if (font->size_attr == DOUBLE_WIDTH) { font->width *= 2; cairo_scale(cr, 0.5, 1.0); } return 1; #else #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { cairo_glyph_t *glyphs; u_int count; cairo_text_extents_t extent; if (!(glyphs = alloca(sizeof(*glyphs) * (str_len + 1)))) { return 0; } glyphs[0].x = x; for (count = 0; count < str_len;) { glyphs[count].index = ((FcChar32*)str)[count]; glyphs[count].y = y; cairo_glyph_extents(cr, glyphs + count, 1, &extent); count++; glyphs[count].x = glyphs[count - 1].x + extent.x_advance; } adjust_glyphs(font, glyphs, str_len + 1); cairo_show_glyphs(cr, glyphs, str_len); if (double_draw_gap) { for (count = 0; count < str_len; count++) { glyphs[count].x += double_draw_gap; } cairo_show_glyphs(cr, glyphs, str_len); } if (str_len > 0) { drawn_x = glyphs[str_len - 1].x + extent.x_advance; } else { drawn_x = 0; } } else #endif { static cairo_glyph_t *glyphs; static int num_glyphs; cairo_glyph_t *orig_glyphs; u_char *str2; orig_glyphs = glyphs; if (!(str2 = alloca(str_len + 2))) { return 0; } memcpy(str2, str, str_len); str2[str_len] = ' '; /* dummy */ str2[str_len + 1] = '\0'; if (cairo_scaled_font_text_to_glyphs(xfont, x, y, str2, str_len + 1, &glyphs, &num_glyphs, NULL, NULL, NULL) == CAIRO_STATUS_SUCCESS) { adjust_glyphs(font, glyphs, num_glyphs); num_glyphs--; /* remove dummy */ cairo_show_glyphs(cr, glyphs, num_glyphs); if (double_draw_gap) { int count; for (count = 0; count < num_glyphs; count++) { glyphs[count].x += double_draw_gap; } cairo_show_glyphs(cr, glyphs, num_glyphs); } } if (orig_glyphs != glyphs) { cairo_glyph_free(orig_glyphs); } if (num_glyphs > 0) { drawn_x = glyphs[num_glyphs].x; } else { drawn_x = 0; } } if (font->size_attr == DOUBLE_WIDTH) { font->width *= 2; cairo_scale(cr, 0.5, 1.0); } return drawn_x; #endif } static int draw_string32(ui_window_t *win, cairo_scaled_font_t *xfont, ui_font_t *font, ui_color_t *fg_color, int x, int y, FcChar32* str, u_int len) { u_char *buf; u_int count; char *p; #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { buf = str; } else #endif { if (!(p = buf = alloca(UTF_MAX_SIZE * len + 1))) { return 0; } for (count = 0; count < len; count++) { p += ui_convert_ucs4_to_utf8(p, str[count]); } *p = '\0'; len = strlen(buf); } return show_text(win->cairo_draw, xfont, font, fg_color, x + win->hmargin, y + win->vmargin, buf, len, font->double_draw_gap); } /* --- global functions --- */ int ui_window_set_use_cairo(ui_window_t *win, int use_cairo) { if (use_cairo) { if ((win->cairo_draw = cairo_create( cairo_xlib_surface_create(win->disp->display, win->my_window, win->disp->visual, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win))))) { return 1; } } else { cairo_destroy(win->cairo_draw); win->cairo_draw = NULL; return 1; } return 0; } void ui_window_cairo_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len) { u_char *buf; size_t count; u_char *p; /* Removing trailing spaces. */ while (1) { if (len == 0) { return; } if (*(str + len - 1) == ' ') { len--; } else { break; } } /* Max utf8 size of 0x80 - 0xff is 2 */ if (!(p = buf = alloca(2 * len + 1))) { return; } for (count = 0; count < len; count++) { p += ui_convert_ucs4_to_utf8(p, (u_int32_t)(str[count])); } *p = '\0'; show_text(win->cairo_draw, font->cairo_font, font, fg_color, x + font->x_off + win->hmargin, y + win->vmargin, buf, strlen(buf), font->double_draw_gap); } void ui_window_cairo_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, FcChar32* str, u_int len) { cairo_scaled_font_t *xfont; xfont = font->cairo_font; /* draw_string32() before 1.8.0 doesn't return x position. */ #if CAIRO_VERSION_ENCODE(1, 8, 0) <= CAIRO_VERSION if ( #ifdef USE_OT_LAYOUT (!font->use_ot_layout /* || ! font->ot_font */) && #endif font->compl_fonts) { u_int count; for (count = 0; count < len; count++) { if (!FcCharSetHasChar(font->compl_fonts[0].charset, str[count])) { int compl_idx; if ((compl_idx = ui_search_next_cairo_font(font, str[count])) >= 0) { FcChar32* substr; int x_off; if (count > 0) { x += draw_string32(win, xfont, font, fg_color, x + font->x_off, y, str, count); } substr = str + count; for (count++; count < len && !FcCharSetHasChar(font->compl_fonts[0].charset, str[count]) && FcCharSetHasChar(font->compl_fonts[compl_idx + 1].charset, str[count]); count++) ; x_off = font->x_off; font->x_off = 0; x += draw_string32(win, font->compl_fonts[compl_idx].next, font, fg_color, x + font->x_off, y, substr, substr - str + count); font->x_off = x_off; str += count; len -= count; count = 0; } } } } #endif draw_string32(win, xfont, font, fg_color, x + font->x_off, y, str, len); } void cairo_resize(ui_window_t *win) { cairo_xlib_surface_set_size(cairo_get_target(win->cairo_draw), ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); } void cairo_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { cairo_rectangle(win->cairo_draw, x, y, width, height); cairo_clip(win->cairo_draw); } void cairo_unset_clip(ui_window_t *win) { cairo_reset_clip(win->cairo_draw); } mlterm-3.8.4/uitoolkit/libtype/ui_window_xft.c010064400017600000144000000064261321054731200202560ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_window.h" #include #include /* alloca */ #define ui_color_to_xft(xcolor) _ui_color_to_xft(alloca(sizeof(XftColor)), (xcolor)) /* --- static functions --- */ static XftColor* _ui_color_to_xft(XftColor *xftcolor, ui_color_t *xcolor) { xftcolor->pixel = xcolor->pixel; xftcolor->color.red = (xcolor->red << 8) + xcolor->red; xftcolor->color.green = (xcolor->green << 8) + xcolor->green; xftcolor->color.blue = (xcolor->blue << 8) + xcolor->blue; xftcolor->color.alpha = (xcolor->alpha << 8) + xcolor->alpha; return xftcolor; } /* --- global functions --- */ int ui_window_set_use_xft(ui_window_t *win, int use_xft) { if (use_xft) { if ((win->xft_draw = XftDrawCreate(win->disp->display, win->my_window, win->disp->visual, win->disp->colormap))) { return 1; } } else { XftDrawDestroy(win->xft_draw); win->xft_draw = NULL; return 1; } return 0; } void ui_window_xft_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len) { XftColor *xftcolor; /* Removing trailing spaces. */ while (1) { if (len == 0) { return; } if (*(str + len - 1) == ' ') { len--; } else { break; } } xftcolor = ui_color_to_xft(fg_color); XftDrawString8(win->xft_draw, xftcolor, font->xft_font, x + font->x_off + win->hmargin, y + win->vmargin, str, len); if (font->double_draw_gap) { XftDrawString8(win->xft_draw, xftcolor, font->xft_font, x + font->x_off + win->hmargin + font->double_draw_gap, y + win->vmargin, str, len); } } void ui_window_xft_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, FcChar32* str, u_int len) { XftColor *xftcolor; xftcolor = ui_color_to_xft(fg_color); #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { XftDrawGlyphs(win->xft_draw, xftcolor, font->xft_font, x + font->x_off + win->hmargin, y + win->vmargin, str, len); } else #endif { XftDrawString32(win->xft_draw, xftcolor, font->xft_font, x + font->x_off + win->hmargin, y + win->vmargin, str, len); } if (font->double_draw_gap) { #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { XftDrawGlyphs(win->xft_draw, xftcolor, font->xft_font, x + font->x_off + win->hmargin, y + win->vmargin, str, len); } else #endif { XftDrawString32(win->xft_draw, xftcolor, font->xft_font, x + font->x_off + win->hmargin + font->double_draw_gap, y + win->vmargin, str, len); } } } void xft_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height) { XRectangle rect; rect.x = 0; rect.y = 0; rect.width = width; rect.height = height; XftDrawSetClipRectangles(win->xft_draw, x, y, &rect, 1); } void xft_unset_clip(ui_window_t *win) { XRectangle rect; rect.x = 0; rect.y = 0; rect.width = ACTUAL_WIDTH(win); rect.height = ACTUAL_HEIGHT(win); XftDrawSetClipRectangles(win->xft_draw, 0, 0, &rect, 1); } mlterm-3.8.4/uitoolkit/libtype/ui_functbl_xft.c010064400017600000144000000014751321054731200204030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../xlib/ui_type_loader.h" #include /* NULL */ /* Dummy declaration */ void ui_window_set_use_xft(void); void ui_window_xft_draw_string8(void); void ui_window_xft_draw_string32(void); void xft_set_font(void); void xft_unset_font(void); void xft_calculate_char_width(void); void xft_set_clip(void); void xft_unset_clip(void); void xft_set_ot_font(void); void ft_convert_text_to_glyphs(void); /* --- global variables --- */ void *ui_type_xft_func_table[MAX_TYPE_FUNCS] = { (void*)TYPE_API_COMPAT_CHECK_MAGIC, ui_window_set_use_xft, ui_window_xft_draw_string8, ui_window_xft_draw_string32, NULL, xft_set_font, xft_unset_font, xft_calculate_char_width, xft_set_clip, xft_unset_clip, xft_set_ot_font, ft_convert_text_to_glyphs, }; mlterm-3.8.4/uitoolkit/libtype/dexport.map010064400017600000144000000001301321054731200173730ustar kenusersmlterm { global: ui_type_xft_func_table ; ui_type_cairo_func_table ; local: * ; } ; mlterm-3.8.4/uitoolkit/libtype/fc_wrapper.c010064400017600000144000000005071321054731200175130ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include FT_UInt FcFreeTypeCharIndex(FT_Face face, FcChar32 ucs4) { return FT_Get_Char_Index(face, ucs4); } FcBool FcCharSetHasChar(const FcCharSet *fcs, FcChar32 ucs4) { return FcTrue; } mlterm-3.8.4/uitoolkit/libtype/ui_font_cairo.c010064400017600000144000000003001321054731200201720ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef USE_TYPE_CAIRO #define USE_TYPE_CAIRO #endif #ifdef USE_TYPE_XFT #undef USE_TYPE_XFT #endif #include "ui_font_ft.c" mlterm-3.8.4/uitoolkit/libtype/ui_functbl_cairo.c010064400017600000144000000015511321054731200206720ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../xlib/ui_type_loader.h" /* Dummy declaration */ void ui_window_set_use_cairo(void); void ui_window_cairo_draw_string8(void); void ui_window_cairo_draw_string32(void); void cairo_resize(void); void cairo_set_font(void); void cairo_unset_font(void); void cairo_calculate_char_width(void); void cairo_set_clip(void); void cairo_unset_clip(void); void cairo_set_ot_font(void); void ft_convert_text_to_glyphs(void); /* --- global variables --- */ void *ui_type_cairo_func_table[MAX_TYPE_FUNCS] = { (void*)TYPE_API_COMPAT_CHECK_MAGIC, ui_window_set_use_cairo, ui_window_cairo_draw_string8, ui_window_cairo_draw_string32, cairo_resize, cairo_set_font, cairo_unset_font, cairo_calculate_char_width, cairo_set_clip, cairo_unset_clip, cairo_set_ot_font, ft_convert_text_to_glyphs, }; mlterm-3.8.4/uitoolkit/libtype/dexport-sun.map012075500017600000144000000000001321054731200223632dexport.mapustar kenusersmlterm-3.8.4/uitoolkit/libtype/ui_font_ft.c010064400017600000144000001125221321054731200175200ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_font.h" #include /* strtod */ #ifdef USE_TYPE_XFT #include #endif #ifdef USE_TYPE_CAIRO #include #include /* FcChar32 */ #include #endif #include #include /* realloc */ #include /* bl_str_sep/bl_str_to_int/memset/strncasecmp */ #include /* UTF_MAX_SIZE */ #ifdef USE_OT_LAYOUT #include #endif #define DIVIDE_ROUNDING(a, b) (((int)((a)*10 + (b)*5)) / ((int)((b)*10))) #define DIVIDE_ROUNDINGUP(a, b) (((int)((a)*10 + (b)*10 - 1)) / ((int)((b)*10))) /* Be careful not to round down 5.99999... to 5 */ #define DOUBLE_ROUNDUP_TO_INT(a) ((int)((a) + 0.9)) /* * XXX * cairo always uses double drawing fow now, because width of normal font is not * always the same as that of bold font in cairo. */ #if 1 #define CAIRO_FORCE_DOUBLE_DRAWING #endif #if 0 #define __DEBUG #endif /* --- static variables --- */ static const char *fc_size_type = FC_PIXEL_SIZE; static double dpi_for_fc; /* --- static functions --- */ /* Same processing as win32/ui_font.c (partially) and libtype/ui_font_ft.c */ static int parse_fc_font_name( char **font_family, int *font_weight, /* if weight is not specified in font_name , not changed. */ int *font_slant, /* if slant is not specified in font_name , not changed. */ double *font_size, /* if size is not specified in font_name , not changed. */ char **font_encoding, /* if encoding is not specified in font_name , not changed. */ u_int *percent, /* if percent is not specified in font_name , not changed. */ char *font_name /* modified by this function. */ ) { char *p; size_t len; #if 1 /* * Compat with mlterm 3.6.3 or before: ... [SIZE]-[Encoding]:[Percentage] * ^^^^^^^^^^^ */ if ((p = strstr(font_name, "-iso10646-1"))) { memmove(p, p + 11, strlen(p + 11) + 1); } #endif /* * [Family]( [WEIGHT] [SLANT] [SIZE]:[Percentage]) */ *font_family = font_name; p = font_name; while (1) { if (*p == '\\' && *(p + 1)) { /* Compat with 3.6.3 or before. (e.g. Foo\-Bold-iso10646-1) */ /* skip backslash */ p++; } else if (*p == '\0') { /* encoding and percentage is not specified. */ *font_name = '\0'; break; } else if (*p == ':') { /* Parsing ":[Percentage]" */ *font_name = '\0'; if (!bl_str_to_uint(percent, p + 1)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Percentage(%s) is illegal.\n", p + 1); #endif } break; } *(font_name++) = *(p++); } /* * Parsing "[Family] [WEIGHT] [SLANT] [SIZE]". * Following is the same as ui_font_win32.c:parse_font_name() * except FC_*. */ #if 0 bl_debug_printf("Parsing %s for [Family] [Weight] [Slant]\n", *font_family); #endif p = bl_str_chop_spaces(*font_family); len = strlen(p); while (len > 0) { size_t step = 0; if (*p == ' ') { char *orig_p; orig_p = p; do { p++; len--; } while (*p == ' '); if (len == 0) { *orig_p = '\0'; break; } else { int count; struct { char *style; int weight; int slant; } styles[] = { /* * Portable styles. */ /* slant */ { "italic", 0, FC_SLANT_ITALIC, }, /* weight */ { "bold", FC_WEIGHT_BOLD, 0, }, /* * Hack for styles which can be returned by * gtk_font_selection_dialog_get_font_name(). */ /* slant */ { "oblique", 0, FC_SLANT_OBLIQUE, }, /* weight */ { "light", /* e.g. "Bookman Old Style Light" */ FC_WEIGHT_LIGHT, 0, }, { "semi-bold", FC_WEIGHT_DEMIBOLD, 0, }, { "heavy", /* e.g. "Arial Black Heavy" */ FC_WEIGHT_BLACK, 0, }, /* other */ { "semi-condensed", /* XXX This style is ignored. */ 0, 0, }, }; for (count = 0; count < sizeof(styles) / sizeof(styles[0]); count++) { size_t len_v; len_v = strlen(styles[count].style); /* XXX strncasecmp is not portable? */ if (len >= len_v && strncasecmp(p, styles[count].style, len_v) == 0) { *orig_p = '\0'; step = len_v; if (styles[count].weight) { *font_weight = styles[count].weight; } else if (styles[count].slant) { *font_slant = styles[count].slant; } goto next_char; } } if (*p != '0' || /* In case of "DevLys 010" font family. */ *(p + 1) == '\0') /* "MS Gothic 0" => "MS Gothic" + "0" */ { char *end; double size; size = strtod(p, &end); if (*end == '\0') { /* p has no more parameters. */ *orig_p = '\0'; if (size > 0) { *font_size = size; } break; } } step = 1; } } else { step = 1; } next_char: p += step; len -= step; } return 1; } static u_int get_fc_col_width(ui_font_t *font, double fontsize_d, u_int percent, u_int cols, u_int letter_space) { if (percent == 0) { if (letter_space == 0 || font->is_var_col_width) { #ifdef USE_TYPE_XFT if (!font->is_vertical) #endif return 0; } percent = 100; } if (strcmp(fc_size_type, FC_SIZE) == 0) { double dpi; if (dpi_for_fc) { dpi = dpi_for_fc; } else { double widthpix; double widthmm; widthpix = DisplayWidth(font->display, DefaultScreen(font->display)); widthmm = DisplayWidthMM(font->display, DefaultScreen(font->display)); dpi = (widthpix * 254) / (widthmm * 10); } return DIVIDE_ROUNDINGUP(dpi * fontsize_d * cols * percent, 72 * 100 * 2) + letter_space; } else { return DIVIDE_ROUNDINGUP(fontsize_d * cols * percent, 100 * 2) + letter_space; } } static FcPattern *fc_pattern_create(char *family, /* can be NULL */ double size, char *encoding, /* can be NULL */ int weight, int slant, int ch_width, /* can be 0 */ int aa_opt) { FcPattern *pattern; if (!(pattern = FcPatternCreate())) { return NULL; } if (family) { FcPatternAddString(pattern, FC_FAMILY, family); } FcPatternAddDouble(pattern, fc_size_type, size); if (weight >= 0) { FcPatternAddInteger(pattern, FC_WEIGHT, weight); } if (slant >= 0) { FcPatternAddInteger(pattern, FC_SLANT, slant); } #ifdef USE_TYPE_XFT if (ch_width > 0) { FcPatternAddInteger(pattern, FC_SPACING, FC_CHARCELL); /* XXX FC_CHAR_WIDTH doesn't make effect in cairo ... */ FcPatternAddInteger(pattern, FC_CHAR_WIDTH, ch_width); } #endif if (aa_opt) { FcPatternAddBool(pattern, FC_ANTIALIAS, aa_opt == 1 ? True : False); } if (dpi_for_fc) { FcPatternAddDouble(pattern, FC_DPI, dpi_for_fc); } #ifdef USE_TYPE_XFT if (encoding) { /* no meaning on xft2 */ FcPatternAddString(pattern, XFT_ENCODING, encoding); } #endif #if 0 FcPatternAddBool(pattern, "embeddedbitmap", True); #endif FcConfigSubstitute(NULL, pattern, FcMatchPattern); return pattern; } /* XXX Lazy check */ static int check_iscii_font(FcPattern *pattern) { FcValue val; if (FcPatternGet(pattern, FC_FAMILY, 0, &val) == FcResultMatch && strstr(val.u.s, "-TT")) { return 1; } else { return 0; } } #ifdef USE_TYPE_XFT static XftFont *xft_font_open(ui_font_t *font, char *family, /* can be NULL */ double size, char *encoding, /* can be NULL */ int weight, int slant, int ch_width, int aa_opt) { FcPattern *pattern; FcPattern *match; FcResult result; XftFont *xfont; int is_iscii; if (!(pattern = fc_pattern_create(family, size, encoding, weight, slant, ch_width, aa_opt))) { return NULL; } if ((is_iscii = IS_ISCII(FONT_CS(font->id)))) { /* no meaning on xft2 */ FcPatternAddString(pattern, XFT_ENCODING, "apple-roman"); } match = XftFontMatch(font->display, DefaultScreen(font->display), pattern, &result); FcPatternDestroy(pattern); if (!match) { return NULL; } if (is_iscii && !check_iscii_font(match)) { FcPatternDestroy(match); return NULL; } #if 0 FcPatternPrint(match); #endif xfont = XftFontOpenPattern(font->display, match); FcPatternDestroy(match); if (!xfont) { return NULL; } #if 1 if (is_iscii) { FT_Face face; int count; face = XftLockFace(xfont); for (count = 0; count < face->num_charmaps; count++) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ISCII font encoding %c%c%c%c\n", ((face->charmaps[count]->encoding) >> 24) & 0xff, ((face->charmaps[count]->encoding) >> 16) & 0xff, ((face->charmaps[count]->encoding) >> 8) & 0xff, (face->charmaps[count]->encoding & 0xff)); #endif if (face->charmaps[count]->encoding == FT_ENCODING_APPLE_ROMAN) { FT_Set_Charmap(face, face->charmaps[count]); break; } } XftUnlockFace(xfont); } #endif return xfont; } #endif #ifdef USE_TYPE_CAIRO static int is_same_family(FcPattern *pattern, const char *family) { int count; FcValue val; for (count = 0; FcPatternGet(pattern, FC_FAMILY, count, &val) == FcResultMatch; count++) { if (strcmp(family, val.u.s) == 0) { return 1; } } return 0; } static cairo_scaled_font_t *cairo_font_open_intern(cairo_t *cairo, FcPattern *match, cairo_font_options_t *options) { cairo_font_face_t *font_face; double pixel_size; int pixel_size2; cairo_matrix_t font_matrix; cairo_matrix_t ctm; cairo_scaled_font_t *scaled_font; font_face = cairo_ft_font_face_create_for_pattern(match); FcPatternGetDouble(match, FC_PIXEL_SIZE, 0, &pixel_size); /* * 10.5 / 2.0 = 5.25 ->(roundup) 6 -> 6 * 2 = 12 * 11.5 / 2.0 = 5.75 ->(roundup) 6 -> 6 * 2 = 12 * * If half width is 5.25 -> 6 and full width is 5.25 * 2 = 10.5 -> 11, * half width char -> ui_bearing = 1 / width 5 * full width char -> ui_bearing = 1 / width 10. * This results in gap between chars. */ pixel_size2 = DIVIDE_ROUNDINGUP(pixel_size, 2.0) * 2; cairo_matrix_init_scale(&font_matrix, pixel_size2, pixel_size2); cairo_get_matrix(cairo, &ctm); scaled_font = cairo_scaled_font_create(font_face, &font_matrix, &ctm, options); cairo_destroy(cairo); cairo_font_options_destroy(options); cairo_font_face_destroy(font_face); return scaled_font; } static cairo_scaled_font_t *cairo_font_open(ui_font_t *font, char *family, /* can be NULL */ double size, char *encoding, /* can be NULL */ int weight, int slant, int ch_width, int aa_opt) { cairo_font_options_t *options; cairo_t *cairo; FcPattern *pattern; FcPattern *match; FcResult result; cairo_scaled_font_t *xfont; FcCharSet *charset; ef_charset_t cs; if (!(pattern = fc_pattern_create(family, size, encoding, weight, slant, ch_width, aa_opt))) { return NULL; } if (!(cairo = cairo_create(cairo_xlib_surface_create( font->display, DefaultRootWindow(font->display), DefaultVisual(font->display, DefaultScreen(font->display)), DisplayWidth(font->display, DefaultScreen(font->display)), DisplayHeight(font->display, DefaultScreen(font->display)))))) { goto error1; } options = cairo_font_options_create(); cairo_get_font_options(cairo, options); #ifndef CAIRO_FORCE_DOUBLE_DRAWING /* * XXX * CAIRO_HINT_METRICS_OFF has bad effect, but CAIRO_HINT_METRICS_ON * disarranges * column width by boldening etc. */ cairo_font_options_set_hint_metrics(options, CAIRO_HINT_METRICS_OFF); #else /* For performance */ cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_NONE); #endif #if 0 cairo_font_options_set_antialias(options, CAIRO_ANTIALIAS_SUBPIXEL); cairo_font_options_set_subpixel_order(options, CAIRO_SUBPIXEL_ORDER_RGB); #endif cairo_ft_font_options_substitute(options, pattern); /* Supply default values for underspecified options */ FcDefaultSubstitute(pattern); if (!(match = FcFontMatch(NULL, pattern, &result))) { cairo_destroy(cairo); cairo_font_options_destroy(options); goto error1; } cs = FONT_CS(font->id); if (IS_ISCII(cs) && !check_iscii_font(match)) { goto error2; } #if 0 FcPatternPrint(match); #endif if (!(xfont = cairo_font_open_intern(cairo, match, options))) { goto error2; } if (cairo_scaled_font_status(xfont)) { cairo_scaled_font_destroy(xfont); goto error2; } #if 1 if (IS_ISCII(cs)) { FT_Face face; int count; FcPatternDestroy(pattern); face = cairo_ft_scaled_font_lock_face(xfont); for (count = 0; count < face->num_charmaps; count++) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ISCII font encoding %c%c%c%c\n", ((face->charmaps[count]->encoding) >> 24) & 0xff, ((face->charmaps[count]->encoding) >> 16) & 0xff, ((face->charmaps[count]->encoding) >> 8) & 0xff, (face->charmaps[count]->encoding & 0xff)); #endif if (face->charmaps[count]->encoding == FT_ENCODING_APPLE_ROMAN) { FT_Set_Charmap(face, face->charmaps[count]); } } cairo_ft_scaled_font_unlock_face(xfont); } else #endif if (cs != US_ASCII && cs != ISO8859_1_R && FcPatternGetCharSet(match, FC_CHARSET, 0, &charset) == FcResultMatch && (font->compl_fonts = malloc(sizeof(*font->compl_fonts)))) { FcValue val; int count; font->compl_fonts[0].charset = FcCharSetCopy(charset); font->compl_fonts[0].next = NULL; count = 0; while (FcPatternGet(pattern, FC_FAMILY, count, &val) == FcResultMatch) { if (is_same_family(match, val.u.s)) { /* Remove not only matched name but also alias names */ FcPatternRemove(pattern, FC_FAMILY, count); } else { int count2 = ++count; FcValue val2; while (FcPatternGet(pattern, FC_FAMILY, count2, &val2) == FcResultMatch) { if (strcmp(val.u.s, val2.u.s) == 0) { FcPatternRemove(pattern, FC_FAMILY, count2); } else { count2++; } } } } FcPatternRemove(pattern, FC_FAMILYLANG, 0); FcPatternRemove(pattern, FC_STYLELANG, 0); FcPatternRemove(pattern, FC_FULLNAMELANG, 0); #ifdef FC_NAMELANG FcPatternRemove(pattern, FC_NAMELANG, 0); #endif FcPatternRemove(pattern, FC_LANG, 0); font->pattern = pattern; } else { FcPatternDestroy(pattern); } FcPatternDestroy(match); return xfont; error2: FcPatternDestroy(match); error1: FcPatternDestroy(pattern); return NULL; } #if 0 static void print_family(FcPattern *pattern) { int count; FcValue val; for (count = 0; FcPatternGet(pattern, FC_FAMILY, count, &val) == FcResultMatch; count++) { bl_debug_printf("Match(%d): %s\n", count, val.u.s); } } #endif static struct { char *family; FcCharSet *charset; } *charset_cache; static u_int charset_cache_size; static u_int max_charset_cache_size; static int search_nearest_pos_in_cache(const char *family, int beg, int end) { int count = 0; while (1) { if (beg + 1 == end) { return beg; } else { int pos = (beg + end) / 2; int ret = strcmp(family, charset_cache[pos].family); if (ret == 0) { return pos; } else if (ret > 0) { beg = pos; } else { end = pos; } } count++; } } static FcCharSet *add_charset_to_cache(const char *family, FcCharSet *charset) { int pos; if (charset_cache_size >= max_charset_cache_size) { void *p; if (!(p = realloc(charset_cache, (max_charset_cache_size + 50) * sizeof(*charset_cache)))) { return NULL; } charset_cache = p; max_charset_cache_size += 50; } if (charset_cache_size == 0) { pos = 0; } else { pos = search_nearest_pos_in_cache(family, 0, charset_cache_size); if (strcmp(family, charset_cache[pos].family) > 0) { pos++; } } memmove(charset_cache + pos + 1, charset_cache + pos, (charset_cache_size - pos) * sizeof(*charset_cache)); charset_cache_size++; charset_cache[pos].family = strdup(family); return (charset_cache[pos].charset = FcCharSetCopy(charset)); } static FcCharSet *get_cached_charset(const char *family) { if (charset_cache_size > 0) { int pos = search_nearest_pos_in_cache(family, 0, charset_cache_size); if (strcmp(family, charset_cache[pos].family) == 0) { return charset_cache[pos].charset; } } return NULL; } #if 0 static void delete_charset_chache(void) { u_int count; for (count = 0; count < charset_cache_size; count++) { free(charset_cache[count].family); FcCharSetDestroy(charset_cache[count].charset); charset_cache_size = 0; } free(charset_cache); charset_cache = NULL; max_charset_cache_size = 0; } #endif static int cairo_compl_font_open(ui_font_t *font, int num_compl_fonts, FcPattern *orig_pattern, int ch) { FcValue val; cairo_t *cairo; cairo_font_options_t *options; FcPattern *pattern; FcPattern *match = NULL; FcResult result; cairo_scaled_font_t *xfont; FcCharSet *charset; int count; int ret = 0; if (!(pattern = FcPatternDuplicate(orig_pattern))) { return 0; } #if 0 FcPatternPrint(orig_pattern); #endif for (count = 0; FcPatternGet(pattern, FC_FAMILY, 0, &val) == FcResultMatch; count++) { void *p; if ((charset = get_cached_charset(val.u.s))) { if (!FcCharSetHasChar(charset, ch)) { FcPatternRemove(pattern, FC_FAMILY, 0); continue; } if (!(match = FcFontMatch(NULL, pattern, &result))) { break; } FcPatternRemove(pattern, FC_FAMILY, 0); } else { FcResult ret; if (!(match = FcFontMatch(NULL, pattern, &result))) { break; } ret = FcPatternGetCharSet(match, FC_CHARSET, 0, &charset); if (!(charset = add_charset_to_cache(val.u.s, charset))) { break; } FcPatternRemove(pattern, FC_FAMILY, 0); if (ret != FcResultMatch || !FcCharSetHasChar(charset, ch)) { FcPatternDestroy(match); match = NULL; continue; } } #if 0 print_family(match); #endif FcPatternRemove(orig_pattern, FC_FAMILY, count++); while (FcPatternGet(orig_pattern, FC_FAMILY, count, &val) == FcResultMatch) { if (is_same_family(match, val.u.s)) { FcPatternRemove(orig_pattern, FC_FAMILY, count); } else { count++; } } if ((p = realloc(font->compl_fonts, sizeof(*font->compl_fonts) * (num_compl_fonts + 1)))) { font->compl_fonts = p; } else { break; } #if 0 FcPatternPrint(match); #endif if (!(cairo = cairo_create(cairo_xlib_surface_create( font->display, DefaultRootWindow(font->display), DefaultVisual(font->display, DefaultScreen(font->display)), DisplayWidth(font->display, DefaultScreen(font->display)), DisplayHeight(font->display, DefaultScreen(font->display)))))) { break; } options = cairo_font_options_create(); cairo_get_font_options(cairo, options); /* For performance */ cairo_font_options_set_hint_style(options, CAIRO_HINT_STYLE_NONE); if (!(xfont = cairo_font_open_intern(cairo, match, options))) { break; } if (cairo_scaled_font_status(xfont)) { cairo_scaled_font_destroy(xfont); break; } font->compl_fonts[num_compl_fonts - 1].next = xfont; font->compl_fonts[num_compl_fonts].charset = charset; font->compl_fonts[num_compl_fonts].next = NULL; ret = 1; break; } #if 0 { int i; for (i = 0; i < charset_cache_size; i++) { bl_debug_printf("%d %s\n", i, charset_cache[i].family); } } #endif FcPatternDestroy(pattern); if (match) { FcPatternDestroy(match); } return ret; } #endif static void *ft_font_open(ui_font_t *font, char *family, double size, char *encoding, int weight, int slant, int ch_width, int aa_opt, int use_xft) { if (use_xft) { #ifdef USE_TYPE_XFT return xft_font_open(font, family, size, encoding, weight, slant, ch_width, aa_opt); #else return NULL; #endif } else { #ifdef USE_TYPE_CAIRO return cairo_font_open(font, family, size, encoding, weight, slant, ch_width, aa_opt); #else return NULL; #endif } } u_int xft_calculate_char_width(ui_font_t *font, u_int32_t ch); u_int cairo_calculate_char_width(ui_font_t *font, u_int32_t ch); void xft_unset_font(ui_font_t *font); static int fc_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, /* if usascii font wants to be set , 0 will be set. */ u_int letter_space, int aa_opt, /* 0 = default , 1 = enable , -1 = disable */ int use_xft) { char *font_encoding; int weight; int slant; u_int ch_width; void *xfont; u_int cols; /* * encoding, weight and slant can be modified in parse_fc_font_name(). */ font_encoding = NULL; if ( #ifdef CAIRO_FORCE_DOUBLE_DRAWING use_xft && #endif (font->id & FONT_BOLD)) { weight = FC_WEIGHT_BOLD; } else { weight = -1; /* use default value */ } if (font->id & FONT_ITALIC) { #ifdef USE_TYPE_XFT /* * XXX * FC_CHAR_WIDTH=ch_width and FC_SPACING=FC_MONO make * the width of italic kochi font double of ch_width * on xft if slant >= 0. (They works fine for Dejavu * Sans Mono Italic, though.) */ font->is_var_col_width = 1; #endif slant = FC_SLANT_ITALIC; } else { slant = -1; /* use default value */ } if (font->id & FONT_FULLWIDTH) { cols = 2; } else { cols = 1; } /* * x_off related to percent is set before ft_font_open while * x_off related to is_vertical and letter_space is set after. */ if (fontname) { char *p; char *font_family; double fontsize_d; u_int percent; if ((p = bl_str_alloca_dup(fontname)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return 0; } fontsize_d = (double)fontsize; percent = 0; if (parse_fc_font_name(&font_family, &weight, &slant, &fontsize_d, &font_encoding, &percent, p)) { #ifdef USE_TYPE_XFT /* * XXX * FC_CHAR_WIDTH=ch_width and FC_SPACING=FC_MONO make * the width of italic kochi font double of ch_width * on xft if slant >= 0. (They works fine for Dejavu * Sans Mono Italic, though.) */ if (slant >= 0) { font->is_var_col_width = 1; } #endif if (col_width == 0) { /* basic font (e.g. usascii) width */ /* if font->is_var_col_width is true, 0 is returned. */ ch_width = get_fc_col_width(font, fontsize_d, percent, cols, letter_space); if (percent > 100) { /* * Centering * (fontsize * percent / 100 + letter_space = ch_width * -> fontsize = (ch_width - letter_space) * 100 / percent * -> fontsize * (percent - 100) / 100 * = (ch_width - letter_space) * (percent - 100) * / percent) */ font->x_off = (ch_width - letter_space) * (percent - 100) / percent / 2; } if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width *= 2; } } else { if (font->is_var_col_width) { ch_width = 0; } else if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width = col_width; } else { ch_width = col_width * cols; } } #ifdef DEBUG bl_debug_printf( "Loading font %s%s%s %f %d%s\n", font_family, weight == FC_WEIGHT_BOLD ? ":Bold" : weight == FC_WEIGHT_LIGHT ? " Light" : "", slant == FC_SLANT_ITALIC ? ":Italic" : "", fontsize_d, ch_width, font->is_var_col_width ? "(varcolwidth)" : ""); #endif if ((xfont = ft_font_open(font, font_family, fontsize_d, font_encoding, weight, slant, ch_width, aa_opt, use_xft))) { goto font_found; } font->x_off = 0; } bl_msg_printf("Font %s (for size %f) couldn't be loaded.\n", fontname, fontsize_d); } if (col_width == 0) { /* basic font (e.g. usascii) width */ ch_width = get_fc_col_width(font, (double)fontsize, 0, cols, letter_space); if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width *= 2; } } else { if (font->is_var_col_width) { ch_width = 0; } else if (font->is_vertical) { /* * !! Notice !! * The width of full and half character font is the same. */ ch_width = col_width; } else { ch_width = col_width * cols; } } if ((xfont = ft_font_open(font, NULL, (double)fontsize, font_encoding, weight, slant, ch_width, aa_opt, use_xft))) { goto font_found; } #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ft_font_open(%s) failed.\n", fontname); #endif return 0; font_found: if (use_xft) { #ifdef USE_TYPE_XFT #ifndef FC_EMBOLDEN /* Synthetic emboldening (fontconfig >= 2.3.0) */ if (weight == FC_WEIGHT_BOLD && XftPatternGetInteger(xfont->pattern, FC_WEIGHT, 0, &weight) == XftResultMatch && weight != FC_WEIGHT_BOLD) { font->double_draw_gap = 1; } #endif /* FC_EMBOLDEN */ font->xft_font = xfont; font->height = font->xft_font->height; font->ascent = font->xft_font->ascent; if (ch_width == 0) { /* * (US_ASCII) * font->is_var_col_width is true or letter_space == 0. * (see get_fc_col_width()) * (Other CS) * font->is_var_col_width is true. */ font->width = xft_calculate_char_width(font, 'W'); if (font->width != xft_calculate_char_width(font, 'l') || (col_width > 0 && font->width != col_width * cols) || /* * 'W' and 'l' are the same width, but tamil glyphs are proportional in * "Noto Sans Tamil" font. */ IS_ISCII(FONT_CS(font->id)) || FONT_CS(font->id) == ISO10646_UCS4_1_V) { /* Regard it as proportional. */ if (font->is_var_col_width) { font->is_proportional = 1; } else { u_int new_width; new_width = xft_calculate_char_width(font, 'M'); if (font->is_vertical) { new_width *= 2; } xft_unset_font(font); /* reloading it as mono spacing. */ return fc_set_font(font, fontname, fontsize, new_width, letter_space, aa_opt, use_xft); } } } else { /* Always mono space */ font->width = ch_width; } font->x_off += (letter_space * cols / 2); if (font->is_vertical && cols == 1) { font->x_off += (font->width / 4); /* Centering */ } #endif /* USE_TYPE_XFT */ } else { #ifdef USE_TYPE_CAIRO cairo_font_extents_t extents; #ifdef CAIRO_FORCE_DOUBLE_DRAWING if (font->id & FONT_BOLD) { font->double_draw_gap = 1; } #endif font->cairo_font = xfont; cairo_scaled_font_extents(font->cairo_font, &extents); font->height = DOUBLE_ROUNDUP_TO_INT(extents.height); font->ascent = DOUBLE_ROUNDUP_TO_INT(extents.ascent); if (cols == 2) { font->width = DOUBLE_ROUNDUP_TO_INT(extents.max_x_advance); } else { font->width = cairo_calculate_char_width(font, 'W'); if (font->is_vertical) { font->is_proportional = 1; font->width *= 2; font->x_off = font->width / 4; /* Centering */ } else if (font->width != cairo_calculate_char_width(font, 'l')) { if (!font->is_var_col_width) { #if CAIRO_VERSION_ENCODE(1, 8, 0) <= CAIRO_VERSION font->width = cairo_calculate_char_width(font, 'N'); #else font->width = cairo_calculate_char_width(font, 'M'); #endif } /* Regard it as proportional. */ font->is_proportional = 1; } } if (!font->is_var_col_width) { /* * Set letter_space here because cairo_font_open() ignores it. * (FC_CHAR_WIDTH doesn't make effect in cairo.) * Note that letter_space is ignored in variable column width mode. */ if (letter_space > 0) { font->is_proportional = 1; if (font->is_vertical) { letter_space *= 2; } else { letter_space *= cols; } font->width += letter_space; font->x_off += (letter_space / 2); /* Centering */ } if (ch_width > 0 && ch_width != font->width) { bl_msg_printf( "Font(id %x) width(%d) is not matched with " "standard width(%d).\n", font->id, font->width, ch_width); /* * XXX * Note that ch_width = 12 and extents.max_x_advance = 12.28 * (dealt as 13 though should be dealt as 12) may happen. */ font->is_proportional = 1; if (font->width < ch_width) { font->x_off += (ch_width - font->width) / 2; } font->width = ch_width; } #if CAIRO_VERSION_ENCODE(1, 8, 0) <= CAIRO_VERSION if (font->is_proportional && !font->is_var_col_width) { font->is_proportional = 0; } #endif } else if (!font->is_proportional) { /* is_var_col_width is true and is_proportional is false */ if ((col_width > 0 && font->width != col_width * cols) || /* * 'W' and 'l' are the same width, but tamil glyphs are proportional in * "Noto Sans Tamil" font. */ IS_ISCII(FONT_CS(font->id)) || FONT_CS(font->id) == ISO10646_UCS4_1_V) { font->is_proportional = 1; } } #endif /* USE_TYPE_CAIRO */ } /* * checking if font height/ascent member is sane. * font width must be always sane. */ if (font->height == 0) { /* XXX this may be inaccurate. */ font->height = fontsize; } if (font->ascent == 0) { /* XXX this may be inaccurate. */ font->ascent = fontsize; } return 1; } /* --- global functions --- */ #ifdef USE_TYPE_XFT int xft_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, /* if usascii font wants to be set , 0 will be set. */ u_int letter_space, int aa_opt, /* 0 = default , 1 = enable , -1 = disable */ int use_point_size, double dpi) { if (use_point_size) { fc_size_type = FC_SIZE; } else { fc_size_type = FC_PIXEL_SIZE; } dpi_for_fc = dpi; return fc_set_font(font, fontname, fontsize, col_width, letter_space, aa_opt, 1); } void xft_unset_font(ui_font_t *font) { #ifdef USE_OT_LAYOUT if (font->ot_font) { otl_close(font->ot_font); } #endif XftFontClose(font->display, font->xft_font); font->xft_font = NULL; } int xft_set_ot_font(ui_font_t *font) { #ifdef USE_OT_LAYOUT font->ot_font = otl_open(XftLockFace(font->xft_font), 0); XftUnlockFace(font->xft_font); return (font->ot_font != NULL); #else return 0; #endif } u_int xft_calculate_char_width(ui_font_t *font, u_int32_t ch /* US-ASCII or Unicode */ ) { XGlyphInfo extents; #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { if (sizeof(FT_UInt) != sizeof(u_int32_t)) { FT_UInt idx; idx = ch; XftGlyphExtents(font->display, font->xft_font, &idx, 1, &extents); } else { XftGlyphExtents(font->display, font->xft_font, &ch, 1, &extents); } } else #endif if (ch < 0x100) { u_char c; c = ch; XftTextExtents8(font->display, font->xft_font, &c, 1, &extents); } else { XftTextExtents32(font->display, font->xft_font, &ch, 1, &extents); } if (extents.xOff < 0) { /* Some (indic) fonts could return minus value as text width. */ return 0; } else { return extents.xOff; } } #endif #ifdef USE_TYPE_CAIRO int ui_search_next_cairo_font(ui_font_t *font, int ch) { int count; if (!font->compl_fonts) { return -1; } for (count = 0; font->compl_fonts[count].next; count++) { if (FcCharSetHasChar(font->compl_fonts[count + 1].charset, ch)) { return count; } } if (cairo_compl_font_open(font, count + 1, font->pattern, ch)) { return count; } else { /* To avoid to search it again. */ FcCharSetAddChar(font->compl_fonts[0].charset, ch); return -1; } } int cairo_set_font(ui_font_t *font, const char *fontname, u_int fontsize, u_int col_width, /* if usascii font wants to be set , 0 will be set. */ u_int letter_space, int aa_opt, /* 0 = default , 1 = enable , -1 = disable */ int use_point_size, double dpi) { if (use_point_size) { fc_size_type = FC_SIZE; } else { fc_size_type = FC_PIXEL_SIZE; } dpi_for_fc = dpi; return fc_set_font(font, fontname, fontsize, col_width, letter_space, aa_opt, 0); } void cairo_unset_font(ui_font_t *font) { #ifdef USE_OT_LAYOUT if (font->ot_font) { otl_close(font->ot_font); } #endif cairo_scaled_font_destroy(font->cairo_font); font->cairo_font = NULL; if (font->compl_fonts) { int count; cairo_scaled_font_t *xfont; for (count = 0;; count++) { if (!(xfont = font->compl_fonts[count].next)) { break; } cairo_scaled_font_destroy(xfont); } free(font->compl_fonts); } if (font->pattern) { FcPatternDestroy(font->pattern); } #if 0 delete_charset_cache(); #endif } int cairo_set_ot_font(ui_font_t *font) { #ifdef USE_OT_LAYOUT font->ot_font = otl_open(cairo_ft_scaled_font_lock_face(font->cairo_font), 0); cairo_ft_scaled_font_unlock_face(font->cairo_font); return (font->ot_font != NULL); #else return 0; #endif } size_t ui_convert_ucs4_to_utf8(u_char *utf8, /* size of utf8 should be greater than 5. */ u_int32_t ucs) { /* ucs is unsigned */ if (/* 0x00 <= ucs && */ ucs <= 0x7f) { *utf8 = ucs; return 1; } else if (ucs <= 0x07ff) { *(utf8++) = ((ucs >> 6) & 0xff) | 0xc0; *utf8 = (ucs & 0x3f) | 0x80; return 2; } else if (ucs <= 0xffff) { *(utf8++) = ((ucs >> 12) & 0x0f) | 0xe0; *(utf8++) = ((ucs >> 6) & 0x3f) | 0x80; *utf8 = (ucs & 0x3f) | 0x80; return 3; } else if (ucs <= 0x1fffff) { *(utf8++) = ((ucs >> 18) & 0x07) | 0xf0; *(utf8++) = ((ucs >> 12) & 0x3f) | 0x80; *(utf8++) = ((ucs >> 6) & 0x3f) | 0x80; *utf8 = (ucs & 0x3f) | 0x80; return 4; } else if (ucs <= 0x03ffffff) { *(utf8++) = ((ucs >> 24) & 0x03) | 0xf8; *(utf8++) = ((ucs >> 18) & 0x3f) | 0x80; *(utf8++) = ((ucs >> 12) & 0x3f) | 0x80; *(utf8++) = ((ucs >> 6) & 0x3f) | 0x80; *utf8 = (ucs & 0x3f) | 0x80; return 5; } else if (ucs <= 0x7fffffff) { *(utf8++) = ((ucs >> 30) & 0x01) | 0xfc; *(utf8++) = ((ucs >> 24) & 0x3f) | 0x80; *(utf8++) = ((ucs >> 18) & 0x3f) | 0x80; *(utf8++) = ((ucs >> 12) & 0x3f) | 0x80; *(utf8++) = ((ucs >> 6) & 0x3f) | 0x80; *utf8 = (ucs & 0x3f) | 0x80; return 6; } else { return 0; } } u_int cairo_calculate_char_width(ui_font_t *font, u_int32_t ch) { u_char utf8[UTF_MAX_SIZE + 1]; cairo_text_extents_t extents; int width; #ifdef USE_OT_LAYOUT if (font->use_ot_layout /* && font->ot_font */) { cairo_glyph_t glyph; glyph.index = ch; glyph.x = glyph.y = 0; cairo_scaled_font_glyph_extents(font->cairo_font, &glyph, 1, &extents); } else #endif { int idx; utf8[ui_convert_ucs4_to_utf8(utf8, ch)] = '\0'; if (font->compl_fonts && !FcCharSetHasChar(font->compl_fonts[0].charset, ch) && (idx = ui_search_next_cairo_font(font, ch)) >= 0) { cairo_scaled_font_text_extents(font->compl_fonts[idx].next, utf8, &extents); } else { cairo_scaled_font_text_extents(font->cairo_font, utf8, &extents); } } #if 0 bl_debug_printf(BL_DEBUG_TAG " CHAR(%x) ui_bearing %f width %f x_advance %f\n", ch, extents.ui_bearing, extents.width, extents.x_advance); #endif if ((width = DOUBLE_ROUNDUP_TO_INT(extents.x_advance)) < 0) { return 0; } else { /* Some (indic) fonts could return minus value as text width. */ return width; } } #endif u_int ft_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features) { #ifdef USE_OT_LAYOUT return otl_convert_text_to_glyphs(font->ot_font, shaped, shaped_len, offsets, widths, cmapped, src, src_len, script, features, 0); #else return 0; #endif } mlterm-3.8.4/uitoolkit/libtype/Makefile.in010064400017600000144000000046761321054731200172770ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = $(top_srcdir)/uitoolkit/libtype XFT_OBJ = ui_window_xft.o ui_font_xft.o ui_functbl_xft.o CAIRO_OBJ = ui_window_cairo.o ui_font_cairo.o ui_functbl_cairo.o NODL_OBJ = @NODL_OBJ@ ui_font_ft.o LPOBL = ${top_builddir}/baselib/src/libpobl.la LPOBL_DEB = -lpobl_deb # XDATADIR is to avoid conflicting with DATADIR structure in w32api/objidl.h. CFLAGS = $(CFLAGS_LOCAL) @POBL_CFLAGS@ @MEF_CFLAGS@ @DEB_CFLAGS@ @X_CFLAGS@ @XFT_CFLAGS@ \ @CAIRO_CFLAGS@ @TYPE_CFLAGS@ @OT_LAYOUT_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \ -DLIBDIR=\"$(libdir)\" \ -I/usr/local/include -I${top_srcdir}/vtemu -I${top_srcdir}/uitoolkit/libotl XFT_LIBS = @XFT_LIBS@ CAIRO_LIBS = @CAIRO_LIBS@ LIBS = $(LIBS_LOCAL) $(LPOBL) -L/usr/local/lib -R/usr/local/lib INSTALL_OPT = -m 755 LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) TYPE_LIBS = @TYPE_LIBS@ all: $(TYPE_LIBS) libtype_xft.la: $(XFT_OBJ) $(LIBTOOL_LINK) -o libtype_xft.la $(XFT_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ @DEXPORT@ \ $(LIBS) $(XFT_LIBS) libtype_cairo.la: $(CAIRO_OBJ) $(LIBTOOL_LINK) -o libtype_cairo.la $(CAIRO_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ @DEXPORT@ \ $(LIBS) $(CAIRO_LIBS) libtype.a: $(NODL_OBJ) $(LIBTOOL_LINK) -o libtype.a $(NODL_OBJ:.o=.lo) ui_font_ft.o: ui_font_ft.c $(LIBTOOL_CC) @TYPE_CFLAGS@ -c $< .SUFFIXES: .c .o .c.o: $(LIBTOOL_CC) -c $< install : $(LIBDIR) if test "$(TYPE_LIBS)" != "" ; then \ $(LIBTOOL_INSTALL) $(INSTALL_OPT) $(TYPE_LIBS) $(LIBDIR) ; \ fi uninstall : rm -f $(LIBDIR)/*type_* $(LIBDIR) : mkdir -p $(LIBDIR) wc : find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf $(TYPE_LIBS) $(XFT_OBJ) $(XFT_OBJ:.o=.lo) \ $(CAIRO_OBJ) $(CAIRO_OBJ:.o=.lo) ui_font_ft.o ui_font_ft.lo .libs distclean: clean rm -f Makefile libfc_wrapper.la: fc_wrapper.o $(LIBTOOL_LINK) -o libfc_wrapper.la fc_wrapper.lo -rpath $(libdir)/mlterm \ -module -avoid-version `pkg-config freetype2 --libs` install_fc_wrapper : $(LIBDIR) $(LIBTOOL_INSTALL) $(INSTALL_OPT) libfc_wrapper.la $(LIBDIR) mlterm-3.8.4/uitoolkit/libtype/ui_font_xft.c010064400017600000144000000003001321054731200176760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef USE_TYPE_XFT #define USE_TYPE_XFT #endif #ifdef USE_TYPE_CAIRO #undef USE_TYPE_CAIRO #endif #include "ui_font_ft.c" mlterm-3.8.4/uitoolkit/ui_im.c010064400017600000144000000156651321054731200150300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include /* sprintf */ #include /* malloc/alloca/free */ #include /* bl_str_alloca_dup bl_str_sep */ #include #include #include #include "ui_im.h" #include "ui_event_source.h" #ifdef USE_IM_PLUGIN #ifndef LIBDIR #define IM_DIR "/usr/local/lib/mlterm/" #else #define IM_DIR LIBDIR "/mlterm/" #endif typedef ui_im_t *(*ui_im_new_func_t)(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *syms, char *engine, u_int mod_ignore_mask); /* --- static variables --- */ static ui_im_export_syms_t im_export_syms = { vt_str_init, vt_str_delete, vt_char_combine, vt_char_set, vt_get_char_encoding_name, vt_get_char_encoding, vt_convert_to_internal_ch, vt_isciikey_state_new, vt_isciikey_state_delete, vt_convert_ascii_to_iscii, vt_char_encoding_parser_new, vt_char_encoding_conv_new, ui_im_candidate_screen_new, ui_im_status_screen_new, ui_event_source_add_fd, ui_event_source_remove_fd, XStringToKeysym }; #if 1 /* restroing locale which was overwritten by SCIM */ #define RESTORE_LOCALE 1 #endif /* --- static functions --- */ static void *im_dlopen(char *im_name) { char *libname; void *handle; if (!(libname = alloca(strlen(im_name) + 4))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return NULL; } sprintf(libname, "im-%s", im_name); if (!(handle = bl_dl_open(IM_DIR, libname))) { handle = bl_dl_open("", libname); } return handle; } static int dlsym_im_new_func(char *im_name, ui_im_new_func_t *func, bl_dl_handle_t *handle) { char *symname; #ifdef PLUGIN_MODULE_SUFFIX char *im_name2; #endif if (!im_name || !(symname = alloca(strlen(im_name) + 8))) { return 0; } sprintf(symname, "im_%s_new", im_name); #ifdef PLUGIN_MODULE_SUFFIX if ((im_name2 = alloca(strlen(im_name) + 3 + 1))) { sprintf(im_name2, "%s-" PLUGIN_MODULE_SUFFIX, im_name); if (!(*handle = im_dlopen(im_name2))) { #endif if (!(*handle = im_dlopen(im_name))) { return 0; } #ifdef PLUGIN_MODULE_SUFFIX } } #endif if (!(*func = (ui_im_new_func_t)bl_dl_func_symbol(*handle, symname))) { bl_dl_close(*handle); return 0; } return 1; } /* --- global functions --- */ ui_im_t *ui_im_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, ui_im_event_listener_t *im_listener, char *input_method, u_int mod_ignore_mask) { ui_im_t *im; ui_im_new_func_t func; bl_dl_handle_t handle; char *im_name; char *im_attr; #ifdef RESTORE_LOCALE char *cur_locale; #endif if (input_method == NULL) { return NULL; } if (strcmp(input_method, "none") == 0) { return NULL; } if (strchr(input_method, ':')) { im_attr = bl_str_alloca_dup(input_method); if ((im_name = bl_str_sep(&im_attr, ":")) == NULL) { #ifdef DEBUG bl_error_printf("%s is illegal input method.\n", input_method); #endif return NULL; } } else { im_name = bl_str_alloca_dup(input_method); im_attr = NULL; } #ifdef RESTORE_LOCALE cur_locale = bl_str_alloca_dup(bl_get_locale()); #endif if (!dlsym_im_new_func(im_name, &func, &handle)) { #ifdef RESTORE_LOCALE bl_locale_init(cur_locale); #endif bl_error_printf("%s: Could not load.\n", im_name); return NULL; } #ifdef RESTORE_LOCALE bl_locale_init(cur_locale); #endif if (!(im = (*func)(IM_API_COMPAT_CHECK_MAGIC, vt_parser_get_encoding((vt_parser_t*)vtparser), &im_export_syms, im_attr, mod_ignore_mask))) { bl_error_printf("%s: Could not open.\n", im_name); /* * Even if ibus daemon was not found, ibus_init() has been * already called in im_ibus_new(). * So if im-ibus module is unloaded here, ibus_init() * will be called again and segfault will happen when * im-ibus module is loaded next time. * Fcitx is also the same. */ if (strcmp(im_name, "ibus") != 0 && strcmp(im_name, "fcitx") != 0) { bl_dl_close(handle); } else { bl_dl_close_at_exit(handle); } return NULL; } /* * initializations for ui_im_t */ im->handle = handle; im->name = strdup(im_name); im->disp = disp; im->font_man = font_man; im->color_man = color_man; im->vtparser = vtparser; im->listener = im_listener; im->cand_screen = NULL; im->stat_screen = NULL; im->preedit.chars = NULL; im->preedit.num_chars = 0; im->preedit.filled_len = 0; im->preedit.segment_offset = 0; im->preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; return im; } void ui_im_delete(ui_im_t *im) { bl_dl_handle_t handle; int do_close; if (strcmp(im->name, "ibus") == 0 || strcmp(im->name, "fcitx") == 0) { do_close = 0; } else { do_close = 1; } free(im->name); if (im->cand_screen) { (*im->cand_screen->delete)(im->cand_screen); } if (im->stat_screen) { (*im->stat_screen->delete)(im->stat_screen); } if (im->preedit.chars) { vt_str_delete(im->preedit.chars, im->preedit.num_chars); } handle = im->handle; (*im->delete)(im); /* * Don't unload libim-ibus.so or libim-fcitx.so because it depends * on glib which works unexpectedly. */ if (do_close) { bl_dl_close(handle); } } void ui_im_redraw_preedit(ui_im_t *im, int is_focused) { (*im->listener->draw_preedit_str)(im->listener->self, im->preedit.chars, im->preedit.filled_len, im->preedit.cursor_offset); if (!im->cand_screen && !im->stat_screen) { return; } if (is_focused) { int x; int y; if ((*im->listener->get_spot)(im->listener->self, im->preedit.chars, im->preedit.segment_offset, &x, &y)) { if (im->stat_screen && (im->cand_screen && im->preedit.filled_len)) { (*im->stat_screen->hide)(im->stat_screen); (*im->cand_screen->show)(im->cand_screen); (*im->cand_screen->set_spot)(im->cand_screen, x, y); } else if (im->stat_screen) { (*im->stat_screen->show)(im->stat_screen); (*im->stat_screen->set_spot)(im->stat_screen, x, y); } else if (im->cand_screen && im->preedit.filled_len) { (*im->cand_screen->show)(im->cand_screen); (*im->cand_screen->set_spot)(im->cand_screen, x, y); } } } else { if (im->cand_screen) { (*im->cand_screen->hide)(im->cand_screen); } if (im->stat_screen) { (*im->stat_screen->hide)(im->stat_screen); } } } #else /* ! USE_IM_PLUGIN */ ui_im_t *ui_im_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, ui_im_event_listener_t *im_listener, char *input_method, u_int mod_ignore_mask) { return NULL; } void ui_im_delete(ui_im_t *im) {} void ui_im_redraw_preedit(ui_im_t *im, int is_focused) {} #endif mlterm-3.8.4/uitoolkit/ui_font_cache.h010064400017600000144000000024031321054731200165030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_FONT_CACHE_H__ #define __UI_FONT_CACHE_H__ #include "ui.h" #include #include #include #include "ui_font_config.h" BL_MAP_TYPEDEF(ui_font, vt_font_t, ui_font_t *); typedef struct ui_font_cache { /* * Public(readonly) */ Display *display; u_int font_size; ef_charset_t usascii_font_cs; ui_font_config_t *font_config; u_int8_t letter_space; ui_font_t *usascii_font; /* * Private */ BL_MAP(ui_font) xfont_table; struct { vt_font_t font; ui_font_t *xfont; } prev_cache; u_int ref_count; } ui_font_cache_t; void ui_set_use_leftward_double_drawing(int use); ui_font_cache_t *ui_acquire_font_cache(Display *display, u_int font_size, ef_charset_t usascii_font_cs, ui_font_config_t *font_config, u_int letter_space); void ui_release_font_cache(ui_font_cache_t *font_cache); void ui_font_cache_unload(ui_font_cache_t *font_cache); void ui_font_cache_unload_all(void); ui_font_t *ui_font_cache_get_xfont(ui_font_cache_t *font_cache, vt_font_t font); XFontSet ui_font_cache_get_fontset(ui_font_cache_t *font_cache); #endif mlterm-3.8.4/uitoolkit/ui_imagelib.h010064400017600000144000000021231321054731200161620ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_IMAGELIB_H__ #define __UI_IMAGELIB_H__ #include "ui_window.h" #include "ui_picture.h" typedef struct _GdkPixbuf* GdkPixbufPtr; void ui_imagelib_display_opened(Display *disp); void ui_imagelib_display_closed(Display *disp); Pixmap ui_imagelib_load_file_for_background(ui_window_t *win, char *path, ui_picture_modifier_t *pic_mod); Pixmap ui_imagelib_get_transparent_background(ui_window_t *win, ui_picture_modifier_t *pic_mod); int ui_imagelib_load_file(ui_display_t *disp, char *path, u_int32_t **cardinal, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height); Pixmap ui_imagelib_pixbuf_to_pixmap(ui_window_t *win, ui_picture_modifier_t *pic_mod, GdkPixbufPtr pixbuf); void ui_delete_image(Display *display, Pixmap pixmap); #ifdef USE_XLIB #define ui_delete_mask(display, mask) ((mask) ? ui_delete_image(display, mask) : 0) #else void ui_delete_mask(Display *display, PixmapMask mask); #endif #endif mlterm-3.8.4/uitoolkit/ui_shortcut.c010064400017600000144000000236021321054731200162640ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_shortcut.h" #include /* sscanf */ #include /* strchr/memcpy */ #include /* HAVE_WINDOWS_H */ #include #include #include #include #include /* strdup */ #ifndef CommandMask #define CommandMask (0) #endif /* * !! Notice !! * Mod1Mask - Mod5Mask are not distinguished. */ typedef struct key_func_table { char *name; ui_key_func_t func; } key_func_table_t; /* --- static variables --- */ static char *key_file = "mlterm/key"; /* * Button*Mask is disabled until Button* is specified in ~/.mlterm/key to avoid * such a problem as * http://sourceforge.net/mailarchive/message.php?msg_id=30866232 */ static int button_mask = 0; /* --- static variables --- */ static key_func_table_t key_func_table[] = { { "IM_HOTKEY", IM_HOTKEY, }, { "EXT_KBD", EXT_KBD, }, { "OPEN_SCREEN", OPEN_SCREEN, }, { "OPEN_PTY", OPEN_PTY, }, { "NEXT_PTY", NEXT_PTY, }, { "PREV_PTY", PREV_PTY, }, { "VSPLIT_SCREEN", VSPLIT_SCREEN, }, { "HSPLIT_SCREEN", HSPLIT_SCREEN, }, { "NEXT_SCREEN", NEXT_SCREEN, }, { "PREV_SCREEN", PREV_SCREEN, }, { "CLOSE_SCREEN", CLOSE_SCREEN, }, { "HEXPAND_SCREEN", HEXPAND_SCREEN, }, { "VEXPAND_SCREEN", VEXPAND_SCREEN, }, { "PAGE_UP", PAGE_UP, }, { "PAGE_DOWN", PAGE_DOWN, }, { "SCROLL_UP", SCROLL_UP, }, { "SCROLL_DOWN", SCROLL_DOWN, }, { "INSERT_SELECTION", INSERT_SELECTION, }, { "EXIT_PROGRAM", EXIT_PROGRAM, }, /* obsoleted: alias of OPEN_SCREEN */ { "NEW_PTY", OPEN_SCREEN, }, }; /* --- static functions --- */ static int read_conf(ui_shortcut_t *shortcut, char *filename) { bl_file_t *from; char *key; char *value; if (!(from = bl_file_open(filename, "r"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return 0; } while (bl_conf_io_read(from, &key, &value)) { /* * [shortcut key]=[operation] */ ui_shortcut_parse(shortcut, key, value); } bl_file_close(from); return 1; } /* --- global functions --- */ void ui_shortcut_init(ui_shortcut_t *shortcut) { char *rcpath; ui_key_t default_key_map[] = { /* IM_HOTKEY */ { 0, 0, 0, }, /* EXT_KBD(obsolete) */ { 0, 0, 0, }, #ifdef USE_QUARTZ /* OPEN_SCREEN */ { XK_F1, CommandMask, 1, }, /* OPEN_PTY */ { XK_F2, CommandMask, 1, }, /* NEXT_PTY */ { XK_F3, CommandMask, 1, }, /* PREV_PTY */ { XK_F4, CommandMask, 1, }, #else /* OPEN_SCREEN */ { XK_F1, ControlMask, 1, }, /* OPEN_PTY */ { XK_F2, ControlMask, 1, }, /* NEXT_PTY */ { XK_F3, ControlMask, 1, }, /* PREV_PTY */ { XK_F4, ControlMask, 1, }, #endif /* HSPLIT_SCREEN */ { XK_F1, ShiftMask, 1, }, /* VSPLIT_SCREEN */ { XK_F2, ShiftMask, 1, }, /* NEXT_SCREEN */ { XK_F3, ShiftMask, 1, }, /* PREV_SCREEN */ { XK_F4, ShiftMask, 1, }, /* CLOSE_SCREEN */ { XK_F5, ShiftMask, 1, }, /* HEXPAND_SCREEN */ { XK_F6, ShiftMask, 1, }, /* VEXPAND_SCREEN */ { XK_F7, ShiftMask, 1, }, /* PAGE_UP(compatible with kterm) */ { XK_Prior, ShiftMask, 1, }, /* PAGE_DOWN(compatible with kterm) */ { XK_Next, ShiftMask, 1, }, /* SCROLL_UP */ { XK_Up, ShiftMask, 1, }, /* SCROLL_DOWN */ { XK_Down, ShiftMask, 1, }, /* INSERT_SELECTION */ { XK_Insert, ShiftMask, 1, }, #ifdef DEBUG /* EXIT PROGRAM(only for debug) */ { XK_F1, ControlMask | ShiftMask, 1, }, #else { 0, 0, 0, }, #endif }; memcpy(&shortcut->map, &default_key_map, sizeof(default_key_map)); if ((shortcut->str_map = malloc(2 * sizeof(ui_str_key_t)))) { shortcut->str_map_size = 2; shortcut->str_map[0].ksym = 0; shortcut->str_map[0].state = Button1Mask | ControlMask; shortcut->str_map[0].str = strdup( "menu:mlterm-menu" #ifdef HAVE_WINDOWS_H ".exe" #endif ); shortcut->str_map[1].ksym = 0; shortcut->str_map[1].state = Button3Mask | ControlMask; shortcut->str_map[1].str = strdup( "menu:mlconfig" #ifdef HAVE_WINDOWS_H ".exe" #endif ); button_mask |= (Button1Mask | Button3Mask); } else { shortcut->str_map_size = 0; } if ((rcpath = bl_get_sys_rc_path(key_file))) { read_conf(shortcut, rcpath); free(rcpath); } if ((rcpath = bl_get_user_rc_path(key_file))) { read_conf(shortcut, rcpath); free(rcpath); } } void ui_shortcut_final(ui_shortcut_t *shortcut) { u_int count; for (count = 0; count < shortcut->str_map_size; count++) { free(shortcut->str_map[count].str); } free(shortcut->str_map); } int ui_shortcut_match(ui_shortcut_t *shortcut, ui_key_func_t func, KeySym ksym, u_int state) { if (shortcut->map[func].is_used == 0) { return 0; } /* ingoring except these masks */ state &= (ModMask | ControlMask | ShiftMask | CommandMask | button_mask); if (state & button_mask) { state &= ~Mod2Mask; /* XXX NumLock */ } if (shortcut->map[func].ksym == ksym && shortcut->map[func].state == (state | ((state & ModMask) && (shortcut->map[func].state & ModMask) == ModMask ? ModMask : 0))) { return 1; } else { return 0; } } char *ui_shortcut_str(ui_shortcut_t *shortcut, KeySym ksym, u_int state) { u_int count; /* ingoring except these masks */ state &= (ModMask | ControlMask | ShiftMask | CommandMask | button_mask); if (state & button_mask) { state &= ~Mod2Mask; /* XXX NumLock */ } for (count = 0; count < shortcut->str_map_size; count++) { if (shortcut->str_map[count].ksym == ksym && shortcut->str_map[count].state == (state | ((state & ModMask) && (shortcut->str_map[count].state & ModMask) == ModMask ? ModMask : 0))) { return shortcut->str_map[count].str; } } return NULL; } int ui_shortcut_parse(ui_shortcut_t *shortcut, char *key, char *oper) { char *p; KeySym ksym; u_int state; int count; if (strcmp(key, "UNUSED") == 0) { goto replace_shortcut_map; } state = 0; while ((p = strchr(key, '+')) != NULL) { *(p++) = '\0'; if (strcmp(key, "Control") == 0) { state |= ControlMask; } else if (strcmp(key, "Shift") == 0) { state |= ShiftMask; } else if (strcmp(key, "Mod") == 0 || strcmp(key, "Alt") == 0) { state |= ModMask; } else if (strncmp(key, "Mod", 3) == 0) { switch (key[3]) { case 0: state |= ModMask; break; case '1': state |= Mod1Mask; break; case '2': state |= Mod2Mask; break; case '3': state |= Mod3Mask; break; case '4': state |= Mod4Mask; break; case '5': state |= Mod5Mask; break; #ifdef DEBUG default: bl_warn_printf(BL_DEBUG_TAG " unrecognized Mod mask(%s)\n", key); break; #endif } } else if (strcmp(key, "Command") == 0) { state |= CommandMask; } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " unrecognized mask(%s)\n", key); } #endif key = p; } if (strncmp(key, "Button", 6) == 0) { state |= (Button1Mask << (key[6] - '1')); ksym = 0; } else if ((ksym = XStringToKeysym(key)) == NoSymbol) { return 0; } for (count = 0; count < sizeof(key_func_table) / sizeof(key_func_table_t); count++) { ui_key_t *map_entry; map_entry = shortcut->map + key_func_table[count].func; if (map_entry->ksym == ksym && map_entry->state == state) { map_entry->is_used = 0; break; } } for (count = 0; count < shortcut->str_map_size; count++) { if (shortcut->str_map[count].ksym == ksym && shortcut->str_map[count].state == state) { free(shortcut->str_map[count].str); shortcut->str_map[count] = shortcut->str_map[--shortcut->str_map_size]; break; } } if (*oper == '"') { char *str; char *p; ui_str_key_t *str_map; if (!(str = bl_str_unescape(++oper)) || !(p = strrchr(str, '\"')) || !(str_map = realloc(shortcut->str_map, sizeof(ui_str_key_t) * (shortcut->str_map_size + 1)))) { free(str); return 0; } *p = '\0'; str_map[shortcut->str_map_size].ksym = ksym; str_map[shortcut->str_map_size].state = state; str_map[shortcut->str_map_size].str = str; shortcut->str_map_size++; shortcut->str_map = str_map; } else { replace_shortcut_map: for (count = 0; count < sizeof(key_func_table) / sizeof(key_func_table_t); count++) { if (strcmp(oper, key_func_table[count].name) == 0) { if (strcmp(key, "UNUSED") == 0) { shortcut->map[key_func_table[count].func].is_used = 0; return 1; } else { shortcut->map[key_func_table[count].func].is_used = 1; shortcut->map[key_func_table[count].func].ksym = ksym; shortcut->map[key_func_table[count].func].state = state; goto success; } } } return 0; } success: if (state & ButtonMask) { int mask; for (mask = Button1Mask; mask <= Button7Mask; mask <<= 1) { if (state & mask) { button_mask |= mask; break; } } } return 1; } mlterm-3.8.4/uitoolkit/ui_connect_dialog.h010064400017600000144000000005261321054731200173660ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_CONNECT_DIALOG_H__ #define __UI_CONNECT_DIALOG_H__ #include "ui.h" int ui_connect_dialog(char **uri, char **pass, char **exec_cmd, int *x11_fwd, char *display_name, Window parent_window, char **server_list, char *default_server); #endif mlterm-3.8.4/uitoolkit/ui_scrollbar.c010064400017600000144000000630151321054731200163760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_scrollbar.h" #include /* abs */ #include #include /* free */ #include /* strdup */ #include "ui_sb_view_factory.h" #define HEIGHT_MARGIN(sb) ((sb)->top_margin + (sb)->bottom_margin) #define IS_TOO_SMALL(sb) ((sb)->window.height <= HEIGHT_MARGIN(sb)) #ifdef DEBUG #define MAX_BAR_HEIGHT(sb) \ (IS_TOO_SMALL(sb) \ ? 0 & bl_debug_printf(BL_DEBUG_TAG \ " scroll bar is too small , but MAX_BAR_HEIGHT " \ "was refered.\n") \ : (sb)->window.height - HEIGHT_MARGIN(sb)) #else #define MAX_BAR_HEIGHT(sb) ((sb)->window.height - HEIGHT_MARGIN(sb)) #endif #if 0 #define __DEBUG #endif /* * For ui_window_update() */ enum { UPDATE_UPBUTTON = 0x1, UPDATE_DOWNBUTTON = 0x2, UPDATE_BUTTON = UPDATE_UPBUTTON | UPDATE_DOWNBUTTON, UPDATE_SCROLLBAR = 0x4, FGCOLOR_CHANGED = 0x8, BGCOLOR_CHANGED = 0x10, }; /* --- static functions --- */ static void set_redraw_area(ui_scrollbar_t *sb, int y, /* Should exclude sb->top_margin. */ u_int height /* Should be over 0. Can be over sb->window.height - sb->bottom_margin. */ ) { if (sb->redraw_height == 0) { sb->redraw_y = y; sb->redraw_height = height; } else { if (y < sb->redraw_y) { sb->redraw_height += (sb->redraw_y - y); sb->redraw_y = y; } if (y + height > sb->redraw_y + sb->redraw_height) { sb->redraw_height = y + height - sb->redraw_y; } } } /* * Don't call directly draw_xxx functions. * Call ui_window_update() instead. */ static void draw_scrollbar(ui_scrollbar_t *sb) { if (IS_TOO_SMALL(sb)) { ui_window_blank(&sb->window); return; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " updating scrollbar from %d height %d\n", sb->bar_top_y, sb->bar_height); #endif if (sb->view->draw_scrollbar) { (*sb->view->draw_scrollbar)(sb->view, sb->top_margin + sb->bar_top_y, sb->bar_height); } } /* * Don't call directly draw_xxx functions. * Call ui_window_update() instead. */ static void draw_background(ui_scrollbar_t *sb) { if (IS_TOO_SMALL(sb)) { return; } if (sb->view->draw_background && sb->redraw_height > 0) { int y; int height; /* Redraw upward area of bar. */ if (sb->redraw_y < sb->bar_top_y) { y = sb->redraw_y; if (y + sb->redraw_height > sb->bar_top_y) { /* Redraw except bar area. */ height = sb->bar_top_y - y; } else { height = sb->redraw_height; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " updating background from %d height %d\n", y + sb->top_margin, height); #endif (*sb->view->draw_background)(sb->view, y + sb->top_margin, height); } /* Redraw downward area of bar. */ if (sb->redraw_y < sb->window.height - HEIGHT_MARGIN(sb) && sb->bar_top_y + sb->bar_height < sb->redraw_y + sb->redraw_height) { if (sb->redraw_y < sb->bar_top_y + sb->bar_height) { y = sb->bar_top_y + sb->bar_height; } else { y = sb->redraw_y; } if (sb->redraw_y + sb->redraw_height > sb->window.height - HEIGHT_MARGIN(sb)) { /* Redraw except bar area. */ height = sb->window.height - HEIGHT_MARGIN(sb) - y; } else { height = sb->redraw_y + sb->redraw_height - y; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " updating background from %d height %d\n", y + sb->top_margin, height); #endif (*sb->view->draw_background)(sb->view, y + sb->top_margin, height); } sb->redraw_y = 0; sb->redraw_height = 0; } } /* * Don't call directly draw_xxx functions. * Call ui_window_update() instead. */ static void draw_button(ui_scrollbar_t *sb, int upbutton, int downbutton) { if (IS_TOO_SMALL(sb)) { return; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " drawing button.\n"); #endif if (upbutton && sb->view->draw_up_button) { (*sb->view->draw_up_button)(sb->view, sb->is_pressing_up_button); } if (downbutton && sb->view->draw_down_button) { (*sb->view->draw_down_button)(sb->view, sb->is_pressing_down_button); } } /* * depends on sb->bar_height. */ static int calculate_bar_top_y(ui_scrollbar_t *sb) { if (IS_TOO_SMALL(sb) || MAX_BAR_HEIGHT(sb) == sb->bar_height || abs(sb->current_row) == sb->num_filled_log_lines) { return 0; } else { return (sb->current_row + sb->num_filled_log_lines) * (MAX_BAR_HEIGHT(sb) - sb->bar_height) / sb->num_filled_log_lines; } } /* * depends on sb->bar_height. */ static int calculate_current_row(ui_scrollbar_t *sb) { if (IS_TOO_SMALL(sb) || MAX_BAR_HEIGHT(sb) == sb->bar_height) { return 0; } else { /* * sb->bar_top_y / (sb->num_filled_log_lines / * (MAX_BAR_HEIGHT(sb) - sb->bar_height)) * => (sb->num_filled_log_lines / (MAX_BAR_HEIGHT(sb) - sb->bar_height)) * = pixel per line */ return sb->bar_top_y * sb->num_filled_log_lines / (MAX_BAR_HEIGHT(sb) - sb->bar_height) - sb->num_filled_log_lines; } } static u_int calculate_bar_height(ui_scrollbar_t *sb) { if (IS_TOO_SMALL(sb) || sb->num_filled_log_lines + sb->num_scr_lines == 0) { return 0; } else { u_int bar_height; bar_height = (sb->num_scr_lines * MAX_BAR_HEIGHT(sb)) / (sb->num_filled_log_lines + sb->num_scr_lines); if (bar_height < MAX_BAR_HEIGHT(sb) / 20) { bar_height = MAX_BAR_HEIGHT(sb) / 20; } return bar_height; } } static int is_updown_button_event( ui_scrollbar_t *sb, int y /* this value must include margin or be y on actual window */ ) { int up_button_y; int down_button_y; /* * minus value means y from the bottom. */ if (sb->up_button_y < 0) { up_button_y = sb->window.height + sb->up_button_y; } else { up_button_y = sb->up_button_y; } if (sb->down_button_y < 0) { down_button_y = sb->window.height + sb->down_button_y; } else { down_button_y = sb->down_button_y; } if (up_button_y <= y && y <= up_button_y + sb->up_button_height) { #ifdef __DEBUG bl_debug_printf("up button pressed\n"); #endif return 1; } else if (down_button_y <= y && y <= down_button_y + sb->down_button_height) { #ifdef __DEBUG bl_debug_printf("down button pressed\n"); #endif return -1; } else { return 0; } } /* * callbacks of ui_window_t events. */ static void trigger_sb_view_realized(ui_scrollbar_t *sb) { if (sb->view->realized) { (*sb->view->realized)(sb->view, sb->window.disp->display, sb->window.disp->screen, sb->window.my_window, ui_window_get_fg_gc(&sb->window), sb->window.height); } /* * FGCOLOR_CHANGED|BGCOLOR_CHANGED is necessary in order for * ui_sb_view_t::color_changed to be called. If it is not called, * fg or bg color of buttons are not correctly drawn especially * in changing transparent flag. */ ui_window_update(&sb->window, FGCOLOR_CHANGED | BGCOLOR_CHANGED); } static void window_realized(ui_window_t *win) { ui_scrollbar_t *sb; sb = (ui_scrollbar_t*)win; if (ui_load_named_xcolor(win->disp, &sb->fg_xcolor, sb->fg_color)) { ui_window_set_fg_color(win, &sb->fg_xcolor); } if (ui_load_named_xcolor(win->disp, &sb->bg_xcolor, sb->bg_color)) { ui_window_set_bg_color(win, &sb->bg_xcolor); } trigger_sb_view_realized(sb); } static void window_resized(ui_window_t *win) { ui_scrollbar_t *sb; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " scrollbar resized.\n"); #endif sb = (ui_scrollbar_t*)win; if (IS_TOO_SMALL(sb)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " scrollbar is too small to be drawn.\n"); #endif sb->num_scr_lines = 0; sb->bar_height = 0; sb->bar_top_y = 0; } else { sb->num_scr_lines = MAX_BAR_HEIGHT(sb) / sb->line_height; sb->bar_height = calculate_bar_height(sb); sb->bar_top_y = MAX_BAR_HEIGHT(sb) - sb->bar_height; } if (sb->view->resized) { (*sb->view->resized)(sb->view, sb->window.my_window, sb->window.height); } set_redraw_area(sb, 0, sb->window.height); ui_window_update(&sb->window, UPDATE_SCROLLBAR | UPDATE_BUTTON); } static void window_exposed(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_scrollbar_t *sb; sb = (ui_scrollbar_t*)win; if (y < sb->top_margin) { height -= (sb->top_margin - y); y = 0; } else { y -= sb->top_margin; height -= sb->top_margin; } set_redraw_area(sb, y, height); /* * XXX * GC values should be set(in ui_window_get_gc) before sb->view->func is * called. * For win32: Current gc is set every time window_exposed and update_window. */ sb->view->gc = ui_window_get_bg_gc(&sb->window); draw_background(sb); sb->view->gc = ui_window_get_fg_gc(&sb->window); draw_scrollbar(sb); draw_button(sb, 1, 1); } static void update_window(ui_window_t *win, int flag) { ui_scrollbar_t *sb; sb = (ui_scrollbar_t*)win; if (flag == 0) { return; } if (flag & (FGCOLOR_CHANGED | BGCOLOR_CHANGED)) { if (sb->view->color_changed) { if (flag & FGCOLOR_CHANGED) { sb->view->gc = ui_window_get_fg_gc(&sb->window); (*sb->view->color_changed)(sb->view, 1); } if (flag & BGCOLOR_CHANGED) { sb->view->gc = ui_window_get_bg_gc(&sb->window); (*sb->view->color_changed)(sb->view, 0); } } } if (flag & UPDATE_SCROLLBAR) { /* * XXX * GC values should be set(in ui_window_get_gc) before sb->view->func is * called. * For win32: Current gc is set every time window_exposed and update_window. */ sb->view->gc = ui_window_get_bg_gc(&sb->window); draw_background(sb); sb->view->gc = ui_window_get_fg_gc(&sb->window); draw_scrollbar(sb); } else { sb->view->gc = ui_window_get_fg_gc(&sb->window); } if (flag & ~UPDATE_SCROLLBAR) { draw_button(sb, (flag & UPDATE_UPBUTTON) != 0, (flag & UPDATE_DOWNBUTTON) != 0); } } static void up_button_pressed(ui_scrollbar_t *sb) { if (!ui_scrollbar_move_upward(sb, 1)) { return; } if (sb->sb_listener->screen_scroll_downward) { /* up button scrolls *down* screen */ (*sb->sb_listener->screen_scroll_downward)(sb->sb_listener->self, 1); } } static void down_button_pressed(ui_scrollbar_t *sb) { if (!ui_scrollbar_move_downward(sb, 1)) { return; } if (sb->sb_listener->screen_scroll_upward) { /* down button scrolls *up* screen */ (*sb->sb_listener->screen_scroll_upward)(sb->sb_listener->self, 1); } } static void button_pressed(ui_window_t *win, XButtonEvent *event, int click_num) { ui_scrollbar_t *sb; int result; int y; sb = (ui_scrollbar_t*)win; if (IS_TOO_SMALL(sb)) { return; } result = is_updown_button_event(sb, event->y); y = event->y - sb->top_margin; if (result == 0) { if (y < sb->bar_top_y) { ui_scrollbar_move_upward(sb, sb->num_scr_lines); if (sb->sb_listener->screen_scroll_downward) { /* down button scrolls *down* screen */ (*sb->sb_listener->screen_scroll_downward)(sb->sb_listener->self, sb->num_scr_lines); } } else if (y > sb->bar_top_y + sb->bar_height) { ui_scrollbar_move_downward(sb, sb->num_scr_lines); if (sb->sb_listener->screen_scroll_upward) { /* down button scrolls *up* screen */ (*sb->sb_listener->screen_scroll_upward)(sb->sb_listener->self, sb->num_scr_lines); } } } else if (result == 1) { sb->is_pressing_up_button = 1; ui_window_update(&sb->window, UPDATE_UPBUTTON); up_button_pressed(sb); } else if (result == -1) { sb->is_pressing_down_button = 1; ui_window_update(&sb->window, UPDATE_DOWNBUTTON); down_button_pressed(sb); } } static void button_press_continued(ui_window_t *win, XButtonEvent *event) { ui_scrollbar_t *sb; int result; sb = (ui_scrollbar_t*)win; result = is_updown_button_event(sb, event->y); if (sb->is_pressing_up_button && result == 1) { up_button_pressed(sb); } else if (sb->is_pressing_down_button && result == -1) { down_button_pressed(sb); } } static void button_motion(ui_window_t *win, XMotionEvent *event) { ui_scrollbar_t *sb; int new_row; int up_to_top_now; int y; int old_bar_top_y; int old_bar_height; sb = (ui_scrollbar_t*)win; if (sb->is_pressing_up_button || sb->is_pressing_down_button || is_updown_button_event(sb, event->y) != 0 || IS_TOO_SMALL(sb)) { return; } y = event->y - sb->top_margin; old_bar_top_y = sb->bar_top_y; old_bar_height = sb->bar_height; if (sb->bar_top_y == 0) { up_to_top_now = 1; } else { up_to_top_now = 0; } if (sb->is_motion == 0) { if (sb->bar_top_y <= y && y <= sb->bar_top_y + sb->bar_height) { /* on the bar */ sb->y_on_bar = y - sb->bar_top_y; } else { /* out of the bar */ sb->y_on_bar = sb->bar_height / 2; if (y < sb->y_on_bar) { sb->bar_top_y = 0; } else { sb->bar_top_y = y - sb->y_on_bar; } } sb->is_motion = 1; } else { if (y < sb->y_on_bar) { if (sb->bar_top_y != 0) { sb->bar_top_y = 0; } else { return; } } else if (y - sb->y_on_bar + sb->bar_height > MAX_BAR_HEIGHT(sb)) { sb->bar_top_y = MAX_BAR_HEIGHT(sb) - sb->bar_height; } else { sb->bar_top_y = y - sb->y_on_bar; } } if (!up_to_top_now && sb->bar_top_y == 0) { /* up to the top this time */ up_to_top_now = 1; } else { /* if bar is on the top , it is not *this* time(maybe previous...) */ up_to_top_now = 0; } new_row = calculate_current_row(sb); /* * if bar reaches the top this time , it doesn't return but draw_scrollbar(). */ if (!up_to_top_now && sb->current_row == new_row) { /* Restore bar_top_y and bar_height */ sb->bar_top_y = old_bar_top_y; sb->bar_height = old_bar_height; return; } sb->current_row = new_row; if (sb->sb_listener->screen_scroll_to) { (*sb->sb_listener->screen_scroll_to)(sb->sb_listener->self, sb->current_row); } set_redraw_area(sb, old_bar_top_y, old_bar_height); ui_window_update(&sb->window, UPDATE_SCROLLBAR); } static void button_released(ui_window_t *win, XButtonEvent *event) { ui_scrollbar_t *sb; sb = (ui_scrollbar_t*)win; if (sb->is_pressing_up_button) { sb->is_pressing_up_button = 0; ui_window_update(&sb->window, UPDATE_UPBUTTON); } if (sb->is_pressing_down_button) { sb->is_pressing_down_button = 0; ui_window_update(&sb->window, UPDATE_DOWNBUTTON); } if (sb->is_motion) { sb->is_motion = 0; } } /* --- global functions --- */ int ui_scrollbar_init(ui_scrollbar_t *sb, ui_scrollbar_event_listener_t *sb_listener, char *view_name, char *fg_color, char *bg_color, u_int height, u_int line_height, u_int num_log_lines, u_int num_filled_log_lines, int use_transbg, ui_picture_modifier_t *pic_mod) { u_int width; /* dynamically allocated */ sb->view_name = NULL; sb->view = NULL; sb->fg_color = NULL; sb->bg_color = NULL; if (view_name) { sb->view_name = strdup(view_name); } else { sb->view_name = strdup("simple"); } if (sb->view_name == NULL) { goto error; } if (use_transbg) { if ((sb->view = ui_transparent_sb_view_new(sb->view_name))) { goto view_created; } } if ((sb->view = ui_sb_view_new(sb->view_name)) == NULL) { free(sb->view_name); if ((sb->view_name = strdup("simple")) == NULL) { goto error; } if (use_transbg) { if ((sb->view = ui_transparent_sb_view_new(sb->view_name))) { goto view_created; } } if ((sb->view = ui_sb_view_new(sb->view_name)) == NULL) { goto error; } } use_transbg = 0; view_created: sb->view->win = &sb->window; sb->sb_listener = sb_listener; (*sb->view->get_geometry_hints)(sb->view, &width, &sb->top_margin, &sb->bottom_margin, &sb->up_button_y, &sb->up_button_height, &sb->down_button_y, &sb->down_button_height); if (sb->view->get_default_color) { char* _fg_color; char* _bg_color; (*sb->view->get_default_color)(sb->view, &_fg_color, &_bg_color); if (fg_color == NULL) { fg_color = _fg_color; } if (bg_color == NULL) { bg_color = _bg_color; } } else { if (fg_color == NULL) { fg_color = "black"; } if (bg_color == NULL) { bg_color = "white"; } } sb->fg_color = strdup(fg_color); sb->bg_color = strdup(bg_color); sb->is_pressing_up_button = 0; sb->is_pressing_down_button = 0; if (!ui_window_init(&sb->window, width, height, width, 0, 0, 0, 0, 0, 0, 0)) { goto error; } sb->line_height = line_height; if (IS_TOO_SMALL(sb)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " scrollbar is too small to be drawn.\n"); #endif sb->bar_height = 0; sb->num_scr_lines = 0; } else { sb->bar_height = height - HEIGHT_MARGIN(sb); sb->num_scr_lines = sb->bar_height / sb->line_height; } sb->num_log_lines = num_log_lines; sb->num_filled_log_lines = num_filled_log_lines; sb->bar_top_y = 0; sb->y_on_bar = 0; sb->current_row = 0; sb->redraw_y = 0; sb->redraw_height = 0; sb->is_motion = 0; if (use_transbg) { ui_window_set_transparent(&sb->window, pic_mod); } ui_window_set_cursor(&sb->window, XC_left_ptr); /* * event callbacks. */ ui_window_add_event_mask(&sb->window, ButtonPressMask | ButtonReleaseMask | ButtonMotionMask); sb->window.window_realized = window_realized; sb->window.button_pressed = button_pressed; sb->window.button_released = button_released; sb->window.button_press_continued = button_press_continued; sb->window.button_motion = button_motion; sb->window.window_resized = window_resized; sb->window.window_exposed = window_exposed; sb->window.update_window = update_window; return 1; error: free(sb->fg_color); free(sb->bg_color); free(sb->view_name); if (sb->view) { (*sb->view->delete)(sb->view); } return 0; } void ui_scrollbar_final(ui_scrollbar_t *sb) { (*sb->view->delete)(sb->view); ui_unload_scrollbar_view_lib(sb->view_name); ui_unload_xcolor(sb->window.disp, &sb->fg_xcolor); ui_unload_xcolor(sb->window.disp, &sb->bg_xcolor); free(sb->fg_color); free(sb->bg_color); free(sb->view_name); } void ui_scrollbar_set_num_log_lines(ui_scrollbar_t *sb, u_int num_log_lines) { if (sb->num_log_lines == num_log_lines) { return; } sb->num_log_lines = num_log_lines; if (sb->num_filled_log_lines > sb->num_log_lines) { sb->num_filled_log_lines = sb->num_log_lines; } set_redraw_area(sb, sb->bar_top_y, sb->bar_height); sb->bar_height = calculate_bar_height(sb); sb->bar_top_y = MAX_BAR_HEIGHT(sb) - sb->bar_height; ui_window_update(&sb->window, UPDATE_SCROLLBAR); } void ui_scrollbar_set_num_filled_log_lines(ui_scrollbar_t *sb, u_int lines) { if (lines > sb->num_log_lines) { lines = sb->num_log_lines; } if (sb->num_filled_log_lines == lines) { return; } sb->num_filled_log_lines = lines; set_redraw_area(sb, sb->bar_top_y, sb->bar_height); sb->bar_height = calculate_bar_height(sb); sb->bar_top_y = MAX_BAR_HEIGHT(sb) - sb->bar_height; ui_window_update(&sb->window, UPDATE_SCROLLBAR); } int ui_scrollbar_line_is_added(ui_scrollbar_t *sb) { int old_bar_top_y; u_int old_bar_height; if ((*sb->sb_listener->screen_is_static)(sb->sb_listener->self)) { if (sb->num_filled_log_lines < sb->num_log_lines) { sb->num_filled_log_lines++; } sb->current_row--; } else if (sb->num_filled_log_lines == sb->num_log_lines) { return 0; } else { sb->num_filled_log_lines++; } old_bar_height = sb->bar_height; sb->bar_height = calculate_bar_height(sb); old_bar_top_y = sb->bar_top_y; sb->bar_top_y = calculate_bar_top_y(sb); if (old_bar_top_y == sb->bar_top_y && old_bar_height == sb->bar_height) { return 1; } else { set_redraw_area(sb, old_bar_top_y, old_bar_height); ui_window_update(&sb->window, UPDATE_SCROLLBAR); return 1; } } void ui_scrollbar_reset(ui_scrollbar_t *sb) { if (sb->is_motion || sb->bar_top_y + sb->bar_height < MAX_BAR_HEIGHT(sb)) { set_redraw_area(sb, sb->bar_top_y, sb->bar_height); sb->bar_top_y = MAX_BAR_HEIGHT(sb) - sb->bar_height; sb->is_motion = 0; sb->current_row = 0; ui_window_update(&sb->window, UPDATE_SCROLLBAR); } } int ui_scrollbar_move_upward(ui_scrollbar_t *sb, u_int size) { #if 0 if (sb->bar_top_y == 0) #else /* * XXX Adhoc solution * Fix ui_screen.c:bs_{half_}page_{up|down}ward() instead. */ if (sb->current_row + sb->num_filled_log_lines == 0) #endif { return 0; } return ui_scrollbar_move(sb, sb->current_row - size); } int ui_scrollbar_move_downward(ui_scrollbar_t *sb, u_int size) { if (sb->current_row >= 0) { return 0; } return ui_scrollbar_move(sb, sb->current_row + size); } int ui_scrollbar_move(ui_scrollbar_t *sb, int row) { if (0 < row) { row = 0; } else if (row + (int)sb->num_filled_log_lines < 0) { row = -(sb->num_filled_log_lines); } if (sb->current_row == row) { return 0; } sb->current_row = row; set_redraw_area(sb, sb->bar_top_y, sb->bar_height); sb->bar_top_y = calculate_bar_top_y(sb); ui_window_update(&sb->window, UPDATE_SCROLLBAR); return 1; } int ui_scrollbar_set_line_height(ui_scrollbar_t *sb, u_int line_height) { if (sb->line_height == line_height) { return 0; } sb->line_height = line_height; set_redraw_area(sb, sb->bar_top_y, sb->bar_height); sb->bar_height = calculate_bar_height(sb); ui_window_update(&sb->window, UPDATE_SCROLLBAR); return 1; } int ui_scrollbar_set_fg_color(ui_scrollbar_t *sb, char *fg_color) { free(sb->fg_color); ui_unload_xcolor(sb->window.disp, &sb->fg_xcolor); sb->fg_color = strdup(fg_color); if (ui_load_named_xcolor(sb->window.disp, &sb->fg_xcolor, sb->fg_color)) { ui_window_set_fg_color(&sb->window, &sb->fg_xcolor); set_redraw_area(sb, 0, sb->window.height); ui_window_update(&sb->window, UPDATE_SCROLLBAR | UPDATE_BUTTON | FGCOLOR_CHANGED); } return 1; } int ui_scrollbar_set_bg_color(ui_scrollbar_t *sb, char *bg_color) { free(sb->bg_color); ui_unload_xcolor(sb->window.disp, &sb->bg_xcolor); sb->bg_color = strdup(bg_color); if (ui_load_named_xcolor(sb->window.disp, &sb->bg_xcolor, sb->bg_color)) { ui_window_set_bg_color(&sb->window, &sb->bg_xcolor); set_redraw_area(sb, 0, sb->window.height); ui_window_update(&sb->window, UPDATE_SCROLLBAR | UPDATE_BUTTON | BGCOLOR_CHANGED); } return 1; } int ui_scrollbar_change_view(ui_scrollbar_t *sb, char *name) { ui_sb_view_t *view; u_int width; if (strcmp(name, sb->view_name) == 0 || (name = strdup(name)) == NULL) { return 0; } if (sb->window.is_transparent) { if ((view = ui_transparent_sb_view_new(name)) == NULL) { /* nothing is done */ free(name); return 0; } } else { if ((view = ui_sb_view_new(name)) == NULL) { free(name); return 0; } } view->win = &sb->window; if (sb->view) { (*sb->view->delete)(sb->view); ui_unload_scrollbar_view_lib(sb->view_name); } sb->view = view; free(sb->view_name); /* name is dynamically allocated above */ sb->view_name = name; (*sb->view->get_geometry_hints)(sb->view, &width, &sb->top_margin, &sb->bottom_margin, &sb->up_button_y, &sb->up_button_height, &sb->down_button_y, &sb->down_button_height); sb->bar_height = calculate_bar_height(sb); sb->bar_top_y = calculate_bar_top_y(sb); trigger_sb_view_realized(sb); if (sb->window.width != width) { ui_window_set_normal_hints(&sb->window, width, sb->window.min_height, 0, 0); ui_window_resize(&sb->window, width, sb->window.height, NOTIFY_TO_PARENT); } set_redraw_area(sb, 0, sb->window.height); ui_window_update(&sb->window, UPDATE_SCROLLBAR | UPDATE_BUTTON); return 1; } int ui_scrollbar_set_transparent(ui_scrollbar_t *sb, ui_picture_modifier_t *pic_mod, int force) { ui_sb_view_t *view; if (!force && sb->window.is_transparent) { /* already set */ return 1; } if ((view = ui_transparent_sb_view_new(sb->view_name)) == NULL) { /* nothing is done */ return 0; } view->win = &sb->window; if (sb->view) { (*sb->view->delete)(sb->view); } sb->view = view; /* This should be done before ui_window_set_untransparent() , which calls * exposed event. */ trigger_sb_view_realized(sb); ui_window_set_transparent(&sb->window, pic_mod); set_redraw_area(sb, 0, sb->window.height); ui_window_update(&sb->window, UPDATE_SCROLLBAR | UPDATE_BUTTON); return 1; } int ui_scrollbar_unset_transparent(ui_scrollbar_t *sb) { ui_sb_view_t *view; if (!sb->window.is_transparent) { /* already unset */ return 1; } if ((view = ui_sb_view_new(sb->view_name)) == NULL) { /* nothing is done */ return 0; } view->win = &sb->window; if (sb->view) { (*sb->view->delete)(sb->view); } sb->view = view; /* This should be done before ui_window_set_untransparent() , which calls * exposed event. */ trigger_sb_view_realized(sb); ui_window_unset_transparent(&sb->window); set_redraw_area(sb, 0, sb->window.height); ui_window_update(&sb->window, UPDATE_SCROLLBAR | UPDATE_BUTTON); return 1; } mlterm-3.8.4/uitoolkit/ui_layout.h010064400017600000144000000031721321054731200157330ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_LAYOUT_H__ #define __UI_LAYOUT_H__ #include /* int8_t */ #include "ui_screen.h" #include "ui_scrollbar.h" #include "ui_color_manager.h" #define UI_SCREEN_TO_LAYOUT(screen) ((ui_layout_t *)(screen)->window.parent) typedef struct ui_layout { ui_window_t window; struct terminal { ui_scrollbar_t scrollbar; ui_screen_t *screen; ui_sb_mode_t sb_mode; ui_scrollbar_event_listener_t sb_listener; ui_screen_scroll_event_listener_t screen_scroll_listener; u_int16_t separator_x; u_int16_t separator_y; int yfirst; int8_t autohide_scrollbar; int8_t idling_count; /* 0: right, 1: down */ struct terminal *next[2]; } term; char *pic_file_path; ui_picture_modifier_t pic_mod; ui_picture_t *bg_pic; void (*line_scrolled_out)(void *); void (*pointer_motion)(ui_window_t *, XMotionEvent *); } ui_layout_t; ui_layout_t *ui_layout_new(ui_screen_t *screen, char *view_name, char *fg_color, char *bg_color, ui_sb_mode_t mode, u_int hmargin, u_int vmargin); void ui_layout_delete(ui_layout_t *layout); int ui_layout_add_child(ui_layout_t *layout, ui_screen_t *screen, int horizontal, const char *percent); int ui_layout_remove_child(ui_layout_t *layout, ui_screen_t *screen); int ui_layout_switch_screen(ui_layout_t *layout, int prev); int ui_layout_resize(ui_layout_t *layout, ui_screen_t *screen, int horizontal, int step); #define ui_layout_has_one_child(layout) \ ((layout)->term.next[0] == NULL && ((layout)->term.next[1]) == NULL) #endif mlterm-3.8.4/uitoolkit/ui_draw_str.c010064400017600000144000001076431321054731200162460ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_draw_str.h" #include /* alloca */ #include #ifndef NO_IMAGE #include "ui_picture.h" #define INLINEPIC_ID(glyph) (((glyph) >> PICTURE_POS_BITS) & (MAX_INLINE_PICTURES - 1)) #define INLINEPIC_POS(glyph) ((glyph) & ((1 << PICTURE_POS_BITS) - 1)) #endif #if 0 #define PERF_DEBUG #endif /* --- static functions --- */ static u_int calculate_char_width(ui_font_t *font, u_int code, ef_charset_t cs, vt_char_t *comb, u_int comb_size, int *draw_alone) { u_int width; width = ui_calculate_char_width(font, code, cs, draw_alone); if (cs == ISO10646_UCS4_1_V) { int w; for (; comb_size > 0; comb_size--, comb++) { #ifdef DEBUG if (vt_char_cs(comb) != ISO10646_UCS4_1_V) { bl_debug_printf(BL_DEBUG_TAG " %x cs is unexpectedly" " combined to ISO10646_UCS4_1_V.\n"); continue; } #endif if ((w = vt_char_get_offset(comb) + (int)vt_char_get_width(comb)) > (int)width) { width = w; } } } return width; } #ifndef USE_CONSOLE static void draw_line(ui_window_t *window, ui_color_t *color, int is_vertical, int line_style, int x, int y, u_int width, u_int height, u_int ascent, int top_margin) { u_int w; u_int h; int x2; int y2; if (is_vertical) { w = 1; h = height; if (line_style == LS_UNDERLINE_DOUBLE) { x2 = x + 2; y2 = y; } else { w += ((ascent - top_margin) / 16); if (line_style == LS_CROSSED_OUT) { x += ((width - 1) / 2); } else if (line_style == LS_OVERLINE) { x += (width - (width >= 2 ? 2 : 1)); } } } else { w = width; h = 1; if (line_style == LS_UNDERLINE_DOUBLE) { x2 = x; if (ascent + 2 >= height) { y2 = y + height - 1; y = y2 - 2; } else { y += ascent; y2 = y + 2; } } else { h += ((ascent - top_margin) / 16); if (line_style == LS_CROSSED_OUT) { y += ((height + 1) / 2); } else if (line_style == LS_OVERLINE) { /* do nothing */ } else { y += ascent; } } } ui_window_fill_with(window, color, x, y, w, h); if (line_style == LS_UNDERLINE_DOUBLE) { ui_window_fill_with(window, color, x2, y2, w, h); } } #endif #ifndef NO_IMAGE static int draw_picture(ui_window_t *window, u_int32_t *glyphs, u_int num_glyphs, int dst_x, int dst_y, u_int ch_width, u_int line_height) { u_int count; ui_inline_picture_t *cur_pic; u_int num_rows; int src_x; int src_y; u_int src_width; u_int src_height; u_int dst_width; int need_clear; int is_end; cur_pic = NULL; is_end = 0; for (count = 0; count < num_glyphs; count++) { ui_inline_picture_t *pic; int pos; int x; u_int w; if (!(pic = ui_get_inline_picture(INLINEPIC_ID(glyphs[count])))) { continue; } /* * XXX * pic->col_width isn't used in this function, so it can be * removed in the future. */ if (pic != cur_pic) { num_rows = (pic->height + pic->line_height - 1) / pic->line_height; } pos = INLINEPIC_POS(glyphs[count]); x = (pos / num_rows) * ch_width; if (x + ch_width > pic->width) { w = pic->width > x ? pic->width - x : 0; } else { w = ch_width; } if (count == 0) { goto new_picture; } else if (w > 0 && pic == cur_pic && src_x + src_width == x) { if (!need_clear && w < ch_width) { ui_window_clear(window, dst_x + dst_width, dst_y, ch_width, line_height); } src_width += w; dst_width += ch_width; if (count + 1 < num_glyphs) { continue; } is_end = 1; } if (need_clear > 0) { ui_window_clear(window, dst_x, dst_y, dst_width, line_height); } if (src_width > 0 && src_height > 0 #ifndef INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS && cur_pic->disp == window->disp #endif ) { #ifdef __DEBUG bl_debug_printf("Drawing picture at %d %d (pix %p mask %p x %d y %d w %d h %d)\n", dst_x, dst_y, cur_pic->pixmap, cur_pic->mask, src_x, src_y, src_width, src_height); #endif ui_window_copy_area(window, cur_pic->pixmap, cur_pic->mask, src_x, src_y, src_width, src_height, dst_x, dst_y); } if (is_end) { return 1; } dst_x += dst_width; new_picture: src_y = (pos % num_rows) * line_height; src_x = x; dst_width = ch_width; cur_pic = pic; need_clear = 0; if (cur_pic->mask) { need_clear = 1; } if (src_y + line_height > pic->height) { need_clear = 1; src_height = pic->height > src_y ? pic->height - src_y : 0; } else { src_height = line_height; } if (strstr(cur_pic->file_path, "mlterm/animx") && cur_pic->next_frame >= 0) { /* Don't clear if cur_pic is 2nd or later GIF Animation frame. */ need_clear = -1; } if ((src_width = w) < ch_width && !need_clear) { ui_window_clear(window, dst_x, dst_y, ch_width, line_height); } } if (need_clear > 0) { ui_window_clear(window, dst_x, dst_y, dst_width, line_height); } #ifdef __DEBUG bl_debug_printf("Drawing picture at %d %d (pix %p mask %p x %d y %d w %d h %d)\n", dst_x, dst_y, cur_pic->pixmap, cur_pic->mask, src_x, src_y, src_width, src_height); #endif if (src_width > 0 && src_height > 0 #ifndef INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS && cur_pic->disp == window->disp #endif ) { ui_window_copy_area(window, cur_pic->pixmap, cur_pic->mask, src_x, src_y, src_width, src_height, dst_x, dst_y); } return 1; } #endif #ifndef USE_CONSOLE static int get_drcs_bitmap(char *glyph, u_int width, int x, int y) { return (glyph[(y / 6) * (width + 1) + x] - '?') & (1 << (y % 6)); } static int draw_drcs(ui_window_t *window, char **glyphs, u_int num_glyphs, int x, int y, u_int ch_width, u_int line_height, ui_color_t *fg_xcolor, int size_attr) { int y_off = 0; if (size_attr >= DOUBLE_HEIGHT_TOP) { if (size_attr == DOUBLE_HEIGHT_BOTTOM) { y_off = line_height; } line_height *= 2; } for (; y_off < line_height; y_off++) { u_int w; int x_off_sum; /* x_off for all glyphs */ int x_off; /* x_off for each glyph */ char *glyph; u_int glyph_width; u_int glyph_height; u_int smpl_width; u_int smpl_height; w = 0; for (x_off_sum = 0; x_off_sum < ch_width * num_glyphs; x_off_sum++) { int left_x; int top_y; int hit; int n_smpl; int smpl_x; int smpl_y; if ((x_off = x_off_sum % ch_width) == 0) { glyph = glyphs[x_off_sum / ch_width]; glyph_width = glyph[0]; glyph_height = glyph[1]; glyph += 2; if ((smpl_width = glyph_width / ch_width + 1) >= 3) { smpl_width = 2; } if ((smpl_height = glyph_height / line_height + 1) >= 3) { smpl_height = 2; } } left_x = (x_off * glyph_width * 10 / ch_width + 5) / 10 - smpl_width / 2; top_y = (y_off * glyph_height * 10 / line_height + 5) / 10 - smpl_height / 2; /* * If top_y < 0 or top_y >= glyph_height, w is always 0 * regardless of content of glyph. */ if (top_y < 0) { top_y = 0; } else if (top_y >= glyph_height) { top_y = glyph_height - 1; } #if 0 bl_debug_printf(BL_DEBUG_TAG "x_off %d: center x %f -> %d\n", x_off, (double)(x_off * glyph_width) / (double)ch_width, left_x + smpl_width / 2); bl_debug_printf(BL_DEBUG_TAG "y_off %d: center y %f -> %d\n", y_off, (double)(y_off * glyph_height) / (double)line_height, top_y + smpl_height / 2); #endif hit = n_smpl = 0; for (smpl_y = 0; smpl_y < smpl_height; smpl_y++) { for (smpl_x = 0; smpl_x < smpl_width; smpl_x++) { if (0 <= left_x + smpl_x && left_x + smpl_x < glyph_width && 0 <= top_y + smpl_y && top_y + smpl_y < glyph_height) { if (get_drcs_bitmap(glyph, glyph_width, left_x + smpl_x, top_y + smpl_y)) { hit++; } n_smpl++; } } } if (n_smpl <= hit * 2) { w++; if (x_off_sum + 1 == ch_width * num_glyphs) { /* for x_off - w */ x_off_sum++; } else { continue; } } else if (w == 0) { continue; } if (size_attr >= DOUBLE_HEIGHT_TOP) { int exp_y; if (size_attr == DOUBLE_HEIGHT_TOP) { if (y_off >= line_height / 2) { return 1; } exp_y = y + y_off; } else { exp_y = y + y_off - line_height / 2; } ui_window_fill_with(window, fg_xcolor, x + x_off_sum - w, exp_y, w, 1); } else { ui_window_fill_with(window, fg_xcolor, x + x_off_sum - w, y + y_off, w, 1); } w = 0; } } return 1; } #endif static int get_state(ef_charset_t ch_cs, u_int32_t ch_code, vt_char_t *comb_chars, u_int32_t *pic_glyph, char **drcs_glyph, int *draw_alone) { #ifndef NO_IMAGE if (comb_chars && vt_char_cs(comb_chars) == PICTURE_CHARSET) { *draw_alone = 0; /* forcibly set 0 regardless of xfont. */ *pic_glyph = vt_char_code(comb_chars) | (vt_char_picture_id(comb_chars) << PICTURE_POS_BITS); *drcs_glyph = NULL; return 4; } else #endif { *pic_glyph = 0; if ((*drcs_glyph = vt_drcs_get_glyph(ch_cs, ch_code))) { *draw_alone = 0; /* forcibly set 0 regardless of xfont. */ return 3; } else { if (comb_chars) { *draw_alone = 1; } if (ch_cs == DEC_SPECIAL) { return 1; } else { return 0; } } } } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) static void fc_draw_combining_chars(ui_window_t *window, ui_font_manager_t *font_man, ui_color_t *xcolor, /* fg color */ vt_char_t *chars, u_int size, int x, int y) { u_int count; u_int32_t ch_code; ef_charset_t ch_cs; ui_font_t *xfont; for (count = 0; count < size; count++) { if (vt_char_cols(&chars[count]) == 0) { continue; } ch_code = vt_char_code(&chars[count]); ch_cs = vt_char_cs(&chars[count]); xfont = ui_get_font(font_man, vt_char_font(&chars[count])); if (ch_cs == DEC_SPECIAL) { u_char c; c = ch_code; ui_window_draw_decsp_string(window, xfont, xcolor, x, y, &c, 1); } /* ISCII characters never have combined ones. */ else if (ch_cs == US_ASCII || ch_cs == ISO8859_1_R /* || IS_ISCII(ch_cs) */) { u_char c; c = ch_code; ui_window_ft_draw_string8(window, xfont, xcolor, x, y, &c, 1); } else { /* FcChar32 */ u_int32_t ucs4; if (ch_cs == ISO10646_UCS4_1_V) { ui_window_ft_draw_string32(window, xfont, xcolor, x + vt_char_get_offset(&chars[count]), y, &ch_code, 1); } else if ((ucs4 = ui_convert_to_xft_ucs4(ch_code, ch_cs))) { ui_window_ft_draw_string32(window, xfont, xcolor, x, y, &ucs4, 1); } } } } static int fc_draw_str(ui_window_t *window, ui_font_manager_t *font_man, ui_color_manager_t *color_man, u_int *updated_width, vt_char_t *chars, u_int num_chars, int x, int y, u_int height, u_int ascent, int top_margin, int hide_underline, int underline_offset) { int count; int start_draw; int end_of_str; u_int current_width; /* FcChar8 */ u_int8_t *str8; /* FcChar32 */ u_int32_t *str32; u_int str_len; u_int32_t ch_code; u_int ch_width; ef_charset_t ch_cs; int state; ui_font_t *xfont; vt_font_t font; vt_color_t fg_color; vt_color_t bg_color; int line_style; vt_char_t *comb_chars; u_int comb_size; int draw_alone; u_int32_t pic_glyph; u_int32_t *pic_glyphs; char *drcs_glyph; char **drcs_glyphs; int next_state; ui_font_t *next_xfont; vt_font_t next_font; vt_color_t next_fg_color; vt_color_t next_bg_color; int next_line_style; vt_char_t *next_comb_chars; u_int next_comb_size; u_int next_ch_width; int next_draw_alone; #ifdef PERF_DEBUG int draw_count = 0; #endif if (num_chars == 0) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " input chars length is 0(ui_window_draw_str).\n"); #endif return 1; } start_draw = 0; end_of_str = 0; count = 0; while (vt_char_cols(&chars[count]) == 0) { if (++count >= num_chars) { return 1; } } ch_code = vt_char_code(&chars[count]); xfont = ui_get_font(font_man, (font = vt_char_font(&chars[count]))); ch_cs = FONT_CS(font); comb_chars = vt_get_combining_chars(&chars[count], &comb_size); ch_width = calculate_char_width(xfont, ch_code, ch_cs, comb_chars, comb_size, &draw_alone); if ((current_width = x + ch_width) > window->width || y + height > window->height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " draw string outside screen. (x %d w %d y %d h %d)\n", x, ch_width, y, height); #endif return 0; } if ((state = get_state(ch_cs, ch_code, comb_chars, &pic_glyph, &drcs_glyph, &draw_alone)) == 0 && ch_cs != US_ASCII && ch_cs != ISO8859_1_R && !IS_ISCII(ch_cs)) { state = 2; } fg_color = vt_char_fg_color(&chars[count]); bg_color = vt_char_bg_color(&chars[count]); line_style = vt_char_line_style(&chars[count]); if (!(str8 = str32 = pic_glyphs = drcs_glyphs = alloca(K_MAX(sizeof(*str8), K_MAX(sizeof(*str32), K_MAX(sizeof(*pic_glyphs), sizeof(*drcs_glyphs)))) * num_chars))) { return 0; } str_len = 0; while (1) { if (state <= 1) { str8[str_len++] = ch_code; } else if (state >= 3) { if (drcs_glyph) { drcs_glyphs[str_len++] = drcs_glyph; } else /* if( pic_glyph) */ { pic_glyphs[str_len++] = pic_glyph; } } else /* if( state == 2) */ { u_int32_t ucs4; if (!(ucs4 = ui_convert_to_xft_ucs4(ch_code, ch_cs))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " strange character 0x%x, ignored.\n", ch_code); #endif } else { str32[str_len++] = ucs4; } } /* * next character. */ do { if (++count >= num_chars) { start_draw = 1; end_of_str = 1; break; } } while (vt_char_cols(&chars[count]) == 0); if (!end_of_str) { ch_code = vt_char_code(&chars[count]); next_xfont = ui_get_font(font_man, (next_font = vt_char_font(&chars[count]))); ch_cs = FONT_CS(next_font); next_fg_color = vt_char_fg_color(&chars[count]); next_bg_color = vt_char_bg_color(&chars[count]); next_line_style = vt_char_line_style(&chars[count]); next_comb_chars = vt_get_combining_chars(&chars[count], &next_comb_size); next_ch_width = calculate_char_width(next_xfont, ch_code, ch_cs, next_comb_chars, next_comb_size, &next_draw_alone); if ((next_state = get_state(ch_cs, ch_code, next_comb_chars, &pic_glyph, &drcs_glyph, &next_draw_alone)) == 0 && ch_cs != US_ASCII && ch_cs != ISO8859_1_R && !IS_ISCII(ch_cs)) { next_state = 2; } if (current_width + next_ch_width > window->width) { start_draw = 1; end_of_str = 1; } /* * !! Notice !! * next_xfont != xfont doesn't necessarily detect change of 'state' * (for example, same Unicode font is used for both US_ASCII and * other half-width unicode characters) and 'bold'(ui_get_font() * might substitute normal fonts for bold ones), 'next_state' and * 'font & FONT_BOLD' is necessary. */ else if (next_xfont != xfont || next_fg_color != fg_color || next_bg_color != bg_color || next_line_style != line_style || /* If line_style > 0, line is drawn one by one in vertical mode. */ (line_style && xfont->is_vertical) || state != next_state || draw_alone || next_draw_alone || /* FONT_BOLD flag is not the same. */ ((font ^ next_font) & FONT_BOLD)) { start_draw = 1; } else { start_draw = 0; } } if (start_draw) { /* * status is changed. */ ui_color_t *fg_xcolor; ui_color_t *bg_xcolor; #ifdef PERF_DEBUG draw_count++; #endif #ifndef NO_IMAGE if (state == 4) { draw_picture(window, pic_glyphs, str_len, x, y, ch_width, height); goto end_draw; } #endif fg_xcolor = ui_get_xcolor(color_man, fg_color); bg_xcolor = ui_get_xcolor(color_man, bg_color); /* * clearing background */ if (bg_color == VT_BG_COLOR) { if (updated_width) { ui_window_clear(window, x, y, current_width - x, height); } } else { ui_window_fill_with(window, bg_xcolor, x, y, current_width - x, height); } /* * drawing string */ if (fg_color == bg_color) { /* don't draw it */ } else if (state == 0) { ui_window_ft_draw_string8(window, xfont, fg_xcolor, x, y + ascent, str8, str_len); } else if (state == 1) { ui_window_draw_decsp_string(window, xfont, fg_xcolor, x, y + ascent, str8, str_len); } else if (state == 2) { ui_window_ft_draw_string32(window, xfont, fg_xcolor, x, y + ascent, str32, str_len); } else /* if( state == 3) */ { draw_drcs(window, drcs_glyphs, str_len, x, y, ch_width, height, fg_xcolor, font_man->size_attr); } if (comb_chars) { fc_draw_combining_chars(window, font_man, fg_xcolor, comb_chars, comb_size, /* * 'current_width' is for some thai fonts which * automatically draw combining chars. * e.g.) * -thai-fixed-medium-r-normal--14-100-100-100-m-70-tis620.2529-1 * (distributed by ZzzThai * http://zzzthai.fedu.uec.ac.jp/ZzzThai/) * win32 unicode font. */ #if 0 current_width #else current_width - ch_width #endif , y + ascent); } if (line_style) { if ((line_style & LS_UNDERLINE) && !hide_underline) { draw_line(window, fg_xcolor, xfont->is_vertical, line_style & LS_UNDERLINE, x, y, current_width - x, height, ascent + underline_offset, top_margin); } if (line_style & LS_CROSSED_OUT) { draw_line(window, fg_xcolor, xfont->is_vertical, LS_CROSSED_OUT, x, y, current_width - x, height, ascent, top_margin); } if (line_style & LS_OVERLINE) { draw_line(window, fg_xcolor, xfont->is_vertical, LS_OVERLINE, x, y, current_width - x, height, ascent, top_margin); } } end_draw: start_draw = 0; x = current_width; str_len = 0; } if (end_of_str) { break; } line_style = next_line_style; xfont = next_xfont; font = next_font; fg_color = next_fg_color; bg_color = next_bg_color; state = next_state; draw_alone = next_draw_alone; comb_chars = next_comb_chars; comb_size = next_comb_size; current_width += (ch_width = next_ch_width); } if (updated_width != NULL) { *updated_width = current_width; } #ifdef PERF_DEBUG bl_debug_printf(" drawing %d times in a line.\n", draw_count); #endif return 1; } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) #ifndef USE_CONSOLE static int xcore_draw_combining_chars(ui_window_t *window, ui_font_manager_t *font_man, ui_color_t *xcolor, /* fg color */ vt_char_t *chars, u_int size, int x, int y) { u_int count; u_int32_t ch_code; ef_charset_t ch_cs; ui_font_t *xfont; int x_off; for (count = 0; count < size; count++) { if (vt_char_cols(&chars[count]) == 0) { continue; } ch_code = vt_char_code(&chars[count]); ch_cs = vt_char_cs(&chars[count]); xfont = ui_get_font(font_man, vt_char_font(&chars[count])); if (ch_cs == DEC_SPECIAL) { u_char c; c = ch_code; ui_window_draw_decsp_string(window, xfont, xcolor, x, y, &c, 1); } else { if (ch_cs == ISO10646_UCS4_1_V) { x_off = vt_char_get_offset(&chars[count]); } else { x_off = 0; } if (ch_code < 0x100) { u_char c; c = ch_code; ui_window_draw_string(window, xfont, xcolor, x + x_off, y, &c, 1); } else { /* UCS4 */ /* [2] is for surroage pair. */ XChar2b xch[2]; u_int len; if (IS_ISO10646_UCS4(ch_cs)) { if ((len = ui_convert_ucs4_to_utf16(xch, ch_code) / 2) == 0) { continue; } } else { xch[0].byte1 = (ch_code >> 8) & 0xff; xch[0].byte2 = ch_code & 0xff; len = 1; } ui_window_draw_string16(window, xfont, xcolor, x, y, xch, len); } } } return 1; } #endif static int xcore_draw_str(ui_window_t *window, ui_font_manager_t *font_man, ui_color_manager_t *color_man, u_int *updated_width, vt_char_t *chars, u_int num_chars, int x, int y, u_int height, u_int ascent, int top_margin, int hide_underline, int underline_offset) { int count; int start_draw; int end_of_str; u_int current_width; u_char *str; XChar2b *str2b; u_int str_len; u_int32_t ch_code; ef_charset_t ch_cs; int state; /* 0(8bit),1(decsp),2(16bit) */ vt_char_t *comb_chars; u_int comb_size; u_int ch_width; ui_font_t *xfont; vt_font_t font; vt_color_t fg_color; vt_color_t bg_color; int line_style; int draw_alone; u_int32_t pic_glyph; u_int32_t *pic_glyphs; char *drcs_glyph; char **drcs_glyphs; int next_state; vt_char_t *next_comb_chars; u_int next_comb_size; u_int next_ch_width; ui_font_t *next_xfont; vt_font_t next_font; vt_color_t next_fg_color; vt_color_t next_bg_color; int next_line_style; int next_draw_alone; #ifdef PERF_DEBUG int draw_count = 0; #endif if (num_chars == 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " input chars length is 0(ui_window_draw_str).\n"); #endif return 1; } count = 0; while (vt_char_cols(&chars[count]) == 0) { if (++count >= num_chars) { return 1; } } start_draw = 0; end_of_str = 0; ch_code = vt_char_code(&chars[count]); xfont = ui_get_font(font_man, (font = vt_char_font(&chars[count]))); ch_cs = FONT_CS(font); comb_chars = vt_get_combining_chars(&chars[count], &comb_size); ch_width = calculate_char_width(xfont, ch_code, ch_cs, comb_chars, comb_size, &draw_alone); if ((current_width = x + ch_width) > window->width || y + height > window->height) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " draw string outside screen. (x %d w %d y %d h %d)\n", x, ch_width, y, height); #endif return 0; } if ((state = get_state(ch_cs, ch_code, comb_chars, &pic_glyph, &drcs_glyph, &draw_alone)) == 0 && ch_code >= 0x100) { state = 2; } fg_color = vt_char_fg_color(&chars[count]); bg_color = vt_char_bg_color(&chars[count]); line_style = vt_char_line_style(&chars[count]); if (!(str2b = str = pic_glyphs = drcs_glyphs = /* '* 2' is for UTF16 surrogate pair. */ alloca(K_MAX(sizeof(*str2b) * 2, K_MAX(sizeof(*str), K_MAX(sizeof(*pic_glyphs), sizeof(*drcs_glyphs)))) * num_chars))) { return 0; } str_len = 0; while (1) { if (state <= 1) { str[str_len++] = ch_code; } else if (state >= 3) { if (pic_glyph) { pic_glyphs[str_len++] = pic_glyph; } else /* if( drcs_glyph) */ { drcs_glyphs[str_len++] = drcs_glyph; } } else if (!IS_ISO10646_UCS4(ch_cs)) { str2b[str_len].byte1 = (ch_code >> 8) & 0xff; str2b[str_len].byte2 = ch_code & 0xff; str_len++; } else { /* UCS4 */ str_len += (ui_convert_ucs4_to_utf16(str2b + str_len, ch_code) / 2); } /* * next character. */ do { if (++count >= num_chars) { start_draw = 1; end_of_str = 1; break; } } while (vt_char_cols(&chars[count]) == 0); if (!end_of_str) { ch_code = vt_char_code(&chars[count]); next_xfont = ui_get_font(font_man, (next_font = vt_char_font(&chars[count]))); ch_cs = FONT_CS(next_font); next_fg_color = vt_char_fg_color(&chars[count]); next_bg_color = vt_char_bg_color(&chars[count]); next_line_style = vt_char_line_style(&chars[count]); next_comb_chars = vt_get_combining_chars(&chars[count], &next_comb_size); next_ch_width = calculate_char_width(next_xfont, ch_code, ch_cs, next_comb_chars, next_comb_size, &next_draw_alone); if ((next_state = get_state(ch_cs, ch_code, next_comb_chars, &pic_glyph, &drcs_glyph, &next_draw_alone)) == 0 && ch_code >= 0x100) { next_state = 2; } if (current_width + next_ch_width > window->width) { start_draw = 1; end_of_str = 1; } /* * !! Notice !! * next_xfont != xfont doesn't necessarily detect change of 'state' * (for example, same Unicode font is used for both US_ASCII and * other half-width unicode characters) and 'bold'(ui_get_font() * might substitute normal fonts for bold ones), 'next_state' and * 'font & FONT_BOLD' is necessary. */ else if (next_xfont != xfont || next_fg_color != fg_color || next_bg_color != bg_color || next_line_style != line_style || /* If line_style > 0, line is drawn one by one in vertical mode. */ (line_style && xfont->is_vertical) || next_state != state || draw_alone || next_draw_alone || /* FONT_BOLD flag is not the same */ ((font ^ next_font) & FONT_BOLD)) { start_draw = 1; } else { start_draw = 0; } } if (start_draw) { /* * status is changed. */ ui_color_t *fg_xcolor; ui_color_t *bg_xcolor; #ifdef PERF_DEBUG draw_count++; #endif #ifndef NO_IMAGE if (state == 4) { draw_picture(window, pic_glyphs, str_len, x, y, ch_width, height); goto end_draw; } #endif fg_xcolor = ui_get_xcolor(color_man, fg_color); #ifdef DRAW_SCREEN_IN_PIXELS if (ui_window_has_wall_picture(window) && bg_color == VT_BG_COLOR) { bg_xcolor = NULL; } else #endif { bg_xcolor = ui_get_xcolor(color_man, bg_color); } #ifdef USE_CONSOLE /* XXX DRCS (state == 3) is ignored */ if (state < 3) { u_int comb_count; for (comb_count = 0; comb_count < comb_size; comb_count++) { u_int comb_code; comb_code = vt_char_code(&comb_chars[comb_count]); if (state <= 1) { str[str_len++] = comb_code; } else if (!IS_ISO10646_UCS4(ch_cs)) { str2b[str_len].byte1 = (comb_code >> 8) & 0xff; str2b[str_len].byte2 = comb_code & 0xff; str_len++; } else { /* UCS4 */ str_len += (ui_convert_ucs4_to_utf16(str2b + str_len, comb_code) / 2); } } /* XXX Wall picture is overwritten by bg_xcolor. */ if (state == 2) { ui_window_console_draw_string16(window, xfont, fg_xcolor, bg_xcolor, x, y + ascent, str2b, str_len, line_style); } else if (state == 1) { ui_window_console_draw_decsp_string(window, xfont, fg_xcolor, bg_xcolor, x, y + ascent, str, str_len, line_style); } else /* if( state == 0) */ { ui_window_console_draw_string(window, xfont, fg_xcolor, bg_xcolor, x, y + ascent, str, str_len, line_style); } } #else /* USE_CONSOLE */ #ifndef NO_DRAW_IMAGE_STRING if ( #ifdef DRAW_SCREEN_IN_PIXELS #ifdef USE_FREETYPE /* * ISCII or ISO10646_UCS4_1_V * (see #ifdef USE_FREETYPE #endif in draw_string() in ui_window.c) */ xfont->is_proportional || #endif /* draw_alone || */ /* draw_alone is always false on framebuffer. */ #else /* DRAW_SCREEN_IN_PIXELS */ #if defined(USE_WIN32GUI) && defined(USE_OT_LAYOUT) /* * U+2022 is ambiguous and should be drawn one by one, but * ui_calculate_char_width() can't tell it as ambigous if * use_ot_layout is true because ch_code is glyph index. */ (xfont->use_ot_layout /* && xfont->ot_font */) || #endif (ui_window_has_wall_picture(window) && bg_color == VT_BG_COLOR) || draw_alone || #endif /* DRAW_SCREEN_IN_PIXELS */ xfont->height != height || state == 3) #endif /* NO_DRAW_IMAGE_STRING */ { if (bg_color == VT_BG_COLOR) { ui_window_clear(window, x, y, current_width - x, height); } else { ui_window_fill_with(window, bg_xcolor, x, y, current_width - x, height); } if (fg_color == bg_color) { /* don't draw it */ } else if (state == 2) { ui_window_draw_string16(window, xfont, fg_xcolor, x, y + ascent, str2b, str_len); } else if (state == 1) { ui_window_draw_decsp_string(window, xfont, fg_xcolor, x, y + ascent, str, str_len); } else if (state == 0) { ui_window_draw_string(window, xfont, fg_xcolor, x, y + ascent, str, str_len); } else /* if( state == 3) */ { draw_drcs(window, drcs_glyphs, str_len, x, y, ch_width, height, fg_xcolor, font_man->size_attr); } } #ifndef NO_DRAW_IMAGE_STRING else { if (state == 2) { ui_window_draw_image_string16(window, xfont, fg_xcolor, bg_xcolor, x, y + ascent, str2b, str_len); } else if (state == 1) { ui_window_draw_decsp_image_string(window, xfont, fg_xcolor, bg_xcolor, x, y + ascent, str, str_len); } else /* if( state == 0) */ { ui_window_draw_image_string(window, xfont, fg_xcolor, bg_xcolor, x, y + ascent, str, str_len); } } #endif if (comb_chars) { xcore_draw_combining_chars(window, font_man, fg_xcolor, comb_chars, comb_size, /* * 'current_width' is for some thai fonts which automatically * draw combining chars. * e.g.) * -thai-fixed-medium-r-normal--14-100-100-100-m-70-tis620.2529-1 * (distributed by ZzzThai http://zzzthai.fedu.uec.ac.jp/ZzzThai/) * win32 unicode font. */ #if 0 current_width #else current_width - ch_width #endif , y + ascent); } if (line_style) { if ((line_style & LS_UNDERLINE) && !hide_underline) { draw_line(window, fg_xcolor, xfont->is_vertical, line_style & LS_UNDERLINE, x, y, current_width - x, height, ascent + underline_offset, top_margin); } if (line_style & LS_CROSSED_OUT) { draw_line(window, fg_xcolor, xfont->is_vertical, LS_CROSSED_OUT, x, y, current_width - x, height, ascent, top_margin); } if (line_style & LS_OVERLINE) { draw_line(window, fg_xcolor, xfont->is_vertical, LS_OVERLINE, x, y, current_width - x, height, ascent, top_margin); } } #endif /* USE_CONSOLE */ end_draw: start_draw = 0; x = current_width; str_len = 0; } if (end_of_str) { break; } xfont = next_xfont; font = next_font; fg_color = next_fg_color; bg_color = next_bg_color; line_style = next_line_style; state = next_state; draw_alone = next_draw_alone; comb_chars = next_comb_chars; comb_size = next_comb_size; current_width += (ch_width = next_ch_width); } if (updated_width != NULL) { *updated_width = current_width; } #ifdef PERF_DEBUG bl_debug_printf(" drawing %d times in a line.\n", draw_count); #endif return 1; } #endif /* --- global functions --- */ int ui_draw_str(ui_window_t *window, ui_font_manager_t *font_man, ui_color_manager_t *color_man, vt_char_t *chars, u_int num_chars, int x, int y, u_int height, u_int ascent, int top_margin, int hide_underline, int underline_offset) { u_int updated_width; int ret; #ifdef __DEBUG bl_debug_printf("Draw %d characters.\n", num_chars); #endif if (font_man->size_attr >= DOUBLE_HEIGHT_TOP) { ui_window_set_clip(window, x, y, window->width - x, height); ascent = height - (height - ascent) * 2; if (font_man->size_attr == DOUBLE_HEIGHT_TOP) { ascent += height; } } switch (ui_get_type_engine(font_man)) { default: ret = 0; break; #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) case TYPE_XFT: case TYPE_CAIRO: ret = fc_draw_str(window, font_man, color_man, &updated_width, chars, num_chars, x, y, height, ascent, top_margin, hide_underline, underline_offset); break; #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) case TYPE_XCORE: ret = xcore_draw_str(window, font_man, color_man, &updated_width, chars, num_chars, x, y, height, ascent, top_margin, hide_underline, underline_offset); break; #endif } if (font_man->size_attr >= DOUBLE_HEIGHT_TOP) { ui_window_unset_clip(window); } return ret; } int ui_draw_str_to_eol(ui_window_t *window, ui_font_manager_t *font_man, ui_color_manager_t *color_man, vt_char_t *chars, u_int num_chars, int x, int y, u_int height, u_int ascent, int top_margin, int hide_underline, int underline_offset) { u_int updated_width; int ret; #ifdef __DEBUG bl_debug_printf("Draw %d characters to eol.\n", num_chars); #endif if (font_man->size_attr >= DOUBLE_HEIGHT_TOP) { ui_window_set_clip(window, x, y, window->width - x, height); ascent = height - (height - ascent) * 2; if (font_man->size_attr == DOUBLE_HEIGHT_TOP) { ascent += height; } } switch (ui_get_type_engine(font_man)) { default: ret = 0; break; #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) case TYPE_XFT: case TYPE_CAIRO: ui_window_clear(window, x, y, window->width - x, height); ret = fc_draw_str( window, font_man, color_man, NULL /* NULL disables ui_window_clear() in fc_draw_str() */, chars, num_chars, x, y, height, ascent, top_margin, hide_underline, underline_offset); break; #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) case TYPE_XCORE: ret = xcore_draw_str(window, font_man, color_man, &updated_width, chars, num_chars, x, y, height, ascent, top_margin, hide_underline, underline_offset); if (updated_width < window->width) { ui_window_clear(window, updated_width, y, window->width - updated_width, height); } break; #endif } if (font_man->size_attr >= DOUBLE_HEIGHT_TOP) { ui_window_unset_clip(window); } return ret; } u_int ui_calculate_vtchar_width(ui_font_t *font, vt_char_t *ch, int *draw_alone) { ef_charset_t cs; vt_char_t *comb; u_int comb_size; if ((cs = FONT_CS(font->id)) == ISO10646_UCS4_1_V) { comb = vt_get_combining_chars(ch, &comb_size); } else { comb = NULL; comb_size = 0; } return calculate_char_width(font, vt_char_code(ch), cs, comb, comb_size, draw_alone); } mlterm-3.8.4/uitoolkit/ui_window.h010064400017600000144000000340621321054731200157270ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_WINDOW_H__ #define __UI_WINDOW_H__ #include #include #include "ui_display.h" #include "ui_font.h" #include "ui_color.h" #include "ui_gc.h" #include "ui_bel_mode.h" #define ACTUAL_WIDTH(win) ((win)->width + (win)->hmargin * 2) #define ACTUAL_HEIGHT(win) ((win)->height + (win)->vmargin * 2) /* * Don't use win->parent in xlib to check if win is root window or not * because mlterm can work as libvte. * vte window * | * mlterm window ... ui_window_t::parent == NULL * ui_window_t::parent_window == vte window */ #define PARENT_WINDOWID_IS_TOP(win) ((win)->parent_window == (win)->disp->my_window) typedef enum ui_resize_flag { NOTIFY_TO_NONE = 0x0, NOTIFY_TO_CHILDREN = 0x01, NOTIFY_TO_PARENT = 0x02, NOTIFY_TO_MYSELF = 0x04, LIMIT_RESIZE = 0x08, } ui_resize_flag_t; typedef enum ui_maximize_flag { MAXIMIZE_RESTORE = 0x0, MAXIMIZE_VERTICAL = 0x1, MAXIMIZE_HORIZONTAL = 0x2, MAXIMIZE_FULL = 0x3, } ui_maximize_flag_t; typedef struct ui_xim_event_listener { void *self; int (*get_spot)(void *, int *, int *); XFontSet (*get_fontset)(void *); ui_color_t *(*get_fg_color)(void *); ui_color_t *(*get_bg_color)(void *); } ui_xim_event_listener_t; /* Defined in ui_xic.h */ typedef struct ui_xic *ui_xic_ptr_t; /* Defined in ui_xim.h */ typedef struct ui_xim *ui_xim_ptr_t; /* Defined in ui_dnd.h */ typedef struct ui_dnd_context *ui_dnd_context_ptr_t; /* Defined in ui_picture.h */ typedef struct ui_picture_modifier *ui_picture_modifier_ptr_t; typedef struct ui_icon_picture *ui_icon_picture_ptr_t; typedef struct _XftDraw *xft_draw_ptr_t; typedef struct _cairo *cairo_ptr_t; typedef struct ui_window { ui_display_t *disp; Window my_window; #ifdef USE_XLIB /* * Don't remove if USE_XFT and USE_CAIRO are not defined to keep the size of * ui_window_t * for ui_im_xxx_screen_t. */ xft_draw_ptr_t xft_draw; cairo_ptr_t cairo_draw; #endif ui_color_t fg_color; ui_color_t bg_color; ui_gc_t *gc; Window parent_window; /* This member of root window is DefaultRootWindow */ struct ui_window *parent; /* This member of root window is NULL */ struct ui_window **children; u_int num_children; u_int cursor_shape; long event_mask; int x; /* relative to a root window. */ int y; /* relative to a root window. */ u_int width; u_int height; u_int min_width; u_int min_height; u_int width_inc; u_int height_inc; /* actual window size is +margin on north/south/east/west */ u_int16_t hmargin; u_int16_t vmargin; /* * mlterm-con doesn't use these members, but they are necessary to keep * the size of ui_window_t as the same as mlterm-fb for input method plugins. */ #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF u_int clip_y; u_int clip_height; #endif /* used by ui_xim */ ui_xim_ptr_t xim; ui_xim_event_listener_t *xim_listener; ui_xic_ptr_t xic; /* Only root window manages xic in win32 */ #if defined(USE_WIN32GUI) WORD update_window_flag; int cmd_show; #elif defined(USE_QUARTZ) int update_window_flag; #endif /* button */ Time prev_clicked_time; int prev_clicked_button; XButtonEvent prev_button_press_event; ui_picture_modifier_ptr_t pic_mod; /* * XDND */ /* * Don't remove if DISABLE_XDND is defined to keep the size of ui_window_t for * ui_im_xxx_screen_t. */ ui_dnd_context_ptr_t dnd; /* * XClassHint */ char *app_name; /* * flags etc. */ #ifdef USE_XLIB int8_t wall_picture_is_set; /* Actually set picture (including transparency) or not. */ int8_t wait_copy_area_response; /* Used for XCopyArea() */ int8_t configure_root; #else Pixmap wall_picture; #endif #ifdef USE_WIN32GUI int8_t is_sel_owner; #endif int8_t is_transparent; int8_t is_scrollable; int8_t is_focused; int8_t inputtable; /* 1: focused, -1: unfocused */ int8_t is_mapped; #ifdef __ANDROID__ int8_t saved_mapped; #endif int8_t create_gc; /* button */ int8_t button_is_pressing; int8_t click_num; void (*window_realized)(struct ui_window *); void (*window_finalized)(struct ui_window *); void (*window_deleted)(struct ui_window *); void (*mapping_notify)(struct ui_window *); /* Win32: gc->gc is not None. */ void (*window_exposed)(struct ui_window *, int, int, u_int, u_int); /* Win32: gc->gc is not None. */ void (*update_window)(struct ui_window *, int); void (*window_focused)(struct ui_window *); void (*window_unfocused)(struct ui_window *); void (*key_pressed)(struct ui_window *, XKeyEvent *); void (*pointer_motion)(struct ui_window *, XMotionEvent *); void (*button_motion)(struct ui_window *, XMotionEvent *); void (*button_released)(struct ui_window *, XButtonEvent *); void (*button_pressed)(struct ui_window *, XButtonEvent *, int); void (*button_press_continued)(struct ui_window *, XButtonEvent *); void (*window_resized)(struct ui_window *); void (*child_window_resized)(struct ui_window *, struct ui_window *); void (*selection_cleared)(struct ui_window *); void (*xct_selection_requested)(struct ui_window *, XSelectionRequestEvent *, Atom); void (*utf_selection_requested)(struct ui_window *, XSelectionRequestEvent *, Atom); void (*xct_selection_notified)(struct ui_window *, u_char *, size_t); void (*utf_selection_notified)(struct ui_window *, u_char *, size_t); /* * Don't remove if DISABLE_XDND is defined to keep the size of ui_window_t * for ui_im_xxx_screen_t. */ void (*set_xdnd_config)(struct ui_window *, char *, char *, char *); void (*idling)(struct ui_window *); } ui_window_t; int ui_window_init(ui_window_t *win, u_int width, u_int height, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc, u_int hmargin, u_int vmargin, int create_gc, int inputtable); void ui_window_final(ui_window_t *win); void ui_window_set_type_engine(ui_window_t *win, ui_type_engine_t type_engine); void ui_window_add_event_mask(ui_window_t *win, long event_mask); void ui_window_remove_event_mask(ui_window_t *win, long event_mask); /* int ui_window_grab_pointer( ui_window_t * win) ; */ void ui_window_ungrab_pointer(ui_window_t *win); int ui_window_set_wall_picture(ui_window_t *win, Pixmap pic, int do_expose); int ui_window_unset_wall_picture(ui_window_t *win, int do_expose); #ifdef USE_XLIB #define ui_window_has_wall_picture(win) ((win)->wall_picture_is_set) #else #define ui_window_has_wall_picture(win) ((win)->wall_picture != None) #endif int ui_window_set_transparent(ui_window_t *win, ui_picture_modifier_ptr_t pic_mod); int ui_window_unset_transparent(ui_window_t *win); void ui_window_set_cursor(ui_window_t *win, u_int cursor_shape); int ui_window_set_fg_color(ui_window_t *win, ui_color_t *fg_color); int ui_window_set_bg_color(ui_window_t *win, ui_color_t *bg_color); int ui_window_add_child(ui_window_t *win, ui_window_t *child, int x, int y, int map); int ui_window_remove_child(ui_window_t *win, ui_window_t *child); ui_window_t *ui_get_root_window(ui_window_t *win); GC ui_window_get_fg_gc(ui_window_t *win); GC ui_window_get_bg_gc(ui_window_t *win); int ui_window_show(ui_window_t *win, int hint); void ui_window_map(ui_window_t *win); void ui_window_unmap(ui_window_t *win); int ui_window_resize(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag); int ui_window_resize_with_margin(ui_window_t *win, u_int width, u_int height, ui_resize_flag_t flag); void ui_window_set_maximize_flag(ui_window_t *win, ui_maximize_flag_t flag); void ui_window_set_normal_hints(ui_window_t *win, u_int min_width, u_int min_height, u_int width_inc, u_int height_inc); void ui_window_set_override_redirect(ui_window_t *win, int flag); int ui_window_set_borderless_flag(ui_window_t *win, int flag); int ui_window_move(ui_window_t *win, int x, int y); void ui_window_clear(ui_window_t *win, int x, int y, u_int width, u_int height); void ui_window_clear_all(ui_window_t *win); void ui_window_fill(ui_window_t *win, int x, int y, u_int width, u_int height); void ui_window_fill_with(ui_window_t *win, ui_color_t *color, int x, int y, u_int width, u_int height); void ui_window_blank(ui_window_t *win); #if 0 /* Not used */ void ui_window_blank_with(ui_window_t *win, ui_color_t *color); #endif /* if flag is 0, no update. */ void ui_window_update(ui_window_t *win, int flag); void ui_window_update_all(ui_window_t *win); void ui_window_idling(ui_window_t *win); int ui_window_receive_event(ui_window_t *win, XEvent *event); size_t ui_window_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event); #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF int ui_window_is_scrollable(ui_window_t *win); #else #define ui_window_is_scrollable(win) ((win)->is_scrollable) #endif int ui_window_scroll_upward(ui_window_t *win, u_int height); int ui_window_scroll_upward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height); int ui_window_scroll_downward(ui_window_t *win, u_int height); int ui_window_scroll_downward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int height); int ui_window_scroll_leftward(ui_window_t *win, u_int width); int ui_window_scroll_leftward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width); int ui_window_scroll_rightward_region(ui_window_t *win, int boundary_start, int boundary_end, u_int width); int ui_window_scroll_rightward(ui_window_t *win, u_int width); int ui_window_copy_area(ui_window_t *win, Pixmap src, PixmapMask mask, int src_x, int src_y, u_int width, u_int height, int dst_x, int dst_y); void ui_window_set_clip(ui_window_t *win, int x, int y, u_int width, u_int height); void ui_window_unset_clip(ui_window_t *win); void ui_window_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len); void ui_window_draw_decsp_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len); /* * ui_window_draw_*_string functions are used by ui_draw_str.[ch]. * Use ui_draw_str* functions usually. */ #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) void ui_window_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, u_int len); void ui_window_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, XChar2b *str, u_int len); void ui_window_draw_image_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len); void ui_window_draw_image_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, XChar2b *str, u_int len); #endif #ifdef USE_CONSOLE void ui_window_console_draw_decsp_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len, int line_style); void ui_window_console_draw_string(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, u_char *str, u_int len, int line_style); void ui_window_console_draw_string16(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, ui_color_t *bg_color, int x, int y, XChar2b *str, u_int len, int line_style); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) void ui_window_ft_draw_string8(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, u_char *str, size_t len); void ui_window_ft_draw_string32(ui_window_t *win, ui_font_t *font, ui_color_t *fg_color, int x, int y, /* FcChar32 */ u_int32_t *str, u_int len); #endif void ui_window_draw_rect_frame(ui_window_t *win, int x1, int y1, int x2, int y2); void ui_set_use_clipboard_selection(int use_it); int ui_is_using_clipboard_selection(void); int ui_window_set_selection_owner(ui_window_t *win, Time time); #define ui_window_is_selection_owner(win) ((win) == (win)->disp->selection_owner) int ui_window_string_selection_request(ui_window_t *win, Time time); int ui_window_xct_selection_request(ui_window_t *win, Time time); int ui_window_utf_selection_request(ui_window_t *win, Time time); void ui_window_send_picture_selection(ui_window_t *win, Pixmap pixmap, u_int width, u_int height); void ui_window_send_text_selection(ui_window_t *win, XSelectionRequestEvent *event, u_char *sel_data, size_t sel_len, Atom sel_type); void ui_set_window_name(ui_window_t *win, u_char *name); void ui_set_icon_name(ui_window_t *win, u_char *name); void ui_window_set_icon(ui_window_t *win, ui_icon_picture_ptr_t icon); void ui_window_remove_icon(ui_window_t *win); void ui_set_click_interval(int interval); int ui_get_click_interval(void); #define ui_window_get_modifier_mapping(win) ui_display_get_modifier_mapping((win)->disp) u_int ui_window_get_mod_ignore_mask(ui_window_t *win, KeySym *keysyms); u_int ui_window_get_mod_meta_mask(ui_window_t *win, char *mod_key); #ifdef SUPPORT_URGENT_BELL void ui_set_use_urgent_bell(int use); #else #define ui_set_use_urgent_bell(use) (0) #endif void ui_window_bell(ui_window_t *win, ui_bel_mode_t mode); void ui_window_translate_coordinates(ui_window_t *win, int x, int y, int *global_x, int *global_y); void ui_window_set_input_focus(ui_window_t *win); #ifdef DEBUG void ui_window_dump_children(ui_window_t *win); #endif #endif mlterm-3.8.4/uitoolkit/ui_font_manager.c010064400017600000144000000311111321054731200170430ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_font_manager.h" #include /* strcat */ #include /* sprintf */ #include /* malloc/alloca */ #include /* DIGIT_STR_LEN */ #if 0 #define __DEBUG #endif typedef struct encoding_to_cs_table { vt_char_encoding_t encoding; ef_charset_t cs; } encoding_to_cs_table_t; /* --- static variables --- */ /* * !!! Notice !!! * The order should be the same as vt_char_encoding_t. * US_ASCII font for encodings after VT_UTF8 is ISO8859_1_R. (see * ui_get_usascii_font_cs()) */ static encoding_to_cs_table_t usascii_font_cs_table[] = { {VT_ISO8859_1, ISO8859_1_R}, {VT_ISO8859_2, ISO8859_2_R}, {VT_ISO8859_3, ISO8859_3_R}, {VT_ISO8859_4, ISO8859_4_R}, {VT_ISO8859_5, ISO8859_5_R}, {VT_ISO8859_6, ISO8859_6_R}, {VT_ISO8859_7, ISO8859_7_R}, {VT_ISO8859_8, ISO8859_8_R}, {VT_ISO8859_9, ISO8859_9_R}, {VT_ISO8859_10, ISO8859_10_R}, {VT_TIS620, TIS620_2533}, {VT_ISO8859_13, ISO8859_13_R}, {VT_ISO8859_14, ISO8859_14_R}, {VT_ISO8859_15, ISO8859_15_R}, {VT_ISO8859_16, ISO8859_16_R}, {VT_TCVN5712, TCVN5712_3_1993}, {VT_ISCII_ASSAMESE, ISO8859_1_R}, {VT_ISCII_BENGALI, ISO8859_1_R}, {VT_ISCII_GUJARATI, ISO8859_1_R}, {VT_ISCII_HINDI, ISO8859_1_R}, {VT_ISCII_KANNADA, ISO8859_1_R}, {VT_ISCII_MALAYALAM, ISO8859_1_R}, {VT_ISCII_ORIYA, ISO8859_1_R}, {VT_ISCII_PUNJABI, ISO8859_1_R}, {VT_ISCII_TELUGU, ISO8859_1_R}, {VT_VISCII, VISCII}, {VT_KOI8_R, KOI8_R}, {VT_KOI8_U, KOI8_U}, {VT_KOI8_T, KOI8_T}, {VT_GEORGIAN_PS, GEORGIAN_PS}, {VT_CP1250, CP1250}, {VT_CP1251, CP1251}, {VT_CP1252, CP1252}, {VT_CP1253, CP1253}, {VT_CP1254, CP1254}, {VT_CP1255, CP1255}, {VT_CP1256, CP1256}, {VT_CP1257, CP1257}, {VT_CP1258, CP1258}, {VT_CP874, CP874}, {VT_UTF8, ISO10646_UCS4_1}, }; #ifdef __ANDROID__ static u_int min_font_size = 10; static u_int max_font_size = 40; #else static u_int min_font_size = 6; static u_int max_font_size = 30; #endif /* --- static functions --- */ static int change_font_cache(ui_font_manager_t *font_man, ui_font_cache_t *font_cache) { ui_release_font_cache(font_man->font_cache); font_man->font_cache = font_cache; return 1; } static void adjust_font_size(u_int *font_size) { if (*font_size > max_font_size) { bl_msg_printf("font size %d is too large. %d is used.\n", *font_size, max_font_size); *font_size = max_font_size; } else if (*font_size < min_font_size) { bl_msg_printf("font size %d is too small. %d is used.\n", *font_size, min_font_size); *font_size = min_font_size; } } /* --- global functions --- */ int ui_set_font_size_range(u_int min_fsize, u_int max_fsize) { if (min_fsize == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " min_font_size must not be 0.\n"); #endif return 0; } if (max_fsize < min_fsize) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " max_font_size %d should be larger than min_font_size %d\n", max_fsize, min_fsize); #endif return 0; } min_font_size = min_fsize; max_font_size = max_fsize; return 1; } ui_font_manager_t *ui_font_manager_new(Display *display, ui_type_engine_t type_engine, ui_font_present_t font_present, u_int font_size, ef_charset_t usascii_font_cs, u_int step_in_changing_font_size, u_int letter_space, int use_bold_font, int use_italic_font) { ui_font_manager_t *font_man; if (!(font_man = malloc(sizeof(ui_font_manager_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } adjust_font_size(&font_size); if ((!(font_man->font_config = ui_acquire_font_config(type_engine, font_present)) || !(font_man->font_cache = ui_acquire_font_cache(display, font_size, usascii_font_cs, font_man->font_config, letter_space)))) { ui_type_engine_t engine; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Could not handle %s fonts.\n", ui_get_type_engine_name(type_engine)); #endif for (engine = TYPE_XCORE;; engine++) { if (engine == type_engine) { #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) if (font_man->font_config) { ui_release_font_config(font_man->font_config); font_man->font_config = NULL; } if (ui_use_aafont()) { /* XXX unicode_policy is not changed here unlike ui_main_config.c. */ bl_msg_printf("Try to load fonts with aafont instead of font-fb. " "Don't set char encodings except UTF-8.\n"); } else #endif { continue; } } if (font_man->font_config) { ui_release_font_config(font_man->font_config); } if (engine >= TYPE_ENGINE_MAX) { free(font_man); return NULL; } if ((font_man->font_config = ui_acquire_font_config(engine, font_present)) && (font_man->font_cache = ui_acquire_font_cache(display, font_size, usascii_font_cs, font_man->font_config, letter_space))) { break; } } bl_msg_printf("Fall back to %s.\n", ui_get_type_engine_name(engine)); } if (max_font_size - min_font_size >= step_in_changing_font_size) { font_man->step_in_changing_font_size = step_in_changing_font_size; } else { font_man->step_in_changing_font_size = max_font_size - min_font_size; } font_man->use_bold_font = use_bold_font; font_man->use_italic_font = use_italic_font; font_man->size_attr = 0; #ifdef USE_OT_LAYOUT font_man->use_ot_layout = 0; #endif return font_man; } void ui_font_manager_delete(ui_font_manager_t *font_man) { ui_release_font_cache(font_man->font_cache); ui_release_font_config(font_man->font_config); font_man->font_config = NULL; free(font_man); } void ui_font_manager_set_attr(ui_font_manager_t *font_man, int size_attr, int use_ot_layout) { font_man->size_attr = size_attr; #ifdef USE_OT_LAYOUT font_man->use_ot_layout = use_ot_layout; #endif } ui_font_t *ui_get_font(ui_font_manager_t *font_man, vt_font_t font) { ui_font_t *xfont; if (!font_man->use_bold_font) { font &= ~FONT_BOLD; } if (!font_man->use_italic_font) { font &= ~FONT_ITALIC; } if (!(xfont = ui_font_cache_get_xfont(font_man->font_cache, SIZE_ATTR_FONT(font, font_man->size_attr)))) { xfont = font_man->font_cache->usascii_font; } #ifdef USE_OT_LAYOUT if (FONT_CS(font) == ISO10646_UCS4_1_V) { xfont->use_ot_layout = 1; } else { xfont->use_ot_layout = font_man->use_ot_layout; } #endif return xfont; } int ui_font_manager_usascii_font_cs_changed(ui_font_manager_t *font_man, ef_charset_t usascii_font_cs) { ui_font_cache_t *font_cache; if (usascii_font_cs == font_man->font_cache->usascii_font_cs) { return 0; } if ((font_cache = ui_acquire_font_cache( font_man->font_cache->display, font_man->font_cache->font_size, usascii_font_cs, font_man->font_config, font_man->font_cache->letter_space)) == NULL) { return 0; } change_font_cache(font_man, font_cache); return 1; } /* * Return 1 if font present is successfully changed. * Return 0 if not changed. */ int ui_change_font_present(ui_font_manager_t *font_man, ui_type_engine_t type_engine, ui_font_present_t font_present) { ui_font_config_t *font_config; ui_font_cache_t *font_cache; #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) /* * FONT_AA is effective in xft or cairo, so following hack is necessary in * xlib. */ if ((type_engine == TYPE_XCORE) && (font_man->font_config->font_present & FONT_AA)) { font_present &= ~FONT_AA; } else if ((font_present & FONT_AA) && font_man->font_config->type_engine == TYPE_XCORE && type_engine == TYPE_XCORE) { #if !defined(USE_TYPE_XFT) && defined(USE_TYPE_CAIRO) type_engine = TYPE_CAIRO; #else type_engine = TYPE_XFT; #endif } #endif if (font_present == font_man->font_config->font_present && type_engine == font_man->font_config->type_engine) { /* Same as current settings. */ return 0; } if ((font_config = ui_acquire_font_config(type_engine, font_present)) == NULL) { return 0; } if ((font_cache = ui_acquire_font_cache( font_man->font_cache->display, font_man->font_cache->font_size, font_man->font_cache->usascii_font_cs, font_config, font_man->font_cache->letter_space)) == NULL) { ui_release_font_config(font_config); return 0; } change_font_cache(font_man, font_cache); ui_release_font_config(font_man->font_config); font_man->font_config = font_config; return 1; } ui_type_engine_t ui_get_type_engine(ui_font_manager_t *font_man) { return font_man->font_config->type_engine; } ui_font_present_t ui_get_font_present(ui_font_manager_t *font_man) { return font_man->font_config->font_present; } int ui_change_font_size(ui_font_manager_t *font_man, u_int font_size) { ui_font_cache_t *font_cache; adjust_font_size(&font_size); if (font_size == font_man->font_cache->font_size) { /* not changed (pretending to succeed) */ return 1; } if (font_size < min_font_size || max_font_size < font_size) { return 0; } if ((font_cache = ui_acquire_font_cache( font_man->font_cache->display, font_size, font_man->font_cache->usascii_font_cs, font_man->font_config, font_man->font_cache->letter_space)) == NULL) { return 0; } change_font_cache(font_man, font_cache); return 1; } int ui_larger_font(ui_font_manager_t *font_man) { u_int font_size; ui_font_cache_t *font_cache; if (font_man->font_cache->font_size + font_man->step_in_changing_font_size > max_font_size) { font_size = min_font_size; } else { font_size = font_man->font_cache->font_size + font_man->step_in_changing_font_size; } if ((font_cache = ui_acquire_font_cache( font_man->font_cache->display, font_size, font_man->font_cache->usascii_font_cs, font_man->font_config, font_man->font_cache->letter_space)) == NULL) { return 0; } change_font_cache(font_man, font_cache); return 1; } int ui_smaller_font(ui_font_manager_t *font_man) { u_int font_size; ui_font_cache_t *font_cache; if (font_man->font_cache->font_size < min_font_size + font_man->step_in_changing_font_size) { font_size = max_font_size; } else { font_size = font_man->font_cache->font_size - font_man->step_in_changing_font_size; } if ((font_cache = ui_acquire_font_cache( font_man->font_cache->display, font_size, font_man->font_cache->usascii_font_cs, font_man->font_config, font_man->font_cache->letter_space)) == NULL) { return 0; } change_font_cache(font_man, font_cache); return 1; } u_int ui_get_font_size(ui_font_manager_t *font_man) { return font_man->font_cache->font_size; } int ui_set_letter_space(ui_font_manager_t *font_man, u_int letter_space) { ui_font_cache_t *font_cache; if (font_man->font_cache->letter_space == letter_space) { return 0; } if ((font_cache = ui_acquire_font_cache(font_man->font_cache->display, font_man->font_cache->font_size, font_man->font_cache->usascii_font_cs, font_man->font_config, letter_space)) == NULL) { return 0; } change_font_cache(font_man, font_cache); return 1; } int ui_set_use_bold_font(ui_font_manager_t *font_man, int use_bold_font) { if (font_man->use_bold_font == use_bold_font) { return 0; } font_man->use_bold_font = use_bold_font; return 1; } int ui_set_use_italic_font(ui_font_manager_t *font_man, int use_italic_font) { if (font_man->use_italic_font == use_italic_font) { return 0; } font_man->use_italic_font = use_italic_font; return 1; } ef_charset_t ui_get_usascii_font_cs(vt_char_encoding_t encoding) { if (encoding < 0 || sizeof(usascii_font_cs_table) / sizeof(usascii_font_cs_table[0]) <= encoding) { return ISO8859_1_R; } #ifdef DEBUG else if (encoding != usascii_font_cs_table[encoding].encoding) { bl_warn_printf(BL_DEBUG_TAG " %x is illegal encoding.\n", encoding); return ISO8859_1_R; } #endif else { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " us ascii font is %x cs\n", usascii_font_cs_table[encoding].cs); #endif return usascii_font_cs_table[encoding].cs; } } mlterm-3.8.4/uitoolkit/ui_simple_sb_view.h010064400017600000144000000004101321054731200174150ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SIMPLE_SB_VIEW_H__ #define __UI_SIMPLE_SB_VIEW_H__ #include "ui_sb_view.h" ui_sb_view_t *ui_simple_sb_view_new(void); ui_sb_view_t *ui_simple_transparent_sb_view_new(void); #endif mlterm-3.8.4/uitoolkit/ui_type_engine.h010064400017600000144000000006101321054731200167160ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_TYPE_ENGINE_H__ #define __UI_TYPE_ENGINE_H__ typedef enum ui_type_engine { TYPE_XCORE, /* Contains WIN32 native fonts. */ TYPE_XFT, TYPE_CAIRO, TYPE_ENGINE_MAX } ui_type_engine_t; ui_type_engine_t ui_get_type_engine_by_name(char *name); char *ui_get_type_engine_name(ui_type_engine_t mode); #endif mlterm-3.8.4/uitoolkit/ui_dnd.h010064400017600000144000000003501321054731200151560ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * Drag and Drop stuff. */ #ifndef __UI_DND_H__ #define __UI_DND_H__ #include "ui_window.h" int ui_dnd_filter_event(XEvent *event, ui_window_t *win); #endif mlterm-3.8.4/uitoolkit/ui_mod_meta_mode.h010064400017600000144000000006211321054731200172030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_MOD_META_MODE_H__ #define __UI_MOD_META_MODE_H__ typedef enum ui_mod_meta_mode { MOD_META_NONE = 0x0, MOD_META_OUTPUT_ESC, MOD_META_SET_MSB, MOD_META_MODE_MAX } ui_mod_meta_mode_t; ui_mod_meta_mode_t ui_get_mod_meta_mode_by_name(char *name); char *ui_get_mod_meta_mode_name(ui_mod_meta_mode_t mode); #endif mlterm-3.8.4/uitoolkit/ui_main_config.h010064400017600000144000000060371321054731200166720ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_MAIN_CONFIG_H__ #define __UI_MAIN_CONFIG_H__ #include #include #include #include "ui_layout.h" typedef struct ui_main_config { /* * Public (read only) */ int x; int y; int geom_hint; u_int cols; u_int rows; u_int font_size; u_int tab_size; u_int screen_width_ratio; u_int num_log_lines; ui_mod_meta_mode_t mod_meta_mode; ui_bel_mode_t bel_mode; ui_sb_mode_t sb_mode; vt_char_encoding_t encoding; int is_auto_encoding; ui_type_engine_t type_engine; ui_font_present_t font_present; vt_bidi_mode_t bidi_mode; vt_vertical_mode_t vertical_mode; vt_bs_mode_t bs_mode; vt_unicode_policy_t unicode_policy; vt_alt_color_mode_t alt_color_mode; u_int parent_window; char *disp_name; char *app_name; char *title; char *icon_name; char *term_type; char *scrollbar_view_name; char *pic_file_path; /* BACKWARD COMPAT (3.1.7 or before) */ #if 1 char *shortcut_strs[4]; #endif char *fg_color; char *bg_color; char *cursor_fg_color; char *cursor_bg_color; char *bd_color; char *it_color; char *ul_color; char *bl_color; char *co_color; char *sb_fg_color; char *sb_bg_color; char *mod_meta_key; char *icon_path; char *input_method; char *init_str; char *bidi_separators; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) char **server_list; char *default_server; #endif #ifdef USE_LIBSSH2 char *public_key; char *private_key; #endif char *work_dir; char *cmd_path; char **cmd_argv; u_int16_t brightness; u_int16_t contrast; u_int16_t gamma; u_int8_t col_size_of_width_a; u_int8_t step_in_changing_font_size; u_int8_t alpha; u_int8_t fade_ratio; int8_t line_space; u_int8_t letter_space; int8_t use_mdi; int8_t use_login_shell; int8_t use_ctl; int8_t iso88591_font_for_usascii; int8_t receive_string_via_ucs; int8_t use_transbg; int8_t use_char_combining; int8_t use_multi_col_char; int8_t use_vertical_cursor; int8_t use_extended_scroll_shortcut; int8_t borderless; int8_t use_dynamic_comb; int8_t logging_vt_seq; int8_t allow_osc52; int8_t blink_cursor; u_int8_t hmargin; u_int8_t vmargin; u_int8_t layout_hmargin; u_int8_t layout_vmargin; int8_t hide_underline; int8_t underline_offset; int8_t baseline_offset; int8_t use_bold_font; int8_t use_italic_font; int8_t use_local_echo; int8_t use_x11_forwarding; int8_t use_auto_detect; int8_t unlimit_log_size; int8_t use_ot_layout; int8_t ignore_broadcasted_chars; int8_t use_ansi_colors; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) int8_t show_dialog; #endif } ui_main_config_t; void ui_prepare_for_main_config(bl_conf_t *conf); void ui_main_config_init(ui_main_config_t *main_config, bl_conf_t *conf, int argc, char **argv); void ui_main_config_final(ui_main_config_t *main_config); #if defined(USE_WIN32API) || defined(USE_LIBSSH2) int ui_main_config_add_to_server_list(ui_main_config_t *main_config, char *server); #endif #endif mlterm-3.8.4/uitoolkit/ui_sb_view_factory.h010064400017600000144000000005121321054731200175760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SB_VIEW_FACTORY_H__ #define __UI_SB_VIEW_FACTORY_H__ #include "ui_sb_view.h" ui_sb_view_t *ui_sb_view_new(const char *name); ui_sb_view_t *ui_transparent_sb_view_new(const char *name); void ui_unload_scrollbar_view_lib(const char *name); #endif mlterm-3.8.4/uitoolkit/ui_color_manager.c010064400017600000144000000252651321054731200172300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_color_manager.h" #include /* sprintf */ #include /* memset */ #include #include #include /* strdup */ enum { _FG_COLOR = 0x0, _BG_COLOR = 0x1, _BOLD_COLOR = 0x2, _ITALIC_COLOR = 0x3, _UNDERLINE_COLOR = 0x4, _BLINKING_COLOR = 0x5, _CROSSED_OUT_COLOR = 0x6, _CUR_FG_COLOR = 0x7, _CUR_BG_COLOR = 0x8, MAX_SYS_COLORS = 0x9, }; /* --- static functions --- */ static int sys_color_set(ui_color_manager_t *color_man, char *name, int color) { ui_color_t xcolor; if (bl_compare_str(color_man->sys_colors[color].name, name) == 0) { /* Not changed (specified color name is not changed) */ return 0; } if (name) { if (!ui_load_xcolor(color_man->color_cache, &xcolor, name)) { if (!color_man->sys_colors[color].name && color <= _BG_COLOR) { /* _FG_COLOR and _BG_COLOR are necessarily loaded. */ name = "black"; xcolor = color_man->color_cache->black; } else { /* Not changed (specified color name is illegal) */ return 0; } } } if (color_man->sys_colors[color].name) { ui_unload_xcolor(color_man->color_cache->disp, &color_man->sys_colors[color].xcolor); free(color_man->sys_colors[color].name); } if (name) { if (color == _BG_COLOR && color_man->alpha < 255) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; ui_get_xcolor_rgba(&red, &green, &blue, &alpha, &xcolor); /* * If alpha of bg color is already less than 255, * default alpha value is not applied. */ if (alpha == 255) { ui_unload_xcolor(color_man->color_cache->disp, &xcolor); ui_load_rgb_xcolor(color_man->color_cache->disp, &xcolor, red, green, blue, color_man->alpha); } } color_man->sys_colors[color].name = strdup(name); color_man->sys_colors[color].xcolor = xcolor; } else { color_man->sys_colors[color].name = NULL; } return 1; } /* --- global functions --- */ ui_color_manager_t *ui_color_manager_new( ui_display_t *disp, char *fg_color, /* can be NULL(If NULL, use "black".) */ char *bg_color, /* can be NULL(If NULL, use "white".) */ char *cursor_fg_color, /* can be NULL(If NULL, use reversed one of the char color.) */ char *cursor_bg_color, /* can be NULL(If NULL, use reversed one of the char color.) */ char *bd_color, /* can be NULL */ char *it_color, /* can be NULL */ char *ul_color, /* can be NULL */ char *bl_color, /* can be NULL */ char *co_color /* can be NULL */ ) { ui_color_manager_t *color_man; if ((color_man = calloc(1, sizeof(ui_color_manager_t))) == NULL) { return NULL; } if (!(color_man->color_cache = ui_acquire_color_cache(disp, 100))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_aquire_color_cache failed.\n"); #endif free(color_man); return NULL; } color_man->alpha = 255; sys_color_set(color_man, fg_color ? fg_color : "black", _FG_COLOR); sys_color_set(color_man, bg_color ? bg_color : "white", _BG_COLOR); sys_color_set(color_man, cursor_fg_color, _CUR_FG_COLOR); sys_color_set(color_man, cursor_bg_color, _CUR_BG_COLOR); sys_color_set(color_man, bd_color, _BOLD_COLOR); sys_color_set(color_man, it_color, _ITALIC_COLOR); sys_color_set(color_man, ul_color, _UNDERLINE_COLOR); sys_color_set(color_man, bl_color, _BLINKING_COLOR); sys_color_set(color_man, co_color, _CROSSED_OUT_COLOR); return color_man; } void ui_color_manager_delete(ui_color_manager_t *color_man) { int count; for (count = 0; count < MAX_SYS_COLORS; count++) { if (color_man->sys_colors[count].name) { ui_unload_xcolor(color_man->color_cache->disp, &color_man->sys_colors[count].xcolor); free(color_man->sys_colors[count].name); } } ui_release_color_cache(color_man->color_cache); if (color_man->alt_color_cache) { ui_release_color_cache(color_man->alt_color_cache); } free(color_man); } int ui_color_manager_set_fg_color(ui_color_manager_t *color_man, char *name /* never NULL */) { return sys_color_set(color_man, name, _FG_COLOR); } int ui_color_manager_set_bg_color(ui_color_manager_t *color_man, char *name /* never NULL */) { return sys_color_set(color_man, name, _BG_COLOR); } int ui_color_manager_set_cursor_fg_color(ui_color_manager_t *color_man, char *name /* can be NULL */) { return sys_color_set(color_man, name, _CUR_FG_COLOR); } int ui_color_manager_set_cursor_bg_color(ui_color_manager_t *color_man, char *name /* can be NULL */) { return sys_color_set(color_man, name, _CUR_BG_COLOR); } int ui_color_manager_set_alt_color(ui_color_manager_t *color_man, vt_color_t color, /* VT_BOLD_COLOR - VT_CROSSED_OUT_COLOR */ char *name /* never NULL */) { return sys_color_set(color_man, name, color - VT_FG_COLOR); } char *ui_color_manager_get_fg_color(ui_color_manager_t *color_man) { return color_man->sys_colors[_FG_COLOR].name; } char *ui_color_manager_get_bg_color(ui_color_manager_t *color_man) { return color_man->sys_colors[_BG_COLOR].name; } char *ui_color_manager_get_cursor_fg_color(ui_color_manager_t *color_man) { return color_man->sys_colors[_CUR_FG_COLOR].name; } char *ui_color_manager_get_cursor_bg_color(ui_color_manager_t *color_man) { return color_man->sys_colors[_CUR_BG_COLOR].name; } char *ui_color_manager_get_alt_color(ui_color_manager_t *color_man, vt_color_t color /* VT_BOLD_COLOR - VT_CROSSED_OUT_COLOR */) { return color_man->sys_colors[color - VT_FG_COLOR].name; } ui_color_t *ui_get_xcolor(ui_color_manager_t *color_man, vt_color_t color) { if (color_man->is_reversed) { if (color == VT_FG_COLOR) { color = VT_BG_COLOR; } else if (color == VT_BG_COLOR) { color = VT_FG_COLOR; } } if (IS_FG_BG_COLOR(color)) { return &color_man->sys_colors[color - VT_FG_COLOR].xcolor; } else if (IS_ALT_COLOR(color)) { if (color_man->sys_colors[color - VT_FG_COLOR].name) { return &color_man->sys_colors[color - VT_FG_COLOR].xcolor; } else { return &color_man->sys_colors[_FG_COLOR].xcolor; } } else { return ui_get_cached_xcolor(color_man->color_cache, color); } } /* * If fading status is changed, 1 is returned. */ int ui_color_manager_fade(ui_color_manager_t *color_man, u_int fade_ratio /* valid value is 0 - 99 */) { ui_color_cache_t *color_cache; if (fade_ratio >= 100) { return 0; } if (fade_ratio == color_man->color_cache->fade_ratio) { return 0; } if (color_man->alt_color_cache && fade_ratio == color_man->alt_color_cache->fade_ratio) { color_cache = color_man->alt_color_cache; color_man->alt_color_cache = color_man->color_cache; } else { if ((color_cache = ui_acquire_color_cache(color_man->color_cache->disp, fade_ratio)) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_aquire_color_cache failed.\n"); #endif return 0; } if (color_man->color_cache->fade_ratio == 100) { if (color_man->alt_color_cache) { ui_release_color_cache(color_man->alt_color_cache); } color_man->alt_color_cache = color_man->color_cache; } } color_man->color_cache = color_cache; ui_color_manager_reload(color_man); return 1; } /* * If fading status is changed, 1 is returned. */ int ui_color_manager_unfade(ui_color_manager_t *color_man) { ui_color_cache_t *color_cache; if (color_man->alt_color_cache == NULL || color_man->color_cache->fade_ratio == 100) { return 0; } color_cache = color_man->alt_color_cache; color_man->alt_color_cache = color_man->color_cache; color_man->color_cache = color_cache; ui_color_manager_reload(color_man); return 1; } int ui_color_manager_reverse_video(ui_color_manager_t *color_man) { if (color_man->is_reversed) { return 0; } color_man->is_reversed = 1; return 1; } int ui_color_manager_restore_video(ui_color_manager_t *color_man) { if (!color_man->is_reversed) { return 0; } color_man->is_reversed = 0; return 1; } /* * Swap the color of VT_BG_COLOR <=> that of cursor fg color. * Deal VT_BG_COLOR as cursor fg color. */ int ui_color_manager_adjust_cursor_fg_color(ui_color_manager_t *color_man) { struct sys_color tmp_color; if (!color_man->sys_colors[_CUR_FG_COLOR].name) { return 0; } tmp_color = color_man->sys_colors[_BG_COLOR]; color_man->sys_colors[_BG_COLOR] = color_man->sys_colors[_CUR_FG_COLOR]; color_man->sys_colors[_CUR_FG_COLOR] = tmp_color; return 1; } /* * Swap the color of VT_FG_COLOR <=> that of cursor bg color. * Deal VT_FG_COLOR as cursor bg color. */ int ui_color_manager_adjust_cursor_bg_color(ui_color_manager_t *color_man) { struct sys_color tmp_color; if (!color_man->sys_colors[_CUR_BG_COLOR].name) { return 0; } tmp_color = color_man->sys_colors[_FG_COLOR]; color_man->sys_colors[_FG_COLOR] = color_man->sys_colors[_CUR_BG_COLOR]; color_man->sys_colors[_CUR_BG_COLOR] = tmp_color; return 1; } /* * Reload system colors. */ void ui_color_manager_reload(ui_color_manager_t *color_man) { int color; for (color = 0; color < MAX_SYS_COLORS; color++) { if (color_man->sys_colors[color].name) { char *name; name = color_man->sys_colors[color].name; color_man->sys_colors[color].name = NULL; /* reload */ sys_color_set(color_man, name, color); free(name); } } } int ui_change_true_transbg_alpha(ui_color_manager_t *color_man, u_int8_t alpha) { #ifndef SUPPORT_TRUE_TRANSPARENT_BG return 0; #else #ifdef USE_WIN32GUI if (alpha == 0) { /* If alpha == 0, window disappears completely. */ return 0; } #else if (color_man->color_cache->disp->depth != 32) { return 0; } else #endif if (alpha == color_man->alpha) { return -1; } else { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t cur_alpha; ui_get_xcolor_rgba(&red, &green, &blue, &cur_alpha, &color_man->sys_colors[_BG_COLOR].xcolor); if (cur_alpha == color_man->alpha) { ui_unload_xcolor(color_man->color_cache->disp, &color_man->sys_colors[_BG_COLOR].xcolor); ui_load_rgb_xcolor(color_man->color_cache->disp, &color_man->sys_colors[_BG_COLOR].xcolor, red, green, blue, alpha); } color_man->alpha = alpha; return 1; } #endif } mlterm-3.8.4/uitoolkit/ui_scrollbar.h010064400017600000144000000051601321054731200164000ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SCROLLBAR_H__ #define __UI_SCROLLBAR_H__ #include /* u_int */ #include #include "ui_window.h" #include "ui_sb_view.h" #include "ui_sb_mode.h" #include "ui_color_manager.h" #include "ui_picture.h" typedef struct ui_scrollbar_event_listener { void *self; int (*screen_scroll_to)(void *, int); int (*screen_scroll_upward)(void *, u_int); int (*screen_scroll_downward)(void *, u_int); int (*screen_is_static)(void *); } ui_scrollbar_event_listener_t; typedef struct ui_scrollbar { ui_window_t window; char *view_name; ui_sb_view_t *view; char *fg_color; char *bg_color; ui_color_t fg_xcolor; ui_color_t bg_xcolor; ui_scrollbar_event_listener_t *sb_listener; u_int bar_height; /* Scrollbar height */ u_int top_margin; /* Button area */ u_int bottom_margin; /* Button area */ u_int line_height; u_int num_scr_lines; u_int num_log_lines; u_int num_filled_log_lines; int bar_top_y; /* Scrollbar position without button area */ int y_on_bar; /* Used in button_motion event handler */ int current_row; int redraw_y; u_int redraw_height; int up_button_y; u_int up_button_height; int down_button_y; u_int down_button_height; int8_t is_pressing_up_button; int8_t is_pressing_down_button; int8_t is_motion; } ui_scrollbar_t; int ui_scrollbar_init(ui_scrollbar_t *sb, ui_scrollbar_event_listener_t *sb_listener, char *view_name, char *fg_color, char *bg_color, u_int height, u_int line_height, u_int num_log_lines, u_int num_filled_log_lines, int use_transbg, ui_picture_modifier_t *pic_mod); void ui_scrollbar_final(ui_scrollbar_t *sb); void ui_scrollbar_set_num_log_lines(ui_scrollbar_t *sb, u_int num_log_lines); void ui_scrollbar_set_num_filled_log_lines(ui_scrollbar_t *sb, u_int num_filled_log_lines); int ui_scrollbar_line_is_added(ui_scrollbar_t *sb); void ui_scrollbar_reset(ui_scrollbar_t *sb); int ui_scrollbar_move_upward(ui_scrollbar_t *sb, u_int size); int ui_scrollbar_move_downward(ui_scrollbar_t *sb, u_int size); int ui_scrollbar_move(ui_scrollbar_t *sb, int row); int ui_scrollbar_set_line_height(ui_scrollbar_t *sb, u_int line_height); int ui_scrollbar_set_fg_color(ui_scrollbar_t *sb, char *fg_color); int ui_scrollbar_set_bg_color(ui_scrollbar_t *sb, char *bg_color); int ui_scrollbar_change_view(ui_scrollbar_t *sb, char *name); int ui_scrollbar_set_transparent(ui_scrollbar_t *sb, ui_picture_modifier_t *pic_mod, int force); int ui_scrollbar_unset_transparent(ui_scrollbar_t *sb); #endif mlterm-3.8.4/uitoolkit/ui_main_config.c010064400017600000144000001355651321054731200166760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_main_config.h" #include #include /* malloc/realloc */ #include /* bl_str_to_uint */ #include /* bl_get_lang */ #include #include #include "ui_selection_encoding.h" #if defined(__ANDROID__) || defined(USE_QUARTZ) || defined(USE_WIN32API) /* Shrink unused memory */ #define bl_conf_add_opt(conf, a, b, c, d, e) bl_conf_add_opt(conf, a, b, c, d, "") #endif /* --- static variables --- */ #ifdef USE_WAYLAND static char *default_display = "wayland-0"; #else static char *default_display = ""; #endif /* --- static functions --- */ static vt_char_encoding_t get_encoding(const char *value, int *is_auto_encoding /* overwritten only if auto encoding */ ) { vt_char_encoding_t encoding; if (!value) { /* goto "auto" */ } else if ((encoding = vt_get_char_encoding(value)) == VT_UNKNOWN_ENCODING) { bl_msg_printf("Use auto detected encoding instead of %s(unsupported).\n", value); } else { return encoding; } encoding = vt_get_char_encoding("auto"); if (is_auto_encoding) { *is_auto_encoding = 1; } return encoding; } /* --- global functions --- */ void ui_prepare_for_main_config(bl_conf_t *conf) { char *rcpath; if ((rcpath = bl_get_sys_rc_path("mlterm/main"))) { bl_conf_read(conf, rcpath); free(rcpath); } if ((rcpath = bl_get_user_rc_path("mlterm/main"))) { bl_conf_read(conf, rcpath); free(rcpath); } bl_conf_add_opt(conf, '#', "initstr", 0, "init_str", "initial string sent to pty"); bl_conf_add_opt(conf, '$', "mc", 0, "click_interval", "click interval(milisecond) [250]"); bl_conf_add_opt(conf, '%', "logseq", 1, "logging_vt_seq", "enable logging vt100 sequence [false]"); #ifdef USE_XLIB bl_conf_add_opt(conf, '&', "borderless", 1, "borderless", "override redirect [false]"); bl_conf_add_opt(conf, '*', "type", 0, "type_engine", "type engine " #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) "[cairo]" #elif !defined(USE_TYPE_XCORE) && defined(USE_TYPE_XFT) "[xft]" #else "[xcore]" #endif ); #endif bl_conf_add_opt(conf, '1', "wscr", 0, "screen_width_ratio", "screen width in percent against font width [100]"); #if 1 /* BACKWARD COMPAT (3.8.2 or before) */ bl_conf_add_opt(conf, '2', "hscr", 0, "screen_height_ratio", "screen height in percent against font height [100]"); #endif #ifndef NO_IMAGE bl_conf_add_opt(conf, '3', "contrast", 0, "contrast", "contrast of background image in percent [100]"); bl_conf_add_opt(conf, '4', "gamma", 0, "gamma", "gamma of background image in percent [100]"); #endif bl_conf_add_opt(conf, '5', "big5bug", 1, "big5_buggy", "manage buggy Big5 CTEXT in XFree86 4.1 or earlier [false]"); bl_conf_add_opt(conf, '6', "stbs", 1, "static_backscroll_mode", "screen is static under backscroll mode [false]"); bl_conf_add_opt(conf, '7', "bel", 0, "bel_mode", "bel (0x07) mode (none/sound/visual) [sound]"); bl_conf_add_opt(conf, '8', "88591", 1, "iso88591_font_for_usascii", "use ISO-8859-1 font for ASCII part of any encoding [false]"); bl_conf_add_opt(conf, '9', "crfg", 0, "cursor_fg_color", "cursor foreground color"); bl_conf_add_opt(conf, '0', "crbg", 0, "cursor_bg_color", "cursor background color"); #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) || \ defined(USE_FREETYPE) bl_conf_add_opt(conf, 'A', "aa", 1, "use_anti_alias", "forcibly use anti alias font by using Xft or cairo"); #endif bl_conf_add_opt(conf, 'B', "sbbg", 0, "sb_bg_color", "scrollbar background color"); #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) || defined(USE_IND) || \ defined(USE_OT_LAYOUT) bl_conf_add_opt(conf, 'C', "ctl", 1, "use_ctl", "use complex text layouting [true]"); #endif bl_conf_add_opt(conf, 'E', "km", 0, "encoding", "character encoding (AUTO/ISO-8859-*/EUC-*/UTF-8/...) [AUTO]"); bl_conf_add_opt(conf, 'F', "sbfg", 0, "sb_fg_color", "scrollbar foreground color"); bl_conf_add_opt(conf, 'G', "vertical", 0, "vertical_mode", "vertical mode (none/cjk/mongol) [none]"); #ifndef NO_IMAGE bl_conf_add_opt(conf, 'H', "bright", 0, "brightness", "brightness of background image in percent [100]"); #endif #ifdef USE_XLIB bl_conf_add_opt(conf, 'I', "icon", 0, "icon_name", "icon name"); #endif bl_conf_add_opt(conf, 'J', "dyncomb", 1, "use_dynamic_comb", "use dynamic combining [false]"); bl_conf_add_opt(conf, 'K', "metakey", 0, "mod_meta_key", "meta key [none]"); bl_conf_add_opt(conf, 'L', "ls", 1, "use_login_shell", "turn on login shell [false]"); bl_conf_add_opt(conf, 'M', "im", 0, "input_method", "input method (xim/kbd/uim/m17nlib/scim/ibus/fcitx/canna/wnn/skk/iiimf/none) [xim]"); bl_conf_add_opt(conf, 'N', "name", 0, "app_name", "application name"); bl_conf_add_opt(conf, 'O', "sbmod", 0, "scrollbar_mode", "scrollbar mode (none/left/right/autohide) [none]"); bl_conf_add_opt(conf, 'P', "clip", 1, "use_clipboard", "use CLIPBOARD (not only PRIMARY) selection [true]"); bl_conf_add_opt(conf, 'Q', "vcur", 1, "use_vertical_cursor", "rearrange cursor key for vertical mode [true]"); bl_conf_add_opt(conf, 'S', "sbview", 0, "scrollbar_view_name", "scrollbar view name (simple/sample/...) [simple]"); bl_conf_add_opt(conf, 'T', "title", 0, "title", "title name"); bl_conf_add_opt(conf, 'U', "viaucs", 1, "receive_string_via_ucs", "process received (pasted) strings via Unicode [false]"); bl_conf_add_opt(conf, 'V', "varwidth", 1, "use_variable_column_width", "variable column width (for proportional/ISCII) [false]"); bl_conf_add_opt(conf, 'W', "sep", 0, "word_separators", "word-separating characters for double-click [,.:;/@]"); bl_conf_add_opt(conf, 'X', "alpha", 0, "alpha", "alpha blending for translucent [255]"); bl_conf_add_opt(conf, 'Z', "multicol", 1, "use_multi_column_char", "fullwidth character occupies two logical columns [true]"); bl_conf_add_opt(conf, 'a', "ac", 0, "col_size_of_width_a", "columns for Unicode \"EastAsianAmbiguous\" character [1]"); bl_conf_add_opt(conf, 'b', "bg", 0, "bg_color", "background color"); #if defined(USE_XLIB) || defined(USE_CONSOLE) || defined(USE_WAYLAND) bl_conf_add_opt(conf, 'd', "display", 0, "display", "X server to connect"); #endif bl_conf_add_opt(conf, 'f', "fg", 0, "fg_color", "foreground color"); bl_conf_add_opt(conf, 'g', "geometry", 0, "geometry", "size (in characters) and position [80x24]"); bl_conf_add_opt(conf, 'k', "meta", 0, "mod_meta_mode", "mode in pressing meta key (none/esc/8bit) [8bit]"); bl_conf_add_opt(conf, 'l', "sl", 0, "logsize", "number of backlog (scrolled lines to save) [128]"); bl_conf_add_opt(conf, 'm', "comb", 1, "use_combining", "use combining characters [true]"); bl_conf_add_opt(conf, 'n', "noucsfont", 1, "not_use_unicode_font", "use non-Unicode fonts even in UTF-8 mode [false]"); bl_conf_add_opt(conf, 'o', "lsp", 0, "line_space", "extra space between lines in pixels [0]"); #ifndef NO_IMAGE bl_conf_add_opt(conf, 'p', "pic", 0, "wall_picture", "path for wallpaper (background) image"); #endif bl_conf_add_opt(conf, 'q', "extkey", 1, "use_extended_scroll_shortcut", "use extended scroll shortcut keys [false]"); bl_conf_add_opt(conf, 'r', "fade", 0, "fade_ratio", "fade ratio in percent when window unfocued [100]"); bl_conf_add_opt(conf, 's', "mdi", 1, "use_mdi", "use multiple document interface [true]"); #if 1 bl_conf_add_opt(conf, '\0', "sb", 1, "use_scrollbar", "use scrollbar [true]"); #endif bl_conf_add_opt(conf, 't', "transbg", 1, "use_transbg", "use transparent background [false]"); bl_conf_add_opt(conf, 'u', "onlyucsfont", 1, "only_use_unicode_font", "use a Unicode font even in non-UTF-8 modes [false]"); bl_conf_add_opt(conf, 'w', "fontsize", 0, "fontsize", "font size in pixels [16]"); bl_conf_add_opt(conf, 'x', "tw", 0, "tabsize", "tab width in columns [8]"); bl_conf_add_opt(conf, 'y', "term", 0, "termtype", "terminal type for TERM variable [xterm]"); bl_conf_add_opt(conf, 'z', "largesmall", 0, "step_in_changing_font_size", "step in changing font size in GUI configurator [1]"); bl_conf_add_opt(conf, '\0', "bdfont", 1, "use_bold_font", "use bold fonts [true]"); bl_conf_add_opt(conf, '\0', "itfont", 1, "use_italic_font", "use italic fonts [true]"); bl_conf_add_opt(conf, '\0', "iconpath", 0, "icon_path", "path to an imagefile to be use as an window icon"); #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) bl_conf_add_opt(conf, '\0', "bimode", 0, "bidi_mode", "bidi mode [normal]"); bl_conf_add_opt(conf, '\0', "bisep", 0, "bidi_separators", "Separator characters to render bidi text"); #endif bl_conf_add_opt(conf, '\0', "parent", 0, "parent_window", "parent window"); bl_conf_add_opt(conf, '\0', "bd", 0, "bd_color", "Color to use to display bold characters (equivalent to colorBD)"); bl_conf_add_opt(conf, '\0', "it", 0, "it_color", "Color to use to display italic characters"); bl_conf_add_opt(conf, '\0', "ul", 0, "ul_color", "Color to use to display underlined characters (equivalent to colorUL)"); bl_conf_add_opt(conf, '\0', "bl", 0, "bl_color", "Color to use to display blinking characters (equivalent to colorBL)"); bl_conf_add_opt(conf, '\0', "co", 0, "co_color", "Color to use to display crossed-out characters"); bl_conf_add_opt(conf, '\0', "noul", 1, "hide_underline", "Don't draw underline [false]"); bl_conf_add_opt(conf, '\0', "ulpos", 0, "underline_offset", "underline position [0]"); bl_conf_add_opt(conf, '\0', "blpos", 0, "baseline_offset", "baseline position [0]"); #ifdef USE_OT_LAYOUT bl_conf_add_opt(conf, '\0', "otl", 1, "use_ot_layout", "OpenType shape [false]"); bl_conf_add_opt(conf, '\0', "ost", 0, "ot_script", "Script of glyph subsutitution [latn]"); bl_conf_add_opt(conf, '\0', "oft", 0, "ot_features", "Features of glyph subsutitution [liga,clig,dlig,hlig,rlig]"); #endif #if defined(USE_WIN32API) || defined(USE_LIBSSH2) bl_conf_add_opt(conf, '\0', "servlist", 0, "server_list", "list of servers to connect"); bl_conf_add_opt(conf, '\0', "serv", 0, "default_server", "connecting server by default"); bl_conf_add_opt(conf, '\0', "dialog", 1, "always_show_dialog", "always show dialog to input server address, password and so on [false]"); bl_conf_add_opt(conf, '\0', "pubkey", 0, "ssh_public_key", "ssh public key file " #ifdef USE_WIN32API "[%HOMEPATH%\\mlterm\\id_rsa.pub]" #else "[~/.ssh/id_rsa.pub]" #endif ); bl_conf_add_opt(conf, '\0', "privkey", 0, "ssh_private_key", "ssh private key file " #ifdef USE_WIN32API "[%HOMEPATH%\\mlterm\\id_rsa]" #else "[~/.ssh/id_rsa]" #endif ); bl_conf_add_opt(conf, '\0', "ciphlist", 0, "cipher_list", "preferred cipher list"); bl_conf_add_opt(conf, '\0', "x11", 1, "ssh_x11_forwarding", "allow x11 forwarding [false]"); bl_conf_add_opt(conf, '\0', "scp", 1, "allow_scp", "allow scp [false]"); bl_conf_add_opt(conf, '\0', "rcn", 1, "ssh_auto_reconnect", "reconnect to ssh server automatically[false]"); #endif bl_conf_add_opt(conf, '\0', "csp", 0, "letter_space", "extra space between letters in pixels [0]"); bl_conf_add_opt(conf, '\0', "osc52", 1, "allow_osc52", "allow access to clipboard by OSC 52 sequence [false]"); bl_conf_add_opt(conf, '\0', "blink", 1, "blink_cursor", "blink cursor [false]"); bl_conf_add_opt(conf, '\0', "border", 0, "inner_border", "inner border [2]"); bl_conf_add_opt(conf, '\0', "lborder", 0, "layout_inner_border", "inner border of layout manager [0]"); #ifndef __ANDROID__ bl_conf_add_opt(conf, '\0', "restart", 1, "auto_restart", "restart mlterm automatically if an error like segv happens. [true]"); #endif bl_conf_add_opt(conf, '\0', "logmsg", 1, "logging_msg", "output messages to ~/.mlterm/msg.log [true]"); bl_conf_add_opt(conf, '\0', "loecho", 1, "use_local_echo", "use local echo [false]"); bl_conf_add_opt(conf, '\0', "altbuf", 1, "use_alt_buffer", "use alternative buffer. [true]"); bl_conf_add_opt(conf, '\0', "colors", 1, "use_ansi_colors", "recognize ANSI color change escape sequences. [true]"); bl_conf_add_opt(conf, '\0', "exitbs", 1, "exit_backscroll_by_pty", "exit backscroll mode on receiving data from pty. [false]"); bl_conf_add_opt(conf, '\0', "shortcut", 1, "allow_change_shortcut", "allow dynamic change of shortcut keys. [false]"); bl_conf_add_opt(conf, '\0', "boxdraw", 0, "box_drawing_font", "force unicode or decsp font for box-drawing characters. [noconv]"); bl_conf_add_opt(conf, '\0', "urgent", 1, "use_urgent_bell", "draw the user's attention when making a bell sound. [false]"); bl_conf_add_opt(conf, '\0', "locale", 0, "locale", "set locale"); bl_conf_add_opt(conf, '\0', "ucsnoconv", 0, "unicode_noconv_areas", "use unicode fonts partially regardless of -n option"); bl_conf_add_opt(conf, '\0', "fullwidth", 0, "unicode_full_width_areas", "force full width regardless of EastAsianWidth.txt"); bl_conf_add_opt(conf, '\0', "ade", 0, "auto_detect_encodings", "encodings detected automatically"); bl_conf_add_opt(conf, '\0', "auto", 1, "use_auto_detect", "detect character encoding automatically"); bl_conf_add_opt(conf, '\0', "ldd", 1, "leftward_double_drawing", "embold glyphs by drawing doubly at 1 pixel leftward " "instead of rightward"); bl_conf_add_opt(conf, '\0', "working-directory", 0, "working_directory", "working directory"); bl_conf_add_opt(conf, '\0', "seqfmt", 0, "vt_seq_format", "format of logging vt100 sequence. [raw]"); bl_conf_add_opt(conf, '\0', "uriword", 1, "regard_uri_as_word", "select uri by double-clicking it [false]"); bl_conf_add_opt(conf, '\0', "vtcolor", 0, "vt_color_mode", "vt color mode [high]"); bl_conf_add_opt(conf, '\0', "da1", 0, "primary_da", "primary device attributes string " #ifndef NO_IMAGE "[63;1;2;3;4;7;29]" #else "[63;1;2;7;29]" #endif ); bl_conf_add_opt(conf, '\0', "da2", 0, "secondary_da", "secondary device attributes string [24;279;0]"); bl_conf_add_opt(conf, '\0', "metaprefix", 0, "mod_meta_prefix", "prefix characters in pressing meta key if mod_meta_mode = esc"); #ifdef USE_GRF bl_conf_add_opt(conf, '\0', "multivram", 1, "separate_wall_picture", "draw wall picture on another vram. (available on 4bpp) [true]"); #endif #ifdef ROTATABLE_DISPLAY bl_conf_add_opt(conf, '\0', "rotate", 0, "rotate_display", "rotate display. [none]"); #endif #ifdef USE_CONSOLE bl_conf_add_opt(conf, '\0', "ckm", 0, "console_encoding", "character encoding of console [none]"); bl_conf_add_opt(conf, '\0', "csc", 0, "console_sixel_colors", "the number of sixel colors of console [16]"); bl_conf_add_opt(conf, '\0', "csz", 0, "default_cell_size", "default cell size [8,16]"); #endif #if defined(__ANDROID__) && defined(USE_LIBSSH2) bl_conf_add_opt(conf, '\0', "slp", 1, "start_with_local_pty", "start mlterm with local pty instead of ssh connection [false]"); #endif bl_conf_add_opt(conf, '\0', "trim", 1, "trim_trailing_newline_in_pasting", "trim trailing newline in pasting text. [false]"); bl_conf_add_opt(conf, '\0', "bc", 1, "broadcast", "broadcast input characters to all ptys [false]"); bl_conf_add_opt(conf, '\0', "ibc", 1, "ignore_broadcasted_chars", "ignore broadcasted characters [false]"); #ifdef USE_IM_CURSOR_COLOR bl_conf_add_opt(conf, '\0', "imcolor", 0, "im_cursor_color", "cursor color when input method is activated. [false]"); #endif bl_conf_set_end_opt(conf, 'e', NULL, "exec_cmd", "execute external command"); } void ui_main_config_init(ui_main_config_t *main_config, bl_conf_t *conf, int argc, char **argv) { char *value; char *invalid_msg = "%s %s is not valid.\n"; memset(main_config, 0, sizeof(ui_main_config_t)); if ((value = bl_conf_get_value(conf, "locale"))) { bl_locale_init(value); } /* * xlib: "-d :0.0" etc. * console: "-d client:fd" * wayland: "-d wayland-0" */ #if defined(USE_XLIB) || defined(USE_CONSOLE) || defined(USE_WAYLAND) if (!(value = bl_conf_get_value(conf, "display")) || !(main_config->disp_name = strdup(value))) #endif { main_config->disp_name = default_display; } if ((value = bl_conf_get_value(conf, "fontsize")) == NULL) { main_config->font_size = 16; } else if (!bl_str_to_uint(&main_config->font_size, value)) { bl_msg_printf(invalid_msg, "font size", value); /* default value is used. */ main_config->font_size = 16; } if ((value = bl_conf_get_value(conf, "app_name"))) { main_config->app_name = strdup(value); } if ((value = bl_conf_get_value(conf, "title"))) { main_config->title = strdup(value); } #ifdef USE_XLIB if ((value = bl_conf_get_value(conf, "icon_name"))) { main_config->icon_name = strdup(value); } #endif /* BACKWARD COMPAT (3.1.7 or before) */ #if 1 if ((value = bl_conf_get_value(conf, "conf_menu_path_1"))) { main_config->shortcut_strs[0] = malloc(5 + strlen(value) + 2 + 1); sprintf(main_config->shortcut_strs[0], "\"menu:%s\"", value); } if ((value = bl_conf_get_value(conf, "conf_menu_path_2"))) { main_config->shortcut_strs[1] = malloc(5 + strlen(value) + 2 + 1); sprintf(main_config->shortcut_strs[1], "\"menu:%s\"", value); } if ((value = bl_conf_get_value(conf, "conf_menu_path_3"))) { main_config->shortcut_strs[2] = malloc(5 + strlen(value) + 2 + 1); sprintf(main_config->shortcut_strs[2], "\"menu:%s\"", value); } if ((value = bl_conf_get_value(conf, "button3_behavior")) && /* menu1,menu2,menu3,xterm values are ignored. */ strncmp(value, "menu", 4) != 0) { main_config->shortcut_strs[3] = malloc(7 + strlen(value) + 2 + 1); /* XXX "abc" should be "exesel:\"abc\"" but it's not supported. */ sprintf(main_config->shortcut_strs[3], "\"exesel:%s\"", value); } #endif if ((value = bl_conf_get_value(conf, "scrollbar_view_name"))) { main_config->scrollbar_view_name = strdup(value); } main_config->use_char_combining = 1; if ((value = bl_conf_get_value(conf, "use_combining"))) { if (strcmp(value, "false") == 0) { main_config->use_char_combining = 0; } } if ((value = bl_conf_get_value(conf, "use_dynamic_comb"))) { if (strcmp(value, "true") == 0) { main_config->use_dynamic_comb = 1; } } if ((value = bl_conf_get_value(conf, "logging_vt_seq"))) { if (strcmp(value, "true") == 0) { main_config->logging_vt_seq = 1; } } if ((value = bl_conf_get_value(conf, "vt_seq_format"))) { vt_set_use_ttyrec_format(strcmp(value, "ttyrec") == 0); } if ((value = bl_conf_get_value(conf, "logging_msg")) && strcmp(value, "false") == 0) { bl_set_msg_log_file_name(NULL); } else { bl_set_msg_log_file_name("mlterm/msg.log"); } main_config->step_in_changing_font_size = 1; if ((value = bl_conf_get_value(conf, "step_in_changing_font_size"))) { u_int size; if (bl_str_to_uint(&size, value)) { main_config->step_in_changing_font_size = size; } else { bl_msg_printf(invalid_msg, "step in changing font size", value); } } #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) main_config->type_engine = TYPE_CAIRO; #elif !defined(USE_TYPE_XCORE) && defined(USE_TYPE_XFT) main_config->type_engine = TYPE_XFT; #else main_config->type_engine = TYPE_XCORE; #endif #ifdef USE_XLIB if ((value = bl_conf_get_value(conf, "type_engine"))) { main_config->type_engine = ui_get_type_engine_by_name(value); } #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) || \ defined(USE_FREETYPE) if ((value = bl_conf_get_value(conf, "use_anti_alias"))) { if (strcmp(value, "true") == 0) { main_config->font_present |= FONT_AA; if (main_config->type_engine == TYPE_XCORE) { /* forcibly use xft or cairo */ #if defined(USE_TYPE_XFT) && !defined(USE_TYPE_CAIRO) main_config->type_engine = TYPE_XFT; #else main_config->type_engine = TYPE_CAIRO; #endif } } else if (strcmp(value, "false") == 0) { main_config->font_present |= FONT_NOAA; } } #endif if ((value = bl_conf_get_value(conf, "use_variable_column_width"))) { if (strcmp(value, "true") == 0) { main_config->font_present |= FONT_VAR_WIDTH; } } if ((value = bl_conf_get_value(conf, "vertical_mode"))) { if ((main_config->vertical_mode = vt_get_vertical_mode(value))) { main_config->font_present |= main_config->vertical_mode; } } if ((value = bl_conf_get_value(conf, "fg_color"))) { main_config->fg_color = strdup(value); } if ((value = bl_conf_get_value(conf, "bg_color"))) { main_config->bg_color = strdup(value); } if ((value = bl_conf_get_value(conf, "cursor_fg_color"))) { main_config->cursor_fg_color = strdup(value); } if ((value = bl_conf_get_value(conf, "cursor_bg_color"))) { main_config->cursor_bg_color = strdup(value); } main_config->alt_color_mode = 0; if ((value = bl_conf_get_value(conf, "bd_color"))) { main_config->bd_color = strdup(value); main_config->alt_color_mode |= ALT_COLOR_BOLD; } if ((value = bl_conf_get_value(conf, "it_color"))) { main_config->it_color = strdup(value); main_config->alt_color_mode |= ALT_COLOR_ITALIC; } if ((value = bl_conf_get_value(conf, "ul_color"))) { main_config->ul_color = strdup(value); main_config->alt_color_mode |= ALT_COLOR_UNDERLINE; } if ((value = bl_conf_get_value(conf, "bl_color"))) { main_config->ul_color = strdup(value); main_config->alt_color_mode |= ALT_COLOR_BLINKING; } if ((value = bl_conf_get_value(conf, "co_color"))) { main_config->ul_color = strdup(value); main_config->alt_color_mode |= ALT_COLOR_CROSSED_OUT; } if ((value = bl_conf_get_value(conf, "sb_fg_color"))) { main_config->sb_fg_color = strdup(value); } if ((value = bl_conf_get_value(conf, "sb_bg_color"))) { main_config->sb_bg_color = strdup(value); } if ((value = bl_conf_get_value(conf, "termtype"))) { main_config->term_type = strdup(value); } else { main_config->term_type = strdup("xterm"); } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF /* * The pty is always resized to fit the display size. * Don't use 80x24 for the default value because the screen is not drawn * correctly on startup if the display size / the us-ascii font size is * 80x24 by chance. */ main_config->cols = 1; main_config->rows = 1; #else main_config->cols = 80; main_config->rows = 24; if ((value = bl_conf_get_value(conf, "geometry"))) { /* * For each value not found, the argument is left unchanged. * (see man XParseGeometry(3)) */ main_config->geom_hint = XParseGeometry(value, &main_config->x, &main_config->y, &main_config->cols, &main_config->rows); if (main_config->cols == 0 || main_config->rows == 0) { bl_msg_printf("geometry option %s is illegal.\n", value); main_config->cols = 80; main_config->rows = 24; } } #endif main_config->screen_width_ratio = 100; #if 1 /* BACKWARD COMPAT (3.8.2 or before) */ if ((value = bl_conf_get_value(conf, "screen_height_ratio"))) { u_int ratio; if (bl_str_to_uint(&ratio, value) && ratio) { main_config->screen_width_ratio = ratio; } } #endif if ((value = bl_conf_get_value(conf, "screen_width_ratio"))) { u_int ratio; if (bl_str_to_uint(&ratio, value) && ratio) { main_config->screen_width_ratio = ratio; } else { bl_msg_printf(invalid_msg, "screen_width_ratio", value); } } main_config->use_multi_col_char = 1; if ((value = bl_conf_get_value(conf, "use_multi_column_char"))) { if (strcmp(value, "false") == 0) { main_config->use_multi_col_char = 0; } } if ((value = bl_conf_get_value(conf, "line_space"))) { int size; if (bl_str_to_int(&size, value)) { main_config->line_space = size; } else { bl_msg_printf(invalid_msg, "line space", value); } } if ((value = bl_conf_get_value(conf, "letter_space"))) { u_int size; if (bl_str_to_uint(&size, value)) { main_config->letter_space = size; } else { bl_msg_printf(invalid_msg, "letter space", value); } } main_config->num_log_lines = 128; main_config->unlimit_log_size = 0; if ((value = bl_conf_get_value(conf, "logsize"))) { u_int size; if (strcmp(value, "unlimited") == 0) { main_config->unlimit_log_size = 1; } else if (bl_str_to_uint(&size, value)) { main_config->num_log_lines = size; } else { bl_msg_printf(invalid_msg, "log size", value); } } main_config->tab_size = 8; if ((value = bl_conf_get_value(conf, "tabsize"))) { u_int size; if (bl_str_to_uint(&size, value)) { main_config->tab_size = size; } else { bl_msg_printf(invalid_msg, "tab size", value); } } #ifdef USE_QUARTZ main_config->use_login_shell = 1; #else main_config->use_login_shell = 0; #endif if ((value = bl_conf_get_value(conf, "use_login_shell"))) { if (strcmp(value, "true") == 0) { main_config->use_login_shell = 1; } } if ((value = bl_conf_get_value(conf, "big5_buggy"))) { ui_set_big5_selection_buggy(strcmp(value, "true") == 0); } main_config->use_mdi = 1; #ifndef USE_QUARTZ if ((value = bl_conf_get_value(conf, "use_mdi"))) { if (strcmp(value, "false") == 0) { main_config->use_mdi = 0; } } #endif #ifdef USE_CONSOLE main_config->sb_mode = SBM_NONE; #else if ((value = bl_conf_get_value(conf, "scrollbar_mode"))) { main_config->sb_mode = ui_get_sb_mode_by_name(value); } else { /* XXX Backward compatibility with 3.4.5 or before */ #if 1 if ((value = bl_conf_get_value(conf, "use_scrollbar"))) { main_config->sb_mode = (strcmp(value, "true") == 0 ? SBM_LEFT : SBM_NONE); } else #endif { main_config->sb_mode = SBM_LEFT; } } #endif if ((value = bl_conf_get_value(conf, "iso88591_font_for_usascii"))) { if (strcmp(value, "true") == 0) { main_config->iso88591_font_for_usascii = 1; } } if ((value = bl_conf_get_value(conf, "not_use_unicode_font"))) { if (strcmp(value, "true") == 0) { main_config->unicode_policy = NOT_USE_UNICODE_FONT; } } if ((value = bl_conf_get_value(conf, "unicode_noconv_areas"))) { vt_set_unicode_noconv_areas(value); } if ((value = bl_conf_get_value(conf, "unicode_full_width_areas"))) { vt_set_full_width_areas(value); } if ((value = bl_conf_get_value(conf, "only_use_unicode_font"))) { if (strcmp(value, "true") == 0) { if (main_config->unicode_policy == NOT_USE_UNICODE_FONT) { bl_msg_printf( "only_use_unicode_font and not_use_unicode_font options " "cannot be used at the same time.\n"); /* default values are used */ main_config->unicode_policy = 0; } else { main_config->unicode_policy = ONLY_USE_UNICODE_FONT; } } } #ifdef FORCE_UNICODE else { main_config->unicode_policy = ONLY_USE_UNICODE_FONT; } #endif if ((value = bl_conf_get_value(conf, "box_drawing_font"))) { if (strcmp(value, "decsp") == 0) { main_config->unicode_policy |= NOT_USE_UNICODE_BOXDRAW_FONT; } else if (strcmp(value, "unicode") == 0) { main_config->unicode_policy |= ONLY_USE_UNICODE_BOXDRAW_FONT; } } #ifdef FORCE_UNICODE else { main_config->unicode_policy |= ONLY_USE_UNICODE_BOXDRAW_FONT; } #endif if ((value = bl_conf_get_value(conf, "receive_string_via_ucs"))) { if (strcmp(value, "true") == 0) { main_config->receive_string_via_ucs = 1; } } /* "cn" and "ko" ? */ if (strcmp(bl_get_lang(), "ja") == 0) { main_config->col_size_of_width_a = 2; } else { main_config->col_size_of_width_a = 1; } if ((value = bl_conf_get_value(conf, "col_size_of_width_a"))) { u_int col_size_of_width_a; if (bl_str_to_uint(&col_size_of_width_a, value)) { main_config->col_size_of_width_a = col_size_of_width_a; } else { bl_msg_printf(invalid_msg, "col size of width a", value); } } if ((value = bl_conf_get_value(conf, "wall_picture"))) { if (*value != '\0') { main_config->pic_file_path = strdup(value); } } if ((value = bl_conf_get_value(conf, "use_transbg"))) { if (strcmp(value, "true") == 0) { main_config->use_transbg = 1; } } if (main_config->pic_file_path && main_config->use_transbg) { bl_msg_printf( "wall picture and transparent background cannot be used at the same " "time.\n"); /* using wall picture */ main_config->use_transbg = 0; } main_config->brightness = 100; if ((value = bl_conf_get_value(conf, "brightness"))) { u_int brightness; if (bl_str_to_uint(&brightness, value)) { main_config->brightness = brightness; } else { bl_msg_printf(invalid_msg, "shade ratio", value); } } main_config->contrast = 100; if ((value = bl_conf_get_value(conf, "contrast"))) { u_int contrast; if (bl_str_to_uint(&contrast, value)) { main_config->contrast = contrast; } else { bl_msg_printf(invalid_msg, "contrast ratio", value); } } main_config->gamma = 100; if ((value = bl_conf_get_value(conf, "gamma"))) { u_int gamma; if (bl_str_to_uint(&gamma, value)) { main_config->gamma = gamma; } else { bl_msg_printf(invalid_msg, "gamma ratio", value); } } main_config->alpha = 255; if ((value = bl_conf_get_value(conf, "alpha"))) { u_int alpha; if (bl_str_to_uint(&alpha, value)) { main_config->alpha = alpha; } else { bl_msg_printf(invalid_msg, "alpha", value); } } main_config->fade_ratio = 100; if ((value = bl_conf_get_value(conf, "fade_ratio"))) { u_int fade_ratio; if (bl_str_to_uint(&fade_ratio, value) && fade_ratio <= 100) { main_config->fade_ratio = fade_ratio; } else { bl_msg_printf(invalid_msg, "fade ratio", value); } } main_config->encoding = get_encoding(bl_conf_get_value(conf, "encoding"), &main_config->is_auto_encoding); #ifdef USE_CONSOLE ui_display_set_char_encoding(NULL, get_encoding(bl_conf_get_value(conf, "console_encoding"), NULL)); if ((value = bl_conf_get_value(conf, "console_sixel_colors"))) { ui_display_set_sixel_colors(NULL, value); } if ((value = bl_conf_get_value(conf, "cell_size"))) { u_int width; u_int height; if (sscanf(value, "%d,%d", &width, &height) == 2) { ui_display_set_default_cell_size(width, height); } } #endif #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) || defined(USE_IND) || \ defined(USE_OT_LAYOUT) main_config->use_ctl = 1; if ((value = bl_conf_get_value(conf, "use_ctl"))) { if (strcmp(value, "false") == 0) { /* * If use_ot_layout is true, use_ctl = true forcibly. * See processing "use_ot_layout" option. */ main_config->use_ctl = 0; } } #endif main_config->bidi_mode = BIDI_NORMAL_MODE; #if !defined(NO_DYNAMIC_LOAD_CTL) || defined(USE_FRIBIDI) if ((value = bl_conf_get_value(conf, "bidi_mode"))) { #if 1 /* Compat with 3.3.6 or before. */ if (strcmp(value, "cmd_l") == 0) { main_config->bidi_mode = BIDI_ALWAYS_LEFT; main_config->bidi_separators = strdup(" "); } else if (strcmp(value, "cmd_r") == 0) { main_config->bidi_mode = BIDI_ALWAYS_RIGHT; main_config->bidi_separators = strdup(" "); } else #endif { main_config->bidi_mode = vt_get_bidi_mode(value); } } if ((value = bl_conf_get_value(conf, "bidi_separators"))) { free(main_config->bidi_separators); main_config->bidi_separators = strdup(value); } #endif /* If value is "none" or not is also checked in ui_screen.c */ if ((value = bl_conf_get_value(conf, "mod_meta_key")) && strcmp(value, "none") != 0) { main_config->mod_meta_key = strdup(value); } if ((value = bl_conf_get_value(conf, "mod_meta_mode"))) { main_config->mod_meta_mode = ui_get_mod_meta_mode_by_name(value); } else { main_config->mod_meta_mode = MOD_META_SET_MSB; } if ((value = bl_conf_get_value(conf, "bel_mode"))) { main_config->bel_mode = ui_get_bel_mode_by_name(value); } else { main_config->bel_mode = BEL_SOUND; } if ((value = bl_conf_get_value(conf, "use_urgent_bell"))) { ui_set_use_urgent_bell(strcmp(value, "true") == 0); } main_config->use_vertical_cursor = 1; if ((value = bl_conf_get_value(conf, "use_vertical_cursor"))) { if (strcmp(value, "false") == 0) { main_config->use_vertical_cursor = 0; } } if ((value = bl_conf_get_value(conf, "use_extended_scroll_shortcut"))) { if (strcmp(value, "true") == 0) { main_config->use_extended_scroll_shortcut = 1; } } #ifdef USE_XLIB if ((value = bl_conf_get_value(conf, "borderless"))) { if (strcmp(value, "true") == 0) { main_config->borderless = 1; } } #endif main_config->bs_mode = BSM_DEFAULT; if ((value = bl_conf_get_value(conf, "static_backscroll_mode"))) { if (strcmp(value, "true") == 0) { main_config->bs_mode = BSM_STATIC; } } if ((value = bl_conf_get_value(conf, "exit_backscroll_by_pty"))) { ui_exit_backscroll_by_pty(strcmp(value, "true") == 0); } if ((value = bl_conf_get_value(conf, "allow_change_shortcut"))) { ui_allow_change_shortcut(strcmp(value, "true") == 0); } if ((value = bl_conf_get_value(conf, "icon_path"))) { main_config->icon_path = strdup(value); } if ((value = bl_conf_get_value(conf, "input_method"))) { main_config->input_method = strdup(value); } else { #ifdef USE_WAYLAND main_config->input_method = strdup("ibus"); #else main_config->input_method = strdup("xim"); #endif } if ((value = bl_conf_get_value(conf, "init_str"))) { if ((main_config->init_str = malloc(strlen(value) + 1))) { char *p1; char *p2; p1 = value; p2 = main_config->init_str; while (*p1) { if (*p1 == '\\') { p1++; if (*p1 == '\0') { break; } else if (*p1 == 'n') { *(p2++) = '\n'; } else if (*p1 == 'r') { *(p2++) = '\r'; } else if (*p1 == 't') { *(p2++) = '\t'; } else if (*p1 == 'e') { *(p2++) = '\033'; } else { *(p2++) = *p1; } } else { *(p2++) = *p1; } p1++; } *p2 = '\0'; } } if ((value = bl_conf_get_value(conf, "parent_window"))) { u_int parent_window; if (bl_str_to_uint(&parent_window, value)) { main_config->parent_window = parent_window; } else { bl_msg_printf(invalid_msg, "parent window", value); } } #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if ((value = bl_conf_get_value(conf, "server_list"))) { if ((main_config->server_list = malloc(sizeof(char *) * /* A,B => A B NULL */ (bl_count_char_in_str(value, ',') + 2)))) { if ((value = strdup(value))) { int count; count = 0; do { main_config->server_list[count++] = bl_str_sep(&value, ","); } while (value); main_config->server_list[count] = NULL; } else { free(main_config->server_list); main_config->server_list = NULL; } } } if ((value = bl_conf_get_value(conf, "default_server"))) { if (*value && (main_config->default_server = strdup(value))) { #ifdef USE_WIN32API ui_main_config_add_to_server_list(main_config, main_config->default_server); #endif } } if ((value = bl_conf_get_value(conf, "always_show_dialog"))) { if (strcmp(value, "true") == 0) { main_config->show_dialog = 1; } } #endif #ifdef USE_LIBSSH2 if ((value = bl_conf_get_value(conf, "ssh_public_key"))) { main_config->public_key = strdup(value); } if ((value = bl_conf_get_value(conf, "ssh_private_key"))) { main_config->private_key = strdup(value); } if ((value = bl_conf_get_value(conf, "cipher_list"))) { vt_pty_ssh_set_cipher_list(strdup(value)); } if ((value = bl_conf_get_value(conf, "ssh_x11_forwarding"))) { main_config->use_x11_forwarding = (strcmp(value, "true") == 0); } if ((value = bl_conf_get_value(conf, "allow_scp"))) { vt_set_use_scp_full(strcmp(value, "true") == 0); } if ((value = bl_conf_get_value(conf, "ssh_auto_reconnect"))) { vt_pty_ssh_set_use_auto_reconnect(strcmp(value, "true") == 0); } #endif if ((value = bl_conf_get_value(conf, "allow_osc52"))) { if (strcmp(value, "true") == 0) { main_config->allow_osc52 = 1; } } if ((value = bl_conf_get_value(conf, "blink_cursor"))) { if (strcmp(value, "true") == 0) { main_config->blink_cursor = 1; } } main_config->hmargin = main_config->vmargin = 2; if ((value = bl_conf_get_value(conf, "inner_border"))) { u_int hmargin; u_int vmargin; /* 640x480 => (640-224*2)x(480-224*2) => 192x32 on framebuffer. */ if (sscanf(value, "%d,%d", &hmargin, &vmargin) == 2) { if (hmargin <= 224 && vmargin <= 224) { main_config->hmargin = hmargin; main_config->vmargin = vmargin; } } else if (bl_str_to_uint(&hmargin, value) && hmargin <= 224) { main_config->hmargin = main_config->vmargin = hmargin; } } main_config->layout_hmargin = main_config->layout_vmargin = 0; if ((value = bl_conf_get_value(conf, "layout_inner_border"))) { u_int hmargin; u_int vmargin; /* 640x480 => (640-224*2)x(480-224*2) => 192x32 on framebuffer. */ if (sscanf(value, "%d,%d", &hmargin, &vmargin) == 2) { if (hmargin <= 224 && vmargin <= 224) { main_config->layout_hmargin = hmargin; main_config->layout_vmargin = vmargin; } } else if (bl_str_to_uint(&hmargin, value) && hmargin <= 224) { main_config->layout_hmargin = main_config->layout_vmargin = hmargin; } } main_config->use_bold_font = 1; if ((value = bl_conf_get_value(conf, "use_bold_font"))) { if (strcmp(value, "false") == 0) { main_config->use_bold_font = 0; } } main_config->use_italic_font = 1; if ((value = bl_conf_get_value(conf, "use_italic_font"))) { if (strcmp(value, "false") == 0) { main_config->use_italic_font = 0; } } if ((value = bl_conf_get_value(conf, "hide_underline"))) { if (strcmp(value, "true") == 0) { main_config->hide_underline = 1; } } if ((value = bl_conf_get_value(conf, "underline_offset"))) { int size; if (bl_str_to_int(&size, value)) { main_config->underline_offset = size; } else { bl_msg_printf(invalid_msg, "underline offset", value); } } if ((value = bl_conf_get_value(conf, "baseline_offset"))) { int size; if (bl_str_to_int(&size, value)) { main_config->baseline_offset = size; } else { bl_msg_printf(invalid_msg, "baseline offset", value); } } if ((value = bl_conf_get_value(conf, "word_separators"))) { vt_set_word_separators(value); } if ((value = bl_conf_get_value(conf, "regard_uri_as_word"))) { vt_set_regard_uri_as_word(strcmp(value, "true") == 0); } if ((value = bl_conf_get_value(conf, "use_clipboard"))) { ui_set_use_clipboard_selection(strcmp(value, "true") == 0); } #ifndef __ANDROID__ if (!(value = bl_conf_get_value(conf, "auto_restart")) || strcmp(value, "false") != 0) { vt_set_auto_restart_cmd(bl_get_prog_path()); } #endif if ((value = bl_conf_get_value(conf, "use_local_echo"))) { if (strcmp(value, "true") == 0) { main_config->use_local_echo = 1; } } if ((value = bl_conf_get_value(conf, "click_interval"))) { int interval; if (bl_str_to_int(&interval, value)) { ui_set_click_interval(interval); } else { bl_msg_printf(invalid_msg, "click_interval", value); } } if ((value = bl_conf_get_value(conf, "use_alt_buffer"))) { vt_set_use_alt_buffer(strcmp(value, "true") == 0); } main_config->use_ansi_colors = 1; if ((value = bl_conf_get_value(conf, "use_ansi_colors"))) { if (strcmp(value, "false") == 0) { main_config->use_ansi_colors = 0; } ui_display_set_use_ansi_colors(main_config->use_ansi_colors); } if ((value = bl_conf_get_value(conf, "auto_detect_encodings"))) { vt_set_auto_detect_encodings(value); } if ((value = bl_conf_get_value(conf, "use_auto_detect"))) { if (strcmp(value, "true") == 0) { main_config->use_auto_detect = 1; } } if ((value = bl_conf_get_value(conf, "leftward_double_drawing"))) { ui_set_use_leftward_double_drawing(strcmp(value, "true") == 0); } if ((value = bl_conf_get_value(conf, "working_directory"))) { main_config->work_dir = strdup(value); } if ((value = bl_conf_get_value(conf, "vt_color_mode"))) { vt_set_color_mode(value); } if ((value = bl_conf_get_value(conf, "primary_da"))) { vt_set_primary_da(value); } if ((value = bl_conf_get_value(conf, "secondary_da"))) { vt_set_secondary_da(value); } if ((value = bl_conf_get_value(conf, "mod_meta_prefix"))) { ui_set_mod_meta_prefix(bl_str_unescape(value)); } #ifdef USE_OT_LAYOUT main_config->use_ot_layout = 0; if ((value = bl_conf_get_value(conf, "use_ot_layout"))) { if (strcmp(value, "true") == 0) { main_config->use_ot_layout = 1; if (!main_config->use_ctl) { bl_msg_printf("Set use_ctl=true forcibly."); main_config->use_ctl = 1; } } } if ((value = bl_conf_get_value(conf, "ot_script"))) { vt_set_ot_layout_attr(value, OT_SCRIPT); } if ((value = bl_conf_get_value(conf, "ot_features"))) { vt_set_ot_layout_attr(value, OT_FEATURES); } #endif #ifdef USE_GRF if ((value = bl_conf_get_value(conf, "separate_wall_picture"))) { extern int separate_wall_picture; separate_wall_picture = (strcmp(value, "true") == 0 ? 1 : 0); } #endif #ifdef ROTATABLE_DISPLAY if ((value = bl_conf_get_value(conf, "rotate_display"))) { ui_display_rotate(strcmp(value, "right") == 0 ? 1 : (strcmp(value, "left") == 0 ? -1 : 0)); } #endif #if defined(__ANDROID__) && defined(USE_LIBSSH2) if ((value = bl_conf_get_value(conf, "start_with_local_pty"))) { start_with_local_pty = (strcmp(value, "true") == 0); } #endif if ((value = bl_conf_get_value(conf, "trim_trailing_newline_in_pasting"))) { if (strcmp(value, "true") == 0) { ui_set_trim_trailing_newline_in_pasting(1); } } if ((value = bl_conf_get_value(conf, "broadcast"))) { if (strcmp(value, "true") == 0) { vt_set_broadcasting(1); } } if ((value = bl_conf_get_value(conf, "ignore_broadcasted_chars"))) { if (strcmp(value, "true") == 0) { main_config->ignore_broadcasted_chars = 1; } } #ifdef USE_IM_CURSOR_COLOR if ((value = bl_conf_get_value(conf, "im_cursor_color"))) { if (*value) { ui_set_im_cursor_color(value); } } #endif if ((value = bl_conf_get_value(conf, "exec_cmd"))) { if (strcmp(value, "true") == 0) { if ((main_config->cmd_argv = malloc(sizeof(char *) * (argc + 1)))) { /* * !! Notice !! * cmd_path and strings in cmd_argv vector should be allocated * by the caller. */ main_config->cmd_path = argv[0]; memcpy(&main_config->cmd_argv[0], argv, sizeof(char *) * argc); main_config->cmd_argv[argc] = NULL; } } else { u_int argc; argc = bl_count_char_in_str(value, ' ') + 1; if ((main_config->cmd_argv = malloc(sizeof(char *) * (argc + 1) + strlen(value) + 1))) { value = strcpy(main_config->cmd_argv + argc + 1, value); _bl_arg_str_to_array(main_config->cmd_argv, &argc, value); main_config->cmd_path = main_config->cmd_argv[0]; } } } } void ui_main_config_final(ui_main_config_t *main_config) { if (main_config->disp_name != default_display) { free(main_config->disp_name); } free(main_config->app_name); free(main_config->title); free(main_config->icon_name); free(main_config->term_type); free(main_config->scrollbar_view_name); free(main_config->pic_file_path); free(main_config->shortcut_strs[0]); free(main_config->shortcut_strs[1]); free(main_config->shortcut_strs[2]); free(main_config->shortcut_strs[3]); free(main_config->fg_color); free(main_config->bg_color); free(main_config->cursor_fg_color); free(main_config->cursor_bg_color); free(main_config->bd_color); free(main_config->it_color); free(main_config->ul_color); free(main_config->bl_color); free(main_config->co_color); free(main_config->sb_fg_color); free(main_config->sb_bg_color); free(main_config->mod_meta_key); free(main_config->icon_path); free(main_config->input_method); free(main_config->init_str); free(main_config->bidi_separators); #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (main_config->server_list) { free(main_config->server_list[0]); free(main_config->server_list); } free(main_config->default_server); #endif #ifdef USE_LIBSSH2 free(main_config->public_key); free(main_config->private_key); #endif free(main_config->work_dir); free(main_config->cmd_argv); } #if defined(USE_WIN32API) || defined(USE_LIBSSH2) int ui_main_config_add_to_server_list(ui_main_config_t *main_config, char *server) { u_int nlist; size_t len; size_t add_len; char *p; char **pp; nlist = 0; len = 0; if (main_config->server_list) { while (main_config->server_list[nlist]) { len += (strlen(main_config->server_list[nlist]) + 1); if (strcmp(main_config->server_list[nlist++], server) == 0) { return 1; } } } add_len = strlen(server) + 1; p = NULL; if (main_config->server_list) { if ((p = realloc(main_config->server_list[0], len + add_len))) { memcpy(p + len, server, add_len); } } else { p = strdup(server); } if (p && (pp = realloc(main_config->server_list, sizeof(char *) * (nlist + 2)))) { u_int count; main_config->server_list = pp; for (count = 0; count < nlist + 1; count++) { main_config->server_list[count] = p; p += (strlen(p) + 1); } main_config->server_list[count] = NULL; return 1; } else { free(p); return 0; } } #endif mlterm-3.8.4/uitoolkit/ui_shortcut.h010064400017600000144000000022741321054731200162730ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * This manages short-cut keys of ui_screen key events. */ #ifndef __UI_SHORTCUT_H__ #define __UI_SHORTCUT_H__ #include "ui.h" #include typedef enum ui_key_func { IM_HOTKEY, EXT_KBD, OPEN_SCREEN, OPEN_PTY, NEXT_PTY, PREV_PTY, HSPLIT_SCREEN, VSPLIT_SCREEN, NEXT_SCREEN, PREV_SCREEN, CLOSE_SCREEN, HEXPAND_SCREEN, VEXPAND_SCREEN, PAGE_UP, PAGE_DOWN, SCROLL_UP, SCROLL_DOWN, INSERT_SELECTION, EXIT_PROGRAM, MAX_KEY_MAPS } ui_key_func_t; typedef struct ui_key { KeySym ksym; u_int state; int is_used; } ui_key_t; typedef struct ui_str_key { KeySym ksym; u_int state; char *str; } ui_str_key_t; typedef struct ui_shortcut { ui_key_t map[MAX_KEY_MAPS]; ui_str_key_t *str_map; u_int str_map_size; } ui_shortcut_t; void ui_shortcut_init(ui_shortcut_t *shortcut); void ui_shortcut_final(ui_shortcut_t *shortcut); int ui_shortcut_match(ui_shortcut_t *shortcut, ui_key_func_t func, KeySym sym, u_int state); char *ui_shortcut_str(ui_shortcut_t *shortcut, KeySym sym, u_int state); int ui_shortcut_parse(ui_shortcut_t *shortcut, char *key, char *oper); #endif mlterm-3.8.4/uitoolkit/ui_picture.c010064400017600000144000000646061321054731200160750ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef NO_IMAGE #include "ui_picture.h" #include /* unlink */ #include /* system */ #include #include #include #include /* strdup */ #include /* malloc */ #include /* K_MIN */ #include /* bl_get_user_rc_path */ #ifdef HAVE_PTHREAD #include #ifndef HAVE_WINDOWS_H #include #include #endif #endif #ifdef USE_XLIB /* HAVE_WINDOWS_H is undefined on cygwin/x11 */ #undef HAVE_WINDOWS_H #endif #include "ui_imagelib.h" #define DUMMY_PIXMAP ((Pixmap)1) #define PIXMAP_IS_ACTIVE(inline_pic) ((inline_pic).pixmap && (inline_pic).pixmap != DUMMY_PIXMAP) #if 0 #define __DEBUG #endif typedef struct inline_pic_args { int idx; #ifdef HAVE_WINDOWS_H HANDLE ev; #else int ev; #endif } inline_pic_args_t; /* --- static varaibles --- */ static ui_picture_t **pics; static u_int num_pics; static ui_icon_picture_t **icon_pics; static u_int num_icon_pics; static ui_inline_picture_t *inline_pics; static u_int num_inline_pics; static u_int num_anims; static int need_cleanup; /* --- static functions --- */ static ui_picture_t *create_picture_intern(Display *display, ui_picture_modifier_t *mod, char *file_path, u_int width, u_int height) { ui_picture_t *pic; if ((pic = malloc(sizeof(ui_picture_t))) == NULL) { return NULL; } if (mod) { if ((pic->mod = malloc(sizeof(ui_picture_modifier_t))) == NULL) { goto error1; } *pic->mod = *mod; } else { pic->mod = NULL; } if ((pic->file_path = strdup(file_path)) == NULL) { goto error2; } pic->display = display; pic->width = width; pic->height = height; return pic; error2: free(pic->mod); error1: free(pic); return NULL; } static int delete_picture_intern(ui_picture_t *pic) { free(pic->file_path); free(pic->mod); free(pic); return 1; } static ui_picture_t *create_bg_picture(ui_window_t *win, ui_picture_modifier_t *mod, char *file_path) { ui_picture_t *pic; if (!(pic = create_picture_intern(win->disp->display, mod, file_path, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)))) { return NULL; } if (strcmp(file_path, "root") == 0) { pic->pixmap = ui_imagelib_get_transparent_background(win, mod); } else { pic->pixmap = ui_imagelib_load_file_for_background(win, file_path, mod); } if (pic->pixmap == None) { delete_picture_intern(pic); return NULL; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " New pixmap %ul is created.\n", pic->pixmap); #endif pic->ref_count = 1; return pic; } static int delete_picture(ui_picture_t *pic) { /* XXX Pixmap of "pixmap:" is managed by others, so don't free here. */ if (strncmp(pic->file_path, "pixmap:", 7) != 0) { ui_delete_image(pic->display, pic->pixmap); } delete_picture_intern(pic); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " pixmap is deleted.\n"); #endif return 1; } static ui_icon_picture_t *create_icon_picture(ui_display_t *disp, char *file_path /* Don't specify NULL. */ ) { u_int icon_size = 48; ui_icon_picture_t *pic; if ((pic = malloc(sizeof(ui_icon_picture_t))) == NULL) { return NULL; } if ((pic->file_path = strdup(file_path)) == NULL) { free(pic->file_path); return NULL; } if (!ui_imagelib_load_file(disp, file_path, &(pic->cardinal), &(pic->pixmap), &(pic->mask), &icon_size, &icon_size)) { free(pic->file_path); free(pic); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load icon file(%s).\n", file_path); #endif return NULL; } pic->disp = disp; pic->ref_count = 1; #if 0 bl_debug_printf(BL_DEBUG_TAG " Successfully loaded icon file %s.\n", file_path); #endif return pic; } static int delete_icon_picture(ui_icon_picture_t *pic) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s icon will be deleted.\n", pic->file_path); #endif ui_delete_image(pic->disp->display, pic->pixmap); ui_delete_mask(pic->disp->display, pic->mask); free(pic->cardinal); free(pic->file_path); free(pic); return 1; } static int hash_path(char *path) { int hash; hash = 0; while (*path) { hash += *(path++); } return hash & 65535 /* 0xffff */; } static inline size_t get_anim_file_path_len(char *dir) { return strlen(dir) + 10 + 5 + DIGIT_STR_LEN(int)+1; } static int anim_file_exists(char *file_path, char *dir, int hash, int count) { struct stat st; if (count > 0) { sprintf(file_path, "%sanim%d-%d.gif", dir, hash, count); if (stat(file_path, &st) == 0) { return 1; } sprintf(file_path, "%sanimx%d-%d.gif", dir, hash, count); } else { sprintf(file_path, "%sanim%d.gif", dir, hash); } return stat(file_path, &st) == 0; } /* * XXX * This function should be called synchronously because both load_file_async() * and cleanup_inline_pictures() can call this asynchronously. */ static int delete_inline_picture(ui_inline_picture_t *pic /* pic->pixmap mustn't be NULL. */ ) { if (pic->pixmap == DUMMY_PIXMAP) { if (strstr(pic->file_path, "mlterm/anim")) { /* GIF Animation frame */ unlink(pic->file_path); } else if (pic->disp) { /* loading async */ return 0; } } /* pic->disp can be NULL by ui_picture_display_closed() and load_file(). */ if (pic->disp) { if (pic->pixmap != DUMMY_PIXMAP) { ui_delete_image(pic->disp->display, pic->pixmap); ui_delete_mask(pic->disp->display, pic->mask); } pic->disp = NULL; } if (pic->file_path) { if (strcasecmp(pic->file_path + strlen(pic->file_path) - 4, ".gif") == 0 && /* If check_anim was processed, next_frame == -2. */ pic->next_frame == -1) { char *dir; char *file_path; if ((dir = bl_get_user_rc_path("mlterm/")) && (file_path = alloca(get_anim_file_path_len(dir)))) { int hash; int count; hash = hash_path(pic->file_path); for (count = 0;; count++) { if (!anim_file_exists(file_path, dir, hash, count)) { break; } unlink(file_path); } } free(dir); } free(pic->file_path); pic->file_path = NULL; } /* pixmap == None means that the inline picture is empty. */ pic->pixmap = None; /* * Don't next_frame = -1 here because ui_animate_inline_pictures() refers it * even if load_file() fails. */ if (pic->next_frame >= 0) { num_anims--; } return 1; } static void pty_closed(vt_term_t *term) { u_int count; for (count = 0; count < num_inline_pics; count++) { if (inline_pics[count].term == term && inline_pics[count].pixmap) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " delete inline picture %d (%d)\n", count, num_inline_pics); #endif delete_inline_picture(inline_pics + count); } } /* XXX The memory of intern_pics is not freed. */ } static void check_inline_pictures(vt_term_t *term, u_int8_t *flags, int beg, int end) { int row; vt_line_t *line; u_int count; for (row = beg; row <= end; row++) { if ((line = vt_term_get_line(term, row))) { for (count = 0; count < line->num_filled_chars; count++) { vt_char_t *ch; if ((ch = vt_get_picture_char(line->chars + count))) { int idx; idx = vt_char_picture_id(ch); do { flags[idx] = 1; idx = inline_pics[idx].next_frame; } while (idx >= 0 && flags[idx] == 0); } } } } } static int cleanup_inline_pictures(vt_term_t *term) { #define THRESHOLD 48 int count; int empty_idx; u_int8_t *flags; /* * Don't cleanup unused inline pictures until the number of cached inline * pictures is THRESHOLD or more(num_inline_pics >= THRESHOLD and * need_cleanup is true). */ if (num_inline_pics < THRESHOLD || !(flags = alloca(num_inline_pics))) { if (num_inline_pics == 0) { /* XXX */ vt_term_pty_closed_event = pty_closed; } return -1; } if (!need_cleanup) { memset(flags, 1, num_inline_pics); } else { int beg; int end; vt_edit_t *orig_edit; memset(flags, 0, num_inline_pics); /* * Inline pictures in back logs except recent MAX_INLINE_PICTURES*2 lines * are deleted in line_scrolled_out() in ui_screen.c. */ if ((beg = -vt_term_get_num_logged_lines(term)) < INLINEPIC_AVAIL_ROW) { beg = INLINEPIC_AVAIL_ROW; } end = vt_term_get_rows(term); orig_edit = term->screen->edit; check_inline_pictures(term, flags, beg, end); if (term->screen->edit == &term->screen->alt_edit) { term->screen->edit = &term->screen->normal_edit; check_inline_pictures(term, flags, 0, end); } if (term->screen->page_edits) { int count = 0; for (count = 0; count < 8 /* MAX_PAGE_ID in vt_screen.c */ ; count++) { if ((term->screen->edit = term->screen->page_edits + count) != orig_edit) { check_inline_pictures(term, flags, 0, end); } } } term->screen->edit = orig_edit; } empty_idx = -1; for (count = num_inline_pics - 1; count >= 0; count--) { if (inline_pics[count].pixmap == None) { /* do nothing */ } else if (!flags[count] && inline_pics[count].term == term) { /* * Don't cleanup inline pictures refered twice or more times * until num_inline_pics reaches THRESHOLD or more. */ if (inline_pics[count].weighting >= 2 && num_inline_pics < THRESHOLD + 8) { inline_pics[count].weighting /= 2; continue; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " delete inline picture %s %d (%d) \n", inline_pics[count].file_path, count, num_inline_pics); #endif if (!delete_inline_picture(inline_pics + count)) { continue; } if (count == num_inline_pics - 1) { num_inline_pics--; /* * Don't return count because it is out * of num_inline_pics. */ continue; } } } else { continue; } if (empty_idx == -1) { if (!need_cleanup) { return count; } else { empty_idx = count; /* Continue cleaning up. */ } } } if (empty_idx == -1 && num_inline_pics >= THRESHOLD) { /* * There is no empty entry. (The number of cached inline pictures * is THRESHOLD or more.) */ need_cleanup = 1; } else { need_cleanup = 0; } return empty_idx; } static int load_file(void *p) { int idx; Pixmap pixmap; PixmapMask mask; u_int width; u_int height; idx = ((inline_pic_args_t*)p)->idx; width = inline_pics[idx].width; height = inline_pics[idx].height; if (ui_imagelib_load_file(inline_pics[idx].disp, inline_pics[idx].file_path, NULL, &pixmap, &mask, &width, &height)) { if (strstr(inline_pics[idx].file_path, "mlterm/anim")) { /* GIF Animation frame */ unlink(inline_pics[idx].file_path); } /* XXX pthread_mutex_lock( &mutex) is necessary. */ inline_pics[idx].mask = mask; inline_pics[idx].width = width; inline_pics[idx].height = height; inline_pics[idx].pixmap = pixmap; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " new inline picture (%s %d %d %d %p %p) is created.\n", inline_pics[idx].file_path, idx, width, height, inline_pics[idx].pixmap, inline_pics[idx].mask); #endif return 1; } else { inline_pics[idx].disp = NULL; delete_inline_picture(inline_pics + idx); return 0; } } #if defined(USE_WIN32API) || defined(HAVE_PTHREAD) #ifdef USE_WIN32API static u_int __stdcall #else static void* #endif load_file_async(void *p) { #ifdef HAVE_PTHREAD pthread_detach(pthread_self()); #endif load_file(p); #ifdef HAVE_WINDOWS_H if (((inline_pic_args_t*)p)->ev) { SetEvent(((inline_pic_args_t*)p)->ev); CloseHandle(((inline_pic_args_t*)p)->ev); } #else if (((inline_pic_args_t*)p)->ev != -1) { close(((inline_pic_args_t*)p)->ev); } #endif free(p); return 0; } #endif static int ensure_inline_picture(ui_display_t *disp, const char *file_path, u_int *width, /* can be 0 */ u_int *height, /* can be 0 */ u_int col_width, u_int line_height, vt_term_t *term) { int idx; if ((idx = cleanup_inline_pictures(term)) == -1) { void *p; /* XXX pthread_mutex_lock( &mutex) is necessary. */ if (num_inline_pics >= MAX_INLINE_PICTURES || !(p = realloc(inline_pics, (num_inline_pics + 1) * sizeof(*inline_pics)))) { return -1; } inline_pics = p; idx = num_inline_pics++; } inline_pics[idx].pixmap = None; /* mark as empty */ inline_pics[idx].file_path = strdup(file_path); inline_pics[idx].width = *width; inline_pics[idx].height = *height; inline_pics[idx].disp = disp; inline_pics[idx].term = term; inline_pics[idx].col_width = col_width; inline_pics[idx].line_height = line_height; inline_pics[idx].next_frame = -1; /* Don't delete before being inserted to vt_term_t after loading async. */ inline_pics[idx].weighting = 2; return idx; } static int next_frame_pos(ui_inline_picture_t *prev, ui_inline_picture_t *next, int pos) { u_int cur_rows; u_int next_rows; int row; int col; cur_rows = (prev->height + prev->line_height - 1) / prev->line_height; next_rows = (next->height + next->line_height - 1) / next->line_height; row = pos % cur_rows; col = pos / cur_rows; if (row < next_rows && col < (next->width + next->col_width - 1) / next->col_width) { return MAKE_INLINEPIC_POS(col, row, next_rows); } else { return -1; } } /* --- global functions --- */ void ui_picture_display_opened(Display *display) { ui_imagelib_display_opened(display); } void ui_picture_display_closed(Display *display) { int count; if (num_icon_pics > 0) { for (count = num_icon_pics - 1; count >= 0; count--) { if (icon_pics[count]->disp->display == display) { delete_icon_picture(icon_pics[count]); icon_pics[count] = icon_pics[--num_icon_pics]; } } if (num_icon_pics == 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " All cached icons were free'ed\n"); #endif free(icon_pics); icon_pics = NULL; } } for (count = 0; count < num_inline_pics; count++) { if (inline_pics[count].disp && inline_pics[count].disp->display == display) { if (PIXMAP_IS_ACTIVE(inline_pics[count])) { ui_delete_image(display, inline_pics[count].pixmap); ui_delete_mask(display, inline_pics[count].mask); } /* * Don't set ui_inline_picture_t::pixmap = None here because * this inline picture can still exist in vt_term_t. * * disp = NULL is for platforms where * INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS is not defined. * (see draw_picture() in ui_draw_str.c) */ inline_pics[count].disp = NULL; } } ui_imagelib_display_closed(display); } /* * Judge whether pic_mods are equal or not. * \param a,b picture modifier * \return 1 when they are same. 0 when not. */ int ui_picture_modifiers_equal( ui_picture_modifier_t *a, /* Can be NULL (which means normal pic_mod) */ ui_picture_modifier_t *b /* Can be NULL (which means normal pic_mod) */ ) { if (a == b) { /* If a==NULL and b==NULL, return 1 */ return 1; } if (a == NULL) { a = b; b = NULL; } if (b == NULL) { /* Check if 'a' is normal or not. */ if ((a->brightness == 100) && (a->contrast == 100) && (a->gamma == 100) && (a->alpha == 0)) { return 1; } } else { if ((a->brightness == b->brightness) && (a->contrast == b->contrast) && (a->gamma == b->gamma) && (a->alpha == b->alpha) && (a->blend_red == b->blend_red) && (a->blend_green == b->blend_green) && (a->blend_blue == b->blend_blue)) { return 1; } } return 0; } ui_picture_t *ui_acquire_bg_picture(ui_window_t *win, ui_picture_modifier_t *mod, char *file_path /* "root" means transparency. */ ) { ui_picture_t **p; if (strcmp(file_path, "root") != 0) /* Transparent background is not cached. */ { u_int count; for (count = 0; count < num_pics; count++) { if (strcmp(file_path, pics[count]->file_path) == 0 && win->disp->display == pics[count]->display && ui_picture_modifiers_equal(mod, pics[count]->mod) && ACTUAL_WIDTH(win) == pics[count]->width && ACTUAL_HEIGHT(win) == pics[count]->height) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Use cached picture(%s).\n", file_path); #endif pics[count]->ref_count++; return pics[count]; } } } if ((p = realloc(pics, (num_pics + 1) * sizeof(*pics))) == NULL) { return NULL; } pics = p; if (!(pics[num_pics] = create_bg_picture(win, mod, file_path))) { if (num_pics == 0 /* pics == NULL */) { free(pics); pics = NULL; } return NULL; } return pics[num_pics++]; } void ui_release_picture(ui_picture_t *pic) { u_int count; for (count = 0; count < num_pics; count++) { if (pic == pics[count]) { if (--(pic->ref_count) == 0) { delete_picture(pic); if (--num_pics == 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " All cached bg pictures were free'ed\n"); #endif free(pics); pics = NULL; } else { pics[count] = pics[num_pics]; } } return; } } } ui_icon_picture_t *ui_acquire_icon_picture(ui_display_t *disp, char *file_path /* Don't specify NULL. */ ) { u_int count; ui_icon_picture_t **p; for (count = 0; count < num_icon_pics; count++) { if (strcmp(file_path, icon_pics[count]->file_path) == 0 && disp == icon_pics[count]->disp) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Use cached icon(%s).\n", file_path); #endif icon_pics[count]->ref_count++; return icon_pics[count]; } } if ((p = realloc(icon_pics, (num_icon_pics + 1) * sizeof(*icon_pics))) == NULL) { return NULL; } icon_pics = p; if ((icon_pics[num_icon_pics] = create_icon_picture(disp, file_path)) == NULL) { if (num_icon_pics == 0 /* icon_pics == NULL */) { free(icon_pics); icon_pics = NULL; } return NULL; } return icon_pics[num_icon_pics++]; } void ui_release_icon_picture(ui_icon_picture_t *pic) { u_int count; for (count = 0; count < num_icon_pics; count++) { if (pic == icon_pics[count]) { if (--(pic->ref_count) == 0) { delete_icon_picture(pic); if (--num_icon_pics == 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " All cached icons were free'ed\n"); #endif free(icon_pics); icon_pics = NULL; } else { icon_pics[count] = icon_pics[num_icon_pics]; } } return; } } } int ui_load_inline_picture(ui_display_t *disp, char *file_path, u_int *width, /* can be 0 */ u_int *height, /* can be 0 */ u_int col_width, u_int line_height, vt_term_t *term) { int idx; inline_pic_args_t *args; /* XXX Don't reuse ~/.mlterm/[pty name].six, [pty name].rgs and anim-*.gif */ if (!strstr(file_path, "mlterm/") || strstr(file_path, "mlterm/macro") || strstr(file_path, "mlterm/emoji/")) { for (idx = 0; idx < num_inline_pics; idx++) { if (PIXMAP_IS_ACTIVE(inline_pics[idx]) && disp == inline_pics[idx].disp && strcmp(file_path, inline_pics[idx].file_path) == 0 && term == inline_pics[idx].term && /* XXX */ (*width == 0 || *width == inline_pics[idx].width) && /* XXX */ (*height == 0 || *height == inline_pics[idx].height)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Use cached picture(%s).\n", file_path); #endif inline_pics[idx].weighting++; if (strcasecmp(file_path + strlen(file_path) - 4, ".gif") == 0 && /* If check_anim was processed, next_frame == -2. */ inline_pics[idx].next_frame == -1) { goto check_anim; } else { goto end; } } } } if ((idx = ensure_inline_picture(disp, file_path, width, height, col_width, line_height, term)) == -1 || !(args = malloc(sizeof(inline_pic_args_t)))) { return -1; } args->idx = idx; #if defined(HAVE_PTHREAD) || defined(USE_WIN32API) if (strstr(file_path, "://")) { /* Loading a remote file asynchronously. */ #ifdef HAVE_WINDOWS_H args->ev = CreateEvent(NULL, FALSE, FALSE, NULL); #else int fds[2]; if (pipe(fds) != 0) { fds[1] = args->ev = -1; } else { args->ev = fds[0]; } #endif inline_pics[idx].pixmap = DUMMY_PIXMAP; #ifdef USE_WIN32API { HANDLE thrd; u_int tid; if ((thrd = _beginthreadex(NULL, 0, load_file_async, args, 0, &tid))) { CloseHandle(thrd); } } #else { pthread_t thrd; pthread_create(&thrd, NULL, load_file_async, args); } #endif #ifdef HAVE_WINDOWS_H if (WaitForSingleObject(args->ev, 750) != WAIT_TIMEOUT && PIXMAP_IS_ACTIVE(inline_pics[idx])) { goto check_anim; } #else if (fds[1] != -1) { fd_set read_fds; struct timeval tval; int ret; tval.tv_usec = 750000; tval.tv_sec = 0; FD_ZERO(&read_fds); FD_SET(fds[1], &read_fds); ret = select(fds[1] + 1, &read_fds, NULL, NULL, &tval); close(fds[1]); if (ret != 0 && PIXMAP_IS_ACTIVE(inline_pics[idx])) { goto check_anim; } } #endif } else #endif { int ret; #ifdef BUILTIN_IMAGELIB ret = load_file(args); #else struct stat st; ret = ( #if !defined(HAVE_PTHREAD) && !defined(USE_WIN32API) strstr(file_path, "://") || #endif stat(file_path, &st) == 0) && load_file(args); #endif free(args); if (ret) { goto check_anim; } } return -1; check_anim: if (strcasecmp(file_path + strlen(file_path) - 4, ".gif") == 0) { /* Animation GIF */ char *dir; /* mark checked */ inline_pics[idx].next_frame = -2; if ((dir = bl_get_user_rc_path("mlterm/")) && (file_path = alloca(get_anim_file_path_len(dir)))) { int hash; int count; int i; int prev_i; hash = hash_path(inline_pics[idx].file_path); if (anim_file_exists(file_path, dir, hash, 0)) { /* The first frame has been already loaded. */ unlink(file_path); } prev_i = idx; for (count = 1;; count++) { if (!anim_file_exists(file_path, dir, hash, count)) { break; } /* * Don't clean up because the 1st frame has not been set * to vt_term_t yet here. */ need_cleanup = 0; if ((i = ensure_inline_picture(disp, file_path, width, height, col_width, line_height, term)) >= 0 && ui_add_frame_to_animation(prev_i, i)) { inline_pics[i].pixmap = DUMMY_PIXMAP; prev_i = i; } } } free(dir); } end: *width = inline_pics[idx].width; *height = inline_pics[idx].height; return idx; } ui_inline_picture_t *ui_get_inline_picture(int idx) { if (inline_pics && idx < num_inline_pics) { return inline_pics + idx; } else { return NULL; } } int ui_add_frame_to_animation(int prev_idx, int next_idx) { ui_inline_picture_t *prev_pic; ui_inline_picture_t *next_pic; if ((prev_pic = ui_get_inline_picture(prev_idx)) && (next_pic = ui_get_inline_picture(next_idx)) && /* Animation is stopped after adding next_idx which equals to prev_pic->next_frame */ prev_pic->next_frame != next_idx && /* Don't add a picture which has been already added to an animation. */ next_pic->next_frame < 0) { if (prev_pic->next_frame < 0) { num_anims += 2; prev_pic->next_frame = next_idx; next_pic->next_frame = prev_idx; } else { num_anims++; next_pic->next_frame = prev_pic->next_frame; prev_pic->next_frame = next_idx; } return 1; } else { return 0; } } int ui_animate_inline_pictures(vt_term_t *term) { int wait; int row; vt_line_t *line; u_int num_rows; if (!num_anims) { return 0; } wait = 0; num_rows = vt_term_get_rows(term); for (row = 0; row < num_rows; row++) { if ((line = vt_term_get_line_in_screen(term, row))) { int char_index; for (char_index = 0; char_index < line->num_filled_chars; char_index++) { vt_char_t *ch; if ((ch = vt_get_picture_char(line->chars + char_index))) { int32_t pos; int idx; int next; pos = vt_char_code(ch); idx = vt_char_picture_id(ch); if ((next = inline_pics[idx].next_frame) < 0) { continue; } retry: if (inline_pics[next].pixmap == DUMMY_PIXMAP) { inline_pic_args_t args; args.idx = next; if (!load_file(&args)) { if (inline_pics[next].next_frame == idx) { inline_pics[idx].next_frame = -1; continue; } next = inline_pics[idx].next_frame = inline_pics[next].next_frame; goto retry; } /* shorten waiting time. */ wait = 2; } if ((pos = next_frame_pos(inline_pics + idx, inline_pics + next, pos)) >= 0) { vt_char_set_code(ch, pos); vt_char_set_picture_id(ch, next); vt_line_set_modified(line, char_index, char_index); if (wait == 0) { wait = 1; } } } } } } return wait; } int ui_load_tmp_picture(ui_display_t *disp, char *file_path, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height) { *width = *height = 0; if (ui_imagelib_load_file(disp, file_path, NULL, pixmap, mask, width, height)) { return 1; } else { return 0; } } void ui_delete_tmp_picture(ui_display_t *disp, Pixmap pixmap, PixmapMask mask) { ui_delete_image(disp->display, pixmap); ui_delete_mask(disp->display, mask); } #endif /* NO_IMAGE */ mlterm-3.8.4/uitoolkit/ui_draw_str.h010064400017600000144000000015721321054731200162450ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_DRAW_STR_H__ #define __UI_DRAW_STR_H__ #include #include "ui_window.h" #include "ui_font_manager.h" #include "ui_color_manager.h" int ui_draw_str(ui_window_t *window, ui_font_manager_t *font_man, ui_color_manager_t *color_man, vt_char_t *chars, u_int num_chars, int x, int y, u_int height, u_int ascent, int top_margin, int hide_underline, int underline_offset); int ui_draw_str_to_eol(ui_window_t *window, ui_font_manager_t *font_man, ui_color_manager_t *color_man, vt_char_t *chars, u_int num_chars, int x, int y, u_int height, u_int ascent, int top_margin, int hide_underline, int underline_offset); u_int ui_calculate_vtchar_width(ui_font_t *font, vt_char_t *ch, int *draw_alone); #endif mlterm-3.8.4/uitoolkit/ui_font_manager.h010064400017600000144000000053101321054731200170520ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_FONT_MANAGER_H__ #define __UI_FONT_MANAGER_H__ #include "ui.h" #include #include #include "ui_font_cache.h" typedef struct ui_font_manager { ui_font_cache_t *font_cache; ui_font_config_t *font_config; u_int8_t step_in_changing_font_size; int8_t use_bold_font; int8_t use_italic_font; int8_t size_attr; #ifdef USE_OT_LAYOUT int8_t use_ot_layout; #endif } ui_font_manager_t; int ui_set_font_size_range(u_int min_font_size, u_int max_font_size); ui_font_manager_t *ui_font_manager_new(Display *display, ui_type_engine_t type_engine, ui_font_present_t font_present, u_int font_size, ef_charset_t usascii_font_cs, u_int step_in_changing_font_size, u_int letter_space, int use_bold_font, int use_italic_font); void ui_font_manager_delete(ui_font_manager_t *font_man); void ui_font_manager_set_attr(ui_font_manager_t *font_man, int size_attr, int use_ot_layout); ui_font_t *ui_get_font(ui_font_manager_t *font_man, vt_font_t font); #define ui_get_usascii_font(font_man) ((font_man)->font_cache->usascii_font) int ui_font_manager_usascii_font_cs_changed(ui_font_manager_t *font_man, ef_charset_t usascii_font_cs); int ui_change_font_present(ui_font_manager_t *font_man, ui_type_engine_t type_engine, ui_font_present_t font_present); ui_type_engine_t ui_get_type_engine(ui_font_manager_t *font_man); ui_font_present_t ui_get_font_present(ui_font_manager_t *font_man); int ui_change_font_size(ui_font_manager_t *font_man, u_int font_size); int ui_larger_font(ui_font_manager_t *font_man); int ui_smaller_font(ui_font_manager_t *font_man); u_int ui_get_font_size(ui_font_manager_t *font_man); int ui_set_letter_space(ui_font_manager_t *font_man, u_int letter_space); #define ui_get_letter_space(font_man) ((font_man)->font_cache->letter_space) int ui_set_use_bold_font(ui_font_manager_t *font_man, int use_bold_font); #define ui_is_using_bold_font(font_man) ((font_man)->use_bold_font) int ui_set_use_italic_font(ui_font_manager_t *font_man, int use_italic_font); #define ui_is_using_italic_font(font_man) ((font_man)->use_italic_font) #define ui_get_fontset(font_man) ui_font_cache_get_fontset((font_man)->font_cache) #define ui_get_current_usascii_font_cs(font_man) ((font_man)->font_cache->usascii_font_cs) ef_charset_t ui_get_usascii_font_cs(vt_char_encoding_t encoding); #define ui_font_manager_dump_font_config(font_man) ui_font_config_dump((font_man)->font_config) #endif mlterm-3.8.4/uitoolkit/ui_screen_manager.c010064400017600000144000001051231321054731200173610ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_screen_manager.h" #include /* sprintf */ #include /* memset/memcpy */ #include /* getenv */ #include /* getuid */ #include /* USE_WIN32API */ #ifndef USE_WIN32API #include /* getpwuid */ #endif #include #include /* bl_str_sep/bl_str_to_int/bl_str_alloca_dup/strdup */ #include /* bl_basename */ #include /* DIGIT_STR_LEN */ #include /* alloca/bl_alloca_garbage_collect/malloc/free */ #include #include #include /* u_int */ #include /* bl_arg_str_to_array */ #include #include #include #include "ui_layout.h" #include "ui_display.h" #if defined(USE_WIN32API) || defined(USE_LIBSSH2) #include "ui_connect_dialog.h" #endif #define MAX_SCREENS (MSU * max_screens_multiple) /* Default MAX_SCREENS is 32. */ #define MSU (8 * sizeof(dead_mask[0])) /* MAX_SCREENS_UNIT */ #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *mlterm_version; static u_int max_screens_multiple; static u_int32_t *dead_mask; static ui_screen_t **screens; static u_int num_screens; static u_int depth; static u_int num_startup_screens; static ui_system_event_listener_t system_listener; static ui_main_config_t main_config; static ui_shortcut_t shortcut; /* --- static functions --- */ /* * Callbacks of vt_config_event_listener_t events. */ /* * Reload mlterm/main file and reset main_config. * Notice: Saved changes are not applied to the screens already opened. */ static void config_saved(void) { bl_conf_t *conf; char *argv[] = {"mlterm", NULL}; ui_main_config_final(&main_config); if ((conf = bl_conf_new()) == NULL) { return; } ui_prepare_for_main_config(conf); ui_main_config_init(&main_config, conf, 1, argv); bl_conf_delete(conf); } static void font_config_updated(void) { u_int count; ui_font_cache_unload_all(); for (count = 0; count < num_screens; count++) { ui_screen_reset_view(screens[count]); } } static void color_config_updated(void) { u_int count; ui_color_cache_unload_all(); ui_display_reset_cmap(); for (count = 0; count < num_screens; count++) { ui_screen_reset_view(screens[count]); } } static vt_term_t *create_term_intern(void) { vt_term_t *term; if ((term = vt_create_term( main_config.term_type, main_config.cols, main_config.rows, main_config.tab_size, main_config.num_log_lines, main_config.encoding, main_config.is_auto_encoding, main_config.use_auto_detect, main_config.logging_vt_seq, main_config.unicode_policy, main_config.col_size_of_width_a, main_config.use_char_combining, main_config.use_multi_col_char, main_config.use_ctl, main_config.bidi_mode, main_config.bidi_separators, main_config.use_dynamic_comb, main_config.bs_mode, main_config.vertical_mode, main_config.use_local_echo, main_config.title, main_config.icon_name, main_config.use_ansi_colors, main_config.alt_color_mode, main_config.use_ot_layout, main_config.blink_cursor ? CS_BLINK|CS_BLOCK : CS_BLOCK, main_config.ignore_broadcasted_chars)) == NULL) { return NULL; } if (main_config.icon_path) { vt_term_set_icon_path(term, main_config.icon_path); } if (main_config.unlimit_log_size) { vt_term_unlimit_log_size(term); } return term; } static int open_pty_intern(vt_term_t *term, char *cmd_path, char **cmd_argv, ui_window_t *win, int show_dialog) { char *display; Window window; u_int width_pix; u_int height_pix; char *env[7]; /* MLTERM,TERM,WINDOWID,WAYLAND_DISPLAY,DISPLAY,COLORFGBG,NULL */ char **env_p; char wid_env[9 + DIGIT_STR_LEN(Window) + 1]; /* "WINDOWID="(9) + [32bit digit] + NULL(1) */ char *disp_env; char *term_env; char *uri; char *pass; int ret; display = win->disp->name; window = win->my_window; if (vt_term_get_vertical_mode(term)) { width_pix = win->height * 100 / ((ui_screen_t*)win)->screen_width_ratio; height_pix = win->width; } else { width_pix = win->width * 100 / ((ui_screen_t*)win)->screen_width_ratio; height_pix = win->height; } env_p = env; *(env_p++) = mlterm_version; sprintf(wid_env, "WINDOWID=%ld", window); *(env_p++) = wid_env; #ifdef USE_WAYLAND /* "WAYLAND_DISPLAY="(16) + NULL(1) */ if (display && (disp_env = alloca(16 + strlen(display) + 1))) { sprintf(disp_env, "WAYLAND_DISPLAY=%s", display); *(env_p++) = disp_env; } *(env_p++) = "DISPLAY=:0.0"; #else /* "DISPLAY="(8) + NULL(1) */ if (display && (disp_env = alloca(8 + strlen(display) + 1))) { sprintf(disp_env, "DISPLAY=%s", display); *(env_p++) = disp_env; } #endif /* "TERM="(5) + NULL(1) */ if (main_config.term_type && (term_env = alloca(5 + strlen(main_config.term_type) + 1))) { sprintf(term_env, "TERM=%s", main_config.term_type); *(env_p++) = term_env; } *(env_p++) = "COLORFGBG=default;default"; /* NULL terminator */ *env_p = NULL; uri = NULL; pass = NULL; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (show_dialog || main_config.default_server) { char *user; char *host; char *port; char *encoding; char *exec_cmd; int x11_fwd; void *session; x11_fwd = main_config.use_x11_forwarding; #ifdef USE_LIBSSH2 if (!show_dialog && main_config.default_server && bl_parse_uri(NULL, &user, &host, &port, NULL, &encoding, bl_str_alloca_dup(main_config.default_server)) && (session = vt_search_ssh_session(host, port, user))) { uri = strdup(main_config.default_server); pass = strdup(""); exec_cmd = NULL; if (x11_fwd) { vt_pty_ssh_set_use_x11_forwarding(session, x11_fwd); } } else #endif if (!ui_connect_dialog(&uri, &pass, &exec_cmd, &x11_fwd, display, window, main_config.server_list, main_config.default_server)) { bl_msg_printf("Connect dialog is canceled.\n"); if (vt_get_all_terms(NULL) > 1) { return 0; } encoding = exec_cmd = NULL; } else { if (!bl_parse_uri(NULL, &user, &host, &port, NULL, &encoding, bl_str_alloca_dup(uri))) { encoding = NULL; } #ifdef USE_LIBSSH2 vt_pty_ssh_set_use_x11_forwarding(vt_search_ssh_session(host, port, user), x11_fwd); #endif } #ifdef __DEBUG bl_debug_printf("Connect dialog: URI %s pass %s\n", uri, pass); #endif if (encoding) { if (vt_term_is_attached(term)) { /* * Don't use vt_term_change_encoding() here because * encoding change could cause special visual change * which should update the state of ui_screen_t. */ char *seq; size_t len; if ((seq = alloca((len = 16 + strlen(encoding) + 2)))) { sprintf(seq, "\x1b]5379;encoding=%s\x07", encoding); vt_term_write_loopback(term, seq, len - 1); } } else { vt_term_change_encoding(term, vt_get_char_encoding(encoding)); } } if (exec_cmd) { int argc; char *tmp; tmp = exec_cmd; exec_cmd = bl_str_alloca_dup(exec_cmd); cmd_argv = bl_arg_str_to_array(&argc, exec_cmd); cmd_path = cmd_argv[0]; free(tmp); } } #endif #if 0 if (cmd_argv) { char **p; bl_debug_printf(BL_DEBUG_TAG " %s", cmd_path); p = cmd_argv; while (*p) { bl_msg_printf(" %s", *p); p++; } bl_msg_printf("\n"); } #endif /* * If cmd_path and pass are NULL, set default shell as cmd_path. * If uri is not NULL (= connecting to ssh/telnet/rlogin etc servers), * cmd_path is not changed. */ if (!uri && !cmd_path) { #ifdef USE_QUARTZ char *user; if ((user = getenv("USER")) && (cmd_argv = alloca(sizeof(char *) * 4))) { cmd_argv[0] = cmd_path = "login"; cmd_argv[1] = "-fp"; cmd_argv[2] = user; cmd_argv[3] = NULL; } else #endif { /* * SHELL env var -> /etc/passwd -> /bin/sh */ if ((cmd_path = getenv("SHELL")) == NULL || *cmd_path == '\0') { #ifndef USE_WIN32API struct passwd *pw; if ((pw = getpwuid(getuid())) == NULL || *(cmd_path = pw->pw_shell) == '\0') #endif { cmd_path = "/bin/sh"; } } } } /* * Set cmd_argv by cmd_path. */ if (cmd_path && !cmd_argv) { char *cmd_file; cmd_file = bl_basename(cmd_path); if ((cmd_argv = alloca(sizeof(char *) * 2)) == NULL) { return 0; } /* 2 = `-' and NULL */ if ((cmd_argv[0] = alloca(strlen(cmd_file) + 2)) == NULL) { return 0; } if (main_config.use_login_shell) { sprintf(cmd_argv[0], "-%s", cmd_file); } else { strcpy(cmd_argv[0], cmd_file); } cmd_argv[1] = NULL; } ret = vt_term_open_pty(term, cmd_path, cmd_argv, env, uri ? uri : display, main_config.work_dir, pass, #ifdef USE_LIBSSH2 main_config.public_key, main_config.private_key, #else NULL, NULL, #endif width_pix, height_pix); #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (uri) { if (ret && bl_compare_str(uri, main_config.default_server) != 0) { ui_main_config_add_to_server_list(&main_config, uri); free(main_config.default_server); main_config.default_server = uri; } else { free(uri); } free(pass); } #endif return ret; } #ifndef NO_IMAGE static vt_char_t *get_picture_data(void *p, char *file_path, int *num_cols, /* can be 0 */ int *num_rows, /* can be 0 */ u_int32_t **sixel_palette) { vt_char_t *data; if (num_screens > 0) { vt_term_t *orig_term; orig_term = screens[0]->term; screens[0]->term = p; /* XXX */ data = (*screens[0]->xterm_listener.get_picture_data)( screens[0]->xterm_listener.self, file_path, num_cols, num_rows, sixel_palette); screens[0]->term = orig_term; } else { data = NULL; } return data; } static vt_term_t *detach_screen(ui_screen_t *screen) { vt_term_t *term; if ((term = ui_screen_detach(screen))) { vt_xterm_event_listener_t *listener; if (!(listener = vt_term_get_user_data(term, term))) { if (!(listener = calloc(1, sizeof(vt_xterm_event_listener_t)))) { return term; } listener->self = term; listener->get_picture_data = get_picture_data; vt_term_set_user_data(term, term, listener); } /* XXX */ term->parser->xterm_listener = listener; } return term; } #define ui_screen_detach(screen) detach_screen(screen) #endif #ifdef USE_WIN32GUI static void close_screen_win32(ui_screen_t *screen) { int is_orphan; if (UI_SCREEN_TO_LAYOUT(screen) && ui_layout_remove_child(UI_SCREEN_TO_LAYOUT(screen), screen)) { is_orphan = 1; } else { is_orphan = 0; /* * XXX Hack * In case SendMessage(WM_CLOSE) causes WM_KILLFOCUS * and operates screen->term which was already deleted. * (see window_unfocused()) */ screen->window.window_unfocused = NULL; } SendMessage(ui_get_root_window(&screen->window)->my_window, WM_CLOSE, 0, 0); if (is_orphan && screen->window.window_deleted) { (*screen->window.window_deleted)(&screen->window); } } #endif static void close_screen_intern(ui_screen_t *screen) { ui_window_t *root; ui_display_t *disp; if (UI_SCREEN_TO_LAYOUT(screen)) { ui_layout_remove_child(UI_SCREEN_TO_LAYOUT(screen), screen); } ui_screen_detach(screen); ui_font_manager_delete(screen->font_man); ui_color_manager_delete(screen->color_man); root = ui_get_root_window(&screen->window); disp = root->disp; if (!ui_display_remove_root(disp, root)) { ui_window_unmap(root); ui_window_final(root); } else if (disp->num_roots == 0) { ui_display_close(disp); } } static ui_screen_t *open_screen_intern(char *disp_name, vt_term_t *term, ui_layout_t *layout, int horizontal, const char *sep, int show_dialog) { ui_display_t *disp; ui_screen_t *screen; ui_font_manager_t *font_man; ui_color_manager_t *color_man; ui_window_t *root; ef_charset_t usascii_font_cs; void *p; /* * these are dynamically allocated. */ disp = NULL; font_man = NULL; color_man = NULL; screen = NULL; root = NULL; if (MAX_SCREENS <= num_screens) { return NULL; } if (!term) { if ((!layout || (term = vt_get_detached_term(NULL)) == NULL) && (term = create_term_intern()) == NULL) { return NULL; } } if (layout) { disp = layout->window.disp; } else if ((disp = ui_display_open(disp_name, depth)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_display_open failed.\n"); #endif goto error; } if (main_config.unicode_policy & NOT_USE_UNICODE_FONT || main_config.iso88591_font_for_usascii) { usascii_font_cs = ui_get_usascii_font_cs(VT_ISO8859_1); } else if (main_config.unicode_policy & ONLY_USE_UNICODE_FONT) { usascii_font_cs = ui_get_usascii_font_cs(VT_UTF8); } else { usascii_font_cs = ui_get_usascii_font_cs(vt_term_get_encoding(term)); } if ((font_man = ui_font_manager_new(disp->display, main_config.type_engine, main_config.font_present, main_config.font_size, usascii_font_cs, main_config.step_in_changing_font_size, main_config.letter_space, main_config.use_bold_font, main_config.use_italic_font)) == NULL) { char *name; name = ui_get_charset_name(usascii_font_cs); bl_msg_printf( "No fonts found for %s. Please install fonts " "and edit the font config file in ~/.mlterm.\n", name ? name : "US-ASCII"); #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_font_manager_new() failed.\n"); #endif goto error; } if ((color_man = ui_color_manager_new( disp, main_config.fg_color, main_config.bg_color, main_config.cursor_fg_color, main_config.cursor_bg_color, main_config.bd_color, main_config.it_color, main_config.ul_color, main_config.bl_color, main_config.co_color)) == NULL) { goto error; } if ((screen = ui_screen_new( term, font_man, color_man, main_config.brightness, main_config.contrast, main_config.gamma, main_config.alpha, main_config.fade_ratio, &shortcut, main_config.screen_width_ratio, main_config.mod_meta_key, main_config.mod_meta_mode, main_config.bel_mode, main_config.receive_string_via_ucs, main_config.pic_file_path, main_config.use_transbg, main_config.use_vertical_cursor, main_config.use_extended_scroll_shortcut, main_config.borderless, main_config.line_space, main_config.input_method, main_config.allow_osc52, main_config.hmargin, main_config.vmargin, main_config.hide_underline, main_config.underline_offset, main_config.baseline_offset)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_screen_new() failed.\n"); #endif goto error; } /* Override config event listener. */ screen->config_listener.saved = config_saved; ui_set_system_listener(screen, &system_listener); if (layout) { if (!ui_layout_add_child(layout, screen, horizontal, sep)) { layout = NULL; goto error; } root = &layout->window; } else { if (main_config.use_mdi && (layout = ui_layout_new(screen, main_config.scrollbar_view_name, main_config.sb_fg_color, main_config.sb_bg_color, main_config.sb_mode, main_config.layout_hmargin, main_config.layout_vmargin))) { root = &layout->window; } else { root = &screen->window; } if (!ui_display_show_root(disp, root, main_config.x, main_config.y, main_config.geom_hint, main_config.app_name, main_config.parent_window)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_display_show_root() failed.\n"); #endif goto error; } } if ((p = realloc(screens, sizeof(ui_screen_t *) * (num_screens + 1))) == NULL) { /* * XXX * After ui_display_show_root() screen is not deleted correctly by * 'goto error'(see following error handling in open_pty_intern), * but I don't know how to do. */ goto error; } screens = p; /* * New screen is successfully created here except vt_pty. */ if (vt_term_pty_is_opened(term)) { #if 0 /* mlclient /dev/... -e foo */ if (main_config.cmd_argv) { int count; for (count = 0; main_config.cmd_argv[count]; count++) { vt_term_write(term, main_config.cmd_argv[count], strlen(main_config.cmd_argv[count]), 0); vt_term_write(term, " ", 1, 0); } vt_term_write(term, "\n", 1, 0); } #endif } else { if (!open_pty_intern(term, main_config.cmd_path, main_config.cmd_argv, &screen->window, show_dialog)) { ui_screen_detach(screen); vt_destroy_term(term); #ifdef USE_WIN32GUI screens[num_screens++] = screen; close_screen_win32(screen); #else close_screen_intern(screen); #endif return NULL; } if (main_config.init_str) { vt_term_write(term, main_config.init_str, strlen(main_config.init_str)); } } /* Don't add screen to screens before "return NULL" above unless USE_WIN32GUI. */ screens[num_screens++] = screen; return screen; error: if (font_man) { ui_font_manager_delete(font_man); } if (color_man) { ui_color_manager_delete(color_man); } if (!root || !ui_display_remove_root(disp, root)) { /* * If root is still NULL or is not registered to disp yet. */ if (screen) { ui_screen_delete(screen); } if (layout) { ui_layout_delete(layout); } } if (disp && disp->num_roots == 0) { ui_display_close(disp); } vt_destroy_term(term); return NULL; } /* * callbacks of ui_system_event_listener_t */ /* * EXIT_PROGRAM shortcut calls this at last. * this is for debugging. */ #ifdef DEBUG #include "../main/main_loop.h" static void __exit(void *p, int status) { #ifdef USE_WIN32GUI u_int count; for (count = 0; count < num_screens; count++) { SendMessage(ui_get_root_window(&screens[count]->window), WM_CLOSE, 0, 0); } #endif #if 1 bl_mem_dump_all(); #endif main_loop_final(); #if defined(USE_WIN32API) && defined(USE_LIBSSH2) WSACleanup(); #endif bl_msg_printf("reporting unfreed memories --->\n"); bl_alloca_garbage_collect(); bl_mem_free_all(); bl_dl_close_all(); exit(status); } #endif static void open_pty(void *p, ui_screen_t *screen, char *dev) { vt_term_t *new; if (dev) { if ((new = vt_get_detached_term(dev)) == NULL) { return; } } else { vt_char_encoding_t encoding; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) char *default_server; char *new_cmd_line; char *cmd_path; char **cmd_argv; #endif int ret; if ((new = create_term_intern()) == NULL) { return; } encoding = main_config.encoding; main_config.encoding = vt_term_get_encoding(screen->term); #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (!main_config.show_dialog) { default_server = main_config.default_server; main_config.default_server = vt_term_get_uri(screen->term); } if ((new_cmd_line = vt_term_get_cmd_line(screen->term)) && (new_cmd_line = bl_str_alloca_dup(new_cmd_line))) { int argc; cmd_path = main_config.cmd_path; cmd_argv = main_config.cmd_argv; main_config.cmd_argv = bl_arg_str_to_array(&argc, new_cmd_line); main_config.cmd_path = main_config.cmd_argv[0]; } #endif ret = open_pty_intern(new, main_config.cmd_path, main_config.cmd_argv, &screen->window, #if defined(USE_WIN32API) || defined(USE_LIBSSH2) main_config.show_dialog #else 0 #endif ); main_config.encoding = encoding; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (!main_config.show_dialog) { main_config.default_server = default_server; } if (new_cmd_line) { main_config.cmd_path = cmd_path; main_config.cmd_argv = cmd_argv; } #endif if (!ret) { vt_destroy_term(new); return; } } ui_screen_detach(screen); ui_screen_attach(screen, new); } static void next_pty(void *p, ui_screen_t *screen) { vt_term_t *old; vt_term_t *new; if ((old = ui_screen_detach(screen)) == NULL) { return; } if ((new = vt_next_term(old)) == NULL) { ui_screen_attach(screen, old); } else { ui_screen_attach(screen, new); } } static void prev_pty(void *p, ui_screen_t *screen) { vt_term_t *old; vt_term_t *new; if ((old = ui_screen_detach(screen)) == NULL) { return; } if ((new = vt_prev_term(old)) == NULL) { ui_screen_attach(screen, old); } else { ui_screen_attach(screen, new); } } static void close_pty(void *p, ui_screen_t *screen, char *dev) { vt_term_t *term; if (dev) { if ((term = vt_get_term(dev)) == NULL) { return; } } else { term = screen->term; } /* * Don't call vt_destroy_term directly, because close_pty() can be called * in the context of parsing vt100 sequence. */ bl_trigger_sig_child(vt_term_get_child_pid(term)); } static void pty_closed(void *p, ui_screen_t *screen /* screen->term was already deleted. */ ) { int count; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " pty which is attached to screen %p is closed.\n", screen); #endif for (count = num_screens - 1; count >= 0; count--) { if (screen == screens[count]) { vt_term_t *term; if ((term = vt_get_detached_term(NULL)) == NULL) { #ifdef __DEBUG bl_debug_printf(" no detached term. closing screen.\n"); #endif #ifdef USE_WIN32GUI close_screen_win32(screen); #else screens[count] = screens[--num_screens]; close_screen_intern(screen); #endif } else { #ifdef __DEBUG bl_debug_printf(" using detached term.\n"); #endif ui_screen_attach(screen, term); } return; } } } static void open_cloned_screen(ui_screen_t *cur_screen, ui_layout_t *layout, int horizontal, const char *sep, int show_dialog) { vt_char_encoding_t encoding; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) char *default_server; char *new_cmd_line; char *cmd_path; char **cmd_argv; #endif encoding = main_config.encoding; main_config.encoding = vt_term_get_encoding(cur_screen->term); #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (!show_dialog) { default_server = main_config.default_server; main_config.default_server = vt_term_get_uri(cur_screen->term); } if ((new_cmd_line = vt_term_get_cmd_line(cur_screen->term)) && (new_cmd_line = bl_str_alloca_dup(new_cmd_line))) { int argc; cmd_path = main_config.cmd_path; cmd_argv = main_config.cmd_argv; main_config.cmd_argv = bl_arg_str_to_array(&argc, new_cmd_line); main_config.cmd_path = main_config.cmd_argv[0]; } #endif open_screen_intern(cur_screen->window.disp->name, NULL, layout, horizontal, sep, #if defined(USE_WIN32API) || defined(USE_LIBSSH2) main_config.show_dialog #else 0 #endif ); main_config.encoding = encoding; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) if (!show_dialog) { main_config.default_server = default_server; } if (new_cmd_line) { main_config.cmd_path = cmd_path; main_config.cmd_argv = cmd_argv; } #endif } static void open_screen(void *p, ui_screen_t *screen /* Screen which triggers this event. */ ) { open_cloned_screen(screen, NULL, 0, NULL, #if defined(USE_WIN32API) || defined(USE_LIBSSH2) main_config.show_dialog #else 0 #endif ); } static void split_screen(void *p, ui_screen_t *screen, /* Screen which triggers this event. */ int horizontal, const char *sep) { if (UI_SCREEN_TO_LAYOUT(screen)) { open_cloned_screen(screen, UI_SCREEN_TO_LAYOUT(screen), horizontal, sep, #if defined(USE_WIN32API) || defined(USE_LIBSSH2) main_config.show_dialog #else 0 #endif ); } } static int close_screen(void *p, ui_screen_t *screen, /* Screen which triggers this event. */ int force) { u_int count; if (!force && (!UI_SCREEN_TO_LAYOUT(screen) || ui_layout_has_one_child(UI_SCREEN_TO_LAYOUT(screen)))) { return 0; } for (count = 0; count < num_screens; count++) { u_int idx; if (screen != screens[count]) { continue; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " screen %p is registered to be closed.\n", screen); #endif idx = count / MSU; /* count / 8 */ dead_mask[idx] |= (1 << (count - MSU * idx)); break; } return 1; } static int next_screen(void *self, ui_screen_t *screen) { if (UI_SCREEN_TO_LAYOUT(screen)) { return ui_layout_switch_screen(UI_SCREEN_TO_LAYOUT(screen), 0); } else { return 0; } } static int prev_screen(void *self, ui_screen_t *screen) { if (UI_SCREEN_TO_LAYOUT(screen)) { return ui_layout_switch_screen(UI_SCREEN_TO_LAYOUT(screen), 1); } else { return 0; } } static int resize_screen(void *self, ui_screen_t *screen, int horizontal, int step) { if (UI_SCREEN_TO_LAYOUT(screen)) { return ui_layout_resize(UI_SCREEN_TO_LAYOUT(screen), screen, horizontal, step); } else { return 0; } } static int mlclient(void *self, ui_screen_t *screen, char *args, FILE *fp /* Stream to output response of mlclient. */ ) { char **argv; int argc; argv = bl_arg_str_to_array(&argc, args); #ifdef __DEBUG { int i; for (i = 0; i < argc; i++) { bl_msg_printf("%s\n", argv[i]); } } #endif if (argc == 0 #if defined(USE_FRAMEBUFFER) || screen == NULL #endif ) { return 0; } if (argc == 2 && (strcmp(argv[1], "-P") == 0 || strcmp(argv[1], "--ptylist") == 0)) { /* * mlclient -P or mlclient --ptylist */ vt_term_t **terms; u_int num; int count; num = vt_get_all_terms(&terms); for (count = 0; count < num; count++) { fprintf(fp, "#%s", vt_term_get_slave_name(terms[count])); if (vt_term_window_name(terms[count])) { fprintf(fp, "(whose title is %s)", vt_term_window_name(terms[count])); } if (vt_term_is_attached(terms[count])) { fprintf(fp, " is active:)\n"); } else { fprintf(fp, " is sleeping.zZ\n"); } } } else { bl_conf_t *conf; ui_main_config_t orig_conf; char *pty; int horizontal; char *sep; #if defined(USE_WIN32API) || defined(USE_LIBSSH2) char **server_list; #endif if (argc >= 2 && *(argv[1]) != '-') { /* * mlclient [dev] [options...] */ pty = argv[1]; argv[1] = argv[0]; argv = &argv[1]; argc--; } else { pty = NULL; } if ((conf = bl_conf_new()) == NULL) { return 0; } ui_prepare_for_main_config(conf); bl_conf_add_opt(conf, '\0', "hsep", 0, "hsep", ""); bl_conf_add_opt(conf, '\0', "vsep", 0, "vsep", ""); if (!bl_conf_parse_args(conf, &argc, &argv, 1)) { bl_conf_delete(conf); return 0; } if (screen && UI_SCREEN_TO_LAYOUT(screen)) { if ((sep = bl_conf_get_value(conf, "hsep"))) { horizontal = 1; } else if ((sep = bl_conf_get_value(conf, "vsep"))) { horizontal = 0; } else { goto end_check_sep; } sep = bl_str_alloca_dup(sep); } else { sep = NULL; } end_check_sep: orig_conf = main_config; ui_main_config_init(&main_config, conf, argc, argv); #if defined(USE_WIN32API) || defined(USE_LIBSSH2) server_list = main_config.server_list; main_config.server_list = orig_conf.server_list; #endif bl_conf_delete(conf); if (screen) { if (sep) { open_screen_intern(screen->window.disp->name, NULL, UI_SCREEN_TO_LAYOUT(screen), horizontal, sep, #if defined(USE_WIN32API) || defined(USE_LIBSSH2) main_config.show_dialog #else 0 #endif ); } else { vt_term_t *term; if ((term = create_term_intern())) { if (!open_pty_intern(term, main_config.cmd_path, main_config.cmd_argv, &screen->window, #if defined(USE_WIN32API) || defined(USE_LIBSSH2) main_config.show_dialog #else 0 #endif )) { vt_destroy_term(term); } else { ui_screen_detach(screen); ui_screen_attach(screen, term); } } } } else { vt_term_t *term = NULL; #ifdef USE_CONSOLE if (*main_config.disp_name) #endif { if ((pty && !(term = vt_get_detached_term(pty))) || !open_screen_intern(main_config.disp_name, term, NULL, 0, 0, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " open_screen_intern() failed.\n"); #endif } } } #if defined(USE_WIN32API) || defined(USE_LIBSSH2) orig_conf.server_list = main_config.server_list; main_config.server_list = server_list; #endif ui_main_config_final(&main_config); main_config = orig_conf; } /* Flush fp stream because write(2) is called after this function is called. */ fflush(fp); return 1; } /* --- global functions --- */ int ui_screen_manager_init(char *_mlterm_version, u_int _depth, u_int _max_screens_multiple, u_int _num_startup_screens, ui_main_config_t *_main_config) { mlterm_version = _mlterm_version; depth = _depth; main_config = *_main_config; max_screens_multiple = _max_screens_multiple; if ((dead_mask = calloc(sizeof(*dead_mask), max_screens_multiple)) == NULL) { return 0; } if (_num_startup_screens > MAX_SCREENS) { num_startup_screens = MAX_SCREENS; } else { num_startup_screens = _num_startup_screens; } if (!vt_term_manager_init(max_screens_multiple)) { free(dead_mask); return 0; } vt_color_config_init(); ui_shortcut_init(&shortcut); /* BACKWARD COMPAT (3.1.7 or before) */ #if 1 { size_t count; char key0[] = "Control+Button1"; char key1[] = "Control+Button2"; char key2[] = "Control+Button3"; char key3[] = "Button3"; char *keys[] = {key0, key1, key2, key3}; for (count = 0; count < sizeof(keys) / sizeof(keys[0]); count++) { if (main_config.shortcut_strs[count]) { ui_shortcut_parse(&shortcut, keys[count], main_config.shortcut_strs[count]); } } } #endif if (*main_config.disp_name) { /* * setting DISPLAY environment variable to match "--display" option. */ char *env; #ifdef USE_WAYLAND if ((env = malloc(16 + strlen(main_config.disp_name) + 1))) { sprintf(env, "WAYLAND_DISPLAY=%s", main_config.disp_name); putenv(env); } #else if ((env = malloc(8 + strlen(main_config.disp_name) + 1))) { sprintf(env, "DISPLAY=%s", main_config.disp_name); putenv(env); } #endif } system_listener.self = NULL; #ifdef DEBUG system_listener.exit = __exit; #else system_listener.exit = NULL; #endif #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF system_listener.open_screen = NULL; #else system_listener.open_screen = open_screen; #endif system_listener.split_screen = split_screen; system_listener.close_screen = close_screen; system_listener.next_screen = next_screen; system_listener.prev_screen = prev_screen; system_listener.resize_screen = resize_screen; system_listener.open_pty = open_pty; system_listener.next_pty = next_pty; system_listener.prev_pty = prev_pty; system_listener.close_pty = close_pty; system_listener.pty_closed = pty_closed; system_listener.mlclient = mlclient; system_listener.font_config_updated = font_config_updated; system_listener.color_config_updated = color_config_updated; return 1; } void ui_screen_manager_final(void) { u_int count; ui_main_config_final(&main_config); for (count = 0; count < num_screens; count++) { close_screen_intern(screens[count]); } free(screens); free(dead_mask); vt_term_manager_final(); ui_display_close_all(); vt_color_config_final(); ui_shortcut_final(&shortcut); } #ifdef __ANDROID__ static int suspended; int ui_screen_manager_suspend(void) { u_int count; ui_close_dead_screens(); for (count = 0; count < num_screens; count++) { close_screen_intern(screens[count]); } free(screens); screens = NULL; num_screens = 0; ui_display_close_all(); suspended = 1; return 1; } #endif u_int ui_screen_manager_startup(void) { u_int count; u_int num_started; num_started = 0; #ifdef __ANDROID__ if (suspended) { /* reload ~/.mlterm/main. */ config_saved(); ui_shortcut_final(&shortcut); ui_shortcut_init(&shortcut); vt_color_config_final(); vt_color_config_init(); } #endif for (count = 0; count < num_startup_screens; count++) { if (!open_screen_intern(main_config.disp_name, vt_get_detached_term(NULL), NULL, 0, 0, #if defined(USE_LIBSSH2) && defined(__ANDROID__) !start_with_local_pty #elif defined(USE_WIN32API) 1 /* show dialog */ #else 0 #endif )) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " open_screen_intern() failed.\n"); #endif } else { num_started++; } } return num_started; } void ui_close_dead_screens(void) { if (num_screens > 0) { int idx; for (idx = (num_screens - 1) / MSU; idx >= 0; idx--) { if (dead_mask[idx]) { int count; for (count = MSU - 1; count >= 0; count--) { if (dead_mask[idx] & (0x1 << count)) { ui_screen_t *screen; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " closing screen %d-%d.", idx, count); #endif screen = screens[idx * MSU + count]; screens[idx * MSU + count] = screens[--num_screens]; close_screen_intern(screen); #ifdef __DEBUG bl_msg_printf(" => Finished. Rest %d\n", num_screens); #endif } } memset(&dead_mask[idx], 0, sizeof(dead_mask[idx])); } } } } u_int ui_get_all_screens(ui_screen_t ***_screens) { if (_screens) { *_screens = screens; } return num_screens; } int ui_mlclient(char *args, FILE *fp) { return mlclient(NULL, NULL, args, fp); } mlterm-3.8.4/uitoolkit/ui_event_source.c010064400017600000144000000204041321054731200171070ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_event_source.h" #include /* USE_WIN32API */ #ifndef USE_WIN32API #include /* memset/memcpy */ #include /* timeval */ #include /* select */ #include /* bl_file_set_cloexec */ #endif #include #include /* realloc/free */ #include /* u_int */ #include #include "ui_display.h" #include "ui_screen_manager.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ #ifndef USE_WIN32API static struct { int fd; void (*handler)(void); } * additional_fds; static u_int num_additional_fds; #endif /* --- static functions --- */ #ifdef USE_WIN32API static VOID CALLBACK timer_proc(HWND hwnd, UINT msg, UINT timerid, DWORD time) { ui_display_t **displays; u_int num_displays; int count; displays = ui_get_opened_displays(&num_displays); for (count = 0; count < num_displays; count++) { ui_display_idling(displays[count]); } } #else /* USE_WIN32API */ static void receive_next_event(void) { u_int count; vt_term_t **terms; u_int num_terms; int xfd; int ptyfd; int maxfd; int ret; fd_set read_fds; struct timeval tval; ui_display_t **displays; u_int num_displays; #ifdef USE_LIBSSH2 int *xssh_fds; u_int num_xssh_fds; num_xssh_fds = vt_pty_ssh_get_x11_fds(&xssh_fds); #endif num_terms = vt_get_all_terms(&terms); while (1) { /* on Linux tv_usec,tv_sec members are zero cleared after select() */ #ifdef KEY_REPEAT_BY_MYSELF static int display_idling_wait = 4; tval.tv_usec = 25000; /* 0.025 sec */ #else tval.tv_usec = 100000; /* 0.1 sec */ #endif tval.tv_sec = 0; #ifdef USE_LIBSSH2 if (vt_pty_ssh_poll(&read_fds) > 0) { /* * Call vt_pty_ssh_send_recv_x11() and vt_term_parse_vt100_sequence() * instead of 'break' here because 'break' here suppresses * checking ui_display etc if use_local_echo option which * stops receive_bytes in vt_term_parse_vt100_sequence() is enabled. */ for (count = num_xssh_fds; count > 0; count--) { vt_pty_ssh_send_recv_x11( count - 1, xssh_fds[count - 1] >= 0 && FD_ISSET(xssh_fds[count - 1], &read_fds)); } for (count = 0; count < num_terms; count++) { ptyfd = vt_term_get_master_fd(terms[count]); #ifdef OPEN_PTY_ASYNC if (ptyfd >= 0) #endif { if (FD_ISSET(ptyfd, &read_fds)) { vt_term_parse_vt100_sequence(terms[count]); } } } } #endif maxfd = 0; FD_ZERO(&read_fds); #ifdef USE_LIBSSH2 for (count = 0; count < num_xssh_fds; count++) { if (xssh_fds[count] >= 0) { FD_SET(xssh_fds[count], &read_fds); if (xssh_fds[count] > maxfd) { maxfd = xssh_fds[count]; } } } #endif displays = ui_get_opened_displays(&num_displays); for (count = 0; count < num_displays; count++) { #ifdef NEED_DISPLAY_SYNC_EVERY_TIME /* * Need to read pending events and to flush events in * output buffer on X11 before waiting in select(). */ ui_display_sync(displays[count]); #endif xfd = ui_display_fd(displays[count]); FD_SET(xfd, &read_fds); if (xfd > maxfd) { maxfd = xfd; } } for (count = 0; count < num_terms; count++) { ptyfd = vt_term_get_master_fd(terms[count]); #ifdef OPEN_PTY_ASYNC if (ptyfd >= 0) #endif { FD_SET(ptyfd, &read_fds); if (ptyfd > maxfd) { maxfd = ptyfd; } } } for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd >= 0) { FD_SET(additional_fds[count].fd, &read_fds); if (additional_fds[count].fd > maxfd) { maxfd = additional_fds[count].fd; } } } if ((ret = select(maxfd + 1, &read_fds, NULL, NULL, &tval)) != 0) { if (ret < 0) { /* error happened */ #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " error happened in select.\n"); #endif return; } break; } #ifdef KEY_REPEAT_BY_MYSELF /* ui_display_idling() is called every 0.1 sec. */ if (--display_idling_wait > 0) { goto additional_minus_fds; } display_idling_wait = 4; #endif for (count = 0; count < num_displays; count++) { ui_display_idling(displays[count]); } #ifdef KEY_REPEAT_BY_MYSELF additional_minus_fds: #endif /* * additional_fds.handler (-> update_preedit_text -> cand_screen->delete) of * ibus may destroy ui_display on wayland. */ for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd < 0) { (*additional_fds[count].handler)(); } } } /* * Processing order should be as follows. * * X Window -> PTY -> additional_fds */ for (count = 0; count < num_displays; count++) { if (FD_ISSET(ui_display_fd(displays[count]), &read_fds)) { ui_display_receive_next_event(displays[count]); /* XXX displays pointer may be changed (realloced) */ displays = ui_get_opened_displays(&num_displays); } } #ifdef USE_LIBSSH2 /* * vt_pty_ssh_send_recv_x11() should be called before * vt_term_parse_vt100_sequence() where xssh_fds can be deleted. */ for (count = num_xssh_fds; count > 0; count--) { vt_pty_ssh_send_recv_x11(count - 1, xssh_fds[count - 1] >= 0 && FD_ISSET(xssh_fds[count - 1], &read_fds)); } #endif for (count = 0; count < num_terms; count++) { ptyfd = vt_term_get_master_fd(terms[count]); #ifdef OPEN_PTY_ASYNC if (ptyfd >= 0) #endif { if (FD_ISSET(ptyfd, &read_fds)) { vt_term_parse_vt100_sequence(terms[count]); } } } for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd >= 0) { if (FD_ISSET(additional_fds[count].fd, &read_fds)) { (*additional_fds[count].handler)(); } } } } #endif /* --- global functions --- */ void ui_event_source_init(void) { #ifdef USE_WIN32API /* ui_window_manager_idling() called in 0.1sec. */ SetTimer(NULL, 0, 100, timer_proc); #endif } void ui_event_source_final(void) { #ifndef USE_WIN32API free(additional_fds); #endif } int ui_event_source_process(void) { #ifdef USE_WIN32API u_int num_displays; ui_display_t **displays; vt_term_t **terms; u_int num_terms; int *xssh_fds; u_int count; #endif #ifdef USE_WIN32API displays = ui_get_opened_displays(&num_displays); for (count = 0; count < num_displays; count++) { ui_display_receive_next_event(displays[count]); } #else receive_next_event(); #endif vt_close_dead_terms(); #ifdef USE_WIN32API /* * XXX * If pty is closed after vt_close_dead_terms() ... */ #ifdef USE_LIBSSH2 for (count = vt_pty_ssh_get_x11_fds(&xssh_fds); count > 0; count--) { vt_pty_ssh_send_recv_x11(count - 1, 1); } #endif num_terms = vt_get_all_terms(&terms); for (count = 0; count < num_terms; count++) { vt_term_parse_vt100_sequence(terms[count]); } #endif ui_close_dead_screens(); if (ui_get_all_screens(NULL) == 0) { return 0; } return 1; } /* * fd >= 0 -> Normal file descriptor. handler is invoked if fd is ready. * fd < 0 -> Special ID. handler is invoked at interval of 0.1 sec. */ int ui_event_source_add_fd(int fd, void (*handler)(void)) { #ifndef USE_WIN32API void *p; if (!handler) { return 0; } if ((p = realloc(additional_fds, sizeof(*additional_fds) * (num_additional_fds + 1))) == NULL) { return 0; } additional_fds = p; additional_fds[num_additional_fds].fd = fd; additional_fds[num_additional_fds++].handler = handler; if (fd >= 0) { bl_file_set_cloexec(fd); } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %d is added to additional fds.\n", fd); #endif return 1; #else /* USE_WIN32API */ return 0; #endif /* USE_WIN32API */ } void ui_event_source_remove_fd(int fd) { #ifndef USE_WIN32API u_int count; for (count = 0; count < num_additional_fds; count++) { if (additional_fds[count].fd == fd) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Additional fd %d is removed.\n", fd); #endif additional_fds[count] = additional_fds[--num_additional_fds]; return; } } #endif /* USE_WIN32API */ } mlterm-3.8.4/uitoolkit/ui_screen.c010064400017600000144000005534001321054731200156740ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_screen.h" #include #include /* sprintf */ #include /* fork/execvp */ #include /* abs */ #include #include /* alloca */ #include #include /* strdup, bl_snprintf */ #include /* K_MIN */ #include /* PATH_MAX */ #include /* bl_arg_str_to_array */ #include /* bl_get_user_rc_path */ #include #include #ifdef USE_BRLAPI #include "ui_brltty.h" #endif #include "ui_xic.h" #include "ui_draw_str.h" #include "ui_selection_encoding.h" #define HAS_SYSTEM_LISTENER(screen, function) \ ((screen)->system_listener && (screen)->system_listener->function) #define HAS_SCROLL_LISTENER(screen, function) \ ((screen)->screen_scroll_listener && (screen)->screen_scroll_listener->function) #define IS_LIBVTE(screen) (!(screen)->window.parent && (screen)->window.parent_window) #define line_top_margin(screen) ((int)((screen)->line_space / 2)) #if 1 #define NL_TO_CR_IN_PAST_TEXT #endif #if 0 #define __DEBUG #endif /* * For ui_window_update() * * XXX * Note that vte.c calls ui_window_update( ... , 1), so if you change following *enums, * vte.c must be changed at the same time. */ enum { UPDATE_SCREEN = 0x1, UPDATE_CURSOR = 0x2, UPDATE_SCREEN_BLINK = 0x4, }; /* --- static variables --- */ static int exit_backscroll_by_pty; static int allow_change_shortcut; static char *mod_meta_prefix = "\x1b"; static int trim_trailing_newline_in_pasting; static ef_parser_t *vt_str_parser; /* XXX leaked */ #ifdef USE_IM_CURSOR_COLOR static char *im_cursor_color = NULL; #endif /* --- static functions --- */ #ifdef USE_OT_LAYOUT static void *ot_layout_get_ot_layout_font(vt_term_t *term, vt_font_t font) { ui_font_t *xfont; if (!term->screen->screen_listener || !(xfont = ui_get_font(((ui_screen_t *)term->screen->screen_listener->self)->font_man, font)) || !ui_font_has_ot_layout_table(xfont)) { return NULL; } return xfont; } #endif static int convert_row_to_y(ui_screen_t *screen, int row /* Should be 0 >= and <= vt_term_get_rows() */ ) { /* * !! Notice !! * assumption: line hight is always the same! */ return ui_line_height(screen) * row; } /* * If y < 0 , return 0 with *y_rest = 0. * If y > screen->window.height , return screen->window.height / line_height * with *y_rest = * y - screen->window.height. */ static int convert_y_to_row(ui_screen_t *screen, u_int *y_rest, int y) { int row; if (y < 0) { y = 0; } /* * !! Notice !! * assumption: line hight is always the same! */ if (y >= screen->height) { row = (screen->height - 1) / ui_line_height(screen); } else { row = y / ui_line_height(screen); } if (y_rest) { *y_rest = y - row *ui_line_height(screen); } return row; } static int convert_char_index_to_x( ui_screen_t *screen, vt_line_t *line, int char_index /* Should be 0 >= and <= vt_line_end_char_index() */ ) { int count; int x; ui_font_manager_set_attr(screen->font_man, line->size_attr, vt_line_has_ot_substitute_glyphs(line)); if (vt_line_is_rtl(line)) { x = screen->width; for (count = vt_line_end_char_index(line); count >= char_index; count--) { vt_char_t *ch; ch = vt_char_at(line, count); if (vt_char_cols(ch) > 0) { x -= ui_calculate_vtchar_width(ui_get_font(screen->font_man, vt_char_font(ch)), ch, NULL); } } } else { /* * excluding the last char width. */ x = 0; for (count = 0; count < char_index; count++) { vt_char_t *ch; ch = vt_char_at(line, count); if (vt_char_cols(ch) > 0) { x += ui_calculate_vtchar_width(ui_get_font(screen->font_man, vt_char_font(ch)), ch, NULL); } } } return x; } static int convert_char_index_to_x_with_shape(ui_screen_t *screen, vt_line_t *line, int char_index) { vt_line_t *orig; int x; orig = vt_line_shape(line); x = convert_char_index_to_x(screen, line, char_index); if (orig) { vt_line_unshape(line, orig); } return x; } /* * If x < 0, return 0 with *ui_rest = 0. * If x > screen->width, return screen->width / char_width with * *ui_rest = x - screen->width. */ static int convert_x_to_char_index(ui_screen_t *screen, vt_line_t *line, u_int *ui_rest, int x) { int count; u_int width; int end_char_index; ui_font_manager_set_attr(screen->font_man, line->size_attr, vt_line_has_ot_substitute_glyphs(line)); end_char_index = vt_line_end_char_index(line); if (vt_line_is_rtl(line)) { if (x > screen->width) { x = 0; } else { x = screen->width - x; } for (count = end_char_index; count > 0; count--) { vt_char_t *ch; ch = vt_char_at(line, count); if (vt_char_cols(ch) == 0) { continue; } width = ui_calculate_vtchar_width(ui_get_font(screen->font_man, vt_char_font(ch)), ch, NULL); if (x <= width) { break; } x -= width; } } else { if (x < 0) { x = 0; } for (count = 0; count < end_char_index; count++) { vt_char_t *ch; ch = vt_char_at(line, count); if (vt_char_cols(ch) == 0) { continue; } width = ui_calculate_vtchar_width(ui_get_font(screen->font_man, vt_char_font(ch)), ch, NULL); if (x < width) { break; } x -= width; } } if (ui_rest != NULL) { *ui_rest = x; } return count; } static int convert_x_to_char_index_with_shape(ui_screen_t *screen, vt_line_t *line, u_int *ui_rest, int x) { vt_line_t *orig; int char_index; orig = vt_line_shape(line); char_index = convert_x_to_char_index(screen, line, ui_rest, x); if (orig) { vt_line_unshape(line, orig); } return char_index; } static u_int screen_width(ui_screen_t *screen) { /* * logical cols/rows => visual width/height. */ if (vt_term_get_vertical_mode(screen->term)) { return vt_term_get_logical_rows(screen->term) * ui_col_width(screen); } else { return vt_term_get_logical_cols(screen->term) * ui_col_width(screen) * screen->screen_width_ratio / 100; } } static u_int screen_height(ui_screen_t *screen) { /* * logical cols/rows => visual width/height. */ if (vt_term_get_vertical_mode(screen->term)) { return vt_term_get_logical_cols(screen->term) * ui_line_height(screen) * screen->screen_width_ratio / 100; } else { return (vt_term_get_logical_rows(screen->term) + (vt_term_has_status_line(screen->term) ? 1 : 0)) * ui_line_height(screen); } } static int activate_xic(ui_screen_t *screen) { /* * FIXME: This function is a dirty wrapper on ui_xic_activate(). */ char *saved_ptr; char *xim_name; char *xim_locale; xim_name = xim_locale = NULL; saved_ptr = bl_str_sep(&screen->input_method, ":"); xim_name = bl_str_sep(&screen->input_method, ":"); xim_locale = bl_str_sep(&screen->input_method, ":"); ui_xic_activate(&screen->window, xim_name ? xim_name : "", xim_locale ? xim_locale : ""); if (xim_name) { *(xim_name - 1) = ':'; } if (xim_locale) { *(xim_locale - 1) = ':'; } screen->input_method = saved_ptr; return 1; } /* * drawing screen functions. */ static int draw_line(ui_screen_t *screen, vt_line_t *line, int y) { int beg_x; int ret; ret = 0; if (vt_line_is_empty(line)) { ui_window_clear(&screen->window, (beg_x = 0), y, screen->window.width, ui_line_height(screen)); ret = 1; } else { int beg_char_index; u_int num_redrawn; int is_cleared_to_end; vt_line_t *orig; ui_font_present_t present; orig = vt_line_shape(line); present = ui_get_font_present(screen->font_man); if (vt_line_is_cleared_to_end(line) || (present & FONT_VAR_WIDTH)) { is_cleared_to_end = 1; } else { is_cleared_to_end = 0; } beg_char_index = vt_line_get_beg_of_modified(line); num_redrawn = vt_line_get_num_redrawn_chars(line, is_cleared_to_end); if ((present & FONT_VAR_WIDTH) && vt_line_is_rtl(line)) { num_redrawn += beg_char_index; beg_char_index = 0; } /* don't use _with_shape function since line is already shaped */ beg_x = convert_char_index_to_x(screen, line, beg_char_index); ui_font_manager_set_attr(screen->font_man, line->size_attr, vt_line_has_ot_substitute_glyphs(line)); if (is_cleared_to_end) { if (vt_line_is_rtl(line)) { ui_window_clear(&screen->window, 0, y, beg_x, ui_line_height(screen)); if (!ui_draw_str(&screen->window, screen->font_man, screen->color_man, vt_char_at(line, beg_char_index), num_redrawn, beg_x, y, ui_line_height(screen), ui_line_ascent(screen), line_top_margin(screen), screen->hide_underline, screen->underline_offset)) { goto end; } } else { if (!ui_draw_str_to_eol(&screen->window, screen->font_man, screen->color_man, vt_char_at(line, beg_char_index), num_redrawn, beg_x, y, ui_line_height(screen), ui_line_ascent(screen), line_top_margin(screen), screen->hide_underline, screen->underline_offset)) { goto end; } } } else { if (!ui_draw_str(&screen->window, screen->font_man, screen->color_man, vt_char_at(line, beg_char_index), num_redrawn, beg_x, y, ui_line_height(screen), ui_line_ascent(screen), line_top_margin(screen), screen->hide_underline, screen->underline_offset)) { goto end; } } ret = 1; end: if (orig) { vt_line_unshape(line, orig); } } return ret; } static int xterm_im_is_active(void *p); /* * Don't call this function directly. * Call this function via highlight_cursor. */ static int draw_cursor(ui_screen_t *screen) { int row; int x; int y; vt_line_t *line; vt_line_t *orig; vt_char_t ch; #ifdef USE_IM_CURSOR_COLOR char *orig_cursor_bg; int cursor_bg_is_replaced = 0; #endif if (screen->is_preediting) { return 1; } if (!vt_term_is_visible_cursor(screen->term)) { return 1; } if ((row = vt_term_cursor_row_in_screen(screen->term)) == -1) { return 0; } y = convert_row_to_y(screen, row); if ((line = vt_term_get_cursor_line(screen->term)) == NULL || vt_line_is_empty(line)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor line doesn't exist.\n"); #endif return 0; } orig = vt_line_shape(line); /* don't use _with_shape function since line is already shaped */ x = convert_char_index_to_x(screen, line, vt_term_cursor_char_index(screen->term)); /* * XXX * screen_width_ratio < 100 causes segfault on wayland, framebuffer and android without this. */ #if 1 if (x + ui_col_width(screen) > screen->width || y + ui_line_height(screen) > screen->height) { /* XXX screen_width_ratio option drives out the cursor outside of the screen. */ if (orig) { vt_line_unshape(line, orig); } return 0; } #endif vt_char_init(&ch); vt_char_copy(&ch, vt_char_at(line, vt_term_cursor_char_index(screen->term))); if (vt_term_get_cursor_style(screen->term) & (CS_UNDERLINE|CS_BAR)) { /* do nothing */ } else if (screen->window.is_focused) { #ifdef USE_IM_CURSOR_COLOR if (im_cursor_color && xterm_im_is_active(screen)) { if ((orig_cursor_bg = ui_color_manager_get_cursor_bg_color(screen->color_man))) { orig_cursor_bg = strdup(orig_cursor_bg); } ui_color_manager_set_cursor_bg_color(screen->color_man, im_cursor_color); cursor_bg_is_replaced = 1; } #endif /* if fg/bg color should be overriden, reset ch's color to default */ if (ui_color_manager_adjust_cursor_fg_color(screen->color_man)) { /* for curosr's bg */ vt_char_set_bg_color(&ch, VT_BG_COLOR); } if (ui_color_manager_adjust_cursor_bg_color(screen->color_man)) { /* for cursor's fg */ vt_char_set_fg_color(&ch, VT_FG_COLOR); } vt_char_reverse_color(&ch); } ui_font_manager_set_attr(screen->font_man, line->size_attr, vt_line_has_ot_substitute_glyphs(line)); ui_draw_str(&screen->window, screen->font_man, screen->color_man, &ch, 1, x, y, ui_line_height(screen), ui_line_ascent(screen), line_top_margin(screen), screen->hide_underline, screen->underline_offset); if (vt_term_get_cursor_style(screen->term) & CS_UNDERLINE) { ui_font_t *xfont = ui_get_font(screen->font_man, vt_char_font(&ch)); ui_window_fill(&screen->window, x, y + ui_line_ascent(screen), ui_calculate_vtchar_width(xfont, &ch, NULL), 2); } else if (vt_term_get_cursor_style(screen->term) & CS_BAR) { if (vt_term_cursor_is_rtl(screen->term)) { ui_font_t *xfont = ui_get_font(screen->font_man, vt_char_font(&ch)); ui_window_fill(&screen->window, x + ui_calculate_vtchar_width(xfont, &ch, NULL) - 2, y, 2, ui_line_height(screen)); } else { ui_window_fill(&screen->window, x, y, 2, ui_line_height(screen)); } } else if (screen->window.is_focused) { /* CS_BLOCK */ ui_color_manager_adjust_cursor_fg_color(screen->color_man); ui_color_manager_adjust_cursor_bg_color(screen->color_man); #ifdef USE_IM_CURSOR_COLOR if (cursor_bg_is_replaced) { ui_color_manager_set_cursor_bg_color(screen->color_man, orig_cursor_bg); free(orig_cursor_bg); } #endif } else { /* CS_BLOCK */ ui_font_t *xfont = ui_get_font(screen->font_man, vt_char_font(&ch)); ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, vt_char_fg_color(&ch))); ui_window_draw_rect_frame(&screen->window, x, y, x + ui_calculate_vtchar_width(xfont, &ch, NULL) - 1, y + ui_line_height(screen) - 1); } vt_char_final(&ch); if (orig) { vt_line_unshape(line, orig); } return 1; } static int flush_scroll_cache(ui_screen_t *screen, int scroll_actual_screen) { int scroll_cache_rows; int scroll_region_rows; if (!screen->scroll_cache_rows) { return 0; } /* * ui_window_scroll_*() can invoke window_exposed event internally, * and flush_scroll_cache() is called twice. * To avoid this, screen->scroll_cache_row is set 0 here before calling * ui_window_scroll_*(). * * 1) Stop processing VT100 sequence. * 2) flush_scroll_cache() (ui_screen.c) * 3) scroll_region() (ui_window.c) * - XCopyArea * 4) Start processing VT100 sequence. * 5) Stop processing VT100 sequence. * 6) ui_window_update() to redraw data modified by VT100 sequence. * 7) flush_scroll_cache() * 8) scroll_region() * - XCopyArea * - Wait and process GraphicsExpose caused by 3). * 9) flush_scroll_cache() * 10)scroll_region() <- avoid this by screen->scroll_cache_rows = 0. * - XCopyArea */ scroll_cache_rows = screen->scroll_cache_rows; screen->scroll_cache_rows = 0; if (scroll_cache_rows >= (scroll_region_rows = screen->scroll_cache_boundary_end - screen->scroll_cache_boundary_start + 1)) { return 1; } if (scroll_actual_screen && ui_window_is_scrollable(&screen->window)) { if (!vt_term_get_vertical_mode(screen->term)) { int beg_y; int end_y; u_int scroll_height; scroll_height = ui_line_height(screen) * abs(scroll_cache_rows); /* scroll_height < screen->height is always true. */ /* if (scroll_height < screen->height) */ { beg_y = convert_row_to_y(screen, screen->scroll_cache_boundary_start); end_y = beg_y + ui_line_height(screen) * scroll_region_rows; if (scroll_cache_rows > 0) { ui_window_scroll_upward_region(&screen->window, beg_y, end_y, scroll_height); } else { ui_window_scroll_downward_region(&screen->window, beg_y, end_y, scroll_height); } } #if 0 else { ui_window_clear_all(&screen->window); } #endif } else { int beg_x; int end_x; u_int scroll_width; scroll_width = ui_col_width(screen) * abs(scroll_cache_rows); /* scroll_width < screen->width is always true. */ /* if (scroll_width < screen->width) */ { beg_x = ui_col_width(screen) * screen->scroll_cache_boundary_start; end_x = beg_x + ui_col_width(screen) * scroll_region_rows; if (vt_term_get_vertical_mode(screen->term) & VERT_RTL) { end_x = screen->width - beg_x; beg_x = screen->width - end_x; scroll_cache_rows = -(scroll_cache_rows); } if (scroll_cache_rows > 0) { ui_window_scroll_leftward_region(&screen->window, beg_x, end_x, scroll_width); } else { ui_window_scroll_rightward_region(&screen->window, beg_x, end_x, scroll_width); } } #if 0 else { ui_window_clear_all(&screen->window); } #endif } } else { /* * setting modified mark to the lines within scroll region. * * XXX * Not regarding vertical mode. */ #if 0 if (!vt_term_get_vertical_mode(screen->term)) { } else #endif { if (scroll_cache_rows > 0) { /* * scrolling upward. */ vt_term_set_modified_lines_in_screen(screen->term, screen->scroll_cache_boundary_start, screen->scroll_cache_boundary_end - scroll_cache_rows); } else { /* * scrolling downward. */ vt_term_set_modified_lines_in_screen( screen->term, screen->scroll_cache_boundary_start + scroll_cache_rows, screen->scroll_cache_boundary_end); } } } return 1; } static void set_scroll_boundary(ui_screen_t *screen, int boundary_start, int boundary_end) { if (screen->scroll_cache_rows) { if (screen->scroll_cache_boundary_start != boundary_start || screen->scroll_cache_boundary_end != boundary_end) { flush_scroll_cache(screen, 0); } } screen->scroll_cache_boundary_start = boundary_start; screen->scroll_cache_boundary_end = boundary_end; } /* * Don't call this function except from window_exposed or update_window. * Call this function via ui_window_update. */ static int redraw_screen(ui_screen_t *screen) { int count; vt_line_t *line; int y; int line_height; #ifdef USE_BRLAPI ui_brltty_write(); #endif flush_scroll_cache(screen, 1); count = 0; while (1) { if ((line = vt_term_get_line_in_screen(screen->term, count)) == NULL) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " nothing is redrawn.\n"); #endif return 1; } if (vt_line_is_modified(line)) { break; } count++; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " redrawing -> line %d\n", count); #endif y = convert_row_to_y(screen, count); draw_line(screen, line, y); count++; y += (line_height = ui_line_height(screen)); while ((line = vt_term_get_line_in_screen(screen->term, count)) != NULL) { if (vt_line_is_modified(line)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " redrawing -> line %d\n", count); #endif draw_line(screen, line, y); } #ifdef __DEBUG else { bl_debug_printf(BL_DEBUG_TAG " not redrawing -> line %d\n", count); } #endif y += line_height; count++; } vt_term_updated_all(screen->term); if (screen->im) { ui_im_redraw_preedit(screen->im, screen->window.is_focused); } return 1; } /* * Don't call this function except from window_exposed or update_window. * Call this function via ui_window_update. */ static int highlight_cursor(ui_screen_t *screen) { flush_scroll_cache(screen, 1); draw_cursor(screen); ui_xic_set_spot(&screen->window); return 1; } static int unhighlight_cursor(ui_screen_t *screen, int revert_visual) { return vt_term_unhighlight_cursor(screen->term, revert_visual); } /* * {enter|exit}_backscroll_mode() and bs_XXX() functions provides backscroll *operations. * * Similar processing to bs_XXX() is done in *ui_screen_scroll_{upward|downward|to}(). */ static void enter_backscroll_mode(ui_screen_t *screen) { if (vt_term_is_backscrolling(screen->term)) { return; } vt_term_enter_backscroll_mode(screen->term); if (HAS_SCROLL_LISTENER(screen, bs_mode_entered)) { (*screen->screen_scroll_listener->bs_mode_entered)(screen->screen_scroll_listener->self); } } static void exit_backscroll_mode(ui_screen_t *screen) { if (!vt_term_is_backscrolling(screen->term)) { return; } vt_term_exit_backscroll_mode(screen->term); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, bs_mode_exited)) { (*screen->screen_scroll_listener->bs_mode_exited)(screen->screen_scroll_listener->self); } } static void bs_scroll_upward(ui_screen_t *screen) { if (vt_term_backscroll_upward(screen->term, 1)) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, scrolled_upward)) { (*screen->screen_scroll_listener->scrolled_upward)(screen->screen_scroll_listener->self, 1); } } } static void bs_scroll_downward(ui_screen_t *screen) { if (vt_term_backscroll_downward(screen->term, 1)) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, scrolled_downward)) { (*screen->screen_scroll_listener->scrolled_downward)(screen->screen_scroll_listener->self, 1); } } } static void bs_half_page_upward(ui_screen_t *screen) { if (vt_term_backscroll_upward(screen->term, vt_term_get_rows(screen->term) / 2)) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, scrolled_upward)) { /* XXX Not necessarily vt_term_get_rows( screen->term) / 2. */ (*screen->screen_scroll_listener->scrolled_upward)(screen->screen_scroll_listener->self, vt_term_get_rows(screen->term) / 2); } } } static void bs_half_page_downward(ui_screen_t *screen) { if (vt_term_backscroll_downward(screen->term, vt_term_get_rows(screen->term) / 2)) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, scrolled_downward)) { /* XXX Not necessarily vt_term_get_rows( screen->term) / 2. */ (*screen->screen_scroll_listener->scrolled_downward)(screen->screen_scroll_listener->self, vt_term_get_rows(screen->term) / 2); } } } static void bs_page_upward(ui_screen_t *screen) { if (vt_term_backscroll_upward(screen->term, vt_term_get_rows(screen->term))) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, scrolled_upward)) { /* XXX Not necessarily vt_term_get_rows( screen->term). */ (*screen->screen_scroll_listener->scrolled_upward)(screen->screen_scroll_listener->self, vt_term_get_rows(screen->term)); } } } static void bs_page_downward(ui_screen_t *screen) { if (vt_term_backscroll_downward(screen->term, vt_term_get_rows(screen->term))) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); if (HAS_SCROLL_LISTENER(screen, scrolled_downward)) { /* XXX Not necessarily vt_term_get_rows( screen->term). */ (*screen->screen_scroll_listener->scrolled_downward)(screen->screen_scroll_listener->self, vt_term_get_rows(screen->term)); } } } /* * Utility function to execute both ui_restore_selected_region_color() and * ui_window_update(). */ static void restore_selected_region_color_instantly(ui_screen_t *screen) { if (ui_restore_selected_region_color(&screen->sel)) { ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } } static void write_to_pty_intern(vt_term_t *term, u_char *str, /* str may be NULL */ size_t len, ef_parser_t *parser /* parser may be NULL */) { if (parser && str) { (*parser->init)(parser); (*parser->set_str)(parser, str, len); } vt_term_init_encoding_conv(term); if (parser) { u_char conv_buf[512]; size_t filled_len; #ifdef __DEBUG { size_t i; bl_debug_printf(BL_DEBUG_TAG " written str:\n"); for (i = 0; i < len; i++) { bl_msg_printf("[%.2x]", str[i]); } bl_msg_printf("=>\n"); } #endif while (!parser->is_eos) { if ((filled_len = vt_term_convert_to(term, conv_buf, sizeof(conv_buf), parser)) == 0) { break; } #ifdef __DEBUG { size_t i; for (i = 0; i < filled_len; i++) { bl_msg_printf("[%.2x]", conv_buf[i]); } } #endif vt_term_write(term, conv_buf, filled_len); } } else if (str) { #ifdef __DEBUG { size_t i; bl_debug_printf(BL_DEBUG_TAG " written str: "); for (i = 0; i < len; i++) { bl_msg_printf("%.2x", str[i]); } bl_msg_printf("\n"); } #endif vt_term_write(term, str, len); } else { return; } } static void write_to_pty(ui_screen_t *screen, u_char *str, /* str may be NULL */ size_t len, ef_parser_t *parser /* parser may be NULL */) { if (vt_term_is_broadcasting(screen->term)) { vt_term_t **terms; u_int num = vt_get_all_terms(&terms); u_int count; for (count = 0; count < num; count++) { if (vt_term_is_broadcasting(terms[count])) { write_to_pty_intern(terms[count], str, len, parser); } } } else { write_to_pty_intern(screen->term, str, len, parser); } } static int write_special_key(ui_screen_t *screen, vt_special_key_t key, int modcode, int is_numlock) { if (vt_term_is_broadcasting(screen->term)) { vt_term_t **terms; u_int num = vt_get_all_terms(&terms); u_int count; for (count = 0; count < num; count++) { if (vt_term_is_broadcasting(terms[count])) { if (!vt_term_write_special_key(terms[count], key, modcode, is_numlock)) { return 0; } } } return 1; } else { return vt_term_write_special_key(screen->term, key, modcode, is_numlock); } } static int set_wall_picture(ui_screen_t *screen) { ui_picture_t *pic; if (!screen->pic_file_path) { return 0; } if (!(pic = ui_acquire_bg_picture(&screen->window, ui_screen_get_picture_modifier(screen), screen->pic_file_path))) { bl_msg_printf("Wall picture file %s is not found.\n", screen->pic_file_path); free(screen->pic_file_path); screen->pic_file_path = NULL; ui_window_unset_wall_picture(&screen->window, 1); return 0; } #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE if (screen->window.disp->depth == 4 && strstr(screen->pic_file_path, "six")) { /* * Color pallette of ui_display can be changed by ui_acquire_bg_picture(). * (see ui_display_set_cmap() called from fb/ui_imagelib.c.) */ ui_screen_reload_color_cache(screen, 1); } #endif if (!ui_window_set_wall_picture(&screen->window, pic->pixmap, 1)) { ui_release_picture(pic); /* Because picture is loaded successfully, screen->pic_file_path retains. */ return 0; } if (screen->bg_pic) { ui_release_picture(screen->bg_pic); } screen->bg_pic = pic; return 1; } static int set_icon(ui_screen_t *screen) { ui_icon_picture_t *icon; char *path; if ((path = vt_term_icon_path(screen->term))) { if (screen->icon && strcmp(path, screen->icon->file_path) == 0) { /* Not changed. */ return 0; } if ((icon = ui_acquire_icon_picture(screen->window.disp, path))) { ui_window_set_icon(&screen->window, icon); } else { ui_window_remove_icon(&screen->window); } } else { if (screen->icon == NULL) { /* Not changed. */ return 0; } icon = NULL; ui_window_remove_icon(&screen->window); } if (screen->icon) { ui_release_icon_picture(screen->icon); } screen->icon = icon; return 1; } /* referred in update_special_visual. */ static void change_font_present(ui_screen_t *screen, ui_type_engine_t type_engine, ui_font_present_t font_present); static int update_special_visual(ui_screen_t *screen) { ui_font_present_t font_present; if (!vt_term_update_special_visual(screen->term)) { /* If special visual is not changed, following processing is not necessary. */ return 0; } font_present = ui_get_font_present(screen->font_man) & ~FONT_VERTICAL; /* Similar if-else conditions exist in vt_term_update_special_visual. */ if (vt_term_get_vertical_mode(screen->term)) { font_present |= vt_term_get_vertical_mode(screen->term); } change_font_present(screen, ui_get_type_engine(screen->font_man), font_present); return 1; } static ui_im_t *im_new(ui_screen_t *screen) { return ui_im_new(screen->window.disp, screen->font_man, screen->color_man, screen->term->parser, &screen->im_listener, screen->input_method, screen->mod_ignore_mask); } /* * callbacks of ui_window events */ static void window_realized(ui_window_t *win) { ui_screen_t *screen; char *name; screen = (ui_screen_t *)win; ui_window_set_type_engine(win, ui_get_type_engine(screen->font_man)); screen->mod_meta_mask = ui_window_get_mod_meta_mask(win, screen->mod_meta_key); screen->mod_ignore_mask = ui_window_get_mod_ignore_mask(win, NULL); if (screen->input_method) { /* XIM or other input methods? */ if (strncmp(screen->input_method, "xim", 3) == 0) { activate_xic(screen); } else { ui_xic_activate(&screen->window, "unused", ""); if (!(screen->im = im_new(screen))) { free(screen->input_method); screen->input_method = NULL; } } } ui_window_set_fg_color(win, ui_get_xcolor(screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(win, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); if (HAS_SCROLL_LISTENER(screen, screen_color_changed)) { (*screen->screen_scroll_listener->screen_color_changed)(screen->screen_scroll_listener->self); } ui_get_xcolor_rgba(&screen->pic_mod.blend_red, &screen->pic_mod.blend_green, &screen->pic_mod.blend_blue, NULL, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); if ((name = vt_term_window_name(screen->term))) { ui_set_window_name(&screen->window, name); } if ((name = vt_term_icon_name(screen->term))) { ui_set_icon_name(&screen->window, name); } set_icon(screen); if (screen->borderless) { ui_window_set_borderless_flag(&screen->window, 1); } /* XXX Don't load wall picture until window is resized */ #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF if (screen->window.is_mapped) #endif { set_wall_picture(screen); } } static void window_exposed(ui_window_t *win, int x, int y, u_int width, u_int height) { int beg_row; int end_row; ui_screen_t *screen; screen = (ui_screen_t *)win; if (vt_term_get_vertical_mode(screen->term)) { u_int ncols; ncols = vt_term_get_cols(screen->term); if ((beg_row = x / ui_col_width(screen)) >= ncols) { beg_row = ncols - 1; } if ((end_row = (x + width) / ui_col_width(screen) + 1) >= ncols) { end_row = ncols - 1; } if (vt_term_get_vertical_mode(screen->term) & VERT_RTL) { u_int swp; swp = ncols - beg_row - 1; beg_row = ncols - end_row - 1; end_row = swp; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " exposed [row] from %d to %d [x] from %d to %d\n", beg_row, end_row, x, x + width); #endif vt_term_set_modified_lines_in_screen(screen->term, beg_row, end_row); } else { int row; vt_line_t *line; u_int col_width; col_width = ui_col_width(screen); beg_row = convert_y_to_row(screen, NULL, y); end_row = convert_y_to_row(screen, NULL, y + height); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " exposed [row] from %d to %d [y] from %d to %d\n", beg_row, end_row, y, y + height); #endif for (row = beg_row; row <= end_row; row++) { if ((line = vt_term_get_line_in_screen(screen->term, row))) { if (vt_line_is_rtl(line)) { vt_line_set_modified_all(line); } else { int beg; int end; u_int rest; /* * Don't add rest/col_width to beg because the * character at beg can be full-width. */ beg = convert_x_to_char_index_with_shape(screen, line, &rest, x); end = convert_x_to_char_index_with_shape(screen, line, &rest, x + width); end += ((rest + col_width - 1) / col_width); vt_line_set_modified(line, beg, end); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " exposed line %d to %d [row %d]\n", beg, end, row); #endif } } } } vt_term_select_drcs(screen->term); redraw_screen(screen); if (beg_row <= vt_term_cursor_row_in_screen(screen->term) && vt_term_cursor_row_in_screen(screen->term) <= end_row) { highlight_cursor(screen); } } static void update_window(ui_window_t *win, int flag) { ui_screen_t *screen; screen = (ui_screen_t *)win; vt_term_select_drcs(screen->term); if (flag & UPDATE_SCREEN) { redraw_screen(screen); } else if (flag & UPDATE_SCREEN_BLINK) { vt_set_blink_chars_visible(0); redraw_screen(screen); vt_set_blink_chars_visible(1); } if (flag & UPDATE_CURSOR) { highlight_cursor(screen); } } static void window_resized(ui_window_t *win) { ui_screen_t *screen; u_int rows; u_int cols; u_int width; u_int height; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " window is resized => width %d height %d.\n", win->width, win->height); #endif screen = (ui_screen_t *)win; /* This is necessary since vt_term_t size is changed. */ ui_stop_selecting(&screen->sel); ui_restore_selected_region_color(&screen->sel); exit_backscroll_mode(screen); unhighlight_cursor(screen, 1); /* * visual width/height => logical cols/rows */ if (vt_term_get_vertical_mode(screen->term)) { height = screen->window.width; width = (screen->window.height * 100) / screen->screen_width_ratio; rows = height / ui_col_width(screen); cols = width / ui_line_height(screen); } else { width = (screen->window.width * 100) / screen->screen_width_ratio; height = screen->window.height; cols = width / ui_col_width(screen); rows = height / ui_line_height(screen); } vt_term_resize(screen->term, cols, rows, width, height); screen->width = screen_width(screen); screen->height = screen_height(screen); set_wall_picture(screen); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); ui_xic_resized(&screen->window); } static void window_focused(ui_window_t *win) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (screen->fade_ratio != 100) { if (ui_color_manager_unfade(screen->color_man)) { ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); vt_term_set_modified_all_lines_in_screen(screen->term); ui_window_update(&screen->window, UPDATE_SCREEN); } } ui_window_update(&screen->window, UPDATE_CURSOR); if (screen->im) { (*screen->im->focused)(screen->im); } if (vt_term_want_focus_event(screen->term)) { write_to_pty(screen, "\x1b[I", 3, NULL); } #ifdef USE_BRLAPI ui_brltty_focus(screen->term); #endif } static void window_unfocused(ui_window_t *win) { ui_screen_t *screen; screen = (ui_screen_t *)win; /* * XXX * Unfocus event can be received in deleting window after screen->term was * deleted. */ #if 1 if (!screen->term) { return; } #endif if (screen->fade_ratio != 100) { if (ui_color_manager_fade(screen->color_man, screen->fade_ratio)) { ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); vt_term_set_modified_all_lines_in_screen(screen->term); ui_window_update(&screen->window, UPDATE_SCREEN); } } ui_window_update(&screen->window, UPDATE_CURSOR); if (screen->im) { (*screen->im->unfocused)(screen->im); } if (vt_term_want_focus_event(screen->term)) { write_to_pty(screen, "\x1b[O", 3, NULL); } } /* * the finalizer of ui_screen_t. * * ui_display_close or ui_display_remove_root -> ui_window_final -> *window_finalized */ static void window_finalized(ui_window_t *win) { ui_screen_delete((ui_screen_t *)win); } static void window_deleted(ui_window_t *win) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (HAS_SYSTEM_LISTENER(screen, close_screen)) { (*screen->system_listener->close_screen)(screen->system_listener->self, screen, 1); } } static void mapping_notify(ui_window_t *win) { ui_screen_t *screen; screen = (ui_screen_t *)win; screen->mod_meta_mask = ui_window_get_mod_meta_mask(win, screen->mod_meta_key); screen->mod_ignore_mask = ui_window_get_mod_ignore_mask(win, NULL); } static size_t trim_trailing_newline_in_pasting1(u_char *str, size_t len) { if (trim_trailing_newline_in_pasting) { size_t count; for (count = len; count > 0; count--) { if (str[count - 1] == '\r' || str[count - 1] == '\n') { len--; } else { break; } } } return len; } static u_int trim_trailing_newline_in_pasting2(vt_char_t *str, u_int len) { if (trim_trailing_newline_in_pasting) { size_t count; for (count = len; count > 0; count--) { if (vt_char_code_is(&str[count - 1], '\r', US_ASCII) || vt_char_code_is(&str[count - 1], '\n', US_ASCII)) { len--; } else { break; } } } return len; } #ifdef NL_TO_CR_IN_PAST_TEXT static void convert_nl_to_cr1(u_char *str, size_t len) { size_t count; for (count = 0; count < len; count++) { if (str[count] == '\n') { str[count] = '\r'; } } } static void convert_nl_to_cr2(vt_char_t *str, u_int len) { u_int count; for (count = 0; count < len; count++) { if (vt_char_code_is(&str[count], '\n', US_ASCII)) { vt_char_set_code(&str[count], '\r'); } } } #endif static int yank_event_received(ui_screen_t *screen, Time time) { if (ui_window_is_selection_owner(&screen->window)) { u_int len; if (screen->sel.sel_str == NULL || screen->sel.sel_len == 0) { return 0; } len = trim_trailing_newline_in_pasting2(screen->sel.sel_str, screen->sel.sel_len); #ifdef NL_TO_CR_IN_PAST_TEXT /* * Convert normal newline chars to carriage return chars which are * common return key sequences. */ convert_nl_to_cr2(screen->sel.sel_str, len); #endif (*vt_str_parser->init)(vt_str_parser); vt_str_parser_set_str(vt_str_parser, screen->sel.sel_str, len); if (vt_term_is_bracketed_paste_mode(screen->term)) { write_to_pty(screen, "\x1b[200~", 6, NULL); } write_to_pty(screen, NULL, 0, vt_str_parser); if (vt_term_is_bracketed_paste_mode(screen->term)) { write_to_pty(screen, "\x1b[201~", 6, NULL); } return 1; } else { vt_char_encoding_t encoding; encoding = vt_term_get_encoding(screen->term); if (encoding == VT_UTF8 || (IS_UCS_SUBSET_ENCODING(encoding) && screen->receive_string_via_ucs)) { return ui_window_utf_selection_request(&screen->window, time) || ui_window_xct_selection_request(&screen->window, time); } else { return ui_window_xct_selection_request(&screen->window, time) || ui_window_utf_selection_request(&screen->window, time); } } } static int receive_string_via_ucs(ui_screen_t *screen) { vt_char_encoding_t encoding; encoding = vt_term_get_encoding(screen->term); if (IS_UCS_SUBSET_ENCODING(encoding) && screen->receive_string_via_ucs) { return 1; } else { return 0; } } /* referred in shortcut_match */ static void change_im(ui_screen_t *, char *); static void xterm_set_selection(void *, vt_char_t *, u_int, u_char *); static int shortcut_match(ui_screen_t *screen, KeySym ksym, u_int state) { if (ui_shortcut_match(screen->shortcut, OPEN_SCREEN, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, open_screen)) { (*screen->system_listener->open_screen)(screen->system_listener->self, screen); } return 1; } else if (ui_shortcut_match(screen->shortcut, OPEN_PTY, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, open_pty)) { (*screen->system_listener->open_pty)(screen->system_listener->self, screen, NULL); } return 1; } else if (ui_shortcut_match(screen->shortcut, NEXT_PTY, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, next_pty)) { (*screen->system_listener->next_pty)(screen->system_listener->self, screen); } return 1; } else if (ui_shortcut_match(screen->shortcut, PREV_PTY, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, prev_pty)) { (*screen->system_listener->prev_pty)(screen->system_listener->self, screen); } return 1; } else if (ui_shortcut_match(screen->shortcut, VSPLIT_SCREEN, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, split_screen)) { (*screen->system_listener->split_screen)(screen->system_listener->self, screen, 0, NULL); } return 1; } else if (ui_shortcut_match(screen->shortcut, HSPLIT_SCREEN, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, split_screen)) { (*screen->system_listener->split_screen)(screen->system_listener->self, screen, 1, NULL); } return 1; } else if (ui_shortcut_match(screen->shortcut, NEXT_SCREEN, ksym, state) && HAS_SYSTEM_LISTENER(screen, next_screen) && (*screen->system_listener->next_screen)(screen->system_listener->self, screen)) { return 1; } else if (ui_shortcut_match(screen->shortcut, PREV_SCREEN, ksym, state) && HAS_SYSTEM_LISTENER(screen, prev_screen) && (*screen->system_listener->prev_screen)(screen->system_listener->self, screen)) { return 1; } else if (ui_shortcut_match(screen->shortcut, CLOSE_SCREEN, ksym, state) && HAS_SYSTEM_LISTENER(screen, close_screen) && (*screen->system_listener->close_screen)(screen->system_listener->self, screen, 0)) { return 1; } else if (ui_shortcut_match(screen->shortcut, HEXPAND_SCREEN, ksym, state) && HAS_SYSTEM_LISTENER(screen, resize_screen) && (*screen->system_listener->resize_screen)(screen->system_listener->self, screen, 1, 1)) { return 1; } else if (ui_shortcut_match(screen->shortcut, VEXPAND_SCREEN, ksym, state) && HAS_SYSTEM_LISTENER(screen, resize_screen) && (*screen->system_listener->resize_screen)(screen->system_listener->self, screen, 0, 1)) { return 1; } /* for backward compatibility */ else if (ui_shortcut_match(screen->shortcut, EXT_KBD, ksym, state)) { change_im(screen, "kbd"); return 1; } #ifdef DEBUG else if (ui_shortcut_match(screen->shortcut, EXIT_PROGRAM, ksym, state)) { if (HAS_SYSTEM_LISTENER(screen, exit)) { (*screen->system_listener->exit)(screen->system_listener->self, 1); } return 1; } #endif #ifdef __DEBUG else if (ksym == XK_F10) { /* Performance benchmark */ struct timeval tv; struct timeval tv2; vt_char_t *str; int count; int y; u_int height; u_int ascent; u_int top_margin; char ch; str = vt_str_alloca(0x5e); ch = ' '; for (count = 0; count < 0x5e; count++) { vt_char_set(str + count, ch, US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0, 0); ch++; } height = ui_line_height(screen); ascent = ui_line_ascent(screen); top_margin = line_top_margin(screen); gettimeofday(&tv, NULL); for (count = 0; count < 5; count++) { for (y = 0; y < screen->window.height - height; y += height) { ui_draw_str(&screen->window, screen->font_man, screen->color_man, str, 0x5e, 0, y, height, ascent, top_margin, 0, 0); } ui_window_clear_all(&screen->window); } gettimeofday(&tv2, NULL); bl_debug_printf("Bench(draw) %d usec\n", ((int)(tv2.tv_sec - tv.tv_sec)) * 1000000 + (int)(tv2.tv_usec - tv.tv_usec)); count = 0; for (y = 0; y < screen->window.height - height; y += height) { ui_draw_str(&screen->window, screen->font_man, screen->color_man, str, 0x5e, 0, y, height, ascent, top_margin, 0, 0); count++; } gettimeofday(&tv, NULL); while (count > 0) { ui_window_scroll_upward(&screen->window, height); count--; ui_window_clear(&screen->window, 0, height * count, screen->window.width, height); } gettimeofday(&tv2, NULL); bl_debug_printf("Bench(scroll) %d usec\n", ((int)(tv2.tv_sec - tv.tv_sec)) * 1000000 + (int)(tv2.tv_usec - tv.tv_usec)); return 1; } #endif if (vt_term_is_backscrolling(screen->term)) { if (screen->use_extended_scroll_shortcut) { if (ui_shortcut_match(screen->shortcut, SCROLL_UP, ksym, state)) { bs_scroll_downward(screen); return 1; } else if (ui_shortcut_match(screen->shortcut, SCROLL_DOWN, ksym, state)) { bs_scroll_upward(screen); return 1; } #if 1 else if (ksym == 'u' || ksym == XK_Prior || ksym == XK_KP_Prior) { bs_half_page_downward(screen); return 1; } else if (ksym == 'd' || ksym == XK_Next || ksym == XK_KP_Next) { bs_half_page_upward(screen); return 1; } else if (ksym == 'k' || ksym == XK_Up || ksym == XK_KP_Up) { bs_scroll_downward(screen); return 1; } else if (ksym == 'j' || ksym == XK_Down || ksym == XK_KP_Down) { bs_scroll_upward(screen); return 1; } #endif } if (ui_shortcut_match(screen->shortcut, PAGE_UP, ksym, state)) { bs_half_page_downward(screen); return 1; } else if (ui_shortcut_match(screen->shortcut, PAGE_DOWN, ksym, state)) { bs_half_page_upward(screen); return 1; } else if (ksym == XK_Shift_L || ksym == XK_Shift_R || ksym == XK_Control_L || ksym == XK_Control_R || ksym == XK_Caps_Lock || ksym == XK_Shift_Lock || ksym == XK_Meta_L || ksym == XK_Meta_R || ksym == XK_Alt_L || ksym == XK_Alt_R || ksym == XK_Super_L || ksym == XK_Super_R || ksym == XK_Hyper_L || ksym == XK_Hyper_R || ksym == XK_Escape) { /* any modifier keys(X11/keysymdefs.h) */ return 1; } else if (ksym == 0) { /* button press -> reversed color is restored in button_press(). */ return 0; } else { exit_backscroll_mode(screen); /* Continue processing */ } } if (screen->use_extended_scroll_shortcut && ui_shortcut_match(screen->shortcut, SCROLL_UP, ksym, state)) { enter_backscroll_mode(screen); bs_scroll_downward(screen); } else if (ui_shortcut_match(screen->shortcut, PAGE_UP, ksym, state)) { enter_backscroll_mode(screen); bs_half_page_downward(screen); } else if (ui_shortcut_match(screen->shortcut, PAGE_DOWN, ksym, state)) { /* do nothing */ } else if (ui_shortcut_match(screen->shortcut, INSERT_SELECTION, ksym, state)) { yank_event_received(screen, CurrentTime); } else { return 0; } return 1; } #ifdef USE_QUARTZ const char *cocoa_get_bundle_path(void); #endif static void start_menu(ui_screen_t *screen, char *str, int x, int y) { int global_x; int global_y; ui_window_translate_coordinates(&screen->window, x, y, &global_x, &global_y); /* * XXX I don't know why but XGrabPointer() in child processes * fails without this. */ ui_window_ungrab_pointer(&screen->window); #ifdef USE_QUARTZ /* If program name was specified without directory, prepend LIBEXECDIR to it. */ if (strchr(str, '/') == NULL) { char *new_str; const char *bundle_path; bundle_path = cocoa_get_bundle_path(); if ((new_str = alloca(strlen(bundle_path) + 16 + strlen(str) + 1))) { sprintf(new_str, "%s/Contents/MacOS/%s", bundle_path, str); str = new_str; } } #endif vt_term_start_config_menu(screen->term, str, global_x, global_y, #ifdef USE_WAYLAND NULL #else screen->window.disp->name #endif ); } static int shortcut_str(ui_screen_t *screen, KeySym ksym, u_int state, int x, int y) { char *str; if (!(str = ui_shortcut_str(screen->shortcut, ksym, state))) { return 0; } if (strncmp(str, "menu:", 5) == 0) { start_menu(screen, str + 5, x, y); } else if (strncmp(str, "exesel:", 7) == 0) { size_t str_len; char *key; size_t key_len; str += 7; if (screen->sel.sel_str == NULL || screen->sel.sel_len == 0) { return 0; } str_len = strlen(str) + 1; key_len = str_len + screen->sel.sel_len * VTCHAR_UTF_MAX_SIZE + 1; key = alloca(key_len); strcpy(key, str); key[str_len - 1] = ' '; (*vt_str_parser->init)(vt_str_parser); vt_str_parser_set_str(vt_str_parser, screen->sel.sel_str, screen->sel.sel_len); vt_term_init_encoding_conv(screen->term); key_len = vt_term_convert_to(screen->term, key + str_len, key_len - str_len, vt_str_parser) + str_len; key[key_len] = '\0'; if (strncmp(key, "mlclient", 8) == 0) { ui_screen_exec_cmd(screen, key); } #ifndef USE_WIN32API else { char **argv; int argc; argv = bl_arg_str_to_array(&argc, key); if (fork() == 0) { /* child process */ execvp(argv[0], argv); exit(1); } } #endif } else if (strncmp(str, "proto:", 6) == 0) { char *seq; size_t len; str += 6; len = 7 + strlen(str) + 2; if ((seq = alloca(len))) { sprintf(seq, "\x1b]5379;%s\x07", str); /* * processing_vtseq == -1 means loopback processing of vtseq. * If processing_vtseq is -1, it is not set 1 in start_vt100_cmd() * which is called from vt_term_write_loopback(). */ screen->processing_vtseq = -1; vt_term_write_loopback(screen->term, seq, len - 1); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } } /* XXX Hack for libvte */ else if (IS_LIBVTE(screen) && ksym == 0 && state == Button3Mask && strcmp(str, "none") == 0) { /* do nothing */ } else { write_to_pty(screen, str, strlen(str), NULL); } return 1; } /* referred in key_pressed. */ static int compare_key_state_with_modmap(void *p, u_int state, int *is_shift, int *is_lock, int *is_ctl, int *is_alt, int *is_meta, int *is_numlock, int *is_super, int *is_hyper); typedef struct ksym_conv { KeySym before; KeySym after; } ksym_conv_t; static KeySym convert_ksym(KeySym ksym, ksym_conv_t *table, u_int table_size) { u_int count; for (count = 0; count < table_size; count++) { if (table[count].before == ksym) { return table[count].after; } } /* Not converted. */ return ksym; } static void key_pressed(ui_window_t *win, XKeyEvent *event) { ui_screen_t *screen; size_t size; u_char ch[UTF_MAX_SIZE]; u_char *kstr; KeySym ksym; ef_parser_t *parser; u_int masked_state; screen = (ui_screen_t *)win; masked_state = event->state & screen->mod_ignore_mask; if ((size = ui_window_get_str(win, ch, sizeof(ch), &parser, &ksym, event)) > sizeof(ch)) { if (!(kstr = alloca(size))) { return; } size = ui_window_get_str(win, kstr, size, &parser, &ksym, event); } else { kstr = ch; } #ifdef USE_BRLAPI ui_brltty_speak_key(ksym, kstr, size); #endif #if 0 bl_debug_printf("state %x %x ksym %x str ", event->state, masked_state, ksym); { size_t i; for (i = 0; i < size; i++) { bl_msg_printf("%c", kstr[i]); } bl_msg_printf(" hex "); for (i = 0; i < size; i++) { bl_msg_printf("%x", kstr[i]); } bl_msg_printf("\n"); } #endif if (screen->im) { u_char kchar = 0; if (ui_shortcut_match(screen->shortcut, IM_HOTKEY, ksym, masked_state) || /* for backward compatibility */ ui_shortcut_match(screen->shortcut, EXT_KBD, ksym, masked_state)) { if ((*screen->im->switch_mode)(screen->im)) { return; } } if (size == 1) { kchar = kstr[0]; } #if defined(USE_WIN32GUI) && defined(UTF16_IME_CHAR) else if (size == 2 && kstr[0] == 0) { /* UTF16BE */ kchar = kstr[1]; } #endif if (!(*screen->im->key_event)(screen->im, kchar, ksym, event)) { if (vt_term_is_backscrolling(screen->term)) { exit_backscroll_mode(screen); ui_window_update(&screen->window, UPDATE_SCREEN); } return; } } #ifdef __DEBUG { int i; bl_debug_printf(BL_DEBUG_TAG " received sequence =>"); for (i = 0; i < size; i++) { bl_msg_printf("%.2x", kstr[i]); } bl_msg_printf("\n"); } #endif if (!shortcut_match(screen, ksym, masked_state) && !shortcut_str(screen, ksym, masked_state, 0, 0)) { int modcode; vt_special_key_t spkey; int is_numlock; modcode = 0; spkey = -1; if (event->state) /* Check unmasked (raw) state of event. */ { int is_shift; int is_meta; int is_alt; int is_ctl; if (compare_key_state_with_modmap(screen, event->state, &is_shift, NULL, &is_ctl, &is_alt, &is_meta, &is_numlock, NULL, NULL) && /* compatible with xterm (Modifier codes in input.c) */ (modcode = (is_shift ? 1 : 0) + (is_alt ? 2 : 0) + (is_ctl ? 4 : 0) + (is_meta ? 8 : 0))) { int key; modcode++; if ((key = ksym) < 0x80 || /* * XK_BackSpace, XK_Tab and XK_Return are defined as * 0xffXX in keysymdef.h, while they are less than * 0x80 on win32, framebuffer and wayland. */ (size == 1 && (key = kstr[0]) < 0x20)) { if (key == 0 && size > 0) { /* For win32gui */ key = ef_bytes_to_int(kstr, size); } if (vt_term_write_modified_key(screen->term, key, modcode)) { return; } } } } else { is_numlock = 0; } if (screen->use_vertical_cursor) { if (vt_term_get_vertical_mode(screen->term) & VERT_RTL) { ksym_conv_t table[] = { { XK_Up, XK_Left, }, { XK_KP_Up, XK_KP_Left, }, { XK_Down, XK_Right, }, { XK_KP_Down, XK_KP_Right, }, { XK_Left, XK_Down, }, { XK_KP_Left, XK_KP_Down, }, { XK_Right, XK_Up, }, { XK_KP_Right, XK_KP_Up, }, }; ksym = convert_ksym(ksym, table, sizeof(table) / sizeof(table[0])); } else if (vt_term_get_vertical_mode(screen->term) & VERT_LTR) { ksym_conv_t table[] = { { XK_Up, XK_Left, }, { XK_KP_Up, XK_KP_Left, }, { XK_Down, XK_Right, }, { XK_KP_Down, XK_KP_Right, }, { XK_Left, XK_Up, }, { XK_KP_Left, XK_KP_Up, }, { XK_Right, XK_Down, }, { XK_KP_Right, XK_KP_Down, }, }; ksym = convert_ksym(ksym, table, sizeof(table) / sizeof(table[0])); } } if (IsKeypadKey(ksym)) { if (ksym == XK_KP_Multiply) { spkey = SPKEY_KP_MULTIPLY; } else if (ksym == XK_KP_Add) { spkey = SPKEY_KP_ADD; } else if (ksym == XK_KP_Separator) { spkey = SPKEY_KP_SEPARATOR; } else if (ksym == XK_KP_Subtract) { spkey = SPKEY_KP_SUBTRACT; } else if (ksym == XK_KP_Decimal || ksym == XK_KP_Delete) { spkey = SPKEY_KP_DELETE; } else if (ksym == XK_KP_Divide) { spkey = SPKEY_KP_DIVIDE; } else if (ksym == XK_KP_F1) { spkey = SPKEY_KP_F1; } else if (ksym == XK_KP_F2) { spkey = SPKEY_KP_F2; } else if (ksym == XK_KP_F3) { spkey = SPKEY_KP_F3; } else if (ksym == XK_KP_F4) { spkey = SPKEY_KP_F4; } else if (ksym == XK_KP_Insert) { spkey = SPKEY_KP_INSERT; } else if (ksym == XK_KP_End) { spkey = SPKEY_KP_END; } else if (ksym == XK_KP_Down) { spkey = SPKEY_KP_DOWN; } else if (ksym == XK_KP_Next) { spkey = SPKEY_KP_NEXT; } else if (ksym == XK_KP_Left) { spkey = SPKEY_KP_LEFT; } else if (ksym == XK_KP_Begin) { spkey = SPKEY_KP_BEGIN; } else if (ksym == XK_KP_Right) { spkey = SPKEY_KP_RIGHT; } else if (ksym == XK_KP_Home) { spkey = SPKEY_KP_HOME; } else if (ksym == XK_KP_Up) { spkey = SPKEY_KP_UP; } else if (ksym == XK_KP_Prior) { spkey = SPKEY_KP_PRIOR; } else { goto no_keypad; } goto write_buf; } no_keypad: if ((ksym == XK_Delete #ifdef USE_XLIB && size == 1 #endif ) || ksym == XK_KP_Delete) { spkey = SPKEY_DELETE; } /* * XXX * In some environment, if backspace(1) -> 0-9 or space(2) pressed * continuously, * ksym in (2) as well as (1) is XK_BackSpace. */ else if (ksym == XK_BackSpace && size == 1 && kstr[0] == 0x8) { spkey = SPKEY_BACKSPACE; } else if (ksym == XK_Escape) { spkey = SPKEY_ESCAPE; } else if (size > 0) { /* do nothing */ } /* * following ksym is processed only if no key string is received * (size == 0) */ #if 1 else if (ksym == XK_Pause) { if (modcode == 0) { vt_term_reset_pending_vt100_sequence(screen->term); } } #endif else if (ksym == XK_Up) { spkey = SPKEY_UP; } else if (ksym == XK_Down) { spkey = SPKEY_DOWN; } else if (ksym == XK_Right) { spkey = SPKEY_RIGHT; } else if (ksym == XK_Left) { spkey = SPKEY_LEFT; } else if (ksym == XK_Begin) { spkey = SPKEY_BEGIN; } else if (ksym == XK_End) { spkey = SPKEY_END; } else if (ksym == XK_Home) { spkey = SPKEY_HOME; } else if (ksym == XK_Prior) { spkey = SPKEY_PRIOR; } else if (ksym == XK_Next) { spkey = SPKEY_NEXT; } else if (ksym == XK_Insert) { spkey = SPKEY_INSERT; } else if (ksym == XK_Find) { spkey = SPKEY_FIND; } else if (ksym == XK_Execute) { spkey = SPKEY_EXECUTE; } else if (ksym == XK_Select) { spkey = SPKEY_SELECT; } else if (ksym == XK_ISO_Left_Tab) { spkey = SPKEY_ISO_LEFT_TAB; } else if (ksym == XK_F15 || ksym == XK_Help) { spkey = SPKEY_F15; } else if (ksym == XK_F16 || ksym == XK_Menu) { spkey = SPKEY_F16; } else if (XK_F1 <= ksym && ksym <= XK_FMAX) { spkey = SPKEY_F1 + ksym - XK_F1; } #ifdef SunXK_F36 else if (ksym == SunXK_F36) { spkey = SPKEY_F36; } else if (ksym == SunXK_F37) { spkey = SPKEY_F37; } #endif else { return; } write_buf: /* Check unmasked (raw) state of event. */ if (screen->mod_meta_mask & event->state) { if (screen->mod_meta_mode == MOD_META_OUTPUT_ESC) { write_to_pty(screen, mod_meta_prefix, strlen(mod_meta_prefix), NULL); } else if (screen->mod_meta_mode == MOD_META_SET_MSB) { size_t count; if (!IS_8BIT_ENCODING(vt_term_get_encoding(screen->term))) { static ef_parser_t *key_parser; /* XXX leaked */ if (!key_parser) { key_parser = vt_char_encoding_parser_new(VT_ISO8859_1); } parser = key_parser; } #if defined(USE_WIN32GUI) && defined(UTF16_IME_CHAR) size /= 2; for (count = 0; count < size; count++) { /* UTF16BE => 8bit */ if (0x20 <= kstr[count*2 + 1] && kstr[count*2 + 1] <= 0x7e) { kstr[count] = kstr[count*2] | 0x80; } } #else for (count = 0; count < size; count++) { if (0x20 <= kstr[count] && kstr[count] <= 0x7e) { kstr[count] |= 0x80; } } #endif } } if (spkey != -1 && write_special_key(screen, spkey, modcode, is_numlock)) { return; } if (size > 0) { ef_conv_t *utf_conv; if (parser && receive_string_via_ucs(screen) && (utf_conv = ui_get_selection_conv(1))) { /* XIM Text -> UCS -> PTY ENCODING */ u_char conv_buf[512]; size_t filled_len; (*parser->init)(parser); (*parser->set_str)(parser, kstr, size); (*utf_conv->init)(utf_conv); while (!parser->is_eos) { if ((filled_len = (*utf_conv->convert)(utf_conv, conv_buf, sizeof(conv_buf), parser)) == 0) { break; } write_to_pty(screen, conv_buf, filled_len, ui_get_selection_parser(1)); } } else { write_to_pty(screen, kstr, size, parser); } } } } static void selection_cleared(ui_window_t *win) { if (ui_sel_clear(&((ui_screen_t *)win)->sel)) { ui_window_update(win, UPDATE_SCREEN | UPDATE_CURSOR); } } static size_t convert_selection_to_xct(ui_screen_t *screen, u_char *str, size_t len) { size_t filled_len; ef_conv_t *xct_conv; #ifdef __DEBUG { int i; bl_debug_printf(BL_DEBUG_TAG " sending internal str: "); for (i = 0; i < screen->sel.sel_len; i++) { vt_char_dump(&screen->sel.sel_str[i]); } bl_msg_printf("\n -> converting to ->\n"); } #endif if (!(xct_conv = ui_get_selection_conv(0))) { return 0; } (*vt_str_parser->init)(vt_str_parser); vt_str_parser_set_str(vt_str_parser, screen->sel.sel_str, screen->sel.sel_len); (*xct_conv->init)(xct_conv); filled_len = (*xct_conv->convert)(xct_conv, str, len, vt_str_parser); #ifdef __DEBUG { int i; bl_debug_printf(BL_DEBUG_TAG " sending xct str: "); for (i = 0; i < filled_len; i++) { bl_msg_printf("%.2x", str[i]); } bl_msg_printf("\n"); } #endif return filled_len; } static size_t convert_selection_to_utf(ui_screen_t *screen, u_char *str, size_t len) { size_t filled_len; ef_conv_t *utf_conv; #ifdef __DEBUG { int i; bl_debug_printf(BL_DEBUG_TAG " sending internal str: "); for (i = 0; i < screen->sel.sel_len; i++) { vt_char_dump(&screen->sel.sel_str[i]); } bl_msg_printf("\n -> converting to ->\n"); } #endif if (!(utf_conv = ui_get_selection_conv(1))) { return 0; } (*vt_str_parser->init)(vt_str_parser); vt_str_parser_set_str(vt_str_parser, screen->sel.sel_str, screen->sel.sel_len); (*utf_conv->init)(utf_conv); filled_len = (*utf_conv->convert)(utf_conv, str, len, vt_str_parser); #ifdef __DEBUG { int i; bl_debug_printf(BL_DEBUG_TAG " sending utf str: "); for (i = 0; i < filled_len; i++) { bl_msg_printf("%.2x", str[i]); } bl_msg_printf("\n"); } #endif return filled_len; } static void xct_selection_requested(ui_window_t *win, XSelectionRequestEvent *event, Atom type) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (screen->sel.sel_str == NULL || screen->sel.sel_len == 0) { ui_window_send_text_selection(win, event, NULL, 0, 0); } else { u_char *xct_str; size_t xct_len; size_t filled_len; xct_len = screen->sel.sel_len * VTCHAR_XCT_MAX_SIZE; /* * Don't use alloca() here because len can be too big value. * (VTCHAR_XCT_MAX_SIZE defined in vt_char.h is 160 byte.) */ if ((xct_str = malloc(xct_len)) == NULL) { return; } filled_len = convert_selection_to_xct(screen, xct_str, xct_len); ui_window_send_text_selection(win, event, xct_str, filled_len, type); free(xct_str); } } static void utf_selection_requested(ui_window_t *win, XSelectionRequestEvent *event, Atom type) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (screen->sel.sel_str == NULL || screen->sel.sel_len == 0) { ui_window_send_text_selection(win, event, NULL, 0, 0); } else { u_char *utf_str; size_t utf_len; size_t filled_len; utf_len = screen->sel.sel_len * VTCHAR_UTF_MAX_SIZE; /* * Don't use alloca() here because len can be too big value. * (VTCHAR_UTF_MAX_SIZE defined in vt_char.h is 48 byte.) */ if ((utf_str = malloc(utf_len)) == NULL) { return; } filled_len = convert_selection_to_utf(screen, utf_str, utf_len); ui_window_send_text_selection(win, event, utf_str, filled_len, type); free(utf_str); } } static void xct_selection_notified(ui_window_t *win, u_char *str, size_t len) { ui_screen_t *screen; ef_conv_t *utf_conv; ef_parser_t *xct_parser; if (!(xct_parser = ui_get_selection_parser(0))) { return; } len = trim_trailing_newline_in_pasting1(str, len); #ifdef NL_TO_CR_IN_PAST_TEXT /* * Convert normal newline chars to carriage return chars which are * common return key sequences. */ convert_nl_to_cr1(str, len); #endif screen = (ui_screen_t *)win; if (vt_term_is_bracketed_paste_mode(screen->term)) { write_to_pty(screen, "\x1b[200~", 6, NULL); } #ifdef USE_XLIB /* * XXX * parsing UTF-8 sequence designated by ESC % G. * It is on xlib alone that it might be received. */ if (len > 3 && strncmp(str, "\x1b%G", 3) == 0) { #if 0 int i; for (i = 0; i < len; i++) { bl_msg_printf("%.2x ", str[i]); } #endif write_to_pty(screen, str + 3, len - 3, ui_get_selection_parser(1)); } else #endif if (receive_string_via_ucs(screen) && (utf_conv = ui_get_selection_conv(1))) { /* XCOMPOUND TEXT -> UCS -> PTY ENCODING */ u_char conv_buf[512]; size_t filled_len; (*xct_parser->init)(xct_parser); (*xct_parser->set_str)(xct_parser, str, len); (*utf_conv->init)(utf_conv); while (!xct_parser->is_eos) { if ((filled_len = (*utf_conv->convert)(utf_conv, conv_buf, sizeof(conv_buf), xct_parser)) == 0) { break; } write_to_pty(screen, conv_buf, filled_len, ui_get_selection_parser(1)); } } else { /* XCOMPOUND TEXT -> PTY ENCODING */ write_to_pty(screen, str, len, xct_parser); } if (vt_term_is_bracketed_paste_mode(screen->term)) { write_to_pty(screen, "\x1b[201~", 6, NULL); } } static void utf_selection_notified(ui_window_t *win, u_char *str, size_t len) { ui_screen_t *screen; len = trim_trailing_newline_in_pasting1(str, len); #ifdef NL_TO_CR_IN_PAST_TEXT /* * Convert normal newline chars to carriage return chars which are * common return key sequences. */ convert_nl_to_cr1(str, len); #endif screen = (ui_screen_t *)win; if (vt_term_is_bracketed_paste_mode(screen->term)) { write_to_pty(screen, "\x1b[200~", 6, NULL); } write_to_pty(screen, str, len, ui_get_selection_parser(1)); if (vt_term_is_bracketed_paste_mode(screen->term)) { write_to_pty(screen, "\x1b[201~", 6, NULL); } } #ifndef DISABLE_XDND static void set_xdnd_config(ui_window_t *win, char *dev, char *key, char *value) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (strcmp(key, "scp") == 0) { if (vt_term_get_slave_fd(screen->term) == -1) /* connecting to remote host. */ { /* value is always UTF-8 */ vt_term_scp(screen->term, ".", value, VT_UTF8); } } else { ui_screen_set_config(screen, dev, key, value); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } } #endif static void report_mouse_tracking(ui_screen_t *screen, int x, int y, int button, int state, int is_motion, int is_released /* is_released is 0 if PointerMotion */ ) { int key_state; int button_state; vt_line_t *line; int col; int row; u_int ui_rest; if (/* is_motion && */ button == 0) { /* PointerMotion */ key_state = button_state = 0; } else { /* * Shift = 4 * Meta = 8 * Control = 16 * Button Motion = 32 * * NOTE: with Ctrl/Shift, the click is interpreted as region selection at *present. * So Ctrl/Shift will never be catched here. */ key_state = ((state & ShiftMask) ? 4 : 0) + ((state & screen->mod_meta_mask) ? 8 : 0) + ((state & ControlMask) ? 16 : 0) + (is_motion /* && (state & (Button1Mask|Button2Mask|Button3Mask)) */ ? 32 : 0); /* for LOCATOR_REPORT */ button_state = (1 << (button - Button1)); if (state & Button1Mask) { button_state |= 1; } if (state & Button2Mask) { button_state |= 2; } if (state & Button3Mask) { button_state |= 4; } } if (vt_term_get_mouse_report_mode(screen->term) == LOCATOR_PIXEL_REPORT) { screen->prev_mouse_report_col = x + 1; screen->prev_mouse_report_row = y + 1; vt_term_report_mouse_tracking(screen->term, x + 1, y + 1, button, is_released, key_state, button_state); return; } if (vt_term_get_vertical_mode(screen->term)) { col = convert_y_to_row(screen, NULL, y); if ((line = vt_term_get_line_in_screen(screen->term, col)) == NULL) { return; } if (vt_term_is_using_multi_col_char(screen->term)) { row = x / ui_col_width(screen); } else { row = vt_convert_char_index_to_col(line, convert_x_to_char_index_with_shape(screen, line, &ui_rest, x), 0); } if (vt_term_is_using_multi_col_char(screen->term)) { int count; for (count = col; count >= 0; count--) { if ((line = vt_term_get_line_in_screen(screen->term, count)) && row < line->num_filled_chars && vt_char_cols(&line->chars[row]) > 1) { col++; } } } if (vt_term_get_vertical_mode(screen->term) & VERT_RTL) { row = vt_term_get_cols(screen->term) - row - 1; } } else { u_int width; int char_index; row = convert_y_to_row(screen, NULL, y); if ((line = vt_term_get_line_in_screen(screen->term, row)) == NULL) { return; } char_index = convert_x_to_char_index_with_shape(screen, line, &ui_rest, x); if (vt_line_is_rtl(line)) { /* XXX */ char_index = vt_line_convert_visual_char_index_to_logical(line, char_index); } col = vt_convert_char_index_to_col(line, char_index, 0); ui_font_manager_set_attr(screen->font_man, line->size_attr, vt_line_has_ot_substitute_glyphs(line)); width = ui_calculate_char_width(ui_get_font(screen->font_man, vt_char_font(vt_sp_ch())), vt_char_code(vt_sp_ch()), US_ASCII, NULL); if (ui_rest > width) { if ((col += ui_rest / width) >= vt_term_get_cols(screen->term)) { col = vt_term_get_cols(screen->term) - 1; } } } /* count starts from 1, not 0 */ col++; row++; if (is_motion && button <= Button3 && /* not wheel mouse */ screen->prev_mouse_report_col == col && screen->prev_mouse_report_row == row) { /* pointer is not moved. */ return; } vt_term_report_mouse_tracking(screen->term, col, row, button, is_released, key_state, button_state); screen->prev_mouse_report_col = col; screen->prev_mouse_report_row = row; } /* * Functions related to selection. */ static void start_selection(ui_screen_t *screen, int col_r, int row_r, ui_sel_type_t type, int is_rect) { int col_l; int row_l; vt_line_t *line; /* XXX */ if (vt_term_get_vertical_mode(screen->term)) { bl_msg_printf("Not supported selection in vertical mode.\n"); return; } if ((line = vt_term_get_line(screen->term, row_r)) == NULL) { return; } if (is_rect) { if (col_r == 0 || abs(col_r) + 1 == vt_term_get_cols(screen->term)) { col_l = col_r; } else { col_l = col_r - 1; } row_l = row_r; } else if ((!vt_line_is_rtl(line) && col_r == 0) || (vt_line_is_rtl(line) && abs(col_r) == vt_line_end_char_index(line))) { if ((line = vt_term_get_line(screen->term, row_r - 1)) == NULL || vt_line_is_empty(line)) { /* XXX col_l can be underflowed, but anyway it works. */ col_l = col_r - 1; row_l = row_r; } else { if (vt_line_is_rtl(line)) { col_l = 0; } else { col_l = vt_line_end_char_index(line); } row_l = row_r - 1; } } else { col_l = col_r - 1; row_l = row_r; } if (ui_start_selection(&screen->sel, col_l, row_l, col_r, row_r, type, is_rect)) { ui_window_update(&screen->window, UPDATE_SCREEN); } } static void selecting(ui_screen_t *screen, int char_index, int row) { /* XXX */ if (vt_term_get_vertical_mode(screen->term)) { bl_msg_printf("Not supported selection in vertical mode.\n"); return; } if (ui_selected_region_is_changed(&screen->sel, char_index, row, 1) && ui_selecting(&screen->sel, char_index, row)) { ui_window_update(&screen->window, UPDATE_SCREEN); } } static void selecting_with_motion(ui_screen_t *screen, int x, int y, Time time, int is_rect) { int char_index; int row; int ui_is_outside; u_int ui_rest; vt_line_t *line; if (x < 0) { x = 0; ui_is_outside = 1; } else if (x > screen->width) { x = screen->width; ui_is_outside = 1; } else { ui_is_outside = 0; } if (y < 0) { if (vt_term_get_num_logged_lines(screen->term) > 0) { if (!vt_term_is_backscrolling(screen->term)) { enter_backscroll_mode(screen); } bs_scroll_downward(screen); } y = 0; } else if (y > screen->height) { if (vt_term_is_backscrolling(screen->term)) { bs_scroll_upward(screen); } y = screen->height - ui_line_height(screen); } row = vt_term_convert_scr_row_to_abs(screen->term, convert_y_to_row(screen, NULL, y)); if ((line = vt_term_get_line(screen->term, row)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " line(%d) not found.\n", row); #endif return; } char_index = convert_x_to_char_index_with_shape(screen, line, &ui_rest, x); if (is_rect || screen->sel.is_rect) { /* converting char index to col. */ char_index = vt_convert_char_index_to_col(line, char_index, 0); if (vt_line_is_rtl(line)) { char_index += (vt_term_get_cols(screen->term) - vt_line_get_num_filled_cols(line)); char_index -= (ui_rest / ui_col_width(screen)); } else { char_index += (ui_rest / ui_col_width(screen)); } } else if (char_index == vt_line_end_char_index(line) && ui_rest > 0) { ui_is_outside = 1; /* Inform vt_screen that the mouse position is outside of the line. */ char_index++; } if (vt_line_is_rtl(line)) { char_index = -char_index; } if (!ui_is_selecting(&screen->sel)) { restore_selected_region_color_instantly(screen); start_selection(screen, char_index, row, SEL_CHAR, is_rect); } else { if (!ui_is_outside) { if (ui_is_after_sel_right_base_pos(&screen->sel, char_index, row)) { if (abs(char_index) > 0) { char_index--; } } #if 0 else if (ui_is_before_sel_left_base_pos(&screen->sel, char_index, row)) { if (abs(char_index) < vt_line_end_char_index(line)) { char_index++; } } #endif } selecting(screen, char_index, row); } } static int selecting_picture(ui_screen_t *screen, int char_index, int row) { vt_line_t *line; vt_char_t *ch; ui_inline_picture_t *pic; if (!(line = vt_term_get_line(screen->term, row)) || vt_line_is_empty(line) || !(ch = vt_char_at(line, char_index)) || !(ch = vt_get_picture_char(ch)) || !(pic = ui_get_inline_picture(vt_char_picture_id(ch)))) { return 0; } ui_window_send_picture_selection(&screen->window, pic->pixmap, pic->width, pic->height); return 1; } static void selecting_word(ui_screen_t *screen, int x, int y, Time time) { int char_index; int row; u_int ui_rest; int beg_row; int beg_char_index; int end_row; int end_char_index; vt_line_t *line; row = vt_term_convert_scr_row_to_abs(screen->term, convert_y_to_row(screen, NULL, y)); if ((line = vt_term_get_line(screen->term, row)) == NULL || vt_line_is_empty(line)) { return; } char_index = convert_x_to_char_index_with_shape(screen, line, &ui_rest, x); if (vt_line_end_char_index(line) == char_index && ui_rest > 0) { /* over end of line */ return; } if (selecting_picture(screen, char_index, row)) { return; } if (vt_term_get_word_region(screen->term, &beg_char_index, &beg_row, &end_char_index, &end_row, char_index, row) == 0) { return; } if (vt_line_is_rtl(vt_term_get_line(screen->term, beg_row))) { if (ui_is_selecting(&screen->sel)) { beg_char_index = -beg_char_index; } else { beg_char_index = -beg_char_index + 1; } } if (vt_line_is_rtl(vt_term_get_line(screen->term, end_row))) { end_char_index = -end_char_index; } if (!ui_is_selecting(&screen->sel)) { restore_selected_region_color_instantly(screen); start_selection(screen, beg_char_index, beg_row, SEL_WORD, 0); selecting(screen, end_char_index, end_row); ui_sel_lock(&screen->sel); } else { if (beg_row == end_row && vt_line_is_rtl(vt_term_get_line(screen->term, beg_row))) { int tmp; tmp = end_char_index; end_char_index = beg_char_index; beg_char_index = tmp; } if (ui_is_before_sel_left_base_pos(&screen->sel, beg_char_index, beg_row)) { selecting(screen, beg_char_index, beg_row); } else { selecting(screen, end_char_index, end_row); } } } static void selecting_line(ui_screen_t *screen, int y, Time time) { int row; int beg_char_index; int beg_row; int end_char_index; int end_row; row = vt_term_convert_scr_row_to_abs(screen->term, convert_y_to_row(screen, NULL, y)); if (vt_term_get_line_region(screen->term, &beg_row, &end_char_index, &end_row, row) == 0) { return; } if (vt_line_is_rtl(vt_term_get_line(screen->term, beg_row))) { beg_char_index = -vt_line_end_char_index(vt_term_get_line(screen->term, beg_row)); } else { beg_char_index = 0; } if (vt_line_is_rtl(vt_term_get_line(screen->term, end_row))) { end_char_index -= vt_line_end_char_index(vt_term_get_line(screen->term, end_row)); } if (!ui_is_selecting(&screen->sel)) { restore_selected_region_color_instantly(screen); start_selection(screen, beg_char_index, beg_row, SEL_LINE, 0); selecting(screen, end_char_index, end_row); ui_sel_lock(&screen->sel); } else if (ui_is_before_sel_left_base_pos(&screen->sel, beg_char_index, beg_row)) { selecting(screen, beg_char_index, beg_row); } else { selecting(screen, end_char_index, end_row); } } static void change_sb_mode(ui_screen_t *screen, ui_sb_mode_t sb_mode); static void pointer_motion(ui_window_t *win, XMotionEvent *event) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (!(event->state & (ShiftMask | ControlMask)) && vt_term_get_mouse_report_mode(screen->term) >= ANY_EVENT_MOUSE_REPORT) { restore_selected_region_color_instantly(screen); report_mouse_tracking(screen, event->x, event->y, 0, event->state, 1, 0); } } static void button_motion(ui_window_t *win, XMotionEvent *event) { ui_screen_t *screen; screen = (ui_screen_t *)win; /* * event->state is never 0 because this function is 'button'_motion, * not 'pointer'_motion. */ if (!(event->state & (ShiftMask | ControlMask)) && vt_term_get_mouse_report_mode(screen->term)) { if (vt_term_get_mouse_report_mode(screen->term) >= BUTTON_EVENT_MOUSE_REPORT) { int button; if (event->state & Button1Mask) { button = Button1; } else if (event->state & Button2Mask) { button = Button2; } else if (event->state & Button3Mask) { button = Button3; } else { return; } restore_selected_region_color_instantly(screen); report_mouse_tracking(screen, event->x, event->y, button, event->state, 1, 0); } } else if (!(event->state & Button2Mask)) { switch (ui_is_selecting(&screen->sel)) { case SEL_WORD: selecting_word(screen, event->x, event->y, event->time); break; case SEL_LINE: selecting_line(screen, event->y, event->time); break; default: /* * XXX * Button3 selection is disabled on libvte. * If Button3 is pressed after selecting in order to show * "copy" menu, button_motion can be called by slight movement * of the mouse cursor, then selection is reset unexpectedly. */ if (!(event->state & Button3Mask) || !IS_LIBVTE(screen)) { int is_alt; int is_meta; selecting_with_motion( screen, event->x, event->y, event->time, (compare_key_state_with_modmap(screen, event->state, NULL, NULL, NULL, &is_alt, &is_meta, NULL, NULL, NULL) && (is_alt || is_meta))); } break; } } } static void button_press_continued(ui_window_t *win, XButtonEvent *event) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (ui_is_selecting(&screen->sel) && (event->y < 0 || win->height < event->y)) { int is_alt; int is_meta; selecting_with_motion(screen, event->x, event->y, event->time, (compare_key_state_with_modmap(screen, event->state, NULL, NULL, NULL, &is_alt, &is_meta, NULL, NULL, NULL) && (is_alt || is_meta))); } } static void button_pressed(ui_window_t *win, XButtonEvent *event, int click_num) { ui_screen_t *screen; u_int state; screen = (ui_screen_t *)win; if (vt_term_get_mouse_report_mode(screen->term) && !(event->state & (ShiftMask | ControlMask))) { restore_selected_region_color_instantly(screen); report_mouse_tracking(screen, event->x, event->y, event->button, event->state, 0, 0); return; } state = (Button1Mask << (event->button - Button1)) | event->state; if (event->button == Button1) { if (click_num == 2) { /* double clicked */ selecting_word(screen, event->x, event->y, event->time); return; } else if (click_num == 3) { /* triple click */ selecting_line(screen, event->y, event->time); return; } } if (shortcut_match(screen, 0, state) || shortcut_str(screen, 0, state, event->x, event->y)) { return; } if (event->button == Button3) { if (ui_sel_is_reversed(&screen->sel)) { /* expand if current selection exists. */ /* FIXME: move sel.* stuff should be in ui_selection.c */ screen->sel.is_selecting = SEL_CHAR; selecting_with_motion(screen, event->x, event->y, event->time, 0); /* keep sel as selected to handle succeeding MotionNotify */ } } else if (event->button == Button4) { /* wheel mouse */ enter_backscroll_mode(screen); if (event->state & ShiftMask) { bs_scroll_downward(screen); } else if (event->state & ControlMask) { bs_page_downward(screen); } else { bs_half_page_downward(screen); } } else if (event->button == Button5) { /* wheel mouse */ enter_backscroll_mode(screen); if (event->state & ShiftMask) { bs_scroll_upward(screen); } else if (event->state & ControlMask) { bs_page_upward(screen); } else { bs_half_page_upward(screen); } } else if (event->button < Button3) { restore_selected_region_color_instantly(screen); } } static void button_released(ui_window_t *win, XButtonEvent *event) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (vt_term_get_mouse_report_mode(screen->term) && !(event->state & (ShiftMask | ControlMask))) { if (event->button >= Button4) { /* Release events for the wheel buttons are not reported. */ } else { report_mouse_tracking(screen, event->x, event->y, event->button, event->state, 0, 1); } /* * In case button motion -> set mouse report -> button release, * ui_stop_selecting() should be called. * (It happens if you release shift key before stopping text selection * by moving mouse.) */ } else { if (event->button == Button2) { if (event->state & ControlMask) { /* FIXME: should check whether a menu is really active? */ return; } else { yank_event_received(screen, event->time); } } } if (ui_stop_selecting(&screen->sel)) { ui_window_update(&screen->window, UPDATE_CURSOR); } } static void idling(ui_window_t *win) { ui_screen_t *screen; screen = (ui_screen_t *)win; if (screen->blink_wait >= 0) { if (screen->blink_wait == 5) { if (screen->window.is_focused) { int update; update = vt_term_blink(screen->term); if (vt_term_get_cursor_style(screen->term) & CS_BLINK) { unhighlight_cursor(screen, 1); update = 1; } if (update) { ui_window_update(&screen->window, UPDATE_SCREEN_BLINK); } } screen->blink_wait = -1; } else { screen->blink_wait++; } } else { if (screen->blink_wait == -6) { int flag; flag = vt_term_blink(screen->term) ? UPDATE_SCREEN : 0; if (vt_term_get_cursor_style(screen->term) & CS_BLINK) { flag |= UPDATE_CURSOR; } if (flag) { ui_window_update(&screen->window, flag); } screen->blink_wait = 0; } else { screen->blink_wait--; } } #ifndef NO_IMAGE /* * 1-2: wait for the next frame. (0.1sec * 2) * 3: animate. */ if (++screen->anim_wait == 3) { if ((screen->anim_wait = ui_animate_inline_pictures(screen->term))) { ui_window_update(&screen->window, UPDATE_SCREEN); } } #endif } #ifdef HAVE_REGEX #include static int match(size_t *beg, size_t *len, void *regex, u_char *str, int backward) { regmatch_t pmatch[1]; if (regexec(regex, str, 1, pmatch, 0) != 0) { return 0; } *beg = pmatch[0].rm_so; *len = pmatch[0].rm_eo - pmatch[0].rm_so; if (backward) { while (1) { str += pmatch[0].rm_eo; if (regexec(regex, str, 1, pmatch, 0) != 0) { break; } (*beg) += ((*len) + pmatch[0].rm_so); *len = pmatch[0].rm_eo - pmatch[0].rm_so; } } return 1; } #else /* HAVE_REGEX */ static int match(size_t *beg, size_t *len, void *regex, u_char *str, int backward) { size_t regex_len; size_t str_len; u_char *p; if ((regex_len = strlen(regex)) > (str_len = strlen(str))) { return 0; } #if 0 { bl_msg_printf("S T R => "); p = str; while (*p) { bl_msg_printf("%.2x", *p); p++; } bl_msg_printf("\nREGEX => "); p = regex; while (*p) { bl_msg_printf("%.2x", *p); p++; } bl_msg_printf("\n"); } #endif if (backward) { p = str + str_len - regex_len; do { if (strncasecmp(p, regex, regex_len) == 0) { goto found; } } while (p-- != str); return 0; } else { p = str; do { if (strncasecmp(p, regex, regex_len) == 0) { goto found; } } while (*(++p)); return 0; } found: *beg = p - str; *len = regex_len; return 1; } #endif /* HAVE_REGEX */ static int search_find(ui_screen_t *screen, u_char *pattern, int backward) { int beg_char_index; int beg_row; int end_char_index; int end_row; #ifdef HAVE_REGEX regex_t regex; #endif if (pattern && *pattern #ifdef HAVE_REGEX && regcomp(®ex, pattern, REG_EXTENDED | REG_ICASE) == 0 #endif ) { vt_term_search_init(screen->term, match); #ifdef HAVE_REGEX if (vt_term_search_find(screen->term, &beg_char_index, &beg_row, &end_char_index, &end_row, ®ex, backward)) #else if (vt_term_search_find(screen->term, &beg_char_index, &beg_row, &end_char_index, &end_row, pattern, backward)) #endif { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Search find %d %d - %d %d\n", beg_char_index, beg_row, end_char_index, end_row); #endif ui_sel_clear(&screen->sel); start_selection(screen, beg_char_index, beg_row, SEL_CHAR, 0); selecting(screen, end_char_index, end_row); ui_stop_selecting(&screen->sel); ui_screen_scroll_to(screen, beg_row); if (HAS_SCROLL_LISTENER(screen, scrolled_to)) { (*screen->screen_scroll_listener->scrolled_to)(screen->screen_scroll_listener->self, beg_row); } } #ifdef HAVE_REGEX regfree(®ex); #endif } else { vt_term_search_final(screen->term); } return 1; } static void resize_window(ui_screen_t *screen) { /* screen will redrawn in window_resized() */ if (ui_window_resize(&screen->window, (screen->width = screen_width(screen)), (screen->height = screen_height(screen)), NOTIFY_TO_PARENT)) { /* * !! Notice !! * ui_window_resize() will invoke ConfigureNotify event but window_resized() * won't be called , since xconfigure.width , xconfigure.height are the same * as the already resized window. */ window_resized(&screen->window); } } static void modify_line_space_and_offset(ui_screen_t *screen) { u_int font_height = ui_get_usascii_font(screen->font_man)->height; if (screen->line_space < 0 && font_height < -screen->line_space * 4) { bl_msg_printf("Ignore line_space (%d)\n", screen->line_space); screen->line_space = 0; } if (font_height < abs(screen->baseline_offset) * 8) { bl_msg_printf("Ignore baseline_offset (%d)\n", screen->baseline_offset); screen->baseline_offset = 0; } if (screen->underline_offset != 0) { if (screen->underline_offset < 0) { if (font_height >= -screen->underline_offset * 8) { return; } } else { if (screen->underline_offset <= font_height - ui_get_usascii_font(screen->font_man)->ascent + screen->line_space / 2 /* + screen->line_space % 2 */ - screen->baseline_offset) { /* underline_offset < descent + bottom_margin */ return; } } bl_msg_printf("Ignore underline_offset (%d)\n", screen->underline_offset); screen->underline_offset = 0; } } static void font_size_changed(ui_screen_t *screen) { u_int col_width; u_int line_height; modify_line_space_and_offset(screen); if (HAS_SCROLL_LISTENER(screen, line_height_changed)) { (*screen->screen_scroll_listener->line_height_changed)(screen->screen_scroll_listener->self, ui_line_height(screen)); } col_width = ui_col_width(screen); line_height = ui_line_height(screen); ui_window_set_normal_hints(&screen->window, col_width, line_height, col_width, line_height); resize_window(screen); } static void change_font_size(ui_screen_t *screen, u_int font_size) { if (font_size == ui_get_font_size(screen->font_man)) { /* not changed */ return; } if (!ui_change_font_size(screen->font_man, font_size)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_change_font_size(%d) failed.\n", font_size); #endif return; } /* redrawing all lines with new fonts. */ vt_term_set_modified_all_lines_in_screen(screen->term); font_size_changed(screen); /* this is because font_man->font_set may have changed in * ui_change_font_size() */ ui_xic_font_set_changed(&screen->window); } static void change_line_space(ui_screen_t *screen, int line_space) { if (screen->line_space == line_space) { /* not changed */ return; } /* letter_space and line_space are ignored on console. */ #ifndef USE_CONSOLE screen->line_space = line_space; font_size_changed(screen); #endif } static void change_letter_space(ui_screen_t *screen, u_int letter_space) { if (!ui_set_letter_space(screen->font_man, letter_space)) { return; } font_size_changed(screen); } static void change_screen_width_ratio(ui_screen_t *screen, u_int ratio) { if (screen->screen_width_ratio == ratio) { return; } screen->screen_width_ratio = ratio; resize_window(screen); } static void change_font_present(ui_screen_t *screen, ui_type_engine_t type_engine, ui_font_present_t font_present) { if (vt_term_get_vertical_mode(screen->term)) { if (font_present & FONT_VAR_WIDTH) { bl_msg_printf("Set use_variable_column_width=false forcibly.\n"); font_present &= ~FONT_VAR_WIDTH; } } if (!ui_change_font_present(screen->font_man, type_engine, font_present)) { return; } /* XXX This function is called from ui_screen_new via update_special_visual. */ if (!screen->window.my_window) { return; } ui_window_set_type_engine(&screen->window, ui_get_type_engine(screen->font_man)); /* redrawing all lines with new fonts. */ vt_term_set_modified_all_lines_in_screen(screen->term); font_size_changed(screen); } static int usascii_font_cs_changed(ui_screen_t *screen, vt_char_encoding_t encoding) { ef_charset_t cs; if (vt_term_get_unicode_policy(screen->term) & NOT_USE_UNICODE_FONT) { cs = ui_get_usascii_font_cs(VT_ISO8859_1); } else if (vt_term_get_unicode_policy(screen->term) & ONLY_USE_UNICODE_FONT) { cs = ui_get_usascii_font_cs(VT_UTF8); } else { cs = ui_get_usascii_font_cs(encoding); } if (ui_font_manager_usascii_font_cs_changed(screen->font_man, cs)) { font_size_changed(screen); /* * this is because font_man->font_set may have changed in * ui_font_manager_usascii_font_cs_changed() */ ui_xic_font_set_changed(&screen->window); return 1; } else { return 0; } } static void change_char_encoding(ui_screen_t *screen, vt_char_encoding_t encoding) { if (vt_term_get_encoding(screen->term) == encoding) { /* not changed */ return; } usascii_font_cs_changed(screen, encoding); if (!vt_term_change_encoding(screen->term, encoding)) { bl_error_printf("VT100 encoding and Terminal screen encoding are discrepant.\n"); } if (update_special_visual(screen)) { vt_term_set_modified_all_lines_in_screen(screen->term); } if (screen->im) { change_im(screen, bl_str_alloca_dup(screen->input_method)); } } static void change_log_size(ui_screen_t *screen, u_int logsize) { if (vt_term_get_log_size(screen->term) == logsize) { /* not changed */ return; } /* * this is necessary since vt_logs_t size is changed. */ ui_stop_selecting(&screen->sel); restore_selected_region_color_instantly(screen); exit_backscroll_mode(screen); vt_term_change_log_size(screen->term, logsize); if (HAS_SCROLL_LISTENER(screen, log_size_changed)) { (*screen->screen_scroll_listener->log_size_changed)(screen->screen_scroll_listener->self, logsize); } } static void change_sb_view(ui_screen_t *screen, char *name) { if (HAS_SCROLL_LISTENER(screen, change_view)) { (*screen->screen_scroll_listener->change_view)(screen->screen_scroll_listener->self, name); } } static void change_mod_meta_key(ui_screen_t *screen, char *key) { free(screen->mod_meta_key); if (strcmp(key, "none") == 0) { screen->mod_meta_key = NULL; } else { screen->mod_meta_key = strdup(key); } screen->mod_meta_mask = ui_window_get_mod_meta_mask(&(screen->window), screen->mod_meta_key); } static void change_mod_meta_mode(ui_screen_t *screen, ui_mod_meta_mode_t mod_meta_mode) { screen->mod_meta_mode = mod_meta_mode; } static void change_bel_mode(ui_screen_t *screen, ui_bel_mode_t bel_mode) { screen->bel_mode = bel_mode; } static void change_vertical_mode(ui_screen_t *screen, vt_vertical_mode_t vertical_mode) { if (vt_term_get_vertical_mode(screen->term) == vertical_mode) { /* not changed */ return; } vt_term_set_vertical_mode(screen->term, vertical_mode); if (update_special_visual(screen)) { /* redrawing under new vertical mode. */ vt_term_set_modified_all_lines_in_screen(screen->term); } } static void change_sb_mode(ui_screen_t *screen, ui_sb_mode_t sb_mode) { if (HAS_SCROLL_LISTENER(screen, change_sb_mode)) { (*screen->screen_scroll_listener->change_sb_mode)(screen->screen_scroll_listener->self, sb_mode); } } static void change_dynamic_comb_flag(ui_screen_t *screen, int use_dynamic_comb) { if (vt_term_is_using_dynamic_comb(screen->term) == use_dynamic_comb) { /* not changed */ return; } vt_term_set_use_dynamic_comb(screen->term, use_dynamic_comb); if (update_special_visual(screen)) { vt_term_set_modified_all_lines_in_screen(screen->term); } } static void change_receive_string_via_ucs_flag(ui_screen_t *screen, int flag) { screen->receive_string_via_ucs = flag; } static void change_fg_color(ui_screen_t *screen, char *name) { if (ui_color_manager_set_fg_color(screen->color_man, name) && ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_FG_COLOR))) { ui_xic_fg_color_changed(&screen->window); vt_term_set_modified_all_lines_in_screen(screen->term); if (HAS_SCROLL_LISTENER(screen, screen_color_changed)) { (*screen->screen_scroll_listener->screen_color_changed)(screen->screen_scroll_listener->self); } } } static void picture_modifier_changed(ui_screen_t *screen); static void change_bg_color(ui_screen_t *screen, char *name) { if (ui_color_manager_set_bg_color(screen->color_man, name) && ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR))) { ui_xic_bg_color_changed(&screen->window); ui_get_xcolor_rgba(&screen->pic_mod.blend_red, &screen->pic_mod.blend_green, &screen->pic_mod.blend_blue, NULL, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); picture_modifier_changed(screen); vt_term_set_modified_all_lines_in_screen(screen->term); if (HAS_SCROLL_LISTENER(screen, screen_color_changed)) { (*screen->screen_scroll_listener->screen_color_changed)(screen->screen_scroll_listener->self); } } } static void change_alt_color(ui_screen_t *screen, vt_color_t color, char *name) { if (ui_color_manager_set_alt_color(screen->color_man, color, *name ? name : NULL)) { vt_term_set_modified_all_lines_in_screen(screen->term); vt_term_set_alt_color_mode( screen->term, *name ? (vt_term_get_alt_color_mode(screen->term) | (1 << (color - VT_BOLD_COLOR))) : (vt_term_get_alt_color_mode(screen->term) & ~(1 << (color - VT_BOLD_COLOR)))); } } static void change_sb_fg_color(ui_screen_t *screen, char *name) { if (HAS_SCROLL_LISTENER(screen, change_fg_color)) { (*screen->screen_scroll_listener->change_fg_color)(screen->screen_scroll_listener->self, name); } } static void change_sb_bg_color(ui_screen_t *screen, char *name) { if (HAS_SCROLL_LISTENER(screen, change_bg_color)) { (*screen->screen_scroll_listener->change_bg_color)(screen->screen_scroll_listener->self, name); } } static void change_use_bold_font_flag(ui_screen_t *screen, int flag) { if (ui_set_use_bold_font(screen->font_man, flag)) { vt_term_set_modified_all_lines_in_screen(screen->term); } } static void change_use_italic_font_flag(ui_screen_t *screen, int flag) { if (ui_set_use_italic_font(screen->font_man, flag)) { vt_term_set_modified_all_lines_in_screen(screen->term); } } static void change_hide_underline_flag(ui_screen_t *screen, int flag) { if (screen->hide_underline != flag) { screen->hide_underline = flag; vt_term_set_modified_all_lines_in_screen(screen->term); } } static void change_underline_offset(ui_screen_t *screen, int offset) { if (screen->underline_offset != offset) { screen->underline_offset = offset; modify_line_space_and_offset(screen); } } static void change_baseline_offset(ui_screen_t *screen, int offset) { #ifndef USE_CONSOLE if (screen->baseline_offset != offset) { screen->baseline_offset = offset; modify_line_space_and_offset(screen); } #endif } static void larger_font_size(ui_screen_t *screen) { ui_larger_font(screen->font_man); font_size_changed(screen); /* this is because font_man->font_set may have changed in ui_larger_font() */ ui_xic_font_set_changed(&screen->window); /* redrawing all lines with new fonts. */ vt_term_set_modified_all_lines_in_screen(screen->term); } static void smaller_font_size(ui_screen_t *screen) { ui_smaller_font(screen->font_man); font_size_changed(screen); /* this is because font_man->font_set may have changed in ui_smaller_font() */ ui_xic_font_set_changed(&screen->window); /* redrawing all lines with new fonts. */ vt_term_set_modified_all_lines_in_screen(screen->term); } static int change_true_transbg_alpha(ui_screen_t *screen, u_int alpha) { int ret; if ((ret = ui_change_true_transbg_alpha(screen->color_man, alpha)) > 0) { /* True transparency works. Same processing as change_bg_color */ if (ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR))) { ui_xic_bg_color_changed(&screen->window); vt_term_set_modified_all_lines_in_screen(screen->term); } } return ret; } static void change_transparent_flag(ui_screen_t *screen, int is_transparent) { if (screen->window.is_transparent == is_transparent #ifdef USE_XLIB /* * If wall picture is not still set, do set it. * This is necessary for gnome-terminal, because ConfigureNotify event * never * happens when it opens new tab. */ && screen->window.wall_picture_is_set == is_transparent #endif ) { /* not changed */ return; } if (is_transparent) { /* disable true transparency */ change_true_transbg_alpha(screen, 255); ui_window_set_transparent(&screen->window, ui_screen_get_picture_modifier(screen)); } else { ui_window_unset_transparent(&screen->window); set_wall_picture(screen); } if (HAS_SCROLL_LISTENER(screen, transparent_state_changed)) { (*screen->screen_scroll_listener->transparent_state_changed)( screen->screen_scroll_listener->self, is_transparent, ui_screen_get_picture_modifier(screen)); } } static void change_ctl_flag(ui_screen_t *screen, int use_ctl, vt_bidi_mode_t bidi_mode, int use_ot_layout) { int do_update; if (vt_term_is_using_ctl(screen->term) == use_ctl && vt_term_get_bidi_mode(screen->term) == bidi_mode && vt_term_is_using_ot_layout(screen->term) == use_ot_layout) { /* not changed */ return; } /* * If use_ctl flag is false and not changed, it is not necessary to update * even if * bidi_mode flag and use_ot_layout are changed. */ do_update = (use_ctl != vt_term_is_using_ctl(screen->term)) || vt_term_is_using_ctl(screen->term); vt_term_set_use_ctl(screen->term, use_ctl); vt_term_set_bidi_mode(screen->term, bidi_mode); vt_term_set_use_ot_layout(screen->term, use_ot_layout); if (do_update && update_special_visual(screen)) { vt_term_set_modified_all_lines_in_screen(screen->term); } } static void change_borderless_flag(ui_screen_t *screen, int flag) { if (ui_window_set_borderless_flag(&screen->window, flag)) { screen->borderless = flag; } } static void change_wall_picture(ui_screen_t *screen, char *file_path) { if (screen->pic_file_path) { if (strcmp(screen->pic_file_path, file_path) == 0) { /* not changed */ return; } free(screen->pic_file_path); } if (*file_path == '\0') { if (!screen->pic_file_path) { return; } screen->pic_file_path = NULL; ui_window_unset_wall_picture(&screen->window, 1); } else { screen->pic_file_path = strdup(file_path); if (set_wall_picture(screen)) { return; } } /* disable true transparency */ change_true_transbg_alpha(screen, 255); } static void picture_modifier_changed(ui_screen_t *screen) { if (screen->window.is_transparent) { ui_window_set_transparent(&screen->window, ui_screen_get_picture_modifier(screen)); if (HAS_SCROLL_LISTENER(screen, transparent_state_changed)) { (*screen->screen_scroll_listener->transparent_state_changed)( screen->screen_scroll_listener->self, 1, ui_screen_get_picture_modifier(screen)); } } else { set_wall_picture(screen); } } static void change_brightness(ui_screen_t *screen, u_int brightness) { if (screen->pic_mod.brightness == brightness) { /* not changed */ return; } screen->pic_mod.brightness = brightness; picture_modifier_changed(screen); } static void change_contrast(ui_screen_t *screen, u_int contrast) { if (screen->pic_mod.contrast == contrast) { /* not changed */ return; } screen->pic_mod.contrast = contrast; picture_modifier_changed(screen); } static void change_gamma(ui_screen_t *screen, u_int gamma) { if (screen->pic_mod.gamma == gamma) { /* not changed */ return; } screen->pic_mod.gamma = gamma; picture_modifier_changed(screen); } static void change_alpha(ui_screen_t *screen, u_int alpha) { if (!ui_window_has_wall_picture(&screen->window) && change_true_transbg_alpha(screen, alpha)) { /* True transparency works. */ if (alpha == 255) { /* Completely opaque. => reset pic_mod.alpha. */ screen->pic_mod.alpha = 0; } else { screen->pic_mod.alpha = alpha; } } else { /* True transparency doesn't work. */ if (screen->pic_mod.alpha == alpha) { /* not changed */ return; } screen->pic_mod.alpha = alpha; picture_modifier_changed(screen); } } static void change_fade_ratio(ui_screen_t *screen, u_int fade_ratio) { if (screen->fade_ratio == fade_ratio) { /* not changed */ return; } screen->fade_ratio = fade_ratio; ui_color_manager_unfade(screen->color_man); if (!screen->window.is_focused) { if (screen->fade_ratio < 100) { ui_color_manager_fade(screen->color_man, screen->fade_ratio); } } ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); vt_term_set_modified_all_lines_in_screen(screen->term); } static void change_im(ui_screen_t *screen, char *input_method) { ui_im_t *im; ui_xic_deactivate(&screen->window); /* * Avoid to delete anything inside im-module by calling ui_im_delete() * after ui_im_new(). */ im = screen->im; free(screen->input_method); screen->input_method = NULL; if (!input_method) { return; } screen->input_method = strdup(input_method); if (strncmp(screen->input_method, "xim", 3) == 0) { activate_xic(screen); screen->im = NULL; } else { ui_xic_activate(&screen->window, "unused", ""); if ((screen->im = im_new(screen))) { if (screen->window.is_focused) { screen->im->focused(screen->im); } } else { free(screen->input_method); screen->input_method = NULL; } } if (im) { ui_im_delete(im); } } /* * Callbacks of ui_config_event_listener_t events. */ static void get_config_intern(ui_screen_t *screen, char *dev, /* can be NULL */ char *key, /* can be "error" */ int to_menu, /* -1: don't output to pty and menu. */ int *flag /* 1(true), 0(false) or -1(other) is returned. */ ) { vt_term_t *term; char *value; char digit[DIGIT_STR_LEN(u_int) + 1]; if (dev) { if (!(term = vt_get_term(dev))) { goto error; } } else { term = screen->term; } if (vt_term_get_config(term, dev ? screen->term : NULL, key, to_menu, flag)) { return; } value = NULL; if (strcmp(key, "fg_color") == 0) { value = ui_color_manager_get_fg_color(screen->color_man); } else if (strcmp(key, "bg_color") == 0) { value = ui_color_manager_get_bg_color(screen->color_man); } else if (strcmp(key, "cursor_fg_color") == 0) { if ((value = ui_color_manager_get_cursor_fg_color(screen->color_man)) == NULL) { value = ""; } } else if (strcmp(key, "cursor_bg_color") == 0) { if ((value = ui_color_manager_get_cursor_bg_color(screen->color_man)) == NULL) { value = ""; } } else if (strcmp(key, "bd_color") == 0) { if ((value = ui_color_manager_get_alt_color(screen->color_man, VT_BOLD_COLOR)) == NULL) { value = ""; } } else if (strcmp(key, "it_color") == 0) { if ((value = ui_color_manager_get_alt_color(screen->color_man, VT_ITALIC_COLOR)) == NULL) { value = ""; } } else if (strcmp(key, "ul_color") == 0) { if ((value = ui_color_manager_get_alt_color(screen->color_man, VT_UNDERLINE_COLOR)) == NULL) { value = ""; } } else if (strcmp(key, "bl_color") == 0) { if ((value = ui_color_manager_get_alt_color(screen->color_man, VT_BLINKING_COLOR)) == NULL) { value = ""; } } else if (strcmp(key, "co_color") == 0) { if ((value = ui_color_manager_get_alt_color(screen->color_man, VT_CROSSED_OUT_COLOR)) == NULL) { value = ""; } } else if (strcmp(key, "sb_fg_color") == 0) { if (screen->screen_scroll_listener && screen->screen_scroll_listener->fg_color) { value = (*screen->screen_scroll_listener->fg_color)(screen->screen_scroll_listener->self); } } else if (strcmp(key, "sb_bg_color") == 0) { if (screen->screen_scroll_listener && screen->screen_scroll_listener->bg_color) { value = (*screen->screen_scroll_listener->bg_color)(screen->screen_scroll_listener->self); } } else if (strcmp(key, "hide_underline") == 0) { if (screen->hide_underline) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "underline_offset") == 0) { sprintf(digit, "%d", screen->underline_offset); value = digit; } else if (strcmp(key, "baseline_offset") == 0) { sprintf(digit, "%d", screen->baseline_offset); value = digit; } else if (strcmp(key, "fontsize") == 0) { sprintf(digit, "%d", ui_get_font_size(screen->font_man)); value = digit; } else if (strcmp(key, "line_space") == 0) { sprintf(digit, "%d", screen->line_space); value = digit; } else if (strcmp(key, "letter_space") == 0) { sprintf(digit, "%d", ui_get_letter_space(screen->font_man)); value = digit; } else if (strcmp(key, "screen_width_ratio") == 0) { sprintf(digit, "%d", screen->screen_width_ratio); value = digit; } else if (strcmp(key, "scrollbar_view_name") == 0) { if (screen->screen_scroll_listener && screen->screen_scroll_listener->view_name) { value = (*screen->screen_scroll_listener->view_name)(screen->screen_scroll_listener->self); } } else if (strcmp(key, "mod_meta_key") == 0) { if (screen->mod_meta_key == NULL) { value = "none"; } else { value = screen->mod_meta_key; } } else if (strcmp(key, "mod_meta_mode") == 0) { value = ui_get_mod_meta_mode_name(screen->mod_meta_mode); } else if (strcmp(key, "bel_mode") == 0) { value = ui_get_bel_mode_name(screen->bel_mode); } else if (strcmp(key, "scrollbar_mode") == 0) { if (screen->screen_scroll_listener && screen->screen_scroll_listener->sb_mode) { value = ui_get_sb_mode_name( (*screen->screen_scroll_listener->sb_mode)(screen->screen_scroll_listener->self)); } else { value = ui_get_sb_mode_name(SBM_NONE); } } else if (strcmp(key, "receive_string_via_ucs") == 0 || /* backward compatibility with 2.6.1 or before */ strcmp(key, "copy_paste_via_ucs") == 0) { if (screen->receive_string_via_ucs) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_transbg") == 0) { if (screen->window.is_transparent) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "brightness") == 0) { sprintf(digit, "%d", screen->pic_mod.brightness); value = digit; } else if (strcmp(key, "contrast") == 0) { sprintf(digit, "%d", screen->pic_mod.contrast); value = digit; } else if (strcmp(key, "gamma") == 0) { sprintf(digit, "%d", screen->pic_mod.gamma); value = digit; } else if (strcmp(key, "alpha") == 0) { if (screen->window.disp->depth < 32) { sprintf(digit, "%d", screen->color_man->alpha); } else { sprintf(digit, "%d", screen->pic_mod.alpha); } value = digit; } else if (strcmp(key, "fade_ratio") == 0) { sprintf(digit, "%d", screen->fade_ratio); value = digit; } else if (strcmp(key, "type_engine") == 0) { value = ui_get_type_engine_name(ui_get_type_engine(screen->font_man)); } else if (strcmp(key, "use_anti_alias") == 0) { ui_font_present_t font_present; font_present = ui_get_font_present(screen->font_man); if (font_present & FONT_AA) { value = "true"; } else if (font_present & FONT_NOAA) { value = "false"; } else { value = "default"; } } else if (strcmp(key, "use_variable_column_width") == 0) { if (ui_get_font_present(screen->font_man) & FONT_VAR_WIDTH) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_multi_column_char") == 0) { if (vt_term_is_using_multi_col_char(screen->term)) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_bold_font") == 0) { if (ui_is_using_bold_font(screen->font_man)) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_italic_font") == 0) { if (ui_is_using_italic_font(screen->font_man)) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "input_method") == 0) { if (screen->input_method) { value = screen->input_method; } else { value = "none"; } } else if (strcmp(key, "default_xim_name") == 0) { value = ui_xic_get_default_xim_name(); } else if (strcmp(key, "borderless") == 0) { if (screen->borderless) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "wall_picture") == 0) { if (screen->pic_file_path) { value = screen->pic_file_path; } else { value = ""; } } else if (strcmp(key, "gui") == 0) { value = GUI_TYPE; } else if (strcmp(key, "use_clipboard") == 0) { if (ui_is_using_clipboard_selection()) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "allow_osc52") == 0) { if (screen->xterm_listener.set_selection) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "use_extended_scroll_shortcut") == 0) { if (screen->use_extended_scroll_shortcut) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "pty_list") == 0) { value = vt_get_pty_list(); } else if (strcmp(key, "trim_trailing_newline_in_pasting") == 0) { if (trim_trailing_newline_in_pasting) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "fontconfig") == 0) { if (to_menu <= 0) { char *list = ui_font_manager_dump_font_config(screen->font_man); vt_term_response_config(screen->term, list, NULL, -1); free(list); return; } } else if (strcmp(key, "use_vertical_cursor") == 0) { if (screen->use_vertical_cursor) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "click_interval") == 0) { sprintf(digit, "%d", ui_get_click_interval()); value = digit; } #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) else if (strcmp(key, "use_aafont") == 0) { if (ui_is_using_aafont()) { value = "true"; } else { value = "false"; } } #endif if (value) { if (flag) { *flag = value ? true_or_false(value) : -1; } else { vt_term_response_config(screen->term, key, value, to_menu); } } else { error: vt_term_response_config(screen->term, "error", NULL, to_menu); } } static void get_config(void *p, char *dev, /* can be NULL */ char *key, /* can be "error" */ int to_menu) { get_config_intern(p, dev, key, to_menu, NULL); } static void set_font_config(void *p, char *file, /* can be NULL */ char *cs, char *val, int save) { ui_screen_t *screen; screen = p; /* USASCII, US-ASCII, US_ASCII */ if (strncmp(cs, "US", 2) == 0 && (strcmp(cs + 2, "ASCII") == 0 || strcmp(cs + 3, "ASCII") == 0)) { cs = ui_get_charset_name(ui_get_current_usascii_font_cs(screen->font_man)); } if (ui_customize_font_file(file, cs, val, save)) { screen->font_or_color_config_updated |= 0x1; } } static void get_font_config(void *p, char *file, /* can be NULL */ char *cs, int to_menu) { ui_screen_t *screen; char *font_name; screen = p; /* USASCII, US-ASCII, US_ASCII */ if (strncmp(cs, "US", 2) == 0 && (strcmp(cs + 2, "ASCII") == 0 || strcmp(cs + 3, "ASCII") == 0)) { cs = ui_get_charset_name(ui_get_current_usascii_font_cs(screen->font_man)); } font_name = ui_get_config_font_name2(file, ui_get_font_size(screen->font_man), cs); vt_term_response_config(screen->term, cs, font_name ? font_name : "", to_menu); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " #%s=%s (%s)\n", cs, font_name, to_menu ? "to menu" : "to pty"); #endif free(font_name); return; } static void set_color_config(void *p, char *file, /* ignored */ char *key, char *val, int save) { ui_screen_t *screen; screen = p; if (vt_customize_color_file(key, val, save)) { screen->font_or_color_config_updated |= 0x2; } } static void get_color_config(void *p, char *key, int to_menu) { ui_screen_t *screen; vt_color_t color; ui_color_t *xcolor; u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; char rgba[10]; screen = p; if ((color = vt_get_color(key)) == VT_UNKNOWN_COLOR || !(xcolor = ui_get_xcolor(screen->color_man, color))) { vt_term_response_config(screen->term, "error", NULL, to_menu); return; } ui_get_xcolor_rgba(&red, &green, &blue, &alpha, xcolor); sprintf(rgba, alpha == 255 ? "#%.2x%.2x%.2x" : "#%.2x%.2x%.2x%.2x", red, green, blue, alpha); vt_term_response_config(screen->term, key, rgba, to_menu); } /* * callbacks of ui_sel_event_listener_t events. */ static void reverse_color(void *p, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { ui_screen_t *screen; vt_line_t *line; screen = (ui_screen_t *)p; /* * Char index -1 has special meaning in rtl lines, so don't use abs() here. */ if ((line = vt_term_get_line(screen->term, beg_row)) && vt_line_is_rtl(line)) { beg_char_index = -beg_char_index; } if ((line = vt_term_get_line(screen->term, end_row)) && vt_line_is_rtl(line)) { end_char_index = -end_char_index; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " reversing region %d %d %d %d.\n", beg_char_index, beg_row, end_char_index, end_row); #endif vt_term_reverse_color(screen->term, beg_char_index, beg_row, end_char_index, end_row, is_rect); } static void restore_color(void *p, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { ui_screen_t *screen; vt_line_t *line; screen = (ui_screen_t *)p; /* * Char index -1 has special meaning in rtl lines, so don't use abs() here. */ if ((line = vt_term_get_line(screen->term, beg_row)) && vt_line_is_rtl(line)) { beg_char_index = -beg_char_index; } if ((line = vt_term_get_line(screen->term, end_row)) && vt_line_is_rtl(line)) { end_char_index = -end_char_index; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " restoring region %d %d %d %d.\n", beg_char_index, beg_row, end_char_index, end_row); #endif vt_term_restore_color(screen->term, beg_char_index, beg_row, end_char_index, end_row, is_rect); } static int select_in_window(void *p, vt_char_t **chars, u_int *len, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { ui_screen_t *screen; vt_line_t *line; u_int size; screen = p; /* * Char index -1 has special meaning in rtl lines, so don't use abs() here. */ if ((line = vt_term_get_line(screen->term, beg_row)) && vt_line_is_rtl(line)) { beg_char_index = -beg_char_index; } if ((line = vt_term_get_line(screen->term, end_row)) && vt_line_is_rtl(line)) { end_char_index = -end_char_index; } if ((size = vt_term_get_region_size(screen->term, beg_char_index, beg_row, end_char_index, end_row, is_rect)) == 0) { return 0; } if ((*chars = vt_str_new(size)) == NULL) { return 0; } *len = vt_term_copy_region(screen->term, *chars, size, beg_char_index, beg_row, end_char_index, end_row, is_rect); #ifdef DEBUG bl_debug_printf("SELECTION: "); vt_str_dump(*chars, size); #endif #ifdef DEBUG if (size != *len) { bl_warn_printf(BL_DEBUG_TAG " vt_term_get_region_size() == %d and vt_term_copy_region() == %d" " are not the same size !\n", size, *len); } #endif if (!ui_window_set_selection_owner(&screen->window, CurrentTime)) { vt_str_delete(*chars, size); return 0; } else { return 1; } } /* * callbacks of vt_screen_event_listener_t events. */ static int window_scroll_upward_region(void *p, int beg_row, int end_row, u_int size) { ui_screen_t *screen; screen = p; if (!ui_window_is_scrollable(&screen->window)) { return 0; } set_scroll_boundary(screen, beg_row, end_row); screen->scroll_cache_rows += size; return 1; } static int window_scroll_downward_region(void *p, int beg_row, int end_row, u_int size) { ui_screen_t *screen; screen = p; if (!ui_window_is_scrollable(&screen->window)) { return 0; } set_scroll_boundary(screen, beg_row, end_row); screen->scroll_cache_rows -= size; return 1; } static void line_scrolled_out(void *p) { ui_screen_t *screen; screen = p; ui_sel_line_scrolled_out(&screen->sel, -((int)vt_term_get_log_size(screen->term))); #ifndef NO_IMAGE /* * Note that scrolled out line hasn't been added to vt_logs_t yet here. * (see receive_scrolled_out_line() in vt_screen.c) */ if (vt_term_get_num_logged_lines(screen->term) >= -INLINEPIC_AVAIL_ROW) { vt_line_t *line; if ((line = vt_term_get_line(screen->term, INLINEPIC_AVAIL_ROW))) { int count; for (count = 0; count < line->num_filled_chars; count++) { vt_char_t *ch; if ((ch = vt_get_picture_char(line->chars + count))) { vt_char_copy(ch, vt_sp_ch()); } } } } #endif } /* * callbacks of ui_xim events. */ static int get_spot_intern(ui_screen_t *screen, vt_char_t *chars, int segment_offset, int return_line_bottom, int ignore_vertical_mode, int *x, int *y) { vt_line_t *line; vt_char_t *comb_chars; u_int comb_size; int i; *x = *y = 0; if ((line = vt_term_get_cursor_line(screen->term)) == NULL || vt_line_is_empty(line)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor line doesn't exist ?.\n"); #endif return 0; } if (!vt_term_get_vertical_mode(screen->term) || ignore_vertical_mode) { int row; if ((row = vt_term_cursor_row_in_screen(screen->term)) < 0) { return 0; } *x = convert_char_index_to_x_with_shape(screen, line, vt_term_cursor_char_index(screen->term)); *y = convert_row_to_y(screen, row); if (return_line_bottom) { *y += ui_line_height(screen); } if (segment_offset > 0) { ui_font_manager_set_attr(screen->font_man, line->size_attr, vt_line_has_ot_substitute_glyphs(line)); i = 0; do { u_int width; width = ui_calculate_vtchar_width(ui_get_font(screen->font_man, vt_char_font(&chars[i])), &chars[i], NULL); *x += width; if (*x >= screen->width) { *x = 0; *y += ui_line_height(screen); } /* not count combining characters */ comb_chars = vt_get_combining_chars(&chars[i], &comb_size); if (comb_chars) { i += comb_size; } } while (++i < segment_offset); } } else { *x = convert_char_index_to_x_with_shape(screen, line, vt_term_cursor_char_index(screen->term)); *y = convert_row_to_y(screen, vt_term_cursor_row(screen->term)); *x += ui_col_width(screen); if (segment_offset > 0) { int width; u_int height; width = ui_col_width(screen); if (vt_term_get_vertical_mode(screen->term) == VERT_RTL) { width = -width; } height = ui_line_height(screen); i = 0; do { *y += height; if (*y >= screen->height) { *x += width; *y = 0; } /* not count combining characters */ comb_chars = vt_get_combining_chars(&chars[i], &comb_size); if (comb_chars) { i += comb_size; } } while (++i < segment_offset); } } return 1; } /* * this doesn't consider backscroll mode. */ static int get_spot(void *p, int *x, int *y) { #ifndef XIM_SPOT_IS_LINE_TOP #ifdef USE_QUARTZ return get_spot_intern(p, NULL, 0, 1, 0, x, y); #else return get_spot_intern(p, NULL, 0, 1, 1, x, y); #endif #else return get_spot_intern(p, NULL, 0, 0, 1, x, y); #endif } static XFontSet get_fontset(void *p) { ui_screen_t *screen; screen = p; return ui_get_fontset(screen->font_man); } static ui_color_t *get_fg_color(void *p) { ui_screen_t *screen; screen = p; return ui_get_xcolor(screen->color_man, VT_FG_COLOR); } static ui_color_t *get_bg_color(void *p) { ui_screen_t *screen; screen = p; return ui_get_xcolor(screen->color_man, VT_BG_COLOR); } /* * callbacks of ui_im events. */ static int get_im_spot(void *p, vt_char_t *chars, int segment_offset, int *x, int *y) { ui_screen_t *screen = p; if (!get_spot_intern(screen, chars, segment_offset, 1, 0, x, y)) { return 0; } ui_window_translate_coordinates(&screen->window, *x + screen->window.hmargin, *y + screen->window.vmargin, x, y); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " im spot => x %d y %d\n", *x, *y); #endif return 1; } static u_int get_line_height(void *p) { return ui_line_height((ui_screen_t *)p); } static int is_vertical(void *p) { if (vt_term_get_vertical_mode(((ui_screen_t *)p)->term)) { return 1; } else { return 0; } } static void draw_preedit_str(void *p, vt_char_t *chars, u_int num_chars, int cursor_offset) { ui_screen_t *screen; vt_line_t *line; ui_font_t *xfont; int x; int y; u_int total_width; u_int i; u_int start; u_int beg_row; u_int end_row; int preedit_cursor_x; int preedit_cursor_y; screen = p; if (screen->is_preediting) { ui_im_t *im; vt_term_set_modified_lines_in_screen(screen->term, screen->im_preedit_beg_row, screen->im_preedit_end_row); /* Avoid recursive call of ui_im_redraw_preedit() in redraw_screen(). */ im = screen->im; screen->im = NULL; ui_window_update(&screen->window, UPDATE_SCREEN); screen->im = im; } if (!num_chars) { screen->is_preediting = 0; return; } screen->is_preediting = 1; if ((line = vt_term_get_cursor_line(screen->term)) == NULL || vt_line_is_empty(line)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " cursor line doesn't exist ?.\n"); #endif return; } if (!vt_term_get_vertical_mode(screen->term)) { int row; row = vt_term_cursor_row_in_screen(screen->term); if (row < 0) { return; } beg_row = row; } else if (vt_term_get_vertical_mode(screen->term) == VERT_RTL) { u_int ncols; ncols = vt_term_get_cols(screen->term); beg_row = vt_term_cursor_col(screen->term); beg_row = ncols - beg_row - 1; } else /* VERT_LTR */ { beg_row = vt_term_cursor_col(screen->term); } end_row = beg_row; x = convert_char_index_to_x_with_shape(screen, line, vt_term_cursor_char_index(screen->term)); y = convert_row_to_y(screen, vt_term_cursor_row_in_screen(screen->term)); preedit_cursor_x = x; preedit_cursor_y = y; total_width = 0; #ifdef USE_WIN32GUI ui_set_gc(screen->window.gc, GetDC(screen->window.my_window)); #endif ui_font_manager_set_attr(screen->font_man, line->size_attr, 0); for (i = 0, start = 0; i < num_chars; i++) { u_int width; int need_wraparound = 0; int _x; int _y; xfont = ui_get_font(screen->font_man, vt_char_font(&chars[i])); width = ui_calculate_vtchar_width(xfont, &chars[i], NULL); total_width += width; if (!vt_term_get_vertical_mode(screen->term)) { if (x + total_width > screen->width) { need_wraparound = 1; _x = 0; _y = y + ui_line_height(screen); end_row++; } } else { need_wraparound = 1; _x = x; _y = y + ui_line_height(screen); start = i; if (_y > screen->height) { y = 0; _y = ui_line_height(screen); if (vt_term_get_vertical_mode(screen->term) == VERT_RTL) { x -= ui_col_width(screen); if (x < 0) { goto end; } } else /* VERT_LRT */ { x += ui_col_width(screen); if (x >= screen->width) { goto end; } } _x = x; end_row++; } } if (i == cursor_offset - 1) { if (!vt_term_get_vertical_mode(screen->term)) { preedit_cursor_x = x + total_width; preedit_cursor_y = y; } else { preedit_cursor_x = x; preedit_cursor_y = _y; } } if (need_wraparound) { if (!ui_draw_str(&screen->window, screen->font_man, screen->color_man, &chars[start], i - start + 1, x, y, ui_line_height(screen), ui_line_ascent(screen), line_top_margin(screen), screen->hide_underline, screen->underline_offset)) { break; } if (!vt_term_get_vertical_mode(screen->term) && _y + ui_line_height(screen) > screen->height) { goto end; } x = _x; y = _y; start = i; total_width = width; } if (vt_term_get_vertical_mode(screen->term)) { continue; } if (i == num_chars - 1) /* last? */ { if (!ui_draw_str(&screen->window, screen->font_man, screen->color_man, &chars[start], i - start + 1, x, y, ui_line_height(screen), ui_line_ascent(screen), line_top_margin(screen), screen->hide_underline, screen->underline_offset)) { break; } } } if (cursor_offset == num_chars) { if (!vt_term_get_vertical_mode(screen->term)) { if ((preedit_cursor_x = x + total_width) == screen->width) { preedit_cursor_x--; } preedit_cursor_y = y; } else { preedit_cursor_x = x; if ((preedit_cursor_y = y) == screen->height) { preedit_cursor_y--; } } } if (cursor_offset >= 0) { if (!vt_term_get_vertical_mode(screen->term)) { ui_window_fill(&screen->window, preedit_cursor_x, preedit_cursor_y, 1, ui_line_height(screen)); } else { ui_window_fill(&screen->window, preedit_cursor_x, preedit_cursor_y, ui_col_width(screen), 1); } } end: #ifdef USE_WIN32GUI ReleaseDC(screen->window.my_window, screen->window.gc->gc); ui_set_gc(screen->window.gc, None); #endif screen->im_preedit_beg_row = beg_row; screen->im_preedit_end_row = end_row; } /* used for changing IM from plugin side */ static void im_changed(void *p, char *input_method) { ui_screen_t *screen; ui_im_t *new; screen = p; if (!(input_method = strdup(input_method))) { return; } if (!(new = im_new(screen))) { free(input_method); return; } free(screen->input_method); screen->input_method = input_method; /* strdup'ed one */ ui_im_delete(screen->im); screen->im = new; } static int compare_key_state_with_modmap(void *p, u_int state, int *is_shift, int *is_lock, int *is_ctl, int *is_alt, int *is_meta, int *is_numlock, int *is_super, int *is_hyper) { ui_screen_t *screen; XModifierKeymap *mod_map; u_int mod_mask[] = {Mod1Mask, Mod2Mask, Mod3Mask, Mod4Mask, Mod5Mask}; screen = p; if (is_shift) { *is_shift = 0; } if (is_lock) { *is_lock = 0; } if (is_ctl) { *is_ctl = 0; } if (is_alt) { *is_alt = 0; } if (is_meta) { *is_meta = 0; } if (is_numlock) { *is_numlock = 0; } if (is_super) { *is_super = 0; } if (is_hyper) { *is_hyper = 0; } if (is_shift && (state & ShiftMask)) { *is_shift = 1; } if (is_lock && (state & LockMask)) { *is_lock = 1; } if (is_ctl && (state & ControlMask)) { *is_ctl = 1; } if (!(mod_map = ui_window_get_modifier_mapping(&screen->window))) { /* Win32 or framebuffer */ if (is_alt && (state & ModMask)) { *is_alt = 1; } } else { int i; for (i = 0; i < 5; i++) { int index; int mod1_index; if (!(state & mod_mask[i])) { continue; } /* skip shift/lock/control */ mod1_index = mod_map->max_keypermod * 3; for (index = mod1_index + (mod_map->max_keypermod * i); index < mod1_index + (mod_map->max_keypermod * (i + 1)); index++) { KeySym sym; sym = XKeycodeToKeysym(screen->window.disp->display, mod_map->modifiermap[index], 0); switch (sym) { case XK_Meta_R: case XK_Meta_L: if (is_meta) { *is_meta = 1; } break; case XK_Alt_R: case XK_Alt_L: if (is_alt) { *is_alt = 1; } break; case XK_Super_R: case XK_Super_L: if (is_super) { *is_super = 1; } break; case XK_Hyper_R: case XK_Hyper_L: if (is_hyper) { *is_hyper = 1; } break; case XK_Num_Lock: if (is_numlock) { *is_numlock = 1; } default: break; } } } } return 1; } static void write_to_term(void *p, u_char *str, /* must be same as term encoding */ size_t len) { ui_screen_t *screen; screen = p; #ifdef __DEBUG { size_t count; bl_debug_printf(BL_DEBUG_TAG " written str: "); for (count = 0; count < len; count++) { bl_msg_printf("%.2x ", str[count]); } bl_msg_printf("\n"); } #endif vt_term_write(screen->term, str, len); } #ifdef DEBUG static void write_to_status_line(void *p, u_char *str /* must be same as term encoding */, size_t len) { ui_screen_t *screen = p; if (str) { vt_term_write_loopback(screen->term, "\x1b[2$~\x1b[1$}\x1b[H\x1b[2K", 17); vt_term_write_loopback(screen->term, str, len); vt_term_write_loopback(screen->term, "\x1b[0$}", 5); } else { vt_term_write_loopback(screen->term, "\x1b[0$~", 5); } } #endif /* * callbacks of vt_xterm_event_listener_t */ static void start_vt100_cmd(void *p) { ui_screen_t *screen; screen = p; #if 0 if (!vt_term_is_backscrolling(screen->term) || vt_term_is_backscrolling(screen->term) == BSM_DEFAULT) { ui_stop_selecting(&screen->sel); } #endif if (screen->sel.is_reversed) { if (ui_is_selecting(&screen->sel)) { ui_restore_selected_region_color_except_logs(&screen->sel); } else { ui_restore_selected_region_color(&screen->sel); } if (!vt_term_logical_visual_is_reversible(screen->term)) { /* * If vertical logical<=>visual conversion is enabled, ui_window_update() * in stop_vt100_cmd() can't reflect ui_restore_selected_region_color*() * functions above to screen. */ ui_window_update(&screen->window, UPDATE_SCREEN); } } unhighlight_cursor(screen, 0); /* * vt_screen_logical() is called in vt_term_unhighlight_cursor(), so * not called directly from here. */ /* processing_vtseq == -1 means loopback processing of vtseq. */ if (screen->processing_vtseq != -1) { screen->processing_vtseq = 1; } } static void stop_vt100_cmd(void *p) { ui_screen_t *screen; screen = p; screen->processing_vtseq = 0; if (ui_is_selecting(&screen->sel)) { /* * XXX Fixme XXX * If some lines are scrolled out after start_vt100_cmd(), * color of them is not reversed. */ ui_reverse_selected_region_color_except_logs(&screen->sel); } if (exit_backscroll_by_pty) { exit_backscroll_mode(screen); } if ((screen->font_or_color_config_updated & 0x1) && screen->system_listener->font_config_updated) { (*screen->system_listener->font_config_updated)(); } if ((screen->font_or_color_config_updated & 0x2) && screen->system_listener->color_config_updated) { (*screen->system_listener->color_config_updated)(); } screen->font_or_color_config_updated = 0; ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } static void interrupt_vt100_cmd(void *p) { ui_screen_t *screen; screen = p; ui_window_update(&screen->window, UPDATE_SCREEN); /* Forcibly reflect to the screen. */ ui_display_sync(screen->window.disp); } static void xterm_resize(void *p, u_int width, u_int height, int flag) { ui_screen_t *screen; screen = p; if (flag) { ui_window_set_maximize_flag(&screen->window, flag - 1 /* converting to ui_maximize_flag_t */); return; } if (width == 0 && height == 0) { /* vt_term_t is already resized. */ resize_window(screen); return; } if (width == 0) { width = screen->width; } if (height == 0) { height = screen->height; } if (vt_term_has_status_line(screen->term)) { height += ui_line_height(screen); } /* screen will redrawn in window_resized() */ if (ui_window_resize(&screen->window, width, height, NOTIFY_TO_PARENT | LIMIT_RESIZE)) { /* * !! Notice !! * ui_window_resize() will invoke ConfigureNotify event but window_resized() * won't be called , since xconfigure.width , xconfigure.height are the same * as the already resized window. */ if (screen->window.window_resized) { (*screen->window.window_resized)(&screen->window); } } } static void xterm_reverse_video(void *p, int do_reverse) { ui_screen_t *screen; screen = p; if (do_reverse) { if (!ui_color_manager_reverse_video(screen->color_man)) { return; } } else { if (!ui_color_manager_restore_video(screen->color_man)) { return; } } ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); vt_term_set_modified_all_lines_in_screen(screen->term); ui_window_update(&screen->window, UPDATE_SCREEN); } static void xterm_set_mouse_report(void *p) { ui_screen_t *screen; screen = p; if (vt_term_get_mouse_report_mode(screen->term)) { /* These are called in button_pressed() etc. */ #if 0 ui_stop_selecting(&screen->sel); restore_selected_region_color_instantly(screen); exit_backscroll_mode(screen); #endif } else { screen->prev_mouse_report_col = screen->prev_mouse_report_row = 0; } if (vt_term_get_mouse_report_mode(screen->term) < ANY_EVENT_MOUSE_REPORT) { /* pointer_motion may be overridden by ui_layout */ if (screen->window.pointer_motion == pointer_motion) { ui_window_remove_event_mask(&screen->window, PointerMotionMask); } } else { ui_window_add_event_mask(&screen->window, PointerMotionMask); } } static void xterm_request_locator(void *p) { ui_screen_t *screen; int button; int button_state; screen = p; if (screen->window.button_is_pressing) { button = screen->window.prev_clicked_button; button_state = (1 << (button - Button1)); } else { /* PointerMotion */ button = button_state = 0; } vt_term_report_mouse_tracking( screen->term, screen->prev_mouse_report_col > 0 ? screen->prev_mouse_report_col : 1, screen->prev_mouse_report_row > 0 ? screen->prev_mouse_report_row : 1, button, 0, 0, button_state); } static void xterm_bel(void *p) { ui_screen_t *screen; screen = p; ui_window_bell(&screen->window, screen->bel_mode); } static int xterm_im_is_active(void *p) { ui_screen_t *screen; screen = p; if (screen->im) { return (*screen->im->is_active)(screen->im); } return ui_xic_is_active(&screen->window); } static void xterm_switch_im_mode(void *p) { ui_screen_t *screen; screen = p; if (screen->im) { (*screen->im->switch_mode)(screen->im); return; } ui_xic_switch_mode(&screen->window); } static void xterm_set_selection(void *p, vt_char_t *str, /* Should be free'ed by the event listener. */ u_int len, u_char *targets) { ui_screen_t *screen; int use_clip_orig; screen = p; use_clip_orig = ui_is_using_clipboard_selection(); if (strchr(targets, 'c')) { if (!use_clip_orig) { ui_set_use_clipboard_selection(1); } } else if (!strchr(targets, 's') && strchr(targets, 'p')) { /* 'p' is specified while 'c' and 's' aren't specified. */ if (use_clip_orig) { ui_set_use_clipboard_selection(0); } } if (ui_window_set_selection_owner(&screen->window, CurrentTime)) { if (screen->sel.sel_str) { vt_str_delete(screen->sel.sel_str, screen->sel.sel_len); } screen->sel.sel_str = str; screen->sel.sel_len = len; } if (use_clip_orig != ui_is_using_clipboard_selection()) { ui_set_use_clipboard_selection(use_clip_orig); } } static int xterm_get_rgb(void *p, u_int8_t *red, u_int8_t *green, u_int8_t *blue, vt_color_t color) { ui_screen_t *screen; ui_color_t *xcolor; screen = p; if (!(xcolor = ui_get_xcolor(screen->color_man, color))) { return 0; } ui_get_xcolor_rgba(red, green, blue, NULL, xcolor); return 1; } static int xterm_get_window_size(void *p, u_int *width, u_int *height) { ui_screen_t *screen; screen = p; *width = screen->width; *height = screen->height; if (vt_term_has_status_line(screen->term)) { *height -= ui_line_height(screen); } return 1; } #ifndef NO_IMAGE static vt_char_t *xterm_get_picture_data(void *p, char *file_path, int *num_cols, /* can be 0 */ int *num_rows, /* can be 0 */ u_int32_t **sixel_palette) { ui_screen_t *screen; u_int width; u_int height; u_int col_width; u_int line_height; int idx; screen = p; if (vt_term_get_vertical_mode(screen->term)) { return NULL; } width = (*num_cols) *(col_width = ui_col_width(screen)); height = (*num_rows) *(line_height = ui_line_height(screen)); if (sixel_palette) { *sixel_palette = ui_set_custom_sixel_palette(*sixel_palette); } if ((idx = ui_load_inline_picture(screen->window.disp, file_path, &width, &height, col_width, line_height, screen->term)) != -1) { vt_char_t *buf; int max_num_cols; screen->prev_inline_pic = idx; max_num_cols = vt_term_get_cursor_line(screen->term)->num_chars - vt_term_cursor_col(screen->term); if ((*num_cols = (width + col_width - 1) / col_width) > max_num_cols) { *num_cols = max_num_cols; } *num_rows = (height + line_height - 1) / line_height; if ((buf = vt_str_new((*num_cols) * (*num_rows)))) { vt_char_t *buf_p; int col; int row; buf_p = buf; for (row = 0; row < *num_rows; row++) { for (col = 0; col < *num_cols; col++) { vt_char_copy(buf_p, vt_sp_ch()); vt_char_combine_picture(buf_p++, idx, MAKE_INLINEPIC_POS(col, row, *num_rows)); } } return buf; } } return NULL; } static int xterm_get_emoji_data(void *p, vt_char_t *ch1, vt_char_t *ch2) { ui_screen_t *screen; char *file_path; u_int width; u_int height; int idx; screen = p; width = ui_col_width(screen) * vt_char_cols(ch1); height = ui_line_height(screen); if ((file_path = alloca(18 + DIGIT_STR_LEN(u_int32_t) * 2 + 1))) { if (ch2) { sprintf(file_path, "mlterm/emoji/%x-%x.gif", vt_char_code(ch1), vt_char_code(ch2)); } else { sprintf(file_path, "mlterm/emoji/%x.gif", vt_char_code(ch1)); } if ((file_path = bl_get_user_rc_path(file_path))) { struct stat st; if (stat(file_path, &st) != 0) { strcpy(file_path + strlen(file_path) - 3, "png"); } idx = ui_load_inline_picture(screen->window.disp, file_path, &width, &height, width / vt_char_cols(ch1), height, screen->term); free(file_path); if (idx != -1) { vt_char_combine_picture(ch1, idx, 0); return 1; } } } return 0; } #ifndef DONT_OPTIMIZE_DRAWING_PICTURE static void xterm_show_sixel(void *p, char *file_path) { ui_screen_t *screen; Pixmap pixmap; PixmapMask mask; u_int width; u_int height; screen = p; if (!vt_term_get_vertical_mode(screen->term) && ui_load_tmp_picture(screen->window.disp, file_path, &pixmap, &mask, &width, &height)) { ui_window_copy_area(&screen->window, pixmap, mask, 0, 0, width, height, 0, 0); ui_delete_tmp_picture(screen->window.disp, pixmap, mask); /* * ui_display_sync() is not necessary here because xterm_show_sixel() * is never called by DECINVM. */ } } #else #define xterm_show_sixel NULL #endif static void xterm_add_frame_to_animation(void *p, char *file_path, int *num_cols, int *num_rows) { ui_screen_t *screen; u_int width; u_int height; u_int col_width; u_int line_height; int idx; screen = p; if (vt_term_get_vertical_mode(screen->term) || screen->prev_inline_pic < 0) { return; } width = (*num_cols) *(col_width = ui_col_width(screen)); height = (*num_rows) *(line_height = ui_line_height(screen)); if ((idx = ui_load_inline_picture(screen->window.disp, file_path, &width, &height, col_width, line_height, screen->term)) != -1 && screen->prev_inline_pic != idx) { ui_add_frame_to_animation(screen->prev_inline_pic, idx); screen->prev_inline_pic = idx; } } #else #define xterm_get_picture_data NULL #define xterm_get_emoji_data NULL #define xterm_show_sixel NULL #define xterm_add_frame_to_animation NULL #endif /* NO_IMAGE */ static void xterm_hide_cursor(void *p, int hide) { ui_screen_t *screen; screen = p; if (hide) { ui_window_set_cursor(&screen->window, XC_nil); } else { ui_window_set_cursor(&screen->window, XC_xterm); } } static int xterm_check_iscii_font(void *p, ef_charset_t cs) { return ui_font_cache_get_xfont(((ui_screen_t *)p)->font_man->font_cache, NORMAL_FONT_OF(cs)) != NULL; } /* * callbacks of vt_pty_event_listener_t */ static void pty_closed(void *p) { ui_screen_t *screen; screen = p; /* * Don't use ui_screen_detach() here because screen->term is deleting just * now. */ /* This should be done before screen->term is NULL */ ui_sel_clear(&screen->sel); /* * term is being deleted in this context. * vt_close_dead_terms => vt_term_delete => vt_pty_delete => pty_closed. */ screen->term = NULL; (*screen->system_listener->pty_closed)(screen->system_listener->self, screen); } static void show_config(void *p, char *msg) { vt_term_show_message(((ui_screen_t *)p)->term, msg); } /* --- global functions --- */ void ui_exit_backscroll_by_pty(int flag) { exit_backscroll_by_pty = flag; } void ui_allow_change_shortcut(int flag) { allow_change_shortcut = flag; } void ui_set_mod_meta_prefix(char *prefix /* allocated memory */ ) { static int was_replaced; if (was_replaced) { free(mod_meta_prefix); } else { was_replaced = 1; } if ((mod_meta_prefix = prefix) == NULL) { mod_meta_prefix = "\x1b"; was_replaced = 0; } } void ui_set_trim_trailing_newline_in_pasting(int trim) { trim_trailing_newline_in_pasting = trim; } #ifdef USE_IM_CURSOR_COLOR void ui_set_im_cursor_color(char *color) { im_cursor_color = strdup(color); } #endif /* * If term is NULL, don't call other functions of ui_screen until * ui_screen_attach() is called. (ui_screen_attach() must be called * before ui_screen_t is realized.) */ ui_screen_t *ui_screen_new(vt_term_t *term, /* can be NULL */ ui_font_manager_t *font_man, ui_color_manager_t *color_man, u_int brightness, u_int contrast, u_int gamma, u_int alpha, u_int fade_ratio, ui_shortcut_t *shortcut, u_int screen_width_ratio, char *mod_meta_key, ui_mod_meta_mode_t mod_meta_mode, ui_bel_mode_t bel_mode, int receive_string_via_ucs, char *pic_file_path, int use_transbg, int use_vertical_cursor, int use_extended_scroll_shortcut, int borderless, int line_space, char *input_method, int allow_osc52, u_int hmargin, u_int vmargin, int hide_underline, int underline_offset, int baseline_offset) { ui_screen_t *screen; u_int col_width; u_int line_height; #ifdef USE_OT_LAYOUT vt_ot_layout_set_shape_func(ui_convert_text_to_glyphs, ot_layout_get_ot_layout_font); #endif if ((screen = calloc(1, sizeof(ui_screen_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } screen->use_vertical_cursor = use_vertical_cursor; screen->font_man = font_man; screen->color_man = color_man; /* letter_space, line_space and baseline_offset are ignored on console. */ #ifndef USE_CONSOLE screen->line_space = line_space; screen->baseline_offset = baseline_offset; #endif screen->underline_offset = underline_offset; modify_line_space_and_offset(screen); screen->sel_listener.self = screen; screen->sel_listener.select_in_window = select_in_window; screen->sel_listener.reverse_color = reverse_color; screen->sel_listener.restore_color = restore_color; ui_sel_init(&screen->sel, &screen->sel_listener); if (pic_file_path) { screen->pic_file_path = strdup(pic_file_path); } screen->pic_mod.brightness = brightness; screen->pic_mod.contrast = contrast; screen->pic_mod.gamma = gamma; /* * blend_xxx members will be set in window_realized(). */ #if 0 ui_get_xcolor_rgba(&screen->pic_mod.blend_red, &screen->pic_mod.blend_green, &screen->pic_mod.blend_blue, NULL, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); #endif if (alpha != 255) { screen->pic_mod.alpha = alpha; } /* True transparency is disabled on pseudo transparency or wall picture. */ if (!use_transbg && !pic_file_path) { ui_change_true_transbg_alpha(color_man, alpha); } screen->fade_ratio = fade_ratio; screen->screen_width_ratio = screen_width_ratio; /* screen->term must be set before screen_height() */ screen->term = term; col_width = ui_col_width(screen); line_height = ui_line_height(screen); /* min: 1x1 */ if (!ui_window_init(&screen->window, (screen->width = screen->term ? screen_width(screen) : col_width), (screen->height = screen->term ? screen_height(screen) : line_height), col_width, line_height, col_width, line_height, hmargin, vmargin, 0, 1)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_window_init failed.\n"); #endif goto error; } screen->screen_listener.self = screen; screen->screen_listener.window_scroll_upward_region = window_scroll_upward_region; screen->screen_listener.window_scroll_downward_region = window_scroll_downward_region; screen->screen_listener.line_scrolled_out = line_scrolled_out; screen->xterm_listener.self = screen; screen->xterm_listener.start = start_vt100_cmd; screen->xterm_listener.stop = stop_vt100_cmd; screen->xterm_listener.interrupt = interrupt_vt100_cmd; screen->xterm_listener.resize = xterm_resize; screen->xterm_listener.reverse_video = xterm_reverse_video; screen->xterm_listener.set_mouse_report = xterm_set_mouse_report; screen->xterm_listener.request_locator = xterm_request_locator; screen->xterm_listener.set_window_name = ui_set_window_name; screen->xterm_listener.set_icon_name = ui_set_icon_name; screen->xterm_listener.bel = xterm_bel; screen->xterm_listener.im_is_active = xterm_im_is_active; screen->xterm_listener.switch_im_mode = xterm_switch_im_mode; screen->xterm_listener.set_selection = (allow_osc52 ? xterm_set_selection : NULL); screen->xterm_listener.get_rgb = xterm_get_rgb; screen->xterm_listener.get_window_size = xterm_get_window_size; screen->xterm_listener.get_picture_data = xterm_get_picture_data; screen->xterm_listener.get_emoji_data = xterm_get_emoji_data; screen->xterm_listener.show_sixel = xterm_show_sixel; screen->xterm_listener.add_frame_to_animation = xterm_add_frame_to_animation; screen->xterm_listener.hide_cursor = xterm_hide_cursor; screen->xterm_listener.check_iscii_font = xterm_check_iscii_font; screen->config_listener.self = screen; screen->config_listener.exec = ui_screen_exec_cmd; screen->config_listener.set = ui_screen_set_config; screen->config_listener.get = get_config; screen->config_listener.saved = NULL; screen->config_listener.set_font = set_font_config; screen->config_listener.get_font = get_font_config; screen->config_listener.set_color = set_color_config; screen->config_listener.get_color = get_color_config; screen->pty_listener.self = screen; screen->pty_listener.closed = pty_closed; screen->pty_listener.show_config = show_config; if (screen->term) { vt_term_attach(term, &screen->xterm_listener, &screen->config_listener, &screen->screen_listener, &screen->pty_listener); /* * setup_encoding_aux() in update_special_visual() must be called * after ui_window_init() */ update_special_visual(screen); } screen->xim_listener.self = screen; screen->xim_listener.get_spot = get_spot; screen->xim_listener.get_fontset = get_fontset; screen->xim_listener.get_fg_color = get_fg_color; screen->xim_listener.get_bg_color = get_bg_color; screen->window.xim_listener = &screen->xim_listener; if (input_method) { screen->input_method = strdup(input_method); } screen->im_listener.self = screen; screen->im_listener.get_spot = get_im_spot; screen->im_listener.get_line_height = get_line_height; screen->im_listener.is_vertical = is_vertical; screen->im_listener.draw_preedit_str = draw_preedit_str; screen->im_listener.im_changed = im_changed; screen->im_listener.compare_key_state_with_modmap = compare_key_state_with_modmap; screen->im_listener.write_to_term = write_to_term; #ifdef DEBUG screen->im_listener.write_to_status_line = write_to_status_line; #endif ui_window_set_cursor(&screen->window, XC_xterm); /* * event call backs. */ ui_window_add_event_mask(&screen->window, ButtonPressMask | ButtonMotionMask | ButtonReleaseMask | KeyPressMask); screen->window.window_realized = window_realized; screen->window.window_finalized = window_finalized; screen->window.window_deleted = window_deleted; screen->window.mapping_notify = mapping_notify; screen->window.window_exposed = window_exposed; screen->window.update_window = update_window; screen->window.window_focused = window_focused; screen->window.window_unfocused = window_unfocused; screen->window.key_pressed = key_pressed; screen->window.window_resized = window_resized; screen->window.pointer_motion = pointer_motion; screen->window.button_motion = button_motion; screen->window.button_released = button_released; screen->window.button_pressed = button_pressed; screen->window.button_press_continued = button_press_continued; screen->window.selection_cleared = selection_cleared; screen->window.xct_selection_requested = xct_selection_requested; screen->window.utf_selection_requested = utf_selection_requested; screen->window.xct_selection_notified = xct_selection_notified; screen->window.utf_selection_notified = utf_selection_notified; #ifndef DISABLE_XDND screen->window.set_xdnd_config = set_xdnd_config; #endif screen->window.idling = idling; if (use_transbg) { ui_window_set_transparent(&screen->window, ui_screen_get_picture_modifier(screen)); } screen->shortcut = shortcut; if (mod_meta_key && strcmp(mod_meta_key, "none") != 0) { screen->mod_meta_key = strdup(mod_meta_key); } screen->mod_meta_mode = mod_meta_mode; screen->mod_meta_mask = 0; /* set later in get_mod_meta_mask() */ screen->mod_ignore_mask = ~0; /* set later in get_mod_ignore_mask() */ screen->bel_mode = bel_mode; screen->use_extended_scroll_shortcut = use_extended_scroll_shortcut; screen->borderless = borderless; screen->font_or_color_config_updated = 0; screen->hide_underline = hide_underline; screen->prev_inline_pic = -1; screen->receive_string_via_ucs = receive_string_via_ucs; if (!vt_str_parser) { if (!(vt_str_parser = vt_str_parser_new())) { goto error; } } return screen; error: free(screen->pic_file_path); free(screen->mod_meta_key); free(screen->input_method); free(screen); return NULL; } void ui_screen_delete(ui_screen_t *screen) { if (screen->term) { vt_term_detach(screen->term); } ui_sel_final(&screen->sel); if (screen->bg_pic) { ui_release_picture(screen->bg_pic); } free(screen->pic_file_path); if (screen->icon) { ui_release_icon_picture(screen->icon); } free(screen->mod_meta_key); free(screen->input_method); if (screen->im) { ui_im_delete(screen->im); } free(screen); } /* * Be careful that mlterm can die if ui_screen_attach is called * before ui_screen_t is realized, because callbacks of vt_term * may touch uninitialized object of ui_screen_t. */ int ui_screen_attach(ui_screen_t *screen, vt_term_t *term) { if (screen->term) { return 0; } screen->term = term; vt_term_attach(term, &screen->xterm_listener, &screen->config_listener, &screen->screen_listener, &screen->pty_listener); if (!screen->window.my_window) { return 1; } if (!usascii_font_cs_changed(screen, vt_term_get_encoding(screen->term))) { resize_window(screen); } update_special_visual(screen); /* Even if update_special_visual succeeded or not, all screen should be * redrawn. */ vt_term_set_modified_all_lines_in_screen(screen->term); if (HAS_SCROLL_LISTENER(screen, term_changed)) { (*screen->screen_scroll_listener->term_changed)(screen->screen_scroll_listener->self, vt_term_get_log_size(screen->term), vt_term_get_num_logged_lines(screen->term)); } /* * if vt_term_(icon|window)_name() returns NULL, screen->window.app_name * will be used in ui_set_(icon|window)_name(). */ ui_set_window_name(&screen->window, vt_term_window_name(screen->term)); ui_set_icon_name(&screen->window, vt_term_icon_name(screen->term)); /* reset icon to screen->term's one */ set_icon(screen); if (screen->im) { ui_im_t *im; im = screen->im; screen->im = im_new(screen); /* * Avoid to delete anything inside im-module by calling ui_im_delete() * after ui_im_new(). */ ui_im_delete(im); } ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); return 1; } vt_term_t *ui_screen_detach(ui_screen_t *screen) { vt_term_t *term; if (screen->term == NULL) { return NULL; } /* This should be done before screen->term is NULL */ ui_sel_clear(&screen->sel); #if 1 exit_backscroll_mode(screen); #endif vt_term_detach(screen->term); term = screen->term; screen->term = NULL; return term; } int ui_screen_attached(ui_screen_t *screen) { return (screen->term != NULL); } void ui_set_system_listener(ui_screen_t *screen, ui_system_event_listener_t *system_listener) { screen->system_listener = system_listener; } void ui_set_screen_scroll_listener(ui_screen_t *screen, ui_screen_scroll_event_listener_t *screen_scroll_listener) { screen->screen_scroll_listener = screen_scroll_listener; } /* * for scrollbar scroll. * * Similar processing is done in bs_xxx(). */ void ui_screen_scroll_upward(ui_screen_t *screen, u_int size) { if (!vt_term_is_backscrolling(screen->term)) { enter_backscroll_mode(screen); } vt_term_backscroll_upward(screen->term, size); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } void ui_screen_scroll_downward(ui_screen_t *screen, u_int size) { if (!vt_term_is_backscrolling(screen->term)) { enter_backscroll_mode(screen); } vt_term_backscroll_downward(screen->term, size); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } void ui_screen_scroll_to(ui_screen_t *screen, int row) { if (!vt_term_is_backscrolling(screen->term)) { enter_backscroll_mode(screen); } vt_term_backscroll_to(screen->term, row); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } u_int ui_col_width(ui_screen_t *screen) { return ui_get_usascii_font(screen->font_man)->width; } u_int ui_line_height(ui_screen_t *screen) { return ui_get_usascii_font(screen->font_man)->height + screen->line_space; } u_int ui_line_ascent(ui_screen_t *screen) { return ui_get_usascii_font(screen->font_man)->ascent + line_top_margin(screen) + screen->baseline_offset; } /* * Return value * 0 -> Not processed * 1 -> Processed (regardless of processing succeeded or not) */ int ui_screen_exec_cmd(ui_screen_t *screen, char *cmd) { char *arg; if (vt_term_exec_cmd(screen->term, cmd)) { return 1; } else if (strcmp(cmd, "mlconfig") == 0) { start_menu(screen, cmd, screen->window.width / 2, screen->window.height / 2); return 1; } else if (strncmp(cmd, "mlclient", 8) == 0) { if (HAS_SYSTEM_LISTENER(screen, mlclient)) { /* * processing_vtseq == -1: process vtseq in loopback. * processing_vtseq == 0 : stop processing vtseq. */ if (screen->processing_vtseq > 0) { char *ign_opts[] = { "-e", "-initstr", "-#", "-osc52", "-shortcut", #ifdef USE_LIBSSH2 "-scp", #endif }; char *p; size_t count; /* * Executing value of "-e" or "--initstr" option is dangerous * in case 'cat dangerousfile'. */ for (count = 0; count < sizeof(ign_opts) / sizeof(ign_opts[0]); count++) { if ((p = strstr(cmd, ign_opts[count])) && (count > 0 || /* not -e option, or */ (p[2] < 'A' /* not match --extkey, --exitbs */ #if 1 /* * XXX for mltracelog.sh which executes * mlclient -e cat. * 3.1.9 or later : mlclient "-e" "cat" * 3.1.8 or before: mlclient "-e" "cat" */ && strcmp(p + 4, "\"cat\"") != 0 && strcmp(p + 5, "\"cat\"") != 0 /* for w3m */ && strncmp(p + 4, "\"w3m\"", 5) != 0 #endif ))) { if (p[-1] == '-') { p--; } bl_msg_printf( "Remove %s " "from mlclient args.\n", p - 1); p[-1] = '\0'; /* Replace ' ', '\"' or '\''. */ } } } (*screen->system_listener->mlclient)(screen->system_listener->self, cmd[8] == 'x' ? screen : NULL, cmd, stdout); } return 1; } /* Separate cmd to command string and argument string. */ if ((arg = strchr(cmd, ' '))) { /* * If cmd is not matched below, *arg will be restored as ' ' * at the end of this function. */ *arg = '\0'; while (*(++arg) == ' ') ; if (*arg == '\0') { arg = NULL; } } /* * Backward compatibility with mlterm 3.0.10 or before which accepts * '=' like "paste=" is broken. */ if (strcmp(cmd, "paste") == 0) { /* * for vte.c * * processing_vtseq == -1: process vtseq in loopback. * processing_vtseq == 0 : stop processing vtseq. */ if (screen->processing_vtseq <= 0) { yank_event_received(screen, CurrentTime); } } else if (strcmp(cmd, "open_pty") == 0 || strcmp(cmd, "select_pty") == 0) { if (HAS_SYSTEM_LISTENER(screen, open_pty)) { /* arg is not NULL if cmd == "select_pty" */ (*screen->system_listener->open_pty)(screen->system_listener->self, screen, arg); } } else if (strcmp(cmd, "next_pty") == 0) { if (HAS_SYSTEM_LISTENER(screen, next_pty)) { (*screen->system_listener->next_pty)(screen->system_listener->self, screen); } } else if (strcmp(cmd, "prev_pty") == 0) { if (HAS_SYSTEM_LISTENER(screen, prev_pty)) { (*screen->system_listener->prev_pty)(screen->system_listener->self, screen); } } else if (strcmp(cmd, "close_pty") == 0) { /* * close_pty is useful if pty doesn't react anymore and * you want to kill it forcibly. */ if (HAS_SYSTEM_LISTENER(screen, close_pty)) { /* If arg is NULL, screen->term will be closed. */ (*screen->system_listener->close_pty)(screen->system_listener->self, screen, arg); } } else if (strcmp(cmd, "open_screen") == 0) { if (HAS_SYSTEM_LISTENER(screen, open_screen)) { (*screen->system_listener->open_screen)(screen->system_listener->self, screen); } } else if (strcmp(cmd, "close_screen") == 0) { if (HAS_SYSTEM_LISTENER(screen, close_screen)) { (*screen->system_listener->close_screen)(screen->system_listener->self, screen, 0); } } else if (strcmp(cmd + 1, "split_screen") == 0) { if (HAS_SYSTEM_LISTENER(screen, split_screen)) { (*screen->system_listener->split_screen)(screen->system_listener->self, screen, *cmd == 'h', arg); } } else if (strcmp(cmd + 1, "resize_screen") == 0) { if (HAS_SYSTEM_LISTENER(screen, resize_screen)) { int step; if (bl_str_to_int(&step, arg + (*arg == '+' ? 1 : 0))) { (*screen->system_listener->resize_screen)(screen->system_listener->self, screen, *cmd == 'h', step); } } } else if (strcmp(cmd, "next_screen") == 0) { if (HAS_SYSTEM_LISTENER(screen, next_screen)) { (*screen->system_listener->next_screen)(screen->system_listener->self, screen); } } else if (strcmp(cmd, "prev_screen") == 0) { if (HAS_SYSTEM_LISTENER(screen, prev_screen)) { (*screen->system_listener->prev_screen)(screen->system_listener->self, screen); } } else if (strncmp(cmd, "search_", 7) == 0) { vt_char_encoding_t encoding; if (arg && (encoding = vt_term_get_encoding(screen->term)) != VT_UTF8) { char *p; size_t len; len = UTF_MAX_SIZE * strlen(arg) + 1; if ((p = alloca(len))) { *(p + vt_char_encoding_convert(p, len - 1, VT_UTF8, arg, strlen(arg), encoding)) = '\0'; arg = p; } } if (strcmp(cmd + 7, "prev") == 0) { search_find(screen, arg, 1); } else if (strcmp(cmd + 7, "next") == 0) { search_find(screen, arg, 0); } } else if (strcmp(cmd, "update_all") == 0) { ui_window_update_all(ui_get_root_window(&screen->window)); } else if (strcmp(cmd, "set_shortcut") == 0) { /* * processing_vtseq == -1: process vtseq in loopback. * processing_vtseq == 0 : stop processing vtseq. */ if (screen->processing_vtseq <= 0 || allow_change_shortcut) { char *opr; if (arg && (opr = strchr(arg, '='))) { *(opr++) = '\0'; ui_shortcut_parse(screen->shortcut, arg, opr); } } } else { if (arg) { *(cmd + strlen(cmd)) = ' '; } return 0; } return 1; } /* * Return value * 0 -> Not processed * 1 -> Processed (regardless of processing succeeded or not) */ int ui_screen_set_config(ui_screen_t *screen, char *dev, /* can be NULL */ char *key, char *value /* can be NULL */ ) { vt_term_t *term; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s=%s\n", key, value); #endif if (strcmp(value, "switch") == 0) { int flag; get_config_intern(screen, /* dev */ NULL, key, -1, &flag); if (flag == 1) { value = "false"; } else if (flag == 0) { value = "true"; } } if (dev) { /* * XXX * If vt_term_t isn't attached to ui_screen_t, return 0 because * many static functions used below use screen->term internally. */ if ((term = vt_get_term(dev)) && vt_term_is_attached(term)) { screen = term->parser->config_listener->self; } else { return 0; } } else { term = screen->term; } if (term && /* In case term is not attached yet. (for vte.c) */ vt_term_set_config(term, key, value)) { /* do nothing */ } else if (strcmp(key, "encoding") == 0) { vt_char_encoding_t encoding; if ((encoding = vt_get_char_encoding(value)) != VT_UNKNOWN_ENCODING) { change_char_encoding(screen, encoding); } } else if (strcmp(key, "fg_color") == 0) { change_fg_color(screen, value); } else if (strcmp(key, "bg_color") == 0) { change_bg_color(screen, value); } else if (strcmp(key, "cursor_fg_color") == 0) { ui_color_manager_set_cursor_fg_color(screen->color_man, *value == '\0' ? NULL : value); } else if (strcmp(key, "cursor_bg_color") == 0) { ui_color_manager_set_cursor_bg_color(screen->color_man, *value == '\0' ? NULL : value); } else if (strcmp(key, "bd_color") == 0) { change_alt_color(screen, VT_BOLD_COLOR, value); } else if (strcmp(key, "it_color") == 0) { change_alt_color(screen, VT_ITALIC_COLOR, value); } else if (strcmp(key, "ul_color") == 0) { change_alt_color(screen, VT_UNDERLINE_COLOR, value); } else if (strcmp(key, "bl_color") == 0) { change_alt_color(screen, VT_BLINKING_COLOR, value); } else if (strcmp(key, "co_color") == 0) { change_alt_color(screen, VT_CROSSED_OUT_COLOR, value); } else if (strcmp(key, "sb_fg_color") == 0) { change_sb_fg_color(screen, value); } else if (strcmp(key, "sb_bg_color") == 0) { change_sb_bg_color(screen, value); } else if (strcmp(key, "hide_underline") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_hide_underline_flag(screen, flag); } } else if (strcmp(key, "underline_offset") == 0) { int offset; if (bl_str_to_int(&offset, value)) { change_underline_offset(screen, offset); } } else if (strcmp(key, "baseline_offset") == 0) { int offset; if (bl_str_to_int(&offset, value)) { change_baseline_offset(screen, offset); } } else if (strcmp(key, "logsize") == 0) { u_int log_size; if (strcmp(value, "unlimited") == 0) { vt_term_unlimit_log_size(screen->term); } else if (bl_str_to_uint(&log_size, value)) { change_log_size(screen, log_size); } } else if (strcmp(key, "fontsize") == 0) { u_int font_size; if (strcmp(value, "larger") == 0) { larger_font_size(screen); } else if (strcmp(value, "smaller") == 0) { smaller_font_size(screen); } else { if (bl_str_to_uint(&font_size, value)) { change_font_size(screen, font_size); } } } else if (strcmp(key, "line_space") == 0) { int line_space; if (bl_str_to_int(&line_space, value)) { change_line_space(screen, line_space); } } else if (strcmp(key, "letter_space") == 0) { u_int letter_space; if (bl_str_to_uint(&letter_space, value)) { change_letter_space(screen, letter_space); } } else if (strcmp(key, "screen_width_ratio") == 0) { u_int ratio; if (bl_str_to_uint(&ratio, value)) { change_screen_width_ratio(screen, ratio); } } else if (strcmp(key, "scrollbar_view_name") == 0) { change_sb_view(screen, value); } else if (strcmp(key, "mod_meta_key") == 0) { change_mod_meta_key(screen, value); } else if (strcmp(key, "mod_meta_mode") == 0) { change_mod_meta_mode(screen, ui_get_mod_meta_mode_by_name(value)); } else if (strcmp(key, "bel_mode") == 0) { change_bel_mode(screen, ui_get_bel_mode_by_name(value)); } else if (strcmp(key, "vertical_mode") == 0) { change_vertical_mode(screen, vt_get_vertical_mode(value)); } else if (strcmp(key, "scrollbar_mode") == 0) { change_sb_mode(screen, ui_get_sb_mode_by_name(value)); } else if (strcmp(key, "exit_backscroll_by_pty") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { ui_exit_backscroll_by_pty(flag); } } else if (strcmp(key, "use_dynamic_comb") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_dynamic_comb_flag(screen, flag); } } else if (strcmp(key, "receive_string_via_ucs") == 0 || /* backward compatibility with 2.6.1 or before */ strcmp(key, "copy_paste_via_ucs") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_receive_string_via_ucs_flag(screen, flag); } } else if (strcmp(key, "use_transbg") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_transparent_flag(screen, flag); } } else if (strcmp(key, "brightness") == 0) { u_int brightness; if (bl_str_to_uint(&brightness, value)) { change_brightness(screen, brightness); } } else if (strcmp(key, "contrast") == 0) { u_int contrast; if (bl_str_to_uint(&contrast, value)) { change_contrast(screen, contrast); } } else if (strcmp(key, "gamma") == 0) { u_int gamma; if (bl_str_to_uint(&gamma, value)) { change_gamma(screen, gamma); } } else if (strcmp(key, "alpha") == 0) { u_int alpha; if (bl_str_to_uint(&alpha, value)) { change_alpha(screen, alpha); } } else if (strcmp(key, "fade_ratio") == 0) { u_int fade_ratio; if (bl_str_to_uint(&fade_ratio, value)) { change_fade_ratio(screen, fade_ratio); } } else if (strcmp(key, "type_engine") == 0) { change_font_present(screen, ui_get_type_engine_by_name(value), ui_get_font_present(screen->font_man)); } else if (strcmp(key, "use_anti_alias") == 0) { ui_font_present_t font_present; font_present = ui_get_font_present(screen->font_man); if (strcmp(value, "true") == 0) { font_present &= ~FONT_NOAA; font_present |= FONT_AA; } else if (strcmp(value, "false") == 0) { font_present |= FONT_NOAA; font_present &= ~FONT_AA; } else /* if( strcmp( value , "default") == 0) */ { font_present &= ~FONT_AA; font_present &= ~FONT_NOAA; } change_font_present(screen, ui_get_type_engine(screen->font_man), font_present); } else if (strcmp(key, "use_variable_column_width") == 0) { ui_font_present_t font_present; font_present = ui_get_font_present(screen->font_man); if (strcmp(value, "true") == 0) { font_present |= FONT_VAR_WIDTH; } else if (strcmp(value, "false") == 0) { font_present &= ~FONT_VAR_WIDTH; } else { return 1; } change_font_present(screen, ui_get_type_engine(screen->font_man), font_present); } else if (strcmp(key, "use_multi_column_char") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_term_set_use_multi_col_char(screen->term, flag); } } else if (strcmp(key, "use_bold_font") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_use_bold_font_flag(screen, flag); } } else if (strcmp(key, "use_italic_font") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_use_italic_font_flag(screen, flag); } } else if (strcmp(key, "use_ctl") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_ctl_flag(screen, flag, vt_term_get_bidi_mode(term), vt_term_is_using_ot_layout(term)); } } else if (strcmp(key, "bidi_mode") == 0) { change_ctl_flag(screen, vt_term_is_using_ctl(term), vt_get_bidi_mode(value), vt_term_is_using_ot_layout(term)); } else if (strcmp(key, "bidi_separators") == 0) { vt_term_set_bidi_separators(screen->term, value); if (update_special_visual(screen)) { vt_term_set_modified_all_lines_in_screen(screen->term); } } #ifdef USE_OT_LAYOUT else if (strcmp(key, "use_ot_layout") == 0) { change_ctl_flag(screen, vt_term_is_using_ctl(term), vt_term_get_bidi_mode(term), strcmp(value, "true") == 0); } #endif else if (strcmp(key, "input_method") == 0) { change_im(screen, value); } else if (strcmp(key, "borderless") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { change_borderless_flag(screen, flag); } } else if (strcmp(key, "wall_picture") == 0) { change_wall_picture(screen, value); } else if (strcmp(key, "icon_path") == 0) { vt_term_set_icon_path(term, value); set_icon(screen); } else if (strcmp(key, "use_clipboard") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { ui_set_use_clipboard_selection(flag); } } else if (strcmp(key, "auto_restart") == 0) { vt_set_auto_restart_cmd(strcmp(value, "false") == 0 ? NULL : value); } else if (strcmp(key, "allow_osc52") == 0) { /* * processing_vtseq == -1: process vtseq in loopback. * processing_vtseq == 0 : stop processing vtseq. */ if (screen->processing_vtseq <= 0) { if (true_or_false(value) > 0) { screen->xterm_listener.set_selection = xterm_set_selection; } else { screen->xterm_listener.set_selection = NULL; } } } else if (strcmp(key, "allow_scp") == 0) { /* * processing_vtseq == -1: process vtseq in loopback. * processing_vtseq == 0 : stop processing vtseq. */ if (screen->processing_vtseq <= 0) { int flag; if ((flag = true_or_false(value)) >= 0) { vt_set_use_scp_full(flag); } } } else if (strcmp(key, "use_urgent_bell") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { ui_set_use_urgent_bell(flag); } } else if (strcmp(key, "use_extended_scroll_shortcut") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { screen->use_extended_scroll_shortcut = flag; } } else if (strstr(key, "_use_unicode_font")) { int flag; if ((flag = true_or_false(value)) != -1) { if (strncmp(key, "only", 4) == 0) { /* only_use_unicode_font */ vt_term_set_unicode_policy( screen->term, flag ? (vt_term_get_unicode_policy(screen->term) | ONLY_USE_UNICODE_FONT) & ~NOT_USE_UNICODE_FONT : vt_term_get_unicode_policy(screen->term) & ~ONLY_USE_UNICODE_FONT); } else if (strncmp(key, "not", 3) == 0) { /* not_use_unicode_font */ vt_term_set_unicode_policy( screen->term, flag ? (vt_term_get_unicode_policy(screen->term) | NOT_USE_UNICODE_FONT) & ~ONLY_USE_UNICODE_FONT : vt_term_get_unicode_policy(screen->term) & ~NOT_USE_UNICODE_FONT); } else { return 1; } usascii_font_cs_changed(screen, vt_term_get_encoding(screen->term)); } } else if (strcmp(key, "trim_trailing_newline_in_pasting") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { trim_trailing_newline_in_pasting = flag; } } else if (strcmp(key, "use_vertical_cursor") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { screen->use_vertical_cursor = flag; } } else if (strcmp(key, "click_interval") == 0) { int interval; if (bl_str_to_int(&interval, value)) { ui_set_click_interval(interval); } } #ifdef ROTATABLE_DISPLAY else if (strcmp(key, "rotate_display") == 0) { ui_display_rotate(strcmp(value, "right") == 0 ? 1 : (strcmp(value, "left") == 0 ? -1 : 0)); } #endif #ifdef USE_CONSOLE else if (strcmp(key, "console_encoding") == 0) { vt_char_encoding_t encoding; if ((encoding = vt_get_char_encoding(value)) != VT_UNKNOWN_ENCODING) { ui_display_set_char_encoding(screen->window.disp, encoding); } } else if (strcmp(key, "console_sixel_colors") == 0) { ui_display_set_sixel_colors(screen->window.disp, value); } #endif else { return 0; } /* * processing_vtseq == -1 means loopback processing of vtseq. * If processing_vtseq is -1, it is not set 1 in start_vt100_cmd() * which is called from vt_term_write_loopback(). */ if (screen->processing_vtseq == -1) { char *msg; if ((msg = alloca(8 + strlen(key) + 1 + strlen(value) + 1))) { sprintf(msg, "Config: %s=%s", key, value); vt_term_show_message(screen->term, msg); /* * screen->processing_vtseq = 0 in * vt_term_show_message() -> stop_vt100_cmd(). */ screen->processing_vtseq = -1; } } return 1; } void ui_screen_reset_view(ui_screen_t *screen) { ui_color_manager_reload(screen->color_man); ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); vt_term_set_modified_all_lines_in_screen(screen->term); font_size_changed(screen); ui_xic_font_set_changed(&screen->window); ui_window_update(&screen->window, UPDATE_SCREEN | UPDATE_CURSOR); } #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE void ui_screen_reload_color_cache(ui_screen_t *screen, int do_unload) { if (do_unload) { ui_color_cache_unload(screen->color_man->color_cache); } ui_color_manager_reload(screen->color_man); ui_window_set_fg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_FG_COLOR)); ui_xic_fg_color_changed(&screen->window); /* XXX should change scrollbar fg color */ ui_window_set_bg_color(&screen->window, ui_get_xcolor(screen->color_man, VT_BG_COLOR)); ui_xic_bg_color_changed(&screen->window); /* XXX should change scrollbar bg color */ } #endif ui_picture_modifier_t *ui_screen_get_picture_modifier(ui_screen_t *screen) { if (ui_picture_modifier_is_normal(&screen->pic_mod)) { return NULL; } else { return &screen->pic_mod; } } mlterm-3.8.4/uitoolkit/ui_display.h010064400017600000144000000062011321054731200160570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_DISPLAY_H__ #define __UI_DISPLAY_H__ #include /* u_int */ #include "ui.h" #include "ui_gc.h" #define XC_nil 1000 /* Defined in ui_window.h */ typedef struct ui_window *ui_window_ptr_t; typedef struct ui_modifier_mapping { u_long serial; XModifierKeymap *map; } ui_modifier_mapping_t; typedef struct ui_display { /* * Public(read only) */ Display *display; /* Don't change position, which pixmap_engine depends on. */ int screen; /* DefaultScreen */ char *name; Window my_window; /* DefaultRootWindow */ #ifdef USE_XLIB /* Only one visual, colormap or depth is permitted per display. */ Visual *visual; Colormap colormap; #endif u_int depth; ui_gc_t *gc; u_int width; u_int height; /* * Private */ ui_window_ptr_t *roots; u_int num_roots; ui_window_ptr_t selection_owner; ui_modifier_mapping_t modmap; #ifdef CHANGEABLE_CURSOR Cursor cursors[3]; #endif } ui_display_t; ui_display_t *ui_display_open(char *disp_name, u_int depth); void ui_display_close(ui_display_t *disp); void ui_display_close_all(void); ui_display_t **ui_get_opened_displays(u_int *num); int ui_display_fd(ui_display_t *disp); int ui_display_show_root(ui_display_t *disp, ui_window_ptr_t root, int x, int y, int hint, char *app_name, Window parent_window); int ui_display_remove_root(ui_display_t *disp, ui_window_ptr_t root); void ui_display_idling(ui_display_t *disp); int ui_display_receive_next_event(ui_display_t *disp); #if defined(USE_FRAMEBUFFER) || defined(USE_CONSOLE) || defined(USE_QUARTZ) #define ui_display_sync(disp) (0) #elif defined(USE_WIN32GUI) #define ui_display_sync(disp) ui_display_receive_next_event(disp) #else void ui_display_sync(ui_display_t *disp); #endif /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_ptr_t win); int ui_display_clear_selection(ui_display_t *disp, ui_window_ptr_t win); XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp); void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial); XID ui_display_get_group_leader(ui_display_t *disp); #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE void ui_display_set_use_ansi_colors(int use); #else #define ui_display_set_use_ansi_colors(use) (0) #endif #ifdef PSEUDO_COLOR_DISPLAY int ui_display_reset_cmap(void); #else #define ui_display_reset_cmap() (0) #endif #ifdef ROTATABLE_DISPLAY void ui_display_rotate(int rotate); #ifndef MANAGE_ROOT_WINDOWS_BY_MYSELF void ui_display_logical_to_physical_coordinates(ui_display_t *disp, int *x, int *y); #endif #endif #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF void ui_display_reset_input_method_window(void); #endif #ifdef USE_CONSOLE #include void ui_display_set_char_encoding(ui_display_t *disp, vt_char_encoding_t encoding); #ifdef USE_LIBSIXEL void ui_display_set_sixel_colors(ui_display_t *disp, const char *colors); #else #define ui_display_set_sixel_colors(disp, colors) (0) #endif void ui_display_set_default_cell_size(u_int width, u_int height); #endif #endif mlterm-3.8.4/uitoolkit/ui_font_config.h010064400017600000144000000027261321054731200167150ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_FONT_CONFIG_H__ #define __UI_FONT_CONFIG_H__ #include #include #include "ui_font.h" BL_MAP_TYPEDEF(ui_font_name, vt_font_t, char *); typedef struct ui_font_config { /* Public(readonly) */ ui_type_engine_t type_engine; ui_font_present_t font_present; /* * Private * font_configs whose difference is only FONT_AA share these members. */ BL_MAP(ui_font_name) font_name_table; u_int ref_count; } ui_font_config_t; #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) int ui_use_aafont(void); int ui_is_using_aafont(void); #endif ui_font_config_t *ui_acquire_font_config(ui_type_engine_t type_engine, ui_font_present_t font_present); void ui_release_font_config(ui_font_config_t *font_config); ui_font_config_t *ui_font_config_new(ui_type_engine_t type_engine, ui_font_present_t font_present); void ui_font_config_delete(ui_font_config_t *font_config); int ui_customize_font_file(const char *file, char *key, char *value, int save); char *ui_get_config_font_name(ui_font_config_t *font_config, u_int font_size, vt_font_t font); char *ui_get_config_font_name2(const char *file, u_int font_size, char *font_cs); char *ui_get_config_font_names_all(ui_font_config_t *font_config, u_int font_size); char *ui_font_config_dump(ui_font_config_t *font_config); char *ui_get_charset_name(ef_charset_t cs); #endif mlterm-3.8.4/uitoolkit/ui_picture.h010064400017600000144000000060101321054731200160630ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_PICTURE_H__ #define __UI_PICTURE_H__ #include /* u_int16_t */ #include #include "ui.h" /* XA_PIXMAP */ #include "ui_window.h" typedef struct ui_picture_modifier { u_int16_t brightness; /* 0 - 65535 */ u_int16_t contrast; /* 0 - 65535 */ u_int16_t gamma; /* 0 - 65535 */ u_int8_t alpha; /* 0 - 255 */ u_int8_t blend_red; u_int8_t blend_green; u_int8_t blend_blue; } ui_picture_modifier_t; typedef struct ui_picture { Display *display; ui_picture_modifier_t *mod; char *file_path; u_int width; u_int height; Pixmap pixmap; u_int ref_count; } ui_picture_t; typedef struct ui_icon_picture { ui_display_t *disp; char *file_path; Pixmap pixmap; PixmapMask mask; u_int32_t *cardinal; u_int ref_count; } ui_icon_picture_t; typedef struct ui_inline_picture { Pixmap pixmap; PixmapMask mask; char *file_path; u_int width; u_int height; ui_display_t *disp; vt_term_t *term; u_int8_t col_width; u_int8_t line_height; int16_t next_frame; u_int16_t weighting; } ui_inline_picture_t; #define MAX_INLINE_PICTURES (1 << PICTURE_ID_BITS) #define MAKE_INLINEPIC_POS(col, row, num_rows) ((col) * (num_rows) + (row)) #define INLINEPIC_AVAIL_ROW -(MAX_INLINE_PICTURES * 2) #ifdef NO_IMAGE #define ui_picture_display_opened(display) (0) #define ui_picture_display_closed(display) (0) #define ui_picture_modifiers_equal(a, b) (0) #define ui_acquire_bg_picture(win, mod, file_path) (NULL) #define ui_release_picture(pic) (0) #define ui_acquire_icon_picture(disp, file_path) (NULL) #define ui_release_icon_picture(pic) (0) #define ui_load_inline_picture(disp, file_path, width, height, col_width, line_height, term) (-1) #define ui_get_inline_picture(idx) (NULL) #else /* defined in c_sixel.c */ u_int32_t *ui_set_custom_sixel_palette(u_int32_t *palette); void ui_picture_display_opened(Display *display); void ui_picture_display_closed(Display *display); int ui_picture_modifiers_equal(ui_picture_modifier_t *a, ui_picture_modifier_t *b); ui_picture_t *ui_acquire_bg_picture(ui_window_t *win, ui_picture_modifier_t *mod, char *file_path); void ui_release_picture(ui_picture_t *pic); ui_icon_picture_t *ui_acquire_icon_picture(ui_display_t *disp, char *file_path); void ui_release_icon_picture(ui_icon_picture_t *pic); int ui_load_inline_picture(ui_display_t *disp, char *file_path, u_int *width, u_int *height, u_int col_width, u_int line_height, vt_term_t *term); ui_inline_picture_t *ui_get_inline_picture(int idx); int ui_add_frame_to_animation(int prev_idx, int next_idx); int ui_animate_inline_pictures(vt_term_t *term); int ui_load_tmp_picture(ui_display_t *disp, char *file_path, Pixmap *pixmap, PixmapMask *mask, u_int *width, u_int *height); void ui_delete_tmp_picture(ui_display_t *disp, Pixmap pixmap, PixmapMask mask); #endif #define ui_picture_modifier_is_normal(pic_mod) (ui_picture_modifiers_equal((pic_mod), NULL)) #endif mlterm-3.8.4/uitoolkit/ui_font_cache.c010064400017600000144000000246451321054731200165120ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_font_cache.h" #include /* sprintf */ #include /* DIGIT_STR_LEN */ /* --- static variables --- */ static ui_font_cache_t **font_caches; static u_int num_caches; static int leftward_double_drawing; /* --- static functions --- */ #ifdef DEBUG static void dump_cached_fonts(ui_font_cache_t *font_cache) { u_int count; u_int size; BL_PAIR(ui_font) * f_array; bl_debug_printf(BL_DEBUG_TAG " cached fonts info\n"); bl_map_get_pairs_array(font_cache->xfont_table, f_array, size); for (count = 0; count < size; count++) { if (f_array[count]->value != NULL) { ui_font_dump(f_array[count]->value); } } } #endif /* * Call this function after init all members except font_table */ static int init_usascii_font(ui_font_cache_t *font_cache) { return (font_cache->usascii_font = ui_font_cache_get_xfont( font_cache, NORMAL_FONT_OF(font_cache->usascii_font_cs))) != NULL; } static BL_MAP(ui_font) xfont_table_new(void) { BL_MAP(ui_font) xfont_table; bl_map_new_with_size(vt_font_t, ui_font_t*, xfont_table, bl_map_hash_int, bl_map_compare_int, 16); return xfont_table; } static void xfont_table_delete(BL_MAP(ui_font) xfont_table, ui_font_t *exception) { u_int count; u_int size; BL_PAIR(ui_font) * f_array; bl_map_get_pairs_array(xfont_table, f_array, size); for (count = 0; count < size; count++) { if (f_array[count]->value != NULL && f_array[count]->value != exception) { ui_font_delete(f_array[count]->value); } } bl_map_delete(xfont_table); } #ifdef USE_XLIB static char *get_font_name_list_for_fontset(ui_font_cache_t *font_cache) { char *font_name_list; char *p; size_t list_len; if (font_cache->font_config->type_engine != TYPE_XCORE) { ui_font_config_t *font_config; if ((font_config = ui_acquire_font_config( TYPE_XCORE, font_cache->font_config->font_present & ~FONT_AA)) == NULL) { font_name_list = NULL; } else { font_name_list = ui_get_config_font_names_all(font_config, font_cache->font_size); ui_release_font_config(font_config); } } else { font_name_list = ui_get_config_font_names_all(font_cache->font_config, font_cache->font_size); } if (font_name_list) { list_len = strlen(font_name_list); } else { list_len = 0; } if ((p = malloc(list_len + 28 + DIGIT_STR_LEN(font_cache->font_size) + 1)) == NULL) { return font_name_list; } if (font_name_list) { sprintf(p, "%s,-*-*-medium-r-*--%d-*-*-*-*-*", font_name_list, font_cache->font_size); free(font_name_list); } else { sprintf(p, "-*-*-medium-r-*--%d-*-*-*-*-*", font_cache->font_size); } return p; } #endif /* --- global functions --- */ void ui_set_use_leftward_double_drawing(int use) { if (num_caches > 0) { bl_msg_printf("Unable to change leftward_double_drawing option.\n"); } else { leftward_double_drawing = use; } } ui_font_cache_t *ui_acquire_font_cache(Display *display, u_int font_size, ef_charset_t usascii_font_cs, ui_font_config_t *font_config, u_int letter_space) { int count; ui_font_cache_t *font_cache; void *p; for (count = 0; count < num_caches; count++) { if (font_caches[count]->display == display && font_caches[count]->font_size == font_size && font_caches[count]->usascii_font_cs == usascii_font_cs && font_caches[count]->font_config == font_config && font_caches[count]->letter_space == letter_space) { font_caches[count]->ref_count++; return font_caches[count]; } } if ((p = realloc(font_caches, sizeof(ui_font_cache_t*) * (num_caches + 1))) == NULL) { return NULL; } font_caches = p; if ((font_cache = malloc(sizeof(ui_font_cache_t))) == NULL) { return NULL; } font_cache->font_config = font_config; font_cache->xfont_table = xfont_table_new(); font_cache->display = display; font_cache->font_size = font_size; font_cache->usascii_font_cs = usascii_font_cs; font_cache->letter_space = letter_space; font_cache->ref_count = 1; font_cache->prev_cache.font = 0; font_cache->prev_cache.xfont = NULL; if (!init_usascii_font(font_cache)) { xfont_table_delete(font_cache->xfont_table, NULL); free(font_cache); return NULL; } return font_caches[num_caches++] = font_cache; } void ui_release_font_cache(ui_font_cache_t *font_cache) { int count; if (--font_cache->ref_count > 0) { return; } for (count = 0; count < num_caches; count++) { if (font_caches[count] == font_cache) { font_caches[count] = font_caches[--num_caches]; xfont_table_delete(font_cache->xfont_table, NULL); free(font_cache); if (num_caches == 0) { free(font_caches); font_caches = NULL; } return; } } } void ui_font_cache_unload(ui_font_cache_t *font_cache) { ui_font_t *prev_usascii_font; /* * Discarding existing cache. */ xfont_table_delete(font_cache->xfont_table, font_cache->usascii_font); prev_usascii_font = font_cache->usascii_font; font_cache->usascii_font = NULL; font_cache->prev_cache.font = 0; font_cache->prev_cache.xfont = NULL; /* * Creating new cache. */ font_cache->xfont_table = xfont_table_new(); if (!init_usascii_font(font_cache)) { int result; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_font_cache_unload() failed. Use old usascii font.\n"); #endif font_cache->usascii_font = prev_usascii_font; bl_map_set(result, font_cache->xfont_table, NORMAL_FONT_OF(font_cache->usascii_font_cs), prev_usascii_font); } else { ui_font_delete(prev_usascii_font); } } void ui_font_cache_unload_all(void) { u_int count; for (count = 0; count < num_caches; count++) { ui_font_cache_unload(font_caches[count]); } } ui_font_t *ui_font_cache_get_xfont(ui_font_cache_t *font_cache, vt_font_t font) { ui_font_present_t font_present; vt_font_t font_for_config; int result; ui_font_t *xfont; BL_PAIR(ui_font) fn_pair; char *fontname; int use_medium_for_bold; u_int col_width; int size_attr; font_present = font_cache->font_config->font_present; if (FONT_CS(font) == US_ASCII) { font &= ~US_ASCII; font |= font_cache->usascii_font_cs; font_for_config = font; } else { font_for_config = font; if (FONT_CS(font) == ISO10646_UCS4_1_V) { font_present |= FONT_VAR_WIDTH; font_for_config &= ~ISO10646_UCS4_1_V; font_for_config |= ISO10646_UCS4_1; } } if (font_cache->prev_cache.xfont && font_cache->prev_cache.font == font) { return font_cache->prev_cache.xfont; } bl_map_get(font_cache->xfont_table, font, fn_pair); if (fn_pair) { return fn_pair->value; } if (font == NORMAL_FONT_OF(font_cache->usascii_font_cs)) { col_width = 0; } else { col_width = font_cache->usascii_font->width; } use_medium_for_bold = 0; if ((fontname = ui_get_config_font_name(font_cache->font_config, font_cache->font_size, font_for_config)) == NULL) { vt_font_t next_font; int scalable; next_font = font_for_config; #ifndef TYPE_XCORE_SCALABLE if (font_cache->font_config->type_engine == TYPE_XCORE) { /* * If the type engine doesn't support scalable fonts, * medium weight font (drawn doubly) is used for bold. */ scalable = 0; } else #endif { /* * If the type engine supports scalable fonts, * the face of medium weight / r slant font is used * for bold and italic. */ scalable = 1; } while (next_font & (FONT_BOLD | FONT_ITALIC)) { if (next_font & FONT_BOLD) { next_font &= ~FONT_BOLD; } else /* if( next_font & FONT_ITALIC) */ { if (!scalable) { break; } next_font &= ~FONT_ITALIC; } if ((fontname = ui_get_config_font_name(font_cache->font_config, font_cache->font_size, next_font))) { if ((font & FONT_BOLD) && !scalable) { use_medium_for_bold = 1; } goto found; } } } found: size_attr = SIZE_ATTR_OF(font); if ((xfont = ui_font_new(font_cache->display, NO_SIZE_ATTR(font), size_attr, font_cache->font_config->type_engine, font_present, fontname, font_cache->font_size, col_width, use_medium_for_bold, font_cache->letter_space)) || (size_attr && (xfont = ui_font_new(font_cache->display, NORMAL_FONT_OF(font_cache->usascii_font_cs), size_attr, font_cache->font_config->type_engine, font_present, fontname, font_cache->font_size, col_width, use_medium_for_bold, font_cache->letter_space)))) { if (xfont->double_draw_gap && leftward_double_drawing) { xfont->double_draw_gap = -1; } } #ifdef DEBUG else { bl_warn_printf(BL_DEBUG_TAG " font for id %x doesn't exist.\n", font); } #endif free(fontname); /* * If this font doesn't exist, NULL(which indicates it) is cached. */ bl_map_set(result, font_cache->xfont_table, font, xfont); font_cache->prev_cache.font = font; font_cache->prev_cache.xfont = xfont; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Font %x for id %x was cached.%s\n", xfont, font, use_medium_for_bold ? "(medium font is used for bold.)" : ""); #endif return xfont; } XFontSet ui_font_cache_get_fontset(ui_font_cache_t *font_cache) { #if defined(USE_XLIB) XFontSet fontset; char *list_str; char **missing; int miss_num; char *def_str; if ((list_str = get_font_name_list_for_fontset(font_cache)) == NULL) { return None; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " font set list -> %s\n", list_str); #endif fontset = XCreateFontSet(font_cache->display, list_str, &missing, &miss_num, &def_str); free(list_str); #ifdef DEBUG if (miss_num) { int count; bl_warn_printf(BL_DEBUG_TAG " missing charsets ...\n"); for (count = 0; count < miss_num; count++) { bl_msg_printf(" %s\n", missing[count]); } } #endif XFreeStringList(missing); return fontset; #elif defined(USE_WIN32GUI) static LOGFONT logfont; ZeroMemory(&logfont, sizeof(logfont)); GetObject(font_cache->usascii_font->xfont->fid, sizeof(logfont), &logfont); return &logfont; #else return None; #endif } mlterm-3.8.4/uitoolkit/ui_selection.c010064400017600000144000000310531321054731200163750ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_selection.h" #include /* memset */ #include #include #include #if 0 #define __DEBUG #endif /* --- static functions --- */ static int update_sel_region(ui_selection_t *sel, int col, int row) { int rv_beg_col; int rv_beg_row; int rv_end_col; int rv_end_row; int do_reverse; int rs_beg_col; int rs_beg_row; int rs_end_col; int rs_end_row; int do_restore; if (sel->is_rect) { int conved; int conved_col; (*sel->sel_listener->restore_color)(sel->sel_listener->self, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row, 1); if ((col < 0 && sel->base_col_r >= 0) || (col >= 0 && sel->base_col_r < 0)) { conved_col = -col; conved = 1; } else { conved_col = col; conved = 0; } if (conved_col < sel->base_col_r) { if (row <= sel->base_row_r) { sel->beg_col = col; sel->beg_row = row; sel->end_col = sel->base_col_l; sel->end_row = sel->base_row_l; } else { sel->beg_col = conved_col; sel->beg_row = sel->base_row_l; if (conved) { sel->end_col = -sel->base_col_l; } else { sel->end_col = sel->base_col_l; } sel->end_row = row; } } else { if (row <= sel->base_row_r) { if (conved) { sel->beg_col = -sel->base_col_r; } else { sel->beg_col = sel->base_col_r; } sel->beg_row = row; sel->end_col = conved_col; sel->end_row = sel->base_row_r; } else { sel->beg_col = sel->base_col_r; sel->beg_row = sel->base_row_r; sel->end_col = col; sel->end_row = row; } } (*sel->sel_listener->reverse_color)(sel->sel_listener->self, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row, 1); return 1; } do_reverse = 0; do_restore = 0; if (sel->beg_row > row || (sel->beg_row == row && sel->beg_col > col)) { rv_beg_col = col; rv_beg_row = row; rv_end_col = sel->beg_col; rv_end_row = sel->beg_row; do_reverse = 1; sel->beg_col = col; sel->beg_row = row; if (sel->end_row > sel->base_row_r || (sel->end_row == sel->base_row_r && sel->end_col >= sel->base_col_r)) { rs_beg_col = sel->base_col_r; rs_beg_row = sel->base_row_r; rs_end_col = sel->end_col; rs_end_row = sel->end_row; do_restore = 1; sel->end_col = sel->base_col_l; sel->end_row = sel->base_row_l; } } else if ((sel->beg_row < row || (sel->beg_row == row && sel->beg_col <= col)) && (sel->end_row > row || (sel->end_row == row && sel->end_col >= col))) { if (row > sel->base_row_r || (row == sel->base_row_r && col >= sel->base_col_r)) { rs_beg_col = col + 1; /* don't restore col itself */ rs_beg_row = row; rs_end_col = sel->end_col; rs_end_row = sel->end_row; do_restore = 1; sel->end_col = col; sel->end_row = row; } else if (row < sel->base_row_l || (row == sel->base_row_l && col <= sel->base_col_l)) { rs_beg_col = sel->beg_col; rs_beg_row = sel->beg_row; rs_end_col = col - 1; /* don't restore col itself */ rs_end_row = row; do_restore = 1; sel->beg_col = col; sel->beg_row = row; } } else if (sel->end_row < row || (sel->end_row == row && sel->end_col < col)) { rv_beg_col = sel->end_col; rv_beg_row = sel->end_row; rv_end_col = col; rv_end_row = row; do_reverse = 1; sel->end_col = col; sel->end_row = row; if (sel->beg_row < sel->base_row_l || (sel->beg_row == sel->base_row_l && sel->beg_col <= sel->base_col_l)) { rs_beg_col = sel->beg_col; rs_beg_row = sel->beg_row; rs_end_col = sel->base_col_l; rs_end_row = sel->base_row_l; do_restore = 1; sel->beg_col = sel->base_col_r; sel->beg_row = sel->base_row_r; } } if (do_reverse) { (*sel->sel_listener->reverse_color)(sel->sel_listener->self, rv_beg_col, rv_beg_row, rv_end_col, rv_end_row, 0); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " reversing %d %d %d %d\n", rv_beg_col, rv_beg_row, rv_end_col, rv_end_row); #endif } if (do_restore) { (*sel->sel_listener->restore_color)(sel->sel_listener->self, rs_beg_col, rs_beg_row, rs_end_col, rs_end_row, 0); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " restoring %d %d %d %d\n", rs_beg_col, rs_beg_row, rs_end_col, rs_end_row); #endif if (sel->is_locked == 1) { if ((sel->end_row < sel->lock_row || (sel->end_row == sel->lock_row && sel->end_col < sel->lock_col))) { (*sel->sel_listener->reverse_color)(sel->sel_listener->self, rs_beg_col, rs_beg_row, (sel->end_col = sel->lock_col), (sel->end_row = sel->lock_row), 0); } } else if (sel->is_locked == -1) { if ((sel->beg_row > sel->lock_row || (sel->beg_row == sel->lock_row && sel->beg_col > sel->lock_col))) { (*sel->sel_listener->reverse_color)(sel->sel_listener->self, (sel->beg_col = sel->lock_col), (sel->beg_row = sel->lock_row), rs_end_col, rs_end_row, 0); } } } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " current region %d %d %d %d\n", sel->beg_col, sel->beg_row, sel->end_col, sel->end_row); #endif return 1; } /* --- global functions --- */ void ui_sel_init(ui_selection_t *sel, ui_sel_event_listener_t *sel_listener) { memset(sel, 0, sizeof(ui_selection_t)); sel->sel_listener = sel_listener; } void ui_sel_final(ui_selection_t *sel) { if (sel->sel_str) { vt_str_delete(sel->sel_str, sel->sel_len); } } int ui_start_selection(ui_selection_t *sel, int col_l, int row_l, int col_r, int row_r, ui_sel_type_t type, int is_rect) { sel->is_reversed = 1; sel->is_selecting = type; sel->is_rect = is_rect; sel->base_col_r = sel->beg_col = sel->end_col = sel->prev_col = col_r; sel->base_row_r = sel->beg_row = sel->end_row = sel->prev_row = row_r; sel->base_col_l = col_l; sel->base_row_l = row_l; (*sel->sel_listener->reverse_color)(sel->sel_listener->self, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row, sel->is_rect); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " selection started => %d %d\n", sel->beg_col, sel->beg_row); #endif return 1; } int ui_selecting(ui_selection_t *sel, int col, int row) { if (!sel->is_selecting) { return 0; } sel->prev_col = col; sel->prev_row = row; update_sel_region(sel, col, row); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " selecting %d %d => %d %d - %d %d.\n", col, row, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row); #endif return 1; } int ui_stop_selecting(ui_selection_t *sel) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " selection stops => %d %d - %d %d.\n", sel->beg_col, sel->beg_row, sel->end_col, sel->end_row); #endif if (!sel->is_selecting) { return 0; } sel->is_selecting = 0; sel->is_locked = 0; if (sel->sel_str) { vt_str_delete(sel->sel_str, sel->sel_len); } if (!(*sel->sel_listener->select_in_window)(sel->sel_listener->self, &sel->sel_str, &sel->sel_len, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row, sel->is_rect)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " select_in_window() failed.\n"); #endif sel->sel_str = NULL; sel->sel_len = 0; return 0; } return 1; } int ui_sel_clear(ui_selection_t *sel) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " selection is cleared.\n"); #endif if (sel->is_selecting) { if (sel->sel_str) { vt_str_delete(sel->sel_str, sel->sel_len); sel->sel_str = NULL; sel->sel_len = 0; } sel->is_selecting = 0; sel->is_locked = 0; } return ui_restore_selected_region_color(sel); } int ui_restore_selected_region_color_except_logs(ui_selection_t *sel) { int beg_row; int beg_col; if (!sel->is_reversed) { return 0; } if (sel->end_row < 0) { return 1; } if ((beg_row = sel->beg_row) < 0) { beg_row = 0; beg_col = 0; } else { beg_col = sel->beg_col; } (*sel->sel_listener->restore_color)(sel->sel_listener->self, beg_col, beg_row, sel->end_col, sel->end_row, sel->is_rect); return 1; } int ui_reverse_selected_region_color_except_logs(ui_selection_t *sel) { int beg_row; int beg_col; if (!sel->is_reversed) { return 0; } if (sel->end_row < 0) { return 1; } if ((beg_row = sel->beg_row) < 0) { beg_row = 0; beg_col = 0; } else { beg_col = sel->beg_col; } (*sel->sel_listener->reverse_color)(sel->sel_listener->self, beg_col, beg_row, sel->end_col, sel->end_row, sel->is_rect); return 1; } int ui_restore_selected_region_color(ui_selection_t *sel) { if (!sel->is_reversed) { return 0; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " restore selected region color => %d %d - %d %d.\n", sel->beg_col, sel->beg_row, sel->end_col, sel->end_row); #endif (*sel->sel_listener->restore_color)(sel->sel_listener->self, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row, sel->is_rect); sel->is_reversed = 0; return 1; } /* * Not used for now. */ #if 0 int ui_reverse_selected_region_color(ui_selection_t *sel) { if (sel->is_reversed) { return 0; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " reverse selected region color => %d %d - %d %d.\n", sel->beg_col, sel->beg_row, sel->end_col, sel->end_row); #endif (*sel->sel_listener->reverse_color)(sel->sel_listener->self, sel->beg_col, sel->beg_row, sel->end_col, sel->end_row, sel->is_rect); sel->is_reversed = 1; return 1; } #endif int ui_sel_line_scrolled_out(ui_selection_t *sel, int min_row) { if (!sel->is_selecting) { return 0; } if (sel->base_row_l > min_row) { sel->base_row_l--; } else { sel->base_col_l = -1; } if (sel->base_row_r > min_row) { sel->base_row_r--; } else { sel->base_col_r = 0; } if (sel->is_locked) { if (sel->lock_row > min_row) { sel->lock_row--; } else { sel->lock_col = 0; } } if (sel->beg_row > min_row) { sel->beg_row--; } else { sel->beg_col = 0; } if (sel->end_row > min_row) { sel->end_row--; } else { sel->end_col = 0; } if (sel->prev_row > min_row) { sel->prev_row--; } else { sel->prev_col = 0; } return 1; } int ui_selected_region_is_changed(ui_selection_t *sel, int col, int row, u_int base) { if (abs(sel->prev_col - col) >= base || abs(sel->prev_row - row) >= base) { return 1; } else { return 0; } } int ui_is_after_sel_right_base_pos(ui_selection_t *sel, int col, int row) { if (sel->is_rect) { return sel->base_col_r < col; } else { if (sel->base_row_r < row || (sel->base_row_r == row && sel->base_col_r < col)) { return 1; } else { return 0; } } } int ui_is_before_sel_left_base_pos(ui_selection_t *sel, int col, int row) { if (sel->is_rect) { return sel->base_col_l > col; } else { if (sel->base_row_l > row || (sel->base_row_l == row && sel->base_col_l > col)) { return 1; } else { return 0; } } } void ui_sel_lock(ui_selection_t *sel) { if (sel->beg_row < sel->base_row_l || (sel->beg_row == sel->base_row_l && sel->beg_col <= sel->base_col_l)) { /* * (Text surrounded by '*' is selected region. '|' is the base position.) * aaa*bbb*|ccc * ^ * +---- lock position ("bbb" is always selected.) * * This lock position is usually used in RTL lines. */ sel->lock_col = sel->beg_col; sel->lock_row = sel->beg_row; sel->is_locked = -1; } else { /* * (Text surrounded by '*' is selected region. '|' is the base position.) * aaa|*bbb*ccc * ^ * +---- lock position ("bbb" is always selected.) * * This lock position is usually used in LTR lines. */ sel->lock_col = sel->end_col; sel->lock_row = sel->end_row; sel->is_locked = 1; } } mlterm-3.8.4/uitoolkit/ui_screen.h010064400017600000144000000143371321054731200157020ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SCREEN_H__ #define __UI_SCREEN_H__ #include /* FILE */ #include /* u_int/int8_t/size_t */ #include #include "ui_window.h" #include "ui_selection.h" #include "ui_shortcut.h" #include "ui_mod_meta_mode.h" #include "ui_bel_mode.h" #include "ui_sb_mode.h" #include "ui_im.h" #include "ui_picture.h" typedef struct ui_screen *ui_screen_ptr_t; typedef struct ui_system_event_listener { void *self; void (*open_screen)(void *, ui_screen_ptr_t); void (*split_screen)(void *, ui_screen_ptr_t, int, const char *); int (*close_screen)(void *, ui_screen_ptr_t, int); int (*next_screen)(void *, ui_screen_ptr_t); int (*prev_screen)(void *, ui_screen_ptr_t); int (*resize_screen)(void *, ui_screen_ptr_t, int, int); void (*open_pty)(void *, ui_screen_ptr_t, char *); void (*next_pty)(void *, ui_screen_ptr_t); void (*prev_pty)(void *, ui_screen_ptr_t); void (*close_pty)(void *, ui_screen_ptr_t, char *); void (*pty_closed)(void *, ui_screen_ptr_t); int (*mlclient)(void *, ui_screen_ptr_t, char *, FILE *); void (*font_config_updated)(void); void (*color_config_updated)(void); /* for debug */ void (*exit)(void *, int); } ui_system_event_listener_t; typedef struct ui_screen_scroll_event_listener { void *self; void (*bs_mode_entered)(void *); void (*bs_mode_exited)(void *); void (*scrolled_upward)(void *, u_int); void (*scrolled_downward)(void *, u_int); void (*scrolled_to)(void *, int); void (*log_size_changed)(void *, u_int); void (*line_height_changed)(void *, u_int); void (*change_fg_color)(void *, char *); char *(*fg_color)(void *); void (*change_bg_color)(void *, char *); char *(*bg_color)(void *); void (*change_view)(void *, char *); char *(*view_name)(void *); void (*transparent_state_changed)(void *, int, ui_picture_modifier_t *); ui_sb_mode_t (*sb_mode)(void *); void (*change_sb_mode)(void *, ui_sb_mode_t); void (*term_changed)(void *, u_int, u_int); void (*screen_color_changed)(void *); } ui_screen_scroll_event_listener_t; typedef struct ui_screen { ui_window_t window; ui_font_manager_t *font_man; ui_color_manager_t *color_man; vt_term_t *term; ui_selection_t sel; vt_screen_event_listener_t screen_listener; vt_xterm_event_listener_t xterm_listener; vt_config_event_listener_t config_listener; vt_pty_event_listener_t pty_listener; ui_sel_event_listener_t sel_listener; ui_xim_event_listener_t xim_listener; ui_im_event_listener_t im_listener; ui_shortcut_t *shortcut; char *mod_meta_key; u_int mod_meta_mask; u_int mod_ignore_mask; /* ui_mod_meta_mode_t */ int8_t mod_meta_mode; /* ui_bel_mode_t */ int8_t bel_mode; int8_t is_preediting; u_int im_preedit_beg_row; u_int im_preedit_end_row; char *input_method; ui_im_t *im; /* * ui_window_t::{width|height} might contain right and bottom margins if window is maximized. * ui_screen_t::{width|height} never contains no margins. */ u_int width; u_int height; u_int screen_width_ratio; ui_system_event_listener_t *system_listener; ui_screen_scroll_event_listener_t *screen_scroll_listener; int scroll_cache_rows; int scroll_cache_boundary_start; int scroll_cache_boundary_end; char *pic_file_path; ui_picture_modifier_t pic_mod; ui_picture_t *bg_pic; ui_icon_picture_t *icon; int16_t prev_inline_pic; u_int16_t prev_mouse_report_col; u_int16_t prev_mouse_report_row; u_int8_t fade_ratio; int8_t line_space; int8_t receive_string_via_ucs; int8_t use_vertical_cursor; int8_t use_extended_scroll_shortcut; int8_t borderless; int8_t font_or_color_config_updated; /* 0x1 = font updated, 0x2 = color updated */ int8_t blink_wait; int8_t hide_underline; int8_t underline_offset; int8_t baseline_offset; int8_t processing_vtseq; int8_t anim_wait; } ui_screen_t; void ui_exit_backscroll_by_pty(int flag); void ui_allow_change_shortcut(int flag); void ui_set_mod_meta_prefix(char *prefix); #define ui_free_mod_meta_prefix() ui_set_mod_meta_prefix(NULL) void ui_set_trim_trailing_newline_in_pasting(int trim); #ifdef USE_IM_CURSOR_COLOR void ui_set_im_cursor_color(char *color); #endif ui_screen_t *ui_screen_new(vt_term_t *term, ui_font_manager_t *font_man, ui_color_manager_t *color_man, u_int brightness, u_int contrast, u_int gamma, u_int alpha, u_int fade_ratio, ui_shortcut_t *shortcut, u_int screen_width_ratio, char *mod_meta_key, ui_mod_meta_mode_t mod_meta_mode, ui_bel_mode_t bel_mode, int receive_string_via_ucs, char *pic_file_path, int use_transbg, int use_vertical_cursor, int use_extended_scroll_shortcut, int borderless, int line_space, char *input_method, int allow_osc52, u_int hmargin, u_int vmargin, int hide_underline, int underline_offset, int baseline_offset); void ui_screen_delete(ui_screen_t *screen); int ui_screen_attach(ui_screen_t *screen, vt_term_t *term); int ui_screen_attached(ui_screen_t *screen); vt_term_t *ui_screen_detach(ui_screen_t *screen); void ui_set_system_listener(ui_screen_t *screen, ui_system_event_listener_t *system_listener); void ui_set_screen_scroll_listener(ui_screen_t *screen, ui_screen_scroll_event_listener_t *screen_scroll_listener); void ui_screen_scroll_upward(ui_screen_t *screen, u_int size); void ui_screen_scroll_downward(ui_screen_t *screen, u_int size); void ui_screen_scroll_to(ui_screen_t *screen, int row); u_int ui_col_width(ui_screen_t *screen); u_int ui_line_height(ui_screen_t *screen); u_int ui_line_ascent(ui_screen_t *screen); int ui_screen_exec_cmd(ui_screen_t *screen, char *cmd); int ui_screen_set_config(ui_screen_t *screen, char *dev, char *key, char *value); void ui_screen_reset_view(ui_screen_t *screen); #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE void ui_screen_reload_color_cache(ui_screen_t *screen, int do_unload); #endif ui_picture_modifier_t *ui_screen_get_picture_modifier(ui_screen_t *screen); #endif mlterm-3.8.4/uitoolkit/ui_color.h010064400017600000144000000016421321054731200155340ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_COLOR_H__ #define __UI_COLOR_H__ #include #include /* alloca */ #include "ui_display.h" typedef struct ui_color { /* Public */ u_int32_t pixel; #ifdef UI_COLOR_HAS_RGB /* Private except ui_color_cache.c */ u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; #endif } ui_color_t; int ui_load_named_xcolor(ui_display_t *disp, ui_color_t *xcolor, char *name); int ui_load_rgb_xcolor(ui_display_t *disp, ui_color_t *xcolor, u_int8_t red, u_int8_t green, u_int8_t blue, u_int8_t alpha); void ui_unload_xcolor(ui_display_t *disp, ui_color_t *xcolor); void ui_get_xcolor_rgba(u_int8_t *red, u_int8_t *green, u_int8_t *blue, u_int8_t *alpha, ui_color_t *xcolor); int ui_xcolor_fade(ui_display_t*, ui_color_t *xcolor, u_int fade_ratio); #endif mlterm-3.8.4/uitoolkit/Makefile.in010064400017600000144000000057451321054731200156250ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ BINDIR = $(DESTDIR)$(bindir) VPATH = $(top_srcdir)/uitoolkit/@GUI@:$(top_srcdir)/uitoolkit OBJ1 = ui_screen_manager.o ui_event_source.o ui_display.o ui_window.o ui_screen.o \ ui_xic.o ui_color_manager.o ui_font_manager.o ui_picture.o ui_font.o \ ui_color.o ui_selection.o ui_font_config.o ui_main_config.o \ ui_shortcut.o ui_bel_mode.o ui_sb_mode.o ui_mod_meta_mode.o ui_font_cache.o \ ui_draw_str.o ui_gc.o ui_color_cache.o ui_dnd.o ui_scrollbar.o ui_layout.o \ ui_sb_view_factory.o ui_simple_sb_view.o ui_imagelib.o ui_connect_dialog.o \ ui_type_engine.o ui_im.o ui_im_candidate_screen.o ui_brltty.o \ ui_selection_encoding.o OBJ2_xlib = ui_decsp_font.o ui_xim.o ui_im_status_screen.o @TYPE_LOADER_OBJ@ OBJ2_win32 = ui_gdiobj_pool.o ui.o ui_im_status_screen.o OBJ2_fb = ui.o ui_decsp_font.o ui_virtual_kbd.o ui_im_status_screen.o OBJ2_quartz = ui.o cocoa.o ui_im_status_screen-cocoa.o OBJ2_console = ui.o ui_im_status_screen.o OBJ2_wayland = ui.o ui_decsp_font.o ui_im_status_screen.o RSOBJ_win32 = winrs.o OBJ = $(OBJ1) $(OBJ2_@GUI@) XDISPLAY_DEPENDS_fb = ui_display_freebsd.c ui_display_linux.c ui_display_wscons.c ui_display_x68kgrf.c LIBNAME = libuitoolkit # XDATADIR is to avoid conflicting with DATADIR structure in w32api/objidl.h. CFLAGS = $(CFLAGS_LOCAL) @POBL_CFLAGS@ @MEF_CFLAGS@ @DEB_CFLAGS@ @MATH_CFLAGS@ \ @IMAGELIB_CFLAGS@ @X_CFLAGS@ @GUI_CFLAGS@ @SSH2_CFLAGS@ @XUTF8_CFLAGS@ @DND_CFLAGS@ \ @IM_CFLAGS@ @SB_CFLAGS@ @REGEX_CFLAGS@ @CTL_CFLAGS@ @TYPE_CFLAGS@ @FT_CFLAGS@ \ @IMAGE_CFLAGS@ @TOOLS_CFLAGS@ @OT_LAYOUT_CFLAGS@ @SIXEL_CFLAGS@ @BRLAPI_CFLAGS@ \ @CFLAGS@ @CPPFLAGS@ \ -DBINDIR=\"$(bindir)\" -DLIBDIR=\"$(libdir)\" -DLIBEXECDIR=\"$(libexecdir)\" \ -DXDATADIR=\"$(datadir)\" \ -I$(top_srcdir)/vtemu -I$(top_srcdir)/uitoolkit/libotl -I/usr/local/include LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: $(LIBNAME).a debug: $(LIBNAME).a # If winrs.o is archived to libuitoolkit.a, connect dialog is not shown correctly. $(LIBNAME).a: $(OBJ) $(RSOBJ_@GUI@) $(LIBTOOL_LINK) -o $(LIBNAME).a $(OBJ:.o=.lo) .SUFFIXES: .c .o .c.o: $(LIBTOOL_CC) -c $< .m.o: $(LIBTOOL_CC) -c $< ui_display.o: ui_display.c $(XDISPLAY_DEPENDS_@GUI@) $(LIBTOOL_CC) -c $< winrs.o: winrs.rs cp $(top_srcdir)/contrib/icon/mlterm-icon-win32.ico . # windres-2.11.90(included in MSYS-DTK 1.0.1) doesn't accept '-I[DIR]' option. windres `echo "@POBL_CFLAGS@ @MEF_CFLAGS@"|sed 's/-I/--include-dir /'` @GUI_CFLAGS@ @SSH2_CFLAGS@ $< winrs.o install: uninstall: wc: find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf *.a *.la $(OBJ) $(OBJ:.o=.lo) $(RSOBJ_win32) mlterm-icon-win32.ico .libs distclean: clean rm -f Makefile mlterm-3.8.4/uitoolkit/ui_font_config.c010064400017600000144000000763551321054731200167210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_font_config.h" #include /* memset */ #include /* malloc */ #include /* strdup */ #include /* DIGIT_STR_LEN */ #include #include #include #include #include /* vt_parse_unicode_area */ #define DEFAULT_FONT 0x1ff /* MAX_CHARSET */ #if 0 #define __DEBUG #endif typedef struct cs_table { char *name; ef_charset_t cs; } cs_table_t; typedef struct custom_cache { const char *file; char *key; char *value; } custom_cache_t; /* --- static variables --- */ #if defined(USE_FRAMEBUFFER) || defined(USE_CONSOLE) || defined(USE_WAYLAND) #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) static int use_aafont; #define FONT_FILE (use_aafont ? aafont_file + 7 : "font") #define VFONT_FILE (use_aafont ? vaafont_file + 7 : "vfont") #define TFONT_FILE (use_aafont ? taafont_file + 7 : "tfont") #else #define FONT_FILE "font" #define VFONT_FILE "vfont" #define TFONT_FILE "tfont" #endif static char *font_file = "mlterm/font-fb"; static char *vfont_file = "mlterm/vfont-fb"; static char *tfont_file = "mlterm/tfont-fb"; #else #define FONT_FILE (font_file + 7) #define VFONT_FILE (vfont_file + 7) #define TFONT_FILE (tfont_file + 7) static char *font_file = "mlterm/font"; static char *vfont_file = "mlterm/vfont"; static char *tfont_file = "mlterm/tfont"; #endif static char *aafont_file = "mlterm/aafont"; static char *vaafont_file = "mlterm/vaafont"; static char *taafont_file = "mlterm/taafont"; /* * If this table is changed, ui_font.c:cs_info_table and mc_font.c:cs_info_table * shoule be also changed. */ static cs_table_t cs_table[] = { {"ISO10646_UCS4_1", ISO10646_UCS4_1}, {"DEC_SPECIAL", DEC_SPECIAL}, {"ISO8859_1", ISO8859_1_R}, {"ISO8859_2", ISO8859_2_R}, {"ISO8859_3", ISO8859_3_R}, {"ISO8859_4", ISO8859_4_R}, {"ISO8859_5", ISO8859_5_R}, {"ISO8859_6", ISO8859_6_R}, {"ISO8859_7", ISO8859_7_R}, {"ISO8859_8", ISO8859_8_R}, {"ISO8859_9", ISO8859_9_R}, {"ISO8859_10", ISO8859_10_R}, {"TIS620", TIS620_2533}, {"ISO8859_13", ISO8859_13_R}, {"ISO8859_14", ISO8859_14_R}, {"ISO8859_15", ISO8859_15_R}, {"ISO8859_16", ISO8859_16_R}, {"TCVN5712", TCVN5712_3_1993}, {"ISCII_ASSAMESE", ISCII_ASSAMESE}, {"ISCII_BENGALI", ISCII_BENGALI}, {"ISCII_GUJARATI", ISCII_GUJARATI}, {"ISCII_HINDI", ISCII_HINDI}, {"ISCII_KANNADA", ISCII_KANNADA}, {"ISCII_MALAYALAM", ISCII_MALAYALAM}, {"ISCII_ORIYA", ISCII_ORIYA}, {"ISCII_PUNJABI", ISCII_PUNJABI}, {"ISCII_TAMIL", ISCII_TAMIL}, {"ISCII_TELUGU", ISCII_TELUGU}, {"VISCII", VISCII}, {"KOI8_R", KOI8_R}, {"KOI8_U", KOI8_U}, #if 0 /* * Koi8_t and georgian_ps charsets can be shown by unicode font only. */ {"KOI8_T", KOI8_T}, {"GEORGIAN_PS", GEORGIAN_PS}, #endif #ifdef USE_WIN32GUI {"CP1250", CP1250}, {"CP1251", CP1251}, {"CP1252", CP1252}, {"CP1253", CP1253}, {"CP1254", CP1254}, {"CP1255", CP1255}, {"CP1256", CP1256}, {"CP1257", CP1257}, {"CP1258", CP1258}, #endif {"JISX0201_KATA", JISX0201_KATA}, {"JISX0201_ROMAN", JISX0201_ROMAN}, {"JISX0208_1978", JISC6226_1978}, {"JISC6226_1978", JISC6226_1978}, {"JISX0208_1983", JISX0208_1983}, {"JISX0208_1990", JISX0208_1990}, {"JISX0212_1990", JISX0212_1990}, {"JISX0213_2000_1", JISX0213_2000_1}, {"JISX0213_2000_2", JISX0213_2000_2}, {"KSC5601_1987", KSC5601_1987}, {"KSX1001_1997", KSC5601_1987}, #if 0 /* * XXX * UHC and JOHAB fonts are not used at the present time. * see vt_vt100_parser.c:vt_parse_vt100_sequence(). */ {"UHC", UHC}, {"JOHAB", JOHAB}, #endif {"GB2312_80", GB2312_80}, {"GBK", GBK}, {"BIG5", BIG5}, {"HKSCS", HKSCS}, {"CNS11643_1992_1", CNS11643_1992_1}, {"CNS11643_1992_2", CNS11643_1992_2}, {"CNS11643_1992_3", CNS11643_1992_3}, {"CNS11643_1992_4", CNS11643_1992_4}, {"CNS11643_1992_5", CNS11643_1992_5}, {"CNS11643_1992_6", CNS11643_1992_6}, {"CNS11643_1992_7", CNS11643_1992_7}, }; static ui_font_config_t **font_configs; static u_int num_configs; /* * These will be leaked unless change_custom_cache( ... , "") deletes them. * change_custom_cache( ... , "") is called only from save_conf, which means * that they are deleted when all of them are saved to ~/.mlterm/(vt)(aa)font * file. */ static custom_cache_t *custom_cache; static u_int num_customs; /* --- static functions --- */ #ifdef BL_DEBUG static void TEST_font_config(void); #endif static BL_PAIR(ui_font_name) get_font_name_pair(BL_MAP(ui_font_name) table, vt_font_t font) { BL_PAIR(ui_font_name) pair; bl_map_get(table, font, pair); return pair; } static BL_PAIR(ui_font_name) * get_font_name_pairs_array(u_int *size, BL_MAP(ui_font_name) table) { BL_PAIR(ui_font_name) * array; bl_map_get_pairs_array(table, array, *size); return array; } static int set_font_name_to_table(BL_MAP(ui_font_name) table, vt_font_t font, char *fontname) { int result; bl_map_set(result, table, font, fontname); return result; } static vt_font_t parse_key(const char *key) { int count; size_t key_len; ef_charset_t cs; vt_font_t font; key_len = strlen(key); if (key_len >= 7 && strncmp(key, "DEFAULT", 7) == 0) { font = DEFAULT_FONT; goto check_style; } if (key_len >= 3 && strncmp(key, "U+", 2) == 0) { u_int min; u_int max; if (vt_parse_unicode_area(key, &min, &max) && (font = vt_get_unicode_area_font(min, max)) != UNKNOWN_CS) { goto check_style; } else { return UNKNOWN_CS; } } for (count = 0; count < sizeof(cs_table) / sizeof(cs_table[0]); count++) { size_t nlen; nlen = strlen(cs_table[count].name); if (key_len >= nlen && strncmp(cs_table[count].name, key, nlen) == 0 && (key[nlen] == '\0' || /* "_BOLD" or "_FULLWIDTH" is trailing */ key[nlen] == '_')) { cs = cs_table[count].cs; break; } } if (count == sizeof(cs_table) / sizeof(cs_table[0])) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s is not valid charset.\n", key); #endif return UNKNOWN_CS; } font = NORMAL_FONT_OF(cs); if (!(font & FONT_FULLWIDTH) && (strstr(key, "_BIWIDTH") || /* XXX compat with 3.2.2 or before. */ strstr(key, "_FULLWIDTH"))) { font |= FONT_FULLWIDTH; } check_style: if (strstr(key, "_BOLD")) { font |= FONT_BOLD; } if (strstr(key, "_ITALIC")) { font |= FONT_ITALIC; } return font; } static int parse_value(char **font_name, /* if value is "" or illegal format, not changed. */ char *value /* Don't specify NULL. */ ) { if (strchr(value, ',')) { /* XXX Compat with old format (3.6.3 or before): [size],[font name] */ /* * bl_str_sep() never returns NULL and and value never becomes NULL * because strchr( value , ',') is succeeded. */ bl_str_sep(&value, ","); } *font_name = value; return 1; } /* * * 1: Valid "%d" or no '%' is found. * 0: Invalid '%' is found. */ static int is_valid_font_format(const char *format) { char *p; if ((p = strchr(format, '%'))) { /* force to be '%d' */ if (p[1] != 'd') { return 0; } /* '%' can happen only once at most */ if (p != strrchr(format, '%')) { return 0; } } return 1; } /* * * 0: Not changed(including the case of failure). * 1: Succeeded. */ static int customize_font_name(ui_font_config_t *font_config, vt_font_t font, const char *fontname) { BL_PAIR(ui_font_name) pair; if (is_valid_font_format(fontname) == 0) { bl_msg_printf("%s is invalid format for font name.\n"); return 0; } if ((pair = get_font_name_pair(font_config->font_name_table, font))) { if (*fontname == '\0') { int result; /* Curent setting in font_config is removed. */ free(pair->value); bl_map_erase_simple(result, font_config->font_name_table, font); } else if (strcmp(pair->value, fontname) != 0) { char *value; if ((value = strdup(fontname)) == NULL) { return 0; } free(pair->value); pair->value = value; } else { /* If new fontname is the same as current one, nothing is done. */ return 0; } } else { char *value; if (*fontname == '\0' || (value = strdup(fontname)) == NULL) { return 0; } set_font_name_to_table(font_config->font_name_table, font, value); } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Set %x font => fontname %s.\n", font, fontname); #endif return 1; } static int parse_conf(ui_font_config_t *font_config, const char *key, const char *value /* value = "" or ";" => Reset font name. */ ) { vt_font_t font; char *font_name; if ((font = parse_key(key)) == UNKNOWN_CS) { return 0; } /* * XXX Compat with old formats (3.6.3 or before): [entry];[entry];[entry];... * * bl_str_sep() returns NULL only if value == NULL. */ font_name = bl_str_alloca_dup(value); font_name = bl_str_sep(&font_name, ";"); if (parse_value(&font_name, font_name)) { customize_font_name(font_config, font, font_name); } return 1; } static int apply_custom_cache(ui_font_config_t *font_config, const char *filename) { u_int count; for (count = 0; count < num_customs; count++) { if (filename == custom_cache[count].file) { #ifdef __DEBUG bl_debug_printf("Appling customization %s=%s\n", custom_cache[count].key, custom_cache[count].value); #endif parse_conf(font_config, custom_cache[count].key, custom_cache[count].value); } } return 1; } static int read_conf(ui_font_config_t *font_config, const char *filename) { bl_file_t *from; char *key; char *value; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " read_conf( %s)\n", filename); #endif if (!(from = bl_file_open(filename, "r"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return 0; } while (bl_conf_io_read(from, &key, &value)) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Read line from %s => %s = %s\n", filename, key, value); #endif parse_conf(font_config, key, value); } bl_file_close(from); return 1; } static int read_all_conf(ui_font_config_t *font_config, const char *changed_font_file /* If this function is * called after a font * file is * changed, specify it * here to avoid re-read * font files. * Otherwise specify * NULL. */ ) { char *font_rcfile; char *font_rcfile2; /* prior to font_rcfile */ char *rcpath; #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) if (use_aafont) #else /* '>= XFT' means XFT or Cairo */ if (font_config->type_engine >= TYPE_XFT) #endif { font_rcfile = aafont_file; switch (font_config->font_present & ~FONT_AA) { default: font_rcfile2 = NULL; break; case FONT_VAR_WIDTH: font_rcfile2 = vaafont_file; break; case FONT_VERTICAL: font_rcfile2 = taafont_file; break; } } else { font_rcfile = font_file; switch (font_config->font_present & ~FONT_AA) { default: font_rcfile2 = NULL; break; case FONT_VAR_WIDTH: font_rcfile2 = vfont_file; break; case FONT_VERTICAL: font_rcfile2 = tfont_file; break; } } if (!changed_font_file) { if ((rcpath = bl_get_sys_rc_path(font_rcfile))) { read_conf(font_config, rcpath); free(rcpath); } } if (!changed_font_file || changed_font_file == font_rcfile) { if ((rcpath = bl_get_user_rc_path(font_rcfile))) { read_conf(font_config, rcpath); free(rcpath); } } apply_custom_cache(font_config, font_rcfile); if (font_rcfile2) { if (!changed_font_file) { if ((rcpath = bl_get_sys_rc_path(font_rcfile2))) { read_conf(font_config, rcpath); free(rcpath); } } if ((rcpath = bl_get_user_rc_path(font_rcfile2))) { read_conf(font_config, rcpath); free(rcpath); } apply_custom_cache(font_config, font_rcfile2); } return 1; } static int change_custom_cache(const char *file, const char *key, const char *value) { void *p; u_int count; for (count = 0; count < num_customs; count++) { if (custom_cache[count].file == file && strcmp(custom_cache[count].key, key) == 0) { if (*value) { /* replace */ char *p; if (strcmp(custom_cache[count].value, value) == 0) { /* not changed */ return 0; } if ((p = strdup(value))) { free(custom_cache[count].value); custom_cache[count].value = p; } } else { /* remove */ free(custom_cache[count].key); free(custom_cache[count].value); custom_cache[count] = custom_cache[--num_customs]; if (num_customs == 0) { free(custom_cache); custom_cache = NULL; #ifdef __DEBUG bl_debug_printf("Custom cache is completely freed.\n"); #endif } } return 1; } } /* #if 1 => Don't remove font settings read from *font files in ~/.mlterm */ #if 0 if (*value == '\0') { return 0; } #endif if ((p = realloc(custom_cache, sizeof(custom_cache_t) * (num_customs + 1))) == NULL) { return 0; } custom_cache = p; if ((custom_cache[num_customs].key = strdup(key)) == NULL) { return 0; } if ((custom_cache[num_customs].value = strdup(value)) == NULL) { free(custom_cache[num_customs].key); return 0; } custom_cache[num_customs++].file = file; #ifdef __DEBUG bl_debug_printf("%s=%s is newly added to custom cache.\n", key, value); #endif return 1; } static int write_conf(char *path, /* Can be destroyed in this function. */ const char *key, const char *value) { bl_conf_write_t *conf; if (!(conf = bl_conf_write_open(path))) { return 0; } bl_conf_io_write(conf, key, value); bl_conf_write_close(conf); return 1; } static int save_conf(const char *file, const char *key, char *value /* Includes multiple entries. Destroyed in this function. */ ) { char *path; int ret; if ((path = bl_get_user_rc_path(file)) == NULL) { return 0; } if ((ret = write_conf(path, key, value))) { /* Remove from custom_cache */ change_custom_cache(file, key, ""); } free(path); return ret; } static ui_font_config_t *find_font_config(ui_type_engine_t type_engine, ui_font_present_t font_present) { if (font_configs) { u_int count; for (count = 0; count < num_configs; count++) { if (font_configs[count]->font_present == font_present && font_configs[count]->type_engine == type_engine) { return font_configs[count]; } } } return NULL; } static u_int match_font_configs(ui_font_config_t **matched_configs, u_int max_size, /* must be over 0. */ int is_xcore, ui_font_present_t present_mask) { u_int count; u_int size; size = 0; for (count = 0; count < num_configs; count++) { if ( #if !defined(USE_FREETYPE) || !defined(USE_FONTCONFIG) (is_xcore ? font_configs[count]->type_engine == TYPE_XCORE : /* '>= XFT' means XFT or Cairo */ font_configs[count]->type_engine >= TYPE_XFT) && #endif (present_mask ? (font_configs[count]->font_present & present_mask) : 1)) { matched_configs[size++] = font_configs[count]; if (size >= max_size) { break; } } } return size; } static ui_font_config_t *create_shared_font_config(ui_type_engine_t type_engine, ui_font_present_t font_present) { u_int count; for (count = 0; count < num_configs; count++) { if ((type_engine == TYPE_XCORE ? font_configs[count]->type_engine == TYPE_XCORE : /* '>= XFT' means XFT or Cairo */ font_configs[count]->type_engine >= TYPE_XFT) && ((font_configs[count]->font_present & ~FONT_AA) == (font_present & ~FONT_AA))) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Found sharable font_config.\n"); #endif ui_font_config_t *font_config; if ((font_config = malloc(sizeof(ui_font_config_t))) == NULL) { return NULL; } font_config->type_engine = type_engine; font_config->font_present = font_present; font_config->font_name_table = font_configs[count]->font_name_table; font_config->ref_count = 0; return font_config; } } return NULL; } /* --- global functions --- */ #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) int ui_use_aafont(void) { if (num_configs > 0 || use_aafont) { return 0; } use_aafont = 1; ui_font_use_fontconfig(); return 1; } int ui_is_using_aafont(void) { return use_aafont; } #endif ui_font_config_t *ui_acquire_font_config(ui_type_engine_t type_engine, ui_font_present_t font_present) { ui_font_config_t *font_config; void *p; BL_TESTIT_ONCE(font_config, ()); if ((font_config = find_font_config(type_engine, font_present))) { font_config->ref_count++; return font_config; } if ((p = realloc(font_configs, sizeof(ui_font_config_t *) * (num_configs + 1))) == NULL) { return NULL; } font_configs = p; if ((font_config = create_shared_font_config(type_engine, font_present)) == NULL) { if ((font_config = ui_font_config_new(type_engine, font_present)) == NULL || !read_all_conf(font_config, NULL)) { return NULL; } } font_config->ref_count++; return font_configs[num_configs++] = font_config; } void ui_release_font_config(ui_font_config_t *font_config) { u_int count; int has_share; int found; if (--font_config->ref_count > 0) { return; } has_share = 0; found = 0; count = 0; while (count < num_configs) { if (font_configs[count] == font_config) { font_configs[count] = font_configs[--num_configs]; found = 1; continue; } else if ((font_config->type_engine == TYPE_XCORE ? font_configs[count]->type_engine == TYPE_XCORE : /* '>= XFT' means XFT or Cairo */ font_configs[count]->type_engine >= TYPE_XFT) && ((font_configs[count]->font_present & ~FONT_AA) == (font_config->font_present & ~FONT_AA))) { has_share = 1; } count++; } if (!found) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " font_config is not found in font_configs.\n"); #endif return; } if (has_share /* && num_configs > 0 */) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Sharable font_config exists.\n"); #endif free(font_config); return; } ui_font_config_delete(font_config); if (num_configs == 0) { free(font_configs); font_configs = NULL; } } ui_font_config_t *ui_font_config_new(ui_type_engine_t type_engine, ui_font_present_t font_present) { ui_font_config_t *font_config; if ((font_config = malloc(sizeof(ui_font_config_t))) == NULL) { return NULL; } bl_map_new_with_size(vt_font_t, char *, font_config->font_name_table, bl_map_hash_int, bl_map_compare_int, 16); font_config->type_engine = type_engine; font_config->font_present = font_present; font_config->ref_count = 0; return font_config; } void ui_font_config_delete(ui_font_config_t *font_config) { int count; u_int size; BL_PAIR(ui_font_name) * fn_array; fn_array = get_font_name_pairs_array(&size, font_config->font_name_table); for (count = 0; count < size; count++) { free(fn_array[count]->value); } bl_map_delete(font_config->font_name_table); free(font_config); } /* * 0 => customization is failed. * -1 => customization is succeeded but saving is failed. * 1 => succeeded. */ int ui_customize_font_file(const char *file, /* if null, use "mlterm/font" file. */ char *key, /* charset name */ char *value, /* font list */ int save) { /* * Max number of target font_config is 6. * [file == aafont_file] * TYPE_XFT, TYPE_XFT & FONT_VAR_WIDTH , TYPE_XFT & FONT_VERTICAL , TYPE_XFT & * FONT_AA , * TYPE_XFT & FONT_VAR_WIDTH & FONT_AA , TYPE_XFT & FONT_VERTICAL & FONT_AA */ ui_font_config_t *targets[6]; u_int num_targets; u_int count; if (file == NULL || #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) strcmp(file, "font") == 0 #else strcmp(file, FONT_FILE) == 0 #endif ) { file = font_file; num_targets = match_font_configs(targets, 6, /* is xcore */ 1, 0); } else if (strcmp(file, aafont_file + 7) == 0) { file = aafont_file; num_targets = match_font_configs(targets, 6, /* is not xcore */ 0, 0); } else if (strcmp(file, VFONT_FILE) == 0) { file = vfont_file; num_targets = match_font_configs(targets, 6, /* is xcore */ 1, FONT_VAR_WIDTH); } else if (strcmp(file, TFONT_FILE) == 0) { file = tfont_file; num_targets = match_font_configs(targets, 6, /* is xcore */ 1, FONT_VERTICAL); } else if (strcmp(file, vaafont_file + 7) == 0) { file = vaafont_file; num_targets = match_font_configs(targets, 6, /* is not xcore */ 0, FONT_VAR_WIDTH); } else if (strcmp(file, taafont_file + 7) == 0) { file = taafont_file; num_targets = match_font_configs(targets, 6, /* is not xcore */ 0, FONT_VERTICAL); } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " font file %s is not found.\n", file); #endif return 0; } #ifdef __DEBUG if (num_targets) { bl_debug_printf("customize font file %s %s %s\n", file, key, value); } else { bl_debug_printf("customize font file %s %s %s(not changed in run time)\n", file, key, value); } #endif if (save) { int ret; if (change_custom_cache(file, key, value)) { ret = 1; for (count = 0; count < num_targets; count++) { read_all_conf(targets[count], file); } } else { ret = 0; } if (!save_conf(file, key, value)) { return ret ? -1 : 0; } else { return ret; } } else { if (!change_custom_cache(file, key, value)) { return 0; } for (count = 0; count < num_targets; count++) { read_all_conf(targets[count], file); } } return 1; } char *ui_get_config_font_name(ui_font_config_t *font_config, u_int font_size, vt_font_t font) { vt_font_t cand_font; BL_PAIR(ui_font_name) pair; char *font_name; char *encoding; size_t encoding_len; int has_percentd; #ifdef USE_XLIB static char *orig_style[] = {"-medium-", "-r-", "-medium-r-"}; static char *new_style[] = {"-bold-", "-i-", "-bold-i-"}; #endif if (UNICODE_AREA(font)) { font &= ~FONT_FULLWIDTH; } encoding = NULL; cand_font = NO_SIZE_ATTR(font); while (!(pair = get_font_name_pair(font_config->font_name_table, cand_font))) { #ifdef USE_XLIB int idx; if (font_config->type_engine == TYPE_XCORE) { if ((idx = FONT_STYLE_INDEX(font)) >= 0 && ((pair = get_font_name_pair(font_config->font_name_table, FONT_CS(cand_font))) && (font_name = bl_str_replace(pair->value, orig_style[idx], new_style[idx])))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "Set font %s for %x\n", font_name, font); #endif set_font_name_to_table(font_config->font_name_table, cand_font, font_name); continue; } } else #endif { if (cand_font & FONT_STYLES) { cand_font &= ~FONT_STYLES; continue; } } if (cand_font & FONT_FULLWIDTH) { cand_font &= ~FONT_FULLWIDTH; } else if (FONT_CS(cand_font) != DEFAULT_FONT) { cand_font = DEFAULT_FONT; } else { return NULL; } } #ifdef USE_XLIB if (font_config->type_engine == TYPE_XCORE && FONT_CS(cand_font) == DEFAULT_FONT && /* encoding is appended if font_name is XLFD (not alias name). */ (strchr(pair->value, '*') || strchr(pair->value, '-'))) { char **names; if ((names = ui_font_get_encoding_names(FONT_CS(font))) && names[0]) { encoding = names[0]; } } #endif #if 1 if (*(pair->value) == '&' && /* XXX font variable is overwritten. */ (font = parse_key(pair->value + 1)) != UNKNOWN_CS) { /* * XXX (Undocumented) * * JISX0213_2000_1 = &JISX0208_1983 in font configuration files. * => try to get a font name of JISX0208_1983 instead of * JISX0213_2000_1 recursively. */ return ui_get_config_font_name(font_config, font_size, font); } #endif /* * If pair->value is valid format or not is checked by is_valid_font_format() * in customize_font_name(). * So all you have to do here is strchr( ... , '%') alone. */ if (strchr(pair->value, '%')) { has_percentd = 1; } else if (encoding == NULL) { return strdup(pair->value); } else { has_percentd = 0; } if (!(font_name = malloc(strlen(pair->value) + /* -2 is for "%d" */ (has_percentd ? DIGIT_STR_LEN(font_size) - 2 : 0) + (encoding_len = encoding ? strlen(encoding) : 0) + 1))) { return NULL; } if (has_percentd) { sprintf(font_name, pair->value, font_size); } else { strcpy(font_name, pair->value); } if (encoding) { char *percent; if ((percent = strchr(font_name, ':'))) { /* -*-:200 -> -*-iso8859-1:200 */ memmove(percent + encoding_len, percent, strlen(percent) + 1); memcpy(percent, encoding, encoding_len); } else { strcat(font_name, encoding); } } return font_name; } char *ui_get_config_font_name2(const char *file, /* can be NULL */ u_int font_size, char *font_cs) { vt_font_t font; ui_font_config_t *font_config; ui_type_engine_t engine; ui_font_present_t present; char *font_name; if (file == NULL || strcmp(file, FONT_FILE) == 0) { engine = TYPE_XCORE; present = 0; } #if !defined(USE_FREETYPE) || !defined(USE_FONTCONFIG) else if (strcmp(file, aafont_file + 7) == 0) { engine = TYPE_XFT; /* * font_config::font_name_table is shared with * font_configs whose difference is only FONT_AA. */ present = 0; } else if (strcmp(file, vaafont_file + 7) == 0) { engine = TYPE_XFT; present = FONT_VAR_WIDTH; } else if (strcmp(file, taafont_file + 7) == 0) { engine = TYPE_XFT; present = FONT_VERTICAL; } #endif else if (strcmp(file, VFONT_FILE) == 0) { engine = TYPE_XCORE; present = FONT_VAR_WIDTH; } else if (strcmp(file, TFONT_FILE) == 0) { engine = TYPE_XCORE; present = FONT_VERTICAL; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " font file %s is not found.\n", file); #endif return NULL; } if ((font_config = ui_acquire_font_config(engine, present)) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_font_config_t is not found.\n"); #endif return NULL; } if ((font = parse_key(font_cs)) == UNKNOWN_CS) { return NULL; } font_name = ui_get_config_font_name(font_config, font_size, font); ui_release_font_config(font_config); return font_name; } char *ui_get_config_font_names_all(ui_font_config_t *font_config, u_int font_size) { BL_PAIR(ui_font_name) * array; u_int size; char *font_name_list; size_t list_len; char *p; u_int count; array = get_font_name_pairs_array(&size, font_config->font_name_table); if (size == 0) { return NULL; } list_len = 0; for (count = 0; count < size; count++) { list_len += (strlen(array[count]->value) - 2 + DIGIT_STR_LEN(font_size) + 1); } if ((font_name_list = malloc(list_len)) == NULL) { return NULL; } p = font_name_list; for (count = 0; count < size; count++) { /* * XXX * Ignore DEFAULT_FONT setting because it doesn't have encoding name. */ if (FONT_CS(array[count]->key) != DEFAULT_FONT) { sprintf(p, array[count]->value, font_size); p += strlen(p); *(p++) = ','; } } if (p > font_name_list) { --p; } *p = '\0'; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Font list is %s\n", font_name_list); #endif return font_name_list; } char *ui_font_config_dump(ui_font_config_t *font_config) { BL_PAIR(ui_font_name) * array; u_int size; char *font_name_list; size_t list_len; char *p; u_int count; array = get_font_name_pairs_array(&size, font_config->font_name_table); if (size == 0) { return "No font settings"; } list_len = 0; for (count = 0; count < size; count++) { list_len += (4 /* CSI2J */ + 15 /* ISO10646_UCS4_1, U+10FFFF-10FFFF */ + 12 /* _BOLD_ITALIC */ + 1 /* = */ + strlen(array[count]->value) + 2 /* \r\n or \0 */); } if ((font_name_list = malloc(list_len)) == NULL) { return "No font settings"; } strcpy(font_name_list, "\x1b[2J"); p = font_name_list + 4; for (count = 0; count < size; count++) { if (FONT_CS(array[count]->key) == DEFAULT_FONT) { strcpy(p, "DEFAULT"); p += 7; } else { u_int count2; for (count2 = 0; count2 < sizeof(cs_table) / sizeof(cs_table[0]); count2++) { if (FONT_CS(array[count]->key) == cs_table[count2].cs) { int min; int max; if (vt_get_unicode_area(array[count]->key, &min, &max)) { sprintf(p, "U+%x-%x", min, max); } else { strcpy(p, cs_table[count2].name); } p += strlen(p); goto next_step; } } continue; } next_step: if (array[count]->key & FONT_BOLD) { strcpy(p, "_BOLD"); p += 5; } if (array[count]->key & FONT_ITALIC) { strcpy(p, "_ITALIC"); p += 7; } sprintf(p, "=%s", array[count]->value); p += strlen(p); *(p++) = '\r'; *(p++) = '\n'; } *(p - 2) = '\0'; return font_name_list; } char *ui_get_charset_name(ef_charset_t cs) { int count; for (count = 0; count < sizeof(cs_table) / sizeof(cs_table[0]); count++) { if (cs_table[count].cs == cs) { return cs_table[count].name; } } return NULL; } #ifdef BL_DEBUG #include static void TEST_font_config(void) { #ifdef USE_XLIB ui_font_config_t *font_config; char *value; font_config = ui_font_config_new(TYPE_XCORE, 0); customize_font_name(font_config, ISO8859_1_R, "-hoge-medium-r-fuga-"); value = ui_get_config_font_name(font_config, 12, ISO8859_1_R | FONT_BOLD); assert(strcmp("-hoge-bold-r-fuga-", value) == 0); free(value); value = ui_get_config_font_name(font_config, 12, ISO8859_1_R | FONT_ITALIC); assert(strcmp("-hoge-medium-i-fuga-", value) == 0); free(value); value = ui_get_config_font_name(font_config, 12, ISO8859_1_R | FONT_BOLD | FONT_ITALIC); assert(strcmp("-hoge-bold-i-fuga-", value) == 0); free(value); ui_font_config_delete(font_config); #endif } #endif mlterm-3.8.4/uitoolkit/ui_color_cache.h010064400017600000144000000020241321054731200166520ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_COLOR_CACHE_H__ #define __UI_COLOR_CACHE_H__ #include #include "ui_color.h" typedef struct ui_color_cache_256ext { ui_color_t xcolors[MAX_256EXT_COLORS]; u_int8_t is_loaded[MAX_256EXT_COLORS]; u_int ref_count; } ui_color_cache_256ext_t; typedef struct ui_color_cache { ui_display_t *disp; ui_color_t xcolors[MAX_VTSYS_COLORS]; u_int8_t is_loaded[MAX_VTSYS_COLORS]; ui_color_cache_256ext_t *cache_256ext; ui_color_t black; u_int8_t fade_ratio; u_int16_t ref_count; /* 0 - 65535 */ } ui_color_cache_t; ui_color_cache_t *ui_acquire_color_cache(ui_display_t *disp, u_int8_t fade_ratio); void ui_release_color_cache(ui_color_cache_t *color_cache); void ui_color_cache_unload(ui_color_cache_t *color_cache); void ui_color_cache_unload_all(void); int ui_load_xcolor(ui_color_cache_t *color_cache, ui_color_t *xcolor, char *name); ui_color_t *ui_get_cached_xcolor(ui_color_cache_t *color_cache, vt_color_t color); #endif mlterm-3.8.4/uitoolkit/ui_layout.c010064400017600000144000001312511321054731200157260ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_layout.h" #include /* u_int */ #include #ifdef USE_CONSOLE static u_int dummy_arg; #define SEPARATOR_WIDTH ui_get_opened_displays(&dummy_arg)[0]->display->col_width #define SEPARATOR_HEIGHT ui_get_opened_displays(&dummy_arg)[0]->display->line_height #else #define SEPARATOR_WIDTH 1 #define SEPARATOR_HEIGHT 1 #endif #define SCROLLBAR_WIDTH(scrollbar) (ACTUAL_WIDTH(&(scrollbar).window) + SEPARATOR_WIDTH) #define HAS_MULTI_CHILDREN(layout) ((layout)->term.next[0] || (layout)->term.next[1]) /* --- static variables --- */ static void (*orig_window_focused)(ui_window_t *); static void (*orig_xterm_set_window_name)(void *, u_char *); static void (*orig_xterm_set_icon_name)(void *, u_char *); /* --- static functions --- */ static void update_title(ui_screen_t *screen) { ui_set_window_name(&screen->window, vt_term_window_name(screen->term)); ui_set_icon_name(&screen->window, vt_term_icon_name(screen->term)); } static void window_focused(ui_window_t *win) { ui_layout_t *layout = (ui_layout_t*)win->parent; (*orig_window_focused)(win); if (HAS_MULTI_CHILDREN(layout)) { /* * If two screens in layout and one of them is removed, update_title() is * not called here. It is called at the end of ui_layout_remove_child(). */ update_title((ui_screen_t*)win); } } static void xterm_set_window_name(void *p, u_char *name) { ui_window_t *win = p; ui_layout_t *layout = (ui_layout_t*)win->parent; if (!HAS_MULTI_CHILDREN(layout) || win->inputtable > 0) { (*orig_xterm_set_window_name)(p, name); } } static void xterm_set_icon_name(void *p, u_char *name) { ui_window_t *win = p; ui_layout_t *layout = (ui_layout_t*)win->parent; if (!HAS_MULTI_CHILDREN(layout) || win->inputtable > 0) { (*orig_xterm_set_icon_name)(p, name); } } static u_int modify_separator(u_int separator, u_int total, u_int next_min, u_int unit, u_int fixed, u_int margin) { u_int surplus; int dont_round_up; if (total < separator + margin + next_min) { separator = total - next_min - margin; dont_round_up = 1; } else { dont_round_up = 0; } if ((surplus = (separator - fixed) % unit) > 0) { if (!dont_round_up && surplus > unit / 2) { separator += (unit - surplus); } else if (separator - fixed > surplus) { separator -= surplus; } else { separator = fixed + unit; } } return separator; } static void reset_layout(struct terminal *term, int x, int y, u_int width, u_int height) { u_int child_width; u_int child_height; int screen_moved; int screen_resized; if (term->separator_x > 0) { term->separator_x = child_width = modify_separator( term->separator_x, width, term->next[0]->screen->window.hmargin * 2 + ui_col_width(term->next[0]->screen) + (term->next[0]->sb_mode != SBM_NONE ? SCROLLBAR_WIDTH(term->next[0]->scrollbar) : 0), ui_col_width(term->screen), term->screen->window.hmargin * 2 + (term->sb_mode != SBM_NONE ? SCROLLBAR_WIDTH(term->scrollbar) : 0), SEPARATOR_WIDTH); } else { child_width = width; } if (term->separator_y > 0) { term->separator_y = child_height = modify_separator( term->separator_y, height, term->next[1]->screen->window.vmargin * 2 + ui_line_height(term->next[1]->screen), ui_line_height(term->screen), term->screen->window.vmargin * 2, SEPARATOR_HEIGHT); } else { child_height = height; } if (term->sb_mode != SBM_NONE) { int sep_x; int sb_moved; int sb_resized; if (term->sb_mode == SBM_RIGHT) { screen_moved = ui_window_move(&term->screen->window, x, y); sb_moved = ui_window_move(&term->scrollbar.window, x + child_width - ACTUAL_WIDTH(&term->scrollbar.window), y); sep_x = x + child_width - SCROLLBAR_WIDTH(term->scrollbar); } else { screen_moved = ui_window_move(&term->screen->window, x + SCROLLBAR_WIDTH(term->scrollbar), y); sb_moved = ui_window_move(&term->scrollbar.window, x, y); sep_x = x + ACTUAL_WIDTH(&term->scrollbar.window); } /* * The order of resizing: ui_scrollbar_t -> ui_screen_t * * ui_window_resize_with_margin(screen) may call ui_scrollbar_line_is_added() * which redraws screen by ui_window_update(), so you should resize ui_scrollbar_t * before ui_screen_t. */ sb_resized = ui_window_resize_with_margin(&term->scrollbar.window, ACTUAL_WIDTH(&term->scrollbar.window), child_height, NOTIFY_TO_MYSELF); screen_resized = ui_window_resize_with_margin(&term->screen->window, child_width - SCROLLBAR_WIDTH(term->scrollbar), child_height, NOTIFY_TO_MYSELF); #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF ui_window_fill_with(&UI_SCREEN_TO_LAYOUT(term->screen)->window, &UI_SCREEN_TO_LAYOUT(term->screen)->window.fg_color, sep_x, y, SEPARATOR_WIDTH, child_height); #else if ( #ifdef USE_WIN32GUI /* * Scrollbar 3 isn't clearly redrawn without this. * * 1 2 3 * +-+------------+-+-----+-+----+ * | |$ hresize_sc| |$ | |$ | * | |reen +1 | | | | | * | | | | | | | */ sb_moved #else sb_moved && !sb_resized && UI_SCREEN_TO_LAYOUT(term->screen)->bg_pic #endif ) { ui_window_update_all(&term->scrollbar.window); } #endif } else { screen_moved = ui_window_move(&term->screen->window, x, y); screen_resized = ui_window_resize_with_margin(&term->screen->window, child_width, child_height, NOTIFY_TO_MYSELF); } #ifndef MANAGE_SUB_WINDOWS_BY_MYSELF if ( #ifdef USE_QUARTZ /* ui_window_move() clears screen in true transparency on MacOSX/Cocoa. */ term->screen->color_man->alpha < 255 || #endif (screen_moved && !screen_resized && UI_SCREEN_TO_LAYOUT(term->screen)->bg_pic)) { ui_window_update_all(&term->screen->window); } #endif if (term->yfirst) { if (term->next[1] && term->separator_y > 0) { reset_layout(term->next[1], x, y + term->separator_y + SEPARATOR_HEIGHT, width, height - term->separator_y - SEPARATOR_HEIGHT); #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF ui_window_fill_with(&UI_SCREEN_TO_LAYOUT(term->screen)->window, &UI_SCREEN_TO_LAYOUT(term->screen)->window.fg_color, x, y + term->separator_y, width, SEPARATOR_HEIGHT); #endif } if (term->next[0] && term->separator_x > 0) { reset_layout(term->next[0], x + term->separator_x + SEPARATOR_WIDTH, y, width - term->separator_x - SEPARATOR_WIDTH, child_height); #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF ui_window_fill_with(&UI_SCREEN_TO_LAYOUT(term->screen)->window, &UI_SCREEN_TO_LAYOUT(term->screen)->window.fg_color, x + term->separator_x, y, SEPARATOR_WIDTH, child_height); #endif } } else { if (term->next[0] && term->separator_x > 0) { reset_layout(term->next[0], x + term->separator_x + SEPARATOR_WIDTH, y, width - term->separator_x - SEPARATOR_WIDTH, height); #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF ui_window_fill_with(&UI_SCREEN_TO_LAYOUT(term->screen)->window, &UI_SCREEN_TO_LAYOUT(term->screen)->window.fg_color, x + term->separator_x, y, SEPARATOR_WIDTH, height); #endif } if (term->next[1] && term->separator_y > 0) { reset_layout(term->next[1], x, y + term->separator_y + SEPARATOR_HEIGHT, child_width, height - term->separator_y - SEPARATOR_HEIGHT); #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF ui_window_fill_with(&UI_SCREEN_TO_LAYOUT(term->screen)->window, &UI_SCREEN_TO_LAYOUT(term->screen)->window.fg_color, x, y + term->separator_y, child_width, SEPARATOR_HEIGHT); #endif } } } static struct terminal *search_term(struct terminal *term, ui_screen_t *screen) { struct terminal *hit; if (term->screen == screen) { return term; } if ((term->next[0] && (hit = search_term(term->next[0], screen))) || (term->next[1] && (hit = search_term(term->next[1], screen)))) { return hit; } return NULL; } static struct terminal *search_parent_term(struct terminal *term, struct terminal *child) { struct terminal *parent; if (term->next[0] == child || term->next[1] == child) { return term; } if ((term->next[0] && (parent = search_parent_term(term->next[0], child))) || (term->next[1] && (parent = search_parent_term(term->next[1], child)))) { return parent; } return NULL; } static ui_screen_t *search_next_screen(struct terminal *term, ui_screen_t *screen, int *found) { ui_screen_t *hit; int idx; int count; if (term->screen == screen) { *found = 1; } if (term->yfirst) { idx = 0; } else { idx = 1; } for (count = 0; count < 2; count++) { if (term->next[idx]) { if (*found) { return term->next[idx]->screen; } else if ((hit = search_next_screen(term->next[idx], screen, found))) { return hit; } } idx = !idx; } return NULL; } static ui_screen_t *search_prev_screen(struct terminal *term, ui_screen_t *screen, ui_screen_t **prev) { int idx; int count; if (*prev && term->screen == screen) { return *prev; } *prev = term->screen; if (term->yfirst) { idx = 0; } else { idx = 1; } for (count = 0; count < 2; count++) { if (term->next[idx] && search_prev_screen(term->next[idx], screen, prev)) { return *prev; } idx = !idx; } return NULL; } static struct terminal *get_current_term(struct terminal *term) { struct terminal *current; if (term->screen->window.inputtable > 0) { return term; } if ((term->next[0] && (current = get_current_term(term->next[0]))) || (term->next[1] && (current = get_current_term(term->next[1])))) { return current; } return NULL; } static ui_window_t *get_current_window(ui_layout_t *layout) { struct terminal *term; if ((term = get_current_term(&layout->term))) { return &term->screen->window; } else { return &layout->term.screen->window; } } static u_int get_separator_x(ui_screen_t *screen, u_int sb_width, u_int percent /* < 100 */ ) { u_int width; u_int fixed_width; u_int sep_x; width = screen->window.width; fixed_width = screen->window.hmargin * 2 + sb_width; sep_x = (width + fixed_width) * percent / 100; if (sep_x < fixed_width + ui_col_width(screen)) { return 0; } #ifdef PSEUDO_COLOR_DISPLAY if (screen->window.disp->display->pixels_per_byte > 1) { return sep_x - sep_x % screen->window.disp->display->pixels_per_byte - SEPARATOR_WIDTH; } else #endif { return sep_x - (sep_x - fixed_width) % ui_col_width(screen); } } static u_int get_separator_y(ui_screen_t *screen, u_int percent /* < 100 */ ) { u_int height; u_int fixed_height; u_int sep_y; height = screen->window.height; fixed_height = screen->window.vmargin * 2; sep_y = (height + fixed_height) * percent / 100; if (sep_y < fixed_height + ui_line_height(screen)) { return 0; } return sep_y - (sep_y - fixed_height) % ui_line_height(screen); } /* * callbacks of ui_window_t events. */ static void window_finalized(ui_window_t *win) { ui_layout_t *layout; layout = (ui_layout_t *)win; ui_layout_delete(layout); } #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE static void reload_color_cache(struct terminal *term, int do_unload) { ui_screen_reload_color_cache(term->screen, do_unload); if (term->next[0]) { reload_color_cache(term->next[0], 0); } if (term->next[1]) { reload_color_cache(term->next[1], 0); } } #endif static void window_resized(ui_window_t *win) { ui_layout_t *layout; ui_picture_t *pic; layout = (ui_layout_t *)win; if (layout->bg_pic && (pic = ui_acquire_bg_picture(&layout->window, &layout->pic_mod, layout->pic_file_path))) { ui_window_set_wall_picture(&layout->window, pic->pixmap, 0); ui_release_picture(layout->bg_pic); layout->bg_pic = pic; #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE if (layout->window.disp->depth == 4 && strstr(layout->pic_file_path, "six")) { /* * Color pallette of ui_display can be changed by ui_acquire_bg_picture(). * (see ui_display_set_cmap() called from fb/ui_imagelib.c.) */ reload_color_cache(&layout->term, 1); } #endif } reset_layout(&layout->term, 0, 0, win->width, win->height); } static void child_window_resized(ui_window_t *win, ui_window_t *child) { ui_layout_t *layout; u_int actual_width; layout = (ui_layout_t *)win; if (HAS_MULTI_CHILDREN(layout)) { reset_layout(&layout->term, 0, 0, layout->window.width, layout->window.height); return; } if (&layout->term.screen->window == child) { if (layout->term.sb_mode == SBM_NONE) { actual_width = ACTUAL_WIDTH(child); } else { actual_width = ACTUAL_WIDTH(child) + ACTUAL_WIDTH(&layout->term.scrollbar.window) + SEPARATOR_WIDTH; } ui_window_resize_with_margin(&layout->window, actual_width, ACTUAL_HEIGHT(child), NOTIFY_TO_NONE); ui_window_resize_with_margin(&layout->term.scrollbar.window, ACTUAL_WIDTH(&layout->term.scrollbar.window), ACTUAL_HEIGHT(child), NOTIFY_TO_MYSELF); if (layout->term.sb_mode == SBM_RIGHT) { ui_window_move(&layout->term.scrollbar.window, ACTUAL_WIDTH(&layout->term.screen->window) + SEPARATOR_WIDTH, 0); } } else if (&layout->term.scrollbar.window == child) { if (layout->term.sb_mode == SBM_NONE) { return; } ui_window_resize_with_margin( &layout->window, ACTUAL_WIDTH(child) + ACTUAL_WIDTH(&layout->term.screen->window) + SEPARATOR_WIDTH, ACTUAL_HEIGHT(child), NOTIFY_TO_NONE); if (layout->term.sb_mode == SBM_LEFT) { ui_window_move(&layout->term.screen->window, ACTUAL_WIDTH(&layout->term.scrollbar.window) + SEPARATOR_WIDTH, 0); } } else { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " illegal child. this event should be invoken only by screen.\n"); #endif } } static void window_exposed(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_window_fill_with(win, &((ui_layout_t *)win)->term.screen->window.fg_color, x, y, width, height); } static void key_pressed(ui_window_t *win, XKeyEvent *event) { ui_layout_t *layout; ui_window_t *child; layout = (ui_layout_t *)win; child = get_current_window(layout); /* dispatch to screen */ (*child->key_pressed)(child, event); } static void utf_selection_notified(ui_window_t *win, u_char *buf, size_t len) { ui_layout_t *layout; ui_window_t *child; layout = (ui_layout_t *)win; child = get_current_window(layout); /* dispatch to screen */ (*child->utf_selection_notified)(child, buf, len); } static void xct_selection_notified(ui_window_t *win, u_char *buf, size_t len) { ui_layout_t *layout; ui_window_t *child; layout = (ui_layout_t *)win; child = get_current_window(layout); /* dispatch to screen */ (*child->xct_selection_notified)(child, buf, len); } #ifndef DISABLE_XDND static void set_xdnd_config(ui_window_t *win, char *dev, char *buf, char *value) { ui_layout_t *layout; ui_window_t *child; layout = (ui_layout_t *)win; child = get_current_window(layout); /* dispatch to screen */ (*child->set_xdnd_config)(child, dev, buf, value); } #endif static void window_deleted_intern(struct terminal *term) { /* dispatch to screen */ (*term->screen->window.window_deleted)(&term->screen->window); if (term->next[0]) { window_deleted_intern(term->next[0]); } if (term->next[1]) { window_deleted_intern(term->next[1]); } } static void window_deleted(ui_window_t *win) { ui_layout_t *layout; layout = (ui_layout_t *)win; window_deleted_intern(&layout->term); } #ifndef USE_QUARTZ static void change_sb_mode_intern(struct terminal *term, ui_sb_mode_t new_mode, int dynamic_change); static void check_scrollbar_visible(struct terminal *term) { if (term->autohide_scrollbar && term->sb_mode == SBM_RIGHT) { if (term->scrollbar.window.button_is_pressing) { term->idling_count = 0; } else if (++term->idling_count == 30) { term->idling_count = 0; change_sb_mode_intern(term, SBM_NONE, 1); } } if (term->next[0]) { check_scrollbar_visible(term->next[0]); } if (term->next[1]) { check_scrollbar_visible(term->next[1]); } } static void window_idling(ui_window_t *win) { ui_layout_t *layout; layout = (ui_layout_t *)win; check_scrollbar_visible(&layout->term); } #endif #if 0 /* * Overriding methods of ui_scrollbar_t. */ static void sb_key_pressed(ui_window_t *win, XKeyEvent *event) { struct terminal term; ui_screen_t **screen; screen = ((void *)win) - (((void *)&term.scrollbar) - ((void *)&term.screen)); /* dispatch to screen */ (*(*screen)->window.key_pressed)(&(*screen)->window, event); } #endif /* * Overriding methods of vt_screen_listener_t of ui_screen_t. */ static void line_scrolled_out(void *p /* must be ui_screen_t(, or child of ui_layout_t) */ ) { ui_layout_t *layout; struct terminal *term; layout = UI_SCREEN_TO_LAYOUT((ui_screen_t *)p); (*layout->line_scrolled_out)(p); if ((term = search_term(&layout->term, p))) { if (vt_term_log_size_is_unlimited(((ui_screen_t *)p)->term)) { ui_scrollbar_set_num_log_lines(&term->scrollbar, vt_term_get_log_size(((ui_screen_t *)p)->term)); } ui_scrollbar_line_is_added(&term->scrollbar); } } /* * callbacks of ui_sb_event_listener_t events. */ static int screen_scroll_to(void *p, int row) { struct terminal *term; term = p; ui_screen_scroll_to(term->screen, row); return 1; } static int screen_scroll_upward(void *p, u_int size) { struct terminal *term; term = p; ui_screen_scroll_upward(term->screen, size); return 1; } static int screen_scroll_downward(void *p, u_int size) { struct terminal *term; term = p; ui_screen_scroll_downward(term->screen, size); return 1; } static int screen_is_static(void *p) { struct terminal *term; term = p; if (vt_term_is_backscrolling(term->screen->term) == BSM_STATIC) { return 1; } else { return 0; } } /* * callbacks of ui_screen_scroll_event_listener_t events. */ static void bs_mode_exited(void *p) { struct terminal *term; term = p; ui_scrollbar_reset(&term->scrollbar); } static void scrolled_upward(void *p, u_int size) { struct terminal *term; term = p; ui_scrollbar_move_downward(&term->scrollbar, size); } static void scrolled_downward(void *p, u_int size) { struct terminal *term; term = p; ui_scrollbar_move_upward(&term->scrollbar, size); } static void scrolled_to(void *p, int row) { struct terminal *term; term = p; ui_scrollbar_move(&term->scrollbar, row); } static void log_size_changed(void *p, u_int log_size) { struct terminal *term; term = p; ui_scrollbar_set_num_log_lines(&term->scrollbar, log_size); } static void line_height_changed(void *p, u_int line_height) { struct terminal *term; term = p; ui_scrollbar_set_line_height(&term->scrollbar, line_height); } static void change_fg_color(void *p, char *color) { struct terminal *term; term = p; ui_scrollbar_set_fg_color(&term->scrollbar, color); } static char *get_fg_color(void *p) { struct terminal *term; term = p; return term->scrollbar.fg_color; } static void change_bg_color(void *p, char *color) { struct terminal *term; term = p; ui_scrollbar_set_bg_color(&term->scrollbar, color); } static char *get_bg_color(void *p) { struct terminal *term; term = p; return term->scrollbar.bg_color; } static void change_view(void *p, char *name) { struct terminal *term; term = p; ui_scrollbar_change_view(&term->scrollbar, name); } static char *get_view_name(void *p) { struct terminal *term; term = p; return term->scrollbar.view_name; } static void transparent_state_changed(void *p, int is_transparent, ui_picture_modifier_t *pic_mod) { struct terminal *term; term = p; if (is_transparent == 1) { ui_scrollbar_set_transparent(&term->scrollbar, pic_mod, 1); } else { ui_scrollbar_unset_transparent(&term->scrollbar); } } static ui_sb_mode_t sb_mode(void *p) { struct terminal *term; term = p; if (term->autohide_scrollbar) { return SBM_AUTOHIDE; } else { return term->sb_mode; } } static void screen_color_changed(void *p) { ui_layout_t *layout; layout = UI_SCREEN_TO_LAYOUT(((struct terminal *)p)->screen); if (&layout->term == p) { ui_window_set_fg_color(&layout->window, &layout->term.screen->window.fg_color); ui_window_set_bg_color(&layout->window, &layout->term.screen->window.bg_color); } } static u_int total_width(struct terminal *term) { u_int width; width = ACTUAL_WIDTH(&term->screen->window); if (term->sb_mode != SBM_NONE) { width += (ACTUAL_WIDTH(&term->scrollbar.window) + SEPARATOR_WIDTH); } if (term->separator_x > 0 && term->next[0]) { width += (total_width(term->next[0]) + SEPARATOR_WIDTH); } return width; } static u_int total_height(struct terminal *term) { u_int height; height = ACTUAL_HEIGHT(&term->screen->window); if (term->separator_y > 0 && term->next[1]) { height += (total_height(term->next[1]) + SEPARATOR_HEIGHT); } return height; } /* XXX */ static void total_hint_size(struct terminal *term, u_int *width, u_int *height, u_int *width_inc, u_int *height_inc) { u_int size; if (*width_inc < (size = ui_col_width(term->screen))) { *width_inc = size; } if (*height_inc < (size = ui_line_height(term->screen))) { *height_inc = size; } if (term->sb_mode != SBM_NONE) { *width += SEPARATOR_WIDTH; } if (term->next[0]) { *width += SEPARATOR_WIDTH; total_hint_size(term->next[0], width, height, width_inc, height_inc); } if (term->next[1]) { *height += SEPARATOR_HEIGHT; total_hint_size(term->next[1], width, height, width_inc, height_inc); } } static void update_normal_hints(ui_layout_t *layout) { u_int min_width = 0; u_int min_height = 0; u_int width_inc = 0; u_int height_inc = 0; total_hint_size(&layout->term, &min_width, &min_height, &width_inc, &height_inc); ui_window_set_normal_hints(&layout->window, min_width, min_height, width_inc, height_inc); } #ifndef USE_QUARTZ static int need_idling_event(struct terminal *term) { if (!term->autohide_scrollbar && (!term->next[0] || !need_idling_event(term->next[0])) && (!term->next[1] || !need_idling_event(term->next[1]))) { return 0; } else { return 1; } } #endif static void change_sb_mode_intern(struct terminal *term, ui_sb_mode_t new_mode, int dynamic_change) { ui_layout_t *layout; ui_sb_mode_t old_mode; layout = UI_SCREEN_TO_LAYOUT(term->screen); if (new_mode == SBM_AUTOHIDE) { if (term->autohide_scrollbar) { return; } new_mode = SBM_NONE; term->autohide_scrollbar = 1; ui_window_add_event_mask(&term->screen->window, PointerMotionMask); #ifndef USE_QUARTZ layout->window.idling = window_idling; #endif } else if (!dynamic_change) { term->autohide_scrollbar = 0; ui_window_remove_event_mask(&term->screen->window, PointerMotionMask); (*term->screen->xterm_listener.set_mouse_report)(term->screen->xterm_listener.self); #ifndef USE_QUARTZ if (!need_idling_event(&layout->term)) { layout->window.idling = NULL; } #endif } if ((old_mode = term->sb_mode) == new_mode) { return; } /* * term->sb_mode should be changed before ui_window_unmap/ui_window_map * for framebuffer. (see fb/ui_window.c) */ term->sb_mode = new_mode; if (new_mode == SBM_NONE) { ui_window_unmap(&term->scrollbar.window); } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF else if (old_mode == SBM_NONE) { /* scrollbar's height may have been changed. */ ui_window_resize_with_margin(&term->scrollbar.window, ACTUAL_WIDTH(&term->scrollbar.window), ACTUAL_HEIGHT(&term->screen->window), NOTIFY_TO_MYSELF); /* Don't call ui_window_map() because scrollbar's position may be * inappropriate. */ term->scrollbar.window.is_mapped = 1; term->scrollbar.window.x = -1; /* To redraw scrollbar in ui_window_move() */ if (new_mode == SBM_LEFT) { /* Shrink window size before ui_window_move() in reset_layout(). */ ui_window_resize_with_margin(&term->screen->window, ACTUAL_WIDTH(&term->screen->window) - SCROLLBAR_WIDTH(term->scrollbar), ACTUAL_HEIGHT(&term->screen->window), 0); } } reset_layout(&layout->term, 0, 0, layout->window.width, layout->window.height); if (new_mode == SBM_NONE) { /* Window size was enlarged but not exposed. */ (*term->screen->window.window_exposed)( &term->screen->window, ACTUAL_WIDTH(&term->screen->window) - SCROLLBAR_WIDTH(term->scrollbar), 0, SCROLLBAR_WIDTH(term->scrollbar), ACTUAL_HEIGHT(&term->screen->window)); } #else else if (old_mode == SBM_NONE) { ui_window_map(&term->scrollbar.window); #ifdef MANAGE_SUB_WINDOWS_BY_MYSELF /* To show hidden scrollbar whose size and position aren't changed. (for wayland) */ term->scrollbar.window.x = -1; /* To redraw scrollbar in ui_window_move() */ #endif } else { goto noresize; } if ((term->screen->window.x + ACTUAL_WIDTH(&term->screen->window) + (old_mode != SBM_NONE ? SCROLLBAR_WIDTH(term->scrollbar) : 0) < ACTUAL_WIDTH(&layout->window)) || !ui_window_resize(&layout->window, total_width(&layout->term), total_height(&layout->term), NOTIFY_TO_MYSELF)) { noresize: reset_layout(&layout->term, 0, 0, layout->window.width, layout->window.height); } #endif update_normal_hints(layout); } static void change_sb_mode(void *p, ui_sb_mode_t new_mode) { change_sb_mode_intern(p, new_mode, 0); } static void term_changed(void *p, u_int log_size, u_int logged_lines) { struct terminal *term; term = p; ui_scrollbar_set_num_log_lines(&term->scrollbar, log_size); ui_scrollbar_set_num_filled_log_lines(&term->scrollbar, logged_lines); } static void screen_pointer_motion(ui_window_t *win, XMotionEvent *event) { struct terminal *term; ui_layout_t *layout; layout = UI_SCREEN_TO_LAYOUT((ui_screen_t *)win); (*layout->pointer_motion)(win, event); term = search_term(&layout->term, (ui_screen_t *)win); if (term->autohide_scrollbar) { ui_sb_mode_t mode; if (((int)win->width) - 2 <= event->x && 0 <= event->y && event->y < win->height) { if (term->scrollbar.window.is_mapped) { return; } mode = SBM_RIGHT; } else { if (!term->scrollbar.window.is_mapped) { return; } mode = SBM_NONE; } change_sb_mode_intern(term, mode, 1); } } static void delete_term(struct terminal *term) { ui_scrollbar_final(&term->scrollbar); if (term->next[0]) { delete_term(term->next[0]); free(term->next[0]); } if (term->next[1]) { delete_term(term->next[1]); free(term->next[1]); } } static void delete_screen_bg_pic(ui_screen_t *screen) { free(screen->pic_file_path); screen->pic_file_path = NULL; ui_release_picture(screen->bg_pic); screen->bg_pic = NULL; } static void delete_layout_bg_pic(ui_layout_t *layout) { free(layout->pic_file_path); layout->pic_file_path = NULL; ui_release_picture(layout->bg_pic); layout->bg_pic = NULL; } static void save_screen_bg_pic(ui_layout_t *layout) { /* layout->bg_pic has been already set. */ ui_release_picture(layout->term.screen->bg_pic); layout->term.screen->bg_pic = NULL; layout->pic_file_path = layout->term.screen->pic_file_path; layout->term.screen->pic_file_path = NULL; layout->pic_mod = layout->term.screen->pic_mod; } static void restore_screen_bg_pic(ui_layout_t *layout) { layout->term.screen->pic_file_path = layout->pic_file_path; layout->pic_file_path = NULL; layout->term.screen->bg_pic = layout->bg_pic; layout->bg_pic = NULL; layout->term.screen->pic_mod = layout->pic_mod; } /* --- global functions --- */ ui_layout_t *ui_layout_new(ui_screen_t *screen, char *view_name, char *fg_color, char *bg_color, ui_sb_mode_t mode, u_int hmargin, u_int vmargin) { ui_layout_t *layout; u_int actual_width; u_int min_width; int screen_x; int sb_x; int sb_map; if ((layout = calloc(1, sizeof(ui_layout_t))) == NULL) { return NULL; } /* * event callbacks. */ layout->term.sb_listener.self = &layout->term; layout->term.sb_listener.screen_scroll_to = screen_scroll_to; layout->term.sb_listener.screen_scroll_upward = screen_scroll_upward; layout->term.sb_listener.screen_scroll_downward = screen_scroll_downward; layout->term.sb_listener.screen_is_static = screen_is_static; if (ui_scrollbar_init( &layout->term.scrollbar, &layout->term.sb_listener, view_name, fg_color, bg_color, ACTUAL_HEIGHT(&screen->window), ui_line_height(screen), vt_term_get_log_size(screen->term), vt_term_get_num_logged_lines(screen->term), screen->window.is_transparent, ui_screen_get_picture_modifier(screen)) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_scrollbar_init() failed.\n"); #endif goto error; } #if 0 layout->term.scrollbar.window.key_pressed = sb_key_pressed; #endif layout->term.screen = screen; /* * event callbacks. */ layout->term.screen_scroll_listener.self = &layout->term; layout->term.screen_scroll_listener.bs_mode_entered = NULL; layout->term.screen_scroll_listener.bs_mode_exited = bs_mode_exited; layout->term.screen_scroll_listener.scrolled_upward = scrolled_upward; layout->term.screen_scroll_listener.scrolled_downward = scrolled_downward; layout->term.screen_scroll_listener.scrolled_to = scrolled_to; layout->term.screen_scroll_listener.log_size_changed = log_size_changed; layout->term.screen_scroll_listener.line_height_changed = line_height_changed; layout->term.screen_scroll_listener.change_fg_color = change_fg_color; layout->term.screen_scroll_listener.fg_color = get_fg_color; layout->term.screen_scroll_listener.change_bg_color = change_bg_color; layout->term.screen_scroll_listener.bg_color = get_bg_color; layout->term.screen_scroll_listener.change_view = change_view; layout->term.screen_scroll_listener.view_name = get_view_name; layout->term.screen_scroll_listener.transparent_state_changed = transparent_state_changed; layout->term.screen_scroll_listener.sb_mode = sb_mode; layout->term.screen_scroll_listener.change_sb_mode = change_sb_mode; layout->term.screen_scroll_listener.term_changed = term_changed; layout->term.screen_scroll_listener.screen_color_changed = screen_color_changed; ui_set_screen_scroll_listener(screen, &layout->term.screen_scroll_listener); layout->line_scrolled_out = screen->screen_listener.line_scrolled_out; screen->screen_listener.line_scrolled_out = line_scrolled_out; if (mode == SBM_AUTOHIDE) { layout->term.sb_mode = SBM_NONE; layout->term.autohide_scrollbar = 1; } else { layout->term.sb_mode = mode; } layout->pointer_motion = screen->window.pointer_motion; screen->window.pointer_motion = screen_pointer_motion; if (layout->term.sb_mode == SBM_NONE) { actual_width = ACTUAL_WIDTH(&screen->window); min_width = 0; } else { actual_width = ACTUAL_WIDTH(&screen->window) + SCROLLBAR_WIDTH(layout->term.scrollbar); min_width = SEPARATOR_WIDTH; } if (ui_window_init(&layout->window, actual_width, ACTUAL_HEIGHT(&screen->window), min_width, 0, 0, 0, hmargin, vmargin, 0, 0) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_window_init() failed.\n"); #endif goto error; } if (layout->term.sb_mode == SBM_RIGHT) { screen_x = 0; sb_x = ACTUAL_WIDTH(&screen->window) + SEPARATOR_WIDTH; sb_map = 1; } else if (layout->term.sb_mode == SBM_LEFT) { screen_x = ACTUAL_WIDTH(&layout->term.scrollbar.window) + SEPARATOR_WIDTH; sb_x = 0; sb_map = 1; } else /* if( layout->term.sb_mode == SBM_NONE) */ { screen_x = sb_x = 0; /* overlaying scrollbar window */ sb_map = 0; } orig_window_focused = screen->window.window_focused; orig_xterm_set_window_name = screen->xterm_listener.set_window_name; orig_xterm_set_icon_name = screen->xterm_listener.set_icon_name; screen->window.window_focused = window_focused; screen->xterm_listener.set_window_name = xterm_set_window_name; screen->xterm_listener.set_icon_name = xterm_set_icon_name; if (!ui_window_add_child(&layout->window, &layout->term.scrollbar.window, sb_x, 0, sb_map) || !ui_window_add_child(&layout->window, &screen->window, screen_x, 0, 1)) { goto error; } /* * event call backs. */ ui_window_add_event_mask(&layout->window, KeyPressMask); layout->window.window_finalized = window_finalized; layout->window.window_resized = window_resized; layout->window.child_window_resized = child_window_resized; layout->window.window_exposed = window_exposed; layout->window.key_pressed = key_pressed; layout->window.utf_selection_notified = utf_selection_notified; layout->window.xct_selection_notified = xct_selection_notified; layout->window.window_deleted = window_deleted; #ifndef DISABLE_XDND layout->window.set_xdnd_config = set_xdnd_config; #endif if (layout->term.autohide_scrollbar) { #ifndef USE_QUARTZ layout->window.idling = window_idling; #endif ui_window_add_event_mask(&screen->window, PointerMotionMask); } return layout; error: free(layout); return NULL; } void ui_layout_delete(ui_layout_t *layout) { if (layout->bg_pic) { delete_layout_bg_pic(layout); } delete_term(&layout->term); free(layout); } int ui_layout_add_child(ui_layout_t *layout, ui_screen_t *screen, int horizontal, const char *sep_str /* "XX%" or "XX" */ ) { struct terminal *next; struct terminal *term; u_int sep = 50; int is_percent = 1; if (sep_str) { char *p; if ((p = strchr(sep_str, '%'))) { if (!bl_str_n_to_uint(&sep, sep_str, p - sep_str) || sep >= 100 || sep == 0) { return 0; } } else { if (!bl_str_to_uint(&sep, sep_str) || sep == 0) { return 0; } is_percent = 0; } } if (!(next = calloc(1, sizeof(struct terminal)))) { return 0; } if (!(term = get_current_term(&layout->term))) { term = &layout->term; } if (horizontal) { u_int orig_separator_x; u_int sb_width; orig_separator_x = term->separator_x; if (term->sb_mode != SBM_NONE) { sb_width = SCROLLBAR_WIDTH(term->scrollbar); } else { sb_width = 0; } if (is_percent ? ((term->separator_x = get_separator_x(term->screen, sb_width, sep)) == 0) : ((term->separator_x = screen->window.hmargin * 2 + ui_col_width(term->screen) * sep + sb_width) >= ACTUAL_WIDTH(&term->screen->window) + sb_width)) { term->separator_x = orig_separator_x; free(next); return 0; } next->next[0] = term->next[0]; term->next[0] = next; if (orig_separator_x > 0) { next->separator_x = orig_separator_x - term->separator_x; } } else { u_int orig_separator_y; orig_separator_y = term->separator_y; if (is_percent ? ((term->separator_y = get_separator_y(term->screen, sep)) == 0) : ((term->separator_y = screen->window.vmargin * 2 + ui_line_height(term->screen) * sep) >= ACTUAL_HEIGHT(&term->screen->window))) { term->separator_y = orig_separator_y; free(next); return 0; } if (term->separator_x == 0) { term->yfirst = 1; } next->next[1] = term->next[1]; term->next[1] = next; if (orig_separator_y > 0) { next->separator_y = orig_separator_y - term->separator_y; } } next->sb_listener = term->sb_listener; next->sb_listener.self = next; ui_scrollbar_init( &next->scrollbar, &next->sb_listener, term->scrollbar.view_name, term->scrollbar.fg_color, term->scrollbar.bg_color, ACTUAL_HEIGHT(&screen->window), ui_line_height(screen), vt_term_get_log_size(screen->term), vt_term_get_num_logged_lines(screen->term), screen->window.is_transparent, ui_screen_get_picture_modifier(screen)); #if 0 next->scrollbar.window.key_pressed = sb_key_pressed; #endif ui_window_add_child(&layout->window, &next->scrollbar.window, 0, 0, 0); ui_window_show(&next->scrollbar.window, 0); next->screen_scroll_listener = term->screen_scroll_listener; next->screen_scroll_listener.self = next; next->screen = screen; ui_set_screen_scroll_listener(screen, &next->screen_scroll_listener); screen->screen_listener.line_scrolled_out = line_scrolled_out; screen->window.window_focused = window_focused; screen->xterm_listener.set_window_name = xterm_set_window_name; screen->xterm_listener.set_icon_name = xterm_set_icon_name; ui_window_add_child(&layout->window, &screen->window, 0, 0, 0); if (screen->pic_file_path) { delete_screen_bg_pic(screen); } ui_window_show(&screen->window, 0); if (!ui_window_has_wall_picture(&layout->window) && layout->term.screen->pic_file_path) { if ((layout->bg_pic = ui_acquire_bg_picture(&layout->window, &layout->term.screen->pic_mod, layout->term.screen->pic_file_path))) { save_screen_bg_pic(layout); ui_window_set_wall_picture(&layout->window, layout->bg_pic->pixmap, 0); #ifdef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE if (layout->window.disp->depth == 4 && strstr(layout->pic_file_path, "six")) { /* * Color pallette of ui_display can be changed by * ui_acquire_bg_picture(). * (see ui_display_set_cmap() called from fb/ui_imagelib.c.) */ reload_color_cache(&layout->term, 1); } #endif } } next->sb_mode = term->sb_mode; if ((next->autohide_scrollbar = term->autohide_scrollbar)) { ui_window_add_event_mask(&screen->window, PointerMotionMask); } screen->window.pointer_motion = screen_pointer_motion; reset_layout(&layout->term, 0, 0, layout->window.width, layout->window.height); if (term->sb_mode != SBM_NONE) { ui_window_map(&next->scrollbar.window); } ui_window_map(&screen->window); ui_window_set_input_focus(&term->screen->window); update_normal_hints(layout); return 1; } int ui_layout_remove_child(ui_layout_t *layout, ui_screen_t *screen) { struct terminal *term; int idx2; #ifndef MANAGE_SUB_WINDOWS_BY_MYSELF u_int w_surplus; u_int h_surplus; #endif if (!HAS_MULTI_CHILDREN(layout)) { return 0; } term = search_term(&layout->term, screen); ui_scrollbar_final(&term->scrollbar); ui_window_unmap(&term->scrollbar.window); ui_window_final(&term->scrollbar.window); if (term->yfirst) { idx2 = 0; } else { idx2 = 1; } if (!term->next[idx2]) { idx2 = !idx2; } if (term == &layout->term) { struct terminal *next; if (idx2 == 0) { if (term->separator_y > 0) { term->next[0]->separator_y = term->separator_y; } } else { if (term->separator_x > 0) { term->next[1]->separator_x = term->separator_x; } } term->next[idx2]->yfirst = term->yfirst; next = term->next[idx2]; if (term->next[!idx2]) { struct terminal *parent; parent = search_parent_term(next, NULL); if (parent->next[!idx2] == NULL) { parent->next[!idx2] = term->next[!idx2]; } else { parent->next[idx2] = term->next[!idx2]; } } *term = *next; term->screen_scroll_listener.self = term; ui_set_screen_scroll_listener(term->screen, &term->screen_scroll_listener); term->sb_listener.self = term; term->scrollbar.sb_listener = &term->sb_listener; #ifndef USE_QUARTZ term->scrollbar.view->win = &term->scrollbar.window; #endif term = next; } else { struct terminal *parent; int idx; parent = search_parent_term(&layout->term, term); if (parent->next[0] == term) { idx = 0; } else { idx = 1; } if (term->next[idx2]) { if (idx2 == 0) { if (term->separator_y > 0) { term->next[0]->separator_y = term->separator_y; } } else { if (term->separator_x > 0) { term->next[1]->separator_x = term->separator_x; } } term->next[idx2]->yfirst = term->yfirst; parent->next[idx] = term->next[idx2]; if (term->next[!idx2]) { parent = search_parent_term(parent->next[idx], NULL); if (parent->next[!idx2] == NULL) { parent->next[!idx2] = term->next[!idx2]; } else { parent->next[idx2] = term->next[!idx2]; } } } else { parent->next[idx] = NULL; if (idx == 0) { parent->separator_x = 0; } else { parent->separator_y = 0; } } } ui_window_remove_child(&layout->window, &term->scrollbar.window); ui_window_remove_child(&layout->window, &screen->window); ui_window_unmap(&screen->window); if (layout->bg_pic && !HAS_MULTI_CHILDREN(layout)) { restore_screen_bg_pic(layout); ui_window_unset_wall_picture(&layout->window, 0); } #ifndef MANAGE_SUB_WINDOWS_BY_MYSELF if (!HAS_MULTI_CHILDREN(layout)) { w_surplus = (layout->window.width - layout->term.screen->window.hmargin * 2 - (layout->term.sb_mode != SBM_NONE ? SCROLLBAR_WIDTH(layout->term.scrollbar) : 0)) % ui_col_width(layout->term.screen); h_surplus = (layout->window.height - layout->term.screen->window.vmargin * 2) % ui_line_height(layout->term.screen); } else { w_surplus = h_surplus = 0; } if (w_surplus > 0 || h_surplus > 0) { ui_window_resize(&layout->window, layout->window.width - w_surplus, layout->window.height - h_surplus, NOTIFY_TO_MYSELF); } else #endif { reset_layout(&layout->term, 0, 0, layout->window.width, layout->window.height); } update_normal_hints(layout); #ifndef MANAGE_SUB_WINDOWS_BY_MYSELF if (ui_screen_attached(screen)) { /* Revert to the original size. */ ui_window_resize_with_margin( &screen->window, ACTUAL_WIDTH(&layout->window) - (term->sb_mode != SBM_NONE ? SCROLLBAR_WIDTH(term->scrollbar) : 0), ACTUAL_HEIGHT(&layout->window), NOTIFY_TO_MYSELF); } #endif free(term); ui_window_set_input_focus(&layout->term.screen->window); /* See window_focused() above */ if (!HAS_MULTI_CHILDREN(layout)) { update_title(layout->term.screen); } #ifndef USE_QUARTZ if (layout->window.idling && !need_idling_event(&layout->term)) { layout->window.idling = NULL; } #endif return 1; } int ui_layout_switch_screen(ui_layout_t *layout, int prev) { ui_screen_t *screen; if (!HAS_MULTI_CHILDREN(layout)) { return 0; } if (prev) { screen = NULL; search_prev_screen(&layout->term, (ui_screen_t *)get_current_window(layout), &screen); } else { int found = 0; if (!(screen = search_next_screen(&layout->term, (ui_screen_t *)get_current_window(layout), &found))) { screen = layout->term.screen; } } ui_window_set_input_focus(&screen->window); return 1; } int ui_layout_resize(ui_layout_t *layout, ui_screen_t *screen, int horizontal, int step) { struct terminal *term; struct terminal *child = NULL; if (step == 0) { return 0; } if (!(term = get_current_term(&layout->term))) { term = &layout->term; } if (horizontal) { while (term->separator_x == 0) { if (!(term = search_parent_term(&layout->term, (child = term)))) { return 0; } } if (term->next[0] == child) { step = -step; } step *= ui_col_width(term->screen); if (step < 0 && term->separator_x < abs(step)) { return 0; } term->separator_x += step; } else { while (term->separator_y == 0) { if (!(term = search_parent_term(&layout->term, (child = term)))) { return 0; } } if (term->next[1] == child) { step = -step; } step *= ui_line_height(term->screen); if (step < 0 && term->separator_y < abs(step)) { return 0; } term->separator_y += step; } reset_layout(&layout->term, 0, 0, layout->window.width, layout->window.height); return 1; } mlterm-3.8.4/uitoolkit/ui_color_cache.c010064400017600000144000000152031321054731200166500ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_color_cache.h" #include #include /* --- static variables --- */ static ui_color_cache_t **color_caches; static u_int num_caches; /* --- static functions --- */ static ui_color_cache_256ext_t *acquire_color_cache_256ext(ui_display_t *disp) { u_int count; ui_color_cache_256ext_t *cache; for (count = 0; count < num_caches; count++) { if (color_caches[count]->disp == disp && color_caches[count]->cache_256ext) { color_caches[count]->cache_256ext->ref_count++; return color_caches[count]->cache_256ext; } } if ((cache = calloc(1, sizeof(ui_color_cache_256ext_t))) == NULL) { return NULL; } cache->ref_count = 1; return cache; } static ui_color_t *get_cached_256ext_xcolor(ui_color_cache_t *color_cache, vt_color_t color) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (!IS_256EXT_COLOR(color)) { return NULL; } if (!color_cache->cache_256ext && !(color_cache->cache_256ext = acquire_color_cache_256ext(color_cache->disp))) { return NULL; } if (color_cache->cache_256ext->is_loaded[color - 16]) { if (IS_256_COLOR(color) || !vt_ext_color_is_changed(color)) { return &color_cache->cache_256ext->xcolors[color - 16]; } else { u_int count; for (count = 0; count < num_caches; count++) { if (color_caches[count]->cache_256ext) { ui_unload_xcolor(color_caches[count]->disp, &color_caches[count]->cache_256ext->xcolors[color - 16]); color_caches[count]->cache_256ext->is_loaded[color - 16] = 0; } } } } if (!vt_get_color_rgba(color, &red, &green, &blue, &alpha) || !ui_load_rgb_xcolor(color_cache->disp, &color_cache->cache_256ext->xcolors[color - 16], red, green, blue, alpha)) { return NULL; } /* * 16-479 colors ignore color_cache->fade_ratio. */ #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " new color %x %x\n", color, color_cache->cache_256ext->xcolors[color - 16].pixel); #endif color_cache->cache_256ext->is_loaded[color - 16] = 1; return &color_cache->cache_256ext->xcolors[color - 16]; } static ui_color_t *get_cached_vtsys_xcolor(ui_color_cache_t *color_cache, vt_color_t color) { u_int8_t red; u_int8_t green; u_int8_t blue; u_int8_t alpha; if (!IS_VTSYS_COLOR(color)) { return NULL; } if (color_cache->is_loaded[color]) { return &color_cache->xcolors[color]; } if (!vt_get_color_rgba(color, &red, &green, &blue, &alpha) || !ui_load_rgb_xcolor(color_cache->disp, &color_cache->xcolors[color], red, green, blue, alpha)) { return NULL; } if (color_cache->fade_ratio < 100) { if (!ui_xcolor_fade(color_cache->disp, &color_cache->xcolors[color], color_cache->fade_ratio)) { return NULL; } } #ifdef DEBUG #ifdef UI_COLOR_HAS_RGB bl_debug_printf(BL_DEBUG_TAG " new color %x red %x green %x blue %x\n", color, color_cache->xcolors[color].red, color_cache->xcolors[color].green, color_cache->xcolors[color].blue); #endif #endif color_cache->is_loaded[color] = 1; return &color_cache->xcolors[color]; } /* --- global functions --- */ ui_color_cache_t *ui_acquire_color_cache(ui_display_t *disp, u_int8_t fade_ratio) { u_int count; ui_color_cache_t *color_cache; void *p; for (count = 0; count < num_caches; count++) { if (color_caches[count]->disp == disp && color_caches[count]->fade_ratio == fade_ratio) { color_caches[count]->ref_count++; return color_caches[count]; } } if ((p = realloc(color_caches, sizeof(ui_color_cache_t*) * (num_caches + 1))) == NULL) { return NULL; } color_caches = p; if ((color_cache = calloc(1, sizeof(ui_color_cache_t))) == NULL) { return NULL; } color_cache->disp = disp; color_cache->fade_ratio = fade_ratio; if (!ui_load_rgb_xcolor(color_cache->disp, &color_cache->black, 0, 0, 0, 0xff)) { free(color_cache); return NULL; } color_cache->ref_count = 1; color_caches[num_caches++] = color_cache; return color_cache; } void ui_release_color_cache(ui_color_cache_t *color_cache) { u_int count; if (--color_cache->ref_count > 0) { return; } for (count = 0; count < num_caches; count++) { if (color_caches[count] == color_cache) { color_caches[count] = color_caches[--num_caches]; ui_color_cache_unload(color_cache); ui_unload_xcolor(color_cache->disp, &color_cache->black); free(color_cache); if (num_caches == 0) { free(color_caches); color_caches = NULL; } return; } } } void ui_color_cache_unload(ui_color_cache_t *color_cache) { vt_color_t color; for (color = 0; color < sizeof(color_cache->xcolors) / sizeof(color_cache->xcolors[0]); color++) { if (color_cache->is_loaded[color]) { ui_unload_xcolor(color_cache->disp, &color_cache->xcolors[color]); color_cache->is_loaded[color] = 0; } } if (color_cache->cache_256ext && --color_cache->cache_256ext->ref_count == 0) { ui_color_cache_256ext_t *cache_256ext; cache_256ext = color_cache->cache_256ext; for (color = 0; color < sizeof(cache_256ext->xcolors) / sizeof(cache_256ext->xcolors[0]); color++) { if (cache_256ext->is_loaded[color]) { ui_unload_xcolor(color_cache->disp, &cache_256ext->xcolors[color]); cache_256ext->is_loaded[color] = 0; } } free(cache_256ext); color_cache->cache_256ext = NULL; } } void ui_color_cache_unload_all(void) { u_int count; for (count = 0; count < num_caches; count++) { ui_color_cache_unload(color_caches[count]); } } /* Not cached */ int ui_load_xcolor(ui_color_cache_t *color_cache, ui_color_t *xcolor, char *name) { if (!ui_load_named_xcolor(color_cache->disp, xcolor, name)) { return 0; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " new color %x\n", xcolor->pixel); #endif if (color_cache->fade_ratio < 100) { if (!ui_xcolor_fade(color_cache->disp, xcolor, color_cache->fade_ratio)) { return 0; } } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " new color %s %x\n", name, xcolor->pixel); #endif return 1; } /* Always return non-null value. */ ui_color_t *ui_get_cached_xcolor(ui_color_cache_t *color_cache, vt_color_t color) { ui_color_t *xcolor; if ((xcolor = get_cached_vtsys_xcolor(color_cache, color))) { return xcolor; } if ((xcolor = get_cached_256ext_xcolor(color_cache, color))) { return xcolor; } bl_msg_printf("Loading color 0x%x failed. Using black color instead.\n", color); return &color_cache->black; } mlterm-3.8.4/uitoolkit/ui_simple_sb_view.c010064400017600000144000000151521321054731200174210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include #include #include "ui_sb_view.h" #include "ui_window.h" #define TOP_MARGIN 14 #define BOTTOM_MARGIN 14 #define HEIGHT_MARGIN (TOP_MARGIN + BOTTOM_MARGIN) #define WIDTH 13 typedef struct simple_sb_view { ui_sb_view_t view; ui_color_t black; ui_color_t white; int is_transparent; } simple_sb_view_t; /* --- static variables --- */ static char *arrow_up_src[] = {" ", " -----------#", " -----#-----#", " -----#-----#", " ----###----#", " ----###----#", " ---#####---#", " ---#####---#", " --#######--#", " --#######--#", " -#########-#", " -----------#", " -----------#", "#############" }; static char *arrow_down_src[] = {" ", " -----------#", " -----------#", " -#########-#", " --#######--#", " --#######--#", " ---#####---#", " ---#####---#", " ----###----#", " ----###----#", " -----#-----#", " -----#-----#", " -----------#", "#############" }; static char *arrow_up_dent_src[] = { " ", " -----------#", " ----- -----#", " ----- -----#", " ---- ----#", " ---- ----#", " --- ---#", " --- ---#", " -- --#", " -- --#", " - -#", " -----------#", " -----------#", "#############" }; static char *arrow_down_dent_src[] = { " ", " -----------#", " -----------#", " - -#", " -- --#", " -- --#", " --- ---#", " --- ---#", " ---- ----#", " ---- ----#", " ----- -----#", " ----- -----#", " -----------#", "#############" }; /* --- static functions --- */ static size_t count_char(char c, char *str) { char *p; p = str; while (*p == c) { p++; } return p - str; } static int draw_icon(ui_sb_view_t *view, int x, int y, char **data, unsigned int width, unsigned int height) { simple_sb_view_t *simple_sb; int x_off; int y_off; simple_sb = (simple_sb_view_t*)view; if (simple_sb->is_transparent) { ui_window_clear(view->win, x, y, width, height); } for (y_off = 0; y_off < height; y_off++) { for (x_off = 0; x_off < width;) { size_t count; count = count_char(data[y_off][x_off], data[y_off] + x_off); if (data[y_off][x_off] == '-') { if (!simple_sb->is_transparent) { ui_window_fill(view->win, x + x_off, y + y_off, count, 1); } } else if (data[y_off][x_off] == '#') { ui_window_fill_with(view->win, &simple_sb->black, x + x_off, y + y_off, count, 1); } else { ui_window_fill_with(view->win, &simple_sb->white, x + x_off, y + y_off, count, 1); } x_off += count; } } return 1; } static void get_geometry_hints(ui_sb_view_t *view, unsigned int *width, unsigned int *top_margin, unsigned int *bottom_margin, int *up_button_y, unsigned int *up_button_height, int *down_button_y, unsigned int *down_button_height) { *width = WIDTH; *top_margin = TOP_MARGIN; *bottom_margin = BOTTOM_MARGIN; *up_button_y = 0; *up_button_height = TOP_MARGIN; *down_button_y = -BOTTOM_MARGIN; *down_button_height = BOTTOM_MARGIN; } static void get_default_color(ui_sb_view_t *view, char **fg_color, char **bg_color) { *fg_color = "gray"; *bg_color = "lightgray"; } static void realized(ui_sb_view_t *view, Display *display, int screen, Window window, GC gc, unsigned int height) { simple_sb_view_t *simple_sb; simple_sb = (simple_sb_view_t*)view; view->display = display; view->screen = screen; view->window = window; view->gc = gc; view->height = height; ui_load_rgb_xcolor(view->win->disp, &simple_sb->black, 0x00, 0x00, 0x00, 0xff); ui_load_rgb_xcolor(view->win->disp, &simple_sb->white, 0xff, 0xff, 0xff, 0xff); } static void resized(ui_sb_view_t *view, Window window, unsigned int height) { view->window = window; view->height = height; } static void delete (ui_sb_view_t *view) { free(view); } static void draw_arrow_up_icon(ui_sb_view_t *view, int is_dent) { draw_icon(view, 0, 0, is_dent ? arrow_up_dent_src : arrow_up_src, WIDTH, TOP_MARGIN); } static void draw_arrow_down_icon(ui_sb_view_t *view, int is_dent) { draw_icon(view, 0, view->height - BOTTOM_MARGIN, is_dent ? arrow_down_dent_src : arrow_down_src, WIDTH, BOTTOM_MARGIN); } static void draw_scrollbar(ui_sb_view_t *view, int bar_top_y, unsigned int bar_height) { simple_sb_view_t *simple_sb; simple_sb = (simple_sb_view_t*)view; /* drawing bar */ if (simple_sb->is_transparent) { ui_window_clear(view->win, 1, bar_top_y, WIDTH - 1, bar_height); } else { ui_window_fill(view->win, 1, bar_top_y, WIDTH - 1, bar_height); } /* left side shade */ ui_window_fill_with(view->win, &simple_sb->white, 0, bar_top_y, 1, bar_height); /* up side shade */ ui_window_fill_with(view->win, &simple_sb->white, 0, bar_top_y, WIDTH, 1); /* right side shade */ ui_window_fill_with(view->win, &simple_sb->black, WIDTH - 1, bar_top_y, 1, bar_height); /* down side shade */ ui_window_fill_with(view->win, &simple_sb->black, 1, bar_top_y + bar_height - 1, WIDTH, 1); } static void draw_background(ui_sb_view_t *view, int y, unsigned int height) { ui_window_clear(view->win, 0, y, WIDTH, height); } static void draw_up_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_up_icon(view, is_pressed); } static void draw_down_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_down_icon(view, is_pressed); } /* --- global functions --- */ ui_sb_view_t *ui_simple_sb_view_new(void) { simple_sb_view_t *simple_sb; if ((simple_sb = calloc(1, sizeof(simple_sb_view_t))) == NULL) { return NULL; } simple_sb->view.version = 1; simple_sb->view.get_geometry_hints = get_geometry_hints; simple_sb->view.get_default_color = get_default_color; simple_sb->view.realized = realized; simple_sb->view.resized = resized; simple_sb->view.delete = delete; simple_sb->view.draw_scrollbar = draw_scrollbar; simple_sb->view.draw_background = draw_background; simple_sb->view.draw_up_button = draw_up_button; simple_sb->view.draw_down_button = draw_down_button; return &simple_sb->view; } ui_sb_view_t *ui_simple_transparent_sb_view_new(void) { simple_sb_view_t *simple_sb; if ((simple_sb = (simple_sb_view_t*)ui_simple_sb_view_new()) == NULL) { return NULL; } simple_sb->is_transparent = 1; return &simple_sb->view; } mlterm-3.8.4/uitoolkit/ui_im_candidate_screen.h010064400017600000144000000046611321054731200203620ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_IM_CANDIDATE_SCREEN_H__ #define __UI_IM_CANDIDATE_SCREEN_H__ #include #include "ui_window.h" #include "ui_display.h" #include "ui_font_manager.h" #include "ui_color_manager.h" typedef struct ui_im_candidate { u_short info; /* to store misc. info from IM plugins */ vt_char_t *chars; u_int num_chars; /* == array size */ u_int filled_len; } ui_im_candidate_t; typedef struct ui_im_candidate_event_listener { void *self; void (*selected)(void *p, u_int index); } ui_im_candidate_event_listener_t; typedef struct ui_im_candidate_screen { ui_window_t window; ui_font_manager_t *font_man; /* same as attached screen */ ui_color_manager_t *color_man; /* same as attached screen */ void *vtparser; /* same as attached screen */ ui_im_candidate_t *candidates; u_int num_candidates; /* == array size */ u_int num_per_window; u_int index; /* current selected index of candidates */ int x; /* not adjusted by window size */ int y; /* not adjusted by window size */ u_int line_height; /* line height of attaced screen */ int8_t is_vertical_term; int8_t is_vertical_direction; int8_t need_redraw; int dummy; /* XXX keep ABI */ /* ui_im_candidate_screen.c -> im plugins */ ui_im_candidate_event_listener_t listener; /* * methods for ui_im_candidate_screen_t which is called from im */ void (*delete)(struct ui_im_candidate_screen *); void (*show)(struct ui_im_candidate_screen *); void (*hide)(struct ui_im_candidate_screen *); int (*set_spot)(struct ui_im_candidate_screen *, int, int); int (*init)(struct ui_im_candidate_screen *, u_int, u_int); int (*set)(struct ui_im_candidate_screen *, ef_parser_t *, u_char *, u_int); int (*select)(struct ui_im_candidate_screen *cand_screen, u_int); } ui_im_candidate_screen_t; ui_im_candidate_screen_t *ui_im_candidate_screen_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, int is_vertical_term, int is_vertical_direction, u_int line_height_of_screen, int x, int y); #endif mlterm-3.8.4/uitoolkit/ui_im_status_screen.c010064400017600000144000000301731321054731200177610ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_im_status_screen.h" #ifdef USE_IM_PLUGIN #include #include #include #include "ui_draw_str.h" #ifdef USE_CONSOLE #define MARGIN 0 #define LINE_SPACE 0 #else #define MARGIN 3 #define LINE_SPACE 2 #endif #ifdef USE_WAYLAND #define DISPLAY(stat_screen) ((stat_screen)->window.disp->display->parent) #else #define DISPLAY(stat_screen) ((stat_screen)->window.disp) #endif /* --- static functions --- */ static void adjust_window_position_by_size(ui_im_status_screen_t *stat_screen, int *x, int *y) { #ifdef USE_WAYLAND if (ACTUAL_HEIGHT(&stat_screen->window) > DISPLAY(stat_screen)->height) { /* do nothing */ } else #endif if (*y + ACTUAL_HEIGHT(&stat_screen->window) > DISPLAY(stat_screen)->height) { *y -= ACTUAL_HEIGHT(&stat_screen->window); if (!stat_screen->is_vertical) { *y -= stat_screen->line_height; } } #ifdef USE_WAYLAND if (ACTUAL_WIDTH(&stat_screen->window) > DISPLAY(stat_screen)->width) { /* do nothing */ } else #endif if (*x + ACTUAL_WIDTH(&stat_screen->window) > DISPLAY(stat_screen)->width) { if (stat_screen->is_vertical) { /* ui_im_stat_screen doesn't know column width. */ *x -= (ACTUAL_WIDTH(&stat_screen->window) + stat_screen->line_height); } else { *x = DISPLAY(stat_screen)->width - ACTUAL_WIDTH(&stat_screen->window); } } } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF static void reset_screen(ui_window_t *win) { ui_display_reset_input_method_window(); ui_window_draw_rect_frame(win, -MARGIN, -MARGIN, win->width + MARGIN - 1, win->height + MARGIN - 1); } #endif static int is_nl(vt_char_t *ch) { return vt_char_cs(ch) == US_ASCII && vt_char_code(ch) == '\n'; } static void draw_screen(ui_im_status_screen_t *stat_screen, int do_resize, int modified_beg /* for canna */ ) { #define MAX_ROWS ((sizeof(stat_screen->head_indexes) / sizeof(stat_screen->head_indexes[0])) - 1) ui_font_t *xfont; u_int line_height; int *heads; u_int i; ui_font_manager_set_attr(stat_screen->font_man, 0, 0); xfont = ui_get_usascii_font(stat_screen->font_man); line_height = xfont->height + LINE_SPACE; heads = stat_screen->head_indexes; /* * resize window */ /* width of window */ if (do_resize) { u_int max_width; u_int tmp_max_width; u_int width; u_int rows; /* The minimum width of normal display is regarded as 640. */ if ((max_width = DISPLAY(stat_screen)->width / 2) < 320) { max_width = 320; } tmp_max_width = 0; width = 0; heads[0] = 0; rows = 1; for (i = 0; i < stat_screen->filled_len; i++) { if (is_nl(&stat_screen->chars[i]) && rows < MAX_ROWS - 1) { if (rows == 1 || tmp_max_width < width) { tmp_max_width = width; } heads[rows++] = i + 1; width = 0; } else { u_int ch_width; ch_width = ui_calculate_char_width( ui_get_font(stat_screen->font_man, vt_char_font(&stat_screen->chars[i])), vt_char_code(&stat_screen->chars[i]), vt_char_cs(&stat_screen->chars[i]), NULL); if (width + ch_width > max_width) { if (rows == 1 || tmp_max_width < width) { tmp_max_width = width; } heads[rows++] = i; if (rows == MAX_ROWS) { /* Characters after max_width at the last line are never shown. */ break; } width = ch_width; } else { width += ch_width; } } } if (width < tmp_max_width) { width = tmp_max_width; } /* for following 'heads[i + 1] - heads[i]' */ heads[rows] = stat_screen->filled_len; if (ui_window_resize(&stat_screen->window, width, line_height * rows, 0)) { int x; int y; x = stat_screen->x; y = stat_screen->y; adjust_window_position_by_size(stat_screen, &x, &y); if (stat_screen->window.x != x || stat_screen->window.y != y) { ui_window_move(&stat_screen->window, x, y); } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF reset_screen(&stat_screen->window); #endif modified_beg = 0; } } for (i = 0; heads[i] < stat_screen->filled_len; i++) { if (heads[i + 1] > modified_beg) { u_int len; len = heads[i + 1] - heads[i]; if (is_nl(&stat_screen->chars[heads[i + 1] - 1])) { len--; } ui_draw_str_to_eol(&stat_screen->window, stat_screen->font_man, stat_screen->color_man, stat_screen->chars + heads[i], len, 0, line_height * i, line_height, xfont->ascent + LINE_SPACE / 2, LINE_SPACE / 2, 1 /* no need to draw underline */, 0); } } } /* * methods of ui_im_status_screen_t */ static void delete(ui_im_status_screen_t *stat_screen) { ui_display_remove_root(stat_screen->window.disp, &stat_screen->window); if (stat_screen->chars) { vt_str_delete(stat_screen->chars, stat_screen->num_chars); } #ifdef USE_REAL_VERTICAL_FONT if (stat_screen->is_vertical) { ui_font_manager_delete(stat_screen->font_man); } #endif free(stat_screen); } static void show(ui_im_status_screen_t *stat_screen) { ui_window_map(&stat_screen->window); } static void hide(ui_im_status_screen_t *stat_screen) { ui_window_unmap(&stat_screen->window); } static int set_spot(ui_im_status_screen_t *stat_screen, int x, int y) { stat_screen->x = x; stat_screen->y = y; adjust_window_position_by_size(stat_screen, &x, &y); if (stat_screen->window.x != x || stat_screen->window.y != y) { ui_window_move(&stat_screen->window, x, y); #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF reset_screen(&stat_screen->window); draw_screen(stat_screen, 0, 0); #endif return 1; } else { return 0; } } static int set(ui_im_status_screen_t *stat_screen, ef_parser_t *parser, u_char *str) { int count; ef_char_t ch; vt_char_t *p; vt_char_t *old_chars; u_int old_num_chars; u_int old_filled_len; int modified_beg; /* * count number of characters to allocate status[index].chars */ (*parser->init)(parser); (*parser->set_str)(parser, str, strlen(str)); for (count = 0; (*parser->next_char)(parser, &ch); count++) ; old_chars = stat_screen->chars; old_num_chars = stat_screen->num_chars; old_filled_len = stat_screen->filled_len; if (!(stat_screen->chars = vt_str_new(count))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_str_new() failed.\n"); #endif return 0; } stat_screen->num_chars = count; stat_screen->filled_len = 0; /* * u_char -> vt_char_t */ (*parser->init)(parser); (*parser->set_str)(parser, str, strlen(str)); p = stat_screen->chars; vt_str_init(p, stat_screen->num_chars); while ((*parser->next_char)(parser, &ch)) { int is_fullwidth = 0; int is_comb = 0; /* -1 (== control sequence) is permitted for \n. */ if (!vt_convert_to_internal_ch(stat_screen->vtparser, &ch)) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } if (is_comb) { if (vt_char_combine(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } if (vt_is_msb_set(ch.cs)) { SET_MSB(ch.ch[0]); } vt_char_set(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); p++; stat_screen->filled_len++; } for (modified_beg = 0; modified_beg < stat_screen->filled_len && modified_beg < old_filled_len && vt_char_code_equal(old_chars + modified_beg, stat_screen->chars + modified_beg); modified_beg++) ; if (old_chars) { vt_str_delete(old_chars, old_num_chars); } if (modified_beg < old_filled_len || old_filled_len != stat_screen->filled_len) { draw_screen(stat_screen, 1, modified_beg); } return 1; } /* * callbacks of ui_window events */ static void window_realized(ui_window_t *win) { ui_im_status_screen_t *stat_screen; stat_screen = (ui_im_status_screen_t *)win; ui_window_set_type_engine(&stat_screen->window, ui_get_type_engine(stat_screen->font_man)); ui_window_set_fg_color(win, ui_get_xcolor(stat_screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(win, ui_get_xcolor(stat_screen->color_man, VT_BG_COLOR)); ui_window_set_override_redirect(&stat_screen->window, 1); } static void window_exposed(ui_window_t *win, int x, int y, u_int width, u_int height) { draw_screen((ui_im_status_screen_t *)win, 0, 0); /* draw border (margin area has been already cleared in ui_window.c) */ ui_window_draw_rect_frame(win, -MARGIN, -MARGIN, win->width + MARGIN - 1, win->height + MARGIN - 1); } /* --- global functions --- */ ui_im_status_screen_t *ui_im_status_screen_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, int is_vertical, u_int line_height, int x, int y) { ui_im_status_screen_t *stat_screen; if ((stat_screen = calloc(1, sizeof(ui_im_status_screen_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } #ifdef USE_REAL_VERTICAL_FONT if (is_vertical) { stat_screen->font_man = ui_font_manager_new(disp->display, ui_get_type_engine(font_man), ui_get_font_present(font_man) & ~FONT_VERTICAL, ui_get_font_size(font_man), ui_get_current_usascii_font_cs(font_man), font_man->step_in_changing_font_size, ui_get_letter_space(font_man), ui_is_using_bold_font(font_man), ui_is_using_italic_font(font_man)); } else #endif { stat_screen->font_man = font_man; } stat_screen->color_man = color_man; stat_screen->vtparser = vtparser; stat_screen->x = x; stat_screen->y = y; stat_screen->line_height = line_height; stat_screen->is_vertical = is_vertical; if (!ui_window_init(&stat_screen->window, MARGIN * 2, MARGIN * 2, MARGIN * 2, MARGIN * 2, 0, 0, MARGIN, MARGIN, /* ceate_gc */ 1, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_window_init failed.\n"); #endif goto error; } /* * +------------+ * | ui_window.c | --- window events ---> +----------------------+ * +------------+ | ui_im_status_screen.c | * +------------+ +----------------------+ * | im plugin | <------ methods ------ * +------------+ */ /* callbacks for window events */ stat_screen->window.window_realized = window_realized; #if 0 stat_screen->window.window_finalized = window_finalized; #endif stat_screen->window.window_exposed = window_exposed; /* methods of ui_im_status_screen_t */ stat_screen->delete = delete; stat_screen->show = show; stat_screen->hide = hide; stat_screen->set_spot = set_spot; stat_screen->set = set; if (!ui_display_show_root(disp, &stat_screen->window, x, y, XValue | YValue, "mlterm-status-window", 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_display_show_root() failed.\n"); #endif goto error; } return stat_screen; error: free(stat_screen); return NULL; } #else /* ! USE_IM_PLUGIN */ ui_im_status_screen_t *ui_im_status_screen_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, int is_vertical, u_int line_height, int x, int y) { return NULL; } #endif mlterm-3.8.4/uitoolkit/ui_sb_mode.h010064400017600000144000000005121321054731200160210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SB_MODE_H__ #define __UI_SB_MODE_H__ typedef enum ui_sb_mode { SBM_NONE, SBM_LEFT, SBM_RIGHT, SBM_AUTOHIDE, SBM_MAX } ui_sb_mode_t; ui_sb_mode_t ui_get_sb_mode_by_name(char *name); char *ui_get_sb_mode_name(ui_sb_mode_t mode); #endif mlterm-3.8.4/uitoolkit/ui_selection.h010064400017600000144000000044231321054731200164030ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SELECTION_H__ #define __UI_SELECTION_H__ #include /* u_int */ #include typedef enum { SEL_CHAR = 0x1, SEL_WORD = 0x2, SEL_LINE = 0x3, } ui_sel_type_t; typedef struct ui_sel_event_listener { void *self; int (*select_in_window)(void *, vt_char_t **, u_int *, int, int, int, int, int); void (*reverse_color)(void *, int, int, int, int, int); void (*restore_color)(void *, int, int, int, int, int); } ui_sel_event_listener_t; typedef struct ui_selection { ui_sel_event_listener_t *sel_listener; vt_char_t *sel_str; u_int sel_len; /* * Be careful that value of col must be munis in rtl line. * +-----------------------------+ * | a a a a a a a|<= RTL line * -1 -2 -3 -4 -5 -6 -7 <= index */ int base_col_l; int base_row_l; int base_col_r; int base_row_r; int beg_col; int beg_row; int end_col; int end_row; int lock_col; int lock_row; int prev_col; int prev_row; int8_t is_selecting; /* ui_sel_type_t is stored */ int8_t is_reversed; int8_t is_locked; int8_t is_rect; } ui_selection_t; void ui_sel_init(ui_selection_t *sel, ui_sel_event_listener_t *listener); void ui_sel_final(ui_selection_t *sel); int ui_start_selection(ui_selection_t *sel, int col_l, int row_l, int col_r, int row_r, ui_sel_type_t type, int is_rect); int ui_selecting(ui_selection_t *sel, int col, int row); int ui_stop_selecting(ui_selection_t *sel); int ui_restore_selected_region_color_except_logs(ui_selection_t *sel); int ui_reverse_selected_region_color_except_logs(ui_selection_t *sel); int ui_restore_selected_region_color(ui_selection_t *sel); int ui_reverse_selected_region_color(ui_selection_t *sel); int ui_sel_clear(ui_selection_t *sel); int ui_selected_region_is_changed(ui_selection_t *sel, int col, int row, u_int base); int ui_sel_line_scrolled_out(ui_selection_t *sel, int min_row); #define ui_is_selecting(sel) ((sel)->is_selecting) #define ui_sel_is_reversed(sel) ((sel)->is_reversed) int ui_is_after_sel_right_base_pos(ui_selection_t *sel, int col, int row); int ui_is_before_sel_left_base_pos(ui_selection_t *sel, int col, int row); void ui_sel_lock(ui_selection_t *sel); #endif mlterm-3.8.4/uitoolkit/ui_color_manager.h010064400017600000144000000045421321054731200172300ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_COLOR_MANAGER_H__ #define __UI_COLOR_MANAGER_H__ #include #include "ui_color.h" #include "ui_color_cache.h" typedef struct ui_color_manager { /* normal or faded color cache */ ui_color_cache_t *color_cache; ui_color_cache_t *alt_color_cache; /* for fg, bg, cursor_fg and cursor_bg */ struct sys_color { ui_color_t xcolor; char *name; } sys_colors[9]; u_int8_t alpha; int8_t is_reversed; } ui_color_manager_t; ui_color_manager_t *ui_color_manager_new(ui_display_t *disp, char *fg_color, char *bg_color, char *cursor_fg_color, char *cursor_bg_color, char *bd_color, char *it_color, char *ul_color, char *bl_color, char *co_color); void ui_color_manager_delete(ui_color_manager_t *color_man); int ui_color_manager_set_fg_color(ui_color_manager_t *color_man, char *name); int ui_color_manager_set_bg_color(ui_color_manager_t *color_man, char *name); int ui_color_manager_set_cursor_fg_color(ui_color_manager_t *color_man, char *name); int ui_color_manager_set_cursor_bg_color(ui_color_manager_t *color_man, char *name); int ui_color_manager_set_alt_color(ui_color_manager_t *color_man, vt_color_t color, char *name); char *ui_color_manager_get_fg_color(ui_color_manager_t *color_man); char *ui_color_manager_get_bg_color(ui_color_manager_t *color_man); char *ui_color_manager_get_cursor_fg_color(ui_color_manager_t *color_man); char *ui_color_manager_get_cursor_bg_color(ui_color_manager_t *color_man); char *ui_color_manager_get_alt_color(ui_color_manager_t *color_man, vt_color_t color); ui_color_t *ui_get_xcolor(ui_color_manager_t *color_man, vt_color_t color); int ui_color_manager_fade(ui_color_manager_t *color_man, u_int fade_ratio); int ui_color_manager_unfade(ui_color_manager_t *color_man); int ui_color_manager_reverse_video(ui_color_manager_t *color_man); int ui_color_manager_restore_video(ui_color_manager_t *color_man); int ui_color_manager_adjust_cursor_fg_color(ui_color_manager_t *color_man); int ui_color_manager_adjust_cursor_bg_color(ui_color_manager_t *color_man); void ui_color_manager_reload(ui_color_manager_t *color_man); int ui_change_true_transbg_alpha(ui_color_manager_t *color_man, u_int8_t alpha); #endif mlterm-3.8.4/uitoolkit/ui_bel_mode.c010064400017600000144000000014461321054731200161610ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_bel_mode.h" #include /* strcmp */ #include /* u_int */ /* --- static variables --- */ /* Order of this table must be same as ui_bel_mode_t. */ static char *bel_mode_name_table[] = {"none", "sound", "visual", "sound|visual"}; /* --- global functions --- */ ui_bel_mode_t ui_get_bel_mode_by_name(char *name) { ui_bel_mode_t mode; for (mode = 0; mode < BEL_MODE_MAX; mode++) { if (strcmp(bel_mode_name_table[mode], name) == 0) { return mode; } } /* default value */ return BEL_SOUND; } char *ui_get_bel_mode_name(ui_bel_mode_t mode) { if ((u_int)mode >= BEL_MODE_MAX) { /* default value */ mode = BEL_SOUND; } return bel_mode_name_table[mode]; } mlterm-3.8.4/uitoolkit/ui_sb_view.h010064400017600000144000000050651321054731200160570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * !! Notice !! * This file must be kept as independent to specific systems as possible. * So types like u_xxx which may not be defined in some environments must * not be used here. */ #ifndef __UI_SB_VIEW_H__ #define __UI_SB_VIEW_H__ #include "ui.h" typedef struct ui_display *__ui_display_ptr_t; typedef struct ui_window *__ui_window_ptr_t; typedef struct ui_sb_view { Display *display; int screen; Window window; GC gc; /* If you change gc values in ui_sb_view, restore them before return. */ unsigned int height; /* * Set 1 when create ui_sb_view_t. * ui_sb_view_t of version 0 doesn't have this 'version' member, so * ui_sb_view_t->version designates ui_sb_view->get_geometry_hints actually. * It is assumed that ui_sb_view_t->version of version 0 is not 1. */ int version; void (*get_geometry_hints)(struct ui_sb_view *, unsigned int *width, unsigned int *top_margin, unsigned int *bottom_margin, int *up_button_y, unsigned int *up_button_height, int *down_button_y, unsigned int *down_button_height); void (*get_default_color)(struct ui_sb_view *, char **fg_color, char **bg_color); /* Win32: GC is None. */ void (*realized)(struct ui_sb_view *, Display *, int screen, Window, GC, unsigned int height); void (*resized)(struct ui_sb_view *, Window, unsigned int height); void (*color_changed)(struct ui_sb_view *, int); void (*delete)(struct ui_sb_view *); /* * Win32: ui_sb_view_t::gc is set by ui_scrollbar.c before following draw_XXX * functions is called. */ /* drawing bar only. */ void (*draw_scrollbar)(struct ui_sb_view *, int bar_top_y, unsigned int bar_height); /* drawing background of bar. */ void (*draw_background)(struct ui_sb_view *, int, unsigned int); void (*draw_up_button)(struct ui_sb_view *, int); void (*draw_down_button)(struct ui_sb_view *, int); /* ui_scrollbar sets this after ui_*_sb_view_new(). */ __ui_window_ptr_t win; } ui_sb_view_t; typedef struct ui_sb_view_rc { char *key; char *value; } ui_sb_view_rc_t; typedef struct ui_sb_view_conf { char *sb_name; char *engine_name; char *dir; ui_sb_view_rc_t *rc; unsigned int rc_num; unsigned int use_count; int (*load_image)(__ui_display_ptr_t disp, char *path, /* u_int32_t */ unsigned int **cardinal, Pixmap *pixmap, Pixmap *mask, unsigned int *width, unsigned int *height); } ui_sb_view_conf_t; #endif mlterm-3.8.4/uitoolkit/ui_type_engine.c010064400017600000144000000015431321054731200167170ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_type_engine.h" #include /* strcmp */ #include /* u_int */ /* --- static variables --- */ /* Order of this table must be same as ui_type_engine_t. */ static char *type_engine_name_table[] = { "xcore", "xft", "cairo", }; /* --- global functions --- */ ui_type_engine_t ui_get_type_engine_by_name(char *name) { if (strcmp("xcore", name) == 0) { return TYPE_XCORE; } else if (strcmp("xft", name) == 0) { return TYPE_XFT; } else if (strcmp("cairo", name) == 0) { return TYPE_CAIRO; } /* default value */ return TYPE_XCORE; } char *ui_get_type_engine_name(ui_type_engine_t engine) { if ((u_int)engine >= TYPE_ENGINE_MAX) { /* default value */ engine = TYPE_XCORE; } return type_engine_name_table[engine]; } mlterm-3.8.4/uitoolkit/ui_xic.h010064400017600000144000000030351321054731200151770ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_XIC_H__ #define __UI_XIC_H__ #include /* size_t */ #if defined(USE_WIN32GUI) || defined(USE_QUARTZ) #include #endif #include "ui.h" #include "ui_window.h" typedef struct ui_xic { XIC ic; #if defined(USE_WIN32GUI) WORD prev_keydown_wparam; ef_parser_t *parser; #elif defined(USE_QUARTZ) ef_parser_t *parser; #elif defined(USE_XLIB) XFontSet fontset; XIMStyle style; #endif } ui_xic_t; int ui_xic_activate(ui_window_t *win, char *name, char *locale); int ui_xic_deactivate(ui_window_t *win); char *ui_xic_get_xim_name(ui_window_t *win); char *ui_xic_get_default_xim_name(void); int ui_xic_fg_color_changed(ui_window_t *win); int ui_xic_bg_color_changed(ui_window_t *win); int ui_xic_font_set_changed(ui_window_t *win); int ui_xic_resized(ui_window_t *win); int ui_xic_set_spot(ui_window_t *win); size_t ui_xic_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event); size_t ui_xic_get_utf8_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event); int ui_xic_filter_event(ui_window_t *win, XEvent *event); int ui_xic_set_focus(ui_window_t *win); int ui_xic_unset_focus(ui_window_t *win); int ui_xic_is_active(ui_window_t *win); int ui_xic_switch_mode(ui_window_t *win); int ui_xim_activated(ui_window_t *win); int ui_xim_destroyed(ui_window_t *win); #endif mlterm-3.8.4/uitoolkit/ui_im_status_screen.h010064400017600000144000000027771321054731200177770ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_IM_STATUS_SCREEN_H__ #define __UI_IM_STATUS_SCREEN_H__ #include #include "ui_window.h" #include "ui_display.h" #include "ui_font_manager.h" #include "ui_color_manager.h" typedef struct ui_im_status_screen { ui_window_t window; ui_font_manager_t *font_man; /* is the same as attached screen */ ui_color_manager_t *color_man; /* is the same as attached screen */ void *vtparser; /* is the same as attached screen */ vt_char_t *chars; u_int num_chars; /* == array size */ u_int filled_len; int x; /* not adjusted by window size */ int y; /* not adjusted by window size */ u_int line_height; /* line height of attaced screen */ int is_vertical; /* * methods of ui_im_status_screen_t which is called from im */ void (*delete)(struct ui_im_status_screen *); void (*show)(struct ui_im_status_screen *); void (*hide)(struct ui_im_status_screen *); int (*set_spot)(struct ui_im_status_screen *, int, int); int (*set)(struct ui_im_status_screen *, ef_parser_t *, u_char *); int head_indexes[15]; /* 14 lines (13 candidates and N/N) + 1 */ } ui_im_status_screen_t; ui_im_status_screen_t *ui_im_status_screen_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, int is_vertical, u_int line_height, int x, int y); #endif mlterm-3.8.4/uitoolkit/ui_mod_meta_mode.c010064400017600000144000000014641321054731200172040ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_mod_meta_mode.h" #include /* strcmp */ /* --- static variables --- */ /* Order of this table must be same as ui_mod_meta_mode_t. */ static char *mod_meta_mode_name_table[] = { "none", "esc", "8bit", }; /* --- global functions --- */ ui_mod_meta_mode_t ui_get_mod_meta_mode_by_name(char *name) { ui_mod_meta_mode_t mode; for (mode = 0; mode < MOD_META_MODE_MAX; mode++) { if (strcmp(mod_meta_mode_name_table[mode], name) == 0) { return mode; } } /* default value */ return MOD_META_NONE; } char *ui_get_mod_meta_mode_name(ui_mod_meta_mode_t mode) { if (mode < 0 || MOD_META_MODE_MAX <= mode) { /* default value */ mode = MOD_META_NONE; } return mod_meta_mode_name_table[mode]; } mlterm-3.8.4/uitoolkit/ui_im.h010064400017600000144000000101711321054731200150200ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_IM_H__ #define __UI_IM_H__ #include #include #include #include "ui.h" /* KeySym, XKeyEvent */ #include "ui_im_candidate_screen.h" #include "ui_im_status_screen.h" #define UI_IM_PREEDIT_NOCURSOR -1 /* * information for the current preedit string */ typedef struct ui_im_preedit { vt_char_t *chars; u_int num_chars; /* == array size */ u_int filled_len; int segment_offset; int cursor_offset; } ui_im_preedit_t; typedef struct ui_im_event_listener { void *self; int (*get_spot)(void *, vt_char_t *, int, int *, int *); u_int (*get_line_height)(void *); int (*is_vertical)(void *); void (*draw_preedit_str)(void *, vt_char_t *, u_int, int); void (*im_changed)(void *, char *); int (*compare_key_state_with_modmap)(void *, u_int, int *, int *, int *, int *, int *, int *, int *, int *); void (*write_to_term)(void *, u_char *, size_t); #ifdef DEBUG void (*write_to_status_line)(void *, u_char *, size_t); #endif } ui_im_event_listener_t; /* * dirty hack to replace -export-dynamic option of libtool */ typedef struct ui_im_export_syms { void (*vt_str_init)(vt_char_t *, u_int); void (*vt_str_delete)(vt_char_t *, u_int); vt_char_t *(*vt_char_combine)(vt_char_t *, u_int32_t, ef_charset_t, int, int, vt_color_t, vt_color_t, int, int, int, int, int); int (*vt_char_set)(vt_char_t *, u_int32_t, ef_charset_t cs, int, int, vt_color_t, vt_color_t, int, int, int, int, int); char *(*vt_get_char_encoding_name)(vt_char_encoding_t); vt_char_encoding_t (*vt_get_char_encoding)(const char *); int (*vt_convert_to_internal_ch)(void *, ef_char_t *); vt_isciikey_state_t (*vt_isciikey_state_new)(int); void (*vt_isciikey_state_delete)(vt_isciikey_state_t); size_t (*vt_convert_ascii_to_iscii)(vt_isciikey_state_t, u_char *, size_t, u_char *, size_t); ef_parser_t *(*vt_char_encoding_parser_new)(vt_char_encoding_t); ef_conv_t *(*vt_char_encoding_conv_new)(vt_char_encoding_t); ui_im_candidate_screen_t *(*ui_im_candidate_screen_new)(ui_display_t *, ui_font_manager_t *, ui_color_manager_t *, void *, int, int, u_int, int, int); ui_im_status_screen_t *(*ui_im_status_screen_new)(ui_display_t *, ui_font_manager_t *, ui_color_manager_t *, void *, int, u_int, int, int); int (*ui_event_source_add_fd)(int, void (*handler)(void)); void (*ui_event_source_remove_fd)(int); KeySym (*XStringToKeysym)(char *); } ui_im_export_syms_t; /* * input method module object */ typedef struct ui_im { bl_dl_handle_t handle; char *name; ui_display_t *disp; ui_font_manager_t *font_man; ui_color_manager_t *color_man; void *vtparser; ui_im_event_listener_t *listener; ui_im_candidate_screen_t *cand_screen; ui_im_status_screen_t *stat_screen; ui_im_preedit_t preedit; /* * methods */ void (*delete)(struct ui_im *); /* Return 1 if key event to be processed is still left. */ int (*key_event)(struct ui_im *, u_char, KeySym, XKeyEvent *); /* Return 1 if switching is succeeded. */ int (*switch_mode)(struct ui_im *); /* Return 1 if input method is active. */ int (*is_active)(struct ui_im *); void (*focused)(struct ui_im *); void (*unfocused)(struct ui_im *); } ui_im_t; ui_im_t *ui_im_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, ui_im_event_listener_t *im_listener, char *input_method, u_int mod_ignore_mask); void ui_im_delete(ui_im_t *xim); void ui_im_redraw_preedit(ui_im_t *im, int is_focused); #define IM_API_VERSION 0x0a #define IM_API_COMPAT_CHECK_MAGIC \ (((IM_API_VERSION & 0x0f) << 28) | ((sizeof(ui_im_t) & 0xff) << 20) | \ ((sizeof(ui_im_export_syms_t) & 0xff) << 12) | (sizeof(ui_im_candidate_screen_t) & 0xfff)) #endif mlterm-3.8.4/uitoolkit/ui_screen_manager.h010064400017600000144000000011321321054731200173610ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SCREEN_MANAGER_H__ #define __UI_SCREEN_MANAGER_H__ #include /* FILE */ #include "ui_screen.h" #include "ui_main_config.h" int ui_screen_manager_init(char *mlterm_version, u_int depth, u_int max_screens_multiple, u_int num_startup_screens, ui_main_config_t *main_config); void ui_screen_manager_final(void); u_int ui_screen_manager_startup(void); void ui_close_dead_screens(void); u_int ui_get_all_screens(ui_screen_t*** _screens); int ui_mlclient(char *args, FILE* fp); #endif mlterm-3.8.4/uitoolkit/ui_bel_mode.h010064400017600000144000000005761321054731200161710ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_BEL_MODE_H__ #define __UI_BEL_MODE_H__ typedef enum ui_bel_mode { BEL_NONE = 0x0, BEL_SOUND = 0x1, BEL_VISUAL = 0x2, /* BEL_SOUND|BEL_VISUAL */ BEL_MODE_MAX = 0x4 } ui_bel_mode_t; ui_bel_mode_t ui_get_bel_mode_by_name(char *name); char *ui_get_bel_mode_name(ui_bel_mode_t mode); #endif mlterm-3.8.4/uitoolkit/ui_brltty.h010064400017600000144000000005371321054731200157400ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_BRLTTY_H__ #define __UI_BRLTTY_H__ #include #include "ui.h" int ui_brltty_init(void); int ui_brltty_final(void); void ui_brltty_focus(vt_term_t *term); void ui_brltty_write(void); void ui_brltty_key(KeySym ksym, const u_char *kstr, size_t len); #endif mlterm-3.8.4/uitoolkit/ui_brltty.c010064400017600000144000000255311321054731200157340ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifdef USE_BRLAPI #include "ui_brltty.h" #include #include #include #include /* SIZEOF_WCHAR_T_STR */ #include /* WORDS_BIGENDIAN */ #include #include #include /* bl_priv_change_e(u|g)id */ #include #include #include #include #include #include "vt_str_parser.h" #include "vt_term.h" #include "ui_event_source.h" /* --- static variables --- */ static vt_term_t *focus_term; static int brltty_fd = -1; static ef_parser_t *parser; static ef_conv_t *conv; static ef_conv_t *wconv; static u_int display_cols; static u_int display_rows; static int viewport_row; static int viewport_col; /* --- static functions --- */ static void write_line_to_display(vt_line_t *line, int cursor /* The first position is 1 not 0 */) { u_char *buf; if (cursor > 0) { if (viewport_col >= cursor) { cursor = BRLAPI_CURSOR_OFF; } else { cursor -= viewport_col; } } if (viewport_col >= vt_line_get_num_filled_chars_except_sp(line)) { brlapi_writeText(cursor, ""); return; } (*parser->init)(parser); vt_str_parser_set_str(parser, line->chars + viewport_col, vt_line_get_num_filled_chars_except_sp(line) - viewport_col); (*wconv->init)(conv); if ((buf = alloca(display_cols * sizeof(wchar_t) + 4))) { ssize_t len; if ((len = (*wconv->convert)(wconv, buf, display_cols * sizeof(wchar_t), parser)) > 0) { memset(buf + len, 0, 4); brlapi_writeWText(cursor, buf); } } } static void speak(const u_char *msg, size_t len) { const char *path; if ((path = getenv("BRLTTY_SPEECH_INPUT"))) { int fd; if ((fd = open(path, O_WRONLY|O_NONBLOCK, 0200)) != -1) { #ifdef DEBUG char *buf = alloca(len + 1); memcpy(buf, msg, len); buf[len] = '\0'; bl_debug_printf("SPEECH: %s %x\n", buf, *buf); #endif write(fd, msg, len); close(fd); } } } static void speak_line(vt_line_t *line, int full) { u_char *buf; int beg; u_int cols; cols = vt_line_get_num_filled_chars_except_sp(line); if (full) { if (cols == 0) { return; } beg = 0; } else { if ((beg = viewport_col) >= cols) { return; } if ((cols -= viewport_col) >= display_cols) { cols = display_cols; } } (*parser->init)(parser); vt_str_parser_set_str(parser, line->chars + beg, cols); (*conv->init)(conv); if ((buf = alloca(display_cols * UTF_MAX_SIZE))) { ssize_t len; if ((len = (*conv->convert)(conv, buf, display_cols * UTF_MAX_SIZE, parser)) > 0) { speak(buf, len); } } } static void read_key(void) { brlapi_keyCode_t key; if (brltty_fd < 0 || focus_term == NULL) { return; } if (brlapi_readKey(1, &key) > 0) { brlapi_expandedKeyCode_t ekey; #ifdef DEBUG brlapi_describedKeyCode_t dkey; #endif brlapi_expandKeyCode(key, &ekey); #ifdef DEBUG bl_debug_printf("Keycode %x: type %u, command %u, argument %u, flags %u\n", key, ekey.type, ekey.command, ekey.argument, ekey.flags); brlapi_describeKeyCode(key, &dkey); bl_debug_printf("type %s, command %s, argument %u, flags %u\n", dkey.type, dkey.command, dkey.argument, dkey.flags); #endif if (ekey.command) { vt_line_t *line; if (ekey.command == BRLAPI_KEY_CMD_TOP || ekey.command == BRLAPI_KEY_CMD_TOP_LEFT) { viewport_row = 0; } else if (ekey.command == BRLAPI_KEY_CMD_BOT || ekey.command == BRLAPI_KEY_CMD_BOT_LEFT) { viewport_row = vt_term_get_rows(focus_term) - 1; } else if (ekey.command == BRLAPI_KEY_CMD_LNUP) { viewport_row--; } else if (ekey.command == BRLAPI_KEY_CMD_LNDN) { viewport_row++; } else if (ekey.command == BRLAPI_KEY_CMD_CHRRT) { viewport_col++; } else if (ekey.command == BRLAPI_KEY_CMD_CHRLT) { viewport_col--; } else if (ekey.command == BRLAPI_KEY_CMD_FWINRT) { viewport_col ++; } else if (ekey.command == BRLAPI_KEY_CMD_FWINLT) { viewport_col --; } else if (ekey.command == BRLAPI_KEY_CMD_FWINRTSKIP) { viewport_col += display_cols; } else if (ekey.command == BRLAPI_KEY_CMD_FWINLTSKIP) { viewport_col -= display_cols; } else if (ekey.command == BRLAPI_KEY_CMD_HOME) { viewport_row = vt_term_cursor_row(focus_term); viewport_col = 0; } else if (ekey.command == BRLAPI_KEY_CMD_SAY_LINE || ekey.command == BRLAPI_KEY_CMD_SPEAK_CURR_LINE) { if ((line = vt_term_get_line(focus_term, viewport_row))) { speak_line(line, 1); } return; } else if (ekey.command == BRLAPI_KEY_CMD_SAY_ABOVE) { int row; for (row = 0; row <= viewport_row; row++) { if ((line = vt_term_get_line(focus_term, row))) { speak_line(line, 1); } } return; } else if (ekey.command == BRLAPI_KEY_CMD_SAY_BELOW) { int row; for (row = viewport_row; row < vt_term_get_rows(focus_term); row++) { if ((line = vt_term_get_line(focus_term, row))) { speak_line(line, 1); } } return; } else { return; } if (viewport_col < 0) { viewport_col = 0; } else if (viewport_col >= vt_term_get_cols(focus_term)) { viewport_col = vt_term_get_cols(focus_term) - 1; } if (viewport_row < 0) { viewport_row = 0; } else if (viewport_row >= vt_term_get_rows(focus_term)) { viewport_row = vt_term_get_rows(focus_term) - 1; } if ((line = vt_term_get_line(focus_term, viewport_row))) { vt_line_set_modified_all(line); write_line_to_display(line, viewport_row == vt_term_cursor_row(focus_term) ? vt_term_cursor_char_index(focus_term) + 1 : BRLAPI_CURSOR_OFF); speak_line(line, 0); } } else if (ekey.argument < 0xff) { u_char c = ekey.argument; vt_term_write(focus_term, &c, 1); } } } static void viewport_home(void) { viewport_row = vt_term_cursor_row(focus_term); if (display_cols <= vt_term_cursor_char_index(focus_term)) { viewport_col = vt_term_cursor_char_index(focus_term) - display_cols + 1; } else { viewport_col = 0; } } /* --- global functions --- */ int ui_brltty_init(void) { char name[BRLAPI_MAXNAMELENGTH+1]; brlapi_connectionSettings_t set = { NULL, NULL }; bl_priv_restore_euid(); bl_priv_restore_egid(); brltty_fd = brlapi_openConnection(&set, &set); bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); if (brltty_fd < 0) { bl_warn_printf("Failed to connect to brltty (%s)\n", brlapi_strerror(&brlapi_error)); return -1; } if (brlapi_getDriverName(name, sizeof(name)) < 0) { #ifdef DEBUG bl_debug_printf("brlapi_getDriverName failed (%s)\n", brlapi_strerror(&brlapi_error)); #endif } #ifdef DEBUG else { bl_debug_printf("Driver name: %s\n", name); } #endif if (brlapi_getDisplaySize(&display_cols, &display_rows) < 0) { bl_warn_printf("Illegal brltty display size (%s)\n", brlapi_strerror(&brlapi_error)); goto error; } else { #ifdef DEBUG bl_debug_printf("Braille display line %d column %d\n", display_rows, display_cols); #endif if (display_cols == 0 || display_rows == 0) { bl_warn_printf("Illegal brltty display size (%s)\n", brlapi_strerror(&brlapi_error)); goto error; } } /* Try entering raw mode, immediately go out from raw mode */ if (brlapi_enterRawMode(name) < 0) { #ifdef DEBUG bl_debug_printf("brlapi_enterRawMode failed (%s)\n", brlapi_strerror(&brlapi_error)); #endif } else { brlapi_leaveRawMode(); } if (brlapi_enterTtyMode(0 /* BRLAPI_TTY_DEFAULT */, NULL) < 0) { bl_warn_printf("Failed to enter tty mode (%s)\n", brlapi_strerror(&brlapi_error)); goto error; } if (!parser) { parser = vt_str_parser_new(); } if (!conv) { conv = ef_utf8_conv_new(); } if (!wconv) { #ifdef SIZEOF_WCHAR_T_STR if (strcmp(SIZEOF_WCHAR_T_STR, "4") == 0) { #ifdef WORDS_BIGENDIAN wconv = ef_utf32_conv_new(); #else wconv = ef_utf32le_conv_new(); #endif } else #endif { #ifdef WORDS_BIGENDIAN wconv = ef_utf16_conv_new(); #else wconv = ef_utf16le_conv_new(); #endif } } #ifdef DEBUG bl_debug_printf("Connect to brltty successfully.\n"); #endif ui_event_source_add_fd(brltty_fd, read_key); return brltty_fd; error: brlapi_closeConnection(); brltty_fd = -1; return -1; } int ui_brltty_final(void) { if (brltty_fd >= 0) { ui_event_source_remove_fd(brltty_fd); brlapi_leaveTtyMode(); brlapi_closeConnection(); (*parser->delete)(parser); (*conv->delete)(conv); (*wconv->delete)(wconv); } return brltty_fd; } void ui_brltty_focus(vt_term_t *term) { if (focus_term == NULL) { speak("m l term started", 16); } focus_term = term; } void ui_brltty_write(void) { vt_line_t *line; if (brltty_fd < 0 || focus_term == NULL) { return; } line = vt_term_get_cursor_line(focus_term); if (!vt_line_is_modified(line) && viewport_row == vt_term_cursor_row(focus_term)) { return; } viewport_home(); write_line_to_display(line, vt_term_cursor_char_index(focus_term) + 1); } void ui_brltty_speak_key(KeySym ksym, const u_char *kstr, size_t len) { const char *path; if ((path = getenv("BRLTTY_SPEECH_INPUT"))) { int fd; if ((fd = open(path, O_WRONLY|O_NONBLOCK, 0200)) != -1) { char *str; if (ksym == XK_BackSpace) { str = "backspace"; } else if (ksym == XK_Delete) { str = "delete"; } else if (ksym == ' ') { str = "space"; } else if (ksym == XK_Return) { str = "return"; } else if (ksym == XK_Tab) { str = "tab"; } else if (ksym == XK_Insert) { str = "insert"; } else if (ksym == XK_Home) { str = "home"; } else if (ksym == XK_End) { str = "end"; } else if (ksym == XK_F1) { str = "f1"; } else if (ksym == XK_F2) { str = "f2"; } else if (ksym == XK_F3) { str = "f3"; } else if (ksym == XK_F4) { str = "f4"; } else if (ksym == XK_Prior) { str = "page up"; } else if (ksym == XK_Next) { str = "page down"; } else if (ksym == XK_Up) { str = "up"; } else if (ksym == XK_Down) { str = "down"; } else if (ksym == XK_Right) { str = "right"; } else if (ksym == XK_Left) { str = "left"; } else { str = NULL; } if (str) { len = strlen(str); } else { str = kstr; } write(fd, str, len); close(fd); } } } #endif mlterm-3.8.4/uitoolkit/ui_selection_encoding.h010064400017600000144000000006571321054731200202560ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SELECTION_ENCODING_H__ #define __UI_SELECTION_ENCODING_H__ #include #include #include "ui.h" #ifdef USE_XLIB void ui_set_big5_selection_buggy(int buggy); #else #define ui_set_big5_selection_buggy(buggy) (0) #endif ef_parser_t *ui_get_selection_parser(int utf); ef_conv_t *ui_get_selection_conv(int utf); #endif mlterm-3.8.4/uitoolkit/ui_sb_mode.c010064400017600000144000000014301321054731200160140ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_sb_mode.h" #include #include /* u_int */ /* --- static variables --- */ /* Order of this table must be same as ui_sb_mode_t. */ static char *sb_mode_name_table[] = { "none", "left", "right", "autohide", }; /* --- global functions --- */ ui_sb_mode_t ui_get_sb_mode_by_name(char *name) { #ifndef USE_CONSOLE ui_sb_mode_t mode; for (mode = 0; mode < SBM_MAX; mode++) { if (strcmp(sb_mode_name_table[mode], name) == 0) { return mode; } } #endif /* default value */ return SBM_NONE; } char *ui_get_sb_mode_name(ui_sb_mode_t mode) { if ((u_int)mode >= SBM_MAX) { /* default value */ mode = SBM_NONE; } return sb_mode_name_table[mode]; } mlterm-3.8.4/uitoolkit/ui_gc.h010064400017600000144000000016301321054731200150040ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_GC_H__ #define __UI_GC_H__ #include /* u_int */ #include "ui.h" typedef struct ui_gc { #ifndef USE_GC int gc; /* dummy */ #else Display *display; GC gc; u_long fg_color; /* alpha bits are always 0 in win32. */ u_long bg_color; /* alpha bits are always 0 in win32. */ Font fid; #ifdef USE_WIN32GUI HPEN pen; HBRUSH brush; #else PixmapMask mask; #endif #endif /* USE_GC */ } ui_gc_t; ui_gc_t *ui_gc_new(Display *display, Drawable drawable); void ui_gc_delete(ui_gc_t *gc); void ui_gc_set_fg_color(ui_gc_t *gc, u_long fg_color); void ui_gc_set_bg_color(ui_gc_t *gc, u_long bg_color); void ui_gc_set_fid(ui_gc_t *gc, Font fid); #ifdef USE_WIN32GUI void ui_set_gc(ui_gc_t *gc, GC _gc); HPEN ui_gc_set_pen(ui_gc_t *gc, HPEN pen); HBRUSH ui_gc_set_brush(ui_gc_t *gc, HBRUSH brush); #endif #endif mlterm-3.8.4/uitoolkit/ui_im_candidate_screen.c010064400017600000144000000636741321054731200203660ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_im_candidate_screen.h" #ifdef USE_IM_PLUGIN #include #include #include #include #include "ui_draw_str.h" #ifdef USE_CONSOLE #define MARGIN 0 #define LINE_SPACE 0 #else #define MARGIN 3 #define LINE_SPACE 2 #endif #define VISIBLE_INDEX(n, p, i, t, l) \ do { \ (t) = ((i) / p) * p; \ (l) = (t) + p - 1; \ if ((l) > (n)-1) { \ (l) = (n)-1; \ } \ } while (0) /* * calculate max number of digits */ #define NUM_OF_DIGITS(n, d) \ do { \ u_int d2 = (d); \ (n) = 1; \ while (((d2) /= 10)) { \ (n)++; \ } \ } while (0) #define INVALID_INDEX (cand_screen->num_candidates) #ifdef USE_WAYLAND #define DISPLAY(cand_screen) ((cand_screen)->window.disp->display->parent) #else #define DISPLAY(cand_screen) ((cand_screen)->window.disp) #endif /* --- static variables --- */ /* --- static functions --- */ static int free_candidates(ui_im_candidate_t *candidates, u_int num_candidates) { ui_im_candidate_t *c; int i; if (candidates == NULL || num_candidates == 0) { return 1; } for (i = 0, c = candidates; i < num_candidates; i++, c++) { vt_str_delete(c->chars, c->num_chars); c->filled_len = 0; c->num_chars = 0; } free(candidates); return 1; } static u_int candidate_width(ui_font_manager_t *font_man, ui_im_candidate_t *candidate) { u_int width; int i; if (candidate->chars == NULL || candidate->filled_len == 0) { return 0; } width = 0; ui_font_manager_set_attr(font_man, 0, 0); for (i = 0; i < candidate->filled_len; i++) { ui_font_t *xfont; xfont = ui_get_font(font_man, vt_char_font(&candidate->chars[i])); width += ui_calculate_char_width(xfont, vt_char_code(&candidate->chars[i]), vt_char_cs(&candidate->chars[i]), NULL); } return width; } static u_int max_candidate_width(ui_font_manager_t *font_man, ui_im_candidate_t *candidates, u_int num_candidates) { u_int max_width; int i; max_width = 0; for (i = 0; i < num_candidates; i++) { u_int width; width = candidate_width(font_man, &candidates[i]); if (width > max_width) { max_width = width; } } return max_width; } static u_int total_candidate_width(ui_font_manager_t *font_man, ui_im_candidate_t *candidates, u_int to, u_int from) { u_int total_width; int i; total_width = 0; for (i = to; i <= from; i++) { total_width += candidate_width(font_man, &candidates[i]); } return total_width; } static void adjust_window_position_by_size(ui_im_candidate_screen_t *cand_screen, int *x, int *y) { #ifdef USE_WAYLAND if (ACTUAL_WIDTH(&cand_screen->window) > DISPLAY(cand_screen)->width) { /* do nothing */ } else #endif if (*x + ACTUAL_WIDTH(&cand_screen->window) > DISPLAY(cand_screen)->width) { if (cand_screen->is_vertical_term) { /* ui_im_candidate_screen doesn't know column width. */ *x -= (ACTUAL_WIDTH(&cand_screen->window) + cand_screen->line_height); } else { *x = DISPLAY(cand_screen)->width - ACTUAL_WIDTH(&cand_screen->window); } } #ifdef USE_WAYLAND if (ACTUAL_HEIGHT(&cand_screen->window) > DISPLAY(cand_screen)->height) { /* do nothing */ } else #endif if (*y + ACTUAL_HEIGHT(&cand_screen->window) > DISPLAY(cand_screen)->height) { *y -= ACTUAL_HEIGHT(&cand_screen->window); if (!cand_screen->is_vertical_term) { *y -= cand_screen->line_height; } } } static void resize(ui_im_candidate_screen_t *cand_screen, u_int width, u_int height) { if (ui_window_resize(&cand_screen->window, width, height, 0)) { int x; int y; x = cand_screen->x; y = cand_screen->y; adjust_window_position_by_size(cand_screen, &x, &y); if (x != cand_screen->window.x || y != cand_screen->window.y) { ui_window_move(&cand_screen->window, x, y); } #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF /* resized but position is not changed. */ ui_display_reset_input_method_window(); ui_window_draw_rect_frame(&cand_screen->window, -MARGIN, -MARGIN, cand_screen->window.width + MARGIN - 1, cand_screen->window.height + MARGIN - 1); #endif } } static void draw_str(ui_im_candidate_screen_t *cand_screen, vt_char_t *str, u_int len, int x, int row, u_int font_height, u_int font_ascent, int to_eol) { (to_eol ? ui_draw_str_to_eol : ui_draw_str)( &cand_screen->window, cand_screen->font_man, cand_screen->color_man, str, len, x, (font_height + LINE_SPACE) * row, font_height + LINE_SPACE, font_ascent + LINE_SPACE / 2, LINE_SPACE / 2, 1 /* no need to draw underline */, 0); } #define MAX_NUM_OF_DIGITS 4 /* max is 9999. enough? */ static void draw_screen_vertical(ui_im_candidate_screen_t *cand_screen, u_int top, u_int last, u_int draw_index, int do_resize) { ui_font_t *xfont; u_int i; u_int num_digits; u_int win_width; u_int win_height; vt_char_t *p; if (cand_screen->num_candidates > cand_screen->num_per_window) { NUM_OF_DIGITS(num_digits, cand_screen->num_per_window); } else { NUM_OF_DIGITS(num_digits, last); } /* * resize window */ /* * width : [digit] + [space] + [max_candidate_width] * or width of "index/total" * height: ([ascii height] + [line space]) x (num_per_window + 1) * or ([ascii height] + [line space)] x num_candidates * +-------------------+ * |1 cand0 |\ * |2 cand1 | \ * |3 cand2 | | * |4 cand3 | | * |5 cand4 | |-- num_per_window * |6 cand5 | | * |7 cand6 | | * |8 cand7 | | * |9 widest candidate| / * |10 cand9 |/ * | index/total |--> show if total > num_per_window * +-------------------+ */ xfont = ui_get_usascii_font(cand_screen->font_man); if (do_resize) { u_int width; u_int num; /* width of window */ win_width = xfont->width * (num_digits + 1); win_width += max_candidate_width(cand_screen->font_man, &cand_screen->candidates[top], last - top + 1); NUM_OF_DIGITS(num, cand_screen->num_candidates); if ((width = (num * 2 + 1) * xfont->width) > win_width) { win_width = width; } /* height of window */ if (cand_screen->num_candidates > cand_screen->num_per_window) { win_height = (xfont->height + LINE_SPACE) * (cand_screen->num_per_window + 1); } else { win_height = (xfont->height + LINE_SPACE) * cand_screen->num_candidates; } resize(cand_screen, win_width, win_height); } else { win_width = cand_screen->window.width; win_height = cand_screen->window.height; } /* * digits and candidates */ #ifdef DEBUG if (num_digits > MAX_NUM_OF_DIGITS) { bl_warn_printf(BL_DEBUG_TAG " num_digits %d is too large.\n", num_digits); return; } #endif if (draw_index != INVALID_INDEX) { i = draw_index; last = draw_index; } else { i = top; } for (; i <= last; i++) { u_char digit[MAX_NUM_OF_DIGITS + 1]; vt_char_t digit_str[MAX_NUM_OF_DIGITS + 1]; int j; /* * digits * +----------+ * |1 cand0 | * ^^ */ if (cand_screen->candidates[i].info) { char byte2; byte2 = (cand_screen->candidates[i].info >> 8) & 0xff; if (num_digits > 2) { num_digits = 2; } bl_snprintf(digit, MAX_NUM_OF_DIGITS + 1, "%c%c ", cand_screen->candidates[i].info & 0xff, byte2 ? byte2 : ' '); } else { bl_snprintf(digit, MAX_NUM_OF_DIGITS + 1, "%i ", i - top + 1); } p = digit_str; for (j = 0; j < num_digits + 1; j++) { vt_char_init(p); vt_char_set(p++, digit[j], US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); } draw_str(cand_screen, digit_str, num_digits + 1, 0, i - top, xfont->height, xfont->ascent, 0); vt_str_final(digit_str, num_digits + 1); /* * candidate * +----------+ * |1 cand0 | * ^^^^^ */ draw_str(cand_screen, cand_screen->candidates[i].chars, cand_screen->candidates[i].filled_len, xfont->width * (num_digits + 1), i - top, xfont->height, xfont->ascent, 1); } if (draw_index != INVALID_INDEX) { return; } /* * |7 cand6 | * |8 last candidate| * | |\ * | | }-- clear this area * | |/ * +----------------+ */ if (cand_screen->num_candidates > cand_screen->num_per_window && last - top < cand_screen->num_per_window) { u_int y; y = (xfont->height + LINE_SPACE) * (last - top + 1); ui_window_clear(&cand_screen->window, 0, y, win_width, win_height - y - 1); } /* * |8 cand7 | * |9 cand8 | * |10 cand9 | * | index/total | <-- draw this * +-------------+ */ if (cand_screen->num_candidates > cand_screen->num_per_window) { u_char navi[MAX_NUM_OF_DIGITS * 2 + 4]; vt_char_t navi_str[MAX_NUM_OF_DIGITS * 2 + 4]; u_int width; size_t len; int x; #ifdef MANAGE_ROOT_WINDOWS_BY_MYSELF ui_window_clear(&cand_screen->window, 0, (xfont->height + LINE_SPACE) * cand_screen->num_per_window + LINE_SPACE, win_width, xfont->height); #endif len = bl_snprintf(navi, MAX_NUM_OF_DIGITS * 2 + 2, "%d/%d", cand_screen->index + 1, cand_screen->num_candidates); width = len * xfont->width; x = (win_width - width) / 2; /* centering */ p = navi_str; for (i = 0; i < len; i++) { vt_char_init(p); vt_char_set(p++, navi[i], US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); } draw_str(cand_screen, navi_str, len, x, cand_screen->num_per_window, xfont->height, xfont->ascent, 0); vt_str_final(navi_str, len); } } static void draw_screen_horizontal(ui_im_candidate_screen_t *cand_screen, u_int top, u_int last, u_int draw_index, int do_resize) { ui_font_t *xfont; u_int win_width; u_int win_height; u_int i; int x = 0; u_int num_digits; u_char digit[MAX_NUM_OF_DIGITS + 1]; vt_char_t digit_str[MAX_NUM_OF_DIGITS + 1]; vt_char_t *p; /* * resize window */ /* * +-------------------------------------+ * |1:cand0 2:cand1 3:cand4 ... 10:cand9 | * +-------------------------------------+ */ xfont = ui_get_usascii_font(cand_screen->font_man); if (do_resize) { /* width of window */ win_width = 0; for (i = top; i <= last; i++) { if (cand_screen->candidates[i].info) { if (((cand_screen->candidates[i].info >> 8) & 0xff) != 0) { num_digits = 2; } else { num_digits = 1; } } else { NUM_OF_DIGITS(num_digits, i); } win_width += xfont->width * (num_digits + 2); } win_width += total_candidate_width(cand_screen->font_man, cand_screen->candidates, top, last); /* height of window */ win_height = xfont->height + LINE_SPACE; resize(cand_screen, win_width, win_height); } else { win_width = cand_screen->window.width; win_height = cand_screen->window.height; } for (i = top; i <= last; i++) { int j; /* * digits * +--------------- * |1:cand0 2:cand1 * ^^ */ NUM_OF_DIGITS(num_digits, i); if (cand_screen->candidates[i].info) { char byte2; if ((byte2 = (cand_screen->candidates[i].info >> 8) & 0xff) != 0) { num_digits = 2; bl_snprintf(digit, MAX_NUM_OF_DIGITS + 1, "%c%c.", cand_screen->candidates[i].info, byte2); } else { num_digits = 1; bl_snprintf(digit, MAX_NUM_OF_DIGITS + 1, "%c.", cand_screen->candidates[i].info); } } else { bl_snprintf(digit, MAX_NUM_OF_DIGITS + 1, "%i.", i - top + 1); } p = digit_str; for (j = 0; j < num_digits + 1; j++) { vt_char_init(p); vt_char_set(p++, digit[j], US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); } if (draw_index != INVALID_INDEX) { if (i < draw_index) { x += (xfont->width * (num_digits + 2) + candidate_width(cand_screen->font_man, &cand_screen->candidates[i])); continue; } else /* if( i == draw_index) */ { last = draw_index; } } draw_str(cand_screen, digit_str, num_digits + 1, x, 0, xfont->height, xfont->ascent, 0); x += xfont->width * (num_digits + 1); vt_str_final(digit_str, num_digits + 1); /* * candidate * +--------------- * |1:cand0 2:cand2 * ^^^^^ */ draw_str(cand_screen, cand_screen->candidates[i].chars, cand_screen->candidates[i].filled_len, x, 0, xfont->height, xfont->ascent, 0); x += candidate_width(cand_screen->font_man, &cand_screen->candidates[i]); /* * +--------------- * |1:cand0 2:cand2 * ^ */ ui_window_clear(&cand_screen->window, x, LINE_SPACE / 2, xfont->width, win_height - LINE_SPACE); x += xfont->width; } } static void draw_screen(ui_im_candidate_screen_t *cand_screen, u_int old_index, int do_resize) { u_int top; u_int last; VISIBLE_INDEX(cand_screen->num_candidates, cand_screen->num_per_window, cand_screen->index, top, last); if (old_index != cand_screen->index && old_index != INVALID_INDEX) { u_int old_top; u_int old_last; VISIBLE_INDEX(cand_screen->num_candidates, cand_screen->num_per_window, old_index, old_top, old_last); if (old_top == top && old_last == last) { if (cand_screen->is_vertical_direction) { draw_screen_vertical(cand_screen, top, last, old_index, 0); draw_screen_vertical(cand_screen, top, last, cand_screen->index, 0); } else { draw_screen_horizontal(cand_screen, top, last, old_index, 0); draw_screen_horizontal(cand_screen, top, last, cand_screen->index, 0); } return; } } if (cand_screen->is_vertical_direction) { draw_screen_vertical(cand_screen, top, last, INVALID_INDEX, do_resize); } else { draw_screen_horizontal(cand_screen, top, last, INVALID_INDEX, do_resize); } } static void adjust_window_x_position(ui_im_candidate_screen_t *cand_screen, int *x) { u_int top; u_int last; u_int num_digits; if (cand_screen->is_vertical_term) { return; } VISIBLE_INDEX(cand_screen->num_candidates, cand_screen->num_per_window, cand_screen->index, top, last); if (cand_screen->is_vertical_direction) { if (cand_screen->num_candidates > cand_screen->num_per_window) { NUM_OF_DIGITS(num_digits, cand_screen->num_per_window); } else { NUM_OF_DIGITS(num_digits, last); } } else { num_digits = 1; } if (num_digits) { *x -= (ui_get_usascii_font(cand_screen->font_man)->width * (num_digits + 1) + MARGIN); if (*x < 0) { *x = 0; } } } /* * methods of ui_im_candidate_screen_t */ static void delete(ui_im_candidate_screen_t *cand_screen) { free_candidates(cand_screen->candidates, cand_screen->num_candidates); ui_display_remove_root(cand_screen->window.disp, &cand_screen->window); #ifdef USE_REAL_VERTICAL_FONT if (cand_screen->is_vertical_term) { ui_font_manager_delete(cand_screen->font_man); } #endif free(cand_screen); } static void show(ui_im_candidate_screen_t *cand_screen) { ui_window_map(&cand_screen->window); } static void hide(ui_im_candidate_screen_t *cand_screen) { ui_window_unmap(&cand_screen->window); } static int set_spot(ui_im_candidate_screen_t *cand_screen, int x, int y) { adjust_window_x_position(cand_screen, &x); cand_screen->x = x; cand_screen->y = y; adjust_window_position_by_size(cand_screen, &x, &y); if (cand_screen->window.x != x || cand_screen->window.y != y) { ui_window_move(&cand_screen->window, x, y); return 1; } else { return 0; } } static int init_candidates(ui_im_candidate_screen_t *cand_screen, u_int num_candidates, u_int num_per_window) { if (cand_screen->candidates) { free_candidates(cand_screen->candidates, cand_screen->num_candidates); cand_screen->candidates = NULL; } cand_screen->num_candidates = num_candidates; cand_screen->num_per_window = num_per_window; /* allocate candidates(ui_im_candidate_t) array */ if ((cand_screen->candidates = calloc(sizeof(ui_im_candidate_t), cand_screen->num_candidates)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " calloc failed.\n"); #endif cand_screen->num_candidates = 0; cand_screen->num_per_window = 0; return 0; } cand_screen->index = 0; cand_screen->need_redraw = 1; return 1; } static int set_candidate(ui_im_candidate_screen_t *cand_screen, ef_parser_t *parser, u_char *str, u_int index /* 16bit: info, 16bit: index */ ) { int count = 0; ef_char_t ch; vt_char_t *p; u_short info; info = index >> 16; index &= 0xFF; if (index >= cand_screen->num_candidates) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " index of candidates is too large number " "[num_candidates: %d, index: %d]\n", cand_screen->num_candidates, index); #endif return 0; } cand_screen->candidates[index].info = info; /* * count number of characters to allocate candidates[index].chars */ (*parser->init)(parser); (*parser->set_str)(parser, str, strlen(str)); while ((*parser->next_char)(parser, &ch)) { count++; } if (cand_screen->candidates[index].chars) { vt_str_delete(cand_screen->candidates[index].chars, cand_screen->candidates[index].num_chars); } if (!(cand_screen->candidates[index].chars = vt_str_new(count))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_str_new() failed.\n"); #endif cand_screen->candidates[index].num_chars = 0; cand_screen->candidates[index].filled_len = 0; return 0; } cand_screen->candidates[index].num_chars = count; /* * im encoding -> term encoding */ (*parser->init)(parser); (*parser->set_str)(parser, str, strlen(str)); p = cand_screen->candidates[index].chars; vt_str_init(p, cand_screen->candidates[index].num_chars); while ((*parser->next_char)(parser, &ch)) { int is_fullwidth = 0; int is_comb = 0; if (vt_convert_to_internal_ch(cand_screen->vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } if (ch.property & EF_COMBINING) { is_comb = 1; if (vt_char_combine(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } vt_char_set(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, 0, 0, 0); p++; cand_screen->candidates[index].filled_len++; } cand_screen->need_redraw = 1; return 1; } static int select_candidate(ui_im_candidate_screen_t *cand_screen, u_int index) { ui_im_candidate_t *cand; u_int i; u_int old_index; if (index >= cand_screen->num_candidates) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Selected index [%d] is larger than number of candidates [%d].\n", index, cand_screen->num_candidates); #endif return 0; } cand = &cand_screen->candidates[cand_screen->index]; if (cand->chars) { for (i = 0; i < cand->filled_len; i++) { vt_char_set_fg_color(&cand->chars[i], VT_FG_COLOR); vt_char_set_bg_color(&cand->chars[i], VT_BG_COLOR); } } cand = &cand_screen->candidates[index]; if (cand->chars) { for (i = 0; i < cand->filled_len; i++) { vt_char_set_fg_color(&cand->chars[i], VT_BG_COLOR); vt_char_set_bg_color(&cand->chars[i], VT_FG_COLOR); } } if (cand_screen->need_redraw) { old_index = INVALID_INDEX; cand_screen->need_redraw = 0; } else { old_index = cand_screen->index; } cand_screen->index = index; draw_screen(cand_screen, old_index, 1); return 1; } /* * callbacks of ui_window events */ static void window_realized(ui_window_t *win) { ui_im_candidate_screen_t *cand_screen; cand_screen = (ui_im_candidate_screen_t *)win; ui_window_set_type_engine(&cand_screen->window, ui_get_type_engine(cand_screen->font_man)); ui_window_set_fg_color(win, ui_get_xcolor(cand_screen->color_man, VT_FG_COLOR)); ui_window_set_bg_color(win, ui_get_xcolor(cand_screen->color_man, VT_BG_COLOR)); ui_window_set_override_redirect(&cand_screen->window, 1); } static void window_exposed(ui_window_t *win, int x, int y, u_int width, u_int height) { ui_im_candidate_screen_t *cand_screen; cand_screen = (ui_im_candidate_screen_t *)win; if (cand_screen->num_candidates > 0) { draw_screen(cand_screen, INVALID_INDEX, 0); } cand_screen->need_redraw = 0; /* draw border (margin area has been already cleared in ui_window.c) */ ui_window_draw_rect_frame(win, -MARGIN, -MARGIN, win->width + MARGIN - 1, win->height + MARGIN - 1); } static void button_pressed(ui_window_t *win, XButtonEvent *event, int click_num) { ui_im_candidate_screen_t *cand_screen; u_int index; u_int top; u_int last; cand_screen = (ui_im_candidate_screen_t *)win; if (event->button != 1) { return; } if (!cand_screen->listener.selected) { return; } VISIBLE_INDEX(cand_screen->num_candidates, cand_screen->num_per_window, cand_screen->index, top, last); index = event->y / (ui_get_usascii_font(cand_screen->font_man)->height + LINE_SPACE); index += top; if (!select_candidate(cand_screen, index)) { return; } (*cand_screen->listener.selected)(cand_screen->listener.self, index); } /* --- global functions --- */ ui_im_candidate_screen_t *ui_im_candidate_screen_new(ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, int is_vertical_term, int is_vertical_direction, u_int line_height_of_screen, int x, int y) { ui_im_candidate_screen_t *cand_screen; if ((cand_screen = calloc(1, sizeof(ui_im_candidate_screen_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } #ifdef USE_REAL_VERTICAL_FONT if (is_vertical_term) { cand_screen->font_man = ui_font_manager_new(disp->display, ui_get_type_engine(font_man), ui_get_font_present(font_man) & ~FONT_VERTICAL, ui_get_font_size(font_man), ui_get_current_usascii_font_cs(font_man), font_man->step_in_changing_font_size, ui_get_letter_space(font_man), ui_is_using_bold_font(font_man), ui_is_using_italic_font(font_man)); } else #endif { cand_screen->font_man = font_man; } cand_screen->color_man = color_man; cand_screen->vtparser = vtparser; cand_screen->x = x; cand_screen->y = y; cand_screen->line_height = line_height_of_screen; cand_screen->is_vertical_term = is_vertical_term; cand_screen->is_vertical_direction = is_vertical_direction; if (!ui_window_init(&cand_screen->window, MARGIN * 2, MARGIN * 2, MARGIN * 2, MARGIN * 2, 0, 0, MARGIN, MARGIN, /* ceate_gc */ 1, 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_window_init failed.\n"); #endif goto error; } ui_window_add_event_mask(&cand_screen->window, ButtonPressMask | ButtonReleaseMask); /* * +------------+ * | ui_window.c | --- window events ---> +-------------------------+ * +------------+ | ui_im_candidate_screen.c | * +------------+ ----- methods ------> +-------------------------+ * | im plugin | <---- callbacks ------ * +------------+ */ /* callbacks for window events */ cand_screen->window.window_realized = window_realized; #if 0 cand_screen->window.window_finalized = window_finalized; #endif cand_screen->window.window_exposed = window_exposed; #if 0 cand_screen->window.button_released = button_released; #endif cand_screen->window.button_pressed = button_pressed; #if 0 cand_screen->window.button_press_continued = button_press_continued; cand_screen->window.window_deleted = window_deleted; cand_screen->window.mapping_notify = mapping_notify; #endif /* methods of ui_im_candidate_screen_t */ cand_screen->delete = delete; cand_screen->show = show; cand_screen->hide = hide; cand_screen->set_spot = set_spot; cand_screen->init = init_candidates; cand_screen->set = set_candidate; cand_screen->select = select_candidate; if (!ui_display_show_root(disp, &cand_screen->window, x, y, XValue | YValue, "mlterm-candidate-window", 0)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_display_show_root() failed.\n"); #endif goto error; } return cand_screen; error: free(cand_screen); return NULL; } #else /* ! USE_IM_PLUGIN */ ui_im_candidate_screen_t *ui_im_candidate_screen_new( ui_display_t *disp, ui_font_manager_t *font_man, ui_color_manager_t *color_man, void *vtparser, int is_vertical_term, int is_vertical_direction, u_int line_height_of_screen, int x, int y) { return NULL; } #endif mlterm-3.8.4/uitoolkit/ui_font.h010064400017600000144000000077101321054731200153660ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_FONT_H__ #define __UI_FONT_H__ /* X11/Xlib.h must be included ahead of Xft.h on XFree86-4.0.x or before. */ #include "ui.h" #include /* u_int */ #include #include "ui_type_engine.h" #define FONT_VERTICAL (FONT_VERT_LTR|FONT_VERT_RTL) typedef enum ui_font_present { FONT_VERT_LTR = 0x1, /* == VERT_LTR */ FONT_VERT_RTL = 0x2, /* == VERT_RTL */ FONT_VAR_WIDTH = 0x4, FONT_AA = 0x8, FONT_NOAA = 0x10, /* Don't specify with FONT_AA */ } ui_font_present_t; typedef struct _XftFont *xft_font_ptr_t; typedef struct _cairo_scaled_font *cairo_scaled_font_ptr_t; typedef struct _FcCharSet *fc_charset_ptr_t; typedef struct _FcPattern *fc_pattern_ptr_t; /* defined in xlib/ui_decsp_font.h */ typedef struct ui_decsp_font *ui_decsp_font_ptr_t; typedef struct ui_font { /* * Private */ Display *display; /* * Public(readonly) */ vt_font_t id; #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) xft_font_ptr_t xft_font; #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_CAIRO) cairo_scaled_font_ptr_t cairo_font; struct { fc_charset_ptr_t charset; void *next; } * compl_fonts; fc_pattern_ptr_t pattern; #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) XFontStruct *xfont; #endif ui_decsp_font_ptr_t decsp_font; #ifdef USE_OT_LAYOUT /* ot_font == NULL and use_ot_layout == true is possible in ISO10646_UCS4_1_V * font. */ void *ot_font; int8_t ot_font_not_found; int8_t use_ot_layout; #endif /* * These members are never zero. */ u_int8_t width; u_int8_t height; u_int8_t ascent; /* This is not zero only when is_proportional is true and xfont is set. */ int8_t x_off; /* * If is_var_col_width is false and is_proportional is true, * characters are drawn one by one. (see {xft_}draw_str()) */ int8_t is_var_col_width; int8_t is_proportional; int8_t is_vertical; int8_t double_draw_gap; int8_t size_attr; } ui_font_t; void ui_compose_dec_special_font(void); #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) void ui_font_use_fontconfig(void); #endif ui_font_t *ui_font_new(Display *display, vt_font_t id, int size_attr, ui_type_engine_t type_engine, ui_font_present_t font_present, const char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold, u_int letter_space); void ui_font_delete(ui_font_t *font); int ui_font_load_xft_font(ui_font_t *font, char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold); int ui_font_load_xfont(ui_font_t *font, char *fontname, u_int fontsize, u_int col_width, int use_medium_for_bold); u_int ui_calculate_char_width(ui_font_t *font, u_int32_t ch, ef_charset_t cs, int *draw_alone); int ui_font_has_ot_layout_table(ui_font_t *font); u_int ui_convert_text_to_glyphs(ui_font_t *font, u_int32_t *shaped, u_int shaped_len, int8_t *offsets, u_int8_t *widths, u_int32_t *cmapped, u_int32_t *src, u_int src_len, const char *script, const char *features); #ifdef USE_XLIB char **ui_font_get_encoding_names(ef_charset_t cs); #else #define ui_font_get_encoding_names(cs) (0) #endif #if defined(USE_XLIB) || defined(USE_WAYLAND) /* For mlterm-libvte */ void ui_font_set_dpi_for_fc(double dpi); #endif #ifdef SUPPORT_POINT_SIZE_FONT void ui_font_use_point_size(int use); #else #define ui_font_use_point_size(bool) (0) #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XFT) || defined(USE_TYPE_CAIRO) void ui_use_cp932_ucs_for_xft(void); u_int32_t ui_convert_to_xft_ucs4(u_int32_t ch, ef_charset_t cs); #endif #if !defined(NO_DYNAMIC_LOAD_TYPE) || defined(USE_TYPE_XCORE) size_t ui_convert_ucs4_to_utf16(u_char *utf16, u_int32_t ucs4); #endif #ifdef DEBUG void ui_font_dump(ui_font_t *font); #endif #endif mlterm-3.8.4/uitoolkit/ui.h010064400017600000144000000022761321054731200143420ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_H__ #define __UI_H__ #if defined(USE_WIN32GUI) #include "win32/ui.h" #define GUI_TYPE "win32" #elif defined(USE_CONSOLE) #include "console/ui.h" #define GUI_TYPE "console" #elif defined(USE_FRAMEBUFFER) #include "fb/ui.h" #define GUI_TYPE "fb" #elif defined(USE_QUARTZ) #include "quartz/ui.h" #define GUI_TYPE "quartz" #elif defined(USE_WAYLAND) #include "wayland/ui.h" #define GUI_TYPE "wayland" #else #include "xlib/ui.h" #define USE_XLIB #define GUI_TYPE "xlib" #endif /* * Note for XStringToKeysym(char *str) * The values of 'a'-'z' keysyms are always 0x61-0x7a, but the values of other * keysyms (signs, digits etc) aren't necessarily their ascii values. */ /* * Xlib utility definitions. */ #define ModMask (Mod1Mask | Mod2Mask | Mod3Mask | Mod4Mask | Mod5Mask) #ifndef Button6 #define Button6 6 #endif #ifndef Button6Mask #define Button6Mask (Button5Mask << 1) #endif #ifndef Button7 #define Button7 7 #endif #ifndef Button7Mask #define Button7Mask (Button5Mask << 2) #endif #define ButtonMask \ (Button1Mask | Button2Mask | Button3Mask | Button4Mask | Button5Mask | Button6Mask | Button7Mask) #endif mlterm-3.8.4/uitoolkit/ui_sb_view_factory.c010064400017600000144000000224321321054731200175760ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_sb_view_factory.h" #include /* sprintf */ #include #include /* alloca */ #include /* strdup */ #include #include #include "ui_simple_sb_view.h" #include "ui_imagelib.h" #ifndef LIBDIR #define SBLIB_DIR "/usr/local/lib/mlterm/" #else #define SBLIB_DIR LIBDIR "/mlterm/" #endif #ifndef XDATADIR #define SB_DIR "/usr/local/share/mlterm/scrollbars" #else #define SB_DIR XDATADIR "/mlterm/scrollbars" #endif typedef ui_sb_view_t* (*ui_sb_view_new_func_t)(void); typedef ui_sb_view_t* (*ui_sb_engine_new_func_t)(ui_sb_view_conf_t *conf, int is_transparent); /* --- static variables --- */ #ifdef SUPPORT_PIXMAP_ENGINE static ui_sb_view_conf_t **view_confs; static u_int num_view_confs; #endif /* --- static functions --- */ static inline ui_sb_view_t *check_version(ui_sb_view_t *view) { return view->version == 1 ? view : NULL; } static ui_sb_view_new_func_t dlsym_sb_view_new_func(const char *name, int is_transparent) { bl_dl_handle_t handle; char *symbol; u_int len; #ifdef PLUGIN_MODULE_SUFFIX char *p; if (!(p = alloca(strlen(name) + 3 + 1))) { return NULL; } sprintf(p, "%s-" PLUGIN_MODULE_SUFFIX, name); if (!(handle = bl_dl_open(SBLIB_DIR, p)) && !(handle = bl_dl_open("", p))) #else if (!(handle = bl_dl_open(SBLIB_DIR, name)) && !(handle = bl_dl_open("", name))) #endif { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " bl_dl_open(%s) failed.\n", name); #endif return NULL; } bl_dl_close_at_exit(handle); len = 27 + strlen(name) + 1; if ((symbol = alloca(len)) == NULL) { return NULL; } if (is_transparent) { sprintf(symbol, "ui_%s_transparent_sb_view_new", name); } else { sprintf(symbol, "ui_%s_sb_view_new", name); } return (ui_sb_view_new_func_t)bl_dl_func_symbol(handle, symbol); } /* * pixmap_engine is supported only if mlterm is built with -export-dynamic * option of ld * because shared library of pixmap_engine refers to ui_imagelib_load_file. */ #ifdef SUPPORT_PIXMAP_ENGINE static ui_sb_engine_new_func_t dlsym_sb_engine_new_func(const char *name) { ui_sb_engine_new_func_t func; bl_dl_handle_t handle; char *symbol; u_int len; #ifdef PLUGIN_MODULE_SUFFIX char *p; if (!(p = alloca(strlen(name) + 3 + 1))) { return NULL; } sprintf(p, "%s-" PLUGIN_MODULE_SUFFIX, name); if (!(handle = bl_dl_open(SBLIB_DIR, name)) && !(handle = bl_dl_open("", name))) #else if (!(handle = bl_dl_open(SBLIB_DIR, name)) && !(handle = bl_dl_open("", name))) #endif { return NULL; } bl_dl_close_at_exit(handle); len = 16 + strlen(name) + 1; if ((symbol = alloca(len)) == NULL) { return NULL; } sprintf(symbol, "ui_%s_sb_engine_new", name); if ((func = (ui_sb_engine_new_func_t)bl_dl_func_symbol(handle, symbol)) == NULL) { return NULL; } return func; } static ui_sb_view_conf_t *search_view_conf(const char *sb_name) { u_int count; for (count = 0; count < num_view_confs; count++) { if (strcmp(view_confs[count]->sb_name, sb_name) == 0) { return view_confs[count]; } } return NULL; } static void free_conf(ui_sb_view_conf_t *conf) { ui_sb_view_rc_t *rc; int i; free(conf->sb_name); free(conf->engine_name); free(conf->dir); for (rc = conf->rc, i = 0; i < conf->rc_num; rc++, i++) { free(rc->key); free(rc->value); } free(conf->rc); free(conf); } static ui_sb_view_conf_t *register_new_view_conf(bl_file_t *rcfile, const char *sb_name, char *rcfile_path) { ui_sb_view_conf_t *conf; char *key; char *value; int len; void *p; if ((conf = calloc(1, sizeof(ui_sb_view_conf_t))) == NULL) { return NULL; } conf->load_image = ui_imagelib_load_file; conf->sb_name = strdup(sb_name); /* remove "/rc" /foo/bar/name/rc -> /foo/bar/name */ len = strlen(rcfile_path) - 3; if ((conf->dir = malloc(sizeof(char) * (len + 1))) == NULL) { goto error; } strncpy(conf->dir, rcfile_path, len); conf->dir[len] = '\0'; while (bl_conf_io_read(rcfile, &key, &value)) { if (strcmp(key, "engine") == 0) { /* Last "engine" parameter is effective. */ free(conf->engine_name); conf->engine_name = strdup(value); } else { ui_sb_view_rc_t *p; if ((p = realloc(conf->rc, sizeof(ui_sb_view_rc_t) * (conf->rc_num + 1))) == NULL) { #ifdef __DEBUG bl_debug_printf("realloc() failed."); #endif goto error; } conf->rc = p; p = &conf->rc[conf->rc_num]; p->key = strdup(key); p->value = strdup(value); conf->rc_num++; } } if (conf->engine_name == NULL) { goto error; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "%s has been registered as new view. [dir: %s]\n", conf->sb_name, conf->dir); #endif if ((p = realloc(view_confs, sizeof(ui_sb_view_conf_t*) * (num_view_confs + 1))) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif goto error; } view_confs = p; view_confs[num_view_confs++] = conf; return conf; error: free_conf(conf); return NULL; } static int unregister_view_conf(ui_sb_view_conf_t *conf) { u_int count; for (count = 0; count < num_view_confs; count++) { if (view_confs[count] == conf) { free_conf(conf); view_confs[count] = view_confs[--num_view_confs]; if (num_view_confs == 0) { free(view_confs); view_confs = NULL; } } } return 1; } static ui_sb_view_conf_t *find_view_rcfile(const char *name) { ui_sb_view_conf_t *conf; bl_file_t *rcfile; char *user_dir; char *path; /* search known conf from view_conf_list */ if ((conf = search_view_conf(name))) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "%s was found in view_conf_list\n", sb_name); #endif return conf; } if (!(user_dir = bl_get_user_rc_path("mlterm/scrollbars"))) { return NULL; } if (!(path = malloc(strlen(user_dir) + strlen(name) + 5))) { free(user_dir); return NULL; } sprintf(path, "%s/%s/rc", user_dir, name); free(user_dir); if (!(rcfile = bl_file_open(path, "r"))) { void *p; if (!(p = realloc(path, strlen(SB_DIR) + strlen(name) + 5))) { free(path); return NULL; } path = p; sprintf(path, "%s/%s/rc", SB_DIR, name); if (!(rcfile = bl_file_open(path, "r"))) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "rcfile for %s could not be found\n", name); #endif free(path); return NULL; } } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG "rcfile for %s: %s\n", name, path); #endif conf = register_new_view_conf(rcfile, name, path); free(path); bl_file_close(rcfile); return conf; } #endif /* --- global functions --- */ ui_sb_view_t *ui_sb_view_new(const char *name) { ui_sb_view_new_func_t func; #ifdef SUPPORT_PIXMAP_ENGINE ui_sb_view_conf_t *conf; /* new style plugin ? (requires rcfile and engine library) */ if ((conf = find_view_rcfile(name))) { ui_sb_engine_new_func_t func_engine; if ((func_engine = dlsym_sb_engine_new_func(conf->engine_name)) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s scrollbar failed.\n", name); #endif unregister_view_conf(conf); return NULL; } /* * Increment conf->use_count in func_engine(). * Decrement conf->use_count in ui_sb_view_t::delete(). */ return check_version((*func_engine)(conf, 0)); } #endif if (strcmp(name, "simple") == 0) { return check_version(ui_simple_sb_view_new()); } else if ((func = dlsym_sb_view_new_func(name, 0)) == NULL) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s scrollbar failed.\n", name); #endif return NULL; } return check_version((*func)()); } ui_sb_view_t *ui_transparent_sb_view_new(const char *name) { ui_sb_view_new_func_t func; #ifdef SUPPORT_PIXMAP_ENGINE ui_sb_view_conf_t *conf; /* new style plugin? (requires an rcfile and an engine library) */ if ((conf = find_view_rcfile(name))) { ui_sb_engine_new_func_t func_engine; if ((func_engine = dlsym_sb_engine_new_func(conf->engine_name)) == NULL) { unregister_view_conf(conf); return NULL; } return check_version((*func_engine)(conf, 1)); } #endif if (strcmp(name, "simple") == 0) { return check_version(ui_simple_transparent_sb_view_new()); } else if ((func = dlsym_sb_view_new_func(name, 1)) == NULL) { return NULL; } return check_version((*func)()); } /* * This function cleans up configurations of pixmap_engine. * Call this function after ui_sb_view_t::delete() is called. */ void ui_unload_scrollbar_view_lib(const char *name) { #ifdef SUPPORT_PIXMAP_ENGINE ui_sb_view_conf_t *conf; /* new style plugin? (requires an rcfile and an engine library) */ if ((conf = search_view_conf(name))) { /* remove unused conf */ if (conf->use_count == 0) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s(pixmap_engine) is no longer used. removing from " "view_conf_list\n", name); #endif unregister_view_conf(conf); } #ifdef __DEBUG else { bl_debug_printf(BL_DEBUG_TAG " %s(pixmap_engine) is still being used. [use_count: %d]\n", name, conf->use_count); } #endif } #endif } mlterm-3.8.4/uitoolkit/ui_event_source.h010064400017600000144000000005251321054731200171160ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_EVENT_SOURCE_H__ #define __UI_EVENT_SOURCE_H__ void ui_event_source_init(void); void ui_event_source_final(void); int ui_event_source_process(void); int ui_event_source_add_fd(int fd, void (*handler)(void)); void ui_event_source_remove_fd(int fd); #endif mlterm-3.8.4/tool004075500017600000144000000000001321054731200124235ustar kenusersmlterm-3.8.4/tool/mlclient004075500017600000144000000000001321054731200142325ustar kenusersmlterm-3.8.4/tool/mlclient/Makefile.in010064400017600000144000000012071321054731200163530ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ VPATH = ${top_srcdir}/tool/mlclient CC = @CC@ CFLAGS = @CFLAGS@ @CPPFLAGS@ LIBS = @SOCK_LIBS@ INSTALL = @INSTALL@ BINDIR = $(DESTDIR)$(bindir) OBJ = main.o PROG = mlclient all: $(PROG) $(PROG): $(OBJ) $(CC) -o $(PROG) $(OBJ) $(LIBS) @LDFLAGS@ cp $(PROG) $(PROG)x .SUFFIXES: .c.o .c.o: $(CC) $(CFLAGS) -c $< clean: rm -f $(OBJ) $(PROG)* *core distclean: clean rm -f Makefile $(BINDIR): mkdir -p $(BINDIR) install: $(BINDIR) $(INSTALL) -m 755 $(PROG)* $(BINDIR) uninstall: rm -f $(BINDIR)/$(PROG) $(BINDIR)/$(PROG)x mlterm-3.8.4/tool/mlclient/Makefile010064400017600000144000000004171321054731200157500ustar kenusersVPATH = . CC = gcc CFLAGS = -O2 -Wall -g INSTALL = /usr/bin/install -c OBJ = main.o PROG = mlclient all: $(PROG) $(PROG): $(OBJ) $(CC) -o $(PROG) $(OBJ) $(LIBS) cp $(PROG) $(PROG)x .SUFFIXES: .c.o .c.o: $(CC) $(CFLAGS) -c $< clean: rm -f $(OBJ) $(PROG)* *core mlterm-3.8.4/tool/mlclient/main.c010064400017600000144000000111271321054731200154000ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include /* free */ #include #include #include /* write */ #include /* memset */ #include #include #ifndef AF_LOCAL #define AF_LOCAL AF_UNIX #endif /* --- static variables --- */ static char *na_options[] = { "-@/--screens", "-R/--fsrange", "-Y/--decsp", "-c/--cp932", "-i/--xim", "-j/--daemon", " --depth", " --maxptys", " --keepalive", " --metaprefix", " --deffont", }; /* --- static functions --- */ static void version(void) { printf("mlclient(x)\n"); } static void help(int is_mlclientx) { int count; printf("mlclient(x) [prefix options] [options]\n\n"); printf("prefix optioins:\n"); printf(" /dev/...: specify pty with which a new window is opened.\n\n"); printf("options:\n"); printf(" -P/--ptylist: print pty list.\n"); printf(" --kill: kill mlterm server.\n"); if (is_mlclientx) { printf(" --hsep=value: open new pty in horizontally splitted screen.\n"); printf(" --vsep=value: open new pty in vertically splitted screen.\n"); } printf( " (--ptylist and --kill options are available only if mlterm server is " "alive.)\n\n"); printf(" N.A. options among those of mlterm.\n"); for (count = 0; count < sizeof(na_options) / sizeof(na_options[0]); count++) { printf(" %s\n", na_options[count]); } if (is_mlclientx) { printf(" ...and options related to window, font, color and appearance\n"); } } static int set_daemon_socket_path(struct sockaddr_un *addr) { const char subdir[] = "/.config/mlterm"; const char *dir; size_t len; struct stat st; if ((dir = getenv("HOME")) == NULL || '/' != dir[0]) { return 0; } if ((len = strlen(dir) + sizeof(subdir) + 1 + 6) <= sizeof(addr->sun_path)) { sprintf(addr->sun_path, "%s%s", dir, subdir); if (stat(addr->sun_path, &st) == 0) { strcat(addr->sun_path, "/socket"); return 1; } } if (len - 7 > sizeof(addr->sun_path)) { return 0; } sprintf(addr->sun_path, "%s/.mlterm/socket", dir); return 1; } static int write_argv(int argc, char **argv, int fd) { char *p; int count; /* Extract program name. */ if ((p = strrchr(argv[0], '/'))) { argv[0] = p + 1; } /* Don't quote argv[0] by "" for "\x1b]5379;mlclient" sequence. */ write(fd, argv[0], strlen(argv[0])); if (argc == 1) { return 1; } for (count = 1; count < argc; count++) { p = argv[count]; write(fd, " \"", 2); while (*p) { if (*p == '\"') { write(fd, "\\\"", 2); } #if 0 else if (*p == '=') { /* * mlterm 3.0.6 or before doesn't accept '=' in * "\x1b]5379;mlclient" sequence. */ write(fd, "\" \"", 3); } #endif else { write(fd, p, 1); } p++; } write(fd, "\"", 1); } return 1; } /* --- global functions --- */ int main(int argc, char **argv) { int count; char *p; for (count = 1; count < argc; count++) { p = argv[count]; if (*p == '-') { p++; if (*p == '-') { /* long option */ p++; } if (strcmp(p, "help") == 0 || strcmp(p, "h") == 0) { help(strstr(argv[0], "mlclientx") != NULL); return 0; } else if (strcmp(p, "version") == 0 || strcmp(p, "v") == 0) { version(); return 0; } else if (strcmp(p, "e") == 0) { /* argvs after -e are NOT options for mlterm */ break; } } } if (strstr(argv[0], "mlclientx") == NULL) { int fd; struct sockaddr_un servaddr; if ((fd = socket(AF_LOCAL, SOCK_STREAM, 0)) != -1) { memset(&servaddr, 0, sizeof(servaddr)); servaddr.sun_family = AF_LOCAL; if (set_daemon_socket_path(&servaddr)) { if (connect(fd, (struct sockaddr*)&servaddr, sizeof(servaddr)) != -1) { char buf[256]; ssize_t len; write_argv(argc, argv, fd); write(fd, "\n", 1); while ((len = read(fd, buf, sizeof(buf))) > 0) { write(STDERR_FILENO, buf, len); if (len == 16 && strncmp(buf, "Error happened.\n", 16) == 0) { close(fd); goto config_proto; } } close(fd); return 0; } } close(fd); } fprintf(stderr, "Mlterm server is dead.\n"); } config_proto: fprintf(stderr, "Retrying by configuration protocol.\n"); write(STDOUT_FILENO, "\x1b]5379;", 7); write_argv(argc, argv, STDOUT_FILENO); write(STDOUT_FILENO, "\x07", 1); return 0; } mlterm-3.8.4/tool/w3mmlconfig004075500017600000144000000000001321054731200146505ustar kenusersmlterm-3.8.4/tool/w3mmlconfig/key004075500017600000144000000000001321054731200154405ustar kenusersmlterm-3.8.4/tool/w3mmlconfig/key/scrollbar_mode010064400017600000144000000000401321054731200204200ustar kenusersnone None left Left right Right mlterm-3.8.4/tool/w3mmlconfig/key/vertical_mode010064400017600000144000000000401321054731200202460ustar kenusersnone None cjk CJK mongol Mongol mlterm-3.8.4/tool/w3mmlconfig/key/bel_mode010064400017600000144000000000441321054731200172030ustar kenusersnone None sound Sound visual Visual mlterm-3.8.4/tool/w3mmlconfig/key/encoding010064400017600000144000000013331321054731200172250ustar kenusersUTF8 UTF-8 ISO88591 ISO-8859-1 ISO88592 ISO-8859-2 ISO88593 ISO-8859-3 ISO88594 ISO-8859-4 ISO88595 ISO-8859-5 ISO88596 ISO-8859-6 ISO88597 ISO-8859-7 ISO88598 ISO-8859-8 ISO88599 ISO-8859-9 ISO885910 ISO-8859-10 ISO885911 ISO-8859-11(TIS-620) ISO885913 ISO-8859-13 ISO885914 ISO-8859-14 ISO885915 ISO-8859-15 ISO885916 ISO-8859-16 TCVN5712 TCVN5712 ISCII ISCII VISCII VISCII KOI8R KOI8-R KOI8U KOI8-U EUCJP EUC-JP EUCJISX0213 EUC-JISX0213 SJIS Shift_JIS SJISX0213 Shift_JISX0213 ISO2022JP ISO-2022-JP ISO2022JP2 ISO-2022-JP-2 ISO2022JP3 ISO-2022-JP-3 EUCKR EUC-KR UHC UHC JOHAB JOHAB ISO2022KR ISO-2022-KR EUCTW EUC-TW BIG5 BIG5 BIG5HKSCS BIG5HKSCS EUCCN EUC-CN GBK GBK GB18030 GB18030 HZ HZ ISO2022CN ISO-2022-CN mlterm-3.8.4/tool/w3mmlconfig/key/iscii_lang010064400017600000144000000002461321054731200175420ustar kenusersassamese Assamese bengali Bengali gujarati Gujarati hindi Hindi kannada Kannada malayalam Malayalam oriya Oriya punjabi Punjabi tamil Tamil telugu Telugu mlterm-3.8.4/tool/w3mmlconfig/key/mod_meta_mode010064400017600000144000000000341321054731200202250ustar kenusersnone None esc Esc 8bit 8bit mlterm-3.8.4/tool/w3mmlconfig/section004075500017600000144000000000001321054731200163145ustar kenusersmlterm-3.8.4/tool/w3mmlconfig/section/scrollbar010064400017600000144000000003671321054731200203040ustar kenusersscrollbar_mode radio:lower left 0 Position scrollbar_view_name text simple 0 View sb_fg_color text:lower black 0 Foreground color sb_bg_color text:lower white 0 Background color none none - 0   none none - 0   none none - 0   mlterm-3.8.4/tool/w3mmlconfig/section/others010064400017600000144000000005711321054731200176220ustar kenuserstabsize text:digit 8 0 Tab width (columns) logsize text:digit 128 0 Backlog size (lines) mod_meta_mode radio:lower none 0 Meta key outputs: vertical_mode radio:lower none 0 Vertical mode bel_mode radio:lower sound 0 Bel mode use_dynamic_comb checkbox false 0 Combining = 1 (or 0) logical column(s) use_multi_column_char checkbox true 0 Fullwidth = 2 (or 1) logical column(s) mlterm-3.8.4/tool/w3mmlconfig/section/color010064400017600000144000000004621321054731200174330ustar kenusersfg_color text:lower black 0 Foreground color bg_color text:lower white 0 Background color fade_ratio text:digit 100 0 Fade ratio on unfocus wall_picture text none 0 Wall picture brightness text:digit 100 0 Wall picture brightness use_transbg checkbox false 0 Transparent background none none - 0   mlterm-3.8.4/tool/w3mmlconfig/section/appearance010064400017600000144000000006131321054731200204120ustar kenusersfontsize text:digit 16 0 Font size (pixels) line_space text:digit 0 0 Line space (pixels) screen_width_ratio text:digit 100 0 Width ratio screen_height_ratio text:digit 100 0 Height ratio type_engine text:lower left 0 Type engine(xcore,xft) use_anti_alias checkbox false 0 Anti Alias use_variable_column_width checkbox false 1 Variable column width none none - 0   none none - 0   mlterm-3.8.4/tool/w3mmlconfig/section/encoding010064400017600000144000000005121321054731200200770ustar kenusers# key type default col title encoding select:upper auto 0 Encoding iscii_lang select:lower malayalam 0 ISCII lang input_method text - 0 Input method use_bidi checkbox true 0 Bidi (UTF8 only) use_combining checkbox true 1 Combining copy_paste_via_ucs checkbox false 0 Process received strings via Unicode none none - 0   mlterm-3.8.4/tool/w3mmlconfig/mk_mlconfig-data.pl010064400017600000144000000036031321054731200204570ustar kenusers while(<>) { /^#/ && next; chop; (($s, $t) = split(" ", $_, 2)) >= 2 || next; push(@section, $s); $section_attr->{$s} = { title => $t, key => [], }; &read_section($s); } print "\@section = (\n"; for $s (@section) { print "\t'$s',\n"; } print ");\n"; print "\$section_attr = {\n"; for $s (@section) { print "\t$s => {\n"; print "\t\ttitle => '$section_attr->{$s}{title}',\n"; print "\t\tkey => [\n"; for $k (@{$section_attr->{$s}{key}}) { print "\t\t\t'$k',\n"; } print "\t\t],\n"; print "\t},\n"; } print "};\n"; print "\$key_attr = {\n"; for $s (@section) { for $k (@{$section_attr->{$s}{key}}) { print "\t$k => {\n"; print "\t\ttype => '$key_attr->{$k}{type}',\n"; print "\t\tdefault => '$key_attr->{$k}{default}',\n"; print "\t\tcol => $key_attr->{$k}{col},\n"; print "\t\ttitle => '$key_attr->{$k}{title}',\n"; if (@{$key_attr->{$k}{item}}) { print "\t\titem => [\n"; for $i (@{$key_attr->{$k}{item}}) { print "\t\t\t'$i',\n"; } print "\t\t],\n"; } print "\t},\n"; } } print "};\n"; print "\$item_attr = {\n"; for $s (@section) { for $k (@{$section_attr->{$s}{key}}) { @{$key_attr->{$k}{item}} || next; print "\t$k => {\n"; for $i (@{$key_attr->{$k}{item}}) { print "\t\t'$i' => '$item_attr->{$k}{$i}',\n"; } print "\t},\n"; } } print "};\n"; sub read_section { local($s) = @_; local($_, $k, $T, $c, $t); open(S, "section/$s"); while() { /^#/ && next; chop; ($k, $T, $d, $c, $t) = split(" ", $_, 5); push(@{$section_attr->{$s}{key}}, $k); $key_attr->{$k} = { type => $T, default => $d, col => $c, title => $t, item => [], }; if ($T =~ /^select/ || $T =~ /^radio/) { &read_item($k); } } close(S); } sub read_item { local($k) = @_; local($_, $v, $t); open(K, "key/$k"); while() { /^#/ && next; chop; ($v, $t) = split(" ", $_, 2); push(@{$key_attr->{$k}{item}}, $v); $item_attr->{$k}{$v} = $t; } close(K); } mlterm-3.8.4/tool/w3mmlconfig/w3mmlconfig.in010064400017600000144000000006021321054731200174770ustar kenusers#!/bin/sh prefix=@prefix@ exec_prefix=@exec_prefix@ libexecdir=@libexecdir@ query="" case "$1" in -a) query="?SECTION=appearance" ;; -c) query="?SECTION=color" ;; -e) query="?SECTION=encoding" ;; -o) query="?SECTION=others" ;; -s) query="?SECTION=scrollbar" ;; -h) echo "$0 [-a|-c|-e|-o|-s]" ; exit ;; esac w3m -o cgi_bin=${libexecdir}/w3mmlconfig "file:/cgi-bin/mlconfig.cgi$query" mlterm-3.8.4/tool/w3mmlconfig/mlconfig-data010064400017600000144000000001441321054731200173530ustar kenusers# id title encoding Encoding color Color scrollbar Scrollbar appearance Appearance others Others mlterm-3.8.4/tool/w3mmlconfig/Makefile.in010064400017600000144000000022451321054731200167740ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ BIN_DIR = $(DESTDIR)$(prefix)/bin LIB_DIR = $(DESTDIR)$(libexecdir)/w3mmlconfig TARGETS = w3mmlconfig LIB_TARGETS = mlconfig.cgi DATA_TARGETS = mlconfig-data.pl DATA = mlconfig-data section/* key/* PERL = @PERL@ MKDIR = mkdir -p INSTALL = @INSTALL@ INSTALL_SCRIPT = $(INSTALL) -m 755 INSTALL_DATA = $(INSTALL) -m 644 all: $(TARGETS) $(LIB_TARGETS) $(DATA_TARGETS) mlconfig-data.pl: $(DATA) $(PERL) mk_mlconfig-data.pl mlconfig-data > $@ install: all -$(MKDIR) $(BIN_DIR) -$(MKDIR) $(LIB_DIR) for file in $(TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(BIN_DIR); \ done for file in $(LIB_TARGETS); \ do \ $(INSTALL_SCRIPT) $$file $(LIB_DIR); \ done for file in $(DATA_TARGETS); \ do \ $(INSTALL_DATA) $$file $(LIB_DIR); \ done uninstall: for file in $(TARGETS); \ do \ rm -f $(BIN_DIR)/$$file; \ done rm -rf $(LIB_DIR) clean: rm -f $(DATA_TARGETS) distclean: clean rm -f Makefile $(LIB_TARGETS) $(TARGETS) mlterm-3.8.4/tool/w3mmlconfig/mlconfig.cgi.in010064400017600000144000000267271321054731200176310ustar kenusers#!@PERL @ $DEBUG = 1; require 'mlconfig-data.pl'; open(CHALLENGE, "$ENV{HOME}/.mlterm/challenge"); $challenge = ; close(CHALLENGE); $config_file = "$ENV{HOME}/.mlterm/main"; $CGI = $ENV{SCRIPT_NAME} || $0; $CGI = &htvt_quote($CGI); $local_cookie = $ENV{LOCAL_COOKIE}; $method = ($ENV { REQUEST_METHOD } eq 'POST'); if ($method) { sysread(STDIN, $query, $ENV{CONTENT_LENGTH}); } else { $query = $ENV{QUERY_STRING}; } for (split('&', $query)) { s / ^([^=] *) = //; $value->{ $1} = &form_decode($_); } if ($local_cookie ne $value->{COOKIE}) { $method = 0; } if ($method) { if ($value->{SAVE}) { if ($value->{ SAVE } eq 'Yes') { &save_config(); } &make_header(0, $method); exit; } if ($value->{ SUBMIT } eq 'Cancel') { &make_header(1, $method); exit; } elsif($value->{full_reset}) { &set_config({full_reset = > '' }); &get_config(); &check_value(); } else { &check_value(); if ($value->{ SUBMIT } eq 'Save') { &load_config(); &make_save_config(); exit; } elsif($value->{ SUBMIT } eq 'OK') { &set_config(); &make_header(1, $method); exit; } elsif($value->{ SUBMIT } eq 'Apply') { &set_config(); } elsif($value->{fontsize_larger}) { &set_config({fontsize = > 'larger'}); &get_config(['fontsize']); } elsif($value->{fontsize_smaller}) { &set_config({fontsize = > 'smaller'}); &get_config(['fontsize']); } } } else { &get_config(); &check_value(); } &make_header(0, $method); &make_html(); sub make_header { local($quit, $method) = @_; if ($value->{SAVE}) { print "w3m-control: DELETE_PREVBUF\n"; print "w3m-control: BACK\n"; } elsif($quit && $value->{ QUIT } ne 'no') { print "w3m-control: EXIT\n"; } else { if ($value->{ SUBMIT } eq 'Apply') { print "w3m-control: GOTO #apply\n"; } else { print "w3m-control: GOTO #pos\n"; } print "w3m-control: DELETE_PREVBUF\n"; if ($quit || $method) { print "w3m-control: DELETE_PREVBUF\n"; } } print "Content-Type: text/html\n\n"; } sub make_html { local($s); print << EOF; mlterm configuration</ title></ head><body>< form action = "$CGI" method = POST><input type = hidden name = "COOKIE" value = "$local_cookie"><input type = hidden name = "QUIT" value = "$value->{QUIT}"><center><b> mlterm configuration</ b><table border = 1 width = 200> EOF $value->{SECTION} || = $value->{"default-SECTION"}; $value->{SECTION} = ~tr / A - Z / a - z / ; if (!defined($section_attr->{$value->{SECTION}})) { $value->{SECTION} = $section[0]; } &make_section($value->{SECTION}); print << EOF; <tr><td colspan = 2 align = center><nobr><input type = submit name = "SUBMIT" value = "OK">   <a name = "apply"><input type = submit name = "SUBMIT" value = "Apply"></ a> & nbsp; <input type = submit name = "SUBMIT" value = "Cancel">   <input type = reset value = "Reset">   <input type = submit name = "SUBMIT" value = "Save"></ nobr><tr align = center><td width = 50 %><table><tr><td> Font size<br><input type = submit name = "fontsize_larger" value = "Larger">< input type = submit name = "fontsize_smaller" value = "Smaller"></ table><td width = 50 %><table><tr><td> Full Reset<br><input type = submit name = "full_reset" value = "Full Reset"></ table></ table></ center></ form>< / body></ html> EOF } sub make_section { local($s) = @_; local($attr) = $section_attr->{$s}; local($k, $s2); print << EOF; <tr><td colspan=2 align=center><nobr> <input type=hidden name="default-SECTION" value="$s"> EOF for $s2 (@section) { if ($s eq $s2) { print "<b>[<a name=\"pos\">$section_attr->{$s}{title}</a>]</b>\n"; } else { print "<input type=submit name=\"SECTION\"", " value=\"$section_attr->{$s2}{title}\">\n"; } } print << EOF; </nobr> <tr><td colspan=2 align=center> <table> EOF for $k (@{$attr->{key}}) { &make_key($k); } print << EOF; </table> EOF for $s2 (@section) { $s eq $s2 &&next; $attr = $section_attr->{$s2}; for $k(@{$attr->{key}}) { print "<input type=hidden name=\"$k\" value=\"", &htvt_quote($value->{$k}), "\">\n"; print "<input type=hidden name=\"default-$k\" value=\"", &htvt_quote($value->{"default-$k"}), "\">\n"; } } } sub make_key { local($k) = @_; local($attr) = $key_attr->{$k}; local($type) = $attr->{type}; local($i); if (!$attr->{col}) { print "<tr>"; if ($type = ~ / ^checkbox / || $type = ~ / ^none / ) { print "<td colspan=2>\n"; } elsif($type = ~ / ^radio / ) { print "<td colspan=2><nobr>$attr->{title}\n"; } else { print "<td><nobr>$attr->{title}</nobr>\n"; print "<td>"; } } else { print " \n"; } if ($type = ~ / ^text / ) { print "<input type=text name=\"$k\" value=\"", &htvt_quote($value->{$k}), "\">\n"; } elsif($type = ~ / ^select / ) { print "<select name=\"$k\">\n"; for $i(@{$attr->{item}}) { print "<option value=\"$i\""; if ($value->{ $k } eq "$i") { print " selected"; } print ">"; print "$item_attr->{$k}{$i}\n"; } print "</select>\n"; } elsif($type = ~ / ^radio / ) { for $i(@{$attr->{item}}) { print " <input type=radio name=\"$k\" value=\"$i\""; if ($value->{ $k } eq "$i") { print " checked"; } print "> $item_attr->{$k}{$i}\n"; } print "</nobr>\n"; } elsif($type = ~ / ^checkbox / ) { print "<input type=checkbox name=\"$k\" value=\"true\""; if ($value->{ $k } eq "true") { print " checked"; } print ">\n"; print "$attr->{title}\n"; } elsif($type = ~ / ^none / ) { print "$attr->{title}\n"; return; } print "<input type=hidden name=\"default-$k\" value=\"", &htvt_quote($value->{"default-$k"}), "\">\n"; } sub check_value { local($k, $attr, $_, $ok); for $k(keys % {$key_attr}) { $k = ~ / ^_ / &&next; $attr = $key_attr->{$k}; $ok = 1; if ($attr->{type} = ~ / ^text : digit / ) { if ($value->{ $k } !~ / ^\d + $ / ) { $ok = 0; } } elsif($attr->{type} = ~ / ^(select | radio) : lower / ) { $value->{$k} = ~tr / A - Z / a - z / ; if (!defined($item_attr->{$k} {$value->{$k}})) { $ok = 0; } } elsif($attr->{type} = ~ / ^(select | radio) : upper / ) { $value->{$k} = ~tr / a - z / A - Z / ; if (!defined($item_attr->{$k} {$value->{$k}})) { $ok = 0; } } elsif($attr->{type} = ~ / ^checkbox / ) { $value->{$k} = ~tr / A - Z / a - z / ; if (!defined($value->{$k}) || $value->{ $k } eq '') { $value->{$k} = 'false'; } elsif(!($value->{ $k } eq 'true' || $value->{ $k } eq 'false')) { $ok = 0; } } if ($ok) { if (!defined($value->{"default-$k"})) { $value->{"default-$k"} = $value->{"$k"}; } } else { $value->{$k} = defined($value->{"default-$k"}) ? $value->{"default-$k"} : $attr->{default}; } } } sub get_config { local($key) = @_; local($k, $_); if (!$key) { $key = [keys % {$key_attr}]; } open(TTY, "+>/dev/tty"); for $k(@{$key}) { $k = ~ / ^_ / &&next; print TTY "\033]5380;$challenge;$k\007"; $_ = <TTY>; $DEBUG &&print "DEBUG: get $_"; s / ^\#${ k} = // || next; chop; $value->{$k} = $_; $value->{"default-$k"} = $_; } close(TTY); } sub set_config { local($val) = @_; local(@key, $k, $_); if ($val) { @key = keys % {$val}; } else { @key = keys % {$key_attr}; $val = $value; } open(TTY, ">/dev/tty"); for $k(@key) { $k = ~ / ^_ / &&next; $val->{ $k } eq $value->{"default-$k"} && next; $DEBUG &&print "DEBUG: set $k=$val->{$k}\n"; print TTY "\033]5379;$k=$val->{$k}\007"; $value->{"default-$k"} = $val->{$k}; } close(TTY); } sub load_config { local($_, $k); open(F, "<$config_file") || return; while (<F>) { s / ^(\w + )\s *=\s * // || next; $k = $1; $k = ~tr / A - Z / a - z / ; chomp; $config->{$k} = $_; } close(F); } sub save_config { local($k); local($dir) = $config_file; $dir = ~s @[ ^ / ] + $ @ @; if (-d $dir) { if (-f $config_file) { rename($config_file, "$config_file.bak") || return; } } else { mkdir($dir, 0700) || return; } open(F, ">$config_file") || return; for $k(split(" ", $value->{KEYS})) { print F "$k=$value->{$k}\n"; } close(F); } sub make_save_config { local($s, $attr, $k, $v, @ks); print "Content-Type: text/html\n\n"; print << EOF; <html><head><title> mlterm configuration</ title></ head><body><center><b> mlterm configuration</ b></ center><form action = "$CGI" method = POST>< input type = hidden name = "COOKIE" value = "$local_cookie"><p> Do you save the configuration to $config_file ? <br><input type = submit name = "SAVE" value = "Yes"><input type = submit name = "SAVE" value = "No"><hr> EOF @ks = (); for $s(@section) { $attr = $section_attr->{$s}; for $k(@{$attr->{key}}) { defined($config->{$k}) && delete $config->{$k}; $v = $value->{$k}; if ($key_attr->{$k}{ type} eq 'none' || $key_attr->{$k}{default} eq '-' || $v eq $key_attr->{$k}{default} || $v eq '') { next; } $v = &htvt_quote($v); print "$k=$v<br>\n"; print "<input type=hidden name=\"$k\" value=\"$v\">\n"; push(@ks, $k); } } for $k(sort keys % {$config}) { $v = &htvt_quote($config->{$k}); print "$k=$v<br>\n"; print "<input type=hidden name=\"$k\" value=\"$v\">\n"; push(@ks, $k); } print << EOF; <input type = hidden name =\"KEYS\" value=\"@ks\"> < / form></ body></ html> EOF } sub htvt_quote { local($_) = @_; local(% QUOTE) = ('<', '<', '>', '>', '&', '&', '"', '"', ); s/[<>&"]/$QUOTE{$&}/g; return $_; } sub form_decode { local($_) = @_; s /\+ / / g; s / % ([\da - f][\da - f]) / pack('c', hex($1)) / egi; return $_; } �����������������������������������������mlterm-3.8.4/tool/registobmp������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014576�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/registobmp/README.md��������������������������������������������������������������0100644�0001760�0000144�00000001163�13210547312�0016132�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������registobmp is derived from regis.c and nsdl.c of hterm 2.0. registobmp is available under the GPL, see http://www.gnu.org/licenses/gpl.html The original README.md is as follows. hterm ===== For full details about hterm see: http://41j.com/hterm HTerm (or hackterm) is a terminal emulator based on SDL and libvterm. It uses it's own bitmap unicode font render library and is capable of displaying basic Regis and inline PNG graphics. HTerm will currently compile on MacOS,Linux and iOS. Windows and Android ports should also be possible. HTerm has been made available under the GPL, see http://www.gnu.org/licenses/gpl.html �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/registobmp/main.c�����������������������������������������������������������������0100644�0001760�0000144�00000040224�13210547312�0015744�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <string.h> #include <stdlib.h> /* atoi */ #include <stdint.h> #include <math.h> #include <SDL.h> #include <SDL_ttf.h> #ifdef USE_FONTCONFIG #include <fontconfig/fontconfig.h> #endif #include <pobl/bl_def.h> #define pixel_at(x, y) (((u_int32_t *)regis->pixels)[(y)*regis->w + (x)]) #define REGIS_RGB(r, g, b) \ (0xff000000 | (((r)*255 / 100) << 16) | (((g)*255 / 100) << 8) | ((b)*255 / 100)) #define MAGIC_COLOR 0x0 #if 0 #define __TEST #endif /* --- static variables --- */ static int pen_x; static int pen_y; static int pen_x_stack[10]; static int pen_y_stack[10]; static int pen_stack_count; static int circle_center; /* XXX 3/4 */ static int fontsize = 18 * 3 / 4; static SDL_Surface *regis; static u_int32_t fg_color = 0xff000000; static u_int32_t bg_color = 0xffffffff; static u_int32_t color_tbl[] = { REGIS_RGB(0, 0, 0), /* BLACK */ REGIS_RGB(20, 20, 80), /* BLUE */ REGIS_RGB(80, 13, 13), /* RED */ REGIS_RGB(20, 80, 20), /* GREEN */ REGIS_RGB(80, 20, 80), /* MAGENTA */ REGIS_RGB(20, 80, 80), /* CYAN */ REGIS_RGB(80, 80, 20), /* YELLOW */ REGIS_RGB(53, 53, 53), /* GRAY 50% */ REGIS_RGB(26, 26, 26), /* GRAY 25% */ REGIS_RGB(33, 33, 60), /* BLUE* */ REGIS_RGB(60, 26, 26), /* RED* */ REGIS_RGB(33, 60, 33), /* GREEN* */ REGIS_RGB(60, 33, 60), /* MAGENTA* */ REGIS_RGB(33, 60, 60), /* CYAN*/ REGIS_RGB(60, 60, 33), /* YELLOW* */ REGIS_RGB(80, 80, 80) /* GRAY 75% */ }; /* --- static functions --- */ static void help(void) { fprintf(stderr, "registobmp [src: regis text file] [dst: bitmap file]\n"); fprintf(stderr, " (Environment variables) REGIS_FONT=[font path]\n"); } static void init_state(void) { pen_stack_count = 0; circle_center = 0; } static void resize(int width, int height) { SDL_Surface *new_regis; new_regis = SDL_CreateRGBSurface(SDL_SWSURFACE, width, height, 32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000); SDL_FillRect(new_regis, NULL, bg_color); if (regis) { SDL_Rect rect; rect.x = 0; rect.y = 0; rect.w = (regis->w > width) ? width : regis->w; rect.h = (regis->h > height) ? height : regis->h; SDL_BlitSurface(regis, &rect, new_regis, NULL); } regis = new_regis; } static void draw_line(int start_x, int start_y, int end_x, int end_y, int color) { int cx; int cy; int dx; int dy; int sx; int sy; int err; int n; cx = start_x; cy = start_y; dx = end_x < cx ? cx - end_x : end_x - cx; dy = end_y < cy ? cy - end_y : end_y - cy; sx = cx < end_x ? 1 : -1; sy = cy < end_y ? 1 : -1; err = dx - dy; for (n = 0; n < 1000; n++) { int err2; pixel_at(cx, cy) = color; if (cx == end_x && cy == end_y) { return; } err2 = 2 * err; if (err2 > -dy) { err = err - dy; cx = cx + sx; } if (err2 < dx) { err = err + dx; cy = cy + sy; } } } static void draw_circle(int x, int y, int r, int color) { int d; int dh; int dd; int cx; int cy; d = 1 - r; dh = 3; dd = 5 - 2 * r; cy = r; for (cx = 0; cx <= cy; cx++) { if (d < 0) { d += dh; dh += 2; dd += 2; } else { d += dd; dh += 2; dd += 4; cy--; } pixel_at(cy + x, cx + y) = color; pixel_at(cx + x, cy + y) = color; pixel_at(-cx + x, cy + y) = color; pixel_at(-cy + x, cx + y) = color; pixel_at(-cy + x, -cx + y) = color; pixel_at(-cx + x, -cy + y) = color; pixel_at(cx + x, -cy + y) = color; pixel_at(cy + x, -cx + y) = color; } } static int parse_options(char **options, /* 10 elements */ char **cmd) { u_int num_options; int skip_count; int inside_bracket; char *end; num_options = 0; inside_bracket = skip_count = 0; end = (*cmd); while (1) { if (*end == '(') { skip_count++; } else if (*end == ')') { if (skip_count == 0) { *end = '\0'; if (options) { options[num_options++] = *cmd; options[num_options] = NULL; } *cmd = end + 1; return 1; } else { skip_count--; } } else if (*end == '[') { inside_bracket = 1; } else if (*end == ']') { inside_bracket = 0; } else if (*end == ',') { if (skip_count == 0 && !inside_bracket) { *end = '\0'; if (num_options < 8 && options) { options[num_options++] = *cmd; } *cmd = end + 1; } } else if (*end == '\0') { if (options) { options[num_options++] = *cmd; options[num_options] = NULL; } *cmd = NULL; return 1; } end++; } } static int parse_coordinate(int *x, int *y, char **cmd) { char *p; char *xstr; char *ystr; xstr = *cmd; if (!(p = strchr(xstr, ']'))) { return 0; } *p = '\0'; *cmd = p + 1; if (!(ystr = strchr(xstr, ',')) || *ystr == '\0') { ystr = "+0"; } else { *(ystr++) = '\0'; } if (*xstr == '\0') { xstr = "+0"; } if (*xstr == '+' || *xstr == '-') { if ((*x = atoi(xstr) + pen_x) < 0) { *x = 0; } } else { *x = atoi(xstr); } if (*ystr == '+' || *ystr == '-') { if ((*y = atoi(ystr) + pen_y) < 0) { *y = 0; } } else { *y = atoi(ystr); } return 1; } static char *command_screen(char *cmd) { char *options[10]; int count; if (*cmd == '(') { cmd++; if (!parse_options(options, &cmd)) { return cmd - 1; } } else { return cmd; } for (count = 0; options[count]; count++) { char *option; option = options[count]; if (*option == 'I') { if (*(++option) == '(') { /* XXX Not standard command. */ int red; int green; int blue; if (sscanf(option + 1, "R%dG%dB%d", &red, &green, &blue) == 3) { bg_color = 0xff000000 | (red << 16) | (green << 8) | blue; } } else { bg_color = color_tbl[atoi(option + 1)]; } } else if (*option == 'E') { SDL_FillRect(regis, NULL, bg_color); } else if (*option == 'C') { /* * C0: turns the output cursor off. * C1: turns the output cursor on. */ } } return cmd; } static char *parse_quoted_text(char *text, char quote) { int skip_count; skip_count = 0; while (1) { if (*text == quote) { if (*(text + 1) == quote) { memmove(text, text + 1, strlen(text + 1) + 1); skip_count++; } else { *(text++) = '\0'; return text + skip_count; } } else if (*text == '\0') { return NULL; } text++; } } static char *command_text(char *cmd) { static int no_font; static TTF_Font *font; char quote; char *text; SDL_Surface *image; SDL_Color color; SDL_Rect image_rect; SDL_Rect rect; if (*cmd == '(') { char *options[10]; int count; cmd++; if (!parse_options(options, &cmd)) { return cmd - 1; } for (count = 0; options[count]; count++) { char *option; option = options[count]; if (*option == 'S') { int size; if (*(++option) == '[') { int w; int h; option++; if (parse_coordinate(&w, &h, &option)) { /* XXX 3/4 */ size = (h < w * 2 ? h : w * 2) * 3 / 4; if (size != fontsize) { fontsize = size; if (font) { TTF_CloseFont(font); font = NULL; } } } } else { int height_tbl[] = {10, 20, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240}; int width_tbl[] = {9, 9, 18, 27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144}; int idx; idx = atoi(option); if (0 <= idx && idx <= 16) { /* XXX 3/4 */ size = (height_tbl[idx] < width_tbl[idx] * 2 ? height_tbl[idx] : width_tbl[idx] * 2) * 3 / 4; if (size != fontsize) { fontsize = size; if (font) { TTF_CloseFont(font); font = NULL; } } } } } } } quote = *cmd; text = cmd + 1; if ((quote != '\'' && quote != '"') || !(cmd = parse_quoted_text(text, quote))) { return cmd; } if (no_font) { return cmd; } if (!font) { static char *font_file; if (!font_file) { if (!(font_file = getenv("REGIS_FONT"))) { #if defined(USE_FONTCONFIG) FcPattern *pat; FcPattern *mat = NULL; FcResult result; FcInit(); pat = FcNameParse("monospace"); FcConfigSubstitute(0, pat, FcMatchPattern); FcDefaultSubstitute(pat); mat = FcFontMatch(0, pat, &result); FcPatternDestroy(pat); if (FcPatternGetString(mat, FC_FILE, 0, &font_file) != FcResultMatch || !(font_file = strdup(font_file))) { font_file = "arial.ttf"; } FcPatternDestroy(mat); #elif defined(USE_WIN32GUI) font_file = "c:\\Windows\\Fonts\\arial.ttf"; #else font_file = "arial.ttf"; #endif } TTF_Init(); } if (!(font = TTF_OpenFont(font_file, fontsize))) { fprintf(stderr, "Not found %s.\n", font_file); } TTF_SetFontHinting(font, TTF_HINTING_MONO); if (!font) { no_font = 1; TTF_Quit(); return cmd; } } color.r = (fg_color >> 16) & 0xff; color.g = (fg_color >> 8) & 0xff; color.b = fg_color & 0xff; #if SDL_MAJOR_VERSION > 1 color.a = (fg_color >> 24) & 0xff; #endif if ((image = TTF_RenderUTF8_Blended(font, text, color))) { image_rect.x = 0; image_rect.y = 0; image_rect.w = image->w; image_rect.h = image->h; rect.x = pen_x; rect.y = pen_y; rect.w = 0; rect.h = 0; SDL_BlitSurface(image, &image_rect, regis, &rect); pen_x += image->w; } return cmd; } static char *command_w(char *cmd) { char *options[10]; int count; if (*cmd == '(') { cmd++; if (!parse_options(options, &cmd)) { return cmd - 1; } } else { return cmd; } for (count = 0; options[count]; count++) { char *option; option = options[count]; if (*option == 'I') { fg_color = color_tbl[atoi(option + 1)]; } } return cmd; } static char *command_position(char *cmd) { int new_x; int new_y; if (*(cmd++) == '[') { if (!parse_coordinate(&new_x, &new_y, &cmd)) { return cmd - 1; } pen_x = new_x; pen_y = new_y; return cmd; } else { return cmd - 1; } } static char *command_vector(char *cmd) { int new_x; int new_y; if (*cmd == '[') { cmd++; if (!parse_coordinate(&new_x, &new_y, &cmd)) { return cmd - 1; } draw_line(pen_x, pen_y, new_x, new_y, fg_color); pen_x = new_x; pen_y = new_y; } else if (*cmd == '(' && *(cmd + 2) == ')') { if (*(cmd + 1) == 'B') { if (pen_stack_count < 10) { pen_x_stack[pen_stack_count] = pen_x; pen_y_stack[pen_stack_count] = pen_y; } pen_stack_count++; } else if (*(cmd + 1) == 'S') { if (pen_stack_count < 10) { pen_x_stack[pen_stack_count] = -1; } pen_stack_count++; } else if (*(cmd + 1) == 'E') { pen_stack_count--; if (pen_stack_count < 10 && pen_x_stack[pen_stack_count] >= 0) { draw_line(pen_x, pen_y, pen_x_stack[pen_stack_count], pen_y_stack[pen_stack_count], fg_color); pen_x = pen_x_stack[pen_stack_count]; pen_y = pen_y_stack[pen_stack_count]; } } cmd += 3; } return cmd; } static char *command_circle(char *cmd) { if (*cmd == '[') { int x; int y; int r; cmd++; if (!parse_coordinate(&x, &y, &cmd)) { return cmd - 1; } if (x == pen_x) { r = abs(y - pen_y); } else if (y == pen_y) { r = abs(x - pen_x); } else { r = sqrt(pow(abs(x - pen_x), 2) + pow(abs(y - pen_y), 2)); } if (circle_center) { draw_circle(x, y, r, fg_color); } else { draw_circle(pen_x, pen_y, r, fg_color); } } else if (strncmp(cmd, "(C)", 3) == 0) { circle_center = 1; cmd += 3; } return cmd; } static void fill(int x, int y) { if (y >= 1 && pixel_at(x, y - 1) != MAGIC_COLOR) { pixel_at(x, y - 1) = MAGIC_COLOR; fill(x, y - 1); } if (y < regis->h - 1 && pixel_at(x, y + 1) != MAGIC_COLOR) { pixel_at(x, y + 1) = MAGIC_COLOR; fill(x, y + 1); } if (x >= 1 && pixel_at(x - 1, y) != MAGIC_COLOR) { pixel_at(x - 1, y) = MAGIC_COLOR; fill(x - 1, y); } if (x < regis->w + 1 && pixel_at(x + 1, y) != MAGIC_COLOR) { pixel_at(x + 1, y) = MAGIC_COLOR; fill(x + 1, y); } } static char *command(char *cmd); static char *command_fill(char *cmd) { char *options[10]; int orig_fg_color; int x; int y; if (*cmd == '(') { cmd++; if (!parse_options(options, &cmd)) { return cmd - 1; } } else { return cmd; } orig_fg_color = fg_color; fg_color = MAGIC_COLOR; while (*(options[0] = command(options[0]))) ; fg_color = orig_fg_color; for (y = 0; y < regis->h; y++) { for (x = 0; x < regis->w; x++) { if (pixel_at(x, y) == MAGIC_COLOR && y < 799 && pixel_at(x, y + 1) != MAGIC_COLOR) { fill(x, y + 1); for (; y < regis->h; y++) { for (x = 0; x < regis->w; x++) { if (pixel_at(x, y) == MAGIC_COLOR) { pixel_at(x, y) = fg_color; } } } break; } } } return cmd; } static char *command(char *cmd) { static char *(*command)(char *); switch (*cmd) { char *orig_cmd; default: orig_cmd = cmd; if (!command || (cmd = (*command)(orig_cmd)) == orig_cmd) { return orig_cmd + 1; } else { return cmd; } case 'S': command = command_screen; break; case 'T': command = command_text; break; case 'W': command = command_w; break; case 'P': command = command_position; break; case 'v': case 'V': command = command_vector; break; case 'C': command = command_circle; break; case 'F': command = command_fill; break; } init_state(); return (*command)(cmd + 1); } #ifdef __TEST static void test_parse_options(void) { char cmd[] = "S(V(W(I(R,P))),S1)"; char *p; char *options[10]; int count; p = cmd + 2; parse_options(options, &p); for (count = 0; options[count]; count++) { fprintf(stderr, "%s %s\n", options[count], p); } } static void test_parse_coordinate(void) { char cmd[] = "[100,200][300,400][+200,-300][+200][,-300]"; char *p; int x; int y; pen_x = 100; pen_y = 200; p = cmd; while (*(p++) == '[') { parse_coordinate(&x, &y, &p); fprintf(stderr, "%d %d\n", x, y); } pen_x = 0; pen_y = 0; } static void test_parse_quoted_text(void) { char text1[] = "\"don't\""; char text2[] = "\'\"stop\"\'"; char text3[] = "'don''t'"; char text4[] = "\"ditto (\"\")\""; fprintf(stderr, "%s => ", text1); parse_quoted_text(&text1[1], text1[0]); fprintf(stderr, "%s\n", text1 + 1); fprintf(stderr, "%s => ", text2); parse_quoted_text(&text2[1], text2[0]); fprintf(stderr, "%s\n", text2 + 1); fprintf(stderr, "%s => ", text3); parse_quoted_text(&text3[1], text3[0]); fprintf(stderr, "%s\n", text3 + 1); fprintf(stderr, "%s => ", text4); parse_quoted_text(text4 + 1, *text4); fprintf(stderr, "%s\n", text4 + 1); } #endif /* --- global functions --- */ int main(int argc, char **argv) { FILE *fp; char line[256]; char *cmd; #ifdef __TEST test_parse_options(); test_parse_coordinate(); test_parse_quoted_text(); #endif if (argc != 3) { help(); return -1; } if (!(fp = fopen(argv[1], "r"))) { return -1; } #if 0 SDL_Init(SDL_INIT_EVERYTHING); #endif resize(800, 480); if ((cmd = fgets(line, sizeof(line), fp))) { char *p; if (*cmd == '\x1b' && (p = strchr(cmd, 'p'))) { cmd = p + 1; } do { while (*(cmd = command(cmd))) ; } while ((cmd = fgets(line, sizeof(line), fp))); } fclose(fp); SDL_SaveBMP(regis, argv[2]); return 0; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/registobmp/Makefile.in������������������������������������������������������������0100644�0001760�0000144�00000002331�13210547312�0016716�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libexecdir = @libexecdir@ bindir = @bindir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBEXECDIR = $(DESTDIR)$(libexecdir)/mlterm LIBEXECDIR_win32 = $(DESTDIR)$(bindir) VPATH = $(top_srcdir)/tool/registobmp OBJ = main.o CFLAGS = $(CFLAGS_LOCAL) @POBL_CFLAGS@ @DEB_CFLAGS@ @CFLAGS@ @CPPFLAGS@ @SDL_CFLAGS@ @GUI_CFLAGS@ \ @FONTCONFIG_CFLAGS@ -I/usr/local/include LIBS = $(LIBS_LOCAL) @SDL_LIBS@ @FONTCONFIG_LIBS@ -L/usr/local/lib -R/usr/local/lib -lm PROG = registobmp LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: $(PROG) $(PROG): $(OBJ) $(LIBTOOL_LINK) $(CFLAGS) -o $(PROG) $(OBJ:.o=.lo) $(LIBS) .SUFFIXES: .c .o .c.o: $(LIBTOOL_CC) -c $< $(LIBEXECDIR@WIN32TAG@): mkdir -p $(LIBEXECDIR@WIN32TAG@) install: $(LIBEXECDIR@WIN32TAG@) $(LIBTOOL_INSTALL) $(PROG) $(LIBEXECDIR@WIN32TAG@) uninstall: rm -f $(LIBEXECDIR@WIN32TAG@)/$(PROG) wc: find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf $(PROG) $(PROG).exe *core $(OBJ) $(OBJ:.o=.lo) .libs distclean: clean rm -f Makefile �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig��������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014221�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po�����������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547315�0014642�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/vi.po�����������������������������������������������������������������0100644�0001760�0000144�00000035777�13210547312�0015714�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Vietnamese translation for mlterm # This file is distributed under the same license as the mlterm package. # # Pham Thanh Long <ptlong@gmail.com>, 2006. msgid "" msgstr "" "Project-Id-Version: mlterm\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-21 01:39+0900\n" "PO-Revision-Date: 2006-04-17 21:11+0700\n" "Last-Translator: Pham Thanh Long <ptlong@gmail.com>\n" "Language-Team: Vietnam <gnome-vi-list@gnome.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.1\n" #: tool/mlconfig/gtkxlfdsel.c:225 #, fuzzy msgid "Foundry:" msgstr "Âm thanh" #: tool/mlconfig/gtkxlfdsel.c:226 msgid "Family:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:227 #, fuzzy msgid "Weight:" msgstr "Cao" #: tool/mlconfig/gtkxlfdsel.c:228 msgid "Slant:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:229 #, fuzzy msgid "Set Width:" msgstr "Rá»™ng" #: tool/mlconfig/gtkxlfdsel.c:230 msgid "Add Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:231 msgid "Pixel Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:232 msgid "Point Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:233 msgid "Resolution X:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:234 msgid "Resolution Y:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:235 msgid "Spacing:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:236 msgid "Average Width:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:237 msgid "Charset:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:469 msgid "Font Property" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:470 msgid "Requested Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:471 msgid "Actual Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:504 tool/mlconfig/main.c:540 msgid "Font" msgstr "Phông" #: tool/mlconfig/gtkxlfdsel.c:514 tool/mlconfig/gtkxlfdsel.c:2156 #: tool/mlconfig/gtkxlfdsel.c:2386 #, fuzzy msgid "Font:" msgstr "Phông" #: tool/mlconfig/gtkxlfdsel.c:519 msgid "Font Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:524 msgid "Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:656 tool/mlconfig/gtkxlfdsel.c:878 msgid "Reset Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:670 msgid "Metric:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:674 msgid "Points" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:681 msgid "Pixels" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:697 msgid "Preview:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:726 msgid "Font Information" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:759 msgid "Requested Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:770 msgid "Actual Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:781 #, c-format msgid "%i fonts available with a total of %i styles." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:796 msgid "Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:809 msgid "Font Types:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:817 msgid "Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:823 msgid "Scalable" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:829 msgid "Scaled Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:897 msgid "*" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "(nil)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "regular" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1229 tool/mlconfig/gtkxlfdsel.c:1985 msgid "italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1230 tool/mlconfig/gtkxlfdsel.c:1986 msgid "oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1231 tool/mlconfig/gtkxlfdsel.c:1987 msgid "reverse italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1232 tool/mlconfig/gtkxlfdsel.c:1988 msgid "reverse oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1233 tool/mlconfig/gtkxlfdsel.c:1989 #, fuzzy msgid "other" msgstr "Khác" #: tool/mlconfig/gtkxlfdsel.c:1240 msgid "[M]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1241 msgid "[C]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1803 msgid "The selected font is not available." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1809 msgid "The selected font is not a valid font." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1866 msgid "This is a 2-byte font and may not be displayed correctly." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1973 msgid "(unknown)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1984 msgid "roman" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1996 msgid "proportional" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1997 msgid "monospaced" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1998 msgid "char cell" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:2161 #, fuzzy msgid "Font: (Filter Applied)" msgstr "Cỡ chữ (pixel)" #: tool/mlconfig/gtkxlfdsel.c:2637 msgid "MAX_FONTS exceeded. Some fonts may be missing." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3477 msgid "OK" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3484 tool/mlconfig/main.c:362 msgid "Apply" msgstr "Ãp dụng" #: tool/mlconfig/gtkxlfdsel.c:3490 tool/mlconfig/main.c:363 msgid "Cancel" msgstr "Thôi" #: tool/mlconfig/gtkxlfdsel.c:3506 #, fuzzy msgid "Font Selection" msgstr " Chá»n " #: tool/mlconfig/main.c:204 msgid "Send" msgstr "" #: tool/mlconfig/main.c:205 msgid "Recv" msgstr "" #: tool/mlconfig/main.c:206 msgid "Return" msgstr "" #: tool/mlconfig/main.c:207 #, fuzzy msgid "Exit" msgstr "Lưu & Thoát" #: tool/mlconfig/main.c:218 msgid "Local" msgstr "" #: tool/mlconfig/main.c:235 msgid "Remote" msgstr "" #: tool/mlconfig/main.c:360 msgid "Save&Exit" msgstr "Lưu & Thoát" #: tool/mlconfig/main.c:361 msgid "Apply&Exit" msgstr "Ãp dụng & Thoát" #: tool/mlconfig/main.c:372 msgid "Font size (temporary)" msgstr "Cỡ phông (tạm thá»i)" #: tool/mlconfig/main.c:380 msgid "Larger" msgstr "Lá»›n hÆ¡n" #: tool/mlconfig/main.c:381 msgid "Smaller" msgstr "Nhá» hÆ¡n" #: tool/mlconfig/main.c:396 msgid "Command" msgstr "" #: tool/mlconfig/main.c:404 msgid "Full reset" msgstr "Lập lại toàn bá»™" #: tool/mlconfig/main.c:405 msgid "Snapshot" msgstr "" #: tool/mlconfig/main.c:407 msgid "SCP" msgstr "" #: tool/mlconfig/main.c:423 msgid "PTY List" msgstr "Danh sách PTY" #: tool/mlconfig/main.c:431 msgid " New " msgstr " Má»›i " #: tool/mlconfig/main.c:432 tool/mlconfig/mc_font.c:1266 #: tool/mlconfig/mc_wall_pic.c:62 #, fuzzy msgid "Select" msgstr " Chá»n " #: tool/mlconfig/main.c:456 msgid "mlterm configuration" msgstr "Cấu hình mlterm" #: tool/mlconfig/main.c:491 tool/mlconfig/mc_char_encoding.c:157 msgid "Encoding" msgstr "Mã hoá" #: tool/mlconfig/main.c:577 msgid "Background" msgstr "Ná»n" #: tool/mlconfig/main.c:588 msgid "Picture/Transparent" msgstr "Ảnh/Trong suốt" #: tool/mlconfig/main.c:626 tool/mlconfig/mc_bgtype.c:105 msgid "Color" msgstr "Màu sắc" #: tool/mlconfig/main.c:647 msgid "Scrollbar" msgstr "Thanh cuá»™n" #: tool/mlconfig/main.c:678 msgid "Others" msgstr "Khác" #: tool/mlconfig/mc_alpha.c:49 msgid "Alpha" msgstr "" #: tool/mlconfig/mc_auto_detect.c:65 msgid "Auto detect" msgstr "" #: tool/mlconfig/mc_auto_detect.c:70 #, fuzzy msgid "Encoding list" msgstr "Mã hoá" #: tool/mlconfig/mc_bgtype.c:98 msgid "Background type" msgstr "Kiểu ná»n" #: tool/mlconfig/mc_bgtype.c:117 tool/mlconfig/mc_wall_pic.c:52 msgid "Picture" msgstr "Hình ảnh" #: tool/mlconfig/mc_bgtype.c:129 msgid "Pseudo transparent" msgstr "Trong suốt" #: tool/mlconfig/mc_char_encoding.c:24 msgid "auto" msgstr "tá»± động" #: tool/mlconfig/mc_char_encoding.c:26 msgid "--- Unicode ---" msgstr "--- Unicode ---" #: tool/mlconfig/mc_char_encoding.c:28 msgid "--- ISO 8859 encodings ---" msgstr "--- Mã ISO 8859 ---" #: tool/mlconfig/mc_char_encoding.c:35 msgid "--- Other 8bit ---" msgstr "--- Mã 8bit khác ---" #: tool/mlconfig/mc_char_encoding.c:43 msgid "--- Japanese ---" msgstr "--- Nhật Bản ---" #: tool/mlconfig/mc_char_encoding.c:46 msgid "--- Korean ---" msgstr "--- Hàn Quốc ---" #: tool/mlconfig/mc_char_encoding.c:48 msgid "--- traditional Chinese ---" msgstr "--- Hán phồn thể ---" #: tool/mlconfig/mc_char_encoding.c:50 msgid "--- simplified Chinese ---" msgstr "--- Hán giản thể ---" #: tool/mlconfig/mc_char_encoding.c:151 tool/mlconfig/mc_im.c:297 #: tool/mlconfig/mc_im.c:346 tool/mlconfig/mc_im.c:418 #: tool/mlconfig/mc_im.c:421 #, c-format msgid "auto (currently %s)" msgstr "tá»± động (hiện tại %s)" #: tool/mlconfig/mc_char_width.c:65 msgid "" "Set full width\n" "areas manually" msgstr "" #: tool/mlconfig/mc_click.c:49 msgid "Double click interval (msec)" msgstr "" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Foreground color" msgstr "Màu chữ" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Background color" msgstr "Màu ná»n" #: tool/mlconfig/mc_color.c:37 msgid "Bold " msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Italic" msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Underline" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Blink" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Cross out" msgstr "" #: tool/mlconfig/mc_color.c:138 msgid "Cursor color" msgstr "" #: tool/mlconfig/mc_color.c:161 msgid "Substituting color" msgstr "" #: tool/mlconfig/mc_color.c:208 msgid "VT basic 16 colors" msgstr "" #: tool/mlconfig/mc_ctl.c:59 msgid "Bidi separators" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Xft" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Cairo" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Anti Alias" msgstr "Chống răng cưa" #: tool/mlconfig/mc_flags.c:30 msgid "Variable column width" msgstr "Äá»™ rá»™ng cá»™t linh hoạt" #: tool/mlconfig/mc_flags.c:30 msgid "Combining" msgstr "Tổ hợp" #: tool/mlconfig/mc_flags.c:31 msgid "Combining = 1 (or 0) logical column(s)" msgstr "Tổ hợp = 1 (hoặc 0) cá»™t logic" #: tool/mlconfig/mc_flags.c:31 msgid "Process received strings via Unicode" msgstr "Xá»­ lí chuá»—i nhận được qua Unicode" #: tool/mlconfig/mc_flags.c:32 msgid "Fullwidth = 2 (or 1) logical column(s)" msgstr "Äá»™ rá»™ng đầy đủ = 2 (hoặc 1) cá»™t logic" #: tool/mlconfig/mc_flags.c:32 msgid "Complex Text Layout" msgstr "Complex Text Layout" #: tool/mlconfig/mc_flags.c:33 msgid "Ambiguouswidth = fullwidth" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "CLIPBOARD Selection" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "Local echo" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Blink cursor" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Don't scroll automatically in scrolling back" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Scroll by Shift+Up or Shift+Down" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Select URI by double click" msgstr "" #: tool/mlconfig/mc_flags.c:35 #, fuzzy msgid "OpenType Layout" msgstr "Complex Text Layout" #: tool/mlconfig/mc_flags.c:36 msgid "Trim trailing CR/LF in pasting" msgstr "" #: tool/mlconfig/mc_flags.c:36 msgid "Send keys to all windows" msgstr "" #: tool/mlconfig/mc_font.c:1188 msgid "Font size (pixels)" msgstr "Cỡ chữ (pixel)" #: tool/mlconfig/mc_font.c:1250 #, fuzzy msgid "Font name" msgstr "Phông" #: tool/mlconfig/mc_font.c:1276 msgid "Font width" msgstr "" #: tool/mlconfig/mc_font.c:1280 msgid "Narrow" msgstr "" #: tool/mlconfig/mc_font.c:1285 msgid "Widen" msgstr "" #: tool/mlconfig/mc_font.c:1290 msgid "Default" msgstr "" #: tool/mlconfig/mc_font.c:1305 msgid "Unicode areas you won't convert to other charsets" msgstr "" #: tool/mlconfig/mc_font.c:1308 msgid " Edit " msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Columns" msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Rows" msgstr "" #: tool/mlconfig/mc_im.c:352 msgid "XIM Server" msgstr "Máy chá»§ XIM" #: tool/mlconfig/mc_im.c:355 msgid "XIM locale" msgstr "XIM bản địa" #: tool/mlconfig/mc_im.c:430 msgid "Option" msgstr "Tuỳ chá»n" #: tool/mlconfig/mc_im.c:542 msgid "Input Method" msgstr "Phương thức nhập" #: tool/mlconfig/mc_im.c:566 tool/mlconfig/mc_radio.c:55 #: tool/mlconfig/mc_radio.c:58 tool/mlconfig/mc_radio.c:61 #: tool/mlconfig/mc_radio.c:64 msgid "None" msgstr "Không" #: tool/mlconfig/mc_logsize.c:50 msgid "Backlog size (lines)" msgstr "Số dòng cuá»™n" #: tool/mlconfig/mc_opentype.c:68 msgid "Select opentype features" msgstr "" #: tool/mlconfig/mc_opentype.c:154 msgid "Select opentype scripts" msgstr "" #: tool/mlconfig/mc_opentype.c:230 msgid "Features" msgstr "" #: tool/mlconfig/mc_opentype.c:235 msgid "Script" msgstr "" #: tool/mlconfig/mc_radio.c:55 #, fuzzy msgid "Meta key outputs" msgstr "Meta key outputs:" #: tool/mlconfig/mc_radio.c:55 msgid "Esc" msgstr "Esc" #: tool/mlconfig/mc_radio.c:55 msgid "8bit" msgstr "8bit" #: tool/mlconfig/mc_radio.c:58 #, fuzzy msgid "Bell mode" msgstr " Chế độ chuông " #: tool/mlconfig/mc_radio.c:58 msgid "Sound" msgstr "Âm thanh" #: tool/mlconfig/mc_radio.c:58 msgid "Visual" msgstr "Trá»±c quan" #: tool/mlconfig/mc_radio.c:58 msgid "Both" msgstr "" #: tool/mlconfig/mc_radio.c:61 msgid "Position" msgstr "Vị trí" #: tool/mlconfig/mc_radio.c:61 msgid "Left" msgstr "Trái" #: tool/mlconfig/mc_radio.c:61 msgid "Right" msgstr "Phải" #: tool/mlconfig/mc_radio.c:61 msgid "Auto hide" msgstr "" #: tool/mlconfig/mc_radio.c:64 msgid "Vertical mode" msgstr " Chế độ thẳng đứng " #: tool/mlconfig/mc_radio.c:64 msgid "CJK" msgstr "CJK" #: tool/mlconfig/mc_radio.c:64 msgid "Mongol" msgstr "Mông Cổ" #: tool/mlconfig/mc_radio.c:67 msgid "Box drawing" msgstr "" #: tool/mlconfig/mc_radio.c:67 tool/mlconfig/mc_radio.c:70 msgid "As it is" msgstr "" #: tool/mlconfig/mc_radio.c:67 #, fuzzy msgid "Unicode" msgstr "--- Unicode ---" #: tool/mlconfig/mc_radio.c:67 msgid "DEC Special" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Font policy" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Always unicode" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Never unicode" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Save log" msgstr "" #: tool/mlconfig/mc_radio.c:73 #, fuzzy msgid "No" msgstr "Không" #: tool/mlconfig/mc_radio.c:73 msgid "Raw format" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Ttyrec format" msgstr "" #: tool/mlconfig/mc_ratio.c:31 #, fuzzy msgid "Contrast " msgstr "Äá»™ tương phản" #: tool/mlconfig/mc_ratio.c:31 msgid "Gamma" msgstr "Gamma" #: tool/mlconfig/mc_ratio.c:31 msgid "Brightness" msgstr "Äá»™ sáng" #: tool/mlconfig/mc_ratio.c:31 msgid "Fade ratio on unfocus" msgstr "Tỉ lệ má» dần khi rá»i bá» tiêu Ä‘iểm" #: tool/mlconfig/mc_ratio.c:32 msgid "Screen size ratio against font size" msgstr "Tỉ lệ màn hình vá»›i cỡ phông" #: tool/mlconfig/mc_sb_view.c:116 msgid "View" msgstr "Xem" #: tool/mlconfig/mc_space.c:31 msgid "Line space (pixels)" msgstr "Khoảng cách dòng (pixel)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Letter space (pixels)" msgstr "Khoảng cách dòng (pixel)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Baseline position (pixels)" msgstr "Khoảng cách dòng (pixel)" #: tool/mlconfig/mc_space.c:32 #, fuzzy msgid "Underline position (pixels)" msgstr "Khoảng cách dòng (pixel)" #: tool/mlconfig/mc_tabsize.c:50 msgid "Tab width (columns)" msgstr "Äá»™ rá»™ng tab (cá»™t)" #: tool/mlconfig/mc_unicode_areas.c:131 msgid "" "Set unicode area in the following format.\n" "Format: U+XXXX-XXXX or U+XXXX (U+ is optional)" msgstr "" #: tool/mlconfig/mc_wordsep.c:93 msgid "Word separators" msgstr "" #, fuzzy #~ msgid "Transparent" #~ msgstr "Ảnh/Trong suốt" #~ msgid "ISCII language" #~ msgstr "Ngôn ngữ ISCII" �mlterm-3.8.4/tool/mlconfig/po/ChangeLog�������������������������������������������������������������0100644�0001760�0000144�00000000704�13210547312�0016466�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2002-09-03 gettextize <bug-gnu-gettext@gnu.org> * Makefile.in.in: New file, from gettext-0.11.5. * Rules-quot: New file, from gettext-0.11.5. * boldquot.sed: New file, from gettext-0.11.5. * en@boldquot.header: New file, from gettext-0.11.5. * en@quot.header: New file, from gettext-0.11.5. * insert-header.sin: New file, from gettext-0.11.5. * quot.sed: New file, from gettext-0.11.5. * remove-potcdate.sin: New file, from gettext-0.11.5. ������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/ja.po�����������������������������������������������������������������0100644�0001760�0000144�00000036545�13210547312�0015662�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������msgid "" msgstr "" "Project-Id-Version: mlterm 2.6.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-21 01:39+0900\n" "PO-Revision-Date: 2002-11-25 19:24+0100\n" "Last-Translator: Tomohiro KUBOTA <kubota@debian.org>\n" "Language-Team: Japanese <mlterm-dev-ja@lists.sourceforge.net>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=euc-jp\n" "Content-Transfer-Encoding: 8bit\n" #: tool/mlconfig/gtkxlfdsel.c:225 #, fuzzy msgid "Foundry:" msgstr "²»" #: tool/mlconfig/gtkxlfdsel.c:226 msgid "Family:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:227 #, fuzzy msgid "Weight:" msgstr "¹â¤µ" #: tool/mlconfig/gtkxlfdsel.c:228 msgid "Slant:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:229 #, fuzzy msgid "Set Width:" msgstr "Éý" #: tool/mlconfig/gtkxlfdsel.c:230 msgid "Add Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:231 msgid "Pixel Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:232 msgid "Point Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:233 msgid "Resolution X:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:234 msgid "Resolution Y:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:235 msgid "Spacing:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:236 msgid "Average Width:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:237 msgid "Charset:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:469 msgid "Font Property" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:470 msgid "Requested Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:471 msgid "Actual Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:504 tool/mlconfig/main.c:540 msgid "Font" msgstr "¥Õ¥©¥ó¥È" #: tool/mlconfig/gtkxlfdsel.c:514 tool/mlconfig/gtkxlfdsel.c:2156 #: tool/mlconfig/gtkxlfdsel.c:2386 #, fuzzy msgid "Font:" msgstr "¥Õ¥©¥ó¥È" #: tool/mlconfig/gtkxlfdsel.c:519 #, fuzzy msgid "Font Style:" msgstr "¥Õ¥©¥ó¥È̾" #: tool/mlconfig/gtkxlfdsel.c:524 msgid "Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:656 tool/mlconfig/gtkxlfdsel.c:878 msgid "Reset Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:670 msgid "Metric:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:674 msgid "Points" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:681 msgid "Pixels" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:697 msgid "Preview:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:726 msgid "Font Information" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:759 msgid "Requested Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:770 #, fuzzy msgid "Actual Font Name:" msgstr "¥Õ¥©¥ó¥È̾" #: tool/mlconfig/gtkxlfdsel.c:781 #, c-format msgid "%i fonts available with a total of %i styles." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:796 msgid "Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:809 #, fuzzy msgid "Font Types:" msgstr "¥Õ¥©¥ó¥È̾" #: tool/mlconfig/gtkxlfdsel.c:817 msgid "Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:823 msgid "Scalable" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:829 msgid "Scaled Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:897 msgid "*" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "(nil)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "regular" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1229 tool/mlconfig/gtkxlfdsel.c:1985 #, fuzzy msgid "italic" msgstr "¥¤¥¿¥ê¥Ã¥¯" #: tool/mlconfig/gtkxlfdsel.c:1230 tool/mlconfig/gtkxlfdsel.c:1986 msgid "oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1231 tool/mlconfig/gtkxlfdsel.c:1987 msgid "reverse italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1232 tool/mlconfig/gtkxlfdsel.c:1988 msgid "reverse oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1233 tool/mlconfig/gtkxlfdsel.c:1989 #, fuzzy msgid "other" msgstr "¤½¤Î¾" #: tool/mlconfig/gtkxlfdsel.c:1240 msgid "[M]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1241 msgid "[C]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1803 msgid "The selected font is not available." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1809 msgid "The selected font is not a valid font." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1866 msgid "This is a 2-byte font and may not be displayed correctly." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1973 msgid "(unknown)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1984 msgid "roman" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1996 msgid "proportional" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1997 msgid "monospaced" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1998 msgid "char cell" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:2161 #, fuzzy msgid "Font: (Filter Applied)" msgstr "¥Õ¥©¥ó¥È¥µ¥¤¥º(¥Ô¥¯¥»¥ë)" #: tool/mlconfig/gtkxlfdsel.c:2637 msgid "MAX_FONTS exceeded. Some fonts may be missing." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3477 msgid "OK" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3484 tool/mlconfig/main.c:362 msgid "Apply" msgstr "ŬÍÑ" #: tool/mlconfig/gtkxlfdsel.c:3490 tool/mlconfig/main.c:363 msgid "Cancel" msgstr "¥­¥ã¥ó¥»¥ë" #: tool/mlconfig/gtkxlfdsel.c:3506 #, fuzzy msgid "Font Selection" msgstr "ÁªÂò" #: tool/mlconfig/main.c:204 msgid "Send" msgstr "" #: tool/mlconfig/main.c:205 msgid "Recv" msgstr "" #: tool/mlconfig/main.c:206 msgid "Return" msgstr "" #: tool/mlconfig/main.c:207 #, fuzzy msgid "Exit" msgstr "Êݸ&½ªÎ»" #: tool/mlconfig/main.c:218 #, fuzzy msgid "Local" msgstr "¥í¡¼¥«¥ë¥¨¥³¡¼" #: tool/mlconfig/main.c:235 msgid "Remote" msgstr "" #: tool/mlconfig/main.c:360 msgid "Save&Exit" msgstr "Êݸ&½ªÎ»" #: tool/mlconfig/main.c:361 msgid "Apply&Exit" msgstr "ŬÍÑ&½ªÎ»" #: tool/mlconfig/main.c:372 msgid "Font size (temporary)" msgstr "¥Õ¥©¥ó¥È¥µ¥¤¥º (°ì»þÀßÄê)" #: tool/mlconfig/main.c:380 msgid "Larger" msgstr "Â礭¤¯" #: tool/mlconfig/main.c:381 msgid "Smaller" msgstr "¾®¤µ¤¯" #: tool/mlconfig/main.c:396 msgid "Command" msgstr "" #: tool/mlconfig/main.c:404 msgid "Full reset" msgstr "Á´¥ê¥»¥Ã¥È" #: tool/mlconfig/main.c:405 msgid "Snapshot" msgstr "" #: tool/mlconfig/main.c:407 msgid "SCP" msgstr "" #: tool/mlconfig/main.c:423 msgid "PTY List" msgstr "²¾ÁÛüËö°ìÍ÷" #: tool/mlconfig/main.c:431 msgid " New " msgstr "¿·µ¬" #: tool/mlconfig/main.c:432 tool/mlconfig/mc_font.c:1266 #: tool/mlconfig/mc_wall_pic.c:62 #, fuzzy msgid "Select" msgstr "ÁªÂò" #: tool/mlconfig/main.c:456 msgid "mlterm configuration" msgstr "mlterm¤ÎÀßÄê" #: tool/mlconfig/main.c:491 tool/mlconfig/mc_char_encoding.c:157 msgid "Encoding" msgstr "¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°" #: tool/mlconfig/main.c:577 msgid "Background" msgstr "ÇØ·Ê" #: tool/mlconfig/main.c:588 msgid "Picture/Transparent" msgstr "ÊÉ»æ/Æ©ÌÀ" #: tool/mlconfig/main.c:626 tool/mlconfig/mc_bgtype.c:105 msgid "Color" msgstr "¿§" #: tool/mlconfig/main.c:647 msgid "Scrollbar" msgstr "¥¹¥¯¥í¡¼¥ë¥Ð¡¼" #: tool/mlconfig/main.c:678 msgid "Others" msgstr "¤½¤Î¾" #: tool/mlconfig/mc_alpha.c:49 msgid "Alpha" msgstr "¥¢¥ë¥Õ¥¡" #: tool/mlconfig/mc_auto_detect.c:65 msgid "Auto detect" msgstr "¼«Æ°È½Äê" #: tool/mlconfig/mc_auto_detect.c:70 msgid "Encoding list" msgstr "Âоݥ¨¥ó¥³¡¼¥Ç¥£¥ó¥°" #: tool/mlconfig/mc_bgtype.c:98 msgid "Background type" msgstr "ÇØ·Ê¤Î¥¿¥¤¥×" #: tool/mlconfig/mc_bgtype.c:117 tool/mlconfig/mc_wall_pic.c:52 msgid "Picture" msgstr "ÊÉ»æ" #: tool/mlconfig/mc_bgtype.c:129 msgid "Pseudo transparent" msgstr "µ¼»÷Æ©ÌÀ" #: tool/mlconfig/mc_char_encoding.c:24 msgid "auto" msgstr "¼«Æ°" #: tool/mlconfig/mc_char_encoding.c:26 msgid "--- Unicode ---" msgstr "--- Unicode ---" #: tool/mlconfig/mc_char_encoding.c:28 msgid "--- ISO 8859 encodings ---" msgstr "--- ISO 8859 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ---" #: tool/mlconfig/mc_char_encoding.c:35 msgid "--- Other 8bit ---" msgstr "-- ¤½¤Î¾8¥Ó¥Ã¥È ---" #: tool/mlconfig/mc_char_encoding.c:43 msgid "--- Japanese ---" msgstr "--- ÆüËܸì ---" #: tool/mlconfig/mc_char_encoding.c:46 msgid "--- Korean ---" msgstr "--- ´Ú¹ñ¸ì ---" #: tool/mlconfig/mc_char_encoding.c:48 msgid "--- traditional Chinese ---" msgstr "--- Ãæ¹ñ¸ì(ÈËÂλú) ---" #: tool/mlconfig/mc_char_encoding.c:50 msgid "--- simplified Chinese ---" msgstr "--- Ãæ¹ñ¸ì(´ÊÂλú) ---" #: tool/mlconfig/mc_char_encoding.c:151 tool/mlconfig/mc_im.c:297 #: tool/mlconfig/mc_im.c:346 tool/mlconfig/mc_im.c:418 #: tool/mlconfig/mc_im.c:421 #, c-format msgid "auto (currently %s)" msgstr "¼«Æ° (¸½ºß %s)" #: tool/mlconfig/mc_char_width.c:65 msgid "" "Set full width\n" "areas manually" msgstr "" "Á´³ÑÉýʸ»ú¤ÎÈÏ\n" "°Ï¤ò¼êưÀßÄê" #: tool/mlconfig/mc_click.c:49 msgid "Double click interval (msec)" msgstr "¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Î´Ö³Ö(¥ß¥êÉÃ)" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Foreground color" msgstr "Á°·Ê¿§" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Background color" msgstr "ÇØ·Ê¿§" #: tool/mlconfig/mc_color.c:37 msgid "Bold " msgstr "¥Ü¡¼¥ë¥É" #: tool/mlconfig/mc_color.c:37 msgid "Italic" msgstr "¥¤¥¿¥ê¥Ã¥¯" #: tool/mlconfig/mc_color.c:37 msgid "Underline" msgstr "²¼Àþ" #: tool/mlconfig/mc_color.c:38 msgid "Blink" msgstr "ÅÀÌÇ" #: tool/mlconfig/mc_color.c:38 msgid "Cross out" msgstr "¼è¾ÃÀþ" #: tool/mlconfig/mc_color.c:138 msgid "Cursor color" msgstr "¥«¡¼¥½¥ë" #: tool/mlconfig/mc_color.c:161 msgid "Substituting color" msgstr "ʸ»ú°À­¤ËÂ夨¤ÆÉ½¼¨¤¹¤ë¿§" #: tool/mlconfig/mc_color.c:208 msgid "VT basic 16 colors" msgstr "¥«¥é¡¼¥Ñ¥ì¥Ã¥È(16¿§)" #: tool/mlconfig/mc_ctl.c:59 #, fuzzy msgid "Bidi separators" msgstr "BiDi¤Î¶èÀÚ¤êʸ»ú" #: tool/mlconfig/mc_flags.c:30 msgid "Xft" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Cairo" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Anti Alias" msgstr "¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹" #: tool/mlconfig/mc_flags.c:30 msgid "Variable column width" msgstr "²ÄÊÑĹ¥³¥é¥àÉý" #: tool/mlconfig/mc_flags.c:30 msgid "Combining" msgstr "·ë¹çʸ»ú½èÍý" #: tool/mlconfig/mc_flags.c:31 msgid "Combining = 1 (or 0) logical column(s)" msgstr "·ë¹çʸ»ú¤ÎÏÀÍýÉý¤ò(0¤Ç¤Ï¤Ê¤¯)1¤Ë¤¹¤ë" #: tool/mlconfig/mc_flags.c:31 msgid "Process received strings via Unicode" msgstr "Unicode·Ðͳ¤Ç¥Ú¡¼¥¹¥È¤ò½èÍý¤¹¤ë" #: tool/mlconfig/mc_flags.c:32 msgid "Fullwidth = 2 (or 1) logical column(s)" msgstr "Á´³Ñʸ»ú¤ÎÏÀÍýÉý¤ò(1¤Ç¤Ï¤Ê¤¯)2¤Ë¤¹¤ë" #: tool/mlconfig/mc_flags.c:32 msgid "Complex Text Layout" msgstr "Complex Text Layout" #: tool/mlconfig/mc_flags.c:33 msgid "Ambiguouswidth = fullwidth" msgstr "Unicode¤ÎÛ£Ëæ¤ÊÉý¤Îʸ»ú¤òÁ´³Ñʸ»ú¤È¤·¤Æ°·¤¦" #: tool/mlconfig/mc_flags.c:33 msgid "CLIPBOARD Selection" msgstr "ÁªÂòʸ»úÎó¤ò¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤ËÊݸ" #: tool/mlconfig/mc_flags.c:33 msgid "Local echo" msgstr "¥í¡¼¥«¥ë¥¨¥³¡¼" #: tool/mlconfig/mc_flags.c:34 msgid "Blink cursor" msgstr "¥«¡¼¥½¥ëÅÀÌÇ" #: tool/mlconfig/mc_flags.c:34 msgid "Don't scroll automatically in scrolling back" msgstr "¥¹¥¯¥í¡¼¥ë¥Ð¥Ã¥¯Ãæ¤Ï¼«Æ°Åª¤Ë¥¹¥¯¥í¡¼¥ë¤·¤Ê¤¤" #: tool/mlconfig/mc_flags.c:35 msgid "Scroll by Shift+Up or Shift+Down" msgstr "Shift+UpËô¤ÏShift+Down¤Ë¤è¤ë¥¹¥¯¥í¡¼¥ë" #: tool/mlconfig/mc_flags.c:35 msgid "Select URI by double click" msgstr "¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤ÇURI¤òÁªÂò" #: tool/mlconfig/mc_flags.c:35 #, fuzzy msgid "OpenType Layout" msgstr "Complex Text Layout" #: tool/mlconfig/mc_flags.c:36 msgid "Trim trailing CR/LF in pasting" msgstr "ŽÉÕ¤±»þ¤ËËöÈø¤Î²þ¹Ô¥³¡¼¥É¤òºï½ü" #: tool/mlconfig/mc_flags.c:36 msgid "Send keys to all windows" msgstr "Á´¥¦¥£¥ó¥É¥¦¤ËƱ»þÁ÷¿®" #: tool/mlconfig/mc_font.c:1188 msgid "Font size (pixels)" msgstr "¥Õ¥©¥ó¥È¥µ¥¤¥º(¥Ô¥¯¥»¥ë)" #: tool/mlconfig/mc_font.c:1250 msgid "Font name" msgstr "¥Õ¥©¥ó¥È̾" #: tool/mlconfig/mc_font.c:1276 msgid "Font width" msgstr "¥Õ¥©¥ó¥ÈÉý" #: tool/mlconfig/mc_font.c:1280 msgid "Narrow" msgstr "" #: tool/mlconfig/mc_font.c:1285 msgid "Widen" msgstr "" #: tool/mlconfig/mc_font.c:1290 msgid "Default" msgstr "" #: tool/mlconfig/mc_font.c:1305 msgid "Unicode areas you won't convert to other charsets" msgstr "Unicode¤«¤é¾¤Îʸ»ú½¸¹ç¤ËÊÑ´¹¤·¤Ê¤¤ÈϰÏ" #: tool/mlconfig/mc_font.c:1308 msgid " Edit " msgstr "ÊÔ½¸" #: tool/mlconfig/mc_geometry.c:36 msgid "Columns" msgstr "·å¿ô" #: tool/mlconfig/mc_geometry.c:36 msgid "Rows" msgstr "¹Ô¿ô" #: tool/mlconfig/mc_im.c:352 msgid "XIM Server" msgstr "XIM¥µ¡¼¥Ð" #: tool/mlconfig/mc_im.c:355 msgid "XIM locale" msgstr "ÆþÎÏ¥í¥±¡¼¥ë" #: tool/mlconfig/mc_im.c:430 msgid "Option" msgstr "¥ª¥×¥·¥ç¥ó" #: tool/mlconfig/mc_im.c:542 msgid "Input Method" msgstr "ÆþÎϥ᥽¥Ã¥É" #: tool/mlconfig/mc_im.c:566 tool/mlconfig/mc_radio.c:55 #: tool/mlconfig/mc_radio.c:58 tool/mlconfig/mc_radio.c:61 #: tool/mlconfig/mc_radio.c:64 msgid "None" msgstr "¤Ê¤·" #: tool/mlconfig/mc_logsize.c:50 msgid "Backlog size (lines)" msgstr "¥í¥°¥µ¥¤¥º(¹Ô)" #: tool/mlconfig/mc_opentype.c:68 msgid "Select opentype features" msgstr "" #: tool/mlconfig/mc_opentype.c:154 msgid "Select opentype scripts" msgstr "" #: tool/mlconfig/mc_opentype.c:230 msgid "Features" msgstr "" #: tool/mlconfig/mc_opentype.c:235 msgid "Script" msgstr "" #: tool/mlconfig/mc_radio.c:55 msgid "Meta key outputs" msgstr "¥á¥¿¥­¡¼²¡²¼»þ¤Îµóư" #: tool/mlconfig/mc_radio.c:55 msgid "Esc" msgstr "Esc" #: tool/mlconfig/mc_radio.c:55 msgid "8bit" msgstr "8¥Ó¥Ã¥È" #: tool/mlconfig/mc_radio.c:58 msgid "Bell mode" msgstr "¥Ù¥ë" #: tool/mlconfig/mc_radio.c:58 msgid "Sound" msgstr "²»" #: tool/mlconfig/mc_radio.c:58 msgid "Visual" msgstr "ɽ¼¨" #: tool/mlconfig/mc_radio.c:58 msgid "Both" msgstr "ξÊý" #: tool/mlconfig/mc_radio.c:61 msgid "Position" msgstr "¾ì½ê" #: tool/mlconfig/mc_radio.c:61 msgid "Left" msgstr "º¸" #: tool/mlconfig/mc_radio.c:61 msgid "Right" msgstr "±¦" #: tool/mlconfig/mc_radio.c:61 msgid "Auto hide" msgstr "¼«Æ°Åª¤Ë±£¤¹" #: tool/mlconfig/mc_radio.c:64 msgid "Vertical mode" msgstr "½Ä½ñ¤­" #: tool/mlconfig/mc_radio.c:64 msgid "CJK" msgstr "ÆüÃæ´Ú" #: tool/mlconfig/mc_radio.c:64 msgid "Mongol" msgstr "¥â¥ó¥´¥ë" #: tool/mlconfig/mc_radio.c:67 msgid "Box drawing" msgstr "·ÓÀþ" #: tool/mlconfig/mc_radio.c:67 tool/mlconfig/mc_radio.c:70 msgid "As it is" msgstr "¤½¤Î¤Þ¤Þɽ¼¨" #: tool/mlconfig/mc_radio.c:67 msgid "Unicode" msgstr "Unicode¤ËÊÑ´¹" #: tool/mlconfig/mc_radio.c:67 msgid "DEC Special" msgstr "DEC Special¤ËÊÑ´¹" #: tool/mlconfig/mc_radio.c:70 msgid "Font policy" msgstr "ɽ¼¨¥Õ¥©¥ó¥È" #: tool/mlconfig/mc_radio.c:70 msgid "Always unicode" msgstr "Unicode¤Î¤ß" #: tool/mlconfig/mc_radio.c:70 msgid "Never unicode" msgstr "Unicode°Ê³°" #: tool/mlconfig/mc_radio.c:73 msgid "Save log" msgstr "¥í¥°¤òÊݸ" #: tool/mlconfig/mc_radio.c:73 msgid "No" msgstr "Êݸ¤·¤Ê¤¤" #: tool/mlconfig/mc_radio.c:73 msgid "Raw format" msgstr "¤½¤Î¤Þ¤ÞÊݸ" #: tool/mlconfig/mc_radio.c:73 msgid "Ttyrec format" msgstr "ttyrec·Á¼°¤ÇÊݸ" #: tool/mlconfig/mc_ratio.c:31 msgid "Contrast " msgstr "¥³¥ó¥È¥é¥¹¥È" #: tool/mlconfig/mc_ratio.c:31 msgid "Gamma" msgstr "¥¬¥ó¥Þ" #: tool/mlconfig/mc_ratio.c:31 msgid "Brightness" msgstr "µ±ÅÙ" #: tool/mlconfig/mc_ratio.c:31 msgid "Fade ratio on unfocus" msgstr "Focus¤¬¤Ê¤¤¤È¤­¤Îµ±ÅÙ" #: tool/mlconfig/mc_ratio.c:32 msgid "Screen size ratio against font size" msgstr "¥¹¥¯¥ê¡¼¥ó¥µ¥¤¥º¤È¥Õ¥©¥ó¥È¥µ¥¤¥º¤Î³ä¹ç" #: tool/mlconfig/mc_sb_view.c:116 msgid "View" msgstr "¸«¤«¤±" #: tool/mlconfig/mc_space.c:31 msgid "Line space (pixels)" msgstr "¹Ô´Ö³Ö(¥Ô¥¯¥»¥ë)" #: tool/mlconfig/mc_space.c:31 msgid "Letter space (pixels)" msgstr "»ú´Ö(¥Ô¥¯¥»¥ë)" #: tool/mlconfig/mc_space.c:31 msgid "Baseline position (pixels)" msgstr "¥Ù¡¼¥¹¥é¥¤¥ó¤Î°ÌÃÖ(¥Ô¥¯¥»¥ë)" #: tool/mlconfig/mc_space.c:32 msgid "Underline position (pixels)" msgstr "¥¢¥ó¥À¡¼¥é¥¤¥ó¤Î°ÌÃÖ(¥Ô¥¯¥»¥ë)" #: tool/mlconfig/mc_tabsize.c:50 msgid "Tab width (columns)" msgstr "¥¿¥ÖÉý(ʸ»ú)" #: tool/mlconfig/mc_unicode_areas.c:131 msgid "" "Set unicode area in the following format.\n" "Format: U+XXXX-XXXX or U+XXXX (U+ is optional)" msgstr "" "¼¡¤Î·Á¼°¤ÇUnicode¤ÎÈϰϤò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤\n" " U+XXXX-XXXXËô¤ÏU+XXXX (U+¤Ï¤Ê¤¯¤Æ¤â¹½¤¤¤Þ¤»¤ó)" #: tool/mlconfig/mc_wordsep.c:93 msgid "Word separators" msgstr "ñ¸ì¶èÀÚ¤êʸ»ú" #~ msgid " Bel mode " #~ msgstr "¥Ù¥ë" #~ msgid "Transparent" #~ msgstr "ÊÉ»æ/Æ©ÌÀ" #~ msgid "ISCII language" #~ msgstr "ISCII¸À¸ì" #~ msgid "Meta key outputs:" #~ msgstr "¥á¥¿¥­¡¼" �����������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/insert-header.sin�����������������������������������������������������0100644�0001760�0000144�00000001240�13210547312�0020155�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/Makefile.in.in��������������������������������������������������������0100644�0001760�0000144�00000024103�13210547312�0017365�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2002 by Ulrich Drepper <drepper@gnu.ai.mit.edu> # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. PACKAGE = mlconfig VERSION = @VERSION@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in Makevars remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) POTFILES.in $(DOMAIN).pot \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common); do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(MKINSTALLDIRS) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(MKINSTALLDIRS) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(MKINSTALLDIRS) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(MKINSTALLDIRS) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext"; then \ for file in $(DISTFILES.common); do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all dvi info tags TAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: $(DISTFILES) dists="$(DISTFILES)"; \ if test -f $(srcdir)/ChangeLog; then dists="$$dists ChangeLog"; fi; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir); \ else \ cp -p $(srcdir)/$$file $(distdir); \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/Makevars��������������������������������������������������������������0100644�0001760�0000144�00000002117�13210547312�0016410�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = tool/mlconfig/po top_builddir = ../../.. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Free Software Foundation, Inc. # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/ar.po�����������������������������������������������������������������0100644�0001760�0000144�00000036273�13210547312�0015670�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# translation of ar.po to Arabic # Copyright (C) 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # # Khaled Hosny <khaledhosny@eglug.org>, 2006. msgid "" msgstr "" "Project-Id-Version: ar\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-21 01:39+0900\n" "PO-Revision-Date: 2006-08-12 17:40+0300\n" "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" "Language-Team: Arabic <doc@arabeyes.org>\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.2\n" #: tool/mlconfig/gtkxlfdsel.c:225 #, fuzzy msgid "Foundry:" msgstr "صوت" #: tool/mlconfig/gtkxlfdsel.c:226 msgid "Family:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:227 #, fuzzy msgid "Weight:" msgstr "Ø§ï»¹Ø±ØªÙØ§Ø¹" #: tool/mlconfig/gtkxlfdsel.c:228 msgid "Slant:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:229 #, fuzzy msgid "Set Width:" msgstr "العرض" #: tool/mlconfig/gtkxlfdsel.c:230 msgid "Add Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:231 msgid "Pixel Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:232 msgid "Point Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:233 msgid "Resolution X:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:234 msgid "Resolution Y:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:235 msgid "Spacing:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:236 msgid "Average Width:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:237 msgid "Charset:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:469 msgid "Font Property" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:470 msgid "Requested Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:471 msgid "Actual Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:504 tool/mlconfig/main.c:540 msgid "Font" msgstr "الخط" #: tool/mlconfig/gtkxlfdsel.c:514 tool/mlconfig/gtkxlfdsel.c:2156 #: tool/mlconfig/gtkxlfdsel.c:2386 #, fuzzy msgid "Font:" msgstr "الخط" #: tool/mlconfig/gtkxlfdsel.c:519 msgid "Font Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:524 msgid "Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:656 tool/mlconfig/gtkxlfdsel.c:878 msgid "Reset Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:670 msgid "Metric:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:674 msgid "Points" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:681 msgid "Pixels" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:697 msgid "Preview:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:726 msgid "Font Information" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:759 msgid "Requested Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:770 msgid "Actual Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:781 #, c-format msgid "%i fonts available with a total of %i styles." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:796 msgid "Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:809 msgid "Font Types:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:817 msgid "Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:823 msgid "Scalable" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:829 msgid "Scaled Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:897 msgid "*" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "(nil)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "regular" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1229 tool/mlconfig/gtkxlfdsel.c:1985 msgid "italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1230 tool/mlconfig/gtkxlfdsel.c:1986 msgid "oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1231 tool/mlconfig/gtkxlfdsel.c:1987 msgid "reverse italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1232 tool/mlconfig/gtkxlfdsel.c:1988 msgid "reverse oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1233 tool/mlconfig/gtkxlfdsel.c:1989 #, fuzzy msgid "other" msgstr "أخرى" #: tool/mlconfig/gtkxlfdsel.c:1240 msgid "[M]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1241 msgid "[C]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1803 msgid "The selected font is not available." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1809 msgid "The selected font is not a valid font." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1866 msgid "This is a 2-byte font and may not be displayed correctly." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1973 msgid "(unknown)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1984 msgid "roman" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1996 msgid "proportional" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1997 msgid "monospaced" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1998 msgid "char cell" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:2161 #, fuzzy msgid "Font: (Filter Applied)" msgstr "حجم الخط (بكسل)" #: tool/mlconfig/gtkxlfdsel.c:2637 msgid "MAX_FONTS exceeded. Some fonts may be missing." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3477 msgid "OK" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3484 tool/mlconfig/main.c:362 msgid "Apply" msgstr "تطبيق" #: tool/mlconfig/gtkxlfdsel.c:3490 tool/mlconfig/main.c:363 msgid "Cancel" msgstr "إلغاء" #: tool/mlconfig/gtkxlfdsel.c:3506 #, fuzzy msgid "Font Selection" msgstr " اختر" #: tool/mlconfig/main.c:204 msgid "Send" msgstr "" #: tool/mlconfig/main.c:205 msgid "Recv" msgstr "" #: tool/mlconfig/main.c:206 msgid "Return" msgstr "" #: tool/mlconfig/main.c:207 #, fuzzy msgid "Exit" msgstr "Ø­ÙØ¸ ثم خروج" #: tool/mlconfig/main.c:218 msgid "Local" msgstr "" #: tool/mlconfig/main.c:235 msgid "Remote" msgstr "" #: tool/mlconfig/main.c:360 msgid "Save&Exit" msgstr "Ø­ÙØ¸ ثم خروج" #: tool/mlconfig/main.c:361 msgid "Apply&Exit" msgstr "تطبيق ثم خروج" #: tool/mlconfig/main.c:372 msgid "Font size (temporary)" msgstr "حجم الخط (مؤقت)" #: tool/mlconfig/main.c:380 msgid "Larger" msgstr "أكبر" #: tool/mlconfig/main.c:381 msgid "Smaller" msgstr "أصغر" #: tool/mlconfig/main.c:396 msgid "Command" msgstr "" #: tool/mlconfig/main.c:404 msgid "Full reset" msgstr "إعادة تعيين" #: tool/mlconfig/main.c:405 msgid "Snapshot" msgstr "" #: tool/mlconfig/main.c:407 msgid "SCP" msgstr "" #: tool/mlconfig/main.c:423 msgid "PTY List" msgstr "قائمة الـPTY" #: tool/mlconfig/main.c:431 msgid " New " msgstr " جديد" #: tool/mlconfig/main.c:432 tool/mlconfig/mc_font.c:1266 #: tool/mlconfig/mc_wall_pic.c:62 msgid "Select" msgstr " اختر" #: tool/mlconfig/main.c:456 msgid "mlterm configuration" msgstr "إعداد mlterm" #: tool/mlconfig/main.c:491 tool/mlconfig/mc_char_encoding.c:157 msgid "Encoding" msgstr "الترميز " #: tool/mlconfig/main.c:577 msgid "Background" msgstr "الخلÙية" #: tool/mlconfig/main.c:588 msgid "Picture/Transparent" msgstr "صورة\\Ø´ÙØ§ÙØ©" #: tool/mlconfig/main.c:626 tool/mlconfig/mc_bgtype.c:105 msgid "Color" msgstr "لون" #: tool/mlconfig/main.c:647 msgid "Scrollbar" msgstr "شريط التمرير" #: tool/mlconfig/main.c:678 msgid "Others" msgstr "أخرى" #: tool/mlconfig/mc_alpha.c:49 msgid "Alpha" msgstr "" #: tool/mlconfig/mc_auto_detect.c:65 msgid "Auto detect" msgstr "" #: tool/mlconfig/mc_auto_detect.c:70 #, fuzzy msgid "Encoding list" msgstr "الترميز " #: tool/mlconfig/mc_bgtype.c:98 msgid "Background type" msgstr "نوع الخلÙية" #: tool/mlconfig/mc_bgtype.c:117 tool/mlconfig/mc_wall_pic.c:52 msgid "Picture" msgstr "صورة" #: tool/mlconfig/mc_bgtype.c:129 msgid "Pseudo transparent" msgstr "Ø´ÙØ§ÙØ©" #: tool/mlconfig/mc_char_encoding.c:24 msgid "auto" msgstr "تلقائى" #: tool/mlconfig/mc_char_encoding.c:26 msgid "--- Unicode ---" msgstr "--- يونيكود ---" #: tool/mlconfig/mc_char_encoding.c:28 msgid "--- ISO 8859 encodings ---" msgstr "--- ترميزات ISO 8859 ---" #: tool/mlconfig/mc_char_encoding.c:35 msgid "--- Other 8bit ---" msgstr "--- باقى الـ8bit ---" #: tool/mlconfig/mc_char_encoding.c:43 msgid "--- Japanese ---" msgstr "--- يابانى ---" #: tool/mlconfig/mc_char_encoding.c:46 msgid "--- Korean ---" msgstr "--- كورى ---" #: tool/mlconfig/mc_char_encoding.c:48 msgid "--- traditional Chinese ---" msgstr "--- صينى تقليدى ---" #: tool/mlconfig/mc_char_encoding.c:50 msgid "--- simplified Chinese ---" msgstr "--- صينى مبسّط ---" #: tool/mlconfig/mc_char_encoding.c:151 tool/mlconfig/mc_im.c:297 #: tool/mlconfig/mc_im.c:346 tool/mlconfig/mc_im.c:418 #: tool/mlconfig/mc_im.c:421 #, c-format msgid "auto (currently %s)" msgstr "تلقائى (حالياً %s)" #: tool/mlconfig/mc_char_width.c:65 msgid "" "Set full width\n" "areas manually" msgstr "" #: tool/mlconfig/mc_click.c:49 msgid "Double click interval (msec)" msgstr "" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Foreground color" msgstr "لون المقدمة" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Background color" msgstr "لون الخلÙية" #: tool/mlconfig/mc_color.c:37 msgid "Bold " msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Italic" msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Underline" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Blink" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Cross out" msgstr "" #: tool/mlconfig/mc_color.c:138 msgid "Cursor color" msgstr "" #: tool/mlconfig/mc_color.c:161 msgid "Substituting color" msgstr "" #: tool/mlconfig/mc_color.c:208 msgid "VT basic 16 colors" msgstr "" #: tool/mlconfig/mc_ctl.c:59 msgid "Bidi separators" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Xft" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Cairo" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Anti Alias" msgstr "تحسين الحواÙ" #: tool/mlconfig/mc_flags.c:30 msgid "Variable column width" msgstr "عرض العمود متغيّر" #: tool/mlconfig/mc_flags.c:30 msgid "Combining" msgstr "الوصل" #: tool/mlconfig/mc_flags.c:31 msgid "Combining = 1 (or 0) logical column(s)" msgstr "الوصل = 1 (أو 0) عمود منطقى" #: tool/mlconfig/mc_flags.c:31 msgid "Process received strings via Unicode" msgstr "العمليات تتلقى النص عن طريق يونيكود" #: tool/mlconfig/mc_flags.c:32 msgid "Fullwidth = 2 (or 1) logical column(s)" msgstr "العرض الكامل = 2 (أو 1) أعمدة منطقية" #: tool/mlconfig/mc_flags.c:32 msgid "Complex Text Layout" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "Ambiguouswidth = fullwidth" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "CLIPBOARD Selection" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "Local echo" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Blink cursor" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Don't scroll automatically in scrolling back" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Scroll by Shift+Up or Shift+Down" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Select URI by double click" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "OpenType Layout" msgstr "" #: tool/mlconfig/mc_flags.c:36 msgid "Trim trailing CR/LF in pasting" msgstr "" #: tool/mlconfig/mc_flags.c:36 msgid "Send keys to all windows" msgstr "" #: tool/mlconfig/mc_font.c:1188 msgid "Font size (pixels)" msgstr "حجم الخط (بكسل)" #: tool/mlconfig/mc_font.c:1250 #, fuzzy msgid "Font name" msgstr "الخط" #: tool/mlconfig/mc_font.c:1276 msgid "Font width" msgstr "" #: tool/mlconfig/mc_font.c:1280 msgid "Narrow" msgstr "" #: tool/mlconfig/mc_font.c:1285 msgid "Widen" msgstr "" #: tool/mlconfig/mc_font.c:1290 msgid "Default" msgstr "" #: tool/mlconfig/mc_font.c:1305 msgid "Unicode areas you won't convert to other charsets" msgstr "" #: tool/mlconfig/mc_font.c:1308 msgid " Edit " msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Columns" msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Rows" msgstr "" #: tool/mlconfig/mc_im.c:352 msgid "XIM Server" msgstr "خادم XIM " #: tool/mlconfig/mc_im.c:355 msgid "XIM locale" msgstr "محلية XIM " #: tool/mlconfig/mc_im.c:430 msgid "Option" msgstr "خيار" #: tool/mlconfig/mc_im.c:542 msgid "Input Method" msgstr "طريقة اﻹدخال" #: tool/mlconfig/mc_im.c:566 tool/mlconfig/mc_radio.c:55 #: tool/mlconfig/mc_radio.c:58 tool/mlconfig/mc_radio.c:61 #: tool/mlconfig/mc_radio.c:64 msgid "None" msgstr "لا" #: tool/mlconfig/mc_logsize.c:50 msgid "Backlog size (lines)" msgstr "حجم السجل (أسطر)" #: tool/mlconfig/mc_opentype.c:68 msgid "Select opentype features" msgstr "" #: tool/mlconfig/mc_opentype.c:154 msgid "Select opentype scripts" msgstr "" #: tool/mlconfig/mc_opentype.c:230 msgid "Features" msgstr "" #: tool/mlconfig/mc_opentype.c:235 msgid "Script" msgstr "" #: tool/mlconfig/mc_radio.c:55 msgid "Meta key outputs" msgstr "خرج Ù…ÙØªØ§Ø­ Meta" #: tool/mlconfig/mc_radio.c:55 msgid "Esc" msgstr "Esc" #: tool/mlconfig/mc_radio.c:55 msgid "8bit" msgstr "8 بت" #: tool/mlconfig/mc_radio.c:58 msgid "Bell mode" msgstr " نمط الجرس " #: tool/mlconfig/mc_radio.c:58 msgid "Sound" msgstr "صوت" #: tool/mlconfig/mc_radio.c:58 msgid "Visual" msgstr "مرئى" #: tool/mlconfig/mc_radio.c:58 msgid "Both" msgstr "" #: tool/mlconfig/mc_radio.c:61 msgid "Position" msgstr "الموضع" #: tool/mlconfig/mc_radio.c:61 msgid "Left" msgstr "يسار" #: tool/mlconfig/mc_radio.c:61 msgid "Right" msgstr "يمين" #: tool/mlconfig/mc_radio.c:61 msgid "Auto hide" msgstr "" #: tool/mlconfig/mc_radio.c:64 msgid "Vertical mode" msgstr " النمط الرأسى " #: tool/mlconfig/mc_radio.c:64 msgid "CJK" msgstr "CJK" #: tool/mlconfig/mc_radio.c:64 msgid "Mongol" msgstr "منغولى" #: tool/mlconfig/mc_radio.c:67 msgid "Box drawing" msgstr "" #: tool/mlconfig/mc_radio.c:67 tool/mlconfig/mc_radio.c:70 msgid "As it is" msgstr "" #: tool/mlconfig/mc_radio.c:67 #, fuzzy msgid "Unicode" msgstr "--- يونيكود ---" #: tool/mlconfig/mc_radio.c:67 msgid "DEC Special" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Font policy" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Always unicode" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Never unicode" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Save log" msgstr "" #: tool/mlconfig/mc_radio.c:73 #, fuzzy msgid "No" msgstr "لا" #: tool/mlconfig/mc_radio.c:73 msgid "Raw format" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Ttyrec format" msgstr "" #: tool/mlconfig/mc_ratio.c:31 msgid "Contrast " msgstr "التباين" #: tool/mlconfig/mc_ratio.c:31 msgid "Gamma" msgstr "الغاما" #: tool/mlconfig/mc_ratio.c:31 msgid "Brightness" msgstr "السطوع" #: tool/mlconfig/mc_ratio.c:31 msgid "Fade ratio on unfocus" msgstr "نسبة اﻹبهات عند عدم التركيز" #: tool/mlconfig/mc_ratio.c:32 msgid "Screen size ratio against font size" msgstr "نسبة الشاشة لحجم الخط" #: tool/mlconfig/mc_sb_view.c:116 msgid "View" msgstr "المنظر" #: tool/mlconfig/mc_space.c:31 msgid "Line space (pixels)" msgstr "Ù…Ø³Ø§ÙØ© ما بين السطور (بكسل)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Letter space (pixels)" msgstr "Ù…Ø³Ø§ÙØ© ما بين السطور (بكسل)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Baseline position (pixels)" msgstr "Ù…Ø³Ø§ÙØ© ما بين السطور (بكسل)" #: tool/mlconfig/mc_space.c:32 #, fuzzy msgid "Underline position (pixels)" msgstr "Ù…Ø³Ø§ÙØ© ما بين السطور (بكسل)" #: tool/mlconfig/mc_tabsize.c:50 msgid "Tab width (columns)" msgstr "عرض Tab (أعمدة)" #: tool/mlconfig/mc_unicode_areas.c:131 msgid "" "Set unicode area in the following format.\n" "Format: U+XXXX-XXXX or U+XXXX (U+ is optional)" msgstr "" #: tool/mlconfig/mc_wordsep.c:93 msgid "Word separators" msgstr "" #~ msgid "ISCII language" #~ msgstr "لغة ISCII" �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/POTFILES.in�����������������������������������������������������������0100644�0001760�0000144�00000001501�13210547312�0016465�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# List of source files containing translatable strings. # Copyright (C) 2002 Turbolinux Inc. # mlconfig - configuration tool tool/mlconfig/gtkxlfdsel.c tool/mlconfig/main.c tool/mlconfig/mc_alpha.c tool/mlconfig/mc_auto_detect.c tool/mlconfig/mc_bgtype.c tool/mlconfig/mc_char_encoding.c tool/mlconfig/mc_char_width.c tool/mlconfig/mc_click.c tool/mlconfig/mc_color.c tool/mlconfig/mc_combo.c tool/mlconfig/mc_ctl.c tool/mlconfig/mc_flags.c tool/mlconfig/mc_font.c tool/mlconfig/mc_geometry.c tool/mlconfig/mc_im.c tool/mlconfig/mc_io.c tool/mlconfig/mc_logsize.c tool/mlconfig/mc_opentype.c tool/mlconfig/mc_pty.c tool/mlconfig/mc_radio.c tool/mlconfig/mc_ratio.c tool/mlconfig/mc_sb_view.c tool/mlconfig/mc_space.c tool/mlconfig/mc_tabsize.c tool/mlconfig/mc_unicode_areas.c tool/mlconfig/mc_wall_pic.c tool/mlconfig/mc_wordsep.c �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/de.po�����������������������������������������������������������������0100644�0001760�0000144�00000035524�13210547312�0015654�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# German translations for mlterm # Copyright (C) 2002 Araki Ken <araklen@users.sourceforge.net> # This file is distributed under the same license as the mlterm package. # Mike Fabian <mfabian@suse.de>, 2002. # msgid "" msgstr "" "Project-Id-Version: mlterm 2.6.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-21 01:39+0900\n" "PO-Revision-Date: 2003-03-24 17:32+0100\n" "Last-Translator: Mike Fabian <mfabian@suse.de>\n" "Language-Team: German <suse-i18n@suse.de>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" #: tool/mlconfig/gtkxlfdsel.c:225 #, fuzzy msgid "Foundry:" msgstr "akustisch" #: tool/mlconfig/gtkxlfdsel.c:226 msgid "Family:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:227 #, fuzzy msgid "Weight:" msgstr "Höhe" #: tool/mlconfig/gtkxlfdsel.c:228 msgid "Slant:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:229 #, fuzzy msgid "Set Width:" msgstr "Breite" #: tool/mlconfig/gtkxlfdsel.c:230 msgid "Add Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:231 msgid "Pixel Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:232 msgid "Point Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:233 msgid "Resolution X:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:234 msgid "Resolution Y:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:235 msgid "Spacing:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:236 msgid "Average Width:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:237 msgid "Charset:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:469 msgid "Font Property" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:470 msgid "Requested Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:471 msgid "Actual Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:504 tool/mlconfig/main.c:540 msgid "Font" msgstr "Font" #: tool/mlconfig/gtkxlfdsel.c:514 tool/mlconfig/gtkxlfdsel.c:2156 #: tool/mlconfig/gtkxlfdsel.c:2386 #, fuzzy msgid "Font:" msgstr "Font" #: tool/mlconfig/gtkxlfdsel.c:519 msgid "Font Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:524 msgid "Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:656 tool/mlconfig/gtkxlfdsel.c:878 msgid "Reset Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:670 msgid "Metric:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:674 msgid "Points" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:681 msgid "Pixels" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:697 msgid "Preview:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:726 msgid "Font Information" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:759 msgid "Requested Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:770 msgid "Actual Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:781 #, c-format msgid "%i fonts available with a total of %i styles." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:796 msgid "Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:809 msgid "Font Types:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:817 msgid "Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:823 msgid "Scalable" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:829 msgid "Scaled Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:897 msgid "*" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "(nil)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "regular" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1229 tool/mlconfig/gtkxlfdsel.c:1985 msgid "italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1230 tool/mlconfig/gtkxlfdsel.c:1986 msgid "oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1231 tool/mlconfig/gtkxlfdsel.c:1987 msgid "reverse italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1232 tool/mlconfig/gtkxlfdsel.c:1988 msgid "reverse oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1233 tool/mlconfig/gtkxlfdsel.c:1989 #, fuzzy msgid "other" msgstr "Sonstiges" #: tool/mlconfig/gtkxlfdsel.c:1240 msgid "[M]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1241 msgid "[C]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1803 msgid "The selected font is not available." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1809 msgid "The selected font is not a valid font." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1866 msgid "This is a 2-byte font and may not be displayed correctly." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1973 msgid "(unknown)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1984 msgid "roman" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1996 msgid "proportional" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1997 msgid "monospaced" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1998 msgid "char cell" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:2161 #, fuzzy msgid "Font: (Filter Applied)" msgstr "Fontgröße (Pixel)" #: tool/mlconfig/gtkxlfdsel.c:2637 msgid "MAX_FONTS exceeded. Some fonts may be missing." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3477 msgid "OK" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3484 tool/mlconfig/main.c:362 msgid "Apply" msgstr "Anwenden" #: tool/mlconfig/gtkxlfdsel.c:3490 tool/mlconfig/main.c:363 msgid "Cancel" msgstr "Abbrechen" #: tool/mlconfig/gtkxlfdsel.c:3506 #, fuzzy msgid "Font Selection" msgstr " Auswahl " #: tool/mlconfig/main.c:204 msgid "Send" msgstr "" #: tool/mlconfig/main.c:205 msgid "Recv" msgstr "" #: tool/mlconfig/main.c:206 msgid "Return" msgstr "" #: tool/mlconfig/main.c:207 #, fuzzy msgid "Exit" msgstr "Speichern & Beenden" #: tool/mlconfig/main.c:218 msgid "Local" msgstr "" #: tool/mlconfig/main.c:235 msgid "Remote" msgstr "" #: tool/mlconfig/main.c:360 msgid "Save&Exit" msgstr "Speichern & Beenden" #: tool/mlconfig/main.c:361 msgid "Apply&Exit" msgstr "Anwenden & Beenden" #: tool/mlconfig/main.c:372 msgid "Font size (temporary)" msgstr "Fontgröße (temporär)" #: tool/mlconfig/main.c:380 msgid "Larger" msgstr "Größer" #: tool/mlconfig/main.c:381 msgid "Smaller" msgstr "Kleiner" #: tool/mlconfig/main.c:396 msgid "Command" msgstr "" #: tool/mlconfig/main.c:404 msgid "Full reset" msgstr "Alles Zurücksetzen" #: tool/mlconfig/main.c:405 msgid "Snapshot" msgstr "" #: tool/mlconfig/main.c:407 msgid "SCP" msgstr "" #: tool/mlconfig/main.c:423 msgid "PTY List" msgstr "PTY Liste" #: tool/mlconfig/main.c:431 msgid " New " msgstr " Neu " #: tool/mlconfig/main.c:432 tool/mlconfig/mc_font.c:1266 #: tool/mlconfig/mc_wall_pic.c:62 msgid "Select" msgstr " Auswahl " #: tool/mlconfig/main.c:456 msgid "mlterm configuration" msgstr "mlterm Konfiguration" #: tool/mlconfig/main.c:491 tool/mlconfig/mc_char_encoding.c:157 msgid "Encoding" msgstr "Kodierung" #: tool/mlconfig/main.c:577 msgid "Background" msgstr "Hintergrund" #: tool/mlconfig/main.c:588 msgid "Picture/Transparent" msgstr "Bild/Transparenz" #: tool/mlconfig/main.c:626 tool/mlconfig/mc_bgtype.c:105 msgid "Color" msgstr "Farbe" #: tool/mlconfig/main.c:647 msgid "Scrollbar" msgstr "Scrollbalken" #: tool/mlconfig/main.c:678 msgid "Others" msgstr "Sonstiges" #: tool/mlconfig/mc_alpha.c:49 msgid "Alpha" msgstr "" #: tool/mlconfig/mc_auto_detect.c:65 msgid "Auto detect" msgstr "" #: tool/mlconfig/mc_auto_detect.c:70 #, fuzzy msgid "Encoding list" msgstr "Kodierung" #: tool/mlconfig/mc_bgtype.c:98 msgid "Background type" msgstr "Hintergrundtyp" #: tool/mlconfig/mc_bgtype.c:117 tool/mlconfig/mc_wall_pic.c:52 msgid "Picture" msgstr "Bild" #: tool/mlconfig/mc_bgtype.c:129 msgid "Pseudo transparent" msgstr "Pseudo transparent" #: tool/mlconfig/mc_char_encoding.c:24 msgid "auto" msgstr "Auto" #: tool/mlconfig/mc_char_encoding.c:26 msgid "--- Unicode ---" msgstr "--- Unicode ---" #: tool/mlconfig/mc_char_encoding.c:28 msgid "--- ISO 8859 encodings ---" msgstr "--- ISO 8859 Kodierungen ---" #: tool/mlconfig/mc_char_encoding.c:35 msgid "--- Other 8bit ---" msgstr "--- Sonstige 8bit Kodierungen ---" #: tool/mlconfig/mc_char_encoding.c:43 msgid "--- Japanese ---" msgstr "--- Japanisch ---" #: tool/mlconfig/mc_char_encoding.c:46 msgid "--- Korean ---" msgstr "--- Koreanisch ---" #: tool/mlconfig/mc_char_encoding.c:48 msgid "--- traditional Chinese ---" msgstr "--- traditionelles Chinesisch ---" #: tool/mlconfig/mc_char_encoding.c:50 msgid "--- simplified Chinese ---" msgstr "--- vereinfachtes Chinesisch ---" #: tool/mlconfig/mc_char_encoding.c:151 tool/mlconfig/mc_im.c:297 #: tool/mlconfig/mc_im.c:346 tool/mlconfig/mc_im.c:418 #: tool/mlconfig/mc_im.c:421 #, c-format msgid "auto (currently %s)" msgstr "automatisch (aktuell: %s)" #: tool/mlconfig/mc_char_width.c:65 msgid "" "Set full width\n" "areas manually" msgstr "" #: tool/mlconfig/mc_click.c:49 msgid "Double click interval (msec)" msgstr "" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Foreground color" msgstr "Vordergrundfarbe" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Background color" msgstr "Hintergrundfarbe" #: tool/mlconfig/mc_color.c:37 msgid "Bold " msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Italic" msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Underline" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Blink" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Cross out" msgstr "" #: tool/mlconfig/mc_color.c:138 msgid "Cursor color" msgstr "" #: tool/mlconfig/mc_color.c:161 msgid "Substituting color" msgstr "" #: tool/mlconfig/mc_color.c:208 msgid "VT basic 16 colors" msgstr "" #: tool/mlconfig/mc_ctl.c:59 msgid "Bidi separators" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Xft" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Cairo" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Anti Alias" msgstr "Anti-Aliasing" #: tool/mlconfig/mc_flags.c:30 msgid "Variable column width" msgstr "Proportionalschrift" #: tool/mlconfig/mc_flags.c:30 msgid "Combining" msgstr "Zusammengesetzte Zeichen" #: tool/mlconfig/mc_flags.c:31 msgid "Combining = 1 (or 0) logical column(s)" msgstr "Zusammengesetzte Zeichen =1 (oder 0) logische Spalte(n)" #: tool/mlconfig/mc_flags.c:31 msgid "Process received strings via Unicode" msgstr "Prozess empfängt Strings als Unicode" #: tool/mlconfig/mc_flags.c:32 msgid "Fullwidth = 2 (or 1) logical column(s)" msgstr "Volle Breite = 2 (oder 1) logische Spalte(n)" #: tool/mlconfig/mc_flags.c:32 msgid "Complex Text Layout" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "Ambiguouswidth = fullwidth" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "CLIPBOARD Selection" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "Local echo" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Blink cursor" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Don't scroll automatically in scrolling back" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Scroll by Shift+Up or Shift+Down" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Select URI by double click" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "OpenType Layout" msgstr "" #: tool/mlconfig/mc_flags.c:36 msgid "Trim trailing CR/LF in pasting" msgstr "" #: tool/mlconfig/mc_flags.c:36 msgid "Send keys to all windows" msgstr "" #: tool/mlconfig/mc_font.c:1188 msgid "Font size (pixels)" msgstr "Fontgröße (Pixel)" #: tool/mlconfig/mc_font.c:1250 #, fuzzy msgid "Font name" msgstr "Font" #: tool/mlconfig/mc_font.c:1276 msgid "Font width" msgstr "" #: tool/mlconfig/mc_font.c:1280 msgid "Narrow" msgstr "" #: tool/mlconfig/mc_font.c:1285 msgid "Widen" msgstr "" #: tool/mlconfig/mc_font.c:1290 msgid "Default" msgstr "" #: tool/mlconfig/mc_font.c:1305 msgid "Unicode areas you won't convert to other charsets" msgstr "" #: tool/mlconfig/mc_font.c:1308 msgid " Edit " msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Columns" msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Rows" msgstr "" #: tool/mlconfig/mc_im.c:352 msgid "XIM Server" msgstr "XIM Server" #: tool/mlconfig/mc_im.c:355 msgid "XIM locale" msgstr "XIM Locale" #: tool/mlconfig/mc_im.c:430 msgid "Option" msgstr "Option" #: tool/mlconfig/mc_im.c:542 msgid "Input Method" msgstr "Input Methode" #: tool/mlconfig/mc_im.c:566 tool/mlconfig/mc_radio.c:55 #: tool/mlconfig/mc_radio.c:58 tool/mlconfig/mc_radio.c:61 #: tool/mlconfig/mc_radio.c:64 msgid "None" msgstr "Keine" #: tool/mlconfig/mc_logsize.c:50 msgid "Backlog size (lines)" msgstr "Verlaufsspeicher Größe (Zeilen)" #: tool/mlconfig/mc_opentype.c:68 msgid "Select opentype features" msgstr "" #: tool/mlconfig/mc_opentype.c:154 msgid "Select opentype scripts" msgstr "" #: tool/mlconfig/mc_opentype.c:230 msgid "Features" msgstr "" #: tool/mlconfig/mc_opentype.c:235 msgid "Script" msgstr "" #: tool/mlconfig/mc_radio.c:55 msgid "Meta key outputs" msgstr "Verhalten der Meta Taste:" #: tool/mlconfig/mc_radio.c:55 msgid "Esc" msgstr "Esc" #: tool/mlconfig/mc_radio.c:55 msgid "8bit" msgstr "8 Bit" #: tool/mlconfig/mc_radio.c:58 msgid "Bell mode" msgstr "Signalglocke" #: tool/mlconfig/mc_radio.c:58 msgid "Sound" msgstr "akustisch" #: tool/mlconfig/mc_radio.c:58 msgid "Visual" msgstr "visuell" #: tool/mlconfig/mc_radio.c:58 msgid "Both" msgstr "" #: tool/mlconfig/mc_radio.c:61 msgid "Position" msgstr "Position" #: tool/mlconfig/mc_radio.c:61 msgid "Left" msgstr "Links" #: tool/mlconfig/mc_radio.c:61 msgid "Right" msgstr "Rechts" #: tool/mlconfig/mc_radio.c:61 msgid "Auto hide" msgstr "" #: tool/mlconfig/mc_radio.c:64 msgid "Vertical mode" msgstr "Vertikaler Modus" #: tool/mlconfig/mc_radio.c:64 msgid "CJK" msgstr "CJK" #: tool/mlconfig/mc_radio.c:64 msgid "Mongol" msgstr "Mongolisch" #: tool/mlconfig/mc_radio.c:67 msgid "Box drawing" msgstr "" #: tool/mlconfig/mc_radio.c:67 tool/mlconfig/mc_radio.c:70 msgid "As it is" msgstr "" #: tool/mlconfig/mc_radio.c:67 #, fuzzy msgid "Unicode" msgstr "--- Unicode ---" #: tool/mlconfig/mc_radio.c:67 msgid "DEC Special" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Font policy" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Always unicode" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Never unicode" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Save log" msgstr "" #: tool/mlconfig/mc_radio.c:73 #, fuzzy msgid "No" msgstr "Keine" #: tool/mlconfig/mc_radio.c:73 msgid "Raw format" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Ttyrec format" msgstr "" #: tool/mlconfig/mc_ratio.c:31 msgid "Contrast " msgstr "Kontrast" #: tool/mlconfig/mc_ratio.c:31 msgid "Gamma" msgstr "Gamma" #: tool/mlconfig/mc_ratio.c:31 msgid "Brightness" msgstr "Helligkeit" #: tool/mlconfig/mc_ratio.c:31 msgid "Fade ratio on unfocus" msgstr "Verblassungsrate bei Fokusverlust" #: tool/mlconfig/mc_ratio.c:32 msgid "Screen size ratio against font size" msgstr "Bildschirmgröße relativ zur Fontgröße" #: tool/mlconfig/mc_sb_view.c:116 msgid "View" msgstr "Aussehen" #: tool/mlconfig/mc_space.c:31 msgid "Line space (pixels)" msgstr "Zeilenabstand (Pixel)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Letter space (pixels)" msgstr "Zeilenabstand (Pixel)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Baseline position (pixels)" msgstr "Zeilenabstand (Pixel)" #: tool/mlconfig/mc_space.c:32 #, fuzzy msgid "Underline position (pixels)" msgstr "Zeilenabstand (Pixel)" #: tool/mlconfig/mc_tabsize.c:50 msgid "Tab width (columns)" msgstr "Tabulatorbreite (Spalten)" #: tool/mlconfig/mc_unicode_areas.c:131 msgid "" "Set unicode area in the following format.\n" "Format: U+XXXX-XXXX or U+XXXX (U+ is optional)" msgstr "" #: tool/mlconfig/mc_wordsep.c:93 msgid "Word separators" msgstr "" #~ msgid "ISCII language" #~ msgstr "ISCII Sprache" ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/boldquot.sed����������������������������������������������������������0100644�0001760�0000144�00000000331�13210547312�0017236�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/en@boldquot.header����������������������������������������������������0100644�0001760�0000144�00000002455�13210547312�0020347�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#All this catalog "translates" are quotation characters. #The msgids must be ASCII and therefore cannot contain real quotation #characters, only substitutes like grave accent(0x60), apostrophe(0x27) #and double quote(0x22).These substitutes look strange; see #http: // www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # #This catalog translates grave accent(0x60) and apostrophe(0x27) to #left single quotation mark(U + 2018) and right single quotation mark(U + 2019). #It also translates pairs of apostrophe(0x27) to #left single quotation mark(U + 2018) and right single quotation mark(U + 2019) #and pairs of quotation mark(0x22) to #left double quotation mark(U + 201C) and right double quotation mark(U + 201D). # #When output to an UTF - 8 terminal, the quotation characters appear perfectly. #When output to an ISO - 8859 - 1 terminal, the single quotation marks are #transliterated to apostrophes(by iconv in glibc 2.2 or newer) or to #grave / acute accent(by libiconv), and the double quotation marks are #transliterated to 0x22. #When output to an ASCII terminal, the single quotation marks are #transliterated to apostrophes, and the double quotation marks are #transliterated to 0x22. # #This catalog furthermore displays the text between the quotation marks in #bold face, assuming the VT100 / XTerm escape sequences. # �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/en@quot.header��������������������������������������������������������0100644�0001760�0000144�00000002247�13210547312�0017505�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#All this catalog "translates" are quotation characters. #The msgids must be ASCII and therefore cannot contain real quotation #characters, only substitutes like grave accent(0x60), apostrophe(0x27) #and double quote(0x22).These substitutes look strange; see #http: // www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # #This catalog translates grave accent(0x60) and apostrophe(0x27) to #left single quotation mark(U + 2018) and right single quotation mark(U + 2019). #It also translates pairs of apostrophe(0x27) to #left single quotation mark(U + 2018) and right single quotation mark(U + 2019) #and pairs of quotation mark(0x22) to #left double quotation mark(U + 201C) and right double quotation mark(U + 201D). # #When output to an UTF - 8 terminal, the quotation characters appear perfectly. #When output to an ISO - 8859 - 1 terminal, the single quotation marks are #transliterated to apostrophes(by iconv in glibc 2.2 or newer) or to #grave / acute accent(by libiconv), and the double quotation marks are #transliterated to 0x22. #When output to an ASCII terminal, the single quotation marks are #transliterated to apostrophes, and the double quotation marks are #transliterated to 0x22. # ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/LINGUAS���������������������������������������������������������������0100644�0001760�0000144�00000000060�13210547312�0015734�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Set of available languages. ar de ja vi zh_TW ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/quot.sed��������������������������������������������������������������0100644�0001760�0000144�00000000231�13210547312�0016374�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/remove-potcdate.sin���������������������������������������������������0100644�0001760�0000144�00000000660�13210547312�0020526�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } ��������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/Rules-quot������������������������������������������������������������0100644�0001760�0000144�00000003231�13210547312�0016715�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/po/zh_TW.po��������������������������������������������������������������0100644�0001760�0000144�00000035327�13210547312�0016320�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Chinese Translation of mlconfig # Copyright (C) 2003 Free Software Foundation, Inc. # Yuan-Chen Cheng <ycheng@slat.org>, 2003. # msgid "" msgstr "" "Project-Id-Version: mlconfig\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-10-21 01:39+0900\n" "PO-Revision-Date: 2003-02-09 21:26+0800\n" "Last-Translator: Ambrose Li <acli@ada.dhs.org>\n" "Language-Team: Chinese (Traditional) <zh-l10n@linux.org.tw>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=Big5\n" "Content-Transfer-Encoding: 8bit\n" #: tool/mlconfig/gtkxlfdsel.c:225 #, fuzzy msgid "Foundry:" msgstr "­µ®Ä" #: tool/mlconfig/gtkxlfdsel.c:226 msgid "Family:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:227 #, fuzzy msgid "Weight:" msgstr "°ª«×" #: tool/mlconfig/gtkxlfdsel.c:228 msgid "Slant:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:229 #, fuzzy msgid "Set Width:" msgstr "Áï«×" #: tool/mlconfig/gtkxlfdsel.c:230 msgid "Add Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:231 msgid "Pixel Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:232 msgid "Point Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:233 msgid "Resolution X:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:234 msgid "Resolution Y:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:235 msgid "Spacing:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:236 msgid "Average Width:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:237 msgid "Charset:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:469 msgid "Font Property" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:470 msgid "Requested Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:471 msgid "Actual Value" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:504 tool/mlconfig/main.c:540 msgid "Font" msgstr "¦r«¬" #: tool/mlconfig/gtkxlfdsel.c:514 tool/mlconfig/gtkxlfdsel.c:2156 #: tool/mlconfig/gtkxlfdsel.c:2386 #, fuzzy msgid "Font:" msgstr "¦r«¬" #: tool/mlconfig/gtkxlfdsel.c:519 msgid "Font Style:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:524 msgid "Size:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:656 tool/mlconfig/gtkxlfdsel.c:878 msgid "Reset Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:670 msgid "Metric:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:674 msgid "Points" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:681 msgid "Pixels" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:697 msgid "Preview:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:726 msgid "Font Information" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:759 msgid "Requested Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:770 msgid "Actual Font Name:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:781 #, c-format msgid "%i fonts available with a total of %i styles." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:796 msgid "Filter" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:809 msgid "Font Types:" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:817 msgid "Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:823 msgid "Scalable" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:829 msgid "Scaled Bitmap" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:897 msgid "*" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "(nil)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1224 msgid "regular" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1229 tool/mlconfig/gtkxlfdsel.c:1985 msgid "italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1230 tool/mlconfig/gtkxlfdsel.c:1986 msgid "oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1231 tool/mlconfig/gtkxlfdsel.c:1987 msgid "reverse italic" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1232 tool/mlconfig/gtkxlfdsel.c:1988 msgid "reverse oblique" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1233 tool/mlconfig/gtkxlfdsel.c:1989 #, fuzzy msgid "other" msgstr "¨ä¥L" #: tool/mlconfig/gtkxlfdsel.c:1240 msgid "[M]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1241 msgid "[C]" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1803 msgid "The selected font is not available." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1809 msgid "The selected font is not a valid font." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1866 msgid "This is a 2-byte font and may not be displayed correctly." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1973 msgid "(unknown)" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1984 msgid "roman" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1996 msgid "proportional" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1997 msgid "monospaced" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:1998 msgid "char cell" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:2161 #, fuzzy msgid "Font: (Filter Applied)" msgstr "¦r«¬¤j¤p (¹³¯À­È)" #: tool/mlconfig/gtkxlfdsel.c:2637 msgid "MAX_FONTS exceeded. Some fonts may be missing." msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3477 msgid "OK" msgstr "" #: tool/mlconfig/gtkxlfdsel.c:3484 tool/mlconfig/main.c:362 msgid "Apply" msgstr "®M¥Î" #: tool/mlconfig/gtkxlfdsel.c:3490 tool/mlconfig/main.c:363 msgid "Cancel" msgstr "¨ú®ø" #: tool/mlconfig/gtkxlfdsel.c:3506 #, fuzzy msgid "Font Selection" msgstr "¿ï¾Ü" #: tool/mlconfig/main.c:204 msgid "Send" msgstr "" #: tool/mlconfig/main.c:205 msgid "Recv" msgstr "" #: tool/mlconfig/main.c:206 msgid "Return" msgstr "" #: tool/mlconfig/main.c:207 #, fuzzy msgid "Exit" msgstr "Àx¦s" #: tool/mlconfig/main.c:218 msgid "Local" msgstr "" #: tool/mlconfig/main.c:235 msgid "Remote" msgstr "" #: tool/mlconfig/main.c:360 msgid "Save&Exit" msgstr "Àx¦s" # NOTE: "Apply&Exit" is usually just written "OK"... #: tool/mlconfig/main.c:361 msgid "Apply&Exit" msgstr "½T©w" # FIXME incomplete translation (but still makes sense) #: tool/mlconfig/main.c:372 msgid "Font size (temporary)" msgstr "¦r«¬¤j¤p" #: tool/mlconfig/main.c:380 msgid "Larger" msgstr "¤j¤@ÂI" #: tool/mlconfig/main.c:381 msgid "Smaller" msgstr "¤p¤@ÂI" #: tool/mlconfig/main.c:396 msgid "Command" msgstr "" #: tool/mlconfig/main.c:404 msgid "Full reset" msgstr "§¹¥þ­«¸m" #: tool/mlconfig/main.c:405 msgid "Snapshot" msgstr "" #: tool/mlconfig/main.c:407 msgid "SCP" msgstr "" #: tool/mlconfig/main.c:423 msgid "PTY List" msgstr "PTY ²M³æ" #: tool/mlconfig/main.c:431 msgid " New " msgstr "·s¼W" #: tool/mlconfig/main.c:432 tool/mlconfig/mc_font.c:1266 #: tool/mlconfig/mc_wall_pic.c:62 #, fuzzy msgid "Select" msgstr "¿ï¾Ü" #: tool/mlconfig/main.c:456 msgid "mlterm configuration" msgstr "mlterm ³]©w" #: tool/mlconfig/main.c:491 tool/mlconfig/mc_char_encoding.c:157 msgid "Encoding" msgstr "½s½X" #: tool/mlconfig/main.c:577 msgid "Background" msgstr "­I´º" #: tool/mlconfig/main.c:588 msgid "Picture/Transparent" msgstr "¹Ï®×¢¬³z©ú«×¿ï¶µ" #: tool/mlconfig/main.c:626 tool/mlconfig/mc_bgtype.c:105 msgid "Color" msgstr "ÃC¦â" #: tool/mlconfig/main.c:647 msgid "Scrollbar" msgstr "" #: tool/mlconfig/main.c:678 msgid "Others" msgstr "¨ä¥L" #: tool/mlconfig/mc_alpha.c:49 msgid "Alpha" msgstr "" #: tool/mlconfig/mc_auto_detect.c:65 msgid "Auto detect" msgstr "" #: tool/mlconfig/mc_auto_detect.c:70 #, fuzzy msgid "Encoding list" msgstr "½s½X" #: tool/mlconfig/mc_bgtype.c:98 msgid "Background type" msgstr "­I´ºÃþ«¬" #: tool/mlconfig/mc_bgtype.c:117 tool/mlconfig/mc_wall_pic.c:52 msgid "Picture" msgstr "¹Ï®×" #: tool/mlconfig/mc_bgtype.c:129 msgid "Pseudo transparent" msgstr "³z©ú" #: tool/mlconfig/mc_char_encoding.c:24 msgid "auto" msgstr "¦Û°Ê" #: tool/mlconfig/mc_char_encoding.c:26 msgid "--- Unicode ---" msgstr "--- Unicode ---" #: tool/mlconfig/mc_char_encoding.c:28 msgid "--- ISO 8859 encodings ---" msgstr "--- ¦UºØ ISO 8859 ½s½X ---" #: tool/mlconfig/mc_char_encoding.c:35 msgid "--- Other 8bit ---" msgstr "--- ¨ä¥L 8bit ---" #: tool/mlconfig/mc_char_encoding.c:43 msgid "--- Japanese ---" msgstr "--- ¤é¤å ---" #: tool/mlconfig/mc_char_encoding.c:46 msgid "--- Korean ---" msgstr "--- Áú¤å ---" #: tool/mlconfig/mc_char_encoding.c:48 msgid "--- traditional Chinese ---" msgstr "--- ¥¿Å餤¤å ---" #: tool/mlconfig/mc_char_encoding.c:50 msgid "--- simplified Chinese ---" msgstr "--- ²Å餤¤å ---" #: tool/mlconfig/mc_char_encoding.c:151 tool/mlconfig/mc_im.c:297 #: tool/mlconfig/mc_im.c:346 tool/mlconfig/mc_im.c:418 #: tool/mlconfig/mc_im.c:421 #, c-format msgid "auto (currently %s)" msgstr "¦Û°Ê (¥Ø«e¬° %s)" #: tool/mlconfig/mc_char_width.c:65 msgid "" "Set full width\n" "areas manually" msgstr "" #: tool/mlconfig/mc_click.c:49 msgid "Double click interval (msec)" msgstr "" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Foreground color" msgstr "¤å¦rÃC¦â" #: tool/mlconfig/mc_color.c:36 tool/mlconfig/mc_color.c:37 msgid "Background color" msgstr "­I´ºÃC¦â" #: tool/mlconfig/mc_color.c:37 msgid "Bold " msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Italic" msgstr "" #: tool/mlconfig/mc_color.c:37 msgid "Underline" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Blink" msgstr "" #: tool/mlconfig/mc_color.c:38 msgid "Cross out" msgstr "" #: tool/mlconfig/mc_color.c:138 msgid "Cursor color" msgstr "" #: tool/mlconfig/mc_color.c:161 msgid "Substituting color" msgstr "" #: tool/mlconfig/mc_color.c:208 msgid "VT basic 16 colors" msgstr "" #: tool/mlconfig/mc_ctl.c:59 msgid "Bidi separators" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Xft" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Cairo" msgstr "" #: tool/mlconfig/mc_flags.c:30 msgid "Anti Alias" msgstr "¶ê·Æ¦r«¬" #: tool/mlconfig/mc_flags.c:30 msgid "Variable column width" msgstr "¥iÅܦæ¼e" #: tool/mlconfig/mc_flags.c:30 msgid "Combining" msgstr "¥Î²Õ¦X¥Î¦r²Å" # FIXME perhaps a bit weird #: tool/mlconfig/mc_flags.c:31 msgid "Combining = 1 (or 0) logical column(s)" msgstr "²Õ¦X¥Î¦r²Å¦û¤@­ÓÅ޿誽¦æ (§_«h¤£¦ûÅ޿誽¦æ)" #: tool/mlconfig/mc_flags.c:31 msgid "Process received strings via Unicode" msgstr "³z¹L Unicode ´À¦¬¨ìªº¦r¦êÂà´«½s½X" # FIXME perhaps a bit weird #: tool/mlconfig/mc_flags.c:32 msgid "Fullwidth = 2 (or 1) logical column(s)" msgstr "¥þ§Î¦r¦û¨â­ÓÅ޿誽¦æ (§_«h¥u¦û¤@­Ó)" # FIXME #: tool/mlconfig/mc_flags.c:32 msgid "Complex Text Layout" msgstr "Complex Text Layout" #: tool/mlconfig/mc_flags.c:33 msgid "Ambiguouswidth = fullwidth" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "CLIPBOARD Selection" msgstr "" #: tool/mlconfig/mc_flags.c:33 msgid "Local echo" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Blink cursor" msgstr "" #: tool/mlconfig/mc_flags.c:34 msgid "Don't scroll automatically in scrolling back" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Scroll by Shift+Up or Shift+Down" msgstr "" #: tool/mlconfig/mc_flags.c:35 msgid "Select URI by double click" msgstr "" # FIXME #: tool/mlconfig/mc_flags.c:35 #, fuzzy msgid "OpenType Layout" msgstr "Complex Text Layout" #: tool/mlconfig/mc_flags.c:36 msgid "Trim trailing CR/LF in pasting" msgstr "" #: tool/mlconfig/mc_flags.c:36 msgid "Send keys to all windows" msgstr "" #: tool/mlconfig/mc_font.c:1188 msgid "Font size (pixels)" msgstr "¦r«¬¤j¤p (¹³¯À­È)" #: tool/mlconfig/mc_font.c:1250 #, fuzzy msgid "Font name" msgstr "¦r«¬" #: tool/mlconfig/mc_font.c:1276 msgid "Font width" msgstr "" #: tool/mlconfig/mc_font.c:1280 msgid "Narrow" msgstr "" #: tool/mlconfig/mc_font.c:1285 msgid "Widen" msgstr "" #: tool/mlconfig/mc_font.c:1290 msgid "Default" msgstr "" #: tool/mlconfig/mc_font.c:1305 msgid "Unicode areas you won't convert to other charsets" msgstr "" #: tool/mlconfig/mc_font.c:1308 msgid " Edit " msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Columns" msgstr "" #: tool/mlconfig/mc_geometry.c:36 msgid "Rows" msgstr "" #: tool/mlconfig/mc_im.c:352 msgid "XIM Server" msgstr "" #: tool/mlconfig/mc_im.c:355 msgid "XIM locale" msgstr "¿é¤Jªk¦a°ì" #: tool/mlconfig/mc_im.c:430 #, fuzzy msgid "Option" msgstr "¯»¬õ" #: tool/mlconfig/mc_im.c:542 #, fuzzy msgid "Input Method" msgstr "¿é¤Jªk¥Dµ{¦¡" #: tool/mlconfig/mc_im.c:566 tool/mlconfig/mc_radio.c:55 #: tool/mlconfig/mc_radio.c:58 tool/mlconfig/mc_radio.c:61 #: tool/mlconfig/mc_radio.c:64 msgid "None" msgstr "µL" #: tool/mlconfig/mc_logsize.c:50 msgid "Backlog size (lines)" msgstr "¾ú¥v¤j¤p (¦æ¼Æ)" #: tool/mlconfig/mc_opentype.c:68 msgid "Select opentype features" msgstr "" #: tool/mlconfig/mc_opentype.c:154 msgid "Select opentype scripts" msgstr "" #: tool/mlconfig/mc_opentype.c:230 msgid "Features" msgstr "" #: tool/mlconfig/mc_opentype.c:235 msgid "Script" msgstr "" #: tool/mlconfig/mc_radio.c:55 #, fuzzy msgid "Meta key outputs" msgstr "Meta Áä¿é¥X¡G" #: tool/mlconfig/mc_radio.c:55 msgid "Esc" msgstr "Esc" #: tool/mlconfig/mc_radio.c:55 msgid "8bit" msgstr "" #: tool/mlconfig/mc_radio.c:58 #, fuzzy msgid "Bell mode" msgstr "Bell ¼Ò¦¡" #: tool/mlconfig/mc_radio.c:58 msgid "Sound" msgstr "­µ®Ä" # XXX from Japanese, may need retranslation #: tool/mlconfig/mc_radio.c:58 msgid "Visual" msgstr "Åã¥Ü" #: tool/mlconfig/mc_radio.c:58 msgid "Both" msgstr "" #: tool/mlconfig/mc_radio.c:61 msgid "Position" msgstr "¦ì¸m" #: tool/mlconfig/mc_radio.c:61 msgid "Left" msgstr "¥ª°¼" #: tool/mlconfig/mc_radio.c:61 msgid "Right" msgstr "¥k°¼" #: tool/mlconfig/mc_radio.c:61 msgid "Auto hide" msgstr "" #: tool/mlconfig/mc_radio.c:64 msgid "Vertical mode" msgstr "ª½¦æ¼Ò¦¡" #: tool/mlconfig/mc_radio.c:64 msgid "CJK" msgstr "¤¤¤éÁú" #: tool/mlconfig/mc_radio.c:64 msgid "Mongol" msgstr "»X¥j" #: tool/mlconfig/mc_radio.c:67 msgid "Box drawing" msgstr "" #: tool/mlconfig/mc_radio.c:67 tool/mlconfig/mc_radio.c:70 msgid "As it is" msgstr "" #: tool/mlconfig/mc_radio.c:67 #, fuzzy msgid "Unicode" msgstr "--- Unicode ---" #: tool/mlconfig/mc_radio.c:67 msgid "DEC Special" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Font policy" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Always unicode" msgstr "" #: tool/mlconfig/mc_radio.c:70 msgid "Never unicode" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Save log" msgstr "" #: tool/mlconfig/mc_radio.c:73 #, fuzzy msgid "No" msgstr "µL" #: tool/mlconfig/mc_radio.c:73 msgid "Raw format" msgstr "" #: tool/mlconfig/mc_radio.c:73 msgid "Ttyrec format" msgstr "" #: tool/mlconfig/mc_ratio.c:31 #, fuzzy msgid "Contrast " msgstr "¹ï¤ñ" #: tool/mlconfig/mc_ratio.c:31 msgid "Gamma" msgstr "¦÷º¿" #: tool/mlconfig/mc_ratio.c:31 msgid "Brightness" msgstr "¥ú·t" # FIXME weird translation #: tool/mlconfig/mc_ratio.c:31 msgid "Fade ratio on unfocus" msgstr "¥¢¥hµJÂI®Éµøµ¡ªº«G«×" #: tool/mlconfig/mc_ratio.c:32 msgid "Screen size ratio against font size" msgstr "µøµ¡¤j¤p»P¦r«¬¤j¤p¶¡¤§¤ñ¨Ò" #: tool/mlconfig/mc_sb_view.c:116 msgid "View" msgstr "¼Ë¦¡" #: tool/mlconfig/mc_space.c:31 msgid "Line space (pixels)" msgstr "¦æ¶Z¡@¡@ (¹³¯À­È)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Letter space (pixels)" msgstr "¦æ¶Z¡@¡@ (¹³¯À­È)" #: tool/mlconfig/mc_space.c:31 #, fuzzy msgid "Baseline position (pixels)" msgstr "¦æ¶Z¡@¡@ (¹³¯À­È)" #: tool/mlconfig/mc_space.c:32 #, fuzzy msgid "Underline position (pixels)" msgstr "¦æ¶Z¡@¡@ (¹³¯À­È)" #: tool/mlconfig/mc_tabsize.c:50 msgid "Tab width (columns)" msgstr "Tab ¤j¤p (¦r¼Æ)" #: tool/mlconfig/mc_unicode_areas.c:131 msgid "" "Set unicode area in the following format.\n" "Format: U+XXXX-XXXX or U+XXXX (U+ is optional)" msgstr "" #: tool/mlconfig/mc_wordsep.c:93 msgid "Word separators" msgstr "" #, fuzzy #~ msgid "Transparent" #~ msgstr "¹Ï®×¢¬³z©ú«×¿ï¶µ" #~ msgid "ISCII language" #~ msgstr "ISCII »y¤å" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_ratio.h���������������������������������������������������������������0100644�0001760�0000144�00000000577�13210547312�0016254�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_RATIO_H__ #define __MC_RATIO_H__ #include <gtk/gtk.h> #define MC_RATIOS 5 #define MC_RATIO_CONTRAST 0 #define MC_RATIO_GAMMA 1 #define MC_RATIO_BRIGHTNESS 2 #define MC_RATIO_FADE 3 #define MC_RATIO_SCREEN_WIDTH 4 GtkWidget *mc_ratio_config_widget_new(int id); void mc_update_ratio(int id); #endif ���������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_font.c����������������������������������������������������������������0100644�0001760�0000144�00000077744�13210547312�0016111�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_font.h" #include <stdio.h> #include <ctype.h> #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #if !defined(USE_WIN32GUI) && !defined(G_PLATFORM_WIN32) && !GTK_CHECK_VERSION(2, 90, 0) && \ !defined(USE_QUARTZ) #include "gtkxlfdsel.h" #endif #include "mc_combo.h" #include "mc_flags.h" #include "mc_radio.h" #include "mc_char_encoding.h" #include "mc_color.h" #include "mc_unicode_areas.h" #if 0 #define __DEBUG #endif typedef struct cs_info { char *cs; /* * Default font encoding name. * This used only if xcore font is used. * * !! Notice !! * The last element must be NULL. * (Conforming to the specification of 'charsets' argument of * gtk_xlfd_selection_dialog_set_filter()). */ char *encoding_names[3]; } cs_info_t; /* --- static variables --- */ /* * Combination of x_font_config.c:cs_table and x_font.c:cs_info_table */ static cs_info_t cs_info_table[] = { { "DEFAULT", { NULL, NULL, NULL, }, }, /* * UNICODE => ISO10646_UCS4_1 or U+XXXX-XXXX in get_correct_cs(). */ { "UNICODE", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Full Width)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Emoji)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Hankaku Kana)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Hebrew)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Arabic)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Hindi)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Bengali)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Punjabi)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Gujarati)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Oriya)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Tamil)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Telugu)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Kannada)", { "iso10646-1", NULL, NULL, }, }, { "UNICODE (Malayalam)", { "iso10646-1", NULL, NULL, }, }, { "DEC_SPECIAL", { "iso8859-1", NULL, NULL, }, }, { "ISO8859_1", { "iso8859-1", NULL, NULL, }, }, { "ISO8859_2", { "iso8859-2", NULL, NULL, }, }, { "ISO8859_3", { "iso8859-3", NULL, NULL, }, }, { "ISO8859_4", { "iso8859-4", NULL, NULL, }, }, { "ISO8859_5", { "iso8859-5", NULL, NULL, }, }, { "ISO8859_6", { "iso8859-6", NULL, NULL, }, }, { "ISO8859_7", { "iso8859-7", NULL, NULL, }, }, { "ISO8859_8", { "iso8859-8", NULL, NULL, }, }, { "ISO8859_9", { "iso8859-9", NULL, NULL, }, }, { "ISO8859_10", { "iso8859-10", NULL, NULL, }, }, { "TIS620", { "tis620.2533-1", "tis620.2529-1", NULL, }, }, { "ISO8859_13", { "iso8859-13", NULL, NULL, }, }, { "ISO8859_14", { "iso8859-14", NULL, NULL, }, }, { "ISO8859_15", { "iso8859-15", NULL, NULL, }, }, { "ISO8859_16", { "iso8859-16", NULL, NULL, }, }, /* * XXX * The encoding of TCVN font is iso8859-1 , and its font family is * .VnTime or .VnTimeH ... * How to deal with it ? */ { "TCVN5712", { NULL, NULL, NULL, }, }, { "ISCII_ASSAMESE", { NULL, NULL, NULL, }, }, { "ISCII_BENGALI", { NULL, NULL, NULL, }, }, { "ISCII_GUJARATI", { NULL, NULL, NULL, }, }, { "ISCII_HINDI", { NULL, NULL, NULL, }, }, { "ISCII_KANNADA", { NULL, NULL, NULL, }, }, { "ISCII_MALAYALAM", { NULL, NULL, NULL, }, }, { "ISCII_ORIYA", { NULL, NULL, NULL, }, }, { "ISCII_PUNJABI", { NULL, NULL, NULL, }, }, { "ISCII_TAMIL", { NULL, NULL, NULL, }, }, { "ISCII_TELUGU", { NULL, NULL, NULL, }, }, { "VISCII", { "viscii-1", NULL, NULL, }, }, { "KOI8_R", { "koi8-r", NULL, NULL, }, }, { "KOI8_U", { "koi8-u", NULL, NULL, }, }, #if 0 /* * XXX * KOI8_T, GEORGIAN_PS and CP125X charset can be shown by unicode font only. */ { "KOI8_T", { NULL, NULL, NULL, }, }, { "GEORGIAN_PS", { NULL, NULL, NULL, }, }, #endif #ifdef USE_WIN32GUI { "CP1250", { NULL, NULL, NULL, }, }, { "CP1251", { NULL, NULL, NULL, }, }, { "CP1252", { NULL, NULL, NULL, }, }, { "CP1253", { NULL, NULL, NULL, }, }, { "CP1254", { NULL, NULL, NULL, }, }, { "CP1255", { NULL, NULL, NULL, }, }, { "CP1256", { NULL, NULL, NULL, }, }, { "CP1257", { NULL, NULL, NULL, }, }, { "CP1258", { NULL, NULL, NULL, }, }, { "CP874", { NULL, NULL, NULL, }, }, #endif { "JISX0201_KATA", { "jisx0201.1976-0", NULL, NULL, }, }, { "JISX0201_ROMAN", { "jisx0201.1976-0", NULL, NULL, }, }, { "JISX0208_1978", { "jisx0208.1978-0", "jisx0208.1983-0", NULL, }, }, { "JISX0208_1983", { "jisx0208.1983-0", "jisx0208.1990-0", NULL, }, }, { "JISX0208_1990", { "jisx0208.1990-0", "jisx0208.1983-0", NULL, }, }, { "JISX0212_1990", { "jisx0212.1990-0", NULL, NULL, }, }, { "JISX0213_2000_1", { "jisx0213.2000-1", "jisx0208.1983-0", NULL, }, }, { "JISX0213_2000_2", { "jisx0213.2000-2", NULL, NULL, }, }, { "KSX1001_1997", { "ksc5601.1987-0", "ksx1001.1997-0", NULL, }, }, #if 0 /* * XXX * UHC and JOHAB fonts are not used at the present time. * see vt_vt100_parser.c:vt_parse_vt100_sequence(). */ { "UHC", { NULL, NULL, NULL, }, }, { "JOHAB", { "johabsh-1", /* "johabs-1" , */ "johab-1", NULL, }, }, #endif { "GB2312_80", { "gb2312.1980-0", NULL, NULL, }, }, { "GBK", { "gbk-0", NULL, NULL, }, }, { "BIG5", { "big5.eten-0", "big5.hku-0", NULL, }, }, { "HKSCS", { "big5hkscs-0", "big5-0", NULL, }, }, { "CNS11643_1992_1", { "cns11643.1992-1", "cns11643.1992.1-0", NULL, }, }, { "CNS11643_1992_2", { "cns11643.1992-2", "cns11643.1992.2-0", NULL, }, }, { "CNS11643_1992_3", { "cns11643.1992-3", "cns11643.1992.3-0", NULL, }, }, { "CNS11643_1992_4", { "cns11643.1992-4", "cns11643.1992.4-0", NULL, }, }, { "CNS11643_1992_5", { "cns11643.1992-5", "cns11643.1992.5-0", NULL, }, }, { "CNS11643_1992_6", { "cns11643.1992-6", "cns11643.1992.6-0", NULL, }, }, { "CNS11643_1992_7", { "cns11643.1992-7", "cns11643.1992.7-0", NULL, }, }, }; static char *new_fontsize = NULL; static char *old_fontsize = NULL; static int is_fontsize_changed; static char *new_fontname_list[sizeof(cs_info_table) / sizeof(cs_info_table[0])]; static int dont_change_new_fontname_list = 0; static int selected_cs = 0; /* 0 = DEFAULT */ static GtkWidget *fontcs_entry; static GtkWidget *fontname_entry; static GtkWidget *select_font_button; static GtkWidget *xft_flag; static GtkWidget *cairo_flag; static GtkWidget *aa_flag; static GtkWidget *vcol_flag; static int dont_change_type_engine; static GtkWidget *noconv_areas_button; static char *noconv_areas; /* --- static functions --- */ static void reset_fontname_list(void) { int count; for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_table[0]); count++) { free(new_fontname_list[count]); new_fontname_list[count] = NULL; } } /* * If you use functions in mc_io.c, use this function instead of direct * access to cs_info_t::cs. */ static const char *get_correct_cs(int idx) { const char *unicode_names[] = { "ISO10646_UCS4_1", "ISO10646_UCS4_1_FULLWIDTH", "U+1F000-1F77F", /* Emoji */ "U+FF61-FF9F", /* Hankaku Kana */ "U+0590-05FF", /* Hebrew */ "U+0600-06FF", /* Arabic */ "U+0900-097F", /* Hindi */ "U+0980-09FF", /* Bengali */ "U+0A00-0A7F", /* Punjabi */ "U+0A80-0AFF", /* Gujarati */ "U+0B00-0B7F", /* Oriya */ "U+0B80-0BFF", /* Tamil */ "U+0C00-0C7F", /* Telugu */ "U+0C80-0CFF", /* Kannada */ "U+0D00-0D7F", /* Malayalam */ }; if (idx < 0) { return NULL; } else if (1 <= idx && idx <= 15) { return unicode_names[idx - 1]; } else if (idx < sizeof(cs_info_table) / sizeof(cs_info_table[0])) { return cs_info_table[idx].cs; } else { return NULL; } } static char *get_font_file(void) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(xft_flag)) || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cairo_flag)) || mc_get_flag_value("use_aafont")) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vcol_flag))) { return "vaafont"; } else if (mc_radio_get_value(MC_RADIO_VERTICAL_MODE)) { return "taafont"; } else { return "aafont"; } } else { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(vcol_flag))) { return "vfont"; } else if (mc_radio_get_value(MC_RADIO_VERTICAL_MODE)) { return "tfont"; } else { return "font"; } } } static gint aa_flag_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(xft_flag)) && !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cairo_flag))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xft_flag), 1); reset_fontname_list(); gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); } } return 1; } static gint xft_flag_checked(GtkWidget *widget, gpointer data) { if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)) && !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cairo_flag))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(aa_flag), 0); } else if (!dont_change_type_engine) { dont_change_type_engine = 1; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cairo_flag), 0); dont_change_type_engine = 0; } reset_fontname_list(); gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); return 1; } static gint cairo_flag_checked(GtkWidget *widget, gpointer data) { if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)) && !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(xft_flag))) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(aa_flag), 0); } else if (!dont_change_type_engine) { dont_change_type_engine = 1; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(xft_flag), 0); dont_change_type_engine = 0; } reset_fontname_list(); gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); return 1; } static gint vcol_flag_checked(GtkWidget *widget, gpointer data) { reset_fontname_list(); gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); return 1; } static void vertical_mode_changed(void) { reset_fontname_list(); gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); if (mc_radio_get_value(MC_RADIO_VERTICAL_MODE)) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(vcol_flag), 0); gtk_widget_set_sensitive(vcol_flag, 0); } else { gtk_widget_set_sensitive(vcol_flag, 1); } } static gint fontsize_selected(GtkWidget *widget, gpointer data) { g_free(new_fontsize); new_fontsize = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s font size is selected.\n", new_fontsize); #endif return 1; } static void specify_width(GtkWidget *widget, int flag) { gchar *fontname; if (((fontname = new_fontname_list[selected_cs]) || (fontname = gtk_entry_get_text(GTK_ENTRY(fontname_entry)))) && *fontname) { gchar *p; int percent; size_t len; if (!(p = strrchr(fontname, ':')) || (percent = atoi(p + 1)) == 0) { if (flag == 0) { return; } len = strlen(fontname); percent = (flag < 0 ? 100 : 110); } else { len = p - fontname; if (flag == 0) { percent = 0; } else { percent += (flag < 0 ? -10 : 10); if (percent <= 0 || 200 < percent) { return; } } } if ((p = malloc(len + 5))) { strncpy(p, fontname, len); if (percent == 0) { p[len] = '\0'; } else { sprintf(p + len, ":%d", percent); } free(new_fontname_list[selected_cs]); new_fontname_list[selected_cs] = p; dont_change_new_fontname_list = 1; gtk_entry_set_text(GTK_ENTRY(fontname_entry), p); dont_change_new_fontname_list = 0; } } } static void widen_width(GtkWidget *widget, gpointer data) { specify_width(widget, 1); } static void narrow_width(GtkWidget *widget, gpointer data) { specify_width(widget, -1); } static void default_width(GtkWidget *widget, gpointer data) { specify_width(widget, 0); } static void fontcs_changed(void) { dont_change_new_fontname_list = 1; if (new_fontname_list[selected_cs]) { gtk_entry_set_text(GTK_ENTRY(fontname_entry), new_fontname_list[selected_cs]); } else { gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); } dont_change_new_fontname_list = 0; } /* compare two encoding names, returns non-zero if equal */ static int compare(const char *e1, const char *e2) { while (1) { /* ')' is for "auto (currently EUC-JP)" */ if (*e1 == '-' || *e1 == '_' || *e1 == ')') { e1++; continue; } if (*e2 == '-' || *e2 == '_' || *e2 == ')') { e2++; continue; } if ((*e1 == 0 || *e1 == ' ') && (*e2 == 0 || *e2 == ' ')) { return 1; } if (toupper(*e1) != toupper(*e2)) { return 0; } e1++; e2++; } } static void fontcs_map(GtkWidget *widget, gpointer data) { char *encoding; int count; encoding = mc_get_char_encoding(); if ((strstr(encoding, "UTF") && mc_radio_get_value(MC_RADIO_FONT_POLICY) != 2) || mc_radio_get_value(MC_RADIO_FONT_POLICY) == 1) { if (selected_cs == 1) { return; } selected_cs = 1; /* UNICODE */ } else { for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_table[0]); count++) { if (strcmp(cs_info_table[count].cs, "JISX0201_KATA") == 0) { break; } else if (compare(encoding, cs_info_table[count].cs)) { if (selected_cs == count) { return; } selected_cs = count; goto update_cs; } } if (selected_cs == 0) { return; } selected_cs = 0; /* DEFAULT */ } update_cs: gtk_entry_set_text(GTK_ENTRY(widget), cs_info_table[selected_cs].cs); fontcs_changed(); } static void font_policy_changed(void) { fontcs_map(fontcs_entry, NULL); if (noconv_areas_button) { gtk_widget_set_sensitive(noconv_areas_button, (mc_radio_get_value(MC_RADIO_FONT_POLICY) == 2)); } } static gint fontcs_selected(GtkWidget *widget, gpointer data) { const char *cs; int count; cs = gtk_entry_get_text(GTK_ENTRY(widget)); for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_table[0]); count++) { if (strcmp(cs, cs_info_table[count].cs) == 0) { if (selected_cs != count) { #if 0 bl_debug_printf("Before: cs %s fontname %s => ", cs_info_table[selected_cs].cs, new_fontname_list[selected_cs]); #endif selected_cs = count; fontcs_changed(); #if 0 bl_debug_printf("After: cs %s fontname %s\n", cs, new_fontname_list[selected_cs]); #endif return 1; } } } return 0; } #if !defined(USE_WIN32GUI) && !defined(G_PLATFORM_WIN32) && !GTK_CHECK_VERSION(2, 90, 0) && \ !defined(USE_QUARTZ) static gchar *get_xlfd_font_name(gpointer dialog) { char *name; name = gtk_xlfd_selection_dialog_get_font_name(GTK_XLFD_SELECTION_DIALOG(dialog)); if (selected_cs == 0 && name && *name) /* DEFAULT */ { /* * Removing font encoding such as "iso8859-1". */ char *p; if ((p = strrchr(name, '-'))) { *p = '\0'; if ((p = strrchr(name, '-'))) { *(p + 1) = '\0'; } } } return name; } static void ok_pressed(GtkWidget *widget, gpointer dialog) { gchar *name; name = get_xlfd_font_name(dialog); gtk_entry_set_text(GTK_ENTRY(fontname_entry), name); g_free(name); gtk_widget_destroy(GTK_WIDGET(dialog)); } static void apply_pressed(GtkWidget *widget, gpointer dialog) { gchar *name; name = get_xlfd_font_name(dialog); gtk_entry_set_text(GTK_ENTRY(fontname_entry), name); g_free(name); } static void cancel_pressed(GtkWidget *widget, gpointer dialog) { gtk_widget_destroy(GTK_WIDGET(dialog)); } static int set_current_font_name(GtkWidget *dialog) { const gchar *font_name; font_name = gtk_entry_get_text(GTK_ENTRY(fontname_entry)); if (font_name && *font_name) { char *p; /* * Modify DEFAULT font name. "-*-...-*-" => "-*-...-*-*-*" */ if (selected_cs == 0 && (p = alloca(strlen(font_name) + 4))) { sprintf(p, "%s*-*", font_name); font_name = p; } return gtk_xlfd_selection_dialog_set_font_name(GTK_XLFD_SELECTION_DIALOG(dialog), font_name); } else { return 0; } } static void select_xlfd_font(GtkWidget *widget, gpointer label) { GtkWidget *dialog; dialog = gtk_xlfd_selection_dialog_new("Select Font"); if (!set_current_font_name(dialog)) { char *encoding; char *font_name; char format[] = "-misc-fixed-medium-*-normal--%s-*-*-*-*-*-%s"; if ((encoding = cs_info_table[selected_cs].encoding_names[0]) == NULL) { encoding = "*-*"; } if ((font_name = alloca(sizeof(format) + strlen(new_fontsize) + strlen(encoding)))) { sprintf(font_name, format, new_fontsize, encoding); gtk_xlfd_selection_dialog_set_font_name(GTK_XLFD_SELECTION_DIALOG(dialog), font_name); } } if (cs_info_table[selected_cs].encoding_names[0]) { gtk_xlfd_selection_dialog_set_filter(GTK_XLFD_SELECTION_DIALOG(dialog), GTK_XLFD_FILTER_USER, GTK_XLFD_ALL, NULL, NULL, NULL, NULL, NULL, cs_info_table[selected_cs].encoding_names); } g_signal_connect(GTK_XLFD_SELECTION_DIALOG(dialog)->ok_button, "clicked", G_CALLBACK(ok_pressed), dialog); g_signal_connect(GTK_XLFD_SELECTION_DIALOG(dialog)->apply_button, "clicked", G_CALLBACK(apply_pressed), dialog); g_signal_connect(GTK_XLFD_SELECTION_DIALOG(dialog)->cancel_button, "clicked", G_CALLBACK(cancel_pressed), dialog); gtk_widget_show_all(dialog); } #endif static char *my_gtk_font_selection_dialog_get_font_name(GtkFontSelectionDialog *dialog) { char *str; int count; char *p; char *dup_str; str = gtk_font_selection_dialog_get_font_name(dialog); if ((dup_str = malloc(strlen(str) * 2 + 1)) == NULL) { free(str); return NULL; } /* Escape '-' in Xft. */ count = 0; p = str; while (*p) { #ifndef USE_WIN32GUI if (*p == '-') { dup_str[count++] = '\\'; } #endif dup_str[count++] = *(p++); } dup_str[count] = '\0'; g_free(str); return dup_str; } static char *get_gtk_font_name(const char *font_name) { int count; char *str; if ((str = malloc(strlen(font_name) + 1)) == NULL) { return NULL; } count = 0; while (*font_name && *font_name != '-') { if (*font_name == '\\') { font_name++; } str[count++] = *(font_name++); } str[count] = '\0'; return str; } static void fontname_entry_edit(GtkWidget *widget, gpointer p) { /* In case fontname is editted in text entry widget. */ if (!dont_change_new_fontname_list) { const char *name; if (!(name = gtk_entry_get_text(GTK_ENTRY(fontname_entry)))) { if (new_fontname_list[selected_cs]) { /* * Font name for selected_cs was specfied, but now * font name for selected_cs is cleared. */ name = ""; } } if (name) { free(new_fontname_list[selected_cs]); new_fontname_list[selected_cs] = strdup(name); } } } static void select_fc_font(GtkWidget *widget, gpointer p) { GtkWidget *dialog; char *font_name; GtkResponseType result; dialog = gtk_font_selection_dialog_new("Select Font"); font_name = get_gtk_font_name(gtk_entry_get_text(GTK_ENTRY(fontname_entry))); if (!font_name || !*font_name || !gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(dialog), font_name)) { free(font_name); if ((font_name = malloc(6 + strlen(new_fontsize))) == NULL) { return; } sprintf(font_name, "Sans %s", new_fontsize); gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(dialog), font_name); } free(font_name); result = gtk_dialog_run(GTK_DIALOG(dialog)); if (result == GTK_RESPONSE_OK) { gtk_entry_set_text(GTK_ENTRY(fontname_entry), my_gtk_font_selection_dialog_get_font_name( GTK_FONT_SELECTION_DIALOG(dialog))); } gtk_widget_destroy(dialog); } static void select_font(GtkWidget *widget, gpointer p) { #if !defined(USE_WIN32GUI) && !defined(G_PLATFORM_WIN32) && !GTK_CHECK_VERSION(2, 90, 0) && \ !defined(USE_QUARTZ) if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(xft_flag)) && !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cairo_flag))) { select_xlfd_font(widget, p); } else #endif { select_fc_font(widget, p); } } static void edit_noconv_areas(GtkWidget *widget, gpointer data) { char *cur_areas; char *new_areas; if (noconv_areas) { cur_areas = strdup(noconv_areas); } else { cur_areas = mc_get_str_value("unicode_noconv_areas"); } if ((new_areas = mc_get_unicode_areas(cur_areas)) && bl_compare_str(noconv_areas, new_areas) != 0) { free(noconv_areas); noconv_areas = new_areas; } free(cur_areas); } /* --- global functions --- */ GtkWidget *mc_font_config_widget_new(void) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *fgcolor; GtkWidget *combo; GtkWidget *entry; GtkWidget *radio; GtkWidget *label; GtkWidget *button; char *fontlist[] = { "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", }; char **cslist; new_fontsize = strdup(old_fontsize = mc_get_str_value("fontsize")); is_fontsize_changed = 0; vbox = gtk_vbox_new(FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); combo = mc_combo_new_with_width(_("Font size (pixels)"), fontlist, sizeof(fontlist) / sizeof(fontlist[0]), new_fontsize, 1, 30, &entry); g_signal_connect(entry, "changed", G_CALLBACK(fontsize_selected), NULL); gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0); #if GTK_CHECK_VERSION(2, 12, 0) gtk_widget_set_tooltip_text(combo, "If you change fonts from \"Select\" button, " "it is not recommended to change font size here."); #endif fgcolor = mc_color_config_widget_new(MC_COLOR_FG); gtk_widget_show(fgcolor); gtk_box_pack_start(GTK_BOX(hbox), fgcolor, FALSE, FALSE, 5); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); xft_flag = mc_flag_config_widget_new(MC_FLAG_XFT); gtk_widget_show(xft_flag); gtk_box_pack_start(GTK_BOX(hbox), xft_flag, FALSE, FALSE, 0); g_signal_connect(xft_flag, "toggled", G_CALLBACK(xft_flag_checked), NULL); if (strcmp(mc_get_gui(), "xlib") != 0) { gtk_widget_set_sensitive(xft_flag, 0); } cairo_flag = mc_flag_config_widget_new(MC_FLAG_CAIRO); gtk_widget_show(cairo_flag); gtk_box_pack_start(GTK_BOX(hbox), cairo_flag, FALSE, FALSE, 0); g_signal_connect(cairo_flag, "toggled", G_CALLBACK(cairo_flag_checked), NULL); if (strcmp(mc_get_gui(), "xlib") != 0) { gtk_widget_set_sensitive(cairo_flag, 0); } aa_flag = mc_flag_config_widget_new(MC_FLAG_AA); gtk_widget_show(aa_flag); gtk_box_pack_start(GTK_BOX(hbox), aa_flag, FALSE, FALSE, 0); g_signal_connect(aa_flag, "toggled", G_CALLBACK(aa_flag_checked), NULL); vcol_flag = mc_flag_config_widget_new(MC_FLAG_VCOL); gtk_widget_show(vcol_flag); gtk_box_pack_start(GTK_BOX(hbox), vcol_flag, FALSE, FALSE, 0); g_signal_connect(vcol_flag, "toggled", G_CALLBACK(vcol_flag_checked), NULL); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); radio = mc_radio_config_widget_new(MC_RADIO_VERTICAL_MODE); gtk_widget_show(radio); gtk_box_pack_start(GTK_BOX(vbox), radio, FALSE, FALSE, 0); mc_radio_set_callback(MC_RADIO_VERTICAL_MODE, vertical_mode_changed); if (mc_radio_get_value(MC_RADIO_VERTICAL_MODE)) { gtk_widget_set_sensitive(vcol_flag, 0); } hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); if ((cslist = alloca(sizeof(char*) * sizeof(cs_info_table) / sizeof(cs_info_table[0])))) { int count; for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_table[0]); count++) { cslist[count] = cs_info_table[count].cs; } combo = mc_combo_new_with_width(_("Font name"), cslist, count, cslist[selected_cs], 1, 90, &fontcs_entry); g_signal_connect(fontcs_entry, "changed", G_CALLBACK(fontcs_selected), NULL); g_signal_connect(fontcs_entry, "map", G_CALLBACK(fontcs_map), NULL); gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0); } fontname_entry = gtk_entry_new(); gtk_entry_set_text( GTK_ENTRY(fontname_entry), g_locale_to_utf8(mc_get_font_name(get_font_file(), get_correct_cs(selected_cs)), -1, NULL, NULL, NULL)); gtk_widget_show(fontname_entry); gtk_box_pack_start(GTK_BOX(hbox), fontname_entry, TRUE, TRUE, 1); g_signal_connect(fontname_entry, "changed", G_CALLBACK(fontname_entry_edit), NULL); select_font_button = gtk_button_new_with_label(_("Select")); gtk_widget_show(select_font_button); gtk_box_pack_start(GTK_BOX(hbox), select_font_button, FALSE, FALSE, 1); g_signal_connect(select_font_button, "clicked", G_CALLBACK(select_font), NULL); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); label = gtk_label_new(_("Font width")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); button = gtk_button_new_with_label(_("Narrow")); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 5); g_signal_connect(button, "clicked", G_CALLBACK(narrow_width), NULL); button = gtk_button_new_with_label(_("Widen")); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 5); g_signal_connect(button, "clicked", G_CALLBACK(widen_width), NULL); button = gtk_button_new_with_label(_("Default")); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 5); g_signal_connect(button, "clicked", G_CALLBACK(default_width), NULL); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); radio = mc_radio_config_widget_new(MC_RADIO_FONT_POLICY); gtk_widget_show(radio); gtk_box_pack_start(GTK_BOX(vbox), radio, FALSE, FALSE, 0); mc_radio_set_callback(MC_RADIO_FONT_POLICY, font_policy_changed); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); label = gtk_label_new(_("Unicode areas you won't convert to other charsets")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); noconv_areas_button = gtk_button_new_with_label(_(" Edit ")); gtk_widget_show(noconv_areas_button); gtk_box_pack_start(GTK_BOX(hbox), noconv_areas_button, FALSE, FALSE, 0); g_signal_connect(noconv_areas_button, "clicked", G_CALLBACK(edit_noconv_areas), NULL); if (mc_radio_get_value(MC_RADIO_FONT_POLICY) != 2) { gtk_widget_set_sensitive(noconv_areas_button, 0); } gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); radio = mc_radio_config_widget_new(MC_RADIO_BOX_DRAWING); gtk_widget_show(radio); gtk_box_pack_start(GTK_BOX(vbox), radio, FALSE, FALSE, 0); return vbox; } void mc_update_font_misc(void) { if (strcmp(new_fontsize, old_fontsize)) is_fontsize_changed = 1; if (is_fontsize_changed) { mc_set_str_value("fontsize", new_fontsize); free(old_fontsize); old_fontsize = strdup(new_fontsize); } /* * MC_FLAG_{XFT|CAIRO} should be updated last because MC_FLAG_{XFT|CAIRO} are * invalid in some environments. */ mc_update_flag_mode(MC_FLAG_AA); mc_update_radio(MC_RADIO_VERTICAL_MODE); /* vcol is forcibly disabled in vertical mode, so update after vertical mode. */ mc_update_flag_mode(MC_FLAG_VCOL); mc_update_flag_mode(MC_FLAG_XFT); mc_update_flag_mode(MC_FLAG_CAIRO); mc_update_radio(MC_RADIO_BOX_DRAWING); mc_update_radio(MC_RADIO_FONT_POLICY); if (noconv_areas) { mc_set_str_value("unicode_noconv_areas", noconv_areas); } } void mc_update_font_name(mc_io_t io) { size_t count; for (count = 0; count < sizeof(cs_info_table) / sizeof(cs_info_table[0]); count++) { if (new_fontname_list[count]) { mc_set_font_name(io, get_font_file(), get_correct_cs(count), new_fontname_list[count]); if (count == 6) { /* Arabic Supplement */ mc_set_font_name(io, get_font_file(), "U+0750-77F", new_fontname_list[count]); /* Arabic Extended-A */ mc_set_font_name(io, get_font_file(), "U+08A0-8FF", new_fontname_list[count]); /* Arabic Presentation Forms-A */ mc_set_font_name(io, get_font_file(), "U+FB50-FDFF", new_fontname_list[count]); /* Arabic Presentation Forms-B */ mc_set_font_name(io, get_font_file(), "U+FE70-FEFF", new_fontname_list[count]); /* Arabic Mathematical Alphabetic Symbols */ mc_set_font_name(io, get_font_file(), "U+1EE00-1EEFF", new_fontname_list[count]); } } } } ����������������������������mlterm-3.8.4/tool/mlconfig/mc_ctl.h�����������������������������������������������������������������0100644�0001760�0000144�00000000322�13210547312�0015704�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_CTL_H__ #define __MC_CTL_H__ #include <gtk/gtk.h> GtkWidget *mc_ctl_config_widget_new(void); void mc_update_ctl(void); #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_space.h���������������������������������������������������������������0100644�0001760�0000144�00000000536�13210547312�0016224�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_SPACE_H__ #define __MC_SPACE_H__ #include <gtk/gtk.h> #define MC_SPACES 4 #define MC_SPACE_LINE 0 #define MC_SPACE_LETTER 1 #define MC_SPACE_BASELINE 2 #define MC_SPACE_UNDERLINE 3 GtkWidget *mc_space_config_widget_new(int id); void mc_update_space(int id); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_combo.c���������������������������������������������������������������0100644�0001760�0000144�00000005317�13210547312�0016225�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <pobl/bl_str.h> #include "mc_combo.h" #define CHAR_WIDTH 10 /* --- global functions --- */ GtkWidget *mc_combo_new(const char *label_name, char **item_names, u_int item_num, char *selected_item_name, int is_readonly, GtkWidget **entry) { return mc_combo_new_with_width(label_name, item_names, item_num, selected_item_name, is_readonly, 0, entry); } GtkWidget *mc_combo_new_with_width(const char *label_name, char **item_names, u_int item_num, char *selected_item_name, int is_readonly, int entry_width, GtkWidget **entry) { GtkWidget *hbox; GtkWidget *label; GtkWidget *combo; int item_found; u_int count; hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); label = gtk_label_new(label_name); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); #if GTK_CHECK_VERSION(2, 90, 0) combo = gtk_combo_box_text_new_with_entry(); #else combo = gtk_combo_box_entry_new_text(); #endif gtk_widget_show(combo); item_found = 0; for (count = 0; count < item_num; count++) { if (strcmp(selected_item_name, item_names[count]) == 0) { #if GTK_CHECK_VERSION(2, 90, 0) gtk_combo_box_text_prepend_text(GTK_COMBO_BOX_TEXT(combo), item_names[count]); #else gtk_combo_box_prepend_text(GTK_COMBO_BOX(combo), item_names[count]); #endif item_found = 1; } else { #if GTK_CHECK_VERSION(2, 90, 0) gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo), item_names[count]); #else gtk_combo_box_append_text(GTK_COMBO_BOX(combo), item_names[count]); #endif } } if (!item_found && !is_readonly) { #if GTK_CHECK_VERSION(2, 90, 0) gtk_combo_box_text_prepend_text(GTK_COMBO_BOX_TEXT(combo), selected_item_name); #else gtk_combo_box_prepend_text(GTK_COMBO_BOX(combo), selected_item_name); #endif } gtk_combo_box_set_active(GTK_COMBO_BOX(combo), 0); if (entry) { *entry = gtk_bin_get_child(GTK_BIN(combo)); } if (is_readonly) { gtk_editable_set_editable(GTK_EDITABLE(gtk_bin_get_child(GTK_BIN(combo))), FALSE); } if (entry_width) { #if GTK_CHECK_VERSION(2, 90, 0) gint width_chars; if (entry_width < CHAR_WIDTH) { width_chars = 1; } else { width_chars = entry_width / CHAR_WIDTH; } gtk_entry_set_width_chars(gtk_bin_get_child(GTK_BIN(combo)), width_chars); #else gtk_widget_set_size_request(gtk_bin_get_child(GTK_BIN(combo)), entry_width, -1); #endif gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0); } else { gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); } return hbox; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/gtkxlfdsel.c�������������������������������������������������������������0100644�0001760�0000144�00000342726�13210547312�0016626�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * GtkFontSelection widget for Gtk+, by Damon Chaplin, May 1998. * Based on the GnomeFontSelector widget, by Elliot Lee, but major changes. * The GnomeFontSelector was derived from app/text_tool.c in the GIMP. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ /* * Modified by Araki Ken(arakiken@users.sf.net). * GtkFontSelection => GtkXlfdSelection */ /* * Limits: * * Fontnames - A maximum of MAX_FONTS (32767) fontnames will be retrieved * from X Windows with XListFonts(). Any more are ignored. * I think this limit may have been set because of a limit in * GtkList. It could possibly be increased since we are using * GtkClists now, but I'd be surprised if it was reached. * Field length - XLFD_MAX_FIELD_LEN is the maximum length that any field of a * fontname can be for it to be considered valid. Others are * ignored. * Properties - Maximum of 65535 choices for each font property - guint16's * are used as indices, e.g. in the FontInfo struct. * Combinations - Maximum of 65535 combinations of properties for each font * family - a guint16 is used in the FontInfo struct. * Font size - Minimum font size of 2 pixels/points, since trying to load * some fonts with a size of 1 can cause X to hang. * (e.g. the Misc Fixed fonts). */ /* * Possible Improvements: * * Font Styles - could sort the styles into a reasonable order - regular * first, then bold, bold italic etc. * * I18N - the default preview text is not useful for international * fonts. Maybe the first few characters of the font could be * displayed instead. * - fontsets? should these be handled by the font dialog? */ /* * Debugging: compile with -DFONTSEL_DEBUG for lots of debugging output. */ #include "gtkxlfdsel.h" #ifndef G_PLATFORM_WIN32 /* In case of compiling with cygwin + X11 + win32 native gtk+. */ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <ctype.h> #include <X11/Xlib.h> #include <gdk/gdkx.h> #include <gdk/gdkkeysyms.h> #if 0 #include <gtk/gtkbutton.h> #include <gtk/gtkcheckbutton.h> #include <gtk/gtkclist.h> #include <gtk/gtkentry.h> #include <gtk/gtkframe.h> #include <gtk/gtkhbbox.h> #include <gtk/gtkhbox.h> #include <gtk/gtklabel.h> #include <gtk/gtknotebook.h> #include <gtk/gtkradiobutton.h> #include <gtk/gtksignal.h> #include <gtk/gtktable.h> #include <gtk/gtkvbox.h> #include <gtk/gtkscrolledwindow.h> #include <gtk/gtkversion.h> /* include <gtk/gtkfeatures.h> in GTK 1.2 */ #else #include <gtk/gtk.h> #endif #include <c_intl.h> /* The maximum number of fontnames requested with XListFonts(). */ #define MAX_FONTS 32767 /* This is the largest field length we will accept. If a fontname has a field larger than this we will skip it. */ #define XLFD_MAX_FIELD_LEN 64 /* These are what we use as the standard font sizes, for the size clist. Note that when using points we still show these integer point values but we work internally in decipoints (and decipoint values can be typed in). */ static const guint16 font_sizes[] = { 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22, 24, 26, 28, 32, 36, 40, 48, 56, 64, 72 }; /* Initial font metric & size (Remember point sizes are in decipoints). The font size should match one of those in the font_sizes array. */ #define INITIAL_METRIC GTK_XLFD_METRIC_POINTS #define INITIAL_FONT_SIZE 140 /* This is the default text shown in the preview entry, though the user can set it. Remember that some fonts only have capital letters. */ #define PREVIEW_TEXT "abcdefghijk ABCDEFGHIJK" /* This is the initial and maximum height of the preview entry (it expands when large font sizes are selected). Initial height is also the minimum. */ #define INITIAL_PREVIEW_HEIGHT 44 #define MAX_PREVIEW_HEIGHT 300 /* These are the sizes of the font, style & size clists. */ #define FONT_LIST_HEIGHT 136 #define FONT_LIST_WIDTH 190 #define FONT_STYLE_LIST_WIDTH 170 #define FONT_SIZE_LIST_WIDTH 60 /* This is the number of fields in an X Logical Font Description font name. Note that we count the registry & encoding as 1. */ #define GTK_XLFD_NUM_FIELDS 13 typedef struct _GtkXlfdSelInfo GtkXlfdSelInfo; typedef struct _FontInfo FontInfo; typedef struct _FontStyle FontStyle; /* This struct represents one family of fonts (with one foundry), e.g. adobe courier or sony fixed. It stores the family name, the index of the foundry name, and the index of and number of available styles. */ struct _FontInfo { gchar *family; guint16 foundry; gint style_index; guint16 nstyles; }; /* This represents one style, as displayed in the Font Style clist. It can have a number of available pixel sizes and point sizes. The indexes point into the two big fontsel_info->pixel_sizes & fontsel_info->point_sizes arrays. The displayed flag is used when displaying styles to remember which styles have already been displayed. Note that it is combined with the GtkXlfdType in the flags field. */ #define GTK_XLFD_DISPLAYED (1 << 7) struct _FontStyle { guint16 properties[GTK_NUM_STYLE_PROPERTIES]; gint pixel_sizes_index; guint16 npixel_sizes; gint point_sizes_index; guint16 npoint_sizes; guint8 flags; }; struct _GtkXlfdSelInfo { /* This is a table with each FontInfo representing one font family+foundry */ FontInfo *font_info; gint nfonts; /* This stores all the valid combinations of properties for every family. Each FontInfo holds an index into its own space in this one big array. */ FontStyle *font_styles; gint nstyles; /* This stores all the font sizes available for every style. Each style holds an index into these arrays. */ guint16 *pixel_sizes; guint16 *point_sizes; /* These are the arrays of strings of all possible weights, slants, set widths, spacings, charsets & foundries, and the amount of space allocated for each array. */ gchar **properties[GTK_NUM_FONT_PROPERTIES]; guint16 nproperties[GTK_NUM_FONT_PROPERTIES]; guint16 space_allocated[GTK_NUM_FONT_PROPERTIES]; }; /* These are the field numbers in the X Logical Font Description fontnames, e.g. -adobe-courier-bold-o-normal--25-180-100-100-m-150-iso8859-1 */ typedef enum { XLFD_FOUNDRY = 0, XLFD_FAMILY = 1, XLFD_WEIGHT = 2, XLFD_SLANT = 3, XLFD_SET_WIDTH = 4, XLFD_ADD_STYLE = 5, XLFD_PIXELS = 6, XLFD_POINTS = 7, XLFD_RESOLUTION_X = 8, XLFD_RESOLUTION_Y = 9, XLFD_SPACING = 10, XLFD_AVERAGE_WIDTH = 11, XLFD_CHARSET = 12 } FontField; /* These are the names of the fields, used on the info & filter page. */ static const gchar *xlfd_field_names[GTK_XLFD_NUM_FIELDS] = { N_("Foundry:"), N_("Family:"), N_("Weight:"), N_("Slant:"), N_("Set Width:"), N_("Add Style:"), N_("Pixel Size:"), N_("Point Size:"), N_("Resolution X:"), N_("Resolution Y:"), N_("Spacing:"), N_("Average Width:"), N_("Charset:"), }; /* These are the array indices of the font properties used in several arrays, and should match the xlfd_index array below. */ typedef enum { WEIGHT = 0, SLANT = 1, SET_WIDTH = 2, SPACING = 3, CHARSET = 4, FOUNDRY = 5 } PropertyIndexType; /* This is used to look up a field in a fontname given one of the above property indices. */ static const FontField xlfd_index[GTK_NUM_FONT_PROPERTIES] = { XLFD_WEIGHT, XLFD_SLANT, XLFD_SET_WIDTH, XLFD_SPACING, XLFD_CHARSET, XLFD_FOUNDRY }; /* These are the positions of the properties in the filter table - x, y. */ static const gint filter_positions[GTK_NUM_FONT_PROPERTIES][2] = { { 1, 0 }, { 0, 2 }, { 1, 2 }, { 2, 2 }, { 2, 0 }, { 0, 0 } }; static const gint filter_heights[GTK_NUM_FONT_PROPERTIES] = { 100, 70, 70, 40, 100, 100 }; /* This is returned by gtk_xlfd_selection_filter_state to describe if a property value is filtered. e.g. if 'bold' has been selected on the filter page, then that will return 'FILTERED' and 'black' will be 'NOT_FILTERED'. If none of the weight values are selected, they all return 'NOT_SET'. */ typedef enum { FILTERED, NOT_FILTERED, NOT_SET } GtkXlfdPropertyFilterState; static GtkXlfdSelInfo *fontsel_info = NULL; /* The initial size and increment of each of the arrays of property values. */ #define PROPERTY_ARRAY_INCREMENT 16 static void gtk_xlfd_selection_class_init (GtkXlfdSelectionClass *klass); static void gtk_xlfd_selection_init (GtkXlfdSelection *fontsel); static void gtk_xlfd_selection_destroy (GtkObject *object); /* These are all used for class initialization - loading in the fonts etc. */ static void gtk_xlfd_selection_get_fonts (void); static void gtk_xlfd_selection_insert_font (GSList *fontnames[], gint *ntable, gchar *fontname); static gint gtk_xlfd_selection_insert_field (gchar *fontname, gint prop); /* These are the callbacks & related functions. */ static void gtk_xlfd_selection_select_font (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, gpointer data); static gint gtk_xlfd_selection_on_clist_key_press (GtkWidget *clist, GdkEventKey *event, GtkXlfdSelection *fs); static gboolean gtk_xlfd_selection_select_next (GtkXlfdSelection *fs, GtkWidget *clist, gint step); static void gtk_xlfd_selection_show_available_styles (GtkXlfdSelection *fs); static void gtk_xlfd_selection_select_best_style (GtkXlfdSelection *fs, gboolean use_first); static void gtk_xlfd_selection_select_style (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, gpointer data); static void gtk_xlfd_selection_show_available_sizes (GtkXlfdSelection *fs); static void gtk_xlfd_selection_size_activate (GtkWidget *w, gpointer data); static void gtk_xlfd_selection_select_best_size (GtkXlfdSelection *fs); static void gtk_xlfd_selection_select_size (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, gpointer data); static void gtk_xlfd_selection_metric_callback (GtkWidget *w, gpointer data); static void gtk_xlfd_selection_expose_list (GtkWidget *w, GdkEventExpose *event, gpointer data); static void gtk_xlfd_selection_realize_list (GtkWidget *widget, gpointer data); static void gtk_xlfd_selection_switch_page (GtkWidget *w, GtkNotebookPage *page, gint page_num, gpointer data); static void gtk_xlfd_selection_show_font_info (GtkXlfdSelection *fs); static void gtk_xlfd_selection_select_filter (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, GtkXlfdSelection *fs); static void gtk_xlfd_selection_update_filter (GtkXlfdSelection *fs); static gboolean gtk_xlfd_selection_style_visible (GtkXlfdSelection *fs, FontInfo *font, gint style); static void gtk_xlfd_selection_reset_filter (GtkWidget *w, GtkXlfdSelection *fs); static void gtk_xlfd_selection_on_clear_filter (GtkWidget *w, GtkXlfdSelection *fs); static void gtk_xlfd_selection_show_available_fonts (GtkXlfdSelection *fs); static void gtk_xlfd_selection_clear_filter (GtkXlfdSelection *fs); static void gtk_xlfd_selection_update_filter_lists(GtkXlfdSelection *fs); static GtkXlfdPropertyFilterState gtk_xlfd_selection_filter_state (GtkXlfdSelection *fs, GtkXlfdFilterType filter_type, gint property, gint index); /* Misc. utility functions. */ static gboolean gtk_xlfd_selection_load_font (GtkXlfdSelection *fs); static void gtk_xlfd_selection_update_preview (GtkXlfdSelection *fs); static gint gtk_xlfd_selection_find_font (GtkXlfdSelection *fs, gchar *family, guint16 foundry); static guint16 gtk_xlfd_selection_field_to_index (gchar **table, gint ntable, gchar *field); static gchar* gtk_xlfd_selection_expand_slant_code (gchar *slant); static gchar* gtk_xlfd_selection_expand_spacing_code(gchar *spacing); /* Functions for handling X Logical Font Description fontnames. */ static gboolean gtk_xlfd_selection_is_xlfd_font_name (const gchar *fontname); static char* gtk_xlfd_selection_get_xlfd_field (const gchar *fontname, FontField field_num, gchar *buffer); static gchar * gtk_xlfd_selection_create_xlfd (gint size, GtkXlfdMetricType metric, gchar *foundry, gchar *family, gchar *weight, gchar *slant, gchar *set_width, gchar *spacing, gchar *charset); /* FontSelectionDialog */ static void gtk_xlfd_selection_dialog_class_init (GtkXlfdSelectionDialogClass *klass); static void gtk_xlfd_selection_dialog_init (GtkXlfdSelectionDialog *fontseldiag); static gint gtk_xlfd_selection_dialog_on_configure(GtkWidget *widget, GdkEventConfigure *event, GtkXlfdSelectionDialog *fsd); static GtkWindowClass *font_selection_parent_class = NULL; static GtkNotebookClass *font_selection_dialog_parent_class = NULL; GtkType gtk_xlfd_selection_get_type() { static GtkType font_selection_type = 0; if(!font_selection_type) { static const GtkTypeInfo fontsel_type_info = { "GtkXlfdSelection", sizeof (GtkXlfdSelection), sizeof (GtkXlfdSelectionClass), (GtkClassInitFunc) gtk_xlfd_selection_class_init, (GtkObjectInitFunc) gtk_xlfd_selection_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, }; font_selection_type = gtk_type_unique (GTK_TYPE_NOTEBOOK, &fontsel_type_info); } return font_selection_type; } static void gtk_xlfd_selection_class_init(GtkXlfdSelectionClass *klass) { GtkObjectClass *object_class; object_class = (GtkObjectClass *) klass; font_selection_parent_class = gtk_type_class (GTK_TYPE_NOTEBOOK); object_class->destroy = gtk_xlfd_selection_destroy; gtk_xlfd_selection_get_fonts (); } static void gtk_xlfd_selection_init(GtkXlfdSelection *fontsel) { GtkWidget *scrolled_win; GtkWidget *text_frame; GtkWidget *text_box, *frame; GtkWidget *table, *label, *hbox, *hbox2, *clist, *button, *vbox, *alignment; gint i, prop, row; gchar *titles[] = { NULL, NULL, NULL }; gchar buffer[128]; gchar *size; gint size_to_match; gchar *row_text[3]; gchar *property, *text; gboolean inserted; /* Number of internationalized titles here must match number of NULL initializers above */ titles[0] = _("Font Property"); titles[1] = _("Requested Value"); titles[2] = _("Actual Value"); /* Initialize the GtkXlfdSelection struct. We do this here in case any callbacks are triggered while creating the interface. */ fontsel->font = NULL; fontsel->font_index = -1; fontsel->style = -1; fontsel->metric = INITIAL_METRIC; fontsel->size = INITIAL_FONT_SIZE; fontsel->selected_size = INITIAL_FONT_SIZE; fontsel->filters[GTK_XLFD_FILTER_BASE].font_type = GTK_XLFD_ALL; fontsel->filters[GTK_XLFD_FILTER_USER].font_type = GTK_XLFD_BITMAP | GTK_XLFD_SCALABLE; for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { fontsel->filters[GTK_XLFD_FILTER_BASE].property_filters[prop] = NULL; fontsel->filters[GTK_XLFD_FILTER_BASE].property_nfilters[prop] = 0; fontsel->filters[GTK_XLFD_FILTER_USER].property_filters[prop] = NULL; fontsel->filters[GTK_XLFD_FILTER_USER].property_nfilters[prop] = 0; } for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) fontsel->property_values[prop] = 0; /* Create the main notebook page. */ gtk_notebook_set_homogeneous_tabs (GTK_NOTEBOOK (fontsel), TRUE); gtk_notebook_set_tab_hborder (GTK_NOTEBOOK (fontsel), 8); fontsel->main_vbox = gtk_vbox_new (FALSE, 4); gtk_widget_show (fontsel->main_vbox); gtk_container_set_border_width (GTK_CONTAINER (fontsel->main_vbox), 6); label = gtk_label_new(_("Font")); gtk_notebook_append_page (GTK_NOTEBOOK (fontsel), fontsel->main_vbox, label); /* Create the table of font, style & size. */ table = gtk_table_new (3, 3, FALSE); gtk_widget_show (table); gtk_table_set_col_spacings(GTK_TABLE(table), 8); gtk_box_pack_start (GTK_BOX (fontsel->main_vbox), table, TRUE, TRUE, 0); fontsel->font_label = gtk_label_new(_("Font:")); gtk_misc_set_alignment (GTK_MISC (fontsel->font_label), 0.0, 0.5); gtk_widget_show (fontsel->font_label); gtk_table_attach (GTK_TABLE (table), fontsel->font_label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); label = gtk_label_new(_("Font Style:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_widget_show (label); gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); label = gtk_label_new(_("Size:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_widget_show (label); gtk_table_attach (GTK_TABLE (table), label, 2, 3, 0, 1, GTK_FILL, 0, 0, 0); fontsel->font_entry = gtk_entry_new(); gtk_entry_set_editable(GTK_ENTRY(fontsel->font_entry), FALSE); gtk_widget_set_usize (fontsel->font_entry, 20, -1); gtk_widget_show (fontsel->font_entry); gtk_table_attach (GTK_TABLE (table), fontsel->font_entry, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); fontsel->font_style_entry = gtk_entry_new(); gtk_entry_set_editable(GTK_ENTRY(fontsel->font_style_entry), FALSE); gtk_widget_set_usize (fontsel->font_style_entry, 20, -1); gtk_widget_show (fontsel->font_style_entry); gtk_table_attach (GTK_TABLE (table), fontsel->font_style_entry, 1, 2, 1, 2, GTK_FILL, 0, 0, 0); fontsel->size_entry = gtk_entry_new(); gtk_widget_set_usize (fontsel->size_entry, 20, -1); gtk_widget_show (fontsel->size_entry); gtk_table_attach (GTK_TABLE (table), fontsel->size_entry, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); gtk_signal_connect (GTK_OBJECT (fontsel->size_entry), "activate", GTK_SIGNAL_FUNC (gtk_xlfd_selection_size_activate), fontsel); /* Create the clists */ fontsel->font_clist = gtk_clist_new(1); gtk_clist_column_titles_hide (GTK_CLIST(fontsel->font_clist)); gtk_clist_set_column_auto_resize (GTK_CLIST (fontsel->font_clist), 0, TRUE); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize (scrolled_win, FONT_LIST_WIDTH, FONT_LIST_HEIGHT); gtk_container_add (GTK_CONTAINER (scrolled_win), fontsel->font_clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_show(fontsel->font_clist); gtk_widget_show(scrolled_win); gtk_table_attach (GTK_TABLE (table), scrolled_win, 0, 1, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); fontsel->font_style_clist = gtk_clist_new(1); gtk_clist_column_titles_hide (GTK_CLIST(fontsel->font_style_clist)); gtk_clist_set_column_auto_resize (GTK_CLIST (fontsel->font_style_clist), 0, TRUE); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize (scrolled_win, FONT_STYLE_LIST_WIDTH, -1); gtk_container_add (GTK_CONTAINER (scrolled_win), fontsel->font_style_clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_show(fontsel->font_style_clist); gtk_widget_show(scrolled_win); gtk_table_attach (GTK_TABLE (table), scrolled_win, 1, 2, 2, 3, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); fontsel->size_clist = gtk_clist_new(1); gtk_clist_column_titles_hide (GTK_CLIST(fontsel->size_clist)); gtk_clist_set_column_width (GTK_CLIST(fontsel->size_clist), 0, 20); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_usize (scrolled_win, FONT_SIZE_LIST_WIDTH, -1); gtk_container_add (GTK_CONTAINER (scrolled_win), fontsel->size_clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_show(fontsel->size_clist); gtk_widget_show(scrolled_win); gtk_table_attach (GTK_TABLE (table), scrolled_win, 2, 3, 2, 3, GTK_FILL, GTK_FILL, 0, 0); /* Insert the fonts. If there exist fonts with the same family but different foundries, then the foundry name is appended in brackets. */ gtk_xlfd_selection_show_available_fonts(fontsel); gtk_signal_connect (GTK_OBJECT (fontsel->font_clist), "select_row", GTK_SIGNAL_FUNC(gtk_xlfd_selection_select_font), fontsel); GTK_WIDGET_SET_FLAGS (fontsel->font_clist, GTK_CAN_FOCUS); gtk_signal_connect (GTK_OBJECT (fontsel->font_clist), "key_press_event", GTK_SIGNAL_FUNC(gtk_xlfd_selection_on_clist_key_press), fontsel); gtk_signal_connect_after (GTK_OBJECT (fontsel->font_clist), "map_event", GTK_SIGNAL_FUNC(gtk_xlfd_selection_expose_list), fontsel); gtk_signal_connect (GTK_OBJECT (fontsel->font_style_clist), "select_row", GTK_SIGNAL_FUNC(gtk_xlfd_selection_select_style), fontsel); GTK_WIDGET_SET_FLAGS (fontsel->font_style_clist, GTK_CAN_FOCUS); gtk_signal_connect (GTK_OBJECT (fontsel->font_style_clist), "key_press_event", GTK_SIGNAL_FUNC(gtk_xlfd_selection_on_clist_key_press), fontsel); gtk_signal_connect_after (GTK_OBJECT (fontsel->font_style_clist), "realize", GTK_SIGNAL_FUNC(gtk_xlfd_selection_realize_list), fontsel); /* Insert the standard font sizes */ gtk_clist_freeze (GTK_CLIST(fontsel->size_clist)); size_to_match = INITIAL_FONT_SIZE; if (INITIAL_METRIC == GTK_XLFD_METRIC_POINTS) size_to_match = size_to_match / 10; for (i = 0; i < sizeof(font_sizes) / sizeof(font_sizes[0]); i++) { sprintf(buffer, "%i", font_sizes[i]); size = buffer; gtk_clist_append(GTK_CLIST(fontsel->size_clist), &size); if (font_sizes[i] == size_to_match) { gtk_clist_select_row(GTK_CLIST(fontsel->size_clist), i, 0); gtk_entry_set_text(GTK_ENTRY(fontsel->size_entry), buffer); } } gtk_clist_thaw (GTK_CLIST(fontsel->size_clist)); gtk_signal_connect (GTK_OBJECT (fontsel->size_clist), "select_row", GTK_SIGNAL_FUNC(gtk_xlfd_selection_select_size), fontsel); GTK_WIDGET_SET_FLAGS (fontsel->size_clist, GTK_CAN_FOCUS); gtk_signal_connect (GTK_OBJECT (fontsel->size_clist), "key_press_event", GTK_SIGNAL_FUNC(gtk_xlfd_selection_on_clist_key_press), fontsel); /* create the Reset Filter & Metric buttons */ hbox = gtk_hbox_new(FALSE, 8); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (fontsel->main_vbox), hbox, FALSE, TRUE, 0); fontsel->filter_button = gtk_button_new_with_label(_("Reset Filter")); gtk_misc_set_padding (GTK_MISC (GTK_BIN (fontsel->filter_button)->child), 16, 0); gtk_widget_show(fontsel->filter_button); gtk_box_pack_start (GTK_BOX (hbox), fontsel->filter_button, FALSE, FALSE, 0); gtk_widget_set_sensitive (fontsel->filter_button, FALSE); gtk_signal_connect (GTK_OBJECT (fontsel->filter_button), "clicked", GTK_SIGNAL_FUNC(gtk_xlfd_selection_on_clear_filter), fontsel); hbox2 = gtk_hbox_new(FALSE, 0); gtk_widget_show (hbox2); gtk_box_pack_end (GTK_BOX (hbox), hbox2, FALSE, FALSE, 0); label = gtk_label_new(_("Metric:")); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, TRUE, 8); fontsel->points_button = gtk_radio_button_new_with_label(NULL, _("Points")); gtk_widget_show (fontsel->points_button); gtk_box_pack_start (GTK_BOX (hbox2), fontsel->points_button, FALSE, TRUE, 0); if (INITIAL_METRIC == GTK_XLFD_METRIC_POINTS) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fontsel->points_button), TRUE); fontsel->pixels_button = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(fontsel->points_button), _("Pixels")); gtk_widget_show (fontsel->pixels_button); gtk_box_pack_start (GTK_BOX (hbox2), fontsel->pixels_button, FALSE, TRUE, 0); if (INITIAL_METRIC == GTK_XLFD_METRIC_PIXELS) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fontsel->pixels_button), TRUE); gtk_signal_connect(GTK_OBJECT(fontsel->points_button), "toggled", (GtkSignalFunc) gtk_xlfd_selection_metric_callback, fontsel); gtk_signal_connect(GTK_OBJECT(fontsel->pixels_button), "toggled", (GtkSignalFunc) gtk_xlfd_selection_metric_callback, fontsel); /* create the text entry widget */ text_frame = gtk_frame_new (_("Preview:")); gtk_widget_show (text_frame); gtk_frame_set_shadow_type(GTK_FRAME(text_frame), GTK_SHADOW_ETCHED_IN); gtk_box_pack_start (GTK_BOX (fontsel->main_vbox), text_frame, FALSE, TRUE, 0); /* This is just used to get a 4-pixel space around the preview entry. */ text_box = gtk_hbox_new (FALSE, 0); gtk_widget_show (text_box); gtk_container_add (GTK_CONTAINER (text_frame), text_box); gtk_container_set_border_width (GTK_CONTAINER (text_box), 4); fontsel->preview_entry = gtk_entry_new (); gtk_widget_show (fontsel->preview_entry); gtk_widget_set_usize (fontsel->preview_entry, -1, INITIAL_PREVIEW_HEIGHT); gtk_box_pack_start (GTK_BOX (text_box), fontsel->preview_entry, TRUE, TRUE, 0); /* Create the message area */ fontsel->message_label = gtk_label_new(""); gtk_widget_show (fontsel->message_label); gtk_box_pack_start (GTK_BOX (fontsel->main_vbox), fontsel->message_label, FALSE, FALSE, 0); /* Create the font info page */ fontsel->info_vbox = gtk_vbox_new (FALSE, 4); gtk_widget_show (fontsel->info_vbox); gtk_container_set_border_width (GTK_CONTAINER (fontsel->info_vbox), 2); label = gtk_label_new(_("Font Information")); gtk_notebook_append_page (GTK_NOTEBOOK (fontsel), fontsel->info_vbox, label); fontsel->info_clist = gtk_clist_new_with_titles (3, titles); gtk_widget_set_usize (fontsel->info_clist, 390, 150); gtk_clist_set_column_width(GTK_CLIST(fontsel->info_clist), 0, 130); gtk_clist_set_column_width(GTK_CLIST(fontsel->info_clist), 1, 130); gtk_clist_set_column_width(GTK_CLIST(fontsel->info_clist), 2, 130); gtk_clist_column_titles_passive(GTK_CLIST(fontsel->info_clist)); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_container_add (GTK_CONTAINER (scrolled_win), fontsel->info_clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show(fontsel->info_clist); gtk_widget_show(scrolled_win); gtk_box_pack_start (GTK_BOX (fontsel->info_vbox), scrolled_win, TRUE, TRUE, 0); /* Insert the property names */ gtk_clist_freeze (GTK_CLIST(fontsel->info_clist)); row_text[1] = ""; row_text[2] = ""; for (i = 0; i < GTK_XLFD_NUM_FIELDS; i++) { row_text[0] = _(xlfd_field_names[i]); gtk_clist_append(GTK_CLIST(fontsel->info_clist), row_text); gtk_clist_set_shift(GTK_CLIST(fontsel->info_clist), i, 0, 0, 4); gtk_clist_set_shift(GTK_CLIST(fontsel->info_clist), i, 1, 0, 4); gtk_clist_set_shift(GTK_CLIST(fontsel->info_clist), i, 2, 0, 4); } gtk_clist_thaw (GTK_CLIST(fontsel->info_clist)); label = gtk_label_new(_("Requested Font Name:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (fontsel->info_vbox), label, FALSE, TRUE, 0); fontsel->requested_font_name = gtk_entry_new(); gtk_entry_set_editable(GTK_ENTRY(fontsel->requested_font_name), FALSE); gtk_widget_show (fontsel->requested_font_name); gtk_box_pack_start (GTK_BOX (fontsel->info_vbox), fontsel->requested_font_name, FALSE, TRUE, 0); label = gtk_label_new(_("Actual Font Name:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (fontsel->info_vbox), label, FALSE, TRUE, 0); fontsel->actual_font_name = gtk_entry_new(); gtk_entry_set_editable(GTK_ENTRY(fontsel->actual_font_name), FALSE); gtk_widget_show (fontsel->actual_font_name); gtk_box_pack_start (GTK_BOX (fontsel->info_vbox), fontsel->actual_font_name, FALSE, TRUE, 0); sprintf(buffer, _("%i fonts available with a total of %i styles."), fontsel_info->nfonts, fontsel_info->nstyles); label = gtk_label_new(buffer); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (fontsel->info_vbox), label, FALSE, FALSE, 0); gtk_signal_connect (GTK_OBJECT (fontsel), "switch_page", GTK_SIGNAL_FUNC(gtk_xlfd_selection_switch_page), fontsel); /* Create the Filter page. */ fontsel->filter_vbox = gtk_vbox_new (FALSE, 4); gtk_widget_show (fontsel->filter_vbox); gtk_container_set_border_width (GTK_CONTAINER (fontsel->filter_vbox), 2); label = gtk_label_new(_("Filter")); gtk_notebook_append_page (GTK_NOTEBOOK (fontsel), fontsel->filter_vbox, label); /* Create the font type checkbuttons. */ frame = gtk_frame_new (NULL); gtk_widget_show (frame); gtk_box_pack_start (GTK_BOX (fontsel->filter_vbox), frame, FALSE, TRUE, 0); hbox = gtk_hbox_new (FALSE, 20); gtk_widget_show (hbox); gtk_container_add (GTK_CONTAINER (frame), hbox); label = gtk_label_new(_("Font Types:")); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 10); hbox2 = gtk_hbox_new (TRUE, 0); gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (hbox), hbox2, FALSE, TRUE, 0); fontsel->type_bitmaps_button = gtk_check_button_new_with_label (_("Bitmap")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_bitmaps_button), TRUE); gtk_widget_show (fontsel->type_bitmaps_button); gtk_box_pack_start (GTK_BOX (hbox2), fontsel->type_bitmaps_button, FALSE, TRUE, 0); fontsel->type_scalable_button = gtk_check_button_new_with_label (_("Scalable")); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scalable_button), TRUE); gtk_widget_show (fontsel->type_scalable_button); gtk_box_pack_start (GTK_BOX (hbox2), fontsel->type_scalable_button, FALSE, TRUE, 0); fontsel->type_scaled_bitmaps_button = gtk_check_button_new_with_label (_("Scaled Bitmap")); gtk_widget_show (fontsel->type_scaled_bitmaps_button); gtk_box_pack_start (GTK_BOX (hbox2), fontsel->type_scaled_bitmaps_button, FALSE, TRUE, 0); table = gtk_table_new (4, 3, FALSE); gtk_table_set_col_spacings(GTK_TABLE(table), 2); gtk_widget_show (table); gtk_box_pack_start (GTK_BOX (fontsel->filter_vbox), table, TRUE, TRUE, 0); for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { gint left = filter_positions[prop][0]; gint top = filter_positions[prop][1]; label = gtk_label_new(_(xlfd_field_names[xlfd_index[prop]])); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 1.0); gtk_misc_set_padding (GTK_MISC (label), 0, 2); gtk_widget_show(label); gtk_table_attach (GTK_TABLE (table), label, left, left + 1, top, top + 1, GTK_FILL, GTK_FILL, 0, 0); clist = gtk_clist_new(1); gtk_widget_set_usize (clist, 100, filter_heights[prop]); gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_MULTIPLE); gtk_clist_column_titles_hide(GTK_CLIST(clist)); gtk_clist_set_column_auto_resize (GTK_CLIST (clist), 0, TRUE); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_container_add (GTK_CONTAINER (scrolled_win), clist); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_widget_show(clist); gtk_widget_show(scrolled_win); /* For the bottom-right cell we add the 'Reset Filter' button. */ if (top == 2 && left == 2) { vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_table_attach (GTK_TABLE (table), vbox, left, left + 1, top + 1, top + 2, GTK_FILL, GTK_FILL, 0, 0); gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0); alignment = gtk_alignment_new(0.5, 0.0, 0.8, 0.0); gtk_widget_show(alignment); gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, TRUE, 4); button = gtk_button_new_with_label(_("Reset Filter")); gtk_widget_show(button); gtk_container_add(GTK_CONTAINER(alignment), button); gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC(gtk_xlfd_selection_reset_filter), fontsel); } else gtk_table_attach (GTK_TABLE (table), scrolled_win, left, left + 1, top + 1, top + 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); gtk_signal_connect (GTK_OBJECT (clist), "select_row", GTK_SIGNAL_FUNC(gtk_xlfd_selection_select_filter), fontsel); /* Insert the property names, expanded, and in sorted order. But we make sure that the wildcard '*' is first. */ gtk_clist_freeze (GTK_CLIST(clist)); property = N_("*"); gtk_clist_append(GTK_CLIST(clist), &property); for (i = 1; i < fontsel_info->nproperties[prop]; i++) { property = _(fontsel_info->properties[prop][i]); if (prop == SLANT) property = gtk_xlfd_selection_expand_slant_code(property); else if (prop == SPACING) property = gtk_xlfd_selection_expand_spacing_code(property); inserted = FALSE; for (row = 1; row < GTK_CLIST(clist)->rows; row++) { gtk_clist_get_text(GTK_CLIST(clist), row, 0, &text); if (strcmp(property, text) < 0) { inserted = TRUE; gtk_clist_insert(GTK_CLIST(clist), row, &property); break; } } if (!inserted) row = gtk_clist_append(GTK_CLIST(clist), &property); gtk_clist_set_row_data(GTK_CLIST(clist), row, GINT_TO_POINTER (i)); } gtk_clist_select_row(GTK_CLIST(clist), 0, 0); gtk_clist_thaw (GTK_CLIST(clist)); fontsel->filter_clists[prop] = clist; } } GtkWidget * gtk_xlfd_selection_new() { GtkXlfdSelection *fontsel; fontsel = gtk_type_new (GTK_TYPE_XLFD_SELECTION); return GTK_WIDGET (fontsel); } static void gtk_xlfd_selection_destroy (GtkObject *object) { GtkXlfdSelection *fontsel; g_return_if_fail (object != NULL); g_return_if_fail (GTK_IS_XLFD_SELECTION (object)); fontsel = GTK_XLFD_SELECTION (object); #if 0 /* All we have to do is unref the font, if we have one. */ if (fontsel->font) gdk_font_unref (fontsel->font); #endif if (GTK_OBJECT_CLASS (font_selection_parent_class)->destroy) (* GTK_OBJECT_CLASS (font_selection_parent_class)->destroy) (object); } /* This is called when the clist is exposed. Here we scroll to the current font if necessary. */ static void gtk_xlfd_selection_expose_list (GtkWidget *widget, GdkEventExpose *event, gpointer data) { GtkXlfdSelection *fontsel; FontInfo *font_info; GList *selection; gint index; #ifdef FONTSEL_DEBUG g_message("In expose_list\n"); #endif fontsel = GTK_XLFD_SELECTION(data); font_info = fontsel_info->font_info; /* Try to scroll the font family clist to the selected item */ selection = GTK_CLIST(fontsel->font_clist)->selection; if (selection) { index = GPOINTER_TO_INT (selection->data); if (gtk_clist_row_is_visible(GTK_CLIST(fontsel->font_clist), index) != GTK_VISIBILITY_FULL) gtk_clist_moveto(GTK_CLIST(fontsel->font_clist), index, -1, 0.5, 0); } /* Try to scroll the font style clist to the selected item */ selection = GTK_CLIST(fontsel->font_style_clist)->selection; if (selection) { index = GPOINTER_TO_INT (selection->data); if (gtk_clist_row_is_visible(GTK_CLIST(fontsel->font_style_clist), index) != GTK_VISIBILITY_FULL) gtk_clist_moveto(GTK_CLIST(fontsel->font_style_clist), index, -1, 0.5, 0); } /* Try to scroll the font size clist to the selected item */ selection = GTK_CLIST(fontsel->size_clist)->selection; if (selection) { index = GPOINTER_TO_INT (selection->data); if (gtk_clist_row_is_visible(GTK_CLIST(fontsel->size_clist), index) != GTK_VISIBILITY_FULL) gtk_clist_moveto(GTK_CLIST(fontsel->size_clist), index, -1, 0.5, 0); } } /* This is called when the style clist is realized. We need to set any charset rows to insensitive colours. */ static void gtk_xlfd_selection_realize_list (GtkWidget *widget, gpointer data) { GtkXlfdSelection *fontsel; gint row; GdkColor *inactive_fg, *inactive_bg; #ifdef FONTSEL_DEBUG g_message("In realize_list\n"); #endif fontsel = GTK_XLFD_SELECTION (data); /* Set the colours for any charset rows to insensitive. */ inactive_fg = &fontsel->font_style_clist->style->fg[GTK_STATE_INSENSITIVE]; inactive_bg = &fontsel->font_style_clist->style->bg[GTK_STATE_INSENSITIVE]; for (row = 0; row < GTK_CLIST (fontsel->font_style_clist)->rows; row++) { if (GPOINTER_TO_INT (gtk_clist_get_row_data (GTK_CLIST (fontsel->font_style_clist), row)) == -1) { gtk_clist_set_foreground (GTK_CLIST (fontsel->font_style_clist), row, inactive_fg); gtk_clist_set_background (GTK_CLIST (fontsel->font_style_clist), row, inactive_bg); } } } /* This is called when a family is selected in the list. */ static void gtk_xlfd_selection_select_font (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, gpointer data) { GtkXlfdSelection *fontsel; FontInfo *font_info; FontInfo *font; #ifdef FONTSEL_DEBUG g_message("In select_font\n"); #endif fontsel = GTK_XLFD_SELECTION(data); font_info = fontsel_info->font_info; if (bevent && !GTK_WIDGET_HAS_FOCUS (w)) gtk_widget_grab_focus (w); row = GPOINTER_TO_INT (gtk_clist_get_row_data (GTK_CLIST (fontsel->font_clist), row)); font = &font_info[row]; gtk_entry_set_text(GTK_ENTRY(fontsel->font_entry), font->family); /* If it is already the current font, just return. */ if (fontsel->font_index == row) return; fontsel->font_index = row; gtk_xlfd_selection_show_available_styles (fontsel); gtk_xlfd_selection_select_best_style (fontsel, TRUE); } static gint gtk_xlfd_selection_on_clist_key_press (GtkWidget *clist, GdkEventKey *event, GtkXlfdSelection *fontsel) { #ifdef FONTSEL_DEBUG g_message("In on_clist_key_press\n"); #endif if (event->keyval == GDK_Up) return gtk_xlfd_selection_select_next (fontsel, clist, -1); else if (event->keyval == GDK_Down) return gtk_xlfd_selection_select_next (fontsel, clist, 1); else return FALSE; } static gboolean gtk_xlfd_selection_select_next (GtkXlfdSelection *fontsel, GtkWidget *clist, gint step) { GList *selection; gint current_row, row; selection = GTK_CLIST(clist)->selection; if (!selection) return FALSE; current_row = GPOINTER_TO_INT (selection->data); /* Stop the normal clist key handler from being run. */ gtk_signal_emit_stop_by_name (GTK_OBJECT (clist), "key_press_event"); for (row = current_row + step; row >= 0 && row < GTK_CLIST(clist)->rows; row += step) { /* If this is the style clist, make sure that the item is not a charset entry. */ if (clist == fontsel->font_style_clist) if (GPOINTER_TO_INT (gtk_clist_get_row_data(GTK_CLIST(clist), row)) == -1) continue; /* Now we've found the row to select. */ if (gtk_clist_row_is_visible(GTK_CLIST(clist), row) != GTK_VISIBILITY_FULL) gtk_clist_moveto(GTK_CLIST(clist), row, -1, (step < 0) ? 0 : 1, 0); gtk_clist_select_row(GTK_CLIST(clist), row, 0); break; } return TRUE; } /* This fills the font style clist with all the possible style combinations for the current font family. */ static void gtk_xlfd_selection_show_available_styles (GtkXlfdSelection *fontsel) { FontInfo *font; FontStyle *styles; gint style, tmpstyle, row; gint weight_index, slant_index, set_width_index, spacing_index; gint charset_index; gchar *weight, *slant, *set_width, *spacing; gchar *charset = NULL; gchar *new_item; gchar buffer[XLFD_MAX_FIELD_LEN * 6 + 2]; GdkColor *inactive_fg, *inactive_bg; gboolean show_charset; #ifdef FONTSEL_DEBUG g_message("In show_available_styles\n"); #endif font = &fontsel_info->font_info[fontsel->font_index]; styles = &fontsel_info->font_styles[font->style_index]; gtk_clist_freeze (GTK_CLIST(fontsel->font_style_clist)); gtk_clist_clear (GTK_CLIST(fontsel->font_style_clist)); /* First we mark all visible styles as not having been displayed yet, and check if every style has the same charset. If not then we will display the charset in the list before the styles. */ show_charset = FALSE; charset_index = -1; for (style = 0; style < font->nstyles; style++) { if (gtk_xlfd_selection_style_visible(fontsel, font, style)) { styles[style].flags &= ~GTK_XLFD_DISPLAYED; if (charset_index == -1) charset_index = styles[style].properties[CHARSET]; else if (charset_index != styles[style].properties[CHARSET]) show_charset = TRUE; } else styles[style].flags |= GTK_XLFD_DISPLAYED; } /* Step through the undisplayed styles, finding the next charset which hasn't been displayed yet. Then display the charset on one line, if necessary, and the visible styles indented beneath it. */ inactive_fg = &fontsel->font_style_clist->style->fg[GTK_STATE_INSENSITIVE]; inactive_bg = &fontsel->font_style_clist->style->bg[GTK_STATE_INSENSITIVE]; for (style = 0; style < font->nstyles; style++) { if (styles[style].flags & GTK_XLFD_DISPLAYED) continue; if (show_charset) { charset_index = styles[style].properties[CHARSET]; charset = fontsel_info->properties[CHARSET] [charset_index]; row = gtk_clist_append(GTK_CLIST(fontsel->font_style_clist), &charset); gtk_clist_set_row_data(GTK_CLIST(fontsel->font_style_clist), row, (gpointer) -1); if (GTK_WIDGET_REALIZED (fontsel->font_style_clist)) { gtk_clist_set_foreground(GTK_CLIST(fontsel->font_style_clist), row, inactive_fg); gtk_clist_set_background(GTK_CLIST(fontsel->font_style_clist), row, inactive_bg); } } for (tmpstyle = style; tmpstyle < font->nstyles; tmpstyle++) { if (styles[tmpstyle].flags & GTK_XLFD_DISPLAYED || charset_index != styles[tmpstyle].properties[CHARSET]) continue; styles[tmpstyle].flags |= GTK_XLFD_DISPLAYED; weight_index = styles[tmpstyle].properties[WEIGHT]; slant_index = styles[tmpstyle].properties[SLANT]; set_width_index = styles[tmpstyle].properties[SET_WIDTH]; spacing_index = styles[tmpstyle].properties[SPACING]; weight = fontsel_info->properties[WEIGHT] [weight_index]; slant = fontsel_info->properties[SLANT] [slant_index]; set_width = fontsel_info->properties[SET_WIDTH][set_width_index]; spacing = fontsel_info->properties[SPACING] [spacing_index]; /* Convert '(nil)' weights to 'regular', since it looks nicer. */ if (!g_strcasecmp(weight, N_("(nil)"))) weight = N_("regular"); /* We don't show default values or (nil) in the other properties. */ if (!g_strcasecmp(slant, "r")) slant = NULL; else if (!g_strcasecmp(slant, "(nil)")) slant = NULL; else if (!g_strcasecmp(slant, "i")) slant = N_("italic"); else if (!g_strcasecmp(slant, "o")) slant = N_("oblique"); else if (!g_strcasecmp(slant, "ri")) slant = N_("reverse italic"); else if (!g_strcasecmp(slant, "ro")) slant = N_("reverse oblique"); else if (!g_strcasecmp(slant, "ot")) slant = N_("other"); if (!g_strcasecmp(set_width, "normal")) set_width = NULL; else if (!g_strcasecmp(set_width, "(nil)")) set_width = NULL; if (!g_strcasecmp(spacing, "p")) spacing = NULL; else if (!g_strcasecmp(spacing, "(nil)")) spacing = NULL; else if (!g_strcasecmp(spacing, "m")) spacing = N_("[M]"); else if (!g_strcasecmp(spacing, "c")) spacing = N_("[C]"); /* Add the strings together, making sure there is 1 space between them */ strcpy(buffer, _(weight)); if (slant) { strcat(buffer, " "); strcat(buffer, _(slant)); } if (set_width) { strcat(buffer, " "); strcat(buffer, _(set_width)); } if (spacing) { strcat(buffer, " "); strcat(buffer, _(spacing)); } new_item = buffer; row = gtk_clist_append(GTK_CLIST(fontsel->font_style_clist), &new_item); if (show_charset) gtk_clist_set_shift(GTK_CLIST(fontsel->font_style_clist), row, 0, 0, 4); gtk_clist_set_row_data(GTK_CLIST(fontsel->font_style_clist), row, GINT_TO_POINTER (tmpstyle)); } } gtk_clist_thaw (GTK_CLIST(fontsel->font_style_clist)); } /* This selects a style when the user selects a font. It just uses the first available style at present. I was thinking of trying to maintain the selected style, e.g. bold italic, when the user selects different fonts. However, the interface is so easy to use now I'm not sure it's worth it. Note: This will load a font. */ static void gtk_xlfd_selection_select_best_style(GtkXlfdSelection *fontsel, gboolean use_first) { FontInfo *font; FontStyle *styles; gint row, prop, style, matched; gint best_matched = -1, best_style = -1, best_row = -1; #ifdef FONTSEL_DEBUG g_message("In select_best_style\n"); #endif font = &fontsel_info->font_info[fontsel->font_index]; styles = &fontsel_info->font_styles[font->style_index]; for (row = 0; row < GTK_CLIST(fontsel->font_style_clist)->rows; row++) { style = GPOINTER_TO_INT (gtk_clist_get_row_data (GTK_CLIST (fontsel->font_style_clist), row)); /* Skip charset rows. */ if (style == -1) continue; /* If we just want the first style, we've got it. */ if (use_first) { best_style = style; best_row = row; break; } matched = 0; for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) { if (fontsel->property_values[prop] == styles[style].properties[prop]) matched++; } if (matched > best_matched) { best_matched = matched; best_style = style; best_row = row; } } g_return_if_fail (best_style != -1); g_return_if_fail (best_row != -1); fontsel->style = best_style; for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) fontsel->property_values[prop] = styles[fontsel->style].properties[prop]; gtk_clist_select_row(GTK_CLIST(fontsel->font_style_clist), best_row, 0); if (gtk_clist_row_is_visible(GTK_CLIST(fontsel->font_style_clist), best_row) != GTK_VISIBILITY_FULL) gtk_clist_moveto(GTK_CLIST(fontsel->font_style_clist), best_row, -1, 0.5, 0); gtk_xlfd_selection_show_available_sizes (fontsel); gtk_xlfd_selection_select_best_size (fontsel); } /* This is called when a style is selected in the list. */ static void gtk_xlfd_selection_select_style (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, gpointer data) { GtkXlfdSelection *fontsel; FontInfo *font_info; FontInfo *font; FontStyle *styles; gint style, prop; gchar *text; #ifdef FONTSEL_DEBUG g_message("In select_style\n"); #endif fontsel = GTK_XLFD_SELECTION(data); font_info = fontsel_info->font_info; font = &font_info[fontsel->font_index]; styles = &fontsel_info->font_styles[font->style_index]; if (bevent && !GTK_WIDGET_HAS_FOCUS (w)) gtk_widget_grab_focus (w); /* The style index is stored in the row data, so we just need to copy the style values into the fontsel and reload the font. */ style = GPOINTER_TO_INT (gtk_clist_get_row_data(GTK_CLIST(fontsel->font_style_clist), row)); /* Don't allow selection of charset rows. */ if (style == -1) { gtk_clist_unselect_row(GTK_CLIST(fontsel->font_style_clist), row, 0); return; } gtk_clist_get_text(GTK_CLIST(fontsel->font_style_clist), row, 0, &text); gtk_entry_set_text(GTK_ENTRY(fontsel->font_style_entry), text); for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) fontsel->property_values[prop] = styles[style].properties[prop]; if (fontsel->style == style) return; fontsel->style = style; gtk_xlfd_selection_show_available_sizes (fontsel); gtk_xlfd_selection_select_best_size (fontsel); } /* This shows all the available sizes in the size clist, according to the current metric and the current font & style. */ static void gtk_xlfd_selection_show_available_sizes (GtkXlfdSelection *fontsel) { FontInfo *font; FontStyle *styles, *style; const guint16 *standard_sizes; guint16 *bitmapped_sizes; gint nstandard_sizes, nbitmapped_sizes; gchar buffer[16], *size; gfloat bitmap_size_float = 0.; guint16 bitmap_size = 0; gboolean can_match; gint type_filter; #ifdef FONTSEL_DEBUG g_message("In show_available_sizes\n"); #endif font = &fontsel_info->font_info[fontsel->font_index]; styles = &fontsel_info->font_styles[font->style_index]; style = &styles[fontsel->style]; standard_sizes = font_sizes; nstandard_sizes = sizeof(font_sizes) / sizeof(font_sizes[0]); if (fontsel->metric == GTK_XLFD_METRIC_POINTS) { bitmapped_sizes = &fontsel_info->point_sizes[style->point_sizes_index]; nbitmapped_sizes = style->npoint_sizes; } else { bitmapped_sizes = &fontsel_info->pixel_sizes[style->pixel_sizes_index]; nbitmapped_sizes = style->npixel_sizes; } /* Only show the standard sizes if a scalable font is available. */ type_filter = fontsel->filters[GTK_XLFD_FILTER_BASE].font_type & fontsel->filters[GTK_XLFD_FILTER_USER].font_type; if (!((style->flags & GTK_XLFD_SCALABLE_BITMAP && type_filter & GTK_XLFD_SCALABLE_BITMAP) || (style->flags & GTK_XLFD_SCALABLE && type_filter & GTK_XLFD_SCALABLE))) nstandard_sizes = 0; gtk_clist_freeze (GTK_CLIST(fontsel->size_clist)); gtk_clist_clear (GTK_CLIST(fontsel->size_clist)); /* Interleave the standard sizes with the bitmapped sizes so we get a list of ascending sizes. If the metric is points, we have to convert the decipoints to points. */ while (nstandard_sizes || nbitmapped_sizes) { can_match = TRUE; if (nbitmapped_sizes) { if (fontsel->metric == GTK_XLFD_METRIC_POINTS) { if (*bitmapped_sizes % 10 != 0) can_match = FALSE; bitmap_size = *bitmapped_sizes / 10; bitmap_size_float = *bitmapped_sizes / 10; } else { bitmap_size = *bitmapped_sizes; bitmap_size_float = *bitmapped_sizes; } } if (can_match && nstandard_sizes && nbitmapped_sizes && *standard_sizes == bitmap_size) { sprintf(buffer, "%i *", *standard_sizes); standard_sizes++; nstandard_sizes--; bitmapped_sizes++; nbitmapped_sizes--; } else if (nstandard_sizes && (!nbitmapped_sizes || (gfloat)*standard_sizes < bitmap_size_float)) { sprintf(buffer, "%i", *standard_sizes); standard_sizes++; nstandard_sizes--; } else { if (fontsel->metric == GTK_XLFD_METRIC_POINTS) { if (*bitmapped_sizes % 10 == 0) sprintf(buffer, "%i *", *bitmapped_sizes / 10); else sprintf(buffer, "%i.%i *", *bitmapped_sizes / 10, *bitmapped_sizes % 10); } else { sprintf(buffer, "%i *", *bitmapped_sizes); } bitmapped_sizes++; nbitmapped_sizes--; } size = buffer; gtk_clist_append(GTK_CLIST(fontsel->size_clist), &size); } gtk_clist_thaw (GTK_CLIST(fontsel->size_clist)); } static void gtk_xlfd_selection_update_size (GtkXlfdSelection *fontsel) { gint new_size; gfloat new_size_float; gchar *text; #ifdef FONTSEL_DEBUG g_message("In update_size\n"); #endif text = gtk_entry_get_text (GTK_ENTRY (fontsel->size_entry)); if (fontsel->metric == GTK_XLFD_METRIC_PIXELS) { new_size = atoi (text); if (new_size < 2) new_size = 2; } else { new_size_float = atof (text) * 10; new_size = (gint) new_size_float; if (new_size < 20) new_size = 20; } /* Remember that this size was set explicitly. */ fontsel->selected_size = new_size; /* Check if the font size has changed, and return if it hasn't. */ if (fontsel->size == new_size) return; fontsel->size = new_size; gtk_xlfd_selection_select_best_size (fontsel); } /* If the user hits return in the font size entry, we change to the new font size. */ static void gtk_xlfd_selection_size_activate (GtkWidget *w, gpointer data) { gtk_xlfd_selection_update_size (data); } /* This tries to select the closest size to the current size, though it may have to change the size if only unscaled bitmaps are available. Note: this will load a font. */ static void gtk_xlfd_selection_select_best_size(GtkXlfdSelection *fontsel) { FontInfo *font; FontStyle *styles, *style; gchar *text; gint row, best_row = 0, size, size_fraction, best_size = 0, nmatched; gboolean found = FALSE; gchar buffer[32]; GList *selection; gint type_filter; #ifdef FONTSEL_DEBUG g_message("In select_best_size\n"); #endif if (fontsel->font_index == -1) return; font = &fontsel_info->font_info[fontsel->font_index]; styles = &fontsel_info->font_styles[font->style_index]; style = &styles[fontsel->style]; /* Find the closest size available in the size clist. If the exact size is in the list set found to TRUE. */ for (row = 0; row < GTK_CLIST(fontsel->size_clist)->rows; row++) { gtk_clist_get_text(GTK_CLIST(fontsel->size_clist), row, 0, &text); nmatched = sscanf(text, "%i.%i", &size, &size_fraction); if (fontsel->metric == GTK_XLFD_METRIC_POINTS) { size *= 10; if (nmatched == 2) size += size_fraction; } if (size == fontsel->selected_size) { found = TRUE; best_size = size; best_row = row; break; } else if (best_size == 0 || abs(size - fontsel->selected_size) < (abs(best_size - fontsel->selected_size))) { best_size = size; best_row = row; } } /* If we aren't scaling bitmapped fonts and this is a bitmapped font, we need to use the closest size found. */ type_filter = fontsel->filters[GTK_XLFD_FILTER_BASE].font_type & fontsel->filters[GTK_XLFD_FILTER_USER].font_type; if (!((style->flags & GTK_XLFD_SCALABLE_BITMAP && type_filter & GTK_XLFD_SCALABLE_BITMAP) || (style->flags & GTK_XLFD_SCALABLE && type_filter & GTK_XLFD_SCALABLE))) found = TRUE; if (found) { fontsel->size = best_size; gtk_clist_moveto(GTK_CLIST(fontsel->size_clist), best_row, -1, 0.5, 0); gtk_clist_select_row(GTK_CLIST(fontsel->size_clist), best_row, 0); } else { fontsel->size = fontsel->selected_size; selection = GTK_CLIST(fontsel->size_clist)->selection; if (selection) gtk_clist_unselect_row(GTK_CLIST(fontsel->size_clist), GPOINTER_TO_INT (selection->data), 0); gtk_clist_moveto(GTK_CLIST(fontsel->size_clist), best_row, -1, 0.5, 0); /* Show the size in the size entry. */ if (fontsel->metric == GTK_XLFD_METRIC_PIXELS) sprintf(buffer, "%i", fontsel->size); else { if (fontsel->size % 10 == 0) sprintf(buffer, "%i", fontsel->size / 10); else sprintf(buffer, "%i.%i", fontsel->size / 10, fontsel->size % 10); } gtk_entry_set_text (GTK_ENTRY (fontsel->size_entry), buffer); } gtk_xlfd_selection_load_font (fontsel); } /* This is called when a size is selected in the list. */ static void gtk_xlfd_selection_select_size (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, gpointer data) { GtkXlfdSelection *fontsel; gdouble new_size; gchar *text; gchar buffer[16]; gint i; #ifdef FONTSEL_DEBUG g_message("In select_size\n"); #endif fontsel = GTK_XLFD_SELECTION(data); if (bevent && !GTK_WIDGET_HAS_FOCUS (w)) gtk_widget_grab_focus (w); /* Copy the size from the clist to the size entry, but without the bitmapped marker ('*'). */ gtk_clist_get_text(GTK_CLIST(fontsel->size_clist), row, 0, &text); i = 0; while (i < 15 && (text[i] == '.' || (text[i] >= '0' && text[i] <= '9'))) { buffer[i] = text[i]; i++; } buffer[i] = '\0'; gtk_entry_set_text(GTK_ENTRY(fontsel->size_entry), buffer); /* Check if the font size has changed, and return if it hasn't. */ new_size = atof(text); if (fontsel->metric == GTK_XLFD_METRIC_POINTS) new_size *= 10; if (fontsel->size == (gint)new_size) return; /* If the size was selected by the user we set the selected_size. */ fontsel->selected_size = new_size; fontsel->size = new_size; gtk_xlfd_selection_load_font (fontsel); } /* This is called when the pixels or points radio buttons are pressed. */ static void gtk_xlfd_selection_metric_callback (GtkWidget *w, gpointer data) { GtkXlfdSelection *fontsel = GTK_XLFD_SELECTION(data); #ifdef FONTSEL_DEBUG g_message("In metric_callback\n"); #endif if (GTK_TOGGLE_BUTTON(fontsel->pixels_button)->active) { if (fontsel->metric == GTK_XLFD_METRIC_PIXELS) return; fontsel->metric = GTK_XLFD_METRIC_PIXELS; fontsel->size = (fontsel->size + 5) / 10; fontsel->selected_size = (fontsel->selected_size + 5) / 10; } else { if (fontsel->metric == GTK_XLFD_METRIC_POINTS) return; fontsel->metric = GTK_XLFD_METRIC_POINTS; fontsel->size *= 10; fontsel->selected_size *= 10; } if (fontsel->font_index != -1) { gtk_xlfd_selection_show_available_sizes (fontsel); gtk_xlfd_selection_select_best_size (fontsel); } } /* This searches the given property table and returns the index of the given string, or 0, which is the wildcard '*' index, if it's not found. */ static guint16 gtk_xlfd_selection_field_to_index (gchar **table, gint ntable, gchar *field) { gint i; for (i = 0; i < ntable; i++) if (strcmp (field, table[i]) == 0) return i; return 0; } /* This attempts to load the current font, and returns TRUE if it succeeds. */ static gboolean gtk_xlfd_selection_load_font (GtkXlfdSelection *fontsel) { GdkFont *font; gchar *fontname, *label_text; XFontStruct *xfs; #if 0 if (fontsel->font) gdk_font_unref (fontsel->font); #endif fontsel->font = NULL; /* If no family has been selected yet, just return FALSE. */ if (fontsel->font_index == -1) return FALSE; fontname = gtk_xlfd_selection_get_font_name (fontsel); if (fontname) { #ifdef FONTSEL_DEBUG g_message("Loading: %s\n", fontname); #endif font = gdk_font_load (fontname); xfs = font ? GDK_FONT_XFONT (font) : NULL; if (xfs && (xfs->min_byte1 != 0 || xfs->max_byte1 != 0)) { gchar *tmp_name; gdk_font_unref (font); tmp_name = g_strconcat (fontname, ",*", NULL); font = gdk_fontset_load (tmp_name); g_free (tmp_name); } g_free (fontname); if (font) { fontsel->font = font; /* Make sure the message label is empty, but don't change it unless it's necessary as it results in a resize of the whole window! */ gtk_label_get(GTK_LABEL(fontsel->message_label), &label_text); if (strcmp(label_text, "")) gtk_label_set_text(GTK_LABEL(fontsel->message_label), ""); gtk_xlfd_selection_update_preview (fontsel); return TRUE; } else { gtk_label_set_text(GTK_LABEL(fontsel->message_label), _("The selected font is not available.")); } } else { gtk_label_set_text(GTK_LABEL(fontsel->message_label), _("The selected font is not a valid font.")); } return FALSE; } /* This sets the font in the preview entry to the selected font, and tries to make sure that the preview entry is a reasonable size, i.e. so that the text can be seen with a bit of space to spare. But it tries to avoid resizing the entry every time the font changes. This also used to shrink the preview if the font size was decreased, but that made it awkward if the user wanted to resize the window themself. */ static void gtk_xlfd_selection_update_preview (GtkXlfdSelection *fontsel) { GtkWidget *preview_entry; GtkStyle *style; gint text_height, new_height; gchar *text; XFontStruct *xfs; #ifdef FONTSEL_DEBUG g_message("In update_preview\n"); #endif style = gtk_style_new (); gtk_style_set_font( style , fontsel->font) ; preview_entry = fontsel->preview_entry; gtk_widget_set_style (preview_entry, style); gtk_style_unref(style); text_height = gtk_style_get_font( preview_entry->style)->ascent + gtk_style_get_font( preview_entry->style)->descent; /* We don't ever want to be over MAX_PREVIEW_HEIGHT pixels high. */ new_height = text_height + 20; if (new_height < INITIAL_PREVIEW_HEIGHT) new_height = INITIAL_PREVIEW_HEIGHT; if (new_height > MAX_PREVIEW_HEIGHT) new_height = MAX_PREVIEW_HEIGHT; if ((preview_entry->requisition.height < text_height + 10) || (preview_entry->requisition.height > text_height + 40)) gtk_widget_set_usize(preview_entry, -1, new_height); /* This sets the preview text, if it hasn't been set already. */ text = gtk_entry_get_text(GTK_ENTRY(fontsel->preview_entry)); if (strlen(text) == 0) gtk_entry_set_text(GTK_ENTRY(fontsel->preview_entry), PREVIEW_TEXT); gtk_entry_set_position(GTK_ENTRY(fontsel->preview_entry), 0); /* If this is a 2-byte font display a message to say it may not be displayed properly. */ xfs = GDK_FONT_XFONT(fontsel->font); if (xfs->min_byte1 != 0 || xfs->max_byte1 != 0) gtk_label_set_text(GTK_LABEL(fontsel->message_label), _("This is a 2-byte font and may not be displayed correctly.")); } static void gtk_xlfd_selection_switch_page (GtkWidget *w, GtkNotebookPage *page, gint page_num, gpointer data) { GtkXlfdSelection *fontsel = GTK_XLFD_SELECTION(data); /* This function strangely gets called when the window is destroyed, so we check here to see if the notebook is visible. */ if (!GTK_WIDGET_VISIBLE(w)) return; if (page_num == 0) gtk_xlfd_selection_update_filter(fontsel); else if (page_num == 1) gtk_xlfd_selection_show_font_info(fontsel); } static void gtk_xlfd_selection_show_font_info (GtkXlfdSelection *fontsel) { Atom font_atom, atom; Bool status; char *name; gchar *fontname; gchar field_buffer[XLFD_MAX_FIELD_LEN]; gchar *field; gint i; gboolean shown_actual_fields = FALSE; fontname = gtk_xlfd_selection_get_font_name(fontsel); gtk_entry_set_text(GTK_ENTRY(fontsel->requested_font_name), fontname ? fontname : ""); gtk_clist_freeze (GTK_CLIST(fontsel->info_clist)); for (i = 0; i < GTK_XLFD_NUM_FIELDS; i++) { if (fontname) field = gtk_xlfd_selection_get_xlfd_field (fontname, i, field_buffer); else field = NULL; if (field) { if (i == XLFD_SLANT) field = gtk_xlfd_selection_expand_slant_code(field); else if (i == XLFD_SPACING) field = gtk_xlfd_selection_expand_spacing_code(field); } gtk_clist_set_text(GTK_CLIST(fontsel->info_clist), i, 1, field ? field : ""); } if (fontsel->font) { font_atom = gdk_x11_atom_to_xatom_for_display (gtk_widget_get_display (GTK_WIDGET(fontsel)) , gdk_atom_intern ("FONT", FALSE)) ; if (fontsel->font->type == GDK_FONT_FONTSET) { XFontStruct **font_structs; gint num_fonts; gchar **font_names; num_fonts = XFontsOfFontSet (GDK_FONT_XFONT(fontsel->font), &font_structs, &font_names); status = XGetFontProperty(font_structs[0], font_atom, &atom); } else { status = XGetFontProperty(GDK_FONT_XFONT(fontsel->font), font_atom, &atom); } if (status == True) { name = gdk_atom_name (gdk_x11_xatom_to_atom_for_display ( gtk_widget_get_display(GTK_WIDGET(fontsel)), atom)); gtk_entry_set_text(GTK_ENTRY(fontsel->actual_font_name), name); for (i = 0; i < GTK_XLFD_NUM_FIELDS; i++) { field = gtk_xlfd_selection_get_xlfd_field (name, i, field_buffer); if (i == XLFD_SLANT) field = gtk_xlfd_selection_expand_slant_code(field); else if (i == XLFD_SPACING) field = gtk_xlfd_selection_expand_spacing_code(field); gtk_clist_set_text(GTK_CLIST(fontsel->info_clist), i, 2, field ? field : ""); } shown_actual_fields = TRUE; g_free (name); } } if (!shown_actual_fields) { gtk_entry_set_text(GTK_ENTRY(fontsel->actual_font_name), ""); for (i = 0; i < GTK_XLFD_NUM_FIELDS; i++) { gtk_clist_set_text(GTK_CLIST(fontsel->info_clist), i, 2, fontname ? _("(unknown)") : ""); } } gtk_clist_thaw (GTK_CLIST(fontsel->info_clist)); g_free(fontname); } static gchar* gtk_xlfd_selection_expand_slant_code(gchar *slant) { if (!g_strcasecmp(slant, "r")) return(_("roman")); else if (!g_strcasecmp(slant, "i")) return(_("italic")); else if (!g_strcasecmp(slant, "o")) return(_("oblique")); else if (!g_strcasecmp(slant, "ri")) return(_("reverse italic")); else if (!g_strcasecmp(slant, "ro")) return(_("reverse oblique")); else if (!g_strcasecmp(slant, "ot")) return(_("other")); return slant; } static gchar* gtk_xlfd_selection_expand_spacing_code(gchar *spacing) { if (!g_strcasecmp(spacing, "p")) return(_("proportional")); else if (!g_strcasecmp(spacing, "m")) return(_("monospaced")); else if (!g_strcasecmp(spacing, "c")) return(_("char cell")); return spacing; } /***************************************************************************** * These functions all deal with the Filter page and filtering the fonts. *****************************************************************************/ /* This is called when an item is selected in one of the filter clists. We make sure that the first row of the clist, i.e. the wildcard '*', is selected if and only if none of the other items are selected. Also doesn't allow selections of values filtered out by base filter. We may need to be careful about triggering other signals. */ static void gtk_xlfd_selection_select_filter (GtkWidget *w, gint row, gint column, GdkEventButton *bevent, GtkXlfdSelection *fontsel) { gint i, prop, index; if (row == 0) { for (i = 1; i < GTK_CLIST(w)->rows; i++) gtk_clist_unselect_row(GTK_CLIST(w), i, 0); } else { /* Find out which property this is. */ for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) if (fontsel->filter_clists[prop] == w) break; index = GPOINTER_TO_INT (gtk_clist_get_row_data(GTK_CLIST(w), row)); if (gtk_xlfd_selection_filter_state (fontsel, GTK_XLFD_FILTER_BASE, prop, index) == NOT_FILTERED) { gtk_clist_unselect_row(GTK_CLIST(w), row, 0); } else { gtk_clist_unselect_row(GTK_CLIST(w), 0, 0); } } } /* This is called when the main notebook page is selected. It checks if the filter has changed, an if so it creates the filter settings, and filters the fonts shown. If an empty filter (all '*'s) is applied, then filtering is turned off. */ static void gtk_xlfd_selection_update_filter (GtkXlfdSelection *fontsel) { GtkWidget *clist; GList *selection; gboolean default_filter = TRUE, filter_changed = FALSE; gint prop, nselected, i, row, index; GtkXlfdFilter *filter = &fontsel->filters[GTK_XLFD_FILTER_USER]; gint base_font_type, user_font_type, new_font_type; #ifdef FONTSEL_DEBUG g_message("In update_filter\n"); #endif /* Check if the user filter has changed, and also if it is the default filter, i.e. bitmap & scalable fonts and all '*'s selected. We only look at the bits which are not already filtered out by the base filter, since that overrides the user filter. */ base_font_type = fontsel->filters[GTK_XLFD_FILTER_BASE].font_type & GTK_XLFD_ALL; user_font_type = fontsel->filters[GTK_XLFD_FILTER_USER].font_type & GTK_XLFD_ALL; new_font_type = GTK_TOGGLE_BUTTON(fontsel->type_bitmaps_button)->active ? GTK_XLFD_BITMAP : 0; new_font_type |= (GTK_TOGGLE_BUTTON(fontsel->type_scalable_button)->active ? GTK_XLFD_SCALABLE : 0); new_font_type |= (GTK_TOGGLE_BUTTON(fontsel->type_scaled_bitmaps_button)->active ? GTK_XLFD_SCALABLE_BITMAP : 0); new_font_type &= base_font_type; new_font_type |= (~base_font_type & user_font_type); if (new_font_type != (GTK_XLFD_BITMAP | GTK_XLFD_SCALABLE)) default_filter = FALSE; if (new_font_type != user_font_type) filter_changed = TRUE; fontsel->filters[GTK_XLFD_FILTER_USER].font_type = new_font_type; for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { clist = fontsel->filter_clists[prop]; selection = GTK_CLIST(clist)->selection; nselected = g_list_length(selection); if (nselected != 1 || GPOINTER_TO_INT (selection->data) != 0) { default_filter = FALSE; if (filter->property_nfilters[prop] != nselected) filter_changed = TRUE; else { for (i = 0; i < nselected; i++) { row = GPOINTER_TO_INT (selection->data); index = GPOINTER_TO_INT (gtk_clist_get_row_data (GTK_CLIST (clist), row)); if (filter->property_filters[prop][i] != index) filter_changed = TRUE; selection = selection->next; } } } else { if (filter->property_nfilters[prop] != 0) filter_changed = TRUE; } } /* If the filter hasn't changed we just return. */ if (!filter_changed) return; #ifdef FONTSEL_DEBUG g_message(" update_fonts: filter has changed\n"); #endif /* Free the old filter data and create the new arrays. */ for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { g_free(filter->property_filters[prop]); clist = fontsel->filter_clists[prop]; selection = GTK_CLIST(clist)->selection; nselected = g_list_length(selection); if (nselected == 1 && GPOINTER_TO_INT (selection->data) == 0) { filter->property_filters[prop] = NULL; filter->property_nfilters[prop] = 0; } else { filter->property_filters[prop] = g_new(guint16, nselected); filter->property_nfilters[prop] = nselected; for (i = 0; i < nselected; i++) { row = GPOINTER_TO_INT (selection->data); index = GPOINTER_TO_INT (gtk_clist_get_row_data (GTK_CLIST (clist), row)); filter->property_filters[prop][i] = index; selection = selection->next; } } } /* Set the 'Reset Filter' button sensitive if a filter is in effect, and also set the label above the font list to show this as well. */ if (default_filter) { gtk_widget_set_sensitive(fontsel->filter_button, FALSE); gtk_label_set_text(GTK_LABEL(fontsel->font_label), _("Font:")); } else { gtk_widget_set_sensitive(fontsel->filter_button, TRUE); gtk_label_set_text(GTK_LABEL(fontsel->font_label), _("Font: (Filter Applied)")); } gtk_xlfd_selection_show_available_fonts(fontsel); } /* This shows all the available fonts in the font clist. */ static void gtk_xlfd_selection_show_available_fonts (GtkXlfdSelection *fontsel) { FontInfo *font_info, *font; GtkXlfdFilter *filter; gint nfonts, i, j, k, row, style, font_row = -1; gchar font_buffer[XLFD_MAX_FIELD_LEN * 2 + 4]; gchar *font_item; gboolean matched, matched_style; #ifdef FONTSEL_DEBUG g_message("In show_available_fonts\n"); #endif font_info = fontsel_info->font_info; nfonts = fontsel_info->nfonts; /* Filter the list of fonts. */ gtk_clist_freeze (GTK_CLIST(fontsel->font_clist)); gtk_clist_clear (GTK_CLIST(fontsel->font_clist)); for (i = 0; i < nfonts; i++) { font = &font_info[i]; /* Check if the foundry passes through all filters. */ matched = TRUE; for (k = 0; k < GTK_NUM_FONT_FILTERS; k++) { filter = &fontsel->filters[k]; if (filter->property_nfilters[FOUNDRY] != 0) { matched = FALSE; for (j = 0; j < filter->property_nfilters[FOUNDRY]; j++) { if (font->foundry == filter->property_filters[FOUNDRY][j]) { matched = TRUE; break; } } if (!matched) break; } } if (!matched) continue; /* Now check if the other properties are matched in at least one style.*/ matched_style = FALSE; for (style = 0; style < font->nstyles; style++) { if (gtk_xlfd_selection_style_visible(fontsel, font, style)) { matched_style = TRUE; break; } } if (!matched_style) continue; /* Insert the font in the clist. */ if ((i > 0 && font->family == font_info[i-1].family) || (i < nfonts - 1 && font->family == font_info[i+1].family)) { sprintf(font_buffer, "%s (%s)", font->family, fontsel_info->properties[FOUNDRY][font->foundry]); font_item = font_buffer; row = gtk_clist_append(GTK_CLIST(fontsel->font_clist), &font_item); } else { row = gtk_clist_append(GTK_CLIST(fontsel->font_clist), &font->family); } gtk_clist_set_row_data(GTK_CLIST(fontsel->font_clist), row, GINT_TO_POINTER (i)); if (fontsel->font_index == i) font_row = row; } gtk_clist_thaw (GTK_CLIST(fontsel->font_clist)); /* If the currently-selected font isn't in the new list, reset the selection. */ if (font_row == -1) { fontsel->font_index = -1; if (fontsel->font) gdk_font_unref(fontsel->font); fontsel->font = NULL; gtk_entry_set_text(GTK_ENTRY(fontsel->font_entry), ""); gtk_clist_clear (GTK_CLIST(fontsel->font_style_clist)); gtk_entry_set_text(GTK_ENTRY(fontsel->font_style_entry), ""); return; } gtk_clist_select_row(GTK_CLIST(fontsel->font_clist), font_row, 0); if (gtk_clist_row_is_visible(GTK_CLIST(fontsel->font_clist), font_row) != GTK_VISIBILITY_FULL) gtk_clist_moveto(GTK_CLIST(fontsel->font_clist), font_row, -1, 0.5, 0); gtk_xlfd_selection_show_available_styles (fontsel); gtk_xlfd_selection_select_best_style (fontsel, FALSE); } /* Returns TRUE if the style is not currently filtered out. */ static gboolean gtk_xlfd_selection_style_visible(GtkXlfdSelection *fontsel, FontInfo *font, gint style_index) { FontStyle *styles, *style; GtkXlfdFilter *filter; guint16 value; gint prop, i, j; gboolean matched; gint type_filter; styles = &fontsel_info->font_styles[font->style_index]; style = &styles[style_index]; /* Check if font_type of style is filtered. */ type_filter = fontsel->filters[GTK_XLFD_FILTER_BASE].font_type & fontsel->filters[GTK_XLFD_FILTER_USER].font_type; if (!(style->flags & type_filter)) return FALSE; for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) { value = style->properties[prop]; /* Check each filter. */ for (i = 0; i < GTK_NUM_FONT_FILTERS; i++) { filter = &fontsel->filters[i]; if (filter->property_nfilters[prop] != 0) { matched = FALSE; for (j = 0; j < filter->property_nfilters[prop]; j++) { if (value == filter->property_filters[prop][j]) { matched = TRUE; break; } } if (!matched) return FALSE; } } } return TRUE; } /* This resets the font type to bitmap or scalable, and sets all the filter clists to the wildcard '*' options. */ static void gtk_xlfd_selection_reset_filter (GtkWidget *w, GtkXlfdSelection *fontsel) { gint prop, base_font_type; fontsel->filters[GTK_XLFD_FILTER_USER].font_type = GTK_XLFD_BITMAP | GTK_XLFD_SCALABLE; base_font_type = fontsel->filters[GTK_XLFD_FILTER_BASE].font_type; if (base_font_type & GTK_XLFD_BITMAP) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_bitmaps_button), TRUE); if (base_font_type & GTK_XLFD_SCALABLE) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scalable_button), TRUE); if (base_font_type & GTK_XLFD_SCALABLE_BITMAP) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scaled_bitmaps_button), FALSE); for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) gtk_clist_select_row(GTK_CLIST(fontsel->filter_clists[prop]), 0, 0); } /* This clears the filter, showing all fonts and styles again. */ static void gtk_xlfd_selection_on_clear_filter (GtkWidget *w, GtkXlfdSelection *fontsel) { gtk_xlfd_selection_clear_filter(fontsel); } /* This resets the user filter, showing all fonts and styles which pass the base filter again. Note that the font type is set to bitmaps and scalable fonts - scaled bitmaps are not shown. */ static void gtk_xlfd_selection_clear_filter (GtkXlfdSelection *fontsel) { GtkXlfdFilter *filter; gint prop; #ifdef FONTSEL_DEBUG g_message("In clear_filter\n"); #endif /* Clear the filter data. */ filter = &fontsel->filters[GTK_XLFD_FILTER_USER]; filter->font_type = GTK_XLFD_BITMAP | GTK_XLFD_SCALABLE; for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { g_free(filter->property_filters[prop]); filter->property_filters[prop] = NULL; filter->property_nfilters[prop] = 0; } /* Select all the '*'s on the filter page. */ gtk_xlfd_selection_reset_filter(NULL, fontsel); /* Update the main notebook page. */ gtk_widget_set_sensitive(fontsel->filter_button, FALSE); gtk_label_set_text(GTK_LABEL(fontsel->font_label), _("Font:")); gtk_xlfd_selection_show_available_fonts(fontsel); } void gtk_xlfd_selection_set_filter (GtkXlfdSelection *fontsel, GtkXlfdFilterType filter_type, GtkXlfdType font_type, gchar **foundries, gchar **weights, gchar **slants, gchar **setwidths, gchar **spacings, gchar **charsets) { GtkXlfdFilter *filter; gchar **filter_strings [GTK_NUM_FONT_PROPERTIES]; gchar *filter_string; gchar *property, *property_alt; gint prop, nfilters, i, j, num_found; gint base_font_type, user_font_type; gboolean filter_set; /* Put them into an array so we can use a simple loop. */ filter_strings[FOUNDRY] = foundries; filter_strings[WEIGHT] = weights; filter_strings[SLANT] = slants; filter_strings[SET_WIDTH] = setwidths; filter_strings[SPACING] = spacings; filter_strings[CHARSET] = charsets; filter = &fontsel->filters[filter_type]; filter->font_type = font_type; /* Free the old filter data, and insert the new. */ for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { g_free(filter->property_filters[prop]); filter->property_filters[prop] = NULL; filter->property_nfilters[prop] = 0; if (filter_strings[prop]) { /* Count how many items in the new array. */ nfilters = 0; while (filter_strings[prop][nfilters]) nfilters++; filter->property_filters[prop] = g_new(guint16, nfilters); filter->property_nfilters[prop] = 0; /* Now convert the strings to property indices. */ num_found = 0; for (i = 0; i < nfilters; i++) { filter_string = filter_strings[prop][i]; for (j = 0; j < fontsel_info->nproperties[prop]; j++) { property = _(fontsel_info->properties[prop][j]); property_alt = NULL; if (prop == SLANT) property_alt = gtk_xlfd_selection_expand_slant_code(property); else if (prop == SPACING) property_alt = gtk_xlfd_selection_expand_spacing_code(property); if (!strcmp (filter_string, property) || (property_alt && !strcmp (filter_string, property_alt))) { filter->property_filters[prop][num_found] = j; num_found++; break; } } } filter->property_nfilters[prop] = num_found; } } /* Now set the clists on the filter page according to the new filter. */ gtk_xlfd_selection_update_filter_lists (fontsel); if (filter_type == GTK_XLFD_FILTER_BASE) { user_font_type = fontsel->filters[GTK_XLFD_FILTER_USER].font_type; if (font_type & GTK_XLFD_BITMAP) { gtk_widget_set_sensitive (fontsel->type_bitmaps_button, TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_bitmaps_button), user_font_type & GTK_XLFD_BITMAP); } else { gtk_widget_set_sensitive (fontsel->type_bitmaps_button, FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_bitmaps_button), FALSE); } if (font_type & GTK_XLFD_SCALABLE) { gtk_widget_set_sensitive (fontsel->type_scalable_button, TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scalable_button), user_font_type & GTK_XLFD_SCALABLE); } else { gtk_widget_set_sensitive (fontsel->type_scalable_button, FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scalable_button), FALSE); } if (font_type & GTK_XLFD_SCALABLE_BITMAP) { gtk_widget_set_sensitive (fontsel->type_scaled_bitmaps_button, TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scaled_bitmaps_button), user_font_type & GTK_XLFD_SCALABLE_BITMAP); } else { gtk_widget_set_sensitive (fontsel->type_scaled_bitmaps_button, FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scaled_bitmaps_button), FALSE); } } else { base_font_type = fontsel->filters[GTK_XLFD_FILTER_BASE].font_type; if (base_font_type & GTK_XLFD_BITMAP) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_bitmaps_button), font_type & GTK_XLFD_BITMAP); if (base_font_type & GTK_XLFD_SCALABLE) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scalable_button), font_type & GTK_XLFD_SCALABLE); if (base_font_type & GTK_XLFD_SCALABLE_BITMAP) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fontsel->type_scaled_bitmaps_button), font_type & GTK_XLFD_SCALABLE_BITMAP); /* If the user filter is not the default, make the 'Reset Filter' button sensitive. */ filter_set = FALSE; if (font_type != (GTK_XLFD_BITMAP | GTK_XLFD_SCALABLE)) filter_set = TRUE; for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { if (filter->property_nfilters[prop] != 0) filter_set = TRUE; } if (filter_set) gtk_widget_set_sensitive (fontsel->filter_button, TRUE); } gtk_xlfd_selection_show_available_fonts (fontsel); } /* This sets the colour of each property in the filter clists according to the base filter. i.e. Filtered properties are shown as insensitive. */ static void gtk_xlfd_selection_update_filter_lists (GtkXlfdSelection *fontsel) { GtkWidget *clist; GdkColor *inactive_fg, *inactive_bg, *fg, *bg; gint prop, row, index; /* We have to make sure the clist is realized to use the colours. */ for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { clist = fontsel->filter_clists[prop]; gtk_widget_realize (clist); inactive_fg = &clist->style->fg[GTK_STATE_INSENSITIVE]; inactive_bg = &clist->style->bg[GTK_STATE_INSENSITIVE]; for (row = 1; row < GTK_CLIST(clist)->rows; row++) { index = GPOINTER_TO_INT (gtk_clist_get_row_data(GTK_CLIST(clist), row)); /* Set the colour according to the base filter. */ if (gtk_xlfd_selection_filter_state (fontsel, GTK_XLFD_FILTER_BASE, prop, index) == NOT_FILTERED) { fg = inactive_fg; bg = inactive_bg; } else { fg = NULL; bg = NULL; } gtk_clist_set_foreground(GTK_CLIST(clist), row, fg); gtk_clist_set_background(GTK_CLIST(clist), row, bg); /* Set the selection state according to the user filter. */ if (gtk_xlfd_selection_filter_state (fontsel, GTK_XLFD_FILTER_USER, prop, index) == FILTERED && fg == NULL) gtk_clist_select_row (GTK_CLIST (clist), row, 0); else gtk_clist_unselect_row (GTK_CLIST (clist), row, 0); } } } /* Returns whether a property value is in the filter or not, or if the property has no filter set. */ static GtkXlfdPropertyFilterState gtk_xlfd_selection_filter_state (GtkXlfdSelection *fontsel, GtkXlfdFilterType filter_type, gint property, gint index) { GtkXlfdFilter *filter; gint i; filter = &fontsel->filters[filter_type]; if (filter->property_nfilters[property] == 0) return NOT_SET; for (i = 0; i < filter->property_nfilters[property]; i++) { if (filter->property_filters[property][i] == index) return FILTERED; } return NOT_FILTERED; } /***************************************************************************** * These functions all deal with creating the main class arrays containing * the data about all available fonts. *****************************************************************************/ static void gtk_xlfd_selection_get_fonts (void) { gchar **xfontnames; GSList **fontnames; gchar *fontname; GSList * temp_list; gint num_fonts; gint i, prop, style, size; gint npixel_sizes = 0, npoint_sizes = 0; FontInfo *font; FontStyle *current_style, *prev_style, *tmp_style; gboolean matched_style, found_size; gint pixels, points, res_x, res_y; gchar field_buffer[XLFD_MAX_FIELD_LEN]; gchar *field; guint8 flags; guint16 *pixel_sizes, *point_sizes, *tmp_sizes; fontsel_info = g_new (GtkXlfdSelInfo, 1); /* Get a maximum of MAX_FONTS fontnames from the X server. Use "-*" as the pattern rather than "-*-*-*-*-*-*-*-*-*-*-*-*-*-*" since the latter may result in fonts being returned which don't actually exist. xlsfonts also uses "*" so I think it's OK. "-*" gets rid of aliases. */ xfontnames = XListFonts (GDK_DISPLAY(), "-*", MAX_FONTS, &num_fonts); /* Output a warning if we actually get MAX_FONTS fonts. */ if (num_fonts == MAX_FONTS) g_warning(_("MAX_FONTS exceeded. Some fonts may be missing.")); /* The maximum size of all these tables is the number of font names returned. We realloc them later when we know exactly how many unique entries there are. */ fontsel_info->font_info = g_new (FontInfo, num_fonts); fontsel_info->font_styles = g_new (FontStyle, num_fonts); fontsel_info->pixel_sizes = g_new (guint16, num_fonts); fontsel_info->point_sizes = g_new (guint16, num_fonts); fontnames = g_new (GSList*, num_fonts); /* Create the initial arrays for the property value strings, though they may be realloc'ed later. Put the wildcard '*' in the first elements. */ for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { fontsel_info->properties[prop] = g_new(gchar*, PROPERTY_ARRAY_INCREMENT); fontsel_info->space_allocated[prop] = PROPERTY_ARRAY_INCREMENT; fontsel_info->nproperties[prop] = 1; fontsel_info->properties[prop][0] = "*"; } /* Insert the font families into the main table, sorted by family and foundry (fonts with different foundries are placed in seaparate FontInfos. All fontnames in each family + foundry are placed into the fontnames array of lists. */ fontsel_info->nfonts = 0; for (i = 0; i < num_fonts; i++) { #ifdef FONTSEL_DEBUG g_message("%s\n", xfontnames[i]); #endif if (gtk_xlfd_selection_is_xlfd_font_name (xfontnames[i])) gtk_xlfd_selection_insert_font (fontnames, &fontsel_info->nfonts, xfontnames[i]); else { #ifdef FONTSEL_DEBUG g_warning("Skipping invalid font: %s", xfontnames[i]); #endif } } /* Since many font names will be in the same FontInfo not all of the allocated FontInfo table will be used, so we will now reallocate it with the real size. */ fontsel_info->font_info = g_realloc(fontsel_info->font_info, sizeof(FontInfo) * fontsel_info->nfonts); /* Now we work out which choices of weight/slant etc. are valid for each font. */ fontsel_info->nstyles = 0; current_style = fontsel_info->font_styles; for (i = 0; i < fontsel_info->nfonts; i++) { font = &fontsel_info->font_info[i]; /* Use the next free position in the styles array. */ font->style_index = fontsel_info->nstyles; /* Now step through each of the fontnames with this family, and create a style for each fontname. Each style contains the index into the weights/slants etc. arrays, and a number of pixel/point sizes. */ style = 0; temp_list = fontnames[i]; while (temp_list) { fontname = temp_list->data; temp_list = temp_list->next; for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) { current_style->properties[prop] = gtk_xlfd_selection_insert_field (fontname, prop); } current_style->pixel_sizes_index = npixel_sizes; current_style->npixel_sizes = 0; current_style->point_sizes_index = npoint_sizes; current_style->npoint_sizes = 0; current_style->flags = 0; field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_PIXELS, field_buffer); pixels = atoi(field); field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_POINTS, field_buffer); points = atoi(field); field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_RESOLUTION_X, field_buffer); res_x = atoi(field); field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_RESOLUTION_Y, field_buffer); res_y = atoi(field); if (pixels == 0 && points == 0) { if (res_x == 0 && res_y == 0) flags = GTK_XLFD_SCALABLE; else flags = GTK_XLFD_SCALABLE_BITMAP; } else flags = GTK_XLFD_BITMAP; /* Now we check to make sure that the style is unique. If it isn't we forget it. */ prev_style = fontsel_info->font_styles + font->style_index; matched_style = FALSE; while (prev_style < current_style) { matched_style = TRUE; for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) { if (prev_style->properties[prop] != current_style->properties[prop]) { matched_style = FALSE; break; } } if (matched_style) break; prev_style++; } /* If we matched an existing style, we need to add the pixels & point sizes to the style. If not, we insert the pixel & point sizes into our new style. Note that we don't add sizes for scalable fonts. */ if (matched_style) { prev_style->flags |= flags; if (flags == GTK_XLFD_BITMAP) { pixel_sizes = fontsel_info->pixel_sizes + prev_style->pixel_sizes_index; found_size = FALSE; for (size = 0; size < prev_style->npixel_sizes; size++) { if (pixels == *pixel_sizes) { found_size = TRUE; break; } else if (pixels < *pixel_sizes) break; pixel_sizes++; } /* We need to move all the following pixel sizes up, and also update the indexes of any following styles. */ if (!found_size) { for (tmp_sizes = fontsel_info->pixel_sizes + npixel_sizes; tmp_sizes > pixel_sizes; tmp_sizes--) *tmp_sizes = *(tmp_sizes - 1); *pixel_sizes = pixels; npixel_sizes++; prev_style->npixel_sizes++; tmp_style = prev_style + 1; while (tmp_style < current_style) { tmp_style->pixel_sizes_index++; tmp_style++; } } point_sizes = fontsel_info->point_sizes + prev_style->point_sizes_index; found_size = FALSE; for (size = 0; size < prev_style->npoint_sizes; size++) { if (points == *point_sizes) { found_size = TRUE; break; } else if (points < *point_sizes) break; point_sizes++; } /* We need to move all the following point sizes up, and also update the indexes of any following styles. */ if (!found_size) { for (tmp_sizes = fontsel_info->point_sizes + npoint_sizes; tmp_sizes > point_sizes; tmp_sizes--) *tmp_sizes = *(tmp_sizes - 1); *point_sizes = points; npoint_sizes++; prev_style->npoint_sizes++; tmp_style = prev_style + 1; while (tmp_style < current_style) { tmp_style->point_sizes_index++; tmp_style++; } } } } else { current_style->flags = flags; if (flags == GTK_XLFD_BITMAP) { fontsel_info->pixel_sizes[npixel_sizes++] = pixels; current_style->npixel_sizes = 1; fontsel_info->point_sizes[npoint_sizes++] = points; current_style->npoint_sizes = 1; } style++; fontsel_info->nstyles++; current_style++; } } g_slist_free(fontnames[i]); /* Set nstyles to the real value, minus duplicated fontnames. Note that we aren't using all the allocated memory if fontnames are duplicated. */ font->nstyles = style; } /* Since some repeated styles may be skipped we won't have used all the allocated space, so we will now reallocate it with the real size. */ fontsel_info->font_styles = g_realloc(fontsel_info->font_styles, sizeof(FontStyle) * fontsel_info->nstyles); fontsel_info->pixel_sizes = g_realloc(fontsel_info->pixel_sizes, sizeof(guint16) * npixel_sizes); fontsel_info->point_sizes = g_realloc(fontsel_info->point_sizes, sizeof(guint16) * npoint_sizes); g_free(fontnames); XFreeFontNames (xfontnames); /* Debugging Output */ /* This outputs all FontInfos. */ #ifdef FONTSEL_DEBUG g_message("\n\n Font Family Weight Slant Set Width Spacing Charset\n\n"); for (i = 0; i < fontsel_info->nfonts; i++) { FontInfo *font = &fontsel_info->font_info[i]; FontStyle *styles = fontsel_info->font_styles + font->style_index; for (style = 0; style < font->nstyles; style++) { g_message("%5i %-16.16s ", i, font->family); for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) g_message("%-9.9s ", fontsel_info->properties[prop][styles->properties[prop]]); g_message("\n "); if (styles->flags & GTK_XLFD_BITMAP) g_message("Bitmapped font "); if (styles->flags & GTK_XLFD_SCALABLE) g_message("Scalable font "); if (styles->flags & GTK_XLFD_SCALABLE_BITMAP) g_message("Scalable-Bitmapped font "); g_message("\n"); if (styles->npixel_sizes) { g_message(" Pixel sizes: "); tmp_sizes = fontsel_info->pixel_sizes + styles->pixel_sizes_index; for (size = 0; size < styles->npixel_sizes; size++) g_message("%i ", *tmp_sizes++); g_message("\n"); } if (styles->npoint_sizes) { g_message(" Point sizes: "); tmp_sizes = fontsel_info->point_sizes + styles->point_sizes_index; for (size = 0; size < styles->npoint_sizes; size++) g_message("%i ", *tmp_sizes++); g_message("\n"); } g_message("\n"); styles++; } } /* This outputs all available properties. */ for (prop = 0; prop < GTK_NUM_FONT_PROPERTIES; prop++) { g_message("Property: %s\n", xlfd_field_names[xlfd_index[prop]]); for (i = 0; i < fontsel_info->nproperties[prop]; i++) g_message(" %s\n", fontsel_info->properties[prop][i]); } #endif } /* This inserts the given fontname into the FontInfo table. If a FontInfo already exists with the same family and foundry, then the fontname is added to the FontInfos list of fontnames, else a new FontInfo is created and inserted in alphabetical order in the table. */ static void gtk_xlfd_selection_insert_font (GSList *fontnames[], gint *ntable, gchar *fontname) { FontInfo *table; FontInfo temp_info; GSList *temp_fontname; gchar *family; gboolean family_exists = FALSE; gint foundry; gint lower, upper; gint middle, cmp; gchar family_buffer[XLFD_MAX_FIELD_LEN]; table = fontsel_info->font_info; /* insert a fontname into a table */ family = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_FAMILY, family_buffer); if (!family) return; foundry = gtk_xlfd_selection_insert_field (fontname, FOUNDRY); lower = 0; if (*ntable > 0) { /* Do a binary search to determine if we have already encountered * a font with this family & foundry. */ upper = *ntable; while (lower < upper) { middle = (lower + upper) >> 1; cmp = strcmp (family, table[middle].family); /* If the family matches we sort by the foundry. */ if (cmp == 0) { family_exists = TRUE; family = table[middle].family; cmp = strcmp(fontsel_info->properties[FOUNDRY][foundry], fontsel_info->properties[FOUNDRY][table[middle].foundry]); } if (cmp == 0) { fontnames[middle] = g_slist_prepend (fontnames[middle], fontname); return; } else if (cmp < 0) upper = middle; else lower = middle+1; } } /* Add another entry to the table for this new font family */ temp_info.family = family_exists ? family : g_strdup(family); temp_info.foundry = foundry; temp_fontname = g_slist_prepend (NULL, fontname); (*ntable)++; /* Quickly insert the entry into the table in sorted order * using a modification of insertion sort and the knowledge * that the entries proper position in the table was determined * above in the binary search and is contained in the "lower" * variable. */ if (*ntable > 1) { upper = *ntable - 1; while (lower != upper) { table[upper] = table[upper-1]; fontnames[upper] = fontnames[upper-1]; upper--; } } table[lower] = temp_info; fontnames[lower] = temp_fontname; } /* This checks that the specified field of the given fontname is in the appropriate properties array. If not it is added. Thus eventually we get arrays of all possible weights/slants etc. It returns the array index. */ static gint gtk_xlfd_selection_insert_field (gchar *fontname, gint prop) { gchar field_buffer[XLFD_MAX_FIELD_LEN]; gchar *field; guint16 index; field = gtk_xlfd_selection_get_xlfd_field (fontname, xlfd_index[prop], field_buffer); if (!field) return 0; /* If the field is already in the array just return its index. */ for (index = 0; index < fontsel_info->nproperties[prop]; index++) if (!strcmp(field, fontsel_info->properties[prop][index])) return index; /* Make sure we have enough space to add the field. */ if (fontsel_info->nproperties[prop] == fontsel_info->space_allocated[prop]) { fontsel_info->space_allocated[prop] += PROPERTY_ARRAY_INCREMENT; fontsel_info->properties[prop] = g_realloc(fontsel_info->properties[prop], sizeof(gchar*) * fontsel_info->space_allocated[prop]); } /* Add the new field. */ index = fontsel_info->nproperties[prop]; fontsel_info->properties[prop][index] = g_strdup(field); fontsel_info->nproperties[prop]++; return index; } /***************************************************************************** * These functions are the main public interface for getting/setting the font. *****************************************************************************/ GdkFont* gtk_xlfd_selection_get_font (GtkXlfdSelection *fontsel) { g_return_val_if_fail (GTK_IS_XLFD_SELECTION (fontsel), NULL); gtk_xlfd_selection_update_size (fontsel); return fontsel->font; } gchar * gtk_xlfd_selection_get_font_name (GtkXlfdSelection *fontsel) { FontInfo *font; gchar *family_str, *foundry_str; gchar *property_str[GTK_NUM_STYLE_PROPERTIES]; gint prop; g_return_val_if_fail (fontsel != NULL, NULL); g_return_val_if_fail (GTK_IS_XLFD_SELECTION (fontsel), NULL); gtk_xlfd_selection_update_size (fontsel); /* If no family has been selected return NULL. */ if (fontsel->font_index == -1) return NULL; font = &fontsel_info->font_info[fontsel->font_index]; family_str = font->family; foundry_str = fontsel_info->properties[FOUNDRY][font->foundry]; /* some fonts have a (nil) foundry */ if (strcmp (foundry_str, "(nil)") == 0) foundry_str = ""; for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) { property_str[prop] = fontsel_info->properties[prop][fontsel->property_values[prop]]; if (strcmp (property_str[prop], "(nil)") == 0) property_str[prop] = ""; } return gtk_xlfd_selection_create_xlfd (fontsel->size, fontsel->metric, foundry_str, family_str, property_str[WEIGHT], property_str[SLANT], property_str[SET_WIDTH], property_str[SPACING], property_str[CHARSET]); } /* This sets the current font, selecting the appropriate clist rows. First we check the fontname is valid and try to find the font family - i.e. the name in the main list. If we can't find that, then just return. Next we try to set each of the properties according to the fontname. Finally we select the font family & style in the clists. */ gboolean gtk_xlfd_selection_set_font_name (GtkXlfdSelection *fontsel, const gchar *fontname) { gchar *family, *field; gint index, prop, size, row; guint16 foundry, value; gchar family_buffer[XLFD_MAX_FIELD_LEN]; gchar field_buffer[XLFD_MAX_FIELD_LEN]; gchar buffer[16]; g_return_val_if_fail (fontsel != NULL, FALSE); g_return_val_if_fail (GTK_IS_XLFD_SELECTION (fontsel), FALSE); g_return_val_if_fail (fontname != NULL, FALSE); /* Check it is a valid fontname. */ if (!gtk_xlfd_selection_is_xlfd_font_name(fontname)) return FALSE; family = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_FAMILY, family_buffer); if (!family) return FALSE; field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_FOUNDRY, field_buffer); foundry = gtk_xlfd_selection_field_to_index (fontsel_info->properties[FOUNDRY], fontsel_info->nproperties[FOUNDRY], field); index = gtk_xlfd_selection_find_font(fontsel, family, foundry); if (index == -1) return FALSE; /* Convert the property fields into indices and set them. */ for (prop = 0; prop < GTK_NUM_STYLE_PROPERTIES; prop++) { field = gtk_xlfd_selection_get_xlfd_field (fontname, xlfd_index[prop], field_buffer); value = gtk_xlfd_selection_field_to_index (fontsel_info->properties[prop], fontsel_info->nproperties[prop], field); fontsel->property_values[prop] = value; } field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_POINTS, field_buffer); size = atoi(field); if (size > 0) { if (size < 20) size = 20; fontsel->size = fontsel->selected_size = size; fontsel->metric = GTK_XLFD_METRIC_POINTS; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fontsel->points_button), TRUE); if (size % 10 == 0) sprintf (buffer, "%i", size / 10); else sprintf (buffer, "%i.%i", size / 10, size % 10); } else { field = gtk_xlfd_selection_get_xlfd_field (fontname, XLFD_PIXELS, field_buffer); size = atoi(field); if (size < 2) size = 2; fontsel->size = fontsel->selected_size = size; fontsel->metric = GTK_XLFD_METRIC_PIXELS; gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fontsel->pixels_button), TRUE); sprintf (buffer, "%i", size); } gtk_entry_set_text (GTK_ENTRY (fontsel->size_entry), buffer); /* Clear any current filter. */ gtk_xlfd_selection_clear_filter(fontsel); /* Now find the best style match. */ fontsel->font_index = index; row = gtk_clist_find_row_from_data (GTK_CLIST (fontsel->font_clist), GINT_TO_POINTER (index)); if (row != -1) { gtk_clist_select_row (GTK_CLIST (fontsel->font_clist), row, 0); if (GTK_WIDGET_MAPPED (fontsel->font_clist)) gtk_clist_moveto (GTK_CLIST (fontsel->font_clist), row, -1, 0.5, 0); } gtk_xlfd_selection_show_available_styles (fontsel); /* This will load the font. */ gtk_xlfd_selection_select_best_style (fontsel, FALSE); return TRUE; } /* Returns the index of the given family, or -1 if not found */ static gint gtk_xlfd_selection_find_font (GtkXlfdSelection *fontsel, gchar *family, guint16 foundry) { FontInfo *font_info; gint lower, upper, middle = -1, cmp, nfonts; gint found_family = -1; font_info = fontsel_info->font_info; nfonts = fontsel_info->nfonts; if (nfonts == 0) return -1; /* Do a binary search to find the font family. */ lower = 0; upper = nfonts; while (lower < upper) { middle = (lower + upper) >> 1; cmp = strcmp (family, font_info[middle].family); if (cmp == 0) { found_family = middle; cmp = strcmp(fontsel_info->properties[FOUNDRY][foundry], fontsel_info->properties[FOUNDRY][font_info[middle].foundry]); } if (cmp == 0) return middle; else if (cmp < 0) upper = middle; else if (cmp > 0) lower = middle+1; } /* We couldn't find the family and foundry, but we may have just found the family, so we return that. */ return found_family; } /* This returns the text in the preview entry. You should copy the returned text if you need it. */ gchar* gtk_xlfd_selection_get_preview_text (GtkXlfdSelection *fontsel) { return gtk_entry_get_text(GTK_ENTRY(fontsel->preview_entry)); } /* This sets the text in the preview entry. */ void gtk_xlfd_selection_set_preview_text (GtkXlfdSelection *fontsel, const gchar *text) { gtk_entry_set_text(GTK_ENTRY(fontsel->preview_entry), text); } /***************************************************************************** * These functions all deal with X Logical Font Description (XLFD) fontnames. * See the freely available documentation about this. *****************************************************************************/ /* * Returns TRUE if the fontname is a valid XLFD. * (It just checks if the number of dashes is 14, and that each * field < XLFD_MAX_FIELD_LEN characters long - that's not in the XLFD but it * makes it easier for me). */ static gboolean gtk_xlfd_selection_is_xlfd_font_name (const gchar *fontname) { gint i = 0; gint field_len = 0; while (*fontname) { if (*fontname++ == '-') { if (field_len > XLFD_MAX_FIELD_LEN) return FALSE; field_len = 0; i++; } else field_len++; } return (i == 14) ? TRUE : FALSE; } /* * This fills the buffer with the specified field from the X Logical Font * Description name, and returns it. If fontname is NULL or the field is * longer than XFLD_MAX_FIELD_LEN it returns NULL. * Note: For the charset field, we also return the encoding, e.g. 'iso8859-1'. */ static gchar* gtk_xlfd_selection_get_xlfd_field (const gchar *fontname, FontField field_num, gchar *buffer) { const gchar *t1, *t2; gint countdown, len, num_dashes; if (!fontname) return NULL; /* we assume this is a valid fontname...that is, it has 14 fields */ countdown = field_num; t1 = fontname; while (*t1 && (countdown >= 0)) if (*t1++ == '-') countdown--; num_dashes = (field_num == XLFD_CHARSET) ? 2 : 1; for (t2 = t1; *t2; t2++) { if (*t2 == '-' && --num_dashes == 0) break; } if (t1 != t2) { /* Check we don't overflow the buffer */ len = (long) t2 - (long) t1; if (len > XLFD_MAX_FIELD_LEN - 1) return NULL; strncpy (buffer, t1, len); buffer[len] = 0; /* Convert to lower case. */ g_strdown (buffer); } else strcpy(buffer, "(nil)"); return buffer; } /* * This returns a X Logical Font Description font name, given all the pieces. * Note: this retval must be freed by the caller. */ static gchar * gtk_xlfd_selection_create_xlfd (gint size, GtkXlfdMetricType metric, gchar *foundry, gchar *family, gchar *weight, gchar *slant, gchar *set_width, gchar *spacing, gchar *charset) { gchar buffer[16]; gchar *pixel_size = "*", *point_size = "*", *fontname; if (size <= 0) return NULL; sprintf (buffer, "%d", (int) size); if (metric == GTK_XLFD_METRIC_PIXELS) pixel_size = buffer; else point_size = buffer; fontname = g_strdup_printf("-%s-%s-%s-%s-%s-*-%s-%s-*-*-%s-*-%s", foundry, family, weight, slant, set_width, pixel_size, point_size, spacing, charset); return fontname; } /***************************************************************************** * GtkXlfdSelectionDialog *****************************************************************************/ guint gtk_xlfd_selection_dialog_get_type (void) { static guint font_selection_dialog_type = 0; if (!font_selection_dialog_type) { GtkTypeInfo fontsel_diag_info = { "GtkXlfdSelectionDialog", sizeof (GtkXlfdSelectionDialog), sizeof (GtkXlfdSelectionDialogClass), (GtkClassInitFunc) gtk_xlfd_selection_dialog_class_init, (GtkObjectInitFunc) gtk_xlfd_selection_dialog_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, }; font_selection_dialog_type = gtk_type_unique (GTK_TYPE_WINDOW, &fontsel_diag_info); } return font_selection_dialog_type; } static void gtk_xlfd_selection_dialog_class_init (GtkXlfdSelectionDialogClass *klass) { GtkObjectClass *object_class; object_class = (GtkObjectClass*) klass; font_selection_dialog_parent_class = gtk_type_class (GTK_TYPE_WINDOW); } static void gtk_xlfd_selection_dialog_init (GtkXlfdSelectionDialog *fontseldiag) { fontseldiag->dialog_width = -1; fontseldiag->auto_resize = TRUE; gtk_widget_set_events(GTK_WIDGET(fontseldiag), GDK_STRUCTURE_MASK); gtk_signal_connect (GTK_OBJECT (fontseldiag), "configure_event", (GtkSignalFunc) gtk_xlfd_selection_dialog_on_configure, fontseldiag); gtk_container_set_border_width (GTK_CONTAINER (fontseldiag), 4); gtk_window_set_policy(GTK_WINDOW(fontseldiag), FALSE, TRUE, TRUE); fontseldiag->main_vbox = gtk_vbox_new (FALSE, 4); gtk_widget_show (fontseldiag->main_vbox); gtk_container_add (GTK_CONTAINER (fontseldiag), fontseldiag->main_vbox); fontseldiag->fontsel = gtk_xlfd_selection_new(); gtk_widget_show (fontseldiag->fontsel); gtk_box_pack_start (GTK_BOX (fontseldiag->main_vbox), fontseldiag->fontsel, TRUE, TRUE, 0); /* Create the action area */ fontseldiag->action_area = gtk_hbutton_box_new (); gtk_button_box_set_layout(GTK_BUTTON_BOX(fontseldiag->action_area), GTK_BUTTONBOX_END); gtk_button_box_set_spacing(GTK_BUTTON_BOX(fontseldiag->action_area), 5); gtk_box_pack_start (GTK_BOX (fontseldiag->main_vbox), fontseldiag->action_area, FALSE, FALSE, 0); gtk_widget_show (fontseldiag->action_area); fontseldiag->ok_button = gtk_button_new_with_label(_("OK")); GTK_WIDGET_SET_FLAGS (fontseldiag->ok_button, GTK_CAN_DEFAULT); gtk_widget_show(fontseldiag->ok_button); gtk_box_pack_start (GTK_BOX (fontseldiag->action_area), fontseldiag->ok_button, TRUE, TRUE, 0); gtk_widget_grab_default (fontseldiag->ok_button); fontseldiag->apply_button = gtk_button_new_with_label(_("Apply")); GTK_WIDGET_SET_FLAGS (fontseldiag->apply_button, GTK_CAN_DEFAULT); /*gtk_widget_show(fontseldiag->apply_button);*/ gtk_box_pack_start (GTK_BOX(fontseldiag->action_area), fontseldiag->apply_button, TRUE, TRUE, 0); fontseldiag->cancel_button = gtk_button_new_with_label(_("Cancel")); GTK_WIDGET_SET_FLAGS (fontseldiag->cancel_button, GTK_CAN_DEFAULT); gtk_widget_show(fontseldiag->cancel_button); gtk_box_pack_start (GTK_BOX(fontseldiag->action_area), fontseldiag->cancel_button, TRUE, TRUE, 0); } GtkWidget* gtk_xlfd_selection_dialog_new (const gchar *title) { GtkXlfdSelectionDialog *fontseldiag; fontseldiag = gtk_type_new (GTK_TYPE_XLFD_SELECTION_DIALOG); gtk_window_set_title (GTK_WINDOW (fontseldiag), title ? title : _("Font Selection")); return GTK_WIDGET (fontseldiag); } gchar* gtk_xlfd_selection_dialog_get_font_name (GtkXlfdSelectionDialog *fsd) { return gtk_xlfd_selection_get_font_name(GTK_XLFD_SELECTION(fsd->fontsel)); } GdkFont* gtk_xlfd_selection_dialog_get_font (GtkXlfdSelectionDialog *fsd) { return gtk_xlfd_selection_get_font(GTK_XLFD_SELECTION(fsd->fontsel)); } gboolean gtk_xlfd_selection_dialog_set_font_name (GtkXlfdSelectionDialog *fsd, const gchar *fontname) { return gtk_xlfd_selection_set_font_name(GTK_XLFD_SELECTION(fsd->fontsel), fontname); } void gtk_xlfd_selection_dialog_set_filter (GtkXlfdSelectionDialog *fsd, GtkXlfdFilterType filter_type, GtkXlfdType font_type, gchar **foundries, gchar **weights, gchar **slants, gchar **setwidths, gchar **spacings, gchar **charsets) { gtk_xlfd_selection_set_filter (GTK_XLFD_SELECTION (fsd->fontsel), filter_type, font_type, foundries, weights, slants, setwidths, spacings, charsets); } gchar* gtk_xlfd_selection_dialog_get_preview_text (GtkXlfdSelectionDialog *fsd) { return gtk_xlfd_selection_get_preview_text(GTK_XLFD_SELECTION(fsd->fontsel)); } void gtk_xlfd_selection_dialog_set_preview_text (GtkXlfdSelectionDialog *fsd, const gchar *text) { gtk_xlfd_selection_set_preview_text(GTK_XLFD_SELECTION(fsd->fontsel), text); } /* This turns auto-shrink off if the user resizes the width of the dialog. It also turns it back on again if the user resizes it back to its normal width. */ static gint gtk_xlfd_selection_dialog_on_configure (GtkWidget *widget, GdkEventConfigure *event, GtkXlfdSelectionDialog *fsd) { /* This sets the initial width. */ if (fsd->dialog_width == -1) fsd->dialog_width = event->width; else if (fsd->auto_resize && fsd->dialog_width != event->width) { fsd->auto_resize = FALSE; gtk_window_set_policy(GTK_WINDOW(fsd), FALSE, TRUE, FALSE); } else if (!fsd->auto_resize && fsd->dialog_width == event->width) { fsd->auto_resize = TRUE; gtk_window_set_policy(GTK_WINDOW(fsd), FALSE, TRUE, TRUE); } return FALSE; } #endif /* G_PLATFORM_WIN32 */ ������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_char_encoding.c�������������������������������������������������������0100644�0001760�0000144�00000012017�13210547312�0017704�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_char_encoding.h" #include <stdio.h> #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <ctype.h> #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static int new_encoding_idx; /* remember encoding as index in encodings[] */ static int old_encoding_idx; static int is_changed; static char *encodings[] = { N_("auto"), N_("--- Unicode ---"), "UTF-8", N_("--- ISO 8859 encodings ---"), "ISO-8859-1 (Latin-1)", "ISO-8859-2 (Latin-2)", "ISO-8859-3 (Latin-3)", "ISO-8859-4 (Latin-4)", "ISO-8859-5 (Latin/Cyrillic)", "ISO-8859-6 (Latin/Arabic)", "ISO-8859-7 (Latin/Greek)", "ISO-8859-8 (Latin/Hebrew)", "ISO-8859-9 (Latin-5)", "ISO-8859-10 (Latin-6)", "ISO-8859-11 (TIS-620 Thai)", "ISO-8859-13 (Latin-7)", "ISO-8859-14 (Latin-8)", "ISO-8859-15 (Latin-9)", "ISO-8859-16 (Latin-10)", N_("--- Other 8bit ---"), "KOI8-R (Russian)", "KOI8-U (Ukrainian)", "KOI8-T (Tajik)", "GEORGIAN-PS (Georgian)", "TCVN5712 (Vietnamese)", "VISCII (Vietnamese)", "CP1250 (EastEurope)", "CP1251 (Bulgarian,Belarusian)", "CP1252 (Latin-1)", "CP1253 (Greek)", "CP1254 (Turkish)", "CP1255 (Hebrew)", "CP1256 (Arabic)", "CP1257 (Baltic)", "CP1258 (Vietnamese)", "ISCII-ASSAMESE (Indics)", "ISCII-BENGALI (Indics)", "ISCII-GUJARATI (Indics)", "ISCII-HINDI (Indics)", "ISCII-KANNAdA (Indics)", "ISCII-MALAYALAM (Indics)", "ISCII-ORIYA (Indics)", "ISCII-PUNJABI (Indics)", "ISCII-TELUGU (Indics)", N_("--- Japanese ---"), "EUC-JP", "EUC-JISX0213", "ISO-2022-JP", "ISO-2022-JP2", "ISO-2022-JP3", "SJIS", "SJISX0213", N_("--- Korean ---"), "EUC-KR", "UHC", "JOHAB", "ISO-2022-KR", N_("--- traditional Chinese ---"), "BIG-5", "EUC-TW", "BIG5HKSCS", N_("--- simplified Chinese ---"), "EUC-CN (GB2312)", "GBK", "GB18030", "HZ", "ISO-2022-CN", NULL}; static char *encodings_l10n[sizeof(encodings) / sizeof(encodings[0])]; /* --- static functions --- */ /* translate combobox items (encodings) * - the top item ("auto") and * - items which start with "-" (explanations) */ static void prepare_encodings_l10n(void) { int j; encodings_l10n[0] = strdup(_(encodings[0])); for (j = 1; encodings[j]; j++) { if (encodings[j][0] == '-') { encodings_l10n[j] = strdup(_(encodings[j])); if (encodings_l10n[j][0] != '-') { free(encodings_l10n[j]); encodings_l10n[j] = encodings[j]; } } else { encodings_l10n[j] = encodings[j]; } } encodings_l10n[j] = NULL; } /* compare two encoding names, returns non-zero if equal */ static int compare(const char *e1, const char *e2) { while (1) { if (*e1 == '_' || *e1 == '-') { e1++; continue; } if (*e2 == '_' || *e2 == '-') { e2++; continue; } if ((*e1 == 0 || *e1 == ' ') && (*e2 == 0 || *e2 == ' ')) return 1; if (toupper(*e1) != toupper(*e2)) return 0; e1++; e2++; } } static int get_index(const char *encoding) { int j; for (j = 0; encodings[j]; j++) if (compare(encodings[j], encoding)) return j; /* Returns "auto" for unknown encoding names. * Also, there is a possibility of translated "auto". */ return 0; } static char *savename(int index) { static char buf[256]; char *p; if (index == -1) return "UNKNOWN"; strncpy(buf, encodings[index], 255); buf[255] = 0; p = strchr(buf, ' '); if (p) *p = 0; return buf; } static gint encoding_selected(GtkWidget *widget, gpointer data) { const char *p; p = gtk_entry_get_text(GTK_ENTRY(widget)); if (*p == '-') return 1; new_encoding_idx = get_index(p); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s encoding is selected.\n", new_encoding); #endif return 1; } /* -- global functions --- */ GtkWidget *mc_char_encoding_config_widget_new(void) { int isauto, idx; char *encoding; GtkWidget *widget; GtkWidget *entry; isauto = mc_get_flag_value("is_auto_encoding"); encoding = mc_get_str_value("encoding"); if (isauto) { static char autostr[256]; idx = 0; sprintf(autostr, _("auto (currently %s)"), savename(get_index(encoding))); encodings[0] = autostr; } else idx = get_index(encoding); prepare_encodings_l10n(); widget = mc_combo_new(_("Encoding"), encodings_l10n, sizeof(encodings) / sizeof(encodings[0]) - 1, encodings_l10n[idx], 1, &entry); g_signal_connect(entry, "changed", G_CALLBACK(encoding_selected), NULL); new_encoding_idx = old_encoding_idx = idx; is_changed = 0; return widget; } void mc_update_char_encoding(void) { if (new_encoding_idx != old_encoding_idx) is_changed = 1; if (is_changed) { mc_set_str_value("encoding", savename(new_encoding_idx)); old_encoding_idx = new_encoding_idx; } } char *mc_get_char_encoding(void) { if (strncmp(encodings[new_encoding_idx], "auto", 4) == 0) { return encodings[new_encoding_idx] + 16; } else { return encodings[new_encoding_idx]; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_auto_detect.c���������������������������������������������������������0100644�0001760�0000144�00000004704�13210547312�0017425�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_auto_detect.h" #include <stdio.h> #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <pobl/bl_locale.h> #include <glib.h> #include <c_intl.h> #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static int new_flag; static int old_flag; static GtkWidget *entry; static char *old_encodings; static int is_changed; /* --- static functions --- */ static char *get_default_encodings(void) { #if 0 if ((bl_compare_str(bl_get_lang(), "ja")) == 0) #endif { return strdup("UTF-8,EUC-JP,SJIS"); } } static gint checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { if (*old_encodings == '\0') { if ((old_encodings = get_default_encodings())) { gtk_entry_set_text(GTK_ENTRY(entry), old_encodings); } } gtk_widget_set_sensitive(entry, TRUE); new_flag = 1; } else { gtk_widget_set_sensitive(entry, FALSE); new_flag = 0; } return 1; } /* -- global functions --- */ GtkWidget *mc_auto_detect_config_widget_new(void) { GtkWidget *hbox; GtkWidget *check; GtkWidget *label; hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); old_flag = mc_get_flag_value("use_auto_detect"); check = gtk_check_button_new_with_label(_("Auto detect")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), old_flag); gtk_widget_show(check); gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0); label = gtk_label_new(_("Encoding list")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); entry = gtk_entry_new(); old_encodings = mc_get_str_value("auto_detect_encodings"); gtk_entry_set_text(GTK_ENTRY(entry), old_encodings); gtk_widget_show(entry); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 1); if (!old_flag) gtk_widget_set_sensitive(entry, 0); g_signal_connect(check, "toggled", G_CALLBACK(checked), NULL); return hbox; } void mc_update_auto_detect(void) { char *new_encodings; new_encodings = strdup(gtk_entry_get_text(GTK_ENTRY(entry))); if (old_flag != new_flag || bl_compare_str(new_encodings, old_encodings) != 0) { is_changed = 1; } if (is_changed) { mc_set_flag_value("use_auto_detect", new_flag); mc_set_str_value("auto_detect_encodings", new_encodings); free(old_encodings); old_encodings = new_encodings; } } ������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_flags.h���������������������������������������������������������������0100644�0001760�0000144�00000001404�13210547312�0016220�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_FLAGS_H__ #define __MC_FLAGS_H__ #include <gtk/gtk.h> #define MC_FLAG_MODES 19 #define MC_FLAG_XFT 0 #define MC_FLAG_CAIRO 1 #define MC_FLAG_AA 2 #define MC_FLAG_VCOL 3 #define MC_FLAG_COMB 4 #define MC_FLAG_DYNCOMB 5 #define MC_FLAG_RECVUCS 6 #define MC_FLAG_MCOL 7 #define MC_FLAG_CTL 8 #define MC_FLAG_AWIDTH 9 #define MC_FLAG_CLIPBOARD 10 #define MC_FLAG_LOCALECHO 11 #define MC_FLAG_BLINKCURSOR 12 #define MC_FLAG_STATICBACKSCROLL 13 #define MC_FLAG_EXTSCROLLSHORTCUT 14 #define MC_FLAG_REGARDURIASWORD 15 #define MC_FLAG_OTLAYOUT 16 #define MC_FLAG_TRIMNEWLINE 17 #define MC_FLAG_BROADCAST 18 GtkWidget *mc_flag_config_widget_new(int id); void mc_update_flag_mode(int id); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_geometry.h������������������������������������������������������������0100644�0001760�0000144�00000000346�13210547312�0016763�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_GEOMETRY_H__ #define __MC_GEOMETRY_H__ #include <gtk/gtk.h> GtkWidget *mc_geometry_config_widget_new(void); void mc_update_geometry(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_alpha.c���������������������������������������������������������������0100644�0001760�0000144�00000002650�13210547312�0016210�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_alpha.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *new_alpha = NULL; static char *old_alpha = NULL; static int is_changed; /* --- static functions --- */ static gint alpha_selected(GtkWidget *widget, gpointer data) { g_free(new_alpha); new_alpha = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s alpha is selected.\n", new_alpha); #endif return 1; } /* --- global functions --- */ GtkWidget *mc_alpha_config_widget_new(void) { GtkWidget *combo; GtkWidget *entry; char *alphas[] = { "255", "223", "191", "159", "127", "95", "63", "31", "0", }; new_alpha = strdup(old_alpha = mc_get_str_value("alpha")); is_changed = 0; combo = mc_combo_new_with_width(_("Alpha"), alphas, sizeof(alphas) / sizeof(alphas[0]), new_alpha, 0, 50, &entry); g_signal_connect(entry, "changed", G_CALLBACK(alpha_selected), NULL); return combo; } void mc_update_alpha(void) { if (strcmp(new_alpha, old_alpha)) { is_changed = 1; } if (is_changed) { mc_set_str_value("alpha", new_alpha); free(old_alpha); old_alpha = strdup(new_alpha); } } ����������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_logsize.c�������������������������������������������������������������0100644�0001760�0000144�00000002723�13210547312�0016600�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_logsize.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *new_logsize = NULL; static char *old_logsize = NULL; static int is_changed; /* --- static functions --- */ static gint logsize_selected(GtkWidget *widget, gpointer data) { g_free(new_logsize); new_logsize = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s logsize is selected.\n", new_logsize); #endif return 1; } /* --- global functions --- */ GtkWidget *mc_logsize_config_widget_new(void) { GtkWidget *combo; GtkWidget *entry; char *logsizes[] = { "128", "256", "512", "1024", "unlimited", }; new_logsize = strdup(old_logsize = mc_get_str_value("logsize")); is_changed = 0; combo = mc_combo_new_with_width(_("Backlog size (lines)"), logsizes, sizeof(logsizes) / sizeof(logsizes[0]), new_logsize, 0, 50, &entry); g_signal_connect(entry, "changed", G_CALLBACK(logsize_selected), NULL); return combo; } void mc_update_logsize(void) { if (strcmp(new_logsize, old_logsize)) is_changed = 1; if (is_changed) { mc_set_str_value("logsize", new_logsize); free(old_logsize); old_logsize = strdup(new_logsize); } } ���������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_pty.c�����������������������������������������������������������������0100644�0001760�0000144�00000004757�13210547312�0015751�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_pty.h" #include <stdio.h> #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* malloc */ #include <pobl/bl_str.h> /* bl_str_sep */ #include "mc_combo.h" #include "mc_io.h" #define MAX_TERMS (sizeof(long) * 8) /* this must coincide with xwindow/x_term_manager.c */ /* --- static variables --- */ static char *new_pty = NULL; static char *old_pty = NULL; /* --- static functions --- */ static gint selected(GtkWidget *widget, gpointer data) { g_free(new_pty); new_pty = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); return 1; } static char *get_pty_title(char *dev) { char query[256], *name; if (strlen(dev) > 256 - 10) return strdup(""); sprintf(query, "%s:pty_name", dev); name = mc_get_str_value(query); return name; } static char *get_pty_entry(char *dev) { char *title, *entry; title = get_pty_title(dev); /* Assumed that dev always starts with "/dev/". */ if (title == NULL) return dev + 5; if (strcmp(title, dev) == 0 || strlen(title) == 0) { free(title); return dev + 5; } entry = malloc(strlen(dev + 5) + strlen(title) + 4); if (entry) { sprintf(entry, "%s (%s)", dev + 5, title); free(title); return entry; } else { free(title); return dev + 5; } } /* --- global functions --- */ GtkWidget *mc_pty_config_widget_new(void) { char *my_pty; char *pty_list; char *ptys[MAX_TERMS]; int num; GtkWidget *combo; GtkWidget *entry; my_pty = mc_get_str_value("pty_name"); pty_list = mc_get_str_value("pty_list"); if (my_pty == NULL) return NULL; ptys[0] = get_pty_entry(my_pty); num = 1; while (pty_list) { char *p; if (strlen(pty_list) <= 5) break; p = strchr(pty_list, ':'); if (!p) break; if (*(p + 1) == '0') { *p = 0; ptys[num] = get_pty_entry(pty_list); num++; } pty_list = strchr(p + 1, ';'); if (pty_list) pty_list++; } new_pty = strdup(old_pty = strdup(my_pty + 5)); combo = mc_combo_new("", ptys, num, new_pty, 1, &entry); g_signal_connect(entry, "changed", G_CALLBACK(selected), NULL); return combo; } void mc_select_pty(void) { if (strcmp(new_pty, old_pty) != 0) { char *cmd; char *space; if ((cmd = alloca(11 + 5 + strlen(new_pty) + 1)) == NULL) { return; } sprintf(cmd, "select_pty /dev/%s", new_pty); space = strchr(cmd + 11, ' '); if (space) *space = 0; mc_exec(cmd); free(old_pty); old_pty = strdup(new_pty); } } �����������������mlterm-3.8.4/tool/mlconfig/mc_tabsize.c�������������������������������������������������������������0100644�0001760�0000144�00000002667�13210547312�0016574�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_tabsize.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *new_tabsize = NULL; static char *old_tabsize = NULL; static int is_changed; /* --- static functions --- */ static gint tabsize_selected(GtkWidget *widget, gpointer data) { g_free(new_tabsize); new_tabsize = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s tabsize is selected.\n", new_tabsize); #endif return 1; } /* --- global functions --- */ GtkWidget *mc_tabsize_config_widget_new(void) { GtkWidget *combo; GtkWidget *entry; char *tabsizes[] = { "8", "4", "2", }; new_tabsize = strdup(old_tabsize = mc_get_str_value("tabsize")); is_changed = 0; combo = mc_combo_new_with_width(_("Tab width (columns)"), tabsizes, sizeof(tabsizes) / sizeof(tabsizes[0]), new_tabsize, 0, 20, &entry); g_signal_connect(entry, "changed", G_CALLBACK(tabsize_selected), NULL); return combo; } void mc_update_tabsize(void) { if (strcmp(new_tabsize, old_tabsize)) is_changed = 1; if (is_changed) { mc_set_str_value("tabsize", new_tabsize); free(old_tabsize); old_tabsize = strdup(new_tabsize); } } �������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_ratio.c���������������������������������������������������������������0100644�0001760�0000144�00000004015�13210547312�0016236�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_ratio.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif #define MAX_VALUE_LEN 3 /* --- static variables --- */ static char new_values[MC_RATIOS][MAX_VALUE_LEN + 1]; /* 0 - 100 */ static char old_values[MC_RATIOS][MAX_VALUE_LEN + 1]; /* 0 - 100 */ static int is_changed[MC_RATIOS]; static char *config_keys[MC_RATIOS] = { "contrast", "gamma", "brightness", "fade_ratio", "screen_width_ratio", }; static char *labels[MC_RATIOS] = { N_("Contrast "), N_("Gamma"), N_("Brightness"), N_("Fade ratio on unfocus"), N_("Screen size ratio against font size") }; /* --- static functions --- */ static gint ratio_selected(GtkWidget *widget, gpointer data) { gchar *text; text = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); if (strlen(text) <= MAX_VALUE_LEN) { strcpy(data, text); } g_free(text); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s ratio is selected.\n", text); #endif return 1; } /* --- global functions --- */ GtkWidget *mc_ratio_config_widget_new(int id) { char *value; GtkWidget *combo; GtkWidget *entry; char *ratios[] = { "100", "90", "80", "70", "60", "50", "40", "30", "20", "10", }; value = mc_get_str_value(config_keys[id]); if (strlen(value) <= MAX_VALUE_LEN) { strcpy(new_values[id], value); strcpy(old_values[id], value); } free(value); combo = mc_combo_new_with_width(_(labels[id]), ratios, sizeof(ratios) / sizeof(ratios[0]), new_values[id], 0, 50, &entry); g_signal_connect(entry, "changed", G_CALLBACK(ratio_selected), &new_values[id]); return combo; } void mc_update_ratio(int id) { if (strcmp(new_values[id], old_values[id])) { is_changed[id] = 1; } if (is_changed[id]) { mc_set_str_value(config_keys[id], new_values[id]); strcpy(old_values[id], new_values[id]); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_alpha.h���������������������������������������������������������������0100644�0001760�0000144�00000000332�13210547312�0016210�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_ALPHA_H__ #define __MC_ALPHA_H__ #include <gtk/gtk.h> GtkWidget *mc_alpha_config_widget_new(void); void mc_update_alpha(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_bgtype.h��������������������������������������������������������������0100644�0001760�0000144�00000000371�13210547312�0016420�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_BGTYPE_H__ #define __MC_BGTYPE_H__ #include <gtk/gtk.h> GtkWidget *mc_bgtype_config_widget_new(void); void mc_update_bgtype(void); int mc_is_color_bg(void); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_combo.h���������������������������������������������������������������0100644�0001760�0000144�00000001233�13210547312�0016223�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_COMBO_H__ #define __MC_COMBO_H__ #include <pobl/bl_types.h> #include <gtk/gtk.h> #include <glib.h> #define MC_COMBO_LABEL_WIDTH 1 #define MC_COMBO_TOTAL_WIDTH 2 GtkWidget *mc_combo_new(const char *label_name, char **item_names, u_int item_num, char *selected_item_name, int is_readonly, GtkWidget **entry); GtkWidget *mc_combo_new_with_width(const char *label_name, char **item_names, u_int item_num, char *selected_item_name, int is_readonly, int entry_width, GtkWidget **entry); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_char_encoding.h�������������������������������������������������������0100644�0001760�0000144�00000000435�13210547312�0017712�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_CHAR_ENCODING_H__ #define __MC_CHAR_ENCODING_H__ #include <gtk/gtk.h> GtkWidget *mc_char_encoding_config_widget_new(void); void mc_update_char_encoding(void); char *mc_get_char_encoding(void); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_radio.h���������������������������������������������������������������0100644�0001760�0000144�00000001043�13210547312�0016221�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_RADIO_H__ #define __MC_RADIO_H__ #include <gtk/gtk.h> #define MC_RADIOS 7 #define MC_RADIO_MOD_META_MODE 0 #define MC_RADIO_BELL_MODE 1 #define MC_RADIO_SB_MODE 2 #define MC_RADIO_VERTICAL_MODE 3 #define MC_RADIO_BOX_DRAWING 4 #define MC_RADIO_FONT_POLICY 5 #define MC_RADIO_LOG_VTSEQ 6 GtkWidget *mc_radio_config_widget_new(int id); void mc_update_radio(int id); void mc_radio_set_callback(int id, void (*func)(void)); int mc_radio_get_value(int id); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_color.c���������������������������������������������������������������0100644�0001760�0000144�00000016470�13210547312�0016246�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_color.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ /* "rgba:rrrr/gggg/bbbb/aaaa" == 25 bytes */ #define MC_COLOR_LEN 32 /* colors are stored in untranslated forms */ static char new_color[MC_COLOR_MODES][MC_COLOR_LEN]; static char old_color[MC_COLOR_MODES][MC_COLOR_LEN]; static int is_changed[MC_COLOR_MODES]; static char new_vtcolor[16][MC_COLOR_LEN]; static char old_vtcolor[16][MC_COLOR_LEN]; static int is_changed_vt[16]; static char *configname[MC_COLOR_MODES] = { "fg_color", "bg_color", "sb_fg_color", "sb_bg_color", "cursor_fg_color", "cursor_bg_color", "bd_color", "it_color", "ul_color", "bl_color", "co_color"}; static char *labelname[MC_COLOR_MODES] = { N_("Foreground color"), N_("Background color"), N_("Foreground color"), N_("Background color"), N_("Foreground color"), N_("Background color"), N_("Bold "), N_("Italic"), N_("Underline"), N_("Blink"), N_("Cross out")}; /* --- static functions --- */ #if !GTK_CHECK_VERSION(2, 12, 0) /* gdk_color_to_string() was not supported by gtk+ < 2.12. */ static gchar *gdk_color_to_string(const GdkColor *color) { gchar *str; if ((str = g_malloc(14)) == NULL) { return NULL; } sprintf(str, "#%04x%04x%04x", color->red, color->green, color->blue); return str; } #endif static char *color_strncpy(char *dst, const char *src) { strncpy(dst, src, MC_COLOR_LEN); dst[MC_COLOR_LEN - 1] = 0; return dst; } static void color_selected(GtkWidget *button, gpointer data) { GdkColor color; gchar *str; gtk_color_button_get_color(GTK_COLOR_BUTTON(button), &color); str = gdk_color_to_string(&color); color_strncpy(g_object_get_data(G_OBJECT(button), "color"), str); g_free(str); } static void checked(GtkWidget *check, gpointer data) { GtkWidget *button; button = data; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check))) { gtk_widget_set_sensitive(button, 1); } else { gtk_widget_set_sensitive(button, 0); color_strncpy(g_object_get_data(G_OBJECT(button), "color"), ""); } } /* --- global functions --- */ GtkWidget *mc_color_config_widget_new(int id) { char *value; GtkWidget *hbox; GtkWidget *label; GtkWidget *button; GdkColor color; value = mc_get_str_value(configname[id]); color_strncpy(new_color[id], value); color_strncpy(old_color[id], value); hbox = gtk_hbox_new(FALSE, 0); if (id <= MC_COLOR_SBBG) { label = gtk_label_new(_(labelname[id])); } else { label = gtk_check_button_new_with_label(_(labelname[id])); if (*value) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(label), TRUE); } } gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 1); memset(&color, 0, sizeof(color)); gdk_color_parse(value, &color); button = gtk_color_button_new_with_color(&color); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); g_object_set_data(G_OBJECT(button), "color", &new_color[id]); g_signal_connect(button, "color-set", G_CALLBACK(color_selected), NULL); if (id > MC_COLOR_SBBG) { if (*value == '\0') { gtk_widget_set_sensitive(button, 0); } g_signal_connect(label, "toggled", G_CALLBACK(checked), button); } return hbox; } GtkWidget *mc_cursor_color_config_widget_new(void) { GtkWidget *hbox; GtkWidget *frame; GtkWidget *color; frame = gtk_frame_new(_("Cursor color")); hbox = gtk_hbox_new(FALSE, 1); gtk_widget_show(hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); gtk_container_add(GTK_CONTAINER(frame), hbox); color = mc_color_config_widget_new(MC_COLOR_CURSOR_FG); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); color = mc_color_config_widget_new(MC_COLOR_CURSOR_BG); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); return frame; } GtkWidget *mc_substitute_color_config_widget_new(void) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *frame; GtkWidget *color; frame = gtk_frame_new(_("Substituting color")); vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_container_add(GTK_CONTAINER(frame), vbox); hbox = gtk_hbox_new(FALSE, 1); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); color = mc_color_config_widget_new(MC_COLOR_BD); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); color = mc_color_config_widget_new(MC_COLOR_UL); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); color = mc_color_config_widget_new(MC_COLOR_IT); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); hbox = gtk_hbox_new(FALSE, 1); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); color = mc_color_config_widget_new(MC_COLOR_BL); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); color = mc_color_config_widget_new(MC_COLOR_CO); gtk_widget_show(color); gtk_box_pack_start(GTK_BOX(hbox), color, FALSE, FALSE, 1); return frame; } GtkWidget *mc_vtcolor_config_widget_new(void) { int id; char id_str[3]; char *value; GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *button; GdkColor color; frame = gtk_frame_new(_("VT basic 16 colors")); vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_container_add(GTK_CONTAINER(frame), vbox); for (id = 0; id < 16; id++) { sprintf(id_str, "%d", id); value = mc_get_color_name(id_str); color_strncpy(new_vtcolor[id], value); color_strncpy(old_vtcolor[id], value); if (id % 8 == 0) { hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); } memset(&color, 0, sizeof(color)); gdk_color_parse(value, &color); button = gtk_color_button_new_with_color(&color); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); g_object_set_data(G_OBJECT(button), "color", &new_vtcolor[id]); g_signal_connect(button, "color-set", G_CALLBACK(color_selected), NULL); } return frame; } void mc_update_color(int id) { if (strcmp(new_color[id], old_color[id]) != 0) is_changed[id] = 1; if (is_changed[id]) { mc_set_str_value(configname[id], new_color[id]); strcpy(old_color[id], new_color[id]); } } void mc_update_cursor_color(void) { mc_update_color(MC_COLOR_CURSOR_FG); mc_update_color(MC_COLOR_CURSOR_BG); } void mc_update_substitute_color(void) { mc_update_color(MC_COLOR_BD); mc_update_color(MC_COLOR_IT); mc_update_color(MC_COLOR_UL); mc_update_color(MC_COLOR_BL); mc_update_color(MC_COLOR_CO); } void mc_update_vtcolor(mc_io_t io) { int id; char id_str[3]; for (id = 0; id < 16; id++) { if (strcmp(new_vtcolor[id], old_vtcolor[id]) != 0) { is_changed_vt[id] = 1; } if (is_changed_vt[id]) { sprintf(id_str, "%d", id); mc_set_color_name(io, id_str, new_vtcolor[id]); strcpy(old_vtcolor[id], new_vtcolor[id]); } } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_io.h������������������������������������������������������������������0100644�0001760�0000144�00000001663�13210547312�0015542�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_IO_H__ #define __MC_IO_H__ typedef enum { mc_io_exec = 5379, mc_io_set = 5379, mc_io_get = 5381, mc_io_set_save = 5383, mc_io_set_font = 5379, mc_io_get_font = 5381, mc_io_set_save_font = 5383, mc_io_set_color = 5379, mc_io_get_color = 5381, mc_io_set_save_color = 5383, } mc_io_t; int mc_exec(const char *cmd); int mc_set_str_value(const char *key, const char *value); int mc_set_flag_value(const char *key, int flag_val); int mc_flush(mc_io_t io); char *mc_get_str_value(const char *key); int mc_get_flag_value(const char *key); const char *mc_get_gui(void); int mc_set_font_name(mc_io_t io, const char *file, const char *cs, const char *font_name); char *mc_get_font_name(const char *file, const char *cs); int mc_set_color_name(mc_io_t io, const char *color, const char *value); char *mc_get_color_name(const char *color); #endif �����������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_logsize.h�������������������������������������������������������������0100644�0001760�0000144�00000000342�13210547312�0016600�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_LOGSIZE_H__ #define __MC_LOGSIZE_H__ #include <gtk/gtk.h> GtkWidget *mc_logsize_config_widget_new(void); void mc_update_logsize(void); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_unicode_areas.h�������������������������������������������������������0100644�0001760�0000144�00000000263�13210547312�0017727�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_UNICODE_AREAS_H__ #define __MC_UNICODE_AREAS_H__ char *mc_get_unicode_areas(char *areas); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_char_width.h����������������������������������������������������������0100644�0001760�0000144�00000000356�13210547312�0017245�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_CHAR_WIDTH_H__ #define __MC_CHAR_WIDTH_H__ #include <gtk/gtk.h> GtkWidget *mc_char_width_config_widget_new(void); void mc_update_char_width(void); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_unicode_areas.c�������������������������������������������������������0100644�0001760�0000144�00000013677�13210547312�0017737�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_unicode_areas.h" #include <string.h> #include <gtk/gtk.h> #include <glib.h> #include <c_intl.h> #include <pobl/bl_mem.h> #include <pobl/bl_str.h> /* bl_str_sep */ #include "mc_io.h" #if GTK_CHECK_VERSION(2, 14, 0) /* --- static functions --- */ static void add_row(GtkWidget *widget, gpointer p) { GtkListStore *store; GtkTreeIter iter; store = p; gtk_list_store_append(store, &iter); } static void delete_row(GtkWidget *widget, gpointer p) { GtkTreeView *view; GtkTreeModel *store; GtkTreeIter itr; view = p; gtk_tree_selection_get_selected(gtk_tree_view_get_selection(view), &store, &itr); gtk_list_store_remove(GTK_LIST_STORE(store), &itr); } static int check_hex(const gchar *text) { const gchar *p; int count; for (count = 0, p = text; *p; p++) { if (++count > 17 || /* 17: XXXXXXXX-XXXXXXXX */ (*p != '-' && (*p < '0' || ('9' < *p && *p < 'A') || ('F' < *p && *p < 'a') || 'f' < *p))) { return 0; } } return 1; } static void edited(GtkCellRendererText *renderer, gchar *path, gchar *new_text, gpointer data) { int min; int max; int num; GtkListStore *store; GtkTreeIter itr; GtkTreePath *treepath; GtkWidget *dialog; if (*new_text == '\0') { /* do nothing */ } else if ((num = sscanf(new_text, "%x-%x", &min, &max)) == 2 || (num = sscanf(new_text, "%x", &min)) == 1) { if (!check_hex(new_text)) { goto error1; } else if (num == 2 && min > max) { goto error2; } else { gchar *prepended; prepended = alloca(strlen(new_text) + 3); sprintf(prepended, "U+%s", new_text); new_text = prepended; } } else if ((num = sscanf(new_text, "U+%x-%x", &min, &max)) == 2 || (num = sscanf(new_text, "U+%x", &min)) == 1) { if (!check_hex(new_text + 2)) { goto error1; } else if (num == 2 && min > max) { goto error2; } } else { goto error1; } store = data; treepath = gtk_tree_path_new_from_string(path); gtk_tree_model_get_iter(GTK_TREE_MODEL(store), &itr, treepath); gtk_tree_path_free(treepath); gtk_list_store_set(store, &itr, 0, new_text, -1); return; error1: dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "\'%s\' is illegal", new_text); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); return; error2: dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "U+%x is larger than U+%x", min, max); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } /* --- global functions --- */ char *mc_get_unicode_areas(char *areas) { GtkWidget *dialog; GtkWidget *label; GtkListStore *store; GtkCellRenderer *renderer; GtkWidget *view; GtkWidget *hbox; GtkWidget *button; GtkTreeIter itr; char *strp; char *area; dialog = gtk_dialog_new_with_buttons( "Edit unicode areas", NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); label = gtk_label_new( _("Set unicode area in the following format.\n" "Format: U+XXXX-XXXX or U+XXXX (U+ is optional)")); gtk_widget_show(label); gtk_box_pack_start(gtk_dialog_get_content_area(GTK_DIALOG(dialog)), label, TRUE, TRUE, 1); store = gtk_list_store_new(1, G_TYPE_STRING); strp = areas; while ((area = bl_str_sep(&strp, ","))) { gtk_list_store_append(store, &itr); gtk_list_store_set(store, &itr, 0, area, -1); } view = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(G_OBJECT(store)); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_append_column(GTK_TREE_VIEW(view), gtk_tree_view_column_new_with_attributes( NULL, renderer, "text", 0, NULL)); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(view), FALSE); g_object_set(renderer, "editable", TRUE, NULL); g_signal_connect(renderer, "edited", G_CALLBACK(edited), store); gtk_widget_show(view); gtk_box_pack_start(gtk_dialog_get_content_area(GTK_DIALOG(dialog)), view, TRUE, TRUE, 1); hbox = gtk_hbox_new(TRUE, 0); gtk_widget_show(hbox); button = gtk_button_new_with_label("Add"); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 1); g_signal_connect(button, "clicked", G_CALLBACK(add_row), store); button = gtk_button_new_with_label("Delete"); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(hbox), button, TRUE, TRUE, 1); g_signal_connect(button, "clicked", G_CALLBACK(delete_row), view); gtk_box_pack_start(gtk_dialog_get_content_area(GTK_DIALOG(dialog)), hbox, TRUE, TRUE, 1); if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_ACCEPT) { areas = NULL; } else if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &itr)) { char *p; /* 20: U+XXXXXXXX-XXXXXXXX, */ p = areas = g_malloc(20 * gtk_tree_model_iter_n_children(GTK_TREE_MODEL(store), NULL)); do { GValue gval = {0}; const char *str; gtk_tree_model_get_value(GTK_TREE_MODEL(store), &itr, 0, &gval); str = g_value_get_string(&gval); if (str && *str) { if (p > areas) { *(p++) = ','; } strcpy(p, str); p += strlen(p); } else { *p = '\0'; } g_value_unset(&gval); } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(store), &itr)); } else { areas = strdup(""); } gtk_widget_destroy(dialog); return areas; } #else char *mc_get_unicode_areas(char *areas) { GtkWidget *dialog; dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "This dialog requires GTK+-2.14 or later"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); return NULL; } #endif �����������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_geometry.c������������������������������������������������������������0100644�0001760�0000144�00000005214�13210547312�0016755�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_geometry.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_io.h" #if 0 #define __DEBUG #endif #define MC_GEOMETRIES 2 #define MC_GEOMETRY_COLUMNS 0 #define MC_GEOMETRY_ROWS 1 #define MAX_VALUE_LEN 4 #define CHAR_WIDTH 10 /* --- static variables --- */ static char new_values[MC_GEOMETRIES][MAX_VALUE_LEN + 1]; /* 0 - 9999 */ static char old_values[MC_GEOMETRIES][MAX_VALUE_LEN + 1]; /* 0 - 9999 */ static int is_changed; static char *config_keys[MC_GEOMETRIES] = { "cols", "rows", }; static char *labels[MC_GEOMETRIES] = { N_("Columns"), N_("Rows"), }; /* --- static functions --- */ static gint geometry_selected(GtkWidget *widget, gpointer data) { gchar *text; text = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); if (strlen(text) <= MAX_VALUE_LEN) { strcpy(data, text); } g_free(text); return 1; } /* --- global functions --- */ GtkWidget *mc_geometry_config_widget_new(void) { GtkWidget *hbox; GtkWidget *label; GtkWidget *entry; char *value; int count; hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); for (count = 0; count < MC_GEOMETRIES; count++) { label = gtk_label_new(labels[count]); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); value = mc_get_str_value(config_keys[count]); if (strlen(value) <= MAX_VALUE_LEN) { strcpy(new_values[count], value); strcpy(old_values[count], value); } entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(entry), value); gtk_widget_show(entry); free(value); #if GTK_CHECK_VERSION(2, 90, 0) gtk_entry_set_width_chars(GTK_ENTRY(entry), MAX_VALUE_LEN); #else gtk_widget_set_size_request(entry, MAX_VALUE_LEN * CHAR_WIDTH, -1); #endif gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 1); g_signal_connect(entry, "changed", G_CALLBACK(geometry_selected), &new_values[count]); } return hbox; } void mc_update_geometry(void) { if (!is_changed) { int count; for (count = 0; count < MC_GEOMETRIES; count++) { if (strcmp(new_values[count], old_values[count])) { is_changed = 1; break; } } } if (is_changed) { char value[MAX_VALUE_LEN + 1 + MAX_VALUE_LEN + 1]; sprintf(value, "%sx%s", new_values[MC_GEOMETRY_COLUMNS], new_values[MC_GEOMETRY_ROWS]); mc_set_str_value("geometry", value); strcpy(old_values[MC_GEOMETRY_COLUMNS], new_values[MC_GEOMETRY_COLUMNS]); strcpy(old_values[MC_GEOMETRY_ROWS], new_values[MC_GEOMETRY_ROWS]); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/main.c�������������������������������������������������������������������0100644�0001760�0000144�00000060017�13210547312�0015371�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> /* sprintf */ #include <gtk/gtk.h> #include <glib.h> #include <pobl/bl_mem.h> #include <pobl/bl_debug.h> #include <pobl/bl_str.h> #include <c_intl.h> #include "mc_char_encoding.h" #include "mc_auto_detect.h" #include "mc_ctl.h" #include "mc_color.h" #include "mc_bgtype.h" #include "mc_alpha.h" #include "mc_tabsize.h" #include "mc_logsize.h" #include "mc_wordsep.h" #include "mc_font.h" #include "mc_space.h" #include "mc_im.h" #include "mc_sb_view.h" #include "mc_io.h" #include "mc_pty.h" #include "mc_flags.h" #include "mc_ratio.h" #include "mc_radio.h" #include "mc_char_width.h" #include "mc_geometry.h" #include "mc_click.h" #include "mc_opentype.h" #if 0 #define __DEBUG #endif /* --- static functions --- */ #ifdef DEBUG static void check_mem_leak(void) { bl_mem_free_all(); } #endif static void end_application(GtkWidget *widget, gpointer data) { gtk_main_quit(); } /* * ******** procedures when buttons are clicked ******** */ static int update(mc_io_t io) { char *gui = mc_get_gui(); mc_update_char_encoding(); mc_update_auto_detect(); mc_update_color(MC_COLOR_FG); if (mc_is_color_bg()) { mc_update_bgtype(); mc_update_alpha(); } else { /* * alpha must be updated before bgtype because transparent or wall picture * bgtype could change alpha from 255 to 0. */ mc_update_alpha(); mc_update_bgtype(); } mc_update_tabsize(); mc_update_logsize(); mc_update_wordsep(); mc_update_geometry(); mc_update_font_misc(); mc_update_space(MC_SPACE_LINE); mc_update_space(MC_SPACE_LETTER); mc_update_space(MC_SPACE_UNDERLINE); mc_update_space(MC_SPACE_BASELINE); mc_update_ratio(MC_RATIO_SCREEN_WIDTH); mc_update_radio(MC_RADIO_MOD_META_MODE); mc_update_radio(MC_RADIO_BELL_MODE); mc_update_radio(MC_RADIO_LOG_VTSEQ); mc_update_ratio(MC_RATIO_BRIGHTNESS); mc_update_ratio(MC_RATIO_CONTRAST); mc_update_ratio(MC_RATIO_GAMMA); mc_update_ratio(MC_RATIO_FADE); mc_update_im(); mc_update_cursor_color(); mc_update_substitute_color(); mc_update_ctl(); mc_update_char_width(); mc_update_click_interval(); mc_update_opentype(); mc_update_flag_mode(MC_FLAG_COMB); mc_update_flag_mode(MC_FLAG_DYNCOMB); mc_update_flag_mode(MC_FLAG_RECVUCS); if (strcmp(gui, "xlib") == 0) { mc_update_flag_mode(MC_FLAG_CLIPBOARD); } mc_update_flag_mode(MC_FLAG_LOCALECHO); mc_update_flag_mode(MC_FLAG_BLINKCURSOR); mc_update_flag_mode(MC_FLAG_STATICBACKSCROLL); mc_update_flag_mode(MC_FLAG_EXTSCROLLSHORTCUT); mc_update_flag_mode(MC_FLAG_REGARDURIASWORD); mc_update_flag_mode(MC_FLAG_OTLAYOUT); mc_update_radio(MC_RADIO_SB_MODE); if (strcmp(gui, "quartz") != 0) { mc_update_color(MC_COLOR_SBFG); mc_update_color(MC_COLOR_SBBG); mc_update_sb_view_name(); } mc_flush(io); if (io == mc_io_set) { mc_update_font_name(mc_io_set_font); mc_update_vtcolor(mc_io_set_color); } else if (io == mc_io_set_save) { mc_update_font_name(mc_io_set_save_font); mc_update_vtcolor(mc_io_set_save_color); } return 1; } static gint cancel_clicked(GtkWidget *widget, gpointer data) { gtk_main_quit(); return FALSE; } static gint apply_clicked(GtkWidget *widget, gpointer data) { update(mc_io_set); return 1; } static gint saveexit_clicked(GtkWidget *widget, gpointer data) { update(mc_io_set_save); gtk_main_quit(); return 1; } static gint applyexit_clicked(GtkWidget *widget, gpointer data) { update(mc_io_set); gtk_main_quit(); return 1; } static gint larger_clicked(GtkWidget *widget, gpointer data) { mc_set_str_value("fontsize", "larger"); mc_flush(mc_io_set); return 1; } static gint smaller_clicked(GtkWidget *widget, gpointer data) { mc_set_str_value("fontsize", "smaller"); mc_flush(mc_io_set); return 1; } static gint full_reset_clicked(GtkWidget *widget, gpointer data) { mc_exec("full_reset"); return 1; } static gint snapshot_clicked(GtkWidget *widget, gpointer data) { mc_exec("snapshot"); return 1; } #ifdef USE_LIBSSH2 #define MY_RESPONSE_RETURN 1 #define MY_RESPONSE_EXIT 2 #define MY_RESPONSE_SEND 3 #define MY_RESPONSE_RECV 4 static void drag_data_received(GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *data, guint info, guint time) { gchar **uris; gchar *filename; #if GTK_CHECK_VERSION(2, 14, 0) uris = g_uri_list_extract_uris(gtk_selection_data_get_data(data)); #else uris = g_uri_list_extract_uris(data->data); #endif filename = g_filename_from_uri(uris[0], NULL, NULL); gtk_entry_set_text(GTK_ENTRY(widget), filename); g_free(filename); g_strfreev(uris); } static gint ssh_scp_clicked(GtkWidget *widget, gpointer data) { GtkWidget *dialog; GtkWidget *content_area; GtkWidget *hbox; GtkWidget *label; GtkWidget *local_entry; GtkWidget *remote_entry; gint res; GtkTargetEntry local_targets[] = { {"text/uri-list", 0, 0}, }; gtk_widget_hide(gtk_widget_get_toplevel(widget)); dialog = gtk_dialog_new(); gtk_window_set_title(GTK_WINDOW(dialog), "mlconfig"); gtk_dialog_add_button(GTK_DIALOG(dialog), _("Send"), MY_RESPONSE_SEND); gtk_dialog_add_button(GTK_DIALOG(dialog), _("Recv"), MY_RESPONSE_RECV); gtk_dialog_add_button(GTK_DIALOG(dialog), _("Return"), MY_RESPONSE_RETURN); gtk_dialog_add_button(GTK_DIALOG(dialog), _("Exit"), MY_RESPONSE_EXIT); #if GTK_CHECK_VERSION(2, 14, 0) content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); #else content_area = GTK_DIALOG(dialog)->vbox; #endif hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); label = gtk_label_new(_("Local")); gtk_widget_show(label); gtk_widget_set_size_request(label, 70, -1); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 1); local_entry = gtk_entry_new(); gtk_widget_show(local_entry); gtk_widget_set_size_request(local_entry, 280, -1); gtk_drag_dest_set(local_entry, GTK_DEST_DEFAULT_ALL, local_targets, 1, GDK_ACTION_COPY); g_signal_connect(local_entry, "drag-data-received", G_CALLBACK(drag_data_received), NULL); gtk_box_pack_start(GTK_BOX(hbox), local_entry, FALSE, FALSE, 1); gtk_container_add(GTK_CONTAINER(content_area), hbox); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); label = gtk_label_new(_("Remote")); gtk_widget_show(label); gtk_widget_set_size_request(label, 70, -1); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 1); remote_entry = gtk_entry_new(); gtk_widget_show(remote_entry); gtk_widget_set_size_request(remote_entry, 280, -1); gtk_box_pack_start(GTK_BOX(hbox), remote_entry, FALSE, FALSE, 1); gtk_container_add(GTK_CONTAINER(content_area), hbox); while ((res = gtk_dialog_run(GTK_DIALOG(dialog))) >= MY_RESPONSE_SEND) { char *cmd; const gchar *local_path; const gchar *remote_path; local_path = gtk_entry_get_text(GTK_ENTRY(local_entry)); remote_path = gtk_entry_get_text(GTK_ENTRY(remote_entry)); if ((cmd = alloca(28 + strlen(local_path) + strlen(remote_path)))) { char *p; if (res == MY_RESPONSE_SEND) { if (!*local_path) { bl_msg_printf( "Local file path to send " "is not specified.\n"); continue; } sprintf(cmd, "scp \"local:%s\" \"remote:%s\" UTF8", local_path, remote_path); } else /* if( res == MY_RESPONSE_RECV) */ { if (!*remote_path) { bl_msg_printf( "Remote file path to receive " "is not specified.\n"); continue; } sprintf(cmd, "scp \"remote:%s\" \"local:%s\" UTF8", remote_path, local_path); } p = cmd + strlen(cmd) - 2; if (*p == '\\') { /* * Avoid to be parsed as follows. * "local:c:\foo\bar\" => local:c:\foo\bar" */ *(p++) = '\"'; *p = '\0'; } mc_exec(cmd); } } if (res == MY_RESPONSE_EXIT) { gtk_main_quit(); return FALSE; } else /* if( res == MY_RESPONSE_RETURN) */ { gtk_widget_destroy(dialog); gtk_widget_show_all(gtk_widget_get_toplevel(widget)); return TRUE; } } #endif /* USE_LIBSSH2 */ static gint pty_new_button_clicked(GtkWidget *widget, gpointer data) { mc_exec("open_pty"); mc_flush(mc_io_set); gtk_main_quit(); return 1; } static gint pty_button_clicked(GtkWidget *widget, gpointer data) { mc_select_pty(); /* * As soon as pty changed, stdout is also changed, but mlconfig couldn't * follow it. */ gtk_main_quit(); return 1; } static gboolean event(GtkWidget *widget, GdkEvent *event, gpointer data) { if (event->type == GDK_FOCUS_CHANGE && !((GdkEventFocus*)event)->in) { gtk_window_set_keep_above(GTK_WINDOW(widget), FALSE); g_signal_handlers_disconnect_by_func(widget, event, NULL); } return FALSE; } /* * ******** Building GUI (lower part, independent buttons) ******** */ static void addbutton(const char *label, gint(func)(GtkWidget*, gpointer), GtkWidget *box) { GtkWidget *button; button = gtk_button_new_with_label(label); g_signal_connect(button, "clicked", G_CALLBACK(func), NULL); gtk_widget_show(button); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); } static GtkWidget *apply_cancel_button(void) { GtkWidget *hbox; hbox = gtk_hbox_new(FALSE, 5); gtk_widget_show(hbox); addbutton(_("Save&Exit"), saveexit_clicked, hbox); addbutton(_("Apply&Exit"), applyexit_clicked, hbox); addbutton(_("Apply"), apply_clicked, hbox); addbutton(_("Cancel"), cancel_clicked, hbox); return hbox; } static GtkWidget *font_large_small(void) { GtkWidget *frame; GtkWidget *hbox; frame = gtk_frame_new(_("Font size (temporary)")); gtk_widget_show(frame); hbox = gtk_hbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); gtk_widget_show(hbox); gtk_container_add(GTK_CONTAINER(frame), hbox); addbutton(_("Larger"), larger_clicked, hbox); addbutton(_("Smaller"), smaller_clicked, hbox); #if GTK_CHECK_VERSION(2, 12, 0) gtk_widget_set_tooltip_text(frame, "If you change fonts from \"Select\" button in \"Font\" tab, " "it is not recommended to change font size here."); #endif return frame; } static GtkWidget *command(void) { GtkWidget *frame; GtkWidget *hbox; frame = gtk_frame_new(_("Command")); gtk_widget_show(frame); hbox = gtk_hbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); gtk_widget_show(hbox); gtk_container_add(GTK_CONTAINER(frame), hbox); addbutton(_("Full reset"), full_reset_clicked, hbox); addbutton(_("Snapshot"), snapshot_clicked, hbox); #ifdef USE_LIBSSH2 addbutton(_("SCP"), ssh_scp_clicked, hbox); #endif return frame; } static GtkWidget *pty_list(void) { GtkWidget *frame; GtkWidget *hbox; GtkWidget *config_widget; if ((config_widget = mc_pty_config_widget_new()) == NULL) { return NULL; } gtk_widget_show(config_widget); frame = gtk_frame_new(_("PTY List")); gtk_widget_show(frame); hbox = gtk_hbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(hbox), 5); gtk_widget_show(hbox); gtk_container_add(GTK_CONTAINER(frame), hbox); addbutton(_(" New "), pty_new_button_clicked, hbox); addbutton(_("Select"), pty_button_clicked, hbox); gtk_box_pack_start(GTK_BOX(hbox), config_widget, TRUE, TRUE, 0); return frame; } /* * ******** Building GUI (main part, page (tab)-separated widgets) ******** */ static int show(void) { GtkWidget *window; GtkWidget *vbox; GtkWidget *vbox2; GtkWidget *hbox; GtkWidget *notebook; GtkWidget *frame; GtkWidget *label; GtkWidget *config_widget; GtkWidget *separator; char *gui = mc_get_gui(); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(window, "destroy", G_CALLBACK(end_application), NULL); gtk_window_set_title(GTK_WINDOW(window), _("mlterm configuration")); gtk_container_set_border_width(GTK_CONTAINER(window), 0); vbox = gtk_vbox_new(FALSE, 10); gtk_widget_show(vbox); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_container_add(GTK_CONTAINER(window), vbox); /* whole screen (except for the contents of notebook) */ notebook = gtk_notebook_new(); gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_TOP); gtk_widget_show(notebook); gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); separator = gtk_hseparator_new(); gtk_widget_show(separator); gtk_box_pack_start(GTK_BOX(vbox), separator, FALSE, FALSE, 0); hbox = apply_cancel_button(); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); frame = font_large_small(); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 5); frame = command(); gtk_box_pack_start(GTK_BOX(hbox), frame, TRUE, TRUE, 5); frame = pty_list(); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); /* contents of the "Encoding" tab */ label = gtk_label_new(_("Encoding")); gtk_widget_show(label); vbox = gtk_vbox_new(FALSE, 3); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label); gtk_widget_show(vbox); config_widget = mc_char_encoding_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_auto_detect_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_im_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_ctl_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_COMB); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_DYNCOMB); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_RECVUCS); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_opentype_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_char_width_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); /* contents of the "Font" tab */ label = gtk_label_new(_("Font")); gtk_widget_show(label); vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label); gtk_widget_show(vbox); config_widget = mc_font_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); config_widget = mc_space_config_widget_new(MC_SPACE_LINE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_space_config_widget_new(MC_SPACE_LETTER); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_space_config_widget_new(MC_SPACE_UNDERLINE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_space_config_widget_new(MC_SPACE_BASELINE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_ratio_config_widget_new(MC_RATIO_SCREEN_WIDTH); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); /* contents of the "Background" tab */ label = gtk_label_new(_("Background")); gtk_widget_show(label); vbox = gtk_vbox_new(FALSE, 3); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label); gtk_widget_show(vbox); config_widget = mc_bgtype_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); frame = gtk_frame_new(_("Picture/Transparent")); gtk_widget_show(frame); gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0); vbox2 = gtk_vbox_new(FALSE, 3); gtk_widget_show(vbox2); gtk_container_add(GTK_CONTAINER(frame), vbox2); hbox = gtk_hbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); config_widget = mc_ratio_config_widget_new(MC_RATIO_BRIGHTNESS); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_ratio_config_widget_new(MC_RATIO_GAMMA); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 2); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox2), hbox, FALSE, FALSE, 0); config_widget = mc_ratio_config_widget_new(MC_RATIO_CONTRAST); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_alpha_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_ratio_config_widget_new(MC_RATIO_FADE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); /* contents of the "Color" tab */ label = gtk_label_new(_("Color")); gtk_widget_show(label); vbox = gtk_vbox_new(FALSE, 3); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label); gtk_widget_show(vbox); config_widget = mc_cursor_color_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_substitute_color_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_vtcolor_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); /* contents of the "Scrollbar" tab */ label = gtk_label_new(_("Scrollbar")); gtk_widget_show(label); vbox = gtk_vbox_new(FALSE, 3); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label); gtk_widget_show(vbox); config_widget = mc_radio_config_widget_new(MC_RADIO_SB_MODE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); if (strcmp(gui, "quartz") != 0) { config_widget = mc_sb_view_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); config_widget = mc_color_config_widget_new(MC_COLOR_SBFG); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 5); config_widget = mc_color_config_widget_new(MC_COLOR_SBBG); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); } /* contents of the "Others" tab */ label = gtk_label_new(_("Others")); gtk_widget_show(label); vbox = gtk_vbox_new(FALSE, 3); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, label); gtk_widget_show(vbox); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); config_widget = mc_tabsize_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_logsize_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); config_widget = mc_geometry_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_wordsep_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_click_interval_config_widget_new(); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_radio_config_widget_new(MC_RADIO_MOD_META_MODE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_radio_config_widget_new(MC_RADIO_BELL_MODE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_radio_config_widget_new(MC_RADIO_LOG_VTSEQ); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); if (strcmp(gui, "xlib") == 0) { config_widget = mc_flag_config_widget_new(MC_FLAG_CLIPBOARD); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); } config_widget = mc_flag_config_widget_new(MC_FLAG_LOCALECHO); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_BLINKCURSOR); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_STATICBACKSCROLL); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_EXTSCROLLSHORTCUT); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_REGARDURIASWORD); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_BROADCAST); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(hbox), config_widget, FALSE, FALSE, 0); config_widget = mc_flag_config_widget_new(MC_FLAG_TRIMNEWLINE); gtk_widget_show(config_widget); gtk_box_pack_start(GTK_BOX(vbox), config_widget, FALSE, FALSE, 0); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_MOUSE); #if !GTK_CHECK_VERSION(2, 90, 0) gtk_window_set_policy(GTK_WINDOW(window), 0, 0, 0); #endif gtk_widget_show(window); if (strcmp(gui, "win32") == 0 || strcmp(gui, "quartz") == 0) { gtk_window_set_keep_above(GTK_WINDOW(window), TRUE); g_signal_connect(window, "event", G_CALLBACK(event), NULL); } gtk_main(); return 1; } /* --- global functions --- */ int main(int argc, char **argv) { #ifdef DEBUG atexit(check_mem_leak); #endif #if !GTK_CHECK_VERSION(2, 90, 0) gtk_set_locale(); #endif bindtextdomain("mlconfig", LOCALEDIR); bind_textdomain_codeset("mlconfig", "UTF-8"); textdomain("mlconfig"); #ifdef __DEBUG { int count; for (count = 0; count < argc; count++) { fprintf(stderr, "%s\n", argv[count]); } } #endif bl_set_msg_log_file_name("mlterm/msg.log"); gtk_init(&argc, &argv); if (show() == 0) { bl_msg_printf("Starting mlconfig failed.\n"); return 1; } else { return 0; } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_im.c������������������������������������������������������������������0100644�0001760�0000144�00000050771�13210547312�0015537�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_im.h" #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <pobl/bl_file.h> #include <pobl/bl_conf_io.h> #include <pobl/bl_dlfcn.h> #include <pobl/bl_map.h> #include <pobl/bl_str.h> #include <pobl/bl_def.h> /* USE_WIN32API */ #include <glib.h> #include <c_intl.h> #include <dirent.h> #include <im_info.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif #if defined(USE_WIN32API) #define CONFIG_PATH "." #elif defined(SYSCONFDIR) #define CONFIG_PATH SYSCONFDIR #else #define CONFIG_PATH "/etc" #endif #ifndef LIBDIR #define IM_DIR "/usr/local/lib/mlterm/" #else #define IM_DIR LIBDIR "/mlterm/" #endif #define STR_LEN 256 BL_MAP_TYPEDEF(xim_locale, char *, char *); #define IM_MAX 20 typedef enum im_type { IM_NONE = 0, IM_XIM = 1, IM_OTHER = 2, IM_TYPE_MAX = IM_MAX } im_type_t; typedef im_info_t *(*im_get_info_func_t)(char *, char *); /* --- static variables --- */ static im_type_t im_type; static im_type_t cur_im_type; static char **xims; static char **locales; static u_int num_xims; static int is_changed = 0; static char xim_auto_str[STR_LEN] = ""; static char current_locale_str[STR_LEN] = ""; static char selected_xim_name[STR_LEN] = ""; static char selected_xim_locale[STR_LEN] = ""; static im_info_t *im_info_table[IM_MAX]; static u_int num_info = 0; static im_info_t *selected_im = NULL; static int selected_im_arg = -1; static GtkWidget **im_opt_widget; static GtkWidget *skk_dict_entry; static GtkWidget *skk_sskey_entry; static GtkWidget *wnn_serv_entry; /* --- static functions --- */ static int is_im_plugin(char *file_name) { if (bl_dl_is_module(file_name) && strstr(file_name, "im-")) { return 1; } return 0; } #ifdef USE_WIN32API static im_info_t *get_kbd_info(char *locale, char *encoding) { im_info_t *result; if (!(result = malloc(sizeof(im_info_t)))) { return NULL; } result->num_args = 13; if (!(result->args = malloc(sizeof(char *) * result->num_args))) { free(result); return NULL; } if (!(result->readable_args = malloc(sizeof(char *) * result->num_args))) { free(result->args); free(result); return NULL; } result->readable_args[0] = strdup("Unknown"); result->readable_args[1] = strdup("Arabic"); result->readable_args[2] = strdup("Hebrew"); result->readable_args[3] = strdup("Indic (ASSAMESE)"); result->readable_args[4] = strdup("Indic (BENGALI)"); result->readable_args[5] = strdup("Indic (GUJARATI)"); result->readable_args[6] = strdup("Indic (HINDI)"); result->readable_args[7] = strdup("Indic (KANNADA)"); result->readable_args[8] = strdup("Indic (MALAYALAM)"); result->readable_args[9] = strdup("Indic (ORIYA)"); result->readable_args[10] = strdup("Indic (PUNJABI)"); result->readable_args[11] = strdup("Indic (TAMIL)"); result->readable_args[12] = strdup("Indic (TELUGU)"); result->args[0] = strdup(""); result->args[1] = strdup("arabic"); result->args[2] = strdup("hebrew"); result->args[3] = strdup("isciiassamese"); result->args[4] = strdup("isciibengali"); result->args[5] = strdup("isciigujarati"); result->args[6] = strdup("isciihindi"); result->args[7] = strdup("isciikannada"); result->args[8] = strdup("isciimalayalam"); result->args[9] = strdup("isciioriya"); result->args[10] = strdup("isciipunjabi"); result->args[11] = strdup("isciitamil"); result->args[12] = strdup("isciitelugu"); result->id = strdup("kbd"); result->name = strdup("keyboard"); return result; } #endif static int get_im_info(char *locale, char *encoding) { char *im_dir_path; DIR *dir; struct dirent *d; const char *gui; if ((dir = opendir(IM_DIR))) { im_dir_path = IM_DIR; #if 0 } else if ((dir = opendir("."))) { im_dir_path = ""; #endif } else { #ifdef USE_WIN32API if ((im_info_table[num_info] = get_kbd_info(locale, encoding))) { num_info++; return 1; } #endif return 0; } gui = mc_get_gui(); while ((d = readdir(dir))) { im_info_t *info; char symname[100]; char *p; char *end; bl_dl_handle_t handle; if (d->d_name[0] == '.' || !is_im_plugin(d->d_name)) continue; /* libim-foo.so -> libim-foo */ if (!(p = strchr(d->d_name, '.'))) continue; *p = '\0'; /* libim-foo -> im-foo */ if (!(p = strstr(d->d_name, "im-"))) continue; end = p + strlen(p); if (strcmp(gui, "fb") == 0 || strcmp(gui, "console") == 0 || strcmp(gui, "wayland") == 0) { end -= 3; if (strcmp(end, *gui == 'w' ? "-wl" : "-fb") != 0) { continue; } } if ((handle = bl_dl_open(im_dir_path, p))) { im_get_info_func_t func; *end = '\0'; snprintf(symname, 100, "im_%s_get_info", &p[3]); if ((func = (im_get_info_func_t)bl_dl_func_symbol(handle, symname))) { if ((info = (*func)(locale, encoding))) { im_info_table[num_info] = info; num_info++; } } bl_dl_close(handle); } } return 0; } /* * XIM */ static char *get_xim_locale(char *xim) { int count; for (count = 0; count < num_xims; count++) { if (strcmp(xims[count], xim) == 0) { return locales[count]; } } return NULL; } static gint xim_selected(GtkWidget *widget, gpointer data) { char *locale; snprintf(selected_xim_name, STR_LEN, "%s", gtk_entry_get_text(GTK_ENTRY(widget))); if ((locale = get_xim_locale(selected_xim_name))) { gtk_entry_set_text(GTK_ENTRY(data), locale); } else { gtk_entry_set_text(GTK_ENTRY(data), current_locale_str); } snprintf(selected_xim_locale, STR_LEN, "%s", gtk_entry_get_text(GTK_ENTRY(data))); is_changed = 1; return 1; } static int read_xim_conf(BL_MAP(xim_locale) xim_locale_table, char *filename) { bl_file_t *from; char *key; char *value; BL_PAIR(xim_locale) pair; int result; if (!(from = bl_file_open(filename, "r"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return 0; } while (bl_conf_io_read(from, &key, &value)) { bl_map_get(xim_locale_table, key, pair); if (pair) { free(pair->value); pair->value = strdup(value); } else { key = strdup(key); value = strdup(value); bl_map_set(result, xim_locale_table, key, value); } } bl_file_close(from); return 1; } static GtkWidget *xim_widget_new(const char *xim_name, const char *xim_locale, const char *cur_locale) { BL_MAP(xim_locale) xim_locale_table; BL_PAIR(xim_locale) * array; u_int size; char *rcpath; char *default_xim_name; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *entry; GtkWidget *combo; GtkWidget *combo_entry; int count; default_xim_name = mc_get_str_value("default_xim_name"); snprintf(xim_auto_str, STR_LEN, _("auto (currently %s)"), default_xim_name); free(default_xim_name); /* * create known xim list from <prefix>/etc/mlterm/xim and/or * ~/.mlterm/xim. */ bl_map_new_with_size(char *, char *, xim_locale_table, bl_map_hash_str, bl_map_compare_str, 16); bl_set_sys_conf_dir(CONFIG_PATH); if ((rcpath = bl_get_sys_rc_path("mlterm/xim"))) { read_xim_conf(xim_locale_table, rcpath); free(rcpath); } if ((rcpath = bl_get_user_rc_path("mlterm/xim"))) { read_xim_conf(xim_locale_table, rcpath); free(rcpath); } bl_map_get_pairs_array(xim_locale_table, array, size); if ((xims = malloc(sizeof(char *) * (size + 1))) == NULL) return NULL; if ((locales = malloc(sizeof(char *) * (size + 1))) == NULL) { free(xims); return NULL; } for (count = 0; count < size; count++) { xims[count] = array[count]->key; locales[count] = array[count]->value; } xims[count] = xim_auto_str; locales[count] = NULL; num_xims = size + 1; bl_map_delete(xim_locale_table); /* * create widgets */ vbox = gtk_vbox_new(FALSE, 5); snprintf(current_locale_str, STR_LEN, _("auto (currently %s)"), cur_locale); entry = gtk_entry_new(); snprintf(selected_xim_locale, STR_LEN, "%s", xim_locale ? xim_locale : current_locale_str); gtk_entry_set_text(GTK_ENTRY(entry), selected_xim_locale); snprintf(selected_xim_name, STR_LEN, "%s", xim_name ? xim_name : xim_auto_str); combo = mc_combo_new(_("XIM Server"), xims, num_xims, selected_xim_name, 0, &combo_entry); g_signal_connect(combo_entry, "changed", G_CALLBACK(xim_selected), entry); label = gtk_label_new(_("XIM locale")); hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), combo, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); gtk_widget_show(combo); gtk_widget_show(entry); gtk_widget_show(label); gtk_widget_show(hbox); return vbox; } /* * pluggable ims */ static gint im_selected(GtkWidget *widget, gpointer data) { const char *str; int i; if (selected_im == NULL) return 1; str = (const char *)gtk_entry_get_text(GTK_ENTRY(widget)); for (i = 0; i < selected_im->num_args; i++) if (strcmp(selected_im->readable_args[i], str) == 0) selected_im_arg = i; is_changed = 1; return 1; } static GtkWidget *im_widget_new(int nth_im, const char *value, char *locale) { GtkWidget *combo; GtkWidget *entry; im_info_t *info; int i; int selected = 0; size_t len; info = im_info_table[nth_im]; if (value) { for (i = 1; i < info->num_args; i++) { if (strcmp(info->args[i], value) == 0) { selected = i; } } } if (!info->num_args) return NULL; if (!value || (value && selected)) { char *auto_str; /* * replace gettextized string */ len = strlen(_("auto (currently %s)")) + strlen(info->readable_args[0]) + 1; if ((auto_str = malloc(len))) { snprintf(auto_str, len, _("auto (currently %s)"), info->readable_args[0]); free(info->readable_args[0]); info->readable_args[0] = auto_str; } } else { free(info->readable_args[0]); info->readable_args[0] = strdup(value); } combo = mc_combo_new(_("Option"), info->readable_args, info->num_args, info->readable_args[selected], 1, &entry); g_signal_connect(entry, "changed", G_CALLBACK(im_selected), NULL); return combo; } static gint entry_selected(GtkWidget *widget, gpointer data) { is_changed = 1; return 1; } static GtkWidget *entry_with_label_new(GtkWidget *parent, const char *text, const char *value) { GtkWidget *hbox; GtkWidget *label; GtkWidget *entry; hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(parent), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); label = gtk_label_new(text); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); gtk_widget_show(label); entry = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(entry), value); g_signal_connect(entry, "changed", G_CALLBACK(entry_selected), entry); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); gtk_widget_show(entry); return entry; } static GtkWidget *combo_with_label_new(GtkWidget *parent, const char *label_name, char **item_names, u_int item_num, const char *value) { GtkWidget *hbox; GtkWidget *combo; GtkWidget *entry; hbox = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(parent), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); combo = mc_combo_new(label_name, item_names, item_num, value, 0, &entry); gtk_box_pack_start(GTK_BOX(hbox), combo, TRUE, TRUE, 0); gtk_widget_show(combo); g_signal_connect(entry, "changed", G_CALLBACK(entry_selected), entry); return entry; } static GtkWidget *skk_widget_new(char *value) { GtkWidget *vbox; char *dict = NULL; char *sskey = NULL; char buf[2]; char *cands[] = { ";", ":", "Muhenkan", "Henkan", }; /* Same processing as im_skk_new() in im_skk.c */ if (value) { #if 1 /* XXX Compat with 3.8.3 or before. */ if (!strchr(value, '=')) { dict = value; } else #endif { char *next; do { if ((next = strchr(value, ','))) { *(next++) = '\0'; } if (strncmp(value, "sskey=", 6) == 0) { int digit; sskey = value + 6; if (sscanf(sskey, "\\x%x", &digit) == 1) { buf[0] = digit; buf[1] = '\0'; sskey = buf; } } else if (strncmp(value, "dict=", 5) == 0) { dict = value + 5; } } while ((value = next)); } } vbox = gtk_vbox_new(FALSE, 5); skk_dict_entry = entry_with_label_new(vbox, _("Dictionary"), dict ? dict : ""); skk_sskey_entry = combo_with_label_new(vbox, _("Sticky shift key"), cands, sizeof(cands) / sizeof(cands[0]), sskey ? sskey : ""); return vbox; } static char *skk_current_value(void) { const char *dict; const char *sskey; size_t len = 4; char *value; char *p; dict = gtk_entry_get_text(GTK_ENTRY(skk_dict_entry)); if (*dict) { len += (strlen(dict) + 5 + 1); } sskey = gtk_entry_get_text(GTK_ENTRY(skk_sskey_entry)); if (*sskey) { len += (strlen(sskey) + 6 + 1); } value = p = malloc(len); strcpy(p, "skk"); p += 3; if (*dict) { sprintf(p, ":dict=%s", dict); p += strlen(p); } if (*sskey) { char sep = *dict ? ',' : ':'; if (strlen(sskey) == 1) { sprintf(p, "%csskey=\\x%.2x", sep, *sskey); } else { sprintf(p, "%csskey=%s", sep, sskey); } } return value; } static GtkWidget *wnn_widget_new(char *value) { GtkWidget *vbox; vbox = gtk_vbox_new(FALSE, 5); wnn_serv_entry = entry_with_label_new(vbox, _("Server"), value); return vbox; } static char *wnn_current_value(void) { const char *serv; size_t len = 4; char *value; serv = gtk_entry_get_text(GTK_ENTRY(wnn_serv_entry)); if (*serv) { len += (strlen(serv) + 1); } value = malloc(len); if (*serv) { sprintf(value, "wnn:%s", serv); } else { strcpy(value, "wnn"); } return value; } /* * callbacks for radio buttons of im type. */ static gint button_xim_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { if (data) gtk_widget_show(GTK_WIDGET(data)); im_type = IM_XIM; } else { if (data) gtk_widget_hide(GTK_WIDGET(data)); } is_changed = 1; return 1; } static gint button_im_checked(GtkWidget *widget, gpointer data) { int i; int idx = 0; if (data == NULL || num_info == 0) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { im_type = IM_NONE; } } else { for (i = 0; i < num_info; i++) if (im_info_table[i] == data) idx = i; if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { im_type = IM_OTHER + idx; selected_im = data; if (im_opt_widget[idx]) gtk_widget_show(GTK_WIDGET(im_opt_widget[idx])); } else { if (im_opt_widget[idx]) gtk_widget_hide(GTK_WIDGET(im_opt_widget[idx])); } } is_changed = 1; return 1; } /* --- global functions --- */ GtkWidget *mc_im_config_widget_new(void) { char *cur_locale = NULL; char *encoding = NULL; char *xim_name = NULL; char *xim_locale = NULL; char *value; char *im_name; int i; int index = -1; GtkWidget *xim; GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *radio; GSList *group; cur_locale = mc_get_str_value("locale"); encoding = mc_get_str_value("encoding"); get_im_info(cur_locale, encoding); value = mc_get_str_value("input_method"); im_name = bl_str_sep(&value, ":"); im_type = IM_NONE; if (strncmp(im_name, "xim", 3) == 0) { im_type = IM_XIM; xim_name = bl_str_sep(&value, ":"); xim_locale = bl_str_sep(&value, ":"); } else if (strncmp(im_name, "none", 4) == 0) { /* do nothing */ } else { for (i = 0; i < num_info; i++) { if (strcmp(im_name, im_info_table[i]->id) == 0) { index = i; im_type = IM_OTHER + i; break; } } } cur_im_type = im_type; if (strcmp(mc_get_gui(), "xlib") != 0) { xim = NULL; } else { xim = xim_widget_new(xim_name, xim_locale, cur_locale); } im_opt_widget = malloc(sizeof(GtkWidget*) * num_info); for (i = 0; i < num_info; i++) { if (strcmp(im_info_table[i]->id, "skk") == 0) im_opt_widget[i] = skk_widget_new(index == i ? value : ""); else if (strcmp(im_info_table[i]->id, "wnn") == 0) im_opt_widget[i] = wnn_widget_new(index == i ? value : ""); else im_opt_widget[i] = im_widget_new(i, index == i ? value : NULL, cur_locale); } free(cur_locale); free(encoding); free(im_name); frame = gtk_frame_new(_("Input Method")); vbox = gtk_vbox_new(FALSE, 5); gtk_widget_show(vbox); hbox = gtk_hbox_new(FALSE, 5); radio = gtk_radio_button_new_with_label(NULL, xim ? "XIM" : "Default"); g_signal_connect(radio, "toggled", G_CALLBACK(button_xim_checked), xim); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); if (im_type == IM_XIM) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); for (i = 0; i < num_info; i++) { group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); radio = gtk_radio_button_new_with_label(group, im_info_table[i]->name); g_signal_connect(radio, "toggled", G_CALLBACK(button_im_checked), im_info_table[i]); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); if (index == i) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); } if (strcmp(mc_get_gui(), "xlib") == 0) { group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); radio = gtk_radio_button_new_with_label(group, _("None")); g_signal_connect(radio, "toggled", G_CALLBACK(button_im_checked), NULL); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); if (im_type == IM_NONE) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); } gtk_widget_show(GTK_WIDGET(hbox)); gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, TRUE, 0); switch (im_type) { case IM_XIM: if (xim) gtk_widget_show(xim); for (i = 0; i < num_info; i++) if (im_opt_widget[i]) gtk_widget_hide(im_opt_widget[i]); break; case IM_NONE: if (xim) gtk_widget_hide(xim); for (i = 0; i < num_info; i++) if (im_opt_widget[i]) gtk_widget_hide(im_opt_widget[i]); break; default: /* OTHER */ if (xim) gtk_widget_hide(xim); for (i = 0; i < num_info; i++) { if (!im_opt_widget[i]) continue; if (i == index) gtk_widget_show(im_opt_widget[i]); else gtk_widget_hide(im_opt_widget[i]); } break; } if (xim) gtk_box_pack_start(GTK_BOX(vbox), xim, TRUE, TRUE, 0); for (i = 0; i < num_info; i++) if (im_opt_widget[i]) gtk_box_pack_start(GTK_BOX(vbox), im_opt_widget[i], TRUE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_container_add(GTK_CONTAINER(frame), vbox); is_changed = 0; return frame; } void mc_update_im(void) { char *p; size_t len; if (!is_changed) return; if (strcmp(selected_im->id, "skk") == 0) { p = skk_current_value(); goto end; } else if (strcmp(selected_im->id, "wnn") == 0) { p = wnn_current_value(); goto end; } if (im_type == cur_im_type && selected_im_arg == -1) { is_changed = 0; return; } if (selected_im_arg == -1) { is_changed = 0; selected_im_arg = 0; } switch (im_type) { case IM_XIM: if (strcmp(selected_xim_name, xim_auto_str) == 0) { p = strdup("xim"); } else if (strcmp(selected_xim_locale, current_locale_str) == 0) { len = 3 + 1 + strlen(selected_xim_name) + 1; if (!(p = malloc(sizeof(char) * len))) return; sprintf(p, "xim:%s", selected_xim_name); } else { len = 3 + 1 + strlen(selected_xim_name) + 1 + strlen(selected_xim_locale) + 1; if (!(p = malloc(sizeof(char) * len))) return; sprintf(p, "xim:%s:%s", selected_xim_name, selected_xim_locale); } break; case IM_NONE: p = strdup("none"); break; /* case IM_OTHER: */ default: if (selected_im == NULL) return; if (selected_im_arg == 0) { /* auto */ p = strdup(selected_im->id); } else { len = strlen(selected_im->id) + strlen(selected_im->args[selected_im_arg]) + 2; if (!(p = malloc(len))) return; sprintf(p, "%s:%s", selected_im->id, selected_im->args[selected_im_arg]); } break; } end: mc_set_str_value("input_method", p); selected_im_arg = -1; cur_im_type = im_type; is_changed = 0; free(p); } �������mlterm-3.8.4/tool/mlconfig/mc_sb_view.h�������������������������������������������������������������0100644�0001760�0000144�00000000347�13210547312�0016567�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_SB_VIEW_H__ #define __MC_SB_VIEW_H__ #include <gtk/gtk.h> GtkWidget *mc_sb_view_config_widget_new(void); void mc_update_sb_view_name(void); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_radio.c���������������������������������������������������������������0100644�0001760�0000144�00000013621�13210547312�0016221�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_radio.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static int new_values[MC_RADIOS]; static int old_values[MC_RADIOS]; static int is_changed[MC_RADIOS]; static void (*funcs[MC_RADIOS])(void); static char *config_keys[MC_RADIOS] = { "mod_meta_mode", "bel_mode", "scrollbar_mode", "vertical_mode", "box_drawing_font", "font_policy", "logging_vt_seq", }; static char *config_values[MC_RADIOS][4] = { { "none", "esc", "8bit", NULL, }, { "none", "sound", "visual", "sound|visual", }, { "none", "left", "right", "autohide", }, { "none", "cjk", "mongol", NULL, }, { "noconv", "unicode", "decsp", NULL, }, { "noconv", "unicode", "nounicode", NULL, }, { "no", "raw", "ttyrec", }, }; static char *labels[MC_RADIOS][5] = { { N_("Meta key outputs"), N_("None"), N_("Esc"), N_("8bit"), NULL, }, { N_("Bell mode"), N_("None"), N_("Sound"), N_("Visual"), N_("Both"), }, { N_("Position"), N_("None"), N_("Left"), N_("Right"), N_("Auto hide"), }, { N_("Vertical mode"), N_("None"), N_("CJK"), N_("Mongol"), NULL, }, { N_("Box drawing"), N_("As it is"), N_("Unicode"), N_("DEC Special"), NULL, }, { N_("Font policy"), N_("As it is"), N_("Always unicode"), N_("Never unicode"), NULL, }, { N_("Save log"), N_("No"), N_("Raw format"), N_("Ttyrec format"), NULL, }, }; /* --- static functions --- */ static void update_value(int *data, int num) { int id; id = data - new_values; *data = num; if (funcs[id]) { (*funcs[id])(); } } static gint button1_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { update_value(data, 0); } return 1; } static gint button2_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { update_value(data, 1); } return 1; } static gint button3_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { update_value(data, 2); } return 1; } static gint button4_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { update_value(data, 3); } return 1; } /* --- global functions --- */ GtkWidget *mc_radio_config_widget_new(int id) { GtkWidget *label; GtkWidget *hbox; GtkWidget *radio; GSList *group; char *value; value = mc_get_str_value(config_keys[id]); hbox = gtk_hbox_new(FALSE, 0); label = gtk_label_new(_(labels[id][0])); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); group = NULL; radio = gtk_radio_button_new_with_label(group, _(labels[id][1])); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button1_checked), &new_values[id]); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, TRUE, FALSE, 0); if (strcmp(value, config_values[id][0]) == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); new_values[id] = old_values[id] = 0; } radio = gtk_radio_button_new_with_label(group, _(labels[id][2])); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button2_checked), &new_values[id]); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, TRUE, FALSE, 0); if (strcmp(value, config_values[id][1]) == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); new_values[id] = old_values[id] = 1; } radio = gtk_radio_button_new_with_label(group, _(labels[id][3])); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button3_checked), &new_values[id]); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, TRUE, FALSE, 0); if (strcmp(value, config_values[id][2]) == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); new_values[id] = old_values[id] = 2; } if (config_values[id][3]) { radio = gtk_radio_button_new_with_label(group, _(labels[id][4])); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button4_checked), &new_values[id]); gtk_widget_show(GTK_WIDGET(radio)); gtk_box_pack_start(GTK_BOX(hbox), radio, TRUE, FALSE, 0); if (strcmp(value, config_values[id][3]) == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); new_values[id] = old_values[id] = 3; } } #if GTK_CHECK_VERSION(2, 12, 0) if (id == MC_RADIO_LOG_VTSEQ) { char *pty; if ((pty = mc_get_str_value("pty_name"))) { char *p; char *msg; for (p = pty; *p; p++) { if (*p == '/') { *p = '_'; } } /* 35 is "You can do 'ttyplay ~/.mlterm/.log'" */ if (strcmp(pty, "error") != 0 && (msg = malloc(35 + strlen(pty + 5) + 1))) { sprintf(msg, "Log VT sequence in ~/.mlterm/%s.log", pty + 5); gtk_widget_set_tooltip_text(label, msg); sprintf(msg, "You can do \'ttyplay ~/.mlterm/%s.log\'", pty + 5); gtk_widget_set_tooltip_text(radio, msg); free(msg); } free(pty); } } #endif return hbox; } void mc_update_radio(int id) { if (new_values[id] != old_values[id]) { is_changed[id] = 1; } if (is_changed[id]) { mc_set_str_value(config_keys[id], config_values[id][new_values[id]]); old_values[id] = new_values[id]; } } int mc_radio_get_value(int id) { return new_values[id]; } void mc_radio_set_callback(int id, void (*func)(void)) { funcs[id] = func; } ���������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_bgtype.c��������������������������������������������������������������0100644�0001760�0000144�00000011553�13210547312�0016417�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_bgtype.h" #include <glib.h> #include <c_intl.h> #include "mc_color.h" #include "mc_wall_pic.h" #include "mc_io.h" #if 0 #define __DEBUG #endif #define MC_BG_TRANSPARENT 0 #define MC_BG_WALLPICTURE 1 #define MC_BG_COLOR 2 /* --- static variables --- */ static int bgtype; static int is_changed; static GtkWidget *bg_color; static GtkWidget *wall_picture; /* --- static functions --- */ static int get_bgtype(void) { char *val; if (mc_get_flag_value("use_transbg")) return MC_BG_TRANSPARENT; else if ((val = mc_get_str_value("wall_picture")) && *val != '\0') return MC_BG_WALLPICTURE; else return MC_BG_COLOR; } static void set_sensitive(void) { if (bgtype == MC_BG_COLOR) { gtk_widget_set_sensitive(bg_color, 1); gtk_widget_set_sensitive(wall_picture, 0); } else if (bgtype == MC_BG_WALLPICTURE) { gtk_widget_set_sensitive(bg_color, 0); gtk_widget_set_sensitive(wall_picture, 1); } else { gtk_widget_set_sensitive(bg_color, 0); gtk_widget_set_sensitive(wall_picture, 0); } } static gint button_color_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { bgtype = MC_BG_COLOR; is_changed = 1; set_sensitive(); } return 1; } static gint button_transparent_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { bgtype = MC_BG_TRANSPARENT; is_changed = 1; set_sensitive(); } return 1; } static gint button_picture_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { bgtype = MC_BG_WALLPICTURE; is_changed = 1; set_sensitive(); } return 1; } /* --- global functions --- */ GtkWidget *mc_bgtype_config_widget_new(void) { GtkWidget *frame; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *radio; GSList *group; bgtype = get_bgtype(); bg_color = mc_color_config_widget_new(MC_COLOR_BG); gtk_widget_show(bg_color); wall_picture = mc_wall_pic_config_widget_new(); gtk_widget_show(wall_picture); group = NULL; frame = gtk_frame_new(_("Background type")); vbox = gtk_vbox_new(TRUE, 2); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); /* color button */ radio = gtk_radio_button_new_with_label(group, _("Color")); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button_color_checked), NULL); gtk_widget_show(GTK_WIDGET(radio)); if (bgtype == MC_BG_COLOR) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); hbox = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), bg_color, TRUE, TRUE, 0); /* picture button */ radio = gtk_radio_button_new_with_label(group, _("Picture")); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button_picture_checked), NULL); gtk_widget_show(GTK_WIDGET(radio)); if (bgtype == MC_BG_WALLPICTURE) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); hbox = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), wall_picture, TRUE, TRUE, 0); /* transparent button */ radio = gtk_radio_button_new_with_label(group, _("Pseudo transparent")); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radio)); g_signal_connect(radio, "toggled", G_CALLBACK(button_transparent_checked), NULL); gtk_widget_show(GTK_WIDGET(radio)); if (bgtype == MC_BG_TRANSPARENT) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio), TRUE); #if GTK_CHECK_VERSION(2, 12, 0) gtk_widget_set_tooltip_text(radio, "If you want true translucence, toggle this " "button off and start mlterm with depth=32."); #endif hbox = gtk_hbox_new(FALSE, 2); gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), radio, FALSE, FALSE, 0); set_sensitive(); return frame; } void mc_update_bgtype(void) { if (bgtype == MC_BG_COLOR) { if (is_changed) { mc_set_flag_value("use_transbg", 0); mc_wall_pic_none(); } mc_update_color(MC_COLOR_BG); } else if (bgtype == MC_BG_WALLPICTURE) { if (is_changed) { mc_set_flag_value("use_transbg", 0); } mc_update_wall_pic(); } else if (bgtype == MC_BG_TRANSPARENT) { if (is_changed) { mc_set_flag_value("use_transbg", 1); mc_wall_pic_none(); } } } int mc_is_color_bg(void) { return bgtype == MC_BG_COLOR; } �����������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_font.h����������������������������������������������������������������0100644�0001760�0000144�00000000426�13210547312�0016075�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_FONT_H__ #define __MC_FONT_H__ #include <gtk/gtk.h> #include "mc_io.h" GtkWidget *mc_font_config_widget_new(void); void mc_update_font_misc(void); void mc_update_font_name(mc_io_t io); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_ctl.c�����������������������������������������������������������������0100644�0001760�0000144�00000004252�13210547312�0015705�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_ctl.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_io.h" #include "mc_flags.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static GtkWidget *entry; static char *old_bidisep; static int is_changed; /* --- static funcitons --- */ static void set_str_value(const char *value) { char *replaced; if ((replaced = bl_str_replace(value, "\\", "\\\\"))) { value = replaced; } mc_set_str_value("bidi_separators", value); free(replaced); } static gint toggled(GtkWidget *widget, gpointer data) { gtk_widget_set_sensitive(entry, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))); return 1; } /* --- global functions --- */ GtkWidget *mc_ctl_config_widget_new(void) { GtkWidget *hbox; GtkWidget *check; GtkWidget *label; hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); check = mc_flag_config_widget_new(MC_FLAG_CTL); gtk_widget_show(check); gtk_box_pack_start(GTK_BOX(hbox), check, FALSE, FALSE, 0); g_signal_connect(check, "toggled", G_CALLBACK(toggled), NULL); label = gtk_label_new(_("Bidi separators")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); entry = gtk_entry_new(); gtk_widget_set_size_request(entry, 50, -1); old_bidisep = mc_get_str_value("bidi_separators"); gtk_entry_set_text(GTK_ENTRY(entry), old_bidisep); gtk_widget_show(entry); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 1); #if GTK_CHECK_VERSION(2, 12, 0) gtk_widget_set_tooltip_text(entry, "Separator characters (ASCII only) to reorder " "every separated area by bidi algorithm " "respectively."); #endif return hbox; } void mc_update_ctl(void) { const char *new_bidisep; mc_update_flag_mode(MC_FLAG_CTL); new_bidisep = gtk_entry_get_text(GTK_ENTRY(entry)); if (strcmp(new_bidisep, old_bidisep)) { is_changed = 1; } if (is_changed) { free(old_bidisep); set_str_value((old_bidisep = strdup(new_bidisep))); } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/Makefile.in��������������������������������������������������������������0100644�0001760�0000144�00000005120�13210547312�0016340�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ libdir = @libdir@ libexecdir = @libexecdir@ sysconfdir = @sysconfdir@ datadir = @datadir@ VPATH = ${top_srcdir}/tool/mlconfig CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBEXECDIR = $(DESTDIR)$(libexecdir)/mlterm LIBEXECDIR_win32 = $(DESTDIR)$(bindir) LPOBL = @LPOBL@ # XDATADIR is to avoid conflicting with DATADIR structure in w32api/objidl.h. CFLAGS = $(CFLAGS_LOCAL) @GTK_CFLAGS@ @IMAGELIB_CFLAGS@ @DEB_CFLAGS@ \ @POBL_CFLAGS@ @GUI_CFLAGS@ @SSH2_CFLAGS@ @CFLAGS@ @CPPFLAGS@ \ -I${top_srcdir}/xwindow -I${top_srcdir}/vtemu \ -I${top_builddir}/common -I${top_srcdir}/common \ -I${top_srcdir}/inputmethod \ -I/usr/local/include \ -DSYSCONFDIR=\"$(sysconfdir)\" -DLOCALEDIR=\"$(datadir)/locale\" \ -DXDATADIR=\"$(datadir)\" -DLIBDIR=\"$(libdir)\" LIBS1 = $(LIBS_LOCAL) @INTL_LIBS@ @DL_SELF@ @DL_LIBS_IM@ @GTK_LIBS@ # -lX11 is for http://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking LIBS2_xlib = $(LPOBL) -lX11 -L/usr/local/lib -R/usr/local/lib LIBS2_wayland = $(LPOBL) # mlconfig is statically linked with libpobl. # Then it works if installed libpobl.dll is compiled with USE_WIN32API or not. LIBS2_win32 = -mwindows ${top_builddir}/kllib/src/.libs/libpobl.a LIBS2_quartz = $(LPOBL) LIBS = $(LIBS1) $(LIBS2_@GUI@) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) PACKAGE = @PACKAGE@ VERSION = @VERSION@ OBJ = main.o mc_combo.o mc_char_encoding.o mc_im.o mc_tabsize.o mc_logsize.o \ mc_font.o mc_color.o mc_radio.o mc_space.o mc_alpha.o mc_ctl.o \ mc_sb_view.o mc_wall_pic.o mc_bgtype.o mc_io.o mc_pty.o mc_char_width.o \ mc_flags.o mc_auto_detect.o mc_ratio.o mc_wordsep.o mc_unicode_areas.o \ mc_geometry.o mc_click.o mc_opentype.o @XLFDSEL_OBJ@ LPOBL_DEB=-lpobl_deb all: mlconfig debug: $(MAKE) LPOBL="$(LPOBL_DEB)" all mlconfig: $(OBJ) $(LIBTOOL_LINK) $(OBJ) $(CFLAGS) -o mlconfig $(LIBS) # "cd po" must be enclosed by () because it may not return # to the $(top_builddir)/tool/mlconfig at the next line. (cd po ; $(MAKE) update-gmo) # cd po ; $(MAKE) update-po .c.o: $(CC) $(DEFS) $(CFLAGS) -c $< install: $(LIBEXECDIR@WIN32TAG@) $(LIBTOOL_INSTALL) -m 755 mlconfig $(LIBEXECDIR@WIN32TAG@) cd po ; $(MAKE) install uninstall: rm -f $(LIBEXECDIR@WIN32TAG@)/mlconfig cd po ; $(MAKE) uninstall $(LIBEXECDIR@WIN32TAG@): mkdir -p $(LIBEXECDIR@WIN32TAG@) clean: rm -rf $(OBJ) mlconfig mlconfig.exe *.core .libs cd po ; $(MAKE) clean distclean: clean rm -f Makefile cd po ; $(MAKE) maintainer-clean ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/gtkxlfdsel.h�������������������������������������������������������������0100644�0001760�0000144�00000025252�13210547312�0016623�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * * GtkFontSelection widget for Gtk+, by Damon Chaplin, May 1998. * Based on the GnomeFontSelector widget, by Elliot Lee, but major changes. * The GnomeFontSelector was derived from app/text_tool.c in the GIMP. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ /* * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ /* * Modified by Araki Ken(arakiken@users.sf.net). * GtkFontSelection => GtkXlfdSelection */ #ifndef __GTK_XLFDSEL_H__ #define __GTK_XLFDSEL_H__ #include <gdk/gdk.h> #include <gtk/gtkwindow.h> #include <gtk/gtknotebook.h> #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #define GTK_TYPE_XLFD_SELECTION (gtk_xlfd_selection_get_type ()) #define GTK_XLFD_SELECTION(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_XLFD_SELECTION, GtkXlfdSelection)) #define GTK_XLFD_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_XLFD_SELECTION, GtkXlfdSelectionClass)) #define GTK_IS_XLFD_SELECTION(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_XLFD_SELECTION)) #define GTK_IS_XLFD_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XLFD_SELECTION)) #define GTK_TYPE_XLFD_SELECTION_DIALOG (gtk_xlfd_selection_dialog_get_type ()) #define GTK_XLFD_SELECTION_DIALOG(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_XLFD_SELECTION_DIALOG, GtkXlfdSelectionDialog)) #define GTK_XLFD_SELECTION_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_XLFD_SELECTION_DIALOG, GtkXlfdSelectionDialogClass)) #define GTK_IS_XLFD_SELECTION_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_XLFD_SELECTION_DIALOG)) #define GTK_IS_XLFD_SELECTION_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XLFD_SELECTION_DIALOG)) typedef struct _GtkXlfdSelection GtkXlfdSelection; typedef struct _GtkXlfdSelectionClass GtkXlfdSelectionClass; typedef struct _GtkXlfdSelectionDialog GtkXlfdSelectionDialog; typedef struct _GtkXlfdSelectionDialogClass GtkXlfdSelectionDialogClass; /* This is the number of properties which we keep in the properties array, i.e. Weight, Slant, Set Width, Spacing, Charset & Foundry. */ #define GTK_NUM_FONT_PROPERTIES 6 /* This is the number of properties each style has i.e. Weight, Slant, Set Width, Spacing & Charset. Note that Foundry is not included, since it is the same for all styles of the same FontInfo. */ #define GTK_NUM_STYLE_PROPERTIES 5 /* Used to determine whether we are using point or pixel sizes. */ typedef enum { GTK_XLFD_METRIC_PIXELS, GTK_XLFD_METRIC_POINTS } GtkXlfdMetricType; /* Used for determining the type of a font style, and also for setting filters. These can be combined if a style has bitmaps and scalable fonts available.*/ typedef enum { GTK_XLFD_BITMAP = 1 << 0, GTK_XLFD_SCALABLE = 1 << 1, GTK_XLFD_SCALABLE_BITMAP = 1 << 2, GTK_XLFD_ALL = 0x07 } GtkXlfdType; /* These are the two types of filter available - base and user. The base filter is set by the application and can't be changed by the user. */ #define GTK_NUM_FONT_FILTERS 2 typedef enum { GTK_XLFD_FILTER_BASE, GTK_XLFD_FILTER_USER } GtkXlfdFilterType; /* These hold the arrays of current filter settings for each property. If nfilters is 0 then all values of the property are OK. If not the filters array contains the indexes of the valid property values. */ typedef struct _GtkXlfdFilter GtkXlfdFilter; struct _GtkXlfdFilter { gint font_type; guint16 *property_filters[GTK_NUM_FONT_PROPERTIES]; guint16 property_nfilters[GTK_NUM_FONT_PROPERTIES]; }; struct _GtkXlfdSelection { GtkNotebook notebook; /* These are on the font page. */ GtkWidget *main_vbox; GtkWidget *font_label; GtkWidget *font_entry; GtkWidget *font_clist; GtkWidget *font_style_entry; GtkWidget *font_style_clist; GtkWidget *size_entry; GtkWidget *size_clist; GtkWidget *pixels_button; GtkWidget *points_button; GtkWidget *filter_button; GtkWidget *preview_entry; GtkWidget *message_label; /* These are on the font info page. */ GtkWidget *info_vbox; GtkWidget *info_clist; GtkWidget *requested_font_name; GtkWidget *actual_font_name; /* These are on the filter page. */ GtkWidget *filter_vbox; GtkWidget *type_bitmaps_button; GtkWidget *type_scalable_button; GtkWidget *type_scaled_bitmaps_button; GtkWidget *filter_clists[GTK_NUM_FONT_PROPERTIES]; GdkFont *font; gint font_index; gint style; GtkXlfdMetricType metric; /* The size is either in pixels or deci-points, depending on the metric. */ gint size; /* This is the last size explicitly selected. When the user selects different fonts we try to find the nearest size to this. */ gint selected_size; /* These are the current property settings. They are indexes into the strings in the GtkXlfdSelInfo properties array. */ guint16 property_values[GTK_NUM_STYLE_PROPERTIES]; /* These are the base and user font filters. */ GtkXlfdFilter filters[GTK_NUM_FONT_FILTERS]; }; struct _GtkXlfdSelectionClass { GtkNotebookClass parent_class; }; struct _GtkXlfdSelectionDialog { GtkWindow window; GtkWidget *fontsel; GtkWidget *main_vbox; GtkWidget *action_area; GtkWidget *ok_button; /* The 'Apply' button is not shown by default but you can show/hide it. */ GtkWidget *apply_button; GtkWidget *cancel_button; /* If the user changes the width of the dialog, we turn auto-shrink off. */ gint dialog_width; gboolean auto_resize; }; struct _GtkXlfdSelectionDialogClass { GtkWindowClass parent_class; }; /***************************************************************************** * GtkXlfdSelection functions. * see the comments in the GtkXlfdSelectionDialog functions. *****************************************************************************/ GtkType gtk_xlfd_selection_get_type (void); GtkWidget *gtk_xlfd_selection_new (void); gchar* gtk_xlfd_selection_get_font_name (GtkXlfdSelection *fontsel); GdkFont* gtk_xlfd_selection_get_font (GtkXlfdSelection *fontsel); gboolean gtk_xlfd_selection_set_font_name (GtkXlfdSelection *fontsel, const gchar *fontname); void gtk_xlfd_selection_set_filter (GtkXlfdSelection *fontsel, GtkXlfdFilterType filter_type, GtkXlfdType font_type, gchar **foundries, gchar **weights, gchar **slants, gchar **setwidths, gchar **spacings, gchar **charsets); gchar* gtk_xlfd_selection_get_preview_text (GtkXlfdSelection *fontsel); void gtk_xlfd_selection_set_preview_text (GtkXlfdSelection *fontsel, const gchar *text); /***************************************************************************** * GtkXlfdSelectionDialog functions. * most of these functions simply call the corresponding function in the * GtkXlfdSelection. *****************************************************************************/ guint gtk_xlfd_selection_dialog_get_type (void); GtkWidget *gtk_xlfd_selection_dialog_new (const gchar *title); /* This returns the X Logical Font Description fontname, or NULL if no font is selected. Note that there is a slight possibility that the font might not have been loaded OK. You should call gtk_xlfd_selection_dialog_get_font() to see if it has been loaded OK. You should g_free() the returned font name after you're done with it. */ gchar* gtk_xlfd_selection_dialog_get_font_name (GtkXlfdSelectionDialog *fsd); /* This will return the current GdkFont, or NULL if none is selected or there was a problem loading it. Remember to use gdk_font_ref/unref() if you want to use the font (in a style, for example). */ GdkFont *gtk_xlfd_selection_dialog_get_font (GtkXlfdSelectionDialog *fsd); /* This sets the currently displayed font. It should be a valid X Logical Font Description font name (anything else will be ignored), e.g. "-adobe-courier-bold-o-normal--25-*-*-*-*-*-*-*" It returns TRUE on success. */ gboolean gtk_xlfd_selection_dialog_set_font_name (GtkXlfdSelectionDialog *fsd, const gchar *fontname); /* This sets one of the font filters, to limit the fonts shown. The filter_type is GTK_XLFD_FILTER_BASE or GTK_XLFD_FILTER_USER. The font type is a combination of the bit flags GTK_XLFD_BITMAP, GTK_XLFD_SCALABLE and GTK_XLFD_SCALABLE_BITMAP (or GTK_XLFD_ALL for all font types). The foundries, weights etc. are arrays of strings containing property values, e.g. 'bold', 'demibold', and *MUST* finish with a NULL. Standard long names are also accepted, e.g. 'italic' instead of 'i'. e.g. to allow only fixed-width fonts ('char cell' or 'monospaced') to be selected use: gchar *spacings[] = { "c", "m", NULL }; gtk_xlfd_selection_dialog_set_filter (GTK_XLFD_SELECTION_DIALOG (fontsel), GTK_XLFD_FILTER_BASE, GTK_XLFD_ALL, NULL, NULL, NULL, NULL, spacings, NULL); to allow only true scalable fonts to be selected use: gtk_xlfd_selection_dialog_set_filter (GTK_XLFD_SELECTION_DIALOG (fontsel), GTK_XLFD_FILTER_BASE, GTK_XLFD_SCALABLE, NULL, NULL, NULL, NULL, NULL, NULL); */ void gtk_xlfd_selection_dialog_set_filter (GtkXlfdSelectionDialog *fsd, GtkXlfdFilterType filter_type, GtkXlfdType font_type, gchar **foundries, gchar **weights, gchar **slants, gchar **setwidths, gchar **spacings, gchar **charsets); /* This returns the text in the preview entry. You should copy the returned text if you need it. */ gchar* gtk_xlfd_selection_dialog_get_preview_text (GtkXlfdSelectionDialog *fsd); /* This sets the text in the preview entry. It will be copied by the entry, so there's no need to g_strdup() it first. */ void gtk_xlfd_selection_dialog_set_preview_text (GtkXlfdSelectionDialog *fsd, const gchar *text); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GTK_XLFDSEL_H__ */ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_color.h���������������������������������������������������������������0100644�0001760�0000144�00000001442�13210547312�0016244�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_COLOR_H__ #define __MC_COLOR_H__ #include <gtk/gtk.h> #include "mc_io.h" #define MC_COLOR_MODES 11 #define MC_COLOR_FG 0 #define MC_COLOR_BG 1 #define MC_COLOR_SBFG 2 #define MC_COLOR_SBBG 3 #define MC_COLOR_CURSOR_FG 4 #define MC_COLOR_CURSOR_BG 5 #define MC_COLOR_BD 6 #define MC_COLOR_IT 7 #define MC_COLOR_UL 8 #define MC_COLOR_BL 9 #define MC_COLOR_CO 10 GtkWidget *mc_color_config_widget_new(int id); GtkWidget *mc_cursor_color_config_widget_new(void); GtkWidget *mc_substitute_color_config_widget_new(void); GtkWidget *mc_vtcolor_config_widget_new(void); void mc_update_color(int id); void mc_update_cursor_color(void); void mc_update_substitute_color(void); void mc_update_vtcolor(mc_io_t io); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_pty.h�����������������������������������������������������������������0100644�0001760�0000144�00000000322�13210547312�0015736�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_PTY_H__ #define __MC_PTY_H__ #include <gtk/gtk.h> GtkWidget *mc_pty_config_widget_new(void); void mc_select_pty(void); #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_char_width.c����������������������������������������������������������0100644�0001760�0000144�00000003615�13210547312�0017241�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_char_width.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_unicode_areas.h" #include "mc_flags.h" #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *full_width_areas; /* --- static functions --- */ static void edit_full_width_areas(GtkWidget *widget, gpointer data) { char *cur_areas; char *new_areas; if (full_width_areas) { cur_areas = strdup(full_width_areas); } else { cur_areas = mc_get_str_value("unicode_full_width_areas"); } if ((new_areas = mc_get_unicode_areas(cur_areas)) && bl_compare_str(full_width_areas, new_areas) != 0) { free(full_width_areas); full_width_areas = new_areas; } free(cur_areas); } /* --- global functions --- */ GtkWidget *mc_char_width_config_widget_new(void) { GtkWidget *hbox; GtkWidget *vbox; GtkWidget *widget; vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); widget = mc_flag_config_widget_new(MC_FLAG_AWIDTH); gtk_widget_show(widget); gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0); widget = mc_flag_config_widget_new(MC_FLAG_MCOL); gtk_widget_show(widget); gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0); widget = gtk_button_new_with_label(_("Set full width\nareas manually")); gtk_widget_show(widget); gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 4); g_signal_connect(widget, "clicked", G_CALLBACK(edit_full_width_areas), NULL); return hbox; } void mc_update_char_width(void) { mc_update_flag_mode(MC_FLAG_MCOL); mc_update_flag_mode(MC_FLAG_AWIDTH); if (full_width_areas) { mc_set_str_value("unicode_full_width_areas", full_width_areas); } } �������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_io.c������������������������������������������������������������������0100644�0001760�0000144�00000013040�13210547312�0015525�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_io.h" #include <stdio.h> #include <pobl/bl_mem.h> /* malloc */ #include <pobl/bl_unistd.h> /* STDIN_FILENO */ #include <pobl/bl_debug.h> #include <pobl/bl_str.h> #include <pobl/bl_def.h> /* USE_WIN32API */ /* --- static variables --- */ static char *message; static const char *gui; /* --- static functions --- */ static int append_value(const char *key, const char *value) { if (message == NULL) { if ((message = malloc(strlen(key) + 1 + strlen(value) + 1)) == NULL) { return 0; } sprintf(message, "%s=%s", key, value); } else { void *p; int len; len = strlen(message); if ((p = realloc(message, len + 1 + strlen(key) + 1 + strlen(value) + 1)) == NULL) { return 0; } message = p; sprintf(message + len, ";%s=%s", key, value); } return 1; } static char *get_value(const char *key, mc_io_t io) { #define RET_SIZE 1024 int count; char ret[RET_SIZE]; char c; char *p; printf("\x1b]%d;%s\x07", io, key); fflush(stdout); for (count = 0; count < RET_SIZE; count++) { if (read(STDIN_FILENO, &c, 1) == 1) { if (c != '\n') { ret[count] = c; } else { break; } } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " %s return from mlterm is illegal.\n", key); #endif return NULL; } } if (count == RET_SIZE) return NULL; ret[count] = '\0'; p = strchr(ret, '='); if (p == NULL || strcmp(ret, "#error") == 0) return NULL; /* #key=value */ return strdup(p + 1); #undef RET_SIZE } /* --- global functions --- */ int mc_exec(const char *cmd) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s\n", cmd); #endif printf("\x1b]%d;%s\x07", mc_io_exec, cmd); fflush(stdout); return 1; } int mc_set_str_value(const char *key, const char *value) { if (value == NULL) { return 0; } if (strcmp(key, "font_policy") == 0) { if (strcmp(value, "unicode") == 0) { return mc_set_flag_value("only_use_unicode_font", 1); } else if (strcmp(value, "nounicode") == 0) { return mc_set_flag_value("not_use_unicode_font", 1); } else { return mc_set_flag_value("only_use_unicode_font", 0) && mc_set_flag_value("not_use_unicode_font", 0); } } else if (strcmp(key, "logging_vt_seq") == 0) { if (strcmp(key, "no") == 0) { return mc_set_flag_value("logging_vt_seq", 0); } else { return mc_set_flag_value("logging_vt_seq", 1) && mc_set_str_value("vt_seq_format", value); } } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s=%s\n", key, value); #endif return append_value(key, value); } int mc_set_flag_value(const char *key, int flag_val) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s=%s\n", key, value); #endif return append_value(key, (flag_val ? "true" : "false")); } int mc_flush(mc_io_t io) { char *chal; if (message == NULL) { return 1; } if (io == mc_io_set_save && (chal = get_value("challenge", mc_io_get))) { printf("\x1b]%d;%s;%s\x07", io, chal, message); } else { printf("\x1b]%d;%s\x07", io, message); } fflush(stdout); #if 0 fprintf(stderr, "%s\n", message); #endif free(message); message = NULL; return 1; } char *mc_get_str_value(const char *key) { char *value; if (strcmp(key, "font_policy") == 0) { if (mc_get_flag_value("only_use_unicode_font")) { return strdup("unicode"); } else if (mc_get_flag_value("not_use_unicode_font")) { return strdup("nounicode"); } else { return strdup("noconv"); } } else if (strcmp(key, "logging_vt_seq") == 0) { if (mc_get_flag_value("logging_vt_seq")) { return mc_get_str_value("vt_seq_format"); } else { return strdup("no"); } } if ((value = get_value(key, mc_io_get)) == NULL) { return strdup("error"); } else { return value; } } int mc_get_flag_value(const char *key) { char *value; if ((value = get_value(key, mc_io_get)) == NULL) { return 0; } if (strcmp(value, "true") == 0) { free(value); return 1; } else { free(value); return 0; } } const char *mc_get_gui(void) { if (!gui && !(gui = get_value("gui", mc_io_get))) { return "xlib"; } return gui; } int mc_set_font_name(mc_io_t io, const char *file, const char *cs, const char *font_name) { char *chal; if (io == mc_io_set_save_font && (chal = get_value("challenge", mc_io_get))) { printf("\x1b]%d;%s;%s:%s=%s\x07", io, chal, file, cs, font_name); } else { printf("\x1b]%d;%s:%s=%s\x07", io, file, cs, font_name); } fflush(stdout); return 1; } char *mc_get_font_name(const char *file, const char *cs) { size_t len; char *value; char *key; len = strlen(cs) + 1; if (file) { len += (strlen(file) + 2); } if ((key = alloca(len))) { sprintf(key, "%s%s%s", file ? file : "", file ? ":" : "", cs); if ((value = get_value(key, mc_io_get_font))) { return value; } } return strdup("error"); } int mc_set_color_name(mc_io_t io, const char *color, const char *value) { char *chal; if (io == mc_io_set_save_font && (chal = get_value("challenge", mc_io_get))) { printf("\x1b]%d;%s;color:%s=%s\x07", io, chal, color, value); } else { printf("\x1b]%d;color:%s=%s\x07", io, color, value); } fflush(stdout); return 1; } char *mc_get_color_name(const char *color) { char *key; char *value; if ((key = alloca(6 + strlen(color) + 1))) { sprintf(key, "color:%s", color); if ((value = get_value(key, mc_io_get_color))) { return value; } } return strdup("error"); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_wordsep.c�������������������������������������������������������������0100644�0001760�0000144�00000006355�13210547312�0016614�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_wordsep.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_io.h" #if 0 #define __DEBUG #endif #define CHAR_WIDTH 10 /* --- static variables --- */ static GtkWidget *entry; static char *old_wordsep; static int is_changed; /* --- static funcitons --- */ static void set_str_value(const char *value) { size_t len; if ((len = strlen(value)) > 0) { char *value2; char *p; if (len < 3 && strchr(value, ' ')) { /* len must be more than 2 to hold ' ' between other characters. */ if ((value2 = alloca(4))) { value = strcpy(value2, value); for (; len < 3; len++) { value2[len] = '\xff'; } value2[len] = '\0'; } else { return; } } if (((*value == ' ' && strchr(value + 1, ' ') == NULL) || (value[len - 1] == ' ' && strchr(value, ' ') == value + len - 1)) && (value2 = alloca(len + 1))) { /* Hold ' ' between other characters. */ if (*value == ' ') { value2[0] = value[1]; value2[1] = value[0]; strcpy(value2 + 2, value + 2); } else { strncpy(value2, value, len - 2); value2[len - 1] = value[len - 2]; value2[len - 2] = value[len - 1]; value2[len] = '\0'; } value = value2; } /* ';' => \x3b */ if ((p = strchr(value, ';'))) { if ((value2 = alloca(len + 3 + 1))) { strncpy(value2, value, p - value); strcpy(value2 + (p - value), "\\x3b"); strcpy(value2 + (p - value) + 4, p + 1); p = value2 + (p - value) + 4; while ((p = strchr(p, ';'))) { memmove(p, p + 1, strlen(p + 1)); p++; } value = value2; } } } mc_set_str_value("word_separators", value); } static char *remove_ff_mark(char *value) { size_t len; if ((len = strlen(value)) > 0) { if (*value == '\xff') { memmove(value, value + 1, --len); } if (value[len - 1] == '\xff') { value[len - 1] = '\0'; } } return value; } /* --- global functions --- */ GtkWidget *mc_wordsep_config_widget_new(void) { GtkWidget *hbox; GtkWidget *label; hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); label = gtk_label_new(_("Word separators")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); entry = gtk_entry_new(); old_wordsep = remove_ff_mark(mc_get_str_value("word_separators")); gtk_entry_set_text(GTK_ENTRY(entry), old_wordsep); gtk_widget_show(entry); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 1); #if GTK_CHECK_VERSION(2, 90, 0) gtk_entry_set_width_chars(GTK_ENTRY(entry), 10); #else gtk_widget_set_size_request(entry, 10 * CHAR_WIDTH, -1); #endif #if GTK_CHECK_VERSION(2, 12, 0) gtk_widget_set_tooltip_text(entry, "ASCII characters only"); #endif return hbox; } void mc_update_wordsep(void) { const char *new_wordsep; new_wordsep = gtk_entry_get_text(GTK_ENTRY(entry)); if (strcmp(new_wordsep, old_wordsep)) { is_changed = 1; } if (is_changed) { free(old_wordsep); set_str_value((old_wordsep = strdup(new_wordsep))); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_wall_pic.h������������������������������������������������������������0100644�0001760�0000144�00000000404�13210547312�0016715�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_WALL_PIC_H__ #define __MC_WALL_PIC_H__ #include <gtk/gtk.h> GtkWidget *mc_wall_pic_config_widget_new(void); void mc_update_wall_pic(void); void mc_wall_pic_none(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_flags.c���������������������������������������������������������������0100644�0001760�0000144�00000006536�13210547312�0016226�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_flags.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <glib.h> #include <c_intl.h> #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static int old_flag_modes[MC_FLAG_MODES]; static int new_flag_modes[MC_FLAG_MODES]; static int is_changed[MC_FLAG_MODES]; static char *config_keys[MC_FLAG_MODES] = { "type_engine", "type_engine", "use_anti_alias", "use_variable_column_width", "use_combining", "use_dynamic_comb", "receive_string_via_ucs", "use_multi_column_char", "use_ctl", "col_size_of_width_a", "use_clipboard", "use_local_echo", "blink_cursor", "static_backscroll_mode", "use_extended_scroll_shortcut", "regard_uri_as_word", "use_ot_layout", "trim_trailing_newline_in_pasting", "broadcast", }; static char *labels[MC_FLAG_MODES] = { N_("Xft"), N_("Cairo"), N_("Anti Alias"), N_("Variable column width"), N_("Combining"), N_("Combining = 1 (or 0) logical column(s)"), N_("Process received strings via Unicode"), N_("Fullwidth = 2 (or 1) logical column(s)"), N_("Complex Text Layout"), N_("Ambiguouswidth = fullwidth"), N_("CLIPBOARD Selection"), N_("Local echo"), N_("Blink cursor"), N_("Don't scroll automatically in scrolling back"), N_("Scroll by Shift+Up or Shift+Down"), N_("Select URI by double click"), N_("OpenType Layout"), N_("Trim trailing CR/LF in pasting"), N_("Send keys to all windows"), }; static GtkWidget *widgets[MC_FLAG_MODES]; /* --- global functions --- */ GtkWidget *mc_flag_config_widget_new(int id) { if (id == MC_FLAG_XFT) { old_flag_modes[id] = new_flag_modes[id] = (strcmp(mc_get_str_value(config_keys[id]), "xft") == 0); } else if (id == MC_FLAG_CAIRO) { old_flag_modes[id] = new_flag_modes[id] = (strcmp(mc_get_str_value(config_keys[id]), "cairo") == 0); } else if (id == MC_FLAG_AWIDTH) { old_flag_modes[id] = new_flag_modes[id] = (strcmp(mc_get_str_value(config_keys[id]), "2") == 0); } else { old_flag_modes[id] = new_flag_modes[id] = mc_get_flag_value(config_keys[id]); } widgets[id] = gtk_check_button_new_with_label(_(labels[id])); if (old_flag_modes[id]) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets[id]), TRUE); } return widgets[id]; } void mc_update_flag_mode(int id) { new_flag_modes[id] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets[id])); if (old_flag_modes[id] != new_flag_modes[id]) { is_changed[id] = 1; } if (is_changed[id]) { if (id == MC_FLAG_XFT) { if (new_flag_modes[id]) { mc_set_str_value(config_keys[id], "xft"); } else if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets[MC_FLAG_CAIRO]))) { mc_set_str_value(config_keys[id], "xcore"); } } else if (id == MC_FLAG_CAIRO) { if (new_flag_modes[id]) { mc_set_str_value(config_keys[id], "cairo"); } else if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets[MC_FLAG_XFT]))) { mc_set_str_value(config_keys[id], "xcore"); } } else if (id == MC_FLAG_AWIDTH) { if (new_flag_modes[id]) { mc_set_str_value(config_keys[id], "2"); } else { mc_set_str_value(config_keys[id], "1"); } } else { mc_set_flag_value(config_keys[id], new_flag_modes[id]); } old_flag_modes[id] = new_flag_modes[id]; } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_auto_detect.h���������������������������������������������������������0100644�0001760�0000144�00000000362�13210547312�0017426�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_AUTO_DETECT_H__ #define __MC_AUTO_DETECT_H__ #include <gtk/gtk.h> GtkWidget *mc_auto_detect_config_widget_new(void); void mc_update_auto_detect(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_wordsep.h�������������������������������������������������������������0100644�0001760�0000144�00000000342�13210547312�0016607�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_WORDSEP_H__ #define __MC_WORDSEP_H__ #include <gtk/gtk.h> GtkWidget *mc_wordsep_config_widget_new(void); void mc_update_wordsep(void); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_im.h������������������������������������������������������������������0100644�0001760�0000144�00000000316�13210547312�0015532�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_IM_H__ #define __MC_IM_H__ #include <gtk/gtk.h> GtkWidget *mc_im_config_widget_new(void); void mc_update_im(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_space.c���������������������������������������������������������������0100644�0001760�0000144�00000004407�13210547312�0016220�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_space.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif #define MAX_VALUE_LEN 2 /* --- static variables --- */ static char new_values[MC_SPACES][MAX_VALUE_LEN + 1]; /* -9...99 */ static char old_values[MC_SPACES][MAX_VALUE_LEN + 1]; /* -9...99 */ static int is_changed[MC_SPACES]; static char *config_keys[MC_SPACES] = { "line_space", "letter_space", "baseline_offset", "underline_offset", }; static char *labels[MC_SPACES] = { N_("Line space (pixels)"), N_("Letter space (pixels)"), N_("Baseline position (pixels)"), N_("Underline position (pixels)"), }; /* --- static functions --- */ static gint space_selected(GtkWidget *widget, gpointer data) { gchar *text; text = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); if (strlen(text) <= MAX_VALUE_LEN) { strcpy(data, text); } g_free(text); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s space is selected.\n", text); #endif return 1; } /* --- global functions --- */ GtkWidget *mc_space_config_widget_new(int id) { char *value; GtkWidget *combo; GtkWidget *entry; char *spaces[] = { "3", "2", "1", "0", "-1", "-2", }; char *spaces2[] = { "5", "4", "3", "2", "1", "0", }; value = mc_get_str_value(config_keys[id]); if (strlen(value) <= MAX_VALUE_LEN) { strcpy(new_values[id], value); strcpy(old_values[id], value); } free(value); if (id == MC_SPACE_LETTER) { combo = mc_combo_new_with_width(_(labels[id]), spaces2, sizeof(spaces2) / sizeof(spaces2[0]), new_values[id], 0, 20, &entry); } else { combo = mc_combo_new_with_width(_(labels[id]), spaces, sizeof(spaces) / sizeof(spaces[0]), new_values[id], 0, 20, &entry); } g_signal_connect(entry, "changed", G_CALLBACK(space_selected), &new_values[id]); return combo; } void mc_update_space(int id) { if (strcmp(new_values[id], old_values[id])) { is_changed[id] = 1; } if (is_changed[id]) { mc_set_str_value(config_keys[id], new_values[id]); strcpy(old_values[id], new_values[id]); } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_sb_view.c�������������������������������������������������������������0100644�0001760�0000144�00000005701�13210547312�0016561�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_sb_view.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <pobl/bl_conf_io.h> #include <glib.h> #include <c_intl.h> #include <pobl/bl_types.h> #include <dirent.h> #include "mc_combo.h" #include "mc_io.h" #ifndef XDATADIR #define SB_DIR "/usr/local/share/mlterm/scrollbars" #else #define SB_DIR XDATADIR "/mlterm/scrollbars" #endif #define MAX_SCROLLBARS 100 #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *new_sb_view_name = NULL; static char *old_sb_view_name = NULL; static int is_changed; /* --- static functions --- */ static gint sb_view_name_selected(GtkWidget *widget, gpointer data) { free(new_sb_view_name); new_sb_view_name = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s sb_view_name is selected.\n", new_sb_view_name); #endif return 1; } static int has_rc_file(char *dirname, char *sbdirname) { DIR *d; struct dirent *e; char path[PATH_MAX]; int result = 0; snprintf(path, PATH_MAX, "%s/%s", dirname, sbdirname); if (!(d = opendir(path))) return 0; while ((e = readdir(d))) { if (strcmp("rc", e->d_name) == 0) { result = 1; break; } } closedir(d); return result; } static int read_sb_names(char *dirname, char **sbnames, int n) { int n0, j; DIR *d; struct dirent *e; d = opendir(dirname); if (!d) return n; n0 = n; while (n < MAX_SCROLLBARS) { ignore: e = readdir(d); if (!e) break; if (e->d_name[0] == '.' || !has_rc_file(dirname, e->d_name)) continue; sbnames[n] = strdup(e->d_name); if (!sbnames[n]) break; for (j = 0; j < n0; j++) { if (!strcmp(sbnames[n], sbnames[j])) goto ignore; } n++; } closedir(d); return n; } /* --- global functions --- */ GtkWidget *mc_sb_view_config_widget_new(void) { char *sb_view0[] = {"simple", "sample", "sample3", "athena", "motif", "mozmodern", "next"}; char *sb_view_names[MAX_SCROLLBARS]; char *userdir; int n; GtkWidget *combo; GtkWidget *entry; for (n = 0; n < sizeof(sb_view0) / sizeof(sb_view0[0]); n++) { sb_view_names[n] = sb_view0[n]; } userdir = bl_get_user_rc_path("mlterm/scrollbars"); if (userdir) { n = read_sb_names(userdir, sb_view_names, n); free(userdir); } n = read_sb_names(SB_DIR, sb_view_names, n); new_sb_view_name = strdup(old_sb_view_name = mc_get_str_value("scrollbar_view_name")); is_changed = 0; combo = mc_combo_new(_("View"), sb_view_names, n, new_sb_view_name, 0, &entry); g_signal_connect(entry, "changed", G_CALLBACK(sb_view_name_selected), NULL); return combo; } void mc_update_sb_view_name(void) { if (strcmp(new_sb_view_name, old_sb_view_name)) is_changed = 1; if (is_changed) { mc_set_str_value("scrollbar_view_name", new_sb_view_name); free(old_sb_view_name); old_sb_view_name = strdup(new_sb_view_name); } } ���������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_wall_pic.c������������������������������������������������������������0100644�0001760�0000144�00000004346�13210547312�0016721�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_wall_pic.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <glib.h> #include <c_intl.h> #include "mc_io.h" /* --- static functions --- */ static GtkWidget *entry; static char *old_wall_pic = NULL; static int is_changed; /* --- static functions --- */ static gint button_clicked(GtkWidget *widget, gpointer data) { GtkWidget *dialog; dialog = gtk_file_chooser_dialog_new("Wall Paper", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { gchar *filename; filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); gtk_entry_set_text(GTK_ENTRY(entry), filename); g_free(filename); } gtk_widget_destroy(dialog); return TRUE; } /* --- global functions --- */ GtkWidget *mc_wall_pic_config_widget_new(void) { GtkWidget *hbox; GtkWidget *button; char *wall_pic; wall_pic = mc_get_str_value("wall_picture"); hbox = gtk_hbox_new(FALSE, 0); #if 0 label = gtk_label_new(_("Picture")); gtk_widget_show(label); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); #endif entry = gtk_entry_new(); gtk_widget_show(entry); gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 2); gtk_entry_set_text(GTK_ENTRY(entry), wall_pic); button = gtk_button_new_with_label(_("Select")); gtk_widget_show(button); g_signal_connect(button, "clicked", G_CALLBACK(button_clicked), NULL); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); old_wall_pic = wall_pic; is_changed = 0; return hbox; } void mc_update_wall_pic(void) { char *new_wall_pic; new_wall_pic = gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1); if (strcmp(old_wall_pic, new_wall_pic) != 0) is_changed = 1; if (is_changed) { mc_set_str_value("wall_picture", new_wall_pic); g_free(old_wall_pic); old_wall_pic = new_wall_pic; } else { g_free(new_wall_pic); } } void mc_wall_pic_none(void) { g_free(old_wall_pic); old_wall_pic = strdup(""); mc_set_str_value("wall_picture", ""); } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_tabsize.h�������������������������������������������������������������0100644�0001760�0000144�00000000342�13210547312�0016565�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_TABSIZE_H__ #define __MC_TABSIZE_H__ #include <gtk/gtk.h> GtkWidget *mc_tabsize_config_widget_new(void); void mc_update_tabsize(void); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_opentype.c������������������������������������������������������������0100644�0001760�0000144�00000021724�13210547312�0016771�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_unicode_areas.h" #include <string.h> #include <gtk/gtk.h> #include <glib.h> #include <c_intl.h> #include <pobl/bl_mem.h> #include <pobl/bl_str.h> /* bl_str_sep */ #include "mc_io.h" #include "mc_flags.h" #if GTK_CHECK_VERSION(2, 14, 0) #define FEATURE_LEN 4 #define SCRIPT_LEN 4 /* --- static variables --- */ static char *features; static char *script; static GtkWidget *features_button; static GtkWidget *script_button; /* --- static functions --- */ static char *ascii_strcasestr(const char *str1 /* separated by ',' */, const char *str2 /* 4 bytes/Lower case */) { const char *p1 = str1; const char *p2 = str2; while (1) { if ((*p1|0x20) == *p2) { if (*(++p2) == '\0') { return p1 - 3; } if (*(++p1) == '\0') { return NULL; } } else { do { if (*p1 == '\0') { return NULL; } } while (*(p1++) != ','); p2 = str2; } } } static int contains(char *values, char *value) { char *p; if ((p = ascii_strcasestr(values, value))) { if (p == values || *(p - 1) == ',') { p += strlen(value); if (*p == '\0' || *p == ',') { return 1; } } } return 0; } static void edit_features(GtkWidget *widget, gpointer data) { static char *features_tbl[] = { "c2pc", "c2sc", "calt", "case", "clig", "cpsp", "cswh", "dlig", "expt", "frac", "fwid", "halt", "hist", "hkna", "hlig", "hngl", "hojo", "hwid", "ital", "jp04", "jp78", "jp83", "jp90", "liga", "lnum", "mgrk", "nlck", "onum", "ordn", "palt", "pcap", "pkna", "pnum", "pwid", "qwid", "ruby", "sinf", "smcp", "smpl", "ss01", "ss02", "ss03", "ss04", "ss05", "ss06", "ss07", "ss08", "ss09", "ss10", "ss11", "ss12", "ss13", "ss14", "ss15", "ss16", "ss17", "ss18", "ss19", "ss20", "subs", "sups", "swsh", "titl", "tnam", "tnum", "trad", "twid", "unic", "valt", "vert", "vhal", "vkna", "vpal", "vrt2", "zero", }; GtkWidget *buttons[sizeof(features_tbl) / sizeof(features_tbl[0])]; GtkWidget *dialog; GtkWidget *vbox; GtkWidget *hbox; u_int count; char *value; if (features) { value = strdup(features); } else { value = mc_get_str_value("ot_features"); } dialog = gtk_dialog_new_with_buttons(_("Select opentype features"), NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_box_pack_start(gtk_dialog_get_content_area(GTK_DIALOG(dialog)), vbox, FALSE, FALSE, 0); for (count = 0; count < sizeof(features_tbl) / sizeof(features_tbl[0]); count++) { if (count % 8 == 0) { hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(vbox, hbox, FALSE, FALSE, 0); } buttons[count] = gtk_check_button_new_with_label(features_tbl[count]); if (contains(value, features_tbl[count])) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(buttons[count]), TRUE); } gtk_widget_show(buttons[count]); gtk_box_pack_start(hbox, buttons[count], FALSE, FALSE, 0); } if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char *new_value; if ((new_value = malloc((FEATURE_LEN + 1) * (sizeof(features_tbl) / sizeof(features_tbl[0]))))) { char *p = new_value; for (count = 0; count < sizeof(features_tbl) / sizeof(features_tbl[0]); count++) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(buttons[count]))) { strcpy(p, features_tbl[count]); p += FEATURE_LEN; *(p++) = ','; } } if (p != new_value) { p--; } *p = '\0'; } if (g_ascii_strcasecmp(value, new_value) != 0) { free(features); features = new_value; } else { free(new_value); } } free(value); gtk_widget_destroy(dialog); } static void edit_script(GtkWidget *widget, gpointer data) { static char *scripts_tbl[] = { "zyyy", "zinh", "zzzz", "arab", "armn", "beng", "cyrl", "deva", "geor", "grek", "gujr", "guru", "hang", "hani", "hebr", "hira", "knda", "kana", "laoo", "latn", "mlym", "orya", "taml", "telu", "thai", "tibt", "bopo", "brai", "cans", "cher", "ethi", "khmr", "mong", "mymr", "ogam", "runr", "sinh", "syrc", "thaa", "yiii", "dsrt", "goth", "ital", "buhd", "hano", "tglg", "tagb", "cprt", "limb", "linb", "osma", "shaw", "tale", "ugar", "bugi", "copt", "glag", "khar", "talu", "xpeo", "sylo", "tfng", "bali", "xsux", "nkoo", "phag", "phnx", "cari", "cham", "kali", "lepc", "lyci", "lydi", "olck", "rjng", "saur", "sund", "vaii", "avst", "bamu", "egyp", "armi", "phli", "prti", "java", "kthi", "lisu", "mtei", "sarb", "orkh", "samr", "lana", "tavt", "batk", "brah", "mand", "cakm", "merc", "mero", "plrd", "shrd", "sora", "takr", "bass", "aghb", "dupl", "elba", "gran", "khoj", "sind", "lina", "mahj", "mani", "mend", "modi", "mroo", "nbat", "narb", "perm", "hmng", "palm", "pauc", "phlp", "sidd", "tirh", "wara", "ahom", "hluw", "hatr", "mult", "hung", "sgnw", }; GtkWidget *buttons[sizeof(scripts_tbl) / sizeof(scripts_tbl[0])]; GtkWidget *dialog; GtkWidget *vbox; GtkWidget *hbox; GtkWidget *group = NULL; u_int count; char *value; if (script) { value = strdup(script); } else { value = mc_get_str_value("ot_script"); } dialog = gtk_dialog_new_with_buttons(_("Select opentype scripts"), NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); gtk_box_pack_start(gtk_dialog_get_content_area(GTK_DIALOG(dialog)), vbox, FALSE, FALSE, 0); for (count = 0; count < sizeof(scripts_tbl) / sizeof(scripts_tbl[0]); count++) { if (count % 8 == 0) { hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); gtk_box_pack_start(vbox, hbox, FALSE, FALSE, 0); } buttons[count] = gtk_radio_button_new_with_label(group, scripts_tbl[count]); group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(buttons[count])); if (g_ascii_strcasecmp(value, scripts_tbl[count]) == 0) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(buttons[count]), TRUE); } gtk_widget_show(buttons[count]); gtk_box_pack_start(hbox, buttons[count], FALSE, FALSE, 0); } if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char *new_value; if ((new_value = malloc(SCRIPT_LEN + 1))) { for (count = 0; count < sizeof(scripts_tbl) / sizeof(scripts_tbl[0]); count++) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(buttons[count]))) { strcpy(new_value, scripts_tbl[count]); break; } } } if (g_ascii_strcasecmp(value, new_value) != 0) { free(script); script = new_value; } else { free(new_value); } } free(value); gtk_widget_destroy(dialog); } static gint button_checked(GtkWidget *widget, gpointer data) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) { gtk_widget_set_sensitive(features_button, 1); gtk_widget_set_sensitive(script_button, 1); } else { gtk_widget_set_sensitive(features_button, 0); gtk_widget_set_sensitive(script_button, 0); } return 1; } /* --- global functions --- */ GtkWidget *mc_opentype_config_widget_new(void) { GtkWidget *hbox; GtkWidget *widget; hbox = gtk_hbox_new(FALSE, 0); gtk_widget_show(hbox); widget = mc_flag_config_widget_new(MC_FLAG_OTLAYOUT); gtk_widget_show(widget); gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0); g_signal_connect(widget, "toggled", G_CALLBACK(button_checked), NULL); features_button = gtk_button_new_with_label(_("Features")); gtk_widget_show(features_button); gtk_box_pack_start(GTK_BOX(hbox), features_button, FALSE, FALSE, 4); g_signal_connect(features_button, "clicked", G_CALLBACK(edit_features), NULL); script_button = gtk_button_new_with_label(_("Script")); gtk_widget_show(script_button); gtk_box_pack_start(GTK_BOX(hbox), script_button, FALSE, FALSE, 4); g_signal_connect(script_button, "clicked", G_CALLBACK(edit_script), NULL); button_checked(widget, NULL); return hbox; } void mc_update_opentype(void) { if (features) { mc_set_str_value("ot_features", features); } if (script) { mc_set_str_value("ot_script", script); } } #else char *mc_opentype_dialog(void) { GtkWidget *dialog; dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "This dialog requires GTK+-2.14 or later"); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); return ""; } void mc_update_opentype(void) { } #endif ��������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_click.h���������������������������������������������������������������0100644�0001760�0000144�00000000354�13210547312�0016214�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_CLICK_H__ #define __MC_CLICK_H__ #include <gtk/gtk.h> GtkWidget *mc_click_interval_config_widget_new(void); void mc_update_click_interval(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_click.c���������������������������������������������������������������0100644�0001760�0000144�00000003246�13210547312�0016212�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "mc_click.h" #include <pobl/bl_str.h> #include <pobl/bl_mem.h> /* free */ #include <pobl/bl_debug.h> #include <glib.h> #include <c_intl.h> #include "mc_combo.h" #include "mc_io.h" #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *new_click_interval = NULL; static char *old_click_interval = NULL; static int is_changed; /* --- static functions --- */ static gint click_interval_selected(GtkWidget *widget, gpointer data) { g_free(new_click_interval); new_click_interval = gtk_editable_get_chars(GTK_EDITABLE(widget), 0, -1); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s click interval is selected.\n", new_click_interval); #endif return 1; } /* --- global functions --- */ GtkWidget *mc_click_interval_config_widget_new(void) { GtkWidget *combo; GtkWidget *entry; char *click_intervals[] = { "250", "300", "350", "400", "450", "500", }; new_click_interval = strdup(old_click_interval = mc_get_str_value("click_interval")); is_changed = 0; combo = mc_combo_new_with_width(_("Double click interval (msec)"), click_intervals, sizeof(click_intervals) / sizeof(click_intervals[0]), new_click_interval, 0, 50, &entry); g_signal_connect(entry, "changed", G_CALLBACK(click_interval_selected), NULL); return combo; } void mc_update_click_interval(void) { if (strcmp(new_click_interval, old_click_interval)) is_changed = 1; if (is_changed) { mc_set_str_value("click_interval", new_click_interval); free(old_click_interval); old_click_interval = strdup(new_click_interval); } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlconfig/mc_opentype.h������������������������������������������������������������0100644�0001760�0000144�00000000346�13210547312�0016773�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __MC_OPENTYPE_H__ #define __MC_OPENTYPE_H__ #include <gtk/gtk.h> GtkWidget *mc_opentype_config_widget_new(void); void mc_update_opentype(void); #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlimgloader�����������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014717�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlimgloader/gdk-pixbuf.c����������������������������������������������������������0100644�0001760�0000144�00000037460�13210547312�0017211�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <unistd.h> #include <string.h> /* strstr */ /* * Don't include bl_mem.h. * 'data' which is malloc'ed for XCreateImage() in pixbuf_to_ximage_truecolor() * is free'ed in XDestroyImage(). * If malloc is replaced bl_mem_malloc in bl_mem.h, bl_mem_free_all() will * free 'data' which is already free'ed in XDestroyImage() and * segmentation fault error can happen. */ #include <stdlib.h> /* malloc/free/atoi */ #include <gdk-pixbuf/gdk-pixbuf.h> #include <pobl/bl_debug.h> #include <pobl/bl_types.h> /* u_int32_t/u_int16_t */ #include <pobl/bl_def.h> /* SSIZE_MAX, USE_WIN32API */ #if defined(__CYGWIN__) || defined(__MSYS__) #include <pobl/bl_path.h> /* bl_conv_to_win32_path */ #endif #ifdef USE_WIN32API #include <fcntl.h> /* O_BINARY */ #endif #define USE_FS 1 #if (GDK_PIXBUF_MAJOR < 2) #define g_object_ref(pixbuf) gdk_pixbuf_ref(pixbuf) #define g_object_unref(pixbuf) gdk_pixbuf_unref(pixbuf) #endif #if 0 #define __DEBUG #endif /* --- static functions --- */ #ifndef USE_WIN32GUI #define USE_XLIB /* Necessary to use closest_color_index(), lsb() and msb() */ #include <X11/Xlib.h> #include <X11/Xutil.h> #endif #define BUILTIN_IMAGELIB /* Necessary to use gdk_pixbuf_new_from() etc */ #include "../../common/c_imagelib.c" static void help(void) { /* Don't output to stdout where mlterm waits for image data. */ fprintf(stderr, "mlimgloader [window id] [width] [height] [src file] ([dst file]) " "(-c)\n"); fprintf(stderr, " [dst file]: convert [src file] to [dst file].\n"); fprintf(stderr, " -c : output XA_CARDINAL format data to stdout.\n"); } /* * Create GdkPixbuf from the specified file path. * The returned pixbuf shouled be unrefed by the caller. */ static GdkPixbuf *load_file(char *path, u_int width, /* 0 == image width */ u_int height, /* 0 == image height */ GdkInterpType scale_type) { GdkPixbuf *pixbuf_tmp; GdkPixbuf *pixbuf; if (!(pixbuf_tmp = gdk_pixbuf_new_from(path))) { return NULL; } /* loading from file/cache ends here */ if (width == 0 && height == 0) { pixbuf = pixbuf_tmp; } else { if (width == 0) { width = gdk_pixbuf_get_width(pixbuf_tmp); } if (height == 0) { height = gdk_pixbuf_get_height(pixbuf_tmp); } pixbuf = gdk_pixbuf_scale_simple(pixbuf_tmp, width, height, scale_type); g_object_unref(pixbuf_tmp); #ifdef __DEBUG if (pixbuf) { bl_warn_printf(BL_DEBUG_TAG " creating a scaled pixbuf(%d x %d)\n", width, height); } #endif } /* scaling ends here */ return pixbuf; } #ifdef USE_XLIB /* returned cmap shuold be freed by the caller */ static int fetch_colormap(Display *display, Visual *visual, Colormap colormap, XColor **color_list) { int num_cells, i; num_cells = visual->map_entries; if ((*color_list = calloc(num_cells, sizeof(XColor))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " couldn't allocate color table\n"); #endif return 0; } for (i = 0; i < num_cells; i++) { ((*color_list)[i]).pixel = i; } XQueryColors(display, colormap, *color_list, num_cells); return num_cells; } static int pixbuf_to_pixmap_pseudocolor(Display *display, Visual *visual, Colormap colormap, GC gc, GdkPixbuf *pixbuf, Pixmap pixmap) { int width, height, rowstride; u_int bytes_per_pixel; int x, y; int num_cells; #ifdef USE_FS char *diff_next; char *diff_cur; char *temp; #endif /* USE_FS */ u_char *line; u_char *pixel; XColor *color_list; int closest; int diff_r, diff_g, diff_b; int ret_val = 0; if ((num_cells = fetch_colormap(display, visual, colormap, &color_list)) == 0) { return 0; } width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); #ifdef USE_FS if ((diff_cur = calloc(1, width * 3)) == NULL) { goto error1; } if ((diff_next = calloc(1, width * 3)) == NULL) { goto error2; } #endif /* USE_FS */ bytes_per_pixel = (gdk_pixbuf_get_has_alpha(pixbuf)) ? 4 : 3; rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { pixel = line; #ifdef USE_FS closest = closest_color_index(color_list, num_cells, pixel[0] - diff_cur[0], pixel[1] - diff_cur[1], pixel[2] - diff_cur[2]); diff_r = (color_list[closest].red >> 8) - pixel[0]; diff_g = (color_list[closest].green >> 8) - pixel[1]; diff_b = (color_list[closest].blue >> 8) - pixel[2]; diff_cur[3 * 1 + 0] += diff_r / 2; diff_cur[3 * 1 + 1] += diff_g / 2; diff_cur[3 * 1 + 2] += diff_b / 2; /* initialize next line */ diff_next[3 * 0 + 0] = diff_r / 4; diff_next[3 * 0 + 1] = diff_g / 4; diff_next[3 * 0 + 2] = diff_b / 4; diff_next[3 * 1 + 0] = diff_r / 4; diff_next[3 * 1 + 1] = diff_g / 4; diff_next[3 * 1 + 2] = diff_b / 4; #else closest = closest_color_index(color_list, num_cells, pixel[0], pixel[1], pixel[2]); #endif /* USE_FS */ XSetForeground(display, gc, closest); XDrawPoint(display, pixmap, gc, 0, y); pixel += bytes_per_pixel; for (x = 1; x < width - 2; x++) { #ifdef USE_FS closest = closest_color_index(color_list, num_cells, pixel[0] - diff_cur[3 * x + 0], pixel[1] - diff_cur[3 * x + 1], pixel[2] - diff_cur[3 * x + 2]); diff_r = (color_list[closest].red >> 8) - pixel[0]; diff_g = (color_list[closest].green >> 8) - pixel[1]; diff_b = (color_list[closest].blue >> 8) - pixel[2]; diff_cur[3 * (x + 1) + 0] += diff_r / 2; diff_cur[3 * (x + 1) + 1] += diff_g / 2; diff_cur[3 * (x + 1) + 2] += diff_b / 2; diff_next[3 * (x - 1) + 0] += diff_r / 8; diff_next[3 * (x - 1) + 1] += diff_g / 8; diff_next[3 * (x - 1) + 2] += diff_b / 8; diff_next[3 * (x + 0) + 0] += diff_r / 8; diff_next[3 * (x + 0) + 1] += diff_g / 8; diff_next[3 * (x + 0) + 2] += diff_b / 8; /* initialize next line */ diff_next[3 * (x + 1) + 0] = diff_r / 4; diff_next[3 * (x + 1) + 1] = diff_g / 4; diff_next[3 * (x + 1) + 2] = diff_b / 4; #else closest = closest_color_index(color_list, num_cells, pixel[0], pixel[1], pixel[2]); #endif /* USE_FS */ XSetForeground(display, gc, closest); XDrawPoint(display, pixmap, gc, x, y); pixel += bytes_per_pixel; } #ifdef USE_FS closest = closest_color_index(color_list, num_cells, pixel[0] - diff_cur[3 * x + 0], pixel[1] - diff_cur[3 * x + 1], pixel[2] - diff_cur[3 * x + 2]); diff_r = (color_list[closest].red >> 8) - pixel[0]; diff_g = (color_list[closest].green >> 8) - pixel[1]; diff_b = (color_list[closest].blue >> 8) - pixel[2]; diff_next[3 * (x - 1) + 0] += diff_r / 4; diff_next[3 * (x - 1) + 1] += diff_g / 4; diff_next[3 * (x - 1) + 2] += diff_b / 4; diff_next[3 * (x + 0) + 0] += diff_r / 4; diff_next[3 * (x + 0) + 1] += diff_g / 4; diff_next[3 * (x + 0) + 2] += diff_b / 4; temp = diff_cur; diff_cur = diff_next; diff_next = temp; #else closest = closest_color_index(color_list, num_cells, pixel[0], pixel[1], pixel[2]); #endif /* USE_FS */ XSetForeground(display, gc, closest); XDrawPoint(display, pixmap, gc, x, y); line += rowstride; } ret_val = 1; #ifdef USE_FS error2: free(diff_cur); free(diff_next); #endif /* USE_FS */ error1: free(color_list); return ret_val; } static XImage *pixbuf_to_ximage_truecolor(Display *display, Visual *visual, Colormap colormap, GC gc, u_int depth, GdkPixbuf *pixbuf) { XVisualInfo vinfo_template; XVisualInfo *vinfolist; int nitem; u_int x, y; u_int width, height, rowstride, bytes_per_pixel; u_char *line; u_long r_mask, g_mask, b_mask; int r_offset, g_offset, b_offset; int r_limit, g_limit, b_limit; XImage *image; char *data; vinfo_template.visualid = XVisualIDFromVisual(visual); if (!(vinfolist = XGetVisualInfo(display, VisualIDMask, &vinfo_template, &nitem))) { return NULL; } r_mask = vinfolist[0].red_mask; g_mask = vinfolist[0].green_mask; b_mask = vinfolist[0].blue_mask; XFree(vinfolist); r_offset = lsb(r_mask); g_offset = lsb(g_mask); b_offset = lsb(b_mask); r_limit = 8 + r_offset - msb(r_mask); g_limit = 8 + g_offset - msb(g_mask); b_limit = 8 + b_offset - msb(b_mask); width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); /* set num of bytes per pixel of display */ bytes_per_pixel = depth > 16 ? 4 : 2; if (width > SSIZE_MAX / bytes_per_pixel / height) { return NULL; /* integer overflow */ } if (!(data = malloc(width * height * bytes_per_pixel))) { return NULL; } if (!(image = XCreateImage(display, visual, depth, ZPixmap, 0, data, width, height, /* in case depth isn't multiple of 8 */ bytes_per_pixel * 8, width * bytes_per_pixel))) { free(data); return NULL; } /* set num of bytes per pixel of pixbuf */ bytes_per_pixel = (gdk_pixbuf_get_has_alpha(pixbuf)) ? 4 : 3; rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); for (y = 0; y < height; y++) { u_char *pixel; pixel = line; for (x = 0; x < width; x++) { XPutPixel(image, x, y, (depth == 32 ? 0xff000000 : 0) | (((pixel[0] >> r_limit) << r_offset) & r_mask) | (((pixel[1] >> g_limit) << g_offset) & g_mask) | (((pixel[2] >> b_limit) << b_offset) & b_mask)); pixel += bytes_per_pixel; } line += rowstride; } return image; } static int pixbuf_to_pixmap(Display *display, Visual *visual, Colormap colormap, GC gc, u_int depth, GdkPixbuf *pixbuf, Pixmap pixmap) { if (visual->class == TrueColor) { XImage *image; if ((image = pixbuf_to_ximage_truecolor(display, visual, colormap, gc, depth, pixbuf))) { XPutImage(display, pixmap, gc, image, 0, 0, 0, 0, gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf)); XDestroyImage(image); return 1; } else { return 0; } } else /* if( visual->class == PseudoColor) */ { return pixbuf_to_pixmap_pseudocolor(display, visual, colormap, gc, pixbuf, pixmap); } } static int pixbuf_to_pixmap_and_mask(Display *display, Window win, Visual *visual, Colormap colormap, GC gc, u_int depth, GdkPixbuf *pixbuf, Pixmap *pixmap, /* Created in this function. */ Pixmap *mask /* Created in this function. */ ) { u_int width; u_int height; width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); *pixmap = XCreatePixmap(display, win, width, height, depth); if (!pixbuf_to_pixmap(display, visual, colormap, gc, depth, pixbuf, *pixmap)) { XFreePixmap(display, *pixmap); return 0; } if (gdk_pixbuf_get_has_alpha(pixbuf)) { int x, y; int rowstride; u_char *line; u_char *pixel; GC mask_gc; XGCValues gcv; int has_tp; /* * DefaultRootWindow should not be used because depth and visual * of DefaultRootWindow don't always match those of mlterm window. * Use x_display_get_group_leader instead. */ *mask = XCreatePixmap(display, win, width, height, 1); mask_gc = XCreateGC(display, *mask, 0, &gcv); XSetForeground(display, mask_gc, 0); XFillRectangle(display, *mask, mask_gc, 0, 0, width, height); XSetForeground(display, mask_gc, 1); line = gdk_pixbuf_get_pixels(pixbuf); rowstride = gdk_pixbuf_get_rowstride(pixbuf); has_tp = 0; for (y = 0; y < height; y++) { pixel = line + 3; for (x = 0; x < width; x++) { if (*pixel > 127) { XDrawPoint(display, *mask, mask_gc, x, y); } else { has_tp = 1; } pixel += 4; } line += rowstride; } XFreeGC(display, mask_gc); if (!has_tp) { /* mask is not necessary. */ XFreePixmap(display, *mask); *mask = None; } } else { /* no mask */ *mask = None; } return 1; } #endif /* USE_XLIB */ /* --- global functions --- */ int main(int argc, char **argv) { #ifdef USE_XLIB Display *display; Visual *visual; Colormap colormap; u_int depth; GC gc; Pixmap pixmap; Pixmap mask; Window win; XWindowAttributes attr; #endif GdkPixbuf *pixbuf; u_int width; u_int height; #if 0 bl_set_msg_log_file_name("mlterm/msg.log"); #endif #ifdef USE_XLIB if (argc == 5) { if (!(display = XOpenDisplay(NULL))) { goto error; } if ((win = atoi(argv[1])) == 0) { win = DefaultRootWindow(display); visual = DefaultVisual(display, DefaultScreen(display)); colormap = DefaultColormap(display, DefaultScreen(display)); depth = DefaultDepth(display, DefaultScreen(display)); gc = DefaultGC(display, DefaultScreen(display)); } else { XGCValues gc_value; XGetWindowAttributes(display, win, &attr); visual = attr.visual; colormap = attr.colormap; depth = attr.depth; gc = XCreateGC(display, win, 0, &gc_value); } } else #endif if (argc != 6) { help(); return -1; } #if GDK_PIXBUF_MAJOR >= 2 g_type_init(); #endif /*GDK_PIXBUF_MAJOR*/ width = atoi(argv[2]); height = atoi(argv[3]); /* * attr.width / attr.height aren't trustworthy because this program can be * called before window is actually resized. */ if (!(pixbuf = load_file(argv[4], width, height, GDK_INTERP_BILINEAR))) { #if defined(__CYGWIN__) || defined(__MSYS__) #define MAX_PATH 260 /* 3+255+1+1 */ char winpath[MAX_PATH]; if (bl_conv_to_win32_path(argv[4], winpath, sizeof(winpath)) < 0 || !(pixbuf = load_file(winpath, width, height, GDK_INTERP_BILINEAR))) #endif { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load %s\n", argv[4]); #endif goto error; } } if (argc == 6) { u_char *cardinal; ssize_t size; #if GDK_PIXBUF_MAJOR >= 2 if (strcmp(argv[5], "-c") != 0) { char *type; GError *error = NULL; if (!(type = strrchr(argv[5], '.'))) { goto error; } type++; if (strcmp(type, "jpg") == 0) { type = "jpeg"; } gdk_pixbuf_save(pixbuf, argv[5], type, &error, NULL); return 0; } #endif if (!(cardinal = (u_char *)create_cardinals_from_pixbuf(pixbuf))) { goto error; } width = ((u_int32_t *)cardinal)[0]; height = ((u_int32_t *)cardinal)[1]; size = sizeof(u_int32_t) * (width * height + 2); #ifdef USE_WIN32API setmode(STDOUT_FILENO, O_BINARY); #endif while (size > 0) { ssize_t n_wr; if ((n_wr = write(STDOUT_FILENO, cardinal, size)) < 0) { goto error; } cardinal += n_wr; size -= n_wr; } } #ifdef USE_XLIB else { char buf[10]; if (!pixbuf_to_pixmap_and_mask(display, win, visual, colormap, gc, depth, pixbuf, &pixmap, &mask)) { goto error; } XSync(display, False); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Loaded pixmap %lu %lu\n", pixmap, mask); #endif fprintf(stdout, "%lu %lu", pixmap, mask); fflush(stdout); close(STDOUT_FILENO); /* Wait for parent process receiving pixmap. */ read(STDIN_FILENO, buf, sizeof(buf)); } #endif /* USE_XLIB */ #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Exit image loader\n"); #endif return 0; error: bl_error_printf("Couldn't load %s\n", argv[4]); return -1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlimgloader/none.c����������������������������������������������������������������0100644�0001760�0000144�00000004452�13210547312�0016103�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <unistd.h> #include <string.h> /* strstr */ #include <stdlib.h> /* atoi */ #include <pobl/bl_debug.h> #include <pobl/bl_types.h> /* u_int32_t/u_int16_t */ #include <pobl/bl_def.h> /* SSIZE_MAX, USE_WIN32API */ #include <pobl/bl_str.h> /* bl_str_alloca_dup */ #if defined(__CYGWIN__) || defined(__MSYS__) #include <pobl/bl_path.h> /* bl_conv_to_win32_path */ #endif #ifdef USE_WIN32API #include <fcntl.h> /* O_BINARY */ #endif #if 0 #define __DEBUG #endif /* --- static functions --- */ #define BUILTIN_IMAGELIB /* Necessary to use create_cardinals_from_sixel() */ #include "../../common/c_imagelib.c" static void help(void) { /* Don't output to stdout where mlterm waits for image data. */ fprintf(stderr, "mlimgloader [window id] [width] [height] [file path] (-c)\n"); fprintf(stderr, " window id: ignored.\n"); fprintf(stderr, " -c : output XA_CARDINAL format data to stdout.\n"); } /* --- global functions --- */ int main(int argc, char **argv) { u_char *cardinal; ssize_t size; u_int width; u_int height; #if 0 bl_set_msg_log_file_name("mlterm/msg.log"); #endif if (argc != 6 || strcmp(argv[5], "-c") != 0) { help(); return -1; } if (strstr(argv[4], ".rgs")) { char *new_path; new_path = bl_str_alloca_dup(argv[4]); if (convert_regis_to_bmp(new_path)) { argv[4] = new_path; } } if (!(cardinal = (u_char*)create_cardinals_from_sixel(argv[4]))) { #if defined(__CYGWIN__) || defined(__MSYS__) #define MAX_PATH 260 /* 3+255+1+1 */ char winpath[MAX_PATH]; if (bl_conv_to_win32_path(argv[4], winpath, sizeof(winpath)) < 0 || !(cardinal = (u_char*)create_cardinals_from_sixel(winpath))) #endif { goto error; } } width = ((u_int32_t*)cardinal)[0]; height = ((u_int32_t*)cardinal)[1]; size = sizeof(u_int32_t) * (width * height + 2); #ifdef USE_WIN32API setmode(STDOUT_FILENO, O_BINARY); #endif while (size > 0) { ssize_t n_wr; if ((n_wr = write(STDOUT_FILENO, cardinal, size)) < 0) { goto error; } cardinal += n_wr; size -= n_wr; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Exit image loader\n"); #endif return 0; error: bl_error_printf("Couldn't load %s\n", argv[4]); return -1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlimgloader/gdiplus.cpp�����������������������������������������������������������0100644�0001760�0000144�00000021352�13210547312�0017151�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <unistd.h> /* STDOUT_FILENO */ #include <stdlib.h> /* mbstowcs_s */ #include <wchar.h> /* wcslen */ extern "C" { #include <pobl/bl_debug.h> #include <pobl/bl_conf_io.h> /* bl_get_user_rc_path */ #include <pobl/bl_mem.h> #ifdef BL_DEBUG #undef alloca #if defined(__GNUC__) #define alloca(size) memset(__builtin_alloca(size), 0xff, size) #elif defined(HAVE_ALLOCA_H) #include <alloca.h> #endif #endif /* BL_DEBUG */ #if defined(__CYGWIN__) || defined(__MSYS__) #include <pobl/bl_path.h> /* bl_conv_to_win32_path */ #endif } #include <pobl/bl_types.h> /* u_int32_t/u_int16_t */ #include <pobl/bl_def.h> /* SSIZE_MAX, USE_WIN32API */ #ifdef USE_WIN32API #include <fcntl.h> /* O_BINARY */ #endif #define _WIN32_WINNT 0x0502 /* for SetDllDirectory */ #include <windows.h> #include <gdiplus.h> #ifdef USE_WIN32API #include <malloc.h> /* alloca */ #endif using namespace Gdiplus; #if 0 #define __DEBUG #endif #ifndef IID_PPV_ARGS /* IStream IID (objidl.h) */ static const IID __uuid_inst = { 0x0000000c, 0x0000, 0x0000, {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46}}; #define IID_PPV_ARGS(iface) __uuid_inst, reinterpret_cast<void**>(iface) #endif #ifndef URL_MK_UNIFORM #define URL_MK_UNIFORM 1 #endif /* --- static functions --- */ #define BUILTIN_IMAGELIB /* Necessary to use create_cardinals_from_sixel() */ #include "../../common/c_imagelib.c" static void help(void) { /* Don't output to stdout where mlterm waits for image data. */ fprintf(stderr, "mlimgloader [window id] [width] [height] [file path] (-c)\n"); fprintf(stderr, " window id: ignored.\n"); fprintf(stderr, " -c : output XA_CARDINAL format data to stdout.\n"); } static u_int32_t* create_cardinals_from_file( const char* path, /* cygwin style path on cygwin/msys. win32 style path on win32. */ u_int width, u_int height) { /* MAX_PATH which is 260 (3+255+1+1) is defined in win32 alone. */ wchar_t wpath[MAX_PATH]; #if defined(__CYGWIN__) || defined(__MSYS__) char winpath[MAX_PATH]; #endif Gdiplus::GdiplusStartupInput startup; ULONG_PTR token; HMODULE module; IBindCtx* ctx; IMoniker* moniker; IStream* stream; Gdiplus::Bitmap* bitmap; int hash; u_int32_t* cardinal; u_int32_t* p; if (strcasecmp(path + strlen(path) - 4, ".six") == 0 && (cardinal = create_cardinals_from_sixel(path))) { return cardinal; } if (Gdiplus::GdiplusStartup(&token, &startup, NULL) != Gdiplus::Ok) { return NULL; } hash = hash_path(path); stream = NULL; if (strstr(path, "://")) { typedef HRESULT (*func)(IMoniker*, LPCWSTR, IMoniker**, DWORD); func create_url_moniker; SetDllDirectory(""); if ((module = LoadLibrary("urlmon")) && (create_url_moniker = (func)GetProcAddress(module, "CreateURLMonikerEx"))) { MultiByteToWideChar(CP_UTF8, 0, path, strlen(path) + 1, wpath, MAX_PATH); if ((*create_url_moniker)(NULL, wpath, &moniker, URL_MK_UNIFORM) == S_OK) { if (CreateBindCtx(0, &ctx) == S_OK) { if (moniker->BindToStorage(ctx, NULL, IID_PPV_ARGS(&stream)) != S_OK) { ctx->Release(); moniker->Release(); } } else { moniker->Release(); } } if (!stream) { FreeLibrary(module); } } } #if defined(__CYGWIN__) || defined(__MSYS__) else if (strchr(path, '/')) /* In case win32 style path is specified on cygwin/msys. */ { /* cygwin style path => win32 style path. */ if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) == 0) { path = winpath; } } #endif if (strcmp(path + strlen(path) - 4, ".gif") == 0) { /* Animation GIF */ char* dir; #if defined(__CYGWIN__) || defined(__MSYS__) /* converted to win32 by bl_conv_to_win32_path */ if (!strstr(path, "mlterm\\anim") && (dir = bl_get_user_rc_path("mlterm/"))) #else if (!strstr(path, "mlterm/anim") && (dir = bl_get_user_rc_path("mlterm\\"))) #endif { char* new_path; if (!(new_path = (char*)alloca(strlen(dir) + 8 + 5 + DIGIT_STR_LEN(int)+1))) { goto end0; } sprintf(new_path, "%sanim%d.gif", dir, hash); if (stream) { FILE* fp; BYTE buf[10240]; ULONG rd_len; HRESULT res; if (!(fp = fopen(new_path, "wb"))) { goto end0; } do { res = stream->Read(buf, sizeof(buf), &rd_len); fwrite(buf, 1, rd_len, fp); } while (res == Gdiplus::Ok); fclose(fp); stream->Release(); ctx->Release(); moniker->Release(); FreeLibrary(module); stream = NULL; path = new_path; } split_animation_gif(path, dir, hash); #if defined(__CYGWIN__) || defined(__MSYS__) if (bl_conv_to_win32_path(new_path, winpath, sizeof(winpath)) == 0) { new_path = winpath; } #endif /* Replace path by the splitted file. */ path = new_path; end0: free(dir); } } if (!stream) { MultiByteToWideChar(CP_UTF8, 0, path, strlen(path) + 1, wpath, MAX_PATH); } cardinal = NULL; if (width == 0 || height == 0) { if (stream ? !(bitmap = Gdiplus::Bitmap::FromStream(stream)) : !(bitmap = Gdiplus::Bitmap::FromFile(wpath))) { goto end1; } } else { Image* image; Graphics* graphics; if ((stream ? !(image = Image::FromStream(stream)) : !(image = Image::FromFile(wpath))) || image->GetLastStatus() != Gdiplus::Ok) { goto end1; } if (!(bitmap = new Bitmap(width, height, PixelFormat32bppARGB))) { delete image; goto end1; } if (!(graphics = Graphics::FromImage(bitmap))) { delete image; goto end2; } Gdiplus::Rect rect(0, 0, width, height); graphics->DrawImage(image, rect, 0, 0, image->GetWidth(), image->GetHeight(), UnitPixel); delete image; delete graphics; } if (bitmap->GetLastStatus() != Gdiplus::Ok) { goto end2; } width = bitmap->GetWidth(); height = bitmap->GetHeight(); if (width > ((SSIZE_MAX / sizeof(*cardinal)) - 2) / height || /* integer overflow */ !(p = cardinal = (u_int32_t*)malloc((width * height + 2) * sizeof(*cardinal)))) { goto end2; } *(p++) = width; *(p++) = height; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { Gdiplus::Color pixel; bitmap->GetPixel(x, y, &pixel); *(p++) = (pixel.GetA() << 24) | (pixel.GetR() << 16) | (pixel.GetG() << 8) | pixel.GetB(); } } end2: delete bitmap; end1: if (stream) { stream->Release(); ctx->Release(); moniker->Release(); FreeLibrary(module); } Gdiplus::GdiplusShutdown(token); return cardinal; } /* --- global functions --- */ int PASCAL WinMain(HINSTANCE hinst, HINSTANCE hprev, char* cmdline, int cmdshow) { WCHAR** w_argv; char** argv; int argc; int count; u_char* cardinal; u_int width; u_int height; ssize_t size; #if 0 bl_set_msg_log_file_name("mlterm/msg.log"); #endif w_argv = CommandLineToArgvW(GetCommandLineW(), &argc); if (argc == 0 || !(argv = (char**)alloca(sizeof(*argv) * argc))) { GlobalFree(w_argv); return -1; } for (count = 0; count < argc; count++) { int len; len = WideCharToMultiByte(CP_UTF8, 0, w_argv[count], wcslen(w_argv[count]) + 1, NULL, 0, NULL, NULL); if ((argv[count] = (char*)alloca(len))) { WideCharToMultiByte(CP_UTF8, 0, w_argv[count], wcslen(w_argv[count]) + 1, argv[count], len, NULL, NULL); } } GlobalFree(w_argv); if (argc != 6 || strcmp(argv[5], "-c") != 0) { help(); return -1; } /* bl_str_alloca_dup() fails by illegal cast from void* to char*. */ char new_path[strlen(argv[4]) + 1]; if (strstr(argv[4], ".rgs")) { strcpy(new_path, argv[4]); if (convert_regis_to_bmp(new_path)) { argv[4] = new_path; } } width = atoi(argv[2]); height = atoi(argv[3]); /* * attr.width / attr.height aren't trustworthy because this program can be * called before window is actually resized. */ if (!(cardinal = (u_char*)create_cardinals_from_file(argv[4], width, height))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to load %s\n", argv[4]); #endif goto error; } width = ((u_int32_t*)cardinal)[0]; height = ((u_int32_t*)cardinal)[1]; size = sizeof(u_int32_t) * (width * height + 2); #ifdef USE_WIN32API setmode(STDOUT_FILENO, O_BINARY); #endif while (size > 0) { ssize_t n_wr; if ((n_wr = write(STDOUT_FILENO, cardinal, size)) < 0) { goto error; } cardinal += n_wr; size -= n_wr; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Exit image loader\n"); #endif return 0; error: bl_error_printf("Couldn't load %s\n", argv[4]); return -1; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlimgloader/Makefile.in�����������������������������������������������������������0100644�0001760�0000144�00000003703�13210547312�0017043�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBEXECDIR = $(DESTDIR)$(libexecdir)/mlterm LIBEXECDIR_win32 = $(DESTDIR)$(bindir) VPATH = $(top_srcdir)/tool/mlimgloader OBJ = @MLIMGLOADER_LIB@.o LPOBL = @LPOBL@ LPOBL_DEB = -lpobl_deb CFLAGS1 = $(CFLAGS_LOCAL) @POBL_CFLAGS@ @DEB_CFLAGS@ @GUI_CFLAGS@ @CFLAGS@ @CPPFLAGS@ -I/usr/local/include CFLAGS2_gdk-pixbuf = @GDK_PIXBUF_CFLAGS@ @X_CFLAGS@ CFLAGS = $(CFLAGS1) $(CFLAGS2_@MLIMGLOADER_LIB@) -DLIBEXECDIR=\"$(libexecdir)\" \ -DBINDIR=\"$(bindir)\" LIBS1 = $(LIBS_LOCAL) $(LPOBL) -L/usr/local/lib -R/usr/local/lib LIBS2_xlib_gdk-pixbuf = @X_LIBS@ -lX11 @X_EXTRA_LIBS@ @GDK_PIXBUF_LIBS@ LIBS2_xlib_gdiplus = $(LIBS2_win32_gdiplus) LIBS2_fb_gdk-pixbuf = $(LIBS2_xlib_gdk-pixbuf) LIBS2_console_gdk-pixbuf = $(LIBS2_xlib_gdk-pixbuf) LIBS2_wayland_gdk-pixbuf = $(LIBS2_xlib_gdk-pixbuf) # Segfault in cygwin without them. LIBS2_win32_gdk-pixbuf = -mwindows @GDK_PIXBUF_LIBS@ LIBS2_win32_gdiplus = -mwindows -lgdiplus -lstdc++ -lole32 LIBS2_win32_none = -mwindows LIBS = $(LIBS1) $(LIBS2_@GUI@_@MLIMGLOADER_LIB@) PROG = mlimgloader LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: $(PROG) $(PROG): $(OBJ) $(LIBTOOL_LINK) $(CFLAGS) -o $(PROG) $(OBJ:.o=.lo) $(LIBS) .SUFFIXES: .c .o .c.o: $(LIBTOOL_CC) -c $< .cpp.o: $(LIBTOOL_CC) -c $< $(LIBEXECDIR@WIN32TAG@): mkdir -p $(LIBEXECDIR@WIN32TAG@) install: $(LIBEXECDIR@WIN32TAG@) $(LIBTOOL_INSTALL) $(PROG) $(LIBEXECDIR@WIN32TAG@) uninstall: rm -f $(LIBEXECDIR@WIN32TAG@)/$(PROG) wc: find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf $(PROG) $(PROG).exe *core $(OBJ) $(OBJ:.o=.lo) .libs distclean: clean rm -f Makefile �������������������������������������������������������������mlterm-3.8.4/tool/mlfc������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013344�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlfc/Makefile.in������������������������������������������������������������������0100644�0001760�0000144�00000001760�13210547312�0015471�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ BINDIR = $(DESTDIR)$(bindir) VPATH = $(top_srcdir)/tool/mlfc OBJ = main.o CFLAGS = $(CFLAGS_LOCAL) @CFLAGS@ @CPPFLAGS@ @FONTCONFIG_CFLAGS@ -I/usr/local/include LIBS = $(LIBS_LOCAL) @FONTCONFIG_LIBS@ -L/usr/local/lib -R/usr/local/lib PROG = mlfc LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all: $(PROG) $(PROG): $(OBJ) $(LIBTOOL_LINK) $(CFLAGS) -o $(PROG) $(OBJ:.o=.lo) $(LIBS) .SUFFIXES: .c .o .c.o: $(LIBTOOL_CC) -c $< $(BINDIR): mkdir -p $(BINDIR) install: $(BINDIR) $(LIBTOOL_INSTALL) $(PROG) $(BINDIR) uninstall: rm -f $(BINDIR)/$(PROG) wc: find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l clean: rm -rf $(PROG) $(PROG).exe *core $(OBJ) $(OBJ:.o=.lo) .libs distclean: clean rm -f Makefile ����������������mlterm-3.8.4/tool/mlfc/main.c�����������������������������������������������������������������������0100644�0001760�0000144�00000045344�13210547312�0014522�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <fontconfig/fontconfig.h> #include <stdio.h> #include <string.h> #include <stdlib.h> /* alloca */ #include <sys/stat.h> #ifdef __sunos #include <alloca.h> #endif #define MAX_AREAS 256 #define HEADER "# Permit mlfc to ovewrite this file.\n" static struct unicode_block { u_int beg; u_int end; } blocks[] = { {0x0100, 0x024F}, /* Latin Extended */ {0x0250, 0x02AF}, /* IPA Extensions */ {0x02B0, 0x02FF}, /* Spacing Modifier Letters */ {0x0300, 0x036F}, /* Combining Diacritical Marks */ {0x0370, 0x03FF}, /* Greek and Coptic */ {0x0400, 0x04FF}, /* Cyrillic */ {0x0500, 0x052F}, /* Cyrillic Supplement */ {0x0530, 0x058F}, /* Armenian */ {0x0590, 0x05FF}, /* Hebrew */ {0x0600, 0x06FF}, /* Arabic */ {0x0700, 0x074F}, /* Syriac */ {0x0750, 0x077F}, /* Arabic Supplement */ {0x0780, 0x07BF}, /* Thaana */ {0x07C0, 0x07FF}, /* NKo */ {0x0800, 0x083F}, /* Samaritan */ {0x0840, 0x085F}, /* Mandaic */ {0x08A0, 0x08FF}, /* Arabic Extended-A */ {0x0900, 0x097F}, /* Devanagari */ {0x0980, 0x09FF}, /* Bengali */ {0x0A00, 0x0A7F}, /* Gurmukhi */ {0x0A80, 0x0AFF}, /* Gujarati */ {0x0B00, 0x0B7F}, /* Oriya */ {0x0B80, 0x0BFF}, /* Tamil */ {0x0C00, 0x0C7F}, /* Telugu */ {0x0C80, 0x0CFF}, /* Kannada */ {0x0D00, 0x0D7F}, /* Malayalam */ {0x0D80, 0x0DFF}, /* Sinhala */ {0x0E00, 0x0E7F}, /* Thai */ {0x0E80, 0x0EFF}, /* Lao */ {0x0F00, 0x0FFF}, /* Tibetan */ {0x1000, 0x109F}, /* Myanmar */ {0x10A0, 0x10FF}, /* Georgian */ {0x1100, 0x11FF}, /* Hangul Jamo */ {0x1200, 0x137F}, /* Ethiopic */ {0x1380, 0x139F}, /* Ethiopic Supplement */ {0x13A0, 0x13FF}, /* Cherokee */ {0x1400, 0x167F}, /* Unified Canadian Aboriginal */ {0x1680, 0x169F}, /* Ogham */ {0x16A0, 0x16FF}, /* Runic */ {0x1700, 0x171F}, /* Tagalog */ {0x1720, 0x173F}, /* Hanunoo */ {0x1740, 0x175F}, /* Buhid */ {0x1760, 0x177F}, /* Tagbanwa */ {0x1780, 0x17FF}, /* Khmer */ {0x1800, 0x18AF}, /* Mongolian */ {0x18B0, 0x18FF}, /* Unified Canadian Aboriginal Syllabics Extended */ {0x1900, 0x194F}, /* Limbu */ {0x1950, 0x197F}, /* Tai Le */ {0x1980, 0x19DF}, /* New Tai Lue */ {0x19E0, 0x19FF}, /* Khmer Symbols */ {0x1A00, 0x1A1F}, /* Buginese */ {0x1A20, 0x1AAF}, /* Tai Tham */ {0x1AB0, 0x1AFF}, /* Combining Diacritical Marks Extended */ {0x1B00, 0x1B7F}, /* Balinese */ {0x1B80, 0x1BBF}, /* Sundanese */ {0x1BC0, 0x1BFF}, /* Batak */ {0x1C00, 0x1C4F}, /* Lepcha */ {0x1C50, 0x1C7F}, /* Ol Chiki */ {0x1CC0, 0x1CCF}, /* Sundanese Supplement */ {0x1CD0, 0x1CFF}, /* Vedic Extensions */ {0x1D00, 0x1D7F}, /* Phonetic Extensions */ {0x1D80, 0x1DBF}, /* Phonetic Extensions Supplement */ {0x1DC0, 0x1DFF}, /* Combining Diacritical Marks Supplement */ {0x1E00, 0x1EFF}, /* Latin Extended Additional */ {0x1F00, 0x1FFF}, /* Greek Extended */ {0x2000, 0x206F}, /* General Punctuation */ {0x2070, 0x209F}, /* Superscripts and Subscripts */ {0x20A0, 0x20CF}, /* Currency Symbols */ {0x20D0, 0x20FF}, /* Combining Diacritical Marks for Symbols */ {0x2100, 0x214F}, /* Letterlike Symbols */ {0x2150, 0x218F}, /* Number Forms */ {0x2190, 0x21FF}, /* Arrows */ {0x2200, 0x22FF}, /* Mathematical Operators */ {0x2300, 0x23FF}, /* Miscellaneous Technical */ {0x2400, 0x243F}, /* Control Pictures */ {0x2440, 0x245F}, /* Optical Character Recognition */ {0x2460, 0x24FF}, /* Enclosed Alphanumerics */ {0x2500, 0x257F}, /* Box Drawing */ {0x2580, 0x259F}, /* Block Elements */ {0x25A0, 0x25FF}, /* Geometric Shapes */ {0x2600, 0x26FF}, /* Miscellaneous Symbols */ {0x2700, 0x27BF}, /* Dingbats */ {0x27C0, 0x27EF}, /* Miscellaneous Mathematical Symbols-A */ {0x27F0, 0x27FF}, /* Supplemental Arrows-A */ {0x2800, 0x28FF}, /* Braille Patterns */ {0x2900, 0x297F}, /* Supplemental Arrows-B */ {0x2980, 0x29FF}, /* Miscellaneous Mathematical Symbols-B */ {0x2A00, 0x2AFF}, /* Supplemental Mathematical Operators */ {0x2B00, 0x2BFF}, /* Miscellaneous Symbols and Arrows */ {0x2C00, 0x2C5F}, /* Glagolitic */ {0x2C60, 0x2C7F}, /* Latin Extended-C */ {0x2C80, 0x2CFF}, /* Coptic */ {0x2D00, 0x2D2F}, /* Georgian Supplement */ {0x2D30, 0x2D7F}, /* Tifinagh */ {0x2D80, 0x2DDF}, /* Ethiopic Extended */ {0x2DE0, 0x2DFF}, /* Cyrillic Extended-A */ {0x2E00, 0x2E7F}, /* Supplemental Punctuation */ {0x2E80, 0x2EFF}, /* CJK Radicals Supplement */ {0x2F00, 0x2FDF}, /* Kangxi Radicals */ {0x2FF0, 0x2FFF}, /* Ideographic Description Characters */ {0x3000, 0x303F}, /* CJK Symbols and Punctuation */ {0x3040, 0x309F}, /* Hiragana */ {0x30A0, 0x30FF}, /* Katakana */ {0x3100, 0x312F}, /* Bopomofo */ {0x3130, 0x318F}, /* Hangul Compatibility Jamo */ {0x3190, 0x319F}, /* Kanbun */ {0x31A0, 0x31BF}, /* Bopomofo Extended */ {0x31C0, 0x31EF}, /* CJK Strokes */ {0x31F0, 0x31FF}, /* Katakana Phonetic Extensions */ {0x3200, 0x32FF}, /* Enclosed CJK Letters and Months */ {0x3300, 0x33FF}, /* CJK Compatibility */ {0x3400, 0x4DBF}, /* CJK Unified Ideographs Extension A */ {0x4DC0, 0x4DFF}, /* Yijing Hexagram Symbols */ {0x4E00, 0x9FFF}, /* CJK Unified Ideographs */ {0xA000, 0xA48F}, /* Yi Syllables */ {0xA490, 0xA4CF}, /* Yi Radicals */ {0xA4D0, 0xA4FF}, /* Lisu */ {0xA500, 0xA63F}, /* Vai */ {0xA640, 0xA69F}, /* Cyrillic Extended-B */ {0xA6A0, 0xA6FF}, /* Bamum */ {0xA700, 0xA71F}, /* Modifier Tone Letters */ {0xA720, 0xA7FF}, /* Latin Extended-D */ {0xA800, 0xA82F}, /* Syloti Nagri */ {0xA830, 0xA83F}, /* Common Indic Number Forms */ {0xA840, 0xA87F}, /* Phags-pa */ {0xA880, 0xA8DF}, /* Saurashtra */ {0xA8E0, 0xA8FF}, /* Devanagari Extended */ {0xA900, 0xA92F}, /* Kayah Li */ {0xA930, 0xA95F}, /* Rejang */ {0xA960, 0xA97F}, /* Hangul Jamo Extended-A */ {0xA980, 0xA9DF}, /* Javanese */ {0xA9E0, 0xA9FF}, /* Myanmar Extended-B */ {0xAA00, 0xAA5F}, /* Cham */ {0xAA60, 0xAA7F}, /* Myanmar Extended-A */ {0xAA80, 0xAADF}, /* Tai Viet */ {0xAAE0, 0xAAFF}, /* Meetei Mayek Extensions */ {0xAB00, 0xAB2F}, /* Ethiopic Extended-A */ {0xAB30, 0xAB6F}, /* Latin Extended-E */ {0xAB70, 0xABBF}, /* Cherokee Supplement */ {0xABC0, 0xABFF}, /* Meetei Mayek */ {0xAC00, 0xD7AF}, /* Hangul Syllables */ {0xD7B0, 0xD7FF}, /* Hangul Jamo Extended-B */ {0xD800, 0xDB7F}, /* High Surrogates */ {0xDB80, 0xDBFF}, /* High Private Use Surrogates */ {0xDC00, 0xDFFF}, /* Low Surrogates */ {0xE000, 0xF8FF}, /* Private Use Area */ {0xF900, 0xFAFF}, /* CJK Compatibility Ideographs */ {0xFB00, 0xFB4F}, /* Alphabetic Presentation Forms */ {0xFB50, 0xFDFF}, /* Arabic Presentation Forms-A */ {0xFE00, 0xFE0F}, /* Variation Selectors */ {0xFE10, 0xFE1F}, /* Vertical Forms */ {0xFE20, 0xFE2F}, /* Combining Half Marks */ {0xFE30, 0xFE4F}, /* CJK Compatibility Forms */ {0xFE50, 0xFE6F}, /* Small Form Variants */ {0xFE70, 0xFEFF}, /* Arabic Presentation Forms-B */ {0xFF00, 0xFFEF}, /* Halfwidth and Fullwidth Forms */ {0xFFF0, 0xFFFF}, /* Specials */ {0x10000, 0x1007F}, /* Linear B Syllabary */ {0x10080, 0x100FF}, /* Linear B Ideograms */ {0x10100, 0x1013F}, /* Aegean Numbers */ {0x10140, 0x1018F}, /* Ancient Greek Numbers */ {0x10190, 0x101CF}, /* Ancient Symbols */ {0x101D0, 0x101FF}, /* Phaistos Disc */ {0x10280, 0x1029F}, /* Lycian */ {0x102A0, 0x102DF}, /* Carian */ {0x102E0, 0x102FF}, /* Coptic Epact Numbers */ {0x10300, 0x1032F}, /* Old Italic */ {0x10330, 0x1034F}, /* Gothic */ {0x10350, 0x1037F}, /* Old Permic */ {0x10380, 0x1039F}, /* Ugaritic */ {0x103A0, 0x103DF}, /* Old Persian */ {0x10400, 0x1044F}, /* Deseret */ {0x10450, 0x1047F}, /* Shavian */ {0x10480, 0x104AF}, /* Osmanya */ {0x10500, 0x1052F}, /* Elbasan */ {0x10530, 0x1056F}, /* Caucasian Albanian */ {0x10600, 0x1077F}, /* Linear A */ {0x10800, 0x1083F}, /* Cypriot Syllabary */ {0x10840, 0x1085F}, /* Imperial Aramaic */ {0x10860, 0x1087F}, /* Palmyrene */ {0x10880, 0x108AF}, /* Nabataean */ {0x108E0, 0x108FF}, /* Hatran */ {0x10900, 0x1091F}, /* Phoenician */ {0x10920, 0x1093F}, /* Lydian */ {0x10980, 0x1099F}, /* Meroitic Hieroglyphs */ {0x109A0, 0x109FF}, /* Meroitic Cursive */ {0x10A00, 0x10A5F}, /* Kharoshthi */ {0x10A60, 0x10A7F}, /* Old South Arabian */ {0x10A80, 0x10A9F}, /* Old North Arabian */ {0x10AC0, 0x10AFF}, /* Manichaean */ {0x10B00, 0x10B3F}, /* Avestan */ {0x10B40, 0x10B5F}, /* Inscriptional Parthian */ {0x10B60, 0x10B7F}, /* Inscriptional Pahlavi */ {0x10B80, 0x10BAF}, /* Psalter Pahlavi */ {0x10C00, 0x10C4F}, /* Old Turkic */ {0x10C80, 0x10CFF}, /* Old Hungarian */ {0x10E60, 0x10E7F}, /* Rumi Numeral Symbols */ {0x11000, 0x1107F}, /* Brahmi */ {0x11080, 0x110CF}, /* Kaithi */ {0x110D0, 0x110FF}, /* Sora Sompeng */ {0x11100, 0x1114F}, /* Chakma */ {0x11150, 0x1117F}, /* Mahajani */ {0x11180, 0x111DF}, /* Sharada */ {0x111E0, 0x111FF}, /* Sinhala Archaic Numbers */ {0x11200, 0x1124F}, /* Khojki */ {0x11280, 0x112AF}, /* Multani */ {0x112B0, 0x112FF}, /* Khudawadi */ {0x11300, 0x1137F}, /* Grantha */ {0x11480, 0x114DF}, /* Tirhuta */ {0x11580, 0x115FF}, /* Siddham */ {0x11600, 0x1165F}, /* Modi */ {0x11680, 0x116CF}, /* Takri */ {0x11700, 0x1173F}, /* Ahom */ {0x118A0, 0x118FF}, /* Warang Citi */ {0x11AC0, 0x11AFF}, /* Pau Cin Hau */ {0x12000, 0x123FF}, /* Cuneiform */ {0x12400, 0x1247F}, /* Cuneiform Numbers and Punctuation */ {0x12480, 0x1254F}, /* Early Dynastic Cuneiform */ {0x13000, 0x1342F}, /* Egyptian Hieroglyphs */ {0x14400, 0x1467F}, /* Anatolian Hieroglyphs */ {0x16800, 0x16A3F}, /* Bamum Supplement */ {0x16A40, 0x16A6F}, /* Mro */ {0x16AD0, 0x16AFF}, /* Bassa Vah */ {0x16B00, 0x16B8F}, /* Pahawh Hmong */ {0x16F00, 0x16F9F}, /* Miao */ {0x1B000, 0x1B0FF}, /* Kana Supplement */ {0x1BC00, 0x1BC9F}, /* Duployan */ {0x1BCA0, 0x1BCAF}, /* Shorthand Format Controls */ {0x1D000, 0x1D0FF}, /* Byzantine Musical Symbols */ {0x1D100, 0x1D1FF}, /* Musical Symbols */ {0x1D200, 0x1D24F}, /* Ancient Greek Musical Notation */ {0x1D300, 0x1D35F}, /* Tai Xuan Jing Symbols */ {0x1D360, 0x1D37F}, /* Counting Rod Numerals */ {0x1D400, 0x1D7FF}, /* Mathematical Alphanumeric Symbols */ {0x1D800, 0x1DAAF}, /* Sutton SignWriting */ {0x1E800, 0x1E8DF}, /* Mende Kikakui */ {0x1EE00, 0x1EEFF}, /* Arabic Mathematical Alphabetic Symbols */ #if 0 {0x1F000, 0x1F02F}, /* Mahjong Tiles */ {0x1F030, 0x1F09F}, /* Domino Tiles */ {0x1F0A0, 0x1F0FF}, /* Playing Cards */ {0x1F100, 0x1F1FF}, /* Enclosed Alphanumeric Supplement */ {0x1F200, 0x1F2FF}, /* Enclosed Ideographic Supplement */ {0x1F300, 0x1F5FF}, /* Miscellaneous Symbols And Pictographs */ {0x1F600, 0x1F64F}, /* Emoticons */ {0x1F650, 0x1F67F}, /* Ornamental Dingbats */ {0x1F680, 0x1F6FF}, /* Transport And Map Symbols */ {0x1F700, 0x1F77F}, /* Alchemical Symbols */ {0x1F780, 0x1F7FF}, /* Geometric Shapes Extended */ {0x1F800, 0x1F8FF}, /* Supplemental Arrows-C */ {0x1F900, 0x1F9FF}, /* Supplemental Symbols and Pictographs */ #endif {0x20000, 0x2A6DF}, /* CJK Unified Ideographs Extension B */ {0x2A700, 0x2B73F}, /* CJK Unified Ideographs Extension C */ {0x2B740, 0x2B81F}, /* CJK Unified Ideographs Extension D */ {0x2B820, 0x2CEAF}, /* CJK Unified Ideographs Extension E */ {0x2F800, 0x2FA1F}, /* CJK Compatibility Ideographs Supplement */ }; /* --- static functions --- */ static char *get_user_rc_path(char *rcfile) { char *homedir; char *path; if ((homedir = getenv("HOME")) && /* Enough for "%s/.config/%s" */ (path = malloc(strlen(homedir) + 9 + strlen(rcfile) + 1))) { struct stat st; char *p; sprintf(path, "%s/.config/%s", homedir, rcfile); p = strrchr(path, '/'); *p = '\0'; if (stat(path, &st) == 0) { *p = '/'; } else { sprintf(path, "%s/.%s", homedir, rcfile); } return path; } return NULL; } static FcPattern *fc_pattern_create(const FcChar8* family) { FcPattern *pattern; if (!(pattern = FcPatternCreate())) { return NULL; } if (family) { FcPatternAddString(pattern, FC_FAMILY, family); } FcConfigSubstitute(NULL, pattern, FcMatchPattern); FcPatternRemove(pattern, FC_FAMILYLANG, 0); FcPatternRemove(pattern, FC_STYLELANG, 0); FcPatternRemove(pattern, FC_FULLNAMELANG, 0); #ifdef FC_NAMELANG FcPatternRemove(pattern, FC_NAMELANG, 0); #endif FcPatternRemove(pattern, FC_LANG, 0); return pattern; } static int is_same_family(FcPattern *pattern, const char *family) { int count; FcValue val; for (count = 0; FcPatternGet(pattern, FC_FAMILY, count, &val) == FcResultMatch; count++) { if (strcmp(family, val.u.s) == 0) { return 1; } } return 0; } static FcPattern *search_next_font(FcPattern *pattern) { FcPattern *match; FcValue val; FcResult result; while (1) { if (FcPatternGet(pattern, FC_FAMILY, 0, &val) != FcResultMatch) { return NULL; } if (!(match = FcFontMatch(NULL, pattern, &result))) { continue; } if (is_same_family(match, val.u.s)) { FcPatternRemove(pattern, FC_FAMILY, 0); return match; } FcPatternRemove(pattern, FC_FAMILY, 0); while (1) { if (FcPatternGet(pattern, FC_FAMILY, 0, &val) == FcResultMatch) { if (is_same_family(match, val.u.s)) { FcPatternRemove(pattern, FC_FAMILY, 0); return match; } FcPatternRemove(pattern, FC_FAMILY, 0); } else { return NULL; } } } } static void backup_config(const char *path) { FILE* fp; if ((fp = fopen(path, "r"))) { char buf[1024]; char *new_path; while (fgets(buf, sizeof(buf), fp)) { if (strcmp(buf, HEADER) == 0) { return; } } fclose(fp); if ((new_path = alloca(strlen(path) + 5))) { sprintf(new_path, "%s.bak", path); rename(path, new_path); } } } static int check_font_config(const char *default_family /* family name */ ) { const char *path; const char *default_path; FcPattern *pattern; FcPattern *matches[1024]; u_int num_matches = 0; int b_idx; struct { struct unicode_block *block; const char *family; const char *path; } outputs[MAX_AREAS]; u_int num_outputs = 0; FcValue val; u_int count; FILE* fp; if (!(pattern = fc_pattern_create(default_family))) { return 0; } #if 0 FcPatternPrint(pattern); #endif matches[num_matches++] = search_next_font(pattern); if (*default_family == '\0') { if (FcPatternGet(matches[0], FC_FAMILY, 0, &val) == FcResultMatch) { default_family = val.u.s; } } if (FcPatternGet(matches[0], FC_FILE, 0, &val) == FcResultMatch) { default_path = val.u.s; } else { default_path = NULL; } for (b_idx = 0; b_idx < sizeof(blocks) / sizeof(blocks[0]); b_idx++) { int m_idx; for (m_idx = 0;; m_idx++) { FcCharSet *charset; if (m_idx == num_matches) { if (num_matches == sizeof(matches) / sizeof(matches[0]) || matches[num_matches - 1] == NULL) { break; } if (!(matches[num_matches] = search_next_font(pattern))) { int count; FcPattern *pat = FcPatternCreate(); FcObjectSet *objset = FcObjectSetBuild(FC_FAMILY, FC_FILE, FC_CHARSET, NULL); FcFontSet *fontset = FcFontList(NULL, pat, objset); for (count = 0; count < fontset->nfont; count++) { matches[num_matches++] = fontset->fonts[count]; FcPatternGet(matches[num_matches - 1], FC_FAMILY, 0, &val); #if 0 fprintf(stderr, "Add Font List %s\n", val.u.s); #endif } matches[num_matches] = NULL; } num_matches++; } if (!matches[m_idx]) { break; } if (FcPatternGetCharSet(matches[m_idx], FC_CHARSET, 0, &charset) == FcResultMatch && (FcCharSetHasChar(charset, blocks[b_idx].beg) || FcCharSetHasChar(charset, blocks[b_idx].beg + 1))) { if (FcPatternGet(matches[m_idx], FC_FAMILY, 0, &val) == FcResultMatch && strcmp(val.u.s, default_family) != 0) { if (num_outputs > 0 && outputs[num_outputs - 1].block->end + 1 == blocks[b_idx].beg && strcmp(outputs[num_outputs - 1].family, val.u.s) == 0) { /* XXX Change blocks[b_idx - 1].end */ outputs[num_outputs - 1].block->end = blocks[b_idx].end; } else { outputs[num_outputs].block = blocks + b_idx; outputs[num_outputs].family = val.u.s; if (FcPatternGet(matches[m_idx], FC_FILE, 0, &val) == FcResultMatch) { outputs[num_outputs].path = val.u.s; } else { outputs[num_outputs].path = NULL; } num_outputs++; if (num_outputs == sizeof(outputs) / sizeof(outputs[0])) { break; } } } break; } } } if ((path = get_user_rc_path("mlterm/aafont"))) { backup_config(path); if (!(fp = fopen(path, "w"))) { return 0; } printf("Updating %s\n", path); fprintf(fp, HEADER); fprintf(fp, "ISO10646_UCS4_1=%s\n", default_family); for (count = 0; count < num_outputs; count++) { fprintf(fp, "U+%x-%x=%s\n", outputs[count].block->beg, outputs[count].block->end, outputs[count].family); } fclose(fp); } if (default_path && (path = get_user_rc_path("mlterm/font-fb"))) { backup_config(path); if (!(fp = fopen(path, "w"))) { return 0; } printf("Updating %s\n", path); fprintf(fp, HEADER); fprintf(fp, "ISO10646_UCS4_1=%s\n", default_path); for (count = 0; count < num_outputs; count++) { fprintf(fp, "U+%x-%x=%s\n", outputs[count].block->beg, outputs[count].block->end, outputs[count].path); } fclose(fp); } return 1; } /* --- global functions --- */ int main(int argc, char **argv) { if ((argc != 2 || *argv[1] == '-') && argc != 1) { fprintf(stderr, "Usage: mlfc <Default Font Name>\n"); return -1; } if (!check_font_config(argc == 1 ? "" : argv[1])) { fprintf(stderr, "Failed.\n"); return -1; } return 0; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlmenu����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013720�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlmenu/menu-simple����������������������������������������������������������������0100644�0001760�0000144�00000000670�13210547312�0016155�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# # Format: "<label>\t<key>=<value>" or "pty_list" # <label> accepts any text except tab. # \t is separator of <label> and <key>=<value> # <key>=<value> conforms to configuration protocol(doc/en/PROTOCOL). # "pty_list" shows opened ptys. # Font size larger fontsize=larger Font size Smaller fontsize=smaller Encoding auto encoding=auto Encoding UTF-8 encoding=UTF-8 Full Reset full_reset pty_list New PTY open_pty ������������������������������������������������������������������������mlterm-3.8.4/tool/mlmenu/main.c���������������������������������������������������������������������0100644�0001760�0000144�00000017364�13210547312�0015077�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <unistd.h> /* read */ #include <stdlib.h> /* malloc */ #include <string.h> #include <sys/stat.h> #include <fcntl.h> /* open */ #include <X11/Xlib.h> #include <X11/Xutil.h> #ifndef SYSCONFDIR #define SYSCONFDIR "/usr/local/etc" #endif #define MENU_FILE SYSCONFDIR "/mlterm/menu-simple" #define FONT_NAME "-*-fixed-*-*-*--12-*-*-*-*-*-iso8859-1" typedef struct entry { char *name; char *seq; } entry_t; /* --- static variables --- */ static Display *disp; static Window win; static GC gc1; static GC gc2; static XFontStruct *xfont; static entry_t entries[124]; static u_int n_ent; static int cur_ent = -1; /* --- static functions --- */ static char *get_value(char *dev, char *key) { int count; char ret[1024]; char c; if (dev) { printf("\x1b]5381;%s:%s\x07", dev, key); } else { printf("\x1b]5381;%s\x07", key); } fflush(stdout); for (count = 0; count < 1024; count++) { if (read(STDIN_FILENO, &c, 1) == 1) { if (c != '\n') { ret[count] = c; } else { ret[count] = '\0'; if (count < 2 + strlen(key) || strcmp(ret, "#error") == 0) { return NULL; } /* * #key=value */ return strdup(ret + 2 + strlen(key)); } } else { return NULL; } } return NULL; } static int open_menu_file(void) { char *menu_file; if (getenv("HOME") && (menu_file = malloc(strlen(getenv("HOME")) + 13 + 1))) { int fd; sprintf(menu_file, "%s/.mlterm/menu", getenv("HOME")); fd = open(menu_file, O_RDONLY, 0600); free(menu_file); if (fd >= 0) { return fd; } } return open(MENU_FILE, O_RDONLY, 0600); } static int init_entries(u_int *cols, u_int *rows) { int fd; struct stat st; char *buf; char *line; char *p; /* * XXX Use mmap instead of open/read/close. */ if ((fd = open_menu_file()) == -1) { return 0; } fstat(fd, &st); if ((buf = malloc(st.st_size + 1)) == NULL) { return 0; } read(fd, buf, st.st_size); buf[st.st_size] = '\0'; close(fd); *cols = 0; while (n_ent < 124 && buf) { char *name; char *seq; line = buf; if ((p = strchr(line, '\n'))) { *(p++) = '\0'; } buf = p; p = line; /* Ignore leading white space and tab. */ while (*p == ' ' || *p == '\t') { p++; } if (*p == '#') { continue; } name = p; /* * '\t' is the separator of name and seq. */ while (1) { if (*p == '\0') { seq = ""; goto end; } else if (*p != '\t' && *p != '\n') { p++; } else { *(p++) = '\0'; break; } } /* Ignore tab(separator) and trailing white space. */ while (*p == ' ' || *p == '\t') { p++; } seq = p; while (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0') { p++; } *p = '\0'; end: if (strcmp(name, "pty_list") == 0 && *seq == '\0') { char *pty_list; char *pty; int is_active; if ((pty_list = get_value(NULL, "pty_list")) == NULL) { return 1; } while (pty_list) { pty = pty_list; pty_list = strchr(pty_list, ':'); if (pty_list) { *pty_list = '\0'; } else { break; } if (*(pty_list + 1) == '1') { is_active = 1; } else { is_active = 0; } if ((pty_list = strchr(pty_list + 1, ';'))) { pty_list++; } if ((name = get_value(pty, "pty_name")) == NULL) { name = pty; } if (strncmp(name, "/dev/", 5) == 0) { name += 5; } seq = malloc(strlen(pty) + 12); sprintf(seq, "select_pty=%s", pty); entries[n_ent].name = name; entries[n_ent].seq = seq; if (*cols < strlen(entries[n_ent].name)) { *cols = strlen(entries[n_ent].name); } if (++n_ent >= 124) { break; } } } else { if (*name != '\0') { entries[n_ent].name = strdup(name); entries[n_ent].seq = strdup(seq); if (*cols < strlen(entries[n_ent].name)) { *cols = strlen(entries[n_ent].name); } if (++n_ent >= 124) { break; } } } } if (n_ent == 0) { return 0; } *rows = n_ent; return 1; } static int init(void) { int x; int y; u_int cols; u_int rows; u_int width; u_int height; if (!init_entries(&cols, &rows)) { return 0; } if ((disp = XOpenDisplay(NULL)) == NULL) { return 0; } if ((xfont = XLoadQueryFont(disp, FONT_NAME)) == NULL) { return 0; } width = xfont->max_bounds.width * cols; height = (xfont->ascent + xfont->descent) * rows; { Window root; Window child; int root_x; int root_y; u_int mask; XQueryPointer(disp, DefaultRootWindow(disp), &root, &child, &root_x, &root_y, &x, &y, &mask); } if (!(win = XCreateSimpleWindow(disp, DefaultRootWindow(disp), x, y, width, height, 1, BlackPixel(disp, DefaultScreen(disp)), WhitePixel(disp, DefaultScreen(disp))))) { return 0; } { XSetWindowAttributes attr; attr.override_redirect = True; XChangeWindowAttributes(disp, win, CWOverrideRedirect, &attr); } { XGCValues gc_value; gc_value.graphics_exposures = 0; gc1 = XCreateGC(disp, win, GCGraphicsExposures, &gc_value); gc2 = XCreateGC(disp, win, GCGraphicsExposures, &gc_value); } XSetForeground(disp, gc1, BlackPixel(disp, DefaultScreen(disp))); XSetBackground(disp, gc1, WhitePixel(disp, DefaultScreen(disp))); XSetFont(disp, gc1, xfont->fid); XSetForeground(disp, gc2, WhitePixel(disp, DefaultScreen(disp))); XSetBackground(disp, gc2, BlackPixel(disp, DefaultScreen(disp))); XSetFont(disp, gc2, xfont->fid); XSelectInput(disp, win, EnterWindowMask | LeaveWindowMask | PointerMotionMask | ButtonPressMask); if (XGrabPointer(disp, DefaultRootWindow(disp), True, ButtonPressMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime) != GrabSuccess) { return 0; } XMapWindow(disp, win); XClearWindow(disp, win); return 1; } static int update_screen(int n, int reverse) { int start; int end; int count; GC gc; if (n < 0) { /* n == -1 */ start = 0; end = n_ent - 1; } else if (n >= n_ent) { return 0; } else { start = n; end = n; } if (reverse) { gc = gc2; } else { gc = gc1; } for (count = start; count <= end; count++) { XDrawImageString(disp, win, gc, 0, count * (xfont->ascent + xfont->descent) + xfont->ascent, entries[count].name, strlen(entries[count].name)); } return 1; } static int mouse_motion(int y) { int entry; entry = y / (xfont->ascent + xfont->descent); if (entry != cur_ent) { if (cur_ent >= 0) { update_screen(cur_ent, 0); } update_screen(cur_ent = entry, 1); } return 1; } static int mouse_pressed(void) { printf("\x1b]5379;%s\x07", entries[cur_ent].seq); fflush(stdout); return 1; } static int event_loop(void) { XEvent ev; while (1) { XNextEvent(disp, &ev); if (ev.xany.window != win) { break; } if (ev.type == EnterNotify) { mouse_motion(ev.xcrossing.y - 1); } else if (ev.type == MotionNotify) { mouse_motion(ev.xcrossing.y - 1); } else if (ev.type == ButtonPress) { mouse_pressed(); break; } else if (ev.type == LeaveNotify) { update_screen(cur_ent, 0); cur_ent = -1; } } return 1; } /* --- global functions --- */ int main(int argc, char **argv) { if (!init() || !update_screen(-1, 0) || !event_loop()) { return 1; } return 0; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/mlmenu/Makefile.in����������������������������������������������������������������0100644�0001760�0000144�00000002357�13210547312�0016050�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libexecdir = @libexecdir@ bindir = @bindir@ sysconfdir = @sysconfdir@ VPATH = ${top_srcdir}/tool/mlmenu CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBEXECDIR = $(DESTDIR)$(libexecdir)/mlterm LIBEXECDIR_win32 = $(DESTDIR)$(bindir) SYSCONFDIR = $(DESTDIR)$(sysconfdir) CFLAGS = $(CFLAGS_LOCAL) @CFLAGS@ @CPPFLAGS@ @X_CFLAGS@ -DSYSCONFDIR=\"$(sysconfdir)\" LIBS = $(LIBS_LOCAL) @X_LIBS@ -lX11 @X_EXTRA_LIBS@ #LIBS = $(LIBS_LOCAL) @X_LIBS@ @X_PRE_LIBS@ -lX11 @X_EXTRA_LIBS@ LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) PACKAGE = @PACKAGE@ VERSION = @VERSION@ OBJS = main.o all: mlmenu mlmenu: $(OBJS) $(LIBTOOL_LINK) $(OBJS) $(CFLAGS) -o mlmenu $(LIBS) .c.o: $(CC) $(DEFS) $(CFLAGS) -c $< install: $(LIBEXECDIR@WIN32TAG@) $(LIBTOOL_INSTALL) -m 755 mlmenu $(LIBEXECDIR@WIN32TAG@) $(INSTALL) -m 644 ${top_srcdir}/tool/mlmenu/menu-simple $(SYSCONFDIR)/mlterm uninstall: rm -f $(LIBEXECDIR@WIN32TAG@)/mlmenu $(SYSCONFDIR)/mlterm/menu-simple $(LIBEXECDIR@WIN32TAG@): mkdir -p $(LIBEXECDIR@WIN32TAG@) clean: rm -rf $(OBJS) mlmenu mlmenu.exe *.core .libs distclean: clean rm -f Makefile ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/cross�����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013554�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/cross/cross-pkg-config������������������������������������������������������������0100644�0001760�0000144�00000000251�13210547312�0016724�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh #env > /tmp/pkg-config-cross-debug.$$ PKG_CONFIG_ORIG=/usr/bin/pkg-config PKG_CONFIG_LIBDIR=/usr/$PKG_CONFIG_CROSS_TARGET/lib/pkgconfig $PKG_CONFIG_ORIG $@ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories�����������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014726�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/mlsplit.sh������������������������������������������������������������0100755�0001760�0000144�00000002044�13210547312�0017025�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # for mlterm 3.8.2 or later get_challenge () { if [ "$challenge" = "" ]; then stty -echo /usr/bin/printf "\e]5380;challenge\a" read challenge challenge=`echo $challenge|sed 's/^#challenge=//'` stty echo fi } get_dev_list () { stty -echo /usr/bin/printf "\e]5380;%s;pty_list\a" $challenge read dev_list dev_list=`echo $dev_list|sed 's/^#pty_list=//'|tr ';' ' '` stty echo } get_dev_num () { get_challenge get_dev_list dev_num=0 for dev in $dev_list; do dev_num=`expr $dev_num + 1` done } set_config () { get_challenge get_dev_list count=0 for dev in $dev_list; do dev=`echo $dev|sed 's/\([^:]*\):.*/\1/'` if [ $count -eq $1 ]; then echo "$dev: $2" /usr/bin/printf "\e]5379;$dev:$2\a" fi count=`expr $count + 1`; done stty echo } get_dev_num # maximize window /usr/bin/printf "\x1b[9;1t" mlcc exec hsplit_screen 101 mlcc exec next_screen mlcc exec vsplit_screen 30% set_config $dev_num "encoding=utf8" set_config `expr $dev_num - 1` "input_method=none" emacsclient -t #$HOME/.sayaka/sayaka.sh s & ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/README����������������������������������������������������������������0100644�0001760�0000144�00000001643�13210547312�0015666�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Utility scripts for mlterm. * google.sh Search specified keyword by google. (This script doesn't work with mlterm-3.1.7 or later + w3m remote img which consumes string of --inistr in checking OSC14t and OSC18t.) o Usage $ google.sh [keyword] * mlscp.sh Do secure copy over ssh connection. o Usage $ mlscp [src path] [dst path] <path> = (remote:|local:)/dir/file * mlsearch.sh Move to characters matching a pattern. o Usage $ mlsearch.sh [keyword] $ mlsearch.sh prev [keyword] $ mlsearch.sh next [keyword] * mltracelog.sh Trace a log file mlterm --logseq outputs with trachet(http://pypi.python.org/pypi/trachet). o Usage $ mltracelog.sh [log file] * xconsole.sh Watch /dev/console like /usr/X11R6/bin/xconsole. o Usage $ xconsole.sh Exit by control+c. * mlsplit.sh Split screen and initialize encoding and input_method options. o Usage $ mlsplit.sh���������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/Makefile��������������������������������������������������������������0100644�0001760�0000144�00000000307�13210547312�0016442�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������prefix=/usr/local bindir=$(prefix)/bin DESTDIR= BINDIR=$(DESTDIR)$(bindir) TARGETS=xconsole.sh google.sh mlsearch.sh mlscp.sh INSTALL=install -c install: $(INSTALL) -m 755 $(TARGETS) $(BINDIR)/ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/mltracelog.sh���������������������������������������������������������0100755�0001760�0000144�00000001646�13210547312�0017501�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if [ ${#} -ne 1 ]; then echo "Usage: mltracelog.sh [log file]" exit 1 fi file="${1}" if [ ! -f "$file" ]; then echo "Not found $file" exit 1 fi _trachet=`which trachet` _printf=`which printf` if [ -z "$_trachet" -o "$_printf" != "/usr/bin/printf" ]; then echo "Not found trachet(http://pypi.python.org/pypi/trachet) or printf" exit 1 fi # /usr/bin/ is specified to avoid to use built-in printf. /usr/bin/printf "\e]5380;%s;pty_list\a" `cat $HOME/.mlterm/challenge` read oldlist mlclient -e cat /usr/bin/printf "\e]5380;%s;pty_list\a" `cat $HOME/.mlterm/challenge` read newlist for newdev in `echo $newlist | tr ';' ' ' | tr '=' ' '` ; do match=0 for olddev in `echo $oldlist | tr ';' ' ' | tr '=' ' '` ; do if [ $newdev = $olddev ]; then match=1 break fi done if [ $match = 0 ]; then newdev=`echo $newdev | tr ':1' ' ' | tr ':0' ' '` trachet -b -o $newdev "cat $file -" break fi done ������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/xconsole.sh�����������������������������������������������������������0100755�0001760�0000144�00000000245�13210547312�0017174�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if [ -e /tmp/.mlterm-* ]; then cmd="mlclient" else cmd="mlterm" fi ${cmd} --initstr 'printf "\\x1b[1m"\nprintf "\\x1b[2J"\ncat /dev/console||exit 0\n' �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/mlsearch.sh�����������������������������������������������������������0100755�0001760�0000144�00000001137�13210547312�0017141�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh reset_state() { printf "\x1b]5379;search_$1\x07" stty echo exit 0 } if test ${#} = 0 ; then echo "Reset searching position." printf "\x1b]5379;search_$1\x07" exit 0 elif test ${#} = 1 ; then pat=$1 dir="prev" elif test "$1" = "-h" -o ${#} != 2 ; then echo "Usage: mlsearch (prev|next) [pattern]" exit 0 else pat=$2 dir=$1 fi echo "Press Enter key to continue searching. Press ^C to exit." trap "reset_state $dir" 2 stty -echo printf "\x1b]5379;search_$dir %s\x07" "$pat" read input while true do printf "\x1b]5379;search_$dir %s\x07" "$pat" ; read input done reset_state $dir ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/mlscp.sh��������������������������������������������������������������0100755�0001760�0000144�00000000327�13210547312�0016461�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if test ${#} != 2 ; then echo "Usage: mlscp.sh [src path] [dst path]" echo " <path> = (remote:|local:)/dir/file" exit 0 else src=$1 dst=$2 fi printf "\x1b]5379;scp \"%s\" \"%s\"\x07" "$src" "$dst" ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/tool/accessories/gedit.sh��������������������������������������������������������������0100755�0001760�0000144�00000000716�13210547312�0016441�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/bash # # for Linux # # Usage: ~/.mlterm/key # Button3 = gedit.sh # if [ -f $1 ];then echo "gedit.sh: Open $1 by gedit." >> ~/.mlterm/msg.log gedit $1 exit fi SH_PID=`ps --ppid $PPID --no-heading|grep pts/|awk '{ print $1 }'` for pid in $SH_PID ; do DIR=`readlink /proc/$pid/cwd` if [ -f $DIR/$1 ]; then echo "gedit.sh: Open $DIR/$1 by gedit." >> ~/.mlterm/msg.log gedit $DIR/$1 break fi done zenity --error --text=\\"Failed to open $1.\\" ��������������������������������������������������mlterm-3.8.4/tool/accessories/google.sh�������������������������������������������������������������0100755�0001760�0000144�00000000354�13210547312�0016617�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if [ ${#} -ne 1 ]; then echo "Usage: google.sh [keyword]" exit 1 fi if [ -e ~/.mlterm/socket ]; then cmd="mlclient" else cmd="mlterm" fi $cmd -T google --initstr " \n${1}\n \n" -e w3m http://www.google.com ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013431�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample�����������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014712�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_sample_sb_view_lib.c�����������������������������������������������0100644�0001760�0000144�00000002436�13210547312�0021461�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_sample_sb_view_lib.h" #include <stdio.h> /* --- global functions --- */ Pixmap ui_get_icon_pixmap(ui_sb_view_t *view, GC gc, char **data, unsigned int width, unsigned int height, unsigned int depth, unsigned long black, unsigned long white) { Pixmap pix; char cur; int x; int y; pix = XCreatePixmap(view->display, view->window, width, height, depth); cur = '\0'; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { if (cur != data[y][x]) { if (data[y][x] == ' ') { XSetForeground(view->display, gc, white); } else if (data[y][x] == '#') { XSetForeground(view->display, gc, black); } else { continue; } cur = data[y][x]; } XDrawPoint(view->display, pix, gc, x, y); } x = 0; } return pix; } int ui_draw_icon_pixmap_fg(ui_sb_view_t *view, Pixmap arrow, char **data, unsigned int width, unsigned int height) { int x; int y; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { if (data[y][x] == '-') { XDrawPoint(view->display, arrow, view->gc, x, y); } } } return 1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_arrow_data.h�������������������������������������������������������0100644�0001760�0000144�00000002707�13210547312�0017765�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_TRANSPARENT_ARROW_DATA_H__ #define __UI_TRANSPARENT_ARROW_DATA_H__ static char *arrow_up_src[] = {" ", " -----------#", " -----#-----#", " -----#-----#", " ----###----#", " ----###----#", " ---#####---#", " ---#####---#", " --#######--#", " --#######--#", " -#########-#", " -----------#", " -----------#", "#############" }; static char *arrow_down_src[] = {" ", " -----------#", " -----------#", " -#########-#", " --#######--#", " --#######--#", " ---#####---#", " ---#####---#", " ----###----#", " ----###----#", " -----#-----#", " -----#-----#", " -----------#", "#############" }; static char *arrow_up_dent_src[] = { " ", " -----------#", " ----- -----#", " ----- -----#", " ---- ----#", " ---- ----#", " --- ---#", " --- ---#", " -- --#", " -- --#", " - -#", " -----------#", " -----------#", "#############" }; static char *arrow_down_dent_src[] = { " ", " -----------#", " -----------#", " - -#", " -- --#", " -- --#", " --- ---#", " --- ---#", " ---- ----#", " ---- ----#", " ----- -----#", " ----- -----#", " -----------#", "#############" }; #endif ���������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_transparent_sample_sb_view.c���������������������������������������0100644�0001760�0000144�00000015255�13210547312�0023257�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <stdlib.h> #include <ui_sb_view.h> #include "ui_sample_sb_view_lib.h" #include "ui_arrow_data.h" #define TOP_MARGIN 0 #define BOTTOM_MARGIN 28 #define HEIGHT_MARGIN (TOP_MARGIN + BOTTOM_MARGIN) #define WIDTH 13 /* --- static functions --- */ static void get_geometry_hints(ui_sb_view_t *view, unsigned int *width, unsigned int *top_margin, unsigned int *bottom_margin, int *up_button_y, unsigned int *up_button_height, int *down_button_y, unsigned int *down_button_height) { *width = WIDTH; *top_margin = TOP_MARGIN; *bottom_margin = BOTTOM_MARGIN; *up_button_y = -BOTTOM_MARGIN; *up_button_height = BOTTOM_MARGIN / 2; *down_button_y = -(BOTTOM_MARGIN / 2); *down_button_height = BOTTOM_MARGIN / 2; } static void get_default_color(ui_sb_view_t *view, char **fg_color, char **bg_color) { *fg_color = "gray"; *bg_color = "lightgray"; } static void realized(ui_sb_view_t *view, Display *display, int screen, Window window, GC gc, unsigned int height) { sample_sb_view_t *sample; XGCValues gc_value; XWindowAttributes attr; XColor black = { 0, 0, 0, 0, 0, 0, }; XColor white = { 0, 0xffff, 0xffff, 0xffff, 0, 0, }; sample = (sample_sb_view_t*)view; view->display = display; view->screen = screen; view->window = window; view->gc = gc; view->height = height; gc_value.foreground = BlackPixel(view->display, view->screen); gc_value.background = WhitePixel(view->display, view->screen); gc_value.graphics_exposures = 0; sample->gc = XCreateGC(view->display, view->window, GCForeground | GCBackground | GCGraphicsExposures, &gc_value); XGetWindowAttributes(view->display, view->window, &attr); XAllocColor(view->display, attr.colormap, &black); XAllocColor(view->display, attr.colormap, &white); sample->arrow_up = ui_get_icon_pixmap(view, sample->gc, arrow_up_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); sample->arrow_down = ui_get_icon_pixmap(view, sample->gc, arrow_down_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); sample->arrow_up_dent = ui_get_icon_pixmap(view, sample->gc, arrow_up_dent_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); sample->arrow_down_dent = ui_get_icon_pixmap(view, sample->gc, arrow_down_dent_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); } static void resized(ui_sb_view_t *view, Window window, unsigned int height) { view->window = window; view->height = height; } static void delete (ui_sb_view_t *view) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; if (sample) { XFreePixmap(view->display, sample->arrow_up); XFreePixmap(view->display, sample->arrow_up_dent); XFreePixmap(view->display, sample->arrow_down); XFreePixmap(view->display, sample->arrow_down_dent); XFreeGC(view->display, sample->gc); free(sample); } } static void draw_arrow_up_icon(ui_sb_view_t *view, int is_dent) { sample_sb_view_t *sample; Pixmap arrow; int x; int y; char **src; sample = (sample_sb_view_t*)view; if (is_dent) { arrow = sample->arrow_up_dent; src = arrow_up_dent_src; } else { arrow = sample->arrow_up; src = arrow_up_src; } XClearArea(view->display, view->window, 0, view->height - BOTTOM_MARGIN, WIDTH, BOTTOM_MARGIN / 2, 0); for (y = 0; y < BOTTOM_MARGIN / 2; y++) { for (x = 0; x < WIDTH; x++) { if (src[y][x] == '-') { XCopyArea(view->display, view->window, arrow, view->gc, x, y + (view->height - BOTTOM_MARGIN), 1, 1, x, y); } } } XCopyArea(view->display, arrow, view->window, view->gc, 0, 0, WIDTH, BOTTOM_MARGIN / 2, 0, view->height - BOTTOM_MARGIN); } static void draw_arrow_down_icon(ui_sb_view_t *view, int is_dent) { sample_sb_view_t *sample; Pixmap arrow; int x; int y; char **src; sample = (sample_sb_view_t*)view; if (is_dent) { arrow = sample->arrow_down_dent; src = arrow_down_dent_src; } else { arrow = sample->arrow_down; src = arrow_down_src; } XClearArea(view->display, view->window, 0, view->height - BOTTOM_MARGIN / 2, WIDTH, BOTTOM_MARGIN / 2, 0); for (y = 0; y < BOTTOM_MARGIN / 2; y++) { for (x = 0; x < WIDTH; x++) { if (src[y][x] == '-') { XCopyArea(view->display, view->window, arrow, view->gc, x, y + (view->height - BOTTOM_MARGIN / 2), 1, 1, x, y); } } } XCopyArea(view->display, arrow, view->window, view->gc, 0, 0, WIDTH, BOTTOM_MARGIN / 2, 0, view->height - BOTTOM_MARGIN / 2); } static void draw_scrollbar(ui_sb_view_t *view, int bar_top_y, unsigned int bar_height) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; XClearArea(view->display, view->window, 0, TOP_MARGIN, WIDTH, view->height - HEIGHT_MARGIN, 0); /* drawing bar */ /* left side shade */ XSetForeground(view->display, sample->gc, WhitePixel(view->display, view->screen)); XDrawLine(view->display, view->window, sample->gc, 0, bar_top_y, 0, bar_top_y + bar_height - 1); /* up side shade */ XDrawLine(view->display, view->window, sample->gc, 0, bar_top_y, WIDTH - 1, bar_top_y); /* right side shade */ XSetForeground(view->display, sample->gc, BlackPixel(view->display, view->screen)); XDrawLine(view->display, view->window, sample->gc, WIDTH - 1, bar_top_y, WIDTH - 1, bar_top_y + bar_height - 1); /* down side shade */ XDrawLine(view->display, view->window, sample->gc, 1, bar_top_y + bar_height - 1, WIDTH, bar_top_y + bar_height - 1); } static void draw_up_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_up_icon(view, is_pressed); } static void draw_down_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_down_icon(view, is_pressed); } /* --- global functions --- */ ui_sb_view_t *ui_sample_transparent_sb_view_new(void) { sample_sb_view_t *sample; if ((sample = calloc(1, sizeof(sample_sb_view_t))) == NULL) { return NULL; } sample->view.version = 1; sample->view.get_geometry_hints = get_geometry_hints; sample->view.get_default_color = get_default_color; sample->view.realized = realized; sample->view.resized = resized; sample->view.delete = delete; sample->view.draw_scrollbar = draw_scrollbar; sample->view.draw_up_button = draw_up_button; sample->view.draw_down_button = draw_down_button; return (ui_sb_view_t*)sample; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_sample_sb_view_win32.c���������������������������������������������0100644�0001760�0000144�00000014245�13210547312�0021656�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <stdlib.h> #include <ui_sb_view.h> #include "ui_sample_sb_view_lib.h" #include "ui_arrow_data.h" #define TOP_MARGIN 0 #define BOTTOM_MARGIN 28 #define HEIGHT_MARGIN (TOP_MARGIN + BOTTOM_MARGIN) #define WIDTH 13 /* --- static functions --- */ static void get_geometry_hints(ui_sb_view_t *view, unsigned int *width, unsigned int *top_margin, unsigned int *bottom_margin, int *up_button_y, unsigned int *up_button_height, int *down_button_y, unsigned int *down_button_height) { *width = WIDTH; *top_margin = TOP_MARGIN; *bottom_margin = BOTTOM_MARGIN; *up_button_y = -BOTTOM_MARGIN; *up_button_height = BOTTOM_MARGIN / 2; *down_button_y = -(BOTTOM_MARGIN / 2); *down_button_height = BOTTOM_MARGIN / 2; } static void get_default_color(ui_sb_view_t *view, char **fg_color, char **bg_color) { *fg_color = "gray"; *bg_color = "lightgray"; } static void realized(ui_sb_view_t *view, Display *display, int screen, Window window, GC gc, /* is None in win32 */ unsigned int height) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; view->display = display; view->screen = screen; view->window = window; view->gc = gc; view->height = height; gc = GetDC(window); sample->gc = CreateCompatibleDC(gc); sample->arrow_up = ui_get_icon_pixmap(view, gc, sample->gc, arrow_up_src, WIDTH, BOTTOM_MARGIN / 2, 24, 0, 0); sample->arrow_down = ui_get_icon_pixmap(view, gc, sample->gc, arrow_down_src, WIDTH, BOTTOM_MARGIN / 2, 24, 0, 0); sample->arrow_up_dent = ui_get_icon_pixmap(view, gc, sample->gc, arrow_up_dent_src, WIDTH, BOTTOM_MARGIN / 2, 24, 0, 0); sample->arrow_down_dent = ui_get_icon_pixmap(view, gc, sample->gc, arrow_down_dent_src, WIDTH, BOTTOM_MARGIN / 2, 24, 0, 0); ReleaseDC(window, gc); } static void resized(ui_sb_view_t *view, Window window, unsigned int height) { view->window = window; view->height = height; } static void color_changed(ui_sb_view_t *view, int is_fg /* 1=fg , 0=bg */ ) { if (is_fg) { sample_sb_view_t *sample; HPEN pen; sample = (sample_sb_view_t*)view; pen = SelectObject(view->gc, GetStockObject(NULL_PEN)); SelectObject(sample->gc, pen); SelectObject(sample->gc, sample->arrow_up); ui_draw_icon_pixmap_fg(view, sample->gc, arrow_up_src, WIDTH, BOTTOM_MARGIN / 2); SelectObject(sample->gc, sample->arrow_down); ui_draw_icon_pixmap_fg(view, sample->gc, arrow_down_src, WIDTH, BOTTOM_MARGIN / 2); SelectObject(sample->gc, sample->arrow_up_dent); ui_draw_icon_pixmap_fg(view, sample->gc, arrow_up_dent_src, WIDTH, BOTTOM_MARGIN / 2); SelectObject(sample->gc, sample->arrow_down_dent); ui_draw_icon_pixmap_fg(view, sample->gc, arrow_down_dent_src, WIDTH, BOTTOM_MARGIN / 2); SelectObject(view->gc, pen); } } static void delete (ui_sb_view_t *view) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; if (sample) { if (sample->gc) { DeleteDC(sample->gc); DeleteObject(sample->arrow_up); DeleteObject(sample->arrow_up_dent); DeleteObject(sample->arrow_down); DeleteObject(sample->arrow_down_dent); } free(sample); } } static void draw_arrow_up_icon(ui_sb_view_t *view, int is_dent) { sample_sb_view_t *sample; Pixmap arrow; sample = (sample_sb_view_t*)view; if (is_dent) { arrow = sample->arrow_up_dent; } else { arrow = sample->arrow_up; } SelectObject(sample->gc, arrow); BitBlt(view->gc, 0, view->height - BOTTOM_MARGIN, WIDTH, BOTTOM_MARGIN / 2, sample->gc, 0, 0, SRCCOPY); } static void draw_arrow_down_icon(ui_sb_view_t *view, int is_dent) { sample_sb_view_t *sample; Pixmap arrow; sample = (sample_sb_view_t*)view; if (is_dent) { arrow = sample->arrow_down_dent; } else { arrow = sample->arrow_down; } SelectObject(sample->gc, arrow); BitBlt(view->gc, 0, view->height - BOTTOM_MARGIN / 2, WIDTH, BOTTOM_MARGIN / 2, sample->gc, 0, 0, SRCCOPY); } static void draw_scrollbar(ui_sb_view_t *view, int bar_top_y, unsigned int bar_height) { HPEN old_pen; /* drawing bar */ Rectangle(view->gc, 1, bar_top_y, WIDTH, bar_top_y + bar_height); /* left side shade */ old_pen = SelectObject(view->gc, GetStockObject(WHITE_PEN)); MoveToEx(view->gc, 0, bar_top_y, NULL); LineTo(view->gc, 0, bar_top_y + bar_height); /* up side shade */ MoveToEx(view->gc, 0, bar_top_y, NULL); LineTo(view->gc, WIDTH - 1, bar_top_y); /* right side shade */ SelectObject(view->gc, GetStockObject(BLACK_PEN)); MoveToEx(view->gc, WIDTH - 1, bar_top_y, NULL); LineTo(view->gc, WIDTH - 1, bar_top_y + bar_height - 1); /* down side shade */ MoveToEx(view->gc, 1, bar_top_y + bar_height - 1, NULL); LineTo(view->gc, WIDTH, bar_top_y + bar_height - 1); SelectObject(view->gc, old_pen); } static void draw_background(ui_sb_view_t *view, int y, unsigned int height) { /* XXX Garbage is left in screen in scrolling without +1. Related to NULL_PEN * ? */ Rectangle(view->gc, 0, y, WIDTH + 1, y + height + 1); } static void draw_up_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_up_icon(view, is_pressed); } static void draw_down_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_down_icon(view, is_pressed); } /* --- global functions --- */ ui_sb_view_t *ui_sample_sb_view_new(void) { sample_sb_view_t *sample; if ((sample = calloc(1, sizeof(sample_sb_view_t))) == NULL) { return NULL; } sample->view.version = 1; sample->view.get_geometry_hints = get_geometry_hints; sample->view.get_default_color = get_default_color; sample->view.realized = realized; sample->view.resized = resized; sample->view.color_changed = color_changed; sample->view.delete = delete; sample->view.draw_scrollbar = draw_scrollbar; sample->view.draw_background = draw_background; sample->view.draw_up_button = draw_up_button; sample->view.draw_down_button = draw_down_button; return (ui_sb_view_t*)sample; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_sample_sb_view_lib_win32.c�����������������������������������������0100644�0001760�0000144�00000003123�13210547312�0022475�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_sample_sb_view_lib.h" #include <stdio.h> /* --- global functions --- */ Pixmap ui_get_icon_pixmap(ui_sb_view_t *view, GC gc, GC memgc, char **data, unsigned int width, unsigned int height, unsigned int depth, /* Not used */ unsigned long black, /* Not used */ unsigned long white /* Not used */ ) { Pixmap pix; char cur; int x; int y; pix = CreateCompatibleBitmap(gc, width, height); SelectObject(memgc, pix); cur = '\0'; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { if (cur != data[y][x]) { if (data[y][x] == ' ') { SelectObject(memgc, GetStockObject(WHITE_PEN)); } else if (data[y][x] == '#') { SelectObject(memgc, GetStockObject(BLACK_PEN)); } else { continue; } cur = data[y][x]; } MoveToEx(memgc, x, y, NULL); LineTo(memgc, x + 1, y + 1); } x = 0; } return pix; } int ui_draw_icon_pixmap_fg(ui_sb_view_t *view, GC gc, char **data, unsigned int width, unsigned int height) { int x; int y; int start; start = 0; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { if (data[y][x] == '-') { if (!start) { MoveToEx(gc, x, y, NULL); start = 1; } } else if (start) { LineTo(gc, x, y); start = 0; } } } return 1; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_sample_sb_view_lib.h�����������������������������������������������0100644�0001760�0000144�00000001643�13210547312�0021465�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __UI_SAMPLE_SB_VIEW_LIB_H__ #define __UI_SAMPLE_SB_VIEW_LIB_H__ #include <ui_sb_view.h> typedef struct sample_sb_view { ui_sb_view_t view; GC gc; unsigned long black_pixel; unsigned long white_pixel; Pixmap arrow_up; Pixmap arrow_up_dent; Pixmap arrow_down; Pixmap arrow_down_dent; } sample_sb_view_t; Pixmap ui_get_icon_pixmap(ui_sb_view_t *view, GC gc, #ifdef USE_WIN32GUI GC memgc, #endif char **data, unsigned int width, unsigned int height, unsigned int depth, unsigned long black, unsigned long white); int ui_draw_icon_pixmap_fg(ui_sb_view_t *view, #ifdef USE_WIN32GUI GC gc, #else Pixmap arrow, #endif char **data, unsigned int width, unsigned int height); #endif ���������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/ui_sample_sb_view.c���������������������������������������������������0100644�0001760�0000144�00000015064�13210547312�0020634�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> #include <stdlib.h> #include <ui_sb_view.h> #include "ui_sample_sb_view_lib.h" #include "ui_arrow_data.h" #define TOP_MARGIN 0 #define BOTTOM_MARGIN 28 #define HEIGHT_MARGIN (TOP_MARGIN + BOTTOM_MARGIN) #define WIDTH 13 /* --- static functions --- */ static void get_geometry_hints(ui_sb_view_t *view, unsigned int *width, unsigned int *top_margin, unsigned int *bottom_margin, int *up_button_y, unsigned int *up_button_height, int *down_button_y, unsigned int *down_button_height) { *width = WIDTH; *top_margin = TOP_MARGIN; *bottom_margin = BOTTOM_MARGIN; *up_button_y = -BOTTOM_MARGIN; *up_button_height = BOTTOM_MARGIN / 2; *down_button_y = -(BOTTOM_MARGIN / 2); *down_button_height = BOTTOM_MARGIN / 2; } static void get_default_color(ui_sb_view_t *view, char **fg_color, char **bg_color) { *fg_color = "gray"; *bg_color = "lightgray"; } static void realized(ui_sb_view_t *view, Display *display, int screen, Window window, GC gc, unsigned int height) { sample_sb_view_t *sample; XGCValues gc_value; XWindowAttributes attr; XColor black = { 0, 0, 0, 0, 0, 0, }; XColor white = { 0, 0xffff, 0xffff, 0xffff, 0, 0, }; sample = (sample_sb_view_t*)view; view->display = display; view->screen = screen; view->window = window; view->gc = gc; view->height = height; XGetWindowAttributes(view->display, view->window, &attr); XAllocColor(view->display, attr.colormap, &black); XAllocColor(view->display, attr.colormap, &white); sample->black_pixel = gc_value.foreground = black.pixel; sample->white_pixel = gc_value.background = white.pixel; gc_value.graphics_exposures = 0; sample->gc = XCreateGC(view->display, view->window, GCForeground | GCBackground | GCGraphicsExposures, &gc_value); sample->arrow_up = ui_get_icon_pixmap(view, sample->gc, arrow_up_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); sample->arrow_down = ui_get_icon_pixmap(view, sample->gc, arrow_down_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); sample->arrow_up_dent = ui_get_icon_pixmap(view, sample->gc, arrow_up_dent_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); sample->arrow_down_dent = ui_get_icon_pixmap(view, sample->gc, arrow_down_dent_src, WIDTH, BOTTOM_MARGIN / 2, attr.depth, black.pixel, white.pixel); } static void resized(ui_sb_view_t *view, Window window, unsigned int height) { view->window = window; view->height = height; } static void color_changed(ui_sb_view_t *view, int is_fg /* 1=fg , 0=bg */ ) { if (is_fg) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; ui_draw_icon_pixmap_fg(view, sample->arrow_up, arrow_up_src, WIDTH, BOTTOM_MARGIN / 2); ui_draw_icon_pixmap_fg(view, sample->arrow_down, arrow_down_src, WIDTH, BOTTOM_MARGIN / 2); ui_draw_icon_pixmap_fg(view, sample->arrow_up_dent, arrow_up_dent_src, WIDTH, BOTTOM_MARGIN / 2); ui_draw_icon_pixmap_fg(view, sample->arrow_down_dent, arrow_down_dent_src, WIDTH, BOTTOM_MARGIN / 2); } } static void delete (ui_sb_view_t *view) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; if (sample) { XFreePixmap(view->display, sample->arrow_up); XFreePixmap(view->display, sample->arrow_up_dent); XFreePixmap(view->display, sample->arrow_down); XFreePixmap(view->display, sample->arrow_down_dent); XFreeGC(view->display, sample->gc); free(sample); } } static void draw_arrow_up_icon(ui_sb_view_t *view, int is_dent) { sample_sb_view_t *sample; Pixmap arrow; sample = (sample_sb_view_t*)view; if (is_dent) { arrow = sample->arrow_up_dent; } else { arrow = sample->arrow_up; } XCopyArea(view->display, arrow, view->window, view->gc, 0, 0, WIDTH, BOTTOM_MARGIN / 2, 0, view->height - BOTTOM_MARGIN); } static void draw_arrow_down_icon(ui_sb_view_t *view, int is_dent) { sample_sb_view_t *sample; Pixmap arrow; sample = (sample_sb_view_t*)view; if (is_dent) { arrow = sample->arrow_down_dent; } else { arrow = sample->arrow_down; } XCopyArea(view->display, arrow, view->window, view->gc, 0, 0, WIDTH, BOTTOM_MARGIN / 2, 0, view->height - BOTTOM_MARGIN / 2); } static void draw_scrollbar(ui_sb_view_t *view, int bar_top_y, unsigned int bar_height) { sample_sb_view_t *sample; sample = (sample_sb_view_t*)view; /* drawing bar */ XFillRectangle(view->display, view->window, view->gc, 1, bar_top_y, WIDTH - 1, bar_height); /* left side shade */ XSetForeground(view->display, sample->gc, sample->white_pixel); XDrawLine(view->display, view->window, sample->gc, 0, bar_top_y, 0, bar_top_y + bar_height - 1); /* up side shade */ XDrawLine(view->display, view->window, sample->gc, 0, bar_top_y, WIDTH - 1, bar_top_y); /* right side shade */ XSetForeground(view->display, sample->gc, sample->black_pixel); XDrawLine(view->display, view->window, sample->gc, WIDTH - 1, bar_top_y, WIDTH - 1, bar_top_y + bar_height - 1); /* down side shade */ XDrawLine(view->display, view->window, sample->gc, 1, bar_top_y + bar_height - 1, WIDTH, bar_top_y + bar_height - 1); } static void draw_background(ui_sb_view_t *view, int y, unsigned int height) { XClearArea(view->display, view->window, 0, y, WIDTH, height, 0); } static void draw_up_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_up_icon(view, is_pressed); } static void draw_down_button(ui_sb_view_t *view, int is_pressed) { draw_arrow_down_icon(view, is_pressed); } /* --- global functions --- */ ui_sb_view_t *ui_sample_sb_view_new(void) { sample_sb_view_t *sample; if ((sample = calloc(1, sizeof(sample_sb_view_t))) == NULL) { return NULL; } sample->view.version = 1; sample->view.get_geometry_hints = get_geometry_hints; sample->view.get_default_color = get_default_color; sample->view.realized = realized; sample->view.resized = resized; sample->view.color_changed = color_changed; sample->view.delete = delete; sample->view.draw_scrollbar = draw_scrollbar; sample->view.draw_background = draw_background; sample->view.draw_up_button = draw_up_button; sample->view.draw_down_button = draw_down_button; return (ui_sb_view_t*)sample; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/scrollbar/sample/Makefile.in�����������������������������������������������������������0100644�0001760�0000144�00000002610�13210547312�0017032�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/scrollbar/sample _SAMPLE_OBJ_xlib = ui_sample_sb_view.o ui_transparent_sample_sb_view.o ui_sample_sb_view_lib.o _SAMPLE_OBJ_win32 = ui_sample_sb_view_win32.o ui_sample_sb_view_lib_win32.o SAMPLE_OBJ = $(_SAMPLE_OBJ_@GUI@) _TARGETS_xlib = libsample.la _TARGETS_win32 = libsample.la TARGETS = $(_TARGETS_@GUI@) CFLAGS = $(CFLAGS_LOCAL) -I$(top_srcdir)/uitoolkit @CFLAGS@ @CPPFLAGS@ @X_CFLAGS@ \ @GUI_CFLAGS@ -I/usr/include _LIBS_xlib = @X_LIBS@ -lX11 @X_EXTRA_LIBS@ #_LIBS = @X_LIBS@ @X_PRE_LIBS@ -lX11 @X_EXTRA_LIBS@ _LIBS_win32 = -mwindows LIBS = $(_LIBS_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGETS) libsample.la: $(SAMPLE_OBJ) $(LIBTOOL_LINK) -o libsample.la $(SAMPLE_OBJ:.o=.lo) -rpath $(LIBDIR) \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGETS) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*sample*.* clean: rm -rf $(SAMPLE_OBJ) $(SAMPLE_OBJ:.o=.lo) libsample*.la *.core .libs distclean: clean rm -f Makefile ������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script���������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0012752�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script/mkinstalldirs�������������������������������������������������������������������0100755�0001760�0000144�00000003704�13210547312�0015640�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman <friedman@prep.ai.mit.edu> # Created: 1993-05-16 # Public domain errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" 1>&2 exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac case $dirmode in '') if mkdir -p -- . 2>/dev/null; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" fi ;; *) if mkdir -m "$dirmode" -p -- . 2>/dev/null; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # End: # mkinstalldirs ends here ������������������������������������������������������������mlterm-3.8.4/script/config.sub����������������������������������������������������������������������0100755�0001760�0000144�00000107243�13210547312�0015020�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2017 Free Software Foundation, Inc. timestamp='2017-04-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to <config-patches@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; e500v[12]) basic_machine=powerpc-unknown os=$os"spe" ;; e500v[12]-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` os=$os"spe" ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; nsx-tandem) basic_machine=nsx-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; wasm32) basic_machine=wasm32-unknown ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -ios) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; pru-*) os=-elf ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script/config.guess��������������������������������������������������������������������0100755�0001760�0000144�00000126343�13210547312�0015357�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2017 Free Software Foundation, Inc. timestamp='2017-05-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to <config-patches@gnu.org>. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include <features.h> #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ /sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || \ echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "${UNAME_MACHINE_ARCH}" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; *:Sortix:*:*) echo ${UNAME_MACHINE}-unknown-sortix exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <sys/systemcfg.h> main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include <stdlib.h> #include <unistd.h> int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <unistd.h> int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; e2k:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; k1om:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; mips64el:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` echo ${UNAME_MACHINE}-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says <Richard.M.Bartel@ccMail.Census.GOV> echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; SX-ACE:SUPER-UX:*:*) echo sxace-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac cat >&2 <<EOF $0: unable to guess system type This script (version $timestamp), has failed to recognize the operating system you are using. If your script is old, overwrite config.guess and config.sub with the latest versions from: http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub If $0 has already been updated, send the following data and any information you think might be pertinent to config-patches@gnu.org to provide the necessary information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script/missing�������������������������������������������������������������������������0100755�0001760�0000144�00000024036�13210547312�0014432�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.4 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. You can get \`$1Help2man' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script/config.rpath��������������������������������������������������������������������0100755�0001760�0000144�00000033434�13210547312�0015345�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2002 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # All known linkers require a `.a' archive for static linking (except M$VC, # which needs '.lib'). libext=a shlibext= host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix3* | aix4* | aix5*) wl='-Wl,' ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6*) wl='-Wl,' ;; linux*) echo '__INTEL_COMPILER' > conftest.$ac_ext if $CC -E conftest.$ac_ext >/dev/null | grep __INTEL_COMPILER >/dev/null then : else # Intel icc wl='-Qoption,ld,' fi ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) if test "x$host_vendor" = xsni; then wl='-LD' else wl='-Wl,' fi ;; esac fi hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then case "$host_os" in aix3* | aix4* | aix5*) # On AIX, the GNU linker is very broken ld_shlibs=no ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' ;; solaris* | sysv5*) if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi esac fi if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib' else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib' fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=yes ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9* | hpux10* | hpux11*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_minus_L=yes # Not in the search PATH, but as the default # location of the library. ;; irix5* | irix6*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; sco3.2v5*) ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) if test "x$host_vendor" = xsno; then hardcode_direct=yes # is this really true??? else hardcode_direct=no # Motorola manual says yes, but my tests say they lie fi ;; sysv4.3*) ;; sysv5*) hardcode_libdir_flag_spec= ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4.2uw2*) hardcode_direct=yes hardcode_minus_L=no ;; sysv5uw7* | unixware7*) ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics libname_spec='lib$name' sys_lib_dlsearch_path_spec="/lib /usr/lib" sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" case "$host_os" in aix3*) shlibext=so ;; aix4* | aix5*) shlibext=so ;; amigaos*) shlibext=ixlibrary ;; beos*) shlibext=so ;; bsdi4*) shlibext=so sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" ;; cygwin* | mingw* | pw32*) case $GCC,$host_os in yes,cygwin*) shlibext=dll.a ;; yes,mingw*) shlibext=dll sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"` ;; yes,pw32*) shlibext=dll ;; *) shlibext=dll ;; esac ;; darwin* | rhapsody*) shlibext=dylib ;; freebsd1*) ;; freebsd*) shlibext=so ;; gnu*) shlibext=so ;; hpux9* | hpux10* | hpux11*) shlibext=sl ;; irix5* | irix6*) shlibext=so case "$host_os" in irix5*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 ") libsuff= shlibsuff= ;; *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" ;; linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) ;; linux-gnu*) shlibext=so ;; netbsd*) shlibext=so ;; newsos6) shlibext=so ;; openbsd*) shlibext=so ;; os2*) libname_spec='$name' shlibext=dll ;; osf3* | osf4* | osf5*) shlibext=so sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) shlibext=so ;; solaris*) shlibext=so ;; sunos4*) shlibext=so ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) shlibext=so case "$host_vendor" in motorola) sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; uts4*) shlibext=so ;; dgux*) shlibext=so ;; sysv4*MP*) if test -d /usr/nec; then shlibext=so fi ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_sys_lib_search_path_spec=`echo "X$sys_lib_search_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_sys_lib_dlsearch_path_spec=`echo "X$sys_lib_dlsearch_path_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF # How to pass a linker flag through the compiler. wl="$escaped_wl" # Static library suffix (normally "a"). libext="$libext" # Shared library suffix (normally "so"). shlibext="$shlibext" # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator="$hardcode_libdir_separator" # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # resulting binary. hardcode_direct="$hardcode_direct" # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L="$hardcode_minus_L" # Compile-time system search path for libraries sys_lib_search_path_spec="$escaped_sys_lib_search_path_spec" # Run-time system search path for libraries sys_lib_dlsearch_path_spec="$escaped_sys_lib_dlsearch_path_spec" EOF ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script/install-sh����������������������������������������������������������������������0100755�0001760�0000144�00000032464�13210547312�0015043�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-12-25.00 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/script/ltmain.sh�����������������������������������������������������������������������0100755�0001760�0000144�00000606031�13210547312�0014657�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION=1.5.26 TIMESTAMP=" (1.1220.2.492 2008/01/30 06:40:56)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # Check that we have a working $echo. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then # Yippee, $echo works! : else # Restart under the correct shell, and then maybe $echo will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF $* EOF exit $EXIT_SUCCESS fi default_mode= help="Try \`$progname --help' for more information." magic="%%%MAGIC variable%%%" mkdir="mkdir" mv="mv -f" rm="rm -f" # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr SP2NL='tr \040 \012' NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system SP2NL='tr \100 \n' NL2SP='tr \r\n \100\100' ;; esac # NLS nuisances. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). # We save the old values to restore during execute mode. lt_env= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var lt_env=\"$lt_var=\$$lt_var \$lt_env\" $lt_var=C export $lt_var fi" done if test -n "$lt_env"; then lt_env="env $lt_env" fi # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then $echo "$modename: not configured to build any kind of library" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $echo $win32_libid_type } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then $echo "$modename: unable to infer tagged configuration" $echo "$modename: specify a tag with \`--tag'" 1>&2 exit $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # Parse our command line options once, thoroughly. while test "$#" -gt 0 do arg="$1" shift case $arg in -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in execute_dlfiles) execute_dlfiles="$execute_dlfiles $arg" ;; tag) tagname="$arg" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; esac case $tagname in CC) # Don't test for the "default" C tag, as we know, it's there, but # not specially marked. ;; *) if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" else $echo "$progname: ignoring unknown tag $tagname" 1>&2 fi ;; esac ;; *) eval "$prev=\$arg" ;; esac prev= prevopt= continue fi # Have we seen a non-optional argument yet? case $arg in --help) show_help=yes ;; --version) echo "\ $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # Now print the configurations for the tags. for tagname in $taglist; do ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --dry-run | -n) run=: ;; --features) $echo "host: $host" if test "$build_libtool_libs" = yes; then $echo "enable shared libraries" else $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then $echo "enable static libraries" else $echo "disable static libraries" fi exit $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= if test -z "$show_help"; then # Infer the operation mode. if test -z "$mode"; then $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 case $nonopt in *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do case $arg in -c) mode=compile break ;; esac done ;; *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) mode=install ;; *rm) mode=uninstall ;; *) # If we have no mode, but dlfiles were specified, then do execute mode. test -n "$execute_dlfiles" && mode=execute # Just use the default operation mode. if test -z "$mode"; then if test -n "$nonopt"; then $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 else $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 fi fi ;; esac fi # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then $echo "$modename: unrecognized option \`-dlopen'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$modename --help --mode=$mode' for more information." # These modes are in order of execution frequency so that they run quickly. case $mode in # libtool compile mode compile) modename="$modename: compile" # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) if test -n "$libobj" ; then $echo "$modename: you cannot specify \`-o' more than once" 1>&2 exit $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac lastarg="$lastarg $arg" done IFS="$save_ifs" lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` # Add the arguments to base_compile. base_compile="$base_compile $lastarg" continue ;; * ) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac base_compile="$base_compile $lastarg" done # for arg case $arg_mode in arg) $echo "$modename: you must specify an argument for -Xcompile" exit $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # Get the name of the library object. [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo xform='[cCFSifmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; *.ads) xform=ads ;; *.asm) xform=asm ;; *.c++) xform=c++ ;; *.cc) xform=cc ;; *.ii) xform=ii ;; *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; *.sx) xform=sx ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case $libobj in *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 exit $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$obj"; then xdir= else xdir=$xdir/ fi lobj=${xdir}$objdir/$objname if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi $run $rm $removelist trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" removelist="$removelist $output_obj $lockfile" trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $run ln "$progpath" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $run $rm "$libobj" "${libobj}T" # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. test -z "$run" && cat > ${libobj}T <<EOF # $libobj - a libtool object file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # Please DO NOT delete this file! # It is necessary for linking the library. # Name of the PIC object. EOF # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi if test ! -d "${xdir}$objdir"; then $show "$mkdir ${xdir}$objdir" $run $mkdir ${xdir}$objdir exit_status=$? if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then exit $exit_status fi fi if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi $run $rm "$lobj" "$output_obj" $show "$command" if $run eval $lt_env "$command"; then : else test -n "$output_obj" && $run $rm $removelist exit $EXIT_FAILURE fi if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then $show "$mv $output_obj $lobj" if $run $mv $output_obj $lobj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the PIC object to the libtool object file. test -z "$run" && cat >> ${libobj}T <<EOF pic_object='$objdir/$objname' EOF # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi else # No PIC object so indicate it doesn't exist in the libtool # object file. test -z "$run" && cat >> ${libobj}T <<EOF pic_object=none EOF fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" $run $rm "$obj" "$output_obj" $show "$command" if $run eval $lt_env "$command"; then : else $run $rm $removelist exit $EXIT_FAILURE fi if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the non-PIC object the libtool object file. # Only append if the libtool object file exists. test -z "$run" && cat >> ${libobj}T <<EOF # Name of the non-PIC object. non_pic_object='$objname' EOF else # Append the name of the non-PIC object the libtool object file. # Only append if the libtool object file exists. test -z "$run" && cat >> ${libobj}T <<EOF # Name of the non-PIC object. non_pic_object=none EOF fi $run $mv "${libobj}T" "${libobj}" # Unlock the critical section if it was locked if test "$need_locks" != no; then $run $rm "$lockfile" fi exit $EXIT_SUCCESS ;; # libtool link mode link | relink) modename="$modename: link" case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args="$nonopt" base_compile="$nonopt $@" compile_command="$nonopt" finalize_command="$nonopt" compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= avoid_version=no dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= notinst_path= # paths that contain not-installed libtool libraries precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test ;; *) qarg=$arg ;; esac libtool_args="$libtool_args $qarg" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) compile_command="$compile_command @OUTPUT@" finalize_command="$finalize_command @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. compile_command="$compile_command @SYMFILE@" finalize_command="$finalize_command @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" if test ! -f "$arg"; then $echo "$modename: symbol file \`$arg' does not exist" exit $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat $save_arg` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit $EXIT_FAILURE fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit $EXIT_FAILURE else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi done else $echo "$modename: link input file \`$save_arg' does not exist" exit $EXIT_FAILURE fi arg=$save_arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit $EXIT_FAILURE ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= compile_command="$compile_command $wl$qarg" finalize_command="$finalize_command $wl$qarg" continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" prev= continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 continue ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: more than one -exported-symbols argument is not allowed" exit $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; esac continue ;; -L*) dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" notinst_path="$notinst_path $dir" fi dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Wl,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $wl$flag" linker_flags="$linker_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit $EXIT_FAILURE fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit $EXIT_FAILURE else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi done # argument parsing loop if test -n "$prev"; then $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` if test "X$output_objdir" = "X$output"; then output_objdir="$objdir" else output_objdir="$output_objdir/$objdir" fi # Create the object directory. if test ! -d "$output_objdir"; then $show "$mkdir $output_objdir" $run $mkdir $output_objdir exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $exit_status fi fi # Determine the type of output case $output in "") $echo "$modename: you must specify an output file" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac case $host in *cygwin* | *mingw* | *pw32*) # don't eliminate duplications in $postdeps and $predeps duplicate_compiler_generated_deps=yes ;; *) duplicate_compiler_generated_deps=$duplicate_deps ;; esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if test "X$duplicate_deps" = "Xyes" ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries case $linkmode in lib) passes="conv link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 exit $EXIT_FAILURE ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 continue fi name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then library_names= old_library= case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $echo $echo "*** Warning: Trying to link with static lib archive $deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because the file extensions .$libext of this argument makes me believe" $echo "*** that it is just a static archive that I should not used here." else $echo $echo "*** Warning: Linking the shared library $output against the" $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE fi # Check to see that this really is a libtool archive. if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." dlname= dlopen= dlpreopen= libdir= library_names= old_library= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 exit $EXIT_FAILURE fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 abs_ladir="$ladir" fi ;; esac laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then $echo "$modename: warning: library \`$lib' was moved." 1>&2 dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 exit $EXIT_FAILURE fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi # This is a shared library # Warn about portability, can't link against -module's on # some systems (darwin) if test "$shouldnotlink" = yes && test "$pass" = link ; then $echo if test "$linkmode" = prog; then $echo "*** Warning: Linking the executable $output against the loadable module" else $echo "*** Warning: Linking the shared library $output against the loadable module" fi $echo "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names realname="$2" shift; shift libname=`eval \\$echo \"$libname_spec\"` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" soname=`$echo $soroot | ${SED} -e 's/^.*\///'` newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else $show "extracting exported symbol list from \`$soname'" save_ifs="$IFS"; IFS='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else $show "generating import library for \`$soname'" save_ifs="$IFS"; IFS='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a module then we can not link against # it, someone is ignoring the new warnings I added if /usr/bin/file -L $add 2> /dev/null | $EGREP ": [^:]* bundle" >/dev/null ; then $echo "** Warning, lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $echo $echo "** And there doesn't seem to be a static archive available" $echo "** The link will probably fail, sorry" else add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then $echo "$modename: configuration error: unsupported hardcode properties" exit $EXIT_FAILURE fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && \ test "$hardcode_minus_L" != yes && \ test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $echo $echo "*** Warning: This system can not link to static lib archive $lib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $echo "*** But as you try to build a module library, libtool will still create " $echo "*** a static module, that should work as long as the dlopening application" $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do case $deplib in -L*) path="$deplib" ;; *.la) dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$deplib" && dir="." # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" fi ;; esac if grep "^installed=no" $deplib > /dev/null; then path="$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi path="$absdir" fi depdepl= case $host in *-*-darwin*) # we do not want to link against static libs, # but need to link against shared eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$deplibdir/$depdepl" ; then depdepl="$deplibdir/$depdepl" elif test -f "$path/$depdepl" ; then depdepl="$path/$depdepl" else # Can't find it, oh well... depdepl= fi # do not add paths which are already there case " $newlib_search_path " in *" $path "*) ;; *) newlib_search_path="$newlib_search_path $path";; esac fi path="" ;; *) path="-L$path" ;; esac ;; -l*) case $host in *-*-darwin*) # Again, we only want to link against shared libraries eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` for tmp in $newlib_search_path ; do if test -f "$tmp/lib$tmp_libs.dylib" ; then eval depdepl="$tmp/lib$tmp_libs.dylib" break fi done path="" ;; *) continue ;; esac ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) case " $deplibs" in *\ -l* | *\ -L*) $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;; esac if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 fi if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 fi # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) if test "$module" = no; then $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit $EXIT_FAILURE else $echo $echo "*** Warning: Linking the shared library $output against the non-libtool" $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi if test "$dlself" != no; then $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 fi set dummy $rpath if test "$#" -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 fi else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 IFS="$save_ifs" if test -n "$8"; then $echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$2" number_minor="$3" number_revision="$4" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; esac ;; no) current="$2" revision="$3" age="$4" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac if test "$age" -gt "$current"; then $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header major=.`expr $current - $age` versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... minor_current=`expr $current + 1` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current"; ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) major=.`expr $current - $age` versuffix="$major.$age.$revision" ;; osf) major=.`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. major=`expr $current - $age` versuffix="-$major" ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$echo "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done if test -n "$removelist"; then $show "${rm}r $removelist" $run ${rm}r $removelist fi fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $rm conftest.c cat > conftest.c <<EOF int main() { return 0; } EOF $rm conftest if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then ldd_output=`ldd conftest` for i in $deplibs; do name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) newdeplibs="$newdeplibs $i" i="" ;; esac fi if test -n "$i" ; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches deplib_match=$2 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then newdeplibs="$newdeplibs $i" else droppeddeps=yes $echo $echo "*** Warning: dynamic linker does not accept needed library $i." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which I believe you do not have" $echo "*** because a test_compile did reveal that the linker did not use it for" $echo "*** its dynamic dependency list that programs get resolved with at runtime." fi fi else newdeplibs="$newdeplibs $i" fi done else # Error occurred in the first compile. Let's try to salvage # the situation: Compile a separate program for each library. for i in $deplibs; do name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest if $LTCC $LTCFLAGS -o conftest conftest.c $i; then ldd_output=`ldd conftest` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) newdeplibs="$newdeplibs $i" i="" ;; esac fi if test -n "$i" ; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches deplib_match=$2 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then newdeplibs="$newdeplibs $i" else droppeddeps=yes $echo $echo "*** Warning: dynamic linker does not accept needed library $i." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because a test_compile did reveal that the linker did not use this one" $echo "*** as a dynamic dependency that programs can get resolved with at runtime." fi fi else droppeddeps=yes $echo $echo "*** Warning! Library $i is needed by this library but I was not able to" $echo "*** make it link in! You will probably need to install it or some" $echo "*** library that it depends on before this library will be fully" $echo "*** functional. Installing it before continuing would be even better." fi else newdeplibs="$newdeplibs $i" fi done fi ;; file_magic*) set dummy $deplibs_check_method file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for file magic test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a file magic. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval $echo \"$potent_lib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for regex pattern test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a regex pattern. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` done fi if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ | grep . >/dev/null; then $echo if test "X$deplibs_check_method" = "Xnone"; then $echo "*** Warning: inter-library dependencies are not supported in this platform." else $echo "*** Warning: inter-library dependencies are not known to be supported." fi $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $echo $echo "*** Warning: libtool could not satisfy all declared inter-library" $echo "*** dependencies of module $libname. Therefore, libtool will create" $echo "*** a static module, that should work as long as the dlopening" $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $echo "*** The inter-library dependencies that have been dropped here will be" $echo "*** automatically added whenever a program is linked with this library" $echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $echo $echo "*** Since this library must not contain undefined symbols," $echo "*** because either the platform does not support them or" $echo "*** it was explicitly requested with -no-undefined," $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" shift; shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" if len=`expr "X$cmd" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then $show "$cmd" $run eval "$cmd" || exit $? skipped_export=false else # The command line is too long to execute in one step. $show "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise. $echo "creating reloadable object files..." # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output output_la=`$echo "X$output" | $Xsed -e "$basename"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= delfiles= last_robj= k=1 output=$output_objdir/$output_la-${k}.$objext # Loop over the list of objects to be linked. for obj in $save_libobjs do eval test_cmds=\"$reload_cmds $objlist $last_robj\" if test "X$objlist" = X || { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; }; then objlist="$objlist $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${k}.$objext objlist=$obj len=1 fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if ${skipped_export-false}; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols libobjs=$output # Append the command to create the export file. eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" fi # Set up a command to remove the reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" done $echo "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi # Append the command to remove the reloadable object files # to the just-reset $cmds. eval cmds=\"\$cmds~\$rm $delfiles\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) case " $deplibs" in *\ -l* | *\ -L*) $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;; esac if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case $output in *.lo) if test -n "$objs$old_deplibs"; then $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 exit $EXIT_FAILURE fi libobj="$output" obj=`$echo "X$output" | $Xsed -e "$lo2o"` ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $run $rm $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $run eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi if test "$preload" = yes; then if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && test "$dlopen_self_static" = unknown; then $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." fi fi case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac case $host in *darwin*) # Don't allow lazy linking, it breaks C++ global constructors if test "$tagname" = CXX ; then compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" fi ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then dlsyms="${outputname}S.c" else $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 fi fi if test -n "$dlsyms"; then case $dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${outputname}.nm" $show "$rm $nlist ${nlist}S ${nlist}T" $run $rm "$nlist" "${nlist}S" "${nlist}T" # Parse the name list into a source file. $show "creating $output_objdir/$dlsyms" test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ #define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then $show "generating symbol list for \`$output'" test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for arg in $progfiles; do $show "extracting global C symbols from \`$arg'" $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac fi fi for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -z "$run"; then # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if grep -v "^: " < "$nlist" | if sort -k 3 </dev/null >/dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ #undef lt_preloaded_symbols #if defined (__STDC__) && __STDC__ # define lt_ptr void * #else # define lt_ptr char * # define const #endif /* The mapping between symbol names and symbols. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ const char *name; lt_ptr address; } lt_preloaded_symbols[] = {\ " eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" $echo >> "$output_objdir/$dlsyms" "\ {0, (lt_ptr) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " fi pic_flag_for_symtable= case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag";; esac esac # Now compile the dynamic symbol file. $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? # Clean up the generated files. $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" # Transform the symbol file into the correct name. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_status=$? # Delete the generated files. if test -n "$dlsyms"; then $show "$rm $output_objdir/${outputname}S.${objext}" $run $rm "$output_objdir/${outputname}S.${objext}" fi exit $exit_status fi if test -n "$shlibpath_var"; then # We should set the shlibpath_var rpath= for dir in $temp_rpath; do case $dir in [\\/]* | [A-Za-z]:[\\/]*) # Absolute path. rpath="$rpath$dir:" ;; *) # Relative path: add a thisdir entry. rpath="$rpath\$thisdir/$dir:" ;; esac done temp_rpath="$rpath" fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $run $rm $output # Link the executable and exit $show "$link_command" $run eval "$link_command" || exit $? exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 $echo "$modename: \`$output' will be relinked during installation" 1>&2 else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname $show "$link_command" $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if our run command is non-null. if test -z "$run"; then # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <<EOF /* $cwrappersource - temporary wrapper executable for $objdir/$outputname Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP The $output program cannot be directly executed until all the libtool libraries that it depends on are installed. This wrapper executable should never be moved out of the build directory. If it is, it will not operate correctly. Currently, it simply execs the wrapper *script* "/bin/sh $output", but could eventually absorb all of the scripts functionality and exec $objdir/$outputname directly. */ EOF cat >> $cwrappersource<<"EOF" #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <malloc.h> #include <stdarg.h> #include <assert.h> #include <string.h> #include <ctype.h> #include <sys/stat.h> #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(const char *path); char * strendzap(char *str, const char *pat); void lt_fatal (const char *message, ...); int main (int argc, char *argv[]) { char **newargz; int i; program_name = (char *) xstrdup (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <<EOF newargz[0] = (char *) xstrdup("$SHELL"); EOF cat >> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* we know the script has the same name, without the .exe */ /* so make sure newargz[1] doesn't end in .exe */ strendzap(newargz[1],".exe"); for (i = 1; i < argc; i++) newargz[i+1] = xstrdup(argv[i]); newargz[argc+1] = NULL; for (i=0; i<argc+1; i++) { DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); ; } EOF case $host_os in mingw*) cat >> $cwrappersource <<EOF execv("$SHELL",(char const **)newargz); EOF ;; *) cat >> $cwrappersource <<EOF execv("$SHELL",newargz); EOF ;; esac cat >> $cwrappersource <<"EOF" return 127; } void * xmalloc (size_t num) { void * p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } char * strendzap(char *str, const char *pat) { size_t len, patlen; assert(str != NULL); assert(pat != NULL); len = strlen(str); patlen = strlen(pat); if (patlen <= len) { str += len - patlen; if (strcmp(str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char * mode, const char * message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } EOF # we should really use a build-platform specific compiler # here, but OTOH, the wrappers (shell script and this C one) # are only useful if you want to execute the "real" binary. # Since the "real" binary is built for $host, then this # wrapper might as well be built for $host, too. $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 $echo > $output "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variable: notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$echo are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then # Yippee, \$echo works! : else # Restart under the correct shell, and then maybe \$echo will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || \\ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $mkdir \"\$progdir\" else $rm \"\$progdir/\$file\" fi" $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $echo \"\$relink_command_output\" >&2 $rm \"\$progdir/\$file\" exit $EXIT_FAILURE fi fi $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $rm \"\$progdir/\$program\"; $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } $rm \"\$progdir/\$file\" fi" else $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $echo >> $output "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE fi else # The program doesn't exist. \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts $echo "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done for obj in $save_oldobjs do oldobjs="$objlist $obj" objlist="$objlist $obj" eval test_cmds=\"$old_archive_cmds\" if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do eval cmd=\"$cmd\" IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$generated"; then $show "${rm}r$generated" $run ${rm}r$generated fi # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. if test -z "$run"; then for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdlfiles="$newdlfiles $libdir/$name" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $rm $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi done fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? ;; esac exit $EXIT_SUCCESS ;; # libtool install mode install) modename="$modename: install" # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $echo "X$nonopt" | grep shtool > /dev/null; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$arg " arg="$1" shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$install_prog$arg" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$install_prog $arg" done if test -z "$install_prog"; then $echo "$modename: you must specify an install program" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test -z "$files"; then if test -z "$dest"; then $echo "$modename: no file or destination specified" 1>&2 else $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Strip any trailing slash from the destination. dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` test "X$destdir" = "X$dest" && destdir=. destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` # Not a directory, so check to see that there is only one file specified. set dummy $files if test "$#" -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi library_names= old_library= relink_command= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ test "X$dir" = "X$file/" && dir= dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. if test "$inst_prefix_dir" = "$destdir"; then $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 exit $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` fi $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 exit $EXIT_FAILURE fi fi # See the names of the shared library. set dummy $library_names if test -n "$2"; then realname="$2" shift shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. $show "$install_prog $dir/$srcname $destdir/$realname" $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? if test -n "$stripme" && test -n "$striplib"; then $show "$striplib $destdir/$realname" $run eval "$striplib $destdir/$realname" || exit $? fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_exit } done IFS="$save_ifs" fi # Install the pseudo-library for information purposes. name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` instname="$dir/$name"i $show "$install_prog $instname $destdir/$name" $run eval "$install_prog $instname $destdir/$name" || exit $? # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` ;; *.$objext) staticdest="$destfile" destfile= ;; *) $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac # Install the libtool object if requested. if test -n "$destfile"; then $show "$install_prog $file $destfile" $run eval "$install_prog $file $destfile" || exit $? fi # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` $show "$install_prog $staticobj $staticdest" $run eval "$install_prog \$staticobj \$staticdest" || exit $? fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then file=`$echo $file|${SED} 's,.exe$,,'` stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac # Check the variables that should have been set. if test -z "$notinst_deplibs"; then $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 exit $EXIT_FAILURE fi finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then # If there is no directory component, then add one. case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac fi libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 finalize=no fi done relink_command= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ${rm}r "$tmpdir" continue fi file="$outputname" else $echo "$modename: warning: cannot relink \`$file'" 1>&2 fi else # Install the binary that we compiled earlier. file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; esac $show "$install_prog$stripme $file $destfile" $run eval "$install_prog\$stripme \$file \$destfile" || exit $? test -n "$outputname" && ${rm}r "$tmpdir" ;; esac done for file in $staticlibs; do name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` # Set up the ranlib parameters. oldlib="$destdir/$name" $show "$install_prog $file $oldlib" $run eval "$install_prog \$file \$oldlib" || exit $? if test -n "$stripme" && test -n "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$future_libdirs"; then $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 fi if test -n "$current_libdirs"; then # Maybe just do a dry run. test -n "$run" && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi ;; # libtool finish mode finish) modename="$modename: finish" libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || admincmds="$admincmds $cmd" done IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $run eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $echo "Libraries have been installed in:" for libdir in $libdirs; do $echo " $libdir" done $echo $echo "If you ever happen to want to link against installed libraries" $echo "in a given directory, LIBDIR, you must either use libtool, and" $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" $echo " during execution" fi if test -n "$runpath_var"; then $echo " - add LIBDIR to the \`$runpath_var' environment variable" $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $echo $echo "See any operating system documentation about shared libraries for" $echo "more information, such as the ld(1) and ld.so(8) manual pages." $echo "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # libtool execute mode execute) modename="$modename: execute" # The first argument is the command name. cmd="$nonopt" if test -z "$cmd"; then $echo "$modename: you must specify a COMMAND" 1>&2 $echo "$help" exit $EXIT_FAILURE fi # Handle -dlopen flags immediately. for file in $execute_dlfiles; do if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi dir= case $file in *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Read the libtool library. dlname= library_names= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" continue fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi fi ;; *.lo) # Just add the directory containing the .lo file. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. ;; *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` args="$args \"$file\"" done if test -z "$run"; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" $echo "export $shlibpath_var" fi $echo "$cmd$args" exit $EXIT_SUCCESS fi ;; # libtool clean and uninstall mode clean | uninstall) modename="$modename: $mode" rm="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) rm="$rm $arg"; rmforce=yes ;; -*) rm="$rm $arg" ;; *) files="$files $arg" ;; esac done if test -z "$rm"; then $echo "$modename: you must specify an RM program" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi rmdirs= origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. objdir="$origobjdir" else objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if (test -L "$file") >/dev/null 2>&1 \ || (test -h "$file") >/dev/null 2>&1 \ || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # Read the .lo file . $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" \ && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" \ && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) file=`$echo $file|${SED} 's,.exe$,,'` noexename=`$echo $name|${SED} 's,.exe$,,'` # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then relink_command= . $dir/$noexename # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then $show "rmdir $dir" $run rmdir $dir >/dev/null 2>&1 fi done exit $exit_status ;; "") $echo "$modename: you must specify a MODE" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE fi # We need to display help for each of the modes. case $mode in "") $echo \ "Usage: $modename [OPTION]... [MODE-ARG]... Provide generalized library-building support services. --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --finish same as \`--mode=finish' --help display this help message and exit --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] --quiet same as \`--silent' --silent don't print informational messages --tag=TAG use configuration variables from tag TAG --version print version information MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for a more detailed description of MODE. Report bugs to <bug-libtool@gnu.org>." exit $EXIT_SUCCESS ;; clean) $echo \ "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $echo \ "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -static always build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $echo \ "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $echo \ "Usage: $modename [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $echo \ "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $echo \ "Usage: $modename [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $echo \ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android��������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013066�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/libs���������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014017�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013646�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/ui_connect_dialog.c��������������������������������������������������������0100644�0001760�0000144�00000006434�13210547312�0017542�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* Note that protocols except ssh aren't supported if USE_LIBSSH2 is defined. */ #ifdef USE_LIBSSH2 #include <stdio.h> #include <pobl/bl_str.h> #include <pobl/bl_mem.h> #include <pobl/bl_debug.h> #include "../ui_connect_dialog.h" /* --- static variables --- */ static char *d_uri; static char *d_pass; static char *d_exec_cmd; /* --- global functions --- */ int ui_connect_dialog(char **uri, /* Should be free'ed by those who call this. */ char **pass, /* Same as uri. If pass is not input, "" is set. */ char **exec_cmd, /* Same as uri. If exec_cmd is not input, NULL is set. */ int *x11_fwd, /* in/out */ char *display_name, Window parent_window, char **sv_list, char *def_server /* (<user>@)(<proto>:)<server address>(:<encoding>). */ ) { ui_display_show_dialog(def_server); *uri = d_uri; *pass = d_pass; *exec_cmd = d_exec_cmd; *x11_fwd = 0; d_uri = d_pass = d_exec_cmd = NULL; if (*uri) { return 1; } else { return 0; } } void Java_mlterm_native_1activity_MLActivity_dialogOkClicked(JNIEnv *env, jobject this, jstring user, jstring serv, jstring port, jstring encoding, jstring pass, jstring exec_cmd) { const char *s, *u, *p, *e; size_t uri_len, len; s = (*env)->GetStringUTFChars(env, serv, NULL); if (*s == '\0') { (*env)->ReleaseStringUTFChars(env, serv, s); return; } u = (*env)->GetStringUTFChars(env, user, NULL); p = (*env)->GetStringUTFChars(env, port, NULL); e = (*env)->GetStringUTFChars(env, encoding, NULL); uri_len = strlen(s) + 1; if ((len = strlen(u)) > 0) { uri_len += (len + 1); } if ((len = strlen(p)) > 0) { uri_len += (len + 1); } if ((len = strlen(e)) > 0) { uri_len += (len + 1); } if ((d_uri = malloc(uri_len))) { *d_uri = '\0'; if (*u) { strcat(d_uri, u); strcat(d_uri, "@"); } strcat(d_uri, s); if (*p) { strcat(d_uri, ":"); strcat(d_uri, p); } if (*e) { strcat(d_uri, ":"); strcat(d_uri, e); } } (*env)->ReleaseStringUTFChars(env, serv, s); (*env)->ReleaseStringUTFChars(env, user, u); (*env)->ReleaseStringUTFChars(env, port, p); (*env)->ReleaseStringUTFChars(env, encoding, e); if (*s == '\0') { return ; } p = (*env)->GetStringUTFChars(env, pass, NULL); e = (*env)->GetStringUTFChars(env, exec_cmd, NULL); d_pass = strdup(p); if (*e != '\0') { d_exec_cmd = strdup(e); } (*env)->ReleaseStringUTFChars(env, pass, p); (*env)->ReleaseStringUTFChars(env, exec_cmd, e); bl_debug_printf( "%s %s %s\n", d_uri, d_pass, d_exec_cmd); } #else #include <jni.h> void Java_mlterm_native_1activity_MLActivity_dialogOkClicked(JNIEnv *env, jobject this, jstring user, jstring serv, jstring port, jstring encoding, jstring pass, jstring exec_cmd) { } #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/ui_xic.c�������������������������������������������������������������������0100644�0001760�0000144�00000004016�13210547312�0015347�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "../ui_xic.h" #include <pobl/bl_debug.h> /* --- global functions --- */ int ui_xic_activate(ui_window_t *win, char *xim_name, char *xim_locale) { return 1; } int ui_xic_deactivate(ui_window_t *win) { return 1; } char *ui_xic_get_xim_name(ui_window_t *win) { return ""; } char *ui_xic_get_default_xim_name(void) { return ""; } int ui_xic_fg_color_changed(ui_window_t *win) { return 0; } int ui_xic_bg_color_changed(ui_window_t *win) { return 0; } int ui_xic_font_set_changed(ui_window_t *win) { return 0; } int ui_xic_resized(ui_window_t *win) { return 0; } int ui_xic_set_spot(ui_window_t *win) { return 0; } size_t ui_xic_get_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return 0; } size_t ui_xic_get_utf8_str(ui_window_t *win, u_char *seq, size_t seq_len, ef_parser_t **parser, KeySym *keysym, XKeyEvent *event) { return 0; } int ui_xic_filter_event(ui_window_t *win, /* Should be root window. */ XEvent *event) { return 0; } int ui_xic_set_focus(ui_window_t *win) { return 1; } int ui_xic_unset_focus(ui_window_t *win) { return 1; } int ui_xic_is_active(ui_window_t *win) { return 1; } int ui_xic_switch_mode(ui_window_t *win) { JNIEnv *env; jobject this; jboolean is_active; if ((*win->disp->display->app->activity->vm)->GetEnv(win->disp->display->app->activity->vm, &env, JNI_VERSION_1_6) != JNI_OK) { return 0; } this = win->disp->display->app->activity->clazz; (*env)->CallVoidMethod(env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "forceAsciiInput", "()V")); } #if 0 /* * ui_xim.c <-> ui_xic.c communication functions * Not necessary in fb. */ int x_xim_activated(ui_window_t *win) { return 1; } int x_xim_destroyed(ui_window_t *win) { return 1; } #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/ui.h�����������������������������������������������������������������������0100644�0001760�0000144�00000024444�13210547312�0014520�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_H__ #define ___UI_H__ #include <jni.h> #include <android/sensor.h> #include <android_native_app_glue.h> typedef struct { struct android_app *app; ANativeWindow_Buffer buf; unsigned int bytes_per_pixel; unsigned int yoffset; struct rgb_info { unsigned int r_limit; unsigned int g_limit; unsigned int b_limit; unsigned int r_offset; unsigned int g_offset; unsigned int b_offset; } rgbinfo; ASensorManager *sensor_man; const ASensor *accel_sensor; ASensorEventQueue *sensor_evqueue; int key_state; int button_state; int lock_state; unsigned int long_press_counter; } Display; #define PIXEL_RED(pixel, rgbinfo) (((pixel) >> (rgbinfo).r_offset) << (rgbinfo).r_limit) #define PIXEL_BLUE(pixel, rgbinfo) (((pixel) >> (rgbinfo).b_offset) << (rgbinfo).b_limit) #define PIXEL_GREEN(pixel, rgbinfo) (((pixel) >> (rgbinfo).g_offset) << (rgbinfo).g_limit) #define RGB_TO_PIXEL(r, g, b, rgbinfo) \ ((((r) >> (rgbinfo).r_limit) << (rgbinfo).r_offset) | \ (((g) >> (rgbinfo).g_limit) << (rgbinfo).g_offset) | \ (((b) >> (rgbinfo).b_limit) << (rgbinfo).b_offset)) typedef int XIC; /* dummy */ typedef void *XID; /* dummy */ typedef void *Window; /* dummy */ typedef void *Drawable; /* dummy */ typedef struct { unsigned char *image; unsigned int width; unsigned int height; } * Pixmap; typedef unsigned char *PixmapMask; typedef int GC; /* dummy */ typedef int Font; /* dummy */ typedef int Cursor; /* dummy */ typedef int KeyCode; typedef int KeySym; typedef struct /* Same as definition in X11/X.h */ { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; typedef struct /* Same as definition in X11/X.h */ { unsigned char byte1; unsigned char byte2; } XChar2b; typedef struct { int type; unsigned int state; KeySym ksym; unsigned int keycode; } XKeyEvent; typedef unsigned long Time; /* Same as definition in X11/X.h */ typedef unsigned long Atom; /* Same as definition in X11/X.h */ typedef struct { int type; Time time; int x; int y; unsigned int state; unsigned int button; } XButtonEvent; typedef struct { int type; Time time; int x; int y; unsigned int state; } XMotionEvent; typedef union { int type; XKeyEvent xkey; XButtonEvent xbutton; XMotionEvent xmotion; } XEvent; typedef int XSelectionRequestEvent; /* dummy */ typedef struct { char *file; int32_t format; /* XXX (fontsize|FONT_BOLD|FONT_ITALIC) on freetype. */ int32_t num_glyphs; unsigned char *glyphs; int32_t glyph_width_bytes; unsigned char width; unsigned char width_full; unsigned char height; unsigned char ascent; int16_t *glyph_indeces; /* for pcf */ int16_t min_char_or_byte2; int16_t max_char_or_byte2; int16_t min_byte1; int16_t max_byte1; int32_t *glyph_offsets; #ifdef USE_FREETYPE /* for freetype */ void *face; u_int32_t num_indeces; u_int32_t glyph_size; int is_aa; #endif unsigned int ref_count; } XFontStruct; typedef int XFontSet; /* dummy */ #define None 0L /* Same as definition in X11/X.h */ #define NoSymbol 0L /* Same as definition in X11/X.h */ #define CurrentTime 0L /* Same as definition in X11/X.h */ /* Same as definition in X11/X.h */ #define NoEventMask 0L #define KeyPressMask (1L << 0) #define KeyReleaseMask (1L << 1) #define ButtonPressMask (1L << 2) #define ButtonReleaseMask (1L << 3) #define EnterWindowMask (1L << 4) #define LeaveWindowMask (1L << 5) #define PointerMotionMask (1L << 6) #define PointerMotionHintMask (1L << 7) #define Button1MotionMask (1L << 8) #define Button2MotionMask (1L << 9) #define Button3MotionMask (1L << 10) #define Button4MotionMask (1L << 11) #define Button5MotionMask (1L << 12) #define ButtonMotionMask (1L << 13) #define KeymapStateMask (1L << 14) #define ExposureMask (1L << 15) #define VisibilityChangeMask (1L << 16) #define StructureNotifyMask (1L << 17) #define ResizeRedirectMask (1L << 18) #define SubstructureNotifyMask (1L << 19) #define SubstructureRedirectMask (1L << 20) #define FocusChangeMask (1L << 21) #define PropertyChangeMask (1L << 22) #define ColormapChangeMask (1L << 23) #define OwnerGrabButtonMask (1L << 24) #define ShiftMask (1 << 0) #define LockMask (1 << 1) #define ControlMask (1 << 2) #define Mod1Mask (1 << 3) #define Mod2Mask (1 << 4) #define Mod3Mask (1 << 5) #define Mod4Mask (1 << 6) #define Mod5Mask (1 << 7) #define Button1Mask (1 << 8) #define Button2Mask (1 << 9) #define Button3Mask (1 << 10) #define Button4Mask (1 << 11) #define Button5Mask (1 << 12) #define Button1 1 #define Button2 2 #define Button3 3 #define Button4 4 #define Button5 5 /* Not defined in android/keycode.h */ #define AKEYCODE_ESCAPE 0x6f #define AKEYCODE_CONTROL_LEFT 0x71 #define AKEYCODE_CONTROL_RIGHT 0x72 #define XK_Super_L 0xfffe /* dummy */ #define XK_Super_R 0xfffd /* dummy */ #define XK_Hyper_L 0xfffc /* dummy */ #define XK_Hyper_R 0xfffb /* dummy */ #define XK_BackSpace 0x08 #define XK_Tab 0x09 #define XK_Clear (AKEYCODE_CLEAR + 0x100) #define XK_Linefeed 0xfffa /* dummy */ #define XK_Return 0x0d #define XK_Shift_L (AKEYCODE_SHIFT_LEFT + 0x100) #define XK_Control_L (AKEYCODE_CONTROL_LEFT + 0x100) #define XK_Alt_L (AKEYCODE_ALT_LEFT + 0x100) #define XK_Shift_R (AKEYCODE_SHIFT_RIGHT + 0x100) #define XK_Control_R (AKEYCODE_CONTROL_RIGHT + 0x100) #define XK_Alt_R (AKEYCODE_ALT_RIGHT + 0x100) #define XK_Meta_L 0xfff7 /* dummy */ #define XK_Meta_R 0xfff6 /* dummy */ #define XK_Pause 0xfff5 /* dummy */ #define XK_Shift_Lock 0xfff4 /* dummy */ #define XK_Caps_Lock 0xfff3 /* dummy */ #define XK_Escape 0x1b #define XK_Prior (AKEYCODE_PAGE_UP + 0x100) #define XK_Next (AKEYCODE_PAGE_DOWN + 0x100) #define XK_End 0x17b #define XK_Home 0x17a #define XK_Left (AKEYCODE_DPAD_LEFT + 0x100) #define XK_Up (AKEYCODE_DPAD_UP + 0x100) #define XK_Right (AKEYCODE_DPAD_RIGHT + 0x100) #define XK_Down (AKEYCODE_DPAD_DOWN + 0x100) #define XK_Select 0xfff1 /* dummy */ #define XK_Print 0xfff0 /* dummy */ #define XK_Execute 0xffef /* dummy */ #define XK_Insert 0x17c #define XK_Delete 0x170 #define XK_Help 0xffed /* dummy */ #define XK_F1 0x183 #define XK_F2 0x184 #define XK_F3 0x185 #define XK_F4 0x186 #define XK_F5 0x187 #define XK_F6 0x188 #define XK_F7 0x189 #define XK_F8 0x18a #define XK_F9 0x18b #define XK_F10 0x18c #define XK_F11 0x18d #define XK_F12 0x18e #define XK_F13 0xffe0 /* dummy */ #define XK_F14 0xffdf /* dummy */ #define XK_F15 0xffde /* dummy */ #define XK_F16 0xffdd /* dummy */ #define XK_F17 0xffdc /* dummy */ #define XK_F18 0xffdb /* dummy */ #define XK_F19 0xffda /* dummy */ #define XK_F20 0xffd9 /* dummy */ #define XK_F21 0xffd8 /* dummy */ #define XK_F22 0xffd7 /* dummy */ #define XK_F23 0xffd6 /* dummy */ #define XK_F24 0xffd5 /* dummy */ #define XK_FMAX XK_F12 #define XK_Num_Lock 0xffd4 /* dummy */ #define XK_Scroll_Lock 0xffd3 /* dummy */ #define XK_Find 0xffd2 /* dummy */ #define XK_Menu 0xffd1 /* dummy */ #define XK_Begin 0xffd0 /* dummy */ #define XK_Muhenkan 0xffcf /* dummy */ #define XK_Henkan_Mode 0xffce /* dummy */ #define XK_Zenkaku_Hankaku 0xffcd /* dummy */ #define XK_Hiragana_Katakana 0xffcc /* dummy */ #define XK_KP_Prior 0xffcd /* dummy */ #define XK_KP_Next 0xffcc /* dummy */ #define XK_KP_End 0xffcb /* dummy */ #define XK_KP_Home 0xffca /* dummy */ #define XK_KP_Left 0xffc9 /* dummy */ #define XK_KP_Up 0xffc8 /* dummy */ #define XK_KP_Right 0xffc7 /* dummy */ #define XK_KP_Down 0xffc6 /* dummy */ #define XK_KP_Insert 0xffc5 /* dummy */ #define XK_KP_Delete 0xffc4 /* dummy */ #define XK_KP_F1 0xffc3 /* dummy */ #define XK_KP_F2 0xffc2 /* dummy */ #define XK_KP_F3 0xffc1 /* dummy */ #define XK_KP_F4 0xffc0 /* dummy */ #define XK_KP_Begin 0xffbf /* dummy */ #define XK_KP_Multiply 0xffbe /* dummy */ #define XK_KP_Add 0xffbd /* dummy */ #define XK_KP_Separator 0xffbc /* dummy */ #define XK_KP_Subtract 0xffbb /* dummy */ #define XK_KP_Decimal 0xffba /* dummy */ #define XK_KP_Divide 0xffb9 /* dummy */ #define XK_KP_0 0xffb8 /* dummy */ #define XK_KP_1 0xffb7 /* dummy */ #define XK_KP_2 0xffb6 /* dummy */ #define XK_KP_3 0xffb5 /* dummy */ #define XK_KP_4 0xffb4 /* dummy */ #define XK_KP_5 0xffb3 /* dummy */ #define XK_KP_6 0xffb2 /* dummy */ #define XK_KP_7 0xffb1 /* dummy */ #define XK_KP_8 0xffb0 /* dummy */ #define XK_KP_9 0xffaf /* dummy */ #define IsKeypadKey(ksym) (1) #define IsModifierKey(ksym) (0) #define XK_ISO_Left_Tab 0xffae /* dummy */ /* Same as definition in X11/X.h */ typedef struct { short x; short y; } XPoint; /* XXX dummy */ #define XKeysymToKeycode(disp, ks) (ks) #define XKeycodeToKeysym(disp, kc, i) (kc) #define XKeysymToString(ks) "" #define DisplayString(disp) ":0.0" #define DefaultScreen(disp) (0) #define BlackPixel(disp, screen) (0) #define WhitePixel(disp, screen) (-1) /* Same as definition in X11/cursorfont.h */ #define XC_xterm 152 #define XC_left_ptr 0 /* Same as definition in X11/Xutil.h */ #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 int XParseGeometry(char *str, int *x, int *y, unsigned int *width, unsigned int *height); KeySym XStringToKeysym(char *str); /* === Platform dependent options === */ #define UI_COLOR_HAS_RGB #undef SUPPORT_TRUE_TRANSPARENT_BG #ifdef USE_FREETYPE /* XXX pcf fonts isn't scalable, though... */ #define TYPE_XCORE_SCALABLE #else #undef TYPE_XCORE_SCALABLE #endif #define MANAGE_ROOT_WINDOWS_BY_MYSELF #define MANAGE_SUB_WINDOWS_BY_MYSELF /* See also fb/ui_display.c where ui_picture_display_closed() is never called. */ #define INLINE_PICTURE_MOVABLE_BETWEEN_DISPLAYS #undef SUPPORT_POINT_SIZE_FONT #undef USE_GC #undef CHANGEABLE_CURSOR #undef PLUGIN_MODULE_SUFFIX #undef KEY_REPEAT_BY_MYSELF #undef ROTATABLE_DISPLAY #undef PSEUDO_COLOR_DISPLAY #undef WALL_PICTURE_SIXEL_REPLACES_SYSTEM_PALETTE #undef SUPPORT_URGENT_BELL #undef FORCE_UNICODE #undef NEED_DISPLAY_SYNC_EVERY_TIME #define DRAW_SCREEN_IN_PIXELS #undef NO_DRAW_IMAGE_STRING #define HAVE_PTHREAD #define COMPOSE_DECSP_FONT #ifdef USE_FREETYPE #define USE_REAL_VERTICAL_FONT #else #undef USE_REAL_VERTICAL_FONT #endif #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/ui_event_source.c����������������������������������������������������������0100644�0001760�0000144�00000036425�13210547312�0017276�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_event_source.h" #include <stdio.h> /* sprintf */ #include <pobl/bl_debug.h> #include <pobl/bl_str.h> #include <pobl/bl_conf_io.h> #include <vt_char_encoding.h> #include <vt_term_manager.h> #include "ui_display.h" #include "ui_window.h" #define UIWINDOW_OF(term) \ ((term)->parser->xterm_listener ? (term)->parser->xterm_listener->self : NULL) /* --- static variables --- */ static ef_parser_t *utf8_parser; /* main and native activity threads changes commit_text/preedit_text from at the * same time. */ static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; static char *cur_preedit_text; static int connect_to_ssh_server; /* --- static functions --- */ static vt_term_t *get_current_term(void) { vt_term_t **terms; u_int num_terms; u_int count; num_terms = vt_get_all_terms(&terms); for (count = 0; count < num_terms; count++) { ui_window_t *win; if (vt_term_is_attached(terms[count]) && (win = UIWINDOW_OF(terms[count])) && win->is_focused) { return terms[count]; } } return NULL; } static void update_ime_text(vt_term_t *term, char *preedit_text, char *commit_text) { u_char buf[128]; size_t len; vt_term_set_config(term, "use_local_echo", "false"); #if 0 /* XXX If IM plugin is supported, see update_ime_text() in cocoa.m. */ ((ui_screen_t*)uiwindow)->is_preediting = 0; #endif if (!utf8_parser && !(utf8_parser = vt_char_encoding_parser_new(VT_UTF8))) { return; } (*utf8_parser->init)(utf8_parser); if (preedit_text) { ui_window_t *win; if (*preedit_text == '\0') { preedit_text = NULL; } else { if (bl_compare_str(preedit_text, cur_preedit_text) == 0) { return; } #if 0 /* XXX If IM plugin is supported, see update_ime_text() in cocoa.m. */ ((ui_screen_t*)uiwindow)->is_preediting = 1; /* Hide cursor */ #endif vt_term_set_config(term, "use_local_echo", "true"); (*utf8_parser->set_str)(utf8_parser, preedit_text, strlen(preedit_text)); while (!utf8_parser->is_eos && (len = vt_term_convert_to(term, buf, sizeof(buf), utf8_parser)) > 0) { vt_term_preedit(term, buf, len); } } if ((win = UIWINDOW_OF(term))) { ui_window_update(win, 3); } } else /* if( commit_text) */ { (*utf8_parser->set_str)(utf8_parser, commit_text, strlen(commit_text)); while (!utf8_parser->is_eos && (len = vt_term_convert_to(term, buf, sizeof(buf), utf8_parser)) > 0) { vt_term_write(term, buf, len); } } free(cur_preedit_text); cur_preedit_text = preedit_text ? strdup(preedit_text) : NULL; } static void update_ime_text_on_active_term(char *preedit_text, char *commit_text) { vt_term_t *term; if ((term = get_current_term())) { update_ime_text(term, preedit_text, commit_text); } } static void ALooper_removeFds(ALooper *looper, int *fds, u_int num_fds) { u_int count; for (count = 0; count < num_fds; count++) { ALooper_removeFd(looper, fds[count]); } } static int need_resize(u_int cur_width, /* contains scrollbar width and margin area */ u_int cur_height, /* contains margin area */ u_int new_width, /* contains scrollbar width and margin area */ u_int new_height /* contains margin area */ ) { vt_term_t **terms; u_int num_terms; u_int count; num_terms = vt_get_all_terms(&terms); for (count = 0; count < num_terms; count++) { ui_window_t *win; if (vt_term_is_attached(terms[count]) && (win = UIWINDOW_OF(terms[count])) && win->is_focused) { if (cur_height > new_height) { u_int line_height; if (vt_term_get_vertical_mode(terms[count])) { return 0; } /* XXX */ line_height = win->height / vt_term_get_rows(terms[count]); if (new_height <= win->y + line_height || (vt_term_cursor_row(terms[count]) + 1) * line_height + win->y + win->vmargin <= new_height) { return 0; } } break; } } if (cur_width > new_width) { return 0; } else { if (count < num_terms) { vt_term_set_config(terms[count], "use_local_echo", "false"); } return 1; } } /* --- global functions --- */ void ui_event_source_init(void) {} void ui_event_source_final(void) {} int ui_event_source_process(void) { ALooper *looper; int ident; int events; struct android_poll_source *source; vt_term_t **terms; u_int num_terms; u_int count; static u_int prev_num_terms; static int *fds; looper = ALooper_forThread(); if ((num_terms = vt_get_all_terms(&terms)) == 0) { ui_display_final(); free(fds); fds = NULL; } else { void *p; if (prev_num_terms != num_terms && (p = realloc(fds, sizeof(int) * num_terms))) { fds = p; } for (count = 0; count < num_terms; count++) { fds[count] = vt_term_get_master_fd(terms[count]); ALooper_addFd(looper, fds[count], 1000 + fds[count], ALOOPER_EVENT_INPUT, NULL, NULL); } } prev_num_terms = num_terms; /* * Read all pending events. * Don't block ALooper_pollAll because commit_text or preedit_text can * be changed from main thread. */ ident = ALooper_pollAll(100, /* milisec. -1 blocks forever waiting for events */ NULL, &events, (void **)&source); pthread_mutex_lock(&mutex); if (ident >= 0) { if (!ui_display_process_event(source, ident)) { ALooper_removeFds(looper, fds, num_terms); prev_num_terms = 0; free(fds); fds = NULL; pthread_mutex_unlock(&mutex); return 0; } for (count = 0; count < num_terms; count++) { if (vt_term_get_master_fd(terms[count]) + 1000 == ident) { ui_window_t *win; if (cur_preedit_text && (win = UIWINDOW_OF(terms[count])) && win->is_focused) { vt_term_set_config(terms[count], "use_local_echo", "false"); } vt_term_parse_vt100_sequence(terms[count]); if (cur_preedit_text && win && win->is_focused) { char *preedit_text; preedit_text = cur_preedit_text; cur_preedit_text = NULL; update_ime_text(terms[count], preedit_text, NULL); } /* * Don't break here because some terms can have * the same master fd. */ } } } else { ui_display_idling(NULL); } if (num_terms > 0) { if (connect_to_ssh_server) { vt_term_t *term = get_current_term(); if (term && term->parser->config_listener) { char cmd[] = "mlclientx --dialog"; (*term->parser->config_listener->exec)(term->parser->config_listener->self, cmd); } connect_to_ssh_server = 0; } ALooper_removeFds(looper, fds, num_terms); } vt_close_dead_terms(); ui_close_dead_screens(); ui_display_unlock(); pthread_mutex_unlock(&mutex); return 1; } /* * fd >= 0 -> Normal file descriptor. handler is invoked if fd is ready. * fd < 0 -> Special ID. handler is invoked at interval of 0.1 sec. */ int ui_event_source_add_fd(int fd, void (*handler)(void)) { return 0; } void ui_event_source_remove_fd(int fd) {} void Java_mlterm_native_1activity_MLActivity_visibleFrameChanged(JNIEnv *env, jobject this, jint yoffset, jint width, jint height) { pthread_mutex_lock(&mutex); ui_display_resize(yoffset, width, height, cur_preedit_text ? need_resize : NULL); pthread_mutex_unlock(&mutex); } void Java_mlterm_native_1activity_MLActivity_commitTextLock(JNIEnv *env, jobject this, jstring jstr) { char *str; pthread_mutex_lock(&mutex); str = (*env)->GetStringUTFChars(env, jstr, NULL); update_ime_text_on_active_term(NULL, str); (*env)->ReleaseStringUTFChars(env, jstr, str); pthread_mutex_unlock(&mutex); } /* Called in the native activity thread for copy&paste. */ void Java_mlterm_native_1activity_MLActivity_commitTextNoLock(JNIEnv *env, jobject this, jstring jstr) { char *str; str = (*env)->GetStringUTFChars(env, jstr, NULL); update_ime_text_on_active_term(NULL, str); (*env)->ReleaseStringUTFChars(env, jstr, str); } void Java_mlterm_native_1activity_MLActivity_preeditText(JNIEnv *env, jobject this, jstring jstr) { char *str; pthread_mutex_lock(&mutex); str = (*env)->GetStringUTFChars(env, jstr, NULL); update_ime_text_on_active_term(str, NULL); (*env)->ReleaseStringUTFChars(env, jstr, str); pthread_mutex_unlock(&mutex); } void Java_mlterm_native_1activity_MLActivity_updateScreen(JNIEnv *env, jobject this) { pthread_mutex_lock(&mutex); ui_display_update_all(); pthread_mutex_unlock(&mutex); } void Java_mlterm_native_1activity_MLActivity_execCommand(JNIEnv *env, jobject this, jint cmd) { vt_term_t *term; if ((term = get_current_term()) && term->parser->config_listener) { if (cmd == 7) { connect_to_ssh_server = 1; } else if (((u_int)cmd) <= 6) { char cmd_str4[] = "mlclientx --serv="; char *cmd_str[7] = { "open_pty", "vsplit_screen", "hsplit_screen", cmd_str4, "next_pty", "prev_pty", "close_screen" }; pthread_mutex_lock(&mutex); /* config_listener->exec doesn't modify cmd string unless it contains space character. */ (*term->parser->config_listener->exec)(term->parser->config_listener->self, cmd_str[cmd]); pthread_mutex_unlock(&mutex); } } } void Java_mlterm_native_1activity_MLActivity_resumeNative(JNIEnv *env, jobject this) { vt_term_t *term; if ((term = get_current_term())) { ui_window_set_mapped_flag(ui_get_root_window(UIWINDOW_OF(term)), 1); } } void Java_mlterm_native_1activity_MLActivity_pauseNative(JNIEnv *env, jobject this) { vt_term_t *term; if ((term = get_current_term())) { ui_window_set_mapped_flag(ui_get_root_window(UIWINDOW_OF(term)), 0); } } void Java_mlterm_native_1activity_MLPreferenceActivity_setConfig(JNIEnv *env, jobject this, jstring jkey, jstring jval) { vt_term_t *term; if ((term = get_current_term()) && term->parser->config_listener) { char *key = (*env)->GetStringUTFChars(env, jkey, NULL); char *val = (*env)->GetStringUTFChars(env, jval, NULL); char *val2; char *path; /* XXX */ if (strcmp(key, "col_size_of_width_a") == 0) { if (strcmp(val, "true") == 0) { val2 = "2"; } else { val2 = "1"; } } else { val2 = val; } #if defined(__ANDROID__) && defined(USE_LIBSSH2) if (strcmp(key, "start_with_local_pty") == 0) { start_with_local_pty = (strcmp(val2, "true") == 0); } else #endif { /* * This function is called while main activity stops (preference activity is active). * But pthread_mutex_lock() shoule be called here because native activity thread * (which reads pty) works. */ pthread_mutex_lock(&mutex); (*term->parser->config_listener->set)(term->parser->config_listener->self, NULL, key, val2); pthread_mutex_unlock(&mutex); } /* Following is the same processing as config_protocol_set() in vt_parser.c */ if (/* XXX */ strcmp(key, "xim") != 0 && (path = bl_get_user_rc_path("mlterm/main"))) { bl_conf_write_t *conf; conf = bl_conf_write_open(path); free(path); if (conf) { bl_conf_io_write(conf, key, val2); bl_conf_write_close(conf); (*term->parser->config_listener->saved)(); } } (*env)->ReleaseStringUTFChars(env, jkey, key); (*env)->ReleaseStringUTFChars(env, jval, val); } } /* * This is called while main activity stops (preference activity is active), so * pthread_mutex_lock() is not called. */ void Java_mlterm_native_1activity_MLPreferenceActivity_setDefaultFontConfig(JNIEnv *env, jobject this, jstring jfont) { vt_term_t *term; if ((term = get_current_term()) && term->parser->config_listener) { char *font = (*env)->GetStringUTFChars(env, jfont, NULL); (*term->parser->config_listener->set_font)(term->parser->config_listener->self, NULL, "USASCII", font, 1); (*term->parser->config_listener->set_font)(term->parser->config_listener->self, NULL, "DEFAULT", font, 1); (*env)->ReleaseStringUTFChars(env, jfont, font); } } /* See vt_pty_intern.h */ char *android_config_response; jboolean Java_mlterm_native_1activity_MLPreferenceActivity_getBoolConfig(JNIEnv *env, jobject this, jstring jkey) { vt_term_t *term; if ((term = get_current_term())) { char *key = (*env)->GetStringUTFChars(env, jkey, NULL); size_t key_len = strlen(key); (*term->parser->config_listener->get)(term->parser->config_listener->self, NULL, key, 1); (*env)->ReleaseStringUTFChars(env, jkey, key); if (android_config_response) { /* XXX */ char *true = strstr(android_config_response, "col_size_of_width_a") ? "2" : "true"; int flag = (strncmp(android_config_response + 1 + key_len + 1, true, strlen(true)) == 0); free(android_config_response); android_config_response = NULL; return flag; } } return 0; } jstring Java_mlterm_native_1activity_MLPreferenceActivity_getStrConfig(JNIEnv *env, jobject this, jstring jkey) { vt_term_t *term; if ((term = get_current_term())) { char *key = (*env)->GetStringUTFChars(env, jkey, NULL); size_t key_len = strlen(key); jstring jval = NULL; (*term->parser->config_listener->get)(term->parser->config_listener->self, NULL, key, 1); if (android_config_response) { if (strncmp(android_config_response + 1, key, key_len) == 0) { /* \n -> \0 */ android_config_response[strlen(android_config_response) - 1] = '\0'; jval = (*env)->NewStringUTF(env, android_config_response + 1 + key_len + 1); } free(android_config_response); android_config_response = NULL; } (*env)->ReleaseStringUTFChars(env, jkey, key); return jval; } return NULL; } jstring Java_mlterm_native_1activity_MLPreferenceActivity_getDefaultFontConfig(JNIEnv *env, jobject this) { vt_term_t *term; if ((term = get_current_term())) { (*term->parser->config_listener->get_font)(term->parser->config_listener->self, NULL, "USASCII", 1); if (android_config_response) { char *p; if ((p = strrchr(android_config_response, '='))) { jstring jfont; /* \n -> \0 */ p[strlen(p) - 1] = '\0'; if (*p) { jfont = (*env)->NewStringUTF(env, p + 1); } else { jfont = NULL; } free(android_config_response); android_config_response = NULL; return jfont; } } } return NULL; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/version.h������������������������������������������������������������������0100644�0001760�0000144�00000001213�13210547312�0015555�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __VERSION_H__ #define __VERSION_H__ #include <pobl/bl_util.h> #define MAJOR_VERSION 3 #define MINOR_VERSION 8 #define REVISION 4 #define PATCH_LEVEL 0 #if 0 #define CHANGE_DATE "pre/@CHANGE_DATE@" #elif 0 #define CHANGE_DATE "post/@CHANGE_DATE@" #else #define CHANGE_DATE "" #endif #define VERSION \ BL_INT_TO_STR(MAJOR_VERSION) "." BL_INT_TO_STR(MINOR_VERSION) "." BL_INT_TO_STR(REVISION) #if PATCH_LEVEL == 0 #define DETAIL_VERSION VERSION " " CHANGE_DATE #else #define DETAIL_VERSION VERSION " patch level " BL_INT_TO_STR(PATCH_LEVEL) " " CHANGE_DATE #endif #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/bl_config.h����������������������������������������������������������������0100644�0001760�0000144�00000003040�13210547312�0016012�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * Don't include directly this header. * Include bl_def.h (which wraps POSIX and bl_config.h macros) or bl_types.h * (which wraps POSIX and bl_config.h types). */ #ifndef __BL_CONFIG_H__ #define __BL_CONFIG_H__ #define HAVE_GNU_SOURCE #undef HAVE_LANGINFO_H #define HAVE_DL_H #undef HAVE_DLFCN_H #undef HAVE_WINDOWS_H #define HAVE_ERRNO_H #undef WORDS_BIGENDIAN #define HAVE_STRSEP #define HAVE_FGETLN #define HAVE_BASENAME #define HAVE_ALLOCA #define HAVE_ALLOCA_H #undef HAVE_STROPTS_H #undef HAVE_SYS_STROPTS_H #undef HAVE_ISASTREAM #define HAVE_SETUTENT #define HAVE_SETEUID #define HAVE_SETEGID #define HAVE_GETEUID #define HAVE_SETSID #define HAVE_GETUID #define HAVE_GETGID #define HAVE_RECVMSG #define HAVE_SETPGID #define HAVE_SOCKETPAIR #define HAVE_SNPRINTF #undef CONCATABLE_FUNCTION #undef DLFCN_NONE #define HAVE_USLEEP #define HAVE_SETENV #define HAVE_UNSETENV #define HAVE_FLOCK #define HAVE_KILLPG #undef HAVE_POSIX_OPENPT #define HAVE_GETTIMEOFDAY #undef USE_WIN32API #define HAVE_STDINT_H #define REMOVE_FUNCS_MLTERM_UNUSE #define CALLOC_CHECK_OVERFLOW #undef inline #undef const #undef u_char #undef u_short #undef u_int #undef u_long #undef u_int8_t #undef u_int8_t #undef u_int16_t #undef u_int32_t #undef u_int64_t #undef int8_t #undef int8_t #undef int16_t #undef int32_t #undef int64_t #undef ssize_t #undef socklen_t #undef mode_t #undef pid_t #undef uid_t #undef gid_t #undef off_t #undef size_t #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/ui_display.h���������������������������������������������������������������0100644�0001760�0000144�00000003564�13210547312�0016245�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef ___UI_DISPLAY_H__ #define ___UI_DISPLAY_H__ #include <pobl/bl_types.h> #include "../ui_display.h" #define CLKED 1 #define NLKED 2 #define SLKED 4 #define ALKED 8 #define KeyPress 2 /* Private in fb/ */ #define ButtonPress 4 /* Private in fb/ */ #define ButtonRelease 5 /* Private in fb/ */ #define MotionNotify 6 /* Private in fb/ */ #define IM_WINDOW_IS_ACTIVATED(disp) ((disp)->num_roots > 1 && (disp)->roots[1]->is_mapped) /* common functions for ui_window.c */ u_long ui_display_get_pixel(ui_display_t *disp, int x, int y); void ui_display_put_image(ui_display_t *disp, int x, int y, u_char *image, size_t size, int need_fb_pixel); void ui_display_copy_lines(ui_display_t *disp, int src_x, int src_y, int dst_x, int dst_y, u_int width, u_int height); /* common functions for ui_window.c (pseudo color) */ #define ui_display_fill_with(x, y, width, height, pixel) (0) #define ui_cmap_get_closest_color(closest, red, green, blue) (0) #define ui_cmap_get_pixel_rgb(red, green, blue, pixel) (0) /* platform specific functions for ui_window.c */ int ui_display_init(struct android_app *app); void ui_display_final(void); int ui_display_process_event(struct android_poll_source *source, int ident); void ui_display_unlock(void); size_t ui_display_get_str(u_char *seq, size_t seq_len); u_char *ui_display_get_bitmap(char *path, u_int *width, u_int *height); void ui_display_request_text_selection(void); void ui_display_send_text_selection(u_char *sel_data, size_t sel_len); void ui_display_show_dialog(char *server); void ui_display_resize(int yoffset, int width, int height, int (*need_resize)(u_int, u_int, u_int, u_int)); void ui_display_update_all(); void ui_window_set_mapped_flag(ui_window_ptr_t win, int flag); #endif ��������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/main.c���������������������������������������������������������������������0100644�0001760�0000144�00000005012�13210547312�0015010�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <pobl/bl_conf_io.h> #include <pobl/bl_debug.h> #include <pobl/bl_dlfcn.h> #include <vt_term_manager.h> #include "uitoolkit/ui_display.h" #include "uitoolkit/ui_event_source.h" #ifdef SYSCONFDIR #define CONFIG_PATH SYSCONFDIR #else #define CONFIG_PATH "/etc" #endif #if 0 #define SAVE_DEFAULT_FONT #endif #ifdef SAVE_DEFAULT_FONT /* --- global variables --- */ char *default_font_path; /* --- static functions --- */ static inline void save_default_font(ANativeActivity *activity) { JNIEnv *env; jobject this; jstring jstr; const char *path; if (default_font_path || (*activity->vm)->GetEnv(activity->vm, &env, JNI_VERSION_1_6) != JNI_OK) { return; } this = activity->clazz; jstr = (*env)->CallObjectMethod( env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "saveDefaultFont", "()Ljava/lang/String;")); path = (*env)->GetStringUTFChars(env, jstr, NULL); default_font_path = strdup(path); (*env)->ReleaseStringUTFChars(env, jstr, path); } #endif /* SAVE_DEFAULT_FONT */ static void attach_current_thread(JavaVM *vm) { JNIEnv *env; (*vm)->AttachCurrentThread(vm, &env, NULL); } static void detach_current_thread(JavaVM *vm) { (*vm)->DetachCurrentThread(vm); } static void finish(struct android_app *app) { int ident; int events; struct android_poll_source *source; ui_display_final(); /* Calls ANativeActivity_finish() */ while ((ident = ALooper_pollAll(-1, NULL, &events, (void **)&source)) >= 0 && ui_display_process_event(source, ident)); } /* --- global functions --- */ void android_main(struct android_app *app) { int argc = 1; char *argv[] = {"mlterm"}; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " android_main started.\n"); #endif bl_set_sys_conf_dir(CONFIG_PATH); attach_current_thread(app->activity->vm); #ifdef SAVE_DEFAULT_FONT save_default_font(app->activity); #endif if (ui_display_init(app) && /* ui_display_init() returns 1 only once. */ !main_loop_init(argc, argv)) /* main_loop_init() is called once. */ { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " main_loop_init() failed.\n"); #endif finish(app); } else if (!main_loop_start()) { /* Unable to open any screen. */ finish(app); } /* Only screen objects are closed. */ ui_screen_manager_suspend(); detach_current_thread(app->activity->vm); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " android_main finished.\n"); #endif } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/bl_debug.h�����������������������������������������������������������������0100644�0001760�0000144�00000002370�13210547312�0015640�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_DEBUG_H__ #define __BL_DEBUG_H__ #include "bl_def.h" #include "bl_util.h" /* BL_INT_TO_STR */ #include <android/log.h> /* for bl_{debug|warn}_printf */ #if 0 #ifdef CONCATABLE_FUNCTION #define BL_DEBUG_TAG "[" __FUNCTION__ "()]" #else #define BL_DEBUG_TAG "[" __FILE__ "]" #endif #else #define BL_DEBUG_TAG "[" __FILE__ ":" BL_INT_TO_STR(__LINE__) "]" #endif #ifdef BL_DEBUG #define BL_TESTIT(func, args) TEST_##func args #define BL_TESTIT_ONCE(func, args) \ { \ static int func##_tested; \ if (!func##_tested) { \ func##_tested = 1; \ TEST_##func args; \ } \ } #else #define BL_TESTIT(func, args) #define BL_TESTIT_ONCE(func, args) #endif #define bl_debug_printf(...) (__android_log_print(ANDROID_LOG_INFO, "", __VA_ARGS__) >= 0) #define bl_warn_printf(...) (__android_log_print(ANDROID_LOG_WARN, "", __VA_ARGS__) >= 0) #define bl_error_printf(...) (__android_log_print(ANDROID_LOG_ERROR, "", __VA_ARGS__) >= 0) #define bl_msg_printf(...) (__android_log_print(ANDROID_LOG_INFO, "", __VA_ARGS__) >= 0) #define bl_set_msg_log_file_name(name) (0) #endif ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/jni/Android.mk�����������������������������������������������������������������0100644�0001760�0000144�00000015765�13210547312�0015651�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := mlterm ifneq (,$(wildcard fribidi/fribidi.c)) FRIBIDI_SRC_FILES := fribidi/fribidi.c fribidi/fribidi-arabic.c \ fribidi/fribidi-bidi.c fribidi/fribidi-bidi-types.c \ fribidi/fribidi-deprecated.c fribidi/fribidi-joining.c \ fribidi/fribidi-joining-types.c fribidi/fribidi-mem.c \ fribidi/fribidi-mirroring.c fribidi/fribidi-run.c fribidi/fribidi-shape.c \ vtemu/libctl/vt_bidi.c vtemu/libctl/vt_shape_bidi.c \ vtemu/libctl/vt_line_bidi.c FRIBIDI_CFLAGS := -DUSE_FRIBIDI endif ifneq (,$(wildcard freetype/$(TARGET_ARCH_ABI)/lib/libfreetype.a)) FT_CFLAGS := -DUSE_FREETYPE -Ifreetype/$(TARGET_ARCH_ABI)/include/freetype2 FT_LDLIBS := freetype/$(TARGET_ARCH_ABI)/lib/libfreetype.a ifneq (,$(wildcard libotf/otfopen.c)) OTL_SRC_FILES := libotf/otfopen.c libotf/otfdrive.c libotf/otferror.c \ uitoolkit/libotl/otf.c OTL_CFLAGS := -Ilibotf -Iuitoolkit/libotl -DUSE_OT_LAYOUT -DNO_DYNAMIC_LOAD_OTL else OTL_SRC_FILES := OTL_CFLAGS := endif else FT_CFLAGS := FT_LDLIBS := OTL_SRC_FILES := OTL_CFLAGS := endif ifneq (,$(wildcard libssh2/$(TARGET_ARCH_ABI)/lib/libssh2.a)) LIBSSH2_SRC_FILES := vtemu/vt_pty_ssh.c LIBSSH2_CFLAGS := -DUSE_LIBSSH2 -Ilibssh2/$(TARGET_ARCH_ABI)/include -DNO_DYNAMIC_LOAD_SSH LIBSSH2_LDLIBS := libssh2/$(TARGET_ARCH_ABI)/lib/libssh2.a libssh2/$(TARGET_ARCH_ABI)/lib/libcrypto.a -lz else LIBSSH2_SRC_FILES := LIBSSH2_CFLAGS := LIBSSH2_LDLIBS := endif LOCAL_SRC_FILES := baselib/src/bl_map.c baselib/src/bl_args.c \ baselib/src/bl_mem.c baselib/src/bl_conf.c baselib/src/bl_file.c \ baselib/src/bl_path.c baselib/src/bl_conf_io.c baselib/src/bl_str.c \ baselib/src/bl_cycle_index.c baselib/src/bl_langinfo.c baselib/src/bl_time.c \ baselib/src/bl_locale.c baselib/src/bl_privilege.c baselib/src/bl_unistd.c \ baselib/src/bl_sig_child.c baselib/src/bl_dialog.c baselib/src/bl_pty_streams.c \ baselib/src/bl_utmp_none.c baselib/src/bl_dlfcn.c baselib/src/bl_dlfcn_dl.c \ encodefilter/src/ef_parser.c encodefilter/src/ef_iso2022_parser.c encodefilter/src/ef_iso8859_parser.c \ encodefilter/src/ef_xct_parser.c encodefilter/src/ef_eucjp_parser.c encodefilter/src/ef_euckr_parser.c \ encodefilter/src/ef_euccn_parser.c encodefilter/src/ef_iso2022jp_parser.c \ encodefilter/src/ef_iso2022kr_parser.c encodefilter/src/ef_sjis_parser.c encodefilter/src/ef_big5_parser.c \ encodefilter/src/ef_euctw_parser.c encodefilter/src/ef_utf16_parser.c encodefilter/src/ef_iso2022cn_parser.c \ encodefilter/src/ef_hz_parser.c encodefilter/src/ef_utf8_parser.c encodefilter/src/ef_johab_parser.c \ encodefilter/src/ef_8bit_parser.c encodefilter/src/ef_utf32_parser.c encodefilter/src/ef_codepoint_parser.c \ encodefilter/src/ef_iso8859_conv.c encodefilter/src/ef_iso2022_conv.c encodefilter/src/ef_iso2022jp_conv.c \ encodefilter/src/ef_iso2022kr_conv.c encodefilter/src/ef_sjis_conv.c encodefilter/src/ef_utf8_conv.c \ encodefilter/src/ef_big5_conv.c encodefilter/src/ef_euctw_conv.c encodefilter/src/ef_iso2022cn_conv.c \ encodefilter/src/ef_hz_conv.c encodefilter/src/ef_utf16_conv.c encodefilter/src/ef_eucjp_conv.c \ encodefilter/src/ef_euckr_conv.c encodefilter/src/ef_euccn_conv.c encodefilter/src/ef_johab_conv.c \ encodefilter/src/ef_8bit_conv.c encodefilter/src/ef_xct_conv.c encodefilter/src/ef_utf32_conv.c \ encodefilter/src/ef_ucs4_map.c encodefilter/src/ef_locale_ucs4_map.c encodefilter/src/ef_zh_cn_map.c \ encodefilter/src/ef_zh_tw_map.c encodefilter/src/ef_zh_hk_map.c encodefilter/src/ef_ko_kr_map.c \ encodefilter/src/ef_viet_map.c encodefilter/src/ef_ja_jp_map.c encodefilter/src/ef_ru_map.c \ encodefilter/src/ef_uk_map.c encodefilter/src/ef_tg_map.c encodefilter/src/ef_ucs_property.c \ encodefilter/src/ef_jisx0208_1983_property.c encodefilter/src/ef_jisx0213_2000_property.c \ encodefilter/src/ef_char.c encodefilter/src/ef_sjis_env.c encodefilter/src/ef_tblfunc_loader.c \ encodefilter/src/ef_ucs4_iso8859.c encodefilter/src/ef_ucs4_viscii.c \ encodefilter/src/ef_ucs4_tcvn5712_1.c encodefilter/src/ef_ucs4_koi8.c encodefilter/src/ef_ucs4_georgian_ps.c \ encodefilter/src/ef_ucs4_cp125x.c encodefilter/src/ef_ucs4_iscii.c encodefilter/src/ef_ucs4_jisx0201.c \ encodefilter/src/ef_ucs4_jisx0208.c encodefilter/src/ef_ucs4_jisx0212.c encodefilter/src/ef_ucs4_jisx0213.c \ encodefilter/src/ef_ucs4_ksc5601.c encodefilter/src/ef_ucs4_uhc.c encodefilter/src/ef_ucs4_johab.c \ encodefilter/src/ef_ucs4_gb2312.c encodefilter/src/ef_ucs4_gbk.c encodefilter/src/ef_ucs4_big5.c \ encodefilter/src/ef_ucs4_cns11643.c encodefilter/src/ef_gb18030_2000_intern.c \ vtemu/vt_char.c vtemu/vt_str.c vtemu/vt_line.c vtemu/vt_model.c \ vtemu/vt_char_encoding.c vtemu/vt_color.c vtemu/vt_edit.c \ vtemu/vt_line_shape.c vtemu/vt_edit_util.c \ vtemu/vt_edit_scroll.c vtemu/vt_cursor.c vtemu/vt_logical_visual.c \ vtemu/vt_logs.c vtemu/vt_screen.c vtemu/vt_shape.c vtemu/vt_str_parser.c \ vtemu/vt_term.c vtemu/vt_parser.c vtemu/vt_term_manager.c vtemu/vt_bidi.c \ vtemu/vt_config_menu.c vtemu/vt_config_proto.c vtemu/vt_util.c \ vtemu/vt_termcap.c vtemu/vt_pty.c vtemu/vt_pty_unix.c vtemu/vt_drcs.c \ libind/indian.c libind/lex.split.c vtemu/libctl/vt_iscii.c \ vtemu/libctl/vt_shape_iscii.c vtemu/libctl/vt_line_iscii.c \ vtemu/vt_ot_layout.c \ $(OTL_SRC_FILES) $(FRIBIDI_SRC_FILES) $(LIBSSH2_SRC_FILES) \ uitoolkit/fb/ui.c uitoolkit/fb/ui_font.c uitoolkit/ui_mod_meta_mode.c uitoolkit/ui_shortcut.c \ uitoolkit/ui_bel_mode.c uitoolkit/ui_font_cache.c uitoolkit/ui_picture.c \ uitoolkit/fb/ui_color.c uitoolkit/ui_font_config.c uitoolkit/ui_sb_mode.c \ uitoolkit/ui_color_cache.c uitoolkit/ui_font_manager.c uitoolkit/ui_type_engine.c \ uitoolkit/ui_color_manager.c uitoolkit/fb/ui_gc.c uitoolkit/fb/ui_decsp_font.c \ uitoolkit/fb/ui_connect_dialog.c uitoolkit/ui_im.c \ uitoolkit/fb/ui_window.c uitoolkit/fb/ui_display.c uitoolkit/ui_im_candidate_screen.c \ uitoolkit/ui_screen.c uitoolkit/fb/ui_xic.c uitoolkit/fb/ui_dnd.c \ uitoolkit/ui_im_status_screen.c uitoolkit/ui_screen_manager.c uitoolkit/ui_draw_str.c \ uitoolkit/fb/ui_imagelib.c uitoolkit/ui_event_source.c \ uitoolkit/ui_main_config.c uitoolkit/ui_selection.c \ uitoolkit/ui_layout.c uitoolkit/ui_simple_sb_view.c \ uitoolkit/ui_sb_view_factory.c uitoolkit/ui_scrollbar.c \ uitoolkit/fb/ui_selection_encoding.c \ main/daemon.c main/main_loop.c main/main.c LOCAL_CFLAGS := -DNO_DYNAMIC_LOAD_TABLE -DNO_DYNAMIC_LOAD_CTL -DSTATIC_LINK_INDIC_TABLES -DUSE_IND -Ilibind $(FRIBIDI_CFLAGS) $(FT_CFLAGS) $(OTL_CFLAGS) $(LIBSSH2_CFLAGS) -DLIBDIR=\"/sdcard/.mlterm/lib/\" -DNO_DYNAMIC_LOAD_TYPE -DUSE_TYPE_XCORE -DLIBEXECDIR=\"/sdcard/.mlterm/libexec/\" -DUSE_FRAMEBUFFER -DBUILTIN_IMAGELIB #-DBL_DEBUG -DDEBUG LOCAL_LDLIBS := -llog -landroid $(FT_LDLIBS) $(LIBSSH2_LDLIBS) LOCAL_C_INCLUDES := baselib encodefilter vtemu uitoolkit fribidi LOCAL_STATIC_LIBRARIES := android_native_app_glue include $(BUILD_SHARED_LIBRARY) $(call import-module,android/native_app_glue) �����������mlterm-3.8.4/android/jni/ui_display.c���������������������������������������������������������������0100644�0001760�0000144�00000067225�13210547312�0016244�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ui_display.h" #include <unistd.h> /* STDIN_FILENO */ #include <stdlib.h> /* getenv */ #include <linux/kd.h> #include <linux/keyboard.h> #include <pobl/bl_debug.h> #include <pobl/bl_conf_io.h> #include <pobl/bl_mem.h> #include <pobl/bl_str.h> /* bl_str_alloca_dup */ #include <pobl/bl_path.h> #include "../ui_window.h" #include "../../common/c_animgif.c" #define DISP_IS_INITED (_disp.display) /* --- static functions --- */ static ui_display_t _disp; static Display _display; static int locked; /* --- static functions --- */ static int display_lock(void) { if (locked < 0) { return 0; } else if (!locked) { ANativeWindow_Buffer buf; if (ANativeWindow_lock(_display.app->window, &buf, NULL) != 0) { return 0; } if (_display.buf.bits != buf.bits) { if (_display.buf.bits && _display.buf.height == buf.height && _display.buf.stride == buf.stride) { memcpy(buf.bits, _display.buf.bits, _display.buf.height * _display.buf.stride * _display.bytes_per_pixel); } _display.buf = buf; } locked = 1; } return 1; } static inline u_char *get_fb(int x, int y) { return ((u_char *)_display.buf.bits) + ((_display.yoffset + y) * _display.buf.stride + x) * _display.bytes_per_pixel; } static int kcode_to_ksym(int kcode, int state) { /* US Keyboard */ if (AKEYCODE_0 <= kcode && kcode <= AKEYCODE_9) { if (state & ShiftMask) { char *num_key_shift = ")!@#$%^&*("; return num_key_shift[kcode - AKEYCODE_0]; } else { return kcode + 41; } } else if (AKEYCODE_A <= kcode && kcode <= AKEYCODE_Z) { kcode += 68; if (state & ShiftMask) { kcode -= 0x20; } return kcode; } else { if (state & ShiftMask) { switch (kcode) { case AKEYCODE_COMMA: return '<'; case AKEYCODE_PERIOD: return '>'; case AKEYCODE_SPACE: return ' '; case AKEYCODE_GRAVE: return '~'; case AKEYCODE_MINUS: return '_'; case AKEYCODE_EQUALS: return '+'; case AKEYCODE_LEFT_BRACKET: return '{'; case AKEYCODE_RIGHT_BRACKET: return '}'; case AKEYCODE_BACKSLASH: return '|'; case AKEYCODE_SEMICOLON: return ':'; case AKEYCODE_APOSTROPHE: return '\"'; case AKEYCODE_SLASH: return '?'; } } switch (kcode) { case AKEYCODE_ENTER: return 0x0d; case AKEYCODE_DEL: return 0x08; case AKEYCODE_COMMA: return ','; case AKEYCODE_PERIOD: return '.'; case AKEYCODE_TAB: return '\t'; case AKEYCODE_SPACE: return ' '; case AKEYCODE_GRAVE: return '`'; case AKEYCODE_MINUS: return '-'; case AKEYCODE_EQUALS: return '='; case AKEYCODE_BACKSLASH: return '\\'; case AKEYCODE_LEFT_BRACKET: return '['; case AKEYCODE_RIGHT_BRACKET: return ']'; case AKEYCODE_SEMICOLON: return ';'; case AKEYCODE_APOSTROPHE: return '\''; case AKEYCODE_SLASH: return '/'; case AKEYCODE_AT: return '@'; case AKEYCODE_ESCAPE: return '\x1b'; default: if (kcode == -0x3ed) { /* XXX for Nihongo Full Keyboard */ return XK_Henkan_Mode; } else if (kcode == -0x3ec) { /* XXX for Nihongo Full Keyboard */ return XK_Muhenkan; } else if (kcode < 0) { return 0; } else { return kcode + 0x100; } } } } static int process_key_event(int action, int code) { if (code == AKEYCODE_BACK) { return 0; } if (action == AKEY_EVENT_ACTION_DOWN) { if (code == AKEYCODE_SHIFT_RIGHT || code == AKEYCODE_SHIFT_LEFT) { _display.key_state |= ShiftMask; } #if 0 else if (code == KEY_CAPSLOCK) { if (_display.key_state & ShiftMask) { _display.key_state &= ~ShiftMask; } else { _display.key_state |= ShiftMask; } } #endif else if (code == AKEYCODE_CONTROL_RIGHT || code == AKEYCODE_CONTROL_LEFT) { _display.key_state |= ControlMask; } else if (code == AKEYCODE_ALT_RIGHT || code == AKEYCODE_ALT_LEFT) { _display.key_state |= Mod1Mask; } #if 0 else if (code == KEY_NUMLOCK) { _display.lock_state ^= NLKED; } #endif else { XKeyEvent xev; xev.type = KeyPress; xev.ksym = kcode_to_ksym(code, _display.key_state); xev.keycode = code; xev.state = _display.button_state | _display.key_state; ui_window_receive_event(_disp.roots[0], &xev); } } else if (action == AKEY_EVENT_ACTION_MULTIPLE) { XKeyEvent xev; xev.type = KeyPress; xev.ksym = 0; xev.keycode = 0; xev.state = 0; ui_window_receive_event(_disp.roots[0], &xev); } else /* if( action == AKEY_EVENT_ACTION_UP) */ { if (code == AKEYCODE_SHIFT_RIGHT || code == AKEYCODE_SHIFT_LEFT) { _display.key_state &= ~ShiftMask; } else if (code == AKEYCODE_CONTROL_RIGHT || code == AKEYCODE_CONTROL_LEFT) { _display.key_state &= ~ControlMask; } else if (code == AKEYCODE_ALT_RIGHT || code == AKEYCODE_ALT_LEFT) { _display.key_state &= ~Mod1Mask; } } return 1; } static JNIEnv *get_jni_env(JavaVM *vm) { JNIEnv *env; if ((*vm)->GetEnv(vm, &env, JNI_VERSION_1_6) == JNI_OK) { return env; } else { return NULL; } } static void show_soft_input(JavaVM *vm) { JNIEnv *env; if ((env = get_jni_env(vm))) { jobject this = _display.app->activity->clazz; (*env)->CallVoidMethod(env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "showSoftInput", "()V")); } } /* * _disp.roots[1] is ignored. */ static inline ui_window_t *get_window(int x, /* X in display */ int y /* Y in display */ ) { ui_window_t *win; u_int count; for (count = 0; count < _disp.roots[0]->num_children; count++) { if ((win = _disp.roots[0]->children[count])->is_mapped) { if (win->x <= x && x < win->x + ACTUAL_WIDTH(win) && win->y <= y && y < win->y + ACTUAL_HEIGHT(win)) { return win; } } } return _disp.roots[0]; } static int process_mouse_event(int source, int action, int64_t time, int x, int y) { if (source & AINPUT_SOURCE_MOUSE) { static XButtonEvent prev_xev; XButtonEvent xev; ui_window_t *win; switch (action & AMOTION_EVENT_ACTION_POINTER_INDEX_MASK) { case 0x100: _display.button_state = Button1Mask; xev.button = Button1; break; case 0x200: xev.button = Button2; _display.button_state = Button2Mask; break; case 0x300: xev.button = Button3; _display.button_state = Button3Mask; break; case 0x0: default: xev.button = 0; break; } switch (action & AMOTION_EVENT_ACTION_MASK) { case AMOTION_EVENT_ACTION_DOWN: xev.type = ButtonPress; if (xev.button == 0) { xev.button = Button1; _display.button_state = Button1Mask; } break; case AMOTION_EVENT_ACTION_UP: xev.type = ButtonRelease; /* Reset button_state in releasing button. */ _display.button_state = 0; if (xev.button == 0) { xev.button = Button1; } break; case 7 /* AMOTION_EVENT_ACTION_HOVER_MOVE */: case AMOTION_EVENT_ACTION_MOVE: xev.type = MotionNotify; if (_display.long_press_counter > 0) { xev.button = Button1; _display.button_state = Button1Mask; } break; default: return 1; } xev.time = time / 1000000; xev.x = x; xev.y = y; xev.state = _display.key_state; if (xev.type == ButtonPress) { static int click_num; /* 800x600 display => (800+600) / 64 = 21 */ if (xev.x + xev.y + (_disp.width + _disp.height) / 64 >= _disp.width + _disp.height) { if (click_num == 0) { click_num = 1; } else /* if( click_num == 1) */ { click_num = 0; #if 0 /* This doesn't work on Android 3.x and 4.x. */ ANativeActivity_showSoftInput(_display.app->activity, ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED); #else show_soft_input(_display.app->activity->vm); #endif } } else { click_num = 0; } memset(&prev_xev, 0, sizeof(prev_xev)); } else if (xev.type == MotionNotify) { if (prev_xev.type == MotionNotify && prev_xev.x == xev.x && prev_xev.y == xev.y) { /* Long click on touch panel sends same MotionNotify events continuously. */ #if 0 bl_debug_printf("Same event is ignored.\n"); #endif if (xev.time >= prev_xev.time + 100) { /* 0.1 sec */ prev_xev = xev; ui_display_idling(NULL); } return 1; } prev_xev = xev; } #if 0 bl_debug_printf( BL_DEBUG_TAG "Button is %s x %d y %d btn %d time %d\n", xev.type == ButtonPress ? "pressed" : (xev.type == MotionNotify ? "motion" : "released"), xev.x, xev.y, xev.button, xev.time); #endif win = get_window(xev.x, xev.y); xev.x -= win->x; xev.y -= win->y; if (xev.type != ButtonRelease && xev.button == Button1 && /* XXX excludes scrollbar (see x_window_init() called in ui_scrollbar.c) */ win->width > win->min_width && win->hmargin < xev.x && xev.x < win->hmargin + win->width && win->vmargin < xev.y && xev.y < win->vmargin + win->height) { /* Start long pressing */ _display.long_press_counter = 1; } else { _display.long_press_counter = 0; } ui_window_receive_event(win, &xev); } return 1; } static int32_t on_input_event(struct android_app *app, AInputEvent *event) { switch (AInputEvent_getType(event)) { case AINPUT_EVENT_TYPE_MOTION: #if 0 bl_debug_printf("MOTION %d %d x %d y %d\n", AInputEvent_getSource(event), AMotionEvent_getAction(event), AMotionEvent_getX(event, 0), AMotionEvent_getY(event, 0) - _display.yoffset); #endif return process_mouse_event(AInputEvent_getSource(event), AMotionEvent_getAction(event), AMotionEvent_getEventTime(event), AMotionEvent_getX(event, 0), AMotionEvent_getY(event, 0) - _display.yoffset); case AINPUT_EVENT_TYPE_KEY: #if 0 bl_debug_printf("KEY %d %d\n", AKeyEvent_getScanCode(event), AKeyEvent_getKeyCode(event)); #endif return process_key_event(AKeyEvent_getAction(event), AKeyEvent_getKeyCode(event)); default: return 0; } } static void update_window(ui_window_t *win) { u_int count; ui_window_clear_margin_area(win); if (win->window_exposed) { (*win->window_exposed)(win, 0, 0, win->width, win->height); } for (count = 0; count < win->num_children; count++) { update_window(win->children[count]); } } static void init_window(ANativeWindow *window) { struct rgb_info rgbinfo = {3, 2, 3, 11, 5, 0}; if (_disp.width == 0) { _disp.width = ANativeWindow_getWidth(window); _disp.height = ANativeWindow_getHeight(window); } else { /* Changed in visibleFrameChanged. */ } _disp.depth = 16; _display.bytes_per_pixel = 2; _display.rgbinfo = rgbinfo; ANativeWindow_setBuffersGeometry(window, 0, 0, WINDOW_FORMAT_RGB_565); if (_display.buf.bits) { /* mlterm restarted */ u_int count; _display.buf.bits = NULL; /* In case of locked is 1 here. */ locked = 0; for (count = 0; count < _disp.num_roots; count++) { ui_window_set_mapped_flag(_disp.roots[count], 1); /* In case of restarting */ update_window(_disp.roots[count]); } } } static void on_app_cmd(struct android_app *app, int32_t cmd) { switch (cmd) { case APP_CMD_SAVE_STATE: #ifdef DEBUG bl_debug_printf("SAVE_STATE\n"); #endif break; case APP_CMD_INIT_WINDOW: #ifdef DEBUG bl_debug_printf("INIT_WINDOW\n"); #endif init_window(app->window); break; case APP_CMD_WINDOW_RESIZED: #ifdef DEBUG bl_debug_printf("WINDOW_RESIZED\n"); #endif break; case APP_CMD_TERM_WINDOW: #ifdef DEBUG bl_debug_printf("TERM_WINDOW\n"); #endif { u_int count; for (count = 0; count < _disp.num_roots; count++) { ui_window_set_mapped_flag(_disp.roots[count], 0); } } locked = -1; /* Don't lock until APP_CMD_INIT_WINDOW after restart. */ break; case APP_CMD_WINDOW_REDRAW_NEEDED: #ifdef DEBUG bl_debug_printf("WINDOW_REDRAW_NEEDED\n"); #endif break; case APP_CMD_CONFIG_CHANGED: #ifdef DEBUG bl_debug_printf("CONFIG_CHANGED\n"); #endif case APP_CMD_GAINED_FOCUS: #ifdef DEBUG bl_debug_printf("GAINED_FOCUS\n"); #endif /* When our app gains focus, we start monitoring the accelerometer. */ if (_display.accel_sensor) { ASensorEventQueue_enableSensor(_display.sensor_evqueue, _display.accel_sensor); /* We'd like to get 60 events per second (in us). */ ASensorEventQueue_setEventRate(_display.sensor_evqueue, _display.accel_sensor, (1000L / 60) * 1000); } break; case APP_CMD_LOST_FOCUS: #ifdef DEBUG bl_debug_printf("LOST_FOCUS\n"); #endif /* * When our app loses focus, we stop monitoring the accelerometer. * This is to avoid consuming battery while not being used. */ if (_display.accel_sensor) { ASensorEventQueue_disableSensor(_display.sensor_evqueue, _display.accel_sensor); } break; } } /* --- global functions --- */ ui_display_t *ui_display_open(char *disp_name, u_int depth) { if (!(_disp.name = getenv("DISPLAY"))) { _disp.name = ":0.0"; } _disp.display = &_display; return &_disp; } void ui_display_close(ui_display_t *disp) { if (disp == &_disp) { ui_display_close_all(); } } void ui_display_close_all(void) { if (DISP_IS_INITED) { u_int count; for (count = 0; count < _disp.num_roots; count++) { #if 0 ui_window_unmap(_disp.roots[count]); #endif ui_window_final(_disp.roots[count]); } free(_disp.roots); _disp.roots = NULL; /* DISP_IS_INITED is false from here. */ _disp.display = NULL; } } int ui_display_show_root(ui_display_t *disp, ui_window_t *root, int x, int y, int hint, char *app_name, Window parent_window /* Ignored */ ) { void *p; if ((p = realloc(disp->roots, sizeof(ui_window_t *) * (disp->num_roots + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } disp->roots = p; root->disp = disp; root->parent = NULL; root->parent_window = disp->my_window; root->gc = disp->gc; root->x = x; root->y = y; if (app_name) { root->app_name = app_name; } disp->roots[disp->num_roots++] = root; /* Cursor is drawn internally by calling ui_display_put_image(). */ return ui_window_show(root, hint); } int ui_display_remove_root(ui_display_t *disp, ui_window_t *root) { u_int count; for (count = 0; count < disp->num_roots; count++) { if (disp->roots[count] == root) { /* XXX ui_window_unmap resize all windows internally. */ #if 0 ui_window_unmap(root); #endif ui_window_final(root); disp->num_roots--; if (count == disp->num_roots) { disp->roots[count] = NULL; } else { disp->roots[count] = disp->roots[disp->num_roots]; } return 1; } } return 0; } static void perform_long_click(JavaVM *vm) { JNIEnv *env; if ((env = get_jni_env(vm))) { jobject this = _display.app->activity->clazz; (*env)->CallVoidMethod(env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "performLongClick", "()V")); } } void ui_display_idling(ui_display_t *disp /* ignored */ ) { u_int count; if (_display.long_press_counter > 0) { if (_display.long_press_counter++ == 10) { _display.long_press_counter = 0; perform_long_click(_display.app->activity->vm); } } for (count = 0; count < _disp.num_roots; count++) { ui_window_idling(_disp.roots[count]); } } /* * Folloing functions called from ui_window.c */ int ui_display_own_selection(ui_display_t *disp, ui_window_t *win) { if (_disp.selection_owner) { ui_display_clear_selection(&_disp, _disp.selection_owner); } _disp.selection_owner = win; return 1; } int ui_display_clear_selection(ui_display_t *disp /* can be NULL */, ui_window_t *win) { if (_disp.selection_owner == NULL || _disp.selection_owner != win) { return 0; } if (_disp.selection_owner->selection_cleared) { (*_disp.selection_owner->selection_cleared)(_disp.selection_owner); } _disp.selection_owner = NULL; return 1; } XModifierKeymap *ui_display_get_modifier_mapping(ui_display_t *disp) { return disp->modmap.map; } void ui_display_update_modifier_mapping(ui_display_t *disp, u_int serial) { /* dummy */ } XID ui_display_get_group_leader(ui_display_t *disp) { return None; } void ui_display_rotate(int rotate) {} int ui_display_init(struct android_app *app) { int ret; int ident; int events; struct android_poll_source *source; /* Make sure glue isn't stripped. */ app_dummy(); ret = _display.app ? 0 : 1; _display.app = app; app->onAppCmd = on_app_cmd; do { if ((ident = ALooper_pollAll(-1 /* block forever waiting for events */, NULL, &events, (void **)&source)) >= 0) { /* Process this event. */ if (source) { (*source->process)(app, source); } } } while (!app->window); app->onInputEvent = on_input_event; /* Prepare to monitor accelerometer. */ _display.sensor_man = ASensorManager_getInstance(); _display.accel_sensor = ASensorManager_getDefaultSensor(_display.sensor_man, ASENSOR_TYPE_ACCELEROMETER); _display.sensor_evqueue = ASensorManager_createEventQueue(_display.sensor_man, app->looper, LOOPER_ID_USER, NULL, NULL); return ret; } void ui_display_final(void) { if (locked >= 0) { ASensorManager_destroyEventQueue(_display.sensor_man, _display.sensor_evqueue); _display.accel_sensor = NULL; locked = -1; /* Don't lock until APP_CMD_INIT_WINDOW after restart. */ ANativeActivity_finish(_display.app->activity); } } int ui_display_process_event(struct android_poll_source *source, int ident) { /* Process this event. */ if (source) { (*source->process)(_display.app, source); } /* If a sensor has data, process it now. */ if (ident == LOOPER_ID_USER) { if (_display.accel_sensor) { ASensorEvent event; while (ASensorEventQueue_getEvents(_display.sensor_evqueue, &event, 1) > 0) { #if 0 bl_debug_printf("Accelerometer: x=%f y=%f z=%f", event.acceleration.x, event.acceleration.y, event.acceleration.z); #endif } } } /* Check if we are exiting. */ if (_display.app->destroyRequested) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " destroy requested.\n"); #endif locked = -1; /* Don't lock until APP_CMD_INIT_WINDOW after restart. */ return 0; } return 1; } void ui_display_unlock(void) { if (locked > 0) { ANativeWindow_unlockAndPost(_display.app->window); locked = 0; } } size_t ui_display_get_str(u_char *seq, size_t seq_len) { JNIEnv *env; jobject this; jstring jstr_key; size_t len; if (!(env = get_jni_env(_display.app->activity->vm))) { return 0; } this = _display.app->activity->clazz; jstr_key = (*env)->GetObjectField(env, this, (*env)->GetFieldID(env, (*env)->GetObjectClass(env, this), "keyString", "Ljava/lang/String;")); if (jstr_key) { const char *key; key = (*env)->GetStringUTFChars(env, jstr_key, NULL); if ((len = strlen(key)) > seq_len) { len = 0; } else { memcpy(seq, key, len); } (*env)->ReleaseStringUTFChars(env, jstr_key, key); } else { len = 0; } return len; } u_long ui_display_get_pixel(ui_display_t *disp, int x, int y) { u_char *fb; fb = get_fb(x, y); if (_display.bytes_per_pixel == 4) { return *((u_int32_t *)fb); } else /* if( _display.bytes_per_pixel == 2) */ { return *((u_int16_t *)fb); } } void ui_display_put_image(ui_display_t *disp, int x, int y, u_char *image, size_t size, int need_fb_pixel) { if (display_lock()) { memcpy(get_fb(x, y), image, size); } } void ui_display_copy_lines(ui_display_t *disp, int src_x, int src_y, int dst_x, int dst_y, u_int width, u_int height) { if (display_lock()) { u_char *src; u_char *dst; u_int copy_len; u_int count; size_t line_length; copy_len = width * _display.bytes_per_pixel; line_length = _display.buf.stride * _display.bytes_per_pixel; if (src_y <= dst_y) { src = get_fb(src_x, src_y + height - 1); dst = get_fb(dst_x, dst_y + height - 1); if (src_y == dst_y) { for (count = 0; count < height; count++) { memmove(dst, src, copy_len); dst -= line_length; src -= line_length; } } else { for (count = 0; count < height; count++) { memcpy(dst, src, copy_len); dst -= line_length; src -= line_length; } } } else { src = get_fb(src_x, src_y); dst = get_fb(dst_x, dst_y); for (count = 0; count < height; count++) { memcpy(dst, src, copy_len); dst += line_length; src += line_length; } } } } u_char *ui_display_get_bitmap(char *path, u_int *width, u_int *height) { JNIEnv *env; jobject this; jintArray jarray; char *image; if (!(env = get_jni_env(_display.app->activity->vm))) { return NULL; } this = _display.app->activity->clazz; image = NULL; if ((jarray = (*env)->CallObjectMethod( env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "getBitmap", "(Ljava/lang/String;II)[I"), (*env)->NewStringUTF(env, path), *width, *height))) { jint len; len = (*env)->GetArrayLength(env, jarray); if ((image = malloc((len - 2) * sizeof(u_int32_t)))) { jint *elems; elems = (*env)->GetIntArrayElements(env, jarray, NULL); *width = elems[len - 2]; *height = elems[len - 1]; memcpy(image, elems, (len - 2) * sizeof(u_int32_t)); (*env)->ReleaseIntArrayElements(env, jarray, elems, 0); } } return image; } void ui_display_request_text_selection(void) { JNIEnv *env; jobject this; if (!(env = get_jni_env(_display.app->activity->vm))) { return; } this = _display.app->activity->clazz; (*env)->CallVoidMethod(env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "getTextFromClipboard", "()V")); } void ui_display_send_text_selection(u_char *sel_data, size_t sel_len) { u_char *p; JNIEnv *env; jobject this; jstring str; if (!(p = alloca(sel_len + 1))) { return; } sel_data = memcpy(p, sel_data, sel_len); sel_data[sel_len] = '\0'; if (!(env = get_jni_env(_display.app->activity->vm))) { return; } this = _display.app->activity->clazz; (*env)->CallVoidMethod(env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "setTextToClipboard", "(Ljava/lang/String;)V"), (*env)->NewStringUTF(env, sel_data)); } void ui_display_show_dialog(char *server) { char *user; char *host; char *port; char *encoding; JNIEnv *env; jobject this; if (!(env = get_jni_env(_display.app->activity->vm))) { return; } if (server == NULL || !bl_parse_uri(NULL, &user, &host, &port, NULL, &encoding, bl_str_alloca_dup(server))) { user = host = port = encoding = NULL; } this = _display.app->activity->clazz; (*env)->CallVoidMethod(env, this, (*env)->GetMethodID(env, (*env)->GetObjectClass(env, this), "showDialog", "(Ljava/lang/String;Ljava/lang/String;" "Ljava/lang/String;Ljava/lang/String;)V"), user ? (*env)->NewStringUTF(env, user) : NULL, host ? (*env)->NewStringUTF(env, host) : NULL, port ? (*env)->NewStringUTF(env, port) : NULL, encoding ? (*env)->NewStringUTF(env, encoding) : NULL); } /* Called in the main thread (not in the native activity thread) */ void ui_display_resize(int yoffset, int width, int height, int (*need_resize)(u_int, u_int, u_int, u_int)) { u_int new_width; u_int new_height; #ifdef DEBUG bl_debug_printf("Visible frame changed yoff %d w %d h %d => yoff %d w %d h %d\n", _display.yoffset, _disp.width, _disp.height, yoffset, width, height); #endif if (width < 50 || height < 50) { /* Don't resize because it may be impossible to show any characters. */ return; } _display.yoffset = yoffset; if (_disp.num_roots == 0) { _disp.width = width; _disp.height = height; return; } new_width = width; new_height = height; if (need_resize && !(*need_resize)(_disp.width, _disp.height, new_width, new_height)) { return; } _disp.width = new_width; _disp.height = new_height; ui_window_resize_with_margin(_disp.roots[0], _disp.width, _disp.height, NOTIFY_TO_MYSELF); } /* Called in the main thread (not in the native activity thread) */ void ui_display_update_all(void) { if (_disp.num_roots > 0) { ui_window_update_all(_disp.roots[0]); } } void ui_window_set_mapped_flag(ui_window_t *win, int flag) { u_int count; if (flag == win->is_mapped) { return; } for (count = 0; count < win->num_children; count++) { ui_window_set_mapped_flag(win->children[count], flag); } if (!flag) { win->saved_mapped = win->is_mapped; win->is_mapped = 0; } else { win->is_mapped = win->saved_mapped; } } jstring Java_mlterm_native_1activity_MLActivity_convertToTmpPath( JNIEnv *env, jobject this, jstring jstr /* must be original URL. (Don't specify /sdcard/.mlterm/anim*) */ ) { char *dst_path; char *dir; if (!(dir = bl_get_user_rc_path("mlterm/"))) { return NULL; } if (!(dst_path = alloca(strlen(dir) + 8 + 5 /* hash <= 65535 */ + 1))) { jstr = NULL; } else { const char *src_path; jint hash; src_path = (*env)->GetStringUTFChars(env, jstr, NULL); hash = hash_path(src_path); (*env)->ReleaseStringUTFChars(env, jstr, src_path); sprintf(dst_path, "%sanim%d.gif", dir, hash); jstr = ((*env)->NewStringUTF)(env, dst_path); } free(dir); return jstr; } void Java_mlterm_native_1activity_MLActivity_splitAnimationGif( JNIEnv *env, jobject this, jstring jstr /* must be original URL. (Don't specify /sdcard/.mlterm/anim*) */ ) { const char *str; const char *path; char *dir; char *tmp; int hash; if (!(dir = bl_get_user_rc_path("mlterm/"))) { return; } path = str = (*env)->GetStringUTFChars(env, jstr, NULL); hash = hash_path(path); if (strstr(path, "://") && (tmp = alloca(strlen(dir) + 8 + 5 /* hash <= 65535 */ + 1))) { sprintf(tmp, "%sanim%d.gif", dir, hash); path = tmp; } split_animation_gif(path, dir, hash); free(dir); (*env)->ReleaseStringUTFChars(env, jstr, str); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/res����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013657�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/res/values���������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0015156�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/res/values/strings.xml���������������������������������������������������������0100644�0001760�0000144�00000000164�13210547312�0017446�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">mlterm</string> </resources> ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/res/menu�����������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014623�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/src����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013655�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/src/mlterm���������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0015155�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/src/mlterm/native_activity�����������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0020357�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/src/mlterm/native_activity/MLActivity.java�������������������������������������0100644�0001760�0000144�00000041424�13210547312�0023330�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm.native_activity; import android.app.NativeActivity; import android.view.KeyEvent; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputConnection; import android.view.inputmethod.BaseInputConnection; import android.view.inputmethod.EditorInfo; import android.view.View; import android.view.ViewGroup; import android.view.ContextMenu; import android.view.MenuInflater; import android.view.MenuItem; import android.text.InputType; import android.content.Context; import android.content.ClipboardManager; import android.content.ClipData; import android.content.ClipDescription; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.graphics.Rect; import android.graphics.BitmapFactory; import android.graphics.Bitmap; import android.util.AttributeSet; import java.net.URL; import java.io.*; import android.widget.EditText; import android.widget.TextView; import android.widget.LinearLayout; import android.widget.AdapterView.AdapterContextMenuInfo; import android.content.DialogInterface; import android.app.AlertDialog; import android.app.Dialog; import android.graphics.Color; public class MLActivity extends NativeActivity { static { System.loadLibrary("mlterm"); } private native void visibleFrameChanged(int yoffset, int width, int height); private native void commitTextLock(String str); private native void commitTextNoLock(String str); private native void preeditText(String str); private native String convertToTmpPath(String path); private native void splitAnimationGif(String path); private native void dialogOkClicked(String user, String serv, String port, String encoding, String pass, String cmd); private native void updateScreen(); private native void execCommand(int cmd); private native void resumeNative(); private native void pauseNative(); private String keyString; private View contentView; private int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE; private int imeOptions = EditorInfo.IME_FLAG_NO_ENTER_ACTION | EditorInfo.IME_ACTION_DONE | EditorInfo.IME_FLAG_NO_FULLSCREEN; private ClipboardManager clipMan; private Thread nativeThread; private boolean needRedraw = false; private class TextInputConnection extends BaseInputConnection { public TextInputConnection(View v, boolean fulledit) { super(v, fulledit); } @Override public boolean commitText(CharSequence text, int newCursorPosition) { super.commitText(text, newCursorPosition); if (nativeThread == null) { commitTextLock(text.toString()); } return true; } @Override public boolean setComposingText(CharSequence text, int newCursorPosition) { super.setComposingText(text, newCursorPosition); if (nativeThread == null) { preeditText(text.toString()); } return true; } @Override public boolean finishComposingText() { super.finishComposingText(); if (nativeThread == null) { preeditText(""); } return true; } } private class NativeContentView extends View { public NativeContentView(Context context) { super(context); } public NativeContentView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onCheckIsTextEditor() { return true; } @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { outAttrs.inputType = inputType; outAttrs.imeOptions = imeOptions; return new TextInputConnection(this, true); } } private void forceAsciiInput() { if (true) { inputType |= InputType.TYPE_TEXT_VARIATION_URI; } else { inputType |= InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; } imeOptions |= 0x80000000; /* EditorInfo.IME_FLAG_FORCE_ASCII ; (API level 16) */ ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).restartInput(contentView); } private void showSoftInput() { ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) .showSoftInput(contentView, InputMethodManager.SHOW_FORCED); } private void setTextToClipboard(String str) { ClipData.Item item = new ClipData.Item(str); String[] mimeType = new String[1]; mimeType[0] = ClipDescription.MIMETYPE_TEXT_PLAIN; ClipData cd = new ClipData(new ClipDescription("text_data", mimeType), item); clipMan.setPrimaryClip(cd); } private void getTextFromClipboard() { ClipData cd = clipMan.getPrimaryClip(); if (cd != null) { ClipData.Item item = cd.getItemAt(0); commitTextNoLock(item.getText().toString()); } } @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_MULTIPLE) { keyString = event.getCharacters(); } return super.dispatchKeyEvent(event); } @Override protected void onCreate(Bundle state) { super.onCreate(state); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); if (false) { /* setContentView() is called in NativeActivity.onCreate(). */ contentView = ((ViewGroup) findViewById(android.R.id.content)).getChildAt(0); } else { contentView = new NativeContentView(this); setContentView(contentView); contentView.getViewTreeObserver().addOnGlobalLayoutListener(this); } contentView.setFocusable(true); contentView.setFocusableInTouchMode(true); contentView.requestFocus(); registerForContextMenu(contentView); /* android-11 or later */ getWindow().getDecorView().addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { Rect r = new Rect(); v.getWindowVisibleDisplayFrame(r); if (nativeThread == null) { visibleFrameChanged(r.top, r.right, r.bottom - r.top); } } }); /* * It is prohibited to call getSystemService(CLIPBOARD_SERVICE) * in native activity thread. */ clipMan = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); } @Override protected void onSaveInstanceState(Bundle state) { if (nativeThread != null) { synchronized(nativeThread) { nativeThread.notifyAll(); /* AlertDialog is ignored if home button is pressed. */ } } super.onSaveInstanceState(state); } @Override protected void onPause() { if (nativeThread != null) { synchronized(nativeThread) { nativeThread.notifyAll(); /* AlertDialog is ignored if back button is pressed. */ } } super.onPause(); ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(contentView.getWindowToken(), 0); needRedraw = true; pauseNative(); } @Override protected void onStop() { super.onStop(); needRedraw = false; } @Override protected void onResume() { super.onResume(); if (needRedraw) { updateScreen(); needRedraw = false; } resumeNative(); } @Override protected void onRestart() { super.onRestart(); showSoftInput(); } private void performLongClick() { runOnUiThread(new Runnable() { @Override public void run() { contentView.performLongClick(); } }); } private final int MENU_PASTE_ID = 0; private final int MENU_NEWSCREEN_ID = 1; private final int MENU_LOCALPTY_ID = 2; private final int MENU_SSH_ID = 3; private final int MENU_VSPLIT_ID = 4; private final int MENU_HSPLIT_ID = 5; private final int MENU_NEXTPTY_ID = 6; private final int MENU_PREVPTY_ID = 7; private final int MENU_UPDATESCREEN_ID = 8; private final int MENU_CLOSESCREEN_ID = 9; private final int MENU_CONFIG_ID = 10; private final int MENU_CANCEL_ID = 11; @Override public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo info) { super.onCreateContextMenu(menu, view, info); /* menu.setHeaderTitle("Menu"); */ menu.add(0, MENU_PASTE_ID, 0, "Paste from clipboard"); menu.add(0, MENU_NEWSCREEN_ID, 0, "Open new screen"); menu.add(0, MENU_LOCALPTY_ID, 0, "Open local pty"); menu.add(0, MENU_SSH_ID, 0, "Connect to SSH server"); menu.add(0, MENU_VSPLIT_ID, 0, "Split screen vertically"); menu.add(0, MENU_HSPLIT_ID, 0, "Split screen horizontally"); menu.add(0, MENU_NEXTPTY_ID, 0, "Next pty"); menu.add(0, MENU_PREVPTY_ID, 0, "Previous pty"); menu.add(0, MENU_UPDATESCREEN_ID, 0, "Update screen"); menu.add(0, MENU_CLOSESCREEN_ID, 0, "Close splitted screen"); menu.add(0, MENU_CONFIG_ID, 0, "Configuration"); menu.add(0, MENU_CANCEL_ID, 0, "Cancel"); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case MENU_PASTE_ID: getTextFromClipboard(); return true; case MENU_NEWSCREEN_ID: execCommand(0); return true; case MENU_LOCALPTY_ID: execCommand(3); return true; case MENU_SSH_ID: execCommand(7); return true; case MENU_VSPLIT_ID: execCommand(1); return true; case MENU_HSPLIT_ID: execCommand(2); return true; case MENU_NEXTPTY_ID: execCommand(4); return true; case MENU_PREVPTY_ID: execCommand(5); return true; case MENU_UPDATESCREEN_ID: updateScreen(); return true; case MENU_CLOSESCREEN_ID: execCommand(6); return true; case MENU_CONFIG_ID: Intent intent = new Intent(this, MLPreferenceActivity.class); startActivity(intent); return true; default: return super.onContextItemSelected(item); } } private String saveDefaultFont() { File file = getFileStreamPath("unifont.pcf"); if (!file.exists() || /* If unifont.pcf is older than apk, rewrite unifont.pcf. */ (new File(getApplicationInfo().publicSourceDir)).lastModified() > file.lastModified()) { try { InputStream is = getResources().getAssets().open("unifont.pcf"); OutputStream os = openFileOutput("unifont.pcf", 0); int len; byte[] buf = new byte[102400]; while ((len = is.read(buf)) >= 0) { os.write(buf, 0, len); } os.close(); is.close(); System.err.println("unifont.pcf written.\n"); } catch (Exception e) { } } return file.getPath(); } private int[] getBitmap(String path, int width, int height) { try { InputStream is; if (path.indexOf("://") != -1) { URL url = new URL(path); is = url.openConnection().getInputStream(); if (path.indexOf(".gif") != -1) { String tmp = convertToTmpPath(path); OutputStream os = new FileOutputStream(tmp); int len; byte[] buf = new byte[10240]; while ((len = is.read(buf)) >= 0) { os.write(buf, 0, len); } os.close(); is.close(); splitAnimationGif(path); is = new FileInputStream(tmp); } } else { if (path.indexOf("mlterm/anim") == -1 && path.indexOf(".gif") != -1) { splitAnimationGif(path); } is = new FileInputStream(path); } Bitmap bmp = BitmapFactory.decodeStream(is); /* decodeStream() can return null. */ if (bmp != null) { if (width != 0 && height != 0) { bmp = Bitmap.createScaledBitmap(bmp, width, height, false); } width = bmp.getWidth(); height = bmp.getHeight(); int[] pixels = new int[width * height + 2]; bmp.getPixels(pixels, 0, width, 0, 0, width, height); pixels[pixels.length - 2] = width; pixels[pixels.length - 1] = height; return pixels; } } catch (Exception e) { System.err.println(e); } return null; } private LinearLayout makeTextEntry(String title, EditText edit) { LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.HORIZONTAL); TextView label = new TextView(this); label.setBackgroundColor(Color.TRANSPARENT); label.setText(title); layout.addView(label, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 2)); layout.addView(edit, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1)); return layout; } private EditText serv_edit; private EditText port_edit; private EditText user_edit; private EditText pass_edit; private EditText encoding_edit; private EditText cmd_edit; private LinearLayout dialogLayout; @Override protected Dialog onCreateDialog(int id) { Dialog dialog = new AlertDialog.Builder(this) .setIcon(android.R.drawable.ic_dialog_info) .setTitle("Connect to SSH Server") .setView(dialogLayout) .setPositiveButton("Connect", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialogOkClicked(user_edit.getText().toString(), serv_edit.getText().toString(), port_edit.getText().toString(), encoding_edit.getText().toString(), pass_edit.getText().toString(), cmd_edit.getText().toString()); } }) .setNegativeButton("Local", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) {} }) .create(); dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { public void onDismiss(DialogInterface dialog) { if (nativeThread != null) { synchronized(nativeThread) { nativeThread.notifyAll(); } } } }); return dialog; } private void showDialog(String user, String serv, String port, String encoding) { nativeThread = Thread.currentThread(); dialogLayout = new LinearLayout(this); dialogLayout.setOrientation(LinearLayout.VERTICAL); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); serv_edit = new EditText(this); serv_edit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); dialogLayout.addView(makeTextEntry("Server ", serv_edit), params); port_edit = new EditText(this); port_edit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); dialogLayout.addView(makeTextEntry("Port ", port_edit), params); user_edit = new EditText(this); user_edit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); dialogLayout.addView(makeTextEntry("User ", user_edit), params); pass_edit = new EditText(this); pass_edit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); dialogLayout.addView(makeTextEntry("Password ", pass_edit), params); encoding_edit = new EditText(this); encoding_edit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); dialogLayout.addView(makeTextEntry("Encoding ", encoding_edit), params); cmd_edit = new EditText(this); cmd_edit.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); dialogLayout.addView(makeTextEntry("Exec Cmd ", cmd_edit), params); if (serv != null) { serv_edit.setText(serv, TextView.BufferType.NORMAL); } if (port != null) { port_edit.setText(port, TextView.BufferType.NORMAL); } if (user != null) { user_edit.setText(user, TextView.BufferType.NORMAL); } if (encoding != null) { encoding_edit.setText(encoding, TextView.BufferType.NORMAL); } if (nativeThread != null) { synchronized(nativeThread) { runOnUiThread(new Runnable() { @Override public void run() { showDialog(1); } }); try { nativeThread.wait(); } catch (InterruptedException e) {} } nativeThread = null; } serv_edit = port_edit = user_edit = pass_edit = encoding_edit = null; removeDialog(1); } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/src/mlterm/native_activity/MLPreferenceActivity.java���������������������������0100644�0001760�0000144�00000013435�13210547312�0025330�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm.native_activity; import android.preference.PreferenceActivity; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.ListPreference; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.preference.PreferenceCategory; import android.os.Bundle; import android.text.InputType; import android.widget.TextView; public class MLPreferenceActivity extends PreferenceActivity { private native void setConfig(String key, String val); private native void setDefaultFontConfig(String font); private native boolean getBoolConfig(String key); private native String getStrConfig(String key); private native String getDefaultFontConfig(); private void addCheckBox(PreferenceCategory category, final String key, String title) { CheckBoxPreference checkbox = new CheckBoxPreference(this); checkbox.setTitle(title); checkbox.setPersistent(false); checkbox.setChecked(getBoolConfig(key)); checkbox.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { boolean checked = (Boolean)newValue; if (checked) { setConfig(key, "true"); } else { setConfig(key, "false"); } return true; } }); category.addPreference(checkbox); } private void addEditText(PreferenceCategory category, final String key, String title, int type) { EditTextPreference edit = new EditTextPreference(this); edit.setTitle(title); edit.setPersistent(false); edit.getEditText().setInputType(type); edit.setSummary(getStrConfig(key)); edit.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { setConfig(key, newValue.toString()); ((EditTextPreference)preference).setSummary(getStrConfig(key)); return true; } }); category.addPreference(edit); } private void addFontEditText(PreferenceCategory category) { EditTextPreference edit = new EditTextPreference(this); edit.setTitle("Font path"); edit.setPersistent(false); edit.getEditText().setInputType(InputType.TYPE_CLASS_TEXT); edit.setSummary(getDefaultFontConfig()); edit.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { setDefaultFontConfig(newValue.toString()); ((EditTextPreference)preference).setSummary(getDefaultFontConfig()); return true; } }); category.addPreference(edit); } private void addList(PreferenceCategory category, final String key, String title, CharSequence[] entries) { ListPreference list = new ListPreference(this); String value = getStrConfig(key); list.setTitle(title); list.setPersistent(false); list.setEntries(entries); list.setEntryValues(entries); list.setSummary(value); int index = 0; if (value != null) { while (true) { if (value.contentEquals(entries[index])) { break; } else if (++index > entries.length) { index = 0; break; } } } list.setValueIndex(index); list.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { setConfig(key, newValue.toString()); ((ListPreference)preference).setSummary(getStrConfig(key)); return true; } }); category.addPreference(list); } @Override public void onCreate(Bundle state) { super.onCreate(state); PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(this); setPreferenceScreen(screen); PreferenceCategory category = new PreferenceCategory(this); screen.addPreference(category); addCheckBox(category, "start_with_local_pty", "Don't show SSH dialog on startup"); addEditText(category, "fontsize", "Font size", InputType.TYPE_CLASS_NUMBER); addFontEditText(category); addEditText(category, "encoding", "Encoding", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); addCheckBox(category, "col_size_of_width_a", "Ambiguouswidth = fullwidth"); addEditText(category, "line_space", "Line space", InputType.TYPE_CLASS_NUMBER); addEditText(category, "letter_space", "Character space", InputType.TYPE_CLASS_NUMBER); addEditText(category, "fg_color", "Foreground Color", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); addEditText(category, "bg_color", "Background Color", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); addEditText(category, "wall_picture", "Wall picture", InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI); addEditText(category, "alpha", "Alpha", InputType.TYPE_CLASS_NUMBER); CharSequence[] entries1 = { "right", "left", "none" }; addList(category, "scrollbar_mode", "Scrollbar", entries1); addCheckBox(category, "use_extended_scroll_shortcut", "Scroll by Shift+Up or Shift+Down"); addEditText(category, "logsize", "Backlog size", InputType.TYPE_CLASS_NUMBER); CharSequence[] entries2 = { "none", "cjk", "mongol" }; addList(category, "vertical_mode", "Vertical mode", entries2); addEditText(category, "screen_width_ratio", "Screen size ratio against font size", InputType.TYPE_CLASS_NUMBER); } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/AndroidManifest.xml������������������������������������������������������������0100644�0001760�0000144�00000003074�13210547312�0016737�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mlterm.native_activity" android:versionCode="1" android:versionName="1.0"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="9" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET"/> <application android:label="@string/app_name" android:hasCode="true"> <!-- Our activity is the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="mlterm.native_activity.MLActivity" android:label="@string/app_name" android:configChanges="mcc|mnc|locale|touchscreen|keyboardHidden|navigation|orientation|fontScale" android:windowSoftInputMode="stateVisible|adjustResize"> <!-- Tell NativeActivity the name of or .so --> <meta-data android:name="android.app.lib_name" android:value="mlterm" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="mlterm.native_activity.MLPreferenceActivity" android:label="@string/app_name"> </activity> </application> </manifest> <!-- END_INCLUDE(manifest) --> ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/build.sh�����������������������������������������������������������������������0100755�0001760�0000144�00000001544�13210547312�0014604�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if test "$ANDROID_SDK_PATH" = ""; then ANDROID_SDK_PATH=/cygdrive/c/Program\ Files/Android/android-sdk fi if test "$ANDROID_NDK_PATH" = ""; then ANDROID_NDK_PATH=/cygdrive/c/Users/${USER}/workspace/android-ndk-r8e fi if test "$JAVA_HOME" = ""; then export JAVA_HOME=c:\\Program\ Files\\Java\\jdk1.8.0_51 fi # Requires android-11 or later. "${ANDROID_SDK_PATH}/tools/android.bat" update project --path . --target android-11 (cd jni ; ${ANDROID_NDK_PATH}/ndk-build APP_ABI=all V=1) ant release jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 bin/mlterm-release-unsigned.apk mlterm #"${ANDROID_SDK_PATH}/platform-tools/adb" connect localhost #"${ANDROID_SDK_PATH}/platform-tools/adb" uninstall mlterm.native_activity "${ANDROID_SDK_PATH}/platform-tools/adb" install -r bin/mlterm-release-unsigned.apk "${ANDROID_SDK_PATH}/platform-tools/adb" logcat ������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/android/build.xml����������������������������������������������������������������������0100644�0001760�0000144�00000007652�13210547312�0014775�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <project name="mlterm" default="help"> <!-- The local.properties file is created and updated by the 'android' tool. It contains the path to the SDK. It should *NOT* be checked into Version Control Systems. --> <property file="local.properties" /> <!-- The ant.properties file can be created by you. It is only edited by the 'android' tool to add properties to it. This is the place to change some Ant specific build properties. Here are some properties you may want to change/update: source.dir The name of the source directory. Default is 'src'. out.dir The name of the output directory. Default is 'bin'. For other overridable properties, look at the beginning of the rules files in the SDK, at tools/ant/build.xml Properties related to the SDK location or the project target should be updated using the 'android' tool with the 'update' action. This file is an integral part of the build system for your application and should be checked into Version Control Systems. --> <property file="ant.properties" /> <!-- if sdk.dir was not set from one of the property file, then get it from the ANDROID_HOME env var. This must be done before we load project.properties since the proguard config can use sdk.dir --> <property environment="env" /> <condition property="sdk.dir" value="${env.ANDROID_HOME}"> <isset property="env.ANDROID_HOME" /> </condition> <!-- The project.properties file is created and updated by the 'android' tool, as well as ADT. This contains project specific properties such as project target, and library dependencies. Lower level build properties are stored in ant.properties (or in .classpath for Eclipse projects). This file is an integral part of the build system for your application and should be checked into Version Control Systems. --> <loadproperties srcFile="project.properties" /> <!-- quick check on sdk.dir --> <fail message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." unless="sdk.dir" /> <!-- Import per project custom build rules if present at the root of the project. This is the place to put custom intermediary targets such as: -pre-build -pre-compile -post-compile (This is typically used for code obfuscation. Compiled code location: ${out.classes.absolute.dir} If this is not done in place, override ${out.dex.input.absolute.dir}) -post-package -post-build -pre-clean --> <import file="custom_rules.xml" optional="true" /> <!-- Import the actual build file. To customize existing targets, there are two options: - Customize only one target: - copy/paste the target into this file, *before* the <import> task. - customize it to your needs. - Customize the whole content of build.xml - copy/paste the content of the rules files (minus the top node) into this file, replacing the <import> task. - customize to your needs. *********************** ****** IMPORTANT ****** *********************** In all cases you must update the value of version-tag below to read 'custom' instead of an integer, in order to avoid having your file be overridden by tools such as "android update project" --> <!-- version-tag: 1 --> <import file="${sdk.dir}/tools/ant/build.xml" /> </project> ��������������������������������������������������������������������������������������mlterm-3.8.4/android/prepare.sh���������������������������������������������������������������������0100755�0001760�0000144�00000003623�13210547312�0015143�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh if [ $# != 1 ]; then echo "Usage: prepare.sh [android project path]" echo "(prepare.sh ~/work/mlterm-x.x.x/android => setup at ~/work/mlterm-x.x.x/android)" echo "(prepare.sh . => setup at the current directory)" exit 1 fi PROJECT_PATH=$1 echo "Prepare to build for android. (project: ${PROJECT_PATH})" echo "Press enter key to continue." read mkdir -p ${PROJECT_PATH} cp build.sh ${PROJECT_PATH}/ cp *.xml ${PROJECT_PATH}/ mkdir -p ${PROJECT_PATH}/jni/baselib/pobl ${PROJECT_PATH}/jni/baselib/src cp ../baselib/src/*.[ch] ${PROJECT_PATH}/jni/baselib/src/ cp jni/bl_*.h ${PROJECT_PATH}/jni/baselib/src/ cp ${PROJECT_PATH}/jni/baselib/src/*.h ${PROJECT_PATH}/jni/baselib/pobl/ mkdir -p ${PROJECT_PATH}/jni/encodefilter/mef cp -R ../encodefilter/src ../encodefilter/module ${PROJECT_PATH}/jni/encodefilter cp ${PROJECT_PATH}/jni/encodefilter/src/*.h ${PROJECT_PATH}/jni/encodefilter/mef/ cp -R ../libind ${PROJECT_PATH}/jni/ cp -R ../vtemu ${PROJECT_PATH}/jni/ mkdir -p ${PROJECT_PATH}/jni/uitoolkit/fb mkdir -p ${PROJECT_PATH}/jni/uitoolkit/libotl cp ../uitoolkit/*.[ch] ${PROJECT_PATH}/jni/uitoolkit cp ../uitoolkit/fb/*.[ch] ${PROJECT_PATH}/jni/uitoolkit/fb cp ../uitoolkit/libotl/*.[ch] ${PROJECT_PATH}/jni/uitoolkit/libotl mkdir -p ${PROJECT_PATH}/jni/main cp ../main/*.[ch] ${PROJECT_PATH}/jni/main/ mkdir -p ${PROJECT_PATH}/jni/common cp ../common/c_imagelib.c ${PROJECT_PATH}/jni/common/ cp ../common/c_sixel.c ${PROJECT_PATH}/jni/common/ cp ../common/c_animgif.c ${PROJECT_PATH}/jni/common/ cp jni/Android.mk ${PROJECT_PATH}/jni/ cp jni/ui_event_source.c ${PROJECT_PATH}/jni/uitoolkit/ cp jni/ui.h jni/ui_display.[ch] jni/ui_connect_dialog.c ${PROJECT_PATH}/jni/uitoolkit/fb/ cp jni/main.c jni/version.h ${PROJECT_PATH}/jni/main/ mkdir -p ${PROJECT_PATH}/src/mlterm/native_activity cp src/mlterm/native_activity/*.java ${PROJECT_PATH}/src/mlterm/native_activity/ cp -R res ${PROJECT_PATH}/ echo "done." �������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib��������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013047�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/script�������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0014353�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/script/config.sub��������������������������������������������������������������0100755�0001760�0000144�00000107243�13210547312�0016421�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2017 Free Software Foundation, Inc. timestamp='2017-04-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches to <config-patches@gnu.org>. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.sub ($timestamp) Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | e2k | epiphany \ | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pru \ | pyramid \ | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | visium \ | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; leon|leon[3-9]) basic_machine=sparc-$basic_machine ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pru-* \ | pyramid-* \ | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | visium-* \ | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; asmjs) basic_machine=asmjs-unknown ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; e500v[12]) basic_machine=powerpc-unknown os=$os"spe" ;; e500v[12]-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` os=$os"spe" ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; leon-*|leon[3-9]-*) basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i686-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; moxiebox) basic_machine=moxie-unknown os=-moxiebox ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i686-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; nsx-tandem) basic_machine=nsx-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; wasm32) basic_machine=wasm32-unknown ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -ios) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; c8051-*) os=-elf ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; pru-*) os=-elf ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/script/config.guess������������������������������������������������������������0100755�0001760�0000144�00000126343�13210547312�0016760�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2017 Free Software Foundation, Inc. timestamp='2017-05-27' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # # Please send patches to <config-patches@gnu.org>. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to <config-patches@gnu.org>." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include <features.h> #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ /sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || \ echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; earmv*) arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` machine=${arch}${endian}-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in earm*) os=netbsdelf ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # Determine ABI tags. case "${UNAME_MACHINE_ARCH}" in earm*) expr='s/^earmv[0-9]/-eabi/;s/eb$//' abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:LibertyBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; *:Sortix:*:*) echo ${UNAME_MACHINE}-unknown-sortix exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE=alpha ;; "EV4.5 (21064)") UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") UNAME_MACHINE=alpha ;; "EV5 (21164)") UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include <stdio.h> /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <sys/systemcfg.h> main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/lslpp ] ; then IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH=hppa2.0n ;; 64) HP_ARCH=hppa2.0w ;; '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include <stdlib.h> #include <unistd.h> int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH=hppa2.0w else HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include <unistd.h> int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) UNAME_PROCESSOR=x86_64 ;; i386) UNAME_PROCESSOR=i586 ;; esac echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; e2k:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; k1om:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; mips64el:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; riscv32:Linux:*:* | riscv64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` echo ${UNAME_MACHINE}-pc-isc$UNAME_REL elif /bin/uname -X 2>/dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says <Richard.M.Bartel@ccMail.Census.GOV> echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes <hewes@openmarket.com>. # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; SX-ACE:SUPER-UX:*:*) echo sxace-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_PPC >/dev/null then UNAME_PROCESSOR=powerpc fi fi elif test "$UNAME_PROCESSOR" = i386 ; then # Avoid executing cc on OS X 10.9, as it ships with a stub # that puts up a graphical alert prompting to install # developer tools. Any system running Mac OS X 10.7 or # later (Darwin 11 and later) is required to have a 64-bit # processor. This is not true of the ARM version of Darwin # that Apple uses in portable devices. UNAME_PROCESSOR=x86_64 fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-*:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-*:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; NSX-*:NONSTOP_KERNEL:*:*) echo nsx-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; amd64:Isilon\ OneFS:*:*) echo x86_64-unknown-onefs exit ;; esac cat >&2 <<EOF $0: unable to guess system type This script (version $timestamp), has failed to recognize the operating system you are using. If your script is old, overwrite config.guess and config.sub with the latest versions from: http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess and http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub If $0 has already been updated, send the following data and any information you think might be pertinent to config-patches@gnu.org to provide the necessary information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/script/install-sh��������������������������������������������������������������0100755�0001760�0000144�00000032464�13210547312�0016444�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-12-25.00 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/script/ltmain.sh���������������������������������������������������������������0100755�0001760�0000144�00000606031�13210547312�0016260�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION=1.5.26 TIMESTAMP=" (1.1220.2.492 2008/01/30 06:40:56)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # Check that we have a working $echo. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then # Yippee, $echo works! : else # Restart under the correct shell, and then maybe $echo will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF $* EOF exit $EXIT_SUCCESS fi default_mode= help="Try \`$progname --help' for more information." magic="%%%MAGIC variable%%%" mkdir="mkdir" mv="mv -f" rm="rm -f" # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g' # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr SP2NL='tr \040 \012' NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system SP2NL='tr \100 \n' NL2SP='tr \r\n \100\100' ;; esac # NLS nuisances. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). # We save the old values to restore during execute mode. lt_env= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var lt_env=\"$lt_var=\$$lt_var \$lt_env\" $lt_var=C export $lt_var fi" done if test -n "$lt_env"; then lt_env="env $lt_env" fi # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then $echo "$modename: not configured to build any kind of library" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $echo $win32_libid_type } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then $echo "$modename: unable to infer tagged configuration" $echo "$modename: specify a tag with \`--tag'" 1>&2 exit $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # Parse our command line options once, thoroughly. while test "$#" -gt 0 do arg="$1" shift case $arg in -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in execute_dlfiles) execute_dlfiles="$execute_dlfiles $arg" ;; tag) tagname="$arg" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; esac case $tagname in CC) # Don't test for the "default" C tag, as we know, it's there, but # not specially marked. ;; *) if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" else $echo "$progname: ignoring unknown tag $tagname" 1>&2 fi ;; esac ;; *) eval "$prev=\$arg" ;; esac prev= prevopt= continue fi # Have we seen a non-optional argument yet? case $arg in --help) show_help=yes ;; --version) echo "\ $PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # Now print the configurations for the tags. for tagname in $taglist; do ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --dry-run | -n) run=: ;; --features) $echo "host: $host" if test "$build_libtool_libs" = yes; then $echo "enable shared libraries" else $echo "disable shared libraries" fi if test "$build_old_libs" = yes; then $echo "enable static libraries" else $echo "disable static libraries" fi exit $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= if test -z "$show_help"; then # Infer the operation mode. if test -z "$mode"; then $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 case $nonopt in *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) mode=link for arg do case $arg in -c) mode=compile break ;; esac done ;; *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) mode=install ;; *rm) mode=uninstall ;; *) # If we have no mode, but dlfiles were specified, then do execute mode. test -n "$execute_dlfiles" && mode=execute # Just use the default operation mode. if test -z "$mode"; then if test -n "$nonopt"; then $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 else $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 fi fi ;; esac fi # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then $echo "$modename: unrecognized option \`-dlopen'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$modename --help --mode=$mode' for more information." # These modes are in order of execution frequency so that they run quickly. case $mode in # libtool compile mode compile) modename="$modename: compile" # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) if test -n "$libobj" ; then $echo "$modename: you cannot specify \`-o' more than once" 1>&2 exit $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac lastarg="$lastarg $arg" done IFS="$save_ifs" lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` # Add the arguments to base_compile. base_compile="$base_compile $lastarg" continue ;; * ) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` case $lastarg in # Double-quote args containing other shell metacharacters. # Many Bourne shells cannot handle close brackets correctly # in scan sets, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") lastarg="\"$lastarg\"" ;; esac base_compile="$base_compile $lastarg" done # for arg case $arg_mode in arg) $echo "$modename: you must specify an argument for -Xcompile" exit $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # Get the name of the library object. [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo xform='[cCFSifmso]' case $libobj in *.ada) xform=ada ;; *.adb) xform=adb ;; *.ads) xform=ads ;; *.asm) xform=asm ;; *.c++) xform=c++ ;; *.cc) xform=cc ;; *.ii) xform=ii ;; *.class) xform=class ;; *.cpp) xform=cpp ;; *.cxx) xform=cxx ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; *.sx) xform=sx ;; esac libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case $libobj in *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 exit $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$obj"; then xdir= else xdir=$xdir/ fi lobj=${xdir}$objdir/$objname if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi $run $rm $removelist trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" removelist="$removelist $output_obj $lockfile" trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $run ln "$progpath" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $echo "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $run $rm "$libobj" "${libobj}T" # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. test -z "$run" && cat > ${libobj}T <<EOF # $libobj - a libtool object file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # Please DO NOT delete this file! # It is necessary for linking the library. # Name of the PIC object. EOF # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi if test ! -d "${xdir}$objdir"; then $show "$mkdir ${xdir}$objdir" $run $mkdir ${xdir}$objdir exit_status=$? if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then exit $exit_status fi fi if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi $run $rm "$lobj" "$output_obj" $show "$command" if $run eval $lt_env "$command"; then : else test -n "$output_obj" && $run $rm $removelist exit $EXIT_FAILURE fi if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then $show "$mv $output_obj $lobj" if $run $mv $output_obj $lobj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the PIC object to the libtool object file. test -z "$run" && cat >> ${libobj}T <<EOF pic_object='$objdir/$objname' EOF # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi else # No PIC object so indicate it doesn't exist in the libtool # object file. test -z "$run" && cat >> ${libobj}T <<EOF pic_object=none EOF fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" $run $rm "$obj" "$output_obj" $show "$command" if $run eval $lt_env "$command"; then : else $run $rm $removelist exit $EXIT_FAILURE fi if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $echo "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $run $rm $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then $show "$mv $output_obj $obj" if $run $mv $output_obj $obj; then : else error=$? $run $rm $removelist exit $error fi fi # Append the name of the non-PIC object the libtool object file. # Only append if the libtool object file exists. test -z "$run" && cat >> ${libobj}T <<EOF # Name of the non-PIC object. non_pic_object='$objname' EOF else # Append the name of the non-PIC object the libtool object file. # Only append if the libtool object file exists. test -z "$run" && cat >> ${libobj}T <<EOF # Name of the non-PIC object. non_pic_object=none EOF fi $run $mv "${libobj}T" "${libobj}" # Unlock the critical section if it was locked if test "$need_locks" != no; then $run $rm "$lockfile" fi exit $EXIT_SUCCESS ;; # libtool link mode link | relink) modename="$modename: link" case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args="$nonopt" base_compile="$nonopt $@" compile_command="$nonopt" finalize_command="$nonopt" compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= avoid_version=no dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= notinst_path= # paths that contain not-installed libtool libraries precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test ;; *) qarg=$arg ;; esac libtool_args="$libtool_args $qarg" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) compile_command="$compile_command @OUTPUT@" finalize_command="$finalize_command @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. compile_command="$compile_command @SYMFILE@" finalize_command="$finalize_command @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" if test ! -f "$arg"; then $echo "$modename: symbol file \`$arg' does not exist" exit $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat $save_arg` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit $EXIT_FAILURE fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit $EXIT_FAILURE else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi done else $echo "$modename: link input file \`$save_arg' does not exist" exit $EXIT_FAILURE fi arg=$save_arg prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit $EXIT_FAILURE ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= compile_command="$compile_command $wl$qarg" finalize_command="$finalize_command $wl$qarg" continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= compile_command="$compile_command $qarg" finalize_command="$finalize_command $qarg" continue ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" prev= continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 continue ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: more than one -exported-symbols argument is not allowed" exit $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" ;; esac continue ;; -L*) dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" notinst_path="$notinst_path $dir" fi dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 exit $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -Wc,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Wl,*) args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" case $flag in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") flag="\"$flag\"" ;; esac arg="$arg $wl$flag" compiler_flags="$compiler_flags $wl$flag" linker_flags="$linker_flags $flag" done IFS="$save_ifs" arg=`$echo "X$arg" | $Xsed -e "s/^ //"` ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # Some other compiler flag. -* | +*) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then pic_object= non_pic_object= # Read the .lo file # If there is no directory component, then add one. case $arg in */* | *\\*) . $arg ;; *) . ./$arg ;; esac if test -z "$pic_object" || \ test -z "$non_pic_object" || test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 exit $EXIT_FAILURE fi # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. libobjs="$libobjs $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object non_pic_objects="$non_pic_objects $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi else # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 exit $EXIT_FAILURE else # Dry-run case. # Extract subdirectory from the argument. xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` if test "X$xdir" = "X$arg"; then xdir= else xdir="$xdir/" fi pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` libobjs="$libobjs $pic_object" non_pic_objects="$non_pic_objects $non_pic_object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi done # argument parsing loop if test -n "$prev"; then $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" fi oldlibs= # calculate the name of the file, without its directory outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` if test "X$output_objdir" = "X$output"; then output_objdir="$objdir" else output_objdir="$output_objdir/$objdir" fi # Create the object directory. if test ! -d "$output_objdir"; then $show "$mkdir $output_objdir" $run $mkdir $output_objdir exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $exit_status fi fi # Determine the type of output case $output in "") $echo "$modename: you must specify an output file" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac case $host in *cygwin* | *mingw* | *pw32*) # don't eliminate duplications in $postdeps and $predeps duplicate_compiler_generated_deps=yes ;; *) duplicate_compiler_generated_deps=$duplicate_deps ;; esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if test "X$duplicate_deps" = "Xyes" ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries case $linkmode in lib) passes="conv link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 exit $EXIT_FAILURE ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 continue fi name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then library_names= old_library= case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $echo $echo "*** Warning: Trying to link with static lib archive $deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because the file extensions .$libext of this argument makes me believe" $echo "*** that it is just a static archive that I should not used here." else $echo $echo "*** Warning: Linking the shared library $output against the" $echo "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE fi # Check to see that this really is a libtool archive. if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` test "X$ladir" = "X$lib" && ladir="." dlname= dlopen= dlpreopen= libdir= library_names= old_library= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 exit $EXIT_FAILURE fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 abs_ladir="$ladir" fi ;; esac laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then $echo "$modename: warning: library \`$lib' was moved." 1>&2 dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 exit $EXIT_FAILURE fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi # This is a shared library # Warn about portability, can't link against -module's on # some systems (darwin) if test "$shouldnotlink" = yes && test "$pass" = link ; then $echo if test "$linkmode" = prog; then $echo "*** Warning: Linking the executable $output against the loadable module" else $echo "*** Warning: Linking the shared library $output against the loadable module" fi $echo "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names realname="$2" shift; shift libname=`eval \\$echo \"$libname_spec\"` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw*) major=`expr $current - $age` versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" soname=`$echo $soroot | ${SED} -e 's/^.*\///'` newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else $show "extracting exported symbol list from \`$soname'" save_ifs="$IFS"; IFS='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else $show "generating import library for \`$soname'" save_ifs="$IFS"; IFS='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a module then we can not link against # it, someone is ignoring the new warnings I added if /usr/bin/file -L $add 2> /dev/null | $EGREP ": [^:]* bundle" >/dev/null ; then $echo "** Warning, lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $echo $echo "** And there doesn't seem to be a static archive available" $echo "** The link will probably fail, sorry" else add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then $echo "$modename: configuration error: unsupported hardcode properties" exit $EXIT_FAILURE fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && \ test "$hardcode_minus_L" != yes && \ test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $echo $echo "*** Warning: This system can not link to static lib archive $lib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $echo "*** But as you try to build a module library, libtool will still create " $echo "*** a static module, that should work as long as the dlopening application" $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if test "X$duplicate_deps" = "Xyes" ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do case $deplib in -L*) path="$deplib" ;; *.la) dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$deplib" && dir="." # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 absdir="$dir" fi ;; esac if grep "^installed=no" $deplib > /dev/null; then path="$absdir/$objdir" else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 fi path="$absdir" fi depdepl= case $host in *-*-darwin*) # we do not want to link against static libs, # but need to link against shared eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$deplibdir/$depdepl" ; then depdepl="$deplibdir/$depdepl" elif test -f "$path/$depdepl" ; then depdepl="$path/$depdepl" else # Can't find it, oh well... depdepl= fi # do not add paths which are already there case " $newlib_search_path " in *" $path "*) ;; *) newlib_search_path="$newlib_search_path $path";; esac fi path="" ;; *) path="-L$path" ;; esac ;; -l*) case $host in *-*-darwin*) # Again, we only want to link against shared libraries eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` for tmp in $newlib_search_path ; do if test -f "$tmp/lib$tmp_libs.dylib" ; then eval depdepl="$tmp/lib$tmp_libs.dylib" break fi done path="" ;; *) continue ;; esac ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) case " $deplibs" in *\ -l* | *\ -L*) $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;; esac if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 fi if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 fi # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) if test "$module" = no; then $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 exit $EXIT_FAILURE else $echo $echo "*** Warning: Linking the shared library $output against the non-libtool" $echo "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi if test "$dlself" != no; then $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 fi set dummy $rpath if test "$#" -gt 2; then $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 fi install_libdir="$2" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 fi else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 IFS="$save_ifs" if test -n "$8"; then $echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$2" number_minor="$3" number_revision="$4" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) current=`expr $number_major + $number_minor` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; esac ;; no) current="$2" revision="$3" age="$4" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac if test "$age" -gt "$current"; then $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header major=.`expr $current - $age` versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... minor_current=`expr $current + 1` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current"; ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do iface=`expr $revision - $loop` loop=`expr $loop - 1` verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) major=.`expr $current - $age` versuffix="$major.$age.$revision" ;; osf) major=.`expr $current - $age` versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do iface=`expr $current - $loop` loop=`expr $loop - 1` verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. major=`expr $current - $age` versuffix="-$major" ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$echo "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done if test -n "$removelist"; then $show "${rm}r $removelist" $run ${rm}r $removelist fi fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $rm conftest.c cat > conftest.c <<EOF int main() { return 0; } EOF $rm conftest if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then ldd_output=`ldd conftest` for i in $deplibs; do name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) newdeplibs="$newdeplibs $i" i="" ;; esac fi if test -n "$i" ; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches deplib_match=$2 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then newdeplibs="$newdeplibs $i" else droppeddeps=yes $echo $echo "*** Warning: dynamic linker does not accept needed library $i." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which I believe you do not have" $echo "*** because a test_compile did reveal that the linker did not use it for" $echo "*** its dynamic dependency list that programs get resolved with at runtime." fi fi else newdeplibs="$newdeplibs $i" fi done else # Error occurred in the first compile. Let's try to salvage # the situation: Compile a separate program for each library. for i in $deplibs; do name=`expr $i : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then $rm conftest if $LTCC $LTCFLAGS -o conftest conftest.c $i; then ldd_output=`ldd conftest` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $i "*) newdeplibs="$newdeplibs $i" i="" ;; esac fi if test -n "$i" ; then libname=`eval \\$echo \"$libname_spec\"` deplib_matches=`eval \\$echo \"$library_names_spec\"` set dummy $deplib_matches deplib_match=$2 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then newdeplibs="$newdeplibs $i" else droppeddeps=yes $echo $echo "*** Warning: dynamic linker does not accept needed library $i." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because a test_compile did reveal that the linker did not use this one" $echo "*** as a dynamic dependency that programs can get resolved with at runtime." fi fi else droppeddeps=yes $echo $echo "*** Warning! Library $i is needed by this library but I was not able to" $echo "*** make it link in! You will probably need to install it or some" $echo "*** library that it depends on before this library will be fully" $echo "*** functional. Installing it before continuing would be even better." fi else newdeplibs="$newdeplibs $i" fi done fi ;; file_magic*) set dummy $deplibs_check_method file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test "$name" != "" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null \ | grep " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for file magic test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a file magic. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` for a_deplib in $deplibs; do name=`expr $a_deplib : '-l\(.*\)'` # If $name is empty we are operating on a -L argument. if test -n "$name" && test "$name" != "0"; then if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval \\$echo \"$libname_spec\"` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval $echo \"$potent_lib\" 2>/dev/null \ | ${SED} 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $echo $echo "*** Warning: linker path does not have real file for library $a_deplib." $echo "*** I have the capability to make that library automatically link in when" $echo "*** you link to this library. But I can only do this if you have a" $echo "*** shared version of the library, which you do not appear to have" $echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $echo "*** with $libname but no candidates were found. (...for regex pattern test)" else $echo "*** with $libname and none of the candidates passed a file format test" $echo "*** using a regex pattern. Last file checked: $potlib" fi fi else # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" fi done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` done fi if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ | grep . >/dev/null; then $echo if test "X$deplibs_check_method" = "Xnone"; then $echo "*** Warning: inter-library dependencies are not supported in this platform." else $echo "*** Warning: inter-library dependencies are not known to be supported." fi $echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $echo $echo "*** Warning: libtool could not satisfy all declared inter-library" $echo "*** dependencies of module $libname. Therefore, libtool will create" $echo "*** a static module, that should work as long as the dlopening" $echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $echo $echo "*** However, this would only work if libtool was able to extract symbol" $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" $echo "*** not find such a program. So, this module is probably useless." $echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $echo "*** The inter-library dependencies that have been dropped here will be" $echo "*** automatically added whenever a program is linked with this library" $echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $echo $echo "*** Since this library must not contain undefined symbols," $echo "*** because either the platform does not support them or" $echo "*** it was explicitly requested with -no-undefined," $echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" shift; shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" if len=`expr "X$cmd" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then $show "$cmd" $run eval "$cmd" || exit $? skipped_export=false else # The command line is too long to execute in one step. $show "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex"; then $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' $show "$mv \"${export_symbols}T\" \"$export_symbols\"" $run eval '$mv "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise. $echo "creating reloadable object files..." # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output output_la=`$echo "X$output" | $Xsed -e "$basename"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= delfiles= last_robj= k=1 output=$output_objdir/$output_la-${k}.$objext # Loop over the list of objects to be linked. for obj in $save_libobjs do eval test_cmds=\"$reload_cmds $objlist $last_robj\" if test "X$objlist" = X || { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; }; then objlist="$objlist $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${k}.$objext objlist=$obj len=1 fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if ${skipped_export-false}; then $show "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $run $rm $export_symbols libobjs=$output # Append the command to create the export file. eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" fi # Set up a command to remove the reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" done $echo "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi # Append the command to remove the reloadable object files # to the just-reset $cmds. eval cmds=\"\$cmds~\$rm $delfiles\" fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) case " $deplibs" in *\ -l* | *\ -L*) $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;; esac if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 fi if test -n "$xrpath"; then $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case $output in *.lo) if test -n "$objs$old_deplibs"; then $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 exit $EXIT_FAILURE fi libobj="$output" obj=`$echo "X$output" | $Xsed -e "$lo2o"` ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $run $rm $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $run eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" fi if test -n "$gentop"; then $show "${rm}r $gentop" $run ${rm}r $gentop fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; esac if test -n "$vinfo"; then $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi if test "$preload" = yes; then if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && test "$dlopen_self_static" = unknown; then $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." fi fi case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; esac case $host in *darwin*) # Don't allow lazy linking, it breaks C++ global constructors if test "$tagname" = CXX ; then compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" fi ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then dlsyms="${outputname}S.c" else $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 fi fi if test -n "$dlsyms"; then case $dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${outputname}.nm" $show "$rm $nlist ${nlist}S ${nlist}T" $run $rm "$nlist" "${nlist}S" "${nlist}T" # Parse the name list into a source file. $show "creating $output_objdir/$dlsyms" test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ /* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ /* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ #define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then $show "generating symbol list for \`$output'" test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for arg in $progfiles; do $show "extracting global C symbols from \`$arg'" $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi if test -n "$export_symbols_regex"; then $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' $run eval '$mv "$nlist"T "$nlist"' fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac fi fi for arg in $dlprefiles; do $show "extracting global C symbols from \`$arg'" name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` $run eval '$echo ": $name " >> "$nlist"' $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" done if test -z "$run"; then # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $mv "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if grep -v "^: " < "$nlist" | if sort -k 3 </dev/null >/dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else grep -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' else $echo '/* NONE */' >> "$output_objdir/$dlsyms" fi $echo >> "$output_objdir/$dlsyms" "\ #undef lt_preloaded_symbols #if defined (__STDC__) && __STDC__ # define lt_ptr void * #else # define lt_ptr char * # define const #endif /* The mapping between symbol names and symbols. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ const char *name; lt_ptr address; } lt_preloaded_symbols[] = {\ " eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" $echo >> "$output_objdir/$dlsyms" "\ {0, (lt_ptr) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " fi pic_flag_for_symtable= case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; esac;; *-*-hpux*) case "$compile_command " in *" -static "*) ;; *) pic_flag_for_symtable=" $pic_flag";; esac esac # Now compile the dynamic symbol file. $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? # Clean up the generated files. $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" # Transform the symbol file into the correct name. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_status=$? # Delete the generated files. if test -n "$dlsyms"; then $show "$rm $output_objdir/${outputname}S.${objext}" $run $rm "$output_objdir/${outputname}S.${objext}" fi exit $exit_status fi if test -n "$shlibpath_var"; then # We should set the shlibpath_var rpath= for dir in $temp_rpath; do case $dir in [\\/]* | [A-Za-z]:[\\/]*) # Absolute path. rpath="$rpath$dir:" ;; *) # Relative path: add a thisdir entry. rpath="$rpath\$thisdir/$dir:" ;; esac done temp_rpath="$rpath" fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $run $rm $output # Link the executable and exit $show "$link_command" $run eval "$link_command" || exit $? exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 $echo "$modename: \`$output' will be relinked during installation" 1>&2 else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname $show "$link_command" $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if our run command is non-null. if test -z "$run"; then # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <<EOF /* $cwrappersource - temporary wrapper executable for $objdir/$outputname Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP The $output program cannot be directly executed until all the libtool libraries that it depends on are installed. This wrapper executable should never be moved out of the build directory. If it is, it will not operate correctly. Currently, it simply execs the wrapper *script* "/bin/sh $output", but could eventually absorb all of the scripts functionality and exec $objdir/$outputname directly. */ EOF cat >> $cwrappersource<<"EOF" #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <malloc.h> #include <stdarg.h> #include <assert.h> #include <string.h> #include <ctype.h> #include <sys/stat.h> #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(const char *path); char * strendzap(char *str, const char *pat); void lt_fatal (const char *message, ...); int main (int argc, char *argv[]) { char **newargz; int i; program_name = (char *) xstrdup (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <<EOF newargz[0] = (char *) xstrdup("$SHELL"); EOF cat >> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* we know the script has the same name, without the .exe */ /* so make sure newargz[1] doesn't end in .exe */ strendzap(newargz[1],".exe"); for (i = 1; i < argc; i++) newargz[i+1] = xstrdup(argv[i]); newargz[argc+1] = NULL; for (i=0; i<argc+1; i++) { DEBUG("(main) newargz[%d] : %s\n",i,newargz[i]); ; } EOF case $host_os in mingw*) cat >> $cwrappersource <<EOF execv("$SHELL",(char const **)newargz); EOF ;; *) cat >> $cwrappersource <<EOF execv("$SHELL",newargz); EOF ;; esac cat >> $cwrappersource <<"EOF" return 127; } void * xmalloc (size_t num) { void * p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } char * strendzap(char *str, const char *pat) { size_t len, patlen; assert(str != NULL); assert(pat != NULL); len = strlen(str); patlen = strlen(pat); if (patlen <= len) { str += len - patlen; if (strcmp(str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char * mode, const char * message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } EOF # we should really use a build-platform specific compiler # here, but OTOH, the wrappers (shell script and this C one) # are only useful if you want to execute the "real" binary. # Since the "real" binary is built for $host, then this # wrapper might as well be built for $host, too. $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 $echo > $output "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variable: notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$echo are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then # Yippee, \$echo works! : else # Restart under the correct shell, and then maybe \$echo will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $echo >> $output "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || \\ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $mkdir \"\$progdir\" else $rm \"\$progdir/\$file\" fi" $echo >> $output "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $echo \"\$relink_command_output\" >&2 $rm \"\$progdir/\$file\" exit $EXIT_FAILURE fi fi $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $rm \"\$progdir/\$program\"; $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } $rm \"\$progdir/\$file\" fi" else $echo >> $output "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $echo >> $output "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $echo >> $output "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2*) $echo >> $output "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE fi else # The program doesn't exist. \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$echo \"This script is just a wrapper for \$program.\" 1>&2 $echo \"See the $PACKAGE documentation for more information.\" 1>&2 exit $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts $echo "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done for obj in $save_oldobjs do oldobjs="$objlist $obj" objlist="$objlist $obj" eval test_cmds=\"$old_archive_cmds\" if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && test "$len" -le "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do eval cmd=\"$cmd\" IFS="$save_ifs" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$generated"; then $show "${rm}r$generated" $run ${rm}r$generated fi # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` relink_command="$var=\"$var_value\"; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. if test -z "$run"; then for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdlfiles="$newdlfiles $libdir/$name" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` if test -z "$libdir"; then $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 exit $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $rm $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $echo > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $echo >> $output "\ relink_command=\"$relink_command\"" fi done fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? ;; esac exit $EXIT_SUCCESS ;; # libtool install mode install) modename="$modename: install" # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $echo "X$nonopt" | grep shtool > /dev/null; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$arg " arg="$1" shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$install_prog$arg" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac install_prog="$install_prog $arg" done if test -z "$install_prog"; then $echo "$modename: you must specify an install program" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi if test -z "$files"; then if test -z "$dest"; then $echo "$modename: no file or destination specified" 1>&2 else $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Strip any trailing slash from the destination. dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` test "X$destdir" = "X$dest" && destdir=. destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` # Not a directory, so check to see that there is only one file specified. set dummy $files if test "$#" -gt 2; then $echo "$modename: \`$dest' is not a directory" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi library_names= old_library= relink_command= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ test "X$dir" = "X$file/" && dir= dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. if test "$inst_prefix_dir" = "$destdir"; then $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 exit $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` fi $echo "$modename: warning: relinking \`$file'" 1>&2 $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 exit $EXIT_FAILURE fi fi # See the names of the shared library. set dummy $library_names if test -n "$2"; then realname="$2" shift shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. $show "$install_prog $dir/$srcname $destdir/$realname" $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? if test -n "$stripme" && test -n "$striplib"; then $show "$striplib $destdir/$realname" $run eval "$striplib $destdir/$realname" || exit $? fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_exit } done IFS="$save_ifs" fi # Install the pseudo-library for information purposes. name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` instname="$dir/$name"i $show "$install_prog $instname $destdir/$name" $run eval "$install_prog $instname $destdir/$name" || exit $? # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` ;; *.$objext) staticdest="$destfile" destfile= ;; *) $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac # Install the libtool object if requested. if test -n "$destfile"; then $show "$install_prog $file $destfile" $run eval "$install_prog $file $destfile" || exit $? fi # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` $show "$install_prog $staticobj $staticdest" $run eval "$install_prog \$staticobj \$staticdest" || exit $? fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then file=`$echo $file|${SED} 's,.exe$,,'` stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin*|*mingw*) wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` ;; *) wrapper=$file ;; esac if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then notinst_deplibs= relink_command= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac # Check the variables that should have been set. if test -z "$notinst_deplibs"; then $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 exit $EXIT_FAILURE fi finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then # If there is no directory component, then add one. case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; esac fi libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 finalize=no fi done relink_command= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $show "$relink_command" if $run eval "$relink_command"; then : else $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 ${rm}r "$tmpdir" continue fi file="$outputname" else $echo "$modename: warning: cannot relink \`$file'" 1>&2 fi else # Install the binary that we compiled earlier. file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` ;; esac ;; esac $show "$install_prog$stripme $file $destfile" $run eval "$install_prog\$stripme \$file \$destfile" || exit $? test -n "$outputname" && ${rm}r "$tmpdir" ;; esac done for file in $staticlibs; do name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` # Set up the ranlib parameters. oldlib="$destdir/$name" $show "$install_prog $file $oldlib" $run eval "$install_prog \$file \$oldlib" || exit $? if test -n "$stripme" && test -n "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done IFS="$save_ifs" done if test -n "$future_libdirs"; then $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 fi if test -n "$current_libdirs"; then # Maybe just do a dry run. test -n "$run" && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi ;; # libtool finish mode finish) modename="$modename: finish" libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || admincmds="$admincmds $cmd" done IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $run eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $echo "Libraries have been installed in:" for libdir in $libdirs; do $echo " $libdir" done $echo $echo "If you ever happen to want to link against installed libraries" $echo "in a given directory, LIBDIR, you must either use libtool, and" $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" $echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" $echo " during execution" fi if test -n "$runpath_var"; then $echo " - add LIBDIR to the \`$runpath_var' environment variable" $echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $echo " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $echo " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $echo $echo "See any operating system documentation about shared libraries for" $echo "more information, such as the ld(1) and ld.so(8) manual pages." $echo "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # libtool execute mode execute) modename="$modename: execute" # The first argument is the command name. cmd="$nonopt" if test -z "$cmd"; then $echo "$modename: you must specify a COMMAND" 1>&2 $echo "$help" exit $EXIT_FAILURE fi # Handle -dlopen flags immediately. for file in $execute_dlfiles; do if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi dir= case $file in *.la) # Check to see that this really is a libtool archive. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi # Read the libtool library. dlname= library_names= # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" continue fi dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi fi ;; *.lo) # Just add the directory containing the .lo file. dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` test "X$dir" = "X$file" && dir=. ;; *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case $file in */* | *\\*) . $file ;; *) . ./$file ;; esac # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` args="$args \"$file\"" done if test -z "$run"; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" $echo "export $shlibpath_var" fi $echo "$cmd$args" exit $EXIT_SUCCESS fi ;; # libtool clean and uninstall mode clean | uninstall) modename="$modename: $mode" rm="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) rm="$rm $arg"; rmforce=yes ;; -*) rm="$rm $arg" ;; *) files="$files $arg" ;; esac done if test -z "$rm"; then $echo "$modename: you must specify an RM program" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi rmdirs= origobjdir="$objdir" for file in $files; do dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` if test "X$dir" = "X$file"; then dir=. objdir="$origobjdir" else objdir="$dir/$origobjdir" fi name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if (test -L "$file") >/dev/null 2>&1 \ || (test -h "$file") >/dev/null 2>&1 \ || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then . $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" if test "$?" -ne 0 && test "$rmforce" != yes; then exit_status=1 fi done IFS="$save_ifs" fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # Read the .lo file . $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" \ && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" \ && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) file=`$echo $file|${SED} 's,.exe$,,'` noexename=`$echo $name|${SED} 's,.exe$,,'` # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then relink_command= . $dir/$noexename # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac $show "$rm $rmfiles" $run $rm $rmfiles || exit_status=1 done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then $show "rmdir $dir" $run rmdir $dir >/dev/null 2>&1 fi done exit $exit_status ;; "") $echo "$modename: you must specify a MODE" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE fi # We need to display help for each of the modes. case $mode in "") $echo \ "Usage: $modename [OPTION]... [MODE-ARG]... Provide generalized library-building support services. --config show all configuration variables --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files --features display basic configuration information and exit --finish same as \`--mode=finish' --help display this help message and exit --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] --quiet same as \`--silent' --silent don't print informational messages --tag=TAG use configuration variables from tag TAG --version print version information MODE must be one of the following: clean remove files from the build directory compile compile a source file into a libtool object execute automatically set library path, then run a program finish complete the installation of libtool libraries install install libraries or executables link create a library or an executable uninstall remove libraries from an installed directory MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for a more detailed description of MODE. Report bugs to <bug-libtool@gnu.org>." exit $EXIT_SUCCESS ;; clean) $echo \ "Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $echo \ "Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -static always build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $echo \ "Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $echo \ "Usage: $modename [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $echo \ "Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $echo \ "Usage: $modename [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $echo \ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0013636�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn_dld.c�������������������������������������������������������������0100644�0001760�0000144�00000002355�13210547312�0016451�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdio.h> /* NULL */ #include <string.h> /* strlen */ #include "bl_mem.h" /* alloca() */ #include <dl.h> /* --- global functions --- */ bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name) { char *path; shl_t handle; if ((path = alloca(strlen(dirpath) + strlen(name) + 7)) == NULL) { return NULL; } /* * libfoo.sl --> foo.sl */ sprintf(path, "%slib%s.sl", dirpath, name); if ((handle = shl_load(path, BIND_DEFERRED, 0x0))) { return (bl_dl_handle_t)handle; } sprintf(path, "%s%s.sl", dirpath, name); if ((handle = shl_load(path, BIND_DEFERRED, 0x0))) { return (bl_dl_handle_t)handle; } return NULL; } int bl_dl_close(bl_dl_handle_t handle) { return shl_unload((shl_t)handle); } void *bl_dl_func_symbol(bl_dl_handle_t handle, const char *symbol) { void *func; if (shl_findsym((shl_t *)&handle, symbol, TYPE_PROCEDURE, &func) == -1) { return NULL; } return func; } int bl_dl_is_module(const char *name) { size_t len; if (!name) { return 0; } if ((len = strlen(name)) < 3) { return 0; } if (strcmp(&name[len - 3], ".sl") == 0) { return 1; } return 0; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_util.h������������������������������������������������������������������0100644�0001760�0000144�00000004152�13210547312�0015517�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_UTIL_H__ #define __BL_UTIL_H__ #if defined(NetBSD) || defined(FreeBSD) #include <sys/param.h> /* __FreeBSD_version, __NetBSD_Version */ #endif #include "bl_def.h" /* WORDS_BIGENDIAN */ #include "bl_types.h" /* u_int32_t */ #if (defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 300000000)) || \ (defined(__FreeBSD_version) && (__FreeBSD_version >= 501000)) #include <sys/endian.h> #define BE32DEC(p) be32dec(p) #define BE16DEC(p) be16dec(p) #define LE32DEC(p) le32dec(p) #define LE16DEC(p) le16dec(p) #else /* p is unsigned char */ #define BE32DEC(p) (((u_int32_t)(p)[0] << 24) | ((p)[1] << 16) | ((p)[2] << 8) | (p)[3]) #define BE16DEC(p) (((p)[0] << 8) | (p)[1]) #define LE32DEC(p) (((u_int32_t)(p)[3] << 24) | ((p)[2] << 16) | ((p)[1] << 8) | (p)[0]) #define LE16DEC(p) (((p)[1] << 8) | (p)[0]) #endif /* p is "unsigned char *". __NO_STRICT_ALIGNMENT is defined in sys/types.h of * *BSD */ #if defined(__NO_STRICT_ALIGNMENT) || defined(__i386) #define TOINT32(p) (*((u_int32_t *)(p))) #define TOINT16(p) (*((u_int16_t *)(p))) #elif defined(WORDS_BIGENDIAN) #define TOINT32(p) BE32DEC(p) #define TOINT16(p) BE16DEC(p) #else #define TOINT32(p) LE32DEC(p) #define TOINT16(p) LE16DEC(p) #endif #define K_MAX(n1, n2) ((n1) > (n2) ? (n1) : (n2)) #define K_MIN(n1, n2) ((n1) > (n2) ? (n2) : (n1)) /* TYPE: MIN(signed) -- MAX(unsigned) (number of bytes needed) * char : -128 -- 256 (4) * int16 : -32768 -- 65536 (6) * int32 : -2147483648 -- 4294967296 (11) * int64 : -9223372036854775808 -- 18446744073709551616 (20) * * Since log10(2^8) = 2.4..., (sizeof(n)*3) is large enough * for all n >= 2. */ #define DIGIT_STR_LEN(n) \ ((sizeof(n) == 1) ? 4 : (sizeof(n) == 2) ? 6 : (sizeof(n) == 4) ? 11 : (sizeof(n) == 8) \ ? 20 \ : (sizeof(n) * 3)) #define BL_INT_TO_STR(i) _BL_INT_TO_STR(i) #define _BL_INT_TO_STR(i) #i #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_langinfo.h��������������������������������������������������������������0100644�0001760�0000144�00000002764�13210547312�0016346�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_LANGINFO_H__ #define __BL_LANGINFO_H__ #include "bl_def.h" #ifdef HAVE_LANGINFO_H #include <langinfo.h> #endif #ifdef CODESET #define bl_langinfo(item) nl_langinfo(item) #else /* CODESET */ /* * same as NetBSD 1.5 langinfo.h (revision 1.5) */ typedef long nl_item; #define D_T_FMT 0 #define D_FMT 1 #define T_FMT 2 #define T_FMT_AMPM 3 #define AM_STR 4 #define PM_STR 5 #define DAY_1 6 #define DAY_2 7 #define DAY_3 8 #define DAY_4 9 #define DAY_5 10 #define DAY_6 11 #define DAY_7 12 #define ABDAY_1 13 #define ABDAY_2 14 #define ABDAY_3 15 #define ABDAY_4 16 #define ABDAY_1 13 #define ABDAY_2 14 #define ABDAY_3 15 #define ABDAY_4 16 #define ABDAY_5 17 #define ABDAY_6 18 #define ABDAY_7 19 #define MON_1 20 #define MON_2 21 #define MON_3 22 #define MON_4 23 #define MON_5 24 #define MON_6 25 #define MON_7 26 #define MON_8 27 #define MON_9 28 #define MON_10 29 #define MON_11 30 #define MON_12 31 #define ABMON_1 32 #define ABMON_2 33 #define ABMON_3 34 #define ABMON_4 35 #define ABMON_5 36 #define ABMON_6 37 #define ABMON_7 38 #define ABMON_8 39 #define ABMON_9 40 #define ABMON_10 41 #define ABMON_11 42 #define ABMON_12 43 #define RADIXCHAR 44 #define THOUSEP 45 #define YESSTR 46 #define YESEXPR 47 #define NOSTR 48 #define NOEXPR 49 #define CRNCYSTR 50 #define CODESET 51 #define USE_BUILTIN_LANGINFO #define bl_langinfo(item) __bl_langinfo(item) char *__bl_langinfo(nl_item item); #endif /* CODESET */ #endif ������������mlterm-3.8.4/baselib/src/bl_path.h������������������������������������������������������������������0100644�0001760�0000144�00000003162�13210547312�0015476�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_PATH_H__ #define __BL_PATH_H__ #include <ctype.h> /* isalpha */ #include "bl_types.h" #include "bl_def.h" /* PathIsRelative() is not used to avoid link shlwapi.lib */ #define IS_RELATIVE_PATH_DOS(path) \ (isalpha((path)[0]) ? ((path)[1] != ':' || (path)[2] != '\\') : ((path)[0] != '\\')) #define IS_RELATIVE_PATH_UNIX(path) (*(path) != '/') #ifdef USE_WIN32API #define IS_RELATIVE_PATH(path) IS_RELATIVE_PATH_DOS(path) #else #define IS_RELATIVE_PATH(path) IS_RELATIVE_PATH_UNIX(path) #endif #if defined(__CYGWIN__) || defined(__MSYS__) #ifndef BINDIR #define BL_LIBEXECDIR(suffix) "/bin" #else #define BL_LIBEXECDIR(suffix) BINDIR #endif #else #ifndef LIBEXECDIR #define BL_LIBEXECDIR(suffix) "/usr/local/libexec/" suffix #else #define BL_LIBEXECDIR(suffix) LIBEXECDIR "/" suffix #endif #endif /* XXX win32 basename() works strangely if cp932 characters are pssed. */ #if defined(HAVE_BASENAME) && !defined(USE_WIN32API) #include <libgen.h> #define bl_basename(path) basename(path) #else #define bl_basename(path) __bl_basename(path) char *__bl_basename(char *path); #endif #ifndef REMOVE_FUNCS_MLTERM_UNUSE int bl_path_cleanname(char *cleaned_path, size_t size, const char *path); #endif int bl_parse_uri(char **proto, char **user, char **host, char **port, char **path, char **aux, char *seq); char *bl_get_home_dir(void); #if defined(__CYGWIN__) || defined(__MSYS__) int bl_conv_to_win32_path(const char *path, char *winpath, size_t len); int bl_conv_to_posix_path(const char *winpath, char *path, size_t len); #endif #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_time.h������������������������������������������������������������������0100644�0001760�0000144�00000001371�13210547312�0015500�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_TIME_H__ #define __BL_TIME_H__ #include <time.h> #include "bl_def.h" /* REMOVE_FUNCS_MLTERM_UNUSE */ #ifndef REMOVE_FUNCS_MLTERM_UNUSE time_t bl_time_string_date_to_time_t(const char *format, const char *date); struct tm *bl_time_string_date_to_tm(struct tm *tm_info, const char *format, const char *date); int bl_time_string_wday_to_int(const char *wday); char *bl_time_int_wday_to_string(int wday); char *bl_time_int_wday_to_abbrev_string(int wday); int bl_time_string_month_to_int(const char *month); char *bl_time_int_month_to_string(int month); char *bl_time_int_month_to_abbrev_string(int month); #endif /* REMOVE_FUNCS_MLTERM_UNUSE */ #endif /* __BL_TIME_H__ */ �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dialog.c����������������������������������������������������������������0100644�0001760�0000144�00000001213�13210547312�0015767�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dialog.h" #include "bl_debug.h" /* --- static variables --- */ static int (*callback)(bl_dialog_style_t, const char *); /* --- global functions --- */ int bl_dialog_set_callback(int (*cb)(bl_dialog_style_t, const char *)) { callback = cb; return 1; } #if 0 int bl_dialog_set_exec_file(bl_dialog_style_t style, const char *path) { return 1; } #endif int bl_dialog(bl_dialog_style_t style, const char *msg) { int ret; if (callback && (ret = (*callback)(style, msg)) != -1) { return ret; } else { bl_msg_printf("%s\n", msg); return -1; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_mem.c�������������������������������������������������������������������0100644�0001760�0000144�00000022271�13210547312�0015315�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * !! Notice !! * don't use other bl_xxx functions(macros may be ok) as much as possible since * they may use * these memory management functions. */ #include "bl_mem.h" #include <stdio.h> /* fprintf */ #include <string.h> /* memset */ #include "bl_slist.h" #if 0 #define __DEBUG #endif #ifndef HAVE_ALLOCA #define ALLOCA_PAGE_UNIT_SIZE 4096 #define MAX_STACK_FRAMES 10 typedef struct alloca_page { void *ptr; size_t size; size_t used_size; struct alloca_page *prev_page; } alloca_page_t; /* --- static variables --- */ static size_t total_allocated_size = 0; static alloca_page_t *alloca_page; static int stack_frame_bases[MAX_STACK_FRAMES]; static int current_stack_frame = 0; /* --- global functions --- */ void *bl_alloca(size_t size) { void *ptr; /* arranging bytes boundary */ size = ((size + sizeof(char *) - 1) / sizeof(char *)) * sizeof(char *); if (alloca_page == NULL || alloca_page->used_size + size > alloca_page->size) { alloca_page_t *new_page; if ((new_page = malloc(sizeof(alloca_page_t))) == NULL) { return NULL; } new_page->size = ((size / ALLOCA_PAGE_UNIT_SIZE) + 1) * ALLOCA_PAGE_UNIT_SIZE; new_page->used_size = 0; if ((new_page->ptr = malloc(new_page->size)) == NULL) { free(new_page); return NULL; } #ifdef DEBUG memset(new_page->ptr, 0xff, new_page->size); #endif #ifdef __DEBUG fprintf(stderr, "new page(size %d) created.\n", new_page->size); #endif new_page->prev_page = alloca_page; alloca_page = new_page; } /* operations of void * cannot be done in some operating systems */ ptr = (char *)alloca_page->ptr + alloca_page->used_size; alloca_page->used_size += size; total_allocated_size += size; #ifdef __DEBUG fprintf(stderr, "memory %p(size %d) was successfully allocated.\n", ptr, size); #endif return ptr; } int bl_alloca_begin_stack_frame(void) { if (alloca_page == NULL) { /* no page is found */ return 0; } current_stack_frame++; if (current_stack_frame >= MAX_STACK_FRAMES) { #ifdef __DEBUG fprintf(stderr, "end of stack frame.\n"); #endif return 1; } #ifdef DEBUG else if (current_stack_frame < 0) { fprintf(stderr, "current stack frame must not be less than 0.\n"); return 1; } #endif stack_frame_bases[current_stack_frame] = total_allocated_size; #ifdef __DEBUG fprintf(stderr, "stack frame (base %d (%d) size 0) created.\n", stack_frame_bases[current_stack_frame], current_stack_frame); #endif return 1; } int bl_alloca_end_stack_frame(void) { if (alloca_page == NULL) { /* no page is found */ return 0; } if (current_stack_frame == 0) { #ifdef __DEBUG fprintf(stderr, "beg of stack frame.\n"); #endif return 1; } #ifdef DEBUG else if (current_stack_frame < 0) { fprintf(stderr, "current stack frame must not be less than 0.\n"); return 1; } #endif else if (current_stack_frame < MAX_STACK_FRAMES) { size_t shrink_size; alloca_page_t *page; #ifdef __DEBUG fprintf(stderr, "stack frame (base %d (%d) size %d) deleted\n", stack_frame_bases[current_stack_frame], current_stack_frame, total_allocated_size - stack_frame_bases[current_stack_frame]); #endif shrink_size = total_allocated_size - stack_frame_bases[current_stack_frame]; page = alloca_page; while (shrink_size > page->used_size) { alloca_page_t *_page; if ((_page = page->prev_page) == NULL) { #ifdef DEBUG fprintf(stderr, "strange page link list...\n"); #endif /* so as not to seg fault ... */ shrink_size = page->used_size; break; } shrink_size -= page->used_size; #ifdef __DEBUG fprintf(stderr, "page(size %d) deleted.\n", page->size); #endif free(page->ptr); free(page); page = _page; } alloca_page = page; alloca_page->used_size -= shrink_size; total_allocated_size = stack_frame_bases[current_stack_frame]; } current_stack_frame--; return 1; } int bl_alloca_garbage_collect(void) { alloca_page_t *page; #ifdef __DEBUG fprintf(stderr, "allocated memory(size %d) for alloca() is discarded.\n", total_allocated_size); #endif page = alloca_page; while (page) { alloca_page_t *_page; _page = page->prev_page; free(page->ptr); free(page); page = _page; } alloca_page = NULL; total_allocated_size = 0; current_stack_frame = 0; return 1; } #endif /* HAVE_ALLOCA */ #undef malloc #undef calloc #undef realloc #undef free #undef bl_mem_free_all typedef struct mem_log { void *ptr; size_t size; const char *file; int line; const char *func; struct mem_log *next; } mem_log_t; /* --- static variables --- */ static mem_log_t *mem_logs = NULL; /* --- static functions --- */ static mem_log_t *search_mem_log(void *ptr) { mem_log_t *log; log = mem_logs; while (log) { if (log->ptr == ptr) { return log; } log = bl_slist_next(log); } return NULL; } /* --- global functions --- */ void *bl_mem_malloc(size_t size, const char *file, /* should be allocated memory. */ int line, const char *func /* should be allocated memory. */ ) { mem_log_t *log; if ((log = malloc(sizeof(mem_log_t))) == NULL) { return NULL; } if ((log->ptr = malloc(size)) == NULL) { free(log); return NULL; } memset(log->ptr, 0xff, size); log->size = size; log->file = file; log->line = line; log->func = func; bl_slist_insert_head(mem_logs, log); #ifdef __DEBUG fprintf(stderr, " memory %p(size %d) was successfully allocated at %s(l.%d in %s) , " "logged in %p.\n", log->ptr, log->size, log->func, log->line, log->file, log); #endif return log->ptr; } void *bl_mem_calloc(size_t number, size_t size, const char *file, /* should be allocated memory. If NULL, not logged. */ int line, const char *func /* should be allocated memory. */ ) { void *ptr; size_t total_size; total_size = number * size; if (number && size && !total_size) { /* integer overflow */ return NULL; } if (total_size && (total_size / number != size)) { /* integer overflow */ return NULL; } if (file == NULL) { ptr = malloc(total_size); } else { ptr = bl_mem_malloc(total_size, file, line, func); } if (ptr) { memset(ptr, 0, total_size); } return ptr; } void bl_mem_remove(void *ptr, const char *file, /* should be allocated memory. */ int line, const char *func /* should be allocated memory. */ ) { if (ptr) { mem_log_t *log; if ((log = search_mem_log(ptr)) == NULL) { #ifdef DEBUG fprintf(stderr, " %p is freed at %s[l.%d in %s] but not logged.\n", ptr, func, line, file); #endif } else { #ifdef __DEBUG fprintf(stderr, " %p(size %d , alloced at %s[l.%d in %s] and freed at" " %s[l.%d in %s] logged in %p) was successfully freed.\n", ptr, log->size, log->func, log->line, log->file, file, line, func, log); #endif bl_slist_remove(mem_logs, log); memset(ptr, 0xff, log->size); free(log); } } } void bl_mem_free(void *ptr, const char *file, /* should be allocated memory. */ int line, const char *func /* should be allocated memory. */ ) { bl_mem_remove(ptr, file, line, func); free(ptr); } void *bl_mem_realloc(void *ptr, size_t size, const char *file, /* should be allocated memory. */ int line, const char *func /* should be allocated memory. */ ) { void *new_ptr; mem_log_t *log; if (ptr == NULL) { return bl_mem_malloc(size, file, line, func); } if ((log = search_mem_log(ptr)) == NULL) { #ifdef DEBUG fprintf(stderr, " %p is reallocated at %s[l.%d in %s] but not logged.\n", ptr, func, line, file); #endif return realloc(ptr, size); } /* * allocate new memory. */ if ((new_ptr = bl_mem_malloc(size, file, line, func)) == NULL) { return NULL; } if (log->size < size) { memcpy(new_ptr, ptr, log->size); } else { memcpy(new_ptr, ptr, size); } /* * free old memory. */ bl_mem_free(ptr, __FILE__, __LINE__, __FUNCTION__); return new_ptr; } void bl_mem_dump_all(void) { mem_log_t *log; log = mem_logs; while (log) { fprintf(stderr, "%p: ", log); fprintf(stderr, "%p(size %d , alloced at %s[l.%d in %s] is allocated.\n", log->ptr, (int)log->size, log->func, log->line, log->file); log = bl_slist_next(log); } } int bl_mem_free_all(void) { mem_log_t *log; if ((log = mem_logs)) { mem_log_t *prev; do { fprintf(stderr, "%p: ", log); fprintf(stderr, "%p(size %d, alloced at %s[l.%d in %s] is not freed.\n", log->ptr, (int)log->size, log->func, log->line, log->file); #if 1 fprintf(stderr, " [%s]\n", log->ptr); #endif free(log->ptr); log = bl_slist_next((prev = log)); free(prev); } while (log); mem_logs = NULL; return 0; } else { #ifdef __DEBUG fprintf(stderr, "YOUR MEMORY MANAGEMENT IS PERFECT!"); #endif return 1; } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_unistd.c����������������������������������������������������������������0100644�0001760�0000144�00000002233�13210547312�0016041�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_unistd.h" #include <time.h> #include <unistd.h> /* select */ #ifdef USE_WIN32API #include <windows.h> #endif /* --- global functions --- */ #ifndef HAVE_USLEEP int __bl_usleep(u_int microseconds) { #ifndef USE_WIN32API struct timeval tval; tval.tv_usec = microseconds % 1000000; tval.tv_sec = microseconds / 1000000; if (select(0, NULL, NULL, NULL, &tval) == 0) { return 0; } else { return -1; } #else Sleep(microseconds / 1000); /* sleep mili-seconds */ return 0; #endif /* USE_WIN32API */ } #endif /* HAVE_USLEEP */ #ifndef HAVE_SETENV #include <string.h> #include <stdio.h> #include <stdlib.h> /* putenv */ int __bl_setenv(const char *name, const char *value, int overwrite) { char *env; /* XXX Memory leaks. */ if (!(env = malloc(strlen(name) + 1 + strlen(value) + 1))) { return -1; } sprintf(env, "%s=%s", name, value); return putenv(env); } #endif /* HAVE_SETENV */ #ifndef HAVE_GETUID uid_t __bl_getuid(void) { return 0; } #endif /* HAVE_GETUID */ #ifndef HAVE_GETGID gid_t __bl_getgid(void) { return 0; } #endif /* HAVE_GETGID */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_pty_bsd.c���������������������������������������������������������������0100644�0001760�0000144�00000012367�13210547312�0016210�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_pty.h" #include <termios.h> /* tcset|tcget */ #include <fcntl.h> #include <grp.h> #include <stdio.h> #include <string.h> #include <errno.h> #include <sys/param.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <unistd.h> #include "bl_str.h" /* strdup */ #include "bl_debug.h" #include "bl_file.h" /* bl_file_set_cloexec */ /* Disable special character functions */ #ifdef _POSIX_VDISABLE #define VDISABLE _POSIX_VDISABLE #else #define VDISABLE 255 #endif /* * FreeBSD * /dev/pty[p-sP-S][0-9a-v] master pseudo terminals * /dev/tty[p-sP-S][0-9a-v] slave pseudo terminals * NetBSD * /dev/pty[p-zP-T][0-9a-zA-Z] master pseudo terminals * /dev/tty[p-zP-T][0-9a-zA-Z] slave pseudo terminals */ #if defined(__FreeBSD__) #define PTYCHAR1 "pqrsPQRS" #else #define PTYCHAR1 "pqrstuvwxyzPQRST" #endif #if defined(__FreeBSD__) #define PTYCHAR2 "0123456789abcdefghijklmnopqrstuv" #elif defined(__NetBSD__) #define PTYCHAR2 "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" #else #define PTYCHAR2 "0123456789abcdef" #endif /* --- static functions --- */ static int login_tty(int fd) { setsid(); if (ioctl(fd, TIOCSCTTY, (char *)NULL) == -1) { return 0; } dup2(fd, 0); dup2(fd, 1); dup2(fd, 2); if (fd > STDERR_FILENO) { close(fd); } return 1; } static int open_pty(int *master, int *slave) { char name[] = "/dev/XtyXX"; char *p1; char *p2; gid_t ttygid; struct group *gr; if ((gr = getgrnam("tty")) != NULL) { ttygid = gr->gr_gid; } else { ttygid = (gid_t)-1; } for (p1 = PTYCHAR1; *p1; p1++) { name[8] = *p1; for (p2 = PTYCHAR2; *p2; p2++) { name[5] = 'p'; name[9] = *p2; if ((*master = open(name, O_RDWR, 0)) == -1) { if (errno == ENOENT) { /* try next pty */ continue; } } else { bl_file_set_cloexec(*master); /* * we succeeded to open pty master. * opening pty slave in succession. */ name[5] = 't'; chown(name, getuid(), ttygid); chmod(name, S_IRUSR | S_IWUSR | S_IWGRP); if ((*slave = open(name, O_RDWR, 0)) != -1) { return 1; } close(*master); } } } return 0; } /* --- global functions --- */ pid_t bl_pty_fork(int *master, int *slave) { int mode; pid_t pid; struct termios tio; int fd; if (!open_pty(master, slave)) { return -1; } pid = fork(); if (pid == -1) { /* fork failed */ return -1; } else if (pid == 0) { /* * child process */ close(*master); login_tty(*slave); return 0; } /* * parent process */ /* * delaying. */ if ((mode = fcntl(*master, F_GETFL, 0)) == -1 || ((mode & O_NDELAY) == 0 && fcntl(*master, F_SETFL, mode | O_NDELAY) == -1)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to set pty master non-blocking.\n"); #endif } /* * terminal attributes. */ memset(&tio, 0, sizeof(struct termios)); tio.c_iflag = BRKINT | IGNPAR | ICRNL | IXON; tio.c_oflag = OPOST | ONLCR; tio.c_cflag = CS8 | CREAD; tio.c_lflag = ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK; #ifdef ECHOKE tio.c_lflag |= ECHOKE; #endif #ifdef ECHOCTL tio.c_lflag |= ECHOCTL; #endif tio.c_cc[VEOF] = CEOF; tio.c_cc[VEOL] = VDISABLE; tio.c_cc[VERASE] = CERASE; tio.c_cc[VINTR] = CINTR; tio.c_cc[VKILL] = CKILL; tio.c_cc[VQUIT] = CQUIT; tio.c_cc[VSTART] = CSTART; tio.c_cc[VSTOP] = CSTOP; tio.c_cc[VSUSP] = CSUSP; #ifdef VDSUSP tio.c_cc[VDSUSP] = CDSUSP; #endif #ifdef VREPRINT tio.c_cc[VREPRINT] = CRPRNT; #endif #ifdef VRPRNT tio.c_cc[VRPRNT] = CRPRNT; #endif #ifdef VDISCARD tio.c_cc[VDISCARD] = CFLUSH; #endif #ifdef VFLUSHO tio.c_cc[VFLUSHO] = CFLUSH; #endif #ifdef VWERASE tio.c_cc[VWERASE] = CWERASE; #endif #ifdef VLNEXT tio.c_cc[VLNEXT] = CLNEXT; #endif #ifdef VEOL2 tio.c_cc[VEOL2] = VDISABLE; #endif #ifdef VSWTC tio.c_cc[VSWTC] = VDISABLE; #endif #ifdef VSWTCH tio.c_cc[VSWTCH] = VDISABLE; #endif #ifdef VSTATUS tio.c_cc[VSTATUS] = CSTATUS; #endif /* * VMIN == VEOF and VTIME == VEOL on old System V. */ #if VMIN != VEOF tio.c_cc[VMIN] = 1; #endif #if VTIME != VEOL tio.c_cc[VTIME] = 0; #endif /* * inheriting tty(0,1,2) settings ... */ for (fd = 0; fd <= 2; fd++) { struct termios def_tio; if (tcgetattr(fd, &def_tio) == 0) { tio.c_cc[VEOF] = def_tio.c_cc[VEOF]; tio.c_cc[VEOL] = def_tio.c_cc[VEOL]; tio.c_cc[VERASE] = def_tio.c_cc[VERASE]; tio.c_cc[VINTR] = def_tio.c_cc[VINTR]; tio.c_cc[VKILL] = def_tio.c_cc[VKILL]; tio.c_cc[VQUIT] = def_tio.c_cc[VQUIT]; tio.c_cc[VSTART] = def_tio.c_cc[VSTART]; tio.c_cc[VSTOP] = def_tio.c_cc[VSTOP]; tio.c_cc[VSUSP] = def_tio.c_cc[VSUSP]; break; } } #ifdef B38400 cfsetispeed(&tio, B38400); cfsetospeed(&tio, B38400); #else cfsetispeed(&tio, B9600); cfsetospeed(&tio, B9600); #endif if (tcsetattr(*master, TCSANOW, &tio) < 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " tcsetattr() failed.\n"); #endif } bl_file_set_cloexec(*slave); return pid; } int bl_pty_close(int master) { close(master); return 0; } void bl_pty_helper_set_flag(int lastlog, int utmp, int wtmp) {} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_net.h�������������������������������������������������������������������0100644�0001760�0000144�00000001130�13210547312�0015321�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_NET_H__ #define __BL_NET_H__ #ifdef USE_WIN32API #undef _WIN32_WINNT #define _WIN32_WINNT 0x0501 /* for getaddrinfo */ #include <windows.h> #include <ws2tcpip.h> /* addrinfo */ #else /* USE_WIN32API */ #include "bl_types.h" /* socklen_t */ #include <sys/socket.h> #include <sys/un.h> #include <netdb.h> #include <netinet/in.h> #ifndef AF_LOCAL #define AF_LOCAL AF_UNIX #endif #ifndef PF_LOCAL #ifdef PF_UNIX #define PF_LOCAL PF_UNIX #else #define PF_LOCAL AF_LOCAL #endif #endif #endif /* USE_WIN32API */ #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn.c�����������������������������������������������������������������0100644�0001760�0000144�00000002010�13210547312�0015612�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdlib.h> /* atexit, realloc(Don't include bl_mem.h) */ #include "bl_types.h" /* u_int */ /* --- static variables --- */ static bl_dl_handle_t *handles; static u_int num_handles; /* --- global functions --- */ int bl_dl_close_at_exit(bl_dl_handle_t handle) { void *p; if (!(p = realloc(handles, sizeof(bl_dl_handle_t) * (num_handles + 1)))) { return 0; } handles = p; #if 0 if (num_handles == 0) { atexit(bl_dl_close_all); } else #endif { u_int count; for (count = 0; count < num_handles; count++) { if (handles[count] == handle) { bl_dl_close(handle); return 1; } } } handles[num_handles++] = handle; return 1; } void bl_dl_close_all(void) { u_int count; /* Close from the last loaded library. */ for (count = num_handles; count > 0; count--) { bl_dl_close(handles[count - 1]); } num_handles = 0; free(handles); handles = NULL; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_utmp_login.c������������������������������������������������������������0100644�0001760�0000144�00000005042�13210547312�0016711�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_utmp.h" #include <stdio.h> /* NULL */ #include <pwd.h> #include <sys/types.h> #include <unistd.h> /* getuid */ #include <string.h> /* strncmp */ #include <time.h> /* time */ #if 1 /* *BSD has utmp.h anyway though login/logout aren't defined in it */ #include <utmp.h> /* login/logout(glibc2) you have to link libutil. */ #endif #if 0 /* glibc(linux) doesn't have util.h */ #include <util.h> /* login/logout(*BSD) you have to link libutil. */ #endif #include "bl_util.h" /* K_MIN */ #include "bl_mem.h" /* malloc/free */ #include "bl_def.h" /* HAVE_SETUTENT */ #include "bl_privilege.h" struct bl_utmp { char ut_line[UT_LINESIZE]; }; /* --- global functions --- */ bl_utmp_t bl_utmp_new(const char *tty, const char *host, int pty_fd) { bl_utmp_t utmp; struct utmp ut; struct passwd *pwent; char *pw_name; if ((utmp = malloc(sizeof(*utmp))) == NULL) { return NULL; } /* unnecessary ? */ #if 0 #ifdef HAVE_SETUTENT setutent(); #endif #endif memset(&ut, 0, sizeof(ut)); if ((pwent = getpwuid(getuid())) == NULL || pwent->pw_name == NULL) { pw_name = "?"; } else { pw_name = pwent->pw_name; } /* * user name field is named ut_name in *BSD and is ut_user in glibc2 , * but glibc2 also defines ut_name as an alias of ut_user for backward * compatibility. */ strncpy(ut.ut_name, pw_name, K_MIN(sizeof(ut.ut_name) - 2, strlen(pw_name))); ut.ut_name[sizeof(ut.ut_name) - 1] = 0; if (strncmp(tty, "/dev/", 5) == 0) { /* skip /dev/ prefix */ tty += 5; } if (strncmp(tty, "pts", 3) != 0 && strncmp(tty, "pty", 3) != 0 && strncmp(tty, "tty", 3) != 0) { free(utmp); return NULL; } #ifndef HAVE_SETUTENT /* ut.ut_line must be filled before login() on bsd. */ memcpy(ut.ut_line, tty, K_MIN(sizeof(ut.ut_line), strlen(tty))); #endif ut.ut_time = time(NULL); memcpy(ut.ut_host, host, K_MIN(sizeof(ut.ut_host), strlen(host))); bl_priv_restore_euid(); /* useless? */ bl_priv_restore_egid(); /* login does not give us error information... */ login(&ut); bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); memcpy(utmp->ut_line, ut.ut_line, sizeof(utmp->ut_line)); return utmp; } int bl_utmp_delete(bl_utmp_t utmp) { bl_priv_restore_euid(); bl_priv_restore_egid(); logout(utmp->ut_line); logwtmp(utmp->ut_line, "", ""); bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); /* unnecessary ? */ #if 0 #ifdef HAVE_SETUTENT endutent(); #endif #endif free(utmp); return 1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_utmp_bsd.c��������������������������������������������������������������0100644�0001760�0000144�00000011646�13210547312�0016360�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_utmp.h" #include <stdio.h> /* sscanf */ #include <string.h> /* strncpy */ #include <fcntl.h> /* open */ #include <sys/types.h> #include <unistd.h> /* write/close/getuid/getgid */ #include <pwd.h> /* getpwuid */ #include <sys/stat.h> /* stat */ #include <errno.h> #include <utmp.h> #include "bl_types.h" /* off_t */ #include "bl_util.h" /* K_MIN */ #include "bl_mem.h" /* malloc/free */ #include "bl_privilege.h" /* * These four macros are directly used in this file. * They appeared at least in 4.4BSD-Lite according to NetBSD cvs repository. */ #ifndef UT_LINESIZE #error "UT_LINESIZE is not defined." #endif #ifndef _PATH_UTMP #error "_PATH_UTMP is not defined." #endif #ifndef _PATH_WTMP #error "_PATH_WTMP is not defined." #endif #ifndef _PATH_LASTLOG #error "_PATH_LASTLOG is not defined." #endif struct bl_utmp { char ut_line[UT_LINESIZE]; int ut_pos; }; /* --- static functions --- */ static int write_utmp(struct utmp *ut, int pos) { int fd; if ((fd = open(_PATH_UTMP, O_WRONLY)) == -1 || lseek(fd, (off_t)(pos * sizeof(*ut)), SEEK_SET) == -1) { return 0; } write(fd, ut, sizeof(*ut)); close(fd); return 1; } static int write_wtmp(struct utmp *ut, int pos) { int fd; int locked; int retry; struct flock lck; /* fcntl locking scheme */ struct stat st; int result; if ((fd = open(_PATH_WTMP, O_WRONLY | O_APPEND, 0)) < 0) { return 0; } lck.l_whence = SEEK_END; /* lock from current eof */ lck.l_len = 0; /* end at "largest possible eof" */ lck.l_start = 0; lck.l_type = F_WRLCK; /* write lock */ locked = 0; for (retry = 0; retry < 10; retry++) { /* * lock with F_SETLK. * F_SETLKW would cause a deadlock. */ if (fcntl(fd, F_SETLK, &lck) != -1) { locked = 1; break; } else if (errno != EAGAIN && errno != EACCES) { break; } } if (!locked) { close(fd); return 0; } result = 0; if (fstat(fd, &st) == 0) { if (write(fd, ut, sizeof(*ut)) != sizeof(*ut)) { /* removing bad writes */ ftruncate(fd, st.st_size); } else { result = 1; } } lck.l_type = F_UNLCK; fcntl(fd, F_SETLK, &lck); close(fd); return result; } static int write_lastlog(struct lastlog *ll, uid_t uid) { int fd; int result; result = 0; if ((fd = open(_PATH_LASTLOG, O_RDWR)) != -1) { if (lseek(fd, (off_t)(uid * sizeof(*ll)), SEEK_SET) != -1) { write(fd, ll, sizeof(*ll)); result = 1; } close(fd); } return result; } /* --- global functions --- */ bl_utmp_t bl_utmp_new(const char *tty, const char *host, int pty_fd /* not used */ ) { bl_utmp_t utmp; struct utmp ut; struct lastlog ll; FILE *fp; struct passwd *pwent; char *pw_name; char buf[256]; char buf2[256]; if ((utmp = malloc(sizeof(*utmp))) == NULL) { return NULL; } memset(&ut, 0, sizeof(ut)); memset(&ll, 0, sizeof(ll)); ll.ll_time = ut.ut_time = time(NULL); memcpy(ut.ut_host, host, K_MIN(sizeof(ut.ut_host), strlen(host))); memcpy(ll.ll_host, host, K_MIN(sizeof(ll.ll_host), strlen(host))); if ((pwent = getpwuid(getuid())) == NULL || pwent->pw_name == NULL) { pw_name = "?"; } else { pw_name = pwent->pw_name; } strncpy(ut.ut_name, pw_name, K_MIN(sizeof(ut.ut_name), strlen(pw_name))); if (strncmp(tty, "/dev/", 5) == 0) { /* skip /dev/ prefix */ tty += 5; } if (strncmp(tty, "pty", 3) != 0 && strncmp(tty, "tty", 3) != 0) { goto error; } memcpy(ut.ut_line, tty, K_MIN(sizeof(ut.ut_line), strlen(tty))); memcpy(ll.ll_line, tty, K_MIN(sizeof(ll.ll_line), strlen(tty))); memcpy(utmp->ut_line, ut.ut_line, sizeof(ut.ut_line)); if ((fp = fopen("/etc/ttys", "r")) == NULL && (fp = fopen("/etc/ttytab", "r")) == NULL) { goto error; } utmp->ut_pos = 1; while (1) { if (!fgets(buf, sizeof(buf), fp)) { goto error; } if (*buf != '#' && sscanf(buf, "%s", buf2) == 1) { if (strcmp(tty, buf2) == 0) { break; } } utmp->ut_pos++; } fclose(fp); bl_priv_restore_euid(); bl_priv_restore_egid(); if (!write_utmp(&ut, utmp->ut_pos)) { goto error; } write_wtmp(&ut, utmp->ut_pos); write_lastlog(&ll, pwent->pw_uid); bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); return utmp; error: bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); free(utmp); return NULL; } int bl_utmp_delete(bl_utmp_t utmp) { struct utmp ut; bl_priv_restore_euid(); bl_priv_restore_egid(); memset(&ut, 0, sizeof(ut)); write_utmp(&ut, utmp->ut_pos); ut.ut_time = time(NULL); memcpy(ut.ut_line, utmp->ut_line, sizeof(utmp->ut_line)); memset(ut.ut_name, 0, sizeof(ut.ut_name)); memset(ut.ut_host, 0, sizeof(ut.ut_host)); write_wtmp(&ut, utmp->ut_pos); bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); free(utmp); return 1; } ������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_sig_child.c�������������������������������������������������������������0100644�0001760�0000144�00000004741�13210547312�0016466�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_sig_child.h" #ifndef USE_WIN32API #include <errno.h> /* EINTR */ #include <signal.h> #include <sys/wait.h> #endif #include "bl_debug.h" #include "bl_mem.h" /* realloc/free */ typedef struct sig_child_event_listener { void *self; void (*exited)(void *, pid_t); } sig_child_event_listener_t; /* --- static variables --- */ static sig_child_event_listener_t *listeners; static u_int num_listeners; static int is_init; /* --- static functions --- */ #ifndef USE_WIN32API static void sig_child(int sig) { pid_t pid; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " SIG CHILD received.\n"); #endif while (1) { if ((pid = waitpid(-1, NULL, WNOHANG)) <= 0) { if (pid == -1 && errno == EINTR) { errno = 0; continue; } break; } bl_trigger_sig_child(pid); } /* reset */ signal(SIGCHLD, sig_child); } #endif /* --- global functions --- */ int bl_sig_child_init(void) { #ifndef USE_WIN32API signal(SIGCHLD, sig_child); #endif is_init = 1; return 1; } int bl_sig_child_final(void) { if (listeners) { free(listeners); } is_init = 0; return 1; } int bl_sig_child_suspend(void) { if (is_init) { #ifndef USE_WIN32API signal(SIGCHLD, SIG_DFL); #endif } return 1; } int bl_sig_child_resume(void) { if (is_init) { #ifndef USE_WIN32API signal(SIGCHLD, sig_child); #endif } return 1; } int bl_add_sig_child_listener(void *self, void (*exited)(void *, pid_t)) { void *p; /* * #if 0 - #endif is for mlterm-libvte. */ #if 0 if (!is_init) { return 0; } #endif if ((p = realloc(listeners, sizeof(*listeners) * (num_listeners + 1))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif return 0; } listeners = p; listeners[num_listeners].self = self; listeners[num_listeners].exited = exited; num_listeners++; return 1; } int bl_remove_sig_child_listener(void *self, void (*exited)(void *, pid_t)) { u_int count; for (count = 0; count < num_listeners; count++) { if (listeners[count].self == self && listeners[count].exited == exited) { listeners[count] = listeners[--num_listeners]; /* * memory area of listener is not shrunk. */ return 1; } } return 0; } void bl_trigger_sig_child(pid_t pid) { u_int count; for (count = 0; count < num_listeners; count++) { (*listeners[count].exited)(listeners[count].self, pid); } } �������������������������������mlterm-3.8.4/baselib/src/bl_args.c������������������������������������������������������������������0100644�0001760�0000144�00000005423�13210547312�0015473�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_args.h" #include <string.h> /* strchr */ #include "bl_debug.h" #if 0 #define __DEBUG #endif /* --- global functions --- */ /* * supported option syntax. * * -x(=xxx) * --x(=xxx) * -xxx(=xxx) * --xxx(=xxx) * * "--" cancels parsing options. * * !! NOTICE !! * after bl_parse_options() , argv points to an argument next to a successfully *parsed one. */ int bl_parse_options(char **opt, char **opt_val, int *argc, char ***argv) { char *arg_p; if (*argc == 0 || (arg_p = (*argv)[0]) == NULL) { /* end of argv */ return 0; } if (*arg_p != '-') { /* not option */ return 0; } arg_p++; if (*arg_p == '-') { arg_p++; if (*arg_p == '\0') { /* "--" */ return 0; } } *opt = arg_p; if ((arg_p = strchr(arg_p, '=')) == NULL) { *opt_val = NULL; } else { *arg_p = '\0'; *opt_val = arg_p + 1; } (*argv)++; (*argc)--; return 1; } char **_bl_arg_str_to_array(char **argv, int *argc, char *args) { char *args_dup; char *p; /* * parsing options. */ *argc = 0; args_dup = args; if ((args = bl_str_alloca_dup(args)) == NULL) { return NULL; } p = args_dup; while (*args) { int quoted; while (*args == ' ' /* || *args == '\t' */) { if (*(++args) == '\0') { goto parse_end; } } if (*args == '\"' || *args == '\'') { quoted = 1; args++; } else { quoted = 0; } while (*args) { if (quoted) { if (*args == '\"' || *args == '\'') { args++; break; } } else { if (*args == ' ' /* || *args == '\t' */) { args++; break; } } if (*args == '\\' && (args[1] == '\"' || args[1] == '\'' || (!quoted && (args[1] == ' ' /* || args[1] == '\t' */)))) { *(p++) = *(++args); } else { *(p++) = *args; } args++; } *(p++) = '\0'; argv[(*argc)++] = args_dup; args_dup = p; } parse_end: /* NULL terminator (POSIX exec family style) */ argv[*argc] = NULL; return argv; } #ifdef __DEBUG #include <stdio.h> /* printf */ int main(void) { int argc; char **argv; char args[] = "mlclient -l \"hoge fuga \\\" \" \' a b c \' \\\' \\\" a\\ b \"a\\ b\""; char *argv_correct[] = {"mlclient", "-l", "hoge fuga \" ", " a b c ", "\'", "\"", "a b", "a\\ b"}; int count; argv = bl_arg_str_to_array(&argc, args); printf("%d\n", argc); for (count = 0; count < argc; count++) { if (strcmp(argv_correct[count], argv[count]) != 0) { printf("CORRECT %s <=> WRONG %s\n", argv_correct[count], argv[count]); return 1; } } printf("PASS bl_args test.\n"); return 0; } #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn_dl.c��������������������������������������������������������������0100644�0001760�0000144�00000003517�13210547312�0016306�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdio.h> /* NULL */ #include <string.h> /* strlen */ #include "bl_mem.h" /* alloca() */ #include <dlfcn.h> /* --- global functions --- */ bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name) { char *path; void *ret; if ((path = alloca(strlen(dirpath) + strlen(name) + 7)) == NULL) { return NULL; } /* * libfoo.so --> foo.so --> libfoo.sl --> foo.sl */ sprintf(path, "%slib%s.so", dirpath, name); if ((ret = dlopen(path, RTLD_LAZY))) { return (bl_dl_handle_t)ret; } #ifndef __APPLE__ sprintf(path, "%slib%s.sl", dirpath, name); if ((ret = dlopen(path, RTLD_LAZY))) { return (bl_dl_handle_t)ret; } sprintf(path, "%s%s.so", dirpath, name); if ((ret = dlopen(path, RTLD_LAZY))) { return (bl_dl_handle_t)ret; } sprintf(path, "%s%s.sl", dirpath, name); if ((ret = dlopen(path, RTLD_LAZY))) { return (bl_dl_handle_t)ret; } #else { char *p; /* XXX Hack */ if ((strcmp((p = dirpath + strlen(dirpath) - 4), "mef/") == 0 || strcmp((p -= 3), "mlterm/") == 0) && (path = alloca(21 + strlen(p) + 3 + strlen(name) + 3 + 1))) { sprintf(path, "@executable_path/lib/%slib%s.so", p, name); } else { return NULL; } if ((ret = dlopen(path, RTLD_LAZY))) { return (bl_dl_handle_t)ret; } } #endif return NULL; } int bl_dl_close(bl_dl_handle_t handle) { return dlclose(handle); } void *bl_dl_func_symbol(bl_dl_handle_t handle, const char *symbol) { return dlsym(handle, symbol); } int bl_dl_is_module(const char *name) { size_t len; if (!name) { return 0; } if ((len = strlen(name)) < 3) { return 0; } if (strcmp(&name[len - 3], ".so") == 0 || strcmp(&name[len - 3], ".sl") == 0) { return 1; } return 0; } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_locale.c����������������������������������������������������������������0100644�0001760�0000144�00000015672�13210547312�0016005�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_locale.h" #include <stdio.h> /* sprintf */ #include <locale.h> /* setlocale() */ /* for bl_get_codeset_win32() */ #ifdef HAVE_WINDOWS_H #include <windows.h> #endif #include "bl_langinfo.h" /* bl_langinfo() */ #include "bl_debug.h" #include "bl_mem.h" /* alloca */ #include "bl_str.h" #include "bl_util.h" /* K_MIN */ #if 0 #define __DEBUG #endif typedef struct lang_codeset_table { char *lang; char *codeset; } lang_codeset_table_t; typedef struct alias_codeset_table { char *codeset; char *locale; char *alias; } alias_codeset_table_t; /* --- static variables --- */ static char *sys_locale = NULL; static char *sys_lang = NULL; static char *sys_country = NULL; static char *sys_codeset = NULL; /* for sys_lang and sys_country memory */ static char *sys_lang_country = NULL; #ifndef USE_WIN32API static lang_codeset_table_t lang_codeset_table[] = { { "en", "ISO8859-1", }, { "da", "ISO8859-1", }, { "de", "ISO8859-1", }, { "fi", "ISO8859-1", }, { "fr", "ISO8859-1", }, { "is", "ISO8859-1", }, { "it", "ISO8859-1", }, { "nl", "ISO8859-1", }, { "no", "ISO8859-1", }, { "pt", "ISO8859-1", }, { "sv", "ISO8859-1", }, { "cs", "ISO8859-2", }, { "hr", "ISO8859-2", }, { "hu", "ISO8859-2", }, { "la", "ISO8859-2", }, { "lt", "ISO8859-2", }, { "pl", "ISO8859-2", }, { "sl", "ISO8859-2", }, { "el", "ISO8859-7", }, { "ru", "KOI8-R", }, { "uk", "KOI8-U", }, { "vi", "VISCII", }, { "th", "TIS-620", }, { "ja", "eucJP", }, { "ko", "eucKR", }, { "zh_CN", "eucCN", }, { "zh_TW", "Big5", }, { "zh_HK", "Big5HKSCS", }, }; #endif static alias_codeset_table_t alias_codeset_table[] = { { "EUC", "ja_JP.EUC", "eucJP", }, { "EUC", "ko_KR.EUC", "eucKR", }, }; /* --- global functions --- */ int bl_locale_init(const char *locale) { char *locale_p; int result; if (sys_locale) { if (locale && strcmp(locale, sys_locale) == 0) { return 1; } else { free(sys_locale); sys_locale = NULL; } } if (sys_lang_country) { free(sys_lang_country); sys_lang_country = NULL; } if ((locale = setlocale(LC_CTYPE, locale)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " setlocale() failed.\n"); #endif result = 0; if (sys_locale) { /* restoring locale info. nothing is changed. */ setlocale(LC_CTYPE, sys_locale); return 0; } else { /* sys_locale is NULL */ if ((locale = getenv("LC_ALL")) == NULL && (locale = getenv("LC_CTYPE")) == NULL && (locale = getenv("LANG")) == NULL) { /* nothing is changed */ return 0; } } } else { /* * If external library calls setlocale(), this 'locale' variable * can be free'ed, so strdup() shoule be called. */ sys_locale = strdup(locale); result = 1; } if ((locale_p = sys_lang_country = strdup(locale)) == NULL) { sys_locale = NULL; return 0; } if ((sys_lang = bl_str_sep(&locale_p, "_")) == NULL) { /* this never happends */ return 0; } sys_country = bl_str_sep(&locale_p, "."); sys_codeset = bl_langinfo(CODESET); if (strcmp(sys_codeset, "") == 0) { if (locale_p && *locale_p) { sys_codeset = locale_p; } else { sys_codeset = NULL; } } if (sys_codeset) { /* * normalizing codeset name. */ int count; for (count = 0; count < sizeof(alias_codeset_table) / sizeof(alias_codeset_table[0]); count++) { if (strcmp(sys_codeset, alias_codeset_table[count].codeset) == 0 && strcmp(locale, alias_codeset_table[count].locale) == 0) { sys_codeset = alias_codeset_table[count].alias; break; } } } #ifdef __DEBUG bl_debug_printf("locale setttings -> locale %s lang %s country %s codeset %s\n", sys_locale, sys_lang, sys_country, sys_codeset); #endif return result; } int bl_locale_final(void) { if (sys_locale) { free(sys_locale); sys_locale = NULL; } if (sys_lang_country) { free(sys_lang_country); sys_lang_country = NULL; } return 1; } char *bl_get_locale(void) { if (sys_locale) { return sys_locale; } else { return "C"; } } char *bl_get_lang(void) { if (sys_lang) { return sys_lang; } else { return "en"; } } char *bl_get_country(void) { if (sys_country) { return sys_country; } else { return "US"; } } #ifndef USE_WIN32API char *bl_get_codeset(void) { if (sys_codeset) { return sys_codeset; } else if (sys_lang) { int count; char *lang; u_int lang_len; lang_len = strlen(sys_lang) + 1; if (sys_country) { /* "+ 1" is for '_' */ lang_len += strlen(sys_country) + 1; } if ((lang = alloca(lang_len)) == NULL) { return "ISO8859-1"; } if (sys_country) { sprintf(lang, "%s_%s", sys_lang, sys_country); } else { sprintf(lang, "%s", sys_lang); } #ifdef __DEBUG bl_debug_printf("lang -> %s\n", lang); #endif for (count = 0; count < sizeof(lang_codeset_table) / sizeof(lang_codeset_table[0]); count++) { if (strncmp(lang, lang_codeset_table[count].lang, /* lang_len *- 1* is excluing NULL */ K_MIN(lang_len - 1, strlen(lang_codeset_table[count].lang))) == 0) { return lang_codeset_table[count].codeset; } } } return "ISO8859-1"; } #endif /* USE_WIN32API */ #ifdef HAVE_WINDOWS_H typedef struct cp_cs_table { int codepage; char *codeset; } cp_cs_table_t; static cp_cs_table_t cp_cs_table[] = { { 1250, "CP1250", }, /* EastEurope_CHARSET */ { 1251, "CP1251", }, /* RUSSIAN_CHARSET */ { 1252, "CP1252", }, /* ANSI_CHARSET */ { 1253, "CP1253", }, /* GREEK_CHARSET */ { 1254, "CP1254", }, /* TURKISH_CHARSET */ { 1255, "CP1255", }, /* HEBREW_CHARSET */ { 1256, "CP1256", }, /* ARABIC_CHARSET */ { 1257, "CP1257", }, /* BALTIC_CHARSET */ { 1258, "CP1258", }, /* VIETNAMESE_CHARSET */ { 874, "ISO8859-11", }, /* THAI_CHARSET XXX CP874 is extended from ISO8859-11 */ { 932, "SJIS", }, /* SHIFTJIS_CHARSET */ { 936, "GBK", }, /* GB2313_CHARSET */ { 949, "UHC", }, /* HANGEUL_CHARSET */ { 950, "BIG5", }, /* CHINESEBIG5_CHARSET */ }; char *bl_get_codeset_win32(void) { int count; int codepage; codepage = GetACP(); for (count = 0; count < sizeof(cp_cs_table) / sizeof(cp_cs_table_t); count++) { if (cp_cs_table[count].codepage == codepage) { return cp_cs_table[count].codeset; } } return "ISO8859-1"; } #endif /* HAVE_WINDOWS_H */ ����������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_slist.h�����������������������������������������������������������������0100644�0001760�0000144�00000002111�13210547312�0015671�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_SLIST_H__ #define __BL_SLIST_H__ #define bl_slist_insert_head(list, new) \ { \ (new)->next = (list); \ (list) = (new); \ } #define bl_slist_remove(list, target) \ { \ if ((list) == (target)) { \ (list) = (list)->next; \ } else if (list) { \ void *orig = (list); \ while ((list)->next) { \ if ((list)->next == (target)) { \ (list)->next = (target)->next; \ break; \ } else { \ (list) = (list)->next; \ } \ } \ (list) = orig; \ } \ } #define bl_slist_next(list) ((list) ? (list)->next : NULL) #define bl_slist_is_empty(list) ((list) == NULL) #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_conf_io.h���������������������������������������������������������������0100644�0001760�0000144�00000001173�13210547312�0016156�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_CONF_IO_H__ #define __BL_CONF_IO_H__ #include "bl_file.h" typedef struct bl_conf_write { FILE *to; char **lines; u_int scale; u_int num; } bl_conf_write_t; int bl_set_sys_conf_dir(const char *dir); char *bl_get_sys_rc_path(const char *rcfile); char *bl_get_user_rc_path(const char *rcfile); bl_conf_write_t *bl_conf_write_open(char *name); int bl_conf_io_write(bl_conf_write_t *conf, const char *key, const char *val); int bl_conf_write_close(bl_conf_write_t *conf); int bl_conf_io_read(bl_file_t *from, char **key, char **val); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_utmp_none.c�������������������������������������������������������������0100644�0001760�0000144�00000000440�13210547312�0016535�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_utmp.h" #include <stdio.h> /* NULL */ /* --- global functions --- */ bl_utmp_t bl_utmp_new(const char *tty, const char *host, int pty_fd) { return NULL; } int bl_utmp_delete(bl_utmp_t utmp) { return 1; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_conf.c������������������������������������������������������������������0100644�0001760�0000144�00000027614�13210547312�0015472�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_conf.h" #include <stdio.h> #include <string.h> /* memset */ #include "bl_str.h" /* bl_str_sep/strdup */ #include "bl_mem.h" /* malloc/alloca */ #include "bl_file.h" #include "bl_conf_io.h" #include "bl_args.h" #include "bl_util.h" /* DIGIT_STR_LEN */ #define CH2IDX(ch) ((ch)-0x20) #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *prog_path; static char *prog_name; static char *prog_version; /* --- static functions --- */ static void __exit(bl_conf_t *conf, int status) { #ifdef DEBUG bl_conf_delete(conf); bl_mem_free_all(); #endif exit(status); } static void version(bl_conf_t *conf) { printf("%s version %s\n", prog_name, prog_version); } static void usage(bl_conf_t *conf) { int count; bl_arg_opt_t *end_opt; printf("usage: %s", prog_name); for (count = 0; count < conf->num_opts; count++) { if (conf->arg_opts[count] != NULL && conf->arg_opts[count]->opt != conf->end_opt) { printf(" [options]"); break; } } if (conf->end_opt > 0) { printf(" -%c ...", conf->end_opt); } printf("\n\noptions:\n"); end_opt = NULL; for (count = 0; count < conf->num_opts; count++) { if (conf->arg_opts[count] != NULL) { if (conf->arg_opts[count]->opt == conf->end_opt) { end_opt = conf->arg_opts[count]; } else { char *str; size_t len; len = 3 + 8 + 1; if (conf->arg_opts[count]->long_opt) { len += (3 + strlen(conf->arg_opts[count]->long_opt) + 1); } if ((str = alloca(len)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return; } /* 3 bytes */ if (conf->arg_opts[count]->opt) { sprintf(str, " -%c", conf->arg_opts[count]->opt); } else { strcpy(str, " "); } if (conf->arg_opts[count]->long_opt) { /* 3 bytes */ strcat(str, conf->arg_opts[count]->opt ? "/--" : " --"); strcat(str, conf->arg_opts[count]->long_opt); } if (conf->arg_opts[count]->is_boolean) { /* 8 bytes or ... */ strcat(str, "(=bool) "); } else { /* 7 bytes */ strcat(str, "=value "); } printf("%-20s: %s\n", str, conf->arg_opts[count]->help); } } } if (end_opt) { printf("\nend option:\n -%c", end_opt->opt); if (end_opt->long_opt) { printf(" --%s", end_opt->long_opt); } printf(" ... : %s\n", end_opt->help); } printf("\nnotice:\n"); printf("(=bool) is \"=true\" or \"=false\".\n"); } static bl_conf_entry_t *create_new_conf_entry(bl_conf_t *conf, char *key) { bl_conf_entry_t *entry; int result; if ((entry = malloc(sizeof(bl_conf_entry_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } memset(entry, 0, sizeof(bl_conf_entry_t)); if ((key = strdup(key)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " strdup() failed.\n"); #endif free(entry); return NULL; } bl_map_set(result, conf->conf_entries, key, entry); if (!result) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " bl_map_set() failed.\n"); #endif free(key); free(entry); return NULL; } return entry; } /* --- global functions --- */ int bl_init_prog(char *path, /* should be static data */ char *version /* should be static data */ ) { prog_path = path; if ((prog_name = strrchr(path, '/')) || (prog_name = strrchr(path, '\\'))) { prog_name++; } else { prog_name = prog_path; } prog_version = version; return 1; } char *bl_get_prog_path(void) { return prog_path; } bl_conf_t *bl_conf_new(void) { bl_conf_t *conf; if ((conf = malloc(sizeof(bl_conf_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } conf->num_opts = 0x60; if ((conf->arg_opts = malloc(conf->num_opts * sizeof(bl_arg_opt_t *))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif free(conf); return NULL; } memset(conf->arg_opts, 0, conf->num_opts * sizeof(bl_arg_opt_t *)); conf->end_opt = '\0'; bl_map_new_with_size(char *, bl_conf_entry_t *, conf->conf_entries, bl_map_hash_str, bl_map_compare_str_nocase, 16); return conf; } int bl_conf_delete(bl_conf_t *conf) { int count; BL_PAIR(bl_conf_entry) * pairs; u_int size; for (count = 0; count < conf->num_opts; count++) { if (conf->arg_opts[count]) { free(conf->arg_opts[count]); } } free(conf->arg_opts); bl_map_get_pairs_array(conf->conf_entries, pairs, size); for (count = 0; count < size; count++) { free(pairs[count]->key); free(pairs[count]->value->value); #ifndef REMOVE_FUNCS_MLTERM_UNUSE free(pairs[count]->value->default_value); #endif free(pairs[count]->value); } bl_map_delete(conf->conf_entries); free(conf); return 1; } int bl_conf_add_opt(bl_conf_t *conf, char short_opt, /* '\0' is accepted */ char *long_opt, /* should be static data. NULL is accepted */ int is_boolean, char *key, /* should be static data */ char *help /* should be static data */ ) { bl_arg_opt_t **opt; if (short_opt == '\0') { bl_arg_opt_t **arg_opts; if (long_opt == NULL) { /* it is not accepted that both opt and long_opt are NULL. */ return 0; } if ((arg_opts = realloc(conf->arg_opts, (conf->num_opts + 1) * sizeof(bl_arg_opt_t *))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc() failed.\n"); #endif return 0; } conf->arg_opts = arg_opts; opt = &arg_opts[conf->num_opts++]; *opt = NULL; } else if (short_opt < ' ') { return 0; } else { opt = &conf->arg_opts[CH2IDX(short_opt)]; } if (*opt == NULL) { if ((*opt = malloc(sizeof(bl_arg_opt_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return 0; } } (*opt)->opt = short_opt; (*opt)->long_opt = long_opt; (*opt)->key = key; (*opt)->is_boolean = is_boolean; (*opt)->help = help; return 1; } int bl_conf_set_end_opt(bl_conf_t *conf, char opt, char *long_opt, /* should be static data */ char *key, /* should be static data */ char *help /* should be static data */ ) { conf->end_opt = opt; /* is_boolean is always true */ return bl_conf_add_opt(conf, opt, long_opt, 1, key, help); } int bl_conf_parse_args(bl_conf_t *conf, int *argc, char ***argv, int ignore_unknown_opt) { char *opt_name; char *opt_val; BL_PAIR(bl_conf_entry) pair; bl_conf_entry_t *entry; /* passing argv[0] 'cause it may be the program name. */ (*argv)++; (*argc)--; while (bl_parse_options(&opt_name, &opt_val, argc, argv)) { char short_opt; bl_arg_opt_t *opt; if (strlen(opt_name) == 1) { short_opt = *opt_name; if (short_opt < ' ' || (opt = conf->arg_opts[CH2IDX(short_opt)]) == NULL) { if (ignore_unknown_opt) { continue; } goto error_with_msg; } } else if (strlen(opt_name) > 1) { /* long opt -> short opt */ int count; opt = NULL; for (count = 0; count < conf->num_opts; count++) { if (conf->arg_opts[count] && conf->arg_opts[count]->long_opt && strcmp(opt_name, conf->arg_opts[count]->long_opt) == 0) { opt = conf->arg_opts[count]; break; } } if (!opt) { if (ignore_unknown_opt) { continue; } goto error_with_msg; } short_opt = opt->opt; } else { if (ignore_unknown_opt) { continue; } goto error_with_msg; } bl_map_get(conf->conf_entries, opt->key, pair); if (!pair) { if ((entry = create_new_conf_entry(conf, opt->key)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " create_new_conf_entry() failed.\n"); #endif return 0; } } else { entry = pair->value; if (entry->value) { free(entry->value); } } if (short_opt == 'h') { usage(conf); __exit(conf, 1); } else if (short_opt == 'v') { version(conf); __exit(conf, 1); } if (opt->is_boolean) { if (opt_val) { /* "-[opt]=true" format */ entry->value = strdup(opt_val); } else if (*argc && (*argv)[0] != NULL && (strcmp((*argv)[0], "true") == 0 || strcmp((*argv)[0], "false") == 0)) { /* "-[opt] true" format */ entry->value = strdup((*argv)[0]); (*argv)++; (*argc)--; } else { /* "-[opt]" format */ entry->value = strdup("true"); } } else { if (opt_val == NULL) { /* "-[opt] [opt_val]" format */ if (*argc == 0 || (*argv)[0] == NULL) { bl_msg_printf("%s option requires value.\n", opt_name); entry->value = NULL; goto error; } entry->value = strdup((*argv)[0]); (*argv)++; (*argc)--; } else { /* "-[opt]=[opt_val]" format */ entry->value = strdup(opt_val); } } if (short_opt == conf->end_opt) { /* the value of conf->end_opt should be "true" */ break; } } return 1; error_with_msg: bl_msg_printf("%s is unknown option.\n", opt_name); error: usage(conf); return 0; } int bl_conf_write(bl_conf_t *conf, char *filename) { FILE *to; BL_PAIR(bl_conf_entry) * pairs; u_int size; int count; if (!(to = fopen(filename, "w"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return 0; } bl_map_get_pairs_array(conf->conf_entries, pairs, size); for (count = 0; count < size; count++) { fprintf(to, "%s = %s\n", pairs[count]->key, pairs[count]->value->value #ifndef REMOVE_FUNCS_MLTERM_UNUSE ? pairs[count]->value->value : pairs[count]->value->default_value #endif ); } fclose(to); return 1; } int bl_conf_read(bl_conf_t *conf, char *filename) { bl_file_t *from; char *key; char *value; bl_conf_entry_t *entry; BL_PAIR(bl_conf_entry) pair; if (!(from = bl_file_open(filename, "r"))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s couldn't be opened.\n", filename); #endif return 0; } while (bl_conf_io_read(from, &key, &value)) { value = strdup(value); bl_map_get(conf->conf_entries, key, pair); if (!pair) { if ((entry = create_new_conf_entry(conf, key)) == NULL) { return 0; } } else { entry = pair->value; if (entry->value) { free(entry->value); } } entry->value = value; } bl_file_close(from); return 1; } char *bl_conf_get_value(bl_conf_t *conf, char *key) { BL_PAIR(bl_conf_entry) pair; bl_map_get(conf->conf_entries, key, pair); if (!pair) { #ifdef __DEBUG bl_warn_printf(BL_DEBUG_TAG " no such key[%s] in conf map.\n", key); #endif return NULL; } else { return pair->value->value #ifndef REMOVE_FUNCS_MLTERM_UNUSE ? pair->value->value : pair->value->default_value #endif ; } } #ifndef REMOVE_FUNCS_MLTERM_UNUSE int bl_conf_set_default_value(bl_conf_t *conf, char *key, char *default_value) { bl_conf_entry_t *entry; BL_PAIR(bl_conf_entry) pair; key = strdup(key); bl_map_get(conf->conf_entries, key, pair); if (!pair) { if ((entry = create_new_conf_entry(conf, key)) == NULL) { return 0; } } else { entry = pair->value; free(entry->default_value); } entry->default_value = default_value; return 1; } #endif ��������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_sig_child.h�������������������������������������������������������������0100644�0001760�0000144�00000000742�13210547312�0016470�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_SIG_CHILD_H__ #define __BL_SIG_CHILD_H__ #include "bl_types.h" /* pid_t */ int bl_sig_child_init(void); int bl_sig_child_final(void); int bl_sig_child_suspend(void); int bl_sig_child_resume(void); int bl_add_sig_child_listener(void *self, void (*exited)(void *, pid_t)); int bl_remove_sig_child_listener(void *self, void (*exited)(void *, pid_t)); void bl_trigger_sig_child(pid_t pid); #endif ������������������������������mlterm-3.8.4/baselib/src/bl_utmp_sysv.c�������������������������������������������������������������0100644�0001760�0000144�00000010474�13210547312�0016612�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* Sample implementation - who/w works; finger doesn't (WHY ??) */ #include "bl_utmp.h" #include <stdio.h> /* NULL */ #include <pwd.h> #include <string.h> /* strncmp */ #include <time.h> /* time */ #ifdef USE_UTMPX #include <utmpx.h> /* getut*, setut*, etc */ #else #include <utmp.h> /* getut*, setut*, etc */ #endif #include <sys/time.h> /* timeval */ #include <unistd.h> /* getuid */ #include "bl_util.h" /* K_MIN */ #include "bl_mem.h" /* malloc/free */ #include "bl_privilege.h" #include "bl_debug.h" #ifdef _PATH_UTMP_UPDATE #include <errno.h> #endif #ifdef USE_UTMPX #define LINE_WIDTH 32 #else #define LINE_WIDTH 12 #endif struct bl_utmp { char ut_line[LINE_WIDTH]; char ut_pos[4]; }; /* --- static functions --- */ static const char *get_pw_name(void) { struct passwd *pwent; if (((pwent = getpwuid(getuid())) == NULL) || (pwent->pw_name == NULL)) { return "?"; } else { return pwent->pw_name; } } /* --- global functions --- */ bl_utmp_t bl_utmp_new(const char *tty, const char *host, int pty_fd) { #ifdef USE_UTMPX struct utmpx ut; #else struct utmp ut; #endif bl_utmp_t utmp; const char *pw_name; char *tty_num; struct timeval timenow; gettimeofday(&timenow, NULL); if ((utmp = calloc(1, sizeof(*utmp))) == NULL) { return NULL; } memset(&ut, 0, sizeof(ut)); if ((strncmp(tty, "/dev/", 5)) == 0) { /* skip /dev/ prefix */ tty += 5; } if ((strncmp(tty, "pts", 3) != 0) && (strncmp(tty, "pty", 3) != 0) && (strncmp(tty, "tty", 3) != 0)) { free(utmp); return NULL; } if ((tty_num = strchr(tty, '/'))) { tty_num++; } else if ((strncmp(tty + 1, "typ", 3)) == 0) { /* /dev/ttypN or /dev/ptypN */ tty_num = tty + 4; } else { free(utmp); return NULL; } pw_name = get_pw_name(); strncpy(ut.ut_user, pw_name, K_MIN(sizeof(ut.ut_user), strlen(pw_name))); memcpy(ut.ut_id, tty_num, K_MIN(sizeof(ut.ut_id), strlen(tty_num))); memcpy(ut.ut_line, tty, K_MIN(sizeof(ut.ut_line), strlen(tty))); ut.ut_pid = getpid(); ut.ut_type = USER_PROCESS; #ifdef USE_UTMPX ut.ut_tv.tv_sec = timenow.tv_sec; ut.ut_tv.tv_usec = timenow.tv_usec; #else ut.ut_time = time(NULL); #endif #ifdef USE_UTMPX memcpy(ut.ut_host, host, K_MIN(sizeof(ut.ut_host), strlen(host))); #if !defined(__FreeBSD__) && !defined(__APPLE__) ut.ut_session = getsid(0); #endif #endif memcpy(utmp->ut_line, tty, K_MIN(sizeof(utmp->ut_line), strlen(tty))); memcpy(utmp->ut_pos, tty_num, K_MIN(sizeof(utmp->ut_pos), strlen(tty_num))); bl_priv_restore_euid(); /* useless? */ bl_priv_restore_egid(); /* reset the input stream to the beginning of the file */ #ifdef USE_UTMPX setutxent(); #else setutent(); #endif /* insert new entry */ #ifdef USE_UTMPX if (!pututxline(&ut)) { #ifdef _PATH_UTMP_UPDATE /* NetBSD calls waitpid() for utmp_update which is executed as root(SUID) * and fails(ECHILD). */ if (errno != ECHILD) #endif { free(utmp); utmp = NULL; } } #else /* pututline doesn't return value in XPG2 and SVID2 */ pututline(&ut); #endif #ifdef DEBUG if (!utmp) { bl_debug_printf(BL_DEBUG_TAG "pututline failed. EUID %d EGID %d => ", geteuid(), getegid()); perror(NULL); } #endif #ifdef USE_UTMPX endutxent(); #else endutent(); #endif bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); return utmp; } int bl_utmp_delete(bl_utmp_t utmp) { #ifdef USE_UTMPX struct utmpx ut; #else struct utmp ut; #endif const char *pw_name; memset(&ut, 0, sizeof(ut)); pw_name = get_pw_name(); strncpy(ut.ut_user, pw_name, K_MIN(sizeof(ut.ut_user), strlen(pw_name))); memcpy(ut.ut_id, utmp->ut_pos, K_MIN(sizeof(ut.ut_id), sizeof(utmp->ut_pos))); memcpy(ut.ut_line, utmp->ut_line, K_MIN(sizeof(ut.ut_line), sizeof(utmp->ut_line))); ut.ut_pid = getpid(); ut.ut_type = DEAD_PROCESS; #ifdef USE_UTMPX ut.ut_tv.tv_sec = 0; ut.ut_tv.tv_usec = 0; #else ut.ut_time = 0; #endif bl_priv_restore_euid(); bl_priv_restore_egid(); /* reset the input stream to the beginning of the file */ #ifdef USE_UTMPX setutxent(); pututxline(&ut); endutxent(); #else setutent(); pututline(&ut); endutent(); #endif bl_priv_change_euid(getuid()); bl_priv_change_egid(getgid()); free(utmp); return 1; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_pty_streams.c�����������������������������������������������������������0100644�0001760�0000144�00000016556�13210547312�0017122�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * _GNU_SOURCE must be defined before including <features.h> to take effect. * since standard headers, bl_types.h and bl_def.h include features.h * indirectly, * ecplicitly evaluate only the autoconf's result here. */ #include "bl_config.h" #ifdef HAVE_GNU_SOURCE #define _GNU_SOURCE #endif #include "bl_pty.h" #include <fcntl.h> #include <grp.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <sys/param.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <unistd.h> #ifdef __ANDROID__ #include <termios.h> #else #include <sys/termios.h> #endif #ifdef HAVE_STROPTS_H #include <stropts.h> #endif #ifdef HAVE_SYS_STROPTS_H #include <sys/stropts.h> #endif #include "bl_str.h" /* strdup */ #include "bl_file.h" #include "bl_debug.h" #include "bl_sig_child.h" /* Disable special character functions */ #ifdef _POSIX_VDISABLE #define VDISABLE _POSIX_VDISABLE #else #define VDISABLE 255 #endif /* For Android */ #ifndef CEOF #define CEOF ('d' & 0x1f) #endif #ifndef CERASE #define CERASE 0x7f #endif #ifndef CINTR #define CINTR ('c' & 0x1f) #endif #ifndef CKILL #define CKILL ('u' & 0x1f) #endif #ifndef CQUIT #define CQUIT 0x1c #endif #ifndef CSTART #define CSTART ('q' & 0x1f) #endif #ifndef CSTOP #define CSTOP ('s' & 0x1f) #endif #ifndef CSUSP #define CSUSP ('z' & 0x1f) #endif #ifndef CDSUSP #define CDSUSP ('y' & 0x1f) #endif #ifndef CRPRNT #define CRPRNT ('r' & 0x1f) #endif #ifndef CFLUSH #define CFLUSH ('o' & 0x1f) #endif #ifndef CWERASE #define CWERASE ('w' & 0x1f) #endif #ifndef CLNEXT #define CLNEXT ('v' & 0x1f) #endif /* --- global functions --- */ pid_t bl_pty_fork(int *master, int *slave) { int mode; pid_t pid; char *ttydev; struct termios tio; int fd; #ifdef HAVE_POSIX_OPENPT *master = posix_openpt(O_RDWR | O_NOCTTY); #else *master = open("/dev/ptmx", O_RDWR | O_NOCTTY, 0); #endif if (*master < 0) { bl_error_printf("Couldn't open a master pseudo-terminal device.\n"); return -1; } bl_file_set_cloexec(*master); /* * The behaviour of the grantpt() function is unspecified * if the application has installed a signal handler to catch SIGCHLD signals. * (see http://www.opengroup.org/onlinepubs/007908799/xsh/grantpt.html) */ bl_sig_child_suspend(); if (grantpt(*master) < 0) { #if 0 /* XXX this fails but it doesn't do harm in some environments */ bl_sig_child_resume(); return -1; #endif } bl_sig_child_resume(); if (unlockpt(*master) < 0) { close(*master); return -1; } if ((ttydev = ptsname(*master)) == NULL) { bl_error_printf("Couldn't open a slave pseudo-terminal device.\n"); #ifdef __linux__ bl_msg_printf( "If your operating system is Linux, make sure your kernel was compiled " "with\n" "'CONFIG_UNIX98_PTYS=y' and devpts file system was mounted.\n"); #endif close(*master); return -1; } if ((mode = fcntl(*master, F_GETFL, 0)) == -1 || ((mode & O_NDELAY) == 0 && fcntl(*master, F_SETFL, mode | O_NDELAY) == -1)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to set pty master non-blocking.\n"); #endif } if ((*slave = open(ttydev, O_RDWR | O_NOCTTY, 0)) < 0) { close(*master); return -1; } /* * cygwin doesn't have isastream. */ #if defined(HAVE_ISASTREAM) && defined(I_PUSH) if (isastream(*slave) == 1) { ioctl(*slave, I_PUSH, "ptem"); ioctl(*slave, I_PUSH, "ldterm"); ioctl(*slave, I_PUSH, "ttcompat"); } #endif memset(&tio, 0, sizeof(struct termios)); tio.c_iflag = BRKINT | IGNPAR | ICRNL | IXON; tio.c_oflag = OPOST | ONLCR; tio.c_cflag = CS8 | CREAD; tio.c_lflag = ISIG | ICANON | IEXTEN | ECHO | ECHOE | ECHOK; #ifdef ECHOKE tio.c_lflag |= ECHOKE; #endif #ifdef ECHOCTL tio.c_lflag |= ECHOCTL; #endif tio.c_cc[VEOF] = CEOF; tio.c_cc[VEOL] = VDISABLE; tio.c_cc[VERASE] = CERASE; tio.c_cc[VINTR] = CINTR; tio.c_cc[VKILL] = CKILL; tio.c_cc[VQUIT] = CQUIT; tio.c_cc[VSTART] = CSTART; tio.c_cc[VSTOP] = CSTOP; tio.c_cc[VSUSP] = CSUSP; #ifdef VDSUSP tio.c_cc[VDSUSP] = CDSUSP; #endif #ifdef VREPRINT tio.c_cc[VREPRINT] = CRPRNT; #endif #ifdef VRPRNT tio.c_cc[VRPRNT] = CRPRNT; #endif #ifdef VDISCARD tio.c_cc[VDISCARD] = CFLUSH; #endif #ifdef VFLUSHO tio.c_cc[VFLUSHO] = CFLUSH; #endif #ifdef VWERASE tio.c_cc[VWERASE] = CWERASE; #endif #ifdef VLNEXT tio.c_cc[VLNEXT] = CLNEXT; #endif #ifdef VEOL2 tio.c_cc[VEOL2] = VDISABLE; #endif #ifdef VSWTC tio.c_cc[VSWTC] = VDISABLE; #endif #ifdef VSWTCH tio.c_cc[VSWTCH] = VDISABLE; #endif #ifdef VSTATUS tio.c_cc[VSTATUS] = CSTATUS; #endif /* * VMIN == VEOF and VTIME == VEOL on old System V. */ #if VMIN != VEOF tio.c_cc[VMIN] = 1; #endif #if VTIME != VEOL tio.c_cc[VTIME] = 0; #endif /* * inheriting tty(0,1,2) settings ... */ for (fd = 0; fd <= 2; fd++) { struct termios def_tio; if (tcgetattr(fd, &def_tio) == 0) { tio.c_cc[VEOF] = def_tio.c_cc[VEOF]; tio.c_cc[VEOL] = def_tio.c_cc[VEOL]; tio.c_cc[VERASE] = def_tio.c_cc[VERASE]; tio.c_cc[VINTR] = def_tio.c_cc[VINTR]; tio.c_cc[VKILL] = def_tio.c_cc[VKILL]; tio.c_cc[VQUIT] = def_tio.c_cc[VQUIT]; tio.c_cc[VSTART] = def_tio.c_cc[VSTART]; tio.c_cc[VSTOP] = def_tio.c_cc[VSTOP]; tio.c_cc[VSUSP] = def_tio.c_cc[VSUSP]; break; } } pid = fork(); if (pid == -1) { /* fork failed */ close(*master); close(*slave); return -1; } else if (pid == 0) { /* child */ #ifdef __MSYS__ /* * XXX * I don't know why but following hack doesn't effect in MSYS/Windows7. * Set "CYGWIN=tty" environmental variable in msys.bat instead. */ #if 0 /* * XXX * I don't know why but FreeConsole() is called in setsid() * unless following codes(close(0...2)) are placed between * fork() and setsid() (before dup2()) in msys. * If FreeConsole() is called in setsid(), each non-msys program * which is started by shell in mlterm opens command prompt * window... */ for (fd = 0; fd <= 2; fd++) { if (fd != *slave) { close(fd); } } #endif #endif close(*master); #ifdef HAVE_SETSID setsid(); #else /* HAVE_SETSID */ #ifdef TIOCNOTTY fd = open("/dev/tty", O_RDWR | O_NOCTTY); if (fd >= 0) { ioctl(fd, TIOCNOTTY, NULL); close(fd); } #endif /* TIOCNOTTY */ #endif /* HAVE_SETSID */ #ifdef TIOCSCTTY /* BSD (in addition Linux also knows TIOCSCTTY) */ if (ioctl(*slave, TIOCSCTTY, NULL) < 0) { return -1; } #else /* no TIOCSCTTY (SysV) */ fd = open("/dev/tty", O_RDWR | O_NOCTTY); if (fd >= 0) { close(fd); } fd = open(ttydev, O_RDWR); if (fd >= 0) { close(fd); } fd = open("/dev/tty", O_WRONLY); if (fd < 0) { return -1; } close(fd); #endif /* no TIOCSCTTY (SysV) */ dup2(*slave, 0); dup2(*slave, 1); dup2(*slave, 2); if (*slave > STDERR_FILENO) { close(*slave); } #ifdef B38400 cfsetispeed(&tio, B38400); cfsetospeed(&tio, B38400); #else cfsetispeed(&tio, B9600); cfsetospeed(&tio, B9600); #endif if (tcsetattr(STDIN_FILENO, TCSANOW, &tio) < 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " tcsetattr() failed.\n"); #endif } return 0; } bl_file_set_cloexec(*slave); return pid; } int bl_pty_close(int master) { close(master); return 0; } void bl_pty_helper_set_flag(int lastlog, int utmp, int wtmp) {} ��������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_locale.h����������������������������������������������������������������0100644�0001760�0000144�00000001257�13210547312�0016004�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_LOCALE_H__ #define __BL_LOCALE_H__ #include "bl_def.h" /* HAVE_WINDOWS_H */ int bl_locale_init(const char *locale); int bl_locale_final(void); char *bl_get_locale(void); /* * lang/country/codeset are decided as below , not decided only by setlocale(). * Be careful to use them. * * <order> * setlocale() (=> nl_langinfo(CODESET)) => LC_ALL => LC_CTYPE => LANG */ char *bl_get_lang(void); char *bl_get_country(void); #ifdef USE_WIN32API #define bl_get_codeset bl_get_codeset_win32 #else char *bl_get_codeset(void); #endif #ifdef HAVE_WINDOWS_H char *bl_get_codeset_win32(void); #endif #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn_ltdl.c������������������������������������������������������������0100644�0001760�0000144�00000002520�13210547312�0016637�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdio.h> /* NULL */ #include <string.h> /* strlen */ #include "bl_mem.h" /* alloca() */ #include <ltdl.h> static int ready_sym_table = 0; /* --- global functions --- */ bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name) { lt_dlhandle handle; char *path; if (!ready_sym_table) { LTDL_SET_PRELOADED_SYMBOLS(); ready_sym_table = 1; } if (lt_dlinit()) { return NULL; } if ((path = alloca(strlen(dirpath) + strlen(name) + 4)) == NULL) { return NULL; } /* * libfoo -> foo */ sprintf(path, "%slib%s", dirpath, name); if ((handle = lt_dlopenext(path))) { return (bl_dl_handle_t)handle; } sprintf(path, "%s%s", dirpath, name); if ((handle = lt_dlopenext(path))) { return (bl_dl_handle_t)handle; } return NULL; } int bl_dl_close(bl_dl_handle_t handle) { int ret; ret = lt_dlclose((lt_dlhandle)handle); lt_dlexit(); return ret; } void *bl_dl_func_symbol(bl_dl_handle_t handle, const char *symbol) { return lt_dlsym((lt_dlhandle)handle, symbol); } int bl_dl_is_module(const char *name) { size_t len; if (!name) { return 0; } if ((len = strlen(name)) < 3) { return 0; } if (strcmp(&name[len - 3], ".la") == 0) { return 1; } return 0; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_path.c������������������������������������������������������������������0100644�0001760�0000144�00000022077�13210547312�0015477�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_path.h" #include <stdio.h> /* NULL */ #include <string.h> #include <ctype.h> /* isdigit */ #if defined(__ANDROID__) #include <sys/stat.h> #elif defined(USE_WIN32API) #include <sys/stat.h> #include <windows.h> /* IsDBCSLeadByte */ #endif #include "bl_str.h" /* bl_str_alloca_dup */ #include "bl_debug.h" #if 0 #define __DEBUG #endif /* --- global functions --- */ #if !defined(HAVE_BASENAME) || defined(USE_WIN32API) char* __bl_basename(char *path) { char *p; if (path == NULL || *path == '\0') { return "."; } p = path + strlen(path) - 1; while (1) { if (p == path) { return p; } else if (*p == '/' #ifdef USE_WIN32API || (*p == '\\' && (p - 1 == path || !IsDBCSLeadByte(*(p - 1)))) #endif ) { *(p--) = '\0'; } else { break; } } while (1) { if (*p == '/' #ifdef USE_WIN32API || (*p == '\\' && (p - 1 == path || !IsDBCSLeadByte(*(p - 1)))) #endif ) { return p + 1; } else { if (p == path) { return p; } } p--; } } #endif #ifndef REMOVE_FUNCS_MLTERM_UNUSE int bl_path_cleanname(char *cleaned_path, size_t size, const char *path) { char *src; char *dst; size_t left; char *p; if (size == 0) { return 0; } if ((src = bl_str_alloca_dup(path)) == NULL) { return 0; } dst = cleaned_path; left = size; if (*src == '/') { *(dst++) = '\0'; left--; src++; } while ((p = strchr(src, '/'))) { *p = '\0'; if (strcmp(src, ".") == 0) { goto end; } else if (strcmp(src, "..") == 0 && left < size) { char *last; if ((last = strrchr(cleaned_path, '/'))) { last++; } else { last = cleaned_path; } if (*last != '\0' && strcmp(last, "..") != 0) { dst -= (strlen(last) + 1); left += (strlen(last) + 1); *dst = '\0'; goto end; } } if (*src) { if (left < strlen(src) + 1) { return 1; } if (left < size) { *(dst - 1) = '/'; } strcpy(dst, src); dst += (strlen(src) + 1); left -= (strlen(src) + 1); } end: src = p + 1; } if (src && *src) { if (left < strlen(src) + 1) { return 1; } if (left < size) { *(dst - 1) = '/'; } strcpy(dst, src); dst += (strlen(src) + 1); left -= (strlen(src) + 1); } return 1; } #endif /* REMOVE_FUNCS_MLTERM_UNUSE */ /* * Parsing "<user>@<proto>:<host>:<port>:<aux>". */ int bl_parse_uri(char **proto, /* proto can be NULL. If seq doesn't have proto, NULL is set. */ char **user, /* user can be NULL. If seq doesn't have user, NULL is set. */ char **host, /* host can be NULL. */ char **port, /* port can be NULL. If seq doesn't have port, NULL is set. */ char **path, /* path can be NULL. If seq doesn't have path, NULL is set. */ char **aux, /* aux can be NULL. If seq doesn't have aux string, NULL is set. */ char *seq /* broken in this function. If NULL, return 0. */ ) { char *p; size_t len; /* * This hack enables the way of calling this function like * 'bl_parse_uri( ... , bl_str_alloca_dup( "string"))' */ if (!seq) { return 0; } len = strlen(seq); if (len > 6 && (strncmp(seq, "ssh://", 6) == 0 || strncmp(seq, "ftp://", 6) == 0)) { seq = (p = seq) + 6; *(seq - 3) = '\0'; } else if (len > 9 && (strncmp(seq, "telnet://", 9) == 0 || strncmp(seq, "rlogin://", 9) == 0)) { seq = (p = seq) + 9; *(seq - 3) = '\0'; } else { p = NULL; } if (proto) { *proto = p; } if ((p = strchr(seq, '/'))) { *(p++) = '\0'; if (*p == '\0') { p = NULL; } } if (path) { *path = p; } if ((p = strchr(seq, '@'))) { *p = '\0'; if (user) { *user = seq; } seq = p + 1; } else if (user) { *user = NULL; } if (host) { *host = seq; } if ((p = strchr(seq, ':'))) { *(p++) = '\0'; if (isdigit((int)*p)) { seq = p; while (isdigit((int)(*(++p)))) ; if (*p == '\0') { p = NULL; } else { *(p++) = '\0'; } } else { seq = NULL; } } else { seq = NULL; } if (port) { *port = seq; } if (aux) { *aux = p; } return 1; } char *bl_get_home_dir(void) { #ifdef __ANDROID__ static char *dir; if (!dir) { struct stat st; if (stat("/sdcard", &st) == 0) { dir = "/sdcard"; } else if (stat("/mnt/sdcard", &st) == 0) { dir = "/mnt/sdcard"; } else { dir = "/extsdcard"; } } return dir; #else char *dir; #ifdef USE_WIN32API if ((dir = getenv("HOMEPATH")) && *dir) { return dir; } #endif if ((dir = getenv("HOME")) && *dir) { return dir; } return NULL; #endif } #if defined(__CYGWIN__) #include <sys/cygwin.h> int bl_conv_to_win32_path(const char *path, char *winpath, size_t len) { int ret; if ((ret = cygwin_conv_path(CCP_POSIX_TO_WIN_A, path, winpath, len)) < 0) { bl_warn_printf("Couldn't convert %s to win32 path.\n", path); } return ret; } int bl_conv_to_posix_path(const char *winpath, char *path, size_t len) { int ret; if ((ret = cygwin_conv_path(CCP_WIN_A_TO_POSIX, winpath, path, len)) < 0) { bl_warn_printf("Couldn't convert %s to posix path.\n", winpath); } return ret; } #elif defined(__MSYS__) #include <windef.h> /* MAX_PATH */ #include <sys/cygwin.h> int bl_conv_to_win32_path(const char *path, char *winpath, size_t len) { static size_t prefix_len; int ret; if (prefix_len == 0) { char winpath[MAX_PATH]; cygwin_conv_to_win32_path("/", winpath); prefix_len = strlen(winpath); } if (strlen(path) + prefix_len >= len) { bl_warn_printf("Couldn't convert %s to win32 path.\n", path); return -1; } cygwin_conv_to_win32_path(path, winpath); return 0; } int bl_conv_to_posix_path(const char *winpath, char *path, size_t len) { int ret; if (strlen(winpath) >= len) { bl_warn_printf("Couldn't convert %s to posix path.\n", winpath); return -1; } cygwin_conv_to_posix_path(winpath, path); return 0; } #endif #if (defined(__CYGWIN__) || defined(__MSYS__)) && defined(__DEBUG) #include <windef.h> void main(void) { char path[MAX_PATH]; bl_conv_to_win32_path("/foo/bar", path, sizeof(path)); bl_debug_printf("/foo/bar -> %s\n", path); bl_conv_to_win32_path( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", path, sizeof(path)); bl_conv_to_posix_path("c:\\cygwin\\foo\\bar", path, sizeof(path)); bl_debug_printf("c:\\cygwin\\foo\\bar -> %s\n", path); bl_conv_to_posix_path( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", path, sizeof(path)); } #endif #ifdef __DEBUG int main(void) { char uri1[] = "ssh://ken@localhost.localdomain:22"; char uri2[] = "ken@localhost.localdomain:22"; char uri3[] = "ken@localhost.localdomain:22"; char uri4[] = "ken@localhost.localdomain"; char uri5[] = "ssh://localhost.localdomain"; char uri6[] = "telnet://ken@localhost.localdomain:22:eucjp/usr/local/"; char uri7[] = "ssh://ken@localhost.localdomain:22:eucjp/"; char uri8[] = "ssh://localhost:eucjp/usr/local"; char *user; char *proto; char *host; char *port; char *encoding; char *path; bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri1); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri2); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri3); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri4); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri5); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri6); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri7); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); bl_parse_uri(&proto, &user, &host, &port, &path, &encoding, uri8); printf("%s %s %s %s %s %s\n", proto, user, host, port, path, encoding); return 0; } #endif #ifdef __DEBUG2 int main(int argc, char **argv) { printf("%s\n", __bl_basename(argv[1])); return 0; } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dialog.h����������������������������������������������������������������0100644�0001760�0000144�00000000503�13210547312�0015775�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_DIALOG_H__ typedef enum { BL_DIALOG_OKCANCEL = 0, BL_DIALOG_ALERT = 1, } bl_dialog_style_t; int bl_dialog_set_callback(int (*callback)(bl_dialog_style_t, const char *)); int bl_dialog(bl_dialog_style_t style, const char *msg); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_map.c�������������������������������������������������������������������0100644�0001760�0000144�00000005113�13210547312�0015310�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_map.h" #include <string.h> /* strcmp */ /* --- global functions --- */ int bl_map_rehash(int hash_key, u_int size) { if (++hash_key >= size) { return 0; } else { return hash_key; } } int bl_map_hash_str(char *key, u_int size) { int hash_key; hash_key = 0; while (*key) { hash_key += *key++; } return hash_key % size; } int bl_map_hash_int(int key, u_int size) { return key % size; } int bl_map_hash_int_fast(int key, u_int size /* == 2^n */ ) { return key & (size - 1); } int bl_map_compare_str(char *key1, char *key2) { return (strcmp(key1, key2) == 0); } int bl_map_compare_str_nocase(char *key1, char *key2) { return (strcasecmp(key1, key2) == 0); } int bl_map_compare_int(int key1, int key2) { return (key1 == key2); } #ifdef __DEBUG #include <stdio.h> /* printf */ /* Macros in bl_map.h use bl_error_printf and bl_debug_printf. */ #define bl_error_printf printf #define bl_debug_printf printf #undef DEFAULT_MAP_SIZE #define DEFAULT_MAP_SIZE 4 #undef MAP_MARGIN_SIZE #define MAP_MARGIN_SIZE 2 BL_MAP_TYPEDEF(test, int, char *); int main(void) { BL_MAP(test) map; BL_PAIR(test) pair; BL_PAIR(test) * array; u_int size; int result; int key; char *table[] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", }; bl_map_new_with_size(int, char *, map, bl_map_hash_int, bl_map_compare_int, DEFAULT_MAP_SIZE); for (key = 0; key < sizeof(table) / sizeof(table[0]); key++) { bl_map_set(result, map, key * 3, table[key]); } printf("MAP SIZE %d / FILLED %d\n", map->map_size, map->filled_size); for (key = 0; key < sizeof(table) / sizeof(table[0]); key++) { bl_map_get(map, key * 3, pair); if (pair) { printf("%d %s\n", key * 3, pair->value); } else { printf("The value of the key %d is not found\n", key * 3); } } for (key = 0; key < sizeof(table) / sizeof(table[0]) - 2; key++) { printf("KEY %d is erased.\n", key * 3); bl_map_erase(result, map, key * 3); } printf("MAP SIZE %d / FILLED %d\n", map->map_size, map->filled_size); for (key = 0; key < sizeof(table) / sizeof(table[0]); key++) { bl_map_get(map, key * 3, pair); if (pair) { printf("%d %s\n", key * 3, pair->value); } else { printf("The value of the key %d is not found\n", key * 3); } } printf("---\n"); bl_map_get_pairs_array(map, array, size); for (key = 0; key < size; key++) { printf("%d %s\n", array[key]->key, array[key]->value); } bl_map_delete(map); return 1; } #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn_win32.c�����������������������������������������������������������0100644�0001760�0000144�00000004747�13210547312�0016657�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdio.h> /* NULL */ #include <string.h> /* strlen */ #include "bl_mem.h" /* alloca() */ #if defined(__CYGWIN__) || defined(__MSYS__) #include "bl_path.h" /* bl_conv_to_win32_path */ #endif #undef _WIN32_WINNT #define _WIN32_WINNT 0x0502 /* for SetDllDirectory */ #include <windows.h> #include <winbase.h> /* SetDllDirectory */ /* --- static functions --- */ static int initialized; /* --- global functions --- */ bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name) { HMODULE module; char *path; #if defined(__CYGWIN__) || defined(__MSYS__) /* MAX_PATH which is 260 (3+255+1+1) is defined in win32 alone. */ char winpath[MAX_PATH]; #endif #ifdef SetDllDirectory /* Defined in winbase.h as SetDllDirectoryA or \ SetDllDirectoryW */ if (!initialized) { SetDllDirectory(""); /* Don't load library at CWD. */ initialized = 1; } #endif if ((path = alloca(strlen(dirpath) + strlen(name) + 8)) == NULL) { return NULL; } #if defined(__CYGWIN__) sprintf(path, "%scyg%s.dll", dirpath, name); if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) < 0) { goto next_step; } path = winpath; #elif defined(__MSYS__) sprintf(path, "%slib%s.dll", dirpath, name); if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) < 0) { goto next_step; } path = winpath; #else sprintf(path, "%slib%s.dll", dirpath, name); if ((module = LoadLibraryA(path))) { return (bl_dl_handle_t)module; } /* Assume cygwin(-mno-cygwin) */ sprintf(path, "%scyg%s.dll", dirpath, name); #endif if ((module = LoadLibraryA(path))) { return (bl_dl_handle_t)module; } #if defined(__CYGWIN__) || defined(__MSYS__) next_step: sprintf(path, "%s%s.dll", dirpath, name); if (bl_conv_to_win32_path(path, winpath, sizeof(winpath)) < 0) { return NULL; } path = winpath; #else sprintf(path, "%s%s.dll", dirpath, name); #endif if ((module = LoadLibraryA(path))) { return (bl_dl_handle_t)module; } return NULL; } int bl_dl_close(bl_dl_handle_t handle) { return FreeLibrary((HMODULE)handle); } void *bl_dl_func_symbol(bl_dl_handle_t handle, const char *symbol) { return GetProcAddress((HMODULE)handle, symbol); } int bl_dl_is_module(const char *name) { size_t len; if (!name) { return 0; } if ((len = strlen(name)) < 4) { return 0; } if (strcmp(&name[len - 4], ".dll") == 0) { return 1; } return 0; } �������������������������mlterm-3.8.4/baselib/src/bl_langinfo.c��������������������������������������������������������������0100644�0001760�0000144�00000000356�13210547312�0016334�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_langinfo.h" #ifdef USE_BUILTIN_LANGINFO /* --- global functions --- */ char* __bl_langinfo(nl_item item) { return ""; } #endif /* USE_BUILTIN_LANGINFO */ ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_pty_helper.c������������������������������������������������������������0100644�0001760�0000144�00000023655�13210547312�0016721�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_pty.h" #include <sys/types.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <errno.h> #include <fcntl.h> #include <signal.h> #include <stdio.h> #include <string.h> /* memcpy */ #include <unistd.h> #include "bl_def.h" /* HAVE_SETSID, LINE_MAX */ #include "bl_debug.h" #include "bl_mem.h" /* realloc/free */ #include "bl_path.h" /* BL_LIBEXECDIR */ #ifndef MSG_NOSIGNAL #define MSG_NOSIGNAL 0 #endif #if 0 #define __DEBUG #endif typedef enum { GNOME_PTY_OPEN_PTY_UTMP = 1, GNOME_PTY_OPEN_PTY_UWTMP, GNOME_PTY_OPEN_PTY_WTMP, GNOME_PTY_OPEN_PTY_LASTLOG, GNOME_PTY_OPEN_PTY_LASTLOGUTMP, GNOME_PTY_OPEN_PTY_LASTLOGUWTMP, GNOME_PTY_OPEN_PTY_LASTLOGWTMP, GNOME_PTY_OPEN_NO_DB_UPDATE, GNOME_PTY_RESET_TO_DEFAULTS, GNOME_PTY_CLOSE_PTY, GNOME_PTY_SYNCH } GnomePtyOps; typedef struct { int pty; void *tag; } pty_helper_tag_t; /* --- static variables --- */ static pid_t myself = -1; static pid_t pty_helper_pid = -1; static int pty_helper_tunnel = -1; static pty_helper_tag_t *pty_helper_tags = NULL; static u_int num_pty_helper_tags; static GnomePtyOps pty_helper_open_ops = GNOME_PTY_OPEN_PTY_UTMP; /* --- static functions --- */ static void setup_child(int fd) { char *tty; tty = ttyname(fd); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Setting up child pty(name:%s, fd:%d)\n", tty ? tty : "(none)", fd); #endif /* Try to reopen the pty to acquire it as our controlling terminal. */ if (tty != NULL) { int _fd; if ((_fd = open(tty, O_RDWR)) != -1) { if (fd != -1) { close(fd); } fd = _fd; } } if (fd == -1) { exit(EXIT_FAILURE); } /* Start a new session and become process group leader. */ #if defined(HAVE_SETSID) && defined(HAVE_SETPGID) setsid(); setpgid(0, 0); #endif #ifdef TIOCSCTTY ioctl(fd, TIOCSCTTY, fd); #endif #if defined(HAVE_ISASTREAM) && defined(I_PUSH) if (isastream(fd) == 1) { ioctl(fd, I_PUSH, "ptem"); ioctl(fd, I_PUSH, "ldterm"); ioctl(fd, I_PUSH, "ttcompat"); } #endif if (fd != STDIN_FILENO) { dup2(fd, STDIN_FILENO); } if (fd != STDOUT_FILENO) { dup2(fd, STDOUT_FILENO); } if (fd != STDERR_FILENO) { dup2(fd, STDERR_FILENO); } if (fd != STDIN_FILENO && fd != STDOUT_FILENO && fd != STDERR_FILENO) { close(fd); } close(pty_helper_tunnel); } #ifdef HAVE_RECVMSG static void read_ptypair(int tunnel, int *master, int *slave) { int count; int ret; char control[LINE_MAX]; char iobuf[LINE_MAX]; struct cmsghdr *cmsg; struct msghdr msg; struct iovec vec; for (count = 0; count < 2; count++) { vec.iov_base = iobuf; vec.iov_len = sizeof(iobuf); msg.msg_name = NULL; msg.msg_namelen = 0; msg.msg_iov = &vec; msg.msg_iovlen = 1; msg.msg_control = control; msg.msg_controllen = sizeof(control); if ((ret = recvmsg(tunnel, &msg, MSG_NOSIGNAL)) == -1) { return; } for (cmsg = CMSG_FIRSTHDR(&msg); cmsg != NULL; cmsg = CMSG_NXTHDR(&msg, cmsg)) { if (cmsg->cmsg_type == SCM_RIGHTS) { memcpy(&ret, CMSG_DATA(cmsg), sizeof(ret)); if (count == 0) { /* Without this, pty master is blocked in poll. */ fcntl(ret, F_SETFL, O_NONBLOCK); *master = ret; } else /* if( i == 1) */ { fcntl(ret, F_SETFL, O_NONBLOCK); *slave = ret; } } } } } #elif defined(I_RECVFD) static void read_ptypair(int tunnel, int *master, int *slave) { int ret; if (ioctl(tunnel, I_RECVFD, &ret) == -1) { return; } *master = ret; if (ioctl(tunnel, I_RECVFD, &ret) == -1) { return; } *slave = ret; } #endif #ifdef HAVE_SOCKETPAIR static int open_pipe(int *a, int *b) { int p[2]; int ret = -1; #ifdef PF_UNIX #ifdef SOCK_STREAM ret = socketpair(PF_UNIX, SOCK_STREAM, 0, p); #else #ifdef SOCK_DGRAM ret = socketpair(PF_UNIX, SOCK_DGRAM, 0, p); #endif #endif if (ret == 0) { *a = p[0]; *b = p[1]; return 0; } #endif return ret; } #else static int open_pipe(int *a, int *b) { int p[2]; int ret = -1; ret = pipe(p); if (ret == 0) { *a = p[0]; *b = p[1]; } return ret; } #endif /* read ignoring EINTR and EAGAIN. */ static ssize_t n_read(int fd, void *buffer, size_t buf_size) { size_t n; char *p; int ret; n = 0; p = buffer; while (n < buf_size) { ret = read(fd, p + n, buf_size - n); switch (ret) { case 0: return n; case -1: switch (errno) { case EINTR: case EAGAIN: #ifdef ERESTART case ERESTART: #endif break; default: return -1; } default: n += ret; } } return n; } /* write ignoring EINTR and EAGAIN. */ static ssize_t n_write(int fd, const void *buffer, size_t buf_size) { size_t n; const char *p; int ret; n = 0; p = buffer; while (n < buf_size) { ret = write(fd, p + n, buf_size - n); switch (ret) { case 0: return n; case -1: switch (errno) { case EINTR: case EAGAIN: #ifdef ERESTART case ERESTART: #endif break; default: return -1; } default: n += ret; } } return n; } static void stop_pty_helper(void) { if (pty_helper_pid != -1) { free(pty_helper_tags); pty_helper_tags = NULL; num_pty_helper_tags = 0; close(pty_helper_tunnel); pty_helper_tunnel = -1; /* child processes might trigger this function on exit(). */ if (myself == getpid()) { kill(pty_helper_pid, SIGTERM); } pty_helper_pid = -1; } } static int start_pty_helper(void) { int tmp[2]; int tunnel; if (access(BL_LIBEXECDIR("mlterm") "/gnome-pty-helper", X_OK) != 0) { bl_error_printf("Couldn't run %s", BL_LIBEXECDIR("mlterm") "/gnome-pty-helper"); return 0; } /* Create a communication link with the helper. */ tmp[0] = open("/dev/null", O_RDONLY); if (tmp[0] == -1) { return 0; } tmp[1] = open("/dev/null", O_RDONLY); if (tmp[1] == -1) { close(tmp[0]); return 0; } if (open_pipe(&pty_helper_tunnel, &tunnel) != 0) { return 0; } close(tmp[0]); close(tmp[1]); pty_helper_pid = fork(); if (pty_helper_pid == -1) { return 0; } if (pty_helper_pid == 0) { /* Child */ int count; /* No need to close all descriptors because gnome-pty-helper does that * anyway. */ for (count = 0; count < 3; count++) { close(count); } dup2(tunnel, STDIN_FILENO); dup2(tunnel, STDOUT_FILENO); close(tunnel); close(pty_helper_tunnel); execl(BL_LIBEXECDIR("mlterm") "/gnome-pty-helper", "gnome-pty-helper", NULL); exit(EXIT_SUCCESS); } close(tunnel); myself = getpid(); atexit(stop_pty_helper); return 1; } /* --- global functions --- */ pid_t bl_pty_fork(int *master, int *slave) { pid_t pid; int ret; void *tag; if (pty_helper_pid == -1) { if (!start_pty_helper()) { return -1; } } /* Send our request. */ if (n_write(pty_helper_tunnel, &pty_helper_open_ops, sizeof(pty_helper_open_ops)) != sizeof(pty_helper_open_ops)) { return -1; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Sent request to helper.\n"); #endif /* Read back the response. */ if (n_read(pty_helper_tunnel, &ret, sizeof(ret)) != sizeof(ret)) { return -1; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Received response from helper.\n"); #endif if (ret == 0) { return -1; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Helper returns success.\n"); #endif /* Read back a tag. */ if (n_read(pty_helper_tunnel, &tag, sizeof(tag)) != sizeof(tag)) { return -1; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Tag = %p.\n", tag); #endif /* Receive the master and slave ptys. */ read_ptypair(pty_helper_tunnel, master, slave); if ((*master == -1) || (*slave == -1)) { close(*master); close(*slave); return -1; } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Master pty %d / Slave pty %d.\n", *master, *slave); #endif pty_helper_tags = realloc(pty_helper_tags, sizeof(pty_helper_tag_t) * (num_pty_helper_tags + 1)); pty_helper_tags[num_pty_helper_tags].pty = *master; pty_helper_tags[num_pty_helper_tags++].tag = tag; pid = fork(); if (pid == -1) { /* Error */ bl_error_printf("Failed to fork.\n"); close(*master); close(*slave); } else if (pid == 0) { /* child */ close(*master); setup_child(*slave); } return pid; } int bl_pty_close(int master) { u_int count; for (count = 0; count < num_pty_helper_tags; count++) { if (pty_helper_tags[count].pty == master) { void *tag; GnomePtyOps ops; tag = pty_helper_tags[count].tag; ops = GNOME_PTY_CLOSE_PTY; if (n_write(pty_helper_tunnel, &ops, sizeof(ops)) != sizeof(ops) || n_write(pty_helper_tunnel, &tag, sizeof(tag)) != sizeof(tag)) { return 0; } ops = GNOME_PTY_SYNCH; if (n_write(pty_helper_tunnel, &ops, sizeof(ops)) != sizeof(ops)) { return 0; } #if 0 /* This can be blocked (CentOS 5, vte 0.14.0) */ n_read(pty_helper_tunnel, &ops, 1); #endif pty_helper_tags[count] = pty_helper_tags[--num_pty_helper_tags]; return 1; } } close(master); return 0; } void bl_pty_helper_set_flag(int lastlog, int utmp, int wtmp) { int idx; GnomePtyOps ops[8] = { GNOME_PTY_OPEN_NO_DB_UPDATE, /* 0 0 0 */ GNOME_PTY_OPEN_PTY_LASTLOG, /* 0 0 1 */ GNOME_PTY_OPEN_PTY_UTMP, /* 0 1 0 */ GNOME_PTY_OPEN_PTY_LASTLOGUTMP, /* 0 1 1 */ GNOME_PTY_OPEN_PTY_WTMP, /* 1 0 0 */ GNOME_PTY_OPEN_PTY_LASTLOGWTMP, /* 1 0 1 */ GNOME_PTY_OPEN_PTY_UWTMP, /* 1 1 0 */ GNOME_PTY_OPEN_PTY_LASTLOGUWTMP, /* 1 1 1 */ }; idx = 0; if (lastlog) { idx += 1; } if (utmp) { idx += 2; } if (wtmp) { idx += 4; } pty_helper_open_ops = ops[idx]; } �����������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_debug.c�����������������������������������������������������������������0100644�0001760�0000144�00000006124�13210547312�0015624�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_debug.h" #include <stdio.h> #include <stdarg.h> #include <string.h> /* strlen */ #include <unistd.h> /* getpid */ #include <time.h> /* time/ctime */ #ifdef HAVE_ERRNO_H #include <errno.h> #endif #include "bl_mem.h" /* alloca */ #include "bl_util.h" /* DIGIT_STR_LEN */ #include "bl_conf_io.h" /* bl_get_user_rc_path */ #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *log_file_path; /* --- static functions --- */ static FILE *open_msg_file(void) { FILE *fp; if (log_file_path && (fp = fopen(log_file_path, "a+"))) { char ch; time_t tm; char *time_str; if (fseek(fp, -1, SEEK_END) == 0) { if (fread(&ch, 1, 1, fp) == 1 && ch != '\n') { fseek(fp, 0, SEEK_SET); return fp; } fseek(fp, 0, SEEK_SET); } tm = time(NULL); time_str = ctime(&tm); time_str[19] = '\0'; time_str += 4; fprintf(fp, "%s[%d] ", time_str, getpid()); return fp; } return stderr; } static void close_msg_file(FILE *fp) { if (fp != stderr) { fclose(fp); } else { #ifdef USE_WIN32API fflush(fp); #endif } } static int debug_printf(const char *prefix, const char *format, va_list arg_list) { size_t prefix_len; int ret; FILE *fp; if ((prefix_len = strlen(prefix)) > 0) { char *new_format; if ((new_format = alloca(prefix_len + strlen(format) + 1)) == NULL) { /* error */ return 0; } sprintf(new_format, "%s%s", prefix, format); format = new_format; } fp = open_msg_file(); ret = vfprintf(fp, format, arg_list); close_msg_file(fp); return ret; } /* --- global functions --- */ /* * this is usually used between #ifdef __DEBUG ... #endif */ int bl_debug_printf(const char *format, ...) { va_list arg_list; va_start(arg_list, format); return debug_printf("DEBUG: ", format, arg_list); } /* * this is usually used between #ifdef DEBUG ... #endif */ int bl_warn_printf(const char *format, ...) { va_list arg_list; va_start(arg_list, format); return debug_printf("WARN: ", format, arg_list); } /* * this is usually used without #ifdef ... #endif */ int bl_error_printf(const char *format, ...) { va_list arg_list; char *prefix; int ret; va_start(arg_list, format); #ifdef HAVE_ERRNO_H if (errno != 0) { char *error; error = strerror(errno); if (!(prefix = alloca(6 + strlen(error) + 3 + 1))) { ret = 0; goto end; } sprintf(prefix, "ERROR(%s): ", error); } else #endif { prefix = "ERROR: "; } ret = debug_printf(prefix, format, arg_list); end: va_end(arg_list); return ret; } /* * for noticing message. */ int bl_msg_printf(const char *format, ...) { va_list arg_list; va_start(arg_list, format); return debug_printf("", format, arg_list); } int bl_set_msg_log_file_name(const char *name) { char *p; free(log_file_path); if (name && *name && (p = alloca(strlen(name) + DIGIT_STR_LEN(pid_t) + 5))) { log_file_path = bl_get_user_rc_path(name); } else { log_file_path = NULL; } return 1; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn.h�����������������������������������������������������������������0100644�0001760�0000144�00000000724�13210547312�0015631�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_DLFCN_H__ #define __BL_DLFCN_H__ #include "bl_def.h" typedef void *bl_dl_handle_t; bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name); int bl_dl_close(bl_dl_handle_t handle); void *bl_dl_func_symbol(bl_dl_handle_t handle, const char *symbol); int bl_dl_is_module(const char *name); int bl_dl_close_at_exit(bl_dl_handle_t handle); void bl_dl_close_all(void); #endif ��������������������������������������������mlterm-3.8.4/baselib/src/bl_unistd.h����������������������������������������������������������������0100644�0001760�0000144�00000003110�13210547312�0016041�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_UNISTD_H__ #define __BL_UNISTD_H__ #include "bl_def.h" #include "bl_types.h" #ifdef HAVE_USLEEP #include <unistd.h> #define bl_usleep(microsec) usleep(microsec) #else #define bl_usleep(microsec) __bl_usleep(microsec) int __bl_usleep(u_int microseconds); #endif #ifdef HAVE_SETENV #include <stdlib.h> #define bl_setenv(name, value, overwrite) setenv(name, value, overwrite) #else /* HAVE_SETENV */ #ifdef USE_WIN32API #define bl_setenv(name, value, overwrite) SetEnvironmentVariableA(name, value) #else /* USE_WIN32API */ #define bl_setenv __bl_setenv int __bl_setenv(const char *name, const char *value, int overwrite); #endif /* USE_WIN32API */ #endif /* HAVE_SETENV */ #ifdef HAVE_UNSETENV #include <stdlib.h> #define bl_unsetenv(name) unsetenv(name) #else /* HAVE_SETENV */ #ifdef USE_WIN32API #define bl_unsetenv(name) SetEnvironmentVariableA(name, NULL) #else /* USE_WIN32API */ #define bl_unsetenv(name) bl_setenv(name, "", 1); #endif /* USE_WIN32API */ #endif /* HAVE_UNSETENV */ #ifdef HAVE_GETUID #include <unistd.h> #define bl_getuid getuid #else #define bl_getuid __bl_getuid uid_t __bl_getuid(void); #endif #ifdef HAVE_GETGID #include <unistd.h> #define bl_getgid getgid #else #define bl_getgid __bl_getgid gid_t __bl_getgid(void); #endif /* XXX vt_pty_unix.c which uses bl_killpg() has already included it. */ /* #include <signal.h> */ #ifdef HAVE_KILLPG #define bl_killpg(pid, sig) killpg(pid, sig) #else #define bl_killpg(pid, sig) kill(-pid, sig) #endif #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_conf_io.c���������������������������������������������������������������0100644�0001760�0000144�00000012460�13210547312�0016152�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_conf_io.h" #include <stdio.h> /* sprintf */ #include <string.h> /* strlen */ #include <stdlib.h> /* getenv */ #ifndef USE_WIN32API #include <sys/stat.h> #endif #include "bl_str.h" /* bl_str_sep/bl_str_chop_spaces */ #include "bl_mem.h" /* malloc */ #include "bl_path.h" #include "bl_debug.h" /* --- static variables --- */ static const char *sysconfdir; /* --- global functions --- */ int bl_set_sys_conf_dir(const char *dir) { sysconfdir = dir; return 1; } char *bl_get_sys_rc_path(const char *rcfile) { char *rcpath; if (sysconfdir == NULL) { return NULL; } if ((rcpath = malloc(strlen(sysconfdir) + 1 + strlen(rcfile) + 1)) == NULL) { return NULL; } #ifdef USE_WIN32API sprintf(rcpath, "%s\\%s", sysconfdir, rcfile); #else sprintf(rcpath, "%s/%s", sysconfdir, rcfile); #endif return rcpath; } char *bl_get_user_rc_path(const char *rcfile) { char *homedir; char *dotrcpath; #ifdef DEBUG if ((homedir = getenv("CONF_DIR"))) { bl_msg_printf("using %s as an user config dir.\n", homedir); /* conf path is overridden */; } else #endif if ((homedir = bl_get_home_dir()) == NULL) { return NULL; } #ifdef USE_WIN32API /* Enough for "%s\%s" */ if ((dotrcpath = malloc(strlen(homedir) + 1 + strlen(rcfile) + 1))) { /* subdir doesn't contain "." in win32 native. */ sprintf(dotrcpath, "%s\\%s", homedir, rcfile); } #else /* Enough for "%s/.config/%s" */ if ((dotrcpath = malloc(strlen(homedir) + 9 + strlen(rcfile) + 1))) { struct stat st; char *p; sprintf(dotrcpath, "%s/.config/%s", homedir, rcfile); p = strrchr(dotrcpath, '/'); if (p > dotrcpath + strlen(homedir) + 8) { *p = '\0'; if (stat(dotrcpath, &st) == 0) { *p = '/'; /* ~/.config/mlterm exists. */ goto end; } } sprintf(dotrcpath, "%s/.%s", homedir, rcfile); } end: #endif return dotrcpath; } bl_conf_write_t *bl_conf_write_open(char *name /* can break in this function. */ ) { bl_conf_write_t *conf; bl_file_t *from; if ((conf = malloc(sizeof(bl_conf_write_t))) == NULL) { return conf; } if ((conf->lines = malloc(sizeof(char *) * 128)) == NULL) { free(conf); return NULL; } conf->num = 0; conf->scale = 1; from = bl_file_open(name, "r"); if (from) { while (1) { char *line; size_t len; if (conf->num >= conf->scale * 128) { void *p; if ((p = realloc(conf->lines, sizeof(char *) * 128 * (++conf->scale))) == NULL) { goto error; } conf->lines = p; } if ((line = bl_file_get_line(from, &len)) == NULL) { break; } line[len - 1] = '\0'; conf->lines[conf->num++] = strdup(line); } bl_file_close(from); } if ((conf->to = bl_fopen_with_mkdir(name, "w")) == NULL) { goto error; } bl_file_lock(fileno(conf->to)); return conf; error : { int count; for (count = 0; count < conf->num; count++) { free(conf->lines[count]); } } free(conf->lines); free(conf); return NULL; } int bl_conf_io_write(bl_conf_write_t *conf, const char *key, const char *val) { int count; char *p; if (key == NULL) { return 0; } if (val == NULL) { val = "\0"; } for (count = 0; count < conf->num; count++) { if (*conf->lines[count] == '#') { continue; } p = conf->lines[count]; while (*p == ' ' || *p == '\t') { p++; } if (strncmp(p, key, strlen(key)) != 0) { continue; } if ((p = malloc(strlen(key) + strlen(val) + 4)) == NULL) { continue; } sprintf(p, "%s = %s", key, val); free(conf->lines[count]); conf->lines[count] = p; return 1; } if (conf->num + 1 >= conf->scale * 128) { void *p; if ((p = realloc(conf->lines, sizeof(char *) * 128 * (++conf->scale))) == NULL) { return 0; } conf->lines = p; } if ((p = malloc(strlen(key) + strlen(val) + 4)) == NULL) { return 0; } sprintf(p, "%s = %s", key, val); conf->lines[conf->num++] = p; return 1; } int bl_conf_write_close(bl_conf_write_t *conf) { int count; for (count = 0; count < conf->num; count++) { fprintf(conf->to, "%s\n", conf->lines[count]); free(conf->lines[count]); } bl_file_unlock(fileno(conf->to)); fclose(conf->to); free(conf->lines); free(conf); return 1; } int bl_conf_io_read(bl_file_t *from, char **key, char **val) { char *line; size_t len; while (1) { if ((line = bl_file_get_line(from, &len)) == NULL) { return 0; } if (*line == '#' || *line == '\n') { /* comment out or empty line. */ continue; } line[len - 1] = '\0'; /* * finding key */ while (*line == ' ' || *line == '\t') { line++; } if ((*key = bl_str_sep(&line, "=")) == NULL || line == NULL) { /* not a conf line */ continue; } *key = bl_str_chop_spaces(*key); /* * finding value */ while (*line == ' ' || *line == '\t') { line++; } *val = bl_str_chop_spaces(line); /* Remove #comment after key=value. */ if ((line = strrchr(line, '#')) && (*(--line) == ' ' || *line == '\t')) { *line = '\0'; *val = bl_str_chop_spaces(*val); } return 1; } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_mem.h�������������������������������������������������������������������0100644�0001760�0000144�00000005136�13210547312�0015323�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_MEM_H__ #define __BL_MEM_H__ #include <stdlib.h> #include "bl_types.h" /* size_t */ #include "bl_def.h" #if defined(BL_DEBUG) #define malloc(size) bl_mem_malloc(size, __FILE__, __LINE__, __FUNCTION__) #define calloc(number, size) bl_mem_calloc(number, size, __FILE__, __LINE__, __FUNCTION__) #define realloc(ptr, size) bl_mem_realloc(ptr, size, __FILE__, __LINE__, __FUNCTION__) #define free(ptr) bl_mem_free(ptr, __FILE__, __LINE__, __FUNCTION__) #elif !defined(CALLOC_CHECK_OVERFLOW) /* * In some environment (where CALLOC_CHECK_OVERFLOW is not defined by configure * script), * calloc doesn't check if number*size is over sizeof(size_t). */ #define calloc(number, size) bl_mem_calloc(number, size, NULL, 0, NULL) #endif void *bl_mem_malloc(size_t size, const char *file, int line, const char *func); void *bl_mem_calloc(size_t number, size_t size, const char *file, int line, const char *func); void *bl_mem_realloc(void *ptr, size_t size, const char *file, int line, const char *func); void bl_mem_remove(void *ptr, const char *file, int line, const char *func); void bl_mem_free(void *ptr, const char *file, int line, const char *func); #ifdef BL_DEBUG void bl_mem_dump_all(void); int bl_mem_free_all(void); #else #define bl_mem_free_all() #endif #ifndef HAVE_ALLOCA #undef alloca #ifdef BL_DEBUG #include <string.h> /* memset */ #define alloca(size) memset(bl_alloca(size), 0xff, size) #else #define alloca(size) bl_alloca(size) #endif void *bl_alloca(size_t size); int bl_alloca_begin_stack_frame(void); int bl_alloca_end_stack_frame(void); int bl_alloca_garbage_collect(void); #else /* HAVE_ALLOCA */ #define bl_alloca_begin_stack_frame() 1 #define bl_alloca_end_stack_frame() 1 #define bl_alloca_garbage_collect() 1 /* If glib/galloca.h has been already included, following hack is disabled. */ #ifndef __G_ALLOCA_H__ /* AIX requires this to be the first thing in the file. */ #ifndef __GNUC__ #ifdef HAVE_ALLOCA_H #include <alloca.h> #else /* HAVE_ALLOCA_H */ #ifdef _AIX #pragma alloca #else /* _AIX */ /* predefined by HP cc +Olibcalls */ #ifndef alloca char *alloca(); #endif #endif /* _AIX */ #endif /* HAVE_ALLOCA_H */ #else /* __GNUC__ */ #ifdef BL_DEBUG /* This debug hack can be available in GNUC alone. */ #undef alloca #include <string.h> /* memset */ #define alloca(size) memset(alloca(size), 0xff, size) #else /* BL_DEBUG */ #ifdef HAVE_ALLOCA_H #include <alloca.h> #endif /* HAVE_ALLOCA_H */ #endif /* BL_DEBUG */ #endif /* __GNUC__ */ #endif /* __G_ALLOCA_H__ */ #endif /* HAVE_ALLOCA */ #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_pty.h�������������������������������������������������������������������0100644�0001760�0000144�00000000443�13210547312�0015355�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_PTY_H__ #define __BL_PTY_H__ #include "bl_types.h" /* pid_t */ pid_t bl_pty_fork(int *master, int *slave); int bl_pty_close(int master); void bl_pty_helper_set_flag(int lastlog, int utmp, int wtmp); #endif �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_debug.h�����������������������������������������������������������������0100644�0001760�0000144�00000002056�13210547312�0015631�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_DEBUG_H__ #define __BL_DEBUG_H__ #include "bl_def.h" #include "bl_util.h" /* BL_INT_TO_STR */ /* for bl_{debug|warn}_printf */ #if 0 #ifdef CONCATABLE_FUNCTION #define BL_DEBUG_TAG "[" __FUNCTION__ "()]" #else #define BL_DEBUG_TAG "[" __FILE__ "]" #endif #else #define BL_DEBUG_TAG "[" __FILE__ ":" BL_INT_TO_STR(__LINE__) "]" #endif #ifdef BL_DEBUG #define BL_TESTIT(func, args) TEST_##func args #define BL_TESTIT_ONCE(func, args) \ { \ static int func##_tested; \ if (!func##_tested) { \ func##_tested = 1; \ TEST_##func args; \ } \ } #else #define BL_TESTIT(func, args) #define BL_TESTIT_ONCE(func, args) #endif int bl_debug_printf(const char *format, ...); int bl_warn_printf(const char *format, ...); int bl_error_printf(const char *format, ...); int bl_msg_printf(const char *format, ...); int bl_set_msg_log_file_name(const char *name); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_def.h�������������������������������������������������������������������0100644�0001760�0000144�00000001220�13210547312�0015271�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_DEF_H__ #define __BL_DEF_H__ #include <limits.h> /* PATH_MAX,SIZE_MAX */ /* various AC_DEFINEs are defined in bl_config.h */ #include "bl_config.h" #ifndef PATH_MAX #ifndef _POSIX_PATH_MAX #define _POSIX_PATH_MAX 255 #endif #define PATH_MAX _POSIX_PATH_MAX #endif #ifndef SIZE_MAX #ifdef SIZE_T_MAX #define SIZE_MAX SIZE_T_MAX #else #define SIZE_MAX ((size_t)-1) #endif #endif #ifndef SSIZE_MAX #define(SIZE_MAX / 2) #endif #if 0 /* Check integer overflow. Use this with malloc or alloca. */ #define _X(a, b) ((a) > SIZE_MAX / (b) ? SIZE_MAX : (a) * (b)) #endif #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_file.c������������������������������������������������������������������0100644�0001760�0000144�00000011274�13210547312�0015457�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_file.h" #include <fcntl.h> /* fcntl() */ #include <sys/file.h> /* flock() */ #include <string.h> /* memcpy */ #include <errno.h> #include <sys/stat.h> /* stat */ #include "bl_def.h" /* HAVE_FGETLN */ #include "bl_mem.h" /* malloc */ #include "bl_str.h" /* bl_str_alloca_dup */ #include "bl_debug.h" #define BUF_UNIT_SIZE 512 /* --- global functions --- */ bl_file_t *bl_file_new(FILE* fp) { bl_file_t *file; if ((file = malloc(sizeof(bl_file_t))) == NULL) { return NULL; } file->file = fp; file->buffer = NULL; file->buf_size = 0; return file; } int bl_file_delete(bl_file_t *file) { /* not fclose(file->fp) */ free(file->buffer); free(file); return 1; } bl_file_t *bl_file_open(const char *file_path, const char *mode) { FILE* fp; if ((fp = fopen(file_path, mode)) == NULL) { return NULL; } return bl_file_new(fp); } int bl_file_close(bl_file_t *file) { int result; if (fclose(file->file) == 0) { result = 1; } else { result = 0; } result |= bl_file_delete(file); return result; } FILE* bl_fopen_with_mkdir(const char *file_path, const char *mode) { FILE* fp; char *p; if ((fp = fopen(file_path, mode))) { return fp; } if ((p = bl_str_alloca_dup(file_path)) == NULL || !bl_mkdir_for_file(p, 0700)) { return NULL; } return fopen(file_path, mode); } #ifdef HAVE_FGETLN /* * This is a wrapper function of fgetln(). * If 'from' file doesn't end with '\n', '\0' is automatically appended to the * end of file. */ char *bl_file_get_line(bl_file_t *from, size_t *len) { char *line; if ((line = fgetln(from->file, len)) == NULL) { return NULL; } if (line[*len - 1] != '\n') { if ((from->buffer = realloc(from->buffer, *len + 1)) == NULL) { return NULL; } memcpy(from->buffer, line, *len); from->buffer[*len] = '\0'; from->buf_size = ++(*len); } return line; } #else /* * This behaves like fgetln(). * * This returns the pointer to the beginning of line , and it becomes invalid * after the next bl_file_get_line() (whether successful or not) or as soon as * bl_file_close() is executed. * If 'from' file doesn't end with '\n', '\0' is automatically appended to the *end of file. */ char *bl_file_get_line(bl_file_t *from, size_t *len) { size_t filled; int c; filled = 0; if ((c = fgetc(from->file)) < 0) { return NULL; } while (1) { if (filled == from->buf_size) { from->buf_size += BUF_UNIT_SIZE; from->buffer = realloc(from->buffer, from->buf_size); } if (c < 0) { from->buffer[filled++] = '\0'; break; } else { from->buffer[filled++] = c; if (c == '\n') { break; } } c = fgetc(from->file); } *len = filled; return from->buffer; } #endif #if defined(HAVE_FLOCK) && defined(LOCK_EX) && defined(LOCK_UN) int bl_file_lock(int fd) { if (flock(fd, LOCK_EX) == -1) { return 0; } else { return 1; } } int bl_file_unlock(int fd) { if (flock(fd, LOCK_UN) == -1) { return 0; } else { return 1; } } #else int bl_file_lock(int fd) { return 0; } int bl_file_unlock(int fd) { return 0; } #endif #ifdef F_GETFD int bl_file_set_cloexec(int fd) { int old_flags; old_flags = fcntl(fd, F_GETFD); if (old_flags == -1) { return 0; } if (!(old_flags & FD_CLOEXEC) && (fcntl(fd, F_SETFD, old_flags | FD_CLOEXEC) == -1)) { return 0; } return 1; } int bl_file_unset_cloexec(int fd) { int old_flags; old_flags = fcntl(fd, F_GETFD); if (old_flags == -1) { return 0; } if ((old_flags & FD_CLOEXEC) && (fcntl(fd, F_SETFD, old_flags & (~FD_CLOEXEC)) == -1)) { return 0; } return 1; } #else /* F_GETFD */ int bl_file_set_cloexec(int fd) { /* do nothing */ return 0; } int bl_file_unset_cloexec(int fd) { /* do nothing */ return 0; } #endif /* * /a/b/c => mkdir /a ; mkdir /a/b * /a/b/c/ => mkdir /a ; mkdir /a/b ; mkdir /a/b/c * /a => do nothing */ int bl_mkdir_for_file(char *file_path, /* Not const. Don't specify read only data. */ mode_t dir_mode) { char *p; p = file_path + 1; while (*p) { if (*p == '/' #ifdef USE_WIN32API || *p == '\\' #endif ) { struct stat s; char c; c = *p; /* save */ *p = '\0'; if (stat(file_path, &s) != 0) { if (errno == ENOENT && #ifdef USE_WIN32API mkdir(file_path) != 0 #else mkdir(file_path, dir_mode) != 0 #endif ) { bl_msg_printf("Failed to mkdir %s\n", file_path); *p = c; /* restore */ return 0; } } *p = c; /* restore */ } p++; } return 1; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_privilege.c�������������������������������������������������������������0100644�0001760�0000144�00000003131�13210547312�0016517�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_privilege.h" #include <unistd.h> /* getuid/getgid */ #include "bl_def.h" /* --- static variables --- */ #if defined(HAVE_SETEUID) && defined(HAVE_GETEUID) static int euid_is_changed; static uid_t saved_euid; static int egid_is_changed; static gid_t saved_egid; #endif /* --- global functions --- */ #if defined(HAVE_SETEUID) && defined(HAVE_GETEUID) int bl_priv_change_euid(uid_t uid) { if (euid_is_changed) { /* pretending to succeed */ return 1; } saved_euid = geteuid(); if (seteuid(uid) == 0) { euid_is_changed = 1; return 1; } else { return 0; } } int bl_priv_restore_euid(void) { if (!euid_is_changed) { /* pretending to succeed */ return 1; } if (seteuid(saved_euid) == 0) { euid_is_changed = 0; return 1; } else { return 0; } } #else int bl_priv_change_euid(uid_t uid) { return 0; } int bl_priv_restore_euid(void) { return 0; } #endif #if defined(HAVE_SETEUID) && defined(HAVE_SETEGID) int bl_priv_change_egid(uid_t gid) { if (egid_is_changed) { /* pretending to succeed */ return 1; } saved_egid = getegid(); if (setegid(gid) == 0) { egid_is_changed = 1; return 1; } else { return 0; } } int bl_priv_restore_egid(void) { if (!egid_is_changed) { /* pretending to succeed */ return 1; } if (setegid(saved_egid) == 0) { egid_is_changed = 0; return 1; } else { return 0; } } #else int bl_priv_change_egid(gid_t gid) { return 0; } int bl_priv_restore_egid(void) { return 0; } #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_cycle_index.c�����������������������������������������������������������0100644�0001760�0000144�00000004424�13210547312�0017025�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_cycle_index.h" #include "bl_mem.h" #include "bl_debug.h" /* --- global functions --- */ bl_cycle_index_t *bl_cycle_index_new(u_int size) { bl_cycle_index_t *cycle; if (size == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " the size of cycle index should be greater than 0.\n"); #endif return NULL; } if ((cycle = malloc(sizeof(bl_cycle_index_t))) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc() failed.\n"); #endif return NULL; } cycle->size = size; cycle->start = 0; cycle->next = 0; cycle->is_init = 1; return cycle; } int bl_cycle_index_delete(bl_cycle_index_t *cycle) { free(cycle); return 1; } int bl_cycle_index_reset(bl_cycle_index_t *cycle) { cycle->start = 0; cycle->next = 0; cycle->is_init = 1; return 1; } /* * !! Notice !! * this resets the "start" member 0. */ int bl_cycle_index_change_size(bl_cycle_index_t *cycle, u_int new_size) { u_int filled; if ((filled = bl_get_filled_cycle_index(cycle)) == 0) { cycle->size = new_size; return bl_cycle_index_reset(cycle); } cycle->size = new_size; cycle->start = 0; if (filled >= new_size) { cycle->next = 0; } else { cycle->next = filled; } return 1; } u_int bl_get_cycle_index_size(bl_cycle_index_t *cycle) { return cycle->size; } u_int bl_get_filled_cycle_index(bl_cycle_index_t *cycle) { if (cycle->is_init) { return 0; } else if (cycle->next > cycle->start) { return cycle->next - cycle->start; } else { return cycle->size; } } int bl_cycle_index_of(bl_cycle_index_t *cycle, int at) { if (cycle->start + at >= cycle->size) { if (cycle->start + at - cycle->size >= cycle->size) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " index(%d) is strange.\n", at); #endif return -1; } else { return cycle->start + at - cycle->size; } } else { return cycle->start + at; } } int bl_next_cycle_index(bl_cycle_index_t *cycle) { int next; if (cycle->is_init) { cycle->is_init = 0; } else if (cycle->next == cycle->start) { if (++cycle->start == cycle->size) { cycle->start = 0; } } next = cycle->next; if (++cycle->next == cycle->size) { cycle->next = 0; } return next; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/Makefile.in����������������������������������������������������������������0100644�0001760�0000144�00000004733�13210547312�0015766�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ bindir = @bindir@ libexecdir = @libexecdir@ LIBDIR = $(DESTDIR)$(libdir) INCDIR = $(DESTDIR)$(prefix)/include VPATH = $(top_srcdir)/src INCDIR_TMP = $(top_builddir)/include CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ CFLAGS = $(CFLAGS_LOCAL) @DEB_CFLAGS@ @CFLAGS@ @CPPFLAGS@ @DL_CFLAGS@ @UTMP_CFLAGS@ \ -DLIBEXECDIR=\"${libexecdir}\" -DBINDIR=\"${bindir}\" LIBS = $(LIBS_LOCAL) @XPG4_LIBS@ @DL_LIBS@ @UTMP_LIBS@ COMOBJ = bl_debug.o bl_map.o bl_args.o bl_mem.o bl_conf.o bl_file.o bl_path.o \ bl_conf_io.o bl_str.o bl_cycle_index.o bl_langinfo.o bl_time.o bl_locale.o \ bl_privilege.o bl_unistd.o bl_sig_child.o bl_dialog.o bl_dlfcn.o DEPOBJ = bl_pty_@PTY_NAME@.o bl_utmp_@UTMP_NAME@.o bl_dlfcn_@DL_LOADER@.o OBJ = $(COMOBJ) $(DEPOBJ) INC = $(COMOBJ:.o=.h) bl_slist.h bl_types.h bl_util.h bl_def.h bl_net.h bl_pty.h bl_utmp.h bl_dlfcn.h LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) $(LIBS) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) LIBNAME=libpobl LIBNAME_DEB=libpobl_deb MAJOR = 1 MINOR = 0 SUBDIRS = config util io collection sys i18n all : $(LIBNAME).la collect-headers debug : $(MAKE) LIBNAME=$(LIBNAME_DEB) $(LIBNAME_DEB).a install : install-inc install-la install-inc : $(INCDIR)/pobl cp $(INCDIR_TMP)/pobl/*.h $(INCDIR)/pobl install-la : $(LIBDIR) $(LIBTOOL_INSTALL) $(LIBNAME).la $(LIBDIR) install-ar : $(LIBDIR) $(LIBTOOL_INSTALL) $(LIBNAME).a $(LIBDIR) install-deb : $(MAKE) LIBNAME=$(LIBNAME_DEB) $(OVERRIDE_MACROS) install-ar uninstall: rm -rf $(LIBDIR)/*pobl.* $(INCDIR)/pobl $(INCDIR)/pobl : mkdir -p $(INCDIR)/pobl $(LIBDIR) : mkdir -p $(LIBDIR) $(INCDIR_TMP)/pobl : mkdir -p $(INCDIR_TMP)/pobl collect-headers: $(INCDIR_TMP)/pobl $(INC) bl_config.h for file in $(INC) ; do \ if test -f $${file} ; \ then cp $${file} $(INCDIR_TMP)/pobl ; \ else cp $(top_srcdir)/src/$${file} $(INCDIR_TMP)/pobl ; \ fi \ done cp bl_config.h $(INCDIR_TMP)/pobl touch collect-headers wc : find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l .SUFFIXES: .c.o .c.o: $(LIBTOOL_CC) -I. -c $< $(LIBNAME).la : $(OBJ) $(LIBTOOL_LINK) -o $(LIBNAME).la $(OBJ:.o=.lo) -rpath $(libdir) \ @NO_UNDEFINED_FLAG@ -version-info $(MAJOR):$(MINOR):0 $(LIBNAME).a : $(OBJ) $(LIBTOOL_LINK) -o $(LIBNAME).a $(OBJ) clean : rm -rf $(INCDIR_TMP) .libs $(OBJ) $(OBJ:.o=.lo) *.la *.a collect-headers �������������������������������������mlterm-3.8.4/baselib/src/bl_config.h.in�������������������������������������������������������������0100644�0001760�0000144�00000003272�13210547312�0016416�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * Don't include directly this header. * Include bl_def.h (which wraps POSIX and bl_config.h macros) or bl_types.h * (which wraps POSIX and bl_config.h types). */ #ifndef __BL_CONFIG_H__ #define __BL_CONFIG_H__ #undef HAVE_GNU_SOURCE #undef HAVE_LANGINFO_H #undef HAVE_DL_H #undef HAVE_DLFCN_H #undef HAVE_WINDOWS_H #undef HAVE_ERRNO_H #undef WORDS_BIGENDIAN #undef HAVE_STRSEP #undef HAVE_FGETLN #undef HAVE_BASENAME #undef HAVE_ALLOCA #undef HAVE_ALLOCA_H #undef HAVE_STROPTS_H #undef HAVE_SYS_STROPTS_H #undef HAVE_ISASTREAM #undef HAVE_SETUTENT #undef HAVE_SETEUID #undef HAVE_SETEGID #undef HAVE_GETEUID #undef HAVE_SETSID #undef HAVE_GETUID #undef HAVE_GETGID #undef HAVE_RECVMSG #undef HAVE_SETPGID #undef HAVE_SOCKETPAIR #undef HAVE_SNPRINTF #undef CONCATABLE_FUNCTION #undef DLFCN_NONE #undef HAVE_USLEEP #undef HAVE_SETENV #undef HAVE_UNSETENV #undef HAVE_FLOCK #undef HAVE_KILLPG #undef HAVE_POSIX_OPENPT #undef HAVE_GETTIMEOFDAY #undef USE_WIN32API #undef HAVE_STDINT_H #undef REMOVE_FUNCS_MLTERM_UNUSE #undef CALLOC_CHECK_OVERFLOW #undef inline #undef const #if defined(USE_WIN32API) && !defined(_BSDTYPES_DEFINED) /* XXX winsock2.h typedefs u_char, u_short, u_int if _BSDTYPES_DEFINED is * undefined. */ #define _BSDTYPES_DEFINED #endif #undef u_char #undef u_short #undef u_int #undef u_long #undef u_int8_t #undef u_int8_t #undef u_int16_t #undef u_int32_t #undef u_int64_t #undef int8_t #undef int8_t #undef int16_t #undef int32_t #undef int64_t #undef ssize_t #undef socklen_t #undef mode_t #undef pid_t #undef uid_t #undef gid_t #undef off_t #undef size_t #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn_none.c������������������������������������������������������������0100644�0001760�0000144�00000001010�13210547312�0016630�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdio.h> /* NULL */ #include <string.h> /* strlen */ #include "bl_mem.h" /* alloca() */ /* --- global functions --- */ /* * dummy codes */ bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name) { return NULL; } int bl_dl_close(bl_dl_handle_t handle) { return 0; } void *bl_dl_func_symbol(bl_dl_handle_t handle, const char *symbol) { return NULL; } int bl_dl_is_module(const char *name) { return 0; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_utmp.h������������������������������������������������������������������0100644�0001760�0000144�00000000407�13210547312�0015526�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_UTMP_H__ #define __BL_UTMP_H__ typedef struct bl_utmp *bl_utmp_t; bl_utmp_t bl_utmp_new(const char *tty, const char *host, int pty_fd); int bl_utmp_delete(bl_utmp_t utmp); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_file.h������������������������������������������������������������������0100644�0001760�0000144�00000001351�13210547312�0015457�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_FILE_H__ #define __BL_FILE_H__ #include <stdio.h> #include "bl_types.h" /* size_t */ typedef struct bl_file { FILE* file; char *buffer; size_t buf_size; } bl_file_t; bl_file_t *bl_file_new(FILE* fp); int bl_file_delete(bl_file_t *file); bl_file_t *bl_file_open(const char *file_path, const char *mode); int bl_file_close(bl_file_t *file); FILE* bl_fopen_with_mkdir(const char *file_path, const char *mode); char *bl_file_get_line(bl_file_t *from, size_t *len); int bl_file_lock(int fd); int bl_file_unlock(int fd); int bl_file_set_cloexec(int fd); int bl_file_unset_cloexec(int fd); int bl_mkdir_for_file(char *file_path, mode_t mode); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_map.h�������������������������������������������������������������������0100644�0001760�0000144�00000055305�13210547312�0015325�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_MAP_H__ #define __BL_MAP_H__ #include <string.h> /* memset */ #include "bl_types.h" /* size_t */ #include "bl_debug.h" #include "bl_mem.h" #define DEFAULT_MAP_SIZE 16 #define MAP_MARGIN_SIZE 2 #define BL_PAIR(name) __##name##_pair_t #define BL_PAIR_TYPEDEF(name, key_type, val_type) \ typedef struct __##name##_pair { \ int is_filled; \ key_type key; \ val_type value; \ \ } * __##name##_pair_t #define BL_MAP(name) __##name##_map_t #define BL_MAP_TYPEDEF(name, key_type, val_type) \ BL_PAIR_TYPEDEF(name, key_type, val_type); \ typedef struct __##name##_map { \ BL_PAIR(name) pairs; \ BL_PAIR(name) * pairs_array; \ u_int map_size; \ u_int filled_size; \ int (*hash_func)(key_type, u_int); \ int (*compare_func)(key_type, key_type); \ \ } * __##name##_map_t #define bl_map_new_with_size(key_type, val_type, map, __hash_func, __compare_func, size) \ { \ if ((map = malloc(sizeof(*(map)))) == NULL || \ ((map)->pairs = calloc(size, sizeof(*(map)->pairs))) == NULL) { \ bl_error_printf("malloc() failed in bl_map_new().\n"); \ abort(); \ } \ \ (map)->pairs_array = NULL; \ (map)->map_size = size; \ (map)->filled_size = 0; \ if (__hash_func == bl_map_hash_int) { \ if (size & (size - 1)) { \ (map)->hash_func = bl_map_hash_int; \ } else { \ /* new_size == 2^n */ \ (map)->hash_func = bl_map_hash_int_fast; \ } \ } else { \ (map)->hash_func = __hash_func; \ } \ (map)->compare_func = __compare_func; \ } #define bl_map_new(key_type, val_type, map, __hash_func, __compare_func) \ bl_map_new_with_size(key_type, val_type, map, __hash_func, __compare_func, DEFAULT_MAP_SIZE) /* * the deletion of pair->key/pair->value should be done by users of bl_map. */ #define bl_map_delete(map) \ { \ free((map)->pairs); \ free((map)->pairs_array); \ free(map); \ } #define bl_map_get(map, __key, __pair_p) \ { \ u_int filled_size; \ \ __pair_p = NULL; \ \ if ((filled_size = (map)->filled_size) > 0) { \ int __hash_key; \ \ __hash_key = (*(map)->hash_func)(__key, (map)->map_size); \ do { \ if ((map)->pairs[__hash_key].is_filled) { \ if ((*(map)->compare_func)(__key, (map)->pairs[__hash_key].key)) { \ __pair_p = &(map)->pairs[__hash_key]; \ \ break; \ } \ \ filled_size--; \ } \ \ __hash_key = bl_map_rehash(__hash_key, (map)->map_size); \ } while (filled_size > 0); \ } \ \ if (0 && __pair_p) { \ printf("Found key in %d times\n", (map)->filled_size - filled_size + 1); \ } \ } #if 0 #define bl_map_dump_size(map_size, new_size) \ bl_debug_printf("reallocating map size from %d to %d.\n", map_size, new_size) #else #define bl_map_dump_size(map_size, new_size) #endif #define bl_map_set(result, map, __key, __value) \ { \ int __hash_key; \ u_int __count; \ \ result = 0; \ \ if ((map)->map_size == (map)->filled_size + MAP_MARGIN_SIZE) { \ /* \ * Expanding map by DEFAULT_MAP_SIZE \ */ \ \ u_int __new_size; \ void* __new; \ \ __new_size = (map)->map_size + DEFAULT_MAP_SIZE; \ \ bl_map_dump_size((map)->map_size, __new_size); \ \ if ((__new = calloc(__new_size, sizeof(*(map)->pairs)))) { \ void* __old; \ \ __old = (map)->pairs; \ \ if ((map)->hash_func == bl_map_hash_int || (map)->hash_func == bl_map_hash_int_fast) { \ if (__new_size & (__new_size - 1)) { \ (map)->hash_func = bl_map_hash_int; \ } else { \ /* __new_size == 2^n */ \ (map)->hash_func = bl_map_hash_int_fast; \ } \ } \ \ /* reconstruct (map)->pairs since map_size is changed. */ \ for (__count = 0; __count < (map)->map_size; __count++) { \ if ((map)->pairs[__count].is_filled) { \ void *dst; \ \ __hash_key = (*(map)->hash_func)((map)->pairs[__count].key, __new_size); \ \ (map)->pairs = __new; \ while ((map)->pairs[__hash_key].is_filled) { \ __hash_key = bl_map_rehash(__hash_key, __new_size); \ } \ \ dst = &(map)->pairs[__hash_key]; \ (map)->pairs = __old; \ memcpy(dst, &(map)->pairs[__count], sizeof(*(map)->pairs)); \ } \ } \ \ free(__old); \ (map)->pairs = __new; \ (map)->map_size = __new_size; \ } \ } \ \ __hash_key = (*(map)->hash_func)(__key, (map)->map_size); \ for (__count = 0; __count < (map)->map_size; __count++) { \ if (!(map)->pairs[__hash_key].is_filled) { \ (map)->pairs[__hash_key].key = __key; \ (map)->pairs[__hash_key].value = __value; \ (map)->pairs[__hash_key].is_filled = 1; \ (map)->filled_size++; \ \ free((map)->pairs_array); \ (map)->pairs_array = NULL; \ \ result = 1; \ \ break; \ } \ \ __hash_key = bl_map_rehash(__hash_key, (map)->map_size); \ } \ } #define __bl_map_erase_simple(result, map, __key) \ int __hash_key; \ u_int __count; \ \ result = 0; \ \ __hash_key = (*(map)->hash_func)(__key, (map)->map_size); \ for (__count = 0; __count < (map)->map_size; __count++) { \ if ((map)->pairs[__hash_key].is_filled && \ (*(map)->compare_func)(__key, (map)->pairs[__hash_key].key)) { \ (map)->pairs[__hash_key].is_filled = 0; \ (map)->filled_size--; \ \ free((map)->pairs_array); \ (map)->pairs_array = NULL; \ \ result = 1; \ \ break; \ } \ \ __hash_key = bl_map_rehash(__hash_key, (map)->map_size); \ } /* * Not shrink map. */ #define bl_map_erase_simple(result, map, __key) \ { __bl_map_erase_simple(result, map, __key); } /* * Shrink map. */ #define bl_map_erase(result, map, __key) \ { \ __bl_map_erase_simple(result, map, __key); \ \ /* \ * __hash_key and __count are declared in __bl_map_erase_simple(). \ */ \ \ if (result == 1 && /* \ * if (map)->filled_size is (DEFAULT_MAP_SIZE * 2) \ * smaller than the map size , \ * the map size is (DEFAULT_MAP_SIZE) shrinked. \ * the difference(DEFAULT_MAP_SIZE) is buffered to \ * reduce calling realloc(). \ */ \ (map)->filled_size + (DEFAULT_MAP_SIZE * 2) < (map)->map_size) { \ /* \ * shrinking map by DEFAULT_MAP_SIZE \ */ \ \ u_int __new_size; \ void* __old; \ void* __new; \ u_int __count; \ \ __new_size = (map)->map_size - DEFAULT_MAP_SIZE; \ \ bl_map_dump_size((map)->map_size, __new_size); \ \ if ((__new = calloc(__new_size, sizeof(*(map)->pairs)))) { \ __old = (map)->pairs; \ \ if ((map)->hash_func == bl_map_hash_int || (map)->hash_func == bl_map_hash_int_fast) { \ if (__new_size & (__new_size - 1)) { \ (map)->hash_func = bl_map_hash_int; \ } else { \ /* __new_size == 2^n */ \ (map)->hash_func = bl_map_hash_int_fast; \ } \ } \ \ /* reconstruct (map)->pairs since map_size is changed. */ \ for (__count = 0; __count < (map)->map_size; __count++) { \ if ((map)->pairs[__count].is_filled) { \ void *dst; \ \ __hash_key = (*(map)->hash_func)((map)->pairs[__count].key, __new_size); \ \ (map)->pairs = __new; \ while ((map)->pairs[__hash_key].is_filled) { \ __hash_key = bl_map_rehash(__hash_key, __new_size); \ } \ \ dst = &(map)->pairs[__hash_key]; \ (map)->pairs = __old; \ memcpy(dst, &(map)->pairs[__count], sizeof(*(map)->pairs)); \ } \ } \ \ free(__old); \ (map)->pairs = __new; \ (map)->map_size = __new_size; \ } \ } \ } #define bl_map_get_pairs_array(map, array, size) \ { \ size = (map)->filled_size; \ \ if ((array = (map)->pairs_array) == NULL) { \ if ((array = calloc(size, sizeof(void*))) == NULL) { \ size = 0; \ } else { \ int __array_count; \ u_int __count; \ \ __array_count = 0; \ for (__count = 0; __count < (map)->map_size; __count++) { \ if ((map)->pairs[__count].is_filled) { \ array[__array_count++] = &(map)->pairs[__count]; \ } \ } \ } \ \ (map)->pairs_array = array; \ } \ } int bl_map_rehash(int hash_key, u_int size); /* * preparing useful hash functions. */ int bl_map_hash_str(char *key, u_int size); int bl_map_hash_int(int key, u_int size); int bl_map_hash_int_fast(int key, u_int size); /* * preparing useful compare functions. */ int bl_map_compare_str(char *key1, char *key2); int bl_map_compare_str_nocase(char *key1, char *key2); int bl_map_compare_int(int key1, int key2); #endif ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_str.h�������������������������������������������������������������������0100644�0001760�0000144�00000002723�13210547312�0015354�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_STR_H__ #define __BL_STR_H__ #include <string.h> /* strlen/strsep/strdup */ #include "bl_types.h" /* size_t */ #include "bl_def.h" #include "bl_mem.h" /* alloca */ #ifdef HAVE_STRSEP #define bl_str_sep(strp, delim) strsep(strp, delim) #else #define bl_str_sep(strp, delim) __bl_str_sep(strp, delim) char* __bl_str_sep(char **strp, const char *delim); #endif /* * cpp doesn't necessarily process variable number of arguments. */ int bl_snprintf(char *str, size_t size, const char *format, ...); #ifdef BL_DEBUG #define strdup(str) bl_str_dup(str, __FILE__, __LINE__, __FUNCTION__) #endif char *bl_str_dup(const char *str, const char *file, int line, const char *func); #define bl_str_alloca_dup(src) __bl_str_copy(alloca(strlen(src) + 1), (src)) char* __bl_str_copy(char *dst, const char *src); size_t bl_str_tabify(u_char *dst, size_t dst_len, const u_char *src, size_t src_len, size_t tab_len); char *bl_str_chop_spaces(char *str); int bl_str_n_to_uint(u_int *i, const char *s, size_t n); int bl_str_n_to_int(int *i, const char *s, size_t n); int bl_str_to_uint(u_int *i, const char *s); int bl_str_to_int(int *i, const char *s); u_int bl_count_char_in_str(const char *str, char ch); int bl_compare_str(const char *str1, const char *str2); char *bl_str_replace(const char *str, const char *orig, const char *new); char *bl_str_unescape(const char *str); #endif ���������������������������������������������mlterm-3.8.4/baselib/src/bl_dlfcn_dyld.c������������������������������������������������������������0100644�0001760�0000144�00000007252�13210547312�0016643�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_dlfcn.h" #include <stdio.h> /* NULL */ #include <string.h> /* strlen */ #include "bl_mem.h" /* alloca() */ #include "bl_slist.h" #ifdef DEBUG #include "bl_debug.h" #endif #include <mach-o/dyld.h> typedef struct loaded_module { bl_dl_handle_t handle; char *dirpath; char *name; u_int ref_count; struct loaded_module *next; } loaded_module_t; /* --- static functions --- */ static loaded_module_t *module_list = NULL; /* --- global functions --- */ bl_dl_handle_t bl_dl_open(const char *dirpath, const char *name) { NSObjectFileImage file_image; NSObjectFileImageReturnCode ret; loaded_module_t *module; bl_dl_handle_t handle; char *path; module = module_list; while (module) { if (strcmp(module->dirpath, dirpath) == 0 && strcmp(module->name, name) == 0) { module->ref_count++; return module->handle; } module = bl_slist_next(module); } if (!(module = malloc(sizeof(loaded_module_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } module->dirpath = strdup(dirpath); module->name = strdup(name); module->ref_count = 0; if ((path = alloca(strlen(dirpath) + strlen(name) + 7)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return NULL; } /* * libfoo.so --> foo.so */ sprintf(path, "%slib%s.so", dirpath, name); if ((ret = NSCreateObjectFileImageFromFile(path, &file_image)) != NSObjectFileImageSuccess) { sprintf(path, "%s%s.so", dirpath, name); if ((ret = NSCreateObjectFileImageFromFile(path, &file_image)) != NSObjectFileImageSuccess) { goto error; } } handle = (bl_dl_handle_t)NSLinkModule(file_image, path, NSLINKMODULE_OPTION_BINDNOW); if (!handle) { goto error; } bl_slist_insert_head(module_list, module); module->handle = handle; module->ref_count++; return handle; error: if (module) { free(module->dirpath); free(module->name); free(module); } return NULL; } int bl_dl_close(bl_dl_handle_t handle) { loaded_module_t *module; if (!module_list) { return 1; } module = module_list; while (module) { if (module->handle == handle) { module->ref_count--; if (module->ref_count) { return 0; } break; } module = bl_slist_next(module); } if (NSUnLinkModule((NSModule)module->handle, NSUNLINKMODULE_OPTION_NONE) == 0) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " NSUnLinkModule() failed.\n"); #endif return 1; } bl_slist_remove(module_list, module); free(module->dirpath); free(module->name); free(module); return 0; } void *bl_dl_func_symbol(bl_dl_handle_t unused, const char *symbol) { NSSymbol nssymbol = NULL; char *symbol_name; if ((symbol_name = alloca(strlen(symbol) + 2)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca() failed.\n"); #endif return NULL; } sprintf(symbol_name, "_%s", symbol); if (!NSIsSymbolNameDefined(symbol_name)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " NSIsSymbolNameDefined() failed. [symbol_name: %s]\n", symbol_name); #endif return NULL; } if ((nssymbol = NSLookupAndBindSymbol(symbol_name)) == NULL) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " NSLookupAndBindSymbol() failed. [symbol_name: %s]\n", symbol_name); #endif return NULL; } return NSAddressOfSymbol(nssymbol); } int bl_dl_is_module(const char *name) { size_t len; if (!name) { return 0; } if ((len = strlen(name)) < 3) { return 0; } if (strcmp(&name[len - 3], ".so") == 0) { return 1; } return 0; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_args.h������������������������������������������������������������������0100644�0001760�0000144�00000001742�13210547312�0015500�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_ARGS_H__ #define __BL_ARGS_H__ #include "bl_mem.h" /* alloca */ #include "bl_str.h" /* bl_count_char_in_str */ #define bl_arg_str_to_array(argc, args) \ _bl_arg_str_to_array(/* \ * '\t' is not recognized as separator. \ * If you try to recognize '\t', don't forget to add \ * checking "-e\t" in \ * set_config("mlclient") in ui_screen.c. \ */ \ alloca(sizeof(char*) * (bl_count_char_in_str(args, ' ') + 2)), argc, args) int bl_parse_options(char **opt, char **opt_val, int *argc, char ***argv); char** _bl_arg_str_to_array(char **argv, int *argc, char *args); #endif ������������������������������mlterm-3.8.4/baselib/src/bl_time.c������������������������������������������������������������������0100644�0001760�0000144�00000014623�13210547312�0015477�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_time.h" #ifndef REMOVE_FUNCS_MLTERM_UNUSE #include <string.h> /* strncmp()/memset() */ #include <stdio.h> #include <ctype.h> /* isdigit() */ #include "bl_debug.h" #include "bl_mem.h" /* alloca() */ #if 0 #define __DEBUG #endif /* --- static variables --- */ static char *abbrev_wdays[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; static char *wdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; static char *abbrev_months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; static char *months[] = {"January", "Febrary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; /* --- static functions --- */ /* * XXX * this should be placed in bl_str. */ static int strntoi(const char *str, size_t size) { int i = 0; char *format = NULL; /* * size should be 4 digits , or 0 - 999 */ if (size < 0 || 999 < size) { return 0; } if ((format = alloca(4 + 2)) == NULL) { /* the same spec as atoi() */ return 0; } sprintf(format, "%%%dd", size); sscanf(str, format, &i); return i; } /* --- global functions --- */ /* * this function converts the string date represented by the following format to *time_t. * the format is described by the characters below. * * supported format. * %Y year 1900- * %m month 0-11 * %d mday 1-31 * %H hour 0-23 * %S second 0-61 * * If you want to do the opposition of this function , use strftime(). * * XXX * these format characters are conformed to str{p|f}time() format charcters and *are * extended in some points e.g.) the num of length can be inserted between '%' * and a format character. */ time_t bl_time_string_date_to_time_t(const char *format, const char *date) { struct tm tm_info; char *date_dup = NULL; char *date_p = NULL; const char *format_p = NULL; if ((date_dup = alloca(strlen(date) + 1)) == NULL) { return -1; } strcpy(date_dup, date); format_p = format; date_p = date_dup; /* * we set default value. */ memset(&tm_info, 0, sizeof(struct tm)); tm_info.tm_mday = 1; /* [1-31] */ tm_info.tm_wday = 0; /* ignored by mktime() */ tm_info.tm_yday = 0; /* ignored by mktime() */ tm_info.tm_isdst = -1; /* we dont presume summer time */ #if 0 tm_info.tm_gmtoff = 0; /* offset from UTC in seconds */ tm_info.tm_zone = "UTC"; #endif while (*format_p && *date_p) { if (*format_p == '%') { int size = 0; format_p++; if (!*format_p) { /* strange format. */ return -1; } else if (*format_p == '%') { if (*date_p != '%') { /* strange format. */ return -1; } format_p++; date_p++; continue; } if (isdigit(*format_p)) { size = strntoi(format_p, 1); format_p++; } else { size = 1; } if (*format_p == 'Y') { if (size != 4) { /* we don't support before 1900. */ return -1; } tm_info.tm_year = strntoi(date_p, size) - 1900; date_p += size; } else if (*format_p == 'm') { if (size != 1 && size != 2) { return -1; } tm_info.tm_mon = strntoi(date_p, size) - 1; date_p += size; #ifdef __DEBUG bl_debug_printf("mon %d\n", tm_info.tm_mon); #endif } else if (*format_p == 'd') { if (size != 1 && size != 2) { return -1; } tm_info.tm_mday = strntoi(date_p, size); date_p += size; #ifdef __DEBUG bl_debug_printf("day %d\n", tm_info.tm_mday); #endif } else if (*format_p == 'H') { if (size != 1 && size != 2) { return -1; } tm_info.tm_hour = strntoi(date_p, size); date_p += size; #ifdef __DEBUG bl_debug_printf("hour %d\n", tm_info.tm_hour); #endif } else if (*format_p == 'M') { if (size != 1 && size != 2) { return -1; } tm_info.tm_min = strntoi(date_p, size); date_p += size; #ifdef __DEBUG bl_debug_printf("min %d\n", tm_info.tm_min); #endif } else if (*format_p == 'S') { if (size != 1 && size != 2) { return -1; } tm_info.tm_sec = strntoi(date_p, size); date_p += size; #ifdef __DEBUG bl_debug_printf("sec %d\n", tm_info.tm_sec); #endif } else { return -1; } format_p++; } else { date_p++; format_p++; } } if (*date_p != '\0' || *format_p != '\0') { return -1; } else { /* if fails , mktime returns -1. */ return mktime(&tm_info); } } struct tm *bl_time_string_date_to_tm(struct tm *tm_info, const char *format, const char *date) { time_t time = 0; if ((time = bl_time_string_date_to_time_t(format, date)) == -1) { return NULL; } return memcpy(tm_info, localtime(&time), sizeof(struct tm)); } /* * "Sun","Sunday" -> 0. * * XXX * we don't intend to support TIME locale , which means locale wdays for example *"ÆüÍË" * will not be parsed. */ int bl_time_string_wday_to_int(const char *wday) { int count = 0; for (count = 0; count < 7; count++) { if (strcmp(wday, wdays[count]) == 0 || strcmp(wday, abbrev_wdays[count]) == 0) { return count; } } return -1; } /* * 0 -> "Sun" */ char *bl_time_int_wday_to_abbrev_string(int wday) { if (0 <= wday && wday < 6) { return abbrev_wdays[wday]; } else { return NULL; } } /* * 0 -> "Sunday" */ char *bl_time_int_wday_to_string(int wday) { if (0 <= wday && wday < 6) { return wdays[wday]; } else { return NULL; } } /* * "Jan","January" -> 0 */ int bl_time_string_month_to_int(const char *month) { int count = 0; for (count = 0; count < 12; count++) { if (strcmp(month, months[count]) == 0 || strcmp(month, abbrev_months[count]) == 0) { return count; } } return -1; } /* * 0 -> "January" */ char *bl_time_int_month_to_string(int month) { if (0 <= month && month < 6) { return months[month]; } else { return NULL; } } /* * 0 -> "Jan" */ char *bl_time_int_month_to_abbrev_string(int month) { if (0 <= month && month < 6) { return abbrev_months[month]; } else { return NULL; } } #endif /* REMOVE_FUNCS_MLTERM_UNUSE */ �������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_types.h�����������������������������������������������������������������0100644�0001760�0000144�00000000562�13210547312�0015707�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_TYPES_H__ #define __BL_TYPES_H__ /* various AC_TYPEs are defined in bl_config.h */ #include "bl_config.h" #include <sys/types.h> #ifdef HAVE_STDINT_H #include <stdint.h> #endif /* only for tests */ #ifdef TEST_LP64 #define size_t bl_size_t typedef long long bl_size_t; #endif #endif ����������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_str.c�������������������������������������������������������������������0100644�0001760�0000144�00000017156�13210547312�0015355�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_str.h" #include <stdio.h> /* sprintf */ #include <stdarg.h> /* va_list */ #include <ctype.h> /* isdigit */ #include "bl_debug.h" #include "bl_mem.h" #undef bl_str_sep #undef bl_basename /* --- global functions --- */ #ifndef HAVE_STRSEP char* __bl_str_sep(char **strp, const char *delim) { char *s; const char *spanp; int c; int sc; char *tok; if ((s = *strp) == NULL) { return NULL; } for (tok = s;;) { c = *s++; spanp = delim; do { if ((sc = *spanp++) == c) { if (c == 0) { s = NULL; } else { s[-1] = 0; } *strp = s; return tok; } } while (sc != 0); } } #endif /* * !! Notice !! * It is a caller that is responsible to check buffer overrun. */ int bl_snprintf(char *str, size_t size, const char *format, ...) { va_list arg_list; va_start(arg_list, format); #ifdef HAVE_SNPRINTF return vsnprintf(str, size, format, arg_list); #else /* * XXX * this may cause buffer overrun. */ return vsprintf(str, format, arg_list); #endif } char *bl_str_dup(const char *str, const char *file, /* should be allocated memory. */ int line, const char *func /* should be allocated memory. */ ) { char *new_str; if ((new_str = bl_mem_malloc(strlen(str) + 1, file, line, func)) == NULL) { return NULL; } strcpy(new_str, str); return new_str; } char* __bl_str_copy(char *dst, /* alloca()-ed memory (see bl_str.h) */ const char *src) { if (dst == NULL) { /* alloca() failed */ return NULL; } return strcpy(dst, src); } /* * XXX * this doesn't concern about ISO2022 sequences or so. * dst/src must be u_char since 0x80 - 0x9f is specially dealed. */ size_t bl_str_tabify(u_char *dst, size_t dst_len, const u_char *src, size_t src_len, size_t tab_len) { size_t pos_in_tab; size_t space_num; int dst_pos; int src_pos; int count; if (tab_len == 0) { #ifdef BL_DEBUG bl_warn_printf(BL_DEBUG_TAG " 0 is illegal tab length.\n"); #endif return 0; } dst_pos = 0; pos_in_tab = 0; space_num = 0; for (src_pos = 0; src_pos < src_len; src_pos++) { if (src[src_pos] == ' ') { if (pos_in_tab == tab_len - 1) { dst[dst_pos++] = '\t'; if (dst_pos >= dst_len) { return dst_pos; } space_num = 0; /* next */ pos_in_tab = 0; } else { space_num++; /* next */ pos_in_tab++; } } else { if (space_num > 0) { for (count = 0; count < space_num; count++) { dst[dst_pos++] = ' '; if (dst_pos >= dst_len) { return dst_pos; } } space_num = 0; } dst[dst_pos++] = src[src_pos]; if (dst_pos >= dst_len) { return dst_pos; } if (src[src_pos] == '\n' || src[src_pos] == '\t') { /* next */ pos_in_tab = 0; } else if ((0x20 <= src[src_pos] && src[src_pos] < 0x7f) || 0xa0 <= src[src_pos]) { /* next */ if (pos_in_tab == tab_len - 1) { pos_in_tab = 0; } else { pos_in_tab++; } } else if (src[src_pos] == 0x1b) { /* XXX ISO2022 seq should be considered. */ } } } if (space_num > 0) { for (count = 0; count < space_num; count++) { dst[dst_pos++] = ' '; if (dst_pos >= dst_len) { return dst_pos; } } } return dst_pos; } char *bl_str_chop_spaces(char *str) { size_t pos; pos = strlen(str); while (pos > 0) { pos--; if (str[pos] != ' ' && str[pos] != '\t') { str[pos + 1] = '\0'; break; } } return str; } int bl_str_n_to_uint(u_int *i, const char *s, size_t n) { u_int _i; int digit; if (n == 0) { return 0; } _i = 0; for (digit = 0; digit < n && s[digit]; digit++) { if (!isdigit(s[digit])) { return 0; } _i *= 10; _i += (s[digit] - 0x30); } *i = _i; return 1; } int bl_str_n_to_int(int *i, const char *s, size_t n) { u_int _i; int is_minus; if (n == 0) { return 0; } if (*s == '-') { if (--n == 0) { return 0; } s++; is_minus = 1; } else { is_minus = 0; } if (!bl_str_n_to_uint(&_i, s, n)) { return 0; } if ((int)_i < 0) { return 0; } if (is_minus) { *i = -((int)_i); } else { *i = (int)_i; } return 1; } int bl_str_to_uint(u_int *i, const char *s) { u_int _i; if (*s == '\0') { return 0; } _i = 0; while (*s) { if (!isdigit(*s)) { return 0; } _i *= 10; _i += (*s - 0x30); s++; } *i = _i; return 1; } int bl_str_to_int(int *i, const char *s) { u_int _i; int is_minus; if (*s == '\0') { return 0; } if (*s == '-') { if (*(++s) == '\0') { return 0; } is_minus = 1; } else { is_minus = 0; } if (!bl_str_to_uint(&_i, s)) { return 0; } if ((int)_i < 0) { return 0; } if (is_minus) { *i = -((int)_i); } else { *i = (int)_i; } return 1; } u_int bl_count_char_in_str(const char *str, char ch) { u_int count; count = 0; while (*str) { if (*str == ch) { count++; } str++; } return count; } /* str1 and str2 can be NULL */ int bl_compare_str(const char *str1, const char *str2) { if (str1 == str2) { return 0; } if (str1 == NULL) { return -1; } else if (str2 == NULL) { return 1; } return strcmp(str1, str2); } char *bl_str_replace(const char *str, const char *orig, /* Don't specify "". */ const char *new) { size_t orig_len; size_t new_len; int diff; const char *p; char *new_str; char *dst; orig_len = strlen(orig); new_len = strlen(new); if ((diff = new_len - orig_len) != 0) { int num; for (num = 0, p = str; (p = strstr(p, orig)); num++, p += orig_len) ; if (num == 0) { return NULL; } diff *= num; } if (!(dst = new_str = malloc(strlen(str) + diff + 1)) || !(p = strstr(str, orig))) { return NULL; } do { memcpy(dst, str, p - str); dst += (p - str); memcpy(dst, new, new_len); dst += new_len; str = p + orig_len; } while ((p = strstr(str, orig))); strcpy(dst, str); return new_str; } #if 0 char *bl_str_escape_backslash(char *str) { char *escaped_str; char *p; if (!(p = escaped_str = malloc(strlen(str) + bl_count_char_in_str(str, '\\') + 1))) { return str; } while (1) { *(p++) = *str; if (*str == '\0') { g_free(str); return escaped_str; } else if (*str == '\\') { *(p++) = '\\'; } str++; } } #endif char *bl_str_unescape(const char *str) { char *new_str; char *p; if ((new_str = malloc(strlen(str) + 1)) == NULL) { return NULL; } for (p = new_str; *str; str++, p++) { if (*str == '\\') { u_int digit; if (*(++str) == '\0') { break; } else if (sscanf(str, "x%2x", &digit) == 1) { *p = (char)digit; str += 2; } else if (*str == 'n') { *p = '\n'; } else if (*str == 'r') { *p = '\r'; } else if (*str == 't') { *p = '\t'; } else if (*str == 'e' || *str == 'E') { *p = '\033'; } else { *p = *str; } } else if (*str == '^') { if (*(++str) == '\0') { break; } else if ('@' <= *str && *str <= '_') { *p = *str - 'A' + 1; } else if (*str == '?') { *p = '\x7f'; } else { *p = *str; } } else { *p = *str; } } *p = '\0'; return new_str; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_conf.h������������������������������������������������������������������0100644�0001760�0000144�00000003050�13210547312�0015463�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_CONF_H__ #define __BL_CONF_H__ #include "bl_def.h" /* REMOVE_FUNCS_MLTERM_UNUSE */ #include "bl_types.h" #include "bl_map.h" /* * all members should be allocated on the caller side. */ typedef struct bl_arg_opt { char opt; char *long_opt; int is_boolean; char *key; char *help; } bl_arg_opt_t; /* * all members are allocated internally. */ typedef struct bl_conf_entry { char *value; #ifndef REMOVE_FUNCS_MLTERM_UNUSE char *default_value; #endif } bl_conf_entry_t; BL_MAP_TYPEDEF(bl_conf_entry, char *, bl_conf_entry_t *); typedef struct bl_conf { bl_arg_opt_t **arg_opts; /* 0x20 - 0x7f */ int num_opts; char end_opt; BL_MAP(bl_conf_entry) conf_entries; } bl_conf_t; int bl_init_prog(char *path, char *version); char *bl_get_prog_path(void); bl_conf_t *bl_conf_new(void); int bl_conf_delete(bl_conf_t *conf); int bl_conf_add_opt(bl_conf_t *conf, char short_opt, char *long_opt, int is_boolean, char *key, char *help); int bl_conf_set_end_opt(bl_conf_t *conf, char opt, char *long_opt, char *key, char *help); int bl_conf_parse_args(bl_conf_t *conf, int *argc, char ***argv, int ignore_unknown_opt); int bl_conf_write(bl_conf_t *conf, char *filename); int bl_conf_read(bl_conf_t *conf, char *filename); char *bl_conf_get_value(bl_conf_t *conf, char *key); #ifndef REMOVE_FUNCS_MLTERM_UNUSE int bl_conf_set_default_value(bl_conf_t *conf, char *key, char *default_value); #endif char *bl_conf_get_version(bl_conf_t *conf); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_utmp_utmper.c�����������������������������������������������������������0100644�0001760�0000144�00000001332�13210547312�0017113�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_utmp.h" #include <stdio.h> /* NULL */ #include <utempter.h> #include "bl_mem.h" /* malloc/free */ #include "bl_str.h" /* strdup */ struct bl_utmp { char *tty; int fd; }; /* --- global functions --- */ bl_utmp_t bl_utmp_new(const char *tty, const char *host, int pty_fd) { bl_utmp_t utmp; if ((utmp = malloc(sizeof(*utmp))) == NULL) { return NULL; } if ((utmp->tty = strdup(tty)) == NULL) { free(utmp); return NULL; } utmp->fd = pty_fd; addToUtmp(tty, host, pty_fd); return utmp; } int bl_utmp_delete(bl_utmp_t utmp) { removeLineFromUtmp(utmp->tty, utmp->fd); free(utmp->tty); free(utmp); return 1; } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_pty_none.c��������������������������������������������������������������0100644�0001760�0000144�00000000464�13210547312�0016372�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "bl_pty.h" /* --- global functions --- */ pid_t bl_pty_fork(int *master, int *slave) { /* do nothing. */ return 0; } int bl_pty_close(int master) { return 0; } void bl_pty_helper_set_flag(int lastlog, int utmp, int wtmp) {} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_privilege.h�������������������������������������������������������������0100644�0001760�0000144�00000000470�13210547312�0016527�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_PRIVILEGE_H__ #define __BL_PRIVILEGE_H__ #include "bl_types.h" /* uid_t / gid_t */ int bl_priv_change_euid(uid_t uid); int bl_priv_restore_euid(void); int bl_priv_change_egid(gid_t gid); int bl_priv_restore_egid(void); #endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/src/bl_cycle_index.h�����������������������������������������������������������0100644�0001760�0000144�00000001334�13210547312�0017027�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __BL_CYCLE_INDEX_H__ #define __BL_CYCLE_INDEX_H__ #include "bl_types.h" /* size_t */ typedef struct bl_cycle_index { int start; int next; int is_init; u_int size; } bl_cycle_index_t; bl_cycle_index_t *bl_cycle_index_new(u_int size); int bl_cycle_index_delete(bl_cycle_index_t *cycle); int bl_cycle_index_reset(bl_cycle_index_t *cycle); int bl_cycle_index_change_size(bl_cycle_index_t *cycle, u_int new_size); u_int bl_get_cycle_index_size(bl_cycle_index_t *cycle); u_int bl_get_filled_cycle_index(bl_cycle_index_t *cycle); int bl_cycle_index_of(bl_cycle_index_t *cycle, int at); int bl_next_cycle_index(bl_cycle_index_t *cycle); #endif ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/configure����������������������������������������������������������������������0100755�0001760�0000144�00002504003�13210547312�0015036�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac echo=${ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF $* EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string=`eval $cmd`) 2>/dev/null && echo_test_string=`eval $cmd` && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break fi done fi if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. ECHO=$echo if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 test -n "$DJDIR" || exec 7<&0 </dev/null exec 6>&1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= PACKAGE_URL= # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> #ifdef HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_SYS_STAT_H # include <sys/stat.h> #endif #ifdef STDC_HEADERS # include <stdlib.h> # include <stddef.h> #else # ifdef HAVE_STDLIB_H # include <stdlib.h> # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include <memory.h> # endif # include <string.h> #endif #ifdef HAVE_STRINGS_H # include <strings.h> #endif #ifdef HAVE_INTTYPES_H # include <inttypes.h> #endif #ifdef HAVE_STDINT_H # include <stdint.h> #endif #ifdef HAVE_UNISTD_H # include <unistd.h> #endif" ac_subst_vars='LTLIBOBJS LIBOBJS DEB_CFLAGS UTMP_LIBS UTMP_NAME UTMP_CFLAGS PTY_NAME NO_UNDEFINED_FLAG DL_CFLAGS DL_LIBS DL_LOADER XPG4_LIBS ALLOCA LIBTOOL ac_ct_F77 FFLAGS F77 CXXCPP ac_ct_CXX CXXFLAGS CXX OBJDUMP AS DLLTOOL NMEDIT DSYMUTIL STRIP RANLIB AR ECHO LN_S EGREP GREP SED INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CC CFLAGS host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking with_libtool enable_shared enable_static enable_fast_install with_gnu_ld enable_libtool_lock with_pic with_tags with_libltdl enable_pty_helper enable_debug with_funcs_mlterm_unuse ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP CXX CXXFLAGS CCC CXXCPP F77 FFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-pty-helper use pty helper [default=disabled] --enable-debug debug [default=disabled] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-libtool[=ARG] libtool path [default=without] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] --with-libltdl[=PREFIX] load modules with libltdl [default=without] --without-funcs-mlterm-unuse remove functions mlterm doesn't use [default=with] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case <limits.h> declares $2. For example, HP-UX 11i <limits.h> declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer <limits.h> to <assert.h> if __STDC__ is defined, since <limits.h> exists even on freestanding compilers. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link # ac_fn_f77_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_f77_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_f77_try_compile # ac_fn_f77_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_f77_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_f77_try_link # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers src/bl_config.h" ac_aux_dir= for ac_dir in script "$srcdir"/script; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in script \"$srcdir\"/script" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # for CFLAGS="..." ./configure ... ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdarg.h> #include <stdio.h> struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # if --with-libtool is specified, cpp isn't detected. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' #detect glibc cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> int main () { #ifdef __GLIBC__ #else #error int boil\[-1\]; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : $as_echo "#define HAVE_GNU_SOURCE 1" >>confdefs.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # # --- libtool --- # # Check whether --with-libtool was given. if test "${with_libtool+set}" = set; then : withval=$with_libtool; libtool=$with_libtool fi if test "${libtool}" != "" ; then LIBTOOL=${libtool} else # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${lt_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else # Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done fi SED=$lt_cv_path_SED { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SED" >&5 $as_echo "$SED" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$lt_save_ifs" else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$lt_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes ;; *) lt_cv_prog_gnu_ld=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD-compatible nm" >&5 $as_echo_n "checking for BSD-compatible nm... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) lt_cv_deplibs_check_method=unknown ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 4441 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; *-*-cygwin* | *-*-mingw* | *-*-pw32*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AS+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AS="${ac_tool_prefix}as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AS+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AS="as" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac need_locks="$enable_libtool_lock" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <float.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ctype.h> #include <stdlib.h> #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_mongrel "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default" if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since # <limits.h> exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include <limits.h> #else # include <assert.h> #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ac_nonexistent.h> _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_F77+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $F77" >&5 $as_echo "$F77" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgfortran pgf95 lf95 ftn nagfor do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_F77+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_F77="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_F77" >&5 $as_echo "$ac_ct_F77" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran 77 compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Fortran 77 compiler" >&5 $as_echo_n "checking whether we are using the GNU Fortran 77 compiler... " >&6; } if ${ac_cv_f77_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF if ac_fn_f77_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_f77_compiler_gnu" >&5 $as_echo "$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $F77 accepts -g" >&5 $as_echo_n "checking whether $F77 accepts -g... " >&6; } if ${ac_cv_prog_f77_g+:} false; then : $as_echo_n "(cached) " >&6 else FFLAGS=-g cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_compile "$LINENO"; then : ac_cv_prog_f77_g=yes else ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_f77_g" >&5 $as_echo "$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi if test $ac_compiler_gnu = yes; then G77=yes else G77= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # Add a significant safety factor because C++ compilers can tack on massive # amounts of additional arguments before passing them to the linker. # It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32*) symcode='[ABCDGISTW]' ;; hpux*) # Its linker distinguishes data from code symbols if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if grep ' nm_test_var$' "$nlist" >/dev/null; then if grep ' nm_test_func$' "$nlist" >/dev/null; then cat <<EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' cat <<EOF >> conftest.$ac_ext #if defined (__STDC__) && __STDC__ # define lt_ptr_t void * #else # define lt_ptr_t char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[] = { EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e 1s/^X//' sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Constants: rm="rm -f" # Global variables: default_ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" test -z "$MAGIC_CMD" && MAGIC_CMD=file test -z "$NM" && NM=nm test -z "$SED" && SED=sed test -z "$OBJDUMP" && OBJDUMP=objdump test -z "$RANLIB" && RANLIB=: test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. echo "int foo(void){return 1;}" > conftest.c $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib ${wl}-single_module conftest.c if test -f libconftest.dylib; then lt_cv_apple_cc_single_mod=yes rm -rf libconftest.dylib* fi rm conftest.c fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[0123]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}" fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil="~$DSYMUTIL \$lib || :" else _lt_dsymutil= fi ;; esac enable_dlopen=yes enable_win32_dll=yes # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm -r conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:6872: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:6876: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7162: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7166: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $rm -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7266: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7270: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no if ${lt_cv_sys_lib_search_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" if ${lt_cv_sys_lib_dlsearch_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" fi sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF #line 9291 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); exit (status); } EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF #line 9391 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); exit (status); } EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ compiler_lib_search_dirs \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ofile" >&5 $as_echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $SHELL # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The directories searched by this compiler when creating a shared # library compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ case $host_os in aix3*) cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF ;; esac # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || \ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then : withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: output file \`$ofile' does not exist" >&5 $as_echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: output file \`$ofile' does not look like a libtool script" >&5 $as_echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 $as_echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do IFS="$lt_save_ifs" # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in "") ;; *) as_fn_error $? "invalid tag name: $tagname" "$LINENO" 5 ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then as_fn_error $? "tag name \"$tagname\" already exists" "$LINENO" 5 fi # Update the list of available tags. if test -n "$tagname"; then echo appending configuration tag \"$tagname\" to $ofile case $tagname in CXX) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= compiler_lib_search_dirs_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$lt_save_ifs" else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$lt_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes ;; *) lt_cv_prog_gnu_ld=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes allow_undefined_flag_CXX="$_lt_dar_allow_undefined" if test "$GXX" = yes ; then output_verbose_link_cmd='echo' archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; osf3*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <<EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` for p in `eval $output_verbose_link_cmd`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" \ || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext compiler_lib_search_dirs_CXX= if test -n "$compiler_lib_search_path_CXX"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 $as_echo "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:11732: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:11736: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $rm -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:11836: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:11840: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 $as_echo "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no if ${lt_cv_sys_lib_search_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" if ${lt_cv_sys_lib_dlsearch_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" fi sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ compiler_lib_search_dirs_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_CXX old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The directories searched by this compiler when creating a shared # library compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_CXX # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ldcxx=$with_gnu_ld with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm -r conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_F77" >&5 $as_echo "$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... " >&6; } if ${lt_cv_prog_compiler_pic_works_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13419: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:13423: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_F77" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_F77" >&6; } if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_F77=yes fi else lt_cv_prog_compiler_static_works_F77=yes fi fi $rm -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_F77" >&5 $as_echo "$lt_cv_prog_compiler_static_works_F77" >&6; } if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_F77+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:13523: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:13527: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_F77" >&5 $as_echo "$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms_F77= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs_F77=no cat <<EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs_F77=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <<EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_F77=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat > conftest.$ac_ext <<_ACEOF program main end _ACEOF if ac_fn_f77_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_F77" >&5 $as_echo "$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_F77" >&5 $as_echo "$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no if ${lt_cv_sys_lib_search_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" if ${lt_cv_sys_lib_dlsearch_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" fi sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_F77" >&5 $as_echo "$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ compiler_lib_search_dirs_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_F77 old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The directories searched by this compiler when creating a shared # library compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_F77 # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_F77 # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_F77 # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm -r conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:15684: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:15688: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_GCJ" >&5 $as_echo "$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... " >&6; } if ${lt_cv_prog_compiler_pic_works_GCJ+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:15974: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:15978: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_GCJ+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_GCJ=yes fi else lt_cv_prog_compiler_static_works_GCJ=yes fi fi $rm -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_GCJ" >&5 $as_echo "$lt_cv_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_GCJ+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16078: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16082: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 $as_echo "$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms_GCJ= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs_GCJ=no cat <<EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else ld_shlibs_GCJ=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <<EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_GCJ=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_GCJ" >&5 $as_echo "$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_GCJ" >&5 $as_echo "$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no if ${lt_cv_sys_lib_search_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec" fi sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" if ${lt_cv_sys_lib_dlsearch_path_spec+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec" fi sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_GCJ" >&5 $as_echo "$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ compiler_lib_search_dirs_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_GCJ old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The directories searched by this compiler when creating a shared # library compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_GCJ # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_GCJ # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_GCJ # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm -r conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ compiler_lib_search_dirs_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\$0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### BEGIN LIBTOOL TAG CONFIG: $tagname # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_old_archive_cmds_RC old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The directories searched by this compiler when creating a shared # library compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_RC # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$hardcode_automatic_RC # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_RC # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) as_fn_error $? "Unsupported tag name: $tagname" "$LINENO" 5 ;; esac # Append the new tag name to the list of available tags. if test -n "$tagname" ; then available_tags="$available_tags $tagname" fi fi done IFS="$lt_save_ifs" # Now substitute the updated list of available tags. if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then mv "${ofile}T" "$ofile" chmod +x "$ofile" else rm -f "${ofile}T" as_fn_error $? "unable to update list of available tagged configurations." "$LINENO" 5 fi fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' # Prevent multiple expansion LIBTOOL='${top_builddir}/libtool' fi # # --- Checks for header files --- # # NOTE: if --with-libtool is specified, stdc header isn't detected. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <float.h> int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <string.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdlib.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <ctype.h> #include <stdlib.h> #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi for ac_header in langinfo.h dlfcn.h dl.h stropts.h sys/stropts.h stdint.h windows.h errno.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # # --- Checks for library functions --- # for ac_func in strsep fgetln basename isastream seteuid setegid geteuid getegid setsid snprintf usleep setenv unsetenv flock getuid getgid recvmsg setpgid socketpair killpg gettimeofday do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <alloca.h> int main () { char *p = (char *) alloca (2 * sizeof (int)); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_working_alloca_h=yes else ac_cv_working_alloca_h=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 $as_echo "$ac_cv_working_alloca_h" >&6; } if test $ac_cv_working_alloca_h = yes; then $as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else # ifdef _MSC_VER # include <malloc.h> # define alloca _alloca # elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) # include <stdlib.h> # else # ifdef HAVE_ALLOCA_H # include <alloca.h> # else # ifdef _AIX #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ void *alloca (size_t); # endif # endif # endif # endif #endif int main () { char *p = (char *) alloca (1); if (p) return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_func_alloca_works=yes else ac_cv_func_alloca_works=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 $as_echo "$ac_cv_func_alloca_works" >&6; } if test $ac_cv_func_alloca_works = yes; then $as_echo "#define HAVE_ALLOCA 1" >>confdefs.h else # The SVR3 libPW and SVR4 libucb both contain incompatible functions # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. ALLOCA=\${LIBOBJDIR}alloca.$ac_objext $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "webecray" >/dev/null 2>&1; then : ac_cv_os_cray=yes else ac_cv_os_cray=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 $as_echo "$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func _ACEOF break fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_c_stack_direction=0 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int find_stack_direction (int *addr, int depth) { int dir, dummy = 0; if (! addr) addr = &dummy; *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; dir = depth ? find_stack_direction (addr, depth - 1) : 0; return dir + dummy; } int main (int argc, char **argv) { return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_stack_direction=1 else ac_cv_c_stack_direction=-1 fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 $as_echo "$ac_cv_c_stack_direction" >&6; } cat >>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> #include <sys/param.h> int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <limits.h> int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" "$ac_includes_default" if test "x$ac_cv_type_u_char" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_char unsigned char _ACEOF fi ac_fn_c_check_type "$LINENO" "u_short" "ac_cv_type_u_short" "$ac_includes_default" if test "x$ac_cv_type_u_short" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_short unsigned short _ACEOF fi ac_fn_c_check_type "$LINENO" "u_int" "ac_cv_type_u_int" "$ac_includes_default" if test "x$ac_cv_type_u_int" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_int unsigned int _ACEOF fi ac_fn_c_check_type "$LINENO" "u_long" "ac_cv_type_u_long" "$ac_includes_default" if test "x$ac_cv_type_u_long" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_long unsigned long _ACEOF fi ac_fn_c_check_type "$LINENO" "u_int8_t" "ac_cv_type_u_int8_t" "$ac_includes_default" if test "x$ac_cv_type_u_int8_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_int8_t unsigned char _ACEOF fi ac_fn_c_check_type "$LINENO" "u_int16_t" "ac_cv_type_u_int16_t" "$ac_includes_default" if test "x$ac_cv_type_u_int16_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_int16_t unsigned short _ACEOF fi ac_fn_c_check_type "$LINENO" "u_int32_t" "ac_cv_type_u_int32_t" "$ac_includes_default" if test "x$ac_cv_type_u_int32_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_int32_t unsigned int _ACEOF fi ac_fn_c_check_type "$LINENO" "u_int64_t" "ac_cv_type_u_int64_t" "$ac_includes_default" if test "x$ac_cv_type_u_int64_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define u_int64_t unsigned long _ACEOF fi ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default" if test "x$ac_cv_type_int8_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define int8_t char _ACEOF fi ac_fn_c_check_type "$LINENO" "int16_t" "ac_cv_type_int16_t" "$ac_includes_default" if test "x$ac_cv_type_int16_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define int16_t short _ACEOF fi ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" if test "x$ac_cv_type_int32_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define int32_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default" if test "x$ac_cv_type_int64_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define int64_t long _ACEOF fi ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" if test "x$ac_cv_type_ssize_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define ssize_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 $as_echo_n "checking for uid_t in sys/types.h... " >&6; } if ${ac_cv_type_uid_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <sys/types.h> _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then : ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 $as_echo "$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then $as_echo "#define uid_t int" >>confdefs.h $as_echo "#define gid_t int" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" if test "x$ac_cv_type_off_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi # # --- Platform dependent stuff --- # bl_cv_cygwin=no bl_cv_mingw32=no bl_cv_win32=no case "${host_os}" in cygwin*) bl_cv_cygwin=yes case "${CC} ${CFLAGS}" in *mno-cygwin* | *-mingw*) bl_cv_win32=yes $as_echo "#define USE_WIN32API /**/" >>confdefs.h ;; *) ;; esac ;; mingw*) bl_cv_mingw32=yes if test ! -f "/lib/libmsys-1.0.dll.a" ; then case "${lt_cv_path_LD}" in *-msys*) ;; *) bl_cv_win32=yes $as_echo "#define USE_WIN32API /**/" >>confdefs.h ;; esac fi ;; *) ;; esac # # --- socklen_t --- # # NOTE: #define _BSDTYPES_DEFINED is necessary because AC_TRY_COMPILE defines # u_char, u_short and so on before #include <ws2tcpip.h> . # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socklen_t" >&5 $as_echo_n "checking for socklen_t... " >&6; } if ${bl_cv_socklen_ident+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stddef.h> #include <sys/types.h> #include <sys/socket.h> int main () { socklen_t len ; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : bl_cv_socklen_ident=yes else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _BSDTYPES_DEFINED #include <ws2tcpip.h> int main () { socklen_t len ; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : bl_cv_socklen_ident=yes else bl_cv_socklen_ident=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bl_cv_socklen_ident" >&5 $as_echo "$bl_cv_socklen_ident" >&6; } if test "${bl_cv_socklen_ident}" = "no" ; then $as_echo "#define socklen_t unsigned int" >>confdefs.h fi # # --- Check if concatenation of string literals with __FUNCTION__ is supported. --- # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __FUNCTION__" >&5 $as_echo_n "checking for __FUNCTION__... " >&6; } if ${bl_cv_func_ident+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { char * p = "[" __FUNCTION__ "]" ; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : bl_cv_func_ident=yes else bl_cv_func_ident=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bl_cv_func_ident" >&5 $as_echo "$bl_cv_func_ident" >&6; } if test "${bl_cv_func_ident}" = "yes" ; then $as_echo "#define CONCATABLE_FUNCTION /**/" >>confdefs.h fi # # --- Check for libxpg4 (for FreeBSD) --- # for ac_func in setlocale do : ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale" if test "x$ac_cv_func_setlocale" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SETLOCALE 1 _ACEOF fi done if test "x$ac_cv_func_setlocale" = xno ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for setlocale in -lxpg4" >&5 $as_echo_n "checking for setlocale in -lxpg4... " >&6; } if ${ac_cv_lib_xpg4_setlocale+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lxpg4 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char setlocale (); int main () { return setlocale (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_xpg4_setlocale=yes else ac_cv_lib_xpg4_setlocale=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xpg4_setlocale" >&5 $as_echo "$ac_cv_lib_xpg4_setlocale" >&6; } if test "x$ac_cv_lib_xpg4_setlocale" = xyes; then : XPG4_LIBS=-lxpg4 fi fi # # --- Checks for dynamic linking loader --- # DL_LOADER=none DL_LIBS= DL_CFLAGS= # lt_dlopenext in libltdl # Check whether --with-libltdl was given. if test "${with_libltdl+set}" = set; then : withval=$with_libltdl; else with_libltdl=no fi if test "x$with_libltdl" != "xno" ; then if test "x$with_libltdl" != "xyes"; then DL_CFLAGS="-I$with_libltdl/include" bl_libltdl_libdir="-L$with_libltdl/lib" fi bl_ldflags_save="$LDFLAGS" LDFLAGS="$LDFLAGS $bl_libltdl_libdir" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lt_dlopenext in -lltdl" >&5 $as_echo_n "checking for lt_dlopenext in -lltdl... " >&6; } if ${ac_cv_lib_ltdl_lt_dlopenext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lltdl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char lt_dlopenext (); int main () { return lt_dlopenext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ltdl_lt_dlopenext=yes else ac_cv_lib_ltdl_lt_dlopenext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ltdl_lt_dlopenext" >&5 $as_echo "$ac_cv_lib_ltdl_lt_dlopenext" >&6; } if test "x$ac_cv_lib_ltdl_lt_dlopenext" = xyes; then : DL_LOADER=ltdl DL_LIBS="$bl_libltdl_libdir -lltdl" else echo "" echo "Could not find libltdl" echo "" exit 1 fi LDFLAGS="$bl_ldflags_save" fi # lt_cv_dlopen is set by AC_LIBTOOL_DLOPEN if test "$DL_LOADER" = none ; then case "${lt_cv_dlopen}" in # LoadLibrary (Windows) LoadLibrary) DL_LOADER=win32 ;; # shl_load (HP-UX) shl_load) DL_LOADER=dld ;; # dlopen (UNIX98) dlopen) DL_LOADER=dl ;; # What is dld_link? Does anybody know? dld_link) DL_LOADER=none ;; *) DL_LOADER=none ;; esac DL_LIBS="${DL_LIBS} ${lt_cv_dlopen_libs}" if test "$DL_LOADER" = none ; then # NSLinkModule (darwin) ac_fn_c_check_func "$LINENO" "NSLinkModule" "ac_cv_func_NSLinkModule" if test "x$ac_cv_func_NSLinkModule" = xyes; then : DL_LOADER=dyld DL_LIBS= fi fi # cygwin hack # (AC_LIBTOOL_DLOPEN tell lt_cv_dlopen == dlopen but use bl_dlcfn_win32.c.) if test "$bl_cv_cygwin" = "yes" ; then DL_LOADER=win32 fi fi if test "$DL_LOADER" = none ; then $as_echo "#define DLFCN_NONE /**/" >>confdefs.h fi # # --- check for undefined symbol --- # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for undefined symbol" >&5 $as_echo_n "checking for undefined symbol... " >&6; } if test "x$allow_undefined_flag" = "xunsupported" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: not supported" >&5 $as_echo "not supported" >&6; } NO_UNDEFINED_FLAG="-no-undefined" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: supported" >&5 $as_echo "supported" >&6; } NO_UNDEFINED_FLAG="" fi # # --- pty check --- # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pty/tty type" >&5 $as_echo_n "checking for pty/tty type... " >&6; } if ${bl_cv_pty+:} false; then : $as_echo_n "(cached) " >&6 else if test "$bl_cv_win32" = "yes" ; then bl_cv_pty=none elif test "$bl_cv_mingw32" = "yes" ; then bl_cv_pty=streams else ac_fn_c_check_func "$LINENO" "posix_openpt" "ac_cv_func_posix_openpt" if test "x$ac_cv_func_posix_openpt" = xyes; then : if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> int main () { return posix_openpt( O_RDWR | O_NOCTTY) == -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : $as_echo "#define HAVE_POSIX_OPENPT /**/" >>confdefs.h bl_cv_pty=streams else bl_cv_pty=bsd fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi else bl_cv_pty=bsd fi if test "$bl_cv_pty" = "bsd" ; then if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <fcntl.h> int main () { return open( "/dev/ptmx", O_RDWR | O_NOCTTY, 0) == -1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : bl_cv_pty=streams fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi fi # Check whether --enable-pty_helper was given. if test "${enable_pty_helper+set}" = set; then : enableval=$enable_pty_helper; pty_helper=$enable_pty_helper fi if test "$pty_helper" = yes ; then if test "$bl_cv_pty" = streams ; then bl_cv_pty=helper else echo "" echo "** WARNING **" echo " pty helper is not supported in bsd-style pty system." echo "" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $bl_cv_pty" >&5 $as_echo "$bl_cv_pty" >&6; } PTY_NAME="${bl_cv_pty}" # # --- checks for utmp --- # UTMP_NAME= UTMP_LIBS= if test "$bl_cv_pty" = helper -o "$bl_cv_mingw32" = yes -o "$bl_cv_cygwin" = yes ; then UTMP_NAME=none UTMP_LIBS= fi # libutempter if test -z "$UTMP_NAME" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for addToUtmp in -lutempter" >&5 $as_echo_n "checking for addToUtmp in -lutempter... " >&6; } if ${ac_cv_lib_utempter_addToUtmp+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lutempter $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char addToUtmp (); int main () { return addToUtmp (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_utempter_addToUtmp=yes else ac_cv_lib_utempter_addToUtmp=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_utempter_addToUtmp" >&5 $as_echo "$ac_cv_lib_utempter_addToUtmp" >&6; } if test "x$ac_cv_lib_utempter_addToUtmp" = xyes; then : UTMP_NAME=utmper UTMP_LIBS="-lutempter -lutil" fi fi # setutxent() (SysV) if test -z "$UTMP_NAME" ; then ac_fn_c_check_func "$LINENO" "setutxent" "ac_cv_func_setutxent" if test "x$ac_cv_func_setutxent" = xyes; then : UTMP_NAME=sysv UTMP_LIBS= UTMP_CFLAGS=-DUSE_UTMPX fi fi # setutent() (SysV) if test -z "$UTMP_NAME" ; then ac_fn_c_check_func "$LINENO" "setutent" "ac_cv_func_setutent" if test "x$ac_cv_func_setutent" = xyes; then : UTMP_NAME=sysv UTMP_LIBS= fi fi # libutil if test -z "$UTMP_NAME" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logout in -lutil" >&5 $as_echo_n "checking for logout in -lutil... " >&6; } if ${ac_cv_lib_util_logout+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lutil $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char logout (); int main () { return logout (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_util_logout=yes else ac_cv_lib_util_logout=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_util_logout" >&5 $as_echo "$ac_cv_lib_util_logout" >&6; } if test "x$ac_cv_lib_util_logout" = xyes; then : UTMP_NAME=login UTMP_LIBS=-lutil fi fi # other (BSD) if test -z "$UTMP_NAME" ; then UTMP_NAME=bsd UTMP_LIBS= fi # # --- debug --- # # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; debug=$enable_debug fi if test "$debug" = yes ; then DEB_CFLAGS="-DDEBUG -DBL_DEBUG" fi # # --- remove functions mlterm doesn't use --- # # Check whether --with-funcs-mlterm-unuse was given. if test "${with_funcs_mlterm_unuse+set}" = set; then : withval=$with_funcs_mlterm_unuse; funcs_mlterm_unuse=$with_funcs_mlterm_unuse else funcs_mlterm_unuse="yes" fi if test "$funcs_mlterm_unuse" = "no" ; then $as_echo "#define REMOVE_FUNCS_MLTERM_UNUSE /**/" >>confdefs.h fi # # --- check for malloc --- # if test "$cross_compiling" = yes; then : { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run test program while cross compiling See \`config.log' for more details" "$LINENO" 5; } else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <stdio.h> int main() { return calloc(8 , ((1 << (sizeof(size_t) * 8 - 1)) + 1)) ? 1 : 0 ; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : $as_echo "#define CALLOC_CHECK_OVERFLOW 1" >>confdefs.h fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_config_files="$ac_config_files Makefile src/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "src/bl_config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/bl_config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' <conf$$subs.awk | sed ' /^[^""]/{ N s/\n// } ' >>$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' <confdefs.h | sed ' s/'"$ac_delim"'/"\\\ "/g' >>$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/Makefile.in��������������������������������������������������������������������0100644�0001760�0000144�00000000221�13210547312�0015163�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������all .DEFAULT: cd src ; $(MAKE) $@ distclean : clean rm -f Makefile config.log config.cache config.status libtool src/Makefile src/bl_config.h �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/baselib/aclocal.m4���������������������������������������������������������������������0100644�0001760�0000144�00000720752�13210547312�0015000�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 52 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) # ----------------------------------------------------------- # If this macro is not defined by Autoconf, define it here. m4_ifdef([AC_PROVIDE_IFELSE], [], [m4_define([AC_PROVIDE_IFELSE], [m4_ifdef([AC_PROVIDE_$1], [$2], [$3])])]) # AC_PROG_LIBTOOL # --------------- AC_DEFUN([AC_PROG_LIBTOOL], [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. AC_PROVIDE_IFELSE([AC_PROG_CXX], [AC_LIBTOOL_CXX], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX ])]) dnl And a similar setup for Fortran 77 support AC_PROVIDE_IFELSE([AC_PROG_F77], [AC_LIBTOOL_F77], [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 ])]) dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [AC_LIBTOOL_GCJ], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [AC_LIBTOOL_GCJ], [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], [AC_LIBTOOL_GCJ], [ifdef([AC_PROG_GCJ], [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) ifdef([A][M_PROG_GCJ], [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) ifdef([LT_AC_PROG_GCJ], [define([LT_AC_PROG_GCJ], defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) ])])# AC_PROG_LIBTOOL # _AC_PROG_LIBTOOL # ---------------- AC_DEFUN([_AC_PROG_LIBTOOL], [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl # Prevent multiple expansion define([AC_PROG_LIBTOOL], []) ])# _AC_PROG_LIBTOOL # AC_LIBTOOL_SETUP # ---------------- AC_DEFUN([AC_LIBTOOL_SETUP], [AC_PREREQ(2.50)dnl AC_REQUIRE([AC_ENABLE_SHARED])dnl AC_REQUIRE([AC_ENABLE_STATIC])dnl AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_LD])dnl AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl AC_REQUIRE([AC_PROG_NM])dnl AC_REQUIRE([AC_PROG_LN_S])dnl AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! AC_REQUIRE([AC_OBJEXT])dnl AC_REQUIRE([AC_EXEEXT])dnl dnl AC_LIBTOOL_SYS_MAX_CMD_LEN AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE AC_LIBTOOL_OBJDIR AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_PROG_ECHO_BACKSLASH case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='sed -e 1s/^X//' [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] # Same as above, but do not quote variable references. [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Constants: rm="rm -f" # Global variables: default_ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" AC_CHECK_TOOL(AR, ar, false) AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(STRIP, strip, :) old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" test -z "$MAGIC_CMD" && MAGIC_CMD=file test -z "$NM" && NM=nm test -z "$SED" && SED=sed test -z "$OBJDUMP" && OBJDUMP=objdump test -z "$RANLIB" && RANLIB=: test -z "$STRIP" && STRIP=: test -z "$ac_objext" && ac_objext=o # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then AC_PATH_MAGIC fi ;; esac _LT_REQUIRED_DARWIN_CHECKS AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], enable_win32_dll=yes, enable_win32_dll=no) AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes AC_ARG_WITH([pic], [AC_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= AC_LIBTOOL_LANG_C_CONFIG _LT_AC_TAGCONFIG ])# AC_LIBTOOL_SETUP # _LT_AC_SYS_COMPILER # ------------------- AC_DEFUN([_LT_AC_SYS_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # -------------------------- # Check for some things on darwin AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. echo "int foo(void){return 1;}" > conftest.c $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib ${wl}-single_module conftest.c if test -f libconftest.dylib; then lt_cv_apple_cc_single_mod=yes rm -rf libconftest.dylib* fi rm conftest.c fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) case $host_os in rhapsody* | darwin1.[[0123]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}" fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil="~$DSYMUTIL \$lib || :" else _lt_dsymutil= fi ;; esac ]) # _LT_AC_SYS_LIBPATH_AIX # ---------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], [AC_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_AC_SYS_LIBPATH_AIX # _LT_AC_SHELL_INIT(ARG) # ---------------------- AC_DEFUN([_LT_AC_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_AC_SHELL_INIT # _LT_AC_PROG_ECHO_BACKSLASH # -------------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], [_LT_AC_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac echo=${ECHO-echo} if test "X[$]1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then # Yippee, $echo works! : else # Restart under the correct shell. exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat <<EOF [$]* EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if (echo_test_string=`eval $cmd`) 2>/dev/null && echo_test_string=`eval $cmd` && (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null then break fi done fi if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$echo" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. echo='print -r' elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} else # Try using printf. echo='printf %s\n' if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL echo="$CONFIG_SHELL [$]0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then echo="$CONFIG_SHELL [$]0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "[$]0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} else # Oops. We lost completely, so just stick with echo. echo=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. ECHO=$echo if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(ECHO) ])])# _LT_AC_PROG_ECHO_BACKSLASH # _LT_AC_LOCK # ----------- AC_DEFUN([_LT_AC_LOCK], [AC_ARG_ENABLE([libtool-lock], [AC_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], [*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; ]) esac need_locks="$enable_libtool_lock" ])# _LT_AC_LOCK # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED]) AC_CACHE_CHECK([$1], [$2], [$2=no ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $rm conftest* ]) if test x"[$]$2" = xyes; then ifelse([$5], , :, [$5]) else ifelse([$6], , :, [$6]) fi ])# AC_LIBTOOL_COMPILER_OPTION # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ------------------------------------------------------------ # Check whether the given compiler option works AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $rm -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then ifelse([$4], , :, [$4]) else ifelse([$5], , :, [$5]) fi ])# AC_LIBTOOL_LINKER_OPTION # AC_LIBTOOL_SYS_MAX_CMD_LEN # -------------------------- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [# find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # Add a significant safety factor because C++ compilers can tack on massive # amounts of additional arguments before passing them to the linker. # It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi ])# AC_LIBTOOL_SYS_MAX_CMD_LEN # _LT_AC_CHECK_DLFCN # ------------------ AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl ])# _LT_AC_CHECK_DLFCN # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # --------------------------------------------------------------------- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include <dlfcn.h> #endif #include <stdio.h> #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif #ifdef __cplusplus extern "C" void exit (int); #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_AC_TRY_DLOPEN_SELF # AC_LIBTOOL_DLOPEN_SELF # ---------------------- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_AC_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_AC_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi ])# AC_LIBTOOL_DLOPEN_SELF # AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) # --------------------------------- # Check to see if options -c and -o are simultaneously supported by compiler AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], [AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* ]) ])# AC_LIBTOOL_PROG_CC_C_O # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) # ----------------------------------------- # Check to see if we can do hard links to lock some files if needed AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_REQUIRE([_LT_AC_LOCK])dnl hard_links="nottested" if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $rm conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS # AC_LIBTOOL_OBJDIR # ----------------- AC_DEFUN([AC_LIBTOOL_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir ])# AC_LIBTOOL_OBJDIR # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) # ---------------------------------------------- # Check hardcoding attributes. AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_AC_TAGVAR(hardcode_action, $1)= if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existant directories. if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_AC_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_AC_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_AC_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH # AC_LIBTOOL_SYS_LIB_STRIP # ------------------------ AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], [striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi ])# AC_LIBTOOL_SYS_LIB_STRIP # AC_LIBTOOL_SYS_DYNAMIC_LINKER # ----------------------------- # PORTME Fill in your ld.so characteristics AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib<name>.so # instead of lib<name>.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $rm \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; nto-qnx*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no export_dynamic_flag_spec='${wl}-Blargedynsym' runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec], [lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"]) sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec], [lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"]) sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl AC_ARG_WITH([tags], [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], [include additional configurations @<:@automatic@:>@])], [tagnames="$withval"]) if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then AC_MSG_WARN([output file `$ofile' does not exist]) fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) else AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for tagname in $tagnames; do IFS="$lt_save_ifs" # Check whether tagname contains only valid characters case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in "") ;; *) AC_MSG_ERROR([invalid tag name: $tagname]) ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then AC_MSG_ERROR([tag name \"$tagname\" already exists]) fi # Update the list of available tags. if test -n "$tagname"; then echo appending configuration tag \"$tagname\" to $ofile case $tagname in CXX) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_LIBTOOL_LANG_CXX_CONFIG else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then AC_LIBTOOL_LANG_F77_CONFIG else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then AC_LIBTOOL_LANG_GCJ_CONFIG else tagname="" fi ;; RC) AC_LIBTOOL_LANG_RC_CONFIG ;; *) AC_MSG_ERROR([Unsupported tag name: $tagname]) ;; esac # Append the new tag name to the list of available tags. if test -n "$tagname" ; then available_tags="$available_tags $tagname" fi fi done IFS="$lt_save_ifs" # Now substitute the updated list of available tags. if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then mv "${ofile}T" "$ofile" chmod +x "$ofile" else rm -f "${ofile}T" AC_MSG_ERROR([unable to update list of available tagged configurations.]) fi fi ])# _LT_AC_TAGCONFIG # AC_LIBTOOL_DLOPEN # ----------------- # enable checks for dlopen support AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_DLOPEN # AC_LIBTOOL_WIN32_DLL # -------------------- # declare package support for building win32 DLLs AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) ])# AC_LIBTOOL_WIN32_DLL # AC_ENABLE_SHARED([DEFAULT]) # --------------------------- # implement the --enable-shared flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_SHARED], [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([shared], [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]AC_ENABLE_SHARED_DEFAULT) ])# AC_ENABLE_SHARED # AC_DISABLE_SHARED # ----------------- # set the default shared flag to --disable-shared AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_SHARED(no) ])# AC_DISABLE_SHARED # AC_ENABLE_STATIC([DEFAULT]) # --------------------------- # implement the --enable-static flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_STATIC], [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([static], [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]AC_ENABLE_STATIC_DEFAULT) ])# AC_ENABLE_STATIC # AC_DISABLE_STATIC # ----------------- # set the default static flag to --disable-static AC_DEFUN([AC_DISABLE_STATIC], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_STATIC(no) ])# AC_DISABLE_STATIC # AC_ENABLE_FAST_INSTALL([DEFAULT]) # --------------------------------- # implement the --enable-fast-install flag # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. AC_DEFUN([AC_ENABLE_FAST_INSTALL], [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE([fast-install], [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) ])# AC_ENABLE_FAST_INSTALL # AC_DISABLE_FAST_INSTALL # ----------------------- # set the default to --disable-fast-install AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_FAST_INSTALL(no) ])# AC_DISABLE_FAST_INSTALL # AC_LIBTOOL_PICMODE([MODE]) # -------------------------- # implement the --with-pic flag # MODE is either `yes' or `no'. If omitted, it defaults to `both'. AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl pic_mode=ifelse($#,1,$1,default) ])# AC_LIBTOOL_PICMODE # AC_PROG_EGREP # ------------- # This is predefined starting with Autoconf 2.54, so this conditional # definition can be removed once we require Autoconf 2.54 or later. m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], [AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi]) EGREP=$ac_cv_prog_egrep AC_SUBST([EGREP]) ])]) # AC_PATH_TOOL_PREFIX # ------------------- # find a file program which can recognize shared library AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="ifelse([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi ])# AC_PATH_TOOL_PREFIX # AC_PATH_MAGIC # ------------- # find a file program which can recognize a shared library AC_DEFUN([AC_PATH_MAGIC], [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# AC_PATH_MAGIC # AC_PROG_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([AC_PROG_LD], [AC_ARG_WITH([gnu-ld], [AC_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no]) AC_REQUIRE([LT_AC_PROG_SED])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$lt_save_ifs" else lt_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$lt_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_PROG_LD_GNU ])# AC_PROG_LD # AC_PROG_LD_GNU # -------------- AC_DEFUN([AC_PROG_LD_GNU], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 </dev/null` in *GNU* | *'with BFD'*) lt_cv_prog_gnu_ld=yes ;; *) lt_cv_prog_gnu_ld=no ;; esac]) with_gnu_ld=$lt_cv_prog_gnu_ld ])# AC_PROG_LD_GNU # AC_PROG_LD_RELOAD_FLAG # ---------------------- # find reload flag for linker # -- PORTME Some linkers may need a different reload flag. AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], [AC_CACHE_CHECK([for $LD option to reload object files], lt_cv_ld_reload_flag, [lt_cv_ld_reload_flag='-r']) reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac ])# AC_PROG_LD_RELOAD_FLAG # AC_DEPLIBS_CHECK_METHOD # ----------------------- # how to check for library dependencies # -- PORTME fill in with the dynamic library characteristics AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], [AC_CACHE_CHECK([how to recognize dependent libraries], lt_cv_deplibs_check_method, [lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) lt_cv_deplibs_check_method=unknown ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown ])# AC_DEPLIBS_CHECK_METHOD # AC_PROG_NM # ---------- # find the pathname to a BSD-compatible name lister AC_DEFUN([AC_PROG_NM], [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi]) NM="$lt_cv_path_NM" ])# AC_PROG_NM # AC_CHECK_LIBM # ------------- # check for math library AC_DEFUN([AC_CHECK_LIBM], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac ])# AC_CHECK_LIBM # AC_LIBLTDL_CONVENIENCE([DIRECTORY]) # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl convenience library and # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-convenience to the configure arguments. Note that # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, # it is assumed to be `libltdl'. LIBLTDL will be prefixed with # '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' # (note the single quotes!). If your package is not flat and you're not # using automake, define top_builddir and top_srcdir appropriately in # the Makefiles. AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl case $enable_ltdl_convenience in no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; "") enable_ltdl_convenience=yes ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; esac LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) # For backwards non-gettext consistent compatibility... INCLTDL="$LTDLINCL" ])# AC_LIBLTDL_CONVENIENCE # AC_LIBLTDL_INSTALLABLE([DIRECTORY]) # ----------------------------------- # sets LIBLTDL to the link flags for the libltdl installable library and # LTDLINCL to the include flags for the libltdl header and adds # --enable-ltdl-install to the configure arguments. Note that # AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, # and an installed libltdl is not found, it is assumed to be `libltdl'. # LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with # '${top_srcdir}/' (note the single quotes!). If your package is not # flat and you're not using automake, define top_builddir and top_srcdir # appropriately in the Makefiles. # In the future, this macro may have to be called after AC_PROG_LIBTOOL. AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_CHECK_LIB(ltdl, lt_dlinit, [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], [if test x"$enable_ltdl_install" = xno; then AC_MSG_WARN([libltdl not installed, but installation disabled]) else enable_ltdl_install=yes fi ]) if test x"$enable_ltdl_install" = x"yes"; then ac_configure_args="$ac_configure_args --enable-ltdl-install" LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) else ac_configure_args="$ac_configure_args --enable-ltdl-install=no" LIBLTDL="-lltdl" LTDLINCL= fi # For backwards non-gettext consistent compatibility... INCLTDL="$LTDLINCL" ])# AC_LIBLTDL_INSTALLABLE # AC_LIBTOOL_CXX # -------------- # enable support for C++ libraries AC_DEFUN([AC_LIBTOOL_CXX], [AC_REQUIRE([_LT_AC_LANG_CXX]) ])# AC_LIBTOOL_CXX # _LT_AC_LANG_CXX # --------------- AC_DEFUN([_LT_AC_LANG_CXX], [AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # AC_LIBTOOL_F77 # -------------- # enable support for Fortran 77 libraries AC_DEFUN([AC_LIBTOOL_F77], [AC_REQUIRE([_LT_AC_LANG_F77]) ])# AC_LIBTOOL_F77 # _LT_AC_LANG_F77 # --------------- AC_DEFUN([_LT_AC_LANG_F77], [AC_REQUIRE([AC_PROG_F77]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) ])# _LT_AC_LANG_F77 # AC_LIBTOOL_GCJ # -------------- # enable support for GCJ libraries AC_DEFUN([AC_LIBTOOL_GCJ], [AC_REQUIRE([_LT_AC_LANG_GCJ]) ])# AC_LIBTOOL_GCJ # _LT_AC_LANG_GCJ # --------------- AC_DEFUN([_LT_AC_LANG_GCJ], [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) ])# _LT_AC_LANG_GCJ # AC_LIBTOOL_RC # ------------- # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) ])# AC_LIBTOOL_RC # AC_LIBTOOL_LANG_C_CONFIG # ------------------------ # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) AC_DEFUN([_LT_AC_LANG_C_CONFIG], [lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP AC_LIBTOOL_DLOPEN_SELF # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_C_CONFIG # AC_LIBTOOL_LANG_CXX_CONFIG # -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], [AC_LANG_PUSH(C++) AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([_LT_AC_PROG_CXXCPP]) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_AC_TAGVAR(no_undefined_flag, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Dependencies to place before and after the object being linked: _LT_AC_TAGVAR(predep_objects, $1)= _LT_AC_TAGVAR(postdep_objects, $1)= _LT_AC_TAGVAR(predeps, $1)= _LT_AC_TAGVAR(postdeps, $1)= _LT_AC_TAGVAR(compiler_lib_search_path, $1)= _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration AC_PROG_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_AC_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_AC_TAGVAR(archive_cmds, $1)='' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" if test "$GXX" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before switch to ELF _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_AC_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; osf3*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; cxx*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; cxx*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_AC_TAGVAR(GCC, $1)="$GXX" _LT_AC_TAGVAR(LD, $1)="$LD" AC_LIBTOOL_POSTDEP_PREDEP($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ldcxx=$with_gnu_ld with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld ])# AC_LIBTOOL_LANG_CXX_CONFIG # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) # ------------------------------------ # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP], [AC_REQUIRE([LT_AC_PROG_SED])dnl dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... ifelse([$1],[],[cat > conftest.$ac_ext <<EOF int a; void foo (void) { a = 0; } EOF ],[$1],[CXX],[cat > conftest.$ac_ext <<EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; EOF ],[$1],[F77],[cat > conftest.$ac_ext <<EOF subroutine foo implicit none integer*4 a a=0 return end EOF ],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF public class foo { private int a; public void bar (void) { a = 0; } }; EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no # The `*' in the case matches for architectures that use `case' in # $output_verbose_cmd can trigger glob expansion during the loop # eval without this substitution. output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` for p in `eval $output_verbose_link_cmd`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" \ || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then _LT_AC_TAGVAR(predep_objects, $1)="$p" else _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then _LT_AC_TAGVAR(postdep_objects, $1)="$p" else _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $rm -f confest.$objext _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi # PORTME: override above test on systems where it is broken ifelse([$1],[CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_AC_TAGVAR(predep_objects,$1)= _LT_AC_TAGVAR(postdep_objects,$1)= _LT_AC_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_AC_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac ])# AC_LIBTOOL_POSTDEP_PREDEP # AC_LIBTOOL_LANG_F77_CONFIG # -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) AC_DEFUN([_LT_AC_LANG_F77_CONFIG], [AC_REQUIRE([AC_PROG_F77]) AC_LANG_PUSH(Fortran 77) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_AC_TAGVAR(no_undefined_flag, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_AC_TAGVAR(GCC, $1)="$G77" _LT_AC_TAGVAR(LD, $1)="$LD" AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_CONFIG($1) AC_LANG_POP CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_F77_CONFIG # AC_LIBTOOL_LANG_GCJ_CONFIG # -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], [AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_CONFIG($1) AC_LANG_RESTORE CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_GCJ_CONFIG # AC_LIBTOOL_LANG_RC_CONFIG # ------------------------- # Ensure that the configuration vars for the Windows resource compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) AC_DEFUN([_LT_AC_LANG_RC_CONFIG], [AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes AC_LIBTOOL_CONFIG($1) AC_LANG_RESTORE CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_RC_CONFIG # AC_LIBTOOL_CONFIG([TAGNAME]) # ---------------------------- # If TAGNAME is not passed, then create an initial libtool script # with a default configuration from the untagged config vars. Otherwise # add code to config.status for appending the configuration named by # TAGNAME from the matching tagged config vars. AC_DEFUN([AC_LIBTOOL_CONFIG], [# The else clause should only fire when bootstrapping the # libtool distribution, otherwise you forgot to ship ltmain.sh # with your package, and you will get complaints that there are # no rules to generate ltmain.sh. if test -f "$ltmain"; then # See if we are running on zsh, and set the options which allow our commands through # without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ deplibs_check_method reload_flag reload_cmds need_locks \ lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ old_postinstall_cmds old_postuninstall_cmds \ _LT_AC_TAGVAR(compiler, $1) \ _LT_AC_TAGVAR(CC, $1) \ _LT_AC_TAGVAR(LD, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ _LT_AC_TAGVAR(old_archive_cmds, $1) \ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ _LT_AC_TAGVAR(predep_objects, $1) \ _LT_AC_TAGVAR(postdep_objects, $1) \ _LT_AC_TAGVAR(predeps, $1) \ _LT_AC_TAGVAR(postdeps, $1) \ _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \ _LT_AC_TAGVAR(archive_cmds, $1) \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ _LT_AC_TAGVAR(postinstall_cmds, $1) \ _LT_AC_TAGVAR(postuninstall_cmds, $1) \ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ _LT_AC_TAGVAR(allow_undefined_flag, $1) \ _LT_AC_TAGVAR(no_undefined_flag, $1) \ _LT_AC_TAGVAR(export_symbols_cmds, $1) \ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ _LT_AC_TAGVAR(hardcode_automatic, $1) \ _LT_AC_TAGVAR(module_cmds, $1) \ _LT_AC_TAGVAR(module_expsym_cmds, $1) \ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ _LT_AC_TAGVAR(fix_srcfile_path, $1) \ _LT_AC_TAGVAR(exclude_expsyms, $1) \ _LT_AC_TAGVAR(include_expsyms, $1); do case $var in _LT_AC_TAGVAR(old_archive_cmds, $1) | \ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ _LT_AC_TAGVAR(archive_cmds, $1) | \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ _LT_AC_TAGVAR(module_cmds, $1) | \ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ extract_expsyms_cmds | reload_cmds | finish_cmds | \ postinstall_cmds | postuninstall_cmds | \ old_postinstall_cmds | old_postuninstall_cmds | \ sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) # Double-quote double-evaled strings. eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" ;; *) eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" ;; esac done case $lt_echo in *'\[$]0 --fallback-echo"') lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` ;; esac ifelse([$1], [], [cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" AC_MSG_NOTICE([creating $ofile])], [cfgfile="$ofile"]) cat <<__EOF__ >> "$cfgfile" ifelse([$1], [], [#! $SHELL # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="$SED -e 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG], [# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # An echo program that does not interpret backslashes. echo=$lt_echo # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A C compiler. LTCC=$lt_LTCC # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) # Is the compiler the GNU C compiler? with_gcc=$_LT_AC_TAGVAR(GCC, $1) # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_[]_LT_AC_TAGVAR(LD, $1) # Whether we need hard or soft links. LN_S=$lt_LN_S # A BSD-compatible nm program. NM=$lt_NM # A symbol stripping program STRIP=$lt_STRIP # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=$MAGIC_CMD # Used on cygwin: DLL creation program. DLLTOOL="$DLLTOOL" # Used on cygwin: object dumper. OBJDUMP="$OBJDUMP" # Used on cygwin: assembler. AS="$AS" # The name of the directory that contains temporary libtool files. objdir=$objdir # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # How to pass a linker flag through the compiler. wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) pic_mode=$pic_mode # What is the maximum length of a command? max_cmd_len=$lt_cv_sys_max_cmd_len # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) # Must we lock files when doing compilation? need_locks=$lt_need_locks # Do we need the lib prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) # Library versioning type. version_type=$version_type # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Commands used to build and install an old-style archive. RANLIB=$lt_RANLIB old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) # Commands used to build and install a shared archive. archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) postinstall_cmds=$lt_postinstall_cmds postuninstall_cmds=$lt_postuninstall_cmds # Commands used to build a loadable module (assumed same as above if empty) module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # Dependencies to place before the objects being linked to create a # shared library. predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) # The directories searched by this compiler when creating a shared # library compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1) # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == file_magic. file_magic_cmd=$lt_file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) # Flag that forces no undefined symbols. no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # Same as above, but a single script fragment to be evaled but not shown. finish_eval=$lt_finish_eval # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # This is the shared library runtime path variable. runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # How to hardcode a shared library path into an executable. hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) # If ld is used when linking, flag to hardcode \$libdir into # a binary during linking. This must work even if \$libdir does # not exist. hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) # Set to yes if building a shared library automatically hardcodes DIR into the library # and all subsequent libraries and executables linked against it. hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="$variables_saved_for_relink" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) # Compile-time system search path for libraries sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) # The commands to list exported symbols. export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) # Symbols that must always be exported. include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) ifelse([$1],[], [# ### END LIBTOOL CONFIG], [# ### END LIBTOOL TAG CONFIG: $tagname]) __EOF__ ifelse([$1],[], [ case $host_os in aix3*) cat <<\EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi EOF ;; esac # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || \ (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ]) else # If there is no Makefile yet, we rely on a make rule to execute # `config.status --recheck' to rerun these tests and create the # libtool script then. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ])# AC_LIBTOOL_CONFIG # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------------------- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE # --------------------------------- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([LT_AC_PROG_SED]) AC_REQUIRE([AC_PROG_NM]) AC_REQUIRE([AC_OBJEXT]) # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Transform an extracted symbol line into a proper C declaration lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32*) symcode='[[ABCDGISTW]]' ;; hpux*) # Its linker distinguishes data from code symbols if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if grep ' nm_test_var$' "$nlist" >/dev/null; then if grep ' nm_test_func$' "$nlist" >/dev/null; then cat <<EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' cat <<EOF >> conftest.$ac_ext #if defined (__STDC__) && __STDC__ # define lt_ptr_t void * #else # define lt_ptr_t char * # define const #endif /* The mapping between symbol names and symbols. */ const struct { const char *name; lt_ptr_t address; } lt_preloaded_symbols[[]] = { EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext cat <<\EOF >> conftest.$ac_ext {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) # --------------------------------------- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) ifelse([$1],[CXX],[ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; icpc* | ecpc*) # Intel C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; vxworks*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; newsos6) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1), [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) ifelse([$1],[CXX],[ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw*) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; *) _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ],[ runpath_var= _LT_AC_TAGVAR(allow_undefined_flag, $1)= _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)= _LT_AC_TAGVAR(archive_expsym_cmds, $1)= _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_minus_L, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_AC_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) case $host_os in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac _LT_AC_TAGVAR(ld_shlibs, $1)=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. EOF fi ;; amigaos*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we can't use # them. _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach <jrb3@best.com> says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=no _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. EOF elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(always_export_symbols, $1)=yes _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | grep 'GNU' > /dev/null; then _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' else _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_AC_TAGVAR(archive_cmds, $1)='' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # see comment about different semantics on the GNU ld section _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; bsdi[[45]]*) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[[012]]) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ;; dgux*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_AC_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_AC_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_AC_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac fi ]) AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_AC_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) _LT_AC_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) then _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac ])# AC_LIBTOOL_PROG_LD_SHLIBS # _LT_AC_FILE_LTDLL_C # ------------------- # Be careful that the start marker always follows a newline. AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ # /* ltdll.c starts here */ # #define WIN32_LEAN_AND_MEAN # #include <windows.h> # #undef WIN32_LEAN_AND_MEAN # #include <stdio.h> # # #ifndef __CYGWIN__ # # ifdef __CYGWIN32__ # # define __CYGWIN__ __CYGWIN32__ # # endif # #endif # # #ifdef __cplusplus # extern "C" { # #endif # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); # #ifdef __cplusplus # } # #endif # # #ifdef __CYGWIN__ # #include <cygwin/cygwin_dll.h> # DECLARE_CYGWIN_DLL( DllMain ); # #endif # HINSTANCE __hDllInstance_base; # # BOOL APIENTRY # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) # { # __hDllInstance_base = hInst; # return TRUE; # } # /* ltdll.c ends here */ ])# _LT_AC_FILE_LTDLL_C # _LT_AC_TAGVAR(VARNAME, [TAGNAME]) # --------------------------------- AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) # old names AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) # This is just to silence aclocal about the macro not being used ifelse([AC_DISABLE_FAST_INSTALL]) AC_DEFUN([LT_AC_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj, no) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS) ]) AC_DEFUN([LT_AC_PROG_RC], [AC_CHECK_TOOL(RC, windres, no) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # # LT_AC_PROG_SED # -------------- # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. AC_DEFUN([LT_AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) ����������������������mlterm-3.8.4/baselib/configure.in�������������������������������������������������������������������0100644�0001760�0000144�00000017352�13210547312�0015444�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AC_INIT() AC_CONFIG_HEADER(src/bl_config.h) AC_CONFIG_AUX_DIR(script) AC_CANONICAL_HOST AC_CANONICAL_BUILD # for CFLAGS="..." ./configure ... AC_SUBST(CFLAGS) AC_PROG_CC # if --with-libtool is specified, cpp isn't detected. AC_PROG_CPP AC_PROG_INSTALL #detect glibc AC_TRY_COMPILE([#include <features.h>], [ #ifdef __GLIBC__ #else #error int boil\[-1\]; #endif ], AC_DEFINE(HAVE_GNU_SOURCE)) # # --- libtool --- # AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_DLOPEN AC_ARG_WITH(libtool, [ --with-libtool@<:@=ARG@:>@ libtool path @<:@default=without@:>@], libtool=$with_libtool) if test "${libtool}" != "" ; then LIBTOOL=${libtool} else AM_PROG_LIBTOOL LIBTOOL='${top_builddir}/libtool' fi AC_SUBST(LIBTOOL) # # --- Checks for header files --- # # NOTE: if --with-libtool is specified, stdc header isn't detected. AC_HEADER_STDC AC_CHECK_HEADERS(langinfo.h dlfcn.h dl.h stropts.h sys/stropts.h stdint.h windows.h errno.h) # # --- Checks for library functions --- # AC_CHECK_FUNCS(strsep fgetln basename isastream seteuid setegid geteuid getegid setsid snprintf usleep setenv unsetenv flock getuid getgid recvmsg setpgid socketpair killpg gettimeofday) AC_FUNC_ALLOCA AC_C_INLINE AC_C_CONST AC_C_BIGENDIAN AC_CHECK_TYPE(u_char,unsigned char) AC_CHECK_TYPE(u_short,unsigned short) AC_CHECK_TYPE(u_int,unsigned int) AC_CHECK_TYPE(u_long,unsigned long) AC_CHECK_TYPE(u_int8_t,unsigned char) AC_CHECK_TYPE(u_int16_t,unsigned short) AC_CHECK_TYPE(u_int32_t,unsigned int) AC_CHECK_TYPE(u_int64_t,unsigned long) AC_CHECK_TYPE(int8_t,char) AC_CHECK_TYPE(int16_t,short) AC_CHECK_TYPE(int32_t,int) AC_CHECK_TYPE(int64_t,long) AC_CHECK_TYPE(ssize_t,int) AC_TYPE_MODE_T AC_TYPE_PID_T AC_TYPE_UID_T AC_TYPE_OFF_T AC_TYPE_SIZE_T # # --- Platform dependent stuff --- # bl_cv_cygwin=no bl_cv_mingw32=no bl_cv_win32=no case "${host_os}" in cygwin*) bl_cv_cygwin=yes case "${CC} ${CFLAGS}" in *mno-cygwin* | *-mingw*) bl_cv_win32=yes AC_DEFINE(USE_WIN32API,,"USE_WIN32API") ;; *) ;; esac ;; mingw*) bl_cv_mingw32=yes if test ! -f "/lib/libmsys-1.0.dll.a" ; then case "${lt_cv_path_LD}" in *-msys*) ;; *) bl_cv_win32=yes AC_DEFINE(USE_WIN32API,,"USE_WIN32API") ;; esac fi ;; *) ;; esac # # --- socklen_t --- # # NOTE: #define _BSDTYPES_DEFINED is necessary because AC_TRY_COMPILE defines # u_char, u_short and so on before #include <ws2tcpip.h> . # AC_CACHE_CHECK(for socklen_t, bl_cv_socklen_ident, [AC_TRY_COMPILE( [ #include <stddef.h> #include <sys/types.h> #include <sys/socket.h> ], [ socklen_t len ; ], bl_cv_socklen_ident=yes, [AC_TRY_COMPILE( [ #define _BSDTYPES_DEFINED #include <ws2tcpip.h> ], [ socklen_t len ; ], bl_cv_socklen_ident=yes, bl_cv_socklen_ident=no)])]) if test "${bl_cv_socklen_ident}" = "no" ; then AC_DEFINE(socklen_t, unsigned int, "socklen_t") fi # # --- Check if concatenation of string literals with __FUNCTION__ is supported. --- # AC_CACHE_CHECK(for __FUNCTION__, bl_cv_func_ident,[ AC_TRY_COMPILE(, [ char * p = "[" __FUNCTION__ "]" ; ] , bl_cv_func_ident=yes,bl_cv_func_ident=no)]) if test "${bl_cv_func_ident}" = "yes" ; then AC_DEFINE(CONCATABLE_FUNCTION,,"CONCATABLE_FUNCTION") fi # # --- Check for libxpg4 (for FreeBSD) --- # AC_CHECK_FUNCS(setlocale) if test "x$ac_cv_func_setlocale" = xno ; then AC_CHECK_LIB(xpg4, setlocale, XPG4_LIBS=-lxpg4) AC_SUBST(XPG4_LIBS) fi # # --- Checks for dynamic linking loader --- # DL_LOADER=none DL_LIBS= DL_CFLAGS= # lt_dlopenext in libltdl AC_ARG_WITH(libltdl, [ --with-libltdl@<:@=PREFIX@:>@ load modules with libltdl @<:@default=without@:>@],, [with_libltdl=no]) if test "x$with_libltdl" != "xno" ; then if test "x$with_libltdl" != "xyes"; then DL_CFLAGS="-I$with_libltdl/include" bl_libltdl_libdir="-L$with_libltdl/lib" fi bl_ldflags_save="$LDFLAGS" LDFLAGS="$LDFLAGS $bl_libltdl_libdir" AC_CHECK_LIB(ltdl, lt_dlopenext, [ DL_LOADER=ltdl DL_LIBS="$bl_libltdl_libdir -lltdl" ],[ echo "" echo "Could not find libltdl" echo "" exit 1]) LDFLAGS="$bl_ldflags_save" fi # lt_cv_dlopen is set by AC_LIBTOOL_DLOPEN if test "$DL_LOADER" = none ; then case "${lt_cv_dlopen}" in # LoadLibrary (Windows) LoadLibrary) DL_LOADER=win32 ;; # shl_load (HP-UX) shl_load) DL_LOADER=dld ;; # dlopen (UNIX98) dlopen) DL_LOADER=dl ;; # What is dld_link? Does anybody know? dld_link) DL_LOADER=none ;; *) DL_LOADER=none ;; esac DL_LIBS="${DL_LIBS} ${lt_cv_dlopen_libs}" if test "$DL_LOADER" = none ; then # NSLinkModule (darwin) AC_CHECK_FUNC(NSLinkModule, [ DL_LOADER=dyld DL_LIBS= ], []) fi # cygwin hack # (AC_LIBTOOL_DLOPEN tell lt_cv_dlopen == dlopen but use bl_dlcfn_win32.c.) if test "$bl_cv_cygwin" = "yes" ; then DL_LOADER=win32 fi fi AC_SUBST(DL_LOADER) AC_SUBST(DL_LIBS) AC_SUBST(DL_CFLAGS) if test "$DL_LOADER" = none ; then AC_DEFINE(DLFCN_NONE,,"DLFCN_NONE") fi # # --- check for undefined symbol --- # AC_MSG_CHECKING([for undefined symbol]) if test "x$allow_undefined_flag" = "xunsupported" ; then AC_MSG_RESULT([not supported]) NO_UNDEFINED_FLAG="-no-undefined" else AC_MSG_RESULT(supported) NO_UNDEFINED_FLAG="" fi AC_SUBST(NO_UNDEFINED_FLAG) # # --- pty check --- # AC_MSG_CHECKING(for pty/tty type) AC_CACHE_VAL(bl_cv_pty, [ if test "$bl_cv_win32" = "yes" ; then bl_cv_pty=none elif test "$bl_cv_mingw32" = "yes" ; then bl_cv_pty=streams else AC_CHECK_FUNC( posix_openpt, [AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <fcntl.h>], [return posix_openpt( O_RDWR | O_NOCTTY) == -1;])], [ AC_DEFINE(HAVE_POSIX_OPENPT,,"HAVE_POSIX_OPENPT") bl_cv_pty=streams ], [bl_cv_pty=bsd])], [bl_cv_pty=bsd]) if test "$bl_cv_pty" = "bsd" ; then AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <fcntl.h>], [return open( "/dev/ptmx", O_RDWR | O_NOCTTY, 0) == -1;])], [bl_cv_pty=streams]) fi fi ]) AC_ARG_ENABLE(pty_helper, [ --enable-pty-helper use pty helper @<:@default=disabled@:>@], pty_helper=$enable_pty_helper) if test "$pty_helper" = yes ; then if test "$bl_cv_pty" = streams ; then bl_cv_pty=helper else echo "" echo "** WARNING **" echo " pty helper is not supported in bsd-style pty system." echo "" fi fi AC_MSG_RESULT($bl_cv_pty) PTY_NAME="${bl_cv_pty}" AC_SUBST(PTY_NAME) # # --- checks for utmp --- # UTMP_NAME= UTMP_LIBS= if test "$bl_cv_pty" = helper -o "$bl_cv_mingw32" = yes -o "$bl_cv_cygwin" = yes ; then UTMP_NAME=none UTMP_LIBS= fi # libutempter if test -z "$UTMP_NAME" ; then AC_CHECK_LIB(utempter, addToUtmp, [ UTMP_NAME=utmper UTMP_LIBS="-lutempter -lutil" ], []) fi # setutxent() (SysV) if test -z "$UTMP_NAME" ; then AC_CHECK_FUNC(setutxent, [ UTMP_NAME=sysv UTMP_LIBS= UTMP_CFLAGS=-DUSE_UTMPX ], []) AC_SUBST(UTMP_CFLAGS) fi # setutent() (SysV) if test -z "$UTMP_NAME" ; then AC_CHECK_FUNC(setutent, [ UTMP_NAME=sysv UTMP_LIBS= ], []) fi # libutil if test -z "$UTMP_NAME" ; then AC_CHECK_LIB(util, logout, [ UTMP_NAME=login UTMP_LIBS=-lutil ], []) fi # other (BSD) if test -z "$UTMP_NAME" ; then UTMP_NAME=bsd UTMP_LIBS= fi AC_SUBST(UTMP_NAME) AC_SUBST(UTMP_LIBS) # # --- debug --- # AC_ARG_ENABLE(debug, [ --enable-debug debug @<:@default=disabled@:>@], debug=$enable_debug) if test "$debug" = yes ; then DEB_CFLAGS="-DDEBUG -DBL_DEBUG" fi AC_SUBST(DEB_CFLAGS) # # --- remove functions mlterm doesn't use --- # AC_ARG_WITH(funcs-mlterm-unuse, [ --without-funcs-mlterm-unuse remove functions mlterm doesn't use @<:@default=with@:>@], funcs_mlterm_unuse=$with_funcs_mlterm_unuse,funcs_mlterm_unuse="yes") if test "$funcs_mlterm_unuse" = "no" ; then AC_DEFINE(REMOVE_FUNCS_MLTERM_UNUSE,,"REMOVE_FUNCS_MLTERM_UNUSE") fi # # --- check for malloc --- # AC_TRY_RUN( [ #include <stdio.h> int main() { return calloc(8 , ((1 << (sizeof(size_t) * 8 - 1)) + 1)) ? 1 : 0 ; } ], AC_DEFINE(CALLOC_CHECK_OVERFLOW)) AC_OUTPUT(Makefile src/Makefile) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/man������������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0012221�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/man/mlclient.1�������������������������������������������������������������������������0100644�0001760�0000144�00000003423�13210547312�0014170�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.\" mlclient.1 -*- nroff -*- .TH MLCLIENT 1 "2017-01-07" .SH NAME mlclient \- client for mlterm .SH SYNOPSIS .B mlclient .RB [\fIoptions\fP] .\" ******************************************************************** .SH DESCRIPTION \fBmlclient(x)\fR is a client for the \fBmlterm\fR(1) server (daemon). \fBmlterm\fR(1), an X terminal emulator, can be invoked as a daemon process which holds multiple sessions (shell process and other information like backlog). \fBmlclient(x)\fR can creat a new session or recall an existing session which had been disconnected from a window. .\" ******************************************************************** .SH OPTIONS \fBmlclient(x)\fR accepts most options of mlterm. Please read \fBmlterm\fR(1) for detail. Following options do \fBnot\fR work for \fBmlclient(x)\fR: .TP \fB\-@\fR/\fB\-\-screens\fR, .TP \fB\-R\fR/\fB\-\-fsrange\fR, .TP \fB\-Y\fR/\fB\-\-decsp\fR, .TP \fB\-c\fR/\fB\-\-cp932\fR, .TP \fB\-i\fR/\fB\-\-xim\fR, .TP \fB\-j\fR/\fB\-\-daemon\fR, and .TP \fB\-\-depth\fR .TP \fB\-\-maxptys\fR .TP \fB\-\-keepalive\fR .TP \fB\-\-metaprefix\fR .TP \fB\-\-deffont\fR .TP Following option is mlclient(x) specific: .TP \fB\-P\fR/\fB\-\-ptylist\fR print pty list. .TP \fB\-\-kill\fR kill a mlterm daemon. .TP Following option is mlclientx specific: .TP \fB\-\-hsep\fR=\fIvalue\fR open new pty in horizontally splitted screen. .TP \fB\-\-vsep\fR=\fIvalue\fR open new pty in vertically splitted screen. .\" ******************************************************************** .SH SEE ALSO \fBmlterm\fR(1), \fBlocale\fR(7), \fBcharsets\fR(7), \fBUTF-8\fR(7), and \fBX\fR(7). .\" ******************************************************************** .SH CONTACT Subscribe mlterm-dev-en ML (http://lists.sourceforge.net/lists/listinfo/mlterm-dev-en). ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/man/mlterm.1���������������������������������������������������������������������������0100644�0001760�0000144�00000225556�13210547312�0013676�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������.\" mlterm.1 -*- nroff -*- .TH MLTERM 1 "2017-12-02" .SH NAME mlterm \- Multi Lingual TERMinal emulator on X .SH SYNOPSIS .B mlterm .RB [\fIoptions\fP] .\" ******************************************************************** .SH DESCRIPTION \fBmlterm\fP is a multi-lingual terminal emulator written from scratch, which supports various character sets and encodings in the world and complex characters such as double width for East Asian, combining for Thai, Vietnamese, and so on, and bi-direction for Arabic and Hebrew. Indic scripts are experimentally supported. It also supports various unique feature such as anti-alias using FreeType, multiple XIM, multiple windows, scrollbar API, scroll by mouse wheel, automatic selection of encoding, daemon mode, and so on. .PP Supported encodings are: ISO-8859-[1-11], ISO-8859-[13-16], TIS-620 (same as ISO-8859-11), KOI8-R, KOI8-U, KOI8-T, GEORGIAN-PS, TCVN5712, ISCII_(ASSAMESE|BENGALI|GUJARATI| HINDI|KANNADA|MALAYALAM|ORIYA|PUNJABI|TAMIL|TELUGU), VISCII, CP125[0-8], CP874, EUC-JP, EUC-JISX0213, Shift_JIS, Shift_JISX0213, ISO-2022-JP[1-3], EUC-KR, UHC, JOHAB, ISO-2022-KR, GB2312 (EUC-CN), GBK, GB18030, ISO-2022-CN, HZ, EUC-TW, BIG5, BIG5HKSCS, and UTF-8. If you have already set locale (for example LANG variable; see \fBlocale\fR(7) for detail) \fBmlterm\fR will automatically select proper encoding. .PP .\" ******************************************************************** .SH OPTIONS Note that \fIbool\fR is to be substituted by \fBtrue\fR or \fBfalse\fR. .TP \fB\-A\fR, \fB\-\-aa\fR(=\fIbool\fR) Use anti-aliased fonts. This option works only with Xft or cairo for now. The default is \fBfalse\fR. .TP \fB\-B\fR, \fB\-\-sbbg\fR=\fIcolor\fR Specify a background color of a scrollbar. A valid value for \fIcolor\fR is a color name or a RGB value. The color name should be defined in rgb.txt or "\fBcolor\fR" configuration file. The RGB value's format should be "#RRGGBB", "#RRGGBBAA", "rgb:RR/GG/BB" or "rgba:RR/GG/BB/AA". .TP \fB\-C\fR, \fB\-\-ctl\fR(=\fIbool\fR) Enable complex text layouting on UTF8 encoding to support indic scripts and RTL (right-to-left) languages such as Arabic and Hebrew. The default is \fBtrue\fR. .TP \fB\-E\fR, \fB\-\-km\fR=\fIencoding\fR Specify encoding. Valid encodings are listed in \fBDESCRIPTION\fR section above in this man page. \fBAUTO\fR makes mlterm determine the according according to the current locale (default \fBAUTO\fR). .TP \fB\-F\fR, \fB\-\-sbfg\fR=\fIcolor\fR Specify a foreground color of a scrollbar. See \fB\-\-sbbg\fR option for valid values. .TP \fB\-G\fR, \fB\-\-vertical=\fImode\fR Specify vertical writing mode. \fBcjk\fR for RTL vertical writing and \fBmongol\fR for LTR one. The default is \fBnone\fR which means horizontal writing mode. .TP \fB\-H\fR, \fB\-\-bright=\fIvalue\fR Brightness of background images in percent. See \fB\-p\fR option for details of background images. The default is \fB100\fR (keep original). .TP \fB\-I\fR, \fB\-\-icon\fR=\fIname\fR Specify a name to be used when a mlterm window is iconified. The default is "\fBmlterm\fR". .TP \fB\-J\fR, \fB\-\-dyncomb\fR(=\fIbool\fR) Enable dynamic character combining. "Dynamic" means that combining characters are stored in without combining but they are displayed using combined form. This affects calculation of column position, i.e., a pair of base character and combining character is counted to be two columns in this mode, while it is counted to be one column in the normal mode. Under this option, a (logical) column number and a character one-to-one correspondence. even for combining characters (though not for fullwidth characters; see \fB\-Z\fR/\fB\-\-multicol\fR option for handling of fullwidth characters). Thus, this mode enables you to use combining characters with software which does not support combining characters. The default is \fBfalse\fR. .TP \fB\-K\fR, \fB\-\-metakey\fR=\fIvalue\fR Specify a key to be interpreted as a META key. Valid \fIvalue\fRs are: \fBalt\fR, \fBmeta\fR, \fBhyper\fR, \fBsuper\fR, \fBmod1\fR, \fBmod2\fR, \fBmod3\fR, \fBmod4\fR, and \fBnone\fR. The default is \fBnone\fR. See \fB\-k\fR option also. .TP \fB\-L\fR, \fB\-\-ls\fR(=\fIbool\fR) Whether to use login shell or not. The default is \fBfalse\fR. .TP \fB\-M\fR, \fB\-\-im\fR= \fIinput method\fR : \fB[\fR\fI arguments\fR \fB... ]\fR Specify an input method. (See doc/ja/README.ja in detail) .PP .RS .B Examples: .TP \-\-im=xim Use XIM with the default XIM server specified by standard way (i.e., \fBXMODIFIERS\fR environmental variable). .TP \-\-im=xim:Ami Use XIM with Ami on the system locale. .TP \-\-im=xim:kinput2:ja_JP.EUC-JP Use XIM with kinput2 on ja_JP.EUC-JP locale. .TP \-\-im=kbd:arabic Use keyboard mapping input method in Arabic. .TP \-\-im=kbd:hebrew Use keyboard mapping input method in Hebrew. .TP \-\-im=kbd:isciixxx Use keyboard mapping input method in Indic. .TP \-\-im=uim Use uim with the default conversion engine. .TP \-\-im=uim:prime Use uim with prime conversion engine. .TP \-\-im=m17nlib:ru Use m17n library in Russian. .TP \-\-im=m17nlib:or:itrans Use m17n library in Oriya using ITRANS method. .TP \-\-im=scim Use SCIM. .TP \-\-im=ibus Use IBus with the default conversion engine. .TP \-\-im=ibus:anthy Use IBus with anthy conversion engine. .TP \-\-im=fcitx Use Fcitx. .TP \-\-im=canna Use Canna. .TP \-\-im=wnn Use Freewnn. .TP \-\-im=wnn:foo.bar Use Freewnn with jserver at foo.bar host. (JSERVER environmental variable is also available.) .TP \-\-im=skk Use SKK. .TP \-\-im=skk:dict=foo.bar:utf8,sskey=\\x3b Use SKK with the use of utf8 skk server at foo.bar host and semicolon key as sticky shift key. (SKK_DICTIONARY and SKK_STICKY_SHIFT_KEY environmental variable are also available.) .TP \-\-im=iiimf Use IIIMF in the system language. .TP \-\-im=iiimf:ar Use IIIMF in Arabic. .TP \-\-im=iiimf:ja:CannaLE Use IIIMF in Japanese using CannaLE language engine. .TP .TP \-\-im=none Don't use input method. .RE .TP \fB\-N\fR, \fB\-\-name\fR=\fIname\fR Specify application name. The default is "\fBmlterm\fR". .TP \fB\-O\fR, \fB\-\-sbmod\fR=\fIvalue\fR Specify the side to show a scrollbar. \fBleft\fR for left side and \fBright\fR for right side. \fBnone\fR turns off a scrollbar. \fBautohide\fR shows a scrollbar only if mouse pointer is at the right edge of the screen. The default is \fBleft\fR. .TP \fB\-P\fR, \fB\-\-clip\fR(=\fIbool\fR) Whether to enable CLIPBOARD (not only PRIMARY) selection. The default is \fBtrue\fR. .TP \fB\-Q\fR, \fB\-\-vcur\fR(=\fIbool\fR) Change interpretation of cursor keys to be natural in vertical writing mode. This means that up and down arrow keys are treated as backward (left arrow in horizontal LTR) and forward (right arrow in horizontal LTR), respectively. In \fBcjk\fR \fB\-G\fR/\fB\-\-vertical\fR mode, left and right arrow keys are also treated as next line (down arrow in horizontal LTR) and previous line (up arrow in horizontal LTR), respectively, while vice versa in \fBmongol\fR mode. The default is \fBtrue\fR. .TP \fB\-R\fR, \fB\-\-fsrange\fR=\fIrange\fR Set acceptable range of font size. The format is "\fIminsize\fR-\fImaxsize\fR", where \fIminsize\fR and \fImaxsize\fR are font sizes in pixel (default \fB6-30\fR). The GUI configurator and other means for setting fontsize should honor the range. .TP \fB\-S\fR, \fB\-\-sbview\fR=\fIname\fR Select a type of scrollbar. See \fBSCROLLBAR\fR section below for details. The default is "\fBsimple\fR" which means the built-in simple scrollbar. .TP \fB\-T\fR, \fB\-\-title\fR=\fIname\fR Specify a title for a mlterm window. The default is "\fBmlterm\fR". .TP \fB\-U\fR, \fB\-\-viaucs\fR(=\fIbool\fR) Force to convert a selection (i.e., copy-and-paste strings) whose type is not UTF8_STRING to the current mlterm encoding via Unicode. See \fBSELECTION\fR section below for detail. The default is \fBfalse\fR. .TP \fB\-V\fR, \fB\-\-varwidth\fR(=\fIbool\fR) Use variable column width. You may want to use this option when you use proportional fonts. The default is \fBfalse\fR. .TP \fB\-W\fR, \fB\-\-sep\fR=\fIcharacterlist\fR Delimiter characters used for word selection, which are consulted when you double-clicked mlterm, to define what is a word. The default is "\fB ,.:;/|@()[]{}\fR") .TP \fB\-X\fR, \fB\-\-alpha\fR=\fIvalue\fR Alpha in pseudo or true transparent. The default is \fB255\fR. .TP \fB\-Y\fR, \fB\-\-decsp\fR(=\fIbool\fR) Use dynamically composed line drawing character set of DEC special. The default is \fBfalse\fR. This overrides DEC_SPECIAL in "font" configuration file, while DEC_SPECIAL in "aafont" (for Xft or cairo) is always overridden. .TP \fB\-Z\fR, \fB\-\-multicol\fR(=\fIbool\fR) Treat fullwidth characters (east Asian characters in most cases; which occupies two columns on the screen) as they occupy two logical columns. It is the de-facto standard way to handle fullwidth characters in east Asian terminal emulators (XFree86 xterm and kterm, cxterm, hanterm, rxvt, eterm) and other systems such as MS\-DOS, PC\-9801, and so on. In most fonts, the glyphs of fullwidth characters are designed assuming that their width are twice of normal characters and won't display correctly without this option. The default is \fBtrue\fR. .TP \fB\-0\fR, \fB\-\-crbg\fR=\fIcolor\fR Specify background color for cursor (default is same to foreground color). Valid values for \fIcolor\fR are color names defined in rgb.txt and color rgb string whose format is "#RRGGBB", "#RRGGBBAA", "rgb:RR/GG/BB" or "rgba:RR/GG/BB/AA". .TP \fB\-1\fR, \fB\-\-wscr\fR=\fIvalue\fR Specify actual window width, by percentage against calculated value by multiplying font width by column number. This is useful when you use a proportional font which includes some glyphs with exceptionally large width, i.e., much larger "maximum width" than your expectation. In vertical mode this option changes actual window height. The default is \fB100\fR. .TP \fB\-3\fR, \fB\-\-contrast\fR=\fIvalue\fR) Contrast of background image in percent. See \fB\-p\fR option for details of background image. The default is \fB100\fR. .TP \fB\-4\fR, \fB\-\-gamma\fR=\fIvalue\fR) Gamma of background image in percent. See \fB\-p\fR option for details of background image. The default is \fB100\fR. .TP \fB\-5\fR, \fB\-\-big5bug\fR(=\fIbool\fR) Enable a workaround for Big5 CTEXT bugs (which had been existed until XFree86 4.1.0). This affects Big5 selections (i.e., copy-and-paste strings) in COMPOUND_TEXT format which \fBmlterm\fR sends. The default is \fBfalse\fR. .TP \fB\-6\fR, \fB\-\-stbs\fR(=\fIbool\fR) Don't exit backscroll mode when console applications output something. The default is \fBfalse\fR. .TP \fB\-7\fR, \fB\-\-bel\fR=\fImode\fR Behavior when BEL (0x07) is received. \fBsound\fR for beep , \fBvisual\fR for blanking screen and \fBsound|visual\fR for the both. The default is \fBnone\fR which ignores BEL. .TP \fB\-8\fR, \fB\-\-88591\fR(=\fIbool\fR) Use ISO8859-1 fonts for US-ASCII part of various encodings. .TP \fB\-9\fR, \fB\-\-crfg\fR=\fIcolor\fR Specify foreground color for cursor (default is same to background color). Valid values for \fIcolor\fR are color names defined in rgb.txt and color rgb string whose format is "#RRGGBB", "#RRGGBBAA", "rgb:RR/GG/BB" or "rgba:RR/GG/BB/AA". .TP \fB\-$\fR, \fB\-\-mc\fR=\fIvalue\fR Doubleclick/tripleclick interval in millisecond. The default is \fB250\fR. .TP \fB\-%\fR, \fB\-\-logseq\fR(=\fIbool\fR) Enable logging. Contents of stream received by mlterm will be logged under ~/.mlterm/. This option is mainly intended to be used for debugging purposes. The default is \fBfalse\fR. Note that \fB%\fR should be escaped to be supplied as a command line option on most shells. .TP \fB\-&\fR, \fB\-\-borderless\fR(=\fIbool\fR) Asks the window manager to use no decorations at all. Warning: You will not be able to resize the window. You probably want to use \fB\-\-geometry\fR as well. The default is \fBfalse\fR. .TP \fB\-@\fR, \fB\-\-screens\fR=\fIvalue\fR Specify number of screens (sessions) to be used in start up. The default is \fB1\fR. Note that when one of these screens are closed, sessions which were connected to the screens do not immediately killed. See \fBMULTIPLE PTY\fR section for details. .TP \fB\-*\fR, \fB\-\-type\fR=\fIvalue\fR Specify the rendering engine to be used to draw fonts. \fBxcore\fR is conventional X11 core font mechanism. \fBxft\fR means Xft mechanism and \fBcairo\fR means cairo mechanism. The default is \fBcairo\fR. .TP \fB\-#\fR, \fB\-\-initstr\fR=\fIvalue\fR Specify a string to be automatically sent after initialization of session. The \fBvalue\fR normally will be parsed by a shell. See \fB\-e\fR option to execute other application at start-up time. .TP \fB\-a\fR, \fB\-\-ac\fR=\fIvalue\fR Specify number of columns to be occupied by a Unicode's "EastAsianAmbiguous" character. The default is \fB1\fR except "ja" locale where the default is \fB2\fR. Some of asian people may want to specify \fB2\fR. See Unicode Standard Annex (UAX) #11 East Asian Width found at Unicode web site for details. .TP \fB\-b\fR, \fB\-\-bg\fR=\fIcolor\fR Specify background color (default \fBwhite\fR). Valid values for \fIcolor\fR are color names defined in rgb.txt and color rgb string whose format is "#RRGGBB", "#RRGGBBAA", "rgb:RR/GG/BB" or "rgba:RR/GG/BB/AA". .TP \fB\-c\fR, \fB\-\-cp932\fR(=\fIbool\fR) Use CP932 mapping table to convert from JIS X 0208 to Unicode when displaying JIS X 0208 characters using Unicode font in Xft or cairo mode. This is useful when you use proprietary Japanese true type fonts which are intended to be used with Microsoft Windows, with \fBmlterm\fR with encodings (such as EUC-JP, Shift_JIS, ISO-2022-JP, and so on) which contain JIS X 0208 as a coded character set. The reason is, such proprietary fonts may have glyphs only for Unicode code points into which JIS X 0208 code points are converted using CP932 mapping table. (CP932 is a name of mapping table which is used by Microsoft to convert from Shift_JIS [plus Microsoft private extended characters] into Unicode. In Unicode's point of view, CP932 is a name of encoding which is similar to Shift_JIS and is used by Japanese version of Microsoft Windows.) If you use such fonts for encodings such as EUC-JP and Shift_JIS with JIS0208.TXT mapping table which \fBmlterm\fR adopts as the standard, a few characters are mapped into Unicode code points where the fonts don't have glyphs. Both of CP932.TXT and JIS0208.TXT mapping tables are supplied by Unicode Consortium, though they are regarded to be obsolete. The default is \fBtrue\fR. .TP \fB\-d\fR, \fB\-\-display\fR=\fIstring\fR Specify X display to connect with. .TP \fB\-e\fR \fIprogram\fR \fB[\fR \fIarguments\fR \fB... ]\fR Invoke the command in the \fBmlterm\fR window. This option must be the last option on the command line. .TP \fB\-f\fR, \fB\-\-fg\fR=\fIcolor\fR Foreground color (default \fBblack\fR). Valid values for \fIcolor\fR are color names defined in rgb.txt and color rgb string whose format is "#RRGGBB", "#RRGGBBAA", "rgb:RR/GG/BB" or "rgba:RR/GG/BB/AA". .TP \fB\-g\fR, \fB\-\-geometry\fR=\fIgeometry\fR Specify size and position of the window; see \fBX\fR(7). .TP \fB\-h\fR, \fB\-\-help\fR(=\fIbool\fR) Show help messages. .TP \fB\-i\fR, \fB\-\-xim\fR(=\fIbool\fR) Whether to use XIM (X Input Method). Most east Asian people will want to enable this option. Other people can also safely enable this. The default is \fBtrue\fR. The name of the XIM server to be connected is specified by standard way (i.e., \fBXMODIFIERS\fR environmental variable). .TP \fB\-j\fR, \fB\-\-daemon\fR=\fIvalue\fR Start as a daemon process. Note that mlclient is executed if a daemon process has already started. Possible \fR=\fIvalue\fRs are "blend" and "genuine". See the chapter of \fBDAEMON MODE\fR for details. .TP \fB\-k\fR, \fB\-\-meta\fR=\fImode\fR Behavior of META key. \fBesc\fR for sending ESC and \fBnone\fR for ignoring META key. The default is \fB8bit\fR which sets the most significant bit. See \fB\-K\fR option also. .TP \fB\-l\fR, \fB\-\-sl\fR=\fIvalue\fR Specify number of lines of backlog or "unlimited". The default is \fB128\fR. .TP \fB\-m\fR, \fB\-\-comb\fR(=\fIbool\fR) Enable combining characters by overstriking glyphs (recommended for TIS-620, TCVN5712, and UTF-8). Note that fonts which contain combining characters which extend backward cannot be used, since \fBmlterm\fR does combine characters by controlling the writing positions. This option is automatically turned on when using \fB\-\-dyncomb\fR option. The default is \fBtrue\fR. .TP \fB\-n\fR, \fB\-\-noucsfont\fR(=\fIbool\fR) Use non-Unicode fonts even when \fBmlterm\fR encoding is UTF-8. Useful when you don't have ISO10646-1 fonts and you want to use UTF-8 encoding. The default is \fBfalse\fR. .TP \fB\-o\fR, \fB\-\-lsp\fR(=\fIvalue\fR) Specify number of extra pixels between lines. The default is \fB0\fR. .TP \fB\-p\fR, \fB\-\-pic\fR=\fIpath\fR Path for a wallpaper (background) image. Note that the wallpaper cannot be used with pseudo transparent background. .TP \fB\-q\fR, \fB\-\-extkey\fR(=\fIbool\fR) Enable extended keys for backscroll mode. The default is \fBfalse\fR. Extended scroll keys are \fBSCROLL_UP\fR, up arrow, and "k" (for scrolling one line backward) and \fBSCROLL_DOWN\fR, down arrow, and "j" (for scrolling one line forward). Please note that concrete keys for symbols of \fBSCROLL_UP\fR and \fBSCROLL_DOWN\fR are specified in \fBkey\fR configuration file. Only keys of \fBPAGE_UP\fR and \fBPAGE_DOWN\fR (which are specified in \fBkey\fR configuration file) are available by default. .TP \fB\-r\fR, \fB\-\-fade\fR=\fIratio\fR Specify fading ratio for unfocused windows. \fB100\fR means no fading and \fB0\fR means darkest. The default is \fB100\fR .TP \fB\-s\fR, \fB\-\-mdi\fR(=\fIbool\fR) Whether to use multiple document interface. The default is \fBtrue\fR. If you disable this option, scrollbar and screen separation are unavailable. .TP \fB\-t\fR, \fB\-\-transbg\fR(=\fIbool\fR) Whether to enable pseudo transparent background. Note that pseudo transparent background cannot be used with wallpaper. The default is \fBfalse\fR. .TP \fB\-u\fR, \fB\-\-onlyucsfont\fR(=\fIbool\fR) Use Unicode fonts even when \fBmlterm\fR encoding is not UTF-8. Useful when you have ISO10646 fonts but you don't have other fonts and want to use non-UTF-8 encodings. Note that conversion to Unicode is lossy. i.e. if \fBmlterm\fR encoding is not a subset of Unicode like ISO-2022-JP-2 or EUC-TW, characters which are regarded as a same character in Unicode will be displayed with the same glyph and cannot be distinguished. The default is \fBfalse\fR. .TP \fB\-v\fR, \fB\-\-version Show version information. .TP \fB\-w\fR, \fB\-\-fontsize\fR=\fIvalue\fR Specify font size in pixel. The default is \fB16\fR. .TP \fB\-x\fR, \fB\-\-tw\fR=\fIvalue\fR Specify tab width. The default is \fB8\fR. .TP \fB\-y\fR, \fB\-\-term\fR=\fIstring\fR Specify terminal type, i.e., the value of \fBTERM\fR variable. The default is \fBxterm\fR. .TP \fB\-z\fR, \fB\-\-largesmall\fR=\fIsize\fR Specify the step of changing font size in pixel when you pushed "Font size larger" or "Font size smaller" button on GUI configurator. The default is \fB1\fR. .TP \fB\-\-ade\fR=\fIvalue\fR Specify character encodings detected automatically. .TP \fB\-\-auto\fR(=\fIbool\fR) Automatically detect appropriate character encoding from the encodings specified by \-\-ade option. The default is \fBfalse\fR. .TP \fB\-\-altbuf\fR(=\fIbool\fR) Whether to enable alternate screen buffer. This option is similar to "titeInhibit" of xterm. .TP \fB\-\-bc\fR(=\fIbool\fR) Whether to broadcast input or pasted characters to all ptys whose value of "ignore_broadcasted_chars" option is false. The default is \fBfalse\fR. .TP \fB\-\-bd\fR=\fIvalue\fR Specify the color to use to display bold characters. .TP \fB\-\-bdfont\fR(=\fIbool\fR) Use bold font for characters with the bold attribute. The default is \fBtrue\fR. .TP \fB\-\-bimode\fR=\fIvalue\fR Specify bidi mode. Valid values are: \fBnormal\fR, \fBleft\fR and \fBright\fR. The default is \fBnormal\fR. .TP \fB\-\-bisep\fR=\fIcharacterlist\fR Specify separator characters to render bidi text. .TP \fB\-\-bl\fR=\fIvalue\fR Specify the color to use to display blinking characters. .TP \fB\-\-blink\fR(=\fIbool\fR) Blink cursor. The default is \fBfalse\fR. .TP \fB\-\-blpos\fR=\fIvalue\fR Specify the position (offset from the default baseline) of baseline. The default is \fB0\fR. .TP \fB\-\-border\fR=\fIvalue\fR Specify inner border width. The default is \fB2\fR. The maximum value is \fB224\fR. .TP \fB\-\-boxdraw\fR=\fIvalue\fR Use either unicode font or DEC Special font forcibly to draw box-drawing characters. \fBunicode\fR for unicode font and \fBdecsp\fR for DEC special font. The default is \fBnoconv\fR which draw them as they are. .TP \fB\-\-ciphlist\fR=\fIvalue\fR Specify ciphers (comma separated list) for encrypting the ssh session. .TP \fB\-\-ckm\fR=\fIencoding\fR Specify encoding of the console where mlterm-con works. Valid encodings are listed in \fBDESCRIPTION\fR section above in this man page. \fBAUTO\fR makes mlterm determine the according according to the current locale (default \fBAUTO\fR). .TP \fB\-\-co\fR=\fIvalue\fR Specify the color to use to display crossed-out characters. .TP \fB\-\-colors\fR(=\fIbool\fR) Whether to recognize ANSI color change escape sequences. The default is \fBtrue\fR. .TP \fB\-\-csc\fR=\fIvalue\fR Specify the number of sixel graphics colors of the console where mlterm-con works. A valid value is 16, 256 or full. The default is \fB16\fR. .TP \fB\-\-csp\fR=\fIvalue\fR Specify number of extra pixels between lines. (ignored if you specify \fB\-\-V\fR option.) The default is \fB0\fR. .TP \fB\-\-csz\fR=\fIvalue\fR Specify cell width and height in pixel which mlterm-con uses if it doesn't get them. The default is \fB8,16\fR. .TP \fB\-\-da1\fR=\fIvalue\fR Specify primary device attributes string. The default is \fB63;1;2;3;4;7;29\fR. .TP \fB\-\-da2\fR=\fIvalue\fR Specify secondary device attributes string. The default is \fB24;279;0\fR. .TP \fB\-\-depth\fR=\fIvalue\fR Specify visual depth. (8,16,24,32) If depth is 32, you can enable semi-transparency by specifying opacity as the value of \-\-alpha option or "rgba:RR/GG/BB/AA" as the value of \-\-bg option. .TP \fB\-\-deffont\fR=\fIvalue\fR DEFAULT in ~/.mlterm/*font. .TP \fB\-\-exitbs\fR(=\fIbool\fR) Whether to exit backscroll mode on receiving data from pty. The default is \fBfalse\fR. .TP \fB\-\-fullwidth\fR=\fIvalue\fR Force full width regardless of EastAsianWidth.txt. e.g.) --fullwidth=U+1234-5678,U+0123-4567 .TP \fB\-\-ibc\fR(=\fIbool\fR) Whether to ignore broadcasted characters. The default is \fBfalse\fR. .TP \fB\-\-iconpath\fR=\fIpath\fR Specify the file to be used as a window icon. .TP \fB\-\-it\fR=\fIvalue\fR Specify the color to use to display italic characters. .TP \fB\-\-itfont\fR(=\fIbool\fR) Use italic font for characters with the italic attribute. The default is \fBtrue\fR. .TP \fB\-\-keepalive\fR=\fIvalue\fR Specify interval seconds to send keepalive message to ssh server. The default is \fB0\fR. .TP \fB\-\-lborder\fR=\fIvalue\fR Specify inner border width of a layout manager. The default is \fB0\fR. The maximum value is \fB224\fR. .TP \fB\-\-ldd\fR(=\fIbool\fR) Embold glyphs by drawing doubly at 1 pixel leftward instead of rightward. The default is \fBfalse\fR. .TP \fB\-\-locale\fR=\fIvalue\fR Specify locale. The default is \fB""\fR. .TP \fB\-\-logmsg\fR(=\fIbool\fR) Enable logging messages of mlterm to ~/.mlterm/msg.log. The default is \fBtrue\fR. .TP \fB\-\-loecho\fR(=\fIbool\fR) Whether to use local echo mode or not. The default is \fBfalse\fR. .TP \fB\-\-maxptys\fR=\fIvalue\fR Specify maximum number of ptys (sessions) to be opened simultaneously. It should be multiple of 32. The default is \fB32\fR. See \fBMULTIPLE PTY\fR section for detail. .TP \fB\-\-metaprefix\fR=\fIvalue\fR Specify prefix characters in pressing meta key if mod_meta_mode = esc. The default is \fB\\x1b\fR. .TP \fB\-\-noul\fR(=\fIbool\fR) Don't draw underline. The default is \fBfalse\fR. .TP \fB\-\-oft\fR=\fIvalue\fR Specify features of glyph substitution. The default is \fBfliga,clig,dlig,hlig,rlig\fR. .TP \fB\-\-osc52\fR(=\fIbool\fR) Allow access to clipboard(selection) by OSC 52 sequence. The default is \fBfalse\fR. .TP \fB\-\-ost\fR=\fIvalue\fR Specify script of glyph substitution. The default is \fBflatn\fR. .TP \fB\-\-otl\fR(=\fIbool\fR) Whether to show substituting glyphs in open type fonts with the use of libotf or harfbuzz. Don't specify \-\-ctl=false if you want to use substituting glyphs. \-\-ctl option disables automatic search of alternative glyphs in other fonts on cairo/xlib and freetype+fontconfig/{wayland|framebuffer}. The default is \fBfalse\fR. .TP \fB\-\-parent\fR=\fIvalue\fR Specify parent Window ID. The default is \fB0\fR. .TP \fB\-\-point\fR(=\fIbool\fR) Treat the value of \-w option as point instead of pixel. Note that this option works on xft, cairo or win32. The default is \fBfalse\fR. .TP \fB\-\-scp\fR(=\fIbool\fR) Allow OSC 5379 scp. The default is \fBfalse\fR. Even if allow_scp = false, it is possible to transfer a file to "." directory (~/.mlterm/scp). .TP \fB\-\-serv\fR=\fIvalue\fR Specify a host you want to connect via ssh etc. This option is enabled only if mlterm is built with MinGW or \-\-enable\-ssh2 option. Value format: (<protocol>://)(<user>@)<server>(:<port>)(:<encoding>) e.g.) mlterm \-\-serv ssh://user@host:22:eucjp .TP \fB\-\-pubkey\fR=\fIvalue\fR Specify public key file for ssh connection. The default is \fB~/.ssh/id_rsa.pub\fR(\fB%HOMEPATH%\mlterm\id_rsa.pub\fR in win32). .TP \fB\-\-privkey\fR=\fIvalue\fR Specify private key file for ssh connection. The default is \fB~/.ssh/id_rsa\fR(\fB%HOMEPATH%\mlterm\id_rsa\fR in win32). .TP \fB\-\-rcn\fR(=\fIbool\fR) Reconnect to ssh server automatically in unexpected disconnection. The default is \fBfalse\fR. .TP \fB\-\-restart\fR=\fIvalue\fR Whether to restart mlterm with all opened ptys except ssh if SIGSEGV, SIGBUS, SIGFPE or SIGILL is received. The default is \fBtrue\fR. .TP \fB\-\-seqfmt\fR=\fIvalue\fR Specify the format of logging vt100 sequence. \fBraw\fR for logging as it is and \fBttyrec\fR for logging by ttyrec format. The default is \fBraw\fR. .TP \fB\-\-shortcut\fR(=\fIbool\fR) Whether to allow dynamic change of shortcut keys by OSC 5379 set_shortcut sequence. The default is \fBfalse\fR. .TP \fB\-\-trim\fR(=\fIbool\fR) Whether to trim new line characters at the end in pasting text. The default is \fBfalse\fR. .TP \fB\-\-ul\fR=\fIvalue\fR Specify the color to use to display underlined characters. .TP \fB\-\-ulpos\fR=\fIvalue\fR Specify the position (offset from the baseline) of underline. The default is \fB0\fR. .TP \fB\-\-ucsnoconv\fR=\fIvalue\fR Use unicode fonts partially regardless of -n option. e.g.) --ucsnoconv=U+1234-5678,U+0123-4567 .TP \fB\-\-urgent\fR(=\fIbool\fR) Draw the user's attention when making a bell sound in the unfocused window. The default is \fBfalse\fR. .TP \fB\-\-uriword\fR(=\fIbool\fR) Select URI by double clicking it regardless of \fB\-W\fR option. The default is \fBfalse\fR. .TP \fB\-\-vtcolor\fR=\fImode\fR Set vt color mode. \fB256\fR for pseudo color, \fBhigh\fR for high color and \fBtrue\fR for true color. The default is \fBhigh\fR. .TP \fB\-\-working\-directory\fR=\fIvalue\fR Working directory. .TP \fB\-\-x11\fR(=\fIbool\fR) Enable x11 forwarding for ssh connection. The default is \fBfalse\fR. .\" ******************************************************************** .SH GUI CONFIGURATOR Pushing control key and mouse button 3 invokes GUI configurator (\fBmlconfig\fR). It can modify encoding, foreground and background color, tab size, backlog size, font size, usage of combining character, and so on. .PP GUI configurator has six pages (Encoding, Font, Background, Color, Scrollbar, and Others), OK/Apply/Cancel buttons, and four special buttons. .PP Note this feature needs GTK+ 2.x or later. .\" ****************************************************** .SS Encoding page Encoding-related configurations are located in this page. Note that configurations will be enabled when you push Apply button. .TP Encoding Specify encoding. (\fB\-E\fR, \fB\-\-km\fR) .TP Auto detect Whether to detect appropriate character encoding automatically. (\fB\-\-auto\fR) .TP Encoding list Specify character encodings detected automatically. (\fB\-\-ade\fR) .TP Input Method Specify which input method to be used. (\fB\-M\fR, \fB\-\-im\fR) .PP .RS .B XIM: .TP XIM Server Specify the name of XIM server to be connected. You can input from your keyboard or you can choose one of registered XIM servers. This doesn't have equivalent command option. See the section of \fBXIM Configuration File\fR for registration of XIM servers. .TP XIM locale Specify the name of the locale to be used for connection to the XIM server. Popular XIM servers usually have acceptable locales to be used for connection. If you choose registered XIM server in \fBInput Method\fR, this will be set automatically. You can also input the locale name from your keyboard. .PP .B keyboard: .TP Option Specify the name of key mapping table. When using ISCII encoding, Indic key mapping is used automatically. In other encodings, this will be automatically selected according to the current locale. .PP .B uim: .TP Option Specify the name of the conversion engine to be used. If you choose auto, the conversion engine will be automatically selected according to the current locale. .PP Note this feature needs uim library. .PP .B m17n library: .TP Option Specify the language and the input method to be used. If you choose auto, the language and input method will be automatically selected according to the current locale. .PP Note this feature needs m17n library and m17n-db. .PP .B SCIM: .TP No option .PP .B iBus: .TP No option .PP .B Fcitx: .TP No option .PP .B Freewnn: .TP Option Specify the address of the host where jserver works. .PP .B Canna: .TP No option .PP .B SKK: .TP Option Specify the place of skk dictionary (server or file) and the key used as sticky shift key. .PP .B IIIMF: .TP Option Specify the language id (RFC1766) and the language engine to be used. If you choose auto, the language id/engine will be automatically selected according to the current locale. .PP Note this feature needs IIIMCF library. .RE .TP Complex Text Layout Whether to enable complex text layouting on UTF8 encoding to support indic scripts and RTL (right-to-left) languages such as Arabic and Hebrew. (\fB\-C\fR, \fB\-\-ctl\fR) .TP Combining Whether to support combining characters by overstriking. (\fB\-m\fR, \fB\-\-comb\fR) .TP Combining = 1 (or 0) logical column(s) Processing combining characters as if it occupies one column logically while it occupies zero column on the screen. (\fB\-J\fR, \fB\-\-dyncomb\fR) .TP Process received strings via Unicode When you paste some strings into \fBmlterm\fR, the strings are converted into Unicode and then to \fBmlterm\fR encoding. (\fB\-U\fR, \fB\-\-viaucs\fR) .TP OpenType Layout Whether to show substituting glyphs in open type fonts with the use of libotf or harfbuzz. (\fB\-\-otl\fR) .TP Ambiguouswidth = fullwidth (UTF8 only) Processing Unicode characters with EastAsianAmbiguous property as fullwidth. (\fB\-a\fR, \fB\-\-ac\fR) .TP Fullwidth = 2 (or 1) logical column(s) Processing CJK fullwidth characters as it occupies two columns logically since it occupies two columns on the screen. (\fB\-Z\fR, \fB\-\-multicol\fR) .\" ****************************************************** .SS Font page Configurations related to appearance (or look&feel) are located in this page. .TP Font size Font size in pixel. (\fB\-w\fR, \fB\-\-fontsize\fR) .TP Foreground color Foreground color for letters. (\fB\-f\fR, \fB\-\-fg\fR) .TP Xft Use xft for rendering engine. (\fB\-*\fR, \fB\-\-type\fR) .TP Cairo Use cairo for rendering engine. (\fB\-*\fR, \fB\-\-type\fR) .TP Anti alias Use anti-alias fonts by using Xft or cairo. (\fB\-A\fR, \fB\-\-aa\fR) .TP Variable column width Use variable column width. (\fB\-V\fR, \fB\-\-varwidth\fR) .TP Vertical mode Vertical writing mode. (\fB\-G\fR, \fB\-\-vertical\fR) .TP Font name Specify XLFD, Xft or cairo font for character sets. "Select" button shows a dialog to choose it. .TP Font policy Whether to use unicode fonts (or non-unicode fonts) all the time regardless of a selected encoding. (\fB\-u\fR, \fB\-\-onlyucsfont\fR) (\fB\-n\fR, \fB\-\-noucsfont\fR) .TP Box drawing Whether to use a unicode font or (a dec special font) all the time to draw box drawing characters. (\fB\-\-boxdraw\fR) .TP Line space Specify number of extra dots between lines. (\fB\-o\fR, \fB\-\-lsp\fR) .TP Letter space Specify number of extra dots between characters. (\fB\-\-csp\fR) .TP Underline position Specify the position (offset from the baseline) of underline. (\fB\-\-ulpos\fR) .TP Baseline position Specify the position (offset from the default baseline) of baseline. (\fB\-\-blpos\fR) .TP Screen size ratio against font size Specify actual screen width (screen height in vertical mode). (\fB\-1\fR, \fB\-\-wscr\fR) .\" ****************************************************** .SS Background page Configurations related to background are located in this page. .TP Background color Background color. (\fB\-b\fR, \fB\-\-bg\fR) .TP Picture Specify the image file to be used for background image. (\fB\-p\fR, \fB\-\-pic\fR) .TP Pseudo Transparent Pseudo transparent background. (\fB\-t\fR, \fB\-\-transbg\fR) .TP Picture/Transparent Brightness, Contrast, Gamma and Alpha. Brightness, contrast, gamma alpha of the background image. (\fB\-H\fR, \fB\-\-bright\fR) (\fB\-3\fR, \fB\-\-contrast\fR) (\fB\-4\fR, \fB\-\-gamma\fR) (\fB\-X\fR, \fB\-\-alpha\fR) .TP Fade ratio on unfocus Fading ratio when window is unfocused. (\fB\-r\fR, \fB\-\-fade\fR) .\" ****************************************************** .SS Color page Configurations related to color are located in this page. .TP Cursor color Specify color to show cursor. (\fB\-9\fR, \fB\-\-crfg\fR) (\fB\-0\fR, \fB\-\-crbg\fR) .TP Substituting color Specify color to show instead of bold, underlined, italic, blinking or crossed-out attribute. (\fB\-\-bd\fR) (\fB\-\-ul\fR) (\fB\-\-it\fR) (\fB\-\-bl\fR) (\fB\-\-co\fR) .TP VT basic 16 colors Customize VT basic 16 text colors. .\" ****************************************************** .SS Scrollbar page Configurations related to scrollbar are located in this page. .TP Position Specify scrollbar position. (\fB\-O\fR, \fB\-\-sbmod\fR) .TP View Specify name of scrollbar. (\fB\-S\fR, \fB\-\-sbview\fR) .TP Foreground color Specify foreground color of scrollbar. (\fB\-F\fR, \fB\-\-sbfg\fR) .TP Background color Specify background color of scrollbar. (\fB\-B\fR, \fB\-\-sbbg\fR) .\" ****************************************************** .SS Others page Other configurations are located in this page. .TP Tab size Column number of tab. (\fB\-x\fR, \fB\-\-tw\fR) .TP Backlog size Number of lines of backlog. (\fB\-l\fR, \fB\-\-sl\fR) .TP Columns/Rows Number of columns and rows of the screen. (\fB\-g\fR, \fB\-\-geometry\fR) .TP Word separators Delimiter characters used for word selection, which are consulted when you double-clicked mlterm, to define what is a word. (\fB\-W\fR, \fB\-\-sep\fR) .TP Double click interval (msec) Doubleclick/tripleclick interval in millisecond. (\fB\-$\fR, \fB\-\-mc\fR) .TP Meta key outputs Behavior of META key. (\fB\-k\fR, \fB\-\-meta\fR) .TP Bell mode Behavior when \fBmlterm\fR receives BEL (0x07) code. (\fB\-7\fR, \fB\-\-bel\fR) .TP Save log Whether to log sequence received from pty in ~/.mlterm/[pty].log in raw or ttyrec format. (\fB\-\-logseq\fR) (\fB\-\-seqfmt\fR) .TP CLIPBOARD Selection Whether to enable CLIPBOARD (not only PRIMARY) selection. (\fB\-P\fR, \fB\-\-clip\fR) .TP Local echo Whether to use local echo mode. (\fB\-\-loecho\fR) .TP Blink cursor Whether to blink cursor. (\fB\-\-blink\fR) .TP Don't scroll automatically in scrolling back. Don't exit backscroll mode when console applications output something. (\fB\-6\fR, \fB\-\-stbs\fR) .TP Scroll by Shift+Up or Shift+Down Enable extended keys for backscroll mode. (\fB\-q\fR, \fB\-\-extkey\fR) .TP Select URI by double click Select URI by double clicking it regardless of \fB\-W\fR option. (\fB\-\-uriword\fR) .TP Send keys to all windows Whether to broadcast input or pasted characters to all ptys whose value of "ignore_broadcasted_chars" option is false. (\fB\-\-bc\fR) .TP Trim trailing CR/LF in pasting Whether to trim new line characters at the end in pasting text. (\fB\-\-trim\fR) .\" ****************************************************** .SS Buttons There are buttons which is independent from OK/Apply/Cancel buttons. .TP OK/Apply/Cancel OK button applies the modified configuration to the current mlterm session, saves it to "\fB~/.mlterm/main\fR" configuration file, and quits the GUI Configurator. Apply button just applies the modified configuration to the current \fBmlterm\fR session. .TP Font size (Larger and Smaller) Change font size. .TP Full reset Reset internal status. .TP SSH SCP Transfer a file via SCP. .TP PTY List One process of \fBmlterm\fR may have multiple sessions and screens. The sessions may or may not have corresponding screen, i.e., the number of sessions can be more than the number of screens. Such situation can be achieved by closing a part of multiple screens from \fB\-@\fR/\fB\-\-screens\fR option. In such case, the screen-less session can be designated to one of screens by choosing the session (pty) from this list and push "select" button. .\" ******************************************************************** .SH CONFIGURABLE MENU Pushing control key and mouse button 1 invokes configurable menu displayer (\fBmlterm-menu\fR). It displays a menu with items such as "Larger Font" or "UTF-8 encoding". Though a default menu definition is supplied, you can freely define menu items by writing a menu configuration file. See \fBMenu Configuration File\fR section for detail. .PP Note this feature needs GTK+ 2.x or later. .\" ******************************************************************** .SH MULTIPLE XIM \fBmlterm\fR can use multiple XIM (X Input Method) servers. The current XIM is specified by the GUI configurator. Using this feature you can input multiple complex languages such as Japanese and Korean. Locale to be used for communication with XIM can also be specified for each XIM. In the GUI configurator, you can choose one of registered pair of XIM and its locale or you can input your favorite XIM and its locale. .PP The locale for XIM is only used for communication with the XIM and is not related to the current \fBmlterm\fR locale. You have to properly configure the XIM locale only when your XIM has preference on the locale of XIM client (i.e., \fBmlterm\fR in this case). \fBmlterm\fR automatically convert the inputed string into proper encoding and you don't have to care about it. .PP Of course the initial XIM is chosen by using standard configuration, i.e., using \fBXMODIFIERS\fR environmental variable. See \fBX\fR(7) for detail on XIM and \fBXMODIFIERS\fR variable. .\" ******************************************************************** .SH DAEMON MODE When invoked with \fB\-j\fR/\fB\-\-daemon\fR command line option, mlterm starts to listen on a unix domain socket and accept requests from mlclient. With \fBblend\fR mlterm will exit when the final terminal window is closed. But with \fBgenuine\fR, mlterm will disconnect from X server windows and continues to work. In latter case, it's possible to stop and restart a X server and revive the lasting sessions on mlterm. .\" ******************************************************************** .SH SCROLLBAR \fBmlterm\fR supports scrollbar API so that users can develop scrollbar libraries with arbitrary look and feel. The scrollbar libraries can be used by putting the libraries at the specified directory (determined on the compilation process) and invoke \fBmlterm\fR with \fB\-s \-S \fIname\fR option. Scrollbar libraries named "\fBsample\fR", "\fBsample2\fR", "\fBathena\fR", "\fBmotif\fR", "\fBmozmodern\fR", and "\fBnext\fR" are supplied. .\" ******************************************************************** .SH ANTI\-ALIAS \fBmlterm\fR can use True Type fonts using \-A option via FreeType library when it has been compiled with anti\-alias option. .PP Note this feature needs XFree86 4.0.2 or above and FreeType 2.0.2 or above. .\" ******************************************************************** .SH WALLPAPER \fBmlterm\fR can use background image (as known as wallpaper), by using \fB\-p\fR/\fB\-\-pic\fR option. You can also specify the brightness of the image by using \fB\-H\fR/\fB\-\-bright\fR option. .PP Note this feature needs gdk-pixbuf. .\" ******************************************************************** .SH MULTIPLE PTY This is one of most unique features of \fBmlterm\fR. The number of windows can be specified using \-P option. Typing control + F1 opens another window which shares the same process. The maximum number of windows can be specified using \-\-maxptys option. .\" ******************************************************************** .SH BACKSCROLL MODE \fBmlterm\fR enters into backscroll mode by typing Shift + up or Shift + PageUp key. In the mode, you can use the following keys. .TP \fBj\fR or \fBDown\fR Scroll down one line. .TP \fBk\fR or \fBUp\fR Scroll up one line. .TP \fBd\fR or \fBPageDown\fR Scroll down one page. .TP \fBu\fR or \fBPageUp\fR Scroll up one page. .TP \fBShift\fR + \fBspace\fR Initialize XIM. .TP \fBShift\fR + \fBInsert\fR Insert selection. .TP \fBControl\fR + \fBF1\fR Open a new pty window. .TP keys defined in \fBkey\fR configuration file \fBPAGE_UP\fR, \fBPAGE_DOWN\fR, \fBSCROLL_UP\fR, and \fBSCROLL_DOWN\fR keys are defined in the file. .TP other keys Exit from the backscroll mode. .PP Please note that keys other than \fBPAGE_UP\fR and \fBPAGE_DOWN\fR in \fBkey\fR configuration file are available only when you used \fB\-q\fR/\fB\-\-extkey\fR command option. .\" ******************************************************************** .SH SELECTION Selection is a mechanism to be used for copy-and-paste in X Window System. Thus, this section describes on so-called copy-and-paste. .PP There are many encodings in the world. Though copy-and-paste needs sender and receiver and each of them can use one of various encodings, \fBmlterm\fR is designed to be able to receive characters from various encodings as much as possible. .PP There are two internationalized types of selection. One is \fBCOMPOUND_TEXT\fR is the another is \fBUTF8_STRING\fR. COMPOUND_TEXT is ISO2022-based and can distinguish character sets which a character belongs to. However, the character sets which COMPOUND_TEXT supports are limited to ISO8859-* and East Asian character sets. On the other hand, UTF8_STRING is Unicode-based and can express all characters from Unicode character set. However, it cannot distinguish characters from different character sets which share one codepoint in Unicode, which can be a problem especially for CJK Han Ideogram (in other words, Kanji, Hanji, or Hanja). Note that UTF8_STRING is rather new and can be used only with XFree86. .PP Though the receiver of copy-and-paste can request the preferable type of selection, the sender may not support the requested type. Thus \fBmlterm\fR has to be able to process both of COMPOUND_TEXT and UTF8_STRING. .PP On the other hand, encodings supported by \fBmlterm\fR (see \fBDESCRIPTION\fR section for detail) are classified into four categories; .TP (a) Unicode itself UTF-8. .TP (b) subset of Unicode and ISO-2022-compliant "Subset of Unicode" means that Unicode supports round-trip compatibility for the encoding, i.e., the conversion of the encoding \-\-> Unicode \-\-> the encoding doesn't lose any information. "ISO-2022-compliant" means that the encoding can be regarded as a subset of ISO-2022 where a part of ISO-2022 control codes and escape sequences are not supported. Many popular encodings belong to this category such as ISO-8859-*, EUC-*, ISO-2022-KR, TIS-620, TCVN5712, and so on. .TP (c) subset of Unicode and non-ISO-2022-compliant Some of popular encodings such as Shift_JIS, Big5, GBK, GB18030, Johab, and so on belongs to this category. .TP (d) not subset of Unicode ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-3, EUC-TW, and so on. All of them are ISO-2022-compliant. .PP Now the behavior of \fBmlterm\fR can be explained. .PP .nf ------------------------------------------------------- encoding received selection how to process? ------------------------------------------------------- a COMPOUND_TEXT convert to Unicode a UTF8_STRING no need for conversion b COMPOUND_TEXT user preference *1 b UTF8_STRING convert to the encoding *2 c COMPOUND_TEXT user preference *1 c UTF8_STRING convert to the encoding *2 d COMPOUND_TEXT no need for conversion *3 d UTF8_STRING convert to the encoding *2 ------------------------------------------------------- .fi .PP *1 Characters from unsupported character sets (i.e., characters which cannot be expressed in the \fBmlterm\fR encoding) may appear in the selection (received copy-and-paste string). If you want to receive characters which are equivalent to characters which are supported in the current \fBmlterm\fR encoding (i.e., characters which share the same codepoint in Unicode), you can use \fB\-U\fR (or \fB\-\-viaucs\fR) option. Otherwise, these characters are pasted into \fBmlterm\fR using ISO-2022 escape sequence (when \fBmlterm\fR encoding is category b). Note such ISO-2022 escape sequences are illegal in the current \fBmlterm\fR encoding and the application software will need special feature to treat them properly, though it is displayed well in \fBmlterm\fR. When \fBmlterm\fR encoding is category c, such characters are simply ignored (when \fB\-U\fR option is not enabled). .PP *2 Characters which cannot be converted into \fBmlterm\fR encoding are simply ignored. .PP *3 Characters from unsupported character sets will be pasted into \fBmlterm\fR using ISO-2022 escape sequence. .\" ******************************************************************** .SH CONFIGURATION \fBmlterm\fR loads configuration files of "\fBmain\fR", "\fBfont\fR", "\fBvfont\fR", "\fBtfont\fR", "\fBaafont\fR", "\fBvaafont\fR", "\fBtaafont\fR", "\fBcolor\fR", "\fBkey\fR", "\fBtermcap\fR", and "\fBxim\fR" on start up. "\fBmenu\fR" configuration file is loaded by the configurable menu displayer (\fBmlterm-menu\fR). See the section of \fBCONFIGURABLE MENU\fR for detail. .PP Configuration files for one user are to be located in "\fB~/.mlterm/\fR" directory, while location for configuration files for all users depends on the compilation option. Possible locations are "\fB/etc/\fR", "\fB/etc/X11/\fR", "\fB/usr/X11R6/lib/X11/mlterm/\fR", and so on. .PP The names and the roles of configuration files are: .TP \fBmain\fR Main configuration items which can be overridden by command line options. .TP \fBfont\fR Configurations for ordinary X fonts. .TP \fBvfont\fR Configurations for ordinary X fonts of variable column width. .TP \fBtfont\fR Configurations for ordinary X fonts of vertical writing. .TP \fBaafont\fR Configurations for Xft or cairo fonts. .TP \fBvaafont\fR Configurations for Xft or cairo fonts of variable column width. .TP \fBtaafont\fR Configurations for Xft or cairo fonts of vertical writing. .TP \fBcolor\fR Designate concrete RGB values for color names. .TP \fBkey\fR Key definitions for special features of \fBmlterm\fR. .TP \fBtermcap\fR Define \fBmlterm\fR's behaviors which affects terminfo and termcap definition. .TP \fBxim\fR Define preset locales for X Input Methods which are shown in the GUI configurator. Of course you can input XIM names and locales for the GUI configurator which are not listed in this configuration file. .TP \fBmenu\fR Define menu items which is displayed by configurable menu displayer. .PP The contents of these configuration files (other than \fBmenu\fR) consist of lines of "\fIkey\fR=\fIvalue\fR" format. Lines beginning with "\fB#\fR" are ignored. .PP Note that the configuration files are changed since version 1.9.44. .\" ****************************************************** .SS Main Configuration File This file contains main configuration items which can be overridden by command line options. The main configuration file "\fBmain\fR" has the following keys. Parentheses show the corresponding command-line options. See the explanation on these command-line options for detail. .TP \fBauto_detect_encodings=\fIvalue\fR (\fB\-\-ade\fR) Specify character encodings detected automatically. .TP \fBallow_osc52=\fIbool\fR (\fB\-\-osc52\fR) Allow access to clipboard(selection) by OSC 52 sequence. .TP \fBallow_scp=\fIbool\fR (\fB\-\-scp\fR) Allow OSC 5379 scp. .TP \fBallow_change_shortcut=\fIbool\fR (\fB\-\-shortcut\fR) Allow dynamic change of shortcut keys by OSC 5379 set_shortcut sequence. .TP \fBalpha=\fIname\fR (\fB\-X\fR, \fB\-\-alpha\fR) Alpha in pseudo or true transparent. .TP \fBapp_name=\fIname\fR (\fB\-N\fR, \fB\-\-name\fR) Application name. \fBauto_restart=\fIbool\fR (\fB\-\-restart\fR) Restart mlterm with all opened ptys except ssh if SIGSEGV, SIGBUS, SIGFPE or SIGILL is received. If you want to get core image, specify "false". .TP \fBbaseline_offset=\fIvalue\fR (\fB\-\-blpos\fR) Specify the position of baseline. The default is \fB0\fR. .TP \fBbel_mode=\fImode\fR (\fB\-7\fR, \fB\-\-bel\fR) Behavior when BEL (0x07) is received. .TP \fBbd_color=\fIvalue\fR (\fB\-\-bd\fR) Specify the color to use to display bold characters. .TP \fBbl_color=\fIvalue\fR (\fB\-\-bl\fR) Specify the color to use to display blinking characters. .TP \fBbg_color=\fIcolor\fR (\fB\-b\fR, \fB\-\-bg\fR) Background color. .TP \fBbidi_mode=\fImode\fR (\fB\-\-bimode\fR) Specify bidi mode. .TP \fBbidi_separators=\fIcharacterlist\fR (\fB\-\-bisep\fR) Specify separator characters (\\xNN is also available) to render bidi text. .TP \fBbig5_buggy=\fIbool\fR (\fB\-5\fR, \fB\-\-big5bug\fR) Support Big5 CTEXT bugs (which exist in XFree86 4.1.0 or before). .TP \fBblink_cursor=\fIbool\fR (\fB\-\-blink\fR) Blink cursor. .TP \fBbox_drawing_font=\fIvalue\fR (\fB\-\-boxdraw\fR) Use either unicode font or DEC Special font forcibly to draw box-drawing characters. .TP \fBborderless=\fIbool\fR (\fB\-&\fR, \fB\-\-borderless\fR) Don't draw window decorations. .TP \fBbrightness=\fIvalue\fR (\fB\-H\fR, \fB\-\-brightness\fR) Specify the amount of darkening or lightening the background image. .TP \fBbroadcast=\fIbool\fR (\fB\-H\fR, \fB\-\-bc\fR) Whether to broadcast input or pasted characters to all ptys whose value of "ignore_broadcasted_chars" option is false. .TP \fBcipher_list\fR=\fIvalue\fR (\fB\-\-ciphlist\fR) Specify ciphers (comma separated list) for encrypting the ssh session. .TP \fBco_color=\fIvalue\fR (\fB\-\-co\fR) Specify the color to use to display crossed-out characters. .TP \fBcol_size_of_width_a=\fIvalue\fR (\fB\-a\fR, \fB\-\-ac\fR) Number of columns of Unicode characters with EastAsianAmbiguous property. .TP \fBcompose_dec_special_font=\fIbool\fR (\fB\-Y\fR, \fB\-\-decsp\fR) Compose line drawing character set. .TP \fBconsole_encoding=\fIencoding\fR (\fB\-\-ckm\fR) Specify encoding of the console where mlterm-con works. .TP \fBconsole_sixel_colors=\fIvalue\fR (\fB\-\-csc\fR) Specify the number of sixel graphics colors of the console where mlterm-con works. .TP \fBcontrast=\fIvalue\fR (\fB\-3\fR, \fB\-\-contrast\fR) Contrast of background image in percent. .TP \fBcursor_bg_color=\fIcolor\fR (\fB\-0\fR, \fB\-\-crbg\fR) Specify background color for cursor. .TP \fBcursor_fg_color=\fIcolor\fR (\fB\-9\fR, \fB\-\-crfg\fR) Specify foreground color for cursor. .TP \fBexit_backscroll_by_pty=\fIbool\fR (\fB\-\-exitbs\fR) Exit backscroll mode on receiving data from pty. .TP \fBencoding=\fIencoding\fR (\fB\-E\fR, \fB\-\-km\fR) Specify encoding. .TP \fBdaemon_mode=\fImode\fR (\fB\-j\fR, \fB\-\-daemon\fR) Start as a daemon process. .TP \fBdefault_cell_size=\fIvalue\fR (\fB\-\-csz\fR) Specify cell width and height in pixel which mlterm-con uses if it doesn't get them. .TP \fBdefault_server=\fIvalue\fR (\fB\-\-serv\fR) Specify a host you want to connect via ssh etc. .TP \fBdepth\fR=\fIvalue\fR (\fB\-\-depth\fR) Specify visual depth. .TP \fBdisplay=\fIvalue\fR (\fB\-d\fR, \fB\-\-display\fR) Specify X server to connect. .TP \fBfade_ratio=\fIratio\fR (\fB\-r\fR, \fB\-\-fade_ratio\fR) Specify fading ratio when window is unfocused. .TP \fBfg_color=\fIcolor\fR (\fB\-f\fR, \fB\-\-fg\fR) Foreground color. .TP \fBfontsize=\fIvalue\fR (\fB\-w\fR, \fB\-\-fontsize\fR) Font size in pixel. .TP \fBfont_size_range=\fIrange\fR (\fB\-R\fR, \fB\-\-fsrange\fR) Range of size of usable fonts. .TP \fBgamma=\fIvalue\fR (\fB\-4\fR, \fB\-\-gamma\fR) Gamma of background image in percent. .TP \fBgeometry=\fIvalue\fR (\fB\-g\fR, \fB\-\-geometry\fR) Specify size and position of the window; see \fBX\fR(7). .TP \fBhide_underline=\fIbool\fR (\fB\-\-noul\fR) Don't draw underline. .TP \fBicon_name=\fIname\fR (\fB\-I\fR, \fB\-\-icon\fR) Icon name. .TP \fBicon_path=\fIpath\fR Path for the image file to be used as window icon. .TP \fBignore_broadcasted_chars=\fIbool\fR (\fB\-\-ibc\fR) Whether to ignore broadcasted characters. .TP \fBinner_border=\fIvalue\fR (\fB\-\-border\fR) Specify inner border width. .TP \fBinput_method\fR= \fIinput method\fR : \fB[\fR\fI arguments\fR \fB... ]\fR (\fB\-M\fR, \fB\-\-im\fR) Specify input method. .TP \fBiso88591_font_for_usascii=\fIbool\fR (\fB\-8\fR, \fB\-\-88591\fR) Use ISO8859-1 fonts for US-ASCII part of various encodings. .TP \fBit_color=\fIvalue\fR (\fB\-\-it\fR) Specify the color to use to display italic characters. .TP \fBlayout_inner_border=\fIvalue\fR (\fB\-\-lborder\fR) Specify inner border width of a layout manager. .TP \fBleftward_double_drawing=\fIbool\fR (\fB\-\-ldd\fR) Embold glyphs by drawing doubly at 1 pixel leftward instead of rightward. .TP \fBletter_space=\fIvalue\fR (\fB\-\-csp\fR) Specify number of extra dots between letters. (ignored if you specify \fB\-\-V\fR option.) If you use multiple fonts whose widths are different, adjust this option. .TP \fBline_space=\fIvalue\fR (\fB\-o\fR, \fB\-\-lsp\fR) Specify number of extra dots between lines. (Negative value is available.) If you use multiple fonts whose heights are different, adjust this option. .TP \fBlocale=\fIvalue\fR (\fB\-\-locale\fR) Specify locale. .TP \fBlogging_msg=\fIbool\fR (\fB\-\-logmsg\fR) Enable logging messages of mlterm to ~/.mlterm/msg[pid].log. .TP \fBlogging_vt_seq=\fIbool\fR (\fB\-\-logseq\fR) Enable logging vt100 sequences to ~/.mlterm/[device].log. .TP \fBlogsize=\fIvalue\fR (\fB\-l\fR, \fB\-\-sl\fR) Specify number of lines of backlog or "unlimited". .TP \fBmax_ptys=\fIvalue\fR (\fB\-\-maxptys\fR) Specify maximum number of ptys (sessions) to be opened simultaneously. .TP \fBmeta_prefix=\fIvalue\fR (\fB\-\-metaprefix\fR) Specify prefix characters in pressing meta key if mod_meta_mode = esc. .TP \fBmod_meta_mode=\fImode\fR (\fB\-k\fR, \fB\-\-meta\fR) Behavior of META key. .TP \fBmod_meta_key=\fIvalue\fR (\fB\-K\fR, \fB\-\-metakey\fR) Specify a key to be regarded as META. .TP \fBnot_use_unicode_font=\fIbool\fR (\fB\-n\fR, \fB\-\-noucsfont\fR) Use non-Unicode fonts even when \fBmlterm\fR encoding is UTF-8. .TP \fBonly_use_unicode_font=\fIbool\fR (\fB\-u\fR, \fB\-\-onlyucsfont\fR) Use Unicode fonts even when \fBmlterm\fR encoding is not UTF-8. .TP \fBot_features=\fIvalue\fR (\-\-gft\fR) Specify features of glyph substitution. .TP \fBot_features=\fIvalue\fR (\-\-gst\fR) Specify script of glyph substitution. .TP \fBparent_window=\fIvalue\fR (\fB\-\-parent\fR) Specify parent Window ID. .TP \fBprimary_da=\fIvalue\fR (\fB\-\-da1\fR) Specify primary device attributes string. .TP \fBreceive_string_via_ucs=\fIbool\fR (\fB\-U\fR, \fB\-\-viaucs\fR) If the received selection (i.e., copy-and-paste strings) or strings received from XIM is not UTF8_STRING type, convert it into Unicode and then to the current mlterm encoding, in order to identify equivalent characters (i.e., characters which share the same codepoint in Unicode) from various character sets. See \fBSELECTION\fR section below for detail. .TP \fBregard_uri_as_word=\fIbool\fR (\fB\-\-uriword\fR) Select URI by double clicking it regardless of \-\-W option. .TP \fBsb_bg_color=\fIcolor\fR (\fB\-B\fR, \fB\-\-sbbg\fR) Background color for scrollbar. .TP \fBsb_fg_color=\fIcolor\fR (\fB\-F\fR, \fB\-\-sbfg\fR) Foreground color for scrollbar. .TP \fBscreen_width_ratio=\fIvalue\fR (\fB\-1\fR, \fB\-\-wscr\fR) Specify actual screen width (screen height in vertical mode). .TP \fBscrollbar_mode=\fImode\fR (\fB\-O\fR, \fB\-\-sbmod\fR) Specify scrollbar position. .TP \fBscrollbar_view_name=\fIname\fR (\fB\-S\fR, \fB\-\-sbview\fR) Specify name of scrollbar. .TP \fBsecondary_da=\fIvalue\fR (\fB\-\-da2\fR) Specify secondary device attributes string. .TP \fBssh_auto_reconnect\fR=\fIbool\fR (\fB\-\-rcn\fR) Reconnect to ssh server automatically in unexpected disconnection. .TP \fBssh_keepalive_interval\fR=\fIvalue\fR (\fB\-\-keepalive\fR) Specify interval seconds to send keepalive message to ssh server. .TP \fBssh_public_key\fR=\fIvalue\fR (\fB\-\-pubkey\fR) Specify public key file for ssh connection. .TP \fBssh_private_key\fR=\fIvalue\fR (\fB\-\-privkey\fR) Specify private key file for ssh connection. .TP \fBssh_x11_forwarding\fR=\fIbool\fR (\fB\-\-x11\fR) Enable x11 forwarding for ssh connection. .TP \fBstep_in_changing_font_size\fR (\fB\-z\fR, \fB\-\-largesmall\fR) Specify changing size when font size becomes larger or smaller. .TP \fBtabsize=\fIvalue\fR (\fB\-x\fR, \fB\-\-tw\fR) Specify tab width. .TP \fBtermtype=\fIstring\fR (\fB\-y\fR, \fB\-\-term\fR) Terminal type. .TP \fBtitle=\fIname\fR (\fB\-T\fR, \fB\-\-title\fR) Title name. .TP \fBtrim_trailing_newline_in_pasting=\fIbool\fR (\fB\-\-trim\fR) Trim new line characters at the end in pasting text. .TP \fBtype_engine=\fIvalue\fR (\fB\-*\fR, \fB\-\-type\fR) Rendering engine for drawing fonts. .TP \fBul_color=\fIvalue\fR (\fB\-\-ul\fR) Specify the color to use to display underlined characters. .TP \fBunderline_offset=\fIvalue\fR (\fB\-\-ulpos\fR) Specify the position (offset from the baseline) of underline. The default is \fB0\fR. .TP \fBunicode_full_width_areas\fR=\fIvalue\fR (\fB\-\-fullwidth\fR) Force full width regardless of EastAsianWidth.txt. .TP \fBunicode_noconv_areas\fR=\fIvalue\fR (\fB\-\-ucsnoconv\fR) Use unicode fonts partially regardless of -n option. .TP \fBuse_auto_detect=\fIbool\fR (\fB\-\-auto\fR) Automatically detect appropriate character encoding from the encodings specified by auto_detect_encodings option. .TP \fBuse_alt_buffer=\fIbool\fR (\fB\-\-altbuf\fR) Use alternate screen buffer. .TP \fBuse_ansi_colors=\fIbool\fR (\fB\-\-colors\fR) Recognize ANSI color change escape sequences. .TP \fBuse_anti_alias=\fIbool\fR (\fB\-A\fR, \fB\-\-aa\fR) Use anti alias font. .TP \fBuse_bold_font=\fIbool\fR (\fB\-\-bdfont\fR) Use bold font for characters with the bold attribute. .TP \fBuse_clipboard=\fIbool\fR (\fB\-P\fR, \fB\-\-clip\fR) Use CLIPBOARD (not only PRIMARY) selection. .TP \fBuse_combining=\fIbool\fR (\fB\-m\fR, \fB\-\-comb\fR) Enable combining characters. .TP \fBuse_cp932_ucs_for_xft=\fIbool\fR (\fB\-c\fR, \fB\-\-cp932\fR) Use CP932 - UCS mapping for displaying JISX0208 by Xft or cairo. .TP \fBuse_dynamic_comb=\fIbool\fR (\fB\-J\fR, \fB\-\-dyncomb\fR) Enable dynamic character combining. .TP \fBuse_extended_scroll_shortcut=\fIbool\fR (\fB\-q\fR, \fB\-\-extkey\fR) Enable extended short cut keys for scrolling. .TP \fBuse_ctl=\fIbool\fR (\fB\-C\fR, \fB\-\-ctl\fR) Enable complex text layouting on UTF8 encoding. .TP \fBuse_ot_layout=\fIbool\fR (\-\-otl\fR) Whether to show substituting glyphs in open type fonts with the use of libotf or harfbuzz. .TP \fBuse_italic_font=\fIbool\fR (\fB\-\-itfont\fR) Use italic font for characters with the italic attribute. .TP \fBuse_local_echo=\fIbool\fR (\fB\-\-loecho\fR) Use local echo mode. .TP \fBuse_login_shell=\fIbool\fR (\fB\-L\fR, \fB\-\-ls\fR) Whether to use login shell or not. .TP \fBuse_multi_column_char=\fIbool\fR (\fB\-Z\fR, \fB\-\-multicol\fR) Process full width characters. .TP \fBuse_point_size=\fIbool\fR (\fB\-\-point\fR) Treat the value of \-w option as point instead of pixel. .TP \fBuse_mdi=\fIbool\fR (\fB\-s\fR, \fB\-\-mdi\fR) Use multiple document interface. .TP \fBuse_transbg=\fIbool\fR (\fB\-t\fR, \fB\-\-transbg\fR) Use pseudo transparent background. .TP \fBuse_urgent_bell=\fIbool\fR (\fB\-\-urgent\fR) Draw the user's attention when making a bell sound in the unfocused window. .TP \fBuse_variable_column_width=\fIbool\fR (\fB\-V\fR, \fB\-\-varwidth\fR) Use variable column width. .TP \fBuse_vertical_cursor=\fIvalue\fR (\fB\-Q\fR, \fB\-\-vcur\fR) Use cursor movement for vertical writing. .TP \fBuse_xim=\fIbool\fR (\fB\-i\fR, \fB\-\-xim\fR) Use XIM (X Input Method). .TP \fBvt_color_mode=\fImode\fR (\fB\-\-vtcolor\fR) Set vt color mode. .TP \fBvertical_mode=\fIvalue\fR (\fB\-G\fR, \fB\-\-vertical\fR) Use vertical writing. .TP \fBwall_picture=\fIpath\fR (\fB\-p\fR, \fB\-\-pic\fR) Path for wallpaper image. .TP \fBword_separators=\fIcharacterlist\fR (\fB\-W\fR, \fB\-\-sep\fR) Delimiter characters (\\xNN is also available) used for word selection. .TP \fBworking_directory=\fIvalue\fR (\fB\-\-working\-directory\fR) Working directory. .TP \fBstatic_backscroll_mode=\fIbool\fR (\fB\-6\fR, \fB\-\-stbs\fR) Don't exit backscroll mode when console applications output something. .TP \fBvt_seq_format=\fIvalue\fR (\fB\-\-seqfmt\fR) Specify the format of logging vt100 sequence. .\" ****************************************************** .SS Font Configuration Files The font configuration files "\fBfont\fR", "\fBvfont\fR", "\fBtfont\fR", "\fBaafont\fR", "\fBvaafont\fR", and "\fBtaafont\fR" have the following keys. .PP .nf \fBDEFAULT=\fIfont\fR \fBDEC_SPECIAL=\fIfont\fR \fBISO8859_\fIn\fB=\fIfont\fR \fBTIS620=\fIfont\fR \fBISCII_HINDI=\fIfont\fR \fBISCII_MALAYALAM=\fIfont\fR \fBISCII_ASSAMESE=\fIfont\fR \fBISCII_BENGALI=\fIfont\fR \fBISCII_GUJARATI=\fIfont\fR \fBISCII_KANNADA=\fIfont\fR \fBISCII_MALAYALAM=\fIfont\fR \fBISCII_ORIYA=\fIfont\fR \fBISCII_PUNJABI=\fIfont\fR \fBISCII_TAMIL=\fIfont\fR \fBISCII_TELUGU=\fIfont\fR \fBVISCII=\fIfont\fR \fBKOI8_R=\fIfont\fR \fBKOI8_U=\fIfont\fR \fBTCVN5712=\fIfont\fR \fBJISX0201_ROMAN=\fIfont\fR \fBJISX0201_KATA=\fIfont\fR \fBJISX0208_1978=\fIfont\fR \fBJISX0208_1983=\fIfont\fR \fBJISX0208_1990=\fIfont\fR \fBJISX0213_2000_1=\fIfont\fR \fBJISX0213_2000_2=\fIfont\fR \fBKSX1001_1997=\fIfont\fR \fBUHC=\fIfont\fR (not used) \fBJOHAB=\fIfont\fR (not used) \fBGB2312_80=\fIfont\fR \fBGBK=\fIfont\fR \fBBIG5=\fIfont\fR \fBHKSCS=\fIfont\fR \fBCNS11643_1992_\fIn\fB=\fIfont\fR \fBISO10646_UCS4_1=\fIfont\fR \fBISO10646_UCS4_1_FULLWIDTH=\fIfont\fR \fBU+XXXX-XXXX=\fIfont\fR .fi .RS Specify fonts for corresponding character sets. The format is different between "\fBfont\fR", "\fBvfont\fR" "\fBtfont\fR" files and "\fBaafont\fR", "\fBvaafont\fR" "\fBtaafont\fR" files. .PP In "\fBfont\fR", "\fBvfont\fR", "\fBtfont\fR" files, "\fIfont\fR" is specified in "\fINAME\fR:\fIPERCENT\fR" format where "\fISIZE\fR" is font size in pixel, and "\fINAME\fR" is XLFD or alias names of X fonts. If "\fINAME\fR" contains "%d", it is replaced by an appropriate font size number. ":\fIPERCENT\fR" is multiplied by font size and decides character width of a font. If ":\fIPERCENT\fR" is omitted, max font width is used for it. .PP In "\fBaafont\fR", "\fBvaafont\fR", "\fBtaafont\fR" files, "\fIfont\fR" is specified in "\fIFAMILY WEIGHT SLANT SIZE\fR:\fIPERCENT\fR" format. ":\fIPERCENT\fR" is multiplied by font size and decides character width of a font. If ":\fIPERCENT\fR" is omitted, 'M' width is used for it. .PP \fBmlfc\fR command generates ~/.mlterm/aafont automatically. .PP .RE .TP \fIcharset\fB_BOLD=\fIfont\fR Specify boldface fonts. .TP \fIcharset\fB_ITALIC=\fIfont\fR Specify italic fonts. .TP \fIcharset\fB_BOLD_ITALIC=\fIfont\fR Specify bold-italic fonts. .TP \fIU+XXXX-XXXX=\fIfont\fR Specify which fonts to use for unicode ranges except U+00-7f. .\" ****************************************************** .SS Color Configuration File The color configuration file "\fBcolor\fR" has the following key. .TP \fICOLORNAME\fR=\fIRGB\fR Assign a concrete color for the name \fICOLORNAME\fR. Default colors used by mlterm are \fBblack\fR, \fBred\fR, \fBgreen\fR, \fByellow\fR, \fBblue\fR, \fBmagenta\fR, \fBcyan\fR, and \fBwhite\fR. and can be overridden here. For highlighted colors, a name with "hl_" prefix will be automatically searched. i.e. for bold read character, "hl_red" is searched instead of "red". \fB17\fR - \fB230\fR and \fB232\fR - \fB255\fR in 256 colors can be also overridden. The format of \fIRGB\fR is either "\fIRRRR\fB\-\fIGGGG\fB\-\fIBBBB\fR" (where \fIRRRR\fR, \fIGGGG\fR, and \fIBBBB\fR are hexadecimal value from 0 to ffff), "\fB#\fIRRGGBB\fR", "\fB#\fIRRGGBBAA\fR", "\fIrgb:RR/GG/BB\fR" or "\fIrgba:RR/GG/BB/AA\fR"(where \fIRR\fR, \fIGG\fR, and \fIBB\fR are hexadecimal value from 00 to ff). If mlterm failed to parse a entry, the color will be regarded as black. .\" ****************************************************** .SS XIM Configuration File The X Input Methods configuration file "\fBxim\fR" has the following format .PP \fIXIM\fR=\fIlocale\fR .PP where \fIXIM\fR is XIM name and \fIlocale\fR is locale name used for communication with the XIM server. For example, .nf kinput2=ja_JP.eucJP Ami=ko_KR.eucKR xcin-zh_CN.GB2312=zh_CN.GB2312 .fi These settings are used to create list of XIMs by the GUI configurator. Though a XIM which is not listed in this file can't be selected from the list, it can be selected by specifying its name directly. .\" ****************************************************** .SS Feature Key Configuration File The feature key configuration file "\fBkey\fR" has the following format. .PP \fIKEY\fR=\fIFEATURE\fR .PP Here, the format for \fIKEY\fR is "\fI(MASK\fB+\fI)KEY\fR", where \fIMASK\fR is one of \fBControl\fR, \fBShift\fR, \fBMod1\fR, \fBMod2\fR, \fBMod3\fR, \fBMod4\fR, \fBMod5\fR, \fBMod\fR and \fBAlt\fR. You can specify multiple "\fIMASK\fB+\fR"s. You can search spellings of \fIKEY\fR by using \fBxev\fR(1) command or searching keysym macros from \fB/usr/X11R6/include/X11/keysymdefs.h\fR (or the equivalent file in your X11 include directory) and omit the prefix \fBXK_\fR. Double quotation marks are not needed. You can specify Button1, Button2, Button3, Button4 or Button5 as \fIKEY\fR. .PP \fIFEATURE\fR is one of \fBIM_HOTKEY\fR, \fBEXT_KBD\fR, \fBOPEN_SCREEN\fR, \fBNEW_PTY\fR, \fBOPEN_PTY\fR, \fBNEXT_PTY\fR, \fBPREV_PTY\fR, \fBVSPLIT_SCREEN\fR, \fBHSPLIT_SCREEN\fR, \fBCLOSE_SCREEN\fR, \fBNEXT_SCREEN\fR, \fBPREV_SCREEN\fR, \fBHEXPAND_SCREEN\fR, \fBVEXPAND_SCREEN\fR, \fBPAGE_UP\fR, \fBPAGE_DOWN\fR, \fBSCROLL_UP\fR, \fBSCROLL_DOWN\fR, \fBINSERT_SELECTION\fR, \fB"\fISTRING\fB"\fR, or \fB"proto:\fISTRING\fB"\fR. .TP \fBIM_HOTKEY\fR Switch conversion mode of m17n library and kdb input methods. (default \fBUNUSED\fR) .TP \fBEXT_KBD\fR Activate or deactivate kbd input method. (This feature was obsoleted by IM_HOTKEY) .TP \fBOPEN_SCREEN\fR Open new pty in new screen (default \fBCtrl+F1\fR). .TP \fBNEW_PTY\fR Same as OPEN_SCREEN (obsoleted). .TP \fBOPEN_PTY\fR Open new pty in current screen (default \fBCtrl+F2\fR). .TP \fBNEXT_PTY\fR Switch to a next free pty (default \fBCtrl+F3\fR). .TP \fBPREV_PTY\fR Switch to a previous free pty (default \fBCtrl+F4\fR). .TP \fBHSPLIT_SCREEN\fR Open new pty in horizontally split screen (default \fBShift+F1\fR). .TP \fBVSPLIT_SCREEN\fR Open new pty in vertically split screen (default \fBShift+F2\fR). .TP \fBNEXT_SCREEN\fR Switch to a next unfocused screen (default \fBShift+F3\fR). .TP \fBPREV_SCREEN\fR Switch to a previous unfocused screen (default \fBShift+F4\fR). .TP \fBCLOSE_SCREEN\fR Close current screen (default \fBShift+F5\fR). .TP \fBHEXPAND_SCREEN\fR Expand current screen horizontally (default \fBShift+F6\fR). .TP \fBVEXPAND_SCREEN\fR Expand current screen vertically (default \fBShift+F7\fR). .TP \fBPAGE_UP\fR Start backscroll mode and scroll up one page (default \fBShift+Prior\fR). .TP \fBPAGE_DOWN\fR Scroll down one page. (default \fBShift+Next\fR). .TP \fBSCROLL_UP\fR Start backscroll mode and scroll up by one line (default \fBShift+Up\fR). Note this key is enabled only when \fB\-q\fR/\fB\-\-extkey\fR option is used. .TP \fBSCROLL_DOWN\fR Scroll down one line (default \fBShift+Down\fR). Note this key is enabled only when \fB\-q\fR/\fB\-\-extkey\fR option is used. .TP \fBINSERT_SELECTION\fR Insert selection (default \fBShift+Insert\fR). .TP \fB"\fISTRING\fB"\fR The specified string is issued when the \fIKEY\fR key is pressed. Double quotation marks are required around the \fISTRING\fR. Note that you cannot control the status of mlterm by sending terminal control codes such as \fB"\\x1b]5379;encoding=utf8\\x0a"\fR because the code sequence will be caught by your shell (or something running on it). To deliver control sequences to mlterm directly, use \fB"proto:\fISTRING\fB"\fR instead. .TP \fB"proto:\fISTRING\fB"\fR The specified string is assumed to \fBmlterm\fR's original control sequence. A list of sequences should be found in \fBdoc/en/PROTOCOL\fR. For example, \fB"proto:encoding=utf8"\fR means changing the current character encoding to UTF-8. .TP \fB"exesel:\fISTRING\fB"\fR The specified string is assumed to a command to be executed with selected strings as arguments. For example, \fB"exesel:mlclient -e w3m"\fR means executing "mlclient -e w3m [selected text]". .TP \fB"menu:\fISTRING\fB"\fR The specified string is assumed to a configuration program to be executed. For example, \fB"menu:mlterm-menu"\fR means executing mlterm-menu. .\" ****************************************************** .SS Terminal Behavior Configuration File This configuration file determines the behaviors of \fBmlterm\fR that should match the definition of terminfo and termcap. In principle, this file should not be edited and, instead, you should choose a proper value for \fBTERM\fR variable (i.e., proper terminfo/termcap definition) which meets \fBmlterm\fR's behavior. (Since \fBmlterm\fR' can behave as a xterm/kterm to some extent, \fBTERM=kterm\fR / \fBTERM=xterm\fR should give acceptable results.) However, sometimes you may not want to edit your terminfo and termcap. Your software may don't understand terminfo nor termcap, or your terminfo/termcap entry is shared by several terminal emulators and changing it will break other terminals. In such cases, you can configure \fBmlterm\fR so that it works well on existing terminfo/termcap definitions on your systems. This is also useful for distributors of operating systems (like Debian) with strict policy of terminal emulators' behaviors. .PP You can define the behaviors of \fBmlterm\fR for each value of \fBTERM\fR variable, so that you don't need to edit \fBtermcap\fR file each time you login into other systems and use different value of \fBTERM\fR variable by \fB\-y\fR option. You can also specify the default behavior when \fBTERM\fR variable is different from all of specified TERM names in the \fBtermcap\fR file. .PP The grammar of this configuration file is resemble to the grammar of termcap entries. First, one or more name(s) of TERM is written. Multiple names are connected with vertical line character '|'. Special name '*' is for default. Then colon ':' comes, and keys are written separated by colons. Configuration(s) for other TERM will follow after new line. .PP Followings are available keys for each TERM value. .TP \fBkD=\fIsequence\fR Specify sequence to be outputted when Delete key is pushed (default \fB\\E[3~\fR). .TP \fBkb=\fIsequence\fR Specify sequence to be outputted when BackSpace key is pushed (default \fB^H\fR). .TP \fBkh=\fIsequence\fR Specify sequence to be outputted when HOME key is pushed in application cursor key mode. (default \fB\\EOH\fR). .TP \fB@7=\fIsequence\fR Specify sequence to be outputted when END key is pushed in application cursor key mode. (default \fB\\EOF\fR). .TP \fBk1=\fIsequence\fR Specify sequence to be outputted when F1 key is pushed (default \fB\\EOP\fR). .TP \fBk2=\fIsequence\fR Specify sequence to be outputted when F2 key is pushed (default \fB\\EOQ\fR). .TP \fBk3=\fIsequence\fR Specify sequence to be outputted when F3 key is pushed (default \fB\\EOR\fR). .TP \fBk4=\fIsequence\fR Specify sequence to be outputted when F4 key is pushed (default \fB\\EOS\fR). .TP \fBk5=\fIsequence\fR Specify sequence to be outputted when F5 key is pushed (default \fB\\E[15~\fR). .TP \fBut\fR Specify the way how the screen is erased by control codes. If \fBut\fR is written in the \fBtermcap\fR file, charcells are painted by the current background color when erased; otherwise the charcells are painted by the initial background color. Default is non-\fBut\fR behavior. .PP The following special characters can be used to specify \fIsequence\fR in keys of \fBkD\fR/\fBkb\fR/\fBkh\fR/\fB@7\fR. .TP \fB\\E\fR ESC code (0x1b). .TP \fB^?\fR DEL code (0x7f). .TP \fB^A\fR, \fB^B\fR,... Corresponding control code (0x01 \- 0x1a). .\" ****************************************************** .SS Menu Configuration File This configuration file defines the menu displayed by the configurable menu displayer \fBmlterm-menu\fR. See \fBCONFIGURABLE MENU\fR section for detail. .\" ******************************************************************** .SH SEE ALSO Manual pages of \fBmlclient\fR(1), \fBlocale\fR(7), \fBcharsets\fR(7), \fBUTF-8\fR(7), and \fBX\fR(7). .PP \fBPROTOCOL\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/PROTOCOL) for mlterm's original control escape sequences which enable you to change configurations dynamically. e.g.) echo -en "\\x1b]5379;encoding=eucjp\\x07" .PP \fBREADME.fb\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.fb) for mlterm on framebuffer. .PP \fBREADME.win32\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.win32) for mlterm on Win32 GDI. .PP \fBREADME.android\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.android) for mlterm on Android. .PP \fBREADME.cocoa\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.cocoa) for mlterm on MacOSX/Cocoa. .PP \fBREADME.console\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.console) for mlterm on Console. .PP \fBREADME.wayland\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.wayland) for mlterm on Wayland. .PP \fBREADME.indic\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.indic) for indic scripts. .PP \fBREADME.ssh\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.ssh) for ssh connection with the use of libssh2 (http://www.libssh2.org). .PP \fBREADME.sb\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.sb) for development of scrollbar library. .PP \fBREADME.brltty\fR (http://bitbucket.org/arakiken/mlterm/src/tip/doc/en/README.brltty) for accessibility with the use of brlapi. (http://brl.thefreecat.org). .PP Mapping tables between Unicode and local character sets (and encodings) are found at Unicode Consortium web site (http://www.unicode.org/Public/MAPPINGS/). Note that mapping tables for East Asian character sets and encodings are moved to OBSOLETE/EASTASIA directory of the site since August 2001. .PP For BIG5 and BIG5HKSCS encodings, mapping tables for Unicode is taken from ftp://xcin.linux.org.tw/pub/xcin/i18n/charset/. .PP \fBUnicode Standard Annex (UAX) #11 East Asian Width\fR, which explains East Asian Width properties, and \fBEastAsianWidth.txt\fR, which defines EastAsianAmbiguous characters in Unicode, are supplied by Unicode Consortium (http://www.unicode.org). .\" ******************************************************************** .SH FILES .TP "\fImain\fR", "\fIfont\fR", "\fIvfont\fR", "\fItfont\fR", "\fIaafont\fR", \ "\fIvaafont\fR", "\fItaafont\fR", "\fIcolor\fR", "\fIkey\fR", \ "\fItermcap\fR", "\fIxim\fR", and "\fImenu\fR" Configuration files. .\" ******************************************************************** .SH CONTACT Subscribe mlterm-dev-en ML (http://lists.sourceforge.net/lists/listinfo/mlterm-dev-en). Attach ~/.mlterm/msg.log, backtrace log and related files to your report if at all possible. \" LocalWords: stbs backscroll bel crfg mc sbfg cjk mongol ��������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/man/Makefile.in������������������������������������������������������������������������0100644�0001760�0000144�00000000677�13210547312�0014354�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = .. top_srcdir = @top_srcdir@ prefix=@prefix@ mandir=@mandir@ MANDIR=$(DESTDIR)$(mandir) MAN1DIR=$(MANDIR)/man1 INSTALL=@INSTALL@ all .DEFAULT: @echo "no such a target" $(MAN1DIR): mkdir -p $(MAN1DIR) install: $(MAN1DIR) $(INSTALL) -m 644 $(top_srcdir)/man/mlterm.1 $(MAN1DIR) $(INSTALL) -m 644 $(top_srcdir)/man/mlclient.1 $(MAN1DIR) uninstall: rm -f $(MAN1DIR)/mlterm.1 $(MAN1DIR)/mlclient.1 distclean: rm -f Makefile �����������������������������������������������������������������mlterm-3.8.4/common���������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547312�0012736�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/common/c_config.h.in�������������������������������������������������������������������0100644�0001760�0000144�00000001756�13210547312�0015350�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __C_CONFIG_H__ #define __C_CONFIG_H__ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Version number of package */ #undef VERSION #endif ������������������mlterm-3.8.4/common/c_animgif.c���������������������������������������������������������������������0100644�0001760�0000144�00000012173�13210547312�0015076�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <stdio.h> /* sprintf */ #include <fcntl.h> /* open */ #include <unistd.h> /* close */ #include <sys/stat.h> #include <pobl/bl_util.h> /* DIGIT_STR_LEN */ /* --- static functions --- */ static int hash_path(const char *path) { int hash; hash = 0; while (*path) { hash += *(path++); } return hash & 65535 /* 0xffff */; } static void save_gif(const char *path, u_char *header, size_t header_size, u_char *body, size_t body_size #ifdef USE_WIN32GUI , int colorkey #endif ) { int fd; #ifdef USE_WIN32API if ((fd = open(path, O_WRONLY | O_CREAT | O_BINARY, 0600)) >= 0) #else if ((fd = open(path, O_WRONLY | O_CREAT, 0600)) >= 0) #endif { write(fd, header, header_size); write(fd, body, body_size); #ifdef USE_WIN32GUI if (colorkey >= 0) { u_char append[] = "\x2c\x00\x00\x00\x00\x01\x00\x01\x00\x00\x08\x01\x00\x00"; append[12] = colorkey; write(fd, append, sizeof(append) - 1); } #endif write(fd, "\x3b", 1); close(fd); } } static u_char *skip_gif_header(u_char *p) { /* Header */ p += 10; if (*(p)&0x80) { p += (3 * (2 << ((*p) & 0x7))); } p += 3; return p; } #ifdef GDK_PIXBUF_VERSION /* read gif information from mlterm/anim*.gif file. */ static int read_gif_info(const char *path, int *x_off, int *y_off, int *width, int *height) { int fd; u_char data[1024]; /* enough to get necessary gif information */ ssize_t len; if ((fd = open(path, O_RDONLY)) < 0) { return 0; } len = read(fd, data, sizeof(data)); close(fd); /* Cast to char* is necessary because this function can be compiled by g++. */ if (len >= 6 && strncmp((char*)data, "GIF89a", 6) == 0) { u_char *p; p = skip_gif_header(data); if (p + 12 < data + len && p[0] == 0x21 && p[1] == 0xf9 && p[2] == 0x04 && p[8] == 0x2c) { *x_off = (p[10] << 8) | p[9]; *y_off = (p[12] << 8) | p[11]; *width = (data[7] << 8) | data[6]; *height = (data[9] << 8) | data[8]; return 1; } } return 0; } #endif static int split_animation_gif(const char *path, const char *dir, /* must end with '/'. */ int hash) { int fd; struct stat st; u_char *header; size_t header_size; u_char *body; u_char *p; ssize_t len; int num; char *split_path; const char *format; const char *next_format; #ifdef USE_WIN32GUI int colorkey; #endif #ifdef USE_WIN32API if ((fd = open(path, O_RDONLY | O_BINARY)) < 0) #else if ((fd = open(path, O_RDONLY)) < 0) #endif { return 0; } /* Cast to u_char* is necessary because this function can be compiled by g++. */ if (fstat(fd, &st) != 0 || !(header = (u_char*)malloc(st.st_size))) { close(fd); return 0; } len = read(fd, header, st.st_size); close(fd); /* Header */ /* Cast to char* is necessary because this function can be compiled by g++. */ if (len != st.st_size || strncmp((char*)header, "GIF89a", 6) != 0) { free(header); return 0; } p = skip_gif_header(header); header_size = p - header; /* Application Extension */ if (p[0] == 0x21 && p[1] == 0xff) { p += 19; } /* Other blocks */ body = NULL; num = -1; /* animx%d-%d.gif */ split_path = (char*)alloca(strlen(dir) + 10 + 5 + DIGIT_STR_LEN(int)+1); while (p + 2 < header + st.st_size) { if (*(p++) == 0x21 && *(p++) == 0xf9 && *(p++) == 0x04) { /* skip the first frame. */ if (body) { /* Graphic Control Extension */ sprintf(split_path, format, dir, hash, num); save_gif(split_path, header, header_size, body, p - 3 - body #ifdef USE_WIN32GUI , colorkey #endif ); format = next_format; } else { format = "%sanim%d.gif"; } /* XXX *p & 4 => Regarded as no dispose. */ next_format = (*p & 0x4) ? "%sanimx%d-%d.gif" : "%sanim%d-%d.gif"; body = p - 3; #ifdef USE_WIN32GUI if (p + 13 < header + st.st_size) { int frame_xoff; int frame_yoff; int frame_width; int frame_height; frame_xoff = ((p[7] << 8) | p[6]); frame_yoff = ((p[9] << 8) | p[8]); frame_width = ((p[11] << 8) | p[10]); frame_height = ((p[13] << 8) | p[12]); /* * XXX * GDI+ which clears margin area with an opaque color if the 2nd * or later frame is smaller than the 1st one. * The hack of embedding a transparent color at x=0 y=0 fixes it. */ if (frame_xoff > 0 || frame_yoff > 0 || frame_xoff + frame_width < ((header[7] << 8) | header[6]) || frame_yoff + frame_height < ((header[9] << 8) | header[8])) { colorkey = p[3]; } else { colorkey = -1; } } #endif num++; } } if (body) { sprintf(split_path, format, dir, hash, num); save_gif(split_path, header, header_size, body, header + st.st_size - body - 1 #ifdef USE_WIN32GUI , colorkey #endif ); } free(header); return 1; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/common/c_sixel.c�����������������������������������������������������������������������0100644�0001760�0000144�00000050054�13210547312�0014610�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <string.h> /* memcpy */ #include <sys/stat.h> /* fstat */ #include <pobl/bl_util.h> /* K_MIN */ #include <pobl/bl_mem.h> /* alloca */ #ifdef SIXEL_1BPP #define correct_height correct_height_1bpp #define load_sixel_from_data load_sixel_from_data_1bpp #define SIXEL_RGB(r, g, b) ((9 * (r) + 30 * (g) + (b)) * 51 >= 5120 * 20 ? 1 : 0) #define CARD_HEAD_SIZE 0 #define pixel_t u_int8_t #elif defined(SIXEL_SHAREPALETTE) /* Both sixel and system uses same palette (works on fb alone) */ #define correct_height correct_height_sharepalette #define load_sixel_from_data load_sixel_from_data_sharepalette #define CARD_HEAD_SIZE 0 #ifdef USE_GRF #define pixel_t u_int16_t #else #define pixel_t u_int8_t #endif #else #define SIXEL_RGB(r, g, b) ((((r)*255 / 100) << 16) | (((g)*255 / 100) << 8) | ((b)*255 / 100)) #ifndef CARD_HEAD_SIZE #ifdef GDK_PIXBUF_VERSION #define CARD_HEAD_SIZE 0 #else #define CARD_HEAD_SIZE 8 #endif #endif /* CARD_HEAD_SIZE */ #define pixel_t u_int32_t #endif /* SIXEL_1BPP */ #define PIXEL_SIZE sizeof(pixel_t) /* --- static variables --- */ #if !defined(SIXEL_1BPP) && !defined(SIXEL_SHAREPALETTE) static pixel_t *custom_palette; #endif /* --- static functions --- */ #ifndef __GET_PARAMS__ #define __GET_PARAMS__ static size_t get_params(int *params, size_t max_params, char **p) { size_t count; char *start; memset(params, 0, sizeof(int) * max_params); for (start = *p, count = 0; count < max_params; count++) { while (1) { if ('0' <= **p && **p <= '9') { params[count] = params[count] * 10 + (**p - '0'); } else if (**p == ';') { (*p)++; break; } else { if (start == *p) { return 0; } else { (*p)--; return count + 1; } } (*p)++; } } (*p)--; return count; } #endif /* __GET_PARAMS__ */ #ifndef __READ_SIXEL_FILE__ #define __READ_SIXEL_FILE__ static char *read_sixel_file(const char *path) { FILE* fp; struct stat st; char * data; size_t len; if (!(fp = fopen(path, "r"))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " failed to open %s\n.", path); #endif return NULL; } fstat(fileno(fp), &st); /* * - malloc() should be used here because alloca() could return insufficient * memory. * - Cast to char* is necessary because this function can be compiled by g++. */ if (!(data = (char*)malloc(st.st_size + 1))) { fclose(fp); return NULL; } len = fread(data, 1, st.st_size, fp); fclose(fp); data[len] = '\0'; return data; } #endif #ifndef __REALLOC_PIXELS_INTERN__ #define __REALLOC_PIXELS_INTERN__ static int realloc_pixels_intern(u_char **pixels, size_t new_stride, int new_height, size_t cur_stride, int cur_height) { u_char *p; int y; int n_copy_rows; n_copy_rows = K_MIN(new_height, cur_height); if (new_stride < cur_stride) { if (new_height > cur_height) { /* Not supported */ #ifdef DEBUG bl_error_printf(BL_DEBUG_TAG " Sixel width bytes is shrunk (%d->%d) but height is lengthen (%d->%d)\n", cur_stride, cur_height, new_stride, new_height); #endif return 0; } else /* if( new_height < cur_height) */ { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Sixel data: %d bytes %d rows -> shrink %d bytes %d rows\n", cur_stride, cur_height, new_stride, new_height); #endif for (y = 1; y < n_copy_rows; y++) { memmove(*pixels + (y * new_stride), *pixels + (y * cur_stride), new_stride); } return 1; } } else if (new_stride == cur_stride && new_height < cur_height) { /* do nothing */ return 1; } if (new_stride > (SSIZE_MAX - CARD_HEAD_SIZE) / new_height) { /* integer overflow */ return 0; } if (new_stride == cur_stride /* && new_height > cur_height */) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Sixel data: %d bytes %d rows -> realloc %d bytes %d rows\n", cur_stride, cur_height, new_stride, new_height); #endif /* Cast to u_char* is necessary because this function can be compiled by g++. */ if ((p = (u_char*)realloc(*pixels - CARD_HEAD_SIZE, CARD_HEAD_SIZE + new_stride * new_height))) { p += CARD_HEAD_SIZE; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " realloc failed.\n."); #endif return 0; } memset(p + cur_stride * cur_height, 0, new_stride * (new_height - cur_height)); } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Sixel data: %d bytes %d rows -> calloc %d bytes %d rows\n", cur_stride, cur_height, new_stride, new_height); #endif /* Cast to u_char* is necessary because this function can be compiled by g++. */ if ((p = (u_char*)calloc(CARD_HEAD_SIZE + new_stride * new_height, 1))) { p += CARD_HEAD_SIZE; } else { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " calloc failed.\n."); #endif return 0; } for (y = 0; y < n_copy_rows; y++) { memcpy(p + (y * new_stride), (*pixels) + (y * cur_stride), cur_stride); } if (*pixels) { free((*pixels) - CARD_HEAD_SIZE); } } *pixels = p; return 1; } #endif /* realloc_pixels() might not be inlined because it is called twice. */ #define realloc_pixels(pixels, new_width, new_height, cur_width, cur_height) \ ((new_width) == (cur_width) && (new_height) == (cur_height) ? \ 1 : realloc_pixels_intern(pixels, new_width * PIXEL_SIZE, new_height, \ cur_width * PIXEL_SIZE, cur_height)) /* * Correct the height which is always multiple of 6, but this doesn't * necessarily work. */ static void correct_height(pixel_t *pixels, int width, int *height /* multiple of 6 */) { int x; int y; pixels += (width * (*height - 1)); for (y = 0; y < 5; y++) { for (x = 0; x < width; x++) { if (pixels[x]) { return; } } (*height)--; pixels -= width; } } /* * load_sixel_from_file() returns at least 1024*1024 pixels memory even if * the actual image size is less than it. * It is the caller that should shrink (realloc) it. */ static u_char *load_sixel_from_data(char *file_data, u_int *width_ret, u_int *height_ret) { char *p = file_data; u_char *pixels; int params[5]; size_t n; /* number of params */ int init_width; int pix_x; int pix_y; int stride; int cur_width; int cur_height; int width; int height; int rep; int color; int asp_x; #ifdef SIXEL_SHAREPALETTE u_int8_t color_indexes[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255 }; #else /* VT340 Default Color Map */ static pixel_t default_palette[] = { SIXEL_RGB(0, 0, 0), /* BLACK */ SIXEL_RGB(20, 20, 80), /* BLUE */ SIXEL_RGB(80, 13, 13), /* RED */ SIXEL_RGB(20, 80, 20), /* GREEN */ SIXEL_RGB(80, 20, 80), /* MAGENTA */ SIXEL_RGB(20, 80, 80), /* CYAN */ SIXEL_RGB(80, 80, 20), /* YELLOW */ SIXEL_RGB(53, 53, 53), /* GRAY 50% */ SIXEL_RGB(26, 26, 26), /* GRAY 25% */ SIXEL_RGB(33, 33, 60), /* BLUE* */ SIXEL_RGB(60, 26, 26), /* RED* */ SIXEL_RGB(33, 60, 33), /* GREEN* */ SIXEL_RGB(60, 33, 60), /* MAGENTA* */ SIXEL_RGB(33, 60, 60), /* CYAN* */ SIXEL_RGB(60, 60, 33), /* YELLOW* */ SIXEL_RGB(80, 80, 80) /* GRAY 75% */ }; pixel_t *palette; #endif pixels = NULL; init_width = 0; cur_width = cur_height = 0; width = 1024; height = 1024; if (!realloc_pixels(&pixels, width, height, 0, 0)) { return NULL; } #ifndef SIXEL_SHAREPALETTE #ifndef SIXEL_1BPP if (custom_palette) { palette = custom_palette; if (palette[256] == 0) /* No active palette */ { memcpy(palette, default_palette, sizeof(default_palette)); memset(palette + 16, 0, sizeof(pixel_t) * 256 - sizeof(default_palette)); } } else #endif { palette = (pixel_t*)alloca(sizeof(pixel_t) * 256); memcpy(palette, default_palette, sizeof(default_palette)); memset(palette + 16, 0, sizeof(pixel_t) * 256 - sizeof(default_palette)); } #endif restart: while (1) { if (*p == '\0') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format\n."); #endif goto end; } else if (*p == '\x90') { break; } else if (*p == '\x1b') { if (*(++p) == 'P') { break; } } else { p++; } } if (*(++p) != ';') { /* P1 */ switch (*p) { case 'q': /* The default value. (2:1 is documented though) */ asp_x = 1; #if 0 asp_y = 1; #endif goto body; #if 0 case '0': case '1': case '5': case '6': asp_x = 1; asp_y = 2; break; case '2': asp_x = 1; asp_y = 5; break; case '3': case '4': asp_x = 1; asp_y = 3; break; case '7': case '8': case '9': asp_x = 1; asp_y = 1; break; default: #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif goto end; #else case '\0': #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif goto end; default: asp_x = 1; /* XXX */ #endif } if (p[1] == ';') { p++; } } else { /* P1 is omitted. */ asp_x = 1; /* V:H=2:1 */ #if 0 asp_y = 2; #endif } if (*(++p) != ';') { /* P2 */ switch (*p) { case 'q': goto body; #if 0 case '0': case '2': ... break; default: #else case '\0': #endif #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif goto end; } if (p[1] == ';') { p++; } } #if 0 else { /* P2 is omitted. */ } #endif /* Ignoring P3 */ while (*(++p) != 'q') { if (*p == '\0') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif goto end; } } body: #ifdef SIXEL_SHAREPALETTE { char *p2; /* 'p + 2' is to skip '#' of "#0;9;%d;%d;%d" appended just after "DCS ... q" in vt_parser.c */ if (!(p2 = memchr(p + 2, '#', 50)) || (p2[2] != ';' && p2[3] != ';' && p2[4] != ';')) { /* If color definition is not found, load_sixel_from_data_sharepalette() exits. */ goto error; } } #endif rep = asp_x; pix_x = pix_y = 0; stride = width * PIXEL_SIZE; color = 0; while (*(++p) != '\0') { if (*p >= '?' && *p <= '\x7E') { u_int new_width; u_int new_height; int a; int b; int y; u_char *line; if (width < pix_x + rep) { new_width = width + 512; stride += (512 * PIXEL_SIZE); } else { new_width = width; } if (!realloc_pixels(&pixels, new_width, (new_height = height < pix_y + 6 ? height + 512 : height), width, height)) { break; } width = new_width; height = new_height; b = *p - '?'; a = 0x01; line = pixels + pix_y * stride + pix_x * PIXEL_SIZE; #ifdef SIXEL_SHAREPALETTE for (y = 0; y < 6; y++) { if ((b & a) != 0) { #ifdef USE_GRF int x; for (x = 0; x < rep; x++) { ((u_int16_t*)line)[x] = color_indexes[color]; } #else memset(line, color_indexes[color], rep); #endif } a <<= 1; line += stride; } #else for (y = 0; y < 6; y++) { if ((b & a) != 0) { int x; for (x = 0; x < rep; x++) { #if defined(GDK_PIXBUF_VERSION) || defined(USE_QUARTZ) /* RGBA */ line[x * PIXEL_SIZE] = (palette[color] >> 16) & 0xff; line[x * PIXEL_SIZE + 1] = (palette[color] >> 8) & 0xff; line[x * PIXEL_SIZE + 2] = (palette[color]) & 0xff; line[x * PIXEL_SIZE + 3] = 0xff; #elif defined(SIXEL_1BPP) /* 0x80 is opaque mark */ ((pixel_t*)line)[x] = 0x80 | palette[color]; #else /* ARGB (cardinal) */ ((pixel_t*)line)[x] = 0xff000000 | palette[color]; #endif } } a <<= 1; line += stride; } #endif /* SIXEL_SHAREPALETTE */ pix_x += rep; if (cur_width < pix_x) { cur_width = pix_x; } if (cur_height < pix_y + 6) { cur_height = pix_y + 6; } rep = asp_x; } else if (*p == '!') { /* ! Pn Ch */ if (*(++p) == '\0') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif break; } if (get_params(params, 1, &p) > 0) { if ((rep = params[0]) < 1) { rep = 1; } rep *= asp_x; } } else if (*p == '$' || *p == '-') { pix_x = 0; rep = asp_x; if (*p == '-') { if (!init_width && width > cur_width && cur_width > 0) { int y; #ifdef DEBUG bl_debug_printf("Sixel width is shrunk (%d -> %d)\n", width, cur_width); #endif for (y = 1; y < cur_height; y++) { memmove(pixels + y * cur_width * PIXEL_SIZE, pixels + y * width * PIXEL_SIZE, cur_width * PIXEL_SIZE); } memset(pixels + y * cur_width * PIXEL_SIZE, 0, (cur_height * (width - cur_width) * PIXEL_SIZE)); width = cur_width; stride = width * PIXEL_SIZE; init_width = 1; } pix_y += 6; } } else if (*p == '#') /* # Pc ; Pu; Px; Py; Pz */ { if (*(++p) == '\0') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif break; } n = get_params(params, 5, &p); if (n > 0) { if ((color = params[0]) < 0) { color = 0; } else if (color > 255) { color = 255; } } if (n > 4) { u_int8_t rgb[3]; if (params[1] == 1) { /* HLS */ int h; u_int32_t l; u_int32_t s; h = K_MIN(params[2], 360); l = K_MIN(params[3], 100); s = K_MIN(params[4], 100); if (s == 0) { rgb[0] = rgb[1] = rgb[2] = l * 255 / 100; } else { u_int32_t m1; u_int32_t m2; int count; if (l < 50) { m2 = l * (100 + s); } else { m2 = (l + s) * 100 - l * s; } m1 = l * 200 - m2; for (count = 0; count < 3; count++) { u_int32_t pc; if (h < 60) { pc = m1 + (m2 - m1) * h / 60; } else if (h < 180) { pc = m2; } else if (h < 240) { pc = m1 + (m2 - m1) * (240 - h) / 60; } else { pc = m1; } rgb[count] = pc * 255 / 10000; if ((h -= 120) < 0) { h += 360; } } } } else if (params[1] == 2 #ifndef SIXEL_SHAREPALETTE || params[1] == 9 /* see vt_parser.c */ #endif ) { /* RGB */ rgb[0] = params[2] >= 100 ? 255 : params[2] * 255 / 100; rgb[1] = params[3] >= 100 ? 255 : params[3] * 255 / 100; rgb[2] = params[4] >= 100 ? 255 : params[4] * 255 / 100; } else { continue; } #ifdef SIXEL_SHAREPALETTE { u_int8_t r, g, b; /* fb/ui_display.h which defines ui_cmap_get_pixel_rgb() is included from ui_imagelib.c */ if (!ui_cmap_get_pixel_rgb(&r, &g, &b, color) || abs(r - rgb[0]) >= 0x10 || abs(g - rgb[1]) >= 0x10 || abs(b - rgb[2]) >= 0x10) { u_long closest; /* * fb/ui_display.h which defines ui_cmap_get_closest_color() is included * from ui_imagelib.c */ if (ui_cmap_get_closest_color(&closest, rgb[0], rgb[1], rgb[2])) { color_indexes[color] = closest; } else { goto error; } } } #else palette[color] = (rgb[0] << 16) | (rgb[1] << 8) | rgb[2]; #endif #if !defined(SIXEL_1BPP) && !defined(SIXEL_SHAREPALETTE) if (palette == custom_palette && palette[256] <= color) { /* * Set max active palette number for NetBSD/OpenBSD. * (See load_file() in fb/ui_imagelib.c) */ palette[256] = color + 1; } #endif #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Set rgb %x for color %d.\n", palette[color], color); #endif } } else if (*p == '"') /* " Pan ; Pad ; Ph ; Pv */ { if (*(++p) == '\0') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Illegal format.\n."); #endif break; } if ((n = get_params(params, 4, &p)) == 1) { params[1] = 1; n = 2; } /* XXX ignored */ #if 0 switch (n) { case 4: height = params[3]; case 3: width = params[2]; /* XXX realloc_pixels() is necessary here. */ stride = width * PIXEL_SIZE; case 2: /* V:H=params[0]:params[1] */ #if 0 asp_x = params[1]; asp_y = params[0]; #else rep /= asp_x; if ((asp_x = params[1] / params[0]) == 0) { asp_x = 1; /* XXX */ } rep *= asp_x; #endif } if (asp_x <= 0) { asp_x = 1; } #endif } else if (*p == '\x1b') { if (*(++p) == '\\') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " EOF.\n."); #endif if (*(p + 1) != '\0') { goto restart; } break; } else if (*p == '\0') { break; } } else if (*p == '\x9c') { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " EOF.\n."); #endif if (*(p + 1) != '\0') { goto restart; } break; } } end: #if !defined(SIXEL_1BPP) && !defined(SIXEL_SHAREPALETTE) custom_palette = NULL; #endif if (cur_width > 0 && realloc_pixels(&pixels, cur_width, cur_height, width, height)) { correct_height((pixel_t*)pixels, cur_width, &cur_height); *width_ret = cur_width; *height_ret = cur_height; return pixels; } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Nothing is drawn.\n"); #endif #ifdef SIXEL_SHAREPALETTE error: #endif free(pixels - CARD_HEAD_SIZE); return NULL; } #if !defined(SIXEL_1BPP) && !defined(SIXEL_SHAREPALETTE) static u_char *load_sixel_from_file(const char *path, u_int *width_ret, u_int *height_ret) { char *file_data; u_char *pixels; if ((file_data = read_sixel_file(path))) { pixels = load_sixel_from_data(file_data, width_ret, height_ret); free(file_data); return pixels; } else { return NULL; } } pixel_t *ui_set_custom_sixel_palette(pixel_t *palette /* NULL -> Create new palette */ ) { if (!palette) { palette = (pixel_t*)calloc(sizeof(pixel_t), 257); } return (custom_palette = palette); } #endif #undef realloc_pixels #undef correct_height #undef load_sixel_from_data #undef SIXEL_RGB #undef CARD_HEAD_SIZE #undef pixel_t #undef PIXEL_SIZE ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/common/c_regis.c�����������������������������������������������������������������������0100644�0001760�0000144�00000004265�13210547312�0014600�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* --- static functions --- */ #if defined(USE_WIN32API) static int convert_regis_to_bmp(char *path) { size_t len = strlen(path); char cmd[17 + len * 2]; STARTUPINFO si; PROCESS_INFORMATION pi; path[len - 4] = '\0'; sprintf(cmd, "registobmp.exe %s.rgs %s.bmp", path, path); ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); si.dwFlags = STARTF_FORCEOFFFEEDBACK; if (CreateProcess(NULL, cmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi)) { DWORD code; WaitForSingleObject(pi.hProcess, INFINITE); GetExitCodeProcess(pi.hProcess, &code); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); if (code == 0) { strcat(path, ".bmp"); return 1; } } return 0; } #else #include <unistd.h> /* execve */ #include <sys/wait.h> #include <pobl/bl_path.h> /* bl_basename */ static int convert_regis_to_bmp(char *path) { pid_t pid; int status; if ((pid = fork()) == -1) { return 0; } if (pid == 0) { char *new_path; size_t len; #if defined(__CYGWIN__) || defined(__MSYS__) /* To make registobmp work even if it (or SDL) doesn't depend on cygwin. */ char *file; file = bl_basename(path); if (file && path < file) { *(file - 1) = '\0'; chdir(path); path = file; } #endif len = strlen(path); /* Cast to char* is necessary because this function can be compiled by g++. */ if ((new_path = (char*)malloc(len + 1))) { char *argv[4]; strncpy(new_path, path, len - 4); strcpy(new_path + len - 4, ".bmp"); argv[0] = BL_LIBEXECDIR("mlterm") "/registobmp"; argv[1] = path; argv[2] = new_path; argv[3] = NULL; execve(argv[0], argv, NULL); } exit(1); } waitpid(pid, &status, 0); /* * WEXITSTATUS uses __in and __out for union members, but * sal.h included from windows.h defines __in and __out macros on msys. * It causes compiling error in WEXITSTATUS. */ #ifdef __MSYS__ #undef __in #undef __out #endif if (WEXITSTATUS(status) == 0) { strcpy(path + strlen(path) - 4, ".bmp"); return 1; } return 0; } #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/common/c_intl.h������������������������������������������������������������������������0100644�0001760�0000144�00000000323�13210547312�0014431�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __C_INTL_H__ #define __C_INTL_H__ #include "c_config.h" #define _(arg) gettext(arg) #define N_(arg) arg #include "gettext.h" #endif �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/common/gettext.h�����������������������������������������������������������������������0100644�0001760�0000144�00000005710�13210547312�0014652�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* Convenience header for conditional use of GNU <libintl.h>. Copyright (C) 1995-1998, 2000-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ #include <libintl.h> #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of <locale.h> a NOP. We don't include <libintl.h> as well because people using "gettext.h" will not include <libintl.h>, and also including <libintl.h> would fail on SunOS 4, whereas <locale.h> is OK. */ #if defined(__sun) #include <locale.h> #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ #define gettext(Msgid) ((const char *)(Msgid)) #define dgettext(Domainname, Msgid) ((const char *)(Msgid)) #define dcgettext(Domainname, Msgid, Category) ((const char *)(Msgid)) #define ngettext(Msgid1, Msgid2, N) ((N) == 1 ? (const char *)(Msgid1) : (const char *)(Msgid2)) #define dngettext(Domainname, Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *)(Msgid1) : (const char *)(Msgid2)) #define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((N) == 1 ? (const char *)(Msgid1) : (const char *)(Msgid2)) #define textdomain(Domainname) ((const char *)(Domainname)) #define bindtextdomain(Domainname, Dirname) ((const char *)(Dirname)) #define bind_textdomain_codeset(Domainname, Codeset) ((const char *)(Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String #endif /* _LIBGETTEXT_H */ ��������������������������������������������������������mlterm-3.8.4/common/c_imagelib.c��������������������������������������������������������������������0100644�0001760�0000144�00000016562�13210547312�0015243�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifdef BUILTIN_IMAGELIB #include <pobl/bl_util.h> /* DIGIT_STR_LEN */ #include <pobl/bl_mem.h> /* alloca */ #include <pobl/bl_path.h> /* BL_LIBEXECDIR (for registobmp) */ #include "c_sixel.c" #include "c_regis.c" #include "c_animgif.c" /* --- static functions --- */ #ifdef GDK_PIXBUF_VERSION #include <pobl/bl_str.h> /* bl_str_alloca_dup */ #include <pobl/bl_conf_io.h> /* bl_get_user_rc_path */ static void pixbuf_destroy_notify(guchar *pixels, gpointer data) { free(pixels); } static GdkPixbuf *gdk_pixbuf_new_from_sixel(const char *path) { u_char *pixels; u_int width; u_int height; if (!(pixels = load_sixel_from_file(path, &width, &height))) { return NULL; } /* load_sixel_from_file returns 4 bytes per pixel data. */ return gdk_pixbuf_new_from_data(pixels, GDK_COLORSPACE_RGB, TRUE, 8, width, height, width * 4, pixbuf_destroy_notify, NULL); } #define create_cardinals_from_sixel(path, width, height) (NULL) /* create an CARDINAL array for_NET_WM_ICON data */ static u_int32_t *create_cardinals_from_pixbuf(GdkPixbuf *pixbuf) { u_int width; u_int height; u_int32_t *cardinal; int rowstride; u_char *line; u_char *pixel; u_int i, j; width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); if (width > ((SSIZE_MAX / sizeof(*cardinal)) - 2) / height || /* integer overflow */ !(cardinal = malloc((width * height + 2) * sizeof(*cardinal)))) { return NULL; } rowstride = gdk_pixbuf_get_rowstride(pixbuf); line = gdk_pixbuf_get_pixels(pixbuf); /* format of the array is {width, height, ARGB[][]} */ cardinal[0] = width; cardinal[1] = height; if (gdk_pixbuf_get_has_alpha(pixbuf)) { for (i = 0; i < height; i++) { pixel = line; line += rowstride; for (j = 0; j < width; j++) { /* RGBA to ARGB */ cardinal[(i * width + j) + 2] = ((((((u_int32_t)(pixel[3]) << 8) + pixel[0]) << 8) + pixel[1]) << 8) + pixel[2]; pixel += 4; } } } else { for (i = 0; i < height; i++) { pixel = line; line += rowstride; for (j = 0; j < width; j++) { /* all pixels are completely opaque (0xFF) */ cardinal[(i * width + j) + 2] = ((((((u_int32_t)(0x0000FF) << 8) + pixel[0]) << 8) + pixel[1]) << 8) + pixel[2]; pixel += 3; } } } return cardinal; } static GdkPixbuf *gdk_pixbuf_new_from(const char *path) { GdkPixbuf *pixbuf; if (strcasecmp(path + strlen(path) - 4, ".six") != 0 || !(pixbuf = gdk_pixbuf_new_from_sixel(path))) { if (strcasecmp(path + strlen(path) - 4, ".gif") == 0 && !strstr(path, "mlterm/anim")) { /* Animation GIF */ char *dir; if ((dir = bl_get_user_rc_path("mlterm/"))) { int hash; hash = hash_path(path); if (strstr(path, "://")) { char *cmd; if (!(cmd = alloca(25 + strlen(path) + strlen(dir) + 5 + DIGIT_STR_LEN(int)+1))) { goto end; } sprintf(cmd, "curl -L -k -s %s > %sanim%d.gif", path, dir, hash); if (system(cmd) != 0) { goto end; } path = cmd + 14 + strlen(path) + 3; } split_animation_gif(path, dir, hash); end: free(dir); } } #if GDK_PIXBUF_MAJOR >= 2 if (strstr(path, "://")) { #ifdef __G_IO_H__ /* * gdk-pixbuf depends on gio. (__G_IO_H__ is defined if * gdk-pixbuf-core.h includes gio.h) */ GFile *file; GInputStream *in; if ((in = (GInputStream*)g_file_read( (file = g_vfs_get_file_for_uri(g_vfs_get_default(), path)), NULL, NULL))) { pixbuf = gdk_pixbuf_new_from_stream(in, NULL, NULL); g_object_unref(in); } else #endif { char *cmd; pixbuf = NULL; if ((cmd = alloca(11 + strlen(path) + 1))) { FILE* fp; sprintf(cmd, "curl -L -k -s %s", path); if ((fp = popen(cmd, "r"))) { GdkPixbufLoader *loader; guchar buf[65536]; size_t len; loader = gdk_pixbuf_loader_new(); while ((len = fread(buf, 1, sizeof(buf), fp)) > 0) { gdk_pixbuf_loader_write(loader, buf, len, NULL); } gdk_pixbuf_loader_close(loader, NULL); pclose(fp); if ((pixbuf = gdk_pixbuf_loader_get_pixbuf(loader))) { g_object_ref(pixbuf); } g_object_unref(loader); } } } #ifdef __G_IO_H__ g_object_unref(file); #endif } else #endif /* GDK_PIXBUF_MAJOR */ { if (strcasecmp(path + strlen(path) - 4, ".rgs") == 0) { char *new_path; new_path = bl_str_alloca_dup(path); if (convert_regis_to_bmp(new_path)) { path = new_path; } } #if GDK_PIXBUF_MAJOR >= 2 pixbuf = gdk_pixbuf_new_from_file(path, NULL); #else pixbuf = gdk_pixbuf_new_from_file(path); #endif if (strstr(path, "mlterm/anim")) { int xoff; int yoff; int width; int height; if (read_gif_info(path, &xoff, &yoff, &width, &height)) { if (width > gdk_pixbuf_get_width(pixbuf) || height > gdk_pixbuf_get_height(pixbuf)) { GdkPixbuf *new_pixbuf; new_pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); gdk_pixbuf_fill(new_pixbuf, 0x00000000); gdk_pixbuf_copy_area(pixbuf, 0, 0, gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf), new_pixbuf, xoff, yoff); g_object_unref(pixbuf); pixbuf = new_pixbuf; } } } } } return pixbuf; } #else /* GDK_PIXBUF_VERSION */ #define gdk_pixbuf_new_from_sixel(path) (NULL) static u_int32_t *create_cardinals_from_sixel(const char *path) { u_int width; u_int height; u_int32_t *cardinal; if (!(cardinal = (u_int32_t*)load_sixel_from_file(path, &width, &height))) { return NULL; } cardinal -= 2; cardinal[0] = width; cardinal[1] = height; return cardinal; } #endif /* GDK_PIXBUF_VERSION */ #endif /* BUILTIN_IMAGELIB */ #ifdef USE_XLIB /* seek the closest color */ static int closest_color_index(XColor *color_list, int len, int red, int green, int blue) { int closest = 0; int i; u_int min = 0xffffff; u_int diff; int diff_r, diff_g, diff_b; for (i = 0; i < len; i++) { /* lazy color-space conversion*/ diff_r = red - (color_list[i].red >> 8); diff_g = green - (color_list[i].green >> 8); diff_b = blue - (color_list[i].blue >> 8); diff = diff_r * diff_r * 9 + diff_g * diff_g * 30 + diff_b * diff_b; if (diff < min) { min = diff; closest = i; /* no one may notice the difference (4[2^3/2]*4*9+4*4*30+4*4) */ if (diff < 640) { break; } } } return closest; } /**Return position of the least significant bit * *\param val value to count * */ static int lsb(u_int val) { int nth = 0; if (val == 0) { return 0; } while ((val & 1) == 0) { val = val >> 1; nth++; } return nth; } /**Return position of the most significant bit * *\param val value to count * */ static int msb(u_int val) { int nth; if (val == 0) { return 0; } nth = lsb(val) + 1; while (val & (1 << nth)) { nth++; } return nth; } #endif /* USE_XLIB */ ����������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind���������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547313�0012710�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table���������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547313�0013777�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/iitkeyb.table�������������������������������������������������������������0100644�0001760�0000144�00000002770�13210547312�0016531�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct a2i_tabl isciikey_iitkeyb_table[] = { { "A" , "\xda" } , { "B" , "\xcb" } , { "C" , "\xb9" } , { "D" , "\xc0" } , { "E" , "\xe2" } , { "F" , "\xbc" } , { "G" , "\xb6" } , { "H" , "\xa3" } , { "I" , "\xdc" } , { "J" , "\xbb" } , { "K" , "\xb4" } , { "M" , "\xa2" } , { "N" , "\xc1" } , { "O" , "\xe6" } , { "P" , "\xc9" } , { "R" , "\xd6" } , { "S" , "\xd5" } , { "S_r" , "\xd5\xe8\xcf" } , { "T" , "\xbe" } , { "U" , "\xde" } , { "W" , "\xc3" } , { "X" , "\xc5" } , { "]" , "\xe9" } , { "_" , "\xe8" } , { "a" , "\xa4" } , { "aA" , "\xa5" } , { "aE" , "\xad" } , { "aH" , "\xa4\xa3" } , { "aI" , "\xa7" } , { "aM" , "\xa4\xa2" } , { "aO" , "\xb1" } , { "aU" , "\xa9" } , { "ae" , "\xac" } , { "aeV" , "\xab" } , { "ai" , "\xa6" } , { "ao" , "\xb0" } , { "aoV" , "\xaf" } , { "aq" , "\xaa" } , { "au" , "\xa8" } , { "b" , "\xca" } , { "c" , "\xb8" } , { "d" , "\xbf" } , { "e" , "\xe1" } , { "eV" , "\xe0\x20" } , { "f" , "\xb7" } , { "g" , "\xb5" } , { "h" , "\xd8" } , { "i" , "\xdb" } , { "j" , "\xba" } , { "j_F" , "\xba\xe8\xbc" } , { "k" , "\xb3" } , { "k_R" , "\xb3\xe8\xd6" } , { "l" , "\xd1" } , { "lY" , "\xd2" } , { "m" , "\xcc" } , { "n" , "\xc6" } , { "o" , "\xe5" } , { "oV" , "\xe4" } , { "p" , "\xc8" } , { "q" , "\xdf" } , { "r" , "\xcf" } , { "s" , "\xd7" } , { "t" , "\xbd" } , { "u" , "\xdd" } , { "v" , "\xd4" } , { "w" , "\xc2" } , { "w_r" , "\xc2\xe8\xcf" } , { "x" , "\xc4" } , { "y" , "\xcd" } , { "z" , "\xa1" } , } ; ��������mlterm-3.8.4/libind/table/gujarati.table������������������������������������������������������������0100644�0001760�0000144�00001607123�13210547312�0016703�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_gujarati_table[] = { { "\xa1" , "\xc6" } , { "\xa1\xa2" , "\xc6\xc5" } , { "\xa1\xa4" , "\xc6\x2b" } , { "\xa1\xa4\xa2" , "\xc6\x2b\xc5" } , { "\xa1\xab" , "\xc6\x2b\xe8" } , { "\xa1\xab\xa2" , "\xc6\x2b\xe9" } , { "\xa1\xb0" , "\xc6\x2b\xc9\xe0" } , { "\xa1\xcd\xdb" , "\xc6\xca\xab\xc9" } , { "\xa1\xd4" , "\xc6\xb4\xc9" } , { "\xa1\xe9" , "\x24" } , { "\xa2" , "\xc5" } , { "\xa2\xa3" , "\xc5\x26" } , { "\xa3" , "\x26" } , { "\xa4" , "\x2b" } , { "\xa4\xa1" , "\x2b\xc6" } , { "\xa4\xa2" , "\x2b\xc5" } , { "\xa4\xa3" , "\x2b\x26" } , { "\xa4\xd0\xe8" , "\x2b\xad\xc3\xf7" } , { "\xa5" , "\x2b\xc9" } , { "\xa5\xa1" , "\x2b\xc9\xc6" } , { "\xa5\xa2" , "\x2b\xc9\xc5" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x2b\xc9\xc5\xad\xe1\xf7" } , { "\xa5\xa3" , "\x2b\xc9\x26" } , { "\xa6" , "\x3c" } , { "\xa6\xa1" , "\x3d" } , { "\xa6\xa2" , "\x3d" } , { "\xa6\xa3" , "\x3c\x26" } , { "\xa6\xcc\xe5" , "\x3c\xa9\xc9\xc9\xe0" } , { "\xa6\xd7" , "\x3c\xbb\xc9" } , { "\xa7" , "\x3e" } , { "\xa7\xa1" , "\x40" } , { "\xa7\xa1\xa1" , "\x40\xc6" } , { "\xa7\xa1\xa3" , "\x40\x26" } , { "\xa7\xa2" , "\x40" } , { "\xa7\xa3" , "\x3e\x26" } , { "\xa8" , "\x41" } , { "\xa8\xa1" , "\x42" } , { "\xa8\xa2" , "\x42" } , { "\xa8\xa2\xa2" , "\x42\xc5" } , { "\xa8\xa3" , "\x41\x26" } , { "\xa8\xb3\xdf" , "\x41\x48\xde\xed" } , { "\xa9" , "\x43" } , { "\xa9\xa1" , "\x44" } , { "\xa9\xa2" , "\x44" } , { "\xaa" , "\x45\xec" } , { "\xaa\xa2" , "\x45\xc5\xec" } , { "\xab" , "\x2b\xe8" } , { "\xab\xa1" , "\x2b\xe9" } , { "\xab\xa2" , "\x2b\xe9" } , { "\xab\xd9" , "\x2b\xe8" } , { "\xac" , "\x2b\xe0" } , { "\xac\xa1" , "\x2b\xe1" } , { "\xac\xa2" , "\x2b\xe1" } , { "\xac\xa2\xa1" , "\x2b\xe1\xc6" } , { "\xac\xd0\xc5" , "\x2b\xe0\xad\xf7\x79\xc9" } , { "\xac\xd7" , "\x2b\xe0\xbb\xc9" } , { "\xad" , "\x2b\xe4" } , { "\xad\xa1" , "\x2b\xe5" } , { "\xad\xa2" , "\x2b\xe5" } , { "\xad\xb1" , "\x2b\xe4\x2b\xc9\xe4" } , { "\xad\xd0\xb1" , "\x2b\xe4\xad\xf7\x2b\xc9\xe4" } , { "\xae" , "\x2b\xe8" } , { "\xae\xa2" , "\x2b\xe9" } , { "\xae\xa3" , "\x2b\xe8\x26" } , { "\xae\xd9" , "\x2b\xe8" } , { "\xaf" , "\x2b\xc9\xe8" } , { "\xaf\xa1" , "\x2b\xc9\xe9" } , { "\xaf\xa2" , "\x2b\xc9\xe9" } , { "\xaf\xd0\xb1\xd1" , "\x2b\xc9\xe8\xad\xf7\x2b\xc9\xe4\xb1\xc9" } , { "\xb0" , "\x2b\xc9\xe0" } , { "\xb0\xa1" , "\x2b\xc9\xe1" } , { "\xb0\xa2" , "\x2b\xc9\xe1" } , { "\xb0\xa3" , "\x2b\xc9\xe0\x26" } , { "\xb0\xa3\xd0\xb6" , "\x2b\xc9\xe0\x26\xad\xf7\x50\xc9" } , { "\xb0\xcc\xe8" , "\x2b\xc9\xe0\xa9\xc9\xc3" } , { "\xb0\xd0" , "\x2b\xc9\xe0\xad\xf7" } , { "\xb1" , "\x2b\xc9\xe4" } , { "\xb1\xa1" , "\x2b\xc9\xe5" } , { "\xb1\xa2" , "\x2b\xc9\xe5" } , { "\xb1\xa3" , "\x2b\xc9\xe4\x26" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x2b\xc9\xe4\x26\xad\xc3\xf7\xb1\xc9\xd2" } , { "\xb1\xd0" , "\x2b\xc9\xe4\xad\xf7" } , { "\xb1\xd1\xd7" , "\x2b\xc9\xe4\xb1\xc9\xbb\xc9" } , { "\xb1\xd7" , "\x2b\xc9\xe4\xbb\xc9" } , { "\xb2" , "\x2b\xc9\xe8" } , { "\xb2\xd9\xb5" , "\x2b\xc9\xe8\x4e\xc9" } , { "\xb3" , "\x48\xed" } , { "\xb3\xa1" , "\x48\xc6\xed" } , { "\xb3\xa2" , "\x48\xc5\xed" } , { "\xb3\xa2\xa2" , "\x48\xc5\xed\xc5" } , { "\xb3\xa3" , "\x48\xed\x26" } , { "\xb3\xd9\xaa" , "\x48\xed\x45\xec" } , { "\xb3\xda" , "\x48\xed\xc9" } , { "\xb3\xda\xa1" , "\x48\xed\xc9\xc6" } , { "\xb3\xda\xa2" , "\x48\xed\xc9\xc5" } , { "\xb3\xda\xa2\xa2" , "\x48\xed\xc9\xc5\xc5" } , { "\xb3\xda\xa3" , "\x48\xed\xc9\x26" } , { "\xb3\xdb" , "\xca\x48\xed" } , { "\xb3\xdb\xa2" , "\xcb\x48\xed" } , { "\xb3\xdb\xa3" , "\xca\x48\xed\x26" } , { "\xb3\xdb\xc7" , "\xca\x48\xed\x7b\xc9" } , { "\xb3\xdc" , "\x48\xed\xd2" } , { "\xb3\xdc\xa2" , "\x48\xed\xd3" } , { "\xb3\xdd" , "\x48\xd6\xed" } , { "\xb3\xdd\xa1" , "\x48\xd6\xc6\xed" } , { "\xb3\xdd\xa2" , "\x48\xd6\xc5\xed" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x48\xd6\xc5\xed\xad\xf7\x69\xc9" } , { "\xb3\xdd\xa3" , "\x48\xd6\xed\x26" } , { "\xb3\xde" , "\x48\xda\xed" } , { "\xb3\xde\xa1" , "\x48\xda\xc6\xed" } , { "\xb3\xde\xa2" , "\x48\xda\xc5\xed" } , { "\xb3\xdf" , "\x48\xde\xed" } , { "\xb3\xdf\xa2" , "\x48\xde\xc5\xed" } , { "\xb3\xe0" , "\x48\xe8\xed" } , { "\xb3\xe0\xa2" , "\x48\xe9\xed" } , { "\xb3\xe1" , "\x48\xe0\xed" } , { "\xb3\xe1\xa1" , "\x48\xe1\xed" } , { "\xb3\xe1\xa2" , "\x48\xe1\xed" } , { "\xb3\xe2" , "\x48\xe4\xed" } , { "\xb3\xe2\xa2" , "\x48\xe5\xed" } , { "\xb3\xe2\xa3" , "\x48\xe4\xed\x26" } , { "\xb3\xe3" , "\x48\xe8\xed" } , { "\xb3\xe4" , "\x48\xed\xc9\xe8" } , { "\xb3\xe4\xa2" , "\x48\xed\xc9\xe9" } , { "\xb3\xe4\xa2\xa2" , "\x48\xed\xc9\xe9\xc5" } , { "\xb3\xe4\xa3" , "\x48\xed\xc9\xe8\x26" } , { "\xb3\xe5" , "\x48\xed\xc9\xe0" } , { "\xb3\xe5\xa1" , "\x48\xed\xc9\xe1" } , { "\xb3\xe5\xa2" , "\x48\xed\xc9\xe1" } , { "\xb3\xe6" , "\x48\xed\xc9\xe4" } , { "\xb3\xe6\xa2" , "\x48\xed\xc9\xe5" } , { "\xb3\xe6\xbd\xe8" , "\x48\xed\xc9\xe4\x60\xc3\xf2" } , { "\xb3\xe7" , "\x48\xed\xc9\xe8" } , { "\xb3\xe7\xa2" , "\x48\xed\xc9\xe9" } , { "\xb3\xe8" , "\x48\xc3\xed" } , { "\xb3\xe8\xb3" , "\x49\xed" } , { "\xb3\xe8\xb3\xa2" , "\x49\xc5\xed" } , { "\xb3\xe8\xb3\xda" , "\x49\xed\xc9" } , { "\xb3\xe8\xb3\xda\xa2" , "\x49\xed\xc9\xc5" } , { "\xb3\xe8\xb3\xdb" , "\xca\x49\xed" } , { "\xb3\xe8\xb3\xdb\xa2" , "\xcb\x49\xed" } , { "\xb3\xe8\xb3\xdc" , "\x49\xed\xd2" } , { "\xb3\xe8\xb3\xdd" , "\x49\xd6\xed" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x49\xd6\xc5\xed" } , { "\xb3\xe8\xb3\xde" , "\x49\xda\xed" } , { "\xb3\xe8\xb3\xdf" , "\x49\xde\xed" } , { "\xb3\xe8\xb3\xe0" , "\x49\xe8\xed" } , { "\xb3\xe8\xb3\xe0\xa2" , "\x49\xe9\xed" } , { "\xb3\xe8\xb3\xe1" , "\x49\xe0\xed" } , { "\xb3\xe8\xb3\xe1\xa2" , "\x49\xe1\xed" } , { "\xb3\xe8\xb3\xe2" , "\x49\xe4\xed" } , { "\xb3\xe8\xb3\xe4" , "\x49\xed\xc9\xe8" } , { "\xb3\xe8\xb3\xe4\xa2" , "\x49\xed\xc9\xe9" } , { "\xb3\xe8\xb3\xe5" , "\x49\xed\xc9\xe0" } , { "\xb3\xe8\xb3\xe5\xa2" , "\x49\xed\xc9\xe1" } , { "\xb3\xe8\xb3\xe6" , "\x49\xed\xc9\xe4" } , { "\xb3\xe8\xb3\xe6\xa2" , "\x49\xed\xc9\xe5" } , { "\xb3\xe8\xb3\xe8" , "\x49\xc3\xed" } , { "\xb3\xe8\xb3\xe8\xb3" , "\x47\x49\xed" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x47\x47\x65\xf4\xc9" } , { "\xb3\xe8\xb3\xe8\xc2" , "\x47\x47\x6c\xc9" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x47\x47\xab\xc9" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x47\x47\xab\xc9\xd6" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\xce\x47\x4a\xed" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\x47\x4a\xed\xc9\xe0" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x47\x47\xb1\xc9" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\x47\x4b\xc9\xe0" } , { "\xb3\xe8\xb3\xe9" , "\x49\xed" } , { "\xb3\xe8\xb3\xe9\xda" , "\x49\xed\xc9" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x49\xed\xd2" } , { "\xb3\xe8\xb4" , "\x47\x4c\xc9" } , { "\xb3\xe8\xb4\xa2" , "\x47\x4c\xc9\xc5" } , { "\xb3\xe8\xb4\xda" , "\x47\x4c\xc9\xc9" } , { "\xb3\xe8\xb4\xdb" , "\xce\x47\x4c\xc9" } , { "\xb3\xe8\xb4\xdc" , "\x47\x4c\xc9\xd2" } , { "\xb3\xe8\xb4\xe1" , "\x47\x4c\xc9\xe0" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x47\x4c\xc9\xe1" } , { "\xb3\xe8\xb4\xe5" , "\x47\x4c\xc9\xc9\xe0" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x47\x4c\xc9\xc9\xe1" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x47\x4c\xc9\xc9\xe5" } , { "\xb3\xe8\xb4\xe7" , "\x47\x4c\xc9\xc9\xe8" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x47\x4c\xab\xc9\xc9" } , { "\xb3\xe8\xb5" , "\x47\x4e\xc9" } , { "\xb3\xe8\xb5\xda" , "\x47\x4e\xc9\xc9" } , { "\xb3\xe8\xb5\xe5" , "\x47\x4e\xc9\xc9\xe0" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x47\x4f\xc9\xc9" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x47\x4f\xc9\xc9\xe5" } , { "\xb3\xe8\xb6" , "\x47\x50\xc9" } , { "\xb3\xe8\xb7\xda" , "\x47\x52\xee\xc9" } , { "\xb3\xe8\xb7\xe1" , "\x47\x52\xe0\xee" } , { "\xb3\xe8\xb8" , "\x47\x53\xc9" } , { "\xb3\xe8\xb8\xda" , "\x47\x53\xc9\xc9" } , { "\xb3\xe8\xb8\xdc" , "\x47\x53\xc9\xd2" } , { "\xb3\xe8\xb8\xdd" , "\x47\x53\xc9\xd6" } , { "\xb3\xe8\xb8\xe0" , "\x47\x53\xc9\xe8" } , { "\xb3\xe8\xb8\xe1" , "\x47\x53\xc9\xe0" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x47\x53\xc9\xe1" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x47\x53\xc9\xc9\xe9" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x47\x53\x53\xc9\xc9" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x47\x53\x53\xc9\xd2" } , { "\xb3\xe8\xb9" , "\x47\x55\xef" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x47\x55\xef\xe1" } , { "\xb3\xe8\xba" , "\x47\x57\xf0" } , { "\xb3\xe8\xba\xda" , "\x47\x58" } , { "\xb3\xe8\xba\xda\xa2" , "\x47\x58\xc5" } , { "\xb3\xe8\xba\xdb" , "\xce\x47\x57\xf0" } , { "\xb3\xe8\xba\xdc" , "\x47\x59\xf0" } , { "\xb3\xe8\xba\xe1\xa2" , "\x47\x57\xf0\xe1" } , { "\xb3\xe8\xba\xe2\xa2" , "\x47\x57\xf0\xe5" } , { "\xb3\xe8\xba\xe5" , "\x47\x58\xe0" } , { "\xb3\xe8\xba\xe9\xdc" , "\x47\x59\xf0" } , { "\xb3\xe8\xbd" , "\x47\x60\xf2" } , { "\xb3\xe8\xbd\xda" , "\x47\x60\xf2\xc9" } , { "\xb3\xe8\xbd\xda\xa2" , "\x47\x60\xf2\xc9\xc5" } , { "\xb3\xe8\xbd\xdb" , "\xce\x47\x60\xf2" } , { "\xb3\xe8\xbd\xdb\xa2" , "\xcf\x47\x60\xf2" } , { "\xb3\xe8\xbd\xdc" , "\x47\x60\xf2\xd2" } , { "\xb3\xe8\xbd\xdd" , "\x47\x60\xd6\xf2" } , { "\xb3\xe8\xbd\xde" , "\x47\x60\xda\xf2" } , { "\xb3\xe8\xbd\xe0" , "\x47\x60\xe8\xf2" } , { "\xb3\xe8\xbd\xe0\xa2" , "\x47\x60\xe9\xf2" } , { "\xb3\xe8\xbd\xe1" , "\x47\x60\xe0\xf2" } , { "\xb3\xe8\xbd\xe2" , "\x47\x60\xe4\xf2" } , { "\xb3\xe8\xbd\xe4" , "\x47\x60\xf2\xc9\xe8" } , { "\xb3\xe8\xbd\xe5" , "\x47\x60\xf2\xc9\xe0" } , { "\xb3\xe8\xbd\xe5\xa2" , "\x47\x60\xf2\xc9\xe1" } , { "\xb3\xe8\xbd\xe8" , "\x47\x60\xc3\xf2" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x47\x60\xc3\xf2\x48\xd6\xed" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x47\x60\xc3\xf2\x4e\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x47\x60\xc3\xf2\x4e\xb1\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x47\x60\xc3\xf2\x53\xc9\xe0" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x47\x60\xc3\xf2\x63\xf3\xc9" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x47\x60\xc3\xf2\x63\xf3\xd2" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x47\x60\xc3\xf2\x63\xe0\xf3" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x47\x60\xc3\xf2\x7b\xc9\xd6" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x47\x60\xc3\xf2\xa9\xc9" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x47\x60\xf2\xac" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x47\x60\xf2\xac\xd6" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x47\x60\xf2\xac\xda" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x47\x60\xf2\xac\xc9\xe0" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x47\x60\xc4\xf2" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x47\x60\xc4\xf2\xc9" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x47\x60\xc4\xf2\xc9\xc5" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\xce\x47\x60\xc4\xf2" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x47\x60\xc4\xf2\xd2" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\x47\x60\xc4\xe8\xf2" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\x47\x60\xc4\xe0\xf2" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\x47\x60\xc4\xe4\xf2" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\x47\x60\xc4\xf2\xc9\xe8" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\x47\x60\xc4\xf2\xc9\xe0" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\x47\x60\xc4\xf2\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\x47\x60\xc4\xf2\xc9\xe8" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x47\x60\xc4\xc3\xf2" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\xce\x47\x60\xc3\xf2\xb1\xc9" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x47\x60\xc3\xf2\xb1\xc9\xd2" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x47\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\x47\x60\xc3\xf2\xb1\xc9\xe8" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\x47\x60\xc3\xf2\xb1\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\x47\x60\xc3\xf2\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x47\x60\xc3\xf2\xb4\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\xce\x47\x60\xc3\xf2\xb4\xc9" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x47\x60\xc3\xf2\xb4\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x47\x60\xc3\xf2\xbb\xc9" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\xcf\x47\x60\xc3\xf2\xbb\xc9" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x47\x60\xc3\xf2\xbb\xc9\xd6" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x47\x60\xc3\xf2\xbb\xc9\xc3" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xce\x47\x60\xc3\xf2\xbb\x48\xed" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x47\x60\xc3\xf2\xbc\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x47\x60\xc3\xf2\xbb\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xbe\xa2" , "\x47\x63\xc5\xf3" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x47\x63\xc3\xf3\x63\xf3\xc9" } , { "\xb3\xe8\xbf" , "\x47\x65\xf4" } , { "\xb3\xe8\xbf\xa2" , "\x47\x65\xc5\xf4" } , { "\xb3\xe8\xbf\xda" , "\x47\x65\xf4\xc9" } , { "\xb3\xe8\xbf\xdb" , "\xce\x47\x65\xf4" } , { "\xb3\xe8\xbf\xdc" , "\x47\x65\xf4\xd2" } , { "\xb3\xe8\xbf\xdd" , "\x47\x65\xd6\xf4" } , { "\xb3\xe8\xbf\xde" , "\x47\x65\xda\xf4" } , { "\xb3\xe8\xbf\xe0" , "\x47\x65\xe8\xf4" } , { "\xb3\xe8\xbf\xe1" , "\x47\x65\xe0\xf4" } , { "\xb3\xe8\xbf\xe4" , "\x47\x65\xf4\xc9\xe8" } , { "\xb3\xe8\xbf\xe5" , "\x47\x65\xf4\xc9\xe0" } , { "\xb3\xe8\xbf\xe8" , "\x47\x65\xc3\xf4" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x47\x65\xc4\xf4" } , { "\xb3\xe8\xbf\xe9" , "\x47\x65\xf4" } , { "\xb3\xe8\xbf\xe9\xda" , "\x47\x65\xf4\xc9" } , { "\xb3\xe8\xc1" , "\x47\x69\xc9" } , { "\xb3\xe8\xc1\xdb" , "\xce\x47\x69\xc9" } , { "\xb3\xe8\xc1\xdb\xa2" , "\xcf\x47\x69\xc9" } , { "\xb3\xe8\xc1\xdc" , "\x47\x69\xc9\xd2" } , { "\xb3\xe8\xc2" , "\x47\x6c\xc9" } , { "\xb3\xe8\xc2\xa2" , "\x47\x6c\xc9\xc5" } , { "\xb3\xe8\xc2\xa3" , "\x47\x6c\xc9\x26" } , { "\xb3\xe8\xc2\xda" , "\x47\x6c\xc9\xc9" } , { "\xb3\xe8\xc2\xda\xa2" , "\x47\x6c\xc9\xc9\xc5" } , { "\xb3\xe8\xc2\xda\xa3" , "\x47\x6c\xc9\xc9\x26" } , { "\xb3\xe8\xc2\xdb" , "\xce\x47\x6c\xc9" } , { "\xb3\xe8\xc2\xdb\xa2" , "\xcf\x47\x6c\xc9" } , { "\xb3\xe8\xc2\xdb\xa3" , "\xce\x47\x6c\xc9\x26" } , { "\xb3\xe8\xc2\xdc" , "\x47\x6c\xc9\xd2" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x47\x6c\xc9\xd2\x26" } , { "\xb3\xe8\xc2\xdd" , "\x47\x6c\xc9\xd6" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x47\x6c\xc9\xd6\xc5" } , { "\xb3\xe8\xc2\xde" , "\x47\x6c\xc9\xda" } , { "\xb3\xe8\xc2\xdf" , "\x47\x6c\xc9\xde" } , { "\xb3\xe8\xc2\xe0" , "\x47\x6c\xc9\xe8" } , { "\xb3\xe8\xc2\xe1" , "\x47\x6c\xc9\xe0" } , { "\xb3\xe8\xc2\xe2" , "\x47\x6c\xc9\xe4" } , { "\xb3\xe8\xc2\xe5" , "\x47\x6c\xc9\xc9\xe0" } , { "\xb3\xe8\xc2\xe5\xa2" , "\x47\x6c\xc9\xc9\xe1" } , { "\xb3\xe8\xc2\xe6" , "\x47\x6c\xc9\xc9\xe4" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x47\x6c\x48\xe8\xed" } , { "\xb3\xe8\xc2\xe8\xc2" , "\x47\x6e\xc9" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\x47\x6e\xc9\xc9" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\xce\x47\x6e\xc9" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x47\x6c\xab\xc9" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x47\x6c\xab\xc9\xc5" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x47\x6c\xab\xc9\xc9" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x47\x6c\xab\xc9\xd6" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x47\x6c\xab\xc9\xe4" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x47\x6c\xab\xc9\xc9\xe1" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x47\x6d\xc9" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x47\x6d\xc9\xc5" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x47\x6d\xc9\x26" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\xce\x47\x6d\xc9" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\x47\x6d\xc9\xe8" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\x47\x6d\xc9\xe4" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x47\x6c\xb4\xc9" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x47\x6c\xb4\xc9\xc5" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x47\x6c\xb4\xc9\xc9" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\xce\x47\x6c\xb4\xc9" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x47\x6c\xbb\xc9" } , { "\xb3\xe8\xc3" , "\x47\x6f\xc9" } , { "\xb3\xe8\xc3\xa2" , "\x47\x6f\xc9\xc5" } , { "\xb3\xe8\xc3\xdb" , "\xce\x47\x6f\xc9" } , { "\xb3\xe8\xc3\xdd" , "\x47\x6f\xc9\xd6" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x47\x6f\xab\xc9" } , { "\xb3\xe8\xc4" , "\x47\x71\xf6" } , { "\xb3\xe8\xc4\xda" , "\x47\x71\xf6\xc9" } , { "\xb3\xe8\xc4\xdb" , "\xce\x47\x71\xf6" } , { "\xb3\xe8\xc4\xdd" , "\x47\x71\xd6\xf6" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x47\x71\xd6\xc5\xf6" } , { "\xb3\xe8\xc4\xe4" , "\x47\x71\xf6\xc9\xe8" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x47\x72\xf6\xd2" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x47\x77\xf6\xc9" } , { "\xb3\xe8\xc5" , "\x47\x79\xc9" } , { "\xb3\xe8\xc5\xda" , "\x47\x79\xc9\xc9" } , { "\xb3\xe8\xc6" , "\x47\x7b\xc9" } , { "\xb3\xe8\xc6\xda" , "\x47\x7b\xc9\xc9" } , { "\xb3\xe8\xc6\xda\xa2" , "\x47\x7b\xc9\xc9\xc5" } , { "\xb3\xe8\xc6\xdb" , "\xce\x47\x7b\xc9" } , { "\xb3\xe8\xc6\xdc" , "\x47\x7b\xc9\xd2" } , { "\xb3\xe8\xc6\xdd" , "\x47\x7b\xc9\xd6" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x47\x7b\xc9\xd6\xc5" } , { "\xb3\xe8\xc6\xde" , "\x47\x7b\xc9\xda" } , { "\xb3\xe8\xc6\xe0" , "\x47\x7b\xc9\xe8" } , { "\xb3\xe8\xc6\xe4" , "\x47\x7b\xc9\xc9\xe8" } , { "\xb3\xe8\xc6\xe5" , "\x47\x7b\xc9\xc9\xe0" } , { "\xb3\xe8\xc6\xe7" , "\x47\x7b\xc9\xc9\xe8" } , { "\xb3\xe8\xc6\xe8" , "\x47\x7b\xc9\xc3" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x47\x7b\xab\xc9" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x47\x7b\xab\xc9\xc9" } , { "\xb3\xe8\xc8" , "\x47\x7e\xc9" } , { "\xb3\xe8\xc8\xa2" , "\x47\x7e\xc9\xc5" } , { "\xb3\xe8\xc8\xda" , "\x47\x7e\xc9\xc9" } , { "\xb3\xe8\xc8\xdb" , "\xce\x47\x7e\xc9" } , { "\xb3\xe8\xc8\xdc" , "\x47\x7e\xc9\xd2" } , { "\xb3\xe8\xc8\xdd" , "\x47\x7e\xc9\xd6" } , { "\xb3\xe8\xc8\xde" , "\x47\x7e\xc9\xda" } , { "\xb3\xe8\xc8\xdf" , "\x47\x7e\xc9\xde" } , { "\xb3\xe8\xc8\xe1" , "\x47\x7e\xc9\xe0" } , { "\xb3\xe8\xc8\xe2" , "\x47\x7e\xc9\xe4" } , { "\xb3\xe8\xc8\xe4" , "\x47\x7e\xc9\xc9\xe8" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x47\xa1\xc9" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x47\xa1\xc9\xc9" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x47\xa1\xc9\xc9\xe4" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\xce\x47\x7e\xbb\xc9" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x47\x7e\xbb\xc9\xe8" } , { "\xb3\xe8\xc9" , "\x47\xa3\xed" } , { "\xb3\xe8\xc9\xda" , "\x47\xa3\xed\xc9" } , { "\xb3\xe8\xc9\xdb" , "\xce\x47\xa3\xed" } , { "\xb3\xe8\xc9\xdd" , "\x47\xa3\xd9\xed" } , { "\xb3\xe8\xc9\xe0" , "\x47\xa3\xe8\xed" } , { "\xb3\xe8\xc9\xe1" , "\x47\xa3\xe0\xed" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x47\xa3\xe0\xed" } , { "\xb3\xe8\xca" , "\x47\xa5\xc9" } , { "\xb3\xe8\xca\xa2" , "\x47\xa5\xc9\xc5" } , { "\xb3\xe8\xca\xda" , "\x47\xa5\xc9\xc9" } , { "\xb3\xe8\xca\xdc" , "\x47\xa5\xc9\xd2" } , { "\xb3\xe8\xca\xde" , "\x47\xa5\xc9\xda" } , { "\xb3\xe8\xca\xe1" , "\x47\xa5\xc9\xe0" } , { "\xb3\xe8\xca\xe5" , "\x47\xa5\xc9\xc9\xe0" } , { "\xb3\xe8\xca\xe5\xa2" , "\x47\xa5\xc9\xc9\xe1" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x47\xa5\xb1\xc9\xc9" } , { "\xb3\xe8\xcb" , "\x47\xa7\xc9" } , { "\xb3\xe8\xcb\xda" , "\x47\xa7\xc9\xc9" } , { "\xb3\xe8\xcb\xdb" , "\xce\x47\xa7\xc9" } , { "\xb3\xe8\xcc" , "\x47\xa9\xc9" } , { "\xb3\xe8\xcc\xa2" , "\x47\xa9\xc9\xc5" } , { "\xb3\xe8\xcc\xda" , "\x47\xa9\xc9\xc9" } , { "\xb3\xe8\xcc\xda\xa2" , "\x47\xa9\xc9\xc9\xc5" } , { "\xb3\xe8\xcc\xdb" , "\xce\x47\xa9\xc9" } , { "\xb3\xe8\xcc\xdc" , "\x47\xa9\xc9\xd2" } , { "\xb3\xe8\xcc\xdd" , "\x47\xa9\xc9\xd6" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x47\xa9\xc9\xd6\xc5" } , { "\xb3\xe8\xcc\xe0" , "\x47\xa9\xc9\xe8" } , { "\xb3\xe8\xcc\xe1" , "\x47\xa9\xc9\xe0" } , { "\xb3\xe8\xcc\xe1\xa2" , "\x47\xa9\xc9\xe1" } , { "\xb3\xe8\xcc\xe2" , "\x47\xa9\xc9\xe4" } , { "\xb3\xe8\xcc\xe5" , "\x47\xa9\xc9\xc9\xe0" } , { "\xb3\xe8\xcd" , "\x47\xab\xc9" } , { "\xb3\xe8\xcd\xa2" , "\x47\xab\xc9\xc5" } , { "\xb3\xe8\xcd\xda" , "\x47\xab\xc9\xc9" } , { "\xb3\xe8\xcd\xda\xa1" , "\x47\xab\xc9\xc9\xc6" } , { "\xb3\xe8\xcd\xda\xa2" , "\x47\xab\xc9\xc9\xc5" } , { "\xb3\xe8\xcd\xdb" , "\xce\x47\xab\xc9" } , { "\xb3\xe8\xcd\xdd" , "\x47\xab\xc9\xd6" } , { "\xb3\xe8\xcd\xde" , "\x47\xab\xc9\xda" } , { "\xb3\xe8\xcd\xde\xa1" , "\x47\xab\xc9\xda\xc6" } , { "\xb3\xe8\xcd\xde\xa2" , "\x47\xab\xc9\xda\xc5" } , { "\xb3\xe8\xcd\xe1" , "\x47\xab\xc9\xe0" } , { "\xb3\xe8\xcd\xe2" , "\x47\xab\xc9\xe4" } , { "\xb3\xe8\xcd\xe5" , "\x47\xab\xc9\xc9\xe0" } , { "\xb3\xe8\xcd\xe5\xa2" , "\x47\xab\xc9\xc9\xe1" } , { "\xb3\xe8\xcd\xe8" , "\x47\xab\xc9\xc3" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x47\xab\xab\xc9\xc9" } , { "\xb3\xe8\xcf" , "\x4a\xed" } , { "\xb3\xe8\xcf\xa2" , "\x4a\xc5\xed" } , { "\xb3\xe8\xcf\xda" , "\x4a\xed\xc9" } , { "\xb3\xe8\xcf\xda\xa1" , "\x4a\xed\xc9\xc6" } , { "\xb3\xe8\xcf\xda\xa2" , "\x4a\xed\xc9\xc5" } , { "\xb3\xe8\xcf\xdb" , "\xca\x4a\xed" } , { "\xb3\xe8\xcf\xdb\xa2" , "\xcb\x4a\xed" } , { "\xb3\xe8\xcf\xdc" , "\x4a\xed\xd2" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x4a\xed\xd3" } , { "\xb3\xe8\xcf\xdd" , "\x4a\xd6\xed" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x4a\xd6\xc5\xed" } , { "\xb3\xe8\xcf\xde" , "\x4a\xda\xed" } , { "\xb3\xe8\xcf\xdf" , "\x4a\xde\xed" } , { "\xb3\xe8\xcf\xe0" , "\x4a\xe8\xed" } , { "\xb3\xe8\xcf\xe1" , "\x4a\xe0\xed" } , { "\xb3\xe8\xcf\xe1\xa2" , "\x4a\xe1\xed" } , { "\xb3\xe8\xcf\xe2" , "\x4a\xe4\xed" } , { "\xb3\xe8\xcf\xe2\xa2" , "\x4a\xe5\xed" } , { "\xb3\xe8\xcf\xe4" , "\x4a\xed\xc9\xe8" } , { "\xb3\xe8\xcf\xe4\xa2" , "\x4a\xed\xc9\xe9" } , { "\xb3\xe8\xcf\xe5" , "\x4a\xed\xc9\xe0" } , { "\xb3\xe8\xcf\xe5\xa2" , "\x4a\xed\xc9\xe1" } , { "\xb3\xe8\xcf\xe6" , "\x4a\xed\xc9\xe4" } , { "\xb3\xe8\xcf\xe6\xa2" , "\x4a\xed\xc9\xe5" } , { "\xb3\xe8\xcf\xe7" , "\x4a\xed\xc9\xe8" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x47\xad\xc3\xf7\x60\xf2\xc9" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x47\xad\xc3\xf7\x6f\xc9\xc5" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x47\xad\xc3\xf7\xab\xc9" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x47\xad\xc3\xf7\xba\xc9\xe0" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x47\xad\xc3\xf7\xbb\xc9" } , { "\xb3\xe8\xd0\xdc" , "\x47\xad\xf7\xd2" } , { "\xb3\xe8\xd0\xdd" , "\x47\xad\xd6\xf7" } , { "\xb3\xe8\xd0\xe4" , "\x47\xad\xf7\xc9\xe8" } , { "\xb3\xe8\xd1" , "\x47\xb1\xc9" } , { "\xb3\xe8\xd1\xa2" , "\x47\xb1\xc9\xc5" } , { "\xb3\xe8\xd1\xda" , "\x47\xb1\xc9\xc9" } , { "\xb3\xe8\xd1\xda\xa1" , "\x47\xb1\xc9\xc9\xc6" } , { "\xb3\xe8\xd1\xda\xa2" , "\x47\xb1\xc9\xc9\xc5" } , { "\xb3\xe8\xd1\xdb" , "\xce\x47\xb1\xc9" } , { "\xb3\xe8\xd1\xdb\xa2" , "\xcf\x47\xb1\xc9" } , { "\xb3\xe8\xd1\xdc" , "\x47\xb1\xc9\xd2" } , { "\xb3\xe8\xd1\xdd" , "\x47\xb1\xc9\xd6" } , { "\xb3\xe8\xd1\xde" , "\x47\xb1\xc9\xda" } , { "\xb3\xe8\xd1\xe0" , "\x47\xb1\xc9\xe8" } , { "\xb3\xe8\xd1\xe0\xa2" , "\x47\xb1\xc9\xe9" } , { "\xb3\xe8\xd1\xe1" , "\x47\xb1\xc9\xe0" } , { "\xb3\xe8\xd1\xe1\xa2" , "\x47\xb1\xc9\xe1" } , { "\xb3\xe8\xd1\xe2" , "\x47\xb1\xc9\xe4" } , { "\xb3\xe8\xd1\xe2\xa2" , "\x47\xb1\xc9\xe5" } , { "\xb3\xe8\xd1\xe4" , "\x47\xb1\xc9\xc9\xe8" } , { "\xb3\xe8\xd1\xe5" , "\x47\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xd1\xe5\xa2" , "\x47\xb1\xc9\xc9\xe1" } , { "\xb3\xe8\xd1\xe6" , "\x47\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xd1\xe7" , "\x47\xb1\xc9\xc9\xe8" } , { "\xb3\xe8\xd1\xe8" , "\x47\xb1\xc9\xc3" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x47\xb1\x53\xc9" } , { "\xb3\xe8\xd1\xe8\xc8" , "\x47\xb1\x7e\xc9" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x47\xb1\xab\xc9" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x47\xb1\xab\xc9\xc9" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x47\xb1\xbb\xc9\xd2" } , { "\xb3\xe8\xd2" , "\x47\xb3" } , { "\xb3\xe8\xd4" , "\x47\xb4\xc9" } , { "\xb3\xe8\xd4\xa2" , "\x47\xb4\xc9\xc5" } , { "\xb3\xe8\xd4\xda" , "\x47\xb4\xc9\xc9" } , { "\xb3\xe8\xd4\xda\xa1" , "\x47\xb4\xc9\xc9\xc6" } , { "\xb3\xe8\xd4\xda\xa2" , "\x47\xb4\xc9\xc9\xc5" } , { "\xb3\xe8\xd4\xdb" , "\xce\x47\xb4\xc9" } , { "\xb3\xe8\xd4\xdb\xa2" , "\xcf\x47\xb4\xc9" } , { "\xb3\xe8\xd4\xdc" , "\x47\xb4\xc9\xd2" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x47\xb4\xc9\xd3" } , { "\xb3\xe8\xd4\xdf" , "\x47\xb4\xc9\xde" } , { "\xb3\xe8\xd4\xe0" , "\x47\xb4\xc9\xe8" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x47\xb4\xc9\xe9" } , { "\xb3\xe8\xd4\xe1" , "\x47\xb4\xc9\xe0" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x47\xb4\xc9\xe1" } , { "\xb3\xe8\xd4\xe2" , "\x47\xb4\xc9\xe4" } , { "\xb3\xe8\xd4\xe4" , "\x47\xb4\xc9\xc9\xe8" } , { "\xb3\xe8\xd4\xe5" , "\x47\xb4\xc9\xc9\xe0" } , { "\xb3\xe8\xd4\xe6" , "\x47\xb4\xc9\xc9\xe4" } , { "\xb3\xe8\xd4\xe8" , "\x47\xb4\xc9\xc3" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x47\xb4\xbb\xc9\xc9" } , { "\xb3\xe8\xd5" , "\x47\xb6\xc9" } , { "\xb3\xe8\xd5\xa2" , "\x47\xb6\xc9\xc5" } , { "\xb3\xe8\xd5\xda" , "\x47\xb6\xc9\xc9" } , { "\xb3\xe8\xd5\xdb" , "\xce\x47\xb6\xc9" } , { "\xb3\xe8\xd5\xdb\xa2" , "\xcf\x47\xb6\xc9" } , { "\xb3\xe8\xd5\xdc" , "\x47\xb6\xc9\xd2" } , { "\xb3\xe8\xd5\xdd" , "\x47\xb6\xc9\xd6" } , { "\xb3\xe8\xd5\xde" , "\x47\xb6\xc9\xda" } , { "\xb3\xe8\xd5\xe1" , "\x47\xb6\xc9\xe0" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x47\xb6\xc9\xe1" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x47\xb6\xc9\xc9\xe1" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x47\xb7\x53\xc9" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x47\xb6\xab\xc9" } , { "\xb3\xe8\xd6" , "\x4b\xc9" } , { "\xb3\xe8\xd6\xa2" , "\x4b\xc9\xc5" } , { "\xb3\xe8\xd6\xa3" , "\x4b\xc9\x26" } , { "\xb3\xe8\xd6\xda" , "\x4b\xc9\xc9" } , { "\xb3\xe8\xd6\xda\xa2" , "\x4b\xc9\xc9\xc5" } , { "\xb3\xe8\xd6\xdb" , "\xca\x4b\xc9" } , { "\xb3\xe8\xd6\xdb\xa2" , "\xcb\x4b\xc9" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\xcb\x4b\xc9\xc5" } , { "\xb3\xe8\xd6\xdc" , "\x4b\xc9\xd2" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x4b\xc9\xd3" } , { "\xb3\xe8\xd6\xdd" , "\x4b\xc9\xd6" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x4b\xc9\xd6\x26" } , { "\xb3\xe8\xd6\xde" , "\x4b\xc9\xda" } , { "\xb3\xe8\xd6\xdf" , "\x4b\xc9\xde" } , { "\xb3\xe8\xd6\xe0" , "\x4b\xc9\xe8" } , { "\xb3\xe8\xd6\xe0\xa2" , "\x4b\xc9\xe9" } , { "\xb3\xe8\xd6\xe1" , "\x4b\xc9\xe0" } , { "\xb3\xe8\xd6\xe1\xa2" , "\x4b\xc9\xe1" } , { "\xb3\xe8\xd6\xe2" , "\x4b\xc9\xe4" } , { "\xb3\xe8\xd6\xe5" , "\x4b\xc9\xc9\xe0" } , { "\xb3\xe8\xd6\xe5\xa2" , "\x4b\xc9\xc9\xe1" } , { "\xb3\xe8\xd6\xe6" , "\x4b\xc9\xc9\xe4" } , { "\xb3\xe8\xd6\xe8" , "\x4b\xc9\xc3" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\x4b\x48\xd6\xed" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\x4b\x4b\xc9" } , { "\xb3\xe8\xd6\xe8\xbd" , "\x4b\x60\xf2" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\x4b\x60\xc4\xf2\xc9" } , { "\xb3\xe8\xd6\xe8\xc1" , "\x4b\x69\xc9" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\x4b\x69\xc9\xc5" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\x4b\x69\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\x4b\x69\xc9\xe4" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\x4b\x69\xc9\xc9\xe0" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x4b\x6c\xc9" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\x4b\x6d\xc9" } , { "\xb3\xe8\xd6\xe8\xc6" , "\x4b\x7b\xc9" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\x4b\x7b\xc9\xc3" } , { "\xb3\xe8\xd6\xe8\xcc" , "\x4b\xa9\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\x4b\xa9\xc9\xc5" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\x4b\xa9\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\x4b\xa9\xc9\xc9\xc5" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\xce\x4b\xa9\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\xcf\x4b\xa9\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\x4b\xa9\xc9\xd2" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\x4b\xa9\xc9\xd6" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\x4b\xa9\xc9\xe0" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x4b\xab\xc9" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x4b\xab\xc9\xc5" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x4b\xab\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x4b\xab\xc9\xc9\xc5" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x4b\xab\xc9\xd2" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x4b\xab\xc9\xd6" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x4b\xab\xc9\xda" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x4b\xab\xc9\xe0" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x4b\xab\xc9\xc9\xe0" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x4b\xab\xc9\xc9\xe1" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x4b\xad\xf7" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x4b\xad\xc5\xf7" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x4b\xad\xf7\xc9" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x4b\xb1\xc9" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x4b\xb1\xc9\xd6" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x4b\xb4\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x4b\xb4\xc9\xe0" } , { "\xb3\xe8\xd7" , "\x47\xbb\xc9" } , { "\xb3\xe8\xd7\xa2" , "\x47\xbb\xc9\xc5" } , { "\xb3\xe8\xd7\xda" , "\x47\xbb\xc9\xc9" } , { "\xb3\xe8\xd7\xda\xa2" , "\x47\xbb\xc9\xc9\xc5" } , { "\xb3\xe8\xd7\xdb" , "\xce\x47\xbb\xc9" } , { "\xb3\xe8\xd7\xdb\xa2" , "\xcf\x47\xbb\xc9" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\xcf\x47\xbb\xc9\xc5" } , { "\xb3\xe8\xd7\xdc" , "\x47\xbb\xc9\xd2" } , { "\xb3\xe8\xd7\xdd" , "\x47\xbb\xc9\xd6" } , { "\xb3\xe8\xd7\xde" , "\x47\xbb\xc9\xda" } , { "\xb3\xe8\xd7\xe0" , "\x47\xbb\xc9\xe8" } , { "\xb3\xe8\xd7\xe0\xa2" , "\x47\xbb\xc9\xe9" } , { "\xb3\xe8\xd7\xe1" , "\x47\xbb\xc9\xe0" } , { "\xb3\xe8\xd7\xe1\xa2" , "\x47\xbb\xc9\xe1" } , { "\xb3\xe8\xd7\xe2" , "\x47\xbb\xc9\xe4" } , { "\xb3\xe8\xd7\xe4" , "\x47\xbb\xc9\xc9\xe8" } , { "\xb3\xe8\xd7\xe5" , "\x47\xbb\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe5\xa2" , "\x47\xbb\xc9\xc9\xe1" } , { "\xb3\xe8\xd7\xe6" , "\x47\xbb\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe8" , "\x47\xbb\xc9\xc3" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\xce\x47\xbb\x48\xed" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x47\xbb\x48\xd6\xed" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x47\xbb\x48\xda\xed" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x47\xbb\x47\xab\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x47\xbb\x4a\xed\xd2" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x47\xbb\x47\xb1\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x47\xbb\x4e\xc9" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x47\xbb\x4e\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x47\xbb\x4f\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x47\xbb\x53\xc9" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\xce\x47\xbb\x53\xc9" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x47\xbb\x53\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x47\xbb\x53\xc9\xe1" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x47\xbb\x55\xef\xe1" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x47\xbb\x56\xb1\xc9" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x47\xbb\x60\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x47\xbb\x60\xf2\xc9" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x47\xbb\x60\xf2\xd2" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x47\xbb\x60\xe8\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x47\xbb\x60\xe9\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x47\xbb\x60\xe1\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x47\xbb\x60\xe4\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x47\xbb\x60\xf2\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x47\xbb\x60\xc3\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x47\xbb\x60\xc4\xf2\xc9" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xce\x47\xbb\x60\xc4\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x47\xbb\x60\xc4\xf2\xd2" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x47\xbb\x60\xdb\xf2" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x47\xbb\x60\xc4\xf2\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x47\xbb\x65\xf4" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x47\xbb\x65\xc3\xf4\x4e\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\x47\xbb\x6c\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\x47\xbb\x6c\xc9\xc3" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x47\xbb\x6f\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\xce\x47\xbb\x6f\xc9" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x47\xbb\x71\xf6\xc9" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\x47\xbb\x7b\xc9\xc5" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\xce\x47\xbb\x7b\xc9" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\x47\xbb\x7b\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\x47\xbb\x7b\xc9\xd6\xc5" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\x47\xbb\x7b\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\x47\xbb\x7b\xc9\xc3" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x47\xbb\x7b\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x47\xbb\x7e\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x47\xbb\x7e\xc9\xc5" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x47\xbb\x7e\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\xce\x47\xbb\x7e\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x47\xbb\x7e\xc9\xd2" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x47\xbb\x7e\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x47\xbb\x7e\xc9\xe9" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x47\xbb\x7e\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x47\xbb\x7e\xc9\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x47\xbb\x7e\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x47\xbb\x7e\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x47\xbb\xa1\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x47\xbb\xa1\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x47\xbb\x7e\xb1\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x47\xbb\x7e\xb1\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x47\xbb\x7e\xb1\xc9\xc9\xc5" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x47\xbb\x7e\xb1\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x47\xbb\xa3\xed" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\xce\x47\xbb\xa3\xed" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x47\xbb\xa2\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x47\xbb\xa9\xc9" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\xce\x47\xbb\xa9\xc9" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x47\xbb\xa9\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x47\xbb\xa9\xab\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x47\xbb\xab\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x47\xbc\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\x47\xbc\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\x47\xbc\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x47\xbc\xc9\xc3" } , { "\xb3\xe8\xd7\xe8\xd1" , "\x47\xbb\xb1\xc9" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\x47\xbb\xb1\xc9\xd2" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\x47\xbb\xb1\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\x47\xbb\xb1\xc9\xe9" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\x47\xbb\xb1\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\x47\xbb\xb1\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\x47\xbb\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x47\xbb\xb4\xc9" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x47\xbb\xb4\xc9\xc5" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x47\xbb\xb4\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x47\xbb\xb4\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x47\xbb\xbb\xc9\xc3" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x47\xbb\xbb\x60\xc4\xf2\xc9" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x47\xbb\xbe\xe4\xfa" } , { "\xb3\xe8\xd8" , "\x47\xbe\xfa" } , { "\xb3\xe8\xd8\xda" , "\x47\xbe\xfa\xc9" } , { "\xb3\xe8\xd8\xda\xa2" , "\x47\xbe\xfa\xc9\xc5" } , { "\xb3\xe8\xd8\xe0" , "\x47\xbe\xe8\xfa" } , { "\xb3\xe8\xd8\xe8" , "\x47\xbe\xc3\xfa" } , { "\xb3\xe8\xd9\xa6" , "\x47\x3c" } , { "\xb3\xe8\xd9\xb3" , "\x47\x48\xed" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x47\x48\xed\xd2" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x47\x4c\xc9\xc9\xe4" } , { "\xb3\xe8\xd9\xbd" , "\x47\x60\xf2" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x47\x60\xc4\xf2\xc9" } , { "\xb3\xe8\xd9\xc2" , "\x47\x6c\xc9" } , { "\xb3\xe8\xd9\xc2\xda" , "\x47\x6c\xc9\xc9" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x47\xca\x6c\xc9" } , { "\xb3\xe8\xd9\xc2\xde" , "\x47\x6c\xc9\xda" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x47\x6c\xc9\xde" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x47\x6c\xc9\xc9\xe1" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x47\x6c\xb4\xc9" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x47\xcc\x60\xf2" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x47\xab\xc9\xc7" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x47\xbb\xc9\xc7" } , { "\xb3\xe8\xd9\xd4" , "\x47\xb4\xc9" } , { "\xb3\xe8\xd9\xd7" , "\x47\xbb\xc9" } , { "\xb3\xe8\xd9\xd7\xda" , "\x47\xbb\xc9\xc9" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x47\xbb\xc9\xd2" } , { "\xb3\xe8\xe8" , "\x48\xc3\xed" } , { "\xb3\xe8\xe9\xc2" , "\x47\x6c\xc9" } , { "\xb3\xe8\xe9\xcf" , "\x47\xad\xf7" } , { "\xb3\xe8\xe9\xd6" , "\x47\xba\xc9" } , { "\xb3\xe9" , "\x48\xed" } , { "\xb3\xe9\xda" , "\x48\xed\xc9" } , { "\xb3\xe9\xdb" , "\xca\x48\xed" } , { "\xb3\xe9\xdb\xa2" , "\xcb\x48\xed" } , { "\xb3\xe9\xdc" , "\x48\xed\xd2" } , { "\xb3\xe9\xdd" , "\x48\xd6\xed" } , { "\xb3\xe9\xde" , "\x48\xda\xed" } , { "\xb3\xe9\xe1" , "\x48\xe0\xed" } , { "\xb3\xe9\xe2" , "\x48\xe4\xed" } , { "\xb3\xe9\xe5\xa2" , "\x48\xed\xc9\xe1" } , { "\xb3\xe9\xe6" , "\x48\xed\xc9\xe4" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x49\xed" } , { "\xb3\xe9\xe8\xc2" , "\x47\x6c\xc9" } , { "\xb3\xe9\xe8\xcc" , "\x47\xa9\xc9" } , { "\xb3\xe9\xe8\xd1" , "\x47\xb1\xc9" } , { "\xb3\xe9\xe8\xd1\xdb" , "\xce\x47\xb1\xc9" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x47\xbb\xc9\xd2" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x47\x6c\xc9\xe0" } , { "\xb4" , "\x4c\xc9" } , { "\xb4\xa1" , "\x4c\xc9\xc6" } , { "\xb4\xa2" , "\x4c\xc9\xc5" } , { "\xb4\xa3" , "\x4c\xc9\x26" } , { "\xb4\xd0" , "\x4c\xc9\xad\xf7" } , { "\xb4\xd0\xb8" , "\x4c\xc9\xad\xf7\x53\xc9" } , { "\xb4\xd0\xdc" , "\x4c\xc9\xad\xf7\xd2" } , { "\xb4\xda" , "\x4c\xc9\xc9" } , { "\xb4\xda\xa1" , "\x4c\xc9\xc9\xc6" } , { "\xb4\xda\xa2" , "\x4c\xc9\xc9\xc5" } , { "\xb4\xda\xa3" , "\x4c\xc9\xc9\x26" } , { "\xb4\xdb" , "\xca\x4c\xc9" } , { "\xb4\xdb\xa2" , "\xcb\x4c\xc9" } , { "\xb4\xdc" , "\x4c\xc9\xd2" } , { "\xb4\xdc\xa2" , "\x4c\xc9\xd3" } , { "\xb4\xdd" , "\x4c\xc9\xd6" } , { "\xb4\xdd\xa1" , "\x4c\xc9\xd6\xc6" } , { "\xb4\xdd\xa2" , "\x4c\xc9\xd6\xc5" } , { "\xb4\xde" , "\x4c\xc9\xda" } , { "\xb4\xde\xa1" , "\x4c\xc9\xda\xc6" } , { "\xb4\xde\xa2" , "\x4c\xc9\xda\xc5" } , { "\xb4\xdf" , "\x4c\xc9\xde" } , { "\xb4\xe0" , "\x4c\xc9\xe8" } , { "\xb4\xe1" , "\x4c\xc9\xe0" } , { "\xb4\xe1\xa1" , "\x4c\xc9\xe1" } , { "\xb4\xe1\xa2" , "\x4c\xc9\xe1" } , { "\xb4\xe2" , "\x4c\xc9\xe4" } , { "\xb4\xe2\xa2" , "\x4c\xc9\xe5" } , { "\xb4\xe4" , "\x4c\xc9\xc9\xe8" } , { "\xb4\xe5" , "\x4c\xc9\xc9\xe0" } , { "\xb4\xe5\xa2" , "\x4c\xc9\xc9\xe1" } , { "\xb4\xe6" , "\x4c\xc9\xc9\xe4" } , { "\xb4\xe8" , "\x4c\xc9\xc3" } , { "\xb4\xe8\xb3" , "\x4c\x48\xed" } , { "\xb4\xe8\xb3\xda" , "\x4c\x48\xed\xc9" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x4c\x4b\xc9" } , { "\xb4\xe8\xb4" , "\x4c\x4c\xc9" } , { "\xb4\xe8\xb4\xa2" , "\x4c\x4c\xc9\xc5" } , { "\xb4\xe8\xb4\xa3" , "\x4c\x4c\xc9\x26" } , { "\xb4\xe8\xb4\xda" , "\x4c\x4c\xc9\xc9" } , { "\xb4\xe8\xb4\xdb\xa2" , "\xcf\x4c\x4c\xc9" } , { "\xb4\xe8\xb4\xdc" , "\x4c\x4c\xc9\xd2" } , { "\xb4\xe8\xb5\xda" , "\x4c\x4e\xc9\xc9" } , { "\xb4\xe8\xb8\xda" , "\x4c\x53\xc9\xc9" } , { "\xb4\xe8\xbd" , "\x4c\x60\xf2" } , { "\xb4\xe8\xc2" , "\x4c\x6c\xc9" } , { "\xb4\xe8\xc2\xda" , "\x4c\x6c\xc9\xc9" } , { "\xb4\xe8\xc2\xdb" , "\xce\x4c\x6c\xc9" } , { "\xb4\xe8\xc2\xdc" , "\x4c\x6c\xc9\xd2" } , { "\xb4\xe8\xc2\xdd" , "\x4c\x6c\xc9\xd6" } , { "\xb4\xe8\xc2\xe1" , "\x4c\x6c\xc9\xe0" } , { "\xb4\xe8\xc2\xe5" , "\x4c\x6c\xc9\xc9\xe0" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x4c\x6c\xc9\xc9\xe1" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x4c\x6c\x4c\xc9\xc9" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x4c\x71\xd6\xc5\xf6" } , { "\xb4\xe8\xc6\xdc" , "\x4c\x7b\xc9\xd2" } , { "\xb4\xe8\xc6\xdd" , "\x4c\x7b\xc9\xd6" } , { "\xb4\xe8\xc6\xe2" , "\x4c\x7b\xc9\xe4" } , { "\xb4\xe8\xc6\xe5" , "\x4c\x7b\xc9\xc9\xe0" } , { "\xb4\xe8\xc8\xde" , "\x4c\x7e\xc9\xda" } , { "\xb4\xe8\xcc" , "\x4c\xa9\xc9" } , { "\xb4\xe8\xcc\xda" , "\x4c\xa9\xc9\xc9" } , { "\xb4\xe8\xcc\xdb" , "\xce\x4c\xa9\xc9" } , { "\xb4\xe8\xcc\xdc" , "\x4c\xa9\xc9\xd2" } , { "\xb4\xe8\xcc\xe5\xa2" , "\x4c\xa9\xc9\xc9\xe1" } , { "\xb4\xe8\xcd" , "\x4c\xab\xc9" } , { "\xb4\xe8\xcd\xa2" , "\x4c\xab\xc9\xc5" } , { "\xb4\xe8\xcd\xda" , "\x4c\xab\xc9\xc9" } , { "\xb4\xe8\xcd\xda\xa2" , "\x4c\xab\xc9\xc9\xc5" } , { "\xb4\xe8\xcd\xdb" , "\xce\x4c\xab\xc9" } , { "\xb4\xe8\xcd\xdd" , "\x4c\xab\xc9\xd6" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x4c\xab\xc9\xd6\xc5" } , { "\xb4\xe8\xcd\xde" , "\x4c\xab\xc9\xda" } , { "\xb4\xe8\xcd\xe1" , "\x4c\xab\xc9\xe0" } , { "\xb4\xe8\xcd\xe5" , "\x4c\xab\xc9\xc9\xe0" } , { "\xb4\xe8\xcd\xe5\xa2" , "\x4c\xab\xc9\xc9\xe1" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x4c\xab\xab\xc9" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x4c\xab\xab\xc9\xc9" } , { "\xb4\xe8\xcf" , "\x4d\xc9" } , { "\xb4\xe8\xcf\xdd" , "\x4d\xc9\xd6" } , { "\xb4\xe8\xd1\xda" , "\x4c\xb1\xc9\xc9" } , { "\xb4\xe8\xd1\xdd" , "\x4c\xb1\xc9\xd6" } , { "\xb4\xe8\xd4\xda" , "\x4c\xb4\xc9\xc9" } , { "\xb4\xe8\xd5" , "\x4c\xb6\xc9" } , { "\xb4\xe8\xd5\xda" , "\x4c\xb6\xc9\xc9" } , { "\xb4\xe8\xd5\xdc" , "\x4c\xb6\xc9\xd2" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x4c\xba\xab\xc9\xc9" } , { "\xb4\xe8\xd7" , "\x4c\xbb\xc9" } , { "\xb4\xe8\xd7\xdb" , "\xce\x4c\xbb\xc9" } , { "\xb4\xe8\xd7\xdc" , "\x4c\xbb\xc9\xd2" } , { "\xb4\xe8\xd9\xd5" , "\x4c\xb6\xc9" } , { "\xb4\xe8\xe8" , "\x4c\xc9\xc3" } , { "\xb4\xe8\xe9\xcf" , "\x4c\xad\xf7" } , { "\xb4\xe9" , "\x4c\xc9" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x4c\xc9\x53\xc9\xc9\xc7" } , { "\xb4\xe9\xda" , "\x4c\xc9\xc9" } , { "\xb4\xe9\xda\xa1" , "\x4c\xc9\xc9\xc6" } , { "\xb4\xe9\xdb" , "\xca\x4c\xc9" } , { "\xb4\xe9\xdc" , "\x4c\xc9\xd2" } , { "\xb4\xe9\xdd" , "\x4c\xc9\xd6" } , { "\xb4\xe9\xde" , "\x4c\xc9\xda" } , { "\xb4\xe9\xe2" , "\x4c\xc9\xe4" } , { "\xb4\xe9\xe5" , "\x4c\xc9\xc9\xe0" } , { "\xb4\xe9\xe5\xa2" , "\x4c\xc9\xc9\xe1" } , { "\xb4\xe9\xe8\xc2" , "\x4c\x6c\xc9" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x4c\x6c\xc9\xc9\xe1" } , { "\xb4\xe9\xe8\xcd\xda" , "\x4c\xab\xc9\xc9" } , { "\xb4\xe9\xe8\xd4\xda" , "\x4c\xb4\xc9\xc9" } , { "\xb4\xe9\xe8\xd5" , "\x4c\xb6\xc9" } , { "\xb4\xe9\xe8\xd7" , "\x4c\xbb\xc9" } , { "\xb5" , "\x4e\xc9" } , { "\xb5\xa1" , "\x4e\xc9\xc6" } , { "\xb5\xa2" , "\x4e\xc9\xc5" } , { "\xb5\xa3" , "\x4e\xc9\x26" } , { "\xb5\xda" , "\x4e\xc9\xc9" } , { "\xb5\xda\xa1" , "\x4e\xc9\xc9\xc6" } , { "\xb5\xda\xa2" , "\x4e\xc9\xc9\xc5" } , { "\xb5\xda\xa3" , "\x4e\xc9\xc9\x26" } , { "\xb5\xdb" , "\xca\x4e\xc9" } , { "\xb5\xdb\xa2" , "\xcb\x4e\xc9" } , { "\xb5\xdc" , "\x4e\xc9\xd2" } , { "\xb5\xdc\xa2" , "\x4e\xc9\xd3" } , { "\xb5\xdc\xa3" , "\x4e\xc9\xd2\x26" } , { "\xb5\xdd" , "\x4e\xc9\xd6" } , { "\xb5\xdd\xa1" , "\x4e\xc9\xd6\xc6" } , { "\xb5\xdd\xa2" , "\x4e\xc9\xd6\xc5" } , { "\xb5\xdd\xa2\xa2" , "\x4e\xc9\xd6\xc5\xc5" } , { "\xb5\xdd\xa3" , "\x4e\xc9\xd6\x26" } , { "\xb5\xde" , "\x4e\xc9\xda" } , { "\xb5\xde\xa1" , "\x4e\xc9\xda\xc6" } , { "\xb5\xde\xa2" , "\x4e\xc9\xda\xc5" } , { "\xb5\xdf" , "\x4e\xc9\xde" } , { "\xb5\xdf\xa2" , "\x4e\xc9\xde\xc5" } , { "\xb5\xe0" , "\x4e\xc9\xe8" } , { "\xb5\xe0\xa2" , "\x4e\xc9\xe9" } , { "\xb5\xe1" , "\x4e\xc9\xe0" } , { "\xb5\xe1\xa2" , "\x4e\xc9\xe1" } , { "\xb5\xe1\xa3" , "\x4e\xc9\xe0\x26" } , { "\xb5\xe2" , "\x4e\xc9\xe4" } , { "\xb5\xe2\xa2" , "\x4e\xc9\xe5" } , { "\xb5\xe2\xa3" , "\x4e\xc9\xe4\x26" } , { "\xb5\xe4" , "\x4e\xc9\xc9\xe8" } , { "\xb5\xe4\xa2" , "\x4e\xc9\xc9\xe9" } , { "\xb5\xe5" , "\x4e\xc9\xc9\xe0" } , { "\xb5\xe5\xa2" , "\x4e\xc9\xc9\xe1" } , { "\xb5\xe6" , "\x4e\xc9\xc9\xe4" } , { "\xb5\xe6\xa1" , "\x4e\xc9\xc9\xe5" } , { "\xb5\xe6\xa2" , "\x4e\xc9\xc9\xe5" } , { "\xb5\xe7" , "\x4e\xc9\xc9\xe8" } , { "\xb5\xe8" , "\x4e\xc9\xc3" } , { "\xb5\xe8\x4d" , "\x4e\xc9\xc3\x4d" } , { "\xb5\xe8\xb3" , "\x4e\x48\xed" } , { "\xb5\xe8\xb3\xda" , "\x4e\x48\xed\xc9" } , { "\xb5\xe8\xb3\xdb" , "\xce\x4e\x48\xed" } , { "\xb5\xe8\xb3\xdd" , "\x4e\x48\xd6\xed" } , { "\xb5\xe8\xb3\xde" , "\x4e\x48\xda\xed" } , { "\xb5\xe8\xb3\xe2" , "\x4e\x48\xe4\xed" } , { "\xb5\xe8\xb3\xe5" , "\x4e\x48\xed\xc9\xe0" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x4e\x47\xb1\xc9" } , { "\xb5\xe8\xb5" , "\x4e\x4e\xc9" } , { "\xb5\xe8\xb5\xa2" , "\x4e\x4e\xc9\xc5" } , { "\xb5\xe8\xb5\xda" , "\x4e\x4e\xc9\xc9" } , { "\xb5\xe8\xb5\xdb" , "\xce\x4e\x4e\xc9" } , { "\xb5\xe8\xb5\xdb\xa2" , "\xcf\x4e\x4e\xc9" } , { "\xb5\xe8\xb5\xdc" , "\x4e\x4e\xc9\xd2" } , { "\xb5\xe8\xb5\xdd" , "\x4e\x4e\xc9\xd6" } , { "\xb5\xe8\xb5\xdd\xa2" , "\x4e\x4e\xc9\xd6\xc5" } , { "\xb5\xe8\xb5\xde" , "\x4e\x4e\xc9\xda" } , { "\xb5\xe8\xb5\xe0" , "\x4e\x4e\xc9\xe8" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x4e\x4e\xc9\xe9" } , { "\xb5\xe8\xb5\xe1" , "\x4e\x4e\xc9\xe0" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x4e\x4e\xc9\xe1" } , { "\xb5\xe8\xb5\xe2" , "\x4e\x4e\xc9\xe4" } , { "\xb5\xe8\xb5\xe4" , "\x4e\x4e\xc9\xc9\xe8" } , { "\xb5\xe8\xb5\xe5" , "\x4e\x4e\xc9\xc9\xe0" } , { "\xb5\xe8\xb5\xe8" , "\x4e\x4e\xc9\xc3" } , { "\xb5\xe8\xb6" , "\x4e\x50\xc9" } , { "\xb5\xe8\xb6\xda" , "\x4e\x50\xc9\xc9" } , { "\xb5\xe8\xb6\xdc" , "\x4e\x50\xc9\xd2" } , { "\xb5\xe8\xb6\xdd" , "\x4e\x50\xc9\xd6" } , { "\xb5\xe8\xb6\xe1" , "\x4e\x50\xc9\xe0" } , { "\xb5\xe8\xb7" , "\x4e\x52\xee" } , { "\xb5\xe8\xb7\xda" , "\x4e\x52\xee\xc9" } , { "\xb5\xe8\xb7\xdb" , "\xce\x4e\x52\xee" } , { "\xb5\xe8\xb7\xdc" , "\x4e\x52\xee\xd2" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x4e\x52\xee\xc9\xe1" } , { "\xb5\xe8\xb8\xe1" , "\x4e\x53\xc9\xe0" } , { "\xb5\xe8\xba" , "\x4e\x57\xf0" } , { "\xb5\xe8\xba\xa2" , "\x4e\x57\xc5\xf0" } , { "\xb5\xe8\xba\xda" , "\x4e\x58" } , { "\xb5\xe8\xba\xda\xa2" , "\x4e\x58\xc5" } , { "\xb5\xe8\xba\xdb" , "\xce\x4e\x57\xf0" } , { "\xb5\xe8\xba\xdc" , "\x4e\x59\xf0" } , { "\xb5\xe8\xba\xe0" , "\x4e\x57\xf0\xe8" } , { "\xb5\xe8\xba\xe0\xa2" , "\x4e\x57\xf0\xe9" } , { "\xb5\xe8\xba\xe1\xa2" , "\x4e\x57\xf0\xe1" } , { "\xb5\xe8\xba\xe2" , "\x4e\x57\xf0\xe4" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x4e\x56\xb4\xc9\xc9\xc5" } , { "\xb5\xe8\xba\xe9" , "\x4e\x57\xf0" } , { "\xb5\xe8\xba\xe9\xdb" , "\xce\x4e\x57\xf0" } , { "\xb5\xe8\xbd" , "\x4e\x60\xf2" } , { "\xb5\xe8\xbd\xda" , "\x4e\x60\xf2\xc9" } , { "\xb5\xe8\xbd\xda\xa2" , "\x4e\x60\xf2\xc9\xc5" } , { "\xb5\xe8\xbd\xdb" , "\xce\x4e\x60\xf2" } , { "\xb5\xe8\xbd\xdc" , "\x4e\x60\xf2\xd2" } , { "\xb5\xe8\xbd\xde" , "\x4e\x60\xda\xf2" } , { "\xb5\xe8\xbd\xe0" , "\x4e\x60\xe8\xf2" } , { "\xb5\xe8\xbd\xe1" , "\x4e\x60\xe0\xf2" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x4e\x60\xe5\xf2" } , { "\xb5\xe8\xbd\xe4" , "\x4e\x60\xf2\xc9\xe8" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x4e\x60\xc3\xf2\x57\xc3\xf0" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x4e\x60\xc4\xf2\xc9" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x4e\x60\xc4\xe8\xf2" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\xce\x4e\x60\xc3\xf2\xb4\xc9" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x4e\x60\xc3\xf2\xbb\xc9" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x4e\x60\xc3\xf2\xbb\xc9\xc9" } , { "\xb5\xe8\xbf" , "\x4e\x65\xf4" } , { "\xb5\xe8\xbf\xa2" , "\x4e\x65\xc5\xf4" } , { "\xb5\xe8\xbf\xda" , "\x4e\x65\xf4\xc9" } , { "\xb5\xe8\xbf\xda\xa2" , "\x4e\x65\xf4\xc9\xc5" } , { "\xb5\xe8\xbf\xdb" , "\xce\x4e\x65\xf4" } , { "\xb5\xe8\xbf\xdc" , "\x4e\x65\xf4\xd2" } , { "\xb5\xe8\xbf\xe0" , "\x4e\x65\xe8\xf4" } , { "\xb5\xe8\xbf\xe5" , "\x4e\x65\xf4\xc9\xe0" } , { "\xb5\xe8\xbf\xe8" , "\x4e\x65\xc3\xf4" } , { "\xb5\xe8\xc0\xdd" , "\x4e\x68\xd6\xf5" } , { "\xb5\xe8\xc1" , "\x4e\x69\xc9" } , { "\xb5\xe8\xc1\xda" , "\x4e\x69\xc9\xc9" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x4e\x69\xc9\xc9\xe1" } , { "\xb5\xe8\xc2" , "\x4e\x6c\xc9" } , { "\xb5\xe8\xc2\xda" , "\x4e\x6c\xc9\xc9" } , { "\xb5\xe8\xc2\xdb" , "\xce\x4e\x6c\xc9" } , { "\xb5\xe8\xc2\xdd" , "\x4e\x6c\xc9\xd6" } , { "\xb5\xe8\xc2\xe0" , "\x4e\x6c\xc9\xe8" } , { "\xb5\xe8\xc2\xe1" , "\x4e\x6c\xc9\xe0" } , { "\xb5\xe8\xc2\xe5" , "\x4e\x6c\xc9\xc9\xe0" } , { "\xb5\xe8\xc2\xe8" , "\x4e\x6c\xc9\xc3" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x4e\x6c\x48\xed" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x4e\x6c\x4e\xc9" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x4e\x6e\xc9" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x4e\x6d\xc9" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\x4e\x6d\xc9\xe9" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x4e\x6c\xbb\xc9" } , { "\xb5\xe8\xc3" , "\x4e\x6f\xc9" } , { "\xb5\xe8\xc3\xda" , "\x4e\x6f\xc9\xc9" } , { "\xb5\xe8\xc3\xdc" , "\x4e\x6f\xc9\xd2" } , { "\xb5\xe8\xc3\xdd" , "\x4e\x6f\xc9\xd6" } , { "\xb5\xe8\xc3\xe5" , "\x4e\x6f\xc9\xc9\xe0" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x4e\x6f\xc9\xc9\xe1" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x4e\x6f\xab\xc9\xc9" } , { "\xb5\xe8\xc4" , "\x4e\x71\xf6" } , { "\xb5\xe8\xc4\xa2" , "\x4e\x71\xc5\xf6" } , { "\xb5\xe8\xc4\xda" , "\x4e\x71\xf6\xc9" } , { "\xb5\xe8\xc4\xdb" , "\xce\x4e\x71\xf6" } , { "\xb5\xe8\xc4\xdd" , "\x4e\x71\xd6\xf6" } , { "\xb5\xe8\xc4\xdf" , "\x4e\x78\xf6" } , { "\xb5\xe8\xc4\xe1" , "\x4e\x71\xe0\xf6" } , { "\xb5\xe8\xc4\xe5" , "\x4e\x71\xf6\xc9\xe0" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x4e\x76" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x4e\x76\xc5" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x4e\x77\xf6\xc9" } , { "\xb5\xe8\xc5" , "\x4e\x79\xc9" } , { "\xb5\xe8\xc5\xa2" , "\x4e\x79\xc9\xc5" } , { "\xb5\xe8\xc5\xda" , "\x4e\x79\xc9\xc9" } , { "\xb5\xe8\xc5\xdb" , "\xce\x4e\x79\xc9" } , { "\xb5\xe8\xc5\xdc" , "\x4e\x79\xc9\xd2" } , { "\xb5\xe8\xc5\xdd" , "\x4e\x79\xc9\xd6" } , { "\xb5\xe8\xc5\xe1" , "\x4e\x79\xc9\xe0" } , { "\xb5\xe8\xc5\xe5" , "\x4e\x79\xc9\xc9\xe0" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x4e\x79\xab\xc9" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x4e\x79\xab\xc9\xc5" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x4e\x79\xab\xc9\xc9" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x4e\x79\xb4\xc9\xc9" } , { "\xb5\xe8\xc6" , "\x4e\x7b\xc9" } , { "\xb5\xe8\xc6\xa2" , "\x4e\x7b\xc9\xc5" } , { "\xb5\xe8\xc6\xda" , "\x4e\x7b\xc9\xc9" } , { "\xb5\xe8\xc6\xdb" , "\xce\x4e\x7b\xc9" } , { "\xb5\xe8\xc6\xdb\xa2" , "\xcf\x4e\x7b\xc9" } , { "\xb5\xe8\xc6\xdb\xa3" , "\xce\x4e\x7b\xc9\x26" } , { "\xb5\xe8\xc6\xdc" , "\x4e\x7b\xc9\xd2" } , { "\xb5\xe8\xc6\xdd" , "\x4e\x7b\xc9\xd6" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x4e\x7b\xc9\xd6\xc5" } , { "\xb5\xe8\xc6\xde" , "\x4e\x7b\xc9\xda" } , { "\xb5\xe8\xc6\xe0" , "\x4e\x7b\xc9\xe8" } , { "\xb5\xe8\xc6\xe1" , "\x4e\x7b\xc9\xe0" } , { "\xb5\xe8\xc6\xe2" , "\x4e\x7b\xc9\xe4" } , { "\xb5\xe8\xc6\xe5\xa2" , "\x4e\x7b\xc9\xc9\xe1" } , { "\xb5\xe8\xc6\xe6" , "\x4e\x7b\xc9\xc9\xe4" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x4e\x7b\xab\xc9\xc5" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x4e\x7b\xab\xc9\xc9" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x4e\x7b\xab\xc9\xc9\xc6" } , { "\xb5\xe8\xc8" , "\x4e\x7e\xc9" } , { "\xb5\xe8\xc8\xda" , "\x4e\x7e\xc9\xc9" } , { "\xb5\xe8\xc8\xdb" , "\xce\x4e\x7e\xc9" } , { "\xb5\xe8\xc8\xdc" , "\x4e\x7e\xc9\xd2" } , { "\xb5\xe8\xc8\xdd" , "\x4e\x7e\xc9\xd6" } , { "\xb5\xe8\xc8\xde" , "\x4e\x7e\xc9\xda" } , { "\xb5\xe8\xc8\xe2" , "\x4e\x7e\xc9\xe4" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x4e\xa1\xc9\xe8" } , { "\xb5\xe8\xc9" , "\x4e\xa3\xed" } , { "\xb5\xe8\xc9\xdb" , "\xce\x4e\xa3\xed" } , { "\xb5\xe8\xc9\xe0" , "\x4e\xa3\xe8\xed" } , { "\xb5\xe8\xc9\xe5" , "\x4e\xa3\xed\xc9\xe0" } , { "\xb5\xe8\xca" , "\x4e\xa5\xc9" } , { "\xb5\xe8\xca\xa2" , "\x4e\xa5\xc9\xc5" } , { "\xb5\xe8\xca\xda" , "\x4e\xa5\xc9\xc9" } , { "\xb5\xe8\xca\xdb" , "\xce\x4e\xa5\xc9" } , { "\xb5\xe8\xca\xdc" , "\x4e\xa5\xc9\xd2" } , { "\xb5\xe8\xca\xe0" , "\x4e\xa5\xc9\xe8" } , { "\xb5\xe8\xca\xe5" , "\x4e\xa5\xc9\xc9\xe0" } , { "\xb5\xe8\xca\xe8\xcf" , "\x4e\xa6\xc9" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\x4e\xa6\xc9\xe0" } , { "\xb5\xe8\xcb" , "\x4e\xa7\xc9" } , { "\xb5\xe8\xcb\xa2" , "\x4e\xa7\xc9\xc5" } , { "\xb5\xe8\xcb\xda" , "\x4e\xa7\xc9\xc9" } , { "\xb5\xe8\xcb\xde" , "\x4e\xa7\xc9\xda" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x4e\xa8\xc9" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x4e\xa8\xc9\xc9" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x4e\xa8\xc9\xc9\xc5" } , { "\xb5\xe8\xcc" , "\x4e\xa9\xc9" } , { "\xb5\xe8\xcc\xa2" , "\x4e\xa9\xc9\xc5" } , { "\xb5\xe8\xcc\xda" , "\x4e\xa9\xc9\xc9" } , { "\xb5\xe8\xcc\xdb" , "\xce\x4e\xa9\xc9" } , { "\xb5\xe8\xcc\xdc" , "\x4e\xa9\xc9\xd2" } , { "\xb5\xe8\xcc\xdd" , "\x4e\xa9\xc9\xd6" } , { "\xb5\xe8\xcc\xde" , "\x4e\xa9\xc9\xda" } , { "\xb5\xe8\xcc\xe0\xa2" , "\x4e\xa9\xc9\xe9" } , { "\xb5\xe8\xcc\xe1" , "\x4e\xa9\xc9\xe0" } , { "\xb5\xe8\xcc\xe2" , "\x4e\xa9\xc9\xe4" } , { "\xb5\xe8\xcc\xe2\xa2" , "\x4e\xa9\xc9\xe5" } , { "\xb5\xe8\xcc\xe4" , "\x4e\xa9\xc9\xc9\xe8" } , { "\xb5\xe8\xcc\xe5" , "\x4e\xa9\xc9\xc9\xe0" } , { "\xb5\xe8\xcc\xe5\xa2" , "\x4e\xa9\xc9\xc9\xe1" } , { "\xb5\xe8\xcd" , "\x4e\xab\xc9" } , { "\xb5\xe8\xcd\xa2" , "\x4e\xab\xc9\xc5" } , { "\xb5\xe8\xcd\xda" , "\x4e\xab\xc9\xc9" } , { "\xb5\xe8\xcd\xda\xa2" , "\x4e\xab\xc9\xc9\xc5" } , { "\xb5\xe8\xcd\xdb" , "\xce\x4e\xab\xc9" } , { "\xb5\xe8\xcd\xdb\xa2" , "\xcf\x4e\xab\xc9" } , { "\xb5\xe8\xcd\xdc" , "\x4e\xab\xc9\xd2" } , { "\xb5\xe8\xcd\xdd" , "\x4e\xab\xc9\xd6" } , { "\xb5\xe8\xcd\xde" , "\x4e\xab\xc9\xda" } , { "\xb5\xe8\xcd\xe1" , "\x4e\xab\xc9\xe0" } , { "\xb5\xe8\xcd\xe5" , "\x4e\xab\xc9\xc9\xe0" } , { "\xb5\xe8\xcd\xe5\xa2" , "\x4e\xab\xc9\xc9\xe1" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x4e\xab\xab\xc9\xc9" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x4e\xab\xb4\xc9" } , { "\xb5\xe8\xcf" , "\x4f\xc9" } , { "\xb5\xe8\xcf\xa2" , "\x4f\xc9\xc5" } , { "\xb5\xe8\xcf\xda" , "\x4f\xc9\xc9" } , { "\xb5\xe8\xcf\xda\xa1" , "\x4f\xc9\xc9\xc6" } , { "\xb5\xe8\xcf\xda\xa2" , "\x4f\xc9\xc9\xc5" } , { "\xb5\xe8\xcf\xdb" , "\xca\x4f\xc9" } , { "\xb5\xe8\xcf\xdb\xa2" , "\xcb\x4f\xc9" } , { "\xb5\xe8\xcf\xdc" , "\x4f\xc9\xd2" } , { "\xb5\xe8\xcf\xdd" , "\x4f\xc9\xd6" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x4f\xc9\xd6\xc5" } , { "\xb5\xe8\xcf\xde" , "\x4f\xc9\xda" } , { "\xb5\xe8\xcf\xde\xa2" , "\x4f\xc9\xda\xc5" } , { "\xb5\xe8\xcf\xe0" , "\x4f\xc9\xe8" } , { "\xb5\xe8\xcf\xe0\xa2" , "\x4f\xc9\xe9" } , { "\xb5\xe8\xcf\xe1" , "\x4f\xc9\xe0" } , { "\xb5\xe8\xcf\xe1\xa2" , "\x4f\xc9\xe1" } , { "\xb5\xe8\xcf\xe2" , "\x4f\xc9\xe4" } , { "\xb5\xe8\xcf\xe2\xa2" , "\x4f\xc9\xe5" } , { "\xb5\xe8\xcf\xe4" , "\x4f\xc9\xc9\xe8" } , { "\xb5\xe8\xcf\xe4\xa2" , "\x4f\xc9\xc9\xe9" } , { "\xb5\xe8\xcf\xe5" , "\x4f\xc9\xc9\xe0" } , { "\xb5\xe8\xcf\xe5\xa2" , "\x4f\xc9\xc9\xe1" } , { "\xb5\xe8\xcf\xe6" , "\x4f\xc9\xc9\xe4" } , { "\xb5\xe8\xcf\xe6\xa2" , "\x4f\xc9\xc9\xe5" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x4f\x65\xf4" } , { "\xb5\xe8\xd0\xa2" , "\x4e\xad\xc5\xf7" } , { "\xb5\xe8\xd1" , "\x4e\xb1\xc9" } , { "\xb5\xe8\xd1\xa2" , "\x4e\xb1\xc9\xc5" } , { "\xb5\xe8\xd1\xda" , "\x4e\xb1\xc9\xc9" } , { "\xb5\xe8\xd1\xda\xa2" , "\x4e\xb1\xc9\xc9\xc5" } , { "\xb5\xe8\xd1\xdb" , "\xce\x4e\xb1\xc9" } , { "\xb5\xe8\xd1\xdb\xa2" , "\xcf\x4e\xb1\xc9" } , { "\xb5\xe8\xd1\xdc" , "\x4e\xb1\xc9\xd2" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x4e\xb1\xc9\xd3" } , { "\xb5\xe8\xd1\xdd" , "\x4e\xb1\xc9\xd6" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x4e\xb1\xc9\xd6\xc5" } , { "\xb5\xe8\xd1\xde" , "\x4e\xb1\xc9\xda" } , { "\xb5\xe8\xd1\xe0" , "\x4e\xb1\xc9\xe8" } , { "\xb5\xe8\xd1\xe0\xa2" , "\x4e\xb1\xc9\xe9" } , { "\xb5\xe8\xd1\xe1" , "\x4e\xb1\xc9\xe0" } , { "\xb5\xe8\xd1\xe1\xa2" , "\x4e\xb1\xc9\xe1" } , { "\xb5\xe8\xd1\xe2" , "\x4e\xb1\xc9\xe4" } , { "\xb5\xe8\xd1\xe2\xa2" , "\x4e\xb1\xc9\xe5" } , { "\xb5\xe8\xd1\xe4" , "\x4e\xb1\xc9\xc9\xe8" } , { "\xb5\xe8\xd1\xe5" , "\x4e\xb1\xc9\xc9\xe0" } , { "\xb5\xe8\xd1\xe5\xa2" , "\x4e\xb1\xc9\xc9\xe1" } , { "\xb5\xe8\xd1\xe6" , "\x4e\xb1\xc9\xc9\xe4" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x4e\xb1\xab\xc9\xd6" } , { "\xb5\xe8\xd4" , "\x4e\xb4\xc9" } , { "\xb5\xe8\xd4\xda" , "\x4e\xb4\xc9\xc9" } , { "\xb5\xe8\xd4\xdb" , "\xce\x4e\xb4\xc9" } , { "\xb5\xe8\xd4\xdd" , "\x4e\xb4\xc9\xd6" } , { "\xb5\xe8\xd4\xde" , "\x4e\xb4\xc9\xda" } , { "\xb5\xe8\xd4\xe0" , "\x4e\xb4\xc9\xe8" } , { "\xb5\xe8\xd4\xe1" , "\x4e\xb4\xc9\xe0" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x4e\xb4\xc9\xe1" } , { "\xb5\xe8\xd4\xe2" , "\x4e\xb4\xc9\xe4" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x4e\xb4\xab\xc9" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x4e\xb4\xab\xc9\xc9" } , { "\xb5\xe8\xd5\xda" , "\x4e\xb6\xc9\xc9" } , { "\xb5\xe8\xd5\xda\xa2" , "\x4e\xb6\xc9\xc9\xc5" } , { "\xb5\xe8\xd6\xdc" , "\x4e\xba\xc9\xd2" } , { "\xb5\xe8\xd7" , "\x4e\xbb\xc9" } , { "\xb5\xe8\xd7\xda" , "\x4e\xbb\xc9\xc9" } , { "\xb5\xe8\xd7\xdc" , "\x4e\xbb\xc9\xd2" } , { "\xb5\xe8\xd7\xdd" , "\x4e\xbb\xc9\xd6" } , { "\xb5\xe8\xd7\xde" , "\x4e\xbb\xc9\xda" } , { "\xb5\xe8\xd7\xe0" , "\x4e\xbb\xc9\xe8" } , { "\xb5\xe8\xd7\xe2" , "\x4e\xbb\xc9\xe4" } , { "\xb5\xe8\xd7\xe5" , "\x4e\xbb\xc9\xc9\xe0" } , { "\xb5\xe8\xd7\xe8" , "\x4e\xbb\xc9\xc3" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x4e\xbb\x4e\xc9\xc9" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x4e\xbb\x60\xf2" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x4e\xbb\x60\xc5\xf2" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x4e\xbb\x60\xf2\xc9" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x4e\xbb\x60\xe0\xf2" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x4e\xbb\x60\xf2\xc9\xe4" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x4e\xbb\x60\xc3\xf2\x7e\xbb\x48\xd6\xed" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4e\xbb\x60\xc4\xf2\xc9" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x4e\xbb\x6c\xab\xc9\xe0" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x4e\xbb\x71\xf6" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\xce\x4e\xbb\x7b\xc9" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x4e\xbb\x7b\xc9\xd6" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x4e\xbb\x7e\xc9\xc9" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\xce\x4e\xbb\x7e\xc9" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\xce\x4e\xbb\xb1\xc9" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x4e\xbb\xb1\xc9\xc9\xe0" } , { "\xb5\xe8\xd8" , "\x4e\xbe\xfa" } , { "\xb5\xe8\xd8\xda" , "\x4e\xbe\xfa\xc9" } , { "\xb5\xe8\xd8\xdb" , "\xce\x4e\xbe\xfa" } , { "\xb5\xe8\xd8\xdc" , "\x4e\xbe\xfa\xd2" } , { "\xb5\xe8\xd8\xe0" , "\x4e\xbe\xe8\xfa" } , { "\xb5\xe8\xd8\xe4" , "\x4e\xbe\xfa\xc9\xe8" } , { "\xb5\xe8\xd8\xe5" , "\x4e\xbe\xfa\xc9\xe0" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x4e\xbe\xfa\xc9\xe1" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x4e\xc2\xc9\xc5" } , { "\xb5\xe8\xd9\xa6" , "\x4e\x3c" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x4e\xbb\xc9\xc7" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x4e\xca\xb4\xc9" } , { "\xb5\xe8\xe8" , "\x4e\xc9\xc3" } , { "\xb5\xe8\xe9\xcf" , "\x4e\xad\xf7" } , { "\xb5\xe9" , "\x4e\xc9" } , { "\xb5\xe9\xda" , "\x4e\xc9\xc9" } , { "\xb5\xe9\xdb" , "\xca\x4e\xc9" } , { "\xb5\xe9\xdd" , "\x4e\xc9\xd6" } , { "\xb5\xe9\xe2" , "\x4e\xc9\xe4" } , { "\xb5\xe9\xe5\xa2" , "\x4e\xc9\xc9\xe1" } , { "\xb5\xe9\xe6" , "\x4e\xc9\xc9\xe4" } , { "\xb6" , "\x50\xc9" } , { "\xb6\xa2" , "\x50\xc9\xc5" } , { "\xb6\xa2\xa2" , "\x50\xc9\xc5\xc5" } , { "\xb6\xa3" , "\x50\xc9\x26" } , { "\xb6\xd0" , "\x50\xc9\xad\xf7" } , { "\xb6\xda" , "\x50\xc9\xc9" } , { "\xb6\xda\xa2" , "\x50\xc9\xc9\xc5" } , { "\xb6\xdb" , "\xca\x50\xc9" } , { "\xb6\xdb\xa2" , "\xcb\x50\xc9" } , { "\xb6\xdc" , "\x50\xc9\xd2" } , { "\xb6\xdc\xa2" , "\x50\xc9\xd3" } , { "\xb6\xdd" , "\x50\xc9\xd6" } , { "\xb6\xdd\xa1" , "\x50\xc9\xd6\xc6" } , { "\xb6\xdd\xa2" , "\x50\xc9\xd6\xc5" } , { "\xb6\xdd\xa3" , "\x50\xc9\xd6\x26" } , { "\xb6\xde" , "\x50\xc9\xda" } , { "\xb6\xde\xa1" , "\x50\xc9\xda\xc6" } , { "\xb6\xde\xa2" , "\x50\xc9\xda\xc5" } , { "\xb6\xdf" , "\x50\xc9\xde" } , { "\xb6\xe0" , "\x50\xc9\xe8" } , { "\xb6\xe1" , "\x50\xc9\xe0" } , { "\xb6\xe1\xa2" , "\x50\xc9\xe1" } , { "\xb6\xe2" , "\x50\xc9\xe4" } , { "\xb6\xe2\xa3" , "\x50\xc9\xe4\x26" } , { "\xb6\xe4" , "\x50\xc9\xc9\xe8" } , { "\xb6\xe5" , "\x50\xc9\xc9\xe0" } , { "\xb6\xe5\xa2" , "\x50\xc9\xc9\xe1" } , { "\xb6\xe6" , "\x50\xc9\xc9\xe4" } , { "\xb6\xe6\xa2" , "\x50\xc9\xc9\xe5" } , { "\xb6\xe8" , "\x50\xc9\xc3" } , { "\xb6\xe8\xb3\xde" , "\x50\x48\xda\xed" } , { "\xb6\xe8\xb6" , "\x50\x50\xc9" } , { "\xb6\xe8\xb6\xdc" , "\x50\x50\xc9\xd2" } , { "\xb6\xe8\xb6\xde" , "\x50\x50\xc9\xda" } , { "\xb6\xe8\xb8\xe1" , "\x50\x53\xc9\xe0" } , { "\xb6\xe8\xc1\xda" , "\x50\x69\xc9\xc9" } , { "\xb6\xe8\xc1\xdb" , "\xce\x50\x69\xc9" } , { "\xb6\xe8\xc2" , "\x50\x6c\xc9" } , { "\xb6\xe8\xc4" , "\x50\x71\xf6" } , { "\xb6\xe8\xc6" , "\x50\x7b\xc9" } , { "\xb6\xe8\xc6\xa2" , "\x50\x7b\xc9\xc5" } , { "\xb6\xe8\xc6\xa3" , "\x50\x7b\xc9\x26" } , { "\xb6\xe8\xc6\xda" , "\x50\x7b\xc9\xc9" } , { "\xb6\xe8\xc6\xdb" , "\xce\x50\x7b\xc9" } , { "\xb6\xe8\xc6\xdc" , "\x50\x7b\xc9\xd2" } , { "\xb6\xe8\xc6\xdd" , "\x50\x7b\xc9\xd6" } , { "\xb6\xe8\xc6\xe1" , "\x50\x7b\xc9\xe0" } , { "\xb6\xe8\xc6\xe5" , "\x50\x7b\xc9\xc9\xe0" } , { "\xb6\xe8\xcd" , "\x50\xab\xc9" } , { "\xb6\xe8\xcd\xda" , "\x50\xab\xc9\xc9" } , { "\xb6\xe8\xcd\xe5" , "\x50\xab\xc9\xc9\xe0" } , { "\xb6\xe8\xcd\xe6" , "\x50\xab\xc9\xc9\xe4" } , { "\xb6\xe8\xcf" , "\x51\xc9" } , { "\xb6\xe8\xcf\xa2" , "\x51\xc9\xc5" } , { "\xb6\xe8\xcf\xda" , "\x51\xc9\xc9" } , { "\xb6\xe8\xcf\xda\xa2" , "\x51\xc9\xc9\xc5" } , { "\xb6\xe8\xcf\xdb" , "\xca\x51\xc9" } , { "\xb6\xe8\xcf\xdd" , "\x51\xc9\xd6" } , { "\xb6\xe8\xcf\xe5\xa2" , "\x51\xc9\xc9\xe1" } , { "\xb6\xe8\xd1" , "\x50\xb1\xc9" } , { "\xb6\xe8\xd4" , "\x50\xb4\xc9" } , { "\xb6\xe8\xd4\xa2" , "\x50\xb4\xc9\xc5" } , { "\xb6\xe8\xd4\xda" , "\x50\xb4\xc9\xc9" } , { "\xb6\xe8\xe8" , "\x50\xc9\xc3" } , { "\xb6\xe8\xe9\xcf" , "\x50\xad\xf7" } , { "\xb6\xe9" , "\x50\xc9" } , { "\xb7" , "\x52\xee" } , { "\xb7\xa2" , "\x52\xc5\xee" } , { "\xb7\xa3" , "\x52\xee\x26" } , { "\xb7\xda" , "\x52\xee\xc9" } , { "\xb7\xdb" , "\xca\x52\xee" } , { "\xb7\xdb\xa2" , "\xcb\x52\xee" } , { "\xb7\xdc" , "\x52\xee\xd2" } , { "\xb7\xdd" , "\x52\xd6\xee" } , { "\xb7\xde" , "\x52\xda\xee" } , { "\xb7\xdf" , "\x52\xde\xee" } , { "\xb7\xe0" , "\x52\xe8\xee" } , { "\xb7\xe1" , "\x52\xe0\xee" } , { "\xb7\xe1\xa2" , "\x52\xe1\xee" } , { "\xb7\xe2" , "\x52\xe4\xee" } , { "\xb7\xe4" , "\x52\xee\xc9\xe8" } , { "\xb7\xe5" , "\x52\xee\xc9\xe0" } , { "\xb7\xe6" , "\x52\xee\xc9\xe4" } , { "\xb7\xe8" , "\x52\xc3\xee" } , { "\xb7\xe8\xb3" , "\x52\xc3\xee\x48\xed" } , { "\xb7\xe8\xb3\xda" , "\x52\xc3\xee\x48\xed\xc9" } , { "\xb7\xe8\xb3\xdb" , "\xce\x52\xc3\xee\x48\xed" } , { "\xb7\xe8\xb3\xe5" , "\x52\xc3\xee\x48\xed\xc9\xe0" } , { "\xb7\xe8\xb5" , "\x52\xc3\xee\x4e\xc9" } , { "\xb7\xe8\xb5\xda" , "\x52\xc3\xee\x4e\xc9\xc9" } , { "\xb7\xe8\xb5\xdb" , "\xce\x52\xc3\xee\x4e\xc9" } , { "\xb7\xe8\xb5\xdc" , "\x52\xc3\xee\x4e\xc9\xd2" } , { "\xb7\xe8\xb5\xe5\xa2" , "\x52\xc3\xee\x4e\xc9\xc9\xe1" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x52\xc3\xee\x4f\xc9\xc9" } , { "\xb7\xe8\xb6" , "\x52\xc3\xee\x50\xc9" } , { "\xb7\xe8\xb6\xda" , "\x52\xc3\xee\x50\xc9\xc9" } , { "\xb7\xe8\xb6\xdb" , "\xce\x52\xc3\xee\x50\xc9" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x52\xc3\xee\x60\xc3\xf2\x4e\xc9" } , { "\xb7\xe8\xc4" , "\x52\xc3\xee\x71\xf6" } , { "\xb7\xe8\xc6" , "\x52\xc3\xee\x7b\xc9" } , { "\xb7\xe8\xc6\xda" , "\x52\xc3\xee\x7b\xc9\xc9" } , { "\xb7\xe8\xc6\xdb" , "\xce\x52\xc3\xee\x7b\xc9" } , { "\xb7\xe8\xc6\xdd" , "\x52\xc3\xee\x7b\xc9\xd6" } , { "\xb7\xe8\xc6\xde" , "\x52\xc3\xee\x7b\xc9\xda" } , { "\xb7\xe8\xc9\xe5" , "\x52\xc3\xee\xa3\xed\xc9\xe0" } , { "\xb7\xe8\xcc" , "\x52\xc3\xee\xa9\xc9" } , { "\xb7\xe8\xcc\xa2" , "\x52\xc3\xee\xa9\xc9\xc5" } , { "\xb7\xe8\xcc\xda" , "\x52\xc3\xee\xa9\xc9\xc9" } , { "\xb7\xe8\xcc\xdd" , "\x52\xc3\xee\xa9\xc9\xd6" } , { "\xb7\xe8\xcc\xde" , "\x52\xc3\xee\xa9\xc9\xda" } , { "\xb7\xe8\xcd" , "\x52\xc3\xee\xab\xc9" } , { "\xb7\xe8\xcf" , "\x52\xc4\xee" } , { "\xb7\xe8\xcf\xdc" , "\x52\xc4\xee\xd2" } , { "\xb7\xe8\xd8\xda" , "\x52\xc3\xee\xbe\xfa\xc9" } , { "\xb7\xe8\xe8" , "\x52\xc3\xee" } , { "\xb8" , "\x53\xc9" } , { "\xb8\xa1" , "\x53\xc9\xc6" } , { "\xb8\xa2" , "\x53\xc9\xc5" } , { "\xb8\xa3" , "\x53\xc9\x26" } , { "\xb8\xda" , "\x53\xc9\xc9" } , { "\xb8\xda\xa1" , "\x53\xc9\xc9\xc6" } , { "\xb8\xda\xa2" , "\x53\xc9\xc9\xc5" } , { "\xb8\xdb" , "\xca\x53\xc9" } , { "\xb8\xdb\xa2" , "\xcb\x53\xc9" } , { "\xb8\xdc" , "\x53\xc9\xd2" } , { "\xb8\xdc\xa2" , "\x53\xc9\xd3" } , { "\xb8\xdd" , "\x53\xc9\xd6" } , { "\xb8\xdd\xa1" , "\x53\xc9\xd6\xc6" } , { "\xb8\xdd\xa2" , "\x53\xc9\xd6\xc5" } , { "\xb8\xde" , "\x53\xc9\xda" } , { "\xb8\xde\xa1" , "\x53\xc9\xda\xc6" } , { "\xb8\xde\xa2" , "\x53\xc9\xda\xc5" } , { "\xb8\xdf" , "\x53\xc9\xde" } , { "\xb8\xe0" , "\x53\xc9\xe8" } , { "\xb8\xe0\xa2" , "\x53\xc9\xe9" } , { "\xb8\xe1" , "\x53\xc9\xe0" } , { "\xb8\xe1\xa2" , "\x53\xc9\xe1" } , { "\xb8\xe2" , "\x53\xc9\xe4" } , { "\xb8\xe2\xa2" , "\x53\xc9\xe5" } , { "\xb8\xe3" , "\x53\xc9\xe8" } , { "\xb8\xe4" , "\x53\xc9\xc9\xe8" } , { "\xb8\xe4\xa2" , "\x53\xc9\xc9\xe9" } , { "\xb8\xe4\xd0\xe8" , "\x53\xc9\xc9\xe8\xad\xc3\xf7" } , { "\xb8\xe5" , "\x53\xc9\xc9\xe0" } , { "\xb8\xe5\xa2" , "\x53\xc9\xc9\xe1" } , { "\xb8\xe6" , "\x53\xc9\xc9\xe4" } , { "\xb8\xe6\xa2" , "\x53\xc9\xc9\xe5" } , { "\xb8\xe7" , "\x53\xc9\xc9\xe8" } , { "\xb8\xe8" , "\x53\xc9\xc3" } , { "\xb8\xe8\xb3" , "\x53\x48\xed" } , { "\xb8\xe8\xb3\xa2" , "\x53\x48\xc5\xed" } , { "\xb8\xe8\xb3\xdb" , "\xce\x53\x48\xed" } , { "\xb8\xe8\xb3\xdd" , "\x53\x48\xd6\xed" } , { "\xb8\xe8\xb3\xe4" , "\x53\x48\xed\xc9\xe8" } , { "\xb8\xe8\xb3\xe5" , "\x53\x48\xed\xc9\xe0" } , { "\xb8\xe8\xb5" , "\x53\x4e\xc9" } , { "\xb8\xe8\xb8" , "\x53\x53\xc9" } , { "\xb8\xe8\xb8\xa2" , "\x53\x53\xc9\xc5" } , { "\xb8\xe8\xb8\xda" , "\x53\x53\xc9\xc9" } , { "\xb8\xe8\xb8\xda\xa2" , "\x53\x53\xc9\xc9\xc5" } , { "\xb8\xe8\xb8\xdb" , "\xce\x53\x53\xc9" } , { "\xb8\xe8\xb8\xdb\xa2" , "\xcf\x53\x53\xc9" } , { "\xb8\xe8\xb8\xdc" , "\x53\x53\xc9\xd2" } , { "\xb8\xe8\xb8\xdd" , "\x53\x53\xc9\xd6" } , { "\xb8\xe8\xb8\xdd\xa2" , "\x53\x53\xc9\xd6\xc5" } , { "\xb8\xe8\xb8\xde" , "\x53\x53\xc9\xda" } , { "\xb8\xe8\xb8\xe0" , "\x53\x53\xc9\xe8" } , { "\xb8\xe8\xb8\xe0\xa2" , "\x53\x53\xc9\xe9" } , { "\xb8\xe8\xb8\xe1" , "\x53\x53\xc9\xe0" } , { "\xb8\xe8\xb8\xe1\xa2" , "\x53\x53\xc9\xe1" } , { "\xb8\xe8\xb8\xe2" , "\x53\x53\xc9\xe4" } , { "\xb8\xe8\xb8\xe2\xa2" , "\x53\x53\xc9\xe5" } , { "\xb8\xe8\xb8\xe4" , "\x53\x53\xc9\xc9\xe8" } , { "\xb8\xe8\xb8\xe4\xa2" , "\x53\x53\xc9\xc9\xe9" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\x53\x53\xc9\xc9\xe8\xad\xc3\xf7" } , { "\xb8\xe8\xb8\xe5" , "\x53\x53\xc9\xc9\xe0" } , { "\xb8\xe8\xb8\xe5\xa2" , "\x53\x53\xc9\xc9\xe1" } , { "\xb8\xe8\xb8\xe6" , "\x53\x53\xc9\xc9\xe4" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\x53\x54\xc9\xd2" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\x53\x54\xc9\xd6" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\x53\x53\xb4\xc9\xc9" } , { "\xb8\xe8\xb9" , "\x53\x55\xef" } , { "\xb8\xe8\xb9\xa2" , "\x53\x55\xc5\xef" } , { "\xb8\xe8\xb9\xda" , "\x53\x55\xef\xc9" } , { "\xb8\xe8\xb9\xda\xa2" , "\x53\x55\xef\xc9\xc5" } , { "\xb8\xe8\xb9\xdb" , "\xce\x53\x55\xef" } , { "\xb8\xe8\xb9\xdb\xa2" , "\xcf\x53\x55\xef" } , { "\xb8\xe8\xb9\xdc" , "\x53\x55\xef\xd2" } , { "\xb8\xe8\xb9\xdd" , "\x53\x55\xd6\xef" } , { "\xb8\xe8\xb9\xdd\xa2" , "\x53\x55\xd6\xc5\xef" } , { "\xb8\xe8\xb9\xde" , "\x53\x55\xda\xef" } , { "\xb8\xe8\xb9\xdf" , "\x53\x55\xde\xef" } , { "\xb8\xe8\xb9\xdf\xa2" , "\x53\x55\xde\xc5\xef" } , { "\xb8\xe8\xb9\xe0" , "\x53\x55\xef\xe8" } , { "\xb8\xe8\xb9\xe1" , "\x53\x55\xef\xe0" } , { "\xb8\xe8\xb9\xe5" , "\x53\x55\xef\xc9\xe0" } , { "\xb8\xe8\xb9\xe5\xa2" , "\x53\x55\xef\xc9\xe1" } , { "\xb8\xe8\xb9\xe6" , "\x53\x55\xef\xc9\xe4" } , { "\xb8\xe8\xb9\xe8" , "\x53\x55\xc3\xef" } , { "\xb8\xe8\xb9\xe8\xa2" , "\x53\x55\xc3\xef\xc5" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\x53\x55\xc3\xef\x75\xf6" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\x53\x55\xc3\xef\xa9\xc9\xd2" } , { "\xb8\xe8\xb9\xe8\xcf" , "\x53\x55\xc4\xef" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\x53\x55\xc4\xef\xc9" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\x53\x55\xd7\xef" } , { "\xb8\xe8\xb9\xe8\xd1" , "\x53\x55\xc3\xef\xb1\xc9" } , { "\xb8\xe8\xb9\xe8\xd4" , "\x53\x55\xc3\xef\xb4\xc9" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\x53\x55\xc3\xef\xb4\xc9\xc9" } , { "\xb8\xe8\xbd" , "\x53\x60\xf2" } , { "\xb8\xe8\xbd\xdb" , "\xce\x53\x60\xf2" } , { "\xb8\xe8\xbd\xdb\xa2" , "\xcf\x53\x60\xf2" } , { "\xb8\xe8\xbd\xe1" , "\x53\x60\xe0\xf2" } , { "\xb8\xe8\xbd\xe2" , "\x53\x60\xe4\xf2" } , { "\xb8\xe8\xbf\xdb" , "\xce\x53\x65\xf4" } , { "\xb8\xe8\xbf\xe8" , "\x53\x65\xc3\xf4" } , { "\xb8\xe8\xc2" , "\x53\x6c\xc9" } , { "\xb8\xe8\xc2\xe1\xa2" , "\x53\x6c\xc9\xe1" } , { "\xb8\xe8\xc3" , "\x53\x6f\xc9" } , { "\xb8\xe8\xc4\xdb" , "\xce\x53\x71\xf6" } , { "\xb8\xe8\xc6" , "\x53\x7b\xc9" } , { "\xb8\xe8\xc6\xa2" , "\x53\x7b\xc9\xc5" } , { "\xb8\xe8\xc6\xdb" , "\xce\x53\x7b\xc9" } , { "\xb8\xe8\xc6\xdd" , "\x53\x7b\xc9\xd6" } , { "\xb8\xe8\xc6\xe4" , "\x53\x7b\xc9\xc9\xe8" } , { "\xb8\xe8\xc8" , "\x53\x7e\xc9" } , { "\xb8\xe8\xc8\xe0" , "\x53\x7e\xc9\xe8" } , { "\xb8\xe8\xc8\xe8\xcf" , "\x53\xa1\xc9" } , { "\xb8\xe8\xca\xda" , "\x53\xa5\xc9\xc9" } , { "\xb8\xe8\xca\xdd" , "\x53\xa5\xc9\xd6" } , { "\xb8\xe8\xca\xe5" , "\x53\xa5\xc9\xc9\xe0" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\x53\xa5\xb1\xc9\xe9" } , { "\xb8\xe8\xcc" , "\x53\xa9\xc9" } , { "\xb8\xe8\xcc\xdc" , "\x53\xa9\xc9\xd2" } , { "\xb8\xe8\xcc\xe0" , "\x53\xa9\xc9\xe8" } , { "\xb8\xe8\xcc\xe0\xa2" , "\x53\xa9\xc9\xe9" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\x53\xa9\xa7\xc9\xe0" } , { "\xb8\xe8\xcd" , "\x53\xab\xc9" } , { "\xb8\xe8\xcd\xa2" , "\x53\xab\xc9\xc5" } , { "\xb8\xe8\xcd\xda" , "\x53\xab\xc9\xc9" } , { "\xb8\xe8\xcd\xda\xa2" , "\x53\xab\xc9\xc9\xc5" } , { "\xb8\xe8\xcd\xdd" , "\x53\xab\xc9\xd6" } , { "\xb8\xe8\xcd\xde" , "\x53\xab\xc9\xda" } , { "\xb8\xe8\xcd\xde\xa2" , "\x53\xab\xc9\xda\xc5" } , { "\xb8\xe8\xcd\xe5" , "\x53\xab\xc9\xc9\xe0" } , { "\xb8\xe8\xcd\xe6" , "\x53\xab\xc9\xc9\xe4" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x53\xab\xab\xc9" } , { "\xb8\xe8\xcf" , "\x54\xc9" } , { "\xb8\xe8\xcf\xda" , "\x54\xc9\xc9" } , { "\xb8\xe8\xcf\xdb" , "\xca\x54\xc9" } , { "\xb8\xe8\xcf\xdc" , "\x54\xc9\xd2" } , { "\xb8\xe8\xcf\xde" , "\x54\xc9\xda" } , { "\xb8\xe8\xcf\xde\xa2" , "\x54\xc9\xda\xc5" } , { "\xb8\xe8\xcf\xe5" , "\x54\xc9\xc9\xe0" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x54\x55\xef" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x54\x55\xef\xc9" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\xce\x54\x55\xef" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x54\xab\xc9" } , { "\xb8\xe8\xd1" , "\x53\xb1\xc9" } , { "\xb8\xe8\xd1\xda" , "\x53\xb1\xc9\xc9" } , { "\xb8\xe8\xd1\xdb" , "\xce\x53\xb1\xc9" } , { "\xb8\xe8\xd1\xdc" , "\x53\xb1\xc9\xd2" } , { "\xb8\xe8\xd1\xdd" , "\x53\xb1\xc9\xd6" } , { "\xb8\xe8\xd1\xde" , "\x53\xb1\xc9\xda" } , { "\xb8\xe8\xd1\xe5" , "\x53\xb1\xc9\xc9\xe0" } , { "\xb8\xe8\xd4" , "\x53\xb4\xc9" } , { "\xb8\xe8\xd4\xda" , "\x53\xb4\xc9\xc9" } , { "\xb8\xe8\xd4\xda\xa2" , "\x53\xb4\xc9\xc9\xc5" } , { "\xb8\xe8\xd4\xe1" , "\x53\xb4\xc9\xe0" } , { "\xb8\xe8\xd4\xe2" , "\x53\xb4\xc9\xe4" } , { "\xb8\xe8\xd7" , "\x53\xbb\xc9" } , { "\xb8\xe8\xd7\xe1" , "\x53\xbb\xc9\xe0" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\xce\x53\xbb\x60\xf2" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x53\xbb\x60\xf2\xc9\xe0" } , { "\xb8\xe8\xd8" , "\x53\xbe\xfa" } , { "\xb8\xe8\xd8\xda" , "\x53\xbe\xfa\xc9" } , { "\xb8\xe8\xd8\xe6" , "\x53\xbe\xfa\xc9\xe4" } , { "\xb8\xe8\xd9\xa6" , "\x53\x3c" } , { "\xb8\xe8\xe8" , "\x53\xc9\xc3" } , { "\xb8\xe8\xe9\xcf" , "\x53\xad\xf7" } , { "\xb8\xe9" , "\x53\xc9" } , { "\xb9" , "\x55\xef" } , { "\xb9\xa1" , "\x55\xc6\xef" } , { "\xb9\xa2" , "\x55\xc5\xef" } , { "\xb9\xa3" , "\x55\xef\x26" } , { "\xb9\xce\xb4" , "\x55\xef\xab\xc9\x4c\xc9" } , { "\xb9\xd9\xc5" , "\x55\xef\x79\xc9" } , { "\xb9\xd9\xd1" , "\x55\xef\xb1\xc9" } , { "\xb9\xda" , "\x55\xef\xc9" } , { "\xb9\xda\xa1" , "\x55\xef\xc9\xc6" } , { "\xb9\xda\xa2" , "\x55\xef\xc9\xc5" } , { "\xb9\xdb" , "\xca\x55\xef" } , { "\xb9\xdb\xa2" , "\xcb\x55\xef" } , { "\xb9\xdc" , "\x55\xef\xd2" } , { "\xb9\xdc\xa2" , "\x55\xef\xd3" } , { "\xb9\xdd" , "\x55\xd6\xef" } , { "\xb9\xdd\xa2" , "\x55\xd6\xc5\xef" } , { "\xb9\xde" , "\x55\xda\xef" } , { "\xb9\xde\xa1" , "\x55\xda\xc6\xef" } , { "\xb9\xde\xa2" , "\x55\xda\xc5\xef" } , { "\xb9\xdf" , "\x55\xde\xef" } , { "\xb9\xe0" , "\x55\xef\xe8" } , { "\xb9\xe0\xa2" , "\x55\xef\xe9" } , { "\xb9\xe1" , "\x55\xef\xe0" } , { "\xb9\xe1\xa2" , "\x55\xef\xe1" } , { "\xb9\xe2" , "\x55\xef\xe4" } , { "\xb9\xe2\xa2" , "\x55\xef\xe5" } , { "\xb9\xe4" , "\x55\xef\xc9\xe8" } , { "\xb9\xe5" , "\x55\xef\xc9\xe0" } , { "\xb9\xe5\xa2" , "\x55\xef\xc9\xe1" } , { "\xb9\xe6" , "\x55\xef\xc9\xe4" } , { "\xb9\xe6\xa2" , "\x55\xef\xc9\xe5" } , { "\xb9\xe8" , "\x55\xc3\xef" } , { "\xb9\xe8\xb8" , "\x55\xc3\xef\x53\xc9" } , { "\xb9\xe8\xb9" , "\x55\xc3\xef\x55\xef" } , { "\xb9\xe8\xb9\xda" , "\x55\xc3\xef\x55\xef\xc9" } , { "\xb9\xe8\xc2\xda" , "\x55\xc3\xef\x6c\xc9\xc9" } , { "\xb9\xe8\xc4" , "\x55\xc3\xef\x71\xf6" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x55\xc3\xef\x7b\xc9\xd6\xc5" } , { "\xb9\xe8\xc8\xda" , "\x55\xc3\xef\x7e\xc9\xc9" } , { "\xb9\xe8\xcd\xda" , "\x55\xc3\xef\xab\xc9\xc9" } , { "\xb9\xe8\xcd\xe1" , "\x55\xc3\xef\xab\xc9\xe0" } , { "\xb9\xe8\xd4\xda" , "\x55\xc3\xef\xb4\xc9\xc9" } , { "\xb9\xe8\xe8" , "\x55\xc3\xef" } , { "\xb9\xe9" , "\x55\xef" } , { "\xba" , "\x57\xf0" } , { "\xba\xa1" , "\x57\xc6\xf0" } , { "\xba\xa2" , "\x57\xc5\xf0" } , { "\xba\xa2\xa2" , "\x57\xc5\xf0\xc5" } , { "\xba\xa3" , "\x57\xf0\x26" } , { "\xba\xd9\xc5" , "\x57\xf0\x79\xc9" } , { "\xba\xda" , "\x58" } , { "\xba\xda\xa1" , "\x58\xc6" } , { "\xba\xda\xa2" , "\x58\xc5" } , { "\xba\xda\xa3" , "\x58\x26" } , { "\xba\xdb" , "\xca\x57\xf0" } , { "\xba\xdb\xa2" , "\xcb\x57\xf0" } , { "\xba\xdc" , "\x59\xf0" } , { "\xba\xdc\xa2" , "\x59\xc5\xf0" } , { "\xba\xdd" , "\x57\xd6\xf0" } , { "\xba\xdd\xa2" , "\x57\xd6\xc5\xf0" } , { "\xba\xdd\xa3" , "\x57\xd6\xf0\x26" } , { "\xba\xde" , "\x57\xda\xf0" } , { "\xba\xde\xa1" , "\x57\xda\xc6\xf0" } , { "\xba\xde\xa2" , "\x57\xda\xc5\xf0" } , { "\xba\xdf" , "\x57\xde\xf0" } , { "\xba\xdf\xa2" , "\x57\xde\xc5\xf0" } , { "\xba\xe0" , "\x57\xf0\xe8" } , { "\xba\xe0\xa2" , "\x57\xf0\xe9" } , { "\xba\xe1" , "\x57\xf0\xe0" } , { "\xba\xe1\xa2" , "\x57\xf0\xe1" } , { "\xba\xe2" , "\x57\xf0\xe4" } , { "\xba\xe2\xa2" , "\x57\xf0\xe5" } , { "\xba\xe3" , "\x57\xf0\xe8" } , { "\xba\xe4" , "\x58\xe8" } , { "\xba\xe4\xa2" , "\x58\xe9" } , { "\xba\xe5" , "\x58\xe0" } , { "\xba\xe5\xa2" , "\x58\xe1" } , { "\xba\xe6" , "\x58\xe4" } , { "\xba\xe7" , "\x58\xe8" } , { "\xba\xe8" , "\x57\xc3\xf0" } , { "\xba\xe8\xb3" , "\x56\x48\xed" } , { "\xba\xe8\xb3\xda" , "\x56\x48\xed\xc9" } , { "\xba\xe8\xb3\xdb" , "\xce\x56\x48\xed" } , { "\xba\xe8\xb3\xdc" , "\x56\x48\xed\xd2" } , { "\xba\xe8\xb3\xdd" , "\x56\x48\xd6\xed" } , { "\xba\xe8\xb3\xe1" , "\x56\x48\xe0\xed" } , { "\xba\xe8\xb3\xe2" , "\x56\x48\xe4\xed" } , { "\xba\xe8\xb3\xe5" , "\x56\x48\xed\xc9\xe0" } , { "\xba\xe8\xb3\xe8\xbd" , "\x56\x47\x60\xf2" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x56\x47\xbb\xb1\xc9\xc9\xe0" } , { "\xba\xe8\xb4\xda" , "\x56\x4c\xc9\xc9" } , { "\xba\xe8\xb5" , "\x56\x4e\xc9" } , { "\xba\xe8\xb5\xa2" , "\x56\x4e\xc9\xc5" } , { "\xba\xe8\xb5\xda" , "\x56\x4e\xc9\xc9" } , { "\xba\xe8\xb5\xda\xa2" , "\x56\x4e\xc9\xc9\xc5" } , { "\xba\xe8\xb5\xe1" , "\x56\x4e\xc9\xe0" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x56\x4f\xc9\xc9" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x56\x4f\xc9\xe0" } , { "\xba\xe8\xb6" , "\x56\x50\xc9" } , { "\xba\xe8\xb6\xda" , "\x56\x50\xc9\xc9" } , { "\xba\xe8\xb8\xda" , "\x56\x53\xc9\xc9" } , { "\xba\xe8\xb8\xdd" , "\x56\x53\xc9\xd6" } , { "\xba\xe8\xb8\xe1" , "\x56\x53\xc9\xe0" } , { "\xba\xe8\xba" , "\x56\x57\xf0" } , { "\xba\xe8\xba\xa2" , "\x56\x57\xc5\xf0" } , { "\xba\xe8\xba\xda" , "\x56\x58" } , { "\xba\xe8\xba\xdb" , "\xce\x56\x57\xf0" } , { "\xba\xe8\xba\xdc" , "\x56\x59\xf0" } , { "\xba\xe8\xba\xdd" , "\x56\x57\xd6\xf0" } , { "\xba\xe8\xba\xde" , "\x56\x57\xda\xf0" } , { "\xba\xe8\xba\xdf\xa2" , "\x56\x57\xde\xc5\xf0" } , { "\xba\xe8\xba\xe0" , "\x56\x57\xf0\xe8" } , { "\xba\xe8\xba\xe1" , "\x56\x57\xf0\xe0" } , { "\xba\xe8\xba\xe2" , "\x56\x57\xf0\xe4" } , { "\xba\xe8\xba\xe5" , "\x56\x58\xe0" } , { "\xba\xe8\xba\xe5\xa2" , "\x56\x58\xe1" } , { "\xba\xe8\xba\xe8" , "\x56\x57\xc3\xf0" } , { "\xba\xe8\xba\xe8\xcd" , "\x56\x56\xab\xc9" } , { "\xba\xe8\xba\xe8\xd4" , "\x56\x56\xb4\xc9" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x56\x56\xb4\xc9\xe0" } , { "\xba\xe8\xba\xe9" , "\x56\x57\xf0" } , { "\xba\xe8\xba\xe9\xdb" , "\xce\x56\x57\xf0" } , { "\xba\xe8\xbb" , "\x56\x5d\xf1" } , { "\xba\xe8\xbb\xda" , "\x56\x5d\xf1\xc9" } , { "\xba\xe8\xbb\xdb" , "\xce\x56\x5d\xf1" } , { "\xba\xe8\xbb\xdc" , "\x56\x5d\xf1\xd2" } , { "\xba\xe8\xbb\xdd" , "\x56\x5d\xd6\xf1" } , { "\xba\xe8\xbb\xde" , "\x56\x5d\xda\xf1" } , { "\xba\xe8\xbb\xe1" , "\x56\x5d\xe0\xf1" } , { "\xba\xe8\xbb\xe8\xd4" , "\x56\x5c\xb4\xc9" } , { "\xba\xe8\xbc" , "\x5b\xc9" } , { "\xba\xe8\xbc\xa2" , "\x5b\xc9\xc5" } , { "\xba\xe8\xbc\xa3" , "\x5b\xc9\x26" } , { "\xba\xe8\xbc\xda" , "\x5b\xc9\xc9" } , { "\xba\xe8\xbc\xda\xa2" , "\x5b\xc9\xc9\xc5" } , { "\xba\xe8\xbc\xdb" , "\xca\x5b\xc9" } , { "\xba\xe8\xbc\xdc" , "\x5b\xc9\xd2" } , { "\xba\xe8\xbc\xdd" , "\x5b\xc9\xd6" } , { "\xba\xe8\xbc\xe0" , "\x5b\xc9\xe8" } , { "\xba\xe8\xbc\xe1" , "\x5b\xc9\xe0" } , { "\xba\xe8\xbc\xe2\xa3" , "\x5b\xc9\xe4\x26" } , { "\xba\xe8\xbc\xe5" , "\x5b\xc9\xc9\xe0" } , { "\xba\xe8\xbc\xe5\xa2" , "\x5b\xc9\xc9\xe1" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x5b\x7b\xc9\xc9" } , { "\xba\xe8\xbc\xe8\xcc" , "\x5b\xa9\xc9" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x5b\xa9\xc9\xc9" } , { "\xba\xe8\xbc\xe8\xcd" , "\x5b\xab\xc9" } , { "\xba\xe8\xbd\xda" , "\x56\x60\xf2\xc9" } , { "\xba\xe8\xbd\xdd" , "\x56\x60\xd6\xf2" } , { "\xba\xe8\xbd\xe0" , "\x56\x60\xe8\xf2" } , { "\xba\xe8\xbd\xe5" , "\x56\x60\xf2\xc9\xe0" } , { "\xba\xe8\xbe" , "\x56\x63\xf3" } , { "\xba\xe8\xbe\xdd" , "\x56\x63\xd6\xf3" } , { "\xba\xe8\xbe\xe5" , "\x56\x63\xf3\xc9\xe0" } , { "\xba\xe8\xbf" , "\x56\x65\xf4" } , { "\xba\xe8\xbf\xda" , "\x56\x65\xf4\xc9" } , { "\xba\xe8\xbf\xdb" , "\xce\x56\x65\xf4" } , { "\xba\xe8\xbf\xdd" , "\x56\x65\xd6\xf4" } , { "\xba\xe8\xbf\xe1" , "\x56\x65\xe0\xf4" } , { "\xba\xe8\xbf\xe2" , "\x56\x65\xe4\xf4" } , { "\xba\xe8\xbf\xe8" , "\x56\x65\xc3\xf4" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x56\x65\xc3\xf4\x5f\xc9\xc9" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x56\x65\xc3\xf4\x7b\xc9\xe0" } , { "\xba\xe8\xbf\xe9" , "\x56\x65\xf4" } , { "\xba\xe8\xc0" , "\x56\x68\xf5" } , { "\xba\xe8\xc0\xa2" , "\x56\x68\xc5\xf5" } , { "\xba\xe8\xc0\xda" , "\x56\x68\xf5\xc9" } , { "\xba\xe8\xc0\xdb" , "\xce\x56\x68\xf5" } , { "\xba\xe8\xc0\xdd" , "\x56\x68\xd6\xf5" } , { "\xba\xe8\xc0\xe1" , "\x56\x68\xe0\xf5" } , { "\xba\xe8\xc0\xe5" , "\x56\x68\xf5\xc9\xe0" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x56\x68\xc3\xf5\x5f\xc9\xc9" } , { "\xba\xe8\xc2" , "\x56\x6c\xc9" } , { "\xba\xe8\xc2\xe5" , "\x56\x6c\xc9\xc9\xe0" } , { "\xba\xe8\xc2\xe8\xcf" , "\x56\x6d\xc9" } , { "\xba\xe8\xc4" , "\x56\x71\xf6" } , { "\xba\xe8\xc4\xda" , "\x56\x71\xf6\xc9" } , { "\xba\xe8\xc4\xdb" , "\xce\x56\x71\xf6" } , { "\xba\xe8\xc4\xde" , "\x56\x71\xda\xf6" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x56\x72\xdc\xf6" } , { "\xba\xe8\xc6" , "\x56\x7b\xc9" } , { "\xba\xe8\xc6\xda" , "\x56\x7b\xc9\xc9" } , { "\xba\xe8\xc6\xdb" , "\xce\x56\x7b\xc9" } , { "\xba\xe8\xc6\xdc" , "\x56\x7b\xc9\xd2" } , { "\xba\xe8\xc6\xdd" , "\x56\x7b\xc9\xd6" } , { "\xba\xe8\xc6\xdd\xa2" , "\x56\x7b\xc9\xd6\xc5" } , { "\xba\xe8\xc6\xde" , "\x56\x7b\xc9\xda" } , { "\xba\xe8\xc6\xe1" , "\x56\x7b\xc9\xe0" } , { "\xba\xe8\xc6\xe6" , "\x56\x7b\xc9\xc9\xe4" } , { "\xba\xe8\xc8" , "\x56\x7e\xc9" } , { "\xba\xe8\xc8\xda" , "\x56\x7e\xc9\xc9" } , { "\xba\xe8\xc8\xdd" , "\x56\x7e\xc9\xd6" } , { "\xba\xe8\xc8\xde" , "\x56\x7e\xc9\xda" } , { "\xba\xe8\xc8\xe2" , "\x56\x7e\xc9\xe4" } , { "\xba\xe8\xc8\xe5" , "\x56\x7e\xc9\xc9\xe0" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x56\xa1\xc9\xe8" } , { "\xba\xe8\xc9\xe2" , "\x56\xa3\xe4\xed" } , { "\xba\xe8\xc9\xe8\xc9" , "\x56\xa2\xa3\xed" } , { "\xba\xe8\xca" , "\x56\xa5\xc9" } , { "\xba\xe8\xca\xda" , "\x56\xa5\xc9\xc9" } , { "\xba\xe8\xca\xe0" , "\x56\xa5\xc9\xe8" } , { "\xba\xe8\xca\xe0\xa2" , "\x56\xa5\xc9\xe9" } , { "\xba\xe8\xca\xe1" , "\x56\xa5\xc9\xe0" } , { "\xba\xe8\xca\xe2" , "\x56\xa5\xc9\xe4" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x56\xa5\x48\xc3\xed" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x56\xa5\x4e\xc9\xc3" } , { "\xba\xe8\xcb\xde" , "\x56\xa7\xc9\xda" } , { "\xba\xe8\xcb\xe1" , "\x56\xa7\xc9\xe0" } , { "\xba\xe8\xcc" , "\x56\xa9\xc9" } , { "\xba\xe8\xcc\xa2" , "\x56\xa9\xc9\xc5" } , { "\xba\xe8\xcc\xda" , "\x56\xa9\xc9\xc9" } , { "\xba\xe8\xcc\xdb" , "\xce\x56\xa9\xc9" } , { "\xba\xe8\xcc\xdc" , "\x56\xa9\xc9\xd2" } , { "\xba\xe8\xcc\xdd" , "\x56\xa9\xc9\xd6" } , { "\xba\xe8\xcc\xde" , "\x56\xa9\xc9\xda" } , { "\xba\xe8\xcc\xe0" , "\x56\xa9\xc9\xe8" } , { "\xba\xe8\xcc\xe0\xa2" , "\x56\xa9\xc9\xe9" } , { "\xba\xe8\xcc\xe1" , "\x56\xa9\xc9\xe0" } , { "\xba\xe8\xcc\xe1\xa2" , "\x56\xa9\xc9\xe1" } , { "\xba\xe8\xcc\xe5" , "\x56\xa9\xc9\xc9\xe0" } , { "\xba\xe8\xcd" , "\x56\xab\xc9" } , { "\xba\xe8\xcd\xa2" , "\x56\xab\xc9\xc5" } , { "\xba\xe8\xcd\xda" , "\x56\xab\xc9\xc9" } , { "\xba\xe8\xcd\xda\xa1" , "\x56\xab\xc9\xc9\xc6" } , { "\xba\xe8\xcd\xda\xa2" , "\x56\xab\xc9\xc9\xc5" } , { "\xba\xe8\xcd\xdb" , "\xce\x56\xab\xc9" } , { "\xba\xe8\xcd\xdc" , "\x56\xab\xc9\xd2" } , { "\xba\xe8\xcd\xdd" , "\x56\xab\xc9\xd6" } , { "\xba\xe8\xcd\xdd\xa2" , "\x56\xab\xc9\xd6\xc5" } , { "\xba\xe8\xcd\xde" , "\x56\xab\xc9\xda" } , { "\xba\xe8\xcd\xde\xa1" , "\x56\xab\xc9\xda\xc6" } , { "\xba\xe8\xcd\xde\xa2" , "\x56\xab\xc9\xda\xc5" } , { "\xba\xe8\xcd\xe0" , "\x56\xab\xc9\xe8" } , { "\xba\xe8\xcd\xe0\xa2" , "\x56\xab\xc9\xe9" } , { "\xba\xe8\xcd\xe1" , "\x56\xab\xc9\xe0" } , { "\xba\xe8\xcd\xe4" , "\x56\xab\xc9\xc9\xe8" } , { "\xba\xe8\xcd\xe5" , "\x56\xab\xc9\xc9\xe0" } , { "\xba\xe8\xcd\xe5\xa2" , "\x56\xab\xc9\xc9\xe1" } , { "\xba\xe8\xcd\xe6" , "\x56\xab\xc9\xc9\xe4" } , { "\xba\xe8\xcd\xe8\xcf" , "\x56\xab\xc9\xc4" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x56\xab\xc9\xc4\xc5" } , { "\xba\xe8\xcf" , "\x5a\xf0" } , { "\xba\xe8\xcf\xa2" , "\x5a\xc5\xf0" } , { "\xba\xe8\xcf\xda" , "\x5a\xc9" } , { "\xba\xe8\xcf\xda\xa2" , "\x5a\xc9\xc5" } , { "\xba\xe8\xcf\xdb" , "\xca\x5a\xf0" } , { "\xba\xe8\xcf\xdc" , "\x5a\xd2" } , { "\xba\xe8\xcf\xe1" , "\x5a\xf0\xe0" } , { "\xba\xe8\xcf\xe4" , "\x5a\xc9\xe8" } , { "\xba\xe8\xcf\xe5" , "\x5a\xc9\xe0" } , { "\xba\xe8\xd1" , "\x56\xb1\xc9" } , { "\xba\xe8\xd1\xda" , "\x56\xb1\xc9\xc9" } , { "\xba\xe8\xd1\xdb" , "\xce\x56\xb1\xc9" } , { "\xba\xe8\xd1\xdc" , "\x56\xb1\xc9\xd2" } , { "\xba\xe8\xd1\xdd" , "\x56\xb1\xc9\xd6" } , { "\xba\xe8\xd1\xe5" , "\x56\xb1\xc9\xc9\xe0" } , { "\xba\xe8\xd4" , "\x56\xb4\xc9" } , { "\xba\xe8\xd4\xa2" , "\x56\xb4\xc9\xc5" } , { "\xba\xe8\xd4\xda" , "\x56\xb4\xc9\xc9" } , { "\xba\xe8\xd4\xdb" , "\xce\x56\xb4\xc9" } , { "\xba\xe8\xd4\xdc" , "\x56\xb4\xc9\xd2" } , { "\xba\xe8\xd4\xdd" , "\x56\xb4\xc9\xd6" } , { "\xba\xe8\xd4\xdf" , "\x56\xb4\xc9\xde" } , { "\xba\xe8\xd4\xe0" , "\x56\xb4\xc9\xe8" } , { "\xba\xe8\xd4\xe1" , "\x56\xb4\xc9\xe0" } , { "\xba\xe8\xd4\xe7" , "\x56\xb4\xc9\xc9\xe8" } , { "\xba\xe8\xd4\xe8\xba" , "\x56\xb4\x57\xf0" } , { "\xba\xe8\xd5\xda" , "\x56\xb6\xc9\xc9" } , { "\xba\xe8\xd6\xda" , "\x56\xba\xc9\xc9" } , { "\xba\xe8\xd7" , "\x56\xbb\xc9" } , { "\xba\xe8\xd7\xdb\xa2" , "\xcf\x56\xbb\xc9" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\xce\x56\xbb\x48\xed" } , { "\xba\xe8\xd9\xba" , "\x56\x57\xf0" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x56\xab\xc9\xc7" } , { "\xba\xe8\xe8" , "\x57\xc3\xf0" } , { "\xba\xe8\xe9\xbc" , "\x56\x5f\xc9" } , { "\xba\xe8\xe9\xcf" , "\x56\xad\xf7" } , { "\xba\xe9" , "\x57\xf0" } , { "\xba\xe9\xa2" , "\x57\xc5\xf0" } , { "\xba\xe9\xbf\xe9" , "\x57\xf0\x65\xf4" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x57\xf0\x65\xf4\xc9\xe1" } , { "\xba\xe9\xc7" , "\x57\xf0\x7b\xc9" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x57\xf0\xa9\xa5\xc9\xd6" } , { "\xba\xe9\xd4\xda" , "\x57\xf0\xb4\xc9\xc9" } , { "\xba\xe9\xda" , "\x58" } , { "\xba\xe9\xdb" , "\xca\x57\xf0" } , { "\xba\xe9\xdb\xa2" , "\xcb\x57\xf0" } , { "\xba\xe9\xdc" , "\x59\xf0" } , { "\xba\xe9\xdd" , "\x57\xd6\xf0" } , { "\xba\xe9\xde" , "\x57\xda\xf0" } , { "\xba\xe9\xe1" , "\x57\xf0\xe0" } , { "\xba\xe9\xe1\xa2" , "\x57\xf0\xe1" } , { "\xba\xe9\xe2" , "\x57\xf0\xe4" } , { "\xba\xe9\xe5" , "\x58\xe0" } , { "\xba\xe9\xe5\xa2" , "\x58\xe1" } , { "\xba\xe9\xe8\xba" , "\x56\x57\xf0" } , { "\xba\xe9\xe8\xba\xe9" , "\x56\x57\xf0" } , { "\xba\xe9\xe8\xca\xda" , "\x56\xa5\xc9\xc9" } , { "\xba\xe9\xe8\xcc" , "\x56\xa9\xc9" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\x56\xa9\xc9\xc9\xe1" } , { "\xba\xe9\xe8\xcd\xda" , "\x56\xab\xc9\xc9" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x57\xf0\xc3\xab\xc9\xc9" } , { "\xbb" , "\x5d\xf1" } , { "\xbb\xa1" , "\x5d\xc6\xf1" } , { "\xbb\xa2" , "\x5d\xc5\xf1" } , { "\xbb\xa3" , "\x5d\xf1\x26" } , { "\xbb\xda" , "\x5d\xf1\xc9" } , { "\xbb\xda\xa1" , "\x5d\xf1\xc9\xc6" } , { "\xbb\xda\xa2" , "\x5d\xf1\xc9\xc5" } , { "\xbb\xdb" , "\xca\x5d\xf1" } , { "\xbb\xdb\xa2" , "\xcb\x5d\xf1" } , { "\xbb\xdc" , "\x5d\xf1\xd2" } , { "\xbb\xdc\xa2" , "\x5d\xf1\xd3" } , { "\xbb\xdd" , "\x5d\xd6\xf1" } , { "\xbb\xdd\xa1" , "\x5d\xd6\xc6\xf1" } , { "\xbb\xdd\xa2" , "\x5d\xd6\xc5\xf1" } , { "\xbb\xde" , "\x5d\xda\xf1" } , { "\xbb\xde\xa1" , "\x5d\xda\xc6\xf1" } , { "\xbb\xde\xa2" , "\x5d\xda\xc5\xf1" } , { "\xbb\xdf" , "\x5d\xde\xf1" } , { "\xbb\xe0" , "\x5d\xe8\xf1" } , { "\xbb\xe0\xa2" , "\x5d\xe9\xf1" } , { "\xbb\xe1" , "\x5d\xe0\xf1" } , { "\xbb\xe1\xa2" , "\x5d\xe1\xf1" } , { "\xbb\xe2" , "\x5d\xe4\xf1" } , { "\xbb\xe4" , "\x5d\xf1\xc9\xe8" } , { "\xbb\xe5" , "\x5d\xf1\xc9\xe0" } , { "\xbb\xe5\xa2" , "\x5d\xf1\xc9\xe1" } , { "\xbb\xe6" , "\x5d\xf1\xc9\xe4" } , { "\xbb\xe6\xa2" , "\x5d\xf1\xc9\xe5" } , { "\xbb\xe7" , "\x5d\xf1\xc9\xe8" } , { "\xbb\xe8" , "\x5d\xc3\xf1" } , { "\xbb\xe8\xb6\xdd" , "\x5c\x50\xc9\xd6" } , { "\xbb\xe8\xbb" , "\x5c\x5d\xf1" } , { "\xbb\xe8\xcd" , "\x5c\xab\xc9" } , { "\xbb\xe8\xcf" , "\x5e\xf1" } , { "\xbb\xe8\xd4" , "\x5c\xb4\xc9" } , { "\xbb\xe8\xe8" , "\x5d\xc3\xf1" } , { "\xbb\xe8\xe9\xcf" , "\x5c\xad\xf7" } , { "\xbb\xe9" , "\x5d\xf1" } , { "\xbc" , "\x5f\xc9" } , { "\xbc\xa2" , "\x5f\xc9\xc5" } , { "\xbc\xa3" , "\x5f\xc9\x26" } , { "\xbc\xda" , "\x5f\xc9\xc9" } , { "\xbc\xdb" , "\xca\x5f\xc9" } , { "\xbc\xdc" , "\x5f\xc9\xd2" } , { "\xbc\xdd" , "\x5f\xc9\xd6" } , { "\xbc\xde" , "\x5f\xc9\xda" } , { "\xbc\xdf" , "\x5f\xc9\xde" } , { "\xbc\xe0" , "\x5f\xc9\xe8" } , { "\xbc\xe1" , "\x5f\xc9\xe0" } , { "\xbc\xe2" , "\x5f\xc9\xe4" } , { "\xbc\xe3" , "\x5f\xc9\xe8" } , { "\xbc\xe4" , "\x5f\xc9\xc9\xe8" } , { "\xbc\xe5" , "\x5f\xc9\xc9\xe0" } , { "\xbc\xe5\xa2" , "\x5f\xc9\xc9\xe1" } , { "\xbc\xe6" , "\x5f\xc9\xc9\xe4" } , { "\xbc\xe8" , "\x5f\xc9\xc3" } , { "\xbc\xe8\xb8" , "\x5f\x53\xc9" } , { "\xbc\xe8\xb8\xda" , "\x5f\x53\xc9\xc9" } , { "\xbc\xe8\xb8\xdb" , "\xce\x5f\x53\xc9" } , { "\xbc\xe8\xb8\xdc" , "\x5f\x53\xc9\xd2" } , { "\xbc\xe8\xb8\xe0" , "\x5f\x53\xc9\xe8" } , { "\xbc\xe8\xb8\xe1" , "\x5f\x53\xc9\xe0" } , { "\xbc\xe8\xb8\xe4" , "\x5f\x53\xc9\xc9\xe8" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x5f\x53\xab\xc9\xc9\xc5" } , { "\xbc\xe8\xba" , "\x5f\x57\xf0" } , { "\xbc\xe8\xba\xda" , "\x5f\x58" } , { "\xbc\xe8\xba\xdb" , "\xce\x5f\x57\xf0" } , { "\xbc\xe8\xba\xdc" , "\x5f\x59\xf0" } , { "\xbc\xe8\xba\xdd" , "\x5f\x57\xd6\xf0" } , { "\xbc\xe8\xba\xe5\xa2" , "\x5f\x58\xe1" } , { "\xbc\xe8\xbc" , "\x5f\x5f\xc9" } , { "\xbc\xe8\xbc\xda" , "\x5f\x5f\xc9\xc9" } , { "\xbc\xe8\xc1" , "\x5f\x69\xc9" } , { "\xbc\xe8\xcd\xa2" , "\x5f\xab\xc9\xc5" } , { "\xbc\xe8\xcd\xe5" , "\x5f\xab\xc9\xc9\xe0" } , { "\xbc\xe8\xd4" , "\x5f\xb4\xc9" } , { "\xbc\xe9" , "\x5f\xc9" } , { "\xbd" , "\x60\xf2" } , { "\xbd\xa1" , "\x60\xc6\xf2" } , { "\xbd\xa2" , "\x60\xc5\xf2" } , { "\xbd\xa2\xa2" , "\x60\xc5\xf2\xc5" } , { "\xbd\xa3" , "\x60\xf2\x26" } , { "\xbd\xd9" , "\x60\xf2" } , { "\xbd\xda" , "\x60\xf2\xc9" } , { "\xbd\xda\xa1" , "\x60\xf2\xc9\xc6" } , { "\xbd\xda\xa2" , "\x60\xf2\xc9\xc5" } , { "\xbd\xda\xa3" , "\x60\xf2\xc9\x26" } , { "\xbd\xdb" , "\xca\x60\xf2" } , { "\xbd\xdb\xa2" , "\xcb\x60\xf2" } , { "\xbd\xdc" , "\x60\xf2\xd2" } , { "\xbd\xdc\xa2" , "\x60\xf2\xd3" } , { "\xbd\xdd" , "\x60\xd6\xf2" } , { "\xbd\xdd\xa2" , "\x60\xd6\xc5\xf2" } , { "\xbd\xde" , "\x60\xda\xf2" } , { "\xbd\xde\xa1" , "\x60\xda\xc6\xf2" } , { "\xbd\xde\xa2" , "\x60\xda\xc5\xf2" } , { "\xbd\xdf" , "\x60\xde\xf2" } , { "\xbd\xe0" , "\x60\xe8\xf2" } , { "\xbd\xe0\xa2" , "\x60\xe9\xf2" } , { "\xbd\xe1" , "\x60\xe0\xf2" } , { "\xbd\xe1\xa2" , "\x60\xe1\xf2" } , { "\xbd\xe2" , "\x60\xe4\xf2" } , { "\xbd\xe2\xa2" , "\x60\xe5\xf2" } , { "\xbd\xe3" , "\x60\xe8\xf2" } , { "\xbd\xe4" , "\x60\xf2\xc9\xe8" } , { "\xbd\xe4\xa2" , "\x60\xf2\xc9\xe9" } , { "\xbd\xe5" , "\x60\xf2\xc9\xe0" } , { "\xbd\xe5\xa2" , "\x60\xf2\xc9\xe1" } , { "\xbd\xe6" , "\x60\xf2\xc9\xe4" } , { "\xbd\xe6\xa2" , "\x60\xf2\xc9\xe5" } , { "\xbd\xe7" , "\x60\xf2\xc9\xe8" } , { "\xbd\xe8" , "\x60\xc3\xf2" } , { "\xbd\xe8\xa6" , "\x60\xc3\xf2\x3c" } , { "\xbd\xe8\xb3" , "\x60\xc3\xf2\x48\xed" } , { "\xbd\xe8\xb3\xa2" , "\x60\xc3\xf2\x48\xc5\xed" } , { "\xbd\xe8\xb3\xda" , "\x60\xc3\xf2\x48\xed\xc9" } , { "\xbd\xe8\xb3\xda\xa2" , "\x60\xc3\xf2\x48\xed\xc9\xc5" } , { "\xbd\xe8\xb3\xdb" , "\xce\x60\xc3\xf2\x48\xed" } , { "\xbd\xe8\xb3\xdb\xa2" , "\xcf\x60\xc3\xf2\x48\xed" } , { "\xbd\xe8\xb3\xdc" , "\x60\xc3\xf2\x48\xed\xd2" } , { "\xbd\xe8\xb3\xdd" , "\x60\xc3\xf2\x48\xd6\xed" } , { "\xbd\xe8\xb3\xde" , "\x60\xc3\xf2\x48\xda\xed" } , { "\xbd\xe8\xb3\xe0" , "\x60\xc3\xf2\x48\xe8\xed" } , { "\xbd\xe8\xb3\xe1" , "\x60\xc3\xf2\x48\xe0\xed" } , { "\xbd\xe8\xb3\xe2" , "\x60\xc3\xf2\x48\xe4\xed" } , { "\xbd\xe8\xb3\xe5" , "\x60\xc3\xf2\x48\xed\xc9\xe0" } , { "\xbd\xe8\xb3\xe8\xd1" , "\x60\xc3\xf2\x47\xb1\xc9" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\x60\xc3\xf2\x47\xb1\xc9\xd2" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\x60\xc3\xf2\x47\xbb\xc9\xc3" } , { "\xbd\xe8\xb5" , "\x60\xc3\xf2\x4e\xc9" } , { "\xbd\xe8\xb5\xda" , "\x60\xc3\xf2\x4e\xc9\xc9" } , { "\xbd\xe8\xb5\xe0" , "\x60\xc3\xf2\x4e\xc9\xe8" } , { "\xbd\xe8\xb5\xe1" , "\x60\xc3\xf2\x4e\xc9\xe0" } , { "\xbd\xe8\xb5\xe2" , "\x60\xc3\xf2\x4e\xc9\xe4" } , { "\xbd\xe8\xb5\xe5" , "\x60\xc3\xf2\x4e\xc9\xc9\xe0" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\x60\xc3\xf2\x4f\xc9\xc5" } , { "\xbd\xe8\xb7\xe8" , "\x60\xc3\xf2\x52\xc3\xee" } , { "\xbd\xe8\xb8" , "\x60\xc3\xf2\x53\xc9" } , { "\xbd\xe8\xb8\xa2" , "\x60\xc3\xf2\x53\xc9\xc5" } , { "\xbd\xe8\xb8\xda" , "\x60\xc3\xf2\x53\xc9\xc9" } , { "\xbd\xe8\xb8\xdb" , "\xce\x60\xc3\xf2\x53\xc9" } , { "\xbd\xe8\xb8\xdb\xa2" , "\xcf\x60\xc3\xf2\x53\xc9" } , { "\xbd\xe8\xb8\xdd" , "\x60\xc3\xf2\x53\xc9\xd6" } , { "\xbd\xe8\xb8\xe0" , "\x60\xc3\xf2\x53\xc9\xe8" } , { "\xbd\xe8\xb8\xe1" , "\x60\xc3\xf2\x53\xc9\xe0" } , { "\xbd\xe8\xb8\xe8" , "\x60\xc3\xf2\x53\xc9\xc3" } , { "\xbd\xe8\xb9\xa2" , "\x60\xc3\xf2\x55\xc5\xef" } , { "\xbd\xe8\xba" , "\x60\xc3\xf2\x57\xf0" } , { "\xbd\xe8\xba\xa2" , "\x60\xc3\xf2\x57\xc5\xf0" } , { "\xbd\xe8\xba\xdc" , "\x60\xc3\xf2\x59\xf0" } , { "\xbd\xe8\xba\xe0" , "\x60\xc3\xf2\x57\xf0\xe8" } , { "\xbd\xe8\xba\xe1" , "\x60\xc3\xf2\x57\xf0\xe0" } , { "\xbd\xe8\xba\xe8" , "\x60\xc3\xf2\x57\xc3\xf0" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x60\xc3\xf2\x56\x4e\xc9\xe8" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\x60\xc3\xf2\x56\x7b\xc9\xd6\xc5" } , { "\xbd\xe8\xbd" , "\x60\xc3\xf2\x60\xf2" } , { "\xbd\xe8\xbd\xa2" , "\x60\xc3\xf2\x60\xc5\xf2" } , { "\xbd\xe8\xbd\xa3" , "\x60\xc3\xf2\x60\xf2\x26" } , { "\xbd\xe8\xbd\xda" , "\x60\xc3\xf2\x60\xf2\xc9" } , { "\xbd\xe8\xbd\xda\xa2" , "\x60\xc3\xf2\x60\xf2\xc9\xc5" } , { "\xbd\xe8\xbd\xda\xa3" , "\x60\xc3\xf2\x60\xf2\xc9\x26" } , { "\xbd\xe8\xbd\xdb" , "\xce\x60\xc3\xf2\x60\xf2" } , { "\xbd\xe8\xbd\xdb\xa2" , "\xcf\x60\xc3\xf2\x60\xf2" } , { "\xbd\xe8\xbd\xdc" , "\x60\xc3\xf2\x60\xf2\xd2" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x60\xc3\xf2\x60\xf2\xd3" } , { "\xbd\xe8\xbd\xdd" , "\x60\xc3\xf2\x60\xd6\xf2" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x60\xc3\xf2\x60\xd6\xc5\xf2" } , { "\xbd\xe8\xbd\xde" , "\x60\xc3\xf2\x60\xda\xf2" } , { "\xbd\xe8\xbd\xe0" , "\x60\xc3\xf2\x60\xe8\xf2" } , { "\xbd\xe8\xbd\xe0\xa2" , "\x60\xc3\xf2\x60\xe9\xf2" } , { "\xbd\xe8\xbd\xe1" , "\x60\xc3\xf2\x60\xe0\xf2" } , { "\xbd\xe8\xbd\xe1\xa2" , "\x60\xc3\xf2\x60\xe1\xf2" } , { "\xbd\xe8\xbd\xe2" , "\x60\xc3\xf2\x60\xe4\xf2" } , { "\xbd\xe8\xbd\xe2\xa2" , "\x60\xc3\xf2\x60\xe5\xf2" } , { "\xbd\xe8\xbd\xe4" , "\x60\xc3\xf2\x60\xf2\xc9\xe8" } , { "\xbd\xe8\xbd\xe5" , "\x60\xc3\xf2\x60\xf2\xc9\xe0" } , { "\xbd\xe8\xbd\xe5\xa2" , "\x60\xc3\xf2\x60\xf2\xc9\xe1" } , { "\xbd\xe8\xbd\xe6" , "\x60\xc3\xf2\x60\xf2\xc9\xe4" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x60\xc3\xf2\x60\xc3\xf2\x48\xd6\xed" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x60\xc3\xf2\x60\xc3\xf2\x69\xc9" } , { "\xbd\xe8\xbd\xe8\xc6" , "\x60\xc3\xf2\x60\xc3\xf2\x7b\xc9" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\x60\xc3\xf2\x60\xc3\xf2\x7e\xc9\xe8" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x60\xc3\xf2\x60\xc4\xf2\xc9" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x60\xc3\xf2\x60\xc4\xc3\xf2" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\x60\xc3\xf2\x60\xc3\xf2\xad\xc3\xf7\x7b\xc9" } , { "\xbd\xe8\xbd\xe8\xd4" , "\x60\xc3\xf2\x60\xc3\xf2\xb4\xc9" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x60\xc3\xf2\x60\xc3\xf2\xbb\xc9\xd6" } , { "\xbd\xe8\xbe" , "\x60\xc3\xf2\x63\xf3" } , { "\xbd\xe8\xbe\xda" , "\x60\xc3\xf2\x63\xf3\xc9" } , { "\xbd\xe8\xbe\xdb" , "\xce\x60\xc3\xf2\x63\xf3" } , { "\xbd\xe8\xbe\xdc" , "\x60\xc3\xf2\x63\xf3\xd2" } , { "\xbd\xe8\xbe\xdd" , "\x60\xc3\xf2\x63\xd6\xf3" } , { "\xbd\xe8\xbe\xde" , "\x60\xc3\xf2\x63\xda\xf3" } , { "\xbd\xe8\xbe\xe1" , "\x60\xc3\xf2\x63\xe0\xf3" } , { "\xbd\xe8\xbe\xe5" , "\x60\xc3\xf2\x63\xf3\xc9\xe0" } , { "\xbd\xe8\xbe\xe5\xa2" , "\x60\xc3\xf2\x63\xf3\xc9\xe1" } , { "\xbd\xe8\xbf" , "\x60\xc3\xf2\x65\xf4" } , { "\xbd\xe8\xbf\xdb" , "\xce\x60\xc3\xf2\x65\xf4" } , { "\xbd\xe8\xbf\xdd" , "\x60\xc3\xf2\x65\xd6\xf4" } , { "\xbd\xe8\xbf\xe1" , "\x60\xc3\xf2\x65\xe0\xf4" } , { "\xbd\xe8\xbf\xe5" , "\x60\xc3\xf2\x65\xf4\xc9\xe0" } , { "\xbd\xe8\xbf\xe6" , "\x60\xc3\xf2\x65\xf4\xc9\xe4" } , { "\xbd\xe8\xbf\xe8" , "\x60\xc3\xf2\x65\xc3\xf4" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\x60\xc3\xf2\x65\xc4\xf4\xc9" } , { "\xbd\xe8\xc0\xdc" , "\x60\xc3\xf2\x68\xf5\xd2" } , { "\xbd\xe8\xc1\xa2" , "\x60\xc3\xf2\x69\xc9\xc5" } , { "\xbd\xe8\xc2" , "\x60\xc3\xf2\x6c\xc9" } , { "\xbd\xe8\xc2\xda" , "\x60\xc3\xf2\x6c\xc9\xc9" } , { "\xbd\xe8\xc2\xdb\xa2" , "\xcf\x60\xc3\xf2\x6c\xc9" } , { "\xbd\xe8\xc2\xdc" , "\x60\xc3\xf2\x6c\xc9\xd2" } , { "\xbd\xe8\xc2\xdd" , "\x60\xc3\xf2\x6c\xc9\xd6" } , { "\xbd\xe8\xc2\xdd\xa2" , "\x60\xc3\xf2\x6c\xc9\xd6\xc5" } , { "\xbd\xe8\xc2\xde" , "\x60\xc3\xf2\x6c\xc9\xda" } , { "\xbd\xe8\xc2\xe0" , "\x60\xc3\xf2\x6c\xc9\xe8" } , { "\xbd\xe8\xc2\xe1" , "\x60\xc3\xf2\x6c\xc9\xe0" } , { "\xbd\xe8\xc2\xe4" , "\x60\xc3\xf2\x6c\xc9\xc9\xe8" } , { "\xbd\xe8\xc2\xe5" , "\x60\xc3\xf2\x6c\xc9\xc9\xe0" } , { "\xbd\xe8\xc2\xe5\xa2" , "\x60\xc3\xf2\x6c\xc9\xc9\xe1" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\xcf\x60\xc3\xf2\x6d\xc9" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\x60\xc3\xf2\x6d\xc9\xe8" } , { "\xbd\xe8\xc4" , "\x60\xc3\xf2\x71\xf6" } , { "\xbd\xe8\xc4\xda" , "\x60\xc3\xf2\x71\xf6\xc9" } , { "\xbd\xe8\xc4\xe0" , "\x60\xc3\xf2\x71\xe8\xf6" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x60\xc3\xf2\x77\xf6\xc9" } , { "\xbd\xe8\xc5" , "\x60\xc3\xf2\x79\xc9" } , { "\xbd\xe8\xc6" , "\x60\xc3\xf2\x7b\xc9" } , { "\xbd\xe8\xc6\xa2" , "\x60\xc3\xf2\x7b\xc9\xc5" } , { "\xbd\xe8\xc6\xda" , "\x60\xc3\xf2\x7b\xc9\xc9" } , { "\xbd\xe8\xc6\xdb" , "\xce\x60\xc3\xf2\x7b\xc9" } , { "\xbd\xe8\xc6\xdb\xa2" , "\xcf\x60\xc3\xf2\x7b\xc9" } , { "\xbd\xe8\xc6\xdc" , "\x60\xc3\xf2\x7b\xc9\xd2" } , { "\xbd\xe8\xc6\xdc\xa2" , "\x60\xc3\xf2\x7b\xc9\xd3" } , { "\xbd\xe8\xc6\xdd" , "\x60\xc3\xf2\x7b\xc9\xd6" } , { "\xbd\xe8\xc6\xdd\xa2" , "\x60\xc3\xf2\x7b\xc9\xd6\xc5" } , { "\xbd\xe8\xc6\xde" , "\x60\xc3\xf2\x7b\xc9\xda" } , { "\xbd\xe8\xc6\xe0" , "\x60\xc3\xf2\x7b\xc9\xe8" } , { "\xbd\xe8\xc6\xe1" , "\x60\xc3\xf2\x7b\xc9\xe0" } , { "\xbd\xe8\xc6\xe1\xa2" , "\x60\xc3\xf2\x7b\xc9\xe1" } , { "\xbd\xe8\xc6\xe5" , "\x60\xc3\xf2\x7b\xc9\xc9\xe0" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x60\xc3\xf2\x7b\xab\xc9\xda" } , { "\xbd\xe8\xc8" , "\x60\xc3\xf2\x7e\xc9" } , { "\xbd\xe8\xc8\xda" , "\x60\xc3\xf2\x7e\xc9\xc9" } , { "\xbd\xe8\xc8\xdb" , "\xce\x60\xc3\xf2\x7e\xc9" } , { "\xbd\xe8\xc8\xdd" , "\x60\xc3\xf2\x7e\xc9\xd6" } , { "\xbd\xe8\xc8\xde" , "\x60\xc3\xf2\x7e\xc9\xda" } , { "\xbd\xe8\xc8\xe1" , "\x60\xc3\xf2\x7e\xc9\xe0" } , { "\xbd\xe8\xc8\xe2" , "\x60\xc3\xf2\x7e\xc9\xe4" } , { "\xbd\xe8\xc8\xe8\xcf" , "\x60\xc3\xf2\xa1\xc9" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\x60\xc3\xf2\xa1\xc9\xc9" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\x60\xc3\xf2\x7e\xb1\xc9\xe0" } , { "\xbd\xe8\xc9" , "\x60\xc3\xf2\xa3\xed" } , { "\xbd\xe8\xc9\xa2" , "\x60\xc3\xf2\xa3\xc5\xed" } , { "\xbd\xe8\xc9\xda" , "\x60\xc3\xf2\xa3\xed\xc9" } , { "\xbd\xe8\xc9\xda\xa2" , "\x60\xc3\xf2\xa3\xed\xc9\xc5" } , { "\xbd\xe8\xc9\xdb" , "\xce\x60\xc3\xf2\xa3\xed" } , { "\xbd\xe8\xc9\xdc" , "\x60\xc3\xf2\xa3\xed\xd2" } , { "\xbd\xe8\xc9\xdd" , "\x60\xc3\xf2\xa3\xd9\xed" } , { "\xbd\xe8\xc9\xe2" , "\x60\xc3\xf2\xa3\xe4\xed" } , { "\xbd\xe8\xc9\xe5" , "\x60\xc3\xf2\xa3\xed\xc9\xe0" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x60\xc3\xf2\xa2\xab\xc9\xc9" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x60\xc3\xf2\xa4\xe4\xed" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\x60\xc3\xf2\xa2\xb1\xc9\xe4" } , { "\xbd\xe8\xca" , "\x60\xc3\xf2\xa5\xc9" } , { "\xbd\xe8\xca\xda" , "\x60\xc3\xf2\xa5\xc9\xc9" } , { "\xbd\xe8\xca\xda\xa2" , "\x60\xc3\xf2\xa5\xc9\xc9\xc5" } , { "\xbd\xe8\xca\xdd" , "\x60\xc3\xf2\xa5\xc9\xd6" } , { "\xbd\xe8\xca\xe0" , "\x60\xc3\xf2\xa5\xc9\xe8" } , { "\xbd\xe8\xca\xe5" , "\x60\xc3\xf2\xa5\xc9\xc9\xe0" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x60\xc3\xf2\xa5\xab\xc9\xc9" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x60\xc3\xf2\xa5\xab\xc9\xc9\xc5" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\x60\xc3\xf2\xa5\xb1\xc9\xc9" } , { "\xbd\xe8\xcb\xdd" , "\x60\xc3\xf2\xa7\xc9\xd6" } , { "\xbd\xe8\xcb\xde" , "\x60\xc3\xf2\xa7\xc9\xda" } , { "\xbd\xe8\xcb\xe8\xcf" , "\x60\xc3\xf2\xa8\xc9" } , { "\xbd\xe8\xcc" , "\x60\xc3\xf2\xa9\xc9" } , { "\xbd\xe8\xcc\xa2" , "\x60\xc3\xf2\xa9\xc9\xc5" } , { "\xbd\xe8\xcc\xda" , "\x60\xc3\xf2\xa9\xc9\xc9" } , { "\xbd\xe8\xcc\xdc" , "\x60\xc3\xf2\xa9\xc9\xd2" } , { "\xbd\xe8\xcc\xe0" , "\x60\xc3\xf2\xa9\xc9\xe8" } , { "\xbd\xe8\xcc\xe0\xa2" , "\x60\xc3\xf2\xa9\xc9\xe9" } , { "\xbd\xe8\xcc\xe2" , "\x60\xc3\xf2\xa9\xc9\xe4" } , { "\xbd\xe8\xcc\xe4" , "\x60\xc3\xf2\xa9\xc9\xc9\xe8" } , { "\xbd\xe8\xcc\xe5" , "\x60\xc3\xf2\xa9\xc9\xc9\xe0" } , { "\xbd\xe8\xcc\xe8\xca" , "\x60\xc3\xf2\xa9\xa5\xc9" } , { "\xbd\xe8\xcd" , "\x60\xf2\xac" } , { "\xbd\xe8\xcd\xa2" , "\x60\xf2\xac\xc5" } , { "\xbd\xe8\xcd\xda" , "\x60\xf2\xac\xc9" } , { "\xbd\xe8\xcd\xda\xa2" , "\x60\xf2\xac\xc9\xc5" } , { "\xbd\xe8\xcd\xdc\xa2" , "\x60\xf2\xac\xd3" } , { "\xbd\xe8\xcd\xdd" , "\x60\xf2\xac\xd6" } , { "\xbd\xe8\xcd\xde" , "\x60\xf2\xac\xda" } , { "\xbd\xe8\xcd\xde\xa2" , "\x60\xf2\xac\xda\xc5" } , { "\xbd\xe8\xcd\xe1" , "\x60\xf2\xac\xe0" } , { "\xbd\xe8\xcd\xe4" , "\x60\xf2\xac\xc9\xe8" } , { "\xbd\xe8\xcd\xe5" , "\x60\xf2\xac\xc9\xe0" } , { "\xbd\xe8\xcd\xe5\xa2" , "\x60\xf2\xac\xc9\xe1" } , { "\xbd\xe8\xcf" , "\x60\xc4\xf2" } , { "\xbd\xe8\xcf\xa2" , "\x60\xc4\xc5\xf2" } , { "\xbd\xe8\xcf\xda" , "\x60\xc4\xf2\xc9" } , { "\xbd\xe8\xcf\xda\xa1" , "\x60\xc4\xf2\xc9\xc6" } , { "\xbd\xe8\xcf\xda\xa2" , "\x60\xc4\xf2\xc9\xc5" } , { "\xbd\xe8\xcf\xdb" , "\xca\x60\xc4\xf2" } , { "\xbd\xe8\xcf\xdb\xa2" , "\xcb\x60\xc4\xf2" } , { "\xbd\xe8\xcf\xdc" , "\x60\xc4\xf2\xd2" } , { "\xbd\xe8\xcf\xdd" , "\x60\xd7\xf2" } , { "\xbd\xe8\xcf\xde" , "\x60\xdb\xf2" } , { "\xbd\xe8\xcf\xe0" , "\x60\xc4\xe8\xf2" } , { "\xbd\xe8\xcf\xe0\xa2" , "\x60\xc4\xe9\xf2" } , { "\xbd\xe8\xcf\xe1" , "\x60\xc4\xe0\xf2" } , { "\xbd\xe8\xcf\xe1\xa2" , "\x60\xc4\xe1\xf2" } , { "\xbd\xe8\xcf\xe2" , "\x60\xc4\xe4\xf2" } , { "\xbd\xe8\xcf\xe2\xa2" , "\x60\xc4\xe5\xf2" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\x60\xc4\xe4\xf2\x7b\xc9\xc3" } , { "\xbd\xe8\xcf\xe4" , "\x60\xc4\xf2\xc9\xe8" } , { "\xbd\xe8\xcf\xe5" , "\x60\xc4\xf2\xc9\xe0" } , { "\xbd\xe8\xcf\xe6" , "\x60\xc4\xf2\xc9\xe4" } , { "\xbd\xe8\xcf\xe7" , "\x60\xc4\xf2\xc9\xe8" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\xce\x60\xc3\xf2\xad\xc3\xf7\x48\xed" } , { "\xbd\xe8\xcf\xe8\xc6" , "\x60\xc3\xf2\xad\xc3\xf7\x7b\xc9" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x60\xc3\xf2\xad\xc3\xf7\xbb\xc9" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x60\xc3\xf2\xad\xc3\xf7\xbb\xc9\xc3" } , { "\xbd\xe8\xd1" , "\x60\xc3\xf2\xb1\xc9" } , { "\xbd\xe8\xd1\xa2" , "\x60\xc3\xf2\xb1\xc9\xc5" } , { "\xbd\xe8\xd1\xda" , "\x60\xc3\xf2\xb1\xc9\xc9" } , { "\xbd\xe8\xd1\xda\xa2" , "\x60\xc3\xf2\xb1\xc9\xc9\xc5" } , { "\xbd\xe8\xd1\xdb" , "\xce\x60\xc3\xf2\xb1\xc9" } , { "\xbd\xe8\xd1\xdb\xa2" , "\xcf\x60\xc3\xf2\xb1\xc9" } , { "\xbd\xe8\xd1\xdc" , "\x60\xc3\xf2\xb1\xc9\xd2" } , { "\xbd\xe8\xd1\xdd" , "\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xbd\xe8\xd1\xdd\xa2" , "\x60\xc3\xf2\xb1\xc9\xd6\xc5" } , { "\xbd\xe8\xd1\xde" , "\x60\xc3\xf2\xb1\xc9\xda" } , { "\xbd\xe8\xd1\xe0" , "\x60\xc3\xf2\xb1\xc9\xe8" } , { "\xbd\xe8\xd1\xe0\xa2" , "\x60\xc3\xf2\xb1\xc9\xe9" } , { "\xbd\xe8\xd1\xe1" , "\x60\xc3\xf2\xb1\xc9\xe0" } , { "\xbd\xe8\xd1\xe2" , "\x60\xc3\xf2\xb1\xc9\xe4" } , { "\xbd\xe8\xd1\xe2\xa2" , "\x60\xc3\xf2\xb1\xc9\xe5" } , { "\xbd\xe8\xd1\xe4" , "\x60\xc3\xf2\xb1\xc9\xc9\xe8" } , { "\xbd\xe8\xd1\xe5" , "\x60\xc3\xf2\xb1\xc9\xc9\xe0" } , { "\xbd\xe8\xd1\xe5\xa2" , "\x60\xc3\xf2\xb1\xc9\xc9\xe1" } , { "\xbd\xe8\xd1\xe8" , "\x60\xc3\xf2\xb1\xc9\xc3" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\x60\xc3\xf2\xb1\x7b\xc9\xd6" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x60\xc3\xf2\xb1\xab\xc9\xc9\xc5" } , { "\xbd\xe8\xd2\xdd" , "\x60\xc3\xf2\xb3\xd6" } , { "\xbd\xe8\xd4" , "\x60\xc3\xf2\xb4\xc9" } , { "\xbd\xe8\xd4\xa2" , "\x60\xc3\xf2\xb4\xc9\xc5" } , { "\xbd\xe8\xd4\xda" , "\x60\xc3\xf2\xb4\xc9\xc9" } , { "\xbd\xe8\xd4\xda\xa2" , "\x60\xc3\xf2\xb4\xc9\xc9\xc5" } , { "\xbd\xe8\xd4\xdb" , "\xce\x60\xc3\xf2\xb4\xc9" } , { "\xbd\xe8\xd4\xdb\xa2" , "\xcf\x60\xc3\xf2\xb4\xc9" } , { "\xbd\xe8\xd4\xdc" , "\x60\xc3\xf2\xb4\xc9\xd2" } , { "\xbd\xe8\xd4\xe0" , "\x60\xc3\xf2\xb4\xc9\xe8" } , { "\xbd\xe8\xd4\xe1" , "\x60\xc3\xf2\xb4\xc9\xe0" } , { "\xbd\xe8\xd4\xe2" , "\x60\xc3\xf2\xb4\xc9\xe4" } , { "\xbd\xe8\xd5" , "\x60\xc3\xf2\xb6\xc9" } , { "\xbd\xe8\xd5\xda" , "\x60\xc3\xf2\xb6\xc9\xc9" } , { "\xbd\xe8\xd5\xdb" , "\xce\x60\xc3\xf2\xb6\xc9" } , { "\xbd\xe8\xd6\xdb" , "\xce\x60\xc3\xf2\xba\xc9" } , { "\xbd\xe8\xd6\xdc" , "\x60\xc3\xf2\xba\xc9\xd2" } , { "\xbd\xe8\xd6\xdd" , "\x60\xc3\xf2\xba\xc9\xd6" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\xce\x60\xc3\xf2\xba\xb1\xc9" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\x60\xc3\xf2\xba\xb1\xc9\xd2" } , { "\xbd\xe8\xd7" , "\x60\xc3\xf2\xbb\xc9" } , { "\xbd\xe8\xd7\xda" , "\x60\xc3\xf2\xbb\xc9\xc9" } , { "\xbd\xe8\xd7\xdb" , "\xce\x60\xc3\xf2\xbb\xc9" } , { "\xbd\xe8\xd7\xdb\xa2" , "\xcf\x60\xc3\xf2\xbb\xc9" } , { "\xbd\xe8\xd7\xdd" , "\x60\xc3\xf2\xbb\xc9\xd6" } , { "\xbd\xe8\xd7\xde" , "\x60\xc3\xf2\xbb\xc9\xda" } , { "\xbd\xe8\xd7\xe0" , "\x60\xc3\xf2\xbb\xc9\xe8" } , { "\xbd\xe8\xd7\xe1" , "\x60\xc3\xf2\xbb\xc9\xe0" } , { "\xbd\xe8\xd7\xe2" , "\x60\xc3\xf2\xbb\xc9\xe4" } , { "\xbd\xe8\xd7\xe5" , "\x60\xc3\xf2\xbb\xc9\xc9\xe0" } , { "\xbd\xe8\xd7\xe8" , "\x60\xc3\xf2\xbb\xc9\xc3" } , { "\xbd\xe8\xd7\xe8\xb3" , "\x60\xc3\xf2\xbb\x48\xed" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\xce\x60\xc3\xf2\xbb\x48\xed" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\x60\xc3\xf2\xbb\x48\xed\xd2" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\x60\xc3\xf2\xbb\x48\xd6\xed" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x60\xc3\xf2\xbb\x4e\xc9\xc9" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\xce\x60\xc3\xf2\xbb\x53\xc9" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x60\xc3\xf2\xbb\x53\xc9\xe8" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x60\xc3\xf2\xbb\x60\xf2" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x60\xc3\xf2\xbb\x60\xf2\xc9" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x60\xc3\xf2\xbb\x60\xe8\xf2" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x60\xc3\xf2\xbb\x60\xe9\xf2" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\x60\xc3\xf2\xbb\x6c\xc9\xc9\xe0" } , { "\xbd\xe8\xd7\xe8\xc3" , "\x60\xc3\xf2\xbb\x6f\xc9" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x60\xc3\xf2\xbb\x71\xf6" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x60\xc3\xf2\xbb\x77\xf6\xc9" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\xce\x60\xc3\xf2\xbb\x7b\xc9" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\x60\xc3\xf2\xbb\x7b\xc9\xd6" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\x60\xc3\xf2\xbb\x7b\xc9\xd6\xc5" } , { "\xbd\xe8\xd7\xe8\xca" , "\x60\xc3\xf2\xbb\xa5\xc9" } , { "\xbd\xe8\xd7\xe8\xcc" , "\x60\xc3\xf2\xbb\xa9\xc9" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\xce\x60\xc3\xf2\xbb\xa9\xc9" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\x60\xc3\xf2\xbb\xa9\xc9\xe0" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x60\xc3\xf2\xbb\xab\xc9\xc5" } , { "\xbd\xe8\xd7\xe8\xd1" , "\x60\xc3\xf2\xbb\xb1\xc9" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\x60\xc3\xf2\xbb\xb1\xc9\xc9\xe0" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x60\xc3\xf2\xbb\xb4\xc9" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\xcf\x60\xc3\xf2\xbb\xb4\xc9" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x60\xc3\xf2\xbb\xb4\xc9\xc9\xe0" } , { "\xbd\xe8\xd8\xda" , "\x60\xc3\xf2\xbe\xfa\xc9" } , { "\xbd\xe8\xd8\xdc" , "\x60\xc3\xf2\xbe\xfa\xd2" } , { "\xbd\xe8\xd8\xde" , "\x60\xc3\xf2\xbe\xda\xfa" } , { "\xbd\xe8\xd8\xe0" , "\x60\xc3\xf2\xbe\xe8\xfa" } , { "\xbd\xe8\xd8\xe5" , "\x60\xc3\xf2\xbe\xfa\xc9\xe0" } , { "\xbd\xe8\xd8\xe6" , "\x60\xc3\xf2\xbe\xfa\xc9\xe4" } , { "\xbd\xe8\xd9\xa6" , "\x60\xc3\xf2\x3c" } , { "\xbd\xe8\xd9\xbd" , "\x60\xc3\xf2\x60\xf2" } , { "\xbd\xe8\xd9\xbd\xda" , "\x60\xc3\xf2\x60\xf2\xc9" } , { "\xbd\xe8\xd9\xbd\xdc" , "\x60\xc3\xf2\x60\xf2\xd2" } , { "\xbd\xe8\xd9\xbd\xe5" , "\x60\xc3\xf2\x60\xf2\xc9\xe0" } , { "\xbd\xe8\xd9\xbe\xdc" , "\x60\xc3\xf2\x63\xf3\xd2" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\x60\xc3\xf2\xab\xc9\xda\xc5" } , { "\xbd\xe8\xd9\xd7" , "\x60\xc3\xf2\xbb\xc9" } , { "\xbd\xe8\xe8" , "\x60\xc3\xf2" } , { "\xbe" , "\x63\xf3" } , { "\xbe\xa2" , "\x63\xc5\xf3" } , { "\xbe\xa3" , "\x63\xf3\x26" } , { "\xbe\xda" , "\x63\xf3\xc9" } , { "\xbe\xda\xa1" , "\x63\xf3\xc9\xc6" } , { "\xbe\xda\xa2" , "\x63\xf3\xc9\xc5" } , { "\xbe\xdb" , "\xca\x63\xf3" } , { "\xbe\xdb\xa2" , "\xcb\x63\xf3" } , { "\xbe\xdc" , "\x63\xf3\xd2" } , { "\xbe\xdc\xa2" , "\x63\xf3\xd3" } , { "\xbe\xdd" , "\x63\xd6\xf3" } , { "\xbe\xdd\xa2" , "\x63\xd6\xc5\xf3" } , { "\xbe\xde" , "\x63\xda\xf3" } , { "\xbe\xde\xa1" , "\x63\xda\xc6\xf3" } , { "\xbe\xde\xa2" , "\x63\xda\xc5\xf3" } , { "\xbe\xdf" , "\x63\xde\xf3" } , { "\xbe\xe0" , "\x63\xe8\xf3" } , { "\xbe\xe1" , "\x63\xe0\xf3" } , { "\xbe\xe1\xa2" , "\x63\xe1\xf3" } , { "\xbe\xe2" , "\x63\xe4\xf3" } , { "\xbe\xe2\xa2" , "\x63\xe5\xf3" } , { "\xbe\xe3" , "\x63\xe8\xf3" } , { "\xbe\xe4" , "\x63\xf3\xc9\xe8" } , { "\xbe\xe5" , "\x63\xf3\xc9\xe0" } , { "\xbe\xe5\xa2" , "\x63\xf3\xc9\xe1" } , { "\xbe\xe6" , "\x63\xf3\xc9\xe4" } , { "\xbe\xe8" , "\x63\xc3\xf3" } , { "\xbe\xe8\xb3" , "\x63\xc3\xf3\x48\xed" } , { "\xbe\xe8\xb3\xdd" , "\x63\xc3\xf3\x48\xd6\xed" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x63\xc3\xf3\x4a\xed" } , { "\xbe\xe8\xb5\xe5" , "\x63\xc3\xf3\x4e\xc9\xc9\xe0" } , { "\xbe\xe8\xb8" , "\x63\xc3\xf3\x53\xc9" } , { "\xbe\xe8\xbd" , "\x63\xc3\xf3\x60\xf2" } , { "\xbe\xe8\xbd\xda" , "\x63\xc3\xf3\x60\xf2\xc9" } , { "\xbe\xe8\xbd\xdb" , "\xce\x63\xc3\xf3\x60\xf2" } , { "\xbe\xe8\xbd\xdc" , "\x63\xc3\xf3\x60\xf2\xd2" } , { "\xbe\xe8\xbe" , "\x63\xc3\xf3\x63\xf3" } , { "\xbe\xe8\xbe\xda" , "\x63\xc3\xf3\x63\xf3\xc9" } , { "\xbe\xe8\xbe\xdb" , "\xce\x63\xc3\xf3\x63\xf3" } , { "\xbe\xe8\xbe\xdc" , "\x63\xc3\xf3\x63\xf3\xd2" } , { "\xbe\xe8\xbe\xe1" , "\x63\xc3\xf3\x63\xe0\xf3" } , { "\xbe\xe8\xbe\xe5" , "\x63\xc3\xf3\x63\xf3\xc9\xe0" } , { "\xbe\xe8\xc6" , "\x63\xc3\xf3\x7b\xc9" } , { "\xbe\xe8\xc8\xda" , "\x63\xc3\xf3\x7e\xc9\xc9" } , { "\xbe\xe8\xcd" , "\x63\xf3\xac" } , { "\xbe\xe8\xcd\xa2" , "\x63\xf3\xac\xc5" } , { "\xbe\xe8\xcd\xda" , "\x63\xf3\xac\xc9" } , { "\xbe\xe8\xcd\xda\xa1" , "\x63\xf3\xac\xc9\xc6" } , { "\xbe\xe8\xcd\xda\xa2" , "\x63\xf3\xac\xc9\xc5" } , { "\xbe\xe8\xcd\xe1" , "\x63\xf3\xac\xe0" } , { "\xbe\xe8\xcd\xe5" , "\x63\xf3\xac\xc9\xe0" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x63\xf3\xac\xc9\xe1" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x63\xc3\xf3\xab\xab\xc9" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x63\xc3\xf3\xab\xc9\xc4" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x63\xc3\xf3\xab\xb6\xc9\xc9" } , { "\xbe\xe8\xcf\xda" , "\x63\xc4\xf3\xc9" } , { "\xbe\xe8\xd1\xdd" , "\x63\xc3\xf3\xb1\xc9\xd6" } , { "\xbe\xe8\xd4\xda" , "\x63\xc3\xf3\xb4\xc9\xc9" } , { "\xbe\xe8\xd9\xcd" , "\x63\xc3\xf3\xab\xc9" } , { "\xbe\xe8\xe8" , "\x63\xc3\xf3" } , { "\xbf" , "\x65\xf4" } , { "\xbf\xa1" , "\x65\xc6\xf4" } , { "\xbf\xa2" , "\x65\xc5\xf4" } , { "\xbf\xa2\xa2" , "\x65\xc5\xf4\xc5" } , { "\xbf\xa3" , "\x65\xf4\x26" } , { "\xbf\xda" , "\x65\xf4\xc9" } , { "\xbf\xda\xa1" , "\x65\xf4\xc9\xc6" } , { "\xbf\xda\xa2" , "\x65\xf4\xc9\xc5" } , { "\xbf\xda\xa3" , "\x65\xf4\xc9\x26" } , { "\xbf\xdb" , "\xca\x65\xf4" } , { "\xbf\xdb\xa2" , "\xcb\x65\xf4" } , { "\xbf\xdb\xa3" , "\xca\x65\xf4\x26" } , { "\xbf\xdc" , "\x65\xf4\xd2" } , { "\xbf\xdc\xa2" , "\x65\xf4\xd3" } , { "\xbf\xdd" , "\x65\xd6\xf4" } , { "\xbf\xdd\xa2" , "\x65\xd6\xc5\xf4" } , { "\xbf\xde" , "\x65\xda\xf4" } , { "\xbf\xde\xa1" , "\x65\xda\xc6\xf4" } , { "\xbf\xde\xa2" , "\x65\xda\xc5\xf4" } , { "\xbf\xdf" , "\x65\xde\xf4" } , { "\xbf\xe0" , "\x65\xe8\xf4" } , { "\xbf\xe0\xa1" , "\x65\xe9\xf4" } , { "\xbf\xe0\xa2" , "\x65\xe9\xf4" } , { "\xbf\xe1" , "\x65\xe0\xf4" } , { "\xbf\xe1\xa2" , "\x65\xe1\xf4" } , { "\xbf\xe2" , "\x65\xe4\xf4" } , { "\xbf\xe2\xa2" , "\x65\xe5\xf4" } , { "\xbf\xe2\xa3" , "\x65\xe4\xf4\x26" } , { "\xbf\xe4" , "\x65\xf4\xc9\xe8" } , { "\xbf\xe4\xa2" , "\x65\xf4\xc9\xe9" } , { "\xbf\xe5" , "\x65\xf4\xc9\xe0" } , { "\xbf\xe5\xa2" , "\x65\xf4\xc9\xe1" } , { "\xbf\xe6" , "\x65\xf4\xc9\xe4" } , { "\xbf\xe6\xa2" , "\x65\xf4\xc9\xe5" } , { "\xbf\xe7" , "\x65\xf4\xc9\xe8" } , { "\xbf\xe7\xa2" , "\x65\xf4\xc9\xe9" } , { "\xbf\xe8" , "\x65\xc3\xf4" } , { "\xbf\xe8\xb3" , "\x65\xc3\xf4\x48\xed" } , { "\xbf\xe8\xb3\xa2" , "\x65\xc3\xf4\x48\xc5\xed" } , { "\xbf\xe8\xb3\xda" , "\x65\xc3\xf4\x48\xed\xc9" } , { "\xbf\xe8\xb3\xdb" , "\xce\x65\xc3\xf4\x48\xed" } , { "\xbf\xe8\xb3\xdc" , "\x65\xc3\xf4\x48\xed\xd2" } , { "\xbf\xe8\xb3\xdd" , "\x65\xc3\xf4\x48\xd6\xed" } , { "\xbf\xe8\xb3\xde" , "\x65\xc3\xf4\x48\xda\xed" } , { "\xbf\xe8\xb3\xe1" , "\x65\xc3\xf4\x48\xe0\xed" } , { "\xbf\xe8\xb3\xe4" , "\x65\xc3\xf4\x48\xed\xc9\xe8" } , { "\xbf\xe8\xb3\xe5" , "\x65\xc3\xf4\x48\xed\xc9\xe0" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x65\xc3\xf4\x47\x4e\xc9\xc9" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\x65\xc3\xf4\x4a\xed\xc9" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\x65\xc3\xf4\x47\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x65\xc3\xf4\x47\xb4\xc9\xc9" } , { "\xbf\xe8\xb4" , "\x65\xc3\xf4\x4c\xc9" } , { "\xbf\xe8\xb5" , "\x65\xc3\xf4\x4e\xc9" } , { "\xbf\xe8\xb5\xa2" , "\x65\xc3\xf4\x4e\xc9\xc5" } , { "\xbf\xe8\xb5\xda" , "\x65\xc3\xf4\x4e\xc9\xc9" } , { "\xbf\xe8\xb5\xdb" , "\xce\x65\xc3\xf4\x4e\xc9" } , { "\xbf\xe8\xb5\xdd" , "\x65\xc3\xf4\x4e\xc9\xd6" } , { "\xbf\xe8\xb5\xde" , "\x65\xc3\xf4\x4e\xc9\xda" } , { "\xbf\xe8\xb5\xe0" , "\x65\xc3\xf4\x4e\xc9\xe8" } , { "\xbf\xe8\xb5\xe1" , "\x65\xc3\xf4\x4e\xc9\xe0" } , { "\xbf\xe8\xb5\xe5\xa2" , "\x65\xc3\xf4\x4e\xc9\xc9\xe1" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\x65\xc3\xf4\x4f\xc9\xc9" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\x65\xc3\xf4\x4e\xb1\xc9\xc9" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\x65\xc3\xf4\x4e\xb1\xc9\xe4" } , { "\xbf\xe8\xb6" , "\x65\xc3\xf4\x50\xc9" } , { "\xbf\xe8\xb8" , "\x65\xc3\xf4\x53\xc9" } , { "\xbf\xe8\xb8\xda" , "\x65\xc3\xf4\x53\xc9\xc9" } , { "\xbf\xe8\xb8\xda\xa2" , "\x65\xc3\xf4\x53\xc9\xc9\xc5" } , { "\xbf\xe8\xb8\xdb" , "\xce\x65\xc3\xf4\x53\xc9" } , { "\xbf\xe8\xb8\xdb\xa2" , "\xcf\x65\xc3\xf4\x53\xc9" } , { "\xbf\xe8\xb8\xdc" , "\x65\xc3\xf4\x53\xc9\xd2" } , { "\xbf\xe8\xb8\xdd" , "\x65\xc3\xf4\x53\xc9\xd6" } , { "\xbf\xe8\xb8\xe0" , "\x65\xc3\xf4\x53\xc9\xe8" } , { "\xbf\xe8\xb8\xe1" , "\x65\xc3\xf4\x53\xc9\xe0" } , { "\xbf\xe8\xb8\xe1\xa2" , "\x65\xc3\xf4\x53\xc9\xe1" } , { "\xbf\xe8\xb9\xda\xa2" , "\x65\xc3\xf4\x55\xef\xc9\xc5" } , { "\xbf\xe8\xba" , "\x65\xc3\xf4\x57\xf0" } , { "\xbf\xe8\xba\xa2" , "\x65\xc3\xf4\x57\xc5\xf0" } , { "\xbf\xe8\xba\xda" , "\x65\xc3\xf4\x58" } , { "\xbf\xe8\xba\xdb" , "\xce\x65\xc3\xf4\x57\xf0" } , { "\xbf\xe8\xba\xdb\xa2" , "\xcf\x65\xc3\xf4\x57\xf0" } , { "\xbf\xe8\xba\xdc" , "\x65\xc3\xf4\x59\xf0" } , { "\xbf\xe8\xba\xdd" , "\x65\xc3\xf4\x57\xd6\xf0" } , { "\xbf\xe8\xba\xe0" , "\x65\xc3\xf4\x57\xf0\xe8" } , { "\xbf\xe8\xba\xe1" , "\x65\xc3\xf4\x57\xf0\xe0" } , { "\xbf\xe8\xba\xe2" , "\x65\xc3\xf4\x57\xf0\xe4" } , { "\xbf\xe8\xba\xe5" , "\x65\xc3\xf4\x58\xe0" } , { "\xbf\xe8\xba\xe8" , "\x65\xc3\xf4\x57\xc3\xf0" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\xce\x65\xc3\xf4\x56\x48\xed" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x65\xc3\xf4\x56\x4e\xc9\xc9" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\xce\x65\xc3\xf4\x56\x7b\xc9" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\x65\xc3\xf4\x56\x7b\xc9\xd6" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\x65\xc3\xf4\x56\x7b\xc9\xc3" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\x65\xc3\xf4\x56\xa9\xc9\xe9" } , { "\xbf\xe8\xba\xe8\xcd" , "\x65\xc3\xf4\x56\xab\xc9" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x65\xc3\xf4\x56\xab\xc9\xc9" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x65\xc3\xf4\x56\xab\xc9\xda" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\x65\xc3\xf4\x56\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\xce\x65\xc3\xf4\x56\xb4\xc9" } , { "\xbf\xe8\xba\xe9" , "\x65\xc3\xf4\x57\xf0" } , { "\xbf\xe8\xbc" , "\x65\xc3\xf4\x5f\xc9" } , { "\xbf\xe8\xbd" , "\x65\xc3\xf4\x60\xf2" } , { "\xbf\xe8\xbd\xa2" , "\x65\xc3\xf4\x60\xc5\xf2" } , { "\xbf\xe8\xbd\xda\xa2" , "\x65\xc3\xf4\x60\xf2\xc9\xc5" } , { "\xbf\xe8\xbd\xdb" , "\xce\x65\xc3\xf4\x60\xf2" } , { "\xbf\xe8\xbd\xdd" , "\x65\xc3\xf4\x60\xd6\xf2" } , { "\xbf\xe8\xbd\xe0" , "\x65\xc3\xf4\x60\xe8\xf2" } , { "\xbf\xe8\xbd\xe1" , "\x65\xc3\xf4\x60\xe0\xf2" } , { "\xbf\xe8\xbd\xe8" , "\x65\xc3\xf4\x60\xc3\xf2" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\x65\xc3\xf4\x60\xc4\xc5\xf2" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\x65\xc3\xf4\x60\xc4\xf2\xc9" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\x65\xc3\xf4\x60\xc4\xe4\xf2" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x65\xc3\xf4\x60\xc3\xf2\xbb\xc9" } , { "\xbf\xe8\xbf" , "\x65\xc3\xf4\x65\xf4" } , { "\xbf\xe8\xbf\xa2" , "\x65\xc3\xf4\x65\xc5\xf4" } , { "\xbf\xe8\xbf\xa3" , "\x65\xc3\xf4\x65\xf4\x26" } , { "\xbf\xe8\xbf\xda" , "\x65\xc3\xf4\x65\xf4\xc9" } , { "\xbf\xe8\xbf\xda\xa2" , "\x65\xc3\xf4\x65\xf4\xc9\xc5" } , { "\xbf\xe8\xbf\xdb" , "\xce\x65\xc3\xf4\x65\xf4" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xcf\x65\xc3\xf4\x65\xf4" } , { "\xbf\xe8\xbf\xdc" , "\x65\xc3\xf4\x65\xf4\xd2" } , { "\xbf\xe8\xbf\xdd" , "\x65\xc3\xf4\x65\xd6\xf4" } , { "\xbf\xe8\xbf\xdd\xa2" , "\x65\xc3\xf4\x65\xd6\xc5\xf4" } , { "\xbf\xe8\xbf\xde" , "\x65\xc3\xf4\x65\xda\xf4" } , { "\xbf\xe8\xbf\xe0" , "\x65\xc3\xf4\x65\xe8\xf4" } , { "\xbf\xe8\xbf\xe1" , "\x65\xc3\xf4\x65\xe0\xf4" } , { "\xbf\xe8\xbf\xe2" , "\x65\xc3\xf4\x65\xe4\xf4" } , { "\xbf\xe8\xbf\xe4" , "\x65\xc3\xf4\x65\xf4\xc9\xe8" } , { "\xbf\xe8\xbf\xe5" , "\x65\xc3\xf4\x65\xf4\xc9\xe0" } , { "\xbf\xe8\xbf\xe5\xa2" , "\x65\xc3\xf4\x65\xf4\xc9\xe1" } , { "\xbf\xe8\xbf\xe8" , "\x65\xc3\xf4\x65\xc3\xf4" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x65\xc3\xf4\x65\xc3\xf4\x48\xd6\xed" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\xce\x65\xc3\xf4\x65\xc3\xf4\x65\xf4" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\x65\xc3\xf4\x65\xc3\xf4\xb1\xc9\xd6" } , { "\xbf\xe8\xbf\xe9\xdc" , "\x65\xc3\xf4\x65\xf4\xd2" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\x65\xc3\xf4\x65\xf4\xc9\xe1" } , { "\xbf\xe8\xc0" , "\x65\xc3\xf4\x68\xf5" } , { "\xbf\xe8\xc0\xa2" , "\x65\xc3\xf4\x68\xc5\xf5" } , { "\xbf\xe8\xc0\xda" , "\x65\xc3\xf4\x68\xf5\xc9" } , { "\xbf\xe8\xc0\xdc" , "\x65\xc3\xf4\x68\xf5\xd2" } , { "\xbf\xe8\xc0\xdd" , "\x65\xc3\xf4\x68\xd6\xf5" } , { "\xbf\xe8\xc0\xe1" , "\x65\xc3\xf4\x68\xe0\xf5" } , { "\xbf\xe8\xc0\xe5\xa2" , "\x65\xc3\xf4\x68\xf5\xc9\xe1" } , { "\xbf\xe8\xc0\xe9\xda" , "\x65\xc3\xf4\x68\xf5\xc9" } , { "\xbf\xe8\xc0\xe9\xe1" , "\x65\xc3\xf4\x68\xe0\xf5" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\x65\xc3\xf4\x68\xf5\xc9\xe1" } , { "\xbf\xe8\xc1" , "\x65\xc3\xf4\x69\xc9" } , { "\xbf\xe8\xc2" , "\x65\xc3\xf4\x6c\xc9" } , { "\xbf\xe8\xc2\xa2" , "\x65\xc3\xf4\x6c\xc9\xc5" } , { "\xbf\xe8\xc2\xda" , "\x65\xc3\xf4\x6c\xc9\xc9" } , { "\xbf\xe8\xc2\xdb" , "\xce\x65\xc3\xf4\x6c\xc9" } , { "\xbf\xe8\xc2\xdd" , "\x65\xc3\xf4\x6c\xc9\xd6" } , { "\xbf\xe8\xc2\xdd\xa2" , "\x65\xc3\xf4\x6c\xc9\xd6\xc5" } , { "\xbf\xe8\xc2\xde" , "\x65\xc3\xf4\x6c\xc9\xda" } , { "\xbf\xe8\xc2\xde\xa2" , "\x65\xc3\xf4\x6c\xc9\xda\xc5" } , { "\xbf\xe8\xc2\xe0" , "\x65\xc3\xf4\x6c\xc9\xe8" } , { "\xbf\xe8\xc2\xe1" , "\x65\xc3\xf4\x6c\xc9\xe0" } , { "\xbf\xe8\xc2\xe5" , "\x65\xc3\xf4\x6c\xc9\xc9\xe0" } , { "\xbf\xe8\xc2\xe5\xa2" , "\x65\xc3\xf4\x6c\xc9\xc9\xe1" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\x65\xc3\xf4\x6d\xc9\xe4" } , { "\xbf\xe8\xc4\xda" , "\x65\xc3\xf4\x71\xf6\xc9" } , { "\xbf\xe8\xc4\xdb" , "\xce\x65\xc3\xf4\x71\xf6" } , { "\xbf\xe8\xc4\xdd" , "\x65\xc3\xf4\x71\xd6\xf6" } , { "\xbf\xe8\xc4\xe0" , "\x65\xc3\xf4\x71\xe8\xf6" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x65\xc3\xf4\x77\xf6\xc9" } , { "\xbf\xe8\xc5" , "\x65\xc3\xf4\x79\xc9" } , { "\xbf\xe8\xc6" , "\x65\xc3\xf4\x7b\xc9" } , { "\xbf\xe8\xc6\xa2" , "\x65\xc3\xf4\x7b\xc9\xc5" } , { "\xbf\xe8\xc6\xda" , "\x65\xc3\xf4\x7b\xc9\xc9" } , { "\xbf\xe8\xc6\xdb" , "\xce\x65\xc3\xf4\x7b\xc9" } , { "\xbf\xe8\xc6\xdb\xa2" , "\xcf\x65\xc3\xf4\x7b\xc9" } , { "\xbf\xe8\xc6\xdc" , "\x65\xc3\xf4\x7b\xc9\xd2" } , { "\xbf\xe8\xc6\xdd" , "\x65\xc3\xf4\x7b\xc9\xd6" } , { "\xbf\xe8\xc6\xdd\xa2" , "\x65\xc3\xf4\x7b\xc9\xd6\xc5" } , { "\xbf\xe8\xc6\xe0" , "\x65\xc3\xf4\x7b\xc9\xe8" } , { "\xbf\xe8\xc6\xe1" , "\x65\xc3\xf4\x7b\xc9\xe0" } , { "\xbf\xe8\xc6\xe2" , "\x65\xc3\xf4\x7b\xc9\xe4" } , { "\xbf\xe8\xc6\xe5" , "\x65\xc3\xf4\x7b\xc9\xc9\xe0" } , { "\xbf\xe8\xc6\xe6" , "\x65\xc3\xf4\x7b\xc9\xc9\xe4" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\x65\xc3\xf4\x7b\x6c\xc9\xc5" } , { "\xbf\xe8\xc8" , "\x65\xc3\xf4\x7e\xc9" } , { "\xbf\xe8\xc8\xa2" , "\x65\xc3\xf4\x7e\xc9\xc5" } , { "\xbf\xe8\xc8\xda" , "\x65\xc3\xf4\x7e\xc9\xc9" } , { "\xbf\xe8\xc8\xdb\xa2" , "\xcf\x65\xc3\xf4\x7e\xc9" } , { "\xbf\xe8\xc8\xdd" , "\x65\xc3\xf4\x7e\xc9\xd6" } , { "\xbf\xe8\xc8\xde" , "\x65\xc3\xf4\x7e\xc9\xda" } , { "\xbf\xe8\xc8\xe2" , "\x65\xc3\xf4\x7e\xc9\xe4" } , { "\xbf\xe8\xc8\xe4" , "\x65\xc3\xf4\x7e\xc9\xc9\xe8" } , { "\xbf\xe8\xc8\xe5" , "\x65\xc3\xf4\x7e\xc9\xc9\xe0" } , { "\xbf\xe8\xc8\xe8\xcf" , "\x65\xc3\xf4\xa1\xc9" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\xce\x65\xc3\xf4\xa1\xc9" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\x65\xc3\xf4\xa1\xc9\xda" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\x65\xc3\xf4\xa1\xc9\xe8" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\x65\xc3\xf4\x7e\xb1\xc9\xc9" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\x65\xc3\xf4\x7e\xb1\xc9\xe0" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\x65\xc3\xf4\x7e\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xc9\xda" , "\x65\xc3\xf4\xa3\xed\xc9" } , { "\xbf\xe8\xc9\xdb" , "\xce\x65\xc3\xf4\xa3\xed" } , { "\xbf\xe8\xc9\xdc" , "\x65\xc3\xf4\xa3\xed\xd2" } , { "\xbf\xe8\xc9\xdd" , "\x65\xc3\xf4\xa3\xd9\xed" } , { "\xbf\xe8\xc9\xe0" , "\x65\xc3\xf4\xa3\xe8\xed" } , { "\xbf\xe8\xc9\xe2" , "\x65\xc3\xf4\xa3\xe4\xed" } , { "\xbf\xe8\xc9\xe5" , "\x65\xc3\xf4\xa3\xed\xc9\xe0" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\x65\xc3\xf4\xa4\xed\xd2" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\x65\xc3\xf4\xa2\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xca" , "\x65\xc3\xf4\xa5\xc9" } , { "\xbf\xe8\xca\xa2" , "\x65\xc3\xf4\xa5\xc9\xc5" } , { "\xbf\xe8\xca\xda" , "\x65\xc3\xf4\xa5\xc9\xc9" } , { "\xbf\xe8\xca\xdb" , "\xce\x65\xc3\xf4\xa5\xc9" } , { "\xbf\xe8\xca\xdc" , "\x65\xc3\xf4\xa5\xc9\xd2" } , { "\xbf\xe8\xca\xdd" , "\x65\xc3\xf4\xa5\xc9\xd6" } , { "\xbf\xe8\xca\xe0" , "\x65\xc3\xf4\xa5\xc9\xe8" } , { "\xbf\xe8\xca\xe2" , "\x65\xc3\xf4\xa5\xc9\xe4" } , { "\xbf\xe8\xca\xe5" , "\x65\xc3\xf4\xa5\xc9\xc9\xe0" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\x65\xc3\xf4\xa5\xa5\xc9\xd2" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x65\xc3\xf4\xa5\xab\xc9\xc9" } , { "\xbf\xe8\xca\xe8\xcf" , "\x65\xc3\xf4\xa6\xc9" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\x65\xc3\xf4\xa6\xc9\xe8" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\x65\xc3\xf4\xa5\xb1\xab\xc9\xda" } , { "\xbf\xe8\xcb\xda" , "\x65\xc3\xf4\xa7\xc9\xc9" } , { "\xbf\xe8\xcb\xdd" , "\x65\xc3\xf4\xa7\xc9\xd6" } , { "\xbf\xe8\xcc" , "\x65\xc3\xf4\xa9\xc9" } , { "\xbf\xe8\xcc\xa2" , "\x65\xc3\xf4\xa9\xc9\xc5" } , { "\xbf\xe8\xcc\xda" , "\x65\xc3\xf4\xa9\xc9\xc9" } , { "\xbf\xe8\xcc\xdb" , "\xce\x65\xc3\xf4\xa9\xc9" } , { "\xbf\xe8\xcc\xdb\xa2" , "\xcf\x65\xc3\xf4\xa9\xc9" } , { "\xbf\xe8\xcc\xdc" , "\x65\xc3\xf4\xa9\xc9\xd2" } , { "\xbf\xe8\xcc\xdd" , "\x65\xc3\xf4\xa9\xc9\xd6" } , { "\xbf\xe8\xcc\xe0\xa2" , "\x65\xc3\xf4\xa9\xc9\xe9" } , { "\xbf\xe8\xcc\xe4" , "\x65\xc3\xf4\xa9\xc9\xc9\xe8" } , { "\xbf\xe8\xcc\xe5" , "\x65\xc3\xf4\xa9\xc9\xc9\xe0" } , { "\xbf\xe8\xcd" , "\x65\xf4\xac" } , { "\xbf\xe8\xcd\xa2" , "\x65\xf4\xac\xc5" } , { "\xbf\xe8\xcd\xda" , "\x65\xf4\xac\xc9" } , { "\xbf\xe8\xcd\xda\xa2" , "\x65\xf4\xac\xc9\xc5" } , { "\xbf\xe8\xcd\xdb" , "\xca\x65\xf4\xac" } , { "\xbf\xe8\xcd\xdd" , "\x65\xf4\xac\xd6" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x65\xf4\xac\xd6\xc5" } , { "\xbf\xe8\xcd\xde" , "\x65\xf4\xac\xda" } , { "\xbf\xe8\xcd\xe0" , "\x65\xf4\xac\xe8" } , { "\xbf\xe8\xcd\xe1" , "\x65\xf4\xac\xe0" } , { "\xbf\xe8\xcd\xe5" , "\x65\xf4\xac\xc9\xe0" } , { "\xbf\xe8\xcd\xe5\xa2" , "\x65\xf4\xac\xc9\xe1" } , { "\xbf\xe8\xcd\xe6" , "\x65\xf4\xac\xc9\xe4" } , { "\xbf\xe8\xcf" , "\x65\xc4\xf4" } , { "\xbf\xe8\xcf\xa2" , "\x65\xc4\xc5\xf4" } , { "\xbf\xe8\xcf\xda" , "\x65\xc4\xf4\xc9" } , { "\xbf\xe8\xcf\xda\xa2" , "\x65\xc4\xf4\xc9\xc5" } , { "\xbf\xe8\xcf\xdb" , "\xca\x65\xc4\xf4" } , { "\xbf\xe8\xcf\xdb\xa2" , "\xcb\x65\xc4\xf4" } , { "\xbf\xe8\xcf\xdc" , "\x65\xc4\xf4\xd2" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x65\xc4\xf4\xd3" } , { "\xbf\xe8\xcf\xdd" , "\x65\xd7\xf4" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x65\xd7\xc5\xf4" } , { "\xbf\xe8\xcf\xde" , "\x65\xdb\xf4" } , { "\xbf\xe8\xcf\xde\xa2" , "\x65\xdb\xc5\xf4" } , { "\xbf\xe8\xcf\xe0" , "\x65\xc4\xe8\xf4" } , { "\xbf\xe8\xcf\xe0\xa2" , "\x65\xc4\xe9\xf4" } , { "\xbf\xe8\xcf\xe1" , "\x65\xc4\xe0\xf4" } , { "\xbf\xe8\xcf\xe1\xa2" , "\x65\xc4\xe1\xf4" } , { "\xbf\xe8\xcf\xe2" , "\x65\xc4\xe4\xf4" } , { "\xbf\xe8\xcf\xe4" , "\x65\xc4\xf4\xc9\xe8" } , { "\xbf\xe8\xcf\xe5" , "\x65\xc4\xf4\xc9\xe0" } , { "\xbf\xe8\xcf\xe6" , "\x65\xc4\xf4\xc9\xe4" } , { "\xbf\xe8\xcf\xe7" , "\x65\xc4\xf4\xc9\xe8" } , { "\xbf\xe8\xcf\xe8\xca" , "\x65\xc3\xf4\xad\xc3\xf7\xa5\xc9" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x65\xc4\xf4\xac\xc9" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x65\xc3\xf4\xad\xc3\xf7\xb4\xc9\xc9" } , { "\xbf\xe8\xd1" , "\x65\xc3\xf4\xb1\xc9" } , { "\xbf\xe8\xd1\xa2" , "\x65\xc3\xf4\xb1\xc9\xc5" } , { "\xbf\xe8\xd1\xda" , "\x65\xc3\xf4\xb1\xc9\xc9" } , { "\xbf\xe8\xd1\xda\xa2" , "\x65\xc3\xf4\xb1\xc9\xc9\xc5" } , { "\xbf\xe8\xd1\xdb" , "\xce\x65\xc3\xf4\xb1\xc9" } , { "\xbf\xe8\xd1\xdb\xa2" , "\xcf\x65\xc3\xf4\xb1\xc9" } , { "\xbf\xe8\xd1\xdc" , "\x65\xc3\xf4\xb1\xc9\xd2" } , { "\xbf\xe8\xd1\xdd" , "\x65\xc3\xf4\xb1\xc9\xd6" } , { "\xbf\xe8\xd1\xdd\xa2" , "\x65\xc3\xf4\xb1\xc9\xd6\xc5" } , { "\xbf\xe8\xd1\xde" , "\x65\xc3\xf4\xb1\xc9\xda" } , { "\xbf\xe8\xd1\xe0" , "\x65\xc3\xf4\xb1\xc9\xe8" } , { "\xbf\xe8\xd1\xe0\xa2" , "\x65\xc3\xf4\xb1\xc9\xe9" } , { "\xbf\xe8\xd1\xe1" , "\x65\xc3\xf4\xb1\xc9\xe0" } , { "\xbf\xe8\xd1\xe2" , "\x65\xc3\xf4\xb1\xc9\xe4" } , { "\xbf\xe8\xd1\xe4" , "\x65\xc3\xf4\xb1\xc9\xc9\xe8" } , { "\xbf\xe8\xd1\xe5" , "\x65\xc3\xf4\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xd1\xe8" , "\x65\xc3\xf4\xb1\xc9\xc3" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\x65\xc3\xf4\xb1\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xd4" , "\x65\xc3\xf4\xb4\xc9" } , { "\xbf\xe8\xd4\xa2" , "\x65\xc3\xf4\xb4\xc9\xc5" } , { "\xbf\xe8\xd4\xda" , "\x65\xc3\xf4\xb4\xc9\xc9" } , { "\xbf\xe8\xd4\xda\xa2" , "\x65\xc3\xf4\xb4\xc9\xc9\xc5" } , { "\xbf\xe8\xd4\xdb" , "\xce\x65\xc3\xf4\xb4\xc9" } , { "\xbf\xe8\xd4\xdb\xa2" , "\xcf\x65\xc3\xf4\xb4\xc9" } , { "\xbf\xe8\xd4\xdc" , "\x65\xc3\xf4\xb4\xc9\xd2" } , { "\xbf\xe8\xd4\xdd" , "\x65\xc3\xf4\xb4\xc9\xd6" } , { "\xbf\xe8\xd4\xe0" , "\x65\xc3\xf4\xb4\xc9\xe8" } , { "\xbf\xe8\xd4\xe0\xa2" , "\x65\xc3\xf4\xb4\xc9\xe9" } , { "\xbf\xe8\xd4\xe1" , "\x65\xc3\xf4\xb4\xc9\xe0" } , { "\xbf\xe8\xd4\xe2" , "\x65\xc3\xf4\xb4\xc9\xe4" } , { "\xbf\xe8\xd5" , "\x65\xc3\xf4\xb6\xc9" } , { "\xbf\xe8\xd5\xda" , "\x65\xc3\xf4\xb6\xc9\xc9" } , { "\xbf\xe8\xd6" , "\x65\xc3\xf4\xba\xc9" } , { "\xbf\xe8\xd6\xdb" , "\xce\x65\xc3\xf4\xba\xc9" } , { "\xbf\xe8\xd6\xdc" , "\x65\xc3\xf4\xba\xc9\xd2" } , { "\xbf\xe8\xd6\xe5" , "\x65\xc3\xf4\xba\xc9\xc9\xe0" } , { "\xbf\xe8\xd7" , "\x65\xc3\xf4\xbb\xc9" } , { "\xbf\xe8\xd7\xa2" , "\x65\xc3\xf4\xbb\xc9\xc5" } , { "\xbf\xe8\xd7\xda" , "\x65\xc3\xf4\xbb\xc9\xc9" } , { "\xbf\xe8\xd7\xdb" , "\xce\x65\xc3\xf4\xbb\xc9" } , { "\xbf\xe8\xd7\xdc" , "\x65\xc3\xf4\xbb\xc9\xd2" } , { "\xbf\xe8\xd7\xdd" , "\x65\xc3\xf4\xbb\xc9\xd6" } , { "\xbf\xe8\xd7\xde" , "\x65\xc3\xf4\xbb\xc9\xda" } , { "\xbf\xe8\xd7\xe1" , "\x65\xc3\xf4\xbb\xc9\xe0" } , { "\xbf\xe8\xd7\xe4" , "\x65\xc3\xf4\xbb\xc9\xc9\xe8" } , { "\xbf\xe8\xd7\xe8" , "\x65\xc3\xf4\xbb\xc9\xc3" } , { "\xbf\xe8\xd7\xe8\xb3" , "\x65\xc3\xf4\xbb\x48\xed" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\x65\xc3\xf4\xbb\x48\xed\xc9" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\xce\x65\xc3\xf4\xbb\x48\xed" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\x65\xc3\xf4\xbb\x48\xd6\xed" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\x65\xc3\xf4\xbb\x48\xe0\xed" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x65\xc3\xf4\xbb\x60\xe0\xf2" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\xce\x65\xc3\xf4\xbb\x65\xf4" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\x65\xc3\xf4\xbb\x6c\xc9\xc9\xe0" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\xce\x65\xc3\xf4\xbb\x7b\xc9" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\x65\xc3\xf4\xbb\x7b\xc9\xd6" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\x65\xc3\xf4\xbb\x7e\xc9\xc9" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\x65\xc3\xf4\xbb\x7e\xc9\xd2" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\x65\xc3\xf4\xbb\xa5\xc9\xc5" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\xce\x65\xc3\xf4\xbb\xa9\xc9" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\x65\xc3\xf4\xbb\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x65\xc3\xf4\xbb\xb4\xc9" } , { "\xbf\xe8\xd8\xda" , "\x65\xc3\xf4\xbe\xfa\xc9" } , { "\xbf\xe8\xd8\xda\xa2" , "\x65\xc3\xf4\xbe\xfa\xc9\xc5" } , { "\xbf\xe8\xd8\xdb" , "\xce\x65\xc3\xf4\xbe\xfa" } , { "\xbf\xe8\xd8\xe0" , "\x65\xc3\xf4\xbe\xe8\xfa" } , { "\xbf\xe8\xd8\xe2" , "\x65\xc3\xf4\xbe\xe4\xfa" } , { "\xbf\xe8\xd8\xe5" , "\x65\xc3\xf4\xbe\xfa\xc9\xe0" } , { "\xbf\xe8\xd9\xa7" , "\x65\xc3\xf4\x3e" } , { "\xbf\xe8\xd9\xcd\xde" , "\x65\xc3\xf4\xab\xc9\xda" } , { "\xbf\xe8\xd9\xcf" , "\x65\xc3\xf4\xad\xf7" } , { "\xbf\xe8\xe8" , "\x65\xc3\xf4" } , { "\xbf\xe9" , "\x65\xf4" } , { "\xbf\xe9\xa1" , "\x65\xc6\xf4" } , { "\xbf\xe9\xa2" , "\x65\xc5\xf4" } , { "\xbf\xe9\xc2\xda" , "\x65\xf4\x6c\xc9\xc9" } , { "\xbf\xe9\xc2\xdc" , "\x65\xf4\x6c\xc9\xd2" } , { "\xbf\xe9\xda" , "\x65\xf4\xc9" } , { "\xbf\xe9\xda\xa1" , "\x65\xf4\xc9\xc6" } , { "\xbf\xe9\xda\xa2" , "\x65\xf4\xc9\xc5" } , { "\xbf\xe9\xdb" , "\xca\x65\xf4" } , { "\xbf\xe9\xdc" , "\x65\xf4\xd2" } , { "\xbf\xe9\xdc\xa2" , "\x65\xf4\xd3" } , { "\xbf\xe9\xdd" , "\x65\xd6\xf4" } , { "\xbf\xe9\xde" , "\x65\xda\xf4" } , { "\xbf\xe9\xde\xa1" , "\x65\xda\xc6\xf4" } , { "\xbf\xe9\xde\xa2" , "\x65\xda\xc5\xf4" } , { "\xbf\xe9\xe1" , "\x65\xe0\xf4" } , { "\xbf\xe9\xe1\xa2" , "\x65\xe1\xf4" } , { "\xbf\xe9\xe2" , "\x65\xe4\xf4" } , { "\xbf\xe9\xe2\xa2" , "\x65\xe5\xf4" } , { "\xbf\xe9\xe5" , "\x65\xf4\xc9\xe0" } , { "\xbf\xe9\xe5\xa2" , "\x65\xf4\xc9\xe1" } , { "\xbf\xe9\xe6" , "\x65\xf4\xc9\xe4" } , { "\xbf\xe9\xe6\xa2" , "\x65\xf4\xc9\xe5" } , { "\xbf\xe9\xe8" , "\x65\xc3\xf4" } , { "\xbf\xe9\xe8\xb3" , "\x65\xc3\xf4\x48\xed" } , { "\xbf\xe9\xe8\xb3\xda" , "\x65\xc3\xf4\x48\xed\xc9" } , { "\xbf\xe9\xe8\xb5" , "\x65\xc3\xf4\x4e\xc9" } , { "\xbf\xe9\xe8\xb5\xda" , "\x65\xc3\xf4\x4e\xc9\xc9" } , { "\xbf\xe9\xe8\xbf\xda" , "\x65\xc3\xf4\x65\xf4\xc9" } , { "\xbf\xe9\xe8\xbf\xdb" , "\xce\x65\xc3\xf4\x65\xf4" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x65\xc3\xf4\x65\xf4\xd2" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x65\xc3\xf4\x65\xe0\xf4" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x65\xc3\xf4\x68\xe0\xf5" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x65\xc3\xf4\x6c\xc9\xd6" } , { "\xbf\xe9\xe8\xcc" , "\x65\xc3\xf4\xa9\xc9" } , { "\xc0" , "\x68\xf5" } , { "\xc0\xa1" , "\x68\xc6\xf5" } , { "\xc0\xa2" , "\x68\xc5\xf5" } , { "\xc0\xa3" , "\x68\xf5\x26" } , { "\xc0\xda" , "\x68\xf5\xc9" } , { "\xc0\xda\xa1" , "\x68\xf5\xc9\xc6" } , { "\xc0\xda\xa2" , "\x68\xf5\xc9\xc5" } , { "\xc0\xdb" , "\xca\x68\xf5" } , { "\xc0\xdb\xa2" , "\xcb\x68\xf5" } , { "\xc0\xdc" , "\x68\xf5\xd2" } , { "\xc0\xdc\xa2" , "\x68\xf5\xd3" } , { "\xc0\xdd" , "\x68\xd6\xf5" } , { "\xc0\xdd\xa1" , "\x68\xd6\xc6\xf5" } , { "\xc0\xdd\xa2" , "\x68\xd6\xc5\xf5" } , { "\xc0\xde" , "\x68\xda\xf5" } , { "\xc0\xde\xa1" , "\x68\xda\xc6\xf5" } , { "\xc0\xde\xa2" , "\x68\xda\xc5\xf5" } , { "\xc0\xdf" , "\x68\xde\xf5" } , { "\xc0\xe0" , "\x68\xe8\xf5" } , { "\xc0\xe1" , "\x68\xe0\xf5" } , { "\xc0\xe1\xa2" , "\x68\xe1\xf5" } , { "\xc0\xe2" , "\x68\xe4\xf5" } , { "\xc0\xe2\xa3" , "\x68\xe4\xf5\x26" } , { "\xc0\xe4" , "\x68\xf5\xc9\xe8" } , { "\xc0\xe5" , "\x68\xf5\xc9\xe0" } , { "\xc0\xe5\xa2" , "\x68\xf5\xc9\xe1" } , { "\xc0\xe6" , "\x68\xf5\xc9\xe4" } , { "\xc0\xe6\xa2" , "\x68\xf5\xc9\xe5" } , { "\xc0\xe8" , "\x68\xc3\xf5" } , { "\xc0\xe8\xbf\xe1" , "\x68\xc3\xf5\x65\xe0\xf4" } , { "\xc0\xe8\xc0\xda" , "\x68\xc3\xf5\x68\xf5\xc9" } , { "\xc0\xe8\xc0\xdc" , "\x68\xc3\xf5\x68\xf5\xd2" } , { "\xc0\xe8\xc0\xe1" , "\x68\xc3\xf5\x68\xe0\xf5" } , { "\xc0\xe8\xc0\xe9" , "\x68\xc3\xf5\x68\xf5" } , { "\xc0\xe8\xc0\xe9\xda" , "\x68\xc3\xf5\x68\xf5\xc9" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x68\xc3\xf5\x68\xe0\xf5" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x68\xc3\xf5\x68\xf5\xc9\xe1" } , { "\xc0\xe8\xc9\xe5" , "\x68\xc3\xf5\xa3\xed\xc9\xe0" } , { "\xc0\xe8\xcd" , "\x68\xf5\xac" } , { "\xc0\xe8\xcd\xa2" , "\x68\xf5\xac\xc5" } , { "\xc0\xe8\xcd\xda" , "\x68\xf5\xac\xc9" } , { "\xc0\xe8\xcd\xdd" , "\x68\xf5\xac\xd6" } , { "\xc0\xe8\xcd\xe5\xa2" , "\x68\xf5\xac\xc9\xe1" } , { "\xc0\xe8\xcf" , "\x68\xc4\xf5" } , { "\xc0\xe8\xcf\xa2" , "\x68\xc4\xc5\xf5" } , { "\xc0\xe8\xcf\xda" , "\x68\xc4\xf5\xc9" } , { "\xc0\xe8\xcf\xdc" , "\x68\xc4\xf5\xd2" } , { "\xc0\xe8\xd1\xe5" , "\x68\xc3\xf5\xb1\xc9\xc9\xe0" } , { "\xc0\xe8\xe8" , "\x68\xc3\xf5" } , { "\xc0\xe9" , "\x68\xf5" } , { "\xc0\xe9\xa1" , "\x68\xc6\xf5" } , { "\xc0\xe9\xa2" , "\x68\xc5\xf5" } , { "\xc0\xe9\xc2\xdc" , "\x68\xf5\x6c\xc9\xd2" } , { "\xc0\xe9\xc6\xe1" , "\x68\xf5\x7b\xc9\xe0" } , { "\xc0\xe9\xda" , "\x68\xf5\xc9" } , { "\xc0\xe9\xda\xa1" , "\x68\xf5\xc9\xc6" } , { "\xc0\xe9\xda\xa2" , "\x68\xf5\xc9\xc5" } , { "\xc0\xe9\xdb" , "\xca\x68\xf5" } , { "\xc0\xe9\xdb\xa2" , "\xcb\x68\xf5" } , { "\xc0\xe9\xdc" , "\x68\xf5\xd2" } , { "\xc0\xe9\xdc\xa2" , "\x68\xf5\xd3" } , { "\xc0\xe9\xdd" , "\x68\xd6\xf5" } , { "\xc0\xe9\xde" , "\x68\xda\xf5" } , { "\xc0\xe9\xde\xa1" , "\x68\xda\xc6\xf5" } , { "\xc0\xe9\xde\xa2" , "\x68\xda\xc5\xf5" } , { "\xc0\xe9\xe1" , "\x68\xe0\xf5" } , { "\xc0\xe9\xe1\xa2" , "\x68\xe1\xf5" } , { "\xc0\xe9\xe2" , "\x68\xe4\xf5" } , { "\xc0\xe9\xe5" , "\x68\xf5\xc9\xe0" } , { "\xc0\xe9\xe5\xa2" , "\x68\xf5\xc9\xe1" } , { "\xc0\xe9\xe6" , "\x68\xf5\xc9\xe4" } , { "\xc0\xe9\xe8\xcd" , "\x68\xf5\xac" } , { "\xc1" , "\x69\xc9" } , { "\xc1\xa1" , "\x69\xc9\xc6" } , { "\xc1\xa1\xa1" , "\x69\xc9\xc6\xc6" } , { "\xc1\xa2" , "\x69\xc9\xc5" } , { "\xc1\xa3" , "\x69\xc9\x26" } , { "\xc1\xda" , "\x69\xc9\xc9" } , { "\xc1\xda\xa2" , "\x69\xc9\xc9\xc5" } , { "\xc1\xda\xa3" , "\x69\xc9\xc9\x26" } , { "\xc1\xdb" , "\xca\x69\xc9" } , { "\xc1\xdb\xa2" , "\xcb\x69\xc9" } , { "\xc1\xdb\xa3" , "\xca\x69\xc9\x26" } , { "\xc1\xdc" , "\x69\xc9\xd2" } , { "\xc1\xdc\xa2" , "\x69\xc9\xd3" } , { "\xc1\xdd" , "\x6a" } , { "\xc1\xdd\xa2" , "\x6a\xc5" } , { "\xc1\xde" , "\x6b\xfc" } , { "\xc1\xde\xa2" , "\x6b\xc5\xfc" } , { "\xc1\xdf" , "\x69\xc9\xde" } , { "\xc1\xe0" , "\x69\xc9\xe8" } , { "\xc1\xe0\xa2" , "\x69\xc9\xe9" } , { "\xc1\xe1" , "\x69\xc9\xe0" } , { "\xc1\xe1\xa2" , "\x69\xc9\xe1" } , { "\xc1\xe2" , "\x69\xc9\xe4" } , { "\xc1\xe2\xa2" , "\x69\xc9\xe5" } , { "\xc1\xe2\xa3" , "\x69\xc9\xe4\x26" } , { "\xc1\xe4" , "\x69\xc9\xc9\xe8" } , { "\xc1\xe5" , "\x69\xc9\xc9\xe0" } , { "\xc1\xe5\xa2" , "\x69\xc9\xc9\xe1" } , { "\xc1\xe6" , "\x69\xc9\xc9\xe4" } , { "\xc1\xe8" , "\x69\xc9\xc3" } , { "\xc1\xe8\xb3\xdd" , "\x69\x48\xd6\xed" } , { "\xc1\xe8\xb3\xe1" , "\x69\x48\xe0\xed" } , { "\xc1\xe8\xb5\xda" , "\x69\x4e\xc9\xc9" } , { "\xc1\xe8\xba\xda" , "\x69\x58" } , { "\xc1\xe8\xba\xe5\xa2" , "\x69\x58\xe1" } , { "\xc1\xe8\xbd" , "\x69\x60\xf2" } , { "\xc1\xe8\xbd\xda" , "\x69\x60\xf2\xc9" } , { "\xc1\xe8\xbd\xdb" , "\xce\x69\x60\xf2" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xcf\x69\x60\xf2" } , { "\xc1\xe8\xbd\xdc" , "\x69\x60\xf2\xd2" } , { "\xc1\xe8\xbd\xdd" , "\x69\x60\xd6\xf2" } , { "\xc1\xe8\xbd\xde" , "\x69\x60\xda\xf2" } , { "\xc1\xe8\xbd\xe1" , "\x69\x60\xe0\xf2" } , { "\xc1\xe8\xbd\xe1\xa2" , "\x69\x60\xe1\xf2" } , { "\xc1\xe8\xbd\xe5" , "\x69\x60\xf2\xc9\xe0" } , { "\xc1\xe8\xbd\xe5\xa2" , "\x69\x60\xf2\xc9\xe1" } , { "\xc1\xe8\xbd\xe8\xcf" , "\x69\x60\xc4\xf2" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\x69\x60\xc4\xf2\xd2" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\x69\x60\xc4\xf2\xc9\xe0" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x69\x60\xc3\xf2\xbb\xc9" } , { "\xc1\xe8\xbe" , "\x69\x63\xf3" } , { "\xc1\xe8\xbe\xa2" , "\x69\x63\xc5\xf3" } , { "\xc1\xe8\xbe\xda" , "\x69\x63\xf3\xc9" } , { "\xc1\xe8\xbe\xdb" , "\xce\x69\x63\xf3" } , { "\xc1\xe8\xbe\xdc" , "\x69\x63\xf3\xd2" } , { "\xc1\xe8\xbe\xe1" , "\x69\x63\xe0\xf3" } , { "\xc1\xe8\xbe\xe5" , "\x69\x63\xf3\xc9\xe0" } , { "\xc1\xe8\xbe\xe5\xa2" , "\x69\x63\xf3\xc9\xe1" } , { "\xc1\xe8\xbf" , "\x69\x65\xf4" } , { "\xc1\xe8\xbf\xa2" , "\x69\x65\xc5\xf4" } , { "\xc1\xe8\xbf\xda" , "\x69\x65\xf4\xc9" } , { "\xc1\xe8\xbf\xda\xa2" , "\x69\x65\xf4\xc9\xc5" } , { "\xc1\xe8\xbf\xdb" , "\xce\x69\x65\xf4" } , { "\xc1\xe8\xbf\xdb\xa2" , "\xcf\x69\x65\xf4" } , { "\xc1\xe8\xbf\xdc" , "\x69\x65\xf4\xd2" } , { "\xc1\xe8\xbf\xdd" , "\x69\x65\xd6\xf4" } , { "\xc1\xe8\xbf\xde" , "\x69\x65\xda\xf4" } , { "\xc1\xe8\xbf\xe1" , "\x69\x65\xe0\xf4" } , { "\xc1\xe8\xbf\xe1\xa2" , "\x69\x65\xe1\xf4" } , { "\xc1\xe8\xbf\xe2" , "\x69\x65\xe4\xf4" } , { "\xc1\xe8\xbf\xe5" , "\x69\x65\xf4\xc9\xe0" } , { "\xc1\xe8\xbf\xe5\xa2" , "\x69\x65\xf4\xc9\xe1" } , { "\xc1\xe8\xbf\xe6" , "\x69\x65\xf4\xc9\xe4" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x69\x65\xf4\xac" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x69\x65\xf4\xac\xc9" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x69\x65\xc4\xf4" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x69\x65\xc4\xf4\xc9" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\xce\x69\x65\xc4\xf4" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x69\x65\xc4\xf4\xd2" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x69\x65\xdb\xf4" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\x69\x65\xc4\xe0\xf4" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\x69\x65\xc4\xf4\xc9\xe0" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x69\x65\xc3\xf4\xbb\xc9" } , { "\xc1\xe8\xbf\xe9" , "\x69\x65\xf4" } , { "\xc1\xe8\xbf\xe9\xda" , "\x69\x65\xf4\xc9" } , { "\xc1\xe8\xbf\xe9\xdc" , "\x69\x65\xf4\xd2" } , { "\xc1\xe8\xbf\xe9\xe1" , "\x69\x65\xe0\xf4" } , { "\xc1\xe8\xbf\xe9\xe5" , "\x69\x65\xf4\xc9\xe0" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\x69\x65\xf4\xc9\xe1" } , { "\xc1\xe8\xc0" , "\x69\x68\xf5" } , { "\xc1\xe8\xc0\xdb" , "\xce\x69\x68\xf5" } , { "\xc1\xe8\xc1" , "\x69\x69\xc9" } , { "\xc1\xe8\xc1\xa2" , "\x69\x69\xc9\xc5" } , { "\xc1\xe8\xc1\xda" , "\x69\x69\xc9\xc9" } , { "\xc1\xe8\xc1\xda\xa2" , "\x69\x69\xc9\xc9\xc5" } , { "\xc1\xe8\xc1\xdb" , "\xce\x69\x69\xc9" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xcf\x69\x69\xc9" } , { "\xc1\xe8\xc1\xdc" , "\x69\x69\xc9\xd2" } , { "\xc1\xe8\xc1\xdc\xa2" , "\x69\x69\xc9\xd3" } , { "\xc1\xe8\xc1\xdd" , "\x69\x6a" } , { "\xc1\xe8\xc1\xdd\xa2" , "\x69\x6a\xc5" } , { "\xc1\xe8\xc1\xde" , "\x69\x6b\xfc" } , { "\xc1\xe8\xc1\xe0" , "\x69\x69\xc9\xe8" } , { "\xc1\xe8\xc1\xe0\xa2" , "\x69\x69\xc9\xe9" } , { "\xc1\xe8\xc1\xe1" , "\x69\x69\xc9\xe0" } , { "\xc1\xe8\xc1\xe2" , "\x69\x69\xc9\xe4" } , { "\xc1\xe8\xc1\xe4" , "\x69\x69\xc9\xc9\xe8" } , { "\xc1\xe8\xc1\xe5" , "\x69\x69\xc9\xc9\xe0" } , { "\xc1\xe8\xc2\xdb" , "\xce\x69\x6c\xc9" } , { "\xc1\xe8\xc2\xe5" , "\x69\x6c\xc9\xc9\xe0" } , { "\xc1\xe8\xc4\xdb" , "\xce\x69\x71\xf6" } , { "\xc1\xe8\xc4\xdd" , "\x69\x71\xd6\xf6" } , { "\xc1\xe8\xc4\xe0" , "\x69\x71\xe8\xf6" } , { "\xc1\xe8\xc6" , "\x69\x7b\xc9" } , { "\xc1\xe8\xc6\xa2" , "\x69\x7b\xc9\xc5" } , { "\xc1\xe8\xc6\xda" , "\x69\x7b\xc9\xc9" } , { "\xc1\xe8\xc6\xdb" , "\xce\x69\x7b\xc9" } , { "\xc1\xe8\xc6\xdb\xa2" , "\xcf\x69\x7b\xc9" } , { "\xc1\xe8\xc6\xdc" , "\x69\x7b\xc9\xd2" } , { "\xc1\xe8\xc6\xdd" , "\x69\x7b\xc9\xd6" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x69\x7b\xc9\xd6\xc5" } , { "\xc1\xe8\xc6\xe0" , "\x69\x7b\xc9\xe8" } , { "\xc1\xe8\xc6\xe0\xa2" , "\x69\x7b\xc9\xe9" } , { "\xc1\xe8\xc6\xe1" , "\x69\x7b\xc9\xe0" } , { "\xc1\xe8\xc6\xe1\xa2" , "\x69\x7b\xc9\xe1" } , { "\xc1\xe8\xc6\xe5" , "\x69\x7b\xc9\xc9\xe0" } , { "\xc1\xe8\xc8" , "\x69\x7e\xc9" } , { "\xc1\xe8\xc8\xda" , "\x69\x7e\xc9\xc9" } , { "\xc1\xe8\xc8\xe8\xcf" , "\x69\xa1\xc9" } , { "\xc1\xe8\xca\xda" , "\x69\xa5\xc9\xc9" } , { "\xc1\xe8\xcc" , "\x69\xa9\xc9" } , { "\xc1\xe8\xcc\xda" , "\x69\xa9\xc9\xc9" } , { "\xc1\xe8\xcc\xdb" , "\xce\x69\xa9\xc9" } , { "\xc1\xe8\xcc\xdc" , "\x69\xa9\xc9\xd2" } , { "\xc1\xe8\xcc\xdd" , "\x69\xa9\xc9\xd6" } , { "\xc1\xe8\xcc\xde" , "\x69\xa9\xc9\xda" } , { "\xc1\xe8\xcc\xe0" , "\x69\xa9\xc9\xe8" } , { "\xc1\xe8\xcc\xe1" , "\x69\xa9\xc9\xe0" } , { "\xc1\xe8\xcd" , "\x69\xab\xc9" } , { "\xc1\xe8\xcd\xa2" , "\x69\xab\xc9\xc5" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x69\xab\xc9\xc5\xc5" } , { "\xc1\xe8\xcd\xda" , "\x69\xab\xc9\xc9" } , { "\xc1\xe8\xcd\xda\xa2" , "\x69\xab\xc9\xc9\xc5" } , { "\xc1\xe8\xcd\xdc" , "\x69\xab\xc9\xd2" } , { "\xc1\xe8\xcd\xdd" , "\x69\xab\xc9\xd6" } , { "\xc1\xe8\xcd\xde\xa2" , "\x69\xab\xc9\xda\xc5" } , { "\xc1\xe8\xcd\xe1" , "\x69\xab\xc9\xe0" } , { "\xc1\xe8\xcd\xe5" , "\x69\xab\xc9\xc9\xe0" } , { "\xc1\xe8\xcd\xe5\xa2" , "\x69\xab\xc9\xc9\xe1" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x69\xab\xab\xc9" } , { "\xc1\xe8\xcf\xda" , "\x69\xc9\xc4\xc9" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x69\xad\xc3\xf7\xab\xc9" } , { "\xc1\xe8\xd0\xdd" , "\x69\xad\xd6\xf7" } , { "\xc1\xe8\xd1" , "\x69\xb1\xc9" } , { "\xc1\xe8\xd1\xda\xa2" , "\x69\xb1\xc9\xc9\xc5" } , { "\xc1\xe8\xd1\xdd" , "\x69\xb1\xc9\xd6" } , { "\xc1\xe8\xd4" , "\x69\xb4\xc9" } , { "\xc1\xe8\xd4\xa2" , "\x69\xb4\xc9\xc5" } , { "\xc1\xe8\xd4\xda" , "\x69\xb4\xc9\xc9" } , { "\xc1\xe8\xd4\xdb" , "\xce\x69\xb4\xc9" } , { "\xc1\xe8\xd4\xdc" , "\x69\xb4\xc9\xd2" } , { "\xc1\xe8\xd4\xdd" , "\x69\xb4\xc9\xd6" } , { "\xc1\xe8\xd4\xe1" , "\x69\xb4\xc9\xe0" } , { "\xc1\xe8\xd5\xe6" , "\x69\xb6\xc9\xc9\xe4" } , { "\xc1\xe8\xd7\xdb\xa2" , "\xcf\x69\xbb\xc9" } , { "\xc1\xe8\xd9\xbf\xdb" , "\x69\xca\x65\xf4" } , { "\xc1\xe8\xe8" , "\x69\xc9\xc3" } , { "\xc1\xe9" , "\x69\xc9" } , { "\xc1\xe9\xe8\xbf" , "\x69\x65\xf4" } , { "\xc1\xe9\xe8\xbf\xda" , "\x69\x65\xf4\xc9" } , { "\xc1\xe9\xe8\xbf\xdb" , "\xce\x69\x65\xf4" } , { "\xc1\xe9\xe8\xbf\xe1" , "\x69\x65\xe0\xf4" } , { "\xc2" , "\x6c\xc9" } , { "\xc2\xa1" , "\x6c\xc9\xc6" } , { "\xc2\xa2" , "\x6c\xc9\xc5" } , { "\xc2\xa2\xa2" , "\x6c\xc9\xc5\xc5" } , { "\xc2\xa3" , "\x6c\xc9\x26" } , { "\xc2\xd0\xc6\xda" , "\x6c\xc9\xad\xf7\x7b\xc9\xc9" } , { "\xc2\xda" , "\x6c\xc9\xc9" } , { "\xc2\xda\xa1" , "\x6c\xc9\xc9\xc6" } , { "\xc2\xda\xa2" , "\x6c\xc9\xc9\xc5" } , { "\xc2\xda\xa2\xa2" , "\x6c\xc9\xc9\xc5\xc5" } , { "\xc2\xda\xa3" , "\x6c\xc9\xc9\x26" } , { "\xc2\xdb" , "\xca\x6c\xc9" } , { "\xc2\xdb\xa2" , "\xcb\x6c\xc9" } , { "\xc2\xdb\xa3" , "\xca\x6c\xc9\x26" } , { "\xc2\xdc" , "\x6c\xc9\xd2" } , { "\xc2\xdc\xa2" , "\x6c\xc9\xd3" } , { "\xc2\xdd" , "\x6c\xc9\xd6" } , { "\xc2\xdd\xa1" , "\x6c\xc9\xd6\xc6" } , { "\xc2\xdd\xa2" , "\x6c\xc9\xd6\xc5" } , { "\xc2\xdd\xa2\xa2" , "\x6c\xc9\xd6\xc5\xc5" } , { "\xc2\xdd\xa3" , "\x6c\xc9\xd6\x26" } , { "\xc2\xde" , "\x6c\xc9\xda" } , { "\xc2\xde\xa1" , "\x6c\xc9\xda\xc6" } , { "\xc2\xde\xa2" , "\x6c\xc9\xda\xc5" } , { "\xc2\xdf" , "\x6c\xc9\xde" } , { "\xc2\xdf\xa2" , "\x6c\xc9\xde\xc5" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x6c\xc9\xde\xce\xad\xc3\xf7\x6c\xc9" } , { "\xc2\xe0" , "\x6c\xc9\xe8" } , { "\xc2\xe0\xa2" , "\x6c\xc9\xe9" } , { "\xc2\xe1" , "\x6c\xc9\xe0" } , { "\xc2\xe1\xa2" , "\x6c\xc9\xe1" } , { "\xc2\xe1\xa3" , "\x6c\xc9\xe0\x26" } , { "\xc2\xe2" , "\x6c\xc9\xe4" } , { "\xc2\xe2\xa2" , "\x6c\xc9\xe5" } , { "\xc2\xe2\xa3" , "\x6c\xc9\xe4\x26" } , { "\xc2\xe4" , "\x6c\xc9\xc9\xe8" } , { "\xc2\xe4\xa2" , "\x6c\xc9\xc9\xe9" } , { "\xc2\xe5" , "\x6c\xc9\xc9\xe0" } , { "\xc2\xe5\xa2" , "\x6c\xc9\xc9\xe1" } , { "\xc2\xe5\xa3" , "\x6c\xc9\xc9\xe0\x26" } , { "\xc2\xe6" , "\x6c\xc9\xc9\xe4" } , { "\xc2\xe6\xa2" , "\x6c\xc9\xc9\xe5" } , { "\xc2\xe7" , "\x6c\xc9\xc9\xe8" } , { "\xc2\xe8" , "\x6c\xc9\xc3" } , { "\xc2\xe8\xb3" , "\x6c\x48\xed" } , { "\xc2\xe8\xb3\xa2" , "\x6c\x48\xc5\xed" } , { "\xc2\xe8\xb3\xda" , "\x6c\x48\xed\xc9" } , { "\xc2\xe8\xb3\xda\xa2" , "\x6c\x48\xed\xc9\xc5" } , { "\xc2\xe8\xb3\xdb" , "\xce\x6c\x48\xed" } , { "\xc2\xe8\xb3\xdb\xa2" , "\xcf\x6c\x48\xed" } , { "\xc2\xe8\xb3\xdc" , "\x6c\x48\xed\xd2" } , { "\xc2\xe8\xb3\xdd" , "\x6c\x48\xd6\xed" } , { "\xc2\xe8\xb3\xdd\xa2" , "\x6c\x48\xd6\xc5\xed" } , { "\xc2\xe8\xb3\xde" , "\x6c\x48\xda\xed" } , { "\xc2\xe8\xb3\xdf" , "\x6c\x48\xde\xed" } , { "\xc2\xe8\xb3\xe0" , "\x6c\x48\xe8\xed" } , { "\xc2\xe8\xb3\xe1" , "\x6c\x48\xe0\xed" } , { "\xc2\xe8\xb3\xe1\xa2" , "\x6c\x48\xe1\xed" } , { "\xc2\xe8\xb3\xe4" , "\x6c\x48\xed\xc9\xe8" } , { "\xc2\xe8\xb3\xe5" , "\x6c\x48\xed\xc9\xe0" } , { "\xc2\xe8\xb3\xe8\xc2" , "\x6c\x47\x6c\xc9" } , { "\xc2\xe8\xb3\xe8\xcf" , "\x6c\x4a\xed" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\x6c\x4a\xc5\xed" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\xce\x6c\x4a\xed" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\x6c\x4a\xe1\xed" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\x6c\x4a\xed\xc9\xe0" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\x6c\x47\xb1\xc9\xe0" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\x6c\x47\xb1\xc9\xc9\xe0" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x6c\x47\xb4\xc9" } , { "\xc2\xe8\xb3\xe8\xd6" , "\x6c\x4b\xc9" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\xce\x6c\x4b\xc9" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\x6c\x4b\xc9\xe0" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\x6c\x4b\x60\xf2" } , { "\xc2\xe8\xb4" , "\x6c\x4c\xc9" } , { "\xc2\xe8\xb4\xa2" , "\x6c\x4c\xc9\xc5" } , { "\xc2\xe8\xb4\xda" , "\x6c\x4c\xc9\xc9" } , { "\xc2\xe8\xb4\xe1" , "\x6c\x4c\xc9\xe0" } , { "\xc2\xe8\xb5\xda" , "\x6c\x4e\xc9\xc9" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x6c\x4e\xbe\xfa" } , { "\xc2\xe8\xb8" , "\x6c\x53\xc9" } , { "\xc2\xe8\xb8\xda" , "\x6c\x53\xc9\xc9" } , { "\xc2\xe8\xb8\xe1" , "\x6c\x53\xc9\xe0" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x6c\x53\x55\xef" } , { "\xc2\xe8\xba" , "\x6c\x57\xf0" } , { "\xc2\xe8\xba\xa2" , "\x6c\x57\xc5\xf0" } , { "\xc2\xe8\xba\xdb" , "\xce\x6c\x57\xf0" } , { "\xc2\xe8\xba\xe8\xbc" , "\x6c\x5b\xc9" } , { "\xc2\xe8\xba\xe9" , "\x6c\x57\xf0" } , { "\xc2\xe8\xbd\xe2" , "\x6c\x60\xe4\xf2" } , { "\xc2\xe8\xbf\xdd" , "\x6c\x65\xd6\xf4" } , { "\xc2\xe8\xbf\xe5" , "\x6c\x65\xf4\xc9\xe0" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\x6c\x65\xc4\xf4\xc9" } , { "\xc2\xe8\xc1" , "\x6c\x69\xc9" } , { "\xc2\xe8\xc2" , "\x6e\xc9" } , { "\xc2\xe8\xc2\xa2" , "\x6e\xc9\xc5" } , { "\xc2\xe8\xc2\xda" , "\x6e\xc9\xc9" } , { "\xc2\xe8\xc2\xda\xa1" , "\x6e\xc9\xc9\xc6" } , { "\xc2\xe8\xc2\xda\xa2" , "\x6e\xc9\xc9\xc5" } , { "\xc2\xe8\xc2\xda\xa3" , "\x6e\xc9\xc9\x26" } , { "\xc2\xe8\xc2\xdb" , "\xca\x6e\xc9" } , { "\xc2\xe8\xc2\xdb\xa2" , "\xcb\x6e\xc9" } , { "\xc2\xe8\xc2\xdb\xa3" , "\xca\x6e\xc9\x26" } , { "\xc2\xe8\xc2\xdc" , "\x6e\xc9\xd2" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x6e\xc9\xd3" } , { "\xc2\xe8\xc2\xdd" , "\x6e\xc9\xd6" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x6e\xc9\xd6\xc5" } , { "\xc2\xe8\xc2\xde" , "\x6e\xc9\xda" } , { "\xc2\xe8\xc2\xde\xa2" , "\x6e\xc9\xda\xc5" } , { "\xc2\xe8\xc2\xdf" , "\x6e\xc9\xde" } , { "\xc2\xe8\xc2\xe0" , "\x6e\xc9\xe8" } , { "\xc2\xe8\xc2\xe0\xa2" , "\x6e\xc9\xe9" } , { "\xc2\xe8\xc2\xe1" , "\x6e\xc9\xe0" } , { "\xc2\xe8\xc2\xe1\xa2" , "\x6e\xc9\xe1" } , { "\xc2\xe8\xc2\xe1\xa3" , "\x6e\xc9\xe0\x26" } , { "\xc2\xe8\xc2\xe2" , "\x6e\xc9\xe4" } , { "\xc2\xe8\xc2\xe4" , "\x6e\xc9\xc9\xe8" } , { "\xc2\xe8\xc2\xe5" , "\x6e\xc9\xc9\xe0" } , { "\xc2\xe8\xc2\xe5\xa2" , "\x6e\xc9\xc9\xe1" } , { "\xc2\xe8\xc2\xe6" , "\x6e\xc9\xc9\xe4" } , { "\xc2\xe8\xc2\xe8" , "\x6e\xc9\xc3" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x6e\x48\xed" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x6e\x48\xed\xc9" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\x6e\x4b\xc9" } , { "\xc2\xe8\xc2\xe8\xc2" , "\x6e\x6c\xc9" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\x6e\x6c\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\xce\x6e\x6c\xc9" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\x6e\x6c\xc9\xe0" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x6c\x6e\x6c\xc9\xc3" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x6e\x6c\xb4\xc9\xc9\xe1" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\x6e\x6f\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x6e\x7e\xc9\xda" } , { "\xc2\xe8\xc2\xe8\xcc" , "\x6e\xa9\xc9" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x6e\xab\xc9" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x6e\xab\xc9\xc5" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x6e\xab\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x6e\xab\xc9\xd6" } , { "\xc2\xe8\xc2\xe8\xcf" , "\x6e\xad\xf7" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\x6e\xad\xc5\xf7" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\x6e\xad\xf7\xc9" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\xce\x6e\xad\xf7" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\x6e\xad\xe8\xf7" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\x6e\xad\xe4\xf7" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\x6e\xad\xc3\xf7\xab\xc9" } , { "\xc2\xe8\xc2\xe8\xd4" , "\x6e\xb4\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\x6e\xb4\xc9\xc5" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\x6e\xb4\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\x6e\xb4\xc9\xc9\xc5" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\xce\x6e\xb4\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\x6e\xb4\xc9\xda" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x6e\xb4\xc9\xc9\xe0" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x6e\xb4\xc9\xc9\xe1" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x6e\x7e\xc9" } , { "\xc2\xe8\xc3" , "\x6c\x6f\xc9" } , { "\xc2\xe8\xc3\xa2" , "\x6c\x6f\xc9\xc5" } , { "\xc2\xe8\xc3\xda" , "\x6c\x6f\xc9\xc9" } , { "\xc2\xe8\xc3\xdb" , "\xce\x6c\x6f\xc9" } , { "\xc2\xe8\xc3\xdc" , "\x6c\x6f\xc9\xd2" } , { "\xc2\xe8\xc3\xde" , "\x6c\x6f\xc9\xda" } , { "\xc2\xe8\xc3\xe1" , "\x6c\x6f\xc9\xe0" } , { "\xc2\xe8\xc3\xe5" , "\x6c\x6f\xc9\xc9\xe0" } , { "\xc2\xe8\xc3\xe5\xa2" , "\x6c\x6f\xc9\xc9\xe1" } , { "\xc2\xe8\xc4" , "\x6c\x71\xf6" } , { "\xc2\xe8\xc4\xda" , "\x6c\x71\xf6\xc9" } , { "\xc2\xe8\xc4\xdd" , "\x6c\x71\xd6\xf6" } , { "\xc2\xe8\xc4\xe1" , "\x6c\x71\xe0\xf6" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x6c\x77\xe4\xf6" } , { "\xc2\xe8\xc5" , "\x6c\x79\xc9" } , { "\xc2\xe8\xc5\xa2" , "\x6c\x79\xc9\xc5" } , { "\xc2\xe8\xc5\xda" , "\x6c\x79\xc9\xc9" } , { "\xc2\xe8\xc5\xda\xa2" , "\x6c\x79\xc9\xc9\xc5" } , { "\xc2\xe8\xc5\xdb" , "\xce\x6c\x79\xc9" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x6c\x79\xbb\xc9" } , { "\xc2\xe8\xc6" , "\x6c\x7b\xc9" } , { "\xc2\xe8\xc6\xa2" , "\x6c\x7b\xc9\xc5" } , { "\xc2\xe8\xc6\xda" , "\x6c\x7b\xc9\xc9" } , { "\xc2\xe8\xc6\xda\xa2" , "\x6c\x7b\xc9\xc9\xc5" } , { "\xc2\xe8\xc6\xdb" , "\xce\x6c\x7b\xc9" } , { "\xc2\xe8\xc6\xdb\xa2" , "\xcf\x6c\x7b\xc9" } , { "\xc2\xe8\xc6\xdc" , "\x6c\x7b\xc9\xd2" } , { "\xc2\xe8\xc6\xdd" , "\x6c\x7b\xc9\xd6" } , { "\xc2\xe8\xc6\xdd\xa2" , "\x6c\x7b\xc9\xd6\xc5" } , { "\xc2\xe8\xc6\xe1" , "\x6c\x7b\xc9\xe0" } , { "\xc2\xe8\xc6\xe5" , "\x6c\x7b\xc9\xc9\xe0" } , { "\xc2\xe8\xc6\xe5\xa2" , "\x6c\x7b\xc9\xc9\xe1" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x6c\x7b\xab\xc9" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x6c\x7b\xab\xc9\xc9\x26" } , { "\xc2\xe8\xc8" , "\x6c\x7e\xc9" } , { "\xc2\xe8\xc8\xa2" , "\x6c\x7e\xc9\xc5" } , { "\xc2\xe8\xc8\xda" , "\x6c\x7e\xc9\xc9" } , { "\xc2\xe8\xc8\xda\xa2" , "\x6c\x7e\xc9\xc9\xc5" } , { "\xc2\xe8\xc8\xdb" , "\xce\x6c\x7e\xc9" } , { "\xc2\xe8\xc8\xdb\xa2" , "\xcf\x6c\x7e\xc9" } , { "\xc2\xe8\xc8\xdc" , "\x6c\x7e\xc9\xd2" } , { "\xc2\xe8\xc8\xdd" , "\x6c\x7e\xc9\xd6" } , { "\xc2\xe8\xc8\xde" , "\x6c\x7e\xc9\xda" } , { "\xc2\xe8\xc8\xdf" , "\x6c\x7e\xc9\xde" } , { "\xc2\xe8\xc8\xe1" , "\x6c\x7e\xc9\xe0" } , { "\xc2\xe8\xc8\xe6" , "\x6c\x7e\xc9\xc9\xe4" } , { "\xc2\xe8\xc8\xe8\xc2" , "\x6c\x7e\x6c\xc9" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\xce\x6c\x7e\x6c\xc9" } , { "\xc2\xe8\xc8\xe8\xcf" , "\x6c\xa1\xc9" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\x6c\xa1\xc9\xc9" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\x6c\xa1\xc9\xc9\xc5" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\xce\x6c\xa1\xc9" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\x6c\xa1\xc9\xe0" } , { "\xc2\xe8\xc8\xe8\xd1" , "\x6c\x7e\xb1\xc9" } , { "\xc2\xe8\xc9" , "\x6c\xa3\xed" } , { "\xc2\xe8\xc9\xda" , "\x6c\xa3\xed\xc9" } , { "\xc2\xe8\xc9\xdb" , "\xce\x6c\xa3\xed" } , { "\xc2\xe8\xc9\xdd" , "\x6c\xa3\xd9\xed" } , { "\xc2\xe8\xc9\xe8\xcf" , "\x6c\xa4\xed" } , { "\xc2\xe8\xc9\xe9" , "\x6c\xa3\xed" } , { "\xc2\xe8\xca" , "\x6c\xa5\xc9" } , { "\xc2\xe8\xca\xa2" , "\x6c\xa5\xc9\xc5" } , { "\xc2\xe8\xca\xda" , "\x6c\xa5\xc9\xc9" } , { "\xc2\xe8\xca\xdb" , "\xce\x6c\xa5\xc9" } , { "\xc2\xe8\xca\xdd" , "\x6c\xa5\xc9\xd6" } , { "\xc2\xe8\xca\xe1" , "\x6c\xa5\xc9\xe0" } , { "\xc2\xe8\xca\xe8\xcf" , "\x6c\xa6\xc9" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\x6c\xa5\xb1\xc9\xc9" } , { "\xc2\xe8\xcb" , "\x6c\xa7\xc9" } , { "\xc2\xe8\xcb\xda" , "\x6c\xa7\xc9\xc9" } , { "\xc2\xe8\xcb\xda\xa2" , "\x6c\xa7\xc9\xc9\xc5" } , { "\xc2\xe8\xcb\xdb" , "\xce\x6c\xa7\xc9" } , { "\xc2\xe8\xcb\xdd" , "\x6c\xa7\xc9\xd6" } , { "\xc2\xe8\xcb\xde" , "\x6c\xa7\xc9\xda" } , { "\xc2\xe8\xcc" , "\x6c\xa9\xc9" } , { "\xc2\xe8\xcc\xa2" , "\x6c\xa9\xc9\xc5" } , { "\xc2\xe8\xcc\xda" , "\x6c\xa9\xc9\xc9" } , { "\xc2\xe8\xcc\xdb" , "\xce\x6c\xa9\xc9" } , { "\xc2\xe8\xcc\xdc" , "\x6c\xa9\xc9\xd2" } , { "\xc2\xe8\xcc\xdd" , "\x6c\xa9\xc9\xd6" } , { "\xc2\xe8\xcc\xdd\xa2" , "\x6c\xa9\xc9\xd6\xc5" } , { "\xc2\xe8\xcc\xdf" , "\x6c\xa9\xc9\xde" } , { "\xc2\xe8\xcc\xe1" , "\x6c\xa9\xc9\xe0" } , { "\xc2\xe8\xcc\xe1\xa2" , "\x6c\xa9\xc9\xe1" } , { "\xc2\xe8\xcc\xe2" , "\x6c\xa9\xc9\xe4" } , { "\xc2\xe8\xcc\xe4" , "\x6c\xa9\xc9\xc9\xe8" } , { "\xc2\xe8\xcc\xe5" , "\x6c\xa9\xc9\xc9\xe0" } , { "\xc2\xe8\xcc\xe6" , "\x6c\xa9\xc9\xc9\xe4" } , { "\xc2\xe8\xcc\xe8" , "\x6c\xa9\xc9\xc3" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x6c\xa9\x48\xed" } , { "\xc2\xe8\xcc\xe8\xca" , "\x6c\xa9\xa5\xc9" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x6c\xa9\xab\xc9" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x6c\xa9\xab\xc9\xc5" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x6c\xa9\xab\xc9\xc9" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x6c\xa9\xab\xc9\xc9\xe1" } , { "\xc2\xe8\xcd" , "\x6c\xab\xc9" } , { "\xc2\xe8\xcd\xa2" , "\x6c\xab\xc9\xc5" } , { "\xc2\xe8\xcd\xda" , "\x6c\xab\xc9\xc9" } , { "\xc2\xe8\xcd\xda\xa2" , "\x6c\xab\xc9\xc9\xc5" } , { "\xc2\xe8\xcd\xdb" , "\xce\x6c\xab\xc9" } , { "\xc2\xe8\xcd\xdc" , "\x6c\xab\xc9\xd2" } , { "\xc2\xe8\xcd\xdd" , "\x6c\xab\xc9\xd6" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x6c\xab\xc9\xd6\xc5" } , { "\xc2\xe8\xcd\xde" , "\x6c\xab\xc9\xda" } , { "\xc2\xe8\xcd\xe1" , "\x6c\xab\xc9\xe0" } , { "\xc2\xe8\xcd\xe1\xa2" , "\x6c\xab\xc9\xe1" } , { "\xc2\xe8\xcd\xe5" , "\x6c\xab\xc9\xc9\xe0" } , { "\xc2\xe8\xcd\xe5\xa2" , "\x6c\xab\xc9\xc9\xe1" } , { "\xc2\xe8\xcd\xe6" , "\x6c\xab\xc9\xc9\xe4" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x6c\xab\x6c\xc9" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x6c\xab\x6c\xc9\xc3" } , { "\xc2\xe8\xcd\xe8\xcc" , "\x6c\xab\xa9\xc9" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\x6c\xab\xa9\xc9\xc5" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\x6c\xab\xa9\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x6c\xab\xab\xc9" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x6c\xab\xab\xc9\xc5" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x6c\xab\xab\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x6c\xab\xab\xc9\xe0" } , { "\xc2\xe8\xcd\xe8\xcf" , "\x6c\xab\xc9\xc4" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\x6c\xab\xc9\xc4\xc5" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\x6c\xab\xc9\xc4\x26" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\x6c\xab\xc9\xc4\xc9" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\x6c\xab\xc9\xc4\xc9\xe0" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x6c\xab\xbb\xc9" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x6c\xab\xbb\xc9\x26" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x6c\xab\xbb\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x6c\xab\xbb\xc9\xe1" } , { "\xc2\xe8\xcf" , "\x6d\xc9" } , { "\xc2\xe8\xcf\xa2" , "\x6d\xc9\xc5" } , { "\xc2\xe8\xcf\xa3" , "\x6d\xc9\x26" } , { "\xc2\xe8\xcf\xda" , "\x6d\xc9\xc9" } , { "\xc2\xe8\xcf\xda\xa2" , "\x6d\xc9\xc9\xc5" } , { "\xc2\xe8\xcf\xdb" , "\xca\x6d\xc9" } , { "\xc2\xe8\xcf\xdb\xa2" , "\xcb\x6d\xc9" } , { "\xc2\xe8\xcf\xdb\xa3" , "\xca\x6d\xc9\x26" } , { "\xc2\xe8\xcf\xdc" , "\x6d\xc9\xd2" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x6d\xc9\xd3" } , { "\xc2\xe8\xcf\xdd" , "\x6d\xc9\xd6" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x6d\xc9\xd6\xc5" } , { "\xc2\xe8\xcf\xde" , "\x6d\xc9\xda" } , { "\xc2\xe8\xcf\xde\xa2" , "\x6d\xc9\xda\xc5" } , { "\xc2\xe8\xcf\xdf" , "\x6d\xc9\xde" } , { "\xc2\xe8\xcf\xe0" , "\x6d\xc9\xe8" } , { "\xc2\xe8\xcf\xe0\xa2" , "\x6d\xc9\xe9" } , { "\xc2\xe8\xcf\xe1" , "\x6d\xc9\xe0" } , { "\xc2\xe8\xcf\xe1\xa2" , "\x6d\xc9\xe1" } , { "\xc2\xe8\xcf\xe2" , "\x6d\xc9\xe4" } , { "\xc2\xe8\xcf\xe2\xa2" , "\x6d\xc9\xe5" } , { "\xc2\xe8\xcf\xe2\xa3" , "\x6d\xc9\xe4\x26" } , { "\xc2\xe8\xcf\xe4" , "\x6d\xc9\xc9\xe8" } , { "\xc2\xe8\xcf\xe5" , "\x6d\xc9\xc9\xe0" } , { "\xc2\xe8\xcf\xe5\xa2" , "\x6d\xc9\xc9\xe1" } , { "\xc2\xe8\xcf\xe5\xa3" , "\x6d\xc9\xc9\xe0\x26" } , { "\xc2\xe8\xcf\xe6" , "\x6d\xc9\xc9\xe4" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x6d\x48\xed" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\xce\x6d\x53\xc9" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x6d\x6c\xc9" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x6d\x6c\xc9\xc9" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x6d\x6c\xc9\xd2" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x6d\x7e\xc9" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x6d\xab\xc9" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x6d\xab\xc9\xc5" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x6d\xab\xc9\xc9" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x6d\xab\xc9\xda" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x6d\xab\xc9\xe0" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x6d\xab\xc9\xc9\xe0" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x6d\xbb\xc9" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x6d\xbb\xc9\xc5" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x6d\xab\xc9\xc7" } , { "\xc2\xe8\xd1" , "\x6c\xb1\xc9" } , { "\xc2\xe8\xd1\xa2" , "\x6c\xb1\xc9\xc5" } , { "\xc2\xe8\xd1\xda" , "\x6c\xb1\xc9\xc9" } , { "\xc2\xe8\xd1\xdb" , "\xce\x6c\xb1\xc9" } , { "\xc2\xe8\xd1\xdc" , "\x6c\xb1\xc9\xd2" } , { "\xc2\xe8\xd1\xdd" , "\x6c\xb1\xc9\xd6" } , { "\xc2\xe8\xd1\xe1" , "\x6c\xb1\xc9\xe0" } , { "\xc2\xe8\xd1\xe2" , "\x6c\xb1\xc9\xe4" } , { "\xc2\xe8\xd1\xe5" , "\x6c\xb1\xc9\xc9\xe0" } , { "\xc2\xe8\xd1\xe8\xc8" , "\x6c\xb1\x7e\xc9" } , { "\xc2\xe8\xd4" , "\x6c\xb4\xc9" } , { "\xc2\xe8\xd4\xa2" , "\x6c\xb4\xc9\xc5" } , { "\xc2\xe8\xd4\xa3" , "\x6c\xb4\xc9\x26" } , { "\xc2\xe8\xd4\xda" , "\x6c\xb4\xc9\xc9" } , { "\xc2\xe8\xd4\xda\xa2" , "\x6c\xb4\xc9\xc9\xc5" } , { "\xc2\xe8\xd4\xdb" , "\xce\x6c\xb4\xc9" } , { "\xc2\xe8\xd4\xdb\xa3" , "\xce\x6c\xb4\xc9\x26" } , { "\xc2\xe8\xd4\xdc" , "\x6c\xb4\xc9\xd2" } , { "\xc2\xe8\xd4\xdd" , "\x6c\xb4\xc9\xd6" } , { "\xc2\xe8\xd4\xdf" , "\x6c\xb4\xc9\xde" } , { "\xc2\xe8\xd4\xe0" , "\x6c\xb4\xc9\xe8" } , { "\xc2\xe8\xd4\xe1" , "\x6c\xb4\xc9\xe0" } , { "\xc2\xe8\xd4\xe2" , "\x6c\xb4\xc9\xe4" } , { "\xc2\xe8\xd4\xe5" , "\x6c\xb4\xc9\xc9\xe0" } , { "\xc2\xe8\xd4\xe5\xa2" , "\x6c\xb4\xc9\xc9\xe1" } , { "\xc2\xe8\xd4\xe6" , "\x6c\xb4\xc9\xc9\xe4" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\xce\x6c\xb4\x6c\xc9" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\x6c\xb4\x6c\xab\xc9" } , { "\xc2\xe8\xd5" , "\x6c\xb6\xc9" } , { "\xc2\xe8\xd5\xda" , "\x6c\xb6\xc9\xc9" } , { "\xc2\xe8\xd5\xdb" , "\xce\x6c\xb6\xc9" } , { "\xc2\xe8\xd5\xde" , "\x6c\xb6\xc9\xda" } , { "\xc2\xe8\xd5\xe1" , "\x6c\xb6\xc9\xe0" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x6c\xb9\xc9" } , { "\xc2\xe8\xd6" , "\x6c\xba\xc9" } , { "\xc2\xe8\xd6\xda" , "\x6c\xba\xc9\xc9" } , { "\xc2\xe8\xd6\xdb" , "\xce\x6c\xba\xc9" } , { "\xc2\xe8\xd6\xe1" , "\x6c\xba\xc9\xe0" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\x6c\xba\x48\xe0\xed" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\x6c\xba\x69\xc9\xc9" } , { "\xc2\xe8\xd7" , "\x6c\xbb\xc9" } , { "\xc2\xe8\xd7\xa2" , "\x6c\xbb\xc9\xc5" } , { "\xc2\xe8\xd7\xa3" , "\x6c\xbb\xc9\x26" } , { "\xc2\xe8\xd7\xda" , "\x6c\xbb\xc9\xc9" } , { "\xc2\xe8\xd7\xda\xa2" , "\x6c\xbb\xc9\xc9\xc5" } , { "\xc2\xe8\xd7\xdb" , "\xce\x6c\xbb\xc9" } , { "\xc2\xe8\xd7\xdb\xa2" , "\xcf\x6c\xbb\xc9" } , { "\xc2\xe8\xd7\xdc" , "\x6c\xbb\xc9\xd2" } , { "\xc2\xe8\xd7\xdd" , "\x6c\xbb\xc9\xd6" } , { "\xc2\xe8\xd7\xde" , "\x6c\xbb\xc9\xda" } , { "\xc2\xe8\xd7\xdf" , "\x6c\xbb\xc9\xde" } , { "\xc2\xe8\xd7\xe0" , "\x6c\xbb\xc9\xe8" } , { "\xc2\xe8\xd7\xe1" , "\x6c\xbb\xc9\xe0" } , { "\xc2\xe8\xd7\xe4" , "\x6c\xbb\xc9\xc9\xe8" } , { "\xc2\xe8\xd7\xe5" , "\x6c\xbb\xc9\xc9\xe0" } , { "\xc2\xe8\xd7\xe6" , "\x6c\xbb\xc9\xc9\xe4" } , { "\xc2\xe8\xd7\xe8" , "\x6c\xbb\xc9\xc3" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\x6c\xbb\x48\xed\xd2" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\x6c\xbb\x6f\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xc6" , "\x6c\xbb\x7b\xc9" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\x6c\xbb\x7b\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\xce\x6c\xbb\x7b\xc9" } , { "\xc2\xe8\xd7\xe8\xc8" , "\x6c\xbb\x7e\xc9" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\x6c\xbb\x7e\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\x6c\xbb\x7e\xc9\xde" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\x6c\xbb\xa3\xdd\xed" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\x6c\xbb\xa3\xed\xc9\xe0" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x6c\xbb\xab\xc9" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x6c\xbb\xab\xc9\xc5" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x6c\xbb\xab\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x6c\xbb\xab\xc9\xc9\xc5" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\xce\x6c\xbb\xab\xc9" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x6c\xbb\xab\xc9\xd6" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x6c\xbb\xab\xc9\xe1" } , { "\xc2\xe8\xd7\xe8\xcf" , "\x6c\xbc\xc9" } , { "\xc2\xe8\xd7\xe8\xd4" , "\x6c\xbb\xb4\xc9" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\x6c\xbb\xb4\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x6c\xbb\xb4\xc9\xe0" } , { "\xc2\xe8\xd8\xdb" , "\xce\x6c\xbe\xfa" } , { "\xc2\xe8\xd8\xdc" , "\x6c\xbe\xfa\xd2" } , { "\xc2\xe8\xd9\xa6" , "\x6c\x3c" } , { "\xc2\xe8\xd9\xb3\xda" , "\x6c\x48\xed\xc9" } , { "\xc2\xe8\xd9\xc2" , "\x6c\x6c\xc9" } , { "\xc2\xe8\xd9\xc2\xda" , "\x6c\x6c\xc9\xc9" } , { "\xc2\xe8\xd9\xc2\xdb" , "\x6c\xca\x6c\xc9" } , { "\xc2\xe8\xd9\xc2\xdc" , "\x6c\x6c\xc9\xd2" } , { "\xc2\xe8\xd9\xc2\xe1" , "\x6c\x6c\xc9\xe0" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\x6c\x6c\xc9\xc9\xe1" } , { "\xc2\xe8\xd9\xc8" , "\x6c\x7e\xc9" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\x6c\x6c\xc9\xc9\xc7" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\x6c\xbb\xc9\xc7" } , { "\xc2\xe8\xd9\xd1" , "\x6c\xb1\xc9" } , { "\xc2\xe8\xd9\xd4" , "\x6c\xb4\xc9" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\x6c\xb4\xc9\xc9\xe1" } , { "\xc2\xe8\xe8" , "\x6c\xc9\xc3" } , { "\xc2\xe8\xe9\xc2" , "\x6c\x6c\xc9" } , { "\xc2\xe8\xe9\xcf" , "\x6c\xad\xf7" } , { "\xc2\xe9" , "\x6c\xc9" } , { "\xc3" , "\x6f\xc9" } , { "\xc3\xa1" , "\x6f\xc9\xc6" } , { "\xc3\xa2" , "\x6f\xc9\xc5" } , { "\xc3\xa3" , "\x6f\xc9\x26" } , { "\xc3\xda" , "\x6f\xc9\xc9" } , { "\xc3\xda\xa1" , "\x6f\xc9\xc9\xc6" } , { "\xc3\xda\xa2" , "\x6f\xc9\xc9\xc5" } , { "\xc3\xdb" , "\xca\x6f\xc9" } , { "\xc3\xdb\xa2" , "\xcb\x6f\xc9" } , { "\xc3\xdc" , "\x6f\xc9\xd2" } , { "\xc3\xdc\xa1" , "\x6f\xc9\xd3" } , { "\xc3\xdc\xa2" , "\x6f\xc9\xd3" } , { "\xc3\xdd" , "\x6f\xc9\xd6" } , { "\xc3\xdd\xa2" , "\x6f\xc9\xd6\xc5" } , { "\xc3\xdd\xa3" , "\x6f\xc9\xd6\x26" } , { "\xc3\xde" , "\x6f\xc9\xda" } , { "\xc3\xde\xa2" , "\x6f\xc9\xda\xc5" } , { "\xc3\xdf" , "\x6f\xc9\xde" } , { "\xc3\xe0" , "\x6f\xc9\xe8" } , { "\xc3\xe1" , "\x6f\xc9\xe0" } , { "\xc3\xe1\xa2" , "\x6f\xc9\xe1" } , { "\xc3\xe2" , "\x6f\xc9\xe4" } , { "\xc3\xe2\xa2" , "\x6f\xc9\xe5" } , { "\xc3\xe4" , "\x6f\xc9\xc9\xe8" } , { "\xc3\xe5" , "\x6f\xc9\xc9\xe0" } , { "\xc3\xe5\xa2" , "\x6f\xc9\xc9\xe1" } , { "\xc3\xe6" , "\x6f\xc9\xc9\xe4" } , { "\xc3\xe6\xa2" , "\x6f\xc9\xc9\xe5" } , { "\xc3\xe7" , "\x6f\xc9\xc9\xe8" } , { "\xc3\xe8" , "\x6f\xc9\xc3" } , { "\xc3\xe8\xb3\xdd" , "\x6f\x48\xd6\xed" } , { "\xc3\xe8\xb5\xda" , "\x6f\x4e\xc9\xc9" } , { "\xc3\xe8\xc2\xdb" , "\xce\x6f\x6c\xc9" } , { "\xc3\xe8\xc2\xdd" , "\x6f\x6c\xc9\xd6" } , { "\xc3\xe8\xc3" , "\x6f\x6f\xc9" } , { "\xc3\xe8\xc3\xda" , "\x6f\x6f\xc9\xc9" } , { "\xc3\xe8\xc8\xde" , "\x6f\x7e\xc9\xda" } , { "\xc3\xe8\xcc\xda" , "\x6f\xa9\xc9\xc9" } , { "\xc3\xe8\xcc\xdc" , "\x6f\xa9\xc9\xd2" } , { "\xc3\xe8\xcd" , "\x6f\xab\xc9" } , { "\xc3\xe8\xcd\xa2" , "\x6f\xab\xc9\xc5" } , { "\xc3\xe8\xcd\xda" , "\x6f\xab\xc9\xc9" } , { "\xc3\xe8\xcd\xda\xa2" , "\x6f\xab\xc9\xc9\xc5" } , { "\xc3\xe8\xcd\xda\xa3" , "\x6f\xab\xc9\xc9\x26" } , { "\xc3\xe8\xcd\xdd" , "\x6f\xab\xc9\xd6" } , { "\xc3\xe8\xcd\xde" , "\x6f\xab\xc9\xda" } , { "\xc3\xe8\xcd\xe5" , "\x6f\xab\xc9\xc9\xe0" } , { "\xc3\xe8\xcd\xe5\xa2" , "\x6f\xab\xc9\xc9\xe1" } , { "\xc3\xe8\xcf" , "\x70\xc9" } , { "\xc3\xe8\xcf\xda" , "\x70\xc9\xc9" } , { "\xc3\xe8\xcf\xda\xa2" , "\x70\xc9\xc9\xc5" } , { "\xc3\xe8\xcf\xdb" , "\xca\x70\xc9" } , { "\xc3\xe8\xcf\xdc" , "\x70\xc9\xd2" } , { "\xc3\xe8\xcf\xde" , "\x70\xc9\xda" } , { "\xc3\xe8\xcf\xe0" , "\x70\xc9\xe8" } , { "\xc3\xe8\xcf\xe1" , "\x70\xc9\xe0" } , { "\xc3\xe8\xcf\xe2" , "\x70\xc9\xe4" } , { "\xc3\xe8\xcf\xe5" , "\x70\xc9\xc9\xe0" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x70\xab\xc9" } , { "\xc3\xe8\xd1\xdd" , "\x6f\xb1\xc9\xd6" } , { "\xc3\xe8\xd1\xe5" , "\x6f\xb1\xc9\xc9\xe0" } , { "\xc3\xe8\xd2" , "\x6f\xb3" } , { "\xc3\xe8\xd4" , "\x6f\xb4\xc9" } , { "\xc3\xe8\xd4\xda" , "\x6f\xb4\xc9\xc9" } , { "\xc3\xe8\xd4\xdb" , "\xce\x6f\xb4\xc9" } , { "\xc3\xe8\xd4\xdc" , "\x6f\xb4\xc9\xd2" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x6f\xb8\xc9\xd2" } , { "\xc3\xe8\xd7" , "\x6f\xbb\xc9" } , { "\xc3\xe8\xd7\xe8" , "\x6f\xbb\xc9\xc3" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x6f\xab\xc9\xc7" } , { "\xc3\xe8\xe8" , "\x6f\xc9\xc3" } , { "\xc3\xe8\xe9\xcf" , "\x6f\xad\xf7" } , { "\xc3\xe9" , "\x6f\xc9" } , { "\xc4" , "\x71\xf6" } , { "\xc4\xa1" , "\x71\xc6\xf6" } , { "\xc4\xa2" , "\x71\xc5\xf6" } , { "\xc4\xa2\xa2" , "\x71\xc5\xf6\xc5" } , { "\xc4\xa3" , "\x71\xf6\x26" } , { "\xc4\xd3\xcd\xda" , "\x71\xf6\xb3\xab\xc9\xc9" } , { "\xc4\xd9" , "\x71\xf6" } , { "\xc4\xda" , "\x71\xf6\xc9" } , { "\xc4\xda\xa1" , "\x71\xf6\xc9\xc6" } , { "\xc4\xda\xa2" , "\x71\xf6\xc9\xc5" } , { "\xc4\xda\xa2\xa2" , "\x71\xf6\xc9\xc5\xc5" } , { "\xc4\xda\xa3" , "\x71\xf6\xc9\x26" } , { "\xc4\xdb" , "\xca\x71\xf6" } , { "\xc4\xdb\xa2" , "\xcb\x71\xf6" } , { "\xc4\xdb\xa2\xa2" , "\xcb\x71\xf6\xc5" } , { "\xc4\xdb\xa3" , "\xca\x71\xf6\x26" } , { "\xc4\xdb\xd7\xdf" , "\xca\x71\xf6\xbb\xc9\xde" } , { "\xc4\xdc" , "\x71\xf6\xd2" } , { "\xc4\xdc\xa2" , "\x71\xf6\xd3" } , { "\xc4\xdd" , "\x71\xd6\xf6" } , { "\xc4\xdd\xa1" , "\x71\xd6\xc6\xf6" } , { "\xc4\xdd\xa2" , "\x71\xd6\xc5\xf6" } , { "\xc4\xdd\xa3" , "\x71\xd6\xf6\x26" } , { "\xc4\xde" , "\x71\xda\xf6" } , { "\xc4\xde\xa1" , "\x71\xda\xc6\xf6" } , { "\xc4\xde\xa2" , "\x71\xda\xc5\xf6" } , { "\xc4\xdf" , "\x78\xf6" } , { "\xc4\xdf\xa2" , "\x78\xc5\xf6" } , { "\xc4\xe0" , "\x71\xe8\xf6" } , { "\xc4\xe0\xa2" , "\x71\xe9\xf6" } , { "\xc4\xe1" , "\x71\xe0\xf6" } , { "\xc4\xe1\xa2" , "\x71\xe1\xf6" } , { "\xc4\xe2" , "\x71\xe4\xf6" } , { "\xc4\xe2\xa2" , "\x71\xe5\xf6" } , { "\xc4\xe2\xa3" , "\x71\xe4\xf6\x26" } , { "\xc4\xe4" , "\x71\xf6\xc9\xe8" } , { "\xc4\xe4\xa2" , "\x71\xf6\xc9\xe9" } , { "\xc4\xe5" , "\x71\xf6\xc9\xe0" } , { "\xc4\xe5\xa2" , "\x71\xf6\xc9\xe1" } , { "\xc4\xe6" , "\x71\xf6\xc9\xe4" } , { "\xc4\xe6\xa2" , "\x71\xf6\xc9\xe5" } , { "\xc4\xe7" , "\x71\xf6\xc9\xe8" } , { "\xc4\xe8" , "\x71\xc3\xf6" } , { "\xc4\xe8\xb3" , "\x71\xc3\xf6\x48\xed" } , { "\xc4\xe8\xb3\xda" , "\x71\xc3\xf6\x48\xed\xc9" } , { "\xc4\xe8\xb3\xdb" , "\xce\x71\xc3\xf6\x48\xed" } , { "\xc4\xe8\xb3\xdd" , "\x71\xc3\xf6\x48\xd6\xed" } , { "\xc4\xe8\xb3\xde" , "\x71\xc3\xf6\x48\xda\xed" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\x71\xc3\xf6\x49\xe8\xed" } , { "\xc4\xe8\xb4" , "\x71\xc3\xf6\x4c\xc9" } , { "\xc4\xe8\xb4\xda" , "\x71\xc3\xf6\x4c\xc9\xc9" } , { "\xc4\xe8\xb5" , "\x71\xc3\xf6\x4e\xc9" } , { "\xc4\xe8\xb5\xa2" , "\x71\xc3\xf6\x4e\xc9\xc5" } , { "\xc4\xe8\xb5\xda" , "\x71\xc3\xf6\x4e\xc9\xc9" } , { "\xc4\xe8\xb5\xdc" , "\x71\xc3\xf6\x4e\xc9\xd2" } , { "\xc4\xe8\xb5\xdd" , "\x71\xc3\xf6\x4e\xc9\xd6" } , { "\xc4\xe8\xb5\xdf" , "\x71\xc3\xf6\x4e\xc9\xde" } , { "\xc4\xe8\xb5\xe1" , "\x71\xc3\xf6\x4e\xc9\xe0" } , { "\xc4\xe8\xb5\xe5" , "\x71\xc3\xf6\x4e\xc9\xc9\xe0" } , { "\xc4\xe8\xb5\xe8\xc5" , "\x71\xc3\xf6\x4e\x79\xc9" } , { "\xc4\xe8\xb5\xe8\xcf" , "\x71\xc3\xf6\x4f\xc9" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\x71\xc3\xf6\x4f\xc9\xc5" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\x71\xc3\xf6\x4f\xc9\xc9" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\x71\xc3\xf6\x4f\xc9\xd2" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x71\xc3\xf6\x4e\xbe\xfa" } , { "\xc4\xe8\xb6" , "\x71\xc3\xf6\x50\xc9" } , { "\xc4\xe8\xb6\xda" , "\x71\xc3\xf6\x50\xc9\xc9" } , { "\xc4\xe8\xb6\xda\xa2" , "\x71\xc3\xf6\x50\xc9\xc9\xc5" } , { "\xc4\xe8\xb6\xdf" , "\x71\xc3\xf6\x50\xc9\xde" } , { "\xc4\xe8\xb6\xe5" , "\x71\xc3\xf6\x50\xc9\xc9\xe0" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x71\xc3\xf6\x50\x6c\xc9" } , { "\xc4\xe8\xb8" , "\x71\xc3\xf6\x53\xc9" } , { "\xc4\xe8\xb8\xda" , "\x71\xc3\xf6\x53\xc9\xc9" } , { "\xc4\xe8\xb8\xdb" , "\xce\x71\xc3\xf6\x53\xc9" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\xce\x71\xc3\xf6\x53\x55\xef" } , { "\xc4\xe8\xba" , "\x71\xc3\xf6\x57\xf0" } , { "\xc4\xe8\xba\xdc" , "\x71\xc3\xf6\x59\xf0" } , { "\xc4\xe8\xba\xdd" , "\x71\xc3\xf6\x57\xd6\xf0" } , { "\xc4\xe8\xba\xdf" , "\x71\xc3\xf6\x57\xde\xf0" } , { "\xc4\xe8\xba\xe1" , "\x71\xc3\xf6\x57\xf0\xe0" } , { "\xc4\xe8\xba\xe5" , "\x71\xc3\xf6\x58\xe0" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\x71\xc3\xf6\x5b\xc9\xd6" } , { "\xc4\xe8\xbb" , "\x71\xc3\xf6\x5d\xf1" } , { "\xc4\xe8\xbf\xda" , "\x71\xc3\xf6\x65\xf4\xc9" } , { "\xc4\xe8\xbf\xdb" , "\xce\x71\xc3\xf6\x65\xf4" } , { "\xc4\xe8\xbf\xe9" , "\x71\xc3\xf6\x65\xf4" } , { "\xc4\xe8\xc0" , "\x71\xc3\xf6\x68\xf5" } , { "\xc4\xe8\xc0\xe9" , "\x71\xc3\xf6\x68\xf5" } , { "\xc4\xe8\xc2" , "\x71\xc3\xf6\x6c\xc9" } , { "\xc4\xe8\xc2\xa2" , "\x71\xc3\xf6\x6c\xc9\xc5" } , { "\xc4\xe8\xc2\xdd" , "\x71\xc3\xf6\x6c\xc9\xd6" } , { "\xc4\xe8\xc2\xe2" , "\x71\xc3\xf6\x6c\xc9\xe4" } , { "\xc4\xe8\xc2\xe5" , "\x71\xc3\xf6\x6c\xc9\xc9\xe0" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\x71\xc3\xf6\x6c\xb4\xc9\xe4" } , { "\xc4\xe8\xc3" , "\x71\xc3\xf6\x6f\xc9" } , { "\xc4\xe8\xc3\xa2" , "\x71\xc3\xf6\x6f\xc9\xc5" } , { "\xc4\xe8\xc3\xda" , "\x71\xc3\xf6\x6f\xc9\xc9" } , { "\xc4\xe8\xc3\xda\xa2" , "\x71\xc3\xf6\x6f\xc9\xc9\xc5" } , { "\xc4\xe8\xc3\xdb" , "\xce\x71\xc3\xf6\x6f\xc9" } , { "\xc4\xe8\xc3\xdb\xa3" , "\xce\x71\xc3\xf6\x6f\xc9\x26" } , { "\xc4\xe8\xc3\xdd" , "\x71\xc3\xf6\x6f\xc9\xd6" } , { "\xc4\xe8\xc4" , "\x74\xf6" } , { "\xc4\xe8\xc4\xa2" , "\x74\xc5\xf6" } , { "\xc4\xe8\xc4\xa3" , "\x74\xf6\x26" } , { "\xc4\xe8\xc4\xda" , "\x74\xf6\xc9" } , { "\xc4\xe8\xc4\xda\xa2" , "\x74\xf6\xc9\xc5" } , { "\xc4\xe8\xc4\xdb" , "\xca\x74\xf6" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xcb\x74\xf6" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xca\x74\xf6\x26" } , { "\xc4\xe8\xc4\xdc" , "\x74\xf6\xd2" } , { "\xc4\xe8\xc4\xdd" , "\x74\xd8\xf6" } , { "\xc4\xe8\xc4\xdd\xa2" , "\x74\xd8\xc5\xf6" } , { "\xc4\xe8\xc4\xde" , "\x74\xdc\xf6" } , { "\xc4\xe8\xc4\xdf" , "\x74\xdf\xf6" } , { "\xc4\xe8\xc4\xe0" , "\x74\xe8\xf6" } , { "\xc4\xe8\xc4\xe0\xa2" , "\x74\xe9\xf6" } , { "\xc4\xe8\xc4\xe1" , "\x74\xe0\xf6" } , { "\xc4\xe8\xc4\xe1\xa2" , "\x74\xe1\xf6" } , { "\xc4\xe8\xc4\xe1\xa3" , "\x74\xe0\xf6\x26" } , { "\xc4\xe8\xc4\xe2" , "\x74\xe4\xf6" } , { "\xc4\xe8\xc4\xe4" , "\x74\xf6\xc9\xe8" } , { "\xc4\xe8\xc4\xe5" , "\x74\xf6\xc9\xe0" } , { "\xc4\xe8\xc4\xe5\xa2" , "\x74\xf6\xc9\xe1" } , { "\xc4\xe8\xc4\xe6" , "\x74\xf6\xc9\xe4" } , { "\xc4\xe8\xc4\xe8" , "\x74\xc3\xf6" } , { "\xc4\xe8\xc4\xe8\xcd" , "\x71\xc3\xf6\x76" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\x71\xc3\xf6\x76\xc5" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\x71\xc3\xf6\x76\xd6" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\x71\xc3\xf6\x76\xc9\xe0" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\xce\x71\xc3\xf6\x72\xf6" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x71\xc3\xf6\x72\xdc\xf6" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\x71\xc3\xf6\x77\xc5\xf6" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\x71\xc3\xf6\x77\xf6\xc9" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\xce\x71\xc3\xf6\x77\xf6" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\x71\xc3\xf6\x77\xe0\xf6" } , { "\xc4\xe8\xc5" , "\x75\xf6" } , { "\xc4\xe8\xc5\xa2" , "\x75\xc5\xf6" } , { "\xc4\xe8\xc5\xa3" , "\x75\xf6\x26" } , { "\xc4\xe8\xc5\xda" , "\x75\xf6\xc9" } , { "\xc4\xe8\xc5\xda\xa1" , "\x75\xf6\xc9\xc6" } , { "\xc4\xe8\xc5\xda\xa2" , "\x75\xf6\xc9\xc5" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\x75\xf6\xc9\xc5\xc5" } , { "\xc4\xe8\xc5\xda\xa3" , "\x75\xf6\xc9\x26" } , { "\xc4\xe8\xc5\xdb" , "\xca\x75\xf6" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xcb\x75\xf6" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xca\x75\xf6\x26" } , { "\xc4\xe8\xc5\xdc" , "\x75\xf6\xd2" } , { "\xc4\xe8\xc5\xdc\xa2" , "\x75\xf6\xd3" } , { "\xc4\xe8\xc5\xdd" , "\x75\xd8\xf6" } , { "\xc4\xe8\xc5\xdd\xa2" , "\x75\xd8\xc5\xf6" } , { "\xc4\xe8\xc5\xde" , "\x75\xdc\xf6" } , { "\xc4\xe8\xc5\xdf" , "\x75\xdf\xf6" } , { "\xc4\xe8\xc5\xe0" , "\x75\xe8\xf6" } , { "\xc4\xe8\xc5\xe1" , "\x75\xe0\xf6" } , { "\xc4\xe8\xc5\xe1\xa2" , "\x75\xe1\xf6" } , { "\xc4\xe8\xc5\xe1\xa3" , "\x75\xe0\xf6\x26" } , { "\xc4\xe8\xc5\xe2" , "\x75\xe4\xf6" } , { "\xc4\xe8\xc5\xe4" , "\x75\xf6\xc9\xe8" } , { "\xc4\xe8\xc5\xe5" , "\x75\xf6\xc9\xe0" } , { "\xc4\xe8\xc5\xe5\xa2" , "\x75\xf6\xc9\xe1" } , { "\xc4\xe8\xc5\xe8\xc2" , "\x71\xc3\xf6\x79\x6c\xc9" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\x71\xc3\xf6\x79\x7b\xc9\xc9" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\x71\xc3\xf6\x79\xa5\xc9\xd2" } , { "\xc4\xe8\xc5\xe8\xcd" , "\x71\xc3\xf6\x79\xab\xc9" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\x71\xc3\xf6\x79\xab\xc9\xc5" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\x71\xc3\xf6\x79\xab\xc9\xc9" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\x71\xc3\xf6\x79\xab\xc9\xc9\xe0" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\xce\x71\xc3\xf6\x7a\xc9" } , { "\xc4\xe8\xc5\xe8\xd4" , "\x71\xc3\xf6\x79\xb4\xc9" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\x71\xc3\xf6\x79\xb4\xc9\xc9" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\x71\xc3\xf6\x79\xb6\xc9\xd6" } , { "\xc4\xe8\xc6" , "\x71\xc3\xf6\x7b\xc9" } , { "\xc4\xe8\xc6\xda" , "\x71\xc3\xf6\x7b\xc9\xc9" } , { "\xc4\xe8\xc6\xdb" , "\xce\x71\xc3\xf6\x7b\xc9" } , { "\xc4\xe8\xc6\xdb\xa2" , "\xcf\x71\xc3\xf6\x7b\xc9" } , { "\xc4\xe8\xc6\xdc" , "\x71\xc3\xf6\x7b\xc9\xd2" } , { "\xc4\xe8\xc6\xdd" , "\x71\xc3\xf6\x7b\xc9\xd6" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x71\xc3\xf6\x7b\xc9\xd6\xc5" } , { "\xc4\xe8\xc6\xe5" , "\x71\xc3\xf6\x7b\xc9\xc9\xe0" } , { "\xc4\xe8\xc6\xe8\xc2" , "\x71\xc3\xf6\x7b\x6c\xc9" } , { "\xc4\xe8\xc8" , "\x71\xc3\xf6\x7e\xc9" } , { "\xc4\xe8\xc8\xa2" , "\x71\xc3\xf6\x7e\xc9\xc5" } , { "\xc4\xe8\xc8\xda" , "\x71\xc3\xf6\x7e\xc9\xc9" } , { "\xc4\xe8\xc8\xdd" , "\x71\xc3\xf6\x7e\xc9\xd6" } , { "\xc4\xe8\xc8\xde" , "\x71\xc3\xf6\x7e\xc9\xda" } , { "\xc4\xe8\xc8\xe2" , "\x71\xc3\xf6\x7e\xc9\xe4" } , { "\xc4\xe8\xca" , "\x71\xc3\xf6\xa5\xc9" } , { "\xc4\xe8\xca\xa2" , "\x71\xc3\xf6\xa5\xc9\xc5" } , { "\xc4\xe8\xca\xda" , "\x71\xc3\xf6\xa5\xc9\xc9" } , { "\xc4\xe8\xca\xda\xa2" , "\x71\xc3\xf6\xa5\xc9\xc9\xc5" } , { "\xc4\xe8\xca\xdb" , "\xce\x71\xc3\xf6\xa5\xc9" } , { "\xc4\xe8\xca\xdc" , "\x71\xc3\xf6\xa5\xc9\xd2" } , { "\xc4\xe8\xca\xdd" , "\x71\xc3\xf6\xa5\xc9\xd6" } , { "\xc4\xe8\xca\xe1" , "\x71\xc3\xf6\xa5\xc9\xe0" } , { "\xc4\xe8\xca\xe5" , "\x71\xc3\xf6\xa5\xc9\xc9\xe0" } , { "\xc4\xe8\xca\xe8\xcf" , "\x71\xc3\xf6\xa6\xc9" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\x71\xc3\xf6\xa6\xc9\xc9" } , { "\xc4\xe8\xcb" , "\x71\xc3\xf6\xa7\xc9" } , { "\xc4\xe8\xcb\xa2" , "\x71\xc3\xf6\xa7\xc9\xc5" } , { "\xc4\xe8\xcb\xda" , "\x71\xc3\xf6\xa7\xc9\xc9" } , { "\xc4\xe8\xcb\xda\xa2" , "\x71\xc3\xf6\xa7\xc9\xc9\xc5" } , { "\xc4\xe8\xcb\xdb" , "\xce\x71\xc3\xf6\xa7\xc9" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xce\x71\xc3\xf6\xa7\xc9\x26" } , { "\xc4\xe8\xcb\xdc" , "\x71\xc3\xf6\xa7\xc9\xd2" } , { "\xc4\xe8\xcb\xdd" , "\x71\xc3\xf6\xa7\xc9\xd6" } , { "\xc4\xe8\xcb\xde" , "\x71\xc3\xf6\xa7\xc9\xda" } , { "\xc4\xe8\xcb\xe1" , "\x71\xc3\xf6\xa7\xc9\xe0" } , { "\xc4\xe8\xcb\xe5" , "\x71\xc3\xf6\xa7\xc9\xc9\xe0" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\x71\xc3\xf6\xa8\xc9\xc9" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\x71\xc3\xf6\xa8\xc9\xda" } , { "\xc4\xe8\xcc" , "\x73" } , { "\xc4\xe8\xcc\xa2" , "\x73\xc5" } , { "\xc4\xe8\xcc\xda" , "\x73\xc9" } , { "\xc4\xe8\xcc\xda\xa2" , "\x73\xc9\xc5" } , { "\xc4\xe8\xcc\xdb" , "\xca\x73" } , { "\xc4\xe8\xcc\xdd" , "\x73\xd6" } , { "\xc4\xe8\xcc\xde" , "\x73\xda" } , { "\xc4\xe8\xcc\xe1" , "\x73\xe0" } , { "\xc4\xe8\xcc\xe1\xa2" , "\x73\xe1" } , { "\xc4\xe8\xcc\xe5" , "\x73\xc9\xe0" } , { "\xc4\xe8\xcd" , "\x76" } , { "\xc4\xe8\xcd\xa1" , "\x76\xc6" } , { "\xc4\xe8\xcd\xa2" , "\x76\xc5" } , { "\xc4\xe8\xcd\xa3" , "\x76\x26" } , { "\xc4\xe8\xcd\xda" , "\x76\xc9" } , { "\xc4\xe8\xcd\xda\xa2" , "\x76\xc9\xc5" } , { "\xc4\xe8\xcd\xda\xa3" , "\x76\xc9\x26" } , { "\xc4\xe8\xcd\xdb" , "\xca\x76" } , { "\xc4\xe8\xcd\xdc" , "\x76\xd2" } , { "\xc4\xe8\xcd\xdd" , "\x76\xd6" } , { "\xc4\xe8\xcd\xdd\xa2" , "\x76\xd6\xc5" } , { "\xc4\xe8\xcd\xde" , "\x76\xda" } , { "\xc4\xe8\xcd\xdf" , "\x76\xde" } , { "\xc4\xe8\xcd\xe0" , "\x76\xe8" } , { "\xc4\xe8\xcd\xe1" , "\x76\xe0" } , { "\xc4\xe8\xcd\xe1\xa2" , "\x76\xe1" } , { "\xc4\xe8\xcd\xe2" , "\x76\xe4" } , { "\xc4\xe8\xcd\xe4" , "\x76\xc9\xe8" } , { "\xc4\xe8\xcd\xe5" , "\x76\xc9\xe0" } , { "\xc4\xe8\xcd\xe5\xa2" , "\x76\xc9\xe1" } , { "\xc4\xe8\xcd\xe6" , "\x76\xc9\xe4" } , { "\xc4\xe8\xcd\xe6\xa2" , "\x76\xc9\xe5" } , { "\xc4\xe8\xcd\xe8" , "\x76\xc3" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x71\xc3\xf6\xab\xab\xc9" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x71\xc3\xf6\xab\xab\xc9\xc9" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\x71\xc3\xf6\xab\xab\xc9\xc9\xe0" } , { "\xc4\xe8\xcd\xe8\xcf" , "\x71\xc3\xf6\xab\xc9\xc4" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\x71\xc3\xf6\xab\xc9\xc4\xc5" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\x71\xc3\xf6\xab\xc9\xc4\xc9" } , { "\xc4\xe8\xcf" , "\x72\xf6" } , { "\xc4\xe8\xcf\xa2" , "\x72\xc5\xf6" } , { "\xc4\xe8\xcf\xa3" , "\x72\xf6\x26" } , { "\xc4\xe8\xcf\xd9" , "\x72\xf6" } , { "\xc4\xe8\xcf\xda" , "\x72\xf6\xc9" } , { "\xc4\xe8\xcf\xda\xa2" , "\x72\xf6\xc9\xc5" } , { "\xc4\xe8\xcf\xdb" , "\xca\x72\xf6" } , { "\xc4\xe8\xcf\xdb\xa2" , "\xcb\x72\xf6" } , { "\xc4\xe8\xcf\xdc" , "\x72\xf6\xd2" } , { "\xc4\xe8\xcf\xdd" , "\x72\xd8\xf6" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x72\xd8\xc5\xf6" } , { "\xc4\xe8\xcf\xde" , "\x72\xdc\xf6" } , { "\xc4\xe8\xcf\xe0" , "\x72\xe8\xf6" } , { "\xc4\xe8\xcf\xe0\xa2" , "\x72\xe9\xf6" } , { "\xc4\xe8\xcf\xe1" , "\x72\xe0\xf6" } , { "\xc4\xe8\xcf\xe2" , "\x72\xe4\xf6" } , { "\xc4\xe8\xcf\xe4" , "\x72\xf6\xc9\xe8" } , { "\xc4\xe8\xcf\xe5" , "\x72\xf6\xc9\xe0" } , { "\xc4\xe8\xcf\xe5\xa2" , "\x72\xf6\xc9\xe1" } , { "\xc4\xe8\xcf\xe6" , "\x72\xf6\xc9\xe4" } , { "\xc4\xe8\xcf\xe8" , "\x72\xc3\xf6" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x71\xc3\xf6\xad\xc3\xf7\x6f\xc9\xc5" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x71\xc3\xf6\xad\xc3\xf7\x7e\xc9\xc9" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x72\xf6\xac" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x72\xf6\xac\xc5" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x72\xf6\xac\xc9" } , { "\xc4\xe8\xd1" , "\x71\xc3\xf6\xb1\xc9" } , { "\xc4\xe8\xd1\xda\xa2" , "\x71\xc3\xf6\xb1\xc9\xc9\xc5" } , { "\xc4\xe8\xd1\xdb" , "\xce\x71\xc3\xf6\xb1\xc9" } , { "\xc4\xe8\xd1\xdc" , "\x71\xc3\xf6\xb1\xc9\xd2" } , { "\xc4\xe8\xd1\xdd" , "\x71\xc3\xf6\xb1\xc9\xd6" } , { "\xc4\xe8\xd1\xde" , "\x71\xc3\xf6\xb1\xc9\xda" } , { "\xc4\xe8\xd1\xe5" , "\x71\xc3\xf6\xb1\xc9\xc9\xe0" } , { "\xc4\xe8\xd2" , "\x71\xc3\xf6\xb3" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\x71\xc3\xf6\xb2\xb4\xc9\xe0" } , { "\xc4\xe8\xd4" , "\x77\xf6" } , { "\xc4\xe8\xd4\xa2" , "\x77\xc5\xf6" } , { "\xc4\xe8\xd4\xda" , "\x77\xf6\xc9" } , { "\xc4\xe8\xd4\xda\xa2" , "\x77\xf6\xc9\xc5" } , { "\xc4\xe8\xd4\xdb" , "\xca\x77\xf6" } , { "\xc4\xe8\xd4\xdc" , "\x77\xf6\xd2" } , { "\xc4\xe8\xd4\xdd" , "\x77\xd8\xf6" } , { "\xc4\xe8\xd4\xde" , "\x77\xdc\xf6" } , { "\xc4\xe8\xd4\xdf" , "\x77\xdf\xf6" } , { "\xc4\xe8\xd4\xdf\xa2" , "\x77\xdf\xc5\xf6" } , { "\xc4\xe8\xd4\xe1" , "\x77\xe0\xf6" } , { "\xc4\xe8\xd4\xe2" , "\x77\xe4\xf6" } , { "\xc4\xe8\xd4\xe5" , "\x77\xf6\xc9\xe0" } , { "\xc4\xe8\xd4\xe5\xa2" , "\x77\xf6\xc9\xe1" } , { "\xc4\xe8\xd4\xe6" , "\x77\xf6\xc9\xe4" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\xce\x71\xc3\xf6\xb4\x6e\xc9" } , { "\xc4\xe8\xd4\xe8\xcd" , "\x71\xc3\xf6\xb4\xab\xc9" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\x71\xc3\xf6\xb4\xab\xc9\xc5" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\x71\xc3\xf6\xb4\xab\xc9\xc9" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\xce\x71\xc3\xf6\xb4\xab\xc9" } , { "\xc4\xe8\xd5" , "\x71\xc3\xf6\xb6\xc9" } , { "\xc4\xe8\xd5\xdb" , "\xce\x71\xc3\xf6\xb6\xc9" } , { "\xc4\xe8\xd5\xe5" , "\x71\xc3\xf6\xb6\xc9\xc9\xe0" } , { "\xc4\xe8\xd5\xe8\xcc" , "\x71\xc3\xf6\xb6\xa9\xc9" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x71\xc3\xf6\xb6\xab\xc9" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\x71\xc3\xf6\xb6\xab\xc9\xc9\xe1" } , { "\xc4\xe8\xd6" , "\x71\xc3\xf6\xba\xc9" } , { "\xc4\xe8\xd6\xda" , "\x71\xc3\xf6\xba\xc9\xc9" } , { "\xc4\xe8\xd6\xdb" , "\xce\x71\xc3\xf6\xba\xc9" } , { "\xc4\xe8\xd6\xe8\xbd" , "\x71\xc3\xf6\xba\x60\xf2" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\x71\xc3\xf6\xba\x60\xf2\xc9\xc5" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\xce\x71\xc3\xf6\xba\x60\xf2" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\x71\xc3\xf6\xba\x60\xf2\xd2" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\xce\x71\xc3\xf6\xba\x63\xf3" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\xce\x71\xc3\xf6\xba\x6c\xc9" } , { "\xc4\xe8\xd7" , "\x71\xc3\xf6\xbb\xc9" } , { "\xc4\xe8\xd7\xda" , "\x71\xc3\xf6\xbb\xc9\xc9" } , { "\xc4\xe8\xd7\xdb" , "\xce\x71\xc3\xf6\xbb\xc9" } , { "\xc4\xe8\xd8" , "\x71\xc3\xf6\xbe\xfa" } , { "\xc4\xe8\xd8\xda" , "\x71\xc3\xf6\xbe\xfa\xc9" } , { "\xc4\xe8\xd8\xdb\xa2" , "\xcf\x71\xc3\xf6\xbe\xfa" } , { "\xc4\xe8\xd8\xdd" , "\x71\xc3\xf6\xbe\xd6\xfa" } , { "\xc4\xe8\xd9\xa6" , "\x71\xc3\xf6\x3c" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\x71\xc3\xf6\x6c\xc9\xc9\xe1" } , { "\xc4\xe8\xd9\xc4" , "\x71\xc3\xf6\x71\xf6" } , { "\xc4\xe8\xd9\xc4\xda" , "\x71\xc3\xf6\x71\xf6\xc9" } , { "\xc4\xe8\xd9\xc4\xdc" , "\x71\xc3\xf6\x71\xf6\xd2" } , { "\xc4\xe8\xd9\xc4\xdd" , "\x71\xc3\xf6\x71\xd6\xf6" } , { "\xc4\xe8\xd9\xc4\xde" , "\x71\xc3\xf6\x71\xda\xf6" } , { "\xc4\xe8\xd9\xc4\xe1" , "\x71\xc3\xf6\x71\xe0\xf6" } , { "\xc4\xe8\xd9\xc4\xe6" , "\x71\xc3\xf6\x71\xf6\xc9\xe4" } , { "\xc4\xe8\xd9\xc5" , "\x71\xc3\xf6\x79\xc9" } , { "\xc4\xe8\xd9\xc5\xda" , "\x71\xc3\xf6\x79\xc9\xc9" } , { "\xc4\xe8\xd9\xc5\xde" , "\x71\xc3\xf6\x79\xc9\xda" } , { "\xc4\xe8\xd9\xc5\xdf" , "\x71\xc3\xf6\x79\xc9\xde" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\x71\xc3\xf6\x79\xc9\xc9\xe1" } , { "\xc4\xe8\xd9\xcb\xda" , "\x71\xc3\xf6\xa7\xc9\xc9" } , { "\xc4\xe8\xd9\xcb\xdd" , "\x71\xc3\xf6\xa7\xc9\xd6" } , { "\xc4\xe8\xd9\xcb\xde" , "\x71\xc3\xf6\xa7\xc9\xda" } , { "\xc4\xe8\xd9\xcb\xdf" , "\x71\xc3\xf6\xa7\xc9\xde" } , { "\xc4\xe8\xd9\xcc\xdb" , "\x71\xc3\xf6\xca\xa9\xc9" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\x71\xc3\xf6\xa9\xc9\xe1" } , { "\xc4\xe8\xd9\xcd" , "\x71\xc3\xf6\xab\xc9" } , { "\xc4\xe8\xd9\xcd\xda" , "\x71\xc3\xf6\xab\xc9\xc9" } , { "\xc4\xe8\xd9\xcd\xdd" , "\x71\xc3\xf6\xab\xc9\xd6" } , { "\xc4\xe8\xd9\xcd\xe5" , "\x71\xc3\xf6\xab\xc9\xc9\xe0" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\x71\xc3\xf6\xab\xc9\xc9\xe1" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\x71\xc3\xf6\x79\xc9\xc7" } , { "\xc4\xe8\xd9\xd4" , "\x71\xc3\xf6\xb4\xc9" } , { "\xc4\xe8\xd9\xd4\xda" , "\x71\xc3\xf6\xb4\xc9\xc9" } , { "\xc4\xe8\xd9\xd4\xdb" , "\x71\xc3\xf6\xca\xb4\xc9" } , { "\xc4\xe8\xd9\xd4\xe1" , "\x71\xc3\xf6\xb4\xc9\xe0" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\x71\xc3\xf6\xb4\xab\xc9" } , { "\xc4\xe8\xe8" , "\x71\xc3\xf6" } , { "\xc4\xe8\xe9\xc4" , "\x71\xc3\xf6\x71\xf6" } , { "\xc4\xe8\xe9\xc5" , "\x71\xc3\xf6\x79\xc9" } , { "\xc4\xe8\xe9\xcd" , "\x71\xc3\xf6\xab\xc9" } , { "\xc4\xe8\xe9\xcf" , "\x71\xc3\xf6\xad\xf7" } , { "\xc4\xe8\xe9\xd4" , "\x71\xc3\xf6\xb4\xc9" } , { "\xc4\xe9" , "\x71\xf6" } , { "\xc5" , "\x79\xc9" } , { "\xc5\xa1" , "\x79\xc9\xc6" } , { "\xc5\xa2" , "\x79\xc9\xc5" } , { "\xc5\xa3" , "\x79\xc9\x26" } , { "\xc5\xd0" , "\x79\xc9\xad\xf7" } , { "\xc5\xd0\xdc" , "\x79\xc9\xad\xf7\xd2" } , { "\xc5\xda" , "\x79\xc9\xc9" } , { "\xc5\xda\xa1" , "\x79\xc9\xc9\xc6" } , { "\xc5\xda\xa2" , "\x79\xc9\xc9\xc5" } , { "\xc5\xdb" , "\xca\x79\xc9" } , { "\xc5\xdb\xa2" , "\xcb\x79\xc9" } , { "\xc5\xdb\xa3" , "\xca\x79\xc9\x26" } , { "\xc5\xdc" , "\x79\xc9\xd2" } , { "\xc5\xdc\xa2" , "\x79\xc9\xd3" } , { "\xc5\xdc\xa3" , "\x79\xc9\xd2\x26" } , { "\xc5\xdd" , "\x79\xc9\xd6" } , { "\xc5\xdd\xa1" , "\x79\xc9\xd6\xc6" } , { "\xc5\xdd\xa2" , "\x79\xc9\xd6\xc5" } , { "\xc5\xdd\xa3" , "\x79\xc9\xd6\x26" } , { "\xc5\xde" , "\x79\xc9\xda" } , { "\xc5\xde\xa1" , "\x79\xc9\xda\xc6" } , { "\xc5\xde\xa2" , "\x79\xc9\xda\xc5" } , { "\xc5\xdf" , "\x79\xc9\xde" } , { "\xc5\xe0" , "\x79\xc9\xe8" } , { "\xc5\xe0\xa2" , "\x79\xc9\xe9" } , { "\xc5\xe1" , "\x79\xc9\xe0" } , { "\xc5\xe1\xa2" , "\x79\xc9\xe1" } , { "\xc5\xe2" , "\x79\xc9\xe4" } , { "\xc5\xe4" , "\x79\xc9\xc9\xe8" } , { "\xc5\xe5" , "\x79\xc9\xc9\xe0" } , { "\xc5\xe5\xa2" , "\x79\xc9\xc9\xe1" } , { "\xc5\xe5\xa3" , "\x79\xc9\xc9\xe0\x26" } , { "\xc5\xe6" , "\x79\xc9\xc9\xe4" } , { "\xc5\xe6\xa2" , "\x79\xc9\xc9\xe5" } , { "\xc5\xe8" , "\x79\xc9\xc3" } , { "\xc5\xe8\xb3\xda" , "\x79\x48\xed\xc9" } , { "\xc5\xe8\xb3\xdd" , "\x79\x48\xd6\xed" } , { "\xc5\xe8\xb3\xe5" , "\x79\x48\xed\xc9\xe0" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x79\x4b\xc9" } , { "\xc5\xe8\xb5" , "\x79\x4e\xc9" } , { "\xc5\xe8\xb8" , "\x79\x53\xc9" } , { "\xc5\xe8\xb8\xda" , "\x79\x53\xc9\xc9" } , { "\xc5\xe8\xbf\xe9\xda" , "\x79\x65\xf4\xc9" } , { "\xc5\xe8\xc1\xda" , "\x79\x69\xc9\xc9" } , { "\xc5\xe8\xc1\xdb" , "\xce\x79\x69\xc9" } , { "\xc5\xe8\xc2" , "\x79\x6c\xc9" } , { "\xc5\xe8\xc2\xda" , "\x79\x6c\xc9\xc9" } , { "\xc5\xe8\xc4" , "\x79\x71\xf6" } , { "\xc5\xe8\xc4\xda" , "\x79\x71\xf6\xc9" } , { "\xc5\xe8\xc4\xda\xa2" , "\x79\x71\xf6\xc9\xc5" } , { "\xc5\xe8\xc4\xdb" , "\xce\x79\x71\xf6" } , { "\xc5\xe8\xc4\xdd" , "\x79\x71\xd6\xf6" } , { "\xc5\xe8\xc4\xde" , "\x79\x71\xda\xf6" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x79\x71\xe1\xf6" } , { "\xc5\xe8\xc4\xe5" , "\x79\x71\xf6\xc9\xe0" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x79\x71\xf6\xc9\xe1" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x79\x74\xf6" } , { "\xc5\xe8\xc5" , "\x79\x79\xc9" } , { "\xc5\xe8\xc5\xa2" , "\x79\x79\xc9\xc5" } , { "\xc5\xe8\xc5\xda" , "\x79\x79\xc9\xc9" } , { "\xc5\xe8\xc5\xda\xa2" , "\x79\x79\xc9\xc9\xc5" } , { "\xc5\xe8\xc5\xdb" , "\xce\x79\x79\xc9" } , { "\xc5\xe8\xc5\xdb\xa2" , "\xcf\x79\x79\xc9" } , { "\xc5\xe8\xc5\xdd" , "\x79\x79\xc9\xd6" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x79\x79\xab\xc9" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x79\x79\xab\xc9\xc9" } , { "\xc5\xe8\xc6" , "\x79\x7b\xc9" } , { "\xc5\xe8\xc6\xda" , "\x79\x7b\xc9\xc9" } , { "\xc5\xe8\xc6\xdd" , "\x79\x7b\xc9\xd6" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x79\x7b\xab\xc9\xc9" } , { "\xc5\xe8\xc8\xdd" , "\x79\x7e\xc9\xd6" } , { "\xc5\xe8\xc8\xde" , "\x79\x7e\xc9\xda" } , { "\xc5\xe8\xca\xdd" , "\x79\xa5\xc9\xd6" } , { "\xc5\xe8\xca\xe6" , "\x79\xa5\xc9\xc9\xe4" } , { "\xc5\xe8\xcb\xdd" , "\x79\xa7\xc9\xd6" } , { "\xc5\xe8\xcc" , "\x79\xa9\xc9" } , { "\xc5\xe8\xcc\xda" , "\x79\xa9\xc9\xc9" } , { "\xc5\xe8\xcc\xdd" , "\x79\xa9\xc9\xd6" } , { "\xc5\xe8\xcd" , "\x79\xab\xc9" } , { "\xc5\xe8\xcd\xa2" , "\x79\xab\xc9\xc5" } , { "\xc5\xe8\xcd\xa3" , "\x79\xab\xc9\x26" } , { "\xc5\xe8\xcd\xda" , "\x79\xab\xc9\xc9" } , { "\xc5\xe8\xcd\xda\xa2" , "\x79\xab\xc9\xc9\xc5" } , { "\xc5\xe8\xcd\xda\xa3" , "\x79\xab\xc9\xc9\x26" } , { "\xc5\xe8\xcd\xdb" , "\xce\x79\xab\xc9" } , { "\xc5\xe8\xcd\xdc" , "\x79\xab\xc9\xd2" } , { "\xc5\xe8\xcd\xdd" , "\x79\xab\xc9\xd6" } , { "\xc5\xe8\xcd\xde" , "\x79\xab\xc9\xda" } , { "\xc5\xe8\xcd\xe1" , "\x79\xab\xc9\xe0" } , { "\xc5\xe8\xcd\xe2" , "\x79\xab\xc9\xe4" } , { "\xc5\xe8\xcd\xe5" , "\x79\xab\xc9\xc9\xe0" } , { "\xc5\xe8\xcd\xe5\xa2" , "\x79\xab\xc9\xc9\xe1" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x79\xab\x6c\xc9" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x79\xab\xab\xc9" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x79\xab\xab\xc9\xc9" } , { "\xc5\xe8\xcf" , "\x7a\xc9" } , { "\xc5\xe8\xcf\xa2" , "\x7a\xc9\xc5" } , { "\xc5\xe8\xcf\xda" , "\x7a\xc9\xc9" } , { "\xc5\xe8\xcf\xda\xa2" , "\x7a\xc9\xc9\xc5" } , { "\xc5\xe8\xcf\xdb" , "\xca\x7a\xc9" } , { "\xc5\xe8\xcf\xdc" , "\x7a\xc9\xd2" } , { "\xc5\xe8\xcf\xdd" , "\x7a\xc9\xd6" } , { "\xc5\xe8\xcf\xde" , "\x7a\xc9\xda" } , { "\xc5\xe8\xcf\xdf" , "\x7a\xc9\xde" } , { "\xc5\xe8\xcf\xe1" , "\x7a\xc9\xe0" } , { "\xc5\xe8\xcf\xe5" , "\x7a\xc9\xc9\xe0" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\x7a\xa9\xc9\xc9\xe0" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x7a\xab\xc9" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x7a\xab\xc9\xc9" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x7a\xab\xc9\xda" } , { "\xc5\xe8\xcf\xe8\xd4" , "\x7a\xb4\xc9" } , { "\xc5\xe8\xd1\xdd" , "\x79\xb1\xc9\xd6" } , { "\xc5\xe8\xd1\xe5" , "\x79\xb1\xc9\xc9\xe0" } , { "\xc5\xe8\xd2" , "\x79\xb3" } , { "\xc5\xe8\xd4" , "\x79\xb4\xc9" } , { "\xc5\xe8\xd4\xa2" , "\x79\xb4\xc9\xc5" } , { "\xc5\xe8\xd4\xda" , "\x79\xb4\xc9\xc9" } , { "\xc5\xe8\xd4\xdb" , "\xce\x79\xb4\xc9" } , { "\xc5\xe8\xd4\xdb\xa2" , "\xcf\x79\xb4\xc9" } , { "\xc5\xe8\xd4\xdc" , "\x79\xb4\xc9\xd2" } , { "\xc5\xe8\xd4\xdd" , "\x79\xb4\xc9\xd6" } , { "\xc5\xe8\xd4\xe1" , "\x79\xb4\xc9\xe0" } , { "\xc5\xe8\xd4\xe2" , "\x79\xb4\xc9\xe4" } , { "\xc5\xe8\xd5\xda" , "\x79\xb6\xc9\xc9" } , { "\xc5\xe8\xd6\xda" , "\x79\xba\xc9\xc9" } , { "\xc5\xe8\xd6\xdb" , "\xce\x79\xba\xc9" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x79\xba\x60\xf2" } , { "\xc5\xe8\xd7" , "\x79\xbb\xc9" } , { "\xc5\xe8\xd7\xe1" , "\x79\xbb\xc9\xe0" } , { "\xc5\xe8\xd7\xe8" , "\x79\xbb\xc9\xc3" } , { "\xc5\xe8\xd9\xcd" , "\x79\xab\xc9" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\x79\xb4\xc9\xc7" } , { "\xc5\xe8\xe8" , "\x79\xc9\xc3" } , { "\xc5\xe9" , "\x79\xc9" } , { "\xc6" , "\x7b\xc9" } , { "\xc6\xa1" , "\x7b\xc9\xc6" } , { "\xc6\xa2" , "\x7b\xc9\xc5" } , { "\xc6\xa2\xa2" , "\x7b\xc9\xc5\xc5" } , { "\xc6\xa3" , "\x7b\xc9\x26" } , { "\xc6\xda" , "\x7b\xc9\xc9" } , { "\xc6\xda\xa1" , "\x7b\xc9\xc9\xc6" } , { "\xc6\xda\xa2" , "\x7b\xc9\xc9\xc5" } , { "\xc6\xda\xa3" , "\x7b\xc9\xc9\x26" } , { "\xc6\xdb" , "\xca\x7b\xc9" } , { "\xc6\xdb\xa2" , "\xcb\x7b\xc9" } , { "\xc6\xdb\xa3" , "\xca\x7b\xc9\x26" } , { "\xc6\xdc" , "\x7b\xc9\xd2" } , { "\xc6\xdc\xa2" , "\x7b\xc9\xd3" } , { "\xc6\xdd" , "\x7b\xc9\xd6" } , { "\xc6\xdd\xa1" , "\x7b\xc9\xd6\xc6" } , { "\xc6\xdd\xa2" , "\x7b\xc9\xd6\xc5" } , { "\xc6\xdd\xa2\xa2" , "\x7b\xc9\xd6\xc5\xc5" } , { "\xc6\xdd\xa3" , "\x7b\xc9\xd6\x26" } , { "\xc6\xde" , "\x7b\xc9\xda" } , { "\xc6\xde\xa1" , "\x7b\xc9\xda\xc6" } , { "\xc6\xde\xa2" , "\x7b\xc9\xda\xc5" } , { "\xc6\xde\xd0\xe8" , "\x7b\xc9\xda\xad\xc3\xf7" } , { "\xc6\xdf" , "\x7b\xc9\xde" } , { "\xc6\xe0" , "\x7b\xc9\xe8" } , { "\xc6\xe0\xa2" , "\x7b\xc9\xe9" } , { "\xc6\xe1" , "\x7b\xc9\xe0" } , { "\xc6\xe1\xa2" , "\x7b\xc9\xe1" } , { "\xc6\xe2" , "\x7b\xc9\xe4" } , { "\xc6\xe2\xa2" , "\x7b\xc9\xe5" } , { "\xc6\xe2\xa3" , "\x7b\xc9\xe4\x26" } , { "\xc6\xe4" , "\x7b\xc9\xc9\xe8" } , { "\xc6\xe4\xa2" , "\x7b\xc9\xc9\xe9" } , { "\xc6\xe5" , "\x7b\xc9\xc9\xe0" } , { "\xc6\xe5\xa2" , "\x7b\xc9\xc9\xe1" } , { "\xc6\xe5\xa3" , "\x7b\xc9\xc9\xe0\x26" } , { "\xc6\xe6" , "\x7b\xc9\xc9\xe4" } , { "\xc6\xe6\xa2" , "\x7b\xc9\xc9\xe5" } , { "\xc6\xe7" , "\x7b\xc9\xc9\xe8" } , { "\xc6\xe8" , "\x7b\xc9\xc3" } , { "\xc6\xe8\xb3" , "\x7b\x48\xed" } , { "\xc6\xe8\xb3\xa2" , "\x7b\x48\xc5\xed" } , { "\xc6\xe8\xb3\xda" , "\x7b\x48\xed\xc9" } , { "\xc6\xe8\xb3\xda\xa2" , "\x7b\x48\xed\xc9\xc5" } , { "\xc6\xe8\xb3\xdb" , "\xce\x7b\x48\xed" } , { "\xc6\xe8\xb3\xdc" , "\x7b\x48\xed\xd2" } , { "\xc6\xe8\xb3\xdd" , "\x7b\x48\xd6\xed" } , { "\xc6\xe8\xb3\xdd\xa2" , "\x7b\x48\xd6\xc5\xed" } , { "\xc6\xe8\xb3\xde" , "\x7b\x48\xda\xed" } , { "\xc6\xe8\xb3\xdf" , "\x7b\x48\xde\xed" } , { "\xc6\xe8\xb3\xe0" , "\x7b\x48\xe8\xed" } , { "\xc6\xe8\xb3\xe1" , "\x7b\x48\xe0\xed" } , { "\xc6\xe8\xb3\xe2" , "\x7b\x48\xe4\xed" } , { "\xc6\xe8\xb3\xe2\xa2" , "\x7b\x48\xe5\xed" } , { "\xc6\xe8\xb3\xe4" , "\x7b\x48\xed\xc9\xe8" } , { "\xc6\xe8\xb3\xe5" , "\x7b\x48\xed\xc9\xe0" } , { "\xc6\xe8\xb3\xe5\xa2" , "\x7b\x48\xed\xc9\xe1" } , { "\xc6\xe8\xb3\xe8" , "\x7b\x48\xc3\xed" } , { "\xc6\xe8\xb3\xe8\xb3" , "\x7b\x49\xed" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\xce\x7b\x47\x60\xf2" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x7b\x47\xab\xc9\xd6" } , { "\xc6\xe8\xb3\xe8\xcf" , "\x7b\x4a\xed" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\xce\x7b\x4a\xed" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\x7b\x4a\xed\xd2" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\x7b\x4a\xed\xc9\xe0" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\x7b\x47\xb1\xc9\xc9" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\x7b\x47\xb1\xc9\xd6" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\x7b\x47\xb1\xc9\xda" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\x7b\x47\xb1\xc9\xe0" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\x7b\x47\xb1\xc9\xc9\xe0" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\x7b\x47\xb4\xc9\xc9" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\xce\x7b\x47\xb4\xc9" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\x7b\x47\xb4\xc9\xe8" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x7b\x47\xb6\xc9" } , { "\xc6\xe8\xb3\xe8\xd6" , "\x7b\x4b\xc9" } , { "\xc6\xe8\xb3\xe9" , "\x7b\x48\xed" } , { "\xc6\xe8\xb4" , "\x7b\x4c\xc9" } , { "\xc6\xe8\xb4\xda" , "\x7b\x4c\xc9\xc9" } , { "\xc6\xe8\xb4\xdb" , "\xce\x7b\x4c\xc9" } , { "\xc6\xe8\xb5" , "\x7b\x4e\xc9" } , { "\xc6\xe8\xb5\xa2" , "\x7b\x4e\xc9\xc5" } , { "\xc6\xe8\xb5\xda" , "\x7b\x4e\xc9\xc9" } , { "\xc6\xe8\xb5\xdb" , "\xce\x7b\x4e\xc9" } , { "\xc6\xe8\xb5\xdd" , "\x7b\x4e\xc9\xd6" } , { "\xc6\xe8\xb5\xde" , "\x7b\x4e\xc9\xda" } , { "\xc6\xe8\xb5\xe0" , "\x7b\x4e\xc9\xe8" } , { "\xc6\xe8\xb5\xe4" , "\x7b\x4e\xc9\xc9\xe8" } , { "\xc6\xe8\xb5\xe4\xa2" , "\x7b\x4e\xc9\xc9\xe9" } , { "\xc6\xe8\xb5\xe5" , "\x7b\x4e\xc9\xc9\xe0" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x7b\x4e\x4e\xc9\xc9" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\x7b\x4f\xc9\xc9" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\x7b\x4f\xc9\xd2" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\x7b\x4f\xc9\xe0" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\x7b\x4f\xc9\xc9\xe0" } , { "\xc6\xe8\xb6" , "\x7b\x50\xc9" } , { "\xc6\xe8\xb6\xdc" , "\x7b\x50\xc9\xd2" } , { "\xc6\xe8\xb6\xdd" , "\x7b\x50\xc9\xd6" } , { "\xc6\xe8\xb8" , "\x7b\x53\xc9" } , { "\xc6\xe8\xb8\xa2" , "\x7b\x53\xc9\xc5" } , { "\xc6\xe8\xb8\xda" , "\x7b\x53\xc9\xc9" } , { "\xc6\xe8\xb8\xdb" , "\xce\x7b\x53\xc9" } , { "\xc6\xe8\xb8\xdb\xa2" , "\xcf\x7b\x53\xc9" } , { "\xc6\xe8\xb8\xdc" , "\x7b\x53\xc9\xd2" } , { "\xc6\xe8\xb8\xdd" , "\x7b\x53\xc9\xd6" } , { "\xc6\xe8\xb8\xde" , "\x7b\x53\xc9\xda" } , { "\xc6\xe8\xb8\xe0" , "\x7b\x53\xc9\xe8" } , { "\xc6\xe8\xb8\xe0\xa2" , "\x7b\x53\xc9\xe9" } , { "\xc6\xe8\xb8\xe1" , "\x7b\x53\xc9\xe0" } , { "\xc6\xe8\xb8\xe5" , "\x7b\x53\xc9\xc9\xe0" } , { "\xc6\xe8\xb8\xe5\xa2" , "\x7b\x53\xc9\xc9\xe1" } , { "\xc6\xe8\xb8\xe8" , "\x7b\x53\xc9\xc3" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x7b\x53\x65\xc3\xf4" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\x7b\x53\xb4\xc9\xc9\xc5" } , { "\xc6\xe8\xb9" , "\x7b\x55\xef" } , { "\xc6\xe8\xb9\xda" , "\x7b\x55\xef\xc9" } , { "\xc6\xe8\xb9\xe0" , "\x7b\x55\xef\xe8" } , { "\xc6\xe8\xba" , "\x7b\x57\xf0" } , { "\xc6\xe8\xba\xa2" , "\x7b\x57\xc5\xf0" } , { "\xc6\xe8\xba\xda" , "\x7b\x58" } , { "\xc6\xe8\xba\xdb" , "\xce\x7b\x57\xf0" } , { "\xc6\xe8\xba\xdb\xa2" , "\xcf\x7b\x57\xf0" } , { "\xc6\xe8\xba\xdc" , "\x7b\x59\xf0" } , { "\xc6\xe8\xba\xde" , "\x7b\x57\xda\xf0" } , { "\xc6\xe8\xba\xe0" , "\x7b\x57\xf0\xe8" } , { "\xc6\xe8\xba\xe0\xa2" , "\x7b\x57\xf0\xe9" } , { "\xc6\xe8\xba\xe1" , "\x7b\x57\xf0\xe0" } , { "\xc6\xe8\xba\xe2" , "\x7b\x57\xf0\xe4" } , { "\xc6\xe8\xba\xe5" , "\x7b\x58\xe0" } , { "\xc6\xe8\xba\xe8" , "\x7b\x57\xc3\xf0" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\x7b\x5b\xc9\xc9" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x7b\x56\xab\xc9\xda" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\x7b\x56\xb4\xc9\xc9" } , { "\xc6\xe8\xba\xe9\xda" , "\x7b\x58" } , { "\xc6\xe8\xbc\xe8\xb8" , "\x7b\x5f\x53\xc9" } , { "\xc6\xe8\xbd" , "\x7b\x60\xf2" } , { "\xc6\xe8\xbd\xda" , "\x7b\x60\xf2\xc9" } , { "\xc6\xe8\xbd\xdb" , "\xce\x7b\x60\xf2" } , { "\xc6\xe8\xbd\xdb\xa2" , "\xcf\x7b\x60\xf2" } , { "\xc6\xe8\xbd\xdc" , "\x7b\x60\xf2\xd2" } , { "\xc6\xe8\xbd\xdd" , "\x7b\x60\xd6\xf2" } , { "\xc6\xe8\xbd\xde" , "\x7b\x60\xda\xf2" } , { "\xc6\xe8\xbd\xe0" , "\x7b\x60\xe8\xf2" } , { "\xc6\xe8\xbd\xe1" , "\x7b\x60\xe0\xf2" } , { "\xc6\xe8\xbd\xe1\xa2" , "\x7b\x60\xe1\xf2" } , { "\xc6\xe8\xbd\xe2" , "\x7b\x60\xe4\xf2" } , { "\xc6\xe8\xbd\xe2\xa2" , "\x7b\x60\xe5\xf2" } , { "\xc6\xe8\xbd\xe5" , "\x7b\x60\xf2\xc9\xe0" } , { "\xc6\xe8\xbd\xe5\xa2" , "\x7b\x60\xf2\xc9\xe1" } , { "\xc6\xe8\xbd\xe8" , "\x7b\x60\xc3\xf2" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\xce\x7b\x60\xc3\xf2\x7b\xc9" } , { "\xc6\xe8\xbd\xe8\xcf" , "\x7b\x60\xc4\xf2" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\x7b\x60\xc4\xf2\xc9" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\xce\x7b\x60\xc4\xf2" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\x7b\x60\xc4\xf2\xd2" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\x7b\x60\xdb\xf2" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\x7b\x60\xc4\xe8\xf2" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\x7b\x60\xc4\xe0\xf2" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\x7b\x60\xc4\xe4\xf2" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\x7b\x60\xc4\xf2\xc9\xe0" } , { "\xc6\xe8\xbd\xe8\xd1" , "\x7b\x60\xc3\xf2\xb1\xc9" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\x7b\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\x7b\x60\xc3\xf2\xb1\xc9\xda" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x7b\x60\xc3\xf2\xbb\xc9" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\xce\x7b\x60\xc3\xf2\xbb\xc9" } , { "\xc6\xe8\xbe" , "\x7b\x63\xf3" } , { "\xc6\xe8\xbf" , "\x7b\x65\xf4" } , { "\xc6\xe8\xbf\xa2" , "\x7b\x65\xc5\xf4" } , { "\xc6\xe8\xbf\xda" , "\x7b\x65\xf4\xc9" } , { "\xc6\xe8\xbf\xdb" , "\xce\x7b\x65\xf4" } , { "\xc6\xe8\xbf\xdb\xa2" , "\xcf\x7b\x65\xf4" } , { "\xc6\xe8\xbf\xdc" , "\x7b\x65\xf4\xd2" } , { "\xc6\xe8\xbf\xdd" , "\x7b\x65\xd6\xf4" } , { "\xc6\xe8\xbf\xe0" , "\x7b\x65\xe8\xf4" } , { "\xc6\xe8\xbf\xe0\xa2" , "\x7b\x65\xe9\xf4" } , { "\xc6\xe8\xbf\xe1" , "\x7b\x65\xe0\xf4" } , { "\xc6\xe8\xbf\xe2" , "\x7b\x65\xe4\xf4" } , { "\xc6\xe8\xbf\xe5" , "\x7b\x65\xf4\xc9\xe0" } , { "\xc6\xe8\xbf\xe5\xa2" , "\x7b\x65\xf4\xc9\xe1" } , { "\xc6\xe8\xbf\xe8" , "\x7b\x65\xc3\xf4" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x7b\x65\xc3\xf4\x48\xed\xc9" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x7b\x65\xc3\xf4\x4e\xc9\xc9" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\x7b\x65\xc3\xf4\xa5\xab\xc9\xc9" } , { "\xc6\xe8\xbf\xe8\xcf" , "\x7b\x65\xc4\xf4" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\x7b\x65\xc4\xf4\xc9" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\xce\x7b\x65\xc4\xf4" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\x7b\x65\xc4\xf4\xd2" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\x7b\x65\xc4\xf4\xc9\xe0" } , { "\xc6\xe8\xc0\xdb" , "\xce\x7b\x68\xf5" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\x7b\x69\x6b\xfc" } , { "\xc6\xe8\xc2" , "\x7b\x6c\xc9" } , { "\xc6\xe8\xc2\xa2" , "\x7b\x6c\xc9\xc5" } , { "\xc6\xe8\xc2\xa3" , "\x7b\x6c\xc9\x26" } , { "\xc6\xe8\xc2\xda" , "\x7b\x6c\xc9\xc9" } , { "\xc6\xe8\xc2\xdb" , "\xce\x7b\x6c\xc9" } , { "\xc6\xe8\xc2\xdc" , "\x7b\x6c\xc9\xd2" } , { "\xc6\xe8\xc2\xdd" , "\x7b\x6c\xc9\xd6" } , { "\xc6\xe8\xc2\xde" , "\x7b\x6c\xc9\xda" } , { "\xc6\xe8\xc2\xe0" , "\x7b\x6c\xc9\xe8" } , { "\xc6\xe8\xc2\xe1" , "\x7b\x6c\xc9\xe0" } , { "\xc6\xe8\xc2\xe5" , "\x7b\x6c\xc9\xc9\xe0" } , { "\xc6\xe8\xc2\xe5\xa2" , "\x7b\x6c\xc9\xc9\xe1" } , { "\xc6\xe8\xc2\xe8" , "\x7b\x6c\xc9\xc3" } , { "\xc6\xe8\xc2\xe8\xc2" , "\x7b\x6e\xc9" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\x7b\x6c\x7e\x6c\xc9" } , { "\xc6\xe8\xc2\xe8\xcd" , "\x7b\x6c\xab\xc9" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\x7b\x6c\xab\xc9\xc9" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\x7b\x6c\xab\xc9\xe0" } , { "\xc6\xe8\xc2\xe8\xcf" , "\x7b\x6d\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\x7b\x6d\xc9\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xce\x7b\x6d\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\x7b\x6d\xc9\xd2" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\x7b\x6d\xc9\xe0" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\x7b\x6d\xc9\xc9\xe0" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\x7b\x6d\xc9\xc9\xe1" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\x7b\x6d\xab\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\x7b\x6d\xab\xc9\xc9\xe0" } , { "\xc6\xe8\xc2\xe8\xd4" , "\x7b\x6c\xb4\xc9" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\x7b\x6c\xbb\xc9\xc9\xc5" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\x7b\x6c\xbb\xc9\xc9\xe0" } , { "\xc6\xe8\xc3" , "\x7b\x6f\xc9" } , { "\xc6\xe8\xc3\xda" , "\x7b\x6f\xc9\xc9" } , { "\xc6\xe8\xc3\xdb" , "\xce\x7b\x6f\xc9" } , { "\xc6\xe8\xc3\xdc" , "\x7b\x6f\xc9\xd2" } , { "\xc6\xe8\xc3\xe1" , "\x7b\x6f\xc9\xe0" } , { "\xc6\xe8\xc3\xe2" , "\x7b\x6f\xc9\xe4" } , { "\xc6\xe8\xc3\xe5" , "\x7b\x6f\xc9\xc9\xe0" } , { "\xc6\xe8\xc3\xe5\xa2" , "\x7b\x6f\xc9\xc9\xe1" } , { "\xc6\xe8\xc3\xe8" , "\x7b\x6f\xc9\xc3" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\x7b\x70\xc9\xc9\xc5" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\x7b\x70\xc9\xe0" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\x7b\x70\xc9\xe4" } , { "\xc6\xe8\xc4" , "\x7b\x71\xf6" } , { "\xc6\xe8\xc4\xda" , "\x7b\x71\xf6\xc9" } , { "\xc6\xe8\xc4\xda\xa2" , "\x7b\x71\xf6\xc9\xc5" } , { "\xc6\xe8\xc4\xdb" , "\xce\x7b\x71\xf6" } , { "\xc6\xe8\xc4\xdc" , "\x7b\x71\xf6\xd2" } , { "\xc6\xe8\xc4\xdc\xa2" , "\x7b\x71\xf6\xd3" } , { "\xc6\xe8\xc4\xdd" , "\x7b\x71\xd6\xf6" } , { "\xc6\xe8\xc4\xde" , "\x7b\x71\xda\xf6" } , { "\xc6\xe8\xc4\xde\xa2" , "\x7b\x71\xda\xc5\xf6" } , { "\xc6\xe8\xc4\xe0" , "\x7b\x71\xe8\xf6" } , { "\xc6\xe8\xc4\xe1" , "\x7b\x71\xe0\xf6" } , { "\xc6\xe8\xc4\xe1\xa2" , "\x7b\x71\xe1\xf6" } , { "\xc6\xe8\xc4\xe2" , "\x7b\x71\xe4\xf6" } , { "\xc6\xe8\xc4\xe4" , "\x7b\x71\xf6\xc9\xe8" } , { "\xc6\xe8\xc4\xe5" , "\x7b\x71\xf6\xc9\xe0" } , { "\xc6\xe8\xc4\xe5\xa2" , "\x7b\x71\xf6\xc9\xe1" } , { "\xc6\xe8\xc4\xe6" , "\x7b\x71\xf6\xc9\xe4" } , { "\xc6\xe8\xc4\xe8\xc5" , "\x7b\x75\xf6" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\x7b\x75\xf6\xc9" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\x7b\x75\xf6\xd2" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\x7b\x71\xc3\xf6\x7b\xc9\xc9" } , { "\xc6\xe8\xc4\xe8\xcd" , "\x7b\x76" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\x7b\x76\xd6" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\x7b\x76\xc9\xe0" } , { "\xc6\xe8\xc4\xe8\xcf" , "\x7b\x72\xf6" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\x7b\x72\xf6\xc9" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\x7b\x72\xf6\xc9\xc5" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\xce\x7b\x72\xf6" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\x7b\x72\xf6\xd2" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\x7b\x72\xdc\xf6" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\x7b\x72\xe0\xf6" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\x7b\x72\xf6\xc9\xe0" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\x7b\x72\xf6\xc9\xe1" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\x7b\x72\xf6\xac\xda" } , { "\xc6\xe8\xc4\xe8\xd4" , "\x7b\x77\xf6" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\x7b\x77\xf6\xc9" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\xce\x7b\x77\xf6" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\x7b\x77\xf6\xd2" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\x7b\x77\xf6\xc9\xe0" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\x7b\x77\xf6\xc9\xe1" } , { "\xc6\xe8\xc5" , "\x7b\x79\xc9" } , { "\xc6\xe8\xc5\xda" , "\x7b\x79\xc9\xc9" } , { "\xc6\xe8\xc5\xdb" , "\xce\x7b\x79\xc9" } , { "\xc6\xe8\xc5\xdc" , "\x7b\x79\xc9\xd2" } , { "\xc6\xe8\xc5\xdd" , "\x7b\x79\xc9\xd6" } , { "\xc6\xe8\xc5\xde" , "\x7b\x79\xc9\xda" } , { "\xc6\xe8\xc5\xe1" , "\x7b\x79\xc9\xe0" } , { "\xc6\xe8\xc5\xe5" , "\x7b\x79\xc9\xc9\xe0" } , { "\xc6\xe8\xc5\xe5\xa2" , "\x7b\x79\xc9\xc9\xe1" } , { "\xc6\xe8\xc5\xe6" , "\x7b\x79\xc9\xc9\xe4" } , { "\xc6\xe8\xc5\xe8\xcd" , "\x7b\x79\xab\xc9" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\x7b\x79\xab\xc9\xc9" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\x7b\x79\xab\xc9\xd2" } , { "\xc6\xe8\xc5\xe8\xcf" , "\x7b\x7a\xc9" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\x7b\x7a\xc9\xc9\xc5" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\x7b\x7a\xc9\xd2" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\x7b\x7a\xc9\xc9\xe1" } , { "\xc6\xe8\xc6" , "\x7d\xc9" } , { "\xc6\xe8\xc6\xa2" , "\x7d\xc9\xc5" } , { "\xc6\xe8\xc6\xda" , "\x7d\xc9\xc9" } , { "\xc6\xe8\xc6\xda\xa2" , "\x7d\xc9\xc9\xc5" } , { "\xc6\xe8\xc6\xdb" , "\xca\x7d\xc9" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xcb\x7d\xc9" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xca\x7d\xc9\x26" } , { "\xc6\xe8\xc6\xdc" , "\x7d\xc9\xd2" } , { "\xc6\xe8\xc6\xdc\xa2" , "\x7d\xc9\xd3" } , { "\xc6\xe8\xc6\xdd" , "\x7d\xc9\xd6" } , { "\xc6\xe8\xc6\xdd\xa2" , "\x7d\xc9\xd6\xc5" } , { "\xc6\xe8\xc6\xde" , "\x7d\xc9\xda" } , { "\xc6\xe8\xc6\xdf" , "\x7d\xc9\xde" } , { "\xc6\xe8\xc6\xe0" , "\x7d\xc9\xe8" } , { "\xc6\xe8\xc6\xe0\xa2" , "\x7d\xc9\xe9" } , { "\xc6\xe8\xc6\xe1" , "\x7d\xc9\xe0" } , { "\xc6\xe8\xc6\xe1\xa2" , "\x7d\xc9\xe1" } , { "\xc6\xe8\xc6\xe2" , "\x7d\xc9\xe4" } , { "\xc6\xe8\xc6\xe4" , "\x7d\xc9\xc9\xe8" } , { "\xc6\xe8\xc6\xe4\xa2" , "\x7d\xc9\xc9\xe9" } , { "\xc6\xe8\xc6\xe5" , "\x7d\xc9\xc9\xe0" } , { "\xc6\xe8\xc6\xe5\xa2" , "\x7d\xc9\xc9\xe1" } , { "\xc6\xe8\xc6\xe6" , "\x7d\xc9\xc9\xe4" } , { "\xc6\xe8\xc6\xe8" , "\x7d\xc9\xc3" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\x7d\x4e\xc9\xc9" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\x7d\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xc6\xe8\xc6\xe8\xc2" , "\x7d\x6c\xc9" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\x7d\x71\xf6\xc9\xe0" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\x7d\x79\xab\xc9" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\x7d\x7e\xc9\xd6" } , { "\xc6\xe8\xc6\xe8\xc9" , "\x7d\xa3\xed" } , { "\xc6\xe8\xc6\xe8\xcc" , "\x7d\xa9\xc9" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\x7d\xab\xc9\xc9" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x7d\xad\xf7" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\x7d\xad\xf7\xc9\xe0" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\x7d\xb4\xc9\xc9" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\xcf\x7d\xb4\xc9" } , { "\xc6\xe8\xc8" , "\x7b\x7e\xc9" } , { "\xc6\xe8\xc8\xa2" , "\x7b\x7e\xc9\xc5" } , { "\xc6\xe8\xc8\xda" , "\x7b\x7e\xc9\xc9" } , { "\xc6\xe8\xc8\xda\xa2" , "\x7b\x7e\xc9\xc9\xc5" } , { "\xc6\xe8\xc8\xdb" , "\xce\x7b\x7e\xc9" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xcf\x7b\x7e\xc9" } , { "\xc6\xe8\xc8\xdc" , "\x7b\x7e\xc9\xd2" } , { "\xc6\xe8\xc8\xdd" , "\x7b\x7e\xc9\xd6" } , { "\xc6\xe8\xc8\xde" , "\x7b\x7e\xc9\xda" } , { "\xc6\xe8\xc8\xe0" , "\x7b\x7e\xc9\xe8" } , { "\xc6\xe8\xc8\xe1" , "\x7b\x7e\xc9\xe0" } , { "\xc6\xe8\xc8\xe2" , "\x7b\x7e\xc9\xe4" } , { "\xc6\xe8\xc8\xe4" , "\x7b\x7e\xc9\xc9\xe8" } , { "\xc6\xe8\xc8\xe5" , "\x7b\x7e\xc9\xc9\xe0" } , { "\xc6\xe8\xc8\xe6" , "\x7b\x7e\xc9\xc9\xe4" } , { "\xc6\xe8\xc8\xe8\xc8" , "\x7b\x7e\x7e\xc9" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\x7b\x7e\xab\xc9\xda" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\x7b\x7e\xab\xc9\xde\xc5" } , { "\xc6\xe8\xc8\xe8\xcf" , "\x7b\xa1\xc9" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\x7b\xa1\xc9\xc9" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\x7b\xa1\xc9\xe8" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\x7b\x7e\xb1\xc9\xc9" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\x7b\x7e\xb1\xc9\xd2" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\x7b\x7e\xb1\xc9\xd6" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\x7b\x7e\xb1\xc9\xda" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\x7b\x7e\xb1\xc9\xe0" } , { "\xc6\xe8\xc9" , "\x7b\xa3\xed" } , { "\xc6\xe8\xc9\xda" , "\x7b\xa3\xed\xc9" } , { "\xc6\xe8\xc9\xda\xa2" , "\x7b\xa3\xed\xc9\xc5" } , { "\xc6\xe8\xc9\xdb" , "\xce\x7b\xa3\xed" } , { "\xc6\xe8\xc9\xdc" , "\x7b\xa3\xed\xd2" } , { "\xc6\xe8\xc9\xdd" , "\x7b\xa3\xd9\xed" } , { "\xc6\xe8\xc9\xe0" , "\x7b\xa3\xe8\xed" } , { "\xc6\xe8\xc9\xe0\xa2" , "\x7b\xa3\xe9\xed" } , { "\xc6\xe8\xc9\xe1" , "\x7b\xa3\xe0\xed" } , { "\xc6\xe8\xc9\xe1\xa2" , "\x7b\xa3\xe1\xed" } , { "\xc6\xe8\xc9\xe4" , "\x7b\xa3\xed\xc9\xe8" } , { "\xc6\xe8\xc9\xe5" , "\x7b\xa3\xed\xc9\xe0" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x7b\xa2\xab\xc9\xda" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\x7b\xa4\xed\xc9" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\xce\x7b\xa4\xed" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\xcf\x7b\xa4\xed" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\x7b\xa4\xed\xd2" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\x7b\xa4\xe0\xed" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\x7b\xa4\xe1\xed" } , { "\xc6\xe8\xc9\xe8\xd1" , "\x7b\xa2\xb1\xc9" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\x7b\xa2\xb1\xc9\xd6" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\x7b\xa2\xb1\xc9\xd6\xc5" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\x7b\xa2\xb1\xc9\xda" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\x7b\xa2\xb1\xc9\xe0" } , { "\xc6\xe8\xca" , "\x7b\xa5\xc9" } , { "\xc6\xe8\xca\xda" , "\x7b\xa5\xc9\xc9" } , { "\xc6\xe8\xca\xda\xa2" , "\x7b\xa5\xc9\xc9\xc5" } , { "\xc6\xe8\xca\xdd" , "\x7b\xa5\xc9\xd6" } , { "\xc6\xe8\xca\xde" , "\x7b\xa5\xc9\xda" } , { "\xc6\xe8\xca\xe0" , "\x7b\xa5\xc9\xe8" } , { "\xc6\xe8\xca\xe1" , "\x7b\xa5\xc9\xe0" } , { "\xc6\xe8\xca\xe5" , "\x7b\xa5\xc9\xc9\xe0" } , { "\xc6\xe8\xca\xe5\xa2" , "\x7b\xa5\xc9\xc9\xe1" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\x7b\xa6\xc9\xe0" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\x7b\xa6\xc9\xc9\xe0" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\x7b\xa5\xb1\xc9\xe0" } , { "\xc6\xe8\xcb\xda" , "\x7b\xa7\xc9\xc9" } , { "\xc6\xe8\xcb\xde" , "\x7b\xa7\xc9\xda" } , { "\xc6\xe8\xcc" , "\x7b\xa9\xc9" } , { "\xc6\xe8\xcc\xa2" , "\x7b\xa9\xc9\xc5" } , { "\xc6\xe8\xcc\xa3" , "\x7b\xa9\xc9\x26" } , { "\xc6\xe8\xcc\xda" , "\x7b\xa9\xc9\xc9" } , { "\xc6\xe8\xcc\xda\xa2" , "\x7b\xa9\xc9\xc9\xc5" } , { "\xc6\xe8\xcc\xdb" , "\xce\x7b\xa9\xc9" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xcf\x7b\xa9\xc9" } , { "\xc6\xe8\xcc\xdc" , "\x7b\xa9\xc9\xd2" } , { "\xc6\xe8\xcc\xdd" , "\x7b\xa9\xc9\xd6" } , { "\xc6\xe8\xcc\xdd\xa2" , "\x7b\xa9\xc9\xd6\xc5" } , { "\xc6\xe8\xcc\xde" , "\x7b\xa9\xc9\xda" } , { "\xc6\xe8\xcc\xdf" , "\x7b\xa9\xc9\xde" } , { "\xc6\xe8\xcc\xe0" , "\x7b\xa9\xc9\xe8" } , { "\xc6\xe8\xcc\xe0\xa2" , "\x7b\xa9\xc9\xe9" } , { "\xc6\xe8\xcc\xe1" , "\x7b\xa9\xc9\xe0" } , { "\xc6\xe8\xcc\xe1\xa2" , "\x7b\xa9\xc9\xe1" } , { "\xc6\xe8\xcc\xe2" , "\x7b\xa9\xc9\xe4" } , { "\xc6\xe8\xcc\xe4" , "\x7b\xa9\xc9\xc9\xe8" } , { "\xc6\xe8\xcc\xe5" , "\x7b\xa9\xc9\xc9\xe0" } , { "\xc6\xe8\xcc\xe5\xa2" , "\x7b\xa9\xc9\xc9\xe1" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xce\x7b\xa9\xa9\xc9" } , { "\xc6\xe8\xcd" , "\x7b\xab\xc9" } , { "\xc6\xe8\xcd\xa2" , "\x7b\xab\xc9\xc5" } , { "\xc6\xe8\xcd\xa3" , "\x7b\xab\xc9\x26" } , { "\xc6\xe8\xcd\xda" , "\x7b\xab\xc9\xc9" } , { "\xc6\xe8\xcd\xda\xa2" , "\x7b\xab\xc9\xc9\xc5" } , { "\xc6\xe8\xcd\xda\xa3" , "\x7b\xab\xc9\xc9\x26" } , { "\xc6\xe8\xcd\xdb" , "\xce\x7b\xab\xc9" } , { "\xc6\xe8\xcd\xdc" , "\x7b\xab\xc9\xd2" } , { "\xc6\xe8\xcd\xdd" , "\x7b\xab\xc9\xd6" } , { "\xc6\xe8\xcd\xdd\xa2" , "\x7b\xab\xc9\xd6\xc5" } , { "\xc6\xe8\xcd\xde" , "\x7b\xab\xc9\xda" } , { "\xc6\xe8\xcd\xde\xa2" , "\x7b\xab\xc9\xda\xc5" } , { "\xc6\xe8\xcd\xe0" , "\x7b\xab\xc9\xe8" } , { "\xc6\xe8\xcd\xe1" , "\x7b\xab\xc9\xe0" } , { "\xc6\xe8\xcd\xe2" , "\x7b\xab\xc9\xe4" } , { "\xc6\xe8\xcd\xe4" , "\x7b\xab\xc9\xc9\xe8" } , { "\xc6\xe8\xcd\xe5" , "\x7b\xab\xc9\xc9\xe0" } , { "\xc6\xe8\xcd\xe5\xa2" , "\x7b\xab\xc9\xc9\xe1" } , { "\xc6\xe8\xcd\xe6" , "\x7b\xab\xc9\xc9\xe4" } , { "\xc6\xe8\xcd\xe7" , "\x7b\xab\xc9\xc9\xe8" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x7b\xab\xab\xc9" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x7b\xab\xab\xc9\xc9" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x7b\xab\xab\xc9\xda" } , { "\xc6\xe8\xcf" , "\x7c\xc9" } , { "\xc6\xe8\xcf\xa2" , "\x7c\xc9\xc5" } , { "\xc6\xe8\xcf\xda" , "\x7c\xc9\xc9" } , { "\xc6\xe8\xcf\xdb" , "\xca\x7c\xc9" } , { "\xc6\xe8\xcf\xdc" , "\x7c\xc9\xd2" } , { "\xc6\xe8\xcf\xdd" , "\x7c\xc9\xd6" } , { "\xc6\xe8\xcf\xde" , "\x7c\xc9\xda" } , { "\xc6\xe8\xcf\xe0" , "\x7c\xc9\xe8" } , { "\xc6\xe8\xcf\xe0\xa2" , "\x7c\xc9\xe9" } , { "\xc6\xe8\xcf\xe2" , "\x7c\xc9\xe4" } , { "\xc6\xe8\xcf\xe5" , "\x7c\xc9\xc9\xe0" } , { "\xc6\xe8\xcf\xe8" , "\x7c\xc9\xc3" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\xce\x7c\x65\xf4" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x7c\x6c\xc9" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\x7c\x77\xf6" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x7c\xbb\xc9\xc9" } , { "\xc6\xe8\xd0" , "\x7b\xad\xf7" } , { "\xc6\xe8\xd0\xcc\xe8" , "\x7b\xad\xf7\xa9\xc9\xc3" } , { "\xc6\xe8\xd0\xdb" , "\xce\x7b\xad\xf7" } , { "\xc6\xe8\xd0\xdd" , "\x7b\xad\xd6\xf7" } , { "\xc6\xe8\xd1" , "\x7b\xb1\xc9" } , { "\xc6\xe8\xd1\xa2" , "\x7b\xb1\xc9\xc5" } , { "\xc6\xe8\xd1\xda" , "\x7b\xb1\xc9\xc9" } , { "\xc6\xe8\xd1\xda\xa2" , "\x7b\xb1\xc9\xc9\xc5" } , { "\xc6\xe8\xd1\xdb" , "\xce\x7b\xb1\xc9" } , { "\xc6\xe8\xd1\xdc" , "\x7b\xb1\xc9\xd2" } , { "\xc6\xe8\xd1\xdd" , "\x7b\xb1\xc9\xd6" } , { "\xc6\xe8\xd1\xdd\xa2" , "\x7b\xb1\xc9\xd6\xc5" } , { "\xc6\xe8\xd1\xde" , "\x7b\xb1\xc9\xda" } , { "\xc6\xe8\xd1\xe0" , "\x7b\xb1\xc9\xe8" } , { "\xc6\xe8\xd1\xe0\xa2" , "\x7b\xb1\xc9\xe9" } , { "\xc6\xe8\xd1\xe1" , "\x7b\xb1\xc9\xe0" } , { "\xc6\xe8\xd1\xe1\xa2" , "\x7b\xb1\xc9\xe1" } , { "\xc6\xe8\xd1\xe2" , "\x7b\xb1\xc9\xe4" } , { "\xc6\xe8\xd1\xe4" , "\x7b\xb1\xc9\xc9\xe8" } , { "\xc6\xe8\xd1\xe4\xa2" , "\x7b\xb1\xc9\xc9\xe9" } , { "\xc6\xe8\xd1\xe5" , "\x7b\xb1\xc9\xc9\xe0" } , { "\xc6\xe8\xd1\xe5\xa2" , "\x7b\xb1\xc9\xc9\xe1" } , { "\xc6\xe8\xd1\xe8" , "\x7b\xb1\xc9\xc3" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x7b\xb1\xab\xc9\xc9\xc5" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x7b\xb1\xab\xc9\xda" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x7b\xb1\xbb\xc9\xe0" } , { "\xc6\xe8\xd2" , "\x7b\xb3" } , { "\xc6\xe8\xd4" , "\x7b\xb4\xc9" } , { "\xc6\xe8\xd4\xa2" , "\x7b\xb4\xc9\xc5" } , { "\xc6\xe8\xd4\xda" , "\x7b\xb4\xc9\xc9" } , { "\xc6\xe8\xd4\xdb" , "\xce\x7b\xb4\xc9" } , { "\xc6\xe8\xd4\xdc" , "\x7b\xb4\xc9\xd2" } , { "\xc6\xe8\xd4\xdd" , "\x7b\xb4\xc9\xd6" } , { "\xc6\xe8\xd4\xdd\xa2" , "\x7b\xb4\xc9\xd6\xc5" } , { "\xc6\xe8\xd4\xde" , "\x7b\xb4\xc9\xda" } , { "\xc6\xe8\xd4\xe0" , "\x7b\xb4\xc9\xe8" } , { "\xc6\xe8\xd4\xe0\xa2" , "\x7b\xb4\xc9\xe9" } , { "\xc6\xe8\xd4\xe1" , "\x7b\xb4\xc9\xe0" } , { "\xc6\xe8\xd4\xe1\xa2" , "\x7b\xb4\xc9\xe1" } , { "\xc6\xe8\xd4\xe2" , "\x7b\xb4\xc9\xe4" } , { "\xc6\xe8\xd4\xe5" , "\x7b\xb4\xc9\xc9\xe0" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\x7b\xb4\xab\xc9\xc9" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\x7b\xb5\xc9\xd2" } , { "\xc6\xe8\xd5" , "\x7b\xb6\xc9" } , { "\xc6\xe8\xd5\xa2" , "\x7b\xb6\xc9\xc5" } , { "\xc6\xe8\xd5\xda" , "\x7b\xb6\xc9\xc9" } , { "\xc6\xe8\xd5\xdb" , "\xce\x7b\xb6\xc9" } , { "\xc6\xe8\xd5\xdc" , "\x7b\xb6\xc9\xd2" } , { "\xc6\xe8\xd6" , "\x7b\xba\xc9" } , { "\xc6\xe8\xd6\xda" , "\x7b\xba\xc9\xc9" } , { "\xc6\xe8\xd6\xdb" , "\xce\x7b\xba\xc9" } , { "\xc6\xe8\xd6\xdc" , "\x7b\xba\xc9\xd2" } , { "\xc6\xe8\xd6\xdd" , "\x7b\xba\xc9\xd6" } , { "\xc6\xe8\xd6\xde" , "\x7b\xba\xc9\xda" } , { "\xc6\xe8\xd6\xe0" , "\x7b\xba\xc9\xe8" } , { "\xc6\xe8\xd6\xe2" , "\x7b\xba\xc9\xe4" } , { "\xc6\xe8\xd6\xe8\xbd" , "\x7b\xba\x60\xf2" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\x7b\xba\x60\xe0\xf2" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\x7b\xba\x60\xc4\xf2" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x7b\xba\xab\xc9\xda" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\x7b\xba\xb4\xc9\xd2" } , { "\xc6\xe8\xd7" , "\x7b\xbb\xc9" } , { "\xc6\xe8\xd7\xa2" , "\x7b\xbb\xc9\xc5" } , { "\xc6\xe8\xd7\xda" , "\x7b\xbb\xc9\xc9" } , { "\xc6\xe8\xd7\xda\xa2" , "\x7b\xbb\xc9\xc9\xc5" } , { "\xc6\xe8\xd7\xdb" , "\xce\x7b\xbb\xc9" } , { "\xc6\xe8\xd7\xdb\xa2" , "\xcf\x7b\xbb\xc9" } , { "\xc6\xe8\xd7\xdc" , "\x7b\xbb\xc9\xd2" } , { "\xc6\xe8\xd7\xdc\xa2" , "\x7b\xbb\xc9\xd3" } , { "\xc6\xe8\xd7\xdd" , "\x7b\xbb\xc9\xd6" } , { "\xc6\xe8\xd7\xdd\xa2" , "\x7b\xbb\xc9\xd6\xc5" } , { "\xc6\xe8\xd7\xde" , "\x7b\xbb\xc9\xda" } , { "\xc6\xe8\xd7\xe0" , "\x7b\xbb\xc9\xe8" } , { "\xc6\xe8\xd7\xe0\xa2" , "\x7b\xbb\xc9\xe9" } , { "\xc6\xe8\xd7\xe1" , "\x7b\xbb\xc9\xe0" } , { "\xc6\xe8\xd7\xe1\xa2" , "\x7b\xbb\xc9\xe1" } , { "\xc6\xe8\xd7\xe2" , "\x7b\xbb\xc9\xe4" } , { "\xc6\xe8\xd7\xe5" , "\x7b\xbb\xc9\xc9\xe0" } , { "\xc6\xe8\xd7\xe5\xa2" , "\x7b\xbb\xc9\xc9\xe1" } , { "\xc6\xe8\xd7\xe8" , "\x7b\xbb\xc9\xc3" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\x7b\xbb\x48\xed\xc9" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\xce\x7b\xbb\x48\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\x7b\xbb\x48\xed\xd2" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\x7b\xbb\x48\xd6\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\x7b\xbb\x48\xda\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\x7b\xbb\x48\xe8\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\x7b\xbb\x48\xe0\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\x7b\xbb\x48\xed\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\x7b\xbb\x48\xc3\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\x7b\xbb\x47\xab\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xce\x7b\xbb\x4a\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\x7b\xbb\x4a\xe0\xed" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\x7b\xbb\x47\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x7b\xbb\x4e\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x7b\xbb\x53\xc9\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x7b\xbb\x58" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x7b\xbb\x57\xf0\xe0" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x7b\xbb\x60\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x7b\xbb\x60\xf2\xc9" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x7b\xbb\x60\xf2\xc9\xc5" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\xce\x7b\xbb\x60\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x7b\xbb\x60\xf2\xd2" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x7b\xbb\x60\xd6\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x7b\xbb\x60\xda\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\x7b\xbb\x60\xe8\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\x7b\xbb\x60\xe9\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x7b\xbb\x60\xe0\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x7b\xbb\x60\xe4\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x7b\xbb\x60\xf2\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\x7b\xbb\x60\xc3\xf2\x48\xed" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\x7b\xbb\x60\xf2\xac\xc9\xc5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\x7b\xbb\x60\xf2\xac\xda" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\x7b\xbb\x60\xc4\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xce\x7b\xbb\x60\xc4\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\x7b\xbb\x60\xd7\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x7b\xbb\x60\xdb\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\x7b\xbb\x60\xc4\xe0\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x7b\xbb\x60\xc4\xe4\xf2" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\xce\x7b\xbb\x65\xf4" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x7b\xbb\x65\xc3\xf4\x4e\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc2" , "\x7b\xbb\x6c\xc9" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\x7b\xbb\x6c\xc9\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\x7b\xbb\x6f\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\xce\x7b\xbb\x6f\xc9" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x7b\xbb\x77\xf6\xc9" } , { "\xc6\xe8\xd7\xe8\xc6" , "\x7b\xbb\x7b\xc9" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\xce\x7b\xbb\x7b\xc9" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\x7b\xbb\x7b\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\x7b\xbb\x7b\xc9\xd6\xc5" } , { "\xc6\xe8\xd7\xe8\xc8" , "\x7b\xbb\x7e\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\x7b\xbb\x7e\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\xce\x7b\xbb\x7e\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\x7b\xbb\x7e\xc9\xd2" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\x7b\xbb\x7e\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\x7b\xbb\x7e\xc9\xe8" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\x7b\xbb\x7e\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\x7b\xbb\x7e\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\x7b\xbb\x7e\xc9\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x7b\xbb\x7e\xb1\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x7b\xbb\x7e\xb1\xc9\xc9\xc5" } , { "\xc6\xe8\xd7\xe8\xc9" , "\x7b\xbb\xa3\xed" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\x7b\xbb\xa3\xed\xc9" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\xce\x7b\xbb\xa3\xed" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\x7b\xbb\xa3\xe8\xed" } , { "\xc6\xe8\xd7\xe8\xca" , "\x7b\xbb\xa5\xc9" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\x7b\xbb\xa5\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\x7b\xbb\xa6\xc9\xc9\xc5" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\xce\x7b\xbb\xa9\xc9" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\x7b\xbb\xa9\xc9\xd2" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\x7b\xbb\xa9\xc9\xe9" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\xcf\x7b\xbb\xa9\x60\xf2" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x7b\xbb\xab\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x7b\xbb\xab\xc9\xda" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\x7b\xbc\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xd1" , "\x7b\xbb\xb1\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\x7b\xbb\xb1\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\x7b\xbb\xb1\xc9\xc9\xc5" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\xce\x7b\xbb\xb1\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\x7b\xbb\xb1\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\x7b\xbb\xb1\xc9\xe8" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\x7b\xbb\xb1\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\x7b\xbb\xb1\xc9\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\x7b\xbb\xb1\xc9\xc9\xe1" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\x7b\xbb\xb1\xc9\xc3" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\x7b\xbb\xb1\xab\xc9\xc9\xc5" } , { "\xc6\xe8\xd7\xe8\xd4" , "\x7b\xbb\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\x7b\xbb\xb4\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\xce\x7b\xbb\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\xcf\x7b\xbb\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\x7b\xbb\xb4\xc9\xe8" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\x7b\xbb\xb4\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x7b\xbb\xb4\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x7b\xbb\xbb\xc9" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x7b\xbb\xbb\xc9\xc3" } , { "\xc6\xe8\xd8" , "\x7b\xbe\xfa" } , { "\xc6\xe8\xd8\xa2" , "\x7b\xbe\xc5\xfa" } , { "\xc6\xe8\xd8\xda" , "\x7b\xbe\xfa\xc9" } , { "\xc6\xe8\xd8\xda\xa1" , "\x7b\xbe\xfa\xc9\xc6" } , { "\xc6\xe8\xd8\xda\xa2" , "\x7b\xbe\xfa\xc9\xc5" } , { "\xc6\xe8\xd8\xdb" , "\xce\x7b\xbe\xfa" } , { "\xc6\xe8\xd8\xdb\xa2" , "\xcf\x7b\xbe\xfa" } , { "\xc6\xe8\xd8\xdc" , "\x7b\xbe\xfa\xd2" } , { "\xc6\xe8\xd8\xdc\xa2" , "\x7b\xbe\xfa\xd3" } , { "\xc6\xe8\xd8\xdd\xa2" , "\x7b\xbe\xd6\xc5\xfa" } , { "\xc6\xe8\xd8\xe0" , "\x7b\xbe\xe8\xfa" } , { "\xc6\xe8\xd8\xe1" , "\x7b\xbe\xe0\xfa" } , { "\xc6\xe8\xd8\xe1\xa2" , "\x7b\xbe\xe1\xfa" } , { "\xc6\xe8\xd8\xe2" , "\x7b\xbe\xe4\xfa" } , { "\xc6\xe8\xd8\xe2\xa2" , "\x7b\xbe\xe5\xfa" } , { "\xc6\xe8\xd8\xe5" , "\x7b\xbe\xfa\xc9\xe0" } , { "\xc6\xe8\xd8\xe5\xa2" , "\x7b\xbe\xfa\xc9\xe1" } , { "\xc6\xe8\xd8\xe6" , "\x7b\xbe\xfa\xc9\xe4" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x7b\xc2" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x7b\xc2\xc9\xc5" } , { "\xc6\xe8\xd9\xa6" , "\x7b\x3c" } , { "\xc6\xe8\xd9\xc2" , "\x7b\x6c\xc9" } , { "\xc6\xe8\xd9\xc2\xdd" , "\x7b\x6c\xc9\xd6" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\x7b\x6d\xc9" } , { "\xc6\xe8\xd9\xc6" , "\x7b\x7b\xc9" } , { "\xc6\xe8\xd9\xc6\xda" , "\x7b\x7b\xc9\xc9" } , { "\xc6\xe8\xd9\xc6\xdc" , "\x7b\x7b\xc9\xd2" } , { "\xc6\xe8\xd9\xc6\xdd" , "\x7b\x7b\xc9\xd6" } , { "\xc6\xe8\xd9\xc6\xde" , "\x7b\x7b\xc9\xda" } , { "\xc6\xe8\xd9\xc6\xe1" , "\x7b\x7b\xc9\xe0" } , { "\xc6\xe8\xd9\xc6\xe5" , "\x7b\x7b\xc9\xc9\xe0" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\x7b\x7b\xc9\xc9\xe1" } , { "\xc6\xe8\xd9\xc6\xe6" , "\x7b\x7b\xc9\xc9\xe4" } , { "\xc6\xe8\xd9\xcc\xde" , "\x7b\xa9\xc9\xda" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\x7b\x6c\xc9\xc7" } , { "\xc6\xe8\xd9\xd7\xda" , "\x7b\xbb\xc9\xc9" } , { "\xc6\xe8\xd9\xd8" , "\x7b\xbe\xfa" } , { "\xc6\xe8\xe8" , "\x7b\xc9\xc3" } , { "\xc6\xe8\xe9\xc6" , "\x7b\x7b\xc9" } , { "\xc6\xe8\xe9\xcf" , "\x7b\xad\xf7" } , { "\xc6\xe9" , "\x7b\xc9" } , { "\xc6\xe9\xe8\xbf" , "\x7b\x65\xf4" } , { "\xc7" , "\x7b\xc9" } , { "\xc7\xdb" , "\xca\x7b\xc9" } , { "\xc8" , "\x7e\xc9" } , { "\xc8\xa1" , "\x7e\xc9\xc6" } , { "\xc8\xa2" , "\x7e\xc9\xc5" } , { "\xc8\xa2\xa2" , "\x7e\xc9\xc5\xc5" } , { "\xc8\xa3" , "\x7e\xc9\x26" } , { "\xc8\xd0" , "\x7e\xc9\xad\xf7" } , { "\xc8\xd0\xcc" , "\x7e\xc9\xad\xf7\xa9\xc9" } , { "\xc8\xda" , "\x7e\xc9\xc9" } , { "\xc8\xda\xa1" , "\x7e\xc9\xc9\xc6" } , { "\xc8\xda\xa2" , "\x7e\xc9\xc9\xc5" } , { "\xc8\xda\xa3" , "\x7e\xc9\xc9\x26" } , { "\xc8\xda\xd0\xe8" , "\x7e\xc9\xc9\xad\xc3\xf7" } , { "\xc8\xdb" , "\xca\x7e\xc9" } , { "\xc8\xdb\xa2" , "\xcb\x7e\xc9" } , { "\xc8\xdb\xa2\xa2" , "\xcb\x7e\xc9\xc5" } , { "\xc8\xdc" , "\x7e\xc9\xd2" } , { "\xc8\xdc\xa2" , "\x7e\xc9\xd3" } , { "\xc8\xdd" , "\x7e\xc9\xd6" } , { "\xc8\xdd\xa1" , "\x7e\xc9\xd6\xc6" } , { "\xc8\xdd\xa2" , "\x7e\xc9\xd6\xc5" } , { "\xc8\xdd\xa3" , "\x7e\xc9\xd6\x26" } , { "\xc8\xde" , "\x7e\xc9\xda" } , { "\xc8\xde\xa1" , "\x7e\xc9\xda\xc6" } , { "\xc8\xde\xa2" , "\x7e\xc9\xda\xc5" } , { "\xc8\xdf" , "\x7e\xc9\xde" } , { "\xc8\xe0" , "\x7e\xc9\xe8" } , { "\xc8\xe0\xa2" , "\x7e\xc9\xe9" } , { "\xc8\xe1" , "\x7e\xc9\xe0" } , { "\xc8\xe1\xa1" , "\x7e\xc9\xe1" } , { "\xc8\xe1\xa2" , "\x7e\xc9\xe1" } , { "\xc8\xe2" , "\x7e\xc9\xe4" } , { "\xc8\xe2\xa2" , "\x7e\xc9\xe5" } , { "\xc8\xe2\xa3" , "\x7e\xc9\xe4\x26" } , { "\xc8\xe2\xcf\xe8" , "\x7e\xc9\xe4\xad\xc3\xf7" } , { "\xc8\xe4" , "\x7e\xc9\xc9\xe8" } , { "\xc8\xe4\xa2" , "\x7e\xc9\xc9\xe9" } , { "\xc8\xe4\xa3" , "\x7e\xc9\xc9\xe8\x26" } , { "\xc8\xe5" , "\x7e\xc9\xc9\xe0" } , { "\xc8\xe5\xa2" , "\x7e\xc9\xc9\xe1" } , { "\xc8\xe5\xa3" , "\x7e\xc9\xc9\xe0\x26" } , { "\xc8\xe6" , "\x7e\xc9\xc9\xe4" } , { "\xc8\xe6\xa2" , "\x7e\xc9\xc9\xe5" } , { "\xc8\xe7" , "\x7e\xc9\xc9\xe8" } , { "\xc8\xe7\xa2" , "\x7e\xc9\xc9\xe9" } , { "\xc8\xe8" , "\x7e\xc9\xc3" } , { "\xc8\xe8\xb3" , "\x7e\x48\xed" } , { "\xc8\xe8\xb3\xa2" , "\x7e\x48\xc5\xed" } , { "\xc8\xe8\xb3\xda" , "\x7e\x48\xed\xc9" } , { "\xc8\xe8\xb3\xdb" , "\xce\x7e\x48\xed" } , { "\xc8\xe8\xb3\xdb\xa2" , "\xcf\x7e\x48\xed" } , { "\xc8\xe8\xb3\xdd" , "\x7e\x48\xd6\xed" } , { "\xc8\xe8\xb3\xe1" , "\x7e\x48\xe0\xed" } , { "\xc8\xe8\xb3\xe4" , "\x7e\x48\xed\xc9\xe8" } , { "\xc8\xe8\xb3\xe5" , "\x7e\x48\xed\xc9\xe0" } , { "\xc8\xe8\xb3\xe8\xc2" , "\x7e\x47\x6c\xc9" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x7e\x47\xad\xc3\xf7\xbb\xc9\xc3" } , { "\xc8\xe8\xb5" , "\x7e\x4e\xc9" } , { "\xc8\xe8\xb5\xda" , "\x7e\x4e\xc9\xc9" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\x7e\x4f\xc9\xe0" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\x7e\x4f\xc9\xc9\xe5" } , { "\xc8\xe8\xb6" , "\x7e\x50\xc9" } , { "\xc8\xe8\xb8" , "\x7e\x53\xc9" } , { "\xc8\xe8\xb8\xda" , "\x7e\x53\xc9\xc9" } , { "\xc8\xe8\xb8\xdb" , "\xce\x7e\x53\xc9" } , { "\xc8\xe8\xb8\xdd" , "\x7e\x53\xc9\xd6" } , { "\xc8\xe8\xb8\xde" , "\x7e\x53\xc9\xda" } , { "\xc8\xe8\xb8\xe0" , "\x7e\x53\xc9\xe8" } , { "\xc8\xe8\xb8\xe1" , "\x7e\x53\xc9\xe0" } , { "\xc8\xe8\xb8\xe8" , "\x7e\x53\xc9\xc3" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x7e\x53\x55\xef\xc9" } , { "\xc8\xe8\xb9\xdd" , "\x7e\x55\xd6\xef" } , { "\xc8\xe8\xba" , "\x7e\x57\xf0" } , { "\xc8\xe8\xba\xda" , "\x7e\x58" } , { "\xc8\xe8\xba\xdb" , "\xce\x7e\x57\xf0" } , { "\xc8\xe8\xba\xdd" , "\x7e\x57\xd6\xf0" } , { "\xc8\xe8\xbd" , "\x7e\x60\xf2" } , { "\xc8\xe8\xbd\xa2" , "\x7e\x60\xc5\xf2" } , { "\xc8\xe8\xbd\xda" , "\x7e\x60\xf2\xc9" } , { "\xc8\xe8\xbd\xdb" , "\xce\x7e\x60\xf2" } , { "\xc8\xe8\xbd\xdb\xa2" , "\xcf\x7e\x60\xf2" } , { "\xc8\xe8\xbd\xdc" , "\x7e\x60\xf2\xd2" } , { "\xc8\xe8\xbd\xdd" , "\x7e\x60\xd6\xf2" } , { "\xc8\xe8\xbd\xde" , "\x7e\x60\xda\xf2" } , { "\xc8\xe8\xbd\xe0" , "\x7e\x60\xe8\xf2" } , { "\xc8\xe8\xbd\xe0\xa2" , "\x7e\x60\xe9\xf2" } , { "\xc8\xe8\xbd\xe1" , "\x7e\x60\xe0\xf2" } , { "\xc8\xe8\xbd\xe2" , "\x7e\x60\xe4\xf2" } , { "\xc8\xe8\xbd\xe4" , "\x7e\x60\xf2\xc9\xe8" } , { "\xc8\xe8\xbd\xe5" , "\x7e\x60\xf2\xc9\xe0" } , { "\xc8\xe8\xbd\xe6" , "\x7e\x60\xf2\xc9\xe4" } , { "\xc8\xe8\xbd\xe8" , "\x7e\x60\xc3\xf2" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x7e\x60\xc3\xf2\x48\xd6\xed" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x7e\x60\xc3\xf2\x4e\xc9\xc9" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x7e\x60\xc3\xf2\x53\xc9\xe0" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x7e\x60\xc3\xf2\x6c\xc9\xc9\xe0" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\x7e\x60\xc3\xf2\xa5\xc9\xc9" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x7e\x60\xf2\xac\xda" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\x7e\x60\xc4\xf2\xc9" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\x7e\x60\xc4\xf2\xc9\xe0" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\x7e\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\xce\x7e\x60\xc3\xf2\xb4\xc9" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x7e\x60\xc3\xf2\xb4\xc9\xe0" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x7e\x60\xc3\xf2\xbb\xc9" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x7e\x60\xc3\xf2\xbb\xc9\xc3" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x7e\x60\xc3\xf2\xbe\xfa\xc9" } , { "\xc8\xe8\xbf" , "\x7e\x65\xf4" } , { "\xc8\xe8\xbf\xda" , "\x7e\x65\xf4\xc9" } , { "\xc8\xe8\xbf\xdb" , "\xce\x7e\x65\xf4" } , { "\xc8\xe8\xbf\xdd" , "\x7e\x65\xd6\xf4" } , { "\xc8\xe8\xbf\xe0\xa2" , "\x7e\x65\xe9\xf4" } , { "\xc8\xe8\xbf\xe1" , "\x7e\x65\xe0\xf4" } , { "\xc8\xe8\xbf\xe8" , "\x7e\x65\xc3\xf4" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\x7e\x65\xc4\xf4\xc9" } , { "\xc8\xe8\xc1" , "\x7e\x69\xc9" } , { "\xc8\xe8\xc2" , "\x7e\x6c\xc9" } , { "\xc8\xe8\xc2\xa2" , "\x7e\x6c\xc9\xc5" } , { "\xc8\xe8\xc2\xda" , "\x7e\x6c\xc9\xc9" } , { "\xc8\xe8\xc2\xda\xa2" , "\x7e\x6c\xc9\xc9\xc5" } , { "\xc8\xe8\xc2\xdb" , "\xce\x7e\x6c\xc9" } , { "\xc8\xe8\xc2\xdb\xa2" , "\xcf\x7e\x6c\xc9" } , { "\xc8\xe8\xc2\xdc" , "\x7e\x6c\xc9\xd2" } , { "\xc8\xe8\xc2\xdd" , "\x7e\x6c\xc9\xd6" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x7e\x6c\xc9\xd6\xc5" } , { "\xc8\xe8\xc2\xde" , "\x7e\x6c\xc9\xda" } , { "\xc8\xe8\xc2\xde\xa2" , "\x7e\x6c\xc9\xda\xc5" } , { "\xc8\xe8\xc2\xe0" , "\x7e\x6c\xc9\xe8" } , { "\xc8\xe8\xc2\xe1" , "\x7e\x6c\xc9\xe0" } , { "\xc8\xe8\xc2\xe2\xa3" , "\x7e\x6c\xc9\xe4\x26" } , { "\xc8\xe8\xc2\xe5" , "\x7e\x6c\xc9\xc9\xe0" } , { "\xc8\xe8\xc2\xe5\xa2" , "\x7e\x6c\xc9\xc9\xe1" } , { "\xc8\xe8\xc2\xe8" , "\x7e\x6c\xc9\xc3" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x7e\x6c\xab\xc9" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x7e\x6c\xab\xc9\xc9" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x7e\x6d\xc9" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\x7e\x6d\xc9\xe8" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\x7e\x6d\xc9\xe4" } , { "\xc8\xe8\xc3" , "\x7e\x6f\xc9" } , { "\xc8\xe8\xc3\xdc" , "\x7e\x6f\xc9\xd2" } , { "\xc8\xe8\xc3\xe8" , "\x7e\x6f\xc9\xc3" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x7e\x6f\x48\xed" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x7e\x6f\xab\xc9\xc9" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x7e\x6f\xb4\xc9\xd2" } , { "\xc8\xe8\xc4" , "\x7e\x71\xf6" } , { "\xc8\xe8\xc4\xda" , "\x7e\x71\xf6\xc9" } , { "\xc8\xe8\xc4\xdc" , "\x7e\x71\xf6\xd2" } , { "\xc8\xe8\xc4\xdd" , "\x7e\x71\xd6\xf6" } , { "\xc8\xe8\xc4\xe1" , "\x7e\x71\xe0\xf6" } , { "\xc8\xe8\xc4\xe4" , "\x7e\x71\xf6\xc9\xe8" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\xce\x7e\x74\xf6" } , { "\xc8\xe8\xc5" , "\x7e\x79\xc9" } , { "\xc8\xe8\xc5\xda" , "\x7e\x79\xc9\xc9" } , { "\xc8\xe8\xc5\xdd" , "\x7e\x79\xc9\xd6" } , { "\xc8\xe8\xc6" , "\x7e\x7b\xc9" } , { "\xc8\xe8\xc6\xa2" , "\x7e\x7b\xc9\xc5" } , { "\xc8\xe8\xc6\xda" , "\x7e\x7b\xc9\xc9" } , { "\xc8\xe8\xc6\xdb" , "\xce\x7e\x7b\xc9" } , { "\xc8\xe8\xc6\xdc" , "\x7e\x7b\xc9\xd2" } , { "\xc8\xe8\xc6\xdd" , "\x7e\x7b\xc9\xd6" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x7e\x7b\xc9\xd6\xc5" } , { "\xc8\xe8\xc6\xe5" , "\x7e\x7b\xc9\xc9\xe0" } , { "\xc8\xe8\xc6\xe5\xa2" , "\x7e\x7b\xc9\xc9\xe1" } , { "\xc8\xe8\xc7" , "\x7e\x7b\xc9" } , { "\xc8\xe8\xc8" , "\x7e\x7e\xc9" } , { "\xc8\xe8\xc8\xa2" , "\x7e\x7e\xc9\xc5" } , { "\xc8\xe8\xc8\xa2\xa2" , "\x7e\x7e\xc9\xc5\xc5" } , { "\xc8\xe8\xc8\xda" , "\x7e\x7e\xc9\xc9" } , { "\xc8\xe8\xc8\xda\xa2" , "\x7e\x7e\xc9\xc9\xc5" } , { "\xc8\xe8\xc8\xdb" , "\xce\x7e\x7e\xc9" } , { "\xc8\xe8\xc8\xdb\xa2" , "\xcf\x7e\x7e\xc9" } , { "\xc8\xe8\xc8\xdc" , "\x7e\x7e\xc9\xd2" } , { "\xc8\xe8\xc8\xdc\xa2" , "\x7e\x7e\xc9\xd3" } , { "\xc8\xe8\xc8\xdd" , "\x7e\x7e\xc9\xd6" } , { "\xc8\xe8\xc8\xdd\xa2" , "\x7e\x7e\xc9\xd6\xc5" } , { "\xc8\xe8\xc8\xde" , "\x7e\x7e\xc9\xda" } , { "\xc8\xe8\xc8\xe0" , "\x7e\x7e\xc9\xe8" } , { "\xc8\xe8\xc8\xe0\xa2" , "\x7e\x7e\xc9\xe9" } , { "\xc8\xe8\xc8\xe1" , "\x7e\x7e\xc9\xe0" } , { "\xc8\xe8\xc8\xe1\xa2" , "\x7e\x7e\xc9\xe1" } , { "\xc8\xe8\xc8\xe2" , "\x7e\x7e\xc9\xe4" } , { "\xc8\xe8\xc8\xe2\xa2" , "\x7e\x7e\xc9\xe5" } , { "\xc8\xe8\xc8\xe4" , "\x7e\x7e\xc9\xc9\xe8" } , { "\xc8\xe8\xc8\xe4\xa2" , "\x7e\x7e\xc9\xc9\xe9" } , { "\xc8\xe8\xc8\xe5" , "\x7e\x7e\xc9\xc9\xe0" } , { "\xc8\xe8\xc8\xe5\xa2" , "\x7e\x7e\xc9\xc9\xe1" } , { "\xc8\xe8\xc8\xe6" , "\x7e\x7e\xc9\xc9\xe4" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\xce\x7e\x7e\x65\xf4" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x7e\x7e\x7e\xc9\xc9" } , { "\xc8\xe8\xc8\xe8\xcc" , "\x7e\x7e\xa9\xc9" } , { "\xc8\xe8\xc8\xe8\xcf" , "\x7e\xa1\xc9" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x7e\x7e\xbb\xc9\xd6" } , { "\xc8\xe8\xc9" , "\x7e\xa3\xed" } , { "\xc8\xe8\xc9\xdb" , "\xce\x7e\xa3\xed" } , { "\xc8\xe8\xc9\xdc" , "\x7e\xa3\xed\xd2" } , { "\xc8\xe8\xc9\xdd" , "\x7e\xa3\xd9\xed" } , { "\xc8\xe8\xc9\xe0" , "\x7e\xa3\xe8\xed" } , { "\xc8\xe8\xc9\xe1" , "\x7e\xa3\xe0\xed" } , { "\xc8\xe8\xc9\xe2" , "\x7e\xa3\xe4\xed" } , { "\xc8\xe8\xca" , "\x7e\xa5\xc9" } , { "\xc8\xe8\xca\xda" , "\x7e\xa5\xc9\xc9" } , { "\xc8\xe8\xca\xdb\xa2" , "\xcf\x7e\xa5\xc9" } , { "\xc8\xe8\xca\xdd" , "\x7e\xa5\xc9\xd6" } , { "\xc8\xe8\xca\xe0" , "\x7e\xa5\xc9\xe8" } , { "\xc8\xe8\xcb" , "\x7e\xa7\xc9" } , { "\xc8\xe8\xcc" , "\x7e\xa9\xc9" } , { "\xc8\xe8\xcc\xda" , "\x7e\xa9\xc9\xc9" } , { "\xc8\xe8\xcc\xdb" , "\xce\x7e\xa9\xc9" } , { "\xc8\xe8\xcc\xdc" , "\x7e\xa9\xc9\xd2" } , { "\xc8\xe8\xcc\xde" , "\x7e\xa9\xc9\xda" } , { "\xc8\xe8\xcc\xe0" , "\x7e\xa9\xc9\xe8" } , { "\xc8\xe8\xcc\xe0\xa2" , "\x7e\xa9\xc9\xe9" } , { "\xc8\xe8\xcc\xe5" , "\x7e\xa9\xc9\xc9\xe0" } , { "\xc8\xe8\xcd" , "\x7e\xab\xc9" } , { "\xc8\xe8\xcd\xa2" , "\x7e\xab\xc9\xc5" } , { "\xc8\xe8\xcd\xda" , "\x7e\xab\xc9\xc9" } , { "\xc8\xe8\xcd\xda\xa2" , "\x7e\xab\xc9\xc9\xc5" } , { "\xc8\xe8\xcd\xdb" , "\xce\x7e\xab\xc9" } , { "\xc8\xe8\xcd\xdd" , "\x7e\xab\xc9\xd6" } , { "\xc8\xe8\xcd\xde" , "\x7e\xab\xc9\xda" } , { "\xc8\xe8\xcd\xde\xa1" , "\x7e\xab\xc9\xda\xc6" } , { "\xc8\xe8\xcd\xe1" , "\x7e\xab\xc9\xe0" } , { "\xc8\xe8\xcd\xe4" , "\x7e\xab\xc9\xc9\xe8" } , { "\xc8\xe8\xcd\xe5" , "\x7e\xab\xc9\xc9\xe0" } , { "\xc8\xe8\xcf" , "\xa1\xc9" } , { "\xc8\xe8\xcf\xa2" , "\xa1\xc9\xc5" } , { "\xc8\xe8\xcf\xda" , "\xa1\xc9\xc9" } , { "\xc8\xe8\xcf\xda\xa1" , "\xa1\xc9\xc9\xc6" } , { "\xc8\xe8\xcf\xda\xa2" , "\xa1\xc9\xc9\xc5" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\xa1\xc9\xc9\xc5\xc5" } , { "\xc8\xe8\xcf\xdb" , "\xca\xa1\xc9" } , { "\xc8\xe8\xcf\xdb\xa2" , "\xcb\xa1\xc9" } , { "\xc8\xe8\xcf\xdc" , "\xa1\xc9\xd2" } , { "\xc8\xe8\xcf\xdc\xa2" , "\xa1\xc9\xd3" } , { "\xc8\xe8\xcf\xdc\xa3" , "\xa1\xc9\xd2\x26" } , { "\xc8\xe8\xcf\xdd" , "\xa1\xc9\xd6" } , { "\xc8\xe8\xcf\xdd\xa2" , "\xa1\xc9\xd6\xc5" } , { "\xc8\xe8\xcf\xde" , "\xa1\xc9\xda" } , { "\xc8\xe8\xcf\xde\xa2" , "\xa1\xc9\xda\xc5" } , { "\xc8\xe8\xcf\xdf" , "\xa1\xc9\xde" } , { "\xc8\xe8\xcf\xe0" , "\xa1\xc9\xe8" } , { "\xc8\xe8\xcf\xe0\xa2" , "\xa1\xc9\xe9" } , { "\xc8\xe8\xcf\xe1" , "\xa1\xc9\xe0" } , { "\xc8\xe8\xcf\xe1\xa2" , "\xa1\xc9\xe1" } , { "\xc8\xe8\xcf\xe2" , "\xa1\xc9\xe4" } , { "\xc8\xe8\xcf\xe4" , "\xa1\xc9\xc9\xe8" } , { "\xc8\xe8\xcf\xe5" , "\xa1\xc9\xc9\xe0" } , { "\xc8\xe8\xcf\xe5\xa2" , "\xa1\xc9\xc9\xe1" } , { "\xc8\xe8\xcf\xe6" , "\xa1\xc9\xc9\xe4" } , { "\xc8\xe8\xcf\xe7" , "\xa1\xc9\xc9\xe8" } , { "\xc8\xe8\xcf\xe8\xcd" , "\xa1\xab\xc9" } , { "\xc8\xe8\xcf\xe8\xd1" , "\xa1\xb1\xc9" } , { "\xc8\xe8\xd1" , "\x7e\xb1\xc9" } , { "\xc8\xe8\xd1\xa2" , "\x7e\xb1\xc9\xc5" } , { "\xc8\xe8\xd1\xda" , "\x7e\xb1\xc9\xc9" } , { "\xc8\xe8\xd1\xda\xa2" , "\x7e\xb1\xc9\xc9\xc5" } , { "\xc8\xe8\xd1\xdb" , "\xce\x7e\xb1\xc9" } , { "\xc8\xe8\xd1\xdb\xa2" , "\xcf\x7e\xb1\xc9" } , { "\xc8\xe8\xd1\xdc" , "\x7e\xb1\xc9\xd2" } , { "\xc8\xe8\xd1\xdd" , "\x7e\xb1\xc9\xd6" } , { "\xc8\xe8\xd1\xde" , "\x7e\xb1\xc9\xda" } , { "\xc8\xe8\xd1\xe0" , "\x7e\xb1\xc9\xe8" } , { "\xc8\xe8\xd1\xe0\xa2" , "\x7e\xb1\xc9\xe9" } , { "\xc8\xe8\xd1\xe1" , "\x7e\xb1\xc9\xe0" } , { "\xc8\xe8\xd1\xe1\xa2" , "\x7e\xb1\xc9\xe1" } , { "\xc8\xe8\xd1\xe2" , "\x7e\xb1\xc9\xe4" } , { "\xc8\xe8\xd1\xe2\xa2" , "\x7e\xb1\xc9\xe5" } , { "\xc8\xe8\xd1\xe4" , "\x7e\xb1\xc9\xc9\xe8" } , { "\xc8\xe8\xd1\xe5" , "\x7e\xb1\xc9\xc9\xe0" } , { "\xc8\xe8\xd1\xe7" , "\x7e\xb1\xc9\xc9\xe8" } , { "\xc8\xe8\xd1\xe8" , "\x7e\xb1\xc9\xc3" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\x7e\xb1\x7e\xc9\xd2" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x7e\xb1\xab\xc9\xc9\xc5" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x7e\xb1\xab\xc9\xda" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x7e\xb1\xbb\xc9\xc9\xc5" } , { "\xc8\xe8\xd2\xdb" , "\xce\x7e\xb3" } , { "\xc8\xe8\xd4" , "\x7e\xb4\xc9" } , { "\xc8\xe8\xd4\xda" , "\x7e\xb4\xc9\xc9" } , { "\xc8\xe8\xd4\xda\xa1" , "\x7e\xb4\xc9\xc9\xc6" } , { "\xc8\xe8\xd4\xda\xa2" , "\x7e\xb4\xc9\xc9\xc5" } , { "\xc8\xe8\xd4\xdb" , "\xce\x7e\xb4\xc9" } , { "\xc8\xe8\xd4\xdd" , "\x7e\xb4\xc9\xd6" } , { "\xc8\xe8\xd4\xe2" , "\x7e\xb4\xc9\xe4" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\x7e\xb5\xc9\xc9" } , { "\xc8\xe8\xd5" , "\x7e\xb6\xc9" } , { "\xc8\xe8\xd5\xa2" , "\x7e\xb6\xc9\xc5" } , { "\xc8\xe8\xd6" , "\x7e\xba\xc9" } , { "\xc8\xe8\xd6\xdb" , "\xce\x7e\xba\xc9" } , { "\xc8\xe8\xd6\xe2" , "\x7e\xba\xc9\xe4" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x7e\xba\x55\xef" } , { "\xc8\xe8\xd6\xe8\xbd" , "\x7e\xba\x60\xf2" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\xce\x7e\xba\x60\xf2" } , { "\xc8\xe8\xd6\xe8\xbe" , "\x7e\xba\x63\xf3" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\x7e\xba\x63\xf3\xc9\xe0" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\x7e\xba\x63\xf3\xc9\xe1" } , { "\xc8\xe8\xd7" , "\x7e\xbb\xc9" } , { "\xc8\xe8\xd7\xa2" , "\x7e\xbb\xc9\xc5" } , { "\xc8\xe8\xd7\xda" , "\x7e\xbb\xc9\xc9" } , { "\xc8\xe8\xd7\xdb" , "\xce\x7e\xbb\xc9" } , { "\xc8\xe8\xd7\xdb\xa2" , "\xcf\x7e\xbb\xc9" } , { "\xc8\xe8\xd7\xdc" , "\x7e\xbb\xc9\xd2" } , { "\xc8\xe8\xd7\xdd" , "\x7e\xbb\xc9\xd6" } , { "\xc8\xe8\xd7\xde" , "\x7e\xbb\xc9\xda" } , { "\xc8\xe8\xd7\xe0" , "\x7e\xbb\xc9\xe8" } , { "\xc8\xe8\xd7\xe0\xa2" , "\x7e\xbb\xc9\xe9" } , { "\xc8\xe8\xd7\xe1" , "\x7e\xbb\xc9\xe0" } , { "\xc8\xe8\xd7\xe2" , "\x7e\xbb\xc9\xe4" } , { "\xc8\xe8\xd7\xe5" , "\x7e\xbb\xc9\xc9\xe0" } , { "\xc8\xe8\xd7\xe8" , "\x7e\xbb\xc9\xc3" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\x7e\xbb\x48\xd6\xed" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x7e\xbb\x4e\xc9\xc9" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x7e\xbb\x4e\xc9\xe0" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x7e\xbb\x60\xf2" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\xce\x7e\xbb\x60\xf2" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x7e\xbb\x60\xf2\xd2" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x7e\xbb\x60\xf2\xc9\xe0" } , { "\xc8\xe8\xd7\xe8\xc2" , "\x7e\xbb\x6c\xc9" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\x7e\xbb\x6c\xc9\xd6" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\x7e\xbb\x6c\xc9\xd6\xc5" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\xce\x7e\xbb\x7b\xc9" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\x7e\xbb\x7b\xc9\xd6" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\xce\x7e\xbb\xa3\xed" } , { "\xc8\xe8\xd7\xe8\xca" , "\x7e\xbb\xa5\xc9" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\x7e\xbb\xa9\xc9\xd6\xc5" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x7e\xbb\xab\xc9\xd6" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x7e\xbb\xab\xc9\xda" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\x7e\xbb\xb1\xc9\xc9\xe0" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\xce\x7e\xbb\xbb\x60\xf2" } , { "\xc8\xe8\xd8" , "\x7e\xbe\xfa" } , { "\xc8\xe8\xd8\xda\xa2" , "\x7e\xbe\xfa\xc9\xc5" } , { "\xc8\xe8\xd8\xde" , "\x7e\xbe\xda\xfa" } , { "\xc8\xe8\xd8\xe5" , "\x7e\xbe\xfa\xc9\xe0" } , { "\xc8\xe8\xd8\xe6" , "\x7e\xbe\xfa\xc9\xe4" } , { "\xc8\xe8\xe8" , "\x7e\xc9\xc3" } , { "\xc8\xe8\xe9\xcf" , "\x7e\xad\xf7" } , { "\xc8\xe9" , "\x7e\xc9" } , { "\xc9" , "\xa3\xed" } , { "\xc9\xa1" , "\xa3\xc6\xed" } , { "\xc9\xa2" , "\xa3\xc5\xed" } , { "\xc9\xa3" , "\xa3\xed\x26" } , { "\xc9\xc4" , "\xa3\xed\x71\xf6" } , { "\xc9\xca" , "\xa3\xed\xa5\xc9" } , { "\xc9\xd0" , "\xa3\xed\xad\xf7" } , { "\xc9\xda" , "\xa3\xed\xc9" } , { "\xc9\xda\xa1" , "\xa3\xed\xc9\xc6" } , { "\xc9\xda\xa2" , "\xa3\xed\xc9\xc5" } , { "\xc9\xdb" , "\xca\xa3\xed" } , { "\xc9\xdb\xa2" , "\xcb\xa3\xed" } , { "\xc9\xdc" , "\xa3\xed\xd2" } , { "\xc9\xdc\xa1" , "\xa3\xed\xd3" } , { "\xc9\xdc\xa2" , "\xa3\xed\xd3" } , { "\xc9\xdd" , "\xa3\xd9\xed" } , { "\xc9\xdd\xa1" , "\xa3\xd9\xc6\xed" } , { "\xc9\xdd\xa2" , "\xa3\xd9\xc5\xed" } , { "\xc9\xde" , "\xa3\xdd\xed" } , { "\xc9\xde\xa1" , "\xa3\xdd\xc6\xed" } , { "\xc9\xde\xa2" , "\xa3\xdd\xc5\xed" } , { "\xc9\xdf" , "\xa3\xdf\xed" } , { "\xc9\xe0" , "\xa3\xe8\xed" } , { "\xc9\xe0\xa2" , "\xa3\xe9\xed" } , { "\xc9\xe1" , "\xa3\xe0\xed" } , { "\xc9\xe1\xa2" , "\xa3\xe1\xed" } , { "\xc9\xe2" , "\xa3\xe4\xed" } , { "\xc9\xe2\xa2" , "\xa3\xe5\xed" } , { "\xc9\xe4" , "\xa3\xed\xc9\xe8" } , { "\xc9\xe4\xa2" , "\xa3\xed\xc9\xe9" } , { "\xc9\xe5" , "\xa3\xed\xc9\xe0" } , { "\xc9\xe5\xa2" , "\xa3\xed\xc9\xe1" } , { "\xc9\xe6" , "\xa3\xed\xc9\xe4" } , { "\xc9\xe6\xa2" , "\xa3\xed\xc9\xe5" } , { "\xc9\xe7" , "\xa3\xed\xc9\xe8" } , { "\xc9\xe7\xa2" , "\xa3\xed\xc9\xe9" } , { "\xc9\xe8" , "\xa3\xc3\xed" } , { "\xc9\xe8\xb3\xda" , "\xa2\x48\xed\xc9" } , { "\xc9\xe8\xb3\xdb" , "\xce\xa2\x48\xed" } , { "\xc9\xe8\xb3\xdc" , "\xa2\x48\xed\xd2" } , { "\xc9\xe8\xb3\xdd" , "\xa2\x48\xd6\xed" } , { "\xc9\xe8\xb3\xe0" , "\xa2\x48\xe8\xed" } , { "\xc9\xe8\xb3\xe1" , "\xa2\x48\xe0\xed" } , { "\xc9\xe8\xb3\xe5" , "\xa2\x48\xed\xc9\xe0" } , { "\xc9\xe8\xb4" , "\xa2\x4c\xc9" } , { "\xc9\xe8\xb4\xda" , "\xa2\x4c\xc9\xc9" } , { "\xc9\xe8\xb5" , "\xa2\x4e\xc9" } , { "\xc9\xe8\xb5\xda" , "\xa2\x4e\xc9\xc9" } , { "\xc9\xe8\xb5\xde" , "\xa2\x4e\xc9\xda" } , { "\xc9\xe8\xb6" , "\xa2\x50\xc9" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\xce\xa2\x50\x7b\xc9" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\xa2\x50\x7b\xc9\xd6" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\xa2\x50\x7b\xc9\xc3" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\xa2\x50\x7b\xb1\xc9" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\xa2\x50\x7b\xb1\xc9\xd6" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\xa2\x53\x7b\xc9\xe9" } , { "\xc9\xe8\xba" , "\xa2\x57\xf0" } , { "\xc9\xe8\xba\xda" , "\xa2\x58" } , { "\xc9\xe8\xba\xe5\xa2" , "\xa2\x58\xe1" } , { "\xc9\xe8\xba\xe9" , "\xa2\x57\xf0" } , { "\xc9\xe8\xbb" , "\xa2\x5d\xf1" } , { "\xc9\xe8\xbd" , "\xa2\x60\xf2" } , { "\xc9\xe8\xbd\xdb" , "\xce\xa2\x60\xf2" } , { "\xc9\xe8\xbd\xdb\xa2" , "\xcf\xa2\x60\xf2" } , { "\xc9\xe8\xbd\xdc" , "\xa2\x60\xf2\xd2" } , { "\xc9\xe8\xbd\xdd" , "\xa2\x60\xd6\xf2" } , { "\xc9\xe8\xbd\xde" , "\xa2\x60\xda\xf2" } , { "\xc9\xe8\xbd\xe0" , "\xa2\x60\xe8\xf2" } , { "\xc9\xe8\xbd\xe1\xa2" , "\xa2\x60\xe1\xf2" } , { "\xc9\xe8\xbd\xe5" , "\xa2\x60\xf2\xc9\xe0" } , { "\xc9\xe8\xbd\xe5\xa2" , "\xa2\x60\xf2\xc9\xe1" } , { "\xc9\xe8\xbd\xe8" , "\xa2\x60\xc3\xf2" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\xa2\x60\xc3\xf2\x48\xed\xc9" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\xa2\x60\xc3\xf2\x48\xed\xc9\xe0" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\xa2\x60\xc3\xf2\x7b\xc9\xe9" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\xa2\x60\xc3\xf2\x7e\xc9\xc9" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\xa2\x60\xc3\xf2\x7e\xc9\xe0" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\xa2\x60\xc4\xc3\xf2" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\xa2\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\xa2\x60\xc3\xf2\xb1\xc9\xc9\xe0" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\xa2\x60\xc3\xf2\xb4\xc9\xe9" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\xa2\x60\xc3\xf2\xb4\xc9\xe0" } , { "\xc9\xe8\xbd\xe8\xd7" , "\xa2\x60\xc3\xf2\xbb\xc9" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\xa2\x60\xc3\xf2\xbb\xc9\xe4" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\xa2\x60\xc3\xf2\xbb\xc9\xc3" } , { "\xc9\xe8\xbf\xe8" , "\xa2\x65\xc3\xf4" } , { "\xc9\xe8\xc2" , "\xa2\x6c\xc9" } , { "\xc9\xe8\xc2\xda" , "\xa2\x6c\xc9\xc9" } , { "\xc9\xe8\xc2\xdb" , "\xce\xa2\x6c\xc9" } , { "\xc9\xe8\xc2\xdc" , "\xa2\x6c\xc9\xd2" } , { "\xc9\xe8\xc2\xe1" , "\xa2\x6c\xc9\xe0" } , { "\xc9\xe8\xc2\xe5" , "\xa2\x6c\xc9\xc9\xe0" } , { "\xc9\xe8\xc2\xe5\xa2" , "\xa2\x6c\xc9\xc9\xe1" } , { "\xc9\xe8\xc2\xe8" , "\xa2\x6c\xc9\xc3" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\xa2\x6c\x4e\xc9\xc9" } , { "\xc9\xe8\xc3" , "\xa2\x6f\xc9" } , { "\xc9\xe8\xc3\xda" , "\xa2\x6f\xc9\xc9" } , { "\xc9\xe8\xc3\xe5" , "\xa2\x6f\xc9\xc9\xe0" } , { "\xc9\xe8\xc4" , "\xa2\x71\xf6" } , { "\xc9\xe8\xc4\xda" , "\xa2\x71\xf6\xc9" } , { "\xc9\xe8\xc6" , "\xa2\x7b\xc9" } , { "\xc9\xe8\xc6\xda" , "\xa2\x7b\xc9\xc9" } , { "\xc9\xe8\xc6\xdb" , "\xce\xa2\x7b\xc9" } , { "\xc9\xe8\xc6\xdc" , "\xa2\x7b\xc9\xd2" } , { "\xc9\xe8\xc6\xdd" , "\xa2\x7b\xc9\xd6" } , { "\xc9\xe8\xc6\xe0" , "\xa2\x7b\xc9\xe8" } , { "\xc9\xe8\xc6\xe5" , "\xa2\x7b\xc9\xc9\xe0" } , { "\xc9\xe8\xc8" , "\xa2\x7e\xc9" } , { "\xc9\xe8\xc8\xda" , "\xa2\x7e\xc9\xc9" } , { "\xc9\xe8\xc8\xdc" , "\xa2\x7e\xc9\xd2" } , { "\xc9\xe8\xc8\xe2" , "\xa2\x7e\xc9\xe4" } , { "\xc9\xe8\xc8\xe8" , "\xa2\x7e\xc9\xc3" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\xce\xa2\xa1\xc9" } , { "\xc9\xe8\xc9" , "\xa2\xa3\xed" } , { "\xc9\xe8\xc9\xda" , "\xa2\xa3\xed\xc9" } , { "\xc9\xe8\xc9\xdd" , "\xa2\xa3\xd9\xed" } , { "\xc9\xe8\xc9\xe1" , "\xa2\xa3\xe0\xed" } , { "\xc9\xe8\xc9\xe5" , "\xa2\xa3\xed\xc9\xe0" } , { "\xc9\xe8\xca" , "\xa2\xa5\xc9" } , { "\xc9\xe8\xca\xda" , "\xa2\xa5\xc9\xc9" } , { "\xc9\xe8\xca\xdc" , "\xa2\xa5\xc9\xd2" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\xa2\xa6\xc9\xe0" } , { "\xc9\xe8\xcc" , "\xa2\xa9\xc9" } , { "\xc9\xe8\xcc\xda" , "\xa2\xa9\xc9\xc9" } , { "\xc9\xe8\xcc\xdc" , "\xa2\xa9\xc9\xd2" } , { "\xc9\xe8\xcc\xdd" , "\xa2\xa9\xc9\xd6" } , { "\xc9\xe8\xcc\xe1" , "\xa2\xa9\xc9\xe0" } , { "\xc9\xe8\xcd" , "\xa2\xab\xc9" } , { "\xc9\xe8\xcd\xda" , "\xa2\xab\xc9\xc9" } , { "\xc9\xe8\xcd\xda\xa2" , "\xa2\xab\xc9\xc9\xc5" } , { "\xc9\xe8\xcd\xdd" , "\xa2\xab\xc9\xd6" } , { "\xc9\xe8\xcd\xde" , "\xa2\xab\xc9\xda" } , { "\xc9\xe8\xcd\xe5" , "\xa2\xab\xc9\xc9\xe0" } , { "\xc9\xe8\xcf" , "\xa4\xed" } , { "\xc9\xe8\xcf\xa2" , "\xa4\xc5\xed" } , { "\xc9\xe8\xcf\xda" , "\xa4\xed\xc9" } , { "\xc9\xe8\xcf\xda\xa1" , "\xa4\xed\xc9\xc6" } , { "\xc9\xe8\xcf\xda\xa2" , "\xa4\xed\xc9\xc5" } , { "\xc9\xe8\xcf\xdb" , "\xca\xa4\xed" } , { "\xc9\xe8\xcf\xdb\xa2" , "\xcb\xa4\xed" } , { "\xc9\xe8\xcf\xdc" , "\xa4\xed\xd2" } , { "\xc9\xe8\xcf\xdd" , "\xa4\xd9\xed" } , { "\xc9\xe8\xcf\xde" , "\xa4\xdd\xed" } , { "\xc9\xe8\xcf\xe0" , "\xa4\xe8\xed" } , { "\xc9\xe8\xcf\xe0\xa2" , "\xa4\xe9\xed" } , { "\xc9\xe8\xcf\xe1" , "\xa4\xe0\xed" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xa4\xe1\xed" } , { "\xc9\xe8\xcf\xe2" , "\xa4\xe4\xed" } , { "\xc9\xe8\xcf\xe2\xa2" , "\xa4\xe5\xed" } , { "\xc9\xe8\xcf\xe4" , "\xa4\xed\xc9\xe8" } , { "\xc9\xe8\xcf\xe5" , "\xa4\xed\xc9\xe0" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xa4\xed\xc9\xe1" } , { "\xc9\xe8\xcf\xe6" , "\xa4\xed\xc9\xe4" } , { "\xc9\xe8\xcf\xe7" , "\xa4\xed\xc9\xe8" } , { "\xc9\xe8\xcf\xe8" , "\xa4\xc3\xed" } , { "\xc9\xe8\xd1" , "\xa2\xb1\xc9" } , { "\xc9\xe8\xd1\xda" , "\xa2\xb1\xc9\xc9" } , { "\xc9\xe8\xd1\xda\xa2" , "\xa2\xb1\xc9\xc9\xc5" } , { "\xc9\xe8\xd1\xdb" , "\xce\xa2\xb1\xc9" } , { "\xc9\xe8\xd1\xdb\xa2" , "\xcf\xa2\xb1\xc9" } , { "\xc9\xe8\xd1\xdc" , "\xa2\xb1\xc9\xd2" } , { "\xc9\xe8\xd1\xdd" , "\xa2\xb1\xc9\xd6" } , { "\xc9\xe8\xd1\xde" , "\xa2\xb1\xc9\xda" } , { "\xc9\xe8\xd1\xe0" , "\xa2\xb1\xc9\xe8" } , { "\xc9\xe8\xd1\xe1" , "\xa2\xb1\xc9\xe0" } , { "\xc9\xe8\xd1\xe1\xa2" , "\xa2\xb1\xc9\xe1" } , { "\xc9\xe8\xd1\xe2" , "\xa2\xb1\xc9\xe4" } , { "\xc9\xe8\xd1\xe2\xa2" , "\xa2\xb1\xc9\xe5" } , { "\xc9\xe8\xd1\xe5" , "\xa2\xb1\xc9\xc9\xe0" } , { "\xc9\xe8\xd1\xe5\xa2" , "\xa2\xb1\xc9\xc9\xe1" } , { "\xc9\xe8\xd1\xe6" , "\xa2\xb1\xc9\xc9\xe4" } , { "\xc9\xe8\xd1\xe7" , "\xa2\xb1\xc9\xc9\xe8" } , { "\xc9\xe8\xd5\xda" , "\xa2\xb6\xc9\xc9" } , { "\xc9\xe8\xd7" , "\xa2\xbb\xc9" } , { "\xc9\xe8\xd7\xdb" , "\xce\xa2\xbb\xc9" } , { "\xc9\xe8\xd7\xdc" , "\xa2\xbb\xc9\xd2" } , { "\xc9\xe8\xd7\xe0" , "\xa2\xbb\xc9\xe8" } , { "\xc9\xe8\xd7\xe2" , "\xa2\xbb\xc9\xe4" } , { "\xc9\xe8\xd7\xe8" , "\xa2\xbb\xc9\xc3" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\xa2\xbb\x60\xe8\xf2" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\xa2\xbb\x60\xe0\xf2" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\xa2\xbb\x7b\xc9\xd6" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\xce\xa2\xbb\x7e\xc9" } , { "\xc9\xe8\xd8" , "\xa2\xbe\xfa" } , { "\xc9\xe8\xd8\xdd" , "\xa2\xbe\xd6\xfa" } , { "\xc9\xe8\xd8\xe5" , "\xa2\xbe\xfa\xc9\xe0" } , { "\xc9\xe8\xd9\xc2" , "\xa2\x6c\xc9" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\xa2\xad\xe1\xf7" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\xa2\xab\xc9\xd6\xc7" } , { "\xc9\xe8\xd9\xd1\xe5" , "\xa2\xb1\xc9\xc9\xe0" } , { "\xc9\xe8\xd9\xd7" , "\xa2\xbb\xc9" } , { "\xc9\xe8\xe8" , "\xa3\xc3\xed" } , { "\xc9\xe8\xe9\xcf" , "\xa2\xad\xf7" } , { "\xc9\xe9" , "\xa3\xed" } , { "\xc9\xe9\xda" , "\xa3\xed\xc9" } , { "\xc9\xe9\xdb" , "\xca\xa3\xed" } , { "\xc9\xe9\xdc" , "\xa3\xed\xd2" } , { "\xc9\xe9\xdd" , "\xa3\xd9\xed" } , { "\xc9\xe9\xe1" , "\xa3\xe0\xed" } , { "\xc9\xe9\xe1\xa2" , "\xa3\xe1\xed" } , { "\xc9\xe9\xe2" , "\xa3\xe4\xed" } , { "\xc9\xe9\xe5" , "\xa3\xed\xc9\xe0" } , { "\xc9\xe9\xe5\xa2" , "\xa3\xed\xc9\xe1" } , { "\xc9\xe9\xe6" , "\xa3\xed\xc9\xe4" } , { "\xc9\xe9\xe7" , "\xa3\xed\xc9\xe8" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\xa2\x58\xe1" } , { "\xc9\xe9\xe8\xbd\xdb" , "\xce\xa2\x60\xf2" } , { "\xc9\xe9\xe8\xbd\xdc" , "\xa2\x60\xf2\xd2" } , { "\xc9\xe9\xe8\xc2" , "\xa2\x6c\xc9" } , { "\xc9\xe9\xe8\xc2\xda" , "\xa2\x6c\xc9\xc9" } , { "\xc9\xe9\xe8\xc2\xdc" , "\xa2\x6c\xc9\xd2" } , { "\xc9\xe9\xe8\xc2\xe1" , "\xa2\x6c\xc9\xe0" } , { "\xc9\xe9\xe8\xcf\xdb" , "\xca\xa4\xed" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xa4\xed\xc9\xe0" } , { "\xc9\xe9\xe8\xd1" , "\xa2\xb1\xc9" } , { "\xc9\xe9\xe8\xd1\xe5" , "\xa2\xb1\xc9\xc9\xe0" } , { "\xc9\xe9\xe9\xe8\xc2" , "\xa3\xed\xc3\x6c\xc9" } , { "\xca" , "\xa5\xc9" } , { "\xca\xa1" , "\xa5\xc9\xc6" } , { "\xca\xa2" , "\xa5\xc9\xc5" } , { "\xca\xa2\xa1" , "\xa5\xc9\xc5\xc6" } , { "\xca\xa3" , "\xa5\xc9\x26" } , { "\xca\xda" , "\xa5\xc9\xc9" } , { "\xca\xda\xa1" , "\xa5\xc9\xc9\xc6" } , { "\xca\xda\xa2" , "\xa5\xc9\xc9\xc5" } , { "\xca\xda\xa3" , "\xa5\xc9\xc9\x26" } , { "\xca\xdb" , "\xca\xa5\xc9" } , { "\xca\xdb\xa2" , "\xcb\xa5\xc9" } , { "\xca\xdc" , "\xa5\xc9\xd2" } , { "\xca\xdc\xa2" , "\xa5\xc9\xd3" } , { "\xca\xdd" , "\xa5\xc9\xd6" } , { "\xca\xdd\xa1" , "\xa5\xc9\xd6\xc6" } , { "\xca\xdd\xa2" , "\xa5\xc9\xd6\xc5" } , { "\xca\xde" , "\xa5\xc9\xda" } , { "\xca\xde\xa1" , "\xa5\xc9\xda\xc6" } , { "\xca\xde\xa2" , "\xa5\xc9\xda\xc5" } , { "\xca\xdf" , "\xa5\xc9\xde" } , { "\xca\xdf\xa2" , "\xa5\xc9\xde\xc5" } , { "\xca\xe0" , "\xa5\xc9\xe8" } , { "\xca\xe0\xa1" , "\xa5\xc9\xe9" } , { "\xca\xe0\xa2" , "\xa5\xc9\xe9" } , { "\xca\xe1" , "\xa5\xc9\xe0" } , { "\xca\xe1\xa2" , "\xa5\xc9\xe1" } , { "\xca\xe2" , "\xa5\xc9\xe4" } , { "\xca\xe2\xa2" , "\xa5\xc9\xe5" } , { "\xca\xe4" , "\xa5\xc9\xc9\xe8" } , { "\xca\xe4\xa2" , "\xa5\xc9\xc9\xe9" } , { "\xca\xe5" , "\xa5\xc9\xc9\xe0" } , { "\xca\xe5\xa2" , "\xa5\xc9\xc9\xe1" } , { "\xca\xe6" , "\xa5\xc9\xc9\xe4" } , { "\xca\xe6\xa2" , "\xa5\xc9\xc9\xe5" } , { "\xca\xe7" , "\xa5\xc9\xc9\xe8" } , { "\xca\xe8" , "\xa5\xc9\xc3" } , { "\xca\xe8\xb3" , "\xa5\x48\xed" } , { "\xca\xe8\xb3\xda" , "\xa5\x48\xed\xc9" } , { "\xca\xe8\xb3\xdb" , "\xce\xa5\x48\xed" } , { "\xca\xe8\xb3\xdd" , "\xa5\x48\xd6\xed" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\xa5\x47\xab\xc9\xda" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\xa5\x47\xb1\xc9\xe0" } , { "\xca\xe8\xb4\xda" , "\xa5\x4c\xc9\xc9" } , { "\xca\xe8\xb5\xda" , "\xa5\x4e\xc9\xc9" } , { "\xca\xe8\xb5\xdd\xa2" , "\xa5\x4e\xc9\xd6\xc5" } , { "\xca\xe8\xb6" , "\xa5\x50\xc9" } , { "\xca\xe8\xb6\xdb" , "\xce\xa5\x50\xc9" } , { "\xca\xe8\xba" , "\xa5\x57\xf0" } , { "\xca\xe8\xba\xa2" , "\xa5\x57\xc5\xf0" } , { "\xca\xe8\xba\xda" , "\xa5\x58" } , { "\xca\xe8\xba\xda\xa2" , "\xa5\x58\xc5" } , { "\xca\xe8\xba\xdb" , "\xce\xa5\x57\xf0" } , { "\xca\xe8\xba\xdc" , "\xa5\x59\xf0" } , { "\xca\xe8\xba\xdd" , "\xa5\x57\xd6\xf0" } , { "\xca\xe8\xba\xe0" , "\xa5\x57\xf0\xe8" } , { "\xca\xe8\xba\xe1" , "\xa5\x57\xf0\xe0" } , { "\xca\xe8\xba\xe1\xa2" , "\xa5\x57\xf0\xe1" } , { "\xca\xe8\xba\xe2" , "\xa5\x57\xf0\xe4" } , { "\xca\xe8\xba\xe5" , "\xa5\x58\xe0" } , { "\xca\xe8\xba\xe5\xa2" , "\xa5\x58\xe1" } , { "\xca\xe8\xba\xe9" , "\xa5\x57\xf0" } , { "\xca\xe8\xba\xe9\xda" , "\xa5\x58" } , { "\xca\xe8\xba\xe9\xdc" , "\xa5\x59\xf0" } , { "\xca\xe8\xba\xe9\xe1" , "\xa5\x57\xf0\xe0" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\xa5\x57\xf0\xe1" } , { "\xca\xe8\xbd" , "\xa5\x60\xf2" } , { "\xca\xe8\xbd\xdb" , "\xce\xa5\x60\xf2" } , { "\xca\xe8\xbd\xe0" , "\xa5\x60\xe8\xf2" } , { "\xca\xe8\xbd\xe2" , "\xa5\x60\xe4\xf2" } , { "\xca\xe8\xbd\xe5" , "\xa5\x60\xf2\xc9\xe0" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\xce\xa5\x60\xc3\xf2\x60\xf2" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\xa5\x60\xc4\xf2\xc9" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\xce\xa5\x60\xc3\xf2\xbb\xc9" } , { "\xca\xe8\xbf" , "\xa5\x65\xf4" } , { "\xca\xe8\xbf\xda" , "\xa5\x65\xf4\xc9" } , { "\xca\xe8\xbf\xdb" , "\xce\xa5\x65\xf4" } , { "\xca\xe8\xbf\xdb\xa2" , "\xcf\xa5\x65\xf4" } , { "\xca\xe8\xbf\xe0" , "\xa5\x65\xe8\xf4" } , { "\xca\xe8\xbf\xe1" , "\xa5\x65\xe0\xf4" } , { "\xca\xe8\xbf\xe5" , "\xa5\x65\xf4\xc9\xe0" } , { "\xca\xe8\xbf\xe8" , "\xa5\x65\xc3\xf4" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\xa5\x65\xf4\xac\xd6" } , { "\xca\xe8\xc2" , "\xa5\x6c\xc9" } , { "\xca\xe8\xc2\xa2" , "\xa5\x6c\xc9\xc5" } , { "\xca\xe8\xc2\xda" , "\xa5\x6c\xc9\xc9" } , { "\xca\xe8\xc2\xdb" , "\xce\xa5\x6c\xc9" } , { "\xca\xe8\xc2\xdc" , "\xa5\x6c\xc9\xd2" } , { "\xca\xe8\xc2\xdd" , "\xa5\x6c\xc9\xd6" } , { "\xca\xe8\xc2\xdd\xa2" , "\xa5\x6c\xc9\xd6\xc5" } , { "\xca\xe8\xc2\xe1" , "\xa5\x6c\xc9\xe0" } , { "\xca\xe8\xc2\xe5" , "\xa5\x6c\xc9\xc9\xe0" } , { "\xca\xe8\xc2\xe8\xc2" , "\xa5\x6e\xc9" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\xce\xa5\x6e\xc9" } , { "\xca\xe8\xc3\xda" , "\xa5\x6f\xc9\xc9" } , { "\xca\xe8\xc3\xdb" , "\xce\xa5\x6f\xc9" } , { "\xca\xe8\xc4" , "\xa5\x71\xf6" } , { "\xca\xe8\xc4\xa2" , "\xa5\x71\xc5\xf6" } , { "\xca\xe8\xc4\xa3" , "\xa5\x71\xf6\x26" } , { "\xca\xe8\xc4\xda" , "\xa5\x71\xf6\xc9" } , { "\xca\xe8\xc4\xda\xa2" , "\xa5\x71\xf6\xc9\xc5" } , { "\xca\xe8\xc4\xda\xa3" , "\xa5\x71\xf6\xc9\x26" } , { "\xca\xe8\xc4\xdb" , "\xce\xa5\x71\xf6" } , { "\xca\xe8\xc4\xdb\xa2" , "\xcf\xa5\x71\xf6" } , { "\xca\xe8\xc4\xdc" , "\xa5\x71\xf6\xd2" } , { "\xca\xe8\xc4\xdc\xa2" , "\xa5\x71\xf6\xd3" } , { "\xca\xe8\xc4\xdd" , "\xa5\x71\xd6\xf6" } , { "\xca\xe8\xc4\xe1" , "\xa5\x71\xe0\xf6" } , { "\xca\xe8\xc4\xe2" , "\xa5\x71\xe4\xf6" } , { "\xca\xe8\xc4\xe5" , "\xa5\x71\xf6\xc9\xe0" } , { "\xca\xe8\xc4\xe5\xa2" , "\xa5\x71\xf6\xc9\xe1" } , { "\xca\xe8\xc4\xe8" , "\xa5\x71\xc3\xf6" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\xa5\x76\xc9" } , { "\xca\xe8\xc5" , "\xa5\x79\xc9" } , { "\xca\xe8\xc5\xa2" , "\xa5\x79\xc9\xc5" } , { "\xca\xe8\xc5\xa3" , "\xa5\x79\xc9\x26" } , { "\xca\xe8\xc5\xda" , "\xa5\x79\xc9\xc9" } , { "\xca\xe8\xc5\xda\xa3" , "\xa5\x79\xc9\xc9\x26" } , { "\xca\xe8\xc5\xdb" , "\xce\xa5\x79\xc9" } , { "\xca\xe8\xc5\xdd" , "\xa5\x79\xc9\xd6" } , { "\xca\xe8\xc5\xe5" , "\xa5\x79\xc9\xc9\xe0" } , { "\xca\xe8\xc6" , "\xa5\x7b\xc9" } , { "\xca\xe8\xc6\xda" , "\xa5\x7b\xc9\xc9" } , { "\xca\xe8\xc6\xdb" , "\xce\xa5\x7b\xc9" } , { "\xca\xe8\xc6\xdb\xa2" , "\xcf\xa5\x7b\xc9" } , { "\xca\xe8\xc6\xdc" , "\xa5\x7b\xc9\xd2" } , { "\xca\xe8\xc6\xdd" , "\xa5\x7b\xc9\xd6" } , { "\xca\xe8\xc8" , "\xa5\x7e\xc9" } , { "\xca\xe8\xc8\xdb" , "\xce\xa5\x7e\xc9" } , { "\xca\xe8\xc8\xe5" , "\xa5\x7e\xc9\xc9\xe0" } , { "\xca\xe8\xc9\xe2" , "\xa5\xa3\xe4\xed" } , { "\xca\xe8\xca" , "\xa5\xa5\xc9" } , { "\xca\xe8\xca\xa2" , "\xa5\xa5\xc9\xc5" } , { "\xca\xe8\xca\xda" , "\xa5\xa5\xc9\xc9" } , { "\xca\xe8\xca\xdb" , "\xce\xa5\xa5\xc9" } , { "\xca\xe8\xca\xdb\xa2" , "\xcf\xa5\xa5\xc9" } , { "\xca\xe8\xca\xdc" , "\xa5\xa5\xc9\xd2" } , { "\xca\xe8\xca\xdd" , "\xa5\xa5\xc9\xd6" } , { "\xca\xe8\xca\xdd\xa2" , "\xa5\xa5\xc9\xd6\xc5" } , { "\xca\xe8\xca\xde" , "\xa5\xa5\xc9\xda" } , { "\xca\xe8\xca\xe0" , "\xa5\xa5\xc9\xe8" } , { "\xca\xe8\xca\xe0\xa2" , "\xa5\xa5\xc9\xe9" } , { "\xca\xe8\xca\xe1" , "\xa5\xa5\xc9\xe0" } , { "\xca\xe8\xca\xe1\xa2" , "\xa5\xa5\xc9\xe1" } , { "\xca\xe8\xca\xe2" , "\xa5\xa5\xc9\xe4" } , { "\xca\xe8\xca\xe4" , "\xa5\xa5\xc9\xc9\xe8" } , { "\xca\xe8\xca\xe5" , "\xa5\xa5\xc9\xc9\xe0" } , { "\xca\xe8\xca\xe5\xa2" , "\xa5\xa5\xc9\xc9\xe1" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\xce\xa5\xa5\x71\xf6" } , { "\xca\xe8\xca\xe8\xd8" , "\xa5\xa5\xbe\xfa" } , { "\xca\xe8\xcb" , "\xa5\xa7\xc9" } , { "\xca\xe8\xcb\xa2" , "\xa5\xa7\xc9\xc5" } , { "\xca\xe8\xcb\xda" , "\xa5\xa7\xc9\xc9" } , { "\xca\xe8\xcb\xdb" , "\xce\xa5\xa7\xc9" } , { "\xca\xe8\xcb\xdc" , "\xa5\xa7\xc9\xd2" } , { "\xca\xe8\xcb\xdd" , "\xa5\xa7\xc9\xd6" } , { "\xca\xe8\xcb\xe2" , "\xa5\xa7\xc9\xe4" } , { "\xca\xe8\xcc" , "\xa5\xa9\xc9" } , { "\xca\xe8\xcc\xda" , "\xa5\xa9\xc9\xc9" } , { "\xca\xe8\xcc\xdb" , "\xce\xa5\xa9\xc9" } , { "\xca\xe8\xcc\xe0" , "\xa5\xa9\xc9\xe8" } , { "\xca\xe8\xcc\xe1" , "\xa5\xa9\xc9\xe0" } , { "\xca\xe8\xcd" , "\xa5\xab\xc9" } , { "\xca\xe8\xcd\xa2" , "\xa5\xab\xc9\xc5" } , { "\xca\xe8\xcd\xda" , "\xa5\xab\xc9\xc9" } , { "\xca\xe8\xcd\xda\xa2" , "\xa5\xab\xc9\xc9\xc5" } , { "\xca\xe8\xcd\xdc" , "\xa5\xab\xc9\xd2" } , { "\xca\xe8\xcd\xdd" , "\xa5\xab\xc9\xd6" } , { "\xca\xe8\xcd\xde" , "\xa5\xab\xc9\xda" } , { "\xca\xe8\xcd\xe5" , "\xa5\xab\xc9\xc9\xe0" } , { "\xca\xe8\xcd\xe5\xa2" , "\xa5\xab\xc9\xc9\xe1" } , { "\xca\xe8\xcd\xe6" , "\xa5\xab\xc9\xc9\xe4" } , { "\xca\xe8\xcd\xe6\xa2" , "\xa5\xab\xc9\xc9\xe5" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\xa5\xab\xab\xc9\xc9" } , { "\xca\xe8\xcf" , "\xa6\xc9" } , { "\xca\xe8\xcf\xa2" , "\xa6\xc9\xc5" } , { "\xca\xe8\xcf\xda" , "\xa6\xc9\xc9" } , { "\xca\xe8\xcf\xda\xa1" , "\xa6\xc9\xc9\xc6" } , { "\xca\xe8\xcf\xda\xa2" , "\xa6\xc9\xc9\xc5" } , { "\xca\xe8\xcf\xdb" , "\xca\xa6\xc9" } , { "\xca\xe8\xcf\xdb\xa2" , "\xcb\xa6\xc9" } , { "\xca\xe8\xcf\xdc" , "\xa6\xc9\xd2" } , { "\xca\xe8\xcf\xdd" , "\xa6\xc9\xd6" } , { "\xca\xe8\xcf\xde" , "\xa6\xc9\xda" } , { "\xca\xe8\xcf\xe0" , "\xa6\xc9\xe8" } , { "\xca\xe8\xcf\xe1" , "\xa6\xc9\xe0" } , { "\xca\xe8\xcf\xe1\xa2" , "\xa6\xc9\xe1" } , { "\xca\xe8\xcf\xe2" , "\xa6\xc9\xe4" } , { "\xca\xe8\xcf\xe2\xa2" , "\xa6\xc9\xe5" } , { "\xca\xe8\xcf\xe4" , "\xa6\xc9\xc9\xe8" } , { "\xca\xe8\xcf\xe5" , "\xa6\xc9\xc9\xe0" } , { "\xca\xe8\xcf\xe5\xa2" , "\xa6\xc9\xc9\xe1" } , { "\xca\xe8\xcf\xe6" , "\xa6\xc9\xc9\xe4" } , { "\xca\xe8\xcf\xe7" , "\xa6\xc9\xc9\xe8" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\xa6\x60\xc3\xf2" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\xa6\x65\xc3\xf4" } , { "\xca\xe8\xd1" , "\xa5\xb1\xc9" } , { "\xca\xe8\xd1\xa2" , "\xa5\xb1\xc9\xc5" } , { "\xca\xe8\xd1\xda" , "\xa5\xb1\xc9\xc9" } , { "\xca\xe8\xd1\xda\xa2" , "\xa5\xb1\xc9\xc9\xc5" } , { "\xca\xe8\xd1\xdb" , "\xce\xa5\xb1\xc9" } , { "\xca\xe8\xd1\xdb\xa2" , "\xcf\xa5\xb1\xc9" } , { "\xca\xe8\xd1\xdc" , "\xa5\xb1\xc9\xd2" } , { "\xca\xe8\xd1\xdd" , "\xa5\xb1\xc9\xd6" } , { "\xca\xe8\xd1\xde" , "\xa5\xb1\xc9\xda" } , { "\xca\xe8\xd1\xe0" , "\xa5\xb1\xc9\xe8" } , { "\xca\xe8\xd1\xe0\xa2" , "\xa5\xb1\xc9\xe9" } , { "\xca\xe8\xd1\xe1" , "\xa5\xb1\xc9\xe0" } , { "\xca\xe8\xd1\xe1\xa2" , "\xa5\xb1\xc9\xe1" } , { "\xca\xe8\xd1\xe2" , "\xa5\xb1\xc9\xe4" } , { "\xca\xe8\xd1\xe2\xa2" , "\xa5\xb1\xc9\xe5" } , { "\xca\xe8\xd1\xe5" , "\xa5\xb1\xc9\xc9\xe0" } , { "\xca\xe8\xd1\xe6" , "\xa5\xb1\xc9\xc9\xe4" } , { "\xca\xe8\xd1\xe7" , "\xa5\xb1\xc9\xc9\xe8" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\xce\xa5\xb1\x48\xed" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\xce\xa5\xb1\xab\xc9" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\xa5\xb1\xab\xc9\xd6" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\xa5\xb1\xab\xc9\xda" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\xa5\xb1\xb4\xc9\xd6" } , { "\xca\xe8\xd4\xa2" , "\xa5\xb4\xc9\xc5" } , { "\xca\xe8\xd4\xda" , "\xa5\xb4\xc9\xc9" } , { "\xca\xe8\xd4\xdb" , "\xce\xa5\xb4\xc9" } , { "\xca\xe8\xd4\xe0" , "\xa5\xb4\xc9\xe8" } , { "\xca\xe8\xd4\xe1" , "\xa5\xb4\xc9\xe0" } , { "\xca\xe8\xd4\xe7" , "\xa5\xb4\xc9\xc9\xe8" } , { "\xca\xe8\xd5\xda" , "\xa5\xb6\xc9\xc9" } , { "\xca\xe8\xd5\xdb" , "\xce\xa5\xb6\xc9" } , { "\xca\xe8\xd5\xdc" , "\xa5\xb6\xc9\xd2" } , { "\xca\xe8\xd6\xda" , "\xa5\xba\xc9\xc9" } , { "\xca\xe8\xd6\xdb" , "\xce\xa5\xba\xc9" } , { "\xca\xe8\xd6\xdc" , "\xa5\xba\xc9\xd2" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\xa5\xba\x60\xc4\xf2" } , { "\xca\xe8\xd7" , "\xa5\xbb\xc9" } , { "\xca\xe8\xd7\xda" , "\xa5\xbb\xc9\xc9" } , { "\xca\xe8\xd7\xdb" , "\xce\xa5\xbb\xc9" } , { "\xca\xe8\xd7\xdc" , "\xa5\xbb\xc9\xd2" } , { "\xca\xe8\xd7\xdd" , "\xa5\xbb\xc9\xd6" } , { "\xca\xe8\xd7\xe0" , "\xa5\xbb\xc9\xe8" } , { "\xca\xe8\xd7\xe0\xa2" , "\xa5\xbb\xc9\xe9" } , { "\xca\xe8\xd7\xe1" , "\xa5\xbb\xc9\xe0" } , { "\xca\xe8\xd7\xe2" , "\xa5\xbb\xc9\xe4" } , { "\xca\xe8\xd7\xe5" , "\xa5\xbb\xc9\xc9\xe0" } , { "\xca\xe8\xd7\xe6" , "\xa5\xbb\xc9\xc9\xe4" } , { "\xca\xe8\xd7\xe8" , "\xa5\xbb\xc9\xc3" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\xa5\xbb\x48\xd6\xed" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\xa5\xbb\x48\xe4\xed" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xce\xa5\xbb\x4a\xed" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\xa5\xbb\x4a\xe4\xed" } , { "\xca\xe8\xd7\xe8\xbd" , "\xa5\xbb\x60\xf2" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\xa5\xbb\x60\xf2\xc9" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\xa5\xbb\x60\xf2\xc9\xc5" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\xce\xa5\xbb\x60\xf2" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\xa5\xbb\x60\xe0\xf2" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\xa5\xbb\x60\xc4\xf2" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xa5\xbb\x60\xc4\xf2\xc9" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xa5\xbb\x60\xc4\xe4\xf2" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\xa5\xbb\x7b\xc9\xd6" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\xa5\xbb\xb1\xc9\xd6" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\xa5\xbb\xb1\xc9\xc9\xe0" } , { "\xca\xe8\xd7\xe8\xd4" , "\xa5\xbb\xb4\xc9" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\xa5\xbb\xb4\xc9\xc5" } , { "\xca\xe8\xd8" , "\xa5\xbe\xfa" } , { "\xca\xe8\xd8\xda" , "\xa5\xbe\xfa\xc9" } , { "\xca\xe8\xd8\xe6" , "\xa5\xbe\xfa\xc9\xe4" } , { "\xca\xe8\xd8\xe8" , "\xa5\xbe\xc3\xfa" } , { "\xca\xe8\xe8" , "\xa5\xc9\xc3" } , { "\xca\xe8\xe9\xcf" , "\xa5\xad\xf7" } , { "\xca\xe9" , "\xa5\xc9" } , { "\xcb" , "\xa7\xc9" } , { "\xcb\xa1" , "\xa7\xc9\xc6" } , { "\xcb\xa2" , "\xa7\xc9\xc5" } , { "\xcb\xa3" , "\xa7\xc9\x26" } , { "\xcb\xd0" , "\xa7\xc9\xad\xf7" } , { "\xcb\xd0\xdc" , "\xa7\xc9\xad\xf7\xd2" } , { "\xcb\xda" , "\xa7\xc9\xc9" } , { "\xcb\xda\xa1" , "\xa7\xc9\xc9\xc6" } , { "\xcb\xda\xa2" , "\xa7\xc9\xc9\xc5" } , { "\xcb\xda\xd0" , "\xa7\xc9\xc9\xad\xf7" } , { "\xcb\xdb" , "\xca\xa7\xc9" } , { "\xcb\xdb\xa2" , "\xcb\xa7\xc9" } , { "\xcb\xdb\xa3" , "\xca\xa7\xc9\x26" } , { "\xcb\xdb\xd4\xdf" , "\xca\xa7\xc9\xb4\xc9\xde" } , { "\xcb\xdc" , "\xa7\xc9\xd2" } , { "\xcb\xdc\xa1" , "\xa7\xc9\xd3" } , { "\xcb\xdc\xa2" , "\xa7\xc9\xd3" } , { "\xcb\xdd" , "\xa7\xc9\xd6" } , { "\xcb\xdd\xa2" , "\xa7\xc9\xd6\xc5" } , { "\xcb\xde" , "\xa7\xc9\xda" } , { "\xcb\xde\xa1" , "\xa7\xc9\xda\xc6" } , { "\xcb\xde\xa2" , "\xa7\xc9\xda\xc5" } , { "\xcb\xdf" , "\xa7\xc9\xde" } , { "\xcb\xdf\xa2" , "\xa7\xc9\xde\xc5" } , { "\xcb\xe0" , "\xa7\xc9\xe8" } , { "\xcb\xe1" , "\xa7\xc9\xe0" } , { "\xcb\xe1\xa2" , "\xa7\xc9\xe1" } , { "\xcb\xe2" , "\xa7\xc9\xe4" } , { "\xcb\xe2\xa2" , "\xa7\xc9\xe5" } , { "\xcb\xe4" , "\xa7\xc9\xc9\xe8" } , { "\xcb\xe5" , "\xa7\xc9\xc9\xe0" } , { "\xcb\xe5\xa2" , "\xa7\xc9\xc9\xe1" } , { "\xcb\xe6" , "\xa7\xc9\xc9\xe4" } , { "\xcb\xe6\xa2" , "\xa7\xc9\xc9\xe5" } , { "\xcb\xe7" , "\xa7\xc9\xc9\xe8" } , { "\xcb\xe7\xa2" , "\xa7\xc9\xc9\xe9" } , { "\xcb\xe8" , "\xa7\xc9\xc3" } , { "\xcb\xe8\xb3\xdd" , "\xa7\x48\xd6\xed" } , { "\xcb\xe8\xbd\xdd" , "\xa7\x60\xd6\xf2" } , { "\xcb\xe8\xbf" , "\xa7\x65\xf4" } , { "\xcb\xe8\xc2" , "\xa7\x6c\xc9" } , { "\xcb\xe8\xc2\xdb" , "\xce\xa7\x6c\xc9" } , { "\xcb\xe8\xc4" , "\xa7\x71\xf6" } , { "\xcb\xe8\xc4\xa2" , "\xa7\x71\xc5\xf6" } , { "\xcb\xe8\xc4\xda" , "\xa7\x71\xf6\xc9" } , { "\xcb\xe8\xc4\xdb" , "\xce\xa7\x71\xf6" } , { "\xcb\xe8\xc5" , "\xa7\x79\xc9" } , { "\xcb\xe8\xc5\xdb" , "\xce\xa7\x79\xc9" } , { "\xcb\xe8\xc6\xdb" , "\xce\xa7\x7b\xc9" } , { "\xcb\xe8\xc6\xe8\xc6" , "\xa7\x7d\xc9" } , { "\xcb\xe8\xca\xda" , "\xa7\xa5\xc9\xc9" } , { "\xcb\xe8\xca\xdb" , "\xce\xa7\xa5\xc9" } , { "\xcb\xe8\xca\xe2" , "\xa7\xa5\xc9\xe4" } , { "\xcb\xe8\xcb" , "\xa7\xa7\xc9" } , { "\xcb\xe8\xcb\xda" , "\xa7\xa7\xc9\xc9" } , { "\xcb\xe8\xcb\xdc" , "\xa7\xa7\xc9\xd2" } , { "\xcb\xe8\xcb\xe2" , "\xa7\xa7\xc9\xe4" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\xa7\xa8\xc9\xc9" } , { "\xcb\xe8\xcc" , "\xa7\xa9\xc9" } , { "\xcb\xe8\xcd" , "\xa7\xab\xc9" } , { "\xcb\xe8\xcd\xa2" , "\xa7\xab\xc9\xc5" } , { "\xcb\xe8\xcd\xa3" , "\xa7\xab\xc9\x26" } , { "\xcb\xe8\xcd\xda" , "\xa7\xab\xc9\xc9" } , { "\xcb\xe8\xcd\xda\xa2" , "\xa7\xab\xc9\xc9\xc5" } , { "\xcb\xe8\xcd\xdd" , "\xa7\xab\xc9\xd6" } , { "\xcb\xe8\xcd\xde" , "\xa7\xab\xc9\xda" } , { "\xcb\xe8\xcd\xe1" , "\xa7\xab\xc9\xe0" } , { "\xcb\xe8\xcd\xe2" , "\xa7\xab\xc9\xe4" } , { "\xcb\xe8\xcd\xe4" , "\xa7\xab\xc9\xc9\xe8" } , { "\xcb\xe8\xcd\xe5" , "\xa7\xab\xc9\xc9\xe0" } , { "\xcb\xe8\xcf" , "\xa8\xc9" } , { "\xcb\xe8\xcf\xa2" , "\xa8\xc9\xc5" } , { "\xcb\xe8\xcf\xda" , "\xa8\xc9\xc9" } , { "\xcb\xe8\xcf\xda\xa2" , "\xa8\xc9\xc9\xc5" } , { "\xcb\xe8\xcf\xdb" , "\xca\xa8\xc9" } , { "\xcb\xe8\xcf\xdc" , "\xa8\xc9\xd2" } , { "\xcb\xe8\xcf\xdd" , "\xa8\xc9\xd6" } , { "\xcb\xe8\xcf\xde" , "\xa8\xc9\xda" } , { "\xcb\xe8\xcf\xdf" , "\xa8\xc9\xde" } , { "\xcb\xe8\xcf\xe5" , "\xa8\xc9\xc9\xe0" } , { "\xcb\xe8\xd1\xe2" , "\xa7\xb1\xc9\xe4" } , { "\xcb\xe8\xd1\xe5" , "\xa7\xb1\xc9\xc9\xe0" } , { "\xcb\xe8\xd4" , "\xa7\xb4\xc9" } , { "\xcb\xe8\xd4\xe8\xcd" , "\xa7\xb4\xab\xc9" } , { "\xcb\xe8\xe8" , "\xa7\xc9\xc3" } , { "\xcb\xe8\xe9\xcf" , "\xa7\xad\xf7" } , { "\xcb\xe9" , "\xa7\xc9" } , { "\xcc" , "\xa9\xc9" } , { "\xcc\xa1" , "\xa9\xc9\xc6" } , { "\xcc\xa2" , "\xa9\xc9\xc5" } , { "\xcc\xa3" , "\xa9\xc9\x26" } , { "\xcc\xda" , "\xa9\xc9\xc9" } , { "\xcc\xda\xa1" , "\xa9\xc9\xc9\xc6" } , { "\xcc\xda\xa2" , "\xa9\xc9\xc9\xc5" } , { "\xcc\xda\xa3" , "\xa9\xc9\xc9\x26" } , { "\xcc\xdb" , "\xca\xa9\xc9" } , { "\xcc\xdb\xa2" , "\xcb\xa9\xc9" } , { "\xcc\xdb\xa2\xa2" , "\xcb\xa9\xc9\xc5" } , { "\xcc\xdb\xd0\xe8" , "\xca\xa9\xc9\xad\xc3\xf7" } , { "\xcc\xdc" , "\xa9\xc9\xd2" } , { "\xcc\xdc\xa1" , "\xa9\xc9\xd3" } , { "\xcc\xdc\xa2" , "\xa9\xc9\xd3" } , { "\xcc\xdd" , "\xa9\xc9\xd6" } , { "\xcc\xdd\xa1" , "\xa9\xc9\xd6\xc6" } , { "\xcc\xdd\xa2" , "\xa9\xc9\xd6\xc5" } , { "\xcc\xdd\xa2\xa2" , "\xa9\xc9\xd6\xc5\xc5" } , { "\xcc\xde" , "\xa9\xc9\xda" } , { "\xcc\xde\xa1" , "\xa9\xc9\xda\xc6" } , { "\xcc\xde\xa2" , "\xa9\xc9\xda\xc5" } , { "\xcc\xdf" , "\xa9\xc9\xde" } , { "\xcc\xdf\xa2" , "\xa9\xc9\xde\xc5" } , { "\xcc\xe0" , "\xa9\xc9\xe8" } , { "\xcc\xe0\xa2" , "\xa9\xc9\xe9" } , { "\xcc\xe1" , "\xa9\xc9\xe0" } , { "\xcc\xe1\xa1" , "\xa9\xc9\xe1" } , { "\xcc\xe1\xa2" , "\xa9\xc9\xe1" } , { "\xcc\xe1\xa2\xa2" , "\xa9\xc9\xe1\xc5" } , { "\xcc\xe2" , "\xa9\xc9\xe4" } , { "\xcc\xe2\xa1" , "\xa9\xc9\xe5" } , { "\xcc\xe2\xa2" , "\xa9\xc9\xe5" } , { "\xcc\xe4" , "\xa9\xc9\xc9\xe8" } , { "\xcc\xe4\xa2" , "\xa9\xc9\xc9\xe9" } , { "\xcc\xe4\xd0\xb1" , "\xa9\xc9\xc9\xe8\xad\xf7\x2b\xc9\xe4" } , { "\xcc\xe5" , "\xa9\xc9\xc9\xe0" } , { "\xcc\xe5\xa2" , "\xa9\xc9\xc9\xe1" } , { "\xcc\xe6" , "\xa9\xc9\xc9\xe4" } , { "\xcc\xe6\xa2" , "\xa9\xc9\xc9\xe5" } , { "\xcc\xe6\xa3" , "\xa9\xc9\xc9\xe4\x26" } , { "\xcc\xe7" , "\xa9\xc9\xc9\xe8" } , { "\xcc\xe8" , "\xa9\xc9\xc3" } , { "\xcc\xe8\xb3\xa2" , "\xa9\x48\xc5\xed" } , { "\xcc\xe8\xb3\xda" , "\xa9\x48\xed\xc9" } , { "\xcc\xe8\xb3\xdb" , "\xce\xa9\x48\xed" } , { "\xcc\xe8\xb3\xdc" , "\xa9\x48\xed\xd2" } , { "\xcc\xe8\xb3\xdd" , "\xa9\x48\xd6\xed" } , { "\xcc\xe8\xb3\xde" , "\xa9\x48\xda\xed" } , { "\xcc\xe8\xb3\xdf" , "\xa9\x48\xde\xed" } , { "\xcc\xe8\xb3\xe1" , "\xa9\x48\xe0\xed" } , { "\xcc\xe8\xb3\xe4" , "\xa9\x48\xed\xc9\xe8" } , { "\xcc\xe8\xb3\xe5" , "\xa9\x48\xed\xc9\xe0" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\xa9\x47\xab\xc9\xc9" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\xcf\xa9\x4a\xed" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\xa9\x4a\xda\xed" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\xa9\x47\xb1\xc9\xc9\xe0" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\xa9\x47\xbb\xc9\xd2" } , { "\xcc\xe8\xb4\xda" , "\xa9\x4c\xc9\xc9" } , { "\xcc\xe8\xb4\xe8" , "\xa9\x4c\xc9\xc3" } , { "\xcc\xe8\xb5" , "\xa9\x4e\xc9" } , { "\xcc\xe8\xb5\xa2" , "\xa9\x4e\xc9\xc5" } , { "\xcc\xe8\xb5\xda" , "\xa9\x4e\xc9\xc9" } , { "\xcc\xe8\xb5\xdd" , "\xa9\x4e\xc9\xd6" } , { "\xcc\xe8\xb8" , "\xa9\x53\xc9" } , { "\xcc\xe8\xb8\xa2" , "\xa9\x53\xc9\xc5" } , { "\xcc\xe8\xb8\xda" , "\xa9\x53\xc9\xc9" } , { "\xcc\xe8\xb8\xdc" , "\xa9\x53\xc9\xd2" } , { "\xcc\xe8\xb8\xdd" , "\xa9\x53\xc9\xd6" } , { "\xcc\xe8\xb8\xe0\xa2" , "\xa9\x53\xc9\xe9" } , { "\xcc\xe8\xb8\xe1" , "\xa9\x53\xc9\xe0" } , { "\xcc\xe8\xb8\xe8\xc8" , "\xa9\x53\x7e\xc9" } , { "\xcc\xe8\xba" , "\xa9\x57\xf0" } , { "\xcc\xe8\xba\xda" , "\xa9\x58" } , { "\xcc\xe8\xba\xdb" , "\xce\xa9\x57\xf0" } , { "\xcc\xe8\xba\xe0" , "\xa9\x57\xf0\xe8" } , { "\xcc\xe8\xba\xe8" , "\xa9\x57\xc3\xf0" } , { "\xcc\xe8\xba\xe9" , "\xa9\x57\xf0" } , { "\xcc\xe8\xbd" , "\xa9\x60\xf2" } , { "\xcc\xe8\xbd\xda" , "\xa9\x60\xf2\xc9" } , { "\xcc\xe8\xbd\xdc" , "\xa9\x60\xf2\xd2" } , { "\xcc\xe8\xbd\xe0" , "\xa9\x60\xe8\xf2" } , { "\xcc\xe8\xbd\xe1" , "\xa9\x60\xe0\xf2" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\xa9\x60\xf2\xac\xda" } , { "\xcc\xe8\xbf" , "\xa9\x65\xf4" } , { "\xcc\xe8\xbf\xda" , "\xa9\x65\xf4\xc9" } , { "\xcc\xe8\xbf\xdb" , "\xce\xa9\x65\xf4" } , { "\xcc\xe8\xbf\xe8" , "\xa9\x65\xc3\xf4" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\xce\xa9\x65\xc4\xf4" } , { "\xcc\xe8\xc1" , "\xa9\x69\xc9" } , { "\xcc\xe8\xc1\xe5\xa2" , "\xa9\x69\xc9\xc9\xe1" } , { "\xcc\xe8\xc1\xe8\xcc" , "\xa9\x69\xa9\xc9" } , { "\xcc\xe8\xc1\xe8\xd7" , "\xa9\x69\xbb\xc9" } , { "\xcc\xe8\xc2" , "\xa9\x6c\xc9" } , { "\xcc\xe8\xc2\xda" , "\xa9\x6c\xc9\xc9" } , { "\xcc\xe8\xc2\xda\xa2" , "\xa9\x6c\xc9\xc9\xc5" } , { "\xcc\xe8\xc2\xdb" , "\xce\xa9\x6c\xc9" } , { "\xcc\xe8\xc2\xe5" , "\xa9\x6c\xc9\xc9\xe0" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\xce\xa9\x6e\xc9" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\xa9\x6c\x6f\xc9\xd6" } , { "\xcc\xe8\xc2\xe8\xcd" , "\xa9\x6c\xab\xc9" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\xa9\x6c\xab\xc9\xd6" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\xa9\x6c\xab\xc9\xd6\xc5" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\xa9\x6c\xab\xc9\xda" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\xa9\x6c\xab\xc9\xc3" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\xa9\x6d\xab\xc9" } , { "\xcc\xe8\xc3" , "\xa9\x6f\xc9" } , { "\xcc\xe8\xc4" , "\xa9\x71\xf6" } , { "\xcc\xe8\xc4\xda" , "\xa9\x71\xf6\xc9" } , { "\xcc\xe8\xc4\xdb" , "\xce\xa9\x71\xf6" } , { "\xcc\xe8\xc4\xdc" , "\xa9\x71\xf6\xd2" } , { "\xcc\xe8\xc4\xdd" , "\xa9\x71\xd6\xf6" } , { "\xcc\xe8\xc4\xe1" , "\xa9\x71\xe0\xf6" } , { "\xcc\xe8\xc4\xe8\xc5" , "\xa9\x75\xf6" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\xce\xa9\x75\xf6" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\xa9\x77\xf6\xc9" } , { "\xcc\xe8\xc5\xda" , "\xa9\x79\xc9\xc9" } , { "\xcc\xe8\xc5\xe5\xa2" , "\xa9\x79\xc9\xc9\xe1" } , { "\xcc\xe8\xc5\xe8\xc4" , "\xa9\x79\x71\xf6" } , { "\xcc\xe8\xc6" , "\xa9\x7b\xc9" } , { "\xcc\xe8\xc6\xa2" , "\xa9\x7b\xc9\xc5" } , { "\xcc\xe8\xc6\xda" , "\xa9\x7b\xc9\xc9" } , { "\xcc\xe8\xc6\xda\xa2" , "\xa9\x7b\xc9\xc9\xc5" } , { "\xcc\xe8\xc6\xdb" , "\xce\xa9\x7b\xc9" } , { "\xcc\xe8\xc6\xdc" , "\xa9\x7b\xc9\xd2" } , { "\xcc\xe8\xc6\xdd" , "\xa9\x7b\xc9\xd6" } , { "\xcc\xe8\xc6\xdd\xa2" , "\xa9\x7b\xc9\xd6\xc5" } , { "\xcc\xe8\xc6\xde" , "\xa9\x7b\xc9\xda" } , { "\xcc\xe8\xc6\xe0\xa2" , "\xa9\x7b\xc9\xe9" } , { "\xcc\xe8\xc6\xe1" , "\xa9\x7b\xc9\xe0" } , { "\xcc\xe8\xc6\xe5" , "\xa9\x7b\xc9\xc9\xe0" } , { "\xcc\xe8\xc8" , "\xa9\x7e\xc9" } , { "\xcc\xe8\xc8\xda" , "\xa9\x7e\xc9\xc9" } , { "\xcc\xe8\xc8\xda\xa1" , "\xa9\x7e\xc9\xc9\xc6" } , { "\xcc\xe8\xc8\xdb" , "\xce\xa9\x7e\xc9" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xcf\xa9\x7e\xc9" } , { "\xcc\xe8\xc8\xdc" , "\xa9\x7e\xc9\xd2" } , { "\xcc\xe8\xc8\xdd" , "\xa9\x7e\xc9\xd6" } , { "\xcc\xe8\xc8\xde" , "\xa9\x7e\xc9\xda" } , { "\xcc\xe8\xc8\xdf" , "\xa9\x7e\xc9\xde" } , { "\xcc\xe8\xc8\xe0" , "\xa9\x7e\xc9\xe8" } , { "\xcc\xe8\xc8\xe1" , "\xa9\x7e\xc9\xe0" } , { "\xcc\xe8\xc8\xe2" , "\xa9\x7e\xc9\xe4" } , { "\xcc\xe8\xc8\xe2\xa2" , "\xa9\x7e\xc9\xe5" } , { "\xcc\xe8\xc8\xe5" , "\xa9\x7e\xc9\xc9\xe0" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xa9\x7e\xc9\xc9\xe1" } , { "\xcc\xe8\xc8\xe8" , "\xa9\x7e\xc9\xc3" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\xa9\x7e\x47\x6c\xc9" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\xce\xa9\x7e\x47\x6c\xc9" } , { "\xcc\xe8\xc8\xe8\xb8" , "\xa9\x7e\x53\xc9" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\xa9\x7e\x71\xf6\xc9" } , { "\xcc\xe8\xc8\xe8\xcd" , "\xa9\x7e\xab\xc9" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\xa9\x7e\xab\xc9\xd6" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\xa9\x7e\xab\xc9\xda" } , { "\xcc\xe8\xc8\xe8\xcf" , "\xa9\xa1\xc9" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\xa9\xa1\xc9\xc9" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\xa9\xa1\xc9\xda" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\xa9\xa1\xc9\xe8" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xa9\xa1\xc9\xe0" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\xa9\xa1\xc9\xc9\xe8" } , { "\xcc\xe8\xc8\xe8\xd1" , "\xa9\x7e\xb1\xc9" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\xa9\x7e\xb1\xc9\xc9" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\xa9\x7e\xb1\xc9\xc9\xc5" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xce\xa9\x7e\xb1\xc9" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xa9\x7e\xb1\xc9\xe0" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xa9\x7e\xb1\xc9\xe4" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xa9\x7e\xb1\xc9\xc9\xe0" } , { "\xcc\xe8\xc8\xe8\xd5" , "\xa9\x7e\xb6\xc9" } , { "\xcc\xe8\xc8\xe8\xd6" , "\xa9\x7e\xba\xc9" } , { "\xcc\xe8\xc8\xe8\xd7" , "\xa9\x7e\xbb\xc9" } , { "\xcc\xe8\xc9" , "\xa9\xa3\xed" } , { "\xcc\xe8\xc9\xda" , "\xa9\xa3\xed\xc9" } , { "\xcc\xe8\xc9\xdb" , "\xce\xa9\xa3\xed" } , { "\xcc\xe8\xc9\xdc" , "\xa9\xa3\xed\xd2" } , { "\xcc\xe8\xc9\xe0" , "\xa9\xa3\xe8\xed" } , { "\xcc\xe8\xc9\xe1" , "\xa9\xa3\xe0\xed" } , { "\xcc\xe8\xc9\xe4" , "\xa9\xa3\xed\xc9\xe8" } , { "\xcc\xe8\xc9\xe5" , "\xa9\xa3\xed\xc9\xe0" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xa9\xa4\xe0\xed" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xa9\xa2\xb1\xc9\xc9\xe0" } , { "\xcc\xe8\xca" , "\xa9\xa5\xc9" } , { "\xcc\xe8\xca\xa2" , "\xa9\xa5\xc9\xc5" } , { "\xcc\xe8\xca\xda" , "\xa9\xa5\xc9\xc9" } , { "\xcc\xe8\xca\xda\xa2" , "\xa9\xa5\xc9\xc9\xc5" } , { "\xcc\xe8\xca\xdb" , "\xce\xa9\xa5\xc9" } , { "\xcc\xe8\xca\xdb\xa2" , "\xcf\xa9\xa5\xc9" } , { "\xcc\xe8\xca\xdc" , "\xa9\xa5\xc9\xd2" } , { "\xcc\xe8\xca\xdd" , "\xa9\xa5\xc9\xd6" } , { "\xcc\xe8\xca\xde" , "\xa9\xa5\xc9\xda" } , { "\xcc\xe8\xca\xe0" , "\xa9\xa5\xc9\xe8" } , { "\xcc\xe8\xca\xe1" , "\xa9\xa5\xc9\xe0" } , { "\xcc\xe8\xca\xe1\xa2" , "\xa9\xa5\xc9\xe1" } , { "\xcc\xe8\xca\xe5" , "\xa9\xa5\xc9\xc9\xe0" } , { "\xcc\xe8\xca\xe5\xa2" , "\xa9\xa5\xc9\xc9\xe1" } , { "\xcc\xe8\xca\xe6" , "\xa9\xa5\xc9\xc9\xe4" } , { "\xcc\xe8\xca\xe7" , "\xa9\xa5\xc9\xc9\xe8" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\xa9\xa5\x75\xf6" } , { "\xcc\xe8\xca\xe8\xcf" , "\xa9\xa6\xc9" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\xa9\xa6\xc9\xc9\xc5" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\xce\xa9\xa6\xc9" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xa9\xa6\xc9\xe0" } , { "\xcc\xe8\xcb" , "\xa9\xa7\xc9" } , { "\xcc\xe8\xcb\xa3" , "\xa9\xa7\xc9\x26" } , { "\xcc\xe8\xcb\xda" , "\xa9\xa7\xc9\xc9" } , { "\xcc\xe8\xcb\xdb" , "\xce\xa9\xa7\xc9" } , { "\xcc\xe8\xcb\xdc" , "\xa9\xa7\xc9\xd2" } , { "\xcc\xe8\xcb\xdd" , "\xa9\xa7\xc9\xd6" } , { "\xcc\xe8\xcb\xde" , "\xa9\xa7\xc9\xda" } , { "\xcc\xe8\xcb\xe1" , "\xa9\xa7\xc9\xe0" } , { "\xcc\xe8\xcb\xe5" , "\xa9\xa7\xc9\xc9\xe0" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xa9\xa7\xc9\xc9\xe1" } , { "\xcc\xe8\xcb\xe6" , "\xa9\xa7\xc9\xc9\xe4" } , { "\xcc\xe8\xcb\xe8" , "\xa9\xa7\xc9\xc3" } , { "\xcc\xe8\xcb\xe8\xcf" , "\xa9\xa8\xc9" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\xa9\xa8\xc9\xc9" } , { "\xcc\xe8\xcc" , "\xa9\xa9\xc9" } , { "\xcc\xe8\xcc\xa2" , "\xa9\xa9\xc9\xc5" } , { "\xcc\xe8\xcc\xda" , "\xa9\xa9\xc9\xc9" } , { "\xcc\xe8\xcc\xda\xa1" , "\xa9\xa9\xc9\xc9\xc6" } , { "\xcc\xe8\xcc\xda\xa2" , "\xa9\xa9\xc9\xc9\xc5" } , { "\xcc\xe8\xcc\xdb" , "\xce\xa9\xa9\xc9" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xcf\xa9\xa9\xc9" } , { "\xcc\xe8\xcc\xdc" , "\xa9\xa9\xc9\xd2" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xa9\xa9\xc9\xd3" } , { "\xcc\xe8\xcc\xdd" , "\xa9\xa9\xc9\xd6" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xa9\xa9\xc9\xd6\xc5" } , { "\xcc\xe8\xcc\xde" , "\xa9\xa9\xc9\xda" } , { "\xcc\xe8\xcc\xe0" , "\xa9\xa9\xc9\xe8" } , { "\xcc\xe8\xcc\xe0\xa2" , "\xa9\xa9\xc9\xe9" } , { "\xcc\xe8\xcc\xe1" , "\xa9\xa9\xc9\xe0" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xa9\xa9\xc9\xe1" } , { "\xcc\xe8\xcc\xe2" , "\xa9\xa9\xc9\xe4" } , { "\xcc\xe8\xcc\xe4" , "\xa9\xa9\xc9\xc9\xe8" } , { "\xcc\xe8\xcc\xe5" , "\xa9\xa9\xc9\xc9\xe0" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xa9\xa9\xc9\xc9\xe1" } , { "\xcc\xe8\xcc\xe8" , "\xa9\xa9\xc9\xc3" } , { "\xcc\xe8\xcc\xe8\xc4" , "\xa9\xa9\x71\xf6" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\xce\xa9\xa9\x71\xf6" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\xce\xa9\xa9\x7b\xc9" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\xa9\xa9\xa9\xc9\xe5" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\xa9\xa9\xb1\xc9\xe0" } , { "\xcc\xe8\xcd" , "\xa9\xab\xc9" } , { "\xcc\xe8\xcd\xa2" , "\xa9\xab\xc9\xc5" } , { "\xcc\xe8\xcd\xda" , "\xa9\xab\xc9\xc9" } , { "\xcc\xe8\xcd\xda\xa1" , "\xa9\xab\xc9\xc9\xc6" } , { "\xcc\xe8\xcd\xda\xa2" , "\xa9\xab\xc9\xc9\xc5" } , { "\xcc\xe8\xcd\xdb" , "\xce\xa9\xab\xc9" } , { "\xcc\xe8\xcd\xdd" , "\xa9\xab\xc9\xd6" } , { "\xcc\xe8\xcd\xde" , "\xa9\xab\xc9\xda" } , { "\xcc\xe8\xcd\xe1" , "\xa9\xab\xc9\xe0" } , { "\xcc\xe8\xcd\xe5" , "\xa9\xab\xc9\xc9\xe0" } , { "\xcc\xe8\xcd\xe5\xa2" , "\xa9\xab\xc9\xc9\xe1" } , { "\xcc\xe8\xcd\xe6" , "\xa9\xab\xc9\xc9\xe4" } , { "\xcc\xe8\xcd\xe8\xcd" , "\xa9\xab\xab\xc9" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\xa9\xab\xab\xc9\xc9" } , { "\xcc\xe8\xcf" , "\xaa\xc9" } , { "\xcc\xe8\xcf\xa2" , "\xaa\xc9\xc5" } , { "\xcc\xe8\xcf\xda" , "\xaa\xc9\xc9" } , { "\xcc\xe8\xcf\xda\xa2" , "\xaa\xc9\xc9\xc5" } , { "\xcc\xe8\xcf\xdb" , "\xca\xaa\xc9" } , { "\xcc\xe8\xcf\xdb\xa2" , "\xcb\xaa\xc9" } , { "\xcc\xe8\xcf\xdc" , "\xaa\xc9\xd2" } , { "\xcc\xe8\xcf\xdd" , "\xaa\xc9\xd6" } , { "\xcc\xe8\xcf\xde" , "\xaa\xc9\xda" } , { "\xcc\xe8\xcf\xe0" , "\xaa\xc9\xe8" } , { "\xcc\xe8\xcf\xe1" , "\xaa\xc9\xe0" } , { "\xcc\xe8\xcf\xe4" , "\xaa\xc9\xc9\xe8" } , { "\xcc\xe8\xcf\xe5" , "\xaa\xc9\xc9\xe0" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xaa\xc9\xc9\xe1" } , { "\xcc\xe8\xcf\xe8\xb3" , "\xaa\x48\xed" } , { "\xcc\xe8\xcf\xe8\xc2" , "\xaa\x6c\xc9" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\xaa\xab\xc9\xc9" } , { "\xcc\xe8\xd0\xe0" , "\xa9\xad\xe8\xf7" } , { "\xcc\xe8\xd1" , "\xa9\xb1\xc9" } , { "\xcc\xe8\xd1\xa2" , "\xa9\xb1\xc9\xc5" } , { "\xcc\xe8\xd1\xda" , "\xa9\xb1\xc9\xc9" } , { "\xcc\xe8\xd1\xda\xa2" , "\xa9\xb1\xc9\xc9\xc5" } , { "\xcc\xe8\xd1\xdb" , "\xce\xa9\xb1\xc9" } , { "\xcc\xe8\xd1\xdc" , "\xa9\xb1\xc9\xd2" } , { "\xcc\xe8\xd1\xdd" , "\xa9\xb1\xc9\xd6" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xa9\xb1\xc9\xd6\xc5" } , { "\xcc\xe8\xd1\xde" , "\xa9\xb1\xc9\xda" } , { "\xcc\xe8\xd1\xe0" , "\xa9\xb1\xc9\xe8" } , { "\xcc\xe8\xd1\xe1" , "\xa9\xb1\xc9\xe0" } , { "\xcc\xe8\xd1\xe2" , "\xa9\xb1\xc9\xe4" } , { "\xcc\xe8\xd1\xe5" , "\xa9\xb1\xc9\xc9\xe0" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xa9\xb1\xc9\xc9\xe1" } , { "\xcc\xe8\xd1\xe8" , "\xa9\xb1\xc9\xc3" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\xa9\xb1\xab\xc9\xda" } , { "\xcc\xe8\xd4" , "\xa9\xb4\xc9" } , { "\xcc\xe8\xd4\xa2" , "\xa9\xb4\xc9\xc5" } , { "\xcc\xe8\xd4\xda" , "\xa9\xb4\xc9\xc9" } , { "\xcc\xe8\xd4\xdb" , "\xce\xa9\xb4\xc9" } , { "\xcc\xe8\xd4\xdc" , "\xa9\xb4\xc9\xd2" } , { "\xcc\xe8\xd4\xdd\xa2" , "\xa9\xb4\xc9\xd6\xc5" } , { "\xcc\xe8\xd4\xe0" , "\xa9\xb4\xc9\xe8" } , { "\xcc\xe8\xd4\xe1" , "\xa9\xb4\xc9\xe0" } , { "\xcc\xe8\xd4\xe2" , "\xa9\xb4\xc9\xe4" } , { "\xcc\xe8\xd5" , "\xa9\xb6\xc9" } , { "\xcc\xe8\xd5\xda" , "\xa9\xb6\xc9\xc9" } , { "\xcc\xe8\xd5\xdc" , "\xa9\xb6\xc9\xd2" } , { "\xcc\xe8\xd6" , "\xa9\xba\xc9" } , { "\xcc\xe8\xd6\xdc" , "\xa9\xba\xc9\xd2" } , { "\xcc\xe8\xd7" , "\xa9\xbb\xc9" } , { "\xcc\xe8\xd7\xda" , "\xa9\xbb\xc9\xc9" } , { "\xcc\xe8\xd7\xdb\xa2" , "\xcf\xa9\xbb\xc9" } , { "\xcc\xe8\xd7\xdd" , "\xa9\xbb\xc9\xd6" } , { "\xcc\xe8\xd7\xde" , "\xa9\xbb\xc9\xda" } , { "\xcc\xe8\xd7\xe0" , "\xa9\xbb\xc9\xe8" } , { "\xcc\xe8\xd7\xe1" , "\xa9\xbb\xc9\xe0" } , { "\xcc\xe8\xd7\xe8" , "\xa9\xbb\xc9\xc3" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\xa9\xbb\x48\xed\xd2" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\xa9\xbb\x48\xd6\xed" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\xa9\xbb\x47\xb1\xc9" } , { "\xcc\xe8\xd7\xe8\xbd" , "\xa9\xbb\x60\xf2" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\xa9\xbb\x60\xf2\xc9" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\xa9\xbb\x60\xe8\xf2" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\xa9\xbb\x60\xe0\xf2" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\xa9\xbb\x60\xf2\xc9\xe0" } , { "\xcc\xe8\xd7\xe8\xbf" , "\xa9\xbb\x65\xf4" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\xce\xa9\xbb\x65\xf4" } , { "\xcc\xe8\xd7\xe8\xc2" , "\xa9\xbb\x6c\xc9" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\xa9\xbb\x6c\xc9\xd2" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\xa9\xbb\x6c\xc9\xc9\xe0" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\xa9\xbb\x7b\xc9\xd6" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\xa9\xbb\x7b\xc9\xc3" } , { "\xcc\xe8\xd7\xe8\xc8" , "\xa9\xbb\x7e\xc9" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\xce\xa9\xbb\xa1\xc9" } , { "\xcc\xe8\xd7\xe8\xc9" , "\xa9\xbb\xa3\xed" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\xa9\xbb\xa5\xc9\xc9\xc5" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\xce\xa9\xbb\xa9\xc9" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\xa9\xbb\xab\xc9\xc9" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\xa9\xbc\xc9\xc9" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\xa9\xbb\xb1\xc9\xc9" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\xa9\xbb\xb1\xc9\xc9\xc5" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\xa9\xbb\xb1\xc9\xc9\xe0" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\xa9\xbb\xb4\xc9\xc9" } , { "\xcc\xe8\xd8" , "\xa9\xbe\xfa" } , { "\xcc\xe8\xd8\xa2" , "\xa9\xbe\xc5\xfa" } , { "\xcc\xe8\xd8\xda" , "\xa9\xbe\xfa\xc9" } , { "\xcc\xe8\xd8\xda\xa2" , "\xa9\xbe\xfa\xc9\xc5" } , { "\xcc\xe8\xd8\xdb" , "\xce\xa9\xbe\xfa" } , { "\xcc\xe8\xd8\xdc" , "\xa9\xbe\xfa\xd2" } , { "\xcc\xe8\xd8\xdc\xa2" , "\xa9\xbe\xfa\xd3" } , { "\xcc\xe8\xd8\xde" , "\xa9\xbe\xda\xfa" } , { "\xcc\xe8\xd8\xe1" , "\xa9\xbe\xe0\xfa" } , { "\xcc\xe8\xd8\xe1\xa2" , "\xa9\xbe\xe1\xfa" } , { "\xcc\xe8\xd8\xe2\xa2" , "\xa9\xbe\xe5\xfa" } , { "\xcc\xe8\xd9\xcc\xe1" , "\xa9\xa9\xc9\xe0" } , { "\xcc\xe8\xd9\xcd" , "\xa9\xab\xc9" } , { "\xcc\xe8\xe8" , "\xa9\xc9\xc3" } , { "\xcc\xe8\xe9\xcf" , "\xa9\xad\xf7" } , { "\xcc\xe9" , "\xa9\xc9" } , { "\xcd" , "\xab\xc9" } , { "\xcd\xa1" , "\xab\xc9\xc6" } , { "\xcd\xa2" , "\xab\xc9\xc5" } , { "\xcd\xa2\xa3" , "\xab\xc9\xc5\x26" } , { "\xcd\xa3" , "\xab\xc9\x26" } , { "\xcd\xd0\xe8" , "\xab\xc9\xad\xc3\xf7" } , { "\xcd\xda" , "\xab\xc9\xc9" } , { "\xcd\xda\xa1" , "\xab\xc9\xc9\xc6" } , { "\xcd\xda\xa2" , "\xab\xc9\xc9\xc5" } , { "\xcd\xda\xa3" , "\xab\xc9\xc9\x26" } , { "\xcd\xdb" , "\xca\xab\xc9" } , { "\xcd\xdb\xa2" , "\xcb\xab\xc9" } , { "\xcd\xdb\xa2\xa2" , "\xcb\xab\xc9\xc5" } , { "\xcd\xdb\xa3" , "\xca\xab\xc9\x26" } , { "\xcd\xdc" , "\xab\xc9\xd2" } , { "\xcd\xdc\xa1" , "\xab\xc9\xd3" } , { "\xcd\xdc\xa2" , "\xab\xc9\xd3" } , { "\xcd\xdd" , "\xab\xc9\xd6" } , { "\xcd\xdd\xa2" , "\xab\xc9\xd6\xc5" } , { "\xcd\xdd\xa3" , "\xab\xc9\xd6\x26" } , { "\xcd\xde" , "\xab\xc9\xda" } , { "\xcd\xde\xa1" , "\xab\xc9\xda\xc6" } , { "\xcd\xde\xa2" , "\xab\xc9\xda\xc5" } , { "\xcd\xdf" , "\xab\xc9\xde" } , { "\xcd\xe0" , "\xab\xc9\xe8" } , { "\xcd\xe0\xa2" , "\xab\xc9\xe9" } , { "\xcd\xe1" , "\xab\xc9\xe0" } , { "\xcd\xe1\xa1" , "\xab\xc9\xe1" } , { "\xcd\xe1\xa2" , "\xab\xc9\xe1" } , { "\xcd\xe1\xa3" , "\xab\xc9\xe0\x26" } , { "\xcd\xe2" , "\xab\xc9\xe4" } , { "\xcd\xe2\xa2" , "\xab\xc9\xe5" } , { "\xcd\xe3" , "\xab\xc9\xe8" } , { "\xcd\xe4" , "\xab\xc9\xc9\xe8" } , { "\xcd\xe4\xa2" , "\xab\xc9\xc9\xe9" } , { "\xcd\xe5" , "\xab\xc9\xc9\xe0" } , { "\xcd\xe5\xa1" , "\xab\xc9\xc9\xe1" } , { "\xcd\xe5\xa2" , "\xab\xc9\xc9\xe1" } , { "\xcd\xe5\xa3" , "\xab\xc9\xc9\xe0\x26" } , { "\xcd\xe6" , "\xab\xc9\xc9\xe4" } , { "\xcd\xe6\xa2" , "\xab\xc9\xc9\xe5" } , { "\xcd\xe7" , "\xab\xc9\xc9\xe8" } , { "\xcd\xe7\xa2" , "\xab\xc9\xc9\xe9" } , { "\xcd\xe8" , "\xab\xc9\xc3" } , { "\xcd\xe8\xb3" , "\xab\x48\xed" } , { "\xcd\xe8\xb3\xdb" , "\xce\xab\x48\xed" } , { "\xcd\xe8\xb3\xdb\xa2" , "\xcf\xab\x48\xed" } , { "\xcd\xe8\xb3\xdd" , "\xab\x48\xd6\xed" } , { "\xcd\xe8\xb3\xde" , "\xab\x48\xda\xed" } , { "\xcd\xe8\xb3\xe1" , "\xab\x48\xe0\xed" } , { "\xcd\xe8\xb3\xe5" , "\xab\x48\xed\xc9\xe0" } , { "\xcd\xe8\xb5\xda" , "\xab\x4e\xc9\xc9" } , { "\xcd\xe8\xb8\xe1" , "\xab\x53\xc9\xe0" } , { "\xcd\xe8\xb8\xe6" , "\xab\x53\xc9\xc9\xe4" } , { "\xcd\xe8\xbd" , "\xab\x60\xf2" } , { "\xcd\xe8\xbf\xa2" , "\xab\x65\xc5\xf4" } , { "\xcd\xe8\xbf\xdb" , "\xce\xab\x65\xf4" } , { "\xcd\xe8\xc1" , "\xab\x69\xc9" } , { "\xcd\xe8\xc2\xda" , "\xab\x6c\xc9\xc9" } , { "\xcd\xe8\xc2\xdd" , "\xab\x6c\xc9\xd6" } , { "\xcd\xe8\xc2\xe1" , "\xab\x6c\xc9\xe0" } , { "\xcd\xe8\xc2\xe5" , "\xab\x6c\xc9\xc9\xe0" } , { "\xcd\xe8\xc2\xe8\xc2" , "\xab\x6e\xc9" } , { "\xcd\xe8\xc2\xe8\xc6" , "\xab\x6c\x7b\xc9" } , { "\xcd\xe8\xc4\xda" , "\xab\x71\xf6\xc9" } , { "\xcd\xe8\xc6" , "\xab\x7b\xc9" } , { "\xcd\xe8\xc6\xa2" , "\xab\x7b\xc9\xc5" } , { "\xcd\xe8\xc6\xda" , "\xab\x7b\xc9\xc9" } , { "\xcd\xe8\xc6\xdb" , "\xce\xab\x7b\xc9" } , { "\xcd\xe8\xc6\xdc" , "\xab\x7b\xc9\xd2" } , { "\xcd\xe8\xc6\xdd" , "\xab\x7b\xc9\xd6" } , { "\xcd\xe8\xc6\xe1" , "\xab\x7b\xc9\xe0" } , { "\xcd\xe8\xc6\xe5" , "\xab\x7b\xc9\xc9\xe0" } , { "\xcd\xe8\xc8\xde" , "\xab\x7e\xc9\xda" } , { "\xcd\xe8\xc9\xe1" , "\xab\xa3\xe0\xed" } , { "\xcd\xe8\xca\xe0" , "\xab\xa5\xc9\xe8" } , { "\xcd\xe8\xca\xe5" , "\xab\xa5\xc9\xc9\xe0" } , { "\xcd\xe8\xcb\xdd" , "\xab\xa7\xc9\xd6" } , { "\xcd\xe8\xcc" , "\xab\xa9\xc9" } , { "\xcd\xe8\xcc\xa2" , "\xab\xa9\xc9\xc5" } , { "\xcd\xe8\xcc\xe0" , "\xab\xa9\xc9\xe8" } , { "\xcd\xe8\xcc\xe0\xa2" , "\xab\xa9\xc9\xe9" } , { "\xcd\xe8\xcd" , "\xab\xab\xc9" } , { "\xcd\xe8\xcd\xa2" , "\xab\xab\xc9\xc5" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xab\xab\xc9\xc5\xc5" } , { "\xcd\xe8\xcd\xda" , "\xab\xab\xc9\xc9" } , { "\xcd\xe8\xcd\xda\xa2" , "\xab\xab\xc9\xc9\xc5" } , { "\xcd\xe8\xcd\xdb" , "\xce\xab\xab\xc9" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xcf\xab\xab\xc9" } , { "\xcd\xe8\xcd\xdc" , "\xab\xab\xc9\xd2" } , { "\xcd\xe8\xcd\xdd" , "\xab\xab\xc9\xd6" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xab\xab\xc9\xd6\xc5" } , { "\xcd\xe8\xcd\xde" , "\xab\xab\xc9\xda" } , { "\xcd\xe8\xcd\xe0" , "\xab\xab\xc9\xe8" } , { "\xcd\xe8\xcd\xe0\xa2" , "\xab\xab\xc9\xe9" } , { "\xcd\xe8\xcd\xe1" , "\xab\xab\xc9\xe0" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xab\xab\xc9\xe1" } , { "\xcd\xe8\xcd\xe4" , "\xab\xab\xc9\xc9\xe8" } , { "\xcd\xe8\xcd\xe5" , "\xab\xab\xc9\xc9\xe0" } , { "\xcd\xe8\xcd\xe8" , "\xab\xab\xc9\xc3" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xab\xab\x4e\xc9\xc9" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xab\xab\xab\xc9" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xab\xab\xab\xc9\xc5" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xab\xab\xab\xc9\xc9" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\xab\xab\xab\xc9\xe8" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xab\xab\xab\xab\xc9\xc9" } , { "\xcd\xe8\xcd\xe8\xcf" , "\xab\xab\xc9\xc4" } , { "\xcd\xe8\xcf" , "\xab\xc9\xc4" } , { "\xcd\xe8\xcf\xde" , "\xab\xc9\xdb" } , { "\xcd\xe8\xcf\xe5" , "\xab\xc9\xc4\xc9\xe0" } , { "\xcd\xe8\xcf\xe8" , "\xab\xc9\xc4\xc3" } , { "\xcd\xe8\xd1" , "\xab\xb1\xc9" } , { "\xcd\xe8\xd1\xa2" , "\xab\xb1\xc9\xc5" } , { "\xcd\xe8\xd1\xda\xa2" , "\xab\xb1\xc9\xc9\xc5" } , { "\xcd\xe8\xd1\xdd" , "\xab\xb1\xc9\xd6" } , { "\xcd\xe8\xd1\xde" , "\xab\xb1\xc9\xda" } , { "\xcd\xe8\xd1\xe0\xa2" , "\xab\xb1\xc9\xe9" } , { "\xcd\xe8\xd1\xe1" , "\xab\xb1\xc9\xe0" } , { "\xcd\xe8\xd1\xe4" , "\xab\xb1\xc9\xc9\xe8" } , { "\xcd\xe8\xd1\xe5" , "\xab\xb1\xc9\xc9\xe0" } , { "\xcd\xe8\xd1\xe8" , "\xab\xb1\xc9\xc3" } , { "\xcd\xe8\xd4" , "\xab\xb4\xc9" } , { "\xcd\xe8\xd4\xda" , "\xab\xb4\xc9\xc9" } , { "\xcd\xe8\xd4\xdd" , "\xab\xb4\xc9\xd6" } , { "\xcd\xe8\xd5\xda" , "\xab\xb6\xc9\xc9" } , { "\xcd\xe8\xd7" , "\xab\xbb\xc9" } , { "\xcd\xe8\xd7\xda" , "\xab\xbb\xc9\xc9" } , { "\xcd\xe8\xd7\xdb\xa2" , "\xcf\xab\xbb\xc9" } , { "\xcd\xe8\xd7\xe2" , "\xab\xbb\xc9\xe4" } , { "\xcd\xe8\xd7\xe8" , "\xab\xbb\xc9\xc3" } , { "\xcd\xe8\xd7\xe8\xb3" , "\xab\xbb\x48\xed" } , { "\xcd\xe8\xe8" , "\xab\xc9\xc3" } , { "\xcd\xe8\xe9\xcf" , "\xab\xad\xf7" } , { "\xce" , "\xab\xc9" } , { "\xce\xa3" , "\xab\xc9\x26" } , { "\xcf" , "\xad\xf7" } , { "\xcf\xa1" , "\xad\xc6\xf7" } , { "\xcf\xa2" , "\xad\xc5\xf7" } , { "\xcf\xa2\xa2" , "\xad\xc5\xf7\xc5" } , { "\xcf\xa3" , "\xad\xf7\x26" } , { "\xcf\xda" , "\xad\xf7\xc9" } , { "\xcf\xda\xa1" , "\xad\xf7\xc9\xc6" } , { "\xcf\xda\xa2" , "\xad\xf7\xc9\xc5" } , { "\xcf\xda\xa3" , "\xad\xf7\xc9\x26" } , { "\xcf\xdb" , "\xca\xad\xf7" } , { "\xcf\xdb\xa1" , "\xcb\xad\xf7" } , { "\xcf\xdb\xa2" , "\xcb\xad\xf7" } , { "\xcf\xdb\xa2\xa2" , "\xcb\xad\xf7\xc5" } , { "\xcf\xdb\xa3" , "\xca\xad\xf7\x26" } , { "\xcf\xdb\xce\xda" , "\xca\xad\xf7\xab\xc9\xc9" } , { "\xcf\xdc" , "\xad\xf7\xd2" } , { "\xcf\xdc\xa2" , "\xad\xf7\xd3" } , { "\xcf\xdc\xa2\xa2" , "\xad\xf7\xd3\xc5" } , { "\xcf\xdc\xa3" , "\xad\xf7\xd2\x26" } , { "\xcf\xdd" , "\xae\xf8" } , { "\xcf\xdd\xa1" , "\xae\xc6\xf8" } , { "\xcf\xdd\xa2" , "\xae\xc5\xf8" } , { "\xcf\xdd\xa3" , "\xae\xf8\x26" } , { "\xcf\xde" , "\xb0\xf7" } , { "\xcf\xde\xa1" , "\xb0\xc6\xf7" } , { "\xcf\xde\xa2" , "\xb0\xc5\xf7" } , { "\xcf\xdf" , "\xad\xde\xf7" } , { "\xcf\xe0" , "\xad\xe8\xf7" } , { "\xcf\xe0\xa2" , "\xad\xe9\xf7" } , { "\xcf\xe0\xa3" , "\xad\xe8\xf7\x26" } , { "\xcf\xe1" , "\xad\xe0\xf7" } , { "\xcf\xe1\xa2" , "\xad\xe1\xf7" } , { "\xcf\xe2" , "\xad\xe4\xf7" } , { "\xcf\xe2\xa2" , "\xad\xe5\xf7" } , { "\xcf\xe2\xa3" , "\xad\xe4\xf7\x26" } , { "\xcf\xe2\xbd\xe8" , "\xad\xe4\xf7\x60\xc3\xf2" } , { "\xcf\xe4" , "\xad\xf7\xc9\xe8" } , { "\xcf\xe4\xa2" , "\xad\xf7\xc9\xe9" } , { "\xcf\xe5" , "\xad\xf7\xc9\xe0" } , { "\xcf\xe5\xa2" , "\xad\xf7\xc9\xe1" } , { "\xcf\xe5\xa2\xa2" , "\xad\xf7\xc9\xe1\xc5" } , { "\xcf\xe6" , "\xad\xf7\xc9\xe4" } , { "\xcf\xe6\xa2" , "\xad\xf7\xc9\xe5" } , { "\xcf\xe7" , "\xad\xf7\xc9\xe8" } , { "\xcf\xe7\xa2" , "\xad\xf7\xc9\xe9" } , { "\xcf\xe8" , "\xad\xc3\xf7" } , { "\xcf\xe8\xb3" , "\x48\xc7\xed" } , { "\xcf\xe8\xb3\xa2" , "\x48\xc8\xed" } , { "\xcf\xe8\xb3\xda" , "\x48\xed\xc9\xc7" } , { "\xcf\xe8\xb3\xda\xa2" , "\x48\xed\xc9\xc8" } , { "\xcf\xe8\xb3\xdb" , "\xcc\x48\xed" } , { "\xcf\xe8\xb3\xdb\xa2" , "\xcd\x48\xed" } , { "\xcf\xe8\xb3\xdc" , "\x48\xed\xd4" } , { "\xcf\xe8\xb3\xdd" , "\x48\xd6\xc7\xed" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x48\xd6\xc8\xed" } , { "\xcf\xe8\xb3\xde" , "\x48\xda\xc7\xed" } , { "\xcf\xe8\xb3\xe0" , "\x48\xea\xed" } , { "\xcf\xe8\xb3\xe0\xa2" , "\x48\xeb\xed" } , { "\xcf\xe8\xb3\xe1" , "\x48\xe2\xed" } , { "\xcf\xe8\xb3\xe1\xa2" , "\x48\xe3\xed" } , { "\xcf\xe8\xb3\xe2" , "\x48\xe6\xed" } , { "\xcf\xe8\xb3\xe4" , "\x48\xed\xc9\xea" } , { "\xcf\xe8\xb3\xe4\xa2" , "\x48\xed\xc9\xeb" } , { "\xcf\xe8\xb3\xe5" , "\x48\xed\xc9\xe2" } , { "\xcf\xe8\xb3\xe5\xa2" , "\x48\xed\xc9\xe3" } , { "\xcf\xe8\xb3\xe6" , "\x48\xed\xc9\xe6" } , { "\xcf\xe8\xb3\xe6\xa2" , "\x48\xed\xc9\xe7" } , { "\xcf\xe8\xb3\xe8" , "\x48\xc7\xc3\xed" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x49\xc7\xed" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\xcc\x49\xed" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x49\xd6\xc7\xed" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x47\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x47\x4e\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x47\x60\xc7\xf2" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\xd0\x47\x60\xf2" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x47\x60\xc3\xf2\xb4\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x47\x6c\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x47\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x47\x7e\xc9\xea" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x47\xa2\xab\xc9\xda\xc7" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x47\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x47\xab\xc9\xda\xc7" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\xcc\x4a\xed" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x4a\xed\xd4" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x4a\xda\xc8\xed" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\x4a\xe6\xed" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x47\xb1\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x47\xb1\xc9\xc8" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x47\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x47\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x47\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\x47\xb1\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\x47\xb1\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\x47\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x47\xb4\xc9\xc8" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\xd0\x47\xb4\xc9" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x47\xb4\xc9\xea" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x4b\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x4b\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\x4b\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x4b\xab\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x4b\xab\xc9\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x47\xbb\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x47\xbb\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\xd0\x47\xbb\xc9" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x47\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x47\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\xd0\x47\xbb\x48\xed" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x47\xbb\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x47\xbb\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\x47\xbb\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x47\xbb\xb4\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x47\xbb\xb6\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\xad\xc3\xf7\x47\xbb\xba\x60\xd6\xf2" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\xd0\x47\xbe\xfa" } , { "\xcf\xe8\xb3\xe9" , "\x48\xc7\xed" } , { "\xcf\xe8\xb4" , "\x4c\xc9\xc7" } , { "\xcf\xe8\xb4\xa2" , "\x4c\xc9\xc8" } , { "\xcf\xe8\xb4\xda" , "\x4c\xc9\xc9\xc7" } , { "\xcf\xe8\xb4\xdb" , "\xcc\x4c\xc9" } , { "\xcf\xe8\xb4\xdc" , "\x4c\xc9\xd4" } , { "\xcf\xe8\xb4\xdd" , "\x4c\xc9\xd6\xc7" } , { "\xcf\xe8\xb4\xe2" , "\x4c\xc9\xe6" } , { "\xcf\xe8\xb4\xe4" , "\x4c\xc9\xc9\xea" } , { "\xcf\xe8\xb4\xe5" , "\x4c\xc9\xc9\xe2" } , { "\xcf\xe8\xb4\xe5\xa2" , "\x4c\xc9\xc9\xe3" } , { "\xcf\xe8\xb5" , "\x4e\xc9\xc7" } , { "\xcf\xe8\xb5\xa2" , "\x4e\xc9\xc8" } , { "\xcf\xe8\xb5\xa3" , "\x4e\xc9\xc7\x26" } , { "\xcf\xe8\xb5\xda" , "\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xb5\xda\xa2" , "\x4e\xc9\xc9\xc8" } , { "\xcf\xe8\xb5\xda\xa3" , "\x4e\xc9\xc9\xc7\x26" } , { "\xcf\xe8\xb5\xdb" , "\xcc\x4e\xc9" } , { "\xcf\xe8\xb5\xdb\xa2" , "\xcd\x4e\xc9" } , { "\xcf\xe8\xb5\xdc" , "\x4e\xc9\xd4" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x4e\xc9\xd5" } , { "\xcf\xe8\xb5\xdd" , "\x4e\xc9\xd6\xc7" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x4e\xc9\xd6\xc8" } , { "\xcf\xe8\xb5\xde" , "\x4e\xc9\xda\xc7" } , { "\xcf\xe8\xb5\xe0" , "\x4e\xc9\xea" } , { "\xcf\xe8\xb5\xe1" , "\x4e\xc9\xe2" } , { "\xcf\xe8\xb5\xe2" , "\x4e\xc9\xe6" } , { "\xcf\xe8\xb5\xe2\xa3" , "\x4e\xc9\xe6\x26" } , { "\xcf\xe8\xb5\xe4" , "\x4e\xc9\xc9\xea" } , { "\xcf\xe8\xb5\xe5" , "\x4e\xc9\xc9\xe2" } , { "\xcf\xe8\xb5\xe5\xa2" , "\x4e\xc9\xc9\xe3" } , { "\xcf\xe8\xb5\xe6\xa2" , "\x4e\xc9\xc9\xe7" } , { "\xcf\xe8\xb5\xe8" , "\x4e\xc9\xc7\xc3" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\xd0\x4e\x48\xed" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x4e\x5f\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\xd0\x4e\x7b\xc9" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x4e\xa9\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x4e\xab\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x4e\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x4e\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x4e\xab\xc9\xda\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\x4e\xab\xc9\xc9\xe2" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x4f\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x4f\xc9\xc8" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x4f\xc9\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x4f\xc9\xd4" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\x4f\xc9\xea" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\x4f\xc9\xe2" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x4e\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\x4e\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x4e\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x4e\xc9\xd4" } , { "\xcf\xe8\xb5\xe9\xe1" , "\x4e\xc9\xe2" } , { "\xcf\xe8\xb6" , "\x50\xc9\xc7" } , { "\xcf\xe8\xb6\xa2" , "\x50\xc9\xc8" } , { "\xcf\xe8\xb6\xda" , "\x50\xc9\xc9\xc7" } , { "\xcf\xe8\xb6\xda\xa2" , "\x50\xc9\xc9\xc8" } , { "\xcf\xe8\xb6\xdb" , "\xcc\x50\xc9" } , { "\xcf\xe8\xb6\xdc" , "\x50\xc9\xd4" } , { "\xcf\xe8\xb6\xdd" , "\x50\xc9\xd6\xc7" } , { "\xcf\xe8\xb6\xde" , "\x50\xc9\xda\xc7" } , { "\xcf\xe8\xb6\xe5" , "\x50\xc9\xc9\xe2" } , { "\xcf\xe8\xb6\xe8" , "\x50\xc9\xc7\xc3" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x50\xab\xc9\xc7" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x50\xab\xc9\xc8" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x50\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x50\xab\xc9\xe6" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x50\xb4\xc9\xc7" } , { "\xcf\xe8\xb7" , "\x52\xc7\xee" } , { "\xcf\xe8\xb7\xa2" , "\x52\xc8\xee" } , { "\xcf\xe8\xb7\xdd" , "\x52\xd6\xc7\xee" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x52\xc3\xee\x4e\xc9\xc7" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x52\xc3\xee\xab\xc9\xc7" } , { "\xcf\xe8\xb8" , "\x53\xc9\xc7" } , { "\xcf\xe8\xb8\xa2" , "\x53\xc9\xc8" } , { "\xcf\xe8\xb8\xda" , "\x53\xc9\xc9\xc7" } , { "\xcf\xe8\xb8\xda\xa2" , "\x53\xc9\xc9\xc8" } , { "\xcf\xe8\xb8\xdb" , "\xcc\x53\xc9" } , { "\xcf\xe8\xb8\xdb\xa2" , "\xcd\x53\xc9" } , { "\xcf\xe8\xb8\xdc" , "\x53\xc9\xd4" } , { "\xcf\xe8\xb8\xdd" , "\x53\xc9\xd6\xc7" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x53\xc9\xd6\xc8" } , { "\xcf\xe8\xb8\xde" , "\x53\xc9\xda\xc7" } , { "\xcf\xe8\xb8\xe0" , "\x53\xc9\xea" } , { "\xcf\xe8\xb8\xe0\xa2" , "\x53\xc9\xeb" } , { "\xcf\xe8\xb8\xe1" , "\x53\xc9\xe2" } , { "\xcf\xe8\xb8\xe1\xa2" , "\x53\xc9\xe3" } , { "\xcf\xe8\xb8\xe2" , "\x53\xc9\xe6" } , { "\xcf\xe8\xb8\xe4" , "\x53\xc9\xc9\xea" } , { "\xcf\xe8\xb8\xe4\xa2" , "\x53\xc9\xc9\xeb" } , { "\xcf\xe8\xb8\xe5" , "\x53\xc9\xc9\xe2" } , { "\xcf\xe8\xb8\xe5\xa2" , "\x53\xc9\xc9\xe3" } , { "\xcf\xe8\xb8\xe6" , "\x53\xc9\xc9\xe6" } , { "\xcf\xe8\xb8\xe8" , "\x53\xc9\xc7\xc3" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x53\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x53\x4f\xc9\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\x53\x53\xc9\xea" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x53\x55\xef\xc7" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x53\x55\xef\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\xd0\x53\x55\xef" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\xd0\x53\x7b\xc9" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x53\x7b\xc9\xd6\xc8" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x53\xa3\xed\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x53\xa9\xc9\xd4" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x53\xb1\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\x53\xb1\xc9\xe2" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\x53\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xb9" , "\x55\xef\xc7" } , { "\xcf\xe8\xb9\xa2" , "\x55\xef\xc8" } , { "\xcf\xe8\xb9\xda" , "\x55\xef\xc9\xc7" } , { "\xcf\xe8\xb9\xdb" , "\xcc\x55\xef" } , { "\xcf\xe8\xb9\xdb\xa2" , "\xcd\x55\xef" } , { "\xcf\xe8\xb9\xdc" , "\x55\xef\xd4" } , { "\xcf\xe8\xb9\xdd" , "\x55\xd6\xef\xc7" } , { "\xcf\xe8\xb9\xe1" , "\x55\xef\xe2" } , { "\xcf\xe8\xb9\xe1\xa2" , "\x55\xef\xe3" } , { "\xcf\xe8\xb9\xe4" , "\x55\xef\xc9\xea" } , { "\xcf\xe8\xb9\xe5\xa2" , "\x55\xef\xc9\xe3" } , { "\xcf\xe8\xba" , "\x57\xf0\xc7" } , { "\xcf\xe8\xba\xa2" , "\x57\xf0\xc8" } , { "\xcf\xe8\xba\xda" , "\x58\xc7" } , { "\xcf\xe8\xba\xda\xa2" , "\x58\xc8" } , { "\xcf\xe8\xba\xdb" , "\xcc\x57\xf0" } , { "\xcf\xe8\xba\xdb\xa2" , "\xcd\x57\xf0" } , { "\xcf\xe8\xba\xdc" , "\x59\xf0\xc7" } , { "\xcf\xe8\xba\xdc\xa2" , "\x59\xf0\xc8" } , { "\xcf\xe8\xba\xdd" , "\x57\xd6\xf0\xc7" } , { "\xcf\xe8\xba\xdd\xa2" , "\x57\xd6\xf0\xc8" } , { "\xcf\xe8\xba\xde" , "\x57\xda\xf0\xc7" } , { "\xcf\xe8\xba\xe0" , "\x57\xf0\xea" } , { "\xcf\xe8\xba\xe0\xa2" , "\x57\xf0\xeb" } , { "\xcf\xe8\xba\xe1" , "\x57\xf0\xe2" } , { "\xcf\xe8\xba\xe1\xa2" , "\x57\xf0\xe3" } , { "\xcf\xe8\xba\xe2" , "\x57\xf0\xe6" } , { "\xcf\xe8\xba\xe5" , "\x58\xe2" } , { "\xcf\xe8\xba\xe5\xa2" , "\x58\xe3" } , { "\xcf\xe8\xba\xe8" , "\x57\xf0\xc7\xc3" } , { "\xcf\xe8\xba\xe8\xb5" , "\x56\x4e\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x56\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xb6" , "\x56\x50\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x5b\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\x5b\xc9\xe2" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x56\x60\xf2\xc9\xc8" } , { "\xcf\xe8\xba\xe8\xbf" , "\x56\x65\xc7\xf4" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x56\x65\xc7\xc3\xf4" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x56\xa9\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xcd" , "\x56\xab\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x56\xab\xc9\xc8" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x56\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x56\xab\xc9\xc9\xe2" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x56\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\x56\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xba\xe8\xd4" , "\x56\xb4\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x56\xbb\x48\xe2\xed" } , { "\xcf\xe8\xba\xe9" , "\x57\xf0\xc7" } , { "\xcf\xe8\xba\xe9\xda" , "\x58\xc7" } , { "\xcf\xe8\xba\xe9\xdc" , "\x59\xf0\xc7" } , { "\xcf\xe8\xba\xe9\xdd" , "\x57\xd6\xf0\xc7" } , { "\xcf\xe8\xba\xe9\xe1" , "\x57\xf0\xe2" } , { "\xcf\xe8\xba\xe9\xe5" , "\x58\xe2" } , { "\xcf\xe8\xbb" , "\x5d\xc7\xf1" } , { "\xcf\xe8\xbb\xda" , "\x5d\xf1\xc9\xc7" } , { "\xcf\xe8\xbb\xdb" , "\xcc\x5d\xf1" } , { "\xcf\xe8\xbb\xdd" , "\x5d\xd6\xc7\xf1" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x5c\xbe\xc7\xfa" } , { "\xcf\xe8\xbc\xe1" , "\x5f\xc9\xe2" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x5f\x4e\xc9\xc7" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x5f\x65\xe2\xf4" } , { "\xcf\xe8\xbd" , "\x60\xc7\xf2" } , { "\xcf\xe8\xbd\xa2" , "\x60\xc8\xf2" } , { "\xcf\xe8\xbd\xda" , "\x60\xf2\xc9\xc7" } , { "\xcf\xe8\xbd\xdb" , "\xcc\x60\xf2" } , { "\xcf\xe8\xbd\xdb\xa2" , "\xcd\x60\xf2" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\xcc\x60\xf2\xb1\xc9\xc3" } , { "\xcf\xe8\xbd\xdc" , "\x60\xf2\xd4" } , { "\xcf\xe8\xbd\xdd" , "\x60\xd6\xc7\xf2" } , { "\xcf\xe8\xbd\xde" , "\x60\xda\xc7\xf2" } , { "\xcf\xe8\xbd\xe0" , "\x60\xea\xf2" } , { "\xcf\xe8\xbd\xe0\xa2" , "\x60\xeb\xf2" } , { "\xcf\xe8\xbd\xe1" , "\x60\xe2\xf2" } , { "\xcf\xe8\xbd\xe1\xa2" , "\x60\xe3\xf2" } , { "\xcf\xe8\xbd\xe2" , "\x60\xe6\xf2" } , { "\xcf\xe8\xbd\xe4" , "\x60\xf2\xc9\xea" } , { "\xcf\xe8\xbd\xe5" , "\x60\xf2\xc9\xe2" } , { "\xcf\xe8\xbd\xe5\xa2" , "\x60\xf2\xc9\xe3" } , { "\xcf\xe8\xbd\xe8" , "\x60\xc7\xc3\xf2" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\xd0\x60\xc3\xf2\x48\xed" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x60\xc3\xf2\x48\xd6\xc7\xed" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x60\xc3\xf2\x48\xe2\xed" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x60\xc3\xf2\x47\xb1\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x60\xc3\xf2\x4e\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x60\xc3\xf2\x4e\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x60\xc3\xf2\x53\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xba" , "\x60\xc3\xf2\x57\xf0\xc7" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x60\xc3\xf2\x57\xf0\xea" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x60\xc3\xf2\x57\xf0\xe6" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x60\xc3\xf2\x57\xf0\xc7\xc3" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x60\xc3\xf2\x56\x48\xc7\xed" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x60\xc3\xf2\x56\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x60\xc3\xf2\x56\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x60\xc3\xf2\x56\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x60\xc3\xf2\x56\xb1\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\x60\xc3\xf2\x60\xe6\xf2" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\x60\xc3\xf2\x60\xf2\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x60\xc3\xf2\x65\xf4\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x60\xc3\xf2\x79\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\xd0\x60\xc3\xf2\x7b\xc9" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x60\xc3\xf2\x7b\xc9\xd4" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x60\xc3\xf2\x7b\xc9\xd6\xc8" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x60\xc3\xf2\x7b\xc9\xda\xc7" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x60\xc3\xf2\x7e\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x60\xc3\xf2\x7e\xc9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x60\xc3\xf2\x7e\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x60\xc3\xf2\xa3\xed\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\xd0\x60\xc3\xf2\xa3\xed" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x60\xc3\xf2\xa3\xea\xed" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\x60\xc3\xf2\xa6\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\x60\xc3\xf2\xa6\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\x60\xc3\xf2\xa6\xc9\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\xd0\x60\xc3\xf2\xa9\xc9" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x60\xc3\xf2\xa9\xc9\xd4" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\x60\xc3\xf2\xa9\xc9\xeb" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\x60\xc3\xf2\xa9\xc9\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x60\xf2\xac\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x60\xf2\xac\xda\xc7" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x60\xc4\xc7\xf2" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x60\xc4\xf2\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\xcc\x60\xc4\xf2" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x60\xc4\xf2\xd4" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\x60\xc4\xea\xf2" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\x60\xc4\xe2\xf2" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\x60\xc4\xe6\xf2" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x60\xc4\xc7\xc3\xf2" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x60\xc3\xf2\xb1\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x60\xc3\xf2\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x60\xc3\xf2\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\x60\xc3\xf2\xb1\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\x60\xc3\xf2\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\x60\xc3\xf2\xb1\xc9\xc9\xe3" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x60\xc3\xf2\xb1\xab\xc9\xc9\xc8" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x60\xc3\xf2\xb4\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x60\xc3\xf2\xb4\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x60\xc3\xf2\xbb\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\xd0\x60\xc3\xf2\xbb\xc9" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x60\xc3\xf2\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x60\xc3\xf2\xbb\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x60\xc3\xf2\xbb\xc9\xe3" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x60\xc3\xf2\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x60\xc3\xf2\xbb\x48\xed\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\xad\xc3\xf7\xce\x60\xc3\xf2\xbb\x47\xb4\xc9" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x60\xc3\xf2\xbb\xa9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x60\xc3\xf2\xbb\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x60\xc3\xf2\xbe\xfa\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x60\xc3\xf2\xbe\xfa\xc9\xc8" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\xd1\x60\xc3\xf2\xbe\xfa" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x60\xc3\xf2\xbe\xda\xc7\xfa" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x60\xc3\xf2\xbe\xfa\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x60\xc3\xf2\xc7\xbb\xc9" } , { "\xcf\xe8\xbf" , "\x65\xc7\xf4" } , { "\xcf\xe8\xbf\xda" , "\x65\xf4\xc9\xc7" } , { "\xcf\xe8\xbf\xda\xa2" , "\x65\xf4\xc9\xc8" } , { "\xcf\xe8\xbf\xdb" , "\xcc\x65\xf4" } , { "\xcf\xe8\xbf\xdb\xa2" , "\xcd\x65\xf4" } , { "\xcf\xe8\xbf\xdc" , "\x65\xf4\xd4" } , { "\xcf\xe8\xbf\xdd" , "\x65\xd6\xc7\xf4" } , { "\xcf\xe8\xbf\xde" , "\x65\xda\xc7\xf4" } , { "\xcf\xe8\xbf\xe0" , "\x65\xea\xf4" } , { "\xcf\xe8\xbf\xe0\xa2" , "\x65\xeb\xf4" } , { "\xcf\xe8\xbf\xe1" , "\x65\xe2\xf4" } , { "\xcf\xe8\xbf\xe2" , "\x65\xe6\xf4" } , { "\xcf\xe8\xbf\xe4" , "\x65\xf4\xc9\xea" } , { "\xcf\xe8\xbf\xe5" , "\x65\xf4\xc9\xe2" } , { "\xcf\xe8\xbf\xe5\xa2" , "\x65\xf4\xc9\xe3" } , { "\xcf\xe8\xbf\xe8" , "\x65\xc7\xc3\xf4" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x65\xc3\xf4\x48\xc7\xed" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\xd0\x65\xc3\xf4\x48\xed" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x65\xc3\xf4\x48\xed\xd4" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x65\xc3\xf4\x48\xd6\xc7\xed" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x65\xc3\xf4\x48\xed\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x65\xc3\xf4\x47\xb1\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x65\xc3\xf4\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x65\xc3\xf4\x4f\xc9\xd4" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x65\xc3\xf4\x53\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xbf" , "\x65\xc3\xf4\x65\xc7\xf4" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\xd0\x65\xc3\xf4\x65\xf4" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\xd0\x65\xc3\xf4\x7b\xc9" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x65\xc3\xf4\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\x65\xc3\xf4\x7b\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x65\xc3\xf4\xa5\xc9\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\x65\xc3\xf4\xa5\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\x65\xc3\xf4\xa5\xc9\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\x65\xc3\xf4\xa6\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\xd1\x65\xc3\xf4\xa9\xc9" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\x65\xc3\xf4\xa9\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x65\xf4\xac\xc7" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x65\xf4\xac\xc8" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x65\xf4\xac\xc9\xc8" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x65\xf4\xac\xda\xc7" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\x65\xf4\xac\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x65\xc4\xf4\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\xcc\x65\xc4\xf4" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x65\xd7\xc7\xf4" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\x65\xc4\xe2\xf4" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x65\xc3\xf4\xb1\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x65\xc3\xf4\xb1\xc9\xd4" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x65\xc3\xf4\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\x65\xc3\xf4\xb1\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\x65\xc3\xf4\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x65\xc3\xf4\xb4\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x65\xc3\xf4\xb4\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x65\xc3\xf4\xb4\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x65\xc3\xf4\xba\xc9\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x65\xc3\xf4\xbb\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x65\xc3\xf4\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x65\xc3\xf4\xbb\xc9\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x65\xc3\xf4\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\xd0\x65\xc3\xf4\xbb\x60\xf2" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x65\xc3\xf4\xbb\x60\xe2\xf2" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x65\xc3\xf4\xbb\xb4\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x65\xc3\xf4\xbe\xe2\xfa" } , { "\xcf\xe8\xbf\xe9" , "\x65\xc7\xf4" } , { "\xcf\xe8\xbf\xe9\xe1" , "\x65\xe2\xf4" } , { "\xcf\xe8\xbf\xe9\xe5" , "\x65\xf4\xc9\xe2" } , { "\xcf\xe8\xc0" , "\x68\xc7\xf5" } , { "\xcf\xe8\xc0\xda" , "\x68\xf5\xc9\xc7" } , { "\xcf\xe8\xc0\xdd" , "\x68\xd6\xc7\xf5" } , { "\xcf\xe8\xc0\xe8" , "\x68\xc7\xc3\xf5" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x68\xf5\xac\xc7" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x68\xf5\xac\xc8" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x68\xf5\xac\xc9\xc7" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x68\xc3\xf5\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xc1" , "\x69\xc9\xc7" } , { "\xcf\xe8\xc1\xa1" , "\x69\xc9\xc8" } , { "\xcf\xe8\xc1\xa2" , "\x69\xc9\xc8" } , { "\xcf\xe8\xc1\xa3" , "\x69\xc9\xc7\x26" } , { "\xcf\xe8\xc1\xda" , "\x69\xc9\xc9\xc7" } , { "\xcf\xe8\xc1\xda\xa2" , "\x69\xc9\xc9\xc8" } , { "\xcf\xe8\xc1\xda\xa3" , "\x69\xc9\xc9\xc7\x26" } , { "\xcf\xe8\xc1\xdb" , "\xcc\x69\xc9" } , { "\xcf\xe8\xc1\xdb\xa2" , "\xcd\x69\xc9" } , { "\xcf\xe8\xc1\xdc" , "\x69\xc9\xd4" } , { "\xcf\xe8\xc1\xdd" , "\x6a\xc7" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x6a\xc8" } , { "\xcf\xe8\xc1\xe0\xa2" , "\x69\xc9\xeb" } , { "\xcf\xe8\xc1\xe0\xa3" , "\x69\xc9\xea\x26" } , { "\xcf\xe8\xc1\xe1" , "\x69\xc9\xe2" } , { "\xcf\xe8\xc1\xe5" , "\x69\xc9\xc9\xe2" } , { "\xcf\xe8\xc1\xe5\xa2" , "\x69\xc9\xc9\xe3" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x69\x53\xc9\xd6\xc7" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x69\xab\xc9\xc7" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x69\xab\xc9\xc8" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x69\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xc2" , "\x6c\xc9\xc7" } , { "\xcf\xe8\xc2\xa2" , "\x6c\xc9\xc8" } , { "\xcf\xe8\xc2\xda" , "\x6c\xc9\xc9\xc7" } , { "\xcf\xe8\xc2\xda\xa2" , "\x6c\xc9\xc9\xc8" } , { "\xcf\xe8\xc2\xdb" , "\xcc\x6c\xc9" } , { "\xcf\xe8\xc2\xdb\xa2" , "\xcd\x6c\xc9" } , { "\xcf\xe8\xc2\xdb\xa3" , "\xcc\x6c\xc9\x26" } , { "\xcf\xe8\xc2\xdc" , "\x6c\xc9\xd4" } , { "\xcf\xe8\xc2\xdd" , "\x6c\xc9\xd6\xc7" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x6c\xc9\xd6\xc8" } , { "\xcf\xe8\xc2\xde" , "\x6c\xc9\xda\xc7" } , { "\xcf\xe8\xc2\xde\xa2" , "\x6c\xc9\xda\xc8" } , { "\xcf\xe8\xc2\xdf" , "\x6c\xc9\xde\xc7" } , { "\xcf\xe8\xc2\xe0" , "\x6c\xc9\xea" } , { "\xcf\xe8\xc2\xe1" , "\x6c\xc9\xe2" } , { "\xcf\xe8\xc2\xe1\xa2" , "\x6c\xc9\xe3" } , { "\xcf\xe8\xc2\xe2" , "\x6c\xc9\xe6" } , { "\xcf\xe8\xc2\xe4" , "\x6c\xc9\xc9\xea" } , { "\xcf\xe8\xc2\xe5" , "\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xc2\xe5\xa2" , "\x6c\xc9\xc9\xe3" } , { "\xcf\xe8\xc2\xe6" , "\x6c\xc9\xc9\xe6" } , { "\xcf\xe8\xc2\xe8" , "\x6c\xc9\xc7\xc3" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\x6c\x48\xed\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x6c\x65\xe2\xf4" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x6e\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x6e\xc9\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\xcc\x6e\xc9" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x6e\xc9\xd4" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\x6e\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\x6e\xc9\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x6e\xb4\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x6c\x6f\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x6c\xa9\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x6c\xab\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x6c\xab\xc9\xc8" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x6c\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x6c\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\x6c\xab\xc9\xc9\xe3" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x6d\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x6d\xc9\xc8" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\xcc\x6d\xc9" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x6d\xc9\xd4" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\x6d\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\x6d\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\x6d\xc9\xc9\xea" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\x6d\xc9\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\x6c\xb1\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x6c\xb4\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\xd0\x6c\xb4\xc9" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x6c\xb4\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x6c\xbb\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\x6c\xbb\xc9\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x6c\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\xad\xc3\xf7\x6c\xbb\x7b\xab\xc9" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x6c\xbb\xab\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x6c\xbb\xab\xc9\xc8" } , { "\xcf\xe8\xc3" , "\x6f\xc9\xc7" } , { "\xcf\xe8\xc3\xa1" , "\x6f\xc9\xc8" } , { "\xcf\xe8\xc3\xa2" , "\x6f\xc9\xc8" } , { "\xcf\xe8\xc3\xa3" , "\x6f\xc9\xc7\x26" } , { "\xcf\xe8\xc3\xda" , "\x6f\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xda\xa2" , "\x6f\xc9\xc9\xc8" } , { "\xcf\xe8\xc3\xdb" , "\xcc\x6f\xc9" } , { "\xcf\xe8\xc3\xdb\xa2" , "\xcd\x6f\xc9" } , { "\xcf\xe8\xc3\xdc" , "\x6f\xc9\xd4" } , { "\xcf\xe8\xc3\xdd" , "\x6f\xc9\xd6\xc7" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x6f\xc9\xd6\xc8" } , { "\xcf\xe8\xc3\xde" , "\x6f\xc9\xda\xc7" } , { "\xcf\xe8\xc3\xe1" , "\x6f\xc9\xe2" } , { "\xcf\xe8\xc3\xe2" , "\x6f\xc9\xe6" } , { "\xcf\xe8\xc3\xe5" , "\x6f\xc9\xc9\xe2" } , { "\xcf\xe8\xc3\xe5\xa2" , "\x6f\xc9\xc9\xe3" } , { "\xcf\xe8\xc3\xe6" , "\x6f\xc9\xc9\xe6" } , { "\xcf\xe8\xc3\xe8" , "\x6f\xc9\xc7\xc3" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x6f\x53\xc9\xe2" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x6f\xa7\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x6f\xab\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x6f\xab\xc9\xc8" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x6f\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x6f\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x6f\xab\xc9\xc9\xe3" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x6f\xab\xc9\xc9\xe6" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x70\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x70\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\x70\xc9\xc9\xe2" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x6f\xb4\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x6f\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x6f\xbb\x60\xe2\xf2" } , { "\xcf\xe8\xc4" , "\x71\xc7\xf6" } , { "\xcf\xe8\xc4\xa2" , "\x71\xc8\xf6" } , { "\xcf\xe8\xc4\xa3" , "\x71\xc7\xf6\x26" } , { "\xcf\xe8\xc4\xda" , "\x71\xf6\xc9\xc7" } , { "\xcf\xe8\xc4\xda\xa2" , "\x71\xf6\xc9\xc8" } , { "\xcf\xe8\xc4\xdb" , "\xcc\x71\xf6" } , { "\xcf\xe8\xc4\xdb\xa2" , "\xcd\x71\xf6" } , { "\xcf\xe8\xc4\xdc" , "\x71\xf6\xd4" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x71\xf6\xd5" } , { "\xcf\xe8\xc4\xdd" , "\x71\xd6\xc7\xf6" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x71\xd6\xc8\xf6" } , { "\xcf\xe8\xc4\xde" , "\x71\xda\xc7\xf6" } , { "\xcf\xe8\xc4\xdf" , "\x78\xc7\xf6" } , { "\xcf\xe8\xc4\xe0" , "\x71\xea\xf6" } , { "\xcf\xe8\xc4\xe1" , "\x71\xe2\xf6" } , { "\xcf\xe8\xc4\xe1\xa2" , "\x71\xe3\xf6" } , { "\xcf\xe8\xc4\xe2" , "\x71\xe6\xf6" } , { "\xcf\xe8\xc4\xe4" , "\x71\xf6\xc9\xea" } , { "\xcf\xe8\xc4\xe5" , "\x71\xf6\xc9\xe2" } , { "\xcf\xe8\xc4\xe5\xa2" , "\x71\xf6\xc9\xe3" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x74\xc7\xf6" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x74\xf6\xc9\xc8" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x75\xc7\xf6" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x75\xf6\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x75\xf6\xc9\xc8" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\xcc\x75\xf6" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\x75\xf6\xc9\xe3" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\x73\xe2" } , { "\xcf\xe8\xc4\xe8\xcd" , "\x76\xc7" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\x76\xc8" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\x76\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x72\xc7\xf6" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x72\xc8\xf6" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x72\xf6\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x72\xf6\xd4" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\x72\xf6\xc9\xe2" } , { "\xcf\xe8\xc4\xe8\xd4" , "\x77\xc7\xf6" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\x77\xc8\xf6" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\x77\xf6\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\xd0\x71\xc3\xf6\xba\x60\xf2" } , { "\xcf\xe8\xc5" , "\x79\xc9\xc7" } , { "\xcf\xe8\xc5\xa2" , "\x79\xc9\xc8" } , { "\xcf\xe8\xc5\xda" , "\x79\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xda\xa2" , "\x79\xc9\xc9\xc8" } , { "\xcf\xe8\xc5\xdb" , "\xcc\x79\xc9" } , { "\xcf\xe8\xc5\xdb\xa2" , "\xcd\x79\xc9" } , { "\xcf\xe8\xc5\xdc" , "\x79\xc9\xd4" } , { "\xcf\xe8\xc5\xdd" , "\x79\xc9\xd6\xc7" } , { "\xcf\xe8\xc5\xde" , "\x79\xc9\xda\xc7" } , { "\xcf\xe8\xc5\xdf" , "\x79\xc9\xde\xc7" } , { "\xcf\xe8\xc5\xe0" , "\x79\xc9\xea" } , { "\xcf\xe8\xc5\xe1" , "\x79\xc9\xe2" } , { "\xcf\xe8\xc5\xe5" , "\x79\xc9\xc9\xe2" } , { "\xcf\xe8\xc5\xe5\xa2" , "\x79\xc9\xc9\xe3" } , { "\xcf\xe8\xc5\xe8" , "\x79\xc9\xc7\xc3" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x79\x71\xc7\xf6" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x79\x71\xf6\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x79\x71\xf6\xc9\xc8" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\xd0\x79\x7b\xc9" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\x79\xa9\xc9\xe2" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x79\xab\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x79\xab\xc9\xc8" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x79\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x79\xab\xc9\xc9\xe3" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x7a\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x7a\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x7a\xab\xc9\xe2" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x79\xb4\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x79\xb4\xc9\xc8" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x79\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x79\xb4\xc9\xc9\xc8" } , { "\xcf\xe8\xc6" , "\x7b\xc9\xc7" } , { "\xcf\xe8\xc6\xa2" , "\x7b\xc9\xc8" } , { "\xcf\xe8\xc6\xda" , "\x7b\xc9\xc9\xc7" } , { "\xcf\xe8\xc6\xda\xa2" , "\x7b\xc9\xc9\xc8" } , { "\xcf\xe8\xc6\xdb" , "\xcc\x7b\xc9" } , { "\xcf\xe8\xc6\xdb\xa2" , "\xcd\x7b\xc9" } , { "\xcf\xe8\xc6\xdc" , "\x7b\xc9\xd4" } , { "\xcf\xe8\xc6\xdd" , "\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x7b\xc9\xd6\xc8" } , { "\xcf\xe8\xc6\xde" , "\x7b\xc9\xda\xc7" } , { "\xcf\xe8\xc6\xdf" , "\x7b\xc9\xde\xc7" } , { "\xcf\xe8\xc6\xe0" , "\x7b\xc9\xea" } , { "\xcf\xe8\xc6\xe0\xa2" , "\x7b\xc9\xeb" } , { "\xcf\xe8\xc6\xe1" , "\x7b\xc9\xe2" } , { "\xcf\xe8\xc6\xe1\xa2" , "\x7b\xc9\xe3" } , { "\xcf\xe8\xc6\xe2" , "\x7b\xc9\xe6" } , { "\xcf\xe8\xc6\xe4" , "\x7b\xc9\xc9\xea" } , { "\xcf\xe8\xc6\xe5" , "\x7b\xc9\xc9\xe2" } , { "\xcf\xe8\xc6\xe5\xa2" , "\x7b\xc9\xc9\xe3" } , { "\xcf\xe8\xc6\xe8" , "\x7b\xc9\xc7\xc3" } , { "\xcf\xe8\xc6\xe8\xbf" , "\x7b\x65\xc7\xf4" } , { "\xcf\xe8\xc6\xe8\xc2" , "\x7b\x6c\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\x7b\x71\xe2\xf6" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x7d\xc9\xda\xc7" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\x7b\x7e\xc9\xda\xc7" } , { "\xcf\xe8\xc6\xe8\xca" , "\x7b\xa5\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\x7b\xa5\xc9\xea" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x7b\xa5\xb1\xc9\xeb" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x7b\xa9\xc9\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\x7b\xa9\xc9\xeb" } , { "\xcf\xe8\xc6\xe8\xd1" , "\x7b\xb1\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\x7b\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\x7b\xb1\xc9\xe2" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\x7b\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xc6\xe8\xd4" , "\x7b\xb4\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\x7b\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd7" , "\x7b\xbb\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\x7b\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\x7b\xbb\x48\xc7\xed" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x7b\xbb\x60\xf2\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x7b\xbb\x60\xe2\xf2" } , { "\xcf\xe8\xc6\xe8\xd8" , "\x7b\xbe\xc7\xfa" } , { "\xcf\xe8\xc8" , "\x7e\xc9\xc7" } , { "\xcf\xe8\xc8\xa2" , "\x7e\xc9\xc8" } , { "\xcf\xe8\xc8\xda" , "\x7e\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xda\xa2" , "\x7e\xc9\xc9\xc8" } , { "\xcf\xe8\xc8\xdb" , "\xcc\x7e\xc9" } , { "\xcf\xe8\xc8\xdb\xa2" , "\xcd\x7e\xc9" } , { "\xcf\xe8\xc8\xdc" , "\x7e\xc9\xd4" } , { "\xcf\xe8\xc8\xdd" , "\x7e\xc9\xd6\xc7" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x7e\xc9\xd6\xc8" } , { "\xcf\xe8\xc8\xde" , "\x7e\xc9\xda\xc7" } , { "\xcf\xe8\xc8\xe0" , "\x7e\xc9\xea" } , { "\xcf\xe8\xc8\xe0\xa2" , "\x7e\xc9\xeb" } , { "\xcf\xe8\xc8\xe1" , "\x7e\xc9\xe2" } , { "\xcf\xe8\xc8\xe1\xa2" , "\x7e\xc9\xe3" } , { "\xcf\xe8\xc8\xe2" , "\x7e\xc9\xe6" } , { "\xcf\xe8\xc8\xe4" , "\x7e\xc9\xc9\xea" } , { "\xcf\xe8\xc8\xe4\xa2" , "\x7e\xc9\xc9\xeb" } , { "\xcf\xe8\xc8\xe5" , "\x7e\xc9\xc9\xe2" } , { "\xcf\xe8\xc8\xe5\xa2" , "\x7e\xc9\xc9\xe3" } , { "\xcf\xe8\xc8\xe8" , "\x7e\xc9\xc7\xc3" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\x7e\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\x7e\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x7e\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\x7e\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\x7e\xab\xc9\xda\xc7" } , { "\xcf\xe8\xc8\xe8\xcf" , "\xa1\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\xa1\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\xcd\xa1\xc9" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\xa1\xc9\xea" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\xa1\xc9\xeb" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\xa1\xc9\xe6" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x7e\xb1\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x7e\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x7e\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x7e\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\x7e\xb1\xc9\xe2" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\x7e\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xc9" , "\xa3\xc7\xed" } , { "\xcf\xe8\xc9\xda" , "\xa3\xed\xc9\xc7" } , { "\xcf\xe8\xc9\xdb" , "\xcc\xa3\xed" } , { "\xcf\xe8\xc9\xdc" , "\xa3\xed\xd4" } , { "\xcf\xe8\xc9\xdd" , "\xa3\xd9\xc7\xed" } , { "\xcf\xe8\xc9\xe0" , "\xa3\xea\xed" } , { "\xcf\xe8\xc9\xe1" , "\xa3\xe2\xed" } , { "\xcf\xe8\xc9\xe2" , "\xa3\xe6\xed" } , { "\xcf\xe8\xc9\xe5" , "\xa3\xed\xc9\xe2" } , { "\xcf\xe8\xc9\xe5\xa2" , "\xa3\xed\xc9\xe3" } , { "\xcf\xe8\xc9\xe8" , "\xa3\xc7\xc3\xed" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\xa2\x48\xda\xc7\xed" } , { "\xcf\xe8\xc9\xe8\xbf" , "\xa2\x65\xc7\xf4" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\xa2\xab\xc9\xda\xc7" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\xa2\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\xa2\xb1\xc9\xda\xc7" } , { "\xcf\xe8\xc9\xe8\xd4" , "\xa2\xb4\xc9\xc7" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\xa2\xb4\xc9\xea" } , { "\xcf\xe8\xc9\xe9" , "\xa3\xc7\xed" } , { "\xcf\xe8\xc9\xe9\xdc" , "\xa3\xed\xd4" } , { "\xcf\xe8\xca" , "\xa5\xc9\xc7" } , { "\xcf\xe8\xca\xa2" , "\xa5\xc9\xc8" } , { "\xcf\xe8\xca\xda" , "\xa5\xc9\xc9\xc7" } , { "\xcf\xe8\xca\xdb" , "\xcc\xa5\xc9" } , { "\xcf\xe8\xca\xdb\xa2" , "\xcd\xa5\xc9" } , { "\xcf\xe8\xca\xdc" , "\xa5\xc9\xd4" } , { "\xcf\xe8\xca\xdd" , "\xa5\xc9\xd6\xc7" } , { "\xcf\xe8\xca\xde" , "\xa5\xc9\xda\xc7" } , { "\xcf\xe8\xca\xe0" , "\xa5\xc9\xea" } , { "\xcf\xe8\xca\xe0\xa2" , "\xa5\xc9\xeb" } , { "\xcf\xe8\xca\xe1" , "\xa5\xc9\xe2" } , { "\xcf\xe8\xca\xe2" , "\xa5\xc9\xe6" } , { "\xcf\xe8\xca\xe4" , "\xa5\xc9\xc9\xea" } , { "\xcf\xe8\xca\xe5" , "\xa5\xc9\xc9\xe2" } , { "\xcf\xe8\xca\xe5\xa2" , "\xa5\xc9\xc9\xe3" } , { "\xcf\xe8\xca\xe6" , "\xa5\xc9\xc9\xe6" } , { "\xcf\xe8\xca\xe8" , "\xa5\xc9\xc7\xc3" } , { "\xcf\xe8\xca\xe8\xbf" , "\xa5\x65\xc7\xf4" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\xd0\xa5\x6f\xc9" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\xa5\x7b\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\xa5\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\xa5\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xca\xe8\xcf" , "\xa6\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\xa6\xc9\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\xa6\xc9\xc9\xe2" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\xa5\xb1\xc9\xc7\xc3" } , { "\xcf\xe8\xca\xe8\xd7" , "\xa5\xbb\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\xa5\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xcb" , "\xa7\xc9\xc7" } , { "\xcf\xe8\xcb\xa2" , "\xa7\xc9\xc8" } , { "\xcf\xe8\xcb\xa3" , "\xa7\xc9\xc7\x26" } , { "\xcf\xe8\xcb\xda" , "\xa7\xc9\xc9\xc7" } , { "\xcf\xe8\xcb\xda\xa2" , "\xa7\xc9\xc9\xc8" } , { "\xcf\xe8\xcb\xdb" , "\xcc\xa7\xc9" } , { "\xcf\xe8\xcb\xdb\xa2" , "\xcd\xa7\xc9" } , { "\xcf\xe8\xcb\xdc" , "\xa7\xc9\xd4" } , { "\xcf\xe8\xcb\xdd" , "\xa7\xc9\xd6\xc7" } , { "\xcf\xe8\xcb\xde" , "\xa7\xc9\xda\xc7" } , { "\xcf\xe8\xcb\xde\xa3" , "\xa7\xc9\xda\xc7\x26" } , { "\xcf\xe8\xcb\xe1" , "\xa7\xc9\xe2" } , { "\xcf\xe8\xcb\xe5" , "\xa7\xc9\xc9\xe2" } , { "\xcf\xe8\xcb\xe5\xa2" , "\xa7\xc9\xc9\xe3" } , { "\xcf\xe8\xcb\xe6" , "\xa7\xc9\xc9\xe6" } , { "\xcf\xe8\xcb\xe8\xcf" , "\xa8\xc9\xc7" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\xa7\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xcc" , "\xa9\xc9\xc7" } , { "\xcf\xe8\xcc\xa2" , "\xa9\xc9\xc8" } , { "\xcf\xe8\xcc\xa3" , "\xa9\xc9\xc7\x26" } , { "\xcf\xe8\xcc\xda" , "\xa9\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xda\xa1" , "\xa9\xc9\xc9\xc8" } , { "\xcf\xe8\xcc\xda\xa2" , "\xa9\xc9\xc9\xc8" } , { "\xcf\xe8\xcc\xdb" , "\xcc\xa9\xc9" } , { "\xcf\xe8\xcc\xdb\xa2" , "\xcd\xa9\xc9" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\xcd\xa9\xc9\xc5" } , { "\xcf\xe8\xcc\xdc" , "\xa9\xc9\xd4" } , { "\xcf\xe8\xcc\xdc\xa2" , "\xa9\xc9\xd5" } , { "\xcf\xe8\xcc\xdd" , "\xa9\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xdd\xa2" , "\xa9\xc9\xd6\xc8" } , { "\xcf\xe8\xcc\xde" , "\xa9\xc9\xda\xc7" } , { "\xcf\xe8\xcc\xe0" , "\xa9\xc9\xea" } , { "\xcf\xe8\xcc\xe0\xa2" , "\xa9\xc9\xeb" } , { "\xcf\xe8\xcc\xe1" , "\xa9\xc9\xe2" } , { "\xcf\xe8\xcc\xe1\xa2" , "\xa9\xc9\xe3" } , { "\xcf\xe8\xcc\xe2" , "\xa9\xc9\xe6" } , { "\xcf\xe8\xcc\xe4" , "\xa9\xc9\xc9\xea" } , { "\xcf\xe8\xcc\xe5" , "\xa9\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe5\xa2" , "\xa9\xc9\xc9\xe3" } , { "\xcf\xe8\xcc\xe8" , "\xa9\xc9\xc7\xc3" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\xa9\x48\xd6\xc7\xed" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\xa9\x4f\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\xa9\x53\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\xa9\x53\xc9\xc9\xea" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\xd0\xa9\x60\xf2" } , { "\xcf\xe8\xcc\xe8\xbf" , "\xa9\x65\xc7\xf4" } , { "\xcf\xe8\xcc\xe8\xc2" , "\xa9\x6c\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\xa9\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\xa9\x7b\xc9\xc8" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\xa9\x7b\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\xa9\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\xa9\x7b\xc9\xd6\xc8" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\xa9\xa3\xed\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\xa9\xa3\xed\xd4" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\xa9\xa7\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcc" , "\xa9\xa9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\xa9\xa9\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcd" , "\xa9\xab\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\xa9\xab\xc9\xc8" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\xa9\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\xa9\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\xa9\xab\xc9\xc9\xea" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\xaa\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xd1" , "\xa9\xb1\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\xa9\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\xa9\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\xa9\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\xa9\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xad\xc3\xf7\xa9\xbb\x60\xc4\xf2\xc9\xc5" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\xa9\xbb\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\xd0\xa9\xbb\x7b\xc9" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\xd0\xa9\xbb\x7e\xc9" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\xa9\xbb\xa9\xc9\xc9\xc7" } , { "\xcf\xe8\xcd" , "\xab\xc9\xc7" } , { "\xcf\xe8\xcd\xa2" , "\xab\xc9\xc8" } , { "\xcf\xe8\xcd\xa3" , "\xab\xc9\xc7\x26" } , { "\xcf\xe8\xcd\xda" , "\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xda\xa2" , "\xab\xc9\xc9\xc8" } , { "\xcf\xe8\xcd\xdb" , "\xcc\xab\xc9" } , { "\xcf\xe8\xcd\xdc" , "\xab\xc9\xd4" } , { "\xcf\xe8\xcd\xdd" , "\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xcd\xdd\xa2" , "\xab\xc9\xd6\xc8" } , { "\xcf\xe8\xcd\xde" , "\xab\xc9\xda\xc7" } , { "\xcf\xe8\xcd\xe1" , "\xab\xc9\xe2" } , { "\xcf\xe8\xcd\xe4" , "\xab\xc9\xc9\xea" } , { "\xcf\xe8\xcd\xe5" , "\xab\xc9\xc9\xe2" } , { "\xcf\xe8\xcd\xe5\xa2" , "\xab\xc9\xc9\xe3" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\xab\x48\xda\xc7\xed" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\xab\x6f\xc9\xc8" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\xab\x6f\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\xab\x71\xc8\xf6" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\xab\x71\xf6\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xc5" , "\xab\x79\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xcd" , "\xab\xab\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\xab\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\xab\xab\xc9\xda\xc7" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\xab\xad\xc3\xf7\xab\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xd4" , "\xab\xb4\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\xab\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\xab\xb4\xc9\xd6\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\xab\xb4\xc9\xda\xc7" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\xd1\xab\xba\xc9" } , { "\xcf\xe8\xcf" , "\xad\xc7\xf7" } , { "\xcf\xe8\xcf\xa2" , "\xad\xc8\xf7" } , { "\xcf\xe8\xcf\xda" , "\xad\xf7\xc9\xc7" } , { "\xcf\xe8\xcf\xda\xa2" , "\xad\xf7\xc9\xc8" } , { "\xcf\xe8\xcf\xdb" , "\xcc\xad\xf7" } , { "\xcf\xe8\xcf\xdb\xa2" , "\xcd\xad\xf7" } , { "\xcf\xe8\xcf\xdc" , "\xad\xf7\xd4" } , { "\xcf\xe8\xcf\xdd" , "\xae\xc7\xf8" } , { "\xcf\xe8\xcf\xdd\xa2" , "\xae\xc8\xf8" } , { "\xcf\xe8\xcf\xde" , "\xb0\xc7\xf7" } , { "\xcf\xe8\xcf\xe0" , "\xad\xea\xf7" } , { "\xcf\xe8\xcf\xe0\xa2" , "\xad\xeb\xf7" } , { "\xcf\xe8\xcf\xe1" , "\xad\xe2\xf7" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xad\xe3\xf7" } , { "\xcf\xe8\xcf\xe2" , "\xad\xe6\xf7" } , { "\xcf\xe8\xcf\xe4" , "\xad\xf7\xc9\xea" } , { "\xcf\xe8\xcf\xe5" , "\xad\xf7\xc9\xe2" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xad\xf7\xc9\xe3" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\xad\xc3\xf7\x53\xc9\xd6\xc7" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\xad\xc3\xf7\x60\xc7\xc3\xf2" } , { "\xcf\xe8\xcf\xe8\xcc" , "\xad\xc3\xf7\xa9\xc9\xc7" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\xad\xc3\xf7\xad\xc8\xf7" } , { "\xcf\xe8\xcf\xe8\xd8" , "\xad\xc3\xf7\xbe\xc7\xfa" } , { "\xcf\xe8\xd0" , "\xad\xc7\xf7" } , { "\xcf\xe8\xd0\xda" , "\xad\xf7\xc9\xc7" } , { "\xcf\xe8\xd0\xdb" , "\xcc\xad\xf7" } , { "\xcf\xe8\xd0\xe1\xa2" , "\xad\xe3\xf7" } , { "\xcf\xe8\xd1" , "\xb1\xc9\xc7" } , { "\xcf\xe8\xd1\xa2" , "\xb1\xc9\xc8" } , { "\xcf\xe8\xd1\xda" , "\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xd1\xda\xa1" , "\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xd1\xda\xa2" , "\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xd1\xdb" , "\xcc\xb1\xc9" } , { "\xcf\xe8\xd1\xdb\xa2" , "\xcd\xb1\xc9" } , { "\xcf\xe8\xd1\xdc" , "\xb1\xc9\xd4" } , { "\xcf\xe8\xd1\xdd" , "\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xd1\xdd\xa2" , "\xb1\xc9\xd6\xc8" } , { "\xcf\xe8\xd1\xde" , "\xb1\xc9\xda\xc7" } , { "\xcf\xe8\xd1\xe0" , "\xb1\xc9\xea" } , { "\xcf\xe8\xd1\xe0\xa2" , "\xb1\xc9\xeb" } , { "\xcf\xe8\xd1\xe1" , "\xb1\xc9\xe2" } , { "\xcf\xe8\xd1\xe1\xa2" , "\xb1\xc9\xe3" } , { "\xcf\xe8\xd1\xe2" , "\xb1\xc9\xe6" } , { "\xcf\xe8\xd1\xe4" , "\xb1\xc9\xc9\xea" } , { "\xcf\xe8\xd1\xe5" , "\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xd1\xe5\xa2" , "\xb1\xc9\xc9\xe3" } , { "\xcf\xe8\xd1\xe8" , "\xb1\xc9\xc7\xc3" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\xb1\x57\xf0\xc7" } , { "\xcf\xe8\xd1\xe8\xbf" , "\xb1\x65\xc7\xf4" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\xb1\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\xb1\x7e\xb1\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\xb1\xa3\xed\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\xb1\xa9\xc9\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\xb1\xab\xc9\xc9\xc8" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\xb1\xb4\xc9\xea" } , { "\xcf\xe8\xd1\xe8\xd7" , "\xb1\xbb\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\xb1\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\xb1\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xd2" , "\xb3\xc7" } , { "\xcf\xe8\xd4" , "\xb4\xc9\xc7" } , { "\xcf\xe8\xd4\xa2" , "\xb4\xc9\xc8" } , { "\xcf\xe8\xd4\xa3" , "\xb4\xc9\xc7\x26" } , { "\xcf\xe8\xd4\xda" , "\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xd4\xda\xa2" , "\xb4\xc9\xc9\xc8" } , { "\xcf\xe8\xd4\xdb" , "\xcc\xb4\xc9" } , { "\xcf\xe8\xd4\xdb\xa2" , "\xcd\xb4\xc9" } , { "\xcf\xe8\xd4\xdc" , "\xb4\xc9\xd4" } , { "\xcf\xe8\xd4\xdd" , "\xb4\xc9\xd6\xc7" } , { "\xcf\xe8\xd4\xdd\xa2" , "\xb4\xc9\xd6\xc8" } , { "\xcf\xe8\xd4\xde" , "\xb4\xc9\xda\xc7" } , { "\xcf\xe8\xd4\xdf" , "\xb4\xc9\xde\xc7" } , { "\xcf\xe8\xd4\xe0" , "\xb4\xc9\xea" } , { "\xcf\xe8\xd4\xe0\xa2" , "\xb4\xc9\xeb" } , { "\xcf\xe8\xd4\xe1" , "\xb4\xc9\xe2" } , { "\xcf\xe8\xd4\xe1\xa2" , "\xb4\xc9\xe3" } , { "\xcf\xe8\xd4\xe2" , "\xb4\xc9\xe6" } , { "\xcf\xe8\xd4\xe5" , "\xb4\xc9\xc9\xe2" } , { "\xcf\xe8\xd4\xe5\xa2" , "\xb4\xc9\xc9\xe3" } , { "\xcf\xe8\xd4\xe6" , "\xb4\xc9\xc9\xe6" } , { "\xcf\xe8\xd4\xe8" , "\xb4\xc9\xc7\xc3" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\xb4\x53\xc9\xe2" } , { "\xcf\xe8\xd4\xe8\xcd" , "\xb4\xab\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\xb4\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\xb4\xab\xc9\xd6\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\xb4\xab\xc9\xda\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\xb4\xab\xb4\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\xb5\xc9\xd6\xc7" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\xb4\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xd4\xe8\xd4" , "\xb4\xb4\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xd5" , "\xb4\xb6\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\xb4\xbe\xfa\xd4" } , { "\xcf\xe8\xd5" , "\xb6\xc9\xc7" } , { "\xcf\xe8\xd5\xa2" , "\xb6\xc9\xc8" } , { "\xcf\xe8\xd5\xa3" , "\xb6\xc9\xc7\x26" } , { "\xcf\xe8\xd5\xda" , "\xb6\xc9\xc9\xc7" } , { "\xcf\xe8\xd5\xda\xa2" , "\xb6\xc9\xc9\xc8" } , { "\xcf\xe8\xd5\xdb" , "\xcc\xb6\xc9" } , { "\xcf\xe8\xd5\xdb\xa2" , "\xcd\xb6\xc9" } , { "\xcf\xe8\xd5\xdc" , "\xb6\xc9\xd4" } , { "\xcf\xe8\xd5\xdd" , "\xb6\xc9\xd6\xc7" } , { "\xcf\xe8\xd5\xe0" , "\xb6\xc9\xea" } , { "\xcf\xe8\xd5\xe1" , "\xb6\xc9\xe2" } , { "\xcf\xe8\xd5\xe1\xa2" , "\xb6\xc9\xe3" } , { "\xcf\xe8\xd5\xe5" , "\xb6\xc9\xc9\xe2" } , { "\xcf\xe8\xd5\xe5\xa2" , "\xb6\xc9\xc9\xe3" } , { "\xcf\xe8\xd5\xe8\xcd" , "\xb6\xab\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\xb6\xab\xc9\xc8" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\xb6\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xcf" , "\xb8\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd4" , "\xb9\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\xb9\xc9\xc8" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\xb9\xc9\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\xb9\xc9\xc9\xc8" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\xcc\xb9\xc9" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\xb9\xc9\xc9\xe2" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\xb9\xc9\xc9\xe3" } , { "\xcf\xe8\xd5\xe8\xd5" , "\xb6\xb6\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\xb6\xc7\x3c" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\xb6\xc7\xb4\xc9" } , { "\xcf\xe8\xd6" , "\xba\xc9\xc7" } , { "\xcf\xe8\xd6\xa1" , "\xba\xc9\xc8" } , { "\xcf\xe8\xd6\xa2" , "\xba\xc9\xc8" } , { "\xcf\xe8\xd6\xda" , "\xba\xc9\xc9\xc7" } , { "\xcf\xe8\xd6\xda\xa2" , "\xba\xc9\xc9\xc8" } , { "\xcf\xe8\xd6\xdb" , "\xcc\xba\xc9" } , { "\xcf\xe8\xd6\xdb\xa2" , "\xcd\xba\xc9" } , { "\xcf\xe8\xd6\xdc" , "\xba\xc9\xd4" } , { "\xcf\xe8\xd6\xdd" , "\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xd6\xe0" , "\xba\xc9\xea" } , { "\xcf\xe8\xd6\xe1" , "\xba\xc9\xe2" } , { "\xcf\xe8\xd6\xe2" , "\xba\xc9\xe6" } , { "\xcf\xe8\xd6\xe5" , "\xba\xc9\xc9\xe2" } , { "\xcf\xe8\xd6\xe5\xa2" , "\xba\xc9\xc9\xe3" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\xd0\xba\x48\xed" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\xba\x48\xed\xc9\xe2" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\xba\x4e\xc9\xe2" } , { "\xcf\xe8\xd6\xe8\xbd" , "\xba\x60\xc7\xf2" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\xba\x60\xc4\xc7\xf2" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\xba\x60\xc4\xf2\xd4" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\xd0\xba\x69\xc9" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\xba\x69\xc9\xe2" } , { "\xcf\xe8\xd6\xe8\xcd" , "\xba\xab\xc9\xc7" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\xba\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\xba\xab\xc9\xe2" } , { "\xcf\xe8\xd7" , "\xbb\xc9\xc7" } , { "\xcf\xe8\xd7\xa2" , "\xbb\xc9\xc8" } , { "\xcf\xe8\xd7\xda" , "\xbb\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xda\xa2" , "\xbb\xc9\xc9\xc8" } , { "\xcf\xe8\xd7\xdb" , "\xcc\xbb\xc9" } , { "\xcf\xe8\xd7\xdb\xa2" , "\xcd\xbb\xc9" } , { "\xcf\xe8\xd7\xdc" , "\xbb\xc9\xd4" } , { "\xcf\xe8\xd7\xdd" , "\xbb\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xde" , "\xbb\xc9\xda\xc7" } , { "\xcf\xe8\xd7\xdf" , "\xbb\xc9\xde\xc7" } , { "\xcf\xe8\xd7\xe0" , "\xbb\xc9\xea" } , { "\xcf\xe8\xd7\xe0\xa2" , "\xbb\xc9\xeb" } , { "\xcf\xe8\xd7\xe1" , "\xbb\xc9\xe2" } , { "\xcf\xe8\xd7\xe1\xa2" , "\xbb\xc9\xe3" } , { "\xcf\xe8\xd7\xe2" , "\xbb\xc9\xe6" } , { "\xcf\xe8\xd7\xe5" , "\xbb\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe5\xa2" , "\xbb\xc9\xc9\xe3" } , { "\xcf\xe8\xd7\xe8" , "\xbb\xc9\xc7\xc3" } , { "\xcf\xe8\xd7\xe8\xb3" , "\xbb\x48\xc7\xed" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\xbb\x48\xed\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\xd0\xbb\x48\xed" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\xbb\x48\xed\xd4" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\xbb\x48\xd6\xc7\xed" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\xbb\x4e\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\xbb\x53\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xbd" , "\xbb\x60\xc7\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\xbb\x60\xf2\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\xbb\x60\xf2\xc9\xc8" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\xd0\xbb\x60\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\xbb\x60\xd6\xc7\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\xbb\x60\xea\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\xbb\x60\xe2\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\xbb\x60\xe6\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\xbb\x60\xc7\xc3\xf2" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xbb\x60\xc4\xf2\xc9\xc8" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\xad\xc3\xf7\xbb\x60\xc3\xf2\xbb\x6f\xc9" } , { "\xcf\xe8\xd7\xe8\xbf" , "\xbb\x65\xc7\xf4" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\xbb\x65\xea\xf4" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\xbb\x65\xc7\xc3\xf4" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\xbb\x6c\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\xbb\x6c\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\xbb\x6f\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\xbb\x6f\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xbb\x77\xf6\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\xd0\xbb\x7b\xc9" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\xbb\x7b\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\xbb\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\xbb\x7b\xc9\xd6\xc8" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\xbb\x7b\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xc8" , "\xbb\x7e\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\xbb\x7e\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\xbb\x7e\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\xbb\x7e\xc9\xda\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\xbb\x7e\xc9\xea" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\xbb\x7e\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\xbb\xa1\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xbb\x7e\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\xd0\xbb\x7e\xb1\xc9" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\xbb\xa2\xab\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\xd0\xbb\xa2\xb1\xc9" } , { "\xcf\xe8\xd7\xe8\xca" , "\xbb\xa5\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\xbb\xa5\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\xbb\xa9\xc9\xeb" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\xbb\xa9\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\xbb\xab\xc9\xda\xc7" } , { "\xcf\xe8\xd7\xe8\xd1" , "\xbb\xb1\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\xd0\xbb\xb1\xc9" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\xbb\xb1\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\xbb\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\xbb\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xd4" , "\xbb\xb4\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\xbb\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\xd0\xbb\xb4\xc9" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\xbb\xb4\xc9\xea" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\xbb\xb4\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xd7" , "\xbb\xbb\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\xbb\xbb\xc9\xc9\xc7" } , { "\xcf\xe8\xd8" , "\xbe\xc7\xfa" } , { "\xcf\xe8\xd8\xa2" , "\xbe\xc8\xfa" } , { "\xcf\xe8\xd8\xda" , "\xbe\xfa\xc9\xc7" } , { "\xcf\xe8\xd8\xda\xa2" , "\xbe\xfa\xc9\xc8" } , { "\xcf\xe8\xd8\xdb" , "\xcc\xbe\xfa" } , { "\xcf\xe8\xd8\xdb\xa2" , "\xcd\xbe\xfa" } , { "\xcf\xe8\xd8\xdc" , "\xbe\xfa\xd4" } , { "\xcf\xe8\xd8\xdd" , "\xbe\xd6\xc7\xfa" } , { "\xcf\xe8\xd8\xe0" , "\xbe\xea\xfa" } , { "\xcf\xe8\xd8\xe1" , "\xbe\xe2\xfa" } , { "\xcf\xe8\xd8\xe1\xa2" , "\xbe\xe3\xfa" } , { "\xcf\xe8\xd8\xe5" , "\xbe\xfa\xc9\xe2" } , { "\xcf\xe8\xd8\xe6" , "\xbe\xfa\xc9\xe6" } , { "\xcf\xe8\xd8\xe8\xc4" , "\xbd\x71\xc7\xf6" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\xbd\x7b\xc9\xc9\xc7" } , { "\xcf\xe8\xd8\xe8\xcd" , "\xc2\xc7" } , { "\xcf\xe8\xe8" , "\xad\xc3\xf7" } , { "\xcf\xe9" , "\xad\xf7" } , { "\xd0" , "\xad\xf7" } , { "\xd0\xa2" , "\xad\xc5\xf7" } , { "\xd0\xb3" , "\xad\xf7\x48\xed" } , { "\xd0\xb3\xe8\xd6\xda" , "\xad\xf7\x4b\xc9\xc9" } , { "\xd0\xb4" , "\xad\xf7\x4c\xc9" } , { "\xd0\xb4\xda" , "\xad\xf7\x4c\xc9\xc9" } , { "\xd0\xb4\xe1" , "\xad\xf7\x4c\xc9\xe0" } , { "\xd0\xbf" , "\xad\xf7\x65\xf4" } , { "\xd0\xc3" , "\xad\xf7\x6f\xc9" } , { "\xd0\xc4\xdf" , "\xad\xf7\x78\xf6" } , { "\xd0\xca\xde" , "\xad\xf7\xa5\xc9\xda" } , { "\xd0\xcc" , "\xad\xf7\xa9\xc9" } , { "\xd0\xd0\xd7" , "\xad\xf7\xad\xf7\xbb\xc9" } , { "\xd0\xd4" , "\xad\xf7\xb4\xc9" } , { "\xd0\xd8" , "\xad\xf7\xbe\xfa" } , { "\xd0\xd8\xe1" , "\xad\xf7\xbe\xe0\xfa" } , { "\xd0\xda" , "\xad\xf7\xc9" } , { "\xd0\xdb" , "\xca\xad\xf7" } , { "\xd0\xdd" , "\xad\xd6\xf7" } , { "\xd0\xdd\xa2" , "\xad\xd6\xc5\xf7" } , { "\xd0\xe0" , "\xad\xe8\xf7" } , { "\xd0\xe0\xa2" , "\xad\xe9\xf7" } , { "\xd0\xe1" , "\xad\xe0\xf7" } , { "\xd0\xe4" , "\xad\xf7\xc9\xe8" } , { "\xd0\xe5" , "\xad\xf7\xc9\xe0" } , { "\xd0\xe8\xd1\xdd" , "\xad\xc3\xf7\xb1\xc9\xd6" } , { "\xd1" , "\xb1\xc9" } , { "\xd1\xa1" , "\xb1\xc9\xc6" } , { "\xd1\xa1\xa2" , "\xb1\xc9\xc6\xc5" } , { "\xd1\xa2" , "\xb1\xc9\xc5" } , { "\xd1\xa2\xa2" , "\xb1\xc9\xc5\xc5" } , { "\xd1\xa3" , "\xb1\xc9\x26" } , { "\xd1\xd9" , "\xb1\xc9" } , { "\xd1\xda" , "\xb1\xc9\xc9" } , { "\xd1\xda\xa1" , "\xb1\xc9\xc9\xc6" } , { "\xd1\xda\xa2" , "\xb1\xc9\xc9\xc5" } , { "\xd1\xda\xa3" , "\xb1\xc9\xc9\x26" } , { "\xd1\xdb" , "\xca\xb1\xc9" } , { "\xd1\xdb\xa1" , "\xcb\xb1\xc9" } , { "\xd1\xdb\xa2" , "\xcb\xb1\xc9" } , { "\xd1\xdb\xa3" , "\xca\xb1\xc9\x26" } , { "\xd1\xdb\xce\xe1" , "\xca\xb1\xc9\xab\xc9\xe0" } , { "\xd1\xdc" , "\xb1\xc9\xd2" } , { "\xd1\xdc\xa2" , "\xb1\xc9\xd3" } , { "\xd1\xdd" , "\xb1\xc9\xd6" } , { "\xd1\xdd\xa2" , "\xb1\xc9\xd6\xc5" } , { "\xd1\xdd\xa3" , "\xb1\xc9\xd6\x26" } , { "\xd1\xde" , "\xb1\xc9\xda" } , { "\xd1\xde\xa1" , "\xb1\xc9\xda\xc6" } , { "\xd1\xde\xa2" , "\xb1\xc9\xda\xc5" } , { "\xd1\xdf" , "\xb1\xc9\xde" } , { "\xd1\xe0" , "\xb1\xc9\xe8" } , { "\xd1\xe0\xa2" , "\xb1\xc9\xe9" } , { "\xd1\xe1" , "\xb1\xc9\xe0" } , { "\xd1\xe1\xa2" , "\xb1\xc9\xe1" } , { "\xd1\xe2" , "\xb1\xc9\xe4" } , { "\xd1\xe2\xa2" , "\xb1\xc9\xe5" } , { "\xd1\xe2\xa3" , "\xb1\xc9\xe4\x26" } , { "\xd1\xe4" , "\xb1\xc9\xc9\xe8" } , { "\xd1\xe4\xa2" , "\xb1\xc9\xc9\xe9" } , { "\xd1\xe5" , "\xb1\xc9\xc9\xe0" } , { "\xd1\xe5\xa2" , "\xb1\xc9\xc9\xe1" } , { "\xd1\xe6" , "\xb1\xc9\xc9\xe4" } , { "\xd1\xe6\xa2" , "\xb1\xc9\xc9\xe5" } , { "\xd1\xe7" , "\xb1\xc9\xc9\xe8" } , { "\xd1\xe7\xa2" , "\xb1\xc9\xc9\xe9" } , { "\xd1\xe8" , "\xb1\xc9\xc3" } , { "\xd1\xe8\xb3" , "\xb1\x48\xed" } , { "\xd1\xe8\xb3\xa2" , "\xb1\x48\xc5\xed" } , { "\xd1\xe8\xb3\xda" , "\xb1\x48\xed\xc9" } , { "\xd1\xe8\xb3\xda\xa2" , "\xb1\x48\xed\xc9\xc5" } , { "\xd1\xe8\xb3\xdb" , "\xce\xb1\x48\xed" } , { "\xd1\xe8\xb3\xdb\xa2" , "\xcf\xb1\x48\xed" } , { "\xd1\xe8\xb3\xdc" , "\xb1\x48\xed\xd2" } , { "\xd1\xe8\xb3\xdd" , "\xb1\x48\xd6\xed" } , { "\xd1\xe8\xb3\xdd\xa2" , "\xb1\x48\xd6\xc5\xed" } , { "\xd1\xe8\xb3\xde" , "\xb1\x48\xda\xed" } , { "\xd1\xe8\xb3\xe0" , "\xb1\x48\xe8\xed" } , { "\xd1\xe8\xb3\xe1" , "\xb1\x48\xe0\xed" } , { "\xd1\xe8\xb3\xe2" , "\xb1\x48\xe4\xed" } , { "\xd1\xe8\xb3\xe4" , "\xb1\x48\xed\xc9\xe8" } , { "\xd1\xe8\xb3\xe4\xa2" , "\xb1\x48\xed\xc9\xe9" } , { "\xd1\xe8\xb3\xe5" , "\xb1\x48\xed\xc9\xe0" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xb1\x48\xed\xc9\xe1" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xb1\x48\xed\xc9\xe5" } , { "\xd1\xe8\xb3\xe7" , "\xb1\x48\xed\xc9\xe8" } , { "\xd1\xe8\xb3\xe8" , "\xb1\x48\xc3\xed" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\xb1\x47\x53\xc9\xc9\xe8" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\xb1\x47\x60\xc4\xf2\xc9" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\xb1\x47\x71\xf6\xc9" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\xb1\x47\x76\xd6" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\xb1\x47\x7b\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xcd" , "\xb1\x47\xab\xc9" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\xb1\x47\xab\xc9\xc9" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\xb1\x47\xab\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\xb1\x47\xab\xc9\xda" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\xce\xb1\x4a\xed" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\xcf\xb1\x4a\xed" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\xb1\x4a\xed\xd2" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\xb1\x4a\xe8\xed" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\xb1\x4a\xe4\xed" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xb1\x4a\xed\xc9\xe0" } , { "\xd1\xe8\xb3\xe8\xd1" , "\xb1\x47\xb1\xc9" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\xb1\x47\xb1\xc9\xc9" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xb1\x47\xb1\xc9\xe4" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xb1\x47\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\xb1\x4b\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\xb1\x47\xbb\xc9\xc3" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xb1\x47\xbb\x7b\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xd8" , "\xb1\x47\xbe\xfa" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\xb1\x47\xbe\xfa\xc9" } , { "\xd1\xe8\xb4" , "\xb1\x4c\xc9" } , { "\xd1\xe8\xb4\xa2" , "\xb1\x4c\xc9\xc5" } , { "\xd1\xe8\xb4\xda" , "\xb1\x4c\xc9\xc9" } , { "\xd1\xe8\xb4\xdb" , "\xce\xb1\x4c\xc9" } , { "\xd1\xe8\xb4\xdc" , "\xb1\x4c\xc9\xd2" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\xb1\x4c\xa8\xc9" } , { "\xd1\xe8\xb5" , "\xb1\x4e\xc9" } , { "\xd1\xe8\xb5\xa2" , "\xb1\x4e\xc9\xc5" } , { "\xd1\xe8\xb5\xda" , "\xb1\x4e\xc9\xc9" } , { "\xd1\xe8\xb5\xda\xa2" , "\xb1\x4e\xc9\xc9\xc5" } , { "\xd1\xe8\xb5\xdb" , "\xce\xb1\x4e\xc9" } , { "\xd1\xe8\xb5\xdb\xa2" , "\xcf\xb1\x4e\xc9" } , { "\xd1\xe8\xb5\xdc" , "\xb1\x4e\xc9\xd2" } , { "\xd1\xe8\xb5\xdd" , "\xb1\x4e\xc9\xd6" } , { "\xd1\xe8\xb5\xdd\xa2" , "\xb1\x4e\xc9\xd6\xc5" } , { "\xd1\xe8\xb5\xde" , "\xb1\x4e\xc9\xda" } , { "\xd1\xe8\xb5\xe0" , "\xb1\x4e\xc9\xe8" } , { "\xd1\xe8\xb5\xe1" , "\xb1\x4e\xc9\xe0" } , { "\xd1\xe8\xb5\xe2" , "\xb1\x4e\xc9\xe4" } , { "\xd1\xe8\xb5\xe4" , "\xb1\x4e\xc9\xc9\xe8" } , { "\xd1\xe8\xb5\xe4\xa2" , "\xb1\x4e\xc9\xc9\xe9" } , { "\xd1\xe8\xb5\xe5" , "\xb1\x4e\xc9\xc9\xe0" } , { "\xd1\xe8\xb5\xe6" , "\xb1\x4e\xc9\xc9\xe4" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\xb1\x4f\xc9\xc5" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\xb1\x4f\xc9\xc9" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\xb1\x4f\xc9\xc9\xc5" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\xce\xb1\x4f\xc9" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\xb1\x4f\xc9\xda" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\xb1\x4e\xb1\xc9\xc9" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\xb1\x4e\xb1\xc9\xc9\xc5" } , { "\xd1\xe8\xb6" , "\xb1\x50\xc9" } , { "\xd1\xe8\xb8" , "\xb1\x53\xc9" } , { "\xd1\xe8\xb8\xa2" , "\xb1\x53\xc9\xc5" } , { "\xd1\xe8\xb8\xda" , "\xb1\x53\xc9\xc9" } , { "\xd1\xe8\xb8\xdb" , "\xce\xb1\x53\xc9" } , { "\xd1\xe8\xb8\xdb\xa2" , "\xcf\xb1\x53\xc9" } , { "\xd1\xe8\xb8\xdc" , "\xb1\x53\xc9\xd2" } , { "\xd1\xe8\xb8\xdd" , "\xb1\x53\xc9\xd6" } , { "\xd1\xe8\xb8\xdd\xa2" , "\xb1\x53\xc9\xd6\xc5" } , { "\xd1\xe8\xb8\xde" , "\xb1\x53\xc9\xda" } , { "\xd1\xe8\xb8\xe0" , "\xb1\x53\xc9\xe8" } , { "\xd1\xe8\xb8\xe1" , "\xb1\x53\xc9\xe0" } , { "\xd1\xe8\xb8\xe4" , "\xb1\x53\xc9\xc9\xe8" } , { "\xd1\xe8\xb8\xe4\xa2" , "\xb1\x53\xc9\xc9\xe9" } , { "\xd1\xe8\xb8\xe5" , "\xb1\x53\xc9\xc9\xe0" } , { "\xd1\xe8\xb8\xe6" , "\xb1\x53\xc9\xc9\xe4" } , { "\xd1\xe8\xb9\xdd" , "\xb1\x55\xd6\xef" } , { "\xd1\xe8\xba" , "\xb1\x57\xf0" } , { "\xd1\xe8\xba\xda" , "\xb1\x58" } , { "\xd1\xe8\xba\xdb" , "\xce\xb1\x57\xf0" } , { "\xd1\xe8\xba\xdc" , "\xb1\x59\xf0" } , { "\xd1\xe8\xba\xdd" , "\xb1\x57\xd6\xf0" } , { "\xd1\xe8\xba\xde" , "\xb1\x57\xda\xf0" } , { "\xd1\xe8\xba\xe0" , "\xb1\x57\xf0\xe8" } , { "\xd1\xe8\xba\xe1" , "\xb1\x57\xf0\xe0" } , { "\xd1\xe8\xba\xe8" , "\xb1\x57\xc3\xf0" } , { "\xd1\xe8\xba\xe9" , "\xb1\x57\xf0" } , { "\xd1\xe8\xba\xe9\xda" , "\xb1\x58" } , { "\xd1\xe8\xbb\xda" , "\xb1\x5d\xf1\xc9" } , { "\xd1\xe8\xbb\xdc" , "\xb1\x5d\xf1\xd2" } , { "\xd1\xe8\xbd" , "\xb1\x60\xf2" } , { "\xd1\xe8\xbd\xa2" , "\xb1\x60\xc5\xf2" } , { "\xd1\xe8\xbd\xda" , "\xb1\x60\xf2\xc9" } , { "\xd1\xe8\xbd\xdb" , "\xce\xb1\x60\xf2" } , { "\xd1\xe8\xbd\xdb\xa2" , "\xcf\xb1\x60\xf2" } , { "\xd1\xe8\xbd\xdc" , "\xb1\x60\xf2\xd2" } , { "\xd1\xe8\xbd\xdd" , "\xb1\x60\xd6\xf2" } , { "\xd1\xe8\xbd\xdd\xa2" , "\xb1\x60\xd6\xc5\xf2" } , { "\xd1\xe8\xbd\xde" , "\xb1\x60\xda\xf2" } , { "\xd1\xe8\xbd\xe0" , "\xb1\x60\xe8\xf2" } , { "\xd1\xe8\xbd\xe0\xa2" , "\xb1\x60\xe9\xf2" } , { "\xd1\xe8\xbd\xe1" , "\xb1\x60\xe0\xf2" } , { "\xd1\xe8\xbd\xe2" , "\xb1\x60\xe4\xf2" } , { "\xd1\xe8\xbd\xe4" , "\xb1\x60\xf2\xc9\xe8" } , { "\xd1\xe8\xbd\xe5" , "\xb1\x60\xf2\xc9\xe0" } , { "\xd1\xe8\xbd\xe5\xa2" , "\xb1\x60\xf2\xc9\xe1" } , { "\xd1\xe8\xbd\xe8" , "\xb1\x60\xc3\xf2" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\xb1\x60\xc3\xf2\x4e\xc9\xc9" } , { "\xd1\xe8\xbd\xe8\xba" , "\xb1\x60\xc3\xf2\x57\xf0" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\xb1\x60\xc3\xf2\x57\xc3\xf0" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\xb1\x60\xc3\xf2\x56\xa9\xc9" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\xb1\x60\xc3\xf2\x7b\xc9\xd6" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\xb1\x60\xc3\xf2\x7e\xc9\xd2" } , { "\xd1\xe8\xbd\xe8\xcc" , "\xb1\x60\xc3\xf2\xa9\xc9" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\xb1\x60\xc3\xf2\xa9\xc9\xd2" } , { "\xd1\xe8\xbd\xe8\xcf" , "\xb1\x60\xc4\xf2" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\xb1\x60\xc4\xf2\xc9" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\xce\xb1\x60\xc4\xf2" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\xb1\x60\xc4\xf2\xd2" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\xb1\x60\xc4\xe0\xf2" } , { "\xd1\xe8\xbd\xe8\xd1" , "\xb1\x60\xc3\xf2\xb1\xc9" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\xb1\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\xb1\x60\xc3\xf2\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\xb1\x60\xc3\xf2\xb4\xc9\xc5" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\xb1\x60\xc3\xf2\xb4\xc9\xe4" } , { "\xd1\xe8\xbd\xe8\xd7" , "\xb1\x60\xc3\xf2\xbb\xc9" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\xb1\x60\xc3\xf2\xbb\xc9\xd6" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\xb1\x60\xc3\xf2\xbb\xc9\xc3" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\xb1\x60\xc3\xf2\xbb\x7e\xc9\xc9" } , { "\xd1\xe8\xbf" , "\xb1\x65\xf4" } , { "\xd1\xe8\xbf\xa2" , "\xb1\x65\xc5\xf4" } , { "\xd1\xe8\xbf\xda" , "\xb1\x65\xf4\xc9" } , { "\xd1\xe8\xbf\xdb" , "\xce\xb1\x65\xf4" } , { "\xd1\xe8\xbf\xdb\xa2" , "\xcf\xb1\x65\xf4" } , { "\xd1\xe8\xbf\xdc" , "\xb1\x65\xf4\xd2" } , { "\xd1\xe8\xbf\xdd" , "\xb1\x65\xd6\xf4" } , { "\xd1\xe8\xbf\xde" , "\xb1\x65\xda\xf4" } , { "\xd1\xe8\xbf\xe0" , "\xb1\x65\xe8\xf4" } , { "\xd1\xe8\xbf\xe0\xa2" , "\xb1\x65\xe9\xf4" } , { "\xd1\xe8\xbf\xe1" , "\xb1\x65\xe0\xf4" } , { "\xd1\xe8\xbf\xe4" , "\xb1\x65\xf4\xc9\xe8" } , { "\xd1\xe8\xbf\xe5" , "\xb1\x65\xf4\xc9\xe0" } , { "\xd1\xe8\xbf\xe7" , "\xb1\x65\xf4\xc9\xe8" } , { "\xd1\xe8\xbf\xe8" , "\xb1\x65\xc3\xf4" } , { "\xd1\xe8\xbf\xe8\xb3" , "\xb1\x65\xc3\xf4\x48\xed" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\xb1\x65\xc3\xf4\x48\xd6\xed" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\xb1\x65\xc3\xf4\x4a\xed\xd2" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\xb1\x65\xc3\xf4\x4e\xc9\xc9" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\xb1\x65\xc3\xf4\x4e\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\xb1\x65\xc3\xf4\x4e\xc9\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\xb1\x65\xc3\xf4\x60\xe4\xf2" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\xb1\x65\xc3\xf4\x65\xf4\xc9\xe4" } , { "\xd1\xe8\xbf\xe8\xc2" , "\xb1\x65\xc3\xf4\x6c\xc9" } , { "\xd1\xe8\xbf\xe8\xc8" , "\xb1\x65\xc3\xf4\x7e\xc9" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\xcf\xb1\x65\xc3\xf4\xa3\xed" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\xb1\x65\xc3\xf4\xa3\xed\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\xb1\x65\xc3\xf4\xa6\xc9\xe8" } , { "\xd1\xe8\xbf\xe8\xcc" , "\xb1\x65\xc3\xf4\xa9\xc9" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\xb1\x65\xc3\xf4\xa9\xc9\xc9" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\xb1\x65\xc3\xf4\xa9\xc9\xe8" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\xb1\x65\xc3\xf4\xa9\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\xb1\x65\xf4\xac\xda" } , { "\xd1\xe8\xbf\xe8\xcf" , "\xb1\x65\xc4\xf4" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\xce\xb1\x65\xc4\xf4" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\xcf\xb1\x65\xc4\xf4" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\xb1\x65\xc4\xf4\xd2" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\xb1\x65\xc4\xe8\xf4" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\xb1\x65\xc4\xe0\xf4" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\xb1\x65\xc4\xe4\xf4" } , { "\xd1\xe8\xbf\xe8\xd1" , "\xb1\x65\xc3\xf4\xb1\xc9" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\xb1\x65\xc3\xf4\xb1\xc9\xd6" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\xb1\x65\xc3\xf4\xb1\xc9\xda" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\xb1\x65\xc3\xf4\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\xce\xb1\x65\xc3\xf4\xb4\xc9" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\xb1\x65\xc3\xf4\xb4\xc9\xe8" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\xb1\x65\xc3\xf4\xb4\xb1\xc9\xc3" } , { "\xd1\xe8\xbf\xe8\xd7" , "\xb1\x65\xc3\xf4\xbb\xc9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\xb1\x65\xc3\xf4\xbb\xc9\xc3" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\xb1\x65\xc3\xf4\xbb\x60\xf2\xd2" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\xb1\x65\xc3\xf4\xbb\x60\xe4\xf2" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\xb1\x65\xc3\xf4\xbb\x7e\xc9\xc9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\xb1\x65\xc3\xf4\xbb\xa3\xed\xc9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\xce\xb1\x65\xc3\xf4\xbb\xa9\xc9" } , { "\xd1\xe8\xbf\xe9" , "\xb1\x65\xf4" } , { "\xd1\xe8\xc0\xda" , "\xb1\x68\xf5\xc9" } , { "\xd1\xe8\xc1" , "\xb1\x69\xc9" } , { "\xd1\xe8\xc2" , "\xb1\x6c\xc9" } , { "\xd1\xe8\xc2\xda" , "\xb1\x6c\xc9\xc9" } , { "\xd1\xe8\xc2\xda\xa2" , "\xb1\x6c\xc9\xc9\xc5" } , { "\xd1\xe8\xc2\xdb" , "\xce\xb1\x6c\xc9" } , { "\xd1\xe8\xc2\xdb\xa2" , "\xcf\xb1\x6c\xc9" } , { "\xd1\xe8\xc2\xdc" , "\xb1\x6c\xc9\xd2" } , { "\xd1\xe8\xc2\xdd" , "\xb1\x6c\xc9\xd6" } , { "\xd1\xe8\xc2\xdd\xa2" , "\xb1\x6c\xc9\xd6\xc5" } , { "\xd1\xe8\xc2\xde" , "\xb1\x6c\xc9\xda" } , { "\xd1\xe8\xc2\xe0" , "\xb1\x6c\xc9\xe8" } , { "\xd1\xe8\xc2\xe1" , "\xb1\x6c\xc9\xe0" } , { "\xd1\xe8\xc2\xe4" , "\xb1\x6c\xc9\xc9\xe8" } , { "\xd1\xe8\xc2\xe5" , "\xb1\x6c\xc9\xc9\xe0" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xb1\x6c\xc9\xc9\xe1" } , { "\xd1\xe8\xc2\xe8" , "\xb1\x6c\xc9\xc3" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\xb1\x6c\x47\xb1\xc9" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\xb1\x6c\xa5\xb1\xc9\xc9" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\xb1\x6c\xa9\xc9\xc5" } , { "\xd1\xe8\xc3" , "\xb1\x6f\xc9" } , { "\xd1\xe8\xc3\xda" , "\xb1\x6f\xc9\xc9" } , { "\xd1\xe8\xc3\xdc" , "\xb1\x6f\xc9\xd2" } , { "\xd1\xe8\xc3\xdd" , "\xb1\x6f\xc9\xd6" } , { "\xd1\xe8\xc3\xde" , "\xb1\x6f\xc9\xda" } , { "\xd1\xe8\xc4" , "\xb1\x71\xf6" } , { "\xd1\xe8\xc4\xa2" , "\xb1\x71\xc5\xf6" } , { "\xd1\xe8\xc4\xda" , "\xb1\x71\xf6\xc9" } , { "\xd1\xe8\xc4\xda\xa2" , "\xb1\x71\xf6\xc9\xc5" } , { "\xd1\xe8\xc4\xdb" , "\xce\xb1\x71\xf6" } , { "\xd1\xe8\xc4\xdc" , "\xb1\x71\xf6\xd2" } , { "\xd1\xe8\xc4\xdd" , "\xb1\x71\xd6\xf6" } , { "\xd1\xe8\xc4\xe1" , "\xb1\x71\xe0\xf6" } , { "\xd1\xe8\xc4\xe1\xa2" , "\xb1\x71\xe1\xf6" } , { "\xd1\xe8\xc4\xe4" , "\xb1\x71\xf6\xc9\xe8" } , { "\xd1\xe8\xc4\xe5" , "\xb1\x71\xf6\xc9\xe0" } , { "\xd1\xe8\xc4\xe5\xa2" , "\xb1\x71\xf6\xc9\xe1" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\xb1\x72\xe0\xf6" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\xb1\x77\xf6\xc9" } , { "\xd1\xe8\xc5" , "\xb1\x79\xc9" } , { "\xd1\xe8\xc5\xda" , "\xb1\x79\xc9\xc9" } , { "\xd1\xe8\xc5\xdb" , "\xce\xb1\x79\xc9" } , { "\xd1\xe8\xc6" , "\xb1\x7b\xc9" } , { "\xd1\xe8\xc6\xa2" , "\xb1\x7b\xc9\xc5" } , { "\xd1\xe8\xc6\xda" , "\xb1\x7b\xc9\xc9" } , { "\xd1\xe8\xc6\xdb" , "\xce\xb1\x7b\xc9" } , { "\xd1\xe8\xc6\xdb\xa2" , "\xcf\xb1\x7b\xc9" } , { "\xd1\xe8\xc6\xdc" , "\xb1\x7b\xc9\xd2" } , { "\xd1\xe8\xc6\xdd" , "\xb1\x7b\xc9\xd6" } , { "\xd1\xe8\xc6\xdd\xa2" , "\xb1\x7b\xc9\xd6\xc5" } , { "\xd1\xe8\xc6\xde" , "\xb1\x7b\xc9\xda" } , { "\xd1\xe8\xc6\xe0" , "\xb1\x7b\xc9\xe8" } , { "\xd1\xe8\xc6\xe0\xa2" , "\xb1\x7b\xc9\xe9" } , { "\xd1\xe8\xc6\xe1" , "\xb1\x7b\xc9\xe0" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xb1\x7b\xc9\xe1" } , { "\xd1\xe8\xc6\xe2" , "\xb1\x7b\xc9\xe4" } , { "\xd1\xe8\xc6\xe5" , "\xb1\x7b\xc9\xc9\xe0" } , { "\xd1\xe8\xc6\xe8" , "\xb1\x7b\xc9\xc3" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\xb1\x7b\x48\xd6\xed" } , { "\xd1\xe8\xc8" , "\xb1\x7e\xc9" } , { "\xd1\xe8\xc8\xa2" , "\xb1\x7e\xc9\xc5" } , { "\xd1\xe8\xc8\xda" , "\xb1\x7e\xc9\xc9" } , { "\xd1\xe8\xc8\xda\xa2" , "\xb1\x7e\xc9\xc9\xc5" } , { "\xd1\xe8\xc8\xda\xa3" , "\xb1\x7e\xc9\xc9\x26" } , { "\xd1\xe8\xc8\xdb" , "\xce\xb1\x7e\xc9" } , { "\xd1\xe8\xc8\xdb\xa2" , "\xcf\xb1\x7e\xc9" } , { "\xd1\xe8\xc8\xdc" , "\xb1\x7e\xc9\xd2" } , { "\xd1\xe8\xc8\xdc\xa2" , "\xb1\x7e\xc9\xd3" } , { "\xd1\xe8\xc8\xdd" , "\xb1\x7e\xc9\xd6" } , { "\xd1\xe8\xc8\xdd\xa2" , "\xb1\x7e\xc9\xd6\xc5" } , { "\xd1\xe8\xc8\xde" , "\xb1\x7e\xc9\xda" } , { "\xd1\xe8\xc8\xe0" , "\xb1\x7e\xc9\xe8" } , { "\xd1\xe8\xc8\xe0\xa2" , "\xb1\x7e\xc9\xe9" } , { "\xd1\xe8\xc8\xe1" , "\xb1\x7e\xc9\xe0" } , { "\xd1\xe8\xc8\xe1\xa2" , "\xb1\x7e\xc9\xe1" } , { "\xd1\xe8\xc8\xe2" , "\xb1\x7e\xc9\xe4" } , { "\xd1\xe8\xc8\xe4" , "\xb1\x7e\xc9\xc9\xe8" } , { "\xd1\xe8\xc8\xe5" , "\xb1\x7e\xc9\xc9\xe0" } , { "\xd1\xe8\xc8\xe5\xa2" , "\xb1\x7e\xc9\xc9\xe1" } , { "\xd1\xe8\xc8\xe8" , "\xb1\x7e\xc9\xc3" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\xb1\x7e\x4e\xc9\xc9\xe0" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\xb1\x7e\xab\xc9\xda" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\xb1\xa1\xc9\xc9" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\xce\xb1\xa1\xc9" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\xb1\xa1\xc9\xe8" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\xb1\xa1\xc9\xe4" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\xb1\xa1\xc9\xc9\xe8" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\xb1\x7e\xb1\xc9\xc9" } , { "\xd1\xe8\xc8\xe8\xd7" , "\xb1\x7e\xbb\xc9" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\xb1\x7e\xbb\xc9\xc3" } , { "\xd1\xe8\xc9" , "\xb1\xa3\xed" } , { "\xd1\xe8\xc9\xa2" , "\xb1\xa3\xc5\xed" } , { "\xd1\xe8\xc9\xda" , "\xb1\xa3\xed\xc9" } , { "\xd1\xe8\xc9\xdb" , "\xce\xb1\xa3\xed" } , { "\xd1\xe8\xc9\xdb\xa2" , "\xcf\xb1\xa3\xed" } , { "\xd1\xe8\xc9\xdc" , "\xb1\xa3\xed\xd2" } , { "\xd1\xe8\xc9\xdd" , "\xb1\xa3\xd9\xed" } , { "\xd1\xe8\xc9\xde" , "\xb1\xa3\xdd\xed" } , { "\xd1\xe8\xc9\xe0" , "\xb1\xa3\xe8\xed" } , { "\xd1\xe8\xc9\xe1" , "\xb1\xa3\xe0\xed" } , { "\xd1\xe8\xc9\xe1\xa2" , "\xb1\xa3\xe1\xed" } , { "\xd1\xe8\xc9\xe2" , "\xb1\xa3\xe4\xed" } , { "\xd1\xe8\xc9\xe4" , "\xb1\xa3\xed\xc9\xe8" } , { "\xd1\xe8\xc9\xe5" , "\xb1\xa3\xed\xc9\xe0" } , { "\xd1\xe8\xc9\xe5\xa2" , "\xb1\xa3\xed\xc9\xe1" } , { "\xd1\xe8\xc9\xe7" , "\xb1\xa3\xed\xc9\xe8" } , { "\xd1\xe8\xc9\xe8" , "\xb1\xa3\xc3\xed" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\xb1\xa2\x60\xc3\xf2" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\xb1\xa2\xa9\xc9\xc9" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\xb1\xa2\xab\xc9\xd6" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\xb1\xa2\xab\xc9\xda" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\xb1\xa4\xc5\xed" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\xb1\xa4\xe8\xed" } , { "\xd1\xe8\xc9\xe8\xd1" , "\xb1\xa2\xb1\xc9" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\xb1\xa2\xb1\xc9\xe4" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\xb1\xa2\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\xb1\xa2\xb4\xc9\xd2" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\xb1\xa2\xbb\xc9\xc3" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\xce\xb1\xa2\xbe\xfa" } , { "\xd1\xe8\xca" , "\xb1\xa5\xc9" } , { "\xd1\xe8\xca\xa2" , "\xb1\xa5\xc9\xc5" } , { "\xd1\xe8\xca\xda" , "\xb1\xa5\xc9\xc9" } , { "\xd1\xe8\xca\xda\xa2" , "\xb1\xa5\xc9\xc9\xc5" } , { "\xd1\xe8\xca\xdb" , "\xce\xb1\xa5\xc9" } , { "\xd1\xe8\xca\xdc" , "\xb1\xa5\xc9\xd2" } , { "\xd1\xe8\xca\xdd" , "\xb1\xa5\xc9\xd6" } , { "\xd1\xe8\xca\xdf" , "\xb1\xa5\xc9\xde" } , { "\xd1\xe8\xca\xe0" , "\xb1\xa5\xc9\xe8" } , { "\xd1\xe8\xca\xe1" , "\xb1\xa5\xc9\xe0" } , { "\xd1\xe8\xca\xe2" , "\xb1\xa5\xc9\xe4" } , { "\xd1\xe8\xca\xe5" , "\xb1\xa5\xc9\xc9\xe0" } , { "\xd1\xe8\xca\xe5\xa2" , "\xb1\xa5\xc9\xc9\xe1" } , { "\xd1\xe8\xca\xe8" , "\xb1\xa5\xc9\xc3" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\xb1\xa5\x48\xd6\xed" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\xb1\xa5\x7b\xc9\xd6" } , { "\xd1\xe8\xca\xe8\xcd" , "\xb1\xa5\xab\xc9" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\xb1\xa5\xab\xc9\xc9" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\xb1\xa5\xab\xc9\xd6" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\xb1\xa5\xab\xc9\xda" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\xb1\xa6\xc9\xda" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\xb1\xa6\xc9\xe8" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xb1\xa6\xc9\xe0" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xb1\xa6\xc9\xc9\xe0" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xb1\xa5\xd0\x60\xc3\xf2\xbb\x48\xed" } , { "\xd1\xe8\xca\xe8\xd1" , "\xb1\xa5\xb1\xc9" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\xb1\xa5\xb1\xc9\xda" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xb1\xa5\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\xb1\xa5\xb4\xc9\xc5" } , { "\xd1\xe8\xcb" , "\xb1\xa7\xc9" } , { "\xd1\xe8\xcb\xa2" , "\xb1\xa7\xc9\xc5" } , { "\xd1\xe8\xcb\xda" , "\xb1\xa7\xc9\xc9" } , { "\xd1\xe8\xcb\xdb\xa2" , "\xcf\xb1\xa7\xc9" } , { "\xd1\xe8\xcb\xdd" , "\xb1\xa7\xc9\xd6" } , { "\xd1\xe8\xcb\xde" , "\xb1\xa7\xc9\xda" } , { "\xd1\xe8\xcb\xe2" , "\xb1\xa7\xc9\xe4" } , { "\xd1\xe8\xcb\xe8\xcd" , "\xb1\xa7\xab\xc9" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\xb1\xa7\xab\xc9\xc5" } , { "\xd1\xe8\xcc" , "\xb1\xa9\xc9" } , { "\xd1\xe8\xcc\xa2" , "\xb1\xa9\xc9\xc5" } , { "\xd1\xe8\xcc\xda" , "\xb1\xa9\xc9\xc9" } , { "\xd1\xe8\xcc\xda\xa2" , "\xb1\xa9\xc9\xc9\xc5" } , { "\xd1\xe8\xcc\xdb" , "\xce\xb1\xa9\xc9" } , { "\xd1\xe8\xcc\xdb\xa2" , "\xcf\xb1\xa9\xc9" } , { "\xd1\xe8\xcc\xdc" , "\xb1\xa9\xc9\xd2" } , { "\xd1\xe8\xcc\xdd" , "\xb1\xa9\xc9\xd6" } , { "\xd1\xe8\xcc\xde" , "\xb1\xa9\xc9\xda" } , { "\xd1\xe8\xcc\xdf" , "\xb1\xa9\xc9\xde" } , { "\xd1\xe8\xcc\xe0" , "\xb1\xa9\xc9\xe8" } , { "\xd1\xe8\xcc\xe0\xa2" , "\xb1\xa9\xc9\xe9" } , { "\xd1\xe8\xcc\xe1" , "\xb1\xa9\xc9\xe0" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xb1\xa9\xc9\xe1" } , { "\xd1\xe8\xcc\xe4" , "\xb1\xa9\xc9\xc9\xe8" } , { "\xd1\xe8\xcc\xe5" , "\xb1\xa9\xc9\xc9\xe0" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xb1\xa9\xc9\xc9\xe1" } , { "\xd1\xe8\xcc\xe7" , "\xb1\xa9\xc9\xc9\xe8" } , { "\xd1\xe8\xcc\xe8" , "\xb1\xa9\xc9\xc3" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\xb1\xa9\x48\xed\xc9\xe0" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\xb1\xa9\x4e\xc9\xc9" } , { "\xd1\xe8\xcc\xe8\xba" , "\xb1\xa9\x57\xf0" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\xb1\xa9\x65\xe4\xf4" } , { "\xd1\xe8\xcc\xe8\xc6" , "\xb1\xa9\x7b\xc9" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\xb1\xa9\x7b\xc9\xd6" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\xb1\xa9\xa9\xc9\xd2" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\xb1\xa9\xab\xc9\xc9" } , { "\xd1\xe8\xcc\xe8\xd1" , "\xb1\xa9\xb1\xc9" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\xb1\xa9\xb1\xc9\xd6" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xb1\xa9\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\xb1\xa9\xb4\xc9\xc5" } , { "\xd1\xe8\xcc\xe8\xd7" , "\xb1\xa9\xbb\xc9" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\xb1\xa9\xbb\xa3\xed" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\xb1\xa9\xbe\xfa\xc9\xe0" } , { "\xd1\xe8\xcd" , "\xb1\xab\xc9" } , { "\xd1\xe8\xcd\xa2" , "\xb1\xab\xc9\xc5" } , { "\xd1\xe8\xcd\xda" , "\xb1\xab\xc9\xc9" } , { "\xd1\xe8\xcd\xda\xa2" , "\xb1\xab\xc9\xc9\xc5" } , { "\xd1\xe8\xcd\xdc" , "\xb1\xab\xc9\xd2" } , { "\xd1\xe8\xcd\xdd" , "\xb1\xab\xc9\xd6" } , { "\xd1\xe8\xcd\xde" , "\xb1\xab\xc9\xda" } , { "\xd1\xe8\xcd\xde\xa2" , "\xb1\xab\xc9\xda\xc5" } , { "\xd1\xe8\xcd\xe0" , "\xb1\xab\xc9\xe8" } , { "\xd1\xe8\xcd\xe0\xa2" , "\xb1\xab\xc9\xe9" } , { "\xd1\xe8\xcd\xe1" , "\xb1\xab\xc9\xe0" } , { "\xd1\xe8\xcd\xe4" , "\xb1\xab\xc9\xc9\xe8" } , { "\xd1\xe8\xcd\xe5" , "\xb1\xab\xc9\xc9\xe0" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xb1\xab\xc9\xc9\xe1" } , { "\xd1\xe8\xcd\xe6" , "\xb1\xab\xc9\xc9\xe4" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xb1\xab\xc9\xc9\xe5" } , { "\xd1\xe8\xcd\xe7" , "\xb1\xab\xc9\xc9\xe8" } , { "\xd1\xe8\xcd\xe8" , "\xb1\xab\xc9\xc3" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\xb1\xab\xab\xc9\xc5" } , { "\xd1\xe8\xcf" , "\xb1\xc9\xc4" } , { "\xd1\xe8\xcf\xa2" , "\xb1\xc9\xc4\xc5" } , { "\xd1\xe8\xcf\xda" , "\xb1\xc9\xc4\xc9" } , { "\xd1\xe8\xcf\xda\xa2" , "\xb1\xc9\xc4\xc9\xc5" } , { "\xd1\xe8\xcf\xdb" , "\xca\xb1\xc9\xc4" } , { "\xd1\xe8\xcf\xdb\xa2" , "\xcb\xb1\xc9\xc4" } , { "\xd1\xe8\xcf\xdd" , "\xb1\xc9\xd7" } , { "\xd1\xe8\xcf\xde" , "\xb1\xc9\xdb" } , { "\xd1\xe8\xcf\xe0" , "\xb1\xc9\xc4\xe8" } , { "\xd1\xe8\xcf\xe1" , "\xb1\xc9\xc4\xe0" } , { "\xd1\xe8\xcf\xe2" , "\xb1\xc9\xc4\xe4" } , { "\xd1\xe8\xcf\xe5" , "\xb1\xc9\xc4\xc9\xe0" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xb1\xc9\xc4\xc9\xe5" } , { "\xd1\xe8\xcf\xe8\xbf" , "\xb1\xad\xc3\xf7\x65\xf4" } , { "\xd1\xe8\xcf\xe8\xd7" , "\xb1\xad\xc3\xf7\xbb\xc9" } , { "\xd1\xe8\xd1" , "\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xa2" , "\xb1\xb1\xc9\xc5" } , { "\xd1\xe8\xd1\xda" , "\xb1\xb1\xc9\xc9" } , { "\xd1\xe8\xd1\xda\xa2" , "\xb1\xb1\xc9\xc9\xc5" } , { "\xd1\xe8\xd1\xdb" , "\xce\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xcf\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xdc" , "\xb1\xb1\xc9\xd2" } , { "\xd1\xe8\xd1\xdd" , "\xb1\xb1\xc9\xd6" } , { "\xd1\xe8\xd1\xdd\xa2" , "\xb1\xb1\xc9\xd6\xc5" } , { "\xd1\xe8\xd1\xde" , "\xb1\xb1\xc9\xda" } , { "\xd1\xe8\xd1\xde\xa1" , "\xb1\xb1\xc9\xda\xc6" } , { "\xd1\xe8\xd1\xe0" , "\xb1\xb1\xc9\xe8" } , { "\xd1\xe8\xd1\xe0\xa2" , "\xb1\xb1\xc9\xe9" } , { "\xd1\xe8\xd1\xe1" , "\xb1\xb1\xc9\xe0" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xb1\xb1\xc9\xe1" } , { "\xd1\xe8\xd1\xe2" , "\xb1\xb1\xc9\xe4" } , { "\xd1\xe8\xd1\xe4" , "\xb1\xb1\xc9\xc9\xe8" } , { "\xd1\xe8\xd1\xe5" , "\xb1\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xb1\xb1\xc9\xc9\xe1" } , { "\xd1\xe8\xd1\xe6" , "\xb1\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xd1\xe8" , "\xb1\xb1\xc9\xc3" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xb1\xb1\x4e\xc9\xc9" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\xb1\xb1\x7e\xc9\xe8" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\xb1\xb1\xab\xc9\xda" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xb1\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xb1\xb1\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xd2" , "\xb1\xb3" } , { "\xd1\xe8\xd2\xda" , "\xb1\xb3\xc9" } , { "\xd1\xe8\xd2\xda\xa2" , "\xb1\xb3\xc9\xc5" } , { "\xd1\xe8\xd2\xdb" , "\xce\xb1\xb3" } , { "\xd1\xe8\xd2\xdb\xa2" , "\xcf\xb1\xb3" } , { "\xd1\xe8\xd2\xdc" , "\xb1\xb3\xd2" } , { "\xd1\xe8\xd2\xdd" , "\xb1\xb3\xd6" } , { "\xd1\xe8\xd2\xe0" , "\xb1\xb3\xe8" } , { "\xd1\xe8\xd2\xe1" , "\xb1\xb3\xe0" } , { "\xd1\xe8\xd2\xe5" , "\xb1\xb3\xc9\xe0" } , { "\xd1\xe8\xd4" , "\xb1\xb4\xc9" } , { "\xd1\xe8\xd4\xa2" , "\xb1\xb4\xc9\xc5" } , { "\xd1\xe8\xd4\xda" , "\xb1\xb4\xc9\xc9" } , { "\xd1\xe8\xd4\xda\xa2" , "\xb1\xb4\xc9\xc9\xc5" } , { "\xd1\xe8\xd4\xdb" , "\xce\xb1\xb4\xc9" } , { "\xd1\xe8\xd4\xdb\xa2" , "\xcf\xb1\xb4\xc9" } , { "\xd1\xe8\xd4\xdc" , "\xb1\xb4\xc9\xd2" } , { "\xd1\xe8\xd4\xdd" , "\xb1\xb4\xc9\xd6" } , { "\xd1\xe8\xd4\xe0" , "\xb1\xb4\xc9\xe8" } , { "\xd1\xe8\xd4\xe0\xa2" , "\xb1\xb4\xc9\xe9" } , { "\xd1\xe8\xd4\xe1" , "\xb1\xb4\xc9\xe0" } , { "\xd1\xe8\xd4\xe2" , "\xb1\xb4\xc9\xe4" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\xb1\xb4\xc9\xe4\x7b\xc9\xc3" } , { "\xd1\xe8\xd4\xe5" , "\xb1\xb4\xc9\xc9\xe0" } , { "\xd1\xe8\xd4\xe5\xa2" , "\xb1\xb4\xc9\xc9\xe1" } , { "\xd1\xe8\xd4\xe8" , "\xb1\xb4\xc9\xc3" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\xb1\xb4\x53\xc9\xe0" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\xb1\xb4\xa5\xc9\xe0" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\xb1\xb4\xa7\xc9\xc9" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\xb1\xb4\xa9\xc9\xe9" } , { "\xd1\xe8\xd4\xe8\xcd" , "\xb1\xb4\xab\xc9" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\xb1\xb4\xab\xc9\xc9" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\xb1\xb4\xab\xc9\xd6" } , { "\xd1\xe8\xd4\xe8\xd1" , "\xb1\xb4\xb1\xc9" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\xb1\xb4\xb1\xc9\xc9" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\xb1\xb4\xb1\xc9\xd6" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\xb1\xb4\xbb\xc9\xd2" } , { "\xd1\xe8\xd5" , "\xb1\xb6\xc9" } , { "\xd1\xe8\xd5\xda" , "\xb1\xb6\xc9\xc9" } , { "\xd1\xe8\xd5\xdb" , "\xce\xb1\xb6\xc9" } , { "\xd1\xe8\xd5\xe8" , "\xb1\xb6\xc9\xc3" } , { "\xd1\xe8\xd6" , "\xb1\xba\xc9" } , { "\xd1\xe8\xd6\xda" , "\xb1\xba\xc9\xc9" } , { "\xd1\xe8\xd6\xdb" , "\xce\xb1\xba\xc9" } , { "\xd1\xe8\xd6\xe0" , "\xb1\xba\xc9\xe8" } , { "\xd1\xe8\xd6\xe5" , "\xb1\xba\xc9\xc9\xe0" } , { "\xd1\xe8\xd7" , "\xb1\xbb\xc9" } , { "\xd1\xe8\xd7\xa2" , "\xb1\xbb\xc9\xc5" } , { "\xd1\xe8\xd7\xda" , "\xb1\xbb\xc9\xc9" } , { "\xd1\xe8\xd7\xdb" , "\xce\xb1\xbb\xc9" } , { "\xd1\xe8\xd7\xdb\xa2" , "\xcf\xb1\xbb\xc9" } , { "\xd1\xe8\xd7\xdc" , "\xb1\xbb\xc9\xd2" } , { "\xd1\xe8\xd7\xdd" , "\xb1\xbb\xc9\xd6" } , { "\xd1\xe8\xd7\xdd\xa2" , "\xb1\xbb\xc9\xd6\xc5" } , { "\xd1\xe8\xd7\xde" , "\xb1\xbb\xc9\xda" } , { "\xd1\xe8\xd7\xe0" , "\xb1\xbb\xc9\xe8" } , { "\xd1\xe8\xd7\xe0\xa2" , "\xb1\xbb\xc9\xe9" } , { "\xd1\xe8\xd7\xe1" , "\xb1\xbb\xc9\xe0" } , { "\xd1\xe8\xd7\xe2" , "\xb1\xbb\xc9\xe4" } , { "\xd1\xe8\xd7\xe4" , "\xb1\xbb\xc9\xc9\xe8" } , { "\xd1\xe8\xd7\xe6" , "\xb1\xbb\xc9\xc9\xe4" } , { "\xd1\xe8\xd7\xe8" , "\xb1\xbb\xc9\xc3" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\xb1\xbb\x48\xed\xc9" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\xce\xb1\xbb\x48\xed" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\xb1\xbb\x48\xed\xd2" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\xb1\xbb\x48\xd6\xed" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\xb1\xbb\x48\xda\xed" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\xb1\xbb\x48\xe0\xed" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\xb1\xbb\x48\xed\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\xb1\xbb\x48\xc3\xed" } , { "\xd1\xe8\xd7\xe8\xb5" , "\xb1\xbb\x4e\xc9" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\xb1\xbb\x4e\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\xb1\xbb\x4e\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\xb1\xbb\x57\xf0\xe8" } , { "\xd1\xe8\xd7\xe8\xbd" , "\xb1\xbb\x60\xf2" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\xb1\xbb\x60\xf2\xc9" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\xb1\xbb\x60\xf2\xc9\xc5" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\xb1\xbb\x60\xe0\xf2" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\xb1\xbb\x60\xe4\xf2" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\xb1\xbb\x60\xf2\xc9\xe1" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xb1\xbb\x60\xc4\xf2\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\xb1\xbb\x65\xf4\xc9" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\xb1\xbb\x6c\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\xb1\xbb\x6f\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\xb1\xbb\x71\xf6\xc9" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xb1\xbb\x77\xf6\xc9" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\xb1\xbb\x79\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\xb1\xbb\x7b\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\xce\xb1\xbb\x7b\xc9" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\xb1\xbb\x7b\xc9\xd2" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\xb1\xbb\x7b\xc9\xd6" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\xb1\xbb\x7b\xc9\xc3" } , { "\xd1\xe8\xd7\xe8\xc8" , "\xb1\xbb\x7e\xc9" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\xb1\xbb\x7e\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\xb1\xbb\x7e\xc9\xda" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\xb1\xbb\x7e\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\xb1\xbb\x7e\xc9\xc9\xe8" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\xb1\xbb\x7e\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\xb1\xbb\xa3\xed\xc9" } , { "\xd1\xe8\xd7\xe8\xca" , "\xb1\xbb\xa5\xc9" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\xb1\xbb\xa5\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\xb1\xbb\xa5\xc9\xc9\xe8" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\xb1\xbb\xa5\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xcc" , "\xb1\xbb\xa9\xc9" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\xb1\xbb\xa9\xc9\xd2" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\xb1\xbb\xa9\xc9\xe8" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\xb1\xbb\xb1\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\xb1\xbb\xb1\xc9\xd6" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\xb1\xbb\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xd4" , "\xb1\xbb\xb4\xc9" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\xb1\xbb\xb4\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\xce\xb1\xbb\xb4\xc9" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\xb1\xbb\xb4\xc9\xd6" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\xb1\xbb\xbe\xfa\xc9" } , { "\xd1\xe8\xd8" , "\xb1\xbe\xfa" } , { "\xd1\xe8\xd8\xda" , "\xb1\xbe\xfa\xc9" } , { "\xd1\xe8\xd8\xda\xa2" , "\xb1\xbe\xfa\xc9\xc5" } , { "\xd1\xe8\xd8\xdb" , "\xce\xb1\xbe\xfa" } , { "\xd1\xe8\xd8\xdc" , "\xb1\xbe\xfa\xd2" } , { "\xd1\xe8\xd8\xdd" , "\xb1\xbe\xd6\xfa" } , { "\xd1\xe8\xd8\xde" , "\xb1\xbe\xda\xfa" } , { "\xd1\xe8\xd8\xe0" , "\xb1\xbe\xe8\xfa" } , { "\xd1\xe8\xd8\xe1" , "\xb1\xbe\xe0\xfa" } , { "\xd1\xe8\xd8\xe1\xa2" , "\xb1\xbe\xe1\xfa" } , { "\xd1\xe8\xd8\xe2" , "\xb1\xbe\xe4\xfa" } , { "\xd1\xe8\xd8\xe5" , "\xb1\xbe\xfa\xc9\xe0" } , { "\xd1\xe8\xd8\xe5\xa2" , "\xb1\xbe\xfa\xc9\xe1" } , { "\xd1\xe8\xd8\xe6" , "\xb1\xbe\xfa\xc9\xe4" } , { "\xd1\xe8\xd9\xa6" , "\xb1\x3c" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\xb1\x57\xf0\xc7" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\xb1\x65\xc7\xf4" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\xb1\xbb\xc9\xc7" } , { "\xd1\xe8\xe8" , "\xb1\xc9\xc3" } , { "\xd1\xe9" , "\xb1\xc9" } , { "\xd1\xe9\xe8\xbf" , "\xb1\x65\xf4" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\xcf\xb1\x65\xf4" } , { "\xd2" , "\xb3" } , { "\xd2\xa2" , "\xb3\xc5" } , { "\xd2\xa3" , "\xb3\x26" } , { "\xd2\xd3" , "\xb3\xb3" } , { "\xd2\xd6" , "\xb3\xba\xc9" } , { "\xd2\xda" , "\xb3\xc9" } , { "\xd2\xda\xa2" , "\xb3\xc9\xc5" } , { "\xd2\xdb" , "\xca\xb3" } , { "\xd2\xdb\xa2" , "\xcb\xb3" } , { "\xd2\xdb\xa3" , "\xca\xb3\x26" } , { "\xd2\xdc" , "\xb3\xd2" } , { "\xd2\xdd" , "\xb3\xd6" } , { "\xd2\xdd\xa2" , "\xb3\xd6\xc5" } , { "\xd2\xde" , "\xb3\xda" } , { "\xd2\xdf" , "\xb3\xde" } , { "\xd2\xe0" , "\xb3\xe8" } , { "\xd2\xe0\xa2" , "\xb3\xe9" } , { "\xd2\xe1" , "\xb3\xe0" } , { "\xd2\xe1\xa2" , "\xb3\xe1" } , { "\xd2\xe2" , "\xb3\xe4" } , { "\xd2\xe2\xa2" , "\xb3\xe5" } , { "\xd2\xe4" , "\xb3\xc9\xe8" } , { "\xd2\xe5" , "\xb3\xc9\xe0" } , { "\xd2\xe6" , "\xb3\xc9\xe4" } , { "\xd2\xe8" , "\xb3\xc3" } , { "\xd2\xe8\xb3" , "\xb2\x48\xed" } , { "\xd2\xe8\xb3\xdd" , "\xb2\x48\xd6\xed" } , { "\xd2\xe8\xb4\xdd" , "\xb2\x4c\xc9\xd6" } , { "\xd2\xe8\xb5" , "\xb2\x4e\xc9" } , { "\xd2\xe8\xb5\xdd" , "\xb2\x4e\xc9\xd6" } , { "\xd2\xe8\xb8" , "\xb2\x53\xc9" } , { "\xd2\xe8\xbd\xdb" , "\xce\xb2\x60\xf2" } , { "\xd2\xe8\xbd\xdc" , "\xb2\x60\xf2\xd2" } , { "\xd2\xe8\xc2" , "\xb2\x6c\xc9" } , { "\xd2\xe8\xc2\xda" , "\xb2\x6c\xc9\xc9" } , { "\xd2\xe8\xc2\xda\xa2" , "\xb2\x6c\xc9\xc9\xc5" } , { "\xd2\xe8\xc2\xdb\xa2" , "\xcf\xb2\x6c\xc9" } , { "\xd2\xe8\xc2\xdd" , "\xb2\x6c\xc9\xd6" } , { "\xd2\xe8\xc2\xdd\xa2" , "\xb2\x6c\xc9\xd6\xc5" } , { "\xd2\xe8\xc2\xde" , "\xb2\x6c\xc9\xda" } , { "\xd2\xe8\xc2\xde\xa2" , "\xb2\x6c\xc9\xda\xc5" } , { "\xd2\xe8\xc2\xe0" , "\xb2\x6c\xc9\xe8" } , { "\xd2\xe8\xc2\xe1" , "\xb2\x6c\xc9\xe0" } , { "\xd2\xe8\xc2\xe5" , "\xb2\x6c\xc9\xc9\xe0" } , { "\xd2\xe8\xc2\xe5\xa2" , "\xb2\x6c\xc9\xc9\xe1" } , { "\xd2\xe8\xc3\xdd\xa2" , "\xb2\x6f\xc9\xd6\xc5" } , { "\xd2\xe8\xc4" , "\xb2\x71\xf6" } , { "\xd2\xe8\xc4\xda" , "\xb2\x71\xf6\xc9" } , { "\xd2\xe8\xc4\xda\xa2" , "\xb2\x71\xf6\xc9\xc5" } , { "\xd2\xe8\xc4\xdb" , "\xce\xb2\x71\xf6" } , { "\xd2\xe8\xc4\xdd" , "\xb2\x71\xd6\xf6" } , { "\xd2\xe8\xc6\xdb" , "\xce\xb2\x7b\xc9" } , { "\xd2\xe8\xc6\xdd" , "\xb2\x7b\xc9\xd6" } , { "\xd2\xe8\xc8" , "\xb2\x7e\xc9" } , { "\xd2\xe8\xc8\xdd" , "\xb2\x7e\xc9\xd6" } , { "\xd2\xe8\xca" , "\xb2\xa5\xc9" } , { "\xd2\xe8\xcd" , "\xb2\xab\xc9" } , { "\xd2\xe8\xcd\xa2" , "\xb2\xab\xc9\xc5" } , { "\xd2\xe8\xcd\xda" , "\xb2\xab\xc9\xc9" } , { "\xd2\xe8\xcd\xda\xa2" , "\xb2\xab\xc9\xc9\xc5" } , { "\xd2\xe8\xcd\xdd" , "\xb2\xab\xc9\xd6" } , { "\xd2\xe8\xcd\xe8\xcd" , "\xb2\xab\xab\xc9" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\xb2\xab\xab\xc9\xc9" } , { "\xd2\xe8\xcf" , "\xb3\xc4" } , { "\xd2\xe8\xcf\xda" , "\xb3\xc4\xc9" } , { "\xd2\xe8\xcf\xdc" , "\xb3\xc4\xd2" } , { "\xd2\xe8\xcf\xe5" , "\xb3\xc4\xc9\xe0" } , { "\xd2\xe8\xd1" , "\xb2\xb1\xc9" } , { "\xd2\xe8\xd1\xa2" , "\xb2\xb1\xc9\xc5" } , { "\xd2\xe8\xd1\xda" , "\xb2\xb1\xc9\xc9" } , { "\xd2\xe8\xd1\xda\xa2" , "\xb2\xb1\xc9\xc9\xc5" } , { "\xd2\xe8\xd1\xdb" , "\xce\xb2\xb1\xc9" } , { "\xd2\xe8\xd1\xdb\xa2" , "\xcf\xb2\xb1\xc9" } , { "\xd2\xe8\xd1\xdc" , "\xb2\xb1\xc9\xd2" } , { "\xd2\xe8\xd1\xdd" , "\xb2\xb1\xc9\xd6" } , { "\xd2\xe8\xd1\xdd\xa2" , "\xb2\xb1\xc9\xd6\xc5" } , { "\xd2\xe8\xd1\xde" , "\xb2\xb1\xc9\xda" } , { "\xd2\xe8\xd1\xe0" , "\xb2\xb1\xc9\xe8" } , { "\xd2\xe8\xd1\xe0\xa2" , "\xb2\xb1\xc9\xe9" } , { "\xd2\xe8\xd1\xe1" , "\xb2\xb1\xc9\xe0" } , { "\xd2\xe8\xd1\xe1\xa2" , "\xb2\xb1\xc9\xe1" } , { "\xd2\xe8\xd1\xe2" , "\xb2\xb1\xc9\xe4" } , { "\xd2\xe8\xd1\xe2\xa2" , "\xb2\xb1\xc9\xe5" } , { "\xd2\xe8\xd1\xe4" , "\xb2\xb1\xc9\xc9\xe8" } , { "\xd2\xe8\xd1\xe5" , "\xb2\xb1\xc9\xc9\xe0" } , { "\xd2\xe8\xd1\xe6" , "\xb2\xb1\xc9\xc9\xe4" } , { "\xd2\xe8\xd2" , "\xb2\xb3" } , { "\xd2\xe8\xd2\xa2" , "\xb2\xb3\xc5" } , { "\xd2\xe8\xd2\xda" , "\xb2\xb3\xc9" } , { "\xd2\xe8\xd2\xda\xa2" , "\xb2\xb3\xc9\xc5" } , { "\xd2\xe8\xd2\xdb" , "\xce\xb2\xb3" } , { "\xd2\xe8\xd2\xdb\xa2" , "\xcf\xb2\xb3" } , { "\xd2\xe8\xd2\xdc" , "\xb2\xb3\xd2" } , { "\xd2\xe8\xd2\xdd" , "\xb2\xb3\xd6" } , { "\xd2\xe8\xd2\xdd\xa2" , "\xb2\xb3\xd6\xc5" } , { "\xd2\xe8\xd2\xde" , "\xb2\xb3\xda" } , { "\xd2\xe8\xd2\xe0" , "\xb2\xb3\xe8" } , { "\xd2\xe8\xd2\xe0\xa2" , "\xb2\xb3\xe9" } , { "\xd2\xe8\xd2\xe1" , "\xb2\xb3\xe0" } , { "\xd2\xe8\xd2\xe1\xa2" , "\xb2\xb3\xe1" } , { "\xd2\xe8\xd2\xe2" , "\xb2\xb3\xe4" } , { "\xd2\xe8\xd2\xe2\xa2" , "\xb2\xb3\xe5" } , { "\xd2\xe8\xd2\xe4" , "\xb2\xb3\xc9\xe8" } , { "\xd2\xe8\xd2\xe4\xa2" , "\xb2\xb3\xc9\xe9" } , { "\xd2\xe8\xd2\xe5" , "\xb2\xb3\xc9\xe0" } , { "\xd2\xe8\xd2\xe5\xa2" , "\xb2\xb3\xc9\xe1" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\xce\xb2\xb2\x7b\xc9" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\xb2\xb2\xb1\xc9\xc9\xe0" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\xb2\xb2\xb3\xd2" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\xb2\xb2\xb4\xc9\xd6" } , { "\xd2\xe8\xd4" , "\xb2\xb4\xc9" } , { "\xd2\xe8\xd4\xda" , "\xb2\xb4\xc9\xc9" } , { "\xd2\xe8\xd4\xdb" , "\xce\xb2\xb4\xc9" } , { "\xd2\xe8\xd6\xdd" , "\xb2\xba\xc9\xd6" } , { "\xd2\xe8\xd7\xdb" , "\xce\xb2\xbb\xc9" } , { "\xd2\xe8\xd7\xdd" , "\xb2\xbb\xc9\xd6" } , { "\xd2\xe8\xe8" , "\xb3\xc3" } , { "\xd3" , "\xb3" } , { "\xd3\xc9" , "\xb3\xa3\xed" } , { "\xd4" , "\xb4\xc9" } , { "\xd4\xa1" , "\xb4\xc9\xc6" } , { "\xd4\xa2" , "\xb4\xc9\xc5" } , { "\xd4\xa3" , "\xb4\xc9\x26" } , { "\xd4\xda" , "\xb4\xc9\xc9" } , { "\xd4\xda\xa1" , "\xb4\xc9\xc9\xc6" } , { "\xd4\xda\xa2" , "\xb4\xc9\xc9\xc5" } , { "\xd4\xda\xa3" , "\xb4\xc9\xc9\x26" } , { "\xd4\xdb" , "\xca\xb4\xc9" } , { "\xd4\xdb\xa2" , "\xcb\xb4\xc9" } , { "\xd4\xdb\xa3" , "\xca\xb4\xc9\x26" } , { "\xd4\xdb\xb3\xdf" , "\xca\xb4\xc9\x48\xde\xed" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\xca\xb4\xc9\xbb\x6c\xc9\xde" } , { "\xd4\xdc" , "\xb4\xc9\xd2" } , { "\xd4\xdc\xa2" , "\xb4\xc9\xd3" } , { "\xd4\xdd" , "\xb4\xc9\xd6" } , { "\xd4\xdd\xa1" , "\xb4\xc9\xd6\xc6" } , { "\xd4\xdd\xa2" , "\xb4\xc9\xd6\xc5" } , { "\xd4\xdd\xa2\xa2" , "\xb4\xc9\xd6\xc5\xc5" } , { "\xd4\xdd\xa3" , "\xb4\xc9\xd6\x26" } , { "\xd4\xde" , "\xb4\xc9\xda" } , { "\xd4\xde\xa1" , "\xb4\xc9\xda\xc6" } , { "\xd4\xde\xa2" , "\xb4\xc9\xda\xc5" } , { "\xd4\xdf" , "\xb4\xc9\xde" } , { "\xd4\xdf\xa2" , "\xb4\xc9\xde\xc5" } , { "\xd4\xe0" , "\xb4\xc9\xe8" } , { "\xd4\xe0\xa2" , "\xb4\xc9\xe9" } , { "\xd4\xe1" , "\xb4\xc9\xe0" } , { "\xd4\xe1\xa2" , "\xb4\xc9\xe1" } , { "\xd4\xe1\xa3" , "\xb4\xc9\xe0\x26" } , { "\xd4\xe2" , "\xb4\xc9\xe4" } , { "\xd4\xe2\xa2" , "\xb4\xc9\xe5" } , { "\xd4\xe2\xa3" , "\xb4\xc9\xe4\x26" } , { "\xd4\xe2\xba\xe8" , "\xb4\xc9\xe4\x57\xc3\xf0" } , { "\xd4\xe2\xd7\xe8" , "\xb4\xc9\xe4\xbb\xc9\xc3" } , { "\xd4\xe4" , "\xb4\xc9\xc9\xe8" } , { "\xd4\xe4\xa2" , "\xb4\xc9\xc9\xe9" } , { "\xd4\xe5" , "\xb4\xc9\xc9\xe0" } , { "\xd4\xe5\xa2" , "\xb4\xc9\xc9\xe1" } , { "\xd4\xe6" , "\xb4\xc9\xc9\xe4" } , { "\xd4\xe7" , "\xb4\xc9\xc9\xe8" } , { "\xd4\xe8" , "\xb4\xc9\xc3" } , { "\xd4\xe8\xa2" , "\xb4\xc9\xc3\xc5" } , { "\xd4\xe8\xb3" , "\xb4\x48\xed" } , { "\xd4\xe8\xb3\xda" , "\xb4\x48\xed\xc9" } , { "\xd4\xe8\xb3\xdb" , "\xce\xb4\x48\xed" } , { "\xd4\xe8\xb3\xdd" , "\xb4\x48\xd6\xed" } , { "\xd4\xe8\xb3\xde" , "\xb4\x48\xda\xed" } , { "\xd4\xe8\xb3\xe0" , "\xb4\x48\xe8\xed" } , { "\xd4\xe8\xb3\xe1" , "\xb4\x48\xe0\xed" } , { "\xd4\xe8\xb3\xe5" , "\xb4\x48\xed\xc9\xe0" } , { "\xd4\xe8\xb3\xe8\xb3" , "\xb4\x49\xed" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\xce\xb4\x49\xed" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\xb4\x49\xd6\xed" } , { "\xd4\xe8\xb3\xe8\xc2" , "\xb4\x47\x6c\xc9" } , { "\xd4\xe8\xb3\xe8\xcd" , "\xb4\x47\xab\xc9" } , { "\xd4\xe8\xb3\xe8\xd6" , "\xb4\x4b\xc9" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\xb4\x4b\xc9\xc9" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\xb4\x4b\xc9\xc9\xe1" } , { "\xd4\xe8\xb5\xda" , "\xb4\x4e\xc9\xc9" } , { "\xd4\xe8\xb5\xda\xa2" , "\xb4\x4e\xc9\xc9\xc5" } , { "\xd4\xe8\xb6" , "\xb4\x50\xc9" } , { "\xd4\xe8\xb8" , "\xb4\x53\xc9" } , { "\xd4\xe8\xb8\xda" , "\xb4\x53\xc9\xc9" } , { "\xd4\xe8\xb8\xdb" , "\xce\xb4\x53\xc9" } , { "\xd4\xe8\xb8\xdd" , "\xb4\x53\xc9\xd6" } , { "\xd4\xe8\xb8\xe0" , "\xb4\x53\xc9\xe8" } , { "\xd4\xe8\xb8\xe1" , "\xb4\x53\xc9\xe0" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\xb4\x53\x53\xc9\xc9" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\xb4\x53\x53\xc9\xd6" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\xb4\x53\x53\xc9\xe0" } , { "\xd4\xe8\xba" , "\xb4\x57\xf0" } , { "\xd4\xe8\xba\xdc" , "\xb4\x59\xf0" } , { "\xd4\xe8\xba\xe9" , "\xb4\x57\xf0" } , { "\xd4\xe8\xbd" , "\xb4\x60\xf2" } , { "\xd4\xe8\xbd\xa2" , "\xb4\x60\xc5\xf2" } , { "\xd4\xe8\xbd\xda" , "\xb4\x60\xf2\xc9" } , { "\xd4\xe8\xbd\xe0" , "\xb4\x60\xe8\xf2" } , { "\xd4\xe8\xbd\xe2" , "\xb4\x60\xe4\xf2" } , { "\xd4\xe8\xbd\xe8" , "\xb4\x60\xc3\xf2" } , { "\xd4\xe8\xbd\xe8\xd1" , "\xb4\x60\xc3\xf2\xb1\xc9" } , { "\xd4\xe8\xbf" , "\xb4\x65\xf4" } , { "\xd4\xe8\xbf\xa2" , "\xb4\x65\xc5\xf4" } , { "\xd4\xe8\xbf\xda" , "\xb4\x65\xf4\xc9" } , { "\xd4\xe8\xbf\xdb" , "\xce\xb4\x65\xf4" } , { "\xd4\xe8\xbf\xdd" , "\xb4\x65\xd6\xf4" } , { "\xd4\xe8\xbf\xe0" , "\xb4\x65\xe8\xf4" } , { "\xd4\xe8\xc2" , "\xb4\x6c\xc9" } , { "\xd4\xe8\xc2\xda" , "\xb4\x6c\xc9\xc9" } , { "\xd4\xe8\xc2\xda\xa2" , "\xb4\x6c\xc9\xc9\xc5" } , { "\xd4\xe8\xc2\xdb" , "\xce\xb4\x6c\xc9" } , { "\xd4\xe8\xc2\xdc" , "\xb4\x6c\xc9\xd2" } , { "\xd4\xe8\xc2\xdd\xa2" , "\xb4\x6c\xc9\xd6\xc5" } , { "\xd4\xe8\xc2\xe5" , "\xb4\x6c\xc9\xc9\xe0" } , { "\xd4\xe8\xc2\xe8\xc2" , "\xb4\x6e\xc9" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\xb4\x6e\xc9\xc9" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\xb4\x6e\xc9\xc9\xc5" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\xce\xb4\x6e\xc9" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\xb4\x6e\xc9\xc9\xe1" } , { "\xd4\xe8\xc2\xe8\xcd" , "\xb4\x6c\xab\xc9" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\xb4\x6c\xab\xc9\xc9" } , { "\xd4\xe8\xc2\xe8\xd7" , "\xb4\x6c\xbb\xc9" } , { "\xd4\xe8\xc3\xe0" , "\xb4\x6f\xc9\xe8" } , { "\xd4\xe8\xc4" , "\xb4\x71\xf6" } , { "\xd4\xe8\xc4\xda" , "\xb4\x71\xf6\xc9" } , { "\xd4\xe8\xc4\xdb" , "\xce\xb4\x71\xf6" } , { "\xd4\xe8\xc4\xdc" , "\xb4\x71\xf6\xd2" } , { "\xd4\xe8\xc4\xe5\xa2" , "\xb4\x71\xf6\xc9\xe1" } , { "\xd4\xe8\xc4\xe8\xc5" , "\xb4\x75\xf6" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\xb4\x75\xf6\xc9" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\xce\xb4\x75\xf6" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\xb4\x75\xf6\xc9\xe1" } , { "\xd4\xe8\xc4\xe8\xd4" , "\xb4\x77\xf6" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\xce\xb4\x77\xf6" } , { "\xd4\xe8\xc5" , "\xb4\x79\xc9" } , { "\xd4\xe8\xc5\xda" , "\xb4\x79\xc9\xc9" } , { "\xd4\xe8\xc5\xdb" , "\xce\xb4\x79\xc9" } , { "\xd4\xe8\xc6" , "\xb4\x7b\xc9" } , { "\xd4\xe8\xc6\xa2" , "\xb4\x7b\xc9\xc5" } , { "\xd4\xe8\xc6\xda" , "\xb4\x7b\xc9\xc9" } , { "\xd4\xe8\xc6\xdb" , "\xce\xb4\x7b\xc9" } , { "\xd4\xe8\xc6\xdc" , "\xb4\x7b\xc9\xd2" } , { "\xd4\xe8\xc6\xdd" , "\xb4\x7b\xc9\xd6" } , { "\xd4\xe8\xc6\xdd\xa2" , "\xb4\x7b\xc9\xd6\xc5" } , { "\xd4\xe8\xc6\xde" , "\xb4\x7b\xc9\xda" } , { "\xd4\xe8\xc6\xe0" , "\xb4\x7b\xc9\xe8" } , { "\xd4\xe8\xc6\xe1" , "\xb4\x7b\xc9\xe0" } , { "\xd4\xe8\xc6\xe4" , "\xb4\x7b\xc9\xc9\xe8" } , { "\xd4\xe8\xc6\xe5" , "\xb4\x7b\xc9\xc9\xe0" } , { "\xd4\xe8\xc6\xe8\xc4" , "\xb4\x7b\x71\xf6" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\xb4\x7b\x71\xf6\xc9" } , { "\xd4\xe8\xc8" , "\xb4\x7e\xc9" } , { "\xd4\xe8\xc8\xda" , "\xb4\x7e\xc9\xc9" } , { "\xd4\xe8\xc8\xdb" , "\xce\xb4\x7e\xc9" } , { "\xd4\xe8\xc8\xdd" , "\xb4\x7e\xc9\xd6" } , { "\xd4\xe8\xc8\xe2" , "\xb4\x7e\xc9\xe4" } , { "\xd4\xe8\xc8\xe8\xcf" , "\xb4\xa1\xc9" } , { "\xd4\xe8\xc9" , "\xb4\xa3\xed" } , { "\xd4\xe8\xca" , "\xb4\xa5\xc9" } , { "\xd4\xe8\xca\xdd" , "\xb4\xa5\xc9\xd6" } , { "\xd4\xe8\xca\xe5" , "\xb4\xa5\xc9\xc9\xe0" } , { "\xd4\xe8\xcb" , "\xb4\xa7\xc9" } , { "\xd4\xe8\xcb\xda" , "\xb4\xa7\xc9\xc9" } , { "\xd4\xe8\xcc\xdb" , "\xce\xb4\xa9\xc9" } , { "\xd4\xe8\xcc\xdc" , "\xb4\xa9\xc9\xd2" } , { "\xd4\xe8\xcc\xe0" , "\xb4\xa9\xc9\xe8" } , { "\xd4\xe8\xcc\xe0\xa2" , "\xb4\xa9\xc9\xe9" } , { "\xd4\xe8\xcc\xe1" , "\xb4\xa9\xc9\xe0" } , { "\xd4\xe8\xcd" , "\xb4\xab\xc9" } , { "\xd4\xe8\xcd\xa2" , "\xb4\xab\xc9\xc5" } , { "\xd4\xe8\xcd\xa3" , "\xb4\xab\xc9\x26" } , { "\xd4\xe8\xcd\xda" , "\xb4\xab\xc9\xc9" } , { "\xd4\xe8\xcd\xda\xa1" , "\xb4\xab\xc9\xc9\xc6" } , { "\xd4\xe8\xcd\xda\xa2" , "\xb4\xab\xc9\xc9\xc5" } , { "\xd4\xe8\xcd\xdc" , "\xb4\xab\xc9\xd2" } , { "\xd4\xe8\xcd\xdd" , "\xb4\xab\xc9\xd6" } , { "\xd4\xe8\xcd\xdd\xa2" , "\xb4\xab\xc9\xd6\xc5" } , { "\xd4\xe8\xcd\xde" , "\xb4\xab\xc9\xda" } , { "\xd4\xe8\xcd\xe1" , "\xb4\xab\xc9\xe0" } , { "\xd4\xe8\xcd\xe2" , "\xb4\xab\xc9\xe4" } , { "\xd4\xe8\xcd\xe4" , "\xb4\xab\xc9\xc9\xe8" } , { "\xd4\xe8\xcd\xe5" , "\xb4\xab\xc9\xc9\xe0" } , { "\xd4\xe8\xcd\xe5\xa2" , "\xb4\xab\xc9\xc9\xe1" } , { "\xd4\xe8\xcd\xe6" , "\xb4\xab\xc9\xc9\xe4" } , { "\xd4\xe8\xcd\xe6\xa2" , "\xb4\xab\xc9\xc9\xe5" } , { "\xd4\xe8\xcd\xe8\xb3" , "\xb4\xab\x48\xed" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\xce\xb4\xab\x48\xed" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\xb4\xab\x47\x6c\xc9" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\xce\xb4\xab\x47\x6c\xc9" } , { "\xd4\xe8\xcd\xe8\xcd" , "\xb4\xab\xab\xc9" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\xb4\xab\xab\xc9\xc5" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\xb4\xab\xab\xc9\xc9" } , { "\xd4\xe8\xcf" , "\xb5\xc9" } , { "\xd4\xe8\xcf\xa2" , "\xb5\xc9\xc5" } , { "\xd4\xe8\xcf\xda" , "\xb5\xc9\xc9" } , { "\xd4\xe8\xcf\xdb" , "\xca\xb5\xc9" } , { "\xd4\xe8\xcf\xdc" , "\xb5\xc9\xd2" } , { "\xd4\xe8\xcf\xdd" , "\xb5\xc9\xd6" } , { "\xd4\xe8\xcf\xe0\xa2" , "\xb5\xc9\xe9" } , { "\xd4\xe8\xcf\xe1" , "\xb5\xc9\xe0" } , { "\xd4\xe8\xcf\xe2" , "\xb5\xc9\xe4" } , { "\xd4\xe8\xcf\xe5" , "\xb5\xc9\xc9\xe0" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\xb5\x69\xc9\xc9" } , { "\xd4\xe8\xcf\xe8\xc2" , "\xb5\x6c\xc9" } , { "\xd4\xe8\xcf\xe8\xcd" , "\xb5\xab\xc9" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\xb5\xab\xc9\xc9" } , { "\xd4\xe8\xd1" , "\xb4\xb1\xc9" } , { "\xd4\xe8\xd1\xda" , "\xb4\xb1\xc9\xc9" } , { "\xd4\xe8\xd1\xda\xa2" , "\xb4\xb1\xc9\xc9\xc5" } , { "\xd4\xe8\xd1\xdb" , "\xce\xb4\xb1\xc9" } , { "\xd4\xe8\xd1\xdc" , "\xb4\xb1\xc9\xd2" } , { "\xd4\xe8\xd1\xdd" , "\xb4\xb1\xc9\xd6" } , { "\xd4\xe8\xd1\xde" , "\xb4\xb1\xc9\xda" } , { "\xd4\xe8\xd1\xe0" , "\xb4\xb1\xc9\xe8" } , { "\xd4\xe8\xd1\xe1" , "\xb4\xb1\xc9\xe0" } , { "\xd4\xe8\xd1\xe5" , "\xb4\xb1\xc9\xc9\xe0" } , { "\xd4\xe8\xd1\xe8\xd1" , "\xb4\xb1\xb1\xc9" } , { "\xd4\xe8\xd2\xda" , "\xb4\xb3\xc9" } , { "\xd4\xe8\xd2\xe8\xd1" , "\xb4\xb2\xb1\xc9" } , { "\xd4\xe8\xd4" , "\xb4\xb4\xc9" } , { "\xd4\xe8\xd4\xa2" , "\xb4\xb4\xc9\xc5" } , { "\xd4\xe8\xd4\xda" , "\xb4\xb4\xc9\xc9" } , { "\xd4\xe8\xd4\xdb" , "\xce\xb4\xb4\xc9" } , { "\xd4\xe8\xd4\xdb\xa2" , "\xcf\xb4\xb4\xc9" } , { "\xd4\xe8\xd4\xdc" , "\xb4\xb4\xc9\xd2" } , { "\xd4\xe8\xd4\xdc\xa2" , "\xb4\xb4\xc9\xd3" } , { "\xd4\xe8\xd4\xdd" , "\xb4\xb4\xc9\xd6" } , { "\xd4\xe8\xd4\xdd\xa2" , "\xb4\xb4\xc9\xd6\xc5" } , { "\xd4\xe8\xd4\xde" , "\xb4\xb4\xc9\xda" } , { "\xd4\xe8\xd4\xde\xa2" , "\xb4\xb4\xc9\xda\xc5" } , { "\xd4\xe8\xd4\xe0" , "\xb4\xb4\xc9\xe8" } , { "\xd4\xe8\xd4\xe0\xa2" , "\xb4\xb4\xc9\xe9" } , { "\xd4\xe8\xd4\xe1" , "\xb4\xb4\xc9\xe0" } , { "\xd4\xe8\xd4\xe1\xa2" , "\xb4\xb4\xc9\xe1" } , { "\xd4\xe8\xd4\xe2" , "\xb4\xb4\xc9\xe4" } , { "\xd4\xe8\xd4\xe4" , "\xb4\xb4\xc9\xc9\xe8" } , { "\xd4\xe8\xd4\xe4\xa2" , "\xb4\xb4\xc9\xc9\xe9" } , { "\xd4\xe8\xd4\xe5" , "\xb4\xb4\xc9\xc9\xe0" } , { "\xd4\xe8\xd4\xe8" , "\xb4\xb4\xc9\xc3" } , { "\xd4\xe8\xd4\xe8\xcd" , "\xb4\xb4\xab\xc9" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\xce\xb4\xb7\x53\xc9" } , { "\xd4\xe8\xd5\xe8\xcd" , "\xb4\xb6\xab\xc9" } , { "\xd4\xe8\xd6" , "\xb4\xba\xc9" } , { "\xd4\xe8\xd6\xda" , "\xb4\xba\xc9\xc9" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\xce\xb4\xba\x60\xf2" } , { "\xd4\xe8\xd7" , "\xb4\xbb\xc9" } , { "\xd4\xe8\xd7\xda" , "\xb4\xbb\xc9\xc9" } , { "\xd4\xe8\xd7\xda\xa2" , "\xb4\xbb\xc9\xc9\xc5" } , { "\xd4\xe8\xd7\xdb" , "\xce\xb4\xbb\xc9" } , { "\xd4\xe8\xd7\xdc" , "\xb4\xbb\xc9\xd2" } , { "\xd4\xe8\xd7\xde" , "\xb4\xbb\xc9\xda" } , { "\xd4\xe8\xd7\xe0" , "\xb4\xbb\xc9\xe8" } , { "\xd4\xe8\xd7\xe2" , "\xb4\xbb\xc9\xe4" } , { "\xd4\xe8\xd7\xe6" , "\xb4\xbb\xc9\xc9\xe4" } , { "\xd4\xe8\xd7\xe8" , "\xb4\xbb\xc9\xc3" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\xb4\xbb\x48\xed\xc9" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\xb4\xbb\x48\xed\xd2" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\xb4\xbb\x48\xed\xc9\xe8" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\xb4\xbb\x48\xc3\xed" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\xb4\xbb\x4e\xc9\xc9" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\xb4\xbb\x60\xf2\xc9" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\xb4\xbb\x6c\xc9\xc9" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\xb4\xbb\x6c\xc9\xd6\xc5" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\xb4\xbb\x6c\xc9\xe0" } , { "\xd4\xe8\xd7\xe8\xc3" , "\xb4\xbb\x6f\xc9" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\xb4\xbb\x6f\xc9\xc9" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\xce\xb4\xbb\x7b\xc9" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\xb4\xbb\x7b\xc9\xd6" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\xce\xb4\xbb\x7e\xc9" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\xb4\xbb\x7e\xc9\xe4" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\xb4\xbb\xa9\xc9\xde" } , { "\xd4\xe8\xd8" , "\xb4\xbe\xfa" } , { "\xd4\xe8\xd8\xda" , "\xb4\xbe\xfa\xc9" } , { "\xd4\xe8\xd8\xda\xa2" , "\xb4\xbe\xfa\xc9\xc5" } , { "\xd4\xe8\xd8\xdb" , "\xce\xb4\xbe\xfa" } , { "\xd4\xe8\xd8\xdc" , "\xb4\xbe\xfa\xd2" } , { "\xd4\xe8\xd8\xe1" , "\xb4\xbe\xe0\xfa" } , { "\xd4\xe8\xd8\xe2" , "\xb4\xbe\xe4\xfa" } , { "\xd4\xe8\xd9\xcd" , "\xb4\xab\xc9" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\xb4\xab\xc9\xc7" } , { "\xd4\xe8\xe8" , "\xb4\xc9\xc3" } , { "\xd4\xe8\xe9\xcf" , "\xb4\xad\xf7" } , { "\xd4\xe9" , "\xb4\xc9" } , { "\xd5" , "\xb6\xc9" } , { "\xd5\xa1" , "\xb6\xc9\xc6" } , { "\xd5\xa2" , "\xb6\xc9\xc5" } , { "\xd5\xa2\xa3" , "\xb6\xc9\xc5\x26" } , { "\xd5\xa3" , "\xb6\xc9\x26" } , { "\xd5\xda" , "\xb6\xc9\xc9" } , { "\xd5\xda\xa1" , "\xb6\xc9\xc9\xc6" } , { "\xd5\xda\xa2" , "\xb6\xc9\xc9\xc5" } , { "\xd5\xda\xa3" , "\xb6\xc9\xc9\x26" } , { "\xd5\xdb" , "\xca\xb6\xc9" } , { "\xd5\xdb\xa2" , "\xcb\xb6\xc9" } , { "\xd5\xdc" , "\xb6\xc9\xd2" } , { "\xd5\xdc\xa2" , "\xb6\xc9\xd3" } , { "\xd5\xdc\xa3" , "\xb6\xc9\xd2\x26" } , { "\xd5\xdd" , "\xb6\xc9\xd6" } , { "\xd5\xdd\xa2" , "\xb6\xc9\xd6\xc5" } , { "\xd5\xdd\xa3" , "\xb6\xc9\xd6\x26" } , { "\xd5\xdd\xd0\xdd" , "\xb6\xc9\xd6\xad\xd6\xf7" } , { "\xd5\xde" , "\xb6\xc9\xda" } , { "\xd5\xde\xa2" , "\xb6\xc9\xda\xc5" } , { "\xd5\xdf" , "\xb6\xc9\xde" } , { "\xd5\xdf\xa2" , "\xb6\xc9\xde\xc5" } , { "\xd5\xe0" , "\xb6\xc9\xe8" } , { "\xd5\xe0\xa2" , "\xb6\xc9\xe9" } , { "\xd5\xe1" , "\xb6\xc9\xe0" } , { "\xd5\xe1\xa2" , "\xb6\xc9\xe1" } , { "\xd5\xe2" , "\xb6\xc9\xe4" } , { "\xd5\xe2\xa2" , "\xb6\xc9\xe5" } , { "\xd5\xe4" , "\xb6\xc9\xc9\xe8" } , { "\xd5\xe4\xa2" , "\xb6\xc9\xc9\xe9" } , { "\xd5\xe5" , "\xb6\xc9\xc9\xe0" } , { "\xd5\xe5\xa2" , "\xb6\xc9\xc9\xe1" } , { "\xd5\xe6" , "\xb6\xc9\xc9\xe4" } , { "\xd5\xe6\xa2" , "\xb6\xc9\xc9\xe5" } , { "\xd5\xe7" , "\xb6\xc9\xc9\xe8" } , { "\xd5\xe8" , "\xb6\xc9\xc3" } , { "\xd5\xe8\xa2" , "\xb6\xc9\xc3\xc5" } , { "\xd5\xe8\xb3" , "\xb6\x48\xed" } , { "\xd5\xe8\xb3\xda" , "\xb6\x48\xed\xc9" } , { "\xd5\xe8\xb3\xdb" , "\xce\xb6\x48\xed" } , { "\xd5\xe8\xb3\xdc" , "\xb6\x48\xed\xd2" } , { "\xd5\xe8\xb3\xdd" , "\xb6\x48\xd6\xed" } , { "\xd5\xe8\xb3\xde" , "\xb6\x48\xda\xed" } , { "\xd5\xe8\xb3\xe1" , "\xb6\x48\xe0\xed" } , { "\xd5\xe8\xb3\xe1\xa2" , "\xb6\x48\xe1\xed" } , { "\xd5\xe8\xb3\xe5\xa2" , "\xb6\x48\xed\xc9\xe1" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\xce\xb6\x47\x6c\xc9" } , { "\xd5\xe8\xb3\xe8\xd6" , "\xb6\x4b\xc9" } , { "\xd5\xe8\xb3\xe9" , "\xb6\x48\xed" } , { "\xd5\xe8\xb4\xa2" , "\xb6\x4c\xc9\xc5" } , { "\xd5\xe8\xb4\xda" , "\xb6\x4c\xc9\xc9" } , { "\xd5\xe8\xb5\xda" , "\xb6\x4e\xc9\xc9" } , { "\xd5\xe8\xb5\xdd\xa2" , "\xb6\x4e\xc9\xd6\xc5" } , { "\xd5\xe8\xb6\xda" , "\xb6\x50\xc9\xc9" } , { "\xd5\xe8\xb8" , "\xb7\x53\xc9" } , { "\xd5\xe8\xb8\xa2" , "\xb7\x53\xc9\xc5" } , { "\xd5\xe8\xb8\xda" , "\xb7\x53\xc9\xc9" } , { "\xd5\xe8\xb8\xda\xa2" , "\xb7\x53\xc9\xc9\xc5" } , { "\xd5\xe8\xb8\xdb" , "\xca\xb7\x53\xc9" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xcb\xb7\x53\xc9" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xcb\xb7\x53\xc9\xc5" } , { "\xd5\xe8\xb8\xdd" , "\xb7\x53\xc9\xd6" } , { "\xd5\xe8\xb8\xe1" , "\xb7\x53\xc9\xe0" } , { "\xd5\xe8\xb8\xe2" , "\xb7\x53\xc9\xe4" } , { "\xd5\xe8\xb8\xe5" , "\xb7\x53\xc9\xc9\xe0" } , { "\xd5\xe8\xb8\xe8\xb9" , "\xb6\x53\x55\xef" } , { "\xd5\xe8\xb8\xe8\xcd" , "\xb6\x53\xab\xc9" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\xb6\x53\xab\xc9\xc9" } , { "\xd5\xe8\xb9" , "\xb6\x55\xef" } , { "\xd5\xe8\xb9\xda" , "\xb6\x55\xef\xc9" } , { "\xd5\xe8\xb9\xdb" , "\xce\xb6\x55\xef" } , { "\xd5\xe8\xb9\xe1" , "\xb6\x55\xef\xe0" } , { "\xd5\xe8\xbd" , "\xb6\x60\xf2" } , { "\xd5\xe8\xbd\xa2" , "\xb6\x60\xc5\xf2" } , { "\xd5\xe8\xbd\xdb" , "\xce\xb6\x60\xf2" } , { "\xd5\xe8\xbd\xe5" , "\xb6\x60\xf2\xc9\xe0" } , { "\xd5\xe8\xbd\xe8\xcd" , "\xb6\x60\xf2\xac" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\xb6\x60\xf2\xac\xc9" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\xb6\x60\xf2\xac\xda" } , { "\xd5\xe8\xbd\xe8\xcf" , "\xb6\x60\xc4\xf2" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\xb6\x60\xc4\xe0\xf2" } , { "\xd5\xe8\xbf\xe9\xa1" , "\xb6\x65\xc6\xf4" } , { "\xd5\xe8\xc2" , "\xb6\x6c\xc9" } , { "\xd5\xe8\xc2\xda" , "\xb6\x6c\xc9\xc9" } , { "\xd5\xe8\xc2\xdb" , "\xce\xb6\x6c\xc9" } , { "\xd5\xe8\xc2\xdc" , "\xb6\x6c\xc9\xd2" } , { "\xd5\xe8\xc2\xde" , "\xb6\x6c\xc9\xda" } , { "\xd5\xe8\xc2\xe1" , "\xb6\x6c\xc9\xe0" } , { "\xd5\xe8\xc2\xe1\xa2" , "\xb6\x6c\xc9\xe1" } , { "\xd5\xe8\xc2\xe2" , "\xb6\x6c\xc9\xe4" } , { "\xd5\xe8\xc2\xe5" , "\xb6\x6c\xc9\xc9\xe0" } , { "\xd5\xe8\xc2\xe5\xa2" , "\xb6\x6c\xc9\xc9\xe1" } , { "\xd5\xe8\xc3" , "\xb6\x6f\xc9" } , { "\xd5\xe8\xc3\xda" , "\xb6\x6f\xc9\xc9" } , { "\xd5\xe8\xc5" , "\xb6\x79\xc9" } , { "\xd5\xe8\xc5\xda" , "\xb6\x79\xc9\xc9" } , { "\xd5\xe8\xc6" , "\xb6\x7b\xc9" } , { "\xd5\xe8\xc6\xa2" , "\xb6\x7b\xc9\xc5" } , { "\xd5\xe8\xc6\xda" , "\xb6\x7b\xc9\xc9" } , { "\xd5\xe8\xc6\xda\xa2" , "\xb6\x7b\xc9\xc9\xc5" } , { "\xd5\xe8\xc6\xdb" , "\xce\xb6\x7b\xc9" } , { "\xd5\xe8\xc6\xdb\xa2" , "\xcf\xb6\x7b\xc9" } , { "\xd5\xe8\xc6\xdd" , "\xb6\x7b\xc9\xd6" } , { "\xd5\xe8\xc6\xe0" , "\xb6\x7b\xc9\xe8" } , { "\xd5\xe8\xc6\xe1" , "\xb6\x7b\xc9\xe0" } , { "\xd5\xe8\xc6\xe5" , "\xb6\x7b\xc9\xc9\xe0" } , { "\xd5\xe8\xc6\xe5\xa2" , "\xb6\x7b\xc9\xc9\xe1" } , { "\xd5\xe8\xc6\xe8" , "\xb6\x7b\xc9\xc3" } , { "\xd5\xe8\xc7" , "\xb6\x7b\xc9" } , { "\xd5\xe8\xc8" , "\xb6\x7e\xc9" } , { "\xd5\xe8\xc8\xda" , "\xb6\x7e\xc9\xc9" } , { "\xd5\xe8\xc8\xdd" , "\xb6\x7e\xc9\xd6" } , { "\xd5\xe8\xc8\xde" , "\xb6\x7e\xc9\xda" } , { "\xd5\xe8\xc9" , "\xb6\xa3\xed" } , { "\xd5\xe8\xc9\xdd" , "\xb6\xa3\xd9\xed" } , { "\xd5\xe8\xca" , "\xb6\xa5\xc9" } , { "\xd5\xe8\xcb" , "\xb6\xa7\xc9" } , { "\xd5\xe8\xcc" , "\xb6\xa9\xc9" } , { "\xd5\xe8\xcc\xa2" , "\xb6\xa9\xc9\xc5" } , { "\xd5\xe8\xcc\xda" , "\xb6\xa9\xc9\xc9" } , { "\xd5\xe8\xcc\xdb" , "\xce\xb6\xa9\xc9" } , { "\xd5\xe8\xcc\xdb\xa2" , "\xcf\xb6\xa9\xc9" } , { "\xd5\xe8\xcc\xdc" , "\xb6\xa9\xc9\xd2" } , { "\xd5\xe8\xcc\xdd" , "\xb6\xa9\xc9\xd6" } , { "\xd5\xe8\xcc\xdf" , "\xb6\xa9\xc9\xde" } , { "\xd5\xe8\xcc\xe1" , "\xb6\xa9\xc9\xe0" } , { "\xd5\xe8\xcc\xe1\xa2" , "\xb6\xa9\xc9\xe1" } , { "\xd5\xe8\xcc\xe5\xa2" , "\xb6\xa9\xc9\xc9\xe1" } , { "\xd5\xe8\xcd" , "\xb6\xab\xc9" } , { "\xd5\xe8\xcd\xa2" , "\xb6\xab\xc9\xc5" } , { "\xd5\xe8\xcd\xda" , "\xb6\xab\xc9\xc9" } , { "\xd5\xe8\xcd\xda\xa2" , "\xb6\xab\xc9\xc9\xc5" } , { "\xd5\xe8\xcd\xdb" , "\xce\xb6\xab\xc9" } , { "\xd5\xe8\xcd\xdc" , "\xb6\xab\xc9\xd2" } , { "\xd5\xe8\xcd\xdd" , "\xb6\xab\xc9\xd6" } , { "\xd5\xe8\xcd\xdd\xa2" , "\xb6\xab\xc9\xd6\xc5" } , { "\xd5\xe8\xcd\xde" , "\xb6\xab\xc9\xda" } , { "\xd5\xe8\xcd\xe1" , "\xb6\xab\xc9\xe0" } , { "\xd5\xe8\xcd\xe5" , "\xb6\xab\xc9\xc9\xe0" } , { "\xd5\xe8\xcd\xe5\xa2" , "\xb6\xab\xc9\xc9\xe1" } , { "\xd5\xe8\xcd\xe6" , "\xb6\xab\xc9\xc9\xe4" } , { "\xd5\xe8\xcd\xe8" , "\xb6\xab\xc9\xc3" } , { "\xd5\xe8\xcd\xe8\xb8" , "\xb6\xab\x53\xc9" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\xb6\xab\xab\xc9\xc9" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\xb6\xab\xb6\xab\xc9" } , { "\xd5\xe8\xcf" , "\xb8\xc9" } , { "\xd5\xe8\xcf\xa2" , "\xb8\xc9\xc5" } , { "\xd5\xe8\xcf\xda" , "\xb8\xc9\xc9" } , { "\xd5\xe8\xcf\xda\xa2" , "\xb8\xc9\xc9\xc5" } , { "\xd5\xe8\xcf\xdb" , "\xca\xb8\xc9" } , { "\xd5\xe8\xcf\xdb\xa2" , "\xcb\xb8\xc9" } , { "\xd5\xe8\xcf\xdc" , "\xb8\xc9\xd2" } , { "\xd5\xe8\xcf\xdc\xa2" , "\xb8\xc9\xd3" } , { "\xd5\xe8\xcf\xdd" , "\xb8\xc9\xd6" } , { "\xd5\xe8\xcf\xde" , "\xb8\xc9\xda" } , { "\xd5\xe8\xcf\xdf" , "\xb8\xc9\xde" } , { "\xd5\xe8\xcf\xdf\xa2" , "\xb8\xc9\xde\xc5" } , { "\xd5\xe8\xcf\xe1" , "\xb8\xc9\xe0" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xb8\xc9\xe1" } , { "\xd5\xe8\xcf\xe2" , "\xb8\xc9\xe4" } , { "\xd5\xe8\xcf\xe5" , "\xb8\xc9\xc9\xe0" } , { "\xd5\xe8\xcf\xe6" , "\xb8\xc9\xc9\xe4" } , { "\xd5\xe8\xcf\xe7" , "\xb8\xc9\xc9\xe8" } , { "\xd5\xe8\xcf\xe8\xa2" , "\xb8\xc9\xc3\xc5" } , { "\xd5\xe8\xcf\xe8\xcc" , "\xb8\xa9\xc9" } , { "\xd5\xe8\xcf\xe8\xd4" , "\xb8\xb4\xc9" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\xb8\xb4\xc9\xc9" } , { "\xd5\xe8\xcf\xe8\xd5" , "\xb8\xb6\xc9" } , { "\xd5\xe8\xd1" , "\xb6\xb1\xc9" } , { "\xd5\xe8\xd1\xda" , "\xb6\xb1\xc9\xc9" } , { "\xd5\xe8\xd1\xda\xa2" , "\xb6\xb1\xc9\xc9\xc5" } , { "\xd5\xe8\xd1\xdb" , "\xce\xb6\xb1\xc9" } , { "\xd5\xe8\xd1\xdc" , "\xb6\xb1\xc9\xd2" } , { "\xd5\xe8\xd1\xdd" , "\xb6\xb1\xc9\xd6" } , { "\xd5\xe8\xd1\xe0" , "\xb6\xb1\xc9\xe8" } , { "\xd5\xe8\xd1\xe1" , "\xb6\xb1\xc9\xe0" } , { "\xd5\xe8\xd1\xe2" , "\xb6\xb1\xc9\xe4" } , { "\xd5\xe8\xd1\xe5" , "\xb6\xb1\xc9\xc9\xe0" } , { "\xd5\xe8\xd1\xe5\xa2" , "\xb6\xb1\xc9\xc9\xe1" } , { "\xd5\xe8\xd2" , "\xb6\xb3" } , { "\xd5\xe8\xd2\xe1" , "\xb6\xb3\xe0" } , { "\xd5\xe8\xd4" , "\xb9\xc9" } , { "\xd5\xe8\xd4\xa2" , "\xb9\xc9\xc5" } , { "\xd5\xe8\xd4\xda" , "\xb9\xc9\xc9" } , { "\xd5\xe8\xd4\xda\xa2" , "\xb9\xc9\xc9\xc5" } , { "\xd5\xe8\xd4\xdb" , "\xca\xb9\xc9" } , { "\xd5\xe8\xd4\xdc" , "\xb9\xc9\xd2" } , { "\xd5\xe8\xd4\xdd" , "\xb9\xc9\xd6" } , { "\xd5\xe8\xd4\xe1" , "\xb9\xc9\xe0" } , { "\xd5\xe8\xd4\xe2" , "\xb9\xc9\xe4" } , { "\xd5\xe8\xd4\xe5" , "\xb9\xc9\xc9\xe0" } , { "\xd5\xe8\xd4\xe5\xa2" , "\xb9\xc9\xc9\xe1" } , { "\xd5\xe8\xd5" , "\xb6\xb6\xc9" } , { "\xd5\xe8\xd5\xa2" , "\xb6\xb6\xc9\xc5" } , { "\xd5\xe8\xd5\xda" , "\xb6\xb6\xc9\xc9" } , { "\xd5\xe8\xd5\xda\xa2" , "\xb6\xb6\xc9\xc9\xc5" } , { "\xd5\xe8\xd5\xdb" , "\xce\xb6\xb6\xc9" } , { "\xd5\xe8\xd5\xdc" , "\xb6\xb6\xc9\xd2" } , { "\xd5\xe8\xd5\xdd" , "\xb6\xb6\xc9\xd6" } , { "\xd5\xe8\xd5\xde" , "\xb6\xb6\xc9\xda" } , { "\xd5\xe8\xd5\xdf\xa2" , "\xb6\xb6\xc9\xde\xc5" } , { "\xd5\xe8\xd5\xe1" , "\xb6\xb6\xc9\xe0" } , { "\xd5\xe8\xd5\xe2" , "\xb6\xb6\xc9\xe4" } , { "\xd5\xe8\xd5\xe5" , "\xb6\xb6\xc9\xc9\xe0" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\xb6\xb8\xc9\xd2" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\xb6\xb8\xc9\xd6" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\xb6\xb8\xc9\xe0" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\xb6\xb9\xc9\xc9" } , { "\xd5\xe8\xd6\xe1" , "\xb6\xba\xc9\xe0" } , { "\xd5\xe8\xd6\xe8\xbe" , "\xb6\xba\x63\xf3" } , { "\xd5\xe8\xd7" , "\xb6\xbb\xc9" } , { "\xd5\xe8\xd7\xe8\xc2" , "\xb6\xbb\x6c\xc9" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\xce\xb6\xbb\x6c\xc9" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\xb6\xbb\x6d\xc9\xc5" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\xb6\xbb\x6d\xc9\xc9" } , { "\xd5\xe8\xd8\xdc" , "\xb6\xbe\xfa\xd2" } , { "\xd5\xe8\xd9" , "\xb6" } , { "\xd5\xe8\xd9\xa6" , "\xb6\x3c" } , { "\xd5\xe8\xd9\xb3" , "\xb6\x48\xed" } , { "\xd5\xe8\xd9\xb8" , "\xb6\x53\xc9" } , { "\xd5\xe8\xd9\xb8\xda" , "\xb6\x53\xc9\xc9" } , { "\xd5\xe8\xd9\xb8\xdb" , "\xb6\xca\x53\xc9" } , { "\xd5\xe8\xd9\xc2" , "\xb6\x6c\xc9" } , { "\xd5\xe8\xd9\xc2\xdc" , "\xb6\x6c\xc9\xd2" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\xb6\x6c\xc9\xc9\xe1" } , { "\xd5\xe8\xd9\xc6" , "\xb6\x7b\xc9" } , { "\xd5\xe8\xd9\xc6\xe5" , "\xb6\x7b\xc9\xc9\xe0" } , { "\xd5\xe8\xd9\xcc" , "\xb6\xa9\xc9" } , { "\xd5\xe8\xd9\xcc\xdc" , "\xb6\xa9\xc9\xd2" } , { "\xd5\xe8\xd9\xcd" , "\xb6\xab\xc9" } , { "\xd5\xe8\xd9\xcd\xa2" , "\xb6\xab\xc9\xc5" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\xb6\xb4\xc9\xc7" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\xb6\xb4\xc9\xc9\xe2" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\xb6\xb4\xc9\xc9\xe3" } , { "\xd5\xe8\xd9\xd1\xe1" , "\xb6\xb1\xc9\xe0" } , { "\xd5\xe8\xd9\xd1\xe2" , "\xb6\xb1\xc9\xe4" } , { "\xd5\xe8\xd9\xd4" , "\xb6\xb4\xc9" } , { "\xd5\xe8\xd9\xd4\xda" , "\xb6\xb4\xc9\xc9" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\xb6\xb4\xc9\xc9\xc5" } , { "\xd5\xe8\xd9\xd4\xdb" , "\xb6\xca\xb4\xc9" } , { "\xd5\xe8\xd9\xd4\xdc" , "\xb6\xb4\xc9\xd2" } , { "\xd5\xe8\xd9\xd4\xe1" , "\xb6\xb4\xc9\xe0" } , { "\xd5\xe8\xd9\xd4\xe2" , "\xb6\xb4\xc9\xe4" } , { "\xd5\xe8\xe8" , "\xb6\xc9\xc3" } , { "\xd5\xe8\xe9\xcf" , "\xb6\xad\xf7" } , { "\xd5\xe8\xe9\xd4" , "\xb6\xb4\xc9" } , { "\xd5\xe9" , "\xb6\xc9" } , { "\xd6" , "\xba\xc9" } , { "\xd6\xa1" , "\xba\xc9\xc6" } , { "\xd6\xa2" , "\xba\xc9\xc5" } , { "\xd6\xa3" , "\xba\xc9\x26" } , { "\xd6\xd6" , "\xba\xc9\xba\xc9" } , { "\xd6\xda" , "\xba\xc9\xc9" } , { "\xd6\xda\xa2" , "\xba\xc9\xc9\xc5" } , { "\xd6\xda\xa3" , "\xba\xc9\xc9\x26" } , { "\xd6\xdb" , "\xca\xba\xc9" } , { "\xd6\xdb\xa2" , "\xcb\xba\xc9" } , { "\xd6\xdb\xa3" , "\xca\xba\xc9\x26" } , { "\xd6\xdb\xcc\xe8" , "\xca\xba\xc9\xa9\xc9\xc3" } , { "\xd6\xdc" , "\xba\xc9\xd2" } , { "\xd6\xdc\xa2" , "\xba\xc9\xd3" } , { "\xd6\xdc\xa3" , "\xba\xc9\xd2\x26" } , { "\xd6\xdd" , "\xba\xc9\xd6" } , { "\xd6\xdd\xa2" , "\xba\xc9\xd6\xc5" } , { "\xd6\xde" , "\xba\xc9\xda" } , { "\xd6\xdf" , "\xba\xc9\xde" } , { "\xd6\xe0" , "\xba\xc9\xe8" } , { "\xd6\xe0\xa2" , "\xba\xc9\xe9" } , { "\xd6\xe1" , "\xba\xc9\xe0" } , { "\xd6\xe1\xa2" , "\xba\xc9\xe1" } , { "\xd6\xe2" , "\xba\xc9\xe4" } , { "\xd6\xe3" , "\xba\xc9\xe8" } , { "\xd6\xe4" , "\xba\xc9\xc9\xe8" } , { "\xd6\xe5" , "\xba\xc9\xc9\xe0" } , { "\xd6\xe5\xa2" , "\xba\xc9\xc9\xe1" } , { "\xd6\xe6" , "\xba\xc9\xc9\xe4" } , { "\xd6\xe8" , "\xba\xc9\xc3" } , { "\xd6\xe8\xb3" , "\xba\x48\xed" } , { "\xd6\xe8\xb3\xa2" , "\xba\x48\xc5\xed" } , { "\xd6\xe8\xb3\xda" , "\xba\x48\xed\xc9" } , { "\xd6\xe8\xb3\xda\xa2" , "\xba\x48\xed\xc9\xc5" } , { "\xd6\xe8\xb3\xdb" , "\xce\xba\x48\xed" } , { "\xd6\xe8\xb3\xdb\xa2" , "\xcf\xba\x48\xed" } , { "\xd6\xe8\xb3\xdc" , "\xba\x48\xed\xd2" } , { "\xd6\xe8\xb3\xdd" , "\xba\x48\xd6\xed" } , { "\xd6\xe8\xb3\xde" , "\xba\x48\xda\xed" } , { "\xd6\xe8\xb3\xdf" , "\xba\x48\xde\xed" } , { "\xd6\xe8\xb3\xe0\xa2" , "\xba\x48\xe9\xed" } , { "\xd6\xe8\xb3\xe5" , "\xba\x48\xed\xc9\xe0" } , { "\xd6\xe8\xb3\xe5\xa2" , "\xba\x48\xed\xc9\xe1" } , { "\xd6\xe8\xb3\xe8" , "\xba\x48\xc3\xed" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xba\x47\x6c\xc9" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\xba\x47\xab\xc9\xda" } , { "\xd6\xe8\xb3\xe8\xcf" , "\xba\x4a\xed" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\xba\x4a\xed\xc9" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\xce\xba\x4a\xed" } , { "\xd6\xe8\xb3\xe8\xd6" , "\xba\x4b\xc9" } , { "\xd6\xe8\xb4\xda" , "\xba\x4c\xc9\xc9" } , { "\xd6\xe8\xb5\xda" , "\xba\x4e\xc9\xc9" } , { "\xd6\xe8\xb5\xdd" , "\xba\x4e\xc9\xd6" } , { "\xd6\xe8\xb8" , "\xba\x53\xc9" } , { "\xd6\xe8\xb8\xa2" , "\xba\x53\xc9\xc5" } , { "\xd6\xe8\xb8\xda" , "\xba\x53\xc9\xc9" } , { "\xd6\xe8\xb8\xdb" , "\xce\xba\x53\xc9" } , { "\xd6\xe8\xb8\xdb\xa2" , "\xcf\xba\x53\xc9" } , { "\xd6\xe8\xb8\xe1" , "\xba\x53\xc9\xe0" } , { "\xd6\xe8\xb8\xe8" , "\xba\x53\xc9\xc3" } , { "\xd6\xe8\xba" , "\xba\x57\xf0" } , { "\xd6\xe8\xba\xda" , "\xba\x58" } , { "\xd6\xe8\xba\xe5" , "\xba\x58\xe0" } , { "\xd6\xe8\xbd" , "\xba\x60\xf2" } , { "\xd6\xe8\xbd\xa2" , "\xba\x60\xc5\xf2" } , { "\xd6\xe8\xbd\xa3" , "\xba\x60\xf2\x26" } , { "\xd6\xe8\xbd\xda" , "\xba\x60\xf2\xc9" } , { "\xd6\xe8\xbd\xda\xa1" , "\xba\x60\xf2\xc9\xc6" } , { "\xd6\xe8\xbd\xda\xa2" , "\xba\x60\xf2\xc9\xc5" } , { "\xd6\xe8\xbd\xdb" , "\xce\xba\x60\xf2" } , { "\xd6\xe8\xbd\xdb\xa2" , "\xcf\xba\x60\xf2" } , { "\xd6\xe8\xbd\xdb\xa3" , "\xce\xba\x60\xf2\x26" } , { "\xd6\xe8\xbd\xdc" , "\xba\x60\xf2\xd2" } , { "\xd6\xe8\xbd\xdd" , "\xba\x60\xd6\xf2" } , { "\xd6\xe8\xbd\xdd\xa2" , "\xba\x60\xd6\xc5\xf2" } , { "\xd6\xe8\xbd\xde" , "\xba\x60\xda\xf2" } , { "\xd6\xe8\xbd\xdf" , "\xba\x60\xde\xf2" } , { "\xd6\xe8\xbd\xe0" , "\xba\x60\xe8\xf2" } , { "\xd6\xe8\xbd\xe1" , "\xba\x60\xe0\xf2" } , { "\xd6\xe8\xbd\xe2" , "\xba\x60\xe4\xf2" } , { "\xd6\xe8\xbd\xe5" , "\xba\x60\xf2\xc9\xe0" } , { "\xd6\xe8\xbd\xe5\xa2" , "\xba\x60\xf2\xc9\xe1" } , { "\xd6\xe8\xbd\xe6" , "\xba\x60\xf2\xc9\xe4" } , { "\xd6\xe8\xbd\xe8" , "\xba\x60\xc3\xf2" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\xba\x60\xc3\xf2\x48\xed\xc9\xe5" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\xba\x60\xc3\xf2\x69\xc9\xc9\xe0" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\xba\x60\xc3\xf2\x71\xf6\xc9\xe0" } , { "\xd6\xe8\xbd\xe8\xc8" , "\xba\x60\xc3\xf2\x7e\xc9" } , { "\xd6\xe8\xbd\xe8\xcd" , "\xba\x60\xf2\xac" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\xba\x60\xf2\xac\xc5" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\xba\x60\xf2\xac\xc9" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\xba\x60\xf2\xac\xc9\xc5" } , { "\xd6\xe8\xbd\xe8\xcf" , "\xba\x60\xc4\xf2" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\xba\x60\xc4\xc5\xf2" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\xba\x60\xc4\xf2\xc9" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\x60\xc4\xf2\xc9\xc5" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\xce\xba\x60\xc4\xf2" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\xba\x60\xc4\xf2\xd2" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\xba\x60\xd7\xf2" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\xba\x60\xc4\xe0\xf2" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\xba\x60\xc4\xf2\xc9\xe0" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\xba\x60\xc4\xf2\xc9\xe1" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\xba\x60\xc4\xf2\xac\xc9\x26" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\xba\x60\xc3\xf2\xad\xc3\xf7\xb1\xc9\xc9\xe0" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xba\x60\xc3\xf2\xb1\xc9\xc9" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\xba\x60\xc3\xf2\xb4\xc9\xc9" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\xba\x60\xc3\xf2\xb4\xc9\xe4" } , { "\xd6\xe8\xbe" , "\xba\x63\xf3" } , { "\xd6\xe8\xbe\xa2" , "\xba\x63\xc5\xf3" } , { "\xd6\xe8\xbe\xa3" , "\xba\x63\xf3\x26" } , { "\xd6\xe8\xbe\xda" , "\xba\x63\xf3\xc9" } , { "\xd6\xe8\xbe\xda\xa2" , "\xba\x63\xf3\xc9\xc5" } , { "\xd6\xe8\xbe\xda\xa3" , "\xba\x63\xf3\xc9\x26" } , { "\xd6\xe8\xbe\xdb" , "\xce\xba\x63\xf3" } , { "\xd6\xe8\xbe\xdb\xa2" , "\xcf\xba\x63\xf3" } , { "\xd6\xe8\xbe\xdc" , "\xba\x63\xf3\xd2" } , { "\xd6\xe8\xbe\xdd" , "\xba\x63\xd6\xf3" } , { "\xd6\xe8\xbe\xde" , "\xba\x63\xda\xf3" } , { "\xd6\xe8\xbe\xe1" , "\xba\x63\xe0\xf3" } , { "\xd6\xe8\xbe\xe5" , "\xba\x63\xf3\xc9\xe0" } , { "\xd6\xe8\xbe\xe5\xa2" , "\xba\x63\xf3\xc9\xe1" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\xba\x63\xc3\xf3\x6c\xc9\xda" } , { "\xd6\xe8\xbe\xe8\xcd" , "\xba\x63\xf3\xac" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\xba\x63\xf3\xac\xc5" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\xba\x63\xf3\xac\xc9" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\xba\x63\xf3\xac\xd2" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\xba\x63\xf3\xac\xe0" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\xba\x63\xc4\xf3\xd2" } , { "\xd6\xe8\xbf\xdb\xa3" , "\xce\xba\x65\xf4\x26" } , { "\xd6\xe8\xbf\xe8" , "\xba\x65\xc3\xf4" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\xba\x65\xf4\xac\xda" } , { "\xd6\xe8\xc1" , "\xba\x69\xc9" } , { "\xd6\xe8\xc1\xa1" , "\xba\x69\xc9\xc6" } , { "\xd6\xe8\xc1\xa2" , "\xba\x69\xc9\xc5" } , { "\xd6\xe8\xc1\xda" , "\xba\x69\xc9\xc9" } , { "\xd6\xe8\xc1\xda\xa2" , "\xba\x69\xc9\xc9\xc5" } , { "\xd6\xe8\xc1\xdb" , "\xce\xba\x69\xc9" } , { "\xd6\xe8\xc1\xdc" , "\xba\x69\xc9\xd2" } , { "\xd6\xe8\xc1\xdd" , "\xba\x6a" } , { "\xd6\xe8\xc1\xdd\xa2" , "\xba\x6a\xc5" } , { "\xd6\xe8\xc1\xdd\xa3" , "\xba\x6a\x26" } , { "\xd6\xe8\xc1\xde" , "\xba\x6b\xfc" } , { "\xd6\xe8\xc1\xe1" , "\xba\x69\xc9\xe0" } , { "\xd6\xe8\xc1\xe4" , "\xba\x69\xc9\xc9\xe8" } , { "\xd6\xe8\xc1\xe5" , "\xba\x69\xc9\xc9\xe0" } , { "\xd6\xe8\xc1\xe5\xa2" , "\xba\x69\xc9\xc9\xe1" } , { "\xd6\xe8\xc1\xe5\xa3" , "\xba\x69\xc9\xc9\xe0\x26" } , { "\xd6\xe8\xc1\xe8\xcd" , "\xba\x69\xab\xc9" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\xba\x69\xab\xc9\xc9" } , { "\xd6\xe8\xc1\xe8\xd4" , "\xba\x69\xb4\xc9" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\xba\x69\xb4\xc9\xc5" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\xba\x69\xb4\xc9\xc9" } , { "\xd6\xe8\xc2" , "\xba\x6c\xc9" } , { "\xd6\xe8\xc2\xda" , "\xba\x6c\xc9\xc9" } , { "\xd6\xe8\xc2\xdb" , "\xce\xba\x6c\xc9" } , { "\xd6\xe8\xc2\xdc" , "\xba\x6c\xc9\xd2" } , { "\xd6\xe8\xc2\xe5" , "\xba\x6c\xc9\xc9\xe0" } , { "\xd6\xe8\xc2\xe8\xcf" , "\xba\x6d\xc9" } , { "\xd6\xe8\xc4" , "\xba\x71\xf6" } , { "\xd6\xe8\xc4\xe1" , "\xba\x71\xe0\xf6" } , { "\xd6\xe8\xc6" , "\xba\x7b\xc9" } , { "\xd6\xe8\xc6\xda" , "\xba\x7b\xc9\xc9" } , { "\xd6\xe8\xc6\xdb" , "\xce\xba\x7b\xc9" } , { "\xd6\xe8\xc6\xdd" , "\xba\x7b\xc9\xd6" } , { "\xd6\xe8\xc6\xdd\xa2" , "\xba\x7b\xc9\xd6\xc5" } , { "\xd6\xe8\xc6\xde" , "\xba\x7b\xc9\xda" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\xba\x7d\xc9\xd6" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\xba\x7b\xbb\xc9\xc3" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\xba\x7b\xbb\xb1\xb1\xc9\xc9\xe0" } , { "\xd6\xe8\xc8" , "\xba\x7e\xc9" } , { "\xd6\xe8\xc8\xa2" , "\xba\x7e\xc9\xc5" } , { "\xd6\xe8\xc8\xda" , "\xba\x7e\xc9\xc9" } , { "\xd6\xe8\xc8\xda\xa2" , "\xba\x7e\xc9\xc9\xc5" } , { "\xd6\xe8\xc8\xdb" , "\xce\xba\x7e\xc9" } , { "\xd6\xe8\xc8\xdb\xa2" , "\xcf\xba\x7e\xc9" } , { "\xd6\xe8\xc8\xdc" , "\xba\x7e\xc9\xd2" } , { "\xd6\xe8\xc8\xdd" , "\xba\x7e\xc9\xd6" } , { "\xd6\xe8\xc8\xe1" , "\xba\x7e\xc9\xe0" } , { "\xd6\xe8\xc8\xe2" , "\xba\x7e\xc9\xe4" } , { "\xd6\xe8\xc8\xe2\xa3" , "\xba\x7e\xc9\xe4\x26" } , { "\xd6\xe8\xc8\xe5" , "\xba\x7e\xc9\xc9\xe0" } , { "\xd6\xe8\xc8\xe5\xa2" , "\xba\x7e\xc9\xc9\xe1" } , { "\xd6\xe8\xc8\xe6" , "\xba\x7e\xc9\xc9\xe4" } , { "\xd6\xe8\xc8\xe8\xcf" , "\xba\xa1\xc9" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\xba\xa1\xc9\xc9" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\xba\xa1\xc9\xe0" } , { "\xd6\xe8\xc9" , "\xba\xa3\xed" } , { "\xd6\xe8\xca" , "\xba\xa5\xc9" } , { "\xd6\xe8\xca\xda" , "\xba\xa5\xc9\xc9" } , { "\xd6\xe8\xca\xe1" , "\xba\xa5\xc9\xe0" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\xba\xa6\xc9\xda" } , { "\xd6\xe8\xcb\xda" , "\xba\xa7\xc9\xc9" } , { "\xd6\xe8\xcc" , "\xba\xa9\xc9" } , { "\xd6\xe8\xcc\xa2" , "\xba\xa9\xc9\xc5" } , { "\xd6\xe8\xcc\xda" , "\xba\xa9\xc9\xc9" } , { "\xd6\xe8\xcc\xda\xa2" , "\xba\xa9\xc9\xc9\xc5" } , { "\xd6\xe8\xcc\xdb" , "\xce\xba\xa9\xc9" } , { "\xd6\xe8\xcc\xdb\xa2" , "\xcf\xba\xa9\xc9" } , { "\xd6\xe8\xcc\xdc" , "\xba\xa9\xc9\xd2" } , { "\xd6\xe8\xcc\xdd" , "\xba\xa9\xc9\xd6" } , { "\xd6\xe8\xcc\xdd\xa2" , "\xba\xa9\xc9\xd6\xc5" } , { "\xd6\xe8\xcc\xe0\xa2" , "\xba\xa9\xc9\xe9" } , { "\xd6\xe8\xcc\xe1" , "\xba\xa9\xc9\xe0" } , { "\xd6\xe8\xcc\xe4" , "\xba\xa9\xc9\xc9\xe8" } , { "\xd6\xe8\xcc\xe5" , "\xba\xa9\xc9\xc9\xe0" } , { "\xd6\xe8\xcc\xe5\xa2" , "\xba\xa9\xc9\xc9\xe1" } , { "\xd6\xe8\xcd" , "\xba\xab\xc9" } , { "\xd6\xe8\xcd\xa2" , "\xba\xab\xc9\xc5" } , { "\xd6\xe8\xcd\xa3" , "\xba\xab\xc9\x26" } , { "\xd6\xe8\xcd\xda" , "\xba\xab\xc9\xc9" } , { "\xd6\xe8\xcd\xdb" , "\xce\xba\xab\xc9" } , { "\xd6\xe8\xcd\xdd" , "\xba\xab\xc9\xd6" } , { "\xd6\xe8\xcd\xdd\xa2" , "\xba\xab\xc9\xd6\xc5" } , { "\xd6\xe8\xcd\xde" , "\xba\xab\xc9\xda" } , { "\xd6\xe8\xcd\xe1" , "\xba\xab\xc9\xe0" } , { "\xd6\xe8\xcd\xe5" , "\xba\xab\xc9\xc9\xe0" } , { "\xd6\xe8\xcd\xe5\xa2" , "\xba\xab\xc9\xc9\xe1" } , { "\xd6\xe8\xcd\xe8" , "\xba\xab\xc9\xc3" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\xba\xab\x60\xf2\xc9" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\xba\xab\xab\xc9\xc9" } , { "\xd6\xe8\xcd\xe8\xcf" , "\xba\xab\xc9\xc4" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\xba\xab\xc9\xc4\xc9" } , { "\xd6\xe8\xcf" , "\xba\xc9\xc4" } , { "\xd6\xe8\xcf\xa2" , "\xba\xc9\xc4\xc5" } , { "\xd6\xe8\xcf\xda" , "\xba\xc9\xc4\xc9" } , { "\xd6\xe8\xcf\xdc" , "\xba\xc9\xc4\xd2" } , { "\xd6\xe8\xcf\xdd" , "\xba\xc9\xd7" } , { "\xd6\xe8\xcf\xde" , "\xba\xc9\xdb" } , { "\xd6\xe8\xcf\xdf" , "\xba\xc9\xc4\xde" } , { "\xd6\xe8\xcf\xe0" , "\xba\xc9\xc4\xe8" } , { "\xd6\xe8\xcf\xe2" , "\xba\xc9\xc4\xe4" } , { "\xd6\xe8\xcf\xe5" , "\xba\xc9\xc4\xc9\xe0" } , { "\xd6\xe8\xcf\xe8" , "\xba\xc9\xc4\xc3" } , { "\xd6\xe8\xcf\xe8\xb3" , "\xba\xad\xc3\xf7\x48\xed" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\xba\xad\xc3\xf7\xab\xc9\xc9" } , { "\xd6\xe8\xd1" , "\xba\xb1\xc9" } , { "\xd6\xe8\xd1\xda" , "\xba\xb1\xc9\xc9" } , { "\xd6\xe8\xd1\xda\xa2" , "\xba\xb1\xc9\xc9\xc5" } , { "\xd6\xe8\xd1\xdc" , "\xba\xb1\xc9\xd2" } , { "\xd6\xe8\xd1\xdd" , "\xba\xb1\xc9\xd6" } , { "\xd6\xe8\xd1\xde" , "\xba\xb1\xc9\xda" } , { "\xd6\xe8\xd1\xe0" , "\xba\xb1\xc9\xe8" } , { "\xd6\xe8\xd1\xe1" , "\xba\xb1\xc9\xe0" } , { "\xd6\xe8\xd1\xe2" , "\xba\xb1\xc9\xe4" } , { "\xd6\xe8\xd1\xe5" , "\xba\xb1\xc9\xc9\xe0" } , { "\xd6\xe8\xd4" , "\xba\xb4\xc9" } , { "\xd6\xe8\xd4\xa2" , "\xba\xb4\xc9\xc5" } , { "\xd6\xe8\xd4\xda" , "\xba\xb4\xc9\xc9" } , { "\xd6\xe8\xd4\xdb" , "\xce\xba\xb4\xc9" } , { "\xd6\xe8\xd4\xdc" , "\xba\xb4\xc9\xd2" } , { "\xd6\xe8\xd4\xdd" , "\xba\xb4\xc9\xd6" } , { "\xd6\xe8\xd4\xe2" , "\xba\xb4\xc9\xe4" } , { "\xd6\xe8\xd5" , "\xba\xb6\xc9" } , { "\xd6\xe8\xd5\xda" , "\xba\xb6\xc9\xc9" } , { "\xd6\xe8\xd6" , "\xba\xba\xc9" } , { "\xd6\xe8\xd6\xda" , "\xba\xba\xc9\xc9" } , { "\xd6\xe8\xd6\xdb" , "\xce\xba\xba\xc9" } , { "\xd6\xe8\xd6\xdd" , "\xba\xba\xc9\xd6" } , { "\xd6\xe8\xd6\xde" , "\xba\xba\xc9\xda" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\xba\xba\x6a" } , { "\xd6\xe8\xd7\xe2" , "\xba\xbb\xc9\xe4" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\xba\xab\xc9\xc9\xc7" } , { "\xd6\xe8\xe8" , "\xba\xc9\xc3" } , { "\xd7" , "\xbb\xc9" } , { "\xd7\xa1" , "\xbb\xc9\xc6" } , { "\xd7\xa2" , "\xbb\xc9\xc5" } , { "\xd7\xa3" , "\xbb\xc9\x26" } , { "\xd7\xd0" , "\xbb\xc9\xad\xf7" } , { "\xd7\xd0\xd1" , "\xbb\xc9\xad\xf7\xb1\xc9" } , { "\xd7\xda" , "\xbb\xc9\xc9" } , { "\xd7\xda\xa1" , "\xbb\xc9\xc9\xc6" } , { "\xd7\xda\xa2" , "\xbb\xc9\xc9\xc5" } , { "\xd7\xda\xa3" , "\xbb\xc9\xc9\x26" } , { "\xd7\xdb" , "\xca\xbb\xc9" } , { "\xd7\xdb\xa2" , "\xcb\xbb\xc9" } , { "\xd7\xdb\xa2\xa2" , "\xcb\xbb\xc9\xc5" } , { "\xd7\xdb\xa2\xa3" , "\xcb\xbb\xc9\x26" } , { "\xd7\xdb\xbd\xe8" , "\xca\xbb\xc9\x60\xc3\xf2" } , { "\xd7\xdc" , "\xbb\xc9\xd2" } , { "\xd7\xdc\xa2" , "\xbb\xc9\xd3" } , { "\xd7\xdd" , "\xbb\xc9\xd6" } , { "\xd7\xdd\xa1" , "\xbb\xc9\xd6\xc6" } , { "\xd7\xdd\xa2" , "\xbb\xc9\xd6\xc5" } , { "\xd7\xdd\xa3" , "\xbb\xc9\xd6\x26" } , { "\xd7\xde" , "\xbb\xc9\xda" } , { "\xd7\xde\xa1" , "\xbb\xc9\xda\xc6" } , { "\xd7\xde\xa2" , "\xbb\xc9\xda\xc5" } , { "\xd7\xdf" , "\xbb\xc9\xde" } , { "\xd7\xdf\xa2" , "\xbb\xc9\xde\xc5" } , { "\xd7\xe0" , "\xbb\xc9\xe8" } , { "\xd7\xe0\xa2" , "\xbb\xc9\xe9" } , { "\xd7\xe1" , "\xbb\xc9\xe0" } , { "\xd7\xe1\xa2" , "\xbb\xc9\xe1" } , { "\xd7\xe2" , "\xbb\xc9\xe4" } , { "\xd7\xe2\xa2" , "\xbb\xc9\xe5" } , { "\xd7\xe3" , "\xbb\xc9\xe8" } , { "\xd7\xe4" , "\xbb\xc9\xc9\xe8" } , { "\xd7\xe4\xa2" , "\xbb\xc9\xc9\xe9" } , { "\xd7\xe5" , "\xbb\xc9\xc9\xe0" } , { "\xd7\xe5\xa2" , "\xbb\xc9\xc9\xe1" } , { "\xd7\xe6" , "\xbb\xc9\xc9\xe4" } , { "\xd7\xe6\xa2" , "\xbb\xc9\xc9\xe5" } , { "\xd7\xe6\xc2\xe8" , "\xbb\xc9\xc9\xe4\x6c\xc9\xc3" } , { "\xd7\xe7" , "\xbb\xc9\xc9\xe8" } , { "\xd7\xe7\xa2" , "\xbb\xc9\xc9\xe9" } , { "\xd7\xe8" , "\xbb\xc9\xc3" } , { "\xd7\xe8\xb3" , "\xbb\x48\xed" } , { "\xd7\xe8\xb3\xa2" , "\xbb\x48\xc5\xed" } , { "\xd7\xe8\xb3\xda" , "\xbb\x48\xed\xc9" } , { "\xd7\xe8\xb3\xda\xa1" , "\xbb\x48\xed\xc9\xc6" } , { "\xd7\xe8\xb3\xda\xa2" , "\xbb\x48\xed\xc9\xc5" } , { "\xd7\xe8\xb3\xdb" , "\xce\xbb\x48\xed" } , { "\xd7\xe8\xb3\xdc" , "\xbb\x48\xed\xd2" } , { "\xd7\xe8\xb3\xdc\xa2" , "\xbb\x48\xed\xd3" } , { "\xd7\xe8\xb3\xdd" , "\xbb\x48\xd6\xed" } , { "\xd7\xe8\xb3\xde" , "\xbb\x48\xda\xed" } , { "\xd7\xe8\xb3\xdf" , "\xbb\x48\xde\xed" } , { "\xd7\xe8\xb3\xe0" , "\xbb\x48\xe8\xed" } , { "\xd7\xe8\xb3\xe1" , "\xbb\x48\xe0\xed" } , { "\xd7\xe8\xb3\xe1\xa2" , "\xbb\x48\xe1\xed" } , { "\xd7\xe8\xb3\xe2" , "\xbb\x48\xe4\xed" } , { "\xd7\xe8\xb3\xe2\xa2" , "\xbb\x48\xe5\xed" } , { "\xd7\xe8\xb3\xe4" , "\xbb\x48\xed\xc9\xe8" } , { "\xd7\xe8\xb3\xe5" , "\xbb\x48\xed\xc9\xe0" } , { "\xd7\xe8\xb3\xe5\xa2" , "\xbb\x48\xed\xc9\xe1" } , { "\xd7\xe8\xb3\xe6" , "\xbb\x48\xed\xc9\xe4" } , { "\xd7\xe8\xb3\xe6\xa2" , "\xbb\x48\xed\xc9\xe5" } , { "\xd7\xe8\xb3\xe7" , "\xbb\x48\xed\xc9\xe8" } , { "\xd7\xe8\xb3\xe8" , "\xbb\x48\xc3\xed" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\xce\xbb\x49\xed" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\xbb\x49\xd6\xed" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\xbb\x47\x53\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\xbb\x47\x60\xc3\xf2\x48\xed\xd2" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\xbb\x47\x60\xc3\xf2\x7b\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xbb\x47\x6c\xc9" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xce\xbb\x47\x6c\xc9" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xbb\x47\x6c\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\xce\xbb\x47\x7b\xc9" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\xbb\x47\x7b\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\xbb\x47\x7e\xc9\xc9" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\xce\xbb\x47\xa9\xc9" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\xbb\x47\xab\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\xbb\x47\xab\xc9\xda" } , { "\xd7\xe8\xb3\xe8\xcf" , "\xbb\x4a\xed" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\xbb\x4a\xed\xc9" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\xce\xbb\x4a\xed" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\xbb\x4a\xed\xd2" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\xbb\x4a\xed\xd3" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\xbb\x4a\xd6\xed" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\xbb\x4a\xda\xed" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\xbb\x4a\xe0\xed" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\xbb\x4a\xe4\xed" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\xbb\x4a\xed\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\xbb\x4a\xed\xc9\xe5" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xce\xbb\x47\xb1\xc9" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\xbb\x47\xb1\xc9\xd2" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\xbb\x47\xb1\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\xbb\x47\xb1\xc9\xe8" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xbb\x47\xb1\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xbb\x47\xb1\xc9\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xd4" , "\xbb\x47\xb4\xc9" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\xbb\x47\xb4\xc9\xc9" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\xce\xbb\x47\xb4\xc9" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\xbb\x47\xb4\xc9\xd2" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\xbb\x47\xb4\xc9\xe8" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\xbb\x47\xb4\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\xbb\x47\xb4\xc9\xe4" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\xbb\x47\xb4\xc9\xc9\xe8" } , { "\xd7\xe8\xb3\xe8\xd5" , "\xbb\x47\xb6\xc9" } , { "\xd7\xe8\xb3\xe8\xd7" , "\xbb\x47\xbb\xc9" } , { "\xd7\xe8\xb3\xe9" , "\xbb\x48\xed" } , { "\xd7\xe8\xb4" , "\xbb\x4c\xc9" } , { "\xd7\xe8\xb4\xa2" , "\xbb\x4c\xc9\xc5" } , { "\xd7\xe8\xb4\xda" , "\xbb\x4c\xc9\xc9" } , { "\xd7\xe8\xb4\xdb" , "\xce\xbb\x4c\xc9" } , { "\xd7\xe8\xb4\xdc" , "\xbb\x4c\xc9\xd2" } , { "\xd7\xe8\xb4\xe1" , "\xbb\x4c\xc9\xe0" } , { "\xd7\xe8\xb4\xe5\xa2" , "\xbb\x4c\xc9\xc9\xe1" } , { "\xd7\xe8\xb4\xe8\xcd" , "\xbb\x4c\xab\xc9" } , { "\xd7\xe8\xb4\xe9\xe1" , "\xbb\x4c\xc9\xe0" } , { "\xd7\xe8\xb5" , "\xbb\x4e\xc9" } , { "\xd7\xe8\xb5\xda" , "\xbb\x4e\xc9\xc9" } , { "\xd7\xe8\xb5\xdd" , "\xbb\x4e\xc9\xd6" } , { "\xd7\xe8\xb5\xde" , "\xbb\x4e\xc9\xda" } , { "\xd7\xe8\xb5\xe5" , "\xbb\x4e\xc9\xc9\xe0" } , { "\xd7\xe8\xb5\xe6" , "\xbb\x4e\xc9\xc9\xe4" } , { "\xd7\xe8\xb5\xe8" , "\xbb\x4e\xc9\xc3" } , { "\xd7\xe8\xb8" , "\xbb\x53\xc9" } , { "\xd7\xe8\xb8\xa2" , "\xbb\x53\xc9\xc5" } , { "\xd7\xe8\xb8\xda" , "\xbb\x53\xc9\xc9" } , { "\xd7\xe8\xb8\xdb" , "\xce\xbb\x53\xc9" } , { "\xd7\xe8\xb8\xdd" , "\xbb\x53\xc9\xd6" } , { "\xd7\xe8\xb8\xde" , "\xbb\x53\xc9\xda" } , { "\xd7\xe8\xb8\xdf" , "\xbb\x53\xc9\xde" } , { "\xd7\xe8\xb8\xe0" , "\xbb\x53\xc9\xe8" } , { "\xd7\xe8\xb8\xe1" , "\xbb\x53\xc9\xe0" } , { "\xd7\xe8\xb8\xe5" , "\xbb\x53\xc9\xc9\xe0" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\xbb\x54\xc9\xd2" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\xbb\x54\xc9\xe8" } , { "\xd7\xe8\xb9\xda" , "\xbb\x55\xef\xc9" } , { "\xd7\xe8\xba" , "\xbb\x57\xf0" } , { "\xd7\xe8\xba\xda" , "\xbb\x58" } , { "\xd7\xe8\xba\xdb" , "\xce\xbb\x57\xf0" } , { "\xd7\xe8\xba\xdc" , "\xbb\x59\xf0" } , { "\xd7\xe8\xba\xe1" , "\xbb\x57\xf0\xe0" } , { "\xd7\xe8\xba\xe8\xbc" , "\xbb\x5b\xc9" } , { "\xd7\xe8\xba\xe9\xdb" , "\xce\xbb\x57\xf0" } , { "\xd7\xe8\xbd" , "\xbb\x60\xf2" } , { "\xd7\xe8\xbd\xa2" , "\xbb\x60\xc5\xf2" } , { "\xd7\xe8\xbd\xda" , "\xbb\x60\xf2\xc9" } , { "\xd7\xe8\xbd\xda\xa1" , "\xbb\x60\xf2\xc9\xc6" } , { "\xd7\xe8\xbd\xda\xa2" , "\xbb\x60\xf2\xc9\xc5" } , { "\xd7\xe8\xbd\xdb" , "\xce\xbb\x60\xf2" } , { "\xd7\xe8\xbd\xdb\xa2" , "\xcf\xbb\x60\xf2" } , { "\xd7\xe8\xbd\xdc" , "\xbb\x60\xf2\xd2" } , { "\xd7\xe8\xbd\xdc\xa2" , "\xbb\x60\xf2\xd3" } , { "\xd7\xe8\xbd\xdd" , "\xbb\x60\xd6\xf2" } , { "\xd7\xe8\xbd\xde" , "\xbb\x60\xda\xf2" } , { "\xd7\xe8\xbd\xde\xa2" , "\xbb\x60\xda\xc5\xf2" } , { "\xd7\xe8\xbd\xe0" , "\xbb\x60\xe8\xf2" } , { "\xd7\xe8\xbd\xe0\xa2" , "\xbb\x60\xe9\xf2" } , { "\xd7\xe8\xbd\xe1" , "\xbb\x60\xe0\xf2" } , { "\xd7\xe8\xbd\xe1\xa2" , "\xbb\x60\xe1\xf2" } , { "\xd7\xe8\xbd\xe2" , "\xbb\x60\xe4\xf2" } , { "\xd7\xe8\xbd\xe2\xa2" , "\xbb\x60\xe5\xf2" } , { "\xd7\xe8\xbd\xe4" , "\xbb\x60\xf2\xc9\xe8" } , { "\xd7\xe8\xbd\xe5" , "\xbb\x60\xf2\xc9\xe0" } , { "\xd7\xe8\xbd\xe5\xa2" , "\xbb\x60\xf2\xc9\xe1" } , { "\xd7\xe8\xbd\xe6" , "\xbb\x60\xf2\xc9\xe4" } , { "\xd7\xe8\xbd\xe7" , "\xbb\x60\xf2\xc9\xe8" } , { "\xd7\xe8\xbd\xe8" , "\xbb\x60\xc3\xf2" } , { "\xd7\xe8\xbd\xe8\xb3" , "\xbb\x60\xc3\xf2\x48\xed" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\xbb\x60\xc3\xf2\x48\xed\xc9" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\xce\xbb\x60\xc3\xf2\x48\xed" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\xbb\x60\xc3\xf2\x48\xed\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\xbb\x60\xc3\xf2\x48\xed\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\xbb\x60\xc3\xf2\x47\xb1\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\xbb\x60\xc3\xf2\x4e\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\xbb\x60\xc3\xf2\x4e\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\xbb\x60\xc3\xf2\x4f\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xb8" , "\xbb\x60\xc3\xf2\x53\xc9" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\xbb\x60\xc3\xf2\x53\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\xbb\x60\xc3\xf2\x53\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xba" , "\xbb\x60\xc3\xf2\x57\xf0" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\xbb\x60\xc3\xf2\x60\xe4\xf2" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\xbb\x60\xc3\xf2\x60\xf2\xac\xda" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\xbb\x60\xc3\xf2\x6c\xc9\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xc6" , "\xbb\x60\xc3\xf2\x7b\xc9" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\xce\xbb\x60\xc3\xf2\x7b\xc9" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\xbb\x60\xc3\xf2\x7b\xc9\xd6" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\xbb\x60\xc3\xf2\x7b\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\xbb\x60\xc3\xf2\x7b\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\xbb\x60\xc3\xf2\x7b\xc9\xc3" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\xbb\x60\xc3\xf2\x7e\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\xcf\xbb\x60\xc3\xf2\x7e\xc9" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\xbb\x60\xc3\xf2\x7e\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\xbb\x60\xc3\xf2\x7e\xc9\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\xbb\x60\xc3\xf2\xa1\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\xbb\x60\xc3\xf2\xa3\xed\xc9" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\xce\xbb\x60\xc3\xf2\xa3\xed" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\xbb\x60\xc3\xf2\xa5\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\xce\xbb\x60\xc3\xf2\xa5\xc9" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\xbb\x60\xc3\xf2\xa5\xc9\xe9" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\xbb\x60\xc3\xf2\xa5\xc9\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xcc" , "\xbb\x60\xc3\xf2\xa9\xc9" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\xbb\x60\xc3\xf2\xa9\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\xbb\x60\xf2\xac\xda" } , { "\xd7\xe8\xbd\xe8\xcf" , "\xbb\x60\xc4\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\xbb\x60\xc4\xc5\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\xbb\x60\xc4\xf2\xc9" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\xbb\x60\xc4\xf2\xc9\xc6" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xbb\x60\xc4\xf2\xc9\xc5" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\xce\xbb\x60\xc4\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\xcf\xbb\x60\xc4\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\xbb\x60\xc4\xf2\xd2" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\xbb\x60\xd7\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\xbb\x60\xc4\xe8\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\xbb\x60\xc4\xe9\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\xbb\x60\xc4\xe0\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\xbb\x60\xc4\xe1\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\xbb\x60\xc4\xe4\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\xbb\x60\xc4\xe5\xf2" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\xbb\x60\xc4\xf2\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\xbb\x60\xc4\xf2\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\xbb\x60\xc4\xf2\xc9\xe9" } , { "\xd7\xe8\xbd\xe8\xd1" , "\xbb\x60\xc3\xf2\xb1\xc9" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\xbb\x60\xc3\xf2\xb1\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\xce\xbb\x60\xc3\xf2\xb1\xc9" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\xbb\x60\xc3\xf2\xb1\xc9\xd2" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\xbb\x60\xc3\xf2\xb1\xc9\xd6" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\xbb\x60\xc3\xf2\xb1\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\xbb\x60\xc3\xf2\xb1\xc9\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\xbb\x60\xc3\xf2\xb4\xc9\xc5" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\xbb\x60\xc3\xf2\xb4\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\xbb\x60\xc3\xf2\xba\xc9\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xd7" , "\xbb\x60\xc3\xf2\xbb\xc9" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\xcf\xbb\x60\xc3\xf2\xbb\xc9" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\xbb\x60\xc3\xf2\xbb\xc9\xd6" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\xbb\x60\xc3\xf2\xbb\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\xbb\x60\xc3\xf2\xbb\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\xbb\x60\xc3\xf2\xbb\xc9\xc3" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\xce\xbb\x60\xc3\xf2\xbb\xb1\xc9" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\xbb\x60\xc3\xf2\xbb\xb4\xc9" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\xbb\x60\xc3\xf2\xbe\xfa\xc9" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\xce\xbb\x60\xc3\xf2\xbe\xfa" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\xbb\x60\xc3\xf2\xbe\xfa\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\xbb\x60\xc3\xf2\xbb\xc9" } , { "\xd7\xe8\xbe" , "\xbb\x63\xf3" } , { "\xd7\xe8\xbe\xda" , "\xbb\x63\xf3\xc9" } , { "\xd7\xe8\xbe\xdb" , "\xce\xbb\x63\xf3" } , { "\xd7\xe8\xbe\xdd" , "\xbb\x63\xd6\xf3" } , { "\xd7\xe8\xbe\xe0" , "\xbb\x63\xe8\xf3" } , { "\xd7\xe8\xbf" , "\xbb\x65\xf4" } , { "\xd7\xe8\xbf\xda" , "\xbb\x65\xf4\xc9" } , { "\xd7\xe8\xbf\xdb" , "\xce\xbb\x65\xf4" } , { "\xd7\xe8\xbf\xdd" , "\xbb\x65\xd6\xf4" } , { "\xd7\xe8\xbf\xe0" , "\xbb\x65\xe8\xf4" } , { "\xd7\xe8\xbf\xe1" , "\xbb\x65\xe0\xf4" } , { "\xd7\xe8\xbf\xe2" , "\xbb\x65\xe4\xf4" } , { "\xd7\xe8\xbf\xe8" , "\xbb\x65\xc3\xf4" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\xbb\x65\xc3\xf4\x48\xed\xc9" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\xcf\xbb\x65\xc4\xf4" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\xbb\x65\xc4\xe8\xf4" } , { "\xd7\xe8\xc1" , "\xbb\x69\xc9" } , { "\xd7\xe8\xc1\xdd" , "\xbb\x6a" } , { "\xd7\xe8\xc2" , "\xbb\x6c\xc9" } , { "\xd7\xe8\xc2\xa2" , "\xbb\x6c\xc9\xc5" } , { "\xd7\xe8\xc2\xda" , "\xbb\x6c\xc9\xc9" } , { "\xd7\xe8\xc2\xda\xa1" , "\xbb\x6c\xc9\xc9\xc6" } , { "\xd7\xe8\xc2\xda\xa2" , "\xbb\x6c\xc9\xc9\xc5" } , { "\xd7\xe8\xc2\xda\xa3" , "\xbb\x6c\xc9\xc9\x26" } , { "\xd7\xe8\xc2\xdb" , "\xce\xbb\x6c\xc9" } , { "\xd7\xe8\xc2\xdb\xa2" , "\xcf\xbb\x6c\xc9" } , { "\xd7\xe8\xc2\xdc" , "\xbb\x6c\xc9\xd2" } , { "\xd7\xe8\xc2\xdc\xa2" , "\xbb\x6c\xc9\xd3" } , { "\xd7\xe8\xc2\xdd" , "\xbb\x6c\xc9\xd6" } , { "\xd7\xe8\xc2\xdd\xa2" , "\xbb\x6c\xc9\xd6\xc5" } , { "\xd7\xe8\xc2\xde" , "\xbb\x6c\xc9\xda" } , { "\xd7\xe8\xc2\xde\xa2" , "\xbb\x6c\xc9\xda\xc5" } , { "\xd7\xe8\xc2\xdf" , "\xbb\x6c\xc9\xde" } , { "\xd7\xe8\xc2\xdf\xa2" , "\xbb\x6c\xc9\xde\xc5" } , { "\xd7\xe8\xc2\xe0" , "\xbb\x6c\xc9\xe8" } , { "\xd7\xe8\xc2\xe1" , "\xbb\x6c\xc9\xe0" } , { "\xd7\xe8\xc2\xe1\xa2" , "\xbb\x6c\xc9\xe1" } , { "\xd7\xe8\xc2\xe2" , "\xbb\x6c\xc9\xe4" } , { "\xd7\xe8\xc2\xe4" , "\xbb\x6c\xc9\xc9\xe8" } , { "\xd7\xe8\xc2\xe4\xa2" , "\xbb\x6c\xc9\xc9\xe9" } , { "\xd7\xe8\xc2\xe5" , "\xbb\x6c\xc9\xc9\xe0" } , { "\xd7\xe8\xc2\xe5\xa2" , "\xbb\x6c\xc9\xc9\xe1" } , { "\xd7\xe8\xc2\xe6" , "\xbb\x6c\xc9\xc9\xe4" } , { "\xd7\xe8\xc2\xe8" , "\xbb\x6c\xc9\xc3" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xbb\x6e\xc9" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xce\xbb\x6e\xc9" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xbb\x6e\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\xbb\x6e\xad\xf7" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\xbb\x6c\x7b\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\xce\xbb\x6c\x7b\xc9" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\xbb\x6c\xa9\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xcd" , "\xbb\x6c\xab\xc9" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\xbb\x6c\xab\xc9\xc5" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\xbb\x6c\xab\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\xbb\x6c\xab\xc9\xc9\xc5" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\xbb\x6c\xab\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\xbb\x6c\xab\xc9\xe0" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\xbb\x6c\xab\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xcf" , "\xbb\x6d\xc9" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\xbb\x6d\xc9\xc5" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\xbb\x6d\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\xbb\x6d\xc9\xc9\xc5" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\xce\xbb\x6d\xc9" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\xbb\x6d\xc9\xd2" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\xbb\x6d\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\xbb\x6d\xc9\xde" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\xbb\x6d\xc9\xe0" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\xbb\x6d\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\xbb\x6d\xc9\xc9\xe0" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\xbb\x6d\xc9\xc9\xe1" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\xbb\x6d\xab\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xd4" , "\xbb\x6c\xb4\xc9" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\xbb\x6c\xb4\xc9\xc5" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\xbb\x6c\xb4\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\xce\xbb\x6c\xb4\xc9" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\xbb\x6c\xb4\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\xbb\x6c\xb4\xc9\xc9\xe0" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\xbb\x6c\xb4\xc9\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\xbb\x6c\xb4\xab\xc9\xd6" } , { "\xd7\xe8\xc3" , "\xbb\x6f\xc9" } , { "\xd7\xe8\xc3\xa2" , "\xbb\x6f\xc9\xc5" } , { "\xd7\xe8\xc3\xa3" , "\xbb\x6f\xc9\x26" } , { "\xd7\xe8\xc3\xda" , "\xbb\x6f\xc9\xc9" } , { "\xd7\xe8\xc3\xda\xa2" , "\xbb\x6f\xc9\xc9\xc5" } , { "\xd7\xe8\xc3\xda\xa3" , "\xbb\x6f\xc9\xc9\x26" } , { "\xd7\xe8\xc3\xdb" , "\xce\xbb\x6f\xc9" } , { "\xd7\xe8\xc3\xdb\xa2" , "\xcf\xbb\x6f\xc9" } , { "\xd7\xe8\xc3\xdc" , "\xbb\x6f\xc9\xd2" } , { "\xd7\xe8\xc3\xdd" , "\xbb\x6f\xc9\xd6" } , { "\xd7\xe8\xc3\xde" , "\xbb\x6f\xc9\xda" } , { "\xd7\xe8\xc3\xe0" , "\xbb\x6f\xc9\xe8" } , { "\xd7\xe8\xc3\xe1" , "\xbb\x6f\xc9\xe0" } , { "\xd7\xe8\xc3\xe2" , "\xbb\x6f\xc9\xe4" } , { "\xd7\xe8\xc3\xe5" , "\xbb\x6f\xc9\xc9\xe0" } , { "\xd7\xe8\xc3\xe5\xa2" , "\xbb\x6f\xc9\xc9\xe1" } , { "\xd7\xe8\xc3\xe6" , "\xbb\x6f\xc9\xc9\xe4" } , { "\xd7\xe8\xc3\xe8" , "\xbb\x6f\xc9\xc3" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\xbb\x6f\x48\xd6\xed" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\xce\xbb\x6f\x6c\xc9" } , { "\xd7\xe8\xc3\xe8\xc6" , "\xbb\x6f\x7b\xc9" } , { "\xd7\xe8\xc3\xe8\xcd" , "\xbb\x6f\xab\xc9" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\xbb\x6f\xab\xc9\xc5" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\xbb\x6f\xab\xc9\xc9" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\xbb\x6f\xab\x76" } , { "\xd7\xe8\xc3\xe8\xcf" , "\xbb\x70\xc9" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\xbb\x70\xc9\xd2" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xbb\x6f\xb1\xc9\xd6" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\xbb\x6f\xbb\xc9\xc9" } , { "\xd7\xe8\xc4" , "\xbb\x71\xf6" } , { "\xd7\xe8\xc4\xda" , "\xbb\x71\xf6\xc9" } , { "\xd7\xe8\xc4\xdb" , "\xce\xbb\x71\xf6" } , { "\xd7\xe8\xc4\xdd" , "\xbb\x71\xd6\xf6" } , { "\xd7\xe8\xc4\xdd\xa2" , "\xbb\x71\xd6\xc5\xf6" } , { "\xd7\xe8\xc4\xde\xa2" , "\xbb\x71\xda\xc5\xf6" } , { "\xd7\xe8\xc4\xe1" , "\xbb\x71\xe0\xf6" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\xbb\x74\xf6\xc9\xe0" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\xbb\x77\xf6\xc9" } , { "\xd7\xe8\xc5" , "\xbb\x79\xc9" } , { "\xd7\xe8\xc5\xa2" , "\xbb\x79\xc9\xc5" } , { "\xd7\xe8\xc5\xda" , "\xbb\x79\xc9\xc9" } , { "\xd7\xe8\xc5\xdb" , "\xce\xbb\x79\xc9" } , { "\xd7\xe8\xc5\xdd" , "\xbb\x79\xc9\xd6" } , { "\xd7\xe8\xc5\xde" , "\xbb\x79\xc9\xda" } , { "\xd7\xe8\xc5\xe0" , "\xbb\x79\xc9\xe8" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\xbb\x79\xab\xc9\xc5" } , { "\xd7\xe8\xc6" , "\xbb\x7b\xc9" } , { "\xd7\xe8\xc6\xa2" , "\xbb\x7b\xc9\xc5" } , { "\xd7\xe8\xc6\xda" , "\xbb\x7b\xc9\xc9" } , { "\xd7\xe8\xc6\xdb" , "\xce\xbb\x7b\xc9" } , { "\xd7\xe8\xc6\xdc" , "\xbb\x7b\xc9\xd2" } , { "\xd7\xe8\xc6\xdd" , "\xbb\x7b\xc9\xd6" } , { "\xd7\xe8\xc6\xdd\xa2" , "\xbb\x7b\xc9\xd6\xc5" } , { "\xd7\xe8\xc6\xde" , "\xbb\x7b\xc9\xda" } , { "\xd7\xe8\xc6\xe0" , "\xbb\x7b\xc9\xe8" } , { "\xd7\xe8\xc6\xe1" , "\xbb\x7b\xc9\xe0" } , { "\xd7\xe8\xc6\xe2" , "\xbb\x7b\xc9\xe4" } , { "\xd7\xe8\xc6\xe5" , "\xbb\x7b\xc9\xc9\xe0" } , { "\xd7\xe8\xc6\xe8\xc6" , "\xbb\x7d\xc9" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\xbb\x7d\xc9\xd6" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\xbb\x7d\xc9\xe0" } , { "\xd7\xe8\xc8" , "\xbb\x7e\xc9" } , { "\xd7\xe8\xc8\xa2" , "\xbb\x7e\xc9\xc5" } , { "\xd7\xe8\xc8\xda" , "\xbb\x7e\xc9\xc9" } , { "\xd7\xe8\xc8\xda\xa2" , "\xbb\x7e\xc9\xc9\xc5" } , { "\xd7\xe8\xc8\xdb" , "\xce\xbb\x7e\xc9" } , { "\xd7\xe8\xc8\xdb\xa2" , "\xcf\xbb\x7e\xc9" } , { "\xd7\xe8\xc8\xdc" , "\xbb\x7e\xc9\xd2" } , { "\xd7\xe8\xc8\xdd" , "\xbb\x7e\xc9\xd6" } , { "\xd7\xe8\xc8\xde" , "\xbb\x7e\xc9\xda" } , { "\xd7\xe8\xc8\xdf" , "\xbb\x7e\xc9\xde" } , { "\xd7\xe8\xc8\xe0" , "\xbb\x7e\xc9\xe8" } , { "\xd7\xe8\xc8\xe0\xa2" , "\xbb\x7e\xc9\xe9" } , { "\xd7\xe8\xc8\xe1" , "\xbb\x7e\xc9\xe0" } , { "\xd7\xe8\xc8\xe1\xa2" , "\xbb\x7e\xc9\xe1" } , { "\xd7\xe8\xc8\xe2" , "\xbb\x7e\xc9\xe4" } , { "\xd7\xe8\xc8\xe2\xa2" , "\xbb\x7e\xc9\xe5" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\xbb\x7e\xc9\xe4\x65\xc3\xf4" } , { "\xd7\xe8\xc8\xe4" , "\xbb\x7e\xc9\xc9\xe8" } , { "\xd7\xe8\xc8\xe5" , "\xbb\x7e\xc9\xc9\xe0" } , { "\xd7\xe8\xc8\xe5\xa2" , "\xbb\x7e\xc9\xc9\xe1" } , { "\xd7\xe8\xc8\xe6" , "\xbb\x7e\xc9\xc9\xe4" } , { "\xd7\xe8\xc8\xe7" , "\xbb\x7e\xc9\xc9\xe8" } , { "\xd7\xe8\xc8\xe8" , "\xbb\x7e\xc9\xc3" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\xbb\x7e\xa5\xc9\xe8" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\xbb\x7e\xab\xc9\xda" } , { "\xd7\xe8\xc8\xe8\xcf" , "\xbb\xa1\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\xbb\xa1\xc9\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\xce\xbb\xa1\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\xcf\xbb\xa1\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\xbb\xa1\xc9\xd6" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\xbb\xa1\xc9\xda" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\xbb\xa1\xc9\xe0" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\xbb\xa1\xc9\xe4" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\xbb\xa1\xc9\xc9\xe8" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\xbb\xa1\xc9\xc9\xe0" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\xbb\x7e\xb1\xc9\xc9" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\xbb\x7e\xb1\xc9\xe8" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xbb\x7e\xb1\xc9\xe0" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\xbb\x7e\xb6\xab\xc9" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\xbb\x7e\xbb\xc9\xc9" } , { "\xd7\xe8\xc8\xe8\xd8" , "\xbb\x7e\xbe\xfa" } , { "\xd7\xe8\xc9" , "\xbb\xa3\xed" } , { "\xd7\xe8\xc9\xa2" , "\xbb\xa3\xc5\xed" } , { "\xd7\xe8\xc9\xda" , "\xbb\xa3\xed\xc9" } , { "\xd7\xe8\xc9\xda\xa2" , "\xbb\xa3\xed\xc9\xc5" } , { "\xd7\xe8\xc9\xdb" , "\xce\xbb\xa3\xed" } , { "\xd7\xe8\xc9\xdb\xa2" , "\xcf\xbb\xa3\xed" } , { "\xd7\xe8\xc9\xdc" , "\xbb\xa3\xed\xd2" } , { "\xd7\xe8\xc9\xdd" , "\xbb\xa3\xd9\xed" } , { "\xd7\xe8\xc9\xde" , "\xbb\xa3\xdd\xed" } , { "\xd7\xe8\xc9\xdf" , "\xbb\xa3\xdf\xed" } , { "\xd7\xe8\xc9\xe0" , "\xbb\xa3\xe8\xed" } , { "\xd7\xe8\xc9\xe0\xa2" , "\xbb\xa3\xe9\xed" } , { "\xd7\xe8\xc9\xe1" , "\xbb\xa3\xe0\xed" } , { "\xd7\xe8\xc9\xe2" , "\xbb\xa3\xe4\xed" } , { "\xd7\xe8\xc9\xe4" , "\xbb\xa3\xed\xc9\xe8" } , { "\xd7\xe8\xc9\xe5" , "\xbb\xa3\xed\xc9\xe0" } , { "\xd7\xe8\xc9\xe6" , "\xbb\xa3\xed\xc9\xe4" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\xbb\xa2\xab\xc9\xc9" } , { "\xd7\xe8\xca" , "\xbb\xa5\xc9" } , { "\xd7\xe8\xca\xda" , "\xbb\xa5\xc9\xc9" } , { "\xd7\xe8\xca\xdb" , "\xce\xbb\xa5\xc9" } , { "\xd7\xe8\xca\xdd" , "\xbb\xa5\xc9\xd6" } , { "\xd7\xe8\xca\xe0" , "\xbb\xa5\xc9\xe8" } , { "\xd7\xe8\xca\xe1" , "\xbb\xa5\xc9\xe0" } , { "\xd7\xe8\xca\xe1\xa2" , "\xbb\xa5\xc9\xe1" } , { "\xd7\xe8\xca\xe2" , "\xbb\xa5\xc9\xe4" } , { "\xd7\xe8\xca\xe5" , "\xbb\xa5\xc9\xc9\xe0" } , { "\xd7\xe8\xca\xe5\xa2" , "\xbb\xa5\xc9\xc9\xe1" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\xbb\xa6\xc9\xda" } , { "\xd7\xe8\xcb" , "\xbb\xa7\xc9" } , { "\xd7\xe8\xcb\xdb" , "\xce\xbb\xa7\xc9" } , { "\xd7\xe8\xcb\xe0" , "\xbb\xa7\xc9\xe8" } , { "\xd7\xe8\xcc" , "\xbb\xa9\xc9" } , { "\xd7\xe8\xcc\xa2" , "\xbb\xa9\xc9\xc5" } , { "\xd7\xe8\xcc\xda" , "\xbb\xa9\xc9\xc9" } , { "\xd7\xe8\xcc\xda\xa2" , "\xbb\xa9\xc9\xc9\xc5" } , { "\xd7\xe8\xcc\xdb" , "\xce\xbb\xa9\xc9" } , { "\xd7\xe8\xcc\xdc" , "\xbb\xa9\xc9\xd2" } , { "\xd7\xe8\xcc\xdd" , "\xbb\xa9\xc9\xd6" } , { "\xd7\xe8\xcc\xdd\xa2" , "\xbb\xa9\xc9\xd6\xc5" } , { "\xd7\xe8\xcc\xdf" , "\xbb\xa9\xc9\xde" } , { "\xd7\xe8\xcc\xe0" , "\xbb\xa9\xc9\xe8" } , { "\xd7\xe8\xcc\xe0\xa2" , "\xbb\xa9\xc9\xe9" } , { "\xd7\xe8\xcc\xe1" , "\xbb\xa9\xc9\xe0" } , { "\xd7\xe8\xcc\xe1\xa2" , "\xbb\xa9\xc9\xe1" } , { "\xd7\xe8\xcc\xe2" , "\xbb\xa9\xc9\xe4" } , { "\xd7\xe8\xcc\xe2\xa2" , "\xbb\xa9\xc9\xe5" } , { "\xd7\xe8\xcc\xe4" , "\xbb\xa9\xc9\xc9\xe8" } , { "\xd7\xe8\xcc\xe5" , "\xbb\xa9\xc9\xc9\xe0" } , { "\xd7\xe8\xcc\xe5\xa2" , "\xbb\xa9\xc9\xc9\xe1" } , { "\xd7\xe8\xcc\xe6" , "\xbb\xa9\xc9\xc9\xe4" } , { "\xd7\xe8\xcc\xe8" , "\xbb\xa9\xc9\xc3" } , { "\xd7\xe8\xcc\xe8\xc2" , "\xbb\xa9\x6c\xc9" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\xce\xbb\xa9\x6c\xc9" } , { "\xd7\xe8\xcc\xe8\xcc" , "\xbb\xa9\xa9\xc9" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\xbb\xa9\xab\xc9\xc9\xc5" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\xbb\xa9\xab\xc9\xd6" } , { "\xd7\xe8\xcc\xe8\xd1" , "\xbb\xa9\xb1\xc9" } , { "\xd7\xe8\xcd" , "\xbb\xab\xc9" } , { "\xd7\xe8\xcd\xa2" , "\xbb\xab\xc9\xc5" } , { "\xd7\xe8\xcd\xa3" , "\xbb\xab\xc9\x26" } , { "\xd7\xe8\xcd\xda" , "\xbb\xab\xc9\xc9" } , { "\xd7\xe8\xcd\xda\xa2" , "\xbb\xab\xc9\xc9\xc5" } , { "\xd7\xe8\xcd\xda\xa3" , "\xbb\xab\xc9\xc9\x26" } , { "\xd7\xe8\xcd\xdb" , "\xce\xbb\xab\xc9" } , { "\xd7\xe8\xcd\xdc" , "\xbb\xab\xc9\xd2" } , { "\xd7\xe8\xcd\xdd" , "\xbb\xab\xc9\xd6" } , { "\xd7\xe8\xcd\xdd\xa3" , "\xbb\xab\xc9\xd6\x26" } , { "\xd7\xe8\xcd\xde" , "\xbb\xab\xc9\xda" } , { "\xd7\xe8\xcd\xde\xa2" , "\xbb\xab\xc9\xda\xc5" } , { "\xd7\xe8\xcd\xe0" , "\xbb\xab\xc9\xe8" } , { "\xd7\xe8\xcd\xe1" , "\xbb\xab\xc9\xe0" } , { "\xd7\xe8\xcd\xe2" , "\xbb\xab\xc9\xe4" } , { "\xd7\xe8\xcd\xe4" , "\xbb\xab\xc9\xc9\xe8" } , { "\xd7\xe8\xcd\xe5" , "\xbb\xab\xc9\xc9\xe0" } , { "\xd7\xe8\xcd\xe5\xa2" , "\xbb\xab\xc9\xc9\xe1" } , { "\xd7\xe8\xcd\xe5\xa3" , "\xbb\xab\xc9\xc9\xe0\x26" } , { "\xd7\xe8\xcd\xe6" , "\xbb\xab\xc9\xc9\xe4" } , { "\xd7\xe8\xcd\xe8" , "\xbb\xab\xc9\xc3" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\xbb\xab\xab\xc9\xc9" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\xbb\xab\xc9\xc4\xc9" } , { "\xd7\xe8\xcf" , "\xbc\xc9" } , { "\xd7\xe8\xcf\xa2" , "\xbc\xc9\xc5" } , { "\xd7\xe8\xcf\xda" , "\xbc\xc9\xc9" } , { "\xd7\xe8\xcf\xda\xa2" , "\xbc\xc9\xc9\xc5" } , { "\xd7\xe8\xcf\xdb" , "\xca\xbc\xc9" } , { "\xd7\xe8\xcf\xdb\xa2" , "\xcb\xbc\xc9" } , { "\xd7\xe8\xcf\xdc" , "\xbc\xc9\xd2" } , { "\xd7\xe8\xcf\xdd" , "\xbc\xc9\xd6" } , { "\xd7\xe8\xcf\xde" , "\xbc\xc9\xda" } , { "\xd7\xe8\xcf\xde\xa2" , "\xbc\xc9\xda\xc5" } , { "\xd7\xe8\xcf\xdf" , "\xbc\xc9\xde" } , { "\xd7\xe8\xcf\xe0" , "\xbc\xc9\xe8" } , { "\xd7\xe8\xcf\xe1" , "\xbc\xc9\xe0" } , { "\xd7\xe8\xcf\xe2" , "\xbc\xc9\xe4" } , { "\xd7\xe8\xcf\xe5" , "\xbc\xc9\xc9\xe0" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xbc\xc9\xc9\xe1" } , { "\xd7\xe8\xcf\xe8\xbd" , "\xbc\x60\xf2" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\xbc\x7e\xc9\xe0" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\xbc\xb4\xc9\xc9" } , { "\xd7\xe8\xd1" , "\xbb\xb1\xc9" } , { "\xd7\xe8\xd1\xa2" , "\xbb\xb1\xc9\xc5" } , { "\xd7\xe8\xd1\xda" , "\xbb\xb1\xc9\xc9" } , { "\xd7\xe8\xd1\xda\xa2" , "\xbb\xb1\xc9\xc9\xc5" } , { "\xd7\xe8\xd1\xdb" , "\xce\xbb\xb1\xc9" } , { "\xd7\xe8\xd1\xdb\xa2" , "\xcf\xbb\xb1\xc9" } , { "\xd7\xe8\xd1\xdc" , "\xbb\xb1\xc9\xd2" } , { "\xd7\xe8\xd1\xdc\xa2" , "\xbb\xb1\xc9\xd3" } , { "\xd7\xe8\xd1\xdd" , "\xbb\xb1\xc9\xd6" } , { "\xd7\xe8\xd1\xdd\xa2" , "\xbb\xb1\xc9\xd6\xc5" } , { "\xd7\xe8\xd1\xde" , "\xbb\xb1\xc9\xda" } , { "\xd7\xe8\xd1\xe0" , "\xbb\xb1\xc9\xe8" } , { "\xd7\xe8\xd1\xe1" , "\xbb\xb1\xc9\xe0" } , { "\xd7\xe8\xd1\xe1\xa2" , "\xbb\xb1\xc9\xe1" } , { "\xd7\xe8\xd1\xe2" , "\xbb\xb1\xc9\xe4" } , { "\xd7\xe8\xd1\xe4" , "\xbb\xb1\xc9\xc9\xe8" } , { "\xd7\xe8\xd1\xe5" , "\xbb\xb1\xc9\xc9\xe0" } , { "\xd7\xe8\xd1\xe5\xa2" , "\xbb\xb1\xc9\xc9\xe1" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\xce\xbb\xb1\x48\xed" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\xbb\xb1\x48\xe8\xed" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\xbb\xb1\x48\xed\xc9\xe0" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\xbb\xb1\x7e\xc9\xc9\xc5" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\xbb\xb1\x7e\xc9\xd2" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\xbb\xb1\x7e\xc9\xe8" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\xbb\xb1\x7e\xc9\xe9" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\xbb\xb1\xbb\xc9\xc9\xc5" } , { "\xd7\xe8\xd4" , "\xbb\xb4\xc9" } , { "\xd7\xe8\xd4\xa2" , "\xbb\xb4\xc9\xc5" } , { "\xd7\xe8\xd4\xda" , "\xbb\xb4\xc9\xc9" } , { "\xd7\xe8\xd4\xda\xa1" , "\xbb\xb4\xc9\xc9\xc6" } , { "\xd7\xe8\xd4\xda\xa2" , "\xbb\xb4\xc9\xc9\xc5" } , { "\xd7\xe8\xd4\xdb" , "\xce\xbb\xb4\xc9" } , { "\xd7\xe8\xd4\xdb\xa2" , "\xcf\xbb\xb4\xc9" } , { "\xd7\xe8\xd4\xdc" , "\xbb\xb4\xc9\xd2" } , { "\xd7\xe8\xd4\xdc\xa2" , "\xbb\xb4\xc9\xd3" } , { "\xd7\xe8\xd4\xdd" , "\xbb\xb4\xc9\xd6" } , { "\xd7\xe8\xd4\xdd\xa2" , "\xbb\xb4\xc9\xd6\xc5" } , { "\xd7\xe8\xd4\xdf" , "\xbb\xb4\xc9\xde" } , { "\xd7\xe8\xd4\xe0" , "\xbb\xb4\xc9\xe8" } , { "\xd7\xe8\xd4\xe1" , "\xbb\xb4\xc9\xe0" } , { "\xd7\xe8\xd4\xe2" , "\xbb\xb4\xc9\xe4" } , { "\xd7\xe8\xd4\xe2\xa2" , "\xbb\xb4\xc9\xe5" } , { "\xd7\xe8\xd4\xe5" , "\xbb\xb4\xc9\xc9\xe0" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\xbb\xb4\x48\xed\xc9" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\xbb\xb4\x6c\xc9\xc5" } , { "\xd7\xe8\xd5" , "\xbb\xb6\xc9" } , { "\xd7\xe8\xd5\xda" , "\xbb\xb6\xc9\xc9" } , { "\xd7\xe8\xd5\xdb" , "\xce\xbb\xb6\xc9" } , { "\xd7\xe8\xd5\xdd" , "\xbb\xb6\xc9\xd6" } , { "\xd7\xe8\xd5\xe1" , "\xbb\xb6\xc9\xe0" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\xbb\xb8\xc9\xe0" } , { "\xd7\xe8\xd6" , "\xbb\xba\xc9" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\xce\xbb\xba\x60\xf2" } , { "\xd7\xe8\xd7" , "\xbb\xbb\xc9" } , { "\xd7\xe8\xd7\xa2" , "\xbb\xbb\xc9\xc5" } , { "\xd7\xe8\xd7\xda" , "\xbb\xbb\xc9\xc9" } , { "\xd7\xe8\xd7\xda\xa2" , "\xbb\xbb\xc9\xc9\xc5" } , { "\xd7\xe8\xd7\xdb" , "\xce\xbb\xbb\xc9" } , { "\xd7\xe8\xd7\xdb\xa2" , "\xcf\xbb\xbb\xc9" } , { "\xd7\xe8\xd7\xdc" , "\xbb\xbb\xc9\xd2" } , { "\xd7\xe8\xd7\xdc\xa2" , "\xbb\xbb\xc9\xd3" } , { "\xd7\xe8\xd7\xdd" , "\xbb\xbb\xc9\xd6" } , { "\xd7\xe8\xd7\xdd\xa2" , "\xbb\xbb\xc9\xd6\xc5" } , { "\xd7\xe8\xd7\xde" , "\xbb\xbb\xc9\xda" } , { "\xd7\xe8\xd7\xdf" , "\xbb\xbb\xc9\xde" } , { "\xd7\xe8\xd7\xe0" , "\xbb\xbb\xc9\xe8" } , { "\xd7\xe8\xd7\xe0\xa2" , "\xbb\xbb\xc9\xe9" } , { "\xd7\xe8\xd7\xe1" , "\xbb\xbb\xc9\xe0" } , { "\xd7\xe8\xd7\xe1\xa2" , "\xbb\xbb\xc9\xe1" } , { "\xd7\xe8\xd7\xe2" , "\xbb\xbb\xc9\xe4" } , { "\xd7\xe8\xd7\xe4" , "\xbb\xbb\xc9\xc9\xe8" } , { "\xd7\xe8\xd7\xe5" , "\xbb\xbb\xc9\xc9\xe0" } , { "\xd7\xe8\xd7\xe5\xa2" , "\xbb\xbb\xc9\xc9\xe1" } , { "\xd7\xe8\xd7\xe6" , "\xbb\xbb\xc9\xc9\xe4" } , { "\xd7\xe8\xd7\xe6\xa2" , "\xbb\xbb\xc9\xc9\xe5" } , { "\xd7\xe8\xd7\xe8" , "\xbb\xbb\xc9\xc3" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\xbb\xbb\x48\xed\xc9" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\xbb\xbb\x48\xd6\xed" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\xbb\xbb\x48\xde\xed" } , { "\xd7\xe8\xd7\xe8\xbd" , "\xbb\xbb\x60\xf2" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\xbb\xbb\x60\xf2\xc9" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\xbb\xbb\x60\xf2\xc9\xc5" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\xbb\xbb\x60\xf2\xd2" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\xbb\xbb\x60\xe0\xf2" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xbb\xbb\x60\xc4\xf2\xc9" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xbb\xbb\x6c\xc9\xda\xc5" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xbb\xbb\x6f\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xce\xbb\xbb\x6f\xc9" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\xbb\xbb\x7b\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xcc" , "\xbb\xbb\xa9\xc9" } , { "\xd7\xe8\xd7\xe8\xcd" , "\xbb\xbb\xab\xc9" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\xbb\xbb\xab\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xcf" , "\xbb\xbc\xc9" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\xbb\xbc\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xbb\xbb\xb1\xc9\xd6" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xbb\xbb\xb1\xc9\xc9\xe0" } , { "\xd7\xe8\xd7\xe8\xd4" , "\xbb\xbb\xb4\xc9" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\xbb\xbb\xb4\xc9\xc9" } , { "\xd7\xe8\xd8" , "\xbb\xbe\xfa" } , { "\xd7\xe8\xd8\xda" , "\xbb\xbe\xfa\xc9" } , { "\xd7\xe8\xd8\xe0" , "\xbb\xbe\xe8\xfa" } , { "\xd7\xe8\xd8\xe5" , "\xbb\xbe\xfa\xc9\xe0" } , { "\xd7\xe8\xd8\xe6" , "\xbb\xbe\xfa\xc9\xe4" } , { "\xd7\xe8\xd9" , "\xbb" } , { "\xd7\xe8\xd9\xa6" , "\xbb\x3c" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\xbb\x60\xc7\xf2" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\xbb\x60\xf2\xc9\xc7" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\xbb\x60\xe2\xf2" } , { "\xd7\xe8\xe8" , "\xbb\xc9\xc3" } , { "\xd7\xe8\xe9\xcf" , "\xbb\xad\xf7" } , { "\xd7\xe9" , "\xbb\xc9" } , { "\xd8" , "\xbe\xfa" } , { "\xd8\xa1" , "\xbe\xc6\xfa" } , { "\xd8\xa2" , "\xbe\xc5\xfa" } , { "\xd8\xa3" , "\xbe\xfa\x26" } , { "\xd8\xd0" , "\xbe\xfa\xad\xf7" } , { "\xd8\xd9" , "\xbe\xfa" } , { "\xd8\xd9\xd1\xda" , "\xbe\xfa\xb1\xc9\xc9" } , { "\xd8\xda" , "\xbe\xfa\xc9" } , { "\xd8\xda\xa1" , "\xbe\xfa\xc9\xc6" } , { "\xd8\xda\xa2" , "\xbe\xfa\xc9\xc5" } , { "\xd8\xda\xa3" , "\xbe\xfa\xc9\x26" } , { "\xd8\xdb" , "\xca\xbe\xfa" } , { "\xd8\xdb\xa2" , "\xcb\xbe\xfa" } , { "\xd8\xdb\xa2\xa2" , "\xcb\xbe\xfa\xc5" } , { "\xd8\xdb\xa3" , "\xca\xbe\xfa\x26" } , { "\xd8\xdc" , "\xbe\xfa\xd2" } , { "\xd8\xdc\xa1" , "\xbe\xfa\xd3" } , { "\xd8\xdc\xa2" , "\xbe\xfa\xd3" } , { "\xd8\xdd" , "\xbe\xd6\xfa" } , { "\xd8\xdd\xa1" , "\xbe\xd6\xc6\xfa" } , { "\xd8\xdd\xa2" , "\xbe\xd6\xc5\xfa" } , { "\xd8\xdd\xa3" , "\xbe\xd6\xfa\x26" } , { "\xd8\xde" , "\xbe\xda\xfa" } , { "\xd8\xde\xa1" , "\xbe\xda\xc6\xfa" } , { "\xd8\xde\xa2" , "\xbe\xda\xc5\xfa" } , { "\xd8\xdf" , "\xc0\xfa" } , { "\xd8\xe0" , "\xbe\xe8\xfa" } , { "\xd8\xe0\xa2" , "\xbe\xe9\xfa" } , { "\xd8\xe1" , "\xbe\xe0\xfa" } , { "\xd8\xe1\xa2" , "\xbe\xe1\xfa" } , { "\xd8\xe1\xa3" , "\xbe\xe0\xfa\x26" } , { "\xd8\xe2" , "\xbe\xe4\xfa" } , { "\xd8\xe2\xa1" , "\xbe\xe5\xfa" } , { "\xd8\xe2\xa2" , "\xbe\xe5\xfa" } , { "\xd8\xe2\xa3" , "\xbe\xe4\xfa\x26" } , { "\xd8\xe3" , "\xbe\xe8\xfa" } , { "\xd8\xe3\xa2" , "\xbe\xe9\xfa" } , { "\xd8\xe4" , "\xbe\xfa\xc9\xe8" } , { "\xd8\xe4\xa2" , "\xbe\xfa\xc9\xe9" } , { "\xd8\xe5" , "\xbe\xfa\xc9\xe0" } , { "\xd8\xe5\xa1" , "\xbe\xfa\xc9\xe1" } , { "\xd8\xe5\xa2" , "\xbe\xfa\xc9\xe1" } , { "\xd8\xe6" , "\xbe\xfa\xc9\xe4" } , { "\xd8\xe6\xa2" , "\xbe\xfa\xc9\xe5" } , { "\xd8\xe7" , "\xbe\xfa\xc9\xe8" } , { "\xd8\xe7\xa2" , "\xbe\xfa\xc9\xe9" } , { "\xd8\xe8" , "\xbe\xc3\xfa" } , { "\xd8\xe8\xb3\xdd" , "\xbd\x48\xd6\xed" } , { "\xd8\xe8\xb5" , "\xbd\x4e\xc9" } , { "\xd8\xe8\xb5\xdd" , "\xbd\x4e\xc9\xd6" } , { "\xd8\xe8\xb5\xde" , "\xbd\x4e\xc9\xda" } , { "\xd8\xe8\xb8" , "\xbd\x53\xc9" } , { "\xd8\xe8\xb8\xdd" , "\xbd\x53\xc9\xd6" } , { "\xd8\xe8\xbd\xdb" , "\xce\xbd\x60\xf2" } , { "\xd8\xe8\xbf" , "\xbd\x65\xf4" } , { "\xd8\xe8\xc1" , "\xbd\x69\xc9" } , { "\xd8\xe8\xc1\xda" , "\xbd\x69\xc9\xc9" } , { "\xd8\xe8\xc1\xe1" , "\xbd\x69\xc9\xe0" } , { "\xd8\xe8\xc2" , "\xbd\x6c\xc9" } , { "\xd8\xe8\xc2\xa2" , "\xbd\x6c\xc9\xc5" } , { "\xd8\xe8\xc2\xda" , "\xbd\x6c\xc9\xc9" } , { "\xd8\xe8\xc2\xdc" , "\xbd\x6c\xc9\xd2" } , { "\xd8\xe8\xc2\xe8" , "\xbd\x6c\xc9\xc3" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\xbd\x6e\xb4\xc9" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\xbd\x6d\xc9\xc9" } , { "\xd8\xe8\xc2\xe8\xd4" , "\xbd\x6c\xb4\xc9" } , { "\xd8\xe8\xc3" , "\xbd\x6f\xc9" } , { "\xd8\xe8\xc4" , "\xbd\x71\xf6" } , { "\xd8\xe8\xc4\xe1" , "\xbd\x71\xe0\xf6" } , { "\xd8\xe8\xc4\xe5\xa2" , "\xbd\x71\xf6\xc9\xe1" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\xbd\x71\xc3\xf6\x7e\xc9\xc9" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\xbd\x76\xc5" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\xbd\x72\xf6\xc9\xe0" } , { "\xd8\xe8\xc6" , "\xbd\x7b\xc9" } , { "\xd8\xe8\xc6\xa2" , "\xbd\x7b\xc9\xc5" } , { "\xd8\xe8\xc6\xda" , "\xbd\x7b\xc9\xc9" } , { "\xd8\xe8\xc6\xda\xa2" , "\xbd\x7b\xc9\xc9\xc5" } , { "\xd8\xe8\xc6\xdb" , "\xce\xbd\x7b\xc9" } , { "\xd8\xe8\xc6\xdd" , "\xbd\x7b\xc9\xd6" } , { "\xd8\xe8\xc6\xe5\xa2" , "\xbd\x7b\xc9\xc9\xe1" } , { "\xd8\xe8\xca" , "\xbd\xa5\xc9" } , { "\xd8\xe8\xcb" , "\xbd\xa7\xc9" } , { "\xd8\xe8\xcc" , "\xc1" } , { "\xd8\xe8\xcc\xa2" , "\xc1\xc5" } , { "\xd8\xe8\xcc\xda" , "\xc1\xc9" } , { "\xd8\xe8\xcc\xda\xa2" , "\xc1\xc9\xc5" } , { "\xd8\xe8\xcc\xdb" , "\xca\xc1" } , { "\xd8\xe8\xcc\xdc" , "\xc1\xd2" } , { "\xd8\xe8\xcc\xde" , "\xc1\xda" } , { "\xd8\xe8\xcc\xe1" , "\xc1\xe0" } , { "\xd8\xe8\xcc\xe1\xa2" , "\xc1\xe1" } , { "\xd8\xe8\xcc\xe2" , "\xc1\xe4" } , { "\xd8\xe8\xcc\xe5" , "\xc1\xc9\xe0" } , { "\xd8\xe8\xcc\xe8" , "\xc1\xc3" } , { "\xd8\xe8\xcc\xe8\xb8" , "\xbd\xa9\x53\xc9" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\xbd\xa9\x53\xc9\xc9" } , { "\xd8\xe8\xcc\xe8\xc1" , "\xbd\xa9\x69\xc9" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\xbd\xa9\x69\xc9\xd2" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\xbd\xa9\xb4\xc9\xc9" } , { "\xd8\xe8\xcd" , "\xc2" } , { "\xd8\xe8\xcd\xa2" , "\xc2\xc5" } , { "\xd8\xe8\xcd\xda" , "\xc2\xc9" } , { "\xd8\xe8\xcd\xda\xa2" , "\xc2\xc9\xc5" } , { "\xd8\xe8\xcd\xdb" , "\xca\xc2" } , { "\xd8\xe8\xcd\xdb\xa2" , "\xcb\xc2" } , { "\xd8\xe8\xcd\xdc\xa2" , "\xc2\xd3" } , { "\xd8\xe8\xcd\xdd" , "\xc2\xd6" } , { "\xd8\xe8\xcd\xde" , "\xc2\xda" } , { "\xd8\xe8\xcd\xde\xa2" , "\xc2\xda\xc5" } , { "\xd8\xe8\xcd\xe1" , "\xc2\xe0" } , { "\xd8\xe8\xcd\xe1\xa2" , "\xc2\xe1" } , { "\xd8\xe8\xcd\xe5" , "\xc2\xc9\xe0" } , { "\xd8\xe8\xcd\xe8\xcf" , "\xbd\xab\xc9\xc4" } , { "\xd8\xe8\xcd\xe8\xd7" , "\xbd\xab\xbb\xc9" } , { "\xd8\xe8\xcf" , "\xbf\xfa" } , { "\xd8\xe8\xcf\xda" , "\xbf\xfa\xc9" } , { "\xd8\xe8\xcf\xda\xa2" , "\xbf\xfa\xc9\xc5" } , { "\xd8\xe8\xcf\xdb" , "\xca\xbf\xfa" } , { "\xd8\xe8\xcf\xdc" , "\xbf\xfa\xd2" } , { "\xd8\xe8\xcf\xdc\xa2" , "\xbf\xfa\xd3" } , { "\xd8\xe8\xcf\xdd" , "\xbf\xd6\xfa" } , { "\xd8\xe8\xcf\xde" , "\xbf\xda\xfa" } , { "\xd8\xe8\xcf\xde\xa2" , "\xbf\xda\xc5\xfa" } , { "\xd8\xe8\xcf\xe0" , "\xbf\xe8\xfa" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xbf\xe1\xfa" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xbd\x7b\xa5\xb1\xc9\xeb" } , { "\xd8\xe8\xd1" , "\xbd\xb1\xc9" } , { "\xd8\xe8\xd1\xda" , "\xbd\xb1\xc9\xc9" } , { "\xd8\xe8\xd1\xda\xa2" , "\xbd\xb1\xc9\xc9\xc5" } , { "\xd8\xe8\xd1\xdb" , "\xce\xbd\xb1\xc9" } , { "\xd8\xe8\xd1\xdc" , "\xbd\xb1\xc9\xd2" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\xbd\xb1\xb4\xc9\xc9" } , { "\xd8\xe8\xd4" , "\xbd\xb4\xc9" } , { "\xd8\xe8\xd4\xda" , "\xbd\xb4\xc9\xc9" } , { "\xd8\xe8\xd4\xdb" , "\xce\xbd\xb4\xc9" } , { "\xd8\xe8\xd4\xdc" , "\xbd\xb4\xc9\xd2" } , { "\xd8\xe8\xd4\xe1" , "\xbd\xb4\xc9\xe0" } , { "\xd8\xe8\xd4\xe1\xa2" , "\xbd\xb4\xc9\xe1" } , { "\xd8\xe8\xd4\xe2" , "\xbd\xb4\xc9\xe4" } , { "\xd8\xe8\xd4\xe4" , "\xbd\xb4\xc9\xc9\xe8" } , { "\xd8\xe8\xd4\xe5" , "\xbd\xb4\xc9\xc9\xe0" } , { "\xd8\xe8\xd4\xe8" , "\xbd\xb4\xc9\xc3" } , { "\xd8\xe8\xd6\xdb" , "\xce\xbd\xba\xc9" } , { "\xd8\xe8\xd6\xe8\xbd" , "\xbd\xba\x60\xf2" } , { "\xd8\xe8\xd7\xa2" , "\xbd\xbb\xc9\xc5" } , { "\xd8\xe8\xd7\xe8" , "\xbd\xbb\xc9\xc3" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\xbd\xbb\x48\xed\xd2" } , { "\xd8\xe8\xd7\xe8\xd4" , "\xbd\xbb\xb4\xc9" } , { "\xd8\xe8\xd8" , "\xbd\xbe\xfa" } , { "\xd8\xe8\xd8\xa2" , "\xbd\xbe\xc5\xfa" } , { "\xd8\xe8\xd8\xda" , "\xbd\xbe\xfa\xc9" } , { "\xd8\xe8\xd8\xdb" , "\xce\xbd\xbe\xfa" } , { "\xd8\xe8\xd8\xdc" , "\xbd\xbe\xfa\xd2" } , { "\xd8\xe8\xd8\xe5\xa2" , "\xbd\xbe\xfa\xc9\xe1" } , { "\xd8\xe8\xd9" , "\xbd" } , { "\xd8\xe8\xd9\xcc" , "\xbd\xa9\xc9" } , { "\xd8\xe8\xd9\xcd" , "\xbd\xab\xc9" } , { "\xd8\xe8\xe8" , "\xbe\xc3\xfa" } , { "\xd8\xe8\xe9\xcf" , "\xbd\xad\xf7" } , { "\xd8\xe9" , "\xbe\xfa" } , { "\xda" , "\xc9" } , { "\xdb" , "\xca" } , { "\xdb\xa2" , "\xca\xc5" } , { "\xdc" , "\xd2" } , { "\xdc\xa2" , "\xd2\xc5" } , { "\xdd" , "\xd6" } , { "\xde" , "\xda" } , { "\xdf" , "\xde" } , { "\xe0" , "\xe8" } , { "\xe0\xa2" , "\xe8\xc5" } , { "\xe1" , "\xe0" } , { "\xe1\xa2" , "\xe0\xc5" } , { "\xe2" , "\xe4" } , { "\xe2\xa2" , "\xe4\xc5" } , { "\xe3" , "\xe8" } , { "\xe3\xa2" , "\xe8\xc5" } , { "\xe4" , "\xc9\xe8" } , { "\xe4\xa2" , "\xc9\xe8\xc5" } , { "\xe5" , "\xc9\xe0" } , { "\xe5\xa2" , "\xc9\xe0\xc5" } , { "\xe6" , "\xc9\xe4" } , { "\xe6\xa2" , "\xc9\xe4\xc5" } , { "\xe7" , "\xc9\xe8" } , { "\xe8" , "\xc3" } , { "\xe8\xe9" , "\xc3" } , { "\xe9" , "\x20" } , { "\xe9\xdd" , "\xd6" } , { "\xe9\xde" , "\xda" } , { "\xe9\xe9" , "\x23" } , } ; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/tamil.table���������������������������������������������������������������0100644�0001760�0000144�00000000113�13210547312�0016164�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_tamil_table[] = { { "\xe8" , "\x23\xf3" } , } ; �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/malayalam.table�����������������������������������������������������������0100644�0001760�0000144�00001556650�13210547312�0017043�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_malayalam_table[] = { { "\xa1" , "\x77" } , { "\xa1\xa2" , "\x77\x77" } , { "\xa1\xa4" , "\x77\x41" } , { "\xa1\xa4\xa2" , "\x77\x41\x77" } , { "\xa1\xab" , "\x77\x46" } , { "\xa1\xab\xa2" , "\x77\x46\x77" } , { "\xa1\xb0" , "\x77\x48\x6d" } , { "\xa1\xcd\xdb" , "\x77\x62\x6e" } , { "\xa1\xd4" , "\x77\x68" } , { "\xa1\xe9" , "\x48\x6d\x77" } , { "\xa2" , "\x77" } , { "\xa2\xa3" , "\x77\x78" } , { "\xa3" , "\x78" } , { "\xa4" , "\x41" } , { "\xa4\xa1" , "\x41\x77" } , { "\xa4\xa2" , "\x41\x77" } , { "\xa4\xa3" , "\x41\x78" } , { "\xa4\xd0\xe8" , "\x41\x64\x76" } , { "\xa5" , "\x42" } , { "\xa5\xa1" , "\x42\x77" } , { "\xa5\xa2" , "\x42\x77" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x42\x77\x74\x64\x77" } , { "\xa5\xa3" , "\x42\x78" } , { "\xa6" , "\x43" } , { "\xa6\xa1" , "\x43\x77" } , { "\xa6\xa2" , "\x43\x77" } , { "\xa6\xa3" , "\x43\x78" } , { "\xa6\xcc\xe5" , "\x43\x74\x61\x6d" } , { "\xa6\xd7" , "\x43\x6b" } , { "\xa7" , "\x43\x75" } , { "\xa7\xa1" , "\x43\x75\x77" } , { "\xa7\xa1\xa1" , "\x43\x75\x77\x77" } , { "\xa7\xa1\xa3" , "\x43\x75\x77\x78" } , { "\xa7\xa2" , "\x43\x75\x77" } , { "\xa7\xa3" , "\x43\x75\x78" } , { "\xa8" , "\x44" } , { "\xa8\xa1" , "\x44\x77" } , { "\xa8\xa2" , "\x44\x77" } , { "\xa8\xa2\xa2" , "\x44\x77\x77" } , { "\xa8\xa3" , "\x44\x78" } , { "\xa8\xb3\xdf" , "\x44\x49\x72" } , { "\xa9" , "\x44\x75" } , { "\xa9\xa1" , "\x44\x75\x77" } , { "\xa9\xa2" , "\x44\x75\x77" } , { "\xaa" , "\x45" } , { "\xaa\xa2" , "\x45\x77" } , { "\xab" , "\x46" } , { "\xab\xa1" , "\x46\x77" } , { "\xab\xa2" , "\x46\x77" } , { "\xab\xd9" , "\x46" } , { "\xac" , "\x47" } , { "\xac\xa1" , "\x47\x77" } , { "\xac\xa2" , "\x47\x77" } , { "\xac\xa2\xa1" , "\x47\x77\x77" } , { "\xac\xd0\xc5" , "\x47\x64\x5b" } , { "\xac\xd7" , "\x47\x6b" } , { "\xad" , "\x73\x46" } , { "\xad\xa1" , "\x73\x46\x77" } , { "\xad\xa2" , "\x73\x46\x77" } , { "\xad\xb1" , "\x73\x46\x48\x75" } , { "\xad\xd0\xb1" , "\x73\x46\x64\x48\x75" } , { "\xae" , "\x42" } , { "\xae\xa2" , "\x42\x77" } , { "\xae\xa3" , "\x42\x78" } , { "\xae\xd9" , "\x42" } , { "\xaf" , "\x48" } , { "\xaf\xa1" , "\x48\x77" } , { "\xaf\xa2" , "\x48\x77" } , { "\xaf\xd0\xb1\xd1" , "\x48\x64\x48\x75\x65" } , { "\xb0" , "\x48\x6d" } , { "\xb0\xa1" , "\x48\x6d\x77" } , { "\xb0\xa2" , "\x48\x6d\x77" } , { "\xb0\xa3" , "\x48\x6d\x78" } , { "\xb0\xa3\xd0\xb6" , "\x48\x6d\x78\x64\x4c" } , { "\xb0\xcc\xe8" , "\x48\x6d\x61\x76" } , { "\xb0\xd0" , "\x48\x6d\x64" } , { "\xb1" , "\x48\x75" } , { "\xb1\xa1" , "\x48\x75\x77" } , { "\xb1\xa2" , "\x48\x75\x77" } , { "\xb1\xa3" , "\x48\x75\x78" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x48\x75\x78\x64\x76\x65\x6f" } , { "\xb1\xd0" , "\x48\x75\x64" } , { "\xb1\xd1\xd7" , "\x48\x75\x65\x6b" } , { "\xb1\xd7" , "\x48\x75\x6b" } , { "\xb2" , "\x48\x6d" } , { "\xb2\xd9\xb5" , "\x48\x6d\x4b" } , { "\xb3" , "\x49" } , { "\xb3\xa1" , "\x49\x77" } , { "\xb3\xa2" , "\x49\x77" } , { "\xb3\xa2\xa2" , "\x49\x77\x77" } , { "\xb3\xa3" , "\x49\x78" } , { "\xb3\xd9\xaa" , "\x49\x45" } , { "\xb3\xda" , "\x49\x6d" } , { "\xb3\xda\xa1" , "\x49\x6d\x77" } , { "\xb3\xda\xa2" , "\x49\x6d\x77" } , { "\xb3\xda\xa2\xa2" , "\x49\x6d\x77\x77" } , { "\xb3\xda\xa3" , "\x49\x6d\x78" } , { "\xb3\xdb" , "\x49\x6e" } , { "\xb3\xdb\xa2" , "\x49\x6e\x77" } , { "\xb3\xdb\xa3" , "\x49\x6e\x78" } , { "\xb3\xdb\xc7" , "\x49\x6e\x5c" } , { "\xb3\xdc" , "\x49\x6f" } , { "\xb3\xdc\xa2" , "\x49\x6f\x77" } , { "\xb3\xdd" , "\x49\x70" } , { "\xb3\xdd\xa1" , "\x49\x70\x77" } , { "\xb3\xdd\xa2" , "\x49\x70\x77" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x49\x70\x77\x64\x57" } , { "\xb3\xdd\xa3" , "\x49\x70\x78" } , { "\xb3\xde" , "\x49\x71" } , { "\xb3\xde\xa1" , "\x49\x71\x77" } , { "\xb3\xde\xa2" , "\x49\x71\x77" } , { "\xb3\xdf" , "\x49\x72" } , { "\xb3\xdf\xa2" , "\x49\x72\x77" } , { "\xb3\xe0" , "\x73\x49" } , { "\xb3\xe0\xa2" , "\x73\x49\x77" } , { "\xb3\xe1" , "\x74\x49" } , { "\xb3\xe1\xa1" , "\x74\x49\x77" } , { "\xb3\xe1\xa2" , "\x74\x49\x77" } , { "\xb3\xe2" , "\x73\x73\x49" } , { "\xb3\xe2\xa2" , "\x73\x73\x49\x77" } , { "\xb3\xe2\xa3" , "\x73\x73\x49\x78" } , { "\xb3\xe3" , "\x49\x6d" } , { "\xb3\xe4" , "\x73\x49\x6d" } , { "\xb3\xe4\xa2" , "\x73\x49\x6d\x77" } , { "\xb3\xe4\xa2\xa2" , "\x73\x49\x6d\x77\x77" } , { "\xb3\xe4\xa3" , "\x73\x49\x6d\x78" } , { "\xb3\xe5" , "\x74\x49\x6d" } , { "\xb3\xe5\xa1" , "\x74\x49\x6d\x77" } , { "\xb3\xe5\xa2" , "\x74\x49\x6d\x77" } , { "\xb3\xe6" , "\x49\x75" } , { "\xb3\xe6\xa2" , "\x49\x75\x77" } , { "\xb3\xe6\xbd\xe8" , "\x49\x75\x53\x76" } , { "\xb3\xe7" , "\x74\x49\x6d" } , { "\xb3\xe7\xa2" , "\x74\x49\x6d\x77" } , { "\xb3\xe8" , "\x49\x76" } , { "\xb3\xe8\xb3" , "\xa1" } , { "\xb3\xe8\xb3\xa2" , "\xa1\x77" } , { "\xb3\xe8\xb3\xda" , "\xa1\x6d" } , { "\xb3\xe8\xb3\xda\xa2" , "\xa1\x6d\x77" } , { "\xb3\xe8\xb3\xdb" , "\xa1\x6e" } , { "\xb3\xe8\xb3\xdb\xa2" , "\xa1\x6e\x77" } , { "\xb3\xe8\xb3\xdc" , "\xa1\x6f" } , { "\xb3\xe8\xb3\xdd" , "\xa1\x70" } , { "\xb3\xe8\xb3\xdd\xa2" , "\xa1\x70\x77" } , { "\xb3\xe8\xb3\xde" , "\xa1\x71" } , { "\xb3\xe8\xb3\xdf" , "\xa1\x72" } , { "\xb3\xe8\xb3\xe0" , "\x73\xa1" } , { "\xb3\xe8\xb3\xe0\xa2" , "\x73\xa1\x77" } , { "\xb3\xe8\xb3\xe1" , "\x74\xa1" } , { "\xb3\xe8\xb3\xe1\xa2" , "\x74\xa1\x77" } , { "\xb3\xe8\xb3\xe2" , "\x73\x73\xa1" } , { "\xb3\xe8\xb3\xe4" , "\x73\xa1\x6d" } , { "\xb3\xe8\xb3\xe4\xa2" , "\x73\xa1\x6d\x77" } , { "\xb3\xe8\xb3\xe5" , "\x74\xa1\x6d" } , { "\xb3\xe8\xb3\xe5\xa2" , "\x74\xa1\x6d\x77" } , { "\xb3\xe8\xb3\xe6" , "\xa1\x75" } , { "\xb3\xe8\xb3\xe6\xa2" , "\xa1\x75\x77" } , { "\xb3\xe8\xb3\xe8" , "\xa1\x76" } , { "\xb3\xe8\xb3\xe8\xb3" , "\xa1\x76\x49" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\xa1\x76\x55\x6d" } , { "\xb3\xe8\xb3\xe8\xc2" , "\xa1\x76\x58" } , { "\xb3\xe8\xb3\xe8\xcd" , "\xa1\x79" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\xa1\x79\x70" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\x7b\xa1\x6e" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\x74\x7b\xa1\x6d" } , { "\xb3\xe8\xb3\xe8\xd1" , "\xa1\x76\x65" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\xa1\x76\x74\x6a" } , { "\xb3\xe8\xb3\xe9" , "\x49\x76\x49" } , { "\xb3\xe8\xb3\xe9\xda" , "\x49\x76\x49\x6d" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x49\x76\x49\x6f" } , { "\xb3\xe8\xb4" , "\x49\x76\x4a" } , { "\xb3\xe8\xb4\xa2" , "\x49\x76\x4a\x77" } , { "\xb3\xe8\xb4\xda" , "\x49\x76\x4a\x6d" } , { "\xb3\xe8\xb4\xdb" , "\x49\x76\x4a\x6e" } , { "\xb3\xe8\xb4\xdc" , "\x49\x76\x4a\x6f" } , { "\xb3\xe8\xb4\xe1" , "\x49\x76\x74\x4a" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x49\x76\x74\x4a\x77" } , { "\xb3\xe8\xb4\xe5" , "\x49\x76\x74\x4a\x6d" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x49\x76\x74\x4a\x6d\x77" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x49\x76\x4a\x75\x77" } , { "\xb3\xe8\xb4\xe7" , "\x49\x76\x74\x4a\x6d" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x49\x76\x4a\x79\x6d" } , { "\xb3\xe8\xb5" , "\x49\x76\x4b" } , { "\xb3\xe8\xb5\xda" , "\x49\x76\x4b\x6d" } , { "\xb3\xe8\xb5\xe5" , "\x49\x76\x74\x4b\x6d" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x49\x76\x7b\x4b\x6d" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x49\x76\x7b\x4b\x75\x77" } , { "\xb3\xe8\xb6" , "\x49\x76\x4c" } , { "\xb3\xe8\xb7\xda" , "\x49\x76\x4d\x6d" } , { "\xb3\xe8\xb7\xe1" , "\x49\x76\x74\x4d" } , { "\xb3\xe8\xb8" , "\x49\x76\x4e" } , { "\xb3\xe8\xb8\xda" , "\x49\x76\x4e\x6d" } , { "\xb3\xe8\xb8\xdc" , "\x49\x76\x4e\x6f" } , { "\xb3\xe8\xb8\xdd" , "\x49\x76\x4e\x70" } , { "\xb3\xe8\xb8\xe0" , "\x49\x76\x73\x4e" } , { "\xb3\xe8\xb8\xe1" , "\x49\x76\x74\x4e" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x49\x76\x74\x4e\x77" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x49\x76\x73\x4e\x6d\x77" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x49\x76\xa8\x6d" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x49\x76\xa8\x6f" } , { "\xb3\xe8\xb9" , "\x49\x76\x4f" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x49\x76\x74\x4f\x77" } , { "\xb3\xe8\xba" , "\x49\x76\x50" } , { "\xb3\xe8\xba\xda" , "\x49\x76\x50\x6d" } , { "\xb3\xe8\xba\xda\xa2" , "\x49\x76\x50\x6d\x77" } , { "\xb3\xe8\xba\xdb" , "\x49\x76\x50\x6e" } , { "\xb3\xe8\xba\xdc" , "\x49\x76\x50\x6f" } , { "\xb3\xe8\xba\xe1\xa2" , "\x49\x76\x74\x50\x77" } , { "\xb3\xe8\xba\xe2\xa2" , "\x49\x76\x73\x73\x50\x77" } , { "\xb3\xe8\xba\xe5" , "\x49\x76\x74\x50\x6d" } , { "\xb3\xe8\xba\xe9\xdc" , "\x49\x76\x50\x6f" } , { "\xb3\xe8\xbd" , "\x49\x76\x53" } , { "\xb3\xe8\xbd\xda" , "\x49\x76\x53\x6d" } , { "\xb3\xe8\xbd\xda\xa2" , "\x49\x76\x53\x6d\x77" } , { "\xb3\xe8\xbd\xdb" , "\x49\x76\x53\x6e" } , { "\xb3\xe8\xbd\xdb\xa2" , "\x49\x76\x53\x6e\x77" } , { "\xb3\xe8\xbd\xdc" , "\x49\x76\x53\x6f" } , { "\xb3\xe8\xbd\xdd" , "\x49\x76\x53\x70" } , { "\xb3\xe8\xbd\xde" , "\x49\x76\x53\x71" } , { "\xb3\xe8\xbd\xe0" , "\x49\x76\x73\x53" } , { "\xb3\xe8\xbd\xe0\xa2" , "\x49\x76\x73\x53\x77" } , { "\xb3\xe8\xbd\xe1" , "\x49\x76\x74\x53" } , { "\xb3\xe8\xbd\xe2" , "\x49\x76\x73\x73\x53" } , { "\xb3\xe8\xbd\xe4" , "\x49\x76\x73\x53\x6d" } , { "\xb3\xe8\xbd\xe5" , "\x49\x76\x74\x53\x6d" } , { "\xb3\xe8\xbd\xe5\xa2" , "\x49\x76\x74\x53\x6d\x77" } , { "\xb3\xe8\xbd\xe8" , "\x49\x76\x53\x76" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x49\x76\x53\x76\x49\x70" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x49\x76\x53\x76\x4b\x6d" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x49\x76\x53\x76\xa5\x6d" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x49\x76\x53\x76\x74\x4e" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x49\x76\x53\x76\x54\x6d" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x49\x76\x53\x76\x54\x6f" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x49\x76\x53\x76\x74\x54" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x49\x76\x53\x76\x5c\x70" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x49\x76\x53\x76\x61" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x49\x76\x53\x79" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x49\x76\x53\x79\x70" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x49\x76\x53\x79\x71" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x49\x76\x74\x53\x79\x6d" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x49\x76\x7b\x53" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x49\x76\x7b\x53\x6d" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x49\x76\x7b\x53\x6d\x77" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\x49\x76\x7b\x53\x6e" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x49\x76\x7b\x53\x6f" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\x49\x76\x73\x7b\x53" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\x49\x76\x74\x7b\x53" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\x49\x76\x73\x73\x7b\x53" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\x49\x76\x73\x7b\x53\x6d" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\x49\x76\x74\x7b\x53\x6d" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\x49\x76\x7b\x53\x75" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\x49\x76\x74\x7b\x53\x6d" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x49\x76\x53\x76\x63\x76" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\x49\x76\x53\x76\x65\x6e" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x49\x76\x53\x76\x65\x6f" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x49\x76\x53\x76\x65\x70" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\x49\x76\x53\x76\x73\x65" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\x49\x76\x53\x76\x73\x73\x65" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\x49\x76\x53\x76\x74\x65\x6d" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x49\x76\x53\x7a\x6d" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\x49\x76\x53\x7a\x6e" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x49\x76\x73\x73\x53\x7a" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x49\x76\x53\x76\x6b" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x49\x76\x53\x76\x6b\x6e\x77" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x49\x76\x53\x76\x6b\x70" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x49\x76\x53\x76\x6b\x76" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x49\x76\x53\x76\x6b\x76\x49\x6e" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x49\x76\x53\x76\x7b\x6b\x6d" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x49\x76\x53\x76\x74\xc9\x6d" } , { "\xb3\xe8\xbe\xa2" , "\x49\x76\x54\x77" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x49\x76\x54\x76\x54\x6d" } , { "\xb3\xe8\xbf" , "\x49\x76\x55" } , { "\xb3\xe8\xbf\xa2" , "\x49\x76\x55\x77" } , { "\xb3\xe8\xbf\xda" , "\x49\x76\x55\x6d" } , { "\xb3\xe8\xbf\xdb" , "\x49\x76\x55\x6e" } , { "\xb3\xe8\xbf\xdc" , "\x49\x76\x55\x6f" } , { "\xb3\xe8\xbf\xdd" , "\x49\x76\x55\x70" } , { "\xb3\xe8\xbf\xde" , "\x49\x76\x55\x71" } , { "\xb3\xe8\xbf\xe0" , "\x49\x76\x73\x55" } , { "\xb3\xe8\xbf\xe1" , "\x49\x76\x74\x55" } , { "\xb3\xe8\xbf\xe4" , "\x49\x76\x73\x55\x6d" } , { "\xb3\xe8\xbf\xe5" , "\x49\x76\x74\x55\x6d" } , { "\xb3\xe8\xbf\xe8" , "\x49\x76\x55\x76" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x49\x76\x7b\x55" } , { "\xb3\xe8\xbf\xe9" , "\x49\x76\x55" } , { "\xb3\xe8\xbf\xe9\xda" , "\x49\x76\x55\x6d" } , { "\xb3\xe8\xc1" , "\x49\x76\x57" } , { "\xb3\xe8\xc1\xdb" , "\x49\x76\x57\x6e" } , { "\xb3\xe8\xc1\xdb\xa2" , "\x49\x76\x57\x6e\x77" } , { "\xb3\xe8\xc1\xdc" , "\x49\x76\x57\x6f" } , { "\xb3\xe8\xc2" , "\xe0" } , { "\xb3\xe8\xc2\xa2" , "\xe0\x77" } , { "\xb3\xe8\xc2\xa3" , "\xe0\x78" } , { "\xb3\xe8\xc2\xda" , "\xe0\x6d" } , { "\xb3\xe8\xc2\xda\xa2" , "\xe0\x6d\x77" } , { "\xb3\xe8\xc2\xda\xa3" , "\xe0\x6d\x78" } , { "\xb3\xe8\xc2\xdb" , "\xe0\x6e" } , { "\xb3\xe8\xc2\xdb\xa2" , "\xe0\x6e\x77" } , { "\xb3\xe8\xc2\xdb\xa3" , "\xe0\x6e\x78" } , { "\xb3\xe8\xc2\xdc" , "\xe0\x6f" } , { "\xb3\xe8\xc2\xdc\xa3" , "\xe0\x6f\x78" } , { "\xb3\xe8\xc2\xdd" , "\xe0\x70" } , { "\xb3\xe8\xc2\xdd\xa2" , "\xe0\x70\x77" } , { "\xb3\xe8\xc2\xde" , "\xe0\x71" } , { "\xb3\xe8\xc2\xdf" , "\xe0\x72" } , { "\xb3\xe8\xc2\xe0" , "\x73\xe0" } , { "\xb3\xe8\xc2\xe1" , "\x74\xe0" } , { "\xb3\xe8\xc2\xe2" , "\x73\x73\xe0" } , { "\xb3\xe8\xc2\xe5" , "\x74\xe0\x6d" } , { "\xb3\xe8\xc2\xe5\xa2" , "\x74\xe0\x6d\x77" } , { "\xb3\xe8\xc2\xe6" , "\xe0\x75" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\xe0\x76\x73\x49" } , { "\xb3\xe8\xc2\xe8\xc2" , "\xe0\x76\x58" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\xe0\x76\x58\x6d" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\xe0\x76\x58\x6e" } , { "\xb3\xe8\xc2\xe8\xcd" , "\xe0\x79" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\xe0\x79\x77" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\xe0\x79\x6d" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\xe0\x79\x70" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x73\x73\xe0\x79" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x74\xe0\x79\x6d\x77" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x7b\xe0" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x7b\xe0\x77" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x7b\xe0\x78" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\x7b\xe0\x6e" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\x73\x7b\xe0" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\x73\x73\x7b\xe0" } , { "\xb3\xe8\xc2\xe8\xd4" , "\xe0\x7a" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\xe0\x7a\x77" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\xe0\x7a\x6d" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\xe0\x7a\x6e" } , { "\xb3\xe8\xc2\xe8\xd7" , "\xe0\x76\x6b" } , { "\xb3\xe8\xc3" , "\x49\x76\x59" } , { "\xb3\xe8\xc3\xa2" , "\x49\x76\x59\x77" } , { "\xb3\xe8\xc3\xdb" , "\x49\x76\x59\x6e" } , { "\xb3\xe8\xc3\xdd" , "\x49\x76\x59\x70" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x49\x76\x59\x79" } , { "\xb3\xe8\xc4" , "\x49\x76\x5a" } , { "\xb3\xe8\xc4\xda" , "\x49\x76\x5a\x6d" } , { "\xb3\xe8\xc4\xdb" , "\x49\x76\x5a\x6e" } , { "\xb3\xe8\xc4\xdd" , "\x49\x76\x5a\x70" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x49\x76\x5a\x70\x77" } , { "\xb3\xe8\xc4\xe4" , "\x49\x76\x73\x5a\x6d" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x49\x76\x7b\x5a\x6f" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x49\x76\x5a\x7a\x6d" } , { "\xb3\xe8\xc5" , "\x49\x76\x5b" } , { "\xb3\xe8\xc5\xda" , "\x49\x76\x5b\x6d" } , { "\xb3\xe8\xc6" , "\x49\x76\x5c" } , { "\xb3\xe8\xc6\xda" , "\x49\x76\x5c\x6d" } , { "\xb3\xe8\xc6\xda\xa2" , "\x49\x76\x5c\x6d\x77" } , { "\xb3\xe8\xc6\xdb" , "\x49\x76\x5c\x6e" } , { "\xb3\xe8\xc6\xdc" , "\x49\x76\x5c\x6f" } , { "\xb3\xe8\xc6\xdd" , "\x49\x76\x5c\x70" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x49\x76\x5c\x70\x77" } , { "\xb3\xe8\xc6\xde" , "\x49\x76\x5c\x71" } , { "\xb3\xe8\xc6\xe0" , "\x49\x76\x73\x5c" } , { "\xb3\xe8\xc6\xe4" , "\x49\x76\x73\x5c\x6d" } , { "\xb3\xe8\xc6\xe5" , "\x49\x76\x74\x5c\x6d" } , { "\xb3\xe8\xc6\xe7" , "\x49\x76\x74\x5c\x6d" } , { "\xb3\xe8\xc6\xe8" , "\x49\x76\x5c\x76" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x49\x76\x5c\x79" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x49\x76\x5c\x79\x6d" } , { "\xb3\xe8\xc8" , "\x49\x76\x5d" } , { "\xb3\xe8\xc8\xa2" , "\x49\x76\x5d\x77" } , { "\xb3\xe8\xc8\xda" , "\x49\x76\x5d\x6d" } , { "\xb3\xe8\xc8\xdb" , "\x49\x76\x5d\x6e" } , { "\xb3\xe8\xc8\xdc" , "\x49\x76\x5d\x6f" } , { "\xb3\xe8\xc8\xdd" , "\x49\x76\x5d\x70" } , { "\xb3\xe8\xc8\xde" , "\x49\x76\x5d\x71" } , { "\xb3\xe8\xc8\xdf" , "\x49\x76\x5d\x72" } , { "\xb3\xe8\xc8\xe1" , "\x49\x76\x74\x5d" } , { "\xb3\xe8\xc8\xe2" , "\x49\x76\x73\x73\x5d" } , { "\xb3\xe8\xc8\xe4" , "\x49\x76\x73\x5d\x6d" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x49\x76\x7b\x5d" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x49\x76\x7b\x5d\x6d" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x49\x76\x7b\x5d\x75" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x49\x76\x5d\x76\x6b\x6e" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x49\x76\x5d\x76\x73\x6b" } , { "\xb3\xe8\xc9" , "\x49\x76\x5e" } , { "\xb3\xe8\xc9\xda" , "\x49\x76\x5e\x6d" } , { "\xb3\xe8\xc9\xdb" , "\x49\x76\x5e\x6e" } , { "\xb3\xe8\xc9\xdd" , "\x49\x76\x5e\x70" } , { "\xb3\xe8\xc9\xe0" , "\x49\x76\x73\x5e" } , { "\xb3\xe8\xc9\xe1" , "\x49\x76\x74\x5e" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x49\x76\x74\x5e" } , { "\xb3\xe8\xca" , "\x49\x76\x5f" } , { "\xb3\xe8\xca\xa2" , "\x49\x76\x5f\x77" } , { "\xb3\xe8\xca\xda" , "\x49\x76\x5f\x6d" } , { "\xb3\xe8\xca\xdc" , "\x49\x76\x5f\x6f" } , { "\xb3\xe8\xca\xde" , "\x49\x76\x5f\x71" } , { "\xb3\xe8\xca\xe1" , "\x49\x76\x74\x5f" } , { "\xb3\xe8\xca\xe5" , "\x49\x76\x74\x5f\x6d" } , { "\xb3\xe8\xca\xe5\xa2" , "\x49\x76\x74\x5f\x6d\x77" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x49\x76\xbb\x6d" } , { "\xb3\xe8\xcb" , "\x49\x76\x60" } , { "\xb3\xe8\xcb\xda" , "\x49\x76\x60\x6d" } , { "\xb3\xe8\xcb\xdb" , "\x49\x76\x60\x6e" } , { "\xb3\xe8\xcc" , "\x49\x76\x61" } , { "\xb3\xe8\xcc\xa2" , "\x49\x76\x61\x77" } , { "\xb3\xe8\xcc\xda" , "\x49\x76\x61\x6d" } , { "\xb3\xe8\xcc\xda\xa2" , "\x49\x76\x61\x6d\x77" } , { "\xb3\xe8\xcc\xdb" , "\x49\x76\x61\x6e" } , { "\xb3\xe8\xcc\xdc" , "\x49\x76\x61\x6f" } , { "\xb3\xe8\xcc\xdd" , "\x49\x76\x61\x70" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x49\x76\x61\x70\x77" } , { "\xb3\xe8\xcc\xe0" , "\x49\x76\x73\x61" } , { "\xb3\xe8\xcc\xe1" , "\x49\x76\x74\x61" } , { "\xb3\xe8\xcc\xe1\xa2" , "\x49\x76\x74\x61\x77" } , { "\xb3\xe8\xcc\xe2" , "\x49\x76\x73\x73\x61" } , { "\xb3\xe8\xcc\xe5" , "\x49\x76\x74\x61\x6d" } , { "\xb3\xe8\xcd" , "\x49\x79" } , { "\xb3\xe8\xcd\xa2" , "\x49\x79\x77" } , { "\xb3\xe8\xcd\xda" , "\x49\x79\x6d" } , { "\xb3\xe8\xcd\xda\xa1" , "\x49\x79\x6d\x77" } , { "\xb3\xe8\xcd\xda\xa2" , "\x49\x79\x6d\x77" } , { "\xb3\xe8\xcd\xdb" , "\x49\x79\x6e" } , { "\xb3\xe8\xcd\xdd" , "\x49\x79\x70" } , { "\xb3\xe8\xcd\xde" , "\x49\x79\x71" } , { "\xb3\xe8\xcd\xde\xa1" , "\x49\x79\x71\x77" } , { "\xb3\xe8\xcd\xde\xa2" , "\x49\x79\x71\x77" } , { "\xb3\xe8\xcd\xe1" , "\x74\x49\x79" } , { "\xb3\xe8\xcd\xe2" , "\x73\x73\x49\x79" } , { "\xb3\xe8\xcd\xe5" , "\x74\x49\x79\x6d" } , { "\xb3\xe8\xcd\xe5\xa2" , "\x74\x49\x79\x6d\x77" } , { "\xb3\xe8\xcd\xe8" , "\x49\x76\x62\x76" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x49\x76\xbf\x6d" } , { "\xb3\xe8\xcf" , "\x7b\x49" } , { "\xb3\xe8\xcf\xa2" , "\x7b\x49\x77" } , { "\xb3\xe8\xcf\xda" , "\x7b\x49\x6d" } , { "\xb3\xe8\xcf\xda\xa1" , "\x7b\x49\x6d\x77" } , { "\xb3\xe8\xcf\xda\xa2" , "\x7b\x49\x6d\x77" } , { "\xb3\xe8\xcf\xdb" , "\x7b\x49\x6e" } , { "\xb3\xe8\xcf\xdb\xa2" , "\x7b\x49\x6e\x77" } , { "\xb3\xe8\xcf\xdc" , "\x7b\x49\x6f" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x7b\x49\x6f\x77" } , { "\xb3\xe8\xcf\xdd" , "\x7b\x49\x70" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x7b\x49\x70\x77" } , { "\xb3\xe8\xcf\xde" , "\x7b\x49\x71" } , { "\xb3\xe8\xcf\xdf" , "\x7b\x49\x72" } , { "\xb3\xe8\xcf\xe0" , "\x73\x7b\x49" } , { "\xb3\xe8\xcf\xe1" , "\x74\x7b\x49" } , { "\xb3\xe8\xcf\xe1\xa2" , "\x74\x7b\x49\x77" } , { "\xb3\xe8\xcf\xe2" , "\x73\x73\x7b\x49" } , { "\xb3\xe8\xcf\xe2\xa2" , "\x73\x73\x7b\x49\x77" } , { "\xb3\xe8\xcf\xe4" , "\x73\x7b\x49\x6d" } , { "\xb3\xe8\xcf\xe4\xa2" , "\x73\x7b\x49\x6d\x77" } , { "\xb3\xe8\xcf\xe5" , "\x74\x7b\x49\x6d" } , { "\xb3\xe8\xcf\xe5\xa2" , "\x74\x7b\x49\x6d\x77" } , { "\xb3\xe8\xcf\xe6" , "\x7b\x49\x75" } , { "\xb3\xe8\xcf\xe6\xa2" , "\x7b\x49\x75\x77" } , { "\xb3\xe8\xcf\xe7" , "\x74\x7b\x49\x6d" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x49\x76\x63\x76\x53\x6d" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x49\x76\x63\x76\x59\x77" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x7b\x49\x79" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x49\x76\x63\x76\x74\x6a" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x49\x76\x63\x76\x6b" } , { "\xb3\xe8\xd0\xdc" , "\x49\x76\x64\x6f" } , { "\xb3\xe8\xd0\xdd" , "\x49\x76\x64\x70" } , { "\xb3\xe8\xd0\xe4" , "\x49\x76\x73\x64\x6d" } , { "\xb3\xe8\xd1" , "\xa2" } , { "\xb3\xe8\xd1\xa2" , "\xa2\x77" } , { "\xb3\xe8\xd1\xda" , "\xa2\x6d" } , { "\xb3\xe8\xd1\xda\xa1" , "\xa2\x6d\x77" } , { "\xb3\xe8\xd1\xda\xa2" , "\xa2\x6d\x77" } , { "\xb3\xe8\xd1\xdb" , "\xa2\x6e" } , { "\xb3\xe8\xd1\xdb\xa2" , "\xa2\x6e\x77" } , { "\xb3\xe8\xd1\xdc" , "\xa2\x6f" } , { "\xb3\xe8\xd1\xdd" , "\xa2\x70" } , { "\xb3\xe8\xd1\xde" , "\xa2\x71" } , { "\xb3\xe8\xd1\xe0" , "\x73\xa2" } , { "\xb3\xe8\xd1\xe0\xa2" , "\x73\xa2\x77" } , { "\xb3\xe8\xd1\xe1" , "\x74\xa2" } , { "\xb3\xe8\xd1\xe1\xa2" , "\x74\xa2\x77" } , { "\xb3\xe8\xd1\xe2" , "\x73\x73\xa2" } , { "\xb3\xe8\xd1\xe2\xa2" , "\x73\x73\xa2\x77" } , { "\xb3\xe8\xd1\xe4" , "\x73\xa2\x6d" } , { "\xb3\xe8\xd1\xe5" , "\x74\xa2\x6d" } , { "\xb3\xe8\xd1\xe5\xa2" , "\x74\xa2\x6d\x77" } , { "\xb3\xe8\xd1\xe6" , "\xa2\x75" } , { "\xb3\xe8\xd1\xe7" , "\x74\xa2\x6d" } , { "\xb3\xe8\xd1\xe8" , "\xa2\x76" } , { "\xb3\xe8\xd1\xe8\xb8" , "\xa2\x76\x4e" } , { "\xb3\xe8\xd1\xe8\xc8" , "\xa2\x76\x5d" } , { "\xb3\xe8\xd1\xe8\xcd" , "\xa2\x79" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\xa2\x79\x6d" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\xa2\x76\x6b\x6f" } , { "\xb3\xe8\xd2" , "\x49\x76\x66" } , { "\xb3\xe8\xd4" , "\x49\x7a" } , { "\xb3\xe8\xd4\xa2" , "\x49\x7a\x77" } , { "\xb3\xe8\xd4\xda" , "\x49\x7a\x6d" } , { "\xb3\xe8\xd4\xda\xa1" , "\x49\x7a\x6d\x77" } , { "\xb3\xe8\xd4\xda\xa2" , "\x49\x7a\x6d\x77" } , { "\xb3\xe8\xd4\xdb" , "\x49\x7a\x6e" } , { "\xb3\xe8\xd4\xdb\xa2" , "\x49\x7a\x6e\x77" } , { "\xb3\xe8\xd4\xdc" , "\x49\x7a\x6f" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x49\x7a\x6f\x77" } , { "\xb3\xe8\xd4\xdf" , "\x49\x7a\x72" } , { "\xb3\xe8\xd4\xe0" , "\x73\x49\x7a" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x73\x49\x7a\x77" } , { "\xb3\xe8\xd4\xe1" , "\x74\x49\x7a" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x74\x49\x7a\x77" } , { "\xb3\xe8\xd4\xe2" , "\x73\x73\x49\x7a" } , { "\xb3\xe8\xd4\xe4" , "\x73\x49\x7a\x6d" } , { "\xb3\xe8\xd4\xe5" , "\x74\x49\x7a\x6d" } , { "\xb3\xe8\xd4\xe6" , "\x49\x7a\x75" } , { "\xb3\xe8\xd4\xe8" , "\x49\x76\x68\x76" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x49\x76\x68\x76\x6b\x6d" } , { "\xb3\xe8\xd5" , "\x49\x76\x69" } , { "\xb3\xe8\xd5\xa2" , "\x49\x76\x69\x77" } , { "\xb3\xe8\xd5\xda" , "\x49\x76\x69\x6d" } , { "\xb3\xe8\xd5\xdb" , "\x49\x76\x69\x6e" } , { "\xb3\xe8\xd5\xdb\xa2" , "\x49\x76\x69\x6e\x77" } , { "\xb3\xe8\xd5\xdc" , "\x49\x76\x69\x6f" } , { "\xb3\xe8\xd5\xdd" , "\x49\x76\x69\x70" } , { "\xb3\xe8\xd5\xde" , "\x49\x76\x69\x71" } , { "\xb3\xe8\xd5\xe1" , "\x49\x76\x74\x69" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x49\x76\x74\x69\x77" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x49\x76\x74\x69\x6d\x77" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x49\x76\xdd" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x49\x76\x69\x79" } , { "\xb3\xe8\xd6" , "\xa3" } , { "\xb3\xe8\xd6\xa2" , "\xa3\x77" } , { "\xb3\xe8\xd6\xa3" , "\xa3\x78" } , { "\xb3\xe8\xd6\xda" , "\xa3\x6d" } , { "\xb3\xe8\xd6\xda\xa2" , "\xa3\x6d\x77" } , { "\xb3\xe8\xd6\xdb" , "\xa3\x6e" } , { "\xb3\xe8\xd6\xdb\xa2" , "\xa3\x6e\x77" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\xa3\x6e\x77\x77" } , { "\xb3\xe8\xd6\xdc" , "\xa3\x6f" } , { "\xb3\xe8\xd6\xdc\xa2" , "\xa3\x6f\x77" } , { "\xb3\xe8\xd6\xdd" , "\xa3\x70" } , { "\xb3\xe8\xd6\xdd\xa3" , "\xa3\x70\x78" } , { "\xb3\xe8\xd6\xde" , "\xa3\x71" } , { "\xb3\xe8\xd6\xdf" , "\xa3\x72" } , { "\xb3\xe8\xd6\xe0" , "\x73\xa3" } , { "\xb3\xe8\xd6\xe0\xa2" , "\x73\xa3\x77" } , { "\xb3\xe8\xd6\xe1" , "\x74\xa3" } , { "\xb3\xe8\xd6\xe1\xa2" , "\x74\xa3\x77" } , { "\xb3\xe8\xd6\xe2" , "\x73\x73\xa3" } , { "\xb3\xe8\xd6\xe5" , "\x74\xa3\x6d" } , { "\xb3\xe8\xd6\xe5\xa2" , "\x74\xa3\x6d\x77" } , { "\xb3\xe8\xd6\xe6" , "\xa3\x75" } , { "\xb3\xe8\xd6\xe8" , "\xa3\x76" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\xa3\x76\x49\x70" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\xa3\x76\xa3" } , { "\xb3\xe8\xd6\xe8\xbd" , "\xa3\x76\x53" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\xa3\x76\x7b\x53\x6d" } , { "\xb3\xe8\xd6\xe8\xc1" , "\xa3\x76\x57" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\xa3\x76\x57\x77" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\xa3\x76\x57\x6d" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\xa3\x76\x73\x73\x57" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\xa3\x76\x74\x57\x6d" } , { "\xb3\xe8\xd6\xe8\xc2" , "\xa3\x76\x58" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\xa3\x76\x7b\x58" } , { "\xb3\xe8\xd6\xe8\xc6" , "\xa3\x76\x5c" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\xa3\x76\x5c\x76" } , { "\xb3\xe8\xd6\xe8\xcc" , "\xa3\x76\x61" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\xa3\x76\x61\x77" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\xa3\x76\x61\x6d" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\xa3\x76\x61\x6d\x77" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\xa3\x76\x61\x6e" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\xa3\x76\x61\x6e\x77" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\xa3\x76\x61\x6f" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\xa3\x76\x61\x70" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\xa3\x76\x74\x61" } , { "\xb3\xe8\xd6\xe8\xcd" , "\xa3\x79" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\xa3\x79\x77" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\xa3\x79\x6d" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\xa3\x79\x6d\x77" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\xa3\x79\x6f" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\xa3\x79\x70" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\xa3\x79\x71" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x74\xa3\x79" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x74\xa3\x79\x6d" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x74\xa3\x79\x6d\x77" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x7b\xa3" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x7b\xa3\x77" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x7b\xa3\x6d" } , { "\xb3\xe8\xd6\xe8\xd1" , "\xa3\x76\x65" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\xa3\x76\x65\x70" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\xa3\x7a\x6d" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x74\xa3\x7a" } , { "\xb3\xe8\xd7" , "\x49\x76\x6b" } , { "\xb3\xe8\xd7\xa2" , "\x49\x76\x6b\x77" } , { "\xb3\xe8\xd7\xda" , "\x49\x76\x6b\x6d" } , { "\xb3\xe8\xd7\xda\xa2" , "\x49\x76\x6b\x6d\x77" } , { "\xb3\xe8\xd7\xdb" , "\x49\x76\x6b\x6e" } , { "\xb3\xe8\xd7\xdb\xa2" , "\x49\x76\x6b\x6e\x77" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\x49\x76\x6b\x6e\x77\x77" } , { "\xb3\xe8\xd7\xdc" , "\x49\x76\x6b\x6f" } , { "\xb3\xe8\xd7\xdd" , "\x49\x76\x6b\x70" } , { "\xb3\xe8\xd7\xde" , "\x49\x76\x6b\x71" } , { "\xb3\xe8\xd7\xe0" , "\x49\x76\x73\x6b" } , { "\xb3\xe8\xd7\xe0\xa2" , "\x49\x76\x73\x6b\x77" } , { "\xb3\xe8\xd7\xe1" , "\x49\x76\x74\x6b" } , { "\xb3\xe8\xd7\xe1\xa2" , "\x49\x76\x74\x6b\x77" } , { "\xb3\xe8\xd7\xe2" , "\x49\x76\x73\x73\x6b" } , { "\xb3\xe8\xd7\xe4" , "\x49\x76\x73\x6b\x6d" } , { "\xb3\xe8\xd7\xe5" , "\x49\x76\x74\x6b\x6d" } , { "\xb3\xe8\xd7\xe5\xa2" , "\x49\x76\x74\x6b\x6d\x77" } , { "\xb3\xe8\xd7\xe6" , "\x49\x76\x6b\x75" } , { "\xb3\xe8\xd7\xe8" , "\x49\x76\x6b\x76" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\x49\x76\x6b\x76\x49\x6e" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x49\x76\x6b\x76\x49\x70" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x49\x76\x6b\x76\x49\x71" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x49\x76\x6b\x76\x49\x79\x71" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x49\x76\x6b\x76\x7b\x49\x6f" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x49\x76\x6b\x76\xa2\x71" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x49\x76\x6b\x76\x4b" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x49\x76\x6b\x76\x4b\x6d" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x49\x76\x6b\x76\x74\x7b\x4b" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x49\x76\x6b\x76\x4e" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x49\x76\x6b\x76\x4e\x6e" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x49\x76\x6b\x76\x74\x4e" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x49\x76\x6b\x76\x74\x4e\x77" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x49\x76\x6b\x76\x74\x4f\x77" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x49\x76\x6b\x76\x50\x76\x65" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x49\x76\x6b\x76\x53" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x49\x76\x6b\x76\x53\x6d" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x49\x76\x6b\x76\x53\x6f" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x49\x76\x6b\x76\x73\x53" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x49\x76\x6b\x76\x73\x53\x77" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x49\x76\x6b\x76\x74\x53\x77" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x49\x76\x6b\x76\x73\x73\x53" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x49\x76\x6b\x76\x74\x53\x6d" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x49\x76\x6b\x76\x53\x76" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x49\x76\x6b\x76\x7b\x53\x6d" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x49\x76\x6b\x76\x7b\x53\x6e" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x49\x76\x6b\x76\x7b\x53\x6f" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x49\x76\x6b\x76\x7b\x53\x71" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x49\x76\x6b\x76\x74\x7b\x53\x6d" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x49\x76\x6b\x76\x55" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x49\x76\x6b\x76\x55\x76\x4b\x6d" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\x49\x76\x6b\x76\x58\x71" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\x49\x76\x6b\x76\x58\x76" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x49\x76\xd8\x6d" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\x49\x76\xd8\x6e" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x49\x76\x6b\x76\x5a\x6d" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\x49\x76\x6b\x76\x5c\x77" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\x49\x76\x6b\x76\x5c\x6e" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\x49\x76\x6b\x76\x5c\x70" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\x49\x76\x6b\x76\x5c\x70\x77" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\x49\x76\x6b\x76\x74\x5c" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\x49\x76\x6b\x76\x5c\x76" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x49\x76\x6b\x76\x5c\x76\x74\x65\x6d" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x49\x76\x6b\x76\x5d" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x49\x76\x6b\x76\x5d\x77" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x49\x76\x6b\x76\x5d\x6d" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\x49\x76\x6b\x76\x5d\x6e" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x49\x76\x6b\x76\x5d\x6f" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x49\x76\x6b\x76\x73\x5d" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x49\x76\x6b\x76\x73\x5d\x77" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x49\x76\x6b\x76\x73\x73\x5d" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x49\x76\x6b\x76\x73\x5d\x6d" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x49\x76\x6b\x76\x74\x5d\x6d" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x49\x76\x6b\x76\x5d\x75" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x49\x76\x6b\x76\x73\x7b\x5d" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x49\x76\x6b\x76\x74\x7b\x5d" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x49\x76\x6b\x76\xb9" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x49\x76\x6b\x76\xb9\x6d" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x49\x76\x6b\x76\xb9\x6d\x77" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x49\x76\x6b\x76\x73\xb9" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x49\x76\x6b\x76\x5e" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\x49\x76\x6b\x76\x5e\x6e" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x49\x76\x6b\x76\x5e\x76\x74\x65\x6d" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x49\x76\x6b\x76\x61" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\x49\x76\x6b\x76\x61\x6e" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x49\x76\x6b\x76\x61\x70" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x49\x76\x6b\x76\x61\x79\x6d" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x49\x76\x6b\x79\x71" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x49\x76\x7b\x6b\x70" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\x49\x76\x73\x7b\x6b" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\x49\x76\x74\x7b\x6b" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x49\x76\x6b\x76\x63\x76" } , { "\xb3\xe8\xd7\xe8\xd1" , "\x49\x76\xc9" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\x49\x76\xc9\x6f" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\x49\x76\xc9\x70" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\x49\x76\x73\xc9\x77" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\x49\x76\x74\xc9" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\x49\x76\x73\x73\xc9" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\x49\x76\x74\xc9\x6d" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x49\x76\x6b\x7a" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x49\x76\x6b\x7a\x77" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x49\x76\x6b\x7a\x6d" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x49\x76\x73\x6b\x7a" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x49\x76\xca\x76" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x49\x76\xca\x76\x53\x76\x63\x6d" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x49\x76\x6b\x76\x73\x73\x6c" } , { "\xb3\xe8\xd8" , "\x49\x76\x6c" } , { "\xb3\xe8\xd8\xda" , "\x49\x76\x6c\x6d" } , { "\xb3\xe8\xd8\xda\xa2" , "\x49\x76\x6c\x6d\x77" } , { "\xb3\xe8\xd8\xe0" , "\x49\x76\x73\x6c" } , { "\xb3\xe8\xd8\xe8" , "\x49\x76\x6c\x76" } , { "\xb3\xe8\xd9\xa6" , "\x49\x76\x43" } , { "\xb3\xe8\xd9\xb3" , "\x49\x76\x49" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x49\x76\x49\x6f" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x49\x76\x4a\x75" } , { "\xb3\xe8\xd9\xbd" , "\x49\x76\x53" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x49\x76\x7b\x53\x6d" } , { "\xb3\xe8\xd9\xc2" , "\x49\x76\x58" } , { "\xb3\xe8\xd9\xc2\xda" , "\x49\x76\x58\x6d" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x49\x76\x58\x6e" } , { "\xb3\xe8\xd9\xc2\xde" , "\x49\x76\x58\x71" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x49\x76\x58\x72" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x49\x76\x74\x58\x6d\x77" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x49\x76\x58\x76\x68" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x49\x76\x63\x76\x53\x6e" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x49\x76\x63\x79" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x49\x76\x63\x76\x6b" } , { "\xb3\xe8\xd9\xd4" , "\x49\x76\x68" } , { "\xb3\xe8\xd9\xd7" , "\x49\x76\x6b" } , { "\xb3\xe8\xd9\xd7\xda" , "\x49\x76\x6b\x6d" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x49\x76\x6b\x6f" } , { "\xb3\xe8\xe8" , "\x49\x76" } , { "\xb3\xe8\xe9\xc2" , "\x49\x76\x58" } , { "\xb3\xe8\xe9\xcf" , "\x49\x76\x63" } , { "\xb3\xe8\xe9\xd6" , "\x49\x76\x6a" } , { "\xb3\xe9" , "\x49" } , { "\xb3\xe9\xda" , "\x49\x6d" } , { "\xb3\xe9\xdb" , "\x49\x6e" } , { "\xb3\xe9\xdb\xa2" , "\x49\x6e\x77" } , { "\xb3\xe9\xdc" , "\x49\x6f" } , { "\xb3\xe9\xdd" , "\x49\x70" } , { "\xb3\xe9\xde" , "\x49\x71" } , { "\xb3\xe9\xe1" , "\x74\x49" } , { "\xb3\xe9\xe2" , "\x73\x73\x49" } , { "\xb3\xe9\xe5\xa2" , "\x74\x49\x6d\x77" } , { "\xb3\xe9\xe6" , "\x49\x75" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x49\x76\x49" } , { "\xb3\xe9\xe8\xc2" , "\x49\x76\x58" } , { "\xb3\xe9\xe8\xcc" , "\x49\x76\x61" } , { "\xb3\xe9\xe8\xd1" , "\x49\x76\x65" } , { "\xb3\xe9\xe8\xd1\xdb" , "\x49\x76\x65\x6e" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x49\x76\x6b\x6f" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x49\x76\x74\x58" } , { "\xb4" , "\x4a" } , { "\xb4\xa1" , "\x4a\x77" } , { "\xb4\xa2" , "\x4a\x77" } , { "\xb4\xa3" , "\x4a\x78" } , { "\xb4\xd0" , "\x4a\x64" } , { "\xb4\xd0\xb8" , "\x4a\x64\x4e" } , { "\xb4\xd0\xdc" , "\x4a\x64\x6f" } , { "\xb4\xda" , "\x4a\x6d" } , { "\xb4\xda\xa1" , "\x4a\x6d\x77" } , { "\xb4\xda\xa2" , "\x4a\x6d\x77" } , { "\xb4\xda\xa3" , "\x4a\x6d\x78" } , { "\xb4\xdb" , "\x4a\x6e" } , { "\xb4\xdb\xa2" , "\x4a\x6e\x77" } , { "\xb4\xdc" , "\x4a\x6f" } , { "\xb4\xdc\xa2" , "\x4a\x6f\x77" } , { "\xb4\xdd" , "\x4a\x70" } , { "\xb4\xdd\xa1" , "\x4a\x70\x77" } , { "\xb4\xdd\xa2" , "\x4a\x70\x77" } , { "\xb4\xde" , "\x4a\x71" } , { "\xb4\xde\xa1" , "\x4a\x71\x77" } , { "\xb4\xde\xa2" , "\x4a\x71\x77" } , { "\xb4\xdf" , "\x4a\x72" } , { "\xb4\xe0" , "\x73\x4a" } , { "\xb4\xe1" , "\x74\x4a" } , { "\xb4\xe1\xa1" , "\x74\x4a\x77" } , { "\xb4\xe1\xa2" , "\x74\x4a\x77" } , { "\xb4\xe2" , "\x73\x73\x4a" } , { "\xb4\xe2\xa2" , "\x73\x73\x4a\x77" } , { "\xb4\xe4" , "\x73\x4a\x6d" } , { "\xb4\xe5" , "\x74\x4a\x6d" } , { "\xb4\xe5\xa2" , "\x74\x4a\x6d\x77" } , { "\xb4\xe6" , "\x4a\x75" } , { "\xb4\xe8" , "\x4a\x76" } , { "\xb4\xe8\xb3" , "\x4a\x76\x49" } , { "\xb4\xe8\xb3\xda" , "\x4a\x76\x49\x6d" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x4a\x76\xa3" } , { "\xb4\xe8\xb4" , "\x4a\x76\x4a" } , { "\xb4\xe8\xb4\xa2" , "\x4a\x76\x4a\x77" } , { "\xb4\xe8\xb4\xa3" , "\x4a\x76\x4a\x78" } , { "\xb4\xe8\xb4\xda" , "\x4a\x76\x4a\x6d" } , { "\xb4\xe8\xb4\xdb\xa2" , "\x4a\x76\x4a\x6e\x77" } , { "\xb4\xe8\xb4\xdc" , "\x4a\x76\x4a\x6f" } , { "\xb4\xe8\xb5\xda" , "\x4a\x76\x4b\x6d" } , { "\xb4\xe8\xb8\xda" , "\x4a\x76\x4e\x6d" } , { "\xb4\xe8\xbd" , "\x4a\x76\x53" } , { "\xb4\xe8\xc2" , "\x4a\x76\x58" } , { "\xb4\xe8\xc2\xda" , "\x4a\x76\x58\x6d" } , { "\xb4\xe8\xc2\xdb" , "\x4a\x76\x58\x6e" } , { "\xb4\xe8\xc2\xdc" , "\x4a\x76\x58\x6f" } , { "\xb4\xe8\xc2\xdd" , "\x4a\x76\x58\x70" } , { "\xb4\xe8\xc2\xe1" , "\x4a\x76\x74\x58" } , { "\xb4\xe8\xc2\xe5" , "\x4a\x76\x74\x58\x6d" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x4a\x76\x74\x58\x6d\x77" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x4a\x76\x58\x76\x4a\x6d" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x4a\x76\x5a\x70\x77" } , { "\xb4\xe8\xc6\xdc" , "\x4a\x76\x5c\x6f" } , { "\xb4\xe8\xc6\xdd" , "\x4a\x76\x5c\x70" } , { "\xb4\xe8\xc6\xe2" , "\x4a\x76\x73\x73\x5c" } , { "\xb4\xe8\xc6\xe5" , "\x4a\x76\x74\x5c\x6d" } , { "\xb4\xe8\xc8\xde" , "\x4a\x76\x5d\x71" } , { "\xb4\xe8\xcc" , "\x4a\x76\x61" } , { "\xb4\xe8\xcc\xda" , "\x4a\x76\x61\x6d" } , { "\xb4\xe8\xcc\xdb" , "\x4a\x76\x61\x6e" } , { "\xb4\xe8\xcc\xdc" , "\x4a\x76\x61\x6f" } , { "\xb4\xe8\xcc\xe5\xa2" , "\x4a\x76\x74\x61\x6d\x77" } , { "\xb4\xe8\xcd" , "\x4a\x79" } , { "\xb4\xe8\xcd\xa2" , "\x4a\x79\x77" } , { "\xb4\xe8\xcd\xda" , "\x4a\x79\x6d" } , { "\xb4\xe8\xcd\xda\xa2" , "\x4a\x79\x6d\x77" } , { "\xb4\xe8\xcd\xdb" , "\x4a\x79\x6e" } , { "\xb4\xe8\xcd\xdd" , "\x4a\x79\x70" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x4a\x79\x70\x77" } , { "\xb4\xe8\xcd\xde" , "\x4a\x79\x71" } , { "\xb4\xe8\xcd\xe1" , "\x74\x4a\x79" } , { "\xb4\xe8\xcd\xe5" , "\x74\x4a\x79\x6d" } , { "\xb4\xe8\xcd\xe5\xa2" , "\x74\x4a\x79\x6d\x77" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x4a\x76\xbf" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x4a\x76\xbf\x6d" } , { "\xb4\xe8\xcf" , "\x7b\x4a" } , { "\xb4\xe8\xcf\xdd" , "\x7b\x4a\x70" } , { "\xb4\xe8\xd1\xda" , "\x4a\x76\x65\x6d" } , { "\xb4\xe8\xd1\xdd" , "\x4a\x76\x65\x70" } , { "\xb4\xe8\xd4\xda" , "\x4a\x7a\x6d" } , { "\xb4\xe8\xd5" , "\x4a\x76\x69" } , { "\xb4\xe8\xd5\xda" , "\x4a\x76\x69\x6d" } , { "\xb4\xe8\xd5\xdc" , "\x4a\x76\x69\x6f" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x4a\x76\x6a\x79\x6d" } , { "\xb4\xe8\xd7" , "\x4a\x76\x6b" } , { "\xb4\xe8\xd7\xdb" , "\x4a\x76\x6b\x6e" } , { "\xb4\xe8\xd7\xdc" , "\x4a\x76\x6b\x6f" } , { "\xb4\xe8\xd9\xd5" , "\x4a\x76\x69" } , { "\xb4\xe8\xe8" , "\x4a\x76" } , { "\xb4\xe8\xe9\xcf" , "\x4a\x76\x63" } , { "\xb4\xe9" , "\x4a" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x4a\x63\x76\x4e\x6d" } , { "\xb4\xe9\xda" , "\x4a\x6d" } , { "\xb4\xe9\xda\xa1" , "\x4a\x6d\x77" } , { "\xb4\xe9\xdb" , "\x4a\x6e" } , { "\xb4\xe9\xdc" , "\x4a\x6f" } , { "\xb4\xe9\xdd" , "\x4a\x70" } , { "\xb4\xe9\xde" , "\x4a\x71" } , { "\xb4\xe9\xe2" , "\x73\x73\x4a" } , { "\xb4\xe9\xe5" , "\x74\x4a\x6d" } , { "\xb4\xe9\xe5\xa2" , "\x74\x4a\x6d\x77" } , { "\xb4\xe9\xe8\xc2" , "\x4a\x76\x58" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x4a\x76\x74\x58\x6d\x77" } , { "\xb4\xe9\xe8\xcd\xda" , "\xa9\x79\x6d" } , { "\xb4\xe9\xe8\xd4\xda" , "\xa9\x7a\x6d" } , { "\xb4\xe9\xe8\xd5" , "\x4a\x76\x69" } , { "\xb4\xe9\xe8\xd7" , "\x4a\x76\x6b" } , { "\xb5" , "\x4b" } , { "\xb5\xa1" , "\x4b\x77" } , { "\xb5\xa2" , "\x4b\x77" } , { "\xb5\xa3" , "\x4b\x78" } , { "\xb5\xda" , "\x4b\x6d" } , { "\xb5\xda\xa1" , "\x4b\x6d\x77" } , { "\xb5\xda\xa2" , "\x4b\x6d\x77" } , { "\xb5\xda\xa3" , "\x4b\x6d\x78" } , { "\xb5\xdb" , "\x4b\x6e" } , { "\xb5\xdb\xa2" , "\x4b\x6e\x77" } , { "\xb5\xdc" , "\x4b\x6f" } , { "\xb5\xdc\xa2" , "\x4b\x6f\x77" } , { "\xb5\xdc\xa3" , "\x4b\x6f\x78" } , { "\xb5\xdd" , "\x4b\x70" } , { "\xb5\xdd\xa1" , "\x4b\x70\x77" } , { "\xb5\xdd\xa2" , "\x4b\x70\x77" } , { "\xb5\xdd\xa2\xa2" , "\x4b\x70\x77\x77" } , { "\xb5\xdd\xa3" , "\x4b\x70\x78" } , { "\xb5\xde" , "\x4b\x71" } , { "\xb5\xde\xa1" , "\x4b\x71\x77" } , { "\xb5\xde\xa2" , "\x4b\x71\x77" } , { "\xb5\xdf" , "\x4b\x72" } , { "\xb5\xdf\xa2" , "\x4b\x72\x77" } , { "\xb5\xe0" , "\x73\x4b" } , { "\xb5\xe0\xa2" , "\x73\x4b\x77" } , { "\xb5\xe1" , "\x74\x4b" } , { "\xb5\xe1\xa2" , "\x74\x4b\x77" } , { "\xb5\xe1\xa3" , "\x74\x4b\x78" } , { "\xb5\xe2" , "\x73\x73\x4b" } , { "\xb5\xe2\xa2" , "\x73\x73\x4b\x77" } , { "\xb5\xe2\xa3" , "\x73\x73\x4b\x78" } , { "\xb5\xe4" , "\x73\x4b\x6d" } , { "\xb5\xe4\xa2" , "\x73\x4b\x6d\x77" } , { "\xb5\xe5" , "\x74\x4b\x6d" } , { "\xb5\xe5\xa2" , "\x74\x4b\x6d\x77" } , { "\xb5\xe6" , "\x4b\x75" } , { "\xb5\xe6\xa1" , "\x4b\x75\x77" } , { "\xb5\xe6\xa2" , "\x4b\x75\x77" } , { "\xb5\xe7" , "\x74\x4b\x6d" } , { "\xb5\xe8" , "\x4b\x76" } , { "\xb5\xe8\x4d" , "\x4b\x76\x4d" } , { "\xb5\xe8\xb3" , "\x4b\x76\x49" } , { "\xb5\xe8\xb3\xda" , "\x4b\x76\x49\x6d" } , { "\xb5\xe8\xb3\xdb" , "\x4b\x76\x49\x6e" } , { "\xb5\xe8\xb3\xdd" , "\x4b\x76\x49\x70" } , { "\xb5\xe8\xb3\xde" , "\x4b\x76\x49\x71" } , { "\xb5\xe8\xb3\xe2" , "\x4b\x76\x73\x73\x49" } , { "\xb5\xe8\xb3\xe5" , "\x4b\x76\x74\x49\x6d" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x4b\x76\xa2" } , { "\xb5\xe8\xb5" , "\xa4" } , { "\xb5\xe8\xb5\xa2" , "\xa4\x77" } , { "\xb5\xe8\xb5\xda" , "\xa4\x6d" } , { "\xb5\xe8\xb5\xdb" , "\xa4\x6e" } , { "\xb5\xe8\xb5\xdb\xa2" , "\xa4\x6e\x77" } , { "\xb5\xe8\xb5\xdc" , "\xa4\x6f" } , { "\xb5\xe8\xb5\xdd" , "\xa4\x70" } , { "\xb5\xe8\xb5\xdd\xa2" , "\xa4\x70\x77" } , { "\xb5\xe8\xb5\xde" , "\xa4\x71" } , { "\xb5\xe8\xb5\xe0" , "\x73\xa4" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x73\xa4\x77" } , { "\xb5\xe8\xb5\xe1" , "\x74\xa4" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x74\xa4\x77" } , { "\xb5\xe8\xb5\xe2" , "\x73\x73\xa4" } , { "\xb5\xe8\xb5\xe4" , "\x73\xa4\x6d" } , { "\xb5\xe8\xb5\xe5" , "\x74\xa4\x6d" } , { "\xb5\xe8\xb5\xe8" , "\xa4\x76" } , { "\xb5\xe8\xb6" , "\x4b\x76\x4c" } , { "\xb5\xe8\xb6\xda" , "\x4b\x76\x4c\x6d" } , { "\xb5\xe8\xb6\xdc" , "\x4b\x76\x4c\x6f" } , { "\xb5\xe8\xb6\xdd" , "\x4b\x76\x4c\x70" } , { "\xb5\xe8\xb6\xe1" , "\x4b\x76\x74\x4c" } , { "\xb5\xe8\xb7" , "\x4b\x76\x4d" } , { "\xb5\xe8\xb7\xda" , "\x4b\x76\x4d\x6d" } , { "\xb5\xe8\xb7\xdb" , "\x4b\x76\x4d\x6e" } , { "\xb5\xe8\xb7\xdc" , "\x4b\x76\x4d\x6f" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x4b\x76\x74\x4d\x6d\x77" } , { "\xb5\xe8\xb8\xe1" , "\x4b\x76\x74\x4e" } , { "\xb5\xe8\xba" , "\x4b\x76\x50" } , { "\xb5\xe8\xba\xa2" , "\x4b\x76\x50\x77" } , { "\xb5\xe8\xba\xda" , "\x4b\x76\x50\x6d" } , { "\xb5\xe8\xba\xda\xa2" , "\x4b\x76\x50\x6d\x77" } , { "\xb5\xe8\xba\xdb" , "\x4b\x76\x50\x6e" } , { "\xb5\xe8\xba\xdc" , "\x4b\x76\x50\x6f" } , { "\xb5\xe8\xba\xe0" , "\x4b\x76\x73\x50" } , { "\xb5\xe8\xba\xe0\xa2" , "\x4b\x76\x73\x50\x77" } , { "\xb5\xe8\xba\xe1\xa2" , "\x4b\x76\x74\x50\x77" } , { "\xb5\xe8\xba\xe2" , "\x4b\x76\x73\x73\x50" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x4b\x76\x50\x7a\x6d\x77" } , { "\xb5\xe8\xba\xe9" , "\x4b\x76\x50" } , { "\xb5\xe8\xba\xe9\xdb" , "\x4b\x76\x50\x6e" } , { "\xb5\xe8\xbd" , "\x4b\x76\x53" } , { "\xb5\xe8\xbd\xda" , "\x4b\x76\x53\x6d" } , { "\xb5\xe8\xbd\xda\xa2" , "\x4b\x76\x53\x6d\x77" } , { "\xb5\xe8\xbd\xdb" , "\x4b\x76\x53\x6e" } , { "\xb5\xe8\xbd\xdc" , "\x4b\x76\x53\x6f" } , { "\xb5\xe8\xbd\xde" , "\x4b\x76\x53\x71" } , { "\xb5\xe8\xbd\xe0" , "\x4b\x76\x73\x53" } , { "\xb5\xe8\xbd\xe1" , "\x4b\x76\x74\x53" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x4b\x76\x73\x73\x53\x77" } , { "\xb5\xe8\xbd\xe4" , "\x4b\x76\x73\x53\x6d" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x4b\x76\x53\x76\x50\x76" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x4b\x76\x7b\x53\x6d" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x4b\x76\x73\x7b\x53" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\x4b\x76\x53\x7a\x6e" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x4b\x76\x53\x76\x6b" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x4b\x76\x53\x76\x6b\x6d" } , { "\xb5\xe8\xbf" , "\x4b\x76\x55" } , { "\xb5\xe8\xbf\xa2" , "\x4b\x76\x55\x77" } , { "\xb5\xe8\xbf\xda" , "\x4b\x76\x55\x6d" } , { "\xb5\xe8\xbf\xda\xa2" , "\x4b\x76\x55\x6d\x77" } , { "\xb5\xe8\xbf\xdb" , "\x4b\x76\x55\x6e" } , { "\xb5\xe8\xbf\xdc" , "\x4b\x76\x55\x6f" } , { "\xb5\xe8\xbf\xe0" , "\x4b\x76\x73\x55" } , { "\xb5\xe8\xbf\xe5" , "\x4b\x76\x74\x55\x6d" } , { "\xb5\xe8\xbf\xe8" , "\x4b\x76\x55\x76" } , { "\xb5\xe8\xc0\xdd" , "\x4b\x76\x56\x70" } , { "\xb5\xe8\xc1" , "\x4b\x76\x57" } , { "\xb5\xe8\xc1\xda" , "\x4b\x76\x57\x6d" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x4b\x76\x74\x57\x6d\x77" } , { "\xb5\xe8\xc2" , "\x4b\x76\x58" } , { "\xb5\xe8\xc2\xda" , "\x4b\x76\x58\x6d" } , { "\xb5\xe8\xc2\xdb" , "\x4b\x76\x58\x6e" } , { "\xb5\xe8\xc2\xdd" , "\x4b\x76\x58\x70" } , { "\xb5\xe8\xc2\xe0" , "\x4b\x76\x73\x58" } , { "\xb5\xe8\xc2\xe1" , "\x4b\x76\x74\x58" } , { "\xb5\xe8\xc2\xe5" , "\x4b\x76\x74\x58\x6d" } , { "\xb5\xe8\xc2\xe8" , "\x4b\x76\x58\x76" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x4b\x76\x58\x76\x49" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x4b\x76\x58\x76\x4b" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x4b\x76\xaf" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x4b\x76\x7b\x58" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\x4b\x76\x73\x7b\x58\x77" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x4b\x76\xd5" } , { "\xb5\xe8\xc3" , "\x4b\x76\x59" } , { "\xb5\xe8\xc3\xda" , "\x4b\x76\x59\x6d" } , { "\xb5\xe8\xc3\xdc" , "\x4b\x76\x59\x6f" } , { "\xb5\xe8\xc3\xdd" , "\x4b\x76\x59\x70" } , { "\xb5\xe8\xc3\xe5" , "\x4b\x76\x74\x59\x6d" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x4b\x76\x74\x59\x6d\x77" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x4b\x76\x59\x79\x6d" } , { "\xb5\xe8\xc4" , "\x4b\x76\x5a" } , { "\xb5\xe8\xc4\xa2" , "\x4b\x76\x5a\x77" } , { "\xb5\xe8\xc4\xda" , "\x4b\x76\x5a\x6d" } , { "\xb5\xe8\xc4\xdb" , "\x4b\x76\x5a\x6e" } , { "\xb5\xe8\xc4\xdd" , "\x4b\x76\x5a\x70" } , { "\xb5\xe8\xc4\xdf" , "\x4b\x76\x5a\x72" } , { "\xb5\xe8\xc4\xe1" , "\x4b\x76\x74\x5a" } , { "\xb5\xe8\xc4\xe5" , "\x4b\x76\x74\x5a\x6d" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x4b\x76\x5a\x79" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x4b\x76\x5a\x79\x77" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x4b\x76\x5a\x7a\x6d" } , { "\xb5\xe8\xc5" , "\x4b\x76\x5b" } , { "\xb5\xe8\xc5\xa2" , "\x4b\x76\x5b\x77" } , { "\xb5\xe8\xc5\xda" , "\x4b\x76\x5b\x6d" } , { "\xb5\xe8\xc5\xdb" , "\x4b\x76\x5b\x6e" } , { "\xb5\xe8\xc5\xdc" , "\x4b\x76\x5b\x6f" } , { "\xb5\xe8\xc5\xdd" , "\x4b\x76\x5b\x70" } , { "\xb5\xe8\xc5\xe1" , "\x4b\x76\x74\x5b" } , { "\xb5\xe8\xc5\xe5" , "\x4b\x76\x74\x5b\x6d" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x4b\x76\x5b\x79" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x4b\x76\x5b\x79\x77" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x4b\x76\x5b\x79\x6d" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x4b\x76\x5b\x7a\x6d" } , { "\xb5\xe8\xc6" , "\xe1" } , { "\xb5\xe8\xc6\xa2" , "\xe1\x77" } , { "\xb5\xe8\xc6\xda" , "\xe1\x6d" } , { "\xb5\xe8\xc6\xdb" , "\xe1\x6e" } , { "\xb5\xe8\xc6\xdb\xa2" , "\xe1\x6e\x77" } , { "\xb5\xe8\xc6\xdb\xa3" , "\xe1\x6e\x78" } , { "\xb5\xe8\xc6\xdc" , "\xe1\x6f" } , { "\xb5\xe8\xc6\xdd" , "\xe1\x70" } , { "\xb5\xe8\xc6\xdd\xa2" , "\xe1\x70\x77" } , { "\xb5\xe8\xc6\xde" , "\xe1\x71" } , { "\xb5\xe8\xc6\xe0" , "\x73\xe1" } , { "\xb5\xe8\xc6\xe1" , "\x74\xe1" } , { "\xb5\xe8\xc6\xe2" , "\x73\x73\xe1" } , { "\xb5\xe8\xc6\xe5\xa2" , "\x74\xe1\x6d\x77" } , { "\xb5\xe8\xc6\xe6" , "\xe1\x75" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\xe1\x79\x77" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\xe1\x79\x6d" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\xe1\x79\x6d\x77" } , { "\xb5\xe8\xc8" , "\x4b\x76\x5d" } , { "\xb5\xe8\xc8\xda" , "\x4b\x76\x5d\x6d" } , { "\xb5\xe8\xc8\xdb" , "\x4b\x76\x5d\x6e" } , { "\xb5\xe8\xc8\xdc" , "\x4b\x76\x5d\x6f" } , { "\xb5\xe8\xc8\xdd" , "\x4b\x76\x5d\x70" } , { "\xb5\xe8\xc8\xde" , "\x4b\x76\x5d\x71" } , { "\xb5\xe8\xc8\xe2" , "\x4b\x76\x73\x73\x5d" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x4b\x76\x73\x7b\x5d" } , { "\xb5\xe8\xc9" , "\x4b\x76\x5e" } , { "\xb5\xe8\xc9\xdb" , "\x4b\x76\x5e\x6e" } , { "\xb5\xe8\xc9\xe0" , "\x4b\x76\x73\x5e" } , { "\xb5\xe8\xc9\xe5" , "\x4b\x76\x74\x5e\x6d" } , { "\xb5\xe8\xca" , "\x4b\x76\x5f" } , { "\xb5\xe8\xca\xa2" , "\x4b\x76\x5f\x77" } , { "\xb5\xe8\xca\xda" , "\x4b\x76\x5f\x6d" } , { "\xb5\xe8\xca\xdb" , "\x4b\x76\x5f\x6e" } , { "\xb5\xe8\xca\xdc" , "\x4b\x76\x5f\x6f" } , { "\xb5\xe8\xca\xe0" , "\x4b\x76\x73\x5f" } , { "\xb5\xe8\xca\xe5" , "\x4b\x76\x74\x5f\x6d" } , { "\xb5\xe8\xca\xe8\xcf" , "\x4b\x76\x7b\x5f" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\x4b\x76\x74\x7b\x5f" } , { "\xb5\xe8\xcb" , "\x4b\x76\x60" } , { "\xb5\xe8\xcb\xa2" , "\x4b\x76\x60\x77" } , { "\xb5\xe8\xcb\xda" , "\x4b\x76\x60\x6d" } , { "\xb5\xe8\xcb\xde" , "\x4b\x76\x60\x71" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x4b\x76\x7b\x60" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x4b\x76\x7b\x60\x6d" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x4b\x76\x7b\x60\x6d\x77" } , { "\xb5\xe8\xcc" , "\xdc" } , { "\xb5\xe8\xcc\xa2" , "\xdc\x77" } , { "\xb5\xe8\xcc\xda" , "\xdc\x6d" } , { "\xb5\xe8\xcc\xdb" , "\xdc\x6e" } , { "\xb5\xe8\xcc\xdc" , "\xdc\x6f" } , { "\xb5\xe8\xcc\xdd" , "\xdc\x70" } , { "\xb5\xe8\xcc\xde" , "\xdc\x71" } , { "\xb5\xe8\xcc\xe0\xa2" , "\x73\xdc\x77" } , { "\xb5\xe8\xcc\xe1" , "\x74\xdc" } , { "\xb5\xe8\xcc\xe2" , "\x73\x73\xdc" } , { "\xb5\xe8\xcc\xe2\xa2" , "\x73\x73\xdc\x77" } , { "\xb5\xe8\xcc\xe4" , "\x73\xdc\x6d" } , { "\xb5\xe8\xcc\xe5" , "\x74\xdc\x6d" } , { "\xb5\xe8\xcc\xe5\xa2" , "\x74\xdc\x6d\x77" } , { "\xb5\xe8\xcd" , "\x4b\x79" } , { "\xb5\xe8\xcd\xa2" , "\x4b\x79\x77" } , { "\xb5\xe8\xcd\xda" , "\x4b\x79\x6d" } , { "\xb5\xe8\xcd\xda\xa2" , "\x4b\x79\x6d\x77" } , { "\xb5\xe8\xcd\xdb" , "\x4b\x79\x6e" } , { "\xb5\xe8\xcd\xdb\xa2" , "\x4b\x79\x6e\x77" } , { "\xb5\xe8\xcd\xdc" , "\x4b\x79\x6f" } , { "\xb5\xe8\xcd\xdd" , "\x4b\x79\x70" } , { "\xb5\xe8\xcd\xde" , "\x4b\x79\x71" } , { "\xb5\xe8\xcd\xe1" , "\x74\x4b\x79" } , { "\xb5\xe8\xcd\xe5" , "\x74\x4b\x79\x6d" } , { "\xb5\xe8\xcd\xe5\xa2" , "\x74\x4b\x79\x6d\x77" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x4b\x76\xbf\x6d" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x4b\x76\x62\x7a" } , { "\xb5\xe8\xcf" , "\x7b\x4b" } , { "\xb5\xe8\xcf\xa2" , "\x7b\x4b\x77" } , { "\xb5\xe8\xcf\xda" , "\x7b\x4b\x6d" } , { "\xb5\xe8\xcf\xda\xa1" , "\x7b\x4b\x6d\x77" } , { "\xb5\xe8\xcf\xda\xa2" , "\x7b\x4b\x6d\x77" } , { "\xb5\xe8\xcf\xdb" , "\x7b\x4b\x6e" } , { "\xb5\xe8\xcf\xdb\xa2" , "\x7b\x4b\x6e\x77" } , { "\xb5\xe8\xcf\xdc" , "\x7b\x4b\x6f" } , { "\xb5\xe8\xcf\xdd" , "\x7b\x4b\x70" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x7b\x4b\x70\x77" } , { "\xb5\xe8\xcf\xde" , "\x7b\x4b\x71" } , { "\xb5\xe8\xcf\xde\xa2" , "\x7b\x4b\x71\x77" } , { "\xb5\xe8\xcf\xe0" , "\x73\x7b\x4b" } , { "\xb5\xe8\xcf\xe0\xa2" , "\x73\x7b\x4b\x77" } , { "\xb5\xe8\xcf\xe1" , "\x74\x7b\x4b" } , { "\xb5\xe8\xcf\xe1\xa2" , "\x74\x7b\x4b\x77" } , { "\xb5\xe8\xcf\xe2" , "\x73\x73\x7b\x4b" } , { "\xb5\xe8\xcf\xe2\xa2" , "\x73\x73\x7b\x4b\x77" } , { "\xb5\xe8\xcf\xe4" , "\x73\x7b\x4b\x6d" } , { "\xb5\xe8\xcf\xe4\xa2" , "\x73\x7b\x4b\x6d\x77" } , { "\xb5\xe8\xcf\xe5" , "\x74\x7b\x4b\x6d" } , { "\xb5\xe8\xcf\xe5\xa2" , "\x74\x7b\x4b\x6d\x77" } , { "\xb5\xe8\xcf\xe6" , "\x7b\x4b\x75" } , { "\xb5\xe8\xcf\xe6\xa2" , "\x7b\x4b\x75\x77" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x4b\x76\x63\x76\x55" } , { "\xb5\xe8\xd0\xa2" , "\x4b\x76\x64\x77" } , { "\xb5\xe8\xd1" , "\xa5" } , { "\xb5\xe8\xd1\xa2" , "\xa5\x77" } , { "\xb5\xe8\xd1\xda" , "\xa5\x6d" } , { "\xb5\xe8\xd1\xda\xa2" , "\xa5\x6d\x77" } , { "\xb5\xe8\xd1\xdb" , "\xa5\x6e" } , { "\xb5\xe8\xd1\xdb\xa2" , "\xa5\x6e\x77" } , { "\xb5\xe8\xd1\xdc" , "\xa5\x6f" } , { "\xb5\xe8\xd1\xdc\xa2" , "\xa5\x6f\x77" } , { "\xb5\xe8\xd1\xdd" , "\xa5\x70" } , { "\xb5\xe8\xd1\xdd\xa2" , "\xa5\x70\x77" } , { "\xb5\xe8\xd1\xde" , "\xa5\x71" } , { "\xb5\xe8\xd1\xe0" , "\x73\xa5" } , { "\xb5\xe8\xd1\xe0\xa2" , "\x73\xa5\x77" } , { "\xb5\xe8\xd1\xe1" , "\x74\xa5" } , { "\xb5\xe8\xd1\xe1\xa2" , "\x74\xa5\x77" } , { "\xb5\xe8\xd1\xe2" , "\x73\x73\xa5" } , { "\xb5\xe8\xd1\xe2\xa2" , "\x73\x73\xa5\x77" } , { "\xb5\xe8\xd1\xe4" , "\x73\xa5\x6d" } , { "\xb5\xe8\xd1\xe5" , "\x74\xa5\x6d" } , { "\xb5\xe8\xd1\xe5\xa2" , "\x74\xa5\x6d\x77" } , { "\xb5\xe8\xd1\xe6" , "\xa5\x75" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\xa5\x79\x70" } , { "\xb5\xe8\xd4" , "\x4b\x7a" } , { "\xb5\xe8\xd4\xda" , "\x4b\x7a\x6d" } , { "\xb5\xe8\xd4\xdb" , "\x4b\x7a\x6e" } , { "\xb5\xe8\xd4\xdd" , "\x4b\x7a\x70" } , { "\xb5\xe8\xd4\xde" , "\x4b\x7a\x71" } , { "\xb5\xe8\xd4\xe0" , "\x73\x4b\x7a" } , { "\xb5\xe8\xd4\xe1" , "\x74\x4b\x7a" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x74\x4b\x7a\x77" } , { "\xb5\xe8\xd4\xe2" , "\x73\x73\x4b\x7a" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x4b\x76\x68\x79" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x4b\x76\x68\x79\x6d" } , { "\xb5\xe8\xd5\xda" , "\x4b\x76\x69\x6d" } , { "\xb5\xe8\xd5\xda\xa2" , "\x4b\x76\x69\x6d\x77" } , { "\xb5\xe8\xd6\xdc" , "\x4b\x76\x6a\x6f" } , { "\xb5\xe8\xd7" , "\x4b\x76\x6b" } , { "\xb5\xe8\xd7\xda" , "\x4b\x76\x6b\x6d" } , { "\xb5\xe8\xd7\xdc" , "\x4b\x76\x6b\x6f" } , { "\xb5\xe8\xd7\xdd" , "\x4b\x76\x6b\x70" } , { "\xb5\xe8\xd7\xde" , "\x4b\x76\x6b\x71" } , { "\xb5\xe8\xd7\xe0" , "\x4b\x76\x73\x6b" } , { "\xb5\xe8\xd7\xe2" , "\x4b\x76\x73\x73\x6b" } , { "\xb5\xe8\xd7\xe5" , "\x4b\x76\x74\x6b\x6d" } , { "\xb5\xe8\xd7\xe8" , "\x4b\x76\x6b\x76" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x4b\x76\x6b\x76\x4b\x6d" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x4b\x76\x6b\x76\x53" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x4b\x76\x6b\x76\x53\x77" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x4b\x76\x6b\x76\x53\x6d" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x4b\x76\x6b\x76\x74\x53" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x4b\x76\x6b\x76\x53\x75" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x4b\x76\x6b\x76\x53\x76\x5d\x76\x6b\x76\x49\x70" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4b\x76\x6b\x76\x7b\x53\x6d" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x4b\x76\x6b\x76\x74\x58\x79" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x4b\x76\x6b\x76\x5a" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\x4b\x76\x6b\x76\x5c\x6e" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x4b\x76\x6b\x76\x5c\x70" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x4b\x76\x6b\x76\x5d\x6d" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\x4b\x76\x6b\x76\x5d\x6e" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\x4b\x76\xc9\x6e" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x4b\x76\x74\xc9\x6d" } , { "\xb5\xe8\xd8" , "\x4b\x76\x6c" } , { "\xb5\xe8\xd8\xda" , "\x4b\x76\x6c\x6d" } , { "\xb5\xe8\xd8\xdb" , "\x4b\x76\x6c\x6e" } , { "\xb5\xe8\xd8\xdc" , "\x4b\x76\x6c\x6f" } , { "\xb5\xe8\xd8\xe0" , "\x4b\x76\x73\x6c" } , { "\xb5\xe8\xd8\xe4" , "\x4b\x76\x73\x6c\x6d" } , { "\xb5\xe8\xd8\xe5" , "\x4b\x76\x74\x6c\x6d" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x4b\x76\x74\x6c\x6d\x77" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x4b\x76\x6c\x79\x6d\x77" } , { "\xb5\xe8\xd9\xa6" , "\x4b\x76\x43" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x4b\x76\x63\x76\x6b" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x4b\x76\x68\x6e" } , { "\xb5\xe8\xe8" , "\x4b\x76" } , { "\xb5\xe8\xe9\xcf" , "\x4b\x76\x63" } , { "\xb5\xe9" , "\x4b" } , { "\xb5\xe9\xda" , "\x4b\x6d" } , { "\xb5\xe9\xdb" , "\x4b\x6e" } , { "\xb5\xe9\xdd" , "\x4b\x70" } , { "\xb5\xe9\xe2" , "\x73\x73\x4b" } , { "\xb5\xe9\xe5\xa2" , "\x74\x4b\x6d\x77" } , { "\xb5\xe9\xe6" , "\x4b\x75" } , { "\xb6" , "\x4c" } , { "\xb6\xa2" , "\x4c\x77" } , { "\xb6\xa2\xa2" , "\x4c\x77\x77" } , { "\xb6\xa3" , "\x4c\x78" } , { "\xb6\xd0" , "\x4c\x64" } , { "\xb6\xda" , "\x4c\x6d" } , { "\xb6\xda\xa2" , "\x4c\x6d\x77" } , { "\xb6\xdb" , "\x4c\x6e" } , { "\xb6\xdb\xa2" , "\x4c\x6e\x77" } , { "\xb6\xdc" , "\x4c\x6f" } , { "\xb6\xdc\xa2" , "\x4c\x6f\x77" } , { "\xb6\xdd" , "\x4c\x70" } , { "\xb6\xdd\xa1" , "\x4c\x70\x77" } , { "\xb6\xdd\xa2" , "\x4c\x70\x77" } , { "\xb6\xdd\xa3" , "\x4c\x70\x78" } , { "\xb6\xde" , "\x4c\x71" } , { "\xb6\xde\xa1" , "\x4c\x71\x77" } , { "\xb6\xde\xa2" , "\x4c\x71\x77" } , { "\xb6\xdf" , "\x4c\x72" } , { "\xb6\xe0" , "\x73\x4c" } , { "\xb6\xe1" , "\x74\x4c" } , { "\xb6\xe1\xa2" , "\x74\x4c\x77" } , { "\xb6\xe2" , "\x73\x73\x4c" } , { "\xb6\xe2\xa3" , "\x73\x73\x4c\x78" } , { "\xb6\xe4" , "\x73\x4c\x6d" } , { "\xb6\xe5" , "\x74\x4c\x6d" } , { "\xb6\xe5\xa2" , "\x74\x4c\x6d\x77" } , { "\xb6\xe6" , "\x4c\x75" } , { "\xb6\xe6\xa2" , "\x4c\x75\x77" } , { "\xb6\xe8" , "\x4c\x76" } , { "\xb6\xe8\xb3\xde" , "\x4c\x76\x49\x71" } , { "\xb6\xe8\xb6" , "\x4c\x76\x4c" } , { "\xb6\xe8\xb6\xdc" , "\x4c\x76\x4c\x6f" } , { "\xb6\xe8\xb6\xde" , "\x4c\x76\x4c\x71" } , { "\xb6\xe8\xb8\xe1" , "\x4c\x76\x74\x4e" } , { "\xb6\xe8\xc1\xda" , "\x4c\x76\x57\x6d" } , { "\xb6\xe8\xc1\xdb" , "\x4c\x76\x57\x6e" } , { "\xb6\xe8\xc2" , "\x4c\x76\x58" } , { "\xb6\xe8\xc4" , "\x4c\x76\x5a" } , { "\xb6\xe8\xc6" , "\x4c\x76\x5c" } , { "\xb6\xe8\xc6\xa2" , "\x4c\x76\x5c\x77" } , { "\xb6\xe8\xc6\xa3" , "\x4c\x76\x5c\x78" } , { "\xb6\xe8\xc6\xda" , "\x4c\x76\x5c\x6d" } , { "\xb6\xe8\xc6\xdb" , "\x4c\x76\x5c\x6e" } , { "\xb6\xe8\xc6\xdc" , "\x4c\x76\x5c\x6f" } , { "\xb6\xe8\xc6\xdd" , "\x4c\x76\x5c\x70" } , { "\xb6\xe8\xc6\xe1" , "\x4c\x76\x74\x5c" } , { "\xb6\xe8\xc6\xe5" , "\x4c\x76\x74\x5c\x6d" } , { "\xb6\xe8\xcd" , "\x4c\x79" } , { "\xb6\xe8\xcd\xda" , "\x4c\x79\x6d" } , { "\xb6\xe8\xcd\xe5" , "\x74\x4c\x79\x6d" } , { "\xb6\xe8\xcd\xe6" , "\x4c\x79\x75" } , { "\xb6\xe8\xcf" , "\x7b\x4c" } , { "\xb6\xe8\xcf\xa2" , "\x7b\x4c\x77" } , { "\xb6\xe8\xcf\xda" , "\x7b\x4c\x6d" } , { "\xb6\xe8\xcf\xda\xa2" , "\x7b\x4c\x6d\x77" } , { "\xb6\xe8\xcf\xdb" , "\x7b\x4c\x6e" } , { "\xb6\xe8\xcf\xdd" , "\x7b\x4c\x70" } , { "\xb6\xe8\xcf\xe5\xa2" , "\x74\x7b\x4c\x6d\x77" } , { "\xb6\xe8\xd1" , "\x4c\x76\x65" } , { "\xb6\xe8\xd4" , "\x4c\x7a" } , { "\xb6\xe8\xd4\xa2" , "\x4c\x7a\x77" } , { "\xb6\xe8\xd4\xda" , "\x4c\x7a\x6d" } , { "\xb6\xe8\xe8" , "\x4c\x76" } , { "\xb6\xe8\xe9\xcf" , "\x4c\x76\x63" } , { "\xb6\xe9" , "\x4c" } , { "\xb7" , "\x4d" } , { "\xb7\xa2" , "\x4d\x77" } , { "\xb7\xa3" , "\x4d\x78" } , { "\xb7\xda" , "\x4d\x6d" } , { "\xb7\xdb" , "\x4d\x6e" } , { "\xb7\xdb\xa2" , "\x4d\x6e\x77" } , { "\xb7\xdc" , "\x4d\x6f" } , { "\xb7\xdd" , "\x4d\x70" } , { "\xb7\xde" , "\x4d\x71" } , { "\xb7\xdf" , "\x4d\x72" } , { "\xb7\xe0" , "\x73\x4d" } , { "\xb7\xe1" , "\x74\x4d" } , { "\xb7\xe1\xa2" , "\x74\x4d\x77" } , { "\xb7\xe2" , "\x73\x73\x4d" } , { "\xb7\xe4" , "\x73\x4d\x6d" } , { "\xb7\xe5" , "\x74\x4d\x6d" } , { "\xb7\xe6" , "\x4d\x75" } , { "\xb7\xe8" , "\x4d\x76" } , { "\xb7\xe8\xb3" , "\xa6" } , { "\xb7\xe8\xb3\xda" , "\xa6\x6d" } , { "\xb7\xe8\xb3\xdb" , "\xa6\x6e" } , { "\xb7\xe8\xb3\xe5" , "\x74\xa6\x6d" } , { "\xb7\xe8\xb5" , "\x4d\x76\x4b" } , { "\xb7\xe8\xb5\xda" , "\x4d\x76\x4b\x6d" } , { "\xb7\xe8\xb5\xdb" , "\x4d\x76\x4b\x6e" } , { "\xb7\xe8\xb5\xdc" , "\x4d\x76\x4b\x6f" } , { "\xb7\xe8\xb5\xe5\xa2" , "\x4d\x76\x74\x4b\x6d\x77" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x4d\x76\x7b\x4b\x6d" } , { "\xb7\xe8\xb6" , "\x4d\x76\x4c" } , { "\xb7\xe8\xb6\xda" , "\x4d\x76\x4c\x6d" } , { "\xb7\xe8\xb6\xdb" , "\x4d\x76\x4c\x6e" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x4d\x76\x53\x76\x4b" } , { "\xb7\xe8\xc4" , "\x4d\x76\x5a" } , { "\xb7\xe8\xc6" , "\x4d\x76\x5c" } , { "\xb7\xe8\xc6\xda" , "\x4d\x76\x5c\x6d" } , { "\xb7\xe8\xc6\xdb" , "\x4d\x76\x5c\x6e" } , { "\xb7\xe8\xc6\xdd" , "\x4d\x76\x5c\x70" } , { "\xb7\xe8\xc6\xde" , "\x4d\x76\x5c\x71" } , { "\xb7\xe8\xc9\xe5" , "\x4d\x76\x74\x5e\x6d" } , { "\xb7\xe8\xcc" , "\x4d\x76\x61" } , { "\xb7\xe8\xcc\xa2" , "\x4d\x76\x61\x77" } , { "\xb7\xe8\xcc\xda" , "\x4d\x76\x61\x6d" } , { "\xb7\xe8\xcc\xdd" , "\x4d\x76\x61\x70" } , { "\xb7\xe8\xcc\xde" , "\x4d\x76\x61\x71" } , { "\xb7\xe8\xcd" , "\x4d\x79" } , { "\xb7\xe8\xcf" , "\x7b\x4d" } , { "\xb7\xe8\xcf\xdc" , "\x7b\x4d\x6f" } , { "\xb7\xe8\xd8\xda" , "\x4d\x76\x6c\x6d" } , { "\xb7\xe8\xe8" , "\x4d\x76" } , { "\xb8" , "\x4e" } , { "\xb8\xa1" , "\x4e\x77" } , { "\xb8\xa2" , "\x4e\x77" } , { "\xb8\xa3" , "\x4e\x78" } , { "\xb8\xda" , "\x4e\x6d" } , { "\xb8\xda\xa1" , "\x4e\x6d\x77" } , { "\xb8\xda\xa2" , "\x4e\x6d\x77" } , { "\xb8\xdb" , "\x4e\x6e" } , { "\xb8\xdb\xa2" , "\x4e\x6e\x77" } , { "\xb8\xdc" , "\x4e\x6f" } , { "\xb8\xdc\xa2" , "\x4e\x6f\x77" } , { "\xb8\xdd" , "\x4e\x70" } , { "\xb8\xdd\xa1" , "\x4e\x70\x77" } , { "\xb8\xdd\xa2" , "\x4e\x70\x77" } , { "\xb8\xde" , "\x4e\x71" } , { "\xb8\xde\xa1" , "\x4e\x71\x77" } , { "\xb8\xde\xa2" , "\x4e\x71\x77" } , { "\xb8\xdf" , "\x4e\x72" } , { "\xb8\xe0" , "\x73\x4e" } , { "\xb8\xe0\xa2" , "\x73\x4e\x77" } , { "\xb8\xe1" , "\x74\x4e" } , { "\xb8\xe1\xa2" , "\x74\x4e\x77" } , { "\xb8\xe2" , "\x73\x73\x4e" } , { "\xb8\xe2\xa2" , "\x73\x73\x4e\x77" } , { "\xb8\xe3" , "\x4e\x6d" } , { "\xb8\xe4" , "\x73\x4e\x6d" } , { "\xb8\xe4\xa2" , "\x73\x4e\x6d\x77" } , { "\xb8\xe4\xd0\xe8" , "\x73\x4e\x6d\x64\x76" } , { "\xb8\xe5" , "\x74\x4e\x6d" } , { "\xb8\xe5\xa2" , "\x74\x4e\x6d\x77" } , { "\xb8\xe6" , "\x4e\x75" } , { "\xb8\xe6\xa2" , "\x4e\x75\x77" } , { "\xb8\xe7" , "\x74\x4e\x6d" } , { "\xb8\xe8" , "\x4e\x76" } , { "\xb8\xe8\xb3" , "\x4e\x76\x49" } , { "\xb8\xe8\xb3\xa2" , "\x4e\x76\x49\x77" } , { "\xb8\xe8\xb3\xdb" , "\x4e\x76\x49\x6e" } , { "\xb8\xe8\xb3\xdd" , "\x4e\x76\x49\x70" } , { "\xb8\xe8\xb3\xe4" , "\x4e\x76\x73\x49\x6d" } , { "\xb8\xe8\xb3\xe5" , "\x4e\x76\x74\x49\x6d" } , { "\xb8\xe8\xb5" , "\x4e\x76\x4b" } , { "\xb8\xe8\xb8" , "\xa8" } , { "\xb8\xe8\xb8\xa2" , "\xa8\x77" } , { "\xb8\xe8\xb8\xda" , "\xa8\x6d" } , { "\xb8\xe8\xb8\xda\xa2" , "\xa8\x6d\x77" } , { "\xb8\xe8\xb8\xdb" , "\xa8\x6e" } , { "\xb8\xe8\xb8\xdb\xa2" , "\xa8\x6e\x77" } , { "\xb8\xe8\xb8\xdc" , "\xa8\x6f" } , { "\xb8\xe8\xb8\xdd" , "\xa8\x70" } , { "\xb8\xe8\xb8\xdd\xa2" , "\xa8\x70\x77" } , { "\xb8\xe8\xb8\xde" , "\xa8\x71" } , { "\xb8\xe8\xb8\xe0" , "\x73\xa8" } , { "\xb8\xe8\xb8\xe0\xa2" , "\x73\xa8\x77" } , { "\xb8\xe8\xb8\xe1" , "\x74\xa8" } , { "\xb8\xe8\xb8\xe1\xa2" , "\x74\xa8\x77" } , { "\xb8\xe8\xb8\xe2" , "\x73\x73\xa8" } , { "\xb8\xe8\xb8\xe2\xa2" , "\x73\x73\xa8\x77" } , { "\xb8\xe8\xb8\xe4" , "\x73\xa8\x6d" } , { "\xb8\xe8\xb8\xe4\xa2" , "\x73\xa8\x6d\x77" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\x73\xa8\x6d\x64\x76" } , { "\xb8\xe8\xb8\xe5" , "\x74\xa8\x6d" } , { "\xb8\xe8\xb8\xe5\xa2" , "\x74\xa8\x6d\x77" } , { "\xb8\xe8\xb8\xe6" , "\xa8\x75" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\x7b\xa8\x6f" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\x7b\xa8\x70" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\xa8\x7a\x6d" } , { "\xb8\xe8\xb9" , "\xd1" } , { "\xb8\xe8\xb9\xa2" , "\xd1\x77" } , { "\xb8\xe8\xb9\xda" , "\xd1\x6d" } , { "\xb8\xe8\xb9\xda\xa2" , "\xd1\x6d\x77" } , { "\xb8\xe8\xb9\xdb" , "\xd1\x6e" } , { "\xb8\xe8\xb9\xdb\xa2" , "\xd1\x6e\x77" } , { "\xb8\xe8\xb9\xdc" , "\xd1\x6f" } , { "\xb8\xe8\xb9\xdd" , "\xd1\x70" } , { "\xb8\xe8\xb9\xdd\xa2" , "\xd1\x70\x77" } , { "\xb8\xe8\xb9\xde" , "\xd1\x71" } , { "\xb8\xe8\xb9\xdf" , "\xd1\x72" } , { "\xb8\xe8\xb9\xdf\xa2" , "\xd1\x72\x77" } , { "\xb8\xe8\xb9\xe0" , "\x73\xd1" } , { "\xb8\xe8\xb9\xe1" , "\x74\xd1" } , { "\xb8\xe8\xb9\xe5" , "\x74\xd1\x6d" } , { "\xb8\xe8\xb9\xe5\xa2" , "\x74\xd1\x6d\x77" } , { "\xb8\xe8\xb9\xe6" , "\xd1\x75" } , { "\xb8\xe8\xb9\xe8" , "\xd1\x76" } , { "\xb8\xe8\xb9\xe8\xa2" , "\xd1\x76\x77" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\xd1\x76\xb2" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\xd1\x76\x61\x6f" } , { "\xb8\xe8\xb9\xe8\xcf" , "\x7b\xd1" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\x7b\xd1\x6d" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\x7b\xd1\x70" } , { "\xb8\xe8\xb9\xe8\xd1" , "\xd1\x76\x65" } , { "\xb8\xe8\xb9\xe8\xd4" , "\xd1\x7a" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\xd1\x7a\x6d" } , { "\xb8\xe8\xbd" , "\x4e\x76\x53" } , { "\xb8\xe8\xbd\xdb" , "\x4e\x76\x53\x6e" } , { "\xb8\xe8\xbd\xdb\xa2" , "\x4e\x76\x53\x6e\x77" } , { "\xb8\xe8\xbd\xe1" , "\x4e\x76\x74\x53" } , { "\xb8\xe8\xbd\xe2" , "\x4e\x76\x73\x73\x53" } , { "\xb8\xe8\xbf\xdb" , "\x4e\x76\x55\x6e" } , { "\xb8\xe8\xbf\xe8" , "\x4e\x76\x55\x76" } , { "\xb8\xe8\xc2" , "\x4e\x76\x58" } , { "\xb8\xe8\xc2\xe1\xa2" , "\x4e\x76\x74\x58\x77" } , { "\xb8\xe8\xc3" , "\x4e\x76\x59" } , { "\xb8\xe8\xc4\xdb" , "\x4e\x76\x5a\x6e" } , { "\xb8\xe8\xc6" , "\x4e\x76\x5c" } , { "\xb8\xe8\xc6\xa2" , "\x4e\x76\x5c\x77" } , { "\xb8\xe8\xc6\xdb" , "\x4e\x76\x5c\x6e" } , { "\xb8\xe8\xc6\xdd" , "\x4e\x76\x5c\x70" } , { "\xb8\xe8\xc6\xe4" , "\x4e\x76\x73\x5c\x6d" } , { "\xb8\xe8\xc8" , "\x4e\x76\x5d" } , { "\xb8\xe8\xc8\xe0" , "\x4e\x76\x73\x5d" } , { "\xb8\xe8\xc8\xe8\xcf" , "\x4e\x76\x7b\x5d" } , { "\xb8\xe8\xca\xda" , "\x4e\x76\x5f\x6d" } , { "\xb8\xe8\xca\xdd" , "\x4e\x76\x5f\x70" } , { "\xb8\xe8\xca\xe5" , "\x4e\x76\x74\x5f\x6d" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\x4e\x76\x73\xbb\x77" } , { "\xb8\xe8\xcc" , "\x4e\x76\x61" } , { "\xb8\xe8\xcc\xdc" , "\x4e\x76\x61\x6f" } , { "\xb8\xe8\xcc\xe0" , "\x4e\x76\x73\x61" } , { "\xb8\xe8\xcc\xe0\xa2" , "\x4e\x76\x73\x61\x77" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\x4e\x76\x61\x76\x74\x60" } , { "\xb8\xe8\xcd" , "\x4e\x79" } , { "\xb8\xe8\xcd\xa2" , "\x4e\x79\x77" } , { "\xb8\xe8\xcd\xda" , "\x4e\x79\x6d" } , { "\xb8\xe8\xcd\xda\xa2" , "\x4e\x79\x6d\x77" } , { "\xb8\xe8\xcd\xdd" , "\x4e\x79\x70" } , { "\xb8\xe8\xcd\xde" , "\x4e\x79\x71" } , { "\xb8\xe8\xcd\xde\xa2" , "\x4e\x79\x71\x77" } , { "\xb8\xe8\xcd\xe5" , "\x74\x4e\x79\x6d" } , { "\xb8\xe8\xcd\xe6" , "\x4e\x79\x75" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x4e\x76\xbf" } , { "\xb8\xe8\xcf" , "\x7b\x4e" } , { "\xb8\xe8\xcf\xda" , "\x7b\x4e\x6d" } , { "\xb8\xe8\xcf\xdb" , "\x7b\x4e\x6e" } , { "\xb8\xe8\xcf\xdc" , "\x7b\x4e\x6f" } , { "\xb8\xe8\xcf\xde" , "\x7b\x4e\x71" } , { "\xb8\xe8\xcf\xde\xa2" , "\x7b\x4e\x71\x77" } , { "\xb8\xe8\xcf\xe5" , "\x74\x7b\x4e\x6d" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x4e\x76\x63\x76\x4f" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x4e\x76\x63\x76\x4f\x6d" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\x4e\x76\x63\x76\x4f\x6e" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x7b\x4e\x79" } , { "\xb8\xe8\xd1" , "\x4e\x76\x65" } , { "\xb8\xe8\xd1\xda" , "\x4e\x76\x65\x6d" } , { "\xb8\xe8\xd1\xdb" , "\x4e\x76\x65\x6e" } , { "\xb8\xe8\xd1\xdc" , "\x4e\x76\x65\x6f" } , { "\xb8\xe8\xd1\xdd" , "\x4e\x76\x65\x70" } , { "\xb8\xe8\xd1\xde" , "\x4e\x76\x65\x71" } , { "\xb8\xe8\xd1\xe5" , "\x4e\x76\x74\x65\x6d" } , { "\xb8\xe8\xd4" , "\x4e\x7a" } , { "\xb8\xe8\xd4\xda" , "\x4e\x7a\x6d" } , { "\xb8\xe8\xd4\xda\xa2" , "\x4e\x7a\x6d\x77" } , { "\xb8\xe8\xd4\xe1" , "\x74\x4e\x7a" } , { "\xb8\xe8\xd4\xe2" , "\x73\x73\x4e\x7a" } , { "\xb8\xe8\xd7" , "\x4e\x76\x6b" } , { "\xb8\xe8\xd7\xe1" , "\x4e\x76\x74\x6b" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\x4e\x76\x6b\x76\x53\x6e" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x4e\x76\x6b\x76\x74\x53\x6d" } , { "\xb8\xe8\xd8" , "\x4e\x76\x6c" } , { "\xb8\xe8\xd8\xda" , "\x4e\x76\x6c\x6d" } , { "\xb8\xe8\xd8\xe6" , "\x4e\x76\x6c\x75" } , { "\xb8\xe8\xd9\xa6" , "\x4e\x76\x43" } , { "\xb8\xe8\xe8" , "\x4e\x76" } , { "\xb8\xe8\xe9\xcf" , "\x4e\x76\x63" } , { "\xb8\xe9" , "\x4e" } , { "\xb9" , "\x4f" } , { "\xb9\xa1" , "\x4f\x77" } , { "\xb9\xa2" , "\x4f\x77" } , { "\xb9\xa3" , "\x4f\x78" } , { "\xb9\xce\xb4" , "\x4f\x62\x4a" } , { "\xb9\xd9\xc5" , "\x4f\x5b" } , { "\xb9\xd9\xd1" , "\x4f\x65" } , { "\xb9\xda" , "\x4f\x6d" } , { "\xb9\xda\xa1" , "\x4f\x6d\x77" } , { "\xb9\xda\xa2" , "\x4f\x6d\x77" } , { "\xb9\xdb" , "\x4f\x6e" } , { "\xb9\xdb\xa2" , "\x4f\x6e\x77" } , { "\xb9\xdc" , "\x4f\x6f" } , { "\xb9\xdc\xa2" , "\x4f\x6f\x77" } , { "\xb9\xdd" , "\x4f\x70" } , { "\xb9\xdd\xa2" , "\x4f\x70\x77" } , { "\xb9\xde" , "\x4f\x71" } , { "\xb9\xde\xa1" , "\x4f\x71\x77" } , { "\xb9\xde\xa2" , "\x4f\x71\x77" } , { "\xb9\xdf" , "\x4f\x72" } , { "\xb9\xe0" , "\x73\x4f" } , { "\xb9\xe0\xa2" , "\x73\x4f\x77" } , { "\xb9\xe1" , "\x74\x4f" } , { "\xb9\xe1\xa2" , "\x74\x4f\x77" } , { "\xb9\xe2" , "\x73\x73\x4f" } , { "\xb9\xe2\xa2" , "\x73\x73\x4f\x77" } , { "\xb9\xe4" , "\x73\x4f\x6d" } , { "\xb9\xe5" , "\x74\x4f\x6d" } , { "\xb9\xe5\xa2" , "\x74\x4f\x6d\x77" } , { "\xb9\xe6" , "\x4f\x75" } , { "\xb9\xe6\xa2" , "\x4f\x75\x77" } , { "\xb9\xe8" , "\x4f\x76" } , { "\xb9\xe8\xb8" , "\x4f\x76\x4e" } , { "\xb9\xe8\xb9" , "\x4f\x76\x4f" } , { "\xb9\xe8\xb9\xda" , "\x4f\x76\x4f\x6d" } , { "\xb9\xe8\xc2\xda" , "\x4f\x76\x58\x6d" } , { "\xb9\xe8\xc4" , "\x4f\x76\x5a" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x4f\x76\x5c\x70\x77" } , { "\xb9\xe8\xc8\xda" , "\x4f\x76\x5d\x6d" } , { "\xb9\xe8\xcd\xda" , "\x4f\x79\x6d" } , { "\xb9\xe8\xcd\xe1" , "\x74\x4f\x79" } , { "\xb9\xe8\xd4\xda" , "\x4f\x7a\x6d" } , { "\xb9\xe8\xe8" , "\x4f\x76" } , { "\xb9\xe9" , "\x4f" } , { "\xba" , "\x50" } , { "\xba\xa1" , "\x50\x77" } , { "\xba\xa2" , "\x50\x77" } , { "\xba\xa2\xa2" , "\x50\x77\x77" } , { "\xba\xa3" , "\x50\x78" } , { "\xba\xd9\xc5" , "\x50\x5b" } , { "\xba\xda" , "\x50\x6d" } , { "\xba\xda\xa1" , "\x50\x6d\x77" } , { "\xba\xda\xa2" , "\x50\x6d\x77" } , { "\xba\xda\xa3" , "\x50\x6d\x78" } , { "\xba\xdb" , "\x50\x6e" } , { "\xba\xdb\xa2" , "\x50\x6e\x77" } , { "\xba\xdc" , "\x50\x6f" } , { "\xba\xdc\xa2" , "\x50\x6f\x77" } , { "\xba\xdd" , "\x50\x70" } , { "\xba\xdd\xa2" , "\x50\x70\x77" } , { "\xba\xdd\xa3" , "\x50\x70\x78" } , { "\xba\xde" , "\x50\x71" } , { "\xba\xde\xa1" , "\x50\x71\x77" } , { "\xba\xde\xa2" , "\x50\x71\x77" } , { "\xba\xdf" , "\x50\x72" } , { "\xba\xdf\xa2" , "\x50\x72\x77" } , { "\xba\xe0" , "\x73\x50" } , { "\xba\xe0\xa2" , "\x73\x50\x77" } , { "\xba\xe1" , "\x74\x50" } , { "\xba\xe1\xa2" , "\x74\x50\x77" } , { "\xba\xe2" , "\x73\x73\x50" } , { "\xba\xe2\xa2" , "\x73\x73\x50\x77" } , { "\xba\xe3" , "\x50\x6d" } , { "\xba\xe4" , "\x73\x50\x6d" } , { "\xba\xe4\xa2" , "\x73\x50\x6d\x77" } , { "\xba\xe5" , "\x74\x50\x6d" } , { "\xba\xe5\xa2" , "\x74\x50\x6d\x77" } , { "\xba\xe6" , "\x50\x75" } , { "\xba\xe7" , "\x74\x50\x6d" } , { "\xba\xe8" , "\x50\x76" } , { "\xba\xe8\xb3" , "\x50\x76\x49" } , { "\xba\xe8\xb3\xda" , "\x50\x76\x49\x6d" } , { "\xba\xe8\xb3\xdb" , "\x50\x76\x49\x6e" } , { "\xba\xe8\xb3\xdc" , "\x50\x76\x49\x6f" } , { "\xba\xe8\xb3\xdd" , "\x50\x76\x49\x70" } , { "\xba\xe8\xb3\xe1" , "\x50\x76\x74\x49" } , { "\xba\xe8\xb3\xe2" , "\x50\x76\x73\x73\x49" } , { "\xba\xe8\xb3\xe5" , "\x50\x76\x74\x49\x6d" } , { "\xba\xe8\xb3\xe8\xbd" , "\x50\x76\x49\x76\x53" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x50\x76\x49\x76\x74\xc9\x6d" } , { "\xba\xe8\xb4\xda" , "\x50\x76\x4a\x6d" } , { "\xba\xe8\xb5" , "\x50\x76\x4b" } , { "\xba\xe8\xb5\xa2" , "\x50\x76\x4b\x77" } , { "\xba\xe8\xb5\xda" , "\x50\x76\x4b\x6d" } , { "\xba\xe8\xb5\xda\xa2" , "\x50\x76\x4b\x6d\x77" } , { "\xba\xe8\xb5\xe1" , "\x50\x76\x74\x4b" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x50\x76\x7b\x4b\x6d" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x50\x76\x74\x7b\x4b" } , { "\xba\xe8\xb6" , "\x50\x76\x4c" } , { "\xba\xe8\xb6\xda" , "\x50\x76\x4c\x6d" } , { "\xba\xe8\xb8\xda" , "\x50\x76\x4e\x6d" } , { "\xba\xe8\xb8\xdd" , "\x50\x76\x4e\x70" } , { "\xba\xe8\xb8\xe1" , "\x50\x76\x74\x4e" } , { "\xba\xe8\xba" , "\xd6" } , { "\xba\xe8\xba\xa2" , "\xd6\x77" } , { "\xba\xe8\xba\xda" , "\xd6\x6d" } , { "\xba\xe8\xba\xdb" , "\xd6\x6e" } , { "\xba\xe8\xba\xdc" , "\xd6\x6f" } , { "\xba\xe8\xba\xdd" , "\xd6\x70" } , { "\xba\xe8\xba\xde" , "\xd6\x71" } , { "\xba\xe8\xba\xdf\xa2" , "\xd6\x72\x77" } , { "\xba\xe8\xba\xe0" , "\x73\xd6" } , { "\xba\xe8\xba\xe1" , "\x74\xd6" } , { "\xba\xe8\xba\xe2" , "\x73\x73\xd6" } , { "\xba\xe8\xba\xe5" , "\x74\xd6\x6d" } , { "\xba\xe8\xba\xe5\xa2" , "\x74\xd6\x6d\x77" } , { "\xba\xe8\xba\xe8" , "\xd6\x76" } , { "\xba\xe8\xba\xe8\xcd" , "\xd6\x79" } , { "\xba\xe8\xba\xe8\xd4" , "\xd6\x7a" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x74\xd6\x7a" } , { "\xba\xe8\xba\xe9" , "\x50\x76\x50" } , { "\xba\xe8\xba\xe9\xdb" , "\x50\x76\x50\x6e" } , { "\xba\xe8\xbb" , "\x50\x76\x51" } , { "\xba\xe8\xbb\xda" , "\x50\x76\x51\x6d" } , { "\xba\xe8\xbb\xdb" , "\x50\x76\x51\x6e" } , { "\xba\xe8\xbb\xdc" , "\x50\x76\x51\x6f" } , { "\xba\xe8\xbb\xdd" , "\x50\x76\x51\x70" } , { "\xba\xe8\xbb\xde" , "\x50\x76\x51\x71" } , { "\xba\xe8\xbb\xe1" , "\x50\x76\x74\x51" } , { "\xba\xe8\xbb\xe8\xd4" , "\x50\x76\x51\x7a" } , { "\xba\xe8\xbc" , "\xda" } , { "\xba\xe8\xbc\xa2" , "\xda\x77" } , { "\xba\xe8\xbc\xa3" , "\xda\x78" } , { "\xba\xe8\xbc\xda" , "\xda\x6d" } , { "\xba\xe8\xbc\xda\xa2" , "\xda\x6d\x77" } , { "\xba\xe8\xbc\xdb" , "\xda\x6e" } , { "\xba\xe8\xbc\xdc" , "\xda\x6f" } , { "\xba\xe8\xbc\xdd" , "\xda\x70" } , { "\xba\xe8\xbc\xe0" , "\x73\xda" } , { "\xba\xe8\xbc\xe1" , "\x74\xda" } , { "\xba\xe8\xbc\xe2\xa3" , "\x73\x73\xda\x78" } , { "\xba\xe8\xbc\xe5" , "\x74\xda\x6d" } , { "\xba\xe8\xbc\xe5\xa2" , "\x74\xda\x6d\x77" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\xda\x76\x5c\x6d" } , { "\xba\xe8\xbc\xe8\xcc" , "\xda\x76\x61" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\xda\x76\x61\x6d" } , { "\xba\xe8\xbc\xe8\xcd" , "\xda\x79" } , { "\xba\xe8\xbd\xda" , "\x50\x76\x53\x6d" } , { "\xba\xe8\xbd\xdd" , "\x50\x76\x53\x70" } , { "\xba\xe8\xbd\xe0" , "\x50\x76\x73\x53" } , { "\xba\xe8\xbd\xe5" , "\x50\x76\x74\x53\x6d" } , { "\xba\xe8\xbe" , "\x50\x76\x54" } , { "\xba\xe8\xbe\xdd" , "\x50\x76\x54\x70" } , { "\xba\xe8\xbe\xe5" , "\x50\x76\x74\x54\x6d" } , { "\xba\xe8\xbf" , "\x50\x76\x55" } , { "\xba\xe8\xbf\xda" , "\x50\x76\x55\x6d" } , { "\xba\xe8\xbf\xdb" , "\x50\x76\x55\x6e" } , { "\xba\xe8\xbf\xdd" , "\x50\x76\x55\x70" } , { "\xba\xe8\xbf\xe1" , "\x50\x76\x74\x55" } , { "\xba\xe8\xbf\xe2" , "\x50\x76\x73\x73\x55" } , { "\xba\xe8\xbf\xe8" , "\x50\x76\x55\x76" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x50\x76\x55\x76\x52\x6d" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x50\x76\x55\x76\x74\x5c" } , { "\xba\xe8\xbf\xe9" , "\x50\x76\x55" } , { "\xba\xe8\xc0" , "\x50\x76\x56" } , { "\xba\xe8\xc0\xa2" , "\x50\x76\x56\x77" } , { "\xba\xe8\xc0\xda" , "\x50\x76\x56\x6d" } , { "\xba\xe8\xc0\xdb" , "\x50\x76\x56\x6e" } , { "\xba\xe8\xc0\xdd" , "\x50\x76\x56\x70" } , { "\xba\xe8\xc0\xe1" , "\x50\x76\x74\x56" } , { "\xba\xe8\xc0\xe5" , "\x50\x76\x74\x56\x6d" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x50\x76\x56\x76\x52\x6d" } , { "\xba\xe8\xc2" , "\x50\x76\x58" } , { "\xba\xe8\xc2\xe5" , "\x50\x76\x74\x58\x6d" } , { "\xba\xe8\xc2\xe8\xcf" , "\x50\x76\x7b\x58" } , { "\xba\xe8\xc4" , "\x50\x76\x5a" } , { "\xba\xe8\xc4\xda" , "\x50\x76\x5a\x6d" } , { "\xba\xe8\xc4\xdb" , "\x50\x76\x5a\x6e" } , { "\xba\xe8\xc4\xde" , "\x50\x76\x5a\x71" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x50\x76\x7b\x5a\x71" } , { "\xba\xe8\xc6" , "\x50\x76\x5c" } , { "\xba\xe8\xc6\xda" , "\x50\x76\x5c\x6d" } , { "\xba\xe8\xc6\xdb" , "\x50\x76\x5c\x6e" } , { "\xba\xe8\xc6\xdc" , "\x50\x76\x5c\x6f" } , { "\xba\xe8\xc6\xdd" , "\x50\x76\x5c\x70" } , { "\xba\xe8\xc6\xdd\xa2" , "\x50\x76\x5c\x70\x77" } , { "\xba\xe8\xc6\xde" , "\x50\x76\x5c\x71" } , { "\xba\xe8\xc6\xe1" , "\x50\x76\x74\x5c" } , { "\xba\xe8\xc6\xe6" , "\x50\x76\x5c\x75" } , { "\xba\xe8\xc8" , "\x50\x76\x5d" } , { "\xba\xe8\xc8\xda" , "\x50\x76\x5d\x6d" } , { "\xba\xe8\xc8\xdd" , "\x50\x76\x5d\x70" } , { "\xba\xe8\xc8\xde" , "\x50\x76\x5d\x71" } , { "\xba\xe8\xc8\xe2" , "\x50\x76\x73\x73\x5d" } , { "\xba\xe8\xc8\xe5" , "\x50\x76\x74\x5d\x6d" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x50\x76\x73\x7b\x5d" } , { "\xba\xe8\xc9\xe2" , "\x50\x76\x73\x73\x5e" } , { "\xba\xe8\xc9\xe8\xc9" , "\x50\x76\x5e\x76\x5e" } , { "\xba\xe8\xca" , "\x50\x76\x5f" } , { "\xba\xe8\xca\xda" , "\x50\x76\x5f\x6d" } , { "\xba\xe8\xca\xe0" , "\x50\x76\x73\x5f" } , { "\xba\xe8\xca\xe0\xa2" , "\x50\x76\x73\x5f\x77" } , { "\xba\xe8\xca\xe1" , "\x50\x76\x74\x5f" } , { "\xba\xe8\xca\xe2" , "\x50\x76\x73\x73\x5f" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x50\x76\x5f\x76\x49\x76" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x50\x76\x5f\x76\x4b\x76" } , { "\xba\xe8\xcb\xde" , "\x50\x76\x60\x71" } , { "\xba\xe8\xcb\xe1" , "\x50\x76\x74\x60" } , { "\xba\xe8\xcc" , "\x50\x76\x61" } , { "\xba\xe8\xcc\xa2" , "\x50\x76\x61\x77" } , { "\xba\xe8\xcc\xda" , "\x50\x76\x61\x6d" } , { "\xba\xe8\xcc\xdb" , "\x50\x76\x61\x6e" } , { "\xba\xe8\xcc\xdc" , "\x50\x76\x61\x6f" } , { "\xba\xe8\xcc\xdd" , "\x50\x76\x61\x70" } , { "\xba\xe8\xcc\xde" , "\x50\x76\x61\x71" } , { "\xba\xe8\xcc\xe0" , "\x50\x76\x73\x61" } , { "\xba\xe8\xcc\xe0\xa2" , "\x50\x76\x73\x61\x77" } , { "\xba\xe8\xcc\xe1" , "\x50\x76\x74\x61" } , { "\xba\xe8\xcc\xe1\xa2" , "\x50\x76\x74\x61\x77" } , { "\xba\xe8\xcc\xe5" , "\x50\x76\x74\x61\x6d" } , { "\xba\xe8\xcd" , "\x50\x79" } , { "\xba\xe8\xcd\xa2" , "\x50\x79\x77" } , { "\xba\xe8\xcd\xda" , "\x50\x79\x6d" } , { "\xba\xe8\xcd\xda\xa1" , "\x50\x79\x6d\x77" } , { "\xba\xe8\xcd\xda\xa2" , "\x50\x79\x6d\x77" } , { "\xba\xe8\xcd\xdb" , "\x50\x79\x6e" } , { "\xba\xe8\xcd\xdc" , "\x50\x79\x6f" } , { "\xba\xe8\xcd\xdd" , "\x50\x79\x70" } , { "\xba\xe8\xcd\xdd\xa2" , "\x50\x79\x70\x77" } , { "\xba\xe8\xcd\xde" , "\x50\x79\x71" } , { "\xba\xe8\xcd\xde\xa1" , "\x50\x79\x71\x77" } , { "\xba\xe8\xcd\xde\xa2" , "\x50\x79\x71\x77" } , { "\xba\xe8\xcd\xe0" , "\x73\x50\x79" } , { "\xba\xe8\xcd\xe0\xa2" , "\x73\x50\x79\x77" } , { "\xba\xe8\xcd\xe1" , "\x74\x50\x79" } , { "\xba\xe8\xcd\xe4" , "\x73\x50\x79\x6d" } , { "\xba\xe8\xcd\xe5" , "\x74\x50\x79\x6d" } , { "\xba\xe8\xcd\xe5\xa2" , "\x74\x50\x79\x6d\x77" } , { "\xba\xe8\xcd\xe6" , "\x50\x79\x75" } , { "\xba\xe8\xcd\xe8\xcf" , "\x50\x76\x7b\x62" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x50\x76\x7b\x62\x77" } , { "\xba\xe8\xcf" , "\x7b\x50" } , { "\xba\xe8\xcf\xa2" , "\x7b\x50\x77" } , { "\xba\xe8\xcf\xda" , "\x7b\x50\x6d" } , { "\xba\xe8\xcf\xda\xa2" , "\x7b\x50\x6d\x77" } , { "\xba\xe8\xcf\xdb" , "\x7b\x50\x6e" } , { "\xba\xe8\xcf\xdc" , "\x7b\x50\x6f" } , { "\xba\xe8\xcf\xe1" , "\x74\x7b\x50" } , { "\xba\xe8\xcf\xe4" , "\x73\x7b\x50\x6d" } , { "\xba\xe8\xcf\xe5" , "\x74\x7b\x50\x6d" } , { "\xba\xe8\xd1" , "\x50\x76\x65" } , { "\xba\xe8\xd1\xda" , "\x50\x76\x65\x6d" } , { "\xba\xe8\xd1\xdb" , "\x50\x76\x65\x6e" } , { "\xba\xe8\xd1\xdc" , "\x50\x76\x65\x6f" } , { "\xba\xe8\xd1\xdd" , "\x50\x76\x65\x70" } , { "\xba\xe8\xd1\xe5" , "\x50\x76\x74\x65\x6d" } , { "\xba\xe8\xd4" , "\x50\x7a" } , { "\xba\xe8\xd4\xa2" , "\x50\x7a\x77" } , { "\xba\xe8\xd4\xda" , "\x50\x7a\x6d" } , { "\xba\xe8\xd4\xdb" , "\x50\x7a\x6e" } , { "\xba\xe8\xd4\xdc" , "\x50\x7a\x6f" } , { "\xba\xe8\xd4\xdd" , "\x50\x7a\x70" } , { "\xba\xe8\xd4\xdf" , "\x50\x7a\x72" } , { "\xba\xe8\xd4\xe0" , "\x73\x50\x7a" } , { "\xba\xe8\xd4\xe1" , "\x74\x50\x7a" } , { "\xba\xe8\xd4\xe7" , "\x74\x50\x7a\x6d" } , { "\xba\xe8\xd4\xe8\xba" , "\x50\x76\x68\x76\x50" } , { "\xba\xe8\xd5\xda" , "\x50\x76\x69\x6d" } , { "\xba\xe8\xd6\xda" , "\x50\x76\x6a\x6d" } , { "\xba\xe8\xd7" , "\x50\x76\x6b" } , { "\xba\xe8\xd7\xdb\xa2" , "\x50\x76\x6b\x6e\x77" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\x50\x76\x6b\x76\x49\x6e" } , { "\xba\xe8\xd9\xba" , "\x50\x76\x50" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x50\x76\x63\x79" } , { "\xba\xe8\xe8" , "\x50\x76" } , { "\xba\xe8\xe9\xbc" , "\x50\x76\x52" } , { "\xba\xe8\xe9\xcf" , "\x50\x76\x63" } , { "\xba\xe9" , "\x50" } , { "\xba\xe9\xa2" , "\x50\x77" } , { "\xba\xe9\xbf\xe9" , "\x50\x55" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x50\x74\x55\x6d\x77" } , { "\xba\xe9\xc7" , "\x50\x5c" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x50\x61\x76\x5f\x70" } , { "\xba\xe9\xd4\xda" , "\x50\x68\x6d" } , { "\xba\xe9\xda" , "\x50\x6d" } , { "\xba\xe9\xdb" , "\x50\x6e" } , { "\xba\xe9\xdb\xa2" , "\x50\x6e\x77" } , { "\xba\xe9\xdc" , "\x50\x6f" } , { "\xba\xe9\xdd" , "\x50\x70" } , { "\xba\xe9\xde" , "\x50\x71" } , { "\xba\xe9\xe1" , "\x74\x50" } , { "\xba\xe9\xe1\xa2" , "\x74\x50\x77" } , { "\xba\xe9\xe2" , "\x73\x73\x50" } , { "\xba\xe9\xe5" , "\x74\x50\x6d" } , { "\xba\xe9\xe5\xa2" , "\x74\x50\x6d\x77" } , { "\xba\xe9\xe8\xba" , "\x50\x76\x50" } , { "\xba\xe9\xe8\xba\xe9" , "\x50\x76\x50" } , { "\xba\xe9\xe8\xca\xda" , "\x50\x76\x5f\x6d" } , { "\xba\xe9\xe8\xcc" , "\x50\x76\x61" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\x50\x76\x74\x61\x6d\x77" } , { "\xba\xe9\xe8\xcd\xda" , "\xa9\x79\x6d" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x50\x76\x62\x6d" } , { "\xbb" , "\x51" } , { "\xbb\xa1" , "\x51\x77" } , { "\xbb\xa2" , "\x51\x77" } , { "\xbb\xa3" , "\x51\x78" } , { "\xbb\xda" , "\x51\x6d" } , { "\xbb\xda\xa1" , "\x51\x6d\x77" } , { "\xbb\xda\xa2" , "\x51\x6d\x77" } , { "\xbb\xdb" , "\x51\x6e" } , { "\xbb\xdb\xa2" , "\x51\x6e\x77" } , { "\xbb\xdc" , "\x51\x6f" } , { "\xbb\xdc\xa2" , "\x51\x6f\x77" } , { "\xbb\xdd" , "\x51\x70" } , { "\xbb\xdd\xa1" , "\x51\x70\x77" } , { "\xbb\xdd\xa2" , "\x51\x70\x77" } , { "\xbb\xde" , "\x51\x71" } , { "\xbb\xde\xa1" , "\x51\x71\x77" } , { "\xbb\xde\xa2" , "\x51\x71\x77" } , { "\xbb\xdf" , "\x51\x72" } , { "\xbb\xe0" , "\x73\x51" } , { "\xbb\xe0\xa2" , "\x73\x51\x77" } , { "\xbb\xe1" , "\x74\x51" } , { "\xbb\xe1\xa2" , "\x74\x51\x77" } , { "\xbb\xe2" , "\x73\x73\x51" } , { "\xbb\xe4" , "\x73\x51\x6d" } , { "\xbb\xe5" , "\x74\x51\x6d" } , { "\xbb\xe5\xa2" , "\x74\x51\x6d\x77" } , { "\xbb\xe6" , "\x51\x75" } , { "\xbb\xe6\xa2" , "\x51\x75\x77" } , { "\xbb\xe7" , "\x74\x51\x6d" } , { "\xbb\xe8" , "\x51\x76" } , { "\xbb\xe8\xb6\xdd" , "\x51\x76\x4c\x70" } , { "\xbb\xe8\xbb" , "\x51\x76\x51" } , { "\xbb\xe8\xcd" , "\x51\x79" } , { "\xbb\xe8\xcf" , "\x7b\x51" } , { "\xbb\xe8\xd4" , "\x51\x7a" } , { "\xbb\xe8\xe8" , "\x51\x76" } , { "\xbb\xe8\xe9\xcf" , "\x51\x76\x63" } , { "\xbb\xe9" , "\x51" } , { "\xbc" , "\x52" } , { "\xbc\xa2" , "\x52\x77" } , { "\xbc\xa3" , "\x52\x78" } , { "\xbc\xda" , "\x52\x6d" } , { "\xbc\xdb" , "\x52\x6e" } , { "\xbc\xdc" , "\x52\x6f" } , { "\xbc\xdd" , "\x52\x70" } , { "\xbc\xde" , "\x52\x71" } , { "\xbc\xdf" , "\x52\x72" } , { "\xbc\xe0" , "\x73\x52" } , { "\xbc\xe1" , "\x74\x52" } , { "\xbc\xe2" , "\x73\x73\x52" } , { "\xbc\xe3" , "\x52\x6d" } , { "\xbc\xe4" , "\x73\x52\x6d" } , { "\xbc\xe5" , "\x74\x52\x6d" } , { "\xbc\xe5\xa2" , "\x74\x52\x6d\x77" } , { "\xbc\xe6" , "\x52\x75" } , { "\xbc\xe8" , "\x52\x76" } , { "\xbc\xe8\xb8" , "\xa9" } , { "\xbc\xe8\xb8\xda" , "\xa9\x6d" } , { "\xbc\xe8\xb8\xdb" , "\xa9\x6e" } , { "\xbc\xe8\xb8\xdc" , "\xa9\x6f" } , { "\xbc\xe8\xb8\xe0" , "\x73\xa9" } , { "\xbc\xe8\xb8\xe1" , "\x74\xa9" } , { "\xbc\xe8\xb8\xe4" , "\x73\xa9\x6d" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\xa9\x79\x6d\x77" } , { "\xbc\xe8\xba" , "\x52\x76\x50" } , { "\xbc\xe8\xba\xda" , "\x52\x76\x50\x6d" } , { "\xbc\xe8\xba\xdb" , "\x52\x76\x50\x6e" } , { "\xbc\xe8\xba\xdc" , "\x52\x76\x50\x6f" } , { "\xbc\xe8\xba\xdd" , "\x52\x76\x50\x70" } , { "\xbc\xe8\xba\xe5\xa2" , "\x52\x76\x74\x50\x6d\x77" } , { "\xbc\xe8\xbc" , "\xaa" } , { "\xbc\xe8\xbc\xda" , "\xaa\x6d" } , { "\xbc\xe8\xc1" , "\x52\x76\x57" } , { "\xbc\xe8\xcd\xa2" , "\x52\x79\x77" } , { "\xbc\xe8\xcd\xe5" , "\x74\x52\x79\x6d" } , { "\xbc\xe8\xd4" , "\x52\x7a" } , { "\xbc\xe9" , "\x52" } , { "\xbd" , "\x53" } , { "\xbd\xa1" , "\x53\x77" } , { "\xbd\xa2" , "\x53\x77" } , { "\xbd\xa2\xa2" , "\x53\x77\x77" } , { "\xbd\xa3" , "\x53\x78" } , { "\xbd\xd9" , "\x53" } , { "\xbd\xda" , "\x53\x6d" } , { "\xbd\xda\xa1" , "\x53\x6d\x77" } , { "\xbd\xda\xa2" , "\x53\x6d\x77" } , { "\xbd\xda\xa3" , "\x53\x6d\x78" } , { "\xbd\xdb" , "\x53\x6e" } , { "\xbd\xdb\xa2" , "\x53\x6e\x77" } , { "\xbd\xdc" , "\x53\x6f" } , { "\xbd\xdc\xa2" , "\x53\x6f\x77" } , { "\xbd\xdd" , "\x53\x70" } , { "\xbd\xdd\xa2" , "\x53\x70\x77" } , { "\xbd\xde" , "\x53\x71" } , { "\xbd\xde\xa1" , "\x53\x71\x77" } , { "\xbd\xde\xa2" , "\x53\x71\x77" } , { "\xbd\xdf" , "\x53\x72" } , { "\xbd\xe0" , "\x73\x53" } , { "\xbd\xe0\xa2" , "\x73\x53\x77" } , { "\xbd\xe1" , "\x74\x53" } , { "\xbd\xe1\xa2" , "\x74\x53\x77" } , { "\xbd\xe2" , "\x73\x73\x53" } , { "\xbd\xe2\xa2" , "\x73\x73\x53\x77" } , { "\xbd\xe3" , "\x53\x6d" } , { "\xbd\xe4" , "\x73\x53\x6d" } , { "\xbd\xe4\xa2" , "\x73\x53\x6d\x77" } , { "\xbd\xe5" , "\x74\x53\x6d" } , { "\xbd\xe5\xa2" , "\x74\x53\x6d\x77" } , { "\xbd\xe6" , "\x53\x75" } , { "\xbd\xe6\xa2" , "\x53\x75\x77" } , { "\xbd\xe7" , "\x74\x53\x6d" } , { "\xbd\xe8" , "\x53\x76" } , { "\xbd\xe8\xa6" , "\x53\x76\x43" } , { "\xbd\xe8\xb3" , "\x53\x76\x49" } , { "\xbd\xe8\xb3\xa2" , "\x53\x76\x49\x77" } , { "\xbd\xe8\xb3\xda" , "\x53\x76\x49\x6d" } , { "\xbd\xe8\xb3\xda\xa2" , "\x53\x76\x49\x6d\x77" } , { "\xbd\xe8\xb3\xdb" , "\x53\x76\x49\x6e" } , { "\xbd\xe8\xb3\xdb\xa2" , "\x53\x76\x49\x6e\x77" } , { "\xbd\xe8\xb3\xdc" , "\x53\x76\x49\x6f" } , { "\xbd\xe8\xb3\xdd" , "\x53\x76\x49\x70" } , { "\xbd\xe8\xb3\xde" , "\x53\x76\x49\x71" } , { "\xbd\xe8\xb3\xe0" , "\x53\x76\x73\x49" } , { "\xbd\xe8\xb3\xe1" , "\x53\x76\x74\x49" } , { "\xbd\xe8\xb3\xe2" , "\x53\x76\x73\x73\x49" } , { "\xbd\xe8\xb3\xe5" , "\x53\x76\x74\x49\x6d" } , { "\xbd\xe8\xb3\xe8\xd1" , "\x53\x76\xa2" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\x53\x76\xa2\x6f" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\x53\x76\x49\x76\x6b\x76" } , { "\xbd\xe8\xb5" , "\x53\x76\x4b" } , { "\xbd\xe8\xb5\xda" , "\x53\x76\x4b\x6d" } , { "\xbd\xe8\xb5\xe0" , "\x53\x76\x73\x4b" } , { "\xbd\xe8\xb5\xe1" , "\x53\x76\x74\x4b" } , { "\xbd\xe8\xb5\xe2" , "\x53\x76\x73\x73\x4b" } , { "\xbd\xe8\xb5\xe5" , "\x53\x76\x74\x4b\x6d" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\x53\x76\x7b\x4b\x77" } , { "\xbd\xe8\xb7\xe8" , "\x53\x76\x4d\x76" } , { "\xbd\xe8\xb8" , "\x53\x76\x4e" } , { "\xbd\xe8\xb8\xa2" , "\x53\x76\x4e\x77" } , { "\xbd\xe8\xb8\xda" , "\x53\x76\x4e\x6d" } , { "\xbd\xe8\xb8\xdb" , "\x53\x76\x4e\x6e" } , { "\xbd\xe8\xb8\xdb\xa2" , "\x53\x76\x4e\x6e\x77" } , { "\xbd\xe8\xb8\xdd" , "\x53\x76\x4e\x70" } , { "\xbd\xe8\xb8\xe0" , "\x53\x76\x73\x4e" } , { "\xbd\xe8\xb8\xe1" , "\x53\x76\x74\x4e" } , { "\xbd\xe8\xb8\xe8" , "\x53\x76\x4e\x76" } , { "\xbd\xe8\xb9\xa2" , "\x53\x76\x4f\x77" } , { "\xbd\xe8\xba" , "\x53\x76\x50" } , { "\xbd\xe8\xba\xa2" , "\x53\x76\x50\x77" } , { "\xbd\xe8\xba\xdc" , "\x53\x76\x50\x6f" } , { "\xbd\xe8\xba\xe0" , "\x53\x76\x73\x50" } , { "\xbd\xe8\xba\xe1" , "\x53\x76\x74\x50" } , { "\xbd\xe8\xba\xe8" , "\x53\x76\x50\x76" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x53\x76\x50\x76\x73\x4b" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\x53\x76\x50\x76\x5c\x70\x77" } , { "\xbd\xe8\xbd" , "\xab" } , { "\xbd\xe8\xbd\xa2" , "\xab\x77" } , { "\xbd\xe8\xbd\xa3" , "\xab\x78" } , { "\xbd\xe8\xbd\xda" , "\xab\x6d" } , { "\xbd\xe8\xbd\xda\xa2" , "\xab\x6d\x77" } , { "\xbd\xe8\xbd\xda\xa3" , "\xab\x6d\x78" } , { "\xbd\xe8\xbd\xdb" , "\xab\x6e" } , { "\xbd\xe8\xbd\xdb\xa2" , "\xab\x6e\x77" } , { "\xbd\xe8\xbd\xdc" , "\xab\x6f" } , { "\xbd\xe8\xbd\xdc\xa2" , "\xab\x6f\x77" } , { "\xbd\xe8\xbd\xdd" , "\xab\x70" } , { "\xbd\xe8\xbd\xdd\xa2" , "\xab\x70\x77" } , { "\xbd\xe8\xbd\xde" , "\xab\x71" } , { "\xbd\xe8\xbd\xe0" , "\x73\xab" } , { "\xbd\xe8\xbd\xe0\xa2" , "\x73\xab\x77" } , { "\xbd\xe8\xbd\xe1" , "\x74\xab" } , { "\xbd\xe8\xbd\xe1\xa2" , "\x74\xab\x77" } , { "\xbd\xe8\xbd\xe2" , "\x73\x73\xab" } , { "\xbd\xe8\xbd\xe2\xa2" , "\x73\x73\xab\x77" } , { "\xbd\xe8\xbd\xe4" , "\x73\xab\x6d" } , { "\xbd\xe8\xbd\xe5" , "\x74\xab\x6d" } , { "\xbd\xe8\xbd\xe5\xa2" , "\x74\xab\x6d\x77" } , { "\xbd\xe8\xbd\xe6" , "\xab\x75" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\xab\x76\x49\x70" } , { "\xbd\xe8\xbd\xe8\xc1" , "\xab\x76\x57" } , { "\xbd\xe8\xbd\xe8\xc6" , "\xab\x76\x5c" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\xab\x76\x73\x5d" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x7b\xab\x6d" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\xab\x76\x63\x76" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\xab\x76\x63\x76\x5c" } , { "\xbd\xe8\xbd\xe8\xd4" , "\xab\x7a" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\xab\x76\x6b\x70" } , { "\xbd\xe8\xbe" , "\x53\x76\x54" } , { "\xbd\xe8\xbe\xda" , "\x53\x76\x54\x6d" } , { "\xbd\xe8\xbe\xdb" , "\x53\x76\x54\x6e" } , { "\xbd\xe8\xbe\xdc" , "\x53\x76\x54\x6f" } , { "\xbd\xe8\xbe\xdd" , "\x53\x76\x54\x70" } , { "\xbd\xe8\xbe\xde" , "\x53\x76\x54\x71" } , { "\xbd\xe8\xbe\xe1" , "\x53\x76\x74\x54" } , { "\xbd\xe8\xbe\xe5" , "\x53\x76\x74\x54\x6d" } , { "\xbd\xe8\xbe\xe5\xa2" , "\x53\x76\x74\x54\x6d\x77" } , { "\xbd\xe8\xbf" , "\x53\x76\x55" } , { "\xbd\xe8\xbf\xdb" , "\x53\x76\x55\x6e" } , { "\xbd\xe8\xbf\xdd" , "\x53\x76\x55\x70" } , { "\xbd\xe8\xbf\xe1" , "\x53\x76\x74\x55" } , { "\xbd\xe8\xbf\xe5" , "\x53\x76\x74\x55\x6d" } , { "\xbd\xe8\xbf\xe6" , "\x53\x76\x55\x75" } , { "\xbd\xe8\xbf\xe8" , "\x53\x76\x55\x76" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\x53\x76\x7b\x55\x6d" } , { "\xbd\xe8\xc0\xdc" , "\x53\x76\x56\x6f" } , { "\xbd\xe8\xc1\xa2" , "\x53\x76\x57\x77" } , { "\xbd\xe8\xc2" , "\x53\x76\x58" } , { "\xbd\xe8\xc2\xda" , "\x53\x76\x58\x6d" } , { "\xbd\xe8\xc2\xdb\xa2" , "\x53\x76\x58\x6e\x77" } , { "\xbd\xe8\xc2\xdc" , "\x53\x76\x58\x6f" } , { "\xbd\xe8\xc2\xdd" , "\x53\x76\x58\x70" } , { "\xbd\xe8\xc2\xdd\xa2" , "\x53\x76\x58\x70\x77" } , { "\xbd\xe8\xc2\xde" , "\x53\x76\x58\x71" } , { "\xbd\xe8\xc2\xe0" , "\x53\x76\x73\x58" } , { "\xbd\xe8\xc2\xe1" , "\x53\x76\x74\x58" } , { "\xbd\xe8\xc2\xe4" , "\x53\x76\x73\x58\x6d" } , { "\xbd\xe8\xc2\xe5" , "\x53\x76\x74\x58\x6d" } , { "\xbd\xe8\xc2\xe5\xa2" , "\x53\x76\x74\x58\x6d\x77" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\x53\x76\x7b\x58\x6e\x77" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\x53\x76\x73\x7b\x58" } , { "\xbd\xe8\xc4" , "\x53\x76\x5a" } , { "\xbd\xe8\xc4\xda" , "\x53\x76\x5a\x6d" } , { "\xbd\xe8\xc4\xe0" , "\x53\x76\x73\x5a" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x53\x76\x5a\x7a\x6d" } , { "\xbd\xe8\xc5" , "\x53\x76\x5b" } , { "\xbd\xe8\xc6" , "\x53\x76\x5c" } , { "\xbd\xe8\xc6\xa2" , "\x53\x76\x5c\x77" } , { "\xbd\xe8\xc6\xda" , "\x53\x76\x5c\x6d" } , { "\xbd\xe8\xc6\xdb" , "\x53\x76\x5c\x6e" } , { "\xbd\xe8\xc6\xdb\xa2" , "\x53\x76\x5c\x6e\x77" } , { "\xbd\xe8\xc6\xdc" , "\x53\x76\x5c\x6f" } , { "\xbd\xe8\xc6\xdc\xa2" , "\x53\x76\x5c\x6f\x77" } , { "\xbd\xe8\xc6\xdd" , "\x53\x76\x5c\x70" } , { "\xbd\xe8\xc6\xdd\xa2" , "\x53\x76\x5c\x70\x77" } , { "\xbd\xe8\xc6\xde" , "\x53\x76\x5c\x71" } , { "\xbd\xe8\xc6\xe0" , "\x53\x76\x73\x5c" } , { "\xbd\xe8\xc6\xe1" , "\x53\x76\x74\x5c" } , { "\xbd\xe8\xc6\xe1\xa2" , "\x53\x76\x74\x5c\x77" } , { "\xbd\xe8\xc6\xe5" , "\x53\x76\x74\x5c\x6d" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x53\x76\x5c\x79\x71" } , { "\xbd\xe8\xc8" , "\x53\x76\x5d" } , { "\xbd\xe8\xc8\xda" , "\x53\x76\x5d\x6d" } , { "\xbd\xe8\xc8\xdb" , "\x53\x76\x5d\x6e" } , { "\xbd\xe8\xc8\xdd" , "\x53\x76\x5d\x70" } , { "\xbd\xe8\xc8\xde" , "\x53\x76\x5d\x71" } , { "\xbd\xe8\xc8\xe1" , "\x53\x76\x74\x5d" } , { "\xbd\xe8\xc8\xe2" , "\x53\x76\x73\x73\x5d" } , { "\xbd\xe8\xc8\xe8\xcf" , "\x53\x76\x7b\x5d" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\x53\x76\x7b\x5d\x6d" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\x53\x76\x74\xb9" } , { "\xbd\xe8\xc9" , "\x53\x76\x5e" } , { "\xbd\xe8\xc9\xa2" , "\x53\x76\x5e\x77" } , { "\xbd\xe8\xc9\xda" , "\x53\x76\x5e\x6d" } , { "\xbd\xe8\xc9\xda\xa2" , "\x53\x76\x5e\x6d\x77" } , { "\xbd\xe8\xc9\xdb" , "\x53\x76\x5e\x6e" } , { "\xbd\xe8\xc9\xdc" , "\x53\x76\x5e\x6f" } , { "\xbd\xe8\xc9\xdd" , "\x53\x76\x5e\x70" } , { "\xbd\xe8\xc9\xe2" , "\x53\x76\x73\x73\x5e" } , { "\xbd\xe8\xc9\xe5" , "\x53\x76\x74\x5e\x6d" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x53\x76\x5e\x79\x6d" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x53\x76\x73\x73\x7b\x5e" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\x53\x76\x5e\x76\x73\x73\x65" } , { "\xbd\xe8\xca" , "\x53\x76\x5f" } , { "\xbd\xe8\xca\xda" , "\x53\x76\x5f\x6d" } , { "\xbd\xe8\xca\xda\xa2" , "\x53\x76\x5f\x6d\x77" } , { "\xbd\xe8\xca\xdd" , "\x53\x76\x5f\x70" } , { "\xbd\xe8\xca\xe0" , "\x53\x76\x73\x5f" } , { "\xbd\xe8\xca\xe5" , "\x53\x76\x74\x5f\x6d" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x53\x76\x5f\x79\x6d" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x53\x76\x5f\x79\x6d\x77" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\x53\x76\xbb\x6d" } , { "\xbd\xe8\xcb\xdd" , "\x53\x76\x60\x70" } , { "\xbd\xe8\xcb\xde" , "\x53\x76\x60\x71" } , { "\xbd\xe8\xcb\xe8\xcf" , "\x53\x76\x7b\x60" } , { "\xbd\xe8\xcc" , "\x53\x76\x61" } , { "\xbd\xe8\xcc\xa2" , "\x53\x76\x61\x77" } , { "\xbd\xe8\xcc\xda" , "\x53\x76\x61\x6d" } , { "\xbd\xe8\xcc\xdc" , "\x53\x76\x61\x6f" } , { "\xbd\xe8\xcc\xe0" , "\x53\x76\x73\x61" } , { "\xbd\xe8\xcc\xe0\xa2" , "\x53\x76\x73\x61\x77" } , { "\xbd\xe8\xcc\xe2" , "\x53\x76\x73\x73\x61" } , { "\xbd\xe8\xcc\xe4" , "\x53\x76\x73\x61\x6d" } , { "\xbd\xe8\xcc\xe5" , "\x53\x76\x74\x61\x6d" } , { "\xbd\xe8\xcc\xe8\xca" , "\x53\x76\x61\x76\x5f" } , { "\xbd\xe8\xcd" , "\x53\x79" } , { "\xbd\xe8\xcd\xa2" , "\x53\x79\x77" } , { "\xbd\xe8\xcd\xda" , "\x53\x79\x6d" } , { "\xbd\xe8\xcd\xda\xa2" , "\x53\x79\x6d\x77" } , { "\xbd\xe8\xcd\xdc\xa2" , "\x53\x79\x6f\x77" } , { "\xbd\xe8\xcd\xdd" , "\x53\x79\x70" } , { "\xbd\xe8\xcd\xde" , "\x53\x79\x71" } , { "\xbd\xe8\xcd\xde\xa2" , "\x53\x79\x71\x77" } , { "\xbd\xe8\xcd\xe1" , "\x74\x53\x79" } , { "\xbd\xe8\xcd\xe4" , "\x73\x53\x79\x6d" } , { "\xbd\xe8\xcd\xe5" , "\x74\x53\x79\x6d" } , { "\xbd\xe8\xcd\xe5\xa2" , "\x74\x53\x79\x6d\x77" } , { "\xbd\xe8\xcf" , "\x7b\x53" } , { "\xbd\xe8\xcf\xa2" , "\x7b\x53\x77" } , { "\xbd\xe8\xcf\xda" , "\x7b\x53\x6d" } , { "\xbd\xe8\xcf\xda\xa1" , "\x7b\x53\x6d\x77" } , { "\xbd\xe8\xcf\xda\xa2" , "\x7b\x53\x6d\x77" } , { "\xbd\xe8\xcf\xdb" , "\x7b\x53\x6e" } , { "\xbd\xe8\xcf\xdb\xa2" , "\x7b\x53\x6e\x77" } , { "\xbd\xe8\xcf\xdc" , "\x7b\x53\x6f" } , { "\xbd\xe8\xcf\xdd" , "\x7b\x53\x70" } , { "\xbd\xe8\xcf\xde" , "\x7b\x53\x71" } , { "\xbd\xe8\xcf\xe0" , "\x73\x7b\x53" } , { "\xbd\xe8\xcf\xe0\xa2" , "\x73\x7b\x53\x77" } , { "\xbd\xe8\xcf\xe1" , "\x74\x7b\x53" } , { "\xbd\xe8\xcf\xe1\xa2" , "\x74\x7b\x53\x77" } , { "\xbd\xe8\xcf\xe2" , "\x73\x73\x7b\x53" } , { "\xbd\xe8\xcf\xe2\xa2" , "\x73\x73\x7b\x53\x77" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\x73\x73\x7b\x53\x5c\x76" } , { "\xbd\xe8\xcf\xe4" , "\x73\x7b\x53\x6d" } , { "\xbd\xe8\xcf\xe5" , "\x74\x7b\x53\x6d" } , { "\xbd\xe8\xcf\xe6" , "\x7b\x53\x75" } , { "\xbd\xe8\xcf\xe7" , "\x74\x7b\x53\x6d" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\x53\x76\x63\x76\x49\x6e" } , { "\xbd\xe8\xcf\xe8\xc6" , "\x53\x76\x63\x76\x5c" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x53\x76\x63\x76\x6b" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x53\x76\x63\x76\x6b\x76" } , { "\xbd\xe8\xd1" , "\x53\x76\x65" } , { "\xbd\xe8\xd1\xa2" , "\x53\x76\x65\x77" } , { "\xbd\xe8\xd1\xda" , "\x53\x76\x65\x6d" } , { "\xbd\xe8\xd1\xda\xa2" , "\x53\x76\x65\x6d\x77" } , { "\xbd\xe8\xd1\xdb" , "\x53\x76\x65\x6e" } , { "\xbd\xe8\xd1\xdb\xa2" , "\x53\x76\x65\x6e\x77" } , { "\xbd\xe8\xd1\xdc" , "\x53\x76\x65\x6f" } , { "\xbd\xe8\xd1\xdd" , "\x53\x76\x65\x70" } , { "\xbd\xe8\xd1\xdd\xa2" , "\x53\x76\x65\x70\x77" } , { "\xbd\xe8\xd1\xde" , "\x53\x76\x65\x71" } , { "\xbd\xe8\xd1\xe0" , "\x53\x76\x73\x65" } , { "\xbd\xe8\xd1\xe0\xa2" , "\x53\x76\x73\x65\x77" } , { "\xbd\xe8\xd1\xe1" , "\x53\x76\x74\x65" } , { "\xbd\xe8\xd1\xe2" , "\x53\x76\x73\x73\x65" } , { "\xbd\xe8\xd1\xe2\xa2" , "\x53\x76\x73\x73\x65\x77" } , { "\xbd\xe8\xd1\xe4" , "\x53\x76\x73\x65\x6d" } , { "\xbd\xe8\xd1\xe5" , "\x53\x76\x74\x65\x6d" } , { "\xbd\xe8\xd1\xe5\xa2" , "\x53\x76\x74\x65\x6d\x77" } , { "\xbd\xe8\xd1\xe8" , "\x53\x76\x65\x76" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\x53\x76\x65\x76\x5c\x70" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x53\x76\x65\x79\x6d\x77" } , { "\xbd\xe8\xd2\xdd" , "\x53\x76\x66\x70" } , { "\xbd\xe8\xd4" , "\x53\x7a" } , { "\xbd\xe8\xd4\xa2" , "\x53\x7a\x77" } , { "\xbd\xe8\xd4\xda" , "\x53\x7a\x6d" } , { "\xbd\xe8\xd4\xda\xa2" , "\x53\x7a\x6d\x77" } , { "\xbd\xe8\xd4\xdb" , "\x53\x7a\x6e" } , { "\xbd\xe8\xd4\xdb\xa2" , "\x53\x7a\x6e\x77" } , { "\xbd\xe8\xd4\xdc" , "\x53\x7a\x6f" } , { "\xbd\xe8\xd4\xe0" , "\x73\x53\x7a" } , { "\xbd\xe8\xd4\xe1" , "\x74\x53\x7a" } , { "\xbd\xe8\xd4\xe2" , "\x73\x73\x53\x7a" } , { "\xbd\xe8\xd5" , "\x53\x76\x69" } , { "\xbd\xe8\xd5\xda" , "\x53\x76\x69\x6d" } , { "\xbd\xe8\xd5\xdb" , "\x53\x76\x69\x6e" } , { "\xbd\xe8\xd6\xdb" , "\x53\x76\x6a\x6e" } , { "\xbd\xe8\xd6\xdc" , "\x53\x76\x6a\x6f" } , { "\xbd\xe8\xd6\xdd" , "\x53\x76\x6a\x70" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\x53\x76\x6a\x76\x65\x6e" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\x53\x76\x6a\x76\x65\x6f" } , { "\xbd\xe8\xd7" , "\x53\x76\x6b" } , { "\xbd\xe8\xd7\xda" , "\x53\x76\x6b\x6d" } , { "\xbd\xe8\xd7\xdb" , "\x53\x76\x6b\x6e" } , { "\xbd\xe8\xd7\xdb\xa2" , "\x53\x76\x6b\x6e\x77" } , { "\xbd\xe8\xd7\xdd" , "\x53\x76\x6b\x70" } , { "\xbd\xe8\xd7\xde" , "\x53\x76\x6b\x71" } , { "\xbd\xe8\xd7\xe0" , "\x53\x76\x73\x6b" } , { "\xbd\xe8\xd7\xe1" , "\x53\x76\x74\x6b" } , { "\xbd\xe8\xd7\xe2" , "\x53\x76\x73\x73\x6b" } , { "\xbd\xe8\xd7\xe5" , "\x53\x76\x74\x6b\x6d" } , { "\xbd\xe8\xd7\xe8" , "\x53\x76\x6b\x76" } , { "\xbd\xe8\xd7\xe8\xb3" , "\x53\x76\x6b\x76\x49" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\x53\x76\x6b\x76\x49\x6e" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\x53\x76\x6b\x76\x49\x6f" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\x53\x76\x6b\x76\x49\x70" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x53\x76\x6b\x76\x4b\x6d" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\x53\x76\x6b\x76\x4e\x6e" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x53\x76\x6b\x76\x73\x4e" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x53\x76\x6b\x76\x53" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x53\x76\x6b\x76\x53\x6d" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x53\x76\x6b\x76\x73\x53" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x53\x76\x6b\x76\x73\x53\x77" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\x53\x76\x6b\x76\x74\x58\x6d" } , { "\xbd\xe8\xd7\xe8\xc3" , "\x53\x76\xd8" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x53\x76\x6b\x76\x5a" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x53\x76\x6b\x76\x5a\x7a\x6d" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\x53\x76\x6b\x76\x5c\x6e" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\x53\x76\x6b\x76\x5c\x70" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\x53\x76\x6b\x76\x5c\x70\x77" } , { "\xbd\xe8\xd7\xe8\xca" , "\x53\x76\x6b\x76\x5f" } , { "\xbd\xe8\xd7\xe8\xcc" , "\x53\x76\x6b\x76\x61" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\x53\x76\x6b\x76\x61\x6e" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\x53\x76\x6b\x76\x74\x61" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x53\x76\x6b\x79\x77" } , { "\xbd\xe8\xd7\xe8\xd1" , "\x53\x76\xc9" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\x53\x76\x74\xc9\x6d" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x53\x76\x6b\x7a" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\x53\x76\x6b\x7a\x6e\x77" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x53\x76\x74\x6b\x7a\x6d" } , { "\xbd\xe8\xd8\xda" , "\x53\x76\x6c\x6d" } , { "\xbd\xe8\xd8\xdc" , "\x53\x76\x6c\x6f" } , { "\xbd\xe8\xd8\xde" , "\x53\x76\x6c\x71" } , { "\xbd\xe8\xd8\xe0" , "\x53\x76\x73\x6c" } , { "\xbd\xe8\xd8\xe5" , "\x53\x76\x74\x6c\x6d" } , { "\xbd\xe8\xd8\xe6" , "\x53\x76\x6c\x75" } , { "\xbd\xe8\xd9\xa6" , "\x53\x76\x43" } , { "\xbd\xe8\xd9\xbd" , "\x53\x76\x53" } , { "\xbd\xe8\xd9\xbd\xda" , "\x53\x76\x53\x6d" } , { "\xbd\xe8\xd9\xbd\xdc" , "\x53\x76\x53\x6f" } , { "\xbd\xe8\xd9\xbd\xe5" , "\x53\x76\x74\x53\x6d" } , { "\xbd\xe8\xd9\xbe\xdc" , "\x53\x76\x54\x6f" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\x53\x76\x62\x71\x77" } , { "\xbd\xe8\xd9\xd7" , "\x53\x76\x6b" } , { "\xbd\xe8\xe8" , "\x53\x76" } , { "\xbe" , "\x54" } , { "\xbe\xa2" , "\x54\x77" } , { "\xbe\xa3" , "\x54\x78" } , { "\xbe\xda" , "\x54\x6d" } , { "\xbe\xda\xa1" , "\x54\x6d\x77" } , { "\xbe\xda\xa2" , "\x54\x6d\x77" } , { "\xbe\xdb" , "\x54\x6e" } , { "\xbe\xdb\xa2" , "\x54\x6e\x77" } , { "\xbe\xdc" , "\x54\x6f" } , { "\xbe\xdc\xa2" , "\x54\x6f\x77" } , { "\xbe\xdd" , "\x54\x70" } , { "\xbe\xdd\xa2" , "\x54\x70\x77" } , { "\xbe\xde" , "\x54\x71" } , { "\xbe\xde\xa1" , "\x54\x71\x77" } , { "\xbe\xde\xa2" , "\x54\x71\x77" } , { "\xbe\xdf" , "\x54\x72" } , { "\xbe\xe0" , "\x73\x54" } , { "\xbe\xe1" , "\x74\x54" } , { "\xbe\xe1\xa2" , "\x74\x54\x77" } , { "\xbe\xe2" , "\x73\x73\x54" } , { "\xbe\xe2\xa2" , "\x73\x73\x54\x77" } , { "\xbe\xe3" , "\x54\x6d" } , { "\xbe\xe4" , "\x73\x54\x6d" } , { "\xbe\xe5" , "\x74\x54\x6d" } , { "\xbe\xe5\xa2" , "\x74\x54\x6d\x77" } , { "\xbe\xe6" , "\x54\x75" } , { "\xbe\xe8" , "\x54\x76" } , { "\xbe\xe8\xb3" , "\x54\x76\x49" } , { "\xbe\xe8\xb3\xdd" , "\x54\x76\x49\x70" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x54\x76\x7b\x49" } , { "\xbe\xe8\xb5\xe5" , "\x54\x76\x74\x4b\x6d" } , { "\xbe\xe8\xb8" , "\x54\x76\x4e" } , { "\xbe\xe8\xbd" , "\x54\x76\x53" } , { "\xbe\xe8\xbd\xda" , "\x54\x76\x53\x6d" } , { "\xbe\xe8\xbd\xdb" , "\x54\x76\x53\x6e" } , { "\xbe\xe8\xbd\xdc" , "\x54\x76\x53\x6f" } , { "\xbe\xe8\xbe" , "\x54\x76\x54" } , { "\xbe\xe8\xbe\xda" , "\x54\x76\x54\x6d" } , { "\xbe\xe8\xbe\xdb" , "\x54\x76\x54\x6e" } , { "\xbe\xe8\xbe\xdc" , "\x54\x76\x54\x6f" } , { "\xbe\xe8\xbe\xe1" , "\x54\x76\x74\x54" } , { "\xbe\xe8\xbe\xe5" , "\x54\x76\x74\x54\x6d" } , { "\xbe\xe8\xc6" , "\x54\x76\x5c" } , { "\xbe\xe8\xc8\xda" , "\x54\x76\x5d\x6d" } , { "\xbe\xe8\xcd" , "\x54\x79" } , { "\xbe\xe8\xcd\xa2" , "\x54\x79\x77" } , { "\xbe\xe8\xcd\xda" , "\x54\x79\x6d" } , { "\xbe\xe8\xcd\xda\xa1" , "\x54\x79\x6d\x77" } , { "\xbe\xe8\xcd\xda\xa2" , "\x54\x79\x6d\x77" } , { "\xbe\xe8\xcd\xe1" , "\x74\x54\x79" } , { "\xbe\xe8\xcd\xe5" , "\x74\x54\x79\x6d" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x74\x54\x79\x6d\x77" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x54\x76\xbf" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x54\x76\x7b\x62" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x54\x76\x62\x76\x69\x6d" } , { "\xbe\xe8\xcf\xda" , "\x7b\x54\x6d" } , { "\xbe\xe8\xd1\xdd" , "\x54\x76\x65\x70" } , { "\xbe\xe8\xd4\xda" , "\x54\x7a\x6d" } , { "\xbe\xe8\xd9\xcd" , "\x54\x76\x62" } , { "\xbe\xe8\xe8" , "\x54\x76" } , { "\xbf" , "\x55" } , { "\xbf\xa1" , "\x55\x77" } , { "\xbf\xa2" , "\x55\x77" } , { "\xbf\xa2\xa2" , "\x55\x77\x77" } , { "\xbf\xa3" , "\x55\x78" } , { "\xbf\xda" , "\x55\x6d" } , { "\xbf\xda\xa1" , "\x55\x6d\x77" } , { "\xbf\xda\xa2" , "\x55\x6d\x77" } , { "\xbf\xda\xa3" , "\x55\x6d\x78" } , { "\xbf\xdb" , "\x55\x6e" } , { "\xbf\xdb\xa2" , "\x55\x6e\x77" } , { "\xbf\xdb\xa3" , "\x55\x6e\x78" } , { "\xbf\xdc" , "\x55\x6f" } , { "\xbf\xdc\xa2" , "\x55\x6f\x77" } , { "\xbf\xdd" , "\x55\x70" } , { "\xbf\xdd\xa2" , "\x55\x70\x77" } , { "\xbf\xde" , "\x55\x71" } , { "\xbf\xde\xa1" , "\x55\x71\x77" } , { "\xbf\xde\xa2" , "\x55\x71\x77" } , { "\xbf\xdf" , "\x55\x72" } , { "\xbf\xe0" , "\x73\x55" } , { "\xbf\xe0\xa1" , "\x73\x55\x77" } , { "\xbf\xe0\xa2" , "\x73\x55\x77" } , { "\xbf\xe1" , "\x74\x55" } , { "\xbf\xe1\xa2" , "\x74\x55\x77" } , { "\xbf\xe2" , "\x73\x73\x55" } , { "\xbf\xe2\xa2" , "\x73\x73\x55\x77" } , { "\xbf\xe2\xa3" , "\x73\x73\x55\x78" } , { "\xbf\xe4" , "\x73\x55\x6d" } , { "\xbf\xe4\xa2" , "\x73\x55\x6d\x77" } , { "\xbf\xe5" , "\x74\x55\x6d" } , { "\xbf\xe5\xa2" , "\x74\x55\x6d\x77" } , { "\xbf\xe6" , "\x55\x75" } , { "\xbf\xe6\xa2" , "\x55\x75\x77" } , { "\xbf\xe7" , "\x74\x55\x6d" } , { "\xbf\xe7\xa2" , "\x74\x55\x6d\x77" } , { "\xbf\xe8" , "\x55\x76" } , { "\xbf\xe8\xb3" , "\x55\x76\x49" } , { "\xbf\xe8\xb3\xa2" , "\x55\x76\x49\x77" } , { "\xbf\xe8\xb3\xda" , "\x55\x76\x49\x6d" } , { "\xbf\xe8\xb3\xdb" , "\x55\x76\x49\x6e" } , { "\xbf\xe8\xb3\xdc" , "\x55\x76\x49\x6f" } , { "\xbf\xe8\xb3\xdd" , "\x55\x76\x49\x70" } , { "\xbf\xe8\xb3\xde" , "\x55\x76\x49\x71" } , { "\xbf\xe8\xb3\xe1" , "\x55\x76\x74\x49" } , { "\xbf\xe8\xb3\xe4" , "\x55\x76\x73\x49\x6d" } , { "\xbf\xe8\xb3\xe5" , "\x55\x76\x74\x49\x6d" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x55\x76\x49\x76\x4b\x6d" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\x55\x76\x7b\x49\x6d" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\x55\x76\x74\xa2\x6d" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x55\x76\x49\x7a\x6d" } , { "\xbf\xe8\xb4" , "\x55\x76\x4a" } , { "\xbf\xe8\xb5" , "\x55\x76\x4b" } , { "\xbf\xe8\xb5\xa2" , "\x55\x76\x4b\x77" } , { "\xbf\xe8\xb5\xda" , "\x55\x76\x4b\x6d" } , { "\xbf\xe8\xb5\xdb" , "\x55\x76\x4b\x6e" } , { "\xbf\xe8\xb5\xdd" , "\x55\x76\x4b\x70" } , { "\xbf\xe8\xb5\xde" , "\x55\x76\x4b\x71" } , { "\xbf\xe8\xb5\xe0" , "\x55\x76\x73\x4b" } , { "\xbf\xe8\xb5\xe1" , "\x55\x76\x74\x4b" } , { "\xbf\xe8\xb5\xe5\xa2" , "\x55\x76\x74\x4b\x6d\x77" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\x55\x76\x7b\x4b\x6d" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\x55\x76\xa5\x6d" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\x55\x76\x73\x73\xa5" } , { "\xbf\xe8\xb6" , "\x55\x76\x4c" } , { "\xbf\xe8\xb8" , "\x55\x76\x4e" } , { "\xbf\xe8\xb8\xda" , "\x55\x76\x4e\x6d" } , { "\xbf\xe8\xb8\xda\xa2" , "\x55\x76\x4e\x6d\x77" } , { "\xbf\xe8\xb8\xdb" , "\x55\x76\x4e\x6e" } , { "\xbf\xe8\xb8\xdb\xa2" , "\x55\x76\x4e\x6e\x77" } , { "\xbf\xe8\xb8\xdc" , "\x55\x76\x4e\x6f" } , { "\xbf\xe8\xb8\xdd" , "\x55\x76\x4e\x70" } , { "\xbf\xe8\xb8\xe0" , "\x55\x76\x73\x4e" } , { "\xbf\xe8\xb8\xe1" , "\x55\x76\x74\x4e" } , { "\xbf\xe8\xb8\xe1\xa2" , "\x55\x76\x74\x4e\x77" } , { "\xbf\xe8\xb9\xda\xa2" , "\x55\x76\x4f\x6d\x77" } , { "\xbf\xe8\xba" , "\x55\x76\x50" } , { "\xbf\xe8\xba\xa2" , "\x55\x76\x50\x77" } , { "\xbf\xe8\xba\xda" , "\x55\x76\x50\x6d" } , { "\xbf\xe8\xba\xdb" , "\x55\x76\x50\x6e" } , { "\xbf\xe8\xba\xdb\xa2" , "\x55\x76\x50\x6e\x77" } , { "\xbf\xe8\xba\xdc" , "\x55\x76\x50\x6f" } , { "\xbf\xe8\xba\xdd" , "\x55\x76\x50\x70" } , { "\xbf\xe8\xba\xe0" , "\x55\x76\x73\x50" } , { "\xbf\xe8\xba\xe1" , "\x55\x76\x74\x50" } , { "\xbf\xe8\xba\xe2" , "\x55\x76\x73\x73\x50" } , { "\xbf\xe8\xba\xe5" , "\x55\x76\x74\x50\x6d" } , { "\xbf\xe8\xba\xe8" , "\x55\x76\x50\x76" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\x55\x76\x50\x76\x49\x6e" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x55\x76\x50\x76\x4b\x6d" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\x55\x76\x50\x76\x5c\x6e" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\x55\x76\x50\x76\x5c\x70" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\x55\x76\x50\x76\x5c\x76" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\x55\x76\x50\x76\x73\x61\x77" } , { "\xbf\xe8\xba\xe8\xcd" , "\x55\x76\x50\x79" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x55\x76\x50\x79\x6d" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x55\x76\x50\x79\x71" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\x55\x76\x50\x76\x74\x65\x6d" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\x55\x76\x50\x7a\x6e" } , { "\xbf\xe8\xba\xe9" , "\x55\x76\x50" } , { "\xbf\xe8\xbc" , "\x55\x76\x52" } , { "\xbf\xe8\xbd" , "\x55\x76\x53" } , { "\xbf\xe8\xbd\xa2" , "\x55\x76\x53\x77" } , { "\xbf\xe8\xbd\xda\xa2" , "\x55\x76\x53\x6d\x77" } , { "\xbf\xe8\xbd\xdb" , "\x55\x76\x53\x6e" } , { "\xbf\xe8\xbd\xdd" , "\x55\x76\x53\x70" } , { "\xbf\xe8\xbd\xe0" , "\x55\x76\x73\x53" } , { "\xbf\xe8\xbd\xe1" , "\x55\x76\x74\x53" } , { "\xbf\xe8\xbd\xe8" , "\x55\x76\x53\x76" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\x55\x76\x7b\x53\x77" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\x55\x76\x7b\x53\x6d" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\x55\x76\x73\x73\x7b\x53" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x55\x76\x53\x76\x6b" } , { "\xbf\xe8\xbf" , "\xcd" } , { "\xbf\xe8\xbf\xa2" , "\xcd\x77" } , { "\xbf\xe8\xbf\xa3" , "\xcd\x78" } , { "\xbf\xe8\xbf\xda" , "\xcd\x6d" } , { "\xbf\xe8\xbf\xda\xa2" , "\xcd\x6d\x77" } , { "\xbf\xe8\xbf\xdb" , "\xcd\x6e" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xcd\x6e\x77" } , { "\xbf\xe8\xbf\xdc" , "\xcd\x6f" } , { "\xbf\xe8\xbf\xdd" , "\xcd\x70" } , { "\xbf\xe8\xbf\xdd\xa2" , "\xcd\x70\x77" } , { "\xbf\xe8\xbf\xde" , "\xcd\x71" } , { "\xbf\xe8\xbf\xe0" , "\x73\xcd" } , { "\xbf\xe8\xbf\xe1" , "\x74\xcd" } , { "\xbf\xe8\xbf\xe2" , "\x73\x73\xcd" } , { "\xbf\xe8\xbf\xe4" , "\x73\xcd\x6d" } , { "\xbf\xe8\xbf\xe5" , "\x74\xcd\x6d" } , { "\xbf\xe8\xbf\xe5\xa2" , "\x74\xcd\x6d\x77" } , { "\xbf\xe8\xbf\xe8" , "\xcd\x76" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\xcd\x76\x49\x70" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\xcd\x76\x55\x6e" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\xcd\x76\x65\x70" } , { "\xbf\xe8\xbf\xe9\xdc" , "\x55\x76\x55\x6f" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\x55\x76\x74\x55\x6d\x77" } , { "\xbf\xe8\xc0" , "\x55\x76\x56" } , { "\xbf\xe8\xc0\xa2" , "\x55\x76\x56\x77" } , { "\xbf\xe8\xc0\xda" , "\x55\x76\x56\x6d" } , { "\xbf\xe8\xc0\xdc" , "\x55\x76\x56\x6f" } , { "\xbf\xe8\xc0\xdd" , "\x55\x76\x56\x70" } , { "\xbf\xe8\xc0\xe1" , "\x55\x76\x74\x56" } , { "\xbf\xe8\xc0\xe5\xa2" , "\x55\x76\x74\x56\x6d\x77" } , { "\xbf\xe8\xc0\xe9\xda" , "\x55\x76\x56\x6d" } , { "\xbf\xe8\xc0\xe9\xe1" , "\x55\x76\x74\x56" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\x55\x76\x74\x56\x6d\x77" } , { "\xbf\xe8\xc1" , "\x55\x76\x57" } , { "\xbf\xe8\xc2" , "\x55\x76\x58" } , { "\xbf\xe8\xc2\xa2" , "\x55\x76\x58\x77" } , { "\xbf\xe8\xc2\xda" , "\x55\x76\x58\x6d" } , { "\xbf\xe8\xc2\xdb" , "\x55\x76\x58\x6e" } , { "\xbf\xe8\xc2\xdd" , "\x55\x76\x58\x70" } , { "\xbf\xe8\xc2\xdd\xa2" , "\x55\x76\x58\x70\x77" } , { "\xbf\xe8\xc2\xde" , "\x55\x76\x58\x71" } , { "\xbf\xe8\xc2\xde\xa2" , "\x55\x76\x58\x71\x77" } , { "\xbf\xe8\xc2\xe0" , "\x55\x76\x73\x58" } , { "\xbf\xe8\xc2\xe1" , "\x55\x76\x74\x58" } , { "\xbf\xe8\xc2\xe5" , "\x55\x76\x74\x58\x6d" } , { "\xbf\xe8\xc2\xe5\xa2" , "\x55\x76\x74\x58\x6d\x77" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\x55\x76\x73\x73\x7b\x58" } , { "\xbf\xe8\xc4\xda" , "\x55\x76\x5a\x6d" } , { "\xbf\xe8\xc4\xdb" , "\x55\x76\x5a\x6e" } , { "\xbf\xe8\xc4\xdd" , "\x55\x76\x5a\x70" } , { "\xbf\xe8\xc4\xe0" , "\x55\x76\x73\x5a" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x55\x76\x5a\x7a\x6d" } , { "\xbf\xe8\xc5" , "\x55\x76\x5b" } , { "\xbf\xe8\xc6" , "\x55\x76\x5c" } , { "\xbf\xe8\xc6\xa2" , "\x55\x76\x5c\x77" } , { "\xbf\xe8\xc6\xda" , "\x55\x76\x5c\x6d" } , { "\xbf\xe8\xc6\xdb" , "\x55\x76\x5c\x6e" } , { "\xbf\xe8\xc6\xdb\xa2" , "\x55\x76\x5c\x6e\x77" } , { "\xbf\xe8\xc6\xdc" , "\x55\x76\x5c\x6f" } , { "\xbf\xe8\xc6\xdd" , "\x55\x76\x5c\x70" } , { "\xbf\xe8\xc6\xdd\xa2" , "\x55\x76\x5c\x70\x77" } , { "\xbf\xe8\xc6\xe0" , "\x55\x76\x73\x5c" } , { "\xbf\xe8\xc6\xe1" , "\x55\x76\x74\x5c" } , { "\xbf\xe8\xc6\xe2" , "\x55\x76\x73\x73\x5c" } , { "\xbf\xe8\xc6\xe5" , "\x55\x76\x74\x5c\x6d" } , { "\xbf\xe8\xc6\xe6" , "\x55\x76\x5c\x75" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\x55\x76\xb4\x77" } , { "\xbf\xe8\xc8" , "\x55\x76\x5d" } , { "\xbf\xe8\xc8\xa2" , "\x55\x76\x5d\x77" } , { "\xbf\xe8\xc8\xda" , "\x55\x76\x5d\x6d" } , { "\xbf\xe8\xc8\xdb\xa2" , "\x55\x76\x5d\x6e\x77" } , { "\xbf\xe8\xc8\xdd" , "\x55\x76\x5d\x70" } , { "\xbf\xe8\xc8\xde" , "\x55\x76\x5d\x71" } , { "\xbf\xe8\xc8\xe2" , "\x55\x76\x73\x73\x5d" } , { "\xbf\xe8\xc8\xe4" , "\x55\x76\x73\x5d\x6d" } , { "\xbf\xe8\xc8\xe5" , "\x55\x76\x74\x5d\x6d" } , { "\xbf\xe8\xc8\xe8\xcf" , "\x55\x76\x7b\x5d" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\x55\x76\x7b\x5d\x6e" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\x55\x76\x7b\x5d\x71" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\x55\x76\x73\x7b\x5d" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\x55\x76\xb9\x6d" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\x55\x76\x74\xb9" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\x55\x76\x74\xb9\x6d" } , { "\xbf\xe8\xc9\xda" , "\x55\x76\x5e\x6d" } , { "\xbf\xe8\xc9\xdb" , "\x55\x76\x5e\x6e" } , { "\xbf\xe8\xc9\xdc" , "\x55\x76\x5e\x6f" } , { "\xbf\xe8\xc9\xdd" , "\x55\x76\x5e\x70" } , { "\xbf\xe8\xc9\xe0" , "\x55\x76\x73\x5e" } , { "\xbf\xe8\xc9\xe2" , "\x55\x76\x73\x73\x5e" } , { "\xbf\xe8\xc9\xe5" , "\x55\x76\x74\x5e\x6d" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\x55\x76\x7b\x5e\x6f" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\x55\x76\x5e\x76\x74\x65\x6d" } , { "\xbf\xe8\xca" , "\x55\x76\x5f" } , { "\xbf\xe8\xca\xa2" , "\x55\x76\x5f\x77" } , { "\xbf\xe8\xca\xda" , "\x55\x76\x5f\x6d" } , { "\xbf\xe8\xca\xdb" , "\x55\x76\x5f\x6e" } , { "\xbf\xe8\xca\xdc" , "\x55\x76\x5f\x6f" } , { "\xbf\xe8\xca\xdd" , "\x55\x76\x5f\x70" } , { "\xbf\xe8\xca\xe0" , "\x55\x76\x73\x5f" } , { "\xbf\xe8\xca\xe2" , "\x55\x76\x73\x73\x5f" } , { "\xbf\xe8\xca\xe5" , "\x55\x76\x74\x5f\x6d" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\x55\x76\xba\x6f" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x55\x76\x5f\x79\x6d" } , { "\xbf\xe8\xca\xe8\xcf" , "\x55\x76\x7b\x5f" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\x55\x76\x73\x7b\x5f" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\x55\x76\xbb\x79\x71" } , { "\xbf\xe8\xcb\xda" , "\x55\x76\x60\x6d" } , { "\xbf\xe8\xcb\xdd" , "\x55\x76\x60\x70" } , { "\xbf\xe8\xcc" , "\x55\x76\x61" } , { "\xbf\xe8\xcc\xa2" , "\x55\x76\x61\x77" } , { "\xbf\xe8\xcc\xda" , "\x55\x76\x61\x6d" } , { "\xbf\xe8\xcc\xdb" , "\x55\x76\x61\x6e" } , { "\xbf\xe8\xcc\xdb\xa2" , "\x55\x76\x61\x6e\x77" } , { "\xbf\xe8\xcc\xdc" , "\x55\x76\x61\x6f" } , { "\xbf\xe8\xcc\xdd" , "\x55\x76\x61\x70" } , { "\xbf\xe8\xcc\xe0\xa2" , "\x55\x76\x73\x61\x77" } , { "\xbf\xe8\xcc\xe4" , "\x55\x76\x73\x61\x6d" } , { "\xbf\xe8\xcc\xe5" , "\x55\x76\x74\x61\x6d" } , { "\xbf\xe8\xcd" , "\x55\x79" } , { "\xbf\xe8\xcd\xa2" , "\x55\x79\x77" } , { "\xbf\xe8\xcd\xda" , "\x55\x79\x6d" } , { "\xbf\xe8\xcd\xda\xa2" , "\x55\x79\x6d\x77" } , { "\xbf\xe8\xcd\xdb" , "\x55\x79\x6e" } , { "\xbf\xe8\xcd\xdd" , "\x55\x79\x70" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x55\x79\x70\x77" } , { "\xbf\xe8\xcd\xde" , "\x55\x79\x71" } , { "\xbf\xe8\xcd\xe0" , "\x73\x55\x79" } , { "\xbf\xe8\xcd\xe1" , "\x74\x55\x79" } , { "\xbf\xe8\xcd\xe5" , "\x74\x55\x79\x6d" } , { "\xbf\xe8\xcd\xe5\xa2" , "\x74\x55\x79\x6d\x77" } , { "\xbf\xe8\xcd\xe6" , "\x55\x79\x75" } , { "\xbf\xe8\xcf" , "\x7b\x55" } , { "\xbf\xe8\xcf\xa2" , "\x7b\x55\x77" } , { "\xbf\xe8\xcf\xda" , "\x7b\x55\x6d" } , { "\xbf\xe8\xcf\xda\xa2" , "\x7b\x55\x6d\x77" } , { "\xbf\xe8\xcf\xdb" , "\x7b\x55\x6e" } , { "\xbf\xe8\xcf\xdb\xa2" , "\x7b\x55\x6e\x77" } , { "\xbf\xe8\xcf\xdc" , "\x7b\x55\x6f" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x7b\x55\x6f\x77" } , { "\xbf\xe8\xcf\xdd" , "\x7b\x55\x70" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x7b\x55\x70\x77" } , { "\xbf\xe8\xcf\xde" , "\x7b\x55\x71" } , { "\xbf\xe8\xcf\xde\xa2" , "\x7b\x55\x71\x77" } , { "\xbf\xe8\xcf\xe0" , "\x73\x7b\x55" } , { "\xbf\xe8\xcf\xe0\xa2" , "\x73\x7b\x55\x77" } , { "\xbf\xe8\xcf\xe1" , "\x74\x7b\x55" } , { "\xbf\xe8\xcf\xe1\xa2" , "\x74\x7b\x55\x77" } , { "\xbf\xe8\xcf\xe2" , "\x73\x73\x7b\x55" } , { "\xbf\xe8\xcf\xe4" , "\x73\x7b\x55\x6d" } , { "\xbf\xe8\xcf\xe5" , "\x74\x7b\x55\x6d" } , { "\xbf\xe8\xcf\xe6" , "\x7b\x55\x75" } , { "\xbf\xe8\xcf\xe7" , "\x74\x7b\x55\x6d" } , { "\xbf\xe8\xcf\xe8\xca" , "\x55\x76\x63\x76\x5f" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x7b\x55\x79\x6d" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x7b\x55\x7a\x6d" } , { "\xbf\xe8\xd1" , "\x55\x76\x65" } , { "\xbf\xe8\xd1\xa2" , "\x55\x76\x65\x77" } , { "\xbf\xe8\xd1\xda" , "\x55\x76\x65\x6d" } , { "\xbf\xe8\xd1\xda\xa2" , "\x55\x76\x65\x6d\x77" } , { "\xbf\xe8\xd1\xdb" , "\x55\x76\x65\x6e" } , { "\xbf\xe8\xd1\xdb\xa2" , "\x55\x76\x65\x6e\x77" } , { "\xbf\xe8\xd1\xdc" , "\x55\x76\x65\x6f" } , { "\xbf\xe8\xd1\xdd" , "\x55\x76\x65\x70" } , { "\xbf\xe8\xd1\xdd\xa2" , "\x55\x76\x65\x70\x77" } , { "\xbf\xe8\xd1\xde" , "\x55\x76\x65\x71" } , { "\xbf\xe8\xd1\xe0" , "\x55\x76\x73\x65" } , { "\xbf\xe8\xd1\xe0\xa2" , "\x55\x76\x73\x65\x77" } , { "\xbf\xe8\xd1\xe1" , "\x55\x76\x74\x65" } , { "\xbf\xe8\xd1\xe2" , "\x55\x76\x73\x73\x65" } , { "\xbf\xe8\xd1\xe4" , "\x55\x76\x73\x65\x6d" } , { "\xbf\xe8\xd1\xe5" , "\x55\x76\x74\x65\x6d" } , { "\xbf\xe8\xd1\xe8" , "\x55\x76\x65\x76" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\x55\x76\x74\xc3\x6d" } , { "\xbf\xe8\xd4" , "\x55\x7a" } , { "\xbf\xe8\xd4\xa2" , "\x55\x7a\x77" } , { "\xbf\xe8\xd4\xda" , "\x55\x7a\x6d" } , { "\xbf\xe8\xd4\xda\xa2" , "\x55\x7a\x6d\x77" } , { "\xbf\xe8\xd4\xdb" , "\x55\x7a\x6e" } , { "\xbf\xe8\xd4\xdb\xa2" , "\x55\x7a\x6e\x77" } , { "\xbf\xe8\xd4\xdc" , "\x55\x7a\x6f" } , { "\xbf\xe8\xd4\xdd" , "\x55\x7a\x70" } , { "\xbf\xe8\xd4\xe0" , "\x73\x55\x7a" } , { "\xbf\xe8\xd4\xe0\xa2" , "\x73\x55\x7a\x77" } , { "\xbf\xe8\xd4\xe1" , "\x74\x55\x7a" } , { "\xbf\xe8\xd4\xe2" , "\x73\x73\x55\x7a" } , { "\xbf\xe8\xd5" , "\x55\x76\x69" } , { "\xbf\xe8\xd5\xda" , "\x55\x76\x69\x6d" } , { "\xbf\xe8\xd6" , "\x55\x76\x6a" } , { "\xbf\xe8\xd6\xdb" , "\x55\x76\x6a\x6e" } , { "\xbf\xe8\xd6\xdc" , "\x55\x76\x6a\x6f" } , { "\xbf\xe8\xd6\xe5" , "\x55\x76\x74\x6a\x6d" } , { "\xbf\xe8\xd7" , "\x55\x76\x6b" } , { "\xbf\xe8\xd7\xa2" , "\x55\x76\x6b\x77" } , { "\xbf\xe8\xd7\xda" , "\x55\x76\x6b\x6d" } , { "\xbf\xe8\xd7\xdb" , "\x55\x76\x6b\x6e" } , { "\xbf\xe8\xd7\xdc" , "\x55\x76\x6b\x6f" } , { "\xbf\xe8\xd7\xdd" , "\x55\x76\x6b\x70" } , { "\xbf\xe8\xd7\xde" , "\x55\x76\x6b\x71" } , { "\xbf\xe8\xd7\xe1" , "\x55\x76\x74\x6b" } , { "\xbf\xe8\xd7\xe4" , "\x55\x76\x73\x6b\x6d" } , { "\xbf\xe8\xd7\xe8" , "\x55\x76\x6b\x76" } , { "\xbf\xe8\xd7\xe8\xb3" , "\x55\x76\x6b\x76\x49" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\x55\x76\x6b\x76\x49\x6d" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\x55\x76\x6b\x76\x49\x6e" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\x55\x76\x6b\x76\x49\x70" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\x55\x76\x6b\x76\x74\x49" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x55\x76\x6b\x76\x74\x53" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\x55\x76\x6b\x76\x55\x6e" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\x55\x76\x6b\x76\x74\x58\x6d" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\x55\x76\x6b\x76\x5c\x6e" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\x55\x76\x6b\x76\x5c\x70" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\x55\x76\x6b\x76\x5d\x6d" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\x55\x76\x6b\x76\x5d\x6f" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\x55\x76\x6b\x76\x5f\x77" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\x55\x76\x6b\x76\x61\x6e" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\x55\x76\x74\xc9\x6d" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x55\x76\x6b\x7a" } , { "\xbf\xe8\xd8\xda" , "\x55\x76\x6c\x6d" } , { "\xbf\xe8\xd8\xda\xa2" , "\x55\x76\x6c\x6d\x77" } , { "\xbf\xe8\xd8\xdb" , "\x55\x76\x6c\x6e" } , { "\xbf\xe8\xd8\xe0" , "\x55\x76\x73\x6c" } , { "\xbf\xe8\xd8\xe2" , "\x55\x76\x73\x73\x6c" } , { "\xbf\xe8\xd8\xe5" , "\x55\x76\x74\x6c\x6d" } , { "\xbf\xe8\xd9\xa7" , "\x55\x76\x43\x75" } , { "\xbf\xe8\xd9\xcd\xde" , "\x55\x76\x62\x71" } , { "\xbf\xe8\xd9\xcf" , "\x55\x76\x63" } , { "\xbf\xe8\xe8" , "\x55\x76" } , { "\xbf\xe9" , "\x55" } , { "\xbf\xe9\xa1" , "\x55\x77" } , { "\xbf\xe9\xa2" , "\x55\x77" } , { "\xbf\xe9\xc2\xda" , "\x55\x58\x6d" } , { "\xbf\xe9\xc2\xdc" , "\x55\x58\x6f" } , { "\xbf\xe9\xda" , "\x55\x6d" } , { "\xbf\xe9\xda\xa1" , "\x55\x6d\x77" } , { "\xbf\xe9\xda\xa2" , "\x55\x6d\x77" } , { "\xbf\xe9\xdb" , "\x55\x6e" } , { "\xbf\xe9\xdc" , "\x55\x6f" } , { "\xbf\xe9\xdc\xa2" , "\x55\x6f\x77" } , { "\xbf\xe9\xdd" , "\x55\x70" } , { "\xbf\xe9\xde" , "\x55\x71" } , { "\xbf\xe9\xde\xa1" , "\x55\x71\x77" } , { "\xbf\xe9\xde\xa2" , "\x55\x71\x77" } , { "\xbf\xe9\xe1" , "\x74\x55" } , { "\xbf\xe9\xe1\xa2" , "\x74\x55\x77" } , { "\xbf\xe9\xe2" , "\x73\x73\x55" } , { "\xbf\xe9\xe2\xa2" , "\x73\x73\x55\x77" } , { "\xbf\xe9\xe5" , "\x74\x55\x6d" } , { "\xbf\xe9\xe5\xa2" , "\x74\x55\x6d\x77" } , { "\xbf\xe9\xe6" , "\x55\x75" } , { "\xbf\xe9\xe6\xa2" , "\x55\x75\x77" } , { "\xbf\xe9\xe8" , "\x55\x76" } , { "\xbf\xe9\xe8\xb3" , "\x55\x76\x49" } , { "\xbf\xe9\xe8\xb3\xda" , "\x55\x76\x49\x6d" } , { "\xbf\xe9\xe8\xb5" , "\x55\x76\x4b" } , { "\xbf\xe9\xe8\xb5\xda" , "\x55\x76\x4b\x6d" } , { "\xbf\xe9\xe8\xbf\xda" , "\x55\x76\x55\x6d" } , { "\xbf\xe9\xe8\xbf\xdb" , "\x55\x76\x55\x6e" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x55\x76\x55\x6f" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x55\x76\x74\x55" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x55\x76\x74\x56" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x55\x76\x58\x70" } , { "\xbf\xe9\xe8\xcc" , "\x55\x76\x61" } , { "\xc0" , "\x56" } , { "\xc0\xa1" , "\x56\x77" } , { "\xc0\xa2" , "\x56\x77" } , { "\xc0\xa3" , "\x56\x78" } , { "\xc0\xda" , "\x56\x6d" } , { "\xc0\xda\xa1" , "\x56\x6d\x77" } , { "\xc0\xda\xa2" , "\x56\x6d\x77" } , { "\xc0\xdb" , "\x56\x6e" } , { "\xc0\xdb\xa2" , "\x56\x6e\x77" } , { "\xc0\xdc" , "\x56\x6f" } , { "\xc0\xdc\xa2" , "\x56\x6f\x77" } , { "\xc0\xdd" , "\x56\x70" } , { "\xc0\xdd\xa1" , "\x56\x70\x77" } , { "\xc0\xdd\xa2" , "\x56\x70\x77" } , { "\xc0\xde" , "\x56\x71" } , { "\xc0\xde\xa1" , "\x56\x71\x77" } , { "\xc0\xde\xa2" , "\x56\x71\x77" } , { "\xc0\xdf" , "\x56\x72" } , { "\xc0\xe0" , "\x73\x56" } , { "\xc0\xe1" , "\x74\x56" } , { "\xc0\xe1\xa2" , "\x74\x56\x77" } , { "\xc0\xe2" , "\x73\x73\x56" } , { "\xc0\xe2\xa3" , "\x73\x73\x56\x78" } , { "\xc0\xe4" , "\x73\x56\x6d" } , { "\xc0\xe5" , "\x74\x56\x6d" } , { "\xc0\xe5\xa2" , "\x74\x56\x6d\x77" } , { "\xc0\xe6" , "\x56\x75" } , { "\xc0\xe6\xa2" , "\x56\x75\x77" } , { "\xc0\xe8" , "\x56\x76" } , { "\xc0\xe8\xbf\xe1" , "\x56\x76\x74\x55" } , { "\xc0\xe8\xc0\xda" , "\x56\x76\x56\x6d" } , { "\xc0\xe8\xc0\xdc" , "\x56\x76\x56\x6f" } , { "\xc0\xe8\xc0\xe1" , "\x56\x76\x74\x56" } , { "\xc0\xe8\xc0\xe9" , "\x56\x76\x56" } , { "\xc0\xe8\xc0\xe9\xda" , "\x56\x76\x56\x6d" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x56\x76\x74\x56" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x56\x76\x74\x56\x6d\x77" } , { "\xc0\xe8\xc9\xe5" , "\x56\x76\x74\x5e\x6d" } , { "\xc0\xe8\xcd" , "\x56\x79" } , { "\xc0\xe8\xcd\xa2" , "\x56\x79\x77" } , { "\xc0\xe8\xcd\xda" , "\x56\x79\x6d" } , { "\xc0\xe8\xcd\xdd" , "\x56\x79\x70" } , { "\xc0\xe8\xcd\xe5\xa2" , "\x74\x56\x79\x6d\x77" } , { "\xc0\xe8\xcf" , "\x7b\x56" } , { "\xc0\xe8\xcf\xa2" , "\x7b\x56\x77" } , { "\xc0\xe8\xcf\xda" , "\x7b\x56\x6d" } , { "\xc0\xe8\xcf\xdc" , "\x7b\x56\x6f" } , { "\xc0\xe8\xd1\xe5" , "\x56\x76\x74\x65\x6d" } , { "\xc0\xe8\xe8" , "\x56\x76" } , { "\xc0\xe9" , "\x56" } , { "\xc0\xe9\xa1" , "\x56\x77" } , { "\xc0\xe9\xa2" , "\x56\x77" } , { "\xc0\xe9\xc2\xdc" , "\x56\x58\x6f" } , { "\xc0\xe9\xc6\xe1" , "\x56\x74\x5c" } , { "\xc0\xe9\xda" , "\x56\x6d" } , { "\xc0\xe9\xda\xa1" , "\x56\x6d\x77" } , { "\xc0\xe9\xda\xa2" , "\x56\x6d\x77" } , { "\xc0\xe9\xdb" , "\x56\x6e" } , { "\xc0\xe9\xdb\xa2" , "\x56\x6e\x77" } , { "\xc0\xe9\xdc" , "\x56\x6f" } , { "\xc0\xe9\xdc\xa2" , "\x56\x6f\x77" } , { "\xc0\xe9\xdd" , "\x56\x70" } , { "\xc0\xe9\xde" , "\x56\x71" } , { "\xc0\xe9\xde\xa1" , "\x56\x71\x77" } , { "\xc0\xe9\xde\xa2" , "\x56\x71\x77" } , { "\xc0\xe9\xe1" , "\x74\x56" } , { "\xc0\xe9\xe1\xa2" , "\x74\x56\x77" } , { "\xc0\xe9\xe2" , "\x73\x73\x56" } , { "\xc0\xe9\xe5" , "\x74\x56\x6d" } , { "\xc0\xe9\xe5\xa2" , "\x74\x56\x6d\x77" } , { "\xc0\xe9\xe6" , "\x56\x75" } , { "\xc0\xe9\xe8\xcd" , "\xa9\x79" } , { "\xc1" , "\x57" } , { "\xc1\xa1" , "\x57\x77" } , { "\xc1\xa1\xa1" , "\x57\x77\x77" } , { "\xc1\xa2" , "\x57\x77" } , { "\xc1\xa3" , "\x57\x78" } , { "\xc1\xda" , "\x57\x6d" } , { "\xc1\xda\xa2" , "\x57\x6d\x77" } , { "\xc1\xda\xa3" , "\x57\x6d\x78" } , { "\xc1\xdb" , "\x57\x6e" } , { "\xc1\xdb\xa2" , "\x57\x6e\x77" } , { "\xc1\xdb\xa3" , "\x57\x6e\x78" } , { "\xc1\xdc" , "\x57\x6f" } , { "\xc1\xdc\xa2" , "\x57\x6f\x77" } , { "\xc1\xdd" , "\x57\x70" } , { "\xc1\xdd\xa2" , "\x57\x70\x77" } , { "\xc1\xde" , "\x57\x71" } , { "\xc1\xde\xa2" , "\x57\x71\x77" } , { "\xc1\xdf" , "\x57\x72" } , { "\xc1\xe0" , "\x73\x57" } , { "\xc1\xe0\xa2" , "\x73\x57\x77" } , { "\xc1\xe1" , "\x74\x57" } , { "\xc1\xe1\xa2" , "\x74\x57\x77" } , { "\xc1\xe2" , "\x73\x73\x57" } , { "\xc1\xe2\xa2" , "\x73\x73\x57\x77" } , { "\xc1\xe2\xa3" , "\x73\x73\x57\x78" } , { "\xc1\xe4" , "\x73\x57\x6d" } , { "\xc1\xe5" , "\x74\x57\x6d" } , { "\xc1\xe5\xa2" , "\x74\x57\x6d\x77" } , { "\xc1\xe6" , "\x57\x75" } , { "\xc1\xe8" , "\x57\x76" } , { "\xc1\xe8\xb3\xdd" , "\x57\x76\x49\x70" } , { "\xc1\xe8\xb3\xe1" , "\x57\x76\x74\x49" } , { "\xc1\xe8\xb5\xda" , "\x57\x76\x4b\x6d" } , { "\xc1\xe8\xba\xda" , "\x57\x76\x50\x6d" } , { "\xc1\xe8\xba\xe5\xa2" , "\x57\x76\x74\x50\x6d\x77" } , { "\xc1\xe8\xbd" , "\xad" } , { "\xc1\xe8\xbd\xda" , "\xad\x6d" } , { "\xc1\xe8\xbd\xdb" , "\xad\x6e" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xad\x6e\x77" } , { "\xc1\xe8\xbd\xdc" , "\xad\x6f" } , { "\xc1\xe8\xbd\xdd" , "\xad\x70" } , { "\xc1\xe8\xbd\xde" , "\xad\x71" } , { "\xc1\xe8\xbd\xe1" , "\x74\xad" } , { "\xc1\xe8\xbd\xe1\xa2" , "\x74\xad\x77" } , { "\xc1\xe8\xbd\xe5" , "\x74\xad\x6d" } , { "\xc1\xe8\xbd\xe5\xa2" , "\x74\xad\x6d\x77" } , { "\xc1\xe8\xbd\xe8\xcf" , "\x7b\xad" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\x7b\xad\x6f" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\x74\x7b\xad\x6d" } , { "\xc1\xe8\xbd\xe8\xd7" , "\xad\x76\x6b" } , { "\xc1\xe8\xbe" , "\x57\x76\x54" } , { "\xc1\xe8\xbe\xa2" , "\x57\x76\x54\x77" } , { "\xc1\xe8\xbe\xda" , "\x57\x76\x54\x6d" } , { "\xc1\xe8\xbe\xdb" , "\x57\x76\x54\x6e" } , { "\xc1\xe8\xbe\xdc" , "\x57\x76\x54\x6f" } , { "\xc1\xe8\xbe\xe1" , "\x57\x76\x74\x54" } , { "\xc1\xe8\xbe\xe5" , "\x57\x76\x74\x54\x6d" } , { "\xc1\xe8\xbe\xe5\xa2" , "\x57\x76\x74\x54\x6d\x77" } , { "\xc1\xe8\xbf" , "\x57\x76\x55" } , { "\xc1\xe8\xbf\xa2" , "\x57\x76\x55\x77" } , { "\xc1\xe8\xbf\xda" , "\x57\x76\x55\x6d" } , { "\xc1\xe8\xbf\xda\xa2" , "\x57\x76\x55\x6d\x77" } , { "\xc1\xe8\xbf\xdb" , "\x57\x76\x55\x6e" } , { "\xc1\xe8\xbf\xdb\xa2" , "\x57\x76\x55\x6e\x77" } , { "\xc1\xe8\xbf\xdc" , "\x57\x76\x55\x6f" } , { "\xc1\xe8\xbf\xdd" , "\x57\x76\x55\x70" } , { "\xc1\xe8\xbf\xde" , "\x57\x76\x55\x71" } , { "\xc1\xe8\xbf\xe1" , "\x57\x76\x74\x55" } , { "\xc1\xe8\xbf\xe1\xa2" , "\x57\x76\x74\x55\x77" } , { "\xc1\xe8\xbf\xe2" , "\x57\x76\x73\x73\x55" } , { "\xc1\xe8\xbf\xe5" , "\x57\x76\x74\x55\x6d" } , { "\xc1\xe8\xbf\xe5\xa2" , "\x57\x76\x74\x55\x6d\x77" } , { "\xc1\xe8\xbf\xe6" , "\x57\x76\x55\x75" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x57\x76\x55\x79" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x57\x76\x55\x79\x6d" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x57\x76\x7b\x55" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x57\x76\x7b\x55\x6d" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\x57\x76\x7b\x55\x6e" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x57\x76\x7b\x55\x6f" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x57\x76\x7b\x55\x71" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\x57\x76\x74\x7b\x55" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\x57\x76\x74\x7b\x55\x6d" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x57\x76\x55\x76\x6b" } , { "\xc1\xe8\xbf\xe9" , "\x57\x76\x55" } , { "\xc1\xe8\xbf\xe9\xda" , "\x57\x76\x55\x6d" } , { "\xc1\xe8\xbf\xe9\xdc" , "\x57\x76\x55\x6f" } , { "\xc1\xe8\xbf\xe9\xe1" , "\x57\x76\x74\x55" } , { "\xc1\xe8\xbf\xe9\xe5" , "\x57\x76\x74\x55\x6d" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\x57\x76\x74\x55\x6d\x77" } , { "\xc1\xe8\xc0" , "\x57\x76\x56" } , { "\xc1\xe8\xc0\xdb" , "\x57\x76\x56\x6e" } , { "\xc1\xe8\xc1" , "\xae" } , { "\xc1\xe8\xc1\xa2" , "\xae\x77" } , { "\xc1\xe8\xc1\xda" , "\xae\x6d" } , { "\xc1\xe8\xc1\xda\xa2" , "\xae\x6d\x77" } , { "\xc1\xe8\xc1\xdb" , "\xae\x6e" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xae\x6e\x77" } , { "\xc1\xe8\xc1\xdc" , "\xae\x6f" } , { "\xc1\xe8\xc1\xdc\xa2" , "\xae\x6f\x77" } , { "\xc1\xe8\xc1\xdd" , "\xae\x70" } , { "\xc1\xe8\xc1\xdd\xa2" , "\xae\x70\x77" } , { "\xc1\xe8\xc1\xde" , "\xae\x71" } , { "\xc1\xe8\xc1\xe0" , "\x73\xae" } , { "\xc1\xe8\xc1\xe0\xa2" , "\x73\xae\x77" } , { "\xc1\xe8\xc1\xe1" , "\x74\xae" } , { "\xc1\xe8\xc1\xe2" , "\x73\x73\xae" } , { "\xc1\xe8\xc1\xe4" , "\x73\xae\x6d" } , { "\xc1\xe8\xc1\xe5" , "\x74\xae\x6d" } , { "\xc1\xe8\xc2\xdb" , "\x57\x76\x58\x6e" } , { "\xc1\xe8\xc2\xe5" , "\x57\x76\x74\x58\x6d" } , { "\xc1\xe8\xc4\xdb" , "\x57\x76\x5a\x6e" } , { "\xc1\xe8\xc4\xdd" , "\x57\x76\x5a\x70" } , { "\xc1\xe8\xc4\xe0" , "\x57\x76\x73\x5a" } , { "\xc1\xe8\xc6" , "\x57\x76\x5c" } , { "\xc1\xe8\xc6\xa2" , "\x57\x76\x5c\x77" } , { "\xc1\xe8\xc6\xda" , "\x57\x76\x5c\x6d" } , { "\xc1\xe8\xc6\xdb" , "\x57\x76\x5c\x6e" } , { "\xc1\xe8\xc6\xdb\xa2" , "\x57\x76\x5c\x6e\x77" } , { "\xc1\xe8\xc6\xdc" , "\x57\x76\x5c\x6f" } , { "\xc1\xe8\xc6\xdd" , "\x57\x76\x5c\x70" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x57\x76\x5c\x70\x77" } , { "\xc1\xe8\xc6\xe0" , "\x57\x76\x73\x5c" } , { "\xc1\xe8\xc6\xe0\xa2" , "\x57\x76\x73\x5c\x77" } , { "\xc1\xe8\xc6\xe1" , "\x57\x76\x74\x5c" } , { "\xc1\xe8\xc6\xe1\xa2" , "\x57\x76\x74\x5c\x77" } , { "\xc1\xe8\xc6\xe5" , "\x57\x76\x74\x5c\x6d" } , { "\xc1\xe8\xc8" , "\x57\x76\x5d" } , { "\xc1\xe8\xc8\xda" , "\x57\x76\x5d\x6d" } , { "\xc1\xe8\xc8\xe8\xcf" , "\x57\x76\x7b\x5d" } , { "\xc1\xe8\xca\xda" , "\x57\x76\x5f\x6d" } , { "\xc1\xe8\xcc" , "\xd7" } , { "\xc1\xe8\xcc\xda" , "\xd7\x6d" } , { "\xc1\xe8\xcc\xdb" , "\xd7\x6e" } , { "\xc1\xe8\xcc\xdc" , "\xd7\x6f" } , { "\xc1\xe8\xcc\xdd" , "\xd7\x70" } , { "\xc1\xe8\xcc\xde" , "\xd7\x71" } , { "\xc1\xe8\xcc\xe0" , "\x73\xd7" } , { "\xc1\xe8\xcc\xe1" , "\x74\xd7" } , { "\xc1\xe8\xcd" , "\x57\x79" } , { "\xc1\xe8\xcd\xa2" , "\x57\x79\x77" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x57\x79\x77\x77" } , { "\xc1\xe8\xcd\xda" , "\x57\x79\x6d" } , { "\xc1\xe8\xcd\xda\xa2" , "\x57\x79\x6d\x77" } , { "\xc1\xe8\xcd\xdc" , "\x57\x79\x6f" } , { "\xc1\xe8\xcd\xdd" , "\x57\x79\x70" } , { "\xc1\xe8\xcd\xde\xa2" , "\x57\x79\x71\x77" } , { "\xc1\xe8\xcd\xe1" , "\x74\x57\x79" } , { "\xc1\xe8\xcd\xe5" , "\x74\x57\x79\x6d" } , { "\xc1\xe8\xcd\xe5\xa2" , "\x74\x57\x79\x6d\x77" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x57\x76\xbf" } , { "\xc1\xe8\xcf\xda" , "\x7b\x57\x6d" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x7b\x57\x79" } , { "\xc1\xe8\xd0\xdd" , "\x57\x76\x64\x70" } , { "\xc1\xe8\xd1" , "\x57\x76\x65" } , { "\xc1\xe8\xd1\xda\xa2" , "\x57\x76\x65\x6d\x77" } , { "\xc1\xe8\xd1\xdd" , "\x57\x76\x65\x70" } , { "\xc1\xe8\xd4" , "\x57\x7a" } , { "\xc1\xe8\xd4\xa2" , "\x57\x7a\x77" } , { "\xc1\xe8\xd4\xda" , "\x57\x7a\x6d" } , { "\xc1\xe8\xd4\xdb" , "\x57\x7a\x6e" } , { "\xc1\xe8\xd4\xdc" , "\x57\x7a\x6f" } , { "\xc1\xe8\xd4\xdd" , "\x57\x7a\x70" } , { "\xc1\xe8\xd4\xe1" , "\x74\x57\x7a" } , { "\xc1\xe8\xd5\xe6" , "\x57\x76\x69\x75" } , { "\xc1\xe8\xd7\xdb\xa2" , "\x57\x76\x6b\x6e\x77" } , { "\xc1\xe8\xd9\xbf\xdb" , "\x57\x76\x55\x6e" } , { "\xc1\xe8\xe8" , "\x57\x76" } , { "\xc1\xe9" , "\x57" } , { "\xc1\xe9\xe8\xbf" , "\x57\x76\x55" } , { "\xc1\xe9\xe8\xbf\xda" , "\x57\x76\x55\x6d" } , { "\xc1\xe9\xe8\xbf\xdb" , "\x57\x76\x55\x6e" } , { "\xc1\xe9\xe8\xbf\xe1" , "\x57\x76\x74\x55" } , { "\xc2" , "\x58" } , { "\xc2\xa1" , "\x58\x77" } , { "\xc2\xa2" , "\x58\x77" } , { "\xc2\xa2\xa2" , "\x58\x77\x77" } , { "\xc2\xa3" , "\x58\x78" } , { "\xc2\xd0\xc6\xda" , "\x58\x64\x5c\x6d" } , { "\xc2\xda" , "\x58\x6d" } , { "\xc2\xda\xa1" , "\x58\x6d\x77" } , { "\xc2\xda\xa2" , "\x58\x6d\x77" } , { "\xc2\xda\xa2\xa2" , "\x58\x6d\x77\x77" } , { "\xc2\xda\xa3" , "\x58\x6d\x78" } , { "\xc2\xdb" , "\x58\x6e" } , { "\xc2\xdb\xa2" , "\x58\x6e\x77" } , { "\xc2\xdb\xa3" , "\x58\x6e\x78" } , { "\xc2\xdc" , "\x58\x6f" } , { "\xc2\xdc\xa2" , "\x58\x6f\x77" } , { "\xc2\xdd" , "\x58\x70" } , { "\xc2\xdd\xa1" , "\x58\x70\x77" } , { "\xc2\xdd\xa2" , "\x58\x70\x77" } , { "\xc2\xdd\xa2\xa2" , "\x58\x70\x77\x77" } , { "\xc2\xdd\xa3" , "\x58\x70\x78" } , { "\xc2\xde" , "\x58\x71" } , { "\xc2\xde\xa1" , "\x58\x71\x77" } , { "\xc2\xde\xa2" , "\x58\x71\x77" } , { "\xc2\xdf" , "\x58\x72" } , { "\xc2\xdf\xa2" , "\x58\x72\x77" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x58\x72\x64\x76\x58\x6e" } , { "\xc2\xe0" , "\x73\x58" } , { "\xc2\xe0\xa2" , "\x73\x58\x77" } , { "\xc2\xe1" , "\x74\x58" } , { "\xc2\xe1\xa2" , "\x74\x58\x77" } , { "\xc2\xe1\xa3" , "\x74\x58\x78" } , { "\xc2\xe2" , "\x73\x73\x58" } , { "\xc2\xe2\xa2" , "\x73\x73\x58\x77" } , { "\xc2\xe2\xa3" , "\x73\x73\x58\x78" } , { "\xc2\xe4" , "\x73\x58\x6d" } , { "\xc2\xe4\xa2" , "\x73\x58\x6d\x77" } , { "\xc2\xe5" , "\x74\x58\x6d" } , { "\xc2\xe5\xa2" , "\x74\x58\x6d\x77" } , { "\xc2\xe5\xa3" , "\x74\x58\x6d\x78" } , { "\xc2\xe6" , "\x58\x75" } , { "\xc2\xe6\xa2" , "\x58\x75\x77" } , { "\xc2\xe7" , "\x74\x58\x6d" } , { "\xc2\xe8" , "\x58\x76" } , { "\xc2\xe8\xb3" , "\x58\x76\x49" } , { "\xc2\xe8\xb3\xa2" , "\x58\x76\x49\x77" } , { "\xc2\xe8\xb3\xda" , "\x58\x76\x49\x6d" } , { "\xc2\xe8\xb3\xda\xa2" , "\x58\x76\x49\x6d\x77" } , { "\xc2\xe8\xb3\xdb" , "\x58\x76\x49\x6e" } , { "\xc2\xe8\xb3\xdb\xa2" , "\x58\x76\x49\x6e\x77" } , { "\xc2\xe8\xb3\xdc" , "\x58\x76\x49\x6f" } , { "\xc2\xe8\xb3\xdd" , "\x58\x76\x49\x70" } , { "\xc2\xe8\xb3\xdd\xa2" , "\x58\x76\x49\x70\x77" } , { "\xc2\xe8\xb3\xde" , "\x58\x76\x49\x71" } , { "\xc2\xe8\xb3\xdf" , "\x58\x76\x49\x72" } , { "\xc2\xe8\xb3\xe0" , "\x58\x76\x73\x49" } , { "\xc2\xe8\xb3\xe1" , "\x58\x76\x74\x49" } , { "\xc2\xe8\xb3\xe1\xa2" , "\x58\x76\x74\x49\x77" } , { "\xc2\xe8\xb3\xe4" , "\x58\x76\x73\x49\x6d" } , { "\xc2\xe8\xb3\xe5" , "\x58\x76\x74\x49\x6d" } , { "\xc2\xe8\xb3\xe8\xc2" , "\x58\x76\xe0" } , { "\xc2\xe8\xb3\xe8\xcf" , "\x58\x76\x7b\x49" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\x58\x76\x7b\x49\x77" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\x58\x76\x7b\x49\x6e" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\x58\x76\x74\x7b\x49\x77" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\x58\x76\x74\x7b\x49\x6d" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\x58\x76\x74\xa2" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\x58\x76\x74\xa2\x6d" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x58\x76\x49\x7a" } , { "\xc2\xe8\xb3\xe8\xd6" , "\x58\x76\xa3" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\x58\x76\xa3\x6e" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\x58\x76\x74\xa3" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\x58\x76\xa3\x76\x53" } , { "\xc2\xe8\xb4" , "\x58\x76\x4a" } , { "\xc2\xe8\xb4\xa2" , "\x58\x76\x4a\x77" } , { "\xc2\xe8\xb4\xda" , "\x58\x76\x4a\x6d" } , { "\xc2\xe8\xb4\xe1" , "\x58\x76\x74\x4a" } , { "\xc2\xe8\xb5\xda" , "\x58\x76\x4b\x6d" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x58\x76\x4b\x76\x6c" } , { "\xc2\xe8\xb8" , "\x58\x76\x4e" } , { "\xc2\xe8\xb8\xda" , "\x58\x76\x4e\x6d" } , { "\xc2\xe8\xb8\xe1" , "\x58\x76\x74\x4e" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x58\x76\xd1" } , { "\xc2\xe8\xba" , "\x58\x76\x50" } , { "\xc2\xe8\xba\xa2" , "\x58\x76\x50\x77" } , { "\xc2\xe8\xba\xdb" , "\x58\x76\x50\x6e" } , { "\xc2\xe8\xba\xe8\xbc" , "\x58\x76\xda" } , { "\xc2\xe8\xba\xe9" , "\x58\x76\x50" } , { "\xc2\xe8\xbd\xe2" , "\x58\x76\x73\x73\x53" } , { "\xc2\xe8\xbf\xdd" , "\x58\x76\x55\x70" } , { "\xc2\xe8\xbf\xe5" , "\x58\x76\x74\x55\x6d" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\x58\x76\x7b\x55\x6d" } , { "\xc2\xe8\xc1" , "\x58\x76\x57" } , { "\xc2\xe8\xc2" , "\xaf" } , { "\xc2\xe8\xc2\xa2" , "\xaf\x77" } , { "\xc2\xe8\xc2\xda" , "\xaf\x6d" } , { "\xc2\xe8\xc2\xda\xa1" , "\xaf\x6d\x77" } , { "\xc2\xe8\xc2\xda\xa2" , "\xaf\x6d\x77" } , { "\xc2\xe8\xc2\xda\xa3" , "\xaf\x6d\x78" } , { "\xc2\xe8\xc2\xdb" , "\xaf\x6e" } , { "\xc2\xe8\xc2\xdb\xa2" , "\xaf\x6e\x77" } , { "\xc2\xe8\xc2\xdb\xa3" , "\xaf\x6e\x78" } , { "\xc2\xe8\xc2\xdc" , "\xaf\x6f" } , { "\xc2\xe8\xc2\xdc\xa2" , "\xaf\x6f\x77" } , { "\xc2\xe8\xc2\xdd" , "\xaf\x70" } , { "\xc2\xe8\xc2\xdd\xa2" , "\xaf\x70\x77" } , { "\xc2\xe8\xc2\xde" , "\xaf\x71" } , { "\xc2\xe8\xc2\xde\xa2" , "\xaf\x71\x77" } , { "\xc2\xe8\xc2\xdf" , "\xaf\x72" } , { "\xc2\xe8\xc2\xe0" , "\x73\xaf" } , { "\xc2\xe8\xc2\xe0\xa2" , "\x73\xaf\x77" } , { "\xc2\xe8\xc2\xe1" , "\x74\xaf" } , { "\xc2\xe8\xc2\xe1\xa2" , "\x74\xaf\x77" } , { "\xc2\xe8\xc2\xe1\xa3" , "\x74\xaf\x78" } , { "\xc2\xe8\xc2\xe2" , "\x73\x73\xaf" } , { "\xc2\xe8\xc2\xe4" , "\x73\xaf\x6d" } , { "\xc2\xe8\xc2\xe5" , "\x74\xaf\x6d" } , { "\xc2\xe8\xc2\xe5\xa2" , "\x74\xaf\x6d\x77" } , { "\xc2\xe8\xc2\xe6" , "\xaf\x75" } , { "\xc2\xe8\xc2\xe8" , "\xaf\x76" } , { "\xc2\xe8\xc2\xe8\xb3" , "\xaf\x76\x49" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\xaf\x76\x49\x6d" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\xaf\x76\xa3" } , { "\xc2\xe8\xc2\xe8\xc2" , "\xaf\x76\x58" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\xaf\x76\x58\x6d" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\xaf\x76\x58\x6e" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\xaf\x76\x74\x58" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\xaf\x76\xaf\x76" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\xaf\x76\x74\x58\x7a\x6d\x77" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\xaf\x76\x59\x6d" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\xaf\x76\x5d\x71" } , { "\xc2\xe8\xc2\xe8\xcc" , "\xaf\x76\x61" } , { "\xc2\xe8\xc2\xe8\xcd" , "\xaf\x79" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\xaf\x79\x77" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\xaf\x79\x6d" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\xaf\x79\x70" } , { "\xc2\xe8\xc2\xe8\xcf" , "\x7b\xaf" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\x7b\xaf\x77" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\x7b\xaf\x6d" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\x7b\xaf\x6e" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\x73\x7b\xaf" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\x73\x73\x7b\xaf" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\x7b\xaf\x79" } , { "\xc2\xe8\xc2\xe8\xd4" , "\xaf\x7a" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\xaf\x7a\x77" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\xaf\x7a\x6d" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\xaf\x7a\x6d\x77" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\xaf\x7a\x6e" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\xaf\x7a\x71" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x74\xaf\x7a\x6d" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x74\xaf\x7a\x6d\x77" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\xaf\x76\x5d" } , { "\xc2\xe8\xc3" , "\xb0" } , { "\xc2\xe8\xc3\xa2" , "\xb0\x77" } , { "\xc2\xe8\xc3\xda" , "\xb0\x6d" } , { "\xc2\xe8\xc3\xdb" , "\xb0\x6e" } , { "\xc2\xe8\xc3\xdc" , "\xb0\x6f" } , { "\xc2\xe8\xc3\xde" , "\xb0\x71" } , { "\xc2\xe8\xc3\xe1" , "\x74\xb0" } , { "\xc2\xe8\xc3\xe5" , "\x74\xb0\x6d" } , { "\xc2\xe8\xc3\xe5\xa2" , "\x74\xb0\x6d\x77" } , { "\xc2\xe8\xc4" , "\x58\x76\x5a" } , { "\xc2\xe8\xc4\xda" , "\x58\x76\x5a\x6d" } , { "\xc2\xe8\xc4\xdd" , "\x58\x76\x5a\x70" } , { "\xc2\xe8\xc4\xe1" , "\x58\x76\x74\x5a" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x58\x76\x73\x73\x5a\x7a" } , { "\xc2\xe8\xc5" , "\x58\x76\x5b" } , { "\xc2\xe8\xc5\xa2" , "\x58\x76\x5b\x77" } , { "\xc2\xe8\xc5\xda" , "\x58\x76\x5b\x6d" } , { "\xc2\xe8\xc5\xda\xa2" , "\x58\x76\x5b\x6d\x77" } , { "\xc2\xe8\xc5\xdb" , "\x58\x76\x5b\x6e" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x58\x76\x5b\x76\x6b" } , { "\xc2\xe8\xc6" , "\x58\x76\x5c" } , { "\xc2\xe8\xc6\xa2" , "\x58\x76\x5c\x77" } , { "\xc2\xe8\xc6\xda" , "\x58\x76\x5c\x6d" } , { "\xc2\xe8\xc6\xda\xa2" , "\x58\x76\x5c\x6d\x77" } , { "\xc2\xe8\xc6\xdb" , "\x58\x76\x5c\x6e" } , { "\xc2\xe8\xc6\xdb\xa2" , "\x58\x76\x5c\x6e\x77" } , { "\xc2\xe8\xc6\xdc" , "\x58\x76\x5c\x6f" } , { "\xc2\xe8\xc6\xdd" , "\x58\x76\x5c\x70" } , { "\xc2\xe8\xc6\xdd\xa2" , "\x58\x76\x5c\x70\x77" } , { "\xc2\xe8\xc6\xe1" , "\x58\x76\x74\x5c" } , { "\xc2\xe8\xc6\xe5" , "\x58\x76\x74\x5c\x6d" } , { "\xc2\xe8\xc6\xe5\xa2" , "\x58\x76\x74\x5c\x6d\x77" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x58\x76\x5c\x79" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x58\x76\x5c\x79\x6d\x78" } , { "\xc2\xe8\xc8" , "\x58\x76\x5d" } , { "\xc2\xe8\xc8\xa2" , "\x58\x76\x5d\x77" } , { "\xc2\xe8\xc8\xda" , "\x58\x76\x5d\x6d" } , { "\xc2\xe8\xc8\xda\xa2" , "\x58\x76\x5d\x6d\x77" } , { "\xc2\xe8\xc8\xdb" , "\x58\x76\x5d\x6e" } , { "\xc2\xe8\xc8\xdb\xa2" , "\x58\x76\x5d\x6e\x77" } , { "\xc2\xe8\xc8\xdc" , "\x58\x76\x5d\x6f" } , { "\xc2\xe8\xc8\xdd" , "\x58\x76\x5d\x70" } , { "\xc2\xe8\xc8\xde" , "\x58\x76\x5d\x71" } , { "\xc2\xe8\xc8\xdf" , "\x58\x76\x5d\x72" } , { "\xc2\xe8\xc8\xe1" , "\x58\x76\x74\x5d" } , { "\xc2\xe8\xc8\xe6" , "\x58\x76\x5d\x75" } , { "\xc2\xe8\xc8\xe8\xc2" , "\x58\x76\x5d\x76\x58" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\x58\x76\x5d\x76\x58\x6e" } , { "\xc2\xe8\xc8\xe8\xcf" , "\x58\x76\x7b\x5d" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\x58\x76\x7b\x5d\x6d" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\x58\x76\x7b\x5d\x6d\x77" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\x58\x76\x7b\x5d\x6e" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\x58\x76\x74\x7b\x5d" } , { "\xc2\xe8\xc8\xe8\xd1" , "\x58\x76\xb9" } , { "\xc2\xe8\xc9" , "\x58\x76\x5e" } , { "\xc2\xe8\xc9\xda" , "\x58\x76\x5e\x6d" } , { "\xc2\xe8\xc9\xdb" , "\x58\x76\x5e\x6e" } , { "\xc2\xe8\xc9\xdd" , "\x58\x76\x5e\x70" } , { "\xc2\xe8\xc9\xe8\xcf" , "\x58\x76\x7b\x5e" } , { "\xc2\xe8\xc9\xe9" , "\x58\x76\x5e" } , { "\xc2\xe8\xca" , "\x58\x76\x5f" } , { "\xc2\xe8\xca\xa2" , "\x58\x76\x5f\x77" } , { "\xc2\xe8\xca\xda" , "\x58\x76\x5f\x6d" } , { "\xc2\xe8\xca\xdb" , "\x58\x76\x5f\x6e" } , { "\xc2\xe8\xca\xdd" , "\x58\x76\x5f\x70" } , { "\xc2\xe8\xca\xe1" , "\x58\x76\x74\x5f" } , { "\xc2\xe8\xca\xe8\xcf" , "\x58\x76\x7b\x5f" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\x58\x76\xbb\x6d" } , { "\xc2\xe8\xcb" , "\xdb" } , { "\xc2\xe8\xcb\xda" , "\xdb\x6d" } , { "\xc2\xe8\xcb\xda\xa2" , "\xdb\x6d\x77" } , { "\xc2\xe8\xcb\xdb" , "\xdb\x6e" } , { "\xc2\xe8\xcb\xdd" , "\xdb\x70" } , { "\xc2\xe8\xcb\xde" , "\xdb\x71" } , { "\xc2\xe8\xcc" , "\xdf" } , { "\xc2\xe8\xcc\xa2" , "\xdf\x77" } , { "\xc2\xe8\xcc\xda" , "\xdf\x6d" } , { "\xc2\xe8\xcc\xdb" , "\xdf\x6e" } , { "\xc2\xe8\xcc\xdc" , "\xdf\x6f" } , { "\xc2\xe8\xcc\xdd" , "\xdf\x70" } , { "\xc2\xe8\xcc\xdd\xa2" , "\xdf\x70\x77" } , { "\xc2\xe8\xcc\xdf" , "\xdf\x72" } , { "\xc2\xe8\xcc\xe1" , "\x74\xdf" } , { "\xc2\xe8\xcc\xe1\xa2" , "\x74\xdf\x77" } , { "\xc2\xe8\xcc\xe2" , "\x73\x73\xdf" } , { "\xc2\xe8\xcc\xe4" , "\x73\xdf\x6d" } , { "\xc2\xe8\xcc\xe5" , "\x74\xdf\x6d" } , { "\xc2\xe8\xcc\xe6" , "\xdf\x75" } , { "\xc2\xe8\xcc\xe8" , "\xdf\x76" } , { "\xc2\xe8\xcc\xe8\xb3" , "\xdf\x76\x49" } , { "\xc2\xe8\xcc\xe8\xca" , "\xdf\x76\x5f" } , { "\xc2\xe8\xcc\xe8\xcd" , "\xdf\x79" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\xdf\x79\x77" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\xdf\x79\x6d" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x74\xdf\x79\x6d\x77" } , { "\xc2\xe8\xcd" , "\x58\x79" } , { "\xc2\xe8\xcd\xa2" , "\x58\x79\x77" } , { "\xc2\xe8\xcd\xda" , "\x58\x79\x6d" } , { "\xc2\xe8\xcd\xda\xa2" , "\x58\x79\x6d\x77" } , { "\xc2\xe8\xcd\xdb" , "\x58\x79\x6e" } , { "\xc2\xe8\xcd\xdc" , "\x58\x79\x6f" } , { "\xc2\xe8\xcd\xdd" , "\x58\x79\x70" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x58\x79\x70\x77" } , { "\xc2\xe8\xcd\xde" , "\x58\x79\x71" } , { "\xc2\xe8\xcd\xe1" , "\x74\x58\x79" } , { "\xc2\xe8\xcd\xe1\xa2" , "\x74\x58\x79\x77" } , { "\xc2\xe8\xcd\xe5" , "\x74\x58\x79\x6d" } , { "\xc2\xe8\xcd\xe5\xa2" , "\x74\x58\x79\x6d\x77" } , { "\xc2\xe8\xcd\xe6" , "\x58\x79\x75" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x58\x76\x62\x76\x58" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x58\x76\x62\x76\x58\x76" } , { "\xc2\xe8\xcd\xe8\xcc" , "\x58\x76\x62\x76\x61" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\x58\x76\x62\x76\x61\x77" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\x58\x76\x62\x76\x61\x6d" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x58\x76\xbf" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x58\x76\xbf\x77" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x58\x76\xbf\x6d" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x58\x76\x74\xbf" } , { "\xc2\xe8\xcd\xe8\xcf" , "\x58\x76\x7b\x62" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\x58\x76\x7b\x62\x77" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\x58\x76\x7b\x62\x78" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\x58\x76\x7b\x62\x6d" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\x58\x76\x74\x7b\x62\x6d" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x58\x76\x62\x76\x6b" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x58\x76\x62\x76\x6b\x78" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x58\x76\x62\x76\x6b\x6d" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x58\x76\x62\x76\x74\x6b\x77" } , { "\xc2\xe8\xcf" , "\x7b\x58" } , { "\xc2\xe8\xcf\xa2" , "\x7b\x58\x77" } , { "\xc2\xe8\xcf\xa3" , "\x7b\x58\x78" } , { "\xc2\xe8\xcf\xda" , "\x7b\x58\x6d" } , { "\xc2\xe8\xcf\xda\xa2" , "\x7b\x58\x6d\x77" } , { "\xc2\xe8\xcf\xdb" , "\x7b\x58\x6e" } , { "\xc2\xe8\xcf\xdb\xa2" , "\x7b\x58\x6e\x77" } , { "\xc2\xe8\xcf\xdb\xa3" , "\x7b\x58\x6e\x78" } , { "\xc2\xe8\xcf\xdc" , "\x7b\x58\x6f" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x7b\x58\x6f\x77" } , { "\xc2\xe8\xcf\xdd" , "\x7b\x58\x70" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x7b\x58\x70\x77" } , { "\xc2\xe8\xcf\xde" , "\x7b\x58\x71" } , { "\xc2\xe8\xcf\xde\xa2" , "\x7b\x58\x71\x77" } , { "\xc2\xe8\xcf\xdf" , "\x7b\x58\x72" } , { "\xc2\xe8\xcf\xe0" , "\x73\x7b\x58" } , { "\xc2\xe8\xcf\xe0\xa2" , "\x73\x7b\x58\x77" } , { "\xc2\xe8\xcf\xe1" , "\x74\x7b\x58" } , { "\xc2\xe8\xcf\xe1\xa2" , "\x74\x7b\x58\x77" } , { "\xc2\xe8\xcf\xe2" , "\x73\x73\x7b\x58" } , { "\xc2\xe8\xcf\xe2\xa2" , "\x73\x73\x7b\x58\x77" } , { "\xc2\xe8\xcf\xe2\xa3" , "\x73\x73\x7b\x58\x78" } , { "\xc2\xe8\xcf\xe4" , "\x73\x7b\x58\x6d" } , { "\xc2\xe8\xcf\xe5" , "\x74\x7b\x58\x6d" } , { "\xc2\xe8\xcf\xe5\xa2" , "\x74\x7b\x58\x6d\x77" } , { "\xc2\xe8\xcf\xe5\xa3" , "\x74\x7b\x58\x6d\x78" } , { "\xc2\xe8\xcf\xe6" , "\x7b\x58\x75" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x58\x76\x63\x76\x49" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\x58\x76\x63\x76\x4e\x6e" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x58\x76\x63\x76\x58" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x58\x76\x63\x76\x58\x6d" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x58\x76\x63\x76\x58\x6f" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x58\x76\x63\x76\x5d" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x7b\x58\x79" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x7b\x58\x79\x77" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x7b\x58\x79\x6d" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x7b\x58\x79\x71" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x74\x7b\x58\x79" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x74\x7b\x58\x79\x6d" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x58\x76\x63\x76\x6b" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x58\x76\x63\x76\x6b\x77" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x58\x76\x63\x76\x63\x79" } , { "\xc2\xe8\xd1" , "\x58\x76\x65" } , { "\xc2\xe8\xd1\xa2" , "\x58\x76\x65\x77" } , { "\xc2\xe8\xd1\xda" , "\x58\x76\x65\x6d" } , { "\xc2\xe8\xd1\xdb" , "\x58\x76\x65\x6e" } , { "\xc2\xe8\xd1\xdc" , "\x58\x76\x65\x6f" } , { "\xc2\xe8\xd1\xdd" , "\x58\x76\x65\x70" } , { "\xc2\xe8\xd1\xe1" , "\x58\x76\x74\x65" } , { "\xc2\xe8\xd1\xe2" , "\x58\x76\x73\x73\x65" } , { "\xc2\xe8\xd1\xe5" , "\x58\x76\x74\x65\x6d" } , { "\xc2\xe8\xd1\xe8\xc8" , "\x58\x76\x65\x76\x5d" } , { "\xc2\xe8\xd4" , "\x58\x7a" } , { "\xc2\xe8\xd4\xa2" , "\x58\x7a\x77" } , { "\xc2\xe8\xd4\xa3" , "\x58\x7a\x78" } , { "\xc2\xe8\xd4\xda" , "\x58\x7a\x6d" } , { "\xc2\xe8\xd4\xda\xa2" , "\x58\x7a\x6d\x77" } , { "\xc2\xe8\xd4\xdb" , "\x58\x7a\x6e" } , { "\xc2\xe8\xd4\xdb\xa3" , "\x58\x7a\x6e\x78" } , { "\xc2\xe8\xd4\xdc" , "\x58\x7a\x6f" } , { "\xc2\xe8\xd4\xdd" , "\x58\x7a\x70" } , { "\xc2\xe8\xd4\xdf" , "\x58\x7a\x72" } , { "\xc2\xe8\xd4\xe0" , "\x73\x58\x7a" } , { "\xc2\xe8\xd4\xe1" , "\x74\x58\x7a" } , { "\xc2\xe8\xd4\xe2" , "\x73\x73\x58\x7a" } , { "\xc2\xe8\xd4\xe5" , "\x74\x58\x7a\x6d" } , { "\xc2\xe8\xd4\xe5\xa2" , "\x74\x58\x7a\x6d\x77" } , { "\xc2\xe8\xd4\xe6" , "\x58\x7a\x75" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\x58\x76\x68\x76\x58\x6e" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\x58\x76\x68\x76\x58\x79" } , { "\xc2\xe8\xd5" , "\x58\x76\x69" } , { "\xc2\xe8\xd5\xda" , "\x58\x76\x69\x6d" } , { "\xc2\xe8\xd5\xdb" , "\x58\x76\x69\x6e" } , { "\xc2\xe8\xd5\xde" , "\x58\x76\x69\x71" } , { "\xc2\xe8\xd5\xe1" , "\x58\x76\x74\x69" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x58\x76\x69\x7a" } , { "\xc2\xe8\xd6" , "\x58\x76\x6a" } , { "\xc2\xe8\xd6\xda" , "\x58\x76\x6a\x6d" } , { "\xc2\xe8\xd6\xdb" , "\x58\x76\x6a\x6e" } , { "\xc2\xe8\xd6\xe1" , "\x58\x76\x74\x6a" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\x58\x76\x6a\x76\x74\x49" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\x58\x76\x6a\x76\x57\x6d" } , { "\xc2\xe8\xd7" , "\xd5" } , { "\xc2\xe8\xd7\xa2" , "\xd5\x77" } , { "\xc2\xe8\xd7\xa3" , "\xd5\x78" } , { "\xc2\xe8\xd7\xda" , "\xd5\x6d" } , { "\xc2\xe8\xd7\xda\xa2" , "\xd5\x6d\x77" } , { "\xc2\xe8\xd7\xdb" , "\xd5\x6e" } , { "\xc2\xe8\xd7\xdb\xa2" , "\xd5\x6e\x77" } , { "\xc2\xe8\xd7\xdc" , "\xd5\x6f" } , { "\xc2\xe8\xd7\xdd" , "\xd5\x70" } , { "\xc2\xe8\xd7\xde" , "\xd5\x71" } , { "\xc2\xe8\xd7\xdf" , "\xd5\x72" } , { "\xc2\xe8\xd7\xe0" , "\x73\xd5" } , { "\xc2\xe8\xd7\xe1" , "\x74\xd5" } , { "\xc2\xe8\xd7\xe4" , "\x73\xd5\x6d" } , { "\xc2\xe8\xd7\xe5" , "\x74\xd5\x6d" } , { "\xc2\xe8\xd7\xe6" , "\xd5\x75" } , { "\xc2\xe8\xd7\xe8" , "\xd5\x76" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\xd5\x76\x49\x6f" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\xd5\x76\x59\x6d" } , { "\xc2\xe8\xd7\xe8\xc6" , "\xd5\x76\x5c" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\xd5\x76\x5c\x6d" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\xd5\x76\x5c\x6e" } , { "\xc2\xe8\xd7\xe8\xc8" , "\xd5\x76\x5d" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\xd5\x76\x5d\x6d" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\xd5\x76\x5d\x72" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\xd5\x76\x5e\x71" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\xd5\x76\x74\x5e\x6d" } , { "\xc2\xe8\xd7\xe8\xcd" , "\xd5\x79" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\xd5\x79\x77" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\xd5\x79\x6d" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\xd5\x79\x6d\x77" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\xd5\x79\x6e" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\xd5\x79\x70" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x74\xd5\x79\x77" } , { "\xc2\xe8\xd7\xe8\xcf" , "\x7b\xd5" } , { "\xc2\xe8\xd7\xe8\xd4" , "\xd5\x7a" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\xd5\x7a\x6d" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x74\xd5\x7a" } , { "\xc2\xe8\xd8\xdb" , "\x58\x76\x6c\x6e" } , { "\xc2\xe8\xd8\xdc" , "\x58\x76\x6c\x6f" } , { "\xc2\xe8\xd9\xa6" , "\x58\x76\x43" } , { "\xc2\xe8\xd9\xb3\xda" , "\x58\x76\x49\x6d" } , { "\xc2\xe8\xd9\xc2" , "\x58\x76\x58" } , { "\xc2\xe8\xd9\xc2\xda" , "\x58\x76\x58\x6d" } , { "\xc2\xe8\xd9\xc2\xdb" , "\x58\x76\x58\x6e" } , { "\xc2\xe8\xd9\xc2\xdc" , "\x58\x76\x58\x6f" } , { "\xc2\xe8\xd9\xc2\xe1" , "\x58\x76\x74\x58" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\x58\x76\x74\x58\x6d\x77" } , { "\xc2\xe8\xd9\xc8" , "\x58\x76\x5d" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\x58\x76\x63\x76\x58\x6d" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\x58\x76\x63\x76\x6b" } , { "\xc2\xe8\xd9\xd1" , "\x58\x76\x65" } , { "\xc2\xe8\xd9\xd4" , "\x58\x76\x68" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\x58\x76\x74\x68\x6d\x77" } , { "\xc2\xe8\xe8" , "\x58\x76" } , { "\xc2\xe8\xe9\xc2" , "\x58\x76\x58" } , { "\xc2\xe8\xe9\xcf" , "\x58\x76\x63" } , { "\xc2\xe9" , "\x58" } , { "\xc3" , "\x59" } , { "\xc3\xa1" , "\x59\x77" } , { "\xc3\xa2" , "\x59\x77" } , { "\xc3\xa3" , "\x59\x78" } , { "\xc3\xda" , "\x59\x6d" } , { "\xc3\xda\xa1" , "\x59\x6d\x77" } , { "\xc3\xda\xa2" , "\x59\x6d\x77" } , { "\xc3\xdb" , "\x59\x6e" } , { "\xc3\xdb\xa2" , "\x59\x6e\x77" } , { "\xc3\xdc" , "\x59\x6f" } , { "\xc3\xdc\xa1" , "\x59\x6f\x77" } , { "\xc3\xdc\xa2" , "\x59\x6f\x77" } , { "\xc3\xdd" , "\x59\x70" } , { "\xc3\xdd\xa2" , "\x59\x70\x77" } , { "\xc3\xdd\xa3" , "\x59\x70\x78" } , { "\xc3\xde" , "\x59\x71" } , { "\xc3\xde\xa2" , "\x59\x71\x77" } , { "\xc3\xdf" , "\x59\x72" } , { "\xc3\xe0" , "\x73\x59" } , { "\xc3\xe1" , "\x74\x59" } , { "\xc3\xe1\xa2" , "\x74\x59\x77" } , { "\xc3\xe2" , "\x73\x73\x59" } , { "\xc3\xe2\xa2" , "\x73\x73\x59\x77" } , { "\xc3\xe4" , "\x73\x59\x6d" } , { "\xc3\xe5" , "\x74\x59\x6d" } , { "\xc3\xe5\xa2" , "\x74\x59\x6d\x77" } , { "\xc3\xe6" , "\x59\x75" } , { "\xc3\xe6\xa2" , "\x59\x75\x77" } , { "\xc3\xe7" , "\x74\x59\x6d" } , { "\xc3\xe8" , "\x59\x76" } , { "\xc3\xe8\xb3\xdd" , "\x59\x76\x49\x70" } , { "\xc3\xe8\xb5\xda" , "\x59\x76\x4b\x6d" } , { "\xc3\xe8\xc2\xdb" , "\x59\x76\x58\x6e" } , { "\xc3\xe8\xc2\xdd" , "\x59\x76\x58\x70" } , { "\xc3\xe8\xc3" , "\x59\x76\x59" } , { "\xc3\xe8\xc3\xda" , "\x59\x76\x59\x6d" } , { "\xc3\xe8\xc8\xde" , "\x59\x76\x5d\x71" } , { "\xc3\xe8\xcc\xda" , "\x59\x76\x61\x6d" } , { "\xc3\xe8\xcc\xdc" , "\x59\x76\x61\x6f" } , { "\xc3\xe8\xcd" , "\x59\x79" } , { "\xc3\xe8\xcd\xa2" , "\x59\x79\x77" } , { "\xc3\xe8\xcd\xda" , "\x59\x79\x6d" } , { "\xc3\xe8\xcd\xda\xa2" , "\x59\x79\x6d\x77" } , { "\xc3\xe8\xcd\xda\xa3" , "\x59\x79\x6d\x78" } , { "\xc3\xe8\xcd\xdd" , "\x59\x79\x70" } , { "\xc3\xe8\xcd\xde" , "\x59\x79\x71" } , { "\xc3\xe8\xcd\xe5" , "\x74\x59\x79\x6d" } , { "\xc3\xe8\xcd\xe5\xa2" , "\x74\x59\x79\x6d\x77" } , { "\xc3\xe8\xcf" , "\x7b\x59" } , { "\xc3\xe8\xcf\xda" , "\x7b\x59\x6d" } , { "\xc3\xe8\xcf\xda\xa2" , "\x7b\x59\x6d\x77" } , { "\xc3\xe8\xcf\xdb" , "\x7b\x59\x6e" } , { "\xc3\xe8\xcf\xdc" , "\x7b\x59\x6f" } , { "\xc3\xe8\xcf\xde" , "\x7b\x59\x71" } , { "\xc3\xe8\xcf\xe0" , "\x73\x7b\x59" } , { "\xc3\xe8\xcf\xe1" , "\x74\x7b\x59" } , { "\xc3\xe8\xcf\xe2" , "\x73\x73\x7b\x59" } , { "\xc3\xe8\xcf\xe5" , "\x74\x7b\x59\x6d" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x7b\x59\x79" } , { "\xc3\xe8\xd1\xdd" , "\x59\x76\x65\x70" } , { "\xc3\xe8\xd1\xe5" , "\x59\x76\x74\x65\x6d" } , { "\xc3\xe8\xd2" , "\x59\x76\x66" } , { "\xc3\xe8\xd4" , "\x59\x7a" } , { "\xc3\xe8\xd4\xda" , "\x59\x7a\x6d" } , { "\xc3\xe8\xd4\xdb" , "\x59\x7a\x6e" } , { "\xc3\xe8\xd4\xdc" , "\x59\x7a\x6f" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x59\x76\x7b\x69\x6f" } , { "\xc3\xe8\xd7" , "\x59\x76\x6b" } , { "\xc3\xe8\xd7\xe8" , "\x59\x76\x6b\x76" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x59\x76\x63\x79" } , { "\xc3\xe8\xe8" , "\x59\x76" } , { "\xc3\xe8\xe9\xcf" , "\x59\x76\x63" } , { "\xc3\xe9" , "\x59" } , { "\xc4" , "\x5a" } , { "\xc4\xa1" , "\x5a\x77" } , { "\xc4\xa2" , "\x5a\x77" } , { "\xc4\xa2\xa2" , "\x5a\x77\x77" } , { "\xc4\xa3" , "\x5a\x78" } , { "\xc4\xd3\xcd\xda" , "\x5a\x67\x62\x6d" } , { "\xc4\xd9" , "\x5a" } , { "\xc4\xda" , "\x5a\x6d" } , { "\xc4\xda\xa1" , "\x5a\x6d\x77" } , { "\xc4\xda\xa2" , "\x5a\x6d\x77" } , { "\xc4\xda\xa2\xa2" , "\x5a\x6d\x77\x77" } , { "\xc4\xda\xa3" , "\x5a\x6d\x78" } , { "\xc4\xdb" , "\x5a\x6e" } , { "\xc4\xdb\xa2" , "\x5a\x6e\x77" } , { "\xc4\xdb\xa2\xa2" , "\x5a\x6e\x77\x77" } , { "\xc4\xdb\xa3" , "\x5a\x6e\x78" } , { "\xc4\xdb\xd7\xdf" , "\x5a\x6e\x6b\x72" } , { "\xc4\xdc" , "\x5a\x6f" } , { "\xc4\xdc\xa2" , "\x5a\x6f\x77" } , { "\xc4\xdd" , "\x5a\x70" } , { "\xc4\xdd\xa1" , "\x5a\x70\x77" } , { "\xc4\xdd\xa2" , "\x5a\x70\x77" } , { "\xc4\xdd\xa3" , "\x5a\x70\x78" } , { "\xc4\xde" , "\x5a\x71" } , { "\xc4\xde\xa1" , "\x5a\x71\x77" } , { "\xc4\xde\xa2" , "\x5a\x71\x77" } , { "\xc4\xdf" , "\x5a\x72" } , { "\xc4\xdf\xa2" , "\x5a\x72\x77" } , { "\xc4\xe0" , "\x73\x5a" } , { "\xc4\xe0\xa2" , "\x73\x5a\x77" } , { "\xc4\xe1" , "\x74\x5a" } , { "\xc4\xe1\xa2" , "\x74\x5a\x77" } , { "\xc4\xe2" , "\x73\x73\x5a" } , { "\xc4\xe2\xa2" , "\x73\x73\x5a\x77" } , { "\xc4\xe2\xa3" , "\x73\x73\x5a\x78" } , { "\xc4\xe4" , "\x73\x5a\x6d" } , { "\xc4\xe4\xa2" , "\x73\x5a\x6d\x77" } , { "\xc4\xe5" , "\x74\x5a\x6d" } , { "\xc4\xe5\xa2" , "\x74\x5a\x6d\x77" } , { "\xc4\xe6" , "\x5a\x75" } , { "\xc4\xe6\xa2" , "\x5a\x75\x77" } , { "\xc4\xe7" , "\x74\x5a\x6d" } , { "\xc4\xe8" , "\x5a\x76" } , { "\xc4\xe8\xb3" , "\x5a\x76\x49" } , { "\xc4\xe8\xb3\xda" , "\x5a\x76\x49\x6d" } , { "\xc4\xe8\xb3\xdb" , "\x5a\x76\x49\x6e" } , { "\xc4\xe8\xb3\xdd" , "\x5a\x76\x49\x70" } , { "\xc4\xe8\xb3\xde" , "\x5a\x76\x49\x71" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\x5a\x76\x73\xa1" } , { "\xc4\xe8\xb4" , "\x5a\x76\x4a" } , { "\xc4\xe8\xb4\xda" , "\x5a\x76\x4a\x6d" } , { "\xc4\xe8\xb5" , "\x5a\x76\x4b" } , { "\xc4\xe8\xb5\xa2" , "\x5a\x76\x4b\x77" } , { "\xc4\xe8\xb5\xda" , "\x5a\x76\x4b\x6d" } , { "\xc4\xe8\xb5\xdc" , "\x5a\x76\x4b\x6f" } , { "\xc4\xe8\xb5\xdd" , "\x5a\x76\x4b\x70" } , { "\xc4\xe8\xb5\xdf" , "\x5a\x76\x4b\x72" } , { "\xc4\xe8\xb5\xe1" , "\x5a\x76\x74\x4b" } , { "\xc4\xe8\xb5\xe5" , "\x5a\x76\x74\x4b\x6d" } , { "\xc4\xe8\xb5\xe8\xc5" , "\x5a\x76\x4b\x76\x5b" } , { "\xc4\xe8\xb5\xe8\xcf" , "\x5a\x76\x7b\x4b" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\x5a\x76\x7b\x4b\x77" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\x5a\x76\x7b\x4b\x6d" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\x5a\x76\x7b\x4b\x6f" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x5a\x76\x4b\x76\x6c" } , { "\xc4\xe8\xb6" , "\x5a\x76\x4c" } , { "\xc4\xe8\xb6\xda" , "\x5a\x76\x4c\x6d" } , { "\xc4\xe8\xb6\xda\xa2" , "\x5a\x76\x4c\x6d\x77" } , { "\xc4\xe8\xb6\xdf" , "\x5a\x76\x4c\x72" } , { "\xc4\xe8\xb6\xe5" , "\x5a\x76\x74\x4c\x6d" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x5a\x76\x4c\x76\x58" } , { "\xc4\xe8\xb8" , "\x5a\x76\x4e" } , { "\xc4\xe8\xb8\xda" , "\x5a\x76\x4e\x6d" } , { "\xc4\xe8\xb8\xdb" , "\x5a\x76\x4e\x6e" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\x5a\x76\xd1\x6e" } , { "\xc4\xe8\xba" , "\x5a\x76\x50" } , { "\xc4\xe8\xba\xdc" , "\x5a\x76\x50\x6f" } , { "\xc4\xe8\xba\xdd" , "\x5a\x76\x50\x70" } , { "\xc4\xe8\xba\xdf" , "\x5a\x76\x50\x72" } , { "\xc4\xe8\xba\xe1" , "\x5a\x76\x74\x50" } , { "\xc4\xe8\xba\xe5" , "\x5a\x76\x74\x50\x6d" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\x5a\x76\xda\x70" } , { "\xc4\xe8\xbb" , "\x5a\x76\x51" } , { "\xc4\xe8\xbf\xda" , "\x5a\x76\x55\x6d" } , { "\xc4\xe8\xbf\xdb" , "\x5a\x76\x55\x6e" } , { "\xc4\xe8\xbf\xe9" , "\x5a\x76\x55" } , { "\xc4\xe8\xc0" , "\x5a\x76\x56" } , { "\xc4\xe8\xc0\xe9" , "\x5a\x76\x56" } , { "\xc4\xe8\xc2" , "\x5a\x76\x58" } , { "\xc4\xe8\xc2\xa2" , "\x5a\x76\x58\x77" } , { "\xc4\xe8\xc2\xdd" , "\x5a\x76\x58\x70" } , { "\xc4\xe8\xc2\xe2" , "\x5a\x76\x73\x73\x58" } , { "\xc4\xe8\xc2\xe5" , "\x5a\x76\x74\x58\x6d" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\x5a\x76\x73\x73\x58\x7a" } , { "\xc4\xe8\xc3" , "\x5a\x76\x59" } , { "\xc4\xe8\xc3\xa2" , "\x5a\x76\x59\x77" } , { "\xc4\xe8\xc3\xda" , "\x5a\x76\x59\x6d" } , { "\xc4\xe8\xc3\xda\xa2" , "\x5a\x76\x59\x6d\x77" } , { "\xc4\xe8\xc3\xdb" , "\x5a\x76\x59\x6e" } , { "\xc4\xe8\xc3\xdb\xa3" , "\x5a\x76\x59\x6e\x78" } , { "\xc4\xe8\xc3\xdd" , "\x5a\x76\x59\x70" } , { "\xc4\xe8\xc4" , "\xb1" } , { "\xc4\xe8\xc4\xa2" , "\xb1\x77" } , { "\xc4\xe8\xc4\xa3" , "\xb1\x78" } , { "\xc4\xe8\xc4\xda" , "\xb1\x6d" } , { "\xc4\xe8\xc4\xda\xa2" , "\xb1\x6d\x77" } , { "\xc4\xe8\xc4\xdb" , "\xb1\x6e" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xb1\x6e\x77" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xb1\x6e\x78" } , { "\xc4\xe8\xc4\xdc" , "\xb1\x6f" } , { "\xc4\xe8\xc4\xdd" , "\xb1\x70" } , { "\xc4\xe8\xc4\xdd\xa2" , "\xb1\x70\x77" } , { "\xc4\xe8\xc4\xde" , "\xb1\x71" } , { "\xc4\xe8\xc4\xdf" , "\xb1\x72" } , { "\xc4\xe8\xc4\xe0" , "\x73\xb1" } , { "\xc4\xe8\xc4\xe0\xa2" , "\x73\xb1\x77" } , { "\xc4\xe8\xc4\xe1" , "\x74\xb1" } , { "\xc4\xe8\xc4\xe1\xa2" , "\x74\xb1\x77" } , { "\xc4\xe8\xc4\xe1\xa3" , "\x74\xb1\x78" } , { "\xc4\xe8\xc4\xe2" , "\x73\x73\xb1" } , { "\xc4\xe8\xc4\xe4" , "\x73\xb1\x6d" } , { "\xc4\xe8\xc4\xe5" , "\x74\xb1\x6d" } , { "\xc4\xe8\xc4\xe5\xa2" , "\x74\xb1\x6d\x77" } , { "\xc4\xe8\xc4\xe6" , "\xb1\x75" } , { "\xc4\xe8\xc4\xe8" , "\xb1\x76" } , { "\xc4\xe8\xc4\xe8\xcd" , "\xb1\x79" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\xb1\x79\x77" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\xb1\x79\x70" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\x74\xb1\x79\x6d" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\x7b\xb1\x6e" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x7b\xb1\x71" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\xb1\x7a\x77" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\xb1\x7a\x6d" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\xb1\x7a\x6e" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\x74\xb1\x7a" } , { "\xc4\xe8\xc5" , "\xb2" } , { "\xc4\xe8\xc5\xa2" , "\xb2\x77" } , { "\xc4\xe8\xc5\xa3" , "\xb2\x78" } , { "\xc4\xe8\xc5\xda" , "\xb2\x6d" } , { "\xc4\xe8\xc5\xda\xa1" , "\xb2\x6d\x77" } , { "\xc4\xe8\xc5\xda\xa2" , "\xb2\x6d\x77" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\xb2\x6d\x77\x77" } , { "\xc4\xe8\xc5\xda\xa3" , "\xb2\x6d\x78" } , { "\xc4\xe8\xc5\xdb" , "\xb2\x6e" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xb2\x6e\x77" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xb2\x6e\x78" } , { "\xc4\xe8\xc5\xdc" , "\xb2\x6f" } , { "\xc4\xe8\xc5\xdc\xa2" , "\xb2\x6f\x77" } , { "\xc4\xe8\xc5\xdd" , "\xb2\x70" } , { "\xc4\xe8\xc5\xdd\xa2" , "\xb2\x70\x77" } , { "\xc4\xe8\xc5\xde" , "\xb2\x71" } , { "\xc4\xe8\xc5\xdf" , "\xb2\x72" } , { "\xc4\xe8\xc5\xe0" , "\x73\xb2" } , { "\xc4\xe8\xc5\xe1" , "\x74\xb2" } , { "\xc4\xe8\xc5\xe1\xa2" , "\x74\xb2\x77" } , { "\xc4\xe8\xc5\xe1\xa3" , "\x74\xb2\x78" } , { "\xc4\xe8\xc5\xe2" , "\x73\x73\xb2" } , { "\xc4\xe8\xc5\xe4" , "\x73\xb2\x6d" } , { "\xc4\xe8\xc5\xe5" , "\x74\xb2\x6d" } , { "\xc4\xe8\xc5\xe5\xa2" , "\x74\xb2\x6d\x77" } , { "\xc4\xe8\xc5\xe8\xc2" , "\xb2\x76\x58" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\xb2\x76\x5c\x6d" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\xb2\x76\x5f\x6f" } , { "\xc4\xe8\xc5\xe8\xcd" , "\xb2\x79" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\xb2\x79\x77" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\xb2\x79\x6d" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\x74\xb2\x79\x6d" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\x7b\xb2\x6e" } , { "\xc4\xe8\xc5\xe8\xd4" , "\xb2\x7a" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\xb2\x7a\x6d" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\xb2\x76\x69\x70" } , { "\xc4\xe8\xc6" , "\x5a\x76\x5c" } , { "\xc4\xe8\xc6\xda" , "\x5a\x76\x5c\x6d" } , { "\xc4\xe8\xc6\xdb" , "\x5a\x76\x5c\x6e" } , { "\xc4\xe8\xc6\xdb\xa2" , "\x5a\x76\x5c\x6e\x77" } , { "\xc4\xe8\xc6\xdc" , "\x5a\x76\x5c\x6f" } , { "\xc4\xe8\xc6\xdd" , "\x5a\x76\x5c\x70" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x5a\x76\x5c\x70\x77" } , { "\xc4\xe8\xc6\xe5" , "\x5a\x76\x74\x5c\x6d" } , { "\xc4\xe8\xc6\xe8\xc2" , "\x5a\x76\xb4" } , { "\xc4\xe8\xc8" , "\x5a\x76\x5d" } , { "\xc4\xe8\xc8\xa2" , "\x5a\x76\x5d\x77" } , { "\xc4\xe8\xc8\xda" , "\x5a\x76\x5d\x6d" } , { "\xc4\xe8\xc8\xdd" , "\x5a\x76\x5d\x70" } , { "\xc4\xe8\xc8\xde" , "\x5a\x76\x5d\x71" } , { "\xc4\xe8\xc8\xe2" , "\x5a\x76\x73\x73\x5d" } , { "\xc4\xe8\xca" , "\x5a\x76\x5f" } , { "\xc4\xe8\xca\xa2" , "\x5a\x76\x5f\x77" } , { "\xc4\xe8\xca\xda" , "\x5a\x76\x5f\x6d" } , { "\xc4\xe8\xca\xda\xa2" , "\x5a\x76\x5f\x6d\x77" } , { "\xc4\xe8\xca\xdb" , "\x5a\x76\x5f\x6e" } , { "\xc4\xe8\xca\xdc" , "\x5a\x76\x5f\x6f" } , { "\xc4\xe8\xca\xdd" , "\x5a\x76\x5f\x70" } , { "\xc4\xe8\xca\xe1" , "\x5a\x76\x74\x5f" } , { "\xc4\xe8\xca\xe5" , "\x5a\x76\x74\x5f\x6d" } , { "\xc4\xe8\xca\xe8\xcf" , "\x5a\x76\x7b\x5f" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\x5a\x76\x7b\x5f\x6d" } , { "\xc4\xe8\xcb" , "\x5a\x76\x60" } , { "\xc4\xe8\xcb\xa2" , "\x5a\x76\x60\x77" } , { "\xc4\xe8\xcb\xda" , "\x5a\x76\x60\x6d" } , { "\xc4\xe8\xcb\xda\xa2" , "\x5a\x76\x60\x6d\x77" } , { "\xc4\xe8\xcb\xdb" , "\x5a\x76\x60\x6e" } , { "\xc4\xe8\xcb\xdb\xa3" , "\x5a\x76\x60\x6e\x78" } , { "\xc4\xe8\xcb\xdc" , "\x5a\x76\x60\x6f" } , { "\xc4\xe8\xcb\xdd" , "\x5a\x76\x60\x70" } , { "\xc4\xe8\xcb\xde" , "\x5a\x76\x60\x71" } , { "\xc4\xe8\xcb\xe1" , "\x5a\x76\x74\x60" } , { "\xc4\xe8\xcb\xe5" , "\x5a\x76\x74\x60\x6d" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\x5a\x76\x7b\x60\x6d" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\x5a\x76\x7b\x60\x71" } , { "\xc4\xe8\xcc" , "\x5a\x76\x61" } , { "\xc4\xe8\xcc\xa2" , "\x5a\x76\x61\x77" } , { "\xc4\xe8\xcc\xda" , "\x5a\x76\x61\x6d" } , { "\xc4\xe8\xcc\xda\xa2" , "\x5a\x76\x61\x6d\x77" } , { "\xc4\xe8\xcc\xdb" , "\x5a\x76\x61\x6e" } , { "\xc4\xe8\xcc\xdd" , "\x5a\x76\x61\x70" } , { "\xc4\xe8\xcc\xde" , "\x5a\x76\x61\x71" } , { "\xc4\xe8\xcc\xe1" , "\x5a\x76\x74\x61" } , { "\xc4\xe8\xcc\xe1\xa2" , "\x5a\x76\x74\x61\x77" } , { "\xc4\xe8\xcc\xe5" , "\x5a\x76\x74\x61\x6d" } , { "\xc4\xe8\xcd" , "\x5a\x79" } , { "\xc4\xe8\xcd\xa1" , "\x5a\x79\x77" } , { "\xc4\xe8\xcd\xa2" , "\x5a\x79\x77" } , { "\xc4\xe8\xcd\xa3" , "\x5a\x79\x78" } , { "\xc4\xe8\xcd\xda" , "\x5a\x79\x6d" } , { "\xc4\xe8\xcd\xda\xa2" , "\x5a\x79\x6d\x77" } , { "\xc4\xe8\xcd\xda\xa3" , "\x5a\x79\x6d\x78" } , { "\xc4\xe8\xcd\xdb" , "\x5a\x79\x6e" } , { "\xc4\xe8\xcd\xdc" , "\x5a\x79\x6f" } , { "\xc4\xe8\xcd\xdd" , "\x5a\x79\x70" } , { "\xc4\xe8\xcd\xdd\xa2" , "\x5a\x79\x70\x77" } , { "\xc4\xe8\xcd\xde" , "\x5a\x79\x71" } , { "\xc4\xe8\xcd\xdf" , "\x5a\x79\x72" } , { "\xc4\xe8\xcd\xe0" , "\x73\x5a\x79" } , { "\xc4\xe8\xcd\xe1" , "\x74\x5a\x79" } , { "\xc4\xe8\xcd\xe1\xa2" , "\x74\x5a\x79\x77" } , { "\xc4\xe8\xcd\xe2" , "\x73\x73\x5a\x79" } , { "\xc4\xe8\xcd\xe4" , "\x73\x5a\x79\x6d" } , { "\xc4\xe8\xcd\xe5" , "\x74\x5a\x79\x6d" } , { "\xc4\xe8\xcd\xe5\xa2" , "\x74\x5a\x79\x6d\x77" } , { "\xc4\xe8\xcd\xe6" , "\x5a\x79\x75" } , { "\xc4\xe8\xcd\xe6\xa2" , "\x5a\x79\x75\x77" } , { "\xc4\xe8\xcd\xe8" , "\x5a\x76\x62\x76" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x5a\x76\xbf" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x5a\x76\xbf\x6d" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\x5a\x76\x74\xbf\x6d" } , { "\xc4\xe8\xcd\xe8\xcf" , "\x5a\x76\x7b\x62" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\x5a\x76\x7b\x62\x77" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\x5a\x76\x7b\x62\x6d" } , { "\xc4\xe8\xcf" , "\x7b\x5a" } , { "\xc4\xe8\xcf\xa2" , "\x7b\x5a\x77" } , { "\xc4\xe8\xcf\xa3" , "\x7b\x5a\x78" } , { "\xc4\xe8\xcf\xd9" , "\x7b\x5a" } , { "\xc4\xe8\xcf\xda" , "\x7b\x5a\x6d" } , { "\xc4\xe8\xcf\xda\xa2" , "\x7b\x5a\x6d\x77" } , { "\xc4\xe8\xcf\xdb" , "\x7b\x5a\x6e" } , { "\xc4\xe8\xcf\xdb\xa2" , "\x7b\x5a\x6e\x77" } , { "\xc4\xe8\xcf\xdc" , "\x7b\x5a\x6f" } , { "\xc4\xe8\xcf\xdd" , "\x7b\x5a\x70" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x7b\x5a\x70\x77" } , { "\xc4\xe8\xcf\xde" , "\x7b\x5a\x71" } , { "\xc4\xe8\xcf\xe0" , "\x73\x7b\x5a" } , { "\xc4\xe8\xcf\xe0\xa2" , "\x73\x7b\x5a\x77" } , { "\xc4\xe8\xcf\xe1" , "\x74\x7b\x5a" } , { "\xc4\xe8\xcf\xe2" , "\x73\x73\x7b\x5a" } , { "\xc4\xe8\xcf\xe4" , "\x73\x7b\x5a\x6d" } , { "\xc4\xe8\xcf\xe5" , "\x74\x7b\x5a\x6d" } , { "\xc4\xe8\xcf\xe5\xa2" , "\x74\x7b\x5a\x6d\x77" } , { "\xc4\xe8\xcf\xe6" , "\x7b\x5a\x75" } , { "\xc4\xe8\xcf\xe8" , "\x5a\x76\x63\x76" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x5a\x76\x63\x76\x59\x77" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x5a\x76\x63\x76\x5d\x6d" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x7b\x5a\x79" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x7b\x5a\x79\x77" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x7b\x5a\x79\x6d" } , { "\xc4\xe8\xd1" , "\x5a\x76\x65" } , { "\xc4\xe8\xd1\xda\xa2" , "\x5a\x76\x65\x6d\x77" } , { "\xc4\xe8\xd1\xdb" , "\x5a\x76\x65\x6e" } , { "\xc4\xe8\xd1\xdc" , "\x5a\x76\x65\x6f" } , { "\xc4\xe8\xd1\xdd" , "\x5a\x76\x65\x70" } , { "\xc4\xe8\xd1\xde" , "\x5a\x76\x65\x71" } , { "\xc4\xe8\xd1\xe5" , "\x5a\x76\x74\x65\x6d" } , { "\xc4\xe8\xd2" , "\x5a\x76\x66" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\x5a\x76\x74\x66\x7a" } , { "\xc4\xe8\xd4" , "\x5a\x7a" } , { "\xc4\xe8\xd4\xa2" , "\x5a\x7a\x77" } , { "\xc4\xe8\xd4\xda" , "\x5a\x7a\x6d" } , { "\xc4\xe8\xd4\xda\xa2" , "\x5a\x7a\x6d\x77" } , { "\xc4\xe8\xd4\xdb" , "\x5a\x7a\x6e" } , { "\xc4\xe8\xd4\xdc" , "\x5a\x7a\x6f" } , { "\xc4\xe8\xd4\xdd" , "\x5a\x7a\x70" } , { "\xc4\xe8\xd4\xde" , "\x5a\x7a\x71" } , { "\xc4\xe8\xd4\xdf" , "\x5a\x7a\x72" } , { "\xc4\xe8\xd4\xdf\xa2" , "\x5a\x7a\x72\x77" } , { "\xc4\xe8\xd4\xe1" , "\x74\x5a\x7a" } , { "\xc4\xe8\xd4\xe2" , "\x73\x73\x5a\x7a" } , { "\xc4\xe8\xd4\xe5" , "\x74\x5a\x7a\x6d" } , { "\xc4\xe8\xd4\xe5\xa2" , "\x74\x5a\x7a\x6d\x77" } , { "\xc4\xe8\xd4\xe6" , "\x5a\x7a\x75" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\x5a\x76\x68\x76\xaf\x6e" } , { "\xc4\xe8\xd4\xe8\xcd" , "\x5a\x76\x68\x79" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\x5a\x76\x68\x79\x77" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\x5a\x76\x68\x79\x6d" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\x5a\x76\x68\x79\x6e" } , { "\xc4\xe8\xd5" , "\x5a\x76\x69" } , { "\xc4\xe8\xd5\xdb" , "\x5a\x76\x69\x6e" } , { "\xc4\xe8\xd5\xe5" , "\x5a\x76\x74\x69\x6d" } , { "\xc4\xe8\xd5\xe8\xcc" , "\x5a\x76\x69\x76\x61" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x5a\x76\x69\x79" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\x5a\x76\x74\x69\x79\x6d\x77" } , { "\xc4\xe8\xd6" , "\x5a\x76\x6a" } , { "\xc4\xe8\xd6\xda" , "\x5a\x76\x6a\x6d" } , { "\xc4\xe8\xd6\xdb" , "\x5a\x76\x6a\x6e" } , { "\xc4\xe8\xd6\xe8\xbd" , "\x5a\x76\x6a\x76\x53" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\x5a\x76\x6a\x76\x53\x6d\x77" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\x5a\x76\x6a\x76\x53\x6e" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\x5a\x76\x6a\x76\x53\x6f" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\x5a\x76\x6a\x76\x54\x6e" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\x5a\x76\x6a\x76\x58\x6e" } , { "\xc4\xe8\xd7" , "\x5a\x76\x6b" } , { "\xc4\xe8\xd7\xda" , "\x5a\x76\x6b\x6d" } , { "\xc4\xe8\xd7\xdb" , "\x5a\x76\x6b\x6e" } , { "\xc4\xe8\xd8" , "\x5a\x76\x6c" } , { "\xc4\xe8\xd8\xda" , "\x5a\x76\x6c\x6d" } , { "\xc4\xe8\xd8\xdb\xa2" , "\x5a\x76\x6c\x6e\x77" } , { "\xc4\xe8\xd8\xdd" , "\x5a\x76\x6c\x70" } , { "\xc4\xe8\xd9\xa6" , "\x5a\x76\x43" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\x5a\x76\x74\x58\x6d\x77" } , { "\xc4\xe8\xd9\xc4" , "\x5a\x76\x5a" } , { "\xc4\xe8\xd9\xc4\xda" , "\x5a\x76\x5a\x6d" } , { "\xc4\xe8\xd9\xc4\xdc" , "\x5a\x76\x5a\x6f" } , { "\xc4\xe8\xd9\xc4\xdd" , "\x5a\x76\x5a\x70" } , { "\xc4\xe8\xd9\xc4\xde" , "\x5a\x76\x5a\x71" } , { "\xc4\xe8\xd9\xc4\xe1" , "\x5a\x76\x74\x5a" } , { "\xc4\xe8\xd9\xc4\xe6" , "\x5a\x76\x5a\x75" } , { "\xc4\xe8\xd9\xc5" , "\x5a\x76\x5b" } , { "\xc4\xe8\xd9\xc5\xda" , "\x5a\x76\x5b\x6d" } , { "\xc4\xe8\xd9\xc5\xde" , "\x5a\x76\x5b\x71" } , { "\xc4\xe8\xd9\xc5\xdf" , "\x5a\x76\x5b\x72" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\x5a\x76\x74\x5b\x6d\x77" } , { "\xc4\xe8\xd9\xcb\xda" , "\x5a\x76\x60\x6d" } , { "\xc4\xe8\xd9\xcb\xdd" , "\x5a\x76\x60\x70" } , { "\xc4\xe8\xd9\xcb\xde" , "\x5a\x76\x60\x71" } , { "\xc4\xe8\xd9\xcb\xdf" , "\x5a\x76\x60\x72" } , { "\xc4\xe8\xd9\xcc\xdb" , "\x5a\x76\x61\x6e" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\x5a\x76\x74\x61\x77" } , { "\xc4\xe8\xd9\xcd" , "\x5a\x76\x62" } , { "\xc4\xe8\xd9\xcd\xda" , "\x5a\x76\x62\x6d" } , { "\xc4\xe8\xd9\xcd\xdd" , "\x5a\x76\x62\x70" } , { "\xc4\xe8\xd9\xcd\xe5" , "\x5a\x76\x74\x62\x6d" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\x5a\x76\x74\x62\x6d\x77" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\x5a\x76\x63\x76\x5b" } , { "\xc4\xe8\xd9\xd4" , "\x5a\x76\x68" } , { "\xc4\xe8\xd9\xd4\xda" , "\x5a\x76\x68\x6d" } , { "\xc4\xe8\xd9\xd4\xdb" , "\x5a\x76\x68\x6e" } , { "\xc4\xe8\xd9\xd4\xe1" , "\x5a\x76\x74\x68" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\x5a\x76\x68\x79" } , { "\xc4\xe8\xe8" , "\x5a\x76" } , { "\xc4\xe8\xe9\xc4" , "\x5a\x76\x5a" } , { "\xc4\xe8\xe9\xc5" , "\x5a\x76\x5b" } , { "\xc4\xe8\xe9\xcd" , "\x5a\x76\x62" } , { "\xc4\xe8\xe9\xcf" , "\x5a\x76\x63" } , { "\xc4\xe8\xe9\xd4" , "\x5a\x76\x68" } , { "\xc4\xe9" , "\x5a" } , { "\xc5" , "\x5b" } , { "\xc5\xa1" , "\x5b\x77" } , { "\xc5\xa2" , "\x5b\x77" } , { "\xc5\xa3" , "\x5b\x78" } , { "\xc5\xd0" , "\x5b\x64" } , { "\xc5\xd0\xdc" , "\x5b\x64\x6f" } , { "\xc5\xda" , "\x5b\x6d" } , { "\xc5\xda\xa1" , "\x5b\x6d\x77" } , { "\xc5\xda\xa2" , "\x5b\x6d\x77" } , { "\xc5\xdb" , "\x5b\x6e" } , { "\xc5\xdb\xa2" , "\x5b\x6e\x77" } , { "\xc5\xdb\xa3" , "\x5b\x6e\x78" } , { "\xc5\xdc" , "\x5b\x6f" } , { "\xc5\xdc\xa2" , "\x5b\x6f\x77" } , { "\xc5\xdc\xa3" , "\x5b\x6f\x78" } , { "\xc5\xdd" , "\x5b\x70" } , { "\xc5\xdd\xa1" , "\x5b\x70\x77" } , { "\xc5\xdd\xa2" , "\x5b\x70\x77" } , { "\xc5\xdd\xa3" , "\x5b\x70\x78" } , { "\xc5\xde" , "\x5b\x71" } , { "\xc5\xde\xa1" , "\x5b\x71\x77" } , { "\xc5\xde\xa2" , "\x5b\x71\x77" } , { "\xc5\xdf" , "\x5b\x72" } , { "\xc5\xe0" , "\x73\x5b" } , { "\xc5\xe0\xa2" , "\x73\x5b\x77" } , { "\xc5\xe1" , "\x74\x5b" } , { "\xc5\xe1\xa2" , "\x74\x5b\x77" } , { "\xc5\xe2" , "\x73\x73\x5b" } , { "\xc5\xe4" , "\x73\x5b\x6d" } , { "\xc5\xe5" , "\x74\x5b\x6d" } , { "\xc5\xe5\xa2" , "\x74\x5b\x6d\x77" } , { "\xc5\xe5\xa3" , "\x74\x5b\x6d\x78" } , { "\xc5\xe6" , "\x5b\x75" } , { "\xc5\xe6\xa2" , "\x5b\x75\x77" } , { "\xc5\xe8" , "\x5b\x76" } , { "\xc5\xe8\xb3\xda" , "\x5b\x76\x49\x6d" } , { "\xc5\xe8\xb3\xdd" , "\x5b\x76\x49\x70" } , { "\xc5\xe8\xb3\xe5" , "\x5b\x76\x74\x49\x6d" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x5b\x76\xa3" } , { "\xc5\xe8\xb5" , "\x5b\x76\x4b" } , { "\xc5\xe8\xb8" , "\x5b\x76\x4e" } , { "\xc5\xe8\xb8\xda" , "\x5b\x76\x4e\x6d" } , { "\xc5\xe8\xbf\xe9\xda" , "\x5b\x76\x55\x6d" } , { "\xc5\xe8\xc1\xda" , "\x5b\x76\x57\x6d" } , { "\xc5\xe8\xc1\xdb" , "\x5b\x76\x57\x6e" } , { "\xc5\xe8\xc2" , "\x5b\x76\x58" } , { "\xc5\xe8\xc2\xda" , "\x5b\x76\x58\x6d" } , { "\xc5\xe8\xc4" , "\x5b\x76\x5a" } , { "\xc5\xe8\xc4\xda" , "\x5b\x76\x5a\x6d" } , { "\xc5\xe8\xc4\xda\xa2" , "\x5b\x76\x5a\x6d\x77" } , { "\xc5\xe8\xc4\xdb" , "\x5b\x76\x5a\x6e" } , { "\xc5\xe8\xc4\xdd" , "\x5b\x76\x5a\x70" } , { "\xc5\xe8\xc4\xde" , "\x5b\x76\x5a\x71" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x5b\x76\x74\x5a\x77" } , { "\xc5\xe8\xc4\xe5" , "\x5b\x76\x74\x5a\x6d" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x5b\x76\x74\x5a\x6d\x77" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x5b\x76\xb1" } , { "\xc5\xe8\xc5" , "\x5b\x76\x5b" } , { "\xc5\xe8\xc5\xa2" , "\x5b\x76\x5b\x77" } , { "\xc5\xe8\xc5\xda" , "\x5b\x76\x5b\x6d" } , { "\xc5\xe8\xc5\xda\xa2" , "\x5b\x76\x5b\x6d\x77" } , { "\xc5\xe8\xc5\xdb" , "\x5b\x76\x5b\x6e" } , { "\xc5\xe8\xc5\xdb\xa2" , "\x5b\x76\x5b\x6e\x77" } , { "\xc5\xe8\xc5\xdd" , "\x5b\x76\x5b\x70" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x5b\x76\x5b\x79" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x5b\x76\x5b\x79\x6d" } , { "\xc5\xe8\xc6" , "\x5b\x76\x5c" } , { "\xc5\xe8\xc6\xda" , "\x5b\x76\x5c\x6d" } , { "\xc5\xe8\xc6\xdd" , "\x5b\x76\x5c\x70" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x5b\x76\x5c\x79\x6d" } , { "\xc5\xe8\xc8\xdd" , "\x5b\x76\x5d\x70" } , { "\xc5\xe8\xc8\xde" , "\x5b\x76\x5d\x71" } , { "\xc5\xe8\xca\xdd" , "\x5b\x76\x5f\x70" } , { "\xc5\xe8\xca\xe6" , "\x5b\x76\x5f\x75" } , { "\xc5\xe8\xcb\xdd" , "\x5b\x76\x60\x70" } , { "\xc5\xe8\xcc" , "\x5b\x76\x61" } , { "\xc5\xe8\xcc\xda" , "\x5b\x76\x61\x6d" } , { "\xc5\xe8\xcc\xdd" , "\x5b\x76\x61\x70" } , { "\xc5\xe8\xcd" , "\x5b\x79" } , { "\xc5\xe8\xcd\xa2" , "\x5b\x79\x77" } , { "\xc5\xe8\xcd\xa3" , "\x5b\x79\x78" } , { "\xc5\xe8\xcd\xda" , "\x5b\x79\x6d" } , { "\xc5\xe8\xcd\xda\xa2" , "\x5b\x79\x6d\x77" } , { "\xc5\xe8\xcd\xda\xa3" , "\x5b\x79\x6d\x78" } , { "\xc5\xe8\xcd\xdb" , "\x5b\x79\x6e" } , { "\xc5\xe8\xcd\xdc" , "\x5b\x79\x6f" } , { "\xc5\xe8\xcd\xdd" , "\x5b\x79\x70" } , { "\xc5\xe8\xcd\xde" , "\x5b\x79\x71" } , { "\xc5\xe8\xcd\xe1" , "\x74\x5b\x79" } , { "\xc5\xe8\xcd\xe2" , "\x73\x73\x5b\x79" } , { "\xc5\xe8\xcd\xe5" , "\x74\x5b\x79\x6d" } , { "\xc5\xe8\xcd\xe5\xa2" , "\x74\x5b\x79\x6d\x77" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x5b\x76\x62\x76\x58" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x5b\x76\xbf" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x5b\x76\xbf\x6d" } , { "\xc5\xe8\xcf" , "\x7b\x5b" } , { "\xc5\xe8\xcf\xa2" , "\x7b\x5b\x77" } , { "\xc5\xe8\xcf\xda" , "\x7b\x5b\x6d" } , { "\xc5\xe8\xcf\xda\xa2" , "\x7b\x5b\x6d\x77" } , { "\xc5\xe8\xcf\xdb" , "\x7b\x5b\x6e" } , { "\xc5\xe8\xcf\xdc" , "\x7b\x5b\x6f" } , { "\xc5\xe8\xcf\xdd" , "\x7b\x5b\x70" } , { "\xc5\xe8\xcf\xde" , "\x7b\x5b\x71" } , { "\xc5\xe8\xcf\xdf" , "\x7b\x5b\x72" } , { "\xc5\xe8\xcf\xe1" , "\x74\x7b\x5b" } , { "\xc5\xe8\xcf\xe5" , "\x74\x7b\x5b\x6d" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\x5b\x76\x63\x76\x74\x61\x6d" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x7b\x5b\x79" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x7b\x5b\x79\x6d" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x7b\x5b\x79\x71" } , { "\xc5\xe8\xcf\xe8\xd4" , "\x7b\x5b\x7a" } , { "\xc5\xe8\xd1\xdd" , "\x5b\x76\x65\x70" } , { "\xc5\xe8\xd1\xe5" , "\x5b\x76\x74\x65\x6d" } , { "\xc5\xe8\xd2" , "\x5b\x76\x66" } , { "\xc5\xe8\xd4" , "\x5b\x7a" } , { "\xc5\xe8\xd4\xa2" , "\x5b\x7a\x77" } , { "\xc5\xe8\xd4\xda" , "\x5b\x7a\x6d" } , { "\xc5\xe8\xd4\xdb" , "\x5b\x7a\x6e" } , { "\xc5\xe8\xd4\xdb\xa2" , "\x5b\x7a\x6e\x77" } , { "\xc5\xe8\xd4\xdc" , "\x5b\x7a\x6f" } , { "\xc5\xe8\xd4\xdd" , "\x5b\x7a\x70" } , { "\xc5\xe8\xd4\xe1" , "\x74\x5b\x7a" } , { "\xc5\xe8\xd4\xe2" , "\x73\x73\x5b\x7a" } , { "\xc5\xe8\xd5\xda" , "\x5b\x76\x69\x6d" } , { "\xc5\xe8\xd6\xda" , "\x5b\x76\x6a\x6d" } , { "\xc5\xe8\xd6\xdb" , "\x5b\x76\x6a\x6e" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x5b\x76\x6a\x76\x53" } , { "\xc5\xe8\xd7" , "\x5b\x76\x6b" } , { "\xc5\xe8\xd7\xe1" , "\x5b\x76\x74\x6b" } , { "\xc5\xe8\xd7\xe8" , "\x5b\x76\x6b\x76" } , { "\xc5\xe8\xd9\xcd" , "\x5b\x76\x62" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\x5b\x76\x63\x7a" } , { "\xc5\xe8\xe8" , "\x5b\x76" } , { "\xc5\xe9" , "\x5b" } , { "\xc6" , "\x5c" } , { "\xc6\xa1" , "\x5c\x77" } , { "\xc6\xa2" , "\x5c\x77" } , { "\xc6\xa2\xa2" , "\x5c\x77\x77" } , { "\xc6\xa3" , "\x5c\x78" } , { "\xc6\xda" , "\x5c\x6d" } , { "\xc6\xda\xa1" , "\x5c\x6d\x77" } , { "\xc6\xda\xa2" , "\x5c\x6d\x77" } , { "\xc6\xda\xa3" , "\x5c\x6d\x78" } , { "\xc6\xdb" , "\x5c\x6e" } , { "\xc6\xdb\xa2" , "\x5c\x6e\x77" } , { "\xc6\xdb\xa3" , "\x5c\x6e\x78" } , { "\xc6\xdc" , "\x5c\x6f" } , { "\xc6\xdc\xa2" , "\x5c\x6f\x77" } , { "\xc6\xdd" , "\x5c\x70" } , { "\xc6\xdd\xa1" , "\x5c\x70\x77" } , { "\xc6\xdd\xa2" , "\x5c\x70\x77" } , { "\xc6\xdd\xa2\xa2" , "\x5c\x70\x77\x77" } , { "\xc6\xdd\xa3" , "\x5c\x70\x78" } , { "\xc6\xde" , "\x5c\x71" } , { "\xc6\xde\xa1" , "\x5c\x71\x77" } , { "\xc6\xde\xa2" , "\x5c\x71\x77" } , { "\xc6\xde\xd0\xe8" , "\x5c\x71\x64\x76" } , { "\xc6\xdf" , "\x5c\x72" } , { "\xc6\xe0" , "\x73\x5c" } , { "\xc6\xe0\xa2" , "\x73\x5c\x77" } , { "\xc6\xe1" , "\x74\x5c" } , { "\xc6\xe1\xa2" , "\x74\x5c\x77" } , { "\xc6\xe2" , "\x73\x73\x5c" } , { "\xc6\xe2\xa2" , "\x73\x73\x5c\x77" } , { "\xc6\xe2\xa3" , "\x73\x73\x5c\x78" } , { "\xc6\xe4" , "\x73\x5c\x6d" } , { "\xc6\xe4\xa2" , "\x73\x5c\x6d\x77" } , { "\xc6\xe5" , "\x74\x5c\x6d" } , { "\xc6\xe5\xa2" , "\x74\x5c\x6d\x77" } , { "\xc6\xe5\xa3" , "\x74\x5c\x6d\x78" } , { "\xc6\xe6" , "\x5c\x75" } , { "\xc6\xe6\xa2" , "\x5c\x75\x77" } , { "\xc6\xe7" , "\x74\x5c\x6d" } , { "\xc6\xe8" , "\x5c\x76" } , { "\xc6\xe8\xb3" , "\x5c\x76\x49" } , { "\xc6\xe8\xb3\xa2" , "\x5c\x76\x49\x77" } , { "\xc6\xe8\xb3\xda" , "\x5c\x76\x49\x6d" } , { "\xc6\xe8\xb3\xda\xa2" , "\x5c\x76\x49\x6d\x77" } , { "\xc6\xe8\xb3\xdb" , "\x5c\x76\x49\x6e" } , { "\xc6\xe8\xb3\xdc" , "\x5c\x76\x49\x6f" } , { "\xc6\xe8\xb3\xdd" , "\x5c\x76\x49\x70" } , { "\xc6\xe8\xb3\xdd\xa2" , "\x5c\x76\x49\x70\x77" } , { "\xc6\xe8\xb3\xde" , "\x5c\x76\x49\x71" } , { "\xc6\xe8\xb3\xdf" , "\x5c\x76\x49\x72" } , { "\xc6\xe8\xb3\xe0" , "\x5c\x76\x73\x49" } , { "\xc6\xe8\xb3\xe1" , "\x5c\x76\x74\x49" } , { "\xc6\xe8\xb3\xe2" , "\x5c\x76\x73\x73\x49" } , { "\xc6\xe8\xb3\xe2\xa2" , "\x5c\x76\x73\x73\x49\x77" } , { "\xc6\xe8\xb3\xe4" , "\x5c\x76\x73\x49\x6d" } , { "\xc6\xe8\xb3\xe5" , "\x5c\x76\x74\x49\x6d" } , { "\xc6\xe8\xb3\xe5\xa2" , "\x5c\x76\x74\x49\x6d\x77" } , { "\xc6\xe8\xb3\xe8" , "\x5c\x76\x49\x76" } , { "\xc6\xe8\xb3\xe8\xb3" , "\x5c\x76\xa1" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\x5c\x76\x49\x76\x53\x6e" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x5c\x76\x49\x79\x70" } , { "\xc6\xe8\xb3\xe8\xcf" , "\x5c\x76\x7b\x49" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\x5c\x76\x7b\x49\x6e" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\x5c\x76\x7b\x49\x6f" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\x5c\x76\x74\x7b\x49\x6d" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\x5c\x76\xa2\x6d" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\x5c\x76\xa2\x70" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\x5c\x76\xa2\x71" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\x5c\x76\x74\xa2" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\x5c\x76\x74\xa2\x6d" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\x5c\x76\x49\x7a\x6d" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\x5c\x76\x49\x7a\x6e" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\x5c\x76\x73\x49\x7a" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x5c\x76\x49\x76\x69" } , { "\xc6\xe8\xb3\xe8\xd6" , "\x5c\x76\xa3" } , { "\xc6\xe8\xb3\xe9" , "\x5c\x76\x49" } , { "\xc6\xe8\xb4" , "\x5c\x76\x4a" } , { "\xc6\xe8\xb4\xda" , "\x5c\x76\x4a\x6d" } , { "\xc6\xe8\xb4\xdb" , "\x5c\x76\x4a\x6e" } , { "\xc6\xe8\xb5" , "\x5c\x76\x4b" } , { "\xc6\xe8\xb5\xa2" , "\x5c\x76\x4b\x77" } , { "\xc6\xe8\xb5\xda" , "\x5c\x76\x4b\x6d" } , { "\xc6\xe8\xb5\xdb" , "\x5c\x76\x4b\x6e" } , { "\xc6\xe8\xb5\xdd" , "\x5c\x76\x4b\x70" } , { "\xc6\xe8\xb5\xde" , "\x5c\x76\x4b\x71" } , { "\xc6\xe8\xb5\xe0" , "\x5c\x76\x73\x4b" } , { "\xc6\xe8\xb5\xe4" , "\x5c\x76\x73\x4b\x6d" } , { "\xc6\xe8\xb5\xe4\xa2" , "\x5c\x76\x73\x4b\x6d\x77" } , { "\xc6\xe8\xb5\xe5" , "\x5c\x76\x74\x4b\x6d" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x5c\x76\xa4\x6d" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\x5c\x76\x7b\x4b\x6d" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\x5c\x76\x7b\x4b\x6f" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\x5c\x76\x74\x7b\x4b" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\x5c\x76\x74\x7b\x4b\x6d" } , { "\xc6\xe8\xb6" , "\x5c\x76\x4c" } , { "\xc6\xe8\xb6\xdc" , "\x5c\x76\x4c\x6f" } , { "\xc6\xe8\xb6\xdd" , "\x5c\x76\x4c\x70" } , { "\xc6\xe8\xb8" , "\x5c\x76\x4e" } , { "\xc6\xe8\xb8\xa2" , "\x5c\x76\x4e\x77" } , { "\xc6\xe8\xb8\xda" , "\x5c\x76\x4e\x6d" } , { "\xc6\xe8\xb8\xdb" , "\x5c\x76\x4e\x6e" } , { "\xc6\xe8\xb8\xdb\xa2" , "\x5c\x76\x4e\x6e\x77" } , { "\xc6\xe8\xb8\xdc" , "\x5c\x76\x4e\x6f" } , { "\xc6\xe8\xb8\xdd" , "\x5c\x76\x4e\x70" } , { "\xc6\xe8\xb8\xde" , "\x5c\x76\x4e\x71" } , { "\xc6\xe8\xb8\xe0" , "\x5c\x76\x73\x4e" } , { "\xc6\xe8\xb8\xe0\xa2" , "\x5c\x76\x73\x4e\x77" } , { "\xc6\xe8\xb8\xe1" , "\x5c\x76\x74\x4e" } , { "\xc6\xe8\xb8\xe5" , "\x5c\x76\x74\x4e\x6d" } , { "\xc6\xe8\xb8\xe5\xa2" , "\x5c\x76\x74\x4e\x6d\x77" } , { "\xc6\xe8\xb8\xe8" , "\x5c\x76\x4e\x76" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x5c\x76\x4e\x76\x55\x76" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\x5c\x76\x4e\x7a\x6d\x77" } , { "\xc6\xe8\xb9" , "\x5c\x76\x4f" } , { "\xc6\xe8\xb9\xda" , "\x5c\x76\x4f\x6d" } , { "\xc6\xe8\xb9\xe0" , "\x5c\x76\x73\x4f" } , { "\xc6\xe8\xba" , "\x5c\x76\x50" } , { "\xc6\xe8\xba\xa2" , "\x5c\x76\x50\x77" } , { "\xc6\xe8\xba\xda" , "\x5c\x76\x50\x6d" } , { "\xc6\xe8\xba\xdb" , "\x5c\x76\x50\x6e" } , { "\xc6\xe8\xba\xdb\xa2" , "\x5c\x76\x50\x6e\x77" } , { "\xc6\xe8\xba\xdc" , "\x5c\x76\x50\x6f" } , { "\xc6\xe8\xba\xde" , "\x5c\x76\x50\x71" } , { "\xc6\xe8\xba\xe0" , "\x5c\x76\x73\x50" } , { "\xc6\xe8\xba\xe0\xa2" , "\x5c\x76\x73\x50\x77" } , { "\xc6\xe8\xba\xe1" , "\x5c\x76\x74\x50" } , { "\xc6\xe8\xba\xe2" , "\x5c\x76\x73\x73\x50" } , { "\xc6\xe8\xba\xe5" , "\x5c\x76\x74\x50\x6d" } , { "\xc6\xe8\xba\xe8" , "\x5c\x76\x50\x76" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\x5c\x76\xda\x6d" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x5c\x76\x50\x79\x71" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\x5c\x76\x50\x7a\x6d" } , { "\xc6\xe8\xba\xe9\xda" , "\x5c\x76\x50\x6d" } , { "\xc6\xe8\xbc\xe8\xb8" , "\x5c\x76\xa9" } , { "\xc6\xe8\xbd" , "\x5c\x76\x53" } , { "\xc6\xe8\xbd\xda" , "\x5c\x76\x53\x6d" } , { "\xc6\xe8\xbd\xdb" , "\x5c\x76\x53\x6e" } , { "\xc6\xe8\xbd\xdb\xa2" , "\x5c\x76\x53\x6e\x77" } , { "\xc6\xe8\xbd\xdc" , "\x5c\x76\x53\x6f" } , { "\xc6\xe8\xbd\xdd" , "\x5c\x76\x53\x70" } , { "\xc6\xe8\xbd\xde" , "\x5c\x76\x53\x71" } , { "\xc6\xe8\xbd\xe0" , "\x5c\x76\x73\x53" } , { "\xc6\xe8\xbd\xe1" , "\x5c\x76\x74\x53" } , { "\xc6\xe8\xbd\xe1\xa2" , "\x5c\x76\x74\x53\x77" } , { "\xc6\xe8\xbd\xe2" , "\x5c\x76\x73\x73\x53" } , { "\xc6\xe8\xbd\xe2\xa2" , "\x5c\x76\x73\x73\x53\x77" } , { "\xc6\xe8\xbd\xe5" , "\x5c\x76\x74\x53\x6d" } , { "\xc6\xe8\xbd\xe5\xa2" , "\x5c\x76\x74\x53\x6d\x77" } , { "\xc6\xe8\xbd\xe8" , "\x5c\x76\x53\x76" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\x5c\x76\x53\x76\x5c\x6e" } , { "\xc6\xe8\xbd\xe8\xcf" , "\x5c\x76\x7b\x53" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\x5c\x76\x7b\x53\x6d" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\x5c\x76\x7b\x53\x6e" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\x5c\x76\x7b\x53\x6f" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\x5c\x76\x7b\x53\x71" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\x5c\x76\x73\x7b\x53" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\x5c\x76\x74\x7b\x53" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\x5c\x76\x73\x73\x7b\x53" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\x5c\x76\x74\x7b\x53\x6d" } , { "\xc6\xe8\xbd\xe8\xd1" , "\x5c\x76\x53\x76\x65" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\x5c\x76\x53\x76\x65\x70" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\x5c\x76\x53\x76\x65\x71" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x5c\x76\x53\x76\x6b" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\x5c\x76\x53\x76\x6b\x6e" } , { "\xc6\xe8\xbe" , "\x5c\x76\x54" } , { "\xc6\xe8\xbf" , "\x5c\x76\x55" } , { "\xc6\xe8\xbf\xa2" , "\x5c\x76\x55\x77" } , { "\xc6\xe8\xbf\xda" , "\x5c\x76\x55\x6d" } , { "\xc6\xe8\xbf\xdb" , "\x5c\x76\x55\x6e" } , { "\xc6\xe8\xbf\xdb\xa2" , "\x5c\x76\x55\x6e\x77" } , { "\xc6\xe8\xbf\xdc" , "\x5c\x76\x55\x6f" } , { "\xc6\xe8\xbf\xdd" , "\x5c\x76\x55\x70" } , { "\xc6\xe8\xbf\xe0" , "\x5c\x76\x73\x55" } , { "\xc6\xe8\xbf\xe0\xa2" , "\x5c\x76\x73\x55\x77" } , { "\xc6\xe8\xbf\xe1" , "\x5c\x76\x74\x55" } , { "\xc6\xe8\xbf\xe2" , "\x5c\x76\x73\x73\x55" } , { "\xc6\xe8\xbf\xe5" , "\x5c\x76\x74\x55\x6d" } , { "\xc6\xe8\xbf\xe5\xa2" , "\x5c\x76\x74\x55\x6d\x77" } , { "\xc6\xe8\xbf\xe8" , "\x5c\x76\x55\x76" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x5c\x76\x55\x76\x49\x6d" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x5c\x76\x55\x76\x4b\x6d" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\x5c\x76\x55\x76\x5f\x79\x6d" } , { "\xc6\xe8\xbf\xe8\xcf" , "\x5c\x76\x7b\x55" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\x5c\x76\x7b\x55\x6d" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\x5c\x76\x7b\x55\x6e" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\x5c\x76\x7b\x55\x6f" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\x5c\x76\x74\x7b\x55\x6d" } , { "\xc6\xe8\xc0\xdb" , "\x5c\x76\x56\x6e" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\x5c\x76\xae\x71" } , { "\xc6\xe8\xc2" , "\xb4" } , { "\xc6\xe8\xc2\xa2" , "\xb4\x77" } , { "\xc6\xe8\xc2\xa3" , "\xb4\x78" } , { "\xc6\xe8\xc2\xda" , "\xb4\x6d" } , { "\xc6\xe8\xc2\xdb" , "\xb4\x6e" } , { "\xc6\xe8\xc2\xdc" , "\xb4\x6f" } , { "\xc6\xe8\xc2\xdd" , "\xb4\x70" } , { "\xc6\xe8\xc2\xde" , "\xb4\x71" } , { "\xc6\xe8\xc2\xe0" , "\x73\xb4" } , { "\xc6\xe8\xc2\xe1" , "\x74\xb4" } , { "\xc6\xe8\xc2\xe5" , "\x74\xb4\x6d" } , { "\xc6\xe8\xc2\xe5\xa2" , "\x74\xb4\x6d\x77" } , { "\xc6\xe8\xc2\xe8" , "\xb4\x76" } , { "\xc6\xe8\xc2\xe8\xc2" , "\xb4\x76\x58" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\xb4\x76\x5d\x76\x58" } , { "\xc6\xe8\xc2\xe8\xcd" , "\xb4\x79" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\xb4\x79\x6d" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\x74\xb4\x79" } , { "\xc6\xe8\xc2\xe8\xcf" , "\x7b\xb4" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\x7b\xb4\x6d" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\x7b\xb4\x6e" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\x7b\xb4\x6f" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\x74\x7b\xb4" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\x74\x7b\xb4\x6d" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\x74\x7b\xb4\x6d\x77" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\x7b\xb4\x79" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\x74\x7b\xb4\x79\x6d" } , { "\xc6\xe8\xc2\xe8\xd4" , "\xb4\x7a" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\xb4\x76\x6b\x6d\x77" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\xb4\x76\x74\x6b\x6d" } , { "\xc6\xe8\xc3" , "\xd9" } , { "\xc6\xe8\xc3\xda" , "\xd9\x6d" } , { "\xc6\xe8\xc3\xdb" , "\xd9\x6e" } , { "\xc6\xe8\xc3\xdc" , "\xd9\x6f" } , { "\xc6\xe8\xc3\xe1" , "\x74\xd9" } , { "\xc6\xe8\xc3\xe2" , "\x73\x73\xd9" } , { "\xc6\xe8\xc3\xe5" , "\x74\xd9\x6d" } , { "\xc6\xe8\xc3\xe5\xa2" , "\x74\xd9\x6d\x77" } , { "\xc6\xe8\xc3\xe8" , "\xd9\x76" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\x7b\xd9\x6d\x77" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\x74\x7b\xd9" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\x73\x73\x7b\xd9" } , { "\xc6\xe8\xc4" , "\xb5" } , { "\xc6\xe8\xc4\xda" , "\xb5\x6d" } , { "\xc6\xe8\xc4\xda\xa2" , "\xb5\x6d\x77" } , { "\xc6\xe8\xc4\xdb" , "\xb5\x6e" } , { "\xc6\xe8\xc4\xdc" , "\xb5\x6f" } , { "\xc6\xe8\xc4\xdc\xa2" , "\xb5\x6f\x77" } , { "\xc6\xe8\xc4\xdd" , "\xb5\x70" } , { "\xc6\xe8\xc4\xde" , "\xb5\x71" } , { "\xc6\xe8\xc4\xde\xa2" , "\xb5\x71\x77" } , { "\xc6\xe8\xc4\xe0" , "\x73\xb5" } , { "\xc6\xe8\xc4\xe1" , "\x74\xb5" } , { "\xc6\xe8\xc4\xe1\xa2" , "\x74\xb5\x77" } , { "\xc6\xe8\xc4\xe2" , "\x73\x73\xb5" } , { "\xc6\xe8\xc4\xe4" , "\x73\xb5\x6d" } , { "\xc6\xe8\xc4\xe5" , "\x74\xb5\x6d" } , { "\xc6\xe8\xc4\xe5\xa2" , "\x74\xb5\x6d\x77" } , { "\xc6\xe8\xc4\xe6" , "\xb5\x75" } , { "\xc6\xe8\xc4\xe8\xc5" , "\xb5\x76\x5b" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\xb5\x76\x5b\x6d" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\xb5\x76\x5b\x6f" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\xb5\x76\x5c\x6d" } , { "\xc6\xe8\xc4\xe8\xcd" , "\xb5\x79" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\xb5\x79\x70" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\x74\xb5\x79\x6d" } , { "\xc6\xe8\xc4\xe8\xcf" , "\x7b\xb5" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\x7b\xb5\x6d" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\x7b\xb5\x6d\x77" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\x7b\xb5\x6e" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\x7b\xb5\x6f" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\x7b\xb5\x71" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\x74\x7b\xb5" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\x74\x7b\xb5\x6d" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\x74\x7b\xb5\x6d\x77" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\x7b\xb5\x79\x71" } , { "\xc6\xe8\xc4\xe8\xd4" , "\xb5\x7a" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\xb5\x7a\x6d" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\xb5\x7a\x6e" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\xb5\x7a\x6f" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\x74\xb5\x7a\x6d" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\x74\xb5\x7a\x6d\x77" } , { "\xc6\xe8\xc5" , "\xd4" } , { "\xc6\xe8\xc5\xda" , "\xd4\x6d" } , { "\xc6\xe8\xc5\xdb" , "\xd4\x6e" } , { "\xc6\xe8\xc5\xdc" , "\xd4\x6f" } , { "\xc6\xe8\xc5\xdd" , "\xd4\x70" } , { "\xc6\xe8\xc5\xde" , "\xd4\x71" } , { "\xc6\xe8\xc5\xe1" , "\x74\xd4" } , { "\xc6\xe8\xc5\xe5" , "\x74\xd4\x6d" } , { "\xc6\xe8\xc5\xe5\xa2" , "\x74\xd4\x6d\x77" } , { "\xc6\xe8\xc5\xe6" , "\xd4\x75" } , { "\xc6\xe8\xc5\xe8\xcd" , "\xd4\x79" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\xd4\x79\x6d" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\xd4\x79\x6f" } , { "\xc6\xe8\xc5\xe8\xcf" , "\x7b\xd4" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\x7b\xd4\x6d\x77" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\x7b\xd4\x6f" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\x74\x7b\xd4\x6d\x77" } , { "\xc6\xe8\xc6" , "\xb6" } , { "\xc6\xe8\xc6\xa2" , "\xb6\x77" } , { "\xc6\xe8\xc6\xda" , "\xb6\x6d" } , { "\xc6\xe8\xc6\xda\xa2" , "\xb6\x6d\x77" } , { "\xc6\xe8\xc6\xdb" , "\xb6\x6e" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xb6\x6e\x77" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xb6\x6e\x78" } , { "\xc6\xe8\xc6\xdc" , "\xb6\x6f" } , { "\xc6\xe8\xc6\xdc\xa2" , "\xb6\x6f\x77" } , { "\xc6\xe8\xc6\xdd" , "\xb6\x70" } , { "\xc6\xe8\xc6\xdd\xa2" , "\xb6\x70\x77" } , { "\xc6\xe8\xc6\xde" , "\xb6\x71" } , { "\xc6\xe8\xc6\xdf" , "\xb6\x72" } , { "\xc6\xe8\xc6\xe0" , "\x73\xb6" } , { "\xc6\xe8\xc6\xe0\xa2" , "\x73\xb6\x77" } , { "\xc6\xe8\xc6\xe1" , "\x74\xb6" } , { "\xc6\xe8\xc6\xe1\xa2" , "\x74\xb6\x77" } , { "\xc6\xe8\xc6\xe2" , "\x73\x73\xb6" } , { "\xc6\xe8\xc6\xe4" , "\x73\xb6\x6d" } , { "\xc6\xe8\xc6\xe4\xa2" , "\x73\xb6\x6d\x77" } , { "\xc6\xe8\xc6\xe5" , "\x74\xb6\x6d" } , { "\xc6\xe8\xc6\xe5\xa2" , "\x74\xb6\x6d\x77" } , { "\xc6\xe8\xc6\xe6" , "\xb6\x75" } , { "\xc6\xe8\xc6\xe8" , "\xb6\x76" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\xb6\x76\x4b\x6d" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\xb6\x76\x53\x76\x65\x70" } , { "\xc6\xe8\xc6\xe8\xc2" , "\xb6\x76\x58" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\xb6\x76\x74\x5a\x6d" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\xb6\x76\x5b\x79" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\xb6\x76\x5d\x70" } , { "\xc6\xe8\xc6\xe8\xc9" , "\xb6\x76\x5e" } , { "\xc6\xe8\xc6\xe8\xcc" , "\xb6\x76\x61" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\xb6\x79\x6d" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x7b\xb6" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\x74\x7b\xb6\x6d" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\xb6\x7a\x6d" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\xb6\x7a\x6e\x77" } , { "\xc6\xe8\xc8" , "\xbc" } , { "\xc6\xe8\xc8\xa2" , "\xbc\x77" } , { "\xc6\xe8\xc8\xda" , "\xbc\x6d" } , { "\xc6\xe8\xc8\xda\xa2" , "\xbc\x6d\x77" } , { "\xc6\xe8\xc8\xdb" , "\xbc\x6e" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xbc\x6e\x77" } , { "\xc6\xe8\xc8\xdc" , "\xbc\x6f" } , { "\xc6\xe8\xc8\xdd" , "\xbc\x70" } , { "\xc6\xe8\xc8\xde" , "\xbc\x71" } , { "\xc6\xe8\xc8\xe0" , "\x73\xbc" } , { "\xc6\xe8\xc8\xe1" , "\x74\xbc" } , { "\xc6\xe8\xc8\xe2" , "\x73\x73\xbc" } , { "\xc6\xe8\xc8\xe4" , "\x73\xbc\x6d" } , { "\xc6\xe8\xc8\xe5" , "\x74\xbc\x6d" } , { "\xc6\xe8\xc8\xe6" , "\xbc\x75" } , { "\xc6\xe8\xc8\xe8\xc8" , "\xbc\x76\x5d" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\xbc\x79\x71" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\xbc\x79\x72\x77" } , { "\xc6\xe8\xc8\xe8\xcf" , "\x7b\xbc" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\x7b\xbc\x6d" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\x73\x7b\xbc" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\xbc\x76\x65\x6d" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\xbc\x76\x65\x6f" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\xbc\x76\x65\x70" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\xbc\x76\x65\x71" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\xbc\x76\x74\x65" } , { "\xc6\xe8\xc9" , "\x5c\x76\x5e" } , { "\xc6\xe8\xc9\xda" , "\x5c\x76\x5e\x6d" } , { "\xc6\xe8\xc9\xda\xa2" , "\x5c\x76\x5e\x6d\x77" } , { "\xc6\xe8\xc9\xdb" , "\x5c\x76\x5e\x6e" } , { "\xc6\xe8\xc9\xdc" , "\x5c\x76\x5e\x6f" } , { "\xc6\xe8\xc9\xdd" , "\x5c\x76\x5e\x70" } , { "\xc6\xe8\xc9\xe0" , "\x5c\x76\x73\x5e" } , { "\xc6\xe8\xc9\xe0\xa2" , "\x5c\x76\x73\x5e\x77" } , { "\xc6\xe8\xc9\xe1" , "\x5c\x76\x74\x5e" } , { "\xc6\xe8\xc9\xe1\xa2" , "\x5c\x76\x74\x5e\x77" } , { "\xc6\xe8\xc9\xe4" , "\x5c\x76\x73\x5e\x6d" } , { "\xc6\xe8\xc9\xe5" , "\x5c\x76\x74\x5e\x6d" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x5c\x76\x5e\x79\x71" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\x5c\x76\x7b\x5e\x6d" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\x5c\x76\x7b\x5e\x6e" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\x5c\x76\x7b\x5e\x6e\x77" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\x5c\x76\x7b\x5e\x6f" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\x5c\x76\x74\x7b\x5e" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\x5c\x76\x74\x7b\x5e\x77" } , { "\xc6\xe8\xc9\xe8\xd1" , "\x5c\x76\x5e\x76\x65" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\x5c\x76\x5e\x76\x65\x70" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\x5c\x76\x5e\x76\x65\x70\x77" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\x5c\x76\x5e\x76\x65\x71" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\x5c\x76\x5e\x76\x74\x65" } , { "\xc6\xe8\xca" , "\x5c\x76\x5f" } , { "\xc6\xe8\xca\xda" , "\x5c\x76\x5f\x6d" } , { "\xc6\xe8\xca\xda\xa2" , "\x5c\x76\x5f\x6d\x77" } , { "\xc6\xe8\xca\xdd" , "\x5c\x76\x5f\x70" } , { "\xc6\xe8\xca\xde" , "\x5c\x76\x5f\x71" } , { "\xc6\xe8\xca\xe0" , "\x5c\x76\x73\x5f" } , { "\xc6\xe8\xca\xe1" , "\x5c\x76\x74\x5f" } , { "\xc6\xe8\xca\xe5" , "\x5c\x76\x74\x5f\x6d" } , { "\xc6\xe8\xca\xe5\xa2" , "\x5c\x76\x74\x5f\x6d\x77" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\x5c\x76\x74\x7b\x5f" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\x5c\x76\x74\x7b\x5f\x6d" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\x5c\x76\x74\xbb" } , { "\xc6\xe8\xcb\xda" , "\x5c\x76\x60\x6d" } , { "\xc6\xe8\xcb\xde" , "\x5c\x76\x60\x71" } , { "\xc6\xe8\xcc" , "\xb7" } , { "\xc6\xe8\xcc\xa2" , "\xb7\x77" } , { "\xc6\xe8\xcc\xa3" , "\xb7\x78" } , { "\xc6\xe8\xcc\xda" , "\xb7\x6d" } , { "\xc6\xe8\xcc\xda\xa2" , "\xb7\x6d\x77" } , { "\xc6\xe8\xcc\xdb" , "\xb7\x6e" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xb7\x6e\x77" } , { "\xc6\xe8\xcc\xdc" , "\xb7\x6f" } , { "\xc6\xe8\xcc\xdd" , "\xb7\x70" } , { "\xc6\xe8\xcc\xdd\xa2" , "\xb7\x70\x77" } , { "\xc6\xe8\xcc\xde" , "\xb7\x71" } , { "\xc6\xe8\xcc\xdf" , "\xb7\x72" } , { "\xc6\xe8\xcc\xe0" , "\x73\xb7" } , { "\xc6\xe8\xcc\xe0\xa2" , "\x73\xb7\x77" } , { "\xc6\xe8\xcc\xe1" , "\x74\xb7" } , { "\xc6\xe8\xcc\xe1\xa2" , "\x74\xb7\x77" } , { "\xc6\xe8\xcc\xe2" , "\x73\x73\xb7" } , { "\xc6\xe8\xcc\xe4" , "\x73\xb7\x6d" } , { "\xc6\xe8\xcc\xe5" , "\x74\xb7\x6d" } , { "\xc6\xe8\xcc\xe5\xa2" , "\x74\xb7\x6d\x77" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xb7\x76\x61\x6e" } , { "\xc6\xe8\xcd" , "\x5c\x79" } , { "\xc6\xe8\xcd\xa2" , "\x5c\x79\x77" } , { "\xc6\xe8\xcd\xa3" , "\x5c\x79\x78" } , { "\xc6\xe8\xcd\xda" , "\x5c\x79\x6d" } , { "\xc6\xe8\xcd\xda\xa2" , "\x5c\x79\x6d\x77" } , { "\xc6\xe8\xcd\xda\xa3" , "\x5c\x79\x6d\x78" } , { "\xc6\xe8\xcd\xdb" , "\x5c\x79\x6e" } , { "\xc6\xe8\xcd\xdc" , "\x5c\x79\x6f" } , { "\xc6\xe8\xcd\xdd" , "\x5c\x79\x70" } , { "\xc6\xe8\xcd\xdd\xa2" , "\x5c\x79\x70\x77" } , { "\xc6\xe8\xcd\xde" , "\x5c\x79\x71" } , { "\xc6\xe8\xcd\xde\xa2" , "\x5c\x79\x71\x77" } , { "\xc6\xe8\xcd\xe0" , "\x73\x5c\x79" } , { "\xc6\xe8\xcd\xe1" , "\x74\x5c\x79" } , { "\xc6\xe8\xcd\xe2" , "\x73\x73\x5c\x79" } , { "\xc6\xe8\xcd\xe4" , "\x73\x5c\x79\x6d" } , { "\xc6\xe8\xcd\xe5" , "\x74\x5c\x79\x6d" } , { "\xc6\xe8\xcd\xe5\xa2" , "\x74\x5c\x79\x6d\x77" } , { "\xc6\xe8\xcd\xe6" , "\x5c\x79\x75" } , { "\xc6\xe8\xcd\xe7" , "\x74\x5c\x79\x6d" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x5c\x76\xbf" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x5c\x76\xbf\x6d" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x5c\x76\xbf\x71" } , { "\xc6\xe8\xcf" , "\x7b\x5c" } , { "\xc6\xe8\xcf\xa2" , "\x7b\x5c\x77" } , { "\xc6\xe8\xcf\xda" , "\x7b\x5c\x6d" } , { "\xc6\xe8\xcf\xdb" , "\x7b\x5c\x6e" } , { "\xc6\xe8\xcf\xdc" , "\x7b\x5c\x6f" } , { "\xc6\xe8\xcf\xdd" , "\x7b\x5c\x70" } , { "\xc6\xe8\xcf\xde" , "\x7b\x5c\x71" } , { "\xc6\xe8\xcf\xe0" , "\x73\x7b\x5c" } , { "\xc6\xe8\xcf\xe0\xa2" , "\x73\x7b\x5c\x77" } , { "\xc6\xe8\xcf\xe2" , "\x73\x73\x7b\x5c" } , { "\xc6\xe8\xcf\xe5" , "\x74\x7b\x5c\x6d" } , { "\xc6\xe8\xcf\xe8" , "\x5c\x76\x63\x76" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\x5c\x76\x63\x76\x55\x6e" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x5c\x76\x63\x76\x58" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\x5c\x76\x63\x76\x5a\x7a" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x5c\x76\x63\x76\x6b\x6d" } , { "\xc6\xe8\xd0" , "\x5c\x76\x64" } , { "\xc6\xe8\xd0\xcc\xe8" , "\x5c\x76\x64\x61\x76" } , { "\xc6\xe8\xd0\xdb" , "\x5c\x76\x64\x6e" } , { "\xc6\xe8\xd0\xdd" , "\x5c\x76\x64\x70" } , { "\xc6\xe8\xd1" , "\x5c\x76\x65" } , { "\xc6\xe8\xd1\xa2" , "\x5c\x76\x65\x77" } , { "\xc6\xe8\xd1\xda" , "\x5c\x76\x65\x6d" } , { "\xc6\xe8\xd1\xda\xa2" , "\x5c\x76\x65\x6d\x77" } , { "\xc6\xe8\xd1\xdb" , "\x5c\x76\x65\x6e" } , { "\xc6\xe8\xd1\xdc" , "\x5c\x76\x65\x6f" } , { "\xc6\xe8\xd1\xdd" , "\x5c\x76\x65\x70" } , { "\xc6\xe8\xd1\xdd\xa2" , "\x5c\x76\x65\x70\x77" } , { "\xc6\xe8\xd1\xde" , "\x5c\x76\x65\x71" } , { "\xc6\xe8\xd1\xe0" , "\x5c\x76\x73\x65" } , { "\xc6\xe8\xd1\xe0\xa2" , "\x5c\x76\x73\x65\x77" } , { "\xc6\xe8\xd1\xe1" , "\x5c\x76\x74\x65" } , { "\xc6\xe8\xd1\xe1\xa2" , "\x5c\x76\x74\x65\x77" } , { "\xc6\xe8\xd1\xe2" , "\x5c\x76\x73\x73\x65" } , { "\xc6\xe8\xd1\xe4" , "\x5c\x76\x73\x65\x6d" } , { "\xc6\xe8\xd1\xe4\xa2" , "\x5c\x76\x73\x65\x6d\x77" } , { "\xc6\xe8\xd1\xe5" , "\x5c\x76\x74\x65\x6d" } , { "\xc6\xe8\xd1\xe5\xa2" , "\x5c\x76\x74\x65\x6d\x77" } , { "\xc6\xe8\xd1\xe8" , "\x5c\x76\x65\x76" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x5c\x76\x65\x79\x6d\x77" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x5c\x76\x65\x79\x71" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x5c\x76\x65\x76\x74\x6b" } , { "\xc6\xe8\xd2" , "\x5c\x76\x66" } , { "\xc6\xe8\xd4" , "\x5c\x7a" } , { "\xc6\xe8\xd4\xa2" , "\x5c\x7a\x77" } , { "\xc6\xe8\xd4\xda" , "\x5c\x7a\x6d" } , { "\xc6\xe8\xd4\xdb" , "\x5c\x7a\x6e" } , { "\xc6\xe8\xd4\xdc" , "\x5c\x7a\x6f" } , { "\xc6\xe8\xd4\xdd" , "\x5c\x7a\x70" } , { "\xc6\xe8\xd4\xdd\xa2" , "\x5c\x7a\x70\x77" } , { "\xc6\xe8\xd4\xde" , "\x5c\x7a\x71" } , { "\xc6\xe8\xd4\xe0" , "\x73\x5c\x7a" } , { "\xc6\xe8\xd4\xe0\xa2" , "\x73\x5c\x7a\x77" } , { "\xc6\xe8\xd4\xe1" , "\x74\x5c\x7a" } , { "\xc6\xe8\xd4\xe1\xa2" , "\x74\x5c\x7a\x77" } , { "\xc6\xe8\xd4\xe2" , "\x73\x73\x5c\x7a" } , { "\xc6\xe8\xd4\xe5" , "\x74\x5c\x7a\x6d" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\x5c\x76\x68\x79\x6d" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\x5c\x76\x7b\x68\x6f" } , { "\xc6\xe8\xd5" , "\x5c\x76\x69" } , { "\xc6\xe8\xd5\xa2" , "\x5c\x76\x69\x77" } , { "\xc6\xe8\xd5\xda" , "\x5c\x76\x69\x6d" } , { "\xc6\xe8\xd5\xdb" , "\x5c\x76\x69\x6e" } , { "\xc6\xe8\xd5\xdc" , "\x5c\x76\x69\x6f" } , { "\xc6\xe8\xd6" , "\x5c\x76\x6a" } , { "\xc6\xe8\xd6\xda" , "\x5c\x76\x6a\x6d" } , { "\xc6\xe8\xd6\xdb" , "\x5c\x76\x6a\x6e" } , { "\xc6\xe8\xd6\xdc" , "\x5c\x76\x6a\x6f" } , { "\xc6\xe8\xd6\xdd" , "\x5c\x76\x6a\x70" } , { "\xc6\xe8\xd6\xde" , "\x5c\x76\x6a\x71" } , { "\xc6\xe8\xd6\xe0" , "\x5c\x76\x73\x6a" } , { "\xc6\xe8\xd6\xe2" , "\x5c\x76\x73\x73\x6a" } , { "\xc6\xe8\xd6\xe8\xbd" , "\x5c\x76\x6a\x76\x53" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\x5c\x76\x6a\x76\x74\x53" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\x5c\x76\x6a\x76\x7b\x53" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x5c\x76\x6a\x79\x71" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\x5c\x76\x6a\x7a\x6f" } , { "\xc6\xe8\xd7" , "\x5c\x76\x6b" } , { "\xc6\xe8\xd7\xa2" , "\x5c\x76\x6b\x77" } , { "\xc6\xe8\xd7\xda" , "\x5c\x76\x6b\x6d" } , { "\xc6\xe8\xd7\xda\xa2" , "\x5c\x76\x6b\x6d\x77" } , { "\xc6\xe8\xd7\xdb" , "\x5c\x76\x6b\x6e" } , { "\xc6\xe8\xd7\xdb\xa2" , "\x5c\x76\x6b\x6e\x77" } , { "\xc6\xe8\xd7\xdc" , "\x5c\x76\x6b\x6f" } , { "\xc6\xe8\xd7\xdc\xa2" , "\x5c\x76\x6b\x6f\x77" } , { "\xc6\xe8\xd7\xdd" , "\x5c\x76\x6b\x70" } , { "\xc6\xe8\xd7\xdd\xa2" , "\x5c\x76\x6b\x70\x77" } , { "\xc6\xe8\xd7\xde" , "\x5c\x76\x6b\x71" } , { "\xc6\xe8\xd7\xe0" , "\x5c\x76\x73\x6b" } , { "\xc6\xe8\xd7\xe0\xa2" , "\x5c\x76\x73\x6b\x77" } , { "\xc6\xe8\xd7\xe1" , "\x5c\x76\x74\x6b" } , { "\xc6\xe8\xd7\xe1\xa2" , "\x5c\x76\x74\x6b\x77" } , { "\xc6\xe8\xd7\xe2" , "\x5c\x76\x73\x73\x6b" } , { "\xc6\xe8\xd7\xe5" , "\x5c\x76\x74\x6b\x6d" } , { "\xc6\xe8\xd7\xe5\xa2" , "\x5c\x76\x74\x6b\x6d\x77" } , { "\xc6\xe8\xd7\xe8" , "\x5c\x76\x6b\x76" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\x5c\x76\x6b\x76\x49\x6d" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\x5c\x76\x6b\x76\x49\x6e" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\x5c\x76\x6b\x76\x49\x6f" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\x5c\x76\x6b\x76\x49\x70" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\x5c\x76\x6b\x76\x49\x71" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\x5c\x76\x6b\x76\x73\x49" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\x5c\x76\x6b\x76\x74\x49" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\x5c\x76\x6b\x76\x74\x49\x6d" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\x5c\x76\x6b\x76\x49\x76" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\x5c\x76\x6b\x76\x49\x79\x70" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x5c\x76\x6b\x76\x7b\x49\x6e" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\x5c\x76\x6b\x76\x74\x7b\x49" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\x5c\x76\x6b\x76\x49\x7a" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x5c\x76\x6b\x76\x4b\x6d" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x5c\x76\x6b\x76\x74\x4e\x6d" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x5c\x76\x6b\x76\x50\x6d" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x5c\x76\x6b\x76\x74\x50" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x5c\x76\x6b\x76\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x5c\x76\x6b\x76\x53\x6d" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x5c\x76\x6b\x76\x53\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\x5c\x76\x6b\x76\x53\x6e" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x5c\x76\x6b\x76\x53\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x5c\x76\x6b\x76\x53\x70" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x5c\x76\x6b\x76\x53\x71" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\x5c\x76\x6b\x76\x73\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\x5c\x76\x6b\x76\x73\x53\x77" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x5c\x76\x6b\x76\x74\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x5c\x76\x6b\x76\x73\x73\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x5c\x76\x6b\x76\x74\x53\x6d" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\x5c\x76\x6b\x76\x53\x76\x49" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\x5c\x76\x6b\x76\x53\x79\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\x5c\x76\x6b\x76\x53\x79\x71" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\x5c\x76\x6b\x76\x7b\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x5c\x76\x6b\x76\x7b\x53\x6e" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\x5c\x76\x6b\x76\x7b\x53\x70" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x5c\x76\x6b\x76\x7b\x53\x71" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\x5c\x76\x6b\x76\x74\x7b\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x5c\x76\x6b\x76\x73\x73\x7b\x53" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\x5c\x76\x6b\x76\x55\x6e" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x5c\x76\x6b\x76\x55\x76\x4b\x6d" } , { "\xc6\xe8\xd7\xe8\xc2" , "\x5c\x76\x6b\x76\x58" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\x5c\x76\x6b\x76\x74\x58\x6d" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\x5c\x76\xd8\x6d" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\x5c\x76\xd8\x6e" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x5c\x76\x6b\x76\x5a\x7a\x6d" } , { "\xc6\xe8\xd7\xe8\xc6" , "\x5c\x76\x6b\x76\x5c" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\x5c\x76\x6b\x76\x5c\x6e" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\x5c\x76\x6b\x76\x5c\x70" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\x5c\x76\x6b\x76\x5c\x70\x77" } , { "\xc6\xe8\xd7\xe8\xc8" , "\x5c\x76\x6b\x76\x5d" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\x5c\x76\x6b\x76\x5d\x6d" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\x5c\x76\x6b\x76\x5d\x6e" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\x5c\x76\x6b\x76\x5d\x6f" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\x5c\x76\x6b\x76\x5d\x70" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\x5c\x76\x6b\x76\x73\x5d" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\x5c\x76\x6b\x76\x74\x5d" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\x5c\x76\x6b\x76\x73\x73\x5d" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\x5c\x76\x6b\x76\x74\x5d\x6d" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x5c\x76\x6b\x76\xb9\x6d" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x5c\x76\x6b\x76\xb9\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xc9" , "\x5c\x76\x6b\x76\x5e" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\x5c\x76\x6b\x76\x5e\x6d" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\x5c\x76\x6b\x76\x5e\x6e" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\x5c\x76\x6b\x76\x73\x5e" } , { "\xc6\xe8\xd7\xe8\xca" , "\x5c\x76\x6b\x76\x5f" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\x5c\x76\x6b\x76\x74\x5f" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\x5c\x76\x6b\x76\x7b\x5f\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\x5c\x76\x6b\x76\x61\x6e" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\x5c\x76\x6b\x76\x61\x6f" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\x5c\x76\x6b\x76\x73\x61\x77" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\x5c\x76\x6b\x76\x61\x76\x53\x6e\x77" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x5c\x76\x6b\x79\x70" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x5c\x76\x6b\x79\x71" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\x5c\x76\x7b\x6b\x6d" } , { "\xc6\xe8\xd7\xe8\xd1" , "\x5c\x76\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\x5c\x76\xc9\x6d" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\x5c\x76\xc9\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\x5c\x76\xc9\x6e" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\x5c\x76\xc9\x70" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\x5c\x76\x73\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\x5c\x76\x74\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\x5c\x76\x74\xc9\x6d" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\x5c\x76\x74\xc9\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\x5c\x76\xc9\x76" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\x5c\x76\xc9\x79\x6d\x77" } , { "\xc6\xe8\xd7\xe8\xd4" , "\x5c\x76\x6b\x7a" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\x5c\x76\x6b\x7a\x6d" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\x5c\x76\x6b\x7a\x6e" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\x5c\x76\x6b\x7a\x6e\x77" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\x5c\x76\x73\x6b\x7a" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\x5c\x76\x74\x6b\x7a" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x5c\x76\x73\x73\x6b\x7a" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x5c\x76\xca" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x5c\x76\xca\x76" } , { "\xc6\xe8\xd8" , "\x5c\x76\x6c" } , { "\xc6\xe8\xd8\xa2" , "\x5c\x76\x6c\x77" } , { "\xc6\xe8\xd8\xda" , "\x5c\x76\x6c\x6d" } , { "\xc6\xe8\xd8\xda\xa1" , "\x5c\x76\x6c\x6d\x77" } , { "\xc6\xe8\xd8\xda\xa2" , "\x5c\x76\x6c\x6d\x77" } , { "\xc6\xe8\xd8\xdb" , "\x5c\x76\x6c\x6e" } , { "\xc6\xe8\xd8\xdb\xa2" , "\x5c\x76\x6c\x6e\x77" } , { "\xc6\xe8\xd8\xdc" , "\x5c\x76\x6c\x6f" } , { "\xc6\xe8\xd8\xdc\xa2" , "\x5c\x76\x6c\x6f\x77" } , { "\xc6\xe8\xd8\xdd\xa2" , "\x5c\x76\x6c\x70\x77" } , { "\xc6\xe8\xd8\xe0" , "\x5c\x76\x73\x6c" } , { "\xc6\xe8\xd8\xe1" , "\x5c\x76\x74\x6c" } , { "\xc6\xe8\xd8\xe1\xa2" , "\x5c\x76\x74\x6c\x77" } , { "\xc6\xe8\xd8\xe2" , "\x5c\x76\x73\x73\x6c" } , { "\xc6\xe8\xd8\xe2\xa2" , "\x5c\x76\x73\x73\x6c\x77" } , { "\xc6\xe8\xd8\xe5" , "\x5c\x76\x74\x6c\x6d" } , { "\xc6\xe8\xd8\xe5\xa2" , "\x5c\x76\x74\x6c\x6d\x77" } , { "\xc6\xe8\xd8\xe6" , "\x5c\x76\x6c\x75" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x5c\x76\x6c\x79" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x5c\x76\x6c\x79\x6d\x77" } , { "\xc6\xe8\xd9\xa6" , "\x5c\x76\x43" } , { "\xc6\xe8\xd9\xc2" , "\x5c\x76\x58" } , { "\xc6\xe8\xd9\xc2\xdd" , "\x5c\x76\x58\x70" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\x5c\x76\x7b\x58" } , { "\xc6\xe8\xd9\xc6" , "\x5c\x76\x5c" } , { "\xc6\xe8\xd9\xc6\xda" , "\x5c\x76\x5c\x6d" } , { "\xc6\xe8\xd9\xc6\xdc" , "\x5c\x76\x5c\x6f" } , { "\xc6\xe8\xd9\xc6\xdd" , "\x5c\x76\x5c\x70" } , { "\xc6\xe8\xd9\xc6\xde" , "\x5c\x76\x5c\x71" } , { "\xc6\xe8\xd9\xc6\xe1" , "\x5c\x76\x74\x5c" } , { "\xc6\xe8\xd9\xc6\xe5" , "\x5c\x76\x74\x5c\x6d" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\x5c\x76\x74\x5c\x6d\x77" } , { "\xc6\xe8\xd9\xc6\xe6" , "\x5c\x76\x5c\x75" } , { "\xc6\xe8\xd9\xcc\xde" , "\x5c\x76\x61\x71" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\x5c\x76\x63\x76\x58" } , { "\xc6\xe8\xd9\xd7\xda" , "\x5c\x76\x6b\x6d" } , { "\xc6\xe8\xd9\xd8" , "\x5c\x76\x6c" } , { "\xc6\xe8\xe8" , "\x5c\x76" } , { "\xc6\xe8\xe9\xc6" , "\xb3\x5c" } , { "\xc6\xe8\xe9\xcf" , "\xb3\x63" } , { "\xc6\xe9" , "\x5c" } , { "\xc6\xe9\xe8\xbf" , "\x5c\x76\x55" } , { "\xc7" , "\x5c" } , { "\xc7\xdb" , "\x5c\x6e" } , { "\xc8" , "\x5d" } , { "\xc8\xa1" , "\x5d\x77" } , { "\xc8\xa2" , "\x5d\x77" } , { "\xc8\xa2\xa2" , "\x5d\x77\x77" } , { "\xc8\xa3" , "\x5d\x78" } , { "\xc8\xd0" , "\x5d\x64" } , { "\xc8\xd0\xcc" , "\x5d\x64\x61" } , { "\xc8\xda" , "\x5d\x6d" } , { "\xc8\xda\xa1" , "\x5d\x6d\x77" } , { "\xc8\xda\xa2" , "\x5d\x6d\x77" } , { "\xc8\xda\xa3" , "\x5d\x6d\x78" } , { "\xc8\xda\xd0\xe8" , "\x5d\x6d\x64\x76" } , { "\xc8\xdb" , "\x5d\x6e" } , { "\xc8\xdb\xa2" , "\x5d\x6e\x77" } , { "\xc8\xdb\xa2\xa2" , "\x5d\x6e\x77\x77" } , { "\xc8\xdc" , "\x5d\x6f" } , { "\xc8\xdc\xa2" , "\x5d\x6f\x77" } , { "\xc8\xdd" , "\x5d\x70" } , { "\xc8\xdd\xa1" , "\x5d\x70\x77" } , { "\xc8\xdd\xa2" , "\x5d\x70\x77" } , { "\xc8\xdd\xa3" , "\x5d\x70\x78" } , { "\xc8\xde" , "\x5d\x71" } , { "\xc8\xde\xa1" , "\x5d\x71\x77" } , { "\xc8\xde\xa2" , "\x5d\x71\x77" } , { "\xc8\xdf" , "\x5d\x72" } , { "\xc8\xe0" , "\x73\x5d" } , { "\xc8\xe0\xa2" , "\x73\x5d\x77" } , { "\xc8\xe1" , "\x74\x5d" } , { "\xc8\xe1\xa1" , "\x74\x5d\x77" } , { "\xc8\xe1\xa2" , "\x74\x5d\x77" } , { "\xc8\xe2" , "\x73\x73\x5d" } , { "\xc8\xe2\xa2" , "\x73\x73\x5d\x77" } , { "\xc8\xe2\xa3" , "\x73\x73\x5d\x78" } , { "\xc8\xe2\xcf\xe8" , "\x73\x73\x5d\x63\x76" } , { "\xc8\xe4" , "\x73\x5d\x6d" } , { "\xc8\xe4\xa2" , "\x73\x5d\x6d\x77" } , { "\xc8\xe4\xa3" , "\x73\x5d\x6d\x78" } , { "\xc8\xe5" , "\x74\x5d\x6d" } , { "\xc8\xe5\xa2" , "\x74\x5d\x6d\x77" } , { "\xc8\xe5\xa3" , "\x74\x5d\x6d\x78" } , { "\xc8\xe6" , "\x5d\x75" } , { "\xc8\xe6\xa2" , "\x5d\x75\x77" } , { "\xc8\xe7" , "\x74\x5d\x6d" } , { "\xc8\xe7\xa2" , "\x74\x5d\x6d\x77" } , { "\xc8\xe8" , "\x5d\x76" } , { "\xc8\xe8\xb3" , "\x5d\x76\x49" } , { "\xc8\xe8\xb3\xa2" , "\x5d\x76\x49\x77" } , { "\xc8\xe8\xb3\xda" , "\x5d\x76\x49\x6d" } , { "\xc8\xe8\xb3\xdb" , "\x5d\x76\x49\x6e" } , { "\xc8\xe8\xb3\xdb\xa2" , "\x5d\x76\x49\x6e\x77" } , { "\xc8\xe8\xb3\xdd" , "\x5d\x76\x49\x70" } , { "\xc8\xe8\xb3\xe1" , "\x5d\x76\x74\x49" } , { "\xc8\xe8\xb3\xe4" , "\x5d\x76\x73\x49\x6d" } , { "\xc8\xe8\xb3\xe5" , "\x5d\x76\x74\x49\x6d" } , { "\xc8\xe8\xb3\xe8\xc2" , "\x5d\x76\xe0" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x5d\x76\x49\x76\x63\x76\x6b\x76" } , { "\xc8\xe8\xb5" , "\x5d\x76\x4b" } , { "\xc8\xe8\xb5\xda" , "\x5d\x76\x4b\x6d" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\x5d\x76\x74\x7b\x4b" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\x5d\x76\x7b\x4b\x75\x77" } , { "\xc8\xe8\xb6" , "\x5d\x76\x4c" } , { "\xc8\xe8\xb8" , "\x5d\x76\x4e" } , { "\xc8\xe8\xb8\xda" , "\x5d\x76\x4e\x6d" } , { "\xc8\xe8\xb8\xdb" , "\x5d\x76\x4e\x6e" } , { "\xc8\xe8\xb8\xdd" , "\x5d\x76\x4e\x70" } , { "\xc8\xe8\xb8\xde" , "\x5d\x76\x4e\x71" } , { "\xc8\xe8\xb8\xe0" , "\x5d\x76\x73\x4e" } , { "\xc8\xe8\xb8\xe1" , "\x5d\x76\x74\x4e" } , { "\xc8\xe8\xb8\xe8" , "\x5d\x76\x4e\x76" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x5d\x76\xd1\x6d" } , { "\xc8\xe8\xb9\xdd" , "\x5d\x76\x4f\x70" } , { "\xc8\xe8\xba" , "\x5d\x76\x50" } , { "\xc8\xe8\xba\xda" , "\x5d\x76\x50\x6d" } , { "\xc8\xe8\xba\xdb" , "\x5d\x76\x50\x6e" } , { "\xc8\xe8\xba\xdd" , "\x5d\x76\x50\x70" } , { "\xc8\xe8\xbd" , "\x5d\x76\x53" } , { "\xc8\xe8\xbd\xa2" , "\x5d\x76\x53\x77" } , { "\xc8\xe8\xbd\xda" , "\x5d\x76\x53\x6d" } , { "\xc8\xe8\xbd\xdb" , "\x5d\x76\x53\x6e" } , { "\xc8\xe8\xbd\xdb\xa2" , "\x5d\x76\x53\x6e\x77" } , { "\xc8\xe8\xbd\xdc" , "\x5d\x76\x53\x6f" } , { "\xc8\xe8\xbd\xdd" , "\x5d\x76\x53\x70" } , { "\xc8\xe8\xbd\xde" , "\x5d\x76\x53\x71" } , { "\xc8\xe8\xbd\xe0" , "\x5d\x76\x73\x53" } , { "\xc8\xe8\xbd\xe0\xa2" , "\x5d\x76\x73\x53\x77" } , { "\xc8\xe8\xbd\xe1" , "\x5d\x76\x74\x53" } , { "\xc8\xe8\xbd\xe2" , "\x5d\x76\x73\x73\x53" } , { "\xc8\xe8\xbd\xe4" , "\x5d\x76\x73\x53\x6d" } , { "\xc8\xe8\xbd\xe5" , "\x5d\x76\x74\x53\x6d" } , { "\xc8\xe8\xbd\xe6" , "\x5d\x76\x53\x75" } , { "\xc8\xe8\xbd\xe8" , "\x5d\x76\x53\x76" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x5d\x76\x53\x76\x49\x70" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x5d\x76\x53\x76\x4b\x6d" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x5d\x76\x53\x76\x74\x4e" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x5d\x76\x53\x76\x74\x58\x6d" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\x5d\x76\x53\x76\x5f\x6d" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x5d\x76\x53\x79\x71" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\x5d\x76\x7b\x53\x6d" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\x5d\x76\x74\x7b\x53\x6d" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\x5d\x76\x53\x76\x65\x70" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\x5d\x76\x53\x7a\x6e" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x5d\x76\x74\x53\x7a" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x5d\x76\x53\x76\x6b" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x5d\x76\x53\x76\x6b\x76" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x5d\x76\x53\x76\x6c\x6d" } , { "\xc8\xe8\xbf" , "\x5d\x76\x55" } , { "\xc8\xe8\xbf\xda" , "\x5d\x76\x55\x6d" } , { "\xc8\xe8\xbf\xdb" , "\x5d\x76\x55\x6e" } , { "\xc8\xe8\xbf\xdd" , "\x5d\x76\x55\x70" } , { "\xc8\xe8\xbf\xe0\xa2" , "\x5d\x76\x73\x55\x77" } , { "\xc8\xe8\xbf\xe1" , "\x5d\x76\x74\x55" } , { "\xc8\xe8\xbf\xe8" , "\x5d\x76\x55\x76" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\x5d\x76\x7b\x55\x6d" } , { "\xc8\xe8\xc1" , "\x5d\x76\x57" } , { "\xc8\xe8\xc2" , "\x5d\x76\x58" } , { "\xc8\xe8\xc2\xa2" , "\x5d\x76\x58\x77" } , { "\xc8\xe8\xc2\xda" , "\x5d\x76\x58\x6d" } , { "\xc8\xe8\xc2\xda\xa2" , "\x5d\x76\x58\x6d\x77" } , { "\xc8\xe8\xc2\xdb" , "\x5d\x76\x58\x6e" } , { "\xc8\xe8\xc2\xdb\xa2" , "\x5d\x76\x58\x6e\x77" } , { "\xc8\xe8\xc2\xdc" , "\x5d\x76\x58\x6f" } , { "\xc8\xe8\xc2\xdd" , "\x5d\x76\x58\x70" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x5d\x76\x58\x70\x77" } , { "\xc8\xe8\xc2\xde" , "\x5d\x76\x58\x71" } , { "\xc8\xe8\xc2\xde\xa2" , "\x5d\x76\x58\x71\x77" } , { "\xc8\xe8\xc2\xe0" , "\x5d\x76\x73\x58" } , { "\xc8\xe8\xc2\xe1" , "\x5d\x76\x74\x58" } , { "\xc8\xe8\xc2\xe2\xa3" , "\x5d\x76\x73\x73\x58\x78" } , { "\xc8\xe8\xc2\xe5" , "\x5d\x76\x74\x58\x6d" } , { "\xc8\xe8\xc2\xe5\xa2" , "\x5d\x76\x74\x58\x6d\x77" } , { "\xc8\xe8\xc2\xe8" , "\x5d\x76\x58\x76" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x5d\x76\x58\x79" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x5d\x76\x58\x79\x6d" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x5d\x76\x7b\x58" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\x5d\x76\x73\x7b\x58" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\x5d\x76\x73\x73\x7b\x58" } , { "\xc8\xe8\xc3" , "\x5d\x76\x59" } , { "\xc8\xe8\xc3\xdc" , "\x5d\x76\x59\x6f" } , { "\xc8\xe8\xc3\xe8" , "\x5d\x76\x59\x76" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x5d\x76\x59\x76\x49" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x5d\x76\x59\x79\x6d" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x5d\x76\x59\x7a\x6f" } , { "\xc8\xe8\xc4" , "\x5d\x76\x5a" } , { "\xc8\xe8\xc4\xda" , "\x5d\x76\x5a\x6d" } , { "\xc8\xe8\xc4\xdc" , "\x5d\x76\x5a\x6f" } , { "\xc8\xe8\xc4\xdd" , "\x5d\x76\x5a\x70" } , { "\xc8\xe8\xc4\xe1" , "\x5d\x76\x74\x5a" } , { "\xc8\xe8\xc4\xe4" , "\x5d\x76\x73\x5a\x6d" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\x5d\x76\xb1\x6e" } , { "\xc8\xe8\xc5" , "\x5d\x76\x5b" } , { "\xc8\xe8\xc5\xda" , "\x5d\x76\x5b\x6d" } , { "\xc8\xe8\xc5\xdd" , "\x5d\x76\x5b\x70" } , { "\xc8\xe8\xc6" , "\x5d\x76\x5c" } , { "\xc8\xe8\xc6\xa2" , "\x5d\x76\x5c\x77" } , { "\xc8\xe8\xc6\xda" , "\x5d\x76\x5c\x6d" } , { "\xc8\xe8\xc6\xdb" , "\x5d\x76\x5c\x6e" } , { "\xc8\xe8\xc6\xdc" , "\x5d\x76\x5c\x6f" } , { "\xc8\xe8\xc6\xdd" , "\x5d\x76\x5c\x70" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x5d\x76\x5c\x70\x77" } , { "\xc8\xe8\xc6\xe5" , "\x5d\x76\x74\x5c\x6d" } , { "\xc8\xe8\xc6\xe5\xa2" , "\x5d\x76\x74\x5c\x6d\x77" } , { "\xc8\xe8\xc7" , "\x5d\x76\x5c" } , { "\xc8\xe8\xc8" , "\xb8" } , { "\xc8\xe8\xc8\xa2" , "\xb8\x77" } , { "\xc8\xe8\xc8\xa2\xa2" , "\xb8\x77\x77" } , { "\xc8\xe8\xc8\xda" , "\xb8\x6d" } , { "\xc8\xe8\xc8\xda\xa2" , "\xb8\x6d\x77" } , { "\xc8\xe8\xc8\xdb" , "\xb8\x6e" } , { "\xc8\xe8\xc8\xdb\xa2" , "\xb8\x6e\x77" } , { "\xc8\xe8\xc8\xdc" , "\xb8\x6f" } , { "\xc8\xe8\xc8\xdc\xa2" , "\xb8\x6f\x77" } , { "\xc8\xe8\xc8\xdd" , "\xb8\x70" } , { "\xc8\xe8\xc8\xdd\xa2" , "\xb8\x70\x77" } , { "\xc8\xe8\xc8\xde" , "\xb8\x71" } , { "\xc8\xe8\xc8\xe0" , "\x73\xb8" } , { "\xc8\xe8\xc8\xe0\xa2" , "\x73\xb8\x77" } , { "\xc8\xe8\xc8\xe1" , "\x74\xb8" } , { "\xc8\xe8\xc8\xe1\xa2" , "\x74\xb8\x77" } , { "\xc8\xe8\xc8\xe2" , "\x73\x73\xb8" } , { "\xc8\xe8\xc8\xe2\xa2" , "\x73\x73\xb8\x77" } , { "\xc8\xe8\xc8\xe4" , "\x73\xb8\x6d" } , { "\xc8\xe8\xc8\xe4\xa2" , "\x73\xb8\x6d\x77" } , { "\xc8\xe8\xc8\xe5" , "\x74\xb8\x6d" } , { "\xc8\xe8\xc8\xe5\xa2" , "\x74\xb8\x6d\x77" } , { "\xc8\xe8\xc8\xe6" , "\xb8\x75" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\xb8\x76\x55\x6e" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\xb8\x76\x5d\x6d" } , { "\xc8\xe8\xc8\xe8\xcc" , "\xb8\x76\x61" } , { "\xc8\xe8\xc8\xe8\xcf" , "\x7b\xb8" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\xb8\x76\x6b\x70" } , { "\xc8\xe8\xc9" , "\x5d\x76\x5e" } , { "\xc8\xe8\xc9\xdb" , "\x5d\x76\x5e\x6e" } , { "\xc8\xe8\xc9\xdc" , "\x5d\x76\x5e\x6f" } , { "\xc8\xe8\xc9\xdd" , "\x5d\x76\x5e\x70" } , { "\xc8\xe8\xc9\xe0" , "\x5d\x76\x73\x5e" } , { "\xc8\xe8\xc9\xe1" , "\x5d\x76\x74\x5e" } , { "\xc8\xe8\xc9\xe2" , "\x5d\x76\x73\x73\x5e" } , { "\xc8\xe8\xca" , "\x5d\x76\x5f" } , { "\xc8\xe8\xca\xda" , "\x5d\x76\x5f\x6d" } , { "\xc8\xe8\xca\xdb\xa2" , "\x5d\x76\x5f\x6e\x77" } , { "\xc8\xe8\xca\xdd" , "\x5d\x76\x5f\x70" } , { "\xc8\xe8\xca\xe0" , "\x5d\x76\x73\x5f" } , { "\xc8\xe8\xcb" , "\x5d\x76\x60" } , { "\xc8\xe8\xcc" , "\x5d\x76\x61" } , { "\xc8\xe8\xcc\xda" , "\x5d\x76\x61\x6d" } , { "\xc8\xe8\xcc\xdb" , "\x5d\x76\x61\x6e" } , { "\xc8\xe8\xcc\xdc" , "\x5d\x76\x61\x6f" } , { "\xc8\xe8\xcc\xde" , "\x5d\x76\x61\x71" } , { "\xc8\xe8\xcc\xe0" , "\x5d\x76\x73\x61" } , { "\xc8\xe8\xcc\xe0\xa2" , "\x5d\x76\x73\x61\x77" } , { "\xc8\xe8\xcc\xe5" , "\x5d\x76\x74\x61\x6d" } , { "\xc8\xe8\xcd" , "\x5d\x79" } , { "\xc8\xe8\xcd\xa2" , "\x5d\x79\x77" } , { "\xc8\xe8\xcd\xda" , "\x5d\x79\x6d" } , { "\xc8\xe8\xcd\xda\xa2" , "\x5d\x79\x6d\x77" } , { "\xc8\xe8\xcd\xdb" , "\x5d\x79\x6e" } , { "\xc8\xe8\xcd\xdd" , "\x5d\x79\x70" } , { "\xc8\xe8\xcd\xde" , "\x5d\x79\x71" } , { "\xc8\xe8\xcd\xde\xa1" , "\x5d\x79\x71\x77" } , { "\xc8\xe8\xcd\xe1" , "\x74\x5d\x79" } , { "\xc8\xe8\xcd\xe4" , "\x73\x5d\x79\x6d" } , { "\xc8\xe8\xcd\xe5" , "\x74\x5d\x79\x6d" } , { "\xc8\xe8\xcf" , "\x7b\x5d" } , { "\xc8\xe8\xcf\xa2" , "\x7b\x5d\x77" } , { "\xc8\xe8\xcf\xda" , "\x7b\x5d\x6d" } , { "\xc8\xe8\xcf\xda\xa1" , "\x7b\x5d\x6d\x77" } , { "\xc8\xe8\xcf\xda\xa2" , "\x7b\x5d\x6d\x77" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\x7b\x5d\x6d\x77\x77" } , { "\xc8\xe8\xcf\xdb" , "\x7b\x5d\x6e" } , { "\xc8\xe8\xcf\xdb\xa2" , "\x7b\x5d\x6e\x77" } , { "\xc8\xe8\xcf\xdc" , "\x7b\x5d\x6f" } , { "\xc8\xe8\xcf\xdc\xa2" , "\x7b\x5d\x6f\x77" } , { "\xc8\xe8\xcf\xdc\xa3" , "\x7b\x5d\x6f\x78" } , { "\xc8\xe8\xcf\xdd" , "\x7b\x5d\x70" } , { "\xc8\xe8\xcf\xdd\xa2" , "\x7b\x5d\x70\x77" } , { "\xc8\xe8\xcf\xde" , "\x7b\x5d\x71" } , { "\xc8\xe8\xcf\xde\xa2" , "\x7b\x5d\x71\x77" } , { "\xc8\xe8\xcf\xdf" , "\x7b\x5d\x72" } , { "\xc8\xe8\xcf\xe0" , "\x73\x7b\x5d" } , { "\xc8\xe8\xcf\xe0\xa2" , "\x73\x7b\x5d\x77" } , { "\xc8\xe8\xcf\xe1" , "\x74\x7b\x5d" } , { "\xc8\xe8\xcf\xe1\xa2" , "\x74\x7b\x5d\x77" } , { "\xc8\xe8\xcf\xe2" , "\x73\x73\x7b\x5d" } , { "\xc8\xe8\xcf\xe4" , "\x73\x7b\x5d\x6d" } , { "\xc8\xe8\xcf\xe5" , "\x74\x7b\x5d\x6d" } , { "\xc8\xe8\xcf\xe5\xa2" , "\x74\x7b\x5d\x6d\x77" } , { "\xc8\xe8\xcf\xe6" , "\x7b\x5d\x75" } , { "\xc8\xe8\xcf\xe7" , "\x74\x7b\x5d\x6d" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x7b\x5d\x79" } , { "\xc8\xe8\xcf\xe8\xd1" , "\x5d\x76\x63\x76\x65" } , { "\xc8\xe8\xd1" , "\xb9" } , { "\xc8\xe8\xd1\xa2" , "\xb9\x77" } , { "\xc8\xe8\xd1\xda" , "\xb9\x6d" } , { "\xc8\xe8\xd1\xda\xa2" , "\xb9\x6d\x77" } , { "\xc8\xe8\xd1\xdb" , "\xb9\x6e" } , { "\xc8\xe8\xd1\xdb\xa2" , "\xb9\x6e\x77" } , { "\xc8\xe8\xd1\xdc" , "\xb9\x6f" } , { "\xc8\xe8\xd1\xdd" , "\xb9\x70" } , { "\xc8\xe8\xd1\xde" , "\xb9\x71" } , { "\xc8\xe8\xd1\xe0" , "\x73\xb9" } , { "\xc8\xe8\xd1\xe0\xa2" , "\x73\xb9\x77" } , { "\xc8\xe8\xd1\xe1" , "\x74\xb9" } , { "\xc8\xe8\xd1\xe1\xa2" , "\x74\xb9\x77" } , { "\xc8\xe8\xd1\xe2" , "\x73\x73\xb9" } , { "\xc8\xe8\xd1\xe2\xa2" , "\x73\x73\xb9\x77" } , { "\xc8\xe8\xd1\xe4" , "\x73\xb9\x6d" } , { "\xc8\xe8\xd1\xe5" , "\x74\xb9\x6d" } , { "\xc8\xe8\xd1\xe7" , "\x74\xb9\x6d" } , { "\xc8\xe8\xd1\xe8" , "\xb9\x76" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\xb9\x76\x5d\x6f" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\xb9\x79\x6d\x77" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\xb9\x79\x71" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\xb9\x76\x6b\x6d\x77" } , { "\xc8\xe8\xd2\xdb" , "\x5d\x76\x66\x6e" } , { "\xc8\xe8\xd4" , "\x5d\x7a" } , { "\xc8\xe8\xd4\xda" , "\x5d\x7a\x6d" } , { "\xc8\xe8\xd4\xda\xa1" , "\x5d\x7a\x6d\x77" } , { "\xc8\xe8\xd4\xda\xa2" , "\x5d\x7a\x6d\x77" } , { "\xc8\xe8\xd4\xdb" , "\x5d\x7a\x6e" } , { "\xc8\xe8\xd4\xdd" , "\x5d\x7a\x70" } , { "\xc8\xe8\xd4\xe2" , "\x73\x73\x5d\x7a" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\x5d\x76\x7b\x68\x6d" } , { "\xc8\xe8\xd5" , "\x5d\x76\x69" } , { "\xc8\xe8\xd5\xa2" , "\x5d\x76\x69\x77" } , { "\xc8\xe8\xd6" , "\x5d\x76\x6a" } , { "\xc8\xe8\xd6\xdb" , "\x5d\x76\x6a\x6e" } , { "\xc8\xe8\xd6\xe2" , "\x5d\x76\x73\x73\x6a" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x5d\x76\x6a\x76\x4f" } , { "\xc8\xe8\xd6\xe8\xbd" , "\x5d\x76\x6a\x76\x53" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\x5d\x76\x6a\x76\x53\x6e" } , { "\xc8\xe8\xd6\xe8\xbe" , "\x5d\x76\x6a\x76\x54" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\x5d\x76\x6a\x76\x74\x54\x6d" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\x5d\x76\x6a\x76\x74\x54\x6d\x77" } , { "\xc8\xe8\xd7" , "\x5d\x76\x6b" } , { "\xc8\xe8\xd7\xa2" , "\x5d\x76\x6b\x77" } , { "\xc8\xe8\xd7\xda" , "\x5d\x76\x6b\x6d" } , { "\xc8\xe8\xd7\xdb" , "\x5d\x76\x6b\x6e" } , { "\xc8\xe8\xd7\xdb\xa2" , "\x5d\x76\x6b\x6e\x77" } , { "\xc8\xe8\xd7\xdc" , "\x5d\x76\x6b\x6f" } , { "\xc8\xe8\xd7\xdd" , "\x5d\x76\x6b\x70" } , { "\xc8\xe8\xd7\xde" , "\x5d\x76\x6b\x71" } , { "\xc8\xe8\xd7\xe0" , "\x5d\x76\x73\x6b" } , { "\xc8\xe8\xd7\xe0\xa2" , "\x5d\x76\x73\x6b\x77" } , { "\xc8\xe8\xd7\xe1" , "\x5d\x76\x74\x6b" } , { "\xc8\xe8\xd7\xe2" , "\x5d\x76\x73\x73\x6b" } , { "\xc8\xe8\xd7\xe5" , "\x5d\x76\x74\x6b\x6d" } , { "\xc8\xe8\xd7\xe8" , "\x5d\x76\x6b\x76" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\x5d\x76\x6b\x76\x49\x70" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x5d\x76\x6b\x76\x4b\x6d" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x5d\x76\x6b\x76\x74\x4b" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x5d\x76\x6b\x76\x53" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\x5d\x76\x6b\x76\x53\x6e" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x5d\x76\x6b\x76\x53\x6f" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x5d\x76\x6b\x76\x74\x53\x6d" } , { "\xc8\xe8\xd7\xe8\xc2" , "\x5d\x76\x6b\x76\x58" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\x5d\x76\x6b\x76\x58\x70" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\x5d\x76\x6b\x76\x58\x70\x77" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\x5d\x76\x6b\x76\x5c\x6e" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\x5d\x76\x6b\x76\x5c\x70" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\x5d\x76\x6b\x76\x5e\x6e" } , { "\xc8\xe8\xd7\xe8\xca" , "\x5d\x76\x6b\x76\x5f" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\x5d\x76\x6b\x76\x61\x70\x77" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x5d\x76\x6b\x79\x70" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x5d\x76\x6b\x79\x71" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\x5d\x76\x74\xc9\x6d" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\x5d\x76\xca\x76\x53\x6e" } , { "\xc8\xe8\xd8" , "\x5d\x76\x6c" } , { "\xc8\xe8\xd8\xda\xa2" , "\x5d\x76\x6c\x6d\x77" } , { "\xc8\xe8\xd8\xde" , "\x5d\x76\x6c\x71" } , { "\xc8\xe8\xd8\xe5" , "\x5d\x76\x74\x6c\x6d" } , { "\xc8\xe8\xd8\xe6" , "\x5d\x76\x6c\x75" } , { "\xc8\xe8\xe8" , "\x5d\x76" } , { "\xc8\xe8\xe9\xcf" , "\x5d\x76\x63" } , { "\xc8\xe9" , "\x5d" } , { "\xc9" , "\x5e" } , { "\xc9\xa1" , "\x5e\x77" } , { "\xc9\xa2" , "\x5e\x77" } , { "\xc9\xa3" , "\x5e\x78" } , { "\xc9\xc4" , "\x5e\x5a" } , { "\xc9\xca" , "\x5e\x5f" } , { "\xc9\xd0" , "\x5e\x64" } , { "\xc9\xda" , "\x5e\x6d" } , { "\xc9\xda\xa1" , "\x5e\x6d\x77" } , { "\xc9\xda\xa2" , "\x5e\x6d\x77" } , { "\xc9\xdb" , "\x5e\x6e" } , { "\xc9\xdb\xa2" , "\x5e\x6e\x77" } , { "\xc9\xdc" , "\x5e\x6f" } , { "\xc9\xdc\xa1" , "\x5e\x6f\x77" } , { "\xc9\xdc\xa2" , "\x5e\x6f\x77" } , { "\xc9\xdd" , "\x5e\x70" } , { "\xc9\xdd\xa1" , "\x5e\x70\x77" } , { "\xc9\xdd\xa2" , "\x5e\x70\x77" } , { "\xc9\xde" , "\x5e\x71" } , { "\xc9\xde\xa1" , "\x5e\x71\x77" } , { "\xc9\xde\xa2" , "\x5e\x71\x77" } , { "\xc9\xdf" , "\x5e\x72" } , { "\xc9\xe0" , "\x73\x5e" } , { "\xc9\xe0\xa2" , "\x73\x5e\x77" } , { "\xc9\xe1" , "\x74\x5e" } , { "\xc9\xe1\xa2" , "\x74\x5e\x77" } , { "\xc9\xe2" , "\x73\x73\x5e" } , { "\xc9\xe2\xa2" , "\x73\x73\x5e\x77" } , { "\xc9\xe4" , "\x73\x5e\x6d" } , { "\xc9\xe4\xa2" , "\x73\x5e\x6d\x77" } , { "\xc9\xe5" , "\x74\x5e\x6d" } , { "\xc9\xe5\xa2" , "\x74\x5e\x6d\x77" } , { "\xc9\xe6" , "\x5e\x75" } , { "\xc9\xe6\xa2" , "\x5e\x75\x77" } , { "\xc9\xe7" , "\x74\x5e\x6d" } , { "\xc9\xe7\xa2" , "\x74\x5e\x6d\x77" } , { "\xc9\xe8" , "\x5e\x76" } , { "\xc9\xe8\xb3\xda" , "\x5e\x76\x49\x6d" } , { "\xc9\xe8\xb3\xdb" , "\x5e\x76\x49\x6e" } , { "\xc9\xe8\xb3\xdc" , "\x5e\x76\x49\x6f" } , { "\xc9\xe8\xb3\xdd" , "\x5e\x76\x49\x70" } , { "\xc9\xe8\xb3\xe0" , "\x5e\x76\x73\x49" } , { "\xc9\xe8\xb3\xe1" , "\x5e\x76\x74\x49" } , { "\xc9\xe8\xb3\xe5" , "\x5e\x76\x74\x49\x6d" } , { "\xc9\xe8\xb4" , "\x5e\x76\x4a" } , { "\xc9\xe8\xb4\xda" , "\x5e\x76\x4a\x6d" } , { "\xc9\xe8\xb5" , "\x5e\x76\x4b" } , { "\xc9\xe8\xb5\xda" , "\x5e\x76\x4b\x6d" } , { "\xc9\xe8\xb5\xde" , "\x5e\x76\x4b\x71" } , { "\xc9\xe8\xb6" , "\x5e\x76\x4c" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\x5e\x76\x4c\x76\x5c\x6e" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x5e\x76\x4c\x76\x5c\x70" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\x5e\x76\x4c\x76\x5c\x76" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\x5e\x76\x4c\x76\x5c\x76\x65" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\x5e\x76\x4c\x76\x5c\x76\x65\x70" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\x5e\x76\x4e\x76\x73\x5c\x77" } , { "\xc9\xe8\xba" , "\x5e\x76\x50" } , { "\xc9\xe8\xba\xda" , "\x5e\x76\x50\x6d" } , { "\xc9\xe8\xba\xe5\xa2" , "\x5e\x76\x74\x50\x6d\x77" } , { "\xc9\xe8\xba\xe9" , "\x5e\x76\x50" } , { "\xc9\xe8\xbb" , "\x5e\x76\x51" } , { "\xc9\xe8\xbd" , "\x5e\x76\x53" } , { "\xc9\xe8\xbd\xdb" , "\x5e\x76\x53\x6e" } , { "\xc9\xe8\xbd\xdb\xa2" , "\x5e\x76\x53\x6e\x77" } , { "\xc9\xe8\xbd\xdc" , "\x5e\x76\x53\x6f" } , { "\xc9\xe8\xbd\xdd" , "\x5e\x76\x53\x70" } , { "\xc9\xe8\xbd\xde" , "\x5e\x76\x53\x71" } , { "\xc9\xe8\xbd\xe0" , "\x5e\x76\x73\x53" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x5e\x76\x74\x53\x77" } , { "\xc9\xe8\xbd\xe5" , "\x5e\x76\x74\x53\x6d" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x5e\x76\x74\x53\x6d\x77" } , { "\xc9\xe8\xbd\xe8" , "\x5e\x76\x53\x76" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x5e\x76\x53\x76\x49\x6d" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x5e\x76\x53\x76\x74\x49\x6d" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\x5e\x76\x53\x76\x73\x5c\x77" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x5e\x76\x53\x76\x5d\x6d" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x5e\x76\x53\x76\x74\x5d" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\x5e\x76\x53\x76\x63\x76" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\x5e\x76\x53\x76\x65\x70" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\x5e\x76\x53\x76\x74\x65\x6d" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\x5e\x76\x73\x53\x7a\x77" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\x5e\x76\x74\x53\x7a" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x5e\x76\x53\x76\x6b" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x5e\x76\x53\x76\x73\x73\x6b" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\x5e\x76\x53\x76\x6b\x76" } , { "\xc9\xe8\xbf\xe8" , "\x5e\x76\x55\x76" } , { "\xc9\xe8\xc2" , "\x5e\x76\x58" } , { "\xc9\xe8\xc2\xda" , "\x5e\x76\x58\x6d" } , { "\xc9\xe8\xc2\xdb" , "\x5e\x76\x58\x6e" } , { "\xc9\xe8\xc2\xdc" , "\x5e\x76\x58\x6f" } , { "\xc9\xe8\xc2\xe1" , "\x5e\x76\x74\x58" } , { "\xc9\xe8\xc2\xe5" , "\x5e\x76\x74\x58\x6d" } , { "\xc9\xe8\xc2\xe5\xa2" , "\x5e\x76\x74\x58\x6d\x77" } , { "\xc9\xe8\xc2\xe8" , "\x5e\x76\x58\x76" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\x5e\x76\x58\x76\x4b\x6d" } , { "\xc9\xe8\xc3" , "\x5e\x76\x59" } , { "\xc9\xe8\xc3\xda" , "\x5e\x76\x59\x6d" } , { "\xc9\xe8\xc3\xe5" , "\x5e\x76\x74\x59\x6d" } , { "\xc9\xe8\xc4" , "\x5e\x76\x5a" } , { "\xc9\xe8\xc4\xda" , "\x5e\x76\x5a\x6d" } , { "\xc9\xe8\xc6" , "\x5e\x76\x5c" } , { "\xc9\xe8\xc6\xda" , "\x5e\x76\x5c\x6d" } , { "\xc9\xe8\xc6\xdb" , "\x5e\x76\x5c\x6e" } , { "\xc9\xe8\xc6\xdc" , "\x5e\x76\x5c\x6f" } , { "\xc9\xe8\xc6\xdd" , "\x5e\x76\x5c\x70" } , { "\xc9\xe8\xc6\xe0" , "\x5e\x76\x73\x5c" } , { "\xc9\xe8\xc6\xe5" , "\x5e\x76\x74\x5c\x6d" } , { "\xc9\xe8\xc8" , "\x5e\x76\x5d" } , { "\xc9\xe8\xc8\xda" , "\x5e\x76\x5d\x6d" } , { "\xc9\xe8\xc8\xdc" , "\x5e\x76\x5d\x6f" } , { "\xc9\xe8\xc8\xe2" , "\x5e\x76\x73\x73\x5d" } , { "\xc9\xe8\xc8\xe8" , "\x5e\x76\x5d\x76" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\x5e\x76\x7b\x5d\x6e" } , { "\xc9\xe8\xc9" , "\x5e\x76\x5e" } , { "\xc9\xe8\xc9\xda" , "\x5e\x76\x5e\x6d" } , { "\xc9\xe8\xc9\xdd" , "\x5e\x76\x5e\x70" } , { "\xc9\xe8\xc9\xe1" , "\x5e\x76\x74\x5e" } , { "\xc9\xe8\xc9\xe5" , "\x5e\x76\x74\x5e\x6d" } , { "\xc9\xe8\xca" , "\x5e\x76\x5f" } , { "\xc9\xe8\xca\xda" , "\x5e\x76\x5f\x6d" } , { "\xc9\xe8\xca\xdc" , "\x5e\x76\x5f\x6f" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\x5e\x76\x74\x7b\x5f" } , { "\xc9\xe8\xcc" , "\x5e\x76\x61" } , { "\xc9\xe8\xcc\xda" , "\x5e\x76\x61\x6d" } , { "\xc9\xe8\xcc\xdc" , "\x5e\x76\x61\x6f" } , { "\xc9\xe8\xcc\xdd" , "\x5e\x76\x61\x70" } , { "\xc9\xe8\xcc\xe1" , "\x5e\x76\x74\x61" } , { "\xc9\xe8\xcd" , "\x5e\x79" } , { "\xc9\xe8\xcd\xda" , "\x5e\x79\x6d" } , { "\xc9\xe8\xcd\xda\xa2" , "\x5e\x79\x6d\x77" } , { "\xc9\xe8\xcd\xdd" , "\x5e\x79\x70" } , { "\xc9\xe8\xcd\xde" , "\x5e\x79\x71" } , { "\xc9\xe8\xcd\xe5" , "\x74\x5e\x79\x6d" } , { "\xc9\xe8\xcf" , "\x7b\x5e" } , { "\xc9\xe8\xcf\xa2" , "\x7b\x5e\x77" } , { "\xc9\xe8\xcf\xda" , "\x7b\x5e\x6d" } , { "\xc9\xe8\xcf\xda\xa1" , "\x7b\x5e\x6d\x77" } , { "\xc9\xe8\xcf\xda\xa2" , "\x7b\x5e\x6d\x77" } , { "\xc9\xe8\xcf\xdb" , "\x7b\x5e\x6e" } , { "\xc9\xe8\xcf\xdb\xa2" , "\x7b\x5e\x6e\x77" } , { "\xc9\xe8\xcf\xdc" , "\x7b\x5e\x6f" } , { "\xc9\xe8\xcf\xdd" , "\x7b\x5e\x70" } , { "\xc9\xe8\xcf\xde" , "\x7b\x5e\x71" } , { "\xc9\xe8\xcf\xe0" , "\x73\x7b\x5e" } , { "\xc9\xe8\xcf\xe0\xa2" , "\x73\x7b\x5e\x77" } , { "\xc9\xe8\xcf\xe1" , "\x74\x7b\x5e" } , { "\xc9\xe8\xcf\xe1\xa2" , "\x74\x7b\x5e\x77" } , { "\xc9\xe8\xcf\xe2" , "\x73\x73\x7b\x5e" } , { "\xc9\xe8\xcf\xe2\xa2" , "\x73\x73\x7b\x5e\x77" } , { "\xc9\xe8\xcf\xe4" , "\x73\x7b\x5e\x6d" } , { "\xc9\xe8\xcf\xe5" , "\x74\x7b\x5e\x6d" } , { "\xc9\xe8\xcf\xe5\xa2" , "\x74\x7b\x5e\x6d\x77" } , { "\xc9\xe8\xcf\xe6" , "\x7b\x5e\x75" } , { "\xc9\xe8\xcf\xe7" , "\x74\x7b\x5e\x6d" } , { "\xc9\xe8\xcf\xe8" , "\x5e\x76\x63\x76" } , { "\xc9\xe8\xd1" , "\x5e\x76\x65" } , { "\xc9\xe8\xd1\xda" , "\x5e\x76\x65\x6d" } , { "\xc9\xe8\xd1\xda\xa2" , "\x5e\x76\x65\x6d\x77" } , { "\xc9\xe8\xd1\xdb" , "\x5e\x76\x65\x6e" } , { "\xc9\xe8\xd1\xdb\xa2" , "\x5e\x76\x65\x6e\x77" } , { "\xc9\xe8\xd1\xdc" , "\x5e\x76\x65\x6f" } , { "\xc9\xe8\xd1\xdd" , "\x5e\x76\x65\x70" } , { "\xc9\xe8\xd1\xde" , "\x5e\x76\x65\x71" } , { "\xc9\xe8\xd1\xe0" , "\x5e\x76\x73\x65" } , { "\xc9\xe8\xd1\xe1" , "\x5e\x76\x74\x65" } , { "\xc9\xe8\xd1\xe1\xa2" , "\x5e\x76\x74\x65\x77" } , { "\xc9\xe8\xd1\xe2" , "\x5e\x76\x73\x73\x65" } , { "\xc9\xe8\xd1\xe2\xa2" , "\x5e\x76\x73\x73\x65\x77" } , { "\xc9\xe8\xd1\xe5" , "\x5e\x76\x74\x65\x6d" } , { "\xc9\xe8\xd1\xe5\xa2" , "\x5e\x76\x74\x65\x6d\x77" } , { "\xc9\xe8\xd1\xe6" , "\x5e\x76\x65\x75" } , { "\xc9\xe8\xd1\xe7" , "\x5e\x76\x74\x65\x6d" } , { "\xc9\xe8\xd5\xda" , "\x5e\x76\x69\x6d" } , { "\xc9\xe8\xd7" , "\x5e\x76\x6b" } , { "\xc9\xe8\xd7\xdb" , "\x5e\x76\x6b\x6e" } , { "\xc9\xe8\xd7\xdc" , "\x5e\x76\x6b\x6f" } , { "\xc9\xe8\xd7\xe0" , "\x5e\x76\x73\x6b" } , { "\xc9\xe8\xd7\xe2" , "\x5e\x76\x73\x73\x6b" } , { "\xc9\xe8\xd7\xe8" , "\x5e\x76\x6b\x76" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\x5e\x76\x6b\x76\x73\x53" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\x5e\x76\x6b\x76\x74\x53" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x5e\x76\x6b\x76\x5c\x70" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\x5e\x76\x6b\x76\x5d\x6e" } , { "\xc9\xe8\xd8" , "\x5e\x76\x6c" } , { "\xc9\xe8\xd8\xdd" , "\x5e\x76\x6c\x70" } , { "\xc9\xe8\xd8\xe5" , "\x5e\x76\x74\x6c\x6d" } , { "\xc9\xe8\xd9\xc2" , "\x5e\x76\x58" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x5e\x76\x74\x63\x77" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x5e\x76\x63\x79\x70" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x5e\x76\x74\x65\x6d" } , { "\xc9\xe8\xd9\xd7" , "\x5e\x76\x6b" } , { "\xc9\xe8\xe8" , "\x5e\x76" } , { "\xc9\xe8\xe9\xcf" , "\x5e\x76\x63" } , { "\xc9\xe9" , "\x5e" } , { "\xc9\xe9\xda" , "\x5e\x6d" } , { "\xc9\xe9\xdb" , "\x5e\x6e" } , { "\xc9\xe9\xdc" , "\x5e\x6f" } , { "\xc9\xe9\xdd" , "\x5e\x70" } , { "\xc9\xe9\xe1" , "\x74\x5e" } , { "\xc9\xe9\xe1\xa2" , "\x74\x5e\x77" } , { "\xc9\xe9\xe2" , "\x73\x73\x5e" } , { "\xc9\xe9\xe5" , "\x74\x5e\x6d" } , { "\xc9\xe9\xe5\xa2" , "\x74\x5e\x6d\x77" } , { "\xc9\xe9\xe6" , "\x5e\x75" } , { "\xc9\xe9\xe7" , "\x74\x5e\x6d" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x5e\x76\x74\x50\x6d\x77" } , { "\xc9\xe9\xe8\xbd\xdb" , "\x5e\x76\x53\x6e" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x5e\x76\x53\x6f" } , { "\xc9\xe9\xe8\xc2" , "\x5e\x76\x58" } , { "\xc9\xe9\xe8\xc2\xda" , "\x5e\x76\x58\x6d" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x5e\x76\x58\x6f" } , { "\xc9\xe9\xe8\xc2\xe1" , "\x5e\x76\x74\x58" } , { "\xc9\xe9\xe8\xcf\xdb" , "\x7b\xa9\x6e" } , { "\xc9\xe9\xe8\xcf\xe5" , "\x74\x7b\xa9\x6d" } , { "\xc9\xe9\xe8\xd1" , "\x5e\x76\x65" } , { "\xc9\xe9\xe8\xd1\xe5" , "\x5e\x76\x74\x65\x6d" } , { "\xc9\xe9\xe9\xe8\xc2" , "\x5e\x76\x58" } , { "\xca" , "\x5f" } , { "\xca\xa1" , "\x5f\x77" } , { "\xca\xa2" , "\x5f\x77" } , { "\xca\xa2\xa1" , "\x5f\x77\x77" } , { "\xca\xa3" , "\x5f\x78" } , { "\xca\xda" , "\x5f\x6d" } , { "\xca\xda\xa1" , "\x5f\x6d\x77" } , { "\xca\xda\xa2" , "\x5f\x6d\x77" } , { "\xca\xda\xa3" , "\x5f\x6d\x78" } , { "\xca\xdb" , "\x5f\x6e" } , { "\xca\xdb\xa2" , "\x5f\x6e\x77" } , { "\xca\xdc" , "\x5f\x6f" } , { "\xca\xdc\xa2" , "\x5f\x6f\x77" } , { "\xca\xdd" , "\x5f\x70" } , { "\xca\xdd\xa1" , "\x5f\x70\x77" } , { "\xca\xdd\xa2" , "\x5f\x70\x77" } , { "\xca\xde" , "\x5f\x71" } , { "\xca\xde\xa1" , "\x5f\x71\x77" } , { "\xca\xde\xa2" , "\x5f\x71\x77" } , { "\xca\xdf" , "\x5f\x72" } , { "\xca\xdf\xa2" , "\x5f\x72\x77" } , { "\xca\xe0" , "\x73\x5f" } , { "\xca\xe0\xa1" , "\x73\x5f\x77" } , { "\xca\xe0\xa2" , "\x73\x5f\x77" } , { "\xca\xe1" , "\x74\x5f" } , { "\xca\xe1\xa2" , "\x74\x5f\x77" } , { "\xca\xe2" , "\x73\x73\x5f" } , { "\xca\xe2\xa2" , "\x73\x73\x5f\x77" } , { "\xca\xe4" , "\x73\x5f\x6d" } , { "\xca\xe4\xa2" , "\x73\x5f\x6d\x77" } , { "\xca\xe5" , "\x74\x5f\x6d" } , { "\xca\xe5\xa2" , "\x74\x5f\x6d\x77" } , { "\xca\xe6" , "\x5f\x75" } , { "\xca\xe6\xa2" , "\x5f\x75\x77" } , { "\xca\xe7" , "\x74\x5f\x6d" } , { "\xca\xe8" , "\x5f\x76" } , { "\xca\xe8\xb3" , "\x5f\x76\x49" } , { "\xca\xe8\xb3\xda" , "\x5f\x76\x49\x6d" } , { "\xca\xe8\xb3\xdb" , "\x5f\x76\x49\x6e" } , { "\xca\xe8\xb3\xdd" , "\x5f\x76\x49\x70" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\x5f\x76\x49\x79\x71" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\x5f\x76\x74\xa2" } , { "\xca\xe8\xb4\xda" , "\x5f\x76\x4a\x6d" } , { "\xca\xe8\xb5\xda" , "\x5f\x76\x4b\x6d" } , { "\xca\xe8\xb5\xdd\xa2" , "\x5f\x76\x4b\x70\x77" } , { "\xca\xe8\xb6" , "\x5f\x76\x4c" } , { "\xca\xe8\xb6\xdb" , "\x5f\x76\x4c\x6e" } , { "\xca\xe8\xba" , "\x5f\x76\x50" } , { "\xca\xe8\xba\xa2" , "\x5f\x76\x50\x77" } , { "\xca\xe8\xba\xda" , "\x5f\x76\x50\x6d" } , { "\xca\xe8\xba\xda\xa2" , "\x5f\x76\x50\x6d\x77" } , { "\xca\xe8\xba\xdb" , "\x5f\x76\x50\x6e" } , { "\xca\xe8\xba\xdc" , "\x5f\x76\x50\x6f" } , { "\xca\xe8\xba\xdd" , "\x5f\x76\x50\x70" } , { "\xca\xe8\xba\xe0" , "\x5f\x76\x73\x50" } , { "\xca\xe8\xba\xe1" , "\x5f\x76\x74\x50" } , { "\xca\xe8\xba\xe1\xa2" , "\x5f\x76\x74\x50\x77" } , { "\xca\xe8\xba\xe2" , "\x5f\x76\x73\x73\x50" } , { "\xca\xe8\xba\xe5" , "\x5f\x76\x74\x50\x6d" } , { "\xca\xe8\xba\xe5\xa2" , "\x5f\x76\x74\x50\x6d\x77" } , { "\xca\xe8\xba\xe9" , "\x5f\x76\x50" } , { "\xca\xe8\xba\xe9\xda" , "\x5f\x76\x50\x6d" } , { "\xca\xe8\xba\xe9\xdc" , "\x5f\x76\x50\x6f" } , { "\xca\xe8\xba\xe9\xe1" , "\x5f\x76\x74\x50" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\x5f\x76\x74\x50\x77" } , { "\xca\xe8\xbd" , "\x5f\x76\x53" } , { "\xca\xe8\xbd\xdb" , "\x5f\x76\x53\x6e" } , { "\xca\xe8\xbd\xe0" , "\x5f\x76\x73\x53" } , { "\xca\xe8\xbd\xe2" , "\x5f\x76\x73\x73\x53" } , { "\xca\xe8\xbd\xe5" , "\x5f\x76\x74\x53\x6d" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\x5f\x76\xab\x6e" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\x5f\x76\x7b\x53\x6d" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\x5f\x76\x53\x76\x6b\x6e" } , { "\xca\xe8\xbf" , "\x5f\x76\x55" } , { "\xca\xe8\xbf\xda" , "\x5f\x76\x55\x6d" } , { "\xca\xe8\xbf\xdb" , "\x5f\x76\x55\x6e" } , { "\xca\xe8\xbf\xdb\xa2" , "\x5f\x76\x55\x6e\x77" } , { "\xca\xe8\xbf\xe0" , "\x5f\x76\x73\x55" } , { "\xca\xe8\xbf\xe1" , "\x5f\x76\x74\x55" } , { "\xca\xe8\xbf\xe5" , "\x5f\x76\x74\x55\x6d" } , { "\xca\xe8\xbf\xe8" , "\x5f\x76\x55\x76" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\x5f\x76\x55\x79\x70" } , { "\xca\xe8\xc2" , "\x5f\x76\x58" } , { "\xca\xe8\xc2\xa2" , "\x5f\x76\x58\x77" } , { "\xca\xe8\xc2\xda" , "\x5f\x76\x58\x6d" } , { "\xca\xe8\xc2\xdb" , "\x5f\x76\x58\x6e" } , { "\xca\xe8\xc2\xdc" , "\x5f\x76\x58\x6f" } , { "\xca\xe8\xc2\xdd" , "\x5f\x76\x58\x70" } , { "\xca\xe8\xc2\xdd\xa2" , "\x5f\x76\x58\x70\x77" } , { "\xca\xe8\xc2\xe1" , "\x5f\x76\x74\x58" } , { "\xca\xe8\xc2\xe5" , "\x5f\x76\x74\x58\x6d" } , { "\xca\xe8\xc2\xe8\xc2" , "\x5f\x76\xaf" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\x5f\x76\xaf\x6e" } , { "\xca\xe8\xc3\xda" , "\x5f\x76\x59\x6d" } , { "\xca\xe8\xc3\xdb" , "\x5f\x76\x59\x6e" } , { "\xca\xe8\xc4" , "\x5f\x76\x5a" } , { "\xca\xe8\xc4\xa2" , "\x5f\x76\x5a\x77" } , { "\xca\xe8\xc4\xa3" , "\x5f\x76\x5a\x78" } , { "\xca\xe8\xc4\xda" , "\x5f\x76\x5a\x6d" } , { "\xca\xe8\xc4\xda\xa2" , "\x5f\x76\x5a\x6d\x77" } , { "\xca\xe8\xc4\xda\xa3" , "\x5f\x76\x5a\x6d\x78" } , { "\xca\xe8\xc4\xdb" , "\x5f\x76\x5a\x6e" } , { "\xca\xe8\xc4\xdb\xa2" , "\x5f\x76\x5a\x6e\x77" } , { "\xca\xe8\xc4\xdc" , "\x5f\x76\x5a\x6f" } , { "\xca\xe8\xc4\xdc\xa2" , "\x5f\x76\x5a\x6f\x77" } , { "\xca\xe8\xc4\xdd" , "\x5f\x76\x5a\x70" } , { "\xca\xe8\xc4\xe1" , "\x5f\x76\x74\x5a" } , { "\xca\xe8\xc4\xe2" , "\x5f\x76\x73\x73\x5a" } , { "\xca\xe8\xc4\xe5" , "\x5f\x76\x74\x5a\x6d" } , { "\xca\xe8\xc4\xe5\xa2" , "\x5f\x76\x74\x5a\x6d\x77" } , { "\xca\xe8\xc4\xe8" , "\x5f\x76\x5a\x76" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\x5f\x76\x5a\x79\x6d" } , { "\xca\xe8\xc5" , "\x5f\x76\x5b" } , { "\xca\xe8\xc5\xa2" , "\x5f\x76\x5b\x77" } , { "\xca\xe8\xc5\xa3" , "\x5f\x76\x5b\x78" } , { "\xca\xe8\xc5\xda" , "\x5f\x76\x5b\x6d" } , { "\xca\xe8\xc5\xda\xa3" , "\x5f\x76\x5b\x6d\x78" } , { "\xca\xe8\xc5\xdb" , "\x5f\x76\x5b\x6e" } , { "\xca\xe8\xc5\xdd" , "\x5f\x76\x5b\x70" } , { "\xca\xe8\xc5\xe5" , "\x5f\x76\x74\x5b\x6d" } , { "\xca\xe8\xc6" , "\x5f\x76\x5c" } , { "\xca\xe8\xc6\xda" , "\x5f\x76\x5c\x6d" } , { "\xca\xe8\xc6\xdb" , "\x5f\x76\x5c\x6e" } , { "\xca\xe8\xc6\xdb\xa2" , "\x5f\x76\x5c\x6e\x77" } , { "\xca\xe8\xc6\xdc" , "\x5f\x76\x5c\x6f" } , { "\xca\xe8\xc6\xdd" , "\x5f\x76\x5c\x70" } , { "\xca\xe8\xc8" , "\x5f\x76\x5d" } , { "\xca\xe8\xc8\xdb" , "\x5f\x76\x5d\x6e" } , { "\xca\xe8\xc8\xe5" , "\x5f\x76\x74\x5d\x6d" } , { "\xca\xe8\xc9\xe2" , "\x5f\x76\x73\x73\x5e" } , { "\xca\xe8\xca" , "\xba" } , { "\xca\xe8\xca\xa2" , "\xba\x77" } , { "\xca\xe8\xca\xda" , "\xba\x6d" } , { "\xca\xe8\xca\xdb" , "\xba\x6e" } , { "\xca\xe8\xca\xdb\xa2" , "\xba\x6e\x77" } , { "\xca\xe8\xca\xdc" , "\xba\x6f" } , { "\xca\xe8\xca\xdd" , "\xba\x70" } , { "\xca\xe8\xca\xdd\xa2" , "\xba\x70\x77" } , { "\xca\xe8\xca\xde" , "\xba\x71" } , { "\xca\xe8\xca\xe0" , "\x73\xba" } , { "\xca\xe8\xca\xe0\xa2" , "\x73\xba\x77" } , { "\xca\xe8\xca\xe1" , "\x74\xba" } , { "\xca\xe8\xca\xe1\xa2" , "\x74\xba\x77" } , { "\xca\xe8\xca\xe2" , "\x73\x73\xba" } , { "\xca\xe8\xca\xe4" , "\x73\xba\x6d" } , { "\xca\xe8\xca\xe5" , "\x74\xba\x6d" } , { "\xca\xe8\xca\xe5\xa2" , "\x74\xba\x6d\x77" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\xba\x76\x5a\x6e" } , { "\xca\xe8\xca\xe8\xd8" , "\xba\x76\x6c" } , { "\xca\xe8\xcb" , "\x5f\x76\x60" } , { "\xca\xe8\xcb\xa2" , "\x5f\x76\x60\x77" } , { "\xca\xe8\xcb\xda" , "\x5f\x76\x60\x6d" } , { "\xca\xe8\xcb\xdb" , "\x5f\x76\x60\x6e" } , { "\xca\xe8\xcb\xdc" , "\x5f\x76\x60\x6f" } , { "\xca\xe8\xcb\xdd" , "\x5f\x76\x60\x70" } , { "\xca\xe8\xcb\xe2" , "\x5f\x76\x73\x73\x60" } , { "\xca\xe8\xcc" , "\x5f\x76\x61" } , { "\xca\xe8\xcc\xda" , "\x5f\x76\x61\x6d" } , { "\xca\xe8\xcc\xdb" , "\x5f\x76\x61\x6e" } , { "\xca\xe8\xcc\xe0" , "\x5f\x76\x73\x61" } , { "\xca\xe8\xcc\xe1" , "\x5f\x76\x74\x61" } , { "\xca\xe8\xcd" , "\x5f\x79" } , { "\xca\xe8\xcd\xa2" , "\x5f\x79\x77" } , { "\xca\xe8\xcd\xda" , "\x5f\x79\x6d" } , { "\xca\xe8\xcd\xda\xa2" , "\x5f\x79\x6d\x77" } , { "\xca\xe8\xcd\xdc" , "\x5f\x79\x6f" } , { "\xca\xe8\xcd\xdd" , "\x5f\x79\x70" } , { "\xca\xe8\xcd\xde" , "\x5f\x79\x71" } , { "\xca\xe8\xcd\xe5" , "\x74\x5f\x79\x6d" } , { "\xca\xe8\xcd\xe5\xa2" , "\x74\x5f\x79\x6d\x77" } , { "\xca\xe8\xcd\xe6" , "\x5f\x79\x75" } , { "\xca\xe8\xcd\xe6\xa2" , "\x5f\x79\x75\x77" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\x5f\x76\xbf\x6d" } , { "\xca\xe8\xcf" , "\x7b\x5f" } , { "\xca\xe8\xcf\xa2" , "\x7b\x5f\x77" } , { "\xca\xe8\xcf\xda" , "\x7b\x5f\x6d" } , { "\xca\xe8\xcf\xda\xa1" , "\x7b\x5f\x6d\x77" } , { "\xca\xe8\xcf\xda\xa2" , "\x7b\x5f\x6d\x77" } , { "\xca\xe8\xcf\xdb" , "\x7b\x5f\x6e" } , { "\xca\xe8\xcf\xdb\xa2" , "\x7b\x5f\x6e\x77" } , { "\xca\xe8\xcf\xdc" , "\x7b\x5f\x6f" } , { "\xca\xe8\xcf\xdd" , "\x7b\x5f\x70" } , { "\xca\xe8\xcf\xde" , "\x7b\x5f\x71" } , { "\xca\xe8\xcf\xe0" , "\x73\x7b\x5f" } , { "\xca\xe8\xcf\xe1" , "\x74\x7b\x5f" } , { "\xca\xe8\xcf\xe1\xa2" , "\x74\x7b\x5f\x77" } , { "\xca\xe8\xcf\xe2" , "\x73\x73\x7b\x5f" } , { "\xca\xe8\xcf\xe2\xa2" , "\x73\x73\x7b\x5f\x77" } , { "\xca\xe8\xcf\xe4" , "\x73\x7b\x5f\x6d" } , { "\xca\xe8\xcf\xe5" , "\x74\x7b\x5f\x6d" } , { "\xca\xe8\xcf\xe5\xa2" , "\x74\x7b\x5f\x6d\x77" } , { "\xca\xe8\xcf\xe6" , "\x7b\x5f\x75" } , { "\xca\xe8\xcf\xe7" , "\x74\x7b\x5f\x6d" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\x5f\x76\x63\x76\x53\x76" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\x5f\x76\x63\x76\x55\x76" } , { "\xca\xe8\xd1" , "\xbb" } , { "\xca\xe8\xd1\xa2" , "\xbb\x77" } , { "\xca\xe8\xd1\xda" , "\xbb\x6d" } , { "\xca\xe8\xd1\xda\xa2" , "\xbb\x6d\x77" } , { "\xca\xe8\xd1\xdb" , "\xbb\x6e" } , { "\xca\xe8\xd1\xdb\xa2" , "\xbb\x6e\x77" } , { "\xca\xe8\xd1\xdc" , "\xbb\x6f" } , { "\xca\xe8\xd1\xdd" , "\xbb\x70" } , { "\xca\xe8\xd1\xde" , "\xbb\x71" } , { "\xca\xe8\xd1\xe0" , "\x73\xbb" } , { "\xca\xe8\xd1\xe0\xa2" , "\x73\xbb\x77" } , { "\xca\xe8\xd1\xe1" , "\x74\xbb" } , { "\xca\xe8\xd1\xe1\xa2" , "\x74\xbb\x77" } , { "\xca\xe8\xd1\xe2" , "\x73\x73\xbb" } , { "\xca\xe8\xd1\xe2\xa2" , "\x73\x73\xbb\x77" } , { "\xca\xe8\xd1\xe5" , "\x74\xbb\x6d" } , { "\xca\xe8\xd1\xe6" , "\xbb\x75" } , { "\xca\xe8\xd1\xe7" , "\x74\xbb\x6d" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\xbb\x76\x49\x6e" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\xbb\x79\x6e" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\xbb\x79\x70" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\xbb\x79\x71" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\xbb\x7a\x70" } , { "\xca\xe8\xd4\xa2" , "\x5f\x7a\x77" } , { "\xca\xe8\xd4\xda" , "\x5f\x7a\x6d" } , { "\xca\xe8\xd4\xdb" , "\x5f\x7a\x6e" } , { "\xca\xe8\xd4\xe0" , "\x73\x5f\x7a" } , { "\xca\xe8\xd4\xe1" , "\x74\x5f\x7a" } , { "\xca\xe8\xd4\xe7" , "\x74\x5f\x7a\x6d" } , { "\xca\xe8\xd5\xda" , "\x5f\x76\x69\x6d" } , { "\xca\xe8\xd5\xdb" , "\x5f\x76\x69\x6e" } , { "\xca\xe8\xd5\xdc" , "\x5f\x76\x69\x6f" } , { "\xca\xe8\xd6\xda" , "\x5f\x76\x6a\x6d" } , { "\xca\xe8\xd6\xdb" , "\x5f\x76\x6a\x6e" } , { "\xca\xe8\xd6\xdc" , "\x5f\x76\x6a\x6f" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\x5f\x76\x6a\x76\x7b\x53" } , { "\xca\xe8\xd7" , "\x5f\x76\x6b" } , { "\xca\xe8\xd7\xda" , "\x5f\x76\x6b\x6d" } , { "\xca\xe8\xd7\xdb" , "\x5f\x76\x6b\x6e" } , { "\xca\xe8\xd7\xdc" , "\x5f\x76\x6b\x6f" } , { "\xca\xe8\xd7\xdd" , "\x5f\x76\x6b\x70" } , { "\xca\xe8\xd7\xe0" , "\x5f\x76\x73\x6b" } , { "\xca\xe8\xd7\xe0\xa2" , "\x5f\x76\x73\x6b\x77" } , { "\xca\xe8\xd7\xe1" , "\x5f\x76\x74\x6b" } , { "\xca\xe8\xd7\xe2" , "\x5f\x76\x73\x73\x6b" } , { "\xca\xe8\xd7\xe5" , "\x5f\x76\x74\x6b\x6d" } , { "\xca\xe8\xd7\xe6" , "\x5f\x76\x6b\x75" } , { "\xca\xe8\xd7\xe8" , "\x5f\x76\x6b\x76" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\x5f\x76\x6b\x76\x49\x70" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\x5f\x76\x6b\x76\x73\x73\x49" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x5f\x76\x6b\x76\x7b\x49\x6e" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\x5f\x76\x6b\x76\x73\x73\x7b\x49" } , { "\xca\xe8\xd7\xe8\xbd" , "\x5f\x76\x6b\x76\x53" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\x5f\x76\x6b\x76\x53\x6d" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\x5f\x76\x6b\x76\x53\x6d\x77" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\x5f\x76\x6b\x76\x53\x6e" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\x5f\x76\x6b\x76\x74\x53" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\x5f\x76\x6b\x76\x7b\x53" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x5f\x76\x6b\x76\x7b\x53\x6d" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x5f\x76\x6b\x76\x73\x73\x7b\x53" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\x5f\x76\x6b\x76\x5c\x70" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\x5f\x76\xc9\x70" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\x5f\x76\x74\xc9\x6d" } , { "\xca\xe8\xd7\xe8\xd4" , "\x5f\x76\x6b\x7a" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\x5f\x76\x6b\x7a\x77" } , { "\xca\xe8\xd8" , "\x5f\x76\x6c" } , { "\xca\xe8\xd8\xda" , "\x5f\x76\x6c\x6d" } , { "\xca\xe8\xd8\xe6" , "\x5f\x76\x6c\x75" } , { "\xca\xe8\xd8\xe8" , "\x5f\x76\x6c\x76" } , { "\xca\xe8\xe8" , "\x5f\x76" } , { "\xca\xe8\xe9\xcf" , "\x5f\x76\x63" } , { "\xca\xe9" , "\x5f" } , { "\xcb" , "\x60" } , { "\xcb\xa1" , "\x60\x77" } , { "\xcb\xa2" , "\x60\x77" } , { "\xcb\xa3" , "\x60\x78" } , { "\xcb\xd0" , "\x60\x64" } , { "\xcb\xd0\xdc" , "\x60\x64\x6f" } , { "\xcb\xda" , "\x60\x6d" } , { "\xcb\xda\xa1" , "\x60\x6d\x77" } , { "\xcb\xda\xa2" , "\x60\x6d\x77" } , { "\xcb\xda\xd0" , "\x60\x6d\x64" } , { "\xcb\xdb" , "\x60\x6e" } , { "\xcb\xdb\xa2" , "\x60\x6e\x77" } , { "\xcb\xdb\xa3" , "\x60\x6e\x78" } , { "\xcb\xdb\xd4\xdf" , "\x60\x6e\x68\x72" } , { "\xcb\xdc" , "\x60\x6f" } , { "\xcb\xdc\xa1" , "\x60\x6f\x77" } , { "\xcb\xdc\xa2" , "\x60\x6f\x77" } , { "\xcb\xdd" , "\x60\x70" } , { "\xcb\xdd\xa2" , "\x60\x70\x77" } , { "\xcb\xde" , "\x60\x71" } , { "\xcb\xde\xa1" , "\x60\x71\x77" } , { "\xcb\xde\xa2" , "\x60\x71\x77" } , { "\xcb\xdf" , "\x60\x72" } , { "\xcb\xdf\xa2" , "\x60\x72\x77" } , { "\xcb\xe0" , "\x73\x60" } , { "\xcb\xe1" , "\x74\x60" } , { "\xcb\xe1\xa2" , "\x74\x60\x77" } , { "\xcb\xe2" , "\x73\x73\x60" } , { "\xcb\xe2\xa2" , "\x73\x73\x60\x77" } , { "\xcb\xe4" , "\x73\x60\x6d" } , { "\xcb\xe5" , "\x74\x60\x6d" } , { "\xcb\xe5\xa2" , "\x74\x60\x6d\x77" } , { "\xcb\xe6" , "\x60\x75" } , { "\xcb\xe6\xa2" , "\x60\x75\x77" } , { "\xcb\xe7" , "\x74\x60\x6d" } , { "\xcb\xe7\xa2" , "\x74\x60\x6d\x77" } , { "\xcb\xe8" , "\x60\x76" } , { "\xcb\xe8\xb3\xdd" , "\x60\x76\x49\x70" } , { "\xcb\xe8\xbd\xdd" , "\x60\x76\x53\x70" } , { "\xcb\xe8\xbf" , "\x60\x76\x55" } , { "\xcb\xe8\xc2" , "\x60\x76\x58" } , { "\xcb\xe8\xc2\xdb" , "\x60\x76\x58\x6e" } , { "\xcb\xe8\xc4" , "\x60\x76\x5a" } , { "\xcb\xe8\xc4\xa2" , "\x60\x76\x5a\x77" } , { "\xcb\xe8\xc4\xda" , "\x60\x76\x5a\x6d" } , { "\xcb\xe8\xc4\xdb" , "\x60\x76\x5a\x6e" } , { "\xcb\xe8\xc5" , "\x60\x76\x5b" } , { "\xcb\xe8\xc5\xdb" , "\x60\x76\x5b\x6e" } , { "\xcb\xe8\xc6\xdb" , "\x60\x76\x5c\x6e" } , { "\xcb\xe8\xc6\xe8\xc6" , "\x60\x76\xb6" } , { "\xcb\xe8\xca\xda" , "\x60\x76\x5f\x6d" } , { "\xcb\xe8\xca\xdb" , "\x60\x76\x5f\x6e" } , { "\xcb\xe8\xca\xe2" , "\x60\x76\x73\x73\x5f" } , { "\xcb\xe8\xcb" , "\x60\x76\x60" } , { "\xcb\xe8\xcb\xda" , "\x60\x76\x60\x6d" } , { "\xcb\xe8\xcb\xdc" , "\x60\x76\x60\x6f" } , { "\xcb\xe8\xcb\xe2" , "\x60\x76\x73\x73\x60" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\x60\x76\x7b\x60\x6d" } , { "\xcb\xe8\xcc" , "\x60\x76\x61" } , { "\xcb\xe8\xcd" , "\x60\x79" } , { "\xcb\xe8\xcd\xa2" , "\x60\x79\x77" } , { "\xcb\xe8\xcd\xa3" , "\x60\x79\x78" } , { "\xcb\xe8\xcd\xda" , "\x60\x79\x6d" } , { "\xcb\xe8\xcd\xda\xa2" , "\x60\x79\x6d\x77" } , { "\xcb\xe8\xcd\xdd" , "\x60\x79\x70" } , { "\xcb\xe8\xcd\xde" , "\x60\x79\x71" } , { "\xcb\xe8\xcd\xe1" , "\x74\x60\x79" } , { "\xcb\xe8\xcd\xe2" , "\x73\x73\x60\x79" } , { "\xcb\xe8\xcd\xe4" , "\x73\x60\x79\x6d" } , { "\xcb\xe8\xcd\xe5" , "\x74\x60\x79\x6d" } , { "\xcb\xe8\xcf" , "\x7b\x60" } , { "\xcb\xe8\xcf\xa2" , "\x7b\x60\x77" } , { "\xcb\xe8\xcf\xda" , "\x7b\x60\x6d" } , { "\xcb\xe8\xcf\xda\xa2" , "\x7b\x60\x6d\x77" } , { "\xcb\xe8\xcf\xdb" , "\x7b\x60\x6e" } , { "\xcb\xe8\xcf\xdc" , "\x7b\x60\x6f" } , { "\xcb\xe8\xcf\xdd" , "\x7b\x60\x70" } , { "\xcb\xe8\xcf\xde" , "\x7b\x60\x71" } , { "\xcb\xe8\xcf\xdf" , "\x7b\x60\x72" } , { "\xcb\xe8\xcf\xe5" , "\x74\x7b\x60\x6d" } , { "\xcb\xe8\xd1\xe2" , "\x60\x76\x73\x73\x65" } , { "\xcb\xe8\xd1\xe5" , "\x60\x76\x74\x65\x6d" } , { "\xcb\xe8\xd4" , "\x60\x7a" } , { "\xcb\xe8\xd4\xe8\xcd" , "\x60\x76\x68\x79" } , { "\xcb\xe8\xe8" , "\x60\x76" } , { "\xcb\xe8\xe9\xcf" , "\x60\x76\x63" } , { "\xcb\xe9" , "\x60" } , { "\xcc" , "\x61" } , { "\xcc\xa1" , "\x61\x77" } , { "\xcc\xa2" , "\x61\x77" } , { "\xcc\xa3" , "\x61\x78" } , { "\xcc\xda" , "\x61\x6d" } , { "\xcc\xda\xa1" , "\x61\x6d\x77" } , { "\xcc\xda\xa2" , "\x61\x6d\x77" } , { "\xcc\xda\xa3" , "\x61\x6d\x78" } , { "\xcc\xdb" , "\x61\x6e" } , { "\xcc\xdb\xa2" , "\x61\x6e\x77" } , { "\xcc\xdb\xa2\xa2" , "\x61\x6e\x77\x77" } , { "\xcc\xdb\xd0\xe8" , "\x61\x6e\x64\x76" } , { "\xcc\xdc" , "\x61\x6f" } , { "\xcc\xdc\xa1" , "\x61\x6f\x77" } , { "\xcc\xdc\xa2" , "\x61\x6f\x77" } , { "\xcc\xdd" , "\x61\x70" } , { "\xcc\xdd\xa1" , "\x61\x70\x77" } , { "\xcc\xdd\xa2" , "\x61\x70\x77" } , { "\xcc\xdd\xa2\xa2" , "\x61\x70\x77\x77" } , { "\xcc\xde" , "\x61\x71" } , { "\xcc\xde\xa1" , "\x61\x71\x77" } , { "\xcc\xde\xa2" , "\x61\x71\x77" } , { "\xcc\xdf" , "\x61\x72" } , { "\xcc\xdf\xa2" , "\x61\x72\x77" } , { "\xcc\xe0" , "\x73\x61" } , { "\xcc\xe0\xa2" , "\x73\x61\x77" } , { "\xcc\xe1" , "\x74\x61" } , { "\xcc\xe1\xa1" , "\x74\x61\x77" } , { "\xcc\xe1\xa2" , "\x74\x61\x77" } , { "\xcc\xe1\xa2\xa2" , "\x74\x61\x77\x77" } , { "\xcc\xe2" , "\x73\x73\x61" } , { "\xcc\xe2\xa1" , "\x73\x73\x61\x77" } , { "\xcc\xe2\xa2" , "\x73\x73\x61\x77" } , { "\xcc\xe4" , "\x73\x61\x6d" } , { "\xcc\xe4\xa2" , "\x73\x61\x6d\x77" } , { "\xcc\xe4\xd0\xb1" , "\x73\x61\x6d\x64\x48\x75" } , { "\xcc\xe5" , "\x74\x61\x6d" } , { "\xcc\xe5\xa2" , "\x74\x61\x6d\x77" } , { "\xcc\xe6" , "\x61\x75" } , { "\xcc\xe6\xa2" , "\x61\x75\x77" } , { "\xcc\xe6\xa3" , "\x61\x75\x78" } , { "\xcc\xe7" , "\x74\x61\x6d" } , { "\xcc\xe8" , "\x61\x76" } , { "\xcc\xe8\xb3\xa2" , "\x61\x76\x49\x77" } , { "\xcc\xe8\xb3\xda" , "\x61\x76\x49\x6d" } , { "\xcc\xe8\xb3\xdb" , "\x61\x76\x49\x6e" } , { "\xcc\xe8\xb3\xdc" , "\x61\x76\x49\x6f" } , { "\xcc\xe8\xb3\xdd" , "\x61\x76\x49\x70" } , { "\xcc\xe8\xb3\xde" , "\x61\x76\x49\x71" } , { "\xcc\xe8\xb3\xdf" , "\x61\x76\x49\x72" } , { "\xcc\xe8\xb3\xe1" , "\x61\x76\x74\x49" } , { "\xcc\xe8\xb3\xe4" , "\x61\x76\x73\x49\x6d" } , { "\xcc\xe8\xb3\xe5" , "\x61\x76\x74\x49\x6d" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\x61\x76\x49\x79\x6d" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\x61\x76\x7b\x49\x6e\x77" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\x61\x76\x7b\x49\x71" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\x61\x76\x74\xa2\x6d" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\x61\x76\x49\x76\x6b\x6f" } , { "\xcc\xe8\xb4\xda" , "\x61\x76\x4a\x6d" } , { "\xcc\xe8\xb4\xe8" , "\x61\x76\x4a\x76" } , { "\xcc\xe8\xb5" , "\x61\x76\x4b" } , { "\xcc\xe8\xb5\xa2" , "\x61\x76\x4b\x77" } , { "\xcc\xe8\xb5\xda" , "\x61\x76\x4b\x6d" } , { "\xcc\xe8\xb5\xdd" , "\x61\x76\x4b\x70" } , { "\xcc\xe8\xb8" , "\x61\x76\x4e" } , { "\xcc\xe8\xb8\xa2" , "\x61\x76\x4e\x77" } , { "\xcc\xe8\xb8\xda" , "\x61\x76\x4e\x6d" } , { "\xcc\xe8\xb8\xdc" , "\x61\x76\x4e\x6f" } , { "\xcc\xe8\xb8\xdd" , "\x61\x76\x4e\x70" } , { "\xcc\xe8\xb8\xe0\xa2" , "\x61\x76\x73\x4e\x77" } , { "\xcc\xe8\xb8\xe1" , "\x61\x76\x74\x4e" } , { "\xcc\xe8\xb8\xe8\xc8" , "\x61\x76\x4e\x76\x5d" } , { "\xcc\xe8\xba" , "\x61\x76\x50" } , { "\xcc\xe8\xba\xda" , "\x61\x76\x50\x6d" } , { "\xcc\xe8\xba\xdb" , "\x61\x76\x50\x6e" } , { "\xcc\xe8\xba\xe0" , "\x61\x76\x73\x50" } , { "\xcc\xe8\xba\xe8" , "\x61\x76\x50\x76" } , { "\xcc\xe8\xba\xe9" , "\x61\x76\x50" } , { "\xcc\xe8\xbd" , "\x61\x76\x53" } , { "\xcc\xe8\xbd\xda" , "\x61\x76\x53\x6d" } , { "\xcc\xe8\xbd\xdc" , "\x61\x76\x53\x6f" } , { "\xcc\xe8\xbd\xe0" , "\x61\x76\x73\x53" } , { "\xcc\xe8\xbd\xe1" , "\x61\x76\x74\x53" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\x61\x76\x53\x79\x71" } , { "\xcc\xe8\xbf" , "\x61\x76\x55" } , { "\xcc\xe8\xbf\xda" , "\x61\x76\x55\x6d" } , { "\xcc\xe8\xbf\xdb" , "\x61\x76\x55\x6e" } , { "\xcc\xe8\xbf\xe8" , "\x61\x76\x55\x76" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\x61\x76\x7b\x55\x6e" } , { "\xcc\xe8\xc1" , "\x61\x76\x57" } , { "\xcc\xe8\xc1\xe5\xa2" , "\x61\x76\x74\x57\x6d\x77" } , { "\xcc\xe8\xc1\xe8\xcc" , "\x61\x76\xd7" } , { "\xcc\xe8\xc1\xe8\xd7" , "\x61\x76\x57\x76\x6b" } , { "\xcc\xe8\xc2" , "\x61\x76\x58" } , { "\xcc\xe8\xc2\xda" , "\x61\x76\x58\x6d" } , { "\xcc\xe8\xc2\xda\xa2" , "\x61\x76\x58\x6d\x77" } , { "\xcc\xe8\xc2\xdb" , "\x61\x76\x58\x6e" } , { "\xcc\xe8\xc2\xe5" , "\x61\x76\x74\x58\x6d" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\x61\x76\xaf\x6e" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\x61\x76\xb0\x70" } , { "\xcc\xe8\xc2\xe8\xcd" , "\x61\x76\x58\x79" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\x61\x76\x58\x79\x70" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\x61\x76\x58\x79\x70\x77" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\x61\x76\x58\x79\x71" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\x61\x76\x58\x76\x62\x76" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\x61\x76\x7b\x58\x79" } , { "\xcc\xe8\xc3" , "\x61\x76\x59" } , { "\xcc\xe8\xc4" , "\x61\x76\x5a" } , { "\xcc\xe8\xc4\xda" , "\x61\x76\x5a\x6d" } , { "\xcc\xe8\xc4\xdb" , "\x61\x76\x5a\x6e" } , { "\xcc\xe8\xc4\xdc" , "\x61\x76\x5a\x6f" } , { "\xcc\xe8\xc4\xdd" , "\x61\x76\x5a\x70" } , { "\xcc\xe8\xc4\xe1" , "\x61\x76\x74\x5a" } , { "\xcc\xe8\xc4\xe8\xc5" , "\x61\x76\xb2" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\x61\x76\xb2\x6e" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\x61\x76\x5a\x7a\x6d" } , { "\xcc\xe8\xc5\xda" , "\x61\x76\x5b\x6d" } , { "\xcc\xe8\xc5\xe5\xa2" , "\x61\x76\x74\x5b\x6d\x77" } , { "\xcc\xe8\xc5\xe8\xc4" , "\x61\x76\x5b\x76\x5a" } , { "\xcc\xe8\xc6" , "\x61\x76\x5c" } , { "\xcc\xe8\xc6\xa2" , "\x61\x76\x5c\x77" } , { "\xcc\xe8\xc6\xda" , "\x61\x76\x5c\x6d" } , { "\xcc\xe8\xc6\xda\xa2" , "\x61\x76\x5c\x6d\x77" } , { "\xcc\xe8\xc6\xdb" , "\x61\x76\x5c\x6e" } , { "\xcc\xe8\xc6\xdc" , "\x61\x76\x5c\x6f" } , { "\xcc\xe8\xc6\xdd" , "\x61\x76\x5c\x70" } , { "\xcc\xe8\xc6\xdd\xa2" , "\x61\x76\x5c\x70\x77" } , { "\xcc\xe8\xc6\xde" , "\x61\x76\x5c\x71" } , { "\xcc\xe8\xc6\xe0\xa2" , "\x61\x76\x73\x5c\x77" } , { "\xcc\xe8\xc6\xe1" , "\x61\x76\x74\x5c" } , { "\xcc\xe8\xc6\xe5" , "\x61\x76\x74\x5c\x6d" } , { "\xcc\xe8\xc8" , "\x61\x76\x5d" } , { "\xcc\xe8\xc8\xda" , "\x61\x76\x5d\x6d" } , { "\xcc\xe8\xc8\xda\xa1" , "\x61\x76\x5d\x6d\x77" } , { "\xcc\xe8\xc8\xdb" , "\x61\x76\x5d\x6e" } , { "\xcc\xe8\xc8\xdb\xa2" , "\x61\x76\x5d\x6e\x77" } , { "\xcc\xe8\xc8\xdc" , "\x61\x76\x5d\x6f" } , { "\xcc\xe8\xc8\xdd" , "\x61\x76\x5d\x70" } , { "\xcc\xe8\xc8\xde" , "\x61\x76\x5d\x71" } , { "\xcc\xe8\xc8\xdf" , "\x61\x76\x5d\x72" } , { "\xcc\xe8\xc8\xe0" , "\x61\x76\x73\x5d" } , { "\xcc\xe8\xc8\xe1" , "\x61\x76\x74\x5d" } , { "\xcc\xe8\xc8\xe2" , "\x61\x76\x73\x73\x5d" } , { "\xcc\xe8\xc8\xe2\xa2" , "\x61\x76\x73\x73\x5d\x77" } , { "\xcc\xe8\xc8\xe5" , "\x61\x76\x74\x5d\x6d" } , { "\xcc\xe8\xc8\xe5\xa2" , "\x61\x76\x74\x5d\x6d\x77" } , { "\xcc\xe8\xc8\xe8" , "\x61\x76\x5d\x76" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\x61\x76\x5d\x76\xe0" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\x61\x76\x5d\x76\xe0\x6e" } , { "\xcc\xe8\xc8\xe8\xb8" , "\x61\x76\x5d\x76\x4e" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\x61\x76\x5d\x76\x5a\x6d" } , { "\xcc\xe8\xc8\xe8\xcd" , "\x61\x76\x5d\x79" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\x61\x76\x5d\x79\x70" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\x61\x76\x5d\x79\x71" } , { "\xcc\xe8\xc8\xe8\xcf" , "\x61\x76\x7b\x5d" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\x61\x76\x7b\x5d\x6d" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\x61\x76\x7b\x5d\x71" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\x61\x76\x73\x7b\x5d" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\x61\x76\x74\x7b\x5d" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\x61\x76\x73\x7b\x5d\x6d" } , { "\xcc\xe8\xc8\xe8\xd1" , "\x61\x76\xb9" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\x61\x76\xb9\x6d" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\x61\x76\xb9\x6d\x77" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\x61\x76\xb9\x6e" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\x61\x76\x74\xb9" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\x61\x76\x73\x73\xb9" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\x61\x76\x74\xb9\x6d" } , { "\xcc\xe8\xc8\xe8\xd5" , "\x61\x76\x5d\x76\x69" } , { "\xcc\xe8\xc8\xe8\xd6" , "\x61\x76\x5d\x76\x6a" } , { "\xcc\xe8\xc8\xe8\xd7" , "\x61\x76\x5d\x76\x6b" } , { "\xcc\xe8\xc9" , "\x61\x76\x5e" } , { "\xcc\xe8\xc9\xda" , "\x61\x76\x5e\x6d" } , { "\xcc\xe8\xc9\xdb" , "\x61\x76\x5e\x6e" } , { "\xcc\xe8\xc9\xdc" , "\x61\x76\x5e\x6f" } , { "\xcc\xe8\xc9\xe0" , "\x61\x76\x73\x5e" } , { "\xcc\xe8\xc9\xe1" , "\x61\x76\x74\x5e" } , { "\xcc\xe8\xc9\xe4" , "\x61\x76\x73\x5e\x6d" } , { "\xcc\xe8\xc9\xe5" , "\x61\x76\x74\x5e\x6d" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\x61\x76\x74\x7b\x5e" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\x61\x76\x5e\x76\x74\x65\x6d" } , { "\xcc\xe8\xca" , "\x61\x76\x5f" } , { "\xcc\xe8\xca\xa2" , "\x61\x76\x5f\x77" } , { "\xcc\xe8\xca\xda" , "\x61\x76\x5f\x6d" } , { "\xcc\xe8\xca\xda\xa2" , "\x61\x76\x5f\x6d\x77" } , { "\xcc\xe8\xca\xdb" , "\x61\x76\x5f\x6e" } , { "\xcc\xe8\xca\xdb\xa2" , "\x61\x76\x5f\x6e\x77" } , { "\xcc\xe8\xca\xdc" , "\x61\x76\x5f\x6f" } , { "\xcc\xe8\xca\xdd" , "\x61\x76\x5f\x70" } , { "\xcc\xe8\xca\xde" , "\x61\x76\x5f\x71" } , { "\xcc\xe8\xca\xe0" , "\x61\x76\x73\x5f" } , { "\xcc\xe8\xca\xe1" , "\x61\x76\x74\x5f" } , { "\xcc\xe8\xca\xe1\xa2" , "\x61\x76\x74\x5f\x77" } , { "\xcc\xe8\xca\xe5" , "\x61\x76\x74\x5f\x6d" } , { "\xcc\xe8\xca\xe5\xa2" , "\x61\x76\x74\x5f\x6d\x77" } , { "\xcc\xe8\xca\xe6" , "\x61\x76\x5f\x75" } , { "\xcc\xe8\xca\xe7" , "\x61\x76\x74\x5f\x6d" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\x61\x76\x5f\x76\xb2" } , { "\xcc\xe8\xca\xe8\xcf" , "\x61\x76\x7b\x5f" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\x61\x76\x7b\x5f\x6d\x77" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\x61\x76\x7b\x5f\x6e" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\x61\x76\x74\x7b\x5f" } , { "\xcc\xe8\xcb" , "\x61\x76\x60" } , { "\xcc\xe8\xcb\xa3" , "\x61\x76\x60\x78" } , { "\xcc\xe8\xcb\xda" , "\x61\x76\x60\x6d" } , { "\xcc\xe8\xcb\xdb" , "\x61\x76\x60\x6e" } , { "\xcc\xe8\xcb\xdc" , "\x61\x76\x60\x6f" } , { "\xcc\xe8\xcb\xdd" , "\x61\x76\x60\x70" } , { "\xcc\xe8\xcb\xde" , "\x61\x76\x60\x71" } , { "\xcc\xe8\xcb\xe1" , "\x61\x76\x74\x60" } , { "\xcc\xe8\xcb\xe5" , "\x61\x76\x74\x60\x6d" } , { "\xcc\xe8\xcb\xe5\xa2" , "\x61\x76\x74\x60\x6d\x77" } , { "\xcc\xe8\xcb\xe6" , "\x61\x76\x60\x75" } , { "\xcc\xe8\xcb\xe8" , "\x61\x76\x60\x76" } , { "\xcc\xe8\xcb\xe8\xcf" , "\x61\x76\x7b\x60" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\x61\x76\x7b\x60\x6d" } , { "\xcc\xe8\xcc" , "\xbd" } , { "\xcc\xe8\xcc\xa2" , "\xbd\x77" } , { "\xcc\xe8\xcc\xda" , "\xbd\x6d" } , { "\xcc\xe8\xcc\xda\xa1" , "\xbd\x6d\x77" } , { "\xcc\xe8\xcc\xda\xa2" , "\xbd\x6d\x77" } , { "\xcc\xe8\xcc\xdb" , "\xbd\x6e" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xbd\x6e\x77" } , { "\xcc\xe8\xcc\xdc" , "\xbd\x6f" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xbd\x6f\x77" } , { "\xcc\xe8\xcc\xdd" , "\xbd\x70" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xbd\x70\x77" } , { "\xcc\xe8\xcc\xde" , "\xbd\x71" } , { "\xcc\xe8\xcc\xe0" , "\x73\xbd" } , { "\xcc\xe8\xcc\xe0\xa2" , "\x73\xbd\x77" } , { "\xcc\xe8\xcc\xe1" , "\x74\xbd" } , { "\xcc\xe8\xcc\xe1\xa2" , "\x74\xbd\x77" } , { "\xcc\xe8\xcc\xe2" , "\x73\x73\xbd" } , { "\xcc\xe8\xcc\xe4" , "\x73\xbd\x6d" } , { "\xcc\xe8\xcc\xe5" , "\x74\xbd\x6d" } , { "\xcc\xe8\xcc\xe5\xa2" , "\x74\xbd\x6d\x77" } , { "\xcc\xe8\xcc\xe8" , "\xbd\x76" } , { "\xcc\xe8\xcc\xe8\xc4" , "\xbd\x76\x5a" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\xbd\x76\x5a\x6e" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\xbd\x76\x5c\x6e" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\xbd\x76\x73\x73\x61\x77" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\xbd\x76\x74\x65" } , { "\xcc\xe8\xcd" , "\x61\x79" } , { "\xcc\xe8\xcd\xa2" , "\x61\x79\x77" } , { "\xcc\xe8\xcd\xda" , "\x61\x79\x6d" } , { "\xcc\xe8\xcd\xda\xa1" , "\x61\x79\x6d\x77" } , { "\xcc\xe8\xcd\xda\xa2" , "\x61\x79\x6d\x77" } , { "\xcc\xe8\xcd\xdb" , "\x61\x79\x6e" } , { "\xcc\xe8\xcd\xdd" , "\x61\x79\x70" } , { "\xcc\xe8\xcd\xde" , "\x61\x79\x71" } , { "\xcc\xe8\xcd\xe1" , "\x74\x61\x79" } , { "\xcc\xe8\xcd\xe5" , "\x74\x61\x79\x6d" } , { "\xcc\xe8\xcd\xe5\xa2" , "\x74\x61\x79\x6d\x77" } , { "\xcc\xe8\xcd\xe6" , "\x61\x79\x75" } , { "\xcc\xe8\xcd\xe8\xcd" , "\x61\x76\xbf" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\x61\x76\xbf\x6d" } , { "\xcc\xe8\xcf" , "\x7b\x61" } , { "\xcc\xe8\xcf\xa2" , "\x7b\x61\x77" } , { "\xcc\xe8\xcf\xda" , "\x7b\x61\x6d" } , { "\xcc\xe8\xcf\xda\xa2" , "\x7b\x61\x6d\x77" } , { "\xcc\xe8\xcf\xdb" , "\x7b\x61\x6e" } , { "\xcc\xe8\xcf\xdb\xa2" , "\x7b\x61\x6e\x77" } , { "\xcc\xe8\xcf\xdc" , "\x7b\x61\x6f" } , { "\xcc\xe8\xcf\xdd" , "\x7b\x61\x70" } , { "\xcc\xe8\xcf\xde" , "\x7b\x61\x71" } , { "\xcc\xe8\xcf\xe0" , "\x73\x7b\x61" } , { "\xcc\xe8\xcf\xe1" , "\x74\x7b\x61" } , { "\xcc\xe8\xcf\xe4" , "\x73\x7b\x61\x6d" } , { "\xcc\xe8\xcf\xe5" , "\x74\x7b\x61\x6d" } , { "\xcc\xe8\xcf\xe5\xa2" , "\x74\x7b\x61\x6d\x77" } , { "\xcc\xe8\xcf\xe8\xb3" , "\x61\x76\x63\x76\x49" } , { "\xcc\xe8\xcf\xe8\xc2" , "\x61\x76\x63\x76\x58" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\x7b\x61\x79\x6d" } , { "\xcc\xe8\xd0\xe0" , "\x61\x76\x73\x64" } , { "\xcc\xe8\xd1" , "\xbe" } , { "\xcc\xe8\xd1\xa2" , "\xbe\x77" } , { "\xcc\xe8\xd1\xda" , "\xbe\x6d" } , { "\xcc\xe8\xd1\xda\xa2" , "\xbe\x6d\x77" } , { "\xcc\xe8\xd1\xdb" , "\xbe\x6e" } , { "\xcc\xe8\xd1\xdc" , "\xbe\x6f" } , { "\xcc\xe8\xd1\xdd" , "\xbe\x70" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xbe\x70\x77" } , { "\xcc\xe8\xd1\xde" , "\xbe\x71" } , { "\xcc\xe8\xd1\xe0" , "\x73\xbe" } , { "\xcc\xe8\xd1\xe1" , "\x74\xbe" } , { "\xcc\xe8\xd1\xe2" , "\x73\x73\xbe" } , { "\xcc\xe8\xd1\xe5" , "\x74\xbe\x6d" } , { "\xcc\xe8\xd1\xe5\xa2" , "\x74\xbe\x6d\x77" } , { "\xcc\xe8\xd1\xe8" , "\xbe\x76" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\xbe\x79\x71" } , { "\xcc\xe8\xd4" , "\x61\x7a" } , { "\xcc\xe8\xd4\xa2" , "\x61\x7a\x77" } , { "\xcc\xe8\xd4\xda" , "\x61\x7a\x6d" } , { "\xcc\xe8\xd4\xdb" , "\x61\x7a\x6e" } , { "\xcc\xe8\xd4\xdc" , "\x61\x7a\x6f" } , { "\xcc\xe8\xd4\xdd\xa2" , "\x61\x7a\x70\x77" } , { "\xcc\xe8\xd4\xe0" , "\x73\x61\x7a" } , { "\xcc\xe8\xd4\xe1" , "\x74\x61\x7a" } , { "\xcc\xe8\xd4\xe2" , "\x73\x73\x61\x7a" } , { "\xcc\xe8\xd5" , "\x61\x76\x69" } , { "\xcc\xe8\xd5\xda" , "\x61\x76\x69\x6d" } , { "\xcc\xe8\xd5\xdc" , "\x61\x76\x69\x6f" } , { "\xcc\xe8\xd6" , "\x61\x76\x6a" } , { "\xcc\xe8\xd6\xdc" , "\x61\x76\x6a\x6f" } , { "\xcc\xe8\xd7" , "\x61\x76\x6b" } , { "\xcc\xe8\xd7\xda" , "\x61\x76\x6b\x6d" } , { "\xcc\xe8\xd7\xdb\xa2" , "\x61\x76\x6b\x6e\x77" } , { "\xcc\xe8\xd7\xdd" , "\x61\x76\x6b\x70" } , { "\xcc\xe8\xd7\xde" , "\x61\x76\x6b\x71" } , { "\xcc\xe8\xd7\xe0" , "\x61\x76\x73\x6b" } , { "\xcc\xe8\xd7\xe1" , "\x61\x76\x74\x6b" } , { "\xcc\xe8\xd7\xe8" , "\x61\x76\x6b\x76" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\x61\x76\x6b\x76\x49\x6f" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\x61\x76\x6b\x76\x49\x70" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\x61\x76\x6b\x76\xa2" } , { "\xcc\xe8\xd7\xe8\xbd" , "\x61\x76\x6b\x76\x53" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\x61\x76\x6b\x76\x53\x6d" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\x61\x76\x6b\x76\x73\x53" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\x61\x76\x6b\x76\x74\x53" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\x61\x76\x6b\x76\x74\x53\x6d" } , { "\xcc\xe8\xd7\xe8\xbf" , "\x61\x76\x6b\x76\x55" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\x61\x76\x6b\x76\x55\x6e" } , { "\xcc\xe8\xd7\xe8\xc2" , "\x61\x76\x6b\x76\x58" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\x61\x76\x6b\x76\x58\x6f" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\x61\x76\x6b\x76\x74\x58\x6d" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\x61\x76\x6b\x76\x5c\x70" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\x61\x76\x6b\x76\x5c\x76" } , { "\xcc\xe8\xd7\xe8\xc8" , "\x61\x76\x6b\x76\x5d" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\x61\x76\x6b\x76\x7b\x5d\x6e" } , { "\xcc\xe8\xd7\xe8\xc9" , "\x61\x76\x6b\x76\x5e" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\x61\x76\x6b\x76\x5f\x6d\x77" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\x61\x76\x6b\x76\x61\x6e" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\x61\x76\x6b\x79\x6d" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\x61\x76\x7b\x6b\x6d" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\x61\x76\xc9\x6d" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\x61\x76\xc9\x6d\x77" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\x61\x76\x74\xc9\x6d" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\x61\x76\x6b\x7a\x6d" } , { "\xcc\xe8\xd8" , "\x61\x76\x6c" } , { "\xcc\xe8\xd8\xa2" , "\x61\x76\x6c\x77" } , { "\xcc\xe8\xd8\xda" , "\x61\x76\x6c\x6d" } , { "\xcc\xe8\xd8\xda\xa2" , "\x61\x76\x6c\x6d\x77" } , { "\xcc\xe8\xd8\xdb" , "\x61\x76\x6c\x6e" } , { "\xcc\xe8\xd8\xdc" , "\x61\x76\x6c\x6f" } , { "\xcc\xe8\xd8\xdc\xa2" , "\x61\x76\x6c\x6f\x77" } , { "\xcc\xe8\xd8\xde" , "\x61\x76\x6c\x71" } , { "\xcc\xe8\xd8\xe1" , "\x61\x76\x74\x6c" } , { "\xcc\xe8\xd8\xe1\xa2" , "\x61\x76\x74\x6c\x77" } , { "\xcc\xe8\xd8\xe2\xa2" , "\x61\x76\x73\x73\x6c\x77" } , { "\xcc\xe8\xd9\xcc\xe1" , "\x61\x76\x74\x61" } , { "\xcc\xe8\xd9\xcd" , "\x61\x76\x62" } , { "\xcc\xe8\xe8" , "\x61\x76" } , { "\xcc\xe8\xe9\xcf" , "\x61\x76\x63" } , { "\xcc\xe9" , "\x61" } , { "\xcd" , "\x62" } , { "\xcd\xa1" , "\x62\x77" } , { "\xcd\xa2" , "\x62\x77" } , { "\xcd\xa2\xa3" , "\x62\x77\x78" } , { "\xcd\xa3" , "\x62\x78" } , { "\xcd\xd0\xe8" , "\x62\x64\x76" } , { "\xcd\xda" , "\x62\x6d" } , { "\xcd\xda\xa1" , "\x62\x6d\x77" } , { "\xcd\xda\xa2" , "\x62\x6d\x77" } , { "\xcd\xda\xa3" , "\x62\x6d\x78" } , { "\xcd\xdb" , "\x62\x6e" } , { "\xcd\xdb\xa2" , "\x62\x6e\x77" } , { "\xcd\xdb\xa2\xa2" , "\x62\x6e\x77\x77" } , { "\xcd\xdb\xa3" , "\x62\x6e\x78" } , { "\xcd\xdc" , "\x62\x6f" } , { "\xcd\xdc\xa1" , "\x62\x6f\x77" } , { "\xcd\xdc\xa2" , "\x62\x6f\x77" } , { "\xcd\xdd" , "\x62\x70" } , { "\xcd\xdd\xa2" , "\x62\x70\x77" } , { "\xcd\xdd\xa3" , "\x62\x70\x78" } , { "\xcd\xde" , "\x62\x71" } , { "\xcd\xde\xa1" , "\x62\x71\x77" } , { "\xcd\xde\xa2" , "\x62\x71\x77" } , { "\xcd\xdf" , "\x62\x72" } , { "\xcd\xe0" , "\x73\x62" } , { "\xcd\xe0\xa2" , "\x73\x62\x77" } , { "\xcd\xe1" , "\x74\x62" } , { "\xcd\xe1\xa1" , "\x74\x62\x77" } , { "\xcd\xe1\xa2" , "\x74\x62\x77" } , { "\xcd\xe1\xa3" , "\x74\x62\x78" } , { "\xcd\xe2" , "\x73\x73\x62" } , { "\xcd\xe2\xa2" , "\x73\x73\x62\x77" } , { "\xcd\xe3" , "\x62\x6d" } , { "\xcd\xe4" , "\x73\x62\x6d" } , { "\xcd\xe4\xa2" , "\x73\x62\x6d\x77" } , { "\xcd\xe5" , "\x74\x62\x6d" } , { "\xcd\xe5\xa1" , "\x74\x62\x6d\x77" } , { "\xcd\xe5\xa2" , "\x74\x62\x6d\x77" } , { "\xcd\xe5\xa3" , "\x74\x62\x6d\x78" } , { "\xcd\xe6" , "\x62\x75" } , { "\xcd\xe6\xa2" , "\x62\x75\x77" } , { "\xcd\xe7" , "\x74\x62\x6d" } , { "\xcd\xe7\xa2" , "\x74\x62\x6d\x77" } , { "\xcd\xe8" , "\x62\x76" } , { "\xcd\xe8\xb3" , "\x62\x76\x49" } , { "\xcd\xe8\xb3\xdb" , "\x62\x76\x49\x6e" } , { "\xcd\xe8\xb3\xdb\xa2" , "\x62\x76\x49\x6e\x77" } , { "\xcd\xe8\xb3\xdd" , "\x62\x76\x49\x70" } , { "\xcd\xe8\xb3\xde" , "\x62\x76\x49\x71" } , { "\xcd\xe8\xb3\xe1" , "\x62\x76\x74\x49" } , { "\xcd\xe8\xb3\xe5" , "\x62\x76\x74\x49\x6d" } , { "\xcd\xe8\xb5\xda" , "\x62\x76\x4b\x6d" } , { "\xcd\xe8\xb8\xe1" , "\x62\x76\x74\x4e" } , { "\xcd\xe8\xb8\xe6" , "\x62\x76\x4e\x75" } , { "\xcd\xe8\xbd" , "\x62\x76\x53" } , { "\xcd\xe8\xbf\xa2" , "\x62\x76\x55\x77" } , { "\xcd\xe8\xbf\xdb" , "\x62\x76\x55\x6e" } , { "\xcd\xe8\xc1" , "\x62\x76\x57" } , { "\xcd\xe8\xc2\xda" , "\x62\x76\x58\x6d" } , { "\xcd\xe8\xc2\xdd" , "\x62\x76\x58\x70" } , { "\xcd\xe8\xc2\xe1" , "\x62\x76\x74\x58" } , { "\xcd\xe8\xc2\xe5" , "\x62\x76\x74\x58\x6d" } , { "\xcd\xe8\xc2\xe8\xc2" , "\x62\x76\xaf" } , { "\xcd\xe8\xc2\xe8\xc6" , "\x62\x76\x58\x76\x5c" } , { "\xcd\xe8\xc4\xda" , "\x62\x76\x5a\x6d" } , { "\xcd\xe8\xc6" , "\x62\x76\x5c" } , { "\xcd\xe8\xc6\xa2" , "\x62\x76\x5c\x77" } , { "\xcd\xe8\xc6\xda" , "\x62\x76\x5c\x6d" } , { "\xcd\xe8\xc6\xdb" , "\x62\x76\x5c\x6e" } , { "\xcd\xe8\xc6\xdc" , "\x62\x76\x5c\x6f" } , { "\xcd\xe8\xc6\xdd" , "\x62\x76\x5c\x70" } , { "\xcd\xe8\xc6\xe1" , "\x62\x76\x74\x5c" } , { "\xcd\xe8\xc6\xe5" , "\x62\x76\x74\x5c\x6d" } , { "\xcd\xe8\xc8\xde" , "\x62\x76\x5d\x71" } , { "\xcd\xe8\xc9\xe1" , "\x62\x76\x74\x5e" } , { "\xcd\xe8\xca\xe0" , "\x62\x76\x73\x5f" } , { "\xcd\xe8\xca\xe5" , "\x62\x76\x74\x5f\x6d" } , { "\xcd\xe8\xcb\xdd" , "\x62\x76\x60\x70" } , { "\xcd\xe8\xcc" , "\x62\x76\x61" } , { "\xcd\xe8\xcc\xa2" , "\x62\x76\x61\x77" } , { "\xcd\xe8\xcc\xe0" , "\x62\x76\x73\x61" } , { "\xcd\xe8\xcc\xe0\xa2" , "\x62\x76\x73\x61\x77" } , { "\xcd\xe8\xcd" , "\xbf" } , { "\xcd\xe8\xcd\xa2" , "\xbf\x77" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xbf\x77\x77" } , { "\xcd\xe8\xcd\xda" , "\xbf\x6d" } , { "\xcd\xe8\xcd\xda\xa2" , "\xbf\x6d\x77" } , { "\xcd\xe8\xcd\xdb" , "\xbf\x6e" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xbf\x6e\x77" } , { "\xcd\xe8\xcd\xdc" , "\xbf\x6f" } , { "\xcd\xe8\xcd\xdd" , "\xbf\x70" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xbf\x70\x77" } , { "\xcd\xe8\xcd\xde" , "\xbf\x71" } , { "\xcd\xe8\xcd\xe0" , "\x73\xbf" } , { "\xcd\xe8\xcd\xe0\xa2" , "\x73\xbf\x77" } , { "\xcd\xe8\xcd\xe1" , "\x74\xbf" } , { "\xcd\xe8\xcd\xe1\xa2" , "\x74\xbf\x77" } , { "\xcd\xe8\xcd\xe4" , "\x73\xbf\x6d" } , { "\xcd\xe8\xcd\xe5" , "\x74\xbf\x6d" } , { "\xcd\xe8\xcd\xe8" , "\xbf\x76" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xbf\x76\x4b\x6d" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xbf\x79" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xbf\x79\x77" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xbf\x79\x6d" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\x73\xbf\x79" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xbf\x76\xbf\x6d" } , { "\xcd\xe8\xcd\xe8\xcf" , "\x7b\xbf" } , { "\xcd\xe8\xcf" , "\x7b\x62" } , { "\xcd\xe8\xcf\xde" , "\x7b\x62\x71" } , { "\xcd\xe8\xcf\xe5" , "\x74\x7b\x62\x6d" } , { "\xcd\xe8\xcf\xe8" , "\x62\x76\x63\x76" } , { "\xcd\xe8\xd1" , "\x62\x76\x65" } , { "\xcd\xe8\xd1\xa2" , "\x62\x76\x65\x77" } , { "\xcd\xe8\xd1\xda\xa2" , "\x62\x76\x65\x6d\x77" } , { "\xcd\xe8\xd1\xdd" , "\x62\x76\x65\x70" } , { "\xcd\xe8\xd1\xde" , "\x62\x76\x65\x71" } , { "\xcd\xe8\xd1\xe0\xa2" , "\x62\x76\x73\x65\x77" } , { "\xcd\xe8\xd1\xe1" , "\x62\x76\x74\x65" } , { "\xcd\xe8\xd1\xe4" , "\x62\x76\x73\x65\x6d" } , { "\xcd\xe8\xd1\xe5" , "\x62\x76\x74\x65\x6d" } , { "\xcd\xe8\xd1\xe8" , "\x62\x76\x65\x76" } , { "\xcd\xe8\xd4" , "\x62\x7a" } , { "\xcd\xe8\xd4\xda" , "\x62\x7a\x6d" } , { "\xcd\xe8\xd4\xdd" , "\x62\x7a\x70" } , { "\xcd\xe8\xd5\xda" , "\x62\x76\x69\x6d" } , { "\xcd\xe8\xd7" , "\x62\x76\x6b" } , { "\xcd\xe8\xd7\xda" , "\x62\x76\x6b\x6d" } , { "\xcd\xe8\xd7\xdb\xa2" , "\x62\x76\x6b\x6e\x77" } , { "\xcd\xe8\xd7\xe2" , "\x62\x76\x73\x73\x6b" } , { "\xcd\xe8\xd7\xe8" , "\x62\x76\x6b\x76" } , { "\xcd\xe8\xd7\xe8\xb3" , "\x62\x76\x6b\x76\x49" } , { "\xcd\xe8\xe8" , "\x62\x76" } , { "\xcd\xe8\xe9\xcf" , "\x62\x76\x63" } , { "\xce" , "\x62" } , { "\xce\xa3" , "\x62\x78" } , { "\xcf" , "\x63" } , { "\xcf\xa1" , "\x63\x77" } , { "\xcf\xa2" , "\x63\x77" } , { "\xcf\xa2\xa2" , "\x63\x77\x77" } , { "\xcf\xa3" , "\x63\x78" } , { "\xcf\xda" , "\x63\x6d" } , { "\xcf\xda\xa1" , "\x63\x6d\x77" } , { "\xcf\xda\xa2" , "\x63\x6d\x77" } , { "\xcf\xda\xa3" , "\x63\x6d\x78" } , { "\xcf\xdb" , "\x63\x6e" } , { "\xcf\xdb\xa1" , "\x63\x6e\x77" } , { "\xcf\xdb\xa2" , "\x63\x6e\x77" } , { "\xcf\xdb\xa2\xa2" , "\x63\x6e\x77\x77" } , { "\xcf\xdb\xa3" , "\x63\x6e\x78" } , { "\xcf\xdb\xce\xda" , "\x63\x6e\x62\x6d" } , { "\xcf\xdc" , "\x63\x6f" } , { "\xcf\xdc\xa2" , "\x63\x6f\x77" } , { "\xcf\xdc\xa2\xa2" , "\x63\x6f\x77\x77" } , { "\xcf\xdc\xa3" , "\x63\x6f\x78" } , { "\xcf\xdd" , "\x63\x70" } , { "\xcf\xdd\xa1" , "\x63\x70\x77" } , { "\xcf\xdd\xa2" , "\x63\x70\x77" } , { "\xcf\xdd\xa3" , "\x63\x70\x78" } , { "\xcf\xde" , "\x63\x71" } , { "\xcf\xde\xa1" , "\x63\x71\x77" } , { "\xcf\xde\xa2" , "\x63\x71\x77" } , { "\xcf\xdf" , "\x63\x72" } , { "\xcf\xe0" , "\x73\x63" } , { "\xcf\xe0\xa2" , "\x73\x63\x77" } , { "\xcf\xe0\xa3" , "\x73\x63\x78" } , { "\xcf\xe1" , "\x74\x63" } , { "\xcf\xe1\xa2" , "\x74\x63\x77" } , { "\xcf\xe2" , "\x73\x73\x63" } , { "\xcf\xe2\xa2" , "\x73\x73\x63\x77" } , { "\xcf\xe2\xa3" , "\x73\x73\x63\x78" } , { "\xcf\xe2\xbd\xe8" , "\x73\x73\x63\x53\x76" } , { "\xcf\xe4" , "\x73\x63\x6d" } , { "\xcf\xe4\xa2" , "\x73\x63\x6d\x77" } , { "\xcf\xe5" , "\x74\x63\x6d" } , { "\xcf\xe5\xa2" , "\x74\x63\x6d\x77" } , { "\xcf\xe5\xa2\xa2" , "\x74\x63\x6d\x77\x77" } , { "\xcf\xe6" , "\x63\x75" } , { "\xcf\xe6\xa2" , "\x63\x75\x77" } , { "\xcf\xe7" , "\x74\x63\x6d" } , { "\xcf\xe7\xa2" , "\x74\x63\x6d\x77" } , { "\xcf\xe8" , "\x63\x76" } , { "\xcf\xe8\xb3" , "\x63\x76\x49" } , { "\xcf\xe8\xb3\xa2" , "\x63\x76\x49\x77" } , { "\xcf\xe8\xb3\xda" , "\x63\x76\x49\x6d" } , { "\xcf\xe8\xb3\xda\xa2" , "\x63\x76\x49\x6d\x77" } , { "\xcf\xe8\xb3\xdb" , "\x63\x76\x49\x6e" } , { "\xcf\xe8\xb3\xdb\xa2" , "\x63\x76\x49\x6e\x77" } , { "\xcf\xe8\xb3\xdc" , "\x63\x76\x49\x6f" } , { "\xcf\xe8\xb3\xdd" , "\x63\x76\x49\x70" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x63\x76\x49\x70\x77" } , { "\xcf\xe8\xb3\xde" , "\x63\x76\x49\x71" } , { "\xcf\xe8\xb3\xe0" , "\x63\x76\x73\x49" } , { "\xcf\xe8\xb3\xe0\xa2" , "\x63\x76\x73\x49\x77" } , { "\xcf\xe8\xb3\xe1" , "\x63\x76\x74\x49" } , { "\xcf\xe8\xb3\xe1\xa2" , "\x63\x76\x74\x49\x77" } , { "\xcf\xe8\xb3\xe2" , "\x63\x76\x73\x73\x49" } , { "\xcf\xe8\xb3\xe4" , "\x63\x76\x73\x49\x6d" } , { "\xcf\xe8\xb3\xe4\xa2" , "\x63\x76\x73\x49\x6d\x77" } , { "\xcf\xe8\xb3\xe5" , "\x63\x76\x74\x49\x6d" } , { "\xcf\xe8\xb3\xe5\xa2" , "\x63\x76\x74\x49\x6d\x77" } , { "\xcf\xe8\xb3\xe6" , "\x63\x76\x49\x75" } , { "\xcf\xe8\xb3\xe6\xa2" , "\x63\x76\x49\x75\x77" } , { "\xcf\xe8\xb3\xe8" , "\x63\x76\x49\x76" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x63\x76\xa1" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\x63\x76\xa1\x6e" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x63\x76\xa1\x70" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x63\x76\x49\x76\x4b\x6d" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x63\x76\x49\x76\x74\x4b" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x63\x76\x49\x76\x53" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\x63\x76\x49\x76\x53\x6e" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x63\x76\x49\x76\x74\x53\x7a" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x63\x76\xe0" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x63\x76\x49\x76\x5c\x70" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x63\x76\x49\x76\x73\x5d" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x63\x76\x49\x76\x5e\x79\x71" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x63\x76\x49\x79\x70" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x63\x76\x49\x79\x71" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\x63\x76\x7b\x49\x6e" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x63\x76\x7b\x49\x6f" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x63\x76\x7b\x49\x71\x77" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\x63\x76\x73\x73\x7b\x49" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x63\x76\xa2" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x63\x76\xa2\x77" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x63\x76\xa2\x6d" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x63\x76\xa2\x6d\x77" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x63\x76\xa2\x70" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\x63\x76\x74\xa2" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\x63\x76\x73\x73\xa2" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\x63\x76\x74\xa2\x6d" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x63\x76\x49\x7a\x77" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\x63\x76\x49\x7a\x6e" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x63\x76\x73\x49\x7a" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x63\x76\xa3" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x63\x76\xa3\x6d" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\x63\x76\x73\x73\xa3" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x63\x76\xa3\x79" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x63\x76\x74\xa3\x79\x6d" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x63\x76\x49\x76\x6b" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x63\x76\x49\x76\x6b\x6d" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\x63\x76\x49\x76\x6b\x6e" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x63\x76\x49\x76\x6b\x70" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x63\x76\x49\x76\x6b\x76" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\x63\x76\x49\x76\x6b\x76\x49\x6e" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x63\x76\x49\x76\x6b\x76\x4b\x6d" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x63\x76\x49\x76\x6b\x76\x5c\x70" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\x63\x76\x49\x76\xc9\x70" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x63\x76\x49\x76\x6b\x7a\x70" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x63\x76\x49\x76\x6b\x76\x69\x6d" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\x63\x76\x49\x76\x6b\x76\x6a\x76\x53\x70" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\x63\x76\x49\x76\x6c\x6e" } , { "\xcf\xe8\xb3\xe9" , "\x63\x76\x49" } , { "\xcf\xe8\xb4" , "\x63\x76\x4a" } , { "\xcf\xe8\xb4\xa2" , "\x63\x76\x4a\x77" } , { "\xcf\xe8\xb4\xda" , "\x63\x76\x4a\x6d" } , { "\xcf\xe8\xb4\xdb" , "\x63\x76\x4a\x6e" } , { "\xcf\xe8\xb4\xdc" , "\x63\x76\x4a\x6f" } , { "\xcf\xe8\xb4\xdd" , "\x63\x76\x4a\x70" } , { "\xcf\xe8\xb4\xe2" , "\x63\x76\x73\x73\x4a" } , { "\xcf\xe8\xb4\xe4" , "\x63\x76\x73\x4a\x6d" } , { "\xcf\xe8\xb4\xe5" , "\x63\x76\x74\x4a\x6d" } , { "\xcf\xe8\xb4\xe5\xa2" , "\x63\x76\x74\x4a\x6d\x77" } , { "\xcf\xe8\xb5" , "\x63\x76\x4b" } , { "\xcf\xe8\xb5\xa2" , "\x63\x76\x4b\x77" } , { "\xcf\xe8\xb5\xa3" , "\x63\x76\x4b\x78" } , { "\xcf\xe8\xb5\xda" , "\x63\x76\x4b\x6d" } , { "\xcf\xe8\xb5\xda\xa2" , "\x63\x76\x4b\x6d\x77" } , { "\xcf\xe8\xb5\xda\xa3" , "\x63\x76\x4b\x6d\x78" } , { "\xcf\xe8\xb5\xdb" , "\x63\x76\x4b\x6e" } , { "\xcf\xe8\xb5\xdb\xa2" , "\x63\x76\x4b\x6e\x77" } , { "\xcf\xe8\xb5\xdc" , "\x63\x76\x4b\x6f" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x63\x76\x4b\x6f\x77" } , { "\xcf\xe8\xb5\xdd" , "\x63\x76\x4b\x70" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x63\x76\x4b\x70\x77" } , { "\xcf\xe8\xb5\xde" , "\x63\x76\x4b\x71" } , { "\xcf\xe8\xb5\xe0" , "\x63\x76\x73\x4b" } , { "\xcf\xe8\xb5\xe1" , "\x63\x76\x74\x4b" } , { "\xcf\xe8\xb5\xe2" , "\x63\x76\x73\x73\x4b" } , { "\xcf\xe8\xb5\xe2\xa3" , "\x63\x76\x73\x73\x4b\x78" } , { "\xcf\xe8\xb5\xe4" , "\x63\x76\x73\x4b\x6d" } , { "\xcf\xe8\xb5\xe5" , "\x63\x76\x74\x4b\x6d" } , { "\xcf\xe8\xb5\xe5\xa2" , "\x63\x76\x74\x4b\x6d\x77" } , { "\xcf\xe8\xb5\xe6\xa2" , "\x63\x76\x4b\x75\x77" } , { "\xcf\xe8\xb5\xe8" , "\x63\x76\x4b\x76" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\x63\x76\x4b\x76\x49\x6e" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x63\x76\x4b\x76\x52" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\x63\x76\xe1\x6e" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x63\x76\xdc" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x63\x76\x4b\x79" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x63\x76\x4b\x79\x6d" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x63\x76\x4b\x79\x70" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x63\x76\x4b\x79\x71" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\x63\x76\x74\x4b\x79\x6d" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x63\x76\x7b\x4b" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x63\x76\x7b\x4b\x77" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x63\x76\x7b\x4b\x6d" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x63\x76\x7b\x4b\x6f" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\x63\x76\x73\x7b\x4b" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\x63\x76\x74\x7b\x4b" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x63\x76\xa5\x70" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\x63\x76\x74\xa5\x6d" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x63\x76\x4b\x76\x6b\x76" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x63\x76\x4b\x6f" } , { "\xcf\xe8\xb5\xe9\xe1" , "\x63\x76\x74\x4b" } , { "\xcf\xe8\xb6" , "\x63\x76\x4c" } , { "\xcf\xe8\xb6\xa2" , "\x63\x76\x4c\x77" } , { "\xcf\xe8\xb6\xda" , "\x63\x76\x4c\x6d" } , { "\xcf\xe8\xb6\xda\xa2" , "\x63\x76\x4c\x6d\x77" } , { "\xcf\xe8\xb6\xdb" , "\x63\x76\x4c\x6e" } , { "\xcf\xe8\xb6\xdc" , "\x63\x76\x4c\x6f" } , { "\xcf\xe8\xb6\xdd" , "\x63\x76\x4c\x70" } , { "\xcf\xe8\xb6\xde" , "\x63\x76\x4c\x71" } , { "\xcf\xe8\xb6\xe5" , "\x63\x76\x74\x4c\x6d" } , { "\xcf\xe8\xb6\xe8" , "\x63\x76\x4c\x76" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x63\x76\x4c\x79" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x63\x76\x4c\x79\x77" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x63\x76\x4c\x79\x6d" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x63\x76\x73\x73\x4c\x79" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x63\x76\x4c\x7a" } , { "\xcf\xe8\xb7" , "\x63\x76\x4d" } , { "\xcf\xe8\xb7\xa2" , "\x63\x76\x4d\x77" } , { "\xcf\xe8\xb7\xdd" , "\x63\x76\x4d\x70" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x63\x76\x4d\x76\x4b" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x63\x76\x4d\x79" } , { "\xcf\xe8\xb8" , "\x63\x76\x4e" } , { "\xcf\xe8\xb8\xa2" , "\x63\x76\x4e\x77" } , { "\xcf\xe8\xb8\xda" , "\x63\x76\x4e\x6d" } , { "\xcf\xe8\xb8\xda\xa2" , "\x63\x76\x4e\x6d\x77" } , { "\xcf\xe8\xb8\xdb" , "\x63\x76\x4e\x6e" } , { "\xcf\xe8\xb8\xdb\xa2" , "\x63\x76\x4e\x6e\x77" } , { "\xcf\xe8\xb8\xdc" , "\x63\x76\x4e\x6f" } , { "\xcf\xe8\xb8\xdd" , "\x63\x76\x4e\x70" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x63\x76\x4e\x70\x77" } , { "\xcf\xe8\xb8\xde" , "\x63\x76\x4e\x71" } , { "\xcf\xe8\xb8\xe0" , "\x63\x76\x73\x4e" } , { "\xcf\xe8\xb8\xe0\xa2" , "\x63\x76\x73\x4e\x77" } , { "\xcf\xe8\xb8\xe1" , "\x63\x76\x74\x4e" } , { "\xcf\xe8\xb8\xe1\xa2" , "\x63\x76\x74\x4e\x77" } , { "\xcf\xe8\xb8\xe2" , "\x63\x76\x73\x73\x4e" } , { "\xcf\xe8\xb8\xe4" , "\x63\x76\x73\x4e\x6d" } , { "\xcf\xe8\xb8\xe4\xa2" , "\x63\x76\x73\x4e\x6d\x77" } , { "\xcf\xe8\xb8\xe5" , "\x63\x76\x74\x4e\x6d" } , { "\xcf\xe8\xb8\xe5\xa2" , "\x63\x76\x74\x4e\x6d\x77" } , { "\xcf\xe8\xb8\xe6" , "\x63\x76\x4e\x75" } , { "\xcf\xe8\xb8\xe8" , "\x63\x76\x4e\x76" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x63\x76\x4e\x76\x4b\x6d" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x63\x76\x4e\x76\x7b\x4b\x6d" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\x63\x76\x73\xa8" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x63\x76\xd1" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x63\x76\xd1\x6d" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\x63\x76\xd1\x6e" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\x63\x76\x4e\x76\x5c\x6e" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x63\x76\x4e\x76\x5c\x70\x77" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x63\x76\x4e\x76\x5e\x6d" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x63\x76\x4e\x76\x61\x6f" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x63\x76\x4e\x76\x65" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\x63\x76\x4e\x76\x74\x65" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\x63\x76\x4e\x76\x74\x65\x6d" } , { "\xcf\xe8\xb9" , "\x63\x76\x4f" } , { "\xcf\xe8\xb9\xa2" , "\x63\x76\x4f\x77" } , { "\xcf\xe8\xb9\xda" , "\x63\x76\x4f\x6d" } , { "\xcf\xe8\xb9\xdb" , "\x63\x76\x4f\x6e" } , { "\xcf\xe8\xb9\xdb\xa2" , "\x63\x76\x4f\x6e\x77" } , { "\xcf\xe8\xb9\xdc" , "\x63\x76\x4f\x6f" } , { "\xcf\xe8\xb9\xdd" , "\x63\x76\x4f\x70" } , { "\xcf\xe8\xb9\xe1" , "\x63\x76\x74\x4f" } , { "\xcf\xe8\xb9\xe1\xa2" , "\x63\x76\x74\x4f\x77" } , { "\xcf\xe8\xb9\xe4" , "\x63\x76\x73\x4f\x6d" } , { "\xcf\xe8\xb9\xe5\xa2" , "\x63\x76\x74\x4f\x6d\x77" } , { "\xcf\xe8\xba" , "\x63\x76\x50" } , { "\xcf\xe8\xba\xa2" , "\x63\x76\x50\x77" } , { "\xcf\xe8\xba\xda" , "\x63\x76\x50\x6d" } , { "\xcf\xe8\xba\xda\xa2" , "\x63\x76\x50\x6d\x77" } , { "\xcf\xe8\xba\xdb" , "\x63\x76\x50\x6e" } , { "\xcf\xe8\xba\xdb\xa2" , "\x63\x76\x50\x6e\x77" } , { "\xcf\xe8\xba\xdc" , "\x63\x76\x50\x6f" } , { "\xcf\xe8\xba\xdc\xa2" , "\x63\x76\x50\x6f\x77" } , { "\xcf\xe8\xba\xdd" , "\x63\x76\x50\x70" } , { "\xcf\xe8\xba\xdd\xa2" , "\x63\x76\x50\x70\x77" } , { "\xcf\xe8\xba\xde" , "\x63\x76\x50\x71" } , { "\xcf\xe8\xba\xe0" , "\x63\x76\x73\x50" } , { "\xcf\xe8\xba\xe0\xa2" , "\x63\x76\x73\x50\x77" } , { "\xcf\xe8\xba\xe1" , "\x63\x76\x74\x50" } , { "\xcf\xe8\xba\xe1\xa2" , "\x63\x76\x74\x50\x77" } , { "\xcf\xe8\xba\xe2" , "\x63\x76\x73\x73\x50" } , { "\xcf\xe8\xba\xe5" , "\x63\x76\x74\x50\x6d" } , { "\xcf\xe8\xba\xe5\xa2" , "\x63\x76\x74\x50\x6d\x77" } , { "\xcf\xe8\xba\xe8" , "\x63\x76\x50\x76" } , { "\xcf\xe8\xba\xe8\xb5" , "\x63\x76\x50\x76\x4b" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x63\x76\x50\x76\x4b\x6d" } , { "\xcf\xe8\xba\xe8\xb6" , "\x63\x76\x50\x76\x4c" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x63\x76\xda\x6d" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\x63\x76\x74\xda" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x63\x76\x50\x76\x53\x6d\x77" } , { "\xcf\xe8\xba\xe8\xbf" , "\x63\x76\x50\x76\x55" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x63\x76\x50\x76\x55\x76" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x63\x76\x50\x76\x61\x6d" } , { "\xcf\xe8\xba\xe8\xcd" , "\x63\x76\x50\x79" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x63\x76\x50\x79\x77" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x63\x76\x50\x79\x6d" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x63\x76\x74\x50\x79\x6d" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x63\x76\x50\x76\x65\x70" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\x63\x76\x50\x76\x74\x65\x6d" } , { "\xcf\xe8\xba\xe8\xd4" , "\x63\x76\x50\x7a" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x63\x76\x50\x76\x6b\x76\x74\x49" } , { "\xcf\xe8\xba\xe9" , "\x63\x76\x50" } , { "\xcf\xe8\xba\xe9\xda" , "\x63\x76\x50\x6d" } , { "\xcf\xe8\xba\xe9\xdc" , "\x63\x76\x50\x6f" } , { "\xcf\xe8\xba\xe9\xdd" , "\x63\x76\x50\x70" } , { "\xcf\xe8\xba\xe9\xe1" , "\x63\x76\x74\x50" } , { "\xcf\xe8\xba\xe9\xe5" , "\x63\x76\x74\x50\x6d" } , { "\xcf\xe8\xbb" , "\x63\x76\x51" } , { "\xcf\xe8\xbb\xda" , "\x63\x76\x51\x6d" } , { "\xcf\xe8\xbb\xdb" , "\x63\x76\x51\x6e" } , { "\xcf\xe8\xbb\xdd" , "\x63\x76\x51\x70" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x63\x76\x51\x76\x6c" } , { "\xcf\xe8\xbc\xe1" , "\x63\x76\x74\x52" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x63\x76\x52\x76\x4b" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x63\x76\x52\x76\x74\x55" } , { "\xcf\xe8\xbd" , "\x63\x76\x53" } , { "\xcf\xe8\xbd\xa2" , "\x63\x76\x53\x77" } , { "\xcf\xe8\xbd\xda" , "\x63\x76\x53\x6d" } , { "\xcf\xe8\xbd\xdb" , "\x63\x76\x53\x6e" } , { "\xcf\xe8\xbd\xdb\xa2" , "\x63\x76\x53\x6e\x77" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\x63\x76\x53\x6e\x65\x76" } , { "\xcf\xe8\xbd\xdc" , "\x63\x76\x53\x6f" } , { "\xcf\xe8\xbd\xdd" , "\x63\x76\x53\x70" } , { "\xcf\xe8\xbd\xde" , "\x63\x76\x53\x71" } , { "\xcf\xe8\xbd\xe0" , "\x63\x76\x73\x53" } , { "\xcf\xe8\xbd\xe0\xa2" , "\x63\x76\x73\x53\x77" } , { "\xcf\xe8\xbd\xe1" , "\x63\x76\x74\x53" } , { "\xcf\xe8\xbd\xe1\xa2" , "\x63\x76\x74\x53\x77" } , { "\xcf\xe8\xbd\xe2" , "\x63\x76\x73\x73\x53" } , { "\xcf\xe8\xbd\xe4" , "\x63\x76\x73\x53\x6d" } , { "\xcf\xe8\xbd\xe5" , "\x63\x76\x74\x53\x6d" } , { "\xcf\xe8\xbd\xe5\xa2" , "\x63\x76\x74\x53\x6d\x77" } , { "\xcf\xe8\xbd\xe8" , "\x63\x76\x53\x76" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\x63\x76\x53\x76\x49\x6e" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x63\x76\x53\x76\x49\x70" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x63\x76\x53\x76\x74\x49" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x63\x76\x53\x76\x73\xa2" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x63\x76\x53\x76\x74\x4b" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x63\x76\x53\x76\x4b\x79\x6d" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x63\x76\x53\x76\x74\x4e" } , { "\xcf\xe8\xbd\xe8\xba" , "\x63\x76\x53\x76\x50" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x63\x76\x53\x76\x73\x50" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x63\x76\x53\x76\x73\x73\x50" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x63\x76\x53\x76\x50\x76" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x63\x76\x53\x76\x50\x76\x49" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x63\x76\x53\x76\x50\x76\x4b\x6d" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x63\x76\x53\x76\x50\x76\x74\x58\x6d" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x63\x76\x53\x76\x50\x76\x5c\x70" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x63\x76\x53\x76\x50\x76\x65" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\x63\x76\x73\x73\xab" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\x63\x76\x74\xab\x6d" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x63\x76\x53\x76\x55\x6d" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x63\x76\x53\x76\x5b" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\x63\x76\x53\x76\x5c\x6e" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x63\x76\x53\x76\x5c\x6f" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x63\x76\x53\x76\x5c\x70\x77" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x63\x76\x53\x76\x5c\x71" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x63\x76\x53\x76\x5d" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x63\x76\x53\x76\x5d\x6d" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x63\x76\x53\x76\x74\x5d" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x63\x76\x53\x76\x5e\x6d" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\x63\x76\x53\x76\x5e\x6e" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x63\x76\x53\x76\x73\x5e" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\x63\x76\x53\x76\x74\x7b\x5f" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\x63\x76\x53\x76\x73\x73\x7b\x5f" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\x63\x76\x53\x76\x7b\x5f\x75" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\x63\x76\x53\x76\x61\x6e" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x63\x76\x53\x76\x61\x6f" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\x63\x76\x53\x76\x73\x61\x77" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\x63\x76\x53\x76\x61\x75" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x63\x76\x53\x79\x70" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x63\x76\x53\x79\x71" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x63\x76\x7b\x53" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x63\x76\x7b\x53\x6d" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\x63\x76\x7b\x53\x6e" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x63\x76\x7b\x53\x6f" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\x63\x76\x73\x7b\x53" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\x63\x76\x74\x7b\x53" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\x63\x76\x73\x73\x7b\x53" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x63\x76\x53\x76\x63\x76" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x63\x76\x53\x76\x65" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x63\x76\x53\x76\x65\x6d\x77" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x63\x76\x53\x76\x65\x70" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\x63\x76\x53\x76\x73\x65" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\x63\x76\x53\x76\x74\x65\x6d" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\x63\x76\x53\x76\x74\x65\x6d\x77" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x63\x76\x53\x76\x65\x79\x6d\x77" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x63\x76\x53\x7a" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x63\x76\x74\x53\x7a" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x63\x76\x53\x76\x6b" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\x63\x76\x53\x76\x6b\x6e" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x63\x76\x53\x76\x6b\x70" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x63\x76\x53\x76\x73\x6b" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x63\x76\x53\x76\x74\x6b\x77" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x63\x76\x53\x76\x6b\x76" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x63\x76\x53\x76\x6b\x76\x49\x6d" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\x63\x76\x53\x76\x6b\x76\x49\x76\x68\x6e" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x63\x76\x53\x76\x6b\x76\x61" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x63\x76\x53\x76\x74\xc9\x6d" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x63\x76\x53\x76\x6c\x6d" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x63\x76\x53\x76\x6c\x6d\x77" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\x63\x76\x53\x76\x6c\x6e\x77" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x63\x76\x53\x76\x6c\x71" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x63\x76\x53\x76\x74\x6c\x6d" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x63\x76\x53\x76\x6b" } , { "\xcf\xe8\xbf" , "\x63\x76\x55" } , { "\xcf\xe8\xbf\xda" , "\x63\x76\x55\x6d" } , { "\xcf\xe8\xbf\xda\xa2" , "\x63\x76\x55\x6d\x77" } , { "\xcf\xe8\xbf\xdb" , "\x63\x76\x55\x6e" } , { "\xcf\xe8\xbf\xdb\xa2" , "\x63\x76\x55\x6e\x77" } , { "\xcf\xe8\xbf\xdc" , "\x63\x76\x55\x6f" } , { "\xcf\xe8\xbf\xdd" , "\x63\x76\x55\x70" } , { "\xcf\xe8\xbf\xde" , "\x63\x76\x55\x71" } , { "\xcf\xe8\xbf\xe0" , "\x63\x76\x73\x55" } , { "\xcf\xe8\xbf\xe0\xa2" , "\x63\x76\x73\x55\x77" } , { "\xcf\xe8\xbf\xe1" , "\x63\x76\x74\x55" } , { "\xcf\xe8\xbf\xe2" , "\x63\x76\x73\x73\x55" } , { "\xcf\xe8\xbf\xe4" , "\x63\x76\x73\x55\x6d" } , { "\xcf\xe8\xbf\xe5" , "\x63\x76\x74\x55\x6d" } , { "\xcf\xe8\xbf\xe5\xa2" , "\x63\x76\x74\x55\x6d\x77" } , { "\xcf\xe8\xbf\xe8" , "\x63\x76\x55\x76" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x63\x76\x55\x76\x49" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\x63\x76\x55\x76\x49\x6e" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x63\x76\x55\x76\x49\x6f" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x63\x76\x55\x76\x49\x70" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x63\x76\x55\x76\x74\x49\x6d" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x63\x76\x55\x76\x73\x73\xa2" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x63\x76\x55\x76\x4b\x6d" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x63\x76\x55\x76\x7b\x4b\x6f" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x63\x76\x55\x76\x74\x4e" } , { "\xcf\xe8\xbf\xe8\xbf" , "\x63\x76\xcd" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\x63\x76\xcd\x6e" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\x63\x76\x55\x76\x5c\x6e" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x63\x76\x55\x76\x5c\x70" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\x63\x76\x55\x76\x74\x5c" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x63\x76\x55\x76\x5f\x6d" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\x63\x76\x55\x76\x73\x5f" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\x63\x76\x55\x76\x74\x5f\x6d" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\x63\x76\x55\x76\x73\x73\x7b\x5f" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\x63\x76\x55\x76\x61\x6e\x77" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\x63\x76\x55\x76\x74\x61" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x63\x76\x55\x79" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x63\x76\x55\x79\x77" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x63\x76\x55\x79\x6d\x77" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x63\x76\x55\x79\x71" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\x63\x76\x73\x55\x79\x6d" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x63\x76\x7b\x55\x6d" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\x63\x76\x7b\x55\x6e" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x63\x76\x7b\x55\x70" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\x63\x76\x74\x7b\x55" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x63\x76\x55\x76\x65" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x63\x76\x55\x76\x65\x6f" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x63\x76\x55\x76\x65\x70" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\x63\x76\x55\x76\x73\x73\x65" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\x63\x76\x55\x76\x74\x65\x6d" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x63\x76\x55\x7a" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x63\x76\x73\x55\x7a" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x63\x76\x73\x73\x55\x7a" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x63\x76\x55\x76\x6a\x6d" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x63\x76\x55\x76\x6b" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x63\x76\x55\x76\x6b\x70" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x63\x76\x55\x76\x74\x6b\x6d" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x63\x76\x55\x76\x6b\x76" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x63\x76\x55\x76\x6b\x76\x53\x6e" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x63\x76\x55\x76\x6b\x76\x74\x53" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x63\x76\x55\x76\x73\x6b\x7a" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x63\x76\x55\x76\x74\x6c" } , { "\xcf\xe8\xbf\xe9" , "\x63\x76\x55" } , { "\xcf\xe8\xbf\xe9\xe1" , "\x63\x76\x74\x55" } , { "\xcf\xe8\xbf\xe9\xe5" , "\x63\x76\x74\x55\x6d" } , { "\xcf\xe8\xc0" , "\x63\x76\x56" } , { "\xcf\xe8\xc0\xda" , "\x63\x76\x56\x6d" } , { "\xcf\xe8\xc0\xdd" , "\x63\x76\x56\x70" } , { "\xcf\xe8\xc0\xe8" , "\x63\x76\x56\x76" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x63\x76\x56\x79" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x63\x76\x56\x79\x77" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x63\x76\x56\x79\x6d" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x63\x76\x56\x76\x6b\x70" } , { "\xcf\xe8\xc1" , "\x63\x76\x57" } , { "\xcf\xe8\xc1\xa1" , "\x63\x76\x57\x77" } , { "\xcf\xe8\xc1\xa2" , "\x63\x76\x57\x77" } , { "\xcf\xe8\xc1\xa3" , "\x63\x76\x57\x78" } , { "\xcf\xe8\xc1\xda" , "\x63\x76\x57\x6d" } , { "\xcf\xe8\xc1\xda\xa2" , "\x63\x76\x57\x6d\x77" } , { "\xcf\xe8\xc1\xda\xa3" , "\x63\x76\x57\x6d\x78" } , { "\xcf\xe8\xc1\xdb" , "\x63\x76\x57\x6e" } , { "\xcf\xe8\xc1\xdb\xa2" , "\x63\x76\x57\x6e\x77" } , { "\xcf\xe8\xc1\xdc" , "\x63\x76\x57\x6f" } , { "\xcf\xe8\xc1\xdd" , "\x63\x76\x57\x70" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x63\x76\x57\x70\x77" } , { "\xcf\xe8\xc1\xe0\xa2" , "\x63\x76\x73\x57\x77" } , { "\xcf\xe8\xc1\xe0\xa3" , "\x63\x76\x73\x57\x78" } , { "\xcf\xe8\xc1\xe1" , "\x63\x76\x74\x57" } , { "\xcf\xe8\xc1\xe5" , "\x63\x76\x74\x57\x6d" } , { "\xcf\xe8\xc1\xe5\xa2" , "\x63\x76\x74\x57\x6d\x77" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x63\x76\x57\x76\x4e\x70" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x63\x76\x57\x79" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x63\x76\x57\x79\x77" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x63\x76\x57\x79\x6d" } , { "\xcf\xe8\xc2" , "\x63\x76\x58" } , { "\xcf\xe8\xc2\xa2" , "\x63\x76\x58\x77" } , { "\xcf\xe8\xc2\xda" , "\x63\x76\x58\x6d" } , { "\xcf\xe8\xc2\xda\xa2" , "\x63\x76\x58\x6d\x77" } , { "\xcf\xe8\xc2\xdb" , "\x63\x76\x58\x6e" } , { "\xcf\xe8\xc2\xdb\xa2" , "\x63\x76\x58\x6e\x77" } , { "\xcf\xe8\xc2\xdb\xa3" , "\x63\x76\x58\x6e\x78" } , { "\xcf\xe8\xc2\xdc" , "\x63\x76\x58\x6f" } , { "\xcf\xe8\xc2\xdd" , "\x63\x76\x58\x70" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x63\x76\x58\x70\x77" } , { "\xcf\xe8\xc2\xde" , "\x63\x76\x58\x71" } , { "\xcf\xe8\xc2\xde\xa2" , "\x63\x76\x58\x71\x77" } , { "\xcf\xe8\xc2\xdf" , "\x63\x76\x58\x72" } , { "\xcf\xe8\xc2\xe0" , "\x63\x76\x73\x58" } , { "\xcf\xe8\xc2\xe1" , "\x63\x76\x74\x58" } , { "\xcf\xe8\xc2\xe1\xa2" , "\x63\x76\x74\x58\x77" } , { "\xcf\xe8\xc2\xe2" , "\x63\x76\x73\x73\x58" } , { "\xcf\xe8\xc2\xe4" , "\x63\x76\x73\x58\x6d" } , { "\xcf\xe8\xc2\xe5" , "\x63\x76\x74\x58\x6d" } , { "\xcf\xe8\xc2\xe5\xa2" , "\x63\x76\x74\x58\x6d\x77" } , { "\xcf\xe8\xc2\xe6" , "\x63\x76\x58\x75" } , { "\xcf\xe8\xc2\xe8" , "\x63\x76\x58\x76" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\x63\x76\x58\x76\x74\x49\x6d" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x63\x76\x58\x76\x74\x55" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x63\x76\xaf" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x63\x76\xaf\x6d" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\x63\x76\xaf\x6e" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x63\x76\xaf\x6f" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\x63\x76\x74\xaf" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\x63\x76\x74\xaf\x6d" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x63\x76\xaf\x7a" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x63\x76\x74\xb0" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x63\x76\xdf" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x63\x76\x58\x79" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x63\x76\x58\x79\x77" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x63\x76\x58\x79\x6d" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x63\x76\x58\x79\x70" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\x63\x76\x74\x58\x79\x6d\x77" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x63\x76\x7b\x58" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x63\x76\x7b\x58\x77" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\x63\x76\x7b\x58\x6e" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x63\x76\x7b\x58\x6f" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\x63\x76\x74\x7b\x58" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\x63\x76\x73\x73\x7b\x58" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\x63\x76\x73\x7b\x58\x6d" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\x63\x76\x74\x7b\x58\x6d" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\x63\x76\x58\x76\x74\x65" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x63\x76\x58\x7a" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\x63\x76\x58\x7a\x6e" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x63\x76\x73\x73\x58\x7a" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x63\x76\xd5" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\x63\x76\xd5\x75" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x63\x76\xd5\x76" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\x63\x76\xd5\x76\x5c\x76\x62" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x63\x76\xd5\x79" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x63\x76\xd5\x79\x77" } , { "\xcf\xe8\xc3" , "\x63\x76\x59" } , { "\xcf\xe8\xc3\xa1" , "\x63\x76\x59\x77" } , { "\xcf\xe8\xc3\xa2" , "\x63\x76\x59\x77" } , { "\xcf\xe8\xc3\xa3" , "\x63\x76\x59\x78" } , { "\xcf\xe8\xc3\xda" , "\x63\x76\x59\x6d" } , { "\xcf\xe8\xc3\xda\xa2" , "\x63\x76\x59\x6d\x77" } , { "\xcf\xe8\xc3\xdb" , "\x63\x76\x59\x6e" } , { "\xcf\xe8\xc3\xdb\xa2" , "\x63\x76\x59\x6e\x77" } , { "\xcf\xe8\xc3\xdc" , "\x63\x76\x59\x6f" } , { "\xcf\xe8\xc3\xdd" , "\x63\x76\x59\x70" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x63\x76\x59\x70\x77" } , { "\xcf\xe8\xc3\xde" , "\x63\x76\x59\x71" } , { "\xcf\xe8\xc3\xe1" , "\x63\x76\x74\x59" } , { "\xcf\xe8\xc3\xe2" , "\x63\x76\x73\x73\x59" } , { "\xcf\xe8\xc3\xe5" , "\x63\x76\x74\x59\x6d" } , { "\xcf\xe8\xc3\xe5\xa2" , "\x63\x76\x74\x59\x6d\x77" } , { "\xcf\xe8\xc3\xe6" , "\x63\x76\x59\x75" } , { "\xcf\xe8\xc3\xe8" , "\x63\x76\x59\x76" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x63\x76\x59\x76\x74\x4e" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x63\x76\x59\x76\x60\x6d" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x63\x76\x59\x79" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x63\x76\x59\x79\x77" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x63\x76\x59\x79\x6d" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x63\x76\x59\x79\x70" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x63\x76\x74\x59\x79\x6d\x77" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x63\x76\x59\x79\x75" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x63\x76\x7b\x59" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x63\x76\x7b\x59\x6d" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\x63\x76\x74\x7b\x59\x6d" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x63\x76\x59\x7a" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x63\x76\x59\x7a\x6d" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x63\x76\x59\x76\x6b\x76\x74\x53" } , { "\xcf\xe8\xc4" , "\x63\x76\x5a" } , { "\xcf\xe8\xc4\xa2" , "\x63\x76\x5a\x77" } , { "\xcf\xe8\xc4\xa3" , "\x63\x76\x5a\x78" } , { "\xcf\xe8\xc4\xda" , "\x63\x76\x5a\x6d" } , { "\xcf\xe8\xc4\xda\xa2" , "\x63\x76\x5a\x6d\x77" } , { "\xcf\xe8\xc4\xdb" , "\x63\x76\x5a\x6e" } , { "\xcf\xe8\xc4\xdb\xa2" , "\x63\x76\x5a\x6e\x77" } , { "\xcf\xe8\xc4\xdc" , "\x63\x76\x5a\x6f" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x63\x76\x5a\x6f\x77" } , { "\xcf\xe8\xc4\xdd" , "\x63\x76\x5a\x70" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x63\x76\x5a\x70\x77" } , { "\xcf\xe8\xc4\xde" , "\x63\x76\x5a\x71" } , { "\xcf\xe8\xc4\xdf" , "\x63\x76\x5a\x72" } , { "\xcf\xe8\xc4\xe0" , "\x63\x76\x73\x5a" } , { "\xcf\xe8\xc4\xe1" , "\x63\x76\x74\x5a" } , { "\xcf\xe8\xc4\xe1\xa2" , "\x63\x76\x74\x5a\x77" } , { "\xcf\xe8\xc4\xe2" , "\x63\x76\x73\x73\x5a" } , { "\xcf\xe8\xc4\xe4" , "\x63\x76\x73\x5a\x6d" } , { "\xcf\xe8\xc4\xe5" , "\x63\x76\x74\x5a\x6d" } , { "\xcf\xe8\xc4\xe5\xa2" , "\x63\x76\x74\x5a\x6d\x77" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x63\x76\xb1" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x63\x76\xb1\x6d\x77" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x63\x76\xb2" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x63\x76\xb2\x6d" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x63\x76\xb2\x6d\x77" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\x63\x76\xb2\x6e" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\x63\x76\x74\xb2\x6d\x77" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\x63\x76\x5a\x76\x74\x61" } , { "\xcf\xe8\xc4\xe8\xcd" , "\x63\x76\x5a\x79" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\x63\x76\x5a\x79\x77" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\x63\x76\x5a\x79\x6d" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x63\x76\x7b\x5a" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x63\x76\x7b\x5a\x77" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x63\x76\x7b\x5a\x6d" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x63\x76\x7b\x5a\x6f" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\x63\x76\x74\x7b\x5a\x6d" } , { "\xcf\xe8\xc4\xe8\xd4" , "\x63\x76\x5a\x7a" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\x63\x76\x5a\x7a\x77" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\x63\x76\x5a\x7a\x6d" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\x63\x76\x5a\x76\x6a\x76\x53\x6e" } , { "\xcf\xe8\xc5" , "\x63\x76\x5b" } , { "\xcf\xe8\xc5\xa2" , "\x63\x76\x5b\x77" } , { "\xcf\xe8\xc5\xda" , "\x63\x76\x5b\x6d" } , { "\xcf\xe8\xc5\xda\xa2" , "\x63\x76\x5b\x6d\x77" } , { "\xcf\xe8\xc5\xdb" , "\x63\x76\x5b\x6e" } , { "\xcf\xe8\xc5\xdb\xa2" , "\x63\x76\x5b\x6e\x77" } , { "\xcf\xe8\xc5\xdc" , "\x63\x76\x5b\x6f" } , { "\xcf\xe8\xc5\xdd" , "\x63\x76\x5b\x70" } , { "\xcf\xe8\xc5\xde" , "\x63\x76\x5b\x71" } , { "\xcf\xe8\xc5\xdf" , "\x63\x76\x5b\x72" } , { "\xcf\xe8\xc5\xe0" , "\x63\x76\x73\x5b" } , { "\xcf\xe8\xc5\xe1" , "\x63\x76\x74\x5b" } , { "\xcf\xe8\xc5\xe5" , "\x63\x76\x74\x5b\x6d" } , { "\xcf\xe8\xc5\xe5\xa2" , "\x63\x76\x74\x5b\x6d\x77" } , { "\xcf\xe8\xc5\xe8" , "\x63\x76\x5b\x76" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x63\x76\x5b\x76\x5a" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x63\x76\x5b\x76\x5a\x6d" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x63\x76\x5b\x76\x5a\x6d\x77" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\x63\x76\x5b\x76\x5c\x6e" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\x63\x76\x5b\x76\x74\x61" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x63\x76\x5b\x79" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x63\x76\x5b\x79\x77" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x63\x76\x5b\x79\x6d" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x63\x76\x74\x5b\x79\x6d\x77" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x63\x76\x7b\x5b" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x63\x76\x7b\x5b\x6d" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x63\x76\x74\x7b\x5b\x79" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x63\x76\x5b\x7a" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x63\x76\x5b\x7a\x77" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x63\x76\x5b\x7a\x6d" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x63\x76\x5b\x7a\x6d\x77" } , { "\xcf\xe8\xc6" , "\x63\x76\x5c" } , { "\xcf\xe8\xc6\xa2" , "\x63\x76\x5c\x77" } , { "\xcf\xe8\xc6\xda" , "\x63\x76\x5c\x6d" } , { "\xcf\xe8\xc6\xda\xa2" , "\x63\x76\x5c\x6d\x77" } , { "\xcf\xe8\xc6\xdb" , "\x63\x76\x5c\x6e" } , { "\xcf\xe8\xc6\xdb\xa2" , "\x63\x76\x5c\x6e\x77" } , { "\xcf\xe8\xc6\xdc" , "\x63\x76\x5c\x6f" } , { "\xcf\xe8\xc6\xdd" , "\x63\x76\x5c\x70" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x63\x76\x5c\x70\x77" } , { "\xcf\xe8\xc6\xde" , "\x63\x76\x5c\x71" } , { "\xcf\xe8\xc6\xdf" , "\x63\x76\x5c\x72" } , { "\xcf\xe8\xc6\xe0" , "\x63\x76\x73\x5c" } , { "\xcf\xe8\xc6\xe0\xa2" , "\x63\x76\x73\x5c\x77" } , { "\xcf\xe8\xc6\xe1" , "\x63\x76\x74\x5c" } , { "\xcf\xe8\xc6\xe1\xa2" , "\x63\x76\x74\x5c\x77" } , { "\xcf\xe8\xc6\xe2" , "\x63\x76\x73\x73\x5c" } , { "\xcf\xe8\xc6\xe4" , "\x63\x76\x73\x5c\x6d" } , { "\xcf\xe8\xc6\xe5" , "\x63\x76\x74\x5c\x6d" } , { "\xcf\xe8\xc6\xe5\xa2" , "\x63\x76\x74\x5c\x6d\x77" } , { "\xcf\xe8\xc6\xe8" , "\x63\x76\x5c\x76" } , { "\xcf\xe8\xc6\xe8\xbf" , "\x63\x76\x5c\x76\x55" } , { "\xcf\xe8\xc6\xe8\xc2" , "\x63\x76\xb4" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\x63\x76\x74\xb5" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x63\x76\xb6\x71" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\x63\x76\xbc\x71" } , { "\xcf\xe8\xc6\xe8\xca" , "\x63\x76\x5c\x76\x5f" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\x63\x76\x5c\x76\x73\x5f" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x63\x76\x5c\x76\x73\xbb\x77" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x63\x76\xb7\x6d" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\x63\x76\x73\xb7\x77" } , { "\xcf\xe8\xc6\xe8\xd1" , "\x63\x76\x5c\x76\x65" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\x63\x76\x5c\x76\x65\x70" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\x63\x76\x5c\x76\x74\x65" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\x63\x76\x5c\x76\x74\x65\x6d" } , { "\xcf\xe8\xc6\xe8\xd4" , "\x63\x76\x5c\x7a" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\x63\x76\x5c\x7a\x6d" } , { "\xcf\xe8\xc6\xe8\xd7" , "\x63\x76\x5c\x76\x6b" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\x63\x76\x5c\x76\x6b\x76" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\x63\x76\x5c\x76\x6b\x76\x49" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x63\x76\x5c\x76\x6b\x76\x53\x6d" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x63\x76\x5c\x76\x6b\x76\x74\x53" } , { "\xcf\xe8\xc6\xe8\xd8" , "\x63\x76\x5c\x76\x6c" } , { "\xcf\xe8\xc8" , "\x63\x76\x5d" } , { "\xcf\xe8\xc8\xa2" , "\x63\x76\x5d\x77" } , { "\xcf\xe8\xc8\xda" , "\x63\x76\x5d\x6d" } , { "\xcf\xe8\xc8\xda\xa2" , "\x63\x76\x5d\x6d\x77" } , { "\xcf\xe8\xc8\xdb" , "\x63\x76\x5d\x6e" } , { "\xcf\xe8\xc8\xdb\xa2" , "\x63\x76\x5d\x6e\x77" } , { "\xcf\xe8\xc8\xdc" , "\x63\x76\x5d\x6f" } , { "\xcf\xe8\xc8\xdd" , "\x63\x76\x5d\x70" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x63\x76\x5d\x70\x77" } , { "\xcf\xe8\xc8\xde" , "\x63\x76\x5d\x71" } , { "\xcf\xe8\xc8\xe0" , "\x63\x76\x73\x5d" } , { "\xcf\xe8\xc8\xe0\xa2" , "\x63\x76\x73\x5d\x77" } , { "\xcf\xe8\xc8\xe1" , "\x63\x76\x74\x5d" } , { "\xcf\xe8\xc8\xe1\xa2" , "\x63\x76\x74\x5d\x77" } , { "\xcf\xe8\xc8\xe2" , "\x63\x76\x73\x73\x5d" } , { "\xcf\xe8\xc8\xe4" , "\x63\x76\x73\x5d\x6d" } , { "\xcf\xe8\xc8\xe4\xa2" , "\x63\x76\x73\x5d\x6d\x77" } , { "\xcf\xe8\xc8\xe5" , "\x63\x76\x74\x5d\x6d" } , { "\xcf\xe8\xc8\xe5\xa2" , "\x63\x76\x74\x5d\x6d\x77" } , { "\xcf\xe8\xc8\xe8" , "\x63\x76\x5d\x76" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\x63\x76\x5d\x76\x4b\x6d" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\x63\x76\x5d\x76\x74\x58\x6d" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x63\x76\x5d\x76\x5c\x70" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\x63\x76\x5d\x79\x6d" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\x63\x76\x5d\x79\x71" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x63\x76\x7b\x5d" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x63\x76\x7b\x5d\x6d" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\x63\x76\x7b\x5d\x6e\x77" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\x63\x76\x73\x7b\x5d" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\x63\x76\x73\x7b\x5d\x77" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\x63\x76\x73\x73\x7b\x5d" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x63\x76\xb9" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x63\x76\xb9\x6d" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x63\x76\xb9\x6d\x77" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x63\x76\xb9\x70" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\x63\x76\x74\xb9" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\x63\x76\x74\xb9\x6d" } , { "\xcf\xe8\xc9" , "\x63\x76\x5e" } , { "\xcf\xe8\xc9\xda" , "\x63\x76\x5e\x6d" } , { "\xcf\xe8\xc9\xdb" , "\x63\x76\x5e\x6e" } , { "\xcf\xe8\xc9\xdc" , "\x63\x76\x5e\x6f" } , { "\xcf\xe8\xc9\xdd" , "\x63\x76\x5e\x70" } , { "\xcf\xe8\xc9\xe0" , "\x63\x76\x73\x5e" } , { "\xcf\xe8\xc9\xe1" , "\x63\x76\x74\x5e" } , { "\xcf\xe8\xc9\xe2" , "\x63\x76\x73\x73\x5e" } , { "\xcf\xe8\xc9\xe5" , "\x63\x76\x74\x5e\x6d" } , { "\xcf\xe8\xc9\xe5\xa2" , "\x63\x76\x74\x5e\x6d\x77" } , { "\xcf\xe8\xc9\xe8" , "\x63\x76\x5e\x76" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x63\x76\x5e\x76\x49\x71" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x63\x76\x5e\x76\x55" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x63\x76\x5e\x79\x71" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x63\x76\x5e\x76\x65\x6d" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x63\x76\x5e\x76\x65\x71" } , { "\xcf\xe8\xc9\xe8\xd4" , "\x63\x76\x5e\x7a" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\x63\x76\x73\x5e\x7a" } , { "\xcf\xe8\xc9\xe9" , "\x63\x76\x5e" } , { "\xcf\xe8\xc9\xe9\xdc" , "\x63\x76\x5e\x6f" } , { "\xcf\xe8\xca" , "\x63\x76\x5f" } , { "\xcf\xe8\xca\xa2" , "\x63\x76\x5f\x77" } , { "\xcf\xe8\xca\xda" , "\x63\x76\x5f\x6d" } , { "\xcf\xe8\xca\xdb" , "\x63\x76\x5f\x6e" } , { "\xcf\xe8\xca\xdb\xa2" , "\x63\x76\x5f\x6e\x77" } , { "\xcf\xe8\xca\xdc" , "\x63\x76\x5f\x6f" } , { "\xcf\xe8\xca\xdd" , "\x63\x76\x5f\x70" } , { "\xcf\xe8\xca\xde" , "\x63\x76\x5f\x71" } , { "\xcf\xe8\xca\xe0" , "\x63\x76\x73\x5f" } , { "\xcf\xe8\xca\xe0\xa2" , "\x63\x76\x73\x5f\x77" } , { "\xcf\xe8\xca\xe1" , "\x63\x76\x74\x5f" } , { "\xcf\xe8\xca\xe2" , "\x63\x76\x73\x73\x5f" } , { "\xcf\xe8\xca\xe4" , "\x63\x76\x73\x5f\x6d" } , { "\xcf\xe8\xca\xe5" , "\x63\x76\x74\x5f\x6d" } , { "\xcf\xe8\xca\xe5\xa2" , "\x63\x76\x74\x5f\x6d\x77" } , { "\xcf\xe8\xca\xe6" , "\x63\x76\x5f\x75" } , { "\xcf\xe8\xca\xe8" , "\x63\x76\x5f\x76" } , { "\xcf\xe8\xca\xe8\xbf" , "\x63\x76\x5f\x76\x55" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\x63\x76\x5f\x76\x59\x6e" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\x63\x76\x5f\x76\x5c\x76\x65\x70" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\x63\x76\x5f\x79\x6d" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\x63\x76\x5f\x79\x70" } , { "\xcf\xe8\xca\xe8\xcf" , "\x63\x76\x7b\x5f" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\x63\x76\x7b\x5f\x6d" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\x63\x76\x74\x7b\x5f\x6d" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\x63\x76\xbb\x76" } , { "\xcf\xe8\xca\xe8\xd7" , "\x63\x76\x5f\x76\x6b" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\x63\x76\x5f\x76\x6b\x76" } , { "\xcf\xe8\xcb" , "\x63\x76\x60" } , { "\xcf\xe8\xcb\xa2" , "\x63\x76\x60\x77" } , { "\xcf\xe8\xcb\xa3" , "\x63\x76\x60\x78" } , { "\xcf\xe8\xcb\xda" , "\x63\x76\x60\x6d" } , { "\xcf\xe8\xcb\xda\xa2" , "\x63\x76\x60\x6d\x77" } , { "\xcf\xe8\xcb\xdb" , "\x63\x76\x60\x6e" } , { "\xcf\xe8\xcb\xdb\xa2" , "\x63\x76\x60\x6e\x77" } , { "\xcf\xe8\xcb\xdc" , "\x63\x76\x60\x6f" } , { "\xcf\xe8\xcb\xdd" , "\x63\x76\x60\x70" } , { "\xcf\xe8\xcb\xde" , "\x63\x76\x60\x71" } , { "\xcf\xe8\xcb\xde\xa3" , "\x63\x76\x60\x71\x78" } , { "\xcf\xe8\xcb\xe1" , "\x63\x76\x74\x60" } , { "\xcf\xe8\xcb\xe5" , "\x63\x76\x74\x60\x6d" } , { "\xcf\xe8\xcb\xe5\xa2" , "\x63\x76\x74\x60\x6d\x77" } , { "\xcf\xe8\xcb\xe6" , "\x63\x76\x60\x75" } , { "\xcf\xe8\xcb\xe8\xcf" , "\x63\x76\x7b\x60" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\x63\x76\x7b\x60\x6d" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\x63\x76\x60\x76\x6b\x76" } , { "\xcf\xe8\xcc" , "\x63\x76\x61" } , { "\xcf\xe8\xcc\xa2" , "\x63\x76\x61\x77" } , { "\xcf\xe8\xcc\xa3" , "\x63\x76\x61\x78" } , { "\xcf\xe8\xcc\xda" , "\x63\x76\x61\x6d" } , { "\xcf\xe8\xcc\xda\xa1" , "\x63\x76\x61\x6d\x77" } , { "\xcf\xe8\xcc\xda\xa2" , "\x63\x76\x61\x6d\x77" } , { "\xcf\xe8\xcc\xdb" , "\x63\x76\x61\x6e" } , { "\xcf\xe8\xcc\xdb\xa2" , "\x63\x76\x61\x6e\x77" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\x63\x76\x61\x6e\x77\x77" } , { "\xcf\xe8\xcc\xdc" , "\x63\x76\x61\x6f" } , { "\xcf\xe8\xcc\xdc\xa2" , "\x63\x76\x61\x6f\x77" } , { "\xcf\xe8\xcc\xdd" , "\x63\x76\x61\x70" } , { "\xcf\xe8\xcc\xdd\xa2" , "\x63\x76\x61\x70\x77" } , { "\xcf\xe8\xcc\xde" , "\x63\x76\x61\x71" } , { "\xcf\xe8\xcc\xe0" , "\x63\x76\x73\x61" } , { "\xcf\xe8\xcc\xe0\xa2" , "\x63\x76\x73\x61\x77" } , { "\xcf\xe8\xcc\xe1" , "\x63\x76\x74\x61" } , { "\xcf\xe8\xcc\xe1\xa2" , "\x63\x76\x74\x61\x77" } , { "\xcf\xe8\xcc\xe2" , "\x63\x76\x73\x73\x61" } , { "\xcf\xe8\xcc\xe4" , "\x63\x76\x73\x61\x6d" } , { "\xcf\xe8\xcc\xe5" , "\x63\x76\x74\x61\x6d" } , { "\xcf\xe8\xcc\xe5\xa2" , "\x63\x76\x74\x61\x6d\x77" } , { "\xcf\xe8\xcc\xe8" , "\x63\x76\x61\x76" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\x63\x76\x61\x76\x49\x70" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\x63\x76\x61\x76\x7b\x4b\x70" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\x63\x76\x61\x76\x74\x4e" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\x63\x76\x61\x76\x73\x4e\x6d" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\x63\x76\x61\x76\x53\x6e" } , { "\xcf\xe8\xcc\xe8\xbf" , "\x63\x76\x61\x76\x55" } , { "\xcf\xe8\xcc\xe8\xc2" , "\x63\x76\x61\x76\x58" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\x63\x76\x61\x76\x74\x58\x6d" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\x63\x76\x61\x76\x5c\x77" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\x63\x76\x61\x76\x5c\x6d" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\x63\x76\x61\x76\x5c\x70" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\x63\x76\x61\x76\x5c\x70\x77" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\x63\x76\x61\x76\x5e\x6d" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\x63\x76\x61\x76\x5e\x6f" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\x63\x76\x61\x76\x60\x6d" } , { "\xcf\xe8\xcc\xe8\xcc" , "\x63\x76\xbd" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\x63\x76\xbd\x6d" } , { "\xcf\xe8\xcc\xe8\xcd" , "\x63\x76\x61\x79" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\x63\x76\x61\x79\x77" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\x63\x76\x61\x79\x6d" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\x63\x76\x61\x79\x70" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\x63\x76\x73\x61\x79\x6d" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\x63\x76\x74\x7b\x61\x6d" } , { "\xcf\xe8\xcc\xe8\xd1" , "\x63\x76\xbe" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\x63\x76\xbe\x70" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\x63\x76\x74\xbe\x6d" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\x63\x76\x61\x76\x6b\x70" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\x63\x76\x61\x76\x6b\x76" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x63\x76\x61\x76\x6b\x76\x53\x76\x63\x6d\x77" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\x63\x76\x61\x76\x6b\x76\x74\x58\x6d" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\x63\x76\x61\x76\x6b\x76\x5c\x6e" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\x63\x76\x61\x76\x6b\x76\x5d\x6e" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\x63\x76\x61\x76\x6b\x76\x61\x6d" } , { "\xcf\xe8\xcd" , "\x63\x79" } , { "\xcf\xe8\xcd\xa2" , "\x63\x79\x77" } , { "\xcf\xe8\xcd\xa3" , "\x63\x79\x78" } , { "\xcf\xe8\xcd\xda" , "\x63\x79\x6d" } , { "\xcf\xe8\xcd\xda\xa2" , "\x63\x79\x6d\x77" } , { "\xcf\xe8\xcd\xdb" , "\x63\x79\x6e" } , { "\xcf\xe8\xcd\xdc" , "\x63\x79\x6f" } , { "\xcf\xe8\xcd\xdd" , "\x63\x79\x70" } , { "\xcf\xe8\xcd\xdd\xa2" , "\x63\x79\x70\x77" } , { "\xcf\xe8\xcd\xde" , "\x63\x79\x71" } , { "\xcf\xe8\xcd\xe1" , "\x74\x63\x79" } , { "\xcf\xe8\xcd\xe4" , "\x73\x63\x79\x6d" } , { "\xcf\xe8\xcd\xe5" , "\x74\x63\x79\x6d" } , { "\xcf\xe8\xcd\xe5\xa2" , "\x74\x63\x79\x6d\x77" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\x63\x76\x62\x76\x49\x71" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\x63\x76\x62\x76\x59\x77" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\x63\x76\x62\x76\x59\x6d" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\x63\x76\x62\x76\x5a\x77" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\x63\x76\x62\x76\x5a\x6d" } , { "\xcf\xe8\xcd\xe8\xc5" , "\x63\x76\x62\x76\x5b" } , { "\xcf\xe8\xcd\xe8\xcd" , "\x63\x76\xbf" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\x63\x76\xbf\x6d" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\x63\x76\xbf\x71" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\x63\x76\x7b\x62\x79" } , { "\xcf\xe8\xcd\xe8\xd4" , "\x63\x76\x62\x7a" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\x63\x76\x62\x7a\x6d" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\x63\x76\x62\x7a\x70" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\x63\x76\x62\x7a\x71" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\x63\x76\x62\x76\x6a\x6e\x77" } , { "\xcf\xe8\xcf" , "\x63\x76\x63" } , { "\xcf\xe8\xcf\xa2" , "\x63\x76\x63\x77" } , { "\xcf\xe8\xcf\xda" , "\x63\x76\x63\x6d" } , { "\xcf\xe8\xcf\xda\xa2" , "\x63\x76\x63\x6d\x77" } , { "\xcf\xe8\xcf\xdb" , "\x63\x76\x63\x6e" } , { "\xcf\xe8\xcf\xdb\xa2" , "\x63\x76\x63\x6e\x77" } , { "\xcf\xe8\xcf\xdc" , "\x63\x76\x63\x6f" } , { "\xcf\xe8\xcf\xdd" , "\x63\x76\x63\x70" } , { "\xcf\xe8\xcf\xdd\xa2" , "\x63\x76\x63\x70\x77" } , { "\xcf\xe8\xcf\xde" , "\x63\x76\x63\x71" } , { "\xcf\xe8\xcf\xe0" , "\x63\x76\x73\x63" } , { "\xcf\xe8\xcf\xe0\xa2" , "\x63\x76\x73\x63\x77" } , { "\xcf\xe8\xcf\xe1" , "\x63\x76\x74\x63" } , { "\xcf\xe8\xcf\xe1\xa2" , "\x63\x76\x74\x63\x77" } , { "\xcf\xe8\xcf\xe2" , "\x63\x76\x73\x73\x63" } , { "\xcf\xe8\xcf\xe4" , "\x63\x76\x73\x63\x6d" } , { "\xcf\xe8\xcf\xe5" , "\x63\x76\x74\x63\x6d" } , { "\xcf\xe8\xcf\xe5\xa2" , "\x63\x76\x74\x63\x6d\x77" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\x63\x76\x63\x76\x4e\x70" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\x63\x76\x63\x76\x53\x76" } , { "\xcf\xe8\xcf\xe8\xcc" , "\x63\x76\x63\x76\x61" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\x63\x76\x63\x76\x63\x77" } , { "\xcf\xe8\xcf\xe8\xd8" , "\x63\x76\x63\x76\x6c" } , { "\xcf\xe8\xd0" , "\x63\x76\x64" } , { "\xcf\xe8\xd0\xda" , "\x63\x76\x64\x6d" } , { "\xcf\xe8\xd0\xdb" , "\x63\x76\x64\x6e" } , { "\xcf\xe8\xd0\xe1\xa2" , "\x63\x76\x74\x64\x77" } , { "\xcf\xe8\xd1" , "\x63\x76\x65" } , { "\xcf\xe8\xd1\xa2" , "\x63\x76\x65\x77" } , { "\xcf\xe8\xd1\xda" , "\x63\x76\x65\x6d" } , { "\xcf\xe8\xd1\xda\xa1" , "\x63\x76\x65\x6d\x77" } , { "\xcf\xe8\xd1\xda\xa2" , "\x63\x76\x65\x6d\x77" } , { "\xcf\xe8\xd1\xdb" , "\x63\x76\x65\x6e" } , { "\xcf\xe8\xd1\xdb\xa2" , "\x63\x76\x65\x6e\x77" } , { "\xcf\xe8\xd1\xdc" , "\x63\x76\x65\x6f" } , { "\xcf\xe8\xd1\xdd" , "\x63\x76\x65\x70" } , { "\xcf\xe8\xd1\xdd\xa2" , "\x63\x76\x65\x70\x77" } , { "\xcf\xe8\xd1\xde" , "\x63\x76\x65\x71" } , { "\xcf\xe8\xd1\xe0" , "\x63\x76\x73\x65" } , { "\xcf\xe8\xd1\xe0\xa2" , "\x63\x76\x73\x65\x77" } , { "\xcf\xe8\xd1\xe1" , "\x63\x76\x74\x65" } , { "\xcf\xe8\xd1\xe1\xa2" , "\x63\x76\x74\x65\x77" } , { "\xcf\xe8\xd1\xe2" , "\x63\x76\x73\x73\x65" } , { "\xcf\xe8\xd1\xe4" , "\x63\x76\x73\x65\x6d" } , { "\xcf\xe8\xd1\xe5" , "\x63\x76\x74\x65\x6d" } , { "\xcf\xe8\xd1\xe5\xa2" , "\x63\x76\x74\x65\x6d\x77" } , { "\xcf\xe8\xd1\xe8" , "\x63\x76\x65\x76" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\x63\x76\x65\x76\x50" } , { "\xcf\xe8\xd1\xe8\xbf" , "\x63\x76\x65\x76\x55" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\x63\x76\x65\x76\x74\x58\x6d" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\x63\x76\x65\x76\xb9" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\x63\x76\x65\x76\x5e\x6d" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\x63\x76\x65\x76\x61\x6d" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\x63\x76\x65\x79\x6d\x77" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\x63\x76\x73\x65\x7a" } , { "\xcf\xe8\xd1\xe8\xd7" , "\x63\x76\x65\x76\x6b" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\x63\x76\x65\x76\x6b\x70" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\x63\x76\x65\x76\x6b\x76" } , { "\xcf\xe8\xd2" , "\x63\x76\x66" } , { "\xcf\xe8\xd4" , "\x63\x7a" } , { "\xcf\xe8\xd4\xa2" , "\x63\x7a\x77" } , { "\xcf\xe8\xd4\xa3" , "\x63\x7a\x78" } , { "\xcf\xe8\xd4\xda" , "\x63\x7a\x6d" } , { "\xcf\xe8\xd4\xda\xa2" , "\x63\x7a\x6d\x77" } , { "\xcf\xe8\xd4\xdb" , "\x63\x7a\x6e" } , { "\xcf\xe8\xd4\xdb\xa2" , "\x63\x7a\x6e\x77" } , { "\xcf\xe8\xd4\xdc" , "\x63\x7a\x6f" } , { "\xcf\xe8\xd4\xdd" , "\x63\x7a\x70" } , { "\xcf\xe8\xd4\xdd\xa2" , "\x63\x7a\x70\x77" } , { "\xcf\xe8\xd4\xde" , "\x63\x7a\x71" } , { "\xcf\xe8\xd4\xdf" , "\x63\x7a\x72" } , { "\xcf\xe8\xd4\xe0" , "\x73\x63\x7a" } , { "\xcf\xe8\xd4\xe0\xa2" , "\x73\x63\x7a\x77" } , { "\xcf\xe8\xd4\xe1" , "\x74\x63\x7a" } , { "\xcf\xe8\xd4\xe1\xa2" , "\x74\x63\x7a\x77" } , { "\xcf\xe8\xd4\xe2" , "\x73\x73\x63\x7a" } , { "\xcf\xe8\xd4\xe5" , "\x74\x63\x7a\x6d" } , { "\xcf\xe8\xd4\xe5\xa2" , "\x74\x63\x7a\x6d\x77" } , { "\xcf\xe8\xd4\xe6" , "\x63\x7a\x75" } , { "\xcf\xe8\xd4\xe8" , "\x63\x76\x68\x76" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\x63\x76\x68\x76\x74\x4e" } , { "\xcf\xe8\xd4\xe8\xcd" , "\x63\x76\x68\x79" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\x63\x76\x68\x79\x6d" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\x63\x76\x68\x79\x70" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\x63\x76\x68\x79\x71" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\x63\x76\x68\x76\x62\x7a" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\x63\x76\x7b\x68\x70" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\x63\x76\x68\x76\x74\x65\x6d" } , { "\xcf\xe8\xd4\xe8\xd4" , "\x63\x76\xc6" } , { "\xcf\xe8\xd4\xe8\xd5" , "\x63\x76\x68\x76\x69" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\x63\x76\x68\x76\x6c\x6f" } , { "\xcf\xe8\xd5" , "\x63\x76\x69" } , { "\xcf\xe8\xd5\xa2" , "\x63\x76\x69\x77" } , { "\xcf\xe8\xd5\xa3" , "\x63\x76\x69\x78" } , { "\xcf\xe8\xd5\xda" , "\x63\x76\x69\x6d" } , { "\xcf\xe8\xd5\xda\xa2" , "\x63\x76\x69\x6d\x77" } , { "\xcf\xe8\xd5\xdb" , "\x63\x76\x69\x6e" } , { "\xcf\xe8\xd5\xdb\xa2" , "\x63\x76\x69\x6e\x77" } , { "\xcf\xe8\xd5\xdc" , "\x63\x76\x69\x6f" } , { "\xcf\xe8\xd5\xdd" , "\x63\x76\x69\x70" } , { "\xcf\xe8\xd5\xe0" , "\x63\x76\x73\x69" } , { "\xcf\xe8\xd5\xe1" , "\x63\x76\x74\x69" } , { "\xcf\xe8\xd5\xe1\xa2" , "\x63\x76\x74\x69\x77" } , { "\xcf\xe8\xd5\xe5" , "\x63\x76\x74\x69\x6d" } , { "\xcf\xe8\xd5\xe5\xa2" , "\x63\x76\x74\x69\x6d\x77" } , { "\xcf\xe8\xd5\xe8\xcd" , "\x63\x76\x69\x79" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\x63\x76\x69\x79\x77" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\x63\x76\x69\x79\x6d" } , { "\xcf\xe8\xd5\xe8\xcf" , "\x63\x76\x7b\x69" } , { "\xcf\xe8\xd5\xe8\xd4" , "\x63\x76\x69\x7a" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\x63\x76\x69\x7a\x77" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\x63\x76\x69\x7a\x6d" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\x63\x76\x69\x7a\x6d\x77" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\x63\x76\x69\x7a\x6e" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\x63\x76\x74\x69\x7a\x6d" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\x63\x76\x74\x69\x7a\x6d\x77" } , { "\xcf\xe8\xd5\xe8\xd5" , "\x63\x76\xc8" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\x63\x76\x69\x76\x43" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\x63\x76\x69\x76\x68" } , { "\xcf\xe8\xd6" , "\x63\x76\x6a" } , { "\xcf\xe8\xd6\xa1" , "\x63\x76\x6a\x77" } , { "\xcf\xe8\xd6\xa2" , "\x63\x76\x6a\x77" } , { "\xcf\xe8\xd6\xda" , "\x63\x76\x6a\x6d" } , { "\xcf\xe8\xd6\xda\xa2" , "\x63\x76\x6a\x6d\x77" } , { "\xcf\xe8\xd6\xdb" , "\x63\x76\x6a\x6e" } , { "\xcf\xe8\xd6\xdb\xa2" , "\x63\x76\x6a\x6e\x77" } , { "\xcf\xe8\xd6\xdc" , "\x63\x76\x6a\x6f" } , { "\xcf\xe8\xd6\xdd" , "\x63\x76\x6a\x70" } , { "\xcf\xe8\xd6\xe0" , "\x63\x76\x73\x6a" } , { "\xcf\xe8\xd6\xe1" , "\x63\x76\x74\x6a" } , { "\xcf\xe8\xd6\xe2" , "\x63\x76\x73\x73\x6a" } , { "\xcf\xe8\xd6\xe5" , "\x63\x76\x74\x6a\x6d" } , { "\xcf\xe8\xd6\xe5\xa2" , "\x63\x76\x74\x6a\x6d\x77" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\x63\x76\x6a\x76\x49\x6e" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\x63\x76\x6a\x76\x74\x49\x6d" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\x63\x76\x6a\x76\x74\x4b" } , { "\xcf\xe8\xd6\xe8\xbd" , "\x63\x76\x6a\x76\x53" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\x63\x76\x6a\x76\x7b\x53" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\x63\x76\x6a\x76\x7b\x53\x6f" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\x63\x76\x6a\x76\x57\x6e" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\x63\x76\x6a\x76\x74\x57" } , { "\xcf\xe8\xd6\xe8\xcd" , "\x63\x76\x6a\x79" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\x63\x76\x6a\x79\x6d" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\x63\x76\x74\x6a\x79" } , { "\xcf\xe8\xd7" , "\x63\x76\x6b" } , { "\xcf\xe8\xd7\xa2" , "\x63\x76\x6b\x77" } , { "\xcf\xe8\xd7\xda" , "\x63\x76\x6b\x6d" } , { "\xcf\xe8\xd7\xda\xa2" , "\x63\x76\x6b\x6d\x77" } , { "\xcf\xe8\xd7\xdb" , "\x63\x76\x6b\x6e" } , { "\xcf\xe8\xd7\xdb\xa2" , "\x63\x76\x6b\x6e\x77" } , { "\xcf\xe8\xd7\xdc" , "\x63\x76\x6b\x6f" } , { "\xcf\xe8\xd7\xdd" , "\x63\x76\x6b\x70" } , { "\xcf\xe8\xd7\xde" , "\x63\x76\x6b\x71" } , { "\xcf\xe8\xd7\xdf" , "\x63\x76\x6b\x72" } , { "\xcf\xe8\xd7\xe0" , "\x63\x76\x73\x6b" } , { "\xcf\xe8\xd7\xe0\xa2" , "\x63\x76\x73\x6b\x77" } , { "\xcf\xe8\xd7\xe1" , "\x63\x76\x74\x6b" } , { "\xcf\xe8\xd7\xe1\xa2" , "\x63\x76\x74\x6b\x77" } , { "\xcf\xe8\xd7\xe2" , "\x63\x76\x73\x73\x6b" } , { "\xcf\xe8\xd7\xe5" , "\x63\x76\x74\x6b\x6d" } , { "\xcf\xe8\xd7\xe5\xa2" , "\x63\x76\x74\x6b\x6d\x77" } , { "\xcf\xe8\xd7\xe8" , "\x63\x76\x6b\x76" } , { "\xcf\xe8\xd7\xe8\xb3" , "\x63\x76\x6b\x76\x49" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\x63\x76\x6b\x76\x49\x6d" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\x63\x76\x6b\x76\x49\x6e" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\x63\x76\x6b\x76\x49\x6f" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\x63\x76\x6b\x76\x49\x70" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\x63\x76\x6b\x76\x4b\x6d" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\x63\x76\x6b\x76\x74\x4e" } , { "\xcf\xe8\xd7\xe8\xbd" , "\x63\x76\x6b\x76\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\x63\x76\x6b\x76\x53\x6d" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\x63\x76\x6b\x76\x53\x6d\x77" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\x63\x76\x6b\x76\x53\x6e" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\x63\x76\x6b\x76\x53\x70" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\x63\x76\x6b\x76\x73\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\x63\x76\x6b\x76\x74\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\x63\x76\x6b\x76\x73\x73\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\x63\x76\x6b\x76\x53\x76" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x63\x76\x6b\x76\x7b\x53\x6d\x77" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\x63\x76\x6b\x76\x53\x76\x6b\x76\x59" } , { "\xcf\xe8\xd7\xe8\xbf" , "\x63\x76\x6b\x76\x55" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\x63\x76\x6b\x76\x73\x55" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\x63\x76\x6b\x76\x55\x76" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\x63\x76\x6b\x76\x58\x70" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\x63\x76\x6b\x76\x74\x58\x6d" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\x63\x76\xd8\x6d" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\x63\x76\xd8\x6f" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x63\x76\x6b\x76\x5a\x7a\x6d" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\x63\x76\x6b\x76\x5c\x6e" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\x63\x76\x6b\x76\x5c\x6f" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\x63\x76\x6b\x76\x5c\x70" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\x63\x76\x6b\x76\x5c\x70\x77" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\x63\x76\x6b\x76\x74\x5c" } , { "\xcf\xe8\xd7\xe8\xc8" , "\x63\x76\x6b\x76\x5d" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\x63\x76\x6b\x76\x5d\x6d" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\x63\x76\x6b\x76\x5d\x6f" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\x63\x76\x6b\x76\x5d\x71" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\x63\x76\x6b\x76\x73\x5d" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\x63\x76\x6b\x76\x74\x5d\x6d" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\x63\x76\x6b\x76\x74\x7b\x5d\x6d" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x63\x76\x6b\x76\xb9\x6d" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\x63\x76\x6b\x76\xb9\x6e" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\x63\x76\x6b\x76\x5e\x79\x6d" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\x63\x76\x6b\x76\x5e\x76\x65\x6e" } , { "\xcf\xe8\xd7\xe8\xca" , "\x63\x76\x6b\x76\x5f" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\x63\x76\x6b\x76\x74\x5f\x6d" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\x63\x76\x6b\x76\x73\x61\x77" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\x63\x76\x6b\x76\x74\x61\x6d" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\x63\x76\x6b\x79\x71" } , { "\xcf\xe8\xd7\xe8\xd1" , "\x63\x76\xc9" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\x63\x76\xc9\x6e" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\x63\x76\xc9\x6f" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\x63\x76\xc9\x70" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\x63\x76\x74\xc9\x6d" } , { "\xcf\xe8\xd7\xe8\xd4" , "\x63\x76\x6b\x7a" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\x63\x76\x6b\x7a\x6d" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\x63\x76\x6b\x7a\x6e" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\x63\x76\x73\x6b\x7a" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\x63\x76\x73\x73\x6b\x7a" } , { "\xcf\xe8\xd7\xe8\xd7" , "\x63\x76\xca" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\x63\x76\xca\x6d" } , { "\xcf\xe8\xd8" , "\x63\x76\x6c" } , { "\xcf\xe8\xd8\xa2" , "\x63\x76\x6c\x77" } , { "\xcf\xe8\xd8\xda" , "\x63\x76\x6c\x6d" } , { "\xcf\xe8\xd8\xda\xa2" , "\x63\x76\x6c\x6d\x77" } , { "\xcf\xe8\xd8\xdb" , "\x63\x76\x6c\x6e" } , { "\xcf\xe8\xd8\xdb\xa2" , "\x63\x76\x6c\x6e\x77" } , { "\xcf\xe8\xd8\xdc" , "\x63\x76\x6c\x6f" } , { "\xcf\xe8\xd8\xdd" , "\x63\x76\x6c\x70" } , { "\xcf\xe8\xd8\xe0" , "\x63\x76\x73\x6c" } , { "\xcf\xe8\xd8\xe1" , "\x63\x76\x74\x6c" } , { "\xcf\xe8\xd8\xe1\xa2" , "\x63\x76\x74\x6c\x77" } , { "\xcf\xe8\xd8\xe5" , "\x63\x76\x74\x6c\x6d" } , { "\xcf\xe8\xd8\xe6" , "\x63\x76\x6c\x75" } , { "\xcf\xe8\xd8\xe8\xc4" , "\x63\x76\x6c\x76\x5a" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\x63\x76\xd3\x6d" } , { "\xcf\xe8\xd8\xe8\xcd" , "\x63\x76\x6c\x79" } , { "\xcf\xe8\xe8" , "\x63\x76" } , { "\xcf\xe9" , "\x63" } , { "\xd0" , "\x64" } , { "\xd0\xa2" , "\x64\x77" } , { "\xd0\xb3" , "\x64\x49" } , { "\xd0\xb3\xe8\xd6\xda" , "\x64\xa3\x6d" } , { "\xd0\xb4" , "\x64\x4a" } , { "\xd0\xb4\xda" , "\x64\x4a\x6d" } , { "\xd0\xb4\xe1" , "\x64\x74\x4a" } , { "\xd0\xbf" , "\x64\x55" } , { "\xd0\xc3" , "\x64\x59" } , { "\xd0\xc4\xdf" , "\x64\x5a\x72" } , { "\xd0\xca\xde" , "\x64\x5f\x71" } , { "\xd0\xcc" , "\x64\x61" } , { "\xd0\xd0\xd7" , "\x64\x64\x6b" } , { "\xd0\xd4" , "\x64\x68" } , { "\xd0\xd8" , "\x64\x6c" } , { "\xd0\xd8\xe1" , "\x64\x74\x6c" } , { "\xd0\xda" , "\x64\x6d" } , { "\xd0\xdb" , "\x64\x6e" } , { "\xd0\xdd" , "\x64\x70" } , { "\xd0\xdd\xa2" , "\x64\x70\x77" } , { "\xd0\xe0" , "\x73\x64" } , { "\xd0\xe0\xa2" , "\x73\x64\x77" } , { "\xd0\xe1" , "\x74\x64" } , { "\xd0\xe4" , "\x73\x64\x6d" } , { "\xd0\xe5" , "\x74\x64\x6d" } , { "\xd0\xe8\xd1\xdd" , "\x64\x76\x65\x70" } , { "\xd1" , "\x65" } , { "\xd1\xa1" , "\x65\x77" } , { "\xd1\xa1\xa2" , "\x65\x77\x77" } , { "\xd1\xa2" , "\x65\x77" } , { "\xd1\xa2\xa2" , "\x65\x77\x77" } , { "\xd1\xa3" , "\x65\x78" } , { "\xd1\xd9" , "\x65" } , { "\xd1\xda" , "\x65\x6d" } , { "\xd1\xda\xa1" , "\x65\x6d\x77" } , { "\xd1\xda\xa2" , "\x65\x6d\x77" } , { "\xd1\xda\xa3" , "\x65\x6d\x78" } , { "\xd1\xdb" , "\x65\x6e" } , { "\xd1\xdb\xa1" , "\x65\x6e\x77" } , { "\xd1\xdb\xa2" , "\x65\x6e\x77" } , { "\xd1\xdb\xa3" , "\x65\x6e\x78" } , { "\xd1\xdb\xce\xe1" , "\x65\x6e\x74\x62" } , { "\xd1\xdc" , "\x65\x6f" } , { "\xd1\xdc\xa2" , "\x65\x6f\x77" } , { "\xd1\xdd" , "\x65\x70" } , { "\xd1\xdd\xa2" , "\x65\x70\x77" } , { "\xd1\xdd\xa3" , "\x65\x70\x78" } , { "\xd1\xde" , "\x65\x71" } , { "\xd1\xde\xa1" , "\x65\x71\x77" } , { "\xd1\xde\xa2" , "\x65\x71\x77" } , { "\xd1\xdf" , "\x65\x72" } , { "\xd1\xe0" , "\x73\x65" } , { "\xd1\xe0\xa2" , "\x73\x65\x77" } , { "\xd1\xe1" , "\x74\x65" } , { "\xd1\xe1\xa2" , "\x74\x65\x77" } , { "\xd1\xe2" , "\x73\x73\x65" } , { "\xd1\xe2\xa2" , "\x73\x73\x65\x77" } , { "\xd1\xe2\xa3" , "\x73\x73\x65\x78" } , { "\xd1\xe4" , "\x73\x65\x6d" } , { "\xd1\xe4\xa2" , "\x73\x65\x6d\x77" } , { "\xd1\xe5" , "\x74\x65\x6d" } , { "\xd1\xe5\xa2" , "\x74\x65\x6d\x77" } , { "\xd1\xe6" , "\x65\x75" } , { "\xd1\xe6\xa2" , "\x65\x75\x77" } , { "\xd1\xe7" , "\x74\x65\x6d" } , { "\xd1\xe7\xa2" , "\x74\x65\x6d\x77" } , { "\xd1\xe8" , "\x65\x76" } , { "\xd1\xe8\xb3" , "\x65\x76\x49" } , { "\xd1\xe8\xb3\xa2" , "\x65\x76\x49\x77" } , { "\xd1\xe8\xb3\xda" , "\x65\x76\x49\x6d" } , { "\xd1\xe8\xb3\xda\xa2" , "\x65\x76\x49\x6d\x77" } , { "\xd1\xe8\xb3\xdb" , "\x65\x76\x49\x6e" } , { "\xd1\xe8\xb3\xdb\xa2" , "\x65\x76\x49\x6e\x77" } , { "\xd1\xe8\xb3\xdc" , "\x65\x76\x49\x6f" } , { "\xd1\xe8\xb3\xdd" , "\x65\x76\x49\x70" } , { "\xd1\xe8\xb3\xdd\xa2" , "\x65\x76\x49\x70\x77" } , { "\xd1\xe8\xb3\xde" , "\x65\x76\x49\x71" } , { "\xd1\xe8\xb3\xe0" , "\x65\x76\x73\x49" } , { "\xd1\xe8\xb3\xe1" , "\x65\x76\x74\x49" } , { "\xd1\xe8\xb3\xe2" , "\x65\x76\x73\x73\x49" } , { "\xd1\xe8\xb3\xe4" , "\x65\x76\x73\x49\x6d" } , { "\xd1\xe8\xb3\xe4\xa2" , "\x65\x76\x73\x49\x6d\x77" } , { "\xd1\xe8\xb3\xe5" , "\x65\x76\x74\x49\x6d" } , { "\xd1\xe8\xb3\xe5\xa2" , "\x65\x76\x74\x49\x6d\x77" } , { "\xd1\xe8\xb3\xe6\xa2" , "\x65\x76\x49\x75\x77" } , { "\xd1\xe8\xb3\xe7" , "\x65\x76\x74\x49\x6d" } , { "\xd1\xe8\xb3\xe8" , "\x65\x76\x49\x76" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\x65\x76\x49\x76\x73\x4e\x6d" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\x65\x76\x49\x76\x7b\x53\x6d" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\x65\x76\x49\x76\x5a\x6d" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\x65\x76\x49\x76\x5a\x79\x70" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\x65\x76\x49\x76\x5c\x70" } , { "\xd1\xe8\xb3\xe8\xcd" , "\x65\x76\x49\x79" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\x65\x76\x49\x79\x6d" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\x65\x76\x49\x79\x70" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\x65\x76\x49\x79\x71" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\x65\x76\x7b\x49\x6e" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\x65\x76\x7b\x49\x6e\x77" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\x65\x76\x7b\x49\x6f" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\x65\x76\x73\x7b\x49" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\x65\x76\x73\x73\x7b\x49" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\x65\x76\x74\x7b\x49\x6d" } , { "\xd1\xe8\xb3\xe8\xd1" , "\x65\x76\xa2" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\x65\x76\xa2\x6d" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\x65\x76\x73\x73\xa2" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\x65\x76\x74\xa2\x6d" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\x65\x76\xa3\x70" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\x65\x76\x49\x76\x6b\x76" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x65\x76\x49\x76\x6b\x76\x5c\x70" } , { "\xd1\xe8\xb3\xe8\xd8" , "\x65\x76\x49\x76\x6c" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\x65\x76\x49\x76\x6c\x6d" } , { "\xd1\xe8\xb4" , "\x65\x76\x4a" } , { "\xd1\xe8\xb4\xa2" , "\x65\x76\x4a\x77" } , { "\xd1\xe8\xb4\xda" , "\x65\x76\x4a\x6d" } , { "\xd1\xe8\xb4\xdb" , "\x65\x76\x4a\x6e" } , { "\xd1\xe8\xb4\xdc" , "\x65\x76\x4a\x6f" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\x65\x76\x4a\x76\x7b\x60" } , { "\xd1\xe8\xb5" , "\x65\x76\x4b" } , { "\xd1\xe8\xb5\xa2" , "\x65\x76\x4b\x77" } , { "\xd1\xe8\xb5\xda" , "\x65\x76\x4b\x6d" } , { "\xd1\xe8\xb5\xda\xa2" , "\x65\x76\x4b\x6d\x77" } , { "\xd1\xe8\xb5\xdb" , "\x65\x76\x4b\x6e" } , { "\xd1\xe8\xb5\xdb\xa2" , "\x65\x76\x4b\x6e\x77" } , { "\xd1\xe8\xb5\xdc" , "\x65\x76\x4b\x6f" } , { "\xd1\xe8\xb5\xdd" , "\x65\x76\x4b\x70" } , { "\xd1\xe8\xb5\xdd\xa2" , "\x65\x76\x4b\x70\x77" } , { "\xd1\xe8\xb5\xde" , "\x65\x76\x4b\x71" } , { "\xd1\xe8\xb5\xe0" , "\x65\x76\x73\x4b" } , { "\xd1\xe8\xb5\xe1" , "\x65\x76\x74\x4b" } , { "\xd1\xe8\xb5\xe2" , "\x65\x76\x73\x73\x4b" } , { "\xd1\xe8\xb5\xe4" , "\x65\x76\x73\x4b\x6d" } , { "\xd1\xe8\xb5\xe4\xa2" , "\x65\x76\x73\x4b\x6d\x77" } , { "\xd1\xe8\xb5\xe5" , "\x65\x76\x74\x4b\x6d" } , { "\xd1\xe8\xb5\xe6" , "\x65\x76\x4b\x75" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\x65\x76\x7b\x4b\x77" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\x65\x76\x7b\x4b\x6d" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\x65\x76\x7b\x4b\x6d\x77" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\x65\x76\x7b\x4b\x6e" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\x65\x76\x7b\x4b\x71" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\x65\x76\xa5\x6d" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\x65\x76\xa5\x6d\x77" } , { "\xd1\xe8\xb6" , "\x65\x76\x4c" } , { "\xd1\xe8\xb8" , "\x65\x76\x4e" } , { "\xd1\xe8\xb8\xa2" , "\x65\x76\x4e\x77" } , { "\xd1\xe8\xb8\xda" , "\x65\x76\x4e\x6d" } , { "\xd1\xe8\xb8\xdb" , "\x65\x76\x4e\x6e" } , { "\xd1\xe8\xb8\xdb\xa2" , "\x65\x76\x4e\x6e\x77" } , { "\xd1\xe8\xb8\xdc" , "\x65\x76\x4e\x6f" } , { "\xd1\xe8\xb8\xdd" , "\x65\x76\x4e\x70" } , { "\xd1\xe8\xb8\xdd\xa2" , "\x65\x76\x4e\x70\x77" } , { "\xd1\xe8\xb8\xde" , "\x65\x76\x4e\x71" } , { "\xd1\xe8\xb8\xe0" , "\x65\x76\x73\x4e" } , { "\xd1\xe8\xb8\xe1" , "\x65\x76\x74\x4e" } , { "\xd1\xe8\xb8\xe4" , "\x65\x76\x73\x4e\x6d" } , { "\xd1\xe8\xb8\xe4\xa2" , "\x65\x76\x73\x4e\x6d\x77" } , { "\xd1\xe8\xb8\xe5" , "\x65\x76\x74\x4e\x6d" } , { "\xd1\xe8\xb8\xe6" , "\x65\x76\x4e\x75" } , { "\xd1\xe8\xb9\xdd" , "\x65\x76\x4f\x70" } , { "\xd1\xe8\xba" , "\x65\x76\x50" } , { "\xd1\xe8\xba\xda" , "\x65\x76\x50\x6d" } , { "\xd1\xe8\xba\xdb" , "\x65\x76\x50\x6e" } , { "\xd1\xe8\xba\xdc" , "\x65\x76\x50\x6f" } , { "\xd1\xe8\xba\xdd" , "\x65\x76\x50\x70" } , { "\xd1\xe8\xba\xde" , "\x65\x76\x50\x71" } , { "\xd1\xe8\xba\xe0" , "\x65\x76\x73\x50" } , { "\xd1\xe8\xba\xe1" , "\x65\x76\x74\x50" } , { "\xd1\xe8\xba\xe8" , "\x65\x76\x50\x76" } , { "\xd1\xe8\xba\xe9" , "\x65\x76\x50" } , { "\xd1\xe8\xba\xe9\xda" , "\x65\x76\x50\x6d" } , { "\xd1\xe8\xbb\xda" , "\x65\x76\x51\x6d" } , { "\xd1\xe8\xbb\xdc" , "\x65\x76\x51\x6f" } , { "\xd1\xe8\xbd" , "\x65\x76\x53" } , { "\xd1\xe8\xbd\xa2" , "\x65\x76\x53\x77" } , { "\xd1\xe8\xbd\xda" , "\x65\x76\x53\x6d" } , { "\xd1\xe8\xbd\xdb" , "\x65\x76\x53\x6e" } , { "\xd1\xe8\xbd\xdb\xa2" , "\x65\x76\x53\x6e\x77" } , { "\xd1\xe8\xbd\xdc" , "\x65\x76\x53\x6f" } , { "\xd1\xe8\xbd\xdd" , "\x65\x76\x53\x70" } , { "\xd1\xe8\xbd\xdd\xa2" , "\x65\x76\x53\x70\x77" } , { "\xd1\xe8\xbd\xde" , "\x65\x76\x53\x71" } , { "\xd1\xe8\xbd\xe0" , "\x65\x76\x73\x53" } , { "\xd1\xe8\xbd\xe0\xa2" , "\x65\x76\x73\x53\x77" } , { "\xd1\xe8\xbd\xe1" , "\x65\x76\x74\x53" } , { "\xd1\xe8\xbd\xe2" , "\x65\x76\x73\x73\x53" } , { "\xd1\xe8\xbd\xe4" , "\x65\x76\x73\x53\x6d" } , { "\xd1\xe8\xbd\xe5" , "\x65\x76\x74\x53\x6d" } , { "\xd1\xe8\xbd\xe5\xa2" , "\x65\x76\x74\x53\x6d\x77" } , { "\xd1\xe8\xbd\xe8" , "\x65\x76\x53\x76" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\x65\x76\x53\x76\x4b\x6d" } , { "\xd1\xe8\xbd\xe8\xba" , "\x65\x76\x53\x76\x50" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\x65\x76\x53\x76\x50\x76" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\x65\x76\x53\x76\x50\x76\x61" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\x65\x76\x53\x76\x5c\x70" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\x65\x76\x53\x76\x5d\x6f" } , { "\xd1\xe8\xbd\xe8\xcc" , "\x65\x76\x53\x76\x61" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\x65\x76\x53\x76\x61\x6f" } , { "\xd1\xe8\xbd\xe8\xcf" , "\x65\x76\x7b\x53" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\x65\x76\x7b\x53\x6d" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\x65\x76\x7b\x53\x6e" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\x65\x76\x7b\x53\x6f" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\x65\x76\x74\x7b\x53" } , { "\xd1\xe8\xbd\xe8\xd1" , "\x65\x76\x53\x76\x65" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\x65\x76\x53\x76\x65\x70" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\x65\x76\x53\x76\x74\x65\x6d" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\x65\x76\x53\x7a\x77" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\x65\x76\x73\x73\x53\x7a" } , { "\xd1\xe8\xbd\xe8\xd7" , "\x65\x76\x53\x76\x6b" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\x65\x76\x53\x76\x6b\x70" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\x65\x76\x53\x76\x6b\x76" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\x65\x76\x53\x76\x6b\x76\x5d\x6d" } , { "\xd1\xe8\xbf" , "\x65\x76\x55" } , { "\xd1\xe8\xbf\xa2" , "\x65\x76\x55\x77" } , { "\xd1\xe8\xbf\xda" , "\x65\x76\x55\x6d" } , { "\xd1\xe8\xbf\xdb" , "\x65\x76\x55\x6e" } , { "\xd1\xe8\xbf\xdb\xa2" , "\x65\x76\x55\x6e\x77" } , { "\xd1\xe8\xbf\xdc" , "\x65\x76\x55\x6f" } , { "\xd1\xe8\xbf\xdd" , "\x65\x76\x55\x70" } , { "\xd1\xe8\xbf\xde" , "\x65\x76\x55\x71" } , { "\xd1\xe8\xbf\xe0" , "\x65\x76\x73\x55" } , { "\xd1\xe8\xbf\xe0\xa2" , "\x65\x76\x73\x55\x77" } , { "\xd1\xe8\xbf\xe1" , "\x65\x76\x74\x55" } , { "\xd1\xe8\xbf\xe4" , "\x65\x76\x73\x55\x6d" } , { "\xd1\xe8\xbf\xe5" , "\x65\x76\x74\x55\x6d" } , { "\xd1\xe8\xbf\xe7" , "\x65\x76\x74\x55\x6d" } , { "\xd1\xe8\xbf\xe8" , "\x65\x76\x55\x76" } , { "\xd1\xe8\xbf\xe8\xb3" , "\x65\x76\x55\x76\x49" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\x65\x76\x55\x76\x49\x70" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\x65\x76\x55\x76\x7b\x49\x6f" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\x65\x76\x55\x76\x4b\x6d" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\x65\x76\x55\x76\x74\x4b" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\x65\x76\x55\x76\x74\x4b\x6d" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\x65\x76\x55\x76\x73\x73\x53" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\x65\x76\xcd\x75" } , { "\xd1\xe8\xbf\xe8\xc2" , "\x65\x76\x55\x76\x58" } , { "\xd1\xe8\xbf\xe8\xc8" , "\x65\x76\x55\x76\x5d" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\x65\x76\x55\x76\x5e\x6e\x77" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\x65\x76\x55\x76\x74\x5e\x6d" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\x65\x76\x55\x76\x73\x7b\x5f" } , { "\xd1\xe8\xbf\xe8\xcc" , "\x65\x76\x55\x76\x61" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\x65\x76\x55\x76\x61\x6d" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\x65\x76\x55\x76\x73\x61" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\x65\x76\x55\x76\x74\x61" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\x65\x76\x55\x79\x71" } , { "\xd1\xe8\xbf\xe8\xcf" , "\x65\x76\x7b\x55" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\x65\x76\x7b\x55\x6e" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\x65\x76\x7b\x55\x6e\x77" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\x65\x76\x7b\x55\x6f" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\x65\x76\x73\x7b\x55" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\x65\x76\x74\x7b\x55" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\x65\x76\x73\x73\x7b\x55" } , { "\xd1\xe8\xbf\xe8\xd1" , "\x65\x76\x55\x76\x65" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\x65\x76\x55\x76\x65\x70" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\x65\x76\x55\x76\x65\x71" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\x65\x76\x55\x76\x74\x65\x6d" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\x65\x76\x55\x7a\x6e" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\x65\x76\x73\x55\x7a" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\x65\x76\x55\x76\x68\x76\x65\x76" } , { "\xd1\xe8\xbf\xe8\xd7" , "\x65\x76\x55\x76\x6b" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\x65\x76\x55\x76\x6b\x76" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\x65\x76\x55\x76\x6b\x76\x53\x6f" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\x65\x76\x55\x76\x6b\x76\x73\x73\x53" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\x65\x76\x55\x76\x6b\x76\x5d\x6d" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\x65\x76\x55\x76\x6b\x76\x5e\x6d" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\x65\x76\x55\x76\x6b\x76\x61\x6e" } , { "\xd1\xe8\xbf\xe9" , "\x65\x76\x55" } , { "\xd1\xe8\xc0\xda" , "\x65\x76\x56\x6d" } , { "\xd1\xe8\xc1" , "\x65\x76\x57" } , { "\xd1\xe8\xc2" , "\x65\x76\x58" } , { "\xd1\xe8\xc2\xda" , "\x65\x76\x58\x6d" } , { "\xd1\xe8\xc2\xda\xa2" , "\x65\x76\x58\x6d\x77" } , { "\xd1\xe8\xc2\xdb" , "\x65\x76\x58\x6e" } , { "\xd1\xe8\xc2\xdb\xa2" , "\x65\x76\x58\x6e\x77" } , { "\xd1\xe8\xc2\xdc" , "\x65\x76\x58\x6f" } , { "\xd1\xe8\xc2\xdd" , "\x65\x76\x58\x70" } , { "\xd1\xe8\xc2\xdd\xa2" , "\x65\x76\x58\x70\x77" } , { "\xd1\xe8\xc2\xde" , "\x65\x76\x58\x71" } , { "\xd1\xe8\xc2\xe0" , "\x65\x76\x73\x58" } , { "\xd1\xe8\xc2\xe1" , "\x65\x76\x74\x58" } , { "\xd1\xe8\xc2\xe4" , "\x65\x76\x73\x58\x6d" } , { "\xd1\xe8\xc2\xe5" , "\x65\x76\x74\x58\x6d" } , { "\xd1\xe8\xc2\xe5\xa2" , "\x65\x76\x74\x58\x6d\x77" } , { "\xd1\xe8\xc2\xe8" , "\x65\x76\x58\x76" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\x65\x76\x58\x76\xa2" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\x65\x76\x58\x76\xbb\x6d" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\x65\x76\xdf\x77" } , { "\xd1\xe8\xc3" , "\x65\x76\x59" } , { "\xd1\xe8\xc3\xda" , "\x65\x76\x59\x6d" } , { "\xd1\xe8\xc3\xdc" , "\x65\x76\x59\x6f" } , { "\xd1\xe8\xc3\xdd" , "\x65\x76\x59\x70" } , { "\xd1\xe8\xc3\xde" , "\x65\x76\x59\x71" } , { "\xd1\xe8\xc4" , "\x65\x76\x5a" } , { "\xd1\xe8\xc4\xa2" , "\x65\x76\x5a\x77" } , { "\xd1\xe8\xc4\xda" , "\x65\x76\x5a\x6d" } , { "\xd1\xe8\xc4\xda\xa2" , "\x65\x76\x5a\x6d\x77" } , { "\xd1\xe8\xc4\xdb" , "\x65\x76\x5a\x6e" } , { "\xd1\xe8\xc4\xdc" , "\x65\x76\x5a\x6f" } , { "\xd1\xe8\xc4\xdd" , "\x65\x76\x5a\x70" } , { "\xd1\xe8\xc4\xe1" , "\x65\x76\x74\x5a" } , { "\xd1\xe8\xc4\xe1\xa2" , "\x65\x76\x74\x5a\x77" } , { "\xd1\xe8\xc4\xe4" , "\x65\x76\x73\x5a\x6d" } , { "\xd1\xe8\xc4\xe5" , "\x65\x76\x74\x5a\x6d" } , { "\xd1\xe8\xc4\xe5\xa2" , "\x65\x76\x74\x5a\x6d\x77" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\x65\x76\x74\x7b\x5a" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\x65\x76\x5a\x7a\x6d" } , { "\xd1\xe8\xc5" , "\x65\x76\x5b" } , { "\xd1\xe8\xc5\xda" , "\x65\x76\x5b\x6d" } , { "\xd1\xe8\xc5\xdb" , "\x65\x76\x5b\x6e" } , { "\xd1\xe8\xc6" , "\x65\x76\x5c" } , { "\xd1\xe8\xc6\xa2" , "\x65\x76\x5c\x77" } , { "\xd1\xe8\xc6\xda" , "\x65\x76\x5c\x6d" } , { "\xd1\xe8\xc6\xdb" , "\x65\x76\x5c\x6e" } , { "\xd1\xe8\xc6\xdb\xa2" , "\x65\x76\x5c\x6e\x77" } , { "\xd1\xe8\xc6\xdc" , "\x65\x76\x5c\x6f" } , { "\xd1\xe8\xc6\xdd" , "\x65\x76\x5c\x70" } , { "\xd1\xe8\xc6\xdd\xa2" , "\x65\x76\x5c\x70\x77" } , { "\xd1\xe8\xc6\xde" , "\x65\x76\x5c\x71" } , { "\xd1\xe8\xc6\xe0" , "\x65\x76\x73\x5c" } , { "\xd1\xe8\xc6\xe0\xa2" , "\x65\x76\x73\x5c\x77" } , { "\xd1\xe8\xc6\xe1" , "\x65\x76\x74\x5c" } , { "\xd1\xe8\xc6\xe1\xa2" , "\x65\x76\x74\x5c\x77" } , { "\xd1\xe8\xc6\xe2" , "\x65\x76\x73\x73\x5c" } , { "\xd1\xe8\xc6\xe5" , "\x65\x76\x74\x5c\x6d" } , { "\xd1\xe8\xc6\xe8" , "\x65\x76\x5c\x76" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\x65\x76\x5c\x76\x49\x70" } , { "\xd1\xe8\xc8" , "\x65\x76\x5d" } , { "\xd1\xe8\xc8\xa2" , "\x65\x76\x5d\x77" } , { "\xd1\xe8\xc8\xda" , "\x65\x76\x5d\x6d" } , { "\xd1\xe8\xc8\xda\xa2" , "\x65\x76\x5d\x6d\x77" } , { "\xd1\xe8\xc8\xda\xa3" , "\x65\x76\x5d\x6d\x78" } , { "\xd1\xe8\xc8\xdb" , "\x65\x76\x5d\x6e" } , { "\xd1\xe8\xc8\xdb\xa2" , "\x65\x76\x5d\x6e\x77" } , { "\xd1\xe8\xc8\xdc" , "\x65\x76\x5d\x6f" } , { "\xd1\xe8\xc8\xdc\xa2" , "\x65\x76\x5d\x6f\x77" } , { "\xd1\xe8\xc8\xdd" , "\x65\x76\x5d\x70" } , { "\xd1\xe8\xc8\xdd\xa2" , "\x65\x76\x5d\x70\x77" } , { "\xd1\xe8\xc8\xde" , "\x65\x76\x5d\x71" } , { "\xd1\xe8\xc8\xe0" , "\x65\x76\x73\x5d" } , { "\xd1\xe8\xc8\xe0\xa2" , "\x65\x76\x73\x5d\x77" } , { "\xd1\xe8\xc8\xe1" , "\x65\x76\x74\x5d" } , { "\xd1\xe8\xc8\xe1\xa2" , "\x65\x76\x74\x5d\x77" } , { "\xd1\xe8\xc8\xe2" , "\x65\x76\x73\x73\x5d" } , { "\xd1\xe8\xc8\xe4" , "\x65\x76\x73\x5d\x6d" } , { "\xd1\xe8\xc8\xe5" , "\x65\x76\x74\x5d\x6d" } , { "\xd1\xe8\xc8\xe5\xa2" , "\x65\x76\x74\x5d\x6d\x77" } , { "\xd1\xe8\xc8\xe8" , "\x65\x76\x5d\x76" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\x65\x76\x5d\x76\x74\x4b\x6d" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\x65\x76\x5d\x79\x71" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\x65\x76\x7b\x5d\x6d" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\x65\x76\x7b\x5d\x6e" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\x65\x76\x73\x7b\x5d" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\x65\x76\x73\x73\x7b\x5d" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\x65\x76\x73\x7b\x5d\x6d" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\x65\x76\xb9\x6d" } , { "\xd1\xe8\xc8\xe8\xd7" , "\x65\x76\x5d\x76\x6b" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\x65\x76\x5d\x76\x6b\x76" } , { "\xd1\xe8\xc9" , "\x65\x76\x5e" } , { "\xd1\xe8\xc9\xa2" , "\x65\x76\x5e\x77" } , { "\xd1\xe8\xc9\xda" , "\x65\x76\x5e\x6d" } , { "\xd1\xe8\xc9\xdb" , "\x65\x76\x5e\x6e" } , { "\xd1\xe8\xc9\xdb\xa2" , "\x65\x76\x5e\x6e\x77" } , { "\xd1\xe8\xc9\xdc" , "\x65\x76\x5e\x6f" } , { "\xd1\xe8\xc9\xdd" , "\x65\x76\x5e\x70" } , { "\xd1\xe8\xc9\xde" , "\x65\x76\x5e\x71" } , { "\xd1\xe8\xc9\xe0" , "\x65\x76\x73\x5e" } , { "\xd1\xe8\xc9\xe1" , "\x65\x76\x74\x5e" } , { "\xd1\xe8\xc9\xe1\xa2" , "\x65\x76\x74\x5e\x77" } , { "\xd1\xe8\xc9\xe2" , "\x65\x76\x73\x73\x5e" } , { "\xd1\xe8\xc9\xe4" , "\x65\x76\x73\x5e\x6d" } , { "\xd1\xe8\xc9\xe5" , "\x65\x76\x74\x5e\x6d" } , { "\xd1\xe8\xc9\xe5\xa2" , "\x65\x76\x74\x5e\x6d\x77" } , { "\xd1\xe8\xc9\xe7" , "\x65\x76\x74\x5e\x6d" } , { "\xd1\xe8\xc9\xe8" , "\x65\x76\x5e\x76" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\x65\x76\x5e\x76\x53\x76" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\x65\x76\x5e\x76\x61\x6d" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\x65\x76\x5e\x79\x70" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\x65\x76\x5e\x79\x71" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\x65\x76\x7b\x5e\x77" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\x65\x76\x73\x7b\x5e" } , { "\xd1\xe8\xc9\xe8\xd1" , "\x65\x76\x5e\x76\x65" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\x65\x76\x5e\x76\x73\x73\x65" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\x65\x76\x5e\x76\x74\x65\x6d" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\x65\x76\x5e\x7a\x6f" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\x65\x76\x5e\x76\x6b\x76" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\x65\x76\x5e\x76\x6c\x6e" } , { "\xd1\xe8\xca" , "\x65\x76\x5f" } , { "\xd1\xe8\xca\xa2" , "\x65\x76\x5f\x77" } , { "\xd1\xe8\xca\xda" , "\x65\x76\x5f\x6d" } , { "\xd1\xe8\xca\xda\xa2" , "\x65\x76\x5f\x6d\x77" } , { "\xd1\xe8\xca\xdb" , "\x65\x76\x5f\x6e" } , { "\xd1\xe8\xca\xdc" , "\x65\x76\x5f\x6f" } , { "\xd1\xe8\xca\xdd" , "\x65\x76\x5f\x70" } , { "\xd1\xe8\xca\xdf" , "\x65\x76\x5f\x72" } , { "\xd1\xe8\xca\xe0" , "\x65\x76\x73\x5f" } , { "\xd1\xe8\xca\xe1" , "\x65\x76\x74\x5f" } , { "\xd1\xe8\xca\xe2" , "\x65\x76\x73\x73\x5f" } , { "\xd1\xe8\xca\xe5" , "\x65\x76\x74\x5f\x6d" } , { "\xd1\xe8\xca\xe5\xa2" , "\x65\x76\x74\x5f\x6d\x77" } , { "\xd1\xe8\xca\xe8" , "\x65\x76\x5f\x76" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\x65\x76\x5f\x76\x49\x70" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\x65\x76\x5f\x76\x5c\x70" } , { "\xd1\xe8\xca\xe8\xcd" , "\x65\x76\x5f\x79" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\x65\x76\x5f\x79\x6d" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\x65\x76\x5f\x79\x70" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\x65\x76\x5f\x79\x71" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\x65\x76\x7b\x5f\x71" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\x65\x76\x73\x7b\x5f" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\x65\x76\x74\x7b\x5f" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\x65\x76\x74\x7b\x5f\x6d" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x65\x76\x5f\x76\x63\x76\x53\x76\x6b\x76\x49\x6e" } , { "\xd1\xe8\xca\xe8\xd1" , "\x65\x76\xbb" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\x65\x76\xbb\x71" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\x65\x76\x74\xbb\x6d" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\x65\x76\x5f\x7a\x77" } , { "\xd1\xe8\xcb" , "\x65\x76\x60" } , { "\xd1\xe8\xcb\xa2" , "\x65\x76\x60\x77" } , { "\xd1\xe8\xcb\xda" , "\x65\x76\x60\x6d" } , { "\xd1\xe8\xcb\xdb\xa2" , "\x65\x76\x60\x6e\x77" } , { "\xd1\xe8\xcb\xdd" , "\x65\x76\x60\x70" } , { "\xd1\xe8\xcb\xde" , "\x65\x76\x60\x71" } , { "\xd1\xe8\xcb\xe2" , "\x65\x76\x73\x73\x60" } , { "\xd1\xe8\xcb\xe8\xcd" , "\x65\x76\x60\x79" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\x65\x76\x60\x79\x77" } , { "\xd1\xe8\xcc" , "\x65\x76\x61" } , { "\xd1\xe8\xcc\xa2" , "\x65\x76\x61\x77" } , { "\xd1\xe8\xcc\xda" , "\x65\x76\x61\x6d" } , { "\xd1\xe8\xcc\xda\xa2" , "\x65\x76\x61\x6d\x77" } , { "\xd1\xe8\xcc\xdb" , "\x65\x76\x61\x6e" } , { "\xd1\xe8\xcc\xdb\xa2" , "\x65\x76\x61\x6e\x77" } , { "\xd1\xe8\xcc\xdc" , "\x65\x76\x61\x6f" } , { "\xd1\xe8\xcc\xdd" , "\x65\x76\x61\x70" } , { "\xd1\xe8\xcc\xde" , "\x65\x76\x61\x71" } , { "\xd1\xe8\xcc\xdf" , "\x65\x76\x61\x72" } , { "\xd1\xe8\xcc\xe0" , "\x65\x76\x73\x61" } , { "\xd1\xe8\xcc\xe0\xa2" , "\x65\x76\x73\x61\x77" } , { "\xd1\xe8\xcc\xe1" , "\x65\x76\x74\x61" } , { "\xd1\xe8\xcc\xe1\xa2" , "\x65\x76\x74\x61\x77" } , { "\xd1\xe8\xcc\xe4" , "\x65\x76\x73\x61\x6d" } , { "\xd1\xe8\xcc\xe5" , "\x65\x76\x74\x61\x6d" } , { "\xd1\xe8\xcc\xe5\xa2" , "\x65\x76\x74\x61\x6d\x77" } , { "\xd1\xe8\xcc\xe7" , "\x65\x76\x74\x61\x6d" } , { "\xd1\xe8\xcc\xe8" , "\x65\x76\x61\x76" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\x65\x76\x61\x76\x74\x49\x6d" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\x65\x76\x61\x76\x4b\x6d" } , { "\xd1\xe8\xcc\xe8\xba" , "\x65\x76\x61\x76\x50" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\x65\x76\x61\x76\x73\x73\x55" } , { "\xd1\xe8\xcc\xe8\xc6" , "\x65\x76\x61\x76\x5c" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\x65\x76\x61\x76\x5c\x70" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\x65\x76\xbd\x6f" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\x65\x76\x61\x79\x6d" } , { "\xd1\xe8\xcc\xe8\xd1" , "\x65\x76\xbe" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\x65\x76\xbe\x70" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\x65\x76\x74\xbe\x6d" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\x65\x76\x61\x7a\x77" } , { "\xd1\xe8\xcc\xe8\xd7" , "\x65\x76\x61\x76\x6b" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\x65\x76\x61\x76\x6b\x76\x5e" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\x65\x76\x61\x76\x74\x6c\x6d" } , { "\xd1\xe8\xcd" , "\x65\x79" } , { "\xd1\xe8\xcd\xa2" , "\x65\x79\x77" } , { "\xd1\xe8\xcd\xda" , "\x65\x79\x6d" } , { "\xd1\xe8\xcd\xda\xa2" , "\x65\x79\x6d\x77" } , { "\xd1\xe8\xcd\xdc" , "\x65\x79\x6f" } , { "\xd1\xe8\xcd\xdd" , "\x65\x79\x70" } , { "\xd1\xe8\xcd\xde" , "\x65\x79\x71" } , { "\xd1\xe8\xcd\xde\xa2" , "\x65\x79\x71\x77" } , { "\xd1\xe8\xcd\xe0" , "\x73\x65\x79" } , { "\xd1\xe8\xcd\xe0\xa2" , "\x73\x65\x79\x77" } , { "\xd1\xe8\xcd\xe1" , "\x74\x65\x79" } , { "\xd1\xe8\xcd\xe4" , "\x73\x65\x79\x6d" } , { "\xd1\xe8\xcd\xe5" , "\x74\x65\x79\x6d" } , { "\xd1\xe8\xcd\xe5\xa2" , "\x74\x65\x79\x6d\x77" } , { "\xd1\xe8\xcd\xe6" , "\x65\x79\x75" } , { "\xd1\xe8\xcd\xe6\xa2" , "\x65\x79\x75\x77" } , { "\xd1\xe8\xcd\xe7" , "\x74\x65\x79\x6d" } , { "\xd1\xe8\xcd\xe8" , "\x65\x76\x62\x76" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\x65\x76\xbf\x77" } , { "\xd1\xe8\xcf" , "\x7b\x65" } , { "\xd1\xe8\xcf\xa2" , "\x7b\x65\x77" } , { "\xd1\xe8\xcf\xda" , "\x7b\x65\x6d" } , { "\xd1\xe8\xcf\xda\xa2" , "\x7b\x65\x6d\x77" } , { "\xd1\xe8\xcf\xdb" , "\x7b\x65\x6e" } , { "\xd1\xe8\xcf\xdb\xa2" , "\x7b\x65\x6e\x77" } , { "\xd1\xe8\xcf\xdd" , "\x7b\x65\x70" } , { "\xd1\xe8\xcf\xde" , "\x7b\x65\x71" } , { "\xd1\xe8\xcf\xe0" , "\x73\x7b\x65" } , { "\xd1\xe8\xcf\xe1" , "\x74\x7b\x65" } , { "\xd1\xe8\xcf\xe2" , "\x73\x73\x7b\x65" } , { "\xd1\xe8\xcf\xe5" , "\x74\x7b\x65\x6d" } , { "\xd1\xe8\xcf\xe6\xa2" , "\x7b\x65\x75\x77" } , { "\xd1\xe8\xcf\xe8\xbf" , "\x65\x76\x63\x76\x55" } , { "\xd1\xe8\xcf\xe8\xd7" , "\x65\x76\x63\x76\x6b" } , { "\xd1\xe8\xd1" , "\xc3" } , { "\xd1\xe8\xd1\xa2" , "\xc3\x77" } , { "\xd1\xe8\xd1\xda" , "\xc3\x6d" } , { "\xd1\xe8\xd1\xda\xa2" , "\xc3\x6d\x77" } , { "\xd1\xe8\xd1\xdb" , "\xc3\x6e" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xc3\x6e\x77" } , { "\xd1\xe8\xd1\xdc" , "\xc3\x6f" } , { "\xd1\xe8\xd1\xdd" , "\xc3\x70" } , { "\xd1\xe8\xd1\xdd\xa2" , "\xc3\x70\x77" } , { "\xd1\xe8\xd1\xde" , "\xc3\x71" } , { "\xd1\xe8\xd1\xde\xa1" , "\xc3\x71\x77" } , { "\xd1\xe8\xd1\xe0" , "\x73\xc3" } , { "\xd1\xe8\xd1\xe0\xa2" , "\x73\xc3\x77" } , { "\xd1\xe8\xd1\xe1" , "\x74\xc3" } , { "\xd1\xe8\xd1\xe1\xa2" , "\x74\xc3\x77" } , { "\xd1\xe8\xd1\xe2" , "\x73\x73\xc3" } , { "\xd1\xe8\xd1\xe4" , "\x73\xc3\x6d" } , { "\xd1\xe8\xd1\xe5" , "\x74\xc3\x6d" } , { "\xd1\xe8\xd1\xe5\xa2" , "\x74\xc3\x6d\x77" } , { "\xd1\xe8\xd1\xe6" , "\xc3\x75" } , { "\xd1\xe8\xd1\xe8" , "\xc3\x76" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xc3\x76\x4b\x6d" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\xc3\x76\x73\x5d" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\xc3\x79\x71" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xc3\x76\x65" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xc3\x76\x74\x65\x6d" } , { "\xd1\xe8\xd2" , "\x65\x76\x66" } , { "\xd1\xe8\xd2\xda" , "\x65\x76\x66\x6d" } , { "\xd1\xe8\xd2\xda\xa2" , "\x65\x76\x66\x6d\x77" } , { "\xd1\xe8\xd2\xdb" , "\x65\x76\x66\x6e" } , { "\xd1\xe8\xd2\xdb\xa2" , "\x65\x76\x66\x6e\x77" } , { "\xd1\xe8\xd2\xdc" , "\x65\x76\x66\x6f" } , { "\xd1\xe8\xd2\xdd" , "\x65\x76\x66\x70" } , { "\xd1\xe8\xd2\xe0" , "\x65\x76\x73\x66" } , { "\xd1\xe8\xd2\xe1" , "\x65\x76\x74\x66" } , { "\xd1\xe8\xd2\xe5" , "\x65\x76\x74\x66\x6d" } , { "\xd1\xe8\xd4" , "\x65\x7a" } , { "\xd1\xe8\xd4\xa2" , "\x65\x7a\x77" } , { "\xd1\xe8\xd4\xda" , "\x65\x7a\x6d" } , { "\xd1\xe8\xd4\xda\xa2" , "\x65\x7a\x6d\x77" } , { "\xd1\xe8\xd4\xdb" , "\x65\x7a\x6e" } , { "\xd1\xe8\xd4\xdb\xa2" , "\x65\x7a\x6e\x77" } , { "\xd1\xe8\xd4\xdc" , "\x65\x7a\x6f" } , { "\xd1\xe8\xd4\xdd" , "\x65\x7a\x70" } , { "\xd1\xe8\xd4\xe0" , "\x73\x65\x7a" } , { "\xd1\xe8\xd4\xe0\xa2" , "\x73\x65\x7a\x77" } , { "\xd1\xe8\xd4\xe1" , "\x74\x65\x7a" } , { "\xd1\xe8\xd4\xe2" , "\x73\x73\x65\x7a" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\x73\x73\x65\x7a\x5c\x76" } , { "\xd1\xe8\xd4\xe5" , "\x74\x65\x7a\x6d" } , { "\xd1\xe8\xd4\xe5\xa2" , "\x74\x65\x7a\x6d\x77" } , { "\xd1\xe8\xd4\xe8" , "\x65\x76\x68\x76" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\x65\x76\x68\x76\x74\x4e" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\x65\x76\x68\x76\x74\x5f" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\x65\x76\x68\x76\x60\x6d" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\x65\x76\x68\x76\x73\x61\x77" } , { "\xd1\xe8\xd4\xe8\xcd" , "\x65\x76\x68\x79" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\x65\x76\x68\x79\x6d" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\x65\x76\x68\x79\x70" } , { "\xd1\xe8\xd4\xe8\xd1" , "\x65\x76\x68\x76\x65" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\x65\x76\x68\x76\x65\x6d" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\x65\x76\x68\x76\x65\x70" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\x65\x76\x68\x76\x6b\x6f" } , { "\xd1\xe8\xd5" , "\x65\x76\x69" } , { "\xd1\xe8\xd5\xda" , "\x65\x76\x69\x6d" } , { "\xd1\xe8\xd5\xdb" , "\x65\x76\x69\x6e" } , { "\xd1\xe8\xd5\xe8" , "\x65\x76\x69\x76" } , { "\xd1\xe8\xd6" , "\x65\x76\x6a" } , { "\xd1\xe8\xd6\xda" , "\x65\x76\x6a\x6d" } , { "\xd1\xe8\xd6\xdb" , "\x65\x76\x6a\x6e" } , { "\xd1\xe8\xd6\xe0" , "\x65\x76\x73\x6a" } , { "\xd1\xe8\xd6\xe5" , "\x65\x76\x74\x6a\x6d" } , { "\xd1\xe8\xd7" , "\x65\x76\x6b" } , { "\xd1\xe8\xd7\xa2" , "\x65\x76\x6b\x77" } , { "\xd1\xe8\xd7\xda" , "\x65\x76\x6b\x6d" } , { "\xd1\xe8\xd7\xdb" , "\x65\x76\x6b\x6e" } , { "\xd1\xe8\xd7\xdb\xa2" , "\x65\x76\x6b\x6e\x77" } , { "\xd1\xe8\xd7\xdc" , "\x65\x76\x6b\x6f" } , { "\xd1\xe8\xd7\xdd" , "\x65\x76\x6b\x70" } , { "\xd1\xe8\xd7\xdd\xa2" , "\x65\x76\x6b\x70\x77" } , { "\xd1\xe8\xd7\xde" , "\x65\x76\x6b\x71" } , { "\xd1\xe8\xd7\xe0" , "\x65\x76\x73\x6b" } , { "\xd1\xe8\xd7\xe0\xa2" , "\x65\x76\x73\x6b\x77" } , { "\xd1\xe8\xd7\xe1" , "\x65\x76\x74\x6b" } , { "\xd1\xe8\xd7\xe2" , "\x65\x76\x73\x73\x6b" } , { "\xd1\xe8\xd7\xe4" , "\x65\x76\x73\x6b\x6d" } , { "\xd1\xe8\xd7\xe6" , "\x65\x76\x6b\x75" } , { "\xd1\xe8\xd7\xe8" , "\x65\x76\x6b\x76" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\x65\x76\x6b\x76\x49\x6d" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\x65\x76\x6b\x76\x49\x6e" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\x65\x76\x6b\x76\x49\x6f" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\x65\x76\x6b\x76\x49\x70" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\x65\x76\x6b\x76\x49\x71" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\x65\x76\x6b\x76\x74\x49" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\x65\x76\x6b\x76\x74\x49\x6d" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\x65\x76\x6b\x76\x49\x76" } , { "\xd1\xe8\xd7\xe8\xb5" , "\x65\x76\x6b\x76\x4b" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\x65\x76\x6b\x76\x4b\x6d" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\x65\x76\x6b\x76\x74\x4b" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\x65\x76\x6b\x76\x73\x50" } , { "\xd1\xe8\xd7\xe8\xbd" , "\x65\x76\x6b\x76\x53" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\x65\x76\x6b\x76\x53\x6d" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\x65\x76\x6b\x76\x53\x6d\x77" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\x65\x76\x6b\x76\x74\x53" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\x65\x76\x6b\x76\x73\x73\x53" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\x65\x76\x6b\x76\x74\x53\x6d\x77" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x65\x76\x6b\x76\x74\x7b\x53\x6d" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\x65\x76\x6b\x76\x55\x6d" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\x65\x76\x6b\x76\x74\x58\x6d" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\x65\x76\xd8\x6d" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\x65\x76\x6b\x76\x5a\x6d" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x65\x76\x6b\x76\x5a\x7a\x6d" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\x65\x76\x6b\x76\x5b\x6d" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\x65\x76\x6b\x76\x5c\x6d" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\x65\x76\x6b\x76\x5c\x6e" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\x65\x76\x6b\x76\x5c\x6f" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\x65\x76\x6b\x76\x5c\x70" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\x65\x76\x6b\x76\x5c\x76" } , { "\xd1\xe8\xd7\xe8\xc8" , "\x65\x76\x6b\x76\x5d" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\x65\x76\x6b\x76\x5d\x6d" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\x65\x76\x6b\x76\x5d\x71" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\x65\x76\x6b\x76\x74\x5d" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\x65\x76\x6b\x76\x73\x5d\x6d" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\x65\x76\x6b\x76\x74\x5d\x6d" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\x65\x76\x6b\x76\x5e\x6d" } , { "\xd1\xe8\xd7\xe8\xca" , "\x65\x76\x6b\x76\x5f" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\x65\x76\x6b\x76\x5f\x6d" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\x65\x76\x6b\x76\x73\x5f\x6d" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\x65\x76\x6b\x76\x74\x5f\x6d" } , { "\xd1\xe8\xd7\xe8\xcc" , "\x65\x76\x6b\x76\x61" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\x65\x76\x6b\x76\x61\x6f" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\x65\x76\x6b\x76\x73\x61" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\x65\x76\xc9\x6d" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\x65\x76\xc9\x70" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\x65\x76\x74\xc9\x6d" } , { "\xd1\xe8\xd7\xe8\xd4" , "\x65\x76\x6b\x7a" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\x65\x76\x6b\x7a\x6d" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\x65\x76\x6b\x7a\x6e" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\x65\x76\x6b\x7a\x70" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\x65\x76\x6b\x76\x6c\x6d" } , { "\xd1\xe8\xd8" , "\x65\x76\x6c" } , { "\xd1\xe8\xd8\xda" , "\x65\x76\x6c\x6d" } , { "\xd1\xe8\xd8\xda\xa2" , "\x65\x76\x6c\x6d\x77" } , { "\xd1\xe8\xd8\xdb" , "\x65\x76\x6c\x6e" } , { "\xd1\xe8\xd8\xdc" , "\x65\x76\x6c\x6f" } , { "\xd1\xe8\xd8\xdd" , "\x65\x76\x6c\x70" } , { "\xd1\xe8\xd8\xde" , "\x65\x76\x6c\x71" } , { "\xd1\xe8\xd8\xe0" , "\x65\x76\x73\x6c" } , { "\xd1\xe8\xd8\xe1" , "\x65\x76\x74\x6c" } , { "\xd1\xe8\xd8\xe1\xa2" , "\x65\x76\x74\x6c\x77" } , { "\xd1\xe8\xd8\xe2" , "\x65\x76\x73\x73\x6c" } , { "\xd1\xe8\xd8\xe5" , "\x65\x76\x74\x6c\x6d" } , { "\xd1\xe8\xd8\xe5\xa2" , "\x65\x76\x74\x6c\x6d\x77" } , { "\xd1\xe8\xd8\xe6" , "\x65\x76\x6c\x75" } , { "\xd1\xe8\xd9\xa6" , "\x65\x76\x43" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\x65\x76\x63\x76\x50" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\x65\x76\x63\x76\x55" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\x65\x76\x63\x76\x6b" } , { "\xd1\xe8\xe8" , "\x65\x76" } , { "\xd1\xe9" , "\x65" } , { "\xd1\xe9\xe8\xbf" , "\x65\x76\x55" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\x65\x76\x55\x6e\x77" } , { "\xd2" , "\x66" } , { "\xd2\xa2" , "\x66\x77" } , { "\xd2\xa3" , "\x66\x78" } , { "\xd2\xd3" , "\x66\x67" } , { "\xd2\xd6" , "\x66\x6a" } , { "\xd2\xda" , "\x66\x6d" } , { "\xd2\xda\xa2" , "\x66\x6d\x77" } , { "\xd2\xdb" , "\x66\x6e" } , { "\xd2\xdb\xa2" , "\x66\x6e\x77" } , { "\xd2\xdb\xa3" , "\x66\x6e\x78" } , { "\xd2\xdc" , "\x66\x6f" } , { "\xd2\xdd" , "\x66\x70" } , { "\xd2\xdd\xa2" , "\x66\x70\x77" } , { "\xd2\xde" , "\x66\x71" } , { "\xd2\xdf" , "\x66\x72" } , { "\xd2\xe0" , "\x73\x66" } , { "\xd2\xe0\xa2" , "\x73\x66\x77" } , { "\xd2\xe1" , "\x74\x66" } , { "\xd2\xe1\xa2" , "\x74\x66\x77" } , { "\xd2\xe2" , "\x73\x73\x66" } , { "\xd2\xe2\xa2" , "\x73\x73\x66\x77" } , { "\xd2\xe4" , "\x73\x66\x6d" } , { "\xd2\xe5" , "\x74\x66\x6d" } , { "\xd2\xe6" , "\x66\x75" } , { "\xd2\xe8" , "\x66\x76" } , { "\xd2\xe8\xb3" , "\x66\x76\x49" } , { "\xd2\xe8\xb3\xdd" , "\x66\x76\x49\x70" } , { "\xd2\xe8\xb4\xdd" , "\x66\x76\x4a\x70" } , { "\xd2\xe8\xb5" , "\x66\x76\x4b" } , { "\xd2\xe8\xb5\xdd" , "\x66\x76\x4b\x70" } , { "\xd2\xe8\xb8" , "\x66\x76\x4e" } , { "\xd2\xe8\xbd\xdb" , "\x66\x76\x53\x6e" } , { "\xd2\xe8\xbd\xdc" , "\x66\x76\x53\x6f" } , { "\xd2\xe8\xc2" , "\x66\x76\x58" } , { "\xd2\xe8\xc2\xda" , "\x66\x76\x58\x6d" } , { "\xd2\xe8\xc2\xda\xa2" , "\x66\x76\x58\x6d\x77" } , { "\xd2\xe8\xc2\xdb\xa2" , "\x66\x76\x58\x6e\x77" } , { "\xd2\xe8\xc2\xdd" , "\x66\x76\x58\x70" } , { "\xd2\xe8\xc2\xdd\xa2" , "\x66\x76\x58\x70\x77" } , { "\xd2\xe8\xc2\xde" , "\x66\x76\x58\x71" } , { "\xd2\xe8\xc2\xde\xa2" , "\x66\x76\x58\x71\x77" } , { "\xd2\xe8\xc2\xe0" , "\x66\x76\x73\x58" } , { "\xd2\xe8\xc2\xe1" , "\x66\x76\x74\x58" } , { "\xd2\xe8\xc2\xe5" , "\x66\x76\x74\x58\x6d" } , { "\xd2\xe8\xc2\xe5\xa2" , "\x66\x76\x74\x58\x6d\x77" } , { "\xd2\xe8\xc3\xdd\xa2" , "\x66\x76\x59\x70\x77" } , { "\xd2\xe8\xc4" , "\x66\x76\x5a" } , { "\xd2\xe8\xc4\xda" , "\x66\x76\x5a\x6d" } , { "\xd2\xe8\xc4\xda\xa2" , "\x66\x76\x5a\x6d\x77" } , { "\xd2\xe8\xc4\xdb" , "\x66\x76\x5a\x6e" } , { "\xd2\xe8\xc4\xdd" , "\x66\x76\x5a\x70" } , { "\xd2\xe8\xc6\xdb" , "\x66\x76\x5c\x6e" } , { "\xd2\xe8\xc6\xdd" , "\x66\x76\x5c\x70" } , { "\xd2\xe8\xc8" , "\x66\x76\x5d" } , { "\xd2\xe8\xc8\xdd" , "\x66\x76\x5d\x70" } , { "\xd2\xe8\xca" , "\x66\x76\x5f" } , { "\xd2\xe8\xcd" , "\x66\x79" } , { "\xd2\xe8\xcd\xa2" , "\x66\x79\x77" } , { "\xd2\xe8\xcd\xda" , "\x66\x79\x6d" } , { "\xd2\xe8\xcd\xda\xa2" , "\x66\x79\x6d\x77" } , { "\xd2\xe8\xcd\xdd" , "\x66\x79\x70" } , { "\xd2\xe8\xcd\xe8\xcd" , "\x66\x76\xbf" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\x66\x76\xbf\x6d" } , { "\xd2\xe8\xcf" , "\x7b\x66" } , { "\xd2\xe8\xcf\xda" , "\x7b\x66\x6d" } , { "\xd2\xe8\xcf\xdc" , "\x7b\x66\x6f" } , { "\xd2\xe8\xcf\xe5" , "\x74\x7b\x66\x6d" } , { "\xd2\xe8\xd1" , "\x66\x76\x65" } , { "\xd2\xe8\xd1\xa2" , "\x66\x76\x65\x77" } , { "\xd2\xe8\xd1\xda" , "\x66\x76\x65\x6d" } , { "\xd2\xe8\xd1\xda\xa2" , "\x66\x76\x65\x6d\x77" } , { "\xd2\xe8\xd1\xdb" , "\x66\x76\x65\x6e" } , { "\xd2\xe8\xd1\xdb\xa2" , "\x66\x76\x65\x6e\x77" } , { "\xd2\xe8\xd1\xdc" , "\x66\x76\x65\x6f" } , { "\xd2\xe8\xd1\xdd" , "\x66\x76\x65\x70" } , { "\xd2\xe8\xd1\xdd\xa2" , "\x66\x76\x65\x70\x77" } , { "\xd2\xe8\xd1\xde" , "\x66\x76\x65\x71" } , { "\xd2\xe8\xd1\xe0" , "\x66\x76\x73\x65" } , { "\xd2\xe8\xd1\xe0\xa2" , "\x66\x76\x73\x65\x77" } , { "\xd2\xe8\xd1\xe1" , "\x66\x76\x74\x65" } , { "\xd2\xe8\xd1\xe1\xa2" , "\x66\x76\x74\x65\x77" } , { "\xd2\xe8\xd1\xe2" , "\x66\x76\x73\x73\x65" } , { "\xd2\xe8\xd1\xe2\xa2" , "\x66\x76\x73\x73\x65\x77" } , { "\xd2\xe8\xd1\xe4" , "\x66\x76\x73\x65\x6d" } , { "\xd2\xe8\xd1\xe5" , "\x66\x76\x74\x65\x6d" } , { "\xd2\xe8\xd1\xe6" , "\x66\x76\x65\x75" } , { "\xd2\xe8\xd2" , "\xc5" } , { "\xd2\xe8\xd2\xa2" , "\xc5\x77" } , { "\xd2\xe8\xd2\xda" , "\xc5\x6d" } , { "\xd2\xe8\xd2\xda\xa2" , "\xc5\x6d\x77" } , { "\xd2\xe8\xd2\xdb" , "\xc5\x6e" } , { "\xd2\xe8\xd2\xdb\xa2" , "\xc5\x6e\x77" } , { "\xd2\xe8\xd2\xdc" , "\xc5\x6f" } , { "\xd2\xe8\xd2\xdd" , "\xc5\x70" } , { "\xd2\xe8\xd2\xdd\xa2" , "\xc5\x70\x77" } , { "\xd2\xe8\xd2\xde" , "\xc5\x71" } , { "\xd2\xe8\xd2\xe0" , "\x73\xc5" } , { "\xd2\xe8\xd2\xe0\xa2" , "\x73\xc5\x77" } , { "\xd2\xe8\xd2\xe1" , "\x74\xc5" } , { "\xd2\xe8\xd2\xe1\xa2" , "\x74\xc5\x77" } , { "\xd2\xe8\xd2\xe2" , "\x73\x73\xc5" } , { "\xd2\xe8\xd2\xe2\xa2" , "\x73\x73\xc5\x77" } , { "\xd2\xe8\xd2\xe4" , "\x73\xc5\x6d" } , { "\xd2\xe8\xd2\xe4\xa2" , "\x73\xc5\x6d\x77" } , { "\xd2\xe8\xd2\xe5" , "\x74\xc5\x6d" } , { "\xd2\xe8\xd2\xe5\xa2" , "\x74\xc5\x6d\x77" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\xc5\x76\x5c\x6e" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\xc5\x76\x74\x65\x6d" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\xc5\x76\x66\x6f" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\xc5\x7a\x70" } , { "\xd2\xe8\xd4" , "\x66\x7a" } , { "\xd2\xe8\xd4\xda" , "\x66\x7a\x6d" } , { "\xd2\xe8\xd4\xdb" , "\x66\x7a\x6e" } , { "\xd2\xe8\xd6\xdd" , "\x66\x76\x6a\x70" } , { "\xd2\xe8\xd7\xdb" , "\x66\x76\x6b\x6e" } , { "\xd2\xe8\xd7\xdd" , "\x66\x76\x6b\x70" } , { "\xd2\xe8\xe8" , "\x66\x76" } , { "\xd3" , "\x67" } , { "\xd3\xc9" , "\x67\x5e" } , { "\xd4" , "\x68" } , { "\xd4\xa1" , "\x68\x77" } , { "\xd4\xa2" , "\x68\x77" } , { "\xd4\xa3" , "\x68\x78" } , { "\xd4\xda" , "\x68\x6d" } , { "\xd4\xda\xa1" , "\x68\x6d\x77" } , { "\xd4\xda\xa2" , "\x68\x6d\x77" } , { "\xd4\xda\xa3" , "\x68\x6d\x78" } , { "\xd4\xdb" , "\x68\x6e" } , { "\xd4\xdb\xa2" , "\x68\x6e\x77" } , { "\xd4\xdb\xa3" , "\x68\x6e\x78" } , { "\xd4\xdb\xb3\xdf" , "\x68\x6e\x49\x72" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\x68\x6e\x6b\x76\x58\x72" } , { "\xd4\xdc" , "\x68\x6f" } , { "\xd4\xdc\xa2" , "\x68\x6f\x77" } , { "\xd4\xdd" , "\x68\x70" } , { "\xd4\xdd\xa1" , "\x68\x70\x77" } , { "\xd4\xdd\xa2" , "\x68\x70\x77" } , { "\xd4\xdd\xa2\xa2" , "\x68\x70\x77\x77" } , { "\xd4\xdd\xa3" , "\x68\x70\x78" } , { "\xd4\xde" , "\x68\x71" } , { "\xd4\xde\xa1" , "\x68\x71\x77" } , { "\xd4\xde\xa2" , "\x68\x71\x77" } , { "\xd4\xdf" , "\x68\x72" } , { "\xd4\xdf\xa2" , "\x68\x72\x77" } , { "\xd4\xe0" , "\x73\x68" } , { "\xd4\xe0\xa2" , "\x73\x68\x77" } , { "\xd4\xe1" , "\x74\x68" } , { "\xd4\xe1\xa2" , "\x74\x68\x77" } , { "\xd4\xe1\xa3" , "\x74\x68\x78" } , { "\xd4\xe2" , "\x73\x73\x68" } , { "\xd4\xe2\xa2" , "\x73\x73\x68\x77" } , { "\xd4\xe2\xa3" , "\x73\x73\x68\x78" } , { "\xd4\xe2\xba\xe8" , "\x73\x73\x68\x50\x76" } , { "\xd4\xe2\xd7\xe8" , "\x73\x73\x68\x6b\x76" } , { "\xd4\xe4" , "\x73\x68\x6d" } , { "\xd4\xe4\xa2" , "\x73\x68\x6d\x77" } , { "\xd4\xe5" , "\x74\x68\x6d" } , { "\xd4\xe5\xa2" , "\x74\x68\x6d\x77" } , { "\xd4\xe6" , "\x68\x75" } , { "\xd4\xe7" , "\x74\x68\x6d" } , { "\xd4\xe8" , "\x68\x76" } , { "\xd4\xe8\xa2" , "\x68\x76\x77" } , { "\xd4\xe8\xb3" , "\x68\x76\x49" } , { "\xd4\xe8\xb3\xda" , "\x68\x76\x49\x6d" } , { "\xd4\xe8\xb3\xdb" , "\x68\x76\x49\x6e" } , { "\xd4\xe8\xb3\xdd" , "\x68\x76\x49\x70" } , { "\xd4\xe8\xb3\xde" , "\x68\x76\x49\x71" } , { "\xd4\xe8\xb3\xe0" , "\x68\x76\x73\x49" } , { "\xd4\xe8\xb3\xe1" , "\x68\x76\x74\x49" } , { "\xd4\xe8\xb3\xe5" , "\x68\x76\x74\x49\x6d" } , { "\xd4\xe8\xb3\xe8\xb3" , "\x68\x76\xa1" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\x68\x76\xa1\x6e" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\x68\x76\xa1\x70" } , { "\xd4\xe8\xb3\xe8\xc2" , "\x68\x76\xe0" } , { "\xd4\xe8\xb3\xe8\xcd" , "\x68\x76\x49\x79" } , { "\xd4\xe8\xb3\xe8\xd6" , "\x68\x76\xa3" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\x68\x76\xa3\x6d" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\x68\x76\x74\xa3\x6d\x77" } , { "\xd4\xe8\xb5\xda" , "\x68\x76\x4b\x6d" } , { "\xd4\xe8\xb5\xda\xa2" , "\x68\x76\x4b\x6d\x77" } , { "\xd4\xe8\xb6" , "\x68\x76\x4c" } , { "\xd4\xe8\xb8" , "\x68\x76\x4e" } , { "\xd4\xe8\xb8\xda" , "\x68\x76\x4e\x6d" } , { "\xd4\xe8\xb8\xdb" , "\x68\x76\x4e\x6e" } , { "\xd4\xe8\xb8\xdd" , "\x68\x76\x4e\x70" } , { "\xd4\xe8\xb8\xe0" , "\x68\x76\x73\x4e" } , { "\xd4\xe8\xb8\xe1" , "\x68\x76\x74\x4e" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\x68\x76\xa8\x6d" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\x68\x76\xa8\x70" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\x68\x76\x74\xa8" } , { "\xd4\xe8\xba" , "\x68\x76\x50" } , { "\xd4\xe8\xba\xdc" , "\x68\x76\x50\x6f" } , { "\xd4\xe8\xba\xe9" , "\x68\x76\x50" } , { "\xd4\xe8\xbd" , "\x68\x76\x53" } , { "\xd4\xe8\xbd\xa2" , "\x68\x76\x53\x77" } , { "\xd4\xe8\xbd\xda" , "\x68\x76\x53\x6d" } , { "\xd4\xe8\xbd\xe0" , "\x68\x76\x73\x53" } , { "\xd4\xe8\xbd\xe2" , "\x68\x76\x73\x73\x53" } , { "\xd4\xe8\xbd\xe8" , "\x68\x76\x53\x76" } , { "\xd4\xe8\xbd\xe8\xd1" , "\x68\x76\x53\x76\x65" } , { "\xd4\xe8\xbf" , "\x68\x76\x55" } , { "\xd4\xe8\xbf\xa2" , "\x68\x76\x55\x77" } , { "\xd4\xe8\xbf\xda" , "\x68\x76\x55\x6d" } , { "\xd4\xe8\xbf\xdb" , "\x68\x76\x55\x6e" } , { "\xd4\xe8\xbf\xdd" , "\x68\x76\x55\x70" } , { "\xd4\xe8\xbf\xe0" , "\x68\x76\x73\x55" } , { "\xd4\xe8\xc2" , "\x68\x76\x58" } , { "\xd4\xe8\xc2\xda" , "\x68\x76\x58\x6d" } , { "\xd4\xe8\xc2\xda\xa2" , "\x68\x76\x58\x6d\x77" } , { "\xd4\xe8\xc2\xdb" , "\x68\x76\x58\x6e" } , { "\xd4\xe8\xc2\xdc" , "\x68\x76\x58\x6f" } , { "\xd4\xe8\xc2\xdd\xa2" , "\x68\x76\x58\x70\x77" } , { "\xd4\xe8\xc2\xe5" , "\x68\x76\x74\x58\x6d" } , { "\xd4\xe8\xc2\xe8\xc2" , "\x68\x76\xaf" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\x68\x76\xaf\x6d" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\x68\x76\xaf\x6d\x77" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\x68\x76\xaf\x6e" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\x68\x76\x74\xaf\x6d\x77" } , { "\xd4\xe8\xc2\xe8\xcd" , "\x68\x76\x58\x79" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\x68\x76\x58\x79\x6d" } , { "\xd4\xe8\xc2\xe8\xd7" , "\x68\x76\xd5" } , { "\xd4\xe8\xc3\xe0" , "\x68\x76\x73\x59" } , { "\xd4\xe8\xc4" , "\x68\x76\x5a" } , { "\xd4\xe8\xc4\xda" , "\x68\x76\x5a\x6d" } , { "\xd4\xe8\xc4\xdb" , "\x68\x76\x5a\x6e" } , { "\xd4\xe8\xc4\xdc" , "\x68\x76\x5a\x6f" } , { "\xd4\xe8\xc4\xe5\xa2" , "\x68\x76\x74\x5a\x6d\x77" } , { "\xd4\xe8\xc4\xe8\xc5" , "\x68\x76\xb2" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\x68\x76\xb2\x6d" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\x68\x76\xb2\x6e" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\x68\x76\x74\xb2\x6d\x77" } , { "\xd4\xe8\xc4\xe8\xd4" , "\x68\x76\x5a\x7a" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\x68\x76\x5a\x7a\x6e" } , { "\xd4\xe8\xc5" , "\x68\x76\x5b" } , { "\xd4\xe8\xc5\xda" , "\x68\x76\x5b\x6d" } , { "\xd4\xe8\xc5\xdb" , "\x68\x76\x5b\x6e" } , { "\xd4\xe8\xc6" , "\x68\x76\x5c" } , { "\xd4\xe8\xc6\xa2" , "\x68\x76\x5c\x77" } , { "\xd4\xe8\xc6\xda" , "\x68\x76\x5c\x6d" } , { "\xd4\xe8\xc6\xdb" , "\x68\x76\x5c\x6e" } , { "\xd4\xe8\xc6\xdc" , "\x68\x76\x5c\x6f" } , { "\xd4\xe8\xc6\xdd" , "\x68\x76\x5c\x70" } , { "\xd4\xe8\xc6\xdd\xa2" , "\x68\x76\x5c\x70\x77" } , { "\xd4\xe8\xc6\xde" , "\x68\x76\x5c\x71" } , { "\xd4\xe8\xc6\xe0" , "\x68\x76\x73\x5c" } , { "\xd4\xe8\xc6\xe1" , "\x68\x76\x74\x5c" } , { "\xd4\xe8\xc6\xe4" , "\x68\x76\x73\x5c\x6d" } , { "\xd4\xe8\xc6\xe5" , "\x68\x76\x74\x5c\x6d" } , { "\xd4\xe8\xc6\xe8\xc4" , "\x68\x76\xb5" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\x68\x76\xb5\x6d" } , { "\xd4\xe8\xc8" , "\x68\x76\x5d" } , { "\xd4\xe8\xc8\xda" , "\x68\x76\x5d\x6d" } , { "\xd4\xe8\xc8\xdb" , "\x68\x76\x5d\x6e" } , { "\xd4\xe8\xc8\xdd" , "\x68\x76\x5d\x70" } , { "\xd4\xe8\xc8\xe2" , "\x68\x76\x73\x73\x5d" } , { "\xd4\xe8\xc8\xe8\xcf" , "\x68\x76\x7b\x5d" } , { "\xd4\xe8\xc9" , "\x68\x76\x5e" } , { "\xd4\xe8\xca" , "\x68\x76\x5f" } , { "\xd4\xe8\xca\xdd" , "\x68\x76\x5f\x70" } , { "\xd4\xe8\xca\xe5" , "\x68\x76\x74\x5f\x6d" } , { "\xd4\xe8\xcb" , "\x68\x76\x60" } , { "\xd4\xe8\xcb\xda" , "\x68\x76\x60\x6d" } , { "\xd4\xe8\xcc\xdb" , "\x68\x76\x61\x6e" } , { "\xd4\xe8\xcc\xdc" , "\x68\x76\x61\x6f" } , { "\xd4\xe8\xcc\xe0" , "\x68\x76\x73\x61" } , { "\xd4\xe8\xcc\xe0\xa2" , "\x68\x76\x73\x61\x77" } , { "\xd4\xe8\xcc\xe1" , "\x68\x76\x74\x61" } , { "\xd4\xe8\xcd" , "\x68\x79" } , { "\xd4\xe8\xcd\xa2" , "\x68\x79\x77" } , { "\xd4\xe8\xcd\xa3" , "\x68\x79\x78" } , { "\xd4\xe8\xcd\xda" , "\x68\x79\x6d" } , { "\xd4\xe8\xcd\xda\xa1" , "\x68\x79\x6d\x77" } , { "\xd4\xe8\xcd\xda\xa2" , "\x68\x79\x6d\x77" } , { "\xd4\xe8\xcd\xdc" , "\x68\x79\x6f" } , { "\xd4\xe8\xcd\xdd" , "\x68\x79\x70" } , { "\xd4\xe8\xcd\xdd\xa2" , "\x68\x79\x70\x77" } , { "\xd4\xe8\xcd\xde" , "\x68\x79\x71" } , { "\xd4\xe8\xcd\xe1" , "\x74\x68\x79" } , { "\xd4\xe8\xcd\xe2" , "\x73\x73\x68\x79" } , { "\xd4\xe8\xcd\xe4" , "\x73\x68\x79\x6d" } , { "\xd4\xe8\xcd\xe5" , "\x74\x68\x79\x6d" } , { "\xd4\xe8\xcd\xe5\xa2" , "\x74\x68\x79\x6d\x77" } , { "\xd4\xe8\xcd\xe6" , "\x68\x79\x75" } , { "\xd4\xe8\xcd\xe6\xa2" , "\x68\x79\x75\x77" } , { "\xd4\xe8\xcd\xe8\xb3" , "\x68\x76\x62\x76\x49" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\x68\x76\x62\x76\x49\x6e" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\x68\x76\x62\x76\xe0" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\x68\x76\x62\x76\xe0\x6e" } , { "\xd4\xe8\xcd\xe8\xcd" , "\x68\x76\xbf" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\x68\x76\xbf\x77" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\x68\x76\xbf\x6d" } , { "\xd4\xe8\xcf" , "\x7b\x68" } , { "\xd4\xe8\xcf\xa2" , "\x7b\x68\x77" } , { "\xd4\xe8\xcf\xda" , "\x7b\x68\x6d" } , { "\xd4\xe8\xcf\xdb" , "\x7b\x68\x6e" } , { "\xd4\xe8\xcf\xdc" , "\x7b\x68\x6f" } , { "\xd4\xe8\xcf\xdd" , "\x7b\x68\x70" } , { "\xd4\xe8\xcf\xe0\xa2" , "\x73\x7b\x68\x77" } , { "\xd4\xe8\xcf\xe1" , "\x74\x7b\x68" } , { "\xd4\xe8\xcf\xe2" , "\x73\x73\x7b\x68" } , { "\xd4\xe8\xcf\xe5" , "\x74\x7b\x68\x6d" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\x68\x76\x63\x76\x57\x6d" } , { "\xd4\xe8\xcf\xe8\xc2" , "\x68\x76\x63\x76\x58" } , { "\xd4\xe8\xcf\xe8\xcd" , "\x7b\x68\x79" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\x7b\x68\x79\x6d" } , { "\xd4\xe8\xd1" , "\x68\x76\x65" } , { "\xd4\xe8\xd1\xda" , "\x68\x76\x65\x6d" } , { "\xd4\xe8\xd1\xda\xa2" , "\x68\x76\x65\x6d\x77" } , { "\xd4\xe8\xd1\xdb" , "\x68\x76\x65\x6e" } , { "\xd4\xe8\xd1\xdc" , "\x68\x76\x65\x6f" } , { "\xd4\xe8\xd1\xdd" , "\x68\x76\x65\x70" } , { "\xd4\xe8\xd1\xde" , "\x68\x76\x65\x71" } , { "\xd4\xe8\xd1\xe0" , "\x68\x76\x73\x65" } , { "\xd4\xe8\xd1\xe1" , "\x68\x76\x74\x65" } , { "\xd4\xe8\xd1\xe5" , "\x68\x76\x74\x65\x6d" } , { "\xd4\xe8\xd1\xe8\xd1" , "\x68\x76\xc3" } , { "\xd4\xe8\xd2\xda" , "\x68\x76\x66\x6d" } , { "\xd4\xe8\xd2\xe8\xd1" , "\x68\x76\x66\x76\x65" } , { "\xd4\xe8\xd4" , "\xc6" } , { "\xd4\xe8\xd4\xa2" , "\xc6\x77" } , { "\xd4\xe8\xd4\xda" , "\xc6\x6d" } , { "\xd4\xe8\xd4\xdb" , "\xc6\x6e" } , { "\xd4\xe8\xd4\xdb\xa2" , "\xc6\x6e\x77" } , { "\xd4\xe8\xd4\xdc" , "\xc6\x6f" } , { "\xd4\xe8\xd4\xdc\xa2" , "\xc6\x6f\x77" } , { "\xd4\xe8\xd4\xdd" , "\xc6\x70" } , { "\xd4\xe8\xd4\xdd\xa2" , "\xc6\x70\x77" } , { "\xd4\xe8\xd4\xde" , "\xc6\x71" } , { "\xd4\xe8\xd4\xde\xa2" , "\xc6\x71\x77" } , { "\xd4\xe8\xd4\xe0" , "\x73\xc6" } , { "\xd4\xe8\xd4\xe0\xa2" , "\x73\xc6\x77" } , { "\xd4\xe8\xd4\xe1" , "\x74\xc6" } , { "\xd4\xe8\xd4\xe1\xa2" , "\x74\xc6\x77" } , { "\xd4\xe8\xd4\xe2" , "\x73\x73\xc6" } , { "\xd4\xe8\xd4\xe4" , "\x73\xc6\x6d" } , { "\xd4\xe8\xd4\xe4\xa2" , "\x73\xc6\x6d\x77" } , { "\xd4\xe8\xd4\xe5" , "\x74\xc6\x6d" } , { "\xd4\xe8\xd4\xe8" , "\xc6\x76" } , { "\xd4\xe8\xd4\xe8\xcd" , "\xc6\x79" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\x68\x76\xdd\x6e" } , { "\xd4\xe8\xd5\xe8\xcd" , "\x68\x76\x69\x79" } , { "\xd4\xe8\xd6" , "\x68\x76\x6a" } , { "\xd4\xe8\xd6\xda" , "\x68\x76\x6a\x6d" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\x68\x76\x6a\x76\x53\x6e" } , { "\xd4\xe8\xd7" , "\x68\x76\x6b" } , { "\xd4\xe8\xd7\xda" , "\x68\x76\x6b\x6d" } , { "\xd4\xe8\xd7\xda\xa2" , "\x68\x76\x6b\x6d\x77" } , { "\xd4\xe8\xd7\xdb" , "\x68\x76\x6b\x6e" } , { "\xd4\xe8\xd7\xdc" , "\x68\x76\x6b\x6f" } , { "\xd4\xe8\xd7\xde" , "\x68\x76\x6b\x71" } , { "\xd4\xe8\xd7\xe0" , "\x68\x76\x73\x6b" } , { "\xd4\xe8\xd7\xe2" , "\x68\x76\x73\x73\x6b" } , { "\xd4\xe8\xd7\xe6" , "\x68\x76\x6b\x75" } , { "\xd4\xe8\xd7\xe8" , "\x68\x76\x6b\x76" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\x68\x76\x6b\x76\x49\x6d" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\x68\x76\x6b\x76\x49\x6f" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\x68\x76\x6b\x76\x73\x49\x6d" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\x68\x76\x6b\x76\x49\x76" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\x68\x76\x6b\x76\x4b\x6d" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\x68\x76\x6b\x76\x53\x6d" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\x68\x76\x6b\x76\x58\x6d" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\x68\x76\x6b\x76\x58\x70\x77" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\x68\x76\x6b\x76\x74\x58" } , { "\xd4\xe8\xd7\xe8\xc3" , "\x68\x76\xd8" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\x68\x76\xd8\x6d" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\x68\x76\x6b\x76\x5c\x6e" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\x68\x76\x6b\x76\x5c\x70" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\x68\x76\x6b\x76\x5d\x6e" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\x68\x76\x6b\x76\x73\x73\x5d" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\x68\x76\x6b\x76\x61\x72" } , { "\xd4\xe8\xd8" , "\x68\x76\x6c" } , { "\xd4\xe8\xd8\xda" , "\x68\x76\x6c\x6d" } , { "\xd4\xe8\xd8\xda\xa2" , "\x68\x76\x6c\x6d\x77" } , { "\xd4\xe8\xd8\xdb" , "\x68\x76\x6c\x6e" } , { "\xd4\xe8\xd8\xdc" , "\x68\x76\x6c\x6f" } , { "\xd4\xe8\xd8\xe1" , "\x68\x76\x74\x6c" } , { "\xd4\xe8\xd8\xe2" , "\x68\x76\x73\x73\x6c" } , { "\xd4\xe8\xd9\xcd" , "\x68\x76\x62" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\x68\x76\x63\x79" } , { "\xd4\xe8\xe8" , "\x68\x76" } , { "\xd4\xe8\xe9\xcf" , "\x68\x76\x63" } , { "\xd4\xe9" , "\x68" } , { "\xd5" , "\x69" } , { "\xd5\xa1" , "\x69\x77" } , { "\xd5\xa2" , "\x69\x77" } , { "\xd5\xa2\xa3" , "\x69\x77\x78" } , { "\xd5\xa3" , "\x69\x78" } , { "\xd5\xda" , "\x69\x6d" } , { "\xd5\xda\xa1" , "\x69\x6d\x77" } , { "\xd5\xda\xa2" , "\x69\x6d\x77" } , { "\xd5\xda\xa3" , "\x69\x6d\x78" } , { "\xd5\xdb" , "\x69\x6e" } , { "\xd5\xdb\xa2" , "\x69\x6e\x77" } , { "\xd5\xdc" , "\x69\x6f" } , { "\xd5\xdc\xa2" , "\x69\x6f\x77" } , { "\xd5\xdc\xa3" , "\x69\x6f\x78" } , { "\xd5\xdd" , "\x69\x70" } , { "\xd5\xdd\xa2" , "\x69\x70\x77" } , { "\xd5\xdd\xa3" , "\x69\x70\x78" } , { "\xd5\xdd\xd0\xdd" , "\x69\x70\x64\x70" } , { "\xd5\xde" , "\x69\x71" } , { "\xd5\xde\xa2" , "\x69\x71\x77" } , { "\xd5\xdf" , "\x69\x72" } , { "\xd5\xdf\xa2" , "\x69\x72\x77" } , { "\xd5\xe0" , "\x73\x69" } , { "\xd5\xe0\xa2" , "\x73\x69\x77" } , { "\xd5\xe1" , "\x74\x69" } , { "\xd5\xe1\xa2" , "\x74\x69\x77" } , { "\xd5\xe2" , "\x73\x73\x69" } , { "\xd5\xe2\xa2" , "\x73\x73\x69\x77" } , { "\xd5\xe4" , "\x73\x69\x6d" } , { "\xd5\xe4\xa2" , "\x73\x69\x6d\x77" } , { "\xd5\xe5" , "\x74\x69\x6d" } , { "\xd5\xe5\xa2" , "\x74\x69\x6d\x77" } , { "\xd5\xe6" , "\x69\x75" } , { "\xd5\xe6\xa2" , "\x69\x75\x77" } , { "\xd5\xe7" , "\x74\x69\x6d" } , { "\xd5\xe8" , "\x69\x76" } , { "\xd5\xe8\xa2" , "\x69\x76\x77" } , { "\xd5\xe8\xb3" , "\x69\x76\x49" } , { "\xd5\xe8\xb3\xda" , "\x69\x76\x49\x6d" } , { "\xd5\xe8\xb3\xdb" , "\x69\x76\x49\x6e" } , { "\xd5\xe8\xb3\xdc" , "\x69\x76\x49\x6f" } , { "\xd5\xe8\xb3\xdd" , "\x69\x76\x49\x70" } , { "\xd5\xe8\xb3\xde" , "\x69\x76\x49\x71" } , { "\xd5\xe8\xb3\xe1" , "\x69\x76\x74\x49" } , { "\xd5\xe8\xb3\xe1\xa2" , "\x69\x76\x74\x49\x77" } , { "\xd5\xe8\xb3\xe5\xa2" , "\x69\x76\x74\x49\x6d\x77" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\x69\x76\xe0\x6e" } , { "\xd5\xe8\xb3\xe8\xd6" , "\x69\x76\xa3" } , { "\xd5\xe8\xb3\xe9" , "\x69\x76\x49" } , { "\xd5\xe8\xb4\xa2" , "\x69\x76\x4a\x77" } , { "\xd5\xe8\xb4\xda" , "\x69\x76\x4a\x6d" } , { "\xd5\xe8\xb5\xda" , "\x69\x76\x4b\x6d" } , { "\xd5\xe8\xb5\xdd\xa2" , "\x69\x76\x4b\x70\x77" } , { "\xd5\xe8\xb6\xda" , "\x69\x76\x4c\x6d" } , { "\xd5\xe8\xb8" , "\xdd" } , { "\xd5\xe8\xb8\xa2" , "\xdd\x77" } , { "\xd5\xe8\xb8\xda" , "\xdd\x6d" } , { "\xd5\xe8\xb8\xda\xa2" , "\xdd\x6d\x77" } , { "\xd5\xe8\xb8\xdb" , "\xdd\x6e" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xdd\x6e\x77" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xdd\x6e\x77\x77" } , { "\xd5\xe8\xb8\xdd" , "\xdd\x70" } , { "\xd5\xe8\xb8\xe1" , "\x74\xdd" } , { "\xd5\xe8\xb8\xe2" , "\x73\x73\xdd" } , { "\xd5\xe8\xb8\xe5" , "\x74\xdd\x6d" } , { "\xd5\xe8\xb8\xe8\xb9" , "\xdd\x76\x4f" } , { "\xd5\xe8\xb8\xe8\xcd" , "\xdd\x79" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\xdd\x79\x6d" } , { "\xd5\xe8\xb9" , "\x69\x76\x4f" } , { "\xd5\xe8\xb9\xda" , "\x69\x76\x4f\x6d" } , { "\xd5\xe8\xb9\xdb" , "\x69\x76\x4f\x6e" } , { "\xd5\xe8\xb9\xe1" , "\x69\x76\x74\x4f" } , { "\xd5\xe8\xbd" , "\x69\x76\x53" } , { "\xd5\xe8\xbd\xa2" , "\x69\x76\x53\x77" } , { "\xd5\xe8\xbd\xdb" , "\x69\x76\x53\x6e" } , { "\xd5\xe8\xbd\xe5" , "\x69\x76\x74\x53\x6d" } , { "\xd5\xe8\xbd\xe8\xcd" , "\x69\x76\x53\x79" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\x69\x76\x53\x79\x6d" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\x69\x76\x53\x79\x71" } , { "\xd5\xe8\xbd\xe8\xcf" , "\x69\x76\x7b\x53" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\x69\x76\x74\x7b\x53" } , { "\xd5\xe8\xbf\xe9\xa1" , "\x69\x76\x55\x77" } , { "\xd5\xe8\xc2" , "\x69\x76\x58" } , { "\xd5\xe8\xc2\xda" , "\x69\x76\x58\x6d" } , { "\xd5\xe8\xc2\xdb" , "\x69\x76\x58\x6e" } , { "\xd5\xe8\xc2\xdc" , "\x69\x76\x58\x6f" } , { "\xd5\xe8\xc2\xde" , "\x69\x76\x58\x71" } , { "\xd5\xe8\xc2\xe1" , "\x69\x76\x74\x58" } , { "\xd5\xe8\xc2\xe1\xa2" , "\x69\x76\x74\x58\x77" } , { "\xd5\xe8\xc2\xe2" , "\x69\x76\x73\x73\x58" } , { "\xd5\xe8\xc2\xe5" , "\x69\x76\x74\x58\x6d" } , { "\xd5\xe8\xc2\xe5\xa2" , "\x69\x76\x74\x58\x6d\x77" } , { "\xd5\xe8\xc3" , "\x69\x76\x59" } , { "\xd5\xe8\xc3\xda" , "\x69\x76\x59\x6d" } , { "\xd5\xe8\xc5" , "\x69\x76\x5b" } , { "\xd5\xe8\xc5\xda" , "\x69\x76\x5b\x6d" } , { "\xd5\xe8\xc6" , "\x69\x76\x5c" } , { "\xd5\xe8\xc6\xa2" , "\x69\x76\x5c\x77" } , { "\xd5\xe8\xc6\xda" , "\x69\x76\x5c\x6d" } , { "\xd5\xe8\xc6\xda\xa2" , "\x69\x76\x5c\x6d\x77" } , { "\xd5\xe8\xc6\xdb" , "\x69\x76\x5c\x6e" } , { "\xd5\xe8\xc6\xdb\xa2" , "\x69\x76\x5c\x6e\x77" } , { "\xd5\xe8\xc6\xdd" , "\x69\x76\x5c\x70" } , { "\xd5\xe8\xc6\xe0" , "\x69\x76\x73\x5c" } , { "\xd5\xe8\xc6\xe1" , "\x69\x76\x74\x5c" } , { "\xd5\xe8\xc6\xe5" , "\x69\x76\x74\x5c\x6d" } , { "\xd5\xe8\xc6\xe5\xa2" , "\x69\x76\x74\x5c\x6d\x77" } , { "\xd5\xe8\xc6\xe8" , "\x69\x76\x5c\x76" } , { "\xd5\xe8\xc7" , "\x69\x76\x5c" } , { "\xd5\xe8\xc8" , "\x69\x76\x5d" } , { "\xd5\xe8\xc8\xda" , "\x69\x76\x5d\x6d" } , { "\xd5\xe8\xc8\xdd" , "\x69\x76\x5d\x70" } , { "\xd5\xe8\xc8\xde" , "\x69\x76\x5d\x71" } , { "\xd5\xe8\xc9" , "\x69\x76\x5e" } , { "\xd5\xe8\xc9\xdd" , "\x69\x76\x5e\x70" } , { "\xd5\xe8\xca" , "\x69\x76\x5f" } , { "\xd5\xe8\xcb" , "\x69\x76\x60" } , { "\xd5\xe8\xcc" , "\x69\x76\x61" } , { "\xd5\xe8\xcc\xa2" , "\x69\x76\x61\x77" } , { "\xd5\xe8\xcc\xda" , "\x69\x76\x61\x6d" } , { "\xd5\xe8\xcc\xdb" , "\x69\x76\x61\x6e" } , { "\xd5\xe8\xcc\xdb\xa2" , "\x69\x76\x61\x6e\x77" } , { "\xd5\xe8\xcc\xdc" , "\x69\x76\x61\x6f" } , { "\xd5\xe8\xcc\xdd" , "\x69\x76\x61\x70" } , { "\xd5\xe8\xcc\xdf" , "\x69\x76\x61\x72" } , { "\xd5\xe8\xcc\xe1" , "\x69\x76\x74\x61" } , { "\xd5\xe8\xcc\xe1\xa2" , "\x69\x76\x74\x61\x77" } , { "\xd5\xe8\xcc\xe5\xa2" , "\x69\x76\x74\x61\x6d\x77" } , { "\xd5\xe8\xcd" , "\x69\x79" } , { "\xd5\xe8\xcd\xa2" , "\x69\x79\x77" } , { "\xd5\xe8\xcd\xda" , "\x69\x79\x6d" } , { "\xd5\xe8\xcd\xda\xa2" , "\x69\x79\x6d\x77" } , { "\xd5\xe8\xcd\xdb" , "\x69\x79\x6e" } , { "\xd5\xe8\xcd\xdc" , "\x69\x79\x6f" } , { "\xd5\xe8\xcd\xdd" , "\x69\x79\x70" } , { "\xd5\xe8\xcd\xdd\xa2" , "\x69\x79\x70\x77" } , { "\xd5\xe8\xcd\xde" , "\x69\x79\x71" } , { "\xd5\xe8\xcd\xe1" , "\x74\x69\x79" } , { "\xd5\xe8\xcd\xe5" , "\x74\x69\x79\x6d" } , { "\xd5\xe8\xcd\xe5\xa2" , "\x74\x69\x79\x6d\x77" } , { "\xd5\xe8\xcd\xe6" , "\x69\x79\x75" } , { "\xd5\xe8\xcd\xe8" , "\x69\x76\x62\x76" } , { "\xd5\xe8\xcd\xe8\xb8" , "\x69\x76\x62\x76\x4e" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\x69\x76\xbf\x6d" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\x69\x76\x62\x76\x69\x79" } , { "\xd5\xe8\xcf" , "\x7b\x69" } , { "\xd5\xe8\xcf\xa2" , "\x7b\x69\x77" } , { "\xd5\xe8\xcf\xda" , "\x7b\x69\x6d" } , { "\xd5\xe8\xcf\xda\xa2" , "\x7b\x69\x6d\x77" } , { "\xd5\xe8\xcf\xdb" , "\x7b\x69\x6e" } , { "\xd5\xe8\xcf\xdb\xa2" , "\x7b\x69\x6e\x77" } , { "\xd5\xe8\xcf\xdc" , "\x7b\x69\x6f" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x7b\x69\x6f\x77" } , { "\xd5\xe8\xcf\xdd" , "\x7b\x69\x70" } , { "\xd5\xe8\xcf\xde" , "\x7b\x69\x71" } , { "\xd5\xe8\xcf\xdf" , "\x7b\x69\x72" } , { "\xd5\xe8\xcf\xdf\xa2" , "\x7b\x69\x72\x77" } , { "\xd5\xe8\xcf\xe1" , "\x74\x7b\x69" } , { "\xd5\xe8\xcf\xe1\xa2" , "\x74\x7b\x69\x77" } , { "\xd5\xe8\xcf\xe2" , "\x73\x73\x7b\x69" } , { "\xd5\xe8\xcf\xe5" , "\x74\x7b\x69\x6d" } , { "\xd5\xe8\xcf\xe6" , "\x7b\x69\x75" } , { "\xd5\xe8\xcf\xe7" , "\x74\x7b\x69\x6d" } , { "\xd5\xe8\xcf\xe8\xa2" , "\x69\x76\x63\x76\x77" } , { "\xd5\xe8\xcf\xe8\xcc" , "\x69\x76\x63\x76\x61" } , { "\xd5\xe8\xcf\xe8\xd4" , "\x7b\x69\x7a" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\x7b\x69\x7a\x6d" } , { "\xd5\xe8\xcf\xe8\xd5" , "\x69\x76\x63\x76\x69" } , { "\xd5\xe8\xd1" , "\xc7" } , { "\xd5\xe8\xd1\xda" , "\xc7\x6d" } , { "\xd5\xe8\xd1\xda\xa2" , "\xc7\x6d\x77" } , { "\xd5\xe8\xd1\xdb" , "\xc7\x6e" } , { "\xd5\xe8\xd1\xdc" , "\xc7\x6f" } , { "\xd5\xe8\xd1\xdd" , "\xc7\x70" } , { "\xd5\xe8\xd1\xe0" , "\x73\xc7" } , { "\xd5\xe8\xd1\xe1" , "\x74\xc7" } , { "\xd5\xe8\xd1\xe2" , "\x73\x73\xc7" } , { "\xd5\xe8\xd1\xe5" , "\x74\xc7\x6d" } , { "\xd5\xe8\xd1\xe5\xa2" , "\x74\xc7\x6d\x77" } , { "\xd5\xe8\xd2" , "\x69\x76\x66" } , { "\xd5\xe8\xd2\xe1" , "\x69\x76\x74\x66" } , { "\xd5\xe8\xd4" , "\x69\x7a" } , { "\xd5\xe8\xd4\xa2" , "\x69\x7a\x77" } , { "\xd5\xe8\xd4\xda" , "\x69\x7a\x6d" } , { "\xd5\xe8\xd4\xda\xa2" , "\x69\x7a\x6d\x77" } , { "\xd5\xe8\xd4\xdb" , "\x69\x7a\x6e" } , { "\xd5\xe8\xd4\xdc" , "\x69\x7a\x6f" } , { "\xd5\xe8\xd4\xdd" , "\x69\x7a\x70" } , { "\xd5\xe8\xd4\xe1" , "\x74\x69\x7a" } , { "\xd5\xe8\xd4\xe2" , "\x73\x73\x69\x7a" } , { "\xd5\xe8\xd4\xe5" , "\x74\x69\x7a\x6d" } , { "\xd5\xe8\xd4\xe5\xa2" , "\x74\x69\x7a\x6d\x77" } , { "\xd5\xe8\xd5" , "\xc8" } , { "\xd5\xe8\xd5\xa2" , "\xc8\x77" } , { "\xd5\xe8\xd5\xda" , "\xc8\x6d" } , { "\xd5\xe8\xd5\xda\xa2" , "\xc8\x6d\x77" } , { "\xd5\xe8\xd5\xdb" , "\xc8\x6e" } , { "\xd5\xe8\xd5\xdc" , "\xc8\x6f" } , { "\xd5\xe8\xd5\xdd" , "\xc8\x70" } , { "\xd5\xe8\xd5\xde" , "\xc8\x71" } , { "\xd5\xe8\xd5\xdf\xa2" , "\xc8\x72\x77" } , { "\xd5\xe8\xd5\xe1" , "\x74\xc8" } , { "\xd5\xe8\xd5\xe2" , "\x73\x73\xc8" } , { "\xd5\xe8\xd5\xe5" , "\x74\xc8\x6d" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\x7b\xc8\x6f" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\x7b\xc8\x70" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\x74\x7b\xc8" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\xc8\x7a\x6d" } , { "\xd5\xe8\xd6\xe1" , "\x69\x76\x74\x6a" } , { "\xd5\xe8\xd6\xe8\xbe" , "\x69\x76\x6a\x76\x54" } , { "\xd5\xe8\xd7" , "\x69\x76\x6b" } , { "\xd5\xe8\xd7\xe8\xc2" , "\x69\x76\x6b\x76\x58" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\x69\x76\x6b\x76\x58\x6e" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\x69\x76\x6b\x76\x7b\x58\x77" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\x69\x76\x6b\x76\x7b\x58\x6d" } , { "\xd5\xe8\xd8\xdc" , "\x69\x76\x6c\x6f" } , { "\xd5\xe8\xd9" , "\x69\x76" } , { "\xd5\xe8\xd9\xa6" , "\x69\x76\x43" } , { "\xd5\xe8\xd9\xb3" , "\x69\x76\x49" } , { "\xd5\xe8\xd9\xb8" , "\x69\x76\x4e" } , { "\xd5\xe8\xd9\xb8\xda" , "\x69\x76\x4e\x6d" } , { "\xd5\xe8\xd9\xb8\xdb" , "\x69\x76\x4e\x6e" } , { "\xd5\xe8\xd9\xc2" , "\x69\x76\x58" } , { "\xd5\xe8\xd9\xc2\xdc" , "\x69\x76\x58\x6f" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\x69\x76\x74\x58\x6d\x77" } , { "\xd5\xe8\xd9\xc6" , "\x69\x76\x5c" } , { "\xd5\xe8\xd9\xc6\xe5" , "\x69\x76\x74\x5c\x6d" } , { "\xd5\xe8\xd9\xcc" , "\x69\x76\x61" } , { "\xd5\xe8\xd9\xcc\xdc" , "\x69\x76\x61\x6f" } , { "\xd5\xe8\xd9\xcd" , "\x69\x76\x62" } , { "\xd5\xe8\xd9\xcd\xa2" , "\x69\x76\x62\x77" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\x69\x76\x63\x7a" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\x69\x76\x74\x63\x7a\x6d" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\x69\x76\x74\x63\x7a\x6d\x77" } , { "\xd5\xe8\xd9\xd1\xe1" , "\x69\x76\x74\x65" } , { "\xd5\xe8\xd9\xd1\xe2" , "\x69\x76\x73\x73\x65" } , { "\xd5\xe8\xd9\xd4" , "\x69\x76\x68" } , { "\xd5\xe8\xd9\xd4\xda" , "\x69\x76\x68\x6d" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\x69\x76\x68\x6d\x77" } , { "\xd5\xe8\xd9\xd4\xdb" , "\x69\x76\x68\x6e" } , { "\xd5\xe8\xd9\xd4\xdc" , "\x69\x76\x68\x6f" } , { "\xd5\xe8\xd9\xd4\xe1" , "\x69\x76\x74\x68" } , { "\xd5\xe8\xd9\xd4\xe2" , "\x69\x76\x73\x73\x68" } , { "\xd5\xe8\xe8" , "\x69\x76" } , { "\xd5\xe8\xe9\xcf" , "\x69\x76\x63" } , { "\xd5\xe8\xe9\xd4" , "\x69\x76\x68" } , { "\xd5\xe9" , "\x69" } , { "\xd6" , "\x6a" } , { "\xd6\xa1" , "\x6a\x77" } , { "\xd6\xa2" , "\x6a\x77" } , { "\xd6\xa3" , "\x6a\x78" } , { "\xd6\xd6" , "\x6a\x6a" } , { "\xd6\xda" , "\x6a\x6d" } , { "\xd6\xda\xa2" , "\x6a\x6d\x77" } , { "\xd6\xda\xa3" , "\x6a\x6d\x78" } , { "\xd6\xdb" , "\x6a\x6e" } , { "\xd6\xdb\xa2" , "\x6a\x6e\x77" } , { "\xd6\xdb\xa3" , "\x6a\x6e\x78" } , { "\xd6\xdb\xcc\xe8" , "\x6a\x6e\x61\x76" } , { "\xd6\xdc" , "\x6a\x6f" } , { "\xd6\xdc\xa2" , "\x6a\x6f\x77" } , { "\xd6\xdc\xa3" , "\x6a\x6f\x78" } , { "\xd6\xdd" , "\x6a\x70" } , { "\xd6\xdd\xa2" , "\x6a\x70\x77" } , { "\xd6\xde" , "\x6a\x71" } , { "\xd6\xdf" , "\x6a\x72" } , { "\xd6\xe0" , "\x73\x6a" } , { "\xd6\xe0\xa2" , "\x73\x6a\x77" } , { "\xd6\xe1" , "\x74\x6a" } , { "\xd6\xe1\xa2" , "\x74\x6a\x77" } , { "\xd6\xe2" , "\x73\x73\x6a" } , { "\xd6\xe3" , "\x6a\x6d" } , { "\xd6\xe4" , "\x73\x6a\x6d" } , { "\xd6\xe5" , "\x74\x6a\x6d" } , { "\xd6\xe5\xa2" , "\x74\x6a\x6d\x77" } , { "\xd6\xe6" , "\x6a\x75" } , { "\xd6\xe8" , "\x6a\x76" } , { "\xd6\xe8\xb3" , "\x6a\x76\x49" } , { "\xd6\xe8\xb3\xa2" , "\x6a\x76\x49\x77" } , { "\xd6\xe8\xb3\xda" , "\x6a\x76\x49\x6d" } , { "\xd6\xe8\xb3\xda\xa2" , "\x6a\x76\x49\x6d\x77" } , { "\xd6\xe8\xb3\xdb" , "\x6a\x76\x49\x6e" } , { "\xd6\xe8\xb3\xdb\xa2" , "\x6a\x76\x49\x6e\x77" } , { "\xd6\xe8\xb3\xdc" , "\x6a\x76\x49\x6f" } , { "\xd6\xe8\xb3\xdd" , "\x6a\x76\x49\x70" } , { "\xd6\xe8\xb3\xde" , "\x6a\x76\x49\x71" } , { "\xd6\xe8\xb3\xdf" , "\x6a\x76\x49\x72" } , { "\xd6\xe8\xb3\xe0\xa2" , "\x6a\x76\x73\x49\x77" } , { "\xd6\xe8\xb3\xe5" , "\x6a\x76\x74\x49\x6d" } , { "\xd6\xe8\xb3\xe5\xa2" , "\x6a\x76\x74\x49\x6d\x77" } , { "\xd6\xe8\xb3\xe8" , "\x6a\x76\x49\x76" } , { "\xd6\xe8\xb3\xe8\xc2" , "\x6a\x76\xe0" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\x6a\x76\x49\x79\x71" } , { "\xd6\xe8\xb3\xe8\xcf" , "\x6a\x76\x7b\x49" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\x6a\x76\x7b\x49\x6d" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\x6a\x76\x7b\x49\x6e" } , { "\xd6\xe8\xb3\xe8\xd6" , "\x6a\x76\xa3" } , { "\xd6\xe8\xb4\xda" , "\x6a\x76\x4a\x6d" } , { "\xd6\xe8\xb5\xda" , "\x6a\x76\x4b\x6d" } , { "\xd6\xe8\xb5\xdd" , "\x6a\x76\x4b\x70" } , { "\xd6\xe8\xb8" , "\x6a\x76\x4e" } , { "\xd6\xe8\xb8\xa2" , "\x6a\x76\x4e\x77" } , { "\xd6\xe8\xb8\xda" , "\x6a\x76\x4e\x6d" } , { "\xd6\xe8\xb8\xdb" , "\x6a\x76\x4e\x6e" } , { "\xd6\xe8\xb8\xdb\xa2" , "\x6a\x76\x4e\x6e\x77" } , { "\xd6\xe8\xb8\xe1" , "\x6a\x76\x74\x4e" } , { "\xd6\xe8\xb8\xe8" , "\x6a\x76\x4e\x76" } , { "\xd6\xe8\xba" , "\x6a\x76\x50" } , { "\xd6\xe8\xba\xda" , "\x6a\x76\x50\x6d" } , { "\xd6\xe8\xba\xe5" , "\x6a\x76\x74\x50\x6d" } , { "\xd6\xe8\xbd" , "\x6a\x76\x53" } , { "\xd6\xe8\xbd\xa2" , "\x6a\x76\x53\x77" } , { "\xd6\xe8\xbd\xa3" , "\x6a\x76\x53\x78" } , { "\xd6\xe8\xbd\xda" , "\x6a\x76\x53\x6d" } , { "\xd6\xe8\xbd\xda\xa1" , "\x6a\x76\x53\x6d\x77" } , { "\xd6\xe8\xbd\xda\xa2" , "\x6a\x76\x53\x6d\x77" } , { "\xd6\xe8\xbd\xdb" , "\x6a\x76\x53\x6e" } , { "\xd6\xe8\xbd\xdb\xa2" , "\x6a\x76\x53\x6e\x77" } , { "\xd6\xe8\xbd\xdb\xa3" , "\x6a\x76\x53\x6e\x78" } , { "\xd6\xe8\xbd\xdc" , "\x6a\x76\x53\x6f" } , { "\xd6\xe8\xbd\xdd" , "\x6a\x76\x53\x70" } , { "\xd6\xe8\xbd\xdd\xa2" , "\x6a\x76\x53\x70\x77" } , { "\xd6\xe8\xbd\xde" , "\x6a\x76\x53\x71" } , { "\xd6\xe8\xbd\xdf" , "\x6a\x76\x53\x72" } , { "\xd6\xe8\xbd\xe0" , "\x6a\x76\x73\x53" } , { "\xd6\xe8\xbd\xe1" , "\x6a\x76\x74\x53" } , { "\xd6\xe8\xbd\xe2" , "\x6a\x76\x73\x73\x53" } , { "\xd6\xe8\xbd\xe5" , "\x6a\x76\x74\x53\x6d" } , { "\xd6\xe8\xbd\xe5\xa2" , "\x6a\x76\x74\x53\x6d\x77" } , { "\xd6\xe8\xbd\xe6" , "\x6a\x76\x53\x75" } , { "\xd6\xe8\xbd\xe8" , "\x6a\x76\x53\x76" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\x6a\x76\x53\x76\x49\x75\x77" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\x6a\x76\x53\x76\x74\x57\x6d" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\x6a\x76\x53\x76\x74\x5a\x6d" } , { "\xd6\xe8\xbd\xe8\xc8" , "\x6a\x76\x53\x76\x5d" } , { "\xd6\xe8\xbd\xe8\xcd" , "\x6a\x76\x53\x79" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\x6a\x76\x53\x79\x77" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\x6a\x76\x53\x79\x6d" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\x6a\x76\x53\x79\x6d\x77" } , { "\xd6\xe8\xbd\xe8\xcf" , "\x6a\x76\x7b\x53" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\x6a\x76\x7b\x53\x77" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\x6a\x76\x7b\x53\x6d" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\x6a\x76\x7b\x53\x6d\x77" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\x6a\x76\x7b\x53\x6e" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\x6a\x76\x7b\x53\x6f" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\x6a\x76\x7b\x53\x70" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\x6a\x76\x74\x7b\x53" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\x6a\x76\x74\x7b\x53\x6d" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\x6a\x76\x74\x7b\x53\x6d\x77" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\x6a\x76\x7b\x53\x79\x6d\x78" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\x6a\x76\x53\x76\x63\x76\x74\x65\x6d" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\x6a\x76\x53\x76\x65\x6d" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\x6a\x76\x53\x7a\x6d" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\x6a\x76\x73\x73\x53\x7a" } , { "\xd6\xe8\xbe" , "\x6a\x76\x54" } , { "\xd6\xe8\xbe\xa2" , "\x6a\x76\x54\x77" } , { "\xd6\xe8\xbe\xa3" , "\x6a\x76\x54\x78" } , { "\xd6\xe8\xbe\xda" , "\x6a\x76\x54\x6d" } , { "\xd6\xe8\xbe\xda\xa2" , "\x6a\x76\x54\x6d\x77" } , { "\xd6\xe8\xbe\xda\xa3" , "\x6a\x76\x54\x6d\x78" } , { "\xd6\xe8\xbe\xdb" , "\x6a\x76\x54\x6e" } , { "\xd6\xe8\xbe\xdb\xa2" , "\x6a\x76\x54\x6e\x77" } , { "\xd6\xe8\xbe\xdc" , "\x6a\x76\x54\x6f" } , { "\xd6\xe8\xbe\xdd" , "\x6a\x76\x54\x70" } , { "\xd6\xe8\xbe\xde" , "\x6a\x76\x54\x71" } , { "\xd6\xe8\xbe\xe1" , "\x6a\x76\x74\x54" } , { "\xd6\xe8\xbe\xe5" , "\x6a\x76\x74\x54\x6d" } , { "\xd6\xe8\xbe\xe5\xa2" , "\x6a\x76\x74\x54\x6d\x77" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\x6a\x76\x54\x76\x58\x71" } , { "\xd6\xe8\xbe\xe8\xcd" , "\x6a\x76\x54\x79" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\x6a\x76\x54\x79\x77" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\x6a\x76\x54\x79\x6d" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\x6a\x76\x54\x79\x6f" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\x6a\x76\x74\x54\x79" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\x6a\x76\x7b\x54\x6f" } , { "\xd6\xe8\xbf\xdb\xa3" , "\x6a\x76\x55\x6e\x78" } , { "\xd6\xe8\xbf\xe8" , "\x6a\x76\x55\x76" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\x6a\x76\x55\x79\x71" } , { "\xd6\xe8\xc1" , "\x6a\x76\x57" } , { "\xd6\xe8\xc1\xa1" , "\x6a\x76\x57\x77" } , { "\xd6\xe8\xc1\xa2" , "\x6a\x76\x57\x77" } , { "\xd6\xe8\xc1\xda" , "\x6a\x76\x57\x6d" } , { "\xd6\xe8\xc1\xda\xa2" , "\x6a\x76\x57\x6d\x77" } , { "\xd6\xe8\xc1\xdb" , "\x6a\x76\x57\x6e" } , { "\xd6\xe8\xc1\xdc" , "\x6a\x76\x57\x6f" } , { "\xd6\xe8\xc1\xdd" , "\x6a\x76\x57\x70" } , { "\xd6\xe8\xc1\xdd\xa2" , "\x6a\x76\x57\x70\x77" } , { "\xd6\xe8\xc1\xdd\xa3" , "\x6a\x76\x57\x70\x78" } , { "\xd6\xe8\xc1\xde" , "\x6a\x76\x57\x71" } , { "\xd6\xe8\xc1\xe1" , "\x6a\x76\x74\x57" } , { "\xd6\xe8\xc1\xe4" , "\x6a\x76\x73\x57\x6d" } , { "\xd6\xe8\xc1\xe5" , "\x6a\x76\x74\x57\x6d" } , { "\xd6\xe8\xc1\xe5\xa2" , "\x6a\x76\x74\x57\x6d\x77" } , { "\xd6\xe8\xc1\xe5\xa3" , "\x6a\x76\x74\x57\x6d\x78" } , { "\xd6\xe8\xc1\xe8\xcd" , "\x6a\x76\x57\x79" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\x6a\x76\x57\x79\x6d" } , { "\xd6\xe8\xc1\xe8\xd4" , "\x6a\x76\x57\x7a" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\x6a\x76\x57\x7a\x77" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\x6a\x76\x57\x7a\x6d" } , { "\xd6\xe8\xc2" , "\x6a\x76\x58" } , { "\xd6\xe8\xc2\xda" , "\x6a\x76\x58\x6d" } , { "\xd6\xe8\xc2\xdb" , "\x6a\x76\x58\x6e" } , { "\xd6\xe8\xc2\xdc" , "\x6a\x76\x58\x6f" } , { "\xd6\xe8\xc2\xe5" , "\x6a\x76\x74\x58\x6d" } , { "\xd6\xe8\xc2\xe8\xcf" , "\x6a\x76\x7b\x58" } , { "\xd6\xe8\xc4" , "\x6a\x76\x5a" } , { "\xd6\xe8\xc4\xe1" , "\x6a\x76\x74\x5a" } , { "\xd6\xe8\xc6" , "\x6a\x76\x5c" } , { "\xd6\xe8\xc6\xda" , "\x6a\x76\x5c\x6d" } , { "\xd6\xe8\xc6\xdb" , "\x6a\x76\x5c\x6e" } , { "\xd6\xe8\xc6\xdd" , "\x6a\x76\x5c\x70" } , { "\xd6\xe8\xc6\xdd\xa2" , "\x6a\x76\x5c\x70\x77" } , { "\xd6\xe8\xc6\xde" , "\x6a\x76\x5c\x71" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\x6a\x76\xb6\x70" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\x6a\x76\x5c\x76\x6b\x76" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\x6a\x76\x5c\x76\xc9\x76\x74\x65\x6d" } , { "\xd6\xe8\xc8" , "\x6a\x76\x5d" } , { "\xd6\xe8\xc8\xa2" , "\x6a\x76\x5d\x77" } , { "\xd6\xe8\xc8\xda" , "\x6a\x76\x5d\x6d" } , { "\xd6\xe8\xc8\xda\xa2" , "\x6a\x76\x5d\x6d\x77" } , { "\xd6\xe8\xc8\xdb" , "\x6a\x76\x5d\x6e" } , { "\xd6\xe8\xc8\xdb\xa2" , "\x6a\x76\x5d\x6e\x77" } , { "\xd6\xe8\xc8\xdc" , "\x6a\x76\x5d\x6f" } , { "\xd6\xe8\xc8\xdd" , "\x6a\x76\x5d\x70" } , { "\xd6\xe8\xc8\xe1" , "\x6a\x76\x74\x5d" } , { "\xd6\xe8\xc8\xe2" , "\x6a\x76\x73\x73\x5d" } , { "\xd6\xe8\xc8\xe2\xa3" , "\x6a\x76\x73\x73\x5d\x78" } , { "\xd6\xe8\xc8\xe5" , "\x6a\x76\x74\x5d\x6d" } , { "\xd6\xe8\xc8\xe5\xa2" , "\x6a\x76\x74\x5d\x6d\x77" } , { "\xd6\xe8\xc8\xe6" , "\x6a\x76\x5d\x75" } , { "\xd6\xe8\xc8\xe8\xcf" , "\x6a\x76\x7b\x5d" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\x6a\x76\x7b\x5d\x6d" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\x6a\x76\x74\x7b\x5d" } , { "\xd6\xe8\xc9" , "\x6a\x76\x5e" } , { "\xd6\xe8\xca" , "\x6a\x76\x5f" } , { "\xd6\xe8\xca\xda" , "\x6a\x76\x5f\x6d" } , { "\xd6\xe8\xca\xe1" , "\x6a\x76\x74\x5f" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\x6a\x76\x7b\x5f\x71" } , { "\xd6\xe8\xcb\xda" , "\x6a\x76\x60\x6d" } , { "\xd6\xe8\xcc" , "\x6a\x76\x61" } , { "\xd6\xe8\xcc\xa2" , "\x6a\x76\x61\x77" } , { "\xd6\xe8\xcc\xda" , "\x6a\x76\x61\x6d" } , { "\xd6\xe8\xcc\xda\xa2" , "\x6a\x76\x61\x6d\x77" } , { "\xd6\xe8\xcc\xdb" , "\x6a\x76\x61\x6e" } , { "\xd6\xe8\xcc\xdb\xa2" , "\x6a\x76\x61\x6e\x77" } , { "\xd6\xe8\xcc\xdc" , "\x6a\x76\x61\x6f" } , { "\xd6\xe8\xcc\xdd" , "\x6a\x76\x61\x70" } , { "\xd6\xe8\xcc\xdd\xa2" , "\x6a\x76\x61\x70\x77" } , { "\xd6\xe8\xcc\xe0\xa2" , "\x6a\x76\x73\x61\x77" } , { "\xd6\xe8\xcc\xe1" , "\x6a\x76\x74\x61" } , { "\xd6\xe8\xcc\xe4" , "\x6a\x76\x73\x61\x6d" } , { "\xd6\xe8\xcc\xe5" , "\x6a\x76\x74\x61\x6d" } , { "\xd6\xe8\xcc\xe5\xa2" , "\x6a\x76\x74\x61\x6d\x77" } , { "\xd6\xe8\xcd" , "\x6a\x79" } , { "\xd6\xe8\xcd\xa2" , "\x6a\x79\x77" } , { "\xd6\xe8\xcd\xa3" , "\x6a\x79\x78" } , { "\xd6\xe8\xcd\xda" , "\x6a\x79\x6d" } , { "\xd6\xe8\xcd\xdb" , "\x6a\x79\x6e" } , { "\xd6\xe8\xcd\xdd" , "\x6a\x79\x70" } , { "\xd6\xe8\xcd\xdd\xa2" , "\x6a\x79\x70\x77" } , { "\xd6\xe8\xcd\xde" , "\x6a\x79\x71" } , { "\xd6\xe8\xcd\xe1" , "\x74\x6a\x79" } , { "\xd6\xe8\xcd\xe5" , "\x74\x6a\x79\x6d" } , { "\xd6\xe8\xcd\xe5\xa2" , "\x74\x6a\x79\x6d\x77" } , { "\xd6\xe8\xcd\xe8" , "\x6a\x76\x62\x76" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\x6a\x76\x62\x76\x53\x6d" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\x6a\x76\xbf\x6d" } , { "\xd6\xe8\xcd\xe8\xcf" , "\x6a\x76\x7b\x62" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\x6a\x76\x7b\x62\x6d" } , { "\xd6\xe8\xcf" , "\x7b\x6a" } , { "\xd6\xe8\xcf\xa2" , "\x7b\x6a\x77" } , { "\xd6\xe8\xcf\xda" , "\x7b\x6a\x6d" } , { "\xd6\xe8\xcf\xdc" , "\x7b\x6a\x6f" } , { "\xd6\xe8\xcf\xdd" , "\x7b\x6a\x70" } , { "\xd6\xe8\xcf\xde" , "\x7b\x6a\x71" } , { "\xd6\xe8\xcf\xdf" , "\x7b\x6a\x72" } , { "\xd6\xe8\xcf\xe0" , "\x73\x7b\x6a" } , { "\xd6\xe8\xcf\xe2" , "\x73\x73\x7b\x6a" } , { "\xd6\xe8\xcf\xe5" , "\x74\x7b\x6a\x6d" } , { "\xd6\xe8\xcf\xe8" , "\x6a\x76\x63\x76" } , { "\xd6\xe8\xcf\xe8\xb3" , "\x6a\x76\x63\x76\x49" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\x7b\x6a\x79\x6d" } , { "\xd6\xe8\xd1" , "\x6a\x76\x65" } , { "\xd6\xe8\xd1\xda" , "\x6a\x76\x65\x6d" } , { "\xd6\xe8\xd1\xda\xa2" , "\x6a\x76\x65\x6d\x77" } , { "\xd6\xe8\xd1\xdc" , "\x6a\x76\x65\x6f" } , { "\xd6\xe8\xd1\xdd" , "\x6a\x76\x65\x70" } , { "\xd6\xe8\xd1\xde" , "\x6a\x76\x65\x71" } , { "\xd6\xe8\xd1\xe0" , "\x6a\x76\x73\x65" } , { "\xd6\xe8\xd1\xe1" , "\x6a\x76\x74\x65" } , { "\xd6\xe8\xd1\xe2" , "\x6a\x76\x73\x73\x65" } , { "\xd6\xe8\xd1\xe5" , "\x6a\x76\x74\x65\x6d" } , { "\xd6\xe8\xd4" , "\x6a\x7a" } , { "\xd6\xe8\xd4\xa2" , "\x6a\x7a\x77" } , { "\xd6\xe8\xd4\xda" , "\x6a\x7a\x6d" } , { "\xd6\xe8\xd4\xdb" , "\x6a\x7a\x6e" } , { "\xd6\xe8\xd4\xdc" , "\x6a\x7a\x6f" } , { "\xd6\xe8\xd4\xdd" , "\x6a\x7a\x70" } , { "\xd6\xe8\xd4\xe2" , "\x73\x73\x6a\x7a" } , { "\xd6\xe8\xd5" , "\x6a\x76\x69" } , { "\xd6\xe8\xd5\xda" , "\x6a\x76\x69\x6d" } , { "\xd6\xe8\xd6" , "\x6a\x76\x6a" } , { "\xd6\xe8\xd6\xda" , "\x6a\x76\x6a\x6d" } , { "\xd6\xe8\xd6\xdb" , "\x6a\x76\x6a\x6e" } , { "\xd6\xe8\xd6\xdd" , "\x6a\x76\x6a\x70" } , { "\xd6\xe8\xd6\xde" , "\x6a\x76\x6a\x71" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\x6a\x76\x6a\x76\x57\x70" } , { "\xd6\xe8\xd7\xe2" , "\x6a\x76\x73\x73\x6b" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\x6a\x76\x63\x79\x6d" } , { "\xd6\xe8\xe8" , "\x6a\x76" } , { "\xd7" , "\x6b" } , { "\xd7\xa1" , "\x6b\x77" } , { "\xd7\xa2" , "\x6b\x77" } , { "\xd7\xa3" , "\x6b\x78" } , { "\xd7\xd0" , "\x6b\x64" } , { "\xd7\xd0\xd1" , "\x6b\x64\x65" } , { "\xd7\xda" , "\x6b\x6d" } , { "\xd7\xda\xa1" , "\x6b\x6d\x77" } , { "\xd7\xda\xa2" , "\x6b\x6d\x77" } , { "\xd7\xda\xa3" , "\x6b\x6d\x78" } , { "\xd7\xdb" , "\x6b\x6e" } , { "\xd7\xdb\xa2" , "\x6b\x6e\x77" } , { "\xd7\xdb\xa2\xa2" , "\x6b\x6e\x77\x77" } , { "\xd7\xdb\xa2\xa3" , "\x6b\x6e\x77\x78" } , { "\xd7\xdb\xbd\xe8" , "\x6b\x6e\x53\x76" } , { "\xd7\xdc" , "\x6b\x6f" } , { "\xd7\xdc\xa2" , "\x6b\x6f\x77" } , { "\xd7\xdd" , "\x6b\x70" } , { "\xd7\xdd\xa1" , "\x6b\x70\x77" } , { "\xd7\xdd\xa2" , "\x6b\x70\x77" } , { "\xd7\xdd\xa3" , "\x6b\x70\x78" } , { "\xd7\xde" , "\x6b\x71" } , { "\xd7\xde\xa1" , "\x6b\x71\x77" } , { "\xd7\xde\xa2" , "\x6b\x71\x77" } , { "\xd7\xdf" , "\x6b\x72" } , { "\xd7\xdf\xa2" , "\x6b\x72\x77" } , { "\xd7\xe0" , "\x73\x6b" } , { "\xd7\xe0\xa2" , "\x73\x6b\x77" } , { "\xd7\xe1" , "\x74\x6b" } , { "\xd7\xe1\xa2" , "\x74\x6b\x77" } , { "\xd7\xe2" , "\x73\x73\x6b" } , { "\xd7\xe2\xa2" , "\x73\x73\x6b\x77" } , { "\xd7\xe3" , "\x6b\x6d" } , { "\xd7\xe4" , "\x73\x6b\x6d" } , { "\xd7\xe4\xa2" , "\x73\x6b\x6d\x77" } , { "\xd7\xe5" , "\x74\x6b\x6d" } , { "\xd7\xe5\xa2" , "\x74\x6b\x6d\x77" } , { "\xd7\xe6" , "\x6b\x75" } , { "\xd7\xe6\xa2" , "\x6b\x75\x77" } , { "\xd7\xe6\xc2\xe8" , "\x6b\x75\x58\x76" } , { "\xd7\xe7" , "\x74\x6b\x6d" } , { "\xd7\xe7\xa2" , "\x74\x6b\x6d\x77" } , { "\xd7\xe8" , "\x6b\x76" } , { "\xd7\xe8\xb3" , "\x6b\x76\x49" } , { "\xd7\xe8\xb3\xa2" , "\x6b\x76\x49\x77" } , { "\xd7\xe8\xb3\xda" , "\x6b\x76\x49\x6d" } , { "\xd7\xe8\xb3\xda\xa1" , "\x6b\x76\x49\x6d\x77" } , { "\xd7\xe8\xb3\xda\xa2" , "\x6b\x76\x49\x6d\x77" } , { "\xd7\xe8\xb3\xdb" , "\x6b\x76\x49\x6e" } , { "\xd7\xe8\xb3\xdc" , "\x6b\x76\x49\x6f" } , { "\xd7\xe8\xb3\xdc\xa2" , "\x6b\x76\x49\x6f\x77" } , { "\xd7\xe8\xb3\xdd" , "\x6b\x76\x49\x70" } , { "\xd7\xe8\xb3\xde" , "\x6b\x76\x49\x71" } , { "\xd7\xe8\xb3\xdf" , "\x6b\x76\x49\x72" } , { "\xd7\xe8\xb3\xe0" , "\x6b\x76\x73\x49" } , { "\xd7\xe8\xb3\xe1" , "\x6b\x76\x74\x49" } , { "\xd7\xe8\xb3\xe1\xa2" , "\x6b\x76\x74\x49\x77" } , { "\xd7\xe8\xb3\xe2" , "\x6b\x76\x73\x73\x49" } , { "\xd7\xe8\xb3\xe2\xa2" , "\x6b\x76\x73\x73\x49\x77" } , { "\xd7\xe8\xb3\xe4" , "\x6b\x76\x73\x49\x6d" } , { "\xd7\xe8\xb3\xe5" , "\x6b\x76\x74\x49\x6d" } , { "\xd7\xe8\xb3\xe5\xa2" , "\x6b\x76\x74\x49\x6d\x77" } , { "\xd7\xe8\xb3\xe6" , "\x6b\x76\x49\x75" } , { "\xd7\xe8\xb3\xe6\xa2" , "\x6b\x76\x49\x75\x77" } , { "\xd7\xe8\xb3\xe7" , "\x6b\x76\x74\x49\x6d" } , { "\xd7\xe8\xb3\xe8" , "\x6b\x76\x49\x76" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\x6b\x76\xa1\x6e" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\x6b\x76\xa1\x70" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\x6b\x76\x49\x76\x74\x4e" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\x6b\x76\x49\x76\x53\x76\x49\x6f" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\x6b\x76\x49\x76\x53\x76\x5c\x70" } , { "\xd7\xe8\xb3\xe8\xc2" , "\x6b\x76\xe0" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\x6b\x76\xe0\x6e" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\x6b\x76\xe0\x70" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\x6b\x76\x49\x76\x5c\x6e" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\x6b\x76\x49\x76\x5c\x70" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\x6b\x76\x49\x76\x5d\x6d" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\x6b\x76\x49\x76\x61\x6e" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\x6b\x76\x49\x79\x70" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\x6b\x76\x49\x79\x71" } , { "\xd7\xe8\xb3\xe8\xcf" , "\x6b\x76\x7b\x49" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\x6b\x76\x7b\x49\x6d" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\x6b\x76\x7b\x49\x6e" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\x6b\x76\x7b\x49\x6f" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\x6b\x76\x7b\x49\x6f\x77" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\x6b\x76\x7b\x49\x70" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\x6b\x76\x7b\x49\x71" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\x6b\x76\x74\x7b\x49" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\x6b\x76\x73\x73\x7b\x49" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\x6b\x76\x74\x7b\x49\x6d" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\x6b\x76\x7b\x49\x75\x77" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\x6b\x76\xa2\x6e" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\x6b\x76\xa2\x6f" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\x6b\x76\xa2\x70" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\x6b\x76\x73\xa2" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\x6b\x76\x74\xa2" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\x6b\x76\x74\xa2\x6d" } , { "\xd7\xe8\xb3\xe8\xd4" , "\x6b\x76\x49\x7a" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\x6b\x76\x49\x7a\x6d" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\x6b\x76\x49\x7a\x6e" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\x6b\x76\x49\x7a\x6f" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\x6b\x76\x73\x49\x7a" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\x6b\x76\x74\x49\x7a" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\x6b\x76\x73\x73\x49\x7a" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\x6b\x76\x74\x49\x7a\x6d" } , { "\xd7\xe8\xb3\xe8\xd5" , "\x6b\x76\x49\x76\x69" } , { "\xd7\xe8\xb3\xe8\xd7" , "\x6b\x76\x49\x76\x6b" } , { "\xd7\xe8\xb3\xe9" , "\x6b\x76\x49" } , { "\xd7\xe8\xb4" , "\x6b\x76\x4a" } , { "\xd7\xe8\xb4\xa2" , "\x6b\x76\x4a\x77" } , { "\xd7\xe8\xb4\xda" , "\x6b\x76\x4a\x6d" } , { "\xd7\xe8\xb4\xdb" , "\x6b\x76\x4a\x6e" } , { "\xd7\xe8\xb4\xdc" , "\x6b\x76\x4a\x6f" } , { "\xd7\xe8\xb4\xe1" , "\x6b\x76\x74\x4a" } , { "\xd7\xe8\xb4\xe5\xa2" , "\x6b\x76\x74\x4a\x6d\x77" } , { "\xd7\xe8\xb4\xe8\xcd" , "\x6b\x76\x4a\x79" } , { "\xd7\xe8\xb4\xe9\xe1" , "\x6b\x76\x74\x4a" } , { "\xd7\xe8\xb5" , "\x6b\x76\x4b" } , { "\xd7\xe8\xb5\xda" , "\x6b\x76\x4b\x6d" } , { "\xd7\xe8\xb5\xdd" , "\x6b\x76\x4b\x70" } , { "\xd7\xe8\xb5\xde" , "\x6b\x76\x4b\x71" } , { "\xd7\xe8\xb5\xe5" , "\x6b\x76\x74\x4b\x6d" } , { "\xd7\xe8\xb5\xe6" , "\x6b\x76\x4b\x75" } , { "\xd7\xe8\xb5\xe8" , "\x6b\x76\x4b\x76" } , { "\xd7\xe8\xb8" , "\x6b\x76\x4e" } , { "\xd7\xe8\xb8\xa2" , "\x6b\x76\x4e\x77" } , { "\xd7\xe8\xb8\xda" , "\x6b\x76\x4e\x6d" } , { "\xd7\xe8\xb8\xdb" , "\x6b\x76\x4e\x6e" } , { "\xd7\xe8\xb8\xdd" , "\x6b\x76\x4e\x70" } , { "\xd7\xe8\xb8\xde" , "\x6b\x76\x4e\x71" } , { "\xd7\xe8\xb8\xdf" , "\x6b\x76\x4e\x72" } , { "\xd7\xe8\xb8\xe0" , "\x6b\x76\x73\x4e" } , { "\xd7\xe8\xb8\xe1" , "\x6b\x76\x74\x4e" } , { "\xd7\xe8\xb8\xe5" , "\x6b\x76\x74\x4e\x6d" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\x6b\x76\x7b\x4e\x6f" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\x6b\x76\x73\x7b\x4e" } , { "\xd7\xe8\xb9\xda" , "\x6b\x76\x4f\x6d" } , { "\xd7\xe8\xba" , "\x6b\x76\x50" } , { "\xd7\xe8\xba\xda" , "\x6b\x76\x50\x6d" } , { "\xd7\xe8\xba\xdb" , "\x6b\x76\x50\x6e" } , { "\xd7\xe8\xba\xdc" , "\x6b\x76\x50\x6f" } , { "\xd7\xe8\xba\xe1" , "\x6b\x76\x74\x50" } , { "\xd7\xe8\xba\xe8\xbc" , "\x6b\x76\xda" } , { "\xd7\xe8\xba\xe9\xdb" , "\x6b\x76\x50\x6e" } , { "\xd7\xe8\xbd" , "\x6b\x76\x53" } , { "\xd7\xe8\xbd\xa2" , "\x6b\x76\x53\x77" } , { "\xd7\xe8\xbd\xda" , "\x6b\x76\x53\x6d" } , { "\xd7\xe8\xbd\xda\xa1" , "\x6b\x76\x53\x6d\x77" } , { "\xd7\xe8\xbd\xda\xa2" , "\x6b\x76\x53\x6d\x77" } , { "\xd7\xe8\xbd\xdb" , "\x6b\x76\x53\x6e" } , { "\xd7\xe8\xbd\xdb\xa2" , "\x6b\x76\x53\x6e\x77" } , { "\xd7\xe8\xbd\xdc" , "\x6b\x76\x53\x6f" } , { "\xd7\xe8\xbd\xdc\xa2" , "\x6b\x76\x53\x6f\x77" } , { "\xd7\xe8\xbd\xdd" , "\x6b\x76\x53\x70" } , { "\xd7\xe8\xbd\xde" , "\x6b\x76\x53\x71" } , { "\xd7\xe8\xbd\xde\xa2" , "\x6b\x76\x53\x71\x77" } , { "\xd7\xe8\xbd\xe0" , "\x6b\x76\x73\x53" } , { "\xd7\xe8\xbd\xe0\xa2" , "\x6b\x76\x73\x53\x77" } , { "\xd7\xe8\xbd\xe1" , "\x6b\x76\x74\x53" } , { "\xd7\xe8\xbd\xe1\xa2" , "\x6b\x76\x74\x53\x77" } , { "\xd7\xe8\xbd\xe2" , "\x6b\x76\x73\x73\x53" } , { "\xd7\xe8\xbd\xe2\xa2" , "\x6b\x76\x73\x73\x53\x77" } , { "\xd7\xe8\xbd\xe4" , "\x6b\x76\x73\x53\x6d" } , { "\xd7\xe8\xbd\xe5" , "\x6b\x76\x74\x53\x6d" } , { "\xd7\xe8\xbd\xe5\xa2" , "\x6b\x76\x74\x53\x6d\x77" } , { "\xd7\xe8\xbd\xe6" , "\x6b\x76\x53\x75" } , { "\xd7\xe8\xbd\xe7" , "\x6b\x76\x74\x53\x6d" } , { "\xd7\xe8\xbd\xe8" , "\x6b\x76\x53\x76" } , { "\xd7\xe8\xbd\xe8\xb3" , "\x6b\x76\x53\x76\x49" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\x6b\x76\x53\x76\x49\x6d" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\x6b\x76\x53\x76\x49\x6e" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\x6b\x76\x53\x76\x73\x49\x6d" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\x6b\x76\x53\x76\x74\x49\x6d" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\x6b\x76\x53\x76\xa2\x6d" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\x6b\x76\x53\x76\x4b\x6d" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\x6b\x76\x53\x76\x74\x4b" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\x6b\x76\x53\x76\x7b\x4b\x6d" } , { "\xd7\xe8\xbd\xe8\xb8" , "\x6b\x76\x53\x76\x4e" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\x6b\x76\x53\x76\x73\x4e" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\x6b\x76\x53\x76\x74\x4e" } , { "\xd7\xe8\xbd\xe8\xba" , "\x6b\x76\x53\x76\x50" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\x6b\x76\x73\x73\xab" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\x6b\x76\xab\x79\x71" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\x6b\x76\x53\x76\x74\x58\x6d" } , { "\xd7\xe8\xbd\xe8\xc6" , "\x6b\x76\x53\x76\x5c" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\x6b\x76\x53\x76\x5c\x6e" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\x6b\x76\x53\x76\x5c\x70" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\x6b\x76\x53\x76\x74\x5c" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\x6b\x76\x53\x76\x73\x73\x5c" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\x6b\x76\x53\x76\x5c\x76" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\x6b\x76\x53\x76\x5d\x6d" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\x6b\x76\x53\x76\x5d\x6e\x77" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\x6b\x76\x53\x76\x73\x73\x5d" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\x6b\x76\x53\x76\x74\x5d\x6d" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\x6b\x76\x53\x76\x73\x73\x7b\x5d" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\x6b\x76\x53\x76\x5e\x6d" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\x6b\x76\x53\x76\x5e\x6e" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\x6b\x76\x53\x76\x5f\x6d" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\x6b\x76\x53\x76\x5f\x6e" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\x6b\x76\x53\x76\x73\x5f\x77" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\x6b\x76\x53\x76\x5f\x75" } , { "\xd7\xe8\xbd\xe8\xcc" , "\x6b\x76\x53\x76\x61" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\x6b\x76\x53\x76\x61\x6d" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\x6b\x76\x53\x79\x71" } , { "\xd7\xe8\xbd\xe8\xcf" , "\x6b\x76\x7b\x53" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\x6b\x76\x7b\x53\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\x6b\x76\x7b\x53\x6d" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\x6b\x76\x7b\x53\x6d\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x6b\x76\x7b\x53\x6d\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\x6b\x76\x7b\x53\x6e" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\x6b\x76\x7b\x53\x6e\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\x6b\x76\x7b\x53\x6f" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\x6b\x76\x7b\x53\x70" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\x6b\x76\x73\x7b\x53" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\x6b\x76\x73\x7b\x53\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\x6b\x76\x74\x7b\x53" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\x6b\x76\x74\x7b\x53\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\x6b\x76\x73\x73\x7b\x53" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\x6b\x76\x73\x73\x7b\x53\x77" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\x6b\x76\x74\x7b\x53\x6d" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\x6b\x76\x74\x7b\x53\x6d" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\x6b\x76\x74\x7b\x53\x6d\x77" } , { "\xd7\xe8\xbd\xe8\xd1" , "\x6b\x76\x53\x76\x65" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\x6b\x76\x53\x76\x65\x6d" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\x6b\x76\x53\x76\x65\x6e" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\x6b\x76\x53\x76\x65\x6f" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\x6b\x76\x53\x76\x65\x70" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\x6b\x76\x53\x76\x73\x73\x65" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\x6b\x76\x53\x76\x74\x65\x6d" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\x6b\x76\x53\x7a\x77" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\x6b\x76\x53\x7a\x6d" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\x6b\x76\x53\x76\x74\x6a\x6d" } , { "\xd7\xe8\xbd\xe8\xd7" , "\x6b\x76\x53\x76\x6b" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\x6b\x76\x53\x76\x6b\x6e\x77" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\x6b\x76\x53\x76\x6b\x70" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\x6b\x76\x53\x76\x73\x6b" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\x6b\x76\x53\x76\x74\x6b" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\x6b\x76\x53\x76\x6b\x76" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\x6b\x76\x53\x76\xc9\x6e" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\x6b\x76\x53\x76\x6b\x7a" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\x6b\x76\x53\x76\x6c\x6d" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\x6b\x76\x53\x76\x6c\x6e" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\x6b\x76\x53\x76\x74\x6c\x6d" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\x6b\x76\x53\x76\x6b" } , { "\xd7\xe8\xbe" , "\x6b\x76\x54" } , { "\xd7\xe8\xbe\xda" , "\x6b\x76\x54\x6d" } , { "\xd7\xe8\xbe\xdb" , "\x6b\x76\x54\x6e" } , { "\xd7\xe8\xbe\xdd" , "\x6b\x76\x54\x70" } , { "\xd7\xe8\xbe\xe0" , "\x6b\x76\x73\x54" } , { "\xd7\xe8\xbf" , "\x6b\x76\x55" } , { "\xd7\xe8\xbf\xda" , "\x6b\x76\x55\x6d" } , { "\xd7\xe8\xbf\xdb" , "\x6b\x76\x55\x6e" } , { "\xd7\xe8\xbf\xdd" , "\x6b\x76\x55\x70" } , { "\xd7\xe8\xbf\xe0" , "\x6b\x76\x73\x55" } , { "\xd7\xe8\xbf\xe1" , "\x6b\x76\x74\x55" } , { "\xd7\xe8\xbf\xe2" , "\x6b\x76\x73\x73\x55" } , { "\xd7\xe8\xbf\xe8" , "\x6b\x76\x55\x76" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\x6b\x76\x55\x76\x49\x6d" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\x6b\x76\x7b\x55\x6e\x77" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\x6b\x76\x73\x7b\x55" } , { "\xd7\xe8\xc1" , "\x6b\x76\x57" } , { "\xd7\xe8\xc1\xdd" , "\x6b\x76\x57\x70" } , { "\xd7\xe8\xc2" , "\x6b\x76\x58" } , { "\xd7\xe8\xc2\xa2" , "\x6b\x76\x58\x77" } , { "\xd7\xe8\xc2\xda" , "\x6b\x76\x58\x6d" } , { "\xd7\xe8\xc2\xda\xa1" , "\x6b\x76\x58\x6d\x77" } , { "\xd7\xe8\xc2\xda\xa2" , "\x6b\x76\x58\x6d\x77" } , { "\xd7\xe8\xc2\xda\xa3" , "\x6b\x76\x58\x6d\x78" } , { "\xd7\xe8\xc2\xdb" , "\x6b\x76\x58\x6e" } , { "\xd7\xe8\xc2\xdb\xa2" , "\x6b\x76\x58\x6e\x77" } , { "\xd7\xe8\xc2\xdc" , "\x6b\x76\x58\x6f" } , { "\xd7\xe8\xc2\xdc\xa2" , "\x6b\x76\x58\x6f\x77" } , { "\xd7\xe8\xc2\xdd" , "\x6b\x76\x58\x70" } , { "\xd7\xe8\xc2\xdd\xa2" , "\x6b\x76\x58\x70\x77" } , { "\xd7\xe8\xc2\xde" , "\x6b\x76\x58\x71" } , { "\xd7\xe8\xc2\xde\xa2" , "\x6b\x76\x58\x71\x77" } , { "\xd7\xe8\xc2\xdf" , "\x6b\x76\x58\x72" } , { "\xd7\xe8\xc2\xdf\xa2" , "\x6b\x76\x58\x72\x77" } , { "\xd7\xe8\xc2\xe0" , "\x6b\x76\x73\x58" } , { "\xd7\xe8\xc2\xe1" , "\x6b\x76\x74\x58" } , { "\xd7\xe8\xc2\xe1\xa2" , "\x6b\x76\x74\x58\x77" } , { "\xd7\xe8\xc2\xe2" , "\x6b\x76\x73\x73\x58" } , { "\xd7\xe8\xc2\xe4" , "\x6b\x76\x73\x58\x6d" } , { "\xd7\xe8\xc2\xe4\xa2" , "\x6b\x76\x73\x58\x6d\x77" } , { "\xd7\xe8\xc2\xe5" , "\x6b\x76\x74\x58\x6d" } , { "\xd7\xe8\xc2\xe5\xa2" , "\x6b\x76\x74\x58\x6d\x77" } , { "\xd7\xe8\xc2\xe6" , "\x6b\x76\x58\x75" } , { "\xd7\xe8\xc2\xe8" , "\x6b\x76\x58\x76" } , { "\xd7\xe8\xc2\xe8\xc2" , "\x6b\x76\xaf" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\x6b\x76\xaf\x6e" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\x6b\x76\xaf\x70" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\x6b\x76\x7b\xaf" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\x6b\x76\x58\x76\x5c\x6d" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\x6b\x76\x58\x76\x5c\x6e" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\x6b\x76\xdf\x70" } , { "\xd7\xe8\xc2\xe8\xcd" , "\x6b\x76\x58\x79" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\x6b\x76\x58\x79\x77" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\x6b\x76\x58\x79\x6d" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\x6b\x76\x58\x79\x6d\x77" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\x6b\x76\x58\x79\x70" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\x6b\x76\x74\x58\x79" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\x6b\x76\x73\x73\x58\x79" } , { "\xd7\xe8\xc2\xe8\xcf" , "\x6b\x76\x7b\x58" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\x6b\x76\x7b\x58\x77" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\x6b\x76\x7b\x58\x6d" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\x6b\x76\x7b\x58\x6d\x77" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\x6b\x76\x7b\x58\x6e" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\x6b\x76\x7b\x58\x6f" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\x6b\x76\x7b\x58\x70" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\x6b\x76\x7b\x58\x72" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\x6b\x76\x74\x7b\x58" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\x6b\x76\x73\x73\x7b\x58" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\x6b\x76\x74\x7b\x58\x6d" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\x6b\x76\x74\x7b\x58\x6d\x77" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\x6b\x76\x7b\x58\x79\x70" } , { "\xd7\xe8\xc2\xe8\xd4" , "\x6b\x76\x58\x7a" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\x6b\x76\x58\x7a\x77" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\x6b\x76\x58\x7a\x6d" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\x6b\x76\x58\x7a\x6e" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\x6b\x76\x73\x73\x58\x7a" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\x6b\x76\x74\x58\x7a\x6d" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\x6b\x76\x58\x7a\x75" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\x6b\x76\x58\x76\x68\x79\x70" } , { "\xd7\xe8\xc3" , "\xd8" } , { "\xd7\xe8\xc3\xa2" , "\xd8\x77" } , { "\xd7\xe8\xc3\xa3" , "\xd8\x78" } , { "\xd7\xe8\xc3\xda" , "\xd8\x6d" } , { "\xd7\xe8\xc3\xda\xa2" , "\xd8\x6d\x77" } , { "\xd7\xe8\xc3\xda\xa3" , "\xd8\x6d\x78" } , { "\xd7\xe8\xc3\xdb" , "\xd8\x6e" } , { "\xd7\xe8\xc3\xdb\xa2" , "\xd8\x6e\x77" } , { "\xd7\xe8\xc3\xdc" , "\xd8\x6f" } , { "\xd7\xe8\xc3\xdd" , "\xd8\x70" } , { "\xd7\xe8\xc3\xde" , "\xd8\x71" } , { "\xd7\xe8\xc3\xe0" , "\x73\xd8" } , { "\xd7\xe8\xc3\xe1" , "\x74\xd8" } , { "\xd7\xe8\xc3\xe2" , "\x73\x73\xd8" } , { "\xd7\xe8\xc3\xe5" , "\x74\xd8\x6d" } , { "\xd7\xe8\xc3\xe5\xa2" , "\x74\xd8\x6d\x77" } , { "\xd7\xe8\xc3\xe6" , "\xd8\x75" } , { "\xd7\xe8\xc3\xe8" , "\xd8\x76" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\xd8\x76\x49\x70" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\xd8\x76\x58\x6e" } , { "\xd7\xe8\xc3\xe8\xc6" , "\xd8\x76\x5c" } , { "\xd7\xe8\xc3\xe8\xcd" , "\xd8\x79" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\xd8\x79\x77" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\xd8\x79\x6d" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\xd8\x76\x62\x76\x5a\x76\x62" } , { "\xd7\xe8\xc3\xe8\xcf" , "\x7b\xd8" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\x7b\xd8\x6f" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xd8\x76\x65\x70" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\xd8\x76\x6b\x6d" } , { "\xd7\xe8\xc4" , "\x6b\x76\x5a" } , { "\xd7\xe8\xc4\xda" , "\x6b\x76\x5a\x6d" } , { "\xd7\xe8\xc4\xdb" , "\x6b\x76\x5a\x6e" } , { "\xd7\xe8\xc4\xdd" , "\x6b\x76\x5a\x70" } , { "\xd7\xe8\xc4\xdd\xa2" , "\x6b\x76\x5a\x70\x77" } , { "\xd7\xe8\xc4\xde\xa2" , "\x6b\x76\x5a\x71\x77" } , { "\xd7\xe8\xc4\xe1" , "\x6b\x76\x74\x5a" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\x6b\x76\x74\xb1\x6d" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\x6b\x76\x5a\x7a\x6d" } , { "\xd7\xe8\xc5" , "\x6b\x76\x5b" } , { "\xd7\xe8\xc5\xa2" , "\x6b\x76\x5b\x77" } , { "\xd7\xe8\xc5\xda" , "\x6b\x76\x5b\x6d" } , { "\xd7\xe8\xc5\xdb" , "\x6b\x76\x5b\x6e" } , { "\xd7\xe8\xc5\xdd" , "\x6b\x76\x5b\x70" } , { "\xd7\xe8\xc5\xde" , "\x6b\x76\x5b\x71" } , { "\xd7\xe8\xc5\xe0" , "\x6b\x76\x73\x5b" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\x6b\x76\x5b\x79\x77" } , { "\xd7\xe8\xc6" , "\x6b\x76\x5c" } , { "\xd7\xe8\xc6\xa2" , "\x6b\x76\x5c\x77" } , { "\xd7\xe8\xc6\xda" , "\x6b\x76\x5c\x6d" } , { "\xd7\xe8\xc6\xdb" , "\x6b\x76\x5c\x6e" } , { "\xd7\xe8\xc6\xdc" , "\x6b\x76\x5c\x6f" } , { "\xd7\xe8\xc6\xdd" , "\x6b\x76\x5c\x70" } , { "\xd7\xe8\xc6\xdd\xa2" , "\x6b\x76\x5c\x70\x77" } , { "\xd7\xe8\xc6\xde" , "\x6b\x76\x5c\x71" } , { "\xd7\xe8\xc6\xe0" , "\x6b\x76\x73\x5c" } , { "\xd7\xe8\xc6\xe1" , "\x6b\x76\x74\x5c" } , { "\xd7\xe8\xc6\xe2" , "\x6b\x76\x73\x73\x5c" } , { "\xd7\xe8\xc6\xe5" , "\x6b\x76\x74\x5c\x6d" } , { "\xd7\xe8\xc6\xe8\xc6" , "\x6b\x76\xb6" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\x6b\x76\xb6\x70" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\x6b\x76\x74\xb6" } , { "\xd7\xe8\xc8" , "\x6b\x76\x5d" } , { "\xd7\xe8\xc8\xa2" , "\x6b\x76\x5d\x77" } , { "\xd7\xe8\xc8\xda" , "\x6b\x76\x5d\x6d" } , { "\xd7\xe8\xc8\xda\xa2" , "\x6b\x76\x5d\x6d\x77" } , { "\xd7\xe8\xc8\xdb" , "\x6b\x76\x5d\x6e" } , { "\xd7\xe8\xc8\xdb\xa2" , "\x6b\x76\x5d\x6e\x77" } , { "\xd7\xe8\xc8\xdc" , "\x6b\x76\x5d\x6f" } , { "\xd7\xe8\xc8\xdd" , "\x6b\x76\x5d\x70" } , { "\xd7\xe8\xc8\xde" , "\x6b\x76\x5d\x71" } , { "\xd7\xe8\xc8\xdf" , "\x6b\x76\x5d\x72" } , { "\xd7\xe8\xc8\xe0" , "\x6b\x76\x73\x5d" } , { "\xd7\xe8\xc8\xe0\xa2" , "\x6b\x76\x73\x5d\x77" } , { "\xd7\xe8\xc8\xe1" , "\x6b\x76\x74\x5d" } , { "\xd7\xe8\xc8\xe1\xa2" , "\x6b\x76\x74\x5d\x77" } , { "\xd7\xe8\xc8\xe2" , "\x6b\x76\x73\x73\x5d" } , { "\xd7\xe8\xc8\xe2\xa2" , "\x6b\x76\x73\x73\x5d\x77" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\x6b\x76\x73\x73\x5d\x55\x76" } , { "\xd7\xe8\xc8\xe4" , "\x6b\x76\x73\x5d\x6d" } , { "\xd7\xe8\xc8\xe5" , "\x6b\x76\x74\x5d\x6d" } , { "\xd7\xe8\xc8\xe5\xa2" , "\x6b\x76\x74\x5d\x6d\x77" } , { "\xd7\xe8\xc8\xe6" , "\x6b\x76\x5d\x75" } , { "\xd7\xe8\xc8\xe7" , "\x6b\x76\x74\x5d\x6d" } , { "\xd7\xe8\xc8\xe8" , "\x6b\x76\x5d\x76" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\x6b\x76\x5d\x76\x73\x5f" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\x6b\x76\x5d\x79\x71" } , { "\xd7\xe8\xc8\xe8\xcf" , "\x6b\x76\x7b\x5d" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\x6b\x76\x7b\x5d\x6d" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\x6b\x76\x7b\x5d\x6e" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\x6b\x76\x7b\x5d\x6e\x77" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\x6b\x76\x7b\x5d\x70" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\x6b\x76\x7b\x5d\x71" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\x6b\x76\x74\x7b\x5d" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\x6b\x76\x73\x73\x7b\x5d" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\x6b\x76\x73\x7b\x5d\x6d" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\x6b\x76\x74\x7b\x5d\x6d" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\x6b\x76\xb9\x6d" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\x6b\x76\x73\xb9" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\x6b\x76\x74\xb9" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\x6b\x76\x5d\x76\x69\x79" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\x6b\x76\x5d\x76\x6b\x6d" } , { "\xd7\xe8\xc8\xe8\xd8" , "\x6b\x76\x5d\x76\x6c" } , { "\xd7\xe8\xc9" , "\x6b\x76\x5e" } , { "\xd7\xe8\xc9\xa2" , "\x6b\x76\x5e\x77" } , { "\xd7\xe8\xc9\xda" , "\x6b\x76\x5e\x6d" } , { "\xd7\xe8\xc9\xda\xa2" , "\x6b\x76\x5e\x6d\x77" } , { "\xd7\xe8\xc9\xdb" , "\x6b\x76\x5e\x6e" } , { "\xd7\xe8\xc9\xdb\xa2" , "\x6b\x76\x5e\x6e\x77" } , { "\xd7\xe8\xc9\xdc" , "\x6b\x76\x5e\x6f" } , { "\xd7\xe8\xc9\xdd" , "\x6b\x76\x5e\x70" } , { "\xd7\xe8\xc9\xde" , "\x6b\x76\x5e\x71" } , { "\xd7\xe8\xc9\xdf" , "\x6b\x76\x5e\x72" } , { "\xd7\xe8\xc9\xe0" , "\x6b\x76\x73\x5e" } , { "\xd7\xe8\xc9\xe0\xa2" , "\x6b\x76\x73\x5e\x77" } , { "\xd7\xe8\xc9\xe1" , "\x6b\x76\x74\x5e" } , { "\xd7\xe8\xc9\xe2" , "\x6b\x76\x73\x73\x5e" } , { "\xd7\xe8\xc9\xe4" , "\x6b\x76\x73\x5e\x6d" } , { "\xd7\xe8\xc9\xe5" , "\x6b\x76\x74\x5e\x6d" } , { "\xd7\xe8\xc9\xe6" , "\x6b\x76\x5e\x75" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\x6b\x76\x5e\x79\x6d" } , { "\xd7\xe8\xca" , "\x6b\x76\x5f" } , { "\xd7\xe8\xca\xda" , "\x6b\x76\x5f\x6d" } , { "\xd7\xe8\xca\xdb" , "\x6b\x76\x5f\x6e" } , { "\xd7\xe8\xca\xdd" , "\x6b\x76\x5f\x70" } , { "\xd7\xe8\xca\xe0" , "\x6b\x76\x73\x5f" } , { "\xd7\xe8\xca\xe1" , "\x6b\x76\x74\x5f" } , { "\xd7\xe8\xca\xe1\xa2" , "\x6b\x76\x74\x5f\x77" } , { "\xd7\xe8\xca\xe2" , "\x6b\x76\x73\x73\x5f" } , { "\xd7\xe8\xca\xe5" , "\x6b\x76\x74\x5f\x6d" } , { "\xd7\xe8\xca\xe5\xa2" , "\x6b\x76\x74\x5f\x6d\x77" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\x6b\x76\x7b\x5f\x71" } , { "\xd7\xe8\xcb" , "\x6b\x76\x60" } , { "\xd7\xe8\xcb\xdb" , "\x6b\x76\x60\x6e" } , { "\xd7\xe8\xcb\xe0" , "\x6b\x76\x73\x60" } , { "\xd7\xe8\xcc" , "\x6b\x76\x61" } , { "\xd7\xe8\xcc\xa2" , "\x6b\x76\x61\x77" } , { "\xd7\xe8\xcc\xda" , "\x6b\x76\x61\x6d" } , { "\xd7\xe8\xcc\xda\xa2" , "\x6b\x76\x61\x6d\x77" } , { "\xd7\xe8\xcc\xdb" , "\x6b\x76\x61\x6e" } , { "\xd7\xe8\xcc\xdc" , "\x6b\x76\x61\x6f" } , { "\xd7\xe8\xcc\xdd" , "\x6b\x76\x61\x70" } , { "\xd7\xe8\xcc\xdd\xa2" , "\x6b\x76\x61\x70\x77" } , { "\xd7\xe8\xcc\xdf" , "\x6b\x76\x61\x72" } , { "\xd7\xe8\xcc\xe0" , "\x6b\x76\x73\x61" } , { "\xd7\xe8\xcc\xe0\xa2" , "\x6b\x76\x73\x61\x77" } , { "\xd7\xe8\xcc\xe1" , "\x6b\x76\x74\x61" } , { "\xd7\xe8\xcc\xe1\xa2" , "\x6b\x76\x74\x61\x77" } , { "\xd7\xe8\xcc\xe2" , "\x6b\x76\x73\x73\x61" } , { "\xd7\xe8\xcc\xe2\xa2" , "\x6b\x76\x73\x73\x61\x77" } , { "\xd7\xe8\xcc\xe4" , "\x6b\x76\x73\x61\x6d" } , { "\xd7\xe8\xcc\xe5" , "\x6b\x76\x74\x61\x6d" } , { "\xd7\xe8\xcc\xe5\xa2" , "\x6b\x76\x74\x61\x6d\x77" } , { "\xd7\xe8\xcc\xe6" , "\x6b\x76\x61\x75" } , { "\xd7\xe8\xcc\xe8" , "\x6b\x76\x61\x76" } , { "\xd7\xe8\xcc\xe8\xc2" , "\x6b\x76\x61\x76\x58" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\x6b\x76\x61\x76\x58\x6e" } , { "\xd7\xe8\xcc\xe8\xcc" , "\x6b\x76\xbd" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\x6b\x76\x61\x79\x6d\x77" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\x6b\x76\x61\x79\x70" } , { "\xd7\xe8\xcc\xe8\xd1" , "\x6b\x76\xbe" } , { "\xd7\xe8\xcd" , "\x6b\x79" } , { "\xd7\xe8\xcd\xa2" , "\x6b\x79\x77" } , { "\xd7\xe8\xcd\xa3" , "\x6b\x79\x78" } , { "\xd7\xe8\xcd\xda" , "\x6b\x79\x6d" } , { "\xd7\xe8\xcd\xda\xa2" , "\x6b\x79\x6d\x77" } , { "\xd7\xe8\xcd\xda\xa3" , "\x6b\x79\x6d\x78" } , { "\xd7\xe8\xcd\xdb" , "\x6b\x79\x6e" } , { "\xd7\xe8\xcd\xdc" , "\x6b\x79\x6f" } , { "\xd7\xe8\xcd\xdd" , "\x6b\x79\x70" } , { "\xd7\xe8\xcd\xdd\xa3" , "\x6b\x79\x70\x78" } , { "\xd7\xe8\xcd\xde" , "\x6b\x79\x71" } , { "\xd7\xe8\xcd\xde\xa2" , "\x6b\x79\x71\x77" } , { "\xd7\xe8\xcd\xe0" , "\x73\x6b\x79" } , { "\xd7\xe8\xcd\xe1" , "\x74\x6b\x79" } , { "\xd7\xe8\xcd\xe2" , "\x73\x73\x6b\x79" } , { "\xd7\xe8\xcd\xe4" , "\x73\x6b\x79\x6d" } , { "\xd7\xe8\xcd\xe5" , "\x74\x6b\x79\x6d" } , { "\xd7\xe8\xcd\xe5\xa2" , "\x74\x6b\x79\x6d\x77" } , { "\xd7\xe8\xcd\xe5\xa3" , "\x74\x6b\x79\x6d\x78" } , { "\xd7\xe8\xcd\xe6" , "\x6b\x79\x75" } , { "\xd7\xe8\xcd\xe8" , "\x6b\x76\x62\x76" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\x6b\x76\xbf\x6d" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\x6b\x76\x7b\x62\x6d" } , { "\xd7\xe8\xcf" , "\x7b\x6b" } , { "\xd7\xe8\xcf\xa2" , "\x7b\x6b\x77" } , { "\xd7\xe8\xcf\xda" , "\x7b\x6b\x6d" } , { "\xd7\xe8\xcf\xda\xa2" , "\x7b\x6b\x6d\x77" } , { "\xd7\xe8\xcf\xdb" , "\x7b\x6b\x6e" } , { "\xd7\xe8\xcf\xdb\xa2" , "\x7b\x6b\x6e\x77" } , { "\xd7\xe8\xcf\xdc" , "\x7b\x6b\x6f" } , { "\xd7\xe8\xcf\xdd" , "\x7b\x6b\x70" } , { "\xd7\xe8\xcf\xde" , "\x7b\x6b\x71" } , { "\xd7\xe8\xcf\xde\xa2" , "\x7b\x6b\x71\x77" } , { "\xd7\xe8\xcf\xdf" , "\x7b\x6b\x72" } , { "\xd7\xe8\xcf\xe0" , "\x73\x7b\x6b" } , { "\xd7\xe8\xcf\xe1" , "\x74\x7b\x6b" } , { "\xd7\xe8\xcf\xe2" , "\x73\x73\x7b\x6b" } , { "\xd7\xe8\xcf\xe5" , "\x74\x7b\x6b\x6d" } , { "\xd7\xe8\xcf\xe5\xa2" , "\x74\x7b\x6b\x6d\x77" } , { "\xd7\xe8\xcf\xe8\xbd" , "\x6b\x76\x63\x76\x53" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\x6b\x76\x63\x76\x74\x5d" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\x7b\x6b\x7a\x6d" } , { "\xd7\xe8\xd1" , "\xc9" } , { "\xd7\xe8\xd1\xa2" , "\xc9\x77" } , { "\xd7\xe8\xd1\xda" , "\xc9\x6d" } , { "\xd7\xe8\xd1\xda\xa2" , "\xc9\x6d\x77" } , { "\xd7\xe8\xd1\xdb" , "\xc9\x6e" } , { "\xd7\xe8\xd1\xdb\xa2" , "\xc9\x6e\x77" } , { "\xd7\xe8\xd1\xdc" , "\xc9\x6f" } , { "\xd7\xe8\xd1\xdc\xa2" , "\xc9\x6f\x77" } , { "\xd7\xe8\xd1\xdd" , "\xc9\x70" } , { "\xd7\xe8\xd1\xdd\xa2" , "\xc9\x70\x77" } , { "\xd7\xe8\xd1\xde" , "\xc9\x71" } , { "\xd7\xe8\xd1\xe0" , "\x73\xc9" } , { "\xd7\xe8\xd1\xe1" , "\x74\xc9" } , { "\xd7\xe8\xd1\xe1\xa2" , "\x74\xc9\x77" } , { "\xd7\xe8\xd1\xe2" , "\x73\x73\xc9" } , { "\xd7\xe8\xd1\xe4" , "\x73\xc9\x6d" } , { "\xd7\xe8\xd1\xe5" , "\x74\xc9\x6d" } , { "\xd7\xe8\xd1\xe5\xa2" , "\x74\xc9\x6d\x77" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\xc9\x76\x49\x6e" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\xc9\x76\x73\x49" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\xc9\x76\x74\x49\x6d" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\xc9\x76\x5d\x6d\x77" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\xc9\x76\x5d\x6f" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\xc9\x76\x73\x5d" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\xc9\x76\x73\x5d\x77" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\xc9\x76\x6b\x6d\x77" } , { "\xd7\xe8\xd4" , "\x6b\x7a" } , { "\xd7\xe8\xd4\xa2" , "\x6b\x7a\x77" } , { "\xd7\xe8\xd4\xda" , "\x6b\x7a\x6d" } , { "\xd7\xe8\xd4\xda\xa1" , "\x6b\x7a\x6d\x77" } , { "\xd7\xe8\xd4\xda\xa2" , "\x6b\x7a\x6d\x77" } , { "\xd7\xe8\xd4\xdb" , "\x6b\x7a\x6e" } , { "\xd7\xe8\xd4\xdb\xa2" , "\x6b\x7a\x6e\x77" } , { "\xd7\xe8\xd4\xdc" , "\x6b\x7a\x6f" } , { "\xd7\xe8\xd4\xdc\xa2" , "\x6b\x7a\x6f\x77" } , { "\xd7\xe8\xd4\xdd" , "\x6b\x7a\x70" } , { "\xd7\xe8\xd4\xdd\xa2" , "\x6b\x7a\x70\x77" } , { "\xd7\xe8\xd4\xdf" , "\x6b\x7a\x72" } , { "\xd7\xe8\xd4\xe0" , "\x73\x6b\x7a" } , { "\xd7\xe8\xd4\xe1" , "\x74\x6b\x7a" } , { "\xd7\xe8\xd4\xe2" , "\x73\x73\x6b\x7a" } , { "\xd7\xe8\xd4\xe2\xa2" , "\x73\x73\x6b\x7a\x77" } , { "\xd7\xe8\xd4\xe5" , "\x74\x6b\x7a\x6d" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\x6b\x76\x68\x76\x49\x6d" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\x6b\x76\x68\x76\x58\x77" } , { "\xd7\xe8\xd5" , "\x6b\x76\x69" } , { "\xd7\xe8\xd5\xda" , "\x6b\x76\x69\x6d" } , { "\xd7\xe8\xd5\xdb" , "\x6b\x76\x69\x6e" } , { "\xd7\xe8\xd5\xdd" , "\x6b\x76\x69\x70" } , { "\xd7\xe8\xd5\xe1" , "\x6b\x76\x74\x69" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\x6b\x76\x74\x7b\x69" } , { "\xd7\xe8\xd6" , "\x6b\x76\x6a" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\x6b\x76\x6a\x76\x53\x6e" } , { "\xd7\xe8\xd7" , "\xca" } , { "\xd7\xe8\xd7\xa2" , "\xca\x77" } , { "\xd7\xe8\xd7\xda" , "\xca\x6d" } , { "\xd7\xe8\xd7\xda\xa2" , "\xca\x6d\x77" } , { "\xd7\xe8\xd7\xdb" , "\xca\x6e" } , { "\xd7\xe8\xd7\xdb\xa2" , "\xca\x6e\x77" } , { "\xd7\xe8\xd7\xdc" , "\xca\x6f" } , { "\xd7\xe8\xd7\xdc\xa2" , "\xca\x6f\x77" } , { "\xd7\xe8\xd7\xdd" , "\xca\x70" } , { "\xd7\xe8\xd7\xdd\xa2" , "\xca\x70\x77" } , { "\xd7\xe8\xd7\xde" , "\xca\x71" } , { "\xd7\xe8\xd7\xdf" , "\xca\x72" } , { "\xd7\xe8\xd7\xe0" , "\x73\xca" } , { "\xd7\xe8\xd7\xe0\xa2" , "\x73\xca\x77" } , { "\xd7\xe8\xd7\xe1" , "\x74\xca" } , { "\xd7\xe8\xd7\xe1\xa2" , "\x74\xca\x77" } , { "\xd7\xe8\xd7\xe2" , "\x73\x73\xca" } , { "\xd7\xe8\xd7\xe4" , "\x73\xca\x6d" } , { "\xd7\xe8\xd7\xe5" , "\x74\xca\x6d" } , { "\xd7\xe8\xd7\xe5\xa2" , "\x74\xca\x6d\x77" } , { "\xd7\xe8\xd7\xe6" , "\xca\x75" } , { "\xd7\xe8\xd7\xe6\xa2" , "\xca\x75\x77" } , { "\xd7\xe8\xd7\xe8" , "\xca\x76" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\xca\x76\x49\x6d" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\xca\x76\x49\x70" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\xca\x76\x49\x72" } , { "\xd7\xe8\xd7\xe8\xbd" , "\xca\x76\x53" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\xca\x76\x53\x6d" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\xca\x76\x53\x6d\x77" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\xca\x76\x53\x6f" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\xca\x76\x74\x53" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xca\x76\x7b\x53\x6d" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xca\x76\x58\x71\x77" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xca\x76\x59\x6d" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xca\x76\x59\x6e" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\xca\x76\x5c\x6d" } , { "\xd7\xe8\xd7\xe8\xcc" , "\xca\x76\x61" } , { "\xd7\xe8\xd7\xe8\xcd" , "\xca\x79" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\xca\x79\x6d" } , { "\xd7\xe8\xd7\xe8\xcf" , "\x7b\xca" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\x7b\xca\x6d" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xca\x76\x65\x70" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xca\x76\x74\x65\x6d" } , { "\xd7\xe8\xd7\xe8\xd4" , "\xca\x7a" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\xca\x7a\x6d" } , { "\xd7\xe8\xd8" , "\x6b\x76\x6c" } , { "\xd7\xe8\xd8\xda" , "\x6b\x76\x6c\x6d" } , { "\xd7\xe8\xd8\xe0" , "\x6b\x76\x73\x6c" } , { "\xd7\xe8\xd8\xe5" , "\x6b\x76\x74\x6c\x6d" } , { "\xd7\xe8\xd8\xe6" , "\x6b\x76\x6c\x75" } , { "\xd7\xe8\xd9" , "\x6b\x76" } , { "\xd7\xe8\xd9\xa6" , "\x6b\x76\x43" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\x6b\x76\x63\x76\x53" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\x6b\x76\x63\x76\x53\x6d" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\x6b\x76\x63\x76\x74\x53" } , { "\xd7\xe8\xe8" , "\x6b\x76" } , { "\xd7\xe8\xe9\xcf" , "\x6b\x76\x63" } , { "\xd7\xe9" , "\x6b" } , { "\xd8" , "\x6c" } , { "\xd8\xa1" , "\x6c\x77" } , { "\xd8\xa2" , "\x6c\x77" } , { "\xd8\xa3" , "\x6c\x78" } , { "\xd8\xd0" , "\x6c\x64" } , { "\xd8\xd9" , "\x6c" } , { "\xd8\xd9\xd1\xda" , "\x6c\x65\x6d" } , { "\xd8\xda" , "\x6c\x6d" } , { "\xd8\xda\xa1" , "\x6c\x6d\x77" } , { "\xd8\xda\xa2" , "\x6c\x6d\x77" } , { "\xd8\xda\xa3" , "\x6c\x6d\x78" } , { "\xd8\xdb" , "\x6c\x6e" } , { "\xd8\xdb\xa2" , "\x6c\x6e\x77" } , { "\xd8\xdb\xa2\xa2" , "\x6c\x6e\x77\x77" } , { "\xd8\xdb\xa3" , "\x6c\x6e\x78" } , { "\xd8\xdc" , "\x6c\x6f" } , { "\xd8\xdc\xa1" , "\x6c\x6f\x77" } , { "\xd8\xdc\xa2" , "\x6c\x6f\x77" } , { "\xd8\xdd" , "\x6c\x70" } , { "\xd8\xdd\xa1" , "\x6c\x70\x77" } , { "\xd8\xdd\xa2" , "\x6c\x70\x77" } , { "\xd8\xdd\xa3" , "\x6c\x70\x78" } , { "\xd8\xde" , "\x6c\x71" } , { "\xd8\xde\xa1" , "\x6c\x71\x77" } , { "\xd8\xde\xa2" , "\x6c\x71\x77" } , { "\xd8\xdf" , "\x6c\x72" } , { "\xd8\xe0" , "\x73\x6c" } , { "\xd8\xe0\xa2" , "\x73\x6c\x77" } , { "\xd8\xe1" , "\x74\x6c" } , { "\xd8\xe1\xa2" , "\x74\x6c\x77" } , { "\xd8\xe1\xa3" , "\x74\x6c\x78" } , { "\xd8\xe2" , "\x73\x73\x6c" } , { "\xd8\xe2\xa1" , "\x73\x73\x6c\x77" } , { "\xd8\xe2\xa2" , "\x73\x73\x6c\x77" } , { "\xd8\xe2\xa3" , "\x73\x73\x6c\x78" } , { "\xd8\xe3" , "\x6c\x6d" } , { "\xd8\xe3\xa2" , "\x6c\x6d\x77" } , { "\xd8\xe4" , "\x73\x6c\x6d" } , { "\xd8\xe4\xa2" , "\x73\x6c\x6d\x77" } , { "\xd8\xe5" , "\x74\x6c\x6d" } , { "\xd8\xe5\xa1" , "\x74\x6c\x6d\x77" } , { "\xd8\xe5\xa2" , "\x74\x6c\x6d\x77" } , { "\xd8\xe6" , "\x6c\x75" } , { "\xd8\xe6\xa2" , "\x6c\x75\x77" } , { "\xd8\xe7" , "\x74\x6c\x6d" } , { "\xd8\xe7\xa2" , "\x74\x6c\x6d\x77" } , { "\xd8\xe8" , "\x6c\x76" } , { "\xd8\xe8\xb3\xdd" , "\x6c\x76\x49\x70" } , { "\xd8\xe8\xb5" , "\x6c\x76\x4b" } , { "\xd8\xe8\xb5\xdd" , "\x6c\x76\x4b\x70" } , { "\xd8\xe8\xb5\xde" , "\x6c\x76\x4b\x71" } , { "\xd8\xe8\xb8" , "\x6c\x76\x4e" } , { "\xd8\xe8\xb8\xdd" , "\x6c\x76\x4e\x70" } , { "\xd8\xe8\xbd\xdb" , "\x6c\x76\x53\x6e" } , { "\xd8\xe8\xbf" , "\x6c\x76\x55" } , { "\xd8\xe8\xc1" , "\x6c\x76\x57" } , { "\xd8\xe8\xc1\xda" , "\x6c\x76\x57\x6d" } , { "\xd8\xe8\xc1\xe1" , "\x6c\x76\x74\x57" } , { "\xd8\xe8\xc2" , "\x6c\x76\x58" } , { "\xd8\xe8\xc2\xa2" , "\x6c\x76\x58\x77" } , { "\xd8\xe8\xc2\xda" , "\x6c\x76\x58\x6d" } , { "\xd8\xe8\xc2\xdc" , "\x6c\x76\x58\x6f" } , { "\xd8\xe8\xc2\xe8" , "\x6c\x76\x58\x76" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\x6c\x76\xaf\x7a" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\x6c\x76\x7b\x58\x6d" } , { "\xd8\xe8\xc2\xe8\xd4" , "\x6c\x76\x58\x7a" } , { "\xd8\xe8\xc3" , "\x6c\x76\x59" } , { "\xd8\xe8\xc4" , "\x6c\x76\x5a" } , { "\xd8\xe8\xc4\xe1" , "\x6c\x76\x74\x5a" } , { "\xd8\xe8\xc4\xe5\xa2" , "\x6c\x76\x74\x5a\x6d\x77" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\x6c\x76\x5a\x76\x5d\x6d" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\x6c\x76\x5a\x79\x77" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\x6c\x76\x74\x7b\x5a\x6d" } , { "\xd8\xe8\xc6" , "\xd3" } , { "\xd8\xe8\xc6\xa2" , "\xd3\x77" } , { "\xd8\xe8\xc6\xda" , "\xd3\x6d" } , { "\xd8\xe8\xc6\xda\xa2" , "\xd3\x6d\x77" } , { "\xd8\xe8\xc6\xdb" , "\xd3\x6e" } , { "\xd8\xe8\xc6\xdd" , "\xd3\x70" } , { "\xd8\xe8\xc6\xe5\xa2" , "\x74\xd3\x6d\x77" } , { "\xd8\xe8\xca" , "\x6c\x76\x5f" } , { "\xd8\xe8\xcb" , "\x6c\x76\x60" } , { "\xd8\xe8\xcc" , "\xd2" } , { "\xd8\xe8\xcc\xa2" , "\xd2\x77" } , { "\xd8\xe8\xcc\xda" , "\xd2\x6d" } , { "\xd8\xe8\xcc\xda\xa2" , "\xd2\x6d\x77" } , { "\xd8\xe8\xcc\xdb" , "\xd2\x6e" } , { "\xd8\xe8\xcc\xdc" , "\xd2\x6f" } , { "\xd8\xe8\xcc\xde" , "\xd2\x71" } , { "\xd8\xe8\xcc\xe1" , "\x74\xd2" } , { "\xd8\xe8\xcc\xe1\xa2" , "\x74\xd2\x77" } , { "\xd8\xe8\xcc\xe2" , "\x73\x73\xd2" } , { "\xd8\xe8\xcc\xe5" , "\x74\xd2\x6d" } , { "\xd8\xe8\xcc\xe8" , "\xd2\x76" } , { "\xd8\xe8\xcc\xe8\xb8" , "\xd2\x76\x4e" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\xd2\x76\x4e\x6d" } , { "\xd8\xe8\xcc\xe8\xc1" , "\xd2\x76\x57" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\xd2\x76\x57\x6f" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\xd2\x7a\x6d" } , { "\xd8\xe8\xcd" , "\x6c\x79" } , { "\xd8\xe8\xcd\xa2" , "\x6c\x79\x77" } , { "\xd8\xe8\xcd\xda" , "\x6c\x79\x6d" } , { "\xd8\xe8\xcd\xda\xa2" , "\x6c\x79\x6d\x77" } , { "\xd8\xe8\xcd\xdb" , "\x6c\x79\x6e" } , { "\xd8\xe8\xcd\xdb\xa2" , "\x6c\x79\x6e\x77" } , { "\xd8\xe8\xcd\xdc\xa2" , "\x6c\x79\x6f\x77" } , { "\xd8\xe8\xcd\xdd" , "\x6c\x79\x70" } , { "\xd8\xe8\xcd\xde" , "\x6c\x79\x71" } , { "\xd8\xe8\xcd\xde\xa2" , "\x6c\x79\x71\x77" } , { "\xd8\xe8\xcd\xe1" , "\x74\x6c\x79" } , { "\xd8\xe8\xcd\xe1\xa2" , "\x74\x6c\x79\x77" } , { "\xd8\xe8\xcd\xe5" , "\x74\x6c\x79\x6d" } , { "\xd8\xe8\xcd\xe8\xcf" , "\x6c\x76\x7b\x62" } , { "\xd8\xe8\xcd\xe8\xd7" , "\x6c\x76\x62\x76\x6b" } , { "\xd8\xe8\xcf" , "\x7b\x6c" } , { "\xd8\xe8\xcf\xda" , "\x7b\x6c\x6d" } , { "\xd8\xe8\xcf\xda\xa2" , "\x7b\x6c\x6d\x77" } , { "\xd8\xe8\xcf\xdb" , "\x7b\x6c\x6e" } , { "\xd8\xe8\xcf\xdc" , "\x7b\x6c\x6f" } , { "\xd8\xe8\xcf\xdc\xa2" , "\x7b\x6c\x6f\x77" } , { "\xd8\xe8\xcf\xdd" , "\x7b\x6c\x70" } , { "\xd8\xe8\xcf\xde" , "\x7b\x6c\x71" } , { "\xd8\xe8\xcf\xde\xa2" , "\x7b\x6c\x71\x77" } , { "\xd8\xe8\xcf\xe0" , "\x73\x7b\x6c" } , { "\xd8\xe8\xcf\xe1\xa2" , "\x74\x7b\x6c\x77" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x6c\x76\x63\x76\x5c\x76\x5f\x76\x73\x65\x77" } , { "\xd8\xe8\xd1" , "\xcb" } , { "\xd8\xe8\xd1\xda" , "\xcb\x6d" } , { "\xd8\xe8\xd1\xda\xa2" , "\xcb\x6d\x77" } , { "\xd8\xe8\xd1\xdb" , "\xcb\x6e" } , { "\xd8\xe8\xd1\xdc" , "\xcb\x6f" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\xcb\x7a\x6d" } , { "\xd8\xe8\xd4" , "\x6c\x7a" } , { "\xd8\xe8\xd4\xda" , "\x6c\x7a\x6d" } , { "\xd8\xe8\xd4\xdb" , "\x6c\x7a\x6e" } , { "\xd8\xe8\xd4\xdc" , "\x6c\x7a\x6f" } , { "\xd8\xe8\xd4\xe1" , "\x74\x6c\x7a" } , { "\xd8\xe8\xd4\xe1\xa2" , "\x74\x6c\x7a\x77" } , { "\xd8\xe8\xd4\xe2" , "\x73\x73\x6c\x7a" } , { "\xd8\xe8\xd4\xe4" , "\x73\x6c\x7a\x6d" } , { "\xd8\xe8\xd4\xe5" , "\x74\x6c\x7a\x6d" } , { "\xd8\xe8\xd4\xe8" , "\x6c\x76\x68\x76" } , { "\xd8\xe8\xd6\xdb" , "\x6c\x76\x6a\x6e" } , { "\xd8\xe8\xd6\xe8\xbd" , "\x6c\x76\x6a\x76\x53" } , { "\xd8\xe8\xd7\xa2" , "\x6c\x76\x6b\x77" } , { "\xd8\xe8\xd7\xe8" , "\x6c\x76\x6b\x76" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\x6c\x76\x6b\x76\x49\x6f" } , { "\xd8\xe8\xd7\xe8\xd4" , "\x6c\x76\x6b\x7a" } , { "\xd8\xe8\xd8" , "\x6c\x76\x6c" } , { "\xd8\xe8\xd8\xa2" , "\x6c\x76\x6c\x77" } , { "\xd8\xe8\xd8\xda" , "\x6c\x76\x6c\x6d" } , { "\xd8\xe8\xd8\xdb" , "\x6c\x76\x6c\x6e" } , { "\xd8\xe8\xd8\xdc" , "\x6c\x76\x6c\x6f" } , { "\xd8\xe8\xd8\xe5\xa2" , "\x6c\x76\x74\x6c\x6d\x77" } , { "\xd8\xe8\xd9" , "\x6c\x76" } , { "\xd8\xe8\xd9\xcc" , "\x6c\x76\x61" } , { "\xd8\xe8\xd9\xcd" , "\x6c\x76\x62" } , { "\xd8\xe8\xe8" , "\x6c\x76" } , { "\xd8\xe8\xe9\xcf" , "\x6c\x76\x63" } , { "\xd8\xe9" , "\x6c" } , { "\xda" , "\x6d" } , { "\xdb" , "\x6e" } , { "\xdb\xa2" , "\x6e\x77" } , { "\xdc" , "\x6f" } , { "\xdc\xa2" , "\x6f\x77" } , { "\xdd" , "\x70" } , { "\xde" , "\x71" } , { "\xdf" , "\x72" } , { "\xe0" , "\x73" } , { "\xe0\xa2" , "\x73\x77" } , { "\xe1" , "\x74" } , { "\xe1\xa2" , "\x74\x77" } , { "\xe2" , "\x73\x73" } , { "\xe2\xa2" , "\x73\x73\x77" } , { "\xe3" , "\x6d" } , { "\xe3\xa2" , "\x6d\x77" } , { "\xe4" , "\x73\x6d" } , { "\xe4\xa2" , "\x73\x6d\x77" } , { "\xe5" , "\x74\x6d" } , { "\xe5\xa2" , "\x74\x6d\x77" } , { "\xe6" , "\x75" } , { "\xe6\xa2" , "\x75\x77" } , { "\xe7" , "\x74\x6d" } , { "\xe8" , "\x76" } , { "\xe8\xe9" , "\x76" } , { "\xe9" , "" } , { "\xe9\xdd" , "\x70" } , { "\xe9\xde" , "\x71" } , { "\xe9\xe9" , "\x23" } , } ; ����������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/assamese.table������������������������������������������������������������0100644�0001760�0000144�00001573663�13210547312�0016711�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_assamese_table[] = { { "\xa1" , "\x67" } , { "\xa1\xa2" , "\x67\x65" } , { "\xa1\xa4" , "\x67\x25" } , { "\xa1\xa4\xa2" , "\x67\x25\x65" } , { "\xa1\xab" , "\x67\x41" } , { "\xa1\xab\xa2" , "\x67\x41\x65" } , { "\xa1\xb0" , "\x67\x43" } , { "\xa1\xcd\xdb" , "\x67\xd7\xcc\x5e" } , { "\xa1\xd4" , "\x67\xbe" } , { "\xa1\xe9" , "\x43\xf1" } , { "\xa2" , "\x65" } , { "\xa2\xa3" , "\x65\x66" } , { "\xa3" , "\x66" } , { "\xa4" , "\x25" } , { "\xa4\xa1" , "\x25\x67" } , { "\xa4\xa2" , "\x25\x65" } , { "\xa4\xa3" , "\x25\x66" } , { "\xa4\xd0\xe8" , "\x25\xbb\xcb" } , { "\xa5" , "\x25\xe7" } , { "\xa5\xa1" , "\x25\xe7\x67" } , { "\xa5\xa2" , "\x25\xe7\x65" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x25\xe7\x65\xe3\xbb\x65" } , { "\xa5\xa3" , "\x25\xe7\x66" } , { "\xa6" , "\x2b" } , { "\xa6\xa1" , "\x2b\xf0" } , { "\xa6\xa2" , "\x2b\x65" } , { "\xa6\xa3" , "\x2b\x66" } , { "\xa6\xcc\xe5" , "\x2b\xe3\x5d\xe7" } , { "\xa6\xd7" , "\x2b\x61" } , { "\xa7" , "\x3c" } , { "\xa7\xa1" , "\x3c\xf0" } , { "\xa7\xa1\xa1" , "\x3c\xf0\x67" } , { "\xa7\xa1\xa3" , "\x3c\xf0\x66" } , { "\xa7\xa2" , "\x3c\x65" } , { "\xa7\xa3" , "\x3c\x66" } , { "\xa8" , "\x3d" } , { "\xa8\xa1" , "\x3d\xf0" } , { "\xa8\xa2" , "\x3d\x65" } , { "\xa8\xa2\xa2" , "\x3d\x65\x65" } , { "\xa8\xa3" , "\x3d\x66" } , { "\xa8\xb3\xdf" , "\x3d\x45\xca\xf5" } , { "\xa9" , "\x3e" } , { "\xa9\xa1" , "\x3e\xf0" } , { "\xa9\xa2" , "\x3e\x65" } , { "\xaa" , "\x40" } , { "\xaa\xa2" , "\x40\x65" } , { "\xab" , "\x41" } , { "\xab\xa1" , "\x41\x67" } , { "\xab\xa2" , "\x41\x65" } , { "\xab\xd9" , "\x41" } , { "\xac" , "\x41" } , { "\xac\xa1" , "\x41\x67" } , { "\xac\xa2" , "\x41\x65" } , { "\xac\xa2\xa1" , "\x41\x65\x67" } , { "\xac\xd0\xc5" , "\x41\xbb\x57\xfd" } , { "\xac\xd7" , "\x41\x61" } , { "\xad" , "\x42" } , { "\xad\xa1" , "\x42\xf0" } , { "\xad\xa2" , "\x42\x65" } , { "\xad\xb1" , "\x42\x44" } , { "\xad\xd0\xb1" , "\x42\xbb\x44" } , { "\xae" , "\x25\xee\xe7" } , { "\xae\xa2" , "\x25\xee\xe7\x65" } , { "\xae\xa3" , "\x25\xee\xe7\x66" } , { "\xae\xd9" , "\x25\xee\xe7" } , { "\xaf" , "\x43" } , { "\xaf\xa1" , "\x43\x67" } , { "\xaf\xa2" , "\x43\x65" } , { "\xaf\xd0\xb1\xd1" , "\x43\xbb\x44\x5f" } , { "\xb0" , "\x43" } , { "\xb0\xa1" , "\x43\x67" } , { "\xb0\xa2" , "\x43\x65" } , { "\xb0\xa3" , "\x43\x66" } , { "\xb0\xa3\xd0\xb6" , "\x43\x66\xbb\x48" } , { "\xb0\xcc\xe8" , "\x43\x5d\xcb" } , { "\xb0\xd0" , "\x43\xbb" } , { "\xb1" , "\x44" } , { "\xb1\xa1" , "\x44\xf0" } , { "\xb1\xa2" , "\x44\x65" } , { "\xb1\xa3" , "\x44\x66" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x44\x66\xbb\xc0\xdd" } , { "\xb1\xd0" , "\x44\xbb" } , { "\xb1\xd1\xd7" , "\x44\x5f\x61" } , { "\xb1\xd7" , "\x44\x61" } , { "\xb2" , "\x43" } , { "\xb2\xd9\xb5" , "\x43\x47" } , { "\xb3" , "\x45\xf5" } , { "\xb3\xa1" , "\x45\x67\xf5" } , { "\xb3\xa2" , "\x45\xf5\x65" } , { "\xb3\xa2\xa2" , "\x45\xf5\x65\x65" } , { "\xb3\xa3" , "\x45\xf5\x66" } , { "\xb3\xd9\xaa" , "\x45\xf5\x40" } , { "\xb3\xda" , "\x45\xf5\xe7" } , { "\xb3\xda\xa1" , "\x45\x67\xf5\xe7" } , { "\xb3\xda\xa2" , "\x45\xf5\xe7\x65" } , { "\xb3\xda\xa2\xa2" , "\x45\xf5\xe7\x65\x65" } , { "\xb3\xda\xa3" , "\x45\xf5\xe7\x66" } , { "\xb3\xdb" , "\xd7\x45\xf5" } , { "\xb3\xdb\xa2" , "\xd7\x45\xf5\x65" } , { "\xb3\xdb\xa3" , "\xd7\x45\xf5\x66" } , { "\xb3\xdb\xc7" , "\xd7\x45\xf5\x58" } , { "\xb3\xdc" , "\x45\xf5\xdd" } , { "\xb3\xdc\xa2" , "\x45\xf5\xdd\x65" } , { "\xb3\xdd" , "\x45\xc7\xf5" } , { "\xb3\xdd\xa1" , "\x45\x67\xc7\xf5" } , { "\xb3\xdd\xa2" , "\x45\xc7\xf5\x65" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x45\xc7\xf5\x65\xbb\x53" } , { "\xb3\xdd\xa3" , "\x45\xc7\xf5\x66" } , { "\xb3\xde" , "\x45\xc9\xf5" } , { "\xb3\xde\xa1" , "\x45\x67\xc9\xf5" } , { "\xb3\xde\xa2" , "\x45\xc9\xf5\x65" } , { "\xb3\xdf" , "\x45\xca\xf5" } , { "\xb3\xdf\xa2" , "\x45\xca\xf5\x65" } , { "\xb3\xe0" , "\xe5\x45\xf5" } , { "\xb3\xe0\xa2" , "\xe5\x45\xf5\x65" } , { "\xb3\xe1" , "\xe5\x45\xf5" } , { "\xb3\xe1\xa1" , "\xe5\x45\x67\xf5" } , { "\xb3\xe1\xa2" , "\xe5\x45\xf5\x65" } , { "\xb3\xe2" , "\xe9\x45\xf5" } , { "\xb3\xe2\xa2" , "\xe9\x45\xf5\x65" } , { "\xb3\xe2\xa3" , "\xe9\x45\xf5\x66" } , { "\xb3\xe3" , "\xe5\x45\xf5" } , { "\xb3\xe4" , "\xe5\x45\xf5\xe7" } , { "\xb3\xe4\xa2" , "\xe5\x45\xf5\xe7\x65" } , { "\xb3\xe4\xa2\xa2" , "\xe5\x45\xf5\xe7\x65\x65" } , { "\xb3\xe4\xa3" , "\xe5\x45\xf5\xe7\x66" } , { "\xb3\xe5" , "\xe5\x45\xf5\xe7" } , { "\xb3\xe5\xa1" , "\xe5\x45\x67\xf5\xe7" } , { "\xb3\xe5\xa2" , "\xe5\x45\xf5\xe7\x65" } , { "\xb3\xe6" , "\xe5\x45\xf5\xec" } , { "\xb3\xe6\xa2" , "\xe5\x45\xf5\xec\x65" } , { "\xb3\xe6\xbd\xe8" , "\xe5\x45\xf5\xec\x24\x4f\xcb\xf4" } , { "\xb3\xe7" , "\xe5\x45\xf5\xe7" } , { "\xb3\xe7\xa2" , "\xe5\x45\xf5\xe7\x65" } , { "\xb3\xe8" , "\x45\xcb\xf5" } , { "\xb3\xe8\xb3" , "\x68\xf5" } , { "\xb3\xe8\xb3\xa2" , "\x68\xf5\x65" } , { "\xb3\xe8\xb3\xda" , "\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xda\xa2" , "\x68\xf5\xe7\x65" } , { "\xb3\xe8\xb3\xdb" , "\xd7\x68\xf5" } , { "\xb3\xe8\xb3\xdb\xa2" , "\xd7\x68\xf5\x65" } , { "\xb3\xe8\xb3\xdc" , "\x68\xf5\xdd" } , { "\xb3\xe8\xb3\xdd" , "\x68\xc7\xf5" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x68\xc7\xf5\x65" } , { "\xb3\xe8\xb3\xde" , "\x68\xc9\xf5" } , { "\xb3\xe8\xb3\xdf" , "\x68\xca\xf5" } , { "\xb3\xe8\xb3\xe0" , "\xe5\x68\xf5" } , { "\xb3\xe8\xb3\xe0\xa2" , "\xe5\x68\xf5\x65" } , { "\xb3\xe8\xb3\xe1" , "\xe5\x68\xf5" } , { "\xb3\xe8\xb3\xe1\xa2" , "\xe5\x68\xf5\x65" } , { "\xb3\xe8\xb3\xe2" , "\xe9\x68\xf5" } , { "\xb3\xe8\xb3\xe4" , "\xe5\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xe4\xa2" , "\xe5\x68\xf5\xe7\x65" } , { "\xb3\xe8\xb3\xe5" , "\xe5\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xe5\xa2" , "\xe5\x68\xf5\xe7\x65" } , { "\xb3\xe8\xb3\xe6" , "\xe5\x68\xf5\xec" } , { "\xb3\xe8\xb3\xe6\xa2" , "\xe5\x68\xf5\xec\x65" } , { "\xb3\xe8\xb3\xe8" , "\x68\xcb\xf5" } , { "\xb3\xe8\xb3\xe8\xb3" , "\xa8\x68\xf5" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x45\xcb\xf5\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xb3\xe8\xc2" , "\xa8\x4e\xfe" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x45\xcb\xf5\xa8\xcc\x5e" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x45\xcb\xf5\xa8\xcc\x5e\xc7" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\xd7\x68\xd0\xf5" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\xe5\x68\xd0\xf5\xe7" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x68\xc0\xf5" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\xe5\xa8\x6c\xf9" } , { "\xb3\xe8\xb3\xe9" , "\x68\xf5" } , { "\xb3\xe8\xb3\xe9\xda" , "\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x68\xf5\xdd" } , { "\xb3\xe8\xb4" , "\xa8\x46" } , { "\xb3\xe8\xb4\xa2" , "\xa8\x46\x65" } , { "\xb3\xe8\xb4\xda" , "\xa8\x46\xe7" } , { "\xb3\xe8\xb4\xdb" , "\xd7\xa8\x46" } , { "\xb3\xe8\xb4\xdc" , "\xa8\x46\xdd" } , { "\xb3\xe8\xb4\xe1" , "\xe5\xa8\x46" } , { "\xb3\xe8\xb4\xe1\xa2" , "\xe5\xa8\x46\x65" } , { "\xb3\xe8\xb4\xe5" , "\xe5\xa8\x46\xe7" } , { "\xb3\xe8\xb4\xe5\xa2" , "\xe5\xa8\x46\xe7\x65" } , { "\xb3\xe8\xb4\xe6\xa2" , "\xe5\xa8\x46\xec\x65" } , { "\xb3\xe8\xb4\xe7" , "\xe5\xa8\x46\xe7" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x45\xcb\xf5\x46\xcb\xcc\x5e\xe7" } , { "\xb3\xe8\xb5" , "\xa8\x47" } , { "\xb3\xe8\xb5\xda" , "\xa8\x47\xe7" } , { "\xb3\xe8\xb5\xe5" , "\xe5\xa8\x47\xe7" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\xa8\x47\xd0\xe7" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\xe6\xa8\x47\xd0\xec\x65" } , { "\xb3\xe8\xb6" , "\xa8\x48" } , { "\xb3\xe8\xb7\xda" , "\xa8\x49\xf8\xe7" } , { "\xb3\xe8\xb7\xe1" , "\xe5\xa8\x49\xf8" } , { "\xb3\xe8\xb8" , "\xa8\x4a\xf4" } , { "\xb3\xe8\xb8\xda" , "\xa8\x4a\xf4\xe7" } , { "\xb3\xe8\xb8\xdc" , "\xa8\x4a\xf4\xdd" } , { "\xb3\xe8\xb8\xdd" , "\xa8\x4a\xc7\xf4" } , { "\xb3\xe8\xb8\xe0" , "\xe6\xa8\x4a\xf4" } , { "\xb3\xe8\xb8\xe1" , "\xe6\xa8\x4a\xf4" } , { "\xb3\xe8\xb8\xe1\xa2" , "\xe6\xa8\x4a\xf4\x65" } , { "\xb3\xe8\xb8\xe4\xa2" , "\xe6\xa8\x4a\xf4\xe7\x65" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x45\xcb\xf5\xac\x4a\xf4\xe7" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x45\xcb\xf5\xac\x4a\xf4\xdd" } , { "\xb3\xe8\xb9" , "\xa8\x4b\xf7" } , { "\xb3\xe8\xb9\xe1\xa2" , "\xe6\xa8\x4b\xf7\x65" } , { "\xb3\xe8\xba" , "\xa8\x4c" } , { "\xb3\xe8\xba\xda" , "\xa8\x4c\xe7" } , { "\xb3\xe8\xba\xda\xa2" , "\xa8\x4c\xe7\x65" } , { "\xb3\xe8\xba\xdb" , "\xd7\xa8\x4c" } , { "\xb3\xe8\xba\xdc" , "\xa8\x4c\xdd" } , { "\xb3\xe8\xba\xe1\xa2" , "\xe5\xa8\x4c\x65" } , { "\xb3\xe8\xba\xe2\xa2" , "\xe9\xa8\x4c\x65" } , { "\xb3\xe8\xba\xe5" , "\xe5\xa8\x4c\xe7" } , { "\xb3\xe8\xba\xe9\xdc" , "\xa8\x4c\xdd" } , { "\xb3\xe8\xbd" , "\x6b\xf4" } , { "\xb3\xe8\xbd\xda" , "\x6b\xf4\xe7" } , { "\xb3\xe8\xbd\xda\xa2" , "\x6b\xf4\xe7\x65" } , { "\xb3\xe8\xbd\xdb" , "\xd7\x6b\xf4" } , { "\xb3\xe8\xbd\xdb\xa2" , "\xd7\x6b\xf4\x65" } , { "\xb3\xe8\xbd\xdc" , "\x6b\xf4\xdd" } , { "\xb3\xe8\xbd\xdd" , "\x6b\xc7\xf4" } , { "\xb3\xe8\xbd\xde" , "\x6b\xc9\xf4" } , { "\xb3\xe8\xbd\xe0" , "\xe5\x6b\xf4" } , { "\xb3\xe8\xbd\xe0\xa2" , "\xe5\x6b\xf4\x65" } , { "\xb3\xe8\xbd\xe1" , "\xe5\x6b\xf4" } , { "\xb3\xe8\xbd\xe2" , "\xe9\x6b\xf4" } , { "\xb3\xe8\xbd\xe4" , "\xe5\x6b\xf4\xe7" } , { "\xb3\xe8\xbd\xe5" , "\xe5\x6b\xf4\xe7" } , { "\xb3\xe8\xbd\xe5\xa2" , "\xe5\x6b\xf4\xe7\x65" } , { "\xb3\xe8\xbd\xe8" , "\x6b\xcb\xf4" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x45\xcb\xf5\xae\x45\xc7\xf5" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x45\xcb\xf5\xae\x47\xe7" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\xae\xa8\x47\xc0\xe7" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x45\xcb\xf5\xe6\xae\x4a\xf4" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x45\xcb\xf5\xae\x50\xf6\xe7" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x45\xcb\xf5\xae\x50\xf6\xdd" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x45\xcb\xf5\xe6\xae\x50\xf6" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\xa8\xae\xf3\xc7\xf4" } , { "\xb3\xe8\xbd\xe8\xcc" , "\xa8\x4f\x5d" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x45\xcb\xf5\xae\xcc\x5e" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x45\xcb\xf5\xae\xcc\x5e\xc7" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x45\xcb\xf5\xae\xcc\x5e\xc9" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x45\xcb\xf5\xe5\xae\xcc\x5e\xe7" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x6b\x98\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x6b\x98\xf4\xe7\x65" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\xd7\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x6b\x98\xf4\xdd" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\xe6\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\xe6\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\xe8\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\xe6\x6b\x98\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\xe6\x6b\x98\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\xe6\x6b\x98\xf4\xec" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\xe6\x6b\x98\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x6b\x98\xcb\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\xd7\xa8\xae\xf2\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\xa8\xae\xf2\xf4\xdd" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\xa8\xae\xf2\xc7\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\xe6\xa8\xae\xf2\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\xe8\xa8\xae\xf2\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\xe6\xa8\xae\xf2\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x45\xcb\xf5\xae\xbe\xe7" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\x45\xcb\xf5\xd7\xae\xbe" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x45\xcb\xf5\xe9\xae\xbe" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x45\xcb\xf5\xae\x61" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x45\xcb\xf5\xd7\xae\x61\x65" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x45\xcb\xf5\xae\x61\xc7" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x45\xcb\xf5\xae\x61\xcb" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xd7\xae\xa8\x95\xf5" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\xae\xa8\xd8\x83\xf6\xe7" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\xe6\xae\xa8\xd8\xda\xf6\xe7" } , { "\xb3\xe8\xbe\xa2" , "\xa8\x50\xf6\x65" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x45\xcb\xf5\x50\xcb\xf6\x50\xf6\xe7" } , { "\xb3\xe8\xbf" , "\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xa2" , "\xa8\x51\xf6\x65" } , { "\xb3\xe8\xbf\xda" , "\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xbf\xdb" , "\xd7\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xdc" , "\xa8\x51\xf6\xdd" } , { "\xb3\xe8\xbf\xdd" , "\xa8\x51\xc7\xf6" } , { "\xb3\xe8\xbf\xde" , "\xa8\x51\xc9\xf6" } , { "\xb3\xe8\xbf\xe0" , "\xe5\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xe1" , "\xe5\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xe4" , "\xe5\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xbf\xe5" , "\xe5\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xbf\xe8" , "\xa8\x51\xcb\xf6" } , { "\xb3\xe8\xbf\xe8\xcf" , "\xa8\x51\xce\xf6" } , { "\xb3\xe8\xbf\xe9" , "\xa8\x51\xcd\xf6" } , { "\xb3\xe8\xbf\xe9\xda" , "\xa8\x51\xcd\xf6\xe7" } , { "\xb3\xe8\xc1" , "\xa8\x53" } , { "\xb3\xe8\xc1\xdb" , "\xd7\xa8\x53" } , { "\xb3\xe8\xc1\xdb\xa2" , "\xd7\xa8\x53\x65" } , { "\xb3\xe8\xc1\xdc" , "\xa8\x53\xdd" } , { "\xb3\xe8\xc2" , "\x4e\xfe" } , { "\xb3\xe8\xc2\xa2" , "\x4e\xfe\x65" } , { "\xb3\xe8\xc2\xa3" , "\x4e\xfe\x66" } , { "\xb3\xe8\xc2\xda" , "\x4e\xfe\xe7" } , { "\xb3\xe8\xc2\xda\xa2" , "\x4e\xfe\xe7\x65" } , { "\xb3\xe8\xc2\xda\xa3" , "\x4e\xfe\xe7\x66" } , { "\xb3\xe8\xc2\xdb" , "\xd7\x4e\xfe" } , { "\xb3\xe8\xc2\xdb\xa2" , "\xd7\x4e\xfe\x65" } , { "\xb3\xe8\xc2\xdb\xa3" , "\xd7\x4e\xfe\x66" } , { "\xb3\xe8\xc2\xdc" , "\x4e\xfe\xdd" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x4e\xfe\xdd\x66" } , { "\xb3\xe8\xc2\xdd" , "\x4e\xc7\xfe" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x4e\xc7\xfe\x65" } , { "\xb3\xe8\xc2\xde" , "\x4e\xc9\xfe" } , { "\xb3\xe8\xc2\xdf" , "\x4e\xca\xfe" } , { "\xb3\xe8\xc2\xe0" , "\xe5\x4e\xfe" } , { "\xb3\xe8\xc2\xe1" , "\xe5\x4e\xfe" } , { "\xb3\xe8\xc2\xe2" , "\xe9\x4e\xfe" } , { "\xb3\xe8\xc2\xe5" , "\xe5\x4e\xfe\xe7" } , { "\xb3\xe8\xc2\xe5\xa2" , "\xe5\x4e\xfe\xe7\x65" } , { "\xb3\xe8\xc2\xe6" , "\xe5\x4e\xfe\xec" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x45\xcb\xf5\xe5\xb1\x45\xf5" } , { "\xb3\xe8\xc2\xe8\xc2" , "\xa8\x77\xf8" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\xa8\x77\xf8\xe7" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\xd7\xa8\x77\xf8" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x45\xcb\xf5\xb1\xcc\x5e" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x45\xcb\xf5\xb1\xcc\x5e\x65" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x45\xcb\xf5\xb1\xcc\x5e\xe7" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x45\xcb\xf5\xb1\xcc\x5e\xc7" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x45\xcb\xf5\xe9\xb1\xcc\x5e" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x45\xcb\xf5\xe5\xb1\xcc\x5e\xe7\x65" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x77\xce\xf8\xd4\x65" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x77\xce\xf8\xd4\x66" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\xd7\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\xe5\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\xe9\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x45\xcb\xf5\xb1\xbe" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x45\xcb\xf5\xb1\xbe\x65" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x45\xcb\xf5\xb1\xbe\xe7" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\x45\xcb\xf5\xd7\xb1\xbe" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x45\xcb\xf5\xb1\x61" } , { "\xb3\xe8\xc3" , "\xa8\x55" } , { "\xb3\xe8\xc3\xa2" , "\xa8\x55\x65" } , { "\xb3\xe8\xc3\xdb" , "\xd7\xa8\x55" } , { "\xb3\xe8\xc3\xdd" , "\xa8\x55\xc7" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x45\xcb\xf5\x55\xcb\xcc\x5e" } , { "\xb3\xe8\xc4" , "\xa8\x56" } , { "\xb3\xe8\xc4\xda" , "\xa8\x56\xe7" } , { "\xb3\xe8\xc4\xdb" , "\xd7\xa8\x56" } , { "\xb3\xe8\xc4\xdd" , "\xa8\x56\xc7" } , { "\xb3\xe8\xc4\xdd\xa2" , "\xa8\x56\xc7\x65" } , { "\xb3\xe8\xc4\xe4" , "\xe5\xa8\x56\xe7" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\xa8\x56\xd0\xdd" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x45\xcb\xf5\xb2\xbe\xe7" } , { "\xb3\xe8\xc5" , "\xa8\x57\xfd" } , { "\xb3\xe8\xc5\xda" , "\xa8\x57\xfd\xe7" } , { "\xb3\xe8\xc6" , "\x45\xc2\xf5" } , { "\xb3\xe8\xc6\xda" , "\x45\xc2\xf5\xe7" } , { "\xb3\xe8\xc6\xda\xa2" , "\x45\xc2\xf5\xe7\x65" } , { "\xb3\xe8\xc6\xdb" , "\xd7\x45\xc2\xf5" } , { "\xb3\xe8\xc6\xdc" , "\x45\xc2\xf5\xdd" } , { "\xb3\xe8\xc6\xdd" , "\x45\xc2\xc7\xf5" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x45\xc2\xc7\xf5\x65" } , { "\xb3\xe8\xc6\xde" , "\x45\xc2\xc9\xf5" } , { "\xb3\xe8\xc6\xe0" , "\xe6\x45\xc2\xf5" } , { "\xb3\xe8\xc6\xe4" , "\xe6\x45\xc2\xf5\xe7" } , { "\xb3\xe8\xc6\xe5" , "\xe6\x45\xc2\xf5\xe7" } , { "\xb3\xe8\xc6\xe7" , "\xe6\x45\xc2\xf5\xe7" } , { "\xb3\xe8\xc6\xe8" , "\x45\xc2\xcb\xf5" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x45\xcb\xf5\xb3\xcc\x5e" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x45\xcb\xf5\xb3\xcc\x5e\xe7" } , { "\xb3\xe8\xc8" , "\xa8\x59" } , { "\xb3\xe8\xc8\xa2" , "\xa8\x59\x65" } , { "\xb3\xe8\xc8\xda" , "\xa8\x59\xe7" } , { "\xb3\xe8\xc8\xdb" , "\xd7\xa8\x59" } , { "\xb3\xe8\xc8\xdc" , "\xa8\x59\xdd" } , { "\xb3\xe8\xc8\xdd" , "\xa8\x59\xc7" } , { "\xb3\xe8\xc8\xde" , "\xa8\x59\xc9" } , { "\xb3\xe8\xc8\xdf" , "\xa8\x59\xca" } , { "\xb3\xe8\xc8\xe1" , "\xe5\xa8\x59" } , { "\xb3\xe8\xc8\xe2" , "\xe9\xa8\x59" } , { "\xb3\xe8\xc8\xe4" , "\xe5\xa8\x59\xe7" } , { "\xb3\xe8\xc8\xe8\xcf" , "\xa8\x59\xd2" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\xa8\x59\xd2\xe7" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\xe6\xa8\x59\xd2\xec" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x45\xcb\xf5\xd7\xb4\x61" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x45\xcb\xf5\xe5\xb4\x61" } , { "\xb3\xe8\xc9" , "\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xda" , "\xa8\x5a\xf5\xe7" } , { "\xb3\xe8\xc9\xdb" , "\xd7\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xdd" , "\xa8\x5a\xc7\xf5" } , { "\xb3\xe8\xc9\xe0" , "\xe5\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xe1" , "\xe5\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xe9\xe1" , "\xe5\xa8\x5a\xf5" } , { "\xb3\xe8\xca" , "\x69\xf5" } , { "\xb3\xe8\xca\xa2" , "\x69\xf5\x65" } , { "\xb3\xe8\xca\xda" , "\x69\xf5\xe7" } , { "\xb3\xe8\xca\xdc" , "\x69\xf5\xdd" } , { "\xb3\xe8\xca\xde" , "\x69\xc9\xf5" } , { "\xb3\xe8\xca\xe1" , "\xe5\x69\xf5" } , { "\xb3\xe8\xca\xe5" , "\xe5\x69\xf5\xe7" } , { "\xb3\xe8\xca\xe5\xa2" , "\xe5\x69\xf5\xe7\x65" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x69\xc0\xf5\xe7" } , { "\xb3\xe8\xcb" , "\xa8\x5c\xf6" } , { "\xb3\xe8\xcb\xda" , "\xa8\x5c\xf6\xe7" } , { "\xb3\xe8\xcb\xdb" , "\xd7\xa8\x5c\xf6" } , { "\xb3\xe8\xcc" , "\xa8\xbf" } , { "\xb3\xe8\xcc\xa2" , "\xa8\xbf\x65" } , { "\xb3\xe8\xcc\xda" , "\xa8\xbf\xe7" } , { "\xb3\xe8\xcc\xda\xa2" , "\xa8\xbf\xe7\x65" } , { "\xb3\xe8\xcc\xdb" , "\xd7\xa8\xbf" } , { "\xb3\xe8\xcc\xdc" , "\xa8\xbf\xdd" } , { "\xb3\xe8\xcc\xdd" , "\xa8\xbf\xc7" } , { "\xb3\xe8\xcc\xdd\xa2" , "\xa8\xbf\xc7\x65" } , { "\xb3\xe8\xcc\xe0" , "\xe5\xa8\xbf" } , { "\xb3\xe8\xcc\xe1" , "\xe5\xa8\xbf" } , { "\xb3\xe8\xcc\xe1\xa2" , "\xe5\xa8\xbf\x65" } , { "\xb3\xe8\xcc\xe2" , "\xe9\xa8\xbf" } , { "\xb3\xe8\xcc\xe5" , "\xe5\xa8\xbf\xe7" } , { "\xb3\xe8\xcd" , "\xa8\xcc\x5e" } , { "\xb3\xe8\xcd\xa2" , "\xa8\xcc\x5e\x65" } , { "\xb3\xe8\xcd\xda" , "\xa8\xcc\x5e\xe7" } , { "\xb3\xe8\xcd\xda\xa1" , "\xa8\xcc\x5e\x67\xe7" } , { "\xb3\xe8\xcd\xda\xa2" , "\xa8\xcc\x5e\xe7\x65" } , { "\xb3\xe8\xcd\xdb" , "\xd7\xa8\xcc\x5e" } , { "\xb3\xe8\xcd\xdd" , "\xa8\xcc\x5e\xc7" } , { "\xb3\xe8\xcd\xde" , "\xa8\xcc\x5e\xc9" } , { "\xb3\xe8\xcd\xde\xa1" , "\xa8\xcc\x5e\x67\xc9" } , { "\xb3\xe8\xcd\xde\xa2" , "\xa8\xcc\x5e\xc9\x65" } , { "\xb3\xe8\xcd\xe1" , "\xe5\xa8\xcc\x5e" } , { "\xb3\xe8\xcd\xe2" , "\xe9\xa8\xcc\x5e" } , { "\xb3\xe8\xcd\xe5" , "\xe5\xa8\xcc\x5e\xe7" } , { "\xb3\xe8\xcd\xe5\xa2" , "\xe5\xa8\xcc\x5e\xe7\x65" } , { "\xb3\xe8\xcd\xe8" , "\xa8\xcc\x5e\xcb" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x45\xcb\xf5\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xb3\xe8\xcf" , "\x79\xd4" } , { "\xb3\xe8\xcf\xa2" , "\x79\xd4\x65" } , { "\xb3\xe8\xcf\xda" , "\x79\xd4\xe7" } , { "\xb3\xe8\xcf\xda\xa1" , "\x79\x67\xd4\xe7" } , { "\xb3\xe8\xcf\xda\xa2" , "\x79\xd4\xe7\x65" } , { "\xb3\xe8\xcf\xdb" , "\xd7\x79\xd4" } , { "\xb3\xe8\xcf\xdb\xa2" , "\xd7\x79\xd4\x65" } , { "\xb3\xe8\xcf\xdc" , "\x79\xd4\xdd" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x79\xd4\xdd\x65" } , { "\xb3\xe8\xcf\xdd" , "\x79\xc7\xd4" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x79\xc7\xd4\x65" } , { "\xb3\xe8\xcf\xde" , "\x79\xc9\xd4" } , { "\xb3\xe8\xcf\xdf" , "\x79\xca\xd4" } , { "\xb3\xe8\xcf\xe0" , "\xe5\x79\xd4" } , { "\xb3\xe8\xcf\xe1" , "\xe5\x79\xd4" } , { "\xb3\xe8\xcf\xe1\xa2" , "\xe5\x79\xd4\x65" } , { "\xb3\xe8\xcf\xe2" , "\xe9\x79\xd4" } , { "\xb3\xe8\xcf\xe2\xa2" , "\xe9\x79\xd4\x65" } , { "\xb3\xe8\xcf\xe4" , "\xe5\x79\xd4\xe7" } , { "\xb3\xe8\xcf\xe4\xa2" , "\xe5\x79\xd4\xe7\x65" } , { "\xb3\xe8\xcf\xe5" , "\xe5\x79\xd4\xe7" } , { "\xb3\xe8\xcf\xe5\xa2" , "\xe5\x79\xd4\xe7\x65" } , { "\xb3\xe8\xcf\xe6" , "\xe5\x79\xd4\xec" } , { "\xb3\xe8\xcf\xe6\xa2" , "\xe5\x79\xd4\xec\x65" } , { "\xb3\xe8\xcf\xe7" , "\xe5\x79\xd4\xe7" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x45\xcb\xf5\xbb\xcb\x24\x4f\xf4\xe7" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x45\xcb\xf5\xbb\xcb\x55\x65" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x45\xcb\xf5\xbb\xcb\xcc\x5e" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x45\xcb\xf5\xbb\xcb\xe5\x62" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x45\xcb\xf5\xbb\xcb\x61" } , { "\xb3\xe8\xd0\xdc" , "\xa8\xbb\xdd" } , { "\xb3\xe8\xd0\xdd" , "\xa8\xbb\xc7" } , { "\xb3\xe8\xd0\xe4" , "\xe5\xa8\xbb\xe7" } , { "\xb3\xe8\xd1" , "\x7a\xf5" } , { "\xb3\xe8\xd1\xa2" , "\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xda" , "\x7a\xf5\xe7" } , { "\xb3\xe8\xd1\xda\xa1" , "\x7a\x67\xf5\xe7" } , { "\xb3\xe8\xd1\xda\xa2" , "\x7a\xf5\xe7\x65" } , { "\xb3\xe8\xd1\xdb" , "\xd7\x7a\xf5" } , { "\xb3\xe8\xd1\xdb\xa2" , "\xd7\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xdc" , "\x7a\xf5\xdd" } , { "\xb3\xe8\xd1\xdd" , "\x7a\xc7\xf5" } , { "\xb3\xe8\xd1\xde" , "\x7a\xc9\xf5" } , { "\xb3\xe8\xd1\xe0" , "\xe6\x7a\xf5" } , { "\xb3\xe8\xd1\xe0\xa2" , "\xe6\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xe1" , "\xe6\x7a\xf5" } , { "\xb3\xe8\xd1\xe1\xa2" , "\xe6\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xe2" , "\xe8\x7a\xf5" } , { "\xb3\xe8\xd1\xe2\xa2" , "\xe8\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xe4" , "\xe6\x7a\xf5\xe7" } , { "\xb3\xe8\xd1\xe5" , "\xe6\x7a\xf5\xe7" } , { "\xb3\xe8\xd1\xe5\xa2" , "\xe6\x7a\xf5\xe7\x65" } , { "\xb3\xe8\xd1\xe6" , "\xe6\x7a\xf5\xec" } , { "\xb3\xe8\xd1\xe7" , "\xe6\x7a\xf5\xe7" } , { "\xb3\xe8\xd1\xe8" , "\x7a\xcb\xf5" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x45\xcb\xf5\xb7\x4a\xf4" } , { "\xb3\xe8\xd1\xe8\xc8" , "\xa8\x94" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x45\xcb\xf5\xb7\xcc\x5e" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x45\xcb\xf5\xb7\xcc\x5e\xe7" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x45\xcb\xf5\xb7\x61\xdd" } , { "\xb3\xe8\xd2" , "\xa8\x5f" } , { "\xb3\xe8\xd4" , "\xa8\xbe" } , { "\xb3\xe8\xd4\xa2" , "\xa8\xbe\x65" } , { "\xb3\xe8\xd4\xda" , "\xa8\xbe\xe7" } , { "\xb3\xe8\xd4\xda\xa1" , "\xa8\xbe\x67\xe7" } , { "\xb3\xe8\xd4\xda\xa2" , "\xa8\xbe\xe7\x65" } , { "\xb3\xe8\xd4\xdb" , "\xd7\xa8\xbe" } , { "\xb3\xe8\xd4\xdb\xa2" , "\xd7\xa8\xbe\x65" } , { "\xb3\xe8\xd4\xdc" , "\xa8\xbe\xdd" } , { "\xb3\xe8\xd4\xdc\xa2" , "\xa8\xbe\xdd\x65" } , { "\xb3\xe8\xd4\xdf" , "\xa8\xbe\xca" } , { "\xb3\xe8\xd4\xe0" , "\xe5\xa8\xbe" } , { "\xb3\xe8\xd4\xe0\xa2" , "\xe5\xa8\xbe\x65" } , { "\xb3\xe8\xd4\xe1" , "\xe5\xa8\xbe" } , { "\xb3\xe8\xd4\xe1\xa2" , "\xe5\xa8\xbe\x65" } , { "\xb3\xe8\xd4\xe2" , "\xe9\xa8\xbe" } , { "\xb3\xe8\xd4\xe4" , "\xe5\xa8\xbe\xe7" } , { "\xb3\xe8\xd4\xe5" , "\xe5\xa8\xbe\xe7" } , { "\xb3\xe8\xd4\xe6" , "\xe5\xa8\xbe\xec" } , { "\xb3\xe8\xd4\xe8" , "\xa8\xbe\xcb" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x45\xcb\xf5\xbe\xcb\x61\xe7" } , { "\xb3\xe8\xd5" , "\xa8\x60" } , { "\xb3\xe8\xd5\xa2" , "\xa8\x60\x65" } , { "\xb3\xe8\xd5\xda" , "\xa8\x60\xe7" } , { "\xb3\xe8\xd5\xdb" , "\xd7\xa8\x60" } , { "\xb3\xe8\xd5\xdb\xa2" , "\xd7\xa8\x60\x65" } , { "\xb3\xe8\xd5\xdc" , "\xa8\x60\xdd" } , { "\xb3\xe8\xd5\xdd" , "\xa8\x60\xc7" } , { "\xb3\xe8\xd5\xde" , "\xa8\x60\xc9" } , { "\xb3\xe8\xd5\xe1" , "\xe5\xa8\x60" } , { "\xb3\xe8\xd5\xe1\xa2" , "\xe5\xa8\x60\x65" } , { "\xb3\xe8\xd5\xe5\xa2" , "\xe5\xa8\x60\xe7\x65" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x45\xcb\xf5\xb8\x4a\xf4" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x45\xcb\xf5\xb8\xcc\x5e" } , { "\xb3\xe8\xd6" , "\x6c\xf9" } , { "\xb3\xe8\xd6\xa2" , "\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xa3" , "\x6c\xf9\x66" } , { "\xb3\xe8\xd6\xda" , "\x6c\xf9\xe7" } , { "\xb3\xe8\xd6\xda\xa2" , "\x6c\xf9\xe7\x65" } , { "\xb3\xe8\xd6\xdb" , "\xd7\x6c\xf9" } , { "\xb3\xe8\xd6\xdb\xa2" , "\xd7\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\xd7\x6c\xf9\x65\x65" } , { "\xb3\xe8\xd6\xdc" , "\x6c\xf9\xdd" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x6c\xf9\xdd\x65" } , { "\xb3\xe8\xd6\xdd" , "\x6c\xc7\xf9" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x6c\xc7\xf9\x66" } , { "\xb3\xe8\xd6\xde" , "\x6c\xc9\xf9" } , { "\xb3\xe8\xd6\xdf" , "\x6c\xca\xf9" } , { "\xb3\xe8\xd6\xe0" , "\xe5\x6c\xf9" } , { "\xb3\xe8\xd6\xe0\xa2" , "\xe5\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xe1" , "\xe5\x6c\xf9" } , { "\xb3\xe8\xd6\xe1\xa2" , "\xe5\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xe2" , "\xe9\x6c\xf9" } , { "\xb3\xe8\xd6\xe5" , "\xe5\x6c\xf9\xe7" } , { "\xb3\xe8\xd6\xe5\xa2" , "\xe5\x6c\xf9\xe7\x65" } , { "\xb3\xe8\xd6\xe6" , "\xe5\x6c\xf9\xec" } , { "\xb3\xe8\xd6\xe8" , "\x6c\xcb\xf9" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\xa8\x9b\xc7\xf5" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\xb9\xa8\x6c\xf9" } , { "\xb3\xe8\xd6\xe8\xbd" , "\xa8\x72\xf4" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\xa8\x72\xd1\xf4\xe7" } , { "\xb3\xe8\xd6\xe8\xc1" , "\xa9\xc2\xf9" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\xa9\xc2\xf9\x65" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\xa9\xc2\xf9\xe7" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\xe9\xa9\xc2\xf9" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\xe5\xa9\xc2\xf9\xe7" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x45\xcb\xf5\xb9\x54\xf6" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\xb9\xa8\x79" } , { "\xb3\xe8\xd6\xe8\xc6" , "\xa8\x62\xc2" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\xa8\x62\xc2\xcb" } , { "\xb3\xe8\xd6\xe8\xcc" , "\xa9\xbf" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\xa9\xbf\x65" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\xa9\xbf\xe7" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\xa9\xbf\xe7\x65" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\xd7\xa9\xbf" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\xd7\xa9\xbf\x65" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\xa9\xbf\xdd" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\xa9\xbf\xc7" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\xe5\xa9\xbf" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x45\xcb\xf5\xb9\xcc\x5e" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x45\xcb\xf5\xb9\xcc\x5e\x65" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x45\xcb\xf5\xb9\xcc\x5e\xe7" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x45\xcb\xf5\xb9\xcc\x5e\xe7\x65" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x45\xcb\xf5\xb9\xcc\x5e\xdd" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x45\xcb\xf5\xb9\xcc\x5e\xc7" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x45\xcb\xf5\xb9\xcc\x5e\xc9" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x45\xcb\xf5\xe5\xb9\xcc\x5e" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x45\xcb\xf5\xe5\xb9\xcc\x5e\xe7" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x45\xcb\xf5\xe5\xb9\xcc\x5e\xe7\x65" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x6c\x98\xf9" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x6c\x98\xf9\x65" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x6c\x98\xf9\xe7" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x6c\xc0\xf9" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x6c\xc0\xc6\xf9" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x45\xcb\xf5\xb9\xbe\xe7" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x45\xcb\xf5\xe5\xb9\xbe" } , { "\xb3\xe8\xd7" , "\x6a" } , { "\xb3\xe8\xd7\xa2" , "\x6a\x65" } , { "\xb3\xe8\xd7\xda" , "\x6a\xe7" } , { "\xb3\xe8\xd7\xda\xa2" , "\x6a\xe7\x65" } , { "\xb3\xe8\xd7\xdb" , "\xd7\x6a" } , { "\xb3\xe8\xd7\xdb\xa2" , "\xd7\x6a\x65" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\xd7\x6a\x65\x65" } , { "\xb3\xe8\xd7\xdc" , "\x6a\xdd" } , { "\xb3\xe8\xd7\xdd" , "\x6a\xc7" } , { "\xb3\xe8\xd7\xde" , "\x6a\xc9" } , { "\xb3\xe8\xd7\xe0" , "\xe5\x6a" } , { "\xb3\xe8\xd7\xe0\xa2" , "\xe5\x6a\x65" } , { "\xb3\xe8\xd7\xe1" , "\xe5\x6a" } , { "\xb3\xe8\xd7\xe1\xa2" , "\xe5\x6a\x65" } , { "\xb3\xe8\xd7\xe2" , "\xe9\x6a" } , { "\xb3\xe8\xd7\xe4" , "\xe5\x6a\xe7" } , { "\xb3\xe8\xd7\xe5" , "\xe5\x6a\xe7" } , { "\xb3\xe8\xd7\xe5\xa2" , "\xe5\x6a\xe7\x65" } , { "\xb3\xe8\xd7\xe6" , "\xe5\x6a\xec" } , { "\xb3\xe8\xd7\xe8" , "\x6a\xcb" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\xd7\xa8\x95\xf5" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\xa8\x95\xc7\xf5" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\xa8\x95\xc9\xf5" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\xa8\x61\xcb\xa8\xcc\x5e\xc9" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\xa8\x95\x98\xf5\xdd" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\xa8\x95\xc0\xc8\xf5" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x45\xcb\xf5\xba\x47" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x45\xcb\xf5\xba\x47\xe7" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\xe6\xba\xa8\x47\xd0" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x45\xcb\xf5\xba\x4a\xf4" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x45\xcb\xf5\xd7\xba\x4a\xf4" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x45\xcb\xf5\xe6\xba\x4a\xf4" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x45\xcb\xf5\xe6\xba\x4a\xf4\x65" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x45\xcb\xf5\xe6\xba\x4b\xf7\x65" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\xba\xa8\x4c\xcb\x5f" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x45\xcb\xf5\xba\x4f\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x45\xcb\xf5\xba\x4f\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x45\xcb\xf5\xba\x4f\xf4\xdd" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x45\xcb\xf5\xe6\xba\x4f\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x45\xcb\xf5\xe6\xba\x4f\xf4\x65" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x45\xcb\xf5\xe6\xba\x4f\xf4\x65" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x45\xcb\xf5\xe8\xba\x4f\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x45\xcb\xf5\xe6\xba\x4f\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x45\xcb\xf5\xba\x4f\xcb\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xa8\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd7\xba\xa8\xae\xcf\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\xba\xa8\xae\xcf\xf4\xdd" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\xba\xa8\xae\xcf\xc9\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xe6\xba\xa8\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x45\xcb\xf5\xba\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\xa8\x61\xcb\xaf\x47\xe7" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\xa8\xd8\x99\xc9\xf6" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\xa8\xd8\x99\xcb\xf6" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\xa8\xd8\x9a\xf6\xe7" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\xd7\xa8\xd8\x9a\xf6" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x45\xcb\xf5\xba\x56\xe7" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\xa8\xd8\x6f\xf6\x65" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\xd7\xa8\xd8\x6f\xf6" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\xa8\xd8\x6f\xf6\xc7" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\xa8\xd8\x6f\xf6\xc7\x65" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\xe5\xa8\xd8\x6f\xf6" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\xa8\xd8\x6f\xf6\xcb" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\xe6\xba\xa8\xdc\xda\xf6\xe7" } , { "\xb3\xe8\xd7\xe8\xc8" , "\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\xa8\x26\x65" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\xa8\x26\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\xd7\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\xa8\x26\xdd" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\xe5\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\xe5\xa8\x26\x65" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\xe9\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\xe5\xa8\x26\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\xe5\xa8\x26\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\xe5\xa8\x26\xec" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\xe5\xa8\x26\xd2" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\xe5\xa8\x26\xd2" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\xa8\x26\xc0" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xa8\x26\xc0\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\xa8\x26\xc0\xe7\x65" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\xe5\xa8\x26\xc0" } , { "\xb3\xe8\xd7\xe8\xc9" , "\xa8\xd8\xf6\x8f\xf5" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\xd7\xa8\xd8\xf6\x8f\xf5" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\xe6\xba\xa8\x6e\xf5\xe7" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x6a\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\xd7\x6a\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x6a\xbd\xc6" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\xa8\x61\xcb\x5d\xcb\xcc\x5e\xe7" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x45\xcb\xf5\xba\xcc\x5e\xc9" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x6a\x98\xc6" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\xe5\x6a\x98" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\xe5\x6a\x98" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x6a\x98\xcb" } , { "\xb3\xe8\xd7\xe8\xd1" , "\xa8\xd8\xda\xf6" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\xa8\xd8\xda\xf6\xdd" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\xa8\xd8\xda\xf6\xc7" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\xe6\xa8\xd8\xda\xf6\x65" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\xe6\xa8\xd8\xda\xf6" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\xe8\xa8\xd8\xda\xf6" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\xe6\xa8\xd8\xda\xf6\xe7" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x45\xcb\xf5\xba\xbe" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x45\xcb\xf5\xba\xbe\x65" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x45\xcb\xf5\xba\xbe\xe7" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x45\xcb\xf5\xe5\xba\xbe" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x45\xcb\xf5\xba\x61\xcb" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x45\xcb\xf5\xba\xba\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x45\xcb\xf5\xe9\xba\x63\xf7" } , { "\xb3\xe8\xd8" , "\xa8\x63\xf7" } , { "\xb3\xe8\xd8\xda" , "\xa8\x63\xf7\xe7" } , { "\xb3\xe8\xd8\xda\xa2" , "\xa8\x63\xf7\xe7\x65" } , { "\xb3\xe8\xd8\xe0" , "\xe5\xa8\x63\xf7" } , { "\xb3\xe8\xd8\xe8" , "\xa8\x63\xcb\xf7" } , { "\xb3\xe8\xd9\xa6" , "\xa8\x2b" } , { "\xb3\xe8\xd9\xb3" , "\xa8\x45\xf5" } , { "\xb3\xe8\xd9\xb3\xdc" , "\xa8\x45\xf5\xdd" } , { "\xb3\xe8\xd9\xb4\xe6" , "\xa8\xe3\x46\xec" } , { "\xb3\xe8\xd9\xbd" , "\xa8\x24\x4f\xf4" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\xa8\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd9\xc2" , "\xa8\x54\xf6" } , { "\xb3\xe8\xd9\xc2\xda" , "\xa8\x54\xf6\xe7" } , { "\xb3\xe8\xd9\xc2\xdb" , "\xa8\xd7\x54\xf6" } , { "\xb3\xe8\xd9\xc2\xde" , "\xa8\x54\xc9\xf6" } , { "\xb3\xe8\xd9\xc2\xdf" , "\xa8\x54\xca\xf6" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\xa8\xe3\x54\xf6\xe7\x65" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\xa8\xb1\xbe" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\xa8\xd7\x24\x4f\xf4\xdb" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\xa8\xcc\x5e\xef" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\xa8\x61\xef" } , { "\xb3\xe8\xd9\xd4" , "\xa8\xbe" } , { "\xb3\xe8\xd9\xd7" , "\xa8\x61" } , { "\xb3\xe8\xd9\xd7\xda" , "\xa8\x61\xe7" } , { "\xb3\xe8\xd9\xd7\xdc" , "\xa8\x61\xdd" } , { "\xb3\xe8\xe8" , "\x45\xcb\xf5" } , { "\xb3\xe8\xe9\xc2" , "\x4e\xfe" } , { "\xb3\xe8\xe9\xcf" , "\x79\xd4" } , { "\xb3\xe8\xe9\xd6" , "\x6c\xf9" } , { "\xb3\xe9" , "\x45\xf5" } , { "\xb3\xe9\xda" , "\x45\xf5\xe7" } , { "\xb3\xe9\xdb" , "\xd7\x45\xf5" } , { "\xb3\xe9\xdb\xa2" , "\xd7\x45\xf5\x65" } , { "\xb3\xe9\xdc" , "\x45\xf5\xdd" } , { "\xb3\xe9\xdd" , "\x45\xc7\xf5" } , { "\xb3\xe9\xde" , "\x45\xc9\xf5" } , { "\xb3\xe9\xe1" , "\xe5\x45\xf5" } , { "\xb3\xe9\xe2" , "\xe9\x45\xf5" } , { "\xb3\xe9\xe5\xa2" , "\xe5\x45\xf5\xe7\x65" } , { "\xb3\xe9\xe6" , "\xe5\x45\xf5\xec" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x68\xf5" } , { "\xb3\xe9\xe8\xc2" , "\x4e\xfe" } , { "\xb3\xe9\xe8\xcc" , "\xa8\xbf" } , { "\xb3\xe9\xe8\xd1" , "\x7a\xf5" } , { "\xb3\xe9\xe8\xd1\xdb" , "\xd7\x7a\xf5" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x6a\xdd" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\xa8\xe3\x54\xf6" } , { "\xb4" , "\x46" } , { "\xb4\xa1" , "\x46\x67" } , { "\xb4\xa2" , "\x46\x65" } , { "\xb4\xa3" , "\x46\x66" } , { "\xb4\xd0" , "\x46\xbb" } , { "\xb4\xd0\xb8" , "\x46\xbb\x24\x4a\xf4" } , { "\xb4\xd0\xdc" , "\x46\xbb\xdd" } , { "\xb4\xda" , "\x46\xe7" } , { "\xb4\xda\xa1" , "\x46\x67\xe7" } , { "\xb4\xda\xa2" , "\x46\xe7\x65" } , { "\xb4\xda\xa3" , "\x46\xe7\x66" } , { "\xb4\xdb" , "\xd7\x46" } , { "\xb4\xdb\xa2" , "\xd7\x46\x65" } , { "\xb4\xdc" , "\x46\xdd" } , { "\xb4\xdc\xa2" , "\x46\xdd\x65" } , { "\xb4\xdd" , "\x46\xc7" } , { "\xb4\xdd\xa1" , "\x46\x67\xc7" } , { "\xb4\xdd\xa2" , "\x46\xc7\x65" } , { "\xb4\xde" , "\x46\xc9" } , { "\xb4\xde\xa1" , "\x46\x67\xc9" } , { "\xb4\xde\xa2" , "\x46\xc9\x65" } , { "\xb4\xdf" , "\x46\xca" } , { "\xb4\xe0" , "\xe5\x46" } , { "\xb4\xe1" , "\xe5\x46" } , { "\xb4\xe1\xa1" , "\xe5\x46\x67" } , { "\xb4\xe1\xa2" , "\xe5\x46\x65" } , { "\xb4\xe2" , "\xe9\x46" } , { "\xb4\xe2\xa2" , "\xe9\x46\x65" } , { "\xb4\xe4" , "\xe5\x46\xe7" } , { "\xb4\xe5" , "\xe5\x46\xe7" } , { "\xb4\xe5\xa2" , "\xe5\x46\xe7\x65" } , { "\xb4\xe6" , "\xe5\x46\xec" } , { "\xb4\xe8" , "\x46\xcb" } , { "\xb4\xe8\xb3" , "\x46\xcb\x45\xf5" } , { "\xb4\xe8\xb3\xda" , "\x46\xcb\x45\xf5\xe7" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x46\xcb\x6c\xf9" } , { "\xb4\xe8\xb4" , "\x46\xcb\x46" } , { "\xb4\xe8\xb4\xa2" , "\x46\xcb\x46\x65" } , { "\xb4\xe8\xb4\xa3" , "\x46\xcb\x46\x66" } , { "\xb4\xe8\xb4\xda" , "\x46\xcb\x46\xe7" } , { "\xb4\xe8\xb4\xdb\xa2" , "\x46\xcb\xd7\x46\x65" } , { "\xb4\xe8\xb4\xdc" , "\x46\xcb\x46\xdd" } , { "\xb4\xe8\xb5\xda" , "\x46\xcb\x47\xe7" } , { "\xb4\xe8\xb8\xda" , "\x46\xcb\x24\x4a\xf4\xe7" } , { "\xb4\xe8\xbd" , "\x46\xcb\x24\x4f\xf4" } , { "\xb4\xe8\xc2" , "\x46\xcb\x54\xf6" } , { "\xb4\xe8\xc2\xda" , "\x46\xcb\x54\xf6\xe7" } , { "\xb4\xe8\xc2\xdb" , "\x46\xcb\xd7\x54\xf6" } , { "\xb4\xe8\xc2\xdc" , "\x46\xcb\x54\xf6\xdd" } , { "\xb4\xe8\xc2\xdd" , "\x46\xcb\x54\xc7\xf6" } , { "\xb4\xe8\xc2\xe1" , "\x46\xcb\xe5\x54\xf6" } , { "\xb4\xe8\xc2\xe5" , "\x46\xcb\xe5\x54\xf6\xe7" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x46\xcb\xe5\x54\xf6\xe7\x65" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x46\xcb\xb1\x46\xe7" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x46\xcb\x56\xc7\x65" } , { "\xb4\xe8\xc6\xdc" , "\x46\xc2\xdd" } , { "\xb4\xe8\xc6\xdd" , "\x46\xc2\xc7" } , { "\xb4\xe8\xc6\xe2" , "\xe8\x46\xc2" } , { "\xb4\xe8\xc6\xe5" , "\xe6\x46\xc2\xe7" } , { "\xb4\xe8\xc8\xde" , "\x46\xcb\x59\xc9" } , { "\xb4\xe8\xcc" , "\x46\xbd" } , { "\xb4\xe8\xcc\xda" , "\x46\xbd\xe7" } , { "\xb4\xe8\xcc\xdb" , "\xd7\x46\xbd" } , { "\xb4\xe8\xcc\xdc" , "\x46\xbd\xdd" } , { "\xb4\xe8\xcc\xe5\xa2" , "\xe5\x46\xbd\xe7\x65" } , { "\xb4\xe8\xcd" , "\x46\xcb\xcc\x5e" } , { "\xb4\xe8\xcd\xa2" , "\x46\xcb\xcc\x5e\x65" } , { "\xb4\xe8\xcd\xda" , "\x46\xcb\xcc\x5e\xe7" } , { "\xb4\xe8\xcd\xda\xa2" , "\x46\xcb\xcc\x5e\xe7\x65" } , { "\xb4\xe8\xcd\xdb" , "\x46\xcb\xd7\xcc\x5e" } , { "\xb4\xe8\xcd\xdd" , "\x46\xcb\xcc\x5e\xc7" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x46\xcb\xcc\x5e\xc7\x65" } , { "\xb4\xe8\xcd\xde" , "\x46\xcb\xcc\x5e\xc9" } , { "\xb4\xe8\xcd\xe1" , "\x46\xcb\xe5\xcc\x5e" } , { "\xb4\xe8\xcd\xe5" , "\x46\xcb\xe5\xcc\x5e\xe7" } , { "\xb4\xe8\xcd\xe5\xa2" , "\x46\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x46\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x46\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xb4\xe8\xcf" , "\x46\xd0" } , { "\xb4\xe8\xcf\xdd" , "\x46\xd0\xc7" } , { "\xb4\xe8\xd1\xda" , "\x46\xc0\xe7" } , { "\xb4\xe8\xd1\xdd" , "\x46\xc0\xc7" } , { "\xb4\xe8\xd4\xda" , "\x46\xcb\xbe\xe7" } , { "\xb4\xe8\xd5" , "\x46\xcb\x60" } , { "\xb4\xe8\xd5\xda" , "\x46\xcb\x60\xe7" } , { "\xb4\xe8\xd5\xdc" , "\x46\xcb\x60\xdd" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x46\xcb\xb9\xcc\x5e\xe7" } , { "\xb4\xe8\xd7" , "\x46\xcb\x61" } , { "\xb4\xe8\xd7\xdb" , "\x46\xcb\xd7\x61" } , { "\xb4\xe8\xd7\xdc" , "\x46\xcb\x61\xdd" } , { "\xb4\xe8\xd9\xd5" , "\x46\xcb\x60" } , { "\xb4\xe8\xe8" , "\x46\xcb" } , { "\xb4\xe8\xe9\xcf" , "\x46\xd0" } , { "\xb4\xe9" , "\x46" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x46\x24\x4a\xf4\xdb\xe7" } , { "\xb4\xe9\xda" , "\x46\xe7" } , { "\xb4\xe9\xda\xa1" , "\x46\x67\xe7" } , { "\xb4\xe9\xdb" , "\xd7\x46" } , { "\xb4\xe9\xdc" , "\x46\xdd" } , { "\xb4\xe9\xdd" , "\x46\xc7" } , { "\xb4\xe9\xde" , "\x46\xc9" } , { "\xb4\xe9\xe2" , "\xe9\x46" } , { "\xb4\xe9\xe5" , "\xe5\x46\xe7" } , { "\xb4\xe9\xe5\xa2" , "\xe5\x46\xe7\x65" } , { "\xb4\xe9\xe8\xc2" , "\x46\xcb\x54\xf6" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x46\xcb\xe5\x54\xf6\xe7\x65" } , { "\xb4\xe9\xe8\xcd\xda" , "\x46\xcb\xcc\x5e\xe7" } , { "\xb4\xe9\xe8\xd4\xda" , "\x46\xcb\xbe\xe7" } , { "\xb4\xe9\xe8\xd5" , "\x46\xcb\x60" } , { "\xb4\xe9\xe8\xd7" , "\x46\xcb\x61" } , { "\xb5" , "\x47" } , { "\xb5\xa1" , "\x47\x67" } , { "\xb5\xa2" , "\x47\x65" } , { "\xb5\xa3" , "\x47\x66" } , { "\xb5\xda" , "\x47\xe7" } , { "\xb5\xda\xa1" , "\x47\x67\xe7" } , { "\xb5\xda\xa2" , "\x47\xe7\x65" } , { "\xb5\xda\xa3" , "\x47\xe7\x66" } , { "\xb5\xdb" , "\xd7\x47" } , { "\xb5\xdb\xa2" , "\xd7\x47\x65" } , { "\xb5\xdc" , "\x47\xdd" } , { "\xb5\xdc\xa2" , "\x47\xdd\x65" } , { "\xb5\xdc\xa3" , "\x47\xdd\x66" } , { "\xb5\xdd" , "\x6d" } , { "\xb5\xdd\xa1" , "\x6d\x67" } , { "\xb5\xdd\xa2" , "\x6d\x65" } , { "\xb5\xdd\xa2\xa2" , "\x6d\x65\x65" } , { "\xb5\xdd\xa3" , "\x6d\x66" } , { "\xb5\xde" , "\x47\xc9" } , { "\xb5\xde\xa1" , "\x47\x67\xc9" } , { "\xb5\xde\xa2" , "\x47\xc9\x65" } , { "\xb5\xdf" , "\x47\xca" } , { "\xb5\xdf\xa2" , "\x47\xca\x65" } , { "\xb5\xe0" , "\xe5\x47" } , { "\xb5\xe0\xa2" , "\xe5\x47\x65" } , { "\xb5\xe1" , "\xe5\x47" } , { "\xb5\xe1\xa2" , "\xe5\x47\x65" } , { "\xb5\xe1\xa3" , "\xe5\x47\x66" } , { "\xb5\xe2" , "\xe9\x47" } , { "\xb5\xe2\xa2" , "\xe9\x47\x65" } , { "\xb5\xe2\xa3" , "\xe9\x47\x66" } , { "\xb5\xe4" , "\xe5\x47\xe7" } , { "\xb5\xe4\xa2" , "\xe5\x47\xe7\x65" } , { "\xb5\xe5" , "\xe5\x47\xe7" } , { "\xb5\xe5\xa2" , "\xe5\x47\xe7\x65" } , { "\xb5\xe6" , "\xe5\x47\xec" } , { "\xb5\xe6\xa1" , "\xe5\x47\x67\xec" } , { "\xb5\xe6\xa2" , "\xe5\x47\xec\x65" } , { "\xb5\xe7" , "\xe5\x47\xe7" } , { "\xb5\xe8" , "\x47\xcb" } , { "\xb5\xe8\x4d" , "\x47\xcb\x4d" } , { "\xb5\xe8\xb3" , "\xaa\x45\xf5" } , { "\xb5\xe8\xb3\xda" , "\xaa\x45\xf5\xe7" } , { "\xb5\xe8\xb3\xdb" , "\xd7\xaa\x45\xf5" } , { "\xb5\xe8\xb3\xdd" , "\xaa\x45\xc7\xf5" } , { "\xb5\xe8\xb3\xde" , "\xaa\x45\xc9\xf5" } , { "\xb5\xe8\xb3\xe2" , "\xe9\xaa\x45\xf5" } , { "\xb5\xe8\xb3\xe5" , "\xe5\xaa\x45\xf5\xe7" } , { "\xb5\xe8\xb3\xe8\xd1" , "\xaa\x7a\xf5" } , { "\xb5\xe8\xb5" , "\xaa\x47" } , { "\xb5\xe8\xb5\xa2" , "\xaa\x47\x65" } , { "\xb5\xe8\xb5\xda" , "\xaa\x47\xe7" } , { "\xb5\xe8\xb5\xdb" , "\xd7\xaa\x47" } , { "\xb5\xe8\xb5\xdb\xa2" , "\xd7\xaa\x47\x65" } , { "\xb5\xe8\xb5\xdc" , "\xaa\x47\xdd" } , { "\xb5\xe8\xb5\xdd" , "\xaa\x47\xc7" } , { "\xb5\xe8\xb5\xdd\xa2" , "\xaa\x47\xc7\x65" } , { "\xb5\xe8\xb5\xde" , "\xaa\x47\xc9" } , { "\xb5\xe8\xb5\xe0" , "\xe5\xaa\x47" } , { "\xb5\xe8\xb5\xe0\xa2" , "\xe5\xaa\x47\x65" } , { "\xb5\xe8\xb5\xe1" , "\xe5\xaa\x47" } , { "\xb5\xe8\xb5\xe1\xa2" , "\xe5\xaa\x47\x65" } , { "\xb5\xe8\xb5\xe2" , "\xe9\xaa\x47" } , { "\xb5\xe8\xb5\xe4" , "\xe5\xaa\x47\xe7" } , { "\xb5\xe8\xb5\xe5" , "\xe5\xaa\x47\xe7" } , { "\xb5\xe8\xb5\xe8" , "\xaa\x47\xcb" } , { "\xb5\xe8\xb6" , "\xaa\x48" } , { "\xb5\xe8\xb6\xda" , "\xaa\x48\xe7" } , { "\xb5\xe8\xb6\xdc" , "\xaa\x48\xdd" } , { "\xb5\xe8\xb6\xdd" , "\xaa\x48\xc7" } , { "\xb5\xe8\xb6\xe1" , "\xe5\xaa\x48" } , { "\xb5\xe8\xb7" , "\xaa\x49\xf8" } , { "\xb5\xe8\xb7\xda" , "\xaa\x49\xf8\xe7" } , { "\xb5\xe8\xb7\xdb" , "\xd7\xaa\x49\xf8" } , { "\xb5\xe8\xb7\xdc" , "\xaa\x49\xf8\xdd" } , { "\xb5\xe8\xb7\xe5\xa2" , "\xe5\xaa\x49\xf8\xe7\x65" } , { "\xb5\xe8\xb8\xe1" , "\xe6\xaa\x4a\xf4" } , { "\xb5\xe8\xba" , "\xaa\x4c" } , { "\xb5\xe8\xba\xa2" , "\xaa\x4c\x65" } , { "\xb5\xe8\xba\xda" , "\xaa\x4c\xe7" } , { "\xb5\xe8\xba\xda\xa2" , "\xaa\x4c\xe7\x65" } , { "\xb5\xe8\xba\xdb" , "\xd7\xaa\x4c" } , { "\xb5\xe8\xba\xdc" , "\xaa\x4c\xdd" } , { "\xb5\xe8\xba\xe0" , "\xe5\xaa\x4c" } , { "\xb5\xe8\xba\xe0\xa2" , "\xe5\xaa\x4c\x65" } , { "\xb5\xe8\xba\xe1\xa2" , "\xe5\xaa\x4c\x65" } , { "\xb5\xe8\xba\xe2" , "\xe9\xaa\x4c" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x47\xcb\x4c\xcb\xbe\xe7\x65" } , { "\xb5\xe8\xba\xe9" , "\xaa\x4c" } , { "\xb5\xe8\xba\xe9\xdb" , "\xd7\xaa\x4c" } , { "\xb5\xe8\xbd" , "\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xda" , "\xaa\x4f\xf4\xe7" } , { "\xb5\xe8\xbd\xda\xa2" , "\xaa\x4f\xf4\xe7\x65" } , { "\xb5\xe8\xbd\xdb" , "\xd7\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xdc" , "\xaa\x4f\xf4\xdd" } , { "\xb5\xe8\xbd\xde" , "\xaa\x4f\xc9\xf4" } , { "\xb5\xe8\xbd\xe0" , "\xe6\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xe1" , "\xe6\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xe2\xa2" , "\xe8\xaa\x4f\xf4\x65" } , { "\xb5\xe8\xbd\xe4" , "\xe6\xaa\x4f\xf4\xe7" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x47\xcb\xae\x4c\xcb" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\xaa\xae\xcf\xf4\xe7" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\xe6\xaa\xae\xcf\xf4" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\x47\xcb\xd7\xae\xbe" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x47\xcb\xae\x61" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x47\xcb\xae\x61\xe7" } , { "\xb5\xe8\xbf" , "\xaa\x51\xf6" } , { "\xb5\xe8\xbf\xa2" , "\xaa\x51\xf6\x65" } , { "\xb5\xe8\xbf\xda" , "\xaa\x51\xf6\xe7" } , { "\xb5\xe8\xbf\xda\xa2" , "\xaa\x51\xf6\xe7\x65" } , { "\xb5\xe8\xbf\xdb" , "\xd7\xaa\x51\xf6" } , { "\xb5\xe8\xbf\xdc" , "\xaa\x51\xf6\xdd" } , { "\xb5\xe8\xbf\xe0" , "\xe5\xaa\x51\xf6" } , { "\xb5\xe8\xbf\xe5" , "\xe5\xaa\x51\xf6\xe7" } , { "\xb5\xe8\xbf\xe8" , "\xaa\x51\xcb\xf6" } , { "\xb5\xe8\xc0\xdd" , "\xaa\x52\xc7\xf4" } , { "\xb5\xe8\xc1" , "\xaa\x53" } , { "\xb5\xe8\xc1\xda" , "\xaa\x53\xe7" } , { "\xb5\xe8\xc1\xe5\xa2" , "\xe5\xaa\x53\xe7\x65" } , { "\xb5\xe8\xc2" , "\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xda" , "\xaa\x54\xf6\xe7" } , { "\xb5\xe8\xc2\xdb" , "\xd7\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xdd" , "\xaa\x54\xc7\xf6" } , { "\xb5\xe8\xc2\xe0" , "\xe5\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xe1" , "\xe5\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xe5" , "\xe5\xaa\x54\xf6\xe7" } , { "\xb5\xe8\xc2\xe8" , "\xaa\x54\xcb\xf6" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x47\xcb\xb1\x45\xf5" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x47\xcb\xb1\x47" } , { "\xb5\xe8\xc2\xe8\xc2" , "\xaa\x77\xf8" } , { "\xb5\xe8\xc2\xe8\xcf" , "\xaa\x79" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\xe6\xaa\x79\x65" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x47\xcb\xb1\x61" } , { "\xb5\xe8\xc3" , "\xaa\x55" } , { "\xb5\xe8\xc3\xda" , "\xaa\x55\xe7" } , { "\xb5\xe8\xc3\xdc" , "\xaa\x55\xdd" } , { "\xb5\xe8\xc3\xdd" , "\xaa\x55\xc7" } , { "\xb5\xe8\xc3\xe5" , "\xe5\xaa\x55\xe7" } , { "\xb5\xe8\xc3\xe5\xa2" , "\xe5\xaa\x55\xe7\x65" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x47\xcb\x55\xcb\xcc\x5e\xe7" } , { "\xb5\xe8\xc4" , "\xaa\x56" } , { "\xb5\xe8\xc4\xa2" , "\xaa\x56\x65" } , { "\xb5\xe8\xc4\xda" , "\xaa\x56\xe7" } , { "\xb5\xe8\xc4\xdb" , "\xd7\xaa\x56" } , { "\xb5\xe8\xc4\xdd" , "\xaa\x56\xc7" } , { "\xb5\xe8\xc4\xdf" , "\xaa\x56\xca" } , { "\xb5\xe8\xc4\xe1" , "\xe5\xaa\x56" } , { "\xb5\xe8\xc4\xe5" , "\xe5\xaa\x56\xe7" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x47\xcb\xb2\xcc\x5e" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x47\xcb\xb2\xcc\x5e\x65" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x47\xcb\xb2\xbe\xe7" } , { "\xb5\xe8\xc5" , "\x84\xf9" } , { "\xb5\xe8\xc5\xa2" , "\x84\xf9\x65" } , { "\xb5\xe8\xc5\xda" , "\x84\xf9\xe7" } , { "\xb5\xe8\xc5\xdb" , "\xd7\x84\xf9" } , { "\xb5\xe8\xc5\xdc" , "\x84\xf9\xdd" } , { "\xb5\xe8\xc5\xdd" , "\x84\xc7\xf9" } , { "\xb5\xe8\xc5\xe1" , "\xe5\x84\xf9" } , { "\xb5\xe8\xc5\xe5" , "\xe5\x84\xf9\xe7" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x47\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x47\xcb\x57\xfd\xcb\xcc\x5e\x65" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x47\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x47\xcb\x57\xfd\xcb\xbe\xe7" } , { "\xb5\xe8\xc6" , "\x47\xc2" } , { "\xb5\xe8\xc6\xa2" , "\x47\xc2\x65" } , { "\xb5\xe8\xc6\xda" , "\x47\xc2\xe7" } , { "\xb5\xe8\xc6\xdb" , "\xd7\x47\xc2" } , { "\xb5\xe8\xc6\xdb\xa2" , "\xd7\x47\xc2\x65" } , { "\xb5\xe8\xc6\xdb\xa3" , "\xd7\x47\xc2\x66" } , { "\xb5\xe8\xc6\xdc" , "\x47\xc2\xdd" } , { "\xb5\xe8\xc6\xdd" , "\x47\xc2\xc7" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x47\xc2\xc7\x65" } , { "\xb5\xe8\xc6\xde" , "\x47\xc2\xc9" } , { "\xb5\xe8\xc6\xe0" , "\xe6\x47\xc2" } , { "\xb5\xe8\xc6\xe1" , "\xe6\x47\xc2" } , { "\xb5\xe8\xc6\xe2" , "\xe8\x47\xc2" } , { "\xb5\xe8\xc6\xe5\xa2" , "\xe6\x47\xc2\xe7\x65" } , { "\xb5\xe8\xc6\xe6" , "\xe6\x47\xc2\xec" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x47\xcb\xb3\xcc\x5e\x65" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x47\xcb\xb3\xcc\x5e\xe7" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x47\xcb\xb3\xcc\x5e\x67\xe7" } , { "\xb5\xe8\xc8" , "\xaa\x59" } , { "\xb5\xe8\xc8\xda" , "\xaa\x59\xe7" } , { "\xb5\xe8\xc8\xdb" , "\xd7\xaa\x59" } , { "\xb5\xe8\xc8\xdc" , "\xaa\x59\xdd" } , { "\xb5\xe8\xc8\xdd" , "\xaa\x59\xc7" } , { "\xb5\xe8\xc8\xde" , "\xaa\x59\xc9" } , { "\xb5\xe8\xc8\xe2" , "\xe9\xaa\x59" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\xe6\xaa\x59\xd2" } , { "\xb5\xe8\xc9" , "\xaa\x5a\xf5" } , { "\xb5\xe8\xc9\xdb" , "\xd7\xaa\x5a\xf5" } , { "\xb5\xe8\xc9\xe0" , "\xe5\xaa\x5a\xf5" } , { "\xb5\xe8\xc9\xe5" , "\xe5\xaa\x5a\xf5\xe7" } , { "\xb5\xe8\xca" , "\x47\x9f" } , { "\xb5\xe8\xca\xa2" , "\x47\x9f\x65" } , { "\xb5\xe8\xca\xda" , "\x47\x9f\xe7" } , { "\xb5\xe8\xca\xdb" , "\xd7\x47\x9f" } , { "\xb5\xe8\xca\xdc" , "\x47\x9f\xdd" } , { "\xb5\xe8\xca\xe0" , "\xe5\x47\x9f" } , { "\xb5\xe8\xca\xe5" , "\xe5\x47\x9f\xe7" } , { "\xb5\xe8\xca\xe8\xcf" , "\xaa\x5b\xfd\xd0" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\xe6\xaa\x5b\xfd\xd0" } , { "\xb5\xe8\xcb" , "\xaa\x5c\xf6" } , { "\xb5\xe8\xcb\xa2" , "\xaa\x5c\xf6\x65" } , { "\xb5\xe8\xcb\xda" , "\xaa\x5c\xf6\xe7" } , { "\xb5\xe8\xcb\xde" , "\xaa\x5c\xc9\xf6" } , { "\xb5\xe8\xcb\xe8\xcf" , "\xaa\x7d" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\xaa\x7d\xe7" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\xaa\x7d\xe7\x65" } , { "\xb5\xe8\xcc" , "\x47\xbd" } , { "\xb5\xe8\xcc\xa2" , "\x47\xbd\x65" } , { "\xb5\xe8\xcc\xda" , "\x47\xbd\xe7" } , { "\xb5\xe8\xcc\xdb" , "\xd7\x47\xbd" } , { "\xb5\xe8\xcc\xdc" , "\x47\xbd\xdd" } , { "\xb5\xe8\xcc\xdd" , "\x47\xbd\xc6" } , { "\xb5\xe8\xcc\xde" , "\x47\xbd\xc8" } , { "\xb5\xe8\xcc\xe0\xa2" , "\xe5\x47\xbd\x65" } , { "\xb5\xe8\xcc\xe1" , "\xe5\x47\xbd" } , { "\xb5\xe8\xcc\xe2" , "\xe9\x47\xbd" } , { "\xb5\xe8\xcc\xe2\xa2" , "\xe9\x47\xbd\x65" } , { "\xb5\xe8\xcc\xe4" , "\xe5\x47\xbd\xe7" } , { "\xb5\xe8\xcc\xe5" , "\xe5\x47\xbd\xe7" } , { "\xb5\xe8\xcc\xe5\xa2" , "\xe5\x47\xbd\xe7\x65" } , { "\xb5\xe8\xcd" , "\xaa\xcc\x5e" } , { "\xb5\xe8\xcd\xa2" , "\xaa\xcc\x5e\x65" } , { "\xb5\xe8\xcd\xda" , "\xaa\xcc\x5e\xe7" } , { "\xb5\xe8\xcd\xda\xa2" , "\xaa\xcc\x5e\xe7\x65" } , { "\xb5\xe8\xcd\xdb" , "\xd7\xaa\xcc\x5e" } , { "\xb5\xe8\xcd\xdb\xa2" , "\xd7\xaa\xcc\x5e\x65" } , { "\xb5\xe8\xcd\xdc" , "\xaa\xcc\x5e\xdd" } , { "\xb5\xe8\xcd\xdd" , "\xaa\xcc\x5e\xc7" } , { "\xb5\xe8\xcd\xde" , "\xaa\xcc\x5e\xc9" } , { "\xb5\xe8\xcd\xe1" , "\xe5\xaa\xcc\x5e" } , { "\xb5\xe8\xcd\xe5" , "\xe5\xaa\xcc\x5e\xe7" } , { "\xb5\xe8\xcd\xe5\xa2" , "\xe5\xaa\xcc\x5e\xe7\x65" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x47\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x47\xcb\xcc\x5e\xcb\xbe" } , { "\xb5\xe8\xcf" , "\x47\xd0" } , { "\xb5\xe8\xcf\xa2" , "\x47\xd0\x65" } , { "\xb5\xe8\xcf\xda" , "\x47\xd0\xe7" } , { "\xb5\xe8\xcf\xda\xa1" , "\x47\xd0\x67\xe7" } , { "\xb5\xe8\xcf\xda\xa2" , "\x47\xd0\xe7\x65" } , { "\xb5\xe8\xcf\xdb" , "\xd7\x47\xd0" } , { "\xb5\xe8\xcf\xdb\xa2" , "\xd7\x47\xd0\x65" } , { "\xb5\xe8\xcf\xdc" , "\x47\xd0\xdd" } , { "\xb5\xe8\xcf\xdd" , "\x47\xd0\xd3" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x47\xd0\xd3\x65" } , { "\xb5\xe8\xcf\xde" , "\x47\xd0\xd6" } , { "\xb5\xe8\xcf\xde\xa2" , "\x47\xd0\xd6\x65" } , { "\xb5\xe8\xcf\xe0" , "\xe6\x47\xd0" } , { "\xb5\xe8\xcf\xe0\xa2" , "\xe6\x47\xd0\x65" } , { "\xb5\xe8\xcf\xe1" , "\xe6\x47\xd0" } , { "\xb5\xe8\xcf\xe1\xa2" , "\xe6\x47\xd0\x65" } , { "\xb5\xe8\xcf\xe2" , "\xe8\x47\xd0" } , { "\xb5\xe8\xcf\xe2\xa2" , "\xe8\x47\xd0\x65" } , { "\xb5\xe8\xcf\xe4" , "\xe6\x47\xd0\xe7" } , { "\xb5\xe8\xcf\xe4\xa2" , "\xe6\x47\xd0\xe7\x65" } , { "\xb5\xe8\xcf\xe5" , "\xe6\x47\xd0\xe7" } , { "\xb5\xe8\xcf\xe5\xa2" , "\xe6\x47\xd0\xe7\x65" } , { "\xb5\xe8\xcf\xe6" , "\xe6\x47\xd0\xec" } , { "\xb5\xe8\xcf\xe6\xa2" , "\xe6\x47\xd0\xec\x65" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x47\xcb\xbb\xcb\x51\xf6" } , { "\xb5\xe8\xd0\xa2" , "\xaa\xbb\x65" } , { "\xb5\xe8\xd1" , "\x47\xc0" } , { "\xb5\xe8\xd1\xa2" , "\x47\xc0\x65" } , { "\xb5\xe8\xd1\xda" , "\x47\xc0\xe7" } , { "\xb5\xe8\xd1\xda\xa2" , "\x47\xc0\xe7\x65" } , { "\xb5\xe8\xd1\xdb" , "\xd7\x47\xc0" } , { "\xb5\xe8\xd1\xdb\xa2" , "\xd7\x47\xc0\x65" } , { "\xb5\xe8\xd1\xdc" , "\x47\xc0\xdd" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x47\xc0\xdd\x65" } , { "\xb5\xe8\xd1\xdd" , "\x47\xc0\xc7" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x47\xc0\xc7\x65" } , { "\xb5\xe8\xd1\xde" , "\x47\xc0\xc9" } , { "\xb5\xe8\xd1\xe0" , "\xe6\x47\xc0" } , { "\xb5\xe8\xd1\xe0\xa2" , "\xe6\x47\xc0\x65" } , { "\xb5\xe8\xd1\xe1" , "\xe6\x47\xc0" } , { "\xb5\xe8\xd1\xe1\xa2" , "\xe6\x47\xc0\x65" } , { "\xb5\xe8\xd1\xe2" , "\xe8\x47\xc0" } , { "\xb5\xe8\xd1\xe2\xa2" , "\xe8\x47\xc0\x65" } , { "\xb5\xe8\xd1\xe4" , "\xe6\x47\xc0\xe7" } , { "\xb5\xe8\xd1\xe5" , "\xe6\x47\xc0\xe7" } , { "\xb5\xe8\xd1\xe5\xa2" , "\xe6\x47\xc0\xe7\x65" } , { "\xb5\xe8\xd1\xe6" , "\xe6\x47\xc0\xec" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x47\xcb\xb7\xcc\x5e\xc7" } , { "\xb5\xe8\xd4" , "\xaa\xbe" } , { "\xb5\xe8\xd4\xda" , "\xaa\xbe\xe7" } , { "\xb5\xe8\xd4\xdb" , "\xd7\xaa\xbe" } , { "\xb5\xe8\xd4\xdd" , "\xaa\xbe\xc7" } , { "\xb5\xe8\xd4\xde" , "\xaa\xbe\xc9" } , { "\xb5\xe8\xd4\xe0" , "\xe5\xaa\xbe" } , { "\xb5\xe8\xd4\xe1" , "\xe5\xaa\xbe" } , { "\xb5\xe8\xd4\xe1\xa2" , "\xe5\xaa\xbe\x65" } , { "\xb5\xe8\xd4\xe2" , "\xe9\xaa\xbe" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x47\xcb\xbe\xcb\xcc\x5e" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x47\xcb\xbe\xcb\xcc\x5e\xe7" } , { "\xb5\xe8\xd5\xda" , "\xaa\x60\xe7" } , { "\xb5\xe8\xd5\xda\xa2" , "\xaa\x60\xe7\x65" } , { "\xb5\xe8\xd6\xdc" , "\xaa\x62\xdd" } , { "\xb5\xe8\xd7" , "\xaa\x61" } , { "\xb5\xe8\xd7\xda" , "\xaa\x61\xe7" } , { "\xb5\xe8\xd7\xdc" , "\xaa\x61\xdd" } , { "\xb5\xe8\xd7\xdd" , "\xaa\x61\xc7" } , { "\xb5\xe8\xd7\xde" , "\xaa\x61\xc9" } , { "\xb5\xe8\xd7\xe0" , "\xe5\xaa\x61" } , { "\xb5\xe8\xd7\xe2" , "\xe9\xaa\x61" } , { "\xb5\xe8\xd7\xe5" , "\xe5\xaa\x61\xe7" } , { "\xb5\xe8\xd7\xe8" , "\xaa\x61\xcb" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x47\xcb\xba\x47\xe7" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x47\xcb\xba\x4f\xf4" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x47\xcb\xba\x4f\xf4\x65" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x47\xcb\xba\x4f\xf4\xe7" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x47\xcb\xe6\xba\x4f\xf4" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x47\xcb\xe6\xba\x4f\xf4\xec" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x47\xcb\x61\xcb\xb4\xae\x95\xc7\xf5" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xaa\xae\xcf\xf4\xe7" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\xaa\x61\xcb\xe5\xb1\xcc\x5e" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x47\xcb\xba\x56" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\xd7\xaa\xd8\x6f\xf6" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\xaa\xd8\x6f\xf6\xc7" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\xaa\x26\xe7" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\xd7\xaa\x26" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\xd7\xaa\xd8\xda\xf6" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\xe6\xaa\xd8\xda\xf6\xe7" } , { "\xb5\xe8\xd8" , "\xaa\x63\xf7" } , { "\xb5\xe8\xd8\xda" , "\xaa\x63\xf7\xe7" } , { "\xb5\xe8\xd8\xdb" , "\xd7\xaa\x63\xf7" } , { "\xb5\xe8\xd8\xdc" , "\xaa\x63\xf7\xdd" } , { "\xb5\xe8\xd8\xe0" , "\xe5\xaa\x63\xf7" } , { "\xb5\xe8\xd8\xe4" , "\xe5\xaa\x63\xf7\xe7" } , { "\xb5\xe8\xd8\xe5" , "\xe5\xaa\x63\xf7\xe7" } , { "\xb5\xe8\xd8\xe5\xa2" , "\xe5\xaa\x63\xf7\xe7\x65" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x47\xcb\x63\xcb\xf7\xcc\x5e\xe7\x65" } , { "\xb5\xe8\xd9\xa6" , "\xaa\x2b" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\xaa\x61\xef" } , { "\xb5\xe8\xd9\xd4\xdb" , "\xaa\xd7\xbe" } , { "\xb5\xe8\xe8" , "\x47\xcb" } , { "\xb5\xe8\xe9\xcf" , "\x47\xd0" } , { "\xb5\xe9" , "\x47" } , { "\xb5\xe9\xda" , "\x47\xe7" } , { "\xb5\xe9\xdb" , "\xd7\x47" } , { "\xb5\xe9\xdd" , "\x6d" } , { "\xb5\xe9\xe2" , "\xe9\x47" } , { "\xb5\xe9\xe5\xa2" , "\xe5\x47\xe7\x65" } , { "\xb5\xe9\xe6" , "\xe5\x47\xec" } , { "\xb6" , "\x48" } , { "\xb6\xa2" , "\x48\x65" } , { "\xb6\xa2\xa2" , "\x48\x65\x65" } , { "\xb6\xa3" , "\x48\x66" } , { "\xb6\xd0" , "\x48\xbb" } , { "\xb6\xda" , "\x48\xe7" } , { "\xb6\xda\xa2" , "\x48\xe7\x65" } , { "\xb6\xdb" , "\xd7\x48" } , { "\xb6\xdb\xa2" , "\xd7\x48\x65" } , { "\xb6\xdc" , "\x48\xdd" } , { "\xb6\xdc\xa2" , "\x48\xdd\x65" } , { "\xb6\xdd" , "\x48\xc7" } , { "\xb6\xdd\xa1" , "\x48\x67\xc7" } , { "\xb6\xdd\xa2" , "\x48\xc7\x65" } , { "\xb6\xdd\xa3" , "\x48\xc7\x66" } , { "\xb6\xde" , "\x48\xc9" } , { "\xb6\xde\xa1" , "\x48\x67\xc9" } , { "\xb6\xde\xa2" , "\x48\xc9\x65" } , { "\xb6\xdf" , "\x48\xca" } , { "\xb6\xe0" , "\xe5\x48" } , { "\xb6\xe1" , "\xe5\x48" } , { "\xb6\xe1\xa2" , "\xe5\x48\x65" } , { "\xb6\xe2" , "\xe9\x48" } , { "\xb6\xe2\xa3" , "\xe9\x48\x66" } , { "\xb6\xe4" , "\xe5\x48\xe7" } , { "\xb6\xe5" , "\xe5\x48\xe7" } , { "\xb6\xe5\xa2" , "\xe5\x48\xe7\x65" } , { "\xb6\xe6" , "\xe5\x48\xec" } , { "\xb6\xe6\xa2" , "\xe5\x48\xec\x65" } , { "\xb6\xe8" , "\x48\xcb" } , { "\xb6\xe8\xb3\xde" , "\x48\xcb\x45\xc9\xf5" } , { "\xb6\xe8\xb6" , "\x48\xcb\x48" } , { "\xb6\xe8\xb6\xdc" , "\x48\xcb\x48\xdd" } , { "\xb6\xe8\xb6\xde" , "\x48\xcb\x48\xc9" } , { "\xb6\xe8\xb8\xe1" , "\x48\xcb\xe6\x24\x4a\xf4" } , { "\xb6\xe8\xc1\xda" , "\x48\xcb\x53\xe7" } , { "\xb6\xe8\xc1\xdb" , "\x48\xcb\xd7\x53" } , { "\xb6\xe8\xc2" , "\x48\xcb\x54\xf6" } , { "\xb6\xe8\xc4" , "\x48\xcb\x56" } , { "\xb6\xe8\xc6" , "\x48\xc2" } , { "\xb6\xe8\xc6\xa2" , "\x48\xc2\x65" } , { "\xb6\xe8\xc6\xa3" , "\x48\xc2\x66" } , { "\xb6\xe8\xc6\xda" , "\x48\xc2\xe7" } , { "\xb6\xe8\xc6\xdb" , "\xd7\x48\xc2" } , { "\xb6\xe8\xc6\xdc" , "\x48\xc2\xdd" } , { "\xb6\xe8\xc6\xdd" , "\x48\xc2\xc7" } , { "\xb6\xe8\xc6\xe1" , "\xe6\x48\xc2" } , { "\xb6\xe8\xc6\xe5" , "\xe6\x48\xc2\xe7" } , { "\xb6\xe8\xcd" , "\x48\xcb\xcc\x5e" } , { "\xb6\xe8\xcd\xda" , "\x48\xcb\xcc\x5e\xe7" } , { "\xb6\xe8\xcd\xe5" , "\x48\xcb\xe5\xcc\x5e\xe7" } , { "\xb6\xe8\xcd\xe6" , "\x48\xcb\xe5\xcc\x5e\xec" } , { "\xb6\xe8\xcf" , "\x48\xd0" } , { "\xb6\xe8\xcf\xa2" , "\x48\xd0\x65" } , { "\xb6\xe8\xcf\xda" , "\x48\xd0\xe7" } , { "\xb6\xe8\xcf\xda\xa2" , "\x48\xd0\xe7\x65" } , { "\xb6\xe8\xcf\xdb" , "\xd7\x48\xd0" } , { "\xb6\xe8\xcf\xdd" , "\x48\xd0\xc7" } , { "\xb6\xe8\xcf\xe5\xa2" , "\xe6\x48\xd0\xe7\x65" } , { "\xb6\xe8\xd1" , "\x48\xc0" } , { "\xb6\xe8\xd4" , "\x48\xcb\xbe" } , { "\xb6\xe8\xd4\xa2" , "\x48\xcb\xbe\x65" } , { "\xb6\xe8\xd4\xda" , "\x48\xcb\xbe\xe7" } , { "\xb6\xe8\xe8" , "\x48\xcb" } , { "\xb6\xe8\xe9\xcf" , "\x48\xd0" } , { "\xb6\xe9" , "\x48" } , { "\xb7" , "\x49\xf8" } , { "\xb7\xa2" , "\x49\xf8\x65" } , { "\xb7\xa3" , "\x49\xf8\x66" } , { "\xb7\xda" , "\x49\xf8\xe7" } , { "\xb7\xdb" , "\xd7\x49\xf8" } , { "\xb7\xdb\xa2" , "\xd7\x49\xf8\x65" } , { "\xb7\xdc" , "\x49\xf8\xdd" } , { "\xb7\xdd" , "\x49\xc7\xf8" } , { "\xb7\xde" , "\x49\xc9\xf8" } , { "\xb7\xdf" , "\x49\xca\xf8" } , { "\xb7\xe0" , "\xe5\x49\xf8" } , { "\xb7\xe1" , "\xe5\x49\xf8" } , { "\xb7\xe1\xa2" , "\xe5\x49\xf8\x65" } , { "\xb7\xe2" , "\xe9\x49\xf8" } , { "\xb7\xe4" , "\xe5\x49\xf8\xe7" } , { "\xb7\xe5" , "\xe5\x49\xf8\xe7" } , { "\xb7\xe6" , "\xe5\x49\xf8\xec" } , { "\xb7\xe8" , "\x49\xcb\xf8" } , { "\xb7\xe8\xb3" , "\xe1\xf8" } , { "\xb7\xe8\xb3\xda" , "\xe1\xf8\xe7" } , { "\xb7\xe8\xb3\xdb" , "\xd7\xe1\xf8" } , { "\xb7\xe8\xb3\xe5" , "\xe5\xe1\xf8\xe7" } , { "\xb7\xe8\xb5" , "\x86" } , { "\xb7\xe8\xb5\xda" , "\x86\xe7" } , { "\xb7\xe8\xb5\xdb" , "\xd7\x86" } , { "\xb7\xe8\xb5\xdc" , "\x86\xdd" } , { "\xb7\xe8\xb5\xe5\xa2" , "\xe5\x86\xe7\x65" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x86\x98\xe7" } , { "\xb7\xe8\xb6" , "\x49\x48" } , { "\xb7\xe8\xb6\xda" , "\x49\x48\xe7" } , { "\xb7\xe8\xb6\xdb" , "\xd7\x49\x48" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x49\xcb\xf8\xae\x47" } , { "\xb7\xe8\xc4" , "\xab\x56" } , { "\xb7\xe8\xc6" , "\xab\xf3\xf8" } , { "\xb7\xe8\xc6\xda" , "\xab\xf3\xf8\xe7" } , { "\xb7\xe8\xc6\xdb" , "\xd7\xab\xf3\xf8" } , { "\xb7\xe8\xc6\xdd" , "\xab\xf3\xc7\xf8" } , { "\xb7\xe8\xc6\xde" , "\xab\xf3\xc9\xf8" } , { "\xb7\xe8\xc9\xe5" , "\xe5\xab\x5a\xf5\xe7" } , { "\xb7\xe8\xcc" , "\xab\xc1" } , { "\xb7\xe8\xcc\xa2" , "\xab\xc1\x65" } , { "\xb7\xe8\xcc\xda" , "\xab\xc1\xe7" } , { "\xb7\xe8\xcc\xdd" , "\xab\xc1\xc7" } , { "\xb7\xe8\xcc\xde" , "\xab\xc1\xc9" } , { "\xb7\xe8\xcd" , "\xab\xcc\x5e" } , { "\xb7\xe8\xcf" , "\x49\xce\xf8" } , { "\xb7\xe8\xcf\xdc" , "\x49\xce\xf8\xdd" } , { "\xb7\xe8\xd8\xda" , "\xab\x63\xf7\xe7" } , { "\xb7\xe8\xe8" , "\x49\xcb\xf8" } , { "\xb8" , "\x24\x4a\xf4" } , { "\xb8\xa1" , "\x24\x4a\x67\xf4" } , { "\xb8\xa2" , "\x24\x4a\xf4\x65" } , { "\xb8\xa3" , "\x24\x4a\xf4\x66" } , { "\xb8\xda" , "\x24\x4a\xf4\xe7" } , { "\xb8\xda\xa1" , "\x24\x4a\x67\xf4\xe7" } , { "\xb8\xda\xa2" , "\x24\x4a\xf4\xe7\x65" } , { "\xb8\xdb" , "\xd7\x24\x4a\xf4" } , { "\xb8\xdb\xa2" , "\xd7\x24\x4a\xf4\x65" } , { "\xb8\xdc" , "\x24\x4a\xf4\xdd" } , { "\xb8\xdc\xa2" , "\x24\x4a\xf4\xdd\x65" } , { "\xb8\xdd" , "\x24\x4a\xc7\xf4" } , { "\xb8\xdd\xa1" , "\x24\x4a\x67\xc7\xf4" } , { "\xb8\xdd\xa2" , "\x24\x4a\xc7\xf4\x65" } , { "\xb8\xde" , "\x24\x4a\xc9\xf4" } , { "\xb8\xde\xa1" , "\x24\x4a\x67\xc9\xf4" } , { "\xb8\xde\xa2" , "\x24\x4a\xc9\xf4\x65" } , { "\xb8\xdf" , "\x24\x4a\xca\xf4" } , { "\xb8\xe0" , "\xe6\x24\x4a\xf4" } , { "\xb8\xe0\xa2" , "\xe6\x24\x4a\xf4\x65" } , { "\xb8\xe1" , "\xe6\x24\x4a\xf4" } , { "\xb8\xe1\xa2" , "\xe6\x24\x4a\xf4\x65" } , { "\xb8\xe2" , "\xe8\x24\x4a\xf4" } , { "\xb8\xe2\xa2" , "\xe8\x24\x4a\xf4\x65" } , { "\xb8\xe3" , "\xe6\x24\x4a\xf4" } , { "\xb8\xe4" , "\xe6\x24\x4a\xf4\xe7" } , { "\xb8\xe4\xa2" , "\xe6\x24\x4a\xf4\xe7\x65" } , { "\xb8\xe4\xd0\xe8" , "\xe6\x24\x4a\xf4\xe7\xbb\xcb" } , { "\xb8\xe5" , "\xe6\x24\x4a\xf4\xe7" } , { "\xb8\xe5\xa2" , "\xe6\x24\x4a\xf4\xe7\x65" } , { "\xb8\xe6" , "\xe6\x24\x4a\xf4\xec" } , { "\xb8\xe6\xa2" , "\xe6\x24\x4a\xf4\xec\x65" } , { "\xb8\xe7" , "\xe6\x24\x4a\xf4\xe7" } , { "\xb8\xe8" , "\x24\x4a\xcb\xf4" } , { "\xb8\xe8\xb3" , "\xac\x45\xf5" } , { "\xb8\xe8\xb3\xa2" , "\xac\x45\xf5\x65" } , { "\xb8\xe8\xb3\xdb" , "\xd7\xac\x45\xf5" } , { "\xb8\xe8\xb3\xdd" , "\xac\x45\xc7\xf5" } , { "\xb8\xe8\xb3\xe4" , "\xe5\xac\x45\xf5\xe7" } , { "\xb8\xe8\xb3\xe5" , "\xe5\xac\x45\xf5\xe7" } , { "\xb8\xe8\xb5" , "\xac\x47" } , { "\xb8\xe8\xb8" , "\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xa2" , "\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xda" , "\xac\x4a\xf4\xe7" } , { "\xb8\xe8\xb8\xda\xa2" , "\xac\x4a\xf4\xe7\x65" } , { "\xb8\xe8\xb8\xdb" , "\xd7\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xdb\xa2" , "\xd7\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xdc" , "\xac\x4a\xf4\xdd" } , { "\xb8\xe8\xb8\xdd" , "\xac\x4a\xc7\xf4" } , { "\xb8\xe8\xb8\xdd\xa2" , "\xac\x4a\xc7\xf4\x65" } , { "\xb8\xe8\xb8\xde" , "\xac\x4a\xc9\xf4" } , { "\xb8\xe8\xb8\xe0" , "\xe6\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xe0\xa2" , "\xe6\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xe1" , "\xe6\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xe1\xa2" , "\xe6\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xe2" , "\xe8\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xe2\xa2" , "\xe8\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xe4" , "\xe6\xac\x4a\xf4\xe7" } , { "\xb8\xe8\xb8\xe4\xa2" , "\xe6\xac\x4a\xf4\xe7\x65" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\xe6\xac\x4a\xf4\xe7\xbb\xcb" } , { "\xb8\xe8\xb8\xe5" , "\xe6\xac\x4a\xf4\xe7" } , { "\xb8\xe8\xb8\xe5\xa2" , "\xe6\xac\x4a\xf4\xe7\x65" } , { "\xb8\xe8\xb8\xe6" , "\xe6\xac\x4a\xf4\xec" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\xac\xac\xcf\xf4\xdd" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\xac\xac\xcf\xc7\xf4" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\x4a\xcb\xf4\xac\xbe\xe7" } , { "\xb8\xe8\xb9" , "\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xa2" , "\xac\x4b\xf7\x65" } , { "\xb8\xe8\xb9\xda" , "\xac\x4b\xf7\xe7" } , { "\xb8\xe8\xb9\xda\xa2" , "\xac\x4b\xf7\xe7\x65" } , { "\xb8\xe8\xb9\xdb" , "\xd7\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xdb\xa2" , "\xd7\xac\x4b\xf7\x65" } , { "\xb8\xe8\xb9\xdc" , "\xac\x4b\xf7\xdd" } , { "\xb8\xe8\xb9\xdd" , "\xac\x4b\xc7\xf7" } , { "\xb8\xe8\xb9\xdd\xa2" , "\xac\x4b\xc7\xf7\x65" } , { "\xb8\xe8\xb9\xde" , "\xac\x4b\xc9\xf7" } , { "\xb8\xe8\xb9\xdf" , "\xac\x4b\xca\xf7" } , { "\xb8\xe8\xb9\xdf\xa2" , "\xac\x4b\xca\xf7\x65" } , { "\xb8\xe8\xb9\xe0" , "\xe6\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xe1" , "\xe6\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xe5" , "\xe6\xac\x4b\xf7\xe7" } , { "\xb8\xe8\xb9\xe5\xa2" , "\xe6\xac\x4b\xf7\xe7\x65" } , { "\xb8\xe8\xb9\xe6" , "\xe6\xac\x4b\xf7\xec" } , { "\xb8\xe8\xb9\xe8" , "\xac\x4b\xcb\xf7" } , { "\xb8\xe8\xb9\xe8\xa2" , "\xac\x4b\xcb\xf7\x65" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\xac\x4b\xcb\xf7\x88\xf9" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\xac\x4b\x5d\xdd" } , { "\xb8\xe8\xb9\xe8\xcf" , "\xac\x9e\xd1\xf7" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\xac\x9e\xd1\xf7\xe7" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\xac\x9e\xd1\xc7\xf7" } , { "\xb8\xe8\xb9\xe8\xd1" , "\xac\x9e\xf2\xf7" } , { "\xb8\xe8\xb9\xe8\xd4" , "\x4a\xcb\xf4\x4b\xcb\xf7\xbe" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\x4a\xcb\xf4\x4b\xcb\xf7\xbe\xe7" } , { "\xb8\xe8\xbd" , "\xac\x4f\xf4" } , { "\xb8\xe8\xbd\xdb" , "\xd7\xac\x4f\xf4" } , { "\xb8\xe8\xbd\xdb\xa2" , "\xd7\xac\x4f\xf4\x65" } , { "\xb8\xe8\xbd\xe1" , "\xe6\xac\x4f\xf4" } , { "\xb8\xe8\xbd\xe2" , "\xe8\xac\x4f\xf4" } , { "\xb8\xe8\xbf\xdb" , "\xd7\xac\x51\xf6" } , { "\xb8\xe8\xbf\xe8" , "\xac\x51\xcb\xf6" } , { "\xb8\xe8\xc2" , "\xac\x54\xf6" } , { "\xb8\xe8\xc2\xe1\xa2" , "\xe5\xac\x54\xf6\x65" } , { "\xb8\xe8\xc3" , "\xac\x55" } , { "\xb8\xe8\xc4\xdb" , "\xd7\xac\x56" } , { "\xb8\xe8\xc6" , "\xac\xf3\xf4" } , { "\xb8\xe8\xc6\xa2" , "\xac\xf3\xf4\x65" } , { "\xb8\xe8\xc6\xdb" , "\xd7\xac\xf3\xf4" } , { "\xb8\xe8\xc6\xdd" , "\xac\xf3\xc7\xf4" } , { "\xb8\xe8\xc6\xe4" , "\xe6\xac\xf3\xf4\xe7" } , { "\xb8\xe8\xc8" , "\xac\x59" } , { "\xb8\xe8\xc8\xe0" , "\xe5\xac\x59" } , { "\xb8\xe8\xc8\xe8\xcf" , "\xac\x59\xd2" } , { "\xb8\xe8\xca\xda" , "\xac\xbc\xf4\xe7" } , { "\xb8\xe8\xca\xdd" , "\xac\xbc\xc7\xf4" } , { "\xb8\xe8\xca\xe5" , "\xe6\xac\xbc\xf4\xe7" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\xe6\xac\x5b\xfd\xc0\x65" } , { "\xb8\xe8\xcc" , "\x4a\x5d" } , { "\xb8\xe8\xcc\xdc" , "\x4a\x5d\xdd" } , { "\xb8\xe8\xcc\xe0" , "\xe6\x4a\x5d" } , { "\xb8\xe8\xcc\xe0\xa2" , "\xe6\x4a\x5d\x65" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\xe5\xac\x90\xf6" } , { "\xb8\xe8\xcd" , "\xac\xcc\x5e" } , { "\xb8\xe8\xcd\xa2" , "\xac\xcc\x5e\x65" } , { "\xb8\xe8\xcd\xda" , "\xac\xcc\x5e\xe7" } , { "\xb8\xe8\xcd\xda\xa2" , "\xac\xcc\x5e\xe7\x65" } , { "\xb8\xe8\xcd\xdd" , "\xac\xcc\x5e\xc7" } , { "\xb8\xe8\xcd\xde" , "\xac\xcc\x5e\xc9" } , { "\xb8\xe8\xcd\xde\xa2" , "\xac\xcc\x5e\xc9\x65" } , { "\xb8\xe8\xcd\xe5" , "\xe5\xac\xcc\x5e\xe7" } , { "\xb8\xe8\xcd\xe6" , "\xe5\xac\xcc\x5e\xec" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x4a\xcb\xf4\xcc\x5e\xcb\xcc\x5e" } , { "\xb8\xe8\xcf" , "\xac\xcf\xf4" } , { "\xb8\xe8\xcf\xda" , "\xac\xcf\xf4\xe7" } , { "\xb8\xe8\xcf\xdb" , "\xd7\xac\xcf\xf4" } , { "\xb8\xe8\xcf\xdc" , "\xac\xcf\xf4\xdd" } , { "\xb8\xe8\xcf\xde" , "\xac\xcf\xc9\xf4" } , { "\xb8\xe8\xcf\xde\xa2" , "\xac\xcf\xc9\xf4\x65" } , { "\xb8\xe8\xcf\xe5" , "\xe6\xac\xcf\xf4\xe7" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x4a\xcb\xf4\xbb\xcb\x24\x4b\xf7" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x4a\xcb\xf4\xbb\xcb\x24\x4b\xf7\xe7" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\x4a\xcb\xf4\xbb\xcb\xd7\x24\x4b\xf7" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x4a\xcb\xf4\xbb\xcb\xcc\x5e" } , { "\xb8\xe8\xd1" , "\xac\xf2\xf4" } , { "\xb8\xe8\xd1\xda" , "\xac\xf2\xf4\xe7" } , { "\xb8\xe8\xd1\xdb" , "\xd7\xac\xf2\xf4" } , { "\xb8\xe8\xd1\xdc" , "\xac\xf2\xf4\xdd" } , { "\xb8\xe8\xd1\xdd" , "\xac\xf2\xc7\xf4" } , { "\xb8\xe8\xd1\xde" , "\xac\xf2\xc9\xf4" } , { "\xb8\xe8\xd1\xe5" , "\xe6\xac\xf2\xf4\xe7" } , { "\xb8\xe8\xd4" , "\xac\xbe" } , { "\xb8\xe8\xd4\xda" , "\xac\xbe\xe7" } , { "\xb8\xe8\xd4\xda\xa2" , "\xac\xbe\xe7\x65" } , { "\xb8\xe8\xd4\xe1" , "\xe5\xac\xbe" } , { "\xb8\xe8\xd4\xe2" , "\xe9\xac\xbe" } , { "\xb8\xe8\xd7" , "\xac\x61" } , { "\xb8\xe8\xd7\xe1" , "\xe5\xac\x61" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\x4a\xcb\xf4\xd7\xba\x4f\xf4" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x4a\xcb\xf4\xe6\xba\x4f\xf4\xe7" } , { "\xb8\xe8\xd8" , "\xac\x63\xf7" } , { "\xb8\xe8\xd8\xda" , "\xac\x63\xf7\xe7" } , { "\xb8\xe8\xd8\xe6" , "\xe5\xac\x63\xf7\xec" } , { "\xb8\xe8\xd9\xa6" , "\xac\x2b" } , { "\xb8\xe8\xe8" , "\x24\x4a\xcb\xf4" } , { "\xb8\xe8\xe9\xcf" , "\xac\xcf\xf4" } , { "\xb8\xe9" , "\x24\x4a\xf4" } , { "\xb9" , "\x24\x4b\xf7" } , { "\xb9\xa1" , "\x24\x4b\x67\xf7" } , { "\xb9\xa2" , "\x24\x4b\xf7\x65" } , { "\xb9\xa3" , "\x24\x4b\xf7\x66" } , { "\xb9\xce\xb4" , "\x24\x4b\xf7\x5e\x46" } , { "\xb9\xd9\xc5" , "\x24\x4b\xf7\x57\xfd" } , { "\xb9\xd9\xd1" , "\x24\x4b\xf7\x5f" } , { "\xb9\xda" , "\x24\x4b\xf7\xe7" } , { "\xb9\xda\xa1" , "\x24\x4b\x67\xf7\xe7" } , { "\xb9\xda\xa2" , "\x24\x4b\xf7\xe7\x65" } , { "\xb9\xdb" , "\xd7\x24\x4b\xf7" } , { "\xb9\xdb\xa2" , "\xd7\x24\x4b\xf7\x65" } , { "\xb9\xdc" , "\x24\x4b\xf7\xdd" } , { "\xb9\xdc\xa2" , "\x24\x4b\xf7\xdd\x65" } , { "\xb9\xdd" , "\x24\x4b\xc7\xf7" } , { "\xb9\xdd\xa2" , "\x24\x4b\xc7\xf7\x65" } , { "\xb9\xde" , "\x24\x4b\xc9\xf7" } , { "\xb9\xde\xa1" , "\x24\x4b\x67\xc9\xf7" } , { "\xb9\xde\xa2" , "\x24\x4b\xc9\xf7\x65" } , { "\xb9\xdf" , "\x24\x4b\xca\xf7" } , { "\xb9\xe0" , "\xe6\x24\x4b\xf7" } , { "\xb9\xe0\xa2" , "\xe6\x24\x4b\xf7\x65" } , { "\xb9\xe1" , "\xe6\x24\x4b\xf7" } , { "\xb9\xe1\xa2" , "\xe6\x24\x4b\xf7\x65" } , { "\xb9\xe2" , "\xe8\x24\x4b\xf7" } , { "\xb9\xe2\xa2" , "\xe8\x24\x4b\xf7\x65" } , { "\xb9\xe4" , "\xe6\x24\x4b\xf7\xe7" } , { "\xb9\xe5" , "\xe6\x24\x4b\xf7\xe7" } , { "\xb9\xe5\xa2" , "\xe6\x24\x4b\xf7\xe7\x65" } , { "\xb9\xe6" , "\xe6\x24\x4b\xf7\xec" } , { "\xb9\xe6\xa2" , "\xe6\x24\x4b\xf7\xec\x65" } , { "\xb9\xe8" , "\x24\x4b\xcb\xf7" } , { "\xb9\xe8\xb8" , "\x4b\xcb\xf7\x24\x4a\xf4" } , { "\xb9\xe8\xb9" , "\x4b\xcb\xf7\x24\x4b\xf7" } , { "\xb9\xe8\xb9\xda" , "\x4b\xcb\xf7\x24\x4b\xf7\xe7" } , { "\xb9\xe8\xc2\xda" , "\x4b\xcb\xf7\x54\xf6\xe7" } , { "\xb9\xe8\xc4" , "\x4b\xcb\xf7\x56" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x9e\xf3\xc7\xf7\x65" } , { "\xb9\xe8\xc8\xda" , "\x4b\xcb\xf7\x59\xe7" } , { "\xb9\xe8\xcd\xda" , "\x4b\xcb\xf7\xcc\x5e\xe7" } , { "\xb9\xe8\xcd\xe1" , "\x4b\xcb\xf7\xe6\xcc\x5e" } , { "\xb9\xe8\xd4\xda" , "\x4b\xcb\xf7\xbe\xe7" } , { "\xb9\xe8\xe8" , "\x24\x4b\xcb\xf7" } , { "\xb9\xe9" , "\x24\x4b\xf7" } , { "\xba" , "\x4c" } , { "\xba\xa1" , "\x4c\xf1" } , { "\xba\xa2" , "\x4c\x65" } , { "\xba\xa2\xa2" , "\x4c\x65\x65" } , { "\xba\xa3" , "\x4c\x66" } , { "\xba\xd9\xc5" , "\x4c\x57\xfd" } , { "\xba\xda" , "\x4c\xe7" } , { "\xba\xda\xa1" , "\x4c\xf1\xe7" } , { "\xba\xda\xa2" , "\x4c\xe7\x65" } , { "\xba\xda\xa3" , "\x4c\xe7\x66" } , { "\xba\xdb" , "\xd7\x4c" } , { "\xba\xdb\xa2" , "\xd7\x4c\x65" } , { "\xba\xdc" , "\x4c\xdd" } , { "\xba\xdc\xa2" , "\x4c\xdd\x65" } , { "\xba\xdd" , "\x4c\xc7" } , { "\xba\xdd\xa2" , "\x4c\xc7\x65" } , { "\xba\xdd\xa3" , "\x4c\xc7\x66" } , { "\xba\xde" , "\x4c\xc9" } , { "\xba\xde\xa1" , "\x4c\xf1\xc9" } , { "\xba\xde\xa2" , "\x4c\xc9\x65" } , { "\xba\xdf" , "\x4c\xca" } , { "\xba\xdf\xa2" , "\x4c\xca\x65" } , { "\xba\xe0" , "\xe5\x4c" } , { "\xba\xe0\xa2" , "\xe5\x4c\x65" } , { "\xba\xe1" , "\xe5\x4c" } , { "\xba\xe1\xa2" , "\xe5\x4c\x65" } , { "\xba\xe2" , "\xe9\x4c" } , { "\xba\xe2\xa2" , "\xe9\x4c\x65" } , { "\xba\xe3" , "\xe5\x4c" } , { "\xba\xe4" , "\xe5\x4c\xe7" } , { "\xba\xe4\xa2" , "\xe5\x4c\xe7\x65" } , { "\xba\xe5" , "\xe5\x4c\xe7" } , { "\xba\xe5\xa2" , "\xe5\x4c\xe7\x65" } , { "\xba\xe6" , "\xe5\x4c\xec" } , { "\xba\xe7" , "\xe5\x4c\xe7" } , { "\xba\xe8" , "\x4c\xcb" } , { "\xba\xe8\xb3" , "\x4c\xcb\x45\xf5" } , { "\xba\xe8\xb3\xda" , "\x4c\xcb\x45\xf5\xe7" } , { "\xba\xe8\xb3\xdb" , "\x4c\xcb\xd7\x45\xf5" } , { "\xba\xe8\xb3\xdc" , "\x4c\xcb\x45\xf5\xdd" } , { "\xba\xe8\xb3\xdd" , "\x4c\xcb\x45\xc7\xf5" } , { "\xba\xe8\xb3\xe1" , "\x4c\xcb\xe5\x45\xf5" } , { "\xba\xe8\xb3\xe2" , "\x4c\xcb\xe9\x45\xf5" } , { "\xba\xe8\xb3\xe5" , "\x4c\xcb\xe5\x45\xf5\xe7" } , { "\xba\xe8\xb3\xe8\xbd" , "\x4c\xcb\x6b\xf4" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x4c\xcb\xe6\xa8\xd8\xda\xf6\xe7" } , { "\xba\xe8\xb4\xda" , "\x4c\xcb\x46\xe7" } , { "\xba\xe8\xb5" , "\x4c\xcb\x47" } , { "\xba\xe8\xb5\xa2" , "\x4c\xcb\x47\x65" } , { "\xba\xe8\xb5\xda" , "\x4c\xcb\x47\xe7" } , { "\xba\xe8\xb5\xda\xa2" , "\x4c\xcb\x47\xe7\x65" } , { "\xba\xe8\xb5\xe1" , "\x4c\xcb\xe5\x47" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x4c\xcb\x47\xd0\xe7" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x4c\xcb\xe6\x47\xd0" } , { "\xba\xe8\xb6" , "\x4c\xcb\x48" } , { "\xba\xe8\xb6\xda" , "\x4c\xcb\x48\xe7" } , { "\xba\xe8\xb8\xda" , "\x4c\xcb\x24\x4a\xf4\xe7" } , { "\xba\xe8\xb8\xdd" , "\x4c\xcb\x24\x4a\xc7\xf4" } , { "\xba\xe8\xb8\xe1" , "\x4c\xcb\xe6\x24\x4a\xf4" } , { "\xba\xe8\xba" , "\x80" } , { "\xba\xe8\xba\xa2" , "\x80\x65" } , { "\xba\xe8\xba\xda" , "\x80\xe7" } , { "\xba\xe8\xba\xdb" , "\xd7\x80" } , { "\xba\xe8\xba\xdc" , "\x80\xdd" } , { "\xba\xe8\xba\xdd" , "\x80\xc7" } , { "\xba\xe8\xba\xde" , "\x80\xc9" } , { "\xba\xe8\xba\xdf\xa2" , "\x80\xca\x65" } , { "\xba\xe8\xba\xe0" , "\xe5\x80" } , { "\xba\xe8\xba\xe1" , "\xe5\x80" } , { "\xba\xe8\xba\xe2" , "\xe9\x80" } , { "\xba\xe8\xba\xe5" , "\xe5\x80\xe7" } , { "\xba\xe8\xba\xe5\xa2" , "\xe5\x80\xe7\x65" } , { "\xba\xe8\xba\xe8" , "\x80\xcb" } , { "\xba\xe8\xba\xe8\xcd" , "\x4c\xcb\x4c\xcb\xcc\x5e" } , { "\xba\xe8\xba\xe8\xd4" , "\x4c\xcb\x4c\xcb\xbe" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x4c\xcb\x4c\xcb\xe5\xbe" } , { "\xba\xe8\xba\xe9" , "\x80" } , { "\xba\xe8\xba\xe9\xdb" , "\xd7\x80" } , { "\xba\xe8\xbb" , "\xad" } , { "\xba\xe8\xbb\xda" , "\xad\xe7" } , { "\xba\xe8\xbb\xdb" , "\xd7\xad" } , { "\xba\xe8\xbb\xdc" , "\xad\xdd" } , { "\xba\xe8\xbb\xdd" , "\xad\xc7" } , { "\xba\xe8\xbb\xde" , "\xad\xc9" } , { "\xba\xe8\xbb\xe1" , "\xe5\xad" } , { "\xba\xe8\xbb\xe8\xd4" , "\x4c\xcb\x4d\xcb\xf5\xbe" } , { "\xba\xe8\xbc" , "\x70\xfb" } , { "\xba\xe8\xbc\xa2" , "\x70\xfb\x65" } , { "\xba\xe8\xbc\xa3" , "\x70\xfb\x66" } , { "\xba\xe8\xbc\xda" , "\x70\xfb\xe7" } , { "\xba\xe8\xbc\xda\xa2" , "\x70\xfb\xe7\x65" } , { "\xba\xe8\xbc\xdb" , "\xd7\x70\xfb" } , { "\xba\xe8\xbc\xdc" , "\x70\xfb\xdd" } , { "\xba\xe8\xbc\xdd" , "\x70\xc7\xfb" } , { "\xba\xe8\xbc\xe0" , "\xe5\x70\xfb" } , { "\xba\xe8\xbc\xe1" , "\xe5\x70\xfb" } , { "\xba\xe8\xbc\xe2\xa3" , "\xe9\x70\xfb\x66" } , { "\xba\xe8\xbc\xe5" , "\xe5\x70\xfb\xe7" } , { "\xba\xe8\xbc\xe5\xa2" , "\xe5\x70\xfb\xe7\x65" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x4c\xcb\x41\xcb\xd5\x58\xe7" } , { "\xba\xe8\xbc\xe8\xcc" , "\x4c\xcb\x41\xcb\xd5\x5d" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x4c\xcb\x41\xcb\xd5\x5d\xe7" } , { "\xba\xe8\xbc\xe8\xcd" , "\x4c\xcb\x41\xcb\xd5\xcc\x5e" } , { "\xba\xe8\xbd\xda" , "\x4c\xcb\x24\x4f\xf4\xe7" } , { "\xba\xe8\xbd\xdd" , "\x4c\xcb\x24\x4f\xc7\xf4" } , { "\xba\xe8\xbd\xe0" , "\x4c\xcb\xe6\x24\x4f\xf4" } , { "\xba\xe8\xbd\xe5" , "\x4c\xcb\xe6\x24\x4f\xf4\xe7" } , { "\xba\xe8\xbe" , "\x4c\xcb\x50\xf6" } , { "\xba\xe8\xbe\xdd" , "\x4c\xcb\x50\xc7\xf6" } , { "\xba\xe8\xbe\xe5" , "\x4c\xcb\xe6\x50\xf6\xe7" } , { "\xba\xe8\xbf" , "\x4c\xcb\x51\xf6" } , { "\xba\xe8\xbf\xda" , "\x4c\xcb\x51\xf6\xe7" } , { "\xba\xe8\xbf\xdb" , "\x4c\xcb\xd7\x51\xf6" } , { "\xba\xe8\xbf\xdd" , "\x4c\xcb\x51\xc7\xf6" } , { "\xba\xe8\xbf\xe1" , "\x4c\xcb\xe5\x51\xf6" } , { "\xba\xe8\xbf\xe2" , "\x4c\xcb\xe9\x51\xf6" } , { "\xba\xe8\xbf\xe8" , "\x4c\xcb\x51\xcb\xf6" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x4c\xcb\xaf\x41\xd5\xe7" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x4c\xcb\xe6\xaf\xf3\xf6" } , { "\xba\xe8\xbf\xe9" , "\x4c\xcb\x51\xcd\xf6" } , { "\xba\xe8\xc0" , "\x4c\xcb\x24\x52\xf4" } , { "\xba\xe8\xc0\xa2" , "\x4c\xcb\x24\x52\xf4\x65" } , { "\xba\xe8\xc0\xda" , "\x4c\xcb\x24\x52\xf4\xe7" } , { "\xba\xe8\xc0\xdb" , "\x4c\xcb\xd7\x24\x52\xf4" } , { "\xba\xe8\xc0\xdd" , "\x4c\xcb\x24\x52\xc7\xf4" } , { "\xba\xe8\xc0\xe1" , "\x4c\xcb\xe6\x24\x52\xf4" } , { "\xba\xe8\xc0\xe5" , "\x4c\xcb\xe6\x24\x52\xf4\xe7" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x4c\xcb\x52\xcb\xf4\x41\xd5\xe7" } , { "\xba\xe8\xc2" , "\x4c\xcb\x54\xf6" } , { "\xba\xe8\xc2\xe5" , "\x4c\xcb\xe5\x54\xf6\xe7" } , { "\xba\xe8\xc2\xe8\xcf" , "\x4c\xcb\x79" } , { "\xba\xe8\xc4" , "\x4c\xcb\x56" } , { "\xba\xe8\xc4\xda" , "\x4c\xcb\x56\xe7" } , { "\xba\xe8\xc4\xdb" , "\x4c\xcb\xd7\x56" } , { "\xba\xe8\xc4\xde" , "\x4c\xcb\x56\xc9" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x4c\xcb\x56\xd0\xd6" } , { "\xba\xe8\xc6" , "\x4c\xcb\x58" } , { "\xba\xe8\xc6\xda" , "\x4c\xcb\x58\xe7" } , { "\xba\xe8\xc6\xdb" , "\xd7\x4c\xcb\x58" } , { "\xba\xe8\xc6\xdc" , "\x4c\xcb\x58\xdd" } , { "\xba\xe8\xc6\xdd" , "\x4c\xcb\x58\xc7" } , { "\xba\xe8\xc6\xdd\xa2" , "\x4c\xcb\x58\xc7\x65" } , { "\xba\xe8\xc6\xde" , "\x4c\xcb\x58\xc9" } , { "\xba\xe8\xc6\xe1" , "\xe5\x4c\xcb\x58" } , { "\xba\xe8\xc6\xe6" , "\xe5\x4c\xcb\x58\xec" } , { "\xba\xe8\xc8" , "\x4c\xcb\x59" } , { "\xba\xe8\xc8\xda" , "\x4c\xcb\x59\xe7" } , { "\xba\xe8\xc8\xdd" , "\x4c\xcb\x59\xc7" } , { "\xba\xe8\xc8\xde" , "\x4c\xcb\x59\xc9" } , { "\xba\xe8\xc8\xe2" , "\x4c\xcb\xe9\x59" } , { "\xba\xe8\xc8\xe5" , "\x4c\xcb\xe5\x59\xe7" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x4c\xcb\xe6\x59\xd2" } , { "\xba\xe8\xc9\xe2" , "\x4c\xcb\xe9\x5a\xf5" } , { "\xba\xe8\xc9\xe8\xc9" , "\x4c\xcb\x5a\xcb\xf5\x5a\xf5" } , { "\xba\xe8\xca" , "\x4c\x9d" } , { "\xba\xe8\xca\xda" , "\x4c\x9d\xe7" } , { "\xba\xe8\xca\xe0" , "\xe5\x4c\x9d" } , { "\xba\xe8\xca\xe0\xa2" , "\xe5\x4c\x9d\x65" } , { "\xba\xe8\xca\xe1" , "\xe5\x4c\x9d" } , { "\xba\xe8\xca\xe2" , "\xe9\x4c\x9d" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x4c\xcb\x5b\xfd\xcb\x45\xcb\xf5" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x4c\xcb\x5b\xfd\xcb\x47\xcb" } , { "\xba\xe8\xcb\xde" , "\x4c\xcb\x5c\xc9\xf6" } , { "\xba\xe8\xcb\xe1" , "\x4c\xcb\xe5\x5c\xf6" } , { "\xba\xe8\xcc" , "\x4c\xbd" } , { "\xba\xe8\xcc\xa2" , "\x4c\xbd\x65" } , { "\xba\xe8\xcc\xda" , "\x4c\xbd\xe7" } , { "\xba\xe8\xcc\xdb" , "\xd7\x4c\xbd" } , { "\xba\xe8\xcc\xdc" , "\x4c\xbd\xdd" } , { "\xba\xe8\xcc\xdd" , "\x4c\xbd\xc6" } , { "\xba\xe8\xcc\xde" , "\x4c\xbd\xc8" } , { "\xba\xe8\xcc\xe0" , "\xe5\x4c\xbd" } , { "\xba\xe8\xcc\xe0\xa2" , "\xe5\x4c\xbd\x65" } , { "\xba\xe8\xcc\xe1" , "\xe5\x4c\xbd" } , { "\xba\xe8\xcc\xe1\xa2" , "\xe5\x4c\xbd\x65" } , { "\xba\xe8\xcc\xe5" , "\xe5\x4c\xbd\xe7" } , { "\xba\xe8\xcd" , "\x4c\xcb\xcc\x5e" } , { "\xba\xe8\xcd\xa2" , "\x4c\xcb\xcc\x5e\x65" } , { "\xba\xe8\xcd\xda" , "\x4c\xcb\xcc\x5e\xe7" } , { "\xba\xe8\xcd\xda\xa1" , "\x4c\xcb\xcc\x5e\xf1\xe7" } , { "\xba\xe8\xcd\xda\xa2" , "\x4c\xcb\xcc\x5e\xe7\x65" } , { "\xba\xe8\xcd\xdb" , "\x4c\xcb\xd7\xcc\x5e" } , { "\xba\xe8\xcd\xdc" , "\x4c\xcb\xcc\x5e\xdd" } , { "\xba\xe8\xcd\xdd" , "\x4c\xcb\xcc\x5e\xc7" } , { "\xba\xe8\xcd\xdd\xa2" , "\x4c\xcb\xcc\x5e\xc7\x65" } , { "\xba\xe8\xcd\xde" , "\x4c\xcb\xcc\x5e\xc9" } , { "\xba\xe8\xcd\xde\xa1" , "\x4c\xcb\xcc\x5e\xf1\xc9" } , { "\xba\xe8\xcd\xde\xa2" , "\x4c\xcb\xcc\x5e\xc9\x65" } , { "\xba\xe8\xcd\xe0" , "\x4c\xcb\xe5\xcc\x5e" } , { "\xba\xe8\xcd\xe0\xa2" , "\x4c\xcb\xe5\xcc\x5e\x65" } , { "\xba\xe8\xcd\xe1" , "\x4c\xcb\xe5\xcc\x5e" } , { "\xba\xe8\xcd\xe4" , "\x4c\xcb\xe5\xcc\x5e\xe7" } , { "\xba\xe8\xcd\xe5" , "\x4c\xcb\xe5\xcc\x5e\xe7" } , { "\xba\xe8\xcd\xe5\xa2" , "\x4c\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xba\xe8\xcd\xe6" , "\x4c\xcb\xe5\xcc\x5e\xec" } , { "\xba\xe8\xcd\xe8\xcf" , "\x4c\xcb\x5e\xd0" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x4c\xcb\x5e\xd0\x65" } , { "\xba\xe8\xcf" , "\x71" } , { "\xba\xe8\xcf\xa2" , "\x71\x65" } , { "\xba\xe8\xcf\xda" , "\x71\xe7" } , { "\xba\xe8\xcf\xda\xa2" , "\x71\xe7\x65" } , { "\xba\xe8\xcf\xdb" , "\xd7\x71" } , { "\xba\xe8\xcf\xdc" , "\x71\xdd" } , { "\xba\xe8\xcf\xe1" , "\xe6\x71" } , { "\xba\xe8\xcf\xe4" , "\xe6\x71\xe7" } , { "\xba\xe8\xcf\xe5" , "\xe6\x71\xe7" } , { "\xba\xe8\xd1" , "\x4c\xcb\x5f" } , { "\xba\xe8\xd1\xda" , "\x4c\xcb\x5f\xe7" } , { "\xba\xe8\xd1\xdb" , "\xd7\x4c\xcb\x5f" } , { "\xba\xe8\xd1\xdc" , "\x4c\xcb\x5f\xdd" } , { "\xba\xe8\xd1\xdd" , "\x4c\xcb\x5f\xc7" } , { "\xba\xe8\xd1\xe5" , "\xe5\x4c\xcb\x5f\xe7" } , { "\xba\xe8\xd4" , "\x4c\xcb\xbe" } , { "\xba\xe8\xd4\xa2" , "\x4c\xcb\xbe\x65" } , { "\xba\xe8\xd4\xda" , "\x4c\xcb\xbe\xe7" } , { "\xba\xe8\xd4\xdb" , "\x4c\xcb\xd7\xbe" } , { "\xba\xe8\xd4\xdc" , "\x4c\xcb\xbe\xdd" } , { "\xba\xe8\xd4\xdd" , "\x4c\xcb\xbe\xc7" } , { "\xba\xe8\xd4\xdf" , "\x4c\xcb\xbe\xca" } , { "\xba\xe8\xd4\xe0" , "\x4c\xcb\xe5\xbe" } , { "\xba\xe8\xd4\xe1" , "\x4c\xcb\xe5\xbe" } , { "\xba\xe8\xd4\xe7" , "\x4c\xcb\xe5\xbe\xe7" } , { "\xba\xe8\xd4\xe8\xba" , "\x4c\xcb\x8b" } , { "\xba\xe8\xd5\xda" , "\x4c\xcb\x60\xe7" } , { "\xba\xe8\xd6\xda" , "\x4c\xcb\x62\xe7" } , { "\xba\xe8\xd7" , "\x4c\xcb\x61" } , { "\xba\xe8\xd7\xdb\xa2" , "\x4c\xcb\xd7\x61\x65" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\x4c\xcb\xd7\x95\xf5" } , { "\xba\xe8\xd9\xba" , "\x4c\xcb\x4c" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x4c\xcb\xcc\x5e\xef" } , { "\xba\xe8\xe8" , "\x4c\xcb" } , { "\xba\xe8\xe9\xbc" , "\x70\xfb" } , { "\xba\xe8\xe9\xcf" , "\x71" } , { "\xba\xe9" , "\x4c" } , { "\xba\xe9\xa2" , "\x4c\x65" } , { "\xba\xe9\xbf\xe9" , "\x4c\x51\xcd\xf6" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x4c\xe4\x51\xcd\xf6\xe7\x65" } , { "\xba\xe9\xc7" , "\x4c\x58" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x4c\xb6\x91\xf6\xc7" } , { "\xba\xe9\xd4\xda" , "\x4c\xbe\xe7" } , { "\xba\xe9\xda" , "\x4c\xe7" } , { "\xba\xe9\xdb" , "\xd7\x4c" } , { "\xba\xe9\xdb\xa2" , "\xd7\x4c\x65" } , { "\xba\xe9\xdc" , "\x4c\xdd" } , { "\xba\xe9\xdd" , "\x4c\xc7" } , { "\xba\xe9\xde" , "\x4c\xc9" } , { "\xba\xe9\xe1" , "\xe5\x4c" } , { "\xba\xe9\xe1\xa2" , "\xe5\x4c\x65" } , { "\xba\xe9\xe2" , "\xe9\x4c" } , { "\xba\xe9\xe5" , "\xe5\x4c\xe7" } , { "\xba\xe9\xe5\xa2" , "\xe5\x4c\xe7\x65" } , { "\xba\xe9\xe8\xba" , "\x80" } , { "\xba\xe9\xe8\xba\xe9" , "\x80" } , { "\xba\xe9\xe8\xca\xda" , "\x4c\x9d\xe7" } , { "\xba\xe9\xe8\xcc" , "\x4c\xbd" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\xe5\x4c\xbd\xe7\x65" } , { "\xba\xe9\xe8\xcd\xda" , "\x4c\xcb\xcc\x5e\xe7" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x4c\xcc\xcb\xcc\x5e\xe7" } , { "\xbb" , "\x4d\xf5" } , { "\xbb\xa1" , "\x4d\x67\xf5" } , { "\xbb\xa2" , "\x4d\xf5\x65" } , { "\xbb\xa3" , "\x4d\xf5\x66" } , { "\xbb\xda" , "\x4d\xf5\xe7" } , { "\xbb\xda\xa1" , "\x4d\x67\xf5\xe7" } , { "\xbb\xda\xa2" , "\x4d\xf5\xe7\x65" } , { "\xbb\xdb" , "\xd7\x4d\xf5" } , { "\xbb\xdb\xa2" , "\xd7\x4d\xf5\x65" } , { "\xbb\xdc" , "\x4d\xf5\xdd" } , { "\xbb\xdc\xa2" , "\x4d\xf5\xdd\x65" } , { "\xbb\xdd" , "\x4d\xc7\xf5" } , { "\xbb\xdd\xa1" , "\x4d\x67\xc7\xf5" } , { "\xbb\xdd\xa2" , "\x4d\xc7\xf5\x65" } , { "\xbb\xde" , "\x4d\xc9\xf5" } , { "\xbb\xde\xa1" , "\x4d\x67\xc9\xf5" } , { "\xbb\xde\xa2" , "\x4d\xc9\xf5\x65" } , { "\xbb\xdf" , "\x4d\xca\xf5" } , { "\xbb\xe0" , "\xe5\x4d\xf5" } , { "\xbb\xe0\xa2" , "\xe5\x4d\xf5\x65" } , { "\xbb\xe1" , "\xe5\x4d\xf5" } , { "\xbb\xe1\xa2" , "\xe5\x4d\xf5\x65" } , { "\xbb\xe2" , "\xe9\x4d\xf5" } , { "\xbb\xe4" , "\xe5\x4d\xf5\xe7" } , { "\xbb\xe5" , "\xe5\x4d\xf5\xe7" } , { "\xbb\xe5\xa2" , "\xe5\x4d\xf5\xe7\x65" } , { "\xbb\xe6" , "\xe5\x4d\xf5\xec" } , { "\xbb\xe6\xa2" , "\xe5\x4d\xf5\xec\x65" } , { "\xbb\xe7" , "\xe5\x4d\xf5\xe7" } , { "\xbb\xe8" , "\x4d\xcb\xf5" } , { "\xbb\xe8\xb6\xdd" , "\x4d\xcb\xf5\x48\xc7" } , { "\xbb\xe8\xbb" , "\x4d\xcb\xf5\x4d\xf5" } , { "\xbb\xe8\xcd" , "\x4d\xcb\xf5\xcc\x5e" } , { "\xbb\xe8\xcf" , "\x4d\xd0\xf5" } , { "\xbb\xe8\xd4" , "\x4d\xcb\xf5\xbe" } , { "\xbb\xe8\xe8" , "\x4d\xcb\xf5" } , { "\xbb\xe8\xe9\xcf" , "\x4d\xd0\xf5" } , { "\xbb\xe9" , "\x4d\xf5" } , { "\xbc" , "\x41\xd5" } , { "\xbc\xa2" , "\x41\xd5\x65" } , { "\xbc\xa3" , "\x41\xd5\x66" } , { "\xbc\xda" , "\x41\xd5\xe7" } , { "\xbc\xdb" , "\xd7\x41\xd5" } , { "\xbc\xdc" , "\x41\xd5\xdd" } , { "\xbc\xdd" , "\x41\xc7\xd5" } , { "\xbc\xde" , "\x41\xc9\xd5" } , { "\xbc\xdf" , "\x41\xca\xd5" } , { "\xbc\xe0" , "\xe5\x41\xd5" } , { "\xbc\xe1" , "\xe5\x41\xd5" } , { "\xbc\xe2" , "\xe9\x41\xd5" } , { "\xbc\xe3" , "\xe5\x41\xd5" } , { "\xbc\xe4" , "\xe5\x41\xd5\xe7" } , { "\xbc\xe5" , "\xe5\x41\xd5\xe7" } , { "\xbc\xe5\xa2" , "\xe5\x41\xd5\xe7\x65" } , { "\xbc\xe6" , "\xe5\x41\xd5\xec" } , { "\xbc\xe8" , "\x41\xcb\xd5" } , { "\xbc\xe8\xb8" , "\x87\xfb" } , { "\xbc\xe8\xb8\xda" , "\x87\xfb\xe7" } , { "\xbc\xe8\xb8\xdb" , "\xd7\x87\xfb" } , { "\xbc\xe8\xb8\xdc" , "\x87\xfb\xdd" } , { "\xbc\xe8\xb8\xe0" , "\xe5\x87\xfb" } , { "\xbc\xe8\xb8\xe1" , "\xe5\x87\xfb" } , { "\xbc\xe8\xb8\xe4" , "\xe5\x87\xfb\xe7" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x41\xcb\xd5\xac\xcc\x5e\xe7\x65" } , { "\xbc\xe8\xba" , "\x74" } , { "\xbc\xe8\xba\xda" , "\x74\xe7" } , { "\xbc\xe8\xba\xdb" , "\xd7\x74" } , { "\xbc\xe8\xba\xdc" , "\x74\xdd" } , { "\xbc\xe8\xba\xdd" , "\x74\xc7" } , { "\xbc\xe8\xba\xe5\xa2" , "\xe5\x74\xe7\x65" } , { "\xbc\xe8\xbc" , "\x41\xcb\xd5\x41\xd5" } , { "\xbc\xe8\xbc\xda" , "\x41\xcb\xd5\x41\xd5\xe7" } , { "\xbc\xe8\xc1" , "\x41\xcb\xd5\x53" } , { "\xbc\xe8\xcd\xa2" , "\x41\xcb\xd5\xcc\x5e\x65" } , { "\xbc\xe8\xcd\xe5" , "\x41\xcb\xd5\xe5\xcc\x5e\xe7" } , { "\xbc\xe8\xd4" , "\x41\xcb\xd5\xbe" } , { "\xbc\xe9" , "\x41\xd5" } , { "\xbd" , "\x24\x4f\xf4" } , { "\xbd\xa1" , "\x24\x4f\xf0\xf4" } , { "\xbd\xa2" , "\x24\x4f\xf4\x65" } , { "\xbd\xa2\xa2" , "\x24\x4f\xf4\x65\x65" } , { "\xbd\xa3" , "\x24\x4f\xf4\x66" } , { "\xbd\xd9" , "\x24\x4f\xf4" } , { "\xbd\xda" , "\x24\x4f\xf4\xe7" } , { "\xbd\xda\xa1" , "\x24\x4f\xf0\xf4\xe7" } , { "\xbd\xda\xa2" , "\x24\x4f\xf4\xe7\x65" } , { "\xbd\xda\xa3" , "\x24\x4f\xf4\xe7\x66" } , { "\xbd\xdb" , "\xd7\x24\x4f\xf4" } , { "\xbd\xdb\xa2" , "\xd7\x24\x4f\xf4\x65" } , { "\xbd\xdc" , "\x24\x4f\xf4\xdd" } , { "\xbd\xdc\xa2" , "\x24\x4f\xf4\xdd\x65" } , { "\xbd\xdd" , "\x24\x4f\xc7\xf4" } , { "\xbd\xdd\xa2" , "\x24\x4f\xc7\xf4\x65" } , { "\xbd\xde" , "\x24\x4f\xc9\xf4" } , { "\xbd\xde\xa1" , "\x24\x4f\xf0\xc9\xf4" } , { "\xbd\xde\xa2" , "\x24\x4f\xc9\xf4\x65" } , { "\xbd\xdf" , "\x24\x4f\xca\xf4" } , { "\xbd\xe0" , "\xe6\x24\x4f\xf4" } , { "\xbd\xe0\xa2" , "\xe6\x24\x4f\xf4\x65" } , { "\xbd\xe1" , "\xe6\x24\x4f\xf4" } , { "\xbd\xe1\xa2" , "\xe6\x24\x4f\xf4\x65" } , { "\xbd\xe2" , "\xe8\x24\x4f\xf4" } , { "\xbd\xe2\xa2" , "\xe8\x24\x4f\xf4\x65" } , { "\xbd\xe3" , "\xe6\x24\x4f\xf4" } , { "\xbd\xe4" , "\xe6\x24\x4f\xf4\xe7" } , { "\xbd\xe4\xa2" , "\xe6\x24\x4f\xf4\xe7\x65" } , { "\xbd\xe5" , "\xe6\x24\x4f\xf4\xe7" } , { "\xbd\xe5\xa2" , "\xe6\x24\x4f\xf4\xe7\x65" } , { "\xbd\xe6" , "\xe6\x24\x4f\xf4\xec" } , { "\xbd\xe6\xa2" , "\xe6\x24\x4f\xf4\xec\x65" } , { "\xbd\xe7" , "\xe6\x24\x4f\xf4\xe7" } , { "\xbd\xe8" , "\x24\x4f\xcb\xf4" } , { "\xbd\xe8\xa6" , "\x24\x4f\xcb\xf4\x2b" } , { "\xbd\xe8\xb3" , "\xae\x45\xf5" } , { "\xbd\xe8\xb3\xa2" , "\xae\x45\xf5\x65" } , { "\xbd\xe8\xb3\xda" , "\xae\x45\xf5\xe7" } , { "\xbd\xe8\xb3\xda\xa2" , "\xae\x45\xf5\xe7\x65" } , { "\xbd\xe8\xb3\xdb" , "\xd7\xae\x45\xf5" } , { "\xbd\xe8\xb3\xdb\xa2" , "\xd7\xae\x45\xf5\x65" } , { "\xbd\xe8\xb3\xdc" , "\xae\x45\xf5\xdd" } , { "\xbd\xe8\xb3\xdd" , "\xae\x45\xc7\xf5" } , { "\xbd\xe8\xb3\xde" , "\xae\x45\xc9\xf5" } , { "\xbd\xe8\xb3\xe0" , "\xe5\xae\x45\xf5" } , { "\xbd\xe8\xb3\xe1" , "\xe5\xae\x45\xf5" } , { "\xbd\xe8\xb3\xe2" , "\xe9\xae\x45\xf5" } , { "\xbd\xe8\xb3\xe5" , "\xe5\xae\x45\xf5\xe7" } , { "\xbd\xe8\xb3\xe8\xd1" , "\xae\x7a\xf5" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\xae\x7a\xf5\xdd" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\xae\x6a\xcb" } , { "\xbd\xe8\xb5" , "\xae\x47" } , { "\xbd\xe8\xb5\xda" , "\xae\x47\xe7" } , { "\xbd\xe8\xb5\xe0" , "\xe5\xae\x47" } , { "\xbd\xe8\xb5\xe1" , "\xe5\xae\x47" } , { "\xbd\xe8\xb5\xe2" , "\xe9\xae\x47" } , { "\xbd\xe8\xb5\xe5" , "\xe5\xae\x47\xe7" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\xae\x47\xd0\x65" } , { "\xbd\xe8\xb7\xe8" , "\xae\x49\xcb\xf8" } , { "\xbd\xe8\xb8" , "\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xa2" , "\xae\x4a\xf4\x65" } , { "\xbd\xe8\xb8\xda" , "\xae\x4a\xf4\xe7" } , { "\xbd\xe8\xb8\xdb" , "\xd7\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xdb\xa2" , "\xd7\xae\x4a\xf4\x65" } , { "\xbd\xe8\xb8\xdd" , "\xae\x4a\xc7\xf4" } , { "\xbd\xe8\xb8\xe0" , "\xe6\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xe1" , "\xe6\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xe8" , "\xae\x4a\xcb\xf4" } , { "\xbd\xe8\xb9\xa2" , "\xae\x4b\xf7\x65" } , { "\xbd\xe8\xba" , "\xae\x4c" } , { "\xbd\xe8\xba\xa2" , "\xae\x4c\x65" } , { "\xbd\xe8\xba\xdc" , "\xae\x4c\xdd" } , { "\xbd\xe8\xba\xe0" , "\xe5\xae\x4c" } , { "\xbd\xe8\xba\xe1" , "\xe5\xae\x4c" } , { "\xbd\xe8\xba\xe8" , "\xae\x4c\xcb" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x4f\xcb\xf4\x4c\xcb\xe6\x47" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\xae\x4c\xcb\x58\xc7\x65" } , { "\xbd\xe8\xbd" , "\x76\xf4" } , { "\xbd\xe8\xbd\xa2" , "\x76\xf4\x65" } , { "\xbd\xe8\xbd\xa3" , "\x76\xf4\x66" } , { "\xbd\xe8\xbd\xda" , "\x76\xf4\xe7" } , { "\xbd\xe8\xbd\xda\xa2" , "\x76\xf4\xe7\x65" } , { "\xbd\xe8\xbd\xda\xa3" , "\x76\xf4\xe7\x66" } , { "\xbd\xe8\xbd\xdb" , "\xd7\x76\xf4" } , { "\xbd\xe8\xbd\xdb\xa2" , "\xd7\x76\xf4\x65" } , { "\xbd\xe8\xbd\xdc" , "\x76\xf4\xdd" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x76\xf4\xdd\x65" } , { "\xbd\xe8\xbd\xdd" , "\x76\xc7\xf4" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x76\xc7\xf4\x65" } , { "\xbd\xe8\xbd\xde" , "\x76\xc9\xf4" } , { "\xbd\xe8\xbd\xe0" , "\xe6\x76\xf4" } , { "\xbd\xe8\xbd\xe0\xa2" , "\xe6\x76\xf4\x65" } , { "\xbd\xe8\xbd\xe1" , "\xe6\x76\xf4" } , { "\xbd\xe8\xbd\xe1\xa2" , "\xe6\x76\xf4\x65" } , { "\xbd\xe8\xbd\xe2" , "\xe8\x76\xf4" } , { "\xbd\xe8\xbd\xe2\xa2" , "\xe8\x76\xf4\x65" } , { "\xbd\xe8\xbd\xe4" , "\xe6\x76\xf4\xe7" } , { "\xbd\xe8\xbd\xe5" , "\xe6\x76\xf4\xe7" } , { "\xbd\xe8\xbd\xe5\xa2" , "\xe6\x76\xf4\xe7\x65" } , { "\xbd\xe8\xbd\xe6" , "\xe6\x76\xf4\xec" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x4f\xcb\xf4\xae\x45\xc7\xf5" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x4f\xcb\xf4\xae\x53" } , { "\xbd\xe8\xbd\xe8\xc6" , "\xae\xae\xf3\xf4" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\x4f\xcb\xf4\xe6\xae\x59" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x76\xf4\x98\xe7" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x76\xf4\x98\xcb" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\xae\xae\xbb\xc2" } , { "\xbd\xe8\xbd\xe8\xd4" , "\x4f\xcb\xf4\xae\xbe" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x4f\xcb\xf4\xae\x61\xc7" } , { "\xbd\xe8\xbe" , "\xae\x50\xf6" } , { "\xbd\xe8\xbe\xda" , "\xae\x50\xf6\xe7" } , { "\xbd\xe8\xbe\xdb" , "\xd7\xae\x50\xf6" } , { "\xbd\xe8\xbe\xdc" , "\xae\x50\xf6\xdd" } , { "\xbd\xe8\xbe\xdd" , "\xae\x50\xc7\xf6" } , { "\xbd\xe8\xbe\xde" , "\xae\x50\xc9\xf6" } , { "\xbd\xe8\xbe\xe1" , "\xe6\xae\x50\xf6" } , { "\xbd\xe8\xbe\xe5" , "\xe6\xae\x50\xf6\xe7" } , { "\xbd\xe8\xbe\xe5\xa2" , "\xe6\xae\x50\xf6\xe7\x65" } , { "\xbd\xe8\xbf" , "\xae\x51\xf6" } , { "\xbd\xe8\xbf\xdb" , "\xd7\xae\x51\xf6" } , { "\xbd\xe8\xbf\xdd" , "\xae\x51\xc7\xf6" } , { "\xbd\xe8\xbf\xe1" , "\xe5\xae\x51\xf6" } , { "\xbd\xe8\xbf\xe5" , "\xe5\xae\x51\xf6\xe7" } , { "\xbd\xe8\xbf\xe6" , "\xe5\xae\x51\xf6\xec" } , { "\xbd\xe8\xbf\xe8" , "\xae\x51\xcb\xf6" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\xae\x51\xce\xf6\xe7" } , { "\xbd\xe8\xc0\xdc" , "\xae\x52\xf4\xdd" } , { "\xbd\xe8\xc1\xa2" , "\xae\x53\x65" } , { "\xbd\xe8\xc2" , "\xae\x54\xf6" } , { "\xbd\xe8\xc2\xda" , "\xae\x54\xf6\xe7" } , { "\xbd\xe8\xc2\xdb\xa2" , "\xd7\xae\x54\xf6\x65" } , { "\xbd\xe8\xc2\xdc" , "\xae\x54\xf6\xdd" } , { "\xbd\xe8\xc2\xdd" , "\xae\x54\xc7\xf6" } , { "\xbd\xe8\xc2\xdd\xa2" , "\xae\x54\xc7\xf6\x65" } , { "\xbd\xe8\xc2\xde" , "\xae\x54\xc9\xf6" } , { "\xbd\xe8\xc2\xe0" , "\xe5\xae\x54\xf6" } , { "\xbd\xe8\xc2\xe1" , "\xe5\xae\x54\xf6" } , { "\xbd\xe8\xc2\xe4" , "\xe5\xae\x54\xf6\xe7" } , { "\xbd\xe8\xc2\xe5" , "\xe5\xae\x54\xf6\xe7" } , { "\xbd\xe8\xc2\xe5\xa2" , "\xe5\xae\x54\xf6\xe7\x65" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\xd7\xc5\xae\x79\x65" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\xe6\xae\x79" } , { "\xbd\xe8\xc4" , "\xae\x56" } , { "\xbd\xe8\xc4\xda" , "\xae\x56\xe7" } , { "\xbd\xe8\xc4\xe0" , "\xe5\xae\x56" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x4f\xcb\xf4\xb2\xbe\xe7" } , { "\xbd\xe8\xc5" , "\xae\x57\xfd" } , { "\xbd\xe8\xc6" , "\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xa2" , "\xae\xf3\xf4\x65" } , { "\xbd\xe8\xc6\xda" , "\xae\xf3\xf4\xe7" } , { "\xbd\xe8\xc6\xdb" , "\xd7\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xdb\xa2" , "\xd7\xae\xf3\xf4\x65" } , { "\xbd\xe8\xc6\xdc" , "\xae\xf3\xf4\xdd" } , { "\xbd\xe8\xc6\xdc\xa2" , "\xae\xf3\xf4\xdd\x65" } , { "\xbd\xe8\xc6\xdd" , "\xae\xf3\xc7\xf4" } , { "\xbd\xe8\xc6\xdd\xa2" , "\xae\xf3\xc7\xf4\x65" } , { "\xbd\xe8\xc6\xde" , "\xae\xf3\xc9\xf4" } , { "\xbd\xe8\xc6\xe0" , "\xe5\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xe1" , "\xe5\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xe1\xa2" , "\xe5\xae\xf3\xf4\x65" } , { "\xbd\xe8\xc6\xe5" , "\xe5\xae\xf3\xf4\xe7" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x4f\xcb\xf4\xb3\xcc\x5e\xc9" } , { "\xbd\xe8\xc8" , "\xae\x59" } , { "\xbd\xe8\xc8\xda" , "\xae\x59\xe7" } , { "\xbd\xe8\xc8\xdb" , "\xd7\xae\x59" } , { "\xbd\xe8\xc8\xdd" , "\xae\x59\xc7" } , { "\xbd\xe8\xc8\xde" , "\xae\x59\xc9" } , { "\xbd\xe8\xc8\xe1" , "\xe5\xae\x59" } , { "\xbd\xe8\xc8\xe2" , "\xe9\xae\x59" } , { "\xbd\xe8\xc8\xe8\xcf" , "\xae\x59\xd2" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\xae\x59\xd2\xe7" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\xe6\xae\x59\xc0" } , { "\xbd\xe8\xc9" , "\xae\x5a\xf5" } , { "\xbd\xe8\xc9\xa2" , "\xae\x5a\xf5\x65" } , { "\xbd\xe8\xc9\xda" , "\xae\x5a\xf5\xe7" } , { "\xbd\xe8\xc9\xda\xa2" , "\xae\x5a\xf5\xe7\x65" } , { "\xbd\xe8\xc9\xdb" , "\xd7\xae\x5a\xf5" } , { "\xbd\xe8\xc9\xdc" , "\xae\x5a\xf5\xdd" } , { "\xbd\xe8\xc9\xdd" , "\xae\x5a\xc7\xf5" } , { "\xbd\xe8\xc9\xe2" , "\xe9\xae\x5a\xf5" } , { "\xbd\xe8\xc9\xe5" , "\xe5\xae\x5a\xf5\xe7" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x4f\xcb\xf4\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\xe8\xae\x5a\xd0\xf5" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\xe8\xae\x6e\xf5" } , { "\xbd\xe8\xca" , "\xae\xbc\xf4" } , { "\xbd\xe8\xca\xda" , "\xae\xbc\xf4\xe7" } , { "\xbd\xe8\xca\xda\xa2" , "\xae\xbc\xf4\xe7\x65" } , { "\xbd\xe8\xca\xdd" , "\xae\xbc\xc7\xf4" } , { "\xbd\xe8\xca\xe0" , "\xe6\xae\xbc\xf4" } , { "\xbd\xe8\xca\xe5" , "\xe6\xae\xbc\xf4\xe7" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x4f\xcb\xf4\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x4f\xcb\xf4\x5b\xfd\xcb\xcc\x5e\xe7\x65" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\xae\x5b\xfd\xc0\xe7" } , { "\xbd\xe8\xcb\xdd" , "\xae\x5c\xc7\xf6" } , { "\xbd\xe8\xcb\xde" , "\xae\x5c\xc9\xf6" } , { "\xbd\xe8\xcb\xe8\xcf" , "\xae\x7d" } , { "\xbd\xe8\xcc" , "\x4f\x5d" } , { "\xbd\xe8\xcc\xa2" , "\x4f\x5d\x65" } , { "\xbd\xe8\xcc\xda" , "\x4f\x5d\xe7" } , { "\xbd\xe8\xcc\xdc" , "\x4f\x5d\xdd" } , { "\xbd\xe8\xcc\xe0" , "\xe6\x4f\x5d" } , { "\xbd\xe8\xcc\xe0\xa2" , "\xe6\x4f\x5d\x65" } , { "\xbd\xe8\xcc\xe2" , "\xe8\x4f\x5d" } , { "\xbd\xe8\xcc\xe4" , "\xe6\x4f\x5d\xe7" } , { "\xbd\xe8\xcc\xe5" , "\xe6\x4f\x5d\xe7" } , { "\xbd\xe8\xcc\xe8\xca" , "\xae\xb6\x91\xf6" } , { "\xbd\xe8\xcd" , "\xae\xcc\x5e" } , { "\xbd\xe8\xcd\xa2" , "\xae\xcc\x5e\x65" } , { "\xbd\xe8\xcd\xda" , "\xae\xcc\x5e\xe7" } , { "\xbd\xe8\xcd\xda\xa2" , "\xae\xcc\x5e\xe7\x65" } , { "\xbd\xe8\xcd\xdc\xa2" , "\xae\xcc\x5e\xdd\x65" } , { "\xbd\xe8\xcd\xdd" , "\xae\xcc\x5e\xc7" } , { "\xbd\xe8\xcd\xde" , "\xae\xcc\x5e\xc9" } , { "\xbd\xe8\xcd\xde\xa2" , "\xae\xcc\x5e\xc9\x65" } , { "\xbd\xe8\xcd\xe1" , "\xe5\xae\xcc\x5e" } , { "\xbd\xe8\xcd\xe4" , "\xe5\xae\xcc\x5e\xe7" } , { "\xbd\xe8\xcd\xe5" , "\xe5\xae\xcc\x5e\xe7" } , { "\xbd\xe8\xcd\xe5\xa2" , "\xe5\xae\xcc\x5e\xe7\x65" } , { "\xbd\xe8\xcf" , "\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xa2" , "\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xda" , "\xae\xcf\xf4\xe7" } , { "\xbd\xe8\xcf\xda\xa1" , "\xae\xcf\xf0\xf4\xe7" } , { "\xbd\xe8\xcf\xda\xa2" , "\xae\xcf\xf4\xe7\x65" } , { "\xbd\xe8\xcf\xdb" , "\xd7\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xdb\xa2" , "\xd7\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xdc" , "\xae\xcf\xf4\xdd" } , { "\xbd\xe8\xcf\xdd" , "\xae\xcf\xc7\xf4" } , { "\xbd\xe8\xcf\xde" , "\xae\xcf\xc9\xf4" } , { "\xbd\xe8\xcf\xe0" , "\xe6\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xe0\xa2" , "\xe6\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xe1" , "\xe6\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xe1\xa2" , "\xe6\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xe2" , "\xe8\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xe2\xa2" , "\xe8\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\xe8\xae\xcf\xf4\x58\xcb" } , { "\xbd\xe8\xcf\xe4" , "\xe6\xae\xcf\xf4\xe7" } , { "\xbd\xe8\xcf\xe5" , "\xe6\xae\xcf\xf4\xe7" } , { "\xbd\xe8\xcf\xe6" , "\xe6\xae\xcf\xf4\xec" } , { "\xbd\xe8\xcf\xe7" , "\xe6\xae\xcf\xf4\xe7" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\x4f\xcb\xf4\xbb\xcb\xd7\x45\xf5" } , { "\xbd\xe8\xcf\xe8\xc6" , "\xae\xbb\xc2" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x4f\xcb\xf4\xbb\xcb\x61" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x4f\xcb\xf4\xbb\xcb\x61\xcb" } , { "\xbd\xe8\xd1" , "\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xa2" , "\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xda" , "\xae\xf2\xf4\xe7" } , { "\xbd\xe8\xd1\xda\xa2" , "\xae\xf2\xf4\xe7\x65" } , { "\xbd\xe8\xd1\xdb" , "\xd7\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xdb\xa2" , "\xd7\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xdc" , "\xae\xf2\xf4\xdd" } , { "\xbd\xe8\xd1\xdd" , "\xae\xf2\xc7\xf4" } , { "\xbd\xe8\xd1\xdd\xa2" , "\xae\xf2\xc7\xf4\x65" } , { "\xbd\xe8\xd1\xde" , "\xae\xf2\xc9\xf4" } , { "\xbd\xe8\xd1\xe0" , "\xe6\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xe0\xa2" , "\xe6\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xe1" , "\xe6\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xe2" , "\xe8\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xe2\xa2" , "\xe8\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xe4" , "\xe6\xae\xf2\xf4\xe7" } , { "\xbd\xe8\xd1\xe5" , "\xe6\xae\xf2\xf4\xe7" } , { "\xbd\xe8\xd1\xe5\xa2" , "\xe6\xae\xf2\xf4\xe7\x65" } , { "\xbd\xe8\xd1\xe8" , "\xae\xf2\xcb\xf4" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\xae\x5f\xc2\xc7" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x4f\xcb\xf4\xb7\xcc\x5e\xe7\x65" } , { "\xbd\xe8\xd2\xdd" , "\xae\x5f\xc7" } , { "\xbd\xe8\xd4" , "\xae\xbe" } , { "\xbd\xe8\xd4\xa2" , "\xae\xbe\x65" } , { "\xbd\xe8\xd4\xda" , "\xae\xbe\xe7" } , { "\xbd\xe8\xd4\xda\xa2" , "\xae\xbe\xe7\x65" } , { "\xbd\xe8\xd4\xdb" , "\xd7\xae\xbe" } , { "\xbd\xe8\xd4\xdb\xa2" , "\xd7\xae\xbe\x65" } , { "\xbd\xe8\xd4\xdc" , "\xae\xbe\xdd" } , { "\xbd\xe8\xd4\xe0" , "\xe5\xae\xbe" } , { "\xbd\xe8\xd4\xe1" , "\xe5\xae\xbe" } , { "\xbd\xe8\xd4\xe2" , "\xe9\xae\xbe" } , { "\xbd\xe8\xd5" , "\xae\x60" } , { "\xbd\xe8\xd5\xda" , "\xae\x60\xe7" } , { "\xbd\xe8\xd5\xdb" , "\xd7\xae\x60" } , { "\xbd\xe8\xd6\xdb" , "\xd7\xae\x62" } , { "\xbd\xe8\xd6\xdc" , "\xae\x62\xdd" } , { "\xbd\xe8\xd6\xdd" , "\xae\x62\xc7" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\xd7\xae\x62\xc0" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\xae\x62\xc0\xdd" } , { "\xbd\xe8\xd7" , "\xae\x61" } , { "\xbd\xe8\xd7\xda" , "\xae\x61\xe7" } , { "\xbd\xe8\xd7\xdb" , "\xd7\xae\x61" } , { "\xbd\xe8\xd7\xdb\xa2" , "\xd7\xae\x61\x65" } , { "\xbd\xe8\xd7\xdd" , "\xae\x61\xc7" } , { "\xbd\xe8\xd7\xde" , "\xae\x61\xc9" } , { "\xbd\xe8\xd7\xe0" , "\xe5\xae\x61" } , { "\xbd\xe8\xd7\xe1" , "\xe5\xae\x61" } , { "\xbd\xe8\xd7\xe2" , "\xe9\xae\x61" } , { "\xbd\xe8\xd7\xe5" , "\xe5\xae\x61\xe7" } , { "\xbd\xe8\xd7\xe8" , "\xae\x61\xcb" } , { "\xbd\xe8\xd7\xe8\xb3" , "\xae\x95\xf5" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\xd7\xae\x95\xf5" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\xae\x95\xf5\xdd" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\xae\x95\xc7\xf5" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x4f\xcb\xf4\xba\x47\xe7" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\x4f\xcb\xf4\xd7\xba\x4a\xf4" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x4f\xcb\xf4\xe6\xba\x4a\xf4" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x4f\xcb\xf4\xba\x4f\xf4" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x4f\xcb\xf4\xba\x4f\xf4\xe7" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x4f\xcb\xf4\xe6\xba\x4f\xf4" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x4f\xcb\xf4\xe6\xba\x4f\xf4\x65" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\xe6\xae\xd8\x99\xf6\xe7" } , { "\xbd\xe8\xd7\xe8\xc3" , "\xae\xd8\x9a\xf6" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x4f\xcb\xf4\xba\x56" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xae\x61\xcb\xb2\xbe\xe7" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\xd7\xae\xd8\x6f\xf6" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\xae\xd8\x6f\xf6\xc7" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\xae\xd8\x6f\xf6\xc7\x65" } , { "\xbd\xe8\xd7\xe8\xca" , "\xae\xd8\x91\xf6" } , { "\xbd\xe8\xd7\xe8\xcc" , "\xae\xd8\xf6\x82" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\xd7\xae\xd8\xf6\x82" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\xe5\xae\xd8\xf6\x82" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x4f\xcb\xf4\xba\xcc\x5e\x65" } , { "\xbd\xe8\xd7\xe8\xd1" , "\xae\xd8\xda\xf6" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\xe6\xae\xd8\xda\xf6\xe7" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x4f\xcb\xf4\xba\xbe" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\x4f\xcb\xf4\xd7\xba\xbe\x65" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x4f\xcb\xf4\xe6\xba\xbe\xe7" } , { "\xbd\xe8\xd8\xda" , "\xae\x63\xf7\xe7" } , { "\xbd\xe8\xd8\xdc" , "\xae\x63\xf7\xdd" } , { "\xbd\xe8\xd8\xde" , "\xae\x63\xc9\xf7" } , { "\xbd\xe8\xd8\xe0" , "\xe5\xae\x63\xf7" } , { "\xbd\xe8\xd8\xe5" , "\xe5\xae\x63\xf7\xe7" } , { "\xbd\xe8\xd8\xe6" , "\xe5\xae\x63\xf7\xec" } , { "\xbd\xe8\xd9\xa6" , "\xae\x2b" } , { "\xbd\xe8\xd9\xbd" , "\xae\x24\x4f\xf4" } , { "\xbd\xe8\xd9\xbd\xda" , "\xae\x24\x4f\xf4\xe7" } , { "\xbd\xe8\xd9\xbd\xdc" , "\xae\x24\x4f\xf4\xdd" } , { "\xbd\xe8\xd9\xbd\xe5" , "\xae\xe4\x24\x4f\xf4\xe7" } , { "\xbd\xe8\xd9\xbe\xdc" , "\xae\x50\xf6\xdd" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\xae\xcc\x5e\xc9\x65" } , { "\xbd\xe8\xd9\xd7" , "\xae\x61" } , { "\xbd\xe8\xe8" , "\x24\x4f\xcb\xf4" } , { "\xbe" , "\x50\xf6" } , { "\xbe\xa2" , "\x50\xf6\x65" } , { "\xbe\xa3" , "\x50\xf6\x66" } , { "\xbe\xda" , "\x50\xf6\xe7" } , { "\xbe\xda\xa1" , "\x50\xf6\x67\xe7" } , { "\xbe\xda\xa2" , "\x50\xf6\xe7\x65" } , { "\xbe\xdb" , "\xd7\x50\xf6" } , { "\xbe\xdb\xa2" , "\xd7\x50\xf6\x65" } , { "\xbe\xdc" , "\x50\xf6\xdd" } , { "\xbe\xdc\xa2" , "\x50\xf6\xdd\x65" } , { "\xbe\xdd" , "\x50\xc7\xf6" } , { "\xbe\xdd\xa2" , "\x50\xc7\xf6\x65" } , { "\xbe\xde" , "\x50\xc9\xf6" } , { "\xbe\xde\xa1" , "\x50\xf6\x67\xc9" } , { "\xbe\xde\xa2" , "\x50\xc9\xf6\x65" } , { "\xbe\xdf" , "\x50\xca\xf6" } , { "\xbe\xe0" , "\xe6\x50\xf6" } , { "\xbe\xe1" , "\xe6\x50\xf6" } , { "\xbe\xe1\xa2" , "\xe6\x50\xf6\x65" } , { "\xbe\xe2" , "\xe8\x50\xf6" } , { "\xbe\xe2\xa2" , "\xe8\x50\xf6\x65" } , { "\xbe\xe3" , "\xe6\x50\xf6" } , { "\xbe\xe4" , "\xe6\x50\xf6\xe7" } , { "\xbe\xe5" , "\xe6\x50\xf6\xe7" } , { "\xbe\xe5\xa2" , "\xe6\x50\xf6\xe7\x65" } , { "\xbe\xe6" , "\xe6\x50\xf6\xec" } , { "\xbe\xe8" , "\x50\xcb\xf6" } , { "\xbe\xe8\xb3" , "\x50\xcb\xf6\x45\xf5" } , { "\xbe\xe8\xb3\xdd" , "\x50\xcb\xf6\x45\xc7\xf5" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x50\xcb\xf6\x79\xd4" } , { "\xbe\xe8\xb5\xe5" , "\x50\xcb\xf6\xe6\x47\xe7" } , { "\xbe\xe8\xb8" , "\x50\xcb\xf6\x24\x4a\xf4" } , { "\xbe\xe8\xbd" , "\x50\xcb\xf6\x24\x4f\xf4" } , { "\xbe\xe8\xbd\xda" , "\x50\xcb\xf6\x24\x4f\xf4\xe7" } , { "\xbe\xe8\xbd\xdb" , "\x50\xcb\xf6\xd7\x24\x4f\xf4" } , { "\xbe\xe8\xbd\xdc" , "\x50\xcb\xf6\x24\x4f\xf4\xdd" } , { "\xbe\xe8\xbe" , "\x50\xcb\xf6\x50\xf6" } , { "\xbe\xe8\xbe\xda" , "\x50\xcb\xf6\x50\xf6\xe7" } , { "\xbe\xe8\xbe\xdb" , "\x50\xcb\xf6\xd7\x50\xf6" } , { "\xbe\xe8\xbe\xdc" , "\x50\xcb\xf6\x50\xf6\xdd" } , { "\xbe\xe8\xbe\xe1" , "\x50\xcb\xf6\xe6\x50\xf6" } , { "\xbe\xe8\xbe\xe5" , "\x50\xcb\xf6\xe6\x50\xf6\xe7" } , { "\xbe\xe8\xc6" , "\x50\xcb\x58" } , { "\xbe\xe8\xc8\xda" , "\x50\xcb\xf6\x59\xe7" } , { "\xbe\xe8\xcd" , "\x50\xcb\xf6\xcc\x5e" } , { "\xbe\xe8\xcd\xa2" , "\x50\xcb\xf6\xcc\x5e\x65" } , { "\xbe\xe8\xcd\xda" , "\x50\xcb\xf6\xcc\x5e\xe7" } , { "\xbe\xe8\xcd\xda\xa1" , "\x50\xcb\xf6\xcc\x5e\x67\xe7" } , { "\xbe\xe8\xcd\xda\xa2" , "\x50\xcb\xf6\xcc\x5e\xe7\x65" } , { "\xbe\xe8\xcd\xe1" , "\x50\xcb\xf6\xe6\xcc\x5e" } , { "\xbe\xe8\xcd\xe5" , "\x50\xcb\xf6\xe6\xcc\x5e\xe7" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x50\xcb\xf6\xe6\xcc\x5e\xe7\x65" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x50\xcb\xf6\xcc\x5e\xcb\xcc\x5e" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x50\xcb\xf6\x5e\xd0" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x50\xcb\xf6\xcc\x5e\xcb\x60\xe7" } , { "\xbe\xe8\xcf\xda" , "\x50\xce\xf6\xe7" } , { "\xbe\xe8\xd1\xdd" , "\x50\xcb\xf6\x5f\xc7" } , { "\xbe\xe8\xd4\xda" , "\x50\xcb\xf6\xbe\xe7" } , { "\xbe\xe8\xd9\xcd" , "\x50\xcb\xf6\xcc\x5e" } , { "\xbe\xe8\xe8" , "\x50\xcb\xf6" } , { "\xbf" , "\x51\xf6" } , { "\xbf\xa1" , "\x51\x67\xf6" } , { "\xbf\xa2" , "\x51\xf6\x65" } , { "\xbf\xa2\xa2" , "\x51\xf6\x65\x65" } , { "\xbf\xa3" , "\x51\xf6\x66" } , { "\xbf\xda" , "\x51\xf6\xe7" } , { "\xbf\xda\xa1" , "\x51\x67\xf6\xe7" } , { "\xbf\xda\xa2" , "\x51\xf6\xe7\x65" } , { "\xbf\xda\xa3" , "\x51\xf6\xe7\x66" } , { "\xbf\xdb" , "\xd7\x51\xf6" } , { "\xbf\xdb\xa2" , "\xd7\x51\xf6\x65" } , { "\xbf\xdb\xa3" , "\xd7\x51\xf6\x66" } , { "\xbf\xdc" , "\x51\xf6\xdd" } , { "\xbf\xdc\xa2" , "\x51\xf6\xdd\x65" } , { "\xbf\xdd" , "\x51\xc7\xf6" } , { "\xbf\xdd\xa2" , "\x51\xc7\xf6\x65" } , { "\xbf\xde" , "\x51\xc9\xf6" } , { "\xbf\xde\xa1" , "\x51\x67\xc9\xf6" } , { "\xbf\xde\xa2" , "\x51\xc9\xf6\x65" } , { "\xbf\xdf" , "\x51\xca\xf6" } , { "\xbf\xe0" , "\xe5\x51\xf6" } , { "\xbf\xe0\xa1" , "\xe5\x51\x67\xf6" } , { "\xbf\xe0\xa2" , "\xe5\x51\xf6\x65" } , { "\xbf\xe1" , "\xe5\x51\xf6" } , { "\xbf\xe1\xa2" , "\xe5\x51\xf6\x65" } , { "\xbf\xe2" , "\xe9\x51\xf6" } , { "\xbf\xe2\xa2" , "\xe9\x51\xf6\x65" } , { "\xbf\xe2\xa3" , "\xe9\x51\xf6\x66" } , { "\xbf\xe4" , "\xe5\x51\xf6\xe7" } , { "\xbf\xe4\xa2" , "\xe5\x51\xf6\xe7\x65" } , { "\xbf\xe5" , "\xe5\x51\xf6\xe7" } , { "\xbf\xe5\xa2" , "\xe5\x51\xf6\xe7\x65" } , { "\xbf\xe6" , "\xe5\x51\xf6\xec" } , { "\xbf\xe6\xa2" , "\xe5\x51\xf6\xec\x65" } , { "\xbf\xe7" , "\xe5\x51\xf6\xe7" } , { "\xbf\xe7\xa2" , "\xe5\x51\xf6\xe7\x65" } , { "\xbf\xe8" , "\x51\xcb\xf6" } , { "\xbf\xe8\xb3" , "\xaf\x45\xf5" } , { "\xbf\xe8\xb3\xa2" , "\xaf\x45\xf5\x65" } , { "\xbf\xe8\xb3\xda" , "\xaf\x45\xf5\xe7" } , { "\xbf\xe8\xb3\xdb" , "\xd7\xaf\x45\xf5" } , { "\xbf\xe8\xb3\xdc" , "\xaf\x45\xf5\xdd" } , { "\xbf\xe8\xb3\xdd" , "\xaf\x45\xc7\xf5" } , { "\xbf\xe8\xb3\xde" , "\xaf\x45\xc9\xf5" } , { "\xbf\xe8\xb3\xe1" , "\xe5\xaf\x45\xf5" } , { "\xbf\xe8\xb3\xe4" , "\xe5\xaf\x45\xf5\xe7" } , { "\xbf\xe8\xb3\xe5" , "\xe5\xaf\x45\xf5\xe7" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x51\xcb\xf6\xa8\x47\xe7" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\xaf\x79\xd4\xe7" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\xe6\xaf\x7a\xf5\xe7" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x51\xcb\xf6\xa8\xbe\xe7" } , { "\xbf\xe8\xb4" , "\xaf\x46" } , { "\xbf\xe8\xb5" , "\xaf\x47" } , { "\xbf\xe8\xb5\xa2" , "\xaf\x47\x65" } , { "\xbf\xe8\xb5\xda" , "\xaf\x47\xe7" } , { "\xbf\xe8\xb5\xdb" , "\xd7\xaf\x47" } , { "\xbf\xe8\xb5\xdd" , "\xaf\x47\xc7" } , { "\xbf\xe8\xb5\xde" , "\xaf\x47\xc9" } , { "\xbf\xe8\xb5\xe0" , "\xe5\xaf\x47" } , { "\xbf\xe8\xb5\xe1" , "\xe5\xaf\x47" } , { "\xbf\xe8\xb5\xe5\xa2" , "\xe5\xaf\x47\xe7\x65" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\xaf\x47\xd0\xe7" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\xaf\x47\xc0\xe7" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\xe8\xaf\x47\xc0" } , { "\xbf\xe8\xb6" , "\xaf\x48" } , { "\xbf\xe8\xb8" , "\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xda" , "\xaf\x4a\xf4\xe7" } , { "\xbf\xe8\xb8\xda\xa2" , "\xaf\x4a\xf4\xe7\x65" } , { "\xbf\xe8\xb8\xdb" , "\xd7\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xdb\xa2" , "\xd7\xaf\x4a\xf4\x65" } , { "\xbf\xe8\xb8\xdc" , "\xaf\x4a\xf4\xdd" } , { "\xbf\xe8\xb8\xdd" , "\xaf\x4a\xc7\xf4" } , { "\xbf\xe8\xb8\xe0" , "\xe6\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xe1" , "\xe6\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xe1\xa2" , "\xe6\xaf\x4a\xf4\x65" } , { "\xbf\xe8\xb9\xda\xa2" , "\xaf\x4b\xf7\xe7\x65" } , { "\xbf\xe8\xba" , "\xaf\x4c" } , { "\xbf\xe8\xba\xa2" , "\xaf\x4c\x65" } , { "\xbf\xe8\xba\xda" , "\xaf\x4c\xe7" } , { "\xbf\xe8\xba\xdb" , "\xd7\xaf\x4c" } , { "\xbf\xe8\xba\xdb\xa2" , "\xd7\xaf\x4c\x65" } , { "\xbf\xe8\xba\xdc" , "\xaf\x4c\xdd" } , { "\xbf\xe8\xba\xdd" , "\xaf\x4c\xc7" } , { "\xbf\xe8\xba\xe0" , "\xe5\xaf\x4c" } , { "\xbf\xe8\xba\xe1" , "\xe5\xaf\x4c" } , { "\xbf\xe8\xba\xe2" , "\xe9\xaf\x4c" } , { "\xbf\xe8\xba\xe5" , "\xe5\xaf\x4c\xe7" } , { "\xbf\xe8\xba\xe8" , "\xaf\x4c\xcb" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\x51\xcb\xf6\x4c\xcb\xd7\x45\xf5" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x51\xcb\xf6\x4c\xcb\x47\xe7" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\xd7\xaf\x4c\xcb\x58" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\xaf\x4c\xcb\x58\xc7" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\xaf\x4c\xcb\x58\xcb" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\xe5\xaf\x4c\xbd\x65" } , { "\xbf\xe8\xba\xe8\xcd" , "\x51\xcb\xf6\x4c\xcb\xcc\x5e" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x51\xcb\xf6\x4c\xcb\xcc\x5e\xe7" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x51\xcb\xf6\x4c\xcb\xcc\x5e\xc9" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\xe5\xaf\x4c\xcb\x5f\xe7" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\x51\xcb\xf6\x4c\xcb\xd7\xbe" } , { "\xbf\xe8\xba\xe9" , "\xaf\x4c" } , { "\xbf\xe8\xbc" , "\xaf\x41\xd5" } , { "\xbf\xe8\xbd" , "\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xa2" , "\xaf\x4f\xf4\x65" } , { "\xbf\xe8\xbd\xda\xa2" , "\xaf\x4f\xf4\xe7\x65" } , { "\xbf\xe8\xbd\xdb" , "\xd7\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xdd" , "\xaf\x4f\xc7\xf4" } , { "\xbf\xe8\xbd\xe0" , "\xe6\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xe1" , "\xe6\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xe8" , "\xaf\x4f\xcb\xf4" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\xaf\xae\xcf\xf4\x65" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\xaf\xae\xcf\xf4\xe7" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\xe8\xaf\xae\xcf\xf4" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x51\xcb\xf6\xae\x61" } , { "\xbf\xe8\xbf" , "\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xa2" , "\xaf\x51\xf6\x65" } , { "\xbf\xe8\xbf\xa3" , "\xaf\x51\xf6\x66" } , { "\xbf\xe8\xbf\xda" , "\xaf\x51\xf6\xe7" } , { "\xbf\xe8\xbf\xda\xa2" , "\xaf\x51\xf6\xe7\x65" } , { "\xbf\xe8\xbf\xdb" , "\xd7\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xd7\xaf\x51\xf6\x65" } , { "\xbf\xe8\xbf\xdc" , "\xaf\x51\xf6\xdd" } , { "\xbf\xe8\xbf\xdd" , "\xaf\x51\xc7\xf6" } , { "\xbf\xe8\xbf\xdd\xa2" , "\xaf\x51\xc7\xf6\x65" } , { "\xbf\xe8\xbf\xde" , "\xaf\x51\xc9\xf6" } , { "\xbf\xe8\xbf\xe0" , "\xe5\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe1" , "\xe5\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe2" , "\xe9\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe4" , "\xe5\xaf\x51\xf6\xe7" } , { "\xbf\xe8\xbf\xe5" , "\xe5\xaf\x51\xf6\xe7" } , { "\xbf\xe8\xbf\xe5\xa2" , "\xe5\xaf\x51\xf6\xe7\x65" } , { "\xbf\xe8\xbf\xe8" , "\xaf\x51\xcb\xf6" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x51\xcb\xf6\xaf\x45\xc7\xf5" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\x51\xcb\xf6\xd7\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\xaf\xaf\xf2\xc7\xf6" } , { "\xbf\xe8\xbf\xe9\xdc" , "\xaf\x51\xcd\xf6\xdd" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\xe6\xaf\x51\xcd\xf6\xe7\x65" } , { "\xbf\xe8\xc0" , "\xaf\x52\xf4" } , { "\xbf\xe8\xc0\xa2" , "\xaf\x52\xf4\x65" } , { "\xbf\xe8\xc0\xda" , "\xaf\x52\xf4\xe7" } , { "\xbf\xe8\xc0\xdc" , "\xaf\x52\xf4\xdd" } , { "\xbf\xe8\xc0\xdd" , "\xaf\x52\xc7\xf4" } , { "\xbf\xe8\xc0\xe1" , "\xe6\xaf\x52\xf4" } , { "\xbf\xe8\xc0\xe5\xa2" , "\xe6\xaf\x52\xf4\xe7\x65" } , { "\xbf\xe8\xc0\xe9\xda" , "\xaf\x52\xcd\xf4\xe7" } , { "\xbf\xe8\xc0\xe9\xe1" , "\xe6\xaf\x52\xcd\xf4" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\xe6\xaf\x52\xcd\xf4\xe7\x65" } , { "\xbf\xe8\xc1" , "\xaf\x53" } , { "\xbf\xe8\xc2" , "\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xa2" , "\xaf\x54\xf6\x65" } , { "\xbf\xe8\xc2\xda" , "\xaf\x54\xf6\xe7" } , { "\xbf\xe8\xc2\xdb" , "\xd7\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xdd" , "\xaf\x54\xc7\xf6" } , { "\xbf\xe8\xc2\xdd\xa2" , "\xaf\x54\xc7\xf6\x65" } , { "\xbf\xe8\xc2\xde" , "\xaf\x54\xc9\xf6" } , { "\xbf\xe8\xc2\xde\xa2" , "\xaf\x54\xc9\xf6\x65" } , { "\xbf\xe8\xc2\xe0" , "\xe5\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xe1" , "\xe5\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xe5" , "\xe5\xaf\x54\xf6\xe7" } , { "\xbf\xe8\xc2\xe5\xa2" , "\xe5\xaf\x54\xf6\xe7\x65" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\xe8\xaf\x79" } , { "\xbf\xe8\xc4\xda" , "\xaf\x56\xe7" } , { "\xbf\xe8\xc4\xdb" , "\xd7\xaf\x56" } , { "\xbf\xe8\xc4\xdd" , "\xaf\x56\xc7" } , { "\xbf\xe8\xc4\xe0" , "\xe5\xaf\x56" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x51\xcb\xf6\xb2\xbe\xe7" } , { "\xbf\xe8\xc5" , "\xaf\x57\xfd" } , { "\xbf\xe8\xc6" , "\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xa2" , "\xaf\xf3\xf6\x65" } , { "\xbf\xe8\xc6\xda" , "\xaf\xf3\xf6\xe7" } , { "\xbf\xe8\xc6\xdb" , "\xd7\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xdb\xa2" , "\xd7\xaf\xf3\xf6\x65" } , { "\xbf\xe8\xc6\xdc" , "\xaf\xf3\xf6\xdd" } , { "\xbf\xe8\xc6\xdd" , "\xaf\xf3\xc7\xf6" } , { "\xbf\xe8\xc6\xdd\xa2" , "\xaf\xf3\xc7\xf6\x65" } , { "\xbf\xe8\xc6\xe0" , "\xe6\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xe1" , "\xe6\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xe2" , "\xe8\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xe5" , "\xe6\xaf\xf3\xf6\xe7" } , { "\xbf\xe8\xc6\xe6" , "\xe6\xaf\xf3\xf6\xec" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\xaf\xdc\x99\xf6\x65" } , { "\xbf\xe8\xc8" , "\xaf\x59" } , { "\xbf\xe8\xc8\xa2" , "\xaf\x59\x65" } , { "\xbf\xe8\xc8\xda" , "\xaf\x59\xe7" } , { "\xbf\xe8\xc8\xdb\xa2" , "\xd7\xaf\x59\x65" } , { "\xbf\xe8\xc8\xdd" , "\xaf\x59\xc7" } , { "\xbf\xe8\xc8\xde" , "\xaf\x59\xc9" } , { "\xbf\xe8\xc8\xe2" , "\xe9\xaf\x59" } , { "\xbf\xe8\xc8\xe4" , "\xe5\xaf\x59\xe7" } , { "\xbf\xe8\xc8\xe5" , "\xe5\xaf\x59\xe7" } , { "\xbf\xe8\xc8\xe8\xcf" , "\xaf\x59\xd2" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\xd7\xaf\x59\xd2" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\xaf\x59\xd2\xd6" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\xe6\xaf\x59\xd2" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\xaf\x59\xc0\xe7" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\xe6\xaf\x59\xc0" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\xe6\xaf\x59\xc0\xe7" } , { "\xbf\xe8\xc9\xda" , "\xaf\x5a\xf5\xe7" } , { "\xbf\xe8\xc9\xdb" , "\xd7\xaf\x5a\xf5" } , { "\xbf\xe8\xc9\xdc" , "\xaf\x5a\xf5\xdd" } , { "\xbf\xe8\xc9\xdd" , "\xaf\x5a\xc7\xf5" } , { "\xbf\xe8\xc9\xe0" , "\xe5\xaf\x5a\xf5" } , { "\xbf\xe8\xc9\xe2" , "\xe9\xaf\x5a\xf5" } , { "\xbf\xe8\xc9\xe5" , "\xe5\xaf\x5a\xf5\xe7" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\xaf\x5a\xd0\xf5\xdd" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\xe6\xaf\x6e\xf5\xe7" } , { "\xbf\xe8\xca" , "\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xa2" , "\xaf\xbc\xf6\x65" } , { "\xbf\xe8\xca\xda" , "\xaf\xbc\xf6\xe7" } , { "\xbf\xe8\xca\xdb" , "\xd7\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xdc" , "\xaf\xbc\xf6\xdd" } , { "\xbf\xe8\xca\xdd" , "\xaf\xbc\xc7\xf6" } , { "\xbf\xe8\xca\xe0" , "\xe5\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xe2" , "\xe9\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xe5" , "\xe5\xaf\xbc\xf6\xe7" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\xaf\x5b\x5b\xfd\xdd" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x51\xcb\xf6\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xbf\xe8\xca\xe8\xcf" , "\xaf\x5b\xfd\xd0" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\xe6\xaf\x5b\xfd\xd0" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\xaf\x5b\xfd\xcb\xb7\xcc\x5e\xc9" } , { "\xbf\xe8\xcb\xda" , "\xaf\x5c\xf6\xe7" } , { "\xbf\xe8\xcb\xdd" , "\xaf\x5c\xc7\xf6" } , { "\xbf\xe8\xcc" , "\xaf\xc1" } , { "\xbf\xe8\xcc\xa2" , "\xaf\xc1\x65" } , { "\xbf\xe8\xcc\xda" , "\xaf\xc1\xe7" } , { "\xbf\xe8\xcc\xdb" , "\xd7\xaf\xc1" } , { "\xbf\xe8\xcc\xdb\xa2" , "\xd7\xaf\xc1\x65" } , { "\xbf\xe8\xcc\xdc" , "\xaf\xc1\xdd" } , { "\xbf\xe8\xcc\xdd" , "\xaf\xc1\xc7" } , { "\xbf\xe8\xcc\xe0\xa2" , "\xe5\xaf\xc1\x65" } , { "\xbf\xe8\xcc\xe4" , "\xe5\xaf\xc1\xe7" } , { "\xbf\xe8\xcc\xe5" , "\xe5\xaf\xc1\xe7" } , { "\xbf\xe8\xcd" , "\xaf\xcc\x5e" } , { "\xbf\xe8\xcd\xa2" , "\xaf\xcc\x5e\x65" } , { "\xbf\xe8\xcd\xda" , "\xaf\xcc\x5e\xe7" } , { "\xbf\xe8\xcd\xda\xa2" , "\xaf\xcc\x5e\xe7\x65" } , { "\xbf\xe8\xcd\xdb" , "\xd7\xaf\xcc\x5e" } , { "\xbf\xe8\xcd\xdd" , "\xaf\xcc\x5e\xc7" } , { "\xbf\xe8\xcd\xdd\xa2" , "\xaf\xcc\x5e\xc7\x65" } , { "\xbf\xe8\xcd\xde" , "\xaf\xcc\x5e\xc9" } , { "\xbf\xe8\xcd\xe0" , "\xe5\xaf\xcc\x5e" } , { "\xbf\xe8\xcd\xe1" , "\xe5\xaf\xcc\x5e" } , { "\xbf\xe8\xcd\xe5" , "\xe5\xaf\xcc\x5e\xe7" } , { "\xbf\xe8\xcd\xe5\xa2" , "\xe5\xaf\xcc\x5e\xe7\x65" } , { "\xbf\xe8\xcd\xe6" , "\xe5\xaf\xcc\x5e\xec" } , { "\xbf\xe8\xcf" , "\x51\xce\xf6" } , { "\xbf\xe8\xcf\xa2" , "\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xda" , "\x51\xce\xf6\xe7" } , { "\xbf\xe8\xcf\xda\xa2" , "\x51\xce\xf6\xe7\x65" } , { "\xbf\xe8\xcf\xdb" , "\xd7\x51\xce\xf6" } , { "\xbf\xe8\xcf\xdb\xa2" , "\xd7\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xdc" , "\x51\xce\xf6\xdd" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x51\xce\xf6\xdd\x65" } , { "\xbf\xe8\xcf\xdd" , "\x51\xce\xc7\xf6" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x51\xce\xc7\xf6\x65" } , { "\xbf\xe8\xcf\xde" , "\x51\xce\xc9\xf6" } , { "\xbf\xe8\xcf\xde\xa2" , "\x51\xce\xc9\xf6\x65" } , { "\xbf\xe8\xcf\xe0" , "\xe6\x51\xce\xf6" } , { "\xbf\xe8\xcf\xe0\xa2" , "\xe6\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xe1" , "\xe6\x51\xce\xf6" } , { "\xbf\xe8\xcf\xe1\xa2" , "\xe6\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xe2" , "\xe8\x51\xce\xf6" } , { "\xbf\xe8\xcf\xe4" , "\xe6\x51\xce\xf6\xe7" } , { "\xbf\xe8\xcf\xe5" , "\xe6\x51\xce\xf6\xe7" } , { "\xbf\xe8\xcf\xe6" , "\xe6\x51\xce\xf6\xec" } , { "\xbf\xe8\xcf\xe7" , "\xe6\x51\xce\xf6\xe7" } , { "\xbf\xe8\xcf\xe8\xca" , "\xaf\xbb\x9d" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x51\xcb\xf6\xbb\xcb\xcc\x5e\xe7" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x51\xcb\xf6\xbb\xcb\xbe\xe7" } , { "\xbf\xe8\xd1" , "\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xa2" , "\xaf\xf2\xf6\x65" } , { "\xbf\xe8\xd1\xda" , "\xaf\xf2\xf6\xe7" } , { "\xbf\xe8\xd1\xda\xa2" , "\xaf\xf2\xf6\xe7\x65" } , { "\xbf\xe8\xd1\xdb" , "\xd7\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xdb\xa2" , "\xd7\xaf\xf2\xf6\x65" } , { "\xbf\xe8\xd1\xdc" , "\xaf\xf2\xf6\xdd" } , { "\xbf\xe8\xd1\xdd" , "\xaf\xf2\xc7\xf6" } , { "\xbf\xe8\xd1\xdd\xa2" , "\xaf\xf2\xc7\xf6\x65" } , { "\xbf\xe8\xd1\xde" , "\xaf\xf2\xc9\xf6" } , { "\xbf\xe8\xd1\xe0" , "\xe6\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xe0\xa2" , "\xe6\xaf\xf2\xf6\x65" } , { "\xbf\xe8\xd1\xe1" , "\xe6\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xe2" , "\xe8\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xe4" , "\xe6\xaf\xf2\xf6\xe7" } , { "\xbf\xe8\xd1\xe5" , "\xe6\xaf\xf2\xf6\xe7" } , { "\xbf\xe8\xd1\xe8" , "\xaf\xf2\xcb\xf6" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\xe6\xaf\x7b\xe7" } , { "\xbf\xe8\xd4" , "\xaf\xbe" } , { "\xbf\xe8\xd4\xa2" , "\xaf\xbe\x65" } , { "\xbf\xe8\xd4\xda" , "\xaf\xbe\xe7" } , { "\xbf\xe8\xd4\xda\xa2" , "\xaf\xbe\xe7\x65" } , { "\xbf\xe8\xd4\xdb" , "\xd7\xaf\xbe" } , { "\xbf\xe8\xd4\xdb\xa2" , "\xd7\xaf\xbe\x65" } , { "\xbf\xe8\xd4\xdc" , "\xaf\xbe\xdd" } , { "\xbf\xe8\xd4\xdd" , "\xaf\xbe\xc7" } , { "\xbf\xe8\xd4\xe0" , "\xe5\xaf\xbe" } , { "\xbf\xe8\xd4\xe0\xa2" , "\xe5\xaf\xbe\x65" } , { "\xbf\xe8\xd4\xe1" , "\xe5\xaf\xbe" } , { "\xbf\xe8\xd4\xe2" , "\xe9\xaf\xbe" } , { "\xbf\xe8\xd5" , "\xaf\x60" } , { "\xbf\xe8\xd5\xda" , "\xaf\x60\xe7" } , { "\xbf\xe8\xd6" , "\xaf\x62" } , { "\xbf\xe8\xd6\xdb" , "\xd7\xaf\x62" } , { "\xbf\xe8\xd6\xdc" , "\xaf\x62\xdd" } , { "\xbf\xe8\xd6\xe5" , "\xe5\xaf\x62\xe7" } , { "\xbf\xe8\xd7" , "\xaf\x61" } , { "\xbf\xe8\xd7\xa2" , "\xaf\x61\x65" } , { "\xbf\xe8\xd7\xda" , "\xaf\x61\xe7" } , { "\xbf\xe8\xd7\xdb" , "\xd7\xaf\x61" } , { "\xbf\xe8\xd7\xdc" , "\xaf\x61\xdd" } , { "\xbf\xe8\xd7\xdd" , "\xaf\x61\xc7" } , { "\xbf\xe8\xd7\xde" , "\xaf\x61\xc9" } , { "\xbf\xe8\xd7\xe1" , "\xe5\xaf\x61" } , { "\xbf\xe8\xd7\xe4" , "\xe5\xaf\x61\xe7" } , { "\xbf\xe8\xd7\xe8" , "\xaf\x61\xcb" } , { "\xbf\xe8\xd7\xe8\xb3" , "\xaf\x95\xf5" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\xaf\x95\xf5\xe7" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\xd7\xaf\x95\xf5" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\xaf\x95\xc7\xf5" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\xe5\xaf\x95\xf5" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x51\xcb\xf6\xe6\xba\x4f\xf4" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\x51\xcb\xf6\xd7\xba\x51\xf6" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\xe6\xaf\xd8\x99\xf6\xe7" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\xd7\xaf\xd8\x6f\xf6" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\xaf\xd8\x6f\xf6\xc7" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\xaf\x26\xe7" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\xaf\x26\xdd" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\xaf\xd8\x91\xf6\x65" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\xd7\xaf\xd8\xf6\x82" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\xe6\xaf\xd8\xda\xf6\xe7" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x51\xcb\xf6\xba\xbe" } , { "\xbf\xe8\xd8\xda" , "\xaf\x63\xf7\xe7" } , { "\xbf\xe8\xd8\xda\xa2" , "\xaf\x63\xf7\xe7\x65" } , { "\xbf\xe8\xd8\xdb" , "\xd7\xaf\x63\xf7" } , { "\xbf\xe8\xd8\xe0" , "\xe5\xaf\x63\xf7" } , { "\xbf\xe8\xd8\xe2" , "\xe9\xaf\x63\xf7" } , { "\xbf\xe8\xd8\xe5" , "\xe5\xaf\x63\xf7\xe7" } , { "\xbf\xe8\xd9\xa7" , "\xaf\x3c" } , { "\xbf\xe8\xd9\xcd\xde" , "\xaf\xcc\x5e\xc9" } , { "\xbf\xe8\xd9\xcf" , "\xaf\xbb" } , { "\xbf\xe8\xe8" , "\x51\xcb\xf6" } , { "\xbf\xe9" , "\x51\xcd\xf6" } , { "\xbf\xe9\xa1" , "\x51\xcd\x67\xf6" } , { "\xbf\xe9\xa2" , "\x51\xcd\xf6\x65" } , { "\xbf\xe9\xc2\xda" , "\x51\xcd\xf6\x54\xf6\xe7" } , { "\xbf\xe9\xc2\xdc" , "\x51\xcd\xf6\x54\xf6\xdd" } , { "\xbf\xe9\xda" , "\x51\xcd\xf6\xe7" } , { "\xbf\xe9\xda\xa1" , "\x51\xcd\x67\xf6\xe7" } , { "\xbf\xe9\xda\xa2" , "\x51\xcd\xf6\xe7\x65" } , { "\xbf\xe9\xdb" , "\xd7\x51\xcd\xf6" } , { "\xbf\xe9\xdc" , "\x51\xcd\xf6\xdd" } , { "\xbf\xe9\xdc\xa2" , "\x51\xcd\xf6\xdd\x65" } , { "\xbf\xe9\xdd" , "\x51\xcd\xc6\xf6" } , { "\xbf\xe9\xde" , "\x51\xcd\xc8\xf6" } , { "\xbf\xe9\xde\xa1" , "\x51\xcd\x67\xc8\xf6" } , { "\xbf\xe9\xde\xa2" , "\x51\xcd\xc8\xf6\x65" } , { "\xbf\xe9\xe1" , "\xe6\x51\xcd\xf6" } , { "\xbf\xe9\xe1\xa2" , "\xe6\x51\xcd\xf6\x65" } , { "\xbf\xe9\xe2" , "\xe8\x51\xcd\xf6" } , { "\xbf\xe9\xe2\xa2" , "\xe8\x51\xcd\xf6\x65" } , { "\xbf\xe9\xe5" , "\xe6\x51\xcd\xf6\xe7" } , { "\xbf\xe9\xe5\xa2" , "\xe6\x51\xcd\xf6\xe7\x65" } , { "\xbf\xe9\xe6" , "\xe6\x51\xcd\xf6\xec" } , { "\xbf\xe9\xe6\xa2" , "\xe6\x51\xcd\xf6\xec\x65" } , { "\xbf\xe9\xe8" , "\x51\xcd\xcb\xf6" } , { "\xbf\xe9\xe8\xb3" , "\x51\xcd\xcb\xf6\x45\xf5" } , { "\xbf\xe9\xe8\xb3\xda" , "\x51\xcd\xcb\xf6\x45\xf5\xe7" } , { "\xbf\xe9\xe8\xb5" , "\x51\xcd\x47" } , { "\xbf\xe9\xe8\xb5\xda" , "\x51\xcd\x47\xe7" } , { "\xbf\xe9\xe8\xbf\xda" , "\x51\xcd\xcb\xf6\x51\xf6\xe7" } , { "\xbf\xe9\xe8\xbf\xdb" , "\x51\xcd\xcb\xf6\xd7\x51\xf6" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x51\xcd\xcb\xf6\x51\xf6\xdd" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x51\xcd\xcb\xf6\xe6\x51\xf6" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x51\xcd\xcb\xf6\xe6\x24\x52\xcd\xf4" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x51\xcd\xcb\xf6\x54\xc6\xf6" } , { "\xbf\xe9\xe8\xcc" , "\xaf\xf6\xc1" } , { "\xc0" , "\x24\x52\xf4" } , { "\xc0\xa1" , "\x24\x52\x67\xf4" } , { "\xc0\xa2" , "\x24\x52\xf4\x65" } , { "\xc0\xa3" , "\x24\x52\xf4\x66" } , { "\xc0\xda" , "\x24\x52\xf4\xe7" } , { "\xc0\xda\xa1" , "\x24\x52\x67\xf4\xe7" } , { "\xc0\xda\xa2" , "\x24\x52\xf4\xe7\x65" } , { "\xc0\xdb" , "\xd7\x24\x52\xf4" } , { "\xc0\xdb\xa2" , "\xd7\x24\x52\xf4\x65" } , { "\xc0\xdc" , "\x24\x52\xf4\xdd" } , { "\xc0\xdc\xa2" , "\x24\x52\xf4\xdd\x65" } , { "\xc0\xdd" , "\x24\x52\xc7\xf4" } , { "\xc0\xdd\xa1" , "\x24\x52\x67\xc7\xf4" } , { "\xc0\xdd\xa2" , "\x24\x52\xc7\xf4\x65" } , { "\xc0\xde" , "\x24\x52\xc9\xf4" } , { "\xc0\xde\xa1" , "\x24\x52\x67\xc9\xf4" } , { "\xc0\xde\xa2" , "\x24\x52\xc9\xf4\x65" } , { "\xc0\xdf" , "\x24\x52\xca\xf4" } , { "\xc0\xe0" , "\xe6\x24\x52\xf4" } , { "\xc0\xe1" , "\xe6\x24\x52\xf4" } , { "\xc0\xe1\xa2" , "\xe6\x24\x52\xf4\x65" } , { "\xc0\xe2" , "\xe8\x24\x52\xf4" } , { "\xc0\xe2\xa3" , "\xe8\x24\x52\xf4\x66" } , { "\xc0\xe4" , "\xe6\x24\x52\xf4\xe7" } , { "\xc0\xe5" , "\xe6\x24\x52\xf4\xe7" } , { "\xc0\xe5\xa2" , "\xe6\x24\x52\xf4\xe7\x65" } , { "\xc0\xe6" , "\xe6\x24\x52\xf4\xec" } , { "\xc0\xe6\xa2" , "\xe6\x24\x52\xf4\xec\x65" } , { "\xc0\xe8" , "\x24\x52\xcb\xf4" } , { "\xc0\xe8\xbf\xe1" , "\x52\xcb\xf4\xe6\x51\xf6" } , { "\xc0\xe8\xc0\xda" , "\x52\xcb\xf4\x24\x52\xf4\xe7" } , { "\xc0\xe8\xc0\xdc" , "\x52\xcb\xf4\x24\x52\xf4\xdd" } , { "\xc0\xe8\xc0\xe1" , "\x52\xcb\xf4\xe6\x24\x52\xf4" } , { "\xc0\xe8\xc0\xe9" , "\x52\xcb\xf4\x24\x52\xcd\xf4" } , { "\xc0\xe8\xc0\xe9\xda" , "\x52\xcb\xf4\x24\x52\xcd\xf4\xe7" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x52\xcb\xf4\xe6\x24\x52\xcd\xf4" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x52\xcb\xf4\xe6\x24\x52\xcd\xf4\xe7\x65" } , { "\xc0\xe8\xc9\xe5" , "\x52\xcb\xf4\xe6\x5a\xf5\xe7" } , { "\xc0\xe8\xcd" , "\x52\xcb\xf4\xcc\x5e" } , { "\xc0\xe8\xcd\xa2" , "\x52\xcb\xf4\xcc\x5e\x65" } , { "\xc0\xe8\xcd\xda" , "\x52\xcb\xf4\xcc\x5e\xe7" } , { "\xc0\xe8\xcd\xdd" , "\x52\xcb\xf4\xcc\x5e\xc7" } , { "\xc0\xe8\xcd\xe5\xa2" , "\x52\xcb\xf4\xe6\xcc\x5e\xe7\x65" } , { "\xc0\xe8\xcf" , "\x52\xce\xf4" } , { "\xc0\xe8\xcf\xa2" , "\x52\xce\xf4\x65" } , { "\xc0\xe8\xcf\xda" , "\x52\xce\xf4\xe7" } , { "\xc0\xe8\xcf\xdc" , "\x52\xce\xf4\xdd" } , { "\xc0\xe8\xd1\xe5" , "\xe5\x52\xcb\xf4\x5f\xe7" } , { "\xc0\xe8\xe8" , "\x24\x52\xcb\xf4" } , { "\xc0\xe9" , "\x24\x52\xcd\xf4" } , { "\xc0\xe9\xa1" , "\x24\x52\xcd\x67\xf4" } , { "\xc0\xe9\xa2" , "\x24\x52\xcd\xf4\x65" } , { "\xc0\xe9\xc2\xdc" , "\x24\x52\xcd\xf4\x54\xf6\xdd" } , { "\xc0\xe9\xc6\xe1" , "\x24\x52\xcd\xf4\xe3\x58" } , { "\xc0\xe9\xda" , "\x24\x52\xcd\xf4\xe7" } , { "\xc0\xe9\xda\xa1" , "\x24\x52\xcd\x67\xf4\xe7" } , { "\xc0\xe9\xda\xa2" , "\x24\x52\xcd\xf4\xe7\x65" } , { "\xc0\xe9\xdb" , "\xd7\x24\x52\xcd\xf4" } , { "\xc0\xe9\xdb\xa2" , "\xd7\x24\x52\xcd\xf4\x65" } , { "\xc0\xe9\xdc" , "\x24\x52\xcd\xf4\xdd" } , { "\xc0\xe9\xdc\xa2" , "\x24\x52\xcd\xf4\xdd\x65" } , { "\xc0\xe9\xdd" , "\x24\x52\xcd\xc6\xf4" } , { "\xc0\xe9\xde" , "\x24\x52\xcd\xc8\xf4" } , { "\xc0\xe9\xde\xa1" , "\x24\x52\xcd\x67\xc8\xf4" } , { "\xc0\xe9\xde\xa2" , "\x24\x52\xcd\xc8\xf4\x65" } , { "\xc0\xe9\xe1" , "\xe6\x24\x52\xcd\xf4" } , { "\xc0\xe9\xe1\xa2" , "\xe6\x24\x52\xcd\xf4\x65" } , { "\xc0\xe9\xe2" , "\xe8\x24\x52\xcd\xf4" } , { "\xc0\xe9\xe5" , "\xe6\x24\x52\xcd\xf4\xe7" } , { "\xc0\xe9\xe5\xa2" , "\xe6\x24\x52\xcd\xf4\xe7\x65" } , { "\xc0\xe9\xe6" , "\xe6\x24\x52\xcd\xf4\xec" } , { "\xc0\xe9\xe8\xcd" , "\x52\xcd\xcb\xf4\xcc\x5e" } , { "\xc1" , "\x53" } , { "\xc1\xa1" , "\x53\x67" } , { "\xc1\xa1\xa1" , "\x53\x67\x67" } , { "\xc1\xa2" , "\x53\x65" } , { "\xc1\xa3" , "\x53\x66" } , { "\xc1\xda" , "\x53\xe7" } , { "\xc1\xda\xa2" , "\x53\xe7\x65" } , { "\xc1\xda\xa3" , "\x53\xe7\x66" } , { "\xc1\xdb" , "\xd7\x53" } , { "\xc1\xdb\xa2" , "\xd7\x53\x65" } , { "\xc1\xdb\xa3" , "\xd7\x53\x66" } , { "\xc1\xdc" , "\x53\xdd" } , { "\xc1\xdc\xa2" , "\x53\xdd\x65" } , { "\xc1\xdd" , "\x53\xc7" } , { "\xc1\xdd\xa2" , "\x53\xc7\x65" } , { "\xc1\xde" , "\x53\xc9" } , { "\xc1\xde\xa2" , "\x53\xc9\x65" } , { "\xc1\xdf" , "\x53\xca" } , { "\xc1\xe0" , "\xe5\x53" } , { "\xc1\xe0\xa2" , "\xe5\x53\x65" } , { "\xc1\xe1" , "\xe5\x53" } , { "\xc1\xe1\xa2" , "\xe5\x53\x65" } , { "\xc1\xe2" , "\xe9\x53" } , { "\xc1\xe2\xa2" , "\xe9\x53\x65" } , { "\xc1\xe2\xa3" , "\xe9\x53\x66" } , { "\xc1\xe4" , "\xe5\x53\xe7" } , { "\xc1\xe5" , "\xe5\x53\xe7" } , { "\xc1\xe5\xa2" , "\xe5\x53\xe7\x65" } , { "\xc1\xe6" , "\xe5\x53\xec" } , { "\xc1\xe8" , "\x53\xcb" } , { "\xc1\xe8\xb3\xdd" , "\xb0\x45\xc7\xf5" } , { "\xc1\xe8\xb3\xe1" , "\xe5\xb0\x45\xf5" } , { "\xc1\xe8\xb5\xda" , "\xb0\x47\xe7" } , { "\xc1\xe8\xba\xda" , "\xb0\x4c\xe7" } , { "\xc1\xe8\xba\xe5\xa2" , "\xe5\xb0\x4c\xe7\x65" } , { "\xc1\xe8\xbd" , "\xb0\x4f\xf4" } , { "\xc1\xe8\xbd\xda" , "\xb0\x4f\xf4\xe7" } , { "\xc1\xe8\xbd\xdb" , "\xd7\xb0\x4f\xf4" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xd7\xb0\x4f\xf4\x65" } , { "\xc1\xe8\xbd\xdc" , "\xb0\x4f\xf4\xdd" } , { "\xc1\xe8\xbd\xdd" , "\xb0\x4f\xc7\xf4" } , { "\xc1\xe8\xbd\xde" , "\xb0\x4f\xc9\xf4" } , { "\xc1\xe8\xbd\xe1" , "\xe6\xb0\x4f\xf4" } , { "\xc1\xe8\xbd\xe1\xa2" , "\xe6\xb0\x4f\xf4\x65" } , { "\xc1\xe8\xbd\xe5" , "\xe6\xb0\x4f\xf4\xe7" } , { "\xc1\xe8\xbd\xe5\xa2" , "\xe6\xb0\x4f\xf4\xe7\x65" } , { "\xc1\xe8\xbd\xe8\xcf" , "\xb0\xae\xcf\xf4" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\xb0\xae\xcf\xf4\xdd" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\xe6\xb0\xae\xcf\xf4\xe7" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x53\xcb\xae\x61" } , { "\xc1\xe8\xbe" , "\xa2\xf6" } , { "\xc1\xe8\xbe\xa2" , "\xa2\xf6\x65" } , { "\xc1\xe8\xbe\xda" , "\xa2\xf6\xe7" } , { "\xc1\xe8\xbe\xdb" , "\xd7\xa2\xf6" } , { "\xc1\xe8\xbe\xdc" , "\xa2\xf6\xdd" } , { "\xc1\xe8\xbe\xe1" , "\xe5\xa2\xf6" } , { "\xc1\xe8\xbe\xe5" , "\xe5\xa2\xf6\xe7" } , { "\xc1\xe8\xbe\xe5\xa2" , "\xe5\xa2\xf6\xe7\x65" } , { "\xc1\xe8\xbf" , "\x89\xf8" } , { "\xc1\xe8\xbf\xa2" , "\x89\xf8\x65" } , { "\xc1\xe8\xbf\xda" , "\x89\xf8\xe7" } , { "\xc1\xe8\xbf\xda\xa2" , "\x89\xf8\xe7\x65" } , { "\xc1\xe8\xbf\xdb" , "\xd7\x89\xf8" } , { "\xc1\xe8\xbf\xdb\xa2" , "\xd7\x89\xf8\x65" } , { "\xc1\xe8\xbf\xdc" , "\x89\xf8\xdd" } , { "\xc1\xe8\xbf\xdd" , "\x89\xc7\xf8" } , { "\xc1\xe8\xbf\xde" , "\x89\xc9\xf8" } , { "\xc1\xe8\xbf\xe1" , "\xe5\x89\xf8" } , { "\xc1\xe8\xbf\xe1\xa2" , "\xe5\x89\xf8\x65" } , { "\xc1\xe8\xbf\xe2" , "\xe9\x89\xf8" } , { "\xc1\xe8\xbf\xe5" , "\xe5\x89\xf8\xe7" } , { "\xc1\xe8\xbf\xe5\xa2" , "\xe5\x89\xf8\xe7\x65" } , { "\xc1\xe8\xbf\xe6" , "\xe5\x89\xf8\xec" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x53\xcb\xaf\xcc\x5e" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x53\xcb\xaf\xcc\x5e\xe7" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x89\x98\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x89\x98\xf8\xe7" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\xd7\x89\x98\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x89\x98\xf8\xdd" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x89\x98\xc8\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\xe5\x89\x98\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\xe5\x89\x98\xf8\xe7" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x53\xcb\xaf\x61" } , { "\xc1\xe8\xbf\xe9" , "\xb0\x51\xcd\xf6" } , { "\xc1\xe8\xbf\xe9\xda" , "\xb0\x51\xcd\xf6\xe7" } , { "\xc1\xe8\xbf\xe9\xdc" , "\xb0\x51\xcd\xf6\xdd" } , { "\xc1\xe8\xbf\xe9\xe1" , "\xe6\xb0\x51\xcd\xf6" } , { "\xc1\xe8\xbf\xe9\xe5" , "\xe6\xb0\x51\xcd\xf6\xe7" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\xe6\xb0\x51\xcd\xf6\xe7\x65" } , { "\xc1\xe8\xc0" , "\xb0\x52\xf4" } , { "\xc1\xe8\xc0\xdb" , "\xd7\xb0\x52\xf4" } , { "\xc1\xe8\xc1" , "\x7c" } , { "\xc1\xe8\xc1\xa2" , "\x7c\x65" } , { "\xc1\xe8\xc1\xda" , "\x7c\xe7" } , { "\xc1\xe8\xc1\xda\xa2" , "\x7c\xe7\x65" } , { "\xc1\xe8\xc1\xdb" , "\xd7\x7c" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xd7\x7c\x65" } , { "\xc1\xe8\xc1\xdc" , "\x7c\xdd" } , { "\xc1\xe8\xc1\xdc\xa2" , "\x7c\xdd\x65" } , { "\xc1\xe8\xc1\xdd" , "\x7c\xc7" } , { "\xc1\xe8\xc1\xdd\xa2" , "\x7c\xc7\x65" } , { "\xc1\xe8\xc1\xde" , "\x7c\xc9" } , { "\xc1\xe8\xc1\xe0" , "\xe6\x7c" } , { "\xc1\xe8\xc1\xe0\xa2" , "\xe6\x7c\x65" } , { "\xc1\xe8\xc1\xe1" , "\xe6\x7c" } , { "\xc1\xe8\xc1\xe2" , "\xe8\x7c" } , { "\xc1\xe8\xc1\xe4" , "\xe6\x7c\xe7" } , { "\xc1\xe8\xc1\xe5" , "\xe6\x7c\xe7" } , { "\xc1\xe8\xc2\xdb" , "\xd7\xb0\x54\xf6" } , { "\xc1\xe8\xc2\xe5" , "\xe5\xb0\x54\xf6\xe7" } , { "\xc1\xe8\xc4\xdb" , "\xd7\xb0\x56" } , { "\xc1\xe8\xc4\xdd" , "\xb0\x56\xc7" } , { "\xc1\xe8\xc4\xe0" , "\xe5\xb0\x56" } , { "\xc1\xe8\xc6" , "\x53\xc2" } , { "\xc1\xe8\xc6\xa2" , "\x53\xc2\x65" } , { "\xc1\xe8\xc6\xda" , "\x53\xc2\xe7" } , { "\xc1\xe8\xc6\xdb" , "\xd7\x53\xc2" } , { "\xc1\xe8\xc6\xdb\xa2" , "\xd7\x53\xc2\x65" } , { "\xc1\xe8\xc6\xdc" , "\x53\xc2\xdd" } , { "\xc1\xe8\xc6\xdd" , "\x53\xc2\xc7" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x53\xc2\xc7\x65" } , { "\xc1\xe8\xc6\xe0" , "\xe6\x53\xc2" } , { "\xc1\xe8\xc6\xe0\xa2" , "\xe6\x53\xc2\x65" } , { "\xc1\xe8\xc6\xe1" , "\xe6\x53\xc2" } , { "\xc1\xe8\xc6\xe1\xa2" , "\xe6\x53\xc2\x65" } , { "\xc1\xe8\xc6\xe5" , "\xe6\x53\xc2\xe7" } , { "\xc1\xe8\xc8" , "\xb0\x59" } , { "\xc1\xe8\xc8\xda" , "\xb0\x59\xe7" } , { "\xc1\xe8\xc8\xe8\xcf" , "\xb0\x59\xd2" } , { "\xc1\xe8\xca\xda" , "\x53\x9f\xe7" } , { "\xc1\xe8\xcc" , "\x53\xbd" } , { "\xc1\xe8\xcc\xda" , "\x53\xbd\xe7" } , { "\xc1\xe8\xcc\xdb" , "\xd7\x53\xbd" } , { "\xc1\xe8\xcc\xdc" , "\x53\xbd\xdd" } , { "\xc1\xe8\xcc\xdd" , "\x53\xbd\xc7" } , { "\xc1\xe8\xcc\xde" , "\x53\xbd\xc9" } , { "\xc1\xe8\xcc\xe0" , "\xe5\x53\xbd" } , { "\xc1\xe8\xcc\xe1" , "\xe5\x53\xbd" } , { "\xc1\xe8\xcd" , "\xb0\xcc\x5e" } , { "\xc1\xe8\xcd\xa2" , "\xb0\xcc\x5e\x65" } , { "\xc1\xe8\xcd\xa2\xa2" , "\xb0\xcc\x5e\x65\x65" } , { "\xc1\xe8\xcd\xda" , "\xb0\xcc\x5e\xe7" } , { "\xc1\xe8\xcd\xda\xa2" , "\xb0\xcc\x5e\xe7\x65" } , { "\xc1\xe8\xcd\xdc" , "\xb0\xcc\x5e\xdd" } , { "\xc1\xe8\xcd\xdd" , "\xb0\xcc\x5e\xc7" } , { "\xc1\xe8\xcd\xde\xa2" , "\xb0\xcc\x5e\xc9\x65" } , { "\xc1\xe8\xcd\xe1" , "\xe5\xb0\xcc\x5e" } , { "\xc1\xe8\xcd\xe5" , "\xe5\xb0\xcc\x5e\xe7" } , { "\xc1\xe8\xcd\xe5\xa2" , "\xe5\xb0\xcc\x5e\xe7\x65" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x53\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xc1\xe8\xcf\xda" , "\x53\xd0\xe7" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x53\xcb\xbb\xcb\xcc\x5e" } , { "\xc1\xe8\xd0\xdd" , "\xb0\xbb\xc7" } , { "\xc1\xe8\xd1" , "\x53\xc0" } , { "\xc1\xe8\xd1\xda\xa2" , "\x53\xc0\xe7\x65" } , { "\xc1\xe8\xd1\xdd" , "\x53\xc0\xc7" } , { "\xc1\xe8\xd4" , "\xb0\xbe" } , { "\xc1\xe8\xd4\xa2" , "\xb0\xbe\x65" } , { "\xc1\xe8\xd4\xda" , "\xb0\xbe\xe7" } , { "\xc1\xe8\xd4\xdb" , "\xd7\xb0\xbe" } , { "\xc1\xe8\xd4\xdc" , "\xb0\xbe\xdd" } , { "\xc1\xe8\xd4\xdd" , "\xb0\xbe\xc7" } , { "\xc1\xe8\xd4\xe1" , "\xe5\xb0\xbe" } , { "\xc1\xe8\xd5\xe6" , "\xe5\xb0\x60\xec" } , { "\xc1\xe8\xd7\xdb\xa2" , "\xd7\xb0\x61\x65" } , { "\xc1\xe8\xd9\xbf\xdb" , "\xb0\xd7\x51\xf6" } , { "\xc1\xe8\xe8" , "\x53\xcb" } , { "\xc1\xe9" , "\x53" } , { "\xc1\xe9\xe8\xbf" , "\x89\xf8" } , { "\xc1\xe9\xe8\xbf\xda" , "\x89\xf8\xe7" } , { "\xc1\xe9\xe8\xbf\xdb" , "\xd7\x89\xf8" } , { "\xc1\xe9\xe8\xbf\xe1" , "\xe5\x89\xf8" } , { "\xc2" , "\x54\xf6" } , { "\xc2\xa1" , "\x54\x67\xf6" } , { "\xc2\xa2" , "\x54\xf6\x65" } , { "\xc2\xa2\xa2" , "\x54\xf6\x65\x65" } , { "\xc2\xa3" , "\x54\xf6\x66" } , { "\xc2\xd0\xc6\xda" , "\x54\xf6\xbb\x58\xe7" } , { "\xc2\xda" , "\x54\xf6\xe7" } , { "\xc2\xda\xa1" , "\x54\x67\xf6\xe7" } , { "\xc2\xda\xa2" , "\x54\xf6\xe7\x65" } , { "\xc2\xda\xa2\xa2" , "\x54\xf6\xe7\x65\x65" } , { "\xc2\xda\xa3" , "\x54\xf6\xe7\x66" } , { "\xc2\xdb" , "\xd7\x54\xf6" } , { "\xc2\xdb\xa2" , "\xd7\x54\xf6\x65" } , { "\xc2\xdb\xa3" , "\xd7\x54\xf6\x66" } , { "\xc2\xdc" , "\x54\xf6\xdd" } , { "\xc2\xdc\xa2" , "\x54\xf6\xdd\x65" } , { "\xc2\xdd" , "\x54\xc7\xf6" } , { "\xc2\xdd\xa1" , "\x54\x67\xc7\xf6" } , { "\xc2\xdd\xa2" , "\x54\xc7\xf6\x65" } , { "\xc2\xdd\xa2\xa2" , "\x54\xc7\xf6\x65\x65" } , { "\xc2\xdd\xa3" , "\x54\xc7\xf6\x66" } , { "\xc2\xde" , "\x54\xc9\xf6" } , { "\xc2\xde\xa1" , "\x54\x67\xc9\xf6" } , { "\xc2\xde\xa2" , "\x54\xc9\xf6\x65" } , { "\xc2\xdf" , "\x54\xca\xf6" } , { "\xc2\xdf\xa2" , "\x54\xca\xf6\x65" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x54\xca\xf6\xbb\xcb\xd7\x54\xf6" } , { "\xc2\xe0" , "\xe5\x54\xf6" } , { "\xc2\xe0\xa2" , "\xe5\x54\xf6\x65" } , { "\xc2\xe1" , "\xe5\x54\xf6" } , { "\xc2\xe1\xa2" , "\xe5\x54\xf6\x65" } , { "\xc2\xe1\xa3" , "\xe5\x54\xf6\x66" } , { "\xc2\xe2" , "\xe9\x54\xf6" } , { "\xc2\xe2\xa2" , "\xe9\x54\xf6\x65" } , { "\xc2\xe2\xa3" , "\xe9\x54\xf6\x66" } , { "\xc2\xe4" , "\xe5\x54\xf6\xe7" } , { "\xc2\xe4\xa2" , "\xe5\x54\xf6\xe7\x65" } , { "\xc2\xe5" , "\xe5\x54\xf6\xe7" } , { "\xc2\xe5\xa2" , "\xe5\x54\xf6\xe7\x65" } , { "\xc2\xe5\xa3" , "\xe5\x54\xf6\xe7\x66" } , { "\xc2\xe6" , "\xe5\x54\xf6\xec" } , { "\xc2\xe6\xa2" , "\xe5\x54\xf6\xec\x65" } , { "\xc2\xe7" , "\xe5\x54\xf6\xe7" } , { "\xc2\xe8" , "\x64" } , { "\xc2\xe8\xb3" , "\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xa2" , "\xb1\x45\xf5\x65" } , { "\xc2\xe8\xb3\xda" , "\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xb3\xda\xa2" , "\xb1\x45\xf5\xe7\x65" } , { "\xc2\xe8\xb3\xdb" , "\xd7\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xdb\xa2" , "\xd7\xb1\x45\xf5\x65" } , { "\xc2\xe8\xb3\xdc" , "\xb1\x45\xf5\xdd" } , { "\xc2\xe8\xb3\xdd" , "\xb1\x45\xc7\xf5" } , { "\xc2\xe8\xb3\xdd\xa2" , "\xb1\x45\xc7\xf5\x65" } , { "\xc2\xe8\xb3\xde" , "\xb1\x45\xc9\xf5" } , { "\xc2\xe8\xb3\xdf" , "\xb1\x45\xca\xf5" } , { "\xc2\xe8\xb3\xe0" , "\xe5\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xe1" , "\xe5\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xe1\xa2" , "\xe5\xb1\x45\xf5\x65" } , { "\xc2\xe8\xb3\xe4" , "\xe5\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xb3\xe5" , "\xe5\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xb3\xe8\xc2" , "\xb1\x4e\xfe" } , { "\xc2\xe8\xb3\xe8\xcf" , "\xb1\x79\xd4" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\xb1\x79\xd4\x65" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\xd7\xb1\x79\xd4" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\xe5\xb1\x79\xd4\x65" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\xe5\xb1\x79\xd4\xe7" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\xe6\xb1\x7a\xf5" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\xe6\xb1\x7a\xf5\xe7" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x64\xa8\xbe" } , { "\xc2\xe8\xb3\xe8\xd6" , "\xb1\x6c\xf9" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\xd7\xb1\x6c\xf9" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\xe5\xb1\x6c\xf9" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\xa8\xb1\x72\xf4" } , { "\xc2\xe8\xb4" , "\xb1\x46" } , { "\xc2\xe8\xb4\xa2" , "\xb1\x46\x65" } , { "\xc2\xe8\xb4\xda" , "\xb1\x46\xe7" } , { "\xc2\xe8\xb4\xe1" , "\xe5\xb1\x46" } , { "\xc2\xe8\xb5\xda" , "\xb1\x47\xe7" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x64\xaa\x63\xf7" } , { "\xc2\xe8\xb8" , "\xb1\x4a\xf4" } , { "\xc2\xe8\xb8\xda" , "\xb1\x4a\xf4\xe7" } , { "\xc2\xe8\xb8\xe1" , "\xe6\xb1\x4a\xf4" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x64\xac\x4b\xf7" } , { "\xc2\xe8\xba" , "\xb1\x4c" } , { "\xc2\xe8\xba\xa2" , "\xb1\x4c\x65" } , { "\xc2\xe8\xba\xdb" , "\xd7\xb1\x4c" } , { "\xc2\xe8\xba\xe8\xbc" , "\xb1\x70\xfb" } , { "\xc2\xe8\xba\xe9" , "\xb1\x4c" } , { "\xc2\xe8\xbd\xe2" , "\xe8\xb1\x4f\xf4" } , { "\xc2\xe8\xbf\xdd" , "\xb1\x51\xc7\xf6" } , { "\xc2\xe8\xbf\xe5" , "\xe5\xb1\x51\xf6\xe7" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\xb1\x51\xce\xf6\xe7" } , { "\xc2\xe8\xc1" , "\xb1\x53" } , { "\xc2\xe8\xc2" , "\x77\xf8" } , { "\xc2\xe8\xc2\xa2" , "\x77\xf8\x65" } , { "\xc2\xe8\xc2\xda" , "\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xda\xa1" , "\x77\x67\xf8\xe7" } , { "\xc2\xe8\xc2\xda\xa2" , "\x77\xf8\xe7\x65" } , { "\xc2\xe8\xc2\xda\xa3" , "\x77\xf8\xe7\x66" } , { "\xc2\xe8\xc2\xdb" , "\xd7\x77\xf8" } , { "\xc2\xe8\xc2\xdb\xa2" , "\xd7\x77\xf8\x65" } , { "\xc2\xe8\xc2\xdb\xa3" , "\xd7\x77\xf8\x66" } , { "\xc2\xe8\xc2\xdc" , "\x77\xf8\xdd" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x77\xf8\xdd\x65" } , { "\xc2\xe8\xc2\xdd" , "\x77\xc7\xf8" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x77\xc7\xf8\x65" } , { "\xc2\xe8\xc2\xde" , "\x77\xc9\xf8" } , { "\xc2\xe8\xc2\xde\xa2" , "\x77\xc9\xf8\x65" } , { "\xc2\xe8\xc2\xdf" , "\x77\xca\xf8" } , { "\xc2\xe8\xc2\xe0" , "\xe5\x77\xf8" } , { "\xc2\xe8\xc2\xe0\xa2" , "\xe5\x77\xf8\x65" } , { "\xc2\xe8\xc2\xe1" , "\xe5\x77\xf8" } , { "\xc2\xe8\xc2\xe1\xa2" , "\xe5\x77\xf8\x65" } , { "\xc2\xe8\xc2\xe1\xa3" , "\xe5\x77\xf8\x66" } , { "\xc2\xe8\xc2\xe2" , "\xe9\x77\xf8" } , { "\xc2\xe8\xc2\xe4" , "\xe5\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xe5" , "\xe5\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xe5\xa2" , "\xe5\x77\xf8\xe7\x65" } , { "\xc2\xe8\xc2\xe6" , "\xe5\x77\xf8\xec" } , { "\xc2\xe8\xc2\xe8" , "\x77\xcb\xf8" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x64\xb1\x45\xf5" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x64\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\xb1\xb1\x6c\xf9" } , { "\xc2\xe8\xc2\xe8\xc2" , "\xb1\x77\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\xb1\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\xd7\xb1\x77\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\xe5\xb1\x77\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x64\xb1\x77\xcb\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\xb1\x64\xe5\xb1\xbe\xe7\x65" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\xb1\x78\xe7" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x64\xb1\x59\xc9" } , { "\xc2\xe8\xc2\xe8\xcc" , "\xc3\xbf" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x64\xb1\xcc\x5e" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x64\xb1\xcc\x5e\x65" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x64\xb1\xcc\x5e\xe7" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x64\xb1\xcc\x5e\xc7" } , { "\xc2\xe8\xc2\xe8\xcf" , "\xc3\xcf\xf8" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\xc3\xcf\xf8\x65" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\xc3\xcf\xf8\xe7" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\xd7\xc3\xcf\xf8" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\xe5\xc3\xcf\xf8" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\xe9\xc3\xcf\xf8" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\xb1\x64\xbb\xcb\xcc\x5e" } , { "\xc2\xe8\xc2\xe8\xd4" , "\x64\xb1\xbe" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\x64\xb1\xbe\x65" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\x64\xb1\xbe\xe7" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\x64\xb1\xbe\xe7\x65" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\x64\xd7\xb1\xbe" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\x64\xb1\xbe\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x64\xe5\xb1\xbe\xe7" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x64\xe5\xb1\xbe\xe7\x65" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x64\xb1\x59" } , { "\xc2\xe8\xc3" , "\x78" } , { "\xc2\xe8\xc3\xa2" , "\x78\x65" } , { "\xc2\xe8\xc3\xda" , "\x78\xe7" } , { "\xc2\xe8\xc3\xdb" , "\xd7\x78" } , { "\xc2\xe8\xc3\xdc" , "\x78\xdd" } , { "\xc2\xe8\xc3\xde" , "\x78\xc9" } , { "\xc2\xe8\xc3\xe1" , "\xe5\x78" } , { "\xc2\xe8\xc3\xe5" , "\xe5\x78\xe7" } , { "\xc2\xe8\xc3\xe5\xa2" , "\xe5\x78\xe7\x65" } , { "\xc2\xe8\xc4" , "\xb1\x56" } , { "\xc2\xe8\xc4\xda" , "\xb1\x56\xe7" } , { "\xc2\xe8\xc4\xdd" , "\xb1\x56\xc7" } , { "\xc2\xe8\xc4\xe1" , "\xe5\xb1\x56" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x64\xe9\xb2\xbe" } , { "\xc2\xe8\xc5" , "\xb1\x57\xfd" } , { "\xc2\xe8\xc5\xa2" , "\xb1\x57\xfd\x65" } , { "\xc2\xe8\xc5\xda" , "\xb1\x57\xfd\xe7" } , { "\xc2\xe8\xc5\xda\xa2" , "\xb1\x57\xfd\xe7\x65" } , { "\xc2\xe8\xc5\xdb" , "\xd7\xb1\x57\xfd" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x64\x57\xfd\xcb\x61" } , { "\xc2\xe8\xc6" , "\xb1\xf3\xf6" } , { "\xc2\xe8\xc6\xa2" , "\xb1\xf3\xf6\x65" } , { "\xc2\xe8\xc6\xda" , "\xb1\xf3\xf6\xe7" } , { "\xc2\xe8\xc6\xda\xa2" , "\xb1\xf3\xf6\xe7\x65" } , { "\xc2\xe8\xc6\xdb" , "\xd7\xc5\xb1\xf3\xf6" } , { "\xc2\xe8\xc6\xdb\xa2" , "\xd7\xc5\xb1\xf3\xf6\x65" } , { "\xc2\xe8\xc6\xdc" , "\xb1\xf3\xf6\xdd" } , { "\xc2\xe8\xc6\xdd" , "\xb1\xf3\xc7\xf6" } , { "\xc2\xe8\xc6\xdd\xa2" , "\xb1\xf3\xc7\xf6\x65" } , { "\xc2\xe8\xc6\xe1" , "\xe6\xb1\xf3\xf6" } , { "\xc2\xe8\xc6\xe5" , "\xe6\xb1\xf3\xf6\xe7" } , { "\xc2\xe8\xc6\xe5\xa2" , "\xe6\xb1\xf3\xf6\xe7\x65" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x64\xb3\xcc\x5e" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x64\xb3\xcc\x5e\xe7\x66" } , { "\xc2\xe8\xc8" , "\xb1\x59" } , { "\xc2\xe8\xc8\xa2" , "\xb1\x59\x65" } , { "\xc2\xe8\xc8\xda" , "\xb1\x59\xe7" } , { "\xc2\xe8\xc8\xda\xa2" , "\xb1\x59\xe7\x65" } , { "\xc2\xe8\xc8\xdb" , "\xd7\xb1\x59" } , { "\xc2\xe8\xc8\xdb\xa2" , "\xd7\xb1\x59\x65" } , { "\xc2\xe8\xc8\xdc" , "\xb1\x59\xdd" } , { "\xc2\xe8\xc8\xdd" , "\xb1\x59\xc7" } , { "\xc2\xe8\xc8\xde" , "\xb1\x59\xc9" } , { "\xc2\xe8\xc8\xdf" , "\xb1\x59\xca" } , { "\xc2\xe8\xc8\xe1" , "\xe5\xb1\x59" } , { "\xc2\xe8\xc8\xe6" , "\xe5\xb1\x59\xec" } , { "\xc2\xe8\xc8\xe8\xc2" , "\xb1\x8a" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\xd7\xb1\x8a" } , { "\xc2\xe8\xc8\xe8\xcf" , "\xb1\x59\xd2" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\xb1\x59\xd2\xe7" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\xb1\x59\xd2\xe7\x65" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\xd7\xb1\x59\xd2" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\xe6\xb1\x59\xd2" } , { "\xc2\xe8\xc8\xe8\xd1" , "\xb1\x59\xc0" } , { "\xc2\xe8\xc9" , "\xb1\x5a\xf5" } , { "\xc2\xe8\xc9\xda" , "\xb1\x5a\xf5\xe7" } , { "\xc2\xe8\xc9\xdb" , "\xd7\xb1\x5a\xf5" } , { "\xc2\xe8\xc9\xdd" , "\xb1\x5a\xc7\xf5" } , { "\xc2\xe8\xc9\xe8\xcf" , "\xb1\x5a\xd0\xf5" } , { "\xc2\xe8\xc9\xe9" , "\xb1\x5a\xf5" } , { "\xc2\xe8\xca" , "\xb1\xbc\xf6" } , { "\xc2\xe8\xca\xa2" , "\xb1\xbc\xf6\x65" } , { "\xc2\xe8\xca\xda" , "\xb1\xbc\xf6\xe7" } , { "\xc2\xe8\xca\xdb" , "\xd7\xc5\xb1\xbc\xf6" } , { "\xc2\xe8\xca\xdd" , "\xb1\xbc\xc7\xf6" } , { "\xc2\xe8\xca\xe1" , "\xe5\xb1\xbc\xf6" } , { "\xc2\xe8\xca\xe8\xcf" , "\xb1\x5b\xfd\xd0" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\xb1\x5b\xfd\xc0\xe7" } , { "\xc2\xe8\xcb" , "\xb1\x5c\xf6" } , { "\xc2\xe8\xcb\xda" , "\xb1\x5c\xf6\xe7" } , { "\xc2\xe8\xcb\xda\xa2" , "\xb1\x5c\xf6\xe7\x65" } , { "\xc2\xe8\xcb\xdb" , "\xd7\xb1\x5c\xf6" } , { "\xc2\xe8\xcb\xdd" , "\xb1\x5c\xc7\xf6" } , { "\xc2\xe8\xcb\xde" , "\xb1\x5c\xc9\xf6" } , { "\xc2\xe8\xcc" , "\xb1\xc1" } , { "\xc2\xe8\xcc\xa2" , "\xb1\xc1\x65" } , { "\xc2\xe8\xcc\xda" , "\xb1\xc1\xe7" } , { "\xc2\xe8\xcc\xdb" , "\xd7\xc5\xb1\xc1" } , { "\xc2\xe8\xcc\xdc" , "\xb1\xc1\xdd" } , { "\xc2\xe8\xcc\xdd" , "\xb1\xc1\xc7" } , { "\xc2\xe8\xcc\xdd\xa2" , "\xb1\xc1\xc7\x65" } , { "\xc2\xe8\xcc\xdf" , "\xb1\xc1\xca" } , { "\xc2\xe8\xcc\xe1" , "\xe5\xb1\xc1" } , { "\xc2\xe8\xcc\xe1\xa2" , "\xe5\xb1\xc1\x65" } , { "\xc2\xe8\xcc\xe2" , "\xe9\xb1\xc1" } , { "\xc2\xe8\xcc\xe4" , "\xe5\xb1\xc1\xe7" } , { "\xc2\xe8\xcc\xe5" , "\xe5\xb1\xc1\xe7" } , { "\xc2\xe8\xcc\xe6" , "\xe5\xb1\xc1\xec" } , { "\xc2\xe8\xcc\xe8" , "\xb1\xc1\xcb" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x64\x5d\xcb\x45\xf5" } , { "\xc2\xe8\xcc\xe8\xca" , "\xb1\xb6\x91\xf6" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x64\x5d\xcb\xcc\x5e" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x64\x5d\xcb\xcc\x5e\x65" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x64\x5d\xcb\xcc\x5e\xe7" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x64\x5d\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xc2\xe8\xcd" , "\xb1\xcc\x5e" } , { "\xc2\xe8\xcd\xa2" , "\xb1\xcc\x5e\x65" } , { "\xc2\xe8\xcd\xda" , "\xb1\xcc\x5e\xe7" } , { "\xc2\xe8\xcd\xda\xa2" , "\xb1\xcc\x5e\xe7\x65" } , { "\xc2\xe8\xcd\xdb" , "\xd7\xb1\xcc\x5e" } , { "\xc2\xe8\xcd\xdc" , "\xb1\xcc\x5e\xdd" } , { "\xc2\xe8\xcd\xdd" , "\xb1\xcc\x5e\xc7" } , { "\xc2\xe8\xcd\xdd\xa2" , "\xb1\xcc\x5e\xc7\x65" } , { "\xc2\xe8\xcd\xde" , "\xb1\xcc\x5e\xc9" } , { "\xc2\xe8\xcd\xe1" , "\xe5\xb1\xcc\x5e" } , { "\xc2\xe8\xcd\xe1\xa2" , "\xe5\xb1\xcc\x5e\x65" } , { "\xc2\xe8\xcd\xe5" , "\xe5\xb1\xcc\x5e\xe7" } , { "\xc2\xe8\xcd\xe5\xa2" , "\xe5\xb1\xcc\x5e\xe7\x65" } , { "\xc2\xe8\xcd\xe6" , "\xe5\xb1\xcc\x5e\xec" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x64\xcc\x5e\xcb\x54\xf6" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x64\xcc\x5e\xcb\x64" } , { "\xc2\xe8\xcd\xe8\xcc" , "\xb1\x5e\xbd" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\xb1\x5e\xbd\x65" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\xb1\x5e\xbd\xe7" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x64\xcc\x5e\xcb\xcc\x5e" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x64\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x64\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x64\xcc\x5e\xcb\xe5\xcc\x5e" } , { "\xc2\xe8\xcd\xe8\xcf" , "\xb1\x5e\xd0" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\xb1\x5e\xd0\x65" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\xb1\x5e\xd0\x66" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\xb1\x5e\xd0\xe7" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\xe6\xb1\x5e\xd0\xe7" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x64\xcc\x5e\xcb\x61" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x64\xcc\x5e\xcb\x61\x66" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x64\xcc\x5e\xcb\x61\xe7" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x64\xcc\x5e\xcb\xe5\x61\x65" } , { "\xc2\xe8\xcf" , "\x79" } , { "\xc2\xe8\xcf\xa2" , "\x79\x65" } , { "\xc2\xe8\xcf\xa3" , "\x79\x66" } , { "\xc2\xe8\xcf\xda" , "\x79\xe7" } , { "\xc2\xe8\xcf\xda\xa2" , "\x79\xe7\x65" } , { "\xc2\xe8\xcf\xdb" , "\xd7\xc5\x79" } , { "\xc2\xe8\xcf\xdb\xa2" , "\xd7\xc5\x79\x65" } , { "\xc2\xe8\xcf\xdb\xa3" , "\xd7\xc5\x79\x66" } , { "\xc2\xe8\xcf\xdc" , "\x79\xdd" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x79\xdd\x65" } , { "\xc2\xe8\xcf\xdd" , "\x79\xd3" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x79\xd3\x65" } , { "\xc2\xe8\xcf\xde" , "\x79\xd6" } , { "\xc2\xe8\xcf\xde\xa2" , "\x79\xd6\x65" } , { "\xc2\xe8\xcf\xdf" , "\x79\xca" } , { "\xc2\xe8\xcf\xe0" , "\xe6\x79" } , { "\xc2\xe8\xcf\xe0\xa2" , "\xe6\x79\x65" } , { "\xc2\xe8\xcf\xe1" , "\xe6\x79" } , { "\xc2\xe8\xcf\xe1\xa2" , "\xe6\x79\x65" } , { "\xc2\xe8\xcf\xe2" , "\xe8\x79" } , { "\xc2\xe8\xcf\xe2\xa2" , "\xe8\x79\x65" } , { "\xc2\xe8\xcf\xe2\xa3" , "\xe8\x79\x66" } , { "\xc2\xe8\xcf\xe4" , "\xe6\x79\xe7" } , { "\xc2\xe8\xcf\xe5" , "\xe6\x79\xe7" } , { "\xc2\xe8\xcf\xe5\xa2" , "\xe6\x79\xe7\x65" } , { "\xc2\xe8\xcf\xe5\xa3" , "\xe6\x79\xe7\x66" } , { "\xc2\xe8\xcf\xe6" , "\xe6\x79\xec" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x64\xbb\xcb\x45\xf5" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\x64\xbb\xcb\xd7\x24\x4a\xf4" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x64\xbb\xcb\x54\xf6" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x64\xbb\xcb\x54\xf6\xe7" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x64\xbb\xcb\x54\xf6\xdd" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x64\xbb\xcb\x59" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x64\xbb\xcb\xcc\x5e" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x64\xbb\xcb\xcc\x5e\x65" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x64\xbb\xcb\xcc\x5e\xe7" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x64\xbb\xcb\xcc\x5e\xc9" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x64\xbb\xcb\xe5\xcc\x5e" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x64\xbb\xcb\xe5\xcc\x5e\xe7" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x64\xbb\xcb\x61" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x64\xbb\xcb\x61\x65" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x64\xbb\xcb\xcc\x5e\xef" } , { "\xc2\xe8\xd1" , "\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xa2" , "\xb1\xf2\xf6\x65" } , { "\xc2\xe8\xd1\xda" , "\xb1\xf2\xf6\xe7" } , { "\xc2\xe8\xd1\xdb" , "\xd7\xc5\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xdc" , "\xb1\xf2\xf6\xdd" } , { "\xc2\xe8\xd1\xdd" , "\xb1\xf2\xc7\xf6" } , { "\xc2\xe8\xd1\xe1" , "\xe6\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xe2" , "\xe8\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xe5" , "\xe6\xb1\xf2\xf6\xe7" } , { "\xc2\xe8\xd1\xe8\xc8" , "\xb1\x94" } , { "\xc2\xe8\xd4" , "\xb1\xbe" } , { "\xc2\xe8\xd4\xa2" , "\xb1\xbe\x65" } , { "\xc2\xe8\xd4\xa3" , "\xb1\xbe\x66" } , { "\xc2\xe8\xd4\xda" , "\xb1\xbe\xe7" } , { "\xc2\xe8\xd4\xda\xa2" , "\xb1\xbe\xe7\x65" } , { "\xc2\xe8\xd4\xdb" , "\xd7\xb1\xbe" } , { "\xc2\xe8\xd4\xdb\xa3" , "\xd7\xb1\xbe\x66" } , { "\xc2\xe8\xd4\xdc" , "\xb1\xbe\xdd" } , { "\xc2\xe8\xd4\xdd" , "\xb1\xbe\xc7" } , { "\xc2\xe8\xd4\xdf" , "\xb1\xbe\xca" } , { "\xc2\xe8\xd4\xe0" , "\xe5\xb1\xbe" } , { "\xc2\xe8\xd4\xe1" , "\xe5\xb1\xbe" } , { "\xc2\xe8\xd4\xe2" , "\xe9\xb1\xbe" } , { "\xc2\xe8\xd4\xe5" , "\xe5\xb1\xbe\xe7" } , { "\xc2\xe8\xd4\xe5\xa2" , "\xe5\xb1\xbe\xe7\x65" } , { "\xc2\xe8\xd4\xe6" , "\xe5\xb1\xbe\xec" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\x64\xbe\xcb\xd7\x54\xf6" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\xb1\xbe\xcb\xb1\xcc\x5e" } , { "\xc2\xe8\xd5" , "\xb1\x60" } , { "\xc2\xe8\xd5\xda" , "\xb1\x60\xe7" } , { "\xc2\xe8\xd5\xdb" , "\xd7\xb1\x60" } , { "\xc2\xe8\xd5\xde" , "\xb1\x60\xc9" } , { "\xc2\xe8\xd5\xe1" , "\xe5\xb1\x60" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x64\xb8\xbe" } , { "\xc2\xe8\xd6" , "\xb1\x62" } , { "\xc2\xe8\xd6\xda" , "\xb1\x62\xe7" } , { "\xc2\xe8\xd6\xdb" , "\xd7\xb1\x62" } , { "\xc2\xe8\xd6\xe1" , "\xe5\xb1\x62" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\xe5\xb1\x9b\xf5" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\xb1\x62\xd5\xe7" } , { "\xc2\xe8\xd7" , "\xb1\x61" } , { "\xc2\xe8\xd7\xa2" , "\xb1\x61\x65" } , { "\xc2\xe8\xd7\xa3" , "\xb1\x61\x66" } , { "\xc2\xe8\xd7\xda" , "\xb1\x61\xe7" } , { "\xc2\xe8\xd7\xda\xa2" , "\xb1\x61\xe7\x65" } , { "\xc2\xe8\xd7\xdb" , "\xd7\xb1\x61" } , { "\xc2\xe8\xd7\xdb\xa2" , "\xd7\xb1\x61\x65" } , { "\xc2\xe8\xd7\xdc" , "\xb1\x61\xdd" } , { "\xc2\xe8\xd7\xdd" , "\xb1\x61\xc7" } , { "\xc2\xe8\xd7\xde" , "\xb1\x61\xc9" } , { "\xc2\xe8\xd7\xdf" , "\xb1\x61\xca" } , { "\xc2\xe8\xd7\xe0" , "\xe5\xb1\x61" } , { "\xc2\xe8\xd7\xe1" , "\xe5\xb1\x61" } , { "\xc2\xe8\xd7\xe4" , "\xe5\xb1\x61\xe7" } , { "\xc2\xe8\xd7\xe5" , "\xe5\xb1\x61\xe7" } , { "\xc2\xe8\xd7\xe6" , "\xe5\xb1\x61\xec" } , { "\xc2\xe8\xd7\xe8" , "\xb1\x61\xcb" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\xb1\x95\xf5\xdd" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\xb1\xd8\x9a\xf6\xe7" } , { "\xc2\xe8\xd7\xe8\xc6" , "\xb1\xd8\x6f\xf6" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\xb1\xd8\x6f\xf6\xe7" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb1\xd8\x6f\xf6" } , { "\xc2\xe8\xd7\xe8\xc8" , "\xb1\x26" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\xb1\x26\xe7" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\xb1\x26\xca" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\xb1\xd8\xf6\x8f\xc9\xf5" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\xe5\xb1\xd8\xf6\x8f\xf5\xe7" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x64\xba\xcc\x5e" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x64\xba\xcc\x5e\x65" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x64\xba\xcc\x5e\xe7" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x64\xba\xcc\x5e\xe7\x65" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\x64\xd7\xba\xcc\x5e" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x64\xba\xcc\x5e\xc7" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x64\xe5\xba\xcc\x5e\x65" } , { "\xc2\xe8\xd7\xe8\xcf" , "\xb1\xd8\x83\xf6" } , { "\xc2\xe8\xd7\xe8\xd4" , "\x64\xba\xbe" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\x64\xba\xbe\xe7" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x64\xe5\xba\xbe" } , { "\xc2\xe8\xd8\xdb" , "\xd7\xb1\x63\xf7" } , { "\xc2\xe8\xd8\xdc" , "\xb1\x63\xf7\xdd" } , { "\xc2\xe8\xd9\xa6" , "\xb1\x2b" } , { "\xc2\xe8\xd9\xb3\xda" , "\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xd9\xc2" , "\xb1\x54\xf6" } , { "\xc2\xe8\xd9\xc2\xda" , "\xb1\x54\xf6\xe7" } , { "\xc2\xe8\xd9\xc2\xdb" , "\xb1\xd7\x54\xf6" } , { "\xc2\xe8\xd9\xc2\xdc" , "\xb1\x54\xf6\xdd" } , { "\xc2\xe8\xd9\xc2\xe1" , "\xb1\xe3\x54\xf6" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\xb1\xe3\x54\xf6\xe7\x65" } , { "\xc2\xe8\xd9\xc8" , "\xb1\x59" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\xb1\x54\xf6\xdb\xe7" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\xb1\x61\xef" } , { "\xc2\xe8\xd9\xd1" , "\xb1\x5f" } , { "\xc2\xe8\xd9\xd4" , "\xb1\xbe" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\xb1\xe3\xbe\xe7\x65" } , { "\xc2\xe8\xe8" , "\x54\xcb\xf6" } , { "\xc2\xe8\xe9\xc2" , "\x77\xf8" } , { "\xc2\xe8\xe9\xcf" , "\x79" } , { "\xc2\xe9" , "\x54\xf6" } , { "\xc3" , "\x55" } , { "\xc3\xa1" , "\x55\x67" } , { "\xc3\xa2" , "\x55\x65" } , { "\xc3\xa3" , "\x55\x66" } , { "\xc3\xda" , "\x55\xe7" } , { "\xc3\xda\xa1" , "\x55\x67\xe7" } , { "\xc3\xda\xa2" , "\x55\xe7\x65" } , { "\xc3\xdb" , "\xd7\x55" } , { "\xc3\xdb\xa2" , "\xd7\x55\x65" } , { "\xc3\xdc" , "\x55\xdd" } , { "\xc3\xdc\xa1" , "\x55\xdf" } , { "\xc3\xdc\xa2" , "\x55\xdd\x65" } , { "\xc3\xdd" , "\x55\xc7" } , { "\xc3\xdd\xa2" , "\x55\xc7\x65" } , { "\xc3\xdd\xa3" , "\x55\xc7\x66" } , { "\xc3\xde" , "\x55\xc9" } , { "\xc3\xde\xa2" , "\x55\xc9\x65" } , { "\xc3\xdf" , "\x55\xca" } , { "\xc3\xe0" , "\xe5\x55" } , { "\xc3\xe1" , "\xe5\x55" } , { "\xc3\xe1\xa2" , "\xe5\x55\x65" } , { "\xc3\xe2" , "\xe9\x55" } , { "\xc3\xe2\xa2" , "\xe9\x55\x65" } , { "\xc3\xe4" , "\xe5\x55\xe7" } , { "\xc3\xe5" , "\xe5\x55\xe7" } , { "\xc3\xe5\xa2" , "\xe5\x55\xe7\x65" } , { "\xc3\xe6" , "\xe5\x55\xec" } , { "\xc3\xe6\xa2" , "\xe5\x55\xec\x65" } , { "\xc3\xe7" , "\xe5\x55\xe7" } , { "\xc3\xe8" , "\x55\xcb" } , { "\xc3\xe8\xb3\xdd" , "\x55\xcb\x45\xc7\xf5" } , { "\xc3\xe8\xb5\xda" , "\x55\xcb\x47\xe7" } , { "\xc3\xe8\xc2\xdb" , "\x55\xcb\xd7\x54\xf6" } , { "\xc3\xe8\xc2\xdd" , "\x55\xcb\x54\xc7\xf6" } , { "\xc3\xe8\xc3" , "\x55\xcb\x55" } , { "\xc3\xe8\xc3\xda" , "\x55\xcb\x55\xe7" } , { "\xc3\xe8\xc8\xde" , "\x55\xcb\x59\xc9" } , { "\xc3\xe8\xcc\xda" , "\x55\xbd\xe7" } , { "\xc3\xe8\xcc\xdc" , "\x55\xbd\xdd" } , { "\xc3\xe8\xcd" , "\x55\xcb\xcc\x5e" } , { "\xc3\xe8\xcd\xa2" , "\x55\xcb\xcc\x5e\x65" } , { "\xc3\xe8\xcd\xda" , "\x55\xcb\xcc\x5e\xe7" } , { "\xc3\xe8\xcd\xda\xa2" , "\x55\xcb\xcc\x5e\xe7\x65" } , { "\xc3\xe8\xcd\xda\xa3" , "\x55\xcb\xcc\x5e\xe7\x66" } , { "\xc3\xe8\xcd\xdd" , "\x55\xcb\xcc\x5e\xc7" } , { "\xc3\xe8\xcd\xde" , "\x55\xcb\xcc\x5e\xc9" } , { "\xc3\xe8\xcd\xe5" , "\x55\xcb\xe5\xcc\x5e\xe7" } , { "\xc3\xe8\xcd\xe5\xa2" , "\x55\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xc3\xe8\xcf" , "\x55\xd0" } , { "\xc3\xe8\xcf\xda" , "\x55\xd0\xe7" } , { "\xc3\xe8\xcf\xda\xa2" , "\x55\xd0\xe7\x65" } , { "\xc3\xe8\xcf\xdb" , "\xd7\x55\xd0" } , { "\xc3\xe8\xcf\xdc" , "\x55\xd0\xdd" } , { "\xc3\xe8\xcf\xde" , "\x55\xd0\xc9" } , { "\xc3\xe8\xcf\xe0" , "\xe6\x55\xd0" } , { "\xc3\xe8\xcf\xe1" , "\xe6\x55\xd0" } , { "\xc3\xe8\xcf\xe2" , "\xe8\x55\xd0" } , { "\xc3\xe8\xcf\xe5" , "\xe6\x55\xd0\xe7" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x55\xcb\xbb\xcb\xcc\x5e" } , { "\xc3\xe8\xd1\xdd" , "\x55\xc0\xc7" } , { "\xc3\xe8\xd1\xe5" , "\xe6\x55\xc0\xe7" } , { "\xc3\xe8\xd2" , "\x55\xcb\x5f" } , { "\xc3\xe8\xd4" , "\x55\xcb\xbe" } , { "\xc3\xe8\xd4\xda" , "\x55\xcb\xbe\xe7" } , { "\xc3\xe8\xd4\xdb" , "\x55\xcb\xd7\xbe" } , { "\xc3\xe8\xd4\xdc" , "\x55\xcb\xbe\xdd" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x55\xcb\x60\xd2\xdd" } , { "\xc3\xe8\xd7" , "\x55\xcb\x61" } , { "\xc3\xe8\xd7\xe8" , "\x55\xcb\x61\xcb" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x55\xcb\xcc\x5e\xef" } , { "\xc3\xe8\xe8" , "\x55\xcb" } , { "\xc3\xe8\xe9\xcf" , "\x55\xd0" } , { "\xc3\xe9" , "\x55" } , { "\xc4" , "\x56" } , { "\xc4\xa1" , "\x56\xf1" } , { "\xc4\xa2" , "\x56\x65" } , { "\xc4\xa2\xa2" , "\x56\x65\x65" } , { "\xc4\xa3" , "\x56\x66" } , { "\xc4\xd3\xcd\xda" , "\x56\x5f\xcc\x5e\xe7" } , { "\xc4\xd9" , "\x56" } , { "\xc4\xda" , "\x56\xe7" } , { "\xc4\xda\xa1" , "\x56\xf1\xe7" } , { "\xc4\xda\xa2" , "\x56\xe7\x65" } , { "\xc4\xda\xa2\xa2" , "\x56\xe7\x65\x65" } , { "\xc4\xda\xa3" , "\x56\xe7\x66" } , { "\xc4\xdb" , "\xd7\x56" } , { "\xc4\xdb\xa2" , "\xd7\x56\x65" } , { "\xc4\xdb\xa2\xa2" , "\xd7\x56\x65\x65" } , { "\xc4\xdb\xa3" , "\xd7\x56\x66" } , { "\xc4\xdb\xd7\xdf" , "\xd7\x56\x61\xca" } , { "\xc4\xdc" , "\x56\xdd" } , { "\xc4\xdc\xa2" , "\x56\xdd\x65" } , { "\xc4\xdd" , "\x56\xc7" } , { "\xc4\xdd\xa1" , "\x56\xf1\xc7" } , { "\xc4\xdd\xa2" , "\x56\xc7\x65" } , { "\xc4\xdd\xa3" , "\x56\xc7\x66" } , { "\xc4\xde" , "\x56\xc9" } , { "\xc4\xde\xa1" , "\x56\xf1\xc9" } , { "\xc4\xde\xa2" , "\x56\xc9\x65" } , { "\xc4\xdf" , "\x56\xca" } , { "\xc4\xdf\xa2" , "\x56\xca\x65" } , { "\xc4\xe0" , "\xe5\x56" } , { "\xc4\xe0\xa2" , "\xe5\x56\x65" } , { "\xc4\xe1" , "\xe5\x56" } , { "\xc4\xe1\xa2" , "\xe5\x56\x65" } , { "\xc4\xe2" , "\xe9\x56" } , { "\xc4\xe2\xa2" , "\xe9\x56\x65" } , { "\xc4\xe2\xa3" , "\xe9\x56\x66" } , { "\xc4\xe4" , "\xe5\x56\xe7" } , { "\xc4\xe4\xa2" , "\xe5\x56\xe7\x65" } , { "\xc4\xe5" , "\xe5\x56\xe7" } , { "\xc4\xe5\xa2" , "\xe5\x56\xe7\x65" } , { "\xc4\xe6" , "\xe5\x56\xec" } , { "\xc4\xe6\xa2" , "\xe5\x56\xec\x65" } , { "\xc4\xe7" , "\xe5\x56\xe7" } , { "\xc4\xe8" , "\x56\xcb" } , { "\xc4\xe8\xb3" , "\xb2\x45\xf5" } , { "\xc4\xe8\xb3\xda" , "\xb2\x45\xf5\xe7" } , { "\xc4\xe8\xb3\xdb" , "\xd7\xb2\x45\xf5" } , { "\xc4\xe8\xb3\xdd" , "\xb2\x45\xc7\xf5" } , { "\xc4\xe8\xb3\xde" , "\xb2\x45\xc9\xf5" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\xe5\xb2\x68\xf5" } , { "\xc4\xe8\xb4" , "\xb2\x46" } , { "\xc4\xe8\xb4\xda" , "\xb2\x46\xe7" } , { "\xc4\xe8\xb5" , "\x56\x47" } , { "\xc4\xe8\xb5\xa2" , "\x56\x47\x65" } , { "\xc4\xe8\xb5\xda" , "\x56\x47\xe7" } , { "\xc4\xe8\xb5\xdc" , "\x56\x47\xdd" } , { "\xc4\xe8\xb5\xdd" , "\x56\x47\xc7" } , { "\xc4\xe8\xb5\xdf" , "\x56\x47\xca" } , { "\xc4\xe8\xb5\xe1" , "\xe5\x56\x47" } , { "\xc4\xe8\xb5\xe5" , "\xe5\x56\x47\xe7" } , { "\xc4\xe8\xb5\xe8\xc5" , "\xb2\x84\xf9" } , { "\xc4\xe8\xb5\xe8\xcf" , "\xb2\x47\xd0" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\xb2\x47\xd0\x65" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\xb2\x47\xd0\xe7" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\xb2\x47\xd0\xdd" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x56\xcb\xaa\x63\xf7" } , { "\xc4\xe8\xb6" , "\x56\x48" } , { "\xc4\xe8\xb6\xda" , "\x56\x48\xe7" } , { "\xc4\xe8\xb6\xda\xa2" , "\x56\x48\xe7\x65" } , { "\xc4\xe8\xb6\xdf" , "\x56\x48\xca" } , { "\xc4\xe8\xb6\xe5" , "\xe5\x56\x48\xe7" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x56\xcb\x48\xcb\x54\xf6" } , { "\xc4\xe8\xb8" , "\xb2\x4a\xf4" } , { "\xc4\xe8\xb8\xda" , "\xb2\x4a\xf4\xe7" } , { "\xc4\xe8\xb8\xdb" , "\xd7\xb2\x4a\xf4" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\x56\xcb\xd7\xac\x4b\xf7" } , { "\xc4\xe8\xba" , "\xb2\x4c" } , { "\xc4\xe8\xba\xdc" , "\xb2\x4c\xdd" } , { "\xc4\xe8\xba\xdd" , "\xb2\x4c\xc7" } , { "\xc4\xe8\xba\xdf" , "\xb2\x4c\xca" } , { "\xc4\xe8\xba\xe1" , "\xe5\xb2\x4c" } , { "\xc4\xe8\xba\xe5" , "\xe5\xb2\x4c\xe7" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\xb2\x70\xc7\xfb" } , { "\xc4\xe8\xbb" , "\xb2\x4d\xf5" } , { "\xc4\xe8\xbf\xda" , "\xb2\x51\xf6\xe7" } , { "\xc4\xe8\xbf\xdb" , "\xd7\xb2\x51\xf6" } , { "\xc4\xe8\xbf\xe9" , "\xb2\x51\xcd\xf6" } , { "\xc4\xe8\xc0" , "\xb2\x52\xf4" } , { "\xc4\xe8\xc0\xe9" , "\xb2\x52\xcd\xf4" } , { "\xc4\xe8\xc2" , "\xb2\x54\xf6" } , { "\xc4\xe8\xc2\xa2" , "\xb2\x54\xf6\x65" } , { "\xc4\xe8\xc2\xdd" , "\xb2\x54\xc7\xf6" } , { "\xc4\xe8\xc2\xe2" , "\xe9\xb2\x54\xf6" } , { "\xc4\xe8\xc2\xe5" , "\xe5\xb2\x54\xf6\xe7" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\x56\xcb\xe9\xb1\xbe" } , { "\xc4\xe8\xc3" , "\xb2\x55" } , { "\xc4\xe8\xc3\xa2" , "\xb2\x55\x65" } , { "\xc4\xe8\xc3\xda" , "\xb2\x55\xe7" } , { "\xc4\xe8\xc3\xda\xa2" , "\xb2\x55\xe7\x65" } , { "\xc4\xe8\xc3\xdb" , "\xd7\xb2\x55" } , { "\xc4\xe8\xc3\xdb\xa3" , "\xd7\xb2\x55\x66" } , { "\xc4\xe8\xc3\xdd" , "\xb2\x55\xc7" } , { "\xc4\xe8\xc4" , "\x81" } , { "\xc4\xe8\xc4\xa2" , "\x81\x65" } , { "\xc4\xe8\xc4\xa3" , "\x81\x66" } , { "\xc4\xe8\xc4\xda" , "\x81\xe7" } , { "\xc4\xe8\xc4\xda\xa2" , "\x81\xe7\x65" } , { "\xc4\xe8\xc4\xdb" , "\xd7\x81" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xd7\x81\x65" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xd7\x81\x66" } , { "\xc4\xe8\xc4\xdc" , "\x81\xdd" } , { "\xc4\xe8\xc4\xdd" , "\x81\xc7" } , { "\xc4\xe8\xc4\xdd\xa2" , "\x81\xc7\x65" } , { "\xc4\xe8\xc4\xde" , "\x81\xc9" } , { "\xc4\xe8\xc4\xdf" , "\x81\xca" } , { "\xc4\xe8\xc4\xe0" , "\xe5\x81" } , { "\xc4\xe8\xc4\xe0\xa2" , "\xe5\x81\x65" } , { "\xc4\xe8\xc4\xe1" , "\xe5\x81" } , { "\xc4\xe8\xc4\xe1\xa2" , "\xe5\x81\x65" } , { "\xc4\xe8\xc4\xe1\xa3" , "\xe5\x81\x66" } , { "\xc4\xe8\xc4\xe2" , "\xe9\x81" } , { "\xc4\xe8\xc4\xe4" , "\xe5\x81\xe7" } , { "\xc4\xe8\xc4\xe5" , "\xe5\x81\xe7" } , { "\xc4\xe8\xc4\xe5\xa2" , "\xe5\x81\xe7\x65" } , { "\xc4\xe8\xc4\xe6" , "\xe5\x81\xec" } , { "\xc4\xe8\xc4\xe8" , "\x81\xcb" } , { "\xc4\xe8\xc4\xe8\xcd" , "\x56\xcb\xb2\xcc\x5e" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\x56\xcb\xb2\xcc\x5e\x65" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\x56\xcb\xb2\xcc\x5e\xc7" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\x56\xcb\xe5\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\xd7\x81\xd2" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x81\xd2\xc8" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\x56\xcb\xb2\xbe\x65" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\x56\xcb\xb2\xbe\xe7" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\x56\xcb\xd7\xb2\xbe" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\x56\xcb\xe5\xb2\xbe" } , { "\xc4\xe8\xc5" , "\x88\xf9" } , { "\xc4\xe8\xc5\xa2" , "\x88\xf9\x65" } , { "\xc4\xe8\xc5\xa3" , "\x88\xf9\x66" } , { "\xc4\xe8\xc5\xda" , "\x88\xf9\xe7" } , { "\xc4\xe8\xc5\xda\xa1" , "\x88\x67\xf9\xe7" } , { "\xc4\xe8\xc5\xda\xa2" , "\x88\xf9\xe7\x65" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\x88\xf9\xe7\x65\x65" } , { "\xc4\xe8\xc5\xda\xa3" , "\x88\xf9\xe7\x66" } , { "\xc4\xe8\xc5\xdb" , "\xd7\x88\xf9" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xd7\x88\xf9\x65" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xd7\x88\xf9\x66" } , { "\xc4\xe8\xc5\xdc" , "\x88\xf9\xdd" } , { "\xc4\xe8\xc5\xdc\xa2" , "\x88\xf9\xdd\x65" } , { "\xc4\xe8\xc5\xdd" , "\x88\xc7\xf9" } , { "\xc4\xe8\xc5\xdd\xa2" , "\x88\xc7\xf9\x65" } , { "\xc4\xe8\xc5\xde" , "\x88\xc9\xf9" } , { "\xc4\xe8\xc5\xdf" , "\x88\xca\xf9" } , { "\xc4\xe8\xc5\xe0" , "\xe5\x88\xf9" } , { "\xc4\xe8\xc5\xe1" , "\xe5\x88\xf9" } , { "\xc4\xe8\xc5\xe1\xa2" , "\xe5\x88\xf9\x65" } , { "\xc4\xe8\xc5\xe1\xa3" , "\xe5\x88\xf9\x66" } , { "\xc4\xe8\xc5\xe2" , "\xe9\x88\xf9" } , { "\xc4\xe8\xc5\xe4" , "\xe5\x88\xf9\xe7" } , { "\xc4\xe8\xc5\xe5" , "\xe5\x88\xf9\xe7" } , { "\xc4\xe8\xc5\xe5\xa2" , "\xe5\x88\xf9\xe7\x65" } , { "\xc4\xe8\xc5\xe8\xc2" , "\x56\xcb\x57\xfd\xcb\x54\xf6" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\xb2\x57\xfd\xc2\xe7" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\x88\x9d\xf9\xdd" } , { "\xc4\xe8\xc5\xe8\xcd" , "\x56\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\x56\xcb\x57\xfd\xcb\xcc\x5e\x65" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\x56\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\x56\xcb\x57\xfd\xcb\xe5\xcc\x5e\xe7" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\xd7\x88\x98\xf9" } , { "\xc4\xe8\xc5\xe8\xd4" , "\x56\xcb\x57\xfd\xcb\xbe" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\x56\xcb\x57\xfd\xcb\xbe\xe7" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\x56\xcb\x57\xfd\xcb\xa3" } , { "\xc4\xe8\xc6" , "\x56\xc2" } , { "\xc4\xe8\xc6\xda" , "\x56\xc2\xe7" } , { "\xc4\xe8\xc6\xdb" , "\xd7\x56\xc2" } , { "\xc4\xe8\xc6\xdb\xa2" , "\xd7\x56\xc2\x65" } , { "\xc4\xe8\xc6\xdc" , "\x56\xc2\xdd" } , { "\xc4\xe8\xc6\xdd" , "\x56\xc2\xc7" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x56\xc2\xc7\x65" } , { "\xc4\xe8\xc6\xe5" , "\xe5\x56\xc2\xe7" } , { "\xc4\xe8\xc6\xe8\xc2" , "\xb2\xdc\x99\xf6" } , { "\xc4\xe8\xc8" , "\xb2\x59" } , { "\xc4\xe8\xc8\xa2" , "\xb2\x59\x65" } , { "\xc4\xe8\xc8\xda" , "\xb2\x59\xe7" } , { "\xc4\xe8\xc8\xdd" , "\xb2\x59\xc7" } , { "\xc4\xe8\xc8\xde" , "\xb2\x59\xc9" } , { "\xc4\xe8\xc8\xe2" , "\xe9\xb2\x59" } , { "\xc4\xe8\xca" , "\xa5" } , { "\xc4\xe8\xca\xa2" , "\xa5\x65" } , { "\xc4\xe8\xca\xda" , "\xa5\xe7" } , { "\xc4\xe8\xca\xda\xa2" , "\xa5\xe7\x65" } , { "\xc4\xe8\xca\xdb" , "\xd7\xa5" } , { "\xc4\xe8\xca\xdc" , "\xa5\xdd" } , { "\xc4\xe8\xca\xdd" , "\xa5\xc7" } , { "\xc4\xe8\xca\xe1" , "\xe5\xa5" } , { "\xc4\xe8\xca\xe5" , "\xe5\xa5\xe7" } , { "\xc4\xe8\xca\xe8\xcf" , "\xb2\x5b\xfd\xd0" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\xb2\x5b\xfd\xd0\xe7" } , { "\xc4\xe8\xcb" , "\xe0\xf6" } , { "\xc4\xe8\xcb\xa2" , "\xe0\xf6\x65" } , { "\xc4\xe8\xcb\xda" , "\xe0\xf6\xe7" } , { "\xc4\xe8\xcb\xda\xa2" , "\xe0\xf6\xe7\x65" } , { "\xc4\xe8\xcb\xdb" , "\xd7\xe0\xf6" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xd7\xe0\xf6\x66" } , { "\xc4\xe8\xcb\xdc" , "\xe0\xf6\xdd" } , { "\xc4\xe8\xcb\xdd" , "\xe0\xc7\xf6" } , { "\xc4\xe8\xcb\xde" , "\xe0\xc9\xf6" } , { "\xc4\xe8\xcb\xe1" , "\xe5\xe0\xf6" } , { "\xc4\xe8\xcb\xe5" , "\xe5\xe0\xf6\xe7" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\xe0\xf6\x98\xe7" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\xe0\xf6\x98\xc8" } , { "\xc4\xe8\xcc" , "\xb2\xbf" } , { "\xc4\xe8\xcc\xa2" , "\xb2\xbf\x65" } , { "\xc4\xe8\xcc\xda" , "\xb2\xbf\xe7" } , { "\xc4\xe8\xcc\xda\xa2" , "\xb2\xbf\xe7\x65" } , { "\xc4\xe8\xcc\xdb" , "\xd7\xb2\xbf" } , { "\xc4\xe8\xcc\xdd" , "\xb2\xbf\xc7" } , { "\xc4\xe8\xcc\xde" , "\xb2\xbf\xc9" } , { "\xc4\xe8\xcc\xe1" , "\xe5\xb2\xbf" } , { "\xc4\xe8\xcc\xe1\xa2" , "\xe5\xb2\xbf\x65" } , { "\xc4\xe8\xcc\xe5" , "\xe5\xb2\xbf\xe7" } , { "\xc4\xe8\xcd" , "\xb2\xcc\x5e" } , { "\xc4\xe8\xcd\xa1" , "\xb2\xcc\x5e\x67" } , { "\xc4\xe8\xcd\xa2" , "\xb2\xcc\x5e\x65" } , { "\xc4\xe8\xcd\xa3" , "\xb2\xcc\x5e\x66" } , { "\xc4\xe8\xcd\xda" , "\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xcd\xda\xa2" , "\xb2\xcc\x5e\xe7\x65" } , { "\xc4\xe8\xcd\xda\xa3" , "\xb2\xcc\x5e\xe7\x66" } , { "\xc4\xe8\xcd\xdb" , "\xd7\xb2\xcc\x5e" } , { "\xc4\xe8\xcd\xdc" , "\xb2\xcc\x5e\xdd" } , { "\xc4\xe8\xcd\xdd" , "\xb2\xcc\x5e\xc7" } , { "\xc4\xe8\xcd\xdd\xa2" , "\xb2\xcc\x5e\xc7\x65" } , { "\xc4\xe8\xcd\xde" , "\xb2\xcc\x5e\xc9" } , { "\xc4\xe8\xcd\xdf" , "\xb2\xcc\x5e\xca" } , { "\xc4\xe8\xcd\xe0" , "\xe5\xb2\xcc\x5e" } , { "\xc4\xe8\xcd\xe1" , "\xe5\xb2\xcc\x5e" } , { "\xc4\xe8\xcd\xe1\xa2" , "\xe5\xb2\xcc\x5e\x65" } , { "\xc4\xe8\xcd\xe2" , "\xe9\xb2\xcc\x5e" } , { "\xc4\xe8\xcd\xe4" , "\xe5\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xcd\xe5" , "\xe5\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xcd\xe5\xa2" , "\xe5\xb2\xcc\x5e\xe7\x65" } , { "\xc4\xe8\xcd\xe6" , "\xe5\xb2\xcc\x5e\xec" } , { "\xc4\xe8\xcd\xe6\xa2" , "\xe5\xb2\xcc\x5e\xec\x65" } , { "\xc4\xe8\xcd\xe8" , "\xb2\xcc\x5e\xcb" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x56\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x56\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\x56\xcb\xcc\x5e\xcb\xe5\xcc\x5e\xe7" } , { "\xc4\xe8\xcd\xe8\xcf" , "\xb2\x5e\xd0" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\xb2\x5e\xd0\x65" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\xb2\x5e\xd0\xe7" } , { "\xc4\xe8\xcf" , "\x56\xd0" } , { "\xc4\xe8\xcf\xa2" , "\x56\xd0\x65" } , { "\xc4\xe8\xcf\xa3" , "\x56\xd0\x66" } , { "\xc4\xe8\xcf\xd9" , "\x56\xd0" } , { "\xc4\xe8\xcf\xda" , "\x56\xd0\xe7" } , { "\xc4\xe8\xcf\xda\xa2" , "\x56\xd0\xe7\x65" } , { "\xc4\xe8\xcf\xdb" , "\xd7\x56\xd0" } , { "\xc4\xe8\xcf\xdb\xa2" , "\xd7\x56\xd0\x65" } , { "\xc4\xe8\xcf\xdc" , "\x56\xd0\xdd" } , { "\xc4\xe8\xcf\xdd" , "\x56\xd0\xd3" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x56\xd0\xd3\x65" } , { "\xc4\xe8\xcf\xde" , "\x56\xd0\xd6" } , { "\xc4\xe8\xcf\xe0" , "\xe6\x56\xd0" } , { "\xc4\xe8\xcf\xe0\xa2" , "\xe6\x56\xd0\x65" } , { "\xc4\xe8\xcf\xe1" , "\xe6\x56\xd0" } , { "\xc4\xe8\xcf\xe2" , "\xe8\x56\xd0" } , { "\xc4\xe8\xcf\xe4" , "\xe6\x56\xd0\xe7" } , { "\xc4\xe8\xcf\xe5" , "\xe6\x56\xd0\xe7" } , { "\xc4\xe8\xcf\xe5\xa2" , "\xe6\x56\xd0\xe7\x65" } , { "\xc4\xe8\xcf\xe6" , "\xe6\x56\xd0\xec" } , { "\xc4\xe8\xcf\xe8" , "\x56\xd0\xcb" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x56\xcb\xbb\xcb\x55\x65" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x56\xcb\xbb\xcb\x59\xe7" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x56\xcb\xbb\xcb\xcc\x5e" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x56\xcb\xbb\xcb\xcc\x5e\x65" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x56\xcb\xbb\xcb\xcc\x5e\xe7" } , { "\xc4\xe8\xd1" , "\x56\xc0" } , { "\xc4\xe8\xd1\xda\xa2" , "\x56\xc0\xe7\x65" } , { "\xc4\xe8\xd1\xdb" , "\xd7\x56\xc0" } , { "\xc4\xe8\xd1\xdc" , "\x56\xc0\xdd" } , { "\xc4\xe8\xd1\xdd" , "\x56\xc0\xc7" } , { "\xc4\xe8\xd1\xde" , "\x56\xc0\xc9" } , { "\xc4\xe8\xd1\xe5" , "\xe5\x56\xc0\xe7" } , { "\xc4\xe8\xd2" , "\xb2\x5f" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\x56\xcb\x5f\xcb\xe5\xbe" } , { "\xc4\xe8\xd4" , "\xb2\xbe" } , { "\xc4\xe8\xd4\xa2" , "\xb2\xbe\x65" } , { "\xc4\xe8\xd4\xda" , "\xb2\xbe\xe7" } , { "\xc4\xe8\xd4\xda\xa2" , "\xb2\xbe\xe7\x65" } , { "\xc4\xe8\xd4\xdb" , "\xd7\xb2\xbe" } , { "\xc4\xe8\xd4\xdc" , "\xb2\xbe\xdd" } , { "\xc4\xe8\xd4\xdd" , "\xb2\xbe\xc7" } , { "\xc4\xe8\xd4\xde" , "\xb2\xbe\xc9" } , { "\xc4\xe8\xd4\xdf" , "\xb2\xbe\xca" } , { "\xc4\xe8\xd4\xdf\xa2" , "\xb2\xbe\xca\x65" } , { "\xc4\xe8\xd4\xe1" , "\xe5\xb2\xbe" } , { "\xc4\xe8\xd4\xe2" , "\xe9\xb2\xbe" } , { "\xc4\xe8\xd4\xe5" , "\xe5\xb2\xbe\xe7" } , { "\xc4\xe8\xd4\xe5\xa2" , "\xe5\xb2\xbe\xe7\x65" } , { "\xc4\xe8\xd4\xe6" , "\xe5\xb2\xbe\xec" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\xb2\xbe\xcb\xd7\x77\xf8" } , { "\xc4\xe8\xd4\xe8\xcd" , "\x56\xcb\xbe\xcb\xcc\x5e" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\x56\xcb\xbe\xcb\xcc\x5e\x65" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\x56\xcb\xbe\xcb\xcc\x5e\xe7" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\x56\xcb\xbe\xcb\xd7\xcc\x5e" } , { "\xc4\xe8\xd5" , "\xb2\x60" } , { "\xc4\xe8\xd5\xdb" , "\xd7\xb2\x60" } , { "\xc4\xe8\xd5\xe5" , "\xe5\xb2\x60\xe7" } , { "\xc4\xe8\xd5\xe8\xcc" , "\xb2\x60\xbd" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x56\xcb\xb8\xcc\x5e" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\x56\xcb\xe5\xb8\xcc\x5e\xe7\x65" } , { "\xc4\xe8\xd6" , "\xb2\x62" } , { "\xc4\xe8\xd6\xda" , "\xb2\x62\xe7" } , { "\xc4\xe8\xd6\xdb" , "\xd7\xb2\x62" } , { "\xc4\xe8\xd6\xe8\xbd" , "\xb2\x72\xf4" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\xb2\x72\xf4\xe7\x65" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\xd7\xb2\x72\xf4" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\xb2\x72\xf4\xdd" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\xd7\xb2\x9c\xf6" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\x56\xcb\xd7\xb9\x54\xf6" } , { "\xc4\xe8\xd7" , "\xb2\x61" } , { "\xc4\xe8\xd7\xda" , "\xb2\x61\xe7" } , { "\xc4\xe8\xd7\xdb" , "\xd7\xb2\x61" } , { "\xc4\xe8\xd8" , "\xb2\x63\xf7" } , { "\xc4\xe8\xd8\xda" , "\xb2\x63\xf7\xe7" } , { "\xc4\xe8\xd8\xdb\xa2" , "\xd7\xb2\x63\xf7\x65" } , { "\xc4\xe8\xd8\xdd" , "\xb2\x63\xc7\xf7" } , { "\xc4\xe8\xd9\xa6" , "\xb2\x2b" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\xb2\xe3\x54\xf6\xe7\x65" } , { "\xc4\xe8\xd9\xc4" , "\xb2\x56" } , { "\xc4\xe8\xd9\xc4\xda" , "\xb2\x56\xe7" } , { "\xc4\xe8\xd9\xc4\xdc" , "\xb2\x56\xdd" } , { "\xc4\xe8\xd9\xc4\xdd" , "\xb2\x56\xc7" } , { "\xc4\xe8\xd9\xc4\xde" , "\xb2\x56\xc9" } , { "\xc4\xe8\xd9\xc4\xe1" , "\xb2\xe3\x56" } , { "\xc4\xe8\xd9\xc4\xe6" , "\xb2\xe3\x56\xec" } , { "\xc4\xe8\xd9\xc5" , "\xb2\x57\xfd" } , { "\xc4\xe8\xd9\xc5\xda" , "\xb2\x57\xfd\xe7" } , { "\xc4\xe8\xd9\xc5\xde" , "\xb2\x57\xfd\xc9" } , { "\xc4\xe8\xd9\xc5\xdf" , "\xb2\x57\xfd\xca" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\xb2\xe3\x57\xfd\xe7\x65" } , { "\xc4\xe8\xd9\xcb\xda" , "\xb2\x5c\xf6\xe7" } , { "\xc4\xe8\xd9\xcb\xdd" , "\xb2\x5c\xc7\xf6" } , { "\xc4\xe8\xd9\xcb\xde" , "\xb2\x5c\xc9\xf6" } , { "\xc4\xe8\xd9\xcb\xdf" , "\xb2\x5c\xca\xf6" } , { "\xc4\xe8\xd9\xcc\xdb" , "\xb2\xd7\x5d" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\xb2\xe3\x5d\x65" } , { "\xc4\xe8\xd9\xcd" , "\xb2\xcc\x5e" } , { "\xc4\xe8\xd9\xcd\xda" , "\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xd9\xcd\xdd" , "\xb2\xcc\x5e\xc7" } , { "\xc4\xe8\xd9\xcd\xe5" , "\xb2\xe3\xcc\x5e\xe7" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\xb2\xe3\xcc\x5e\xe7\x65" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\xb2\x57\xfd\xef" } , { "\xc4\xe8\xd9\xd4" , "\xb2\xbe" } , { "\xc4\xe8\xd9\xd4\xda" , "\xb2\xbe\xe7" } , { "\xc4\xe8\xd9\xd4\xdb" , "\xb2\xd7\xbe" } , { "\xc4\xe8\xd9\xd4\xe1" , "\xb2\xe3\xbe" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\xb2\xbe\xcb\xcc\x5e" } , { "\xc4\xe8\xe8" , "\x56\xcb" } , { "\xc4\xe8\xe9\xc4" , "\x81" } , { "\xc4\xe8\xe9\xc5" , "\x88\xf9" } , { "\xc4\xe8\xe9\xcd" , "\xb2\xcc\x5e" } , { "\xc4\xe8\xe9\xcf" , "\x56\xd0" } , { "\xc4\xe8\xe9\xd4" , "\xb2\xbe" } , { "\xc4\xe9" , "\x56" } , { "\xc5" , "\x57\xfd" } , { "\xc5\xa1" , "\x57\xfd\x67" } , { "\xc5\xa2" , "\x57\xfd\x65" } , { "\xc5\xa3" , "\x57\xfd\x66" } , { "\xc5\xd0" , "\x57\xfd\xbb" } , { "\xc5\xd0\xdc" , "\x57\xfd\xbb\xdd" } , { "\xc5\xda" , "\x57\xfd\xe7" } , { "\xc5\xda\xa1" , "\x57\xfd\x67\xe7" } , { "\xc5\xda\xa2" , "\x57\xfd\xe7\x65" } , { "\xc5\xdb" , "\xd7\x57\xfd" } , { "\xc5\xdb\xa2" , "\xd7\x57\xfd\x65" } , { "\xc5\xdb\xa3" , "\xd7\x57\xfd\x66" } , { "\xc5\xdc" , "\x57\xfd\xdd" } , { "\xc5\xdc\xa2" , "\x57\xfd\xdd\x65" } , { "\xc5\xdc\xa3" , "\x57\xfd\xdd\x66" } , { "\xc5\xdd" , "\x57\xfd\xc7" } , { "\xc5\xdd\xa1" , "\x57\xfd\x67\xc7" } , { "\xc5\xdd\xa2" , "\x57\xfd\xc7\x65" } , { "\xc5\xdd\xa3" , "\x57\xfd\xc7\x66" } , { "\xc5\xde" , "\x57\xfd\xc9" } , { "\xc5\xde\xa1" , "\x57\xfd\x67\xc9" } , { "\xc5\xde\xa2" , "\x57\xfd\xc9\x65" } , { "\xc5\xdf" , "\x57\xfd\xca" } , { "\xc5\xe0" , "\xe5\x57\xfd" } , { "\xc5\xe0\xa2" , "\xe5\x57\xfd\x65" } , { "\xc5\xe1" , "\xe5\x57\xfd" } , { "\xc5\xe1\xa2" , "\xe5\x57\xfd\x65" } , { "\xc5\xe2" , "\xe9\x57\xfd" } , { "\xc5\xe4" , "\xe5\x57\xfd\xe7" } , { "\xc5\xe5" , "\xe5\x57\xfd\xe7" } , { "\xc5\xe5\xa2" , "\xe5\x57\xfd\xe7\x65" } , { "\xc5\xe5\xa3" , "\xe5\x57\xfd\xe7\x66" } , { "\xc5\xe6" , "\xe5\x57\xfd\xec" } , { "\xc5\xe6\xa2" , "\xe5\x57\xfd\xec\x65" } , { "\xc5\xe8" , "\x57\xfd\xcb" } , { "\xc5\xe8\xb3\xda" , "\x57\xfd\xcb\x45\xf5\xe7" } , { "\xc5\xe8\xb3\xdd" , "\x57\xfd\xcb\x45\xc7\xf5" } , { "\xc5\xe8\xb3\xe5" , "\x57\xfd\xcb\xe5\x45\xf5\xe7" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x57\xfd\xcb\x6c\xf9" } , { "\xc5\xe8\xb5" , "\x57\xfd\xcb\x47" } , { "\xc5\xe8\xb8" , "\x57\xfd\xcb\x24\x4a\xf4" } , { "\xc5\xe8\xb8\xda" , "\x57\xfd\xcb\x24\x4a\xf4\xe7" } , { "\xc5\xe8\xbf\xe9\xda" , "\x57\xfd\xcb\x51\xcd\xf6\xe7" } , { "\xc5\xe8\xc1\xda" , "\x57\xfd\xcb\x53\xe7" } , { "\xc5\xe8\xc1\xdb" , "\x57\xfd\xcb\xd7\x53" } , { "\xc5\xe8\xc2" , "\x57\xfd\xcb\x54\xf6" } , { "\xc5\xe8\xc2\xda" , "\x57\xfd\xcb\x54\xf6\xe7" } , { "\xc5\xe8\xc4" , "\x57\xfd\xcb\x56" } , { "\xc5\xe8\xc4\xda" , "\x57\xfd\xcb\x56\xe7" } , { "\xc5\xe8\xc4\xda\xa2" , "\x57\xfd\xcb\x56\xe7\x65" } , { "\xc5\xe8\xc4\xdb" , "\x57\xfd\xcb\xd7\x56" } , { "\xc5\xe8\xc4\xdd" , "\x57\xfd\xcb\x56\xc7" } , { "\xc5\xe8\xc4\xde" , "\x57\xfd\xcb\x56\xc9" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x57\xfd\xcb\xe5\x56\x65" } , { "\xc5\xe8\xc4\xe5" , "\x57\xfd\xcb\xe5\x56\xe7" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x57\xfd\xcb\xe5\x56\xe7\x65" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x57\xfd\xcb\x81" } , { "\xc5\xe8\xc5" , "\x57\xfd\xcb\x57\xfd" } , { "\xc5\xe8\xc5\xa2" , "\x57\xfd\xcb\x57\xfd\x65" } , { "\xc5\xe8\xc5\xda" , "\x57\xfd\xcb\x57\xfd\xe7" } , { "\xc5\xe8\xc5\xda\xa2" , "\x57\xfd\xcb\x57\xfd\xe7\x65" } , { "\xc5\xe8\xc5\xdb" , "\x57\xfd\xcb\xd7\x57\xfd" } , { "\xc5\xe8\xc5\xdb\xa2" , "\x57\xfd\xcb\xd7\x57\xfd\x65" } , { "\xc5\xe8\xc5\xdd" , "\x57\xfd\xcb\x57\xfd\xc7" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x57\xfd\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x57\xfd\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xc5\xe8\xc6" , "\x57\xfd\xc2" } , { "\xc5\xe8\xc6\xda" , "\x57\xfd\xc2\xe7" } , { "\xc5\xe8\xc6\xdd" , "\x57\xfd\xc2\xc7" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x57\xfd\xcb\xb3\xcc\x5e\xe7" } , { "\xc5\xe8\xc8\xdd" , "\x57\xfd\xcb\x59\xc7" } , { "\xc5\xe8\xc8\xde" , "\x57\xfd\xcb\x59\xc9" } , { "\xc5\xe8\xca\xdd" , "\x57\x5b\xfd\xc7" } , { "\xc5\xe8\xca\xe6" , "\xe5\x57\x5b\xfd\xec" } , { "\xc5\xe8\xcb\xdd" , "\x57\xfd\xcb\x5c\xc7\xf6" } , { "\xc5\xe8\xcc" , "\x57\x5d" } , { "\xc5\xe8\xcc\xda" , "\x57\x5d\xe7" } , { "\xc5\xe8\xcc\xdd" , "\x57\x5d\xc7" } , { "\xc5\xe8\xcd" , "\x57\xfd\xcb\xcc\x5e" } , { "\xc5\xe8\xcd\xa2" , "\x57\xfd\xcb\xcc\x5e\x65" } , { "\xc5\xe8\xcd\xa3" , "\x57\xfd\xcb\xcc\x5e\x66" } , { "\xc5\xe8\xcd\xda" , "\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xc5\xe8\xcd\xda\xa2" , "\x57\xfd\xcb\xcc\x5e\xe7\x65" } , { "\xc5\xe8\xcd\xda\xa3" , "\x57\xfd\xcb\xcc\x5e\xe7\x66" } , { "\xc5\xe8\xcd\xdb" , "\x57\xfd\xcb\xd7\xcc\x5e" } , { "\xc5\xe8\xcd\xdc" , "\x57\xfd\xcb\xcc\x5e\xdd" } , { "\xc5\xe8\xcd\xdd" , "\x57\xfd\xcb\xcc\x5e\xc7" } , { "\xc5\xe8\xcd\xde" , "\x57\xfd\xcb\xcc\x5e\xc9" } , { "\xc5\xe8\xcd\xe1" , "\x57\xfd\xcb\xe5\xcc\x5e" } , { "\xc5\xe8\xcd\xe2" , "\x57\xfd\xcb\xe9\xcc\x5e" } , { "\xc5\xe8\xcd\xe5" , "\x57\xfd\xcb\xe5\xcc\x5e\xe7" } , { "\xc5\xe8\xcd\xe5\xa2" , "\x57\xfd\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x57\xfd\xcb\xcc\x5e\xcb\x54\xf6" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x57\xfd\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x57\xfd\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xc5\xe8\xcf" , "\x57\xfd\xd0" } , { "\xc5\xe8\xcf\xa2" , "\x57\xfd\xd0\x65" } , { "\xc5\xe8\xcf\xda" , "\x57\xfd\xd0\xe7" } , { "\xc5\xe8\xcf\xda\xa2" , "\x57\xfd\xd0\xe7\x65" } , { "\xc5\xe8\xcf\xdb" , "\xd7\x57\xfd\xd0" } , { "\xc5\xe8\xcf\xdc" , "\x57\xfd\xd0\xdd" } , { "\xc5\xe8\xcf\xdd" , "\x57\xfd\xd0\xd3" } , { "\xc5\xe8\xcf\xde" , "\x57\xfd\xd0\xd6" } , { "\xc5\xe8\xcf\xdf" , "\x57\xfd\xd0\xca" } , { "\xc5\xe8\xcf\xe1" , "\xe6\x57\xfd\xd0" } , { "\xc5\xe8\xcf\xe5" , "\xe6\x57\xfd\xd0\xe7" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\x57\xfd\xcb\xe5\xbb\xbd\xe7" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x57\xfd\xcb\xbb\xcb\xcc\x5e" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x57\xfd\xcb\xbb\xcb\xcc\x5e\xe7" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x57\xfd\xcb\xbb\xcb\xcc\x5e\xc9" } , { "\xc5\xe8\xcf\xe8\xd4" , "\x57\xfd\xcb\xbb\xcb\xbe" } , { "\xc5\xe8\xd1\xdd" , "\x57\xfd\xc0\xc7" } , { "\xc5\xe8\xd1\xe5" , "\xe6\x57\xfd\xc0\xe7" } , { "\xc5\xe8\xd2" , "\x57\xfd\xcb\x5f" } , { "\xc5\xe8\xd4" , "\x57\xfd\xcb\xbe" } , { "\xc5\xe8\xd4\xa2" , "\x57\xfd\xcb\xbe\x65" } , { "\xc5\xe8\xd4\xda" , "\x57\xfd\xcb\xbe\xe7" } , { "\xc5\xe8\xd4\xdb" , "\x57\xfd\xcb\xd7\xbe" } , { "\xc5\xe8\xd4\xdb\xa2" , "\x57\xfd\xcb\xd7\xbe\x65" } , { "\xc5\xe8\xd4\xdc" , "\x57\xfd\xcb\xbe\xdd" } , { "\xc5\xe8\xd4\xdd" , "\x57\xfd\xcb\xbe\xc7" } , { "\xc5\xe8\xd4\xe1" , "\x57\xfd\xcb\xe5\xbe" } , { "\xc5\xe8\xd4\xe2" , "\x57\xfd\xcb\xe9\xbe" } , { "\xc5\xe8\xd5\xda" , "\x57\xfd\xcb\x60\xe7" } , { "\xc5\xe8\xd6\xda" , "\x57\xfd\xcb\x62\xe7" } , { "\xc5\xe8\xd6\xdb" , "\x57\xfd\xcb\xd7\x62" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x57\xfd\xcb\x72\xf4" } , { "\xc5\xe8\xd7" , "\x57\xfd\xcb\x61" } , { "\xc5\xe8\xd7\xe1" , "\x57\xfd\xcb\xe5\x61" } , { "\xc5\xe8\xd7\xe8" , "\x57\xfd\xcb\x61\xcb" } , { "\xc5\xe8\xd9\xcd" , "\x57\xfd\xcb\xcc\x5e" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\x57\xfd\xcb\xbe\xef" } , { "\xc5\xe8\xe8" , "\x57\xfd\xcb" } , { "\xc5\xe9" , "\x57\xfd" } , { "\xc6" , "\x58" } , { "\xc6\xa1" , "\x58\x67" } , { "\xc6\xa2" , "\x58\x65" } , { "\xc6\xa2\xa2" , "\x58\x65\x65" } , { "\xc6\xa3" , "\x58\x66" } , { "\xc6\xda" , "\x58\xe7" } , { "\xc6\xda\xa1" , "\x58\x67\xe7" } , { "\xc6\xda\xa2" , "\x58\xe7\x65" } , { "\xc6\xda\xa3" , "\x58\xe7\x66" } , { "\xc6\xdb" , "\xd7\x58" } , { "\xc6\xdb\xa2" , "\xd7\x58\x65" } , { "\xc6\xdb\xa3" , "\xd7\x58\x66" } , { "\xc6\xdc" , "\x58\xdd" } , { "\xc6\xdc\xa2" , "\x58\xdd\x65" } , { "\xc6\xdd" , "\x58\xc7" } , { "\xc6\xdd\xa1" , "\x58\x67\xc7" } , { "\xc6\xdd\xa2" , "\x58\xc7\x65" } , { "\xc6\xdd\xa2\xa2" , "\x58\xc7\x65\x65" } , { "\xc6\xdd\xa3" , "\x58\xc7\x66" } , { "\xc6\xde" , "\x58\xc9" } , { "\xc6\xde\xa1" , "\x58\x67\xc9" } , { "\xc6\xde\xa2" , "\x58\xc9\x65" } , { "\xc6\xde\xd0\xe8" , "\x58\xc9\xbb\xcb" } , { "\xc6\xdf" , "\x58\xca" } , { "\xc6\xe0" , "\xe5\x58" } , { "\xc6\xe0\xa2" , "\xe5\x58\x65" } , { "\xc6\xe1" , "\xe5\x58" } , { "\xc6\xe1\xa2" , "\xe5\x58\x65" } , { "\xc6\xe2" , "\xe9\x58" } , { "\xc6\xe2\xa2" , "\xe9\x58\x65" } , { "\xc6\xe2\xa3" , "\xe9\x58\x66" } , { "\xc6\xe4" , "\xe5\x58\xe7" } , { "\xc6\xe4\xa2" , "\xe5\x58\xe7\x65" } , { "\xc6\xe5" , "\xe5\x58\xe7" } , { "\xc6\xe5\xa2" , "\xe5\x58\xe7\x65" } , { "\xc6\xe5\xa3" , "\xe5\x58\xe7\x66" } , { "\xc6\xe6" , "\xe5\x58\xec" } , { "\xc6\xe6\xa2" , "\xe5\x58\xec\x65" } , { "\xc6\xe7" , "\xe5\x58\xe7" } , { "\xc6\xe8" , "\x58\xcb" } , { "\xc6\xe8\xb3" , "\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xa2" , "\xb3\x45\xf5\x65" } , { "\xc6\xe8\xb3\xda" , "\xb3\x45\xf5\xe7" } , { "\xc6\xe8\xb3\xda\xa2" , "\xb3\x45\xf5\xe7\x65" } , { "\xc6\xe8\xb3\xdb" , "\xd7\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xdc" , "\xb3\x45\xf5\xdd" } , { "\xc6\xe8\xb3\xdd" , "\xb3\x45\xc7\xf5" } , { "\xc6\xe8\xb3\xdd\xa2" , "\xb3\x45\xc7\xf5\x65" } , { "\xc6\xe8\xb3\xde" , "\xb3\x45\xc9\xf5" } , { "\xc6\xe8\xb3\xdf" , "\xb3\x45\xca\xf5" } , { "\xc6\xe8\xb3\xe0" , "\xe5\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xe1" , "\xe5\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xe2" , "\xe9\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xe2\xa2" , "\xe9\xb3\x45\xf5\x65" } , { "\xc6\xe8\xb3\xe4" , "\xe5\xb3\x45\xf5\xe7" } , { "\xc6\xe8\xb3\xe5" , "\xe5\xb3\x45\xf5\xe7" } , { "\xc6\xe8\xb3\xe5\xa2" , "\xe5\xb3\x45\xf5\xe7\x65" } , { "\xc6\xe8\xb3\xe8" , "\xb3\x45\xcb\xf5" } , { "\xc6\xe8\xb3\xe8\xb3" , "\xb3\x68\xf5" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\xd7\xb3\x6b\xf4" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x58\xcb\xa8\xcc\x5e\xc7" } , { "\xc6\xe8\xb3\xe8\xcf" , "\xb3\x79\xd4" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\xd7\xb3\x79\xd4" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\xb3\x79\xd4\xdd" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\xe5\xb3\x79\xd4\xe7" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\xb3\x7a\xf5\xe7" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\xb3\x7a\xc7\xf5" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\xb3\x7a\xc9\xf5" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\xe6\xb3\x7a\xf5" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\xe6\xb3\x7a\xf5\xe7" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\x58\xcb\xa8\xbe\xe7" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\x58\xcb\xd7\xa8\xbe" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\x58\xcb\xe5\xa8\xbe" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x58\xcb\xa8\x60" } , { "\xc6\xe8\xb3\xe8\xd6" , "\xb3\x6c\xf9" } , { "\xc6\xe8\xb3\xe9" , "\xb3\x45\xf5" } , { "\xc6\xe8\xb4" , "\xb3\x46" } , { "\xc6\xe8\xb4\xda" , "\xb3\x46\xe7" } , { "\xc6\xe8\xb4\xdb" , "\xd7\xb3\x46" } , { "\xc6\xe8\xb5" , "\xb3\x47" } , { "\xc6\xe8\xb5\xa2" , "\xb3\x47\x65" } , { "\xc6\xe8\xb5\xda" , "\xb3\x47\xe7" } , { "\xc6\xe8\xb5\xdb" , "\xd7\xb3\x47" } , { "\xc6\xe8\xb5\xdd" , "\xb3\x47\xc7" } , { "\xc6\xe8\xb5\xde" , "\xb3\x47\xc9" } , { "\xc6\xe8\xb5\xe0" , "\xe5\xb3\x47" } , { "\xc6\xe8\xb5\xe4" , "\xe5\xb3\x47\xe7" } , { "\xc6\xe8\xb5\xe4\xa2" , "\xe5\xb3\x47\xe7\x65" } , { "\xc6\xe8\xb5\xe5" , "\xe5\xb3\x47\xe7" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x58\xcb\xaa\x47\xe7" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\xb3\x47\xd0\xe7" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\xb3\x47\xd0\xdd" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\xe6\xb3\x47\xd0" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\xe6\xb3\x47\xd0\xe7" } , { "\xc6\xe8\xb6" , "\xb3\x48" } , { "\xc6\xe8\xb6\xdc" , "\xb3\x48\xdd" } , { "\xc6\xe8\xb6\xdd" , "\xb3\x48\xc7" } , { "\xc6\xe8\xb8" , "\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xa2" , "\xb3\x4a\xf4\x65" } , { "\xc6\xe8\xb8\xda" , "\xb3\x4a\xf4\xe7" } , { "\xc6\xe8\xb8\xdb" , "\xd7\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xdb\xa2" , "\xd7\xb3\x4a\xf4\x65" } , { "\xc6\xe8\xb8\xdc" , "\xb3\x4a\xf4\xdd" } , { "\xc6\xe8\xb8\xdd" , "\xb3\x4a\xc7\xf4" } , { "\xc6\xe8\xb8\xde" , "\xb3\x4a\xc9\xf4" } , { "\xc6\xe8\xb8\xe0" , "\xe6\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xe0\xa2" , "\xe6\xb3\x4a\xf4\x65" } , { "\xc6\xe8\xb8\xe1" , "\xe6\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xe5" , "\xe6\xb3\x4a\xf4\xe7" } , { "\xc6\xe8\xb8\xe5\xa2" , "\xe6\xb3\x4a\xf4\xe7\x65" } , { "\xc6\xe8\xb8\xe8" , "\xb3\x4a\xcb\xf4" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x58\xcb\xac\x51\xcb\xf6" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\x58\xcb\xac\xbe\xe7\x65" } , { "\xc6\xe8\xb9" , "\xb3\x4b\xf7" } , { "\xc6\xe8\xb9\xda" , "\xb3\x4b\xf7\xe7" } , { "\xc6\xe8\xb9\xe0" , "\xe6\xb3\x4b\xf7" } , { "\xc6\xe8\xba" , "\xb3\x4c" } , { "\xc6\xe8\xba\xa2" , "\xb3\x4c\x65" } , { "\xc6\xe8\xba\xda" , "\xb3\x4c\xe7" } , { "\xc6\xe8\xba\xdb" , "\xd7\xb3\x4c" } , { "\xc6\xe8\xba\xdb\xa2" , "\xd7\xb3\x4c\x65" } , { "\xc6\xe8\xba\xdc" , "\xb3\x4c\xdd" } , { "\xc6\xe8\xba\xde" , "\xb3\x4c\xc9" } , { "\xc6\xe8\xba\xe0" , "\xe5\xb3\x4c" } , { "\xc6\xe8\xba\xe0\xa2" , "\xe5\xb3\x4c\x65" } , { "\xc6\xe8\xba\xe1" , "\xe5\xb3\x4c" } , { "\xc6\xe8\xba\xe2" , "\xe9\xb3\x4c" } , { "\xc6\xe8\xba\xe5" , "\xe5\xb3\x4c\xe7" } , { "\xc6\xe8\xba\xe8" , "\xb3\x4c\xcb" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\xb3\x70\xfb\xe7" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x58\xcb\x4c\xcb\xcc\x5e\xc9" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\x58\xcb\x4c\xcb\xbe\xe7" } , { "\xc6\xe8\xba\xe9\xda" , "\xb3\x4c\xe7" } , { "\xc6\xe8\xbc\xe8\xb8" , "\xb3\x87\xfb" } , { "\xc6\xe8\xbd" , "\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xda" , "\xb3\x4f\xf4\xe7" } , { "\xc6\xe8\xbd\xdb" , "\xd7\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xdb\xa2" , "\xd7\xb3\x4f\xf4\x65" } , { "\xc6\xe8\xbd\xdc" , "\xb3\x4f\xf4\xdd" } , { "\xc6\xe8\xbd\xdd" , "\xb3\x4f\xc7\xf4" } , { "\xc6\xe8\xbd\xde" , "\xb3\x4f\xc9\xf4" } , { "\xc6\xe8\xbd\xe0" , "\xe6\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xe1" , "\xe6\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xe1\xa2" , "\xe6\xb3\x4f\xf4\x65" } , { "\xc6\xe8\xbd\xe2" , "\xe8\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xe2\xa2" , "\xe8\xb3\x4f\xf4\x65" } , { "\xc6\xe8\xbd\xe5" , "\xe6\xb3\x4f\xf4\xe7" } , { "\xc6\xe8\xbd\xe5\xa2" , "\xe6\xb3\x4f\xf4\xe7\x65" } , { "\xc6\xe8\xbd\xe8" , "\xb3\x4f\xcb\xf4" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\xd7\xb3\xae\xf3\xf4" } , { "\xc6\xe8\xbd\xe8\xcf" , "\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\xb3\xae\xcf\xf4\xe7" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\xd7\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\xb3\xae\xcf\xf4\xdd" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\xb3\xae\xcf\xc9\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\xe6\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\xe6\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\xe8\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\xe6\xb3\xae\xcf\xf4\xe7" } , { "\xc6\xe8\xbd\xe8\xd1" , "\xb3\xae\xf2\xf4" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\xb3\xae\xf2\xc7\xf4" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\xb3\xae\xf2\xc9\xf4" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x58\xcb\xae\x61" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\x58\xcb\xd7\xae\x61" } , { "\xc6\xe8\xbe" , "\xb3\x50\xf6" } , { "\xc6\xe8\xbf" , "\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xa2" , "\xb3\x51\xf6\x65" } , { "\xc6\xe8\xbf\xda" , "\xb3\x51\xf6\xe7" } , { "\xc6\xe8\xbf\xdb" , "\xd7\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xdb\xa2" , "\xd7\xb3\x51\xf6\x65" } , { "\xc6\xe8\xbf\xdc" , "\xb3\x51\xf6\xdd" } , { "\xc6\xe8\xbf\xdd" , "\xb3\x51\xc7\xf6" } , { "\xc6\xe8\xbf\xe0" , "\xe5\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xe0\xa2" , "\xe5\xb3\x51\xf6\x65" } , { "\xc6\xe8\xbf\xe1" , "\xe5\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xe2" , "\xe9\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xe5" , "\xe5\xb3\x51\xf6\xe7" } , { "\xc6\xe8\xbf\xe5\xa2" , "\xe5\xb3\x51\xf6\xe7\x65" } , { "\xc6\xe8\xbf\xe8" , "\xb3\x51\xcb\xf6" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x58\xcb\xaf\x45\xf5\xe7" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x58\xcb\xaf\x47\xe7" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\xb3\x51\xcb\xf6\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xc6\xe8\xbf\xe8\xcf" , "\xb3\x51\xce\xf6" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\xb3\x51\xce\xf6\xe7" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\xd7\xb3\x51\xce\xf6" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\xb3\x51\xce\xf6\xdd" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\xe6\xb3\x51\xce\xf6\xe7" } , { "\xc6\xe8\xc0\xdb" , "\xd7\xb3\x52\xf4" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\xb3\x7c\xc9" } , { "\xc6\xe8\xc2" , "\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xa2" , "\xdc\x99\xf6\x65" } , { "\xc6\xe8\xc2\xa3" , "\xdc\x99\xf6\x66" } , { "\xc6\xe8\xc2\xda" , "\xdc\x99\xf6\xe7" } , { "\xc6\xe8\xc2\xdb" , "\xd7\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xdc" , "\xdc\x99\xf6\xdd" } , { "\xc6\xe8\xc2\xdd" , "\xdc\x99\xc7\xf6" } , { "\xc6\xe8\xc2\xde" , "\xdc\x99\xc9\xf6" } , { "\xc6\xe8\xc2\xe0" , "\xe5\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xe1" , "\xe5\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xe5" , "\xe5\xdc\x99\xf6\xe7" } , { "\xc6\xe8\xc2\xe5\xa2" , "\xe5\xdc\x99\xf6\xe7\x65" } , { "\xc6\xe8\xc2\xe8" , "\xdc\x99\xcb\xf6" } , { "\xc6\xe8\xc2\xe8\xc2" , "\xb3\x77\xf8" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\xb1\xb3\x8a" } , { "\xc6\xe8\xc2\xe8\xcd" , "\x58\xcb\xb1\xcc\x5e" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\x58\xcb\xb1\xcc\x5e\xe7" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\x58\xcb\xe5\xb1\xcc\x5e" } , { "\xc6\xe8\xc2\xe8\xcf" , "\xdc\x97\xf6" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\xdc\x97\xf6\xe7" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xd7\xdc\x97\xf6" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\xdc\x97\xf6\xdd" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\xe5\xdc\x97\xf6" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\xe5\xdc\x97\xf6\xe7" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\xe5\xdc\x97\xf6\xe7\x65" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\xb3\x64\xbb\xcb\xcc\x5e" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\xb3\x64\xbb\xcb\xe5\xcc\x5e\xe7" } , { "\xc6\xe8\xc2\xe8\xd4" , "\x58\xcb\xb1\xbe" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\x58\xcb\xb1\x61\xe7\x65" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\x58\xcb\xe5\xb1\x61\xe7" } , { "\xc6\xe8\xc3" , "\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xda" , "\xdc\x9a\xf6\xe7" } , { "\xc6\xe8\xc3\xdb" , "\xd7\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xdc" , "\xdc\x9a\xf6\xdd" } , { "\xc6\xe8\xc3\xe1" , "\xe5\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xe2" , "\xe9\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xe5" , "\xe5\xdc\x9a\xf6\xe7" } , { "\xc6\xe8\xc3\xe5\xa2" , "\xe5\xdc\x9a\xf6\xe7\x65" } , { "\xc6\xe8\xc3\xe8" , "\xdc\x9a\xf6\xcb" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\xdc\x9a\xf6\x98\xe7\x65" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\xe5\xdc\x9a\xf6\x98" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\xe9\xdc\x9a\xf6\x98" } , { "\xc6\xe8\xc4" , "\xb3\x56" } , { "\xc6\xe8\xc4\xda" , "\xb3\x56\xe7" } , { "\xc6\xe8\xc4\xda\xa2" , "\xb3\x56\xe7\x65" } , { "\xc6\xe8\xc4\xdb" , "\xd7\xb3\x56" } , { "\xc6\xe8\xc4\xdc" , "\xb3\x56\xdd" } , { "\xc6\xe8\xc4\xdc\xa2" , "\xb3\x56\xdd\x65" } , { "\xc6\xe8\xc4\xdd" , "\xb3\x56\xc7" } , { "\xc6\xe8\xc4\xde" , "\xb3\x56\xc9" } , { "\xc6\xe8\xc4\xde\xa2" , "\xb3\x56\xc9\x65" } , { "\xc6\xe8\xc4\xe0" , "\xe5\xb3\x56" } , { "\xc6\xe8\xc4\xe1" , "\xe5\xb3\x56" } , { "\xc6\xe8\xc4\xe1\xa2" , "\xe5\xb3\x56\x65" } , { "\xc6\xe8\xc4\xe2" , "\xe9\xb3\x56" } , { "\xc6\xe8\xc4\xe4" , "\xe5\xb3\x56\xe7" } , { "\xc6\xe8\xc4\xe5" , "\xe5\xb3\x56\xe7" } , { "\xc6\xe8\xc4\xe5\xa2" , "\xe5\xb3\x56\xe7\x65" } , { "\xc6\xe8\xc4\xe6" , "\xe5\xb3\x56\xec" } , { "\xc6\xe8\xc4\xe8\xc5" , "\xb3\x88\xf9" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\xb3\x88\xf9\xe7" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\xb3\x88\xf9\xdd" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\xb3\x56\xc2\xe7" } , { "\xc6\xe8\xc4\xe8\xcd" , "\x58\xcb\xb2\xcc\x5e" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\x58\xcb\xb2\xcc\x5e\xc7" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\x58\xcb\xe5\xb2\xcc\x5e\xe7" } , { "\xc6\xe8\xc4\xe8\xcf" , "\xb3\x56\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\xb3\x56\xd0\xe7" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\xb3\x56\xd0\xe7\x65" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\xd7\xb3\x56\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\xb3\x56\xd0\xdd" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\xb3\x56\xd0\xd6" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\xe6\xb3\x56\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\xe6\xb3\x56\xd0\xe7" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\xe6\xb3\x56\xd0\xe7\x65" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\xb3\x56\xcb\xbb\xcb\xcc\x5e\xc9" } , { "\xc6\xe8\xc4\xe8\xd4" , "\x58\xcb\xb2\xbe" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\x58\xcb\xb2\xbe\xe7" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\x58\xcb\xd7\xb2\xbe" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\x58\xcb\xb2\xbe\xdd" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\x58\xcb\xe5\xb2\xbe\xe7" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\x58\xcb\xe5\xb2\xbe\xe7\x65" } , { "\xc6\xe8\xc5" , "\xb5\xf9" } , { "\xc6\xe8\xc5\xda" , "\xb5\xf9\xe7" } , { "\xc6\xe8\xc5\xdb" , "\xd7\xb5\xf9" } , { "\xc6\xe8\xc5\xdc" , "\xb5\xf9\xdd" } , { "\xc6\xe8\xc5\xdd" , "\xb5\xc7\xf9" } , { "\xc6\xe8\xc5\xde" , "\xb5\xc9\xf9" } , { "\xc6\xe8\xc5\xe1" , "\xe5\xb5\xf9" } , { "\xc6\xe8\xc5\xe5" , "\xe5\xb5\xf9\xe7" } , { "\xc6\xe8\xc5\xe5\xa2" , "\xe5\xb5\xf9\xe7\x65" } , { "\xc6\xe8\xc5\xe6" , "\xe5\xb5\xf9\xec" } , { "\xc6\xe8\xc5\xe8\xcd" , "\x58\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\x58\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\x58\xcb\x57\xfd\xcb\xcc\x5e\xdd" } , { "\xc6\xe8\xc5\xe8\xcf" , "\xb5\xd0\xf9" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\xb5\xd0\xf9\xe7\x65" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\xb5\xd0\xf9\xdd" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\xe6\xb5\xd0\xf9\xe7\x65" } , { "\xc6\xe8\xc6" , "\x7e" } , { "\xc6\xe8\xc6\xa2" , "\x7e\x65" } , { "\xc6\xe8\xc6\xda" , "\x7e\xe7" } , { "\xc6\xe8\xc6\xda\xa2" , "\x7e\xe7\x65" } , { "\xc6\xe8\xc6\xdb" , "\xd7\x7e" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xd7\x7e\x65" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xd7\x7e\x66" } , { "\xc6\xe8\xc6\xdc" , "\x7e\xdd" } , { "\xc6\xe8\xc6\xdc\xa2" , "\x7e\xdd\x65" } , { "\xc6\xe8\xc6\xdd" , "\x7e\xc7" } , { "\xc6\xe8\xc6\xdd\xa2" , "\x7e\xc7\x65" } , { "\xc6\xe8\xc6\xde" , "\x7e\xc9" } , { "\xc6\xe8\xc6\xdf" , "\x7e\xca" } , { "\xc6\xe8\xc6\xe0" , "\xe6\x7e" } , { "\xc6\xe8\xc6\xe0\xa2" , "\xe6\x7e\x65" } , { "\xc6\xe8\xc6\xe1" , "\xe6\x7e" } , { "\xc6\xe8\xc6\xe1\xa2" , "\xe6\x7e\x65" } , { "\xc6\xe8\xc6\xe2" , "\xe8\x7e" } , { "\xc6\xe8\xc6\xe4" , "\xe6\x7e\xe7" } , { "\xc6\xe8\xc6\xe4\xa2" , "\xe6\x7e\xe7\x65" } , { "\xc6\xe8\xc6\xe5" , "\xe6\x7e\xe7" } , { "\xc6\xe8\xc6\xe5\xa2" , "\xe6\x7e\xe7\x65" } , { "\xc6\xe8\xc6\xe6" , "\xe6\x7e\xec" } , { "\xc6\xe8\xc6\xe8" , "\x7e\xcb" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\x58\xcb\xb3\x47\xe7" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\xb3\xb3\xae\xf2\xc7\xf4" } , { "\xc6\xe8\xc6\xe8\xc2" , "\xb3\xdc\x99\xf6" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\x58\xcb\xe5\xb3\x56\xe7" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\xb3\x58\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\x58\xcb\xb3\x59\xc7" } , { "\xc6\xe8\xc6\xe8\xc9" , "\xb3\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc6\xe8\xcc" , "\x7e\xbd" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\x58\xcb\xb3\xcc\x5e\xe7" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x7e\x98" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\xe6\x7e\x98\xe7" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\x58\xcb\xb3\xbe\xe7" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\x58\xcb\xd7\xb3\xbe\x65" } , { "\xc6\xe8\xc8" , "\xb3\x59" } , { "\xc6\xe8\xc8\xa2" , "\xb3\x59\x65" } , { "\xc6\xe8\xc8\xda" , "\xb3\x59\xe7" } , { "\xc6\xe8\xc8\xda\xa2" , "\xb3\x59\xe7\x65" } , { "\xc6\xe8\xc8\xdb" , "\xd7\xb3\x59" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xd7\xb3\x59\x65" } , { "\xc6\xe8\xc8\xdc" , "\xb3\x59\xdd" } , { "\xc6\xe8\xc8\xdd" , "\xb3\x59\xc7" } , { "\xc6\xe8\xc8\xde" , "\xb3\x59\xc9" } , { "\xc6\xe8\xc8\xe0" , "\xe5\xb3\x59" } , { "\xc6\xe8\xc8\xe1" , "\xe5\xb3\x59" } , { "\xc6\xe8\xc8\xe2" , "\xe9\xb3\x59" } , { "\xc6\xe8\xc8\xe4" , "\xe5\xb3\x59\xe7" } , { "\xc6\xe8\xc8\xe5" , "\xe5\xb3\x59\xe7" } , { "\xc6\xe8\xc8\xe6" , "\xe5\xb3\x59\xec" } , { "\xc6\xe8\xc8\xe8\xc8" , "\x58\xcb\xb4\x59" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\x58\xcb\xb4\xcc\x5e\xc9" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\x58\xcb\xb4\xcc\x5e\xca\x65" } , { "\xc6\xe8\xc8\xe8\xcf" , "\xb3\x59\xd2" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\xb3\x59\xd2\xe7" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\xe6\xb3\x59\xd2" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\xb3\x59\xc0\xe7" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\xb3\x59\xc0\xdd" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\xb3\x59\xc0\xc7" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\xb3\x59\xc0\xc9" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\xe6\xb3\x59\xc0" } , { "\xc6\xe8\xc9" , "\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xda" , "\xdc\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xc9\xda\xa2" , "\xdc\xf6\x8f\xf5\xe7\x65" } , { "\xc6\xe8\xc9\xdb" , "\xd7\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xdc" , "\xdc\xf6\x8f\xf5\xdd" } , { "\xc6\xe8\xc9\xdd" , "\xdc\xf6\x8f\xc7\xf5" } , { "\xc6\xe8\xc9\xe0" , "\xe5\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xe0\xa2" , "\xe5\xdc\xf6\x8f\xf5\x65" } , { "\xc6\xe8\xc9\xe1" , "\xe5\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xe1\xa2" , "\xe5\xdc\xf6\x8f\xf5\x65" } , { "\xc6\xe8\xc9\xe4" , "\xe5\xdc\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xc9\xe5" , "\xe5\xdc\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x58\xcb\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\xdc\xf6\x8f\x98\xe7" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\xd7\xdc\xf6\x8f\x98" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\xd7\xdc\xf6\x8f\x98\x65" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\xdc\xf6\x8f\x98\xdd" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\xe5\xdc\xf6\x8f\x98" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\xe5\xdc\xf6\x8f\x98\x65" } , { "\xc6\xe8\xc9\xe8\xd1" , "\xb3\x6e\xf5" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\xb3\x6e\xc7\xf5" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\xb3\x6e\xc7\xf5\x65" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\xb3\x6e\xc9\xf5" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\xe6\xb3\x6e\xf5" } , { "\xc6\xe8\xca" , "\x58\x9f" } , { "\xc6\xe8\xca\xda" , "\x58\x9f\xe7" } , { "\xc6\xe8\xca\xda\xa2" , "\x58\x9f\xe7\x65" } , { "\xc6\xe8\xca\xdd" , "\x58\x9f\xc7" } , { "\xc6\xe8\xca\xde" , "\x58\x9f\xc9" } , { "\xc6\xe8\xca\xe0" , "\xe5\x58\x9f" } , { "\xc6\xe8\xca\xe1" , "\xe5\x58\x9f" } , { "\xc6\xe8\xca\xe5" , "\xe5\x58\x9f\xe7" } , { "\xc6\xe8\xca\xe5\xa2" , "\xe5\x58\x9f\xe7\x65" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\xe6\x58\x9f\x98" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\xe6\x58\x9f\x98\xe7" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\xe6\xb3\x5b\xfd\xc0" } , { "\xc6\xe8\xcb\xda" , "\xb3\x5c\xf6\xe7" } , { "\xc6\xe8\xcb\xde" , "\xb3\x5c\xc9\xf6" } , { "\xc6\xe8\xcc" , "\x58\xbd" } , { "\xc6\xe8\xcc\xa2" , "\x58\xbd\x65" } , { "\xc6\xe8\xcc\xa3" , "\x58\xbd\x66" } , { "\xc6\xe8\xcc\xda" , "\x58\xbd\xe7" } , { "\xc6\xe8\xcc\xda\xa2" , "\x58\xbd\xe7\x65" } , { "\xc6\xe8\xcc\xdb" , "\xd7\x58\xbd" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xd7\x58\xbd\x65" } , { "\xc6\xe8\xcc\xdc" , "\x58\xbd\xdd" } , { "\xc6\xe8\xcc\xdd" , "\x58\xbd\xc6" } , { "\xc6\xe8\xcc\xdd\xa2" , "\x58\xbd\xc6\x65" } , { "\xc6\xe8\xcc\xde" , "\x58\xbd\xc8" } , { "\xc6\xe8\xcc\xdf" , "\x58\xbd\xca" } , { "\xc6\xe8\xcc\xe0" , "\xe5\x58\xbd" } , { "\xc6\xe8\xcc\xe0\xa2" , "\xe5\x58\xbd\x65" } , { "\xc6\xe8\xcc\xe1" , "\xe5\x58\xbd" } , { "\xc6\xe8\xcc\xe1\xa2" , "\xe5\x58\xbd\x65" } , { "\xc6\xe8\xcc\xe2" , "\xe9\x58\xbd" } , { "\xc6\xe8\xcc\xe4" , "\xe5\x58\xbd\xe7" } , { "\xc6\xe8\xcc\xe5" , "\xe5\x58\xbd\xe7" } , { "\xc6\xe8\xcc\xe5\xa2" , "\xe5\x58\xbd\xe7\x65" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xd7\xb3\xb6\xf6\x82" } , { "\xc6\xe8\xcd" , "\xb3\xcc\x5e" } , { "\xc6\xe8\xcd\xa2" , "\xb3\xcc\x5e\x65" } , { "\xc6\xe8\xcd\xa3" , "\xb3\xcc\x5e\x66" } , { "\xc6\xe8\xcd\xda" , "\xb3\xcc\x5e\xe7" } , { "\xc6\xe8\xcd\xda\xa2" , "\xb3\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xcd\xda\xa3" , "\xb3\xcc\x5e\xe7\x66" } , { "\xc6\xe8\xcd\xdb" , "\xd7\xb3\xcc\x5e" } , { "\xc6\xe8\xcd\xdc" , "\xb3\xcc\x5e\xdd" } , { "\xc6\xe8\xcd\xdd" , "\xb3\xcc\x5e\xc7" } , { "\xc6\xe8\xcd\xdd\xa2" , "\xb3\xcc\x5e\xc7\x65" } , { "\xc6\xe8\xcd\xde" , "\xb3\xcc\x5e\xc9" } , { "\xc6\xe8\xcd\xde\xa2" , "\xb3\xcc\x5e\xc9\x65" } , { "\xc6\xe8\xcd\xe0" , "\xe5\xb3\xcc\x5e" } , { "\xc6\xe8\xcd\xe1" , "\xe5\xb3\xcc\x5e" } , { "\xc6\xe8\xcd\xe2" , "\xe9\xb3\xcc\x5e" } , { "\xc6\xe8\xcd\xe4" , "\xe5\xb3\xcc\x5e\xe7" } , { "\xc6\xe8\xcd\xe5" , "\xe5\xb3\xcc\x5e\xe7" } , { "\xc6\xe8\xcd\xe5\xa2" , "\xe5\xb3\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xcd\xe6" , "\xe5\xb3\xcc\x5e\xec" } , { "\xc6\xe8\xcd\xe7" , "\xe5\xb3\xcc\x5e\xe7" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x58\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x58\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x58\xcb\xcc\x5e\xcb\xcc\x5e\xc9" } , { "\xc6\xe8\xcf" , "\x58\xd0" } , { "\xc6\xe8\xcf\xa2" , "\x58\xd0\x65" } , { "\xc6\xe8\xcf\xda" , "\x58\xd0\xe7" } , { "\xc6\xe8\xcf\xdb" , "\xd7\x58\xd0" } , { "\xc6\xe8\xcf\xdc" , "\x58\xd0\xdd" } , { "\xc6\xe8\xcf\xdd" , "\x58\xd0\xc7" } , { "\xc6\xe8\xcf\xde" , "\x58\xd0\xc9" } , { "\xc6\xe8\xcf\xe0" , "\xe6\x58\xd0" } , { "\xc6\xe8\xcf\xe0\xa2" , "\xe6\x58\xd0\x65" } , { "\xc6\xe8\xcf\xe2" , "\xe8\x58\xd0" } , { "\xc6\xe8\xcf\xe5" , "\xe6\x58\xd0\xe7" } , { "\xc6\xe8\xcf\xe8" , "\x58\xd0\xcb" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\x58\xcb\xbb\xcb\xd7\x51\xf6" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x58\xcb\xbb\xcb\x54\xf6" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\xb3\xb2\xbe\xef" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x58\xcb\xbb\xcb\x61\xe7" } , { "\xc6\xe8\xd0" , "\xb3\xbb" } , { "\xc6\xe8\xd0\xcc\xe8" , "\xb3\xbb\x5d\xcb" } , { "\xc6\xe8\xd0\xdb" , "\xd7\xb3\xbb" } , { "\xc6\xe8\xd0\xdd" , "\xb3\xbb\xc7" } , { "\xc6\xe8\xd1" , "\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xa2" , "\xdc\xda\xf6\x65" } , { "\xc6\xe8\xd1\xda" , "\xdc\xda\xf6\xe7" } , { "\xc6\xe8\xd1\xda\xa2" , "\xdc\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd1\xdb" , "\xd7\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xdc" , "\xdc\xda\xf6\xdd" } , { "\xc6\xe8\xd1\xdd" , "\xdc\xda\xf6\xc7" } , { "\xc6\xe8\xd1\xdd\xa2" , "\xdc\xda\xf6\xc7\x65" } , { "\xc6\xe8\xd1\xde" , "\xdc\xda\xf6\xc9" } , { "\xc6\xe8\xd1\xe0" , "\xe6\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xe0\xa2" , "\xe6\xdc\xda\xf6\x65" } , { "\xc6\xe8\xd1\xe1" , "\xe6\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xe1\xa2" , "\xe6\xdc\xda\xf6\x65" } , { "\xc6\xe8\xd1\xe2" , "\xe8\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xe4" , "\xe6\xdc\xda\xf6\xe7" } , { "\xc6\xe8\xd1\xe4\xa2" , "\xe6\xdc\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd1\xe5" , "\xe6\xdc\xda\xf6\xe7" } , { "\xc6\xe8\xd1\xe5\xa2" , "\xe6\xdc\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd1\xe8" , "\xdc\xda\xf6\xcb" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x58\xcb\xb7\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x58\xcb\xb7\xcc\x5e\xc9" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x58\xcb\xe5\xb7\x61" } , { "\xc6\xe8\xd2" , "\xb3\x5f" } , { "\xc6\xe8\xd4" , "\xb3\xbe" } , { "\xc6\xe8\xd4\xa2" , "\xb3\xbe\x65" } , { "\xc6\xe8\xd4\xda" , "\xb3\xbe\xe7" } , { "\xc6\xe8\xd4\xdb" , "\xd7\xb3\xbe" } , { "\xc6\xe8\xd4\xdc" , "\xb3\xbe\xdd" } , { "\xc6\xe8\xd4\xdd" , "\xb3\xbe\xc7" } , { "\xc6\xe8\xd4\xdd\xa2" , "\xb3\xbe\xc7\x65" } , { "\xc6\xe8\xd4\xde" , "\xb3\xbe\xc9" } , { "\xc6\xe8\xd4\xe0" , "\xe5\xb3\xbe" } , { "\xc6\xe8\xd4\xe0\xa2" , "\xe5\xb3\xbe\x65" } , { "\xc6\xe8\xd4\xe1" , "\xe5\xb3\xbe" } , { "\xc6\xe8\xd4\xe1\xa2" , "\xe5\xb3\xbe\x65" } , { "\xc6\xe8\xd4\xe2" , "\xe9\xb3\xbe" } , { "\xc6\xe8\xd4\xe5" , "\xe5\xb3\xbe\xe7" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\x58\xcb\xbe\xcb\xcc\x5e\xe7" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\xb3\xbe\xd0\xdd" } , { "\xc6\xe8\xd5" , "\xb3\x60" } , { "\xc6\xe8\xd5\xa2" , "\xb3\x60\x65" } , { "\xc6\xe8\xd5\xda" , "\xb3\x60\xe7" } , { "\xc6\xe8\xd5\xdb" , "\xd7\xb3\x60" } , { "\xc6\xe8\xd5\xdc" , "\xb3\x60\xdd" } , { "\xc6\xe8\xd6" , "\xb3\x62" } , { "\xc6\xe8\xd6\xda" , "\xb3\x62\xe7" } , { "\xc6\xe8\xd6\xdb" , "\xd7\xb3\x62" } , { "\xc6\xe8\xd6\xdc" , "\xb3\x62\xdd" } , { "\xc6\xe8\xd6\xdd" , "\xb3\x62\xc7" } , { "\xc6\xe8\xd6\xde" , "\xb3\x62\xc9" } , { "\xc6\xe8\xd6\xe0" , "\xe5\xb3\x62" } , { "\xc6\xe8\xd6\xe2" , "\xe9\xb3\x62" } , { "\xc6\xe8\xd6\xe8\xbd" , "\xb3\x72\xf4" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\xe6\xb3\x72\xf4" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\xb3\x72\xd1\xf4" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x58\xcb\xb9\xcc\x5e\xc9" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\x58\xcb\xb9\xbe\xdd" } , { "\xc6\xe8\xd7" , "\xb3\x61" } , { "\xc6\xe8\xd7\xa2" , "\xb3\x61\x65" } , { "\xc6\xe8\xd7\xda" , "\xb3\x61\xe7" } , { "\xc6\xe8\xd7\xda\xa2" , "\xb3\x61\xe7\x65" } , { "\xc6\xe8\xd7\xdb" , "\xd7\xb3\x61" } , { "\xc6\xe8\xd7\xdb\xa2" , "\xd7\xb3\x61\x65" } , { "\xc6\xe8\xd7\xdc" , "\xb3\x61\xdd" } , { "\xc6\xe8\xd7\xdc\xa2" , "\xb3\x61\xdd\x65" } , { "\xc6\xe8\xd7\xdd" , "\xb3\x61\xc7" } , { "\xc6\xe8\xd7\xdd\xa2" , "\xb3\x61\xc7\x65" } , { "\xc6\xe8\xd7\xde" , "\xb3\x61\xc9" } , { "\xc6\xe8\xd7\xe0" , "\xe5\xb3\x61" } , { "\xc6\xe8\xd7\xe0\xa2" , "\xe5\xb3\x61\x65" } , { "\xc6\xe8\xd7\xe1" , "\xe5\xb3\x61" } , { "\xc6\xe8\xd7\xe1\xa2" , "\xe5\xb3\x61\x65" } , { "\xc6\xe8\xd7\xe2" , "\xe9\xb3\x61" } , { "\xc6\xe8\xd7\xe5" , "\xe5\xb3\x61\xe7" } , { "\xc6\xe8\xd7\xe5\xa2" , "\xe5\xb3\x61\xe7\x65" } , { "\xc6\xe8\xd7\xe8" , "\xb3\x61\xcb" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\xb3\x95\xf5\xe7" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\xd7\xb3\x95\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\xb3\x95\xf5\xdd" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\xb3\x95\xc7\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\xb3\x95\xc9\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\xe5\xb3\x95\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\xe5\xb3\x95\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\xe5\xb3\x95\xf5\xe7" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\xb3\x95\xcb\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\xb3\x61\xcb\xa8\xcc\x5e\xc7" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xd7\xb3\x95\x98\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\xe5\xb3\x95\x98\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\xb3\x61\xcb\xa8\xbe" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x58\xcb\xba\x47\xe7" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x58\xcb\xe6\xba\x4a\xf4\xe7" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x58\xcb\xba\x4c\xe7" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x58\xcb\xe5\xba\x4c" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x58\xcb\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x58\xcb\xba\x4f\xf4\xe7" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x58\xcb\xba\x4f\xf4\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\x58\xcb\xd7\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x58\xcb\xba\x4f\xf4\xdd" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x58\xcb\xba\x4f\xc7\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x58\xcb\xba\x4f\xc9\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\x58\xcb\xe6\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\x58\xcb\xe6\xba\x4f\xf4\x65" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x58\xcb\xe6\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x58\xcb\xe8\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x58\xcb\xe6\xba\x4f\xf4\xe7" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\xb3\x61\xcb\xae\x45\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\xb3\x61\xcb\xae\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\xb3\x61\xcb\xae\xcc\x5e\xc9" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd7\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\xba\xb3\xae\xcf\xc7\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\xba\xb3\xae\xcf\xc9\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\xe6\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xe8\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\x58\xcb\xd7\xba\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\xb3\x61\xcb\xaf\x47\xe7" } , { "\xc6\xe8\xd7\xe8\xc2" , "\xb3\xd8\x99\xf6" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\xe6\xb3\xd8\x99\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\xb3\xd8\x9a\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\xd7\xb3\xd8\x9a\xf6" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xb3\x61\xcb\xb2\xbe\xe7" } , { "\xc6\xe8\xd7\xe8\xc6" , "\xb3\xd8\x6f\xf6" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb3\xd8\x6f\xf6" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\xb3\xd8\x6f\xf6\xc7" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\xb3\xd8\x6f\xf6\xc7\x65" } , { "\xc6\xe8\xd7\xe8\xc8" , "\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\xb3\x26\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\xd7\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\xb3\x26\xdd" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\xb3\x26\xc7" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\xe5\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\xe5\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\xe9\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\xe5\xb3\x26\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xb3\x26\xc0\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\xb3\x26\xc0\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xc9" , "\xb3\xd8\xf6\x8f\xf5" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\xb3\xd8\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\xd7\xb3\xd8\xf6\x8f\xf5" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\xe5\xb3\xd8\xf6\x8f\xf5" } , { "\xc6\xe8\xd7\xe8\xca" , "\xb3\xd8\x91\xf6" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\xe5\xb3\xd8\x91\xf6" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\xb3\xd8\x91\xf6\x98\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\xd7\xb3\xd8\xf6\x82" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\xb3\xd8\xf6\x82\xdd" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\xe5\xb3\xd8\xf6\x82\x65" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\xb3\x61\xcb\x5d\xcb\xd7\x24\x4f\xf4\x65" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x58\xcb\xba\xcc\x5e\xc7" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x58\xcb\xba\xcc\x5e\xc9" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\xb3\xd8\x83\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xd1" , "\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\xb3\xd8\xda\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\xb3\xd8\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\xd7\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\xb3\xd8\xda\xf6\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\xe6\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\xe6\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\xe6\xb3\xd8\xda\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\xe6\xb3\xd8\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\xb3\xd8\xda\xf6\xcb" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\xb3\x61\xcb\xb7\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xd4" , "\x58\xcb\xba\xbe" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\x58\xcb\xba\xbe\xe7" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\x58\xcb\xd7\xba\xbe" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\x58\xcb\xd7\xba\xbe\x65" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\x58\xcb\xe5\xba\xbe" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\x58\xcb\xe5\xba\xbe" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x58\xcb\xe9\xba\xbe" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x58\xcb\xba\x61" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x58\xcb\xba\x61\xcb" } , { "\xc6\xe8\xd8" , "\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xa2" , "\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xda" , "\xb3\x63\xf7\xe7" } , { "\xc6\xe8\xd8\xda\xa1" , "\xb3\x63\x67\xf7\xe7" } , { "\xc6\xe8\xd8\xda\xa2" , "\xb3\x63\xf7\xe7\x65" } , { "\xc6\xe8\xd8\xdb" , "\xd7\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xdb\xa2" , "\xd7\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xdc" , "\xb3\x63\xf7\xdd" } , { "\xc6\xe8\xd8\xdc\xa2" , "\xb3\x63\xf7\xdd\x65" } , { "\xc6\xe8\xd8\xdd\xa2" , "\xb3\x63\xc7\xf7\x65" } , { "\xc6\xe8\xd8\xe0" , "\xe5\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xe1" , "\xe5\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xe1\xa2" , "\xe5\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xe2" , "\xe9\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xe2\xa2" , "\xe9\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xe5" , "\xe5\xb3\x63\xf7\xe7" } , { "\xc6\xe8\xd8\xe5\xa2" , "\xe5\xb3\x63\xf7\xe7\x65" } , { "\xc6\xe8\xd8\xe6" , "\xe5\xb3\x63\xf7\xec" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x58\xcb\x63\xcb\xf7\xcc\x5e" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x58\xcb\x63\xcb\xf7\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd9\xa6" , "\xb3\x2b" } , { "\xc6\xe8\xd9\xc2" , "\xb3\x54\xf6" } , { "\xc6\xe8\xd9\xc2\xdd" , "\xb3\x54\xc7\xf6" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\xb3\x79" } , { "\xc6\xe8\xd9\xc6" , "\xb3\x58" } , { "\xc6\xe8\xd9\xc6\xda" , "\xb3\x58\xe7" } , { "\xc6\xe8\xd9\xc6\xdc" , "\xb3\x58\xdd" } , { "\xc6\xe8\xd9\xc6\xdd" , "\xb3\x58\xc7" } , { "\xc6\xe8\xd9\xc6\xde" , "\xb3\x58\xc9" } , { "\xc6\xe8\xd9\xc6\xe1" , "\xb3\xe3\x58" } , { "\xc6\xe8\xd9\xc6\xe5" , "\xb3\xe3\x58\xe7" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\xb3\xe3\x58\xe7\x65" } , { "\xc6\xe8\xd9\xc6\xe6" , "\xb3\xe3\x58\xec" } , { "\xc6\xe8\xd9\xcc\xde" , "\xb3\x5d\xc9" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\xb3\x54\xf6\xdb" } , { "\xc6\xe8\xd9\xd7\xda" , "\xb3\x61\xe7" } , { "\xc6\xe8\xd9\xd8" , "\xb3\x63\xf7" } , { "\xc6\xe8\xe8" , "\x58\xcb" } , { "\xc6\xe8\xe9\xc6" , "\x7e" } , { "\xc6\xe8\xe9\xcf" , "\x58\xd0" } , { "\xc6\xe9" , "\x58" } , { "\xc6\xe9\xe8\xbf" , "\xb3\x51\xf6" } , { "\xc7" , "\x58" } , { "\xc7\xdb" , "\xd7\x58" } , { "\xc8" , "\x59" } , { "\xc8\xa1" , "\x59\x67" } , { "\xc8\xa2" , "\x59\x65" } , { "\xc8\xa2\xa2" , "\x59\x65\x65" } , { "\xc8\xa3" , "\x59\x66" } , { "\xc8\xd0" , "\x59\xbb" } , { "\xc8\xd0\xcc" , "\x59\xbb\x5d" } , { "\xc8\xda" , "\x59\xe7" } , { "\xc8\xda\xa1" , "\x59\x67\xe7" } , { "\xc8\xda\xa2" , "\x59\xe7\x65" } , { "\xc8\xda\xa3" , "\x59\xe7\x66" } , { "\xc8\xda\xd0\xe8" , "\x59\xe7\xbb\xcb" } , { "\xc8\xdb" , "\xd7\x59" } , { "\xc8\xdb\xa2" , "\xd7\x59\x65" } , { "\xc8\xdb\xa2\xa2" , "\xd7\x59\x65\x65" } , { "\xc8\xdc" , "\x59\xdd" } , { "\xc8\xdc\xa2" , "\x59\xdd\x65" } , { "\xc8\xdd" , "\x59\xc7" } , { "\xc8\xdd\xa1" , "\x59\x67\xc7" } , { "\xc8\xdd\xa2" , "\x59\xc7\x65" } , { "\xc8\xdd\xa3" , "\x59\xc7\x66" } , { "\xc8\xde" , "\x59\xc9" } , { "\xc8\xde\xa1" , "\x59\x67\xc9" } , { "\xc8\xde\xa2" , "\x59\xc9\x65" } , { "\xc8\xdf" , "\x59\xca" } , { "\xc8\xe0" , "\xe5\x59" } , { "\xc8\xe0\xa2" , "\xe5\x59\x65" } , { "\xc8\xe1" , "\xe5\x59" } , { "\xc8\xe1\xa1" , "\xe5\x59\x67" } , { "\xc8\xe1\xa2" , "\xe5\x59\x65" } , { "\xc8\xe2" , "\xe9\x59" } , { "\xc8\xe2\xa2" , "\xe9\x59\x65" } , { "\xc8\xe2\xa3" , "\xe9\x59\x66" } , { "\xc8\xe2\xcf\xe8" , "\xe9\x59\xbb\xcb" } , { "\xc8\xe4" , "\xe5\x59\xe7" } , { "\xc8\xe4\xa2" , "\xe5\x59\xe7\x65" } , { "\xc8\xe4\xa3" , "\xe5\x59\xe7\x66" } , { "\xc8\xe5" , "\xe5\x59\xe7" } , { "\xc8\xe5\xa2" , "\xe5\x59\xe7\x65" } , { "\xc8\xe5\xa3" , "\xe5\x59\xe7\x66" } , { "\xc8\xe6" , "\xe5\x59\xec" } , { "\xc8\xe6\xa2" , "\xe5\x59\xec\x65" } , { "\xc8\xe7" , "\xe5\x59\xe7" } , { "\xc8\xe7\xa2" , "\xe5\x59\xe7\x65" } , { "\xc8\xe8" , "\x59\xcb" } , { "\xc8\xe8\xb3" , "\xb4\x45\xf5" } , { "\xc8\xe8\xb3\xa2" , "\xb4\x45\xf5\x65" } , { "\xc8\xe8\xb3\xda" , "\xb4\x45\xf5\xe7" } , { "\xc8\xe8\xb3\xdb" , "\xd7\xb4\x45\xf5" } , { "\xc8\xe8\xb3\xdb\xa2" , "\xd7\xb4\x45\xf5\x65" } , { "\xc8\xe8\xb3\xdd" , "\xb4\x45\xc7\xf5" } , { "\xc8\xe8\xb3\xe1" , "\xe5\xb4\x45\xf5" } , { "\xc8\xe8\xb3\xe4" , "\xe5\xb4\x45\xf5\xe7" } , { "\xc8\xe8\xb3\xe5" , "\xe5\xb4\x45\xf5\xe7" } , { "\xc8\xe8\xb3\xe8\xc2" , "\xb4\x4e\xfe" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x59\xcb\x45\xcb\xf5\xbb\xcb\x61\xcb" } , { "\xc8\xe8\xb5" , "\xb4\x47" } , { "\xc8\xe8\xb5\xda" , "\xb4\x47\xe7" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\xe6\xb4\x47\xd0" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\xe6\xb4\x47\xd0\xec\x65" } , { "\xc8\xe8\xb6" , "\xb4\x48" } , { "\xc8\xe8\xb8" , "\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xda" , "\xb4\x4a\xf4\xe7" } , { "\xc8\xe8\xb8\xdb" , "\xd7\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xdd" , "\xb4\x4a\xc7\xf4" } , { "\xc8\xe8\xb8\xde" , "\xb4\x4a\xc9\xf4" } , { "\xc8\xe8\xb8\xe0" , "\xe6\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xe1" , "\xe6\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xe8" , "\xb4\x4a\xcb\xf4" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x59\xcb\xac\x4b\xf7\xe7" } , { "\xc8\xe8\xb9\xdd" , "\xb4\x4b\xc7\xf7" } , { "\xc8\xe8\xba" , "\xb4\x4c" } , { "\xc8\xe8\xba\xda" , "\xb4\x4c\xe7" } , { "\xc8\xe8\xba\xdb" , "\xd7\xb4\x4c" } , { "\xc8\xe8\xba\xdd" , "\xb4\x4c\xc7" } , { "\xc8\xe8\xbd" , "\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xa2" , "\xb4\x4f\xf4\x65" } , { "\xc8\xe8\xbd\xda" , "\xb4\x4f\xf4\xe7" } , { "\xc8\xe8\xbd\xdb" , "\xd7\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xdb\xa2" , "\xd7\xb4\x4f\xf4\x65" } , { "\xc8\xe8\xbd\xdc" , "\xb4\x4f\xf4\xdd" } , { "\xc8\xe8\xbd\xdd" , "\xb4\x4f\xc7\xf4" } , { "\xc8\xe8\xbd\xde" , "\xb4\x4f\xc9\xf4" } , { "\xc8\xe8\xbd\xe0" , "\xe6\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xe0\xa2" , "\xe6\xb4\x4f\xf4\x65" } , { "\xc8\xe8\xbd\xe1" , "\xe6\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xe2" , "\xe8\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xe4" , "\xe6\xb4\x4f\xf4\xe7" } , { "\xc8\xe8\xbd\xe5" , "\xe6\xb4\x4f\xf4\xe7" } , { "\xc8\xe8\xbd\xe6" , "\xe6\xb4\x4f\xf4\xec" } , { "\xc8\xe8\xbd\xe8" , "\xb4\x4f\xcb\xf4" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x59\xcb\xae\x45\xc7\xf5" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x59\xcb\xae\x47\xe7" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x59\xcb\xe6\xae\x4a\xf4" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x59\xcb\xe5\xae\x54\xf6\xe7" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\xb4\xae\xbc\xf4\xe7" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x59\xcb\xae\xcc\x5e\xc9" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\xb4\xae\xcf\xf4\xe7" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\xe6\xb4\xae\xcf\xf4\xe7" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\xb4\xae\xf2\xc7\xf4" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\x59\xcb\xd7\xae\xbe" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x59\xcb\xe5\xae\xbe" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x59\xcb\xae\x61" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x59\xcb\xae\x61\xcb" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x59\xcb\xae\x63\xf7\xe7" } , { "\xc8\xe8\xbf" , "\xb4\x51\xf6" } , { "\xc8\xe8\xbf\xda" , "\xb4\x51\xf6\xe7" } , { "\xc8\xe8\xbf\xdb" , "\xd7\xb4\x51\xf6" } , { "\xc8\xe8\xbf\xdd" , "\xb4\x51\xc7\xf6" } , { "\xc8\xe8\xbf\xe0\xa2" , "\xe5\xb4\x51\xf6\x65" } , { "\xc8\xe8\xbf\xe1" , "\xe5\xb4\x51\xf6" } , { "\xc8\xe8\xbf\xe8" , "\xb4\x51\xcb\xf6" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\xb4\x51\xce\xf6\xe7" } , { "\xc8\xe8\xc1" , "\xb4\x53" } , { "\xc8\xe8\xc2" , "\x8a" } , { "\xc8\xe8\xc2\xa2" , "\x8a\x65" } , { "\xc8\xe8\xc2\xda" , "\x8a\xe7" } , { "\xc8\xe8\xc2\xda\xa2" , "\x8a\xe7\x65" } , { "\xc8\xe8\xc2\xdb" , "\xd7\x8a" } , { "\xc8\xe8\xc2\xdb\xa2" , "\xd7\x8a\x65" } , { "\xc8\xe8\xc2\xdc" , "\x8a\xdd" } , { "\xc8\xe8\xc2\xdd" , "\x8a\xc7" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x8a\xc7\x65" } , { "\xc8\xe8\xc2\xde" , "\x8a\xc9" } , { "\xc8\xe8\xc2\xde\xa2" , "\x8a\xc9\x65" } , { "\xc8\xe8\xc2\xe0" , "\xe5\x8a" } , { "\xc8\xe8\xc2\xe1" , "\xe5\x8a" } , { "\xc8\xe8\xc2\xe2\xa3" , "\xe9\x8a\x66" } , { "\xc8\xe8\xc2\xe5" , "\xe5\x8a\xe7" } , { "\xc8\xe8\xc2\xe5\xa2" , "\xe5\x8a\xe7\x65" } , { "\xc8\xe8\xc2\xe8" , "\x8a\xcb" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x59\xcb\xb1\xcc\x5e" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x59\xcb\xb1\xcc\x5e\xe7" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x8a\x98" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\xe5\x8a\x98" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\xe9\x8a\x98" } , { "\xc8\xe8\xc3" , "\xb4\x55" } , { "\xc8\xe8\xc3\xdc" , "\xb4\x55\xdd" } , { "\xc8\xe8\xc3\xe8" , "\xb4\x55\xcb" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x59\xcb\x55\xcb\x45\xf5" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x59\xcb\x55\xcb\xcc\x5e\xe7" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x59\xcb\x55\xcb\xbe\xdd" } , { "\xc8\xe8\xc4" , "\xb4\x56" } , { "\xc8\xe8\xc4\xda" , "\xb4\x56\xe7" } , { "\xc8\xe8\xc4\xdc" , "\xb4\x56\xdd" } , { "\xc8\xe8\xc4\xdd" , "\xb4\x56\xc7" } , { "\xc8\xe8\xc4\xe1" , "\xe5\xb4\x56" } , { "\xc8\xe8\xc4\xe4" , "\xe5\xb4\x56\xe7" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\xd7\xb4\x81" } , { "\xc8\xe8\xc5" , "\xb4\x57\xfd" } , { "\xc8\xe8\xc5\xda" , "\xb4\x57\xfd\xe7" } , { "\xc8\xe8\xc5\xdd" , "\xb4\x57\xfd\xc7" } , { "\xc8\xe8\xc6" , "\x59\xc2" } , { "\xc8\xe8\xc6\xa2" , "\x59\xc2\x65" } , { "\xc8\xe8\xc6\xda" , "\x59\xc2\xe7" } , { "\xc8\xe8\xc6\xdb" , "\xd7\x59\xc2" } , { "\xc8\xe8\xc6\xdc" , "\x59\xc2\xdd" } , { "\xc8\xe8\xc6\xdd" , "\x59\xc2\xc7" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x59\xc2\xc7\x65" } , { "\xc8\xe8\xc6\xe5" , "\xe6\x59\xc2\xe7" } , { "\xc8\xe8\xc6\xe5\xa2" , "\xe6\x59\xc2\xe7\x65" } , { "\xc8\xe8\xc7" , "\xb4\x58" } , { "\xc8\xe8\xc8" , "\xb4\x59" } , { "\xc8\xe8\xc8\xa2" , "\xb4\x59\x65" } , { "\xc8\xe8\xc8\xa2\xa2" , "\xb4\x59\x65\x65" } , { "\xc8\xe8\xc8\xda" , "\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xda\xa2" , "\xb4\x59\xe7\x65" } , { "\xc8\xe8\xc8\xdb" , "\xd7\xb4\x59" } , { "\xc8\xe8\xc8\xdb\xa2" , "\xd7\xb4\x59\x65" } , { "\xc8\xe8\xc8\xdc" , "\xb4\x59\xdd" } , { "\xc8\xe8\xc8\xdc\xa2" , "\xb4\x59\xdd\x65" } , { "\xc8\xe8\xc8\xdd" , "\xb4\x59\xc7" } , { "\xc8\xe8\xc8\xdd\xa2" , "\xb4\x59\xc7\x65" } , { "\xc8\xe8\xc8\xde" , "\xb4\x59\xc9" } , { "\xc8\xe8\xc8\xe0" , "\xe5\xb4\x59" } , { "\xc8\xe8\xc8\xe0\xa2" , "\xe5\xb4\x59\x65" } , { "\xc8\xe8\xc8\xe1" , "\xe5\xb4\x59" } , { "\xc8\xe8\xc8\xe1\xa2" , "\xe5\xb4\x59\x65" } , { "\xc8\xe8\xc8\xe2" , "\xe9\xb4\x59" } , { "\xc8\xe8\xc8\xe2\xa2" , "\xe9\xb4\x59\x65" } , { "\xc8\xe8\xc8\xe4" , "\xe5\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xe4\xa2" , "\xe5\xb4\x59\xe7\x65" } , { "\xc8\xe8\xc8\xe5" , "\xe5\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xe5\xa2" , "\xe5\xb4\x59\xe7\x65" } , { "\xc8\xe8\xc8\xe6" , "\xe5\xb4\x59\xec" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\x59\xcb\xd7\xb4\x51\xf6" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x59\xcb\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xe8\xcc" , "\xb4\x59\xbd" } , { "\xc8\xe8\xc8\xe8\xcf" , "\xb4\x59\xd2" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x59\xcb\xb4\x61\xc7" } , { "\xc8\xe8\xc9" , "\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xdb" , "\xd7\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xdc" , "\xb4\x5a\xf5\xdd" } , { "\xc8\xe8\xc9\xdd" , "\xb4\x5a\xc7\xf5" } , { "\xc8\xe8\xc9\xe0" , "\xe5\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xe1" , "\xe5\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xe2" , "\xe9\xb4\x5a\xf5" } , { "\xc8\xe8\xca" , "\x59\x9f" } , { "\xc8\xe8\xca\xda" , "\x59\x9f\xe7" } , { "\xc8\xe8\xca\xdb\xa2" , "\xd7\x59\x9f\x65" } , { "\xc8\xe8\xca\xdd" , "\x59\x9f\xc7" } , { "\xc8\xe8\xca\xe0" , "\xe5\x59\x9f" } , { "\xc8\xe8\xcb" , "\xb4\x5c\xf6" } , { "\xc8\xe8\xcc" , "\x59\xbd" } , { "\xc8\xe8\xcc\xda" , "\x59\xbd\xe7" } , { "\xc8\xe8\xcc\xdb" , "\xd7\x59\xbd" } , { "\xc8\xe8\xcc\xdc" , "\x59\xbd\xdd" } , { "\xc8\xe8\xcc\xde" , "\x59\xbd\xc8" } , { "\xc8\xe8\xcc\xe0" , "\xe5\x59\xbd" } , { "\xc8\xe8\xcc\xe0\xa2" , "\xe5\x59\xbd\x65" } , { "\xc8\xe8\xcc\xe5" , "\xe5\x59\xbd\xe7" } , { "\xc8\xe8\xcd" , "\xb4\xcc\x5e" } , { "\xc8\xe8\xcd\xa2" , "\xb4\xcc\x5e\x65" } , { "\xc8\xe8\xcd\xda" , "\xb4\xcc\x5e\xe7" } , { "\xc8\xe8\xcd\xda\xa2" , "\xb4\xcc\x5e\xe7\x65" } , { "\xc8\xe8\xcd\xdb" , "\xd7\xb4\xcc\x5e" } , { "\xc8\xe8\xcd\xdd" , "\xb4\xcc\x5e\xc7" } , { "\xc8\xe8\xcd\xde" , "\xb4\xcc\x5e\xc9" } , { "\xc8\xe8\xcd\xde\xa1" , "\xb4\xcc\x5e\x67\xc9" } , { "\xc8\xe8\xcd\xe1" , "\xe5\xb4\xcc\x5e" } , { "\xc8\xe8\xcd\xe4" , "\xe5\xb4\xcc\x5e\xe7" } , { "\xc8\xe8\xcd\xe5" , "\xe5\xb4\xcc\x5e\xe7" } , { "\xc8\xe8\xcf" , "\x59\xd2" } , { "\xc8\xe8\xcf\xa2" , "\x59\xd2\x65" } , { "\xc8\xe8\xcf\xda" , "\x59\xd2\xe7" } , { "\xc8\xe8\xcf\xda\xa1" , "\x59\xd2\x67\xe7" } , { "\xc8\xe8\xcf\xda\xa2" , "\x59\xd2\xe7\x65" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\x59\xd2\xe7\x65\x65" } , { "\xc8\xe8\xcf\xdb" , "\xd7\x59\xd2" } , { "\xc8\xe8\xcf\xdb\xa2" , "\xd7\x59\xd2\x65" } , { "\xc8\xe8\xcf\xdc" , "\x59\xd2\xdd" } , { "\xc8\xe8\xcf\xdc\xa2" , "\x59\xd2\xdd\x65" } , { "\xc8\xe8\xcf\xdc\xa3" , "\x59\xd2\xdd\x66" } , { "\xc8\xe8\xcf\xdd" , "\x59\xd2\xd3" } , { "\xc8\xe8\xcf\xdd\xa2" , "\x59\xd2\xd3\x65" } , { "\xc8\xe8\xcf\xde" , "\x59\xd2\xd6" } , { "\xc8\xe8\xcf\xde\xa2" , "\x59\xd2\xd6\x65" } , { "\xc8\xe8\xcf\xdf" , "\x59\xd2\xca" } , { "\xc8\xe8\xcf\xe0" , "\xe6\x59\xd2" } , { "\xc8\xe8\xcf\xe0\xa2" , "\xe6\x59\xd2\x65" } , { "\xc8\xe8\xcf\xe1" , "\xe6\x59\xd2" } , { "\xc8\xe8\xcf\xe1\xa2" , "\xe6\x59\xd2\x65" } , { "\xc8\xe8\xcf\xe2" , "\xe8\x59\xd2" } , { "\xc8\xe8\xcf\xe4" , "\xe6\x59\xd2\xe7" } , { "\xc8\xe8\xcf\xe5" , "\xe6\x59\xd2\xe7" } , { "\xc8\xe8\xcf\xe5\xa2" , "\xe6\x59\xd2\xe7\x65" } , { "\xc8\xe8\xcf\xe6" , "\xe6\x59\xd2\xec" } , { "\xc8\xe8\xcf\xe7" , "\xe6\x59\xd2\xe7" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x59\xcb\xbb\xcb\xcc\x5e" } , { "\xc8\xe8\xcf\xe8\xd1" , "\xb4\xbb\xc0" } , { "\xc8\xe8\xd1" , "\x59\xc0" } , { "\xc8\xe8\xd1\xa2" , "\x59\xc0\x65" } , { "\xc8\xe8\xd1\xda" , "\x59\xc0\xe7" } , { "\xc8\xe8\xd1\xda\xa2" , "\x59\xc0\xe7\x65" } , { "\xc8\xe8\xd1\xdb" , "\xd7\x59\xc0" } , { "\xc8\xe8\xd1\xdb\xa2" , "\xd7\x59\xc0\x65" } , { "\xc8\xe8\xd1\xdc" , "\x59\xc0\xdd" } , { "\xc8\xe8\xd1\xdd" , "\x59\xc0\xc7" } , { "\xc8\xe8\xd1\xde" , "\x59\xc0\xc9" } , { "\xc8\xe8\xd1\xe0" , "\xe6\x59\xc0" } , { "\xc8\xe8\xd1\xe0\xa2" , "\xe6\x59\xc0\x65" } , { "\xc8\xe8\xd1\xe1" , "\xe6\x59\xc0" } , { "\xc8\xe8\xd1\xe1\xa2" , "\xe6\x59\xc0\x65" } , { "\xc8\xe8\xd1\xe2" , "\xe8\x59\xc0" } , { "\xc8\xe8\xd1\xe2\xa2" , "\xe8\x59\xc0\x65" } , { "\xc8\xe8\xd1\xe4" , "\xe6\x59\xc0\xe7" } , { "\xc8\xe8\xd1\xe5" , "\xe6\x59\xc0\xe7" } , { "\xc8\xe8\xd1\xe7" , "\xe6\x59\xc0\xe7" } , { "\xc8\xe8\xd1\xe8" , "\x59\xc0\xcb" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\xb4\x94\xdd" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x59\xcb\xb7\xcc\x5e\xe7\x65" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x59\xcb\xb7\xcc\x5e\xc9" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x59\xcb\xb7\x61\xe7\x65" } , { "\xc8\xe8\xd2\xdb" , "\xd7\xb4\x5f" } , { "\xc8\xe8\xd4" , "\xb4\xbe" } , { "\xc8\xe8\xd4\xda" , "\xb4\xbe\xe7" } , { "\xc8\xe8\xd4\xda\xa1" , "\xb4\xbe\x67\xe7" } , { "\xc8\xe8\xd4\xda\xa2" , "\xb4\xbe\xe7\x65" } , { "\xc8\xe8\xd4\xdb" , "\xd7\xb4\xbe" } , { "\xc8\xe8\xd4\xdd" , "\xb4\xbe\xc7" } , { "\xc8\xe8\xd4\xe2" , "\xe9\xb4\xbe" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\xb4\xbe\xd0\xe7" } , { "\xc8\xe8\xd5" , "\xb4\x60" } , { "\xc8\xe8\xd5\xa2" , "\xb4\x60\x65" } , { "\xc8\xe8\xd6" , "\xb4\x62" } , { "\xc8\xe8\xd6\xdb" , "\xd7\xb4\x62" } , { "\xc8\xe8\xd6\xe2" , "\xe9\xb4\x62" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x59\xcb\xb9\x4b\xf7" } , { "\xc8\xe8\xd6\xe8\xbd" , "\xb4\x72\xf4" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\xd7\xb4\x72\xf4" } , { "\xc8\xe8\xd6\xe8\xbe" , "\xb4\x9c\xf6" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\xe5\xb4\x9c\xf6\xe7" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\xe5\xb4\x9c\xf6\xe7\x65" } , { "\xc8\xe8\xd7" , "\xb4\x61" } , { "\xc8\xe8\xd7\xa2" , "\xb4\x61\x65" } , { "\xc8\xe8\xd7\xda" , "\xb4\x61\xe7" } , { "\xc8\xe8\xd7\xdb" , "\xd7\xb4\x61" } , { "\xc8\xe8\xd7\xdb\xa2" , "\xd7\xb4\x61\x65" } , { "\xc8\xe8\xd7\xdc" , "\xb4\x61\xdd" } , { "\xc8\xe8\xd7\xdd" , "\xb4\x61\xc7" } , { "\xc8\xe8\xd7\xde" , "\xb4\x61\xc9" } , { "\xc8\xe8\xd7\xe0" , "\xe5\xb4\x61" } , { "\xc8\xe8\xd7\xe0\xa2" , "\xe5\xb4\x61\x65" } , { "\xc8\xe8\xd7\xe1" , "\xe5\xb4\x61" } , { "\xc8\xe8\xd7\xe2" , "\xe9\xb4\x61" } , { "\xc8\xe8\xd7\xe5" , "\xe5\xb4\x61\xe7" } , { "\xc8\xe8\xd7\xe8" , "\xb4\x61\xcb" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\xb4\x95\xc7\xf5" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x59\xcb\xba\x47\xe7" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x59\xcb\xe5\xba\x47" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x59\xcb\xba\x4f\xf4" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\x59\xcb\xd7\xba\x4f\xf4" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x59\xcb\xba\x4f\xf4\xdd" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x59\xcb\xe6\xba\x4f\xf4\xe7" } , { "\xc8\xe8\xd7\xe8\xc2" , "\xb4\xd8\x99\xf6" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\xb4\xd8\x99\xc7\xf6" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\xb4\xd8\x99\xc7\xf6\x65" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb4\xd8\x6f\xf6" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\xb4\xd8\x6f\xf6\xc7" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\xd7\xb4\xd8\xf6\x8f\xf5" } , { "\xc8\xe8\xd7\xe8\xca" , "\xb4\xd8\x91\xf6" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\xb4\xd8\xf6\x82\xc7\x65" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x59\xcb\xba\xcc\x5e\xc7" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x59\xcb\xba\xcc\x5e\xc9" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\xe6\xb4\xd8\xda\xf6\xe7" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\xb4\x61\xcb\xd7\xba\x4f\xf4" } , { "\xc8\xe8\xd8" , "\xb4\x63\xf7" } , { "\xc8\xe8\xd8\xda\xa2" , "\xb4\x63\xf7\xe7\x65" } , { "\xc8\xe8\xd8\xde" , "\xb4\x63\xc9\xf7" } , { "\xc8\xe8\xd8\xe5" , "\xe5\xb4\x63\xf7\xe7" } , { "\xc8\xe8\xd8\xe6" , "\xe5\xb4\x63\xf7\xec" } , { "\xc8\xe8\xe8" , "\x59\xcb" } , { "\xc8\xe8\xe9\xcf" , "\x59\xd2" } , { "\xc8\xe9" , "\x59" } , { "\xc9" , "\x5a\xf5" } , { "\xc9\xa1" , "\x5a\x67\xf5" } , { "\xc9\xa2" , "\x5a\xf5\x65" } , { "\xc9\xa3" , "\x5a\xf5\x66" } , { "\xc9\xc4" , "\x5a\xf5\x56" } , { "\xc9\xca" , "\x5a\xf5\x5b\xfd" } , { "\xc9\xd0" , "\x5a\xf5\xbb" } , { "\xc9\xda" , "\x5a\xf5\xe7" } , { "\xc9\xda\xa1" , "\x5a\x67\xf5\xe7" } , { "\xc9\xda\xa2" , "\x5a\xf5\xe7\x65" } , { "\xc9\xdb" , "\xd7\x5a\xf5" } , { "\xc9\xdb\xa2" , "\xd7\x5a\xf5\x65" } , { "\xc9\xdc" , "\x5a\xf5\xdd" } , { "\xc9\xdc\xa1" , "\x5a\xf5\xdf" } , { "\xc9\xdc\xa2" , "\x5a\xf5\xdd\x65" } , { "\xc9\xdd" , "\x5a\xc7\xf5" } , { "\xc9\xdd\xa1" , "\x5a\x67\xc7\xf5" } , { "\xc9\xdd\xa2" , "\x5a\xc7\xf5\x65" } , { "\xc9\xde" , "\x5a\xc9\xf5" } , { "\xc9\xde\xa1" , "\x5a\x67\xc9\xf5" } , { "\xc9\xde\xa2" , "\x5a\xc9\xf5\x65" } , { "\xc9\xdf" , "\x5a\xca\xf5" } , { "\xc9\xe0" , "\xe5\x5a\xf5" } , { "\xc9\xe0\xa2" , "\xe5\x5a\xf5\x65" } , { "\xc9\xe1" , "\xe5\x5a\xf5" } , { "\xc9\xe1\xa2" , "\xe5\x5a\xf5\x65" } , { "\xc9\xe2" , "\xe9\x5a\xf5" } , { "\xc9\xe2\xa2" , "\xe9\x5a\xf5\x65" } , { "\xc9\xe4" , "\xe5\x5a\xf5\xe7" } , { "\xc9\xe4\xa2" , "\xe5\x5a\xf5\xe7\x65" } , { "\xc9\xe5" , "\xe5\x5a\xf5\xe7" } , { "\xc9\xe5\xa2" , "\xe5\x5a\xf5\xe7\x65" } , { "\xc9\xe6" , "\xe5\x5a\xf5\xec" } , { "\xc9\xe6\xa2" , "\xe5\x5a\xf5\xec\x65" } , { "\xc9\xe7" , "\xe5\x5a\xf5\xe7" } , { "\xc9\xe7\xa2" , "\xe5\x5a\xf5\xe7\x65" } , { "\xc9\xe8" , "\x5a\xcb\xf5" } , { "\xc9\xe8\xb3\xda" , "\x5a\xcb\xf5\x45\xf5\xe7" } , { "\xc9\xe8\xb3\xdb" , "\x5a\xcb\xf5\xd7\x45\xf5" } , { "\xc9\xe8\xb3\xdc" , "\x5a\xcb\xf5\x45\xf5\xdd" } , { "\xc9\xe8\xb3\xdd" , "\x5a\xcb\xf5\x45\xc7\xf5" } , { "\xc9\xe8\xb3\xe0" , "\x5a\xcb\xf5\xe5\x45\xf5" } , { "\xc9\xe8\xb3\xe1" , "\x5a\xcb\xf5\xe5\x45\xf5" } , { "\xc9\xe8\xb3\xe5" , "\x5a\xcb\xf5\xe5\x45\xf5\xe7" } , { "\xc9\xe8\xb4" , "\x5a\xcb\xf5\x46" } , { "\xc9\xe8\xb4\xda" , "\x5a\xcb\xf5\x46\xe7" } , { "\xc9\xe8\xb5" , "\x5a\xcb\xf5\x47" } , { "\xc9\xe8\xb5\xda" , "\x5a\xcb\xf5\x47\xe7" } , { "\xc9\xe8\xb5\xde" , "\x5a\xcb\xf5\x47\xc9" } , { "\xc9\xe8\xb6" , "\x5a\xcb\xf5\x48" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\x5a\xcb\xf5\xd7\x48\xc2" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x5a\xcb\xf5\x48\xc2\xc7" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\x5a\xcb\xf5\x48\xc2\xcb" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\x5a\xcb\xf5\x48\xcb\xdc\xda\xf6" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\x5a\xcb\xf5\x48\xcb\xdc\xda\xf6\xc7" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\x5a\xcb\xf5\xe6\xac\xf3\xf4\x65" } , { "\xc9\xe8\xba" , "\x5a\xcb\xf5\x4c" } , { "\xc9\xe8\xba\xda" , "\x5a\xcb\xf5\x4c\xe7" } , { "\xc9\xe8\xba\xe5\xa2" , "\x5a\xcb\xf5\xe5\x4c\xe7\x65" } , { "\xc9\xe8\xba\xe9" , "\x5a\xcb\xf5\x4c" } , { "\xc9\xe8\xbb" , "\x5a\xcb\xf5\x4d\xf5" } , { "\xc9\xe8\xbd" , "\x5a\xcb\xf5\x24\x4f\xf4" } , { "\xc9\xe8\xbd\xdb" , "\x5a\xcb\xf5\xd7\x24\x4f\xf4" } , { "\xc9\xe8\xbd\xdb\xa2" , "\x5a\xcb\xf5\xd7\x24\x4f\xf4\x65" } , { "\xc9\xe8\xbd\xdc" , "\x5a\xcb\xf5\x24\x4f\xf4\xdd" } , { "\xc9\xe8\xbd\xdd" , "\x5a\xcb\xf5\x24\x4f\xc7\xf4" } , { "\xc9\xe8\xbd\xde" , "\x5a\xcb\xf5\x24\x4f\xc9\xf4" } , { "\xc9\xe8\xbd\xe0" , "\x5a\xcb\xf5\xe6\x24\x4f\xf4" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x5a\xcb\xf5\xe6\x24\x4f\xf4\x65" } , { "\xc9\xe8\xbd\xe5" , "\x5a\xcb\xf5\xe6\x24\x4f\xf4\xe7" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x5a\xcb\xf5\xe6\x24\x4f\xf4\xe7\x65" } , { "\xc9\xe8\xbd\xe8" , "\x5a\xcb\xf5\x24\x4f\xcb\xf4" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x5a\xcb\xf5\xae\x45\xf5\xe7" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x5a\xcb\xf5\xe5\xae\x45\xf5\xe7" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\x5a\xcb\xf5\xe5\xae\xf3\xf4\x65" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x5a\xcb\xf5\xae\x59\xe7" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x5a\xcb\xf5\xe5\xae\x59" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\x5a\xcb\xf5\xae\xcf\xcb\xf4" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\x5a\xcb\xf5\xae\xf2\xc7\xf4" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\x5a\xcb\xf5\xe6\xae\xf2\xf4\xe7" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\x5a\xcb\xf5\xe5\xae\xbe\x65" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\x5a\xcb\xf5\xe5\xae\xbe" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x5a\xcb\xf5\xae\x61" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x5a\xcb\xf5\xe9\xae\x61" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\x5a\xcb\xf5\xae\x61\xcb" } , { "\xc9\xe8\xbf\xe8" , "\x5a\xcb\xf5\x51\xcb\xf6" } , { "\xc9\xe8\xc2" , "\x5a\xcb\xf5\x54\xf6" } , { "\xc9\xe8\xc2\xda" , "\x5a\xcb\xf5\x54\xf6\xe7" } , { "\xc9\xe8\xc2\xdb" , "\x5a\xcb\xf5\xd7\x54\xf6" } , { "\xc9\xe8\xc2\xdc" , "\x5a\xcb\xf5\x54\xf6\xdd" } , { "\xc9\xe8\xc2\xe1" , "\x5a\xcb\xf5\xe5\x54\xf6" } , { "\xc9\xe8\xc2\xe5" , "\x5a\xcb\xf5\xe5\x54\xf6\xe7" } , { "\xc9\xe8\xc2\xe5\xa2" , "\x5a\xcb\xf5\xe5\x54\xf6\xe7\x65" } , { "\xc9\xe8\xc2\xe8" , "\x5a\xcb\xf5\x64" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\x5a\xcb\xf5\xb1\x47\xe7" } , { "\xc9\xe8\xc3" , "\x5a\xcb\xf5\x55" } , { "\xc9\xe8\xc3\xda" , "\x5a\xcb\xf5\x55\xe7" } , { "\xc9\xe8\xc3\xe5" , "\x5a\xcb\xf5\xe5\x55\xe7" } , { "\xc9\xe8\xc4" , "\x5a\xcb\xf5\x56" } , { "\xc9\xe8\xc4\xda" , "\x5a\xcb\xf5\x56\xe7" } , { "\xc9\xe8\xc6" , "\x5a\xc2\xf5" } , { "\xc9\xe8\xc6\xda" , "\x5a\xc2\xf5\xe7" } , { "\xc9\xe8\xc6\xdb" , "\xd7\x5a\xc2\xf5" } , { "\xc9\xe8\xc6\xdc" , "\x5a\xc2\xf5\xdd" } , { "\xc9\xe8\xc6\xdd" , "\x5a\xc2\xc7\xf5" } , { "\xc9\xe8\xc6\xe0" , "\xe6\x5a\xc2\xf5" } , { "\xc9\xe8\xc6\xe5" , "\xe6\x5a\xc2\xf5\xe7" } , { "\xc9\xe8\xc8" , "\x5a\xcb\xf5\x59" } , { "\xc9\xe8\xc8\xda" , "\x5a\xcb\xf5\x59\xe7" } , { "\xc9\xe8\xc8\xdc" , "\x5a\xcb\xf5\x59\xdd" } , { "\xc9\xe8\xc8\xe2" , "\x5a\xcb\xf5\xe9\x59" } , { "\xc9\xe8\xc8\xe8" , "\x5a\xcb\xf5\x59\xcb" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\x5a\xcb\xf5\xd7\x59\xd2" } , { "\xc9\xe8\xc9" , "\x5a\xcb\xf5\x5a\xf5" } , { "\xc9\xe8\xc9\xda" , "\x5a\xcb\xf5\x5a\xf5\xe7" } , { "\xc9\xe8\xc9\xdd" , "\x5a\xcb\xf5\x5a\xc7\xf5" } , { "\xc9\xe8\xc9\xe1" , "\x5a\xcb\xf5\xe5\x5a\xf5" } , { "\xc9\xe8\xc9\xe5" , "\x5a\xcb\xf5\xe5\x5a\xf5\xe7" } , { "\xc9\xe8\xca" , "\x5a\x9d\xf5" } , { "\xc9\xe8\xca\xda" , "\x5a\x9d\xf5\xe7" } , { "\xc9\xe8\xca\xdc" , "\x5a\x9d\xf5\xdd" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\x5a\xcb\xf5\xe6\x5b\xfd\xd0" } , { "\xc9\xe8\xcc" , "\x5a\xf5\xbd" } , { "\xc9\xe8\xcc\xda" , "\x5a\xf5\xbd\xe7" } , { "\xc9\xe8\xcc\xdc" , "\x5a\xf5\xbd\xdd" } , { "\xc9\xe8\xcc\xdd" , "\x5a\xf5\xbd\xc6" } , { "\xc9\xe8\xcc\xe1" , "\xe5\x5a\xf5\xbd" } , { "\xc9\xe8\xcd" , "\x5a\xcb\xf5\xcc\x5e" } , { "\xc9\xe8\xcd\xda" , "\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xc9\xe8\xcd\xda\xa2" , "\x5a\xcb\xf5\xcc\x5e\xe7\x65" } , { "\xc9\xe8\xcd\xdd" , "\x5a\xcb\xf5\xcc\x5e\xc7" } , { "\xc9\xe8\xcd\xde" , "\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xc9\xe8\xcd\xe5" , "\x5a\xcb\xf5\xe5\xcc\x5e\xe7" } , { "\xc9\xe8\xcf" , "\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xa2" , "\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xda" , "\x5a\xd0\xf5\xe7" } , { "\xc9\xe8\xcf\xda\xa1" , "\x5a\xd0\x67\xf5\xe7" } , { "\xc9\xe8\xcf\xda\xa2" , "\x5a\xd0\xf5\xe7\x65" } , { "\xc9\xe8\xcf\xdb" , "\xd7\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xdb\xa2" , "\xd7\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xdc" , "\x5a\xd0\xf5\xdd" } , { "\xc9\xe8\xcf\xdd" , "\x5a\xd0\xc7\xf5" } , { "\xc9\xe8\xcf\xde" , "\x5a\xd0\xc9\xf5" } , { "\xc9\xe8\xcf\xe0" , "\xe6\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xe0\xa2" , "\xe6\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xe1" , "\xe6\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xe6\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xe2" , "\xe8\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xe2\xa2" , "\xe8\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xe4" , "\xe6\x5a\xd0\xf5\xe7" } , { "\xc9\xe8\xcf\xe5" , "\xe6\x5a\xd0\xf5\xe7" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xe6\x5a\xd0\xf5\xe7\x65" } , { "\xc9\xe8\xcf\xe6" , "\xe6\x5a\xd0\xf5\xec" } , { "\xc9\xe8\xcf\xe7" , "\xe6\x5a\xd0\xf5\xe7" } , { "\xc9\xe8\xcf\xe8" , "\x5a\xd0\xcb\xf5" } , { "\xc9\xe8\xd1" , "\x6e\xf5" } , { "\xc9\xe8\xd1\xda" , "\x6e\xf5\xe7" } , { "\xc9\xe8\xd1\xda\xa2" , "\x6e\xf5\xe7\x65" } , { "\xc9\xe8\xd1\xdb" , "\xd7\x6e\xf5" } , { "\xc9\xe8\xd1\xdb\xa2" , "\xd7\x6e\xf5\x65" } , { "\xc9\xe8\xd1\xdc" , "\x6e\xf5\xdd" } , { "\xc9\xe8\xd1\xdd" , "\x6e\xc7\xf5" } , { "\xc9\xe8\xd1\xde" , "\x6e\xc9\xf5" } , { "\xc9\xe8\xd1\xe0" , "\xe6\x6e\xf5" } , { "\xc9\xe8\xd1\xe1" , "\xe6\x6e\xf5" } , { "\xc9\xe8\xd1\xe1\xa2" , "\xe6\x6e\xf5\x65" } , { "\xc9\xe8\xd1\xe2" , "\xe8\x6e\xf5" } , { "\xc9\xe8\xd1\xe2\xa2" , "\xe8\x6e\xf5\x65" } , { "\xc9\xe8\xd1\xe5" , "\xe6\x6e\xf5\xe7" } , { "\xc9\xe8\xd1\xe5\xa2" , "\xe6\x6e\xf5\xe7\x65" } , { "\xc9\xe8\xd1\xe6" , "\xe6\x6e\xf5\xec" } , { "\xc9\xe8\xd1\xe7" , "\xe6\x6e\xf5\xe7" } , { "\xc9\xe8\xd5\xda" , "\x5a\xcb\xf5\x60\xe7" } , { "\xc9\xe8\xd7" , "\x5a\xcb\xf5\x61" } , { "\xc9\xe8\xd7\xdb" , "\x5a\xcb\xf5\xd7\x61" } , { "\xc9\xe8\xd7\xdc" , "\x5a\xcb\xf5\x61\xdd" } , { "\xc9\xe8\xd7\xe0" , "\x5a\xcb\xf5\xe5\x61" } , { "\xc9\xe8\xd7\xe2" , "\x5a\xcb\xf5\xe9\x61" } , { "\xc9\xe8\xd7\xe8" , "\x5a\xcb\xf5\x61\xcb" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\x5a\xcb\xf5\xe6\xba\x4f\xf4" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\x5a\xcb\xf5\xe6\xba\x4f\xf4" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x5a\xcb\xf5\xd8\x6f\xf6\xc7" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\x5a\xcb\xf5\xd7\x26" } , { "\xc9\xe8\xd8" , "\x5a\xcb\xf5\x63\xf7" } , { "\xc9\xe8\xd8\xdd" , "\x5a\xcb\xf5\xa7" } , { "\xc9\xe8\xd8\xe5" , "\x5a\xcb\xf5\xe5\x63\xf7\xe7" } , { "\xc9\xe8\xd9\xc2" , "\x5a\xcb\xf5\x54\xf6" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x5a\xcb\xf5\xe3\xbb\x65" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x5a\xcb\xf5\xcc\x5e\xc7\xef" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x5a\xcb\xf5\xe3\x5f\xe7" } , { "\xc9\xe8\xd9\xd7" , "\x5a\xcb\xf5\x61" } , { "\xc9\xe8\xe8" , "\x5a\xcb\xf5" } , { "\xc9\xe8\xe9\xcf" , "\x5a\xd0\xf5" } , { "\xc9\xe9" , "\x5a\xf5" } , { "\xc9\xe9\xda" , "\x5a\xf5\xe7" } , { "\xc9\xe9\xdb" , "\xd7\x5a\xf5" } , { "\xc9\xe9\xdc" , "\x5a\xf5\xdd" } , { "\xc9\xe9\xdd" , "\x5a\xc7\xf5" } , { "\xc9\xe9\xe1" , "\xe5\x5a\xf5" } , { "\xc9\xe9\xe1\xa2" , "\xe5\x5a\xf5\x65" } , { "\xc9\xe9\xe2" , "\xe9\x5a\xf5" } , { "\xc9\xe9\xe5" , "\xe5\x5a\xf5\xe7" } , { "\xc9\xe9\xe5\xa2" , "\xe5\x5a\xf5\xe7\x65" } , { "\xc9\xe9\xe6" , "\xe5\x5a\xf5\xec" } , { "\xc9\xe9\xe7" , "\xe5\x5a\xf5\xe7" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x5a\xcb\xf5\xe5\x4c\xe7\x65" } , { "\xc9\xe9\xe8\xbd\xdb" , "\x5a\xcb\xf5\xd7\x24\x4f\xf4" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x5a\xcb\xf5\x24\x4f\xf4\xdd" } , { "\xc9\xe9\xe8\xc2" , "\x5a\xcb\xf5\x54\xf6" } , { "\xc9\xe9\xe8\xc2\xda" , "\x5a\xcb\xf5\x54\xf6\xe7" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x5a\xcb\xf5\x54\xf6\xdd" } , { "\xc9\xe9\xe8\xc2\xe1" , "\x5a\xcb\xf5\xe5\x54\xf6" } , { "\xc9\xe9\xe8\xcf\xdb" , "\xd7\x5a\xd0\xf5" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xe6\x5a\xd0\xf5\xe7" } , { "\xc9\xe9\xe8\xd1" , "\x6e\xf5" } , { "\xc9\xe9\xe8\xd1\xe5" , "\xe6\x6e\xf5\xe7" } , { "\xc9\xe9\xe9\xe8\xc2" , "\x5a\xf5\xcc\xcb\x54\xf6" } , { "\xca" , "\x5b\xfd" } , { "\xca\xa1" , "\x5b\xfd\x67" } , { "\xca\xa2" , "\x5b\xfd\x65" } , { "\xca\xa2\xa1" , "\x5b\xfd\x65\x67" } , { "\xca\xa3" , "\x5b\xfd\x66" } , { "\xca\xda" , "\x5b\xfd\xe7" } , { "\xca\xda\xa1" , "\x5b\xfd\x67\xe7" } , { "\xca\xda\xa2" , "\x5b\xfd\xe7\x65" } , { "\xca\xda\xa3" , "\x5b\xfd\xe7\x66" } , { "\xca\xdb" , "\xd7\x5b\xfd" } , { "\xca\xdb\xa2" , "\xd7\x5b\xfd\x65" } , { "\xca\xdc" , "\x5b\xfd\xdd" } , { "\xca\xdc\xa2" , "\x5b\xfd\xdd\x65" } , { "\xca\xdd" , "\x5b\xfd\xc7" } , { "\xca\xdd\xa1" , "\x5b\xfd\x67\xc7" } , { "\xca\xdd\xa2" , "\x5b\xfd\xc7\x65" } , { "\xca\xde" , "\x5b\xfd\xc9" } , { "\xca\xde\xa1" , "\x5b\xfd\x67\xc9" } , { "\xca\xde\xa2" , "\x5b\xfd\xc9\x65" } , { "\xca\xdf" , "\x5b\xfd\xca" } , { "\xca\xdf\xa2" , "\x5b\xfd\xca\x65" } , { "\xca\xe0" , "\xe5\x5b\xfd" } , { "\xca\xe0\xa1" , "\xe5\x5b\xfd\x67" } , { "\xca\xe0\xa2" , "\xe5\x5b\xfd\x65" } , { "\xca\xe1" , "\xe5\x5b\xfd" } , { "\xca\xe1\xa2" , "\xe5\x5b\xfd\x65" } , { "\xca\xe2" , "\xe9\x5b\xfd" } , { "\xca\xe2\xa2" , "\xe9\x5b\xfd\x65" } , { "\xca\xe4" , "\xe5\x5b\xfd\xe7" } , { "\xca\xe4\xa2" , "\xe5\x5b\xfd\xe7\x65" } , { "\xca\xe5" , "\xe5\x5b\xfd\xe7" } , { "\xca\xe5\xa2" , "\xe5\x5b\xfd\xe7\x65" } , { "\xca\xe6" , "\xe5\x5b\xfd\xec" } , { "\xca\xe6\xa2" , "\xe5\x5b\xfd\xec\x65" } , { "\xca\xe7" , "\xe5\x5b\xfd\xe7" } , { "\xca\xe8" , "\x5b\xfd\xcb" } , { "\xca\xe8\xb3" , "\x5b\xfd\xcb\x45\xf5" } , { "\xca\xe8\xb3\xda" , "\x5b\xfd\xcb\x45\xf5\xe7" } , { "\xca\xe8\xb3\xdb" , "\x5b\xfd\xcb\xd7\x45\xf5" } , { "\xca\xe8\xb3\xdd" , "\x5b\xfd\xcb\x45\xc7\xf5" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\x5b\xfd\xcb\xa8\xcc\x5e\xc9" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\x5b\xfd\xcb\xe6\x7a\xf5" } , { "\xca\xe8\xb4\xda" , "\x5b\xfd\xcb\x46\xe7" } , { "\xca\xe8\xb5\xda" , "\x5b\xfd\xcb\x47\xe7" } , { "\xca\xe8\xb5\xdd\xa2" , "\x5b\xfd\xcb\x6d\x65" } , { "\xca\xe8\xb6" , "\x5b\xfd\xcb\x48" } , { "\xca\xe8\xb6\xdb" , "\x5b\xfd\xcb\xd7\x48" } , { "\xca\xe8\xba" , "\x8b" } , { "\xca\xe8\xba\xa2" , "\x8b\x65" } , { "\xca\xe8\xba\xda" , "\x8b\xe7" } , { "\xca\xe8\xba\xda\xa2" , "\x8b\xe7\x65" } , { "\xca\xe8\xba\xdb" , "\xd7\x8b" } , { "\xca\xe8\xba\xdc" , "\x8b\xdd" } , { "\xca\xe8\xba\xdd" , "\x8b\xc7" } , { "\xca\xe8\xba\xe0" , "\xe5\x8b" } , { "\xca\xe8\xba\xe1" , "\xe5\x8b" } , { "\xca\xe8\xba\xe1\xa2" , "\xe5\x8b\x65" } , { "\xca\xe8\xba\xe2" , "\xe9\x8b" } , { "\xca\xe8\xba\xe5" , "\xe5\x8b\xe7" } , { "\xca\xe8\xba\xe5\xa2" , "\xe5\x8b\xe7\x65" } , { "\xca\xe8\xba\xe9" , "\x8b" } , { "\xca\xe8\xba\xe9\xda" , "\x8b\xe7" } , { "\xca\xe8\xba\xe9\xdc" , "\x8b\xdd" } , { "\xca\xe8\xba\xe9\xe1" , "\xe5\x8b" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\xe5\x8b\x65" } , { "\xca\xe8\xbd" , "\x5b\xfd\xcb\x24\x4f\xf4" } , { "\xca\xe8\xbd\xdb" , "\x5b\xfd\xcb\xd7\x24\x4f\xf4" } , { "\xca\xe8\xbd\xe0" , "\x5b\xfd\xcb\xe6\x24\x4f\xf4" } , { "\xca\xe8\xbd\xe2" , "\x5b\xfd\xcb\xe8\x24\x4f\xf4" } , { "\xca\xe8\xbd\xe5" , "\x5b\xfd\xcb\xe6\x24\x4f\xf4\xe7" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\x5b\xfd\xcb\xd7\x76\xf4" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\x5b\xfd\xcb\xae\xcf\xf4\xe7" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\x5b\xfd\xcb\xd7\xae\x61" } , { "\xca\xe8\xbf" , "\x5b\xfd\xcb\x51\xf6" } , { "\xca\xe8\xbf\xda" , "\x5b\xfd\xcb\x51\xf6\xe7" } , { "\xca\xe8\xbf\xdb" , "\x5b\xfd\xcb\xd7\x51\xf6" } , { "\xca\xe8\xbf\xdb\xa2" , "\x5b\xfd\xcb\xd7\x51\xf6\x65" } , { "\xca\xe8\xbf\xe0" , "\x5b\xfd\xcb\xe5\x51\xf6" } , { "\xca\xe8\xbf\xe1" , "\x5b\xfd\xcb\xe5\x51\xf6" } , { "\xca\xe8\xbf\xe5" , "\x5b\xfd\xcb\xe5\x51\xf6\xe7" } , { "\xca\xe8\xbf\xe8" , "\x5b\xfd\xcb\x51\xcb\xf6" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\x5b\xfd\xcb\xaf\xcc\x5e\xc7" } , { "\xca\xe8\xc2" , "\x5b\xfd\xcb\x54\xf6" } , { "\xca\xe8\xc2\xa2" , "\x5b\xfd\xcb\x54\xf6\x65" } , { "\xca\xe8\xc2\xda" , "\x5b\xfd\xcb\x54\xf6\xe7" } , { "\xca\xe8\xc2\xdb" , "\x5b\xfd\xcb\xd7\x54\xf6" } , { "\xca\xe8\xc2\xdc" , "\x5b\xfd\xcb\x54\xf6\xdd" } , { "\xca\xe8\xc2\xdd" , "\x5b\xfd\xcb\x54\xc7\xf6" } , { "\xca\xe8\xc2\xdd\xa2" , "\x5b\xfd\xcb\x54\xc7\xf6\x65" } , { "\xca\xe8\xc2\xe1" , "\x5b\xfd\xcb\xe5\x54\xf6" } , { "\xca\xe8\xc2\xe5" , "\x5b\xfd\xcb\xe5\x54\xf6\xe7" } , { "\xca\xe8\xc2\xe8\xc2" , "\x5b\xfd\xcb\x77\xf8" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\x5b\xfd\xcb\xd7\x77\xf8" } , { "\xca\xe8\xc3\xda" , "\x5b\xfd\xcb\x55\xe7" } , { "\xca\xe8\xc3\xdb" , "\x5b\xfd\xcb\xd7\x55" } , { "\xca\xe8\xc4" , "\x8c" } , { "\xca\xe8\xc4\xa2" , "\x8c\x65" } , { "\xca\xe8\xc4\xa3" , "\x8c\x66" } , { "\xca\xe8\xc4\xda" , "\x8c\xe7" } , { "\xca\xe8\xc4\xda\xa2" , "\x8c\xe7\x65" } , { "\xca\xe8\xc4\xda\xa3" , "\x8c\xe7\x66" } , { "\xca\xe8\xc4\xdb" , "\xd7\x8c" } , { "\xca\xe8\xc4\xdb\xa2" , "\xd7\x8c\x65" } , { "\xca\xe8\xc4\xdc" , "\x8c\xdd" } , { "\xca\xe8\xc4\xdc\xa2" , "\x8c\xdd\x65" } , { "\xca\xe8\xc4\xdd" , "\x8c\xc7" } , { "\xca\xe8\xc4\xe1" , "\xe5\x8c" } , { "\xca\xe8\xc4\xe2" , "\xe9\x8c" } , { "\xca\xe8\xc4\xe5" , "\xe5\x8c\xe7" } , { "\xca\xe8\xc4\xe5\xa2" , "\xe5\x8c\xe7\x65" } , { "\xca\xe8\xc4\xe8" , "\x8c\xcb" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\x5b\xfd\xcb\xb2\xcc\x5e\xe7" } , { "\xca\xe8\xc5" , "\x8d\xf9" } , { "\xca\xe8\xc5\xa2" , "\x8d\xf9\x65" } , { "\xca\xe8\xc5\xa3" , "\x8d\xf9\x66" } , { "\xca\xe8\xc5\xda" , "\x8d\xf9\xe7" } , { "\xca\xe8\xc5\xda\xa3" , "\x8d\xf9\xe7\x66" } , { "\xca\xe8\xc5\xdb" , "\xd7\x8d\xf9" } , { "\xca\xe8\xc5\xdd" , "\x8d\xc7\xf9" } , { "\xca\xe8\xc5\xe5" , "\xe5\x8d\xf9\xe7" } , { "\xca\xe8\xc6" , "\x5b\xfd\xc2" } , { "\xca\xe8\xc6\xda" , "\x5b\xfd\xc2\xe7" } , { "\xca\xe8\xc6\xdb" , "\xd7\x5b\xfd\xc2" } , { "\xca\xe8\xc6\xdb\xa2" , "\xd7\x5b\xfd\xc2\x65" } , { "\xca\xe8\xc6\xdc" , "\x5b\xfd\xc2\xdd" } , { "\xca\xe8\xc6\xdd" , "\x5b\xfd\xc2\xc7" } , { "\xca\xe8\xc8" , "\x5b\xfd\xcb\x59" } , { "\xca\xe8\xc8\xdb" , "\x5b\xfd\xcb\xd7\x59" } , { "\xca\xe8\xc8\xe5" , "\x5b\xfd\xcb\xe5\x59\xe7" } , { "\xca\xe8\xc9\xe2" , "\x5b\xfd\xcb\xe9\x5a\xf5" } , { "\xca\xe8\xca" , "\x5b\x5b\xfd" } , { "\xca\xe8\xca\xa2" , "\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xda" , "\x5b\x5b\xfd\xe7" } , { "\xca\xe8\xca\xdb" , "\xd7\x5b\x5b\xfd" } , { "\xca\xe8\xca\xdb\xa2" , "\xd7\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xdc" , "\x5b\x5b\xfd\xdd" } , { "\xca\xe8\xca\xdd" , "\x5b\x5b\xfd\xc7" } , { "\xca\xe8\xca\xdd\xa2" , "\x5b\x5b\xfd\xc7\x65" } , { "\xca\xe8\xca\xde" , "\x5b\x5b\xfd\xc9" } , { "\xca\xe8\xca\xe0" , "\xe5\x5b\x5b\xfd" } , { "\xca\xe8\xca\xe0\xa2" , "\xe5\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xe1" , "\xe5\x5b\x5b\xfd" } , { "\xca\xe8\xca\xe1\xa2" , "\xe5\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xe2" , "\xe9\x5b\x5b\xfd" } , { "\xca\xe8\xca\xe4" , "\xe5\x5b\x5b\xfd\xe7" } , { "\xca\xe8\xca\xe5" , "\xe5\x5b\x5b\xfd\xe7" } , { "\xca\xe8\xca\xe5\xa2" , "\xe5\x5b\x5b\xfd\xe7\x65" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\x5b\xfd\xcb\xd7\x8c" } , { "\xca\xe8\xca\xe8\xd8" , "\x5b\xfd\xcb\x5b\xfd\xcb\x63\xf7" } , { "\xca\xe8\xcb" , "\x5b\xfd\xcb\x5c\xf6" } , { "\xca\xe8\xcb\xa2" , "\x5b\xfd\xcb\x5c\xf6\x65" } , { "\xca\xe8\xcb\xda" , "\x5b\xfd\xcb\x5c\xf6\xe7" } , { "\xca\xe8\xcb\xdb" , "\x5b\xfd\xcb\xd7\x5c\xf6" } , { "\xca\xe8\xcb\xdc" , "\x5b\xfd\xcb\x5c\xf6\xdd" } , { "\xca\xe8\xcb\xdd" , "\x5b\xfd\xcb\x5c\xc7\xf6" } , { "\xca\xe8\xcb\xe2" , "\x5b\xfd\xcb\xe9\x5c\xf6" } , { "\xca\xe8\xcc" , "\x5b\xfd\xbd" } , { "\xca\xe8\xcc\xda" , "\x5b\xfd\xbd\xe7" } , { "\xca\xe8\xcc\xdb" , "\xd7\x5b\xfd\xbd" } , { "\xca\xe8\xcc\xe0" , "\xe5\x5b\xfd\xbd" } , { "\xca\xe8\xcc\xe1" , "\xe5\x5b\xfd\xbd" } , { "\xca\xe8\xcd" , "\x5b\xfd\xcb\xcc\x5e" } , { "\xca\xe8\xcd\xa2" , "\x5b\xfd\xcb\xcc\x5e\x65" } , { "\xca\xe8\xcd\xda" , "\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xca\xe8\xcd\xda\xa2" , "\x5b\xfd\xcb\xcc\x5e\xe7\x65" } , { "\xca\xe8\xcd\xdc" , "\x5b\xfd\xcb\xcc\x5e\xdd" } , { "\xca\xe8\xcd\xdd" , "\x5b\xfd\xcb\xcc\x5e\xc7" } , { "\xca\xe8\xcd\xde" , "\x5b\xfd\xcb\xcc\x5e\xc9" } , { "\xca\xe8\xcd\xe5" , "\x5b\xfd\xcb\xe5\xcc\x5e\xe7" } , { "\xca\xe8\xcd\xe5\xa2" , "\x5b\xfd\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xca\xe8\xcd\xe6" , "\x5b\xfd\xcb\xe5\xcc\x5e\xec" } , { "\xca\xe8\xcd\xe6\xa2" , "\x5b\xfd\xcb\xe5\xcc\x5e\xec\x65" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\x5b\xfd\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xca\xe8\xcf" , "\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xa2" , "\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xda" , "\x5b\xfd\xd0\xe7" } , { "\xca\xe8\xcf\xda\xa1" , "\x5b\xfd\xd0\x67\xe7" } , { "\xca\xe8\xcf\xda\xa2" , "\x5b\xfd\xd0\xe7\x65" } , { "\xca\xe8\xcf\xdb" , "\xd7\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xdb\xa2" , "\xd7\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xdc" , "\x5b\xfd\xd0\xdd" } , { "\xca\xe8\xcf\xdd" , "\x5b\xfd\xd0\xd3" } , { "\xca\xe8\xcf\xde" , "\x5b\xfd\xd0\xd6" } , { "\xca\xe8\xcf\xe0" , "\xe6\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xe1" , "\xe6\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xe1\xa2" , "\xe6\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xe2" , "\xe8\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xe2\xa2" , "\xe8\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xe4" , "\xe6\x5b\xfd\xd0\xe7" } , { "\xca\xe8\xcf\xe5" , "\xe6\x5b\xfd\xd0\xe7" } , { "\xca\xe8\xcf\xe5\xa2" , "\xe6\x5b\xfd\xd0\xe7\x65" } , { "\xca\xe8\xcf\xe6" , "\xe6\x5b\xfd\xd0\xec" } , { "\xca\xe8\xcf\xe7" , "\xe6\x5b\xfd\xd0\xe7" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\x5b\xfd\xcb\xbb\xcb\x24\x4f\xcb\xf4" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\x5b\xfd\xcb\xbb\xcb\x51\xcb\xf6" } , { "\xca\xe8\xd1" , "\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xa2" , "\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xda" , "\x5b\xfd\xc0\xe7" } , { "\xca\xe8\xd1\xda\xa2" , "\x5b\xfd\xc0\xe7\x65" } , { "\xca\xe8\xd1\xdb" , "\xd7\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xdb\xa2" , "\xd7\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xdc" , "\x5b\xfd\xc0\xdd" } , { "\xca\xe8\xd1\xdd" , "\x5b\xfd\xc0\xc7" } , { "\xca\xe8\xd1\xde" , "\x5b\xfd\xc0\xc9" } , { "\xca\xe8\xd1\xe0" , "\xe6\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xe0\xa2" , "\xe6\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xe1" , "\xe6\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xe1\xa2" , "\xe6\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xe2" , "\xe8\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xe2\xa2" , "\xe8\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xe5" , "\xe6\x5b\xfd\xc0\xe7" } , { "\xca\xe8\xd1\xe6" , "\xe6\x5b\xfd\xc0\xec" } , { "\xca\xe8\xd1\xe7" , "\xe6\x5b\xfd\xc0\xe7" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\x5b\xfd\xcb\xd7\x92\xf5" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\x5b\xfd\xcb\xd7\xb7\xcc\x5e" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\x5b\xfd\xcb\xb7\xcc\x5e\xc7" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\x5b\xfd\xcb\xb7\xcc\x5e\xc9" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\x5b\xfd\xcb\xb7\xbe\xc7" } , { "\xca\xe8\xd4\xa2" , "\x5b\xfd\xcb\xbe\x65" } , { "\xca\xe8\xd4\xda" , "\x5b\xfd\xcb\xbe\xe7" } , { "\xca\xe8\xd4\xdb" , "\x5b\xfd\xcb\xd7\xbe" } , { "\xca\xe8\xd4\xe0" , "\x5b\xfd\xcb\xe5\xbe" } , { "\xca\xe8\xd4\xe1" , "\x5b\xfd\xcb\xe5\xbe" } , { "\xca\xe8\xd4\xe7" , "\x5b\xfd\xcb\xe5\xbe\xe7" } , { "\xca\xe8\xd5\xda" , "\x5b\xfd\xcb\x60\xe7" } , { "\xca\xe8\xd5\xdb" , "\x5b\xfd\xcb\xd7\x60" } , { "\xca\xe8\xd5\xdc" , "\x5b\xfd\xcb\x60\xdd" } , { "\xca\xe8\xd6\xda" , "\x5b\xfd\xcb\x62\xe7" } , { "\xca\xe8\xd6\xdb" , "\x5b\xfd\xcb\xd7\x62" } , { "\xca\xe8\xd6\xdc" , "\x5b\xfd\xcb\x62\xdd" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\x5b\xfd\xcb\x72\xd1\xf4" } , { "\xca\xe8\xd7" , "\x5b\xfd\xcb\x61" } , { "\xca\xe8\xd7\xda" , "\x5b\xfd\xcb\x61\xe7" } , { "\xca\xe8\xd7\xdb" , "\x5b\xfd\xcb\xd7\x61" } , { "\xca\xe8\xd7\xdc" , "\x5b\xfd\xcb\x61\xdd" } , { "\xca\xe8\xd7\xdd" , "\x5b\xfd\xcb\x61\xc7" } , { "\xca\xe8\xd7\xe0" , "\x5b\xfd\xcb\xe5\x61" } , { "\xca\xe8\xd7\xe0\xa2" , "\x5b\xfd\xcb\xe5\x61\x65" } , { "\xca\xe8\xd7\xe1" , "\x5b\xfd\xcb\xe5\x61" } , { "\xca\xe8\xd7\xe2" , "\x5b\xfd\xcb\xe9\x61" } , { "\xca\xe8\xd7\xe5" , "\x5b\xfd\xcb\xe5\x61\xe7" } , { "\xca\xe8\xd7\xe6" , "\x5b\xfd\xcb\xe5\x61\xec" } , { "\xca\xe8\xd7\xe8" , "\x5b\xfd\xcb\x61\xcb" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\x5b\xfd\xcb\x95\xc7\xf5" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\x5b\xfd\xcb\xe9\x95\xf5" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x5b\xfd\xcb\xd7\x95\x98\xf5" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\x5b\xfd\xcb\xe9\x95\x98\xf5" } , { "\xca\xe8\xd7\xe8\xbd" , "\x5b\xfd\xcb\xba\x4f\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\x5b\xfd\xcb\xba\x4f\xf4\xe7" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\x5b\xfd\xcb\xba\x4f\xf4\xe7\x65" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\x5b\xfd\xcb\xd7\xba\x4f\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\x5b\xfd\xcb\xe6\xba\x4f\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\x5b\xfd\xcb\xba\xae\xcf\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x5b\xfd\xcb\xba\xae\xcf\xf4\xe7" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x5b\xfd\xcb\xe8\xba\xae\xcf\xf4" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\x5b\xfd\xcb\xd8\x6f\xf6\xc7" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\x5b\xfd\xcb\xd8\xda\xf6\xc7" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\x5b\xfd\xcb\xe6\xd8\xda\xf6\xe7" } , { "\xca\xe8\xd7\xe8\xd4" , "\x5b\xfd\xcb\xba\xbe" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\x5b\xfd\xcb\xba\xbe\x65" } , { "\xca\xe8\xd8" , "\x5b\xfd\xcb\x63\xf7" } , { "\xca\xe8\xd8\xda" , "\x5b\xfd\xcb\x63\xf7\xe7" } , { "\xca\xe8\xd8\xe6" , "\x5b\xfd\xcb\xe5\x63\xf7\xec" } , { "\xca\xe8\xd8\xe8" , "\x5b\xfd\xcb\x63\xcb\xf7" } , { "\xca\xe8\xe8" , "\x5b\xfd\xcb" } , { "\xca\xe8\xe9\xcf" , "\x5b\xfd\xd0" } , { "\xca\xe9" , "\x5b\xfd" } , { "\xcb" , "\x5c\xf6" } , { "\xcb\xa1" , "\x5c\x67\xf6" } , { "\xcb\xa2" , "\x5c\xf6\x65" } , { "\xcb\xa3" , "\x5c\xf6\x66" } , { "\xcb\xd0" , "\x5c\xf6\xbb" } , { "\xcb\xd0\xdc" , "\x5c\xf6\xbb\xdd" } , { "\xcb\xda" , "\x5c\xf6\xe7" } , { "\xcb\xda\xa1" , "\x5c\x67\xf6\xe7" } , { "\xcb\xda\xa2" , "\x5c\xf6\xe7\x65" } , { "\xcb\xda\xd0" , "\x5c\xf6\xe7\xbb" } , { "\xcb\xdb" , "\xd7\x5c\xf6" } , { "\xcb\xdb\xa2" , "\xd7\x5c\xf6\x65" } , { "\xcb\xdb\xa3" , "\xd7\x5c\xf6\x66" } , { "\xcb\xdb\xd4\xdf" , "\xd7\x5c\xf6\xbe\xca" } , { "\xcb\xdc" , "\x5c\xf6\xdd" } , { "\xcb\xdc\xa1" , "\x5c\xf6\xdf" } , { "\xcb\xdc\xa2" , "\x5c\xf6\xdd\x65" } , { "\xcb\xdd" , "\x5c\xc7\xf6" } , { "\xcb\xdd\xa2" , "\x5c\xc7\xf6\x65" } , { "\xcb\xde" , "\x5c\xc9\xf6" } , { "\xcb\xde\xa1" , "\x5c\x67\xc9\xf6" } , { "\xcb\xde\xa2" , "\x5c\xc9\xf6\x65" } , { "\xcb\xdf" , "\x5c\xca\xf6" } , { "\xcb\xdf\xa2" , "\x5c\xca\xf6\x65" } , { "\xcb\xe0" , "\xe5\x5c\xf6" } , { "\xcb\xe1" , "\xe5\x5c\xf6" } , { "\xcb\xe1\xa2" , "\xe5\x5c\xf6\x65" } , { "\xcb\xe2" , "\xe9\x5c\xf6" } , { "\xcb\xe2\xa2" , "\xe9\x5c\xf6\x65" } , { "\xcb\xe4" , "\xe5\x5c\xf6\xe7" } , { "\xcb\xe5" , "\xe5\x5c\xf6\xe7" } , { "\xcb\xe5\xa2" , "\xe5\x5c\xf6\xe7\x65" } , { "\xcb\xe6" , "\xe5\x5c\xf6\xec" } , { "\xcb\xe6\xa2" , "\xe5\x5c\xf6\xec\x65" } , { "\xcb\xe7" , "\xe5\x5c\xf6\xe7" } , { "\xcb\xe7\xa2" , "\xe5\x5c\xf6\xe7\x65" } , { "\xcb\xe8" , "\x5c\xcb\xf6" } , { "\xcb\xe8\xb3\xdd" , "\x5c\xcb\xf6\x45\xc7\xf5" } , { "\xcb\xe8\xbd\xdd" , "\x5c\xcb\xf6\x24\x4f\xc7\xf4" } , { "\xcb\xe8\xbf" , "\x5c\xcb\xf6\x51\xf6" } , { "\xcb\xe8\xc2" , "\x5c\xcb\xf6\x54\xf6" } , { "\xcb\xe8\xc2\xdb" , "\x5c\xcb\xf6\xd7\x54\xf6" } , { "\xcb\xe8\xc4" , "\x5c\xcb\xf6\x56" } , { "\xcb\xe8\xc4\xa2" , "\x5c\xcb\xf6\x56\x65" } , { "\xcb\xe8\xc4\xda" , "\x5c\xcb\xf6\x56\xe7" } , { "\xcb\xe8\xc4\xdb" , "\x5c\xcb\xf6\xd7\x56" } , { "\xcb\xe8\xc5" , "\x5c\xcb\xf6\x57\xfd" } , { "\xcb\xe8\xc5\xdb" , "\x5c\xcb\xf6\xd7\x57\xfd" } , { "\xcb\xe8\xc6\xdb" , "\xd7\xed\xf3\xf6" } , { "\xcb\xe8\xc6\xe8\xc6" , "\x5c\xcb\xf6\x7e" } , { "\xcb\xe8\xca\xda" , "\xed\xbc\xf6\xe7" } , { "\xcb\xe8\xca\xdb" , "\xd7\xed\xbc\xf6" } , { "\xcb\xe8\xca\xe2" , "\xe9\xed\xbc\xf6" } , { "\xcb\xe8\xcb" , "\x5c\xcb\xf6\x5c\xf6" } , { "\xcb\xe8\xcb\xda" , "\x5c\xcb\xf6\x5c\xf6\xe7" } , { "\xcb\xe8\xcb\xdc" , "\x5c\xcb\xf6\x5c\xf6\xdd" } , { "\xcb\xe8\xcb\xe2" , "\x5c\xcb\xf6\xe9\x5c\xf6" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\x5c\xcb\xf6\x7d\xe7" } , { "\xcb\xe8\xcc" , "\xed\xc1" } , { "\xcb\xe8\xcd" , "\x5c\xcb\xf6\xcc\x5e" } , { "\xcb\xe8\xcd\xa2" , "\x5c\xcb\xf6\xcc\x5e\x65" } , { "\xcb\xe8\xcd\xa3" , "\x5c\xcb\xf6\xcc\x5e\x66" } , { "\xcb\xe8\xcd\xda" , "\x5c\xcb\xf6\xcc\x5e\xe7" } , { "\xcb\xe8\xcd\xda\xa2" , "\x5c\xcb\xf6\xcc\x5e\xe7\x65" } , { "\xcb\xe8\xcd\xdd" , "\x5c\xcb\xf6\xcc\x5e\xc7" } , { "\xcb\xe8\xcd\xde" , "\x5c\xcb\xf6\xcc\x5e\xc9" } , { "\xcb\xe8\xcd\xe1" , "\x5c\xcb\xf6\xe5\xcc\x5e" } , { "\xcb\xe8\xcd\xe2" , "\x5c\xcb\xf6\xe9\xcc\x5e" } , { "\xcb\xe8\xcd\xe4" , "\x5c\xcb\xf6\xe5\xcc\x5e\xe7" } , { "\xcb\xe8\xcd\xe5" , "\x5c\xcb\xf6\xe5\xcc\x5e\xe7" } , { "\xcb\xe8\xcf" , "\x7d" } , { "\xcb\xe8\xcf\xa2" , "\x7d\x65" } , { "\xcb\xe8\xcf\xda" , "\x7d\xe7" } , { "\xcb\xe8\xcf\xda\xa2" , "\x7d\xe7\x65" } , { "\xcb\xe8\xcf\xdb" , "\xd7\x7d" } , { "\xcb\xe8\xcf\xdc" , "\x7d\xdd" } , { "\xcb\xe8\xcf\xdd" , "\x7d\xd3" } , { "\xcb\xe8\xcf\xde" , "\x7d\xd6" } , { "\xcb\xe8\xcf\xdf" , "\x7d\xca" } , { "\xcb\xe8\xcf\xe5" , "\xe6\x7d\xe7" } , { "\xcb\xe8\xd1\xe2" , "\xe8\xed\xf2\xf6" } , { "\xcb\xe8\xd1\xe5" , "\xe6\xed\xf2\xf6\xe7" } , { "\xcb\xe8\xd4" , "\x5c\xcb\xf6\xbe" } , { "\xcb\xe8\xd4\xe8\xcd" , "\x5c\xcb\xf6\xbe\xcb\xcc\x5e" } , { "\xcb\xe8\xe8" , "\x5c\xcb\xf6" } , { "\xcb\xe8\xe9\xcf" , "\x7d" } , { "\xcb\xe9" , "\x5c\xf6" } , { "\xcc" , "\x5d" } , { "\xcc\xa1" , "\x5d\x67" } , { "\xcc\xa2" , "\x5d\x65" } , { "\xcc\xa3" , "\x5d\x66" } , { "\xcc\xda" , "\x5d\xe7" } , { "\xcc\xda\xa1" , "\x5d\x67\xe7" } , { "\xcc\xda\xa2" , "\x5d\xe7\x65" } , { "\xcc\xda\xa3" , "\x5d\xe7\x66" } , { "\xcc\xdb" , "\xd7\x5d" } , { "\xcc\xdb\xa2" , "\xd7\x5d\x65" } , { "\xcc\xdb\xa2\xa2" , "\xd7\x5d\x65\x65" } , { "\xcc\xdb\xd0\xe8" , "\xd7\x5d\xbb\xcb" } , { "\xcc\xdc" , "\x5d\xdd" } , { "\xcc\xdc\xa1" , "\x5d\xdf" } , { "\xcc\xdc\xa2" , "\x5d\xdd\x65" } , { "\xcc\xdd" , "\x5d\xc7" } , { "\xcc\xdd\xa1" , "\x5d\x67\xc7" } , { "\xcc\xdd\xa2" , "\x5d\xc7\x65" } , { "\xcc\xdd\xa2\xa2" , "\x5d\xc7\x65\x65" } , { "\xcc\xde" , "\x5d\xc9" } , { "\xcc\xde\xa1" , "\x5d\x67\xc9" } , { "\xcc\xde\xa2" , "\x5d\xc9\x65" } , { "\xcc\xdf" , "\x5d\xca" } , { "\xcc\xdf\xa2" , "\x5d\xca\x65" } , { "\xcc\xe0" , "\xe5\x5d" } , { "\xcc\xe0\xa2" , "\xe5\x5d\x65" } , { "\xcc\xe1" , "\xe5\x5d" } , { "\xcc\xe1\xa1" , "\xe5\x5d\x67" } , { "\xcc\xe1\xa2" , "\xe5\x5d\x65" } , { "\xcc\xe1\xa2\xa2" , "\xe5\x5d\x65\x65" } , { "\xcc\xe2" , "\xe9\x5d" } , { "\xcc\xe2\xa1" , "\xe9\x5d\x67" } , { "\xcc\xe2\xa2" , "\xe9\x5d\x65" } , { "\xcc\xe4" , "\xe5\x5d\xe7" } , { "\xcc\xe4\xa2" , "\xe5\x5d\xe7\x65" } , { "\xcc\xe4\xd0\xb1" , "\xe5\x5d\xe7\xbb\x44" } , { "\xcc\xe5" , "\xe5\x5d\xe7" } , { "\xcc\xe5\xa2" , "\xe5\x5d\xe7\x65" } , { "\xcc\xe6" , "\xe5\x5d\xec" } , { "\xcc\xe6\xa2" , "\xe5\x5d\xec\x65" } , { "\xcc\xe6\xa3" , "\xe5\x5d\xec\x66" } , { "\xcc\xe7" , "\xe5\x5d\xe7" } , { "\xcc\xe8" , "\x5d\xcb" } , { "\xcc\xe8\xb3\xa2" , "\x5d\xcb\x45\xf5\x65" } , { "\xcc\xe8\xb3\xda" , "\x5d\xcb\x45\xf5\xe7" } , { "\xcc\xe8\xb3\xdb" , "\x5d\xcb\xd7\x45\xf5" } , { "\xcc\xe8\xb3\xdc" , "\x5d\xcb\x45\xf5\xdd" } , { "\xcc\xe8\xb3\xdd" , "\x5d\xcb\x45\xc7\xf5" } , { "\xcc\xe8\xb3\xde" , "\x5d\xcb\x45\xc9\xf5" } , { "\xcc\xe8\xb3\xdf" , "\x5d\xcb\x45\xca\xf5" } , { "\xcc\xe8\xb3\xe1" , "\x5d\xcb\xe5\x45\xf5" } , { "\xcc\xe8\xb3\xe4" , "\x5d\xcb\xe5\x45\xf5\xe7" } , { "\xcc\xe8\xb3\xe5" , "\x5d\xcb\xe5\x45\xf5\xe7" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\x5d\xcb\xa8\xcc\x5e\xe7" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\x5d\xcb\xd7\x79\xd4\x65" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\x5d\xcb\x79\xc9\xd4" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\x5d\xcb\xe6\x7a\xf5\xe7" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\x5d\xcb\x6a\xdd" } , { "\xcc\xe8\xb4\xda" , "\x5d\xcb\x46\xe7" } , { "\xcc\xe8\xb4\xe8" , "\x5d\xcb\x46\xcb" } , { "\xcc\xe8\xb5" , "\x5d\xcb\x47" } , { "\xcc\xe8\xb5\xa2" , "\x5d\xcb\x47\x65" } , { "\xcc\xe8\xb5\xda" , "\x5d\xcb\x47\xe7" } , { "\xcc\xe8\xb5\xdd" , "\x5d\xcb\x6d" } , { "\xcc\xe8\xb8" , "\x5d\xcb\x24\x4a\xf4" } , { "\xcc\xe8\xb8\xa2" , "\x5d\xcb\x24\x4a\xf4\x65" } , { "\xcc\xe8\xb8\xda" , "\x5d\xcb\x24\x4a\xf4\xe7" } , { "\xcc\xe8\xb8\xdc" , "\x5d\xcb\x24\x4a\xf4\xdd" } , { "\xcc\xe8\xb8\xdd" , "\x5d\xcb\x24\x4a\xc7\xf4" } , { "\xcc\xe8\xb8\xe0\xa2" , "\x5d\xcb\xe6\x24\x4a\xf4\x65" } , { "\xcc\xe8\xb8\xe1" , "\x5d\xcb\xe6\x24\x4a\xf4" } , { "\xcc\xe8\xb8\xe8\xc8" , "\x5d\xcb\xac\x59" } , { "\xcc\xe8\xba" , "\x5d\xcb\x4c" } , { "\xcc\xe8\xba\xda" , "\x5d\xcb\x4c\xe7" } , { "\xcc\xe8\xba\xdb" , "\x5d\xcb\xd7\x4c" } , { "\xcc\xe8\xba\xe0" , "\x5d\xcb\xe5\x4c" } , { "\xcc\xe8\xba\xe8" , "\x5d\xcb\x4c\xcb" } , { "\xcc\xe8\xba\xe9" , "\x5d\xcb\x4c" } , { "\xcc\xe8\xbd" , "\x5d\xcb\x24\x4f\xf4" } , { "\xcc\xe8\xbd\xda" , "\x5d\xcb\x24\x4f\xf4\xe7" } , { "\xcc\xe8\xbd\xdc" , "\x5d\xcb\x24\x4f\xf4\xdd" } , { "\xcc\xe8\xbd\xe0" , "\x5d\xcb\xe6\x24\x4f\xf4" } , { "\xcc\xe8\xbd\xe1" , "\x5d\xcb\xe6\x24\x4f\xf4" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\x5d\xcb\xae\xcc\x5e\xc9" } , { "\xcc\xe8\xbf" , "\x5d\xcb\x51\xf6" } , { "\xcc\xe8\xbf\xda" , "\x5d\xcb\x51\xf6\xe7" } , { "\xcc\xe8\xbf\xdb" , "\x5d\xcb\xd7\x51\xf6" } , { "\xcc\xe8\xbf\xe8" , "\x5d\xcb\x51\xcb\xf6" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\x5d\xcb\xd7\x51\xce\xf6" } , { "\xcc\xe8\xc1" , "\x5d\xcb\x53" } , { "\xcc\xe8\xc1\xe5\xa2" , "\x5d\xcb\xe5\x53\xe7\x65" } , { "\xcc\xe8\xc1\xe8\xcc" , "\x5d\xcb\x53\xbd" } , { "\xcc\xe8\xc1\xe8\xd7" , "\x5d\xcb\xb0\x61" } , { "\xcc\xe8\xc2" , "\xb6\x99\xf6" } , { "\xcc\xe8\xc2\xda" , "\xb6\x99\xf6\xe7" } , { "\xcc\xe8\xc2\xda\xa2" , "\xb6\x99\xf6\xe7\x65" } , { "\xcc\xe8\xc2\xdb" , "\xd7\xb6\x99\xf6" } , { "\xcc\xe8\xc2\xe5" , "\xe6\xb6\x99\xf6\xe7" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\x5d\xcb\xd7\x77\xf8" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\x5d\xcb\x78\xc7" } , { "\xcc\xe8\xc2\xe8\xcd" , "\x5d\xcb\xb1\xcc\x5e" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\x5d\xcb\xb1\xcc\x5e\xc7" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\x5d\xcb\xb1\xcc\x5e\xc7\x65" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\x5d\xcb\xb1\xcc\x5e\xc9" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\x5d\xcb\xb1\xcc\x5e\xcb" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\x5d\xcb\x64\xbb\xcb\xcc\x5e" } , { "\xcc\xe8\xc3" , "\xb6\x9a\xf6" } , { "\xcc\xe8\xc4" , "\x5d\xcb\x56" } , { "\xcc\xe8\xc4\xda" , "\x5d\xcb\x56\xe7" } , { "\xcc\xe8\xc4\xdb" , "\x5d\xcb\xd7\x56" } , { "\xcc\xe8\xc4\xdc" , "\x5d\xcb\x56\xdd" } , { "\xcc\xe8\xc4\xdd" , "\x5d\xcb\x56\xc7" } , { "\xcc\xe8\xc4\xe1" , "\x5d\xcb\xe5\x56" } , { "\xcc\xe8\xc4\xe8\xc5" , "\x5d\xcb\x88\xf9" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\x5d\xcb\xd7\x88\xf9" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\x5d\xcb\xb2\xbe\xe7" } , { "\xcc\xe8\xc5\xda" , "\x5d\xcb\x57\xfd\xe7" } , { "\xcc\xe8\xc5\xe5\xa2" , "\x5d\xcb\xe5\x57\xfd\xe7\x65" } , { "\xcc\xe8\xc5\xe8\xc4" , "\x5d\xcb\x57\xfd\xcb\x56" } , { "\xcc\xe8\xc6" , "\xb6\x6f\xf6" } , { "\xcc\xe8\xc6\xa2" , "\xb6\x6f\xf6\x65" } , { "\xcc\xe8\xc6\xda" , "\xb6\x6f\xf6\xe7" } , { "\xcc\xe8\xc6\xda\xa2" , "\xb6\x6f\xf6\xe7\x65" } , { "\xcc\xe8\xc6\xdb" , "\xd7\xb6\x6f\xf6" } , { "\xcc\xe8\xc6\xdc" , "\xb6\x6f\xf6\xdd" } , { "\xcc\xe8\xc6\xdd" , "\xb6\x6f\xf6\xc7" } , { "\xcc\xe8\xc6\xdd\xa2" , "\xb6\x6f\xf6\xc7\x65" } , { "\xcc\xe8\xc6\xde" , "\xb6\x6f\xf6\xc9" } , { "\xcc\xe8\xc6\xe0\xa2" , "\xe6\xb6\x6f\xf6\x65" } , { "\xcc\xe8\xc6\xe1" , "\xe6\xb6\x6f\xf6" } , { "\xcc\xe8\xc6\xe5" , "\xe6\xb6\x6f\xf6\xe7" } , { "\xcc\xe8\xc8" , "\x8e" } , { "\xcc\xe8\xc8\xda" , "\x8e\xe7" } , { "\xcc\xe8\xc8\xda\xa1" , "\x8e\x67\xe7" } , { "\xcc\xe8\xc8\xdb" , "\xd7\x8e" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xd7\x8e\x65" } , { "\xcc\xe8\xc8\xdc" , "\x8e\xdd" } , { "\xcc\xe8\xc8\xdd" , "\x8e\xc7" } , { "\xcc\xe8\xc8\xde" , "\x8e\xc9" } , { "\xcc\xe8\xc8\xdf" , "\x8e\xca" } , { "\xcc\xe8\xc8\xe0" , "\xe5\x8e" } , { "\xcc\xe8\xc8\xe1" , "\xe5\x8e" } , { "\xcc\xe8\xc8\xe2" , "\xe9\x8e" } , { "\xcc\xe8\xc8\xe2\xa2" , "\xe9\x8e\x65" } , { "\xcc\xe8\xc8\xe5" , "\xe5\x8e\xe7" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xe5\x8e\xe7\x65" } , { "\xcc\xe8\xc8\xe8" , "\x8e\xcb" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\x5d\xcb\xb4\x4e\xfe" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\x5d\xcb\xd7\xb4\x4e\xfe" } , { "\xcc\xe8\xc8\xe8\xb8" , "\x5d\xcb\xb4\x4a\xf4" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\x5d\xcb\xb4\x56\xe7" } , { "\xcc\xe8\xc8\xe8\xcd" , "\x5d\xcb\xb4\xcc\x5e" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\x5d\xcb\xb4\xcc\x5e\xc7" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\x5d\xcb\xb4\xcc\x5e\xc9" } , { "\xcc\xe8\xc8\xe8\xcf" , "\x8e\xd2" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\x8e\xd2\xe7" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\x8e\xd2\xc9" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\xe5\x8e\xd2" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xe5\x8e\xd2" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\xe5\x8e\xd2\xe7" } , { "\xcc\xe8\xc8\xe8\xd1" , "\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\x8e\xc0\xe7" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\x8e\xc0\xe7\x65" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xd7\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xe5\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xe9\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xe5\x8e\xc0\xe7" } , { "\xcc\xe8\xc8\xe8\xd5" , "\x5d\xcb\xb4\x60" } , { "\xcc\xe8\xc8\xe8\xd6" , "\x5d\xcb\xb4\x62" } , { "\xcc\xe8\xc8\xe8\xd7" , "\x5d\xcb\xb4\x61" } , { "\xcc\xe8\xc9" , "\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xda" , "\xb6\xf6\x8f\xf5\xe7" } , { "\xcc\xe8\xc9\xdb" , "\xd7\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xdc" , "\xb6\xf6\x8f\xf5\xdd" } , { "\xcc\xe8\xc9\xe0" , "\xe5\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xe1" , "\xe5\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xe4" , "\xe5\xb6\xf6\x8f\xf5\xe7" } , { "\xcc\xe8\xc9\xe5" , "\xe5\xb6\xf6\x8f\xf5\xe7" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xe5\xb6\xf6\x8f\xd0\xf5" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xe5\xb6\xf6\x8f\xc0\xf5\xe7" } , { "\xcc\xe8\xca" , "\xb6\x91\xf6" } , { "\xcc\xe8\xca\xa2" , "\xb6\x91\xf6\x65" } , { "\xcc\xe8\xca\xda" , "\xb6\x91\xf6\xe7" } , { "\xcc\xe8\xca\xda\xa2" , "\xb6\x91\xf6\xe7\x65" } , { "\xcc\xe8\xca\xdb" , "\xd7\xb6\x91\xf6" } , { "\xcc\xe8\xca\xdb\xa2" , "\xd7\xb6\x91\xf6\x65" } , { "\xcc\xe8\xca\xdc" , "\xb6\x91\xf6\xdd" } , { "\xcc\xe8\xca\xdd" , "\xb6\x91\xf6\xc7" } , { "\xcc\xe8\xca\xde" , "\xb6\x91\xf6\xc9" } , { "\xcc\xe8\xca\xe0" , "\xe5\xb6\x91\xf6" } , { "\xcc\xe8\xca\xe1" , "\xe5\xb6\x91\xf6" } , { "\xcc\xe8\xca\xe1\xa2" , "\xe5\xb6\x91\xf6\x65" } , { "\xcc\xe8\xca\xe5" , "\xe5\xb6\x91\xf6\xe7" } , { "\xcc\xe8\xca\xe5\xa2" , "\xe5\xb6\x91\xf6\xe7\x65" } , { "\xcc\xe8\xca\xe6" , "\xe5\xb6\x91\xf6\xec" } , { "\xcc\xe8\xca\xe7" , "\xe5\xb6\x91\xf6\xe7" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\x5d\xcb\x5b\xfd\xcb\x88\xf9" } , { "\xcc\xe8\xca\xe8\xcf" , "\xb6\x91\xf6\x98" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\xb6\x91\xf6\x98\xe7\x65" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\xd7\xb6\x91\xf6\x98" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xe6\xb6\x91\xf6\x98" } , { "\xcc\xe8\xcb" , "\x90\xf6" } , { "\xcc\xe8\xcb\xa3" , "\x90\xf6\x66" } , { "\xcc\xe8\xcb\xda" , "\x90\xf6\xe7" } , { "\xcc\xe8\xcb\xdb" , "\xd7\x90\xf6" } , { "\xcc\xe8\xcb\xdc" , "\x90\xf6\xdd" } , { "\xcc\xe8\xcb\xdd" , "\x90\xc7\xf6" } , { "\xcc\xe8\xcb\xde" , "\x90\xc9\xf6" } , { "\xcc\xe8\xcb\xe1" , "\xe5\x90\xf6" } , { "\xcc\xe8\xcb\xe5" , "\xe5\x90\xf6\xe7" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xe5\x90\xf6\xe7\x65" } , { "\xcc\xe8\xcb\xe6" , "\xe5\x90\xf6\xec" } , { "\xcc\xe8\xcb\xe8" , "\x90\xcb\xf6" } , { "\xcc\xe8\xcb\xe8\xcf" , "\xa4" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\xa4\xe7" } , { "\xcc\xe8\xcc" , "\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xa2" , "\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xda" , "\xb6\xf6\x82\xe7" } , { "\xcc\xe8\xcc\xda\xa1" , "\xb6\xf6\x82\x67\xe7" } , { "\xcc\xe8\xcc\xda\xa2" , "\xb6\xf6\x82\xe7\x65" } , { "\xcc\xe8\xcc\xdb" , "\xd7\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xd7\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xdc" , "\xb6\xf6\x82\xdd" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xb6\xf6\x82\xdd\x65" } , { "\xcc\xe8\xcc\xdd" , "\xb6\xf6\x82\xc7" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xb6\xf6\x82\xc7\x65" } , { "\xcc\xe8\xcc\xde" , "\xb6\xf6\x82\xc9" } , { "\xcc\xe8\xcc\xe0" , "\xe5\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xe0\xa2" , "\xe5\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xe1" , "\xe5\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xe5\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xe2" , "\xe9\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xe4" , "\xe5\xb6\xf6\x82\xe7" } , { "\xcc\xe8\xcc\xe5" , "\xe5\xb6\xf6\x82\xe7" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xe5\xb6\xf6\x82\xe7\x65" } , { "\xcc\xe8\xcc\xe8" , "\xb6\xf6\x82\xcb" } , { "\xcc\xe8\xcc\xe8\xc4" , "\x5d\xcb\x5d\xcb\x56" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\x5d\xcb\x5d\xcb\xd7\x56" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\x5d\xcb\xd7\xb6\x6f\xf6" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\x5d\xcb\xe9\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\x5d\xcb\xe6\xb6\xda\xf6" } , { "\xcc\xe8\xcd" , "\x5d\xcb\xcc\x5e" } , { "\xcc\xe8\xcd\xa2" , "\x5d\xcb\xcc\x5e\x65" } , { "\xcc\xe8\xcd\xda" , "\x5d\xcb\xcc\x5e\xe7" } , { "\xcc\xe8\xcd\xda\xa1" , "\x5d\xcb\xcc\x5e\x67\xe7" } , { "\xcc\xe8\xcd\xda\xa2" , "\x5d\xcb\xcc\x5e\xe7\x65" } , { "\xcc\xe8\xcd\xdb" , "\x5d\xcb\xd7\xcc\x5e" } , { "\xcc\xe8\xcd\xdd" , "\x5d\xcb\xcc\x5e\xc7" } , { "\xcc\xe8\xcd\xde" , "\x5d\xcb\xcc\x5e\xc9" } , { "\xcc\xe8\xcd\xe1" , "\x5d\xcb\xe5\xcc\x5e" } , { "\xcc\xe8\xcd\xe5" , "\x5d\xcb\xe5\xcc\x5e\xe7" } , { "\xcc\xe8\xcd\xe5\xa2" , "\x5d\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xcc\xe8\xcd\xe6" , "\x5d\xcb\xe5\xcc\x5e\xec" } , { "\xcc\xe8\xcd\xe8\xcd" , "\x5d\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\x5d\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xcc\xe8\xcf" , "\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xa2" , "\xb6\x83\xf6\x65" } , { "\xcc\xe8\xcf\xda" , "\xb6\x83\xf6\xe7" } , { "\xcc\xe8\xcf\xda\xa2" , "\xb6\x83\xf6\xe7\x65" } , { "\xcc\xe8\xcf\xdb" , "\xd7\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xdb\xa2" , "\xd7\xb6\x83\xf6\x65" } , { "\xcc\xe8\xcf\xdc" , "\xb6\x83\xf6\xdd" } , { "\xcc\xe8\xcf\xdd" , "\xb6\x83\xf6\xd3" } , { "\xcc\xe8\xcf\xde" , "\xb6\x83\xf6\xd6" } , { "\xcc\xe8\xcf\xe0" , "\xe6\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xe1" , "\xe6\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xe4" , "\xe6\xb6\x83\xf6\xe7" } , { "\xcc\xe8\xcf\xe5" , "\xe6\xb6\x83\xf6\xe7" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xe6\xb6\x83\xf6\xe7\x65" } , { "\xcc\xe8\xcf\xe8\xb3" , "\x5d\xcb\xbb\xcb\x45\xf5" } , { "\xcc\xe8\xcf\xe8\xc2" , "\x5d\xcb\xbb\xcb\x54\xf6" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\x5d\xcb\xbb\xcb\xcc\x5e\xe7" } , { "\xcc\xe8\xd0\xe0" , "\x5d\xcb\xe5\xbb" } , { "\xcc\xe8\xd1" , "\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xa2" , "\xb6\xda\xf6\x65" } , { "\xcc\xe8\xd1\xda" , "\xb6\xda\xf6\xe7" } , { "\xcc\xe8\xd1\xda\xa2" , "\xb6\xda\xf6\xe7\x65" } , { "\xcc\xe8\xd1\xdb" , "\xd7\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xdc" , "\xb6\xda\xf6\xdd" } , { "\xcc\xe8\xd1\xdd" , "\xb6\xda\xf6\xc7" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xb6\xda\xf6\xc7\x65" } , { "\xcc\xe8\xd1\xde" , "\xb6\xda\xf6\xc9" } , { "\xcc\xe8\xd1\xe0" , "\xe6\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xe1" , "\xe6\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xe2" , "\xe8\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xe5" , "\xe6\xb6\xda\xf6\xe7" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xe6\xb6\xda\xf6\xe7\x65" } , { "\xcc\xe8\xd1\xe8" , "\xb6\xda\xf6\xcb" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\x5d\xcb\xb7\xcc\x5e\xc9" } , { "\xcc\xe8\xd4" , "\x5d\xcb\xbe" } , { "\xcc\xe8\xd4\xa2" , "\x5d\xcb\xbe\x65" } , { "\xcc\xe8\xd4\xda" , "\x5d\xcb\xbe\xe7" } , { "\xcc\xe8\xd4\xdb" , "\x5d\xcb\xd7\xbe" } , { "\xcc\xe8\xd4\xdc" , "\x5d\xcb\xbe\xdd" } , { "\xcc\xe8\xd4\xdd\xa2" , "\x5d\xcb\xbe\xc7\x65" } , { "\xcc\xe8\xd4\xe0" , "\x5d\xcb\xe5\xbe" } , { "\xcc\xe8\xd4\xe1" , "\x5d\xcb\xe5\xbe" } , { "\xcc\xe8\xd4\xe2" , "\x5d\xcb\xe9\xbe" } , { "\xcc\xe8\xd5" , "\x5d\xcb\x60" } , { "\xcc\xe8\xd5\xda" , "\x5d\xcb\x60\xe7" } , { "\xcc\xe8\xd5\xdc" , "\x5d\xcb\x60\xdd" } , { "\xcc\xe8\xd6" , "\x5d\xcb\x62" } , { "\xcc\xe8\xd6\xdc" , "\x5d\xcb\x62\xdd" } , { "\xcc\xe8\xd7" , "\x5d\xcb\x61" } , { "\xcc\xe8\xd7\xda" , "\x5d\xcb\x61\xe7" } , { "\xcc\xe8\xd7\xdb\xa2" , "\x5d\xcb\xd7\x61\x65" } , { "\xcc\xe8\xd7\xdd" , "\x5d\xcb\x61\xc7" } , { "\xcc\xe8\xd7\xde" , "\x5d\xcb\x61\xc9" } , { "\xcc\xe8\xd7\xe0" , "\x5d\xcb\xe5\x61" } , { "\xcc\xe8\xd7\xe1" , "\x5d\xcb\xe5\x61" } , { "\xcc\xe8\xd7\xe8" , "\x5d\xcb\x61\xcb" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\x5d\xcb\x95\xf5\xdd" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\x5d\xcb\x95\xc7\xf5" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\x5d\xcb\x95\xc0\xf5" } , { "\xcc\xe8\xd7\xe8\xbd" , "\x5d\xcb\xba\x4f\xf4" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\x5d\xcb\xba\x4f\xf4\xe7" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\x5d\xcb\xe6\xba\x4f\xf4" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\x5d\xcb\xe6\xba\x4f\xf4" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\x5d\xcb\xe6\xba\x4f\xf4\xe7" } , { "\xcc\xe8\xd7\xe8\xbf" , "\x5d\xcb\xba\x51\xf6" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\x5d\xcb\xd7\xba\x51\xf6" } , { "\xcc\xe8\xd7\xe8\xc2" , "\x5d\xcb\xd8\x99\xf6" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\x5d\xcb\xd8\x99\xf6\xdd" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\x5d\xcb\xe6\xd8\x99\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\x5d\xcb\xd8\x6f\xf6\xc7" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\x5d\xcb\xd8\x6f\xf6\xcb" } , { "\xcc\xe8\xd7\xe8\xc8" , "\x5d\xcb\x26" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\x5d\xcb\xd7\x26\xd2" } , { "\xcc\xe8\xd7\xe8\xc9" , "\x5d\xcb\xd8\xf6\x8f\xf5" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\x5d\xcb\xd8\x91\xf6\xe7\x65" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\x5d\xcb\xd7\xd8\xf6\x82" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\x5d\xcb\xba\xcc\x5e\xe7" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\x5d\xcb\xd8\x83\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\x5d\xcb\xd8\xda\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\x5d\xcb\xd8\xda\xf6\xe7\x65" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\x5d\xcb\xe6\xd8\xda\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\x5d\xcb\xba\xbe\xe7" } , { "\xcc\xe8\xd8" , "\x5d\xcb\x63\xf7" } , { "\xcc\xe8\xd8\xa2" , "\x5d\xcb\x63\xf7\x65" } , { "\xcc\xe8\xd8\xda" , "\x5d\xcb\x63\xf7\xe7" } , { "\xcc\xe8\xd8\xda\xa2" , "\x5d\xcb\x63\xf7\xe7\x65" } , { "\xcc\xe8\xd8\xdb" , "\x5d\xcb\xd7\x63\xf7" } , { "\xcc\xe8\xd8\xdc" , "\x5d\xcb\x63\xf7\xdd" } , { "\xcc\xe8\xd8\xdc\xa2" , "\x5d\xcb\x63\xf7\xdd\x65" } , { "\xcc\xe8\xd8\xde" , "\x5d\xcb\x63\xc9\xf7" } , { "\xcc\xe8\xd8\xe1" , "\x5d\xcb\xe5\x63\xf7" } , { "\xcc\xe8\xd8\xe1\xa2" , "\x5d\xcb\xe5\x63\xf7\x65" } , { "\xcc\xe8\xd8\xe2\xa2" , "\x5d\xcb\xe9\x63\xf7\x65" } , { "\xcc\xe8\xd9\xcc\xe1" , "\x5d\xcb\xe3\x5d" } , { "\xcc\xe8\xd9\xcd" , "\x5d\xcb\xcc\x5e" } , { "\xcc\xe8\xe8" , "\x5d\xcb" } , { "\xcc\xe8\xe9\xcf" , "\xb6\x83\xf6" } , { "\xcc\xe9" , "\x5d" } , { "\xcd" , "\xcc\x5e" } , { "\xcd\xa1" , "\xcc\x5e\x67" } , { "\xcd\xa2" , "\xcc\x5e\x65" } , { "\xcd\xa2\xa3" , "\xcc\x5e\x65\x66" } , { "\xcd\xa3" , "\xcc\x5e\x66" } , { "\xcd\xd0\xe8" , "\xcc\x5e\xbb\xcb" } , { "\xcd\xda" , "\xcc\x5e\xe7" } , { "\xcd\xda\xa1" , "\xcc\x5e\x67\xe7" } , { "\xcd\xda\xa2" , "\xcc\x5e\xe7\x65" } , { "\xcd\xda\xa3" , "\xcc\x5e\xe7\x66" } , { "\xcd\xdb" , "\xd7\xcc\x5e" } , { "\xcd\xdb\xa2" , "\xd7\xcc\x5e\x65" } , { "\xcd\xdb\xa2\xa2" , "\xd7\xcc\x5e\x65\x65" } , { "\xcd\xdb\xa3" , "\xd7\xcc\x5e\x66" } , { "\xcd\xdc" , "\xcc\x5e\xdd" } , { "\xcd\xdc\xa1" , "\xcc\x5e\xdf" } , { "\xcd\xdc\xa2" , "\xcc\x5e\xdd\x65" } , { "\xcd\xdd" , "\xcc\x5e\xc7" } , { "\xcd\xdd\xa2" , "\xcc\x5e\xc7\x65" } , { "\xcd\xdd\xa3" , "\xcc\x5e\xc7\x66" } , { "\xcd\xde" , "\xcc\x5e\xc9" } , { "\xcd\xde\xa1" , "\xcc\x5e\x67\xc9" } , { "\xcd\xde\xa2" , "\xcc\x5e\xc9\x65" } , { "\xcd\xdf" , "\xcc\x5e\xca" } , { "\xcd\xe0" , "\xe5\xcc\x5e" } , { "\xcd\xe0\xa2" , "\xe5\xcc\x5e\x65" } , { "\xcd\xe1" , "\xe5\xcc\x5e" } , { "\xcd\xe1\xa1" , "\xe5\xcc\x5e\x67" } , { "\xcd\xe1\xa2" , "\xe5\xcc\x5e\x65" } , { "\xcd\xe1\xa3" , "\xe5\xcc\x5e\x66" } , { "\xcd\xe2" , "\xe9\xcc\x5e" } , { "\xcd\xe2\xa2" , "\xe9\xcc\x5e\x65" } , { "\xcd\xe3" , "\xe5\xcc\x5e" } , { "\xcd\xe4" , "\xe5\xcc\x5e\xe7" } , { "\xcd\xe4\xa2" , "\xe5\xcc\x5e\xe7\x65" } , { "\xcd\xe5" , "\xe5\xcc\x5e\xe7" } , { "\xcd\xe5\xa1" , "\xe5\xcc\x5e\x67\xe7" } , { "\xcd\xe5\xa2" , "\xe5\xcc\x5e\xe7\x65" } , { "\xcd\xe5\xa3" , "\xe5\xcc\x5e\xe7\x66" } , { "\xcd\xe6" , "\xe5\xcc\x5e\xec" } , { "\xcd\xe6\xa2" , "\xe5\xcc\x5e\xec\x65" } , { "\xcd\xe7" , "\xe5\xcc\x5e\xe7" } , { "\xcd\xe7\xa2" , "\xe5\xcc\x5e\xe7\x65" } , { "\xcd\xe8" , "\xcc\x5e\xcb" } , { "\xcd\xe8\xb3" , "\xcc\x5e\xcb\x45\xf5" } , { "\xcd\xe8\xb3\xdb" , "\xcc\x5e\xcb\xd7\x45\xf5" } , { "\xcd\xe8\xb3\xdb\xa2" , "\xcc\x5e\xcb\xd7\x45\xf5\x65" } , { "\xcd\xe8\xb3\xdd" , "\xcc\x5e\xcb\x45\xc7\xf5" } , { "\xcd\xe8\xb3\xde" , "\xcc\x5e\xcb\x45\xc9\xf5" } , { "\xcd\xe8\xb3\xe1" , "\xcc\x5e\xcb\xe5\x45\xf5" } , { "\xcd\xe8\xb3\xe5" , "\xcc\x5e\xcb\xe5\x45\xf5\xe7" } , { "\xcd\xe8\xb5\xda" , "\xcc\x5e\xcb\x47\xe7" } , { "\xcd\xe8\xb8\xe1" , "\xcc\x5e\xcb\xe6\x24\x4a\xf4" } , { "\xcd\xe8\xb8\xe6" , "\xcc\x5e\xcb\xe6\x24\x4a\xf4\xec" } , { "\xcd\xe8\xbd" , "\xcc\x5e\xcb\x24\x4f\xf4" } , { "\xcd\xe8\xbf\xa2" , "\xcc\x5e\xcb\x51\xf6\x65" } , { "\xcd\xe8\xbf\xdb" , "\xcc\x5e\xcb\xd7\x51\xf6" } , { "\xcd\xe8\xc1" , "\xcc\x5e\xcb\x53" } , { "\xcd\xe8\xc2\xda" , "\xcc\x5e\xcb\x54\xf6\xe7" } , { "\xcd\xe8\xc2\xdd" , "\xcc\x5e\xcb\x54\xc7\xf6" } , { "\xcd\xe8\xc2\xe1" , "\xcc\x5e\xcb\xe5\x54\xf6" } , { "\xcd\xe8\xc2\xe5" , "\xcc\x5e\xcb\xe5\x54\xf6\xe7" } , { "\xcd\xe8\xc2\xe8\xc2" , "\xcc\x5e\xcb\x77\xf8" } , { "\xcd\xe8\xc2\xe8\xc6" , "\xcc\x5e\xcb\xb1\xf3\xf6" } , { "\xcd\xe8\xc4\xda" , "\xcc\x5e\xcb\x56\xe7" } , { "\xcd\xe8\xc6" , "\x5e\xc2" } , { "\xcd\xe8\xc6\xa2" , "\x5e\xc2\x65" } , { "\xcd\xe8\xc6\xda" , "\x5e\xc2\xe7" } , { "\xcd\xe8\xc6\xdb" , "\xd7\x5e\xc2" } , { "\xcd\xe8\xc6\xdc" , "\x5e\xc2\xdd" } , { "\xcd\xe8\xc6\xdd" , "\x5e\xc2\xc7" } , { "\xcd\xe8\xc6\xe1" , "\xe6\x5e\xc2" } , { "\xcd\xe8\xc6\xe5" , "\xe6\x5e\xc2\xe7" } , { "\xcd\xe8\xc8\xde" , "\xcc\x5e\xcb\x59\xc9" } , { "\xcd\xe8\xc9\xe1" , "\xcc\x5e\xcb\xe5\x5a\xf5" } , { "\xcd\xe8\xca\xe0" , "\xe5\x5e\x9d" } , { "\xcd\xe8\xca\xe5" , "\xe5\x5e\x9d\xe7" } , { "\xcd\xe8\xcb\xdd" , "\xcc\x5e\xcb\x5c\xc7\xf6" } , { "\xcd\xe8\xcc" , "\x5e\xbd" } , { "\xcd\xe8\xcc\xa2" , "\x5e\xbd\x65" } , { "\xcd\xe8\xcc\xe0" , "\xe5\x5e\xbd" } , { "\xcd\xe8\xcc\xe0\xa2" , "\xe5\x5e\xbd\x65" } , { "\xcd\xe8\xcd" , "\xcc\x5e\xcb\xcc\x5e" } , { "\xcd\xe8\xcd\xa2" , "\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xcc\x5e\xcb\xcc\x5e\x65\x65" } , { "\xcd\xe8\xcd\xda" , "\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xcd\xe8\xcd\xda\xa2" , "\xcc\x5e\xcb\xcc\x5e\xe7\x65" } , { "\xcd\xe8\xcd\xdb" , "\xcc\x5e\xcb\xd7\xcc\x5e" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xcc\x5e\xcb\xd7\xcc\x5e\x65" } , { "\xcd\xe8\xcd\xdc" , "\xcc\x5e\xcb\xcc\x5e\xdd" } , { "\xcd\xe8\xcd\xdd" , "\xcc\x5e\xcb\xcc\x5e\xc7" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xcc\x5e\xcb\xcc\x5e\xc7\x65" } , { "\xcd\xe8\xcd\xde" , "\xcc\x5e\xcb\xcc\x5e\xc9" } , { "\xcd\xe8\xcd\xe0" , "\xcc\x5e\xcb\xe5\xcc\x5e" } , { "\xcd\xe8\xcd\xe0\xa2" , "\xcc\x5e\xcb\xe5\xcc\x5e\x65" } , { "\xcd\xe8\xcd\xe1" , "\xcc\x5e\xcb\xe5\xcc\x5e" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xcc\x5e\xcb\xe5\xcc\x5e\x65" } , { "\xcd\xe8\xcd\xe4" , "\xcc\x5e\xcb\xe5\xcc\x5e\xe7" } , { "\xcd\xe8\xcd\xe5" , "\xcc\x5e\xcb\xe5\xcc\x5e\xe7" } , { "\xcd\xe8\xcd\xe8" , "\xcc\x5e\xcb\xcc\x5e\xcb" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xcc\x5e\xcb\xcc\x5e\xcb\x47\xe7" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xcc\x5e\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xcc\x5e\xcb\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xcc\x5e\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\xcc\x5e\xcb\xcc\x5e\xcb\xe5\xcc\x5e" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xcc\x5e\xcb\xcc\x5e\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xcd\xe8\xcd\xe8\xcf" , "\xcc\x5e\xcb\x5e\xd0" } , { "\xcd\xe8\xcf" , "\x5e\xd0" } , { "\xcd\xe8\xcf\xde" , "\x5e\xd0\xc9" } , { "\xcd\xe8\xcf\xe5" , "\xe6\x5e\xd0\xe7" } , { "\xcd\xe8\xcf\xe8" , "\x5e\xd0\xcb" } , { "\xcd\xe8\xd1" , "\x5e\xc0" } , { "\xcd\xe8\xd1\xa2" , "\x5e\xc0\x65" } , { "\xcd\xe8\xd1\xda\xa2" , "\x5e\xc0\xe7\x65" } , { "\xcd\xe8\xd1\xdd" , "\x5e\xc0\xc7" } , { "\xcd\xe8\xd1\xde" , "\x5e\xc0\xc9" } , { "\xcd\xe8\xd1\xe0\xa2" , "\xe6\x5e\xc0\x65" } , { "\xcd\xe8\xd1\xe1" , "\xe6\x5e\xc0" } , { "\xcd\xe8\xd1\xe4" , "\xe6\x5e\xc0\xe7" } , { "\xcd\xe8\xd1\xe5" , "\xe6\x5e\xc0\xe7" } , { "\xcd\xe8\xd1\xe8" , "\x5e\xc0\xcb" } , { "\xcd\xe8\xd4" , "\xcc\x5e\xcb\xbe" } , { "\xcd\xe8\xd4\xda" , "\xcc\x5e\xcb\xbe\xe7" } , { "\xcd\xe8\xd4\xdd" , "\xcc\x5e\xcb\xbe\xc7" } , { "\xcd\xe8\xd5\xda" , "\xcc\x5e\xcb\x60\xe7" } , { "\xcd\xe8\xd7" , "\xcc\x5e\xcb\x61" } , { "\xcd\xe8\xd7\xda" , "\xcc\x5e\xcb\x61\xe7" } , { "\xcd\xe8\xd7\xdb\xa2" , "\xcc\x5e\xcb\xd7\x61\x65" } , { "\xcd\xe8\xd7\xe2" , "\xcc\x5e\xcb\xe9\x61" } , { "\xcd\xe8\xd7\xe8" , "\xcc\x5e\xcb\x61\xcb" } , { "\xcd\xe8\xd7\xe8\xb3" , "\xcc\x5e\xcb\x95\xf5" } , { "\xcd\xe8\xe8" , "\xcc\x5e\xcb" } , { "\xcd\xe8\xe9\xcf" , "\x5e\xd0" } , { "\xce" , "\x5e" } , { "\xce\xa3" , "\x5e\x66" } , { "\xcf" , "\xbb" } , { "\xcf\xa1" , "\xbb\x67" } , { "\xcf\xa2" , "\xbb\x65" } , { "\xcf\xa2\xa2" , "\xbb\x65\x65" } , { "\xcf\xa3" , "\xbb\x66" } , { "\xcf\xda" , "\xbb\xe7" } , { "\xcf\xda\xa1" , "\xbb\x67\xe7" } , { "\xcf\xda\xa2" , "\xbb\xe7\x65" } , { "\xcf\xda\xa3" , "\xbb\xe7\x66" } , { "\xcf\xdb" , "\xd7\xbb" } , { "\xcf\xdb\xa1" , "\xd9\xbb" } , { "\xcf\xdb\xa2" , "\xd7\xbb\x65" } , { "\xcf\xdb\xa2\xa2" , "\xd7\xbb\x65\x65" } , { "\xcf\xdb\xa3" , "\xd7\xbb\x66" } , { "\xcf\xdb\xce\xda" , "\xd7\xbb\x5e\xe7" } , { "\xcf\xdc" , "\xbb\xdd" } , { "\xcf\xdc\xa2" , "\xbb\xdd\x65" } , { "\xcf\xdc\xa2\xa2" , "\xbb\xdd\x65\x65" } , { "\xcf\xdc\xa3" , "\xbb\xdd\x66" } , { "\xcf\xdd" , "\xbb\xd3" } , { "\xcf\xdd\xa1" , "\xbb\x67\xd3" } , { "\xcf\xdd\xa2" , "\xbb\xd3\x65" } , { "\xcf\xdd\xa3" , "\xbb\xd3\x66" } , { "\xcf\xde" , "\xbb\xd6" } , { "\xcf\xde\xa1" , "\xbb\x67\xd6" } , { "\xcf\xde\xa2" , "\xbb\xd6\x65" } , { "\xcf\xdf" , "\xbb\xca" } , { "\xcf\xe0" , "\xe5\xbb" } , { "\xcf\xe0\xa2" , "\xe5\xbb\x65" } , { "\xcf\xe0\xa3" , "\xe5\xbb\x66" } , { "\xcf\xe1" , "\xe5\xbb" } , { "\xcf\xe1\xa2" , "\xe5\xbb\x65" } , { "\xcf\xe2" , "\xe9\xbb" } , { "\xcf\xe2\xa2" , "\xe9\xbb\x65" } , { "\xcf\xe2\xa3" , "\xe9\xbb\x66" } , { "\xcf\xe2\xbd\xe8" , "\xe9\xbb\x24\x4f\xcb\xf4" } , { "\xcf\xe4" , "\xe5\xbb\xe7" } , { "\xcf\xe4\xa2" , "\xe5\xbb\xe7\x65" } , { "\xcf\xe5" , "\xe5\xbb\xe7" } , { "\xcf\xe5\xa2" , "\xe5\xbb\xe7\x65" } , { "\xcf\xe5\xa2\xa2" , "\xe5\xbb\xe7\x65\x65" } , { "\xcf\xe6" , "\xe5\xbb\xec" } , { "\xcf\xe6\xa2" , "\xe5\xbb\xec\x65" } , { "\xcf\xe7" , "\xe5\xbb\xe7" } , { "\xcf\xe7\xa2" , "\xe5\xbb\xe7\x65" } , { "\xcf\xe8" , "\xbb\xcb" } , { "\xcf\xe8\xb3" , "\x45\xef\xf5" } , { "\xcf\xe8\xb3\xa2" , "\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xda" , "\x45\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xda\xa2" , "\x45\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xdb" , "\xd7\x45\xef\xf5" } , { "\xcf\xe8\xb3\xdb\xa2" , "\xd7\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xdc" , "\x45\xf5\xde" } , { "\xcf\xe8\xb3\xdd" , "\x45\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x45\xc7\xef\xf5\x65" } , { "\xcf\xe8\xb3\xde" , "\x45\xc9\xef\xf5" } , { "\xcf\xe8\xb3\xe0" , "\xe5\x45\xef\xf5" } , { "\xcf\xe8\xb3\xe0\xa2" , "\xe5\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xe1" , "\xe5\x45\xef\xf5" } , { "\xcf\xe8\xb3\xe1\xa2" , "\xe5\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xe2" , "\xe9\x45\xef\xf5" } , { "\xcf\xe8\xb3\xe4" , "\xe5\x45\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe4\xa2" , "\xe5\x45\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xe5" , "\xe5\x45\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe5\xa2" , "\xe5\x45\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xe6" , "\xe5\x45\xef\xf5\xec" } , { "\xcf\xe8\xb3\xe6\xa2" , "\xe5\x45\xef\xf5\xec\x65" } , { "\xcf\xe8\xb3\xe8" , "\x45\xcb\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x68\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\xd7\x68\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x68\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\xa8\x47\xef\xe7" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\xe5\xa8\x47\xef" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x6b\xef\xf4" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\xd7\x6b\xef\xf4" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x45\xcb\xef\xf5\xe5\xae\xbe" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x4e\xef\xfe" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x45\xc2\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\xe5\xa8\x59\xef" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x45\xcb\xef\xf5\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\xa8\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\xa8\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\xd7\x79\xef\xd4" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x79\xd4\xde" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x79\xc9\xef\xd4\x65" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\xe9\x79\xef\xd4" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x7a\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x7a\xef\xf5\x65" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x7a\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x7a\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x7a\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\xe6\x7a\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\xe8\x7a\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\xe6\x7a\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\xa8\xbe\xef\x65" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\xd7\xa8\xbe\xef" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\xe5\xa8\xbe\xef" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x6c\xef\xf9" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x6c\xef\xf9\xe7" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\xe9\x6c\xef\xf9" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x45\xcb\xef\xf5\xb9\xcc\x5e" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x45\xcb\xef\xf5\xe5\xb9\xcc\x5e\xe7" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x6a\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x6a\xef\xe7" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\xd7\x6a\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x6a\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x6a\xcb\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\xd7\xa8\x95\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x45\xcb\xef\xf5\xba\x47\xe7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xa8\xd8\x6f\xf6\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\xa8\xd8\xda\xf6\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x45\xcb\xef\xf5\xba\xbe\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x45\xcb\xef\xf5\xba\x60\xe7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\xbb\xcb\xba\xa8\x72\xc7\xf4" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\xd7\xa8\x63\xf7\xdb" } , { "\xcf\xe8\xb3\xe9" , "\x45\xef\xf5" } , { "\xcf\xe8\xb4" , "\x46\xef" } , { "\xcf\xe8\xb4\xa2" , "\x46\xef\x65" } , { "\xcf\xe8\xb4\xda" , "\x46\xef\xe7" } , { "\xcf\xe8\xb4\xdb" , "\xd7\x46\xef" } , { "\xcf\xe8\xb4\xdc" , "\x46\xde" } , { "\xcf\xe8\xb4\xdd" , "\x46\xc7\xef" } , { "\xcf\xe8\xb4\xe2" , "\xe9\x46\xef" } , { "\xcf\xe8\xb4\xe4" , "\xe5\x46\xef\xe7" } , { "\xcf\xe8\xb4\xe5" , "\xe5\x46\xef\xe7" } , { "\xcf\xe8\xb4\xe5\xa2" , "\xe5\x46\xef\xe7\x65" } , { "\xcf\xe8\xb5" , "\x47\xef" } , { "\xcf\xe8\xb5\xa2" , "\x47\xef\x65" } , { "\xcf\xe8\xb5\xa3" , "\x47\xef\x66" } , { "\xcf\xe8\xb5\xda" , "\x47\xef\xe7" } , { "\xcf\xe8\xb5\xda\xa2" , "\x47\xef\xe7\x65" } , { "\xcf\xe8\xb5\xda\xa3" , "\x47\xef\xe7\x66" } , { "\xcf\xe8\xb5\xdb" , "\xd7\x47\xef" } , { "\xcf\xe8\xb5\xdb\xa2" , "\xd7\x47\xef\x65" } , { "\xcf\xe8\xb5\xdc" , "\x47\xde" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x47\xde\x65" } , { "\xcf\xe8\xb5\xdd" , "\x6d\xef" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x6d\xef\x65" } , { "\xcf\xe8\xb5\xde" , "\x47\xc9\xef" } , { "\xcf\xe8\xb5\xe0" , "\xe5\x47\xef" } , { "\xcf\xe8\xb5\xe1" , "\xe5\x47\xef" } , { "\xcf\xe8\xb5\xe2" , "\xe9\x47\xef" } , { "\xcf\xe8\xb5\xe2\xa3" , "\xe9\x47\xef\x66" } , { "\xcf\xe8\xb5\xe4" , "\xe5\x47\xef\xe7" } , { "\xcf\xe8\xb5\xe5" , "\xe5\x47\xef\xe7" } , { "\xcf\xe8\xb5\xe5\xa2" , "\xe5\x47\xef\xe7\x65" } , { "\xcf\xe8\xb5\xe6\xa2" , "\xe5\x47\xef\xec\x65" } , { "\xcf\xe8\xb5\xe8" , "\x47\xcb\xef" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\xd7\xaa\x45\xef\xf5" } , { "\xcf\xe8\xb5\xe8\xbc" , "\xaa\x41\xef\xd5" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\xd7\x47\xc2\xef" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x47\xbd\xef" } , { "\xcf\xe8\xb5\xe8\xcd" , "\xaa\xcc\x5e\xef" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\xaa\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\xaa\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\xaa\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\xe5\xaa\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x47\xd0\xef" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x47\xd0\xef\x65" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x47\xd0\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x47\xd0\xde" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\xe6\x47\xd0\xef" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\xe6\x47\xd0\xef" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x47\xc0\xc7\xef" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\xe6\x47\xc0\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\xaa\x61\xcb\xef" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x47\xde" } , { "\xcf\xe8\xb5\xe9\xe1" , "\xe5\x47\xef" } , { "\xcf\xe8\xb6" , "\x48\xef" } , { "\xcf\xe8\xb6\xa2" , "\x48\xef\x65" } , { "\xcf\xe8\xb6\xda" , "\x48\xef\xe7" } , { "\xcf\xe8\xb6\xda\xa2" , "\x48\xef\xe7\x65" } , { "\xcf\xe8\xb6\xdb" , "\xd7\x48\xef" } , { "\xcf\xe8\xb6\xdc" , "\x48\xde" } , { "\xcf\xe8\xb6\xdd" , "\x48\xc7\xef" } , { "\xcf\xe8\xb6\xde" , "\x48\xc9\xef" } , { "\xcf\xe8\xb6\xe5" , "\xe5\x48\xef\xe7" } , { "\xcf\xe8\xb6\xe8" , "\x48\xcb\xef" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x48\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x48\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x48\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x48\xcb\xef\xe9\xcc\x5e" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x48\xcb\xef\xbe" } , { "\xcf\xe8\xb7" , "\x49\xef\xf8" } , { "\xcf\xe8\xb7\xa2" , "\x49\xef\xf8\x65" } , { "\xcf\xe8\xb7\xdd" , "\x49\xc7\xef\xf8" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x86\xef" } , { "\xcf\xe8\xb7\xe8\xcd" , "\xab\xcc\x5e\xef" } , { "\xcf\xe8\xb8" , "\x24\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xa2" , "\x24\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xda" , "\x24\x4a\xf4\xdb\xe7" } , { "\xcf\xe8\xb8\xda\xa2" , "\x24\x4a\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xb8\xdb" , "\xd7\x24\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xdb\xa2" , "\xd7\x24\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xdc" , "\x24\x4a\xf4\xde" } , { "\xcf\xe8\xb8\xdd" , "\x24\x4a\xc7\xf4\xdb" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x24\x4a\xc7\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xde" , "\x24\x4a\xc9\xf4\xdb" } , { "\xcf\xe8\xb8\xe0" , "\xe6\x24\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xe0\xa2" , "\xe6\x24\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xe1" , "\xe6\x24\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xe1\xa2" , "\xe6\x24\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xe2" , "\xe8\x24\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xe4" , "\xe6\x24\x4a\xf4\xdb\xe7" } , { "\xcf\xe8\xb8\xe4\xa2" , "\xe6\x24\x4a\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xb8\xe5" , "\xe6\x24\x4a\xf4\xdb\xe7" } , { "\xcf\xe8\xb8\xe5\xa2" , "\xe6\x24\x4a\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xb8\xe6" , "\xe6\x24\x4a\xf4\xdb\xec" } , { "\xcf\xe8\xb8\xe8" , "\x24\x4a\xcb\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\xac\x47\xef\xe7" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\xac\x47\xd0\xef\xe7" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\xe6\xac\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xb9" , "\xac\x4b\xf7\xdb" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\xac\x4b\xf7\xdb\xe7" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\xd7\xac\x4b\xf7\xdb" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\xd7\xac\xf3\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\xac\xf3\xc7\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\xac\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x4a\x5d\xde" } , { "\xcf\xe8\xb8\xe8\xd1" , "\xac\xf2\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\xe6\xac\xf2\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\xe6\xac\xf2\xf4\xdb\xe7" } , { "\xcf\xe8\xb9" , "\x24\x4b\xf7\xdb" } , { "\xcf\xe8\xb9\xa2" , "\x24\x4b\xf7\xdb\x65" } , { "\xcf\xe8\xb9\xda" , "\x24\x4b\xf7\xdb\xe7" } , { "\xcf\xe8\xb9\xdb" , "\xd7\x24\x4b\xf7\xdb" } , { "\xcf\xe8\xb9\xdb\xa2" , "\xd7\x24\x4b\xf7\xdb\x65" } , { "\xcf\xe8\xb9\xdc" , "\x24\x4b\xf7\xde" } , { "\xcf\xe8\xb9\xdd" , "\x24\x4b\xc7\xf7\xdb" } , { "\xcf\xe8\xb9\xe1" , "\xe6\x24\x4b\xf7\xdb" } , { "\xcf\xe8\xb9\xe1\xa2" , "\xe6\x24\x4b\xf7\xdb\x65" } , { "\xcf\xe8\xb9\xe4" , "\xe6\x24\x4b\xf7\xdb\xe7" } , { "\xcf\xe8\xb9\xe5\xa2" , "\xe6\x24\x4b\xf7\xdb\xe7\x65" } , { "\xcf\xe8\xba" , "\x4c\xdb" } , { "\xcf\xe8\xba\xa2" , "\x4c\xdb\x65" } , { "\xcf\xe8\xba\xda" , "\x4c\xdb\xe7" } , { "\xcf\xe8\xba\xda\xa2" , "\x4c\xdb\xe7\x65" } , { "\xcf\xe8\xba\xdb" , "\xd7\x4c\xdb" } , { "\xcf\xe8\xba\xdb\xa2" , "\xd7\x4c\xdb\x65" } , { "\xcf\xe8\xba\xdc" , "\x4c\xde" } , { "\xcf\xe8\xba\xdc\xa2" , "\x4c\xde\x65" } , { "\xcf\xe8\xba\xdd" , "\x4c\xc7\xdb" } , { "\xcf\xe8\xba\xdd\xa2" , "\x4c\xc7\xdb\x65" } , { "\xcf\xe8\xba\xde" , "\x4c\xc9\xdb" } , { "\xcf\xe8\xba\xe0" , "\xe5\x4c\xdb" } , { "\xcf\xe8\xba\xe0\xa2" , "\xe5\x4c\xdb\x65" } , { "\xcf\xe8\xba\xe1" , "\xe5\x4c\xdb" } , { "\xcf\xe8\xba\xe1\xa2" , "\xe5\x4c\xdb\x65" } , { "\xcf\xe8\xba\xe2" , "\xe9\x4c\xdb" } , { "\xcf\xe8\xba\xe5" , "\xe5\x4c\xdb\xe7" } , { "\xcf\xe8\xba\xe5\xa2" , "\xe5\x4c\xdb\xe7\x65" } , { "\xcf\xe8\xba\xe8" , "\x4c\xcb\xdb" } , { "\xcf\xe8\xba\xe8\xb5" , "\x4c\xcb\xdb\x47" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x4c\xcb\xdb\x47\xe7" } , { "\xcf\xe8\xba\xe8\xb6" , "\x4c\xcb\xdb\x48" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x70\xef\xfb\xe7" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\xe5\x70\xef\xfb" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x4c\xcb\xdb\x24\x4f\xf4\xe7\x65" } , { "\xcf\xe8\xba\xe8\xbf" , "\x4c\xcb\xdb\x51\xf6" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x4c\xcb\xdb\x51\xcb\xf6" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x4c\xbd\xef\xe7" } , { "\xcf\xe8\xba\xe8\xcd" , "\x4c\xcb\xdb\xcc\x5e" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x4c\xcb\xdb\xcc\x5e\x65" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x4c\xcb\xdb\xcc\x5e\xe7" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x4c\xcb\xdb\xe5\xcc\x5e\xe7" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x4c\xcb\x5f\xc7\xef" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\xe5\x4c\xcb\x5f\xef\xe7" } , { "\xcf\xe8\xba\xe8\xd4" , "\x4c\xcb\xdb\xbe" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x4c\xcb\xdb\xe5\x95\xf5" } , { "\xcf\xe8\xba\xe9" , "\x4c\xdb" } , { "\xcf\xe8\xba\xe9\xda" , "\x4c\xdb\xe7" } , { "\xcf\xe8\xba\xe9\xdc" , "\x4c\xde" } , { "\xcf\xe8\xba\xe9\xdd" , "\x4c\xc7\xdb" } , { "\xcf\xe8\xba\xe9\xe1" , "\xe5\x4c\xdb" } , { "\xcf\xe8\xba\xe9\xe5" , "\xe5\x4c\xdb\xe7" } , { "\xcf\xe8\xbb" , "\x4d\xf5\xef" } , { "\xcf\xe8\xbb\xda" , "\x4d\xf5\xef\xe7" } , { "\xcf\xe8\xbb\xdb" , "\xd7\x4d\xf5\xef" } , { "\xcf\xe8\xbb\xdd" , "\x4d\xc7\xf5\xef" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x4d\xcb\xef\xf5\x63\xf7" } , { "\xcf\xe8\xbc\xe1" , "\xe5\x41\xef\xd5" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x41\xcb\xef\xd5\x47" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x41\xcb\xef\xd5\xe5\x51\xf6" } , { "\xcf\xe8\xbd" , "\x24\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xa2" , "\x24\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xda" , "\x24\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xdb" , "\xd7\x24\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xdb\xa2" , "\xd7\x24\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\xd7\x24\x4f\xf4\xdb\x5f\xcb" } , { "\xcf\xe8\xbd\xdc" , "\x24\x4f\xf4\xde" } , { "\xcf\xe8\xbd\xdd" , "\x24\x4f\xc7\xf4\xdb" } , { "\xcf\xe8\xbd\xde" , "\x24\x4f\xc9\xf4\xdb" } , { "\xcf\xe8\xbd\xe0" , "\xe6\x24\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xe0\xa2" , "\xe6\x24\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xe1" , "\xe6\x24\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xe1\xa2" , "\xe6\x24\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xe2" , "\xe8\x24\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xe4" , "\xe6\x24\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe5" , "\xe6\x24\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe5\xa2" , "\xe6\x24\x4f\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8" , "\x24\x4f\xcb\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\xd7\xae\x45\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\xae\x45\xc7\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\xe5\xae\x45\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\xe6\xae\x7a\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\xe5\xae\x47\xef" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x4f\xcb\xf4\xdb\xaa\xcc\x5e\xe7" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\xe6\xae\x4a\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xba" , "\xae\x4c\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\xe5\xae\x4c\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\xe9\xae\x4c\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\xae\x4c\xcb\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x4f\xcb\xf4\xdb\x4c\xcb\x45\xf5" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x4f\xcb\xf4\xdb\x4c\xcb\x47\xe7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x4f\xcb\xf4\xdb\x4c\xcb\xe6\x54\xf6\xe7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\xae\x4c\xcb\x58\xc7\xef" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\xae\x4c\xcb\x5f\xef" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\xe8\x76\xef\xf4" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\xe6\x76\xef\xf4\xe7" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\xae\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbd\xe8\xc5" , "\xae\x57\xfd\xef" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\xd7\xae\xf3\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\xae\xf3\xf4\xde" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\xae\xf3\xc7\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\xae\xf3\xc9\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xc8" , "\xae\x59\xef" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\xae\x59\xef\xe7" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\xe5\xae\x59\xef" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\xae\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\xd7\xae\x5a\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\xe5\xae\x5a\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\xe6\xae\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\xe8\xae\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\xe6\xae\x5b\xfd\xd0\xef\xec" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\xd7\x4f\x5d\xef" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x4f\x5d\xde" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\xe6\x4f\x5d\xef\x65" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\xe6\x4f\x5d\xef\xec" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\xae\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\xae\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xbd\xe8\xcf" , "\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\xae\xcf\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\xd7\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\xae\xcf\xf4\xde" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\xe6\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\xe6\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\xe8\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\xae\xcf\xcb\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1" , "\xae\xf2\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\xae\xf2\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\xae\xf2\xc7\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\xe6\xae\xf2\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\xe6\xae\xf2\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\xe6\xae\xf2\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x4f\xcb\xf4\xdb\xb7\xcc\x5e\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd4" , "\xae\xbe\xef" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\xe5\xae\xbe\xef" } , { "\xcf\xe8\xbd\xe8\xd7" , "\xae\x61\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\xd7\xae\x61\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\xae\x61\xc7\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\xe5\xae\x61\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\xe5\xae\x61\xef\x65" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\xae\x61\xcb\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\xae\x95\xef\xf5\xe7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\xbb\xcb\xae\x61\xcb\xd7\xa8\xbe" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\xae\xd8\xf6\x82\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\xe6\xae\xd8\xda\xf6\xef\xe7" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\xae\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\xae\x63\xf7\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\xd7\xae\x63\xf7\xdb\x65" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\xae\x63\xc9\xf7\xdb" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\xe5\xae\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\xae\xef\x61" } , { "\xcf\xe8\xbf" , "\x51\xef\xf6" } , { "\xcf\xe8\xbf\xda" , "\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xda\xa2" , "\x51\xef\xf6\xe7\x65" } , { "\xcf\xe8\xbf\xdb" , "\xd7\x51\xef\xf6" } , { "\xcf\xe8\xbf\xdb\xa2" , "\xd7\x51\xef\xf6\x65" } , { "\xcf\xe8\xbf\xdc" , "\x51\xf6\xde" } , { "\xcf\xe8\xbf\xdd" , "\x51\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xde" , "\x51\xc9\xef\xf6" } , { "\xcf\xe8\xbf\xe0" , "\xe5\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe0\xa2" , "\xe5\x51\xef\xf6\x65" } , { "\xcf\xe8\xbf\xe1" , "\xe5\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe2" , "\xe9\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe4" , "\xe5\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe5" , "\xe5\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe5\xa2" , "\xe5\x51\xef\xf6\xe7\x65" } , { "\xcf\xe8\xbf\xe8" , "\x51\xcb\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xb3" , "\xaf\x45\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\xd7\xaf\x45\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\xaf\x45\xf5\xde" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\xaf\x45\xc7\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\xe5\xaf\x45\xef\xf5\xe7" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\xe8\xaf\x7a\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\xaf\x47\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\xaf\x47\xd0\xde" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\xe6\xaf\x4a\xf4\xdb" } , { "\xcf\xe8\xbf\xe8\xbf" , "\xaf\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\xd7\xaf\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\xd7\xaf\xf3\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\xaf\xf3\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\xe6\xaf\xf3\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\xaf\xbc\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\xe5\xaf\xbc\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\xe5\xaf\xbc\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\xe8\xaf\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\xd7\xaf\xc1\xef\x65" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\xe5\xaf\xc1\xef" } , { "\xcf\xe8\xbf\xe8\xcd" , "\xaf\xcc\x5e\xef" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\xaf\xcc\x5e\xef\x65" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\xaf\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\xaf\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\xe5\xaf\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x51\xce\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\xd7\x51\xce\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x51\xce\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\xe6\x51\xce\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1" , "\xaf\xf2\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\xaf\xf2\xf6\xde" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\xaf\xf2\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\xe8\xaf\xf2\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\xe6\xaf\xf2\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xd4" , "\xaf\xbe\xef" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\xe5\xaf\xbe\xef" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\xe9\xaf\xbe\xef" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\xaf\x62\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xd7" , "\xaf\x61\xef" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\xaf\x61\xc7\xef" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\xe5\xaf\x61\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\xaf\x61\xcb\xef" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x51\xcb\xef\xf6\xd7\xba\x4f\xf4" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x51\xcb\xef\xf6\xe6\xba\x4f\xf4" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x51\xcb\xef\xf6\xe5\xba\xbe" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\xe5\xaf\x63\xf7\xdb" } , { "\xcf\xe8\xbf\xe9" , "\x51\xcd\xef\xf6" } , { "\xcf\xe8\xbf\xe9\xe1" , "\xe6\x51\xcd\xef\xf6" } , { "\xcf\xe8\xbf\xe9\xe5" , "\xe6\x51\xcd\xef\xf6\xe7" } , { "\xcf\xe8\xc0" , "\x24\x52\xf4\xdb" } , { "\xcf\xe8\xc0\xda" , "\x24\x52\xf4\xdb\xe7" } , { "\xcf\xe8\xc0\xdd" , "\x24\x52\xc7\xf4\xdb" } , { "\xcf\xe8\xc0\xe8" , "\x24\x52\xcb\xf4\xdb" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x52\xcb\xf4\xdb\xcc\x5e" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x52\xcb\xf4\xdb\xcc\x5e\x65" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x52\xcb\xf4\xdb\xcc\x5e\xe7" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x52\xcb\xf4\xdb\x61\xc7" } , { "\xcf\xe8\xc1" , "\x53\xef" } , { "\xcf\xe8\xc1\xa1" , "\x53\xef\x65" } , { "\xcf\xe8\xc1\xa2" , "\x53\xef\x65" } , { "\xcf\xe8\xc1\xa3" , "\x53\xef\x66" } , { "\xcf\xe8\xc1\xda" , "\x53\xef\xe7" } , { "\xcf\xe8\xc1\xda\xa2" , "\x53\xef\xe7\x65" } , { "\xcf\xe8\xc1\xda\xa3" , "\x53\xef\xe7\x66" } , { "\xcf\xe8\xc1\xdb" , "\xd7\x53\xef" } , { "\xcf\xe8\xc1\xdb\xa2" , "\xd7\x53\xef\x65" } , { "\xcf\xe8\xc1\xdc" , "\x53\xde" } , { "\xcf\xe8\xc1\xdd" , "\x53\xc7\xef" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x53\xc7\xef\x65" } , { "\xcf\xe8\xc1\xe0\xa2" , "\xe5\x53\xef\x65" } , { "\xcf\xe8\xc1\xe0\xa3" , "\xe5\x53\xef\x66" } , { "\xcf\xe8\xc1\xe1" , "\xe5\x53\xef" } , { "\xcf\xe8\xc1\xe5" , "\xe5\x53\xef\xe7" } , { "\xcf\xe8\xc1\xe5\xa2" , "\xe5\x53\xef\xe7\x65" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\xb0\x4a\xc7\xf4\xdb" } , { "\xcf\xe8\xc1\xe8\xcd" , "\xb0\xcc\x5e\xef" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\xb0\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\xb0\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc2" , "\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xa2" , "\x54\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xda" , "\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xc2\xda\xa2" , "\x54\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xc2\xdb" , "\xd7\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xdb\xa2" , "\xd7\x54\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xdb\xa3" , "\xd7\x54\xf6\xdb\x66" } , { "\xcf\xe8\xc2\xdc" , "\x54\xf6\xde" } , { "\xcf\xe8\xc2\xdd" , "\x54\xc7\xf6\xdb" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x54\xc7\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xde" , "\x54\xc9\xf6\xdb" } , { "\xcf\xe8\xc2\xde\xa2" , "\x54\xc9\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xdf" , "\x54\xca\xf6\xdb" } , { "\xcf\xe8\xc2\xe0" , "\xe5\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xe1" , "\xe5\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xe1\xa2" , "\xe5\x54\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xe2" , "\xe9\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xe4" , "\xe5\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xc2\xe5" , "\xe5\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xc2\xe5\xa2" , "\xe5\x54\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xc2\xe6" , "\xe5\x54\xf6\xdb\xec" } , { "\xcf\xe8\xc2\xe8" , "\x64\xef" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\xe5\x64\x45\xef\xf5\xe7" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\xe5\x64\x51\xef\xf6" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x77\xef\xf8" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x77\xef\xf8\xe7" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\xd7\x77\xef\xf8" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x77\xf8\xde" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\xe5\x77\xef\xf8" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\xe5\x77\xef\xf8\xe7" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x64\x64\xbe\xef" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\xe5\x78\xef" } , { "\xcf\xe8\xc2\xe8\xcc" , "\xb1\xc1\xef" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x64\xcc\x5e\xef" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x64\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x64\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x64\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\xe5\x64\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x79\xef\x65" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\xd7\xc5\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x79\xde" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\xe6\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\xe8\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\xe6\x79\xef\xe7" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\xe6\x79\xef\xe7" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\xe6\xb1\xf2\xef\xf6" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x64\xbe\xef" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\xd7\x64\xbe\xef" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\xe9\x64\xbe\xef" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x64\x61\xef" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\xe5\x64\x61\xef\xec" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x64\x61\xcb\xef" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\xbb\xcb\xb1\x61\xcb\xb3\xcc\x5e" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x64\xba\xcc\x5e\xef" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x64\xba\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc3" , "\x55\xef" } , { "\xcf\xe8\xc3\xa1" , "\x55\xef\x65" } , { "\xcf\xe8\xc3\xa2" , "\x55\xef\x65" } , { "\xcf\xe8\xc3\xa3" , "\x55\xef\x66" } , { "\xcf\xe8\xc3\xda" , "\x55\xef\xe7" } , { "\xcf\xe8\xc3\xda\xa2" , "\x55\xef\xe7\x65" } , { "\xcf\xe8\xc3\xdb" , "\xd7\x55\xef" } , { "\xcf\xe8\xc3\xdb\xa2" , "\xd7\x55\xef\x65" } , { "\xcf\xe8\xc3\xdc" , "\x55\xde" } , { "\xcf\xe8\xc3\xdd" , "\x55\xc7\xef" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x55\xc7\xef\x65" } , { "\xcf\xe8\xc3\xde" , "\x55\xc9\xef" } , { "\xcf\xe8\xc3\xe1" , "\xe5\x55\xef" } , { "\xcf\xe8\xc3\xe2" , "\xe9\x55\xef" } , { "\xcf\xe8\xc3\xe5" , "\xe5\x55\xef\xe7" } , { "\xcf\xe8\xc3\xe5\xa2" , "\xe5\x55\xef\xe7\x65" } , { "\xcf\xe8\xc3\xe6" , "\xe5\x55\xef\xec" } , { "\xcf\xe8\xc3\xe8" , "\x55\xcb\xef" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x55\xcb\xef\xe6\x24\x4a\xf4" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x55\xcb\xef\x5c\xf6\xe7" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x55\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x55\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x55\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x55\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x55\xcb\xef\xe5\xcc\x5e\xe7\x65" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x55\xcb\xef\xe5\xcc\x5e\xec" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x55\xd0\xef" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x55\xd0\xef\xe7" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\xe6\x55\xd0\xef\xe7" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x55\xcb\xef\xbe" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x55\xcb\xef\xbe\xe7" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x55\xcb\xef\xe6\xba\x4f\xf4" } , { "\xcf\xe8\xc4" , "\x56\xdb" } , { "\xcf\xe8\xc4\xa2" , "\x56\xdb\x65" } , { "\xcf\xe8\xc4\xa3" , "\x56\xdb\x66" } , { "\xcf\xe8\xc4\xda" , "\x56\xdb\xe7" } , { "\xcf\xe8\xc4\xda\xa2" , "\x56\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xdb" , "\xd7\x56\xdb" } , { "\xcf\xe8\xc4\xdb\xa2" , "\xd7\x56\xdb\x65" } , { "\xcf\xe8\xc4\xdc" , "\x56\xde" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x56\xde\x65" } , { "\xcf\xe8\xc4\xdd" , "\x56\xc7\xdb" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x56\xc7\xdb\x65" } , { "\xcf\xe8\xc4\xde" , "\x56\xc9\xdb" } , { "\xcf\xe8\xc4\xdf" , "\x56\xca\xdb" } , { "\xcf\xe8\xc4\xe0" , "\xe5\x56\xdb" } , { "\xcf\xe8\xc4\xe1" , "\xe5\x56\xdb" } , { "\xcf\xe8\xc4\xe1\xa2" , "\xe5\x56\xdb\x65" } , { "\xcf\xe8\xc4\xe2" , "\xe9\x56\xdb" } , { "\xcf\xe8\xc4\xe4" , "\xe5\x56\xdb\xe7" } , { "\xcf\xe8\xc4\xe5" , "\xe5\x56\xdb\xe7" } , { "\xcf\xe8\xc4\xe5\xa2" , "\xe5\x56\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x81\xdb" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x81\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x88\xf9\xdb" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x88\xf9\xdb\xe7" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x88\xf9\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\xd7\x88\xf9\xdb" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\xe5\x88\xf9\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\xe5\xb2\xbf\xef" } , { "\xcf\xe8\xc4\xe8\xcd" , "\xb2\xcc\x5e\xef" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\xb2\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\xb2\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x56\xd0\xdb" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x56\xd0\xdb\x65" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x56\xd0\xdb\xe7" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x56\xd0\xde" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\xe6\x56\xd0\xdb\xe7" } , { "\xcf\xe8\xc4\xe8\xd4" , "\xb2\xbe\xef" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\xb2\xbe\xef\x65" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\xb2\xbe\xef\xe7" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\xd7\xb2\x72\xef\xf4" } , { "\xcf\xe8\xc5" , "\x57\xfd\xef" } , { "\xcf\xe8\xc5\xa2" , "\x57\xfd\xef\x65" } , { "\xcf\xe8\xc5\xda" , "\x57\xfd\xef\xe7" } , { "\xcf\xe8\xc5\xda\xa2" , "\x57\xfd\xef\xe7\x65" } , { "\xcf\xe8\xc5\xdb" , "\xd7\x57\xfd\xef" } , { "\xcf\xe8\xc5\xdb\xa2" , "\xd7\x57\xfd\xef\x65" } , { "\xcf\xe8\xc5\xdc" , "\x57\xfd\xde" } , { "\xcf\xe8\xc5\xdd" , "\x57\xfd\xc7\xef" } , { "\xcf\xe8\xc5\xde" , "\x57\xfd\xc9\xef" } , { "\xcf\xe8\xc5\xdf" , "\x57\xfd\xca\xef" } , { "\xcf\xe8\xc5\xe0" , "\xe5\x57\xfd\xef" } , { "\xcf\xe8\xc5\xe1" , "\xe5\x57\xfd\xef" } , { "\xcf\xe8\xc5\xe5" , "\xe5\x57\xfd\xef\xe7" } , { "\xcf\xe8\xc5\xe5\xa2" , "\xe5\x57\xfd\xef\xe7\x65" } , { "\xcf\xe8\xc5\xe8" , "\x57\xfd\xcb\xef" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x57\xfd\xcb\xef\x56" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x57\xfd\xcb\xef\x56\xe7" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x57\xfd\xcb\xef\x56\xe7\x65" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\xd7\x57\xfd\xc2\xef" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\xe5\x57\x5d\xef" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x57\xfd\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x57\xfd\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x57\xfd\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x57\xfd\xcb\xef\xe5\xcc\x5e\xe7\x65" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x57\xfd\xd0\xef" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x57\xfd\xd0\xef\xe7" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x57\xfd\xcb\xef\xbb\xcb\xe5\xcc\x5e" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x57\xfd\xcb\xef\xbe" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x57\xfd\xcb\xef\xbe\x65" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x57\xfd\xcb\xef\xbe\xe7" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x57\xfd\xcb\xef\xbe\xe7\x65" } , { "\xcf\xe8\xc6" , "\x58\xef" } , { "\xcf\xe8\xc6\xa2" , "\x58\xef\x65" } , { "\xcf\xe8\xc6\xda" , "\x58\xef\xe7" } , { "\xcf\xe8\xc6\xda\xa2" , "\x58\xef\xe7\x65" } , { "\xcf\xe8\xc6\xdb" , "\xd7\x58\xef" } , { "\xcf\xe8\xc6\xdb\xa2" , "\xd7\x58\xef\x65" } , { "\xcf\xe8\xc6\xdc" , "\x58\xde" } , { "\xcf\xe8\xc6\xdd" , "\x58\xc7\xef" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x58\xc7\xef\x65" } , { "\xcf\xe8\xc6\xde" , "\x58\xc9\xef" } , { "\xcf\xe8\xc6\xdf" , "\x58\xca\xef" } , { "\xcf\xe8\xc6\xe0" , "\xe5\x58\xef" } , { "\xcf\xe8\xc6\xe0\xa2" , "\xe5\x58\xef\x65" } , { "\xcf\xe8\xc6\xe1" , "\xe5\x58\xef" } , { "\xcf\xe8\xc6\xe1\xa2" , "\xe5\x58\xef\x65" } , { "\xcf\xe8\xc6\xe2" , "\xe9\x58\xef" } , { "\xcf\xe8\xc6\xe4" , "\xe5\x58\xef\xe7" } , { "\xcf\xe8\xc6\xe5" , "\xe5\x58\xef\xe7" } , { "\xcf\xe8\xc6\xe5\xa2" , "\xe5\x58\xef\xe7\x65" } , { "\xcf\xe8\xc6\xe8" , "\x58\xcb\xef" } , { "\xcf\xe8\xc6\xe8\xbf" , "\xb3\x51\xef\xf6" } , { "\xcf\xe8\xc6\xe8\xc2" , "\xdc\x99\xef\xf6" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\xe5\xb3\x56\xdb" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x7e\xc9\xef" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\xb3\x59\xc9\xef" } , { "\xcf\xe8\xc6\xe8\xca" , "\x58\x9f\xef" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\xe5\x58\x9f\xef" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xe6\xb3\x5b\xfd\xc0\xef\x65" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x58\xbd\xef\xe7" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\xe5\x58\xbd\xef\x65" } , { "\xcf\xe8\xc6\xe8\xd1" , "\xdc\xda\xf6\xef" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\xdc\xda\xf6\xc7\xef" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\xe6\xdc\xda\xf6\xef" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\xe6\xdc\xda\xf6\xef\xe7" } , { "\xcf\xe8\xc6\xe8\xd4" , "\xb3\xbe\xef" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\xb3\xbe\xef\xe7" } , { "\xcf\xe8\xc6\xe8\xd7" , "\xb3\x61\xef" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\xb3\x61\xcb\xef" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\xb3\x95\xef\xf5" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x58\xcb\xef\xba\x4f\xf4\xe7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x58\xcb\xef\xe6\xba\x4f\xf4" } , { "\xcf\xe8\xc6\xe8\xd8" , "\xb3\x63\xf7\xdb" } , { "\xcf\xe8\xc8" , "\x59\xef" } , { "\xcf\xe8\xc8\xa2" , "\x59\xef\x65" } , { "\xcf\xe8\xc8\xda" , "\x59\xef\xe7" } , { "\xcf\xe8\xc8\xda\xa2" , "\x59\xef\xe7\x65" } , { "\xcf\xe8\xc8\xdb" , "\xd7\x59\xef" } , { "\xcf\xe8\xc8\xdb\xa2" , "\xd7\x59\xef\x65" } , { "\xcf\xe8\xc8\xdc" , "\x59\xde" } , { "\xcf\xe8\xc8\xdd" , "\x59\xc7\xef" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x59\xc7\xef\x65" } , { "\xcf\xe8\xc8\xde" , "\x59\xc9\xef" } , { "\xcf\xe8\xc8\xe0" , "\xe5\x59\xef" } , { "\xcf\xe8\xc8\xe0\xa2" , "\xe5\x59\xef\x65" } , { "\xcf\xe8\xc8\xe1" , "\xe5\x59\xef" } , { "\xcf\xe8\xc8\xe1\xa2" , "\xe5\x59\xef\x65" } , { "\xcf\xe8\xc8\xe2" , "\xe9\x59\xef" } , { "\xcf\xe8\xc8\xe4" , "\xe5\x59\xef\xe7" } , { "\xcf\xe8\xc8\xe4\xa2" , "\xe5\x59\xef\xe7\x65" } , { "\xcf\xe8\xc8\xe5" , "\xe5\x59\xef\xe7" } , { "\xcf\xe8\xc8\xe5\xa2" , "\xe5\x59\xef\xe7\x65" } , { "\xcf\xe8\xc8\xe8" , "\x59\xcb\xef" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\xb4\x47\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\xe5\x8a\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x59\xc2\xc7\xef" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\xb4\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\xb4\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x59\xd2\xef" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x59\xd2\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\xd7\x59\xd2\xef\x65" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\xe6\x59\xd2\xef" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\xe6\x59\xd2\xef\x65" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\xe8\x59\xd2\xef" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x59\xc0\xef" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x59\xc0\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x59\xc0\xef\xe7\x65" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x59\xc0\xc7\xef" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\xe6\x59\xc0\xef" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\xe6\x59\xc0\xef\xe7" } , { "\xcf\xe8\xc9" , "\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xda" , "\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xc9\xdb" , "\xd7\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xdc" , "\x5a\xf5\xde" } , { "\xcf\xe8\xc9\xdd" , "\x5a\xc7\xef\xf5" } , { "\xcf\xe8\xc9\xe0" , "\xe5\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe1" , "\xe5\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe2" , "\xe9\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe5" , "\xe5\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xc9\xe5\xa2" , "\xe5\x5a\xef\xf5\xe7\x65" } , { "\xcf\xe8\xc9\xe8" , "\x5a\xcb\xef\xf5" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x5a\xcb\xef\xf5\x45\xc9\xf5" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x5a\xcb\xef\xf5\x51\xf6" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x5a\xcb\xef\xf5\xcc\x5e\xc9" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x6e\xef\xf5\xe7" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x6e\xc9\xef\xf5" } , { "\xcf\xe8\xc9\xe8\xd4" , "\x5a\xcb\xef\xf5\xbe" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\x5a\xcb\xef\xf5\xe5\xbe" } , { "\xcf\xe8\xc9\xe9" , "\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe9\xdc" , "\x5a\xf5\xde" } , { "\xcf\xe8\xca" , "\x5b\xfd\xef" } , { "\xcf\xe8\xca\xa2" , "\x5b\xfd\xef\x65" } , { "\xcf\xe8\xca\xda" , "\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xca\xdb" , "\xd7\x5b\xfd\xef" } , { "\xcf\xe8\xca\xdb\xa2" , "\xd7\x5b\xfd\xef\x65" } , { "\xcf\xe8\xca\xdc" , "\x5b\xfd\xde" } , { "\xcf\xe8\xca\xdd" , "\x5b\xfd\xc7\xef" } , { "\xcf\xe8\xca\xde" , "\x5b\xfd\xc9\xef" } , { "\xcf\xe8\xca\xe0" , "\xe5\x5b\xfd\xef" } , { "\xcf\xe8\xca\xe0\xa2" , "\xe5\x5b\xfd\xef\x65" } , { "\xcf\xe8\xca\xe1" , "\xe5\x5b\xfd\xef" } , { "\xcf\xe8\xca\xe2" , "\xe9\x5b\xfd\xef" } , { "\xcf\xe8\xca\xe4" , "\xe5\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xca\xe5" , "\xe5\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xca\xe5\xa2" , "\xe5\x5b\xfd\xef\xe7\x65" } , { "\xcf\xe8\xca\xe6" , "\xe5\x5b\xfd\xef\xec" } , { "\xcf\xe8\xca\xe8" , "\x5b\xfd\xcb\xef" } , { "\xcf\xe8\xca\xe8\xbf" , "\x5b\xfd\xcb\xef\x51\xf6" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\x5b\xfd\xcb\xef\xd7\x55" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\x5b\xfd\xcb\xef\xdc\xda\xf6\xc7" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\x5b\xfd\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\x5b\xfd\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xca\xe8\xcf" , "\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\x5b\xfd\xd0\xef\xe7" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\xe6\x5b\xfd\xd0\xef\xe7" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\x5b\xfd\xc0\xcb\xef" } , { "\xcf\xe8\xca\xe8\xd7" , "\x5b\xfd\xcb\xef\x61" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\x5b\xfd\xcb\xef\x61\xcb" } , { "\xcf\xe8\xcb" , "\x5c\xf6\xdb" } , { "\xcf\xe8\xcb\xa2" , "\x5c\xf6\xdb\x65" } , { "\xcf\xe8\xcb\xa3" , "\x5c\xf6\xdb\x66" } , { "\xcf\xe8\xcb\xda" , "\x5c\xf6\xdb\xe7" } , { "\xcf\xe8\xcb\xda\xa2" , "\x5c\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xcb\xdb" , "\xd7\x5c\xf6\xdb" } , { "\xcf\xe8\xcb\xdb\xa2" , "\xd7\x5c\xf6\xdb\x65" } , { "\xcf\xe8\xcb\xdc" , "\x5c\xf6\xde" } , { "\xcf\xe8\xcb\xdd" , "\x5c\xc7\xf6\xdb" } , { "\xcf\xe8\xcb\xde" , "\x5c\xc9\xf6\xdb" } , { "\xcf\xe8\xcb\xde\xa3" , "\x5c\xc9\xf6\xdb\x66" } , { "\xcf\xe8\xcb\xe1" , "\xe5\x5c\xf6\xdb" } , { "\xcf\xe8\xcb\xe5" , "\xe5\x5c\xf6\xdb\xe7" } , { "\xcf\xe8\xcb\xe5\xa2" , "\xe5\x5c\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xcb\xe6" , "\xe5\x5c\xf6\xdb\xec" } , { "\xcf\xe8\xcb\xe8\xcf" , "\x7d\xdb" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\x7d\xdb\xe7" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\x5c\xcb\xf6\xdb\x61\xcb" } , { "\xcf\xe8\xcc" , "\x5d\xef" } , { "\xcf\xe8\xcc\xa2" , "\x5d\xef\x65" } , { "\xcf\xe8\xcc\xa3" , "\x5d\xef\x66" } , { "\xcf\xe8\xcc\xda" , "\x5d\xef\xe7" } , { "\xcf\xe8\xcc\xda\xa1" , "\x5d\xef\xe7\x65" } , { "\xcf\xe8\xcc\xda\xa2" , "\x5d\xef\xe7\x65" } , { "\xcf\xe8\xcc\xdb" , "\xd7\x5d\xef" } , { "\xcf\xe8\xcc\xdb\xa2" , "\xd7\x5d\xef\x65" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\xd7\x5d\xef\x65\x65" } , { "\xcf\xe8\xcc\xdc" , "\x5d\xde" } , { "\xcf\xe8\xcc\xdc\xa2" , "\x5d\xde\x65" } , { "\xcf\xe8\xcc\xdd" , "\x5d\xc7\xef" } , { "\xcf\xe8\xcc\xdd\xa2" , "\x5d\xc7\xef\x65" } , { "\xcf\xe8\xcc\xde" , "\x5d\xc9\xef" } , { "\xcf\xe8\xcc\xe0" , "\xe5\x5d\xef" } , { "\xcf\xe8\xcc\xe0\xa2" , "\xe5\x5d\xef\x65" } , { "\xcf\xe8\xcc\xe1" , "\xe5\x5d\xef" } , { "\xcf\xe8\xcc\xe1\xa2" , "\xe5\x5d\xef\x65" } , { "\xcf\xe8\xcc\xe2" , "\xe9\x5d\xef" } , { "\xcf\xe8\xcc\xe4" , "\xe5\x5d\xef\xe7" } , { "\xcf\xe8\xcc\xe5" , "\xe5\x5d\xef\xe7" } , { "\xcf\xe8\xcc\xe5\xa2" , "\xe5\x5d\xef\xe7\x65" } , { "\xcf\xe8\xcc\xe8" , "\x5d\xcb\xef" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\x5d\xcb\xef\x45\xc7\xf5" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\x5d\xcb\xef\x47\xd0\xd3" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\x5d\xcb\xef\xe6\x24\x4a\xf4" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\x5d\xcb\xef\xe6\x24\x4a\xf4\xe7" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\x5d\xcb\xef\xd7\x24\x4f\xf4" } , { "\xcf\xe8\xcc\xe8\xbf" , "\x5d\xcb\xef\x51\xf6" } , { "\xcf\xe8\xcc\xe8\xc2" , "\xb6\x99\xef\xf6" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\xe6\xb6\x99\xef\xf6\xe7" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\xb6\x6f\xf6\xef\x65" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\xb6\x6f\xf6\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\xb6\x6f\xf6\xc7\xef" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\xb6\x6f\xf6\xc7\xef\x65" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\xb6\xf6\x8f\xef\xf5\xe7" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\xb6\xf6\x8f\xf5\xde" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\x90\xef\xf6\xe7" } , { "\xcf\xe8\xcc\xe8\xcc" , "\xb6\xf6\x82\xef" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\xb6\xf6\x82\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xcd" , "\x5d\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\x5d\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\x5d\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\x5d\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\x5d\xcb\xef\xe5\xcc\x5e\xe7" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\xe6\xb6\x83\xf6\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xd1" , "\xb6\xda\xf6\xef" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\xb6\xda\xf6\xc7\xef" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\xe6\xb6\xda\xf6\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\x5d\xcb\xef\x61\xc7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\x5d\xcb\xef\x61\xcb" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xbb\xcb\x5d\xcb\xba\xae\xcf\xf4\xe7\x65" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\x5d\xcb\xef\xe6\xd8\x99\xf6\xe7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\x5d\xcb\xef\xd7\xd8\x6f\xf6" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\x5d\xcb\xef\xd7\x26" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\x5d\xcb\xef\xd8\xf6\x82\xe7" } , { "\xcf\xe8\xcd" , "\xcc\x5e\xef" } , { "\xcf\xe8\xcd\xa2" , "\xcc\x5e\xef\x65" } , { "\xcf\xe8\xcd\xa3" , "\xcc\x5e\xef\x66" } , { "\xcf\xe8\xcd\xda" , "\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xcd\xda\xa2" , "\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xcd\xdb" , "\xd7\xcc\x5e\xef" } , { "\xcf\xe8\xcd\xdc" , "\xcc\x5e\xde" } , { "\xcf\xe8\xcd\xdd" , "\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xcd\xdd\xa2" , "\xcc\x5e\xc7\xef\x65" } , { "\xcf\xe8\xcd\xde" , "\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xcd\xe1" , "\xe5\xcc\x5e\xef" } , { "\xcf\xe8\xcd\xe4" , "\xe5\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xcd\xe5" , "\xe5\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xcd\xe5\xa2" , "\xe5\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\xcc\x5e\xcb\xef\x45\xc9\xf5" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\xcc\x5e\xcb\xef\x55\x65" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\xcc\x5e\xcb\xef\x55\xe7" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\xcc\x5e\xcb\xef\x56\x65" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\xcc\x5e\xcb\xef\x56\xe7" } , { "\xcf\xe8\xcd\xe8\xc5" , "\xcc\x5e\xcb\xef\x57\xfd" } , { "\xcf\xe8\xcd\xe8\xcd" , "\xcc\x5e\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\xcc\x5e\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\xcc\x5e\xcb\xef\xcc\x5e\xc9" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\xcc\x5e\xcb\xef\xbb\xcb\xcc\x5e" } , { "\xcf\xe8\xcd\xe8\xd4" , "\xcc\x5e\xcb\xef\xbe" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\xcc\x5e\xcb\xef\xbe\xe7" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\xcc\x5e\xcb\xef\xbe\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\xcc\x5e\xcb\xef\xbe\xc9" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\xcc\x5e\xcb\xef\xd7\x62\x65" } , { "\xcf\xe8\xcf" , "\xbb\xef" } , { "\xcf\xe8\xcf\xa2" , "\xbb\xef\x65" } , { "\xcf\xe8\xcf\xda" , "\xbb\xef\xe7" } , { "\xcf\xe8\xcf\xda\xa2" , "\xbb\xef\xe7\x65" } , { "\xcf\xe8\xcf\xdb" , "\xd7\xbb\xef" } , { "\xcf\xe8\xcf\xdb\xa2" , "\xd7\xbb\xef\x65" } , { "\xcf\xe8\xcf\xdc" , "\xbb\xde" } , { "\xcf\xe8\xcf\xdd" , "\xbb\xef\xd3" } , { "\xcf\xe8\xcf\xdd\xa2" , "\xbb\xef\xd3\x65" } , { "\xcf\xe8\xcf\xde" , "\xbb\xef\xd6" } , { "\xcf\xe8\xcf\xe0" , "\xe5\xbb\xef" } , { "\xcf\xe8\xcf\xe0\xa2" , "\xe5\xbb\xef\x65" } , { "\xcf\xe8\xcf\xe1" , "\xe5\xbb\xef" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xe5\xbb\xef\x65" } , { "\xcf\xe8\xcf\xe2" , "\xe9\xbb\xef" } , { "\xcf\xe8\xcf\xe4" , "\xe5\xbb\xef\xe7" } , { "\xcf\xe8\xcf\xe5" , "\xe5\xbb\xef\xe7" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xe5\xbb\xef\xe7\x65" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\xbb\xcb\xef\x24\x4a\xc7\xf4" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\xbb\xcb\xef\x24\x4f\xcb\xf4" } , { "\xcf\xe8\xcf\xe8\xcc" , "\xbb\xbd\xef" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\xbb\xcb\xef\xbb\x65" } , { "\xcf\xe8\xcf\xe8\xd8" , "\xbb\xcb\xef\x63\xf7" } , { "\xcf\xe8\xd0" , "\xbb\xef" } , { "\xcf\xe8\xd0\xda" , "\xbb\xef\xe7" } , { "\xcf\xe8\xd0\xdb" , "\xd7\xbb\xef" } , { "\xcf\xe8\xd0\xe1\xa2" , "\xe5\xbb\xef\x65" } , { "\xcf\xe8\xd1" , "\x5f\xef" } , { "\xcf\xe8\xd1\xa2" , "\x5f\xef\x65" } , { "\xcf\xe8\xd1\xda" , "\x5f\xef\xe7" } , { "\xcf\xe8\xd1\xda\xa1" , "\x5f\xef\xe7\x65" } , { "\xcf\xe8\xd1\xda\xa2" , "\x5f\xef\xe7\x65" } , { "\xcf\xe8\xd1\xdb" , "\xd7\x5f\xef" } , { "\xcf\xe8\xd1\xdb\xa2" , "\xd7\x5f\xef\x65" } , { "\xcf\xe8\xd1\xdc" , "\x5f\xde" } , { "\xcf\xe8\xd1\xdd" , "\x5f\xc7\xef" } , { "\xcf\xe8\xd1\xdd\xa2" , "\x5f\xc7\xef\x65" } , { "\xcf\xe8\xd1\xde" , "\x5f\xc9\xef" } , { "\xcf\xe8\xd1\xe0" , "\xe5\x5f\xef" } , { "\xcf\xe8\xd1\xe0\xa2" , "\xe5\x5f\xef\x65" } , { "\xcf\xe8\xd1\xe1" , "\xe5\x5f\xef" } , { "\xcf\xe8\xd1\xe1\xa2" , "\xe5\x5f\xef\x65" } , { "\xcf\xe8\xd1\xe2" , "\xe9\x5f\xef" } , { "\xcf\xe8\xd1\xe4" , "\xe5\x5f\xef\xe7" } , { "\xcf\xe8\xd1\xe5" , "\xe5\x5f\xef\xe7" } , { "\xcf\xe8\xd1\xe5\xa2" , "\xe5\x5f\xef\xe7\x65" } , { "\xcf\xe8\xd1\xe8" , "\x5f\xcb\xef" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\xb7\x4c\xdb" } , { "\xcf\xe8\xd1\xe8\xbf" , "\xb7\x51\xef\xf6" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\xe5\xb7\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\xb7\x59\xc0\xef" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\xb7\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\x5f\xbd\xef\xe7" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\xb7\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\xe5\xb7\xbe\xef" } , { "\xcf\xe8\xd1\xe8\xd7" , "\xb7\x61\xef" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\xb7\x61\xc7\xef" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\xb7\x61\xcb\xef" } , { "\xcf\xe8\xd2" , "\x5f\xef" } , { "\xcf\xe8\xd4" , "\xbe\xef" } , { "\xcf\xe8\xd4\xa2" , "\xbe\xef\x65" } , { "\xcf\xe8\xd4\xa3" , "\xbe\xef\x66" } , { "\xcf\xe8\xd4\xda" , "\xbe\xef\xe7" } , { "\xcf\xe8\xd4\xda\xa2" , "\xbe\xef\xe7\x65" } , { "\xcf\xe8\xd4\xdb" , "\xd7\xbe\xef" } , { "\xcf\xe8\xd4\xdb\xa2" , "\xd7\xbe\xef\x65" } , { "\xcf\xe8\xd4\xdc" , "\xbe\xde" } , { "\xcf\xe8\xd4\xdd" , "\xbe\xc7\xef" } , { "\xcf\xe8\xd4\xdd\xa2" , "\xbe\xc7\xef\x65" } , { "\xcf\xe8\xd4\xde" , "\xbe\xc9\xef" } , { "\xcf\xe8\xd4\xdf" , "\xbe\xca\xef" } , { "\xcf\xe8\xd4\xe0" , "\xe5\xbe\xef" } , { "\xcf\xe8\xd4\xe0\xa2" , "\xe5\xbe\xef\x65" } , { "\xcf\xe8\xd4\xe1" , "\xe5\xbe\xef" } , { "\xcf\xe8\xd4\xe1\xa2" , "\xe5\xbe\xef\x65" } , { "\xcf\xe8\xd4\xe2" , "\xe9\xbe\xef" } , { "\xcf\xe8\xd4\xe5" , "\xe5\xbe\xef\xe7" } , { "\xcf\xe8\xd4\xe5\xa2" , "\xe5\xbe\xef\xe7\x65" } , { "\xcf\xe8\xd4\xe6" , "\xe5\xbe\xef\xec" } , { "\xcf\xe8\xd4\xe8" , "\xbe\xcb\xef" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\xbe\xcb\xef\xe6\x24\x4a\xf4" } , { "\xcf\xe8\xd4\xe8\xcd" , "\xbe\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\xbe\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\xbe\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\xbe\xcb\xef\xcc\x5e\xc9" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\xbe\xcb\xef\xcc\x5e\xcb\xbe" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\xbe\xd0\xc7\xef" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\xe6\xbe\xc0\xef\xe7" } , { "\xcf\xe8\xd4\xe8\xd4" , "\xbe\xcb\xef\xbe" } , { "\xcf\xe8\xd4\xe8\xd5" , "\xbe\xcb\xef\x60" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\xbe\xcb\xef\x63\xf7\xdd" } , { "\xcf\xe8\xd5" , "\x60\xef" } , { "\xcf\xe8\xd5\xa2" , "\x60\xef\x65" } , { "\xcf\xe8\xd5\xa3" , "\x60\xef\x66" } , { "\xcf\xe8\xd5\xda" , "\x60\xef\xe7" } , { "\xcf\xe8\xd5\xda\xa2" , "\x60\xef\xe7\x65" } , { "\xcf\xe8\xd5\xdb" , "\xd7\x60\xef" } , { "\xcf\xe8\xd5\xdb\xa2" , "\xd7\x60\xef\x65" } , { "\xcf\xe8\xd5\xdc" , "\x60\xde" } , { "\xcf\xe8\xd5\xdd" , "\xa3\xef" } , { "\xcf\xe8\xd5\xe0" , "\xe5\x60\xef" } , { "\xcf\xe8\xd5\xe1" , "\xe5\x60\xef" } , { "\xcf\xe8\xd5\xe1\xa2" , "\xe5\x60\xef\x65" } , { "\xcf\xe8\xd5\xe5" , "\xe5\x60\xef\xe7" } , { "\xcf\xe8\xd5\xe5\xa2" , "\xe5\x60\xef\xe7\x65" } , { "\xcf\xe8\xd5\xe8\xcd" , "\xb8\xcc\x5e\xef" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\xb8\xcc\x5e\xef\x65" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\xb8\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xd5\xe8\xcf" , "\x60\xd2\xef" } , { "\xcf\xe8\xd5\xe8\xd4" , "\xb8\xbe\xef" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\xb8\xbe\xef\x65" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\xb8\xbe\xef\xe7" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\xb8\xbe\xef\xe7\x65" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\xd7\xb8\xbe\xef" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\xe5\xb8\xbe\xef\xe7" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\xe5\xb8\xbe\xef\xe7\x65" } , { "\xcf\xe8\xd5\xe8\xd5" , "\xb8\x60\xef" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\xb8\xef\x2b" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\xb8\xef\xbe" } , { "\xcf\xe8\xd6" , "\x62\xef" } , { "\xcf\xe8\xd6\xa1" , "\x62\xef\x65" } , { "\xcf\xe8\xd6\xa2" , "\x62\xef\x65" } , { "\xcf\xe8\xd6\xda" , "\x62\xef\xe7" } , { "\xcf\xe8\xd6\xda\xa2" , "\x62\xef\xe7\x65" } , { "\xcf\xe8\xd6\xdb" , "\xd7\x62\xef" } , { "\xcf\xe8\xd6\xdb\xa2" , "\xd7\x62\xef\x65" } , { "\xcf\xe8\xd6\xdc" , "\x62\xde" } , { "\xcf\xe8\xd6\xdd" , "\x62\xc7\xef" } , { "\xcf\xe8\xd6\xe0" , "\xe5\x62\xef" } , { "\xcf\xe8\xd6\xe1" , "\xe5\x62\xef" } , { "\xcf\xe8\xd6\xe2" , "\xe9\x62\xef" } , { "\xcf\xe8\xd6\xe5" , "\xe5\x62\xef\xe7" } , { "\xcf\xe8\xd6\xe5\xa2" , "\xe5\x62\xef\xe7\x65" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\xd7\x9b\xef\xf5" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\xe5\x9b\xef\xf5\xe7" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\xe5\xb9\x47\xef" } , { "\xcf\xe8\xd6\xe8\xbd" , "\x72\xef\xf4" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\x72\xd1\xf4\xef" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\x72\xd1\xf4\xde" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\xd7\x62\xef\xd5" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\xe5\x62\xef\xd5" } , { "\xcf\xe8\xd6\xe8\xcd" , "\xb9\xcc\x5e\xef" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\xb9\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\xe5\xb9\xcc\x5e\xef" } , { "\xcf\xe8\xd7" , "\x61\xef" } , { "\xcf\xe8\xd7\xa2" , "\x61\xef\x65" } , { "\xcf\xe8\xd7\xda" , "\x61\xef\xe7" } , { "\xcf\xe8\xd7\xda\xa2" , "\x61\xef\xe7\x65" } , { "\xcf\xe8\xd7\xdb" , "\xd7\x61\xef" } , { "\xcf\xe8\xd7\xdb\xa2" , "\xd7\x61\xef\x65" } , { "\xcf\xe8\xd7\xdc" , "\x61\xde" } , { "\xcf\xe8\xd7\xdd" , "\x61\xc7\xef" } , { "\xcf\xe8\xd7\xde" , "\x61\xc9\xef" } , { "\xcf\xe8\xd7\xdf" , "\x61\xca\xef" } , { "\xcf\xe8\xd7\xe0" , "\xe5\x61\xef" } , { "\xcf\xe8\xd7\xe0\xa2" , "\xe5\x61\xef\x65" } , { "\xcf\xe8\xd7\xe1" , "\xe5\x61\xef" } , { "\xcf\xe8\xd7\xe1\xa2" , "\xe5\x61\xef\x65" } , { "\xcf\xe8\xd7\xe2" , "\xe9\x61\xef" } , { "\xcf\xe8\xd7\xe5" , "\xe5\x61\xef\xe7" } , { "\xcf\xe8\xd7\xe5\xa2" , "\xe5\x61\xef\xe7\x65" } , { "\xcf\xe8\xd7\xe8" , "\x61\xcb\xef" } , { "\xcf\xe8\xd7\xe8\xb3" , "\x95\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\x95\xef\xf5\xe7" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\xd7\x95\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\x95\xf5\xde" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\x95\xc7\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\xba\x47\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\xe6\xba\x4a\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd" , "\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\xba\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\xba\x4f\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\xd7\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\xba\x4f\xc7\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\xe6\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\xe6\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\xe8\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\xba\x4f\xcb\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\xae\xcf\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\xbb\xcb\xae\xba\xd8\x9a\xf6" } , { "\xcf\xe8\xd7\xe8\xbf" , "\xba\x51\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\xe5\xba\x51\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\xba\x51\xcb\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\xd8\x99\xc7\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\xe6\xd8\x99\xef\xf6\xe7" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\xd8\x9a\xf6\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\xd8\x9a\xf6\xde" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x61\xcb\xef\xb2\xbe\xe7" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\xd7\xd8\x6f\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\xd8\x6f\xf6\xde" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\xd8\x6f\xf6\xc7\xef" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\xd8\x6f\xf6\xc7\xef\x65" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\xe5\xd8\x6f\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xc8" , "\x26\xef" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\x26\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\x26\xde" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\x26\xc9\xef" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\xe5\x26\xef" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\xe5\x26\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\xe5\x26\xd2\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x26\xc0\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\xd7\x26\xc0\xef" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\x61\xcb\xef\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\xd7\xba\x6e\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xca" , "\xd8\x91\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\xe5\xd8\x91\xf6\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\xe5\xd8\xf6\x82\xef\x65" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\xe5\xd8\xf6\x82\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\xba\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xd7\xe8\xd1" , "\xd8\xda\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\xd7\xd8\xda\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\xd8\xda\xf6\xde" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\xd8\xda\xf6\xc7\xef" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\xe6\xd8\xda\xf6\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xd4" , "\xba\xbe\xef" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\xba\xbe\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\xd7\xba\xbe\xef" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\xe5\xba\xbe\xef" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\xe9\xba\xbe\xef" } , { "\xcf\xe8\xd7\xe8\xd7" , "\xba\x61\xef" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\xba\x61\xef\xe7" } , { "\xcf\xe8\xd8" , "\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xa2" , "\x63\xf7\xdb\x65" } , { "\xcf\xe8\xd8\xda" , "\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xd8\xda\xa2" , "\x63\xf7\xdb\xe7\x65" } , { "\xcf\xe8\xd8\xdb" , "\xd7\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xdb\xa2" , "\xd7\x63\xf7\xdb\x65" } , { "\xcf\xe8\xd8\xdc" , "\x63\xf7\xde" } , { "\xcf\xe8\xd8\xdd" , "\xa7\xef" } , { "\xcf\xe8\xd8\xe0" , "\xe5\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xe1" , "\xe5\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xe1\xa2" , "\xe5\x63\xf7\xdb\x65" } , { "\xcf\xe8\xd8\xe5" , "\xe5\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xd8\xe6" , "\xe5\x63\xf7\xdb\xec" } , { "\xcf\xe8\xd8\xe8\xc4" , "\x63\xcb\xf7\xdb\x56" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\x63\xf7\xd4\xdb\xe7" } , { "\xcf\xe8\xd8\xe8\xcd" , "\x63\xcb\xf7\xdb\xcc\x5e" } , { "\xcf\xe8\xe8" , "\xbb\xcb" } , { "\xcf\xe9" , "\xbb" } , { "\xd0" , "\xbb" } , { "\xd0\xa2" , "\xbb\x65" } , { "\xd0\xb3" , "\xbb\x45\xf5" } , { "\xd0\xb3\xe8\xd6\xda" , "\xbb\x6c\xf9\xe7" } , { "\xd0\xb4" , "\xbb\x46" } , { "\xd0\xb4\xda" , "\xbb\x46\xe7" } , { "\xd0\xb4\xe1" , "\xbb\xe3\x46" } , { "\xd0\xbf" , "\xbb\x51\xf6" } , { "\xd0\xc3" , "\xbb\x55" } , { "\xd0\xc4\xdf" , "\xbb\x56\xca" } , { "\xd0\xca\xde" , "\xbb\x5b\xfd\xc9" } , { "\xd0\xcc" , "\xbb\x5d" } , { "\xd0\xd0\xd7" , "\xbb\xbb\x61" } , { "\xd0\xd4" , "\xbb\xbe" } , { "\xd0\xd8" , "\xbb\x63\xf7" } , { "\xd0\xd8\xe1" , "\xbb\xe3\x63\xf7" } , { "\xd0\xda" , "\xbb\xe7" } , { "\xd0\xdb" , "\xd7\xbb" } , { "\xd0\xdd" , "\xbb\xc7" } , { "\xd0\xdd\xa2" , "\xbb\xc7\x65" } , { "\xd0\xe0" , "\xe5\xbb" } , { "\xd0\xe0\xa2" , "\xe5\xbb\x65" } , { "\xd0\xe1" , "\xe5\xbb" } , { "\xd0\xe4" , "\xe5\xbb\xe7" } , { "\xd0\xe5" , "\xe5\xbb\xe7" } , { "\xd0\xe8\xd1\xdd" , "\xbb\xc0\xc7" } , { "\xd1" , "\x5f" } , { "\xd1\xa1" , "\x5f\x67" } , { "\xd1\xa1\xa2" , "\x5f\x67\x65" } , { "\xd1\xa2" , "\x5f\x65" } , { "\xd1\xa2\xa2" , "\x5f\x65\x65" } , { "\xd1\xa3" , "\x5f\x66" } , { "\xd1\xd9" , "\x5f" } , { "\xd1\xda" , "\x5f\xe7" } , { "\xd1\xda\xa1" , "\x5f\x67\xe7" } , { "\xd1\xda\xa2" , "\x5f\xe7\x65" } , { "\xd1\xda\xa3" , "\x5f\xe7\x66" } , { "\xd1\xdb" , "\xd7\x5f" } , { "\xd1\xdb\xa1" , "\xd9\x5f" } , { "\xd1\xdb\xa2" , "\xd7\x5f\x65" } , { "\xd1\xdb\xa3" , "\xd7\x5f\x66" } , { "\xd1\xdb\xce\xe1" , "\xd7\x5f\xe3\x5e" } , { "\xd1\xdc" , "\x5f\xdd" } , { "\xd1\xdc\xa2" , "\x5f\xdd\x65" } , { "\xd1\xdd" , "\x5f\xc7" } , { "\xd1\xdd\xa2" , "\x5f\xc7\x65" } , { "\xd1\xdd\xa3" , "\x5f\xc7\x66" } , { "\xd1\xde" , "\x5f\xc9" } , { "\xd1\xde\xa1" , "\x5f\x67\xc9" } , { "\xd1\xde\xa2" , "\x5f\xc9\x65" } , { "\xd1\xdf" , "\x5f\xca" } , { "\xd1\xe0" , "\xe5\x5f" } , { "\xd1\xe0\xa2" , "\xe5\x5f\x65" } , { "\xd1\xe1" , "\xe5\x5f" } , { "\xd1\xe1\xa2" , "\xe5\x5f\x65" } , { "\xd1\xe2" , "\xe9\x5f" } , { "\xd1\xe2\xa2" , "\xe9\x5f\x65" } , { "\xd1\xe2\xa3" , "\xe9\x5f\x66" } , { "\xd1\xe4" , "\xe5\x5f\xe7" } , { "\xd1\xe4\xa2" , "\xe5\x5f\xe7\x65" } , { "\xd1\xe5" , "\xe5\x5f\xe7" } , { "\xd1\xe5\xa2" , "\xe5\x5f\xe7\x65" } , { "\xd1\xe6" , "\xe5\x5f\xec" } , { "\xd1\xe6\xa2" , "\xe5\x5f\xec\x65" } , { "\xd1\xe7" , "\xe5\x5f\xe7" } , { "\xd1\xe7\xa2" , "\xe5\x5f\xe7\x65" } , { "\xd1\xe8" , "\x5f\xcb" } , { "\xd1\xe8\xb3" , "\x92\xf5" } , { "\xd1\xe8\xb3\xa2" , "\x92\xf5\x65" } , { "\xd1\xe8\xb3\xda" , "\x92\xf5\xe7" } , { "\xd1\xe8\xb3\xda\xa2" , "\x92\xf5\xe7\x65" } , { "\xd1\xe8\xb3\xdb" , "\xd7\x92\xf5" } , { "\xd1\xe8\xb3\xdb\xa2" , "\xd7\x92\xf5\x65" } , { "\xd1\xe8\xb3\xdc" , "\x92\xf5\xdd" } , { "\xd1\xe8\xb3\xdd" , "\x92\xc7\xf5" } , { "\xd1\xe8\xb3\xdd\xa2" , "\x92\xc7\xf5\x65" } , { "\xd1\xe8\xb3\xde" , "\x92\xc9\xf5" } , { "\xd1\xe8\xb3\xe0" , "\xe5\x92\xf5" } , { "\xd1\xe8\xb3\xe1" , "\xe5\x92\xf5" } , { "\xd1\xe8\xb3\xe2" , "\xe9\x92\xf5" } , { "\xd1\xe8\xb3\xe4" , "\xe5\x92\xf5\xe7" } , { "\xd1\xe8\xb3\xe4\xa2" , "\xe5\x92\xf5\xe7\x65" } , { "\xd1\xe8\xb3\xe5" , "\xe5\x92\xf5\xe7" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xe5\x92\xf5\xe7\x65" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xe5\x92\xf5\xec\x65" } , { "\xd1\xe8\xb3\xe7" , "\xe5\x92\xf5\xe7" } , { "\xd1\xe8\xb3\xe8" , "\x92\xcb\xf5" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\x5f\xcb\xe6\xa8\x4a\xf4\xe7" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\xb7\x6b\x98\xf4\xe7" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\x5f\xcb\xa8\x56\xe7" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\xb7\x45\xcb\xf5\xb2\xcc\x5e\xc7" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\xb7\x45\xc2\xc7\xf5" } , { "\xd1\xe8\xb3\xe8\xcd" , "\x5f\xcb\xa8\xcc\x5e" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\x5f\xcb\xa8\xcc\x5e\xe7" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\x5f\xcb\xa8\xcc\x5e\xc7" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\x5f\xcb\xa8\xcc\x5e\xc9" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\xd7\x92\x98\xf5" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\xd7\x92\x98\xf5\x65" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\x92\x98\xf5\xdd" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\xe5\x92\x98\xf5" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\xe9\x92\x98\xf5" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xe5\x92\x98\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd1" , "\xb7\x7a\xf5" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\xb7\x7a\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xe8\xb7\x7a\xf5" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xe6\xb7\x7a\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\xb7\x6c\xc7\xf9" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\xb7\x6a\xcb" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xa8\xb7\xd8\x6f\xf6\xc7" } , { "\xd1\xe8\xb3\xe8\xd8" , "\x5f\xcb\xa8\x63\xf7" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\x5f\xcb\xa8\x63\xf7\xe7" } , { "\xd1\xe8\xb4" , "\xb7\x46" } , { "\xd1\xe8\xb4\xa2" , "\xb7\x46\x65" } , { "\xd1\xe8\xb4\xda" , "\xb7\x46\xe7" } , { "\xd1\xe8\xb4\xdb" , "\xd7\xb7\x46" } , { "\xd1\xe8\xb4\xdc" , "\xb7\x46\xdd" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\xb7\x46\xcb\x7d" } , { "\xd1\xe8\xb5" , "\x93" } , { "\xd1\xe8\xb5\xa2" , "\x93\x65" } , { "\xd1\xe8\xb5\xda" , "\x93\xe7" } , { "\xd1\xe8\xb5\xda\xa2" , "\x93\xe7\x65" } , { "\xd1\xe8\xb5\xdb" , "\xd7\x93" } , { "\xd1\xe8\xb5\xdb\xa2" , "\xd7\x93\x65" } , { "\xd1\xe8\xb5\xdc" , "\x93\xdd" } , { "\xd1\xe8\xb5\xdd" , "\x93\xc7" } , { "\xd1\xe8\xb5\xdd\xa2" , "\x93\xc7\x65" } , { "\xd1\xe8\xb5\xde" , "\x93\xc9" } , { "\xd1\xe8\xb5\xe0" , "\xe5\x93" } , { "\xd1\xe8\xb5\xe1" , "\xe5\x93" } , { "\xd1\xe8\xb5\xe2" , "\xe9\x93" } , { "\xd1\xe8\xb5\xe4" , "\xe5\x93\xe7" } , { "\xd1\xe8\xb5\xe4\xa2" , "\xe5\x93\xe7\x65" } , { "\xd1\xe8\xb5\xe5" , "\xe5\x93\xe7" } , { "\xd1\xe8\xb5\xe6" , "\xe5\x93\xec" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\x93\x98\x65" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\x93\x98\xe7" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\x93\x98\xe7\x65" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\xd7\x93\x98" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\x93\x98\xc8" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\xb7\x47\xc0\xe7" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\xb7\x47\xc0\xe7\x65" } , { "\xd1\xe8\xb6" , "\xb7\x48" } , { "\xd1\xe8\xb8" , "\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xa2" , "\xb7\x4a\xf4\x65" } , { "\xd1\xe8\xb8\xda" , "\xb7\x4a\xf4\xe7" } , { "\xd1\xe8\xb8\xdb" , "\xd7\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xdb\xa2" , "\xd7\xb7\x4a\xf4\x65" } , { "\xd1\xe8\xb8\xdc" , "\xb7\x4a\xf4\xdd" } , { "\xd1\xe8\xb8\xdd" , "\xb7\x4a\xc7\xf4" } , { "\xd1\xe8\xb8\xdd\xa2" , "\xb7\x4a\xc7\xf4\x65" } , { "\xd1\xe8\xb8\xde" , "\xb7\x4a\xc9\xf4" } , { "\xd1\xe8\xb8\xe0" , "\xe6\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xe1" , "\xe6\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xe4" , "\xe6\xb7\x4a\xf4\xe7" } , { "\xd1\xe8\xb8\xe4\xa2" , "\xe6\xb7\x4a\xf4\xe7\x65" } , { "\xd1\xe8\xb8\xe5" , "\xe6\xb7\x4a\xf4\xe7" } , { "\xd1\xe8\xb8\xe6" , "\xe6\xb7\x4a\xf4\xec" } , { "\xd1\xe8\xb9\xdd" , "\xb7\x4b\xc7\xf7" } , { "\xd1\xe8\xba" , "\xb7\x4c" } , { "\xd1\xe8\xba\xda" , "\xb7\x4c\xe7" } , { "\xd1\xe8\xba\xdb" , "\xd7\xb7\x4c" } , { "\xd1\xe8\xba\xdc" , "\xb7\x4c\xdd" } , { "\xd1\xe8\xba\xdd" , "\xb7\x4c\xc7" } , { "\xd1\xe8\xba\xde" , "\xb7\x4c\xc9" } , { "\xd1\xe8\xba\xe0" , "\xe5\xb7\x4c" } , { "\xd1\xe8\xba\xe1" , "\xe5\xb7\x4c" } , { "\xd1\xe8\xba\xe8" , "\xb7\x4c\xcb" } , { "\xd1\xe8\xba\xe9" , "\xb7\x4c" } , { "\xd1\xe8\xba\xe9\xda" , "\xb7\x4c\xe7" } , { "\xd1\xe8\xbb\xda" , "\xb7\x4d\xf5\xe7" } , { "\xd1\xe8\xbb\xdc" , "\xb7\x4d\xf5\xdd" } , { "\xd1\xe8\xbd" , "\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xa2" , "\xb7\x4f\xf4\x65" } , { "\xd1\xe8\xbd\xda" , "\xb7\x4f\xf4\xe7" } , { "\xd1\xe8\xbd\xdb" , "\xd7\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xdb\xa2" , "\xd7\xb7\x4f\xf4\x65" } , { "\xd1\xe8\xbd\xdc" , "\xb7\x4f\xf4\xdd" } , { "\xd1\xe8\xbd\xdd" , "\xb7\x4f\xc7\xf4" } , { "\xd1\xe8\xbd\xdd\xa2" , "\xb7\x4f\xc7\xf4\x65" } , { "\xd1\xe8\xbd\xde" , "\xb7\x4f\xc9\xf4" } , { "\xd1\xe8\xbd\xe0" , "\xe6\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xe0\xa2" , "\xe6\xb7\x4f\xf4\x65" } , { "\xd1\xe8\xbd\xe1" , "\xe6\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xe2" , "\xe8\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xe4" , "\xe6\xb7\x4f\xf4\xe7" } , { "\xd1\xe8\xbd\xe5" , "\xe6\xb7\x4f\xf4\xe7" } , { "\xd1\xe8\xbd\xe5\xa2" , "\xe6\xb7\x4f\xf4\xe7\x65" } , { "\xd1\xe8\xbd\xe8" , "\xb7\x4f\xcb\xf4" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\x5f\xcb\xae\x47\xe7" } , { "\xd1\xe8\xbd\xe8\xba" , "\x5f\xcb\xae\x4c" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\x5f\xcb\xae\x4c\xcb" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\xae\xb7\x4c\xbd" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\xb7\xae\xf3\xc7\xf4" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\x5f\xcb\xae\x59\xdd" } , { "\xd1\xe8\xbd\xe8\xcc" , "\xb7\x4f\x5d" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\xb7\x4f\x5d\xdd" } , { "\xd1\xe8\xbd\xe8\xcf" , "\xb7\xae\xcf\xf4" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\xb7\xae\xcf\xf4\xe7" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\xd7\xb7\xae\xcf\xf4" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\xb7\xae\xcf\xf4\xdd" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\xe6\xb7\xae\xcf\xf4" } , { "\xd1\xe8\xbd\xe8\xd1" , "\xb7\xae\xf2\xf4" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\xb7\xae\xf2\xc7\xf4" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\xe6\xb7\xae\xf2\xf4\xe7" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\x5f\xcb\xae\xbe\x65" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\x5f\xcb\xe9\xae\xbe" } , { "\xd1\xe8\xbd\xe8\xd7" , "\x5f\xcb\xae\x61" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\x5f\xcb\xae\x61\xc7" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\x5f\xcb\xae\x61\xcb" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\xae\xb7\x26\xe7" } , { "\xd1\xe8\xbf" , "\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xa2" , "\xb7\x51\xf6\x65" } , { "\xd1\xe8\xbf\xda" , "\xb7\x51\xf6\xe7" } , { "\xd1\xe8\xbf\xdb" , "\xd7\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xdb\xa2" , "\xd7\xb7\x51\xf6\x65" } , { "\xd1\xe8\xbf\xdc" , "\xb7\x51\xf6\xdd" } , { "\xd1\xe8\xbf\xdd" , "\xb7\x51\xc7\xf6" } , { "\xd1\xe8\xbf\xde" , "\xb7\x51\xc9\xf6" } , { "\xd1\xe8\xbf\xe0" , "\xe5\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xe0\xa2" , "\xe5\xb7\x51\xf6\x65" } , { "\xd1\xe8\xbf\xe1" , "\xe5\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xe4" , "\xe5\xb7\x51\xf6\xe7" } , { "\xd1\xe8\xbf\xe5" , "\xe5\xb7\x51\xf6\xe7" } , { "\xd1\xe8\xbf\xe7" , "\xe5\xb7\x51\xf6\xe7" } , { "\xd1\xe8\xbf\xe8" , "\xb7\x51\xcb\xf6" } , { "\xd1\xe8\xbf\xe8\xb3" , "\x5f\xcb\xaf\x45\xf5" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\x5f\xcb\xaf\x45\xc7\xf5" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\xaf\xb7\x79\xd4\xdd" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\x5f\xcb\xaf\x47\xe7" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\x5f\xcb\xe5\xaf\x47" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\x5f\xcb\xe5\xaf\x47\xe7" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\x5f\xcb\xe8\xaf\x4f\xf4" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\x5f\xcb\xe5\xaf\x51\xf6\xec" } , { "\xd1\xe8\xbf\xe8\xc2" , "\x5f\xcb\xaf\x54\xf6" } , { "\xd1\xe8\xbf\xe8\xc8" , "\x5f\xcb\xaf\x59" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\x5f\xcb\xd7\xaf\x5a\xf5\x65" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\x5f\xcb\xe5\xaf\x5a\xf5\xe7" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\xe6\xaf\xb7\x5b\xfd\xd0" } , { "\xd1\xe8\xbf\xe8\xcc" , "\xb7\xaf\xc1" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\xb7\xaf\xc1\xe7" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\xe5\xb7\xaf\xc1" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\xe5\xb7\xaf\xc1" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\x5f\xcb\xaf\xcc\x5e\xc9" } , { "\xd1\xe8\xbf\xe8\xcf" , "\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\xd7\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\xd7\xb7\x51\xce\xf6\x65" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\xb7\x51\xce\xf6\xdd" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\xe6\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\xe6\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\xe8\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xd1" , "\xb7\xaf\xf2\xf6" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\xb7\xaf\xf2\xc7\xf6" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\xb7\xaf\xf2\xc9\xf6" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\xe6\xb7\xaf\xf2\xf6\xe7" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\x5f\xcb\xd7\xaf\xbe" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\x5f\xcb\xe5\xaf\xbe" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\x5f\xcb\xaf\xbe\xc0\xcb" } , { "\xd1\xe8\xbf\xe8\xd7" , "\x5f\xcb\xaf\x61" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\x5f\xcb\xaf\x61\xcb" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\xb7\x51\xcb\xf6\xba\x4f\xf4\xdd" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\xb7\x51\xcb\xf6\xe8\xba\x4f\xf4" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\xaf\xb7\x26\xe7" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\xaf\xb7\xd8\xf6\x8f\xf5\xe7" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\xd7\xaf\xb7\xd8\xf6\x82" } , { "\xd1\xe8\xbf\xe9" , "\xb7\x51\xcd\xf6" } , { "\xd1\xe8\xc0\xda" , "\xb7\x52\xf4\xe7" } , { "\xd1\xe8\xc1" , "\xb7\x53" } , { "\xd1\xe8\xc2" , "\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xda" , "\xb7\x54\xf6\xe7" } , { "\xd1\xe8\xc2\xda\xa2" , "\xb7\x54\xf6\xe7\x65" } , { "\xd1\xe8\xc2\xdb" , "\xd7\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xdb\xa2" , "\xd7\xb7\x54\xf6\x65" } , { "\xd1\xe8\xc2\xdc" , "\xb7\x54\xf6\xdd" } , { "\xd1\xe8\xc2\xdd" , "\xb7\x54\xc7\xf6" } , { "\xd1\xe8\xc2\xdd\xa2" , "\xb7\x54\xc7\xf6\x65" } , { "\xd1\xe8\xc2\xde" , "\xb7\x54\xc9\xf6" } , { "\xd1\xe8\xc2\xe0" , "\xe5\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xe1" , "\xe5\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xe4" , "\xe5\xb7\x54\xf6\xe7" } , { "\xd1\xe8\xc2\xe5" , "\xe5\xb7\x54\xf6\xe7" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xe5\xb7\x54\xf6\xe7\x65" } , { "\xd1\xe8\xc2\xe8" , "\xb7\x54\xcb\xf6" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\xb1\xb7\x7a\xf5" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\xb1\xb7\x5b\xfd\xc0\xe7" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\xb7\xb1\xc1\x65" } , { "\xd1\xe8\xc3" , "\xb7\x55" } , { "\xd1\xe8\xc3\xda" , "\xb7\x55\xe7" } , { "\xd1\xe8\xc3\xdc" , "\xb7\x55\xdd" } , { "\xd1\xe8\xc3\xdd" , "\xb7\x55\xc7" } , { "\xd1\xe8\xc3\xde" , "\xb7\x55\xc9" } , { "\xd1\xe8\xc4" , "\xb7\x56" } , { "\xd1\xe8\xc4\xa2" , "\xb7\x56\x65" } , { "\xd1\xe8\xc4\xda" , "\xb7\x56\xe7" } , { "\xd1\xe8\xc4\xda\xa2" , "\xb7\x56\xe7\x65" } , { "\xd1\xe8\xc4\xdb" , "\xd7\xb7\x56" } , { "\xd1\xe8\xc4\xdc" , "\xb7\x56\xdd" } , { "\xd1\xe8\xc4\xdd" , "\xb7\x56\xc7" } , { "\xd1\xe8\xc4\xe1" , "\xe5\xb7\x56" } , { "\xd1\xe8\xc4\xe1\xa2" , "\xe5\xb7\x56\x65" } , { "\xd1\xe8\xc4\xe4" , "\xe5\xb7\x56\xe7" } , { "\xd1\xe8\xc4\xe5" , "\xe5\xb7\x56\xe7" } , { "\xd1\xe8\xc4\xe5\xa2" , "\xe5\xb7\x56\xe7\x65" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\xe6\xb7\x56\xd0" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\x5f\xcb\xb2\xbe\xe7" } , { "\xd1\xe8\xc5" , "\xb7\x57\xfd" } , { "\xd1\xe8\xc5\xda" , "\xb7\x57\xfd\xe7" } , { "\xd1\xe8\xc5\xdb" , "\xd7\xb7\x57\xfd" } , { "\xd1\xe8\xc6" , "\x5f\xc2" } , { "\xd1\xe8\xc6\xa2" , "\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xda" , "\x5f\xc2\xe7" } , { "\xd1\xe8\xc6\xdb" , "\xd7\x5f\xc2" } , { "\xd1\xe8\xc6\xdb\xa2" , "\xd7\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xdc" , "\x5f\xc2\xdd" } , { "\xd1\xe8\xc6\xdd" , "\x5f\xc2\xc7" } , { "\xd1\xe8\xc6\xdd\xa2" , "\x5f\xc2\xc7\x65" } , { "\xd1\xe8\xc6\xde" , "\x5f\xc2\xc9" } , { "\xd1\xe8\xc6\xe0" , "\xe6\x5f\xc2" } , { "\xd1\xe8\xc6\xe0\xa2" , "\xe6\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xe1" , "\xe6\x5f\xc2" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xe6\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xe2" , "\xe8\x5f\xc2" } , { "\xd1\xe8\xc6\xe5" , "\xe6\x5f\xc2\xe7" } , { "\xd1\xe8\xc6\xe8" , "\x5f\xc2\xcb" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\x5f\xcb\xb3\x45\xc7\xf5" } , { "\xd1\xe8\xc8" , "\x94" } , { "\xd1\xe8\xc8\xa2" , "\x94\x65" } , { "\xd1\xe8\xc8\xda" , "\x94\xe7" } , { "\xd1\xe8\xc8\xda\xa2" , "\x94\xe7\x65" } , { "\xd1\xe8\xc8\xda\xa3" , "\x94\xe7\x66" } , { "\xd1\xe8\xc8\xdb" , "\xd7\x94" } , { "\xd1\xe8\xc8\xdb\xa2" , "\xd7\x94\x65" } , { "\xd1\xe8\xc8\xdc" , "\x94\xdd" } , { "\xd1\xe8\xc8\xdc\xa2" , "\x94\xdd\x65" } , { "\xd1\xe8\xc8\xdd" , "\x94\xc7" } , { "\xd1\xe8\xc8\xdd\xa2" , "\x94\xc7\x65" } , { "\xd1\xe8\xc8\xde" , "\x94\xc9" } , { "\xd1\xe8\xc8\xe0" , "\xe5\x94" } , { "\xd1\xe8\xc8\xe0\xa2" , "\xe5\x94\x65" } , { "\xd1\xe8\xc8\xe1" , "\xe5\x94" } , { "\xd1\xe8\xc8\xe1\xa2" , "\xe5\x94\x65" } , { "\xd1\xe8\xc8\xe2" , "\xe9\x94" } , { "\xd1\xe8\xc8\xe4" , "\xe5\x94\xe7" } , { "\xd1\xe8\xc8\xe5" , "\xe5\x94\xe7" } , { "\xd1\xe8\xc8\xe5\xa2" , "\xe5\x94\xe7\x65" } , { "\xd1\xe8\xc8\xe8" , "\x94\xcb" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\x5f\xcb\xe5\xb4\x47\xe7" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\x5f\xcb\xb4\xcc\x5e\xc9" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\x94\x98\xe7" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\xd7\x94\x98" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\xe5\x94\x98" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\xe9\x94\x98" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\xe5\x94\x98\xe7" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\xb7\x59\xc0\xe7" } , { "\xd1\xe8\xc8\xe8\xd7" , "\x5f\xcb\xb4\x61" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\x5f\xcb\xb4\x61\xcb" } , { "\xd1\xe8\xc9" , "\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xa2" , "\xb7\x5a\xf5\x65" } , { "\xd1\xe8\xc9\xda" , "\xb7\x5a\xf5\xe7" } , { "\xd1\xe8\xc9\xdb" , "\xd7\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xdb\xa2" , "\xd7\xb7\x5a\xf5\x65" } , { "\xd1\xe8\xc9\xdc" , "\xb7\x5a\xf5\xdd" } , { "\xd1\xe8\xc9\xdd" , "\xb7\x5a\xc7\xf5" } , { "\xd1\xe8\xc9\xde" , "\xb7\x5a\xc9\xf5" } , { "\xd1\xe8\xc9\xe0" , "\xe5\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xe1" , "\xe5\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xe1\xa2" , "\xe5\xb7\x5a\xf5\x65" } , { "\xd1\xe8\xc9\xe2" , "\xe9\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xe4" , "\xe5\xb7\x5a\xf5\xe7" } , { "\xd1\xe8\xc9\xe5" , "\xe5\xb7\x5a\xf5\xe7" } , { "\xd1\xe8\xc9\xe5\xa2" , "\xe5\xb7\x5a\xf5\xe7\x65" } , { "\xd1\xe8\xc9\xe7" , "\xe5\xb7\x5a\xf5\xe7" } , { "\xd1\xe8\xc9\xe8" , "\xb7\x5a\xcb\xf5" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\x5f\xcb\x5a\xcb\xf5\x24\x4f\xcb\xf4" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\xb7\x5a\xf5\xbd\xe7" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\x5f\xcb\x5a\xcb\xf5\xcc\x5e\xc7" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\x5f\xcb\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\xb7\x5a\xd0\xf5\x65" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\xe6\xb7\x5a\xd0\xf5" } , { "\xd1\xe8\xc9\xe8\xd1" , "\xb7\x6e\xf5" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\xe8\xb7\x6e\xf5" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\xe6\xb7\x6e\xf5\xe7" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\x5f\xcb\x5a\xcb\xf5\xbe\xdd" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\x5f\xcb\x5a\xcb\xf5\x61\xcb" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\x5f\xcb\x5a\xcb\xf5\xd7\x63\xf7" } , { "\xd1\xe8\xca" , "\x5f\x9f" } , { "\xd1\xe8\xca\xa2" , "\x5f\x9f\x65" } , { "\xd1\xe8\xca\xda" , "\x5f\x9f\xe7" } , { "\xd1\xe8\xca\xda\xa2" , "\x5f\x9f\xe7\x65" } , { "\xd1\xe8\xca\xdb" , "\xd7\x5f\x9f" } , { "\xd1\xe8\xca\xdc" , "\x5f\x9f\xdd" } , { "\xd1\xe8\xca\xdd" , "\x5f\x9f\xc7" } , { "\xd1\xe8\xca\xdf" , "\x5f\x9f\xca" } , { "\xd1\xe8\xca\xe0" , "\xe5\x5f\x9f" } , { "\xd1\xe8\xca\xe1" , "\xe5\x5f\x9f" } , { "\xd1\xe8\xca\xe2" , "\xe9\x5f\x9f" } , { "\xd1\xe8\xca\xe5" , "\xe5\x5f\x9f\xe7" } , { "\xd1\xe8\xca\xe5\xa2" , "\xe5\x5f\x9f\xe7\x65" } , { "\xd1\xe8\xca\xe8" , "\x5f\x9f\xcb" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\x5f\xcb\x5b\xfd\xcb\x45\xc7\xf5" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\xb7\x5b\xfd\xc2\xc7" } , { "\xd1\xe8\xca\xe8\xcd" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e\xc7" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e\xc9" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\xb7\x5b\xfd\xd0\xd6" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\xe6\xb7\x5b\xfd\xd0" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xe6\xb7\x5b\xfd\xd0" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xe6\xb7\x5b\xfd\xd0\xe7" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x5f\xcb\x5b\xfd\xcb\xd7\xae\x95\xef\xf5" } , { "\xd1\xe8\xca\xe8\xd1" , "\xb7\x5b\xfd\xc0" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\xb7\x5b\xfd\xc0\xc9" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xe6\xb7\x5b\xfd\xc0\xe7" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\x5f\xcb\x5b\xfd\xcb\xbe\x65" } , { "\xd1\xe8\xcb" , "\xb7\x5c\xf6" } , { "\xd1\xe8\xcb\xa2" , "\xb7\x5c\xf6\x65" } , { "\xd1\xe8\xcb\xda" , "\xb7\x5c\xf6\xe7" } , { "\xd1\xe8\xcb\xdb\xa2" , "\xd7\xb7\x5c\xf6\x65" } , { "\xd1\xe8\xcb\xdd" , "\xb7\x5c\xc7\xf6" } , { "\xd1\xe8\xcb\xde" , "\xb7\x5c\xc9\xf6" } , { "\xd1\xe8\xcb\xe2" , "\xe9\xb7\x5c\xf6" } , { "\xd1\xe8\xcb\xe8\xcd" , "\x5f\xcb\x5c\xcb\xf6\xcc\x5e" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\x5f\xcb\x5c\xcb\xf6\xcc\x5e\x65" } , { "\xd1\xe8\xcc" , "\x5f\xbd" } , { "\xd1\xe8\xcc\xa2" , "\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xda" , "\x5f\xbd\xe7" } , { "\xd1\xe8\xcc\xda\xa2" , "\x5f\xbd\xe7\x65" } , { "\xd1\xe8\xcc\xdb" , "\xd7\x5f\xbd" } , { "\xd1\xe8\xcc\xdb\xa2" , "\xd7\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xdc" , "\x5f\xbd\xdd" } , { "\xd1\xe8\xcc\xdd" , "\x5f\xbd\xc6" } , { "\xd1\xe8\xcc\xde" , "\x5f\xbd\xc8" } , { "\xd1\xe8\xcc\xdf" , "\x5f\xbd\xca" } , { "\xd1\xe8\xcc\xe0" , "\xe5\x5f\xbd" } , { "\xd1\xe8\xcc\xe0\xa2" , "\xe5\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xe1" , "\xe5\x5f\xbd" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xe5\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xe4" , "\xe5\x5f\xbd\xe7" } , { "\xd1\xe8\xcc\xe5" , "\xe5\x5f\xbd\xe7" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xe5\x5f\xbd\xe7\x65" } , { "\xd1\xe8\xcc\xe7" , "\xe5\x5f\xbd\xe7" } , { "\xd1\xe8\xcc\xe8" , "\x5f\xbd\xcb" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\x5f\xcb\x5d\xcb\xe5\x45\xf5\xe7" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\x5f\xcb\x5d\xcb\x47\xe7" } , { "\xd1\xe8\xcc\xe8\xba" , "\x5f\xcb\x5d\xcb\x4c" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\x5f\xcb\x5d\xcb\xe9\x51\xf6" } , { "\xd1\xe8\xcc\xe8\xc6" , "\xb7\xb6\x6f\xf6" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\xb7\xb6\x6f\xf6\xc7" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\xb7\xb6\xf6\x82\xdd" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\x5f\xcb\x5d\xcb\xcc\x5e\xe7" } , { "\xd1\xe8\xcc\xe8\xd1" , "\xb7\xb6\xda\xf6" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\xb7\xb6\xda\xf6\xc7" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xe6\xb7\xb6\xda\xf6\xe7" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\x5f\xcb\x5d\xcb\xbe\x65" } , { "\xd1\xe8\xcc\xe8\xd7" , "\x5f\xcb\x5d\xcb\x61" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\xb7\x5d\xcb\xd8\xf6\x8f\xf5" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\x5f\xcb\x5d\xcb\xe5\x63\xf7\xe7" } , { "\xd1\xe8\xcd" , "\xb7\xcc\x5e" } , { "\xd1\xe8\xcd\xa2" , "\xb7\xcc\x5e\x65" } , { "\xd1\xe8\xcd\xda" , "\xb7\xcc\x5e\xe7" } , { "\xd1\xe8\xcd\xda\xa2" , "\xb7\xcc\x5e\xe7\x65" } , { "\xd1\xe8\xcd\xdc" , "\xb7\xcc\x5e\xdd" } , { "\xd1\xe8\xcd\xdd" , "\xb7\xcc\x5e\xc7" } , { "\xd1\xe8\xcd\xde" , "\xb7\xcc\x5e\xc9" } , { "\xd1\xe8\xcd\xde\xa2" , "\xb7\xcc\x5e\xc9\x65" } , { "\xd1\xe8\xcd\xe0" , "\xe5\xb7\xcc\x5e" } , { "\xd1\xe8\xcd\xe0\xa2" , "\xe5\xb7\xcc\x5e\x65" } , { "\xd1\xe8\xcd\xe1" , "\xe5\xb7\xcc\x5e" } , { "\xd1\xe8\xcd\xe4" , "\xe5\xb7\xcc\x5e\xe7" } , { "\xd1\xe8\xcd\xe5" , "\xe5\xb7\xcc\x5e\xe7" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xe5\xb7\xcc\x5e\xe7\x65" } , { "\xd1\xe8\xcd\xe6" , "\xe5\xb7\xcc\x5e\xec" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xe5\xb7\xcc\x5e\xec\x65" } , { "\xd1\xe8\xcd\xe7" , "\xe5\xb7\xcc\x5e\xe7" } , { "\xd1\xe8\xcd\xe8" , "\xb7\xcc\x5e\xcb" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\x5f\xcb\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xd1\xe8\xcf" , "\x5f\xd2" } , { "\xd1\xe8\xcf\xa2" , "\x5f\xd2\x65" } , { "\xd1\xe8\xcf\xda" , "\x5f\xd2\xe7" } , { "\xd1\xe8\xcf\xda\xa2" , "\x5f\xd2\xe7\x65" } , { "\xd1\xe8\xcf\xdb" , "\xd7\x5f\xd2" } , { "\xd1\xe8\xcf\xdb\xa2" , "\xd7\x5f\xd2\x65" } , { "\xd1\xe8\xcf\xdd" , "\x5f\xd2\xc7" } , { "\xd1\xe8\xcf\xde" , "\x5f\xd2\xc9" } , { "\xd1\xe8\xcf\xe0" , "\xe6\x5f\xd2" } , { "\xd1\xe8\xcf\xe1" , "\xe6\x5f\xd2" } , { "\xd1\xe8\xcf\xe2" , "\xe8\x5f\xd2" } , { "\xd1\xe8\xcf\xe5" , "\xe6\x5f\xd2\xe7" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xe6\x5f\xd2\xec\x65" } , { "\xd1\xe8\xcf\xe8\xbf" , "\x5f\xcb\xbb\xcb\x51\xf6" } , { "\xd1\xe8\xcf\xe8\xd7" , "\x5f\xcb\xbb\xcb\x61" } , { "\xd1\xe8\xd1" , "\x7b" } , { "\xd1\xe8\xd1\xa2" , "\x7b\x65" } , { "\xd1\xe8\xd1\xda" , "\x7b\xe7" } , { "\xd1\xe8\xd1\xda\xa2" , "\x7b\xe7\x65" } , { "\xd1\xe8\xd1\xdb" , "\xd7\x7b" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xd7\x7b\x65" } , { "\xd1\xe8\xd1\xdc" , "\x7b\xdd" } , { "\xd1\xe8\xd1\xdd" , "\x7b\xc7" } , { "\xd1\xe8\xd1\xdd\xa2" , "\x7b\xc7\x65" } , { "\xd1\xe8\xd1\xde" , "\x7b\xc9" } , { "\xd1\xe8\xd1\xde\xa1" , "\x7b\x67\xc9" } , { "\xd1\xe8\xd1\xe0" , "\xe6\x7b" } , { "\xd1\xe8\xd1\xe0\xa2" , "\xe6\x7b\x65" } , { "\xd1\xe8\xd1\xe1" , "\xe6\x7b" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xe6\x7b\x65" } , { "\xd1\xe8\xd1\xe2" , "\xe8\x7b" } , { "\xd1\xe8\xd1\xe4" , "\xe6\x7b\xe7" } , { "\xd1\xe8\xd1\xe5" , "\xe6\x7b\xe7" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xe6\x7b\xe7\x65" } , { "\xd1\xe8\xd1\xe6" , "\xe6\x7b\xec" } , { "\xd1\xe8\xd1\xe8" , "\x7b\xcb" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xb7\x93\xe7" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\xe5\xb7\x94" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\x5f\xcb\xb7\xcc\x5e\xc9" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xb7\x7b" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xe6\xb7\x7b\xe7" } , { "\xd1\xe8\xd2" , "\xb7\x5f" } , { "\xd1\xe8\xd2\xda" , "\xb7\x5f\xe7" } , { "\xd1\xe8\xd2\xda\xa2" , "\xb7\x5f\xe7\x65" } , { "\xd1\xe8\xd2\xdb" , "\xd7\xb7\x5f" } , { "\xd1\xe8\xd2\xdb\xa2" , "\xd7\xb7\x5f\x65" } , { "\xd1\xe8\xd2\xdc" , "\xb7\x5f\xdd" } , { "\xd1\xe8\xd2\xdd" , "\xb7\x5f\xc7" } , { "\xd1\xe8\xd2\xe0" , "\xe5\xb7\x5f" } , { "\xd1\xe8\xd2\xe1" , "\xe5\xb7\x5f" } , { "\xd1\xe8\xd2\xe5" , "\xe5\xb7\x5f\xe7" } , { "\xd1\xe8\xd4" , "\xb7\xbe" } , { "\xd1\xe8\xd4\xa2" , "\xb7\xbe\x65" } , { "\xd1\xe8\xd4\xda" , "\xb7\xbe\xe7" } , { "\xd1\xe8\xd4\xda\xa2" , "\xb7\xbe\xe7\x65" } , { "\xd1\xe8\xd4\xdb" , "\xd7\xb7\xbe" } , { "\xd1\xe8\xd4\xdb\xa2" , "\xd7\xb7\xbe\x65" } , { "\xd1\xe8\xd4\xdc" , "\xb7\xbe\xdd" } , { "\xd1\xe8\xd4\xdd" , "\xb7\xbe\xc7" } , { "\xd1\xe8\xd4\xe0" , "\xe5\xb7\xbe" } , { "\xd1\xe8\xd4\xe0\xa2" , "\xe5\xb7\xbe\x65" } , { "\xd1\xe8\xd4\xe1" , "\xe5\xb7\xbe" } , { "\xd1\xe8\xd4\xe2" , "\xe9\xb7\xbe" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\xe9\xb7\xbe\x58\xcb" } , { "\xd1\xe8\xd4\xe5" , "\xe5\xb7\xbe\xe7" } , { "\xd1\xe8\xd4\xe5\xa2" , "\xe5\xb7\xbe\xe7\x65" } , { "\xd1\xe8\xd4\xe8" , "\xb7\xbe\xcb" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\x5f\xcb\xbe\xcb\xe6\x24\x4a\xf4" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\xe5\xb7\xbe\x5b\xfd" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\x5f\xcb\xbe\xcb\x5c\xf6\xe7" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\xe5\xb7\xbe\xbd\x65" } , { "\xd1\xe8\xd4\xe8\xcd" , "\x5f\xcb\xbe\xcb\xcc\x5e" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\x5f\xcb\xbe\xcb\xcc\x5e\xe7" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\x5f\xcb\xbe\xcb\xcc\x5e\xc7" } , { "\xd1\xe8\xd4\xe8\xd1" , "\xb7\xbe\xc0" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\xb7\xbe\xc0\xe7" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\xb7\xbe\xc0\xc7" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\x5f\xcb\xbe\xcb\x61\xdd" } , { "\xd1\xe8\xd5" , "\xb7\x60" } , { "\xd1\xe8\xd5\xda" , "\xb7\x60\xe7" } , { "\xd1\xe8\xd5\xdb" , "\xd7\xb7\x60" } , { "\xd1\xe8\xd5\xe8" , "\xb7\x60\xcb" } , { "\xd1\xe8\xd6" , "\xb7\x62" } , { "\xd1\xe8\xd6\xda" , "\xb7\x62\xe7" } , { "\xd1\xe8\xd6\xdb" , "\xd7\xb7\x62" } , { "\xd1\xe8\xd6\xe0" , "\xe5\xb7\x62" } , { "\xd1\xe8\xd6\xe5" , "\xe5\xb7\x62\xe7" } , { "\xd1\xe8\xd7" , "\xb7\x61" } , { "\xd1\xe8\xd7\xa2" , "\xb7\x61\x65" } , { "\xd1\xe8\xd7\xda" , "\xb7\x61\xe7" } , { "\xd1\xe8\xd7\xdb" , "\xd7\xb7\x61" } , { "\xd1\xe8\xd7\xdb\xa2" , "\xd7\xb7\x61\x65" } , { "\xd1\xe8\xd7\xdc" , "\xb7\x61\xdd" } , { "\xd1\xe8\xd7\xdd" , "\xb7\x61\xc7" } , { "\xd1\xe8\xd7\xdd\xa2" , "\xb7\x61\xc7\x65" } , { "\xd1\xe8\xd7\xde" , "\xb7\x61\xc9" } , { "\xd1\xe8\xd7\xe0" , "\xe5\xb7\x61" } , { "\xd1\xe8\xd7\xe0\xa2" , "\xe5\xb7\x61\x65" } , { "\xd1\xe8\xd7\xe1" , "\xe5\xb7\x61" } , { "\xd1\xe8\xd7\xe2" , "\xe9\xb7\x61" } , { "\xd1\xe8\xd7\xe4" , "\xe5\xb7\x61\xe7" } , { "\xd1\xe8\xd7\xe6" , "\xe5\xb7\x61\xec" } , { "\xd1\xe8\xd7\xe8" , "\xb7\x61\xcb" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\xb7\x95\xf5\xe7" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\xd7\xb7\x95\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\xb7\x95\xf5\xdd" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\xb7\x95\xc7\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\xb7\x95\xc9\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\xe5\xb7\x95\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\xe5\xb7\x95\xf5\xe7" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\xb7\x95\xcb\xf5" } , { "\xd1\xe8\xd7\xe8\xb5" , "\x5f\xcb\xba\x47" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\x5f\xcb\xba\x47\xe7" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\x5f\xcb\xe5\xba\x47" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\x5f\xcb\xe5\xba\x4c" } , { "\xd1\xe8\xd7\xe8\xbd" , "\x5f\xcb\xba\x4f\xf4" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\x5f\xcb\xba\x4f\xf4\xe7" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\x5f\xcb\xba\x4f\xf4\xe7\x65" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\x5f\xcb\xe6\xba\x4f\xf4" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\x5f\xcb\xe8\xba\x4f\xf4" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\x5f\xcb\xe6\xba\x4f\xf4\xe7\x65" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xe6\xba\xb7\xae\xcf\xf4\xe7" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\x5f\xcb\xba\x51\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\xe6\xb7\xd8\x99\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\xb7\xd8\x9a\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\x5f\xcb\xba\x56\xe7" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xb7\x61\xcb\xb2\xbe\xe7" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\x5f\xcb\xba\x57\xfd\xe7" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\xb7\xd8\x6f\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb7\xd8\x6f\xf6" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\xb7\xd8\x6f\xf6\xdd" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\xb7\xd8\x6f\xf6\xc7" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\xb7\xd8\x6f\xf6\xcb" } , { "\xd1\xe8\xd7\xe8\xc8" , "\xb7\x26" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\xb7\x26\xe7" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\xb7\x26\xc9" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\xe5\xb7\x26" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\xe5\xb7\x26\xe7" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\xe5\xb7\x26\xe7" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\xb7\xd8\xf6\x8f\xf5\xe7" } , { "\xd1\xe8\xd7\xe8\xca" , "\xb7\xd8\x91\xf6" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\xb7\xd8\x91\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\xe5\xb7\xd8\x91\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\xe5\xb7\xd8\x91\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xcc" , "\xb7\xd8\xf6\x82" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\xb7\xd8\xf6\x82\xdd" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\xe5\xb7\xd8\xf6\x82" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\xb7\xd8\xda\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\xb7\xd8\xda\xf6\xc7" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\xe6\xb7\xd8\xda\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xd4" , "\x5f\xcb\xba\xbe" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\x5f\xcb\xba\xbe\xe7" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\x5f\xcb\xd7\xba\xbe" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\x5f\xcb\xba\xbe\xc7" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\x5f\xcb\xba\x63\xf7\xe7" } , { "\xd1\xe8\xd8" , "\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xda" , "\xb7\x63\xf7\xe7" } , { "\xd1\xe8\xd8\xda\xa2" , "\xb7\x63\xf7\xe7\x65" } , { "\xd1\xe8\xd8\xdb" , "\xd7\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xdc" , "\xb7\x63\xf7\xdd" } , { "\xd1\xe8\xd8\xdd" , "\xb7\x63\xc7\xf7" } , { "\xd1\xe8\xd8\xde" , "\xb7\x63\xc9\xf7" } , { "\xd1\xe8\xd8\xe0" , "\xe5\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xe1" , "\xe5\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xe1\xa2" , "\xe5\xb7\x63\xf7\x65" } , { "\xd1\xe8\xd8\xe2" , "\xe9\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xe5" , "\xe5\xb7\x63\xf7\xe7" } , { "\xd1\xe8\xd8\xe5\xa2" , "\xe5\xb7\x63\xf7\xe7\x65" } , { "\xd1\xe8\xd8\xe6" , "\xe5\xb7\x63\xf7\xec" } , { "\xd1\xe8\xd9\xa6" , "\xb7\x2b" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\xb7\x4c\xdb" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\xb7\x51\xef\xf6" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\xb7\x61\xef" } , { "\xd1\xe8\xe8" , "\x5f\xcb" } , { "\xd1\xe9" , "\x5f" } , { "\xd1\xe9\xe8\xbf" , "\xb7\x51\xf6" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\xd7\xb7\x51\xf6\x65" } , { "\xd2" , "\x5f" } , { "\xd2\xa2" , "\x5f\x65" } , { "\xd2\xa3" , "\x5f\x66" } , { "\xd2\xd3" , "\x5f\x5f" } , { "\xd2\xd6" , "\x5f\x62" } , { "\xd2\xda" , "\x5f\xe7" } , { "\xd2\xda\xa2" , "\x5f\xe7\x65" } , { "\xd2\xdb" , "\xd7\x5f" } , { "\xd2\xdb\xa2" , "\xd7\x5f\x65" } , { "\xd2\xdb\xa3" , "\xd7\x5f\x66" } , { "\xd2\xdc" , "\x5f\xdd" } , { "\xd2\xdd" , "\x5f\xc7" } , { "\xd2\xdd\xa2" , "\x5f\xc7\x65" } , { "\xd2\xde" , "\x5f\xc9" } , { "\xd2\xdf" , "\x5f\xca" } , { "\xd2\xe0" , "\xe5\x5f" } , { "\xd2\xe0\xa2" , "\xe5\x5f\x65" } , { "\xd2\xe1" , "\xe5\x5f" } , { "\xd2\xe1\xa2" , "\xe5\x5f\x65" } , { "\xd2\xe2" , "\xe9\x5f" } , { "\xd2\xe2\xa2" , "\xe9\x5f\x65" } , { "\xd2\xe4" , "\xe5\x5f\xe7" } , { "\xd2\xe5" , "\xe5\x5f\xe7" } , { "\xd2\xe6" , "\xe5\x5f\xec" } , { "\xd2\xe8" , "\x5f\xcb" } , { "\xd2\xe8\xb3" , "\x5f\xcb\x45\xf5" } , { "\xd2\xe8\xb3\xdd" , "\x5f\xcb\x45\xc7\xf5" } , { "\xd2\xe8\xb4\xdd" , "\x5f\xcb\x46\xc7" } , { "\xd2\xe8\xb5" , "\x5f\xcb\x47" } , { "\xd2\xe8\xb5\xdd" , "\x5f\xcb\x6d" } , { "\xd2\xe8\xb8" , "\x5f\xcb\x24\x4a\xf4" } , { "\xd2\xe8\xbd\xdb" , "\x5f\xcb\xd7\x24\x4f\xf4" } , { "\xd2\xe8\xbd\xdc" , "\x5f\xcb\x24\x4f\xf4\xdd" } , { "\xd2\xe8\xc2" , "\x5f\xcb\x54\xf6" } , { "\xd2\xe8\xc2\xda" , "\x5f\xcb\x54\xf6\xe7" } , { "\xd2\xe8\xc2\xda\xa2" , "\x5f\xcb\x54\xf6\xe7\x65" } , { "\xd2\xe8\xc2\xdb\xa2" , "\x5f\xcb\xd7\x54\xf6\x65" } , { "\xd2\xe8\xc2\xdd" , "\x5f\xcb\x54\xc7\xf6" } , { "\xd2\xe8\xc2\xdd\xa2" , "\x5f\xcb\x54\xc7\xf6\x65" } , { "\xd2\xe8\xc2\xde" , "\x5f\xcb\x54\xc9\xf6" } , { "\xd2\xe8\xc2\xde\xa2" , "\x5f\xcb\x54\xc9\xf6\x65" } , { "\xd2\xe8\xc2\xe0" , "\x5f\xcb\xe5\x54\xf6" } , { "\xd2\xe8\xc2\xe1" , "\x5f\xcb\xe5\x54\xf6" } , { "\xd2\xe8\xc2\xe5" , "\x5f\xcb\xe5\x54\xf6\xe7" } , { "\xd2\xe8\xc2\xe5\xa2" , "\x5f\xcb\xe5\x54\xf6\xe7\x65" } , { "\xd2\xe8\xc3\xdd\xa2" , "\x5f\xcb\x55\xc7\x65" } , { "\xd2\xe8\xc4" , "\x5f\xcb\x56" } , { "\xd2\xe8\xc4\xda" , "\x5f\xcb\x56\xe7" } , { "\xd2\xe8\xc4\xda\xa2" , "\x5f\xcb\x56\xe7\x65" } , { "\xd2\xe8\xc4\xdb" , "\x5f\xcb\xd7\x56" } , { "\xd2\xe8\xc4\xdd" , "\x5f\xcb\x56\xc7" } , { "\xd2\xe8\xc6\xdb" , "\xd7\x5f\xc2" } , { "\xd2\xe8\xc6\xdd" , "\x5f\xc2\xc7" } , { "\xd2\xe8\xc8" , "\x5f\xcb\x59" } , { "\xd2\xe8\xc8\xdd" , "\x5f\xcb\x59\xc7" } , { "\xd2\xe8\xca" , "\x5f\x9f" } , { "\xd2\xe8\xcd" , "\x5f\xcb\xcc\x5e" } , { "\xd2\xe8\xcd\xa2" , "\x5f\xcb\xcc\x5e\x65" } , { "\xd2\xe8\xcd\xda" , "\x5f\xcb\xcc\x5e\xe7" } , { "\xd2\xe8\xcd\xda\xa2" , "\x5f\xcb\xcc\x5e\xe7\x65" } , { "\xd2\xe8\xcd\xdd" , "\x5f\xcb\xcc\x5e\xc7" } , { "\xd2\xe8\xcd\xe8\xcd" , "\x5f\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\x5f\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xd2\xe8\xcf" , "\x5f\xd2" } , { "\xd2\xe8\xcf\xda" , "\x5f\xd2\xe7" } , { "\xd2\xe8\xcf\xdc" , "\x5f\xd2\xdd" } , { "\xd2\xe8\xcf\xe5" , "\xe6\x5f\xd2\xe7" } , { "\xd2\xe8\xd1" , "\x7b" } , { "\xd2\xe8\xd1\xa2" , "\x7b\x65" } , { "\xd2\xe8\xd1\xda" , "\x7b\xe7" } , { "\xd2\xe8\xd1\xda\xa2" , "\x7b\xe7\x65" } , { "\xd2\xe8\xd1\xdb" , "\xd7\x7b" } , { "\xd2\xe8\xd1\xdb\xa2" , "\xd7\x7b\x65" } , { "\xd2\xe8\xd1\xdc" , "\x7b\xdd" } , { "\xd2\xe8\xd1\xdd" , "\x7b\xc7" } , { "\xd2\xe8\xd1\xdd\xa2" , "\x7b\xc7\x65" } , { "\xd2\xe8\xd1\xde" , "\x7b\xc9" } , { "\xd2\xe8\xd1\xe0" , "\xe6\x7b" } , { "\xd2\xe8\xd1\xe0\xa2" , "\xe6\x7b\x65" } , { "\xd2\xe8\xd1\xe1" , "\xe6\x7b" } , { "\xd2\xe8\xd1\xe1\xa2" , "\xe6\x7b\x65" } , { "\xd2\xe8\xd1\xe2" , "\xe8\x7b" } , { "\xd2\xe8\xd1\xe2\xa2" , "\xe8\x7b\x65" } , { "\xd2\xe8\xd1\xe4" , "\xe6\x7b\xe7" } , { "\xd2\xe8\xd1\xe5" , "\xe6\x7b\xe7" } , { "\xd2\xe8\xd1\xe6" , "\xe6\x7b\xec" } , { "\xd2\xe8\xd2" , "\x5f\xcb\x5f" } , { "\xd2\xe8\xd2\xa2" , "\x5f\xcb\x5f\x65" } , { "\xd2\xe8\xd2\xda" , "\x5f\xcb\x5f\xe7" } , { "\xd2\xe8\xd2\xda\xa2" , "\x5f\xcb\x5f\xe7\x65" } , { "\xd2\xe8\xd2\xdb" , "\x5f\xcb\xd7\x5f" } , { "\xd2\xe8\xd2\xdb\xa2" , "\x5f\xcb\xd7\x5f\x65" } , { "\xd2\xe8\xd2\xdc" , "\x5f\xcb\x5f\xdd" } , { "\xd2\xe8\xd2\xdd" , "\x5f\xcb\x5f\xc7" } , { "\xd2\xe8\xd2\xdd\xa2" , "\x5f\xcb\x5f\xc7\x65" } , { "\xd2\xe8\xd2\xde" , "\x5f\xcb\x5f\xc9" } , { "\xd2\xe8\xd2\xe0" , "\x5f\xcb\xe5\x5f" } , { "\xd2\xe8\xd2\xe0\xa2" , "\x5f\xcb\xe5\x5f\x65" } , { "\xd2\xe8\xd2\xe1" , "\x5f\xcb\xe5\x5f" } , { "\xd2\xe8\xd2\xe1\xa2" , "\x5f\xcb\xe5\x5f\x65" } , { "\xd2\xe8\xd2\xe2" , "\x5f\xcb\xe9\x5f" } , { "\xd2\xe8\xd2\xe2\xa2" , "\x5f\xcb\xe9\x5f\x65" } , { "\xd2\xe8\xd2\xe4" , "\x5f\xcb\xe5\x5f\xe7" } , { "\xd2\xe8\xd2\xe4\xa2" , "\x5f\xcb\xe5\x5f\xe7\x65" } , { "\xd2\xe8\xd2\xe5" , "\x5f\xcb\xe5\x5f\xe7" } , { "\xd2\xe8\xd2\xe5\xa2" , "\x5f\xcb\xe5\x5f\xe7\x65" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\x5f\xcb\xd7\x5f\xc2" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\x5f\xcb\xe6\x7b\xe7" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\x5f\xcb\x5f\xcb\x5f\xdd" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\x5f\xcb\x5f\xcb\xbe\xc7" } , { "\xd2\xe8\xd4" , "\x5f\xcb\xbe" } , { "\xd2\xe8\xd4\xda" , "\x5f\xcb\xbe\xe7" } , { "\xd2\xe8\xd4\xdb" , "\x5f\xcb\xd7\xbe" } , { "\xd2\xe8\xd6\xdd" , "\x5f\xcb\x62\xc7" } , { "\xd2\xe8\xd7\xdb" , "\x5f\xcb\xd7\x61" } , { "\xd2\xe8\xd7\xdd" , "\x5f\xcb\x61\xc7" } , { "\xd2\xe8\xe8" , "\x5f\xcb" } , { "\xd3" , "\x5f" } , { "\xd3\xc9" , "\x5f\x5a\xf5" } , { "\xd4" , "\xbe" } , { "\xd4\xa1" , "\xbe\x67" } , { "\xd4\xa2" , "\xbe\x65" } , { "\xd4\xa3" , "\xbe\x66" } , { "\xd4\xda" , "\xbe\xe7" } , { "\xd4\xda\xa1" , "\xbe\x67\xe7" } , { "\xd4\xda\xa2" , "\xbe\xe7\x65" } , { "\xd4\xda\xa3" , "\xbe\xe7\x66" } , { "\xd4\xdb" , "\xd7\xbe" } , { "\xd4\xdb\xa2" , "\xd7\xbe\x65" } , { "\xd4\xdb\xa3" , "\xd7\xbe\x66" } , { "\xd4\xdb\xb3\xdf" , "\xd7\xbe\x45\xca\xf5" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\xd7\xbe\xd8\x99\xca\xf6" } , { "\xd4\xdc" , "\xbe\xdd" } , { "\xd4\xdc\xa2" , "\xbe\xdd\x65" } , { "\xd4\xdd" , "\xbe\xc7" } , { "\xd4\xdd\xa1" , "\xbe\x67\xc7" } , { "\xd4\xdd\xa2" , "\xbe\xc7\x65" } , { "\xd4\xdd\xa2\xa2" , "\xbe\xc7\x65\x65" } , { "\xd4\xdd\xa3" , "\xbe\xc7\x66" } , { "\xd4\xde" , "\xbe\xc9" } , { "\xd4\xde\xa1" , "\xbe\x67\xc9" } , { "\xd4\xde\xa2" , "\xbe\xc9\x65" } , { "\xd4\xdf" , "\xbe\xca" } , { "\xd4\xdf\xa2" , "\xbe\xca\x65" } , { "\xd4\xe0" , "\xe5\xbe" } , { "\xd4\xe0\xa2" , "\xe5\xbe\x65" } , { "\xd4\xe1" , "\xe5\xbe" } , { "\xd4\xe1\xa2" , "\xe5\xbe\x65" } , { "\xd4\xe1\xa3" , "\xe5\xbe\x66" } , { "\xd4\xe2" , "\xe9\xbe" } , { "\xd4\xe2\xa2" , "\xe9\xbe\x65" } , { "\xd4\xe2\xa3" , "\xe9\xbe\x66" } , { "\xd4\xe2\xba\xe8" , "\xe9\xbe\x4c\xcb" } , { "\xd4\xe2\xd7\xe8" , "\xe9\xbe\x61\xcb" } , { "\xd4\xe4" , "\xe5\xbe\xe7" } , { "\xd4\xe4\xa2" , "\xe5\xbe\xe7\x65" } , { "\xd4\xe5" , "\xe5\xbe\xe7" } , { "\xd4\xe5\xa2" , "\xe5\xbe\xe7\x65" } , { "\xd4\xe6" , "\xe5\xbe\xec" } , { "\xd4\xe7" , "\xe5\xbe\xe7" } , { "\xd4\xe8" , "\xbe\xcb" } , { "\xd4\xe8\xa2" , "\xbe\xcb\x65" } , { "\xd4\xe8\xb3" , "\xbe\xcb\x45\xf5" } , { "\xd4\xe8\xb3\xda" , "\xbe\xcb\x45\xf5\xe7" } , { "\xd4\xe8\xb3\xdb" , "\xbe\xcb\xd7\x45\xf5" } , { "\xd4\xe8\xb3\xdd" , "\xbe\xcb\x45\xc7\xf5" } , { "\xd4\xe8\xb3\xde" , "\xbe\xcb\x45\xc9\xf5" } , { "\xd4\xe8\xb3\xe0" , "\xbe\xcb\xe5\x45\xf5" } , { "\xd4\xe8\xb3\xe1" , "\xbe\xcb\xe5\x45\xf5" } , { "\xd4\xe8\xb3\xe5" , "\xbe\xcb\xe5\x45\xf5\xe7" } , { "\xd4\xe8\xb3\xe8\xb3" , "\xbe\xcb\x68\xf5" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\xbe\xcb\xd7\x68\xf5" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\xbe\xcb\x68\xc7\xf5" } , { "\xd4\xe8\xb3\xe8\xc2" , "\xbe\xcb\x4e\xfe" } , { "\xd4\xe8\xb3\xe8\xcd" , "\xbe\xcb\xa8\xcc\x5e" } , { "\xd4\xe8\xb3\xe8\xd6" , "\xbe\xcb\x6c\xf9" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\xbe\xcb\x6c\xf9\xe7" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\xbe\xcb\xe5\x6c\xf9\xe7\x65" } , { "\xd4\xe8\xb5\xda" , "\xbe\xcb\x47\xe7" } , { "\xd4\xe8\xb5\xda\xa2" , "\xbe\xcb\x47\xe7\x65" } , { "\xd4\xe8\xb6" , "\xbe\xcb\x48" } , { "\xd4\xe8\xb8" , "\xbe\xcb\x24\x4a\xf4" } , { "\xd4\xe8\xb8\xda" , "\xbe\xcb\x24\x4a\xf4\xe7" } , { "\xd4\xe8\xb8\xdb" , "\xbe\xcb\xd7\x24\x4a\xf4" } , { "\xd4\xe8\xb8\xdd" , "\xbe\xcb\x24\x4a\xc7\xf4" } , { "\xd4\xe8\xb8\xe0" , "\xbe\xcb\xe6\x24\x4a\xf4" } , { "\xd4\xe8\xb8\xe1" , "\xbe\xcb\xe6\x24\x4a\xf4" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\xbe\xcb\xac\x4a\xf4\xe7" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\xbe\xcb\xac\x4a\xc7\xf4" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\xbe\xcb\xe6\xac\x4a\xf4" } , { "\xd4\xe8\xba" , "\x8b" } , { "\xd4\xe8\xba\xdc" , "\x8b\xdd" } , { "\xd4\xe8\xba\xe9" , "\x8b" } , { "\xd4\xe8\xbd" , "\xbe\xcb\x24\x4f\xf4" } , { "\xd4\xe8\xbd\xa2" , "\xbe\xcb\x24\x4f\xf4\x65" } , { "\xd4\xe8\xbd\xda" , "\xbe\xcb\x24\x4f\xf4\xe7" } , { "\xd4\xe8\xbd\xe0" , "\xbe\xcb\xe6\x24\x4f\xf4" } , { "\xd4\xe8\xbd\xe2" , "\xbe\xcb\xe8\x24\x4f\xf4" } , { "\xd4\xe8\xbd\xe8" , "\xbe\xcb\x24\x4f\xcb\xf4" } , { "\xd4\xe8\xbd\xe8\xd1" , "\xbe\xcb\xae\xf2\xf4" } , { "\xd4\xe8\xbf" , "\xbe\xcb\x51\xf6" } , { "\xd4\xe8\xbf\xa2" , "\xbe\xcb\x51\xf6\x65" } , { "\xd4\xe8\xbf\xda" , "\xbe\xcb\x51\xf6\xe7" } , { "\xd4\xe8\xbf\xdb" , "\xbe\xcb\xd7\x51\xf6" } , { "\xd4\xe8\xbf\xdd" , "\xbe\xcb\x51\xc7\xf6" } , { "\xd4\xe8\xbf\xe0" , "\xbe\xcb\xe5\x51\xf6" } , { "\xd4\xe8\xc2" , "\xbe\xcb\x54\xf6" } , { "\xd4\xe8\xc2\xda" , "\xbe\xcb\x54\xf6\xe7" } , { "\xd4\xe8\xc2\xda\xa2" , "\xbe\xcb\x54\xf6\xe7\x65" } , { "\xd4\xe8\xc2\xdb" , "\xbe\xcb\xd7\x54\xf6" } , { "\xd4\xe8\xc2\xdc" , "\xbe\xcb\x54\xf6\xdd" } , { "\xd4\xe8\xc2\xdd\xa2" , "\xbe\xcb\x54\xc7\xf6\x65" } , { "\xd4\xe8\xc2\xe5" , "\xbe\xcb\xe5\x54\xf6\xe7" } , { "\xd4\xe8\xc2\xe8\xc2" , "\xbe\xcb\x77\xf8" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\xbe\xcb\x77\xf8\xe7" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\xbe\xcb\x77\xf8\xe7\x65" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\xbe\xcb\xd7\x77\xf8" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\xbe\xcb\xe5\x77\xf8\xe7\x65" } , { "\xd4\xe8\xc2\xe8\xcd" , "\xbe\xcb\xb1\xcc\x5e" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\xbe\xcb\xb1\xcc\x5e\xe7" } , { "\xd4\xe8\xc2\xe8\xd7" , "\xbe\xcb\xb1\x61" } , { "\xd4\xe8\xc3\xe0" , "\xbe\xcb\xe5\x55" } , { "\xd4\xe8\xc4" , "\x8c" } , { "\xd4\xe8\xc4\xda" , "\x8c\xe7" } , { "\xd4\xe8\xc4\xdb" , "\xd7\x8c" } , { "\xd4\xe8\xc4\xdc" , "\x8c\xdd" } , { "\xd4\xe8\xc4\xe5\xa2" , "\xe5\x8c\xe7\x65" } , { "\xd4\xe8\xc4\xe8\xc5" , "\xbe\xcb\x88\xf9" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\xbe\xcb\x88\xf9\xe7" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\xbe\xcb\xd7\x88\xf9" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\xbe\xcb\xe5\x88\xf9\xe7\x65" } , { "\xd4\xe8\xc4\xe8\xd4" , "\xbe\xcb\xb2\xbe" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\xbe\xcb\xd7\xb2\xbe" } , { "\xd4\xe8\xc5" , "\x8d\xf9" } , { "\xd4\xe8\xc5\xda" , "\x8d\xf9\xe7" } , { "\xd4\xe8\xc5\xdb" , "\xd7\x8d\xf9" } , { "\xd4\xe8\xc6" , "\xbe\xc2" } , { "\xd4\xe8\xc6\xa2" , "\xbe\xc2\x65" } , { "\xd4\xe8\xc6\xda" , "\xbe\xc2\xe7" } , { "\xd4\xe8\xc6\xdb" , "\xd7\xbe\xc2" } , { "\xd4\xe8\xc6\xdc" , "\xbe\xc2\xdd" } , { "\xd4\xe8\xc6\xdd" , "\xbe\xc2\xc7" } , { "\xd4\xe8\xc6\xdd\xa2" , "\xbe\xc2\xc7\x65" } , { "\xd4\xe8\xc6\xde" , "\xbe\xc2\xc9" } , { "\xd4\xe8\xc6\xe0" , "\xe6\xbe\xc2" } , { "\xd4\xe8\xc6\xe1" , "\xe6\xbe\xc2" } , { "\xd4\xe8\xc6\xe4" , "\xe6\xbe\xc2\xe7" } , { "\xd4\xe8\xc6\xe5" , "\xe6\xbe\xc2\xe7" } , { "\xd4\xe8\xc6\xe8\xc4" , "\xbe\xcb\xb3\x56" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\xbe\xcb\xb3\x56\xe7" } , { "\xd4\xe8\xc8" , "\xbe\xcb\x59" } , { "\xd4\xe8\xc8\xda" , "\xbe\xcb\x59\xe7" } , { "\xd4\xe8\xc8\xdb" , "\xbe\xcb\xd7\x59" } , { "\xd4\xe8\xc8\xdd" , "\xbe\xcb\x59\xc7" } , { "\xd4\xe8\xc8\xe2" , "\xbe\xcb\xe9\x59" } , { "\xd4\xe8\xc8\xe8\xcf" , "\xbe\xcb\x59\xd2" } , { "\xd4\xe8\xc9" , "\xbe\xcb\x5a\xf5" } , { "\xd4\xe8\xca" , "\xbe\x5b\xfd" } , { "\xd4\xe8\xca\xdd" , "\xbe\x5b\xc7\xfd" } , { "\xd4\xe8\xca\xe5" , "\xe5\xbe\x5b\xfd\xe7" } , { "\xd4\xe8\xcb" , "\xbe\xcb\x5c\xf6" } , { "\xd4\xe8\xcb\xda" , "\xbe\xcb\x5c\xf6\xe7" } , { "\xd4\xe8\xcc\xdb" , "\xd7\xbe\xbd" } , { "\xd4\xe8\xcc\xdc" , "\xbe\xbd\xdd" } , { "\xd4\xe8\xcc\xe0" , "\xe5\xbe\xbd" } , { "\xd4\xe8\xcc\xe0\xa2" , "\xe5\xbe\xbd\x65" } , { "\xd4\xe8\xcc\xe1" , "\xe5\xbe\xbd" } , { "\xd4\xe8\xcd" , "\xbe\xcb\xcc\x5e" } , { "\xd4\xe8\xcd\xa2" , "\xbe\xcb\xcc\x5e\x65" } , { "\xd4\xe8\xcd\xa3" , "\xbe\xcb\xcc\x5e\x66" } , { "\xd4\xe8\xcd\xda" , "\xbe\xcb\xcc\x5e\xe7" } , { "\xd4\xe8\xcd\xda\xa1" , "\xbe\xcb\xcc\x5e\x67\xe7" } , { "\xd4\xe8\xcd\xda\xa2" , "\xbe\xcb\xcc\x5e\xe7\x65" } , { "\xd4\xe8\xcd\xdc" , "\xbe\xcb\xcc\x5e\xdd" } , { "\xd4\xe8\xcd\xdd" , "\xbe\xcb\xcc\x5e\xc7" } , { "\xd4\xe8\xcd\xdd\xa2" , "\xbe\xcb\xcc\x5e\xc7\x65" } , { "\xd4\xe8\xcd\xde" , "\xbe\xcb\xcc\x5e\xc9" } , { "\xd4\xe8\xcd\xe1" , "\xbe\xcb\xe5\xcc\x5e" } , { "\xd4\xe8\xcd\xe2" , "\xbe\xcb\xe9\xcc\x5e" } , { "\xd4\xe8\xcd\xe4" , "\xbe\xcb\xe5\xcc\x5e\xe7" } , { "\xd4\xe8\xcd\xe5" , "\xbe\xcb\xe5\xcc\x5e\xe7" } , { "\xd4\xe8\xcd\xe5\xa2" , "\xbe\xcb\xe5\xcc\x5e\xe7\x65" } , { "\xd4\xe8\xcd\xe6" , "\xbe\xcb\xe5\xcc\x5e\xec" } , { "\xd4\xe8\xcd\xe6\xa2" , "\xbe\xcb\xe5\xcc\x5e\xec\x65" } , { "\xd4\xe8\xcd\xe8\xb3" , "\xbe\xcb\xcc\x5e\xcb\x45\xf5" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\xbe\xcb\xcc\x5e\xcb\xd7\x45\xf5" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\xbe\xcb\xcc\x5e\xcb\x4e\xfe" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\xbe\xcb\xcc\x5e\xcb\xd7\x4e\xfe" } , { "\xd4\xe8\xcd\xe8\xcd" , "\xbe\xcb\xcc\x5e\xcb\xcc\x5e" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\xbe\xcb\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\xbe\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xd4\xe8\xcf" , "\xbe\xd0" } , { "\xd4\xe8\xcf\xa2" , "\xbe\xd0\x65" } , { "\xd4\xe8\xcf\xda" , "\xbe\xd0\xe7" } , { "\xd4\xe8\xcf\xdb" , "\xd7\xbe\xd0" } , { "\xd4\xe8\xcf\xdc" , "\xbe\xd0\xdd" } , { "\xd4\xe8\xcf\xdd" , "\xbe\xd0\xc7" } , { "\xd4\xe8\xcf\xe0\xa2" , "\xe6\xbe\xd0\x65" } , { "\xd4\xe8\xcf\xe1" , "\xe6\xbe\xd0" } , { "\xd4\xe8\xcf\xe2" , "\xe8\xbe\xd0" } , { "\xd4\xe8\xcf\xe5" , "\xe6\xbe\xd0\xe7" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\xbe\xcb\xbb\xcb\x53\xe7" } , { "\xd4\xe8\xcf\xe8\xc2" , "\xbe\xcb\xbb\xcb\x54\xf6" } , { "\xd4\xe8\xcf\xe8\xcd" , "\xbe\xcb\xbb\xcb\xcc\x5e" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\xbe\xcb\xbb\xcb\xcc\x5e\xe7" } , { "\xd4\xe8\xd1" , "\xbe\xc0" } , { "\xd4\xe8\xd1\xda" , "\xbe\xc0\xe7" } , { "\xd4\xe8\xd1\xda\xa2" , "\xbe\xc0\xe7\x65" } , { "\xd4\xe8\xd1\xdb" , "\xd7\xbe\xc0" } , { "\xd4\xe8\xd1\xdc" , "\xbe\xc0\xdd" } , { "\xd4\xe8\xd1\xdd" , "\xbe\xc0\xc7" } , { "\xd4\xe8\xd1\xde" , "\xbe\xc0\xc9" } , { "\xd4\xe8\xd1\xe0" , "\xe6\xbe\xc0" } , { "\xd4\xe8\xd1\xe1" , "\xe6\xbe\xc0" } , { "\xd4\xe8\xd1\xe5" , "\xe6\xbe\xc0\xe7" } , { "\xd4\xe8\xd1\xe8\xd1" , "\xbe\xcb\x7b" } , { "\xd4\xe8\xd2\xda" , "\xbe\xcb\x5f\xe7" } , { "\xd4\xe8\xd2\xe8\xd1" , "\xbe\xcb\x7b" } , { "\xd4\xe8\xd4" , "\xbe\xcb\xbe" } , { "\xd4\xe8\xd4\xa2" , "\xbe\xcb\xbe\x65" } , { "\xd4\xe8\xd4\xda" , "\xbe\xcb\xbe\xe7" } , { "\xd4\xe8\xd4\xdb" , "\xbe\xcb\xd7\xbe" } , { "\xd4\xe8\xd4\xdb\xa2" , "\xbe\xcb\xd7\xbe\x65" } , { "\xd4\xe8\xd4\xdc" , "\xbe\xcb\xbe\xdd" } , { "\xd4\xe8\xd4\xdc\xa2" , "\xbe\xcb\xbe\xdd\x65" } , { "\xd4\xe8\xd4\xdd" , "\xbe\xcb\xbe\xc7" } , { "\xd4\xe8\xd4\xdd\xa2" , "\xbe\xcb\xbe\xc7\x65" } , { "\xd4\xe8\xd4\xde" , "\xbe\xcb\xbe\xc9" } , { "\xd4\xe8\xd4\xde\xa2" , "\xbe\xcb\xbe\xc9\x65" } , { "\xd4\xe8\xd4\xe0" , "\xbe\xcb\xe5\xbe" } , { "\xd4\xe8\xd4\xe0\xa2" , "\xbe\xcb\xe5\xbe\x65" } , { "\xd4\xe8\xd4\xe1" , "\xbe\xcb\xe5\xbe" } , { "\xd4\xe8\xd4\xe1\xa2" , "\xbe\xcb\xe5\xbe\x65" } , { "\xd4\xe8\xd4\xe2" , "\xbe\xcb\xe9\xbe" } , { "\xd4\xe8\xd4\xe4" , "\xbe\xcb\xe5\xbe\xe7" } , { "\xd4\xe8\xd4\xe4\xa2" , "\xbe\xcb\xe5\xbe\xe7\x65" } , { "\xd4\xe8\xd4\xe5" , "\xbe\xcb\xe5\xbe\xe7" } , { "\xd4\xe8\xd4\xe8" , "\xbe\xcb\xbe\xcb" } , { "\xd4\xe8\xd4\xe8\xcd" , "\xbe\xcb\xbe\xcb\xcc\x5e" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\xbe\xcb\xd7\xb8\x4a\xf4" } , { "\xd4\xe8\xd5\xe8\xcd" , "\xbe\xcb\xb8\xcc\x5e" } , { "\xd4\xe8\xd6" , "\xbe\xcb\x62" } , { "\xd4\xe8\xd6\xda" , "\xbe\xcb\x62\xe7" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\xbe\xcb\xd7\x72\xf4" } , { "\xd4\xe8\xd7" , "\xbe\xcb\x61" } , { "\xd4\xe8\xd7\xda" , "\xbe\xcb\x61\xe7" } , { "\xd4\xe8\xd7\xda\xa2" , "\xbe\xcb\x61\xe7\x65" } , { "\xd4\xe8\xd7\xdb" , "\xbe\xcb\xd7\x61" } , { "\xd4\xe8\xd7\xdc" , "\xbe\xcb\x61\xdd" } , { "\xd4\xe8\xd7\xde" , "\xbe\xcb\x61\xc9" } , { "\xd4\xe8\xd7\xe0" , "\xbe\xcb\xe5\x61" } , { "\xd4\xe8\xd7\xe2" , "\xbe\xcb\xe9\x61" } , { "\xd4\xe8\xd7\xe6" , "\xbe\xcb\xe5\x61\xec" } , { "\xd4\xe8\xd7\xe8" , "\xbe\xcb\x61\xcb" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\xbe\xcb\x95\xf5\xe7" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\xbe\xcb\x95\xf5\xdd" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\xbe\xcb\xe5\x95\xf5\xe7" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\xbe\xcb\x95\xcb\xf5" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\xbe\xcb\xba\x47\xe7" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\xbe\xcb\xba\x4f\xf4\xe7" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\xbe\xcb\xd8\x99\xf6\xe7" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\xbe\xcb\xd8\x99\xc7\xf6\x65" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\xbe\xcb\xe6\xd8\x99\xf6" } , { "\xd4\xe8\xd7\xe8\xc3" , "\xbe\xcb\xd8\x9a\xf6" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\xbe\xcb\xd8\x9a\xf6\xe7" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\xbe\xcb\xd7\xd8\x6f\xf6" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\xbe\xcb\xd8\x6f\xf6\xc7" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\xbe\xcb\xd7\x26" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\xbe\xcb\xe9\x26" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\xbe\xcb\xd8\xf6\x82\xca" } , { "\xd4\xe8\xd8" , "\xbe\xcb\x63\xf7" } , { "\xd4\xe8\xd8\xda" , "\xbe\xcb\x63\xf7\xe7" } , { "\xd4\xe8\xd8\xda\xa2" , "\xbe\xcb\x63\xf7\xe7\x65" } , { "\xd4\xe8\xd8\xdb" , "\xbe\xcb\xd7\x63\xf7" } , { "\xd4\xe8\xd8\xdc" , "\xbe\xcb\x63\xf7\xdd" } , { "\xd4\xe8\xd8\xe1" , "\xbe\xcb\xe5\x63\xf7" } , { "\xd4\xe8\xd8\xe2" , "\xbe\xcb\xe9\x63\xf7" } , { "\xd4\xe8\xd9\xcd" , "\xbe\xcb\xcc\x5e" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\xbe\xcb\xcc\x5e\xef" } , { "\xd4\xe8\xe8" , "\xbe\xcb" } , { "\xd4\xe8\xe9\xcf" , "\xbe\xd0" } , { "\xd4\xe9" , "\xbe" } , { "\xd5" , "\x60" } , { "\xd5\xa1" , "\x60\x67" } , { "\xd5\xa2" , "\x60\x65" } , { "\xd5\xa2\xa3" , "\x60\x65\x66" } , { "\xd5\xa3" , "\x60\x66" } , { "\xd5\xda" , "\x60\xe7" } , { "\xd5\xda\xa1" , "\x60\x67\xe7" } , { "\xd5\xda\xa2" , "\x60\xe7\x65" } , { "\xd5\xda\xa3" , "\x60\xe7\x66" } , { "\xd5\xdb" , "\xd7\x60" } , { "\xd5\xdb\xa2" , "\xd7\x60\x65" } , { "\xd5\xdc" , "\x60\xdd" } , { "\xd5\xdc\xa2" , "\x60\xdd\x65" } , { "\xd5\xdc\xa3" , "\x60\xdd\x66" } , { "\xd5\xdd" , "\xa3" } , { "\xd5\xdd\xa2" , "\xa3\x65" } , { "\xd5\xdd\xa3" , "\xa3\x66" } , { "\xd5\xdd\xd0\xdd" , "\xa3\xbb\xc7" } , { "\xd5\xde" , "\x60\xc9" } , { "\xd5\xde\xa2" , "\x60\xc9\x65" } , { "\xd5\xdf" , "\x60\xca" } , { "\xd5\xdf\xa2" , "\x60\xca\x65" } , { "\xd5\xe0" , "\xe5\x60" } , { "\xd5\xe0\xa2" , "\xe5\x60\x65" } , { "\xd5\xe1" , "\xe5\x60" } , { "\xd5\xe1\xa2" , "\xe5\x60\x65" } , { "\xd5\xe2" , "\xe9\x60" } , { "\xd5\xe2\xa2" , "\xe9\x60\x65" } , { "\xd5\xe4" , "\xe5\x60\xe7" } , { "\xd5\xe4\xa2" , "\xe5\x60\xe7\x65" } , { "\xd5\xe5" , "\xe5\x60\xe7" } , { "\xd5\xe5\xa2" , "\xe5\x60\xe7\x65" } , { "\xd5\xe6" , "\xe5\x60\xec" } , { "\xd5\xe6\xa2" , "\xe5\x60\xec\x65" } , { "\xd5\xe7" , "\xe5\x60\xe7" } , { "\xd5\xe8" , "\x60\xcb" } , { "\xd5\xe8\xa2" , "\x60\xcb\x65" } , { "\xd5\xe8\xb3" , "\xb8\x45\xf5" } , { "\xd5\xe8\xb3\xda" , "\xb8\x45\xf5\xe7" } , { "\xd5\xe8\xb3\xdb" , "\xd7\xb8\x45\xf5" } , { "\xd5\xe8\xb3\xdc" , "\xb8\x45\xf5\xdd" } , { "\xd5\xe8\xb3\xdd" , "\xb8\x45\xc7\xf5" } , { "\xd5\xe8\xb3\xde" , "\xb8\x45\xc9\xf5" } , { "\xd5\xe8\xb3\xe1" , "\xe5\xb8\x45\xf5" } , { "\xd5\xe8\xb3\xe1\xa2" , "\xe5\xb8\x45\xf5\x65" } , { "\xd5\xe8\xb3\xe5\xa2" , "\xe5\xb8\x45\xf5\xe7\x65" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\xd7\xb8\x4e\xfe" } , { "\xd5\xe8\xb3\xe8\xd6" , "\xb8\x6c\xf9" } , { "\xd5\xe8\xb3\xe9" , "\xb8\x45\xf5" } , { "\xd5\xe8\xb4\xa2" , "\xb8\x46\x65" } , { "\xd5\xe8\xb4\xda" , "\xb8\x46\xe7" } , { "\xd5\xe8\xb5\xda" , "\xb8\x47\xe7" } , { "\xd5\xe8\xb5\xdd\xa2" , "\xb8\x47\xc7\x65" } , { "\xd5\xe8\xb6\xda" , "\xb8\x48\xe7" } , { "\xd5\xe8\xb8" , "\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xa2" , "\xb8\x4a\xf4\x65" } , { "\xd5\xe8\xb8\xda" , "\xb8\x4a\xf4\xe7" } , { "\xd5\xe8\xb8\xda\xa2" , "\xb8\x4a\xf4\xe7\x65" } , { "\xd5\xe8\xb8\xdb" , "\xd7\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xd7\xb8\x4a\xf4\x65" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xd7\xb8\x4a\xf4\x65\x65" } , { "\xd5\xe8\xb8\xdd" , "\xb8\x4a\xc7\xf4" } , { "\xd5\xe8\xb8\xe1" , "\xe6\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xe2" , "\xe8\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xe5" , "\xe6\xb8\x4a\xf4\xe7" } , { "\xd5\xe8\xb8\xe8\xb9" , "\x60\xcb\xac\x4b\xf7" } , { "\xd5\xe8\xb8\xe8\xcd" , "\x60\xcb\xac\xcc\x5e" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\x60\xcb\xac\xcc\x5e\xe7" } , { "\xd5\xe8\xb9" , "\xb8\x4b\xf7" } , { "\xd5\xe8\xb9\xda" , "\xb8\x4b\xf7\xe7" } , { "\xd5\xe8\xb9\xdb" , "\xd7\xb8\x4b\xf7" } , { "\xd5\xe8\xb9\xe1" , "\xe6\xb8\x4b\xf7" } , { "\xd5\xe8\xbd" , "\xb8\x4f\xf4" } , { "\xd5\xe8\xbd\xa2" , "\xb8\x4f\xf4\x65" } , { "\xd5\xe8\xbd\xdb" , "\xd7\xb8\x4f\xf4" } , { "\xd5\xe8\xbd\xe5" , "\xe6\xb8\x4f\xf4\xe7" } , { "\xd5\xe8\xbd\xe8\xcd" , "\x60\xcb\xae\xcc\x5e" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\x60\xcb\xae\xcc\x5e\xe7" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\x60\xcb\xae\xcc\x5e\xc9" } , { "\xd5\xe8\xbd\xe8\xcf" , "\xb8\xae\xcf\xf4" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\xe6\xb8\xae\xcf\xf4" } , { "\xd5\xe8\xbf\xe9\xa1" , "\xb8\x51\xcd\x67\xf6" } , { "\xd5\xe8\xc2" , "\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xda" , "\xb8\x54\xf6\xe7" } , { "\xd5\xe8\xc2\xdb" , "\xd7\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xdc" , "\xb8\x54\xf6\xdd" } , { "\xd5\xe8\xc2\xde" , "\xb8\x54\xc9\xf6" } , { "\xd5\xe8\xc2\xe1" , "\xe5\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xe1\xa2" , "\xe5\xb8\x54\xf6\x65" } , { "\xd5\xe8\xc2\xe2" , "\xe9\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xe5" , "\xe5\xb8\x54\xf6\xe7" } , { "\xd5\xe8\xc2\xe5\xa2" , "\xe5\xb8\x54\xf6\xe7\x65" } , { "\xd5\xe8\xc3" , "\xb8\x55" } , { "\xd5\xe8\xc3\xda" , "\xb8\x55\xe7" } , { "\xd5\xe8\xc5" , "\xb8\x57\xfd" } , { "\xd5\xe8\xc5\xda" , "\xb8\x57\xfd\xe7" } , { "\xd5\xe8\xc6" , "\x60\xc2" } , { "\xd5\xe8\xc6\xa2" , "\x60\xc2\x65" } , { "\xd5\xe8\xc6\xda" , "\x60\xc2\xe7" } , { "\xd5\xe8\xc6\xda\xa2" , "\x60\xc2\xe7\x65" } , { "\xd5\xe8\xc6\xdb" , "\xd7\x60\xc2" } , { "\xd5\xe8\xc6\xdb\xa2" , "\xd7\x60\xc2\x65" } , { "\xd5\xe8\xc6\xdd" , "\x60\xc2\xc7" } , { "\xd5\xe8\xc6\xe0" , "\xe6\x60\xc2" } , { "\xd5\xe8\xc6\xe1" , "\xe6\x60\xc2" } , { "\xd5\xe8\xc6\xe5" , "\xe6\x60\xc2\xe7" } , { "\xd5\xe8\xc6\xe5\xa2" , "\xe6\x60\xc2\xe7\x65" } , { "\xd5\xe8\xc6\xe8" , "\x60\xc2\xcb" } , { "\xd5\xe8\xc7" , "\xb8\x58" } , { "\xd5\xe8\xc8" , "\xb8\x59" } , { "\xd5\xe8\xc8\xda" , "\xb8\x59\xe7" } , { "\xd5\xe8\xc8\xdd" , "\xb8\x59\xc7" } , { "\xd5\xe8\xc8\xde" , "\xb8\x59\xc9" } , { "\xd5\xe8\xc9" , "\xb8\x5a\xf5" } , { "\xd5\xe8\xc9\xdd" , "\xb8\x5a\xc7\xf5" } , { "\xd5\xe8\xca" , "\x60\x9f" } , { "\xd5\xe8\xcb" , "\xb8\x5c\xf6" } , { "\xd5\xe8\xcc" , "\x60\xbd" } , { "\xd5\xe8\xcc\xa2" , "\x60\xbd\x65" } , { "\xd5\xe8\xcc\xda" , "\x60\xbd\xe7" } , { "\xd5\xe8\xcc\xdb" , "\xd7\x60\xbd" } , { "\xd5\xe8\xcc\xdb\xa2" , "\xd7\x60\xbd\x65" } , { "\xd5\xe8\xcc\xdc" , "\x60\xbd\xdd" } , { "\xd5\xe8\xcc\xdd" , "\x60\xbd\xc6" } , { "\xd5\xe8\xcc\xdf" , "\x60\xbd\xca" } , { "\xd5\xe8\xcc\xe1" , "\xe5\x60\xbd" } , { "\xd5\xe8\xcc\xe1\xa2" , "\xe5\x60\xbd\x65" } , { "\xd5\xe8\xcc\xe5\xa2" , "\xe5\x60\xbd\xe7\x65" } , { "\xd5\xe8\xcd" , "\xb8\xcc\x5e" } , { "\xd5\xe8\xcd\xa2" , "\xb8\xcc\x5e\x65" } , { "\xd5\xe8\xcd\xda" , "\xb8\xcc\x5e\xe7" } , { "\xd5\xe8\xcd\xda\xa2" , "\xb8\xcc\x5e\xe7\x65" } , { "\xd5\xe8\xcd\xdb" , "\xd7\xb8\xcc\x5e" } , { "\xd5\xe8\xcd\xdc" , "\xb8\xcc\x5e\xdd" } , { "\xd5\xe8\xcd\xdd" , "\xb8\xcc\x5e\xc7" } , { "\xd5\xe8\xcd\xdd\xa2" , "\xb8\xcc\x5e\xc7\x65" } , { "\xd5\xe8\xcd\xde" , "\xb8\xcc\x5e\xc9" } , { "\xd5\xe8\xcd\xe1" , "\xe5\xb8\xcc\x5e" } , { "\xd5\xe8\xcd\xe5" , "\xe5\xb8\xcc\x5e\xe7" } , { "\xd5\xe8\xcd\xe5\xa2" , "\xe5\xb8\xcc\x5e\xe7\x65" } , { "\xd5\xe8\xcd\xe6" , "\xe5\xb8\xcc\x5e\xec" } , { "\xd5\xe8\xcd\xe8" , "\xb8\xcc\x5e\xcb" } , { "\xd5\xe8\xcd\xe8\xb8" , "\x60\xcb\xcc\x5e\xcb\x24\x4a\xf4" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\x60\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\xb8\xcc\x5e\xcb\xb8\xcc\x5e" } , { "\xd5\xe8\xcf" , "\x60\xd2" } , { "\xd5\xe8\xcf\xa2" , "\x60\xd2\x65" } , { "\xd5\xe8\xcf\xda" , "\x60\xd2\xe7" } , { "\xd5\xe8\xcf\xda\xa2" , "\x60\xd2\xe7\x65" } , { "\xd5\xe8\xcf\xdb" , "\xd7\x60\xd2" } , { "\xd5\xe8\xcf\xdb\xa2" , "\xd7\x60\xd2\x65" } , { "\xd5\xe8\xcf\xdc" , "\x60\xd2\xdd" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x60\xd2\xdd\x65" } , { "\xd5\xe8\xcf\xdd" , "\x60\xd2\xd3" } , { "\xd5\xe8\xcf\xde" , "\x60\xd2\xd6" } , { "\xd5\xe8\xcf\xdf" , "\x60\xd2\xca" } , { "\xd5\xe8\xcf\xdf\xa2" , "\x60\xd2\xca\x65" } , { "\xd5\xe8\xcf\xe1" , "\xe6\x60\xd2" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xe6\x60\xd2\x65" } , { "\xd5\xe8\xcf\xe2" , "\xe8\x60\xd2" } , { "\xd5\xe8\xcf\xe5" , "\xe6\x60\xd2\xe7" } , { "\xd5\xe8\xcf\xe6" , "\xe6\x60\xd2\xec" } , { "\xd5\xe8\xcf\xe7" , "\xe6\x60\xd2\xe7" } , { "\xd5\xe8\xcf\xe8\xa2" , "\x60\xd2\xcb\x65" } , { "\xd5\xe8\xcf\xe8\xcc" , "\xb8\xbb\xbd" } , { "\xd5\xe8\xcf\xe8\xd4" , "\x60\xcb\xbb\xcb\xbe" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\x60\xcb\xbb\xcb\xbe\xe7" } , { "\xd5\xe8\xcf\xe8\xd5" , "\x60\xcb\xbb\xcb\x60" } , { "\xd5\xe8\xd1" , "\x60\xc0" } , { "\xd5\xe8\xd1\xda" , "\x60\xc0\xe7" } , { "\xd5\xe8\xd1\xda\xa2" , "\x60\xc0\xe7\x65" } , { "\xd5\xe8\xd1\xdb" , "\xd7\x60\xc0" } , { "\xd5\xe8\xd1\xdc" , "\x60\xc0\xdd" } , { "\xd5\xe8\xd1\xdd" , "\x60\xc0\xc7" } , { "\xd5\xe8\xd1\xe0" , "\xe6\x60\xc0" } , { "\xd5\xe8\xd1\xe1" , "\xe6\x60\xc0" } , { "\xd5\xe8\xd1\xe2" , "\xe8\x60\xc0" } , { "\xd5\xe8\xd1\xe5" , "\xe6\x60\xc0\xe7" } , { "\xd5\xe8\xd1\xe5\xa2" , "\xe6\x60\xc0\xe7\x65" } , { "\xd5\xe8\xd2" , "\xb8\x5f" } , { "\xd5\xe8\xd2\xe1" , "\xe5\xb8\x5f" } , { "\xd5\xe8\xd4" , "\xb8\xbe" } , { "\xd5\xe8\xd4\xa2" , "\xb8\xbe\x65" } , { "\xd5\xe8\xd4\xda" , "\xb8\xbe\xe7" } , { "\xd5\xe8\xd4\xda\xa2" , "\xb8\xbe\xe7\x65" } , { "\xd5\xe8\xd4\xdb" , "\xd7\xb8\xbe" } , { "\xd5\xe8\xd4\xdc" , "\xb8\xbe\xdd" } , { "\xd5\xe8\xd4\xdd" , "\xb8\xbe\xc7" } , { "\xd5\xe8\xd4\xe1" , "\xe5\xb8\xbe" } , { "\xd5\xe8\xd4\xe2" , "\xe9\xb8\xbe" } , { "\xd5\xe8\xd4\xe5" , "\xe5\xb8\xbe\xe7" } , { "\xd5\xe8\xd4\xe5\xa2" , "\xe5\xb8\xbe\xe7\x65" } , { "\xd5\xe8\xd5" , "\xb8\x60" } , { "\xd5\xe8\xd5\xa2" , "\xb8\x60\x65" } , { "\xd5\xe8\xd5\xda" , "\xb8\x60\xe7" } , { "\xd5\xe8\xd5\xda\xa2" , "\xb8\x60\xe7\x65" } , { "\xd5\xe8\xd5\xdb" , "\xd7\xb8\x60" } , { "\xd5\xe8\xd5\xdc" , "\xb8\x60\xdd" } , { "\xd5\xe8\xd5\xdd" , "\xb8\x60\xc7" } , { "\xd5\xe8\xd5\xde" , "\xb8\x60\xc9" } , { "\xd5\xe8\xd5\xdf\xa2" , "\xb8\x60\xca\x65" } , { "\xd5\xe8\xd5\xe1" , "\xe5\xb8\x60" } , { "\xd5\xe8\xd5\xe2" , "\xe9\xb8\x60" } , { "\xd5\xe8\xd5\xe5" , "\xe5\xb8\x60\xe7" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\xb8\x60\xd2\xdd" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\xb8\x60\xd2\xd3" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\xe6\xb8\x60\xd2" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\x60\xcb\xb8\xbe\xe7" } , { "\xd5\xe8\xd6\xe1" , "\xe5\xb8\x62" } , { "\xd5\xe8\xd6\xe8\xbe" , "\xb8\x9c\xf6" } , { "\xd5\xe8\xd7" , "\xb8\x61" } , { "\xd5\xe8\xd7\xe8\xc2" , "\xb8\xd8\x99\xf6" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\xd7\xb8\xd8\x99\xf6" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\xb8\xd8\x97\xf6\x65" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\xb8\xd8\x97\xf6\xe7" } , { "\xd5\xe8\xd8\xdc" , "\xb8\x63\xf7\xdd" } , { "\xd5\xe8\xd9" , "\xb8" } , { "\xd5\xe8\xd9\xa6" , "\xb8\x2b" } , { "\xd5\xe8\xd9\xb3" , "\xb8\x45\xf5" } , { "\xd5\xe8\xd9\xb8" , "\xb8\x24\x4a\xf4" } , { "\xd5\xe8\xd9\xb8\xda" , "\xb8\x24\x4a\xf4\xe7" } , { "\xd5\xe8\xd9\xb8\xdb" , "\xb8\xd7\x24\x4a\xf4" } , { "\xd5\xe8\xd9\xc2" , "\xb8\x54\xf6" } , { "\xd5\xe8\xd9\xc2\xdc" , "\xb8\x54\xf6\xdd" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\xb8\xe3\x54\xf6\xe7\x65" } , { "\xd5\xe8\xd9\xc6" , "\xb8\x58" } , { "\xd5\xe8\xd9\xc6\xe5" , "\xb8\xe3\x58\xe7" } , { "\xd5\xe8\xd9\xcc" , "\xb8\x5d" } , { "\xd5\xe8\xd9\xcc\xdc" , "\xb8\x5d\xdd" } , { "\xd5\xe8\xd9\xcd" , "\xb8\xcc\x5e" } , { "\xd5\xe8\xd9\xcd\xa2" , "\xb8\xcc\x5e\x65" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\xb8\xbe\xef" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\xb8\xe3\xbe\xef\xe7" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\xb8\xe3\xbe\xef\xe7\x65" } , { "\xd5\xe8\xd9\xd1\xe1" , "\xb8\xe3\x5f" } , { "\xd5\xe8\xd9\xd1\xe2" , "\xb8\xea\x5f" } , { "\xd5\xe8\xd9\xd4" , "\xb8\xbe" } , { "\xd5\xe8\xd9\xd4\xda" , "\xb8\xbe\xe7" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\xb8\xbe\xe7\x65" } , { "\xd5\xe8\xd9\xd4\xdb" , "\xb8\xd7\xbe" } , { "\xd5\xe8\xd9\xd4\xdc" , "\xb8\xbe\xdd" } , { "\xd5\xe8\xd9\xd4\xe1" , "\xb8\xe3\xbe" } , { "\xd5\xe8\xd9\xd4\xe2" , "\xb8\xea\xbe" } , { "\xd5\xe8\xe8" , "\x60\xcb" } , { "\xd5\xe8\xe9\xcf" , "\x60\xd2" } , { "\xd5\xe8\xe9\xd4" , "\xb8\xbe" } , { "\xd5\xe9" , "\x60" } , { "\xd6" , "\x62" } , { "\xd6\xa1" , "\x62\x67" } , { "\xd6\xa2" , "\x62\x65" } , { "\xd6\xa3" , "\x62\x66" } , { "\xd6\xd6" , "\x62\x62" } , { "\xd6\xda" , "\x62\xe7" } , { "\xd6\xda\xa2" , "\x62\xe7\x65" } , { "\xd6\xda\xa3" , "\x62\xe7\x66" } , { "\xd6\xdb" , "\xd7\x62" } , { "\xd6\xdb\xa2" , "\xd7\x62\x65" } , { "\xd6\xdb\xa3" , "\xd7\x62\x66" } , { "\xd6\xdb\xcc\xe8" , "\xd7\x62\x5d\xcb" } , { "\xd6\xdc" , "\x62\xdd" } , { "\xd6\xdc\xa2" , "\x62\xdd\x65" } , { "\xd6\xdc\xa3" , "\x62\xdd\x66" } , { "\xd6\xdd" , "\x62\xc7" } , { "\xd6\xdd\xa2" , "\x62\xc7\x65" } , { "\xd6\xde" , "\x62\xc9" } , { "\xd6\xdf" , "\x62\xca" } , { "\xd6\xe0" , "\xe5\x62" } , { "\xd6\xe0\xa2" , "\xe5\x62\x65" } , { "\xd6\xe1" , "\xe5\x62" } , { "\xd6\xe1\xa2" , "\xe5\x62\x65" } , { "\xd6\xe2" , "\xe9\x62" } , { "\xd6\xe3" , "\xe5\x62" } , { "\xd6\xe4" , "\xe5\x62\xe7" } , { "\xd6\xe5" , "\xe5\x62\xe7" } , { "\xd6\xe5\xa2" , "\xe5\x62\xe7\x65" } , { "\xd6\xe6" , "\xe5\x62\xec" } , { "\xd6\xe8" , "\x62\xcb" } , { "\xd6\xe8\xb3" , "\x9b\xf5" } , { "\xd6\xe8\xb3\xa2" , "\x9b\xf5\x65" } , { "\xd6\xe8\xb3\xda" , "\x9b\xf5\xe7" } , { "\xd6\xe8\xb3\xda\xa2" , "\x9b\xf5\xe7\x65" } , { "\xd6\xe8\xb3\xdb" , "\xd7\x9b\xf5" } , { "\xd6\xe8\xb3\xdb\xa2" , "\xd7\x9b\xf5\x65" } , { "\xd6\xe8\xb3\xdc" , "\x9b\xf5\xdd" } , { "\xd6\xe8\xb3\xdd" , "\x9b\xc7\xf5" } , { "\xd6\xe8\xb3\xde" , "\x9b\xc9\xf5" } , { "\xd6\xe8\xb3\xdf" , "\x9b\xca\xf5" } , { "\xd6\xe8\xb3\xe0\xa2" , "\xe5\x9b\xf5\x65" } , { "\xd6\xe8\xb3\xe5" , "\xe5\x9b\xf5\xe7" } , { "\xd6\xe8\xb3\xe5\xa2" , "\xe5\x9b\xf5\xe7\x65" } , { "\xd6\xe8\xb3\xe8" , "\x9b\xcb\xf5" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xb9\x4e\xfe" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\x62\xcb\xa8\xcc\x5e\xc9" } , { "\xd6\xe8\xb3\xe8\xcf" , "\x9b\x98\xf5" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\x9b\x98\xf5\xe7" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\xd7\x9b\x98\xf5" } , { "\xd6\xe8\xb3\xe8\xd6" , "\xb9\x6c\xf9" } , { "\xd6\xe8\xb4\xda" , "\xb9\x46\xe7" } , { "\xd6\xe8\xb5\xda" , "\xb9\x47\xe7" } , { "\xd6\xe8\xb5\xdd" , "\xb9\x47\xc7" } , { "\xd6\xe8\xb8" , "\xb9\x4a\xf4" } , { "\xd6\xe8\xb8\xa2" , "\xb9\x4a\xf4\x65" } , { "\xd6\xe8\xb8\xda" , "\xb9\x4a\xf4\xe7" } , { "\xd6\xe8\xb8\xdb" , "\xd7\xb9\x4a\xf4" } , { "\xd6\xe8\xb8\xdb\xa2" , "\xd7\xb9\x4a\xf4\x65" } , { "\xd6\xe8\xb8\xe1" , "\xe6\xb9\x4a\xf4" } , { "\xd6\xe8\xb8\xe8" , "\xb9\x4a\xcb\xf4" } , { "\xd6\xe8\xba" , "\xb9\x4c" } , { "\xd6\xe8\xba\xda" , "\xb9\x4c\xe7" } , { "\xd6\xe8\xba\xe5" , "\xe5\xb9\x4c\xe7" } , { "\xd6\xe8\xbd" , "\x72\xf4" } , { "\xd6\xe8\xbd\xa2" , "\x72\xf4\x65" } , { "\xd6\xe8\xbd\xa3" , "\x72\xf4\x66" } , { "\xd6\xe8\xbd\xda" , "\x72\xf4\xe7" } , { "\xd6\xe8\xbd\xda\xa1" , "\x72\x67\xf4\xe7" } , { "\xd6\xe8\xbd\xda\xa2" , "\x72\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xdb" , "\xd7\x72\xf4" } , { "\xd6\xe8\xbd\xdb\xa2" , "\xd7\x72\xf4\x65" } , { "\xd6\xe8\xbd\xdb\xa3" , "\xd7\x72\xf4\x66" } , { "\xd6\xe8\xbd\xdc" , "\x72\xf4\xdd" } , { "\xd6\xe8\xbd\xdd" , "\x72\xc7\xf4" } , { "\xd6\xe8\xbd\xdd\xa2" , "\x72\xc7\xf4\x65" } , { "\xd6\xe8\xbd\xde" , "\x72\xc9\xf4" } , { "\xd6\xe8\xbd\xdf" , "\x72\xca\xf4" } , { "\xd6\xe8\xbd\xe0" , "\xe6\x72\xf4" } , { "\xd6\xe8\xbd\xe1" , "\xe6\x72\xf4" } , { "\xd6\xe8\xbd\xe2" , "\xe8\x72\xf4" } , { "\xd6\xe8\xbd\xe5" , "\xe6\x72\xf4\xe7" } , { "\xd6\xe8\xbd\xe5\xa2" , "\xe6\x72\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xe6" , "\xe6\x72\xf4\xec" } , { "\xd6\xe8\xbd\xe8" , "\x72\xcb\xf4" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\x62\xcb\xe5\xae\x45\xf5\xec\x65" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\x62\xcb\xe5\xae\x53\xe7" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\x62\xcb\xe5\xae\x56\xe7" } , { "\xd6\xe8\xbd\xe8\xc8" , "\x62\xcb\xae\x59" } , { "\xd6\xe8\xbd\xe8\xcd" , "\x62\xcb\xae\xcc\x5e" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\x62\xcb\xae\xcc\x5e\x65" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\x62\xcb\xae\xcc\x5e\xe7" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\x62\xcb\xae\xcc\x5e\xe7\x65" } , { "\xd6\xe8\xbd\xe8\xcf" , "\x72\xd1\xf4" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\x72\xd1\xf4\x65" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\x72\xd1\xf4\xe7" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\x72\xd1\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\xd7\x72\xd1\xf4" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\x72\xd1\xf4\xdd" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\x72\xd1\xf4\xc6" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\xe6\x72\xd1\xf4" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\xe6\x72\xd1\xf4\xe7" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\xe6\x72\xd1\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\xb9\x4f\xcb\xf4\xbb\xcb\xcc\x5e\xe7\x66" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\xe6\xae\xb9\xbb\xc0\xe7" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xb9\xae\xf2\xf4\xe7" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\x62\xcb\xae\xbe\xe7" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\x62\xcb\xe9\xae\xbe" } , { "\xd6\xe8\xbe" , "\x9c\xf6" } , { "\xd6\xe8\xbe\xa2" , "\x9c\xf6\x65" } , { "\xd6\xe8\xbe\xa3" , "\x9c\xf6\x66" } , { "\xd6\xe8\xbe\xda" , "\x9c\xf6\xe7" } , { "\xd6\xe8\xbe\xda\xa2" , "\x9c\xf6\xe7\x65" } , { "\xd6\xe8\xbe\xda\xa3" , "\x9c\xf6\xe7\x66" } , { "\xd6\xe8\xbe\xdb" , "\xd7\x9c\xf6" } , { "\xd6\xe8\xbe\xdb\xa2" , "\xd7\x9c\xf6\x65" } , { "\xd6\xe8\xbe\xdc" , "\x9c\xf6\xdd" } , { "\xd6\xe8\xbe\xdd" , "\x9c\xc7\xf6" } , { "\xd6\xe8\xbe\xde" , "\x9c\xc9\xf6" } , { "\xd6\xe8\xbe\xe1" , "\xe5\x9c\xf6" } , { "\xd6\xe8\xbe\xe5" , "\xe5\x9c\xf6\xe7" } , { "\xd6\xe8\xbe\xe5\xa2" , "\xe5\x9c\xf6\xe7\x65" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\x62\xcb\x50\xcb\xf6\x54\xc9\xf6" } , { "\xd6\xe8\xbe\xe8\xcd" , "\x62\xcb\x50\xcb\xf6\xcc\x5e" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\x62\xcb\x50\xcb\xf6\xcc\x5e\x65" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\x62\xcb\x50\xcb\xf6\xcc\x5e\xe7" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\x62\xcb\x50\xcb\xf6\xcc\x5e\xdd" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\x62\xcb\x50\xcb\xf6\xe6\xcc\x5e" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\x9c\xce\xf6\xdd" } , { "\xd6\xe8\xbf\xdb\xa3" , "\xd7\xb9\x51\xf6\x66" } , { "\xd6\xe8\xbf\xe8" , "\xb9\x51\xcb\xf6" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\x62\xcb\xaf\xcc\x5e\xc9" } , { "\xd6\xe8\xc1" , "\x62\xd5" } , { "\xd6\xe8\xc1\xa1" , "\x62\x67\xd5" } , { "\xd6\xe8\xc1\xa2" , "\x62\xd5\x65" } , { "\xd6\xe8\xc1\xda" , "\x62\xd5\xe7" } , { "\xd6\xe8\xc1\xda\xa2" , "\x62\xd5\xe7\x65" } , { "\xd6\xe8\xc1\xdb" , "\xd7\x62\xd5" } , { "\xd6\xe8\xc1\xdc" , "\x62\xd5\xdd" } , { "\xd6\xe8\xc1\xdd" , "\x62\xc7\xd5" } , { "\xd6\xe8\xc1\xdd\xa2" , "\x62\xc7\xd5\x65" } , { "\xd6\xe8\xc1\xdd\xa3" , "\x62\xc7\xd5\x66" } , { "\xd6\xe8\xc1\xde" , "\x62\xc9\xd5" } , { "\xd6\xe8\xc1\xe1" , "\xe5\x62\xd5" } , { "\xd6\xe8\xc1\xe4" , "\xe5\x62\xd5\xe7" } , { "\xd6\xe8\xc1\xe5" , "\xe5\x62\xd5\xe7" } , { "\xd6\xe8\xc1\xe5\xa2" , "\xe5\x62\xd5\xe7\x65" } , { "\xd6\xe8\xc1\xe5\xa3" , "\xe5\x62\xd5\xe7\x66" } , { "\xd6\xe8\xc1\xe8\xcd" , "\x62\xcb\xb0\xcc\x5e" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\x62\xcb\xb0\xcc\x5e\xe7" } , { "\xd6\xe8\xc1\xe8\xd4" , "\x62\xcb\xb0\xbe" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\x62\xcb\xb0\xbe\x65" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\x62\xcb\xb0\xbe\xe7" } , { "\xd6\xe8\xc2" , "\xb9\x54\xf6" } , { "\xd6\xe8\xc2\xda" , "\xb9\x54\xf6\xe7" } , { "\xd6\xe8\xc2\xdb" , "\xd7\xb9\x54\xf6" } , { "\xd6\xe8\xc2\xdc" , "\xb9\x54\xf6\xdd" } , { "\xd6\xe8\xc2\xe5" , "\xe5\xb9\x54\xf6\xe7" } , { "\xd6\xe8\xc2\xe8\xcf" , "\xb9\x79" } , { "\xd6\xe8\xc4" , "\xb9\x56" } , { "\xd6\xe8\xc4\xe1" , "\xe5\xb9\x56" } , { "\xd6\xe8\xc6" , "\x62\xc2" } , { "\xd6\xe8\xc6\xda" , "\x62\xc2\xe7" } , { "\xd6\xe8\xc6\xdb" , "\xd7\x62\xc2" } , { "\xd6\xe8\xc6\xdd" , "\x62\xc2\xc7" } , { "\xd6\xe8\xc6\xdd\xa2" , "\x62\xc2\xc7\x65" } , { "\xd6\xe8\xc6\xde" , "\x62\xc2\xc9" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\xb9\x7e\xc7" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\x62\xcb\xb3\x61\xcb" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\x62\xcb\xe4\xba\xb3\x7b\xe7" } , { "\xd6\xe8\xc8" , "\xb9\x59" } , { "\xd6\xe8\xc8\xa2" , "\xb9\x59\x65" } , { "\xd6\xe8\xc8\xda" , "\xb9\x59\xe7" } , { "\xd6\xe8\xc8\xda\xa2" , "\xb9\x59\xe7\x65" } , { "\xd6\xe8\xc8\xdb" , "\xd7\xb9\x59" } , { "\xd6\xe8\xc8\xdb\xa2" , "\xd7\xb9\x59\x65" } , { "\xd6\xe8\xc8\xdc" , "\xb9\x59\xdd" } , { "\xd6\xe8\xc8\xdd" , "\xb9\x59\xc7" } , { "\xd6\xe8\xc8\xe1" , "\xe5\xb9\x59" } , { "\xd6\xe8\xc8\xe2" , "\xe9\xb9\x59" } , { "\xd6\xe8\xc8\xe2\xa3" , "\xe9\xb9\x59\x66" } , { "\xd6\xe8\xc8\xe5" , "\xe5\xb9\x59\xe7" } , { "\xd6\xe8\xc8\xe5\xa2" , "\xe5\xb9\x59\xe7\x65" } , { "\xd6\xe8\xc8\xe6" , "\xe5\xb9\x59\xec" } , { "\xd6\xe8\xc8\xe8\xcf" , "\xb9\x59\xd2" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\xb9\x59\xd2\xe7" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\xe6\xb9\x59\xd2" } , { "\xd6\xe8\xc9" , "\xb9\x8f\xf5" } , { "\xd6\xe8\xca" , "\x62\x9d" } , { "\xd6\xe8\xca\xda" , "\x62\x9d\xe7" } , { "\xd6\xe8\xca\xe1" , "\xe5\x62\x9d" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\xb9\x5b\xfd\xd0\xd6" } , { "\xd6\xe8\xcb\xda" , "\xb9\x5c\xf6\xe7" } , { "\xd6\xe8\xcc" , "\xb9\x82" } , { "\xd6\xe8\xcc\xa2" , "\xb9\x82\x65" } , { "\xd6\xe8\xcc\xda" , "\xb9\x82\xe7" } , { "\xd6\xe8\xcc\xda\xa2" , "\xb9\x82\xe7\x65" } , { "\xd6\xe8\xcc\xdb" , "\xd7\xb9\x82" } , { "\xd6\xe8\xcc\xdb\xa2" , "\xd7\xb9\x82\x65" } , { "\xd6\xe8\xcc\xdc" , "\xb9\x82\xdd" } , { "\xd6\xe8\xcc\xdd" , "\xb9\x82\xc7" } , { "\xd6\xe8\xcc\xdd\xa2" , "\xb9\x82\xc7\x65" } , { "\xd6\xe8\xcc\xe0\xa2" , "\xe5\xb9\x82\x65" } , { "\xd6\xe8\xcc\xe1" , "\xe5\xb9\x82" } , { "\xd6\xe8\xcc\xe4" , "\xe5\xb9\x82\xe7" } , { "\xd6\xe8\xcc\xe5" , "\xe5\xb9\x82\xe7" } , { "\xd6\xe8\xcc\xe5\xa2" , "\xe5\xb9\x82\xe7\x65" } , { "\xd6\xe8\xcd" , "\xb9\xcc\x5e" } , { "\xd6\xe8\xcd\xa2" , "\xb9\xcc\x5e\x65" } , { "\xd6\xe8\xcd\xa3" , "\xb9\xcc\x5e\x66" } , { "\xd6\xe8\xcd\xda" , "\xb9\xcc\x5e\xe7" } , { "\xd6\xe8\xcd\xdb" , "\xd7\xb9\xcc\x5e" } , { "\xd6\xe8\xcd\xdd" , "\xb9\xcc\x5e\xc7" } , { "\xd6\xe8\xcd\xdd\xa2" , "\xb9\xcc\x5e\xc7\x65" } , { "\xd6\xe8\xcd\xde" , "\xb9\xcc\x5e\xc9" } , { "\xd6\xe8\xcd\xe1" , "\xe5\xb9\xcc\x5e" } , { "\xd6\xe8\xcd\xe5" , "\xe5\xb9\xcc\x5e\xe7" } , { "\xd6\xe8\xcd\xe5\xa2" , "\xe5\xb9\xcc\x5e\xe7\x65" } , { "\xd6\xe8\xcd\xe8" , "\xb9\xcc\x5e\xcb" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\x62\xcb\xcc\x5e\xcb\x24\x4f\xf4\xe7" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\x62\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xd6\xe8\xcd\xe8\xcf" , "\xb9\x5e\xd0" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\xb9\x5e\xd0\xe7" } , { "\xd6\xe8\xcf" , "\x62\xd0" } , { "\xd6\xe8\xcf\xa2" , "\x62\xd0\x65" } , { "\xd6\xe8\xcf\xda" , "\x62\xd0\xe7" } , { "\xd6\xe8\xcf\xdc" , "\x62\xd0\xdd" } , { "\xd6\xe8\xcf\xdd" , "\x62\xd0\xc7" } , { "\xd6\xe8\xcf\xde" , "\x62\xd0\xc9" } , { "\xd6\xe8\xcf\xdf" , "\x62\xd0\xca" } , { "\xd6\xe8\xcf\xe0" , "\xe6\x62\xd0" } , { "\xd6\xe8\xcf\xe2" , "\xe8\x62\xd0" } , { "\xd6\xe8\xcf\xe5" , "\xe6\x62\xd0\xe7" } , { "\xd6\xe8\xcf\xe8" , "\x62\xd0\xcb" } , { "\xd6\xe8\xcf\xe8\xb3" , "\x62\xcb\xbb\xcb\x45\xf5" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\x62\xcb\xbb\xcb\xcc\x5e\xe7" } , { "\xd6\xe8\xd1" , "\x62\xc0" } , { "\xd6\xe8\xd1\xda" , "\x62\xc0\xe7" } , { "\xd6\xe8\xd1\xda\xa2" , "\x62\xc0\xe7\x65" } , { "\xd6\xe8\xd1\xdc" , "\x62\xc0\xdd" } , { "\xd6\xe8\xd1\xdd" , "\x62\xc0\xc7" } , { "\xd6\xe8\xd1\xde" , "\x62\xc0\xc9" } , { "\xd6\xe8\xd1\xe0" , "\xe6\x62\xc0" } , { "\xd6\xe8\xd1\xe1" , "\xe6\x62\xc0" } , { "\xd6\xe8\xd1\xe2" , "\xe8\x62\xc0" } , { "\xd6\xe8\xd1\xe5" , "\xe6\x62\xc0\xe7" } , { "\xd6\xe8\xd4" , "\xb9\xbe" } , { "\xd6\xe8\xd4\xa2" , "\xb9\xbe\x65" } , { "\xd6\xe8\xd4\xda" , "\xb9\xbe\xe7" } , { "\xd6\xe8\xd4\xdb" , "\xd7\xb9\xbe" } , { "\xd6\xe8\xd4\xdc" , "\xb9\xbe\xdd" } , { "\xd6\xe8\xd4\xdd" , "\xb9\xbe\xc7" } , { "\xd6\xe8\xd4\xe2" , "\xe9\xb9\xbe" } , { "\xd6\xe8\xd5" , "\xb9\x60" } , { "\xd6\xe8\xd5\xda" , "\xb9\x60\xe7" } , { "\xd6\xe8\xd6" , "\xb9\x62" } , { "\xd6\xe8\xd6\xda" , "\xb9\x62\xe7" } , { "\xd6\xe8\xd6\xdb" , "\xd7\xb9\x62" } , { "\xd6\xe8\xd6\xdd" , "\xb9\x62\xc7" } , { "\xd6\xe8\xd6\xde" , "\xb9\x62\xc9" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\xb9\x62\xc7\xd5" } , { "\xd6\xe8\xd7\xe2" , "\xe9\xb9\x61" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\xb9\xcc\x5e\xef\xe7" } , { "\xd6\xe8\xe8" , "\x62\xcb" } , { "\xd7" , "\x61" } , { "\xd7\xa1" , "\x61\x67" } , { "\xd7\xa2" , "\x61\x65" } , { "\xd7\xa3" , "\x61\x66" } , { "\xd7\xd0" , "\x61\xbb" } , { "\xd7\xd0\xd1" , "\x61\xbb\x5f" } , { "\xd7\xda" , "\x61\xe7" } , { "\xd7\xda\xa1" , "\x61\x67\xe7" } , { "\xd7\xda\xa2" , "\x61\xe7\x65" } , { "\xd7\xda\xa3" , "\x61\xe7\x66" } , { "\xd7\xdb" , "\xd7\x61" } , { "\xd7\xdb\xa2" , "\xd7\x61\x65" } , { "\xd7\xdb\xa2\xa2" , "\xd7\x61\x65\x65" } , { "\xd7\xdb\xa2\xa3" , "\xd7\x61\x65\x66" } , { "\xd7\xdb\xbd\xe8" , "\xd7\x61\x24\x4f\xcb\xf4" } , { "\xd7\xdc" , "\x61\xdd" } , { "\xd7\xdc\xa2" , "\x61\xdd\x65" } , { "\xd7\xdd" , "\x61\xc7" } , { "\xd7\xdd\xa1" , "\x61\x67\xc7" } , { "\xd7\xdd\xa2" , "\x61\xc7\x65" } , { "\xd7\xdd\xa3" , "\x61\xc7\x66" } , { "\xd7\xde" , "\x61\xc9" } , { "\xd7\xde\xa1" , "\x61\x67\xc9" } , { "\xd7\xde\xa2" , "\x61\xc9\x65" } , { "\xd7\xdf" , "\x61\xca" } , { "\xd7\xdf\xa2" , "\x61\xca\x65" } , { "\xd7\xe0" , "\xe5\x61" } , { "\xd7\xe0\xa2" , "\xe5\x61\x65" } , { "\xd7\xe1" , "\xe5\x61" } , { "\xd7\xe1\xa2" , "\xe5\x61\x65" } , { "\xd7\xe2" , "\xe9\x61" } , { "\xd7\xe2\xa2" , "\xe9\x61\x65" } , { "\xd7\xe3" , "\xe5\x61" } , { "\xd7\xe4" , "\xe5\x61\xe7" } , { "\xd7\xe4\xa2" , "\xe5\x61\xe7\x65" } , { "\xd7\xe5" , "\xe5\x61\xe7" } , { "\xd7\xe5\xa2" , "\xe5\x61\xe7\x65" } , { "\xd7\xe6" , "\xe5\x61\xec" } , { "\xd7\xe6\xa2" , "\xe5\x61\xec\x65" } , { "\xd7\xe6\xc2\xe8" , "\xe5\x61\xec\x64" } , { "\xd7\xe7" , "\xe5\x61\xe7" } , { "\xd7\xe7\xa2" , "\xe5\x61\xe7\x65" } , { "\xd7\xe8" , "\x61\xcb" } , { "\xd7\xe8\xb3" , "\x95\xf5" } , { "\xd7\xe8\xb3\xa2" , "\x95\xf5\x65" } , { "\xd7\xe8\xb3\xda" , "\x95\xf5\xe7" } , { "\xd7\xe8\xb3\xda\xa1" , "\x95\x67\xf5\xe7" } , { "\xd7\xe8\xb3\xda\xa2" , "\x95\xf5\xe7\x65" } , { "\xd7\xe8\xb3\xdb" , "\xd7\x95\xf5" } , { "\xd7\xe8\xb3\xdc" , "\x95\xf5\xdd" } , { "\xd7\xe8\xb3\xdc\xa2" , "\x95\xf5\xdd\x65" } , { "\xd7\xe8\xb3\xdd" , "\x95\xc7\xf5" } , { "\xd7\xe8\xb3\xde" , "\x95\xc9\xf5" } , { "\xd7\xe8\xb3\xdf" , "\x95\xca\xf5" } , { "\xd7\xe8\xb3\xe0" , "\xe5\x95\xf5" } , { "\xd7\xe8\xb3\xe1" , "\xe5\x95\xf5" } , { "\xd7\xe8\xb3\xe1\xa2" , "\xe5\x95\xf5\x65" } , { "\xd7\xe8\xb3\xe2" , "\xe9\x95\xf5" } , { "\xd7\xe8\xb3\xe2\xa2" , "\xe9\x95\xf5\x65" } , { "\xd7\xe8\xb3\xe4" , "\xe5\x95\xf5\xe7" } , { "\xd7\xe8\xb3\xe5" , "\xe5\x95\xf5\xe7" } , { "\xd7\xe8\xb3\xe5\xa2" , "\xe5\x95\xf5\xe7\x65" } , { "\xd7\xe8\xb3\xe6" , "\xe5\x95\xf5\xec" } , { "\xd7\xe8\xb3\xe6\xa2" , "\xe5\x95\xf5\xec\x65" } , { "\xd7\xe8\xb3\xe7" , "\xe5\x95\xf5\xe7" } , { "\xd7\xe8\xb3\xe8" , "\x95\xcb\xf5" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\xd7\xba\x68\xf5" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\xba\x68\xc7\xf5" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\x61\xcb\xe6\xa8\x4a\xf4" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\xba\x45\xcb\xf5\xae\x45\xf5\xdd" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\xa8\xba\xae\xf3\xc7\xf4" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xba\x4e\xfe" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xd7\xba\x4e\xfe" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xba\x4e\xc7\xfe" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\xd7\xba\x45\xc2\xf5" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\xba\x45\xc2\xc7\xf5" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\x61\xcb\xa8\x59\xe7" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\xd7\xba\xa8\xbf" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\x61\xcb\xa8\xcc\x5e\xc7" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\x61\xcb\xa8\xcc\x5e\xc9" } , { "\xd7\xe8\xb3\xe8\xcf" , "\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\x95\x98\xf5\xe7" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\xd7\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\x95\x98\xf5\xdd" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\x95\x98\xf5\xdd\x65" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\x95\x98\xc6\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\x95\x98\xc8\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\xe5\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\xe9\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\xe5\x95\x98\xf5\xe7" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\xe5\x95\x98\xf5\xec\x65" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xd7\x95\xc0\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\x95\xc0\xf5\xdd" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\x95\xc0\xc6\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\xe5\x95\xc0\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xe5\x95\xc0\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xe5\x95\xc0\xf5\xe7" } , { "\xd7\xe8\xb3\xe8\xd4" , "\x61\xcb\xa8\xbe" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\x61\xcb\xa8\xbe\xe7" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\x61\xcb\xd7\xa8\xbe" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\x61\xcb\xa8\xbe\xdd" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\x61\xcb\xe5\xa8\xbe" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\x61\xcb\xe5\xa8\xbe" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\x61\xcb\xe9\xa8\xbe" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\x61\xcb\xe5\xa8\xbe\xe7" } , { "\xd7\xe8\xb3\xe8\xd5" , "\x61\xcb\xa8\x60" } , { "\xd7\xe8\xb3\xe8\xd7" , "\xba\x6a" } , { "\xd7\xe8\xb3\xe9" , "\x95\xf5" } , { "\xd7\xe8\xb4" , "\x96" } , { "\xd7\xe8\xb4\xa2" , "\x96\x65" } , { "\xd7\xe8\xb4\xda" , "\x96\xe7" } , { "\xd7\xe8\xb4\xdb" , "\xd7\x96" } , { "\xd7\xe8\xb4\xdc" , "\x96\xdd" } , { "\xd7\xe8\xb4\xe1" , "\xe5\x96" } , { "\xd7\xe8\xb4\xe5\xa2" , "\xe5\x96\xe7\x65" } , { "\xd7\xe8\xb4\xe8\xcd" , "\x61\xcb\x46\xcb\xcc\x5e" } , { "\xd7\xe8\xb4\xe9\xe1" , "\xe5\x96" } , { "\xd7\xe8\xb5" , "\xba\x47" } , { "\xd7\xe8\xb5\xda" , "\xba\x47\xe7" } , { "\xd7\xe8\xb5\xdd" , "\xba\x47\xc7" } , { "\xd7\xe8\xb5\xde" , "\xba\x47\xc9" } , { "\xd7\xe8\xb5\xe5" , "\xe5\xba\x47\xe7" } , { "\xd7\xe8\xb5\xe6" , "\xe5\xba\x47\xec" } , { "\xd7\xe8\xb5\xe8" , "\xba\x47\xcb" } , { "\xd7\xe8\xb8" , "\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xa2" , "\xba\x4a\xf4\x65" } , { "\xd7\xe8\xb8\xda" , "\xba\x4a\xf4\xe7" } , { "\xd7\xe8\xb8\xdb" , "\xd7\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xdd" , "\xba\x4a\xc7\xf4" } , { "\xd7\xe8\xb8\xde" , "\xba\x4a\xc9\xf4" } , { "\xd7\xe8\xb8\xdf" , "\xba\x4a\xca\xf4" } , { "\xd7\xe8\xb8\xe0" , "\xe6\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xe1" , "\xe6\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xe5" , "\xe6\xba\x4a\xf4\xe7" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\xba\xac\xcf\xf4\xdd" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\xe6\xba\xac\xcf\xf4" } , { "\xd7\xe8\xb9\xda" , "\xba\x4b\xf7\xe7" } , { "\xd7\xe8\xba" , "\xba\x4c" } , { "\xd7\xe8\xba\xda" , "\xba\x4c\xe7" } , { "\xd7\xe8\xba\xdb" , "\xd7\xba\x4c" } , { "\xd7\xe8\xba\xdc" , "\xba\x4c\xdd" } , { "\xd7\xe8\xba\xe1" , "\xe5\xba\x4c" } , { "\xd7\xe8\xba\xe8\xbc" , "\xba\x70\xfb" } , { "\xd7\xe8\xba\xe9\xdb" , "\xd7\xba\x4c" } , { "\xd7\xe8\xbd" , "\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xa2" , "\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xda" , "\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xbd\xda\xa1" , "\xba\x4f\xf0\xf4\xe7" } , { "\xd7\xe8\xbd\xda\xa2" , "\xba\x4f\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xdb" , "\xd7\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xdb\xa2" , "\xd7\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xdc" , "\xba\x4f\xf4\xdd" } , { "\xd7\xe8\xbd\xdc\xa2" , "\xba\x4f\xf4\xdd\x65" } , { "\xd7\xe8\xbd\xdd" , "\xba\x4f\xc7\xf4" } , { "\xd7\xe8\xbd\xde" , "\xba\x4f\xc9\xf4" } , { "\xd7\xe8\xbd\xde\xa2" , "\xba\x4f\xc9\xf4\x65" } , { "\xd7\xe8\xbd\xe0" , "\xe6\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xe0\xa2" , "\xe6\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xe1" , "\xe6\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xe1\xa2" , "\xe6\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xe2" , "\xe8\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xe2\xa2" , "\xe8\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xe4" , "\xe6\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xbd\xe5" , "\xe6\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xbd\xe5\xa2" , "\xe6\xba\x4f\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xe6" , "\xe6\xba\x4f\xf4\xec" } , { "\xd7\xe8\xbd\xe7" , "\xe6\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xbd\xe8" , "\xba\x4f\xcb\xf4" } , { "\xd7\xe8\xbd\xe8\xb3" , "\x61\xcb\xae\x45\xf5" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\x61\xcb\xae\x45\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\x61\xcb\xd7\xae\x45\xf5" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\x61\xcb\xe5\xae\x45\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\x61\xcb\xe5\xae\x45\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\xae\xba\x7a\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\x61\xcb\xae\x47\xe7" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\x61\xcb\xe5\xae\x47" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\xae\xba\x47\xd0\xe7" } , { "\xd7\xe8\xbd\xe8\xb8" , "\x61\xcb\xae\x4a\xf4" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\x61\xcb\xe6\xae\x4a\xf4" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\x61\xcb\xe6\xae\x4a\xf4" } , { "\xd7\xe8\xbd\xe8\xba" , "\x61\xcb\xae\x4c" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\xe8\xba\x76\xf4" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\xba\x4f\xcb\xf4\xae\xcc\x5e\xc9" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\x61\xcb\xe5\xae\x54\xf6\xe7" } , { "\xd7\xe8\xbd\xe8\xc6" , "\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\xd7\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\xba\xae\xf3\xc7\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\xe5\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\xe9\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\xba\xae\xf3\xcb\xf4" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\x61\xcb\xae\x59\xe7" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\x61\xcb\xd7\xae\x59\x65" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\x61\xcb\xe9\xae\x59" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\x61\xcb\xe5\xae\x59\xe7" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\xe8\xae\xba\x59\xd2" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\x61\xcb\xae\x5a\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\x61\xcb\xd7\xae\x5a\xf5" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\xba\xae\xbc\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\xd7\xba\xae\xbc\xf4" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\xe6\xba\xae\xbc\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\xe6\xba\xae\xbc\xf4\xec" } , { "\xd7\xe8\xbd\xe8\xcc" , "\xba\x4f\x5d" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\xba\x4f\x5d\xe7" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\x61\xcb\xae\xcc\x5e\xc9" } , { "\xd7\xe8\xbd\xe8\xcf" , "\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\xba\xae\xcf\xf0\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\xae\xcf\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd7\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\xd7\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\xba\xae\xcf\xf4\xdd" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\xba\xae\xcf\xc7\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\xe6\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\xe6\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\xe6\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\xe6\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\xe8\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\xe8\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\xe6\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\xe6\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\xe6\xba\xae\xcf\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xe8\xd1" , "\xba\xae\xf2\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\xba\xae\xf2\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\xd7\xba\xae\xf2\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\xba\xae\xf2\xf4\xdd" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\xba\xae\xf2\xc7\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\xe8\xba\xae\xf2\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\xe6\xba\xae\xf2\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\x61\xcb\xae\xbe\x65" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\x61\xcb\xae\xbe\xe7" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\x61\xcb\xe5\xae\x62\xe7" } , { "\xd7\xe8\xbd\xe8\xd7" , "\x61\xcb\xae\x61" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\x61\xcb\xd7\xae\x61\x65" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\x61\xcb\xae\x61\xc7" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\x61\xcb\xe5\xae\x61" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\x61\xcb\xe5\xae\x61" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\x61\xcb\xae\x61\xcb" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\xd7\xae\xba\xd8\xda\xf6" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\xba\x4f\xcb\xf4\xba\xbe" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\x61\xcb\xae\x63\xf7\xe7" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\x61\xcb\xd7\xae\x63\xf7" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\x61\xcb\xe5\xae\x63\xf7\xe7" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\x61\xcb\xae\x61" } , { "\xd7\xe8\xbe" , "\xba\x50\xf6" } , { "\xd7\xe8\xbe\xda" , "\xba\x50\xf6\xe7" } , { "\xd7\xe8\xbe\xdb" , "\xd7\xba\x50\xf6" } , { "\xd7\xe8\xbe\xdd" , "\xba\x50\xc7\xf6" } , { "\xd7\xe8\xbe\xe0" , "\xe6\xba\x50\xf6" } , { "\xd7\xe8\xbf" , "\xba\x51\xf6" } , { "\xd7\xe8\xbf\xda" , "\xba\x51\xf6\xe7" } , { "\xd7\xe8\xbf\xdb" , "\xd7\xba\x51\xf6" } , { "\xd7\xe8\xbf\xdd" , "\xba\x51\xc7\xf6" } , { "\xd7\xe8\xbf\xe0" , "\xe5\xba\x51\xf6" } , { "\xd7\xe8\xbf\xe1" , "\xe5\xba\x51\xf6" } , { "\xd7\xe8\xbf\xe2" , "\xe9\xba\x51\xf6" } , { "\xd7\xe8\xbf\xe8" , "\xba\x51\xcb\xf6" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\x61\xcb\xaf\x45\xf5\xe7" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\xd7\xba\x51\xce\xf6\x65" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\xe6\xba\x51\xce\xf6" } , { "\xd7\xe8\xc1" , "\xba\x53" } , { "\xd7\xe8\xc1\xdd" , "\xba\x53\xc7" } , { "\xd7\xe8\xc2" , "\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xa2" , "\xd8\x99\xf6\x65" } , { "\xd7\xe8\xc2\xda" , "\xd8\x99\xf6\xe7" } , { "\xd7\xe8\xc2\xda\xa1" , "\xd8\x99\x67\xf6\xe7" } , { "\xd7\xe8\xc2\xda\xa2" , "\xd8\x99\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xda\xa3" , "\xd8\x99\xf6\xe7\x66" } , { "\xd7\xe8\xc2\xdb" , "\xd7\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xdb\xa2" , "\xd7\xd8\x99\xf6\x65" } , { "\xd7\xe8\xc2\xdc" , "\xd8\x99\xf6\xdd" } , { "\xd7\xe8\xc2\xdc\xa2" , "\xd8\x99\xf6\xdd\x65" } , { "\xd7\xe8\xc2\xdd" , "\xd8\x99\xc7\xf6" } , { "\xd7\xe8\xc2\xdd\xa2" , "\xd8\x99\xc7\xf6\x65" } , { "\xd7\xe8\xc2\xde" , "\xd8\x99\xc9\xf6" } , { "\xd7\xe8\xc2\xde\xa2" , "\xd8\x99\xc9\xf6\x65" } , { "\xd7\xe8\xc2\xdf" , "\xd8\x99\xca\xf6" } , { "\xd7\xe8\xc2\xdf\xa2" , "\xd8\x99\xca\xf6\x65" } , { "\xd7\xe8\xc2\xe0" , "\xe6\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xe1" , "\xe6\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xe1\xa2" , "\xe6\xd8\x99\xf6\x65" } , { "\xd7\xe8\xc2\xe2" , "\xe8\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xe4" , "\xe6\xd8\x99\xf6\xe7" } , { "\xd7\xe8\xc2\xe4\xa2" , "\xe6\xd8\x99\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe5" , "\xe6\xd8\x99\xf6\xe7" } , { "\xd7\xe8\xc2\xe5\xa2" , "\xe6\xd8\x99\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe6" , "\xe6\xd8\x99\xf6\xec" } , { "\xd7\xe8\xc2\xe8" , "\xd8\x99\xcb\xf6" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xba\x77\xf8" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xd7\xba\x77\xf8" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xba\x77\xc7\xf8" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\xba\xc3\xcf\xf8" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\xba\xb1\xf3\xf6\xe7" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\xd7\xc5\xba\xb1\xf3\xf6" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\xba\xb1\xc1\xc7" } , { "\xd7\xe8\xc2\xe8\xcd" , "\x61\xcb\xb1\xcc\x5e" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\x61\xcb\xb1\xcc\x5e\x65" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\x61\xcb\xb1\xcc\x5e\xe7" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\x61\xcb\xb1\xcc\x5e\xe7\x65" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\x61\xcb\xb1\xcc\x5e\xc7" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\x61\xcb\xe5\xb1\xcc\x5e" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\x61\xcb\xe9\xb1\xcc\x5e" } , { "\xd7\xe8\xc2\xe8\xcf" , "\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\xd8\x97\xf6\x65" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\xd8\x97\xf6\xe7" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\xd8\x97\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\xd7\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\xd8\x97\xf6\xdd" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\xd8\x97\xf6\xc7" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\xd8\x97\xf6\xca" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\xe6\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\xe8\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\xe6\xd8\x97\xf6\xe7" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\xe6\xd8\x97\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\xba\x64\xbb\xcb\xcc\x5e\xc7" } , { "\xd7\xe8\xc2\xe8\xd4" , "\x61\xcb\xb1\xbe" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\x61\xcb\xb1\xbe\x65" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\x61\xcb\xb1\xbe\xe7" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\x61\xcb\xd7\xb1\xbe" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\x61\xcb\xe9\xb1\xbe" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\x61\xcb\xe5\xb1\xbe\xe7" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\x61\xcb\xe5\xb1\xbe\xec" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\xba\x64\xbe\xcb\xcc\x5e\xc7" } , { "\xd7\xe8\xc3" , "\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xa2" , "\xd8\x9a\xf6\x65" } , { "\xd7\xe8\xc3\xa3" , "\xd8\x9a\xf6\x66" } , { "\xd7\xe8\xc3\xda" , "\xd8\x9a\xf6\xe7" } , { "\xd7\xe8\xc3\xda\xa2" , "\xd8\x9a\xf6\xe7\x65" } , { "\xd7\xe8\xc3\xda\xa3" , "\xd8\x9a\xf6\xe7\x66" } , { "\xd7\xe8\xc3\xdb" , "\xd7\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xdb\xa2" , "\xd7\xd8\x9a\xf6\x65" } , { "\xd7\xe8\xc3\xdc" , "\xd8\x9a\xf6\xdd" } , { "\xd7\xe8\xc3\xdd" , "\xd8\x9a\xf6\xc7" } , { "\xd7\xe8\xc3\xde" , "\xd8\x9a\xf6\xc9" } , { "\xd7\xe8\xc3\xe0" , "\xe5\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xe1" , "\xe5\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xe2" , "\xe9\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xe5" , "\xe5\xd8\x9a\xf6\xe7" } , { "\xd7\xe8\xc3\xe5\xa2" , "\xe5\xd8\x9a\xf6\xe7\x65" } , { "\xd7\xe8\xc3\xe6" , "\xe5\xd8\x9a\xf6\xec" } , { "\xd7\xe8\xc3\xe8" , "\xd8\x9a\xf6\xcb" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\x61\xcb\x55\xcb\x45\xc7\xf5" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\x61\xcb\x55\xcb\xd7\x54\xf6" } , { "\xd7\xe8\xc3\xe8\xc6" , "\xba\x55\xc2" } , { "\xd7\xe8\xc3\xe8\xcd" , "\x61\xcb\x55\xcb\xcc\x5e" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\x61\xcb\x55\xcb\xcc\x5e\x65" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\x61\xcb\x55\xcb\xcc\x5e\xe7" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\x61\xcb\x55\xcb\xcc\x5e\xcb\xb2\xcc\x5e" } , { "\xd7\xe8\xc3\xe8\xcf" , "\xd8\x9a\xf6\x98" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\xd8\x9a\xf6\x98\xdd" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xba\x55\xc0\xc7" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\x61\xcb\x55\xcb\x61\xe7" } , { "\xd7\xe8\xc4" , "\xba\x56" } , { "\xd7\xe8\xc4\xda" , "\xba\x56\xe7" } , { "\xd7\xe8\xc4\xdb" , "\xd7\xba\x56" } , { "\xd7\xe8\xc4\xdd" , "\xba\x56\xc7" } , { "\xd7\xe8\xc4\xdd\xa2" , "\xba\x56\xc7\x65" } , { "\xd7\xe8\xc4\xde\xa2" , "\xba\x56\xc9\x65" } , { "\xd7\xe8\xc4\xe1" , "\xe5\xba\x56" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\xe5\xba\x81\xe7" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\x61\xcb\xb2\xbe\xe7" } , { "\xd7\xe8\xc5" , "\xba\x57\xfd" } , { "\xd7\xe8\xc5\xa2" , "\xba\x57\xfd\x65" } , { "\xd7\xe8\xc5\xda" , "\xba\x57\xfd\xe7" } , { "\xd7\xe8\xc5\xdb" , "\xd7\xba\x57\xfd" } , { "\xd7\xe8\xc5\xdd" , "\xba\x57\xfd\xc7" } , { "\xd7\xe8\xc5\xde" , "\xba\x57\xfd\xc9" } , { "\xd7\xe8\xc5\xe0" , "\xe5\xba\x57\xfd" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\x61\xcb\x57\xfd\xcb\xcc\x5e\x65" } , { "\xd7\xe8\xc6" , "\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xa2" , "\xd8\x6f\xf6\x65" } , { "\xd7\xe8\xc6\xda" , "\xd8\x6f\xf6\xe7" } , { "\xd7\xe8\xc6\xdb" , "\xd7\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xdc" , "\xd8\x6f\xf6\xdd" } , { "\xd7\xe8\xc6\xdd" , "\xd8\x6f\xf6\xc7" } , { "\xd7\xe8\xc6\xdd\xa2" , "\xd8\x6f\xf6\xc7\x65" } , { "\xd7\xe8\xc6\xde" , "\xd8\x6f\xf6\xc9" } , { "\xd7\xe8\xc6\xe0" , "\xe5\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xe1" , "\xe5\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xe2" , "\xe9\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xe5" , "\xe5\xd8\x6f\xf6\xe7" } , { "\xd7\xe8\xc6\xe8\xc6" , "\xba\x7e" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\xba\x7e\xc7" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\xe6\xba\x7e" } , { "\xd7\xe8\xc8" , "\x26" } , { "\xd7\xe8\xc8\xa2" , "\x26\x65" } , { "\xd7\xe8\xc8\xda" , "\x26\xe7" } , { "\xd7\xe8\xc8\xda\xa2" , "\x26\xe7\x65" } , { "\xd7\xe8\xc8\xdb" , "\xd7\x26" } , { "\xd7\xe8\xc8\xdb\xa2" , "\xd7\x26\x65" } , { "\xd7\xe8\xc8\xdc" , "\x26\xdd" } , { "\xd7\xe8\xc8\xdd" , "\x26\xc7" } , { "\xd7\xe8\xc8\xde" , "\x26\xc9" } , { "\xd7\xe8\xc8\xdf" , "\x26\xca" } , { "\xd7\xe8\xc8\xe0" , "\xe5\x26" } , { "\xd7\xe8\xc8\xe0\xa2" , "\xe5\x26\x65" } , { "\xd7\xe8\xc8\xe1" , "\xe5\x26" } , { "\xd7\xe8\xc8\xe1\xa2" , "\xe5\x26\x65" } , { "\xd7\xe8\xc8\xe2" , "\xe9\x26" } , { "\xd7\xe8\xc8\xe2\xa2" , "\xe9\x26\x65" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\xe9\x26\x51\xcb\xf6" } , { "\xd7\xe8\xc8\xe4" , "\xe5\x26\xe7" } , { "\xd7\xe8\xc8\xe5" , "\xe5\x26\xe7" } , { "\xd7\xe8\xc8\xe5\xa2" , "\xe5\x26\xe7\x65" } , { "\xd7\xe8\xc8\xe6" , "\xe5\x26\xec" } , { "\xd7\xe8\xc8\xe7" , "\xe5\x26\xe7" } , { "\xd7\xe8\xc8\xe8" , "\x26\xcb" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\xe5\x26\x9f" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\x61\xcb\xb4\xcc\x5e\xc9" } , { "\xd7\xe8\xc8\xe8\xcf" , "\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\x26\xd2\xe7" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\xd7\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\xd7\x26\xd2\x65" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\x26\xd2\xc7" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\x26\xd2\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\xe5\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\xe9\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\xe5\x26\xd2\xe7" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\xe5\x26\xd2\xe7" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\x26\xc0\xe7" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\xe5\x26\xc0" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xe5\x26\xc0" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\xba\x59\xcb\xb8\xcc\x5e" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\x61\xcb\xb4\x61\xe7" } , { "\xd7\xe8\xc8\xe8\xd8" , "\x61\xcb\xb4\x63\xf7" } , { "\xd7\xe8\xc9" , "\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xa2" , "\xd8\xf6\x8f\xf5\x65" } , { "\xd7\xe8\xc9\xda" , "\xd8\xf6\x8f\xf5\xe7" } , { "\xd7\xe8\xc9\xda\xa2" , "\xd8\xf6\x8f\xf5\xe7\x65" } , { "\xd7\xe8\xc9\xdb" , "\xd7\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xdb\xa2" , "\xd7\xd8\xf6\x8f\xf5\x65" } , { "\xd7\xe8\xc9\xdc" , "\xd8\xf6\x8f\xf5\xdd" } , { "\xd7\xe8\xc9\xdd" , "\xd8\xf6\x8f\xc7\xf5" } , { "\xd7\xe8\xc9\xde" , "\xd8\xf6\x8f\xc9\xf5" } , { "\xd7\xe8\xc9\xdf" , "\xd8\xf6\x8f\xca\xf5" } , { "\xd7\xe8\xc9\xe0" , "\xe5\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xe0\xa2" , "\xe5\xd8\xf6\x8f\xf5\x65" } , { "\xd7\xe8\xc9\xe1" , "\xe5\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xe2" , "\xe9\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xe4" , "\xe5\xd8\xf6\x8f\xf5\xe7" } , { "\xd7\xe8\xc9\xe5" , "\xe5\xd8\xf6\x8f\xf5\xe7" } , { "\xd7\xe8\xc9\xe6" , "\xe5\xd8\xf6\x8f\xf5\xec" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\x61\xcb\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xd7\xe8\xca" , "\xd8\x91\xf6" } , { "\xd7\xe8\xca\xda" , "\xd8\x91\xf6\xe7" } , { "\xd7\xe8\xca\xdb" , "\xd7\xd8\x91\xf6" } , { "\xd7\xe8\xca\xdd" , "\xd8\x91\xf6\xc7" } , { "\xd7\xe8\xca\xe0" , "\xe5\xd8\x91\xf6" } , { "\xd7\xe8\xca\xe1" , "\xe5\xd8\x91\xf6" } , { "\xd7\xe8\xca\xe1\xa2" , "\xe5\xd8\x91\xf6\x65" } , { "\xd7\xe8\xca\xe2" , "\xe9\xd8\x91\xf6" } , { "\xd7\xe8\xca\xe5" , "\xe5\xd8\x91\xf6\xe7" } , { "\xd7\xe8\xca\xe5\xa2" , "\xe5\xd8\x91\xf6\xe7\x65" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\xd8\x91\xf6\x98\xc8" } , { "\xd7\xe8\xcb" , "\xba\x5c\xf6" } , { "\xd7\xe8\xcb\xdb" , "\xd7\xba\x5c\xf6" } , { "\xd7\xe8\xcb\xe0" , "\xe5\xba\x5c\xf6" } , { "\xd7\xe8\xcc" , "\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xa2" , "\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xda" , "\xd8\xf6\x82\xe7" } , { "\xd7\xe8\xcc\xda\xa2" , "\xd8\xf6\x82\xe7\x65" } , { "\xd7\xe8\xcc\xdb" , "\xd7\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xdc" , "\xd8\xf6\x82\xdd" } , { "\xd7\xe8\xcc\xdd" , "\xd8\xf6\x82\xc7" } , { "\xd7\xe8\xcc\xdd\xa2" , "\xd8\xf6\x82\xc7\x65" } , { "\xd7\xe8\xcc\xdf" , "\xd8\xf6\x82\xca" } , { "\xd7\xe8\xcc\xe0" , "\xe5\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xe0\xa2" , "\xe5\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xe1" , "\xe5\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xe1\xa2" , "\xe5\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xe2" , "\xe9\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xe2\xa2" , "\xe9\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xe4" , "\xe5\xd8\xf6\x82\xe7" } , { "\xd7\xe8\xcc\xe5" , "\xe5\xd8\xf6\x82\xe7" } , { "\xd7\xe8\xcc\xe5\xa2" , "\xe5\xd8\xf6\x82\xe7\x65" } , { "\xd7\xe8\xcc\xe6" , "\xe5\xd8\xf6\x82\xec" } , { "\xd7\xe8\xcc\xe8" , "\xd8\xf6\x82\xcb" } , { "\xd7\xe8\xcc\xe8\xc2" , "\xba\xb6\x99\xf6" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\xd7\xba\xb6\x99\xf6" } , { "\xd7\xe8\xcc\xe8\xcc" , "\xba\xb6\xf6\x82" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\x61\xcb\x5d\xcb\xcc\x5e\xe7\x65" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\x61\xcb\x5d\xcb\xcc\x5e\xc7" } , { "\xd7\xe8\xcc\xe8\xd1" , "\xba\xb6\xda\xf6" } , { "\xd7\xe8\xcd" , "\xba\xcc\x5e" } , { "\xd7\xe8\xcd\xa2" , "\xba\xcc\x5e\x65" } , { "\xd7\xe8\xcd\xa3" , "\xba\xcc\x5e\x66" } , { "\xd7\xe8\xcd\xda" , "\xba\xcc\x5e\xe7" } , { "\xd7\xe8\xcd\xda\xa2" , "\xba\xcc\x5e\xe7\x65" } , { "\xd7\xe8\xcd\xda\xa3" , "\xba\xcc\x5e\xe7\x66" } , { "\xd7\xe8\xcd\xdb" , "\xd7\xba\xcc\x5e" } , { "\xd7\xe8\xcd\xdc" , "\xba\xcc\x5e\xdd" } , { "\xd7\xe8\xcd\xdd" , "\xba\xcc\x5e\xc7" } , { "\xd7\xe8\xcd\xdd\xa3" , "\xba\xcc\x5e\xc7\x66" } , { "\xd7\xe8\xcd\xde" , "\xba\xcc\x5e\xc9" } , { "\xd7\xe8\xcd\xde\xa2" , "\xba\xcc\x5e\xc9\x65" } , { "\xd7\xe8\xcd\xe0" , "\xe5\xba\xcc\x5e" } , { "\xd7\xe8\xcd\xe1" , "\xe5\xba\xcc\x5e" } , { "\xd7\xe8\xcd\xe2" , "\xe9\xba\xcc\x5e" } , { "\xd7\xe8\xcd\xe4" , "\xe5\xba\xcc\x5e\xe7" } , { "\xd7\xe8\xcd\xe5" , "\xe5\xba\xcc\x5e\xe7" } , { "\xd7\xe8\xcd\xe5\xa2" , "\xe5\xba\xcc\x5e\xe7\x65" } , { "\xd7\xe8\xcd\xe5\xa3" , "\xe5\xba\xcc\x5e\xe7\x66" } , { "\xd7\xe8\xcd\xe6" , "\xe5\xba\xcc\x5e\xec" } , { "\xd7\xe8\xcd\xe8" , "\xba\xcc\x5e\xcb" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\x61\xcb\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\xba\x5e\xd0\xe7" } , { "\xd7\xe8\xcf" , "\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xa2" , "\xd8\x83\xf6\x65" } , { "\xd7\xe8\xcf\xda" , "\xd8\x83\xf6\xe7" } , { "\xd7\xe8\xcf\xda\xa2" , "\xd8\x83\xf6\xe7\x65" } , { "\xd7\xe8\xcf\xdb" , "\xd7\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xdb\xa2" , "\xd7\xd8\x83\xf6\x65" } , { "\xd7\xe8\xcf\xdc" , "\xd8\x83\xf6\xdd" } , { "\xd7\xe8\xcf\xdd" , "\xd8\x83\xf6\xd3" } , { "\xd7\xe8\xcf\xde" , "\xd8\x83\xf6\xd6" } , { "\xd7\xe8\xcf\xde\xa2" , "\xd8\x83\xf6\xd6\x65" } , { "\xd7\xe8\xcf\xdf" , "\xd8\x83\xf6\xca" } , { "\xd7\xe8\xcf\xe0" , "\xe6\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xe1" , "\xe6\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xe2" , "\xe8\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xe5" , "\xe6\xd8\x83\xf6\xe7" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xe6\xd8\x83\xf6\xe7\x65" } , { "\xd7\xe8\xcf\xe8\xbd" , "\x61\xcb\xbb\xcb\x24\x4f\xf4" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\x61\xcb\xbb\xcb\xe5\x59" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\x61\xcb\xbb\xcb\xbe\xe7" } , { "\xd7\xe8\xd1" , "\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xa2" , "\xd8\xda\xf6\x65" } , { "\xd7\xe8\xd1\xda" , "\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd1\xda\xa2" , "\xd8\xda\xf6\xe7\x65" } , { "\xd7\xe8\xd1\xdb" , "\xd7\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xdb\xa2" , "\xd7\xd8\xda\xf6\x65" } , { "\xd7\xe8\xd1\xdc" , "\xd8\xda\xf6\xdd" } , { "\xd7\xe8\xd1\xdc\xa2" , "\xd8\xda\xf6\xdd\x65" } , { "\xd7\xe8\xd1\xdd" , "\xd8\xda\xf6\xc7" } , { "\xd7\xe8\xd1\xdd\xa2" , "\xd8\xda\xf6\xc7\x65" } , { "\xd7\xe8\xd1\xde" , "\xd8\xda\xf6\xc9" } , { "\xd7\xe8\xd1\xe0" , "\xe6\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xe1" , "\xe6\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xe1\xa2" , "\xe6\xd8\xda\xf6\x65" } , { "\xd7\xe8\xd1\xe2" , "\xe8\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xe4" , "\xe6\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd1\xe5" , "\xe6\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd1\xe5\xa2" , "\xe6\xd8\xda\xf6\xe7\x65" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\xd7\xba\x92\xf5" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\xe5\xba\x92\xf5" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\xe5\xba\x92\xf5\xe7" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\xba\x94\xe7\x65" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\xba\x94\xdd" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\xe5\xba\x94" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\xe5\xba\x94\x65" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\x61\xcb\xb7\x61\xe7\x65" } , { "\xd7\xe8\xd4" , "\xba\xbe" } , { "\xd7\xe8\xd4\xa2" , "\xba\xbe\x65" } , { "\xd7\xe8\xd4\xda" , "\xba\xbe\xe7" } , { "\xd7\xe8\xd4\xda\xa1" , "\xba\xbe\x67\xe7" } , { "\xd7\xe8\xd4\xda\xa2" , "\xba\xbe\xe7\x65" } , { "\xd7\xe8\xd4\xdb" , "\xd7\xba\xbe" } , { "\xd7\xe8\xd4\xdb\xa2" , "\xd7\xba\xbe\x65" } , { "\xd7\xe8\xd4\xdc" , "\xba\xbe\xdd" } , { "\xd7\xe8\xd4\xdc\xa2" , "\xba\xbe\xdd\x65" } , { "\xd7\xe8\xd4\xdd" , "\xba\xbe\xc7" } , { "\xd7\xe8\xd4\xdd\xa2" , "\xba\xbe\xc7\x65" } , { "\xd7\xe8\xd4\xdf" , "\xba\xbe\xca" } , { "\xd7\xe8\xd4\xe0" , "\xe5\xba\xbe" } , { "\xd7\xe8\xd4\xe1" , "\xe5\xba\xbe" } , { "\xd7\xe8\xd4\xe2" , "\xe9\xba\xbe" } , { "\xd7\xe8\xd4\xe2\xa2" , "\xe9\xba\xbe\x65" } , { "\xd7\xe8\xd4\xe5" , "\xe5\xba\xbe\xe7" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\x61\xcb\xbe\xcb\x45\xf5\xe7" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\x61\xcb\xbe\xcb\x54\xf6\x65" } , { "\xd7\xe8\xd5" , "\xba\x60" } , { "\xd7\xe8\xd5\xda" , "\xba\x60\xe7" } , { "\xd7\xe8\xd5\xdb" , "\xd7\xba\x60" } , { "\xd7\xe8\xd5\xdd" , "\xba\x60\xc7" } , { "\xd7\xe8\xd5\xe1" , "\xe5\xba\x60" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\xe6\xba\x60\xd2" } , { "\xd7\xe8\xd6" , "\xba\x62" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\xd7\xba\x72\xf4" } , { "\xd7\xe8\xd7" , "\xba\x61" } , { "\xd7\xe8\xd7\xa2" , "\xba\x61\x65" } , { "\xd7\xe8\xd7\xda" , "\xba\x61\xe7" } , { "\xd7\xe8\xd7\xda\xa2" , "\xba\x61\xe7\x65" } , { "\xd7\xe8\xd7\xdb" , "\xd7\xba\x61" } , { "\xd7\xe8\xd7\xdb\xa2" , "\xd7\xba\x61\x65" } , { "\xd7\xe8\xd7\xdc" , "\xba\x61\xdd" } , { "\xd7\xe8\xd7\xdc\xa2" , "\xba\x61\xdd\x65" } , { "\xd7\xe8\xd7\xdd" , "\xba\x61\xc7" } , { "\xd7\xe8\xd7\xdd\xa2" , "\xba\x61\xc7\x65" } , { "\xd7\xe8\xd7\xde" , "\xba\x61\xc9" } , { "\xd7\xe8\xd7\xdf" , "\xba\x61\xca" } , { "\xd7\xe8\xd7\xe0" , "\xe5\xba\x61" } , { "\xd7\xe8\xd7\xe0\xa2" , "\xe5\xba\x61\x65" } , { "\xd7\xe8\xd7\xe1" , "\xe5\xba\x61" } , { "\xd7\xe8\xd7\xe1\xa2" , "\xe5\xba\x61\x65" } , { "\xd7\xe8\xd7\xe2" , "\xe9\xba\x61" } , { "\xd7\xe8\xd7\xe4" , "\xe5\xba\x61\xe7" } , { "\xd7\xe8\xd7\xe5" , "\xe5\xba\x61\xe7" } , { "\xd7\xe8\xd7\xe5\xa2" , "\xe5\xba\x61\xe7\x65" } , { "\xd7\xe8\xd7\xe6" , "\xe5\xba\x61\xec" } , { "\xd7\xe8\xd7\xe6\xa2" , "\xe5\xba\x61\xec\x65" } , { "\xd7\xe8\xd7\xe8" , "\xba\x61\xcb" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\xba\x95\xf5\xe7" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\xba\x95\xc7\xf5" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\xba\x95\xca\xf5" } , { "\xd7\xe8\xd7\xe8\xbd" , "\x61\xcb\xba\x4f\xf4" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\x61\xcb\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\x61\xcb\xba\x4f\xf4\xe7\x65" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\x61\xcb\xba\x4f\xf4\xdd" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\x61\xcb\xe6\xba\x4f\xf4" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xba\xd8\x99\xc9\xf6\x65" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xba\xd8\x9a\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xd7\xba\xd8\x9a\xf6" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\xba\xd8\x6f\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xcc" , "\xba\xd8\xf6\x82" } , { "\xd7\xe8\xd7\xe8\xcd" , "\x61\xcb\xba\xcc\x5e" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\x61\xcb\xba\xcc\x5e\xe7" } , { "\xd7\xe8\xd7\xe8\xcf" , "\xba\xd8\x83\xf6" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\xba\xd8\x83\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xba\xd8\xda\xf6\xc7" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xe6\xba\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xd4" , "\x61\xcb\xba\xbe" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\x61\xcb\xba\xbe\xe7" } , { "\xd7\xe8\xd8" , "\xba\x63\xf7" } , { "\xd7\xe8\xd8\xda" , "\xba\x63\xf7\xe7" } , { "\xd7\xe8\xd8\xe0" , "\xe5\xba\x63\xf7" } , { "\xd7\xe8\xd8\xe5" , "\xe5\xba\x63\xf7\xe7" } , { "\xd7\xe8\xd8\xe6" , "\xe5\xba\x63\xf7\xec" } , { "\xd7\xe8\xd9" , "\xba" } , { "\xd7\xe8\xd9\xa6" , "\xba\x2b" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\xba\x24\x4f\xf4\xdb" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\xba\x24\x4f\xf4\xdb\xe7" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\xba\xe4\x24\x4f\xf4\xdb" } , { "\xd7\xe8\xe8" , "\x61\xcb" } , { "\xd7\xe8\xe9\xcf" , "\xd8\x83\xf6" } , { "\xd7\xe9" , "\x61" } , { "\xd8" , "\x63\xf7" } , { "\xd8\xa1" , "\x63\x67\xf7" } , { "\xd8\xa2" , "\x63\xf7\x65" } , { "\xd8\xa3" , "\x63\xf7\x66" } , { "\xd8\xd0" , "\x63\xf7\xbb" } , { "\xd8\xd9" , "\x63\xf7" } , { "\xd8\xd9\xd1\xda" , "\x63\xf7\x5f\xe7" } , { "\xd8\xda" , "\x63\xf7\xe7" } , { "\xd8\xda\xa1" , "\x63\x67\xf7\xe7" } , { "\xd8\xda\xa2" , "\x63\xf7\xe7\x65" } , { "\xd8\xda\xa3" , "\x63\xf7\xe7\x66" } , { "\xd8\xdb" , "\xd7\x63\xf7" } , { "\xd8\xdb\xa2" , "\xd7\x63\xf7\x65" } , { "\xd8\xdb\xa2\xa2" , "\xd7\x63\xf7\x65\x65" } , { "\xd8\xdb\xa3" , "\xd7\x63\xf7\x66" } , { "\xd8\xdc" , "\x63\xf7\xdd" } , { "\xd8\xdc\xa1" , "\x63\xf7\xdf" } , { "\xd8\xdc\xa2" , "\x63\xf7\xdd\x65" } , { "\xd8\xdd" , "\xa7" } , { "\xd8\xdd\xa1" , "\xa7\x67" } , { "\xd8\xdd\xa2" , "\xa7\x65" } , { "\xd8\xdd\xa3" , "\xa7\x66" } , { "\xd8\xde" , "\x63\xc9\xf7" } , { "\xd8\xde\xa1" , "\x63\x67\xc9\xf7" } , { "\xd8\xde\xa2" , "\x63\xc9\xf7\x65" } , { "\xd8\xdf" , "\x63\xf7\xd6" } , { "\xd8\xe0" , "\xe5\x63\xf7" } , { "\xd8\xe0\xa2" , "\xe5\x63\xf7\x65" } , { "\xd8\xe1" , "\xe5\x63\xf7" } , { "\xd8\xe1\xa2" , "\xe5\x63\xf7\x65" } , { "\xd8\xe1\xa3" , "\xe5\x63\xf7\x66" } , { "\xd8\xe2" , "\xe9\x63\xf7" } , { "\xd8\xe2\xa1" , "\xe9\x63\x67\xf7" } , { "\xd8\xe2\xa2" , "\xe9\x63\xf7\x65" } , { "\xd8\xe2\xa3" , "\xe9\x63\xf7\x66" } , { "\xd8\xe3" , "\xe5\x63\xf7" } , { "\xd8\xe3\xa2" , "\xe5\x63\xf7\x65" } , { "\xd8\xe4" , "\xe5\x63\xf7\xe7" } , { "\xd8\xe4\xa2" , "\xe5\x63\xf7\xe7\x65" } , { "\xd8\xe5" , "\xe5\x63\xf7\xe7" } , { "\xd8\xe5\xa1" , "\xe5\x63\x67\xf7\xe7" } , { "\xd8\xe5\xa2" , "\xe5\x63\xf7\xe7\x65" } , { "\xd8\xe6" , "\xe5\x63\xf7\xec" } , { "\xd8\xe6\xa2" , "\xe5\x63\xf7\xec\x65" } , { "\xd8\xe7" , "\xe5\x63\xf7\xe7" } , { "\xd8\xe7\xa2" , "\xe5\x63\xf7\xe7\x65" } , { "\xd8\xe8" , "\x63\xcb\xf7" } , { "\xd8\xe8\xb3\xdd" , "\x63\xcb\xf7\x45\xc7\xf5" } , { "\xd8\xe8\xb5" , "\x63\xcb\xf7\x47" } , { "\xd8\xe8\xb5\xdd" , "\x63\xcb\xf7\x6d" } , { "\xd8\xe8\xb5\xde" , "\x63\xcb\xf7\x47\xc9" } , { "\xd8\xe8\xb8" , "\x63\xcb\xf7\x24\x4a\xf4" } , { "\xd8\xe8\xb8\xdd" , "\x63\xcb\xf7\x24\x4a\xc7\xf4" } , { "\xd8\xe8\xbd\xdb" , "\x63\xcb\xf7\xd7\x24\x4f\xf4" } , { "\xd8\xe8\xbf" , "\x63\xcb\xf7\x51\xf6" } , { "\xd8\xe8\xc1" , "\xe2\xf3\xf7" } , { "\xd8\xe8\xc1\xda" , "\xe2\xf3\xf7\xe7" } , { "\xd8\xe8\xc1\xe1" , "\xe5\xe2\xf3\xf7" } , { "\xd8\xe8\xc2" , "\x63\xcb\xf7\x54\xf6" } , { "\xd8\xe8\xc2\xa2" , "\x63\xcb\xf7\x54\xf6\x65" } , { "\xd8\xe8\xc2\xda" , "\x63\xcb\xf7\x54\xf6\xe7" } , { "\xd8\xe8\xc2\xdc" , "\x63\xcb\xf7\x54\xf6\xdd" } , { "\xd8\xe8\xc2\xe8" , "\x63\xcb\xf7\x64" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\x63\xcb\xf7\x64\xb1\xbe" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\x63\xcb\xf7\x79\xe7" } , { "\xd8\xe8\xc2\xe8\xd4" , "\x63\xcb\xf7\xb1\xbe" } , { "\xd8\xe8\xc3" , "\x63\xcb\xf7\x55" } , { "\xd8\xe8\xc4" , "\x63\xcb\xf7\x56" } , { "\xd8\xe8\xc4\xe1" , "\x63\xcb\xf7\xe5\x56" } , { "\xd8\xe8\xc4\xe5\xa2" , "\x63\xcb\xf7\xe5\x56\xe7\x65" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\x63\xcb\xf7\xb2\x59\xe7" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\x63\xcb\xf7\xb2\xcc\x5e\x65" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\x63\xcb\xf7\xe6\x56\xd0\xe7" } , { "\xd8\xe8\xc6" , "\x63\xf7\xd4" } , { "\xd8\xe8\xc6\xa2" , "\x63\xf7\xd4\x65" } , { "\xd8\xe8\xc6\xda" , "\x63\xf7\xd4\xe7" } , { "\xd8\xe8\xc6\xda\xa2" , "\x63\xf7\xd4\xe7\x65" } , { "\xd8\xe8\xc6\xdb" , "\xd7\x63\xf7\xd4" } , { "\xd8\xe8\xc6\xdd" , "\x63\xf7\xd4\xc7" } , { "\xd8\xe8\xc6\xe5\xa2" , "\xe6\x63\xf7\xd4\xe7\x65" } , { "\xd8\xe8\xca" , "\xe2\xbc\xf7" } , { "\xd8\xe8\xcb" , "\x63\xcb\xf7\x5c\xf6" } , { "\xd8\xe8\xcc" , "\xa1\xf9" } , { "\xd8\xe8\xcc\xa2" , "\xa1\xf9\x65" } , { "\xd8\xe8\xcc\xda" , "\xa1\xf9\xe7" } , { "\xd8\xe8\xcc\xda\xa2" , "\xa1\xf9\xe7\x65" } , { "\xd8\xe8\xcc\xdb" , "\xd7\xa1\xf9" } , { "\xd8\xe8\xcc\xdc" , "\xa1\xf9\xdd" } , { "\xd8\xe8\xcc\xde" , "\xa1\xc9\xf9" } , { "\xd8\xe8\xcc\xe1" , "\xe5\xa1\xf9" } , { "\xd8\xe8\xcc\xe1\xa2" , "\xe5\xa1\xf9\x65" } , { "\xd8\xe8\xcc\xe2" , "\xe9\xa1\xf9" } , { "\xd8\xe8\xcc\xe5" , "\xe5\xa1\xf9\xe7" } , { "\xd8\xe8\xcc\xe8" , "\xa1\xcb\xf9" } , { "\xd8\xe8\xcc\xe8\xb8" , "\x63\xcb\xf7\x5d\xcb\x24\x4a\xf4" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\x63\xcb\xf7\x5d\xcb\x24\x4a\xf4\xe7" } , { "\xd8\xe8\xcc\xe8\xc1" , "\x63\xcb\xf7\x5d\xcb\x53" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\x63\xcb\xf7\x5d\xcb\x53\xdd" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\x63\xcb\xf7\x5d\xcb\xbe\xe7" } , { "\xd8\xe8\xcd" , "\x63\xcb\xf7\xcc\x5e" } , { "\xd8\xe8\xcd\xa2" , "\x63\xcb\xf7\xcc\x5e\x65" } , { "\xd8\xe8\xcd\xda" , "\x63\xcb\xf7\xcc\x5e\xe7" } , { "\xd8\xe8\xcd\xda\xa2" , "\x63\xcb\xf7\xcc\x5e\xe7\x65" } , { "\xd8\xe8\xcd\xdb" , "\x63\xcb\xf7\xd7\xcc\x5e" } , { "\xd8\xe8\xcd\xdb\xa2" , "\x63\xcb\xf7\xd7\xcc\x5e\x65" } , { "\xd8\xe8\xcd\xdc\xa2" , "\x63\xcb\xf7\xcc\x5e\xdd\x65" } , { "\xd8\xe8\xcd\xdd" , "\x63\xcb\xf7\xcc\x5e\xc7" } , { "\xd8\xe8\xcd\xde" , "\x63\xcb\xf7\xcc\x5e\xc9" } , { "\xd8\xe8\xcd\xde\xa2" , "\x63\xcb\xf7\xcc\x5e\xc9\x65" } , { "\xd8\xe8\xcd\xe1" , "\x63\xcb\xf7\xe5\xcc\x5e" } , { "\xd8\xe8\xcd\xe1\xa2" , "\x63\xcb\xf7\xe5\xcc\x5e\x65" } , { "\xd8\xe8\xcd\xe5" , "\x63\xcb\xf7\xe5\xcc\x5e\xe7" } , { "\xd8\xe8\xcd\xe8\xcf" , "\x63\xcb\xf7\x5e\xd0" } , { "\xd8\xe8\xcd\xe8\xd7" , "\x63\xcb\xf7\xcc\x5e\xcb\x61" } , { "\xd8\xe8\xcf" , "\xe2\xd1\xf7" } , { "\xd8\xe8\xcf\xda" , "\xe2\xd1\xf7\xe7" } , { "\xd8\xe8\xcf\xda\xa2" , "\xe2\xd1\xf7\xe7\x65" } , { "\xd8\xe8\xcf\xdb" , "\xd7\xe2\xd1\xf7" } , { "\xd8\xe8\xcf\xdc" , "\xe2\xd1\xf7\xdd" } , { "\xd8\xe8\xcf\xdc\xa2" , "\xe2\xd1\xf7\xdd\x65" } , { "\xd8\xe8\xcf\xdd" , "\xe2\xd1\xc7\xf7" } , { "\xd8\xe8\xcf\xde" , "\xe2\xd1\xc9\xf7" } , { "\xd8\xe8\xcf\xde\xa2" , "\xe2\xd1\xc9\xf7\x65" } , { "\xd8\xe8\xcf\xe0" , "\xe6\xe2\xd1\xf7" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xe6\xe2\xd1\xf7\x65" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x63\xcb\xf7\xe4\xb3\x5b\xfd\xc0\xef\x65" } , { "\xd8\xe8\xd1" , "\xe2\xf2\xf7" } , { "\xd8\xe8\xd1\xda" , "\xe2\xf2\xf7\xe7" } , { "\xd8\xe8\xd1\xda\xa2" , "\xe2\xf2\xf7\xe7\x65" } , { "\xd8\xe8\xd1\xdb" , "\xd7\xe2\xf2\xf7" } , { "\xd8\xe8\xd1\xdc" , "\xe2\xf2\xf7\xdd" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\x63\xcb\xf7\xb7\xbe\xe7" } , { "\xd8\xe8\xd4" , "\x63\xcb\xf7\xbe" } , { "\xd8\xe8\xd4\xda" , "\x63\xcb\xf7\xbe\xe7" } , { "\xd8\xe8\xd4\xdb" , "\x63\xcb\xf7\xd7\xbe" } , { "\xd8\xe8\xd4\xdc" , "\x63\xcb\xf7\xbe\xdd" } , { "\xd8\xe8\xd4\xe1" , "\x63\xcb\xf7\xe5\xbe" } , { "\xd8\xe8\xd4\xe1\xa2" , "\x63\xcb\xf7\xe5\xbe\x65" } , { "\xd8\xe8\xd4\xe2" , "\x63\xcb\xf7\xe9\xbe" } , { "\xd8\xe8\xd4\xe4" , "\x63\xcb\xf7\xe5\xbe\xe7" } , { "\xd8\xe8\xd4\xe5" , "\x63\xcb\xf7\xe5\xbe\xe7" } , { "\xd8\xe8\xd4\xe8" , "\x63\xcb\xf7\xbe\xcb" } , { "\xd8\xe8\xd6\xdb" , "\x63\xcb\xf7\xd7\x62" } , { "\xd8\xe8\xd6\xe8\xbd" , "\x63\xcb\xf7\x72\xf4" } , { "\xd8\xe8\xd7\xa2" , "\x63\xcb\xf7\x61\x65" } , { "\xd8\xe8\xd7\xe8" , "\x63\xcb\xf7\x61\xcb" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\x63\xcb\xf7\x95\xf5\xdd" } , { "\xd8\xe8\xd7\xe8\xd4" , "\x63\xcb\xf7\xba\xbe" } , { "\xd8\xe8\xd8" , "\x63\xcb\xf7\x63\xf7" } , { "\xd8\xe8\xd8\xa2" , "\x63\xcb\xf7\x63\xf7\x65" } , { "\xd8\xe8\xd8\xda" , "\x63\xcb\xf7\x63\xf7\xe7" } , { "\xd8\xe8\xd8\xdb" , "\x63\xcb\xf7\xd7\x63\xf7" } , { "\xd8\xe8\xd8\xdc" , "\x63\xcb\xf7\x63\xf7\xdd" } , { "\xd8\xe8\xd8\xe5\xa2" , "\x63\xcb\xf7\xe5\x63\xf7\xe7\x65" } , { "\xd8\xe8\xd9" , "\x63\xcb\xf7" } , { "\xd8\xe8\xd9\xcc" , "\x63\xcb\xf7\x5d" } , { "\xd8\xe8\xd9\xcd" , "\x63\xcb\xf7\xcc\x5e" } , { "\xd8\xe8\xe8" , "\x63\xcb\xf7" } , { "\xd8\xe8\xe9\xcf" , "\xe2\xd1\xf7" } , { "\xd8\xe9" , "\x63\xf7" } , { "\xda" , "\xe7" } , { "\xdb" , "\xd7" } , { "\xdb\xa2" , "\xd7\x65" } , { "\xdc" , "\xdd" } , { "\xdc\xa2" , "\xdd\x65" } , { "\xdd" , "\xc7" } , { "\xde" , "\xc9" } , { "\xdf" , "\xca" } , { "\xe0" , "\xe5" } , { "\xe0\xa2" , "\xe5\x65" } , { "\xe1" , "\xe5" } , { "\xe1\xa2" , "\xe5\x65" } , { "\xe2" , "\xe9" } , { "\xe2\xa2" , "\xe9\x65" } , { "\xe3" , "\xe5" } , { "\xe3\xa2" , "\xe5\x65" } , { "\xe4" , "\xe5\xe7" } , { "\xe4\xa2" , "\xe5\xe7\x65" } , { "\xe5" , "\xe5\xe7" } , { "\xe5\xa2" , "\xe5\xe7\x65" } , { "\xe6" , "\xe5\xec" } , { "\xe6\xa2" , "\xe5\xec\x65" } , { "\xe7" , "\xe5\xe7" } , { "\xe8" , "\xcb" } , { "\xe8\xe9" , "\xcb" } , { "\xe9" , "\xcc" } , { "\xe9\xdd" , "\xcc\xc7" } , { "\xe9\xde" , "\xcc\xc9" } , { "\xe9\xe9" , "\xcc" } , } ; �����������������������������������������������������������������������������mlterm-3.8.4/libind/table/oriya.table���������������������������������������������������������������0100644�0001760�0000144�00001560454�13210547312�0016225�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_oriya_table[] = { { "\xa1" , "\xdc" } , { "\xa1\xa2" , "\xdc\xd5" } , { "\xa1\xa4" , "\xdc\x40" } , { "\xa1\xa4\xa2" , "\xdc\x40\xd5" } , { "\xa1\xab" , "\xdc\x48" } , { "\xa1\xab\xa2" , "\xdc\x48\xd5" } , { "\xa1\xb0" , "\xdc\x4a" } , { "\xa1\xcd\xdb" , "\xdc\xaf\xde\xc6" } , { "\xa1\xd4" , "\xdc\x67" } , { "\xa1\xe9" , "\x7c" } , { "\xa2" , "\xd5" } , { "\xa2\xa3" , "\xd5\xd3" } , { "\xa3" , "\xd3" } , { "\xa4" , "\x40" } , { "\xa4\xa1" , "\x40\xdc" } , { "\xa4\xa2" , "\x40\xd5" } , { "\xa4\xa3" , "\x40\xd3" } , { "\xa4\xd0\xe8" , "\x40\x65\xe7\xfe" } , { "\xa5" , "\x41" } , { "\xa5\xa1" , "\x41\xdc" } , { "\xa5\xa2" , "\x41\xd5" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x41\xd5\xd2\x65\xfe\xd5" } , { "\xa5\xa3" , "\x41\xd3" } , { "\xa6" , "\x42" } , { "\xa6\xa1" , "\x42\xdc" } , { "\xa6\xa2" , "\x42\xd5" } , { "\xa6\xa3" , "\x42\xd3" } , { "\xa6\xcc\xe5" , "\x42\xd2\x63\xd0" } , { "\xa6\xd7" , "\x42\x6a" } , { "\xa7" , "\x43" } , { "\xa7\xa1" , "\x43\xdc" } , { "\xa7\xa1\xa1" , "\x43\xdc\xdc" } , { "\xa7\xa1\xa3" , "\x43\xdc\xd3" } , { "\xa7\xa2" , "\x43\xd5" } , { "\xa7\xa3" , "\x43\xd3" } , { "\xa8" , "\x44" } , { "\xa8\xa1" , "\x44\xdc" } , { "\xa8\xa2" , "\x44\xd5" } , { "\xa8\xa2\xa2" , "\x44\xd5\xd5" } , { "\xa8\xa3" , "\x44\xd3" } , { "\xa8\xb3\xdf" , "\x44\x4c\xf3" } , { "\xa9" , "\x45" } , { "\xa9\xa1" , "\x45\xdc" } , { "\xa9\xa2" , "\x45\xd5" } , { "\xaa" , "\x46" } , { "\xaa\xa2" , "\x46\xd5" } , { "\xab" , "\x48" } , { "\xab\xa1" , "\x48\xdc" } , { "\xab\xa2" , "\x48\xd5" } , { "\xab\xd9" , "\x48" } , { "\xac" , "\x48" } , { "\xac\xa1" , "\x48\xdc" } , { "\xac\xa2" , "\x48\xd5" } , { "\xac\xa2\xa1" , "\x48\xd5\xdc" } , { "\xac\xd0\xc5" , "\x48\x65\xfe\x5e" } , { "\xac\xd7" , "\x48\x6a" } , { "\xad" , "\x49" } , { "\xad\xa1" , "\x49\xdc" } , { "\xad\xa2" , "\x49\xd5" } , { "\xad\xb1" , "\x49\x4b" } , { "\xad\xd0\xb1" , "\x49\x65\xfe\x4b" } , { "\xae" , "\x48" } , { "\xae\xa2" , "\x48\xd5" } , { "\xae\xa3" , "\x48\xd3" } , { "\xae\xd9" , "\x48" } , { "\xaf" , "\x4a" } , { "\xaf\xa1" , "\x4a\xdc" } , { "\xaf\xa2" , "\x4a\xd5" } , { "\xaf\xd0\xb1\xd1" , "\x4a\x65\xfe\x4b\x6d\xfe" } , { "\xb0" , "\x4a" } , { "\xb0\xa1" , "\x4a\xdc" } , { "\xb0\xa2" , "\x4a\xd5" } , { "\xb0\xa3" , "\x4a\xd3" } , { "\xb0\xa3\xd0\xb6" , "\x4a\xd3\x65\xfe\x4f" } , { "\xb0\xcc\xe8" , "\x4a\x63\xe7" } , { "\xb0\xd0" , "\x4a\x65\xfe" } , { "\xb1" , "\x4b" } , { "\xb1\xa1" , "\x4b\xdc" } , { "\xb1\xa2" , "\x4b\xd5" } , { "\xb1\xa3" , "\x4b\xd3" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x4b\xd3\x65\xe7\xfe\x6d\xfe\xd1" } , { "\xb1\xd0" , "\x4b\x65\xfe" } , { "\xb1\xd1\xd7" , "\x4b\x6d\xfe\x6a" } , { "\xb1\xd7" , "\x4b\x6a" } , { "\xb2" , "\x4a" } , { "\xb2\xd9\xb5" , "\x4a\x4e" } , { "\xb3" , "\x4c" } , { "\xb3\xa1" , "\x4c\xdc" } , { "\xb3\xa2" , "\x4c\xd5" } , { "\xb3\xa2\xa2" , "\x4c\xd5\xd5" } , { "\xb3\xa3" , "\x4c\xd3" } , { "\xb3\xd9\xaa" , "\x4c\x46" } , { "\xb3\xda" , "\x4c\xd0" } , { "\xb3\xda\xa1" , "\x4c\xdc\xd0" } , { "\xb3\xda\xa2" , "\x4c\xd0\xd5" } , { "\xb3\xda\xa2\xa2" , "\x4c\xd0\xd5\xd5" } , { "\xb3\xda\xa3" , "\x4c\xd0\xd3" } , { "\xb3\xdb" , "\x4c\xde" } , { "\xb3\xdb\xa2" , "\x4c\xde\xd5" } , { "\xb3\xdb\xa3" , "\x4c\xde\xd3" } , { "\xb3\xdb\xc7" , "\x4c\xde\x5f" } , { "\xb3\xdc" , "\x4c\xd1" } , { "\xb3\xdc\xa2" , "\x4c\xd1\xd5" } , { "\xb3\xdd" , "\x4c\xca" } , { "\xb3\xdd\xa1" , "\x4c\xca\xdc" } , { "\xb3\xdd\xa2" , "\x4c\xca\xd5" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x4c\xca\xd5\x65\xfe\x5a" } , { "\xb3\xdd\xa3" , "\x4c\xca\xd3" } , { "\xb3\xde" , "\x4c\xcb" } , { "\xb3\xde\xa1" , "\x4c\xcb\xdc" } , { "\xb3\xde\xa2" , "\x4c\xcb\xd5" } , { "\xb3\xdf" , "\x4c\xf3" } , { "\xb3\xdf\xa2" , "\x4c\xf3\xd5" } , { "\xb3\xe0" , "\xd2\x4c" } , { "\xb3\xe0\xa2" , "\xd2\x4c\xd5" } , { "\xb3\xe1" , "\xd2\x4c" } , { "\xb3\xe1\xa1" , "\xd2\x4c\xdc" } , { "\xb3\xe1\xa2" , "\xd2\x4c\xd5" } , { "\xb3\xe2" , "\xd2\x4c\xdf" } , { "\xb3\xe2\xa2" , "\xd2\x4c\xdf\xd5" } , { "\xb3\xe2\xa3" , "\xd2\x4c\xdf\xd3" } , { "\xb3\xe3" , "\xd2\x4c" } , { "\xb3\xe4" , "\xd2\x4c\xd0" } , { "\xb3\xe4\xa2" , "\xd2\x4c\xd0\xd5" } , { "\xb3\xe4\xa2\xa2" , "\xd2\x4c\xd0\xd5\xd5" } , { "\xb3\xe4\xa3" , "\xd2\x4c\xd0\xd3" } , { "\xb3\xe5" , "\xd2\x4c\xd0" } , { "\xb3\xe5\xa1" , "\xd2\x4c\xdc\xd0" } , { "\xb3\xe5\xa2" , "\xd2\x4c\xd0\xd5" } , { "\xb3\xe6" , "\xd2\x4c\xd7" } , { "\xb3\xe6\xa2" , "\xd2\x4c\xd7\xd5" } , { "\xb3\xe6\xbd\xe8" , "\xd2\x4c\xd7\x56\xe7" } , { "\xb3\xe7" , "\xd2\x4c\xd0" } , { "\xb3\xe7\xa2" , "\xd2\x4c\xd0\xd5" } , { "\xb3\xe8" , "\x4c\xe7" } , { "\xb3\xe8\xb3" , "\xa3\xc6" } , { "\xb3\xe8\xb3\xa2" , "\xa3\xd6\xc6" } , { "\xb3\xe8\xb3\xda" , "\xa3\xc6\xd0" } , { "\xb3\xe8\xb3\xda\xa2" , "\xa3\xc6\xd0\xd6" } , { "\xb3\xe8\xb3\xdb" , "\xa3\xde\xc6" } , { "\xb3\xe8\xb3\xdb\xa2" , "\xa3\xde\xd6\xc6" } , { "\xb3\xe8\xb3\xdc" , "\xa3\xc6\xd1" } , { "\xb3\xe8\xb3\xdd" , "\xa3\xca\xc6" } , { "\xb3\xe8\xb3\xdd\xa2" , "\xa3\xca\xd6\xc6" } , { "\xb3\xe8\xb3\xde" , "\xa3\xcb\xc6" } , { "\xb3\xe8\xb3\xdf" , "\xa3\xf4\xc6" } , { "\xb3\xe8\xb3\xe0" , "\xd2\xa3\xc6" } , { "\xb3\xe8\xb3\xe0\xa2" , "\xd2\xa3\xc6\xd6" } , { "\xb3\xe8\xb3\xe1" , "\xd2\xa3\xc6" } , { "\xb3\xe8\xb3\xe1\xa2" , "\xd2\xa3\xc6\xd6" } , { "\xb3\xe8\xb3\xe2" , "\xd2\xa3\xdf\xc6" } , { "\xb3\xe8\xb3\xe4" , "\xd2\xa3\xc6\xd0" } , { "\xb3\xe8\xb3\xe4\xa2" , "\xd2\xa3\xc6\xd0\xd6" } , { "\xb3\xe8\xb3\xe5" , "\xd2\xa3\xc6\xd0" } , { "\xb3\xe8\xb3\xe5\xa2" , "\xd2\xa3\xc6\xd0\xd6" } , { "\xb3\xe8\xb3\xe6" , "\xd2\xa3\xc6\xd7" } , { "\xb3\xe8\xb3\xe6\xa2" , "\xd2\xa3\xc6\xd7\xd6" } , { "\xb3\xe8\xb3\xe8" , "\xa3\xe7\xc6" } , { "\xb3\xe8\xb3\xe8\xb3" , "\x4c\xe7\xa3\xc6" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x4c\xe7\x4c\xe7\x58\xd0" } , { "\xb3\xe8\xb3\xe8\xc2" , "\xa3\xf2\xc6" } , { "\xb3\xe8\xb3\xe8\xcd" , "\xa3\xc6\xd4" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\xa3\xca\xc6\xd4" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\xa3\xf6\xde\xc6" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\xd2\xa3\xf6\xc6\xd0" } , { "\xb3\xe8\xb3\xe8\xd1" , "\xa3\xee\xc6" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\x4c\xe7\xd2\x6c" } , { "\xb3\xe8\xb3\xe9" , "\xa3\xc6" } , { "\xb3\xe8\xb3\xe9\xda" , "\xa3\xc6\xd0" } , { "\xb3\xe8\xb3\xe9\xdc" , "\xa3\xc6\xd1" } , { "\xb3\xe8\xb4" , "\x4c\xe7\x4d" } , { "\xb3\xe8\xb4\xa2" , "\x4c\xe7\x4d\xd5" } , { "\xb3\xe8\xb4\xda" , "\x4c\xe7\x4d\xd0" } , { "\xb3\xe8\xb4\xdb" , "\x4c\xe7\x4d\xde" } , { "\xb3\xe8\xb4\xdc" , "\x4c\xe7\x4d\xd1" } , { "\xb3\xe8\xb4\xe1" , "\x4c\xe7\xd2\x4d" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x4c\xe7\xd2\x4d\xd5" } , { "\xb3\xe8\xb4\xe5" , "\x4c\xe7\xd2\x4d\xd0" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x4c\xe7\xd2\x4d\xd0\xd5" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x4c\xe7\xd2\x4d\xd7\xd5" } , { "\xb3\xe8\xb4\xe7" , "\x4c\xe7\xd2\x4d\xd0" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x4d\xd4\xd0" } , { "\xb3\xe8\xb5" , "\x4c\xe7\x4e" } , { "\xb3\xe8\xb5\xda" , "\x4c\xe7\x4e\xd0" } , { "\xb3\xe8\xb5\xe5" , "\x4c\xe7\xd2\x4e\xd0" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x4c\xe7\x4e\xf5\xd0" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x4c\xe7\xd2\x4e\xf5\xd7\xd5" } , { "\xb3\xe8\xb6" , "\x4c\xe7\x4f" } , { "\xb3\xe8\xb7\xda" , "\x4c\xe7\x50\xbc\xd0" } , { "\xb3\xe8\xb7\xe1" , "\x4c\xe7\xd2\x50\xbc" } , { "\xb3\xe8\xb8" , "\x4c\xe7\x51" } , { "\xb3\xe8\xb8\xda" , "\x4c\xe7\x51\xd0" } , { "\xb3\xe8\xb8\xdc" , "\x4c\xe7\x51\xd1" } , { "\xb3\xe8\xb8\xdd" , "\x4c\xe7\x51\xca" } , { "\xb3\xe8\xb8\xe0" , "\x4c\xe7\xd2\x51" } , { "\xb3\xe8\xb8\xe1" , "\x4c\xe7\xd2\x51" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x4c\xe7\xd2\x51\xd5" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x4c\xe7\xd2\x51\xd0\xd5" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x4c\xe7\x6e\xd0" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x4c\xe7\x6e\xd1" } , { "\xb3\xe8\xb9" , "\x4c\xe7\x52" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x4c\xe7\xd2\x52\xd5" } , { "\xb3\xe8\xba" , "\x4c\xe7\x53" } , { "\xb3\xe8\xba\xda" , "\x4c\xe7\x53\xd0" } , { "\xb3\xe8\xba\xda\xa2" , "\x4c\xe7\x53\xd0\xd5" } , { "\xb3\xe8\xba\xdb" , "\x4c\xe7\x53\xde" } , { "\xb3\xe8\xba\xdc" , "\x4c\xe7\x53\xd1" } , { "\xb3\xe8\xba\xe1\xa2" , "\x4c\xe7\xd2\x53\xd5" } , { "\xb3\xe8\xba\xe2\xa2" , "\x4c\xe7\xd2\x53\xdf\xd5" } , { "\xb3\xe8\xba\xe5" , "\x4c\xe7\xd2\x53\xd0" } , { "\xb3\xe8\xba\xe9\xdc" , "\x4c\xe7\x53\xd1" } , { "\xb3\xe8\xbd" , "\x90\xc6" } , { "\xb3\xe8\xbd\xda" , "\x90\xc6\xd0" } , { "\xb3\xe8\xbd\xda\xa2" , "\x90\xc6\xd0\xd6" } , { "\xb3\xe8\xbd\xdb" , "\x90\xde\xc6" } , { "\xb3\xe8\xbd\xdb\xa2" , "\x90\xde\xd6\xc6" } , { "\xb3\xe8\xbd\xdc" , "\x90\xc6\xd1" } , { "\xb3\xe8\xbd\xdd" , "\x90\xe3\xc6" } , { "\xb3\xe8\xbd\xde" , "\x90\xe5\xc6" } , { "\xb3\xe8\xbd\xe0" , "\xd2\x90\xc6" } , { "\xb3\xe8\xbd\xe0\xa2" , "\xd2\x90\xc6\xd6" } , { "\xb3\xe8\xbd\xe1" , "\xd2\x90\xc6" } , { "\xb3\xe8\xbd\xe2" , "\xd2\x90\xdf\xc6" } , { "\xb3\xe8\xbd\xe4" , "\xd2\x90\xc6\xd0" } , { "\xb3\xe8\xbd\xe5" , "\xd2\x90\xc6\xd0" } , { "\xb3\xe8\xbd\xe5\xa2" , "\xd2\x90\xc6\xd0\xd6" } , { "\xb3\xe8\xbd\xe8" , "\x90\xe7\xc6" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x4c\xe7\x56\xe7\x4c\xca" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x4c\xe7\x56\xe7\x4e\xd0" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x4c\xe7\x56\xe7\x4e\xed\xd0" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x4c\xe7\x56\xe7\xd2\x51" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x4c\xe7\x56\xe7\x57\xd0" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x4c\xe7\x56\xe7\x57\xd1" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x4c\xe7\x56\xe7\xd2\x57" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x4c\xe7\x56\xf0\xe3" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x90\x9b\xc6" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x90\xc6\xd4" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x4c\xe7\x56\xca\xd4" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x4c\xe7\x56\xcb\xd4" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\xd2\x90\xc6\xd4\xd0" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x90\xcd\xc6" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x90\xcd\xc6\xd0" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x90\xcd\xc6\xd0\xd6" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\x90\xcd\xde\xc6" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x90\xcd\xc6\xd1" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\xd2\x90\xcd\xc6" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\xd2\x90\xcd\xc6" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\xd2\x90\xcd\xdf\xc6" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\xd2\x90\xcd\xc6\xd0" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\xd2\x90\xcd\xc6\xd0" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\xd2\x90\xcd\xc6\xd7" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\xd2\x90\xcd\xc6\xd0" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x90\xcd\xe7\xc6" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\x90\xe2\xde\xc6" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x90\xe2\xc6\xd1" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x4c\xe7\x56\xee\xe3" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\xd2\x90\xe2\xc6" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\xd2\x90\xe2\xdf\xc6" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\xd2\x90\xe2\xc6\xd0" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x4c\xe7\x56\xe7\x67\xd0" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\x4c\xe7\x56\xe7\x67\xde" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x4c\xe7\x56\xe7\xd2\x67\xdf" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x4c\xe7\x56\xe7\x6a" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x4c\xe7\x56\xe7\x6a\xde\xd5" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x4c\xe7\x56\xe7\x6a\xca" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x4c\xe7\x56\xe7\x6a\xe7" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x4c\xe7\x56\xe7\xb2\xde\xc6" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x4c\xe7\x56\xe7\x6a\xf5\xd0" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x4c\xe7\x56\xe7\xd2\x6a\xed\xd0" } , { "\xb3\xe8\xbe\xa2" , "\x4c\xe7\x57\xd5" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x4c\xe7\x57\xe7\x57\xd0" } , { "\xb3\xe8\xbf" , "\x4c\xe7\x58" } , { "\xb3\xe8\xbf\xa2" , "\x4c\xe7\x58\xd5" } , { "\xb3\xe8\xbf\xda" , "\x4c\xe7\x58\xd0" } , { "\xb3\xe8\xbf\xdb" , "\x4c\xe7\x58\xde" } , { "\xb3\xe8\xbf\xdc" , "\x4c\xe7\x58\xd1" } , { "\xb3\xe8\xbf\xdd" , "\x4c\xe7\x58\xca" } , { "\xb3\xe8\xbf\xde" , "\x4c\xe7\x58\xcb" } , { "\xb3\xe8\xbf\xe0" , "\x4c\xe7\xd2\x58" } , { "\xb3\xe8\xbf\xe1" , "\x4c\xe7\xd2\x58" } , { "\xb3\xe8\xbf\xe4" , "\x4c\xe7\xd2\x58\xd0" } , { "\xb3\xe8\xbf\xe5" , "\x4c\xe7\xd2\x58\xd0" } , { "\xb3\xe8\xbf\xe8" , "\x4c\xe7\x58\xe7" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x4c\xe7\x58\xf6" } , { "\xb3\xe8\xbf\xe9" , "\x4c\xe7\x58" } , { "\xb3\xe8\xbf\xe9\xda" , "\x4c\xe7\x58\xd0" } , { "\xb3\xe8\xc1" , "\x4c\xe7\x5a" } , { "\xb3\xe8\xc1\xdb" , "\x4c\xe7\x5a\xde" } , { "\xb3\xe8\xc1\xdb\xa2" , "\x4c\xe7\x5a\xde\xd5" } , { "\xb3\xe8\xc1\xdc" , "\x4c\xe7\x5a\xd1" } , { "\xb3\xe8\xc2" , "\xa6\xc6" } , { "\xb3\xe8\xc2\xa2" , "\xa6\xd6\xc6" } , { "\xb3\xe8\xc2\xa3" , "\xa6\xc6\xd3" } , { "\xb3\xe8\xc2\xda" , "\xa6\xc6\xd0" } , { "\xb3\xe8\xc2\xda\xa2" , "\xa6\xc6\xd0\xd6" } , { "\xb3\xe8\xc2\xda\xa3" , "\xa6\xc6\xd0\xd3" } , { "\xb3\xe8\xc2\xdb" , "\xa6\xde\xc6" } , { "\xb3\xe8\xc2\xdb\xa2" , "\xa6\xde\xd6\xc6" } , { "\xb3\xe8\xc2\xdb\xa3" , "\xa6\xde\xc6\xd3" } , { "\xb3\xe8\xc2\xdc" , "\xa6\xc6\xd1" } , { "\xb3\xe8\xc2\xdc\xa3" , "\xa6\xc6\xd1\xd3" } , { "\xb3\xe8\xc2\xdd" , "\xa6\xca\xc6" } , { "\xb3\xe8\xc2\xdd\xa2" , "\xa6\xca\xd6\xc6" } , { "\xb3\xe8\xc2\xde" , "\xa6\xcb\xc6" } , { "\xb3\xe8\xc2\xdf" , "\xa6\xf3\xc6" } , { "\xb3\xe8\xc2\xe0" , "\xd2\xa6\xc6" } , { "\xb3\xe8\xc2\xe1" , "\xd2\xa6\xc6" } , { "\xb3\xe8\xc2\xe2" , "\xd2\xa6\xdf\xc6" } , { "\xb3\xe8\xc2\xe5" , "\xd2\xa6\xc6\xd0" } , { "\xb3\xe8\xc2\xe5\xa2" , "\xd2\xa6\xc6\xd0\xd6" } , { "\xb3\xe8\xc2\xe6" , "\xd2\xa6\xc6\xd7" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x4c\xe7\xd2\x4c\xfa" } , { "\xb3\xe8\xc2\xe8\xc2" , "\xa6\xf2\xc6" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\xa6\xf2\xc6\xd0" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\xa6\xf2\xde\xc6" } , { "\xb3\xe8\xc2\xe8\xcd" , "\xa6\xc6\xd4" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\xa6\xd6\xc6\xd4" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\xa6\xc6\xd4\xd0" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\xa6\xca\xc6\xd4" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\xd2\xa6\xdf\xc6\xd4" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\xd2\xa6\xc6\xd4\xd0\xd6" } , { "\xb3\xe8\xc2\xe8\xcf" , "\xa6\xf6\xc6" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\xa6\xf6\xd6\xc6" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\xa6\xf6\xc6\xd3" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\xa6\xf6\xde\xc6" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\xd2\xa6\xf6\xc6" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\xd2\xa6\xf6\xdf\xc6" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x4c\xe7\x5b\xe7\x67" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x4c\xe7\x5b\xe7\x67\xd5" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x4c\xe7\x5b\xe7\x67\xd0" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\x4c\xe7\x5b\xe7\x67\xde" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x4c\xe7\x97" } , { "\xb3\xe8\xc3" , "\x4c\xe7\x5c" } , { "\xb3\xe8\xc3\xa2" , "\x4c\xe7\x5c\xd5" } , { "\xb3\xe8\xc3\xdb" , "\x4c\xe7\x5c\xde" } , { "\xb3\xe8\xc3\xdd" , "\x4c\xe7\x5c\xca" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x5c\xd4" } , { "\xb3\xe8\xc4" , "\x4c\xe7\x5d" } , { "\xb3\xe8\xc4\xda" , "\x4c\xe7\x5d\xd0" } , { "\xb3\xe8\xc4\xdb" , "\x4c\xe7\x5d\xde" } , { "\xb3\xe8\xc4\xdd" , "\x4c\xe7\x5d\xca" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x4c\xe7\x5d\xca\xd5" } , { "\xb3\xe8\xc4\xe4" , "\x4c\xe7\xd2\x5d\xd0" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x4c\xe7\x5d\xf6\xd1" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x4c\xe7\x5d\xe7\x67\xd0" } , { "\xb3\xe8\xc5" , "\x4c\xe7\x5e" } , { "\xb3\xe8\xc5\xda" , "\x4c\xe7\x5e\xd0" } , { "\xb3\xe8\xc6" , "\x4c\xef" } , { "\xb3\xe8\xc6\xda" , "\x4c\xef\xd0" } , { "\xb3\xe8\xc6\xda\xa2" , "\x4c\xef\xd0\xd5" } , { "\xb3\xe8\xc6\xdb" , "\x4c\xef\xde" } , { "\xb3\xe8\xc6\xdc" , "\x4c\xef\xd1" } , { "\xb3\xe8\xc6\xdd" , "\x4c\xf0\xe3" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x4c\xf0\xe3\xd5" } , { "\xb3\xe8\xc6\xde" , "\x4c\xf0\xe5" } , { "\xb3\xe8\xc6\xe0" , "\xd2\x4c\xef" } , { "\xb3\xe8\xc6\xe4" , "\xd2\x4c\xef\xd0" } , { "\xb3\xe8\xc6\xe5" , "\xd2\x4c\xef\xd0" } , { "\xb3\xe8\xc6\xe7" , "\xd2\x4c\xef\xd0" } , { "\xb3\xe8\xc6\xe8" , "\x4c\xef\xe7" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x4c\xef\xd4" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x4c\xef\xd4\xd0" } , { "\xb3\xe8\xc8" , "\x4c\xe7\x60" } , { "\xb3\xe8\xc8\xa2" , "\x4c\xe7\x60\xd5" } , { "\xb3\xe8\xc8\xda" , "\x4c\xe7\x60\xd0" } , { "\xb3\xe8\xc8\xdb" , "\x4c\xe7\x60\xde" } , { "\xb3\xe8\xc8\xdc" , "\x4c\xe7\x60\xd1" } , { "\xb3\xe8\xc8\xdd" , "\x4c\xe7\x60\xca" } , { "\xb3\xe8\xc8\xde" , "\x4c\xe7\x60\xcb" } , { "\xb3\xe8\xc8\xdf" , "\x4c\xe7\x60\xf3" } , { "\xb3\xe8\xc8\xe1" , "\x4c\xe7\xd2\x60" } , { "\xb3\xe8\xc8\xe2" , "\x4c\xe7\xd2\x60\xdf" } , { "\xb3\xe8\xc8\xe4" , "\x4c\xe7\xd2\x60\xd0" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x4c\xe7\x60\xf5" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x4c\xe7\x60\xf5\xd0" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x4c\xe7\xd2\x60\xf5\xd7" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x4c\xe7\xbf\xde\xa4" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x4c\xe7\xd2\xbf\xa4" } , { "\xb3\xe8\xc9" , "\x4c\xe7\x24\xbc" } , { "\xb3\xe8\xc9\xda" , "\x4c\xe7\x24\xbc\xd0" } , { "\xb3\xe8\xc9\xdb" , "\x4c\xe7\x24\xde\xbc" } , { "\xb3\xe8\xc9\xdd" , "\x4c\xe7\x24\xca\xbc" } , { "\xb3\xe8\xc9\xe0" , "\x4c\xe7\xd2\x24\xbc" } , { "\xb3\xe8\xc9\xe1" , "\x4c\xe7\xd2\x24\xbc" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x4c\xe7\xd2\x24\xbc" } , { "\xb3\xe8\xca" , "\x4c\xe8" } , { "\xb3\xe8\xca\xa2" , "\x4c\xe8\xd5" } , { "\xb3\xe8\xca\xda" , "\x4c\xe8\xd0" } , { "\xb3\xe8\xca\xdc" , "\x4c\xe8\xd1" } , { "\xb3\xe8\xca\xde" , "\x4c\xe9\xe5" } , { "\xb3\xe8\xca\xe1" , "\xd2\x4c\xe8" } , { "\xb3\xe8\xca\xe5" , "\xd2\x4c\xe8\xd0" } , { "\xb3\xe8\xca\xe5\xa2" , "\xd2\x4c\xe8\xd0\xd5" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x4c\xe8\xe2\xd0" } , { "\xb3\xe8\xcb" , "\x4c\xf7" } , { "\xb3\xe8\xcb\xda" , "\x4c\xf7\xd0" } , { "\xb3\xe8\xcb\xdb" , "\x4c\xf7\xde" } , { "\xb3\xe8\xcc" , "\x4c\xea" } , { "\xb3\xe8\xcc\xa2" , "\x4c\xea\xd5" } , { "\xb3\xe8\xcc\xda" , "\x4c\xea\xd0" } , { "\xb3\xe8\xcc\xda\xa2" , "\x4c\xea\xd0\xd5" } , { "\xb3\xe8\xcc\xdb" , "\x4c\xea\xde" } , { "\xb3\xe8\xcc\xdc" , "\x4c\xea\xd1" } , { "\xb3\xe8\xcc\xdd" , "\x4c\xeb\xe3" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x4c\xeb\xe3\xd5" } , { "\xb3\xe8\xcc\xe0" , "\xd2\x4c\xea" } , { "\xb3\xe8\xcc\xe1" , "\xd2\x4c\xea" } , { "\xb3\xe8\xcc\xe1\xa2" , "\xd2\x4c\xea\xd5" } , { "\xb3\xe8\xcc\xe2" , "\xd2\x4c\xea\xdf" } , { "\xb3\xe8\xcc\xe5" , "\xd2\x4c\xea\xd0" } , { "\xb3\xe8\xcd" , "\x4c\xd4" } , { "\xb3\xe8\xcd\xa2" , "\x4c\xd5\xd4" } , { "\xb3\xe8\xcd\xda" , "\x4c\xd4\xd0" } , { "\xb3\xe8\xcd\xda\xa1" , "\x4c\xdc\xd4\xd0" } , { "\xb3\xe8\xcd\xda\xa2" , "\x4c\xd4\xd0\xd5" } , { "\xb3\xe8\xcd\xdb" , "\x4c\xde\xd4" } , { "\xb3\xe8\xcd\xdd" , "\x4c\xca\xd4" } , { "\xb3\xe8\xcd\xde" , "\x4c\xcb\xd4" } , { "\xb3\xe8\xcd\xde\xa1" , "\x4c\xcb\xdc\xd4" } , { "\xb3\xe8\xcd\xde\xa2" , "\x4c\xcb\xd5\xd4" } , { "\xb3\xe8\xcd\xe1" , "\xd2\x4c\xd4" } , { "\xb3\xe8\xcd\xe2" , "\xd2\x4c\xdf\xd4" } , { "\xb3\xe8\xcd\xe5" , "\xd2\x4c\xd4\xd0" } , { "\xb3\xe8\xcd\xe5\xa2" , "\xd2\x4c\xd4\xd0\xd5" } , { "\xb3\xe8\xcd\xe8" , "\x4c\xe7" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x4c\xd4\xd0" } , { "\xb3\xe8\xcf" , "\x4c\xf5" } , { "\xb3\xe8\xcf\xa2" , "\x4c\xf5\xd5" } , { "\xb3\xe8\xcf\xda" , "\x4c\xf5\xd0" } , { "\xb3\xe8\xcf\xda\xa1" , "\x4c\xf5\xdc\xd0" } , { "\xb3\xe8\xcf\xda\xa2" , "\x4c\xf5\xd0\xd5" } , { "\xb3\xe8\xcf\xdb" , "\x4c\xf5\xde" } , { "\xb3\xe8\xcf\xdb\xa2" , "\x4c\xf5\xde\xd5" } , { "\xb3\xe8\xcf\xdc" , "\x4c\xf5\xd1" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x4c\xf5\xd1\xd5" } , { "\xb3\xe8\xcf\xdd" , "\x4c\xf6\xe3" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x4c\xf6\xe3\xd5" } , { "\xb3\xe8\xcf\xde" , "\x4c\xf6\xe5" } , { "\xb3\xe8\xcf\xdf" , "\x4c\xf6\xcc" } , { "\xb3\xe8\xcf\xe0" , "\xd2\x4c\xf5" } , { "\xb3\xe8\xcf\xe1" , "\xd2\x4c\xf5" } , { "\xb3\xe8\xcf\xe1\xa2" , "\xd2\x4c\xf5\xd5" } , { "\xb3\xe8\xcf\xe2" , "\xd2\x4c\xf5\xdf" } , { "\xb3\xe8\xcf\xe2\xa2" , "\xd2\x4c\xf5\xdf\xd5" } , { "\xb3\xe8\xcf\xe4" , "\xd2\x4c\xf5\xd0" } , { "\xb3\xe8\xcf\xe4\xa2" , "\xd2\x4c\xf5\xd0\xd5" } , { "\xb3\xe8\xcf\xe5" , "\xd2\x4c\xf5\xd0" } , { "\xb3\xe8\xcf\xe5\xa2" , "\xd2\x4c\xf5\xd0\xd5" } , { "\xb3\xe8\xcf\xe6" , "\xd2\x4c\xf5\xd7" } , { "\xb3\xe8\xcf\xe6\xa2" , "\xd2\x4c\xf5\xd7\xd5" } , { "\xb3\xe8\xcf\xe7" , "\xd2\x4c\xf5\xd0" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x4c\xe7\x65\xe7\xfe\x56\xd0" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x4c\xe7\x65\xe7\xfe\x5c\xd5" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x4c\xf5\xd4" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x4c\xe7\x65\xe7\xfe\xd2\x69" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x4c\xe7\x65\xe7\xfe\x6a" } , { "\xb3\xe8\xd0\xdc" , "\x4c\xf5\xd1" } , { "\xb3\xe8\xd0\xdd" , "\x4c\xf6\xe3" } , { "\xb3\xe8\xd0\xe4" , "\xd2\x4c\xf5\xd0" } , { "\xb3\xe8\xd1" , "\x4c\xed" } , { "\xb3\xe8\xd1\xa2" , "\x4c\xed\xd5" } , { "\xb3\xe8\xd1\xda" , "\x4c\xed\xd0" } , { "\xb3\xe8\xd1\xda\xa1" , "\x4c\xed\xdc\xd0" } , { "\xb3\xe8\xd1\xda\xa2" , "\x4c\xed\xd0\xd5" } , { "\xb3\xe8\xd1\xdb" , "\x4c\xed\xde" } , { "\xb3\xe8\xd1\xdb\xa2" , "\x4c\xed\xde\xd5" } , { "\xb3\xe8\xd1\xdc" , "\x4c\xed\xd1" } , { "\xb3\xe8\xd1\xdd" , "\x4c\xee\xe3" } , { "\xb3\xe8\xd1\xde" , "\x4c\xee\xe5" } , { "\xb3\xe8\xd1\xe0" , "\xd2\x4c\xed" } , { "\xb3\xe8\xd1\xe0\xa2" , "\xd2\x4c\xed\xd5" } , { "\xb3\xe8\xd1\xe1" , "\xd2\x4c\xed" } , { "\xb3\xe8\xd1\xe1\xa2" , "\xd2\x4c\xed\xd5" } , { "\xb3\xe8\xd1\xe2" , "\xd2\x4c\xed\xdf" } , { "\xb3\xe8\xd1\xe2\xa2" , "\xd2\x4c\xed\xdf\xd5" } , { "\xb3\xe8\xd1\xe4" , "\xd2\x4c\xed\xd0" } , { "\xb3\xe8\xd1\xe5" , "\xd2\x4c\xed\xd0" } , { "\xb3\xe8\xd1\xe5\xa2" , "\xd2\x4c\xed\xd0\xd5" } , { "\xb3\xe8\xd1\xe6" , "\xd2\x4c\xed\xd7" } , { "\xb3\xe8\xd1\xe7" , "\xd2\x4c\xed\xd0" } , { "\xb3\xe8\xd1\xe8" , "\x4c\xed\xe7" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x4c\xe7\x6d\xe7\xfe\x51" } , { "\xb3\xe8\xd1\xe8\xc8" , "\x4c\xe7\x6d\xe7\xfe\x60" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x4c\xed\xd4" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x4c\xed\xd4\xd0" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x4c\xe7\x6d\xe7\xfe\x6a\xd1" } , { "\xb3\xe8\xd2" , "\xa2\xc6" } , { "\xb3\xe8\xd4" , "\x4c\xe7\x67" } , { "\xb3\xe8\xd4\xa2" , "\x4c\xe7\x67\xd5" } , { "\xb3\xe8\xd4\xda" , "\x4c\xe7\x67\xd0" } , { "\xb3\xe8\xd4\xda\xa1" , "\x4c\xe7\x67\xdc\xd0" } , { "\xb3\xe8\xd4\xda\xa2" , "\x4c\xe7\x67\xd0\xd5" } , { "\xb3\xe8\xd4\xdb" , "\x4c\xe7\x67\xde" } , { "\xb3\xe8\xd4\xdb\xa2" , "\x4c\xe7\x67\xde\xd5" } , { "\xb3\xe8\xd4\xdc" , "\x4c\xe7\x67\xd1" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x4c\xe7\x67\xd1\xd5" } , { "\xb3\xe8\xd4\xdf" , "\x4c\xe7\x67\xf3" } , { "\xb3\xe8\xd4\xe0" , "\x4c\xe7\xd2\x67" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x4c\xe7\xd2\x67\xd5" } , { "\xb3\xe8\xd4\xe1" , "\x4c\xe7\xd2\x67" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x4c\xe7\xd2\x67\xd5" } , { "\xb3\xe8\xd4\xe2" , "\x4c\xe7\xd2\x67\xdf" } , { "\xb3\xe8\xd4\xe4" , "\x4c\xe7\xd2\x67\xd0" } , { "\xb3\xe8\xd4\xe5" , "\x4c\xe7\xd2\x67\xd0" } , { "\xb3\xe8\xd4\xe6" , "\x4c\xe7\xd2\x67\xd7" } , { "\xb3\xe8\xd4\xe8" , "\x4c\xe7\x67\xe7" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x4c\xe7\x67\xe7\x6a\xd0" } , { "\xb3\xe8\xd5" , "\x4c\xe7\x68" } , { "\xb3\xe8\xd5\xa2" , "\x4c\xe7\x68\xd5" } , { "\xb3\xe8\xd5\xda" , "\x4c\xe7\x68\xd0" } , { "\xb3\xe8\xd5\xdb" , "\x4c\xe7\x68\xde" } , { "\xb3\xe8\xd5\xdb\xa2" , "\x4c\xe7\x68\xde\xd5" } , { "\xb3\xe8\xd5\xdc" , "\x4c\xe7\x68\xd1" } , { "\xb3\xe8\xd5\xdd" , "\x4c\xe7\x68\xca" } , { "\xb3\xe8\xd5\xde" , "\x4c\xe7\x68\xcb" } , { "\xb3\xe8\xd5\xe1" , "\x4c\xe7\xd2\x68" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x4c\xe7\xd2\x68\xd5" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x4c\xe7\xd2\x68\xd0\xd5" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x4c\xe7\xbe\xa4" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x68\xd4" } , { "\xb3\xe8\xd6" , "\x6c" } , { "\xb3\xe8\xd6\xa2" , "\x6c\xd5" } , { "\xb3\xe8\xd6\xa3" , "\x6c\xd3" } , { "\xb3\xe8\xd6\xda" , "\x6c\xd0" } , { "\xb3\xe8\xd6\xda\xa2" , "\x6c\xd0\xd5" } , { "\xb3\xe8\xd6\xdb" , "\x6c\xde" } , { "\xb3\xe8\xd6\xdb\xa2" , "\x6c\xde\xd5" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\x6c\xde\xd5\xd5" } , { "\xb3\xe8\xd6\xdc" , "\x6c\xd1" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x6c\xd1\xd5" } , { "\xb3\xe8\xd6\xdd" , "\x6c\xca" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x6c\xca\xd3" } , { "\xb3\xe8\xd6\xde" , "\x6c\xcb" } , { "\xb3\xe8\xd6\xdf" , "\x6c\xf3" } , { "\xb3\xe8\xd6\xe0" , "\xd2\x6c" } , { "\xb3\xe8\xd6\xe0\xa2" , "\xd2\x6c\xd5" } , { "\xb3\xe8\xd6\xe1" , "\xd2\x6c" } , { "\xb3\xe8\xd6\xe1\xa2" , "\xd2\x6c\xd5" } , { "\xb3\xe8\xd6\xe2" , "\xd2\x6c\xdf" } , { "\xb3\xe8\xd6\xe5" , "\xd2\x6c\xd0" } , { "\xb3\xe8\xd6\xe5\xa2" , "\xd2\x6c\xd0\xd5" } , { "\xb3\xe8\xd6\xe6" , "\xd2\x6c\xd7" } , { "\xb3\xe8\xd6\xe8" , "\x6c\xe7" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\x4c\xe7\xb4\xca\xc6" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\x4c\xe7\x69\xe7\x6c" } , { "\xb3\xe8\xd6\xe8\xbd" , "\x4c\xe7\xbd\xa4" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\x4c\xe7\xbd\xf6\xa4\xd0" } , { "\xb3\xe8\xd6\xe8\xc1" , "\xc4\xa4" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\xc4\xa4\xd5" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\xc4\xa4\xd0" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\xd2\xc4\xa4\xdf" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\xd2\xc4\xa4\xd0" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x6c\xf1" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\x4c\xe7\x69\xf1\xcd" } , { "\xb3\xe8\xd6\xe8\xc6" , "\x6c\xef" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\x6c\xef\xe7" } , { "\xb3\xe8\xd6\xe8\xcc" , "\x6c\xea" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\x6c\xea\xd5" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\x6c\xea\xd0" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\x6c\xea\xd0\xd5" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\x6c\xea\xde" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\x6c\xea\xde\xd5" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\x6c\xea\xd1" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\x6c\xeb\xe3" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\xd2\x6c\xea" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x6c\xd4" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x6c\xd5\xd4" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x6c\xd4\xd0" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x6c\xd4\xd0\xd5" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x6c\xd4\xd1" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x6c\xca\xd4" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x6c\xcb\xd4" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\xd2\x6c\xd4" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\xd2\x6c\xd4\xd0" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\xd2\x6c\xd4\xd0\xd5" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x6c\xf5" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x6c\xf5\xd5" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x6c\xf5\xd0" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x6c\xed" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x6c\xee\xe3" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x4c\xe7\x69\xe7\x67\xd0" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x4c\xe7\x69\xe7\xd2\x67" } , { "\xb3\xe8\xd7" , "\xb5\xc6" } , { "\xb3\xe8\xd7\xa2" , "\xb5\xd6\xc6" } , { "\xb3\xe8\xd7\xda" , "\xb5\xc6\xd0" } , { "\xb3\xe8\xd7\xda\xa2" , "\xb5\xc6\xd0\xd6" } , { "\xb3\xe8\xd7\xdb" , "\xb5\xde\xc6" } , { "\xb3\xe8\xd7\xdb\xa2" , "\xb5\xde\xd6\xc6" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\xb5\xde\xd6\xc6\xd5" } , { "\xb3\xe8\xd7\xdc" , "\xb5\xc6\xd1" } , { "\xb3\xe8\xd7\xdd" , "\xb5\xca\xc6" } , { "\xb3\xe8\xd7\xde" , "\xb5\xcb\xc6" } , { "\xb3\xe8\xd7\xe0" , "\xd2\xb5\xc6" } , { "\xb3\xe8\xd7\xe0\xa2" , "\xd2\xb5\xc6\xd6" } , { "\xb3\xe8\xd7\xe1" , "\xd2\xb5\xc6" } , { "\xb3\xe8\xd7\xe1\xa2" , "\xd2\xb5\xc6\xd6" } , { "\xb3\xe8\xd7\xe2" , "\xd2\xb5\xdf\xc6" } , { "\xb3\xe8\xd7\xe4" , "\xd2\xb5\xc6\xd0" } , { "\xb3\xe8\xd7\xe5" , "\xd2\xb5\xc6\xd0" } , { "\xb3\xe8\xd7\xe5\xa2" , "\xd2\xb5\xc6\xd0\xd6" } , { "\xb3\xe8\xd7\xe6" , "\xd2\xb5\xc6\xd7" } , { "\xb3\xe8\xd7\xe8" , "\xb5\xe7\xc6" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\x4c\xe7\xb2\xde\xc6" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x4c\xe7\xb2\xca\xc6" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x4c\xe7\xb2\xcb\xc6" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x4c\xe7\xb2\xcb\xc6\xd4" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x4c\xe7\xb2\xf6\xc6\xd1" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x4c\xe7\xb2\xee\xe5\xc6" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x4c\xe7\x6a\xe7\x4e" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x4c\xe7\x6a\xe7\x4e\xd0" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x4c\xe7\x6a\xe7\xd2\x4e\xf5" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x4c\xe7\x6a\xe7\x51" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x4c\xe7\x6a\xe7\x51\xde" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x4c\xe7\x6a\xe7\xd2\x51" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x4c\xe7\x6a\xe7\xd2\x51\xd5" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x4c\xe7\x6a\xe7\xd2\x52\xd5" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x4c\xe7\x6a\xe7\x53\xed" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x4c\xe7\x6a\xe7\x56" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x4c\xe7\x6a\xe7\x56\xd0" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x4c\xe7\x6a\xe7\x56\xd1" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x4c\xe7\x6a\xe7\xd2\x56" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x4c\xe7\x6a\xe7\xd2\x56\xd5" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x4c\xe7\x6a\xe7\xd2\x56\xd5" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x4c\xe7\x6a\xe7\xd2\x56\xdf" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x4c\xe7\x6a\xe7\xd2\x56\xd0" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x4c\xe7\x6a\xe7\x56\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4c\xe7\x6a\xe7\x56\xf6\xd0" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x4c\xe7\x6a\xe7\x56\xf6\xde" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x4c\xe7\x6a\xe7\x56\xf6\xd1" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x4c\xe7\x6a\xe7\x56\xf6\xe5" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x4c\xe7\x6a\xe7\xd2\x56\xf6\xd0" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x4c\xe7\x6a\xe7\x58" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x4c\xe7\x6a\xe7\x94\xc6\xd0" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\xb5\xf2\xe5\xc6" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\xb5\xf2\xe7\xc6" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x4c\xe7\x79\xd0" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\x4c\xe7\x79\xde" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x4c\xe7\x6a\xe7\x5d\xd0" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\xb5\xf0\xd6\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\xb5\xf0\xde\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\xb5\xf0\xe3\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\xb5\xf0\xe3\xd6\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\xd2\xb5\xf0\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\xb5\xf0\xe7\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x4c\xe7\xd2\x6a\xef\xe2\xd0" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x4c\xe7\xb8\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x4c\xe7\xb8\xd6\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x4c\xe7\xb8\xa4\xd0" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\x4c\xe7\xb8\xde\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x4c\xe7\xb8\xa4\xd1" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x4c\xe7\xd2\xb8\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x4c\xe7\xd2\xb8\xa4\xd6" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x4c\xe7\xd2\xb8\xdf\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x4c\xe7\xd2\xb8\xa4\xd0" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x4c\xe7\xd2\xb8\xa4\xd0" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x4c\xe7\xd2\xb8\xa4\xd7" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x4c\xe7\xd2\xb8\xf6\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x4c\xe7\xd2\xb8\xf6\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x4c\xe7\xb8\xee\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x4c\xe7\xb8\xee\xa4\xd0" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x4c\xe7\xb8\xee\xa4\xd0\xd6" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x4c\xe7\xd2\xb8\xee\xa4" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x4c\xe7\xc9\xa5" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\x4c\xe7\xc9\xde\xa5" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x4c\xe7\xd2\xc9\xee\xa5\xd0" } , { "\xb3\xe8\xd7\xe8\xcc" , "\xb5\xeb\xc6" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\xb5\xeb\xde\xc6" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\xb5\xeb\xe3\xc6" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x4c\xe7\x6a\xea\xd4\xd0" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\xb5\xcb\xc6\xd4" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\xb5\xf6\xe3\xc6" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\xd2\xb5\xf6\xc6" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\xd2\xb5\xf6\xc6" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\xb5\xf6\xe7\xc6" } , { "\xb3\xe8\xd7\xe8\xd1" , "\xb5\xee\xc6" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\xb5\xee\xc6\xd1" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\xb5\xee\xe3\xc6" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\xd2\xb5\xee\xc6\xd6" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\xd2\xb5\xee\xc6" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\xd2\xb5\xee\xdf\xc6" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\xd2\xb5\xee\xc6\xd0" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x4c\xe7\x6a\xe7\x67" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x4c\xe7\x6a\xe7\x67\xd5" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x4c\xe7\x6a\xe7\x67\xd0" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x4c\xe7\x6a\xe7\xd2\x67" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x4c\xe7\x6a\xe7\x6a\xe7" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4c\xe7\x6a\xe7\x6a\xe7\x56\xf6\xd0" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x4c\xe7\x6a\xe7\xd2\x6b\xdf\xfe" } , { "\xb3\xe8\xd8" , "\x4c\xe7\x6b\xfe" } , { "\xb3\xe8\xd8\xda" , "\x4c\xe7\x6b\xfe\xd0" } , { "\xb3\xe8\xd8\xda\xa2" , "\x4c\xe7\x6b\xfe\xd0\xd5" } , { "\xb3\xe8\xd8\xe0" , "\x4c\xe7\xd2\x6b\xfe" } , { "\xb3\xe8\xd8\xe8" , "\x4c\xe7\x6b\xe7\xfe" } , { "\xb3\xe8\xd9\xa6" , "\x4c\xe7\x42" } , { "\xb3\xe8\xd9\xb3" , "\x4c\xe7\x4c" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x4c\xe7\x4c\xd1" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x4c\xe7\xd2\x4d\xd7" } , { "\xb3\xe8\xd9\xbd" , "\x4c\xe7\x56" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x4c\xe7\x56\xf6\xd0" } , { "\xb3\xe8\xd9\xc2" , "\x4c\xe7\x5b" } , { "\xb3\xe8\xd9\xc2\xda" , "\x4c\xe7\x5b\xd0" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x4c\xe7\x5b\xde" } , { "\xb3\xe8\xd9\xc2\xde" , "\x4c\xe7\x5b\xcb" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x4c\xe7\x5b\xf3" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x4c\xe7\xd2\x5b\xd0\xd5" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x4c\xe7\x5b\xe7\x67" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x4c\xe7\x56\xd9" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x4c\xe7\xaf\xe0\xc6" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x4c\xe7\x6a\xe0" } , { "\xb3\xe8\xd9\xd4" , "\x4c\xe7\x67" } , { "\xb3\xe8\xd9\xd7" , "\x4c\xe7\x6a" } , { "\xb3\xe8\xd9\xd7\xda" , "\x4c\xe7\x6a\xd0" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x4c\xe7\x6a\xd1" } , { "\xb3\xe8\xe8" , "\x4c\xe7" } , { "\xb3\xe8\xe9\xc2" , "\x4c\xe7\x5b" } , { "\xb3\xe8\xe9\xcf" , "\x4c\xe7\x65\xfe" } , { "\xb3\xe8\xe9\xd6" , "\x4c\xe7\x69" } , { "\xb3\xe9" , "\x4c" } , { "\xb3\xe9\xda" , "\x4c\xd0" } , { "\xb3\xe9\xdb" , "\x4c\xde" } , { "\xb3\xe9\xdb\xa2" , "\x4c\xde\xd5" } , { "\xb3\xe9\xdc" , "\x4c\xd1" } , { "\xb3\xe9\xdd" , "\x4c\xca" } , { "\xb3\xe9\xde" , "\x4c\xcb" } , { "\xb3\xe9\xe1" , "\xd2\x4c" } , { "\xb3\xe9\xe2" , "\xd2\x4c\xdf" } , { "\xb3\xe9\xe5\xa2" , "\xd2\x4c\xd0\xd5" } , { "\xb3\xe9\xe6" , "\xd2\x4c\xd7" } , { "\xb3\xe9\xe8\xb3\xe9" , "\xa3\xc6" } , { "\xb3\xe9\xe8\xc2" , "\xa6\xc6" } , { "\xb3\xe9\xe8\xcc" , "\x4c\xea" } , { "\xb3\xe9\xe8\xd1" , "\x4c\xed" } , { "\xb3\xe9\xe8\xd1\xdb" , "\x4c\xed\xde" } , { "\xb3\xe9\xe8\xd7\xdc" , "\xb5\xc6\xd1" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x4c\xe7\xd2\x5b" } , { "\xb4" , "\x4d" } , { "\xb4\xa1" , "\x4d\xdc" } , { "\xb4\xa2" , "\x4d\xd5" } , { "\xb4\xa3" , "\x4d\xd3" } , { "\xb4\xd0" , "\x4d\x65\xfe" } , { "\xb4\xd0\xb8" , "\x4d\x65\xfe\x51" } , { "\xb4\xd0\xdc" , "\x4d\x65\xfe\xd1" } , { "\xb4\xda" , "\x4d\xd0" } , { "\xb4\xda\xa1" , "\x4d\xdc\xd0" } , { "\xb4\xda\xa2" , "\x4d\xd0\xd5" } , { "\xb4\xda\xa3" , "\x4d\xd0\xd3" } , { "\xb4\xdb" , "\x4d\xde" } , { "\xb4\xdb\xa2" , "\x4d\xde\xd5" } , { "\xb4\xdc" , "\x4d\xd1" } , { "\xb4\xdc\xa2" , "\x4d\xd1\xd5" } , { "\xb4\xdd" , "\x4d\xca" } , { "\xb4\xdd\xa1" , "\x4d\xca\xdc" } , { "\xb4\xdd\xa2" , "\x4d\xca\xd5" } , { "\xb4\xde" , "\x4d\xcb" } , { "\xb4\xde\xa1" , "\x4d\xcb\xdc" } , { "\xb4\xde\xa2" , "\x4d\xcb\xd5" } , { "\xb4\xdf" , "\x4d\xf3" } , { "\xb4\xe0" , "\xd2\x4d" } , { "\xb4\xe1" , "\xd2\x4d" } , { "\xb4\xe1\xa1" , "\xd2\x4d\xdc" } , { "\xb4\xe1\xa2" , "\xd2\x4d\xd5" } , { "\xb4\xe2" , "\xd2\x4d\xdf" } , { "\xb4\xe2\xa2" , "\xd2\x4d\xdf\xd5" } , { "\xb4\xe4" , "\xd2\x4d\xd0" } , { "\xb4\xe5" , "\xd2\x4d\xd0" } , { "\xb4\xe5\xa2" , "\xd2\x4d\xd0\xd5" } , { "\xb4\xe6" , "\xd2\x4d\xd7" } , { "\xb4\xe8" , "\x4d\xe7" } , { "\xb4\xe8\xb3" , "\x4d\xe7\x4c" } , { "\xb4\xe8\xb3\xda" , "\x4d\xe7\x4c\xd0" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x4d\xe7\x6c" } , { "\xb4\xe8\xb4" , "\x4d\xe7\x4d" } , { "\xb4\xe8\xb4\xa2" , "\x4d\xe7\x4d\xd5" } , { "\xb4\xe8\xb4\xa3" , "\x4d\xe7\x4d\xd3" } , { "\xb4\xe8\xb4\xda" , "\x4d\xe7\x4d\xd0" } , { "\xb4\xe8\xb4\xdb\xa2" , "\x4d\xe7\x4d\xde\xd5" } , { "\xb4\xe8\xb4\xdc" , "\x4d\xe7\x4d\xd1" } , { "\xb4\xe8\xb5\xda" , "\x4d\xe7\x4e\xd0" } , { "\xb4\xe8\xb8\xda" , "\x4d\xe7\x51\xd0" } , { "\xb4\xe8\xbd" , "\x4d\xe7\x56" } , { "\xb4\xe8\xc2" , "\x4d\xf1" } , { "\xb4\xe8\xc2\xda" , "\x4d\xf1\xd0" } , { "\xb4\xe8\xc2\xdb" , "\x4d\xf1\xde" } , { "\xb4\xe8\xc2\xdc" , "\x4d\xf1\xd1" } , { "\xb4\xe8\xc2\xdd" , "\x4d\xf2\xe3" } , { "\xb4\xe8\xc2\xe1" , "\xd2\x4d\xf1" } , { "\xb4\xe8\xc2\xe5" , "\xd2\x4d\xf1\xd0" } , { "\xb4\xe8\xc2\xe5\xa2" , "\xd2\x4d\xf1\xd0\xd5" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x4d\xe7\x5b\xe7\x4d\xd0" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x4d\xe7\x5d\xca\xd5" } , { "\xb4\xe8\xc6\xdc" , "\x4d\xef\xd1" } , { "\xb4\xe8\xc6\xdd" , "\x4d\xf0\xe3" } , { "\xb4\xe8\xc6\xe2" , "\xd2\x4d\xef\xdf" } , { "\xb4\xe8\xc6\xe5" , "\xd2\x4d\xef\xd0" } , { "\xb4\xe8\xc8\xde" , "\x4d\xe7\x60\xcb" } , { "\xb4\xe8\xcc" , "\x4d\xea" } , { "\xb4\xe8\xcc\xda" , "\x4d\xea\xd0" } , { "\xb4\xe8\xcc\xdb" , "\x4d\xea\xde" } , { "\xb4\xe8\xcc\xdc" , "\x4d\xea\xd1" } , { "\xb4\xe8\xcc\xe5\xa2" , "\xd2\x4d\xea\xd0\xd5" } , { "\xb4\xe8\xcd" , "\x4d\xd4" } , { "\xb4\xe8\xcd\xa2" , "\x4d\xd5\xd4" } , { "\xb4\xe8\xcd\xda" , "\x4d\xd4\xd0" } , { "\xb4\xe8\xcd\xda\xa2" , "\x4d\xd4\xd0\xd5" } , { "\xb4\xe8\xcd\xdb" , "\x4d\xde\xd4" } , { "\xb4\xe8\xcd\xdd" , "\x4d\xca\xd4" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x4d\xca\xd5\xd4" } , { "\xb4\xe8\xcd\xde" , "\x4d\xcb\xd4" } , { "\xb4\xe8\xcd\xe1" , "\xd2\x4d\xd4" } , { "\xb4\xe8\xcd\xe5" , "\xd2\x4d\xd4\xd0" } , { "\xb4\xe8\xcd\xe5\xa2" , "\xd2\x4d\xd4\xd0\xd5" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x4d\xd4" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x4d\xd4\xd0" } , { "\xb4\xe8\xcf" , "\x4d\xf5" } , { "\xb4\xe8\xcf\xdd" , "\x4d\xf6\xe3" } , { "\xb4\xe8\xd1\xda" , "\x4d\xed\xd0" } , { "\xb4\xe8\xd1\xdd" , "\x4d\xee\xe3" } , { "\xb4\xe8\xd4\xda" , "\x4d\xe7\x67\xd0" } , { "\xb4\xe8\xd5" , "\x4d\xe7\x68" } , { "\xb4\xe8\xd5\xda" , "\x4d\xe7\x68\xd0" } , { "\xb4\xe8\xd5\xdc" , "\x4d\xe7\x68\xd1" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x69\xd4\xd0" } , { "\xb4\xe8\xd7" , "\x4d\xe7\x6a" } , { "\xb4\xe8\xd7\xdb" , "\x4d\xe7\x6a\xde" } , { "\xb4\xe8\xd7\xdc" , "\x4d\xe7\x6a\xd1" } , { "\xb4\xe8\xd9\xd5" , "\x4d\xe7\x68" } , { "\xb4\xe8\xe8" , "\x4d\xe7" } , { "\xb4\xe8\xe9\xcf" , "\x4d\xe7\x65\xfe" } , { "\xb4\xe9" , "\x4d" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x4d\x51\xe0\xd0" } , { "\xb4\xe9\xda" , "\x4d\xd0" } , { "\xb4\xe9\xda\xa1" , "\x4d\xdc\xd0" } , { "\xb4\xe9\xdb" , "\x4d\xde" } , { "\xb4\xe9\xdc" , "\x4d\xd1" } , { "\xb4\xe9\xdd" , "\x4d\xca" } , { "\xb4\xe9\xde" , "\x4d\xcb" } , { "\xb4\xe9\xe2" , "\xd2\x4d\xdf" } , { "\xb4\xe9\xe5" , "\xd2\x4d\xd0" } , { "\xb4\xe9\xe5\xa2" , "\xd2\x4d\xd0\xd5" } , { "\xb4\xe9\xe8\xc2" , "\x4d\xf1" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\xd2\x4d\xf1\xd0\xd5" } , { "\xb4\xe9\xe8\xcd\xda" , "\x4d\xd4\xd0" } , { "\xb4\xe9\xe8\xd4\xda" , "\x4d\xe7\x67\xd0" } , { "\xb4\xe9\xe8\xd5" , "\x4d\xe7\x68" } , { "\xb4\xe9\xe8\xd7" , "\x4d\xe7\x6a" } , { "\xb5" , "\x4e" } , { "\xb5\xa1" , "\x4e\xdc" } , { "\xb5\xa2" , "\x4e\xd5" } , { "\xb5\xa3" , "\x4e\xd3" } , { "\xb5\xda" , "\x4e\xd0" } , { "\xb5\xda\xa1" , "\x4e\xdc\xd0" } , { "\xb5\xda\xa2" , "\x4e\xd0\xd5" } , { "\xb5\xda\xa3" , "\x4e\xd0\xd3" } , { "\xb5\xdb" , "\x4e\xde" } , { "\xb5\xdb\xa2" , "\x4e\xde\xd5" } , { "\xb5\xdc" , "\x4e\xd1" } , { "\xb5\xdc\xa2" , "\x4e\xd1\xd5" } , { "\xb5\xdc\xa3" , "\x4e\xd1\xd3" } , { "\xb5\xdd" , "\x4e\xca" } , { "\xb5\xdd\xa1" , "\x4e\xca\xdc" } , { "\xb5\xdd\xa2" , "\x4e\xca\xd5" } , { "\xb5\xdd\xa2\xa2" , "\x4e\xca\xd5\xd5" } , { "\xb5\xdd\xa3" , "\x4e\xca\xd3" } , { "\xb5\xde" , "\x4e\xcb" } , { "\xb5\xde\xa1" , "\x4e\xcb\xdc" } , { "\xb5\xde\xa2" , "\x4e\xcb\xd5" } , { "\xb5\xdf" , "\x4e\xf3" } , { "\xb5\xdf\xa2" , "\x4e\xf3\xd5" } , { "\xb5\xe0" , "\xd2\x4e" } , { "\xb5\xe0\xa2" , "\xd2\x4e\xd5" } , { "\xb5\xe1" , "\xd2\x4e" } , { "\xb5\xe1\xa2" , "\xd2\x4e\xd5" } , { "\xb5\xe1\xa3" , "\xd2\x4e\xd3" } , { "\xb5\xe2" , "\xd2\x4e\xdf" } , { "\xb5\xe2\xa2" , "\xd2\x4e\xdf\xd5" } , { "\xb5\xe2\xa3" , "\xd2\x4e\xdf\xd3" } , { "\xb5\xe4" , "\xd2\x4e\xd0" } , { "\xb5\xe4\xa2" , "\xd2\x4e\xd0\xd5" } , { "\xb5\xe5" , "\xd2\x4e\xd0" } , { "\xb5\xe5\xa2" , "\xd2\x4e\xd0\xd5" } , { "\xb5\xe6" , "\xd2\x4e\xd7" } , { "\xb5\xe6\xa1" , "\xd2\x4e\xd7\xdb" } , { "\xb5\xe6\xa2" , "\xd2\x4e\xd7\xd5" } , { "\xb5\xe7" , "\xd2\x4e\xd0" } , { "\xb5\xe8" , "\x4e\xe7" } , { "\xb5\xe8\x4d" , "\x4e\xe7\x4d" } , { "\xb5\xe8\xb3" , "\x4e\xe7\x4c" } , { "\xb5\xe8\xb3\xda" , "\x4e\xe7\x4c\xd0" } , { "\xb5\xe8\xb3\xdb" , "\x4e\xe7\x4c\xde" } , { "\xb5\xe8\xb3\xdd" , "\x4e\xe7\x4c\xca" } , { "\xb5\xe8\xb3\xde" , "\x4e\xe7\x4c\xcb" } , { "\xb5\xe8\xb3\xe2" , "\x4e\xe7\xd2\x4c\xdf" } , { "\xb5\xe8\xb3\xe5" , "\x4e\xe7\xd2\x4c\xd0" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x4e\xe7\x4c\xed" } , { "\xb5\xe8\xb5" , "\x4e\xe7\x4e" } , { "\xb5\xe8\xb5\xa2" , "\x4e\xe7\x4e\xd5" } , { "\xb5\xe8\xb5\xda" , "\x4e\xe7\x4e\xd0" } , { "\xb5\xe8\xb5\xdb" , "\x4e\xe7\x4e\xde" } , { "\xb5\xe8\xb5\xdb\xa2" , "\x4e\xe7\x4e\xde\xd5" } , { "\xb5\xe8\xb5\xdc" , "\x4e\xe7\x4e\xd1" } , { "\xb5\xe8\xb5\xdd" , "\x4e\xe7\x4e\xca" } , { "\xb5\xe8\xb5\xdd\xa2" , "\x4e\xe7\x4e\xca\xd5" } , { "\xb5\xe8\xb5\xde" , "\x4e\xe7\x4e\xcb" } , { "\xb5\xe8\xb5\xe0" , "\x4e\xe7\xd2\x4e" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x4e\xe7\xd2\x4e\xd5" } , { "\xb5\xe8\xb5\xe1" , "\x4e\xe7\xd2\x4e" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x4e\xe7\xd2\x4e\xd5" } , { "\xb5\xe8\xb5\xe2" , "\x4e\xe7\xd2\x4e\xdf" } , { "\xb5\xe8\xb5\xe4" , "\x4e\xe7\xd2\x4e\xd0" } , { "\xb5\xe8\xb5\xe5" , "\x4e\xe7\xd2\x4e\xd0" } , { "\xb5\xe8\xb5\xe8" , "\x4e\xe7\x4e\xe7" } , { "\xb5\xe8\xb6" , "\x4e\xe7\x4f" } , { "\xb5\xe8\xb6\xda" , "\x4e\xe7\x4f\xd0" } , { "\xb5\xe8\xb6\xdc" , "\x4e\xe7\x4f\xd1" } , { "\xb5\xe8\xb6\xdd" , "\x4e\xe7\x4f\xca" } , { "\xb5\xe8\xb6\xe1" , "\x4e\xe7\xd2\x4f" } , { "\xb5\xe8\xb7" , "\x4e\xe7\x50\xbc" } , { "\xb5\xe8\xb7\xda" , "\x4e\xe7\x50\xbc\xd0" } , { "\xb5\xe8\xb7\xdb" , "\x4e\xe7\x50\xde\xbc" } , { "\xb5\xe8\xb7\xdc" , "\x4e\xe7\x50\xbc\xd1" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x4e\xe7\xd2\x50\xbc\xd0\xbc\xbc\xd5" } , { "\xb5\xe8\xb8\xe1" , "\x4e\xe7\xd2\x51" } , { "\xb5\xe8\xba" , "\x4e\xe7\x53" } , { "\xb5\xe8\xba\xa2" , "\x4e\xe7\x53\xd5" } , { "\xb5\xe8\xba\xda" , "\x4e\xe7\x53\xd0" } , { "\xb5\xe8\xba\xda\xa2" , "\x4e\xe7\x53\xd0\xd5" } , { "\xb5\xe8\xba\xdb" , "\x4e\xe7\x53\xde" } , { "\xb5\xe8\xba\xdc" , "\x4e\xe7\x53\xd1" } , { "\xb5\xe8\xba\xe0" , "\x4e\xe7\xd2\x53" } , { "\xb5\xe8\xba\xe0\xa2" , "\x4e\xe7\xd2\x53\xd5" } , { "\xb5\xe8\xba\xe1\xa2" , "\x4e\xe7\xd2\x53\xd5" } , { "\xb5\xe8\xba\xe2" , "\x4e\xe7\xd2\x53\xdf" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x4e\xe7\x53\xe7\x67\xd0\xd5" } , { "\xb5\xe8\xba\xe9" , "\x4e\xe7\x53" } , { "\xb5\xe8\xba\xe9\xdb" , "\x4e\xe7\x53\xde" } , { "\xb5\xe8\xbd" , "\x4e\xe7\x56" } , { "\xb5\xe8\xbd\xda" , "\x4e\xe7\x56\xd0" } , { "\xb5\xe8\xbd\xda\xa2" , "\x4e\xe7\x56\xd0\xd5" } , { "\xb5\xe8\xbd\xdb" , "\x4e\xe7\x56\xde" } , { "\xb5\xe8\xbd\xdc" , "\x4e\xe7\x56\xd1" } , { "\xb5\xe8\xbd\xde" , "\x4e\xe7\x56\xcb" } , { "\xb5\xe8\xbd\xe0" , "\x4e\xe7\xd2\x56" } , { "\xb5\xe8\xbd\xe1" , "\x4e\xe7\xd2\x56" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x4e\xe7\xd2\x56\xdf\xd5" } , { "\xb5\xe8\xbd\xe4" , "\x4e\xe7\xd2\x56\xd0" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x4e\xe7\x56\xe7\x53\xe7" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x4e\xe7\x56\xf6\xd0" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x4e\xe7\xd2\x56\xf6" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\x4e\xe7\x56\xe7\x67\xde" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x4e\xe7\x56\xe7\x6a" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x4e\xe7\x56\xe7\x6a\xd0" } , { "\xb5\xe8\xbf" , "\x4e\xe7\x58" } , { "\xb5\xe8\xbf\xa2" , "\x4e\xe7\x58\xd5" } , { "\xb5\xe8\xbf\xda" , "\x4e\xe7\x58\xd0" } , { "\xb5\xe8\xbf\xda\xa2" , "\x4e\xe7\x58\xd0\xd5" } , { "\xb5\xe8\xbf\xdb" , "\x4e\xe7\x58\xde" } , { "\xb5\xe8\xbf\xdc" , "\x4e\xe7\x58\xd1" } , { "\xb5\xe8\xbf\xe0" , "\x4e\xe7\xd2\x58" } , { "\xb5\xe8\xbf\xe5" , "\x4e\xe7\xd2\x58\xd0" } , { "\xb5\xe8\xbf\xe8" , "\x4e\xe7\x58\xe7" } , { "\xb5\xe8\xc0\xdd" , "\x4e\xe7\x59\xca" } , { "\xb5\xe8\xc1" , "\x4e\xe7\x5a" } , { "\xb5\xe8\xc1\xda" , "\x4e\xe7\x5a\xd0" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x4e\xe7\xd2\x5a\xd0\xd5" } , { "\xb5\xe8\xc2" , "\x4e\xf1" } , { "\xb5\xe8\xc2\xda" , "\x4e\xf1\xd0" } , { "\xb5\xe8\xc2\xdb" , "\x4e\xf1\xde" } , { "\xb5\xe8\xc2\xdd" , "\x4e\xf2\xe3" } , { "\xb5\xe8\xc2\xe0" , "\xd2\x4e\xf1" } , { "\xb5\xe8\xc2\xe1" , "\xd2\x4e\xf1" } , { "\xb5\xe8\xc2\xe5" , "\xd2\x4e\xf1\xd0" } , { "\xb5\xe8\xc2\xe8" , "\x4e\xf1\xe7" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x4e\xe7\x4c\xfa" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x4e\xe7\x5b\xe7\x4e" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x4e\xe7\x72\xfe" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x4e\xf1\xcd" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\xd2\x4e\xf1\xcd\xd5" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x4e\xe7\x97" } , { "\xb5\xe8\xc3" , "\x4e\xe7\x5c" } , { "\xb5\xe8\xc3\xda" , "\x4e\xe7\x5c\xd0" } , { "\xb5\xe8\xc3\xdc" , "\x4e\xe7\x5c\xd1" } , { "\xb5\xe8\xc3\xdd" , "\x4e\xe7\x5c\xca" } , { "\xb5\xe8\xc3\xe5" , "\x4e\xe7\xd2\x5c\xd0" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x4e\xe7\xd2\x5c\xd0\xd5" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x5c\xd4\xd0" } , { "\xb5\xe8\xc4" , "\x92\xc6" } , { "\xb5\xe8\xc4\xa2" , "\x92\xd6\xc6" } , { "\xb5\xe8\xc4\xda" , "\x92\xc6\xd0" } , { "\xb5\xe8\xc4\xdb" , "\x92\xde\xc6" } , { "\xb5\xe8\xc4\xdd" , "\x92\xe3\xc6" } , { "\xb5\xe8\xc4\xdf" , "\x92\xcc\xc6" } , { "\xb5\xe8\xc4\xe1" , "\xd2\x92\xc6" } , { "\xb5\xe8\xc4\xe5" , "\xd2\x92\xc6\xd0" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x92\xc6\xd4" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x92\xd6\xc6\xd4" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x4e\xe7\x5d\xe7\x67\xd0" } , { "\xb5\xe8\xc5" , "\x91\xc6" } , { "\xb5\xe8\xc5\xa2" , "\x91\xd6\xc6" } , { "\xb5\xe8\xc5\xda" , "\x91\xc6\xd0" } , { "\xb5\xe8\xc5\xdb" , "\x91\xde\xc6" } , { "\xb5\xe8\xc5\xdc" , "\x91\xc6\xd1" } , { "\xb5\xe8\xc5\xdd" , "\x91\xe3\xc6" } , { "\xb5\xe8\xc5\xe1" , "\xd2\x91\xc6" } , { "\xb5\xe8\xc5\xe5" , "\xd2\x91\xc6\xd0" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x91\xc6\xd4" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x91\xd6\xc6\xd4" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x91\xc6\xd4\xd0" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x4e\xe7\x5e\xe7\x67\xd0" } , { "\xb5\xe8\xc6" , "\x4e\xef" } , { "\xb5\xe8\xc6\xa2" , "\x4e\xef\xd5" } , { "\xb5\xe8\xc6\xda" , "\x4e\xef\xd0" } , { "\xb5\xe8\xc6\xdb" , "\x4e\xef\xde" } , { "\xb5\xe8\xc6\xdb\xa2" , "\x4e\xef\xde\xd5" } , { "\xb5\xe8\xc6\xdb\xa3" , "\x4e\xef\xde\xd3" } , { "\xb5\xe8\xc6\xdc" , "\x4e\xef\xd1" } , { "\xb5\xe8\xc6\xdd" , "\x4e\xf0\xe3" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x4e\xf0\xe3\xd5" } , { "\xb5\xe8\xc6\xde" , "\x4e\xf0\xe5" } , { "\xb5\xe8\xc6\xe0" , "\xd2\x4e\xef" } , { "\xb5\xe8\xc6\xe1" , "\xd2\x4e\xef" } , { "\xb5\xe8\xc6\xe2" , "\xd2\x4e\xef\xdf" } , { "\xb5\xe8\xc6\xe5\xa2" , "\xd2\x4e\xef\xd0\xd5" } , { "\xb5\xe8\xc6\xe6" , "\xd2\x4e\xef\xd7" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x4e\xef\xd5\xd4" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x4e\xef\xd4\xd0" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x4e\xef\xdc\xd4\xd0" } , { "\xb5\xe8\xc8" , "\x4e\xe7\x60" } , { "\xb5\xe8\xc8\xda" , "\x4e\xe7\x60\xd0" } , { "\xb5\xe8\xc8\xdb" , "\x4e\xe7\x60\xde" } , { "\xb5\xe8\xc8\xdc" , "\x4e\xe7\x60\xd1" } , { "\xb5\xe8\xc8\xdd" , "\x4e\xe7\x60\xca" } , { "\xb5\xe8\xc8\xde" , "\x4e\xe7\x60\xcb" } , { "\xb5\xe8\xc8\xe2" , "\x4e\xe7\xd2\x60\xdf" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x4e\xe7\xd2\x60\xf5" } , { "\xb5\xe8\xc9" , "\x4e\xe7\x24\xbc" } , { "\xb5\xe8\xc9\xdb" , "\x4e\xe7\x24\xde\xbc" } , { "\xb5\xe8\xc9\xe0" , "\x4e\xe7\xd2\x24\xbc" } , { "\xb5\xe8\xc9\xe5" , "\x4e\xe7\xd2\x24\xbc\xd0" } , { "\xb5\xe8\xca" , "\x4e\xe8" } , { "\xb5\xe8\xca\xa2" , "\x4e\xe8\xd5" } , { "\xb5\xe8\xca\xda" , "\x4e\xe8\xd0" } , { "\xb5\xe8\xca\xdb" , "\x4e\xe8\xde" } , { "\xb5\xe8\xca\xdc" , "\x4e\xe8\xd1" } , { "\xb5\xe8\xca\xe0" , "\xd2\x4e\xe8" } , { "\xb5\xe8\xca\xe5" , "\xd2\x4e\xe8\xd0" } , { "\xb5\xe8\xca\xe8\xcf" , "\x4e\xe8\xcd" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\xd2\x4e\xe8\xcd" } , { "\xb5\xe8\xcb" , "\x4e\xf7" } , { "\xb5\xe8\xcb\xa2" , "\x4e\xf7\xd5" } , { "\xb5\xe8\xcb\xda" , "\x4e\xf7\xd0" } , { "\xb5\xe8\xcb\xde" , "\x4e\xf8\xe5" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x4e\xf7\xcd" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x4e\xf7\xcd\xd0" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x4e\xf7\xcd\xd0\xd5" } , { "\xb5\xe8\xcc" , "\x4e\xea" } , { "\xb5\xe8\xcc\xa2" , "\x4e\xea\xd5" } , { "\xb5\xe8\xcc\xda" , "\x4e\xea\xd0" } , { "\xb5\xe8\xcc\xdb" , "\x4e\xea\xde" } , { "\xb5\xe8\xcc\xdc" , "\x4e\xea\xd1" } , { "\xb5\xe8\xcc\xdd" , "\x4e\xeb\xe3" } , { "\xb5\xe8\xcc\xde" , "\x4e\xeb\xe5" } , { "\xb5\xe8\xcc\xe0\xa2" , "\xd2\x4e\xea\xd5" } , { "\xb5\xe8\xcc\xe1" , "\xd2\x4e\xea" } , { "\xb5\xe8\xcc\xe2" , "\xd2\x4e\xea\xdf" } , { "\xb5\xe8\xcc\xe2\xa2" , "\xd2\x4e\xea\xdf\xd5" } , { "\xb5\xe8\xcc\xe4" , "\xd2\x4e\xea\xd0" } , { "\xb5\xe8\xcc\xe5" , "\xd2\x4e\xea\xd0" } , { "\xb5\xe8\xcc\xe5\xa2" , "\xd2\x4e\xea\xd0\xd5" } , { "\xb5\xe8\xcd" , "\x4e\xd4" } , { "\xb5\xe8\xcd\xa2" , "\x4e\xd5\xd4" } , { "\xb5\xe8\xcd\xda" , "\x4e\xd4\xd0" } , { "\xb5\xe8\xcd\xda\xa2" , "\x4e\xd4\xd0\xd5" } , { "\xb5\xe8\xcd\xdb" , "\x4e\xde\xd4" } , { "\xb5\xe8\xcd\xdb\xa2" , "\x4e\xde\xd5\xd4" } , { "\xb5\xe8\xcd\xdc" , "\x4e\xd4\xd1" } , { "\xb5\xe8\xcd\xdd" , "\x4e\xca\xd4" } , { "\xb5\xe8\xcd\xde" , "\x4e\xcb\xd4" } , { "\xb5\xe8\xcd\xe1" , "\xd2\x4e\xd4" } , { "\xb5\xe8\xcd\xe5" , "\xd2\x4e\xd4\xd0" } , { "\xb5\xe8\xcd\xe5\xa2" , "\xd2\x4e\xd4\xd0\xd5" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x4e\xd4\xd0" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x4e\xe7\xaf\xe7\xc6\x67" } , { "\xb5\xe8\xcf" , "\x4e\xf5" } , { "\xb5\xe8\xcf\xa2" , "\x4e\xf5\xd5" } , { "\xb5\xe8\xcf\xda" , "\x4e\xf5\xd0" } , { "\xb5\xe8\xcf\xda\xa1" , "\x4e\xf5\xdc\xd0" } , { "\xb5\xe8\xcf\xda\xa2" , "\x4e\xf5\xd0\xd5" } , { "\xb5\xe8\xcf\xdb" , "\x4e\xf5\xde" } , { "\xb5\xe8\xcf\xdb\xa2" , "\x4e\xf5\xde\xd5" } , { "\xb5\xe8\xcf\xdc" , "\x4e\xf5\xd1" } , { "\xb5\xe8\xcf\xdd" , "\x4e\xf6\xe3" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x4e\xf6\xe3\xd5" } , { "\xb5\xe8\xcf\xde" , "\x4e\xf6\xe5" } , { "\xb5\xe8\xcf\xde\xa2" , "\x4e\xf6\xe5\xd5" } , { "\xb5\xe8\xcf\xe0" , "\xd2\x4e\xf5" } , { "\xb5\xe8\xcf\xe0\xa2" , "\xd2\x4e\xf5\xd5" } , { "\xb5\xe8\xcf\xe1" , "\xd2\x4e\xf5" } , { "\xb5\xe8\xcf\xe1\xa2" , "\xd2\x4e\xf5\xd5" } , { "\xb5\xe8\xcf\xe2" , "\xd2\x4e\xf5\xdf" } , { "\xb5\xe8\xcf\xe2\xa2" , "\xd2\x4e\xf5\xdf\xd5" } , { "\xb5\xe8\xcf\xe4" , "\xd2\x4e\xf5\xd0" } , { "\xb5\xe8\xcf\xe4\xa2" , "\xd2\x4e\xf5\xd0\xd5" } , { "\xb5\xe8\xcf\xe5" , "\xd2\x4e\xf5\xd0" } , { "\xb5\xe8\xcf\xe5\xa2" , "\xd2\x4e\xf5\xd0\xd5" } , { "\xb5\xe8\xcf\xe6" , "\xd2\x4e\xf5\xd7" } , { "\xb5\xe8\xcf\xe6\xa2" , "\xd2\x4e\xf5\xd7\xd5" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x4e\xe7\x65\xe7\xfe\x58" } , { "\xb5\xe8\xd0\xa2" , "\x4e\xf5\xd5" } , { "\xb5\xe8\xd1" , "\x4e\xed" } , { "\xb5\xe8\xd1\xa2" , "\x4e\xed\xd5" } , { "\xb5\xe8\xd1\xda" , "\x4e\xed\xd0" } , { "\xb5\xe8\xd1\xda\xa2" , "\x4e\xed\xd0\xd5" } , { "\xb5\xe8\xd1\xdb" , "\x4e\xed\xde" } , { "\xb5\xe8\xd1\xdb\xa2" , "\x4e\xed\xde\xd5" } , { "\xb5\xe8\xd1\xdc" , "\x4e\xed\xd1" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x4e\xed\xd1\xd5" } , { "\xb5\xe8\xd1\xdd" , "\x4e\xee\xe3" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x4e\xee\xe3\xd5" } , { "\xb5\xe8\xd1\xde" , "\x4e\xee\xe5" } , { "\xb5\xe8\xd1\xe0" , "\xd2\x4e\xed" } , { "\xb5\xe8\xd1\xe0\xa2" , "\xd2\x4e\xed\xd5" } , { "\xb5\xe8\xd1\xe1" , "\xd2\x4e\xed" } , { "\xb5\xe8\xd1\xe1\xa2" , "\xd2\x4e\xed\xd5" } , { "\xb5\xe8\xd1\xe2" , "\xd2\x4e\xed\xdf" } , { "\xb5\xe8\xd1\xe2\xa2" , "\xd2\x4e\xed\xdf\xd5" } , { "\xb5\xe8\xd1\xe4" , "\xd2\x4e\xed\xd0" } , { "\xb5\xe8\xd1\xe5" , "\xd2\x4e\xed\xd0" } , { "\xb5\xe8\xd1\xe5\xa2" , "\xd2\x4e\xed\xd0\xd5" } , { "\xb5\xe8\xd1\xe6" , "\xd2\x4e\xed\xd7" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x4e\xd4\xe3\xd4" } , { "\xb5\xe8\xd4" , "\x4e\xe7\x67" } , { "\xb5\xe8\xd4\xda" , "\x4e\xe7\x67\xd0" } , { "\xb5\xe8\xd4\xdb" , "\x4e\xe7\x67\xde" } , { "\xb5\xe8\xd4\xdd" , "\x4e\xe7\x67\xca" } , { "\xb5\xe8\xd4\xde" , "\x4e\xe7\x67\xcb" } , { "\xb5\xe8\xd4\xe0" , "\x4e\xe7\xd2\x67" } , { "\xb5\xe8\xd4\xe1" , "\x4e\xe7\xd2\x67" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x4e\xe7\xd2\x67\xd5" } , { "\xb5\xe8\xd4\xe2" , "\x4e\xe7\xd2\x67\xdf" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x67\xd4" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x67\xd4\xd0" } , { "\xb5\xe8\xd5\xda" , "\x4e\xe7\x68\xd0" } , { "\xb5\xe8\xd5\xda\xa2" , "\x4e\xe7\x68\xd0\xd5" } , { "\xb5\xe8\xd6\xdc" , "\x4e\xe7\x69\xd1" } , { "\xb5\xe8\xd7" , "\x4e\xe7\x6a" } , { "\xb5\xe8\xd7\xda" , "\x4e\xe7\x6a\xd0" } , { "\xb5\xe8\xd7\xdc" , "\x4e\xe7\x6a\xd1" } , { "\xb5\xe8\xd7\xdd" , "\x4e\xe7\x6a\xca" } , { "\xb5\xe8\xd7\xde" , "\x4e\xe7\x6a\xcb" } , { "\xb5\xe8\xd7\xe0" , "\x4e\xe7\xd2\x6a" } , { "\xb5\xe8\xd7\xe2" , "\x4e\xe7\xd2\x6a\xdf" } , { "\xb5\xe8\xd7\xe5" , "\x4e\xe7\xd2\x6a\xd0" } , { "\xb5\xe8\xd7\xe8" , "\x4e\xe7\x6a\xe7" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x4e\xe7\x6a\xe7\x4e\xd0" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x4e\xe7\x6a\xe7\x56" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x4e\xe7\x6a\xe7\x56\xd5" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x4e\xe7\x6a\xe7\x56\xd0" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x4e\xe7\x6a\xe7\xd2\x56" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x4e\xe7\x6a\xe7\xd2\x56\xd7" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x4e\xe7\x6a\xe7\x56\xe7\x60\xe7\xb2\xca\xc6" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4e\xe7\x6a\xe7\x56\xf6\xd0" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x4e\xe7\xd2\xaa\xc6\xd4" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x4e\xe7\x6a\xe7\x5d" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\x4e\xe7\x6a\xef\xde" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x4e\xe7\x6a\xf0\xe3" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x4e\xe7\xb8\xa4\xd0" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\x4e\xe7\xb8\xde\xa4" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\x4e\xe7\x6a\xed\xde" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x4e\xe7\xd2\x6a\xed\xd0" } , { "\xb5\xe8\xd8" , "\x4e\xe7\x6b\xfe" } , { "\xb5\xe8\xd8\xda" , "\x4e\xe7\x6b\xfe\xd0" } , { "\xb5\xe8\xd8\xdb" , "\x4e\xe7\x6b\xde\xfe" } , { "\xb5\xe8\xd8\xdc" , "\x4e\xe7\x6b\xfe\xd1" } , { "\xb5\xe8\xd8\xe0" , "\x4e\xe7\xd2\x6b\xfe" } , { "\xb5\xe8\xd8\xe4" , "\x4e\xe7\xd2\x6b\xfe\xd0" } , { "\xb5\xe8\xd8\xe5" , "\x4e\xe7\xd2\x6b\xfe\xd0" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x4e\xe7\xd2\x6b\xfe\xd0\xd5" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x6b\xfe\xd4\xd0\xd5" } , { "\xb5\xe8\xd9\xa6" , "\x4e\xe7\x42" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x4e\xe7\x6a\xe0" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x4e\xe7\x67\xde" } , { "\xb5\xe8\xe8" , "\x4e\xe7" } , { "\xb5\xe8\xe9\xcf" , "\x4e\xe7\x65\xfe" } , { "\xb5\xe9" , "\x4e" } , { "\xb5\xe9\xda" , "\x4e\xd0" } , { "\xb5\xe9\xdb" , "\x4e\xde" } , { "\xb5\xe9\xdd" , "\x4e\xca" } , { "\xb5\xe9\xe2" , "\xd2\x4e\xdf" } , { "\xb5\xe9\xe5\xa2" , "\xd2\x4e\xd0\xd5" } , { "\xb5\xe9\xe6" , "\xd2\x4e\xd7" } , { "\xb6" , "\x4f" } , { "\xb6\xa2" , "\x4f\xd5" } , { "\xb6\xa2\xa2" , "\x4f\xd5\xd5" } , { "\xb6\xa3" , "\x4f\xd3" } , { "\xb6\xd0" , "\x4f\x65\xfe" } , { "\xb6\xda" , "\x4f\xd0" } , { "\xb6\xda\xa2" , "\x4f\xd0\xd5" } , { "\xb6\xdb" , "\x4f\xde" } , { "\xb6\xdb\xa2" , "\x4f\xde\xd5" } , { "\xb6\xdc" , "\x4f\xd1" } , { "\xb6\xdc\xa2" , "\x4f\xd1\xd5" } , { "\xb6\xdd" , "\x4f\xca" } , { "\xb6\xdd\xa1" , "\x4f\xca\xdc" } , { "\xb6\xdd\xa2" , "\x4f\xca\xd5" } , { "\xb6\xdd\xa3" , "\x4f\xca\xd3" } , { "\xb6\xde" , "\x4f\xcb" } , { "\xb6\xde\xa1" , "\x4f\xcb\xdc" } , { "\xb6\xde\xa2" , "\x4f\xcb\xd5" } , { "\xb6\xdf" , "\x4f\xf3" } , { "\xb6\xe0" , "\xd2\x4f" } , { "\xb6\xe1" , "\xd2\x4f" } , { "\xb6\xe1\xa2" , "\xd2\x4f\xd5" } , { "\xb6\xe2" , "\xd2\x4f\xdf" } , { "\xb6\xe2\xa3" , "\xd2\x4f\xdf\xd3" } , { "\xb6\xe4" , "\xd2\x4f\xd0" } , { "\xb6\xe5" , "\xd2\x4f\xd0" } , { "\xb6\xe5\xa2" , "\xd2\x4f\xd0\xd5" } , { "\xb6\xe6" , "\xd2\x4f\xd7" } , { "\xb6\xe6\xa2" , "\xd2\x4f\xd7\xd5" } , { "\xb6\xe8" , "\x4f\xe7" } , { "\xb6\xe8\xb3\xde" , "\x4f\xe7\x4c\xcb" } , { "\xb6\xe8\xb6" , "\x4f\xe7\x4f" } , { "\xb6\xe8\xb6\xdc" , "\x4f\xe7\x4f\xd1" } , { "\xb6\xe8\xb6\xde" , "\x4f\xe7\x4f\xcb" } , { "\xb6\xe8\xb8\xe1" , "\x4f\xe7\xd2\x51" } , { "\xb6\xe8\xc1\xda" , "\x4f\xe7\x5a\xd0" } , { "\xb6\xe8\xc1\xdb" , "\x4f\xe7\x5a\xde" } , { "\xb6\xe8\xc2" , "\x4f\xf1" } , { "\xb6\xe8\xc4" , "\x4f\xe7\x5d" } , { "\xb6\xe8\xc6" , "\x4f\xef" } , { "\xb6\xe8\xc6\xa2" , "\x4f\xef\xd5" } , { "\xb6\xe8\xc6\xa3" , "\x4f\xef\xd3" } , { "\xb6\xe8\xc6\xda" , "\x4f\xef\xd0" } , { "\xb6\xe8\xc6\xdb" , "\x4f\xef\xde" } , { "\xb6\xe8\xc6\xdc" , "\x4f\xef\xd1" } , { "\xb6\xe8\xc6\xdd" , "\x4f\xf0\xe3" } , { "\xb6\xe8\xc6\xe1" , "\xd2\x4f\xef" } , { "\xb6\xe8\xc6\xe5" , "\xd2\x4f\xef\xd0" } , { "\xb6\xe8\xcd" , "\x4f\xd4" } , { "\xb6\xe8\xcd\xda" , "\x4f\xd4\xd0" } , { "\xb6\xe8\xcd\xe5" , "\xd2\x4f\xd4\xd0" } , { "\xb6\xe8\xcd\xe6" , "\xd2\x4f\xd4\xd7" } , { "\xb6\xe8\xcf" , "\x4f\xf5" } , { "\xb6\xe8\xcf\xa2" , "\x4f\xf5\xd5" } , { "\xb6\xe8\xcf\xda" , "\x4f\xf5\xd0" } , { "\xb6\xe8\xcf\xda\xa2" , "\x4f\xf5\xd0\xd5" } , { "\xb6\xe8\xcf\xdb" , "\x4f\xf5\xde" } , { "\xb6\xe8\xcf\xdd" , "\x4f\xf6\xe3" } , { "\xb6\xe8\xcf\xe5\xa2" , "\xd2\x4f\xf5\xd0\xd5" } , { "\xb6\xe8\xd1" , "\x4f\xed" } , { "\xb6\xe8\xd4" , "\x4f\xe7\x67" } , { "\xb6\xe8\xd4\xa2" , "\x4f\xe7\x67\xd5" } , { "\xb6\xe8\xd4\xda" , "\x4f\xe7\x67\xd0" } , { "\xb6\xe8\xe8" , "\x4f\xe7" } , { "\xb6\xe8\xe9\xcf" , "\x4f\xe7\x65\xfe" } , { "\xb6\xe9" , "\x4f" } , { "\xb7" , "\x50\xbc" } , { "\xb7\xa2" , "\x50\xbc\xbc\xd5" } , { "\xb7\xa3" , "\x50\xbc\xbc" } , { "\xb7\xda" , "\x50\xbc\xd0" } , { "\xb7\xdb" , "\x50\xde\xbc" } , { "\xb7\xdb\xa2" , "\x50\xde\xbc\xbc\xd5" } , { "\xb7\xdc" , "\x50\xbc\xd1" } , { "\xb7\xdd" , "\x50\xca\xbc" } , { "\xb7\xde" , "\x50\xcb\xbc" } , { "\xb7\xdf" , "\x50\xf3\xbc" } , { "\xb7\xe0" , "\xd2\x50\xbc" } , { "\xb7\xe1" , "\xd2\x50\xbc" } , { "\xb7\xe1\xa2" , "\xd2\x50\xbc\xbc\xbc\xd5" } , { "\xb7\xe2" , "\xd2\x50\xdf\xbc" } , { "\xb7\xe4" , "\xd2\x50\xbc\xd0" } , { "\xb7\xe5" , "\xd2\x50\xbc\xd0" } , { "\xb7\xe6" , "\xd2\x50\xbc\xd7" } , { "\xb7\xe8" , "\x50\xe7\xbc" } , { "\xb7\xe8\xb3" , "\x2a\xbc" } , { "\xb7\xe8\xb3\xda" , "\x2a\xbc\xd0" } , { "\xb7\xe8\xb3\xdb" , "\x2a\xde\xbc" } , { "\xb7\xe8\xb3\xe5" , "\xd2\x2a\xbc\xd0" } , { "\xb7\xe8\xb5" , "\x3d\xbc" } , { "\xb7\xe8\xb5\xda" , "\x3d\xbc\xd0" } , { "\xb7\xe8\xb5\xdb" , "\x3d\xde\xbc" } , { "\xb7\xe8\xb5\xdc" , "\x3d\xbc\xd1" } , { "\xb7\xe8\xb5\xe5\xa2" , "\xd2\x3d\xbc\xd0\xd5" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x3d\xf5\xbc\xd0" } , { "\xb7\xe8\xb6" , "\x2b\xbc" } , { "\xb7\xe8\xb6\xda" , "\x2b\xbc\xd0" } , { "\xb7\xe8\xb6\xdb" , "\x2b\xde\xbc" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x50\xe7\xbc\x56\xe7\x4e" } , { "\xb7\xe8\xc4" , "\x50\xe7\xbc\x5d" } , { "\xb7\xe8\xc6" , "\x50\xf0\xbc" } , { "\xb7\xe8\xc6\xda" , "\x50\xf0\xbc\xd0" } , { "\xb7\xe8\xc6\xdb" , "\x50\xf0\xde\xbc" } , { "\xb7\xe8\xc6\xdd" , "\x50\xf0\xe3\xbc" } , { "\xb7\xe8\xc6\xde" , "\x50\xf0\xe5\xbc" } , { "\xb7\xe8\xc9\xe5" , "\x50\xe7\xbc\xd2\x24\xbc\xd0" } , { "\xb7\xe8\xcc" , "\x50\xeb\xbc" } , { "\xb7\xe8\xcc\xa2" , "\x50\xeb\xd5\xbc" } , { "\xb7\xe8\xcc\xda" , "\x50\xeb\xbc\xd0" } , { "\xb7\xe8\xcc\xdd" , "\x50\xeb\xe3\xbc" } , { "\xb7\xe8\xcc\xde" , "\x50\xeb\xe5\xbc" } , { "\xb7\xe8\xcd" , "\x50\xbc\xd4" } , { "\xb7\xe8\xcf" , "\x50\xf6\xbc" } , { "\xb7\xe8\xcf\xdc" , "\x50\xf6\xbc\xd1" } , { "\xb7\xe8\xd8\xda" , "\x50\xe7\xbc\x6b\xfe\xd0" } , { "\xb7\xe8\xe8" , "\x50\xe7\xbc" } , { "\xb8" , "\x51" } , { "\xb8\xa1" , "\x51\xdc" } , { "\xb8\xa2" , "\x51\xd5" } , { "\xb8\xa3" , "\x51\xd3" } , { "\xb8\xda" , "\x51\xd0" } , { "\xb8\xda\xa1" , "\x51\xdc\xd0" } , { "\xb8\xda\xa2" , "\x51\xd0\xd5" } , { "\xb8\xdb" , "\x51\xde" } , { "\xb8\xdb\xa2" , "\x51\xde\xd5" } , { "\xb8\xdc" , "\x51\xd1" } , { "\xb8\xdc\xa2" , "\x51\xd1\xd5" } , { "\xb8\xdd" , "\x51\xca" } , { "\xb8\xdd\xa1" , "\x51\xca\xdc" } , { "\xb8\xdd\xa2" , "\x51\xca\xd5" } , { "\xb8\xde" , "\x51\xcb" } , { "\xb8\xde\xa1" , "\x51\xcb\xdc" } , { "\xb8\xde\xa2" , "\x51\xcb\xd5" } , { "\xb8\xdf" , "\x51\xf3" } , { "\xb8\xe0" , "\xd2\x51" } , { "\xb8\xe0\xa2" , "\xd2\x51\xd5" } , { "\xb8\xe1" , "\xd2\x51" } , { "\xb8\xe1\xa2" , "\xd2\x51\xd5" } , { "\xb8\xe2" , "\xd2\x51\xdf" } , { "\xb8\xe2\xa2" , "\xd2\x51\xdf\xd5" } , { "\xb8\xe3" , "\xd2\x51" } , { "\xb8\xe4" , "\xd2\x51\xd0" } , { "\xb8\xe4\xa2" , "\xd2\x51\xd0\xd5" } , { "\xb8\xe4\xd0\xe8" , "\xd2\x51\xd0\x65\xe7\xfe" } , { "\xb8\xe5" , "\xd2\x51\xd0" } , { "\xb8\xe5\xa2" , "\xd2\x51\xd0\xd5" } , { "\xb8\xe6" , "\xd2\x51\xd7" } , { "\xb8\xe6\xa2" , "\xd2\x51\xd7\xd5" } , { "\xb8\xe7" , "\xd2\x51\xd0" } , { "\xb8\xe8" , "\x51\xe7" } , { "\xb8\xe8\xb3" , "\x51\xe7\x4c" } , { "\xb8\xe8\xb3\xa2" , "\x51\xe7\x4c\xd5" } , { "\xb8\xe8\xb3\xdb" , "\x51\xe7\x4c\xde" } , { "\xb8\xe8\xb3\xdd" , "\x51\xe7\x4c\xca" } , { "\xb8\xe8\xb3\xe4" , "\x51\xe7\xd2\x4c\xd0" } , { "\xb8\xe8\xb3\xe5" , "\x51\xe7\xd2\x4c\xd0" } , { "\xb8\xe8\xb5" , "\x51\xe7\x4e" } , { "\xb8\xe8\xb8" , "\x6e" } , { "\xb8\xe8\xb8\xa2" , "\x6e\xd5" } , { "\xb8\xe8\xb8\xda" , "\x6e\xd0" } , { "\xb8\xe8\xb8\xda\xa2" , "\x6e\xd0\xd5" } , { "\xb8\xe8\xb8\xdb" , "\x6e\xde" } , { "\xb8\xe8\xb8\xdb\xa2" , "\x6e\xde\xd5" } , { "\xb8\xe8\xb8\xdc" , "\x6e\xd1" } , { "\xb8\xe8\xb8\xdd" , "\x6e\xca" } , { "\xb8\xe8\xb8\xdd\xa2" , "\x6e\xca\xd5" } , { "\xb8\xe8\xb8\xde" , "\x6e\xcb" } , { "\xb8\xe8\xb8\xe0" , "\xd2\x6e" } , { "\xb8\xe8\xb8\xe0\xa2" , "\xd2\x6e\xd5" } , { "\xb8\xe8\xb8\xe1" , "\xd2\x6e" } , { "\xb8\xe8\xb8\xe1\xa2" , "\xd2\x6e\xd5" } , { "\xb8\xe8\xb8\xe2" , "\xd2\x6e\xdf" } , { "\xb8\xe8\xb8\xe2\xa2" , "\xd2\x6e\xdf\xd5" } , { "\xb8\xe8\xb8\xe4" , "\xd2\x6e\xd0" } , { "\xb8\xe8\xb8\xe4\xa2" , "\xd2\x6e\xd0\xd5" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\xd2\x6e\xd0\x65\xe7\xfe" } , { "\xb8\xe8\xb8\xe5" , "\xd2\x6e\xd0" } , { "\xb8\xe8\xb8\xe5\xa2" , "\xd2\x6e\xd0\xd5" } , { "\xb8\xe8\xb8\xe6" , "\xd2\x6e\xd7" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\x6e\xf5\xd1" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\x6e\xf6\xe3" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\x51\xe7\x51\xe7\x67\xd0" } , { "\xb8\xe8\xb9" , "\x6f" } , { "\xb8\xe8\xb9\xa2" , "\x6f\xd5" } , { "\xb8\xe8\xb9\xda" , "\x6f\xd0" } , { "\xb8\xe8\xb9\xda\xa2" , "\x6f\xd0\xd5" } , { "\xb8\xe8\xb9\xdb" , "\x6f\xde" } , { "\xb8\xe8\xb9\xdb\xa2" , "\x6f\xde\xd5" } , { "\xb8\xe8\xb9\xdc" , "\x6f\xd1" } , { "\xb8\xe8\xb9\xdd" , "\x6f\xca" } , { "\xb8\xe8\xb9\xdd\xa2" , "\x6f\xca\xd5" } , { "\xb8\xe8\xb9\xde" , "\x6f\xcb" } , { "\xb8\xe8\xb9\xdf" , "\x6f\xf3" } , { "\xb8\xe8\xb9\xdf\xa2" , "\x6f\xf3\xd5" } , { "\xb8\xe8\xb9\xe0" , "\xd2\x6f" } , { "\xb8\xe8\xb9\xe1" , "\xd2\x6f" } , { "\xb8\xe8\xb9\xe5" , "\xd2\x6f\xd0" } , { "\xb8\xe8\xb9\xe5\xa2" , "\xd2\x6f\xd0\xd5" } , { "\xb8\xe8\xb9\xe6" , "\xd2\x6f\xd7" } , { "\xb8\xe8\xb9\xe8" , "\x6f\xe7" } , { "\xb8\xe8\xb9\xe8\xa2" , "\x6f\xe7\xd5" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\x51\xe7\x52\xe7\x77" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\x6f\xea\xd1" } , { "\xb8\xe8\xb9\xe8\xcf" , "\x6f\xf5" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\x6f\xf5\xd0" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\x6f\xf6\xe3" } , { "\xb8\xe8\xb9\xe8\xd1" , "\x6f\xed" } , { "\xb8\xe8\xb9\xe8\xd4" , "\x51\xe7\x52\xe7\x67" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\x51\xe7\x52\xe7\x67\xd0" } , { "\xb8\xe8\xbd" , "\x51\xe7\x56" } , { "\xb8\xe8\xbd\xdb" , "\x51\xe7\x56\xde" } , { "\xb8\xe8\xbd\xdb\xa2" , "\x51\xe7\x56\xde\xd5" } , { "\xb8\xe8\xbd\xe1" , "\x51\xe7\xd2\x56" } , { "\xb8\xe8\xbd\xe2" , "\x51\xe7\xd2\x56\xdf" } , { "\xb8\xe8\xbf\xdb" , "\x51\xe7\x58\xde" } , { "\xb8\xe8\xbf\xe8" , "\x51\xe7\x58\xe7" } , { "\xb8\xe8\xc2" , "\x51\xf2" } , { "\xb8\xe8\xc2\xe1\xa2" , "\xd2\x51\xf2\xd5" } , { "\xb8\xe8\xc3" , "\x51\xe7\x5c" } , { "\xb8\xe8\xc4\xdb" , "\x51\xe7\x5d\xde" } , { "\xb8\xe8\xc6" , "\x51\xf0" } , { "\xb8\xe8\xc6\xa2" , "\x51\xf0\xd5" } , { "\xb8\xe8\xc6\xdb" , "\x51\xf0\xde" } , { "\xb8\xe8\xc6\xdd" , "\x51\xf0\xe3" } , { "\xb8\xe8\xc6\xe4" , "\xd2\x51\xf0\xd0" } , { "\xb8\xe8\xc8" , "\x51\xe7\x60" } , { "\xb8\xe8\xc8\xe0" , "\x51\xe7\xd2\x60" } , { "\xb8\xe8\xc8\xe8\xcf" , "\x51\xe7\x60\xf5" } , { "\xb8\xe8\xca\xda" , "\x51\xe9\xd0" } , { "\xb8\xe8\xca\xdd" , "\x51\xe9\xe3" } , { "\xb8\xe8\xca\xe5" , "\xd2\x51\xe9\xd0" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\xd2\x51\xe9\xe2\xd5" } , { "\xb8\xe8\xcc" , "\x51\xeb" } , { "\xb8\xe8\xcc\xdc" , "\x51\xeb\xd1" } , { "\xb8\xe8\xcc\xe0" , "\xd2\x51\xeb" } , { "\xb8\xe8\xcc\xe0\xa2" , "\xd2\x51\xeb\xd5" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\x51\xe7\xd2\x63\xf7" } , { "\xb8\xe8\xcd" , "\x51\xd4" } , { "\xb8\xe8\xcd\xa2" , "\x51\xd5\xd4" } , { "\xb8\xe8\xcd\xda" , "\x51\xd4\xd0" } , { "\xb8\xe8\xcd\xda\xa2" , "\x51\xd4\xd0\xd5" } , { "\xb8\xe8\xcd\xdd" , "\x51\xca\xd4" } , { "\xb8\xe8\xcd\xde" , "\x51\xcb\xd4" } , { "\xb8\xe8\xcd\xde\xa2" , "\x51\xcb\xd5\xd4" } , { "\xb8\xe8\xcd\xe5" , "\xd2\x51\xd4\xd0" } , { "\xb8\xe8\xcd\xe6" , "\xd2\x51\xd4\xd7" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x51\xd4" } , { "\xb8\xe8\xcf" , "\x51\xf6" } , { "\xb8\xe8\xcf\xda" , "\x51\xf6\xd0" } , { "\xb8\xe8\xcf\xdb" , "\x51\xf6\xde" } , { "\xb8\xe8\xcf\xdc" , "\x51\xf6\xd1" } , { "\xb8\xe8\xcf\xde" , "\x51\xf6\xe5" } , { "\xb8\xe8\xcf\xde\xa2" , "\x51\xf6\xe5\xd5" } , { "\xb8\xe8\xcf\xe5" , "\xd2\x51\xf6\xd0" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x51\xe7\x65\xe7\xfe\x52" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x51\xe7\x65\xe7\xfe\x52\xd0" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\x51\xe7\x65\xe7\xfe\x52\xde" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x51\xf6\xd4" } , { "\xb8\xe8\xd1" , "\x51\xee" } , { "\xb8\xe8\xd1\xda" , "\x51\xee\xd0" } , { "\xb8\xe8\xd1\xdb" , "\x51\xee\xde" } , { "\xb8\xe8\xd1\xdc" , "\x51\xee\xd1" } , { "\xb8\xe8\xd1\xdd" , "\x51\xee\xe3" } , { "\xb8\xe8\xd1\xde" , "\x51\xee\xe5" } , { "\xb8\xe8\xd1\xe5" , "\xd2\x51\xee\xd0" } , { "\xb8\xe8\xd4" , "\x51\xe7\x67" } , { "\xb8\xe8\xd4\xda" , "\x51\xe7\x67\xd0" } , { "\xb8\xe8\xd4\xda\xa2" , "\x51\xe7\x67\xd0\xd5" } , { "\xb8\xe8\xd4\xe1" , "\x51\xe7\xd2\x67" } , { "\xb8\xe8\xd4\xe2" , "\x51\xe7\xd2\x67\xdf" } , { "\xb8\xe8\xd7" , "\x51\xe7\x6a" } , { "\xb8\xe8\xd7\xe1" , "\x51\xe7\xd2\x6a" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\x51\xe7\x6a\xe7\x56\xde" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x51\xe7\x6a\xe7\xd2\x56\xd0" } , { "\xb8\xe8\xd8" , "\x51\xe7\x6b\xfe" } , { "\xb8\xe8\xd8\xda" , "\x51\xe7\x6b\xfe\xd0" } , { "\xb8\xe8\xd8\xe6" , "\x51\xe7\xd2\x6b\xfe\xd7" } , { "\xb8\xe8\xd9\xa6" , "\x51\xe7\x42" } , { "\xb8\xe8\xe8" , "\x51\xe7" } , { "\xb8\xe8\xe9\xcf" , "\x51\xe7\x65\xfe" } , { "\xb8\xe9" , "\x51\xcf" } , { "\xb9" , "\x52" } , { "\xb9\xa1" , "\x52\xdc" } , { "\xb9\xa2" , "\x52\xd5" } , { "\xb9\xa3" , "\x52\xd3" } , { "\xb9\xce\xb4" , "\x52\x64\x4d" } , { "\xb9\xd9\xc5" , "\x52\x5e" } , { "\xb9\xd9\xd1" , "\x52\x6d\xfe" } , { "\xb9\xda" , "\x52\xd0" } , { "\xb9\xda\xa1" , "\x52\xdc\xd0" } , { "\xb9\xda\xa2" , "\x52\xd0\xd5" } , { "\xb9\xdb" , "\x52\xde" } , { "\xb9\xdb\xa2" , "\x52\xde\xd5" } , { "\xb9\xdc" , "\x52\xd1" } , { "\xb9\xdc\xa2" , "\x52\xd1\xd5" } , { "\xb9\xdd" , "\x52\xca" } , { "\xb9\xdd\xa2" , "\x52\xca\xd5" } , { "\xb9\xde" , "\x52\xcb" } , { "\xb9\xde\xa1" , "\x52\xcb\xdc" } , { "\xb9\xde\xa2" , "\x52\xcb\xd5" } , { "\xb9\xdf" , "\x52\xf3" } , { "\xb9\xe0" , "\xd2\x52" } , { "\xb9\xe0\xa2" , "\xd2\x52\xd5" } , { "\xb9\xe1" , "\xd2\x52" } , { "\xb9\xe1\xa2" , "\xd2\x52\xd5" } , { "\xb9\xe2" , "\xd2\x52\xdf" } , { "\xb9\xe2\xa2" , "\xd2\x52\xdf\xd5" } , { "\xb9\xe4" , "\xd2\x52\xd0" } , { "\xb9\xe5" , "\xd2\x52\xd0" } , { "\xb9\xe5\xa2" , "\xd2\x52\xd0\xd5" } , { "\xb9\xe6" , "\xd2\x52\xd7" } , { "\xb9\xe6\xa2" , "\xd2\x52\xd7\xd5" } , { "\xb9\xe8" , "\x52\xe7" } , { "\xb9\xe8\xb8" , "\x52\xe7\x51" } , { "\xb9\xe8\xb9" , "\x52\xe7\x52" } , { "\xb9\xe8\xb9\xda" , "\x52\xe7\x52\xd0" } , { "\xb9\xe8\xc2\xda" , "\x52\xf2\xd0" } , { "\xb9\xe8\xc4" , "\x52\xe7\x5d" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x52\xf0\xe3\xd5" } , { "\xb9\xe8\xc8\xda" , "\x52\xe7\x60\xd0" } , { "\xb9\xe8\xcd\xda" , "\x52\xd4\xd0" } , { "\xb9\xe8\xcd\xe1" , "\xd2\x52\xd4" } , { "\xb9\xe8\xd4\xda" , "\x52\xe7\x67\xd0" } , { "\xb9\xe8\xe8" , "\x52\xe7" } , { "\xb9\xe9" , "\x52" } , { "\xba" , "\x53" } , { "\xba\xa1" , "\x53\xdc" } , { "\xba\xa2" , "\x53\xd5" } , { "\xba\xa2\xa2" , "\x53\xd5\xd5" } , { "\xba\xa3" , "\x53\xd3" } , { "\xba\xd9\xc5" , "\x53\x5e" } , { "\xba\xda" , "\x53\xd0" } , { "\xba\xda\xa1" , "\x53\xdc\xd0" } , { "\xba\xda\xa2" , "\x53\xd0\xd5" } , { "\xba\xda\xa3" , "\x53\xd0\xd3" } , { "\xba\xdb" , "\x53\xde" } , { "\xba\xdb\xa2" , "\x53\xde\xd5" } , { "\xba\xdc" , "\x53\xd1" } , { "\xba\xdc\xa2" , "\x53\xd1\xd5" } , { "\xba\xdd" , "\x53\xca" } , { "\xba\xdd\xa2" , "\x53\xca\xd5" } , { "\xba\xdd\xa3" , "\x53\xca\xd3" } , { "\xba\xde" , "\x53\xcb" } , { "\xba\xde\xa1" , "\x53\xcb\xdc" } , { "\xba\xde\xa2" , "\x53\xcb\xd5" } , { "\xba\xdf" , "\x53\xf3" } , { "\xba\xdf\xa2" , "\x53\xf3\xd5" } , { "\xba\xe0" , "\xd2\x53" } , { "\xba\xe0\xa2" , "\xd2\x53\xd5" } , { "\xba\xe1" , "\xd2\x53" } , { "\xba\xe1\xa2" , "\xd2\x53\xd5" } , { "\xba\xe2" , "\xd2\x53\xdf" } , { "\xba\xe2\xa2" , "\xd2\x53\xdf\xd5" } , { "\xba\xe3" , "\xd2\x53" } , { "\xba\xe4" , "\xd2\x53\xd0" } , { "\xba\xe4\xa2" , "\xd2\x53\xd0\xd5" } , { "\xba\xe5" , "\xd2\x53\xd0" } , { "\xba\xe5\xa2" , "\xd2\x53\xd0\xd5" } , { "\xba\xe6" , "\xd2\x53\xd7" } , { "\xba\xe7" , "\xd2\x53\xd0" } , { "\xba\xe8" , "\x53\xe7" } , { "\xba\xe8\xb3" , "\x53\xe7\x4c" } , { "\xba\xe8\xb3\xda" , "\x53\xe7\x4c\xd0" } , { "\xba\xe8\xb3\xdb" , "\x53\xe7\x4c\xde" } , { "\xba\xe8\xb3\xdc" , "\x53\xe7\x4c\xd1" } , { "\xba\xe8\xb3\xdd" , "\x53\xe7\x4c\xca" } , { "\xba\xe8\xb3\xe1" , "\x53\xe7\xd2\x4c" } , { "\xba\xe8\xb3\xe2" , "\x53\xe7\xd2\x4c\xdf" } , { "\xba\xe8\xb3\xe5" , "\x53\xe7\xd2\x4c\xd0" } , { "\xba\xe8\xb3\xe8\xbd" , "\x53\xe7\x90\xc6" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x53\xe7\xd2\xb5\xee\xc6\xd0" } , { "\xba\xe8\xb4\xda" , "\x53\xe7\x4d\xd0" } , { "\xba\xe8\xb5" , "\x53\xe7\x4e" } , { "\xba\xe8\xb5\xa2" , "\x53\xe7\x4e\xd5" } , { "\xba\xe8\xb5\xda" , "\x53\xe7\x4e\xd0" } , { "\xba\xe8\xb5\xda\xa2" , "\x53\xe7\x4e\xd0\xd5" } , { "\xba\xe8\xb5\xe1" , "\x53\xe7\xd2\x4e" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x53\xe7\x4e\xf5\xd0" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x53\xe7\xd2\x4e\xf5" } , { "\xba\xe8\xb6" , "\x53\xe7\x4f" } , { "\xba\xe8\xb6\xda" , "\x53\xe7\x4f\xd0" } , { "\xba\xe8\xb8\xda" , "\x53\xe7\x51\xd0" } , { "\xba\xe8\xb8\xdd" , "\x53\xe7\x51\xca" } , { "\xba\xe8\xb8\xe1" , "\x53\xe7\xd2\x51" } , { "\xba\xe8\xba" , "\xb3\xc6" } , { "\xba\xe8\xba\xa2" , "\xb3\xd6\xc6" } , { "\xba\xe8\xba\xda" , "\xb3\xc6\xd0" } , { "\xba\xe8\xba\xdb" , "\xb3\xde\xc6" } , { "\xba\xe8\xba\xdc" , "\xb3\xc6\xd1" } , { "\xba\xe8\xba\xdd" , "\xb3\xca\xc6" } , { "\xba\xe8\xba\xde" , "\xb3\xcb\xc6" } , { "\xba\xe8\xba\xdf\xa2" , "\xb3\xf4\xd6\xc6" } , { "\xba\xe8\xba\xe0" , "\xd2\xb3\xc6" } , { "\xba\xe8\xba\xe1" , "\xd2\xb3\xc6" } , { "\xba\xe8\xba\xe2" , "\xd2\xb3\xdf\xc6" } , { "\xba\xe8\xba\xe5" , "\xd2\xb3\xc6\xd0" } , { "\xba\xe8\xba\xe5\xa2" , "\xd2\xb3\xc6\xd0\xd6" } , { "\xba\xe8\xba\xe8" , "\xb3\xe7\xc6" } , { "\xba\xe8\xba\xe8\xcd" , "\xb3\xc6\xd4" } , { "\xba\xe8\xba\xe8\xd4" , "\x53\xe7\x53\xe7\x67" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x53\xe7\x53\xe7\xd2\x67" } , { "\xba\xe8\xba\xe9" , "\xb3\xc6" } , { "\xba\xe8\xba\xe9\xdb" , "\xb3\xde\xc6" } , { "\xba\xe8\xbb" , "\x53\xe7\x54\xfe" } , { "\xba\xe8\xbb\xda" , "\x53\xe7\x54\xfe\xd0" } , { "\xba\xe8\xbb\xdb" , "\x53\xe7\x54\xde\xfe" } , { "\xba\xe8\xbb\xdc" , "\x53\xe7\x54\xfe\xd1" } , { "\xba\xe8\xbb\xdd" , "\x53\xe7\x54\xca\xfe" } , { "\xba\xe8\xbb\xde" , "\x53\xe7\x54\xcb\xfe" } , { "\xba\xe8\xbb\xe1" , "\x53\xe7\xd2\x54\xfe" } , { "\xba\xe8\xbb\xe8\xd4" , "\x53\xe7\x54\xe7\xfe\x67" } , { "\xba\xe8\xbc" , "\x73" } , { "\xba\xe8\xbc\xa2" , "\x73\xd5" } , { "\xba\xe8\xbc\xa3" , "\x73\xd3" } , { "\xba\xe8\xbc\xda" , "\x73\xd0" } , { "\xba\xe8\xbc\xda\xa2" , "\x73\xd0\xd5" } , { "\xba\xe8\xbc\xdb" , "\x73\xde" } , { "\xba\xe8\xbc\xdc" , "\x73\xd1" } , { "\xba\xe8\xbc\xdd" , "\x73\xca" } , { "\xba\xe8\xbc\xe0" , "\xd2\x73" } , { "\xba\xe8\xbc\xe1" , "\xd2\x73" } , { "\xba\xe8\xbc\xe2\xa3" , "\xd2\x73\xdf\xd3" } , { "\xba\xe8\xbc\xe5" , "\xd2\x73\xd0" } , { "\xba\xe8\xbc\xe5\xa2" , "\xd2\x73\xd0\xd5" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x73\xef\xd0" } , { "\xba\xe8\xbc\xe8\xcc" , "\x73\xea" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x73\xea\xd0" } , { "\xba\xe8\xbc\xe8\xcd" , "\x73\xd4" } , { "\xba\xe8\xbd\xda" , "\x53\xe7\x56\xd0" } , { "\xba\xe8\xbd\xdd" , "\x53\xe7\x56\xca" } , { "\xba\xe8\xbd\xe0" , "\x53\xe7\xd2\x56" } , { "\xba\xe8\xbd\xe5" , "\x53\xe7\xd2\x56\xd0" } , { "\xba\xe8\xbe" , "\x53\xe7\x57" } , { "\xba\xe8\xbe\xdd" , "\x53\xe7\x57\xca" } , { "\xba\xe8\xbe\xe5" , "\x53\xe7\xd2\x57\xd0" } , { "\xba\xe8\xbf" , "\x53\xe7\x58" } , { "\xba\xe8\xbf\xda" , "\x53\xe7\x58\xd0" } , { "\xba\xe8\xbf\xdb" , "\x53\xe7\x58\xde" } , { "\xba\xe8\xbf\xdd" , "\x53\xe7\x58\xca" } , { "\xba\xe8\xbf\xe1" , "\x53\xe7\xd2\x58" } , { "\xba\xe8\xbf\xe2" , "\x53\xe7\xd2\x58\xdf" } , { "\xba\xe8\xbf\xe8" , "\x53\xe7\x58\xe7" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x53\xe7\x58\xe7\x55\xd0" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x53\xe7\xd2\x58\xf0" } , { "\xba\xe8\xbf\xe9" , "\x53\xe7\x58" } , { "\xba\xe8\xc0" , "\x53\xe7\x59" } , { "\xba\xe8\xc0\xa2" , "\x53\xe7\x59\xd5" } , { "\xba\xe8\xc0\xda" , "\x53\xe7\x59\xd0" } , { "\xba\xe8\xc0\xdb" , "\x53\xe7\x59\xde" } , { "\xba\xe8\xc0\xdd" , "\x53\xe7\x59\xca" } , { "\xba\xe8\xc0\xe1" , "\x53\xe7\xd2\x59" } , { "\xba\xe8\xc0\xe5" , "\x53\xe7\xd2\x59\xd0" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x53\xe7\x59\xe7\x55\xd0" } , { "\xba\xe8\xc2" , "\x53\xf1" } , { "\xba\xe8\xc2\xe5" , "\xd2\x53\xf1\xd0" } , { "\xba\xe8\xc2\xe8\xcf" , "\x53\xf1\xcd" } , { "\xba\xe8\xc4" , "\x53\xe7\x5d" } , { "\xba\xe8\xc4\xda" , "\x53\xe7\x5d\xd0" } , { "\xba\xe8\xc4\xdb" , "\x53\xe7\x5d\xde" } , { "\xba\xe8\xc4\xde" , "\x53\xe7\x5d\xcb" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x53\xe7\x5d\xf6\xe5" } , { "\xba\xe8\xc6" , "\x53\xef" } , { "\xba\xe8\xc6\xda" , "\x53\xef\xd0" } , { "\xba\xe8\xc6\xdb" , "\x53\xef\xde" } , { "\xba\xe8\xc6\xdc" , "\x53\xef\xd1" } , { "\xba\xe8\xc6\xdd" , "\x53\xf0\xe3" } , { "\xba\xe8\xc6\xdd\xa2" , "\x53\xf0\xe3\xd5" } , { "\xba\xe8\xc6\xde" , "\x53\xf0\xe5" } , { "\xba\xe8\xc6\xe1" , "\xd2\x53\xef" } , { "\xba\xe8\xc6\xe6" , "\xd2\x53\xef\xd7" } , { "\xba\xe8\xc8" , "\x53\xe7\x60" } , { "\xba\xe8\xc8\xda" , "\x53\xe7\x60\xd0" } , { "\xba\xe8\xc8\xdd" , "\x53\xe7\x60\xca" } , { "\xba\xe8\xc8\xde" , "\x53\xe7\x60\xcb" } , { "\xba\xe8\xc8\xe2" , "\x53\xe7\xd2\x60\xdf" } , { "\xba\xe8\xc8\xe5" , "\x53\xe7\xd2\x60\xd0" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x53\xe7\xd2\x60\xf5" } , { "\xba\xe8\xc9\xe2" , "\x53\xe7\xd2\x24\xdf\xbc" } , { "\xba\xe8\xc9\xe8\xc9" , "\x53\xe7\x24\xe7\xbc\x24\xbc" } , { "\xba\xe8\xca" , "\x53\xe8" } , { "\xba\xe8\xca\xda" , "\x53\xe8\xd0" } , { "\xba\xe8\xca\xe0" , "\xd2\x53\xe8" } , { "\xba\xe8\xca\xe0\xa2" , "\xd2\x53\xe8\xd5" } , { "\xba\xe8\xca\xe1" , "\xd2\x53\xe8" } , { "\xba\xe8\xca\xe2" , "\xd2\x53\xe8\xdf" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x53\xe7\x61\xe7\x4c\xe7" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x53\xe7\x61\xe7\x4e\xe7" } , { "\xba\xe8\xcb\xde" , "\x53\xf8\xe5" } , { "\xba\xe8\xcb\xe1" , "\xd2\x53\xf7" } , { "\xba\xe8\xcc" , "\x53\xea" } , { "\xba\xe8\xcc\xa2" , "\x53\xea\xd5" } , { "\xba\xe8\xcc\xda" , "\x53\xea\xd0" } , { "\xba\xe8\xcc\xdb" , "\x53\xea\xde" } , { "\xba\xe8\xcc\xdc" , "\x53\xea\xd1" } , { "\xba\xe8\xcc\xdd" , "\x53\xeb\xe3" } , { "\xba\xe8\xcc\xde" , "\x53\xeb\xe5" } , { "\xba\xe8\xcc\xe0" , "\xd2\x53\xea" } , { "\xba\xe8\xcc\xe0\xa2" , "\xd2\x53\xea\xd5" } , { "\xba\xe8\xcc\xe1" , "\xd2\x53\xea" } , { "\xba\xe8\xcc\xe1\xa2" , "\xd2\x53\xea\xd5" } , { "\xba\xe8\xcc\xe5" , "\xd2\x53\xea\xd0" } , { "\xba\xe8\xcd" , "\x53\xd4" } , { "\xba\xe8\xcd\xa2" , "\x53\xd5\xd4" } , { "\xba\xe8\xcd\xda" , "\x53\xd4\xd0" } , { "\xba\xe8\xcd\xda\xa1" , "\x53\xdc\xd4\xd0" } , { "\xba\xe8\xcd\xda\xa2" , "\x53\xd4\xd0\xd5" } , { "\xba\xe8\xcd\xdb" , "\x53\xde\xd4" } , { "\xba\xe8\xcd\xdc" , "\x53\xd4\xd1" } , { "\xba\xe8\xcd\xdd" , "\x53\xca\xd4" } , { "\xba\xe8\xcd\xdd\xa2" , "\x53\xca\xd5\xd4" } , { "\xba\xe8\xcd\xde" , "\x53\xcb\xd4" } , { "\xba\xe8\xcd\xde\xa1" , "\x53\xcb\xdc\xd4" } , { "\xba\xe8\xcd\xde\xa2" , "\x53\xcb\xd5\xd4" } , { "\xba\xe8\xcd\xe0" , "\xd2\x53\xd4" } , { "\xba\xe8\xcd\xe0\xa2" , "\xd2\x53\xd4\xd5" } , { "\xba\xe8\xcd\xe1" , "\xd2\x53\xd4" } , { "\xba\xe8\xcd\xe4" , "\xd2\x53\xd4\xd0" } , { "\xba\xe8\xcd\xe5" , "\xd2\x53\xd4\xd0" } , { "\xba\xe8\xcd\xe5\xa2" , "\xd2\x53\xd4\xd0\xd5" } , { "\xba\xe8\xcd\xe6" , "\xd2\x53\xd4\xd7" } , { "\xba\xe8\xcd\xe8\xcf" , "\x53\xd4\xcd" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x53\xd4\xcd\xd5" } , { "\xba\xe8\xcf" , "\x53\xf5" } , { "\xba\xe8\xcf\xa2" , "\x53\xf5\xd5" } , { "\xba\xe8\xcf\xda" , "\x53\xf5\xd0" } , { "\xba\xe8\xcf\xda\xa2" , "\x53\xf5\xd0\xd5" } , { "\xba\xe8\xcf\xdb" , "\x53\xf5\xde" } , { "\xba\xe8\xcf\xdc" , "\x53\xf5\xd1" } , { "\xba\xe8\xcf\xe1" , "\xd2\x53\xf5" } , { "\xba\xe8\xcf\xe4" , "\xd2\x53\xf5\xd0" } , { "\xba\xe8\xcf\xe5" , "\xd2\x53\xf5\xd0" } , { "\xba\xe8\xd1" , "\x53\xed" } , { "\xba\xe8\xd1\xda" , "\x53\xed\xd0" } , { "\xba\xe8\xd1\xdb" , "\x53\xed\xde" } , { "\xba\xe8\xd1\xdc" , "\x53\xed\xd1" } , { "\xba\xe8\xd1\xdd" , "\x53\xee\xe3" } , { "\xba\xe8\xd1\xe5" , "\xd2\x53\xed\xd0" } , { "\xba\xe8\xd4" , "\x53\xe7\x67" } , { "\xba\xe8\xd4\xa2" , "\x53\xe7\x67\xd5" } , { "\xba\xe8\xd4\xda" , "\x53\xe7\x67\xd0" } , { "\xba\xe8\xd4\xdb" , "\x53\xe7\x67\xde" } , { "\xba\xe8\xd4\xdc" , "\x53\xe7\x67\xd1" } , { "\xba\xe8\xd4\xdd" , "\x53\xe7\x67\xca" } , { "\xba\xe8\xd4\xdf" , "\x53\xe7\x67\xf3" } , { "\xba\xe8\xd4\xe0" , "\x53\xe7\xd2\x67" } , { "\xba\xe8\xd4\xe1" , "\x53\xe7\xd2\x67" } , { "\xba\xe8\xd4\xe7" , "\x53\xe7\xd2\x67\xd0" } , { "\xba\xe8\xd4\xe8\xba" , "\x53\xe7\x67\xe7\x53" } , { "\xba\xe8\xd5\xda" , "\x53\xe7\x68\xd0" } , { "\xba\xe8\xd6\xda" , "\x53\xe7\x69\xd0" } , { "\xba\xe8\xd7" , "\x53\xe7\x6a" } , { "\xba\xe8\xd7\xdb\xa2" , "\x53\xe7\x6a\xde\xd5" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\x53\xe7\xb2\xde\xc6" } , { "\xba\xe8\xd9\xba" , "\x53\xe7\x53" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x53\xe7\xaf\xe0\xc6" } , { "\xba\xe8\xe8" , "\x53\xe7" } , { "\xba\xe8\xe9\xbc" , "\x53\xe7\x55" } , { "\xba\xe8\xe9\xcf" , "\x53\xe7\x65\xfe" } , { "\xba\xe9" , "\x53" } , { "\xba\xe9\xa2" , "\x53\xd5" } , { "\xba\xe9\xbf\xe9" , "\x53\x58\xcf" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x53\xd2\x58\xcf\xd0\xd5" } , { "\xba\xe9\xc7" , "\x53\x5f" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x53\x63\xe9\xe3" } , { "\xba\xe9\xd4\xda" , "\x53\x67\xd0" } , { "\xba\xe9\xda" , "\x53\xd0" } , { "\xba\xe9\xdb" , "\x53\xde" } , { "\xba\xe9\xdb\xa2" , "\x53\xde\xd5" } , { "\xba\xe9\xdc" , "\x53\xd1" } , { "\xba\xe9\xdd" , "\x53\xca" } , { "\xba\xe9\xde" , "\x53\xcb" } , { "\xba\xe9\xe1" , "\xd2\x53" } , { "\xba\xe9\xe1\xa2" , "\xd2\x53\xd5" } , { "\xba\xe9\xe2" , "\xd2\x53\xdf" } , { "\xba\xe9\xe5" , "\xd2\x53\xd0" } , { "\xba\xe9\xe5\xa2" , "\xd2\x53\xd0\xd5" } , { "\xba\xe9\xe8\xba" , "\xb3\xc6" } , { "\xba\xe9\xe8\xba\xe9" , "\xb3\xc6" } , { "\xba\xe9\xe8\xca\xda" , "\x53\xe8\xd0" } , { "\xba\xe9\xe8\xcc" , "\x53\xea" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\xd2\x53\xea\xd0\xd5" } , { "\xba\xe9\xe8\xcd\xda" , "\x53\xd4\xd0" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x53\xcf\xe7\xaf\xc6\xd0" } , { "\xbb" , "\x54\xfe" } , { "\xbb\xa1" , "\x54\xdc\xfe" } , { "\xbb\xa2" , "\x54\xd5\xfe" } , { "\xbb\xa3" , "\x54\xfe\xd3" } , { "\xbb\xda" , "\x54\xfe\xd0" } , { "\xbb\xda\xa1" , "\x54\xdc\xfe\xd0" } , { "\xbb\xda\xa2" , "\x54\xfe\xd0\xd5" } , { "\xbb\xdb" , "\x54\xde\xfe" } , { "\xbb\xdb\xa2" , "\x54\xde\xd5\xfe" } , { "\xbb\xdc" , "\x54\xfe\xd1" } , { "\xbb\xdc\xa2" , "\x54\xfe\xd1\xd5" } , { "\xbb\xdd" , "\x54\xca\xfe" } , { "\xbb\xdd\xa1" , "\x54\xca\xdc\xfe" } , { "\xbb\xdd\xa2" , "\x54\xca\xd5\xfe" } , { "\xbb\xde" , "\x54\xcb\xfe" } , { "\xbb\xde\xa1" , "\x54\xcb\xdc\xfe" } , { "\xbb\xde\xa2" , "\x54\xcb\xd5\xfe" } , { "\xbb\xdf" , "\x54\xf3\xfe" } , { "\xbb\xe0" , "\xd2\x54\xfe" } , { "\xbb\xe0\xa2" , "\xd2\x54\xfe\xd5" } , { "\xbb\xe1" , "\xd2\x54\xfe" } , { "\xbb\xe1\xa2" , "\xd2\x54\xfe\xd5" } , { "\xbb\xe2" , "\xd2\x54\xdf\xfe" } , { "\xbb\xe4" , "\xd2\x54\xfe\xd0" } , { "\xbb\xe5" , "\xd2\x54\xfe\xd0" } , { "\xbb\xe5\xa2" , "\xd2\x54\xfe\xd0\xd5" } , { "\xbb\xe6" , "\xd2\x54\xfe\xd7" } , { "\xbb\xe6\xa2" , "\xd2\x54\xfe\xd7\xd5" } , { "\xbb\xe7" , "\xd2\x54\xfe\xd0" } , { "\xbb\xe8" , "\x54\xe7\xfe" } , { "\xbb\xe8\xb6\xdd" , "\x54\xe7\xfe\x4f\xca" } , { "\xbb\xe8\xbb" , "\x54\xe7\xfe\x54\xfe" } , { "\xbb\xe8\xcd" , "\x54\xfe\xd4" } , { "\xbb\xe8\xcf" , "\x54\xf5\xfe" } , { "\xbb\xe8\xd4" , "\x54\xe7\xfe\x67" } , { "\xbb\xe8\xe8" , "\x54\xe7\xfe" } , { "\xbb\xe8\xe9\xcf" , "\x54\xe7\xfe\x65\xfe" } , { "\xbb\xe9" , "\x54\xfe" } , { "\xbc" , "\x55" } , { "\xbc\xa2" , "\x55\xd5" } , { "\xbc\xa3" , "\x55\xd3" } , { "\xbc\xda" , "\x55\xd0" } , { "\xbc\xdb" , "\x55\xde" } , { "\xbc\xdc" , "\x55\xd1" } , { "\xbc\xdd" , "\x55\xca" } , { "\xbc\xde" , "\x55\xcb" } , { "\xbc\xdf" , "\x55\xf3" } , { "\xbc\xe0" , "\xd2\x55" } , { "\xbc\xe1" , "\xd2\x55" } , { "\xbc\xe2" , "\xd2\x55\xdf" } , { "\xbc\xe3" , "\xd2\x55" } , { "\xbc\xe4" , "\xd2\x55\xd0" } , { "\xbc\xe5" , "\xd2\x55\xd0" } , { "\xbc\xe5\xa2" , "\xd2\x55\xd0\xd5" } , { "\xbc\xe6" , "\xd2\x55\xd7" } , { "\xbc\xe8" , "\x55\xe7" } , { "\xbc\xe8\xb8" , "\x71" } , { "\xbc\xe8\xb8\xda" , "\x71\xd0" } , { "\xbc\xe8\xb8\xdb" , "\x71\xde" } , { "\xbc\xe8\xb8\xdc" , "\x71\xd1" } , { "\xbc\xe8\xb8\xe0" , "\xd2\x71" } , { "\xbc\xe8\xb8\xe1" , "\xd2\x71" } , { "\xbc\xe8\xb8\xe4" , "\xd2\x71\xd0" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x71\xd4\xd0\xd5" } , { "\xbc\xe8\xba" , "\x26\xbc" } , { "\xbc\xe8\xba\xda" , "\x26\xbc\xd0" } , { "\xbc\xe8\xba\xdb" , "\x26\xde\xbc" } , { "\xbc\xe8\xba\xdc" , "\x26\xbc\xd1" } , { "\xbc\xe8\xba\xdd" , "\x26\xca\xbc" } , { "\xbc\xe8\xba\xe5\xa2" , "\xd2\x26\xbc\xd0\xd5" } , { "\xbc\xe8\xbc" , "\x55\xe7\x55" } , { "\xbc\xe8\xbc\xda" , "\x55\xe7\x55\xd0" } , { "\xbc\xe8\xc1" , "\x55\xe7\x5a" } , { "\xbc\xe8\xcd\xa2" , "\x55\xd5\xd4" } , { "\xbc\xe8\xcd\xe5" , "\xd2\x55\xd4\xd0" } , { "\xbc\xe8\xd4" , "\x55\xe7\x67" } , { "\xbc\xe9" , "\x55" } , { "\xbd" , "\x56" } , { "\xbd\xa1" , "\x56\xdc" } , { "\xbd\xa2" , "\x56\xd5" } , { "\xbd\xa2\xa2" , "\x56\xd5\xd5" } , { "\xbd\xa3" , "\x56\xd3" } , { "\xbd\xd9" , "\x56" } , { "\xbd\xda" , "\x56\xd0" } , { "\xbd\xda\xa1" , "\x56\xdc\xd0" } , { "\xbd\xda\xa2" , "\x56\xd0\xd5" } , { "\xbd\xda\xa3" , "\x56\xd0\xd3" } , { "\xbd\xdb" , "\x56\xde" } , { "\xbd\xdb\xa2" , "\x56\xde\xd5" } , { "\xbd\xdc" , "\x56\xd1" } , { "\xbd\xdc\xa2" , "\x56\xd1\xd5" } , { "\xbd\xdd" , "\x56\xca" } , { "\xbd\xdd\xa2" , "\x56\xca\xd5" } , { "\xbd\xde" , "\x56\xcb" } , { "\xbd\xde\xa1" , "\x56\xcb\xdc" } , { "\xbd\xde\xa2" , "\x56\xcb\xd5" } , { "\xbd\xdf" , "\x56\xf3" } , { "\xbd\xe0" , "\xd2\x56" } , { "\xbd\xe0\xa2" , "\xd2\x56\xd5" } , { "\xbd\xe1" , "\xd2\x56" } , { "\xbd\xe1\xa2" , "\xd2\x56\xd5" } , { "\xbd\xe2" , "\xd2\x56\xdf" } , { "\xbd\xe2\xa2" , "\xd2\x56\xdf\xd5" } , { "\xbd\xe3" , "\xd2\x56" } , { "\xbd\xe4" , "\xd2\x56\xd0" } , { "\xbd\xe4\xa2" , "\xd2\x56\xd0\xd5" } , { "\xbd\xe5" , "\xd2\x56\xd0" } , { "\xbd\xe5\xa2" , "\xd2\x56\xd0\xd5" } , { "\xbd\xe6" , "\xd2\x56\xd7" } , { "\xbd\xe6\xa2" , "\xd2\x56\xd7\xd5" } , { "\xbd\xe7" , "\xd2\x56\xd0" } , { "\xbd\xe8" , "\x56\xe7" } , { "\xbd\xe8\xa6" , "\x56\xe7\x42" } , { "\xbd\xe8\xb3" , "\x56\xe7\x4c" } , { "\xbd\xe8\xb3\xa2" , "\x56\xe7\x4c\xd5" } , { "\xbd\xe8\xb3\xda" , "\x56\xe7\x4c\xd0" } , { "\xbd\xe8\xb3\xda\xa2" , "\x56\xe7\x4c\xd0\xd5" } , { "\xbd\xe8\xb3\xdb" , "\x56\xe7\x4c\xde" } , { "\xbd\xe8\xb3\xdb\xa2" , "\x56\xe7\x4c\xde\xd5" } , { "\xbd\xe8\xb3\xdc" , "\x56\xe7\x4c\xd1" } , { "\xbd\xe8\xb3\xdd" , "\x56\xe7\x4c\xca" } , { "\xbd\xe8\xb3\xde" , "\x56\xe7\x4c\xcb" } , { "\xbd\xe8\xb3\xe0" , "\x56\xe7\xd2\x4c" } , { "\xbd\xe8\xb3\xe1" , "\x56\xe7\xd2\x4c" } , { "\xbd\xe8\xb3\xe2" , "\x56\xe7\xd2\x4c\xdf" } , { "\xbd\xe8\xb3\xe5" , "\x56\xe7\xd2\x4c\xd0" } , { "\xbd\xe8\xb3\xe8\xd1" , "\x56\xe7\x4c\xed" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\x56\xe7\x4c\xed\xd1" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\x56\xe7\xb5\xe7\xc6" } , { "\xbd\xe8\xb5" , "\x56\xe7\x4e" } , { "\xbd\xe8\xb5\xda" , "\x56\xe7\x4e\xd0" } , { "\xbd\xe8\xb5\xe0" , "\x56\xe7\xd2\x4e" } , { "\xbd\xe8\xb5\xe1" , "\x56\xe7\xd2\x4e" } , { "\xbd\xe8\xb5\xe2" , "\x56\xe7\xd2\x4e\xdf" } , { "\xbd\xe8\xb5\xe5" , "\x56\xe7\xd2\x4e\xd0" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\x56\xe7\x4e\xf5\xd5" } , { "\xbd\xe8\xb7\xe8" , "\x56\xe7\x50\xe7\xbc" } , { "\xbd\xe8\xb8" , "\x56\xe7\x51" } , { "\xbd\xe8\xb8\xa2" , "\x56\xe7\x51\xd5" } , { "\xbd\xe8\xb8\xda" , "\x56\xe7\x51\xd0" } , { "\xbd\xe8\xb8\xdb" , "\x56\xe7\x51\xde" } , { "\xbd\xe8\xb8\xdb\xa2" , "\x56\xe7\x51\xde\xd5" } , { "\xbd\xe8\xb8\xdd" , "\x56\xe7\x51\xca" } , { "\xbd\xe8\xb8\xe0" , "\x56\xe7\xd2\x51" } , { "\xbd\xe8\xb8\xe1" , "\x56\xe7\xd2\x51" } , { "\xbd\xe8\xb8\xe8" , "\x56\xe7\x51\xe7" } , { "\xbd\xe8\xb9\xa2" , "\x56\xe7\x52\xd5" } , { "\xbd\xe8\xba" , "\x56\xe7\x53" } , { "\xbd\xe8\xba\xa2" , "\x56\xe7\x53\xd5" } , { "\xbd\xe8\xba\xdc" , "\x56\xe7\x53\xd1" } , { "\xbd\xe8\xba\xe0" , "\x56\xe7\xd2\x53" } , { "\xbd\xe8\xba\xe1" , "\x56\xe7\xd2\x53" } , { "\xbd\xe8\xba\xe8" , "\x56\xe7\x53\xe7" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x56\xe7\x53\xe7\xd2\x4e" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\x56\xe7\x53\xf0\xe3\xd5" } , { "\xbd\xe8\xbd" , "\x70" } , { "\xbd\xe8\xbd\xa2" , "\x70\xd5" } , { "\xbd\xe8\xbd\xa3" , "\x70\xd3" } , { "\xbd\xe8\xbd\xda" , "\x70\xd0" } , { "\xbd\xe8\xbd\xda\xa2" , "\x70\xd0\xd5" } , { "\xbd\xe8\xbd\xda\xa3" , "\x70\xd0\xd3" } , { "\xbd\xe8\xbd\xdb" , "\x70\xde" } , { "\xbd\xe8\xbd\xdb\xa2" , "\x70\xde\xd5" } , { "\xbd\xe8\xbd\xdc" , "\x70\xd1" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x70\xd1\xd5" } , { "\xbd\xe8\xbd\xdd" , "\x70\xca" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x70\xca\xd5" } , { "\xbd\xe8\xbd\xde" , "\x70\xcb" } , { "\xbd\xe8\xbd\xe0" , "\xd2\x70" } , { "\xbd\xe8\xbd\xe0\xa2" , "\xd2\x70\xd5" } , { "\xbd\xe8\xbd\xe1" , "\xd2\x70" } , { "\xbd\xe8\xbd\xe1\xa2" , "\xd2\x70\xd5" } , { "\xbd\xe8\xbd\xe2" , "\xd2\x70\xdf" } , { "\xbd\xe8\xbd\xe2\xa2" , "\xd2\x70\xdf\xd5" } , { "\xbd\xe8\xbd\xe4" , "\xd2\x70\xd0" } , { "\xbd\xe8\xbd\xe5" , "\xd2\x70\xd0" } , { "\xbd\xe8\xbd\xe5\xa2" , "\xd2\x70\xd0\xd5" } , { "\xbd\xe8\xbd\xe6" , "\xd2\x70\xd7" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x56\xe7\x56\xe7\x4c\xca" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x56\xe7\x56\xe7\x5a" } , { "\xbd\xe8\xbd\xe8\xc6" , "\x70\xef" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\x56\xe7\x56\xe7\xd2\x60" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x70\xf5\xd0" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x70\xf5\xe7" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\x56\xe7\x56\xf6\xe1" } , { "\xbd\xe8\xbd\xe8\xd4" , "\x56\xe7\x56\xe7\x67" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x56\xe7\x56\xe7\x6a\xca" } , { "\xbd\xe8\xbe" , "\x56\xe7\x57" } , { "\xbd\xe8\xbe\xda" , "\x56\xe7\x57\xd0" } , { "\xbd\xe8\xbe\xdb" , "\x56\xe7\x57\xde" } , { "\xbd\xe8\xbe\xdc" , "\x56\xe7\x57\xd1" } , { "\xbd\xe8\xbe\xdd" , "\x56\xe7\x57\xca" } , { "\xbd\xe8\xbe\xde" , "\x56\xe7\x57\xcb" } , { "\xbd\xe8\xbe\xe1" , "\x56\xe7\xd2\x57" } , { "\xbd\xe8\xbe\xe5" , "\x56\xe7\xd2\x57\xd0" } , { "\xbd\xe8\xbe\xe5\xa2" , "\x56\xe7\xd2\x57\xd0\xd5" } , { "\xbd\xe8\xbf" , "\x56\xe7\x58" } , { "\xbd\xe8\xbf\xdb" , "\x56\xe7\x58\xde" } , { "\xbd\xe8\xbf\xdd" , "\x56\xe7\x58\xca" } , { "\xbd\xe8\xbf\xe1" , "\x56\xe7\xd2\x58" } , { "\xbd\xe8\xbf\xe5" , "\x56\xe7\xd2\x58\xd0" } , { "\xbd\xe8\xbf\xe6" , "\x56\xe7\xd2\x58\xd7" } , { "\xbd\xe8\xbf\xe8" , "\x56\xe7\x58\xe7" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\x56\xe7\x58\xf6\xd0" } , { "\xbd\xe8\xc0\xdc" , "\x56\xe7\x59\xd1" } , { "\xbd\xe8\xc1\xa2" , "\x56\xe7\x5a\xd5" } , { "\xbd\xe8\xc2" , "\x56\xf2" } , { "\xbd\xe8\xc2\xda" , "\x56\xf2\xd0" } , { "\xbd\xe8\xc2\xdb\xa2" , "\x56\xf2\xde\xd5" } , { "\xbd\xe8\xc2\xdc" , "\x56\xf2\xd1" } , { "\xbd\xe8\xc2\xdd" , "\x56\xf2\xe3" } , { "\xbd\xe8\xc2\xdd\xa2" , "\x56\xf2\xe3\xd5" } , { "\xbd\xe8\xc2\xde" , "\x56\xf2\xe5" } , { "\xbd\xe8\xc2\xe0" , "\xd2\x56\xf2" } , { "\xbd\xe8\xc2\xe1" , "\xd2\x56\xf2" } , { "\xbd\xe8\xc2\xe4" , "\xd2\x56\xf2\xd0" } , { "\xbd\xe8\xc2\xe5" , "\xd2\x56\xf2\xd0" } , { "\xbd\xe8\xc2\xe5\xa2" , "\xd2\x56\xf2\xd0\xd5" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\x56\xf2\xcd\xde\xd5" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\xd2\x56\xf2\xcd" } , { "\xbd\xe8\xc4" , "\x56\xe7\x5d" } , { "\xbd\xe8\xc4\xda" , "\x56\xe7\x5d\xd0" } , { "\xbd\xe8\xc4\xe0" , "\x56\xe7\xd2\x5d" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x56\xe7\x5d\xe7\x67\xd0" } , { "\xbd\xe8\xc5" , "\x56\xe7\x5e" } , { "\xbd\xe8\xc6" , "\x56\xf0" } , { "\xbd\xe8\xc6\xa2" , "\x56\xf0\xd5" } , { "\xbd\xe8\xc6\xda" , "\x56\xf0\xd0" } , { "\xbd\xe8\xc6\xdb" , "\x56\xf0\xde" } , { "\xbd\xe8\xc6\xdb\xa2" , "\x56\xf0\xde\xd5" } , { "\xbd\xe8\xc6\xdc" , "\x56\xf0\xd1" } , { "\xbd\xe8\xc6\xdc\xa2" , "\x56\xf0\xd1\xd5" } , { "\xbd\xe8\xc6\xdd" , "\x56\xf0\xe3" } , { "\xbd\xe8\xc6\xdd\xa2" , "\x56\xf0\xe3\xd5" } , { "\xbd\xe8\xc6\xde" , "\x56\xf0\xe5" } , { "\xbd\xe8\xc6\xe0" , "\xd2\x56\xf0" } , { "\xbd\xe8\xc6\xe1" , "\xd2\x56\xf0" } , { "\xbd\xe8\xc6\xe1\xa2" , "\xd2\x56\xf0\xd5" } , { "\xbd\xe8\xc6\xe5" , "\xd2\x56\xf0\xd0" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x56\xd4\xe5\xd4" } , { "\xbd\xe8\xc8" , "\x56\xe7\x60" } , { "\xbd\xe8\xc8\xda" , "\x56\xe7\x60\xd0" } , { "\xbd\xe8\xc8\xdb" , "\x56\xe7\x60\xde" } , { "\xbd\xe8\xc8\xdd" , "\x56\xe7\x60\xca" } , { "\xbd\xe8\xc8\xde" , "\x56\xe7\x60\xcb" } , { "\xbd\xe8\xc8\xe1" , "\x56\xe7\xd2\x60" } , { "\xbd\xe8\xc8\xe2" , "\x56\xe7\xd2\x60\xdf" } , { "\xbd\xe8\xc8\xe8\xcf" , "\x56\xe7\x60\xf5" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\x56\xe7\x60\xf5\xd0" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\x56\xe7\xd2\x60\xed" } , { "\xbd\xe8\xc9" , "\x56\xe7\x24\xbc" } , { "\xbd\xe8\xc9\xa2" , "\x56\xe7\x24\xbc\xbc\xd5" } , { "\xbd\xe8\xc9\xda" , "\x56\xe7\x24\xbc\xd0" } , { "\xbd\xe8\xc9\xda\xa2" , "\x56\xe7\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xbd\xe8\xc9\xdb" , "\x56\xe7\x24\xde\xbc" } , { "\xbd\xe8\xc9\xdc" , "\x56\xe7\x24\xbc\xd1" } , { "\xbd\xe8\xc9\xdd" , "\x56\xe7\x24\xca\xbc" } , { "\xbd\xe8\xc9\xe2" , "\x56\xe7\xd2\x24\xdf\xbc" } , { "\xbd\xe8\xc9\xe5" , "\x56\xe7\xd2\x24\xbc\xd0" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x24\xbc\xd4\xd0" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x56\xe7\xd2\x24\xf5\xdf\xbc" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\x56\xe7\xd2\x24\xed\xdf\xbc" } , { "\xbd\xe8\xca" , "\x56\xe9" } , { "\xbd\xe8\xca\xda" , "\x56\xe9\xd0" } , { "\xbd\xe8\xca\xda\xa2" , "\x56\xe9\xd0\xd5" } , { "\xbd\xe8\xca\xdd" , "\x56\xe9\xe3" } , { "\xbd\xe8\xca\xe0" , "\xd2\x56\xe9" } , { "\xbd\xe8\xca\xe5" , "\xd2\x56\xe9\xd0" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x56\xe9\xd4\xd0" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x56\xe9\xd4\xd0\xd5" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\x56\xe9\xe2\xd0" } , { "\xbd\xe8\xcb\xdd" , "\x56\xf8\xe3" } , { "\xbd\xe8\xcb\xde" , "\x56\xf8\xe5" } , { "\xbd\xe8\xcb\xe8\xcf" , "\x56\xf8\xcd" } , { "\xbd\xe8\xcc" , "\x56\xeb" } , { "\xbd\xe8\xcc\xa2" , "\x56\xeb\xd5" } , { "\xbd\xe8\xcc\xda" , "\x56\xeb\xd0" } , { "\xbd\xe8\xcc\xdc" , "\x56\xeb\xd1" } , { "\xbd\xe8\xcc\xe0" , "\xd2\x56\xeb" } , { "\xbd\xe8\xcc\xe0\xa2" , "\xd2\x56\xeb\xd5" } , { "\xbd\xe8\xcc\xe2" , "\xd2\x56\xeb\xdf" } , { "\xbd\xe8\xcc\xe4" , "\xd2\x56\xeb\xd0" } , { "\xbd\xe8\xcc\xe5" , "\xd2\x56\xeb\xd0" } , { "\xbd\xe8\xcc\xe8\xca" , "\x56\xeb\x9a" } , { "\xbd\xe8\xcd" , "\x56\xd4" } , { "\xbd\xe8\xcd\xa2" , "\x56\xd5\xd4" } , { "\xbd\xe8\xcd\xda" , "\x56\xd4\xd0" } , { "\xbd\xe8\xcd\xda\xa2" , "\x56\xd4\xd0\xd5" } , { "\xbd\xe8\xcd\xdc\xa2" , "\x56\xd4\xd1\xd5" } , { "\xbd\xe8\xcd\xdd" , "\x56\xca\xd4" } , { "\xbd\xe8\xcd\xde" , "\x56\xcb\xd4" } , { "\xbd\xe8\xcd\xde\xa2" , "\x56\xcb\xd5\xd4" } , { "\xbd\xe8\xcd\xe1" , "\xd2\x56\xd4" } , { "\xbd\xe8\xcd\xe4" , "\xd2\x56\xd4\xd0" } , { "\xbd\xe8\xcd\xe5" , "\xd2\x56\xd4\xd0" } , { "\xbd\xe8\xcd\xe5\xa2" , "\xd2\x56\xd4\xd0\xd5" } , { "\xbd\xe8\xcf" , "\x56\xf6" } , { "\xbd\xe8\xcf\xa2" , "\x56\xf6\xd5" } , { "\xbd\xe8\xcf\xda" , "\x56\xf6\xd0" } , { "\xbd\xe8\xcf\xda\xa1" , "\x56\xf6\xdc\xd0" } , { "\xbd\xe8\xcf\xda\xa2" , "\x56\xf6\xd0\xd5" } , { "\xbd\xe8\xcf\xdb" , "\x56\xf6\xde" } , { "\xbd\xe8\xcf\xdb\xa2" , "\x56\xf6\xde\xd5" } , { "\xbd\xe8\xcf\xdc" , "\x56\xf6\xd1" } , { "\xbd\xe8\xcf\xdd" , "\x56\xf6\xe3" } , { "\xbd\xe8\xcf\xde" , "\x56\xf6\xe5" } , { "\xbd\xe8\xcf\xe0" , "\xd2\x56\xf6" } , { "\xbd\xe8\xcf\xe0\xa2" , "\xd2\x56\xf6\xd5" } , { "\xbd\xe8\xcf\xe1" , "\xd2\x56\xf6" } , { "\xbd\xe8\xcf\xe1\xa2" , "\xd2\x56\xf6\xd5" } , { "\xbd\xe8\xcf\xe2" , "\xd2\x56\xf6\xdf" } , { "\xbd\xe8\xcf\xe2\xa2" , "\xd2\x56\xf6\xdf\xd5" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\xd2\x56\xf6\xdf\x5f\xe7" } , { "\xbd\xe8\xcf\xe4" , "\xd2\x56\xf6\xd0" } , { "\xbd\xe8\xcf\xe5" , "\xd2\x56\xf6\xd0" } , { "\xbd\xe8\xcf\xe6" , "\xd2\x56\xf6\xd7" } , { "\xbd\xe8\xcf\xe7" , "\xd2\x56\xf6\xd0" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\x56\xe7\x65\xe7\xfe\x4c\xde" } , { "\xbd\xe8\xcf\xe8\xc6" , "\x56\xf6\xe1" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x56\xe7\x65\xe7\xfe\x6a" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x56\xe7\x65\xe7\xfe\x6a\xe7" } , { "\xbd\xe8\xd1" , "\x56\xee" } , { "\xbd\xe8\xd1\xa2" , "\x56\xee\xd5" } , { "\xbd\xe8\xd1\xda" , "\x56\xee\xd0" } , { "\xbd\xe8\xd1\xda\xa2" , "\x56\xee\xd0\xd5" } , { "\xbd\xe8\xd1\xdb" , "\x56\xee\xde" } , { "\xbd\xe8\xd1\xdb\xa2" , "\x56\xee\xde\xd5" } , { "\xbd\xe8\xd1\xdc" , "\x56\xee\xd1" } , { "\xbd\xe8\xd1\xdd" , "\x56\xee\xe3" } , { "\xbd\xe8\xd1\xdd\xa2" , "\x56\xee\xe3\xd5" } , { "\xbd\xe8\xd1\xde" , "\x56\xee\xe5" } , { "\xbd\xe8\xd1\xe0" , "\xd2\x56\xee" } , { "\xbd\xe8\xd1\xe0\xa2" , "\xd2\x56\xee\xd5" } , { "\xbd\xe8\xd1\xe1" , "\xd2\x56\xee" } , { "\xbd\xe8\xd1\xe2" , "\xd2\x56\xee\xdf" } , { "\xbd\xe8\xd1\xe2\xa2" , "\xd2\x56\xee\xdf\xd5" } , { "\xbd\xe8\xd1\xe4" , "\xd2\x56\xee\xd0" } , { "\xbd\xe8\xd1\xe5" , "\xd2\x56\xee\xd0" } , { "\xbd\xe8\xd1\xe5\xa2" , "\xd2\x56\xee\xd0\xd5" } , { "\xbd\xe8\xd1\xe8" , "\x56\xee\xe7" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\x56\xe7\x6d\xf0\xe3\xfe" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x56\xee\xd4\xd0\xd5" } , { "\xbd\xe8\xd2\xdd" , "\x56\xec\xe3" } , { "\xbd\xe8\xd4" , "\x56\xe7\x67" } , { "\xbd\xe8\xd4\xa2" , "\x56\xe7\x67\xd5" } , { "\xbd\xe8\xd4\xda" , "\x56\xe7\x67\xd0" } , { "\xbd\xe8\xd4\xda\xa2" , "\x56\xe7\x67\xd0\xd5" } , { "\xbd\xe8\xd4\xdb" , "\x56\xe7\x67\xde" } , { "\xbd\xe8\xd4\xdb\xa2" , "\x56\xe7\x67\xde\xd5" } , { "\xbd\xe8\xd4\xdc" , "\x56\xe7\x67\xd1" } , { "\xbd\xe8\xd4\xe0" , "\x56\xe7\xd2\x67" } , { "\xbd\xe8\xd4\xe1" , "\x56\xe7\xd2\x67" } , { "\xbd\xe8\xd4\xe2" , "\x56\xe7\xd2\x67\xdf" } , { "\xbd\xe8\xd5" , "\x56\xe7\x68" } , { "\xbd\xe8\xd5\xda" , "\x56\xe7\x68\xd0" } , { "\xbd\xe8\xd5\xdb" , "\x56\xe7\x68\xde" } , { "\xbd\xe8\xd6\xdb" , "\x56\xe7\x69\xde" } , { "\xbd\xe8\xd6\xdc" , "\x56\xe7\x69\xd1" } , { "\xbd\xe8\xd6\xdd" , "\x56\xe7\x69\xca" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\x56\xe7\x69\xed\xde" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\x56\xe7\x69\xed\xd1" } , { "\xbd\xe8\xd7" , "\x56\xe7\x6a" } , { "\xbd\xe8\xd7\xda" , "\x56\xe7\x6a\xd0" } , { "\xbd\xe8\xd7\xdb" , "\x56\xe7\x6a\xde" } , { "\xbd\xe8\xd7\xdb\xa2" , "\x56\xe7\x6a\xde\xd5" } , { "\xbd\xe8\xd7\xdd" , "\x56\xe7\x6a\xca" } , { "\xbd\xe8\xd7\xde" , "\x56\xe7\x6a\xcb" } , { "\xbd\xe8\xd7\xe0" , "\x56\xe7\xd2\x6a" } , { "\xbd\xe8\xd7\xe1" , "\x56\xe7\xd2\x6a" } , { "\xbd\xe8\xd7\xe2" , "\x56\xe7\xd2\x6a\xdf" } , { "\xbd\xe8\xd7\xe5" , "\x56\xe7\xd2\x6a\xd0" } , { "\xbd\xe8\xd7\xe8" , "\x56\xe7\x6a\xe7" } , { "\xbd\xe8\xd7\xe8\xb3" , "\x56\xe7\xb2\xc6" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\x56\xe7\xb2\xde\xc6" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\x56\xe7\xb2\xc6\xd1" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\x56\xe7\xb2\xca\xc6" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x56\xe7\x6a\xe7\x4e\xd0" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\x56\xe7\x6a\xe7\x51\xde" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x56\xe7\x6a\xe7\xd2\x51" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x56\xe7\x6a\xe7\x56" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x56\xe7\x6a\xe7\x56\xd0" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x56\xe7\x6a\xe7\xd2\x56" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x56\xe7\x6a\xe7\xd2\x56\xd5" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\x56\xe7\xd2\xaa\xc6\xd0" } , { "\xbd\xe8\xd7\xe8\xc3" , "\x56\xe7\x79" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x56\xe7\x6a\xe7\x5d" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x56\xe7\x6a\xe7\x5d\xe7\x67\xd0" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\x56\xe7\x6a\xef\xde" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\x56\xe7\x6a\xf0\xe3" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\x56\xe7\x6a\xf0\xe3\xd5" } , { "\xbd\xe8\xd7\xe8\xca" , "\x56\xe7\x6a\xe8" } , { "\xbd\xe8\xd7\xe8\xcc" , "\x56\xe7\x6a\xea" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\x56\xe7\x6a\xea\xde" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\x56\xe7\xd2\x6a\xea" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x6a\xd5\xd4" } , { "\xbd\xe8\xd7\xe8\xd1" , "\x56\xe7\x6a\xed" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\x56\xe7\xd2\x6a\xed\xd0" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x56\xe7\x6a\xe7\x67" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\x56\xe7\x6a\xe7\x67\xde\xd5" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x56\xe7\x6a\xe7\xd2\x67\xd0" } , { "\xbd\xe8\xd8\xda" , "\x56\xe7\x6b\xfe\xd0" } , { "\xbd\xe8\xd8\xdc" , "\x56\xe7\x6b\xfe\xd1" } , { "\xbd\xe8\xd8\xde" , "\x56\xe7\x6b\xcb\xfe" } , { "\xbd\xe8\xd8\xe0" , "\x56\xe7\xd2\x6b\xfe" } , { "\xbd\xe8\xd8\xe5" , "\x56\xe7\xd2\x6b\xfe\xd0" } , { "\xbd\xe8\xd8\xe6" , "\x56\xe7\xd2\x6b\xfe\xd7" } , { "\xbd\xe8\xd9\xa6" , "\x56\xe7\x42" } , { "\xbd\xe8\xd9\xbd" , "\x56\xe7\x56" } , { "\xbd\xe8\xd9\xbd\xda" , "\x56\xe7\x56\xd0" } , { "\xbd\xe8\xd9\xbd\xdc" , "\x56\xe7\x56\xd1" } , { "\xbd\xe8\xd9\xbd\xe5" , "\x56\xe7\xd2\x56\xd0" } , { "\xbd\xe8\xd9\xbe\xdc" , "\x56\xe7\x57\xd1" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\x56\xe7\xaf\xcb\xd6\xc6" } , { "\xbd\xe8\xd9\xd7" , "\x56\xe7\x6a" } , { "\xbd\xe8\xe8" , "\x56\xe7" } , { "\xbe" , "\x57" } , { "\xbe\xa2" , "\x57\xd5" } , { "\xbe\xa3" , "\x57\xd3" } , { "\xbe\xda" , "\x57\xd0" } , { "\xbe\xda\xa1" , "\x57\xdc\xd0" } , { "\xbe\xda\xa2" , "\x57\xd0\xd5" } , { "\xbe\xdb" , "\x57\xde" } , { "\xbe\xdb\xa2" , "\x57\xde\xd5" } , { "\xbe\xdc" , "\x57\xd1" } , { "\xbe\xdc\xa2" , "\x57\xd1\xd5" } , { "\xbe\xdd" , "\x57\xca" } , { "\xbe\xdd\xa2" , "\x57\xca\xd5" } , { "\xbe\xde" , "\x57\xcb" } , { "\xbe\xde\xa1" , "\x57\xcb\xdc" } , { "\xbe\xde\xa2" , "\x57\xcb\xd5" } , { "\xbe\xdf" , "\x57\xf3" } , { "\xbe\xe0" , "\xd2\x57" } , { "\xbe\xe1" , "\xd2\x57" } , { "\xbe\xe1\xa2" , "\xd2\x57\xd5" } , { "\xbe\xe2" , "\xd2\x57\xdf" } , { "\xbe\xe2\xa2" , "\xd2\x57\xdf\xd5" } , { "\xbe\xe3" , "\xd2\x57" } , { "\xbe\xe4" , "\xd2\x57\xd0" } , { "\xbe\xe5" , "\xd2\x57\xd0" } , { "\xbe\xe5\xa2" , "\xd2\x57\xd0\xd5" } , { "\xbe\xe6" , "\xd2\x57\xd7" } , { "\xbe\xe8" , "\x57\xe7" } , { "\xbe\xe8\xb3" , "\x57\xe7\x4c" } , { "\xbe\xe8\xb3\xdd" , "\x57\xe7\x4c\xca" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x57\xe7\x4c\xf5" } , { "\xbe\xe8\xb5\xe5" , "\x57\xe7\xd2\x4e\xd0" } , { "\xbe\xe8\xb8" , "\x57\xe7\x51" } , { "\xbe\xe8\xbd" , "\x57\xe7\x56" } , { "\xbe\xe8\xbd\xda" , "\x57\xe7\x56\xd0" } , { "\xbe\xe8\xbd\xdb" , "\x57\xe7\x56\xde" } , { "\xbe\xe8\xbd\xdc" , "\x57\xe7\x56\xd1" } , { "\xbe\xe8\xbe" , "\x57\xe7\x57" } , { "\xbe\xe8\xbe\xda" , "\x57\xe7\x57\xd0" } , { "\xbe\xe8\xbe\xdb" , "\x57\xe7\x57\xde" } , { "\xbe\xe8\xbe\xdc" , "\x57\xe7\x57\xd1" } , { "\xbe\xe8\xbe\xe1" , "\x57\xe7\xd2\x57" } , { "\xbe\xe8\xbe\xe5" , "\x57\xe7\xd2\x57\xd0" } , { "\xbe\xe8\xc6" , "\x57\xf0" } , { "\xbe\xe8\xc8\xda" , "\x57\xe7\x60\xd0" } , { "\xbe\xe8\xcd" , "\x57\xd4" } , { "\xbe\xe8\xcd\xa2" , "\x57\xd5\xd4" } , { "\xbe\xe8\xcd\xda" , "\x57\xd4\xd0" } , { "\xbe\xe8\xcd\xda\xa1" , "\x57\xdc\xd4\xd0" } , { "\xbe\xe8\xcd\xda\xa2" , "\x57\xd4\xd0\xd5" } , { "\xbe\xe8\xcd\xe1" , "\xd2\x57\xd4" } , { "\xbe\xe8\xcd\xe5" , "\xd2\x57\xd4\xd0" } , { "\xbe\xe8\xcd\xe5\xa2" , "\xd2\x57\xd4\xd0\xd5" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x57\xd4" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x57\xd4\xcd" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x57\xe7\xaf\xe7\xc6\x68\xd0" } , { "\xbe\xe8\xcf\xda" , "\x57\xf6\xd0" } , { "\xbe\xe8\xd1\xdd" , "\x57\xee\xe3" } , { "\xbe\xe8\xd4\xda" , "\x57\xe7\x67\xd0" } , { "\xbe\xe8\xd9\xcd" , "\x57\xe7\xaf\xc6" } , { "\xbe\xe8\xe8" , "\x57\xe7" } , { "\xbf" , "\x58" } , { "\xbf\xa1" , "\x58\xdc" } , { "\xbf\xa2" , "\x58\xd5" } , { "\xbf\xa2\xa2" , "\x58\xd5\xd5" } , { "\xbf\xa3" , "\x58\xd3" } , { "\xbf\xda" , "\x58\xd0" } , { "\xbf\xda\xa1" , "\x58\xdc\xd0" } , { "\xbf\xda\xa2" , "\x58\xd0\xd5" } , { "\xbf\xda\xa3" , "\x58\xd0\xd3" } , { "\xbf\xdb" , "\x58\xde" } , { "\xbf\xdb\xa2" , "\x58\xde\xd5" } , { "\xbf\xdb\xa3" , "\x58\xde\xd3" } , { "\xbf\xdc" , "\x58\xd1" } , { "\xbf\xdc\xa2" , "\x58\xd1\xd5" } , { "\xbf\xdd" , "\x58\xca" } , { "\xbf\xdd\xa2" , "\x58\xca\xd5" } , { "\xbf\xde" , "\x58\xcb" } , { "\xbf\xde\xa1" , "\x58\xcb\xdc" } , { "\xbf\xde\xa2" , "\x58\xcb\xd5" } , { "\xbf\xdf" , "\x58\xf3" } , { "\xbf\xe0" , "\xd2\x58" } , { "\xbf\xe0\xa1" , "\xd2\x58\xdc" } , { "\xbf\xe0\xa2" , "\xd2\x58\xd5" } , { "\xbf\xe1" , "\xd2\x58" } , { "\xbf\xe1\xa2" , "\xd2\x58\xd5" } , { "\xbf\xe2" , "\xd2\x58\xdf" } , { "\xbf\xe2\xa2" , "\xd2\x58\xdf\xd5" } , { "\xbf\xe2\xa3" , "\xd2\x58\xdf\xd3" } , { "\xbf\xe4" , "\xd2\x58\xd0" } , { "\xbf\xe4\xa2" , "\xd2\x58\xd0\xd5" } , { "\xbf\xe5" , "\xd2\x58\xd0" } , { "\xbf\xe5\xa2" , "\xd2\x58\xd0\xd5" } , { "\xbf\xe6" , "\xd2\x58\xd7" } , { "\xbf\xe6\xa2" , "\xd2\x58\xd7\xd5" } , { "\xbf\xe7" , "\xd2\x58\xd0" } , { "\xbf\xe7\xa2" , "\xd2\x58\xd0\xd5" } , { "\xbf\xe8" , "\x58\xe7" } , { "\xbf\xe8\xb3" , "\x58\xe7\x4c" } , { "\xbf\xe8\xb3\xa2" , "\x58\xe7\x4c\xd5" } , { "\xbf\xe8\xb3\xda" , "\x58\xe7\x4c\xd0" } , { "\xbf\xe8\xb3\xdb" , "\x58\xe7\x4c\xde" } , { "\xbf\xe8\xb3\xdc" , "\x58\xe7\x4c\xd1" } , { "\xbf\xe8\xb3\xdd" , "\x58\xe7\x4c\xca" } , { "\xbf\xe8\xb3\xde" , "\x58\xe7\x4c\xcb" } , { "\xbf\xe8\xb3\xe1" , "\x58\xe7\xd2\x4c" } , { "\xbf\xe8\xb3\xe4" , "\x58\xe7\xd2\x4c\xd0" } , { "\xbf\xe8\xb3\xe5" , "\x58\xe7\xd2\x4c\xd0" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x58\xe7\x4c\xe7\x4e\xd0" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\x58\xe7\x4c\xf5\xd0" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\x58\xe7\xd2\x4c\xed\xd0" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x58\xe7\x4c\xe7\x67\xd0" } , { "\xbf\xe8\xb4" , "\x58\xe7\x4d" } , { "\xbf\xe8\xb5" , "\x94\xc6" } , { "\xbf\xe8\xb5\xa2" , "\x94\xd6\xc6" } , { "\xbf\xe8\xb5\xda" , "\x94\xc6\xd0" } , { "\xbf\xe8\xb5\xdb" , "\x94\xde\xc6" } , { "\xbf\xe8\xb5\xdd" , "\x94\xe3\xc6" } , { "\xbf\xe8\xb5\xde" , "\x94\xe5\xc6" } , { "\xbf\xe8\xb5\xe0" , "\xd2\x94\xc6" } , { "\xbf\xe8\xb5\xe1" , "\xd2\x94\xc6" } , { "\xbf\xe8\xb5\xe5\xa2" , "\xd2\x94\xc6\xd0\xd6" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\x94\xcd\xc6\xd0" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\x94\xe2\xc6\xd0" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\xd2\x94\xe2\xdf\xc6" } , { "\xbf\xe8\xb6" , "\x58\xe7\x4f" } , { "\xbf\xe8\xb8" , "\x58\xe7\x51" } , { "\xbf\xe8\xb8\xda" , "\x58\xe7\x51\xd0" } , { "\xbf\xe8\xb8\xda\xa2" , "\x58\xe7\x51\xd0\xd5" } , { "\xbf\xe8\xb8\xdb" , "\x58\xe7\x51\xde" } , { "\xbf\xe8\xb8\xdb\xa2" , "\x58\xe7\x51\xde\xd5" } , { "\xbf\xe8\xb8\xdc" , "\x58\xe7\x51\xd1" } , { "\xbf\xe8\xb8\xdd" , "\x58\xe7\x51\xca" } , { "\xbf\xe8\xb8\xe0" , "\x58\xe7\xd2\x51" } , { "\xbf\xe8\xb8\xe1" , "\x58\xe7\xd2\x51" } , { "\xbf\xe8\xb8\xe1\xa2" , "\x58\xe7\xd2\x51\xd5" } , { "\xbf\xe8\xb9\xda\xa2" , "\x58\xe7\x52\xd0\xd5" } , { "\xbf\xe8\xba" , "\x58\xe7\x53" } , { "\xbf\xe8\xba\xa2" , "\x58\xe7\x53\xd5" } , { "\xbf\xe8\xba\xda" , "\x58\xe7\x53\xd0" } , { "\xbf\xe8\xba\xdb" , "\x58\xe7\x53\xde" } , { "\xbf\xe8\xba\xdb\xa2" , "\x58\xe7\x53\xde\xd5" } , { "\xbf\xe8\xba\xdc" , "\x58\xe7\x53\xd1" } , { "\xbf\xe8\xba\xdd" , "\x58\xe7\x53\xca" } , { "\xbf\xe8\xba\xe0" , "\x58\xe7\xd2\x53" } , { "\xbf\xe8\xba\xe1" , "\x58\xe7\xd2\x53" } , { "\xbf\xe8\xba\xe2" , "\x58\xe7\xd2\x53\xdf" } , { "\xbf\xe8\xba\xe5" , "\x58\xe7\xd2\x53\xd0" } , { "\xbf\xe8\xba\xe8" , "\x58\xe7\x53\xe7" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\x58\xe7\x53\xe7\x4c\xde" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x58\xe7\x53\xe7\x4e\xd0" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\x58\xe7\x53\xef\xde" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\x58\xe7\x53\xf0\xe3" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\x58\xe7\x53\xef\xe7" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\x58\xe7\xd2\x53\xea\xd5" } , { "\xbf\xe8\xba\xe8\xcd" , "\x53\xd4" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x53\xd4\xd0" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x53\xcb\xd4" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\x58\xe7\xd2\x53\xed\xd0" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\x58\xe7\x53\xe7\x67\xde" } , { "\xbf\xe8\xba\xe9" , "\x58\xe7\x53" } , { "\xbf\xe8\xbc" , "\x58\xe7\x55" } , { "\xbf\xe8\xbd" , "\x58\xe7\x56" } , { "\xbf\xe8\xbd\xa2" , "\x58\xe7\x56\xd5" } , { "\xbf\xe8\xbd\xda\xa2" , "\x58\xe7\x56\xd0\xd5" } , { "\xbf\xe8\xbd\xdb" , "\x58\xe7\x56\xde" } , { "\xbf\xe8\xbd\xdd" , "\x58\xe7\x56\xca" } , { "\xbf\xe8\xbd\xe0" , "\x58\xe7\xd2\x56" } , { "\xbf\xe8\xbd\xe1" , "\x58\xe7\xd2\x56" } , { "\xbf\xe8\xbd\xe8" , "\x58\xe7\x56\xe7" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\x58\xe7\x56\xf6\xd5" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\x58\xe7\x56\xf6\xd0" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\x58\xe7\xd2\x56\xf6\xdf" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x58\xe7\x56\xe7\x6a" } , { "\xbf\xe8\xbf" , "\xc5\xa4" } , { "\xbf\xe8\xbf\xa2" , "\xc5\xd6\xa4" } , { "\xbf\xe8\xbf\xa3" , "\xc5\xa4\xd3" } , { "\xbf\xe8\xbf\xda" , "\xc5\xa4\xd0" } , { "\xbf\xe8\xbf\xda\xa2" , "\xc5\xa4\xd0\xd6" } , { "\xbf\xe8\xbf\xdb" , "\xc5\xde\xa4" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xc5\xde\xd6\xa4" } , { "\xbf\xe8\xbf\xdc" , "\xc5\xa4\xd1" } , { "\xbf\xe8\xbf\xdd" , "\xc5\xca\xa4" } , { "\xbf\xe8\xbf\xdd\xa2" , "\xc5\xca\xd6\xa4" } , { "\xbf\xe8\xbf\xde" , "\xc5\xcb\xa4" } , { "\xbf\xe8\xbf\xe0" , "\xd2\xc5\xa4" } , { "\xbf\xe8\xbf\xe1" , "\xd2\xc5\xa4" } , { "\xbf\xe8\xbf\xe2" , "\xd2\xc5\xdf\xa4" } , { "\xbf\xe8\xbf\xe4" , "\xd2\xc5\xa4\xd0" } , { "\xbf\xe8\xbf\xe5" , "\xd2\xc5\xa4\xd0" } , { "\xbf\xe8\xbf\xe5\xa2" , "\xd2\xc5\xa4\xd0\xd6" } , { "\xbf\xe8\xbf\xe8" , "\xc5\xe7\xa4" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x58\xe7\x58\xe7\x4c\xca" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\x58\xe7\xc5\xde\xa4" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\xc5\xee\xe3\xa4" } , { "\xbf\xe8\xbf\xe9\xdc" , "\xc5\xa4\xd1" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\xd2\xc5\xa4\xd0\xd6" } , { "\xbf\xe8\xc0" , "\x58\xe7\x59" } , { "\xbf\xe8\xc0\xa2" , "\x58\xe7\x59\xd5" } , { "\xbf\xe8\xc0\xda" , "\x58\xe7\x59\xd0" } , { "\xbf\xe8\xc0\xdc" , "\x58\xe7\x59\xd1" } , { "\xbf\xe8\xc0\xdd" , "\x58\xe7\x59\xca" } , { "\xbf\xe8\xc0\xe1" , "\x58\xe7\xd2\x59" } , { "\xbf\xe8\xc0\xe5\xa2" , "\x58\xe7\xd2\x59\xd0\xd5" } , { "\xbf\xe8\xc0\xe9\xda" , "\x58\xe7\x59\xd0" } , { "\xbf\xe8\xc0\xe9\xe1" , "\x58\xe7\xd2\x59" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\x58\xe7\xd2\x59\xd0\xd5" } , { "\xbf\xe8\xc1" , "\x58\xe7\x5a" } , { "\xbf\xe8\xc2" , "\x58\xf2" } , { "\xbf\xe8\xc2\xa2" , "\x58\xf2\xd5" } , { "\xbf\xe8\xc2\xda" , "\x58\xf2\xd0" } , { "\xbf\xe8\xc2\xdb" , "\x58\xf2\xde" } , { "\xbf\xe8\xc2\xdd" , "\x58\xf2\xe3" } , { "\xbf\xe8\xc2\xdd\xa2" , "\x58\xf2\xe3\xd5" } , { "\xbf\xe8\xc2\xde" , "\x58\xf2\xe5" } , { "\xbf\xe8\xc2\xde\xa2" , "\x58\xf2\xe5\xd5" } , { "\xbf\xe8\xc2\xe0" , "\xd2\x58\xf2" } , { "\xbf\xe8\xc2\xe1" , "\xd2\x58\xf2" } , { "\xbf\xe8\xc2\xe5" , "\xd2\x58\xf2\xd0" } , { "\xbf\xe8\xc2\xe5\xa2" , "\xd2\x58\xf2\xd0\xd5" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\xd2\x58\xf2\xcd\xdf" } , { "\xbf\xe8\xc4\xda" , "\x58\xe7\x5d\xd0" } , { "\xbf\xe8\xc4\xdb" , "\x58\xe7\x5d\xde" } , { "\xbf\xe8\xc4\xdd" , "\x58\xe7\x5d\xca" } , { "\xbf\xe8\xc4\xe0" , "\x58\xe7\xd2\x5d" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x58\xe7\x5d\xe7\x67\xd0" } , { "\xbf\xe8\xc5" , "\x58\xe7\x5e" } , { "\xbf\xe8\xc6" , "\x58\xf0" } , { "\xbf\xe8\xc6\xa2" , "\x58\xf0\xd5" } , { "\xbf\xe8\xc6\xda" , "\x58\xf0\xd0" } , { "\xbf\xe8\xc6\xdb" , "\x58\xf0\xde" } , { "\xbf\xe8\xc6\xdb\xa2" , "\x58\xf0\xde\xd5" } , { "\xbf\xe8\xc6\xdc" , "\x58\xf0\xd1" } , { "\xbf\xe8\xc6\xdd" , "\x58\xf0\xe3" } , { "\xbf\xe8\xc6\xdd\xa2" , "\x58\xf0\xe3\xd5" } , { "\xbf\xe8\xc6\xe0" , "\xd2\x58\xf0" } , { "\xbf\xe8\xc6\xe1" , "\xd2\x58\xf0" } , { "\xbf\xe8\xc6\xe2" , "\xd2\x58\xf0\xdf" } , { "\xbf\xe8\xc6\xe5" , "\xd2\x58\xf0\xd0" } , { "\xbf\xe8\xc6\xe6" , "\xd2\x58\xf0\xd7" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\x58\xe7\xab\xd6\xc6" } , { "\xbf\xe8\xc8" , "\x58\xe7\x60" } , { "\xbf\xe8\xc8\xa2" , "\x58\xe7\x60\xd5" } , { "\xbf\xe8\xc8\xda" , "\x58\xe7\x60\xd0" } , { "\xbf\xe8\xc8\xdb\xa2" , "\x58\xe7\x60\xde\xd5" } , { "\xbf\xe8\xc8\xdd" , "\x58\xe7\x60\xca" } , { "\xbf\xe8\xc8\xde" , "\x58\xe7\x60\xcb" } , { "\xbf\xe8\xc8\xe2" , "\x58\xe7\xd2\x60\xdf" } , { "\xbf\xe8\xc8\xe4" , "\x58\xe7\xd2\x60\xd0" } , { "\xbf\xe8\xc8\xe5" , "\x58\xe7\xd2\x60\xd0" } , { "\xbf\xe8\xc8\xe8\xcf" , "\x58\xe7\x60\xf5" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\x58\xe7\x60\xf5\xde" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\x58\xe7\x60\xf6\xe5" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\x58\xe7\xd2\x60\xf5" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\x58\xe7\x60\xed\xd0" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\x58\xe7\xd2\x60\xed" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\x58\xe7\xd2\x60\xed\xd0" } , { "\xbf\xe8\xc9\xda" , "\x58\xe7\x24\xbc\xd0" } , { "\xbf\xe8\xc9\xdb" , "\x58\xe7\x24\xde\xbc" } , { "\xbf\xe8\xc9\xdc" , "\x58\xe7\x24\xbc\xd1" } , { "\xbf\xe8\xc9\xdd" , "\x58\xe7\x24\xca\xbc" } , { "\xbf\xe8\xc9\xe0" , "\x58\xe7\xd2\x24\xbc" } , { "\xbf\xe8\xc9\xe2" , "\x58\xe7\xd2\x24\xdf\xbc" } , { "\xbf\xe8\xc9\xe5" , "\x58\xe7\xd2\x24\xbc\xd0" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\x58\xe7\x24\xf5\xbc\xd1" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\x58\xe7\xd2\x24\xed\xbc\xd0" } , { "\xbf\xe8\xca" , "\x58\xe9" } , { "\xbf\xe8\xca\xa2" , "\x58\xe9\xd5" } , { "\xbf\xe8\xca\xda" , "\x58\xe9\xd0" } , { "\xbf\xe8\xca\xdb" , "\x58\xe9\xde" } , { "\xbf\xe8\xca\xdc" , "\x58\xe9\xd1" } , { "\xbf\xe8\xca\xdd" , "\x58\xe9\xe3" } , { "\xbf\xe8\xca\xe0" , "\xd2\x58\xe9" } , { "\xbf\xe8\xca\xe2" , "\xd2\x58\xe9\xdf" } , { "\xbf\xe8\xca\xe5" , "\xd2\x58\xe9\xd0" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\x58\xe9\x9a\xd1" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x58\xe9\xd4\xd0" } , { "\xbf\xe8\xca\xe8\xcf" , "\x58\xe9\xcd" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\xd2\x58\xe9\xcd" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\x58\xe7\x61\xd4\xe5\xd4" } , { "\xbf\xe8\xcb\xda" , "\x58\xf8\xd0" } , { "\xbf\xe8\xcb\xdd" , "\x58\xf8\xe3" } , { "\xbf\xe8\xcc" , "\x58\xeb" } , { "\xbf\xe8\xcc\xa2" , "\x58\xeb\xd5" } , { "\xbf\xe8\xcc\xda" , "\x58\xeb\xd0" } , { "\xbf\xe8\xcc\xdb" , "\x58\xeb\xde" } , { "\xbf\xe8\xcc\xdb\xa2" , "\x58\xeb\xde\xd5" } , { "\xbf\xe8\xcc\xdc" , "\x58\xeb\xd1" } , { "\xbf\xe8\xcc\xdd" , "\x58\xeb\xe3" } , { "\xbf\xe8\xcc\xe0\xa2" , "\xd2\x58\xeb\xd5" } , { "\xbf\xe8\xcc\xe4" , "\xd2\x58\xeb\xd0" } , { "\xbf\xe8\xcc\xe5" , "\xd2\x58\xeb\xd0" } , { "\xbf\xe8\xcd" , "\x58\xd4" } , { "\xbf\xe8\xcd\xa2" , "\x58\xd5\xd4" } , { "\xbf\xe8\xcd\xda" , "\x58\xd4\xd0" } , { "\xbf\xe8\xcd\xda\xa2" , "\x58\xd4\xd0\xd5" } , { "\xbf\xe8\xcd\xdb" , "\x58\xde\xd4" } , { "\xbf\xe8\xcd\xdd" , "\x58\xca\xd4" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x58\xca\xd5\xd4" } , { "\xbf\xe8\xcd\xde" , "\x58\xcb\xd4" } , { "\xbf\xe8\xcd\xe0" , "\xd2\x58\xd4" } , { "\xbf\xe8\xcd\xe1" , "\xd2\x58\xd4" } , { "\xbf\xe8\xcd\xe5" , "\xd2\x58\xd4\xd0" } , { "\xbf\xe8\xcd\xe5\xa2" , "\xd2\x58\xd4\xd0\xd5" } , { "\xbf\xe8\xcd\xe6" , "\xd2\x58\xd4\xd7" } , { "\xbf\xe8\xcf" , "\x58\xf6" } , { "\xbf\xe8\xcf\xa2" , "\x58\xf6\xd5" } , { "\xbf\xe8\xcf\xda" , "\x58\xf6\xd0" } , { "\xbf\xe8\xcf\xda\xa2" , "\x58\xf6\xd0\xd5" } , { "\xbf\xe8\xcf\xdb" , "\x58\xf6\xde" } , { "\xbf\xe8\xcf\xdb\xa2" , "\x58\xf6\xde\xd5" } , { "\xbf\xe8\xcf\xdc" , "\x58\xf6\xd1" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x58\xf6\xd1\xd5" } , { "\xbf\xe8\xcf\xdd" , "\x58\xf6\xe3" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x58\xf6\xe3\xd5" } , { "\xbf\xe8\xcf\xde" , "\x58\xf6\xe5" } , { "\xbf\xe8\xcf\xde\xa2" , "\x58\xf6\xe5\xd5" } , { "\xbf\xe8\xcf\xe0" , "\xd2\x58\xf6" } , { "\xbf\xe8\xcf\xe0\xa2" , "\xd2\x58\xf6\xd5" } , { "\xbf\xe8\xcf\xe1" , "\xd2\x58\xf6" } , { "\xbf\xe8\xcf\xe1\xa2" , "\xd2\x58\xf6\xd5" } , { "\xbf\xe8\xcf\xe2" , "\xd2\x58\xf6\xdf" } , { "\xbf\xe8\xcf\xe4" , "\xd2\x58\xf6\xd0" } , { "\xbf\xe8\xcf\xe5" , "\xd2\x58\xf6\xd0" } , { "\xbf\xe8\xcf\xe6" , "\xd2\x58\xf6\xd7" } , { "\xbf\xe8\xcf\xe7" , "\xd2\x58\xf6\xd0" } , { "\xbf\xe8\xcf\xe8\xca" , "\x58\xf6\x9a" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x58\xf6\xd4\xd0" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x58\xe7\x65\xe7\xfe\x67\xd0" } , { "\xbf\xe8\xd1" , "\x58\xee" } , { "\xbf\xe8\xd1\xa2" , "\x58\xee\xd5" } , { "\xbf\xe8\xd1\xda" , "\x58\xee\xd0" } , { "\xbf\xe8\xd1\xda\xa2" , "\x58\xee\xd0\xd5" } , { "\xbf\xe8\xd1\xdb" , "\x58\xee\xde" } , { "\xbf\xe8\xd1\xdb\xa2" , "\x58\xee\xde\xd5" } , { "\xbf\xe8\xd1\xdc" , "\x58\xee\xd1" } , { "\xbf\xe8\xd1\xdd" , "\x58\xee\xe3" } , { "\xbf\xe8\xd1\xdd\xa2" , "\x58\xee\xe3\xd5" } , { "\xbf\xe8\xd1\xde" , "\x58\xee\xe5" } , { "\xbf\xe8\xd1\xe0" , "\xd2\x58\xee" } , { "\xbf\xe8\xd1\xe0\xa2" , "\xd2\x58\xee\xd5" } , { "\xbf\xe8\xd1\xe1" , "\xd2\x58\xee" } , { "\xbf\xe8\xd1\xe2" , "\xd2\x58\xee\xdf" } , { "\xbf\xe8\xd1\xe4" , "\xd2\x58\xee\xd0" } , { "\xbf\xe8\xd1\xe5" , "\xd2\x58\xee\xd0" } , { "\xbf\xe8\xd1\xe8" , "\x58\xee\xe7" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\xd2\x58\xee\xe2\xd0" } , { "\xbf\xe8\xd4" , "\x58\xe7\x67" } , { "\xbf\xe8\xd4\xa2" , "\x58\xe7\x67\xd5" } , { "\xbf\xe8\xd4\xda" , "\x58\xe7\x67\xd0" } , { "\xbf\xe8\xd4\xda\xa2" , "\x58\xe7\x67\xd0\xd5" } , { "\xbf\xe8\xd4\xdb" , "\x58\xe7\x67\xde" } , { "\xbf\xe8\xd4\xdb\xa2" , "\x58\xe7\x67\xde\xd5" } , { "\xbf\xe8\xd4\xdc" , "\x58\xe7\x67\xd1" } , { "\xbf\xe8\xd4\xdd" , "\x58\xe7\x67\xca" } , { "\xbf\xe8\xd4\xe0" , "\x58\xe7\xd2\x67" } , { "\xbf\xe8\xd4\xe0\xa2" , "\x58\xe7\xd2\x67\xd5" } , { "\xbf\xe8\xd4\xe1" , "\x58\xe7\xd2\x67" } , { "\xbf\xe8\xd4\xe2" , "\x58\xe7\xd2\x67\xdf" } , { "\xbf\xe8\xd5" , "\x58\xe7\x68" } , { "\xbf\xe8\xd5\xda" , "\x58\xe7\x68\xd0" } , { "\xbf\xe8\xd6" , "\x58\xe7\x69" } , { "\xbf\xe8\xd6\xdb" , "\x58\xe7\x69\xde" } , { "\xbf\xe8\xd6\xdc" , "\x58\xe7\x69\xd1" } , { "\xbf\xe8\xd6\xe5" , "\x58\xe7\xd2\x69\xd0" } , { "\xbf\xe8\xd7" , "\x58\xe7\x6a" } , { "\xbf\xe8\xd7\xa2" , "\x58\xe7\x6a\xd5" } , { "\xbf\xe8\xd7\xda" , "\x58\xe7\x6a\xd0" } , { "\xbf\xe8\xd7\xdb" , "\x58\xe7\x6a\xde" } , { "\xbf\xe8\xd7\xdc" , "\x58\xe7\x6a\xd1" } , { "\xbf\xe8\xd7\xdd" , "\x58\xe7\x6a\xca" } , { "\xbf\xe8\xd7\xde" , "\x58\xe7\x6a\xcb" } , { "\xbf\xe8\xd7\xe1" , "\x58\xe7\xd2\x6a" } , { "\xbf\xe8\xd7\xe4" , "\x58\xe7\xd2\x6a\xd0" } , { "\xbf\xe8\xd7\xe8" , "\x58\xe7\x6a\xe7" } , { "\xbf\xe8\xd7\xe8\xb3" , "\x58\xe7\xb2\xc6" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\x58\xe7\xb2\xc6\xd0" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\x58\xe7\xb2\xde\xc6" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\x58\xe7\xb2\xca\xc6" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\x58\xe7\xd2\xb2\xc6" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x58\xe7\x6a\xe7\xd2\x56" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\x58\xe7\x6a\xe7\x58\xde" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\x58\xe7\xd2\xaa\xc6\xd0" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\x58\xe7\x6a\xef\xde" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\x58\xe7\x6a\xf0\xe3" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\x58\xe7\xb8\xa4\xd0" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\x58\xe7\xb8\xa4\xd1" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\x58\xe7\x6a\xe8\xd5" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\x58\xe7\x6a\xea\xde" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\x58\xe7\xd2\x6a\xed\xd0" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x58\xe7\x6a\xe7\x67" } , { "\xbf\xe8\xd8\xda" , "\x58\xe7\x6b\xfe\xd0" } , { "\xbf\xe8\xd8\xda\xa2" , "\x58\xe7\x6b\xfe\xd0\xd5" } , { "\xbf\xe8\xd8\xdb" , "\x58\xe7\x6b\xde\xfe" } , { "\xbf\xe8\xd8\xe0" , "\x58\xe7\xd2\x6b\xfe" } , { "\xbf\xe8\xd8\xe2" , "\x58\xe7\xd2\x6b\xdf\xfe" } , { "\xbf\xe8\xd8\xe5" , "\x58\xe7\xd2\x6b\xfe\xd0" } , { "\xbf\xe8\xd9\xa7" , "\x58\xe7\x43" } , { "\xbf\xe8\xd9\xcd\xde" , "\x58\xe7\xaf\xcb\xc6" } , { "\xbf\xe8\xd9\xcf" , "\x58\xe7\x65\xfe" } , { "\xbf\xe8\xe8" , "\x58\xe7" } , { "\xbf\xe9" , "\x58\xcf" } , { "\xbf\xe9\xa1" , "\x58\xcf\xdc" } , { "\xbf\xe9\xa2" , "\x58\xcf\xd5" } , { "\xbf\xe9\xc2\xda" , "\x58\xcf\x5b\xd0" } , { "\xbf\xe9\xc2\xdc" , "\x58\xcf\x5b\xd1" } , { "\xbf\xe9\xda" , "\x58\xcf\xd0" } , { "\xbf\xe9\xda\xa1" , "\x58\xcf\xdc\xd0" } , { "\xbf\xe9\xda\xa2" , "\x58\xcf\xd0\xd5" } , { "\xbf\xe9\xdb" , "\x58\xcf\xde" } , { "\xbf\xe9\xdc" , "\x58\xcf\xd1" } , { "\xbf\xe9\xdc\xa2" , "\x58\xcf\xd1\xd5" } , { "\xbf\xe9\xdd" , "\x58\xcf\xe5" } , { "\xbf\xe9\xde" , "\x58\xcf\xca" } , { "\xbf\xe9\xde\xa1" , "\x58\xcf\xca\xdc" } , { "\xbf\xe9\xde\xa2" , "\x58\xcf\xca\xd5" } , { "\xbf\xe9\xe1" , "\xd2\x58\xcf" } , { "\xbf\xe9\xe1\xa2" , "\xd2\x58\xcf\xd5" } , { "\xbf\xe9\xe2" , "\xd2\x58\xcf\xdf" } , { "\xbf\xe9\xe2\xa2" , "\xd2\x58\xcf\xdf\xd5" } , { "\xbf\xe9\xe5" , "\xd2\x58\xcf\xd0" } , { "\xbf\xe9\xe5\xa2" , "\xd2\x58\xcf\xd0\xd5" } , { "\xbf\xe9\xe6" , "\xd2\x58\xcf\xd7" } , { "\xbf\xe9\xe6\xa2" , "\xd2\x58\xcf\xd7\xd5" } , { "\xbf\xe9\xe8" , "\x58\xe7" } , { "\xbf\xe9\xe8\xb3" , "\x58\xe7\x4c" } , { "\xbf\xe9\xe8\xb3\xda" , "\x58\xe7\x4c\xd0" } , { "\xbf\xe9\xe8\xb5" , "\x94\xc6" } , { "\xbf\xe9\xe8\xb5\xda" , "\x94\xc6\xd0" } , { "\xbf\xe9\xe8\xbf\xda" , "\xc5\xa4\xd0" } , { "\xbf\xe9\xe8\xbf\xdb" , "\xc5\xde\xa4" } , { "\xbf\xe9\xe8\xbf\xdc" , "\xc5\xa4\xd1" } , { "\xbf\xe9\xe8\xbf\xe1" , "\xd2\xc5\xa4" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x58\xe7\xd2\x59" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x58\xf2\xe3" } , { "\xbf\xe9\xe8\xcc" , "\x58\xeb" } , { "\xc0" , "\x59" } , { "\xc0\xa1" , "\x59\xdc" } , { "\xc0\xa2" , "\x59\xd5" } , { "\xc0\xa3" , "\x59\xd3" } , { "\xc0\xda" , "\x59\xd0" } , { "\xc0\xda\xa1" , "\x59\xdc\xd0" } , { "\xc0\xda\xa2" , "\x59\xd0\xd5" } , { "\xc0\xdb" , "\x59\xde" } , { "\xc0\xdb\xa2" , "\x59\xde\xd5" } , { "\xc0\xdc" , "\x59\xd1" } , { "\xc0\xdc\xa2" , "\x59\xd1\xd5" } , { "\xc0\xdd" , "\x59\xca" } , { "\xc0\xdd\xa1" , "\x59\xca\xdc" } , { "\xc0\xdd\xa2" , "\x59\xca\xd5" } , { "\xc0\xde" , "\x59\xcb" } , { "\xc0\xde\xa1" , "\x59\xcb\xdc" } , { "\xc0\xde\xa2" , "\x59\xcb\xd5" } , { "\xc0\xdf" , "\x59\xf3" } , { "\xc0\xe0" , "\xd2\x59" } , { "\xc0\xe1" , "\xd2\x59" } , { "\xc0\xe1\xa2" , "\xd2\x59\xd5" } , { "\xc0\xe2" , "\xd2\x59\xdf" } , { "\xc0\xe2\xa3" , "\xd2\x59\xdf\xd3" } , { "\xc0\xe4" , "\xd2\x59\xd0" } , { "\xc0\xe5" , "\xd2\x59\xd0" } , { "\xc0\xe5\xa2" , "\xd2\x59\xd0\xd5" } , { "\xc0\xe6" , "\xd2\x59\xd7" } , { "\xc0\xe6\xa2" , "\xd2\x59\xd7\xd5" } , { "\xc0\xe8" , "\x59\xe7" } , { "\xc0\xe8\xbf\xe1" , "\x59\xe7\xd2\x58" } , { "\xc0\xe8\xc0\xda" , "\x59\xe7\x59\xd0" } , { "\xc0\xe8\xc0\xdc" , "\x59\xe7\x59\xd1" } , { "\xc0\xe8\xc0\xe1" , "\x59\xe7\xd2\x59" } , { "\xc0\xe8\xc0\xe9" , "\x59\xe7\x59" } , { "\xc0\xe8\xc0\xe9\xda" , "\x59\xe7\x59\xd0" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x59\xe7\xd2\x59" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x59\xe7\xd2\x59\xd0\xd5" } , { "\xc0\xe8\xc9\xe5" , "\x59\xe7\xd2\x24\xbc\xd0" } , { "\xc0\xe8\xcd" , "\x59\xd4" } , { "\xc0\xe8\xcd\xa2" , "\x59\xd5\xd4" } , { "\xc0\xe8\xcd\xda" , "\x59\xd4\xd0" } , { "\xc0\xe8\xcd\xdd" , "\x59\xca\xd4" } , { "\xc0\xe8\xcd\xe5\xa2" , "\xd2\x59\xd4\xd0\xd5" } , { "\xc0\xe8\xcf" , "\x59\xf6" } , { "\xc0\xe8\xcf\xa2" , "\x59\xf6\xd5" } , { "\xc0\xe8\xcf\xda" , "\x59\xf6\xd0" } , { "\xc0\xe8\xcf\xdc" , "\x59\xf6\xd1" } , { "\xc0\xe8\xd1\xe5" , "\xd2\x59\xee\xd0" } , { "\xc0\xe8\xe8" , "\x59\xe7" } , { "\xc0\xe9" , "\x59\xcf" } , { "\xc0\xe9\xa1" , "\x59\xcf\xdc" } , { "\xc0\xe9\xa2" , "\x59\xcf\xd5" } , { "\xc0\xe9\xc2\xdc" , "\x59\xcf\x5b\xd1" } , { "\xc0\xe9\xc6\xe1" , "\x59\xcf\xd2\x5f" } , { "\xc0\xe9\xda" , "\x59\xcf\xd0" } , { "\xc0\xe9\xda\xa1" , "\x59\xcf\xdc\xd0" } , { "\xc0\xe9\xda\xa2" , "\x59\xcf\xd0\xd5" } , { "\xc0\xe9\xdb" , "\x59\xcf\xde" } , { "\xc0\xe9\xdb\xa2" , "\x59\xcf\xde\xd5" } , { "\xc0\xe9\xdc" , "\x59\xcf\xd1" } , { "\xc0\xe9\xdc\xa2" , "\x59\xcf\xd1\xd5" } , { "\xc0\xe9\xdd" , "\x59\xcf" } , { "\xc0\xe9\xde" , "\x59\xcf\xe6" } , { "\xc0\xe9\xde\xa1" , "\x59\xcf\xe6\xdc" } , { "\xc0\xe9\xde\xa2" , "\x59\xcf\xe6\xd5" } , { "\xc0\xe9\xe1" , "\xd2\x59\xcf" } , { "\xc0\xe9\xe1\xa2" , "\xd2\x59\xcf\xd5" } , { "\xc0\xe9\xe2" , "\xd2\x59\xcf\xdf" } , { "\xc0\xe9\xe5" , "\xd2\x59\xcf\xd0" } , { "\xc0\xe9\xe5\xa2" , "\xd2\x59\xcf\xd0\xd5" } , { "\xc0\xe9\xe6" , "\xd2\x59\xcf\xd7" } , { "\xc0\xe9\xe8\xcd" , "\x59\xd4" } , { "\xc1" , "\x5a" } , { "\xc1\xa1" , "\x5a\xdc" } , { "\xc1\xa1\xa1" , "\x5a\xdc\xdc" } , { "\xc1\xa2" , "\x5a\xd5" } , { "\xc1\xa3" , "\x5a\xd3" } , { "\xc1\xda" , "\x5a\xd0" } , { "\xc1\xda\xa2" , "\x5a\xd0\xd5" } , { "\xc1\xda\xa3" , "\x5a\xd0\xd3" } , { "\xc1\xdb" , "\x5a\xde" } , { "\xc1\xdb\xa2" , "\x5a\xde\xd5" } , { "\xc1\xdb\xa3" , "\x5a\xde\xd3" } , { "\xc1\xdc" , "\x5a\xd1" } , { "\xc1\xdc\xa2" , "\x5a\xd1\xd5" } , { "\xc1\xdd" , "\x5a\xca" } , { "\xc1\xdd\xa2" , "\x5a\xca\xd5" } , { "\xc1\xde" , "\x5a\xcb" } , { "\xc1\xde\xa2" , "\x5a\xcb\xd5" } , { "\xc1\xdf" , "\x5a\xf3" } , { "\xc1\xe0" , "\xd2\x5a" } , { "\xc1\xe0\xa2" , "\xd2\x5a\xd5" } , { "\xc1\xe1" , "\xd2\x5a" } , { "\xc1\xe1\xa2" , "\xd2\x5a\xd5" } , { "\xc1\xe2" , "\xd2\x5a\xdf" } , { "\xc1\xe2\xa2" , "\xd2\x5a\xdf\xd5" } , { "\xc1\xe2\xa3" , "\xd2\x5a\xdf\xd3" } , { "\xc1\xe4" , "\xd2\x5a\xd0" } , { "\xc1\xe5" , "\xd2\x5a\xd0" } , { "\xc1\xe5\xa2" , "\xd2\x5a\xd0\xd5" } , { "\xc1\xe6" , "\xd2\x5a\xd7" } , { "\xc1\xe8" , "\x5a\xe7" } , { "\xc1\xe8\xb3\xdd" , "\x5a\xe7\x4c\xca" } , { "\xc1\xe8\xb3\xe1" , "\x5a\xe7\xd2\x4c" } , { "\xc1\xe8\xb5\xda" , "\x5a\xe7\x4e\xd0" } , { "\xc1\xe8\xba\xda" , "\x5a\xe7\x53\xd0" } , { "\xc1\xe8\xba\xe5\xa2" , "\x5a\xe7\xd2\x53\xd0\xd5" } , { "\xc1\xe8\xbd" , "\xc3\xa4" } , { "\xc1\xe8\xbd\xda" , "\xc3\xa4\xd0" } , { "\xc1\xe8\xbd\xdb" , "\xc3\xde\xa4" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xc3\xde\xd6\xa4" } , { "\xc1\xe8\xbd\xdc" , "\xc3\xa4\xd1" } , { "\xc1\xe8\xbd\xdd" , "\xc3\xca\xa4" } , { "\xc1\xe8\xbd\xde" , "\xc3\xcb\xa4" } , { "\xc1\xe8\xbd\xe1" , "\xd2\xc3\xa4" } , { "\xc1\xe8\xbd\xe1\xa2" , "\xd2\xc3\xa4\xd6" } , { "\xc1\xe8\xbd\xe5" , "\xd2\xc3\xa4\xd0" } , { "\xc1\xe8\xbd\xe5\xa2" , "\xd2\xc3\xa4\xd0\xd6" } , { "\xc1\xe8\xbd\xe8\xcf" , "\xc3\xf6\xa4" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\xc3\xf6\xa4\xd1" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\xd2\xc3\xf6\xa4\xd0" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x5a\xe7\x56\xe7\x6a" } , { "\xc1\xe8\xbe" , "\xb6\xa4" } , { "\xc1\xe8\xbe\xa2" , "\xb6\xd6\xa4" } , { "\xc1\xe8\xbe\xda" , "\xb6\xa4\xd0" } , { "\xc1\xe8\xbe\xdb" , "\xb6\xde\xa4" } , { "\xc1\xe8\xbe\xdc" , "\xb6\xa4\xd1" } , { "\xc1\xe8\xbe\xe1" , "\xd2\xb6\xa4" } , { "\xc1\xe8\xbe\xe5" , "\xd2\xb6\xa4\xd0" } , { "\xc1\xe8\xbe\xe5\xa2" , "\xd2\xb6\xa4\xd0\xd6" } , { "\xc1\xe8\xbf" , "\xa8\xc6" } , { "\xc1\xe8\xbf\xa2" , "\xa8\xd6\xc6" } , { "\xc1\xe8\xbf\xda" , "\xa8\xc6\xd0" } , { "\xc1\xe8\xbf\xda\xa2" , "\xa8\xc6\xd0\xd6" } , { "\xc1\xe8\xbf\xdb" , "\xa8\xde\xc6" } , { "\xc1\xe8\xbf\xdb\xa2" , "\xa8\xde\xd6\xc6" } , { "\xc1\xe8\xbf\xdc" , "\xa8\xc6\xd1" } , { "\xc1\xe8\xbf\xdd" , "\xa8\xca\xc6" } , { "\xc1\xe8\xbf\xde" , "\xa8\xcb\xc6" } , { "\xc1\xe8\xbf\xe1" , "\xd2\xa8\xc6" } , { "\xc1\xe8\xbf\xe1\xa2" , "\xd2\xa8\xc6\xd6" } , { "\xc1\xe8\xbf\xe2" , "\xd2\xa8\xdf\xc6" } , { "\xc1\xe8\xbf\xe5" , "\xd2\xa8\xc6\xd0" } , { "\xc1\xe8\xbf\xe5\xa2" , "\xd2\xa8\xc6\xd0\xd6" } , { "\xc1\xe8\xbf\xe6" , "\xd2\xa8\xc6\xd7" } , { "\xc1\xe8\xbf\xe8\xcd" , "\xa8\xc6\xd4" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\xa8\xc6\xd4\xd0" } , { "\xc1\xe8\xbf\xe8\xcf" , "\xa8\xf6\xc6" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\xa8\xf6\xc6\xd0" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\xa8\xf6\xde\xc6" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\xa8\xf6\xc6\xd1" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\xa8\xf6\xe5\xc6" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\xd2\xa8\xf6\xc6" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\xd2\xa8\xf6\xc6\xd0" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x5a\xe7\x58\xe7\x6a" } , { "\xc1\xe8\xbf\xe9" , "\xa8\xc6" } , { "\xc1\xe8\xbf\xe9\xda" , "\xa8\xc6\xd0" } , { "\xc1\xe8\xbf\xe9\xdc" , "\xa8\xc6\xd1" } , { "\xc1\xe8\xbf\xe9\xe1" , "\xd2\xa8\xc6" } , { "\xc1\xe8\xbf\xe9\xe5" , "\xd2\xa8\xc6\xd0" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\xd2\xa8\xc6\xd0\xd6" } , { "\xc1\xe8\xc0" , "\xac\xc6" } , { "\xc1\xe8\xc0\xdb" , "\xac\xde\xc6" } , { "\xc1\xe8\xc1" , "\xc0\xa4" } , { "\xc1\xe8\xc1\xa2" , "\xc0\xd6\xa4" } , { "\xc1\xe8\xc1\xda" , "\xc0\xa4\xd0" } , { "\xc1\xe8\xc1\xda\xa2" , "\xc0\xa4\xd0\xd6" } , { "\xc1\xe8\xc1\xdb" , "\xc0\xde\xa4" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xc0\xde\xd6\xa4" } , { "\xc1\xe8\xc1\xdc" , "\xc0\xa4\xd1" } , { "\xc1\xe8\xc1\xdc\xa2" , "\xc0\xa4\xd1\xd6" } , { "\xc1\xe8\xc1\xdd" , "\xc0\xca\xa4" } , { "\xc1\xe8\xc1\xdd\xa2" , "\xc0\xca\xd6\xa4" } , { "\xc1\xe8\xc1\xde" , "\xc0\xcb\xa4" } , { "\xc1\xe8\xc1\xe0" , "\xd2\xc0\xa4" } , { "\xc1\xe8\xc1\xe0\xa2" , "\xd2\xc0\xa4\xd6" } , { "\xc1\xe8\xc1\xe1" , "\xd2\xc0\xa4" } , { "\xc1\xe8\xc1\xe2" , "\xd2\xc0\xdf\xa4" } , { "\xc1\xe8\xc1\xe4" , "\xd2\xc0\xa4\xd0" } , { "\xc1\xe8\xc1\xe5" , "\xd2\xc0\xa4\xd0" } , { "\xc1\xe8\xc2\xdb" , "\x5a\xf1\xde" } , { "\xc1\xe8\xc2\xe5" , "\xd2\x5a\xf1\xd0" } , { "\xc1\xe8\xc4\xdb" , "\x5a\xe7\x5d\xde" } , { "\xc1\xe8\xc4\xdd" , "\x5a\xe7\x5d\xca" } , { "\xc1\xe8\xc4\xe0" , "\x5a\xe7\xd2\x5d" } , { "\xc1\xe8\xc6" , "\x5a\xef" } , { "\xc1\xe8\xc6\xa2" , "\x5a\xef\xd5" } , { "\xc1\xe8\xc6\xda" , "\x5a\xef\xd0" } , { "\xc1\xe8\xc6\xdb" , "\x5a\xef\xde" } , { "\xc1\xe8\xc6\xdb\xa2" , "\x5a\xef\xde\xd5" } , { "\xc1\xe8\xc6\xdc" , "\x5a\xef\xd1" } , { "\xc1\xe8\xc6\xdd" , "\x5a\xf0\xe3" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x5a\xf0\xe3\xd5" } , { "\xc1\xe8\xc6\xe0" , "\xd2\x5a\xef" } , { "\xc1\xe8\xc6\xe0\xa2" , "\xd2\x5a\xef\xd5" } , { "\xc1\xe8\xc6\xe1" , "\xd2\x5a\xef" } , { "\xc1\xe8\xc6\xe1\xa2" , "\xd2\x5a\xef\xd5" } , { "\xc1\xe8\xc6\xe5" , "\xd2\x5a\xef\xd0" } , { "\xc1\xe8\xc8" , "\x5a\xe7\x60" } , { "\xc1\xe8\xc8\xda" , "\x5a\xe7\x60\xd0" } , { "\xc1\xe8\xc8\xe8\xcf" , "\x5a\xe7\x60\xf5" } , { "\xc1\xe8\xca\xda" , "\x5a\xe8\xd0" } , { "\xc1\xe8\xcc" , "\x5a\xea" } , { "\xc1\xe8\xcc\xda" , "\x5a\xea\xd0" } , { "\xc1\xe8\xcc\xdb" , "\x5a\xea\xde" } , { "\xc1\xe8\xcc\xdc" , "\x5a\xea\xd1" } , { "\xc1\xe8\xcc\xdd" , "\x5a\xeb\xe3" } , { "\xc1\xe8\xcc\xde" , "\x5a\xeb\xe5" } , { "\xc1\xe8\xcc\xe0" , "\xd2\x5a\xea" } , { "\xc1\xe8\xcc\xe1" , "\xd2\x5a\xea" } , { "\xc1\xe8\xcd" , "\x5a\xd4" } , { "\xc1\xe8\xcd\xa2" , "\x5a\xd5\xd4" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x5a\xd5\xd4\xd5" } , { "\xc1\xe8\xcd\xda" , "\x5a\xd4\xd0" } , { "\xc1\xe8\xcd\xda\xa2" , "\x5a\xd4\xd0\xd5" } , { "\xc1\xe8\xcd\xdc" , "\x5a\xd4\xd1" } , { "\xc1\xe8\xcd\xdd" , "\x5a\xca\xd4" } , { "\xc1\xe8\xcd\xde\xa2" , "\x5a\xcb\xd5\xd4" } , { "\xc1\xe8\xcd\xe1" , "\xd2\x5a\xd4" } , { "\xc1\xe8\xcd\xe5" , "\xd2\x5a\xd4\xd0" } , { "\xc1\xe8\xcd\xe5\xa2" , "\xd2\x5a\xd4\xd0\xd5" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x5a\xd4" } , { "\xc1\xe8\xcf\xda" , "\x5a\xf5\xd0" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x5a\xf5\xd4" } , { "\xc1\xe8\xd0\xdd" , "\x5a\xf6\xe3" } , { "\xc1\xe8\xd1" , "\x5a\xed" } , { "\xc1\xe8\xd1\xda\xa2" , "\x5a\xed\xd0\xd5" } , { "\xc1\xe8\xd1\xdd" , "\x5a\xee\xe3" } , { "\xc1\xe8\xd4" , "\x5a\xe7\x67" } , { "\xc1\xe8\xd4\xa2" , "\x5a\xe7\x67\xd5" } , { "\xc1\xe8\xd4\xda" , "\x5a\xe7\x67\xd0" } , { "\xc1\xe8\xd4\xdb" , "\x5a\xe7\x67\xde" } , { "\xc1\xe8\xd4\xdc" , "\x5a\xe7\x67\xd1" } , { "\xc1\xe8\xd4\xdd" , "\x5a\xe7\x67\xca" } , { "\xc1\xe8\xd4\xe1" , "\x5a\xe7\xd2\x67" } , { "\xc1\xe8\xd5\xe6" , "\x5a\xe7\xd2\x68\xd7" } , { "\xc1\xe8\xd7\xdb\xa2" , "\x5a\xe7\x6a\xde\xd5" } , { "\xc1\xe8\xd9\xbf\xdb" , "\x5a\xe7\x58\xde" } , { "\xc1\xe8\xe8" , "\x5a\xe7" } , { "\xc1\xe9" , "\x5a" } , { "\xc1\xe9\xe8\xbf" , "\xa8\xc6" } , { "\xc1\xe9\xe8\xbf\xda" , "\xa8\xc6\xd0" } , { "\xc1\xe9\xe8\xbf\xdb" , "\xa8\xde\xc6" } , { "\xc1\xe9\xe8\xbf\xe1" , "\xd2\xa8\xc6" } , { "\xc2" , "\x5b" } , { "\xc2\xa1" , "\x5b\xdc" } , { "\xc2\xa2" , "\x5b\xd5" } , { "\xc2\xa2\xa2" , "\x5b\xd5\xd5" } , { "\xc2\xa3" , "\x5b\xd3" } , { "\xc2\xd0\xc6\xda" , "\x5b\x65\xfe\x5f\xd0" } , { "\xc2\xda" , "\x5b\xd0" } , { "\xc2\xda\xa1" , "\x5b\xdc\xd0" } , { "\xc2\xda\xa2" , "\x5b\xd0\xd5" } , { "\xc2\xda\xa2\xa2" , "\x5b\xd0\xd5\xd5" } , { "\xc2\xda\xa3" , "\x5b\xd0\xd3" } , { "\xc2\xdb" , "\x5b\xde" } , { "\xc2\xdb\xa2" , "\x5b\xde\xd5" } , { "\xc2\xdb\xa3" , "\x5b\xde\xd3" } , { "\xc2\xdc" , "\x5b\xd1" } , { "\xc2\xdc\xa2" , "\x5b\xd1\xd5" } , { "\xc2\xdd" , "\x5b\xca" } , { "\xc2\xdd\xa1" , "\x5b\xca\xdc" } , { "\xc2\xdd\xa2" , "\x5b\xca\xd5" } , { "\xc2\xdd\xa2\xa2" , "\x5b\xca\xd5\xd5" } , { "\xc2\xdd\xa3" , "\x5b\xca\xd3" } , { "\xc2\xde" , "\x5b\xcb" } , { "\xc2\xde\xa1" , "\x5b\xcb\xdc" } , { "\xc2\xde\xa2" , "\x5b\xcb\xd5" } , { "\xc2\xdf" , "\x5b\xf3" } , { "\xc2\xdf\xa2" , "\x5b\xf3\xd5" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x5b\xf3\x65\xe7\xfe\x5b\xde" } , { "\xc2\xe0" , "\xd2\x5b" } , { "\xc2\xe0\xa2" , "\xd2\x5b\xd5" } , { "\xc2\xe1" , "\xd2\x5b" } , { "\xc2\xe1\xa2" , "\xd2\x5b\xd5" } , { "\xc2\xe1\xa3" , "\xd2\x5b\xd3" } , { "\xc2\xe2" , "\xd2\x5b\xdf" } , { "\xc2\xe2\xa2" , "\xd2\x5b\xdf\xd5" } , { "\xc2\xe2\xa3" , "\xd2\x5b\xdf\xd3" } , { "\xc2\xe4" , "\xd2\x5b\xd0" } , { "\xc2\xe4\xa2" , "\xd2\x5b\xd0\xd5" } , { "\xc2\xe5" , "\xd2\x5b\xd0" } , { "\xc2\xe5\xa2" , "\xd2\x5b\xd0\xd5" } , { "\xc2\xe5\xa3" , "\xd2\x5b\xd0\xd3" } , { "\xc2\xe6" , "\xd2\x5b\xd7" } , { "\xc2\xe6\xa2" , "\xd2\x5b\xd7\xd5" } , { "\xc2\xe7" , "\xd2\x5b\xd0" } , { "\xc2\xe8" , "\x5b\xe7" } , { "\xc2\xe8\xb3" , "\x4c\xfa" } , { "\xc2\xe8\xb3\xa2" , "\x4c\xfa\xd5" } , { "\xc2\xe8\xb3\xda" , "\x4c\xfa\xd0" } , { "\xc2\xe8\xb3\xda\xa2" , "\x4c\xfa\xd0\xd5" } , { "\xc2\xe8\xb3\xdb" , "\x4c\xfa\xde" } , { "\xc2\xe8\xb3\xdb\xa2" , "\x4c\xfa\xde\xd5" } , { "\xc2\xe8\xb3\xdc" , "\x4c\xfa\xd1" } , { "\xc2\xe8\xb3\xdd" , "\x4c\xfa\xe4" } , { "\xc2\xe8\xb3\xdd\xa2" , "\x4c\xfa\xe4\xd5" } , { "\xc2\xe8\xb3\xde" , "\x4c\xfa\xe6" } , { "\xc2\xe8\xb3\xdf" , "\x4c\xfa\xcc" } , { "\xc2\xe8\xb3\xe0" , "\xd2\x4c\xfa" } , { "\xc2\xe8\xb3\xe1" , "\xd2\x4c\xfa" } , { "\xc2\xe8\xb3\xe1\xa2" , "\xd2\x4c\xfa\xd5" } , { "\xc2\xe8\xb3\xe4" , "\xd2\x4c\xfa\xd0" } , { "\xc2\xe8\xb3\xe5" , "\xd2\x4c\xfa\xd0" } , { "\xc2\xe8\xb3\xe8\xc2" , "\x5b\xe7\xa6\xc6" } , { "\xc2\xe8\xb3\xe8\xcf" , "\x4c\xfa\xcd" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\x4c\xfa\xcd\xd5" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\x4c\xfa\xcd\xde" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\xd2\x4c\xfa\xcd\xd5" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\xd2\x4c\xfa\xcd\xd0" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\xd2\x4c\xfa\xe2" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\xd2\x4c\xfa\xe2\xd0" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x5b\xe7\x4c\xe7\x67" } , { "\xc2\xe8\xb3\xe8\xd6" , "\x5b\xe7\x6c" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\x5b\xe7\x6c\xde" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\x5b\xe7\xd2\x6c" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\x5b\xe7\x4c\xe7\xbd\xa4" } , { "\xc2\xe8\xb4" , "\x5b\xe7\x4d" } , { "\xc2\xe8\xb4\xa2" , "\x5b\xe7\x4d\xd5" } , { "\xc2\xe8\xb4\xda" , "\x5b\xe7\x4d\xd0" } , { "\xc2\xe8\xb4\xe1" , "\x5b\xe7\xd2\x4d" } , { "\xc2\xe8\xb5\xda" , "\x5b\xe7\x4e\xd0" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x5b\xe7\x4e\xe7\x6b\xfe" } , { "\xc2\xe8\xb8" , "\x5b\xe7\x51" } , { "\xc2\xe8\xb8\xda" , "\x5b\xe7\x51\xd0" } , { "\xc2\xe8\xb8\xe1" , "\x5b\xe7\xd2\x51" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x5b\xe7\x6f" } , { "\xc2\xe8\xba" , "\x5b\xe7\x53" } , { "\xc2\xe8\xba\xa2" , "\x5b\xe7\x53\xd5" } , { "\xc2\xe8\xba\xdb" , "\x5b\xe7\x53\xde" } , { "\xc2\xe8\xba\xe8\xbc" , "\x5b\xe7\x73" } , { "\xc2\xe8\xba\xe9" , "\x5b\xe7\x53" } , { "\xc2\xe8\xbd\xe2" , "\x5b\xe7\xd2\x56\xdf" } , { "\xc2\xe8\xbf\xdd" , "\x5b\xe7\x58\xca" } , { "\xc2\xe8\xbf\xe5" , "\x5b\xe7\xd2\x58\xd0" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\x5b\xe7\x58\xf6\xd0" } , { "\xc2\xe8\xc1" , "\x5b\xe7\x5a" } , { "\xc2\xe8\xc2" , "\x72\xfe" } , { "\xc2\xe8\xc2\xa2" , "\x72\xd5\xfe" } , { "\xc2\xe8\xc2\xda" , "\x72\xfe\xd0" } , { "\xc2\xe8\xc2\xda\xa1" , "\x72\xdc\xfe\xd0" } , { "\xc2\xe8\xc2\xda\xa2" , "\x72\xfe\xd0\xd5" } , { "\xc2\xe8\xc2\xda\xa3" , "\x72\xfe\xd0\xd3" } , { "\xc2\xe8\xc2\xdb" , "\x72\xde\xfe" } , { "\xc2\xe8\xc2\xdb\xa2" , "\x72\xde\xd5\xfe" } , { "\xc2\xe8\xc2\xdb\xa3" , "\x72\xde\xfe\xd3" } , { "\xc2\xe8\xc2\xdc" , "\x72\xfe\xd1" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x72\xfe\xd1\xd5" } , { "\xc2\xe8\xc2\xdd" , "\x72\xca\xfe" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x72\xca\xd5\xfe" } , { "\xc2\xe8\xc2\xde" , "\x72\xcb\xfe" } , { "\xc2\xe8\xc2\xde\xa2" , "\x72\xcb\xd5\xfe" } , { "\xc2\xe8\xc2\xdf" , "\x72\xf3\xfe" } , { "\xc2\xe8\xc2\xe0" , "\xd2\x72\xfe" } , { "\xc2\xe8\xc2\xe0\xa2" , "\xd2\x72\xfe\xd5" } , { "\xc2\xe8\xc2\xe1" , "\xd2\x72\xfe" } , { "\xc2\xe8\xc2\xe1\xa2" , "\xd2\x72\xfe\xd5" } , { "\xc2\xe8\xc2\xe1\xa3" , "\xd2\x72\xfe\xd3" } , { "\xc2\xe8\xc2\xe2" , "\xd2\x72\xdf\xfe" } , { "\xc2\xe8\xc2\xe4" , "\xd2\x72\xfe\xd0" } , { "\xc2\xe8\xc2\xe5" , "\xd2\x72\xfe\xd0" } , { "\xc2\xe8\xc2\xe5\xa2" , "\xd2\x72\xfe\xd0\xd5" } , { "\xc2\xe8\xc2\xe6" , "\xd2\x72\xfe\xd7" } , { "\xc2\xe8\xc2\xe8" , "\x72\xe7\xfe" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x5b\xe7\x4c\xfa" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x5b\xe7\x4c\xfa\xd0" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\x5b\xe7\x5b\xe7\x6c" } , { "\xc2\xe8\xc2\xe8\xc2" , "\x72\xf2\xfe" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\x72\xf2\xfe\xd0" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\x72\xf2\xde\xfe" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\xd2\x72\xf2\xfe" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x5b\xe7\x72\xf2\xe7\xfe" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x5b\xe7\x5b\xe7\x5b\xe7\xd2\x67\xd0\xd5" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\x5b\xe7\x5b\xe7\x5c\xd0" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x5b\xe7\x60\xf9\xe5" } , { "\xc2\xe8\xc2\xe8\xcc" , "\x72\xeb\xfe" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x72\xfe\xd4" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x72\xd5\xfe\xd4" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x72\xfe\xd4\xd0" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x72\xca\xfe\xd4" } , { "\xc2\xe8\xc2\xe8\xcf" , "\x72\xf6\xfe" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\x72\xf6\xd5\xfe" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\x72\xf6\xfe\xd0" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\x72\xf6\xde\xfe" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\xd2\x72\xf6\xfe" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\xd2\x72\xf6\xdf\xfe" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\x5b\xe7\x5b\xf6\xd4" } , { "\xc2\xe8\xc2\xe8\xd4" , "\x5b\xe7\x5b\xe7\x67" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\x5b\xe7\x5b\xe7\x67\xd5" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\x5b\xe7\x5b\xe7\x67\xd0" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\x5b\xe7\x5b\xe7\x67\xd0\xd5" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\x5b\xe7\x5b\xe7\x67\xde" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\x5b\xe7\x5b\xe7\x67\xcb" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x5b\xe7\x5b\xe7\xd2\x67\xd0" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x5b\xe7\x5b\xe7\xd2\x67\xd0\xd5" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x5b\xe7\x5b\xe7\x60" } , { "\xc2\xe8\xc3" , "\x5b\xe7\x5c" } , { "\xc2\xe8\xc3\xa2" , "\x5b\xe7\x5c\xd5" } , { "\xc2\xe8\xc3\xda" , "\x5b\xe7\x5c\xd0" } , { "\xc2\xe8\xc3\xdb" , "\x5b\xe7\x5c\xde" } , { "\xc2\xe8\xc3\xdc" , "\x5b\xe7\x5c\xd1" } , { "\xc2\xe8\xc3\xde" , "\x5b\xe7\x5c\xcb" } , { "\xc2\xe8\xc3\xe1" , "\x5b\xe7\xd2\x5c" } , { "\xc2\xe8\xc3\xe5" , "\x5b\xe7\xd2\x5c\xd0" } , { "\xc2\xe8\xc3\xe5\xa2" , "\x5b\xe7\xd2\x5c\xd0\xd5" } , { "\xc2\xe8\xc4" , "\x5b\xe7\x5d" } , { "\xc2\xe8\xc4\xda" , "\x5b\xe7\x5d\xd0" } , { "\xc2\xe8\xc4\xdd" , "\x5b\xe7\x5d\xca" } , { "\xc2\xe8\xc4\xe1" , "\x5b\xe7\xd2\x5d" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x5b\xe7\x5d\xe7\xd2\x67\xdf" } , { "\xc2\xe8\xc5" , "\x5b\xe7\x5e" } , { "\xc2\xe8\xc5\xa2" , "\x5b\xe7\x5e\xd5" } , { "\xc2\xe8\xc5\xda" , "\x5b\xe7\x5e\xd0" } , { "\xc2\xe8\xc5\xda\xa2" , "\x5b\xe7\x5e\xd0\xd5" } , { "\xc2\xe8\xc5\xdb" , "\x5b\xe7\x5e\xde" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x5b\xe7\x5e\xe7\x6a" } , { "\xc2\xe8\xc6" , "\x5b\xf0" } , { "\xc2\xe8\xc6\xa2" , "\x5b\xf0\xd5" } , { "\xc2\xe8\xc6\xda" , "\x5b\xf0\xd0" } , { "\xc2\xe8\xc6\xda\xa2" , "\x5b\xf0\xd0\xd5" } , { "\xc2\xe8\xc6\xdb" , "\x5b\xf0\xde" } , { "\xc2\xe8\xc6\xdb\xa2" , "\x5b\xf0\xde\xd5" } , { "\xc2\xe8\xc6\xdc" , "\x5b\xf0\xd1" } , { "\xc2\xe8\xc6\xdd" , "\x5b\xf0\xe3" } , { "\xc2\xe8\xc6\xdd\xa2" , "\x5b\xf0\xe3\xd5" } , { "\xc2\xe8\xc6\xe1" , "\xd2\x5b\xf0" } , { "\xc2\xe8\xc6\xe5" , "\xd2\x5b\xf0\xd0" } , { "\xc2\xe8\xc6\xe5\xa2" , "\xd2\x5b\xf0\xd0\xd5" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x5b\xf0\xd4" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x5b\xf0\xd4\xd0\xd3" } , { "\xc2\xe8\xc8" , "\x60\xf9" } , { "\xc2\xe8\xc8\xa2" , "\x60\xf9\xd5" } , { "\xc2\xe8\xc8\xda" , "\x60\xf9\xd0" } , { "\xc2\xe8\xc8\xda\xa2" , "\x60\xf9\xd0\xd5" } , { "\xc2\xe8\xc8\xdb" , "\x60\xf9\xde" } , { "\xc2\xe8\xc8\xdb\xa2" , "\x60\xf9\xde\xd5" } , { "\xc2\xe8\xc8\xdc" , "\x60\xf9\xd1" } , { "\xc2\xe8\xc8\xdd" , "\x60\xf9\xe3" } , { "\xc2\xe8\xc8\xde" , "\x60\xf9\xe5" } , { "\xc2\xe8\xc8\xdf" , "\x60\xf9\xcc" } , { "\xc2\xe8\xc8\xe1" , "\xd2\x60\xf9" } , { "\xc2\xe8\xc8\xe6" , "\xd2\x60\xf9\xd7" } , { "\xc2\xe8\xc8\xe8\xc2" , "\x5b\xe7\xa9\xc6" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\x5b\xe7\xa9\xde\xc6" } , { "\xc2\xe8\xc8\xe8\xcf" , "\x60\xf9\xcd" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\x60\xf9\xcd\xd0" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\x60\xf9\xcd\xd0\xd5" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\x60\xf9\xcd\xde" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\xd2\x60\xf9\xcd" } , { "\xc2\xe8\xc8\xe8\xd1" , "\x60\xf9\xe2" } , { "\xc2\xe8\xc9" , "\x5b\xe7\x24\xbc" } , { "\xc2\xe8\xc9\xda" , "\x5b\xe7\x24\xbc\xd0" } , { "\xc2\xe8\xc9\xdb" , "\x5b\xe7\x24\xde\xbc" } , { "\xc2\xe8\xc9\xdd" , "\x5b\xe7\x24\xca\xbc" } , { "\xc2\xe8\xc9\xe8\xcf" , "\x5b\xe7\x24\xf5\xbc" } , { "\xc2\xe8\xc9\xe9" , "\x5b\xe7\x24\xbc" } , { "\xc2\xe8\xca" , "\x5b\xe9" } , { "\xc2\xe8\xca\xa2" , "\x5b\xe9\xd5" } , { "\xc2\xe8\xca\xda" , "\x5b\xe9\xd0" } , { "\xc2\xe8\xca\xdb" , "\x5b\xe9\xde" } , { "\xc2\xe8\xca\xdd" , "\x5b\xe9\xe3" } , { "\xc2\xe8\xca\xe1" , "\xd2\x5b\xe9" } , { "\xc2\xe8\xca\xe8\xcf" , "\x5b\xe9\xcd" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\x5b\xe9\xe2\xd0" } , { "\xc2\xe8\xcb" , "\x5b\xf8" } , { "\xc2\xe8\xcb\xda" , "\x5b\xf8\xd0" } , { "\xc2\xe8\xcb\xda\xa2" , "\x5b\xf8\xd0\xd5" } , { "\xc2\xe8\xcb\xdb" , "\x5b\xf8\xde" } , { "\xc2\xe8\xcb\xdd" , "\x5b\xf8\xe3" } , { "\xc2\xe8\xcb\xde" , "\x5b\xf8\xe5" } , { "\xc2\xe8\xcc" , "\x5b\xeb" } , { "\xc2\xe8\xcc\xa2" , "\x5b\xeb\xd5" } , { "\xc2\xe8\xcc\xda" , "\x5b\xeb\xd0" } , { "\xc2\xe8\xcc\xdb" , "\x5b\xeb\xde" } , { "\xc2\xe8\xcc\xdc" , "\x5b\xeb\xd1" } , { "\xc2\xe8\xcc\xdd" , "\x5b\xeb\xe3" } , { "\xc2\xe8\xcc\xdd\xa2" , "\x5b\xeb\xe3\xd5" } , { "\xc2\xe8\xcc\xdf" , "\x5b\xeb\xcc" } , { "\xc2\xe8\xcc\xe1" , "\xd2\x5b\xeb" } , { "\xc2\xe8\xcc\xe1\xa2" , "\xd2\x5b\xeb\xd5" } , { "\xc2\xe8\xcc\xe2" , "\xd2\x5b\xeb\xdf" } , { "\xc2\xe8\xcc\xe4" , "\xd2\x5b\xeb\xd0" } , { "\xc2\xe8\xcc\xe5" , "\xd2\x5b\xeb\xd0" } , { "\xc2\xe8\xcc\xe6" , "\xd2\x5b\xeb\xd7" } , { "\xc2\xe8\xcc\xe8" , "\x5b\xeb\xe7" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x5b\xe7\x63\xe7\x4c" } , { "\xc2\xe8\xcc\xe8\xca" , "\x5b\xeb\x9a" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x5b\xeb\xd4" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x5b\xeb\xd5\xd4" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x5b\xeb\xd4\xd0" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\xd2\x5b\xeb\xd4\xd0\xd5" } , { "\xc2\xe8\xcd" , "\x5b\xd4" } , { "\xc2\xe8\xcd\xa2" , "\x5b\xd5\xd4" } , { "\xc2\xe8\xcd\xda" , "\x5b\xd4\xd0" } , { "\xc2\xe8\xcd\xda\xa2" , "\x5b\xd4\xd0\xd5" } , { "\xc2\xe8\xcd\xdb" , "\x5b\xde\xd4" } , { "\xc2\xe8\xcd\xdc" , "\x5b\xd4\xd1" } , { "\xc2\xe8\xcd\xdd" , "\x5b\xca\xd4" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x5b\xca\xd5\xd4" } , { "\xc2\xe8\xcd\xde" , "\x5b\xcb\xd4" } , { "\xc2\xe8\xcd\xe1" , "\xd2\x5b\xd4" } , { "\xc2\xe8\xcd\xe1\xa2" , "\xd2\x5b\xd4\xd5" } , { "\xc2\xe8\xcd\xe5" , "\xd2\x5b\xd4\xd0" } , { "\xc2\xe8\xcd\xe5\xa2" , "\xd2\x5b\xd4\xd0\xd5" } , { "\xc2\xe8\xcd\xe6" , "\xd2\x5b\xd4\xd7" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x5b\xe7\xaf\xf2\xc6" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x5b\xe7\xaf\xf2\xe7\xc6" } , { "\xc2\xe8\xcd\xe8\xcc" , "\x5b\xd4\x9b" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\x5b\xd4\x9b\xd5" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\x5b\xd4\x9b\xd0" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x5b\xd4" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x5b\xd5\xd4" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x5b\xd4\xd0" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\xd2\x5b\xd4" } , { "\xc2\xe8\xcd\xe8\xcf" , "\x5b\xd4\xcd" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\x5b\xd4\xcd\xd5" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\x5b\xd4\xcd\xd3" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\x5b\xd4\xcd\xd0" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\xd2\x5b\xd4\xcd\xd0" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x5b\xe7\xaf\xe7\xc6\x6a" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x5b\xe7\xaf\xe7\xc6\x6a\xd3" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x5b\xe7\xaf\xe7\xc6\x6a\xd0" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x5b\xe7\xaf\xe7\xc6\xd2\x6a\xd5" } , { "\xc2\xe8\xcf" , "\x5b\xf6" } , { "\xc2\xe8\xcf\xa2" , "\x5b\xf6\xd5" } , { "\xc2\xe8\xcf\xa3" , "\x5b\xf6\xd3" } , { "\xc2\xe8\xcf\xda" , "\x5b\xf6\xd0" } , { "\xc2\xe8\xcf\xda\xa2" , "\x5b\xf6\xd0\xd5" } , { "\xc2\xe8\xcf\xdb" , "\x5b\xf6\xde" } , { "\xc2\xe8\xcf\xdb\xa2" , "\x5b\xf6\xde\xd5" } , { "\xc2\xe8\xcf\xdb\xa3" , "\x5b\xf6\xde\xd3" } , { "\xc2\xe8\xcf\xdc" , "\x5b\xf6\xd1" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x5b\xf6\xd1\xd5" } , { "\xc2\xe8\xcf\xdd" , "\x5b\xf6\xe3" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x5b\xf6\xe3\xd5" } , { "\xc2\xe8\xcf\xde" , "\x5b\xf6\xe5" } , { "\xc2\xe8\xcf\xde\xa2" , "\x5b\xf6\xe5\xd5" } , { "\xc2\xe8\xcf\xdf" , "\x5b\xf6\xcc" } , { "\xc2\xe8\xcf\xe0" , "\xd2\x5b\xf6" } , { "\xc2\xe8\xcf\xe0\xa2" , "\xd2\x5b\xf6\xd5" } , { "\xc2\xe8\xcf\xe1" , "\xd2\x5b\xf6" } , { "\xc2\xe8\xcf\xe1\xa2" , "\xd2\x5b\xf6\xd5" } , { "\xc2\xe8\xcf\xe2" , "\xd2\x5b\xf6\xdf" } , { "\xc2\xe8\xcf\xe2\xa2" , "\xd2\x5b\xf6\xdf\xd5" } , { "\xc2\xe8\xcf\xe2\xa3" , "\xd2\x5b\xf6\xdf\xd3" } , { "\xc2\xe8\xcf\xe4" , "\xd2\x5b\xf6\xd0" } , { "\xc2\xe8\xcf\xe5" , "\xd2\x5b\xf6\xd0" } , { "\xc2\xe8\xcf\xe5\xa2" , "\xd2\x5b\xf6\xd0\xd5" } , { "\xc2\xe8\xcf\xe5\xa3" , "\xd2\x5b\xf6\xd0\xd3" } , { "\xc2\xe8\xcf\xe6" , "\xd2\x5b\xf6\xd7" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x5b\xe7\x65\xe7\xfe\x4c" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\x5b\xe7\x65\xe7\xfe\x51\xde" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x5b\xe7\x65\xf1\xfe" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x5b\xe7\x65\xf1\xfe\xd0" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x5b\xe7\x65\xf1\xfe\xd1" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x5b\xe7\x65\xe7\xfe\x60" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x5b\xf6\xd4" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x5b\xf6\xd5\xd4" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x5b\xf6\xd4\xd0" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x5b\xd4\xe5\xd4" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\xd2\x5b\xf6\xd4" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\xd2\x5b\xf6\xd4\xd0" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x5b\xe7\x65\xe7\xfe\x6a" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x5b\xe7\x65\xe7\xfe\x6a\xd5" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x5b\xe7\x65\xe7\xfe\xaf\xe0\xc6" } , { "\xc2\xe8\xd1" , "\x5b\xee" } , { "\xc2\xe8\xd1\xa2" , "\x5b\xee\xd5" } , { "\xc2\xe8\xd1\xda" , "\x5b\xee\xd0" } , { "\xc2\xe8\xd1\xdb" , "\x5b\xee\xde" } , { "\xc2\xe8\xd1\xdc" , "\x5b\xee\xd1" } , { "\xc2\xe8\xd1\xdd" , "\x5b\xee\xe3" } , { "\xc2\xe8\xd1\xe1" , "\xd2\x5b\xee" } , { "\xc2\xe8\xd1\xe2" , "\xd2\x5b\xee\xdf" } , { "\xc2\xe8\xd1\xe5" , "\xd2\x5b\xee\xd0" } , { "\xc2\xe8\xd1\xe8\xc8" , "\x5b\xe7\x6d\xe7\xfe\x60" } , { "\xc2\xe8\xd4" , "\x5b\xe7\x67" } , { "\xc2\xe8\xd4\xa2" , "\x5b\xe7\x67\xd5" } , { "\xc2\xe8\xd4\xa3" , "\x5b\xe7\x67\xd3" } , { "\xc2\xe8\xd4\xda" , "\x5b\xe7\x67\xd0" } , { "\xc2\xe8\xd4\xda\xa2" , "\x5b\xe7\x67\xd0\xd5" } , { "\xc2\xe8\xd4\xdb" , "\x5b\xe7\x67\xde" } , { "\xc2\xe8\xd4\xdb\xa3" , "\x5b\xe7\x67\xde\xd3" } , { "\xc2\xe8\xd4\xdc" , "\x5b\xe7\x67\xd1" } , { "\xc2\xe8\xd4\xdd" , "\x5b\xe7\x67\xca" } , { "\xc2\xe8\xd4\xdf" , "\x5b\xe7\x67\xf3" } , { "\xc2\xe8\xd4\xe0" , "\x5b\xe7\xd2\x67" } , { "\xc2\xe8\xd4\xe1" , "\x5b\xe7\xd2\x67" } , { "\xc2\xe8\xd4\xe2" , "\x5b\xe7\xd2\x67\xdf" } , { "\xc2\xe8\xd4\xe5" , "\x5b\xe7\xd2\x67\xd0" } , { "\xc2\xe8\xd4\xe5\xa2" , "\x5b\xe7\xd2\x67\xd0\xd5" } , { "\xc2\xe8\xd4\xe6" , "\x5b\xe7\xd2\x67\xd7" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\x5b\xe7\x67\xf2\xde" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\x5b\xe7\x67\xf2\xd4" } , { "\xc2\xe8\xd5" , "\x5b\xe7\x68" } , { "\xc2\xe8\xd5\xda" , "\x5b\xe7\x68\xd0" } , { "\xc2\xe8\xd5\xdb" , "\x5b\xe7\x68\xde" } , { "\xc2\xe8\xd5\xde" , "\x5b\xe7\x68\xcb" } , { "\xc2\xe8\xd5\xe1" , "\x5b\xe7\xd2\x68" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x5b\xe7\x68\xe7\x67" } , { "\xc2\xe8\xd6" , "\x5b\xe7\x69" } , { "\xc2\xe8\xd6\xda" , "\x5b\xe7\x69\xd0" } , { "\xc2\xe8\xd6\xdb" , "\x5b\xe7\x69\xde" } , { "\xc2\xe8\xd6\xe1" , "\x5b\xe7\xd2\x69" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\x5b\xe7\xd2\xb4\xc6" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\x5b\xe7\xbb\xa4\xd0" } , { "\xc2\xe8\xd7" , "\x97" } , { "\xc2\xe8\xd7\xa2" , "\x97\xd5" } , { "\xc2\xe8\xd7\xa3" , "\x97\xd3" } , { "\xc2\xe8\xd7\xda" , "\x97\xd0" } , { "\xc2\xe8\xd7\xda\xa2" , "\x97\xd0\xd5" } , { "\xc2\xe8\xd7\xdb" , "\x97\xde" } , { "\xc2\xe8\xd7\xdb\xa2" , "\x97\xde\xd5" } , { "\xc2\xe8\xd7\xdc" , "\x97\xd1" } , { "\xc2\xe8\xd7\xdd" , "\x97\xe4" } , { "\xc2\xe8\xd7\xde" , "\x97\xe6" } , { "\xc2\xe8\xd7\xdf" , "\x97\xcc" } , { "\xc2\xe8\xd7\xe0" , "\xd2\x97" } , { "\xc2\xe8\xd7\xe1" , "\xd2\x97" } , { "\xc2\xe8\xd7\xe4" , "\xd2\x97\xd0" } , { "\xc2\xe8\xd7\xe5" , "\xd2\x97\xd0" } , { "\xc2\xe8\xd7\xe6" , "\xd2\x97\xd7" } , { "\xc2\xe8\xd7\xe8" , "\x97\xe7" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\x5b\xe7\xb2\xc6\xd1" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\x5b\xe7\x79\xd0" } , { "\xc2\xe8\xd7\xe8\xc6" , "\x97\xe1" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\x97\xe1\xd0" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\x97\xe1\xde" } , { "\xc2\xe8\xd7\xe8\xc8" , "\x5b\xe7\xb8\xa4" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\x5b\xe7\xb8\xa4\xd0" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\x5b\xe7\xb8\xf4\xa4" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\x5b\xe7\xc9\xcb\xa5" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\x5b\xe7\xd2\xc9\xa5\xd0" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x97\xd4" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x97\xd5\xd4" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x97\xd4\xd0" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x97\xd4\xd0\xd5" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\x97\xde\xd4" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x5b\xe7\x6a\xca\xd4" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\xd2\x97\xd4\xd5" } , { "\xc2\xe8\xd7\xe8\xcf" , "\x97\xcd" } , { "\xc2\xe8\xd7\xe8\xd4" , "\x5b\xe7\x6a\xe7\x67" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\x5b\xe7\x6a\xe7\x67\xd0" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x5b\xe7\x6a\xe7\xd2\x67" } , { "\xc2\xe8\xd8\xdb" , "\x5b\xe7\x6b\xde\xfe" } , { "\xc2\xe8\xd8\xdc" , "\x5b\xe7\x6b\xfe\xd1" } , { "\xc2\xe8\xd9\xa6" , "\x5b\xe7\x42" } , { "\xc2\xe8\xd9\xb3\xda" , "\x5b\xe7\x4c\xd0" } , { "\xc2\xe8\xd9\xc2" , "\x5b\xe7\x5b" } , { "\xc2\xe8\xd9\xc2\xda" , "\x5b\xe7\x5b\xd0" } , { "\xc2\xe8\xd9\xc2\xdb" , "\x5b\xe7\x5b\xde" } , { "\xc2\xe8\xd9\xc2\xdc" , "\x5b\xe7\x5b\xd1" } , { "\xc2\xe8\xd9\xc2\xe1" , "\x5b\xe7\xd2\x5b" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\x5b\xe7\xd2\x5b\xd0\xd5" } , { "\xc2\xe8\xd9\xc8" , "\x5b\xe7\x60" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\x5b\xe7\x5b\xe0\xd0" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\x5b\xe7\x6a\xe0" } , { "\xc2\xe8\xd9\xd1" , "\x5b\xe7\x6d\xfe" } , { "\xc2\xe8\xd9\xd4" , "\x5b\xe7\x67" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\x5b\xe7\xd2\x67\xd0\xd5" } , { "\xc2\xe8\xe8" , "\x5b\xe7" } , { "\xc2\xe8\xe9\xc2" , "\x5b\xe7\x5b" } , { "\xc2\xe8\xe9\xcf" , "\x5b\xe7\x65\xfe" } , { "\xc2\xe9" , "\x5b" } , { "\xc3" , "\x5c" } , { "\xc3\xa1" , "\x5c\xdc" } , { "\xc3\xa2" , "\x5c\xd5" } , { "\xc3\xa3" , "\x5c\xd3" } , { "\xc3\xda" , "\x5c\xd0" } , { "\xc3\xda\xa1" , "\x5c\xdc\xd0" } , { "\xc3\xda\xa2" , "\x5c\xd0\xd5" } , { "\xc3\xdb" , "\x5c\xde" } , { "\xc3\xdb\xa2" , "\x5c\xde\xd5" } , { "\xc3\xdc" , "\x5c\xd1" } , { "\xc3\xdc\xa1" , "\x5c\xdc\xd1" } , { "\xc3\xdc\xa2" , "\x5c\xd1\xd5" } , { "\xc3\xdd" , "\x5c\xca" } , { "\xc3\xdd\xa2" , "\x5c\xca\xd5" } , { "\xc3\xdd\xa3" , "\x5c\xca\xd3" } , { "\xc3\xde" , "\x5c\xcb" } , { "\xc3\xde\xa2" , "\x5c\xcb\xd5" } , { "\xc3\xdf" , "\x5c\xf3" } , { "\xc3\xe0" , "\xd2\x5c" } , { "\xc3\xe1" , "\xd2\x5c" } , { "\xc3\xe1\xa2" , "\xd2\x5c\xd5" } , { "\xc3\xe2" , "\xd2\x5c\xdf" } , { "\xc3\xe2\xa2" , "\xd2\x5c\xdf\xd5" } , { "\xc3\xe4" , "\xd2\x5c\xd0" } , { "\xc3\xe5" , "\xd2\x5c\xd0" } , { "\xc3\xe5\xa2" , "\xd2\x5c\xd0\xd5" } , { "\xc3\xe6" , "\xd2\x5c\xd7" } , { "\xc3\xe6\xa2" , "\xd2\x5c\xd7\xd5" } , { "\xc3\xe7" , "\xd2\x5c\xd0" } , { "\xc3\xe8" , "\x5c\xe7" } , { "\xc3\xe8\xb3\xdd" , "\x5c\xe7\x4c\xca" } , { "\xc3\xe8\xb5\xda" , "\x5c\xe7\x4e\xd0" } , { "\xc3\xe8\xc2\xdb" , "\x5c\xf1\xde" } , { "\xc3\xe8\xc2\xdd" , "\x5c\xf2\xe3" } , { "\xc3\xe8\xc3" , "\x5c\xe7\x5c" } , { "\xc3\xe8\xc3\xda" , "\x5c\xe7\x5c\xd0" } , { "\xc3\xe8\xc8\xde" , "\x5c\xe7\x60\xcb" } , { "\xc3\xe8\xcc\xda" , "\x5c\xea\xd0" } , { "\xc3\xe8\xcc\xdc" , "\x5c\xea\xd1" } , { "\xc3\xe8\xcd" , "\x5c\xd4" } , { "\xc3\xe8\xcd\xa2" , "\x5c\xd5\xd4" } , { "\xc3\xe8\xcd\xda" , "\x5c\xd4\xd0" } , { "\xc3\xe8\xcd\xda\xa2" , "\x5c\xd4\xd0\xd5" } , { "\xc3\xe8\xcd\xda\xa3" , "\x5c\xd4\xd0\xd3" } , { "\xc3\xe8\xcd\xdd" , "\x5c\xca\xd4" } , { "\xc3\xe8\xcd\xde" , "\x5c\xcb\xd4" } , { "\xc3\xe8\xcd\xe5" , "\xd2\x5c\xd4\xd0" } , { "\xc3\xe8\xcd\xe5\xa2" , "\xd2\x5c\xd4\xd0\xd5" } , { "\xc3\xe8\xcf" , "\x5c\xf5" } , { "\xc3\xe8\xcf\xda" , "\x5c\xf5\xd0" } , { "\xc3\xe8\xcf\xda\xa2" , "\x5c\xf5\xd0\xd5" } , { "\xc3\xe8\xcf\xdb" , "\x5c\xf5\xde" } , { "\xc3\xe8\xcf\xdc" , "\x5c\xf5\xd1" } , { "\xc3\xe8\xcf\xde" , "\x5c\xf6\xe5" } , { "\xc3\xe8\xcf\xe0" , "\xd2\x5c\xf5" } , { "\xc3\xe8\xcf\xe1" , "\xd2\x5c\xf5" } , { "\xc3\xe8\xcf\xe2" , "\xd2\x5c\xf5\xdf" } , { "\xc3\xe8\xcf\xe5" , "\xd2\x5c\xf5\xd0" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x5c\xf5\xd4" } , { "\xc3\xe8\xd1\xdd" , "\x5c\xee\xe3" } , { "\xc3\xe8\xd1\xe5" , "\xd2\x5c\xed\xd0" } , { "\xc3\xe8\xd2" , "\x5c\xfd" } , { "\xc3\xe8\xd4" , "\x5c\xe7\x67" } , { "\xc3\xe8\xd4\xda" , "\x5c\xe7\x67\xd0" } , { "\xc3\xe8\xd4\xdb" , "\x5c\xe7\x67\xde" } , { "\xc3\xe8\xd4\xdc" , "\x5c\xe7\x67\xd1" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x5c\xe7\x68\xf5\xd1" } , { "\xc3\xe8\xd7" , "\x5c\xe7\x6a" } , { "\xc3\xe8\xd7\xe8" , "\x5c\xe7\x6a\xe7" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x5c\xe7\xaf\xe0\xc6" } , { "\xc3\xe8\xe8" , "\x5c\xe7" } , { "\xc3\xe8\xe9\xcf" , "\x5c\xe7\x65\xfe" } , { "\xc3\xe9" , "\x5c" } , { "\xc4" , "\x5d" } , { "\xc4\xa1" , "\x5d\xdc" } , { "\xc4\xa2" , "\x5d\xd5" } , { "\xc4\xa2\xa2" , "\x5d\xd5\xd5" } , { "\xc4\xa3" , "\x5d\xd3" } , { "\xc4\xd3\xcd\xda" , "\x5d\x66\xaf\xc6\xd0" } , { "\xc4\xd9" , "\x5d" } , { "\xc4\xda" , "\x5d\xd0" } , { "\xc4\xda\xa1" , "\x5d\xdc\xd0" } , { "\xc4\xda\xa2" , "\x5d\xd0\xd5" } , { "\xc4\xda\xa2\xa2" , "\x5d\xd0\xd5\xd5" } , { "\xc4\xda\xa3" , "\x5d\xd0\xd3" } , { "\xc4\xdb" , "\x5d\xde" } , { "\xc4\xdb\xa2" , "\x5d\xde\xd5" } , { "\xc4\xdb\xa2\xa2" , "\x5d\xde\xd5\xd5" } , { "\xc4\xdb\xa3" , "\x5d\xde\xd3" } , { "\xc4\xdb\xd7\xdf" , "\x5d\xde\x6a\xf3" } , { "\xc4\xdc" , "\x5d\xd1" } , { "\xc4\xdc\xa2" , "\x5d\xd1\xd5" } , { "\xc4\xdd" , "\x5d\xca" } , { "\xc4\xdd\xa1" , "\x5d\xca\xdc" } , { "\xc4\xdd\xa2" , "\x5d\xca\xd5" } , { "\xc4\xdd\xa3" , "\x5d\xca\xd3" } , { "\xc4\xde" , "\x5d\xcb" } , { "\xc4\xde\xa1" , "\x5d\xcb\xdc" } , { "\xc4\xde\xa2" , "\x5d\xcb\xd5" } , { "\xc4\xdf" , "\x5d\xf3" } , { "\xc4\xdf\xa2" , "\x5d\xf3\xd5" } , { "\xc4\xe0" , "\xd2\x5d" } , { "\xc4\xe0\xa2" , "\xd2\x5d\xd5" } , { "\xc4\xe1" , "\xd2\x5d" } , { "\xc4\xe1\xa2" , "\xd2\x5d\xd5" } , { "\xc4\xe2" , "\xd2\x5d\xdf" } , { "\xc4\xe2\xa2" , "\xd2\x5d\xdf\xd5" } , { "\xc4\xe2\xa3" , "\xd2\x5d\xdf\xd3" } , { "\xc4\xe4" , "\xd2\x5d\xd0" } , { "\xc4\xe4\xa2" , "\xd2\x5d\xd0\xd5" } , { "\xc4\xe5" , "\xd2\x5d\xd0" } , { "\xc4\xe5\xa2" , "\xd2\x5d\xd0\xd5" } , { "\xc4\xe6" , "\xd2\x5d\xd7" } , { "\xc4\xe6\xa2" , "\xd2\x5d\xd7\xd5" } , { "\xc4\xe7" , "\xd2\x5d\xd0" } , { "\xc4\xe8" , "\x5d\xe7" } , { "\xc4\xe8\xb3" , "\x5d\xe7\x4c" } , { "\xc4\xe8\xb3\xda" , "\x5d\xe7\x4c\xd0" } , { "\xc4\xe8\xb3\xdb" , "\x5d\xe7\x4c\xde" } , { "\xc4\xe8\xb3\xdd" , "\x5d\xe7\x4c\xca" } , { "\xc4\xe8\xb3\xde" , "\x5d\xe7\x4c\xcb" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\x5d\xe7\xd2\xa3\xc6" } , { "\xc4\xe8\xb4" , "\x5d\xe7\x4d" } , { "\xc4\xe8\xb4\xda" , "\x5d\xe7\x4d\xd0" } , { "\xc4\xe8\xb5" , "\xc2\xa4" } , { "\xc4\xe8\xb5\xa2" , "\xc2\xd6\xa4" } , { "\xc4\xe8\xb5\xda" , "\xc2\xa4\xd0" } , { "\xc4\xe8\xb5\xdc" , "\xc2\xa4\xd1" } , { "\xc4\xe8\xb5\xdd" , "\xc2\xca\xa4" } , { "\xc4\xe8\xb5\xdf" , "\xc2\xf4\xa4" } , { "\xc4\xe8\xb5\xe1" , "\xd2\xc2\xa4" } , { "\xc4\xe8\xb5\xe5" , "\xd2\xc2\xa4\xd0" } , { "\xc4\xe8\xb5\xe8\xc5" , "\x5d\xe7\x91\xc6" } , { "\xc4\xe8\xb5\xe8\xcf" , "\xc2\xf6\xa4" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\xc2\xf6\xd6\xa4" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\xc2\xf6\xa4\xd0" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\xc2\xf6\xa4\xd1" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x5d\xe7\x4e\xe7\x6b\xfe" } , { "\xc4\xe8\xb6" , "\x5d\xe7\x4f" } , { "\xc4\xe8\xb6\xda" , "\x5d\xe7\x4f\xd0" } , { "\xc4\xe8\xb6\xda\xa2" , "\x5d\xe7\x4f\xd0\xd5" } , { "\xc4\xe8\xb6\xdf" , "\x5d\xe7\x4f\xf3" } , { "\xc4\xe8\xb6\xe5" , "\x5d\xe7\xd2\x4f\xd0" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x5d\xe7\x4f\xf1" } , { "\xc4\xe8\xb8" , "\x5d\xe7\x51" } , { "\xc4\xe8\xb8\xda" , "\x5d\xe7\x51\xd0" } , { "\xc4\xe8\xb8\xdb" , "\x5d\xe7\x51\xde" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\x5d\xe7\x6f\xde" } , { "\xc4\xe8\xba" , "\x5d\xe7\x53" } , { "\xc4\xe8\xba\xdc" , "\x5d\xe7\x53\xd1" } , { "\xc4\xe8\xba\xdd" , "\x5d\xe7\x53\xca" } , { "\xc4\xe8\xba\xdf" , "\x5d\xe7\x53\xf3" } , { "\xc4\xe8\xba\xe1" , "\x5d\xe7\xd2\x53" } , { "\xc4\xe8\xba\xe5" , "\x5d\xe7\xd2\x53\xd0" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\x5d\xe7\x73\xca" } , { "\xc4\xe8\xbb" , "\x5d\xe7\x54\xfe" } , { "\xc4\xe8\xbf\xda" , "\x5d\xe7\x58\xd0" } , { "\xc4\xe8\xbf\xdb" , "\x5d\xe7\x58\xde" } , { "\xc4\xe8\xbf\xe9" , "\x5d\xe7\x58" } , { "\xc4\xe8\xc0" , "\x5d\xe7\x59" } , { "\xc4\xe8\xc0\xe9" , "\x5d\xe7\x59" } , { "\xc4\xe8\xc2" , "\x5d\xf2" } , { "\xc4\xe8\xc2\xa2" , "\x5d\xf2\xd5" } , { "\xc4\xe8\xc2\xdd" , "\x5d\xf2\xe3" } , { "\xc4\xe8\xc2\xe2" , "\xd2\x5d\xf2\xdf" } , { "\xc4\xe8\xc2\xe5" , "\xd2\x5d\xf2\xd0" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\x5d\xe7\x5b\xe7\xd2\x67\xdf" } , { "\xc4\xe8\xc3" , "\x5d\xe7\x5c" } , { "\xc4\xe8\xc3\xa2" , "\x5d\xe7\x5c\xd5" } , { "\xc4\xe8\xc3\xda" , "\x5d\xe7\x5c\xd0" } , { "\xc4\xe8\xc3\xda\xa2" , "\x5d\xe7\x5c\xd0\xd5" } , { "\xc4\xe8\xc3\xdb" , "\x5d\xe7\x5c\xde" } , { "\xc4\xe8\xc3\xdb\xa3" , "\x5d\xe7\x5c\xde\xd3" } , { "\xc4\xe8\xc3\xdd" , "\x5d\xe7\x5c\xca" } , { "\xc4\xe8\xc4" , "\x7e" } , { "\xc4\xe8\xc4\xa2" , "\x7e\xd5" } , { "\xc4\xe8\xc4\xa3" , "\x7e\xd3" } , { "\xc4\xe8\xc4\xda" , "\x7e\xd0" } , { "\xc4\xe8\xc4\xda\xa2" , "\x7e\xd0\xd5" } , { "\xc4\xe8\xc4\xdb" , "\x7e\xde" } , { "\xc4\xe8\xc4\xdb\xa2" , "\x7e\xde\xd5" } , { "\xc4\xe8\xc4\xdb\xa3" , "\x7e\xde\xd3" } , { "\xc4\xe8\xc4\xdc" , "\x7e\xd1" } , { "\xc4\xe8\xc4\xdd" , "\x7e\xca" } , { "\xc4\xe8\xc4\xdd\xa2" , "\x7e\xca\xd5" } , { "\xc4\xe8\xc4\xde" , "\x7e\xcb" } , { "\xc4\xe8\xc4\xdf" , "\x7e\xf3" } , { "\xc4\xe8\xc4\xe0" , "\xd2\x7e" } , { "\xc4\xe8\xc4\xe0\xa2" , "\xd2\x7e\xd5" } , { "\xc4\xe8\xc4\xe1" , "\xd2\x7e" } , { "\xc4\xe8\xc4\xe1\xa2" , "\xd2\x7e\xd5" } , { "\xc4\xe8\xc4\xe1\xa3" , "\xd2\x7e\xd3" } , { "\xc4\xe8\xc4\xe2" , "\xd2\x7e\xdf" } , { "\xc4\xe8\xc4\xe4" , "\xd2\x7e\xd0" } , { "\xc4\xe8\xc4\xe5" , "\xd2\x7e\xd0" } , { "\xc4\xe8\xc4\xe5\xa2" , "\xd2\x7e\xd0\xd5" } , { "\xc4\xe8\xc4\xe6" , "\xd2\x7e\xd7" } , { "\xc4\xe8\xc4\xe8" , "\x7e\xe7" } , { "\xc4\xe8\xc4\xe8\xcd" , "\x7e\xd4" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\x7e\xd5\xd4" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\x7e\xca\xd4" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\xd2\x7e\xd4\xd0" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\x7e\xf5\xde" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x7e\xf6\xe5" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\x5d\xe7\x5d\xe7\x67\xd5" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\x5d\xe7\x5d\xe7\x67\xd0" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\x5d\xe7\x5d\xe7\x67\xde" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\x5d\xe7\x5d\xe7\xd2\x67" } , { "\xc4\xe8\xc5" , "\x77" } , { "\xc4\xe8\xc5\xa2" , "\x77\xd5" } , { "\xc4\xe8\xc5\xa3" , "\x77\xd3" } , { "\xc4\xe8\xc5\xda" , "\x77\xd0" } , { "\xc4\xe8\xc5\xda\xa1" , "\x77\xdc\xd0" } , { "\xc4\xe8\xc5\xda\xa2" , "\x77\xd0\xd5" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\x77\xd0\xd5\xd5" } , { "\xc4\xe8\xc5\xda\xa3" , "\x77\xd0\xd3" } , { "\xc4\xe8\xc5\xdb" , "\x77\xde" } , { "\xc4\xe8\xc5\xdb\xa2" , "\x77\xde\xd5" } , { "\xc4\xe8\xc5\xdb\xa3" , "\x77\xde\xd3" } , { "\xc4\xe8\xc5\xdc" , "\x77\xd1" } , { "\xc4\xe8\xc5\xdc\xa2" , "\x77\xd1\xd5" } , { "\xc4\xe8\xc5\xdd" , "\x77\xca" } , { "\xc4\xe8\xc5\xdd\xa2" , "\x77\xca\xd5" } , { "\xc4\xe8\xc5\xde" , "\x77\xcb" } , { "\xc4\xe8\xc5\xdf" , "\x77\xf3" } , { "\xc4\xe8\xc5\xe0" , "\xd2\x77" } , { "\xc4\xe8\xc5\xe1" , "\xd2\x77" } , { "\xc4\xe8\xc5\xe1\xa2" , "\xd2\x77\xd5" } , { "\xc4\xe8\xc5\xe1\xa3" , "\xd2\x77\xd3" } , { "\xc4\xe8\xc5\xe2" , "\xd2\x77\xdf" } , { "\xc4\xe8\xc5\xe4" , "\xd2\x77\xd0" } , { "\xc4\xe8\xc5\xe5" , "\xd2\x77\xd0" } , { "\xc4\xe8\xc5\xe5\xa2" , "\xd2\x77\xd0\xd5" } , { "\xc4\xe8\xc5\xe8\xc2" , "\x77\xf1" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\x77\xef\xd0" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\x77\xe8\xd1" } , { "\xc4\xe8\xc5\xe8\xcd" , "\x77\xd4" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\x77\xd5\xd4" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\x77\xd4\xd0" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\xd2\x77\xd4\xd0" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\x77\xf5\xde" } , { "\xc4\xe8\xc5\xe8\xd4" , "\x5d\xe7\x5e\xe7\x67" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\x5d\xe7\x5e\xe7\x67\xd0" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\x5d\xe7\x5e\xe7\x68\xca" } , { "\xc4\xe8\xc6" , "\x5d\xf0" } , { "\xc4\xe8\xc6\xda" , "\x5d\xf0\xd0" } , { "\xc4\xe8\xc6\xdb" , "\x5d\xf0\xde" } , { "\xc4\xe8\xc6\xdb\xa2" , "\x5d\xf0\xde\xd5" } , { "\xc4\xe8\xc6\xdc" , "\x5d\xf0\xd1" } , { "\xc4\xe8\xc6\xdd" , "\x5d\xf0\xe3" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x5d\xf0\xe3\xd5" } , { "\xc4\xe8\xc6\xe5" , "\xd2\x5d\xf0\xd0" } , { "\xc4\xe8\xc6\xe8\xc2" , "\x5d\xe7\xab\xc6" } , { "\xc4\xe8\xc8" , "\x5d\xe7\x60" } , { "\xc4\xe8\xc8\xa2" , "\x5d\xe7\x60\xd5" } , { "\xc4\xe8\xc8\xda" , "\x5d\xe7\x60\xd0" } , { "\xc4\xe8\xc8\xdd" , "\x5d\xe7\x60\xca" } , { "\xc4\xe8\xc8\xde" , "\x5d\xe7\x60\xcb" } , { "\xc4\xe8\xc8\xe2" , "\x5d\xe7\xd2\x60\xdf" } , { "\xc4\xe8\xca" , "\x5d\xe9" } , { "\xc4\xe8\xca\xa2" , "\x5d\xe9\xd5" } , { "\xc4\xe8\xca\xda" , "\x5d\xe9\xd0" } , { "\xc4\xe8\xca\xda\xa2" , "\x5d\xe9\xd0\xd5" } , { "\xc4\xe8\xca\xdb" , "\x5d\xe9\xde" } , { "\xc4\xe8\xca\xdc" , "\x5d\xe9\xd1" } , { "\xc4\xe8\xca\xdd" , "\x5d\xe9\xe3" } , { "\xc4\xe8\xca\xe1" , "\xd2\x5d\xe9" } , { "\xc4\xe8\xca\xe5" , "\xd2\x5d\xe9\xd0" } , { "\xc4\xe8\xca\xe8\xcf" , "\x5d\xe9\xcd" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\x5d\xe9\xcd\xd0" } , { "\xc4\xe8\xcb" , "\xa1\xfe" } , { "\xc4\xe8\xcb\xa2" , "\xa1\xd5\xfe" } , { "\xc4\xe8\xcb\xda" , "\xa1\xfe\xd0" } , { "\xc4\xe8\xcb\xda\xa2" , "\xa1\xfe\xd0\xd5" } , { "\xc4\xe8\xcb\xdb" , "\xa1\xde\xfe" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xa1\xde\xfe\xd3" } , { "\xc4\xe8\xcb\xdc" , "\xa1\xfe\xd1" } , { "\xc4\xe8\xcb\xdd" , "\xa1\xca\xfe" } , { "\xc4\xe8\xcb\xde" , "\xa1\xcb\xfe" } , { "\xc4\xe8\xcb\xe1" , "\xd2\xa1\xfe" } , { "\xc4\xe8\xcb\xe5" , "\xd2\xa1\xfe\xd0" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\xa1\xf5\xfe\xd0" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\xa1\xf6\xe5\xfe" } , { "\xc4\xe8\xcc" , "\x5d\xeb" } , { "\xc4\xe8\xcc\xa2" , "\x5d\xeb\xd5" } , { "\xc4\xe8\xcc\xda" , "\x5d\xeb\xd0" } , { "\xc4\xe8\xcc\xda\xa2" , "\x5d\xeb\xd0\xd5" } , { "\xc4\xe8\xcc\xdb" , "\x5d\xeb\xde" } , { "\xc4\xe8\xcc\xdd" , "\x5d\xeb\xe3" } , { "\xc4\xe8\xcc\xde" , "\x5d\xeb\xe5" } , { "\xc4\xe8\xcc\xe1" , "\xd2\x5d\xeb" } , { "\xc4\xe8\xcc\xe1\xa2" , "\xd2\x5d\xeb\xd5" } , { "\xc4\xe8\xcc\xe5" , "\xd2\x5d\xeb\xd0" } , { "\xc4\xe8\xcd" , "\x5d\xd4" } , { "\xc4\xe8\xcd\xa1" , "\x5d\xdc\xd4" } , { "\xc4\xe8\xcd\xa2" , "\x5d\xd5\xd4" } , { "\xc4\xe8\xcd\xa3" , "\x5d\xd4\xd3" } , { "\xc4\xe8\xcd\xda" , "\x5d\xd4\xd0" } , { "\xc4\xe8\xcd\xda\xa2" , "\x5d\xd4\xd0\xd5" } , { "\xc4\xe8\xcd\xda\xa3" , "\x5d\xd4\xd0\xd3" } , { "\xc4\xe8\xcd\xdb" , "\x5d\xde\xd4" } , { "\xc4\xe8\xcd\xdc" , "\x5d\xd4\xd1" } , { "\xc4\xe8\xcd\xdd" , "\x5d\xca\xd4" } , { "\xc4\xe8\xcd\xdd\xa2" , "\x5d\xca\xd5\xd4" } , { "\xc4\xe8\xcd\xde" , "\x5d\xcb\xd4" } , { "\xc4\xe8\xcd\xdf" , "\x5d\xf3\xd4" } , { "\xc4\xe8\xcd\xe0" , "\xd2\x5d\xd4" } , { "\xc4\xe8\xcd\xe1" , "\xd2\x5d\xd4" } , { "\xc4\xe8\xcd\xe1\xa2" , "\xd2\x5d\xd4\xd5" } , { "\xc4\xe8\xcd\xe2" , "\xd2\x5d\xdf\xd4" } , { "\xc4\xe8\xcd\xe4" , "\xd2\x5d\xd4\xd0" } , { "\xc4\xe8\xcd\xe5" , "\xd2\x5d\xd4\xd0" } , { "\xc4\xe8\xcd\xe5\xa2" , "\xd2\x5d\xd4\xd0\xd5" } , { "\xc4\xe8\xcd\xe6" , "\xd2\x5d\xd4\xd7" } , { "\xc4\xe8\xcd\xe6\xa2" , "\xd2\x5d\xd4\xd7\xd5" } , { "\xc4\xe8\xcd\xe8" , "\x5d\xe7" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x5d\xd4" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x5d\xd4\xd0" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\xd2\x5d\xd4\xd0" } , { "\xc4\xe8\xcd\xe8\xcf" , "\x5d\xd4\xcd" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\x5d\xd4\xcd\xd5" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\x5d\xd4\xcd\xd0" } , { "\xc4\xe8\xcf" , "\x5d\xf6" } , { "\xc4\xe8\xcf\xa2" , "\x5d\xf6\xd5" } , { "\xc4\xe8\xcf\xa3" , "\x5d\xf6\xd3" } , { "\xc4\xe8\xcf\xd9" , "\x5d\xf6" } , { "\xc4\xe8\xcf\xda" , "\x5d\xf6\xd0" } , { "\xc4\xe8\xcf\xda\xa2" , "\x5d\xf6\xd0\xd5" } , { "\xc4\xe8\xcf\xdb" , "\x5d\xf6\xde" } , { "\xc4\xe8\xcf\xdb\xa2" , "\x5d\xf6\xde\xd5" } , { "\xc4\xe8\xcf\xdc" , "\x5d\xf6\xd1" } , { "\xc4\xe8\xcf\xdd" , "\x5d\xf6\xe3" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x5d\xf6\xe3\xd5" } , { "\xc4\xe8\xcf\xde" , "\x5d\xf6\xe5" } , { "\xc4\xe8\xcf\xe0" , "\xd2\x5d\xf6" } , { "\xc4\xe8\xcf\xe0\xa2" , "\xd2\x5d\xf6\xd5" } , { "\xc4\xe8\xcf\xe1" , "\xd2\x5d\xf6" } , { "\xc4\xe8\xcf\xe2" , "\xd2\x5d\xf6\xdf" } , { "\xc4\xe8\xcf\xe4" , "\xd2\x5d\xf6\xd0" } , { "\xc4\xe8\xcf\xe5" , "\xd2\x5d\xf6\xd0" } , { "\xc4\xe8\xcf\xe5\xa2" , "\xd2\x5d\xf6\xd0\xd5" } , { "\xc4\xe8\xcf\xe6" , "\xd2\x5d\xf6\xd7" } , { "\xc4\xe8\xcf\xe8" , "\x5d\xf6\xe7" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x5d\xe7\x65\xe7\xfe\x5c\xd5" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x5d\xe7\x65\xe7\xfe\x60\xd0" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x5d\xf6\xd4" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x5d\xf6\xd5\xd4" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x5d\xf6\xd4\xd0" } , { "\xc4\xe8\xd1" , "\x5d\xee" } , { "\xc4\xe8\xd1\xda\xa2" , "\x5d\xee\xd0\xd5" } , { "\xc4\xe8\xd1\xdb" , "\x5d\xee\xde" } , { "\xc4\xe8\xd1\xdc" , "\x5d\xee\xd1" } , { "\xc4\xe8\xd1\xdd" , "\x5d\xee\xe3" } , { "\xc4\xe8\xd1\xde" , "\x5d\xee\xe5" } , { "\xc4\xe8\xd1\xe5" , "\xd2\x5d\xee\xd0" } , { "\xc4\xe8\xd2" , "\x5d\xec" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\x5d\xe7\x66\xe7\xd2\x67" } , { "\xc4\xe8\xd4" , "\x5d\xe7\x67" } , { "\xc4\xe8\xd4\xa2" , "\x5d\xe7\x67\xd5" } , { "\xc4\xe8\xd4\xda" , "\x5d\xe7\x67\xd0" } , { "\xc4\xe8\xd4\xda\xa2" , "\x5d\xe7\x67\xd0\xd5" } , { "\xc4\xe8\xd4\xdb" , "\x5d\xe7\x67\xde" } , { "\xc4\xe8\xd4\xdc" , "\x5d\xe7\x67\xd1" } , { "\xc4\xe8\xd4\xdd" , "\x5d\xe7\x67\xca" } , { "\xc4\xe8\xd4\xde" , "\x5d\xe7\x67\xcb" } , { "\xc4\xe8\xd4\xdf" , "\x5d\xe7\x67\xf3" } , { "\xc4\xe8\xd4\xdf\xa2" , "\x5d\xe7\x67\xf3\xd5" } , { "\xc4\xe8\xd4\xe1" , "\x5d\xe7\xd2\x67" } , { "\xc4\xe8\xd4\xe2" , "\x5d\xe7\xd2\x67\xdf" } , { "\xc4\xe8\xd4\xe5" , "\x5d\xe7\xd2\x67\xd0" } , { "\xc4\xe8\xd4\xe5\xa2" , "\x5d\xe7\xd2\x67\xd0\xd5" } , { "\xc4\xe8\xd4\xe6" , "\x5d\xe7\xd2\x67\xd7" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\x5d\xe7\x67\xe7\x72\xde\xfe" } , { "\xc4\xe8\xd4\xe8\xcd" , "\x67\xd4" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\x67\xd5\xd4" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\x67\xd4\xd0" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\x67\xde\xd4" } , { "\xc4\xe8\xd5" , "\x5d\xe7\x68" } , { "\xc4\xe8\xd5\xdb" , "\x5d\xe7\x68\xde" } , { "\xc4\xe8\xd5\xe5" , "\x5d\xe7\xd2\x68\xd0" } , { "\xc4\xe8\xd5\xe8\xcc" , "\x5d\xe7\x68\xea" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x68\xd4" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\xd2\x68\xd4\xd0\xd5" } , { "\xc4\xe8\xd6" , "\x5d\xe7\x69" } , { "\xc4\xe8\xd6\xda" , "\x5d\xe7\x69\xd0" } , { "\xc4\xe8\xd6\xdb" , "\x5d\xe7\x69\xde" } , { "\xc4\xe8\xd6\xe8\xbd" , "\x5d\xe7\xbd\xa4" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\x5d\xe7\xbd\xa4\xd0\xd6" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\x5d\xe7\xbd\xde\xa4" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\x5d\xe7\xbd\xa4\xd1" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\x5d\xe7\xba\xde\xa4" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\x5d\xe7\x69\xf1\xde" } , { "\xc4\xe8\xd7" , "\x5d\xe7\x6a" } , { "\xc4\xe8\xd7\xda" , "\x5d\xe7\x6a\xd0" } , { "\xc4\xe8\xd7\xdb" , "\x5d\xe7\x6a\xde" } , { "\xc4\xe8\xd8" , "\x5d\xe7\x6b\xfe" } , { "\xc4\xe8\xd8\xda" , "\x5d\xe7\x6b\xfe\xd0" } , { "\xc4\xe8\xd8\xdb\xa2" , "\x5d\xe7\x6b\xde\xd5\xfe" } , { "\xc4\xe8\xd8\xdd" , "\x5d\xe7\x6b\xca\xfe" } , { "\xc4\xe8\xd9\xa6" , "\x5d\xe7\x42" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\x5d\xe7\xd2\x5b\xd0\xd5" } , { "\xc4\xe8\xd9\xc4" , "\x5d\xe7\x5d" } , { "\xc4\xe8\xd9\xc4\xda" , "\x5d\xe7\x5d\xd0" } , { "\xc4\xe8\xd9\xc4\xdc" , "\x5d\xe7\x5d\xd1" } , { "\xc4\xe8\xd9\xc4\xdd" , "\x5d\xe7\x5d\xca" } , { "\xc4\xe8\xd9\xc4\xde" , "\x5d\xe7\x5d\xcb" } , { "\xc4\xe8\xd9\xc4\xe1" , "\x5d\xe7\xd2\x5d" } , { "\xc4\xe8\xd9\xc4\xe6" , "\x5d\xe7\xd2\x5d\xd7" } , { "\xc4\xe8\xd9\xc5" , "\x5d\xe7\x5e" } , { "\xc4\xe8\xd9\xc5\xda" , "\x5d\xe7\x5e\xd0" } , { "\xc4\xe8\xd9\xc5\xde" , "\x5d\xe7\x5e\xcb" } , { "\xc4\xe8\xd9\xc5\xdf" , "\x5d\xe7\x5e\xf3" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\x5d\xe7\xd2\x5e\xd0\xd5" } , { "\xc4\xe8\xd9\xcb\xda" , "\x5d\xe7\x62\xfe\xd0" } , { "\xc4\xe8\xd9\xcb\xdd" , "\x5d\xe7\x62\xca\xfe" } , { "\xc4\xe8\xd9\xcb\xde" , "\x5d\xe7\x62\xcb\xfe" } , { "\xc4\xe8\xd9\xcb\xdf" , "\x5d\xe7\x62\xf3\xfe" } , { "\xc4\xe8\xd9\xcc\xdb" , "\x5d\xe7\x63\xde" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\x5d\xe7\xd2\x63\xd5" } , { "\xc4\xe8\xd9\xcd" , "\x5d\xe7\xaf\xc6" } , { "\xc4\xe8\xd9\xcd\xda" , "\x5d\xe7\xaf\xc6\xd0" } , { "\xc4\xe8\xd9\xcd\xdd" , "\x5d\xe7\xaf\xca\xc6" } , { "\xc4\xe8\xd9\xcd\xe5" , "\x5d\xe7\xd2\xaf\xc6\xd0" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\x5d\xe7\xd2\xaf\xc6\xd0\xd6" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\x5d\xe7\x5e\xe0" } , { "\xc4\xe8\xd9\xd4" , "\x5d\xe7\x67" } , { "\xc4\xe8\xd9\xd4\xda" , "\x5d\xe7\x67\xd0" } , { "\xc4\xe8\xd9\xd4\xdb" , "\x5d\xe7\x67\xde" } , { "\xc4\xe8\xd9\xd4\xe1" , "\x5d\xe7\xd2\x67" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\x5d\xe7\x67\xd4" } , { "\xc4\xe8\xe8" , "\x5d\xe7" } , { "\xc4\xe8\xe9\xc4" , "\x5d\xe7\x5d" } , { "\xc4\xe8\xe9\xc5" , "\x5d\xe7\x5e" } , { "\xc4\xe8\xe9\xcd" , "\x5d\xe7\xaf\xc6" } , { "\xc4\xe8\xe9\xcf" , "\x5d\xe7\x65\xfe" } , { "\xc4\xe8\xe9\xd4" , "\x5d\xe7\x67" } , { "\xc4\xe9" , "\x5d" } , { "\xc5" , "\x5e" } , { "\xc5\xa1" , "\x5e\xdc" } , { "\xc5\xa2" , "\x5e\xd5" } , { "\xc5\xa3" , "\x5e\xd3" } , { "\xc5\xd0" , "\x5e\x65\xfe" } , { "\xc5\xd0\xdc" , "\x5e\x65\xfe\xd1" } , { "\xc5\xda" , "\x5e\xd0" } , { "\xc5\xda\xa1" , "\x5e\xdc\xd0" } , { "\xc5\xda\xa2" , "\x5e\xd0\xd5" } , { "\xc5\xdb" , "\x5e\xde" } , { "\xc5\xdb\xa2" , "\x5e\xde\xd5" } , { "\xc5\xdb\xa3" , "\x5e\xde\xd3" } , { "\xc5\xdc" , "\x5e\xd1" } , { "\xc5\xdc\xa2" , "\x5e\xd1\xd5" } , { "\xc5\xdc\xa3" , "\x5e\xd1\xd3" } , { "\xc5\xdd" , "\x5e\xca" } , { "\xc5\xdd\xa1" , "\x5e\xca\xdc" } , { "\xc5\xdd\xa2" , "\x5e\xca\xd5" } , { "\xc5\xdd\xa3" , "\x5e\xca\xd3" } , { "\xc5\xde" , "\x5e\xcb" } , { "\xc5\xde\xa1" , "\x5e\xcb\xdc" } , { "\xc5\xde\xa2" , "\x5e\xcb\xd5" } , { "\xc5\xdf" , "\x5e\xf3" } , { "\xc5\xe0" , "\xd2\x5e" } , { "\xc5\xe0\xa2" , "\xd2\x5e\xd5" } , { "\xc5\xe1" , "\xd2\x5e" } , { "\xc5\xe1\xa2" , "\xd2\x5e\xd5" } , { "\xc5\xe2" , "\xd2\x5e\xdf" } , { "\xc5\xe4" , "\xd2\x5e\xd0" } , { "\xc5\xe5" , "\xd2\x5e\xd0" } , { "\xc5\xe5\xa2" , "\xd2\x5e\xd0\xd5" } , { "\xc5\xe5\xa3" , "\xd2\x5e\xd0\xd3" } , { "\xc5\xe6" , "\xd2\x5e\xd7" } , { "\xc5\xe6\xa2" , "\xd2\x5e\xd7\xd5" } , { "\xc5\xe8" , "\x5e\xe7" } , { "\xc5\xe8\xb3\xda" , "\x5e\xe7\x4c\xd0" } , { "\xc5\xe8\xb3\xdd" , "\x5e\xe7\x4c\xca" } , { "\xc5\xe8\xb3\xe5" , "\x5e\xe7\xd2\x4c\xd0" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x5e\xe7\x6c" } , { "\xc5\xe8\xb5" , "\x5e\xe7\x4e" } , { "\xc5\xe8\xb8" , "\x5e\xe7\x51" } , { "\xc5\xe8\xb8\xda" , "\x5e\xe7\x51\xd0" } , { "\xc5\xe8\xbf\xe9\xda" , "\x5e\xe7\x58\xd0" } , { "\xc5\xe8\xc1\xda" , "\x5e\xe7\x5a\xd0" } , { "\xc5\xe8\xc1\xdb" , "\x5e\xe7\x5a\xde" } , { "\xc5\xe8\xc2" , "\x5e\xf1" } , { "\xc5\xe8\xc2\xda" , "\x5e\xf1\xd0" } , { "\xc5\xe8\xc4" , "\x5e\xe7\x5d" } , { "\xc5\xe8\xc4\xda" , "\x5e\xe7\x5d\xd0" } , { "\xc5\xe8\xc4\xda\xa2" , "\x5e\xe7\x5d\xd0\xd5" } , { "\xc5\xe8\xc4\xdb" , "\x5e\xe7\x5d\xde" } , { "\xc5\xe8\xc4\xdd" , "\x5e\xe7\x5d\xca" } , { "\xc5\xe8\xc4\xde" , "\x5e\xe7\x5d\xcb" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x5e\xe7\xd2\x5d\xd5" } , { "\xc5\xe8\xc4\xe5" , "\x5e\xe7\xd2\x5d\xd0" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x5e\xe7\xd2\x5d\xd0\xd5" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x5e\xe7\x7e" } , { "\xc5\xe8\xc5" , "\x5e\xe7\x5e" } , { "\xc5\xe8\xc5\xa2" , "\x5e\xe7\x5e\xd5" } , { "\xc5\xe8\xc5\xda" , "\x5e\xe7\x5e\xd0" } , { "\xc5\xe8\xc5\xda\xa2" , "\x5e\xe7\x5e\xd0\xd5" } , { "\xc5\xe8\xc5\xdb" , "\x5e\xe7\x5e\xde" } , { "\xc5\xe8\xc5\xdb\xa2" , "\x5e\xe7\x5e\xde\xd5" } , { "\xc5\xe8\xc5\xdd" , "\x5e\xe7\x5e\xca" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x5e\xd4" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x5e\xd4\xd0" } , { "\xc5\xe8\xc6" , "\x5e\xef" } , { "\xc5\xe8\xc6\xda" , "\x5e\xef\xd0" } , { "\xc5\xe8\xc6\xdd" , "\x5e\xf0\xe3" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x5e\xef\xd4\xd0" } , { "\xc5\xe8\xc8\xdd" , "\x5e\xe7\x60\xca" } , { "\xc5\xe8\xc8\xde" , "\x5e\xe7\x60\xcb" } , { "\xc5\xe8\xca\xdd" , "\x5e\xe9\xe3" } , { "\xc5\xe8\xca\xe6" , "\xd2\x5e\xe8\xd7" } , { "\xc5\xe8\xcb\xdd" , "\x5e\xf8\xe3" } , { "\xc5\xe8\xcc" , "\x5e\xea" } , { "\xc5\xe8\xcc\xda" , "\x5e\xea\xd0" } , { "\xc5\xe8\xcc\xdd" , "\x5e\xeb\xe3" } , { "\xc5\xe8\xcd" , "\x5e\xd4" } , { "\xc5\xe8\xcd\xa2" , "\x5e\xd5\xd4" } , { "\xc5\xe8\xcd\xa3" , "\x5e\xd4\xd3" } , { "\xc5\xe8\xcd\xda" , "\x5e\xd4\xd0" } , { "\xc5\xe8\xcd\xda\xa2" , "\x5e\xd4\xd0\xd5" } , { "\xc5\xe8\xcd\xda\xa3" , "\x5e\xd4\xd0\xd3" } , { "\xc5\xe8\xcd\xdb" , "\x5e\xde\xd4" } , { "\xc5\xe8\xcd\xdc" , "\x5e\xd4\xd1" } , { "\xc5\xe8\xcd\xdd" , "\x5e\xca\xd4" } , { "\xc5\xe8\xcd\xde" , "\x5e\xcb\xd4" } , { "\xc5\xe8\xcd\xe1" , "\xd2\x5e\xd4" } , { "\xc5\xe8\xcd\xe2" , "\xd2\x5e\xdf\xd4" } , { "\xc5\xe8\xcd\xe5" , "\xd2\x5e\xd4\xd0" } , { "\xc5\xe8\xcd\xe5\xa2" , "\xd2\x5e\xd4\xd0\xd5" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x5e\xe7\xaf\xf2\xc6" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x5e\xd4" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x5e\xd4\xd0" } , { "\xc5\xe8\xcf" , "\x5e\xf5" } , { "\xc5\xe8\xcf\xa2" , "\x5e\xf5\xd5" } , { "\xc5\xe8\xcf\xda" , "\x5e\xf5\xd0" } , { "\xc5\xe8\xcf\xda\xa2" , "\x5e\xf5\xd0\xd5" } , { "\xc5\xe8\xcf\xdb" , "\x5e\xf5\xde" } , { "\xc5\xe8\xcf\xdc" , "\x5e\xf5\xd1" } , { "\xc5\xe8\xcf\xdd" , "\x5e\xf6\xe3" } , { "\xc5\xe8\xcf\xde" , "\x5e\xf6\xe5" } , { "\xc5\xe8\xcf\xdf" , "\x5e\xf6\xcc" } , { "\xc5\xe8\xcf\xe1" , "\xd2\x5e\xf5" } , { "\xc5\xe8\xcf\xe5" , "\xd2\x5e\xf5\xd0" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\xd2\x5e\xf5\x9b\xd0" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x5e\xf5\xd4" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x5e\xf5\xd4\xd0" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x5e\xd4\xe5\xd4" } , { "\xc5\xe8\xcf\xe8\xd4" , "\x5e\xe7\x65\xe7\xfe\x67" } , { "\xc5\xe8\xd1\xdd" , "\x5e\xee\xe3" } , { "\xc5\xe8\xd1\xe5" , "\xd2\x5e\xed\xd0" } , { "\xc5\xe8\xd2" , "\x5e\xfd" } , { "\xc5\xe8\xd4" , "\x5e\xe7\x67" } , { "\xc5\xe8\xd4\xa2" , "\x5e\xe7\x67\xd5" } , { "\xc5\xe8\xd4\xda" , "\x5e\xe7\x67\xd0" } , { "\xc5\xe8\xd4\xdb" , "\x5e\xe7\x67\xde" } , { "\xc5\xe8\xd4\xdb\xa2" , "\x5e\xe7\x67\xde\xd5" } , { "\xc5\xe8\xd4\xdc" , "\x5e\xe7\x67\xd1" } , { "\xc5\xe8\xd4\xdd" , "\x5e\xe7\x67\xca" } , { "\xc5\xe8\xd4\xe1" , "\x5e\xe7\xd2\x67" } , { "\xc5\xe8\xd4\xe2" , "\x5e\xe7\xd2\x67\xdf" } , { "\xc5\xe8\xd5\xda" , "\x5e\xe7\x68\xd0" } , { "\xc5\xe8\xd6\xda" , "\x5e\xe7\x69\xd0" } , { "\xc5\xe8\xd6\xdb" , "\x5e\xe7\x69\xde" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x5e\xe7\xbd\xa4" } , { "\xc5\xe8\xd7" , "\x5e\xe7\x6a" } , { "\xc5\xe8\xd7\xe1" , "\x5e\xe7\xd2\x6a" } , { "\xc5\xe8\xd7\xe8" , "\x5e\xe7\x6a\xe7" } , { "\xc5\xe8\xd9\xcd" , "\x5e\xe7\xaf\xc6" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\x5e\xe7\x67\xe0" } , { "\xc5\xe8\xe8" , "\x5e\xe7" } , { "\xc5\xe9" , "\x5e" } , { "\xc6" , "\x5f" } , { "\xc6\xa1" , "\x5f\xdc" } , { "\xc6\xa2" , "\x5f\xd5" } , { "\xc6\xa2\xa2" , "\x5f\xd5\xd5" } , { "\xc6\xa3" , "\x5f\xd3" } , { "\xc6\xda" , "\x5f\xd0" } , { "\xc6\xda\xa1" , "\x5f\xdc\xd0" } , { "\xc6\xda\xa2" , "\x5f\xd0\xd5" } , { "\xc6\xda\xa3" , "\x5f\xd0\xd3" } , { "\xc6\xdb" , "\x5f\xde" } , { "\xc6\xdb\xa2" , "\x5f\xde\xd5" } , { "\xc6\xdb\xa3" , "\x5f\xde\xd3" } , { "\xc6\xdc" , "\x5f\xd1" } , { "\xc6\xdc\xa2" , "\x5f\xd1\xd5" } , { "\xc6\xdd" , "\x5f\xca" } , { "\xc6\xdd\xa1" , "\x5f\xca\xdc" } , { "\xc6\xdd\xa2" , "\x5f\xca\xd5" } , { "\xc6\xdd\xa2\xa2" , "\x5f\xca\xd5\xd5" } , { "\xc6\xdd\xa3" , "\x5f\xca\xd3" } , { "\xc6\xde" , "\x5f\xcb" } , { "\xc6\xde\xa1" , "\x5f\xcb\xdc" } , { "\xc6\xde\xa2" , "\x5f\xcb\xd5" } , { "\xc6\xde\xd0\xe8" , "\x5f\xcb\x65\xe7\xfe" } , { "\xc6\xdf" , "\x5f\xf3" } , { "\xc6\xe0" , "\xd2\x5f" } , { "\xc6\xe0\xa2" , "\xd2\x5f\xd5" } , { "\xc6\xe1" , "\xd2\x5f" } , { "\xc6\xe1\xa2" , "\xd2\x5f\xd5" } , { "\xc6\xe2" , "\xd2\x5f\xdf" } , { "\xc6\xe2\xa2" , "\xd2\x5f\xdf\xd5" } , { "\xc6\xe2\xa3" , "\xd2\x5f\xdf\xd3" } , { "\xc6\xe4" , "\xd2\x5f\xd0" } , { "\xc6\xe4\xa2" , "\xd2\x5f\xd0\xd5" } , { "\xc6\xe5" , "\xd2\x5f\xd0" } , { "\xc6\xe5\xa2" , "\xd2\x5f\xd0\xd5" } , { "\xc6\xe5\xa3" , "\xd2\x5f\xd0\xd3" } , { "\xc6\xe6" , "\xd2\x5f\xd7" } , { "\xc6\xe6\xa2" , "\xd2\x5f\xd7\xd5" } , { "\xc6\xe7" , "\xd2\x5f\xd0" } , { "\xc6\xe8" , "\x5f\xe7" } , { "\xc6\xe8\xb3" , "\x5f\xe7\x4c" } , { "\xc6\xe8\xb3\xa2" , "\x5f\xe7\x4c\xd5" } , { "\xc6\xe8\xb3\xda" , "\x5f\xe7\x4c\xd0" } , { "\xc6\xe8\xb3\xda\xa2" , "\x5f\xe7\x4c\xd0\xd5" } , { "\xc6\xe8\xb3\xdb" , "\x5f\xe7\x4c\xde" } , { "\xc6\xe8\xb3\xdc" , "\x5f\xe7\x4c\xd1" } , { "\xc6\xe8\xb3\xdd" , "\x5f\xe7\x4c\xca" } , { "\xc6\xe8\xb3\xdd\xa2" , "\x5f\xe7\x4c\xca\xd5" } , { "\xc6\xe8\xb3\xde" , "\x5f\xe7\x4c\xcb" } , { "\xc6\xe8\xb3\xdf" , "\x5f\xe7\x4c\xf3" } , { "\xc6\xe8\xb3\xe0" , "\x5f\xe7\xd2\x4c" } , { "\xc6\xe8\xb3\xe1" , "\x5f\xe7\xd2\x4c" } , { "\xc6\xe8\xb3\xe2" , "\x5f\xe7\xd2\x4c\xdf" } , { "\xc6\xe8\xb3\xe2\xa2" , "\x5f\xe7\xd2\x4c\xdf\xd5" } , { "\xc6\xe8\xb3\xe4" , "\x5f\xe7\xd2\x4c\xd0" } , { "\xc6\xe8\xb3\xe5" , "\x5f\xe7\xd2\x4c\xd0" } , { "\xc6\xe8\xb3\xe5\xa2" , "\x5f\xe7\xd2\x4c\xd0\xd5" } , { "\xc6\xe8\xb3\xe8" , "\x5f\xe7\x4c\xe7" } , { "\xc6\xe8\xb3\xe8\xb3" , "\x5f\xe7\xa3\xc6" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\x5f\xe7\x90\xde\xc6" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x4c\xca\xd4" } , { "\xc6\xe8\xb3\xe8\xcf" , "\x5f\xe7\x4c\xf5" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\x5f\xe7\x4c\xf5\xde" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\x5f\xe7\x4c\xf5\xd1" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\x5f\xe7\xd2\x4c\xf5\xd0" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\x5f\xe7\x4c\xed\xd0" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\x5f\xe7\x4c\xee\xe3" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\x5f\xe7\x4c\xee\xe5" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\x5f\xe7\xd2\x4c\xed" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\x5f\xe7\xd2\x4c\xed\xd0" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\x5f\xe7\x4c\xe7\x67\xd0" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\x5f\xe7\x4c\xe7\x67\xde" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\x5f\xe7\x4c\xe7\xd2\x67" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x5f\xe7\x4c\xe7\x68" } , { "\xc6\xe8\xb3\xe8\xd6" , "\x5f\xe7\x6c" } , { "\xc6\xe8\xb3\xe9" , "\x5f\xe7\x4c" } , { "\xc6\xe8\xb4" , "\x5f\xe7\x4d" } , { "\xc6\xe8\xb4\xda" , "\x5f\xe7\x4d\xd0" } , { "\xc6\xe8\xb4\xdb" , "\x5f\xe7\x4d\xde" } , { "\xc6\xe8\xb5" , "\x5f\xe7\x4e" } , { "\xc6\xe8\xb5\xa2" , "\x5f\xe7\x4e\xd5" } , { "\xc6\xe8\xb5\xda" , "\x5f\xe7\x4e\xd0" } , { "\xc6\xe8\xb5\xdb" , "\x5f\xe7\x4e\xde" } , { "\xc6\xe8\xb5\xdd" , "\x5f\xe7\x4e\xca" } , { "\xc6\xe8\xb5\xde" , "\x5f\xe7\x4e\xcb" } , { "\xc6\xe8\xb5\xe0" , "\x5f\xe7\xd2\x4e" } , { "\xc6\xe8\xb5\xe4" , "\x5f\xe7\xd2\x4e\xd0" } , { "\xc6\xe8\xb5\xe4\xa2" , "\x5f\xe7\xd2\x4e\xd0\xd5" } , { "\xc6\xe8\xb5\xe5" , "\x5f\xe7\xd2\x4e\xd0" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x5f\xe7\x4e\xe7\x4e\xd0" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\x5f\xe7\x4e\xf5\xd0" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\x5f\xe7\x4e\xf5\xd1" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\x5f\xe7\xd2\x4e\xf5" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\x5f\xe7\xd2\x4e\xf5\xd0" } , { "\xc6\xe8\xb6" , "\x5f\xe7\x4f" } , { "\xc6\xe8\xb6\xdc" , "\x5f\xe7\x4f\xd1" } , { "\xc6\xe8\xb6\xdd" , "\x5f\xe7\x4f\xca" } , { "\xc6\xe8\xb8" , "\x5f\xe7\x51" } , { "\xc6\xe8\xb8\xa2" , "\x5f\xe7\x51\xd5" } , { "\xc6\xe8\xb8\xda" , "\x5f\xe7\x51\xd0" } , { "\xc6\xe8\xb8\xdb" , "\x5f\xe7\x51\xde" } , { "\xc6\xe8\xb8\xdb\xa2" , "\x5f\xe7\x51\xde\xd5" } , { "\xc6\xe8\xb8\xdc" , "\x5f\xe7\x51\xd1" } , { "\xc6\xe8\xb8\xdd" , "\x5f\xe7\x51\xca" } , { "\xc6\xe8\xb8\xde" , "\x5f\xe7\x51\xcb" } , { "\xc6\xe8\xb8\xe0" , "\x5f\xe7\xd2\x51" } , { "\xc6\xe8\xb8\xe0\xa2" , "\x5f\xe7\xd2\x51\xd5" } , { "\xc6\xe8\xb8\xe1" , "\x5f\xe7\xd2\x51" } , { "\xc6\xe8\xb8\xe5" , "\x5f\xe7\xd2\x51\xd0" } , { "\xc6\xe8\xb8\xe5\xa2" , "\x5f\xe7\xd2\x51\xd0\xd5" } , { "\xc6\xe8\xb8\xe8" , "\x5f\xe7\x51\xe7" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x5f\xe7\x51\xe7\x58\xe7" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\x5f\xe7\x51\xe7\x67\xd0\xd5" } , { "\xc6\xe8\xb9" , "\x5f\xe7\x52" } , { "\xc6\xe8\xb9\xda" , "\x5f\xe7\x52\xd0" } , { "\xc6\xe8\xb9\xe0" , "\x5f\xe7\xd2\x52" } , { "\xc6\xe8\xba" , "\x5f\xe7\x53" } , { "\xc6\xe8\xba\xa2" , "\x5f\xe7\x53\xd5" } , { "\xc6\xe8\xba\xda" , "\x5f\xe7\x53\xd0" } , { "\xc6\xe8\xba\xdb" , "\x5f\xe7\x53\xde" } , { "\xc6\xe8\xba\xdb\xa2" , "\x5f\xe7\x53\xde\xd5" } , { "\xc6\xe8\xba\xdc" , "\x5f\xe7\x53\xd1" } , { "\xc6\xe8\xba\xde" , "\x5f\xe7\x53\xcb" } , { "\xc6\xe8\xba\xe0" , "\x5f\xe7\xd2\x53" } , { "\xc6\xe8\xba\xe0\xa2" , "\x5f\xe7\xd2\x53\xd5" } , { "\xc6\xe8\xba\xe1" , "\x5f\xe7\xd2\x53" } , { "\xc6\xe8\xba\xe2" , "\x5f\xe7\xd2\x53\xdf" } , { "\xc6\xe8\xba\xe5" , "\x5f\xe7\xd2\x53\xd0" } , { "\xc6\xe8\xba\xe8" , "\x5f\xe7\x53\xe7" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\x5f\xe7\x73\xd0" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x53\xcb\xd4" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\x5f\xe7\x53\xe7\x67\xd0" } , { "\xc6\xe8\xba\xe9\xda" , "\x5f\xe7\x53\xd0" } , { "\xc6\xe8\xbc\xe8\xb8" , "\x5f\xe7\x71" } , { "\xc6\xe8\xbd" , "\x5f\xe7\x56" } , { "\xc6\xe8\xbd\xda" , "\x5f\xe7\x56\xd0" } , { "\xc6\xe8\xbd\xdb" , "\x5f\xe7\x56\xde" } , { "\xc6\xe8\xbd\xdb\xa2" , "\x5f\xe7\x56\xde\xd5" } , { "\xc6\xe8\xbd\xdc" , "\x5f\xe7\x56\xd1" } , { "\xc6\xe8\xbd\xdd" , "\x5f\xe7\x56\xca" } , { "\xc6\xe8\xbd\xde" , "\x5f\xe7\x56\xcb" } , { "\xc6\xe8\xbd\xe0" , "\x5f\xe7\xd2\x56" } , { "\xc6\xe8\xbd\xe1" , "\x5f\xe7\xd2\x56" } , { "\xc6\xe8\xbd\xe1\xa2" , "\x5f\xe7\xd2\x56\xd5" } , { "\xc6\xe8\xbd\xe2" , "\x5f\xe7\xd2\x56\xdf" } , { "\xc6\xe8\xbd\xe2\xa2" , "\x5f\xe7\xd2\x56\xdf\xd5" } , { "\xc6\xe8\xbd\xe5" , "\x5f\xe7\xd2\x56\xd0" } , { "\xc6\xe8\xbd\xe5\xa2" , "\x5f\xe7\xd2\x56\xd0\xd5" } , { "\xc6\xe8\xbd\xe8" , "\x5f\xe7\x56\xe7" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\x5f\xe7\x56\xf0\xde" } , { "\xc6\xe8\xbd\xe8\xcf" , "\x5f\xe7\x56\xf6" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\x5f\xe7\x56\xf6\xd0" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\x5f\xe7\x56\xf6\xde" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\x5f\xe7\x56\xf6\xd1" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\x5f\xe7\x56\xf6\xe5" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\x5f\xe7\xd2\x56\xf6" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\x5f\xe7\xd2\x56\xf6" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\x5f\xe7\xd2\x56\xf6\xdf" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\x5f\xe7\xd2\x56\xf6\xd0" } , { "\xc6\xe8\xbd\xe8\xd1" , "\x5f\xe7\x56\xee" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\x5f\xe7\x56\xee\xe3" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\x5f\xe7\x56\xee\xe5" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x5f\xe7\x56\xe7\x6a" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\x5f\xe7\x56\xe7\x6a\xde" } , { "\xc6\xe8\xbe" , "\x5f\xe7\x57" } , { "\xc6\xe8\xbf" , "\x5f\xe7\x58" } , { "\xc6\xe8\xbf\xa2" , "\x5f\xe7\x58\xd5" } , { "\xc6\xe8\xbf\xda" , "\x5f\xe7\x58\xd0" } , { "\xc6\xe8\xbf\xdb" , "\x5f\xe7\x58\xde" } , { "\xc6\xe8\xbf\xdb\xa2" , "\x5f\xe7\x58\xde\xd5" } , { "\xc6\xe8\xbf\xdc" , "\x5f\xe7\x58\xd1" } , { "\xc6\xe8\xbf\xdd" , "\x5f\xe7\x58\xca" } , { "\xc6\xe8\xbf\xe0" , "\x5f\xe7\xd2\x58" } , { "\xc6\xe8\xbf\xe0\xa2" , "\x5f\xe7\xd2\x58\xd5" } , { "\xc6\xe8\xbf\xe1" , "\x5f\xe7\xd2\x58" } , { "\xc6\xe8\xbf\xe2" , "\x5f\xe7\xd2\x58\xdf" } , { "\xc6\xe8\xbf\xe5" , "\x5f\xe7\xd2\x58\xd0" } , { "\xc6\xe8\xbf\xe5\xa2" , "\x5f\xe7\xd2\x58\xd0\xd5" } , { "\xc6\xe8\xbf\xe8" , "\x5f\xe7\x58\xe7" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x5f\xe7\x58\xe7\x4c\xd0" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x5f\xe7\x94\xc6\xd0" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\x5f\xe7\x58\xe9\xd4\xd0" } , { "\xc6\xe8\xbf\xe8\xcf" , "\x5f\xe7\x58\xf6" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\x5f\xe7\x58\xf6\xd0" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\x5f\xe7\x58\xf6\xde" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\x5f\xe7\x58\xf6\xd1" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\x5f\xe7\xd2\x58\xf6\xd0" } , { "\xc6\xe8\xc0\xdb" , "\x5f\xe7\x59\xde" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\x5f\xe7\xc0\xcb\xa4" } , { "\xc6\xe8\xc2" , "\xab\xc6" } , { "\xc6\xe8\xc2\xa2" , "\xab\xd6\xc6" } , { "\xc6\xe8\xc2\xa3" , "\xab\xc6\xd3" } , { "\xc6\xe8\xc2\xda" , "\xab\xc6\xd0" } , { "\xc6\xe8\xc2\xdb" , "\xab\xde\xc6" } , { "\xc6\xe8\xc2\xdc" , "\xab\xc6\xd1" } , { "\xc6\xe8\xc2\xdd" , "\xab\xca\xc6" } , { "\xc6\xe8\xc2\xde" , "\xab\xcb\xc6" } , { "\xc6\xe8\xc2\xe0" , "\xd2\xab\xc6" } , { "\xc6\xe8\xc2\xe1" , "\xd2\xab\xc6" } , { "\xc6\xe8\xc2\xe5" , "\xd2\xab\xc6\xd0" } , { "\xc6\xe8\xc2\xe5\xa2" , "\xd2\xab\xc6\xd0\xd6" } , { "\xc6\xe8\xc2\xe8" , "\xab\xe7\xc6" } , { "\xc6\xe8\xc2\xe8\xc2" , "\xab\xf2\xc6" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\x5f\xe7\x5b\xe7\xa9\xc6" } , { "\xc6\xe8\xc2\xe8\xcd" , "\xab\xc6\xd4" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\xab\xc6\xd4\xd0" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\xd2\xab\xc6\xd4" } , { "\xc6\xe8\xc2\xe8\xcf" , "\xa7\xc6" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\xa7\xc6\xd0" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xa7\xc6\xde" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\xa7\xc6\xd1" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\xd2\xa7\xc6" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\xd2\xa7\xc6\xd0" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\xd2\xa7\xc6\xd0\xd5" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\xa7\xc6\xd4" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\xd2\xa7\xc6\xd4\xd0" } , { "\xc6\xe8\xc2\xe8\xd4" , "\x5f\xe7\x5b\xe7\x67" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\x5f\xe7\x97\xd0\xd5" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\x5f\xe7\xd2\x97\xd0" } , { "\xc6\xe8\xc3" , "\x78" } , { "\xc6\xe8\xc3\xda" , "\x78\xd0" } , { "\xc6\xe8\xc3\xdb" , "\x78\xde" } , { "\xc6\xe8\xc3\xdc" , "\x78\xd1" } , { "\xc6\xe8\xc3\xe1" , "\xd2\x78" } , { "\xc6\xe8\xc3\xe2" , "\xd2\x78\xdf" } , { "\xc6\xe8\xc3\xe5" , "\xd2\x78\xd0" } , { "\xc6\xe8\xc3\xe5\xa2" , "\xd2\x78\xd0\xd5" } , { "\xc6\xe8\xc3\xe8" , "\x78\xe7" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\x78\xf5\xd0\xd5" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\xd2\x78\xf5" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\xd2\x78\xf5\xdf" } , { "\xc6\xe8\xc4" , "\x74" } , { "\xc6\xe8\xc4\xda" , "\x74\xd0" } , { "\xc6\xe8\xc4\xda\xa2" , "\x74\xd0\xd5" } , { "\xc6\xe8\xc4\xdb" , "\x74\xde" } , { "\xc6\xe8\xc4\xdc" , "\x74\xd1" } , { "\xc6\xe8\xc4\xdc\xa2" , "\x74\xd1\xd5" } , { "\xc6\xe8\xc4\xdd" , "\x74\xca" } , { "\xc6\xe8\xc4\xde" , "\x74\xcb" } , { "\xc6\xe8\xc4\xde\xa2" , "\x74\xcb\xd5" } , { "\xc6\xe8\xc4\xe0" , "\xd2\x74" } , { "\xc6\xe8\xc4\xe1" , "\xd2\x74" } , { "\xc6\xe8\xc4\xe1\xa2" , "\xd2\x74\xd5" } , { "\xc6\xe8\xc4\xe2" , "\xd2\x74\xdf" } , { "\xc6\xe8\xc4\xe4" , "\xd2\x74\xd0" } , { "\xc6\xe8\xc4\xe5" , "\xd2\x74\xd0" } , { "\xc6\xe8\xc4\xe5\xa2" , "\xd2\x74\xd0\xd5" } , { "\xc6\xe8\xc4\xe6" , "\xd2\x74\xd7" } , { "\xc6\xe8\xc4\xe8\xc5" , "\x5f\xe7\x77" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\x5f\xe7\x77\xd0" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\x5f\xe7\x77\xd1" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\x74\xef\xd0" } , { "\xc6\xe8\xc4\xe8\xcd" , "\x74\xd4" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\x74\xca\xd4" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\xd2\x74\xd4\xd0" } , { "\xc6\xe8\xc4\xe8\xcf" , "\x74\xf5" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\x74\xf5\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\x74\xf5\xd0\xd5" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\x74\xf5\xde" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\x74\xf5\xd1" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\x74\xf6\xe5" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\xd2\x74\xf5" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\xd2\x74\xf5\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\xd2\x74\xf5\xd0\xd5" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\x5f\xe7\x5d\xd4\xe5\xd4" } , { "\xc6\xe8\xc4\xe8\xd4" , "\x5f\xe7\x5d\xe7\x67" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\x5f\xe7\x5d\xe7\x67\xd0" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\x5f\xe7\x5d\xe7\x67\xde" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\x5f\xe7\x5d\xe7\x67\xd1" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\x5f\xe7\x5d\xe7\xd2\x67\xd0" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\x5f\xe7\x5d\xe7\xd2\x67\xd0\xd5" } , { "\xc6\xe8\xc5" , "\x75" } , { "\xc6\xe8\xc5\xda" , "\x75\xd0" } , { "\xc6\xe8\xc5\xdb" , "\x75\xde" } , { "\xc6\xe8\xc5\xdc" , "\x75\xd1" } , { "\xc6\xe8\xc5\xdd" , "\x75\xca" } , { "\xc6\xe8\xc5\xde" , "\x75\xcb" } , { "\xc6\xe8\xc5\xe1" , "\xd2\x75" } , { "\xc6\xe8\xc5\xe5" , "\xd2\x75\xd0" } , { "\xc6\xe8\xc5\xe5\xa2" , "\xd2\x75\xd0\xd5" } , { "\xc6\xe8\xc5\xe6" , "\xd2\x75\xd7" } , { "\xc6\xe8\xc5\xe8\xcd" , "\x75\xd4" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\x75\xd4\xd0" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\x75\xd4\xd1" } , { "\xc6\xe8\xc5\xe8\xcf" , "\x75\xf5" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\x75\xf5\xd0\xd5" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\x75\xf5\xd1" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\xd2\x75\xf5\xd0\xd5" } , { "\xc6\xe8\xc6" , "\x5f\xef" } , { "\xc6\xe8\xc6\xa2" , "\x5f\xef\xd5" } , { "\xc6\xe8\xc6\xda" , "\x5f\xef\xd0" } , { "\xc6\xe8\xc6\xda\xa2" , "\x5f\xef\xd0\xd5" } , { "\xc6\xe8\xc6\xdb" , "\x5f\xef\xde" } , { "\xc6\xe8\xc6\xdb\xa2" , "\x5f\xef\xde\xd5" } , { "\xc6\xe8\xc6\xdb\xa3" , "\x5f\xef\xde\xd3" } , { "\xc6\xe8\xc6\xdc" , "\x5f\xef\xd1" } , { "\xc6\xe8\xc6\xdc\xa2" , "\x5f\xef\xd1\xd5" } , { "\xc6\xe8\xc6\xdd" , "\x5f\xf0\xe3" } , { "\xc6\xe8\xc6\xdd\xa2" , "\x5f\xf0\xe3\xd5" } , { "\xc6\xe8\xc6\xde" , "\x5f\xf0\xe5" } , { "\xc6\xe8\xc6\xdf" , "\x5f\xf0\xcc" } , { "\xc6\xe8\xc6\xe0" , "\xd2\x5f\xef" } , { "\xc6\xe8\xc6\xe0\xa2" , "\xd2\x5f\xef\xd5" } , { "\xc6\xe8\xc6\xe1" , "\xd2\x5f\xef" } , { "\xc6\xe8\xc6\xe1\xa2" , "\xd2\x5f\xef\xd5" } , { "\xc6\xe8\xc6\xe2" , "\xd2\x5f\xef\xdf" } , { "\xc6\xe8\xc6\xe4" , "\xd2\x5f\xef\xd0" } , { "\xc6\xe8\xc6\xe4\xa2" , "\xd2\x5f\xef\xd0\xd5" } , { "\xc6\xe8\xc6\xe5" , "\xd2\x5f\xef\xd0" } , { "\xc6\xe8\xc6\xe5\xa2" , "\xd2\x5f\xef\xd0\xd5" } , { "\xc6\xe8\xc6\xe6" , "\xd2\x5f\xef\xd7" } , { "\xc6\xe8\xc6\xe8" , "\x5f\xef\xe7" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\x5f\xe7\x5f\xe7\x4e\xd0" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\x5f\xe7\x5f\xe7\x56\xee\xe3" } , { "\xc6\xe8\xc6\xe8\xc2" , "\x5f\xe7\xab\xc6" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\x5f\xe7\xd2\x74\xd0" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\x5f\xe7\x75\xd4" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\x5f\xe7\x5f\xe7\x60\xca" } , { "\xc6\xe8\xc6\xe8\xc9" , "\x5f\xe7\x5f\xe7\x24\xbc" } , { "\xc6\xe8\xc6\xe8\xcc" , "\x5f\xef\x9b" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\x5f\xef\xd4\xd0" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x5f\xef\xcd" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\xd2\x5f\xef\xcd\xd0" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\x5f\xe7\x5f\xe7\x67\xd0" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\x5f\xe7\x5f\xe7\x67\xde\xd5" } , { "\xc6\xe8\xc8" , "\x5f\xe7\x60" } , { "\xc6\xe8\xc8\xa2" , "\x5f\xe7\x60\xd5" } , { "\xc6\xe8\xc8\xda" , "\x5f\xe7\x60\xd0" } , { "\xc6\xe8\xc8\xda\xa2" , "\x5f\xe7\x60\xd0\xd5" } , { "\xc6\xe8\xc8\xdb" , "\x5f\xe7\x60\xde" } , { "\xc6\xe8\xc8\xdb\xa2" , "\x5f\xe7\x60\xde\xd5" } , { "\xc6\xe8\xc8\xdc" , "\x5f\xe7\x60\xd1" } , { "\xc6\xe8\xc8\xdd" , "\x5f\xe7\x60\xca" } , { "\xc6\xe8\xc8\xde" , "\x5f\xe7\x60\xcb" } , { "\xc6\xe8\xc8\xe0" , "\x5f\xe7\xd2\x60" } , { "\xc6\xe8\xc8\xe1" , "\x5f\xe7\xd2\x60" } , { "\xc6\xe8\xc8\xe2" , "\x5f\xe7\xd2\x60\xdf" } , { "\xc6\xe8\xc8\xe4" , "\x5f\xe7\xd2\x60\xd0" } , { "\xc6\xe8\xc8\xe5" , "\x5f\xe7\xd2\x60\xd0" } , { "\xc6\xe8\xc8\xe6" , "\x5f\xe7\xd2\x60\xd7" } , { "\xc6\xe8\xc8\xe8\xc8" , "\x5f\xe7\x93\xa4" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\x60\xcb\xd4" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\x60\xf3\xd5\xd4" } , { "\xc6\xe8\xc8\xe8\xcf" , "\x5f\xe7\x60\xf5" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\x5f\xe7\x60\xf5\xd0" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\x5f\xe7\xd2\x60\xf5" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\x5f\xe7\x60\xed\xd0" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\x5f\xe7\x60\xed\xd1" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\x5f\xe7\x60\xee\xe3" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\x5f\xe7\x60\xee\xe5" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\x5f\xe7\xd2\x60\xed" } , { "\xc6\xe8\xc9" , "\x5f\xe7\x24\xbc" } , { "\xc6\xe8\xc9\xda" , "\x5f\xe7\x24\xbc\xd0" } , { "\xc6\xe8\xc9\xda\xa2" , "\x5f\xe7\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xc6\xe8\xc9\xdb" , "\x5f\xe7\x24\xde\xbc" } , { "\xc6\xe8\xc9\xdc" , "\x5f\xe7\x24\xbc\xd1" } , { "\xc6\xe8\xc9\xdd" , "\x5f\xe7\x24\xca\xbc" } , { "\xc6\xe8\xc9\xe0" , "\x5f\xe7\xd2\x24\xbc" } , { "\xc6\xe8\xc9\xe0\xa2" , "\x5f\xe7\xd2\x24\xbc\xbc\xbc\xd5" } , { "\xc6\xe8\xc9\xe1" , "\x5f\xe7\xd2\x24\xbc" } , { "\xc6\xe8\xc9\xe1\xa2" , "\x5f\xe7\xd2\x24\xbc\xbc\xbc\xd5" } , { "\xc6\xe8\xc9\xe4" , "\x5f\xe7\xd2\x24\xbc\xd0" } , { "\xc6\xe8\xc9\xe5" , "\x5f\xe7\xd2\x24\xbc\xd0" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x24\xcb\xbc\xd4" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\x5f\xe7\x24\xf5\xbc\xd0" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\x5f\xe7\x24\xf5\xde\xbc" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\x5f\xe7\x24\xf5\xde\xd5\xbc" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\x5f\xe7\x24\xf5\xbc\xd1" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\x5f\xe7\xd2\x24\xf5\xbc" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\x5f\xe7\xd2\x24\xf5\xbc\xd5" } , { "\xc6\xe8\xc9\xe8\xd1" , "\x5f\xe7\x24\xed\xbc" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\x5f\xe7\x24\xee\xe3\xbc" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\x5f\xe7\x24\xee\xe3\xd5\xbc" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\x5f\xe7\x24\xee\xe5\xbc" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\x5f\xe7\xd2\x24\xed\xbc" } , { "\xc6\xe8\xca" , "\x5f\xe8" } , { "\xc6\xe8\xca\xda" , "\x5f\xe8\xd0" } , { "\xc6\xe8\xca\xda\xa2" , "\x5f\xe8\xd0\xd5" } , { "\xc6\xe8\xca\xdd" , "\x5f\xe9\xe3" } , { "\xc6\xe8\xca\xde" , "\x5f\xe9\xe5" } , { "\xc6\xe8\xca\xe0" , "\xd2\x5f\xe8" } , { "\xc6\xe8\xca\xe1" , "\xd2\x5f\xe8" } , { "\xc6\xe8\xca\xe5" , "\xd2\x5f\xe8\xd0" } , { "\xc6\xe8\xca\xe5\xa2" , "\xd2\x5f\xe8\xd0\xd5" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\xd2\x5f\xe8\xcd" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\xd2\x5f\xe8\xcd\xd0" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\xd2\x5f\xe8\xe2" } , { "\xc6\xe8\xcb\xda" , "\x5f\xf7\xd0" } , { "\xc6\xe8\xcb\xde" , "\x5f\xf8\xe5" } , { "\xc6\xe8\xcc" , "\x5f\xea" } , { "\xc6\xe8\xcc\xa2" , "\x5f\xea\xd5" } , { "\xc6\xe8\xcc\xa3" , "\x5f\xea\xd3" } , { "\xc6\xe8\xcc\xda" , "\x5f\xea\xd0" } , { "\xc6\xe8\xcc\xda\xa2" , "\x5f\xea\xd0\xd5" } , { "\xc6\xe8\xcc\xdb" , "\x5f\xea\xde" } , { "\xc6\xe8\xcc\xdb\xa2" , "\x5f\xea\xde\xd5" } , { "\xc6\xe8\xcc\xdc" , "\x5f\xea\xd1" } , { "\xc6\xe8\xcc\xdd" , "\x5f\xeb\xe3" } , { "\xc6\xe8\xcc\xdd\xa2" , "\x5f\xeb\xe3\xd5" } , { "\xc6\xe8\xcc\xde" , "\x5f\xeb\xe5" } , { "\xc6\xe8\xcc\xdf" , "\x5f\xeb\xcc" } , { "\xc6\xe8\xcc\xe0" , "\xd2\x5f\xea" } , { "\xc6\xe8\xcc\xe0\xa2" , "\xd2\x5f\xea\xd5" } , { "\xc6\xe8\xcc\xe1" , "\xd2\x5f\xea" } , { "\xc6\xe8\xcc\xe1\xa2" , "\xd2\x5f\xea\xd5" } , { "\xc6\xe8\xcc\xe2" , "\xd2\x5f\xea\xdf" } , { "\xc6\xe8\xcc\xe4" , "\xd2\x5f\xea\xd0" } , { "\xc6\xe8\xcc\xe5" , "\xd2\x5f\xea\xd0" } , { "\xc6\xe8\xcc\xe5\xa2" , "\xd2\x5f\xea\xd0\xd5" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\x5f\xea\x9b\xde" } , { "\xc6\xe8\xcd" , "\x5f\xd4" } , { "\xc6\xe8\xcd\xa2" , "\x5f\xd5\xd4" } , { "\xc6\xe8\xcd\xa3" , "\x5f\xd4\xd3" } , { "\xc6\xe8\xcd\xda" , "\x5f\xd4\xd0" } , { "\xc6\xe8\xcd\xda\xa2" , "\x5f\xd4\xd0\xd5" } , { "\xc6\xe8\xcd\xda\xa3" , "\x5f\xd4\xd0\xd3" } , { "\xc6\xe8\xcd\xdb" , "\x5f\xde\xd4" } , { "\xc6\xe8\xcd\xdc" , "\x5f\xd4\xd1" } , { "\xc6\xe8\xcd\xdd" , "\x5f\xca\xd4" } , { "\xc6\xe8\xcd\xdd\xa2" , "\x5f\xca\xd5\xd4" } , { "\xc6\xe8\xcd\xde" , "\x5f\xcb\xd4" } , { "\xc6\xe8\xcd\xde\xa2" , "\x5f\xcb\xd5\xd4" } , { "\xc6\xe8\xcd\xe0" , "\xd2\x5f\xd4" } , { "\xc6\xe8\xcd\xe1" , "\xd2\x5f\xd4" } , { "\xc6\xe8\xcd\xe2" , "\xd2\x5f\xdf\xd4" } , { "\xc6\xe8\xcd\xe4" , "\xd2\x5f\xd4\xd0" } , { "\xc6\xe8\xcd\xe5" , "\xd2\x5f\xd4\xd0" } , { "\xc6\xe8\xcd\xe5\xa2" , "\xd2\x5f\xd4\xd0\xd5" } , { "\xc6\xe8\xcd\xe6" , "\xd2\x5f\xd4\xd7" } , { "\xc6\xe8\xcd\xe7" , "\xd2\x5f\xd4\xd0" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x5f\xd4" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x5f\xd4\xd0" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x5f\xcb\xd4" } , { "\xc6\xe8\xcf" , "\x5f\xf5" } , { "\xc6\xe8\xcf\xa2" , "\x5f\xf5\xd5" } , { "\xc6\xe8\xcf\xda" , "\x5f\xf5\xd0" } , { "\xc6\xe8\xcf\xdb" , "\x5f\xf5\xde" } , { "\xc6\xe8\xcf\xdc" , "\x5f\xf5\xd1" } , { "\xc6\xe8\xcf\xdd" , "\x5f\xf6\xe3" } , { "\xc6\xe8\xcf\xde" , "\x5f\xf6\xe5" } , { "\xc6\xe8\xcf\xe0" , "\xd2\x5f\xf5" } , { "\xc6\xe8\xcf\xe0\xa2" , "\xd2\x5f\xf5\xd5" } , { "\xc6\xe8\xcf\xe2" , "\xd2\x5f\xf5\xdf" } , { "\xc6\xe8\xcf\xe5" , "\xd2\x5f\xf5\xd0" } , { "\xc6\xe8\xcf\xe8" , "\x5f\xf5\xe7" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\x5f\xe7\x65\xe7\xfe\x58\xde" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x5f\xe7\x65\xf1\xfe" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\x5f\xe7\x65\xe7\xfe\x5d\xe7\x67" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x5f\xe7\x65\xe7\xfe\x6a\xd0" } , { "\xc6\xe8\xd0" , "\x5f\xf5" } , { "\xc6\xe8\xd0\xcc\xe8" , "\x5f\xf5\x63\xe7" } , { "\xc6\xe8\xd0\xdb" , "\x5f\xf5\xde" } , { "\xc6\xe8\xd0\xdd" , "\x5f\xf6\xe3" } , { "\xc6\xe8\xd1" , "\x5f\xed" } , { "\xc6\xe8\xd1\xa2" , "\x5f\xed\xd5" } , { "\xc6\xe8\xd1\xda" , "\x5f\xed\xd0" } , { "\xc6\xe8\xd1\xda\xa2" , "\x5f\xed\xd0\xd5" } , { "\xc6\xe8\xd1\xdb" , "\x5f\xed\xde" } , { "\xc6\xe8\xd1\xdc" , "\x5f\xed\xd1" } , { "\xc6\xe8\xd1\xdd" , "\x5f\xee\xe3" } , { "\xc6\xe8\xd1\xdd\xa2" , "\x5f\xee\xe3\xd5" } , { "\xc6\xe8\xd1\xde" , "\x5f\xee\xe5" } , { "\xc6\xe8\xd1\xe0" , "\xd2\x5f\xed" } , { "\xc6\xe8\xd1\xe0\xa2" , "\xd2\x5f\xed\xd5" } , { "\xc6\xe8\xd1\xe1" , "\xd2\x5f\xed" } , { "\xc6\xe8\xd1\xe1\xa2" , "\xd2\x5f\xed\xd5" } , { "\xc6\xe8\xd1\xe2" , "\xd2\x5f\xed\xdf" } , { "\xc6\xe8\xd1\xe4" , "\xd2\x5f\xed\xd0" } , { "\xc6\xe8\xd1\xe4\xa2" , "\xd2\x5f\xed\xd0\xd5" } , { "\xc6\xe8\xd1\xe5" , "\xd2\x5f\xed\xd0" } , { "\xc6\xe8\xd1\xe5\xa2" , "\xd2\x5f\xed\xd0\xd5" } , { "\xc6\xe8\xd1\xe8" , "\x5f\xed\xe7" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x5f\xed\xd4\xd0\xd5" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x5f\xd4\xe5\xd4" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x5f\xe7\x6d\xe7\xfe\xd2\x6a" } , { "\xc6\xe8\xd2" , "\x5f\xfd" } , { "\xc6\xe8\xd4" , "\x5f\xe7\x67" } , { "\xc6\xe8\xd4\xa2" , "\x5f\xe7\x67\xd5" } , { "\xc6\xe8\xd4\xda" , "\x5f\xe7\x67\xd0" } , { "\xc6\xe8\xd4\xdb" , "\x5f\xe7\x67\xde" } , { "\xc6\xe8\xd4\xdc" , "\x5f\xe7\x67\xd1" } , { "\xc6\xe8\xd4\xdd" , "\x5f\xe7\x67\xca" } , { "\xc6\xe8\xd4\xdd\xa2" , "\x5f\xe7\x67\xca\xd5" } , { "\xc6\xe8\xd4\xde" , "\x5f\xe7\x67\xcb" } , { "\xc6\xe8\xd4\xe0" , "\x5f\xe7\xd2\x67" } , { "\xc6\xe8\xd4\xe0\xa2" , "\x5f\xe7\xd2\x67\xd5" } , { "\xc6\xe8\xd4\xe1" , "\x5f\xe7\xd2\x67" } , { "\xc6\xe8\xd4\xe1\xa2" , "\x5f\xe7\xd2\x67\xd5" } , { "\xc6\xe8\xd4\xe2" , "\x5f\xe7\xd2\x67\xdf" } , { "\xc6\xe8\xd4\xe5" , "\x5f\xe7\xd2\x67\xd0" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\x67\xd4\xd0" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\x5f\xe7\x67\xf6\xd1" } , { "\xc6\xe8\xd5" , "\x5f\xe7\x68" } , { "\xc6\xe8\xd5\xa2" , "\x5f\xe7\x68\xd5" } , { "\xc6\xe8\xd5\xda" , "\x5f\xe7\x68\xd0" } , { "\xc6\xe8\xd5\xdb" , "\x5f\xe7\x68\xde" } , { "\xc6\xe8\xd5\xdc" , "\x5f\xe7\x68\xd1" } , { "\xc6\xe8\xd6" , "\x5f\xe7\x69" } , { "\xc6\xe8\xd6\xda" , "\x5f\xe7\x69\xd0" } , { "\xc6\xe8\xd6\xdb" , "\x5f\xe7\x69\xde" } , { "\xc6\xe8\xd6\xdc" , "\x5f\xe7\x69\xd1" } , { "\xc6\xe8\xd6\xdd" , "\x5f\xe7\x69\xca" } , { "\xc6\xe8\xd6\xde" , "\x5f\xe7\x69\xcb" } , { "\xc6\xe8\xd6\xe0" , "\x5f\xe7\xd2\x69" } , { "\xc6\xe8\xd6\xe2" , "\x5f\xe7\xd2\x69\xdf" } , { "\xc6\xe8\xd6\xe8\xbd" , "\x5f\xe7\xbd\xa4" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\x5f\xe7\xd2\xbd\xa4" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\x5f\xe7\xbd\xf6\xa4" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x69\xcb\xd4" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\x5f\xe7\x69\xe7\x67\xd1" } , { "\xc6\xe8\xd7" , "\x5f\xe7\x6a" } , { "\xc6\xe8\xd7\xa2" , "\x5f\xe7\x6a\xd5" } , { "\xc6\xe8\xd7\xda" , "\x5f\xe7\x6a\xd0" } , { "\xc6\xe8\xd7\xda\xa2" , "\x5f\xe7\x6a\xd0\xd5" } , { "\xc6\xe8\xd7\xdb" , "\x5f\xe7\x6a\xde" } , { "\xc6\xe8\xd7\xdb\xa2" , "\x5f\xe7\x6a\xde\xd5" } , { "\xc6\xe8\xd7\xdc" , "\x5f\xe7\x6a\xd1" } , { "\xc6\xe8\xd7\xdc\xa2" , "\x5f\xe7\x6a\xd1\xd5" } , { "\xc6\xe8\xd7\xdd" , "\x5f\xe7\x6a\xca" } , { "\xc6\xe8\xd7\xdd\xa2" , "\x5f\xe7\x6a\xca\xd5" } , { "\xc6\xe8\xd7\xde" , "\x5f\xe7\x6a\xcb" } , { "\xc6\xe8\xd7\xe0" , "\x5f\xe7\xd2\x6a" } , { "\xc6\xe8\xd7\xe0\xa2" , "\x5f\xe7\xd2\x6a\xd5" } , { "\xc6\xe8\xd7\xe1" , "\x5f\xe7\xd2\x6a" } , { "\xc6\xe8\xd7\xe1\xa2" , "\x5f\xe7\xd2\x6a\xd5" } , { "\xc6\xe8\xd7\xe2" , "\x5f\xe7\xd2\x6a\xdf" } , { "\xc6\xe8\xd7\xe5" , "\x5f\xe7\xd2\x6a\xd0" } , { "\xc6\xe8\xd7\xe5\xa2" , "\x5f\xe7\xd2\x6a\xd0\xd5" } , { "\xc6\xe8\xd7\xe8" , "\x5f\xe7\x6a\xe7" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\x5f\xe7\xb2\xc6\xd0" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\x5f\xe7\xb2\xde\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\x5f\xe7\xb2\xc6\xd1" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\x5f\xe7\xb2\xca\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\x5f\xe7\xb2\xcb\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\x5f\xe7\xd2\xb2\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\x5f\xe7\xd2\xb2\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\x5f\xe7\xd2\xb2\xc6\xd0" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\x5f\xe7\xb2\xe7\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\x5f\xe7\xb2\xca\xc6\xd4" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x5f\xe7\xb2\xf6\xde\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\x5f\xe7\xd2\xb2\xf6\xc6" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\x5f\xe7\x6a\xe7\x4c\xe7\x67" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x5f\xe7\x6a\xe7\x4e\xd0" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x5f\xe7\x6a\xe7\xd2\x51\xd0" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x5f\xe7\x6a\xe7\x53\xd0" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x5f\xe7\x6a\xe7\xd2\x53" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x5f\xe7\x6a\xe7\x56" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x5f\xe7\x6a\xe7\x56\xd0" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x5f\xe7\x6a\xe7\x56\xd0\xd5" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\x5f\xe7\x6a\xe7\x56\xde" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x5f\xe7\x6a\xe7\x56\xd1" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x5f\xe7\x6a\xe7\x56\xca" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x5f\xe7\x6a\xe7\x56\xcb" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\x5f\xe7\x6a\xe7\xd2\x56" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\x5f\xe7\x6a\xe7\xd2\x56\xd5" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x5f\xe7\x6a\xe7\xd2\x56" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x5f\xe7\x6a\xe7\xd2\x56\xdf" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x5f\xe7\x6a\xe7\xd2\x56\xd0" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\x5f\xe7\x6a\xe7\x56\xe7\x4c" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\x5f\xe7\x56\xd4\xd0\xd5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\x5f\xe7\x56\xcb\xd4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\x5f\xe7\x6a\xe7\x56\xf6" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x5f\xe7\x6a\xe7\x56\xf6\xde" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\x5f\xe7\x6a\xe7\x56\xf6\xe3" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x5f\xe7\x6a\xe7\x56\xf6\xe5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\x5f\xe7\x6a\xe7\xd2\x56\xf6" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x5f\xe7\x6a\xe7\xd2\x56\xf6\xdf" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\x5f\xe7\x6a\xe7\x58\xde" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x5f\xe7\x6a\xe7\x94\xc6\xd0" } , { "\xc6\xe8\xd7\xe8\xc2" , "\x5f\xe7\xaa\xc6" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\x5f\xe7\xd2\xaa\xc6\xd0" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\x5f\xe7\x79\xd0" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\x5f\xe7\x79\xde" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x5f\xe7\x6a\xe7\x5d\xe7\x67\xd0" } , { "\xc6\xe8\xd7\xe8\xc6" , "\x5f\xe7\x6a\xef" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\x5f\xe7\x6a\xef\xde" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\x5f\xe7\x6a\xf0\xe3" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\x5f\xe7\x6a\xf0\xe3\xd5" } , { "\xc6\xe8\xd7\xe8\xc8" , "\x5f\xe7\xb8\xa4" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\x5f\xe7\xb8\xa4\xd0" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\x5f\xe7\xb8\xde\xa4" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\x5f\xe7\xb8\xa4\xd1" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\x5f\xe7\xb8\xca\xa4" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\x5f\xe7\xd2\xb8\xa4" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\x5f\xe7\xd2\xb8\xa4" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\x5f\xe7\xd2\xb8\xdf\xa4" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\x5f\xe7\xd2\xb8\xa4\xd0" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x5f\xe7\xb8\xee\xa4\xd0" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x5f\xe7\xb8\xee\xa4\xd0\xd6" } , { "\xc6\xe8\xd7\xe8\xc9" , "\x5f\xe7\xc9\xa5" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\x5f\xe7\xc9\xa5\xd0" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\x5f\xe7\xc9\xde\xa5" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\x5f\xe7\xd2\xc9\xa5" } , { "\xc6\xe8\xd7\xe8\xca" , "\x5f\xe7\x6a\xe8" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\x5f\xe7\xd2\x6a\xe8" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\x5f\xe7\x6a\xe8\xcd\xd0\xd5" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\x5f\xe7\x6a\xea\xde" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\x5f\xe7\x6a\xea\xd1" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\x5f\xe7\xd2\x6a\xea\xd5" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\x5f\xe7\x6a\xe7\x63\xe7\x56\xde\xd5" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x6a\xca\xd4" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x6a\xcb\xd4" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\x5f\xe7\x6a\xf5\xd0" } , { "\xc6\xe8\xd7\xe8\xd1" , "\x5f\xe7\x6a\xed" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\x5f\xe7\x6a\xed\xd0" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\x5f\xe7\x6a\xed\xd0\xd5" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\x5f\xe7\x6a\xed\xde" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\x5f\xe7\x6a\xee\xe3" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\x5f\xe7\xd2\x6a\xed" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\x5f\xe7\xd2\x6a\xed" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\x5f\xe7\xd2\x6a\xed\xd0" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\x5f\xe7\xd2\x6a\xed\xd0\xd5" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\x5f\xe7\x6a\xed\xe7" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\x5f\xe7\x6a\xed\xd4\xd0\xd5" } , { "\xc6\xe8\xd7\xe8\xd4" , "\x5f\xe7\x6a\xe7\x67" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\x5f\xe7\x6a\xe7\x67\xd0" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\x5f\xe7\x6a\xe7\x67\xde" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\x5f\xe7\x6a\xe7\x67\xde\xd5" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\x5f\xe7\x6a\xe7\xd2\x67" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\x5f\xe7\x6a\xe7\xd2\x67" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x5f\xe7\x6a\xe7\xd2\x67\xdf" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x5f\xe7\x6a\xe7\x6a" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x5f\xe7\x6a\xe7\x6a\xe7" } , { "\xc6\xe8\xd8" , "\x5f\xe7\x6b\xfe" } , { "\xc6\xe8\xd8\xa2" , "\x5f\xe7\x6b\xd5\xfe" } , { "\xc6\xe8\xd8\xda" , "\x5f\xe7\x6b\xfe\xd0" } , { "\xc6\xe8\xd8\xda\xa1" , "\x5f\xe7\x6b\xdc\xfe\xd0" } , { "\xc6\xe8\xd8\xda\xa2" , "\x5f\xe7\x6b\xfe\xd0\xd5" } , { "\xc6\xe8\xd8\xdb" , "\x5f\xe7\x6b\xde\xfe" } , { "\xc6\xe8\xd8\xdb\xa2" , "\x5f\xe7\x6b\xde\xd5\xfe" } , { "\xc6\xe8\xd8\xdc" , "\x5f\xe7\x6b\xfe\xd1" } , { "\xc6\xe8\xd8\xdc\xa2" , "\x5f\xe7\x6b\xfe\xd1\xd5" } , { "\xc6\xe8\xd8\xdd\xa2" , "\x5f\xe7\x6b\xca\xd5\xfe" } , { "\xc6\xe8\xd8\xe0" , "\x5f\xe7\xd2\x6b\xfe" } , { "\xc6\xe8\xd8\xe1" , "\x5f\xe7\xd2\x6b\xfe" } , { "\xc6\xe8\xd8\xe1\xa2" , "\x5f\xe7\xd2\x6b\xfe\xd5" } , { "\xc6\xe8\xd8\xe2" , "\x5f\xe7\xd2\x6b\xdf\xfe" } , { "\xc6\xe8\xd8\xe2\xa2" , "\x5f\xe7\xd2\x6b\xdf\xd5\xfe" } , { "\xc6\xe8\xd8\xe5" , "\x5f\xe7\xd2\x6b\xfe\xd0" } , { "\xc6\xe8\xd8\xe5\xa2" , "\x5f\xe7\xd2\x6b\xfe\xd0\xd5" } , { "\xc6\xe8\xd8\xe6" , "\x5f\xe7\xd2\x6b\xfe\xd7" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x6b\xfe\xd4" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x6b\xfe\xd4\xd0\xd5" } , { "\xc6\xe8\xd9\xa6" , "\x5f\xe7\x42" } , { "\xc6\xe8\xd9\xc2" , "\x5f\xe7\x5b" } , { "\xc6\xe8\xd9\xc2\xdd" , "\x5f\xe7\x5b\xca" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\x5f\xe7\x5b\xf6" } , { "\xc6\xe8\xd9\xc6" , "\x5f\xe7\x5f" } , { "\xc6\xe8\xd9\xc6\xda" , "\x5f\xe7\x5f\xd0" } , { "\xc6\xe8\xd9\xc6\xdc" , "\x5f\xe7\x5f\xd1" } , { "\xc6\xe8\xd9\xc6\xdd" , "\x5f\xe7\x5f\xca" } , { "\xc6\xe8\xd9\xc6\xde" , "\x5f\xe7\x5f\xcb" } , { "\xc6\xe8\xd9\xc6\xe1" , "\x5f\xe7\xd2\x5f" } , { "\xc6\xe8\xd9\xc6\xe5" , "\x5f\xe7\xd2\x5f\xd0" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\x5f\xe7\xd2\x5f\xd0\xd5" } , { "\xc6\xe8\xd9\xc6\xe6" , "\x5f\xe7\xd2\x5f\xd7" } , { "\xc6\xe8\xd9\xcc\xde" , "\x5f\xe7\x63\xcb" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\x5f\xe7\x5b\xe0" } , { "\xc6\xe8\xd9\xd7\xda" , "\x5f\xe7\x6a\xd0" } , { "\xc6\xe8\xd9\xd8" , "\x5f\xe7\x6b\xfe" } , { "\xc6\xe8\xe8" , "\x5f\xe7" } , { "\xc6\xe8\xe9\xc6" , "\x5f\xe7\x5f" } , { "\xc6\xe8\xe9\xcf" , "\x5f\xe7\x65\xfe" } , { "\xc6\xe9" , "\x5f" } , { "\xc6\xe9\xe8\xbf" , "\x5f\xe7\x58" } , { "\xc7" , "\x5f" } , { "\xc7\xdb" , "\x5f\xde" } , { "\xc8" , "\x60" } , { "\xc8\xa1" , "\x60\xdc" } , { "\xc8\xa2" , "\x60\xd5" } , { "\xc8\xa2\xa2" , "\x60\xd5\xd5" } , { "\xc8\xa3" , "\x60\xd3" } , { "\xc8\xd0" , "\x60\x65\xfe" } , { "\xc8\xd0\xcc" , "\x60\x65\xfe\x63" } , { "\xc8\xda" , "\x60\xd0" } , { "\xc8\xda\xa1" , "\x60\xdc\xd0" } , { "\xc8\xda\xa2" , "\x60\xd0\xd5" } , { "\xc8\xda\xa3" , "\x60\xd0\xd3" } , { "\xc8\xda\xd0\xe8" , "\x60\xd0\x65\xe7\xfe" } , { "\xc8\xdb" , "\x60\xde" } , { "\xc8\xdb\xa2" , "\x60\xde\xd5" } , { "\xc8\xdb\xa2\xa2" , "\x60\xde\xd5\xd5" } , { "\xc8\xdc" , "\x60\xd1" } , { "\xc8\xdc\xa2" , "\x60\xd1\xd5" } , { "\xc8\xdd" , "\x60\xca" } , { "\xc8\xdd\xa1" , "\x60\xca\xdc" } , { "\xc8\xdd\xa2" , "\x60\xca\xd5" } , { "\xc8\xdd\xa3" , "\x60\xca\xd3" } , { "\xc8\xde" , "\x60\xcb" } , { "\xc8\xde\xa1" , "\x60\xcb\xdc" } , { "\xc8\xde\xa2" , "\x60\xcb\xd5" } , { "\xc8\xdf" , "\x60\xf3" } , { "\xc8\xe0" , "\xd2\x60" } , { "\xc8\xe0\xa2" , "\xd2\x60\xd5" } , { "\xc8\xe1" , "\xd2\x60" } , { "\xc8\xe1\xa1" , "\xd2\x60\xdc" } , { "\xc8\xe1\xa2" , "\xd2\x60\xd5" } , { "\xc8\xe2" , "\xd2\x60\xdf" } , { "\xc8\xe2\xa2" , "\xd2\x60\xdf\xd5" } , { "\xc8\xe2\xa3" , "\xd2\x60\xdf\xd3" } , { "\xc8\xe2\xcf\xe8" , "\xd2\x60\xdf\x65\xe7\xfe" } , { "\xc8\xe4" , "\xd2\x60\xd0" } , { "\xc8\xe4\xa2" , "\xd2\x60\xd0\xd5" } , { "\xc8\xe4\xa3" , "\xd2\x60\xd0\xd3" } , { "\xc8\xe5" , "\xd2\x60\xd0" } , { "\xc8\xe5\xa2" , "\xd2\x60\xd0\xd5" } , { "\xc8\xe5\xa3" , "\xd2\x60\xd0\xd3" } , { "\xc8\xe6" , "\xd2\x60\xd7" } , { "\xc8\xe6\xa2" , "\xd2\x60\xd7\xd5" } , { "\xc8\xe7" , "\xd2\x60\xd0" } , { "\xc8\xe7\xa2" , "\xd2\x60\xd0\xd5" } , { "\xc8\xe8" , "\x60\xe7" } , { "\xc8\xe8\xb3" , "\x60\xe7\x4c" } , { "\xc8\xe8\xb3\xa2" , "\x60\xe7\x4c\xd5" } , { "\xc8\xe8\xb3\xda" , "\x60\xe7\x4c\xd0" } , { "\xc8\xe8\xb3\xdb" , "\x60\xe7\x4c\xde" } , { "\xc8\xe8\xb3\xdb\xa2" , "\x60\xe7\x4c\xde\xd5" } , { "\xc8\xe8\xb3\xdd" , "\x60\xe7\x4c\xca" } , { "\xc8\xe8\xb3\xe1" , "\x60\xe7\xd2\x4c" } , { "\xc8\xe8\xb3\xe4" , "\x60\xe7\xd2\x4c\xd0" } , { "\xc8\xe8\xb3\xe5" , "\x60\xe7\xd2\x4c\xd0" } , { "\xc8\xe8\xb3\xe8\xc2" , "\x60\xe7\xa6\xc6" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x60\xe7\x4c\xe7\x65\xe7\xfe\x6a\xe7" } , { "\xc8\xe8\xb5" , "\x60\xe7\x4e" } , { "\xc8\xe8\xb5\xda" , "\x60\xe7\x4e\xd0" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\x60\xe7\xd2\x4e\xf5" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\x60\xe7\xd2\x4e\xf5\xd7\xd5" } , { "\xc8\xe8\xb6" , "\x60\xe7\x4f" } , { "\xc8\xe8\xb8" , "\x60\xe7\x51" } , { "\xc8\xe8\xb8\xda" , "\x60\xe7\x51\xd0" } , { "\xc8\xe8\xb8\xdb" , "\x60\xe7\x51\xde" } , { "\xc8\xe8\xb8\xdd" , "\x60\xe7\x51\xca" } , { "\xc8\xe8\xb8\xde" , "\x60\xe7\x51\xcb" } , { "\xc8\xe8\xb8\xe0" , "\x60\xe7\xd2\x51" } , { "\xc8\xe8\xb8\xe1" , "\x60\xe7\xd2\x51" } , { "\xc8\xe8\xb8\xe8" , "\x60\xe7\x51\xe7" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x60\xe7\x6f\xd0" } , { "\xc8\xe8\xb9\xdd" , "\x60\xe7\x52\xca" } , { "\xc8\xe8\xba" , "\x60\xe7\x53" } , { "\xc8\xe8\xba\xda" , "\x60\xe7\x53\xd0" } , { "\xc8\xe8\xba\xdb" , "\x60\xe7\x53\xde" } , { "\xc8\xe8\xba\xdd" , "\x60\xe7\x53\xca" } , { "\xc8\xe8\xbd" , "\x60\xe7\x56" } , { "\xc8\xe8\xbd\xa2" , "\x60\xe7\x56\xd5" } , { "\xc8\xe8\xbd\xda" , "\x60\xe7\x56\xd0" } , { "\xc8\xe8\xbd\xdb" , "\x60\xe7\x56\xde" } , { "\xc8\xe8\xbd\xdb\xa2" , "\x60\xe7\x56\xde\xd5" } , { "\xc8\xe8\xbd\xdc" , "\x60\xe7\x56\xd1" } , { "\xc8\xe8\xbd\xdd" , "\x60\xe7\x56\xca" } , { "\xc8\xe8\xbd\xde" , "\x60\xe7\x56\xcb" } , { "\xc8\xe8\xbd\xe0" , "\x60\xe7\xd2\x56" } , { "\xc8\xe8\xbd\xe0\xa2" , "\x60\xe7\xd2\x56\xd5" } , { "\xc8\xe8\xbd\xe1" , "\x60\xe7\xd2\x56" } , { "\xc8\xe8\xbd\xe2" , "\x60\xe7\xd2\x56\xdf" } , { "\xc8\xe8\xbd\xe4" , "\x60\xe7\xd2\x56\xd0" } , { "\xc8\xe8\xbd\xe5" , "\x60\xe7\xd2\x56\xd0" } , { "\xc8\xe8\xbd\xe6" , "\x60\xe7\xd2\x56\xd7" } , { "\xc8\xe8\xbd\xe8" , "\x60\xe7\x56\xe7" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x60\xe7\x56\xe7\x4c\xca" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x60\xe7\x56\xe7\x4e\xd0" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x60\xe7\x56\xe7\xd2\x51" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x60\xe7\xd2\x56\xf2\xd0" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\x60\xe7\x56\xe9\xd0" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x56\xcb\xd4" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\x60\xe7\x56\xf6\xd0" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\x60\xe7\xd2\x56\xf6\xd0" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\x60\xe7\x56\xee\xe3" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\x60\xe7\x56\xe7\x67\xde" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x60\xe7\x56\xe7\xd2\x67" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x60\xe7\x56\xe7\x6a" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x60\xe7\x56\xe7\x6a\xe7" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x60\xe7\x56\xe7\x6b\xfe\xd0" } , { "\xc8\xe8\xbf" , "\x60\xe7\x58" } , { "\xc8\xe8\xbf\xda" , "\x60\xe7\x58\xd0" } , { "\xc8\xe8\xbf\xdb" , "\x60\xe7\x58\xde" } , { "\xc8\xe8\xbf\xdd" , "\x60\xe7\x58\xca" } , { "\xc8\xe8\xbf\xe0\xa2" , "\x60\xe7\xd2\x58\xd5" } , { "\xc8\xe8\xbf\xe1" , "\x60\xe7\xd2\x58" } , { "\xc8\xe8\xbf\xe8" , "\x60\xe7\x58\xe7" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\x60\xe7\x58\xf6\xd0" } , { "\xc8\xe8\xc1" , "\x60\xe7\x5a" } , { "\xc8\xe8\xc2" , "\xa9\xc6" } , { "\xc8\xe8\xc2\xa2" , "\xa9\xd6\xc6" } , { "\xc8\xe8\xc2\xda" , "\xa9\xc6\xd0" } , { "\xc8\xe8\xc2\xda\xa2" , "\xa9\xc6\xd0\xd6" } , { "\xc8\xe8\xc2\xdb" , "\xa9\xde\xc6" } , { "\xc8\xe8\xc2\xdb\xa2" , "\xa9\xde\xd6\xc6" } , { "\xc8\xe8\xc2\xdc" , "\xa9\xc6\xd1" } , { "\xc8\xe8\xc2\xdd" , "\xa9\xca\xc6" } , { "\xc8\xe8\xc2\xdd\xa2" , "\xa9\xca\xd6\xc6" } , { "\xc8\xe8\xc2\xde" , "\xa9\xcb\xc6" } , { "\xc8\xe8\xc2\xde\xa2" , "\xa9\xcb\xd6\xc6" } , { "\xc8\xe8\xc2\xe0" , "\xd2\xa9\xc6" } , { "\xc8\xe8\xc2\xe1" , "\xd2\xa9\xc6" } , { "\xc8\xe8\xc2\xe2\xa3" , "\xd2\xa9\xdf\xc6\xd3" } , { "\xc8\xe8\xc2\xe5" , "\xd2\xa9\xc6\xd0" } , { "\xc8\xe8\xc2\xe5\xa2" , "\xd2\xa9\xc6\xd0\xd6" } , { "\xc8\xe8\xc2\xe8" , "\xa9\xe7\xc6" } , { "\xc8\xe8\xc2\xe8\xcd" , "\xa9\xc6\xd4" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\xa9\xc6\xd4\xd0" } , { "\xc8\xe8\xc2\xe8\xcf" , "\xa9\xf6\xc6" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\xd2\xa9\xf6\xc6" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\xd2\xa9\xf6\xdf\xc6" } , { "\xc8\xe8\xc3" , "\x60\xe7\x5c" } , { "\xc8\xe8\xc3\xdc" , "\x60\xe7\x5c\xd1" } , { "\xc8\xe8\xc3\xe8" , "\x60\xe7\x5c\xe7" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x60\xe7\x5c\xe7\x4c" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x5c\xd4\xd0" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x60\xe7\x5c\xe7\x67\xd1" } , { "\xc8\xe8\xc4" , "\x60\xe7\x5d" } , { "\xc8\xe8\xc4\xda" , "\x60\xe7\x5d\xd0" } , { "\xc8\xe8\xc4\xdc" , "\x60\xe7\x5d\xd1" } , { "\xc8\xe8\xc4\xdd" , "\x60\xe7\x5d\xca" } , { "\xc8\xe8\xc4\xe1" , "\x60\xe7\xd2\x5d" } , { "\xc8\xe8\xc4\xe4" , "\x60\xe7\xd2\x5d\xd0" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\x60\xe7\x7e\xde" } , { "\xc8\xe8\xc5" , "\x60\xe7\x5e" } , { "\xc8\xe8\xc5\xda" , "\x60\xe7\x5e\xd0" } , { "\xc8\xe8\xc5\xdd" , "\x60\xe7\x5e\xca" } , { "\xc8\xe8\xc6" , "\x60\xef" } , { "\xc8\xe8\xc6\xa2" , "\x60\xef\xd5" } , { "\xc8\xe8\xc6\xda" , "\x60\xef\xd0" } , { "\xc8\xe8\xc6\xdb" , "\x60\xef\xde" } , { "\xc8\xe8\xc6\xdc" , "\x60\xef\xd1" } , { "\xc8\xe8\xc6\xdd" , "\x60\xf0\xe3" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x60\xf0\xe3\xd5" } , { "\xc8\xe8\xc6\xe5" , "\xd2\x60\xef\xd0" } , { "\xc8\xe8\xc6\xe5\xa2" , "\xd2\x60\xef\xd0\xd5" } , { "\xc8\xe8\xc7" , "\x60\xef" } , { "\xc8\xe8\xc8" , "\x93\xa4" } , { "\xc8\xe8\xc8\xa2" , "\x93\xd6\xa4" } , { "\xc8\xe8\xc8\xa2\xa2" , "\x93\xd6\xa4\xd5" } , { "\xc8\xe8\xc8\xda" , "\x93\xa4\xd0" } , { "\xc8\xe8\xc8\xda\xa2" , "\x93\xa4\xd0\xd6" } , { "\xc8\xe8\xc8\xdb" , "\x93\xde\xa4" } , { "\xc8\xe8\xc8\xdb\xa2" , "\x93\xde\xd6\xa4" } , { "\xc8\xe8\xc8\xdc" , "\x93\xa4\xd1" } , { "\xc8\xe8\xc8\xdc\xa2" , "\x93\xa4\xd1\xd6" } , { "\xc8\xe8\xc8\xdd" , "\x93\xca\xa4" } , { "\xc8\xe8\xc8\xdd\xa2" , "\x93\xca\xd6\xa4" } , { "\xc8\xe8\xc8\xde" , "\x93\xcb\xa4" } , { "\xc8\xe8\xc8\xe0" , "\xd2\x93\xa4" } , { "\xc8\xe8\xc8\xe0\xa2" , "\xd2\x93\xa4\xd6" } , { "\xc8\xe8\xc8\xe1" , "\xd2\x93\xa4" } , { "\xc8\xe8\xc8\xe1\xa2" , "\xd2\x93\xa4\xd6" } , { "\xc8\xe8\xc8\xe2" , "\xd2\x93\xdf\xa4" } , { "\xc8\xe8\xc8\xe2\xa2" , "\xd2\x93\xdf\xd6\xa4" } , { "\xc8\xe8\xc8\xe4" , "\xd2\x93\xa4\xd0" } , { "\xc8\xe8\xc8\xe4\xa2" , "\xd2\x93\xa4\xd0\xd6" } , { "\xc8\xe8\xc8\xe5" , "\xd2\x93\xa4\xd0" } , { "\xc8\xe8\xc8\xe5\xa2" , "\xd2\x93\xa4\xd0\xd6" } , { "\xc8\xe8\xc8\xe6" , "\xd2\x93\xa4\xd7" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\x60\xe7\x60\xe7\x58\xde" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x60\xe7\x93\xa4\xd0" } , { "\xc8\xe8\xc8\xe8\xcc" , "\x93\xeb\xa4" } , { "\xc8\xe8\xc8\xe8\xcf" , "\x93\xf6\xa4" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x60\xe7\xbf\xca\xa4" } , { "\xc8\xe8\xc9" , "\x60\xe7\x24\xbc" } , { "\xc8\xe8\xc9\xdb" , "\x60\xe7\x24\xde\xbc" } , { "\xc8\xe8\xc9\xdc" , "\x60\xe7\x24\xbc\xd1" } , { "\xc8\xe8\xc9\xdd" , "\x60\xe7\x24\xca\xbc" } , { "\xc8\xe8\xc9\xe0" , "\x60\xe7\xd2\x24\xbc" } , { "\xc8\xe8\xc9\xe1" , "\x60\xe7\xd2\x24\xbc" } , { "\xc8\xe8\xc9\xe2" , "\x60\xe7\xd2\x24\xdf\xbc" } , { "\xc8\xe8\xca" , "\x60\xe8" } , { "\xc8\xe8\xca\xda" , "\x60\xe8\xd0" } , { "\xc8\xe8\xca\xdb\xa2" , "\x60\xe8\xde\xd5" } , { "\xc8\xe8\xca\xdd" , "\x60\xe9\xe3" } , { "\xc8\xe8\xca\xe0" , "\xd2\x60\xe8" } , { "\xc8\xe8\xcb" , "\x60\xf7" } , { "\xc8\xe8\xcc" , "\x60\xea" } , { "\xc8\xe8\xcc\xda" , "\x60\xea\xd0" } , { "\xc8\xe8\xcc\xdb" , "\x60\xea\xde" } , { "\xc8\xe8\xcc\xdc" , "\x60\xea\xd1" } , { "\xc8\xe8\xcc\xde" , "\x60\xeb\xe5" } , { "\xc8\xe8\xcc\xe0" , "\xd2\x60\xea" } , { "\xc8\xe8\xcc\xe0\xa2" , "\xd2\x60\xea\xd5" } , { "\xc8\xe8\xcc\xe5" , "\xd2\x60\xea\xd0" } , { "\xc8\xe8\xcd" , "\x60\xd4" } , { "\xc8\xe8\xcd\xa2" , "\x60\xd5\xd4" } , { "\xc8\xe8\xcd\xda" , "\x60\xd4\xd0" } , { "\xc8\xe8\xcd\xda\xa2" , "\x60\xd4\xd0\xd5" } , { "\xc8\xe8\xcd\xdb" , "\x60\xde\xd4" } , { "\xc8\xe8\xcd\xdd" , "\x60\xca\xd4" } , { "\xc8\xe8\xcd\xde" , "\x60\xcb\xd4" } , { "\xc8\xe8\xcd\xde\xa1" , "\x60\xcb\xdc\xd4" } , { "\xc8\xe8\xcd\xe1" , "\xd2\x60\xd4" } , { "\xc8\xe8\xcd\xe4" , "\xd2\x60\xd4\xd0" } , { "\xc8\xe8\xcd\xe5" , "\xd2\x60\xd4\xd0" } , { "\xc8\xe8\xcf" , "\x60\xf5" } , { "\xc8\xe8\xcf\xa2" , "\x60\xf5\xd5" } , { "\xc8\xe8\xcf\xda" , "\x60\xf5\xd0" } , { "\xc8\xe8\xcf\xda\xa1" , "\x60\xf5\xdc\xd0" } , { "\xc8\xe8\xcf\xda\xa2" , "\x60\xf5\xd0\xd5" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\x60\xf5\xd0\xd5\xd5" } , { "\xc8\xe8\xcf\xdb" , "\x60\xf5\xde" } , { "\xc8\xe8\xcf\xdb\xa2" , "\x60\xf5\xde\xd5" } , { "\xc8\xe8\xcf\xdc" , "\x60\xf5\xd1" } , { "\xc8\xe8\xcf\xdc\xa2" , "\x60\xf5\xd1\xd5" } , { "\xc8\xe8\xcf\xdc\xa3" , "\x60\xf5\xd1\xd3" } , { "\xc8\xe8\xcf\xdd" , "\x60\xf6\xe3" } , { "\xc8\xe8\xcf\xdd\xa2" , "\x60\xf6\xe3\xd5" } , { "\xc8\xe8\xcf\xde" , "\x60\xf6\xe5" } , { "\xc8\xe8\xcf\xde\xa2" , "\x60\xf6\xe5\xd5" } , { "\xc8\xe8\xcf\xdf" , "\x60\xf6\xcc" } , { "\xc8\xe8\xcf\xe0" , "\xd2\x60\xf5" } , { "\xc8\xe8\xcf\xe0\xa2" , "\xd2\x60\xf5\xd5" } , { "\xc8\xe8\xcf\xe1" , "\xd2\x60\xf5" } , { "\xc8\xe8\xcf\xe1\xa2" , "\xd2\x60\xf5\xd5" } , { "\xc8\xe8\xcf\xe2" , "\xd2\x60\xf5\xdf" } , { "\xc8\xe8\xcf\xe4" , "\xd2\x60\xf5\xd0" } , { "\xc8\xe8\xcf\xe5" , "\xd2\x60\xf5\xd0" } , { "\xc8\xe8\xcf\xe5\xa2" , "\xd2\x60\xf5\xd0\xd5" } , { "\xc8\xe8\xcf\xe6" , "\xd2\x60\xf5\xd7" } , { "\xc8\xe8\xcf\xe7" , "\xd2\x60\xf5\xd0" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x60\xf5\xd4" } , { "\xc8\xe8\xcf\xe8\xd1" , "\x60\xf5\xe2" } , { "\xc8\xe8\xd1" , "\x60\xed" } , { "\xc8\xe8\xd1\xa2" , "\x60\xed\xd5" } , { "\xc8\xe8\xd1\xda" , "\x60\xed\xd0" } , { "\xc8\xe8\xd1\xda\xa2" , "\x60\xed\xd0\xd5" } , { "\xc8\xe8\xd1\xdb" , "\x60\xed\xde" } , { "\xc8\xe8\xd1\xdb\xa2" , "\x60\xed\xde\xd5" } , { "\xc8\xe8\xd1\xdc" , "\x60\xed\xd1" } , { "\xc8\xe8\xd1\xdd" , "\x60\xee\xe3" } , { "\xc8\xe8\xd1\xde" , "\x60\xee\xe5" } , { "\xc8\xe8\xd1\xe0" , "\xd2\x60\xed" } , { "\xc8\xe8\xd1\xe0\xa2" , "\xd2\x60\xed\xd5" } , { "\xc8\xe8\xd1\xe1" , "\xd2\x60\xed" } , { "\xc8\xe8\xd1\xe1\xa2" , "\xd2\x60\xed\xd5" } , { "\xc8\xe8\xd1\xe2" , "\xd2\x60\xed\xdf" } , { "\xc8\xe8\xd1\xe2\xa2" , "\xd2\x60\xed\xdf\xd5" } , { "\xc8\xe8\xd1\xe4" , "\xd2\x60\xed\xd0" } , { "\xc8\xe8\xd1\xe5" , "\xd2\x60\xed\xd0" } , { "\xc8\xe8\xd1\xe7" , "\xd2\x60\xed\xd0" } , { "\xc8\xe8\xd1\xe8" , "\x60\xed\xe7" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\x60\xe7\x6d\xe7\xfe\x60\xd1" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x60\xed\xd4\xd0\xd5" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x60\xd4\xe5\xd4" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x60\xe7\x6d\xe7\xfe\x6a\xd0\xd5" } , { "\xc8\xe8\xd2\xdb" , "\x60\xfd\xde" } , { "\xc8\xe8\xd4" , "\x60\xe7\x67" } , { "\xc8\xe8\xd4\xda" , "\x60\xe7\x67\xd0" } , { "\xc8\xe8\xd4\xda\xa1" , "\x60\xe7\x67\xdc\xd0" } , { "\xc8\xe8\xd4\xda\xa2" , "\x60\xe7\x67\xd0\xd5" } , { "\xc8\xe8\xd4\xdb" , "\x60\xe7\x67\xde" } , { "\xc8\xe8\xd4\xdd" , "\x60\xe7\x67\xca" } , { "\xc8\xe8\xd4\xe2" , "\x60\xe7\xd2\x67\xdf" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\x60\xe7\x67\xf6\xd0" } , { "\xc8\xe8\xd5" , "\x60\xe7\x68" } , { "\xc8\xe8\xd5\xa2" , "\x60\xe7\x68\xd5" } , { "\xc8\xe8\xd6" , "\x60\xe7\x69" } , { "\xc8\xe8\xd6\xdb" , "\x60\xe7\x69\xde" } , { "\xc8\xe8\xd6\xe2" , "\x60\xe7\xd2\x69\xdf" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x60\xe7\x69\xe7\x52" } , { "\xc8\xe8\xd6\xe8\xbd" , "\x60\xe7\xbd\xa4" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\x60\xe7\xbd\xde\xa4" } , { "\xc8\xe8\xd6\xe8\xbe" , "\x60\xe7\xba\xa4" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\x60\xe7\xd2\xba\xa4\xd0" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\x60\xe7\xd2\xba\xa4\xd0\xd6" } , { "\xc8\xe8\xd7" , "\xbf\xa4" } , { "\xc8\xe8\xd7\xa2" , "\xbf\xd6\xa4" } , { "\xc8\xe8\xd7\xda" , "\xbf\xa4\xd0" } , { "\xc8\xe8\xd7\xdb" , "\xbf\xde\xa4" } , { "\xc8\xe8\xd7\xdb\xa2" , "\xbf\xde\xd6\xa4" } , { "\xc8\xe8\xd7\xdc" , "\xbf\xa4\xd1" } , { "\xc8\xe8\xd7\xdd" , "\xbf\xca\xa4" } , { "\xc8\xe8\xd7\xde" , "\xbf\xcb\xa4" } , { "\xc8\xe8\xd7\xe0" , "\xd2\xbf\xa4" } , { "\xc8\xe8\xd7\xe0\xa2" , "\xd2\xbf\xa4\xd6" } , { "\xc8\xe8\xd7\xe1" , "\xd2\xbf\xa4" } , { "\xc8\xe8\xd7\xe2" , "\xd2\xbf\xdf\xa4" } , { "\xc8\xe8\xd7\xe5" , "\xd2\xbf\xa4\xd0" } , { "\xc8\xe8\xd7\xe8" , "\xbf\xe7\xa4" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\x60\xe7\xb2\xca\xc6" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x60\xe7\x6a\xe7\x4e\xd0" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x60\xe7\x6a\xe7\xd2\x4e" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x60\xe7\x6a\xe7\x56" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\x60\xe7\x6a\xe7\x56\xde" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x60\xe7\x6a\xe7\x56\xd1" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x60\xe7\x6a\xe7\xd2\x56\xd0" } , { "\xc8\xe8\xd7\xe8\xc2" , "\xbf\xf2\xa4" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\xbf\xf2\xe3\xa4" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\xbf\xf2\xe3\xd6\xa4" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\xbf\xf0\xde\xa4" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\xbf\xf0\xe3\xa4" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\x60\xe7\xc9\xde\xa5" } , { "\xc8\xe8\xd7\xe8\xca" , "\xbf\xe9\xa4" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\xbf\xeb\xe3\xd6\xa4" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\xbf\xca\xa4\xd4" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\xbf\xcb\xa4\xd4" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\xd2\xbf\xee\xa4\xd0" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\x60\xe7\x6a\xe7\x6a\xe7\x56\xde" } , { "\xc8\xe8\xd8" , "\x60\xe7\x6b\xfe" } , { "\xc8\xe8\xd8\xda\xa2" , "\x60\xe7\x6b\xfe\xd0\xd5" } , { "\xc8\xe8\xd8\xde" , "\x60\xe7\x6b\xcb\xfe" } , { "\xc8\xe8\xd8\xe5" , "\x60\xe7\xd2\x6b\xfe\xd0" } , { "\xc8\xe8\xd8\xe6" , "\x60\xe7\xd2\x6b\xfe\xd7" } , { "\xc8\xe8\xe8" , "\x60\xe7" } , { "\xc8\xe8\xe9\xcf" , "\x60\xe7\x65\xfe" } , { "\xc8\xe9" , "\x60" } , { "\xc9" , "\x24\xbc" } , { "\xc9\xa1" , "\x24\xbc\xbc\xdc" } , { "\xc9\xa2" , "\x24\xbc\xbc\xd5" } , { "\xc9\xa3" , "\x24\xbc\xbc" } , { "\xc9\xc4" , "\x24\xbc\x5d" } , { "\xc9\xca" , "\x24\xbc\x61" } , { "\xc9\xd0" , "\x24\xbc\x65\xfe" } , { "\xc9\xda" , "\x24\xbc\xd0" } , { "\xc9\xda\xa1" , "\x24\xdc\xbc\xd0" } , { "\xc9\xda\xa2" , "\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xc9\xdb" , "\x24\xde\xbc" } , { "\xc9\xdb\xa2" , "\x24\xde\xbc\xbc\xd5" } , { "\xc9\xdc" , "\x24\xbc\xd1" } , { "\xc9\xdc\xa1" , "\x24\xdc\xbc\xd1" } , { "\xc9\xdc\xa2" , "\x24\xbc\xd1\xbc\xbc\xd5" } , { "\xc9\xdd" , "\x24\xca\xbc" } , { "\xc9\xdd\xa1" , "\x24\xca\xbc\xbc\xdc" } , { "\xc9\xdd\xa2" , "\x24\xca\xbc\xbc\xd5" } , { "\xc9\xde" , "\x24\xcb\xbc" } , { "\xc9\xde\xa1" , "\x24\xcb\xbc\xbc\xdc" } , { "\xc9\xde\xa2" , "\x24\xcb\xbc\xbc\xd5" } , { "\xc9\xdf" , "\x24\xf3\xbc" } , { "\xc9\xe0" , "\xd2\x24\xbc" } , { "\xc9\xe0\xa2" , "\xd2\x24\xbc\xbc\xbc\xd5" } , { "\xc9\xe1" , "\xd2\x24\xbc" } , { "\xc9\xe1\xa2" , "\xd2\x24\xbc\xbc\xbc\xd5" } , { "\xc9\xe2" , "\xd2\x24\xdf\xbc" } , { "\xc9\xe2\xa2" , "\xd2\x24\xdf\xbc\xbc\xd5" } , { "\xc9\xe4" , "\xd2\x24\xbc\xd0" } , { "\xc9\xe4\xa2" , "\xd2\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xc9\xe5" , "\xd2\x24\xbc\xd0" } , { "\xc9\xe5\xa2" , "\xd2\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xc9\xe6" , "\xd2\x24\xbc\xd7" } , { "\xc9\xe6\xa2" , "\xd2\x24\xbc\xd7\xbc\xbc\xd5" } , { "\xc9\xe7" , "\xd2\x24\xbc\xd0" } , { "\xc9\xe7\xa2" , "\xd2\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xc9\xe8" , "\x24\xe7\xbc" } , { "\xc9\xe8\xb3\xda" , "\x24\xe7\xbc\x4c\xd0" } , { "\xc9\xe8\xb3\xdb" , "\x24\xe7\xbc\x4c\xde" } , { "\xc9\xe8\xb3\xdc" , "\x24\xe7\xbc\x4c\xd1" } , { "\xc9\xe8\xb3\xdd" , "\x24\xe7\xbc\x4c\xca" } , { "\xc9\xe8\xb3\xe0" , "\x24\xe7\xbc\xd2\x4c" } , { "\xc9\xe8\xb3\xe1" , "\x24\xe7\xbc\xd2\x4c" } , { "\xc9\xe8\xb3\xe5" , "\x24\xe7\xbc\xd2\x4c\xd0" } , { "\xc9\xe8\xb4" , "\x24\xe7\xbc\x4d" } , { "\xc9\xe8\xb4\xda" , "\x24\xe7\xbc\x4d\xd0" } , { "\xc9\xe8\xb5" , "\x24\xe7\xbc\x4e" } , { "\xc9\xe8\xb5\xda" , "\x24\xe7\xbc\x4e\xd0" } , { "\xc9\xe8\xb5\xde" , "\x24\xe7\xbc\x4e\xcb" } , { "\xc9\xe8\xb6" , "\x24\xe7\xbc\x4f" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\x24\xe7\xbc\x4f\xef\xde" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x24\xe7\xbc\x4f\xf0\xe3" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\x24\xe7\xbc\x4f\xef\xe7" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\x24\xe7\xbc\x4f\xef\xe2" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\x24\xe7\xbc\x4f\xe7\x5f\xee\xe3" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\x24\xe7\xbc\xd2\x51\xf0\xd5" } , { "\xc9\xe8\xba" , "\x24\xe7\xbc\x53" } , { "\xc9\xe8\xba\xda" , "\x24\xe7\xbc\x53\xd0" } , { "\xc9\xe8\xba\xe5\xa2" , "\x24\xe7\xbc\xd2\x53\xd0\xd5" } , { "\xc9\xe8\xba\xe9" , "\x24\xe7\xbc\x53" } , { "\xc9\xe8\xbb" , "\x24\xe7\xbc\x54\xfe" } , { "\xc9\xe8\xbd" , "\x24\xe7\xbc\x56" } , { "\xc9\xe8\xbd\xdb" , "\x24\xe7\xbc\x56\xde" } , { "\xc9\xe8\xbd\xdb\xa2" , "\x24\xe7\xbc\x56\xde\xd5" } , { "\xc9\xe8\xbd\xdc" , "\x24\xe7\xbc\x56\xd1" } , { "\xc9\xe8\xbd\xdd" , "\x24\xe7\xbc\x56\xca" } , { "\xc9\xe8\xbd\xde" , "\x24\xe7\xbc\x56\xcb" } , { "\xc9\xe8\xbd\xe0" , "\x24\xe7\xbc\xd2\x56" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x24\xe7\xbc\xd2\x56\xd5" } , { "\xc9\xe8\xbd\xe5" , "\x24\xe7\xbc\xd2\x56\xd0" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x24\xe7\xbc\xd2\x56\xd0\xd5" } , { "\xc9\xe8\xbd\xe8" , "\x24\xe7\xbc\x56\xe7" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x24\xe7\xbc\x56\xe7\x4c\xd0" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x24\xe7\xbc\x56\xe7\xd2\x4c\xd0" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\x24\xe7\xbc\xd2\x56\xf0\xd5" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x24\xe7\xbc\x56\xe7\x60\xd0" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x24\xe7\xbc\x56\xe7\xd2\x60" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\x24\xe7\xbc\x56\xf6\xe7" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\x24\xe7\xbc\x56\xee\xe3" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\x24\xe7\xbc\xd2\x56\xee\xd0" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\x24\xe7\xbc\x56\xe7\xd2\x67\xd5" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\x24\xe7\xbc\x56\xe7\xd2\x67" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x24\xe7\xbc\x56\xe7\x6a" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x24\xe7\xbc\x56\xe7\xd2\x6a\xdf" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\x24\xe7\xbc\x56\xe7\x6a\xe7" } , { "\xc9\xe8\xbf\xe8" , "\x24\xe7\xbc\x58\xe7" } , { "\xc9\xe8\xc2" , "\x24\xf1\xbc" } , { "\xc9\xe8\xc2\xda" , "\x24\xf1\xbc\xd0" } , { "\xc9\xe8\xc2\xdb" , "\x24\xf1\xde\xbc" } , { "\xc9\xe8\xc2\xdc" , "\x24\xf1\xbc\xd1" } , { "\xc9\xe8\xc2\xe1" , "\xd2\x24\xf1\xbc" } , { "\xc9\xe8\xc2\xe5" , "\xd2\x24\xf1\xbc\xd0" } , { "\xc9\xe8\xc2\xe5\xa2" , "\xd2\x24\xf1\xbc\xd0\xd5" } , { "\xc9\xe8\xc2\xe8" , "\x24\xf1\xe7\xbc" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\x24\xe7\xbc\x5b\xe7\x4e\xd0" } , { "\xc9\xe8\xc3" , "\x24\xe7\xbc\x5c" } , { "\xc9\xe8\xc3\xda" , "\x24\xe7\xbc\x5c\xd0" } , { "\xc9\xe8\xc3\xe5" , "\x24\xe7\xbc\xd2\x5c\xd0" } , { "\xc9\xe8\xc4" , "\x24\xe7\xbc\x5d" } , { "\xc9\xe8\xc4\xda" , "\x24\xe7\xbc\x5d\xd0" } , { "\xc9\xe8\xc6" , "\x24\xef\xbc" } , { "\xc9\xe8\xc6\xda" , "\x24\xef\xbc\xd0" } , { "\xc9\xe8\xc6\xdb" , "\x24\xef\xde\xbc" } , { "\xc9\xe8\xc6\xdc" , "\x24\xef\xbc\xd1" } , { "\xc9\xe8\xc6\xdd" , "\x24\xf0\xe3\xbc" } , { "\xc9\xe8\xc6\xe0" , "\xd2\x24\xef\xbc" } , { "\xc9\xe8\xc6\xe5" , "\xd2\x24\xef\xbc\xd0" } , { "\xc9\xe8\xc8" , "\x24\xe7\xbc\x60" } , { "\xc9\xe8\xc8\xda" , "\x24\xe7\xbc\x60\xd0" } , { "\xc9\xe8\xc8\xdc" , "\x24\xe7\xbc\x60\xd1" } , { "\xc9\xe8\xc8\xe2" , "\x24\xe7\xbc\xd2\x60\xdf" } , { "\xc9\xe8\xc8\xe8" , "\x24\xe7\xbc\x60\xe7" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\x24\xe7\xbc\x60\xf5\xde" } , { "\xc9\xe8\xc9" , "\x24\xe7\xbc\x24\xbc" } , { "\xc9\xe8\xc9\xda" , "\x24\xe7\xbc\x24\xbc\xd0" } , { "\xc9\xe8\xc9\xdd" , "\x24\xe7\xbc\x24\xca\xbc" } , { "\xc9\xe8\xc9\xe1" , "\x24\xe7\xbc\xd2\x24\xbc" } , { "\xc9\xe8\xc9\xe5" , "\x24\xe7\xbc\xd2\x24\xbc\xd0" } , { "\xc9\xe8\xca" , "\x24\xe8\xbc" } , { "\xc9\xe8\xca\xda" , "\x24\xe8\xbc\xd0" } , { "\xc9\xe8\xca\xdc" , "\x24\xe8\xbc\xd1" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\xd2\x24\xe8\xcd\xbc" } , { "\xc9\xe8\xcc" , "\x24\xea\xbc" } , { "\xc9\xe8\xcc\xda" , "\x24\xea\xbc\xd0" } , { "\xc9\xe8\xcc\xdc" , "\x24\xea\xbc\xd1" } , { "\xc9\xe8\xcc\xdd" , "\x24\xeb\xe3\xbc" } , { "\xc9\xe8\xcc\xe1" , "\xd2\x24\xea\xbc" } , { "\xc9\xe8\xcd" , "\x24\xbc\xd4" } , { "\xc9\xe8\xcd\xda" , "\x24\xbc\xd4\xd0" } , { "\xc9\xe8\xcd\xda\xa2" , "\x24\xbc\xd4\xd0\xd5" } , { "\xc9\xe8\xcd\xdd" , "\x24\xca\xbc\xd4" } , { "\xc9\xe8\xcd\xde" , "\x24\xcb\xbc\xd4" } , { "\xc9\xe8\xcd\xe5" , "\xd2\x24\xbc\xd4\xd0" } , { "\xc9\xe8\xcf" , "\x24\xf5\xbc" } , { "\xc9\xe8\xcf\xa2" , "\x24\xf5\xd5\xbc" } , { "\xc9\xe8\xcf\xda" , "\x24\xf5\xbc\xd0" } , { "\xc9\xe8\xcf\xda\xa1" , "\x24\xf5\xdc\xbc\xd0" } , { "\xc9\xe8\xcf\xda\xa2" , "\x24\xf5\xbc\xd0\xd5" } , { "\xc9\xe8\xcf\xdb" , "\x24\xf5\xde\xbc" } , { "\xc9\xe8\xcf\xdb\xa2" , "\x24\xf5\xde\xd5\xbc" } , { "\xc9\xe8\xcf\xdc" , "\x24\xf5\xbc\xd1" } , { "\xc9\xe8\xcf\xdd" , "\x24\xf6\xe3\xbc" } , { "\xc9\xe8\xcf\xde" , "\x24\xf6\xe5\xbc" } , { "\xc9\xe8\xcf\xe0" , "\xd2\x24\xf5\xbc" } , { "\xc9\xe8\xcf\xe0\xa2" , "\xd2\x24\xf5\xbc\xd5" } , { "\xc9\xe8\xcf\xe1" , "\xd2\x24\xf5\xbc" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xd2\x24\xf5\xbc\xd5" } , { "\xc9\xe8\xcf\xe2" , "\xd2\x24\xf5\xdf\xbc" } , { "\xc9\xe8\xcf\xe2\xa2" , "\xd2\x24\xf5\xdf\xd5\xbc" } , { "\xc9\xe8\xcf\xe4" , "\xd2\x24\xf5\xbc\xd0" } , { "\xc9\xe8\xcf\xe5" , "\xd2\x24\xf5\xbc\xd0" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xd2\x24\xf5\xbc\xd0\xd5" } , { "\xc9\xe8\xcf\xe6" , "\xd2\x24\xf5\xbc\xd7" } , { "\xc9\xe8\xcf\xe7" , "\xd2\x24\xf5\xbc\xd0" } , { "\xc9\xe8\xcf\xe8" , "\x24\xf5\xe7\xbc" } , { "\xc9\xe8\xd1" , "\x24\xed\xbc" } , { "\xc9\xe8\xd1\xda" , "\x24\xed\xbc\xd0" } , { "\xc9\xe8\xd1\xda\xa2" , "\x24\xed\xbc\xd0\xd5" } , { "\xc9\xe8\xd1\xdb" , "\x24\xed\xde\xbc" } , { "\xc9\xe8\xd1\xdb\xa2" , "\x24\xed\xde\xd5\xbc" } , { "\xc9\xe8\xd1\xdc" , "\x24\xed\xbc\xd1" } , { "\xc9\xe8\xd1\xdd" , "\x24\xee\xe3\xbc" } , { "\xc9\xe8\xd1\xde" , "\x24\xee\xe5\xbc" } , { "\xc9\xe8\xd1\xe0" , "\xd2\x24\xed\xbc" } , { "\xc9\xe8\xd1\xe1" , "\xd2\x24\xed\xbc" } , { "\xc9\xe8\xd1\xe1\xa2" , "\xd2\x24\xed\xbc\xd5" } , { "\xc9\xe8\xd1\xe2" , "\xd2\x24\xed\xdf\xbc" } , { "\xc9\xe8\xd1\xe2\xa2" , "\xd2\x24\xed\xdf\xd5\xbc" } , { "\xc9\xe8\xd1\xe5" , "\xd2\x24\xed\xbc\xd0" } , { "\xc9\xe8\xd1\xe5\xa2" , "\xd2\x24\xed\xbc\xd0\xd5" } , { "\xc9\xe8\xd1\xe6" , "\xd2\x24\xed\xbc\xd7" } , { "\xc9\xe8\xd1\xe7" , "\xd2\x24\xed\xbc\xd0" } , { "\xc9\xe8\xd5\xda" , "\x24\xe7\xbc\x68\xd0" } , { "\xc9\xe8\xd7" , "\x24\xe7\xbc\x6a" } , { "\xc9\xe8\xd7\xdb" , "\x24\xe7\xbc\x6a\xde" } , { "\xc9\xe8\xd7\xdc" , "\x24\xe7\xbc\x6a\xd1" } , { "\xc9\xe8\xd7\xe0" , "\x24\xe7\xbc\xd2\x6a" } , { "\xc9\xe8\xd7\xe2" , "\x24\xe7\xbc\xd2\x6a\xdf" } , { "\xc9\xe8\xd7\xe8" , "\x24\xe7\xbc\x6a\xe7" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\x24\xe7\xbc\x6a\xe7\xd2\x56" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\x24\xe7\xbc\x6a\xe7\xd2\x56" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x24\xe7\xbc\x6a\xf0\xe3" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\x24\xe7\xbc\xb8\xde\xa4" } , { "\xc9\xe8\xd8" , "\x24\xe7\xbc\x6b\xfe" } , { "\xc9\xe8\xd8\xdd" , "\x24\xe7\xbc\x6b\xca\xfe" } , { "\xc9\xe8\xd8\xe5" , "\x24\xe7\xbc\xd2\x6b\xfe\xd0" } , { "\xc9\xe8\xd9\xc2" , "\x24\xe7\xbc\x5b" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x24\xe7\xbc\xd2\x65\xfe\xd5" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x24\xe7\xbc\xaf\xca\xe0\xc6" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x24\xe7\xbc\xd2\x6d\xfe\xd0" } , { "\xc9\xe8\xd9\xd7" , "\x24\xe7\xbc\x6a" } , { "\xc9\xe8\xe8" , "\x24\xe7\xbc" } , { "\xc9\xe8\xe9\xcf" , "\x24\xe7\xbc\x65\xfe" } , { "\xc9\xe9" , "\x24\xbc" } , { "\xc9\xe9\xda" , "\x24\xbc\xd0" } , { "\xc9\xe9\xdb" , "\x24\xde\xbc" } , { "\xc9\xe9\xdc" , "\x24\xbc\xd1" } , { "\xc9\xe9\xdd" , "\x24\xca\xbc" } , { "\xc9\xe9\xe1" , "\xd2\x24\xbc" } , { "\xc9\xe9\xe1\xa2" , "\xd2\x24\xbc\xbc\xbc\xd5" } , { "\xc9\xe9\xe2" , "\xd2\x24\xdf\xbc" } , { "\xc9\xe9\xe5" , "\xd2\x24\xbc\xd0" } , { "\xc9\xe9\xe5\xa2" , "\xd2\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xc9\xe9\xe6" , "\xd2\x24\xbc\xd7" } , { "\xc9\xe9\xe7" , "\xd2\x24\xbc\xd0" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x24\xe7\xbc\xd2\x53\xd0\xd5" } , { "\xc9\xe9\xe8\xbd\xdb" , "\x24\xe7\xbc\x56\xde" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x24\xe7\xbc\x56\xd1" } , { "\xc9\xe9\xe8\xc2" , "\x24\xf1\xbc" } , { "\xc9\xe9\xe8\xc2\xda" , "\x24\xf1\xbc\xd0" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x24\xf1\xbc\xd1" } , { "\xc9\xe9\xe8\xc2\xe1" , "\xd2\x24\xf1\xbc" } , { "\xc9\xe9\xe8\xcf\xdb" , "\x24\xf5\xde\xbc" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xd2\x24\xf5\xbc\xd0" } , { "\xc9\xe9\xe8\xd1" , "\x24\xed\xbc" } , { "\xc9\xe9\xe8\xd1\xe5" , "\xd2\x24\xed\xbc\xd0" } , { "\xc9\xe9\xe9\xe8\xc2" , "\x24\xbc\xcf\xe7\x5b" } , { "\xca" , "\x61" } , { "\xca\xa1" , "\x61\xdc" } , { "\xca\xa2" , "\x61\xd5" } , { "\xca\xa2\xa1" , "\x61\xd5\xdc" } , { "\xca\xa3" , "\x61\xd3" } , { "\xca\xda" , "\x61\xd0" } , { "\xca\xda\xa1" , "\x61\xdc\xd0" } , { "\xca\xda\xa2" , "\x61\xd0\xd5" } , { "\xca\xda\xa3" , "\x61\xd0\xd3" } , { "\xca\xdb" , "\x61\xde" } , { "\xca\xdb\xa2" , "\x61\xde\xd5" } , { "\xca\xdc" , "\x61\xd1" } , { "\xca\xdc\xa2" , "\x61\xd1\xd5" } , { "\xca\xdd" , "\x61\xca" } , { "\xca\xdd\xa1" , "\x61\xca\xdc" } , { "\xca\xdd\xa2" , "\x61\xca\xd5" } , { "\xca\xde" , "\x61\xcb" } , { "\xca\xde\xa1" , "\x61\xcb\xdc" } , { "\xca\xde\xa2" , "\x61\xcb\xd5" } , { "\xca\xdf" , "\x61\xf3" } , { "\xca\xdf\xa2" , "\x61\xf3\xd5" } , { "\xca\xe0" , "\xd2\x61" } , { "\xca\xe0\xa1" , "\xd2\x61\xdc" } , { "\xca\xe0\xa2" , "\xd2\x61\xd5" } , { "\xca\xe1" , "\xd2\x61" } , { "\xca\xe1\xa2" , "\xd2\x61\xd5" } , { "\xca\xe2" , "\xd2\x61\xdf" } , { "\xca\xe2\xa2" , "\xd2\x61\xdf\xd5" } , { "\xca\xe4" , "\xd2\x61\xd0" } , { "\xca\xe4\xa2" , "\xd2\x61\xd0\xd5" } , { "\xca\xe5" , "\xd2\x61\xd0" } , { "\xca\xe5\xa2" , "\xd2\x61\xd0\xd5" } , { "\xca\xe6" , "\xd2\x61\xd7" } , { "\xca\xe6\xa2" , "\xd2\x61\xd7\xd5" } , { "\xca\xe7" , "\xd2\x61\xd0" } , { "\xca\xe8" , "\x61\xe7" } , { "\xca\xe8\xb3" , "\x61\xe7\x4c" } , { "\xca\xe8\xb3\xda" , "\x61\xe7\x4c\xd0" } , { "\xca\xe8\xb3\xdb" , "\x61\xe7\x4c\xde" } , { "\xca\xe8\xb3\xdd" , "\x61\xe7\x4c\xca" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\x4c\xcb\xd4" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\x61\xe7\xd2\x4c\xed" } , { "\xca\xe8\xb4\xda" , "\x61\xe7\x4d\xd0" } , { "\xca\xe8\xb5\xda" , "\x61\xe7\x4e\xd0" } , { "\xca\xe8\xb5\xdd\xa2" , "\x61\xe7\x4e\xca\xd5" } , { "\xca\xe8\xb6" , "\x61\xe7\x4f" } , { "\xca\xe8\xb6\xdb" , "\x61\xe7\x4f\xde" } , { "\xca\xe8\xba" , "\x61\xe7\x53" } , { "\xca\xe8\xba\xa2" , "\x61\xe7\x53\xd5" } , { "\xca\xe8\xba\xda" , "\x61\xe7\x53\xd0" } , { "\xca\xe8\xba\xda\xa2" , "\x61\xe7\x53\xd0\xd5" } , { "\xca\xe8\xba\xdb" , "\x61\xe7\x53\xde" } , { "\xca\xe8\xba\xdc" , "\x61\xe7\x53\xd1" } , { "\xca\xe8\xba\xdd" , "\x61\xe7\x53\xca" } , { "\xca\xe8\xba\xe0" , "\x61\xe7\xd2\x53" } , { "\xca\xe8\xba\xe1" , "\x61\xe7\xd2\x53" } , { "\xca\xe8\xba\xe1\xa2" , "\x61\xe7\xd2\x53\xd5" } , { "\xca\xe8\xba\xe2" , "\x61\xe7\xd2\x53\xdf" } , { "\xca\xe8\xba\xe5" , "\x61\xe7\xd2\x53\xd0" } , { "\xca\xe8\xba\xe5\xa2" , "\x61\xe7\xd2\x53\xd0\xd5" } , { "\xca\xe8\xba\xe9" , "\x61\xe7\x53" } , { "\xca\xe8\xba\xe9\xda" , "\x61\xe7\x53\xd0" } , { "\xca\xe8\xba\xe9\xdc" , "\x61\xe7\x53\xd1" } , { "\xca\xe8\xba\xe9\xe1" , "\x61\xe7\xd2\x53" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\x61\xe7\xd2\x53\xd5" } , { "\xca\xe8\xbd" , "\x61\xe7\x56" } , { "\xca\xe8\xbd\xdb" , "\x61\xe7\x56\xde" } , { "\xca\xe8\xbd\xe0" , "\x61\xe7\xd2\x56" } , { "\xca\xe8\xbd\xe2" , "\x61\xe7\xd2\x56\xdf" } , { "\xca\xe8\xbd\xe5" , "\x61\xe7\xd2\x56\xd0" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\x61\xe7\x70\xde" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\x61\xe7\x56\xf6\xd0" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\x61\xe7\x56\xe7\x6a\xde" } , { "\xca\xe8\xbf" , "\x61\xe7\x58" } , { "\xca\xe8\xbf\xda" , "\x61\xe7\x58\xd0" } , { "\xca\xe8\xbf\xdb" , "\x61\xe7\x58\xde" } , { "\xca\xe8\xbf\xdb\xa2" , "\x61\xe7\x58\xde\xd5" } , { "\xca\xe8\xbf\xe0" , "\x61\xe7\xd2\x58" } , { "\xca\xe8\xbf\xe1" , "\x61\xe7\xd2\x58" } , { "\xca\xe8\xbf\xe5" , "\x61\xe7\xd2\x58\xd0" } , { "\xca\xe8\xbf\xe8" , "\x61\xe7\x58\xe7" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\x58\xca\xd4" } , { "\xca\xe8\xc2" , "\x61\xf2" } , { "\xca\xe8\xc2\xa2" , "\x61\xf2\xd5" } , { "\xca\xe8\xc2\xda" , "\x61\xf2\xd0" } , { "\xca\xe8\xc2\xdb" , "\x61\xf2\xde" } , { "\xca\xe8\xc2\xdc" , "\x61\xf2\xd1" } , { "\xca\xe8\xc2\xdd" , "\x61\xf2\xe3" } , { "\xca\xe8\xc2\xdd\xa2" , "\x61\xf2\xe3\xd5" } , { "\xca\xe8\xc2\xe1" , "\xd2\x61\xf2" } , { "\xca\xe8\xc2\xe5" , "\xd2\x61\xf2\xd0" } , { "\xca\xe8\xc2\xe8\xc2" , "\x61\xe7\x72\xfe" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\x61\xe7\x72\xde\xfe" } , { "\xca\xe8\xc3\xda" , "\x61\xe7\x5c\xd0" } , { "\xca\xe8\xc3\xdb" , "\x61\xe7\x5c\xde" } , { "\xca\xe8\xc4" , "\x76" } , { "\xca\xe8\xc4\xa2" , "\x76\xd5" } , { "\xca\xe8\xc4\xa3" , "\x76\xd3" } , { "\xca\xe8\xc4\xda" , "\x76\xd0" } , { "\xca\xe8\xc4\xda\xa2" , "\x76\xd0\xd5" } , { "\xca\xe8\xc4\xda\xa3" , "\x76\xd0\xd3" } , { "\xca\xe8\xc4\xdb" , "\x76\xde" } , { "\xca\xe8\xc4\xdb\xa2" , "\x76\xde\xd5" } , { "\xca\xe8\xc4\xdc" , "\x76\xd1" } , { "\xca\xe8\xc4\xdc\xa2" , "\x76\xd1\xd5" } , { "\xca\xe8\xc4\xdd" , "\x76\xca" } , { "\xca\xe8\xc4\xe1" , "\xd2\x76" } , { "\xca\xe8\xc4\xe2" , "\xd2\x76\xdf" } , { "\xca\xe8\xc4\xe5" , "\xd2\x76\xd0" } , { "\xca\xe8\xc4\xe5\xa2" , "\xd2\x76\xd0\xd5" } , { "\xca\xe8\xc4\xe8" , "\x76\xe7" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\x76\xd4\xd0" } , { "\xca\xe8\xc5" , "\x95\xc6" } , { "\xca\xe8\xc5\xa2" , "\x95\xd6\xc6" } , { "\xca\xe8\xc5\xa3" , "\x95\xc6\xd3" } , { "\xca\xe8\xc5\xda" , "\x95\xc6\xd0" } , { "\xca\xe8\xc5\xda\xa3" , "\x95\xc6\xd0\xd3" } , { "\xca\xe8\xc5\xdb" , "\x95\xde\xc6" } , { "\xca\xe8\xc5\xdd" , "\x95\xe3\xc6" } , { "\xca\xe8\xc5\xe5" , "\xd2\x95\xc6\xd0" } , { "\xca\xe8\xc6" , "\x61\xf0" } , { "\xca\xe8\xc6\xda" , "\x61\xf0\xd0" } , { "\xca\xe8\xc6\xdb" , "\x61\xf0\xde" } , { "\xca\xe8\xc6\xdb\xa2" , "\x61\xf0\xde\xd5" } , { "\xca\xe8\xc6\xdc" , "\x61\xf0\xd1" } , { "\xca\xe8\xc6\xdd" , "\x61\xf0\xe3" } , { "\xca\xe8\xc8" , "\x61\xe7\x60" } , { "\xca\xe8\xc8\xdb" , "\x61\xe7\x60\xde" } , { "\xca\xe8\xc8\xe5" , "\x61\xe7\xd2\x60\xd0" } , { "\xca\xe8\xc9\xe2" , "\x61\xe7\xd2\x24\xdf\xbc" } , { "\xca\xe8\xca" , "\x7a" } , { "\xca\xe8\xca\xa2" , "\x7a\xd5" } , { "\xca\xe8\xca\xda" , "\x7a\xd0" } , { "\xca\xe8\xca\xdb" , "\x7a\xde" } , { "\xca\xe8\xca\xdb\xa2" , "\x7a\xde\xd5" } , { "\xca\xe8\xca\xdc" , "\x7a\xd1" } , { "\xca\xe8\xca\xdd" , "\x7a\xca" } , { "\xca\xe8\xca\xdd\xa2" , "\x7a\xca\xd5" } , { "\xca\xe8\xca\xde" , "\x7a\xcb" } , { "\xca\xe8\xca\xe0" , "\xd2\x7a" } , { "\xca\xe8\xca\xe0\xa2" , "\xd2\x7a\xd5" } , { "\xca\xe8\xca\xe1" , "\xd2\x7a" } , { "\xca\xe8\xca\xe1\xa2" , "\xd2\x7a\xd5" } , { "\xca\xe8\xca\xe2" , "\xd2\x7a\xdf" } , { "\xca\xe8\xca\xe4" , "\xd2\x7a\xd0" } , { "\xca\xe8\xca\xe5" , "\xd2\x7a\xd0" } , { "\xca\xe8\xca\xe5\xa2" , "\xd2\x7a\xd0\xd5" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\x61\xe7\x76\xde" } , { "\xca\xe8\xca\xe8\xd8" , "\x61\xe7\x61\xe7\x6b\xfe" } , { "\xca\xe8\xcb" , "\x61\xf8" } , { "\xca\xe8\xcb\xa2" , "\x61\xf8\xd5" } , { "\xca\xe8\xcb\xda" , "\x61\xf8\xd0" } , { "\xca\xe8\xcb\xdb" , "\x61\xf8\xde" } , { "\xca\xe8\xcb\xdc" , "\x61\xf8\xd1" } , { "\xca\xe8\xcb\xdd" , "\x61\xf8\xe3" } , { "\xca\xe8\xcb\xe2" , "\xd2\x61\xf8\xdf" } , { "\xca\xe8\xcc" , "\x61\xeb" } , { "\xca\xe8\xcc\xda" , "\x61\xeb\xd0" } , { "\xca\xe8\xcc\xdb" , "\x61\xeb\xde" } , { "\xca\xe8\xcc\xe0" , "\xd2\x61\xeb" } , { "\xca\xe8\xcc\xe1" , "\xd2\x61\xeb" } , { "\xca\xe8\xcd" , "\x61\xd4" } , { "\xca\xe8\xcd\xa2" , "\x61\xd5\xd4" } , { "\xca\xe8\xcd\xda" , "\x61\xd4\xd0" } , { "\xca\xe8\xcd\xda\xa2" , "\x61\xd4\xd0\xd5" } , { "\xca\xe8\xcd\xdc" , "\x61\xd4\xd1" } , { "\xca\xe8\xcd\xdd" , "\x61\xca\xd4" } , { "\xca\xe8\xcd\xde" , "\x61\xcb\xd4" } , { "\xca\xe8\xcd\xe5" , "\xd2\x61\xd4\xd0" } , { "\xca\xe8\xcd\xe5\xa2" , "\xd2\x61\xd4\xd0\xd5" } , { "\xca\xe8\xcd\xe6" , "\xd2\x61\xd4\xd7" } , { "\xca\xe8\xcd\xe6\xa2" , "\xd2\x61\xd4\xd7\xd5" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\x61\xd4\xd0" } , { "\xca\xe8\xcf" , "\x61\xf6" } , { "\xca\xe8\xcf\xa2" , "\x61\xf6\xd5" } , { "\xca\xe8\xcf\xda" , "\x61\xf6\xd0" } , { "\xca\xe8\xcf\xda\xa1" , "\x61\xf6\xdc\xd0" } , { "\xca\xe8\xcf\xda\xa2" , "\x61\xf6\xd0\xd5" } , { "\xca\xe8\xcf\xdb" , "\x61\xf6\xde" } , { "\xca\xe8\xcf\xdb\xa2" , "\x61\xf6\xde\xd5" } , { "\xca\xe8\xcf\xdc" , "\x61\xf6\xd1" } , { "\xca\xe8\xcf\xdd" , "\x61\xf6\xe3" } , { "\xca\xe8\xcf\xde" , "\x61\xf6\xe5" } , { "\xca\xe8\xcf\xe0" , "\xd2\x61\xf6" } , { "\xca\xe8\xcf\xe1" , "\xd2\x61\xf6" } , { "\xca\xe8\xcf\xe1\xa2" , "\xd2\x61\xf6\xd5" } , { "\xca\xe8\xcf\xe2" , "\xd2\x61\xf6\xdf" } , { "\xca\xe8\xcf\xe2\xa2" , "\xd2\x61\xf6\xdf\xd5" } , { "\xca\xe8\xcf\xe4" , "\xd2\x61\xf6\xd0" } , { "\xca\xe8\xcf\xe5" , "\xd2\x61\xf6\xd0" } , { "\xca\xe8\xcf\xe5\xa2" , "\xd2\x61\xf6\xd0\xd5" } , { "\xca\xe8\xcf\xe6" , "\xd2\x61\xf6\xd7" } , { "\xca\xe8\xcf\xe7" , "\xd2\x61\xf6\xd0" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\x61\xe7\x65\xe7\xfe\x56\xe7" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\x61\xe7\x65\xe7\xfe\x58\xe7" } , { "\xca\xe8\xd1" , "\x61\xee" } , { "\xca\xe8\xd1\xa2" , "\x61\xee\xd5" } , { "\xca\xe8\xd1\xda" , "\x61\xee\xd0" } , { "\xca\xe8\xd1\xda\xa2" , "\x61\xee\xd0\xd5" } , { "\xca\xe8\xd1\xdb" , "\x61\xee\xde" } , { "\xca\xe8\xd1\xdb\xa2" , "\x61\xee\xde\xd5" } , { "\xca\xe8\xd1\xdc" , "\x61\xee\xd1" } , { "\xca\xe8\xd1\xdd" , "\x61\xee\xe3" } , { "\xca\xe8\xd1\xde" , "\x61\xee\xe5" } , { "\xca\xe8\xd1\xe0" , "\xd2\x61\xee" } , { "\xca\xe8\xd1\xe0\xa2" , "\xd2\x61\xee\xd5" } , { "\xca\xe8\xd1\xe1" , "\xd2\x61\xee" } , { "\xca\xe8\xd1\xe1\xa2" , "\xd2\x61\xee\xd5" } , { "\xca\xe8\xd1\xe2" , "\xd2\x61\xee\xdf" } , { "\xca\xe8\xd1\xe2\xa2" , "\xd2\x61\xee\xdf\xd5" } , { "\xca\xe8\xd1\xe5" , "\xd2\x61\xee\xd0" } , { "\xca\xe8\xd1\xe6" , "\xd2\x61\xee\xd7" } , { "\xca\xe8\xd1\xe7" , "\xd2\x61\xee\xd0" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\x61\xe7\x96\xde\xc6" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\x61\xee\xde\xd4" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\x61\xd4\xe3\xd4" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\x61\xd4\xe5\xd4" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\x61\xe7\x6d\xe7\xfe\x67\xca" } , { "\xca\xe8\xd4\xa2" , "\x61\xe7\x67\xd5" } , { "\xca\xe8\xd4\xda" , "\x61\xe7\x67\xd0" } , { "\xca\xe8\xd4\xdb" , "\x61\xe7\x67\xde" } , { "\xca\xe8\xd4\xe0" , "\x61\xe7\xd2\x67" } , { "\xca\xe8\xd4\xe1" , "\x61\xe7\xd2\x67" } , { "\xca\xe8\xd4\xe7" , "\x61\xe7\xd2\x67\xd0" } , { "\xca\xe8\xd5\xda" , "\x61\xe7\x68\xd0" } , { "\xca\xe8\xd5\xdb" , "\x61\xe7\x68\xde" } , { "\xca\xe8\xd5\xdc" , "\x61\xe7\x68\xd1" } , { "\xca\xe8\xd6\xda" , "\x61\xe7\x69\xd0" } , { "\xca\xe8\xd6\xdb" , "\x61\xe7\x69\xde" } , { "\xca\xe8\xd6\xdc" , "\x61\xe7\x69\xd1" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\x61\xe7\xbd\xf6\xa4" } , { "\xca\xe8\xd7" , "\x61\xe7\x6a" } , { "\xca\xe8\xd7\xda" , "\x61\xe7\x6a\xd0" } , { "\xca\xe8\xd7\xdb" , "\x61\xe7\x6a\xde" } , { "\xca\xe8\xd7\xdc" , "\x61\xe7\x6a\xd1" } , { "\xca\xe8\xd7\xdd" , "\x61\xe7\x6a\xca" } , { "\xca\xe8\xd7\xe0" , "\x61\xe7\xd2\x6a" } , { "\xca\xe8\xd7\xe0\xa2" , "\x61\xe7\xd2\x6a\xd5" } , { "\xca\xe8\xd7\xe1" , "\x61\xe7\xd2\x6a" } , { "\xca\xe8\xd7\xe2" , "\x61\xe7\xd2\x6a\xdf" } , { "\xca\xe8\xd7\xe5" , "\x61\xe7\xd2\x6a\xd0" } , { "\xca\xe8\xd7\xe6" , "\x61\xe7\xd2\x6a\xd7" } , { "\xca\xe8\xd7\xe8" , "\x61\xe7\x6a\xe7" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\x61\xe7\xb2\xca\xc6" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\x61\xe7\xd2\xb2\xdf\xc6" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x61\xe7\xb2\xf6\xde\xc6" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\x61\xe7\xd2\xb2\xf6\xdf\xc6" } , { "\xca\xe8\xd7\xe8\xbd" , "\x61\xe7\x6a\xe7\x56" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\x61\xe7\x6a\xe7\x56\xd0" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\x61\xe7\x6a\xe7\x56\xd0\xd5" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\x61\xe7\x6a\xe7\x56\xde" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\x61\xe7\x6a\xe7\xd2\x56" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\x61\xe7\x6a\xe7\x56\xf6" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x61\xe7\x6a\xe7\x56\xf6\xd0" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x61\xe7\x6a\xe7\xd2\x56\xf6\xdf" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\x61\xe7\x6a\xf0\xe3" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\x61\xe7\x6a\xee\xe3" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\x61\xe7\xd2\x6a\xed\xd0" } , { "\xca\xe8\xd7\xe8\xd4" , "\x61\xe7\x6a\xe7\x67" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\x61\xe7\x6a\xe7\x67\xd5" } , { "\xca\xe8\xd8" , "\x61\xe7\x6b\xfe" } , { "\xca\xe8\xd8\xda" , "\x61\xe7\x6b\xfe\xd0" } , { "\xca\xe8\xd8\xe6" , "\x61\xe7\xd2\x6b\xfe\xd7" } , { "\xca\xe8\xd8\xe8" , "\x61\xe7\x6b\xe7\xfe" } , { "\xca\xe8\xe8" , "\x61\xe7" } , { "\xca\xe8\xe9\xcf" , "\x61\xe7\x65\xfe" } , { "\xca\xe9" , "\x61" } , { "\xcb" , "\x62\xfe" } , { "\xcb\xa1" , "\x62\xdc\xfe" } , { "\xcb\xa2" , "\x62\xd5\xfe" } , { "\xcb\xa3" , "\x62\xfe\xd3" } , { "\xcb\xd0" , "\x62\xfe\x65\xfe" } , { "\xcb\xd0\xdc" , "\x62\xfe\x65\xfe\xd1" } , { "\xcb\xda" , "\x62\xfe\xd0" } , { "\xcb\xda\xa1" , "\x62\xdc\xfe\xd0" } , { "\xcb\xda\xa2" , "\x62\xfe\xd0\xd5" } , { "\xcb\xda\xd0" , "\x62\xfe\xd0\x65\xfe" } , { "\xcb\xdb" , "\x62\xde\xfe" } , { "\xcb\xdb\xa2" , "\x62\xde\xd5\xfe" } , { "\xcb\xdb\xa3" , "\x62\xde\xfe\xd3" } , { "\xcb\xdb\xd4\xdf" , "\x62\xde\xfe\x67\xf3" } , { "\xcb\xdc" , "\x62\xfe\xd1" } , { "\xcb\xdc\xa1" , "\x62\xdc\xfe\xd1" } , { "\xcb\xdc\xa2" , "\x62\xfe\xd1\xd5" } , { "\xcb\xdd" , "\x62\xca\xfe" } , { "\xcb\xdd\xa2" , "\x62\xca\xd5\xfe" } , { "\xcb\xde" , "\x62\xcb\xfe" } , { "\xcb\xde\xa1" , "\x62\xcb\xdc\xfe" } , { "\xcb\xde\xa2" , "\x62\xcb\xd5\xfe" } , { "\xcb\xdf" , "\x62\xf3\xfe" } , { "\xcb\xdf\xa2" , "\x62\xf3\xd5\xfe" } , { "\xcb\xe0" , "\xd2\x62\xfe" } , { "\xcb\xe1" , "\xd2\x62\xfe" } , { "\xcb\xe1\xa2" , "\xd2\x62\xfe\xd5" } , { "\xcb\xe2" , "\xd2\x62\xdf\xfe" } , { "\xcb\xe2\xa2" , "\xd2\x62\xdf\xd5\xfe" } , { "\xcb\xe4" , "\xd2\x62\xfe\xd0" } , { "\xcb\xe5" , "\xd2\x62\xfe\xd0" } , { "\xcb\xe5\xa2" , "\xd2\x62\xfe\xd0\xd5" } , { "\xcb\xe6" , "\xd2\x62\xfe\xd7" } , { "\xcb\xe6\xa2" , "\xd2\x62\xfe\xd7\xd5" } , { "\xcb\xe7" , "\xd2\x62\xfe\xd0" } , { "\xcb\xe7\xa2" , "\xd2\x62\xfe\xd0\xd5" } , { "\xcb\xe8" , "\x62\xe7\xfe" } , { "\xcb\xe8\xb3\xdd" , "\x62\xe7\xfe\x4c\xca" } , { "\xcb\xe8\xbd\xdd" , "\x62\xe7\xfe\x56\xca" } , { "\xcb\xe8\xbf" , "\x62\xe7\xfe\x58" } , { "\xcb\xe8\xc2" , "\x62\xf2\xfe" } , { "\xcb\xe8\xc2\xdb" , "\x62\xf2\xde\xfe" } , { "\xcb\xe8\xc4" , "\x62\xe7\xfe\x5d" } , { "\xcb\xe8\xc4\xa2" , "\x62\xe7\xfe\x5d\xd5" } , { "\xcb\xe8\xc4\xda" , "\x62\xe7\xfe\x5d\xd0" } , { "\xcb\xe8\xc4\xdb" , "\x62\xe7\xfe\x5d\xde" } , { "\xcb\xe8\xc5" , "\x62\xe7\xfe\x5e" } , { "\xcb\xe8\xc5\xdb" , "\x62\xe7\xfe\x5e\xde" } , { "\xcb\xe8\xc6\xdb" , "\x62\xf0\xde\xfe" } , { "\xcb\xe8\xc6\xe8\xc6" , "\x62\xf0\xe1\xfe" } , { "\xcb\xe8\xca\xda" , "\x62\xe9\xfe\xd0" } , { "\xcb\xe8\xca\xdb" , "\x62\xe9\xde\xfe" } , { "\xcb\xe8\xca\xe2" , "\xd2\x62\xe9\xdf\xfe" } , { "\xcb\xe8\xcb" , "\x62\xf8\xfe" } , { "\xcb\xe8\xcb\xda" , "\x62\xf8\xfe\xd0" } , { "\xcb\xe8\xcb\xdc" , "\x62\xf8\xfe\xd1" } , { "\xcb\xe8\xcb\xe2" , "\xd2\x62\xf8\xdf\xfe" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\x62\xf8\xcd\xfe\xd0" } , { "\xcb\xe8\xcc" , "\x62\xeb\xfe" } , { "\xcb\xe8\xcd" , "\x62\xfe\xd4" } , { "\xcb\xe8\xcd\xa2" , "\x62\xd5\xfe\xd4" } , { "\xcb\xe8\xcd\xa3" , "\x62\xfe\xd4\xd3" } , { "\xcb\xe8\xcd\xda" , "\x62\xfe\xd4\xd0" } , { "\xcb\xe8\xcd\xda\xa2" , "\x62\xfe\xd4\xd0\xd5" } , { "\xcb\xe8\xcd\xdd" , "\x62\xca\xfe\xd4" } , { "\xcb\xe8\xcd\xde" , "\x62\xcb\xfe\xd4" } , { "\xcb\xe8\xcd\xe1" , "\xd2\x62\xfe\xd4" } , { "\xcb\xe8\xcd\xe2" , "\xd2\x62\xdf\xfe\xd4" } , { "\xcb\xe8\xcd\xe4" , "\xd2\x62\xfe\xd4\xd0" } , { "\xcb\xe8\xcd\xe5" , "\xd2\x62\xfe\xd4\xd0" } , { "\xcb\xe8\xcf" , "\x62\xf6\xfe" } , { "\xcb\xe8\xcf\xa2" , "\x62\xf6\xd5\xfe" } , { "\xcb\xe8\xcf\xda" , "\x62\xf6\xfe\xd0" } , { "\xcb\xe8\xcf\xda\xa2" , "\x62\xf6\xfe\xd0\xd5" } , { "\xcb\xe8\xcf\xdb" , "\x62\xf6\xde\xfe" } , { "\xcb\xe8\xcf\xdc" , "\x62\xf6\xfe\xd1" } , { "\xcb\xe8\xcf\xdd" , "\x62\xf6\xe3\xfe" } , { "\xcb\xe8\xcf\xde" , "\x62\xf6\xe5\xfe" } , { "\xcb\xe8\xcf\xdf" , "\x62\xf6\xcc\xfe" } , { "\xcb\xe8\xcf\xe5" , "\xd2\x62\xf6\xfe\xd0" } , { "\xcb\xe8\xd1\xe2" , "\xd2\x62\xee\xdf\xfe" } , { "\xcb\xe8\xd1\xe5" , "\xd2\x62\xee\xfe\xd0" } , { "\xcb\xe8\xd4" , "\x62\xe7\xfe\x67" } , { "\xcb\xe8\xd4\xe8\xcd" , "\x67\xd4" } , { "\xcb\xe8\xe8" , "\x62\xe7\xfe" } , { "\xcb\xe8\xe9\xcf" , "\x62\xe7\xfe\x65\xfe" } , { "\xcb\xe9" , "\x62\xfe" } , { "\xcc" , "\x63" } , { "\xcc\xa1" , "\x63\xdc" } , { "\xcc\xa2" , "\x63\xd5" } , { "\xcc\xa3" , "\x63\xd3" } , { "\xcc\xda" , "\x63\xd0" } , { "\xcc\xda\xa1" , "\x63\xdc\xd0" } , { "\xcc\xda\xa2" , "\x63\xd0\xd5" } , { "\xcc\xda\xa3" , "\x63\xd0\xd3" } , { "\xcc\xdb" , "\x63\xde" } , { "\xcc\xdb\xa2" , "\x63\xde\xd5" } , { "\xcc\xdb\xa2\xa2" , "\x63\xde\xd5\xd5" } , { "\xcc\xdb\xd0\xe8" , "\x63\xde\x65\xe7\xfe" } , { "\xcc\xdc" , "\x63\xd1" } , { "\xcc\xdc\xa1" , "\x63\xdc\xd1" } , { "\xcc\xdc\xa2" , "\x63\xd1\xd5" } , { "\xcc\xdd" , "\x63\xca" } , { "\xcc\xdd\xa1" , "\x63\xca\xdc" } , { "\xcc\xdd\xa2" , "\x63\xca\xd5" } , { "\xcc\xdd\xa2\xa2" , "\x63\xca\xd5\xd5" } , { "\xcc\xde" , "\x63\xcb" } , { "\xcc\xde\xa1" , "\x63\xcb\xdc" } , { "\xcc\xde\xa2" , "\x63\xcb\xd5" } , { "\xcc\xdf" , "\x63\xf3" } , { "\xcc\xdf\xa2" , "\x63\xf3\xd5" } , { "\xcc\xe0" , "\xd2\x63" } , { "\xcc\xe0\xa2" , "\xd2\x63\xd5" } , { "\xcc\xe1" , "\xd2\x63" } , { "\xcc\xe1\xa1" , "\xd2\x63\xdc" } , { "\xcc\xe1\xa2" , "\xd2\x63\xd5" } , { "\xcc\xe1\xa2\xa2" , "\xd2\x63\xd5\xd5" } , { "\xcc\xe2" , "\xd2\x63\xdf" } , { "\xcc\xe2\xa1" , "\xd2\x63\xdf\xdb" } , { "\xcc\xe2\xa2" , "\xd2\x63\xdf\xd5" } , { "\xcc\xe4" , "\xd2\x63\xd0" } , { "\xcc\xe4\xa2" , "\xd2\x63\xd0\xd5" } , { "\xcc\xe4\xd0\xb1" , "\xd2\x63\xd0\x65\xfe\x4b" } , { "\xcc\xe5" , "\xd2\x63\xd0" } , { "\xcc\xe5\xa2" , "\xd2\x63\xd0\xd5" } , { "\xcc\xe6" , "\xd2\x63\xd7" } , { "\xcc\xe6\xa2" , "\xd2\x63\xd7\xd5" } , { "\xcc\xe6\xa3" , "\xd2\x63\xd7\xd3" } , { "\xcc\xe7" , "\xd2\x63\xd0" } , { "\xcc\xe8" , "\x63\xe7" } , { "\xcc\xe8\xb3\xa2" , "\x63\xe7\x4c\xd5" } , { "\xcc\xe8\xb3\xda" , "\x63\xe7\x4c\xd0" } , { "\xcc\xe8\xb3\xdb" , "\x63\xe7\x4c\xde" } , { "\xcc\xe8\xb3\xdc" , "\x63\xe7\x4c\xd1" } , { "\xcc\xe8\xb3\xdd" , "\x63\xe7\x4c\xca" } , { "\xcc\xe8\xb3\xde" , "\x63\xe7\x4c\xcb" } , { "\xcc\xe8\xb3\xdf" , "\x63\xe7\x4c\xf3" } , { "\xcc\xe8\xb3\xe1" , "\x63\xe7\xd2\x4c" } , { "\xcc\xe8\xb3\xe4" , "\x63\xe7\xd2\x4c\xd0" } , { "\xcc\xe8\xb3\xe5" , "\x63\xe7\xd2\x4c\xd0" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\x4c\xd4\xd0" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\x63\xe7\x4c\xf5\xde\xd5" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\x63\xe7\x4c\xf6\xe5" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\x63\xe7\xd2\x4c\xed\xd0" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\x63\xe7\xb5\xc6\xd1" } , { "\xcc\xe8\xb4\xda" , "\x63\xe7\x4d\xd0" } , { "\xcc\xe8\xb4\xe8" , "\x63\xe7\x4d\xe7" } , { "\xcc\xe8\xb5" , "\x63\xe7\x4e" } , { "\xcc\xe8\xb5\xa2" , "\x63\xe7\x4e\xd5" } , { "\xcc\xe8\xb5\xda" , "\x63\xe7\x4e\xd0" } , { "\xcc\xe8\xb5\xdd" , "\x63\xe7\x4e\xca" } , { "\xcc\xe8\xb8" , "\x63\xe7\x51" } , { "\xcc\xe8\xb8\xa2" , "\x63\xe7\x51\xd5" } , { "\xcc\xe8\xb8\xda" , "\x63\xe7\x51\xd0" } , { "\xcc\xe8\xb8\xdc" , "\x63\xe7\x51\xd1" } , { "\xcc\xe8\xb8\xdd" , "\x63\xe7\x51\xca" } , { "\xcc\xe8\xb8\xe0\xa2" , "\x63\xe7\xd2\x51\xd5" } , { "\xcc\xe8\xb8\xe1" , "\x63\xe7\xd2\x51" } , { "\xcc\xe8\xb8\xe8\xc8" , "\x63\xe7\x51\xe7\x60" } , { "\xcc\xe8\xba" , "\x63\xe7\x53" } , { "\xcc\xe8\xba\xda" , "\x63\xe7\x53\xd0" } , { "\xcc\xe8\xba\xdb" , "\x63\xe7\x53\xde" } , { "\xcc\xe8\xba\xe0" , "\x63\xe7\xd2\x53" } , { "\xcc\xe8\xba\xe8" , "\x63\xe7\x53\xe7" } , { "\xcc\xe8\xba\xe9" , "\x63\xe7\x53" } , { "\xcc\xe8\xbd" , "\x63\xe7\x56" } , { "\xcc\xe8\xbd\xda" , "\x63\xe7\x56\xd0" } , { "\xcc\xe8\xbd\xdc" , "\x63\xe7\x56\xd1" } , { "\xcc\xe8\xbd\xe0" , "\x63\xe7\xd2\x56" } , { "\xcc\xe8\xbd\xe1" , "\x63\xe7\xd2\x56" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\x56\xcb\xd4" } , { "\xcc\xe8\xbf" , "\x63\xe7\x58" } , { "\xcc\xe8\xbf\xda" , "\x63\xe7\x58\xd0" } , { "\xcc\xe8\xbf\xdb" , "\x63\xe7\x58\xde" } , { "\xcc\xe8\xbf\xe8" , "\x63\xe7\x58\xe7" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\x63\xe7\x58\xf6\xde" } , { "\xcc\xe8\xc1" , "\x63\xe7\x5a" } , { "\xcc\xe8\xc1\xe5\xa2" , "\x63\xe7\xd2\x5a\xd0\xd5" } , { "\xcc\xe8\xc1\xe8\xcc" , "\x63\xe7\x5a\xea" } , { "\xcc\xe8\xc1\xe8\xd7" , "\x63\xe7\x5a\xe7\x6a" } , { "\xcc\xe8\xc2" , "\x63\xf1" } , { "\xcc\xe8\xc2\xda" , "\x63\xf1\xd0" } , { "\xcc\xe8\xc2\xda\xa2" , "\x63\xf1\xd0\xd5" } , { "\xcc\xe8\xc2\xdb" , "\x63\xf1\xde" } , { "\xcc\xe8\xc2\xe5" , "\xd2\x63\xf1\xd0" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\x63\xe7\x72\xde\xfe" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\x63\xe7\x5b\xe7\x5c\xca" } , { "\xcc\xe8\xc2\xe8\xcd" , "\x63\xf1\xd4" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\x63\xd4\xe3\xd4" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\x63\xd4\xe3\xd5\xd4" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\x63\xd4\xe5\xd4" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\x63\xf1\xe7" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\x63\xe7\x5b\xf6\xd4" } , { "\xcc\xe8\xc3" , "\x63\xe7\x5c" } , { "\xcc\xe8\xc4" , "\x63\xe7\x5d" } , { "\xcc\xe8\xc4\xda" , "\x63\xe7\x5d\xd0" } , { "\xcc\xe8\xc4\xdb" , "\x63\xe7\x5d\xde" } , { "\xcc\xe8\xc4\xdc" , "\x63\xe7\x5d\xd1" } , { "\xcc\xe8\xc4\xdd" , "\x63\xe7\x5d\xca" } , { "\xcc\xe8\xc4\xe1" , "\x63\xe7\xd2\x5d" } , { "\xcc\xe8\xc4\xe8\xc5" , "\x63\xe7\x77" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\x63\xe7\x77\xde" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\x63\xe7\x5d\xe7\x67\xd0" } , { "\xcc\xe8\xc5\xda" , "\x63\xe7\x5e\xd0" } , { "\xcc\xe8\xc5\xe5\xa2" , "\x63\xe7\xd2\x5e\xd0\xd5" } , { "\xcc\xe8\xc5\xe8\xc4" , "\x63\xe7\x5e\xe7\x5d" } , { "\xcc\xe8\xc6" , "\x63\xef" } , { "\xcc\xe8\xc6\xa2" , "\x63\xef\xd5" } , { "\xcc\xe8\xc6\xda" , "\x63\xef\xd0" } , { "\xcc\xe8\xc6\xda\xa2" , "\x63\xef\xd0\xd5" } , { "\xcc\xe8\xc6\xdb" , "\x63\xef\xde" } , { "\xcc\xe8\xc6\xdc" , "\x63\xef\xd1" } , { "\xcc\xe8\xc6\xdd" , "\x63\xf0\xe3" } , { "\xcc\xe8\xc6\xdd\xa2" , "\x63\xf0\xe3\xd5" } , { "\xcc\xe8\xc6\xde" , "\x63\xf0\xe5" } , { "\xcc\xe8\xc6\xe0\xa2" , "\xd2\x63\xef\xd5" } , { "\xcc\xe8\xc6\xe1" , "\xd2\x63\xef" } , { "\xcc\xe8\xc6\xe5" , "\xd2\x63\xef\xd0" } , { "\xcc\xe8\xc8" , "\xad\xc6" } , { "\xcc\xe8\xc8\xda" , "\xad\xc6\xd0" } , { "\xcc\xe8\xc8\xda\xa1" , "\xad\xdc\xc6\xd0" } , { "\xcc\xe8\xc8\xdb" , "\xad\xde\xc6" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xad\xde\xd6\xc6" } , { "\xcc\xe8\xc8\xdc" , "\xad\xc6\xd1" } , { "\xcc\xe8\xc8\xdd" , "\xad\xca\xc6" } , { "\xcc\xe8\xc8\xde" , "\xad\xcb\xc6" } , { "\xcc\xe8\xc8\xdf" , "\xad\xf3\xc6" } , { "\xcc\xe8\xc8\xe0" , "\xd2\xad\xc6" } , { "\xcc\xe8\xc8\xe1" , "\xd2\xad\xc6" } , { "\xcc\xe8\xc8\xe2" , "\xd2\xad\xdf\xc6" } , { "\xcc\xe8\xc8\xe2\xa2" , "\xd2\xad\xdf\xd6\xc6" } , { "\xcc\xe8\xc8\xe5" , "\xd2\xad\xc6\xd0" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xd2\xad\xc6\xd0\xd6" } , { "\xcc\xe8\xc8\xe8" , "\xad\xe7\xc6" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\x63\xe7\x60\xe7\xa6\xc6" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\x63\xe7\x60\xe7\xa6\xde\xc6" } , { "\xcc\xe8\xc8\xe8\xb8" , "\x63\xe7\x60\xe7\x51" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\x63\xe7\x60\xe7\x5d\xd0" } , { "\xcc\xe8\xc8\xe8\xcd" , "\xad\xc6\xd4" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\xad\xca\xc6\xd4" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\xad\xcb\xc6\xd4" } , { "\xcc\xe8\xc8\xe8\xcf" , "\xad\xf5\xc6" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\xad\xf5\xc6\xd0" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\xad\xf6\xe5\xc6" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\xd2\xad\xf5\xc6" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xd2\xad\xf5\xc6" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\xd2\xad\xf5\xc6\xd0" } , { "\xcc\xe8\xc8\xe8\xd1" , "\xad\xed\xc6" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\xad\xed\xc6\xd0" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\xad\xed\xc6\xd0\xd6" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xad\xed\xde\xc6" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xd2\xad\xed\xc6" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xd2\xad\xed\xdf\xc6" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xd2\xad\xed\xc6\xd0" } , { "\xcc\xe8\xc8\xe8\xd5" , "\x63\xe7\x60\xe7\x68" } , { "\xcc\xe8\xc8\xe8\xd6" , "\x63\xe7\x60\xe7\x69" } , { "\xcc\xe8\xc8\xe8\xd7" , "\x63\xe7\xbf\xa4" } , { "\xcc\xe8\xc9" , "\x3e\xbc" } , { "\xcc\xe8\xc9\xda" , "\x3e\xbc\xd0" } , { "\xcc\xe8\xc9\xdb" , "\x3e\xde\xbc" } , { "\xcc\xe8\xc9\xdc" , "\x3e\xbc\xd1" } , { "\xcc\xe8\xc9\xe0" , "\xd2\x3e\xbc" } , { "\xcc\xe8\xc9\xe1" , "\xd2\x3e\xbc" } , { "\xcc\xe8\xc9\xe4" , "\xd2\x3e\xbc\xd0" } , { "\xcc\xe8\xc9\xe5" , "\xd2\x3e\xbc\xd0" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xd2\x3e\xf5\xbc" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xd2\x3e\xed\xbc\xd0" } , { "\xcc\xe8\xca" , "\x63\xe8" } , { "\xcc\xe8\xca\xa2" , "\x63\xe8\xd5" } , { "\xcc\xe8\xca\xda" , "\x63\xe8\xd0" } , { "\xcc\xe8\xca\xda\xa2" , "\x63\xe8\xd0\xd5" } , { "\xcc\xe8\xca\xdb" , "\x63\xe8\xde" } , { "\xcc\xe8\xca\xdb\xa2" , "\x63\xe8\xde\xd5" } , { "\xcc\xe8\xca\xdc" , "\x63\xe8\xd1" } , { "\xcc\xe8\xca\xdd" , "\x63\xe9\xe3" } , { "\xcc\xe8\xca\xde" , "\x63\xe9\xe5" } , { "\xcc\xe8\xca\xe0" , "\xd2\x63\xe8" } , { "\xcc\xe8\xca\xe1" , "\xd2\x63\xe8" } , { "\xcc\xe8\xca\xe1\xa2" , "\xd2\x63\xe8\xd5" } , { "\xcc\xe8\xca\xe5" , "\xd2\x63\xe8\xd0" } , { "\xcc\xe8\xca\xe5\xa2" , "\xd2\x63\xe8\xd0\xd5" } , { "\xcc\xe8\xca\xe6" , "\xd2\x63\xe8\xd7" } , { "\xcc\xe8\xca\xe7" , "\xd2\x63\xe8\xd0" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\x63\xe7\x61\xe7\x77" } , { "\xcc\xe8\xca\xe8\xcf" , "\x63\xe8\xcd" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\x63\xe8\xcd\xd0\xd5" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\x63\xe8\xcd\xde" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xd2\x63\xe8\xcd" } , { "\xcc\xe8\xcb" , "\x63\xf7" } , { "\xcc\xe8\xcb\xa3" , "\x63\xf7\xd3" } , { "\xcc\xe8\xcb\xda" , "\x63\xf7\xd0" } , { "\xcc\xe8\xcb\xdb" , "\x63\xf7\xde" } , { "\xcc\xe8\xcb\xdc" , "\x63\xf7\xd1" } , { "\xcc\xe8\xcb\xdd" , "\x63\xf8\xe3" } , { "\xcc\xe8\xcb\xde" , "\x63\xf8\xe5" } , { "\xcc\xe8\xcb\xe1" , "\xd2\x63\xf7" } , { "\xcc\xe8\xcb\xe5" , "\xd2\x63\xf7\xd0" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xd2\x63\xf7\xd0\xd5" } , { "\xcc\xe8\xcb\xe6" , "\xd2\x63\xf7\xd7" } , { "\xcc\xe8\xcb\xe8" , "\x63\xf7\xe7" } , { "\xcc\xe8\xcb\xe8\xcf" , "\x63\xf7\xcd" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\x63\xf7\xcd\xd0" } , { "\xcc\xe8\xcc" , "\xae\xa4" } , { "\xcc\xe8\xcc\xa2" , "\xae\xd6\xa4" } , { "\xcc\xe8\xcc\xda" , "\xae\xa4\xd0" } , { "\xcc\xe8\xcc\xda\xa1" , "\xae\xdc\xa4\xd0" } , { "\xcc\xe8\xcc\xda\xa2" , "\xae\xa4\xd0\xd6" } , { "\xcc\xe8\xcc\xdb" , "\xae\xde\xa4" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xae\xde\xd6\xa4" } , { "\xcc\xe8\xcc\xdc" , "\xae\xa4\xd1" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xae\xa4\xd1\xd6" } , { "\xcc\xe8\xcc\xdd" , "\xae\xca\xa4" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xae\xca\xd6\xa4" } , { "\xcc\xe8\xcc\xde" , "\xae\xcb\xa4" } , { "\xcc\xe8\xcc\xe0" , "\xd2\xae\xa4" } , { "\xcc\xe8\xcc\xe0\xa2" , "\xd2\xae\xa4\xd6" } , { "\xcc\xe8\xcc\xe1" , "\xd2\xae\xa4" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xd2\xae\xa4\xd6" } , { "\xcc\xe8\xcc\xe2" , "\xd2\xae\xdf\xa4" } , { "\xcc\xe8\xcc\xe4" , "\xd2\xae\xa4\xd0" } , { "\xcc\xe8\xcc\xe5" , "\xd2\xae\xa4\xd0" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xd2\xae\xa4\xd0\xd6" } , { "\xcc\xe8\xcc\xe8" , "\xae\xe7\xa4" } , { "\xcc\xe8\xcc\xe8\xc4" , "\x63\xe7\x63\xe7\x5d" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\x63\xe7\x63\xe7\x5d\xde" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\xae\xf0\xde\xa4" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\xd2\xae\xeb\xdf\xd6\xa4" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\xd2\xae\xee\xa4" } , { "\xcc\xe8\xcd" , "\x63\xd4" } , { "\xcc\xe8\xcd\xa2" , "\x63\xd5\xd4" } , { "\xcc\xe8\xcd\xda" , "\x63\xd4\xd0" } , { "\xcc\xe8\xcd\xda\xa1" , "\x63\xdc\xd4\xd0" } , { "\xcc\xe8\xcd\xda\xa2" , "\x63\xd4\xd0\xd5" } , { "\xcc\xe8\xcd\xdb" , "\x63\xde\xd4" } , { "\xcc\xe8\xcd\xdd" , "\x63\xca\xd4" } , { "\xcc\xe8\xcd\xde" , "\x63\xcb\xd4" } , { "\xcc\xe8\xcd\xe1" , "\xd2\x63\xd4" } , { "\xcc\xe8\xcd\xe5" , "\xd2\x63\xd4\xd0" } , { "\xcc\xe8\xcd\xe5\xa2" , "\xd2\x63\xd4\xd0\xd5" } , { "\xcc\xe8\xcd\xe6" , "\xd2\x63\xd4\xd7" } , { "\xcc\xe8\xcd\xe8\xcd" , "\x63\xd4" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\x63\xd4\xd0" } , { "\xcc\xe8\xcf" , "\x63\xf5" } , { "\xcc\xe8\xcf\xa2" , "\x63\xf5\xd5" } , { "\xcc\xe8\xcf\xda" , "\x63\xf5\xd0" } , { "\xcc\xe8\xcf\xda\xa2" , "\x63\xf5\xd0\xd5" } , { "\xcc\xe8\xcf\xdb" , "\x63\xf5\xde" } , { "\xcc\xe8\xcf\xdb\xa2" , "\x63\xf5\xde\xd5" } , { "\xcc\xe8\xcf\xdc" , "\x63\xf5\xd1" } , { "\xcc\xe8\xcf\xdd" , "\x63\xf6\xe3" } , { "\xcc\xe8\xcf\xde" , "\x63\xf6\xe5" } , { "\xcc\xe8\xcf\xe0" , "\xd2\x63\xf5" } , { "\xcc\xe8\xcf\xe1" , "\xd2\x63\xf5" } , { "\xcc\xe8\xcf\xe4" , "\xd2\x63\xf5\xd0" } , { "\xcc\xe8\xcf\xe5" , "\xd2\x63\xf5\xd0" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xd2\x63\xf5\xd0\xd5" } , { "\xcc\xe8\xcf\xe8\xb3" , "\x63\xe7\x65\xe7\xfe\x4c" } , { "\xcc\xe8\xcf\xe8\xc2" , "\x63\xe7\x65\xf1\xfe" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\x63\xf5\xd4\xd0" } , { "\xcc\xe8\xd0\xe0" , "\xd2\x63\xf5" } , { "\xcc\xe8\xd1" , "\x63\xed" } , { "\xcc\xe8\xd1\xa2" , "\x63\xed\xd5" } , { "\xcc\xe8\xd1\xda" , "\x63\xed\xd0" } , { "\xcc\xe8\xd1\xda\xa2" , "\x63\xed\xd0\xd5" } , { "\xcc\xe8\xd1\xdb" , "\x63\xed\xde" } , { "\xcc\xe8\xd1\xdc" , "\x63\xed\xd1" } , { "\xcc\xe8\xd1\xdd" , "\x63\xee\xe3" } , { "\xcc\xe8\xd1\xdd\xa2" , "\x63\xee\xe3\xd5" } , { "\xcc\xe8\xd1\xde" , "\x63\xee\xe5" } , { "\xcc\xe8\xd1\xe0" , "\xd2\x63\xed" } , { "\xcc\xe8\xd1\xe1" , "\xd2\x63\xed" } , { "\xcc\xe8\xd1\xe2" , "\xd2\x63\xed\xdf" } , { "\xcc\xe8\xd1\xe5" , "\xd2\x63\xed\xd0" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xd2\x63\xed\xd0\xd5" } , { "\xcc\xe8\xd1\xe8" , "\x63\xed\xe7" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\x63\xd4\xe5\xd4" } , { "\xcc\xe8\xd4" , "\x63\xe7\x67" } , { "\xcc\xe8\xd4\xa2" , "\x63\xe7\x67\xd5" } , { "\xcc\xe8\xd4\xda" , "\x63\xe7\x67\xd0" } , { "\xcc\xe8\xd4\xdb" , "\x63\xe7\x67\xde" } , { "\xcc\xe8\xd4\xdc" , "\x63\xe7\x67\xd1" } , { "\xcc\xe8\xd4\xdd\xa2" , "\x63\xe7\x67\xca\xd5" } , { "\xcc\xe8\xd4\xe0" , "\x63\xe7\xd2\x67" } , { "\xcc\xe8\xd4\xe1" , "\x63\xe7\xd2\x67" } , { "\xcc\xe8\xd4\xe2" , "\x63\xe7\xd2\x67\xdf" } , { "\xcc\xe8\xd5" , "\x63\xe7\x68" } , { "\xcc\xe8\xd5\xda" , "\x63\xe7\x68\xd0" } , { "\xcc\xe8\xd5\xdc" , "\x63\xe7\x68\xd1" } , { "\xcc\xe8\xd6" , "\x63\xe7\x69" } , { "\xcc\xe8\xd6\xdc" , "\x63\xe7\x69\xd1" } , { "\xcc\xe8\xd7" , "\x63\xe7\x6a" } , { "\xcc\xe8\xd7\xda" , "\x63\xe7\x6a\xd0" } , { "\xcc\xe8\xd7\xdb\xa2" , "\x63\xe7\x6a\xde\xd5" } , { "\xcc\xe8\xd7\xdd" , "\x63\xe7\x6a\xca" } , { "\xcc\xe8\xd7\xde" , "\x63\xe7\x6a\xcb" } , { "\xcc\xe8\xd7\xe0" , "\x63\xe7\xd2\x6a" } , { "\xcc\xe8\xd7\xe1" , "\x63\xe7\xd2\x6a" } , { "\xcc\xe8\xd7\xe8" , "\x63\xe7\x6a\xe7" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\x63\xe7\xb2\xc6\xd1" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\x63\xe7\xb2\xca\xc6" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\x63\xe7\xb2\xee\xc6" } , { "\xcc\xe8\xd7\xe8\xbd" , "\x63\xe7\x6a\xe7\x56" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\x63\xe7\x6a\xe7\x56\xd0" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\x63\xe7\x6a\xe7\xd2\x56" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\x63\xe7\x6a\xe7\xd2\x56" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\x63\xe7\x6a\xe7\xd2\x56\xd0" } , { "\xcc\xe8\xd7\xe8\xbf" , "\x63\xe7\x6a\xe7\x58" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\x63\xe7\x6a\xe7\x58\xde" } , { "\xcc\xe8\xd7\xe8\xc2" , "\x63\xe7\xaa\xc6" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\x63\xe7\xaa\xc6\xd1" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\x63\xe7\xd2\xaa\xc6\xd0" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\x63\xe7\x6a\xf0\xe3" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\x63\xe7\x6a\xef\xe7" } , { "\xcc\xe8\xd7\xe8\xc8" , "\x63\xe7\xb8\xa4" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\x63\xe7\xb8\xf6\xde\xa4" } , { "\xcc\xe8\xd7\xe8\xc9" , "\x63\xe7\xc9\xa5" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\x63\xe7\x6a\xe8\xd0\xd5" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\x63\xe7\x6a\xea\xde" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\x6a\xd4\xd0" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\x63\xe7\x6a\xf5\xd0" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\x63\xe7\x6a\xed\xd0" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\x63\xe7\x6a\xed\xd0\xd5" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\x63\xe7\xd2\x6a\xed\xd0" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\x63\xe7\x6a\xe7\x67\xd0" } , { "\xcc\xe8\xd8" , "\x63\xe7\x6b\xfe" } , { "\xcc\xe8\xd8\xa2" , "\x63\xe7\x6b\xd5\xfe" } , { "\xcc\xe8\xd8\xda" , "\x63\xe7\x6b\xfe\xd0" } , { "\xcc\xe8\xd8\xda\xa2" , "\x63\xe7\x6b\xfe\xd0\xd5" } , { "\xcc\xe8\xd8\xdb" , "\x63\xe7\x6b\xde\xfe" } , { "\xcc\xe8\xd8\xdc" , "\x63\xe7\x6b\xfe\xd1" } , { "\xcc\xe8\xd8\xdc\xa2" , "\x63\xe7\x6b\xfe\xd1\xd5" } , { "\xcc\xe8\xd8\xde" , "\x63\xe7\x6b\xcb\xfe" } , { "\xcc\xe8\xd8\xe1" , "\x63\xe7\xd2\x6b\xfe" } , { "\xcc\xe8\xd8\xe1\xa2" , "\x63\xe7\xd2\x6b\xfe\xd5" } , { "\xcc\xe8\xd8\xe2\xa2" , "\x63\xe7\xd2\x6b\xdf\xd5\xfe" } , { "\xcc\xe8\xd9\xcc\xe1" , "\x63\xe7\xd2\x63" } , { "\xcc\xe8\xd9\xcd" , "\x63\xe7\xaf\xc6" } , { "\xcc\xe8\xe8" , "\x63\xe7" } , { "\xcc\xe8\xe9\xcf" , "\x63\xe7\x65\xfe" } , { "\xcc\xe9" , "\x63" } , { "\xcd" , "\xaf\xc6" } , { "\xcd\xa1" , "\xaf\xdd\xc6" } , { "\xcd\xa2" , "\xaf\xd6\xc6" } , { "\xcd\xa2\xa3" , "\xaf\xd6\xc6\xd3" } , { "\xcd\xa3" , "\xaf\xc6\xd3" } , { "\xcd\xd0\xe8" , "\xaf\xc6\x65\xe7\xfe" } , { "\xcd\xda" , "\xaf\xc6\xd0" } , { "\xcd\xda\xa1" , "\xaf\xdc\xc6\xd0" } , { "\xcd\xda\xa2" , "\xaf\xc6\xd0\xd6" } , { "\xcd\xda\xa3" , "\xaf\xc6\xd0\xd3" } , { "\xcd\xdb" , "\xaf\xde\xc6" } , { "\xcd\xdb\xa2" , "\xaf\xde\xd6\xc6" } , { "\xcd\xdb\xa2\xa2" , "\xaf\xde\xd6\xc6\xd5" } , { "\xcd\xdb\xa3" , "\xaf\xde\xc6\xd3" } , { "\xcd\xdc" , "\xaf\xc6\xd1" } , { "\xcd\xdc\xa1" , "\xaf\xdc\xc6\xd1" } , { "\xcd\xdc\xa2" , "\xaf\xc6\xd1\xd6" } , { "\xcd\xdd" , "\xaf\xca\xc6" } , { "\xcd\xdd\xa2" , "\xaf\xca\xd6\xc6" } , { "\xcd\xdd\xa3" , "\xaf\xca\xc6\xd3" } , { "\xcd\xde" , "\xaf\xcb\xc6" } , { "\xcd\xde\xa1" , "\xaf\xcb\xdd\xc6" } , { "\xcd\xde\xa2" , "\xaf\xcb\xd6\xc6" } , { "\xcd\xdf" , "\xaf\xf3\xc6" } , { "\xcd\xe0" , "\xd2\xaf\xc6" } , { "\xcd\xe0\xa2" , "\xd2\xaf\xc6\xd6" } , { "\xcd\xe1" , "\xd2\xaf\xc6" } , { "\xcd\xe1\xa1" , "\xd2\xaf\xc6\xdd" } , { "\xcd\xe1\xa2" , "\xd2\xaf\xc6\xd6" } , { "\xcd\xe1\xa3" , "\xd2\xaf\xc6\xd3" } , { "\xcd\xe2" , "\xd2\xaf\xdf\xc6" } , { "\xcd\xe2\xa2" , "\xd2\xaf\xdf\xd6\xc6" } , { "\xcd\xe3" , "\xd2\xaf\xc6" } , { "\xcd\xe4" , "\xd2\xaf\xc6\xd0" } , { "\xcd\xe4\xa2" , "\xd2\xaf\xc6\xd0\xd6" } , { "\xcd\xe5" , "\xd2\xaf\xc6\xd0" } , { "\xcd\xe5\xa1" , "\xd2\xaf\xdc\xc6\xd0" } , { "\xcd\xe5\xa2" , "\xd2\xaf\xc6\xd0\xd6" } , { "\xcd\xe5\xa3" , "\xd2\xaf\xc6\xd0\xd3" } , { "\xcd\xe6" , "\xd2\xaf\xc6\xd7" } , { "\xcd\xe6\xa2" , "\xd2\xaf\xc6\xd7\xd6" } , { "\xcd\xe7" , "\xd2\xaf\xc6\xd0" } , { "\xcd\xe7\xa2" , "\xd2\xaf\xc6\xd0\xd6" } , { "\xcd\xe8" , "\xaf\xe7\xc6" } , { "\xcd\xe8\xb3" , "\xaf\xe7\xc6\x4c" } , { "\xcd\xe8\xb3\xdb" , "\xaf\xe7\xc6\x4c\xde" } , { "\xcd\xe8\xb3\xdb\xa2" , "\xaf\xe7\xc6\x4c\xde\xd5" } , { "\xcd\xe8\xb3\xdd" , "\xaf\xe7\xc6\x4c\xca" } , { "\xcd\xe8\xb3\xde" , "\xaf\xe7\xc6\x4c\xcb" } , { "\xcd\xe8\xb3\xe1" , "\xaf\xe7\xc6\xd2\x4c" } , { "\xcd\xe8\xb3\xe5" , "\xaf\xe7\xc6\xd2\x4c\xd0" } , { "\xcd\xe8\xb5\xda" , "\xaf\xe7\xc6\x4e\xd0" } , { "\xcd\xe8\xb8\xe1" , "\xaf\xe7\xc6\xd2\x51" } , { "\xcd\xe8\xb8\xe6" , "\xaf\xe7\xc6\xd2\x51\xd7" } , { "\xcd\xe8\xbd" , "\xaf\xe7\xc6\x56" } , { "\xcd\xe8\xbf\xa2" , "\xaf\xe7\xc6\x58\xd5" } , { "\xcd\xe8\xbf\xdb" , "\xaf\xe7\xc6\x58\xde" } , { "\xcd\xe8\xc1" , "\xaf\xe7\xc6\x5a" } , { "\xcd\xe8\xc2\xda" , "\xaf\xf2\xc6\xd0" } , { "\xcd\xe8\xc2\xdd" , "\xaf\xf2\xe3\xc6" } , { "\xcd\xe8\xc2\xe1" , "\xd2\xaf\xf2\xc6" } , { "\xcd\xe8\xc2\xe5" , "\xd2\xaf\xf2\xc6\xd0" } , { "\xcd\xe8\xc2\xe8\xc2" , "\xaf\xe7\xc6\x72\xfe" } , { "\xcd\xe8\xc2\xe8\xc6" , "\xaf\xf2\xe1\xc6" } , { "\xcd\xe8\xc4\xda" , "\xaf\xe7\xc6\x5d\xd0" } , { "\xcd\xe8\xc6" , "\xaf\xf0\xc6" } , { "\xcd\xe8\xc6\xa2" , "\xaf\xf0\xd6\xc6" } , { "\xcd\xe8\xc6\xda" , "\xaf\xf0\xc6\xd0" } , { "\xcd\xe8\xc6\xdb" , "\xaf\xf0\xde\xc6" } , { "\xcd\xe8\xc6\xdc" , "\xaf\xf0\xc6\xd1" } , { "\xcd\xe8\xc6\xdd" , "\xaf\xf0\xe3\xc6" } , { "\xcd\xe8\xc6\xe1" , "\xd2\xaf\xf0\xc6" } , { "\xcd\xe8\xc6\xe5" , "\xd2\xaf\xf0\xc6\xd0" } , { "\xcd\xe8\xc8\xde" , "\xaf\xe7\xc6\x60\xcb" } , { "\xcd\xe8\xc9\xe1" , "\xaf\xe7\xc6\xd2\x24\xbc" } , { "\xcd\xe8\xca\xe0" , "\xd2\xaf\xe9\xc6" } , { "\xcd\xe8\xca\xe5" , "\xd2\xaf\xe9\xc6\xd0" } , { "\xcd\xe8\xcb\xdd" , "\xaf\xf8\xe3\xc6" } , { "\xcd\xe8\xcc" , "\xaf\xeb\xc6" } , { "\xcd\xe8\xcc\xa2" , "\xaf\xeb\xd6\xc6" } , { "\xcd\xe8\xcc\xe0" , "\xd2\xaf\xeb\xc6" } , { "\xcd\xe8\xcc\xe0\xa2" , "\xd2\xaf\xeb\xc6\xd6" } , { "\xcd\xe8\xcd" , "\xaf\xc6\xd4" } , { "\xcd\xe8\xcd\xa2" , "\xaf\xd6\xc6\xd4" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xaf\xd6\xc6\xd4\xd5" } , { "\xcd\xe8\xcd\xda" , "\xaf\xc6\xd4\xd0" } , { "\xcd\xe8\xcd\xda\xa2" , "\xaf\xc6\xd4\xd0\xd6" } , { "\xcd\xe8\xcd\xdb" , "\xaf\xde\xc6\xd4" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xaf\xde\xd6\xc6\xd4" } , { "\xcd\xe8\xcd\xdc" , "\xaf\xc6\xd4\xd1" } , { "\xcd\xe8\xcd\xdd" , "\xaf\xca\xc6\xd4" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xaf\xca\xd6\xc6\xd4" } , { "\xcd\xe8\xcd\xde" , "\xaf\xcb\xc6\xd4" } , { "\xcd\xe8\xcd\xe0" , "\xd2\xaf\xc6\xd4" } , { "\xcd\xe8\xcd\xe0\xa2" , "\xd2\xaf\xc6\xd4\xd6" } , { "\xcd\xe8\xcd\xe1" , "\xd2\xaf\xc6\xd4" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xd2\xaf\xc6\xd4\xd6" } , { "\xcd\xe8\xcd\xe4" , "\xd2\xaf\xc6\xd4\xd0" } , { "\xcd\xe8\xcd\xe5" , "\xd2\xaf\xc6\xd4\xd0" } , { "\xcd\xe8\xcd\xe8" , "\xaf\xe7\xc6" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xaf\xe7\xc6\xaf\xe7\xc6\x4e\xd0" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xaf\xc6\xd4" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xaf\xd6\xc6\xd4" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xaf\xc6\xd4\xd0" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\xd2\xaf\xc6\xd4" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xaf\xe7\xc6\xaf\xc6\xd4\xd0" } , { "\xcd\xe8\xcd\xe8\xcf" , "\xaf\xd4\xcd\xc6" } , { "\xcd\xe8\xcf" , "\xaf\xf6\xc6" } , { "\xcd\xe8\xcf\xde" , "\xaf\xf6\xe5\xc6" } , { "\xcd\xe8\xcf\xe5" , "\xd2\xaf\xf6\xc6\xd0" } , { "\xcd\xe8\xcf\xe8" , "\xaf\xf6\xe7\xc6" } , { "\xcd\xe8\xd1" , "\xaf\xee\xc6" } , { "\xcd\xe8\xd1\xa2" , "\xaf\xee\xd6\xc6" } , { "\xcd\xe8\xd1\xda\xa2" , "\xaf\xee\xc6\xd0\xd6" } , { "\xcd\xe8\xd1\xdd" , "\xaf\xee\xe3\xc6" } , { "\xcd\xe8\xd1\xde" , "\xaf\xee\xe5\xc6" } , { "\xcd\xe8\xd1\xe0\xa2" , "\xd2\xaf\xee\xc6\xd6" } , { "\xcd\xe8\xd1\xe1" , "\xd2\xaf\xee\xc6" } , { "\xcd\xe8\xd1\xe4" , "\xd2\xaf\xee\xc6\xd0" } , { "\xcd\xe8\xd1\xe5" , "\xd2\xaf\xee\xc6\xd0" } , { "\xcd\xe8\xd1\xe8" , "\xaf\xee\xe7\xc6" } , { "\xcd\xe8\xd4" , "\xaf\xe7\xc6\x67" } , { "\xcd\xe8\xd4\xda" , "\xaf\xe7\xc6\x67\xd0" } , { "\xcd\xe8\xd4\xdd" , "\xaf\xe7\xc6\x67\xca" } , { "\xcd\xe8\xd5\xda" , "\xaf\xe7\xc6\x68\xd0" } , { "\xcd\xe8\xd7" , "\xaf\xe7\xc6\x6a" } , { "\xcd\xe8\xd7\xda" , "\xaf\xe7\xc6\x6a\xd0" } , { "\xcd\xe8\xd7\xdb\xa2" , "\xaf\xe7\xc6\x6a\xde\xd5" } , { "\xcd\xe8\xd7\xe2" , "\xaf\xe7\xc6\xd2\x6a\xdf" } , { "\xcd\xe8\xd7\xe8" , "\xaf\xe7\xc6\x6a\xe7" } , { "\xcd\xe8\xd7\xe8\xb3" , "\xaf\xe7\xc6\xb2\xc6" } , { "\xcd\xe8\xe8" , "\xaf\xe7\xc6" } , { "\xcd\xe8\xe9\xcf" , "\xaf\xe7\xc6\x65\xfe" } , { "\xce" , "\x64" } , { "\xce\xa3" , "\x64\xd3" } , { "\xcf" , "\x65\xfe" } , { "\xcf\xa1" , "\x65\xdc\xfe" } , { "\xcf\xa2" , "\x65\xd5\xfe" } , { "\xcf\xa2\xa2" , "\x65\xd5\xfe\xd5" } , { "\xcf\xa3" , "\x65\xfe\xd3" } , { "\xcf\xda" , "\x65\xfe\xd0" } , { "\xcf\xda\xa1" , "\x65\xdc\xfe\xd0" } , { "\xcf\xda\xa2" , "\x65\xfe\xd0\xd5" } , { "\xcf\xda\xa3" , "\x65\xfe\xd0\xd3" } , { "\xcf\xdb" , "\x65\xde\xfe" } , { "\xcf\xdb\xa1" , "\x65\xda\xfe" } , { "\xcf\xdb\xa2" , "\x65\xde\xd5\xfe" } , { "\xcf\xdb\xa2\xa2" , "\x65\xde\xd5\xfe\xd5" } , { "\xcf\xdb\xa3" , "\x65\xde\xfe\xd3" } , { "\xcf\xdb\xce\xda" , "\x65\xde\xfe\x64\xd0" } , { "\xcf\xdc" , "\x65\xfe\xd1" } , { "\xcf\xdc\xa2" , "\x65\xfe\xd1\xd5" } , { "\xcf\xdc\xa2\xa2" , "\x65\xfe\xd1\xd5\xd5" } , { "\xcf\xdc\xa3" , "\x65\xfe\xd1\xd3" } , { "\xcf\xdd" , "\x65\xca\xfe" } , { "\xcf\xdd\xa1" , "\x65\xca\xdc\xfe" } , { "\xcf\xdd\xa2" , "\x65\xca\xd5\xfe" } , { "\xcf\xdd\xa3" , "\x65\xca\xfe\xd3" } , { "\xcf\xde" , "\x65\xcb\xfe" } , { "\xcf\xde\xa1" , "\x65\xcb\xdc\xfe" } , { "\xcf\xde\xa2" , "\x65\xcb\xd5\xfe" } , { "\xcf\xdf" , "\x65\xf3\xfe" } , { "\xcf\xe0" , "\xd2\x65\xfe" } , { "\xcf\xe0\xa2" , "\xd2\x65\xfe\xd5" } , { "\xcf\xe0\xa3" , "\xd2\x65\xfe\xd3" } , { "\xcf\xe1" , "\xd2\x65\xfe" } , { "\xcf\xe1\xa2" , "\xd2\x65\xfe\xd5" } , { "\xcf\xe2" , "\xd2\x65\xdf\xfe" } , { "\xcf\xe2\xa2" , "\xd2\x65\xdf\xd5\xfe" } , { "\xcf\xe2\xa3" , "\xd2\x65\xdf\xfe\xd3" } , { "\xcf\xe2\xbd\xe8" , "\xd2\x65\xdf\xfe\x56\xe7" } , { "\xcf\xe4" , "\xd2\x65\xfe\xd0" } , { "\xcf\xe4\xa2" , "\xd2\x65\xfe\xd0\xd5" } , { "\xcf\xe5" , "\xd2\x65\xfe\xd0" } , { "\xcf\xe5\xa2" , "\xd2\x65\xfe\xd0\xd5" } , { "\xcf\xe5\xa2\xa2" , "\xd2\x65\xfe\xd0\xd5\xd5" } , { "\xcf\xe6" , "\xd2\x65\xfe\xd7" } , { "\xcf\xe6\xa2" , "\xd2\x65\xfe\xd7\xd5" } , { "\xcf\xe7" , "\xd2\x65\xfe\xd0" } , { "\xcf\xe7\xa2" , "\xd2\x65\xfe\xd0\xd5" } , { "\xcf\xe8" , "\x65\xe7\xfe" } , { "\xcf\xe8\xb3" , "\x4c\xe0" } , { "\xcf\xe8\xb3\xa2" , "\x4c\xe0\xd5" } , { "\xcf\xe8\xb3\xda" , "\x4c\xe0\xd0" } , { "\xcf\xe8\xb3\xda\xa2" , "\x4c\xe0\xd0\xd5" } , { "\xcf\xe8\xb3\xdb" , "\x4c\xd9" } , { "\xcf\xe8\xb3\xdb\xa2" , "\x4c\xd9\xd5" } , { "\xcf\xe8\xb3\xdc" , "\x4c\xe0\xd1" } , { "\xcf\xe8\xb3\xdd" , "\x4c\xca\xe0" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x4c\xca\xe0\xd5" } , { "\xcf\xe8\xb3\xde" , "\x4c\xcb\xe0" } , { "\xcf\xe8\xb3\xe0" , "\xd2\x4c\xe0" } , { "\xcf\xe8\xb3\xe0\xa2" , "\xd2\x4c\xe0\xd5" } , { "\xcf\xe8\xb3\xe1" , "\xd2\x4c\xe0" } , { "\xcf\xe8\xb3\xe1\xa2" , "\xd2\x4c\xe0\xd5" } , { "\xcf\xe8\xb3\xe2" , "\xd2\x4c\xd8" } , { "\xcf\xe8\xb3\xe4" , "\xd2\x4c\xe0\xd0" } , { "\xcf\xe8\xb3\xe4\xa2" , "\xd2\x4c\xe0\xd0\xd5" } , { "\xcf\xe8\xb3\xe5" , "\xd2\x4c\xe0\xd0" } , { "\xcf\xe8\xb3\xe5\xa2" , "\xd2\x4c\xe0\xd0\xd5" } , { "\xcf\xe8\xb3\xe6" , "\xd2\x4c\xfc" } , { "\xcf\xe8\xb3\xe6\xa2" , "\xd2\x4c\xfc\xd5" } , { "\xcf\xe8\xb3\xe8" , "\x4c\xe0\xe7" } , { "\xcf\xe8\xb3\xe8\xb3" , "\xa3\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\xa3\xd9\xc6" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\xa3\xca\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x4c\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x4c\xe7\xd2\x4e\xe0" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x90\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\x90\xd9\xc6" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x4c\xe7\x56\xe7\xd2\x67\xe0" } , { "\xcf\xe8\xb3\xe8\xc2" , "\xa6\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x4c\xf0\xe3\xe0" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x4c\xe7\xd2\x60\xe0" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x24\xcb\xe0\xbc\xd4" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x4c\xca\xe0\xd4" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x4c\xcb\xe0\xd4" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\x4c\xf5\xd9" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x4c\xf5\xe0\xd1" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x4c\xf6\xe5\xe0\xd5" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\xd2\x4c\xf5\xd8" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x4c\xed\xe0" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x4c\xed\xe0\xd5" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x4c\xed\xe0\xd0" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x4c\xed\xe0\xd0\xd5" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x4c\xee\xe3\xe0" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\xd2\x4c\xed\xe0" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\xd2\x4c\xed\xd8" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\xd2\x4c\xed\xe0\xd0" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x4c\xe7\x67\xe0\xd5" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\x4c\xe7\x67\xd9" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x4c\xe7\xd2\x67\xe0" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x6c\xe0" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x6c\xe0\xd0" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\xd2\x6c\xd8" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x6c\xe0\xd4" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\xd2\x6c\xe0\xd4\xd0" } , { "\xcf\xe8\xb3\xe8\xd7" , "\xb5\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\xb5\xe0\xc6\xd0" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\xb5\xd9\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\xb5\xca\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\xb5\xe0\xe7\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\x4c\xe7\xb2\xd9\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x4c\xe7\x6a\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xb5\xf0\xe3\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\xb5\xee\xe3\xe0\xc6" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x4c\xe7\x6a\xe7\x67\xca\xe0" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x4c\xe7\x6a\xe7\x68\xe0\xd0" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\x65\xe7\xfe\x4c\xe7\x6a\xe7\xbd\xca\xa4" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\x4c\xe7\x6b\xd9\xfe" } , { "\xcf\xe8\xb3\xe9" , "\x4c\xe0" } , { "\xcf\xe8\xb4" , "\x4d\xe0" } , { "\xcf\xe8\xb4\xa2" , "\x4d\xe0\xd5" } , { "\xcf\xe8\xb4\xda" , "\x4d\xe0\xd0" } , { "\xcf\xe8\xb4\xdb" , "\x4d\xd9" } , { "\xcf\xe8\xb4\xdc" , "\x4d\xe0\xd1" } , { "\xcf\xe8\xb4\xdd" , "\x4d\xca\xe0" } , { "\xcf\xe8\xb4\xe2" , "\xd2\x4d\xd8" } , { "\xcf\xe8\xb4\xe4" , "\xd2\x4d\xe0\xd0" } , { "\xcf\xe8\xb4\xe5" , "\xd2\x4d\xe0\xd0" } , { "\xcf\xe8\xb4\xe5\xa2" , "\xd2\x4d\xe0\xd0\xd5" } , { "\xcf\xe8\xb5" , "\x4e\xe0" } , { "\xcf\xe8\xb5\xa2" , "\x4e\xe0\xd5" } , { "\xcf\xe8\xb5\xa3" , "\x4e\xe0\xd3" } , { "\xcf\xe8\xb5\xda" , "\x4e\xe0\xd0" } , { "\xcf\xe8\xb5\xda\xa2" , "\x4e\xe0\xd0\xd5" } , { "\xcf\xe8\xb5\xda\xa3" , "\x4e\xe0\xd0\xd3" } , { "\xcf\xe8\xb5\xdb" , "\x4e\xd9" } , { "\xcf\xe8\xb5\xdb\xa2" , "\x4e\xd9\xd5" } , { "\xcf\xe8\xb5\xdc" , "\x4e\xe0\xd1" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x4e\xe0\xd1\xd5" } , { "\xcf\xe8\xb5\xdd" , "\x4e\xca\xe0" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x4e\xca\xe0\xd5" } , { "\xcf\xe8\xb5\xde" , "\x4e\xcb\xe0" } , { "\xcf\xe8\xb5\xe0" , "\xd2\x4e\xe0" } , { "\xcf\xe8\xb5\xe1" , "\xd2\x4e\xe0" } , { "\xcf\xe8\xb5\xe2" , "\xd2\x4e\xd8" } , { "\xcf\xe8\xb5\xe2\xa3" , "\xd2\x4e\xd8\xd3" } , { "\xcf\xe8\xb5\xe4" , "\xd2\x4e\xe0\xd0" } , { "\xcf\xe8\xb5\xe5" , "\xd2\x4e\xe0\xd0" } , { "\xcf\xe8\xb5\xe5\xa2" , "\xd2\x4e\xe0\xd0\xd5" } , { "\xcf\xe8\xb5\xe6\xa2" , "\xd2\x4e\xfc\xd5" } , { "\xcf\xe8\xb5\xe8" , "\x4e\xe0\xe7" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\x4e\xe7\x4c\xd9" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x4e\xe7\x55\xe0" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\x4e\xef\xd9" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x4e\xea\xe0" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x4e\xe0\xd4" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x4e\xe0\xd4\xd0" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x4e\xca\xe0\xd4" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x4e\xcb\xe0\xd4" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\xd2\x4e\xe0\xd4\xd0" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x4e\xf5\xe0" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x4e\xf5\xe0\xd5" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x4e\xf5\xe0\xd0" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x4e\xf5\xe0\xd1" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\xd2\x4e\xf5\xe0" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\xd2\x4e\xf5\xe0" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x4e\xee\xe3\xe0" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\xd2\x4e\xed\xe0\xd0" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x4e\xe7\x6a\xe0\xe7" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x4e\xe0\xd1" } , { "\xcf\xe8\xb5\xe9\xe1" , "\xd2\x4e\xe0" } , { "\xcf\xe8\xb6" , "\x4f\xe0" } , { "\xcf\xe8\xb6\xa2" , "\x4f\xe0\xd5" } , { "\xcf\xe8\xb6\xda" , "\x4f\xe0\xd0" } , { "\xcf\xe8\xb6\xda\xa2" , "\x4f\xe0\xd0\xd5" } , { "\xcf\xe8\xb6\xdb" , "\x4f\xd9" } , { "\xcf\xe8\xb6\xdc" , "\x4f\xe0\xd1" } , { "\xcf\xe8\xb6\xdd" , "\x4f\xca\xe0" } , { "\xcf\xe8\xb6\xde" , "\x4f\xcb\xe0" } , { "\xcf\xe8\xb6\xe5" , "\xd2\x4f\xe0\xd0" } , { "\xcf\xe8\xb6\xe8" , "\x4f\xe0\xe7" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x4f\xe0\xd4" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x4f\xe0\xd5\xd4" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x4f\xe0\xd4\xd0" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\xd2\x4f\xd8\xd4" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x4f\xe7\x67\xe0" } , { "\xcf\xe8\xb7" , "\x50\xe0\xbc" } , { "\xcf\xe8\xb7\xa2" , "\x50\xe0\xbc\xbc\xd5" } , { "\xcf\xe8\xb7\xdd" , "\x50\xca\xe0\xbc" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x3d\xe0\xbc" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x50\xe0\xbc\xd4" } , { "\xcf\xe8\xb8" , "\x51\xe0" } , { "\xcf\xe8\xb8\xa2" , "\x51\xe0\xd5" } , { "\xcf\xe8\xb8\xda" , "\x51\xe0\xd0" } , { "\xcf\xe8\xb8\xda\xa2" , "\x51\xe0\xd0\xd5" } , { "\xcf\xe8\xb8\xdb" , "\x51\xd9" } , { "\xcf\xe8\xb8\xdb\xa2" , "\x51\xd9\xd5" } , { "\xcf\xe8\xb8\xdc" , "\x51\xe0\xd1" } , { "\xcf\xe8\xb8\xdd" , "\x51\xca\xe0" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x51\xca\xe0\xd5" } , { "\xcf\xe8\xb8\xde" , "\x51\xcb\xe0" } , { "\xcf\xe8\xb8\xe0" , "\xd2\x51\xe0" } , { "\xcf\xe8\xb8\xe0\xa2" , "\xd2\x51\xe0\xd5" } , { "\xcf\xe8\xb8\xe1" , "\xd2\x51\xe0" } , { "\xcf\xe8\xb8\xe1\xa2" , "\xd2\x51\xe0\xd5" } , { "\xcf\xe8\xb8\xe2" , "\xd2\x51\xd8" } , { "\xcf\xe8\xb8\xe4" , "\xd2\x51\xe0\xd0" } , { "\xcf\xe8\xb8\xe4\xa2" , "\xd2\x51\xe0\xd0\xd5" } , { "\xcf\xe8\xb8\xe5" , "\xd2\x51\xe0\xd0" } , { "\xcf\xe8\xb8\xe5\xa2" , "\xd2\x51\xe0\xd0\xd5" } , { "\xcf\xe8\xb8\xe6" , "\xd2\x51\xfc" } , { "\xcf\xe8\xb8\xe8" , "\x51\xe0\xe7" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x51\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x51\xe7\x4e\xf5\xe0\xd0" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\xd2\x6e\xe0" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x6f\xe0" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x6f\xe0\xd0" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\x6f\xd9" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\x51\xf0\xd9" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x51\xf0\xe3\xe0\xd5" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x51\xe7\x24\xe0\xbc\xd0" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x51\xeb\xe0\xd1" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x51\xee\xe0" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\xd2\x51\xee\xe0" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\xd2\x51\xee\xe0\xd0" } , { "\xcf\xe8\xb9" , "\x52\xe0" } , { "\xcf\xe8\xb9\xa2" , "\x52\xe0\xd5" } , { "\xcf\xe8\xb9\xda" , "\x52\xe0\xd0" } , { "\xcf\xe8\xb9\xdb" , "\x52\xd9" } , { "\xcf\xe8\xb9\xdb\xa2" , "\x52\xd9\xd5" } , { "\xcf\xe8\xb9\xdc" , "\x52\xe0\xd1" } , { "\xcf\xe8\xb9\xdd" , "\x52\xca\xe0" } , { "\xcf\xe8\xb9\xe1" , "\xd2\x52\xe0" } , { "\xcf\xe8\xb9\xe1\xa2" , "\xd2\x52\xe0\xd5" } , { "\xcf\xe8\xb9\xe4" , "\xd2\x52\xe0\xd0" } , { "\xcf\xe8\xb9\xe5\xa2" , "\xd2\x52\xe0\xd0\xd5" } , { "\xcf\xe8\xba" , "\x53\xe0" } , { "\xcf\xe8\xba\xa2" , "\x53\xe0\xd5" } , { "\xcf\xe8\xba\xda" , "\x53\xe0\xd0" } , { "\xcf\xe8\xba\xda\xa2" , "\x53\xe0\xd0\xd5" } , { "\xcf\xe8\xba\xdb" , "\x53\xd9" } , { "\xcf\xe8\xba\xdb\xa2" , "\x53\xd9\xd5" } , { "\xcf\xe8\xba\xdc" , "\x53\xe0\xd1" } , { "\xcf\xe8\xba\xdc\xa2" , "\x53\xe0\xd1\xd5" } , { "\xcf\xe8\xba\xdd" , "\x53\xca\xe0" } , { "\xcf\xe8\xba\xdd\xa2" , "\x53\xca\xe0\xd5" } , { "\xcf\xe8\xba\xde" , "\x53\xcb\xe0" } , { "\xcf\xe8\xba\xe0" , "\xd2\x53\xe0" } , { "\xcf\xe8\xba\xe0\xa2" , "\xd2\x53\xe0\xd5" } , { "\xcf\xe8\xba\xe1" , "\xd2\x53\xe0" } , { "\xcf\xe8\xba\xe1\xa2" , "\xd2\x53\xe0\xd5" } , { "\xcf\xe8\xba\xe2" , "\xd2\x53\xd8" } , { "\xcf\xe8\xba\xe5" , "\xd2\x53\xe0\xd0" } , { "\xcf\xe8\xba\xe5\xa2" , "\xd2\x53\xe0\xd0\xd5" } , { "\xcf\xe8\xba\xe8" , "\x53\xe0\xe7" } , { "\xcf\xe8\xba\xe8\xb5" , "\x53\xe7\x4e\xe0" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x53\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xba\xe8\xb6" , "\x53\xe7\x4f\xe0" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x73\xe0\xd0" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\xd2\x73\xe0" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x53\xe7\x56\xe0\xd0\xd5" } , { "\xcf\xe8\xba\xe8\xbf" , "\x53\xe7\x58\xe0" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x53\xe7\x58\xe0\xe7" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x53\xea\xe0\xd0" } , { "\xcf\xe8\xba\xe8\xcd" , "\x53\xe0\xd4" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x53\xe0\xd5\xd4" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x53\xe0\xd4\xd0" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\xd2\x53\xe0\xd4\xd0" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x53\xee\xe3\xe0" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\xd2\x53\xed\xe0\xd0" } , { "\xcf\xe8\xba\xe8\xd4" , "\x53\xe7\x67\xe0" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x53\xe7\xd2\xb2\xc6\xe0" } , { "\xcf\xe8\xba\xe9" , "\x53\xe0" } , { "\xcf\xe8\xba\xe9\xda" , "\x53\xe0\xd0" } , { "\xcf\xe8\xba\xe9\xdc" , "\x53\xe0\xd1" } , { "\xcf\xe8\xba\xe9\xdd" , "\x53\xca\xe0" } , { "\xcf\xe8\xba\xe9\xe1" , "\xd2\x53\xe0" } , { "\xcf\xe8\xba\xe9\xe5" , "\xd2\x53\xe0\xd0" } , { "\xcf\xe8\xbb" , "\x54\xe0\xfe" } , { "\xcf\xe8\xbb\xda" , "\x54\xe0\xfe\xd0" } , { "\xcf\xe8\xbb\xdb" , "\x54\xd9\xfe" } , { "\xcf\xe8\xbb\xdd" , "\x54\xca\xe0\xfe" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x54\xe7\xfe\x6b\xe0\xfe" } , { "\xcf\xe8\xbc\xe1" , "\xd2\x55\xe0" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x55\xe7\x4e\xe0" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x55\xe7\xd2\x58\xe0" } , { "\xcf\xe8\xbd" , "\x56\xe0" } , { "\xcf\xe8\xbd\xa2" , "\x56\xe0\xd5" } , { "\xcf\xe8\xbd\xda" , "\x56\xe0\xd0" } , { "\xcf\xe8\xbd\xdb" , "\x56\xd9" } , { "\xcf\xe8\xbd\xdb\xa2" , "\x56\xd9\xd5" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\x56\xd9\x6d\xe7\xfe" } , { "\xcf\xe8\xbd\xdc" , "\x56\xe0\xd1" } , { "\xcf\xe8\xbd\xdd" , "\x56\xca\xe0" } , { "\xcf\xe8\xbd\xde" , "\x56\xcb\xe0" } , { "\xcf\xe8\xbd\xe0" , "\xd2\x56\xe0" } , { "\xcf\xe8\xbd\xe0\xa2" , "\xd2\x56\xe0\xd5" } , { "\xcf\xe8\xbd\xe1" , "\xd2\x56\xe0" } , { "\xcf\xe8\xbd\xe1\xa2" , "\xd2\x56\xe0\xd5" } , { "\xcf\xe8\xbd\xe2" , "\xd2\x56\xd8" } , { "\xcf\xe8\xbd\xe4" , "\xd2\x56\xe0\xd0" } , { "\xcf\xe8\xbd\xe5" , "\xd2\x56\xe0\xd0" } , { "\xcf\xe8\xbd\xe5\xa2" , "\xd2\x56\xe0\xd0\xd5" } , { "\xcf\xe8\xbd\xe8" , "\x56\xe0\xe7" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\x56\xe7\x4c\xd9" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x56\xe7\x4c\xca\xe0" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x56\xe7\xd2\x4c\xe0" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x56\xe7\xd2\x4c\xed\xe0" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x56\xe7\xd2\x4e\xe0" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x4e\xe0\xd4\xd0" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x56\xe7\xd2\x51\xe0" } , { "\xcf\xe8\xbd\xe8\xba" , "\x56\xe7\x53\xe0" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x56\xe7\xd2\x53\xe0" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x56\xe7\xd2\x53\xd8" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x56\xe7\x53\xe0\xe7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x56\xe7\x53\xe7\x4c\xe0" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x56\xe7\x53\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x56\xe7\xd2\x53\xf1\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x56\xe7\x53\xf0\xe3\xe0" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x56\xe7\x53\xed\xe0" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\xd2\x70\xd8" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\xd2\x70\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x56\xe7\x58\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x56\xe7\x5e\xe0" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\x56\xf0\xd9" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x56\xf0\xe0\xd1" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x56\xf0\xe3\xe0\xd5" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x56\xf0\xe5\xe0" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x56\xe7\x60\xe0" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x56\xe7\x60\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x56\xe7\xd2\x60\xe0" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x56\xe7\x24\xe0\xbc\xd0" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\x56\xe7\x24\xd9\xbc" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x56\xe7\xd2\x24\xbc\xe0" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\xd2\x56\xe9\xcd\xe0" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\xd2\x56\xe9\xcd\xd8" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\xd2\x56\xe9\xcd\xfc" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\x56\xeb\xd9" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x56\xeb\xe0\xd1" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\xd2\x56\xeb\xe0\xd5" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\xd2\x56\xeb\xfc" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x56\xca\xe0\xd4" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x56\xcb\xe0\xd4" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x56\xf6\xe0" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x56\xf6\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\x56\xf6\xd9" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x56\xf6\xe0\xd1" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\xd2\x56\xf6\xe0" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\xd2\x56\xf6\xe0" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\xd2\x56\xf6\xd8" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x56\xf6\xe0\xe7" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x56\xee\xe0" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x56\xee\xe0\xd0\xd5" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x56\xee\xe3\xe0" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\xd2\x56\xee\xe0" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\xd2\x56\xee\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\xd2\x56\xee\xe0\xd0\xd5" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x56\xee\xe0\xd4\xd0\xd5" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x56\xe7\x67\xe0" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x56\xe7\xd2\x67\xe0" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x56\xe7\x6a\xe0" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\x56\xe7\x6a\xd9" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x56\xe7\x6a\xca\xe0" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x56\xe7\xd2\x6a\xe0" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x56\xe7\xd2\x6a\xe0\xd5" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x56\xe7\x6a\xe0\xe7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x56\xe7\xb2\xe0\xc6\xd0" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\x65\xe7\xfe\x56\xe7\x6a\xe7\x4c\xe7\x67\xde" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x56\xe7\x6a\xea\xe0" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x56\xe7\xd2\x6a\xed\xe0\xd0" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x56\xe7\x6b\xe0\xfe\xd0" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x56\xe7\x6b\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\x56\xe7\x6b\xd9\xd5\xfe" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x56\xe7\x6b\xcb\xe0\xfe" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x56\xe7\xd2\x6b\xe0\xfe\xd0" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x56\xe7\xe0\x6a" } , { "\xcf\xe8\xbf" , "\x58\xe0" } , { "\xcf\xe8\xbf\xda" , "\x58\xe0\xd0" } , { "\xcf\xe8\xbf\xda\xa2" , "\x58\xe0\xd0\xd5" } , { "\xcf\xe8\xbf\xdb" , "\x58\xd9" } , { "\xcf\xe8\xbf\xdb\xa2" , "\x58\xd9\xd5" } , { "\xcf\xe8\xbf\xdc" , "\x58\xe0\xd1" } , { "\xcf\xe8\xbf\xdd" , "\x58\xca\xe0" } , { "\xcf\xe8\xbf\xde" , "\x58\xcb\xe0" } , { "\xcf\xe8\xbf\xe0" , "\xd2\x58\xe0" } , { "\xcf\xe8\xbf\xe0\xa2" , "\xd2\x58\xe0\xd5" } , { "\xcf\xe8\xbf\xe1" , "\xd2\x58\xe0" } , { "\xcf\xe8\xbf\xe2" , "\xd2\x58\xd8" } , { "\xcf\xe8\xbf\xe4" , "\xd2\x58\xe0\xd0" } , { "\xcf\xe8\xbf\xe5" , "\xd2\x58\xe0\xd0" } , { "\xcf\xe8\xbf\xe5\xa2" , "\xd2\x58\xe0\xd0\xd5" } , { "\xcf\xe8\xbf\xe8" , "\x58\xe0\xe7" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x58\xe7\x4c\xe0" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\x58\xe7\x4c\xd9" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x58\xe7\x4c\xe0\xd1" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x58\xe7\x4c\xca\xe0" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x58\xe7\xd2\x4c\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x58\xe7\xd2\x4c\xed\xd8" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x94\xe0\xc6\xd0" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x94\xcd\xe0\xc6\xd1" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x58\xe7\xd2\x51\xe0" } , { "\xcf\xe8\xbf\xe8\xbf" , "\xc5\xe0\xa4" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\xc5\xd9\xa4" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\x58\xf0\xd9" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x58\xf0\xe3\xe0" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\xd2\x58\xf0\xe0" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x58\xe9\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\xd2\x58\xe9\xe0" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\xd2\x58\xe9\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\xd2\x58\xe9\xcd\xd8" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\x58\xeb\xd9\xd5" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\xd2\x58\xeb\xe0" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x58\xe0\xd4" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x58\xe0\xd5\xd4" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x58\xe0\xd4\xd0\xd5" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x58\xcb\xe0\xd4" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\xd2\x58\xe0\xd4\xd0" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x58\xf6\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\x58\xf6\xd9" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x58\xf6\xe3\xe0" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\xd2\x58\xf6\xe0" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x58\xee\xe0" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x58\xee\xe0\xd1" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x58\xee\xe3\xe0" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\xd2\x58\xee\xd8" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\xd2\x58\xee\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x58\xe7\x67\xe0" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x58\xe7\xd2\x67\xe0" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x58\xe7\xd2\x67\xd8" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x58\xe7\x69\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x58\xe7\x6a\xe0" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x58\xe7\x6a\xca\xe0" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x58\xe7\xd2\x6a\xe0\xd0" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x58\xe7\x6a\xe0\xe7" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x58\xe7\x6a\xe7\x56\xd9" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x58\xe7\x6a\xe7\xd2\x56\xe0" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x58\xe7\x6a\xe7\xd2\x67\xe0" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x58\xe7\xd2\x6b\xfe\xe0" } , { "\xcf\xe8\xbf\xe9" , "\x58\xe0" } , { "\xcf\xe8\xbf\xe9\xe1" , "\xd2\x58\xe0" } , { "\xcf\xe8\xbf\xe9\xe5" , "\xd2\x58\xe0\xd0" } , { "\xcf\xe8\xc0" , "\x59\xe0" } , { "\xcf\xe8\xc0\xda" , "\x59\xe0\xd0" } , { "\xcf\xe8\xc0\xdd" , "\x59\xca\xe0" } , { "\xcf\xe8\xc0\xe8" , "\x59\xe0\xe7" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x59\xe0\xd4" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x59\xe0\xd5\xd4" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x59\xe0\xd4\xd0" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x59\xe7\x6a\xca\xe0" } , { "\xcf\xe8\xc1" , "\x5a\xe0" } , { "\xcf\xe8\xc1\xa1" , "\x5a\x99" } , { "\xcf\xe8\xc1\xa2" , "\x5a\xe0\xd5" } , { "\xcf\xe8\xc1\xa3" , "\x5a\xe0\xd3" } , { "\xcf\xe8\xc1\xda" , "\x5a\xe0\xd0" } , { "\xcf\xe8\xc1\xda\xa2" , "\x5a\xe0\xd0\xd5" } , { "\xcf\xe8\xc1\xda\xa3" , "\x5a\xe0\xd0\xd3" } , { "\xcf\xe8\xc1\xdb" , "\x5a\xd9" } , { "\xcf\xe8\xc1\xdb\xa2" , "\x5a\xd9\xd5" } , { "\xcf\xe8\xc1\xdc" , "\x5a\xe0\xd1" } , { "\xcf\xe8\xc1\xdd" , "\x5a\xca\xe0" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x5a\xca\xe0\xd5" } , { "\xcf\xe8\xc1\xe0\xa2" , "\xd2\x5a\xe0\xd5" } , { "\xcf\xe8\xc1\xe0\xa3" , "\xd2\x5a\xe0\xd3" } , { "\xcf\xe8\xc1\xe1" , "\xd2\x5a\xe0" } , { "\xcf\xe8\xc1\xe5" , "\xd2\x5a\xe0\xd0" } , { "\xcf\xe8\xc1\xe5\xa2" , "\xd2\x5a\xe0\xd0\xd5" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x5a\xe7\x51\xca\xe0" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x5a\xe0\xd4" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x5a\xe0\xd5\xd4" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x5a\xe0\xd4\xd0" } , { "\xcf\xe8\xc2" , "\x5b\xe0" } , { "\xcf\xe8\xc2\xa2" , "\x5b\xe0\xd5" } , { "\xcf\xe8\xc2\xda" , "\x5b\xe0\xd0" } , { "\xcf\xe8\xc2\xda\xa2" , "\x5b\xe0\xd0\xd5" } , { "\xcf\xe8\xc2\xdb" , "\x5b\xd9" } , { "\xcf\xe8\xc2\xdb\xa2" , "\x5b\xd9\xd5" } , { "\xcf\xe8\xc2\xdb\xa3" , "\x5b\xd9\xd3" } , { "\xcf\xe8\xc2\xdc" , "\x5b\xe0\xd1" } , { "\xcf\xe8\xc2\xdd" , "\x5b\xca\xe0" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x5b\xca\xe0\xd5" } , { "\xcf\xe8\xc2\xde" , "\x5b\xcb\xe0" } , { "\xcf\xe8\xc2\xde\xa2" , "\x5b\xcb\xe0\xd5" } , { "\xcf\xe8\xc2\xdf" , "\x5b\xf3\xe0" } , { "\xcf\xe8\xc2\xe0" , "\xd2\x5b\xe0" } , { "\xcf\xe8\xc2\xe1" , "\xd2\x5b\xe0" } , { "\xcf\xe8\xc2\xe1\xa2" , "\xd2\x5b\xe0\xd5" } , { "\xcf\xe8\xc2\xe2" , "\xd2\x5b\xd8" } , { "\xcf\xe8\xc2\xe4" , "\xd2\x5b\xe0\xd0" } , { "\xcf\xe8\xc2\xe5" , "\xd2\x5b\xe0\xd0" } , { "\xcf\xe8\xc2\xe5\xa2" , "\xd2\x5b\xe0\xd0\xd5" } , { "\xcf\xe8\xc2\xe6" , "\xd2\x5b\xfc" } , { "\xcf\xe8\xc2\xe8" , "\x5b\xe0\xe7" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\xd2\x4c\xfa\xe0\xd0" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x5b\xe7\xd2\x58\xe0" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x72\xe0\xfe" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x72\xe0\xfe\xd0" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\x72\xd9\xfe" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x72\xe0\xfe\xd1" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\xd2\x72\xfe\xe0" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\xd2\x72\xe0\xfe\xd0" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x5b\xe7\x5b\xe7\x67\xe0" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x5b\xe7\xd2\x5c\xe0" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x5b\xeb\xe0" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x5b\xe0\xd4" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x5b\xe0\xd5\xd4" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x5b\xe0\xd4\xd0" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x5b\xca\xe0\xd4" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\xd2\x5b\xe0\xd4\xd0\xd5" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x5b\xf6\xe0" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x5b\xf6\xe0\xd5" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\x5b\xf6\xd9" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x5b\xf6\xe0\xd1" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\xd2\x5b\xf6\xe0" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\xd2\x5b\xf6\xd8" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\xd2\x5b\xf6\xe0\xd0" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\xd2\x5b\xf6\xe0\xd0" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\xd2\x5b\xee\xe0" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x5b\xe7\x67\xe0" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\x5b\xe7\x67\xd9" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x5b\xe7\xd2\x67\xd8" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x97\xe0" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\xd2\x97\xfc" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x97\xe0\xe7" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\x65\xe7\xfe\x5b\xe7\x6a\xef\xd4" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x97\xe0\xd4" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x97\xe0\xd5\xd4" } , { "\xcf\xe8\xc3" , "\x5c\xe0" } , { "\xcf\xe8\xc3\xa1" , "\x5c\x99" } , { "\xcf\xe8\xc3\xa2" , "\x5c\xe0\xd5" } , { "\xcf\xe8\xc3\xa3" , "\x5c\xe0\xd3" } , { "\xcf\xe8\xc3\xda" , "\x5c\xe0\xd0" } , { "\xcf\xe8\xc3\xda\xa2" , "\x5c\xe0\xd0\xd5" } , { "\xcf\xe8\xc3\xdb" , "\x5c\xd9" } , { "\xcf\xe8\xc3\xdb\xa2" , "\x5c\xd9\xd5" } , { "\xcf\xe8\xc3\xdc" , "\x5c\xe0\xd1" } , { "\xcf\xe8\xc3\xdd" , "\x5c\xca\xe0" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x5c\xca\xe0\xd5" } , { "\xcf\xe8\xc3\xde" , "\x5c\xcb\xe0" } , { "\xcf\xe8\xc3\xe1" , "\xd2\x5c\xe0" } , { "\xcf\xe8\xc3\xe2" , "\xd2\x5c\xd8" } , { "\xcf\xe8\xc3\xe5" , "\xd2\x5c\xe0\xd0" } , { "\xcf\xe8\xc3\xe5\xa2" , "\xd2\x5c\xe0\xd0\xd5" } , { "\xcf\xe8\xc3\xe6" , "\xd2\x5c\xfc" } , { "\xcf\xe8\xc3\xe8" , "\x5c\xe0\xe7" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x5c\xe7\xd2\x51\xe0" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x5c\xf7\xe0\xd0" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x5c\xe0\xd4" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x5c\xe0\xd5\xd4" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x5c\xe0\xd4\xd0" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x5c\xca\xe0\xd4" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\xd2\x5c\xe0\xd4\xd0\xd5" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\xd2\x5c\xd4\xfc" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x5c\xf5\xe0" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x5c\xf5\xe0\xd0" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\xd2\x5c\xf5\xe0\xd0" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x5c\xe7\x67\xe0" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x5c\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x5c\xe7\x6a\xe7\xd2\x56\xe0" } , { "\xcf\xe8\xc4" , "\x5d\xe0" } , { "\xcf\xe8\xc4\xa2" , "\x5d\xe0\xd5" } , { "\xcf\xe8\xc4\xa3" , "\x5d\xe0\xd3" } , { "\xcf\xe8\xc4\xda" , "\x5d\xe0\xd0" } , { "\xcf\xe8\xc4\xda\xa2" , "\x5d\xe0\xd0\xd5" } , { "\xcf\xe8\xc4\xdb" , "\x5d\xd9" } , { "\xcf\xe8\xc4\xdb\xa2" , "\x5d\xd9\xd5" } , { "\xcf\xe8\xc4\xdc" , "\x5d\xe0\xd1" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x5d\xe0\xd1\xd5" } , { "\xcf\xe8\xc4\xdd" , "\x5d\xca\xe0" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x5d\xca\xe0\xd5" } , { "\xcf\xe8\xc4\xde" , "\x5d\xcb\xe0" } , { "\xcf\xe8\xc4\xdf" , "\x5d\xf3\xe0" } , { "\xcf\xe8\xc4\xe0" , "\xd2\x5d\xe0" } , { "\xcf\xe8\xc4\xe1" , "\xd2\x5d\xe0" } , { "\xcf\xe8\xc4\xe1\xa2" , "\xd2\x5d\xe0\xd5" } , { "\xcf\xe8\xc4\xe2" , "\xd2\x5d\xd8" } , { "\xcf\xe8\xc4\xe4" , "\xd2\x5d\xe0\xd0" } , { "\xcf\xe8\xc4\xe5" , "\xd2\x5d\xe0\xd0" } , { "\xcf\xe8\xc4\xe5\xa2" , "\xd2\x5d\xe0\xd0\xd5" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x7e\xe0" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x7e\xe0\xd0\xd5" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x77\xe0" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x77\xe0\xd0" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x77\xe0\xd0\xd5" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\x77\xd9" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\xd2\x77\xe0\xd0\xd5" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\xd2\x5d\xeb\xe0" } , { "\xcf\xe8\xc4\xe8\xcd" , "\x5d\xe0\xd4" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\x5d\xe0\xd5\xd4" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\x5d\xe0\xd4\xd0" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x5d\xf6\xe0" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x5d\xf6\xe0\xd5" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x5d\xf6\xe0\xd0" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x5d\xf6\xe0\xd1" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\xd2\x5d\xf6\xe0\xd0" } , { "\xcf\xe8\xc4\xe8\xd4" , "\x5d\xe7\x67\xe0" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\x5d\xe7\x67\xe0\xd5" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\x5d\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\x5d\xe7\xbd\xd9\xa4" } , { "\xcf\xe8\xc5" , "\x5e\xe0" } , { "\xcf\xe8\xc5\xa2" , "\x5e\xe0\xd5" } , { "\xcf\xe8\xc5\xda" , "\x5e\xe0\xd0" } , { "\xcf\xe8\xc5\xda\xa2" , "\x5e\xe0\xd0\xd5" } , { "\xcf\xe8\xc5\xdb" , "\x5e\xd9" } , { "\xcf\xe8\xc5\xdb\xa2" , "\x5e\xd9\xd5" } , { "\xcf\xe8\xc5\xdc" , "\x5e\xe0\xd1" } , { "\xcf\xe8\xc5\xdd" , "\x5e\xca\xe0" } , { "\xcf\xe8\xc5\xde" , "\x5e\xcb\xe0" } , { "\xcf\xe8\xc5\xdf" , "\x5e\xf3\xe0" } , { "\xcf\xe8\xc5\xe0" , "\xd2\x5e\xe0" } , { "\xcf\xe8\xc5\xe1" , "\xd2\x5e\xe0" } , { "\xcf\xe8\xc5\xe5" , "\xd2\x5e\xe0\xd0" } , { "\xcf\xe8\xc5\xe5\xa2" , "\xd2\x5e\xe0\xd0\xd5" } , { "\xcf\xe8\xc5\xe8" , "\x5e\xe0\xe7" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x5e\xe7\x5d\xe0" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x5e\xe7\x5d\xe0\xd0" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x5e\xe7\x5d\xe0\xd0\xd5" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\x5e\xef\xd9" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\xd2\x5e\xea\xe0" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x5e\xe0\xd4" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x5e\xe0\xd5\xd4" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x5e\xe0\xd4\xd0" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\xd2\x5e\xe0\xd4\xd0\xd5" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x5e\xf5\xe0" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x5e\xf5\xe0\xd0" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\xd2\x5e\xf5\xd4\xe0" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x5e\xe7\x67\xe0" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x5e\xe7\x67\xe0\xd5" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x5e\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x5e\xe7\x67\xe0\xd0\xd5" } , { "\xcf\xe8\xc6" , "\x5f\xe0" } , { "\xcf\xe8\xc6\xa2" , "\x5f\xe0\xd5" } , { "\xcf\xe8\xc6\xda" , "\x5f\xe0\xd0" } , { "\xcf\xe8\xc6\xda\xa2" , "\x5f\xe0\xd0\xd5" } , { "\xcf\xe8\xc6\xdb" , "\x5f\xd9" } , { "\xcf\xe8\xc6\xdb\xa2" , "\x5f\xd9\xd5" } , { "\xcf\xe8\xc6\xdc" , "\x5f\xe0\xd1" } , { "\xcf\xe8\xc6\xdd" , "\x5f\xca\xe0" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x5f\xca\xe0\xd5" } , { "\xcf\xe8\xc6\xde" , "\x5f\xcb\xe0" } , { "\xcf\xe8\xc6\xdf" , "\x5f\xf3\xe0" } , { "\xcf\xe8\xc6\xe0" , "\xd2\x5f\xe0" } , { "\xcf\xe8\xc6\xe0\xa2" , "\xd2\x5f\xe0\xd5" } , { "\xcf\xe8\xc6\xe1" , "\xd2\x5f\xe0" } , { "\xcf\xe8\xc6\xe1\xa2" , "\xd2\x5f\xe0\xd5" } , { "\xcf\xe8\xc6\xe2" , "\xd2\x5f\xd8" } , { "\xcf\xe8\xc6\xe4" , "\xd2\x5f\xe0\xd0" } , { "\xcf\xe8\xc6\xe5" , "\xd2\x5f\xe0\xd0" } , { "\xcf\xe8\xc6\xe5\xa2" , "\xd2\x5f\xe0\xd0\xd5" } , { "\xcf\xe8\xc6\xe8" , "\x5f\xe0\xe7" } , { "\xcf\xe8\xc6\xe8\xbf" , "\x5f\xe7\x58\xe0" } , { "\xcf\xe8\xc6\xe8\xc2" , "\xab\xe0\xc6" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\xd2\x74\xe0" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x5f\xf0\xe5\xe0" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\x5f\xe7\x60\xcb\xe0" } , { "\xcf\xe8\xc6\xe8\xca" , "\x5f\xe8\xe0" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\xd2\x5f\xe8\xe0" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xd2\x5f\xe8\xe2\xe0\xd5" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x5f\xea\xe0\xd0" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\xd2\x5f\xea\xe0\xd5" } , { "\xcf\xe8\xc6\xe8\xd1" , "\x5f\xed\xe0" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\x5f\xee\xe3\xe0" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\xd2\x5f\xed\xe0" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\xd2\x5f\xed\xe0\xd0" } , { "\xcf\xe8\xc6\xe8\xd4" , "\x5f\xe7\x67\xe0" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\x5f\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xc6\xe8\xd7" , "\x5f\xe7\x6a\xe0" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\x5f\xe7\x6a\xe0\xe7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\x5f\xe7\xb2\xe0\xc6" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x5f\xe7\x6a\xe7\x56\xe0\xd0" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x5f\xe7\x6a\xe7\xd2\x56\xe0" } , { "\xcf\xe8\xc6\xe8\xd8" , "\x5f\xe7\x6b\xe0\xfe" } , { "\xcf\xe8\xc8" , "\x60\xe0" } , { "\xcf\xe8\xc8\xa2" , "\x60\xe0\xd5" } , { "\xcf\xe8\xc8\xda" , "\x60\xe0\xd0" } , { "\xcf\xe8\xc8\xda\xa2" , "\x60\xe0\xd0\xd5" } , { "\xcf\xe8\xc8\xdb" , "\x60\xd9" } , { "\xcf\xe8\xc8\xdb\xa2" , "\x60\xd9\xd5" } , { "\xcf\xe8\xc8\xdc" , "\x60\xe0\xd1" } , { "\xcf\xe8\xc8\xdd" , "\x60\xca\xe0" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x60\xca\xe0\xd5" } , { "\xcf\xe8\xc8\xde" , "\x60\xcb\xe0" } , { "\xcf\xe8\xc8\xe0" , "\xd2\x60\xe0" } , { "\xcf\xe8\xc8\xe0\xa2" , "\xd2\x60\xe0\xd5" } , { "\xcf\xe8\xc8\xe1" , "\xd2\x60\xe0" } , { "\xcf\xe8\xc8\xe1\xa2" , "\xd2\x60\xe0\xd5" } , { "\xcf\xe8\xc8\xe2" , "\xd2\x60\xd8" } , { "\xcf\xe8\xc8\xe4" , "\xd2\x60\xe0\xd0" } , { "\xcf\xe8\xc8\xe4\xa2" , "\xd2\x60\xe0\xd0\xd5" } , { "\xcf\xe8\xc8\xe5" , "\xd2\x60\xe0\xd0" } , { "\xcf\xe8\xc8\xe5\xa2" , "\xd2\x60\xe0\xd0\xd5" } , { "\xcf\xe8\xc8\xe8" , "\x60\xe0\xe7" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\x60\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\xd2\xa9\xe0\xc6\xd0" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x60\xf0\xe3\xe0" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\x60\xe0\xd4\xd0" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\x60\xcb\xe0\xd4" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x60\xf5\xe0" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x60\xf5\xe0\xd0" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\x60\xf5\xd9\xd5" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\xd2\x60\xf5\xe0" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\xd2\x60\xf5\xe0\xd5" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\xd2\x60\xf5\xd8" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x60\xed\xe0" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x60\xed\xe0\xd0" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x60\xed\xe0\xd0\xd5" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x60\xee\xe3\xe0" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\xd2\x60\xed\xe0" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\xd2\x60\xed\xe0\xd0" } , { "\xcf\xe8\xc9" , "\x24\xe0\xbc" } , { "\xcf\xe8\xc9\xda" , "\x24\xe0\xbc\xd0" } , { "\xcf\xe8\xc9\xdb" , "\x24\xd9\xbc" } , { "\xcf\xe8\xc9\xdc" , "\x24\xe0\xbc\xd1" } , { "\xcf\xe8\xc9\xdd" , "\x24\xca\xe0\xbc" } , { "\xcf\xe8\xc9\xe0" , "\xd2\x24\xbc\xe0" } , { "\xcf\xe8\xc9\xe1" , "\xd2\x24\xbc\xe0" } , { "\xcf\xe8\xc9\xe2" , "\xd2\x24\xd8\xbc" } , { "\xcf\xe8\xc9\xe5" , "\xd2\x24\xe0\xbc\xd0" } , { "\xcf\xe8\xc9\xe5\xa2" , "\xd2\x24\xe0\xbc\xd0\xbc\xbc\xd5" } , { "\xcf\xe8\xc9\xe8" , "\x24\xe0\xe7\xbc" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x24\xe7\xbc\x4c\xcb\xe0" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x24\xe7\xbc\x58\xe0" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x24\xcb\xe0\xbc\xd4" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x24\xed\xe0\xbc\xd0" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x24\xee\xe5\xe0\xbc" } , { "\xcf\xe8\xc9\xe8\xd4" , "\x24\xe7\xbc\x67\xe0" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\x24\xe7\xbc\xd2\x67\xe0" } , { "\xcf\xe8\xc9\xe9" , "\x24\xe0\xbc" } , { "\xcf\xe8\xc9\xe9\xdc" , "\x24\xe0\xbc\xd1" } , { "\xcf\xe8\xca" , "\x61\xe0" } , { "\xcf\xe8\xca\xa2" , "\x61\xe0\xd5" } , { "\xcf\xe8\xca\xda" , "\x61\xe0\xd0" } , { "\xcf\xe8\xca\xdb" , "\x61\xd9" } , { "\xcf\xe8\xca\xdb\xa2" , "\x61\xd9\xd5" } , { "\xcf\xe8\xca\xdc" , "\x61\xe0\xd1" } , { "\xcf\xe8\xca\xdd" , "\x61\xca\xe0" } , { "\xcf\xe8\xca\xde" , "\x61\xcb\xe0" } , { "\xcf\xe8\xca\xe0" , "\xd2\x61\xe0" } , { "\xcf\xe8\xca\xe0\xa2" , "\xd2\x61\xe0\xd5" } , { "\xcf\xe8\xca\xe1" , "\xd2\x61\xe0" } , { "\xcf\xe8\xca\xe2" , "\xd2\x61\xd8" } , { "\xcf\xe8\xca\xe4" , "\xd2\x61\xe0\xd0" } , { "\xcf\xe8\xca\xe5" , "\xd2\x61\xe0\xd0" } , { "\xcf\xe8\xca\xe5\xa2" , "\xd2\x61\xe0\xd0\xd5" } , { "\xcf\xe8\xca\xe6" , "\xd2\x61\xfc" } , { "\xcf\xe8\xca\xe8" , "\x61\xe0\xe7" } , { "\xcf\xe8\xca\xe8\xbf" , "\x61\xe7\x58\xe0" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\x61\xe7\x5c\xd9" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\x61\xe7\x5f\xee\xe3\xe0" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\x61\xe0\xd4\xd0" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\x61\xca\xe0\xd4" } , { "\xcf\xe8\xca\xe8\xcf" , "\x61\xf6\xe0" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\x61\xf6\xe0\xd0" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\xd2\x61\xf6\xe0\xd0" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\x61\xee\xe0\xe7" } , { "\xcf\xe8\xca\xe8\xd7" , "\x61\xe7\x6a\xe0" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\x61\xe7\x6a\xe0\xe7" } , { "\xcf\xe8\xcb" , "\x62\xe0\xfe" } , { "\xcf\xe8\xcb\xa2" , "\x62\xe0\xd5\xfe" } , { "\xcf\xe8\xcb\xa3" , "\x62\xe0\xfe\xd3" } , { "\xcf\xe8\xcb\xda" , "\x62\xe0\xfe\xd0" } , { "\xcf\xe8\xcb\xda\xa2" , "\x62\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xcb\xdb" , "\x62\xd9\xfe" } , { "\xcf\xe8\xcb\xdb\xa2" , "\x62\xd9\xd5\xfe" } , { "\xcf\xe8\xcb\xdc" , "\x62\xe0\xfe\xd1" } , { "\xcf\xe8\xcb\xdd" , "\x62\xca\xe0\xfe" } , { "\xcf\xe8\xcb\xde" , "\x62\xcb\xe0\xfe" } , { "\xcf\xe8\xcb\xde\xa3" , "\x62\xcb\xe0\xfe\xd3" } , { "\xcf\xe8\xcb\xe1" , "\xd2\x62\xfe\xe0" } , { "\xcf\xe8\xcb\xe5" , "\xd2\x62\xe0\xfe\xd0" } , { "\xcf\xe8\xcb\xe5\xa2" , "\xd2\x62\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xcb\xe6" , "\xd2\x62\xfe\xfc" } , { "\xcf\xe8\xcb\xe8\xcf" , "\x62\xf6\xe0\xfe" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\x62\xf6\xe0\xfe\xd0" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\x62\xe7\xfe\x6a\xe0\xe7" } , { "\xcf\xe8\xcc" , "\x63\xe0" } , { "\xcf\xe8\xcc\xa2" , "\x63\xe0\xd5" } , { "\xcf\xe8\xcc\xa3" , "\x63\xe0\xd3" } , { "\xcf\xe8\xcc\xda" , "\x63\xe0\xd0" } , { "\xcf\xe8\xcc\xda\xa1" , "\x63\x99\xd0" } , { "\xcf\xe8\xcc\xda\xa2" , "\x63\xe0\xd0\xd5" } , { "\xcf\xe8\xcc\xdb" , "\x63\xd9" } , { "\xcf\xe8\xcc\xdb\xa2" , "\x63\xd9\xd5" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\x63\xd9\xd5\xd5" } , { "\xcf\xe8\xcc\xdc" , "\x63\xe0\xd1" } , { "\xcf\xe8\xcc\xdc\xa2" , "\x63\xe0\xd1\xd5" } , { "\xcf\xe8\xcc\xdd" , "\x63\xca\xe0" } , { "\xcf\xe8\xcc\xdd\xa2" , "\x63\xca\xe0\xd5" } , { "\xcf\xe8\xcc\xde" , "\x63\xcb\xe0" } , { "\xcf\xe8\xcc\xe0" , "\xd2\x63\xe0" } , { "\xcf\xe8\xcc\xe0\xa2" , "\xd2\x63\xe0\xd5" } , { "\xcf\xe8\xcc\xe1" , "\xd2\x63\xe0" } , { "\xcf\xe8\xcc\xe1\xa2" , "\xd2\x63\xe0\xd5" } , { "\xcf\xe8\xcc\xe2" , "\xd2\x63\xd8" } , { "\xcf\xe8\xcc\xe4" , "\xd2\x63\xe0\xd0" } , { "\xcf\xe8\xcc\xe5" , "\xd2\x63\xe0\xd0" } , { "\xcf\xe8\xcc\xe5\xa2" , "\xd2\x63\xe0\xd0\xd5" } , { "\xcf\xe8\xcc\xe8" , "\x63\xe0\xe7" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\x63\xe7\x4c\xca\xe0" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\x63\xe7\x4e\xf6\xe3\xe0" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\x63\xe7\xd2\x51\xe0" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\x63\xe7\xd2\x51\xe0\xd0" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\x63\xe7\x56\xd9" } , { "\xcf\xe8\xcc\xe8\xbf" , "\x63\xe7\x58\xe0" } , { "\xcf\xe8\xcc\xe8\xc2" , "\x63\xf1\xe0" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\xd2\x63\xf1\xe0\xd0" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\x63\xef\xe0\xd5" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\x63\xef\xe0\xd0" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\x63\xf0\xe3\xe0" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\x63\xf0\xe3\xe0\xd5" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\x3e\xe0\xbc\xd0" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\x3e\xe0\xbc\xd1" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\x63\xf7\xe0\xd0" } , { "\xcf\xe8\xcc\xe8\xcc" , "\xae\xe0\xa4" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\xae\xe0\xa4\xd0" } , { "\xcf\xe8\xcc\xe8\xcd" , "\x63\xe0\xd4" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\x63\xe0\xd5\xd4" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\x63\xe0\xd4\xd0" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\x63\xca\xe0\xd4" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\xd2\x63\xe0\xd4\xd0" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\xd2\x63\xf5\xe0\xd0" } , { "\xcf\xe8\xcc\xe8\xd1" , "\x63\xed\xe0" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\x63\xee\xe3\xe0" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\xd2\x63\xed\xe0\xd0" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\x63\xe7\x6a\xca\xe0" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\x63\xe7\x6a\xe0\xe7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x65\xe7\xfe\x63\xe7\x6a\xe7\x56\xf6\xd0\xd5" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\x63\xe7\xd2\xaa\xe0\xc6\xd0" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\x63\xe7\x6a\xef\xd9" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\x63\xe7\xb8\xd9\xa4" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\x63\xe7\x6a\xea\xe0\xd0" } , { "\xcf\xe8\xcd" , "\xaf\xe0\xc6" } , { "\xcf\xe8\xcd\xa2" , "\xaf\xe0\xd6\xc6" } , { "\xcf\xe8\xcd\xa3" , "\xaf\xe0\xc6\xd3" } , { "\xcf\xe8\xcd\xda" , "\xaf\xe0\xc6\xd0" } , { "\xcf\xe8\xcd\xda\xa2" , "\xaf\xe0\xc6\xd0\xd6" } , { "\xcf\xe8\xcd\xdb" , "\xaf\xd9\xc6" } , { "\xcf\xe8\xcd\xdc" , "\xaf\xe0\xc6\xd1" } , { "\xcf\xe8\xcd\xdd" , "\xaf\xca\xe0\xc6" } , { "\xcf\xe8\xcd\xdd\xa2" , "\xaf\xca\xe0\xd6\xc6" } , { "\xcf\xe8\xcd\xde" , "\xaf\xcb\xe0\xc6" } , { "\xcf\xe8\xcd\xe1" , "\xd2\xaf\xc6\xe0" } , { "\xcf\xe8\xcd\xe4" , "\xd2\xaf\xe0\xc6\xd0" } , { "\xcf\xe8\xcd\xe5" , "\xd2\xaf\xe0\xc6\xd0" } , { "\xcf\xe8\xcd\xe5\xa2" , "\xd2\xaf\xe0\xc6\xd0\xd6" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\xaf\xe7\xc6\x4c\xcb\xe0" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\xaf\xe7\xc6\x5c\xe0\xd5" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\xaf\xe7\xc6\x5c\xe0\xd0" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\xaf\xe7\xc6\x5d\xe0\xd5" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\xaf\xe7\xc6\x5d\xe0\xd0" } , { "\xcf\xe8\xcd\xe8\xc5" , "\xaf\xe7\xc6\x5e\xe0" } , { "\xcf\xe8\xcd\xe8\xcd" , "\xaf\xe0\xc6\xd4" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\xaf\xe0\xc6\xd4\xd0" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\xaf\xcb\xe0\xc6\xd4" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\xaf\xf6\xe0\xc6\xd4" } , { "\xcf\xe8\xcd\xe8\xd4" , "\xaf\xe7\xc6\x67\xe0" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\xaf\xe7\xc6\x67\xe0\xd0" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\xaf\xe7\xc6\x67\xca\xe0" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\xaf\xe7\xc6\x67\xcb\xe0" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\xaf\xe7\xc6\x69\xd9\xd5" } , { "\xcf\xe8\xcf" , "\x65\xe0\xfe" } , { "\xcf\xe8\xcf\xa2" , "\x65\xe0\xd5\xfe" } , { "\xcf\xe8\xcf\xda" , "\x65\xe0\xfe\xd0" } , { "\xcf\xe8\xcf\xda\xa2" , "\x65\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xcf\xdb" , "\x65\xd9\xfe" } , { "\xcf\xe8\xcf\xdb\xa2" , "\x65\xd9\xd5\xfe" } , { "\xcf\xe8\xcf\xdc" , "\x65\xe0\xfe\xd1" } , { "\xcf\xe8\xcf\xdd" , "\x65\xca\xe0\xfe" } , { "\xcf\xe8\xcf\xdd\xa2" , "\x65\xca\xe0\xd5\xfe" } , { "\xcf\xe8\xcf\xde" , "\x65\xcb\xe0\xfe" } , { "\xcf\xe8\xcf\xe0" , "\xd2\x65\xfe\xe0" } , { "\xcf\xe8\xcf\xe0\xa2" , "\xd2\x65\xfe\xe0\xd5" } , { "\xcf\xe8\xcf\xe1" , "\xd2\x65\xfe\xe0" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xd2\x65\xfe\xe0\xd5" } , { "\xcf\xe8\xcf\xe2" , "\xd2\x65\xd8\xfe" } , { "\xcf\xe8\xcf\xe4" , "\xd2\x65\xe0\xfe\xd0" } , { "\xcf\xe8\xcf\xe5" , "\xd2\x65\xe0\xfe\xd0" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xd2\x65\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\x65\xe7\xfe\x51\xca\xe0" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\x65\xe7\xfe\x56\xe0\xe7" } , { "\xcf\xe8\xcf\xe8\xcc" , "\x65\xea\xe0\xfe" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\x65\xf5\xe0\xd5\xfe" } , { "\xcf\xe8\xcf\xe8\xd8" , "\x65\xe7\xfe\x6b\xe0\xfe" } , { "\xcf\xe8\xd0" , "\x65\xe0\xfe" } , { "\xcf\xe8\xd0\xda" , "\x65\xe0\xfe\xd0" } , { "\xcf\xe8\xd0\xdb" , "\x65\xd9\xfe" } , { "\xcf\xe8\xd0\xe1\xa2" , "\xd2\x65\xfe\xe0\xd5" } , { "\xcf\xe8\xd1" , "\x6d\xe0\xfe" } , { "\xcf\xe8\xd1\xa2" , "\x6d\xe0\xd5\xfe" } , { "\xcf\xe8\xd1\xda" , "\x6d\xe0\xfe\xd0" } , { "\xcf\xe8\xd1\xda\xa1" , "\x6d\x99\xfe\xd0" } , { "\xcf\xe8\xd1\xda\xa2" , "\x6d\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xd1\xdb" , "\x6d\xd9\xfe" } , { "\xcf\xe8\xd1\xdb\xa2" , "\x6d\xd9\xd5\xfe" } , { "\xcf\xe8\xd1\xdc" , "\x6d\xe0\xfe\xd1" } , { "\xcf\xe8\xd1\xdd" , "\x6d\xca\xe0\xfe" } , { "\xcf\xe8\xd1\xdd\xa2" , "\x6d\xca\xe0\xd5\xfe" } , { "\xcf\xe8\xd1\xde" , "\x6d\xcb\xe0\xfe" } , { "\xcf\xe8\xd1\xe0" , "\xd2\x6d\xfe\xe0" } , { "\xcf\xe8\xd1\xe0\xa2" , "\xd2\x6d\xfe\xe0\xd5" } , { "\xcf\xe8\xd1\xe1" , "\xd2\x6d\xfe\xe0" } , { "\xcf\xe8\xd1\xe1\xa2" , "\xd2\x6d\xfe\xe0\xd5" } , { "\xcf\xe8\xd1\xe2" , "\xd2\x6d\xd8\xfe" } , { "\xcf\xe8\xd1\xe4" , "\xd2\x6d\xe0\xfe\xd0" } , { "\xcf\xe8\xd1\xe5" , "\xd2\x6d\xe0\xfe\xd0" } , { "\xcf\xe8\xd1\xe5\xa2" , "\xd2\x6d\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xd1\xe8" , "\x6d\xe0\xe7\xfe" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\x6d\xe7\xfe\x53\xe0" } , { "\xcf\xe8\xd1\xe8\xbf" , "\x6d\xe7\xfe\x58\xe0" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\xd2\x6d\xf2\xe0\xfe\xd0" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\x6d\xe7\xfe\x60\xed\xe0" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\x6d\xe7\xfe\x24\xe0\xbc\xd0" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\x6d\xeb\xe0\xfe\xd0" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\x6d\xe0\xfe\xd4\xd0\xd5" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\x6d\xe7\xfe\xd2\x67\xe0" } , { "\xcf\xe8\xd1\xe8\xd7" , "\x6d\xe7\xfe\x6a\xe0" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\x6d\xe7\xfe\x6a\xca\xe0" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\x6d\xe7\xfe\x6a\xe0\xe7" } , { "\xcf\xe8\xd2" , "\x66\xe0" } , { "\xcf\xe8\xd4" , "\x67\xe0" } , { "\xcf\xe8\xd4\xa2" , "\x67\xe0\xd5" } , { "\xcf\xe8\xd4\xa3" , "\x67\xe0\xd3" } , { "\xcf\xe8\xd4\xda" , "\x67\xe0\xd0" } , { "\xcf\xe8\xd4\xda\xa2" , "\x67\xe0\xd0\xd5" } , { "\xcf\xe8\xd4\xdb" , "\x67\xd9" } , { "\xcf\xe8\xd4\xdb\xa2" , "\x67\xd9\xd5" } , { "\xcf\xe8\xd4\xdc" , "\x67\xe0\xd1" } , { "\xcf\xe8\xd4\xdd" , "\x67\xca\xe0" } , { "\xcf\xe8\xd4\xdd\xa2" , "\x67\xca\xe0\xd5" } , { "\xcf\xe8\xd4\xde" , "\x67\xcb\xe0" } , { "\xcf\xe8\xd4\xdf" , "\x67\xf3\xe0" } , { "\xcf\xe8\xd4\xe0" , "\xd2\x67\xe0" } , { "\xcf\xe8\xd4\xe0\xa2" , "\xd2\x67\xe0\xd5" } , { "\xcf\xe8\xd4\xe1" , "\xd2\x67\xe0" } , { "\xcf\xe8\xd4\xe1\xa2" , "\xd2\x67\xe0\xd5" } , { "\xcf\xe8\xd4\xe2" , "\xd2\x67\xd8" } , { "\xcf\xe8\xd4\xe5" , "\xd2\x67\xe0\xd0" } , { "\xcf\xe8\xd4\xe5\xa2" , "\xd2\x67\xe0\xd0\xd5" } , { "\xcf\xe8\xd4\xe6" , "\xd2\x67\xfc" } , { "\xcf\xe8\xd4\xe8" , "\x67\xe0\xe7" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\x67\xe7\xd2\x51\xe0" } , { "\xcf\xe8\xd4\xe8\xcd" , "\x67\xe0\xd4" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\x67\xe0\xd4\xd0" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\x67\xca\xe0\xd4" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\x67\xcb\xe0\xd4" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\x67\xe7\xaf\xe7\xc6\x67\xe0" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\x67\xf6\xe3\xe0" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\xd2\x67\xee\xe0\xd0" } , { "\xcf\xe8\xd4\xe8\xd4" , "\x67\xe7\x67\xe0" } , { "\xcf\xe8\xd4\xe8\xd5" , "\x67\xe7\x68\xe0" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\x67\xe7\x6b\xe0\xfe\xd1" } , { "\xcf\xe8\xd5" , "\x68\xe0" } , { "\xcf\xe8\xd5\xa2" , "\x68\xe0\xd5" } , { "\xcf\xe8\xd5\xa3" , "\x68\xe0\xd3" } , { "\xcf\xe8\xd5\xda" , "\x68\xe0\xd0" } , { "\xcf\xe8\xd5\xda\xa2" , "\x68\xe0\xd0\xd5" } , { "\xcf\xe8\xd5\xdb" , "\x68\xd9" } , { "\xcf\xe8\xd5\xdb\xa2" , "\x68\xd9\xd5" } , { "\xcf\xe8\xd5\xdc" , "\x68\xe0\xd1" } , { "\xcf\xe8\xd5\xdd" , "\x68\xca\xe0" } , { "\xcf\xe8\xd5\xe0" , "\xd2\x68\xe0" } , { "\xcf\xe8\xd5\xe1" , "\xd2\x68\xe0" } , { "\xcf\xe8\xd5\xe1\xa2" , "\xd2\x68\xe0\xd5" } , { "\xcf\xe8\xd5\xe5" , "\xd2\x68\xe0\xd0" } , { "\xcf\xe8\xd5\xe5\xa2" , "\xd2\x68\xe0\xd0\xd5" } , { "\xcf\xe8\xd5\xe8\xcd" , "\x68\xe0\xd4" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\x68\xe0\xd5\xd4" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\x68\xe0\xd4\xd0" } , { "\xcf\xe8\xd5\xe8\xcf" , "\x68\xf5\xe0" } , { "\xcf\xe8\xd5\xe8\xd4" , "\x68\xe7\x67\xe0" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\x68\xe7\x67\xe0\xd5" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\x68\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\x68\xe7\x67\xe0\xd0\xd5" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\x68\xe7\x67\xd9" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\x68\xe7\xd2\x67\xe0\xd0" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\x68\xe7\xd2\x67\xe0\xd0\xd5" } , { "\xcf\xe8\xd5\xe8\xd5" , "\x68\xe7\x68\xe0" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\x68\xe7\xe0\x42" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\x68\xe7\xe0\x67" } , { "\xcf\xe8\xd6" , "\x69\xe0" } , { "\xcf\xe8\xd6\xa1" , "\x69\x99" } , { "\xcf\xe8\xd6\xa2" , "\x69\xe0\xd5" } , { "\xcf\xe8\xd6\xda" , "\x69\xe0\xd0" } , { "\xcf\xe8\xd6\xda\xa2" , "\x69\xe0\xd0\xd5" } , { "\xcf\xe8\xd6\xdb" , "\x69\xd9" } , { "\xcf\xe8\xd6\xdb\xa2" , "\x69\xd9\xd5" } , { "\xcf\xe8\xd6\xdc" , "\x69\xe0\xd1" } , { "\xcf\xe8\xd6\xdd" , "\x69\xca\xe0" } , { "\xcf\xe8\xd6\xe0" , "\xd2\x69\xe0" } , { "\xcf\xe8\xd6\xe1" , "\xd2\x69\xe0" } , { "\xcf\xe8\xd6\xe2" , "\xd2\x69\xd8" } , { "\xcf\xe8\xd6\xe5" , "\xd2\x69\xe0\xd0" } , { "\xcf\xe8\xd6\xe5\xa2" , "\xd2\x69\xe0\xd0\xd5" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\xb4\xd9\xc6" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\xd2\xb4\xe0\xc6\xd0" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\x69\xe7\xd2\x4e\xe0" } , { "\xcf\xe8\xd6\xe8\xbd" , "\xbd\xe0\xa4" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\xbd\xf6\xe0\xa4" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\xbd\xf6\xe0\xa4\xd1" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\xbb\xd9\xa4" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\xd2\xbb\xa4\xe0" } , { "\xcf\xe8\xd6\xe8\xcd" , "\x69\xe0\xd4" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\x69\xe0\xd4\xd0" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\xd2\x69\xd4\xe0" } , { "\xcf\xe8\xd7" , "\x6a\xe0" } , { "\xcf\xe8\xd7\xa2" , "\x6a\xe0\xd5" } , { "\xcf\xe8\xd7\xda" , "\x6a\xe0\xd0" } , { "\xcf\xe8\xd7\xda\xa2" , "\x6a\xe0\xd0\xd5" } , { "\xcf\xe8\xd7\xdb" , "\x6a\xd9" } , { "\xcf\xe8\xd7\xdb\xa2" , "\x6a\xd9\xd5" } , { "\xcf\xe8\xd7\xdc" , "\x6a\xe0\xd1" } , { "\xcf\xe8\xd7\xdd" , "\x6a\xca\xe0" } , { "\xcf\xe8\xd7\xde" , "\x6a\xcb\xe0" } , { "\xcf\xe8\xd7\xdf" , "\x6a\xf3\xe0" } , { "\xcf\xe8\xd7\xe0" , "\xd2\x6a\xe0" } , { "\xcf\xe8\xd7\xe0\xa2" , "\xd2\x6a\xe0\xd5" } , { "\xcf\xe8\xd7\xe1" , "\xd2\x6a\xe0" } , { "\xcf\xe8\xd7\xe1\xa2" , "\xd2\x6a\xe0\xd5" } , { "\xcf\xe8\xd7\xe2" , "\xd2\x6a\xd8" } , { "\xcf\xe8\xd7\xe5" , "\xd2\x6a\xe0\xd0" } , { "\xcf\xe8\xd7\xe5\xa2" , "\xd2\x6a\xe0\xd0\xd5" } , { "\xcf\xe8\xd7\xe8" , "\x6a\xe0\xe7" } , { "\xcf\xe8\xd7\xe8\xb3" , "\xb2\xe0\xc6" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\xb2\xe0\xc6\xd0" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\xb2\xd9\xc6" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\xb2\xe0\xc6\xd1" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\xb2\xca\xe0\xc6" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\x6a\xe7\x4e\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\x6a\xe7\xd2\x51\xe0" } , { "\xcf\xe8\xd7\xe8\xbd" , "\x6a\xe7\x56\xe0" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\x6a\xe7\x56\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\x6a\xe7\x56\xe0\xd0\xd5" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\x6a\xe7\x56\xd9" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\x6a\xe7\x56\xca\xe0" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\x6a\xe7\xd2\x56\xe0" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\x6a\xe7\xd2\x56\xe0" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\x6a\xe7\xd2\x56\xd8" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\x6a\xe7\x56\xe0\xe7" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x6a\xe7\x56\xf6\xe0\xd0\xd5" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\x65\xe7\xfe\x6a\xe7\x56\xe7\x79" } , { "\xcf\xe8\xd7\xe8\xbf" , "\x6a\xe7\x58\xe0" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\x6a\xe7\xd2\x58\xe0" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\x6a\xe7\x58\xe0\xe7" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\xaa\xca\xe0\xc6" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\xd2\xaa\xe0\xc6\xd0" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\x79\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\x79\xe0\xd1" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x6a\xe7\x5d\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\x6a\xef\xd9" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\x6a\xef\xe0\xd1" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\x6a\xf0\xe3\xe0" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\x6a\xf0\xe3\xe0\xd5" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\xd2\x6a\xef\xe0" } , { "\xcf\xe8\xd7\xe8\xc8" , "\xb8\xe0\xa4" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\xb8\xe0\xa4\xd0" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\xb8\xe0\xa4\xd1" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\xb8\xcb\xe0\xa4" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\xd2\xb8\xa4\xe0" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\xd2\xb8\xe0\xa4\xd0" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\xd2\xb8\xf6\xe0\xa4\xd0" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xb8\xee\xe0\xa4\xd0" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\xb8\xee\xd9\xa4" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\xc9\xe0\xa5\xd4\xd0" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\xc9\xee\xd9\xa5" } , { "\xcf\xe8\xd7\xe8\xca" , "\x6a\xe8\xe0" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\xd2\x6a\xe8\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\xd2\x6a\xea\xe0\xd5" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\xd2\x6a\xea\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\x6a\xcb\xe0\xd4" } , { "\xcf\xe8\xd7\xe8\xd1" , "\x6a\xed\xe0" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\x6a\xed\xd9" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\x6a\xed\xe0\xd1" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\x6a\xee\xe3\xe0" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\xd2\x6a\xed\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xd4" , "\x6a\xe7\x67\xe0" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\x6a\xe7\x67\xe0\xd0" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\x6a\xe7\x67\xd9" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\x6a\xe7\xd2\x67\xe0" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\x6a\xe7\xd2\x67\xd8" } , { "\xcf\xe8\xd7\xe8\xd7" , "\x6a\xe7\x6a\xe0" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\x6a\xe7\x6a\xe0\xd0" } , { "\xcf\xe8\xd8" , "\x6b\xe0\xfe" } , { "\xcf\xe8\xd8\xa2" , "\x6b\xe0\xd5\xfe" } , { "\xcf\xe8\xd8\xda" , "\x6b\xe0\xfe\xd0" } , { "\xcf\xe8\xd8\xda\xa2" , "\x6b\xe0\xfe\xd0\xd5" } , { "\xcf\xe8\xd8\xdb" , "\x6b\xd9\xfe" } , { "\xcf\xe8\xd8\xdb\xa2" , "\x6b\xd9\xd5\xfe" } , { "\xcf\xe8\xd8\xdc" , "\x6b\xe0\xfe\xd1" } , { "\xcf\xe8\xd8\xdd" , "\x6b\xca\xe0\xfe" } , { "\xcf\xe8\xd8\xe0" , "\xd2\x6b\xfe\xe0" } , { "\xcf\xe8\xd8\xe1" , "\xd2\x6b\xfe\xe0" } , { "\xcf\xe8\xd8\xe1\xa2" , "\xd2\x6b\xfe\xe0\xd5" } , { "\xcf\xe8\xd8\xe5" , "\xd2\x6b\xe0\xfe\xd0" } , { "\xcf\xe8\xd8\xe6" , "\xd2\x6b\xfe\xfc" } , { "\xcf\xe8\xd8\xe8\xc4" , "\x6b\xe7\xfe\x5d\xe0" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\x6b\xef\xe0\xfe\xd0" } , { "\xcf\xe8\xd8\xe8\xcd" , "\x6b\xe0\xfe\xd4" } , { "\xcf\xe8\xe8" , "\x65\xe7\xfe" } , { "\xcf\xe9" , "\x65\xfe" } , { "\xd0" , "\x65\xfe" } , { "\xd0\xa2" , "\x65\xd5\xfe" } , { "\xd0\xb3" , "\x65\xfe\x4c" } , { "\xd0\xb3\xe8\xd6\xda" , "\x65\xfe\x6c\xd0" } , { "\xd0\xb4" , "\x65\xfe\x4d" } , { "\xd0\xb4\xda" , "\x65\xfe\x4d\xd0" } , { "\xd0\xb4\xe1" , "\x65\xfe\xd2\x4d" } , { "\xd0\xbf" , "\x65\xfe\x58" } , { "\xd0\xc3" , "\x65\xfe\x5c" } , { "\xd0\xc4\xdf" , "\x65\xfe\x5d\xf3" } , { "\xd0\xca\xde" , "\x65\xfe\x61\xcb" } , { "\xd0\xcc" , "\x65\xfe\x63" } , { "\xd0\xd0\xd7" , "\x65\xfe\x65\xfe\x6a" } , { "\xd0\xd4" , "\x65\xfe\x67" } , { "\xd0\xd8" , "\x65\xfe\x6b\xfe" } , { "\xd0\xd8\xe1" , "\x65\xfe\xd2\x6b\xfe" } , { "\xd0\xda" , "\x65\xfe\xd0" } , { "\xd0\xdb" , "\x65\xde\xfe" } , { "\xd0\xdd" , "\x65\xf4\xfe" } , { "\xd0\xdd\xa2" , "\x65\xf4\xd5\xfe" } , { "\xd0\xe0" , "\xd2\x65\xfe" } , { "\xd0\xe0\xa2" , "\xd2\x65\xfe\xd5" } , { "\xd0\xe1" , "\xd2\x65\xfe" } , { "\xd0\xe4" , "\xd2\x65\xfe\xd0" } , { "\xd0\xe5" , "\xd2\x65\xfe\xd0" } , { "\xd0\xe8\xd1\xdd" , "\x65\xe7\xfe\x6d\xca\xfe" } , { "\xd1" , "\x6d\xfe" } , { "\xd1\xa1" , "\x6d\xdc\xfe" } , { "\xd1\xa1\xa2" , "\x6d\xdc\xfe\xd5" } , { "\xd1\xa2" , "\x6d\xd5\xfe" } , { "\xd1\xa2\xa2" , "\x6d\xd5\xfe\xd5" } , { "\xd1\xa3" , "\x6d\xfe\xd3" } , { "\xd1\xd9" , "\x6d\xfe" } , { "\xd1\xda" , "\x6d\xfe\xd0" } , { "\xd1\xda\xa1" , "\x6d\xdc\xfe\xd0" } , { "\xd1\xda\xa2" , "\x6d\xfe\xd0\xd5" } , { "\xd1\xda\xa3" , "\x6d\xfe\xd0\xd3" } , { "\xd1\xdb" , "\x6d\xde\xfe" } , { "\xd1\xdb\xa1" , "\x6d\xda\xfe" } , { "\xd1\xdb\xa2" , "\x6d\xde\xd5\xfe" } , { "\xd1\xdb\xa3" , "\x6d\xde\xfe\xd3" } , { "\xd1\xdb\xce\xe1" , "\x6d\xde\xfe\xd2\x64" } , { "\xd1\xdc" , "\x6d\xfe\xd1" } , { "\xd1\xdc\xa2" , "\x6d\xfe\xd1\xd5" } , { "\xd1\xdd" , "\x6d\xca\xfe" } , { "\xd1\xdd\xa2" , "\x6d\xca\xd5\xfe" } , { "\xd1\xdd\xa3" , "\x6d\xca\xfe\xd3" } , { "\xd1\xde" , "\x6d\xcb\xfe" } , { "\xd1\xde\xa1" , "\x6d\xcb\xdc\xfe" } , { "\xd1\xde\xa2" , "\x6d\xcb\xd5\xfe" } , { "\xd1\xdf" , "\x6d\xf3\xfe" } , { "\xd1\xe0" , "\xd2\x6d\xfe" } , { "\xd1\xe0\xa2" , "\xd2\x6d\xfe\xd5" } , { "\xd1\xe1" , "\xd2\x6d\xfe" } , { "\xd1\xe1\xa2" , "\xd2\x6d\xfe\xd5" } , { "\xd1\xe2" , "\xd2\x6d\xdf\xfe" } , { "\xd1\xe2\xa2" , "\xd2\x6d\xdf\xd5\xfe" } , { "\xd1\xe2\xa3" , "\xd2\x6d\xdf\xfe\xd3" } , { "\xd1\xe4" , "\xd2\x6d\xfe\xd0" } , { "\xd1\xe4\xa2" , "\xd2\x6d\xfe\xd0\xd5" } , { "\xd1\xe5" , "\xd2\x6d\xfe\xd0" } , { "\xd1\xe5\xa2" , "\xd2\x6d\xfe\xd0\xd5" } , { "\xd1\xe6" , "\xd2\x6d\xfe\xd7" } , { "\xd1\xe6\xa2" , "\xd2\x6d\xfe\xd7\xd5" } , { "\xd1\xe7" , "\xd2\x6d\xfe\xd0" } , { "\xd1\xe7\xa2" , "\xd2\x6d\xfe\xd0\xd5" } , { "\xd1\xe8" , "\x6d\xe7\xfe" } , { "\xd1\xe8\xb3" , "\x96\xc6" } , { "\xd1\xe8\xb3\xa2" , "\x96\xd6\xc6" } , { "\xd1\xe8\xb3\xda" , "\x96\xc6\xd0" } , { "\xd1\xe8\xb3\xda\xa2" , "\x96\xc6\xd0\xd6" } , { "\xd1\xe8\xb3\xdb" , "\x96\xde\xc6" } , { "\xd1\xe8\xb3\xdb\xa2" , "\x96\xde\xd6\xc6" } , { "\xd1\xe8\xb3\xdc" , "\x96\xc6\xd1" } , { "\xd1\xe8\xb3\xdd" , "\x96\xe3\xc6" } , { "\xd1\xe8\xb3\xdd\xa2" , "\x96\xe3\xd6\xc6" } , { "\xd1\xe8\xb3\xde" , "\x96\xe5\xc6" } , { "\xd1\xe8\xb3\xe0" , "\xd2\x96\xc6" } , { "\xd1\xe8\xb3\xe1" , "\xd2\x96\xc6" } , { "\xd1\xe8\xb3\xe2" , "\xd2\x96\xdf\xc6" } , { "\xd1\xe8\xb3\xe4" , "\xd2\x96\xc6\xd0" } , { "\xd1\xe8\xb3\xe4\xa2" , "\xd2\x96\xc6\xd0\xd6" } , { "\xd1\xe8\xb3\xe5" , "\xd2\x96\xc6\xd0" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xd2\x96\xc6\xd0\xd6" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xd2\x96\xc6\xd7\xd6" } , { "\xd1\xe8\xb3\xe7" , "\xd2\x96\xc6\xd0" } , { "\xd1\xe8\xb3\xe8" , "\x96\xe7\xc6" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\x6d\xe7\xfe\x4c\xe7\xd2\x51\xd0" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\x6d\xe7\xfe\x90\xcd\xc6\xd0" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\x6d\xe7\xfe\x4c\xe7\x5d\xd0" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\x6d\xe7\xfe\x5d\xca\xd4" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\x6d\xe7\xfe\x4c\xf0\xe3" } , { "\xd1\xe8\xb3\xe8\xcd" , "\x96\xc6\xd4" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\x96\xc6\xd4\xd0" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\x6d\xe7\xfe\x4c\xca\xd4" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\x6d\xe7\xfe\x4c\xcb\xd4" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\x96\xcd\xde\xc6" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\x96\xcd\xde\xd6\xc6" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\x96\xcd\xc6\xd1" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\xd2\x96\xcd\xc6" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\xd2\x96\xcd\xdf\xc6" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xd2\x96\xcd\xc6\xd0" } , { "\xd1\xe8\xb3\xe8\xd1" , "\x96\xe2\xc6" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\x96\xe2\xc6\xd0" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xd2\x96\xe2\xdf\xc6" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xd2\x96\xe2\xc6\xd0" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\x6d\xe7\xfe\x6c\xca" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\x6d\xe7\xfe\xb5\xe7\xc6" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x6d\xe7\xfe\xb5\xf0\xe3\xc6" } , { "\xd1\xe8\xb3\xe8\xd8" , "\x6d\xe7\xfe\x4c\xe7\x6b\xfe" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\x6d\xe7\xfe\x4c\xe7\x6b\xfe\xd0" } , { "\xd1\xe8\xb4" , "\x6d\xe7\xfe\x4d" } , { "\xd1\xe8\xb4\xa2" , "\x6d\xe7\xfe\x4d\xd5" } , { "\xd1\xe8\xb4\xda" , "\x6d\xe7\xfe\x4d\xd0" } , { "\xd1\xe8\xb4\xdb" , "\x6d\xe7\xfe\x4d\xde" } , { "\xd1\xe8\xb4\xdc" , "\x6d\xe7\xfe\x4d\xd1" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\x6d\xe7\xfe\x4d\xf7\xcd" } , { "\xd1\xe8\xb5" , "\x6d\xe7\xfe\x4e" } , { "\xd1\xe8\xb5\xa2" , "\x6d\xe7\xfe\x4e\xd5" } , { "\xd1\xe8\xb5\xda" , "\x6d\xe7\xfe\x4e\xd0" } , { "\xd1\xe8\xb5\xda\xa2" , "\x6d\xe7\xfe\x4e\xd0\xd5" } , { "\xd1\xe8\xb5\xdb" , "\x6d\xe7\xfe\x4e\xde" } , { "\xd1\xe8\xb5\xdb\xa2" , "\x6d\xe7\xfe\x4e\xde\xd5" } , { "\xd1\xe8\xb5\xdc" , "\x6d\xe7\xfe\x4e\xd1" } , { "\xd1\xe8\xb5\xdd" , "\x6d\xe7\xfe\x4e\xca" } , { "\xd1\xe8\xb5\xdd\xa2" , "\x6d\xe7\xfe\x4e\xca\xd5" } , { "\xd1\xe8\xb5\xde" , "\x6d\xe7\xfe\x4e\xcb" } , { "\xd1\xe8\xb5\xe0" , "\x6d\xe7\xfe\xd2\x4e" } , { "\xd1\xe8\xb5\xe1" , "\x6d\xe7\xfe\xd2\x4e" } , { "\xd1\xe8\xb5\xe2" , "\x6d\xe7\xfe\xd2\x4e\xdf" } , { "\xd1\xe8\xb5\xe4" , "\x6d\xe7\xfe\xd2\x4e\xd0" } , { "\xd1\xe8\xb5\xe4\xa2" , "\x6d\xe7\xfe\xd2\x4e\xd0\xd5" } , { "\xd1\xe8\xb5\xe5" , "\x6d\xe7\xfe\xd2\x4e\xd0" } , { "\xd1\xe8\xb5\xe6" , "\x6d\xe7\xfe\xd2\x4e\xd7" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\x6d\xe7\xfe\x4e\xf5\xd5" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\x6d\xe7\xfe\x4e\xf5\xd0" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\x6d\xe7\xfe\x4e\xf5\xd0\xd5" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\x6d\xe7\xfe\x4e\xf5\xde" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\x6d\xe7\xfe\x4e\xf6\xe5" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\x6d\xe7\xfe\x4e\xed\xd0" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\x6d\xe7\xfe\x4e\xed\xd0\xd5" } , { "\xd1\xe8\xb6" , "\x6d\xe7\xfe\x4f" } , { "\xd1\xe8\xb8" , "\x6d\xe7\xfe\x51" } , { "\xd1\xe8\xb8\xa2" , "\x6d\xe7\xfe\x51\xd5" } , { "\xd1\xe8\xb8\xda" , "\x6d\xe7\xfe\x51\xd0" } , { "\xd1\xe8\xb8\xdb" , "\x6d\xe7\xfe\x51\xde" } , { "\xd1\xe8\xb8\xdb\xa2" , "\x6d\xe7\xfe\x51\xde\xd5" } , { "\xd1\xe8\xb8\xdc" , "\x6d\xe7\xfe\x51\xd1" } , { "\xd1\xe8\xb8\xdd" , "\x6d\xe7\xfe\x51\xca" } , { "\xd1\xe8\xb8\xdd\xa2" , "\x6d\xe7\xfe\x51\xca\xd5" } , { "\xd1\xe8\xb8\xde" , "\x6d\xe7\xfe\x51\xcb" } , { "\xd1\xe8\xb8\xe0" , "\x6d\xe7\xfe\xd2\x51" } , { "\xd1\xe8\xb8\xe1" , "\x6d\xe7\xfe\xd2\x51" } , { "\xd1\xe8\xb8\xe4" , "\x6d\xe7\xfe\xd2\x51\xd0" } , { "\xd1\xe8\xb8\xe4\xa2" , "\x6d\xe7\xfe\xd2\x51\xd0\xd5" } , { "\xd1\xe8\xb8\xe5" , "\x6d\xe7\xfe\xd2\x51\xd0" } , { "\xd1\xe8\xb8\xe6" , "\x6d\xe7\xfe\xd2\x51\xd7" } , { "\xd1\xe8\xb9\xdd" , "\x6d\xe7\xfe\x52\xca" } , { "\xd1\xe8\xba" , "\x6d\xe7\xfe\x53" } , { "\xd1\xe8\xba\xda" , "\x6d\xe7\xfe\x53\xd0" } , { "\xd1\xe8\xba\xdb" , "\x6d\xe7\xfe\x53\xde" } , { "\xd1\xe8\xba\xdc" , "\x6d\xe7\xfe\x53\xd1" } , { "\xd1\xe8\xba\xdd" , "\x6d\xe7\xfe\x53\xca" } , { "\xd1\xe8\xba\xde" , "\x6d\xe7\xfe\x53\xcb" } , { "\xd1\xe8\xba\xe0" , "\x6d\xe7\xfe\xd2\x53" } , { "\xd1\xe8\xba\xe1" , "\x6d\xe7\xfe\xd2\x53" } , { "\xd1\xe8\xba\xe8" , "\x6d\xe7\xfe\x53\xe7" } , { "\xd1\xe8\xba\xe9" , "\x6d\xe7\xfe\x53" } , { "\xd1\xe8\xba\xe9\xda" , "\x6d\xe7\xfe\x53\xd0" } , { "\xd1\xe8\xbb\xda" , "\x6d\xe7\xfe\x54\xfe\xd0" } , { "\xd1\xe8\xbb\xdc" , "\x6d\xe7\xfe\x54\xfe\xd1" } , { "\xd1\xe8\xbd" , "\x6d\xe7\xfe\x56" } , { "\xd1\xe8\xbd\xa2" , "\x6d\xe7\xfe\x56\xd5" } , { "\xd1\xe8\xbd\xda" , "\x6d\xe7\xfe\x56\xd0" } , { "\xd1\xe8\xbd\xdb" , "\x6d\xe7\xfe\x56\xde" } , { "\xd1\xe8\xbd\xdb\xa2" , "\x6d\xe7\xfe\x56\xde\xd5" } , { "\xd1\xe8\xbd\xdc" , "\x6d\xe7\xfe\x56\xd1" } , { "\xd1\xe8\xbd\xdd" , "\x6d\xe7\xfe\x56\xca" } , { "\xd1\xe8\xbd\xdd\xa2" , "\x6d\xe7\xfe\x56\xca\xd5" } , { "\xd1\xe8\xbd\xde" , "\x6d\xe7\xfe\x56\xcb" } , { "\xd1\xe8\xbd\xe0" , "\x6d\xe7\xfe\xd2\x56" } , { "\xd1\xe8\xbd\xe0\xa2" , "\x6d\xe7\xfe\xd2\x56\xd5" } , { "\xd1\xe8\xbd\xe1" , "\x6d\xe7\xfe\xd2\x56" } , { "\xd1\xe8\xbd\xe2" , "\x6d\xe7\xfe\xd2\x56\xdf" } , { "\xd1\xe8\xbd\xe4" , "\x6d\xe7\xfe\xd2\x56\xd0" } , { "\xd1\xe8\xbd\xe5" , "\x6d\xe7\xfe\xd2\x56\xd0" } , { "\xd1\xe8\xbd\xe5\xa2" , "\x6d\xe7\xfe\xd2\x56\xd0\xd5" } , { "\xd1\xe8\xbd\xe8" , "\x6d\xe7\xfe\x56\xe7" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\x6d\xe7\xfe\x56\xe7\x4e\xd0" } , { "\xd1\xe8\xbd\xe8\xba" , "\x6d\xe7\xfe\x56\xe7\x53" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\x6d\xe7\xfe\x56\xe7\x53\xe7" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\x6d\xe7\xfe\x56\xe7\x53\xea" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\x6d\xe7\xfe\x56\xf0\xe3" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\x6d\xe7\xfe\x56\xe7\x60\xd1" } , { "\xd1\xe8\xbd\xe8\xcc" , "\x6d\xe7\xfe\x56\xeb" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\x6d\xe7\xfe\x56\xeb\xd1" } , { "\xd1\xe8\xbd\xe8\xcf" , "\x6d\xe7\xfe\x56\xf6" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\x6d\xe7\xfe\x56\xf6\xd0" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\x6d\xe7\xfe\x56\xf6\xde" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\x6d\xe7\xfe\x56\xf6\xd1" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\x6d\xe7\xfe\xd2\x56\xf6" } , { "\xd1\xe8\xbd\xe8\xd1" , "\x6d\xe7\xfe\x56\xee" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\x6d\xe7\xfe\x56\xee\xe3" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\x6d\xe7\xfe\xd2\x56\xee\xd0" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\x6d\xe7\xfe\x56\xe7\x67\xd5" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\x6d\xe7\xfe\x56\xe7\xd2\x67\xdf" } , { "\xd1\xe8\xbd\xe8\xd7" , "\x6d\xe7\xfe\x56\xe7\x6a" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\x6d\xe7\xfe\x56\xe7\x6a\xca" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\x6d\xe7\xfe\x56\xe7\x6a\xe7" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\x6d\xe7\xfe\x56\xe7\xb8\xa4\xd0" } , { "\xd1\xe8\xbf" , "\x6d\xe7\xfe\x58" } , { "\xd1\xe8\xbf\xa2" , "\x6d\xe7\xfe\x58\xd5" } , { "\xd1\xe8\xbf\xda" , "\x6d\xe7\xfe\x58\xd0" } , { "\xd1\xe8\xbf\xdb" , "\x6d\xe7\xfe\x58\xde" } , { "\xd1\xe8\xbf\xdb\xa2" , "\x6d\xe7\xfe\x58\xde\xd5" } , { "\xd1\xe8\xbf\xdc" , "\x6d\xe7\xfe\x58\xd1" } , { "\xd1\xe8\xbf\xdd" , "\x6d\xe7\xfe\x58\xca" } , { "\xd1\xe8\xbf\xde" , "\x6d\xe7\xfe\x58\xcb" } , { "\xd1\xe8\xbf\xe0" , "\x6d\xe7\xfe\xd2\x58" } , { "\xd1\xe8\xbf\xe0\xa2" , "\x6d\xe7\xfe\xd2\x58\xd5" } , { "\xd1\xe8\xbf\xe1" , "\x6d\xe7\xfe\xd2\x58" } , { "\xd1\xe8\xbf\xe4" , "\x6d\xe7\xfe\xd2\x58\xd0" } , { "\xd1\xe8\xbf\xe5" , "\x6d\xe7\xfe\xd2\x58\xd0" } , { "\xd1\xe8\xbf\xe7" , "\x6d\xe7\xfe\xd2\x58\xd0" } , { "\xd1\xe8\xbf\xe8" , "\x6d\xe7\xfe\x58\xe7" } , { "\xd1\xe8\xbf\xe8\xb3" , "\x6d\xe7\xfe\x58\xe7\x4c" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\x6d\xe7\xfe\x58\xe7\x4c\xca" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\x6d\xe7\xfe\x58\xe7\x4c\xf5\xd1" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\x6d\xe7\xfe\x94\xc6\xd0" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\x6d\xe7\xfe\xd2\x94\xc6" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\x6d\xe7\xfe\xd2\x94\xc6\xd0" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\x6d\xe7\xfe\x58\xe7\xd2\x56\xdf" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\x6d\xe7\xfe\xd2\xc5\xa4\xd7" } , { "\xd1\xe8\xbf\xe8\xc2" , "\x6d\xe7\xfe\x58\xf2" } , { "\xd1\xe8\xbf\xe8\xc8" , "\x6d\xe7\xfe\x58\xe7\x60" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\x6d\xe7\xfe\x58\xe7\x24\xde\xbc\xbc\xd5" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\x6d\xe7\xfe\x58\xe7\xd2\x24\xbc\xd0" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\x6d\xe7\xfe\xd2\x58\xe9\xcd" } , { "\xd1\xe8\xbf\xe8\xcc" , "\x6d\xe7\xfe\x58\xeb" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\x6d\xe7\xfe\x58\xeb\xd0" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\x6d\xe7\xfe\xd2\x58\xeb" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\x6d\xe7\xfe\xd2\x58\xeb" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\x58\xcb\xd4" } , { "\xd1\xe8\xbf\xe8\xcf" , "\x6d\xe7\xfe\x58\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\x6d\xe7\xfe\x58\xf6\xde" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\x6d\xe7\xfe\x58\xf6\xde\xd5" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\x6d\xe7\xfe\x58\xf6\xd1" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\x6d\xe7\xfe\xd2\x58\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\x6d\xe7\xfe\xd2\x58\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\x6d\xe7\xfe\xd2\x58\xf6\xdf" } , { "\xd1\xe8\xbf\xe8\xd1" , "\x6d\xe7\xfe\x58\xee" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\x6d\xe7\xfe\x58\xee\xe3" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\x6d\xe7\xfe\x58\xee\xe5" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\x6d\xe7\xfe\xd2\x58\xee\xd0" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\x6d\xe7\xfe\x58\xe7\x67\xde" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\x6d\xe7\xfe\x58\xe7\xd2\x67" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\x6d\xe7\xfe\x58\xe7\x67\xee\xe7" } , { "\xd1\xe8\xbf\xe8\xd7" , "\x6d\xe7\xfe\x58\xe7\x6a" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\x6d\xe7\xfe\x58\xe7\x6a\xe7" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\x6d\xe7\xfe\x58\xe7\x6a\xe7\x56\xd1" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\x6d\xe7\xfe\x58\xe7\x6a\xe7\xd2\x56\xdf" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\x6d\xe7\xfe\x58\xe7\xb8\xa4\xd0" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\x6d\xe7\xfe\x58\xe7\xc9\xa5\xd0" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\x6d\xe7\xfe\x58\xe7\x6a\xea\xde" } , { "\xd1\xe8\xbf\xe9" , "\x6d\xe7\xfe\x58" } , { "\xd1\xe8\xc0\xda" , "\x6d\xe7\xfe\x59\xd0" } , { "\xd1\xe8\xc1" , "\x6d\xe7\xfe\x5a" } , { "\xd1\xe8\xc2" , "\x6d\xf2\xfe" } , { "\xd1\xe8\xc2\xda" , "\x6d\xf2\xfe\xd0" } , { "\xd1\xe8\xc2\xda\xa2" , "\x6d\xf2\xfe\xd0\xd5" } , { "\xd1\xe8\xc2\xdb" , "\x6d\xf2\xde\xfe" } , { "\xd1\xe8\xc2\xdb\xa2" , "\x6d\xf2\xde\xd5\xfe" } , { "\xd1\xe8\xc2\xdc" , "\x6d\xf2\xfe\xd1" } , { "\xd1\xe8\xc2\xdd" , "\x6d\xf2\xe3\xfe" } , { "\xd1\xe8\xc2\xdd\xa2" , "\x6d\xf2\xe3\xd5\xfe" } , { "\xd1\xe8\xc2\xde" , "\x6d\xf2\xe5\xfe" } , { "\xd1\xe8\xc2\xe0" , "\xd2\x6d\xf2\xfe" } , { "\xd1\xe8\xc2\xe1" , "\xd2\x6d\xf2\xfe" } , { "\xd1\xe8\xc2\xe4" , "\xd2\x6d\xf2\xfe\xd0" } , { "\xd1\xe8\xc2\xe5" , "\xd2\x6d\xf2\xfe\xd0" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xd2\x6d\xf2\xfe\xd0\xd5" } , { "\xd1\xe8\xc2\xe8" , "\x6d\xf2\xe7\xfe" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\x6d\xe7\xfe\x4c\xfa\xe2" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\x6d\xe7\xfe\x5b\xe9\xe2\xd0" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\x6d\xf2\x9b\xd5\xfe" } , { "\xd1\xe8\xc3" , "\x6d\xe7\xfe\x5c" } , { "\xd1\xe8\xc3\xda" , "\x6d\xe7\xfe\x5c\xd0" } , { "\xd1\xe8\xc3\xdc" , "\x6d\xe7\xfe\x5c\xd1" } , { "\xd1\xe8\xc3\xdd" , "\x6d\xe7\xfe\x5c\xca" } , { "\xd1\xe8\xc3\xde" , "\x6d\xe7\xfe\x5c\xcb" } , { "\xd1\xe8\xc4" , "\x6d\xe7\xfe\x5d" } , { "\xd1\xe8\xc4\xa2" , "\x6d\xe7\xfe\x5d\xd5" } , { "\xd1\xe8\xc4\xda" , "\x6d\xe7\xfe\x5d\xd0" } , { "\xd1\xe8\xc4\xda\xa2" , "\x6d\xe7\xfe\x5d\xd0\xd5" } , { "\xd1\xe8\xc4\xdb" , "\x6d\xe7\xfe\x5d\xde" } , { "\xd1\xe8\xc4\xdc" , "\x6d\xe7\xfe\x5d\xd1" } , { "\xd1\xe8\xc4\xdd" , "\x6d\xe7\xfe\x5d\xca" } , { "\xd1\xe8\xc4\xe1" , "\x6d\xe7\xfe\xd2\x5d" } , { "\xd1\xe8\xc4\xe1\xa2" , "\x6d\xe7\xfe\xd2\x5d\xd5" } , { "\xd1\xe8\xc4\xe4" , "\x6d\xe7\xfe\xd2\x5d\xd0" } , { "\xd1\xe8\xc4\xe5" , "\x6d\xe7\xfe\xd2\x5d\xd0" } , { "\xd1\xe8\xc4\xe5\xa2" , "\x6d\xe7\xfe\xd2\x5d\xd0\xd5" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\x6d\xe7\xfe\xd2\x5d\xf6" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\x6d\xe7\xfe\x5d\xe7\x67\xd0" } , { "\xd1\xe8\xc5" , "\x6d\xe7\xfe\x5e" } , { "\xd1\xe8\xc5\xda" , "\x6d\xe7\xfe\x5e\xd0" } , { "\xd1\xe8\xc5\xdb" , "\x6d\xe7\xfe\x5e\xde" } , { "\xd1\xe8\xc6" , "\x6d\xf0\xfe" } , { "\xd1\xe8\xc6\xa2" , "\x6d\xf0\xd5\xfe" } , { "\xd1\xe8\xc6\xda" , "\x6d\xf0\xfe\xd0" } , { "\xd1\xe8\xc6\xdb" , "\x6d\xf0\xde\xfe" } , { "\xd1\xe8\xc6\xdb\xa2" , "\x6d\xf0\xde\xd5\xfe" } , { "\xd1\xe8\xc6\xdc" , "\x6d\xf0\xfe\xd1" } , { "\xd1\xe8\xc6\xdd" , "\x6d\xf0\xe3\xfe" } , { "\xd1\xe8\xc6\xdd\xa2" , "\x6d\xf0\xe3\xd5\xfe" } , { "\xd1\xe8\xc6\xde" , "\x6d\xf0\xe5\xfe" } , { "\xd1\xe8\xc6\xe0" , "\xd2\x6d\xf0\xfe" } , { "\xd1\xe8\xc6\xe0\xa2" , "\xd2\x6d\xf0\xfe\xd5" } , { "\xd1\xe8\xc6\xe1" , "\xd2\x6d\xf0\xfe" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xd2\x6d\xf0\xfe\xd5" } , { "\xd1\xe8\xc6\xe2" , "\xd2\x6d\xf0\xdf\xfe" } , { "\xd1\xe8\xc6\xe5" , "\xd2\x6d\xf0\xfe\xd0" } , { "\xd1\xe8\xc6\xe8" , "\x6d\xf0\xe7\xfe" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\x6d\xe7\xfe\x5f\xe7\x4c\xca" } , { "\xd1\xe8\xc8" , "\x6d\xe7\xfe\x60" } , { "\xd1\xe8\xc8\xa2" , "\x6d\xe7\xfe\x60\xd5" } , { "\xd1\xe8\xc8\xda" , "\x6d\xe7\xfe\x60\xd0" } , { "\xd1\xe8\xc8\xda\xa2" , "\x6d\xe7\xfe\x60\xd0\xd5" } , { "\xd1\xe8\xc8\xda\xa3" , "\x6d\xe7\xfe\x60\xd0\xd3" } , { "\xd1\xe8\xc8\xdb" , "\x6d\xe7\xfe\x60\xde" } , { "\xd1\xe8\xc8\xdb\xa2" , "\x6d\xe7\xfe\x60\xde\xd5" } , { "\xd1\xe8\xc8\xdc" , "\x6d\xe7\xfe\x60\xd1" } , { "\xd1\xe8\xc8\xdc\xa2" , "\x6d\xe7\xfe\x60\xd1\xd5" } , { "\xd1\xe8\xc8\xdd" , "\x6d\xe7\xfe\x60\xca" } , { "\xd1\xe8\xc8\xdd\xa2" , "\x6d\xe7\xfe\x60\xca\xd5" } , { "\xd1\xe8\xc8\xde" , "\x6d\xe7\xfe\x60\xcb" } , { "\xd1\xe8\xc8\xe0" , "\x6d\xe7\xfe\xd2\x60" } , { "\xd1\xe8\xc8\xe0\xa2" , "\x6d\xe7\xfe\xd2\x60\xd5" } , { "\xd1\xe8\xc8\xe1" , "\x6d\xe7\xfe\xd2\x60" } , { "\xd1\xe8\xc8\xe1\xa2" , "\x6d\xe7\xfe\xd2\x60\xd5" } , { "\xd1\xe8\xc8\xe2" , "\x6d\xe7\xfe\xd2\x60\xdf" } , { "\xd1\xe8\xc8\xe4" , "\x6d\xe7\xfe\xd2\x60\xd0" } , { "\xd1\xe8\xc8\xe5" , "\x6d\xe7\xfe\xd2\x60\xd0" } , { "\xd1\xe8\xc8\xe5\xa2" , "\x6d\xe7\xfe\xd2\x60\xd0\xd5" } , { "\xd1\xe8\xc8\xe8" , "\x6d\xe7\xfe\x60\xe7" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\x6d\xe7\xfe\x60\xe7\xd2\x4e\xd0" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\x60\xcb\xd4" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\x6d\xe7\xfe\x60\xf5\xd0" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\x6d\xe7\xfe\x60\xf5\xde" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\x6d\xe7\xfe\xd2\x60\xf5" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\x6d\xe7\xfe\xd2\x60\xf5\xdf" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\x6d\xe7\xfe\xd2\x60\xf5\xd0" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\x6d\xe7\xfe\x60\xed\xd0" } , { "\xd1\xe8\xc8\xe8\xd7" , "\x6d\xe7\xfe\xbf\xa4" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\x6d\xe7\xfe\xbf\xe7\xa4" } , { "\xd1\xe8\xc9" , "\x6d\xe7\xfe\x24\xbc" } , { "\xd1\xe8\xc9\xa2" , "\x6d\xe7\xfe\x24\xbc\xbc\xd5" } , { "\xd1\xe8\xc9\xda" , "\x6d\xe7\xfe\x24\xbc\xd0" } , { "\xd1\xe8\xc9\xdb" , "\x6d\xe7\xfe\x24\xde\xbc" } , { "\xd1\xe8\xc9\xdb\xa2" , "\x6d\xe7\xfe\x24\xde\xbc\xbc\xd5" } , { "\xd1\xe8\xc9\xdc" , "\x6d\xe7\xfe\x24\xbc\xd1" } , { "\xd1\xe8\xc9\xdd" , "\x6d\xe7\xfe\x24\xca\xbc" } , { "\xd1\xe8\xc9\xde" , "\x6d\xe7\xfe\x24\xcb\xbc" } , { "\xd1\xe8\xc9\xe0" , "\x6d\xe7\xfe\xd2\x24\xbc" } , { "\xd1\xe8\xc9\xe1" , "\x6d\xe7\xfe\xd2\x24\xbc" } , { "\xd1\xe8\xc9\xe1\xa2" , "\x6d\xe7\xfe\xd2\x24\xbc\xbc\xbc\xd5" } , { "\xd1\xe8\xc9\xe2" , "\x6d\xe7\xfe\xd2\x24\xdf\xbc" } , { "\xd1\xe8\xc9\xe4" , "\x6d\xe7\xfe\xd2\x24\xbc\xd0" } , { "\xd1\xe8\xc9\xe5" , "\x6d\xe7\xfe\xd2\x24\xbc\xd0" } , { "\xd1\xe8\xc9\xe5\xa2" , "\x6d\xe7\xfe\xd2\x24\xbc\xd0\xbc\xbc\xd5" } , { "\xd1\xe8\xc9\xe7" , "\x6d\xe7\xfe\xd2\x24\xbc\xd0" } , { "\xd1\xe8\xc9\xe8" , "\x6d\xe7\xfe\x24\xe7\xbc" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\x6d\xe7\xfe\x24\xe7\xbc\x56\xe7" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\x6d\xe7\xfe\x24\xea\xbc\xd0" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\x24\xca\xbc\xd4" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\x24\xcb\xbc\xd4" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\x6d\xe7\xfe\x24\xf5\xd5\xbc" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\x6d\xe7\xfe\xd2\x24\xf5\xbc" } , { "\xd1\xe8\xc9\xe8\xd1" , "\x6d\xe7\xfe\x24\xed\xbc" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\x6d\xe7\xfe\xd2\x24\xed\xdf\xbc" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\x6d\xe7\xfe\xd2\x24\xed\xbc\xd0" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\x6d\xe7\xfe\x24\xe7\xbc\x67\xd1" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\x6d\xe7\xfe\x24\xe7\xbc\x6a\xe7" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\x6d\xe7\xfe\x24\xe7\xbc\x6b\xde\xfe" } , { "\xd1\xe8\xca" , "\x6d\xe9\xfe" } , { "\xd1\xe8\xca\xa2" , "\x6d\xe9\xd5\xfe" } , { "\xd1\xe8\xca\xda" , "\x6d\xe9\xfe\xd0" } , { "\xd1\xe8\xca\xda\xa2" , "\x6d\xe9\xfe\xd0\xd5" } , { "\xd1\xe8\xca\xdb" , "\x6d\xe9\xde\xfe" } , { "\xd1\xe8\xca\xdc" , "\x6d\xe9\xfe\xd1" } , { "\xd1\xe8\xca\xdd" , "\x6d\xe9\xe3\xfe" } , { "\xd1\xe8\xca\xdf" , "\x6d\xe9\xcc\xfe" } , { "\xd1\xe8\xca\xe0" , "\xd2\x6d\xe9\xfe" } , { "\xd1\xe8\xca\xe1" , "\xd2\x6d\xe9\xfe" } , { "\xd1\xe8\xca\xe2" , "\xd2\x6d\xe9\xdf\xfe" } , { "\xd1\xe8\xca\xe5" , "\xd2\x6d\xe9\xfe\xd0" } , { "\xd1\xe8\xca\xe5\xa2" , "\xd2\x6d\xe9\xfe\xd0\xd5" } , { "\xd1\xe8\xca\xe8" , "\x6d\xe9\xe7\xfe" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\x6d\xe7\xfe\x61\xe7\x4c\xca" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\x6d\xe7\xfe\x61\xf0\xe3" } , { "\xd1\xe8\xca\xe8\xcd" , "\x6d\xe9\xfe\xd4" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\x6d\xe9\xfe\xd4\xd0" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\x6d\xd4\xe3\xfe\xd4" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\x6d\xd4\xe5\xfe\xd4" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\x6d\xe7\xfe\x61\xf6\xe5" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\xd2\x6d\xe9\xcd\xfe" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xd2\x6d\xe9\xcd\xfe" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xd2\x6d\xe9\xcd\xfe\xd0" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x6d\xe7\xfe\x61\xe7\x56\xe7\xb2\xd9\xc6" } , { "\xd1\xe8\xca\xe8\xd1" , "\x6d\xe9\xe2\xfe" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\x6d\xe7\xfe\x61\xee\xe5" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xd2\x6d\xe9\xe2\xfe\xd0" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\x6d\xe7\xfe\x61\xe7\x67\xd5" } , { "\xd1\xe8\xcb" , "\x6d\xe7\x62" } , { "\xd1\xe8\xcb\xa2" , "\x6d\xe7\x62\xd5" } , { "\xd1\xe8\xcb\xda" , "\x6d\xe7\x62\xd0" } , { "\xd1\xe8\xcb\xdb\xa2" , "\x6d\xe7\x62\xde\xd5" } , { "\xd1\xe8\xcb\xdd" , "\x6d\xe7\x62\xca" } , { "\xd1\xe8\xcb\xde" , "\x6d\xe7\x62\xcb" } , { "\xd1\xe8\xcb\xe2" , "\xd2\x6d\xe7\x62\xdf" } , { "\xd1\xe8\xcb\xe8\xcd" , "\x6d\xe7\x62\xd4" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\x6d\xe7\x62\xd5\xd4" } , { "\xd1\xe8\xcc" , "\x6d\xeb\xfe" } , { "\xd1\xe8\xcc\xa2" , "\x6d\xeb\xd5\xfe" } , { "\xd1\xe8\xcc\xda" , "\x6d\xeb\xfe\xd0" } , { "\xd1\xe8\xcc\xda\xa2" , "\x6d\xeb\xfe\xd0\xd5" } , { "\xd1\xe8\xcc\xdb" , "\x6d\xeb\xde\xfe" } , { "\xd1\xe8\xcc\xdb\xa2" , "\x6d\xeb\xde\xd5\xfe" } , { "\xd1\xe8\xcc\xdc" , "\x6d\xeb\xfe\xd1" } , { "\xd1\xe8\xcc\xdd" , "\x6d\xeb\xe3\xfe" } , { "\xd1\xe8\xcc\xde" , "\x6d\xeb\xe5\xfe" } , { "\xd1\xe8\xcc\xdf" , "\x6d\xeb\xcc\xfe" } , { "\xd1\xe8\xcc\xe0" , "\xd2\x6d\xeb\xfe" } , { "\xd1\xe8\xcc\xe0\xa2" , "\xd2\x6d\xeb\xfe\xd5" } , { "\xd1\xe8\xcc\xe1" , "\xd2\x6d\xeb\xfe" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xd2\x6d\xeb\xfe\xd5" } , { "\xd1\xe8\xcc\xe4" , "\xd2\x6d\xeb\xfe\xd0" } , { "\xd1\xe8\xcc\xe5" , "\xd2\x6d\xeb\xfe\xd0" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xd2\x6d\xeb\xfe\xd0\xd5" } , { "\xd1\xe8\xcc\xe7" , "\xd2\x6d\xeb\xfe\xd0" } , { "\xd1\xe8\xcc\xe8" , "\x6d\xeb\xe7\xfe" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\x6d\xe7\xfe\x63\xe7\xd2\x4c\xd0" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\x6d\xe7\xfe\x63\xe7\x4e\xd0" } , { "\xd1\xe8\xcc\xe8\xba" , "\x6d\xe7\xfe\x63\xe7\x53" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\x6d\xe7\xfe\x63\xe7\xd2\x58\xdf" } , { "\xd1\xe8\xcc\xe8\xc6" , "\x6d\xeb\xe1\xfe" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\x6d\xe7\xfe\x63\xf0\xe3" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\x6d\xeb\x9b\xfe\xd1" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\x6d\xeb\xfe\xd4\xd0" } , { "\xd1\xe8\xcc\xe8\xd1" , "\x6d\xeb\xe2\xfe" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\x6d\xe7\xfe\x63\xee\xe3" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xd2\x6d\xeb\xe2\xfe\xd0" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\x6d\xe7\xfe\x63\xe7\x67\xd5" } , { "\xd1\xe8\xcc\xe8\xd7" , "\x6d\xe7\xfe\x63\xe7\x6a" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\x6d\xe7\xfe\x63\xe7\xc9\xa5" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\x6d\xe7\xfe\x63\xe7\xd2\x6b\xfe\xd0" } , { "\xd1\xe8\xcd" , "\x6d\xfe\xd4" } , { "\xd1\xe8\xcd\xa2" , "\x6d\xd5\xfe\xd4" } , { "\xd1\xe8\xcd\xda" , "\x6d\xfe\xd4\xd0" } , { "\xd1\xe8\xcd\xda\xa2" , "\x6d\xfe\xd4\xd0\xd5" } , { "\xd1\xe8\xcd\xdc" , "\x6d\xfe\xd4\xd1" } , { "\xd1\xe8\xcd\xdd" , "\x6d\xca\xfe\xd4" } , { "\xd1\xe8\xcd\xde" , "\x6d\xcb\xfe\xd4" } , { "\xd1\xe8\xcd\xde\xa2" , "\x6d\xcb\xd5\xfe\xd4" } , { "\xd1\xe8\xcd\xe0" , "\xd2\x6d\xfe\xd4" } , { "\xd1\xe8\xcd\xe0\xa2" , "\xd2\x6d\xfe\xd4\xd5" } , { "\xd1\xe8\xcd\xe1" , "\xd2\x6d\xfe\xd4" } , { "\xd1\xe8\xcd\xe4" , "\xd2\x6d\xfe\xd4\xd0" } , { "\xd1\xe8\xcd\xe5" , "\xd2\x6d\xfe\xd4\xd0" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xd2\x6d\xfe\xd4\xd0\xd5" } , { "\xd1\xe8\xcd\xe6" , "\xd2\x6d\xfe\xd4\xd7" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xd2\x6d\xfe\xd4\xd7\xd5" } , { "\xd1\xe8\xcd\xe7" , "\xd2\x6d\xfe\xd4\xd0" } , { "\xd1\xe8\xcd\xe8" , "\x6d\xe7\xfe" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\x6d\xd5\xfe\xd4" } , { "\xd1\xe8\xcf" , "\x6d\xf6\xfe" } , { "\xd1\xe8\xcf\xa2" , "\x6d\xf6\xd5\xfe" } , { "\xd1\xe8\xcf\xda" , "\x6d\xf6\xfe\xd0" } , { "\xd1\xe8\xcf\xda\xa2" , "\x6d\xf6\xfe\xd0\xd5" } , { "\xd1\xe8\xcf\xdb" , "\x6d\xf6\xde\xfe" } , { "\xd1\xe8\xcf\xdb\xa2" , "\x6d\xf6\xde\xd5\xfe" } , { "\xd1\xe8\xcf\xdd" , "\x6d\xf6\xe3\xfe" } , { "\xd1\xe8\xcf\xde" , "\x6d\xf6\xe5\xfe" } , { "\xd1\xe8\xcf\xe0" , "\xd2\x6d\xf6\xfe" } , { "\xd1\xe8\xcf\xe1" , "\xd2\x6d\xf6\xfe" } , { "\xd1\xe8\xcf\xe2" , "\xd2\x6d\xf6\xdf\xfe" } , { "\xd1\xe8\xcf\xe5" , "\xd2\x6d\xf6\xfe\xd0" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xd2\x6d\xf6\xfe\xd7\xd5" } , { "\xd1\xe8\xcf\xe8\xbf" , "\x6d\xe7\xfe\x65\xe7\xfe\x58" } , { "\xd1\xe8\xcf\xe8\xd7" , "\x6d\xe7\xfe\x65\xe7\xfe\x6a" } , { "\xd1\xe8\xd1" , "\x6d\xee\xfe" } , { "\xd1\xe8\xd1\xa2" , "\x6d\xee\xd5\xfe" } , { "\xd1\xe8\xd1\xda" , "\x6d\xee\xfe\xd0" } , { "\xd1\xe8\xd1\xda\xa2" , "\x6d\xee\xfe\xd0\xd5" } , { "\xd1\xe8\xd1\xdb" , "\x6d\xee\xde\xfe" } , { "\xd1\xe8\xd1\xdb\xa2" , "\x6d\xee\xde\xd5\xfe" } , { "\xd1\xe8\xd1\xdc" , "\x6d\xee\xfe\xd1" } , { "\xd1\xe8\xd1\xdd" , "\x6d\xee\xe3\xfe" } , { "\xd1\xe8\xd1\xdd\xa2" , "\x6d\xee\xe3\xd5\xfe" } , { "\xd1\xe8\xd1\xde" , "\x6d\xee\xe5\xfe" } , { "\xd1\xe8\xd1\xde\xa1" , "\x6d\xee\xe5\xdc\xfe" } , { "\xd1\xe8\xd1\xe0" , "\xd2\x6d\xee\xfe" } , { "\xd1\xe8\xd1\xe0\xa2" , "\xd2\x6d\xee\xfe\xd5" } , { "\xd1\xe8\xd1\xe1" , "\xd2\x6d\xee\xfe" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xd2\x6d\xee\xfe\xd5" } , { "\xd1\xe8\xd1\xe2" , "\xd2\x6d\xee\xdf\xfe" } , { "\xd1\xe8\xd1\xe4" , "\xd2\x6d\xee\xfe\xd0" } , { "\xd1\xe8\xd1\xe5" , "\xd2\x6d\xee\xfe\xd0" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xd2\x6d\xee\xfe\xd0\xd5" } , { "\xd1\xe8\xd1\xe6" , "\xd2\x6d\xee\xfe\xd7" } , { "\xd1\xe8\xd1\xe8" , "\x6d\xee\xe7\xfe" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\x6d\xe7\xfe\x6d\xe7\xfe\x4e\xd0" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\x6d\xe7\xfe\x6d\xe7\xfe\xd2\x60" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\x6d\xd4\xe5\xfe\xd4" } , { "\xd1\xe8\xd1\xe8\xd1" , "\x6d\xee\xe2\xfe" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xd2\x6d\xee\xe2\xfe\xd0" } , { "\xd1\xe8\xd2" , "\x6d\xec\xfe" } , { "\xd1\xe8\xd2\xda" , "\x6d\xec\xfe\xd0" } , { "\xd1\xe8\xd2\xda\xa2" , "\x6d\xec\xfe\xd0\xd5" } , { "\xd1\xe8\xd2\xdb" , "\x6d\xec\xde\xfe" } , { "\xd1\xe8\xd2\xdb\xa2" , "\x6d\xec\xde\xd5\xfe" } , { "\xd1\xe8\xd2\xdc" , "\x6d\xec\xfe\xd1" } , { "\xd1\xe8\xd2\xdd" , "\x6d\xec\xe3\xfe" } , { "\xd1\xe8\xd2\xe0" , "\xd2\x6d\xec\xfe" } , { "\xd1\xe8\xd2\xe1" , "\xd2\x6d\xec\xfe" } , { "\xd1\xe8\xd2\xe5" , "\xd2\x6d\xec\xfe\xd0" } , { "\xd1\xe8\xd4" , "\x6d\xe7\xfe\x67" } , { "\xd1\xe8\xd4\xa2" , "\x6d\xe7\xfe\x67\xd5" } , { "\xd1\xe8\xd4\xda" , "\x6d\xe7\xfe\x67\xd0" } , { "\xd1\xe8\xd4\xda\xa2" , "\x6d\xe7\xfe\x67\xd0\xd5" } , { "\xd1\xe8\xd4\xdb" , "\x6d\xe7\xfe\x67\xde" } , { "\xd1\xe8\xd4\xdb\xa2" , "\x6d\xe7\xfe\x67\xde\xd5" } , { "\xd1\xe8\xd4\xdc" , "\x6d\xe7\xfe\x67\xd1" } , { "\xd1\xe8\xd4\xdd" , "\x6d\xe7\xfe\x67\xca" } , { "\xd1\xe8\xd4\xe0" , "\x6d\xe7\xfe\xd2\x67" } , { "\xd1\xe8\xd4\xe0\xa2" , "\x6d\xe7\xfe\xd2\x67\xd5" } , { "\xd1\xe8\xd4\xe1" , "\x6d\xe7\xfe\xd2\x67" } , { "\xd1\xe8\xd4\xe2" , "\x6d\xe7\xfe\xd2\x67\xdf" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\x6d\xe7\xfe\xd2\x67\xdf\x5f\xe7" } , { "\xd1\xe8\xd4\xe5" , "\x6d\xe7\xfe\xd2\x67\xd0" } , { "\xd1\xe8\xd4\xe5\xa2" , "\x6d\xe7\xfe\xd2\x67\xd0\xd5" } , { "\xd1\xe8\xd4\xe8" , "\x6d\xe7\xfe\x67\xe7" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\x6d\xe7\xfe\x67\xe7\xd2\x51" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\x6d\xe7\xfe\xd2\x67\xe9" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\x6d\xe7\xfe\x67\xf8\xd0" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\x6d\xe7\xfe\xd2\x67\xeb\xd5" } , { "\xd1\xe8\xd4\xe8\xcd" , "\x67\xd4" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\x67\xd4\xd0" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\x67\xca\xd4" } , { "\xd1\xe8\xd4\xe8\xd1" , "\x6d\xe7\xfe\x67\xee" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\x6d\xe7\xfe\x67\xee\xd0" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\x6d\xe7\xfe\x67\xee\xe3" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\x6d\xe7\xfe\x67\xe7\x6a\xd1" } , { "\xd1\xe8\xd5" , "\x6d\xe7\xfe\x68" } , { "\xd1\xe8\xd5\xda" , "\x6d\xe7\xfe\x68\xd0" } , { "\xd1\xe8\xd5\xdb" , "\x6d\xe7\xfe\x68\xde" } , { "\xd1\xe8\xd5\xe8" , "\x6d\xe7\xfe\x68\xe7" } , { "\xd1\xe8\xd6" , "\x6d\xe7\xfe\x69" } , { "\xd1\xe8\xd6\xda" , "\x6d\xe7\xfe\x69\xd0" } , { "\xd1\xe8\xd6\xdb" , "\x6d\xe7\xfe\x69\xde" } , { "\xd1\xe8\xd6\xe0" , "\x6d\xe7\xfe\xd2\x69" } , { "\xd1\xe8\xd6\xe5" , "\x6d\xe7\xfe\xd2\x69\xd0" } , { "\xd1\xe8\xd7" , "\x6d\xe7\xfe\x6a" } , { "\xd1\xe8\xd7\xa2" , "\x6d\xe7\xfe\x6a\xd5" } , { "\xd1\xe8\xd7\xda" , "\x6d\xe7\xfe\x6a\xd0" } , { "\xd1\xe8\xd7\xdb" , "\x6d\xe7\xfe\x6a\xde" } , { "\xd1\xe8\xd7\xdb\xa2" , "\x6d\xe7\xfe\x6a\xde\xd5" } , { "\xd1\xe8\xd7\xdc" , "\x6d\xe7\xfe\x6a\xd1" } , { "\xd1\xe8\xd7\xdd" , "\x6d\xe7\xfe\x6a\xca" } , { "\xd1\xe8\xd7\xdd\xa2" , "\x6d\xe7\xfe\x6a\xca\xd5" } , { "\xd1\xe8\xd7\xde" , "\x6d\xe7\xfe\x6a\xcb" } , { "\xd1\xe8\xd7\xe0" , "\x6d\xe7\xfe\xd2\x6a" } , { "\xd1\xe8\xd7\xe0\xa2" , "\x6d\xe7\xfe\xd2\x6a\xd5" } , { "\xd1\xe8\xd7\xe1" , "\x6d\xe7\xfe\xd2\x6a" } , { "\xd1\xe8\xd7\xe2" , "\x6d\xe7\xfe\xd2\x6a\xdf" } , { "\xd1\xe8\xd7\xe4" , "\x6d\xe7\xfe\xd2\x6a\xd0" } , { "\xd1\xe8\xd7\xe6" , "\x6d\xe7\xfe\xd2\x6a\xd7" } , { "\xd1\xe8\xd7\xe8" , "\x6d\xe7\xfe\x6a\xe7" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\x6d\xe7\xfe\xb2\xc6\xd0" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\x6d\xe7\xfe\xb2\xde\xc6" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\x6d\xe7\xfe\xb2\xc6\xd1" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\x6d\xe7\xfe\xb2\xca\xc6" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\x6d\xe7\xfe\xb2\xcb\xc6" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\x6d\xe7\xfe\xd2\xb2\xc6" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\x6d\xe7\xfe\xd2\xb2\xc6\xd0" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\x6d\xe7\xfe\xb2\xe7\xc6" } , { "\xd1\xe8\xd7\xe8\xb5" , "\x6d\xe7\xfe\x6a\xe7\x4e" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\x6d\xe7\xfe\x6a\xe7\x4e\xd0" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\x6d\xe7\xfe\x6a\xe7\xd2\x4e" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\x6d\xe7\xfe\x6a\xe7\xd2\x53" } , { "\xd1\xe8\xd7\xe8\xbd" , "\x6d\xe7\xfe\x6a\xe7\x56" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\x6d\xe7\xfe\x6a\xe7\x56\xd0" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\x6d\xe7\xfe\x6a\xe7\x56\xd0\xd5" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\x6d\xe7\xfe\x6a\xe7\xd2\x56" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\x6d\xe7\xfe\x6a\xe7\xd2\x56\xdf" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\x6d\xe7\xfe\x6a\xe7\xd2\x56\xd0\xd5" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x6d\xe7\xfe\x6a\xe7\xd2\x56\xf6\xd0" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\x6d\xe7\xfe\x6a\xe7\x58\xd0" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\x6d\xe7\xfe\xd2\xaa\xc6\xd0" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\x6d\xe7\xfe\x79\xd0" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\x6d\xe7\xfe\x6a\xe7\x5d\xd0" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x6d\xe7\xfe\x6a\xe7\x5d\xe7\x67\xd0" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\x6d\xe7\xfe\x6a\xe7\x5e\xd0" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\x6d\xe7\xfe\x6a\xef\xd0" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\x6d\xe7\xfe\x6a\xef\xde" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\x6d\xe7\xfe\x6a\xef\xd1" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\x6d\xe7\xfe\x6a\xf0\xe3" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\x6d\xe7\xfe\x6a\xef\xe7" } , { "\xd1\xe8\xd7\xe8\xc8" , "\x6d\xe7\xfe\xb8\xa4" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\x6d\xe7\xfe\xb8\xa4\xd0" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\x6d\xe7\xfe\xb8\xcb\xa4" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\x6d\xe7\xfe\xd2\xb8\xa4" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\x6d\xe7\xfe\xd2\xb8\xa4\xd0" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\x6d\xe7\xfe\xd2\xb8\xa4\xd0" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\x6d\xe7\xfe\xc9\xa5\xd0" } , { "\xd1\xe8\xd7\xe8\xca" , "\x6d\xe7\xfe\x6a\xe8" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\x6d\xe7\xfe\x6a\xe8\xd0" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\x6d\xe7\xfe\xd2\x6a\xe8\xd0" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\x6d\xe7\xfe\xd2\x6a\xe8\xd0" } , { "\xd1\xe8\xd7\xe8\xcc" , "\x6d\xe7\xfe\x6a\xea" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\x6d\xe7\xfe\x6a\xea\xd1" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\x6d\xe7\xfe\xd2\x6a\xea" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\x6d\xe7\xfe\x6a\xed\xd0" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\x6d\xe7\xfe\x6a\xee\xe3" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\x6d\xe7\xfe\xd2\x6a\xed\xd0" } , { "\xd1\xe8\xd7\xe8\xd4" , "\x6d\xe7\xfe\x6a\xe7\x67" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\x6d\xe7\xfe\x6a\xe7\x67\xd0" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\x6d\xe7\xfe\x6a\xe7\x67\xde" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\x6d\xe7\xfe\x6a\xe7\x67\xca" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\x6d\xe7\xfe\x6a\xe7\x6b\xfe\xd0" } , { "\xd1\xe8\xd8" , "\x6d\xe7\xfe\x6b\xfe" } , { "\xd1\xe8\xd8\xda" , "\x6d\xe7\xfe\x6b\xfe\xd0" } , { "\xd1\xe8\xd8\xda\xa2" , "\x6d\xe7\xfe\x6b\xfe\xd0\xd5" } , { "\xd1\xe8\xd8\xdb" , "\x6d\xe7\xfe\x6b\xde\xfe" } , { "\xd1\xe8\xd8\xdc" , "\x6d\xe7\xfe\x6b\xfe\xd1" } , { "\xd1\xe8\xd8\xdd" , "\x6d\xe7\xfe\x6b\xca\xfe" } , { "\xd1\xe8\xd8\xde" , "\x6d\xe7\xfe\x6b\xcb\xfe" } , { "\xd1\xe8\xd8\xe0" , "\x6d\xe7\xfe\xd2\x6b\xfe" } , { "\xd1\xe8\xd8\xe1" , "\x6d\xe7\xfe\xd2\x6b\xfe" } , { "\xd1\xe8\xd8\xe1\xa2" , "\x6d\xe7\xfe\xd2\x6b\xfe\xd5" } , { "\xd1\xe8\xd8\xe2" , "\x6d\xe7\xfe\xd2\x6b\xdf\xfe" } , { "\xd1\xe8\xd8\xe5" , "\x6d\xe7\xfe\xd2\x6b\xfe\xd0" } , { "\xd1\xe8\xd8\xe5\xa2" , "\x6d\xe7\xfe\xd2\x6b\xfe\xd0\xd5" } , { "\xd1\xe8\xd8\xe6" , "\x6d\xe7\xfe\xd2\x6b\xfe\xd7" } , { "\xd1\xe8\xd9\xa6" , "\x6d\xe7\xfe\x42" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\x6d\xe7\xfe\x53\xe0" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\x6d\xe7\xfe\x58\xe0" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\x6d\xe7\xfe\x6a\xe0" } , { "\xd1\xe8\xe8" , "\x6d\xe7\xfe" } , { "\xd1\xe9" , "\x6d\xfe" } , { "\xd1\xe9\xe8\xbf" , "\x6d\xe7\xfe\x58" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\x6d\xe7\xfe\x58\xde\xd5" } , { "\xd2" , "\x66" } , { "\xd2\xa2" , "\x66\xd5" } , { "\xd2\xa3" , "\x66\xd3" } , { "\xd2\xd3" , "\x66\x66" } , { "\xd2\xd6" , "\x66\x69" } , { "\xd2\xda" , "\x66\xd0" } , { "\xd2\xda\xa2" , "\x66\xd0\xd5" } , { "\xd2\xdb" , "\x66\xde" } , { "\xd2\xdb\xa2" , "\x66\xde\xd5" } , { "\xd2\xdb\xa3" , "\x66\xde\xd3" } , { "\xd2\xdc" , "\x66\xd1" } , { "\xd2\xdd" , "\x66\xca" } , { "\xd2\xdd\xa2" , "\x66\xca\xd5" } , { "\xd2\xde" , "\x66\xcb" } , { "\xd2\xdf" , "\x66\xf3" } , { "\xd2\xe0" , "\xd2\x66" } , { "\xd2\xe0\xa2" , "\xd2\x66\xd5" } , { "\xd2\xe1" , "\xd2\x66" } , { "\xd2\xe1\xa2" , "\xd2\x66\xd5" } , { "\xd2\xe2" , "\xd2\x66\xdf" } , { "\xd2\xe2\xa2" , "\xd2\x66\xdf\xd5" } , { "\xd2\xe4" , "\xd2\x66\xd0" } , { "\xd2\xe5" , "\xd2\x66\xd0" } , { "\xd2\xe6" , "\xd2\x66\xd7" } , { "\xd2\xe8" , "\x66\xe7" } , { "\xd2\xe8\xb3" , "\xb0\xc6" } , { "\xd2\xe8\xb3\xdd" , "\xb0\xca\xc6" } , { "\xd2\xe8\xb4\xdd" , "\x66\xe7\x4d\xca" } , { "\xd2\xe8\xb5" , "\x66\xe7\x4e" } , { "\xd2\xe8\xb5\xdd" , "\x66\xe7\x4e\xca" } , { "\xd2\xe8\xb8" , "\x66\xe7\x51" } , { "\xd2\xe8\xbd\xdb" , "\x66\xe7\x56\xde" } , { "\xd2\xe8\xbd\xdc" , "\x66\xe7\x56\xd1" } , { "\xd2\xe8\xc2" , "\x66\xf1" } , { "\xd2\xe8\xc2\xda" , "\x66\xf1\xd0" } , { "\xd2\xe8\xc2\xda\xa2" , "\x66\xf1\xd0\xd5" } , { "\xd2\xe8\xc2\xdb\xa2" , "\x66\xf1\xde\xd5" } , { "\xd2\xe8\xc2\xdd" , "\x66\xf2\xe3" } , { "\xd2\xe8\xc2\xdd\xa2" , "\x66\xf2\xe3\xd5" } , { "\xd2\xe8\xc2\xde" , "\x66\xf2\xe5" } , { "\xd2\xe8\xc2\xde\xa2" , "\x66\xf2\xe5\xd5" } , { "\xd2\xe8\xc2\xe0" , "\xd2\x66\xf1" } , { "\xd2\xe8\xc2\xe1" , "\xd2\x66\xf1" } , { "\xd2\xe8\xc2\xe5" , "\xd2\x66\xf1\xd0" } , { "\xd2\xe8\xc2\xe5\xa2" , "\xd2\x66\xf1\xd0\xd5" } , { "\xd2\xe8\xc3\xdd\xa2" , "\x66\xe7\x5c\xca\xd5" } , { "\xd2\xe8\xc4" , "\x66\xe7\x5d" } , { "\xd2\xe8\xc4\xda" , "\x66\xe7\x5d\xd0" } , { "\xd2\xe8\xc4\xda\xa2" , "\x66\xe7\x5d\xd0\xd5" } , { "\xd2\xe8\xc4\xdb" , "\x66\xe7\x5d\xde" } , { "\xd2\xe8\xc4\xdd" , "\x66\xe7\x5d\xca" } , { "\xd2\xe8\xc6\xdb" , "\x66\xef\xde" } , { "\xd2\xe8\xc6\xdd" , "\x66\xf0\xe3" } , { "\xd2\xe8\xc8" , "\xc1\xa4" } , { "\xd2\xe8\xc8\xdd" , "\xc1\xca\xa4" } , { "\xd2\xe8\xca" , "\x66\xe8" } , { "\xd2\xe8\xcd" , "\x66\xd4" } , { "\xd2\xe8\xcd\xa2" , "\x66\xd5\xd4" } , { "\xd2\xe8\xcd\xda" , "\x66\xd4\xd0" } , { "\xd2\xe8\xcd\xda\xa2" , "\x66\xd4\xd0\xd5" } , { "\xd2\xe8\xcd\xdd" , "\x66\xca\xd4" } , { "\xd2\xe8\xcd\xe8\xcd" , "\x66\xd4" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\x66\xd4\xd0" } , { "\xd2\xe8\xcf" , "\x66\xf5" } , { "\xd2\xe8\xcf\xda" , "\x66\xf5\xd0" } , { "\xd2\xe8\xcf\xdc" , "\x66\xf5\xd1" } , { "\xd2\xe8\xcf\xe5" , "\xd2\x66\xf5\xd0" } , { "\xd2\xe8\xd1" , "\x66\xed" } , { "\xd2\xe8\xd1\xa2" , "\x66\xed\xd5" } , { "\xd2\xe8\xd1\xda" , "\x66\xed\xd0" } , { "\xd2\xe8\xd1\xda\xa2" , "\x66\xed\xd0\xd5" } , { "\xd2\xe8\xd1\xdb" , "\x66\xed\xde" } , { "\xd2\xe8\xd1\xdb\xa2" , "\x66\xed\xde\xd5" } , { "\xd2\xe8\xd1\xdc" , "\x66\xed\xd1" } , { "\xd2\xe8\xd1\xdd" , "\x66\xee\xe3" } , { "\xd2\xe8\xd1\xdd\xa2" , "\x66\xee\xe3\xd5" } , { "\xd2\xe8\xd1\xde" , "\x66\xee\xe5" } , { "\xd2\xe8\xd1\xe0" , "\xd2\x66\xed" } , { "\xd2\xe8\xd1\xe0\xa2" , "\xd2\x66\xed\xd5" } , { "\xd2\xe8\xd1\xe1" , "\xd2\x66\xed" } , { "\xd2\xe8\xd1\xe1\xa2" , "\xd2\x66\xed\xd5" } , { "\xd2\xe8\xd1\xe2" , "\xd2\x66\xed\xdf" } , { "\xd2\xe8\xd1\xe2\xa2" , "\xd2\x66\xed\xdf\xd5" } , { "\xd2\xe8\xd1\xe4" , "\xd2\x66\xed\xd0" } , { "\xd2\xe8\xd1\xe5" , "\xd2\x66\xed\xd0" } , { "\xd2\xe8\xd1\xe6" , "\xd2\x66\xed\xd7" } , { "\xd2\xe8\xd2" , "\x66\xfd" } , { "\xd2\xe8\xd2\xa2" , "\x66\xfd\xd5" } , { "\xd2\xe8\xd2\xda" , "\x66\xfd\xd0" } , { "\xd2\xe8\xd2\xda\xa2" , "\x66\xfd\xd0\xd5" } , { "\xd2\xe8\xd2\xdb" , "\x66\xfd\xde" } , { "\xd2\xe8\xd2\xdb\xa2" , "\x66\xfd\xde\xd5" } , { "\xd2\xe8\xd2\xdc" , "\x66\xfd\xd1" } , { "\xd2\xe8\xd2\xdd" , "\x66\xec\xe3" } , { "\xd2\xe8\xd2\xdd\xa2" , "\x66\xec\xe3\xd5" } , { "\xd2\xe8\xd2\xde" , "\x66\xec\xe5" } , { "\xd2\xe8\xd2\xe0" , "\xd2\x66\xfd" } , { "\xd2\xe8\xd2\xe0\xa2" , "\xd2\x66\xfd\xd5" } , { "\xd2\xe8\xd2\xe1" , "\xd2\x66\xfd" } , { "\xd2\xe8\xd2\xe1\xa2" , "\xd2\x66\xfd\xd5" } , { "\xd2\xe8\xd2\xe2" , "\xd2\x66\xfd\xdf" } , { "\xd2\xe8\xd2\xe2\xa2" , "\xd2\x66\xfd\xdf\xd5" } , { "\xd2\xe8\xd2\xe4" , "\xd2\x66\xfd\xd0" } , { "\xd2\xe8\xd2\xe4\xa2" , "\xd2\x66\xfd\xd0\xd5" } , { "\xd2\xe8\xd2\xe5" , "\xd2\x66\xfd\xd0" } , { "\xd2\xe8\xd2\xe5\xa2" , "\xd2\x66\xfd\xd0\xd5" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\x66\xfd\xe1\xde" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\xd2\x66\xfd\xe2\xd0" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\x66\xfd\x98\xd1" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\x66\xe7\x66\xe7\x67\xca" } , { "\xd2\xe8\xd4" , "\x66\xe7\x67" } , { "\xd2\xe8\xd4\xda" , "\x66\xe7\x67\xd0" } , { "\xd2\xe8\xd4\xdb" , "\x66\xe7\x67\xde" } , { "\xd2\xe8\xd6\xdd" , "\x66\xe7\x69\xca" } , { "\xd2\xe8\xd7\xdb" , "\x66\xe7\x6a\xde" } , { "\xd2\xe8\xd7\xdd" , "\x66\xe7\x6a\xca" } , { "\xd2\xe8\xe8" , "\x66\xe7" } , { "\xd3" , "\x66" } , { "\xd3\xc9" , "\x66\x24\xbc" } , { "\xd4" , "\x67" } , { "\xd4\xa1" , "\x67\xdc" } , { "\xd4\xa2" , "\x67\xd5" } , { "\xd4\xa3" , "\x67\xd3" } , { "\xd4\xda" , "\x67\xd0" } , { "\xd4\xda\xa1" , "\x67\xdc\xd0" } , { "\xd4\xda\xa2" , "\x67\xd0\xd5" } , { "\xd4\xda\xa3" , "\x67\xd0\xd3" } , { "\xd4\xdb" , "\x67\xde" } , { "\xd4\xdb\xa2" , "\x67\xde\xd5" } , { "\xd4\xdb\xa3" , "\x67\xde\xd3" } , { "\xd4\xdb\xb3\xdf" , "\x67\xde\x4c\xf3" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\x67\xde\xaa\xf3\xc6" } , { "\xd4\xdc" , "\x67\xd1" } , { "\xd4\xdc\xa2" , "\x67\xd1\xd5" } , { "\xd4\xdd" , "\x67\xca" } , { "\xd4\xdd\xa1" , "\x67\xca\xdc" } , { "\xd4\xdd\xa2" , "\x67\xca\xd5" } , { "\xd4\xdd\xa2\xa2" , "\x67\xca\xd5\xd5" } , { "\xd4\xdd\xa3" , "\x67\xca\xd3" } , { "\xd4\xde" , "\x67\xcb" } , { "\xd4\xde\xa1" , "\x67\xcb\xdc" } , { "\xd4\xde\xa2" , "\x67\xcb\xd5" } , { "\xd4\xdf" , "\x67\xf3" } , { "\xd4\xdf\xa2" , "\x67\xf3\xd5" } , { "\xd4\xe0" , "\xd2\x67" } , { "\xd4\xe0\xa2" , "\xd2\x67\xd5" } , { "\xd4\xe1" , "\xd2\x67" } , { "\xd4\xe1\xa2" , "\xd2\x67\xd5" } , { "\xd4\xe1\xa3" , "\xd2\x67\xd3" } , { "\xd4\xe2" , "\xd2\x67\xdf" } , { "\xd4\xe2\xa2" , "\xd2\x67\xdf\xd5" } , { "\xd4\xe2\xa3" , "\xd2\x67\xdf\xd3" } , { "\xd4\xe2\xba\xe8" , "\xd2\x67\xdf\x53\xe7" } , { "\xd4\xe2\xd7\xe8" , "\xd2\x67\xdf\x6a\xe7" } , { "\xd4\xe4" , "\xd2\x67\xd0" } , { "\xd4\xe4\xa2" , "\xd2\x67\xd0\xd5" } , { "\xd4\xe5" , "\xd2\x67\xd0" } , { "\xd4\xe5\xa2" , "\xd2\x67\xd0\xd5" } , { "\xd4\xe6" , "\xd2\x67\xd7" } , { "\xd4\xe7" , "\xd2\x67\xd0" } , { "\xd4\xe8" , "\x67\xe7" } , { "\xd4\xe8\xa2" , "\x67\xe7\xd5" } , { "\xd4\xe8\xb3" , "\x67\xe7\x4c" } , { "\xd4\xe8\xb3\xda" , "\x67\xe7\x4c\xd0" } , { "\xd4\xe8\xb3\xdb" , "\x67\xe7\x4c\xde" } , { "\xd4\xe8\xb3\xdd" , "\x67\xe7\x4c\xca" } , { "\xd4\xe8\xb3\xde" , "\x67\xe7\x4c\xcb" } , { "\xd4\xe8\xb3\xe0" , "\x67\xe7\xd2\x4c" } , { "\xd4\xe8\xb3\xe1" , "\x67\xe7\xd2\x4c" } , { "\xd4\xe8\xb3\xe5" , "\x67\xe7\xd2\x4c\xd0" } , { "\xd4\xe8\xb3\xe8\xb3" , "\x67\xe7\xa3\xc6" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\x67\xe7\xa3\xde\xc6" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\x67\xe7\xa3\xca\xc6" } , { "\xd4\xe8\xb3\xe8\xc2" , "\x67\xe7\xa6\xc6" } , { "\xd4\xe8\xb3\xe8\xcd" , "\x4c\xd4" } , { "\xd4\xe8\xb3\xe8\xd6" , "\x67\xe7\x6c" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\x67\xe7\x6c\xd0" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\x67\xe7\xd2\x6c\xd0\xd5" } , { "\xd4\xe8\xb5\xda" , "\x67\xe7\x4e\xd0" } , { "\xd4\xe8\xb5\xda\xa2" , "\x67\xe7\x4e\xd0\xd5" } , { "\xd4\xe8\xb6" , "\x67\xe7\x4f" } , { "\xd4\xe8\xb8" , "\x67\xe7\x51" } , { "\xd4\xe8\xb8\xda" , "\x67\xe7\x51\xd0" } , { "\xd4\xe8\xb8\xdb" , "\x67\xe7\x51\xde" } , { "\xd4\xe8\xb8\xdd" , "\x67\xe7\x51\xca" } , { "\xd4\xe8\xb8\xe0" , "\x67\xe7\xd2\x51" } , { "\xd4\xe8\xb8\xe1" , "\x67\xe7\xd2\x51" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\x67\xe7\x6e\xd0" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\x67\xe7\x6e\xca" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\x67\xe7\xd2\x6e" } , { "\xd4\xe8\xba" , "\x67\xe7\x53" } , { "\xd4\xe8\xba\xdc" , "\x67\xe7\x53\xd1" } , { "\xd4\xe8\xba\xe9" , "\x67\xe7\x53" } , { "\xd4\xe8\xbd" , "\x67\xe7\x56" } , { "\xd4\xe8\xbd\xa2" , "\x67\xe7\x56\xd5" } , { "\xd4\xe8\xbd\xda" , "\x67\xe7\x56\xd0" } , { "\xd4\xe8\xbd\xe0" , "\x67\xe7\xd2\x56" } , { "\xd4\xe8\xbd\xe2" , "\x67\xe7\xd2\x56\xdf" } , { "\xd4\xe8\xbd\xe8" , "\x67\xe7\x56\xe7" } , { "\xd4\xe8\xbd\xe8\xd1" , "\x67\xe7\x56\xee" } , { "\xd4\xe8\xbf" , "\x67\xe7\x58" } , { "\xd4\xe8\xbf\xa2" , "\x67\xe7\x58\xd5" } , { "\xd4\xe8\xbf\xda" , "\x67\xe7\x58\xd0" } , { "\xd4\xe8\xbf\xdb" , "\x67\xe7\x58\xde" } , { "\xd4\xe8\xbf\xdd" , "\x67\xe7\x58\xca" } , { "\xd4\xe8\xbf\xe0" , "\x67\xe7\xd2\x58" } , { "\xd4\xe8\xc2" , "\x67\xf2" } , { "\xd4\xe8\xc2\xda" , "\x67\xf2\xd0" } , { "\xd4\xe8\xc2\xda\xa2" , "\x67\xf2\xd0\xd5" } , { "\xd4\xe8\xc2\xdb" , "\x67\xf2\xde" } , { "\xd4\xe8\xc2\xdc" , "\x67\xf2\xd1" } , { "\xd4\xe8\xc2\xdd\xa2" , "\x67\xf2\xe3\xd5" } , { "\xd4\xe8\xc2\xe5" , "\xd2\x67\xf2\xd0" } , { "\xd4\xe8\xc2\xe8\xc2" , "\x67\xe7\x72\xfe" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\x67\xe7\x72\xfe\xd0" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\x67\xe7\x72\xfe\xd0\xd5" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\x67\xe7\x72\xde\xfe" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\x67\xe7\xd2\x72\xfe\xd0\xd5" } , { "\xd4\xe8\xc2\xe8\xcd" , "\x67\xf2\xd4" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\x67\xf2\xd4\xd0" } , { "\xd4\xe8\xc2\xe8\xd7" , "\x67\xe7\x97" } , { "\xd4\xe8\xc3\xe0" , "\x67\xe7\xd2\x5c" } , { "\xd4\xe8\xc4" , "\x67\xe7\x5d" } , { "\xd4\xe8\xc4\xda" , "\x67\xe7\x5d\xd0" } , { "\xd4\xe8\xc4\xdb" , "\x67\xe7\x5d\xde" } , { "\xd4\xe8\xc4\xdc" , "\x67\xe7\x5d\xd1" } , { "\xd4\xe8\xc4\xe5\xa2" , "\x67\xe7\xd2\x5d\xd0\xd5" } , { "\xd4\xe8\xc4\xe8\xc5" , "\x67\xe7\x77" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\x67\xe7\x77\xd0" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\x67\xe7\x77\xde" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\x67\xe7\xd2\x77\xd0\xd5" } , { "\xd4\xe8\xc4\xe8\xd4" , "\x67\xe7\x5d\xe7\x67" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\x67\xe7\x5d\xe7\x67\xde" } , { "\xd4\xe8\xc5" , "\x67\xe7\x5e" } , { "\xd4\xe8\xc5\xda" , "\x67\xe7\x5e\xd0" } , { "\xd4\xe8\xc5\xdb" , "\x67\xe7\x5e\xde" } , { "\xd4\xe8\xc6" , "\x67\xf0" } , { "\xd4\xe8\xc6\xa2" , "\x67\xf0\xd5" } , { "\xd4\xe8\xc6\xda" , "\x67\xf0\xd0" } , { "\xd4\xe8\xc6\xdb" , "\x67\xf0\xde" } , { "\xd4\xe8\xc6\xdc" , "\x67\xf0\xd1" } , { "\xd4\xe8\xc6\xdd" , "\x67\xf0\xe3" } , { "\xd4\xe8\xc6\xdd\xa2" , "\x67\xf0\xe3\xd5" } , { "\xd4\xe8\xc6\xde" , "\x67\xf0\xe5" } , { "\xd4\xe8\xc6\xe0" , "\xd2\x67\xf0" } , { "\xd4\xe8\xc6\xe1" , "\xd2\x67\xf0" } , { "\xd4\xe8\xc6\xe4" , "\xd2\x67\xf0\xd0" } , { "\xd4\xe8\xc6\xe5" , "\xd2\x67\xf0\xd0" } , { "\xd4\xe8\xc6\xe8\xc4" , "\x67\xe7\x74" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\x67\xe7\x74\xd0" } , { "\xd4\xe8\xc8" , "\x67\xe7\x60" } , { "\xd4\xe8\xc8\xda" , "\x67\xe7\x60\xd0" } , { "\xd4\xe8\xc8\xdb" , "\x67\xe7\x60\xde" } , { "\xd4\xe8\xc8\xdd" , "\x67\xe7\x60\xca" } , { "\xd4\xe8\xc8\xe2" , "\x67\xe7\xd2\x60\xdf" } , { "\xd4\xe8\xc8\xe8\xcf" , "\x67\xe7\x60\xf5" } , { "\xd4\xe8\xc9" , "\x67\xe7\x24\xbc" } , { "\xd4\xe8\xca" , "\x67\xe9" } , { "\xd4\xe8\xca\xdd" , "\x67\xe9\xe3" } , { "\xd4\xe8\xca\xe5" , "\xd2\x67\xe9\xd0" } , { "\xd4\xe8\xcb" , "\x67\xf8" } , { "\xd4\xe8\xcb\xda" , "\x67\xf8\xd0" } , { "\xd4\xe8\xcc\xdb" , "\x67\xeb\xde" } , { "\xd4\xe8\xcc\xdc" , "\x67\xeb\xd1" } , { "\xd4\xe8\xcc\xe0" , "\xd2\x67\xeb" } , { "\xd4\xe8\xcc\xe0\xa2" , "\xd2\x67\xeb\xd5" } , { "\xd4\xe8\xcc\xe1" , "\xd2\x67\xeb" } , { "\xd4\xe8\xcd" , "\x67\xd4" } , { "\xd4\xe8\xcd\xa2" , "\x67\xd5\xd4" } , { "\xd4\xe8\xcd\xa3" , "\x67\xd4\xd3" } , { "\xd4\xe8\xcd\xda" , "\x67\xd4\xd0" } , { "\xd4\xe8\xcd\xda\xa1" , "\x67\xdc\xd4\xd0" } , { "\xd4\xe8\xcd\xda\xa2" , "\x67\xd4\xd0\xd5" } , { "\xd4\xe8\xcd\xdc" , "\x67\xd4\xd1" } , { "\xd4\xe8\xcd\xdd" , "\x67\xca\xd4" } , { "\xd4\xe8\xcd\xdd\xa2" , "\x67\xca\xd5\xd4" } , { "\xd4\xe8\xcd\xde" , "\x67\xcb\xd4" } , { "\xd4\xe8\xcd\xe1" , "\xd2\x67\xd4" } , { "\xd4\xe8\xcd\xe2" , "\xd2\x67\xdf\xd4" } , { "\xd4\xe8\xcd\xe4" , "\xd2\x67\xd4\xd0" } , { "\xd4\xe8\xcd\xe5" , "\xd2\x67\xd4\xd0" } , { "\xd4\xe8\xcd\xe5\xa2" , "\xd2\x67\xd4\xd0\xd5" } , { "\xd4\xe8\xcd\xe6" , "\xd2\x67\xd4\xd7" } , { "\xd4\xe8\xcd\xe6\xa2" , "\xd2\x67\xd4\xd7\xd5" } , { "\xd4\xe8\xcd\xe8\xb3" , "\x67\xe7\xaf\xe7\xc6\x4c" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\x67\xe7\xaf\xe7\xc6\x4c\xde" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\x67\xe7\xaf\xe7\xc6\xa6\xc6" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\x67\xe7\xaf\xe7\xc6\xa6\xde\xc6" } , { "\xd4\xe8\xcd\xe8\xcd" , "\x67\xd4" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\x67\xd5\xd4" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\x67\xd4\xd0" } , { "\xd4\xe8\xcf" , "\x67\xf6" } , { "\xd4\xe8\xcf\xa2" , "\x67\xf6\xd5" } , { "\xd4\xe8\xcf\xda" , "\x67\xf6\xd0" } , { "\xd4\xe8\xcf\xdb" , "\x67\xf6\xde" } , { "\xd4\xe8\xcf\xdc" , "\x67\xf6\xd1" } , { "\xd4\xe8\xcf\xdd" , "\x67\xf6\xe3" } , { "\xd4\xe8\xcf\xe0\xa2" , "\xd2\x67\xf6\xd5" } , { "\xd4\xe8\xcf\xe1" , "\xd2\x67\xf6" } , { "\xd4\xe8\xcf\xe2" , "\xd2\x67\xf6\xdf" } , { "\xd4\xe8\xcf\xe5" , "\xd2\x67\xf6\xd0" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\x67\xe7\x65\xe7\xfe\x5a\xd0" } , { "\xd4\xe8\xcf\xe8\xc2" , "\x67\xe7\x65\xf1\xfe" } , { "\xd4\xe8\xcf\xe8\xcd" , "\x67\xf6\xd4" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\x67\xf6\xd4\xd0" } , { "\xd4\xe8\xd1" , "\x67\xee" } , { "\xd4\xe8\xd1\xda" , "\x67\xee\xd0" } , { "\xd4\xe8\xd1\xda\xa2" , "\x67\xee\xd0\xd5" } , { "\xd4\xe8\xd1\xdb" , "\x67\xee\xde" } , { "\xd4\xe8\xd1\xdc" , "\x67\xee\xd1" } , { "\xd4\xe8\xd1\xdd" , "\x67\xee\xe3" } , { "\xd4\xe8\xd1\xde" , "\x67\xee\xe5" } , { "\xd4\xe8\xd1\xe0" , "\xd2\x67\xee" } , { "\xd4\xe8\xd1\xe1" , "\xd2\x67\xee" } , { "\xd4\xe8\xd1\xe5" , "\xd2\x67\xee\xd0" } , { "\xd4\xe8\xd1\xe8\xd1" , "\x67\xee\xe2" } , { "\xd4\xe8\xd2\xda" , "\x67\xec\xd0" } , { "\xd4\xe8\xd2\xe8\xd1" , "\x67\xec\xe2" } , { "\xd4\xe8\xd4" , "\x67\xe7\x67" } , { "\xd4\xe8\xd4\xa2" , "\x67\xe7\x67\xd5" } , { "\xd4\xe8\xd4\xda" , "\x67\xe7\x67\xd0" } , { "\xd4\xe8\xd4\xdb" , "\x67\xe7\x67\xde" } , { "\xd4\xe8\xd4\xdb\xa2" , "\x67\xe7\x67\xde\xd5" } , { "\xd4\xe8\xd4\xdc" , "\x67\xe7\x67\xd1" } , { "\xd4\xe8\xd4\xdc\xa2" , "\x67\xe7\x67\xd1\xd5" } , { "\xd4\xe8\xd4\xdd" , "\x67\xe7\x67\xca" } , { "\xd4\xe8\xd4\xdd\xa2" , "\x67\xe7\x67\xca\xd5" } , { "\xd4\xe8\xd4\xde" , "\x67\xe7\x67\xcb" } , { "\xd4\xe8\xd4\xde\xa2" , "\x67\xe7\x67\xcb\xd5" } , { "\xd4\xe8\xd4\xe0" , "\x67\xe7\xd2\x67" } , { "\xd4\xe8\xd4\xe0\xa2" , "\x67\xe7\xd2\x67\xd5" } , { "\xd4\xe8\xd4\xe1" , "\x67\xe7\xd2\x67" } , { "\xd4\xe8\xd4\xe1\xa2" , "\x67\xe7\xd2\x67\xd5" } , { "\xd4\xe8\xd4\xe2" , "\x67\xe7\xd2\x67\xdf" } , { "\xd4\xe8\xd4\xe4" , "\x67\xe7\xd2\x67\xd0" } , { "\xd4\xe8\xd4\xe4\xa2" , "\x67\xe7\xd2\x67\xd0\xd5" } , { "\xd4\xe8\xd4\xe5" , "\x67\xe7\xd2\x67\xd0" } , { "\xd4\xe8\xd4\xe8" , "\x67\xe7\x67\xe7" } , { "\xd4\xe8\xd4\xe8\xcd" , "\x67\xd4" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\x67\xe7\xbe\xde\xa4" } , { "\xd4\xe8\xd5\xe8\xcd" , "\x68\xd4" } , { "\xd4\xe8\xd6" , "\x67\xe7\x69" } , { "\xd4\xe8\xd6\xda" , "\x67\xe7\x69\xd0" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\x67\xe7\xbd\xde\xa4" } , { "\xd4\xe8\xd7" , "\x67\xe7\x6a" } , { "\xd4\xe8\xd7\xda" , "\x67\xe7\x6a\xd0" } , { "\xd4\xe8\xd7\xda\xa2" , "\x67\xe7\x6a\xd0\xd5" } , { "\xd4\xe8\xd7\xdb" , "\x67\xe7\x6a\xde" } , { "\xd4\xe8\xd7\xdc" , "\x67\xe7\x6a\xd1" } , { "\xd4\xe8\xd7\xde" , "\x67\xe7\x6a\xcb" } , { "\xd4\xe8\xd7\xe0" , "\x67\xe7\xd2\x6a" } , { "\xd4\xe8\xd7\xe2" , "\x67\xe7\xd2\x6a\xdf" } , { "\xd4\xe8\xd7\xe6" , "\x67\xe7\xd2\x6a\xd7" } , { "\xd4\xe8\xd7\xe8" , "\x67\xe7\x6a\xe7" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\x67\xe7\xb2\xc6\xd0" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\x67\xe7\xb2\xc6\xd1" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\x67\xe7\xd2\xb2\xc6\xd0" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\x67\xe7\xb2\xe7\xc6" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\x67\xe7\x6a\xe7\x4e\xd0" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\x67\xe7\x6a\xe7\x56\xd0" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\x67\xe7\xaa\xc6\xd0" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\x67\xe7\xaa\xca\xd6\xc6" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\x67\xe7\xd2\xaa\xc6" } , { "\xd4\xe8\xd7\xe8\xc3" , "\x67\xe7\x79" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\x67\xe7\x79\xd0" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\x67\xe7\x6a\xef\xde" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\x67\xe7\x6a\xf0\xe3" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\x67\xe7\xb8\xde\xa4" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\x67\xe7\xd2\xb8\xdf\xa4" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\x67\xe7\x6a\xeb\xcc" } , { "\xd4\xe8\xd8" , "\x67\xe7\x6b\xfe" } , { "\xd4\xe8\xd8\xda" , "\x67\xe7\x6b\xfe\xd0" } , { "\xd4\xe8\xd8\xda\xa2" , "\x67\xe7\x6b\xfe\xd0\xd5" } , { "\xd4\xe8\xd8\xdb" , "\x67\xe7\x6b\xde\xfe" } , { "\xd4\xe8\xd8\xdc" , "\x67\xe7\x6b\xfe\xd1" } , { "\xd4\xe8\xd8\xe1" , "\x67\xe7\xd2\x6b\xfe" } , { "\xd4\xe8\xd8\xe2" , "\x67\xe7\xd2\x6b\xdf\xfe" } , { "\xd4\xe8\xd9\xcd" , "\x67\xe7\xaf\xc6" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\x67\xe7\xaf\xe0\xc6" } , { "\xd4\xe8\xe8" , "\x67\xe7" } , { "\xd4\xe8\xe9\xcf" , "\x67\xe7\x65\xfe" } , { "\xd4\xe9" , "\x67" } , { "\xd5" , "\x68" } , { "\xd5\xa1" , "\x68\xdc" } , { "\xd5\xa2" , "\x68\xd5" } , { "\xd5\xa2\xa3" , "\x68\xd5\xd3" } , { "\xd5\xa3" , "\x68\xd3" } , { "\xd5\xda" , "\x68\xd0" } , { "\xd5\xda\xa1" , "\x68\xdc\xd0" } , { "\xd5\xda\xa2" , "\x68\xd0\xd5" } , { "\xd5\xda\xa3" , "\x68\xd0\xd3" } , { "\xd5\xdb" , "\x68\xde" } , { "\xd5\xdb\xa2" , "\x68\xde\xd5" } , { "\xd5\xdc" , "\x68\xd1" } , { "\xd5\xdc\xa2" , "\x68\xd1\xd5" } , { "\xd5\xdc\xa3" , "\x68\xd1\xd3" } , { "\xd5\xdd" , "\x68\xca" } , { "\xd5\xdd\xa2" , "\x68\xca\xd5" } , { "\xd5\xdd\xa3" , "\x68\xca\xd3" } , { "\xd5\xdd\xd0\xdd" , "\x68\xca\x65\xf4\xfe" } , { "\xd5\xde" , "\x68\xcb" } , { "\xd5\xde\xa2" , "\x68\xcb\xd5" } , { "\xd5\xdf" , "\x68\xf3" } , { "\xd5\xdf\xa2" , "\x68\xf3\xd5" } , { "\xd5\xe0" , "\xd2\x68" } , { "\xd5\xe0\xa2" , "\xd2\x68\xd5" } , { "\xd5\xe1" , "\xd2\x68" } , { "\xd5\xe1\xa2" , "\xd2\x68\xd5" } , { "\xd5\xe2" , "\xd2\x68\xdf" } , { "\xd5\xe2\xa2" , "\xd2\x68\xdf\xd5" } , { "\xd5\xe4" , "\xd2\x68\xd0" } , { "\xd5\xe4\xa2" , "\xd2\x68\xd0\xd5" } , { "\xd5\xe5" , "\xd2\x68\xd0" } , { "\xd5\xe5\xa2" , "\xd2\x68\xd0\xd5" } , { "\xd5\xe6" , "\xd2\x68\xd7" } , { "\xd5\xe6\xa2" , "\xd2\x68\xd7\xd5" } , { "\xd5\xe7" , "\xd2\x68\xd0" } , { "\xd5\xe8" , "\x68\xe7" } , { "\xd5\xe8\xa2" , "\x68\xe7\xd5" } , { "\xd5\xe8\xb3" , "\x68\xe7\x4c" } , { "\xd5\xe8\xb3\xda" , "\x68\xe7\x4c\xd0" } , { "\xd5\xe8\xb3\xdb" , "\x68\xe7\x4c\xde" } , { "\xd5\xe8\xb3\xdc" , "\x68\xe7\x4c\xd1" } , { "\xd5\xe8\xb3\xdd" , "\x68\xe7\x4c\xca" } , { "\xd5\xe8\xb3\xde" , "\x68\xe7\x4c\xcb" } , { "\xd5\xe8\xb3\xe1" , "\x68\xe7\xd2\x4c" } , { "\xd5\xe8\xb3\xe1\xa2" , "\x68\xe7\xd2\x4c\xd5" } , { "\xd5\xe8\xb3\xe5\xa2" , "\x68\xe7\xd2\x4c\xd0\xd5" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\x68\xe7\xa6\xde\xc6" } , { "\xd5\xe8\xb3\xe8\xd6" , "\x68\xe7\x6c" } , { "\xd5\xe8\xb3\xe9" , "\x68\xe7\x4c" } , { "\xd5\xe8\xb4\xa2" , "\x68\xe7\x4d\xd5" } , { "\xd5\xe8\xb4\xda" , "\x68\xe7\x4d\xd0" } , { "\xd5\xe8\xb5\xda" , "\x68\xe7\x4e\xd0" } , { "\xd5\xe8\xb5\xdd\xa2" , "\x68\xe7\x4e\xca\xd5" } , { "\xd5\xe8\xb6\xda" , "\x68\xe7\x4f\xd0" } , { "\xd5\xe8\xb8" , "\xbe\xa4" } , { "\xd5\xe8\xb8\xa2" , "\xbe\xd6\xa4" } , { "\xd5\xe8\xb8\xda" , "\xbe\xa4\xd0" } , { "\xd5\xe8\xb8\xda\xa2" , "\xbe\xa4\xd0\xd6" } , { "\xd5\xe8\xb8\xdb" , "\xbe\xde\xa4" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xbe\xde\xd6\xa4" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xbe\xde\xd6\xa4\xd5" } , { "\xd5\xe8\xb8\xdd" , "\xbe\xca\xa4" } , { "\xd5\xe8\xb8\xe1" , "\xd2\xbe\xa4" } , { "\xd5\xe8\xb8\xe2" , "\xd2\xbe\xdf\xa4" } , { "\xd5\xe8\xb8\xe5" , "\xd2\xbe\xa4\xd0" } , { "\xd5\xe8\xb8\xe8\xb9" , "\x68\xe7\x6f" } , { "\xd5\xe8\xb8\xe8\xcd" , "\xbe\xa4\xd4" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\xbe\xa4\xd4\xd0" } , { "\xd5\xe8\xb9" , "\x7b" } , { "\xd5\xe8\xb9\xda" , "\x7b\xd0" } , { "\xd5\xe8\xb9\xdb" , "\x7b\xde" } , { "\xd5\xe8\xb9\xe1" , "\xd2\x7b" } , { "\xd5\xe8\xbd" , "\x68\xe7\x56" } , { "\xd5\xe8\xbd\xa2" , "\x68\xe7\x56\xd5" } , { "\xd5\xe8\xbd\xdb" , "\x68\xe7\x56\xde" } , { "\xd5\xe8\xbd\xe5" , "\x68\xe7\xd2\x56\xd0" } , { "\xd5\xe8\xbd\xe8\xcd" , "\x56\xd4" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\x56\xd4\xd0" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\x56\xcb\xd4" } , { "\xd5\xe8\xbd\xe8\xcf" , "\x68\xe7\x56\xf6" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\x68\xe7\xd2\x56\xf6" } , { "\xd5\xe8\xbf\xe9\xa1" , "\x68\xe7\x58\xdc" } , { "\xd5\xe8\xc2" , "\x68\xf1" } , { "\xd5\xe8\xc2\xda" , "\x68\xf1\xd0" } , { "\xd5\xe8\xc2\xdb" , "\x68\xf1\xde" } , { "\xd5\xe8\xc2\xdc" , "\x68\xf1\xd1" } , { "\xd5\xe8\xc2\xde" , "\x68\xf2\xe5" } , { "\xd5\xe8\xc2\xe1" , "\xd2\x68\xf1" } , { "\xd5\xe8\xc2\xe1\xa2" , "\xd2\x68\xf1\xd5" } , { "\xd5\xe8\xc2\xe2" , "\xd2\x68\xf1\xdf" } , { "\xd5\xe8\xc2\xe5" , "\xd2\x68\xf1\xd0" } , { "\xd5\xe8\xc2\xe5\xa2" , "\xd2\x68\xf1\xd0\xd5" } , { "\xd5\xe8\xc3" , "\x68\xe7\x5c" } , { "\xd5\xe8\xc3\xda" , "\x68\xe7\x5c\xd0" } , { "\xd5\xe8\xc5" , "\x68\xe7\x5e" } , { "\xd5\xe8\xc5\xda" , "\x68\xe7\x5e\xd0" } , { "\xd5\xe8\xc6" , "\x68\xef" } , { "\xd5\xe8\xc6\xa2" , "\x68\xef\xd5" } , { "\xd5\xe8\xc6\xda" , "\x68\xef\xd0" } , { "\xd5\xe8\xc6\xda\xa2" , "\x68\xef\xd0\xd5" } , { "\xd5\xe8\xc6\xdb" , "\x68\xef\xde" } , { "\xd5\xe8\xc6\xdb\xa2" , "\x68\xef\xde\xd5" } , { "\xd5\xe8\xc6\xdd" , "\x68\xf0\xe3" } , { "\xd5\xe8\xc6\xe0" , "\xd2\x68\xef" } , { "\xd5\xe8\xc6\xe1" , "\xd2\x68\xef" } , { "\xd5\xe8\xc6\xe5" , "\xd2\x68\xef\xd0" } , { "\xd5\xe8\xc6\xe5\xa2" , "\xd2\x68\xef\xd0\xd5" } , { "\xd5\xe8\xc6\xe8" , "\x68\xef\xe7" } , { "\xd5\xe8\xc7" , "\x68\xef" } , { "\xd5\xe8\xc8" , "\x68\xe7\x60" } , { "\xd5\xe8\xc8\xda" , "\x68\xe7\x60\xd0" } , { "\xd5\xe8\xc8\xdd" , "\x68\xe7\x60\xca" } , { "\xd5\xe8\xc8\xde" , "\x68\xe7\x60\xcb" } , { "\xd5\xe8\xc9" , "\x68\xe7\x24\xbc" } , { "\xd5\xe8\xc9\xdd" , "\x68\xe7\x24\xca\xbc" } , { "\xd5\xe8\xca" , "\x68\xe8" } , { "\xd5\xe8\xcb" , "\x68\xf7" } , { "\xd5\xe8\xcc" , "\x68\xea" } , { "\xd5\xe8\xcc\xa2" , "\x68\xea\xd5" } , { "\xd5\xe8\xcc\xda" , "\x68\xea\xd0" } , { "\xd5\xe8\xcc\xdb" , "\x68\xea\xde" } , { "\xd5\xe8\xcc\xdb\xa2" , "\x68\xea\xde\xd5" } , { "\xd5\xe8\xcc\xdc" , "\x68\xea\xd1" } , { "\xd5\xe8\xcc\xdd" , "\x68\xeb\xe3" } , { "\xd5\xe8\xcc\xdf" , "\x68\xeb\xcc" } , { "\xd5\xe8\xcc\xe1" , "\xd2\x68\xea" } , { "\xd5\xe8\xcc\xe1\xa2" , "\xd2\x68\xea\xd5" } , { "\xd5\xe8\xcc\xe5\xa2" , "\xd2\x68\xea\xd0\xd5" } , { "\xd5\xe8\xcd" , "\x68\xd4" } , { "\xd5\xe8\xcd\xa2" , "\x68\xd5\xd4" } , { "\xd5\xe8\xcd\xda" , "\x68\xd4\xd0" } , { "\xd5\xe8\xcd\xda\xa2" , "\x68\xd4\xd0\xd5" } , { "\xd5\xe8\xcd\xdb" , "\x68\xde\xd4" } , { "\xd5\xe8\xcd\xdc" , "\x68\xd4\xd1" } , { "\xd5\xe8\xcd\xdd" , "\x68\xca\xd4" } , { "\xd5\xe8\xcd\xdd\xa2" , "\x68\xca\xd5\xd4" } , { "\xd5\xe8\xcd\xde" , "\x68\xcb\xd4" } , { "\xd5\xe8\xcd\xe1" , "\xd2\x68\xd4" } , { "\xd5\xe8\xcd\xe5" , "\xd2\x68\xd4\xd0" } , { "\xd5\xe8\xcd\xe5\xa2" , "\xd2\x68\xd4\xd0\xd5" } , { "\xd5\xe8\xcd\xe6" , "\xd2\x68\xd4\xd7" } , { "\xd5\xe8\xcd\xe8" , "\x68\xe7" } , { "\xd5\xe8\xcd\xe8\xb8" , "\x68\xe7\xaf\xe7\xc6\x51" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\x68\xd4\xd0" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\x68\xe7\x68\xd4" } , { "\xd5\xe8\xcf" , "\x68\xf5" } , { "\xd5\xe8\xcf\xa2" , "\x68\xf5\xd5" } , { "\xd5\xe8\xcf\xda" , "\x68\xf5\xd0" } , { "\xd5\xe8\xcf\xda\xa2" , "\x68\xf5\xd0\xd5" } , { "\xd5\xe8\xcf\xdb" , "\x68\xf5\xde" } , { "\xd5\xe8\xcf\xdb\xa2" , "\x68\xf5\xde\xd5" } , { "\xd5\xe8\xcf\xdc" , "\x68\xf5\xd1" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x68\xf5\xd1\xd5" } , { "\xd5\xe8\xcf\xdd" , "\x68\xf6\xe3" } , { "\xd5\xe8\xcf\xde" , "\x68\xf6\xe5" } , { "\xd5\xe8\xcf\xdf" , "\x68\xf6\xcc" } , { "\xd5\xe8\xcf\xdf\xa2" , "\x68\xf6\xcc\xd5" } , { "\xd5\xe8\xcf\xe1" , "\xd2\x68\xf5" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xd2\x68\xf5\xd5" } , { "\xd5\xe8\xcf\xe2" , "\xd2\x68\xf5\xdf" } , { "\xd5\xe8\xcf\xe5" , "\xd2\x68\xf5\xd0" } , { "\xd5\xe8\xcf\xe6" , "\xd2\x68\xf5\xd7" } , { "\xd5\xe8\xcf\xe7" , "\xd2\x68\xf5\xd0" } , { "\xd5\xe8\xcf\xe8\xa2" , "\x68\xf5\xe7\xd5" } , { "\xd5\xe8\xcf\xe8\xcc" , "\x68\xf5\x9b" } , { "\xd5\xe8\xcf\xe8\xd4" , "\x68\xe7\x65\xe7\xfe\x67" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\x68\xe7\x65\xe7\xfe\x67\xd0" } , { "\xd5\xe8\xcf\xe8\xd5" , "\x68\xe7\x65\xe7\xfe\x68" } , { "\xd5\xe8\xd1" , "\x68\xed" } , { "\xd5\xe8\xd1\xda" , "\x68\xed\xd0" } , { "\xd5\xe8\xd1\xda\xa2" , "\x68\xed\xd0\xd5" } , { "\xd5\xe8\xd1\xdb" , "\x68\xed\xde" } , { "\xd5\xe8\xd1\xdc" , "\x68\xed\xd1" } , { "\xd5\xe8\xd1\xdd" , "\x68\xee\xe3" } , { "\xd5\xe8\xd1\xe0" , "\xd2\x68\xed" } , { "\xd5\xe8\xd1\xe1" , "\xd2\x68\xed" } , { "\xd5\xe8\xd1\xe2" , "\xd2\x68\xed\xdf" } , { "\xd5\xe8\xd1\xe5" , "\xd2\x68\xed\xd0" } , { "\xd5\xe8\xd1\xe5\xa2" , "\xd2\x68\xed\xd0\xd5" } , { "\xd5\xe8\xd2" , "\x68\xfd" } , { "\xd5\xe8\xd2\xe1" , "\xd2\x68\xfd" } , { "\xd5\xe8\xd4" , "\x68\xe7\x67" } , { "\xd5\xe8\xd4\xa2" , "\x68\xe7\x67\xd5" } , { "\xd5\xe8\xd4\xda" , "\x68\xe7\x67\xd0" } , { "\xd5\xe8\xd4\xda\xa2" , "\x68\xe7\x67\xd0\xd5" } , { "\xd5\xe8\xd4\xdb" , "\x68\xe7\x67\xde" } , { "\xd5\xe8\xd4\xdc" , "\x68\xe7\x67\xd1" } , { "\xd5\xe8\xd4\xdd" , "\x68\xe7\x67\xca" } , { "\xd5\xe8\xd4\xe1" , "\x68\xe7\xd2\x67" } , { "\xd5\xe8\xd4\xe2" , "\x68\xe7\xd2\x67\xdf" } , { "\xd5\xe8\xd4\xe5" , "\x68\xe7\xd2\x67\xd0" } , { "\xd5\xe8\xd4\xe5\xa2" , "\x68\xe7\xd2\x67\xd0\xd5" } , { "\xd5\xe8\xd5" , "\x68\xe7\x68" } , { "\xd5\xe8\xd5\xa2" , "\x68\xe7\x68\xd5" } , { "\xd5\xe8\xd5\xda" , "\x68\xe7\x68\xd0" } , { "\xd5\xe8\xd5\xda\xa2" , "\x68\xe7\x68\xd0\xd5" } , { "\xd5\xe8\xd5\xdb" , "\x68\xe7\x68\xde" } , { "\xd5\xe8\xd5\xdc" , "\x68\xe7\x68\xd1" } , { "\xd5\xe8\xd5\xdd" , "\x68\xe7\x68\xca" } , { "\xd5\xe8\xd5\xde" , "\x68\xe7\x68\xcb" } , { "\xd5\xe8\xd5\xdf\xa2" , "\x68\xe7\x68\xf3\xd5" } , { "\xd5\xe8\xd5\xe1" , "\x68\xe7\xd2\x68" } , { "\xd5\xe8\xd5\xe2" , "\x68\xe7\xd2\x68\xdf" } , { "\xd5\xe8\xd5\xe5" , "\x68\xe7\xd2\x68\xd0" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\x68\xe7\x68\xf5\xd1" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\x68\xe7\x68\xf6\xe3" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\x68\xe7\xd2\x68\xf5" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\x68\xe7\x68\xe7\x67\xd0" } , { "\xd5\xe8\xd6\xe1" , "\x68\xe7\xd2\x69" } , { "\xd5\xe8\xd6\xe8\xbe" , "\x68\xe7\xba\xa4" } , { "\xd5\xe8\xd7" , "\x68\xe7\x6a" } , { "\xd5\xe8\xd7\xe8\xc2" , "\x68\xe7\xaa\xc6" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\x68\xe7\xaa\xde\xc6" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\x68\xe7\xb1\xc6\xd5" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\x68\xe7\xb1\xc6\xd0" } , { "\xd5\xe8\xd8\xdc" , "\x68\xe7\x6b\xfe\xd1" } , { "\xd5\xe8\xd9" , "\x68\xe7" } , { "\xd5\xe8\xd9\xa6" , "\x68\xe7\x42" } , { "\xd5\xe8\xd9\xb3" , "\x68\xe7\x4c" } , { "\xd5\xe8\xd9\xb8" , "\x68\xe7\x51" } , { "\xd5\xe8\xd9\xb8\xda" , "\x68\xe7\x51\xd0" } , { "\xd5\xe8\xd9\xb8\xdb" , "\x68\xe7\x51\xde" } , { "\xd5\xe8\xd9\xc2" , "\x68\xe7\x5b" } , { "\xd5\xe8\xd9\xc2\xdc" , "\x68\xe7\x5b\xd1" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\x68\xe7\xd2\x5b\xd0\xd5" } , { "\xd5\xe8\xd9\xc6" , "\x68\xe7\x5f" } , { "\xd5\xe8\xd9\xc6\xe5" , "\x68\xe7\xd2\x5f\xd0" } , { "\xd5\xe8\xd9\xcc" , "\x68\xe7\x63" } , { "\xd5\xe8\xd9\xcc\xdc" , "\x68\xe7\x63\xd1" } , { "\xd5\xe8\xd9\xcd" , "\x68\xe7\xaf\xc6" } , { "\xd5\xe8\xd9\xcd\xa2" , "\x68\xe7\xaf\xd6\xc6" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\x68\xe7\x67\xe0" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\x68\xe7\xd2\x67\xe0\xd0" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\x68\xe7\xd2\x67\xe0\xd0\xd5" } , { "\xd5\xe8\xd9\xd1\xe1" , "\x68\xe7\xd2\x6d\xfe" } , { "\xd5\xe8\xd9\xd1\xe2" , "\x68\xe7\xd2\x6d\xdf\xfe" } , { "\xd5\xe8\xd9\xd4" , "\x68\xe7\x67" } , { "\xd5\xe8\xd9\xd4\xda" , "\x68\xe7\x67\xd0" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\x68\xe7\x67\xd0\xd5" } , { "\xd5\xe8\xd9\xd4\xdb" , "\x68\xe7\x67\xde" } , { "\xd5\xe8\xd9\xd4\xdc" , "\x68\xe7\x67\xd1" } , { "\xd5\xe8\xd9\xd4\xe1" , "\x68\xe7\xd2\x67" } , { "\xd5\xe8\xd9\xd4\xe2" , "\x68\xe7\xd2\x67\xdf" } , { "\xd5\xe8\xe8" , "\x68\xe7" } , { "\xd5\xe8\xe9\xcf" , "\x68\xe7\x65\xfe" } , { "\xd5\xe8\xe9\xd4" , "\x68\xe7\x67" } , { "\xd5\xe9" , "\x68" } , { "\xd6" , "\x69" } , { "\xd6\xa1" , "\x69\xdc" } , { "\xd6\xa2" , "\x69\xd5" } , { "\xd6\xa3" , "\x69\xd3" } , { "\xd6\xd6" , "\x69\x69" } , { "\xd6\xda" , "\x69\xd0" } , { "\xd6\xda\xa2" , "\x69\xd0\xd5" } , { "\xd6\xda\xa3" , "\x69\xd0\xd3" } , { "\xd6\xdb" , "\x69\xde" } , { "\xd6\xdb\xa2" , "\x69\xde\xd5" } , { "\xd6\xdb\xa3" , "\x69\xde\xd3" } , { "\xd6\xdb\xcc\xe8" , "\x69\xde\x63\xe7" } , { "\xd6\xdc" , "\x69\xd1" } , { "\xd6\xdc\xa2" , "\x69\xd1\xd5" } , { "\xd6\xdc\xa3" , "\x69\xd1\xd3" } , { "\xd6\xdd" , "\x69\xca" } , { "\xd6\xdd\xa2" , "\x69\xca\xd5" } , { "\xd6\xde" , "\x69\xcb" } , { "\xd6\xdf" , "\x69\xf3" } , { "\xd6\xe0" , "\xd2\x69" } , { "\xd6\xe0\xa2" , "\xd2\x69\xd5" } , { "\xd6\xe1" , "\xd2\x69" } , { "\xd6\xe1\xa2" , "\xd2\x69\xd5" } , { "\xd6\xe2" , "\xd2\x69\xdf" } , { "\xd6\xe3" , "\xd2\x69" } , { "\xd6\xe4" , "\xd2\x69\xd0" } , { "\xd6\xe5" , "\xd2\x69\xd0" } , { "\xd6\xe5\xa2" , "\xd2\x69\xd0\xd5" } , { "\xd6\xe6" , "\xd2\x69\xd7" } , { "\xd6\xe8" , "\x69\xe7" } , { "\xd6\xe8\xb3" , "\xb4\xc6" } , { "\xd6\xe8\xb3\xa2" , "\xb4\xd6\xc6" } , { "\xd6\xe8\xb3\xda" , "\xb4\xc6\xd0" } , { "\xd6\xe8\xb3\xda\xa2" , "\xb4\xc6\xd0\xd6" } , { "\xd6\xe8\xb3\xdb" , "\xb4\xde\xc6" } , { "\xd6\xe8\xb3\xdb\xa2" , "\xb4\xde\xd6\xc6" } , { "\xd6\xe8\xb3\xdc" , "\xb4\xc6\xd1" } , { "\xd6\xe8\xb3\xdd" , "\xb4\xca\xc6" } , { "\xd6\xe8\xb3\xde" , "\xb4\xcb\xc6" } , { "\xd6\xe8\xb3\xdf" , "\xb4\xf4\xc6" } , { "\xd6\xe8\xb3\xe0\xa2" , "\xd2\xb4\xc6\xd6" } , { "\xd6\xe8\xb3\xe5" , "\xd2\xb4\xc6\xd0" } , { "\xd6\xe8\xb3\xe5\xa2" , "\xd2\xb4\xc6\xd0\xd6" } , { "\xd6\xe8\xb3\xe8" , "\xb4\xe7\xc6" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xb4\xf2\xc6" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\xb4\xcb\xc6\xd4" } , { "\xd6\xe8\xb3\xe8\xcf" , "\xb4\xf6\xc6" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\xb4\xf6\xc6\xd0" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\xb4\xf6\xde\xc6" } , { "\xd6\xe8\xb3\xe8\xd6" , "\x69\xe7\x6c" } , { "\xd6\xe8\xb4\xda" , "\x69\xe7\x4d\xd0" } , { "\xd6\xe8\xb5\xda" , "\x69\xe7\x4e\xd0" } , { "\xd6\xe8\xb5\xdd" , "\x69\xe7\x4e\xca" } , { "\xd6\xe8\xb8" , "\x69\xe7\x51" } , { "\xd6\xe8\xb8\xa2" , "\x69\xe7\x51\xd5" } , { "\xd6\xe8\xb8\xda" , "\x69\xe7\x51\xd0" } , { "\xd6\xe8\xb8\xdb" , "\x69\xe7\x51\xde" } , { "\xd6\xe8\xb8\xdb\xa2" , "\x69\xe7\x51\xde\xd5" } , { "\xd6\xe8\xb8\xe1" , "\x69\xe7\xd2\x51" } , { "\xd6\xe8\xb8\xe8" , "\x69\xe7\x51\xe7" } , { "\xd6\xe8\xba" , "\x69\xe7\x53" } , { "\xd6\xe8\xba\xda" , "\x69\xe7\x53\xd0" } , { "\xd6\xe8\xba\xe5" , "\x69\xe7\xd2\x53\xd0" } , { "\xd6\xe8\xbd" , "\xbd\xa4" } , { "\xd6\xe8\xbd\xa2" , "\xbd\xd6\xa4" } , { "\xd6\xe8\xbd\xa3" , "\xbd\xa4\xd3" } , { "\xd6\xe8\xbd\xda" , "\xbd\xa4\xd0" } , { "\xd6\xe8\xbd\xda\xa1" , "\xbd\xdc\xa4\xd0" } , { "\xd6\xe8\xbd\xda\xa2" , "\xbd\xa4\xd0\xd6" } , { "\xd6\xe8\xbd\xdb" , "\xbd\xde\xa4" } , { "\xd6\xe8\xbd\xdb\xa2" , "\xbd\xde\xd6\xa4" } , { "\xd6\xe8\xbd\xdb\xa3" , "\xbd\xde\xa4\xd3" } , { "\xd6\xe8\xbd\xdc" , "\xbd\xa4\xd1" } , { "\xd6\xe8\xbd\xdd" , "\xbd\xca\xa4" } , { "\xd6\xe8\xbd\xdd\xa2" , "\xbd\xca\xd6\xa4" } , { "\xd6\xe8\xbd\xde" , "\xbd\xcb\xa4" } , { "\xd6\xe8\xbd\xdf" , "\xbd\xf4\xa4" } , { "\xd6\xe8\xbd\xe0" , "\xd2\xbd\xa4" } , { "\xd6\xe8\xbd\xe1" , "\xd2\xbd\xa4" } , { "\xd6\xe8\xbd\xe2" , "\xd2\xbd\xdf\xa4" } , { "\xd6\xe8\xbd\xe5" , "\xd2\xbd\xa4\xd0" } , { "\xd6\xe8\xbd\xe5\xa2" , "\xd2\xbd\xa4\xd0\xd6" } , { "\xd6\xe8\xbd\xe6" , "\xd2\xbd\xa4\xd7" } , { "\xd6\xe8\xbd\xe8" , "\xbd\xe7\xa4" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\x69\xe7\x56\xe7\xd2\x4c\xd7\xd5" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\x69\xe7\x56\xe7\xd2\x5a\xd0" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\x69\xe7\x56\xe7\xd2\x5d\xd0" } , { "\xd6\xe8\xbd\xe8\xc8" , "\x69\xe7\x56\xe7\x60" } , { "\xd6\xe8\xbd\xe8\xcd" , "\xbd\xa4\xd4" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\xbd\xd6\xa4\xd4" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\xbd\xa4\xd4\xd0" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\xbd\xa4\xd4\xd0\xd6" } , { "\xd6\xe8\xbd\xe8\xcf" , "\xbd\xf6\xa4" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\xbd\xf6\xd6\xa4" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\xbd\xf6\xa4\xd0" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\xbd\xf6\xa4\xd0\xd6" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\xbd\xf6\xde\xa4" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\xbd\xf6\xa4\xd1" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\xbd\xf6\xe3\xa4" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\xd2\xbd\xf6\xa4" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\xd2\xbd\xf6\xa4\xd0" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\xd2\xbd\xf6\xa4\xd0\xd6" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\x69\xe7\x56\xf6\xd4\xd0\xd3" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\x69\xe7\xd2\x56\xf6\xe2\xd0" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xbd\xee\xa4\xd0" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\x69\xe7\x56\xe7\x67\xd0" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\x69\xe7\x56\xe7\xd2\x67\xdf" } , { "\xd6\xe8\xbe" , "\xba\xa4" } , { "\xd6\xe8\xbe\xa2" , "\xba\xd6\xa4" } , { "\xd6\xe8\xbe\xa3" , "\xba\xa4\xd3" } , { "\xd6\xe8\xbe\xda" , "\xba\xa4\xd0" } , { "\xd6\xe8\xbe\xda\xa2" , "\xba\xa4\xd0\xd6" } , { "\xd6\xe8\xbe\xda\xa3" , "\xba\xa4\xd0\xd3" } , { "\xd6\xe8\xbe\xdb" , "\xba\xde\xa4" } , { "\xd6\xe8\xbe\xdb\xa2" , "\xba\xde\xd6\xa4" } , { "\xd6\xe8\xbe\xdc" , "\xba\xa4\xd1" } , { "\xd6\xe8\xbe\xdd" , "\xba\xca\xa4" } , { "\xd6\xe8\xbe\xde" , "\xba\xcb\xa4" } , { "\xd6\xe8\xbe\xe1" , "\xd2\xba\xa4" } , { "\xd6\xe8\xbe\xe5" , "\xd2\xba\xa4\xd0" } , { "\xd6\xe8\xbe\xe5\xa2" , "\xd2\xba\xa4\xd0\xd6" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\xba\xf2\xe5\xa4" } , { "\xd6\xe8\xbe\xe8\xcd" , "\xba\xa4\xd4" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\xba\xd6\xa4\xd4" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\xba\xa4\xd4\xd0" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\xba\xa4\xd4\xd1" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\xd2\xba\xa4\xd4" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\xba\xf6\xa4\xd1" } , { "\xd6\xe8\xbf\xdb\xa3" , "\x69\xe7\x58\xde\xd3" } , { "\xd6\xe8\xbf\xe8" , "\x69\xe7\x58\xe7" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\x58\xcb\xd4" } , { "\xd6\xe8\xc1" , "\xbb\xa4" } , { "\xd6\xe8\xc1\xa1" , "\xbb\xdd\xa4" } , { "\xd6\xe8\xc1\xa2" , "\xbb\xd6\xa4" } , { "\xd6\xe8\xc1\xda" , "\xbb\xa4\xd0" } , { "\xd6\xe8\xc1\xda\xa2" , "\xbb\xa4\xd0\xd6" } , { "\xd6\xe8\xc1\xdb" , "\xbb\xde\xa4" } , { "\xd6\xe8\xc1\xdc" , "\xbb\xa4\xd1" } , { "\xd6\xe8\xc1\xdd" , "\xbb\xca\xa4" } , { "\xd6\xe8\xc1\xdd\xa2" , "\xbb\xca\xd6\xa4" } , { "\xd6\xe8\xc1\xdd\xa3" , "\xbb\xca\xa4\xd3" } , { "\xd6\xe8\xc1\xde" , "\xbb\xcb\xa4" } , { "\xd6\xe8\xc1\xe1" , "\xd2\xbb\xa4" } , { "\xd6\xe8\xc1\xe4" , "\xd2\xbb\xa4\xd0" } , { "\xd6\xe8\xc1\xe5" , "\xd2\xbb\xa4\xd0" } , { "\xd6\xe8\xc1\xe5\xa2" , "\xd2\xbb\xa4\xd0\xd6" } , { "\xd6\xe8\xc1\xe5\xa3" , "\xd2\xbb\xa4\xd0\xd3" } , { "\xd6\xe8\xc1\xe8\xcd" , "\xbb\xa4\xd4" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\xbb\xa4\xd4\xd0" } , { "\xd6\xe8\xc1\xe8\xd4" , "\x69\xe7\x5a\xe7\x67" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\x69\xe7\x5a\xe7\x67\xd5" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\x69\xe7\x5a\xe7\x67\xd0" } , { "\xd6\xe8\xc2" , "\x69\xf1" } , { "\xd6\xe8\xc2\xda" , "\x69\xf1\xd0" } , { "\xd6\xe8\xc2\xdb" , "\x69\xf1\xde" } , { "\xd6\xe8\xc2\xdc" , "\x69\xf1\xd1" } , { "\xd6\xe8\xc2\xe5" , "\xd2\x69\xf1\xd0" } , { "\xd6\xe8\xc2\xe8\xcf" , "\x69\xf1\xcd" } , { "\xd6\xe8\xc4" , "\x69\xe7\x5d" } , { "\xd6\xe8\xc4\xe1" , "\x69\xe7\xd2\x5d" } , { "\xd6\xe8\xc6" , "\x69\xef" } , { "\xd6\xe8\xc6\xda" , "\x69\xef\xd0" } , { "\xd6\xe8\xc6\xdb" , "\x69\xef\xde" } , { "\xd6\xe8\xc6\xdd" , "\x69\xf0\xe3" } , { "\xd6\xe8\xc6\xdd\xa2" , "\x69\xf0\xe3\xd5" } , { "\xd6\xe8\xc6\xde" , "\x69\xf0\xe5" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\x69\xe7\x5f\xf0\xe3" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\x69\xe7\x5f\xe7\x6a\xe7" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\x69\xe7\x5f\xe7\xd2\x6a\xed\xe2\xd0" } , { "\xd6\xe8\xc8" , "\xb9\xa4" } , { "\xd6\xe8\xc8\xa2" , "\xb9\xd6\xa4" } , { "\xd6\xe8\xc8\xda" , "\xb9\xa4\xd0" } , { "\xd6\xe8\xc8\xda\xa2" , "\xb9\xa4\xd0\xd6" } , { "\xd6\xe8\xc8\xdb" , "\xb9\xde\xa4" } , { "\xd6\xe8\xc8\xdb\xa2" , "\xb9\xde\xd6\xa4" } , { "\xd6\xe8\xc8\xdc" , "\xb9\xa4\xd1" } , { "\xd6\xe8\xc8\xdd" , "\xb9\xca\xa4" } , { "\xd6\xe8\xc8\xe1" , "\xd2\xb9\xa4" } , { "\xd6\xe8\xc8\xe2" , "\xd2\xb9\xdf\xa4" } , { "\xd6\xe8\xc8\xe2\xa3" , "\xd2\xb9\xdf\xa4\xd3" } , { "\xd6\xe8\xc8\xe5" , "\xd2\xb9\xa4\xd0" } , { "\xd6\xe8\xc8\xe5\xa2" , "\xd2\xb9\xa4\xd0\xd6" } , { "\xd6\xe8\xc8\xe6" , "\xd2\xb9\xa4\xd7" } , { "\xd6\xe8\xc8\xe8\xcf" , "\xb9\xf6\xa4" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\xb9\xf6\xa4\xd0" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\xd2\xb9\xf6\xa4" } , { "\xd6\xe8\xc9" , "\xc8\xa5" } , { "\xd6\xe8\xca" , "\x69\xe8" } , { "\xd6\xe8\xca\xda" , "\x69\xe8\xd0" } , { "\xd6\xe8\xca\xe1" , "\xd2\x69\xe8" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\x69\xe7\x61\xf6\xe5" } , { "\xd6\xe8\xcb\xda" , "\x69\xf7\xd0" } , { "\xd6\xe8\xcc" , "\x69\xea" } , { "\xd6\xe8\xcc\xa2" , "\x69\xea\xd5" } , { "\xd6\xe8\xcc\xda" , "\x69\xea\xd0" } , { "\xd6\xe8\xcc\xda\xa2" , "\x69\xea\xd0\xd5" } , { "\xd6\xe8\xcc\xdb" , "\x69\xea\xde" } , { "\xd6\xe8\xcc\xdb\xa2" , "\x69\xea\xde\xd5" } , { "\xd6\xe8\xcc\xdc" , "\x69\xea\xd1" } , { "\xd6\xe8\xcc\xdd" , "\x69\xeb\xe3" } , { "\xd6\xe8\xcc\xdd\xa2" , "\x69\xeb\xe3\xd5" } , { "\xd6\xe8\xcc\xe0\xa2" , "\xd2\x69\xea\xd5" } , { "\xd6\xe8\xcc\xe1" , "\xd2\x69\xea" } , { "\xd6\xe8\xcc\xe4" , "\xd2\x69\xea\xd0" } , { "\xd6\xe8\xcc\xe5" , "\xd2\x69\xea\xd0" } , { "\xd6\xe8\xcc\xe5\xa2" , "\xd2\x69\xea\xd0\xd5" } , { "\xd6\xe8\xcd" , "\x69\xd4" } , { "\xd6\xe8\xcd\xa2" , "\x69\xd5\xd4" } , { "\xd6\xe8\xcd\xa3" , "\x69\xd4\xd3" } , { "\xd6\xe8\xcd\xda" , "\x69\xd4\xd0" } , { "\xd6\xe8\xcd\xdb" , "\x69\xde\xd4" } , { "\xd6\xe8\xcd\xdd" , "\x69\xca\xd4" } , { "\xd6\xe8\xcd\xdd\xa2" , "\x69\xca\xd5\xd4" } , { "\xd6\xe8\xcd\xde" , "\x69\xcb\xd4" } , { "\xd6\xe8\xcd\xe1" , "\xd2\x69\xd4" } , { "\xd6\xe8\xcd\xe5" , "\xd2\x69\xd4\xd0" } , { "\xd6\xe8\xcd\xe5\xa2" , "\xd2\x69\xd4\xd0\xd5" } , { "\xd6\xe8\xcd\xe8" , "\x69\xe7" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\x69\xe7\xaf\xe7\xc6\x56\xd0" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\x69\xd4\xd0" } , { "\xd6\xe8\xcd\xe8\xcf" , "\x69\xd4\xcd" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\x69\xd4\xcd\xd0" } , { "\xd6\xe8\xcf" , "\x69\xf5" } , { "\xd6\xe8\xcf\xa2" , "\x69\xf5\xd5" } , { "\xd6\xe8\xcf\xda" , "\x69\xf5\xd0" } , { "\xd6\xe8\xcf\xdc" , "\x69\xf5\xd1" } , { "\xd6\xe8\xcf\xdd" , "\x69\xf6\xe3" } , { "\xd6\xe8\xcf\xde" , "\x69\xf6\xe5" } , { "\xd6\xe8\xcf\xdf" , "\x69\xf6\xcc" } , { "\xd6\xe8\xcf\xe0" , "\xd2\x69\xf5" } , { "\xd6\xe8\xcf\xe2" , "\xd2\x69\xf5\xdf" } , { "\xd6\xe8\xcf\xe5" , "\xd2\x69\xf5\xd0" } , { "\xd6\xe8\xcf\xe8" , "\x69\xf5\xe7" } , { "\xd6\xe8\xcf\xe8\xb3" , "\x69\xe7\x65\xe7\xfe\x4c" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\x69\xf5\xd4\xd0" } , { "\xd6\xe8\xd1" , "\x69\xed" } , { "\xd6\xe8\xd1\xda" , "\x69\xed\xd0" } , { "\xd6\xe8\xd1\xda\xa2" , "\x69\xed\xd0\xd5" } , { "\xd6\xe8\xd1\xdc" , "\x69\xed\xd1" } , { "\xd6\xe8\xd1\xdd" , "\x69\xee\xe3" } , { "\xd6\xe8\xd1\xde" , "\x69\xee\xe5" } , { "\xd6\xe8\xd1\xe0" , "\xd2\x69\xed" } , { "\xd6\xe8\xd1\xe1" , "\xd2\x69\xed" } , { "\xd6\xe8\xd1\xe2" , "\xd2\x69\xed\xdf" } , { "\xd6\xe8\xd1\xe5" , "\xd2\x69\xed\xd0" } , { "\xd6\xe8\xd4" , "\x69\xe7\x67" } , { "\xd6\xe8\xd4\xa2" , "\x69\xe7\x67\xd5" } , { "\xd6\xe8\xd4\xda" , "\x69\xe7\x67\xd0" } , { "\xd6\xe8\xd4\xdb" , "\x69\xe7\x67\xde" } , { "\xd6\xe8\xd4\xdc" , "\x69\xe7\x67\xd1" } , { "\xd6\xe8\xd4\xdd" , "\x69\xe7\x67\xca" } , { "\xd6\xe8\xd4\xe2" , "\x69\xe7\xd2\x67\xdf" } , { "\xd6\xe8\xd5" , "\x69\xe7\x68" } , { "\xd6\xe8\xd5\xda" , "\x69\xe7\x68\xd0" } , { "\xd6\xe8\xd6" , "\x69\xe7\x69" } , { "\xd6\xe8\xd6\xda" , "\x69\xe7\x69\xd0" } , { "\xd6\xe8\xd6\xdb" , "\x69\xe7\x69\xde" } , { "\xd6\xe8\xd6\xdd" , "\x69\xe7\x69\xca" } , { "\xd6\xe8\xd6\xde" , "\x69\xe7\x69\xcb" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\x69\xe7\xbb\xca\xa4" } , { "\xd6\xe8\xd7\xe2" , "\x69\xe7\xd2\x6a\xdf" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\x69\xe7\xaf\xe0\xc6\xd0" } , { "\xd6\xe8\xe8" , "\x69\xe7" } , { "\xd7" , "\x6a" } , { "\xd7\xa1" , "\x6a\xdc" } , { "\xd7\xa2" , "\x6a\xd5" } , { "\xd7\xa3" , "\x6a\xd3" } , { "\xd7\xd0" , "\x6a\x65\xfe" } , { "\xd7\xd0\xd1" , "\x6a\x65\xfe\x6d\xfe" } , { "\xd7\xda" , "\x6a\xd0" } , { "\xd7\xda\xa1" , "\x6a\xdc\xd0" } , { "\xd7\xda\xa2" , "\x6a\xd0\xd5" } , { "\xd7\xda\xa3" , "\x6a\xd0\xd3" } , { "\xd7\xdb" , "\x6a\xde" } , { "\xd7\xdb\xa2" , "\x6a\xde\xd5" } , { "\xd7\xdb\xa2\xa2" , "\x6a\xde\xd5\xd5" } , { "\xd7\xdb\xa2\xa3" , "\x6a\xde\xd5\xd3" } , { "\xd7\xdb\xbd\xe8" , "\x6a\xde\x56\xe7" } , { "\xd7\xdc" , "\x6a\xd1" } , { "\xd7\xdc\xa2" , "\x6a\xd1\xd5" } , { "\xd7\xdd" , "\x6a\xca" } , { "\xd7\xdd\xa1" , "\x6a\xca\xdc" } , { "\xd7\xdd\xa2" , "\x6a\xca\xd5" } , { "\xd7\xdd\xa3" , "\x6a\xca\xd3" } , { "\xd7\xde" , "\x6a\xcb" } , { "\xd7\xde\xa1" , "\x6a\xcb\xdc" } , { "\xd7\xde\xa2" , "\x6a\xcb\xd5" } , { "\xd7\xdf" , "\x6a\xf3" } , { "\xd7\xdf\xa2" , "\x6a\xf3\xd5" } , { "\xd7\xe0" , "\xd2\x6a" } , { "\xd7\xe0\xa2" , "\xd2\x6a\xd5" } , { "\xd7\xe1" , "\xd2\x6a" } , { "\xd7\xe1\xa2" , "\xd2\x6a\xd5" } , { "\xd7\xe2" , "\xd2\x6a\xdf" } , { "\xd7\xe2\xa2" , "\xd2\x6a\xdf\xd5" } , { "\xd7\xe3" , "\xd2\x6a" } , { "\xd7\xe4" , "\xd2\x6a\xd0" } , { "\xd7\xe4\xa2" , "\xd2\x6a\xd0\xd5" } , { "\xd7\xe5" , "\xd2\x6a\xd0" } , { "\xd7\xe5\xa2" , "\xd2\x6a\xd0\xd5" } , { "\xd7\xe6" , "\xd2\x6a\xd7" } , { "\xd7\xe6\xa2" , "\xd2\x6a\xd7\xd5" } , { "\xd7\xe6\xc2\xe8" , "\xd2\x6a\xd7\x5b\xe7" } , { "\xd7\xe7" , "\xd2\x6a\xd0" } , { "\xd7\xe7\xa2" , "\xd2\x6a\xd0\xd5" } , { "\xd7\xe8" , "\x6a\xe7" } , { "\xd7\xe8\xb3" , "\xb2\xc6" } , { "\xd7\xe8\xb3\xa2" , "\xb2\xd6\xc6" } , { "\xd7\xe8\xb3\xda" , "\xb2\xc6\xd0" } , { "\xd7\xe8\xb3\xda\xa1" , "\xb2\xdc\xc6\xd0" } , { "\xd7\xe8\xb3\xda\xa2" , "\xb2\xc6\xd0\xd6" } , { "\xd7\xe8\xb3\xdb" , "\xb2\xde\xc6" } , { "\xd7\xe8\xb3\xdc" , "\xb2\xc6\xd1" } , { "\xd7\xe8\xb3\xdc\xa2" , "\xb2\xc6\xd1\xd6" } , { "\xd7\xe8\xb3\xdd" , "\xb2\xca\xc6" } , { "\xd7\xe8\xb3\xde" , "\xb2\xcb\xc6" } , { "\xd7\xe8\xb3\xdf" , "\xb2\xf4\xc6" } , { "\xd7\xe8\xb3\xe0" , "\xd2\xb2\xc6" } , { "\xd7\xe8\xb3\xe1" , "\xd2\xb2\xc6" } , { "\xd7\xe8\xb3\xe1\xa2" , "\xd2\xb2\xc6\xd6" } , { "\xd7\xe8\xb3\xe2" , "\xd2\xb2\xdf\xc6" } , { "\xd7\xe8\xb3\xe2\xa2" , "\xd2\xb2\xdf\xd6\xc6" } , { "\xd7\xe8\xb3\xe4" , "\xd2\xb2\xc6\xd0" } , { "\xd7\xe8\xb3\xe5" , "\xd2\xb2\xc6\xd0" } , { "\xd7\xe8\xb3\xe5\xa2" , "\xd2\xb2\xc6\xd0\xd6" } , { "\xd7\xe8\xb3\xe6" , "\xd2\xb2\xc6\xd7" } , { "\xd7\xe8\xb3\xe6\xa2" , "\xd2\xb2\xc6\xd7\xd6" } , { "\xd7\xe8\xb3\xe7" , "\xd2\xb2\xc6\xd0" } , { "\xd7\xe8\xb3\xe8" , "\xb2\xe7\xc6" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\x6a\xe7\xa3\xde\xc6" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\x6a\xe7\xa3\xca\xc6" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\x6a\xe7\x4c\xe7\xd2\x51" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\x6a\xe7\x4c\xe7\x56\xe7\x4c\xd1" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\x6a\xe7\x4c\xe7\x56\xf0\xe3" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xb2\xf2\xc6" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xb2\xf2\xde\xc6" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xb2\xf2\xe3\xc6" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\xb2\xf0\xde\xc6" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\xb2\xf0\xe3\xc6" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\x6a\xe7\x4c\xe7\x60\xd0" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\xb2\xeb\xde\xc6" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\xb2\xca\xc6\xd4" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\xb2\xcb\xc6\xd4" } , { "\xd7\xe8\xb3\xe8\xcf" , "\xb2\xf6\xc6" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\xb2\xf6\xc6\xd0" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\xb2\xf6\xde\xc6" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\xb2\xf6\xc6\xd1" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\xb2\xf6\xc6\xd1\xd6" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\xb2\xf6\xe3\xc6" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\xb2\xf6\xe5\xc6" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\xd2\xb2\xf6\xc6" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\xd2\xb2\xf6\xdf\xc6" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\xd2\xb2\xf6\xc6\xd0" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\xd2\xb2\xf6\xc6\xd7\xd6" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xb2\xee\xde\xc6" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\xb2\xee\xc6\xd1" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\xb2\xee\xe3\xc6" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\xd2\xb2\xee\xc6" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xd2\xb2\xee\xc6" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xd2\xb2\xee\xc6\xd0" } , { "\xd7\xe8\xb3\xe8\xd4" , "\x6a\xe7\x4c\xe7\x67" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\x6a\xe7\x4c\xe7\x67\xd0" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\x6a\xe7\x4c\xe7\x67\xde" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\x6a\xe7\x4c\xe7\x67\xd1" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\x6a\xe7\x4c\xe7\xd2\x67" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\x6a\xe7\x4c\xe7\xd2\x67" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\x6a\xe7\x4c\xe7\xd2\x67\xdf" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\x6a\xe7\x4c\xe7\xd2\x67\xd0" } , { "\xd7\xe8\xb3\xe8\xd5" , "\x6a\xe7\x4c\xe7\x68" } , { "\xd7\xe8\xb3\xe8\xd7" , "\x6a\xe7\xb5\xc6" } , { "\xd7\xe8\xb3\xe9" , "\xb2\xc6" } , { "\xd7\xe8\xb4" , "\xb7\xa4" } , { "\xd7\xe8\xb4\xa2" , "\xb7\xd6\xa4" } , { "\xd7\xe8\xb4\xda" , "\xb7\xa4\xd0" } , { "\xd7\xe8\xb4\xdb" , "\xb7\xde\xa4" } , { "\xd7\xe8\xb4\xdc" , "\xb7\xa4\xd1" } , { "\xd7\xe8\xb4\xe1" , "\xd2\xb7\xa4" } , { "\xd7\xe8\xb4\xe5\xa2" , "\xd2\xb7\xa4\xd0\xd6" } , { "\xd7\xe8\xb4\xe8\xcd" , "\xb7\xa4\xd4" } , { "\xd7\xe8\xb4\xe9\xe1" , "\xd2\xb7\xa4" } , { "\xd7\xe8\xb5" , "\x6a\xe7\x4e" } , { "\xd7\xe8\xb5\xda" , "\x6a\xe7\x4e\xd0" } , { "\xd7\xe8\xb5\xdd" , "\x6a\xe7\x4e\xca" } , { "\xd7\xe8\xb5\xde" , "\x6a\xe7\x4e\xcb" } , { "\xd7\xe8\xb5\xe5" , "\x6a\xe7\xd2\x4e\xd0" } , { "\xd7\xe8\xb5\xe6" , "\x6a\xe7\xd2\x4e\xd7" } , { "\xd7\xe8\xb5\xe8" , "\x6a\xe7\x4e\xe7" } , { "\xd7\xe8\xb8" , "\x6a\xe7\x51" } , { "\xd7\xe8\xb8\xa2" , "\x6a\xe7\x51\xd5" } , { "\xd7\xe8\xb8\xda" , "\x6a\xe7\x51\xd0" } , { "\xd7\xe8\xb8\xdb" , "\x6a\xe7\x51\xde" } , { "\xd7\xe8\xb8\xdd" , "\x6a\xe7\x51\xca" } , { "\xd7\xe8\xb8\xde" , "\x6a\xe7\x51\xcb" } , { "\xd7\xe8\xb8\xdf" , "\x6a\xe7\x51\xf3" } , { "\xd7\xe8\xb8\xe0" , "\x6a\xe7\xd2\x51" } , { "\xd7\xe8\xb8\xe1" , "\x6a\xe7\xd2\x51" } , { "\xd7\xe8\xb8\xe5" , "\x6a\xe7\xd2\x51\xd0" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\x6a\xe7\x51\xf6\xd1" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\x6a\xe7\xd2\x51\xf6" } , { "\xd7\xe8\xb9\xda" , "\x6a\xe7\x52\xd0" } , { "\xd7\xe8\xba" , "\x6a\xe7\x53" } , { "\xd7\xe8\xba\xda" , "\x6a\xe7\x53\xd0" } , { "\xd7\xe8\xba\xdb" , "\x6a\xe7\x53\xde" } , { "\xd7\xe8\xba\xdc" , "\x6a\xe7\x53\xd1" } , { "\xd7\xe8\xba\xe1" , "\x6a\xe7\xd2\x53" } , { "\xd7\xe8\xba\xe8\xbc" , "\x6a\xe7\x73" } , { "\xd7\xe8\xba\xe9\xdb" , "\x6a\xe7\x53\xde" } , { "\xd7\xe8\xbd" , "\x6a\xe7\x56" } , { "\xd7\xe8\xbd\xa2" , "\x6a\xe7\x56\xd5" } , { "\xd7\xe8\xbd\xda" , "\x6a\xe7\x56\xd0" } , { "\xd7\xe8\xbd\xda\xa1" , "\x6a\xe7\x56\xdc\xd0" } , { "\xd7\xe8\xbd\xda\xa2" , "\x6a\xe7\x56\xd0\xd5" } , { "\xd7\xe8\xbd\xdb" , "\x6a\xe7\x56\xde" } , { "\xd7\xe8\xbd\xdb\xa2" , "\x6a\xe7\x56\xde\xd5" } , { "\xd7\xe8\xbd\xdc" , "\x6a\xe7\x56\xd1" } , { "\xd7\xe8\xbd\xdc\xa2" , "\x6a\xe7\x56\xd1\xd5" } , { "\xd7\xe8\xbd\xdd" , "\x6a\xe7\x56\xca" } , { "\xd7\xe8\xbd\xde" , "\x6a\xe7\x56\xcb" } , { "\xd7\xe8\xbd\xde\xa2" , "\x6a\xe7\x56\xcb\xd5" } , { "\xd7\xe8\xbd\xe0" , "\x6a\xe7\xd2\x56" } , { "\xd7\xe8\xbd\xe0\xa2" , "\x6a\xe7\xd2\x56\xd5" } , { "\xd7\xe8\xbd\xe1" , "\x6a\xe7\xd2\x56" } , { "\xd7\xe8\xbd\xe1\xa2" , "\x6a\xe7\xd2\x56\xd5" } , { "\xd7\xe8\xbd\xe2" , "\x6a\xe7\xd2\x56\xdf" } , { "\xd7\xe8\xbd\xe2\xa2" , "\x6a\xe7\xd2\x56\xdf\xd5" } , { "\xd7\xe8\xbd\xe4" , "\x6a\xe7\xd2\x56\xd0" } , { "\xd7\xe8\xbd\xe5" , "\x6a\xe7\xd2\x56\xd0" } , { "\xd7\xe8\xbd\xe5\xa2" , "\x6a\xe7\xd2\x56\xd0\xd5" } , { "\xd7\xe8\xbd\xe6" , "\x6a\xe7\xd2\x56\xd7" } , { "\xd7\xe8\xbd\xe7" , "\x6a\xe7\xd2\x56\xd0" } , { "\xd7\xe8\xbd\xe8" , "\x6a\xe7\x56\xe7" } , { "\xd7\xe8\xbd\xe8\xb3" , "\x6a\xe7\x56\xe7\x4c" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\x6a\xe7\x56\xe7\x4c\xd0" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\x6a\xe7\x56\xe7\x4c\xde" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\x6a\xe7\x56\xe7\xd2\x4c\xd0" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\x6a\xe7\x56\xe7\xd2\x4c\xd0" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\x6a\xe7\x56\xe7\x4c\xed\xd0" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\x6a\xe7\x56\xe7\x4e\xd0" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\x6a\xe7\x56\xe7\xd2\x4e" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\x6a\xe7\x56\xe7\x4e\xf5\xd0" } , { "\xd7\xe8\xbd\xe8\xb8" , "\x6a\xe7\x56\xe7\x51" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\x6a\xe7\x56\xe7\xd2\x51" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\x6a\xe7\x56\xe7\xd2\x51" } , { "\xd7\xe8\xbd\xe8\xba" , "\x6a\xe7\x56\xe7\x53" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\x6a\xe7\xd2\x70\xdf" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\x6a\xe7\x70\xcb\xd4" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\x6a\xe7\xd2\x56\xf2\xd0" } , { "\xd7\xe8\xbd\xe8\xc6" , "\x6a\xe7\x56\xf0" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\x6a\xe7\x56\xf0\xde" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\x6a\xe7\x56\xf0\xe3" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\x6a\xe7\xd2\x56\xf0" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\x6a\xe7\xd2\x56\xf0\xdf" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\x6a\xe7\x56\xf0\xe7" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\x6a\xe7\x56\xe7\x60\xd0" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\x6a\xe7\x56\xe7\x60\xde\xd5" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\x6a\xe7\x56\xe7\xd2\x60\xdf" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\x6a\xe7\x56\xe7\xd2\x60\xd0" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\x6a\xe7\x56\xe7\xd2\x60\xf5\xdf" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\x6a\xe7\x56\xe7\x24\xbc\xd0" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\x6a\xe7\x56\xe7\x24\xde\xbc" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\x6a\xe7\x56\xe9\xd0" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\x6a\xe7\x56\xe9\xde" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\x6a\xe7\xd2\x56\xe9\xd5" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\x6a\xe7\xd2\x56\xe9\xd7" } , { "\xd7\xe8\xbd\xe8\xcc" , "\x6a\xe7\x56\xeb" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\x6a\xe7\x56\xeb\xd0" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\x56\xcb\xd4" } , { "\xd7\xe8\xbd\xe8\xcf" , "\x6a\xe7\x56\xf6" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\x6a\xe7\x56\xf6\xd5" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\x6a\xe7\x56\xf6\xd0" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\x6a\xe7\x56\xf6\xdc\xd0" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x6a\xe7\x56\xf6\xd0\xd5" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\x6a\xe7\x56\xf6\xde" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\x6a\xe7\x56\xf6\xde\xd5" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\x6a\xe7\x56\xf6\xd1" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\x6a\xe7\x56\xf6\xe3" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\x6a\xe7\xd2\x56\xf6" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\x6a\xe7\xd2\x56\xf6\xd5" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\x6a\xe7\xd2\x56\xf6" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\x6a\xe7\xd2\x56\xf6\xd5" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\x6a\xe7\xd2\x56\xf6\xdf" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\x6a\xe7\xd2\x56\xf6\xdf\xd5" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\x6a\xe7\xd2\x56\xf6\xd0" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\x6a\xe7\xd2\x56\xf6\xd0" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\x6a\xe7\xd2\x56\xf6\xd0\xd5" } , { "\xd7\xe8\xbd\xe8\xd1" , "\x6a\xe7\x56\xee" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\x6a\xe7\x56\xee\xd0" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\x6a\xe7\x56\xee\xde" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\x6a\xe7\x56\xee\xd1" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\x6a\xe7\x56\xee\xe3" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\x6a\xe7\xd2\x56\xee\xdf" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\x6a\xe7\xd2\x56\xee\xd0" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\x6a\xe7\x56\xe7\x67\xd5" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\x6a\xe7\x56\xe7\x67\xd0" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\x6a\xe7\x56\xe7\xd2\x69\xd0" } , { "\xd7\xe8\xbd\xe8\xd7" , "\x6a\xe7\x56\xe7\x6a" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\x6a\xe7\x56\xe7\x6a\xde\xd5" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\x6a\xe7\x56\xe7\x6a\xca" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\x6a\xe7\x56\xe7\xd2\x6a" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\x6a\xe7\x56\xe7\xd2\x6a" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\x6a\xe7\x56\xe7\x6a\xe7" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\x6a\xe7\x56\xe7\x6a\xed\xde" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\x6a\xe7\x56\xe7\x6a\xe7\x67" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\x6a\xe7\x56\xe7\x6b\xfe\xd0" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\x6a\xe7\x56\xe7\x6b\xde\xfe" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\x6a\xe7\x56\xe7\xd2\x6b\xfe\xd0" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\x6a\xe7\x56\xe7\x6a" } , { "\xd7\xe8\xbe" , "\x6a\xe7\x57" } , { "\xd7\xe8\xbe\xda" , "\x6a\xe7\x57\xd0" } , { "\xd7\xe8\xbe\xdb" , "\x6a\xe7\x57\xde" } , { "\xd7\xe8\xbe\xdd" , "\x6a\xe7\x57\xca" } , { "\xd7\xe8\xbe\xe0" , "\x6a\xe7\xd2\x57" } , { "\xd7\xe8\xbf" , "\x6a\xe7\x58" } , { "\xd7\xe8\xbf\xda" , "\x6a\xe7\x58\xd0" } , { "\xd7\xe8\xbf\xdb" , "\x6a\xe7\x58\xde" } , { "\xd7\xe8\xbf\xdd" , "\x6a\xe7\x58\xca" } , { "\xd7\xe8\xbf\xe0" , "\x6a\xe7\xd2\x58" } , { "\xd7\xe8\xbf\xe1" , "\x6a\xe7\xd2\x58" } , { "\xd7\xe8\xbf\xe2" , "\x6a\xe7\xd2\x58\xdf" } , { "\xd7\xe8\xbf\xe8" , "\x6a\xe7\x58\xe7" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\x6a\xe7\x58\xe7\x4c\xd0" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\x6a\xe7\x58\xf6\xde\xd5" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\x6a\xe7\xd2\x58\xf6" } , { "\xd7\xe8\xc1" , "\x6a\xe7\x5a" } , { "\xd7\xe8\xc1\xdd" , "\x6a\xe7\x5a\xca" } , { "\xd7\xe8\xc2" , "\xaa\xc6" } , { "\xd7\xe8\xc2\xa2" , "\xaa\xd6\xc6" } , { "\xd7\xe8\xc2\xda" , "\xaa\xc6\xd0" } , { "\xd7\xe8\xc2\xda\xa1" , "\xaa\xdc\xc6\xd0" } , { "\xd7\xe8\xc2\xda\xa2" , "\xaa\xc6\xd0\xd6" } , { "\xd7\xe8\xc2\xda\xa3" , "\xaa\xc6\xd0\xd3" } , { "\xd7\xe8\xc2\xdb" , "\xaa\xde\xc6" } , { "\xd7\xe8\xc2\xdb\xa2" , "\xaa\xde\xd6\xc6" } , { "\xd7\xe8\xc2\xdc" , "\xaa\xc6\xd1" } , { "\xd7\xe8\xc2\xdc\xa2" , "\xaa\xc6\xd1\xd6" } , { "\xd7\xe8\xc2\xdd" , "\xaa\xca\xc6" } , { "\xd7\xe8\xc2\xdd\xa2" , "\xaa\xca\xd6\xc6" } , { "\xd7\xe8\xc2\xde" , "\xaa\xcb\xc6" } , { "\xd7\xe8\xc2\xde\xa2" , "\xaa\xcb\xd6\xc6" } , { "\xd7\xe8\xc2\xdf" , "\xaa\xf3\xc6" } , { "\xd7\xe8\xc2\xdf\xa2" , "\xaa\xf3\xd6\xc6" } , { "\xd7\xe8\xc2\xe0" , "\xd2\xaa\xc6" } , { "\xd7\xe8\xc2\xe1" , "\xd2\xaa\xc6" } , { "\xd7\xe8\xc2\xe1\xa2" , "\xd2\xaa\xc6\xd6" } , { "\xd7\xe8\xc2\xe2" , "\xd2\xaa\xdf\xc6" } , { "\xd7\xe8\xc2\xe4" , "\xd2\xaa\xc6\xd0" } , { "\xd7\xe8\xc2\xe4\xa2" , "\xd2\xaa\xc6\xd0\xd6" } , { "\xd7\xe8\xc2\xe5" , "\xd2\xaa\xc6\xd0" } , { "\xd7\xe8\xc2\xe5\xa2" , "\xd2\xaa\xc6\xd0\xd6" } , { "\xd7\xe8\xc2\xe6" , "\xd2\xaa\xc6\xd7" } , { "\xd7\xe8\xc2\xe8" , "\xaa\xe7\xc6" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xaa\xf2\xc6" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xaa\xf2\xde\xc6" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xaa\xf2\xe3\xc6" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\x6a\xe7\x72\xf6\xfe" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\xaa\xf0\xc6\xd0" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\xaa\xf0\xde\xc6" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\xaa\xeb\xe3\xc6" } , { "\xd7\xe8\xc2\xe8\xcd" , "\xaa\xc6\xd4" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\xaa\xd6\xc6\xd4" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\xaa\xc6\xd4\xd0" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\xaa\xc6\xd4\xd0\xd6" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\xaa\xca\xc6\xd4" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\xd2\xaa\xc6\xd4" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\xd2\xaa\xdf\xc6\xd4" } , { "\xd7\xe8\xc2\xe8\xcf" , "\xb1\xc6" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\xb1\xc6\xd5" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\xb1\xc6\xd0" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\xb1\xc6\xd0\xd5" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\xb1\xc6\xde" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\xb1\xc6\xd1" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\xb1\xc6\xca" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\xb1\xc6\xf4" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\xd2\xb1\xc6" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\xd2\xb1\xc6\xdf" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\xd2\xb1\xc6\xd0" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\xd2\xb1\xc6\xd0\xd5" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\xb1\xca\xc6\xd4" } , { "\xd7\xe8\xc2\xe8\xd4" , "\x6a\xe7\x5b\xe7\x67" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\x6a\xe7\x5b\xe7\x67\xd5" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\x6a\xe7\x5b\xe7\x67\xd0" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\x6a\xe7\x5b\xe7\x67\xde" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\x6a\xe7\x5b\xe7\xd2\x67\xdf" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\x6a\xe7\x5b\xe7\xd2\x67\xd0" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\x6a\xe7\x5b\xe7\xd2\x67\xd7" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\x6a\xe7\x67\xca\xd4" } , { "\xd7\xe8\xc3" , "\x79" } , { "\xd7\xe8\xc3\xa2" , "\x79\xd5" } , { "\xd7\xe8\xc3\xa3" , "\x79\xd3" } , { "\xd7\xe8\xc3\xda" , "\x79\xd0" } , { "\xd7\xe8\xc3\xda\xa2" , "\x79\xd0\xd5" } , { "\xd7\xe8\xc3\xda\xa3" , "\x79\xd0\xd3" } , { "\xd7\xe8\xc3\xdb" , "\x79\xde" } , { "\xd7\xe8\xc3\xdb\xa2" , "\x79\xde\xd5" } , { "\xd7\xe8\xc3\xdc" , "\x79\xd1" } , { "\xd7\xe8\xc3\xdd" , "\x79\xca" } , { "\xd7\xe8\xc3\xde" , "\x79\xcb" } , { "\xd7\xe8\xc3\xe0" , "\xd2\x79" } , { "\xd7\xe8\xc3\xe1" , "\xd2\x79" } , { "\xd7\xe8\xc3\xe2" , "\xd2\x79\xdf" } , { "\xd7\xe8\xc3\xe5" , "\xd2\x79\xd0" } , { "\xd7\xe8\xc3\xe5\xa2" , "\xd2\x79\xd0\xd5" } , { "\xd7\xe8\xc3\xe6" , "\xd2\x79\xd7" } , { "\xd7\xe8\xc3\xe8" , "\x79\xe7" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\x6a\xe7\x5c\xe7\x4c\xca" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\x79\xf1\xde" } , { "\xd7\xe8\xc3\xe8\xc6" , "\x79\xef" } , { "\xd7\xe8\xc3\xe8\xcd" , "\x79\xd4" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\x79\xd5\xd4" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\x79\xd4\xd0" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\x6a\xe7\x5c\xe7\x5d\xd4" } , { "\xd7\xe8\xc3\xe8\xcf" , "\x79\xf5" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\x79\xf5\xd1" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\x79\xee\xe3" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\x6a\xe7\x5c\xe7\x6a\xd0" } , { "\xd7\xe8\xc4" , "\x6a\xe7\x5d" } , { "\xd7\xe8\xc4\xda" , "\x6a\xe7\x5d\xd0" } , { "\xd7\xe8\xc4\xdb" , "\x6a\xe7\x5d\xde" } , { "\xd7\xe8\xc4\xdd" , "\x6a\xe7\x5d\xca" } , { "\xd7\xe8\xc4\xdd\xa2" , "\x6a\xe7\x5d\xca\xd5" } , { "\xd7\xe8\xc4\xde\xa2" , "\x6a\xe7\x5d\xcb\xd5" } , { "\xd7\xe8\xc4\xe1" , "\x6a\xe7\xd2\x5d" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\x6a\xe7\xd2\x7e\xd0" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\x6a\xe7\x5d\xe7\x67\xd0" } , { "\xd7\xe8\xc5" , "\x6a\xe7\x5e" } , { "\xd7\xe8\xc5\xa2" , "\x6a\xe7\x5e\xd5" } , { "\xd7\xe8\xc5\xda" , "\x6a\xe7\x5e\xd0" } , { "\xd7\xe8\xc5\xdb" , "\x6a\xe7\x5e\xde" } , { "\xd7\xe8\xc5\xdd" , "\x6a\xe7\x5e\xca" } , { "\xd7\xe8\xc5\xde" , "\x6a\xe7\x5e\xcb" } , { "\xd7\xe8\xc5\xe0" , "\x6a\xe7\xd2\x5e" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\x5e\xd5\xd4" } , { "\xd7\xe8\xc6" , "\x6a\xef" } , { "\xd7\xe8\xc6\xa2" , "\x6a\xef\xd5" } , { "\xd7\xe8\xc6\xda" , "\x6a\xef\xd0" } , { "\xd7\xe8\xc6\xdb" , "\x6a\xef\xde" } , { "\xd7\xe8\xc6\xdc" , "\x6a\xef\xd1" } , { "\xd7\xe8\xc6\xdd" , "\x6a\xf0\xe3" } , { "\xd7\xe8\xc6\xdd\xa2" , "\x6a\xf0\xe3\xd5" } , { "\xd7\xe8\xc6\xde" , "\x6a\xf0\xe5" } , { "\xd7\xe8\xc6\xe0" , "\xd2\x6a\xef" } , { "\xd7\xe8\xc6\xe1" , "\xd2\x6a\xef" } , { "\xd7\xe8\xc6\xe2" , "\xd2\x6a\xef\xdf" } , { "\xd7\xe8\xc6\xe5" , "\xd2\x6a\xef\xd0" } , { "\xd7\xe8\xc6\xe8\xc6" , "\x6a\xef\xe1" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\x6a\xe7\x5f\xf0\xe3" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\xd2\x6a\xef\xe1" } , { "\xd7\xe8\xc8" , "\xb8\xa4" } , { "\xd7\xe8\xc8\xa2" , "\xb8\xd6\xa4" } , { "\xd7\xe8\xc8\xda" , "\xb8\xa4\xd0" } , { "\xd7\xe8\xc8\xda\xa2" , "\xb8\xa4\xd0\xd6" } , { "\xd7\xe8\xc8\xdb" , "\xb8\xde\xa4" } , { "\xd7\xe8\xc8\xdb\xa2" , "\xb8\xde\xd6\xa4" } , { "\xd7\xe8\xc8\xdc" , "\xb8\xa4\xd1" } , { "\xd7\xe8\xc8\xdd" , "\xb8\xca\xa4" } , { "\xd7\xe8\xc8\xde" , "\xb8\xcb\xa4" } , { "\xd7\xe8\xc8\xdf" , "\xb8\xf4\xa4" } , { "\xd7\xe8\xc8\xe0" , "\xd2\xb8\xa4" } , { "\xd7\xe8\xc8\xe0\xa2" , "\xd2\xb8\xa4\xd6" } , { "\xd7\xe8\xc8\xe1" , "\xd2\xb8\xa4" } , { "\xd7\xe8\xc8\xe1\xa2" , "\xd2\xb8\xa4\xd6" } , { "\xd7\xe8\xc8\xe2" , "\xd2\xb8\xdf\xa4" } , { "\xd7\xe8\xc8\xe2\xa2" , "\xd2\xb8\xdf\xd6\xa4" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\xd2\xb8\xdf\xa4\x58\xe7" } , { "\xd7\xe8\xc8\xe4" , "\xd2\xb8\xa4\xd0" } , { "\xd7\xe8\xc8\xe5" , "\xd2\xb8\xa4\xd0" } , { "\xd7\xe8\xc8\xe5\xa2" , "\xd2\xb8\xa4\xd0\xd6" } , { "\xd7\xe8\xc8\xe6" , "\xd2\xb8\xa4\xd7" } , { "\xd7\xe8\xc8\xe7" , "\xd2\xb8\xa4\xd0" } , { "\xd7\xe8\xc8\xe8" , "\xb8\xe7\xa4" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\xd2\xb8\xe9\xa4" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\xb8\xcb\xa4\xd4" } , { "\xd7\xe8\xc8\xe8\xcf" , "\xb8\xf6\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\xb8\xf6\xa4\xd0" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\xb8\xf6\xde\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\xb8\xf6\xde\xd6\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\xb8\xf6\xe3\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\xb8\xf6\xe5\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\xd2\xb8\xf6\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\xd2\xb8\xf6\xdf\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\xd2\xb8\xf6\xa4\xd0" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\xd2\xb8\xf6\xa4\xd0" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\xb8\xee\xa4\xd0" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\xd2\xb8\xee\xa4" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xd2\xb8\xee\xa4" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\x6a\xe7\x68\xd4" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\x6a\xe7\xbf\xa4\xd0" } , { "\xd7\xe8\xc8\xe8\xd8" , "\x6a\xe7\x60\xe7\x6b\xfe" } , { "\xd7\xe8\xc9" , "\xc9\xa5" } , { "\xd7\xe8\xc9\xa2" , "\xc9\xd5\xa5" } , { "\xd7\xe8\xc9\xda" , "\xc9\xa5\xd0" } , { "\xd7\xe8\xc9\xda\xa2" , "\xc9\xa5\xd0\xd5" } , { "\xd7\xe8\xc9\xdb" , "\xc9\xde\xa5" } , { "\xd7\xe8\xc9\xdb\xa2" , "\xc9\xde\xd5\xa5" } , { "\xd7\xe8\xc9\xdc" , "\xc9\xa5\xd1" } , { "\xd7\xe8\xc9\xdd" , "\xc9\xca\xa5" } , { "\xd7\xe8\xc9\xde" , "\xc9\xcb\xa5" } , { "\xd7\xe8\xc9\xdf" , "\xc9\xf4\xa5" } , { "\xd7\xe8\xc9\xe0" , "\xd2\xc9\xa5" } , { "\xd7\xe8\xc9\xe0\xa2" , "\xd2\xc9\xa5\xd5" } , { "\xd7\xe8\xc9\xe1" , "\xd2\xc9\xa5" } , { "\xd7\xe8\xc9\xe2" , "\xd2\xc9\xdf\xa5" } , { "\xd7\xe8\xc9\xe4" , "\xd2\xc9\xa5\xd0" } , { "\xd7\xe8\xc9\xe5" , "\xd2\xc9\xa5\xd0" } , { "\xd7\xe8\xc9\xe6" , "\xd2\xc9\xa5\xd7" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\xc9\xa5\xd4\xd0" } , { "\xd7\xe8\xca" , "\x6a\xe8" } , { "\xd7\xe8\xca\xda" , "\x6a\xe8\xd0" } , { "\xd7\xe8\xca\xdb" , "\x6a\xe8\xde" } , { "\xd7\xe8\xca\xdd" , "\x6a\xe9\xe3" } , { "\xd7\xe8\xca\xe0" , "\xd2\x6a\xe8" } , { "\xd7\xe8\xca\xe1" , "\xd2\x6a\xe8" } , { "\xd7\xe8\xca\xe1\xa2" , "\xd2\x6a\xe8\xd5" } , { "\xd7\xe8\xca\xe2" , "\xd2\x6a\xe8\xdf" } , { "\xd7\xe8\xca\xe5" , "\xd2\x6a\xe8\xd0" } , { "\xd7\xe8\xca\xe5\xa2" , "\xd2\x6a\xe8\xd0\xd5" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\x6a\xe7\x61\xf6\xe5" } , { "\xd7\xe8\xcb" , "\x6a\xf7" } , { "\xd7\xe8\xcb\xdb" , "\x6a\xf7\xde" } , { "\xd7\xe8\xcb\xe0" , "\xd2\x6a\xf7" } , { "\xd7\xe8\xcc" , "\x6a\xea" } , { "\xd7\xe8\xcc\xa2" , "\x6a\xea\xd5" } , { "\xd7\xe8\xcc\xda" , "\x6a\xea\xd0" } , { "\xd7\xe8\xcc\xda\xa2" , "\x6a\xea\xd0\xd5" } , { "\xd7\xe8\xcc\xdb" , "\x6a\xea\xde" } , { "\xd7\xe8\xcc\xdc" , "\x6a\xea\xd1" } , { "\xd7\xe8\xcc\xdd" , "\x6a\xeb\xe3" } , { "\xd7\xe8\xcc\xdd\xa2" , "\x6a\xeb\xe3\xd5" } , { "\xd7\xe8\xcc\xdf" , "\x6a\xeb\xcc" } , { "\xd7\xe8\xcc\xe0" , "\xd2\x6a\xea" } , { "\xd7\xe8\xcc\xe0\xa2" , "\xd2\x6a\xea\xd5" } , { "\xd7\xe8\xcc\xe1" , "\xd2\x6a\xea" } , { "\xd7\xe8\xcc\xe1\xa2" , "\xd2\x6a\xea\xd5" } , { "\xd7\xe8\xcc\xe2" , "\xd2\x6a\xea\xdf" } , { "\xd7\xe8\xcc\xe2\xa2" , "\xd2\x6a\xea\xdf\xd5" } , { "\xd7\xe8\xcc\xe4" , "\xd2\x6a\xea\xd0" } , { "\xd7\xe8\xcc\xe5" , "\xd2\x6a\xea\xd0" } , { "\xd7\xe8\xcc\xe5\xa2" , "\xd2\x6a\xea\xd0\xd5" } , { "\xd7\xe8\xcc\xe6" , "\xd2\x6a\xea\xd7" } , { "\xd7\xe8\xcc\xe8" , "\x6a\xea\xe7" } , { "\xd7\xe8\xcc\xe8\xc2" , "\x6a\xe7\x63\xf1" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\x6a\xe7\x63\xf1\xde" } , { "\xd7\xe8\xcc\xe8\xcc" , "\x6a\xea\x9b" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\x6a\xea\xd4\xd0\xd5" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\x6a\xd4\xe3\xd4" } , { "\xd7\xe8\xcc\xe8\xd1" , "\x6a\xea\xe2" } , { "\xd7\xe8\xcd" , "\x6a\xd4" } , { "\xd7\xe8\xcd\xa2" , "\x6a\xd5\xd4" } , { "\xd7\xe8\xcd\xa3" , "\x6a\xd4\xd3" } , { "\xd7\xe8\xcd\xda" , "\x6a\xd4\xd0" } , { "\xd7\xe8\xcd\xda\xa2" , "\x6a\xd4\xd0\xd5" } , { "\xd7\xe8\xcd\xda\xa3" , "\x6a\xd4\xd0\xd3" } , { "\xd7\xe8\xcd\xdb" , "\x6a\xde\xd4" } , { "\xd7\xe8\xcd\xdc" , "\x6a\xd4\xd1" } , { "\xd7\xe8\xcd\xdd" , "\x6a\xca\xd4" } , { "\xd7\xe8\xcd\xdd\xa3" , "\x6a\xca\xd4\xd3" } , { "\xd7\xe8\xcd\xde" , "\x6a\xcb\xd4" } , { "\xd7\xe8\xcd\xde\xa2" , "\x6a\xcb\xd5\xd4" } , { "\xd7\xe8\xcd\xe0" , "\xd2\x6a\xd4" } , { "\xd7\xe8\xcd\xe1" , "\xd2\x6a\xd4" } , { "\xd7\xe8\xcd\xe2" , "\xd2\x6a\xdf\xd4" } , { "\xd7\xe8\xcd\xe4" , "\xd2\x6a\xd4\xd0" } , { "\xd7\xe8\xcd\xe5" , "\xd2\x6a\xd4\xd0" } , { "\xd7\xe8\xcd\xe5\xa2" , "\xd2\x6a\xd4\xd0\xd5" } , { "\xd7\xe8\xcd\xe5\xa3" , "\xd2\x6a\xd4\xd0\xd3" } , { "\xd7\xe8\xcd\xe6" , "\xd2\x6a\xd4\xd7" } , { "\xd7\xe8\xcd\xe8" , "\x6a\xe7" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\x6a\xd4\xd0" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\x6a\xd4\xcd\xd0" } , { "\xd7\xe8\xcf" , "\x6a\xf5" } , { "\xd7\xe8\xcf\xa2" , "\x6a\xf5\xd5" } , { "\xd7\xe8\xcf\xda" , "\x6a\xf5\xd0" } , { "\xd7\xe8\xcf\xda\xa2" , "\x6a\xf5\xd0\xd5" } , { "\xd7\xe8\xcf\xdb" , "\x6a\xf5\xde" } , { "\xd7\xe8\xcf\xdb\xa2" , "\x6a\xf5\xde\xd5" } , { "\xd7\xe8\xcf\xdc" , "\x6a\xf5\xd1" } , { "\xd7\xe8\xcf\xdd" , "\x6a\xf6\xe3" } , { "\xd7\xe8\xcf\xde" , "\x6a\xf6\xe5" } , { "\xd7\xe8\xcf\xde\xa2" , "\x6a\xf6\xe5\xd5" } , { "\xd7\xe8\xcf\xdf" , "\x6a\xf6\xcc" } , { "\xd7\xe8\xcf\xe0" , "\xd2\x6a\xf5" } , { "\xd7\xe8\xcf\xe1" , "\xd2\x6a\xf5" } , { "\xd7\xe8\xcf\xe2" , "\xd2\x6a\xf5\xdf" } , { "\xd7\xe8\xcf\xe5" , "\xd2\x6a\xf5\xd0" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xd2\x6a\xf5\xd0\xd5" } , { "\xd7\xe8\xcf\xe8\xbd" , "\x6a\xe7\x65\xe7\xfe\x56" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\x6a\xe7\x65\xe7\xfe\xd2\x60" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\x6a\xe7\x65\xe7\xfe\x67\xd0" } , { "\xd7\xe8\xd1" , "\x6a\xed" } , { "\xd7\xe8\xd1\xa2" , "\x6a\xed\xd5" } , { "\xd7\xe8\xd1\xda" , "\x6a\xed\xd0" } , { "\xd7\xe8\xd1\xda\xa2" , "\x6a\xed\xd0\xd5" } , { "\xd7\xe8\xd1\xdb" , "\x6a\xed\xde" } , { "\xd7\xe8\xd1\xdb\xa2" , "\x6a\xed\xde\xd5" } , { "\xd7\xe8\xd1\xdc" , "\x6a\xed\xd1" } , { "\xd7\xe8\xd1\xdc\xa2" , "\x6a\xed\xd1\xd5" } , { "\xd7\xe8\xd1\xdd" , "\x6a\xee\xe3" } , { "\xd7\xe8\xd1\xdd\xa2" , "\x6a\xee\xe3\xd5" } , { "\xd7\xe8\xd1\xde" , "\x6a\xee\xe5" } , { "\xd7\xe8\xd1\xe0" , "\xd2\x6a\xed" } , { "\xd7\xe8\xd1\xe1" , "\xd2\x6a\xed" } , { "\xd7\xe8\xd1\xe1\xa2" , "\xd2\x6a\xed\xd5" } , { "\xd7\xe8\xd1\xe2" , "\xd2\x6a\xed\xdf" } , { "\xd7\xe8\xd1\xe4" , "\xd2\x6a\xed\xd0" } , { "\xd7\xe8\xd1\xe5" , "\xd2\x6a\xed\xd0" } , { "\xd7\xe8\xd1\xe5\xa2" , "\xd2\x6a\xed\xd0\xd5" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\x6a\xe7\x96\xde\xc6" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\x6a\xe7\xd2\x96\xc6" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\x6a\xe7\xd2\x96\xc6\xd0" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\x6a\xe7\x6d\xe7\xfe\x60\xd0\xd5" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\x6a\xe7\x6d\xe7\xfe\x60\xd1" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\x6a\xe7\x6d\xe7\xfe\xd2\x60" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\x6a\xe7\x6d\xe7\xfe\xd2\x60\xd5" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\x6a\xe7\x6d\xe7\xfe\x6a\xd0\xd5" } , { "\xd7\xe8\xd4" , "\x6a\xe7\x67" } , { "\xd7\xe8\xd4\xa2" , "\x6a\xe7\x67\xd5" } , { "\xd7\xe8\xd4\xda" , "\x6a\xe7\x67\xd0" } , { "\xd7\xe8\xd4\xda\xa1" , "\x6a\xe7\x67\xdc\xd0" } , { "\xd7\xe8\xd4\xda\xa2" , "\x6a\xe7\x67\xd0\xd5" } , { "\xd7\xe8\xd4\xdb" , "\x6a\xe7\x67\xde" } , { "\xd7\xe8\xd4\xdb\xa2" , "\x6a\xe7\x67\xde\xd5" } , { "\xd7\xe8\xd4\xdc" , "\x6a\xe7\x67\xd1" } , { "\xd7\xe8\xd4\xdc\xa2" , "\x6a\xe7\x67\xd1\xd5" } , { "\xd7\xe8\xd4\xdd" , "\x6a\xe7\x67\xca" } , { "\xd7\xe8\xd4\xdd\xa2" , "\x6a\xe7\x67\xca\xd5" } , { "\xd7\xe8\xd4\xdf" , "\x6a\xe7\x67\xf3" } , { "\xd7\xe8\xd4\xe0" , "\x6a\xe7\xd2\x67" } , { "\xd7\xe8\xd4\xe1" , "\x6a\xe7\xd2\x67" } , { "\xd7\xe8\xd4\xe2" , "\x6a\xe7\xd2\x67\xdf" } , { "\xd7\xe8\xd4\xe2\xa2" , "\x6a\xe7\xd2\x67\xdf\xd5" } , { "\xd7\xe8\xd4\xe5" , "\x6a\xe7\xd2\x67\xd0" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\x6a\xe7\x67\xe7\x4c\xd0" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\x6a\xe7\x67\xf2\xd5" } , { "\xd7\xe8\xd5" , "\x6a\xe7\x68" } , { "\xd7\xe8\xd5\xda" , "\x6a\xe7\x68\xd0" } , { "\xd7\xe8\xd5\xdb" , "\x6a\xe7\x68\xde" } , { "\xd7\xe8\xd5\xdd" , "\x6a\xe7\x68\xca" } , { "\xd7\xe8\xd5\xe1" , "\x6a\xe7\xd2\x68" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\x6a\xe7\xd2\x68\xf5" } , { "\xd7\xe8\xd6" , "\x6a\xe7\x69" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\x6a\xe7\xbd\xde\xa4" } , { "\xd7\xe8\xd7" , "\x6a\xe7\x6a" } , { "\xd7\xe8\xd7\xa2" , "\x6a\xe7\x6a\xd5" } , { "\xd7\xe8\xd7\xda" , "\x6a\xe7\x6a\xd0" } , { "\xd7\xe8\xd7\xda\xa2" , "\x6a\xe7\x6a\xd0\xd5" } , { "\xd7\xe8\xd7\xdb" , "\x6a\xe7\x6a\xde" } , { "\xd7\xe8\xd7\xdb\xa2" , "\x6a\xe7\x6a\xde\xd5" } , { "\xd7\xe8\xd7\xdc" , "\x6a\xe7\x6a\xd1" } , { "\xd7\xe8\xd7\xdc\xa2" , "\x6a\xe7\x6a\xd1\xd5" } , { "\xd7\xe8\xd7\xdd" , "\x6a\xe7\x6a\xca" } , { "\xd7\xe8\xd7\xdd\xa2" , "\x6a\xe7\x6a\xca\xd5" } , { "\xd7\xe8\xd7\xde" , "\x6a\xe7\x6a\xcb" } , { "\xd7\xe8\xd7\xdf" , "\x6a\xe7\x6a\xf3" } , { "\xd7\xe8\xd7\xe0" , "\x6a\xe7\xd2\x6a" } , { "\xd7\xe8\xd7\xe0\xa2" , "\x6a\xe7\xd2\x6a\xd5" } , { "\xd7\xe8\xd7\xe1" , "\x6a\xe7\xd2\x6a" } , { "\xd7\xe8\xd7\xe1\xa2" , "\x6a\xe7\xd2\x6a\xd5" } , { "\xd7\xe8\xd7\xe2" , "\x6a\xe7\xd2\x6a\xdf" } , { "\xd7\xe8\xd7\xe4" , "\x6a\xe7\xd2\x6a\xd0" } , { "\xd7\xe8\xd7\xe5" , "\x6a\xe7\xd2\x6a\xd0" } , { "\xd7\xe8\xd7\xe5\xa2" , "\x6a\xe7\xd2\x6a\xd0\xd5" } , { "\xd7\xe8\xd7\xe6" , "\x6a\xe7\xd2\x6a\xd7" } , { "\xd7\xe8\xd7\xe6\xa2" , "\x6a\xe7\xd2\x6a\xd7\xd5" } , { "\xd7\xe8\xd7\xe8" , "\x6a\xe7\x6a\xe7" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\x6a\xe7\xb2\xc6\xd0" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\x6a\xe7\xb2\xca\xc6" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\x6a\xe7\xb2\xf4\xc6" } , { "\xd7\xe8\xd7\xe8\xbd" , "\x6a\xe7\x6a\xe7\x56" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\x6a\xe7\x6a\xe7\x56\xd0" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\x6a\xe7\x6a\xe7\x56\xd0\xd5" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\x6a\xe7\x6a\xe7\x56\xd1" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\x6a\xe7\x6a\xe7\xd2\x56" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x6a\xe7\x6a\xe7\x56\xf6\xd0" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\x6a\xe7\xaa\xcb\xd6\xc6" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\x6a\xe7\x79\xd0" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\x6a\xe7\x79\xde" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\x6a\xe7\x6a\xef\xd0" } , { "\xd7\xe8\xd7\xe8\xcc" , "\x6a\xe7\x6a\xea" } , { "\xd7\xe8\xd7\xe8\xcd" , "\x6a\xd4" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\x6a\xd4\xd0" } , { "\xd7\xe8\xd7\xe8\xcf" , "\x6a\xe7\x6a\xf5" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\x6a\xe7\x6a\xf5\xd0" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\x6a\xe7\x6a\xee\xe3" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\x6a\xe7\xd2\x6a\xed\xd0" } , { "\xd7\xe8\xd7\xe8\xd4" , "\x6a\xe7\x6a\xe7\x67" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\x6a\xe7\x6a\xe7\x67\xd0" } , { "\xd7\xe8\xd8" , "\x6a\xe7\x6b\xfe" } , { "\xd7\xe8\xd8\xda" , "\x6a\xe7\x6b\xfe\xd0" } , { "\xd7\xe8\xd8\xe0" , "\x6a\xe7\xd2\x6b\xfe" } , { "\xd7\xe8\xd8\xe5" , "\x6a\xe7\xd2\x6b\xfe\xd0" } , { "\xd7\xe8\xd8\xe6" , "\x6a\xe7\xd2\x6b\xfe\xd7" } , { "\xd7\xe8\xd9" , "\x6a\xe7" } , { "\xd7\xe8\xd9\xa6" , "\x6a\xe7\x42" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\x6a\xe7\x56\xe0" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\x6a\xe7\x56\xe0\xd0" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\x6a\xe7\xd2\x56\xe0" } , { "\xd7\xe8\xe8" , "\x6a\xe7" } , { "\xd7\xe8\xe9\xcf" , "\x6a\xe7\x65\xfe" } , { "\xd7\xe9" , "\x6a" } , { "\xd8" , "\x6b\xfe" } , { "\xd8\xa1" , "\x6b\xdc\xfe" } , { "\xd8\xa2" , "\x6b\xd5\xfe" } , { "\xd8\xa3" , "\x6b\xfe\xd3" } , { "\xd8\xd0" , "\x6b\xfe\x65\xfe" } , { "\xd8\xd9" , "\x6b\xfe" } , { "\xd8\xd9\xd1\xda" , "\x6b\xfe\x6d\xfe\xd0" } , { "\xd8\xda" , "\x6b\xfe\xd0" } , { "\xd8\xda\xa1" , "\x6b\xdc\xfe\xd0" } , { "\xd8\xda\xa2" , "\x6b\xfe\xd0\xd5" } , { "\xd8\xda\xa3" , "\x6b\xfe\xd0\xd3" } , { "\xd8\xdb" , "\x6b\xde\xfe" } , { "\xd8\xdb\xa2" , "\x6b\xde\xd5\xfe" } , { "\xd8\xdb\xa2\xa2" , "\x6b\xde\xd5\xfe\xd5" } , { "\xd8\xdb\xa3" , "\x6b\xde\xfe\xd3" } , { "\xd8\xdc" , "\x6b\xfe\xd1" } , { "\xd8\xdc\xa1" , "\x6b\xdc\xfe\xd1" } , { "\xd8\xdc\xa2" , "\x6b\xfe\xd1\xd5" } , { "\xd8\xdd" , "\x6b\xca\xfe" } , { "\xd8\xdd\xa1" , "\x6b\xca\xdc\xfe" } , { "\xd8\xdd\xa2" , "\x6b\xca\xd5\xfe" } , { "\xd8\xdd\xa3" , "\x6b\xca\xfe\xd3" } , { "\xd8\xde" , "\x6b\xcb\xfe" } , { "\xd8\xde\xa1" , "\x6b\xcb\xdc\xfe" } , { "\xd8\xde\xa2" , "\x6b\xcb\xd5\xfe" } , { "\xd8\xdf" , "\x6b\xf3\xfe" } , { "\xd8\xe0" , "\xd2\x6b\xfe" } , { "\xd8\xe0\xa2" , "\xd2\x6b\xfe\xd5" } , { "\xd8\xe1" , "\xd2\x6b\xfe" } , { "\xd8\xe1\xa2" , "\xd2\x6b\xfe\xd5" } , { "\xd8\xe1\xa3" , "\xd2\x6b\xfe\xd3" } , { "\xd8\xe2" , "\xd2\x6b\xdf\xfe" } , { "\xd8\xe2\xa1" , "\xd2\x6b\xdf\xdb\xfe" } , { "\xd8\xe2\xa2" , "\xd2\x6b\xdf\xd5\xfe" } , { "\xd8\xe2\xa3" , "\xd2\x6b\xdf\xfe\xd3" } , { "\xd8\xe3" , "\xd2\x6b\xfe" } , { "\xd8\xe3\xa2" , "\xd2\x6b\xfe\xd5" } , { "\xd8\xe4" , "\xd2\x6b\xfe\xd0" } , { "\xd8\xe4\xa2" , "\xd2\x6b\xfe\xd0\xd5" } , { "\xd8\xe5" , "\xd2\x6b\xfe\xd0" } , { "\xd8\xe5\xa1" , "\xd2\x6b\xdc\xfe\xd0" } , { "\xd8\xe5\xa2" , "\xd2\x6b\xfe\xd0\xd5" } , { "\xd8\xe6" , "\xd2\x6b\xfe\xd7" } , { "\xd8\xe6\xa2" , "\xd2\x6b\xfe\xd7\xd5" } , { "\xd8\xe7" , "\xd2\x6b\xfe\xd0" } , { "\xd8\xe7\xa2" , "\xd2\x6b\xfe\xd0\xd5" } , { "\xd8\xe8" , "\x6b\xe7\xfe" } , { "\xd8\xe8\xb3\xdd" , "\x6b\xe7\xfe\x4c\xca" } , { "\xd8\xe8\xb5" , "\x6b\xe7\xfe\x4e" } , { "\xd8\xe8\xb5\xdd" , "\x6b\xe7\xfe\x4e\xca" } , { "\xd8\xe8\xb5\xde" , "\x6b\xe7\xfe\x4e\xcb" } , { "\xd8\xe8\xb8" , "\x6b\xe7\xfe\x51" } , { "\xd8\xe8\xb8\xdd" , "\x6b\xe7\xfe\x51\xca" } , { "\xd8\xe8\xbd\xdb" , "\x6b\xe7\xfe\x56\xde" } , { "\xd8\xe8\xbf" , "\x6b\xe7\xfe\x58" } , { "\xd8\xe8\xc1" , "\x6b\xe7\xfe\x5a" } , { "\xd8\xe8\xc1\xda" , "\x6b\xe7\xfe\x5a\xd0" } , { "\xd8\xe8\xc1\xe1" , "\x6b\xe7\xfe\xd2\x5a" } , { "\xd8\xe8\xc2" , "\x6b\xf1\xfe" } , { "\xd8\xe8\xc2\xa2" , "\x6b\xf1\xd5\xfe" } , { "\xd8\xe8\xc2\xda" , "\x6b\xf1\xfe\xd0" } , { "\xd8\xe8\xc2\xdc" , "\x6b\xf1\xfe\xd1" } , { "\xd8\xe8\xc2\xe8" , "\x6b\xf1\xe7\xfe" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\x6b\xe7\xfe\x5b\xe7\x5b\xe7\x67" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\x6b\xf1\xcd\xfe\xd0" } , { "\xd8\xe8\xc2\xe8\xd4" , "\x6b\xe7\xfe\x5b\xe7\x67" } , { "\xd8\xe8\xc3" , "\x6b\xe7\xfe\x5c" } , { "\xd8\xe8\xc4" , "\x6b\xe7\xfe\x5d" } , { "\xd8\xe8\xc4\xe1" , "\x6b\xe7\xfe\xd2\x5d" } , { "\xd8\xe8\xc4\xe5\xa2" , "\x6b\xe7\xfe\xd2\x5d\xd0\xd5" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\x6b\xe7\xfe\x5d\xe7\x60\xd0" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\x5d\xd5\xd4" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\x6b\xe7\xfe\xd2\x5d\xf6\xd0" } , { "\xd8\xe8\xc6" , "\x6b\xef\xfe" } , { "\xd8\xe8\xc6\xa2" , "\x6b\xef\xd5\xfe" } , { "\xd8\xe8\xc6\xda" , "\x6b\xef\xfe\xd0" } , { "\xd8\xe8\xc6\xda\xa2" , "\x6b\xef\xfe\xd0\xd5" } , { "\xd8\xe8\xc6\xdb" , "\x6b\xef\xde\xfe" } , { "\xd8\xe8\xc6\xdd" , "\x6b\xf0\xe3\xfe" } , { "\xd8\xe8\xc6\xe5\xa2" , "\xd2\x6b\xef\xfe\xd0\xd5" } , { "\xd8\xe8\xca" , "\x6b\xe8\xfe" } , { "\xd8\xe8\xcb" , "\x6b\xf7\xfe" } , { "\xd8\xe8\xcc" , "\x6b\xea\xfe" } , { "\xd8\xe8\xcc\xa2" , "\x6b\xea\xd5\xfe" } , { "\xd8\xe8\xcc\xda" , "\x6b\xea\xfe\xd0" } , { "\xd8\xe8\xcc\xda\xa2" , "\x6b\xea\xfe\xd0\xd5" } , { "\xd8\xe8\xcc\xdb" , "\x6b\xea\xde\xfe" } , { "\xd8\xe8\xcc\xdc" , "\x6b\xea\xfe\xd1" } , { "\xd8\xe8\xcc\xde" , "\x6b\xeb\xe5\xfe" } , { "\xd8\xe8\xcc\xe1" , "\xd2\x6b\xea\xfe" } , { "\xd8\xe8\xcc\xe1\xa2" , "\xd2\x6b\xea\xfe\xd5" } , { "\xd8\xe8\xcc\xe2" , "\xd2\x6b\xea\xdf\xfe" } , { "\xd8\xe8\xcc\xe5" , "\xd2\x6b\xea\xfe\xd0" } , { "\xd8\xe8\xcc\xe8" , "\x6b\xea\xe7\xfe" } , { "\xd8\xe8\xcc\xe8\xb8" , "\x6b\xe7\xfe\x63\xe7\x51" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\x6b\xe7\xfe\x63\xe7\x51\xd0" } , { "\xd8\xe8\xcc\xe8\xc1" , "\x6b\xe7\xfe\x63\xe7\x5a" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\x6b\xe7\xfe\x63\xe7\x5a\xd1" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\x6b\xe7\xfe\x63\xe7\x67\xd0" } , { "\xd8\xe8\xcd" , "\x6b\xfe\xd4" } , { "\xd8\xe8\xcd\xa2" , "\x6b\xd5\xfe\xd4" } , { "\xd8\xe8\xcd\xda" , "\x6b\xfe\xd4\xd0" } , { "\xd8\xe8\xcd\xda\xa2" , "\x6b\xfe\xd4\xd0\xd5" } , { "\xd8\xe8\xcd\xdb" , "\x6b\xde\xfe\xd4" } , { "\xd8\xe8\xcd\xdb\xa2" , "\x6b\xde\xd5\xfe\xd4" } , { "\xd8\xe8\xcd\xdc\xa2" , "\x6b\xfe\xd4\xd1\xd5" } , { "\xd8\xe8\xcd\xdd" , "\x6b\xca\xfe\xd4" } , { "\xd8\xe8\xcd\xde" , "\x6b\xcb\xfe\xd4" } , { "\xd8\xe8\xcd\xde\xa2" , "\x6b\xcb\xd5\xfe\xd4" } , { "\xd8\xe8\xcd\xe1" , "\xd2\x6b\xfe\xd4" } , { "\xd8\xe8\xcd\xe1\xa2" , "\xd2\x6b\xfe\xd4\xd5" } , { "\xd8\xe8\xcd\xe5" , "\xd2\x6b\xfe\xd4\xd0" } , { "\xd8\xe8\xcd\xe8\xcf" , "\x6b\xd4\xcd\xfe" } , { "\xd8\xe8\xcd\xe8\xd7" , "\x6b\xe7\xfe\xaf\xe7\xc6\x6a" } , { "\xd8\xe8\xcf" , "\x6b\xf5\xfe" } , { "\xd8\xe8\xcf\xda" , "\x6b\xf5\xfe\xd0" } , { "\xd8\xe8\xcf\xda\xa2" , "\x6b\xf5\xfe\xd0\xd5" } , { "\xd8\xe8\xcf\xdb" , "\x6b\xf5\xde\xfe" } , { "\xd8\xe8\xcf\xdc" , "\x6b\xf5\xfe\xd1" } , { "\xd8\xe8\xcf\xdc\xa2" , "\x6b\xf5\xfe\xd1\xd5" } , { "\xd8\xe8\xcf\xdd" , "\x6b\xf6\xe3\xfe" } , { "\xd8\xe8\xcf\xde" , "\x6b\xf6\xe5\xfe" } , { "\xd8\xe8\xcf\xde\xa2" , "\x6b\xf6\xe5\xd5\xfe" } , { "\xd8\xe8\xcf\xe0" , "\xd2\x6b\xf5\xfe" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xd2\x6b\xf5\xfe\xd5" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x6b\xe7\xfe\xd2\x5f\xe8\xe2\xe0\xd5" } , { "\xd8\xe8\xd1" , "\x6b\xed\xfe" } , { "\xd8\xe8\xd1\xda" , "\x6b\xed\xfe\xd0" } , { "\xd8\xe8\xd1\xda\xa2" , "\x6b\xed\xfe\xd0\xd5" } , { "\xd8\xe8\xd1\xdb" , "\x6b\xed\xde\xfe" } , { "\xd8\xe8\xd1\xdc" , "\x6b\xed\xfe\xd1" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\x6b\xe7\xfe\x6d\xe7\xfe\x67\xd0" } , { "\xd8\xe8\xd4" , "\x6b\xe7\xfe\x67" } , { "\xd8\xe8\xd4\xda" , "\x6b\xe7\xfe\x67\xd0" } , { "\xd8\xe8\xd4\xdb" , "\x6b\xe7\xfe\x67\xde" } , { "\xd8\xe8\xd4\xdc" , "\x6b\xe7\xfe\x67\xd1" } , { "\xd8\xe8\xd4\xe1" , "\x6b\xe7\xfe\xd2\x67" } , { "\xd8\xe8\xd4\xe1\xa2" , "\x6b\xe7\xfe\xd2\x67\xd5" } , { "\xd8\xe8\xd4\xe2" , "\x6b\xe7\xfe\xd2\x67\xdf" } , { "\xd8\xe8\xd4\xe4" , "\x6b\xe7\xfe\xd2\x67\xd0" } , { "\xd8\xe8\xd4\xe5" , "\x6b\xe7\xfe\xd2\x67\xd0" } , { "\xd8\xe8\xd4\xe8" , "\x6b\xe7\xfe\x67\xe7" } , { "\xd8\xe8\xd6\xdb" , "\x6b\xe7\xfe\x69\xde" } , { "\xd8\xe8\xd6\xe8\xbd" , "\x6b\xe7\xfe\xbd\xa4" } , { "\xd8\xe8\xd7\xa2" , "\x6b\xe7\xfe\x6a\xd5" } , { "\xd8\xe8\xd7\xe8" , "\x6b\xe7\xfe\x6a\xe7" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\x6b\xe7\xfe\xb2\xc6\xd1" } , { "\xd8\xe8\xd7\xe8\xd4" , "\x6b\xe7\xfe\x6a\xe7\x67" } , { "\xd8\xe8\xd8" , "\x6b\xe7\xfe\x6b\xfe" } , { "\xd8\xe8\xd8\xa2" , "\x6b\xe7\xfe\x6b\xd5\xfe" } , { "\xd8\xe8\xd8\xda" , "\x6b\xe7\xfe\x6b\xfe\xd0" } , { "\xd8\xe8\xd8\xdb" , "\x6b\xe7\xfe\x6b\xde\xfe" } , { "\xd8\xe8\xd8\xdc" , "\x6b\xe7\xfe\x6b\xfe\xd1" } , { "\xd8\xe8\xd8\xe5\xa2" , "\x6b\xe7\xfe\xd2\x6b\xfe\xd0\xd5" } , { "\xd8\xe8\xd9" , "\x6b\xe7\xfe" } , { "\xd8\xe8\xd9\xcc" , "\x6b\xe7\xfe\x63" } , { "\xd8\xe8\xd9\xcd" , "\x6b\xe7\xfe\xaf\xc6" } , { "\xd8\xe8\xe8" , "\x6b\xe7\xfe" } , { "\xd8\xe8\xe9\xcf" , "\x6b\xe7\xfe\x65\xfe" } , { "\xd8\xe9" , "\x6b\xfe" } , { "\xda" , "\xd0" } , { "\xdb" , "\xde" } , { "\xdb\xa2" , "\xde\xd5" } , { "\xdc" , "\xd1" } , { "\xdc\xa2" , "\xd1\xd5" } , { "\xdd" , "\xca" } , { "\xde" , "\xcb" } , { "\xdf" , "\xf3" } , { "\xe0" , "\xd2" } , { "\xe0\xa2" , "\xd2\xd5" } , { "\xe1" , "\xd2" } , { "\xe1\xa2" , "\xd2\xd5" } , { "\xe2" , "\xd2\xdf" } , { "\xe2\xa2" , "\xd2\xdf\xd5" } , { "\xe3" , "\xd2" } , { "\xe3\xa2" , "\xd2\xd5" } , { "\xe4" , "\xd2\xd0" } , { "\xe4\xa2" , "\xd2\xd0\xd5" } , { "\xe5" , "\xd2\xd0" } , { "\xe5\xa2" , "\xd2\xd0\xd5" } , { "\xe6" , "\xd2\xd7" } , { "\xe6\xa2" , "\xd2\xd7\xd5" } , { "\xe7" , "\xd2\xd0" } , { "\xe8" , "\xe7" } , { "\xe8\xe9" , "\xcf\xe7" } , { "\xe9" , "\xcf" } , { "\xe9\xdd" , "\xcf\xca" } , { "\xe9\xde" , "\xcf\xcb" } , { "\xe9\xe9" , "\xcf" } , } ; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/hindi.table���������������������������������������������������������������0100644�0001760�0000144�00001611475�13210547312�0016175�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_hindi_table[] = { { "\xa1" , "\xc4" } , { "\xa1\xa2" , "\xc4\xc6" } , { "\xa1\xa4" , "\xc4\x2b" } , { "\xa1\xa4\xa2" , "\xc4\x2b\xc6" } , { "\xa1\xab" , "\xc4\x42\xe0" } , { "\xa1\xab\xa2" , "\xc4\x42\xe1" } , { "\xa1\xb0" , "\xc4\x2b\xc9\xe4" } , { "\xa1\xcd\xdb" , "\xc4\xca\xaa\xc9" } , { "\xa1\xd4" , "\xc4\xb4\xc9" } , { "\xa1\xe9" , "\x24" } , { "\xa2" , "\xc6" } , { "\xa2\xa3" , "\xc6\x26" } , { "\xa3" , "\x26" } , { "\xa4" , "\x2b" } , { "\xa4\xa1" , "\x2b\xc4" } , { "\xa4\xa2" , "\x2b\xc6" } , { "\xa4\xa3" , "\x2b\x26" } , { "\xa4\xd0\xe8" , "\x2b\xae\xc2\xfa\xc3" } , { "\xa5" , "\x2b\xc9" } , { "\xa5\xa1" , "\x2b\xc9\xc4" } , { "\xa5\xa2" , "\x2b\xc9\xc6" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x2b\xc9\xc6\xae\xe5\xfa\xc3" } , { "\xa5\xa3" , "\x2b\xc9\x26" } , { "\xa6" , "\x3c" } , { "\xa6\xa1" , "\x3c\xc4" } , { "\xa6\xa2" , "\x3c\xc6" } , { "\xa6\xa3" , "\x3c\x26" } , { "\xa6\xcc\xe5" , "\x3c\xa8\xc9\xc9\xe4" } , { "\xa6\xd7" , "\x3c\xba\xc9" } , { "\xa7" , "\x3c\xc7" } , { "\xa7\xa1" , "\x3c\xc8" } , { "\xa7\xa1\xa1" , "\x3c\xc8\xc4" } , { "\xa7\xa1\xa3" , "\x3c\xc8\x26" } , { "\xa7\xa2" , "\x3c\xc8" } , { "\xa7\xa3" , "\x3c\xc7\x26" } , { "\xa8" , "\x3d" } , { "\xa8\xa1" , "\x3d\xc4" } , { "\xa8\xa2" , "\x3d\xc6" } , { "\xa8\xa2\xa2" , "\x3d\xc6\xc6" } , { "\xa8\xa3" , "\x3d\x26" } , { "\xa8\xb3\xdf" , "\x3d\x45\xde\xf2" } , { "\xa9" , "\x3e\xf0" } , { "\xa9\xa1" , "\x3e\xc4\xf0" } , { "\xa9\xa2" , "\x3e\xc6\xf0" } , { "\xaa" , "\x40\xf1" } , { "\xaa\xa2" , "\x40\xc6\xf1" } , { "\xaa\xe9" , "\x41\xf1" } , /* U+9600 */ { "\xab" , "\x42\xe0" } , { "\xab\xa1" , "\x42\xe1" } , { "\xab\xa2" , "\x42\xe1" } , { "\xab\xd9" , "\x42\xe0" } , { "\xac" , "\x42" } , { "\xac\xa1" , "\x42\xc4" } , { "\xac\xa2" , "\x42\xc6" } , { "\xac\xa2\xa1" , "\x42\xc6\xc4" } , { "\xac\xd0\xc5" , "\x42\xae\xfa\xc3\x76\xc9" } , { "\xac\xd7" , "\x42\xba\xc9" } , { "\xad" , "\x42\xe4" } , { "\xad\xa1" , "\x42\xe5" } , { "\xad\xa2" , "\x42\xe5" } , { "\xad\xb1" , "\x42\xe4\x2b\xc9\xe8" } , { "\xad\xd0\xb1" , "\x42\xe4\xae\xfa\xc3\x2b\xc9\xe8" } , { "\xae" , "\x42\xec" } , { "\xae\xa2" , "\x42\xed" } , { "\xae\xa3" , "\x42\xec\x26" } , { "\xae\xd9" , "\x42\xec" } , { "\xaf" , "\x2b\xc9\xe0" } , { "\xaf\xa1" , "\x2b\xc9\xe1" } , { "\xaf\xa2" , "\x2b\xc9\xe1" } , { "\xaf\xd0\xb1\xd1" , "\x2b\xc9\xe0\xae\xfa\xc3\x2b\xc9\xe8\xb1\xc9" } , { "\xb0" , "\x2b\xc9\xe4" } , { "\xb0\xa1" , "\x2b\xc9\xe5" } , { "\xb0\xa2" , "\x2b\xc9\xe5" } , { "\xb0\xa3" , "\x2b\xc9\xe4\x26" } , { "\xb0\xa3\xd0\xb6" , "\x2b\xc9\xe4\x26\xae\xfa\xc3\x50\xc9" } , { "\xb0\xcc\xe8" , "\x2b\xc9\xe4\xa8\xc9\xc2" } , { "\xb0\xd0" , "\x2b\xc9\xe4\xae\xfa\xc3" } , { "\xb1" , "\x2b\xc9\xe8" } , { "\xb1\xa1" , "\x2b\xc9\xe9" } , { "\xb1\xa2" , "\x2b\xc9\xe9" } , { "\xb1\xa3" , "\x2b\xc9\xe8\x26" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x2b\xc9\xe8\x26\xad\xb1\xc9\xd2" } , { "\xb1\xd0" , "\x2b\xc9\xe8\xae\xfa\xc3" } , { "\xb1\xd1\xd7" , "\x2b\xc9\xe8\xb1\xc9\xba\xc9" } , { "\xb1\xd7" , "\x2b\xc9\xe8\xba\xc9" } , { "\xb2" , "\x2b\xc9\xec" } , { "\xb2\xd9\xb5" , "\x2b\xc9\xec\x4d\xc9" } , { "\xb3" , "\x45\xf2" } , { "\xb3\xa1" , "\x45\xc4\xf2" } , { "\xb3\xa2" , "\x45\xc6\xf2" } , { "\xb3\xa2\xa2" , "\x45\xc6\xf2\xc6" } , { "\xb3\xa3" , "\x45\xf2\x26" } , { "\xb3\xd9\xaa" , "\x45\xf2\x40\xf1" } , { "\xb3\xda" , "\x45\xf2\xc9" } , { "\xb3\xda\xa1" , "\x45\xf2\xc9\xc4" } , { "\xb3\xda\xa2" , "\x45\xf2\xc9\xc6" } , { "\xb3\xda\xa2\xa2" , "\x45\xf2\xc9\xc6\xc6" } , { "\xb3\xda\xa3" , "\x45\xf2\xc9\x26" } , { "\xb3\xdb" , "\xca\x45\xf2" } , { "\xb3\xdb\xa2" , "\xcb\x45\xf2" } , { "\xb3\xdb\xa3" , "\xca\x45\xf2\x26" } , { "\xb3\xdb\xc7" , "\xca\x45\xf2\x78\xc9\xc3" } , { "\xb3\xdc" , "\x45\xf2\xd2" } , { "\xb3\xdc\xa2" , "\x45\xf2\xd3" } , { "\xb3\xdd" , "\x45\xd6\xf2" } , { "\xb3\xdd\xa1" , "\x45\xd6\xc4\xf2" } , { "\xb3\xdd\xa2" , "\x45\xd6\xc6\xf2" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x45\xd6\xc6\xf2\xae\xfa\xc3\x68\xc9" } , { "\xb3\xdd\xa3" , "\x45\xd6\xf2\x26" } , { "\xb3\xde" , "\x45\xda\xf2" } , { "\xb3\xde\xa1" , "\x45\xda\xc4\xf2" } , { "\xb3\xde\xa2" , "\x45\xda\xc6\xf2" } , { "\xb3\xdf" , "\x45\xde\xf2" } , { "\xb3\xdf\xa2" , "\x45\xde\xc6\xf2" } , { "\xb3\xe0" , "\x45\xe0\xf2" } , { "\xb3\xe0\xa2" , "\x45\xe1\xf2" } , { "\xb3\xe1" , "\x45\xe4\xf2" } , { "\xb3\xe1\xa1" , "\x45\xe5\xf2" } , { "\xb3\xe1\xa2" , "\x45\xe5\xf2" } , { "\xb3\xe2" , "\x45\xe8\xf2" } , { "\xb3\xe2\xa2" , "\x45\xe9\xf2" } , { "\xb3\xe2\xa3" , "\x45\xe8\xf2\x26" } , { "\xb3\xe3" , "\x45\xec\xf2" } , { "\xb3\xe4" , "\x45\xf2\xc9\xe0" } , { "\xb3\xe4\xa2" , "\x45\xf2\xc9\xe1" } , { "\xb3\xe4\xa2\xa2" , "\x45\xf2\xc9\xe1\xc6" } , { "\xb3\xe4\xa3" , "\x45\xf2\xc9\xe0\x26" } , { "\xb3\xe5" , "\x45\xf2\xc9\xe4" } , { "\xb3\xe5\xa1" , "\x45\xf2\xc9\xe5" } , { "\xb3\xe5\xa2" , "\x45\xf2\xc9\xe5" } , { "\xb3\xe6" , "\x45\xf2\xc9\xe8" } , { "\xb3\xe6\xa2" , "\x45\xf2\xc9\xe9" } , { "\xb3\xe6\xbd\xe8" , "\x45\xf2\xc9\xe8\x5d\xc2\xf5" } , { "\xb3\xe7" , "\x45\xf2\xc9\xec" } , { "\xb3\xe7\xa2" , "\x45\xf2\xc9\xed" } , { "\xb3\xe8" , "\x45\xc2\xf2" } , { "\xb3\xe8\xb3" , "\x43\x45\xf2" } , { "\xb3\xe8\xb3\xa2" , "\x43\x45\xc6\xf2" } , { "\xb3\xe8\xb3\xda" , "\x43\x45\xf2\xc9" } , { "\xb3\xe8\xb3\xda\xa2" , "\x43\x45\xf2\xc9\xc6" } , { "\xb3\xe8\xb3\xdb" , "\xce\x43\x45\xf2" } , { "\xb3\xe8\xb3\xdb\xa2" , "\xcf\x43\x45\xf2" } , { "\xb3\xe8\xb3\xdc" , "\x43\x45\xf2\xd2" } , { "\xb3\xe8\xb3\xdd" , "\x43\x45\xd6\xf2" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x43\x45\xd6\xc6\xf2" } , { "\xb3\xe8\xb3\xde" , "\x43\x45\xda\xf2" } , { "\xb3\xe8\xb3\xdf" , "\x43\x45\xde\xf2" } , { "\xb3\xe8\xb3\xe0" , "\x43\x45\xe0\xf2" } , { "\xb3\xe8\xb3\xe0\xa2" , "\x43\x45\xe1\xf2" } , { "\xb3\xe8\xb3\xe1" , "\x43\x45\xe4\xf2" } , { "\xb3\xe8\xb3\xe1\xa2" , "\x43\x45\xe5\xf2" } , { "\xb3\xe8\xb3\xe2" , "\x43\x45\xe8\xf2" } , { "\xb3\xe8\xb3\xe4" , "\x43\x45\xf2\xc9\xe0" } , { "\xb3\xe8\xb3\xe4\xa2" , "\x43\x45\xf2\xc9\xe1" } , { "\xb3\xe8\xb3\xe5" , "\x43\x45\xf2\xc9\xe4" } , { "\xb3\xe8\xb3\xe5\xa2" , "\x43\x45\xf2\xc9\xe5" } , { "\xb3\xe8\xb3\xe6" , "\x43\x45\xf2\xc9\xe8" } , { "\xb3\xe8\xb3\xe6\xa2" , "\x43\x45\xf2\xc9\xe9" } , { "\xb3\xe8\xb3\xe8" , "\x43\x45\xc2\xf2" } , { "\xb3\xe8\xb3\xe8\xb3" , "\x43\x43\x45\xf2" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x43\x43\x62\xf7\xc9" } , { "\xb3\xe8\xb3\xe8\xc2" , "\x43\x48\xf2" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x43\x43\xaa\xc9" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x43\x43\xaa\xc9\xd6" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\xce\x43\x47\xf2" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\x43\x47\xf2\xc9\xe4" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x43\x43\xb1\xc9" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\x43\x49\xc9\xe4" } , { "\xb3\xe8\xb3\xe9" , "\x43\x46\xf2" } , { "\xb3\xe8\xb3\xe9\xda" , "\x43\x46\xf2\xc9" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x43\x46\xf2\xd2" } , { "\xb3\xe8\xb4" , "\x43\x4a\xc9" } , { "\xb3\xe8\xb4\xa2" , "\x43\x4a\xc9\xc6" } , { "\xb3\xe8\xb4\xda" , "\x43\x4a\xc9\xc9" } , { "\xb3\xe8\xb4\xdb" , "\xce\x43\x4a\xc9" } , { "\xb3\xe8\xb4\xdc" , "\x43\x4a\xc9\xd2" } , { "\xb3\xe8\xb4\xe1" , "\x43\x4a\xc9\xe4" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x43\x4a\xc9\xe5" } , { "\xb3\xe8\xb4\xe5" , "\x43\x4a\xc9\xc9\xe4" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x43\x4a\xc9\xc9\xe5" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x43\x4a\xc9\xc9\xe9" } , { "\xb3\xe8\xb4\xe7" , "\x43\x4a\xc9\xc9\xec" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x43\x4a\xaa\xc9\xc9" } , { "\xb3\xe8\xb5" , "\x43\x4d\xc9" } , { "\xb3\xe8\xb5\xda" , "\x43\x4d\xc9\xc9" } , { "\xb3\xe8\xb5\xe5" , "\x43\x4d\xc9\xc9\xe4" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x43\x4f\xc9\xc9" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x43\x4f\xc9\xc9\xe9" } , { "\xb3\xe8\xb6" , "\x43\x50\xc9" } , { "\xb3\xe8\xb7\xda" , "\x43\x52\xf3\xc9" } , { "\xb3\xe8\xb7\xe1" , "\x43\x52\xe4\xf3" } , { "\xb3\xe8\xb8" , "\x43\x53\xc9" } , { "\xb3\xe8\xb8\xda" , "\x43\x53\xc9\xc9" } , { "\xb3\xe8\xb8\xdc" , "\x43\x53\xc9\xd2" } , { "\xb3\xe8\xb8\xdd" , "\x43\x53\xc9\xd6" } , { "\xb3\xe8\xb8\xe0" , "\x43\x53\xc9\xe0" } , { "\xb3\xe8\xb8\xe1" , "\x43\x53\xc9\xe4" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x43\x53\xc9\xe5" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x43\x53\xc9\xc9\xe1" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x43\x53\x53\xc9\xc9" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x43\x53\x53\xc9\xd2" } , { "\xb3\xe8\xb9" , "\x43\x55\xf4" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x43\x55\xe5\xf4" } , { "\xb3\xe8\xba" , "\x43\x56\xc9" } , { "\xb3\xe8\xba\xda" , "\x43\x56\xc9\xc9" } , { "\xb3\xe8\xba\xda\xa2" , "\x43\x56\xc9\xc9\xc6" } , { "\xb3\xe8\xba\xdb" , "\xce\x43\x56\xc9" } , { "\xb3\xe8\xba\xdc" , "\x43\x56\xc9\xd2" } , { "\xb3\xe8\xba\xe1\xa2" , "\x43\x56\xc9\xe5" } , { "\xb3\xe8\xba\xe2\xa2" , "\x43\x56\xc9\xe9" } , { "\xb3\xe8\xba\xe5" , "\x43\x56\xc9\xc9\xe4" } , { "\xb3\xe8\xba\xe9\xdc" , "\x43\x57\xc9\xd2" } , { "\xb3\xe8\xbd" , "\x43\x5d\xf5" } , { "\xb3\xe8\xbd\xda" , "\x43\x5d\xf5\xc9" } , { "\xb3\xe8\xbd\xda\xa2" , "\x43\x5d\xf5\xc9\xc6" } , { "\xb3\xe8\xbd\xdb" , "\xce\x43\x5d\xf5" } , { "\xb3\xe8\xbd\xdb\xa2" , "\xcf\x43\x5d\xf5" } , { "\xb3\xe8\xbd\xdc" , "\x43\x5d\xf5\xd2" } , { "\xb3\xe8\xbd\xdd" , "\x43\x5d\xd6\xf5" } , { "\xb3\xe8\xbd\xde" , "\x43\x5d\xda\xf5" } , { "\xb3\xe8\xbd\xe0" , "\x43\x5d\xe0\xf5" } , { "\xb3\xe8\xbd\xe0\xa2" , "\x43\x5d\xe1\xf5" } , { "\xb3\xe8\xbd\xe1" , "\x43\x5d\xe4\xf5" } , { "\xb3\xe8\xbd\xe2" , "\x43\x5d\xe8\xf5" } , { "\xb3\xe8\xbd\xe4" , "\x43\x5d\xf5\xc9\xe0" } , { "\xb3\xe8\xbd\xe5" , "\x43\x5d\xf5\xc9\xe4" } , { "\xb3\xe8\xbd\xe5\xa2" , "\x43\x5d\xf5\xc9\xe5" } , { "\xb3\xe8\xbd\xe8" , "\x43\x5d\xc2\xf5" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x43\x5d\xc2\xf5\x45\xd6\xf2" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x43\x5d\xc2\xf5\x4d\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x43\x5d\xc2\xf5\x4d\xb1\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x43\x5d\xc2\xf5\x53\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x43\x5d\xc2\xf5\x60\xf6\xc9" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x43\x5d\xc2\xf5\x60\xf6\xd2" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x43\x5d\xc2\xf5\x60\xe4\xf6" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x43\x5d\xc2\xf5\x78\xc9\xd6" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x43\x5d\xc2\xf5\xa8\xc9" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x43\x5d\xf5\xac" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x43\x5d\xf5\xac\xd6" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x43\x5d\xf5\xac\xda" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x43\x5d\xf5\xac\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x43\x5d\xc5\xf5" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x43\x5d\xc5\xf5\xc9" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x43\x5d\xc5\xf5\xc9\xc6" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\xce\x43\x5d\xc5\xf5" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x43\x5d\xc5\xf5\xd2" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\x43\x5d\xc5\xe0\xf5" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\x43\x5d\xc5\xe4\xf5" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\x43\x5d\xc5\xe8\xf5" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\x43\x5d\xc5\xf5\xc9\xe0" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\x43\x5d\xc5\xf5\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\x43\x5d\xc5\xf5\xc9\xe8" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\x43\x5d\xc5\xf5\xc9\xec" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x43\x5d\xc5\xc2\xf5" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\xce\x43\x5d\xc2\xf5\xb1\xc9" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x43\x5d\xc2\xf5\xb1\xc9\xd2" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x43\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\x43\x5d\xc2\xf5\xb1\xc9\xe0" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\x43\x5d\xc2\xf5\xb1\xc9\xe8" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\x43\x5d\xc2\xf5\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x43\x5d\xc2\xf5\xb4\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\xce\x43\x5d\xc2\xf5\xb4\xc9" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x43\x5d\xc2\xf5\xb4\xc9\xe8" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x43\x5d\xc2\xf5\xba\xc9" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\xcf\x43\x5d\xc2\xf5\xba\xc9" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x43\x5d\xc2\xf5\xba\xc9\xd6" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x43\x5d\xc2\xf5\xba\xc9\xc2" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xce\x43\x5d\xc2\xf5\xba\x45\xf2" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x43\x5d\xc2\xf5\xbb\xc9\xc9" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x43\x5d\xc2\xf5\xba\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xbe\xa2" , "\x43\x60\xc6\xf6" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x43\x60\xc2\xf6\x60\xf6\xc9" } , { "\xb3\xe8\xbf" , "\x43\x62\xf7" } , { "\xb3\xe8\xbf\xa2" , "\x43\x62\xc6\xf7" } , { "\xb3\xe8\xbf\xda" , "\x43\x62\xf7\xc9" } , { "\xb3\xe8\xbf\xdb" , "\xce\x43\x62\xf7" } , { "\xb3\xe8\xbf\xdc" , "\x43\x62\xf7\xd2" } , { "\xb3\xe8\xbf\xdd" , "\x43\x62\xd6\xf7" } , { "\xb3\xe8\xbf\xde" , "\x43\x62\xda\xf7" } , { "\xb3\xe8\xbf\xe0" , "\x43\x62\xe0\xf7" } , { "\xb3\xe8\xbf\xe1" , "\x43\x62\xe4\xf7" } , { "\xb3\xe8\xbf\xe4" , "\x43\x62\xf7\xc9\xe0" } , { "\xb3\xe8\xbf\xe5" , "\x43\x62\xf7\xc9\xe4" } , { "\xb3\xe8\xbf\xe8" , "\x43\x62\xc2\xf7" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x43\x62\xc5\xf7" } , { "\xb3\xe8\xbf\xe9" , "\x43\x63\xf7" } , { "\xb3\xe8\xbf\xe9\xda" , "\x43\x63\xf7\xc9" } , { "\xb3\xe8\xc1" , "\x43\x68\xc9" } , { "\xb3\xe8\xc1\xdb" , "\xce\x43\x68\xc9" } , { "\xb3\xe8\xc1\xdb\xa2" , "\xcf\x43\x68\xc9" } , { "\xb3\xe8\xc1\xdc" , "\x43\x68\xc9\xd2" } , { "\xb3\xe8\xc2" , "\x48\xf2" } , { "\xb3\xe8\xc2\xa2" , "\x48\xc6\xf2" } , { "\xb3\xe8\xc2\xa3" , "\x48\xf2\x26" } , { "\xb3\xe8\xc2\xda" , "\x48\xf2\xc9" } , { "\xb3\xe8\xc2\xda\xa2" , "\x48\xf2\xc9\xc6" } , { "\xb3\xe8\xc2\xda\xa3" , "\x48\xf2\xc9\x26" } , { "\xb3\xe8\xc2\xdb" , "\xca\x48\xf2" } , { "\xb3\xe8\xc2\xdb\xa2" , "\xcb\x48\xf2" } , { "\xb3\xe8\xc2\xdb\xa3" , "\xca\x48\xf2\x26" } , { "\xb3\xe8\xc2\xdc" , "\x48\xf2\xd2" } , { "\xb3\xe8\xc2\xdc\xa2" , "\x48\xf2\xd3" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x48\xf2\xd2\x26" } , { "\xb3\xe8\xc2\xdd" , "\x48\xd6\xf2" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x48\xd6\xc6\xf2" } , { "\xb3\xe8\xc2\xde" , "\x48\xda\xf2" } , { "\xb3\xe8\xc2\xdf" , "\x48\xde\xf2" } , { "\xb3\xe8\xc2\xe0" , "\x48\xe0\xf2" } , { "\xb3\xe8\xc2\xe1" , "\x48\xe4\xf2" } , { "\xb3\xe8\xc2\xe2" , "\x48\xe8\xf2" } , { "\xb3\xe8\xc2\xe5" , "\x48\xf2\xc9\xe4" } , { "\xb3\xe8\xc2\xe5\xa2" , "\x48\xf2\xc9\xe5" } , { "\xb3\xe8\xc2\xe6" , "\x48\xf2\xc9\xe8" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x43\x69\x45\xe0\xf2" } , { "\xb3\xe8\xc2\xe8\xc2" , "\x43\x6b\xc9" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\x43\x6b\xc9\xc9" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\xce\x43\x6b\xc9" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x43\x69\xaa\xc9" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x43\x69\xaa\xc9\xc6" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x43\x69\xaa\xc9\xc9" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x43\x69\xaa\xc9\xd6" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x43\x69\xaa\xc9\xe8" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x43\x69\xaa\xc9\xc9\xe5" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x43\x6a\xc9" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x43\x6a\xc9\xc6" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x43\x6a\xc9\x26" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\xce\x43\x6a\xc9" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\x43\x6a\xc9\xe0" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\x43\x6a\xc9\xe8" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x43\x69\xb4\xc9" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x43\x69\xb4\xc9\xc6" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x43\x69\xb4\xc9\xc9" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\xce\x43\x69\xb4\xc9" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x43\x69\xba\xc9" } , { "\xb3\xe8\xc3" , "\x43\x6c\xc9" } , { "\xb3\xe8\xc3\xa2" , "\x43\x6c\xc9\xc6" } , { "\xb3\xe8\xc3\xdb" , "\xce\x43\x6c\xc9" } , { "\xb3\xe8\xc3\xdd" , "\x43\x6c\xc9\xd6" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x43\x6c\xaa\xc9" } , { "\xb3\xe8\xc4" , "\x43\x6e\xf9" } , { "\xb3\xe8\xc4\xda" , "\x43\x6e\xf9\xc9" } , { "\xb3\xe8\xc4\xdb" , "\xce\x43\x6e\xf9" } , { "\xb3\xe8\xc4\xdd" , "\x43\x6e\xd6\xf9" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x43\x6e\xd6\xc6\xf9" } , { "\xb3\xe8\xc4\xe4" , "\x43\x6e\xf9\xc9\xe0" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x43\x70\xf9\xd2" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x43\x75\xf9\xc9" } , { "\xb3\xe8\xc5" , "\x43\x76\xc9" } , { "\xb3\xe8\xc5\xda" , "\x43\x76\xc9\xc9" } , { "\xb3\xe8\xc6" , "\x43\x78\xc9" } , { "\xb3\xe8\xc6\xda" , "\x43\x78\xc9\xc9" } , { "\xb3\xe8\xc6\xda\xa2" , "\x43\x78\xc9\xc9\xc6" } , { "\xb3\xe8\xc6\xdb" , "\xce\x43\x78\xc9" } , { "\xb3\xe8\xc6\xdc" , "\x43\x78\xc9\xd2" } , { "\xb3\xe8\xc6\xdd" , "\x43\x78\xc9\xd6" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x43\x78\xc9\xd6\xc6" } , { "\xb3\xe8\xc6\xde" , "\x43\x78\xc9\xda" } , { "\xb3\xe8\xc6\xe0" , "\x43\x78\xc9\xe0" } , { "\xb3\xe8\xc6\xe4" , "\x43\x78\xc9\xc9\xe0" } , { "\xb3\xe8\xc6\xe5" , "\x43\x78\xc9\xc9\xe4" } , { "\xb3\xe8\xc6\xe7" , "\x43\x78\xc9\xc9\xec" } , { "\xb3\xe8\xc6\xe8" , "\x43\x78\xc9\xc2" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x43\x78\xaa\xc9" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x43\x78\xaa\xc9\xc9" } , { "\xb3\xe8\xc8" , "\x43\x7b\xc9" } , { "\xb3\xe8\xc8\xa2" , "\x43\x7b\xc9\xc6" } , { "\xb3\xe8\xc8\xda" , "\x43\x7b\xc9\xc9" } , { "\xb3\xe8\xc8\xdb" , "\xce\x43\x7b\xc9" } , { "\xb3\xe8\xc8\xdc" , "\x43\x7b\xc9\xd2" } , { "\xb3\xe8\xc8\xdd" , "\x43\x7b\xc9\xd6" } , { "\xb3\xe8\xc8\xde" , "\x43\x7b\xc9\xda" } , { "\xb3\xe8\xc8\xdf" , "\x43\x7b\xc9\xde" } , { "\xb3\xe8\xc8\xe1" , "\x43\x7b\xc9\xe4" } , { "\xb3\xe8\xc8\xe2" , "\x43\x7b\xc9\xe8" } , { "\xb3\xe8\xc8\xe4" , "\x43\x7b\xc9\xc9\xe0" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x43\x7c\xc9" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x43\x7c\xc9\xc9" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x43\x7c\xc9\xc9\xe8" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\xce\x43\x7b\xba\xc9" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x43\x7b\xba\xc9\xe0" } , { "\xb3\xe8\xc9" , "\x43\xa1\xf2" } , { "\xb3\xe8\xc9\xda" , "\x43\xa1\xf2\xc9" } , { "\xb3\xe8\xc9\xdb" , "\xce\x43\xa1\xf2" } , { "\xb3\xe8\xc9\xdd" , "\x43\xa1\xd6\xf2" } , { "\xb3\xe8\xc9\xe0" , "\x43\xa1\xe0\xf2" } , { "\xb3\xe8\xc9\xe1" , "\x43\xa1\xe4\xf2" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x43\xa2\xe4\xf2" } , { "\xb3\xe8\xca" , "\x43\xa4\xc9" } , { "\xb3\xe8\xca\xa2" , "\x43\xa4\xc9\xc6" } , { "\xb3\xe8\xca\xda" , "\x43\xa4\xc9\xc9" } , { "\xb3\xe8\xca\xdc" , "\x43\xa4\xc9\xd2" } , { "\xb3\xe8\xca\xde" , "\x43\xa4\xc9\xda" } , { "\xb3\xe8\xca\xe1" , "\x43\xa4\xc9\xe4" } , { "\xb3\xe8\xca\xe5" , "\x43\xa4\xc9\xc9\xe4" } , { "\xb3\xe8\xca\xe5\xa2" , "\x43\xa4\xc9\xc9\xe5" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x43\xa4\xb1\xc9\xc9" } , { "\xb3\xe8\xcb" , "\x43\xa6\xc9" } , { "\xb3\xe8\xcb\xda" , "\x43\xa6\xc9\xc9" } , { "\xb3\xe8\xcb\xdb" , "\xce\x43\xa6\xc9" } , { "\xb3\xe8\xcc" , "\x43\xa8\xc9" } , { "\xb3\xe8\xcc\xa2" , "\x43\xa8\xc9\xc6" } , { "\xb3\xe8\xcc\xda" , "\x43\xa8\xc9\xc9" } , { "\xb3\xe8\xcc\xda\xa2" , "\x43\xa8\xc9\xc9\xc6" } , { "\xb3\xe8\xcc\xdb" , "\xce\x43\xa8\xc9" } , { "\xb3\xe8\xcc\xdc" , "\x43\xa8\xc9\xd2" } , { "\xb3\xe8\xcc\xdd" , "\x43\xa8\xc9\xd6" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x43\xa8\xc9\xd6\xc6" } , { "\xb3\xe8\xcc\xe0" , "\x43\xa8\xc9\xe0" } , { "\xb3\xe8\xcc\xe1" , "\x43\xa8\xc9\xe4" } , { "\xb3\xe8\xcc\xe1\xa2" , "\x43\xa8\xc9\xe5" } , { "\xb3\xe8\xcc\xe2" , "\x43\xa8\xc9\xe8" } , { "\xb3\xe8\xcc\xe5" , "\x43\xa8\xc9\xc9\xe4" } , { "\xb3\xe8\xcd" , "\x43\xaa\xc9" } , { "\xb3\xe8\xcd\xa2" , "\x43\xaa\xc9\xc6" } , { "\xb3\xe8\xcd\xda" , "\x43\xaa\xc9\xc9" } , { "\xb3\xe8\xcd\xda\xa1" , "\x43\xaa\xc9\xc9\xc4" } , { "\xb3\xe8\xcd\xda\xa2" , "\x43\xaa\xc9\xc9\xc6" } , { "\xb3\xe8\xcd\xdb" , "\xce\x43\xaa\xc9" } , { "\xb3\xe8\xcd\xdd" , "\x43\xaa\xc9\xd6" } , { "\xb3\xe8\xcd\xde" , "\x43\xaa\xc9\xda" } , { "\xb3\xe8\xcd\xde\xa1" , "\x43\xaa\xc9\xda\xc4" } , { "\xb3\xe8\xcd\xde\xa2" , "\x43\xaa\xc9\xda\xc6" } , { "\xb3\xe8\xcd\xe1" , "\x43\xaa\xc9\xe4" } , { "\xb3\xe8\xcd\xe2" , "\x43\xaa\xc9\xe8" } , { "\xb3\xe8\xcd\xe5" , "\x43\xaa\xc9\xc9\xe4" } , { "\xb3\xe8\xcd\xe5\xa2" , "\x43\xaa\xc9\xc9\xe5" } , { "\xb3\xe8\xcd\xe8" , "\x43\xaa\xc9\xc2" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x43\xaa\xaa\xc9\xc9" } , { "\xb3\xe8\xcf" , "\x47\xf2" } , { "\xb3\xe8\xcf\xa2" , "\x47\xc6\xf2" } , { "\xb3\xe8\xcf\xda" , "\x47\xf2\xc9" } , { "\xb3\xe8\xcf\xda\xa1" , "\x47\xf2\xc9\xc4" } , { "\xb3\xe8\xcf\xda\xa2" , "\x47\xf2\xc9\xc6" } , { "\xb3\xe8\xcf\xdb" , "\xca\x47\xf2" } , { "\xb3\xe8\xcf\xdb\xa2" , "\xcb\x47\xf2" } , { "\xb3\xe8\xcf\xdc" , "\x47\xf2\xd2" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x47\xf2\xd3" } , { "\xb3\xe8\xcf\xdd" , "\x47\xd6\xf2" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x47\xd6\xc6\xf2" } , { "\xb3\xe8\xcf\xde" , "\x47\xda\xf2" } , { "\xb3\xe8\xcf\xdf" , "\x47\xde\xf2" } , { "\xb3\xe8\xcf\xe0" , "\x47\xe0\xf2" } , { "\xb3\xe8\xcf\xe1" , "\x47\xe4\xf2" } , { "\xb3\xe8\xcf\xe1\xa2" , "\x47\xe5\xf2" } , { "\xb3\xe8\xcf\xe2" , "\x47\xe8\xf2" } , { "\xb3\xe8\xcf\xe2\xa2" , "\x47\xe9\xf2" } , { "\xb3\xe8\xcf\xe4" , "\x47\xf2\xc9\xe0" } , { "\xb3\xe8\xcf\xe4\xa2" , "\x47\xf2\xc9\xe1" } , { "\xb3\xe8\xcf\xe5" , "\x47\xf2\xc9\xe4" } , { "\xb3\xe8\xcf\xe5\xa2" , "\x47\xf2\xc9\xe5" } , { "\xb3\xe8\xcf\xe6" , "\x47\xf2\xc9\xe8" } , { "\xb3\xe8\xcf\xe6\xa2" , "\x47\xf2\xc9\xe9" } , { "\xb3\xe8\xcf\xe7" , "\x47\xf2\xc9\xec" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x43\xae\xc2\xfa\x5d\xf5\xc9" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x43\xae\xc2\xfa\x6c\xc9\xc6" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x43\xae\xc2\xfa\xaa\xc9" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x43\xae\xc2\xfa\xb9\xc9\xe4" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x43\xae\xc2\xfa\xba\xc9" } , { "\xb3\xe8\xd0\xdc" , "\x43\xae\xfa\xd2\xc3" } , { "\xb3\xe8\xd0\xdd" , "\x43\xae\xd6\xfa\xc3" } , { "\xb3\xe8\xd0\xe4" , "\x43\xae\xfa\xc9\xe0\xc3" } , { "\xb3\xe8\xd1" , "\x43\xb1\xc9" } , { "\xb3\xe8\xd1\xa2" , "\x43\xb1\xc9\xc6" } , { "\xb3\xe8\xd1\xda" , "\x43\xb1\xc9\xc9" } , { "\xb3\xe8\xd1\xda\xa1" , "\x43\xb1\xc9\xc9\xc4" } , { "\xb3\xe8\xd1\xda\xa2" , "\x43\xb1\xc9\xc9\xc6" } , { "\xb3\xe8\xd1\xdb" , "\xce\x43\xb1\xc9" } , { "\xb3\xe8\xd1\xdb\xa2" , "\xcf\x43\xb1\xc9" } , { "\xb3\xe8\xd1\xdc" , "\x43\xb1\xc9\xd2" } , { "\xb3\xe8\xd1\xdd" , "\x43\xb1\xc9\xd6" } , { "\xb3\xe8\xd1\xde" , "\x43\xb1\xc9\xda" } , { "\xb3\xe8\xd1\xe0" , "\x43\xb1\xc9\xe0" } , { "\xb3\xe8\xd1\xe0\xa2" , "\x43\xb1\xc9\xe1" } , { "\xb3\xe8\xd1\xe1" , "\x43\xb1\xc9\xe4" } , { "\xb3\xe8\xd1\xe1\xa2" , "\x43\xb1\xc9\xe5" } , { "\xb3\xe8\xd1\xe2" , "\x43\xb1\xc9\xe8" } , { "\xb3\xe8\xd1\xe2\xa2" , "\x43\xb1\xc9\xe9" } , { "\xb3\xe8\xd1\xe4" , "\x43\xb1\xc9\xc9\xe0" } , { "\xb3\xe8\xd1\xe5" , "\x43\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xd1\xe5\xa2" , "\x43\xb1\xc9\xc9\xe5" } , { "\xb3\xe8\xd1\xe6" , "\x43\xb1\xc9\xc9\xe8" } , { "\xb3\xe8\xd1\xe7" , "\x43\xb1\xc9\xc9\xec" } , { "\xb3\xe8\xd1\xe8" , "\x43\xb1\xc9\xc2" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x43\xb1\x53\xc9" } , { "\xb3\xe8\xd1\xe8\xc8" , "\x43\xb1\x7b\xc9" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x43\xb1\xaa\xc9" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x43\xb1\xaa\xc9\xc9" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x43\xb1\xba\xc9\xd2" } , { "\xb3\xe8\xd2" , "\x43\xb3\xfd" } , { "\xb3\xe8\xd4" , "\x43\xb4\xc9" } , { "\xb3\xe8\xd4\xa2" , "\x43\xb4\xc9\xc6" } , { "\xb3\xe8\xd4\xda" , "\x43\xb4\xc9\xc9" } , { "\xb3\xe8\xd4\xda\xa1" , "\x43\xb4\xc9\xc9\xc4" } , { "\xb3\xe8\xd4\xda\xa2" , "\x43\xb4\xc9\xc9\xc6" } , { "\xb3\xe8\xd4\xdb" , "\xce\x43\xb4\xc9" } , { "\xb3\xe8\xd4\xdb\xa2" , "\xcf\x43\xb4\xc9" } , { "\xb3\xe8\xd4\xdc" , "\x43\xb4\xc9\xd2" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x43\xb4\xc9\xd3" } , { "\xb3\xe8\xd4\xdf" , "\x43\xb4\xc9\xde" } , { "\xb3\xe8\xd4\xe0" , "\x43\xb4\xc9\xe0" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x43\xb4\xc9\xe1" } , { "\xb3\xe8\xd4\xe1" , "\x43\xb4\xc9\xe4" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x43\xb4\xc9\xe5" } , { "\xb3\xe8\xd4\xe2" , "\x43\xb4\xc9\xe8" } , { "\xb3\xe8\xd4\xe4" , "\x43\xb4\xc9\xc9\xe0" } , { "\xb3\xe8\xd4\xe5" , "\x43\xb4\xc9\xc9\xe4" } , { "\xb3\xe8\xd4\xe6" , "\x43\xb4\xc9\xc9\xe8" } , { "\xb3\xe8\xd4\xe8" , "\x43\xb4\xc9\xc2" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x43\xb4\xba\xc9\xc9" } , { "\xb3\xe8\xd5" , "\x43\xb6\xc9" } , { "\xb3\xe8\xd5\xa2" , "\x43\xb6\xc9\xc6" } , { "\xb3\xe8\xd5\xda" , "\x43\xb6\xc9\xc9" } , { "\xb3\xe8\xd5\xdb" , "\xce\x43\xb6\xc9" } , { "\xb3\xe8\xd5\xdb\xa2" , "\xcf\x43\xb6\xc9" } , { "\xb3\xe8\xd5\xdc" , "\x43\xb6\xc9\xd2" } , { "\xb3\xe8\xd5\xdd" , "\x43\xb6\xc9\xd6" } , { "\xb3\xe8\xd5\xde" , "\x43\xb6\xc9\xda" } , { "\xb3\xe8\xd5\xe1" , "\x43\xb6\xc9\xe4" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x43\xb6\xc9\xe5" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x43\xb6\xc9\xc9\xe5" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x43\xb6\x53\xc9" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x43\xb6\xaa\xc9" } , { "\xb3\xe8\xd6" , "\x49\xc9" } , { "\xb3\xe8\xd6\xa2" , "\x49\xc9\xc6" } , { "\xb3\xe8\xd6\xa3" , "\x49\xc9\x26" } , { "\xb3\xe8\xd6\xda" , "\x49\xc9\xc9" } , { "\xb3\xe8\xd6\xda\xa2" , "\x49\xc9\xc9\xc6" } , { "\xb3\xe8\xd6\xdb" , "\xca\x49\xc9" } , { "\xb3\xe8\xd6\xdb\xa2" , "\xcb\x49\xc9" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\xcb\x49\xc9\xc6" } , { "\xb3\xe8\xd6\xdc" , "\x49\xc9\xd2" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x49\xc9\xd3" } , { "\xb3\xe8\xd6\xdd" , "\x49\xc9\xd6" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x49\xc9\xd6\x26" } , { "\xb3\xe8\xd6\xde" , "\x49\xc9\xda" } , { "\xb3\xe8\xd6\xdf" , "\x49\xc9\xde" } , { "\xb3\xe8\xd6\xe0" , "\x49\xc9\xe0" } , { "\xb3\xe8\xd6\xe0\xa2" , "\x49\xc9\xe1" } , { "\xb3\xe8\xd6\xe1" , "\x49\xc9\xe4" } , { "\xb3\xe8\xd6\xe1\xa2" , "\x49\xc9\xe5" } , { "\xb3\xe8\xd6\xe2" , "\x49\xc9\xe8" } , { "\xb3\xe8\xd6\xe5" , "\x49\xc9\xc9\xe4" } , { "\xb3\xe8\xd6\xe5\xa2" , "\x49\xc9\xc9\xe5" } , { "\xb3\xe8\xd6\xe6" , "\x49\xc9\xc9\xe8" } , { "\xb3\xe8\xd6\xe8" , "\x49\xc9\xc2" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\x49\x45\xd6\xf2" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\x49\x49\xc9" } , { "\xb3\xe8\xd6\xe8\xbd" , "\x49\x5d\xf5" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\x49\x5d\xc5\xf5\xc9" } , { "\xb3\xe8\xd6\xe8\xc1" , "\x49\x68\xc9" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\x49\x68\xc9\xc6" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\x49\x68\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\x49\x68\xc9\xe8" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\x49\x68\xc9\xc9\xe4" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x49\x69\xc9" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\x49\x6a\xc9" } , { "\xb3\xe8\xd6\xe8\xc6" , "\x49\x78\xc9" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\x49\x78\xc9\xc2" } , { "\xb3\xe8\xd6\xe8\xcc" , "\x49\xa8\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\x49\xa8\xc9\xc6" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\x49\xa8\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\x49\xa8\xc9\xc9\xc6" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\xce\x49\xa8\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\xcf\x49\xa8\xc9" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\x49\xa8\xc9\xd2" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\x49\xa8\xc9\xd6" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\x49\xa8\xc9\xe4" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x49\xaa\xc9" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x49\xaa\xc9\xc6" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x49\xaa\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x49\xaa\xc9\xc9\xc6" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x49\xaa\xc9\xd2" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x49\xaa\xc9\xd6" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x49\xaa\xc9\xda" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x49\xaa\xc9\xe4" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x49\xaa\xc9\xc9\xe4" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x49\xaa\xc9\xc9\xe5" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x49\xae\xfa" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x49\xae\xc6\xfa" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x49\xae\xfa\xc9" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x49\xb1\xc9" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x49\xb1\xc9\xd6" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x49\xb4\xc9\xc9" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x49\xb4\xc9\xe4" } , { "\xb3\xe8\xd7" , "\x43\xba\xc9" } , { "\xb3\xe8\xd7\xa2" , "\x43\xba\xc9\xc6" } , { "\xb3\xe8\xd7\xda" , "\x43\xba\xc9\xc9" } , { "\xb3\xe8\xd7\xda\xa2" , "\x43\xba\xc9\xc9\xc6" } , { "\xb3\xe8\xd7\xdb" , "\xce\x43\xba\xc9" } , { "\xb3\xe8\xd7\xdb\xa2" , "\xcf\x43\xba\xc9" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\xcf\x43\xba\xc9\xc6" } , { "\xb3\xe8\xd7\xdc" , "\x43\xba\xc9\xd2" } , { "\xb3\xe8\xd7\xdd" , "\x43\xba\xc9\xd6" } , { "\xb3\xe8\xd7\xde" , "\x43\xba\xc9\xda" } , { "\xb3\xe8\xd7\xe0" , "\x43\xba\xc9\xe0" } , { "\xb3\xe8\xd7\xe0\xa2" , "\x43\xba\xc9\xe1" } , { "\xb3\xe8\xd7\xe1" , "\x43\xba\xc9\xe4" } , { "\xb3\xe8\xd7\xe1\xa2" , "\x43\xba\xc9\xe5" } , { "\xb3\xe8\xd7\xe2" , "\x43\xba\xc9\xe8" } , { "\xb3\xe8\xd7\xe4" , "\x43\xba\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe5" , "\x43\xba\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe5\xa2" , "\x43\xba\xc9\xc9\xe5" } , { "\xb3\xe8\xd7\xe6" , "\x43\xba\xc9\xc9\xe8" } , { "\xb3\xe8\xd7\xe8" , "\x43\xba\xc9\xc2" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\xce\x43\xba\x45\xf2" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x43\xba\x45\xd6\xf2" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x43\xba\x45\xda\xf2" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x43\xba\x43\xaa\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x43\xba\x47\xf2\xd2" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x43\xba\x43\xb1\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x43\xba\x4d\xc9" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x43\xba\x4d\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x43\xba\x4f\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x43\xba\x53\xc9" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\xce\x43\xba\x53\xc9" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x43\xba\x53\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x43\xba\x53\xc9\xe5" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x43\xba\x55\xe5\xf4" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x43\xba\x56\xb1\xc9" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x43\xba\x5d\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x43\xba\x5d\xf5\xc9" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x43\xba\x5d\xf5\xd2" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x43\xba\x5d\xe0\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x43\xba\x5d\xe1\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x43\xba\x5d\xe5\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x43\xba\x5d\xe8\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x43\xba\x5d\xf5\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x43\xba\x5d\xc2\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x43\xba\x5d\xc5\xf5\xc9" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xce\x43\xba\x5d\xc5\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x43\xba\x5d\xc5\xf5\xd2" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x43\xba\x5d\xdc\xf5" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x43\xba\x5d\xc5\xf5\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x43\xba\x62\xf7" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x43\xba\x62\xc2\xf7\x4d\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\x43\xba\x69\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\x43\xba\x69\xc9\xc2" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x43\xba\x6c\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\xce\x43\xba\x6c\xc9" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x43\xba\x6e\xf9\xc9" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\x43\xba\x78\xc9\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\xce\x43\xba\x78\xc9" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\x43\xba\x78\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\x43\xba\x78\xc9\xd6\xc6" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\x43\xba\x78\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\x43\xba\x78\xc9\xc2" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x43\xba\x78\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x43\xba\x7b\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x43\xba\x7b\xc9\xc6" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x43\xba\x7b\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\xce\x43\xba\x7b\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x43\xba\x7b\xc9\xd2" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x43\xba\x7b\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x43\xba\x7b\xc9\xe1" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x43\xba\x7b\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x43\xba\x7b\xc9\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x43\xba\x7b\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x43\xba\x7b\xc9\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x43\xba\x7c\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x43\xba\x7c\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x43\xba\x7b\xb1\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x43\xba\x7b\xb1\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x43\xba\x7b\xb1\xc9\xc9\xc6" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x43\xba\x7b\xb1\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x43\xba\xa1\xf2" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\xce\x43\xba\xa1\xf2" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x43\xba\x7d\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x43\xba\xa8\xc9" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\xce\x43\xba\xa8\xc9" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x43\xba\xa8\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x43\xba\xa8\xaa\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x43\xba\xaa\xc9\xda" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x43\xbb\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\x43\xbb\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\x43\xbb\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x43\xbb\xc9\xc2" } , { "\xb3\xe8\xd7\xe8\xd1" , "\x43\xba\xb1\xc9" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\x43\xba\xb1\xc9\xd2" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\x43\xba\xb1\xc9\xd6" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\x43\xba\xb1\xc9\xe1" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\x43\xba\xb1\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\x43\xba\xb1\xc9\xe8" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\x43\xba\xb1\xc9\xc9\xe4" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x43\xba\xb4\xc9" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x43\xba\xb4\xc9\xc6" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x43\xba\xb4\xc9\xc9" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x43\xba\xb4\xc9\xe0" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x43\xba\xba\xc9\xc2" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x43\xba\xba\x5d\xc5\xf5\xc9" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x43\xba\xbd\xe8\xfe" } , { "\xb3\xe8\xd8" , "\x43\xbd\xfe" } , { "\xb3\xe8\xd8\xda" , "\x43\xbd\xfe\xc9" } , { "\xb3\xe8\xd8\xda\xa2" , "\x43\xbd\xfe\xc9\xc6" } , { "\xb3\xe8\xd8\xe0" , "\x43\xbd\xe0\xfe" } , { "\xb3\xe8\xd8\xe8" , "\x43\xbd\xc2\xfe" } , { "\xb3\xe8\xd9\xa6" , "\x43\x3c" } , { "\xb3\xe8\xd9\xb3" , "\x43\x45\xf2" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x43\x45\xf2\xd2" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x43\x4a\xc9\xc9\xe8" } , { "\xb3\xe8\xd9\xbd" , "\x43\x5d\xf5" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x43\x5d\xc5\xf5\xc9" } , { "\xb3\xe8\xd9\xc2" , "\x43\x69\xc9" } , { "\xb3\xe8\xd9\xc2\xda" , "\x43\x69\xc9\xc9" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x43\xca\x69\xc9" } , { "\xb3\xe8\xd9\xc2\xde" , "\x43\x69\xc9\xda" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x43\x69\xc9\xde" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x43\x69\xc9\xc9\xe5" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x43\x69\xb4\xc9" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x43\xcc\x5d\xf5" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x43\xaa\xc9\xc7" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x43\xba\xc9\xc7" } , { "\xb3\xe8\xd9\xd4" , "\x43\xb4\xc9" } , { "\xb3\xe8\xd9\xd7" , "\x43\xba\xc9" } , { "\xb3\xe8\xd9\xd7\xda" , "\x43\xba\xc9\xc9" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x43\xba\xc9\xd2" } , { "\xb3\xe8\xe8" , "\x45\xc2\xf2" } , { "\xb3\xe8\xe9\xc2" , "\x43\x69\xc9" } , { "\xb3\xe8\xe9\xcf" , "\x43\xae\xfa" } , { "\xb3\xe8\xe9\xd6" , "\x43\xb9\xc9" } , { "\xb3\xe9" , "\x46\xf2" } , { "\xb3\xe9\xda" , "\x46\xf2\xc9" } , { "\xb3\xe9\xdb" , "\xca\x46\xf2" } , { "\xb3\xe9\xdb\xa2" , "\xcb\x46\xf2" } , { "\xb3\xe9\xdc" , "\x46\xf2\xd2" } , { "\xb3\xe9\xdd" , "\x46\xd6\xf2" } , { "\xb3\xe9\xde" , "\x46\xda\xf2" } , { "\xb3\xe9\xe1" , "\x46\xe4\xf2" } , { "\xb3\xe9\xe2" , "\x46\xe8\xf2" } , { "\xb3\xe9\xe5\xa2" , "\x46\xf2\xc9\xe5" } , { "\xb3\xe9\xe6" , "\x46\xf2\xc9\xe8" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x44\x46\xf2" } , { "\xb3\xe9\xe8\xc2" , "\x44\x69\xc9" } , { "\xb3\xe9\xe8\xcc" , "\x44\xa8\xc9" } , { "\xb3\xe9\xe8\xd1" , "\x44\xb1\xc9" } , { "\xb3\xe9\xe8\xd1\xdb" , "\xce\x44\xb1\xc9" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x44\xba\xc9\xd2" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x44\x69\xc9\xe4" } , { "\xb4" , "\x4a\xc9" } , { "\xb4\xa1" , "\x4a\xc9\xc4" } , { "\xb4\xa2" , "\x4a\xc9\xc6" } , { "\xb4\xa3" , "\x4a\xc9\x26" } , { "\xb4\xd0" , "\x4a\xc9\xae\xfa\xc3" } , { "\xb4\xd0\xb8" , "\x4a\xc9\xae\xfa\xc3\x53\xc9" } , { "\xb4\xd0\xdc" , "\x4a\xc9\xae\xfa\xd2\xc3" } , { "\xb4\xda" , "\x4a\xc9\xc9" } , { "\xb4\xda\xa1" , "\x4a\xc9\xc9\xc4" } , { "\xb4\xda\xa2" , "\x4a\xc9\xc9\xc6" } , { "\xb4\xda\xa3" , "\x4a\xc9\xc9\x26" } , { "\xb4\xdb" , "\xca\x4a\xc9" } , { "\xb4\xdb\xa2" , "\xcb\x4a\xc9" } , { "\xb4\xdc" , "\x4a\xc9\xd2" } , { "\xb4\xdc\xa2" , "\x4a\xc9\xd3" } , { "\xb4\xdd" , "\x4a\xc9\xd6" } , { "\xb4\xdd\xa1" , "\x4a\xc9\xd6\xc4" } , { "\xb4\xdd\xa2" , "\x4a\xc9\xd6\xc6" } , { "\xb4\xde" , "\x4a\xc9\xda" } , { "\xb4\xde\xa1" , "\x4a\xc9\xda\xc4" } , { "\xb4\xde\xa2" , "\x4a\xc9\xda\xc6" } , { "\xb4\xdf" , "\x4a\xc9\xde" } , { "\xb4\xe0" , "\x4a\xc9\xe0" } , { "\xb4\xe1" , "\x4a\xc9\xe4" } , { "\xb4\xe1\xa1" , "\x4a\xc9\xe5" } , { "\xb4\xe1\xa2" , "\x4a\xc9\xe5" } , { "\xb4\xe2" , "\x4a\xc9\xe8" } , { "\xb4\xe2\xa2" , "\x4a\xc9\xe9" } , { "\xb4\xe4" , "\x4a\xc9\xc9\xe0" } , { "\xb4\xe5" , "\x4a\xc9\xc9\xe4" } , { "\xb4\xe5\xa2" , "\x4a\xc9\xc9\xe5" } , { "\xb4\xe6" , "\x4a\xc9\xc9\xe8" } , { "\xb4\xe8" , "\x4a\xc9\xc2" } , { "\xb4\xe8\xb3" , "\x4a\x45\xf2" } , { "\xb4\xe8\xb3\xda" , "\x4a\x45\xf2\xc9" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x4a\x49\xc9" } , { "\xb4\xe8\xb4" , "\x4a\x4a\xc9" } , { "\xb4\xe8\xb4\xa2" , "\x4a\x4a\xc9\xc6" } , { "\xb4\xe8\xb4\xa3" , "\x4a\x4a\xc9\x26" } , { "\xb4\xe8\xb4\xda" , "\x4a\x4a\xc9\xc9" } , { "\xb4\xe8\xb4\xdb\xa2" , "\xcf\x4a\x4a\xc9" } , { "\xb4\xe8\xb4\xdc" , "\x4a\x4a\xc9\xd2" } , { "\xb4\xe8\xb5\xda" , "\x4a\x4d\xc9\xc9" } , { "\xb4\xe8\xb8\xda" , "\x4a\x53\xc9\xc9" } , { "\xb4\xe8\xbd" , "\x4a\x5d\xf5" } , { "\xb4\xe8\xc2" , "\x4a\x69\xc9" } , { "\xb4\xe8\xc2\xda" , "\x4a\x69\xc9\xc9" } , { "\xb4\xe8\xc2\xdb" , "\xce\x4a\x69\xc9" } , { "\xb4\xe8\xc2\xdc" , "\x4a\x69\xc9\xd2" } , { "\xb4\xe8\xc2\xdd" , "\x4a\x69\xc9\xd6" } , { "\xb4\xe8\xc2\xe1" , "\x4a\x69\xc9\xe4" } , { "\xb4\xe8\xc2\xe5" , "\x4a\x69\xc9\xc9\xe4" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x4a\x69\xc9\xc9\xe5" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x4a\x69\x4a\xc9\xc9" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x4a\x6e\xd6\xc6\xf9" } , { "\xb4\xe8\xc6\xdc" , "\x4a\x78\xc9\xd2" } , { "\xb4\xe8\xc6\xdd" , "\x4a\x78\xc9\xd6" } , { "\xb4\xe8\xc6\xe2" , "\x4a\x78\xc9\xe8" } , { "\xb4\xe8\xc6\xe5" , "\x4a\x78\xc9\xc9\xe4" } , { "\xb4\xe8\xc8\xde" , "\x4a\x7b\xc9\xda" } , { "\xb4\xe8\xcc" , "\x4a\xa8\xc9" } , { "\xb4\xe8\xcc\xda" , "\x4a\xa8\xc9\xc9" } , { "\xb4\xe8\xcc\xdb" , "\xce\x4a\xa8\xc9" } , { "\xb4\xe8\xcc\xdc" , "\x4a\xa8\xc9\xd2" } , { "\xb4\xe8\xcc\xe5\xa2" , "\x4a\xa8\xc9\xc9\xe5" } , { "\xb4\xe8\xcd" , "\x4a\xaa\xc9" } , { "\xb4\xe8\xcd\xa2" , "\x4a\xaa\xc9\xc6" } , { "\xb4\xe8\xcd\xda" , "\x4a\xaa\xc9\xc9" } , { "\xb4\xe8\xcd\xda\xa2" , "\x4a\xaa\xc9\xc9\xc6" } , { "\xb4\xe8\xcd\xdb" , "\xce\x4a\xaa\xc9" } , { "\xb4\xe8\xcd\xdd" , "\x4a\xaa\xc9\xd6" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x4a\xaa\xc9\xd6\xc6" } , { "\xb4\xe8\xcd\xde" , "\x4a\xaa\xc9\xda" } , { "\xb4\xe8\xcd\xe1" , "\x4a\xaa\xc9\xe4" } , { "\xb4\xe8\xcd\xe5" , "\x4a\xaa\xc9\xc9\xe4" } , { "\xb4\xe8\xcd\xe5\xa2" , "\x4a\xaa\xc9\xc9\xe5" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x4a\xaa\xaa\xc9" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x4a\xaa\xaa\xc9\xc9" } , { "\xb4\xe8\xcf" , "\x4c\xc9" } , { "\xb4\xe8\xcf\xdd" , "\x4c\xc9\xd6" } , { "\xb4\xe8\xd1\xda" , "\x4a\xb1\xc9\xc9" } , { "\xb4\xe8\xd1\xdd" , "\x4a\xb1\xc9\xd6" } , { "\xb4\xe8\xd4\xda" , "\x4a\xb4\xc9\xc9" } , { "\xb4\xe8\xd5" , "\x4a\xb6\xc9" } , { "\xb4\xe8\xd5\xda" , "\x4a\xb6\xc9\xc9" } , { "\xb4\xe8\xd5\xdc" , "\x4a\xb6\xc9\xd2" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x4a\xb9\xaa\xc9\xc9" } , { "\xb4\xe8\xd7" , "\x4a\xba\xc9" } , { "\xb4\xe8\xd7\xdb" , "\xce\x4a\xba\xc9" } , { "\xb4\xe8\xd7\xdc" , "\x4a\xba\xc9\xd2" } , { "\xb4\xe8\xd9\xd5" , "\x4a\xb6\xc9" } , { "\xb4\xe8\xe8" , "\x4a\xc9\xc2" } , { "\xb4\xe8\xe9\xcf" , "\x4a\xae\xfa" } , { "\xb4\xe9" , "\x4b\xc9" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x4b\xc9\x53\xc9\xc9\xc7" } , { "\xb4\xe9\xda" , "\x4b\xc9\xc9" } , { "\xb4\xe9\xda\xa1" , "\x4b\xc9\xc9\xc4" } , { "\xb4\xe9\xdb" , "\xca\x4b\xc9" } , { "\xb4\xe9\xdc" , "\x4b\xc9\xd2" } , { "\xb4\xe9\xdd" , "\x4b\xc9\xd6" } , { "\xb4\xe9\xde" , "\x4b\xc9\xda" } , { "\xb4\xe9\xe2" , "\x4b\xc9\xe8" } , { "\xb4\xe9\xe5" , "\x4b\xc9\xc9\xe4" } , { "\xb4\xe9\xe5\xa2" , "\x4b\xc9\xc9\xe5" } , { "\xb4\xe9\xe8\xc2" , "\x4b\x69\xc9" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x4b\x69\xc9\xc9\xe5" } , { "\xb4\xe9\xe8\xcd\xda" , "\x4b\xaa\xc9\xc9" } , { "\xb4\xe9\xe8\xd4\xda" , "\x4b\xb4\xc9\xc9" } , { "\xb4\xe9\xe8\xd5" , "\x4b\xb6\xc9" } , { "\xb4\xe9\xe8\xd7" , "\x4b\xba\xc9" } , { "\xb5" , "\x4d\xc9" } , { "\xb5\xa1" , "\x4d\xc9\xc4" } , { "\xb5\xa2" , "\x4d\xc9\xc6" } , { "\xb5\xa3" , "\x4d\xc9\x26" } , { "\xb5\xda" , "\x4d\xc9\xc9" } , { "\xb5\xda\xa1" , "\x4d\xc9\xc9\xc4" } , { "\xb5\xda\xa2" , "\x4d\xc9\xc9\xc6" } , { "\xb5\xda\xa3" , "\x4d\xc9\xc9\x26" } , { "\xb5\xdb" , "\xca\x4d\xc9" } , { "\xb5\xdb\xa2" , "\xcb\x4d\xc9" } , { "\xb5\xdc" , "\x4d\xc9\xd2" } , { "\xb5\xdc\xa2" , "\x4d\xc9\xd3" } , { "\xb5\xdc\xa3" , "\x4d\xc9\xd2\x26" } , { "\xb5\xdd" , "\x4d\xc9\xd6" } , { "\xb5\xdd\xa1" , "\x4d\xc9\xd6\xc4" } , { "\xb5\xdd\xa2" , "\x4d\xc9\xd6\xc6" } , { "\xb5\xdd\xa2\xa2" , "\x4d\xc9\xd6\xc6\xc6" } , { "\xb5\xdd\xa3" , "\x4d\xc9\xd6\x26" } , { "\xb5\xde" , "\x4d\xc9\xda" } , { "\xb5\xde\xa1" , "\x4d\xc9\xda\xc4" } , { "\xb5\xde\xa2" , "\x4d\xc9\xda\xc6" } , { "\xb5\xdf" , "\x4d\xc9\xde" } , { "\xb5\xdf\xa2" , "\x4d\xc9\xde\xc6" } , { "\xb5\xe0" , "\x4d\xc9\xe0" } , { "\xb5\xe0\xa2" , "\x4d\xc9\xe1" } , { "\xb5\xe1" , "\x4d\xc9\xe4" } , { "\xb5\xe1\xa2" , "\x4d\xc9\xe5" } , { "\xb5\xe1\xa3" , "\x4d\xc9\xe4\x26" } , { "\xb5\xe2" , "\x4d\xc9\xe8" } , { "\xb5\xe2\xa2" , "\x4d\xc9\xe9" } , { "\xb5\xe2\xa3" , "\x4d\xc9\xe8\x26" } , { "\xb5\xe4" , "\x4d\xc9\xc9\xe0" } , { "\xb5\xe4\xa2" , "\x4d\xc9\xc9\xe1" } , { "\xb5\xe5" , "\x4d\xc9\xc9\xe4" } , { "\xb5\xe5\xa2" , "\x4d\xc9\xc9\xe5" } , { "\xb5\xe6" , "\x4d\xc9\xc9\xe8" } , { "\xb5\xe6\xa1" , "\x4d\xc9\xc9\xe9" } , { "\xb5\xe6\xa2" , "\x4d\xc9\xc9\xe9" } , { "\xb5\xe7" , "\x4d\xc9\xc9\xec" } , { "\xb5\xe8" , "\x4d\xc9\xc2" } , { "\xb5\xe8\x4d" , "\x4d\xc9\xc2\x4d" } , { "\xb5\xe8\xb3" , "\x4d\x45\xf2" } , { "\xb5\xe8\xb3\xda" , "\x4d\x45\xf2\xc9" } , { "\xb5\xe8\xb3\xdb" , "\xce\x4d\x45\xf2" } , { "\xb5\xe8\xb3\xdd" , "\x4d\x45\xd6\xf2" } , { "\xb5\xe8\xb3\xde" , "\x4d\x45\xda\xf2" } , { "\xb5\xe8\xb3\xe2" , "\x4d\x45\xe8\xf2" } , { "\xb5\xe8\xb3\xe5" , "\x4d\x45\xf2\xc9\xe4" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x4d\x43\xb1\xc9" } , { "\xb5\xe8\xb5" , "\x4d\x4d\xc9" } , { "\xb5\xe8\xb5\xa2" , "\x4d\x4d\xc9\xc6" } , { "\xb5\xe8\xb5\xda" , "\x4d\x4d\xc9\xc9" } , { "\xb5\xe8\xb5\xdb" , "\xce\x4d\x4d\xc9" } , { "\xb5\xe8\xb5\xdb\xa2" , "\xcf\x4d\x4d\xc9" } , { "\xb5\xe8\xb5\xdc" , "\x4d\x4d\xc9\xd2" } , { "\xb5\xe8\xb5\xdd" , "\x4d\x4d\xc9\xd6" } , { "\xb5\xe8\xb5\xdd\xa2" , "\x4d\x4d\xc9\xd6\xc6" } , { "\xb5\xe8\xb5\xde" , "\x4d\x4d\xc9\xda" } , { "\xb5\xe8\xb5\xe0" , "\x4d\x4d\xc9\xe0" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x4d\x4d\xc9\xe1" } , { "\xb5\xe8\xb5\xe1" , "\x4d\x4d\xc9\xe4" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x4d\x4d\xc9\xe5" } , { "\xb5\xe8\xb5\xe2" , "\x4d\x4d\xc9\xe8" } , { "\xb5\xe8\xb5\xe4" , "\x4d\x4d\xc9\xc9\xe0" } , { "\xb5\xe8\xb5\xe5" , "\x4d\x4d\xc9\xc9\xe4" } , { "\xb5\xe8\xb5\xe8" , "\x4d\x4d\xc9\xc2" } , { "\xb5\xe8\xb6" , "\x4d\x50\xc9" } , { "\xb5\xe8\xb6\xda" , "\x4d\x50\xc9\xc9" } , { "\xb5\xe8\xb6\xdc" , "\x4d\x50\xc9\xd2" } , { "\xb5\xe8\xb6\xdd" , "\x4d\x50\xc9\xd6" } , { "\xb5\xe8\xb6\xe1" , "\x4d\x50\xc9\xe4" } , { "\xb5\xe8\xb7" , "\x4d\x52\xf3" } , { "\xb5\xe8\xb7\xda" , "\x4d\x52\xf3\xc9" } , { "\xb5\xe8\xb7\xdb" , "\xce\x4d\x52\xf3" } , { "\xb5\xe8\xb7\xdc" , "\x4d\x52\xf3\xd2" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x4d\x52\xf3\xc9\xe5" } , { "\xb5\xe8\xb8\xe1" , "\x4d\x53\xc9\xe4" } , { "\xb5\xe8\xba" , "\x4d\x56\xc9" } , { "\xb5\xe8\xba\xa2" , "\x4d\x56\xc9\xc6" } , { "\xb5\xe8\xba\xda" , "\x4d\x56\xc9\xc9" } , { "\xb5\xe8\xba\xda\xa2" , "\x4d\x56\xc9\xc9\xc6" } , { "\xb5\xe8\xba\xdb" , "\xce\x4d\x56\xc9" } , { "\xb5\xe8\xba\xdc" , "\x4d\x56\xc9\xd2" } , { "\xb5\xe8\xba\xe0" , "\x4d\x56\xc9\xe0" } , { "\xb5\xe8\xba\xe0\xa2" , "\x4d\x56\xc9\xe1" } , { "\xb5\xe8\xba\xe1\xa2" , "\x4d\x56\xc9\xe5" } , { "\xb5\xe8\xba\xe2" , "\x4d\x56\xc9\xe8" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x4d\x56\xb4\xc9\xc9\xc6" } , { "\xb5\xe8\xba\xe9" , "\x4d\x57\xc9" } , { "\xb5\xe8\xba\xe9\xdb" , "\xce\x4d\x57\xc9" } , { "\xb5\xe8\xbd" , "\x4d\x5d\xf5" } , { "\xb5\xe8\xbd\xda" , "\x4d\x5d\xf5\xc9" } , { "\xb5\xe8\xbd\xda\xa2" , "\x4d\x5d\xf5\xc9\xc6" } , { "\xb5\xe8\xbd\xdb" , "\xce\x4d\x5d\xf5" } , { "\xb5\xe8\xbd\xdc" , "\x4d\x5d\xf5\xd2" } , { "\xb5\xe8\xbd\xde" , "\x4d\x5d\xda\xf5" } , { "\xb5\xe8\xbd\xe0" , "\x4d\x5d\xe0\xf5" } , { "\xb5\xe8\xbd\xe1" , "\x4d\x5d\xe4\xf5" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x4d\x5d\xe9\xf5" } , { "\xb5\xe8\xbd\xe4" , "\x4d\x5d\xf5\xc9\xe0" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x4d\x5d\xc2\xf5\x56\xc9\xc2" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x4d\x5d\xc5\xf5\xc9" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x4d\x5d\xc5\xe0\xf5" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\xce\x4d\x5d\xc2\xf5\xb4\xc9" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x4d\x5d\xc2\xf5\xba\xc9" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x4d\x5d\xc2\xf5\xba\xc9\xc9" } , { "\xb5\xe8\xbf" , "\x4d\x62\xf7" } , { "\xb5\xe8\xbf\xa2" , "\x4d\x62\xc6\xf7" } , { "\xb5\xe8\xbf\xda" , "\x4d\x62\xf7\xc9" } , { "\xb5\xe8\xbf\xda\xa2" , "\x4d\x62\xf7\xc9\xc6" } , { "\xb5\xe8\xbf\xdb" , "\xce\x4d\x62\xf7" } , { "\xb5\xe8\xbf\xdc" , "\x4d\x62\xf7\xd2" } , { "\xb5\xe8\xbf\xe0" , "\x4d\x62\xe0\xf7" } , { "\xb5\xe8\xbf\xe5" , "\x4d\x62\xf7\xc9\xe4" } , { "\xb5\xe8\xbf\xe8" , "\x4d\x62\xc2\xf7" } , { "\xb5\xe8\xc0\xdd" , "\x4d\x66\xd6\xf8" } , { "\xb5\xe8\xc1" , "\x4d\x68\xc9" } , { "\xb5\xe8\xc1\xda" , "\x4d\x68\xc9\xc9" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x4d\x68\xc9\xc9\xe5" } , { "\xb5\xe8\xc2" , "\x4d\x69\xc9" } , { "\xb5\xe8\xc2\xda" , "\x4d\x69\xc9\xc9" } , { "\xb5\xe8\xc2\xdb" , "\xce\x4d\x69\xc9" } , { "\xb5\xe8\xc2\xdd" , "\x4d\x69\xc9\xd6" } , { "\xb5\xe8\xc2\xe0" , "\x4d\x69\xc9\xe0" } , { "\xb5\xe8\xc2\xe1" , "\x4d\x69\xc9\xe4" } , { "\xb5\xe8\xc2\xe5" , "\x4d\x69\xc9\xc9\xe4" } , { "\xb5\xe8\xc2\xe8" , "\x4d\x69\xc9\xc2" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x4d\x69\x45\xf2" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x4d\x69\x4d\xc9" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x4d\x6b\xc9" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x4d\x6a\xc9" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\x4d\x6a\xc9\xe1" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x4d\x69\xba\xc9" } , { "\xb5\xe8\xc3" , "\x4d\x6c\xc9" } , { "\xb5\xe8\xc3\xda" , "\x4d\x6c\xc9\xc9" } , { "\xb5\xe8\xc3\xdc" , "\x4d\x6c\xc9\xd2" } , { "\xb5\xe8\xc3\xdd" , "\x4d\x6c\xc9\xd6" } , { "\xb5\xe8\xc3\xe5" , "\x4d\x6c\xc9\xc9\xe4" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x4d\x6c\xc9\xc9\xe5" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x4d\x6c\xaa\xc9\xc9" } , { "\xb5\xe8\xc4" , "\x4d\x6e\xf9" } , { "\xb5\xe8\xc4\xa2" , "\x4d\x6e\xc6\xf9" } , { "\xb5\xe8\xc4\xda" , "\x4d\x6e\xf9\xc9" } , { "\xb5\xe8\xc4\xdb" , "\xce\x4d\x6e\xf9" } , { "\xb5\xe8\xc4\xdd" , "\x4d\x6e\xd6\xf9" } , { "\xb5\xe8\xc4\xdf" , "\x4d\x6f\xf9" } , { "\xb5\xe8\xc4\xe1" , "\x4d\x6e\xe4\xf9" } , { "\xb5\xe8\xc4\xe5" , "\x4d\x6e\xf9\xc9\xe4" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x4d\x74" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x4d\x74\xc6" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x4d\x75\xf9\xc9" } , { "\xb5\xe8\xc5" , "\x4d\x76\xc9" } , { "\xb5\xe8\xc5\xa2" , "\x4d\x76\xc9\xc6" } , { "\xb5\xe8\xc5\xda" , "\x4d\x76\xc9\xc9" } , { "\xb5\xe8\xc5\xdb" , "\xce\x4d\x76\xc9" } , { "\xb5\xe8\xc5\xdc" , "\x4d\x76\xc9\xd2" } , { "\xb5\xe8\xc5\xdd" , "\x4d\x76\xc9\xd6" } , { "\xb5\xe8\xc5\xe1" , "\x4d\x76\xc9\xe4" } , { "\xb5\xe8\xc5\xe5" , "\x4d\x76\xc9\xc9\xe4" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x4d\x76\xaa\xc9" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x4d\x76\xaa\xc9\xc6" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x4d\x76\xaa\xc9\xc9" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x4d\x76\xb4\xc9\xc9" } , { "\xb5\xe8\xc6" , "\x4d\x78\xc9" } , { "\xb5\xe8\xc6\xa2" , "\x4d\x78\xc9\xc6" } , { "\xb5\xe8\xc6\xda" , "\x4d\x78\xc9\xc9" } , { "\xb5\xe8\xc6\xdb" , "\xce\x4d\x78\xc9" } , { "\xb5\xe8\xc6\xdb\xa2" , "\xcf\x4d\x78\xc9" } , { "\xb5\xe8\xc6\xdb\xa3" , "\xce\x4d\x78\xc9\x26" } , { "\xb5\xe8\xc6\xdc" , "\x4d\x78\xc9\xd2" } , { "\xb5\xe8\xc6\xdd" , "\x4d\x78\xc9\xd6" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x4d\x78\xc9\xd6\xc6" } , { "\xb5\xe8\xc6\xde" , "\x4d\x78\xc9\xda" } , { "\xb5\xe8\xc6\xe0" , "\x4d\x78\xc9\xe0" } , { "\xb5\xe8\xc6\xe1" , "\x4d\x78\xc9\xe4" } , { "\xb5\xe8\xc6\xe2" , "\x4d\x78\xc9\xe8" } , { "\xb5\xe8\xc6\xe5\xa2" , "\x4d\x78\xc9\xc9\xe5" } , { "\xb5\xe8\xc6\xe6" , "\x4d\x78\xc9\xc9\xe8" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x4d\x78\xaa\xc9\xc6" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x4d\x78\xaa\xc9\xc9" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x4d\x78\xaa\xc9\xc9\xc4" } , { "\xb5\xe8\xc8" , "\x4d\x7b\xc9" } , { "\xb5\xe8\xc8\xda" , "\x4d\x7b\xc9\xc9" } , { "\xb5\xe8\xc8\xdb" , "\xce\x4d\x7b\xc9" } , { "\xb5\xe8\xc8\xdc" , "\x4d\x7b\xc9\xd2" } , { "\xb5\xe8\xc8\xdd" , "\x4d\x7b\xc9\xd6" } , { "\xb5\xe8\xc8\xde" , "\x4d\x7b\xc9\xda" } , { "\xb5\xe8\xc8\xe2" , "\x4d\x7b\xc9\xe8" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x4d\x7c\xc9\xe0" } , { "\xb5\xe8\xc9" , "\x4d\xa1\xf2" } , { "\xb5\xe8\xc9\xdb" , "\xce\x4d\xa1\xf2" } , { "\xb5\xe8\xc9\xe0" , "\x4d\xa1\xe0\xf2" } , { "\xb5\xe8\xc9\xe5" , "\x4d\xa1\xf2\xc9\xe4" } , { "\xb5\xe8\xca" , "\x4d\xa4\xc9" } , { "\xb5\xe8\xca\xa2" , "\x4d\xa4\xc9\xc6" } , { "\xb5\xe8\xca\xda" , "\x4d\xa4\xc9\xc9" } , { "\xb5\xe8\xca\xdb" , "\xce\x4d\xa4\xc9" } , { "\xb5\xe8\xca\xdc" , "\x4d\xa4\xc9\xd2" } , { "\xb5\xe8\xca\xe0" , "\x4d\xa4\xc9\xe0" } , { "\xb5\xe8\xca\xe5" , "\x4d\xa4\xc9\xc9\xe4" } , { "\xb5\xe8\xca\xe8\xcf" , "\x4d\xa5\xc9" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\x4d\xa5\xc9\xe4" } , { "\xb5\xe8\xcb" , "\x4d\xa6\xc9" } , { "\xb5\xe8\xcb\xa2" , "\x4d\xa6\xc9\xc6" } , { "\xb5\xe8\xcb\xda" , "\x4d\xa6\xc9\xc9" } , { "\xb5\xe8\xcb\xde" , "\x4d\xa6\xc9\xda" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x4d\xa7\xc9" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x4d\xa7\xc9\xc9" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x4d\xa7\xc9\xc9\xc6" } , { "\xb5\xe8\xcc" , "\x4d\xa8\xc9" } , { "\xb5\xe8\xcc\xa2" , "\x4d\xa8\xc9\xc6" } , { "\xb5\xe8\xcc\xda" , "\x4d\xa8\xc9\xc9" } , { "\xb5\xe8\xcc\xdb" , "\xce\x4d\xa8\xc9" } , { "\xb5\xe8\xcc\xdc" , "\x4d\xa8\xc9\xd2" } , { "\xb5\xe8\xcc\xdd" , "\x4d\xa8\xc9\xd6" } , { "\xb5\xe8\xcc\xde" , "\x4d\xa8\xc9\xda" } , { "\xb5\xe8\xcc\xe0\xa2" , "\x4d\xa8\xc9\xe1" } , { "\xb5\xe8\xcc\xe1" , "\x4d\xa8\xc9\xe4" } , { "\xb5\xe8\xcc\xe2" , "\x4d\xa8\xc9\xe8" } , { "\xb5\xe8\xcc\xe2\xa2" , "\x4d\xa8\xc9\xe9" } , { "\xb5\xe8\xcc\xe4" , "\x4d\xa8\xc9\xc9\xe0" } , { "\xb5\xe8\xcc\xe5" , "\x4d\xa8\xc9\xc9\xe4" } , { "\xb5\xe8\xcc\xe5\xa2" , "\x4d\xa8\xc9\xc9\xe5" } , { "\xb5\xe8\xcd" , "\x4d\xaa\xc9" } , { "\xb5\xe8\xcd\xa2" , "\x4d\xaa\xc9\xc6" } , { "\xb5\xe8\xcd\xda" , "\x4d\xaa\xc9\xc9" } , { "\xb5\xe8\xcd\xda\xa2" , "\x4d\xaa\xc9\xc9\xc6" } , { "\xb5\xe8\xcd\xdb" , "\xce\x4d\xaa\xc9" } , { "\xb5\xe8\xcd\xdb\xa2" , "\xcf\x4d\xaa\xc9" } , { "\xb5\xe8\xcd\xdc" , "\x4d\xaa\xc9\xd2" } , { "\xb5\xe8\xcd\xdd" , "\x4d\xaa\xc9\xd6" } , { "\xb5\xe8\xcd\xde" , "\x4d\xaa\xc9\xda" } , { "\xb5\xe8\xcd\xe1" , "\x4d\xaa\xc9\xe4" } , { "\xb5\xe8\xcd\xe5" , "\x4d\xaa\xc9\xc9\xe4" } , { "\xb5\xe8\xcd\xe5\xa2" , "\x4d\xaa\xc9\xc9\xe5" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x4d\xaa\xaa\xc9\xc9" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x4d\xaa\xb4\xc9" } , { "\xb5\xe8\xcf" , "\x4f\xc9" } , { "\xb5\xe8\xcf\xa2" , "\x4f\xc9\xc6" } , { "\xb5\xe8\xcf\xda" , "\x4f\xc9\xc9" } , { "\xb5\xe8\xcf\xda\xa1" , "\x4f\xc9\xc9\xc4" } , { "\xb5\xe8\xcf\xda\xa2" , "\x4f\xc9\xc9\xc6" } , { "\xb5\xe8\xcf\xdb" , "\xca\x4f\xc9" } , { "\xb5\xe8\xcf\xdb\xa2" , "\xcb\x4f\xc9" } , { "\xb5\xe8\xcf\xdc" , "\x4f\xc9\xd2" } , { "\xb5\xe8\xcf\xdd" , "\x4f\xc9\xd6" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x4f\xc9\xd6\xc6" } , { "\xb5\xe8\xcf\xde" , "\x4f\xc9\xda" } , { "\xb5\xe8\xcf\xde\xa2" , "\x4f\xc9\xda\xc6" } , { "\xb5\xe8\xcf\xe0" , "\x4f\xc9\xe0" } , { "\xb5\xe8\xcf\xe0\xa2" , "\x4f\xc9\xe1" } , { "\xb5\xe8\xcf\xe1" , "\x4f\xc9\xe4" } , { "\xb5\xe8\xcf\xe1\xa2" , "\x4f\xc9\xe5" } , { "\xb5\xe8\xcf\xe2" , "\x4f\xc9\xe8" } , { "\xb5\xe8\xcf\xe2\xa2" , "\x4f\xc9\xe9" } , { "\xb5\xe8\xcf\xe4" , "\x4f\xc9\xc9\xe0" } , { "\xb5\xe8\xcf\xe4\xa2" , "\x4f\xc9\xc9\xe1" } , { "\xb5\xe8\xcf\xe5" , "\x4f\xc9\xc9\xe4" } , { "\xb5\xe8\xcf\xe5\xa2" , "\x4f\xc9\xc9\xe5" } , { "\xb5\xe8\xcf\xe6" , "\x4f\xc9\xc9\xe8" } , { "\xb5\xe8\xcf\xe6\xa2" , "\x4f\xc9\xc9\xe9" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x4f\x62\xf7" } , { "\xb5\xe8\xd0\xa2" , "\x4d\xae\xc6\xfa\xc3" } , { "\xb5\xe8\xd1" , "\x4d\xb1\xc9" } , { "\xb5\xe8\xd1\xa2" , "\x4d\xb1\xc9\xc6" } , { "\xb5\xe8\xd1\xda" , "\x4d\xb1\xc9\xc9" } , { "\xb5\xe8\xd1\xda\xa2" , "\x4d\xb1\xc9\xc9\xc6" } , { "\xb5\xe8\xd1\xdb" , "\xce\x4d\xb1\xc9" } , { "\xb5\xe8\xd1\xdb\xa2" , "\xcf\x4d\xb1\xc9" } , { "\xb5\xe8\xd1\xdc" , "\x4d\xb1\xc9\xd2" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x4d\xb1\xc9\xd3" } , { "\xb5\xe8\xd1\xdd" , "\x4d\xb1\xc9\xd6" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x4d\xb1\xc9\xd6\xc6" } , { "\xb5\xe8\xd1\xde" , "\x4d\xb1\xc9\xda" } , { "\xb5\xe8\xd1\xe0" , "\x4d\xb1\xc9\xe0" } , { "\xb5\xe8\xd1\xe0\xa2" , "\x4d\xb1\xc9\xe1" } , { "\xb5\xe8\xd1\xe1" , "\x4d\xb1\xc9\xe4" } , { "\xb5\xe8\xd1\xe1\xa2" , "\x4d\xb1\xc9\xe5" } , { "\xb5\xe8\xd1\xe2" , "\x4d\xb1\xc9\xe8" } , { "\xb5\xe8\xd1\xe2\xa2" , "\x4d\xb1\xc9\xe9" } , { "\xb5\xe8\xd1\xe4" , "\x4d\xb1\xc9\xc9\xe0" } , { "\xb5\xe8\xd1\xe5" , "\x4d\xb1\xc9\xc9\xe4" } , { "\xb5\xe8\xd1\xe5\xa2" , "\x4d\xb1\xc9\xc9\xe5" } , { "\xb5\xe8\xd1\xe6" , "\x4d\xb1\xc9\xc9\xe8" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x4d\xb1\xaa\xc9\xd6" } , { "\xb5\xe8\xd4" , "\x4d\xb4\xc9" } , { "\xb5\xe8\xd4\xda" , "\x4d\xb4\xc9\xc9" } , { "\xb5\xe8\xd4\xdb" , "\xce\x4d\xb4\xc9" } , { "\xb5\xe8\xd4\xdd" , "\x4d\xb4\xc9\xd6" } , { "\xb5\xe8\xd4\xde" , "\x4d\xb4\xc9\xda" } , { "\xb5\xe8\xd4\xe0" , "\x4d\xb4\xc9\xe0" } , { "\xb5\xe8\xd4\xe1" , "\x4d\xb4\xc9\xe4" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x4d\xb4\xc9\xe5" } , { "\xb5\xe8\xd4\xe2" , "\x4d\xb4\xc9\xe8" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x4d\xb4\xaa\xc9" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x4d\xb4\xaa\xc9\xc9" } , { "\xb5\xe8\xd5\xda" , "\x4d\xb6\xc9\xc9" } , { "\xb5\xe8\xd5\xda\xa2" , "\x4d\xb6\xc9\xc9\xc6" } , { "\xb5\xe8\xd6\xdc" , "\x4d\xb9\xc9\xd2" } , { "\xb5\xe8\xd7" , "\x4d\xba\xc9" } , { "\xb5\xe8\xd7\xda" , "\x4d\xba\xc9\xc9" } , { "\xb5\xe8\xd7\xdc" , "\x4d\xba\xc9\xd2" } , { "\xb5\xe8\xd7\xdd" , "\x4d\xba\xc9\xd6" } , { "\xb5\xe8\xd7\xde" , "\x4d\xba\xc9\xda" } , { "\xb5\xe8\xd7\xe0" , "\x4d\xba\xc9\xe0" } , { "\xb5\xe8\xd7\xe2" , "\x4d\xba\xc9\xe8" } , { "\xb5\xe8\xd7\xe5" , "\x4d\xba\xc9\xc9\xe4" } , { "\xb5\xe8\xd7\xe8" , "\x4d\xba\xc9\xc2" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x4d\xba\x4d\xc9\xc9" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x4d\xba\x5d\xf5" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x4d\xba\x5d\xc6\xf5" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x4d\xba\x5d\xf5\xc9" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x4d\xba\x5d\xe4\xf5" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x4d\xba\x5d\xf5\xc9\xe8" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x4d\xba\x5d\xc2\xf5\x7b\xba\x45\xd6\xf2" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4d\xba\x5d\xc5\xf5\xc9" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x4d\xba\x69\xaa\xc9\xe4" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x4d\xba\x6e\xf9" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\xce\x4d\xba\x78\xc9" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x4d\xba\x78\xc9\xd6" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x4d\xba\x7b\xc9\xc9" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\xce\x4d\xba\x7b\xc9" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\xce\x4d\xba\xb1\xc9" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x4d\xba\xb1\xc9\xc9\xe4" } , { "\xb5\xe8\xd8" , "\x4d\xbd\xfe" } , { "\xb5\xe8\xd8\xda" , "\x4d\xbd\xfe\xc9" } , { "\xb5\xe8\xd8\xdb" , "\xce\x4d\xbd\xfe" } , { "\xb5\xe8\xd8\xdc" , "\x4d\xbd\xfe\xd2" } , { "\xb5\xe8\xd8\xe0" , "\x4d\xbd\xe0\xfe" } , { "\xb5\xe8\xd8\xe4" , "\x4d\xbd\xfe\xc9\xe0" } , { "\xb5\xe8\xd8\xe5" , "\x4d\xbd\xfe\xc9\xe4" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x4d\xbd\xfe\xc9\xe5" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x4d\xc1\xc9\xc6" } , { "\xb5\xe8\xd9\xa6" , "\x4d\x3c" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x4d\xba\xc9\xc7" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x4d\xca\xb4\xc9" } , { "\xb5\xe8\xe8" , "\x4d\xc9\xc2" } , { "\xb5\xe8\xe9\xcf" , "\x4d\xae\xfa" } , { "\xb5\xe9" , "\x4e\xc9" } , { "\xb5\xe9\xda" , "\x4e\xc9\xc9" } , { "\xb5\xe9\xdb" , "\xca\x4e\xc9" } , { "\xb5\xe9\xdd" , "\x4e\xc9\xd6" } , { "\xb5\xe9\xe2" , "\x4e\xc9\xe8" } , { "\xb5\xe9\xe5\xa2" , "\x4e\xc9\xc9\xe5" } , { "\xb5\xe9\xe6" , "\x4e\xc9\xc9\xe8" } , { "\xb6" , "\x50\xc9" } , { "\xb6\xa2" , "\x50\xc9\xc6" } , { "\xb6\xa2\xa2" , "\x50\xc9\xc6\xc6" } , { "\xb6\xa3" , "\x50\xc9\x26" } , { "\xb6\xd0" , "\x50\xc9\xae\xfa\xc3" } , { "\xb6\xda" , "\x50\xc9\xc9" } , { "\xb6\xda\xa2" , "\x50\xc9\xc9\xc6" } , { "\xb6\xdb" , "\xca\x50\xc9" } , { "\xb6\xdb\xa2" , "\xcb\x50\xc9" } , { "\xb6\xdc" , "\x50\xc9\xd2" } , { "\xb6\xdc\xa2" , "\x50\xc9\xd3" } , { "\xb6\xdd" , "\x50\xc9\xd6" } , { "\xb6\xdd\xa1" , "\x50\xc9\xd6\xc4" } , { "\xb6\xdd\xa2" , "\x50\xc9\xd6\xc6" } , { "\xb6\xdd\xa3" , "\x50\xc9\xd6\x26" } , { "\xb6\xde" , "\x50\xc9\xda" } , { "\xb6\xde\xa1" , "\x50\xc9\xda\xc4" } , { "\xb6\xde\xa2" , "\x50\xc9\xda\xc6" } , { "\xb6\xdf" , "\x50\xc9\xde" } , { "\xb6\xe0" , "\x50\xc9\xe0" } , { "\xb6\xe1" , "\x50\xc9\xe4" } , { "\xb6\xe1\xa2" , "\x50\xc9\xe5" } , { "\xb6\xe2" , "\x50\xc9\xe8" } , { "\xb6\xe2\xa3" , "\x50\xc9\xe8\x26" } , { "\xb6\xe4" , "\x50\xc9\xc9\xe0" } , { "\xb6\xe5" , "\x50\xc9\xc9\xe4" } , { "\xb6\xe5\xa2" , "\x50\xc9\xc9\xe5" } , { "\xb6\xe6" , "\x50\xc9\xc9\xe8" } , { "\xb6\xe6\xa2" , "\x50\xc9\xc9\xe9" } , { "\xb6\xe8" , "\x50\xc9\xc2" } , { "\xb6\xe8\xb3\xde" , "\x50\x45\xda\xf2" } , { "\xb6\xe8\xb6" , "\x50\x50\xc9" } , { "\xb6\xe8\xb6\xdc" , "\x50\x50\xc9\xd2" } , { "\xb6\xe8\xb6\xde" , "\x50\x50\xc9\xda" } , { "\xb6\xe8\xb8\xe1" , "\x50\x53\xc9\xe4" } , { "\xb6\xe8\xc1\xda" , "\x50\x68\xc9\xc9" } , { "\xb6\xe8\xc1\xdb" , "\xce\x50\x68\xc9" } , { "\xb6\xe8\xc2" , "\x50\x69\xc9" } , { "\xb6\xe8\xc4" , "\x50\x6e\xf9" } , { "\xb6\xe8\xc6" , "\x50\x78\xc9" } , { "\xb6\xe8\xc6\xa2" , "\x50\x78\xc9\xc6" } , { "\xb6\xe8\xc6\xa3" , "\x50\x78\xc9\x26" } , { "\xb6\xe8\xc6\xda" , "\x50\x78\xc9\xc9" } , { "\xb6\xe8\xc6\xdb" , "\xce\x50\x78\xc9" } , { "\xb6\xe8\xc6\xdc" , "\x50\x78\xc9\xd2" } , { "\xb6\xe8\xc6\xdd" , "\x50\x78\xc9\xd6" } , { "\xb6\xe8\xc6\xe1" , "\x50\x78\xc9\xe4" } , { "\xb6\xe8\xc6\xe5" , "\x50\x78\xc9\xc9\xe4" } , { "\xb6\xe8\xcd" , "\x50\xaa\xc9" } , { "\xb6\xe8\xcd\xda" , "\x50\xaa\xc9\xc9" } , { "\xb6\xe8\xcd\xe5" , "\x50\xaa\xc9\xc9\xe4" } , { "\xb6\xe8\xcd\xe6" , "\x50\xaa\xc9\xc9\xe8" } , { "\xb6\xe8\xcf" , "\x51\xc9" } , { "\xb6\xe8\xcf\xa2" , "\x51\xc9\xc6" } , { "\xb6\xe8\xcf\xda" , "\x51\xc9\xc9" } , { "\xb6\xe8\xcf\xda\xa2" , "\x51\xc9\xc9\xc6" } , { "\xb6\xe8\xcf\xdb" , "\xca\x51\xc9" } , { "\xb6\xe8\xcf\xdd" , "\x51\xc9\xd6" } , { "\xb6\xe8\xcf\xe5\xa2" , "\x51\xc9\xc9\xe5" } , { "\xb6\xe8\xd1" , "\x50\xb1\xc9" } , { "\xb6\xe8\xd4" , "\x50\xb4\xc9" } , { "\xb6\xe8\xd4\xa2" , "\x50\xb4\xc9\xc6" } , { "\xb6\xe8\xd4\xda" , "\x50\xb4\xc9\xc9" } , { "\xb6\xe8\xe8" , "\x50\xc9\xc2" } , { "\xb6\xe8\xe9\xcf" , "\x50\xae\xfa" } , { "\xb6\xe9" , "\x50\xc9" } , { "\xb7" , "\x52\xf3" } , { "\xb7\xa2" , "\x52\xc6\xf3" } , { "\xb7\xa3" , "\x52\xf3\x26" } , { "\xb7\xda" , "\x52\xf3\xc9" } , { "\xb7\xdb" , "\xca\x52\xf3" } , { "\xb7\xdb\xa2" , "\xcb\x52\xf3" } , { "\xb7\xdc" , "\x52\xf3\xd2" } , { "\xb7\xdd" , "\x52\xd6\xf3" } , { "\xb7\xde" , "\x52\xda\xf3" } , { "\xb7\xdf" , "\x52\xde\xf3" } , { "\xb7\xe0" , "\x52\xe0\xf3" } , { "\xb7\xe1" , "\x52\xe4\xf3" } , { "\xb7\xe1\xa2" , "\x52\xe5\xf3" } , { "\xb7\xe2" , "\x52\xe8\xf3" } , { "\xb7\xe4" , "\x52\xf3\xc9\xe0" } , { "\xb7\xe5" , "\x52\xf3\xc9\xe4" } , { "\xb7\xe6" , "\x52\xf3\xc9\xe8" } , { "\xb7\xe8" , "\x52\xc2\xf3" } , { "\xb7\xe8\xb3" , "\x52\xc2\xf3\x45\xf2" } , { "\xb7\xe8\xb3\xda" , "\x52\xc2\xf3\x45\xf2\xc9" } , { "\xb7\xe8\xb3\xdb" , "\xce\x52\xc2\xf3\x45\xf2" } , { "\xb7\xe8\xb3\xe5" , "\x52\xc2\xf3\x45\xf2\xc9\xe4" } , { "\xb7\xe8\xb5" , "\x52\xc2\xf3\x4d\xc9" } , { "\xb7\xe8\xb5\xda" , "\x52\xc2\xf3\x4d\xc9\xc9" } , { "\xb7\xe8\xb5\xdb" , "\xce\x52\xc2\xf3\x4d\xc9" } , { "\xb7\xe8\xb5\xdc" , "\x52\xc2\xf3\x4d\xc9\xd2" } , { "\xb7\xe8\xb5\xe5\xa2" , "\x52\xc2\xf3\x4d\xc9\xc9\xe5" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x52\xc2\xf3\x4f\xc9\xc9" } , { "\xb7\xe8\xb6" , "\x52\xc2\xf3\x50\xc9" } , { "\xb7\xe8\xb6\xda" , "\x52\xc2\xf3\x50\xc9\xc9" } , { "\xb7\xe8\xb6\xdb" , "\xce\x52\xc2\xf3\x50\xc9" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x52\xc2\xf3\x5d\xc2\xf5\x4d\xc9" } , { "\xb7\xe8\xc4" , "\x52\xc2\xf3\x6e\xf9" } , { "\xb7\xe8\xc6" , "\x52\xc2\xf3\x78\xc9" } , { "\xb7\xe8\xc6\xda" , "\x52\xc2\xf3\x78\xc9\xc9" } , { "\xb7\xe8\xc6\xdb" , "\xce\x52\xc2\xf3\x78\xc9" } , { "\xb7\xe8\xc6\xdd" , "\x52\xc2\xf3\x78\xc9\xd6" } , { "\xb7\xe8\xc6\xde" , "\x52\xc2\xf3\x78\xc9\xda" } , { "\xb7\xe8\xc9\xe5" , "\x52\xc2\xf3\xa1\xf2\xc9\xe4" } , { "\xb7\xe8\xcc" , "\x52\xc2\xf3\xa8\xc9" } , { "\xb7\xe8\xcc\xa2" , "\x52\xc2\xf3\xa8\xc9\xc6" } , { "\xb7\xe8\xcc\xda" , "\x52\xc2\xf3\xa8\xc9\xc9" } , { "\xb7\xe8\xcc\xdd" , "\x52\xc2\xf3\xa8\xc9\xd6" } , { "\xb7\xe8\xcc\xde" , "\x52\xc2\xf3\xa8\xc9\xda" } , { "\xb7\xe8\xcd" , "\x52\xc2\xf3\xaa\xc9" } , { "\xb7\xe8\xcf" , "\x52\xc5\xf3" } , { "\xb7\xe8\xcf\xdc" , "\x52\xc5\xf3\xd2" } , { "\xb7\xe8\xd8\xda" , "\x52\xc2\xf3\xbd\xfe\xc9" } , { "\xb7\xe8\xe8" , "\x52\xc2\xf3" } , { "\xb8" , "\x53\xc9" } , { "\xb8\xa1" , "\x53\xc9\xc4" } , { "\xb8\xa2" , "\x53\xc9\xc6" } , { "\xb8\xa3" , "\x53\xc9\x26" } , { "\xb8\xda" , "\x53\xc9\xc9" } , { "\xb8\xda\xa1" , "\x53\xc9\xc9\xc4" } , { "\xb8\xda\xa2" , "\x53\xc9\xc9\xc6" } , { "\xb8\xdb" , "\xca\x53\xc9" } , { "\xb8\xdb\xa2" , "\xcb\x53\xc9" } , { "\xb8\xdc" , "\x53\xc9\xd2" } , { "\xb8\xdc\xa2" , "\x53\xc9\xd3" } , { "\xb8\xdd" , "\x53\xc9\xd6" } , { "\xb8\xdd\xa1" , "\x53\xc9\xd6\xc4" } , { "\xb8\xdd\xa2" , "\x53\xc9\xd6\xc6" } , { "\xb8\xde" , "\x53\xc9\xda" } , { "\xb8\xde\xa1" , "\x53\xc9\xda\xc4" } , { "\xb8\xde\xa2" , "\x53\xc9\xda\xc6" } , { "\xb8\xdf" , "\x53\xc9\xde" } , { "\xb8\xe0" , "\x53\xc9\xe0" } , { "\xb8\xe0\xa2" , "\x53\xc9\xe1" } , { "\xb8\xe1" , "\x53\xc9\xe4" } , { "\xb8\xe1\xa2" , "\x53\xc9\xe5" } , { "\xb8\xe2" , "\x53\xc9\xe8" } , { "\xb8\xe2\xa2" , "\x53\xc9\xe9" } , { "\xb8\xe3" , "\x53\xc9\xec" } , { "\xb8\xe4" , "\x53\xc9\xc9\xe0" } , { "\xb8\xe4\xa2" , "\x53\xc9\xc9\xe1" } , { "\xb8\xe4\xd0\xe8" , "\x53\xc9\xc9\xe0\xae\xc2\xfa\xc3" } , { "\xb8\xe5" , "\x53\xc9\xc9\xe4" } , { "\xb8\xe5\xa2" , "\x53\xc9\xc9\xe5" } , { "\xb8\xe6" , "\x53\xc9\xc9\xe8" } , { "\xb8\xe6\xa2" , "\x53\xc9\xc9\xe9" } , { "\xb8\xe7" , "\x53\xc9\xc9\xec" } , { "\xb8\xe8" , "\x53\xc9\xc2" } , { "\xb8\xe8\xb3" , "\x53\x45\xf2" } , { "\xb8\xe8\xb3\xa2" , "\x53\x45\xc6\xf2" } , { "\xb8\xe8\xb3\xdb" , "\xce\x53\x45\xf2" } , { "\xb8\xe8\xb3\xdd" , "\x53\x45\xd6\xf2" } , { "\xb8\xe8\xb3\xe4" , "\x53\x45\xf2\xc9\xe0" } , { "\xb8\xe8\xb3\xe5" , "\x53\x45\xf2\xc9\xe4" } , { "\xb8\xe8\xb5" , "\x53\x4d\xc9" } , { "\xb8\xe8\xb8" , "\x53\x53\xc9" } , { "\xb8\xe8\xb8\xa2" , "\x53\x53\xc9\xc6" } , { "\xb8\xe8\xb8\xda" , "\x53\x53\xc9\xc9" } , { "\xb8\xe8\xb8\xda\xa2" , "\x53\x53\xc9\xc9\xc6" } , { "\xb8\xe8\xb8\xdb" , "\xce\x53\x53\xc9" } , { "\xb8\xe8\xb8\xdb\xa2" , "\xcf\x53\x53\xc9" } , { "\xb8\xe8\xb8\xdc" , "\x53\x53\xc9\xd2" } , { "\xb8\xe8\xb8\xdd" , "\x53\x53\xc9\xd6" } , { "\xb8\xe8\xb8\xdd\xa2" , "\x53\x53\xc9\xd6\xc6" } , { "\xb8\xe8\xb8\xde" , "\x53\x53\xc9\xda" } , { "\xb8\xe8\xb8\xe0" , "\x53\x53\xc9\xe0" } , { "\xb8\xe8\xb8\xe0\xa2" , "\x53\x53\xc9\xe1" } , { "\xb8\xe8\xb8\xe1" , "\x53\x53\xc9\xe4" } , { "\xb8\xe8\xb8\xe1\xa2" , "\x53\x53\xc9\xe5" } , { "\xb8\xe8\xb8\xe2" , "\x53\x53\xc9\xe8" } , { "\xb8\xe8\xb8\xe2\xa2" , "\x53\x53\xc9\xe9" } , { "\xb8\xe8\xb8\xe4" , "\x53\x53\xc9\xc9\xe0" } , { "\xb8\xe8\xb8\xe4\xa2" , "\x53\x53\xc9\xc9\xe1" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\x53\x53\xc9\xc9\xe0\xae\xc2\xfa\xc3" } , { "\xb8\xe8\xb8\xe5" , "\x53\x53\xc9\xc9\xe4" } , { "\xb8\xe8\xb8\xe5\xa2" , "\x53\x53\xc9\xc9\xe5" } , { "\xb8\xe8\xb8\xe6" , "\x53\x53\xc9\xc9\xe8" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\x53\x54\xc9\xd2" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\x53\x54\xc9\xd6" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\x53\x53\xb4\xc9\xc9" } , { "\xb8\xe8\xb9" , "\x53\x55\xf4" } , { "\xb8\xe8\xb9\xa2" , "\x53\x55\xc6\xf4" } , { "\xb8\xe8\xb9\xda" , "\x53\x55\xf4\xc9" } , { "\xb8\xe8\xb9\xda\xa2" , "\x53\x55\xf4\xc9\xc6" } , { "\xb8\xe8\xb9\xdb" , "\xce\x53\x55\xf4" } , { "\xb8\xe8\xb9\xdb\xa2" , "\xcf\x53\x55\xf4" } , { "\xb8\xe8\xb9\xdc" , "\x53\x55\xf4\xd2" } , { "\xb8\xe8\xb9\xdd" , "\x53\x55\xd6\xf4" } , { "\xb8\xe8\xb9\xdd\xa2" , "\x53\x55\xd6\xc6\xf4" } , { "\xb8\xe8\xb9\xde" , "\x53\x55\xda\xf4" } , { "\xb8\xe8\xb9\xdf" , "\x53\x55\xde\xf4" } , { "\xb8\xe8\xb9\xdf\xa2" , "\x53\x55\xde\xc6\xf4" } , { "\xb8\xe8\xb9\xe0" , "\x53\x55\xe0\xf4" } , { "\xb8\xe8\xb9\xe1" , "\x53\x55\xe4\xf4" } , { "\xb8\xe8\xb9\xe5" , "\x53\x55\xf4\xc9\xe4" } , { "\xb8\xe8\xb9\xe5\xa2" , "\x53\x55\xf4\xc9\xe5" } , { "\xb8\xe8\xb9\xe6" , "\x53\x55\xf4\xc9\xe8" } , { "\xb8\xe8\xb9\xe8" , "\x53\x55\xc2\xf4" } , { "\xb8\xe8\xb9\xe8\xa2" , "\x53\x55\xc2\xf4\xc6" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\x53\x55\xc2\xf4\x72\xf9" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\x53\x55\xc2\xf4\xa8\xc9\xd2" } , { "\xb8\xe8\xb9\xe8\xcf" , "\x53\x55\xc5\xf4" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\x53\x55\xc5\xf4\xc9" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\x53\x55\xd8\xf4" } , { "\xb8\xe8\xb9\xe8\xd1" , "\x53\x55\xc2\xf4\xb1\xc9" } , { "\xb8\xe8\xb9\xe8\xd4" , "\x53\x55\xc2\xf4\xb4\xc9" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\x53\x55\xc2\xf4\xb4\xc9\xc9" } , { "\xb8\xe8\xbd" , "\x53\x5d\xf5" } , { "\xb8\xe8\xbd\xdb" , "\xce\x53\x5d\xf5" } , { "\xb8\xe8\xbd\xdb\xa2" , "\xcf\x53\x5d\xf5" } , { "\xb8\xe8\xbd\xe1" , "\x53\x5d\xe4\xf5" } , { "\xb8\xe8\xbd\xe2" , "\x53\x5d\xe8\xf5" } , { "\xb8\xe8\xbf\xdb" , "\xce\x53\x62\xf7" } , { "\xb8\xe8\xbf\xe8" , "\x53\x62\xc2\xf7" } , { "\xb8\xe8\xc2" , "\x53\x69\xc9" } , { "\xb8\xe8\xc2\xe1\xa2" , "\x53\x69\xc9\xe5" } , { "\xb8\xe8\xc3" , "\x53\x6c\xc9" } , { "\xb8\xe8\xc4\xdb" , "\xce\x53\x6e\xf9" } , { "\xb8\xe8\xc6" , "\x53\x78\xc9" } , { "\xb8\xe8\xc6\xa2" , "\x53\x78\xc9\xc6" } , { "\xb8\xe8\xc6\xdb" , "\xce\x53\x78\xc9" } , { "\xb8\xe8\xc6\xdd" , "\x53\x78\xc9\xd6" } , { "\xb8\xe8\xc6\xe4" , "\x53\x78\xc9\xc9\xe0" } , { "\xb8\xe8\xc8" , "\x53\x7b\xc9" } , { "\xb8\xe8\xc8\xe0" , "\x53\x7b\xc9\xe0" } , { "\xb8\xe8\xc8\xe8\xcf" , "\x53\x7c\xc9" } , { "\xb8\xe8\xca\xda" , "\x53\xa4\xc9\xc9" } , { "\xb8\xe8\xca\xdd" , "\x53\xa4\xc9\xd6" } , { "\xb8\xe8\xca\xe5" , "\x53\xa4\xc9\xc9\xe4" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\x53\xa4\xb1\xc9\xe1" } , { "\xb8\xe8\xcc" , "\x53\xa8\xc9" } , { "\xb8\xe8\xcc\xdc" , "\x53\xa8\xc9\xd2" } , { "\xb8\xe8\xcc\xe0" , "\x53\xa8\xc9\xe0" } , { "\xb8\xe8\xcc\xe0\xa2" , "\x53\xa8\xc9\xe1" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\x53\xa8\xa6\xc9\xe4" } , { "\xb8\xe8\xcd" , "\x53\xaa\xc9" } , { "\xb8\xe8\xcd\xa2" , "\x53\xaa\xc9\xc6" } , { "\xb8\xe8\xcd\xda" , "\x53\xaa\xc9\xc9" } , { "\xb8\xe8\xcd\xda\xa2" , "\x53\xaa\xc9\xc9\xc6" } , { "\xb8\xe8\xcd\xdd" , "\x53\xaa\xc9\xd6" } , { "\xb8\xe8\xcd\xde" , "\x53\xaa\xc9\xda" } , { "\xb8\xe8\xcd\xde\xa2" , "\x53\xaa\xc9\xda\xc6" } , { "\xb8\xe8\xcd\xe5" , "\x53\xaa\xc9\xc9\xe4" } , { "\xb8\xe8\xcd\xe6" , "\x53\xaa\xc9\xc9\xe8" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x53\xaa\xaa\xc9" } , { "\xb8\xe8\xcf" , "\x54\xc9" } , { "\xb8\xe8\xcf\xda" , "\x54\xc9\xc9" } , { "\xb8\xe8\xcf\xdb" , "\xca\x54\xc9" } , { "\xb8\xe8\xcf\xdc" , "\x54\xc9\xd2" } , { "\xb8\xe8\xcf\xde" , "\x54\xc9\xda" } , { "\xb8\xe8\xcf\xde\xa2" , "\x54\xc9\xda\xc6" } , { "\xb8\xe8\xcf\xe5" , "\x54\xc9\xc9\xe4" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x54\x55\xf4" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x54\x55\xf4\xc9" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\xce\x54\x55\xf4" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x54\xaa\xc9" } , { "\xb8\xe8\xd1" , "\x53\xb1\xc9" } , { "\xb8\xe8\xd1\xda" , "\x53\xb1\xc9\xc9" } , { "\xb8\xe8\xd1\xdb" , "\xce\x53\xb1\xc9" } , { "\xb8\xe8\xd1\xdc" , "\x53\xb1\xc9\xd2" } , { "\xb8\xe8\xd1\xdd" , "\x53\xb1\xc9\xd6" } , { "\xb8\xe8\xd1\xde" , "\x53\xb1\xc9\xda" } , { "\xb8\xe8\xd1\xe5" , "\x53\xb1\xc9\xc9\xe4" } , { "\xb8\xe8\xd4" , "\x53\xb4\xc9" } , { "\xb8\xe8\xd4\xda" , "\x53\xb4\xc9\xc9" } , { "\xb8\xe8\xd4\xda\xa2" , "\x53\xb4\xc9\xc9\xc6" } , { "\xb8\xe8\xd4\xe1" , "\x53\xb4\xc9\xe4" } , { "\xb8\xe8\xd4\xe2" , "\x53\xb4\xc9\xe8" } , { "\xb8\xe8\xd7" , "\x53\xba\xc9" } , { "\xb8\xe8\xd7\xe1" , "\x53\xba\xc9\xe4" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\xce\x53\xba\x5d\xf5" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x53\xba\x5d\xf5\xc9\xe4" } , { "\xb8\xe8\xd8" , "\x53\xbd\xfe" } , { "\xb8\xe8\xd8\xda" , "\x53\xbd\xfe\xc9" } , { "\xb8\xe8\xd8\xe6" , "\x53\xbd\xfe\xc9\xe8" } , { "\xb8\xe8\xd9\xa6" , "\x53\x3c" } , { "\xb8\xe8\xe8" , "\x53\xc9\xc2" } , { "\xb8\xe8\xe9\xcf" , "\x53\xae\xfa" } , { "\xb8\xe9" , "\x53\xc9" } , { "\xb9" , "\x55\xf4" } , { "\xb9\xa1" , "\x55\xc4\xf4" } , { "\xb9\xa2" , "\x55\xc6\xf4" } , { "\xb9\xa3" , "\x55\xf4\x26" } , { "\xb9\xce\xb4" , "\x55\xf4\xaa\xc9\xc3\x4a\xc9" } , { "\xb9\xd9\xc5" , "\x55\xf4\x76\xc9" } , { "\xb9\xd9\xd1" , "\x55\xf4\xb1\xc9" } , { "\xb9\xda" , "\x55\xf4\xc9" } , { "\xb9\xda\xa1" , "\x55\xf4\xc9\xc4" } , { "\xb9\xda\xa2" , "\x55\xf4\xc9\xc6" } , { "\xb9\xdb" , "\xca\x55\xf4" } , { "\xb9\xdb\xa2" , "\xcb\x55\xf4" } , { "\xb9\xdc" , "\x55\xf4\xd2" } , { "\xb9\xdc\xa2" , "\x55\xf4\xd3" } , { "\xb9\xdd" , "\x55\xd6\xf4" } , { "\xb9\xdd\xa2" , "\x55\xd6\xc6\xf4" } , { "\xb9\xde" , "\x55\xda\xf4" } , { "\xb9\xde\xa1" , "\x55\xda\xc4\xf4" } , { "\xb9\xde\xa2" , "\x55\xda\xc6\xf4" } , { "\xb9\xdf" , "\x55\xde\xf4" } , { "\xb9\xe0" , "\x55\xe0\xf4" } , { "\xb9\xe0\xa2" , "\x55\xe1\xf4" } , { "\xb9\xe1" , "\x55\xe4\xf4" } , { "\xb9\xe1\xa2" , "\x55\xe5\xf4" } , { "\xb9\xe2" , "\x55\xe8\xf4" } , { "\xb9\xe2\xa2" , "\x55\xe9\xf4" } , { "\xb9\xe4" , "\x55\xf4\xc9\xe0" } , { "\xb9\xe5" , "\x55\xf4\xc9\xe4" } , { "\xb9\xe5\xa2" , "\x55\xf4\xc9\xe5" } , { "\xb9\xe6" , "\x55\xf4\xc9\xe8" } , { "\xb9\xe6\xa2" , "\x55\xf4\xc9\xe9" } , { "\xb9\xe8" , "\x55\xc2\xf4" } , { "\xb9\xe8\xb8" , "\x55\xc2\xf4\x53\xc9" } , { "\xb9\xe8\xb9" , "\x55\xc2\xf4\x55\xf4" } , { "\xb9\xe8\xb9\xda" , "\x55\xc2\xf4\x55\xf4\xc9" } , { "\xb9\xe8\xc2\xda" , "\x55\xc2\xf4\x69\xc9\xc9" } , { "\xb9\xe8\xc4" , "\x55\xc2\xf4\x6e\xf9" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x55\xc2\xf4\x78\xc9\xd6\xc6" } , { "\xb9\xe8\xc8\xda" , "\x55\xc2\xf4\x7b\xc9\xc9" } , { "\xb9\xe8\xcd\xda" , "\x55\xc2\xf4\xaa\xc9\xc9" } , { "\xb9\xe8\xcd\xe1" , "\x55\xc2\xf4\xaa\xc9\xe4" } , { "\xb9\xe8\xd4\xda" , "\x55\xc2\xf4\xb4\xc9\xc9" } , { "\xb9\xe8\xe8" , "\x55\xc2\xf4" } , { "\xb9\xe9" , "\x55\xf4" } , { "\xba" , "\x56\xc9" } , { "\xba\xa1" , "\x56\xc9\xc4" } , { "\xba\xa2" , "\x56\xc9\xc6" } , { "\xba\xa2\xa2" , "\x56\xc9\xc6\xc6" } , { "\xba\xa3" , "\x56\xc9\x26" } , { "\xba\xd9\xc5" , "\x56\xc9\x76\xc9" } , { "\xba\xda" , "\x56\xc9\xc9" } , { "\xba\xda\xa1" , "\x56\xc9\xc9\xc4" } , { "\xba\xda\xa2" , "\x56\xc9\xc9\xc6" } , { "\xba\xda\xa3" , "\x56\xc9\xc9\x26" } , { "\xba\xdb" , "\xca\x56\xc9" } , { "\xba\xdb\xa2" , "\xcb\x56\xc9" } , { "\xba\xdc" , "\x56\xc9\xd2" } , { "\xba\xdc\xa2" , "\x56\xc9\xd3" } , { "\xba\xdd" , "\x56\xc9\xd6" } , { "\xba\xdd\xa2" , "\x56\xc9\xd6\xc6" } , { "\xba\xdd\xa3" , "\x56\xc9\xd6\x26" } , { "\xba\xde" , "\x56\xc9\xda" } , { "\xba\xde\xa1" , "\x56\xc9\xda\xc4" } , { "\xba\xde\xa2" , "\x56\xc9\xda\xc6" } , { "\xba\xdf" , "\x56\xc9\xde" } , { "\xba\xdf\xa2" , "\x56\xc9\xde\xc6" } , { "\xba\xe0" , "\x56\xc9\xe0" } , { "\xba\xe0\xa2" , "\x56\xc9\xe1" } , { "\xba\xe1" , "\x56\xc9\xe4" } , { "\xba\xe1\xa2" , "\x56\xc9\xe5" } , { "\xba\xe2" , "\x56\xc9\xe8" } , { "\xba\xe2\xa2" , "\x56\xc9\xe9" } , { "\xba\xe3" , "\x56\xc9\xec" } , { "\xba\xe4" , "\x56\xc9\xc9\xe0" } , { "\xba\xe4\xa2" , "\x56\xc9\xc9\xe1" } , { "\xba\xe5" , "\x56\xc9\xc9\xe4" } , { "\xba\xe5\xa2" , "\x56\xc9\xc9\xe5" } , { "\xba\xe6" , "\x56\xc9\xc9\xe8" } , { "\xba\xe7" , "\x56\xc9\xc9\xec" } , { "\xba\xe8" , "\x56\xc9\xc2" } , { "\xba\xe8\xb3" , "\x56\x45\xf2" } , { "\xba\xe8\xb3\xda" , "\x56\x45\xf2\xc9" } , { "\xba\xe8\xb3\xdb" , "\xce\x56\x45\xf2" } , { "\xba\xe8\xb3\xdc" , "\x56\x45\xf2\xd2" } , { "\xba\xe8\xb3\xdd" , "\x56\x45\xd6\xf2" } , { "\xba\xe8\xb3\xe1" , "\x56\x45\xe4\xf2" } , { "\xba\xe8\xb3\xe2" , "\x56\x45\xe8\xf2" } , { "\xba\xe8\xb3\xe5" , "\x56\x45\xf2\xc9\xe4" } , { "\xba\xe8\xb3\xe8\xbd" , "\x56\x43\x5d\xf5" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x56\x43\xba\xb1\xc9\xc9\xe4" } , { "\xba\xe8\xb4\xda" , "\x56\x4a\xc9\xc9" } , { "\xba\xe8\xb5" , "\x56\x4d\xc9" } , { "\xba\xe8\xb5\xa2" , "\x56\x4d\xc9\xc6" } , { "\xba\xe8\xb5\xda" , "\x56\x4d\xc9\xc9" } , { "\xba\xe8\xb5\xda\xa2" , "\x56\x4d\xc9\xc9\xc6" } , { "\xba\xe8\xb5\xe1" , "\x56\x4d\xc9\xe4" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x56\x4f\xc9\xc9" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x56\x4f\xc9\xe4" } , { "\xba\xe8\xb6" , "\x56\x50\xc9" } , { "\xba\xe8\xb6\xda" , "\x56\x50\xc9\xc9" } , { "\xba\xe8\xb8\xda" , "\x56\x53\xc9\xc9" } , { "\xba\xe8\xb8\xdd" , "\x56\x53\xc9\xd6" } , { "\xba\xe8\xb8\xe1" , "\x56\x53\xc9\xe4" } , { "\xba\xe8\xba" , "\x56\x56\xc9" } , { "\xba\xe8\xba\xa2" , "\x56\x56\xc9\xc6" } , { "\xba\xe8\xba\xda" , "\x56\x56\xc9\xc9" } , { "\xba\xe8\xba\xdb" , "\xce\x56\x56\xc9" } , { "\xba\xe8\xba\xdc" , "\x56\x56\xc9\xd2" } , { "\xba\xe8\xba\xdd" , "\x56\x56\xc9\xd6" } , { "\xba\xe8\xba\xde" , "\x56\x56\xc9\xda" } , { "\xba\xe8\xba\xdf\xa2" , "\x56\x56\xc9\xde\xc6" } , { "\xba\xe8\xba\xe0" , "\x56\x56\xc9\xe0" } , { "\xba\xe8\xba\xe1" , "\x56\x56\xc9\xe4" } , { "\xba\xe8\xba\xe2" , "\x56\x56\xc9\xe8" } , { "\xba\xe8\xba\xe5" , "\x56\x56\xc9\xc9\xe4" } , { "\xba\xe8\xba\xe5\xa2" , "\x56\x56\xc9\xc9\xe5" } , { "\xba\xe8\xba\xe8" , "\x56\x56\xc9\xc2" } , { "\xba\xe8\xba\xe8\xcd" , "\x56\x56\xaa\xc9" } , { "\xba\xe8\xba\xe8\xd4" , "\x56\x56\xb4\xc9" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x56\x56\xb4\xc9\xe4" } , { "\xba\xe8\xba\xe9" , "\x56\x57\xc9" } , { "\xba\xe8\xba\xe9\xdb" , "\xce\x56\x57\xc9" } , { "\xba\xe8\xbb" , "\x56\x5a\xc9" } , { "\xba\xe8\xbb\xda" , "\x56\x5a\xc9\xc9" } , { "\xba\xe8\xbb\xdb" , "\xce\x56\x5a\xc9" } , { "\xba\xe8\xbb\xdc" , "\x56\x5a\xc9\xd2" } , { "\xba\xe8\xbb\xdd" , "\x56\x5a\xc9\xd6" } , { "\xba\xe8\xbb\xde" , "\x56\x5a\xc9\xda" } , { "\xba\xe8\xbb\xe1" , "\x56\x5a\xc9\xe4" } , { "\xba\xe8\xbb\xe8\xd4" , "\x56\x5a\xb4\xc9" } , { "\xba\xe8\xbc" , "\x59\xc9" } , { "\xba\xe8\xbc\xa2" , "\x59\xc9\xc6" } , { "\xba\xe8\xbc\xa3" , "\x59\xc9\x26" } , { "\xba\xe8\xbc\xda" , "\x59\xc9\xc9" } , { "\xba\xe8\xbc\xda\xa2" , "\x59\xc9\xc9\xc6" } , { "\xba\xe8\xbc\xdb" , "\xca\x59\xc9" } , { "\xba\xe8\xbc\xdc" , "\x59\xc9\xd2" } , { "\xba\xe8\xbc\xdd" , "\x59\xc9\xd6" } , { "\xba\xe8\xbc\xe0" , "\x59\xc9\xe0" } , { "\xba\xe8\xbc\xe1" , "\x59\xc9\xe4" } , { "\xba\xe8\xbc\xe2\xa3" , "\x59\xc9\xe8\x26" } , { "\xba\xe8\xbc\xe5" , "\x59\xc9\xc9\xe4" } , { "\xba\xe8\xbc\xe5\xa2" , "\x59\xc9\xc9\xe5" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x59\x78\xc9\xc9" } , { "\xba\xe8\xbc\xe8\xcc" , "\x59\xa8\xc9" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x59\xa8\xc9\xc9" } , { "\xba\xe8\xbc\xe8\xcd" , "\x59\xaa\xc9" } , { "\xba\xe8\xbd\xda" , "\x56\x5d\xf5\xc9" } , { "\xba\xe8\xbd\xdd" , "\x56\x5d\xd6\xf5" } , { "\xba\xe8\xbd\xe0" , "\x56\x5d\xe0\xf5" } , { "\xba\xe8\xbd\xe5" , "\x56\x5d\xf5\xc9\xe4" } , { "\xba\xe8\xbe" , "\x56\x60\xf6" } , { "\xba\xe8\xbe\xdd" , "\x56\x60\xd6\xf6" } , { "\xba\xe8\xbe\xe5" , "\x56\x60\xf6\xc9\xe4" } , { "\xba\xe8\xbf" , "\x56\x62\xf7" } , { "\xba\xe8\xbf\xda" , "\x56\x62\xf7\xc9" } , { "\xba\xe8\xbf\xdb" , "\xce\x56\x62\xf7" } , { "\xba\xe8\xbf\xdd" , "\x56\x62\xd6\xf7" } , { "\xba\xe8\xbf\xe1" , "\x56\x62\xe4\xf7" } , { "\xba\xe8\xbf\xe2" , "\x56\x62\xe8\xf7" } , { "\xba\xe8\xbf\xe8" , "\x56\x62\xc2\xf7" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x56\x62\xc2\xf7\x5c\xc9\xc9" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x56\x62\xc2\xf7\x78\xc9\xe4" } , { "\xba\xe8\xbf\xe9" , "\x56\x63\xf7" } , { "\xba\xe8\xc0" , "\x56\x66\xf8" } , { "\xba\xe8\xc0\xa2" , "\x56\x66\xc6\xf8" } , { "\xba\xe8\xc0\xda" , "\x56\x66\xf8\xc9" } , { "\xba\xe8\xc0\xdb" , "\xce\x56\x66\xf8" } , { "\xba\xe8\xc0\xdd" , "\x56\x66\xd6\xf8" } , { "\xba\xe8\xc0\xe1" , "\x56\x66\xe4\xf8" } , { "\xba\xe8\xc0\xe5" , "\x56\x66\xf8\xc9\xe4" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x56\x66\xc2\xf8\x5c\xc9\xc9" } , { "\xba\xe8\xc2" , "\x56\x69\xc9" } , { "\xba\xe8\xc2\xe5" , "\x56\x69\xc9\xc9\xe4" } , { "\xba\xe8\xc2\xe8\xcf" , "\x56\x6a\xc9" } , { "\xba\xe8\xc4" , "\x56\x6e\xf9" } , { "\xba\xe8\xc4\xda" , "\x56\x6e\xf9\xc9" } , { "\xba\xe8\xc4\xdb" , "\xce\x56\x6e\xf9" } , { "\xba\xe8\xc4\xde" , "\x56\x6e\xda\xf9" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x56\x70\xda\xf9" } , { "\xba\xe8\xc6" , "\x56\x78\xc9" } , { "\xba\xe8\xc6\xda" , "\x56\x78\xc9\xc9" } , { "\xba\xe8\xc6\xdb" , "\xce\x56\x78\xc9" } , { "\xba\xe8\xc6\xdc" , "\x56\x78\xc9\xd2" } , { "\xba\xe8\xc6\xdd" , "\x56\x78\xc9\xd6" } , { "\xba\xe8\xc6\xdd\xa2" , "\x56\x78\xc9\xd6\xc6" } , { "\xba\xe8\xc6\xde" , "\x56\x78\xc9\xda" } , { "\xba\xe8\xc6\xe1" , "\x56\x78\xc9\xe4" } , { "\xba\xe8\xc6\xe6" , "\x56\x78\xc9\xc9\xe8" } , { "\xba\xe8\xc8" , "\x56\x7b\xc9" } , { "\xba\xe8\xc8\xda" , "\x56\x7b\xc9\xc9" } , { "\xba\xe8\xc8\xdd" , "\x56\x7b\xc9\xd6" } , { "\xba\xe8\xc8\xde" , "\x56\x7b\xc9\xda" } , { "\xba\xe8\xc8\xe2" , "\x56\x7b\xc9\xe8" } , { "\xba\xe8\xc8\xe5" , "\x56\x7b\xc9\xc9\xe4" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x56\x7c\xc9\xe0" } , { "\xba\xe8\xc9\xe2" , "\x56\xa1\xe8\xf2" } , { "\xba\xe8\xc9\xe8\xc9" , "\x56\x7d\xa1\xf2" } , { "\xba\xe8\xca" , "\x56\xa4\xc9" } , { "\xba\xe8\xca\xda" , "\x56\xa4\xc9\xc9" } , { "\xba\xe8\xca\xe0" , "\x56\xa4\xc9\xe0" } , { "\xba\xe8\xca\xe0\xa2" , "\x56\xa4\xc9\xe1" } , { "\xba\xe8\xca\xe1" , "\x56\xa4\xc9\xe4" } , { "\xba\xe8\xca\xe2" , "\x56\xa4\xc9\xe8" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x56\xa4\x45\xc2\xf2" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x56\xa4\x4d\xc9\xc2" } , { "\xba\xe8\xcb\xde" , "\x56\xa6\xc9\xda" } , { "\xba\xe8\xcb\xe1" , "\x56\xa6\xc9\xe4" } , { "\xba\xe8\xcc" , "\x56\xa8\xc9" } , { "\xba\xe8\xcc\xa2" , "\x56\xa8\xc9\xc6" } , { "\xba\xe8\xcc\xda" , "\x56\xa8\xc9\xc9" } , { "\xba\xe8\xcc\xdb" , "\xce\x56\xa8\xc9" } , { "\xba\xe8\xcc\xdc" , "\x56\xa8\xc9\xd2" } , { "\xba\xe8\xcc\xdd" , "\x56\xa8\xc9\xd6" } , { "\xba\xe8\xcc\xde" , "\x56\xa8\xc9\xda" } , { "\xba\xe8\xcc\xe0" , "\x56\xa8\xc9\xe0" } , { "\xba\xe8\xcc\xe0\xa2" , "\x56\xa8\xc9\xe1" } , { "\xba\xe8\xcc\xe1" , "\x56\xa8\xc9\xe4" } , { "\xba\xe8\xcc\xe1\xa2" , "\x56\xa8\xc9\xe5" } , { "\xba\xe8\xcc\xe5" , "\x56\xa8\xc9\xc9\xe4" } , { "\xba\xe8\xcd" , "\x56\xaa\xc9" } , { "\xba\xe8\xcd\xa2" , "\x56\xaa\xc9\xc6" } , { "\xba\xe8\xcd\xda" , "\x56\xaa\xc9\xc9" } , { "\xba\xe8\xcd\xda\xa1" , "\x56\xaa\xc9\xc9\xc4" } , { "\xba\xe8\xcd\xda\xa2" , "\x56\xaa\xc9\xc9\xc6" } , { "\xba\xe8\xcd\xdb" , "\xce\x56\xaa\xc9" } , { "\xba\xe8\xcd\xdc" , "\x56\xaa\xc9\xd2" } , { "\xba\xe8\xcd\xdd" , "\x56\xaa\xc9\xd6" } , { "\xba\xe8\xcd\xdd\xa2" , "\x56\xaa\xc9\xd6\xc6" } , { "\xba\xe8\xcd\xde" , "\x56\xaa\xc9\xda" } , { "\xba\xe8\xcd\xde\xa1" , "\x56\xaa\xc9\xda\xc4" } , { "\xba\xe8\xcd\xde\xa2" , "\x56\xaa\xc9\xda\xc6" } , { "\xba\xe8\xcd\xe0" , "\x56\xaa\xc9\xe0" } , { "\xba\xe8\xcd\xe0\xa2" , "\x56\xaa\xc9\xe1" } , { "\xba\xe8\xcd\xe1" , "\x56\xaa\xc9\xe4" } , { "\xba\xe8\xcd\xe4" , "\x56\xaa\xc9\xc9\xe0" } , { "\xba\xe8\xcd\xe5" , "\x56\xaa\xc9\xc9\xe4" } , { "\xba\xe8\xcd\xe5\xa2" , "\x56\xaa\xc9\xc9\xe5" } , { "\xba\xe8\xcd\xe6" , "\x56\xaa\xc9\xc9\xe8" } , { "\xba\xe8\xcd\xe8\xcf" , "\x56\xab\xc9" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x56\xab\xc9\xc6" } , { "\xba\xe8\xcf" , "\x58\xc9" } , { "\xba\xe8\xcf\xa2" , "\x58\xc9\xc6" } , { "\xba\xe8\xcf\xda" , "\x58\xc9\xc9" } , { "\xba\xe8\xcf\xda\xa2" , "\x58\xc9\xc9\xc6" } , { "\xba\xe8\xcf\xdb" , "\xca\x58\xc9" } , { "\xba\xe8\xcf\xdc" , "\x58\xc9\xd2" } , { "\xba\xe8\xcf\xe1" , "\x58\xc9\xe4" } , { "\xba\xe8\xcf\xe4" , "\x58\xc9\xc9\xe0" } , { "\xba\xe8\xcf\xe5" , "\x58\xc9\xc9\xe4" } , { "\xba\xe8\xd1" , "\x56\xb1\xc9" } , { "\xba\xe8\xd1\xda" , "\x56\xb1\xc9\xc9" } , { "\xba\xe8\xd1\xdb" , "\xce\x56\xb1\xc9" } , { "\xba\xe8\xd1\xdc" , "\x56\xb1\xc9\xd2" } , { "\xba\xe8\xd1\xdd" , "\x56\xb1\xc9\xd6" } , { "\xba\xe8\xd1\xe5" , "\x56\xb1\xc9\xc9\xe4" } , { "\xba\xe8\xd4" , "\x56\xb4\xc9" } , { "\xba\xe8\xd4\xa2" , "\x56\xb4\xc9\xc6" } , { "\xba\xe8\xd4\xda" , "\x56\xb4\xc9\xc9" } , { "\xba\xe8\xd4\xdb" , "\xce\x56\xb4\xc9" } , { "\xba\xe8\xd4\xdc" , "\x56\xb4\xc9\xd2" } , { "\xba\xe8\xd4\xdd" , "\x56\xb4\xc9\xd6" } , { "\xba\xe8\xd4\xdf" , "\x56\xb4\xc9\xde" } , { "\xba\xe8\xd4\xe0" , "\x56\xb4\xc9\xe0" } , { "\xba\xe8\xd4\xe1" , "\x56\xb4\xc9\xe4" } , { "\xba\xe8\xd4\xe7" , "\x56\xb4\xc9\xc9\xec" } , { "\xba\xe8\xd4\xe8\xba" , "\x56\xb4\x56\xc9" } , { "\xba\xe8\xd5\xda" , "\x56\xb6\xc9\xc9" } , { "\xba\xe8\xd6\xda" , "\x56\xb9\xc9\xc9" } , { "\xba\xe8\xd7" , "\x56\xba\xc9" } , { "\xba\xe8\xd7\xdb\xa2" , "\xcf\x56\xba\xc9" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\xce\x56\xba\x45\xf2" } , { "\xba\xe8\xd9\xba" , "\x56\x56\xc9" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x56\xaa\xc9\xc7" } , { "\xba\xe8\xe8" , "\x56\xc9\xc2" } , { "\xba\xe8\xe9\xbc" , "\x56\x5c\xc9" } , { "\xba\xe8\xe9\xcf" , "\x56\xae\xfa" } , { "\xba\xe9" , "\x57\xc9" } , { "\xba\xe9\xa2" , "\x57\xc9\xc6" } , { "\xba\xe9\xbf\xe9" , "\x57\xc9\x63\xf7" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x57\xc9\x63\xf7\xc9\xe5" } , { "\xba\xe9\xc7" , "\x57\xc9\x78\xc9\xc3" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x57\xc9\xa8\xa4\xc9\xd6" } , { "\xba\xe9\xd4\xda" , "\x57\xc9\xb4\xc9\xc9" } , { "\xba\xe9\xda" , "\x57\xc9\xc9" } , { "\xba\xe9\xdb" , "\xca\x57\xc9" } , { "\xba\xe9\xdb\xa2" , "\xcb\x57\xc9" } , { "\xba\xe9\xdc" , "\x57\xc9\xd2" } , { "\xba\xe9\xdd" , "\x57\xc9\xd6" } , { "\xba\xe9\xde" , "\x57\xc9\xda" } , { "\xba\xe9\xe1" , "\x57\xc9\xe4" } , { "\xba\xe9\xe1\xa2" , "\x57\xc9\xe5" } , { "\xba\xe9\xe2" , "\x57\xc9\xe8" } , { "\xba\xe9\xe5" , "\x57\xc9\xc9\xe4" } , { "\xba\xe9\xe5\xa2" , "\x57\xc9\xc9\xe5" } , { "\xba\xe9\xe8\xba" , "\x57\x56\xc9" } , { "\xba\xe9\xe8\xba\xe9" , "\x57\x57\xc9" } , { "\xba\xe9\xe8\xca\xda" , "\x57\xa4\xc9\xc9" } , { "\xba\xe9\xe8\xcc" , "\x57\xa8\xc9" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\x57\xa8\xc9\xc9\xe5" } , { "\xba\xe9\xe8\xcd\xda" , "\x57\xaa\xc9\xc9" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x57\xc9\xc3\xc2\xaa\xc9\xc9" } , { "\xbb" , "\x5a\xc9" } , { "\xbb\xa1" , "\x5a\xc9\xc4" } , { "\xbb\xa2" , "\x5a\xc9\xc6" } , { "\xbb\xa3" , "\x5a\xc9\x26" } , { "\xbb\xda" , "\x5a\xc9\xc9" } , { "\xbb\xda\xa1" , "\x5a\xc9\xc9\xc4" } , { "\xbb\xda\xa2" , "\x5a\xc9\xc9\xc6" } , { "\xbb\xdb" , "\xca\x5a\xc9" } , { "\xbb\xdb\xa2" , "\xcb\x5a\xc9" } , { "\xbb\xdc" , "\x5a\xc9\xd2" } , { "\xbb\xdc\xa2" , "\x5a\xc9\xd3" } , { "\xbb\xdd" , "\x5a\xc9\xd6" } , { "\xbb\xdd\xa1" , "\x5a\xc9\xd6\xc4" } , { "\xbb\xdd\xa2" , "\x5a\xc9\xd6\xc6" } , { "\xbb\xde" , "\x5a\xc9\xda" } , { "\xbb\xde\xa1" , "\x5a\xc9\xda\xc4" } , { "\xbb\xde\xa2" , "\x5a\xc9\xda\xc6" } , { "\xbb\xdf" , "\x5a\xc9\xde" } , { "\xbb\xe0" , "\x5a\xc9\xe0" } , { "\xbb\xe0\xa2" , "\x5a\xc9\xe1" } , { "\xbb\xe1" , "\x5a\xc9\xe4" } , { "\xbb\xe1\xa2" , "\x5a\xc9\xe5" } , { "\xbb\xe2" , "\x5a\xc9\xe8" } , { "\xbb\xe4" , "\x5a\xc9\xc9\xe0" } , { "\xbb\xe5" , "\x5a\xc9\xc9\xe4" } , { "\xbb\xe5\xa2" , "\x5a\xc9\xc9\xe5" } , { "\xbb\xe6" , "\x5a\xc9\xc9\xe8" } , { "\xbb\xe6\xa2" , "\x5a\xc9\xc9\xe9" } , { "\xbb\xe7" , "\x5a\xc9\xc9\xec" } , { "\xbb\xe8" , "\x5a\xc9\xc2" } , { "\xbb\xe8\xb6\xdd" , "\x5a\x50\xc9\xd6" } , { "\xbb\xe8\xbb" , "\x5a\x5a\xc9" } , { "\xbb\xe8\xcd" , "\x5a\xaa\xc9" } , { "\xbb\xe8\xcf" , "\x5b\xc9" } , { "\xbb\xe8\xd4" , "\x5a\xb4\xc9" } , { "\xbb\xe8\xe8" , "\x5a\xc9\xc2" } , { "\xbb\xe8\xe9\xcf" , "\x5a\xae\xfa" } , { "\xbb\xe9" , "\x5a\xc9" } , { "\xbc" , "\x5c\xc9" } , { "\xbc\xa2" , "\x5c\xc9\xc6" } , { "\xbc\xa3" , "\x5c\xc9\x26" } , { "\xbc\xda" , "\x5c\xc9\xc9" } , { "\xbc\xdb" , "\xca\x5c\xc9" } , { "\xbc\xdc" , "\x5c\xc9\xd2" } , { "\xbc\xdd" , "\x5c\xc9\xd6" } , { "\xbc\xde" , "\x5c\xc9\xda" } , { "\xbc\xdf" , "\x5c\xc9\xde" } , { "\xbc\xe0" , "\x5c\xc9\xe0" } , { "\xbc\xe1" , "\x5c\xc9\xe4" } , { "\xbc\xe2" , "\x5c\xc9\xe8" } , { "\xbc\xe3" , "\x5c\xc9\xec" } , { "\xbc\xe4" , "\x5c\xc9\xc9\xe0" } , { "\xbc\xe5" , "\x5c\xc9\xc9\xe4" } , { "\xbc\xe5\xa2" , "\x5c\xc9\xc9\xe5" } , { "\xbc\xe6" , "\x5c\xc9\xc9\xe8" } , { "\xbc\xe8" , "\x5c\xc9\xc2" } , { "\xbc\xe8\xb8" , "\x5c\x53\xc9" } , { "\xbc\xe8\xb8\xda" , "\x5c\x53\xc9\xc9" } , { "\xbc\xe8\xb8\xdb" , "\xce\x5c\x53\xc9" } , { "\xbc\xe8\xb8\xdc" , "\x5c\x53\xc9\xd2" } , { "\xbc\xe8\xb8\xe0" , "\x5c\x53\xc9\xe0" } , { "\xbc\xe8\xb8\xe1" , "\x5c\x53\xc9\xe4" } , { "\xbc\xe8\xb8\xe4" , "\x5c\x53\xc9\xc9\xe0" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x5c\x53\xaa\xc9\xc9\xc6" } , { "\xbc\xe8\xba" , "\x5c\x56\xc9" } , { "\xbc\xe8\xba\xda" , "\x5c\x56\xc9\xc9" } , { "\xbc\xe8\xba\xdb" , "\xce\x5c\x56\xc9" } , { "\xbc\xe8\xba\xdc" , "\x5c\x56\xc9\xd2" } , { "\xbc\xe8\xba\xdd" , "\x5c\x56\xc9\xd6" } , { "\xbc\xe8\xba\xe5\xa2" , "\x5c\x56\xc9\xc9\xe5" } , { "\xbc\xe8\xbc" , "\x5c\x5c\xc9" } , { "\xbc\xe8\xbc\xda" , "\x5c\x5c\xc9\xc9" } , { "\xbc\xe8\xc1" , "\x5c\x68\xc9" } , { "\xbc\xe8\xcd\xa2" , "\x5c\xaa\xc9\xc6" } , { "\xbc\xe8\xcd\xe5" , "\x5c\xaa\xc9\xc9\xe4" } , { "\xbc\xe8\xd4" , "\x5c\xb4\xc9" } , { "\xbc\xe9" , "\x5c\xc9" } , { "\xbd" , "\x5d\xf5" } , { "\xbd\xa1" , "\x5d\xc4\xf5" } , { "\xbd\xa2" , "\x5d\xc6\xf5" } , { "\xbd\xa2\xa2" , "\x5d\xc6\xf5\xc6" } , { "\xbd\xa3" , "\x5d\xf5\x26" } , { "\xbd\xd9" , "\x5d\xf5" } , { "\xbd\xda" , "\x5d\xf5\xc9" } , { "\xbd\xda\xa1" , "\x5d\xf5\xc9\xc4" } , { "\xbd\xda\xa2" , "\x5d\xf5\xc9\xc6" } , { "\xbd\xda\xa3" , "\x5d\xf5\xc9\x26" } , { "\xbd\xdb" , "\xca\x5d\xf5" } , { "\xbd\xdb\xa2" , "\xcb\x5d\xf5" } , { "\xbd\xdc" , "\x5d\xf5\xd2" } , { "\xbd\xdc\xa2" , "\x5d\xf5\xd3" } , { "\xbd\xdd" , "\x5d\xd6\xf5" } , { "\xbd\xdd\xa2" , "\x5d\xd6\xc6\xf5" } , { "\xbd\xde" , "\x5d\xda\xf5" } , { "\xbd\xde\xa1" , "\x5d\xda\xc4\xf5" } , { "\xbd\xde\xa2" , "\x5d\xda\xc6\xf5" } , { "\xbd\xdf" , "\x5d\xde\xf5" } , { "\xbd\xe0" , "\x5d\xe0\xf5" } , { "\xbd\xe0\xa2" , "\x5d\xe1\xf5" } , { "\xbd\xe1" , "\x5d\xe4\xf5" } , { "\xbd\xe1\xa2" , "\x5d\xe5\xf5" } , { "\xbd\xe2" , "\x5d\xe8\xf5" } , { "\xbd\xe2\xa2" , "\x5d\xe9\xf5" } , { "\xbd\xe3" , "\x5d\xec\xf5" } , { "\xbd\xe4" , "\x5d\xf5\xc9\xe0" } , { "\xbd\xe4\xa2" , "\x5d\xf5\xc9\xe1" } , { "\xbd\xe5" , "\x5d\xf5\xc9\xe4" } , { "\xbd\xe5\xa2" , "\x5d\xf5\xc9\xe5" } , { "\xbd\xe6" , "\x5d\xf5\xc9\xe8" } , { "\xbd\xe6\xa2" , "\x5d\xf5\xc9\xe9" } , { "\xbd\xe7" , "\x5d\xf5\xc9\xec" } , { "\xbd\xe8" , "\x5d\xc2\xf5" } , { "\xbd\xe8\xa6" , "\x5d\xc2\xf5\x3c" } , { "\xbd\xe8\xb3" , "\x5d\xc2\xf5\x45\xf2" } , { "\xbd\xe8\xb3\xa2" , "\x5d\xc2\xf5\x45\xc6\xf2" } , { "\xbd\xe8\xb3\xda" , "\x5d\xc2\xf5\x45\xf2\xc9" } , { "\xbd\xe8\xb3\xda\xa2" , "\x5d\xc2\xf5\x45\xf2\xc9\xc6" } , { "\xbd\xe8\xb3\xdb" , "\xce\x5d\xc2\xf5\x45\xf2" } , { "\xbd\xe8\xb3\xdb\xa2" , "\xcf\x5d\xc2\xf5\x45\xf2" } , { "\xbd\xe8\xb3\xdc" , "\x5d\xc2\xf5\x45\xf2\xd2" } , { "\xbd\xe8\xb3\xdd" , "\x5d\xc2\xf5\x45\xd6\xf2" } , { "\xbd\xe8\xb3\xde" , "\x5d\xc2\xf5\x45\xda\xf2" } , { "\xbd\xe8\xb3\xe0" , "\x5d\xc2\xf5\x45\xe0\xf2" } , { "\xbd\xe8\xb3\xe1" , "\x5d\xc2\xf5\x45\xe4\xf2" } , { "\xbd\xe8\xb3\xe2" , "\x5d\xc2\xf5\x45\xe8\xf2" } , { "\xbd\xe8\xb3\xe5" , "\x5d\xc2\xf5\x45\xf2\xc9\xe4" } , { "\xbd\xe8\xb3\xe8\xd1" , "\x5d\xc2\xf5\x43\xb1\xc9" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\x5d\xc2\xf5\x43\xb1\xc9\xd2" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\x5d\xc2\xf5\x43\xba\xc9\xc2" } , { "\xbd\xe8\xb5" , "\x5d\xc2\xf5\x4d\xc9" } , { "\xbd\xe8\xb5\xda" , "\x5d\xc2\xf5\x4d\xc9\xc9" } , { "\xbd\xe8\xb5\xe0" , "\x5d\xc2\xf5\x4d\xc9\xe0" } , { "\xbd\xe8\xb5\xe1" , "\x5d\xc2\xf5\x4d\xc9\xe4" } , { "\xbd\xe8\xb5\xe2" , "\x5d\xc2\xf5\x4d\xc9\xe8" } , { "\xbd\xe8\xb5\xe5" , "\x5d\xc2\xf5\x4d\xc9\xc9\xe4" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\x5d\xc2\xf5\x4f\xc9\xc6" } , { "\xbd\xe8\xb7\xe8" , "\x5d\xc2\xf5\x52\xc2\xf3" } , { "\xbd\xe8\xb8" , "\x5d\xc2\xf5\x53\xc9" } , { "\xbd\xe8\xb8\xa2" , "\x5d\xc2\xf5\x53\xc9\xc6" } , { "\xbd\xe8\xb8\xda" , "\x5d\xc2\xf5\x53\xc9\xc9" } , { "\xbd\xe8\xb8\xdb" , "\xce\x5d\xc2\xf5\x53\xc9" } , { "\xbd\xe8\xb8\xdb\xa2" , "\xcf\x5d\xc2\xf5\x53\xc9" } , { "\xbd\xe8\xb8\xdd" , "\x5d\xc2\xf5\x53\xc9\xd6" } , { "\xbd\xe8\xb8\xe0" , "\x5d\xc2\xf5\x53\xc9\xe0" } , { "\xbd\xe8\xb8\xe1" , "\x5d\xc2\xf5\x53\xc9\xe4" } , { "\xbd\xe8\xb8\xe8" , "\x5d\xc2\xf5\x53\xc9\xc2" } , { "\xbd\xe8\xb9\xa2" , "\x5d\xc2\xf5\x55\xc6\xf4" } , { "\xbd\xe8\xba" , "\x5d\xc2\xf5\x56\xc9" } , { "\xbd\xe8\xba\xa2" , "\x5d\xc2\xf5\x56\xc9\xc6" } , { "\xbd\xe8\xba\xdc" , "\x5d\xc2\xf5\x56\xc9\xd2" } , { "\xbd\xe8\xba\xe0" , "\x5d\xc2\xf5\x56\xc9\xe0" } , { "\xbd\xe8\xba\xe1" , "\x5d\xc2\xf5\x56\xc9\xe4" } , { "\xbd\xe8\xba\xe8" , "\x5d\xc2\xf5\x56\xc9\xc2" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x5d\xc2\xf5\x56\x4d\xc9\xe0" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\x5d\xc2\xf5\x56\x78\xc9\xd6\xc6" } , { "\xbd\xe8\xbd" , "\x5e\xf5" } , { "\xbd\xe8\xbd\xa2" , "\x5e\xc6\xf5" } , { "\xbd\xe8\xbd\xa3" , "\x5e\xf5\x26" } , { "\xbd\xe8\xbd\xda" , "\x5e\xf5\xc9" } , { "\xbd\xe8\xbd\xda\xa2" , "\x5e\xf5\xc9\xc6" } , { "\xbd\xe8\xbd\xda\xa3" , "\x5e\xf5\xc9\x26" } , { "\xbd\xe8\xbd\xdb" , "\xce\x5e\xf5" } , { "\xbd\xe8\xbd\xdb\xa2" , "\xcf\x5e\xf5" } , { "\xbd\xe8\xbd\xdc" , "\x5e\xf5\xd2" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x5e\xf5\xd3" } , { "\xbd\xe8\xbd\xdd" , "\x5e\xd6\xf5" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x5e\xd6\xc6\xf5" } , { "\xbd\xe8\xbd\xde" , "\x5e\xda\xf5" } , { "\xbd\xe8\xbd\xe0" , "\x5e\xe0\xf5" } , { "\xbd\xe8\xbd\xe0\xa2" , "\x5e\xe1\xf5" } , { "\xbd\xe8\xbd\xe1" , "\x5e\xe4\xf5" } , { "\xbd\xe8\xbd\xe1\xa2" , "\x5e\xe5\xf5" } , { "\xbd\xe8\xbd\xe2" , "\x5e\xe8\xf5" } , { "\xbd\xe8\xbd\xe2\xa2" , "\x5e\xe9\xf5" } , { "\xbd\xe8\xbd\xe4" , "\x5e\xf5\xc9\xe0" } , { "\xbd\xe8\xbd\xe5" , "\x5e\xf5\xc9\xe4" } , { "\xbd\xe8\xbd\xe5\xa2" , "\x5e\xf5\xc9\xe5" } , { "\xbd\xe8\xbd\xe6" , "\x5e\xf5\xc9\xe8" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x5e\xc2\xf5\x45\xd6\xf2" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x5e\xc2\xf5\x68\xc9" } , { "\xbd\xe8\xbd\xe8\xc6" , "\x5e\xc2\xf5\x78\xc9" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\x5e\xc2\xf5\x7b\xc9\xe0" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x5e\xc5\xf5\xc9" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x5e\xc5\xc2\xf5" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\x5e\xc2\xf5\xae\xc2\xfa\x78\xc9" } , { "\xbd\xe8\xbd\xe8\xd4" , "\x5e\xc2\xf5\xb4\xc9" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x5e\xc2\xf5\xba\xc9\xd6" } , { "\xbd\xe8\xbe" , "\x5d\xc2\xf5\x60\xf6" } , { "\xbd\xe8\xbe\xda" , "\x5d\xc2\xf5\x60\xf6\xc9" } , { "\xbd\xe8\xbe\xdb" , "\xce\x5d\xc2\xf5\x60\xf6" } , { "\xbd\xe8\xbe\xdc" , "\x5d\xc2\xf5\x60\xf6\xd2" } , { "\xbd\xe8\xbe\xdd" , "\x5d\xc2\xf5\x60\xd6\xf6" } , { "\xbd\xe8\xbe\xde" , "\x5d\xc2\xf5\x60\xda\xf6" } , { "\xbd\xe8\xbe\xe1" , "\x5d\xc2\xf5\x60\xe4\xf6" } , { "\xbd\xe8\xbe\xe5" , "\x5d\xc2\xf5\x60\xf6\xc9\xe4" } , { "\xbd\xe8\xbe\xe5\xa2" , "\x5d\xc2\xf5\x60\xf6\xc9\xe5" } , { "\xbd\xe8\xbf" , "\x5d\xc2\xf5\x62\xf7" } , { "\xbd\xe8\xbf\xdb" , "\xce\x5d\xc2\xf5\x62\xf7" } , { "\xbd\xe8\xbf\xdd" , "\x5d\xc2\xf5\x62\xd6\xf7" } , { "\xbd\xe8\xbf\xe1" , "\x5d\xc2\xf5\x62\xe4\xf7" } , { "\xbd\xe8\xbf\xe5" , "\x5d\xc2\xf5\x62\xf7\xc9\xe4" } , { "\xbd\xe8\xbf\xe6" , "\x5d\xc2\xf5\x62\xf7\xc9\xe8" } , { "\xbd\xe8\xbf\xe8" , "\x5d\xc2\xf5\x62\xc2\xf7" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\x5d\xc2\xf5\x62\xc5\xf7\xc9" } , { "\xbd\xe8\xc0\xdc" , "\x5d\xc2\xf5\x66\xf8\xd2" } , { "\xbd\xe8\xc1\xa2" , "\x5d\xc2\xf5\x68\xc9\xc6" } , { "\xbd\xe8\xc2" , "\x5d\xc2\xf5\x69\xc9" } , { "\xbd\xe8\xc2\xda" , "\x5d\xc2\xf5\x69\xc9\xc9" } , { "\xbd\xe8\xc2\xdb\xa2" , "\xcf\x5d\xc2\xf5\x69\xc9" } , { "\xbd\xe8\xc2\xdc" , "\x5d\xc2\xf5\x69\xc9\xd2" } , { "\xbd\xe8\xc2\xdd" , "\x5d\xc2\xf5\x69\xc9\xd6" } , { "\xbd\xe8\xc2\xdd\xa2" , "\x5d\xc2\xf5\x69\xc9\xd6\xc6" } , { "\xbd\xe8\xc2\xde" , "\x5d\xc2\xf5\x69\xc9\xda" } , { "\xbd\xe8\xc2\xe0" , "\x5d\xc2\xf5\x69\xc9\xe0" } , { "\xbd\xe8\xc2\xe1" , "\x5d\xc2\xf5\x69\xc9\xe4" } , { "\xbd\xe8\xc2\xe4" , "\x5d\xc2\xf5\x69\xc9\xc9\xe0" } , { "\xbd\xe8\xc2\xe5" , "\x5d\xc2\xf5\x69\xc9\xc9\xe4" } , { "\xbd\xe8\xc2\xe5\xa2" , "\x5d\xc2\xf5\x69\xc9\xc9\xe5" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\xcf\x5d\xc2\xf5\x6a\xc9" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\x5d\xc2\xf5\x6a\xc9\xe0" } , { "\xbd\xe8\xc4" , "\x5d\xc2\xf5\x6e\xf9" } , { "\xbd\xe8\xc4\xda" , "\x5d\xc2\xf5\x6e\xf9\xc9" } , { "\xbd\xe8\xc4\xe0" , "\x5d\xc2\xf5\x6e\xe0\xf9" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x5d\xc2\xf5\x75\xf9\xc9" } , { "\xbd\xe8\xc5" , "\x5d\xc2\xf5\x76\xc9" } , { "\xbd\xe8\xc6" , "\x5d\xc2\xf5\x78\xc9" } , { "\xbd\xe8\xc6\xa2" , "\x5d\xc2\xf5\x78\xc9\xc6" } , { "\xbd\xe8\xc6\xda" , "\x5d\xc2\xf5\x78\xc9\xc9" } , { "\xbd\xe8\xc6\xdb" , "\xce\x5d\xc2\xf5\x78\xc9" } , { "\xbd\xe8\xc6\xdb\xa2" , "\xcf\x5d\xc2\xf5\x78\xc9" } , { "\xbd\xe8\xc6\xdc" , "\x5d\xc2\xf5\x78\xc9\xd2" } , { "\xbd\xe8\xc6\xdc\xa2" , "\x5d\xc2\xf5\x78\xc9\xd3" } , { "\xbd\xe8\xc6\xdd" , "\x5d\xc2\xf5\x78\xc9\xd6" } , { "\xbd\xe8\xc6\xdd\xa2" , "\x5d\xc2\xf5\x78\xc9\xd6\xc6" } , { "\xbd\xe8\xc6\xde" , "\x5d\xc2\xf5\x78\xc9\xda" } , { "\xbd\xe8\xc6\xe0" , "\x5d\xc2\xf5\x78\xc9\xe0" } , { "\xbd\xe8\xc6\xe1" , "\x5d\xc2\xf5\x78\xc9\xe4" } , { "\xbd\xe8\xc6\xe1\xa2" , "\x5d\xc2\xf5\x78\xc9\xe5" } , { "\xbd\xe8\xc6\xe5" , "\x5d\xc2\xf5\x78\xc9\xc9\xe4" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x5d\xc2\xf5\x78\xaa\xc9\xda" } , { "\xbd\xe8\xc8" , "\x5d\xc2\xf5\x7b\xc9" } , { "\xbd\xe8\xc8\xda" , "\x5d\xc2\xf5\x7b\xc9\xc9" } , { "\xbd\xe8\xc8\xdb" , "\xce\x5d\xc2\xf5\x7b\xc9" } , { "\xbd\xe8\xc8\xdd" , "\x5d\xc2\xf5\x7b\xc9\xd6" } , { "\xbd\xe8\xc8\xde" , "\x5d\xc2\xf5\x7b\xc9\xda" } , { "\xbd\xe8\xc8\xe1" , "\x5d\xc2\xf5\x7b\xc9\xe4" } , { "\xbd\xe8\xc8\xe2" , "\x5d\xc2\xf5\x7b\xc9\xe8" } , { "\xbd\xe8\xc8\xe8\xcf" , "\x5d\xc2\xf5\x7c\xc9" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\x5d\xc2\xf5\x7c\xc9\xc9" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\x5d\xc2\xf5\x7b\xb1\xc9\xe4" } , { "\xbd\xe8\xc9" , "\x5d\xc2\xf5\xa1\xf2" } , { "\xbd\xe8\xc9\xa2" , "\x5d\xc2\xf5\xa1\xc6\xf2" } , { "\xbd\xe8\xc9\xda" , "\x5d\xc2\xf5\xa1\xf2\xc9" } , { "\xbd\xe8\xc9\xda\xa2" , "\x5d\xc2\xf5\xa1\xf2\xc9\xc6" } , { "\xbd\xe8\xc9\xdb" , "\xce\x5d\xc2\xf5\xa1\xf2" } , { "\xbd\xe8\xc9\xdc" , "\x5d\xc2\xf5\xa1\xf2\xd2" } , { "\xbd\xe8\xc9\xdd" , "\x5d\xc2\xf5\xa1\xd6\xf2" } , { "\xbd\xe8\xc9\xe2" , "\x5d\xc2\xf5\xa1\xe8\xf2" } , { "\xbd\xe8\xc9\xe5" , "\x5d\xc2\xf5\xa1\xf2\xc9\xe4" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x5d\xc2\xf5\x7d\xaa\xc9\xc9" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x5d\xc2\xf5\xa3\xe8\xf2" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\x5d\xc2\xf5\x7d\xb1\xc9\xe8" } , { "\xbd\xe8\xca" , "\x5d\xc2\xf5\xa4\xc9" } , { "\xbd\xe8\xca\xda" , "\x5d\xc2\xf5\xa4\xc9\xc9" } , { "\xbd\xe8\xca\xda\xa2" , "\x5d\xc2\xf5\xa4\xc9\xc9\xc6" } , { "\xbd\xe8\xca\xdd" , "\x5d\xc2\xf5\xa4\xc9\xd6" } , { "\xbd\xe8\xca\xe0" , "\x5d\xc2\xf5\xa4\xc9\xe0" } , { "\xbd\xe8\xca\xe5" , "\x5d\xc2\xf5\xa4\xc9\xc9\xe4" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x5d\xc2\xf5\xa4\xaa\xc9\xc9" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x5d\xc2\xf5\xa4\xaa\xc9\xc9\xc6" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\x5d\xc2\xf5\xa4\xb1\xc9\xc9" } , { "\xbd\xe8\xcb\xdd" , "\x5d\xc2\xf5\xa6\xc9\xd6" } , { "\xbd\xe8\xcb\xde" , "\x5d\xc2\xf5\xa6\xc9\xda" } , { "\xbd\xe8\xcb\xe8\xcf" , "\x5d\xc2\xf5\xa7\xc9" } , { "\xbd\xe8\xcc" , "\x5d\xc2\xf5\xa8\xc9" } , { "\xbd\xe8\xcc\xa2" , "\x5d\xc2\xf5\xa8\xc9\xc6" } , { "\xbd\xe8\xcc\xda" , "\x5d\xc2\xf5\xa8\xc9\xc9" } , { "\xbd\xe8\xcc\xdc" , "\x5d\xc2\xf5\xa8\xc9\xd2" } , { "\xbd\xe8\xcc\xe0" , "\x5d\xc2\xf5\xa8\xc9\xe0" } , { "\xbd\xe8\xcc\xe0\xa2" , "\x5d\xc2\xf5\xa8\xc9\xe1" } , { "\xbd\xe8\xcc\xe2" , "\x5d\xc2\xf5\xa8\xc9\xe8" } , { "\xbd\xe8\xcc\xe4" , "\x5d\xc2\xf5\xa8\xc9\xc9\xe0" } , { "\xbd\xe8\xcc\xe5" , "\x5d\xc2\xf5\xa8\xc9\xc9\xe4" } , { "\xbd\xe8\xcc\xe8\xca" , "\x5d\xc2\xf5\xa8\xa4\xc9" } , { "\xbd\xe8\xcd" , "\x5d\xf5\xac" } , { "\xbd\xe8\xcd\xa2" , "\x5d\xf5\xac\xc6" } , { "\xbd\xe8\xcd\xda" , "\x5d\xf5\xac\xc9" } , { "\xbd\xe8\xcd\xda\xa2" , "\x5d\xf5\xac\xc9\xc6" } , { "\xbd\xe8\xcd\xdc\xa2" , "\x5d\xf5\xac\xd3" } , { "\xbd\xe8\xcd\xdd" , "\x5d\xf5\xac\xd6" } , { "\xbd\xe8\xcd\xde" , "\x5d\xf5\xac\xda" } , { "\xbd\xe8\xcd\xde\xa2" , "\x5d\xf5\xac\xda\xc6" } , { "\xbd\xe8\xcd\xe1" , "\x5d\xf5\xac\xe4" } , { "\xbd\xe8\xcd\xe4" , "\x5d\xf5\xac\xc9\xe0" } , { "\xbd\xe8\xcd\xe5" , "\x5d\xf5\xac\xc9\xe4" } , { "\xbd\xe8\xcd\xe5\xa2" , "\x5d\xf5\xac\xc9\xe5" } , { "\xbd\xe8\xcf" , "\x5d\xc5\xf5" } , { "\xbd\xe8\xcf\xa2" , "\x5d\xc5\xc6\xf5" } , { "\xbd\xe8\xcf\xda" , "\x5d\xc5\xf5\xc9" } , { "\xbd\xe8\xcf\xda\xa1" , "\x5d\xc5\xf5\xc9\xc4" } , { "\xbd\xe8\xcf\xda\xa2" , "\x5d\xc5\xf5\xc9\xc6" } , { "\xbd\xe8\xcf\xdb" , "\xca\x5d\xc5\xf5" } , { "\xbd\xe8\xcf\xdb\xa2" , "\xcb\x5d\xc5\xf5" } , { "\xbd\xe8\xcf\xdc" , "\x5d\xc5\xf5\xd2" } , { "\xbd\xe8\xcf\xdd" , "\x5d\xd8\xf5" } , { "\xbd\xe8\xcf\xde" , "\x5d\xdc\xf5" } , { "\xbd\xe8\xcf\xe0" , "\x5d\xc5\xe0\xf5" } , { "\xbd\xe8\xcf\xe0\xa2" , "\x5d\xc5\xe1\xf5" } , { "\xbd\xe8\xcf\xe1" , "\x5d\xc5\xe4\xf5" } , { "\xbd\xe8\xcf\xe1\xa2" , "\x5d\xc5\xe5\xf5" } , { "\xbd\xe8\xcf\xe2" , "\x5d\xc5\xe8\xf5" } , { "\xbd\xe8\xcf\xe2\xa2" , "\x5d\xc5\xe9\xf5" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\x5d\xc5\xe8\xf5\x78\xc9\xc2" } , { "\xbd\xe8\xcf\xe4" , "\x5d\xc5\xf5\xc9\xe0" } , { "\xbd\xe8\xcf\xe5" , "\x5d\xc5\xf5\xc9\xe4" } , { "\xbd\xe8\xcf\xe6" , "\x5d\xc5\xf5\xc9\xe8" } , { "\xbd\xe8\xcf\xe7" , "\x5d\xc5\xf5\xc9\xec" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\xce\x5d\xc2\xf5\xae\xc2\xfa\x45\xf2" } , { "\xbd\xe8\xcf\xe8\xc6" , "\x5d\xc2\xf5\xae\xc2\xfa\x78\xc9" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x5d\xc2\xf5\xae\xc2\xfa\xba\xc9" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x5d\xc2\xf5\xae\xc2\xfa\xba\xc9\xc2" } , { "\xbd\xe8\xd1" , "\x5d\xc2\xf5\xb1\xc9" } , { "\xbd\xe8\xd1\xa2" , "\x5d\xc2\xf5\xb1\xc9\xc6" } , { "\xbd\xe8\xd1\xda" , "\x5d\xc2\xf5\xb1\xc9\xc9" } , { "\xbd\xe8\xd1\xda\xa2" , "\x5d\xc2\xf5\xb1\xc9\xc9\xc6" } , { "\xbd\xe8\xd1\xdb" , "\xce\x5d\xc2\xf5\xb1\xc9" } , { "\xbd\xe8\xd1\xdb\xa2" , "\xcf\x5d\xc2\xf5\xb1\xc9" } , { "\xbd\xe8\xd1\xdc" , "\x5d\xc2\xf5\xb1\xc9\xd2" } , { "\xbd\xe8\xd1\xdd" , "\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xbd\xe8\xd1\xdd\xa2" , "\x5d\xc2\xf5\xb1\xc9\xd6\xc6" } , { "\xbd\xe8\xd1\xde" , "\x5d\xc2\xf5\xb1\xc9\xda" } , { "\xbd\xe8\xd1\xe0" , "\x5d\xc2\xf5\xb1\xc9\xe0" } , { "\xbd\xe8\xd1\xe0\xa2" , "\x5d\xc2\xf5\xb1\xc9\xe1" } , { "\xbd\xe8\xd1\xe1" , "\x5d\xc2\xf5\xb1\xc9\xe4" } , { "\xbd\xe8\xd1\xe2" , "\x5d\xc2\xf5\xb1\xc9\xe8" } , { "\xbd\xe8\xd1\xe2\xa2" , "\x5d\xc2\xf5\xb1\xc9\xe9" } , { "\xbd\xe8\xd1\xe4" , "\x5d\xc2\xf5\xb1\xc9\xc9\xe0" } , { "\xbd\xe8\xd1\xe5" , "\x5d\xc2\xf5\xb1\xc9\xc9\xe4" } , { "\xbd\xe8\xd1\xe5\xa2" , "\x5d\xc2\xf5\xb1\xc9\xc9\xe5" } , { "\xbd\xe8\xd1\xe8" , "\x5d\xc2\xf5\xb1\xc9\xc2" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\x5d\xc2\xf5\xb1\x78\xc9\xd6" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x5d\xc2\xf5\xb1\xaa\xc9\xc9\xc6" } , { "\xbd\xe8\xd2\xdd" , "\x5d\xc2\xf5\xb3\xd6\xfd" } , { "\xbd\xe8\xd4" , "\x5d\xc2\xf5\xb4\xc9" } , { "\xbd\xe8\xd4\xa2" , "\x5d\xc2\xf5\xb4\xc9\xc6" } , { "\xbd\xe8\xd4\xda" , "\x5d\xc2\xf5\xb4\xc9\xc9" } , { "\xbd\xe8\xd4\xda\xa2" , "\x5d\xc2\xf5\xb4\xc9\xc9\xc6" } , { "\xbd\xe8\xd4\xdb" , "\xce\x5d\xc2\xf5\xb4\xc9" } , { "\xbd\xe8\xd4\xdb\xa2" , "\xcf\x5d\xc2\xf5\xb4\xc9" } , { "\xbd\xe8\xd4\xdc" , "\x5d\xc2\xf5\xb4\xc9\xd2" } , { "\xbd\xe8\xd4\xe0" , "\x5d\xc2\xf5\xb4\xc9\xe0" } , { "\xbd\xe8\xd4\xe1" , "\x5d\xc2\xf5\xb4\xc9\xe4" } , { "\xbd\xe8\xd4\xe2" , "\x5d\xc2\xf5\xb4\xc9\xe8" } , { "\xbd\xe8\xd5" , "\x5d\xc2\xf5\xb6\xc9" } , { "\xbd\xe8\xd5\xda" , "\x5d\xc2\xf5\xb6\xc9\xc9" } , { "\xbd\xe8\xd5\xdb" , "\xce\x5d\xc2\xf5\xb6\xc9" } , { "\xbd\xe8\xd6\xdb" , "\xce\x5d\xc2\xf5\xb9\xc9" } , { "\xbd\xe8\xd6\xdc" , "\x5d\xc2\xf5\xb9\xc9\xd2" } , { "\xbd\xe8\xd6\xdd" , "\x5d\xc2\xf5\xb9\xc9\xd6" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\xce\x5d\xc2\xf5\xb9\xb1\xc9" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\x5d\xc2\xf5\xb9\xb1\xc9\xd2" } , { "\xbd\xe8\xd7" , "\x5d\xc2\xf5\xba\xc9" } , { "\xbd\xe8\xd7\xda" , "\x5d\xc2\xf5\xba\xc9\xc9" } , { "\xbd\xe8\xd7\xdb" , "\xce\x5d\xc2\xf5\xba\xc9" } , { "\xbd\xe8\xd7\xdb\xa2" , "\xcf\x5d\xc2\xf5\xba\xc9" } , { "\xbd\xe8\xd7\xdd" , "\x5d\xc2\xf5\xba\xc9\xd6" } , { "\xbd\xe8\xd7\xde" , "\x5d\xc2\xf5\xba\xc9\xda" } , { "\xbd\xe8\xd7\xe0" , "\x5d\xc2\xf5\xba\xc9\xe0" } , { "\xbd\xe8\xd7\xe1" , "\x5d\xc2\xf5\xba\xc9\xe4" } , { "\xbd\xe8\xd7\xe2" , "\x5d\xc2\xf5\xba\xc9\xe8" } , { "\xbd\xe8\xd7\xe5" , "\x5d\xc2\xf5\xba\xc9\xc9\xe4" } , { "\xbd\xe8\xd7\xe8" , "\x5d\xc2\xf5\xba\xc9\xc2" } , { "\xbd\xe8\xd7\xe8\xb3" , "\x5d\xc2\xf5\xba\x45\xf2" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\xce\x5d\xc2\xf5\xba\x45\xf2" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\x5d\xc2\xf5\xba\x45\xf2\xd2" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\x5d\xc2\xf5\xba\x45\xd6\xf2" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x5d\xc2\xf5\xba\x4d\xc9\xc9" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\xce\x5d\xc2\xf5\xba\x53\xc9" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x5d\xc2\xf5\xba\x53\xc9\xe0" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x5d\xc2\xf5\xba\x5d\xf5" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x5d\xc2\xf5\xba\x5d\xf5\xc9" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x5d\xc2\xf5\xba\x5d\xe0\xf5" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x5d\xc2\xf5\xba\x5d\xe1\xf5" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\x5d\xc2\xf5\xba\x69\xc9\xc9\xe4" } , { "\xbd\xe8\xd7\xe8\xc3" , "\x5d\xc2\xf5\xba\x6c\xc9" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x5d\xc2\xf5\xba\x6e\xf9" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x5d\xc2\xf5\xba\x75\xf9\xc9" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\xce\x5d\xc2\xf5\xba\x78\xc9" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\x5d\xc2\xf5\xba\x78\xc9\xd6" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\x5d\xc2\xf5\xba\x78\xc9\xd6\xc6" } , { "\xbd\xe8\xd7\xe8\xca" , "\x5d\xc2\xf5\xba\xa4\xc9" } , { "\xbd\xe8\xd7\xe8\xcc" , "\x5d\xc2\xf5\xba\xa8\xc9" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\xce\x5d\xc2\xf5\xba\xa8\xc9" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\x5d\xc2\xf5\xba\xa8\xc9\xe4" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x5d\xc2\xf5\xba\xaa\xc9\xc6" } , { "\xbd\xe8\xd7\xe8\xd1" , "\x5d\xc2\xf5\xba\xb1\xc9" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\x5d\xc2\xf5\xba\xb1\xc9\xc9\xe4" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x5d\xc2\xf5\xba\xb4\xc9" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\xcf\x5d\xc2\xf5\xba\xb4\xc9" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x5d\xc2\xf5\xba\xb4\xc9\xc9\xe4" } , { "\xbd\xe8\xd8\xda" , "\x5d\xc2\xf5\xbd\xfe\xc9" } , { "\xbd\xe8\xd8\xdc" , "\x5d\xc2\xf5\xbd\xfe\xd2" } , { "\xbd\xe8\xd8\xde" , "\x5d\xc2\xf5\xbd\xda\xfe" } , { "\xbd\xe8\xd8\xe0" , "\x5d\xc2\xf5\xbd\xe0\xfe" } , { "\xbd\xe8\xd8\xe5" , "\x5d\xc2\xf5\xbd\xfe\xc9\xe4" } , { "\xbd\xe8\xd8\xe6" , "\x5d\xc2\xf5\xbd\xfe\xc9\xe8" } , { "\xbd\xe8\xd9\xa6" , "\x5d\xc2\xf5\x3c" } , { "\xbd\xe8\xd9\xbd" , "\x5d\xc2\xf5\x5d\xf5" } , { "\xbd\xe8\xd9\xbd\xda" , "\x5d\xc2\xf5\x5d\xf5\xc9" } , { "\xbd\xe8\xd9\xbd\xdc" , "\x5d\xc2\xf5\x5d\xf5\xd2" } , { "\xbd\xe8\xd9\xbd\xe5" , "\x5d\xc2\xf5\x5d\xf5\xc9\xe4" } , { "\xbd\xe8\xd9\xbe\xdc" , "\x5d\xc2\xf5\x60\xf6\xd2" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\x5d\xc2\xf5\xaa\xc9\xda\xc6" } , { "\xbd\xe8\xd9\xd7" , "\x5d\xc2\xf5\xba\xc9" } , { "\xbd\xe8\xe8" , "\x5d\xc2\xf5" } , { "\xbe" , "\x60\xf6" } , { "\xbe\xa2" , "\x60\xc6\xf6" } , { "\xbe\xa3" , "\x60\xf6\x26" } , { "\xbe\xda" , "\x60\xf6\xc9" } , { "\xbe\xda\xa1" , "\x60\xf6\xc9\xc4" } , { "\xbe\xda\xa2" , "\x60\xf6\xc9\xc6" } , { "\xbe\xdb" , "\xca\x60\xf6" } , { "\xbe\xdb\xa2" , "\xcb\x60\xf6" } , { "\xbe\xdc" , "\x60\xf6\xd2" } , { "\xbe\xdc\xa2" , "\x60\xf6\xd3" } , { "\xbe\xdd" , "\x60\xd6\xf6" } , { "\xbe\xdd\xa2" , "\x60\xd6\xc6\xf6" } , { "\xbe\xde" , "\x60\xda\xf6" } , { "\xbe\xde\xa1" , "\x60\xda\xc4\xf6" } , { "\xbe\xde\xa2" , "\x60\xda\xc6\xf6" } , { "\xbe\xdf" , "\x60\xde\xf6" } , { "\xbe\xe0" , "\x60\xe0\xf6" } , { "\xbe\xe1" , "\x60\xe4\xf6" } , { "\xbe\xe1\xa2" , "\x60\xe5\xf6" } , { "\xbe\xe2" , "\x60\xe8\xf6" } , { "\xbe\xe2\xa2" , "\x60\xe9\xf6" } , { "\xbe\xe3" , "\x60\xec\xf6" } , { "\xbe\xe4" , "\x60\xf6\xc9\xe0" } , { "\xbe\xe5" , "\x60\xf6\xc9\xe4" } , { "\xbe\xe5\xa2" , "\x60\xf6\xc9\xe5" } , { "\xbe\xe6" , "\x60\xf6\xc9\xe8" } , { "\xbe\xe8" , "\x60\xc2\xf6" } , { "\xbe\xe8\xb3" , "\x60\xc2\xf6\x45\xf2" } , { "\xbe\xe8\xb3\xdd" , "\x60\xc2\xf6\x45\xd6\xf2" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x60\xc2\xf6\x47\xf2" } , { "\xbe\xe8\xb5\xe5" , "\x60\xc2\xf6\x4d\xc9\xc9\xe4" } , { "\xbe\xe8\xb8" , "\x60\xc2\xf6\x53\xc9" } , { "\xbe\xe8\xbd" , "\x60\xc2\xf6\x5d\xf5" } , { "\xbe\xe8\xbd\xda" , "\x60\xc2\xf6\x5d\xf5\xc9" } , { "\xbe\xe8\xbd\xdb" , "\xce\x60\xc2\xf6\x5d\xf5" } , { "\xbe\xe8\xbd\xdc" , "\x60\xc2\xf6\x5d\xf5\xd2" } , { "\xbe\xe8\xbe" , "\x60\xc2\xf6\x60\xf6" } , { "\xbe\xe8\xbe\xda" , "\x60\xc2\xf6\x60\xf6\xc9" } , { "\xbe\xe8\xbe\xdb" , "\xce\x60\xc2\xf6\x60\xf6" } , { "\xbe\xe8\xbe\xdc" , "\x60\xc2\xf6\x60\xf6\xd2" } , { "\xbe\xe8\xbe\xe1" , "\x60\xc2\xf6\x60\xe4\xf6" } , { "\xbe\xe8\xbe\xe5" , "\x60\xc2\xf6\x60\xf6\xc9\xe4" } , { "\xbe\xe8\xc6" , "\x60\xc2\xf6\x78\xc9" } , { "\xbe\xe8\xc8\xda" , "\x60\xc2\xf6\x7b\xc9\xc9" } , { "\xbe\xe8\xcd" , "\x60\xf6\xac" } , { "\xbe\xe8\xcd\xa2" , "\x60\xf6\xac\xc6" } , { "\xbe\xe8\xcd\xda" , "\x60\xf6\xac\xc9" } , { "\xbe\xe8\xcd\xda\xa1" , "\x60\xf6\xac\xc9\xc4" } , { "\xbe\xe8\xcd\xda\xa2" , "\x60\xf6\xac\xc9\xc6" } , { "\xbe\xe8\xcd\xe1" , "\x60\xf6\xac\xe4" } , { "\xbe\xe8\xcd\xe5" , "\x60\xf6\xac\xc9\xe4" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x60\xf6\xac\xc9\xe5" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x60\xc2\xf6\xaa\xaa\xc9" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x60\xc2\xf6\xab\xc9" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x60\xc2\xf6\xaa\xb6\xc9\xc9" } , { "\xbe\xe8\xcf\xda" , "\x60\xc5\xf6\xc9" } , { "\xbe\xe8\xd1\xdd" , "\x60\xc2\xf6\xb1\xc9\xd6" } , { "\xbe\xe8\xd4\xda" , "\x60\xc2\xf6\xb4\xc9\xc9" } , { "\xbe\xe8\xd9\xcd" , "\x60\xc2\xf6\xaa\xc9" } , { "\xbe\xe8\xe8" , "\x60\xc2\xf6" } , { "\xbf" , "\x62\xf7" } , { "\xbf\xa1" , "\x62\xc4\xf7" } , { "\xbf\xa2" , "\x62\xc6\xf7" } , { "\xbf\xa2\xa2" , "\x62\xc6\xf7\xc6" } , { "\xbf\xa3" , "\x62\xf7\x26" } , { "\xbf\xda" , "\x62\xf7\xc9" } , { "\xbf\xda\xa1" , "\x62\xf7\xc9\xc4" } , { "\xbf\xda\xa2" , "\x62\xf7\xc9\xc6" } , { "\xbf\xda\xa3" , "\x62\xf7\xc9\x26" } , { "\xbf\xdb" , "\xca\x62\xf7" } , { "\xbf\xdb\xa2" , "\xcb\x62\xf7" } , { "\xbf\xdb\xa3" , "\xca\x62\xf7\x26" } , { "\xbf\xdc" , "\x62\xf7\xd2" } , { "\xbf\xdc\xa2" , "\x62\xf7\xd3" } , { "\xbf\xdd" , "\x62\xd6\xf7" } , { "\xbf\xdd\xa2" , "\x62\xd6\xc6\xf7" } , { "\xbf\xde" , "\x62\xda\xf7" } , { "\xbf\xde\xa1" , "\x62\xda\xc4\xf7" } , { "\xbf\xde\xa2" , "\x62\xda\xc6\xf7" } , { "\xbf\xdf" , "\x62\xde\xf7" } , { "\xbf\xe0" , "\x62\xe0\xf7" } , { "\xbf\xe0\xa1" , "\x62\xe1\xf7" } , { "\xbf\xe0\xa2" , "\x62\xe1\xf7" } , { "\xbf\xe1" , "\x62\xe4\xf7" } , { "\xbf\xe1\xa2" , "\x62\xe5\xf7" } , { "\xbf\xe2" , "\x62\xe8\xf7" } , { "\xbf\xe2\xa2" , "\x62\xe9\xf7" } , { "\xbf\xe2\xa3" , "\x62\xe8\xf7\x26" } , { "\xbf\xe4" , "\x62\xf7\xc9\xe0" } , { "\xbf\xe4\xa2" , "\x62\xf7\xc9\xe1" } , { "\xbf\xe5" , "\x62\xf7\xc9\xe4" } , { "\xbf\xe5\xa2" , "\x62\xf7\xc9\xe5" } , { "\xbf\xe6" , "\x62\xf7\xc9\xe8" } , { "\xbf\xe6\xa2" , "\x62\xf7\xc9\xe9" } , { "\xbf\xe7" , "\x62\xf7\xc9\xec" } , { "\xbf\xe7\xa2" , "\x62\xf7\xc9\xed" } , { "\xbf\xe8" , "\x62\xc2\xf7" } , { "\xbf\xe8\xb3" , "\x62\xc2\xf7\x45\xf2" } , { "\xbf\xe8\xb3\xa2" , "\x62\xc2\xf7\x45\xc6\xf2" } , { "\xbf\xe8\xb3\xda" , "\x62\xc2\xf7\x45\xf2\xc9" } , { "\xbf\xe8\xb3\xdb" , "\xce\x62\xc2\xf7\x45\xf2" } , { "\xbf\xe8\xb3\xdc" , "\x62\xc2\xf7\x45\xf2\xd2" } , { "\xbf\xe8\xb3\xdd" , "\x62\xc2\xf7\x45\xd6\xf2" } , { "\xbf\xe8\xb3\xde" , "\x62\xc2\xf7\x45\xda\xf2" } , { "\xbf\xe8\xb3\xe1" , "\x62\xc2\xf7\x45\xe4\xf2" } , { "\xbf\xe8\xb3\xe4" , "\x62\xc2\xf7\x45\xf2\xc9\xe0" } , { "\xbf\xe8\xb3\xe5" , "\x62\xc2\xf7\x45\xf2\xc9\xe4" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x62\xc2\xf7\x43\x4d\xc9\xc9" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\x62\xc2\xf7\x47\xf2\xc9" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\x62\xc2\xf7\x43\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x62\xc2\xf7\x43\xb4\xc9\xc9" } , { "\xbf\xe8\xb4" , "\x62\xc2\xf7\x4a\xc9" } , { "\xbf\xe8\xb5" , "\x62\xc2\xf7\x4d\xc9" } , { "\xbf\xe8\xb5\xa2" , "\x62\xc2\xf7\x4d\xc9\xc6" } , { "\xbf\xe8\xb5\xda" , "\x62\xc2\xf7\x4d\xc9\xc9" } , { "\xbf\xe8\xb5\xdb" , "\xce\x62\xc2\xf7\x4d\xc9" } , { "\xbf\xe8\xb5\xdd" , "\x62\xc2\xf7\x4d\xc9\xd6" } , { "\xbf\xe8\xb5\xde" , "\x62\xc2\xf7\x4d\xc9\xda" } , { "\xbf\xe8\xb5\xe0" , "\x62\xc2\xf7\x4d\xc9\xe0" } , { "\xbf\xe8\xb5\xe1" , "\x62\xc2\xf7\x4d\xc9\xe4" } , { "\xbf\xe8\xb5\xe5\xa2" , "\x62\xc2\xf7\x4d\xc9\xc9\xe5" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\x62\xc2\xf7\x4f\xc9\xc9" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\x62\xc2\xf7\x4d\xb1\xc9\xc9" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\x62\xc2\xf7\x4d\xb1\xc9\xe8" } , { "\xbf\xe8\xb6" , "\x62\xc2\xf7\x50\xc9" } , { "\xbf\xe8\xb8" , "\x62\xc2\xf7\x53\xc9" } , { "\xbf\xe8\xb8\xda" , "\x62\xc2\xf7\x53\xc9\xc9" } , { "\xbf\xe8\xb8\xda\xa2" , "\x62\xc2\xf7\x53\xc9\xc9\xc6" } , { "\xbf\xe8\xb8\xdb" , "\xce\x62\xc2\xf7\x53\xc9" } , { "\xbf\xe8\xb8\xdb\xa2" , "\xcf\x62\xc2\xf7\x53\xc9" } , { "\xbf\xe8\xb8\xdc" , "\x62\xc2\xf7\x53\xc9\xd2" } , { "\xbf\xe8\xb8\xdd" , "\x62\xc2\xf7\x53\xc9\xd6" } , { "\xbf\xe8\xb8\xe0" , "\x62\xc2\xf7\x53\xc9\xe0" } , { "\xbf\xe8\xb8\xe1" , "\x62\xc2\xf7\x53\xc9\xe4" } , { "\xbf\xe8\xb8\xe1\xa2" , "\x62\xc2\xf7\x53\xc9\xe5" } , { "\xbf\xe8\xb9\xda\xa2" , "\x62\xc2\xf7\x55\xf4\xc9\xc6" } , { "\xbf\xe8\xba" , "\x62\xc2\xf7\x56\xc9" } , { "\xbf\xe8\xba\xa2" , "\x62\xc2\xf7\x56\xc9\xc6" } , { "\xbf\xe8\xba\xda" , "\x62\xc2\xf7\x56\xc9\xc9" } , { "\xbf\xe8\xba\xdb" , "\xce\x62\xc2\xf7\x56\xc9" } , { "\xbf\xe8\xba\xdb\xa2" , "\xcf\x62\xc2\xf7\x56\xc9" } , { "\xbf\xe8\xba\xdc" , "\x62\xc2\xf7\x56\xc9\xd2" } , { "\xbf\xe8\xba\xdd" , "\x62\xc2\xf7\x56\xc9\xd6" } , { "\xbf\xe8\xba\xe0" , "\x62\xc2\xf7\x56\xc9\xe0" } , { "\xbf\xe8\xba\xe1" , "\x62\xc2\xf7\x56\xc9\xe4" } , { "\xbf\xe8\xba\xe2" , "\x62\xc2\xf7\x56\xc9\xe8" } , { "\xbf\xe8\xba\xe5" , "\x62\xc2\xf7\x56\xc9\xc9\xe4" } , { "\xbf\xe8\xba\xe8" , "\x62\xc2\xf7\x56\xc9\xc2" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\xce\x62\xc2\xf7\x56\x45\xf2" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x62\xc2\xf7\x56\x4d\xc9\xc9" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\xce\x62\xc2\xf7\x56\x78\xc9" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\x62\xc2\xf7\x56\x78\xc9\xd6" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\x62\xc2\xf7\x56\x78\xc9\xc2" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\x62\xc2\xf7\x56\xa8\xc9\xe1" } , { "\xbf\xe8\xba\xe8\xcd" , "\x62\xc2\xf7\x56\xaa\xc9" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x62\xc2\xf7\x56\xaa\xc9\xc9" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x62\xc2\xf7\x56\xaa\xc9\xda" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\x62\xc2\xf7\x56\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\xce\x62\xc2\xf7\x56\xb4\xc9" } , { "\xbf\xe8\xba\xe9" , "\x62\xc2\xf7\x57\xc9" } , { "\xbf\xe8\xbc" , "\x62\xc2\xf7\x5c\xc9" } , { "\xbf\xe8\xbd" , "\x62\xc2\xf7\x5d\xf5" } , { "\xbf\xe8\xbd\xa2" , "\x62\xc2\xf7\x5d\xc6\xf5" } , { "\xbf\xe8\xbd\xda\xa2" , "\x62\xc2\xf7\x5d\xf5\xc9\xc6" } , { "\xbf\xe8\xbd\xdb" , "\xce\x62\xc2\xf7\x5d\xf5" } , { "\xbf\xe8\xbd\xdd" , "\x62\xc2\xf7\x5d\xd6\xf5" } , { "\xbf\xe8\xbd\xe0" , "\x62\xc2\xf7\x5d\xe0\xf5" } , { "\xbf\xe8\xbd\xe1" , "\x62\xc2\xf7\x5d\xe4\xf5" } , { "\xbf\xe8\xbd\xe8" , "\x62\xc2\xf7\x5d\xc2\xf5" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\x62\xc2\xf7\x5d\xc5\xc6\xf5" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\x62\xc2\xf7\x5d\xc5\xf5\xc9" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\x62\xc2\xf7\x5d\xc5\xe8\xf5" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x62\xc2\xf7\x5d\xc2\xf5\xba\xc9" } , { "\xbf\xe8\xbf" , "\x62\xc2\xf7\x62\xf7" } , { "\xbf\xe8\xbf\xa2" , "\x62\xc2\xf7\x62\xc6\xf7" } , { "\xbf\xe8\xbf\xa3" , "\x62\xc2\xf7\x62\xf7\x26" } , { "\xbf\xe8\xbf\xda" , "\x62\xc2\xf7\x62\xf7\xc9" } , { "\xbf\xe8\xbf\xda\xa2" , "\x62\xc2\xf7\x62\xf7\xc9\xc6" } , { "\xbf\xe8\xbf\xdb" , "\xce\x62\xc2\xf7\x62\xf7" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xcf\x62\xc2\xf7\x62\xf7" } , { "\xbf\xe8\xbf\xdc" , "\x62\xc2\xf7\x62\xf7\xd2" } , { "\xbf\xe8\xbf\xdd" , "\x62\xc2\xf7\x62\xd6\xf7" } , { "\xbf\xe8\xbf\xdd\xa2" , "\x62\xc2\xf7\x62\xd6\xc6\xf7" } , { "\xbf\xe8\xbf\xde" , "\x62\xc2\xf7\x62\xda\xf7" } , { "\xbf\xe8\xbf\xe0" , "\x62\xc2\xf7\x62\xe0\xf7" } , { "\xbf\xe8\xbf\xe1" , "\x62\xc2\xf7\x62\xe4\xf7" } , { "\xbf\xe8\xbf\xe2" , "\x62\xc2\xf7\x62\xe8\xf7" } , { "\xbf\xe8\xbf\xe4" , "\x62\xc2\xf7\x62\xf7\xc9\xe0" } , { "\xbf\xe8\xbf\xe5" , "\x62\xc2\xf7\x62\xf7\xc9\xe4" } , { "\xbf\xe8\xbf\xe5\xa2" , "\x62\xc2\xf7\x62\xf7\xc9\xe5" } , { "\xbf\xe8\xbf\xe8" , "\x62\xc2\xf7\x62\xc2\xf7" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x62\xc2\xf7\x62\xc2\xf7\x45\xd6\xf2" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\xce\x62\xc2\xf7\x62\xc2\xf7\x62\xf7" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\x62\xc2\xf7\x62\xc2\xf7\xb1\xc9\xd6" } , { "\xbf\xe8\xbf\xe9\xdc" , "\x62\xc2\xf7\x63\xf7\xd2" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\x62\xc2\xf7\x63\xf7\xc9\xe5" } , { "\xbf\xe8\xc0" , "\x62\xc2\xf7\x66\xf8" } , { "\xbf\xe8\xc0\xa2" , "\x62\xc2\xf7\x66\xc6\xf8" } , { "\xbf\xe8\xc0\xda" , "\x62\xc2\xf7\x66\xf8\xc9" } , { "\xbf\xe8\xc0\xdc" , "\x62\xc2\xf7\x66\xf8\xd2" } , { "\xbf\xe8\xc0\xdd" , "\x62\xc2\xf7\x66\xd6\xf8" } , { "\xbf\xe8\xc0\xe1" , "\x62\xc2\xf7\x66\xe4\xf8" } , { "\xbf\xe8\xc0\xe5\xa2" , "\x62\xc2\xf7\x66\xf8\xc9\xe5" } , { "\xbf\xe8\xc0\xe9\xda" , "\x62\xc2\xf7\x67\xf8\xc9" } , { "\xbf\xe8\xc0\xe9\xe1" , "\x62\xc2\xf7\x67\xe4\xf8" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\x62\xc2\xf7\x67\xf8\xc9\xe5" } , { "\xbf\xe8\xc1" , "\x62\xc2\xf7\x68\xc9" } , { "\xbf\xe8\xc2" , "\x62\xc2\xf7\x69\xc9" } , { "\xbf\xe8\xc2\xa2" , "\x62\xc2\xf7\x69\xc9\xc6" } , { "\xbf\xe8\xc2\xda" , "\x62\xc2\xf7\x69\xc9\xc9" } , { "\xbf\xe8\xc2\xdb" , "\xce\x62\xc2\xf7\x69\xc9" } , { "\xbf\xe8\xc2\xdd" , "\x62\xc2\xf7\x69\xc9\xd6" } , { "\xbf\xe8\xc2\xdd\xa2" , "\x62\xc2\xf7\x69\xc9\xd6\xc6" } , { "\xbf\xe8\xc2\xde" , "\x62\xc2\xf7\x69\xc9\xda" } , { "\xbf\xe8\xc2\xde\xa2" , "\x62\xc2\xf7\x69\xc9\xda\xc6" } , { "\xbf\xe8\xc2\xe0" , "\x62\xc2\xf7\x69\xc9\xe0" } , { "\xbf\xe8\xc2\xe1" , "\x62\xc2\xf7\x69\xc9\xe4" } , { "\xbf\xe8\xc2\xe5" , "\x62\xc2\xf7\x69\xc9\xc9\xe4" } , { "\xbf\xe8\xc2\xe5\xa2" , "\x62\xc2\xf7\x69\xc9\xc9\xe5" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\x62\xc2\xf7\x6a\xc9\xe8" } , { "\xbf\xe8\xc4\xda" , "\x62\xc2\xf7\x6e\xf9\xc9" } , { "\xbf\xe8\xc4\xdb" , "\xce\x62\xc2\xf7\x6e\xf9" } , { "\xbf\xe8\xc4\xdd" , "\x62\xc2\xf7\x6e\xd6\xf9" } , { "\xbf\xe8\xc4\xe0" , "\x62\xc2\xf7\x6e\xe0\xf9" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x62\xc2\xf7\x75\xf9\xc9" } , { "\xbf\xe8\xc5" , "\x62\xc2\xf7\x76\xc9" } , { "\xbf\xe8\xc6" , "\x62\xc2\xf7\x78\xc9" } , { "\xbf\xe8\xc6\xa2" , "\x62\xc2\xf7\x78\xc9\xc6" } , { "\xbf\xe8\xc6\xda" , "\x62\xc2\xf7\x78\xc9\xc9" } , { "\xbf\xe8\xc6\xdb" , "\xce\x62\xc2\xf7\x78\xc9" } , { "\xbf\xe8\xc6\xdb\xa2" , "\xcf\x62\xc2\xf7\x78\xc9" } , { "\xbf\xe8\xc6\xdc" , "\x62\xc2\xf7\x78\xc9\xd2" } , { "\xbf\xe8\xc6\xdd" , "\x62\xc2\xf7\x78\xc9\xd6" } , { "\xbf\xe8\xc6\xdd\xa2" , "\x62\xc2\xf7\x78\xc9\xd6\xc6" } , { "\xbf\xe8\xc6\xe0" , "\x62\xc2\xf7\x78\xc9\xe0" } , { "\xbf\xe8\xc6\xe1" , "\x62\xc2\xf7\x78\xc9\xe4" } , { "\xbf\xe8\xc6\xe2" , "\x62\xc2\xf7\x78\xc9\xe8" } , { "\xbf\xe8\xc6\xe5" , "\x62\xc2\xf7\x78\xc9\xc9\xe4" } , { "\xbf\xe8\xc6\xe6" , "\x62\xc2\xf7\x78\xc9\xc9\xe8" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\x62\xc2\xf7\x78\x69\xc9\xc6" } , { "\xbf\xe8\xc8" , "\x62\xc2\xf7\x7b\xc9" } , { "\xbf\xe8\xc8\xa2" , "\x62\xc2\xf7\x7b\xc9\xc6" } , { "\xbf\xe8\xc8\xda" , "\x62\xc2\xf7\x7b\xc9\xc9" } , { "\xbf\xe8\xc8\xdb\xa2" , "\xcf\x62\xc2\xf7\x7b\xc9" } , { "\xbf\xe8\xc8\xdd" , "\x62\xc2\xf7\x7b\xc9\xd6" } , { "\xbf\xe8\xc8\xde" , "\x62\xc2\xf7\x7b\xc9\xda" } , { "\xbf\xe8\xc8\xe2" , "\x62\xc2\xf7\x7b\xc9\xe8" } , { "\xbf\xe8\xc8\xe4" , "\x62\xc2\xf7\x7b\xc9\xc9\xe0" } , { "\xbf\xe8\xc8\xe5" , "\x62\xc2\xf7\x7b\xc9\xc9\xe4" } , { "\xbf\xe8\xc8\xe8\xcf" , "\x62\xc2\xf7\x7c\xc9" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\xce\x62\xc2\xf7\x7c\xc9" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\x62\xc2\xf7\x7c\xc9\xda" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\x62\xc2\xf7\x7c\xc9\xe0" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\x62\xc2\xf7\x7b\xb1\xc9\xc9" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\x62\xc2\xf7\x7b\xb1\xc9\xe4" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\x62\xc2\xf7\x7b\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xc9\xda" , "\x62\xc2\xf7\xa1\xf2\xc9" } , { "\xbf\xe8\xc9\xdb" , "\xce\x62\xc2\xf7\xa1\xf2" } , { "\xbf\xe8\xc9\xdc" , "\x62\xc2\xf7\xa1\xf2\xd2" } , { "\xbf\xe8\xc9\xdd" , "\x62\xc2\xf7\xa1\xd6\xf2" } , { "\xbf\xe8\xc9\xe0" , "\x62\xc2\xf7\xa1\xe0\xf2" } , { "\xbf\xe8\xc9\xe2" , "\x62\xc2\xf7\xa1\xe8\xf2" } , { "\xbf\xe8\xc9\xe5" , "\x62\xc2\xf7\xa1\xf2\xc9\xe4" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\x62\xc2\xf7\xa3\xf2\xd2" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\x62\xc2\xf7\x7d\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xca" , "\x62\xc2\xf7\xa4\xc9" } , { "\xbf\xe8\xca\xa2" , "\x62\xc2\xf7\xa4\xc9\xc6" } , { "\xbf\xe8\xca\xda" , "\x62\xc2\xf7\xa4\xc9\xc9" } , { "\xbf\xe8\xca\xdb" , "\xce\x62\xc2\xf7\xa4\xc9" } , { "\xbf\xe8\xca\xdc" , "\x62\xc2\xf7\xa4\xc9\xd2" } , { "\xbf\xe8\xca\xdd" , "\x62\xc2\xf7\xa4\xc9\xd6" } , { "\xbf\xe8\xca\xe0" , "\x62\xc2\xf7\xa4\xc9\xe0" } , { "\xbf\xe8\xca\xe2" , "\x62\xc2\xf7\xa4\xc9\xe8" } , { "\xbf\xe8\xca\xe5" , "\x62\xc2\xf7\xa4\xc9\xc9\xe4" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\x62\xc2\xf7\xa4\xa4\xc9\xd2" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x62\xc2\xf7\xa4\xaa\xc9\xc9" } , { "\xbf\xe8\xca\xe8\xcf" , "\x62\xc2\xf7\xa5\xc9" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\x62\xc2\xf7\xa5\xc9\xe0" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\x62\xc2\xf7\xa4\xb1\xaa\xc9\xda" } , { "\xbf\xe8\xcb\xda" , "\x62\xc2\xf7\xa6\xc9\xc9" } , { "\xbf\xe8\xcb\xdd" , "\x62\xc2\xf7\xa6\xc9\xd6" } , { "\xbf\xe8\xcc" , "\x62\xc2\xf7\xa8\xc9" } , { "\xbf\xe8\xcc\xa2" , "\x62\xc2\xf7\xa8\xc9\xc6" } , { "\xbf\xe8\xcc\xda" , "\x62\xc2\xf7\xa8\xc9\xc9" } , { "\xbf\xe8\xcc\xdb" , "\xce\x62\xc2\xf7\xa8\xc9" } , { "\xbf\xe8\xcc\xdb\xa2" , "\xcf\x62\xc2\xf7\xa8\xc9" } , { "\xbf\xe8\xcc\xdc" , "\x62\xc2\xf7\xa8\xc9\xd2" } , { "\xbf\xe8\xcc\xdd" , "\x62\xc2\xf7\xa8\xc9\xd6" } , { "\xbf\xe8\xcc\xe0\xa2" , "\x62\xc2\xf7\xa8\xc9\xe1" } , { "\xbf\xe8\xcc\xe4" , "\x62\xc2\xf7\xa8\xc9\xc9\xe0" } , { "\xbf\xe8\xcc\xe5" , "\x62\xc2\xf7\xa8\xc9\xc9\xe4" } , { "\xbf\xe8\xcd" , "\x62\xf7\xac" } , { "\xbf\xe8\xcd\xa2" , "\x62\xf7\xac\xc6" } , { "\xbf\xe8\xcd\xda" , "\x62\xf7\xac\xc9" } , { "\xbf\xe8\xcd\xda\xa2" , "\x62\xf7\xac\xc9\xc6" } , { "\xbf\xe8\xcd\xdb" , "\xca\x62\xf7\xac" } , { "\xbf\xe8\xcd\xdd" , "\x62\xf7\xac\xd6" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x62\xf7\xac\xd6\xc6" } , { "\xbf\xe8\xcd\xde" , "\x62\xf7\xac\xda" } , { "\xbf\xe8\xcd\xe0" , "\x62\xf7\xac\xe0" } , { "\xbf\xe8\xcd\xe1" , "\x62\xf7\xac\xe4" } , { "\xbf\xe8\xcd\xe5" , "\x62\xf7\xac\xc9\xe4" } , { "\xbf\xe8\xcd\xe5\xa2" , "\x62\xf7\xac\xc9\xe5" } , { "\xbf\xe8\xcd\xe6" , "\x62\xf7\xac\xc9\xe8" } , { "\xbf\xe8\xcf" , "\x62\xc5\xf7" } , { "\xbf\xe8\xcf\xa2" , "\x62\xc5\xc6\xf7" } , { "\xbf\xe8\xcf\xda" , "\x62\xc5\xf7\xc9" } , { "\xbf\xe8\xcf\xda\xa2" , "\x62\xc5\xf7\xc9\xc6" } , { "\xbf\xe8\xcf\xdb" , "\xca\x62\xc5\xf7" } , { "\xbf\xe8\xcf\xdb\xa2" , "\xcb\x62\xc5\xf7" } , { "\xbf\xe8\xcf\xdc" , "\x62\xc5\xf7\xd2" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x62\xc5\xf7\xd3" } , { "\xbf\xe8\xcf\xdd" , "\x62\xd8\xf7" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x62\xd8\xc6\xf7" } , { "\xbf\xe8\xcf\xde" , "\x62\xdc\xf7" } , { "\xbf\xe8\xcf\xde\xa2" , "\x62\xdc\xc6\xf7" } , { "\xbf\xe8\xcf\xe0" , "\x62\xc5\xe0\xf7" } , { "\xbf\xe8\xcf\xe0\xa2" , "\x62\xc5\xe1\xf7" } , { "\xbf\xe8\xcf\xe1" , "\x62\xc5\xe4\xf7" } , { "\xbf\xe8\xcf\xe1\xa2" , "\x62\xc5\xe5\xf7" } , { "\xbf\xe8\xcf\xe2" , "\x62\xc5\xe8\xf7" } , { "\xbf\xe8\xcf\xe4" , "\x62\xc5\xf7\xc9\xe0" } , { "\xbf\xe8\xcf\xe5" , "\x62\xc5\xf7\xc9\xe4" } , { "\xbf\xe8\xcf\xe6" , "\x62\xc5\xf7\xc9\xe8" } , { "\xbf\xe8\xcf\xe7" , "\x62\xc5\xf7\xc9\xec" } , { "\xbf\xe8\xcf\xe8\xca" , "\x62\xc2\xf7\xae\xc2\xfa\xa4\xc9" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x62\xc5\xf7\xac\xc9" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x62\xc2\xf7\xae\xc2\xfa\xb4\xc9\xc9" } , { "\xbf\xe8\xd1" , "\x62\xc2\xf7\xb1\xc9" } , { "\xbf\xe8\xd1\xa2" , "\x62\xc2\xf7\xb1\xc9\xc6" } , { "\xbf\xe8\xd1\xda" , "\x62\xc2\xf7\xb1\xc9\xc9" } , { "\xbf\xe8\xd1\xda\xa2" , "\x62\xc2\xf7\xb1\xc9\xc9\xc6" } , { "\xbf\xe8\xd1\xdb" , "\xce\x62\xc2\xf7\xb1\xc9" } , { "\xbf\xe8\xd1\xdb\xa2" , "\xcf\x62\xc2\xf7\xb1\xc9" } , { "\xbf\xe8\xd1\xdc" , "\x62\xc2\xf7\xb1\xc9\xd2" } , { "\xbf\xe8\xd1\xdd" , "\x62\xc2\xf7\xb1\xc9\xd6" } , { "\xbf\xe8\xd1\xdd\xa2" , "\x62\xc2\xf7\xb1\xc9\xd6\xc6" } , { "\xbf\xe8\xd1\xde" , "\x62\xc2\xf7\xb1\xc9\xda" } , { "\xbf\xe8\xd1\xe0" , "\x62\xc2\xf7\xb1\xc9\xe0" } , { "\xbf\xe8\xd1\xe0\xa2" , "\x62\xc2\xf7\xb1\xc9\xe1" } , { "\xbf\xe8\xd1\xe1" , "\x62\xc2\xf7\xb1\xc9\xe4" } , { "\xbf\xe8\xd1\xe2" , "\x62\xc2\xf7\xb1\xc9\xe8" } , { "\xbf\xe8\xd1\xe4" , "\x62\xc2\xf7\xb1\xc9\xc9\xe0" } , { "\xbf\xe8\xd1\xe5" , "\x62\xc2\xf7\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xd1\xe8" , "\x62\xc2\xf7\xb1\xc9\xc2" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\x62\xc2\xf7\xb1\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xd4" , "\x62\xc2\xf7\xb4\xc9" } , { "\xbf\xe8\xd4\xa2" , "\x62\xc2\xf7\xb4\xc9\xc6" } , { "\xbf\xe8\xd4\xda" , "\x62\xc2\xf7\xb4\xc9\xc9" } , { "\xbf\xe8\xd4\xda\xa2" , "\x62\xc2\xf7\xb4\xc9\xc9\xc6" } , { "\xbf\xe8\xd4\xdb" , "\xce\x62\xc2\xf7\xb4\xc9" } , { "\xbf\xe8\xd4\xdb\xa2" , "\xcf\x62\xc2\xf7\xb4\xc9" } , { "\xbf\xe8\xd4\xdc" , "\x62\xc2\xf7\xb4\xc9\xd2" } , { "\xbf\xe8\xd4\xdd" , "\x62\xc2\xf7\xb4\xc9\xd6" } , { "\xbf\xe8\xd4\xe0" , "\x62\xc2\xf7\xb4\xc9\xe0" } , { "\xbf\xe8\xd4\xe0\xa2" , "\x62\xc2\xf7\xb4\xc9\xe1" } , { "\xbf\xe8\xd4\xe1" , "\x62\xc2\xf7\xb4\xc9\xe4" } , { "\xbf\xe8\xd4\xe2" , "\x62\xc2\xf7\xb4\xc9\xe8" } , { "\xbf\xe8\xd5" , "\x62\xc2\xf7\xb6\xc9" } , { "\xbf\xe8\xd5\xda" , "\x62\xc2\xf7\xb6\xc9\xc9" } , { "\xbf\xe8\xd6" , "\x62\xc2\xf7\xb9\xc9" } , { "\xbf\xe8\xd6\xdb" , "\xce\x62\xc2\xf7\xb9\xc9" } , { "\xbf\xe8\xd6\xdc" , "\x62\xc2\xf7\xb9\xc9\xd2" } , { "\xbf\xe8\xd6\xe5" , "\x62\xc2\xf7\xb9\xc9\xc9\xe4" } , { "\xbf\xe8\xd7" , "\x62\xc2\xf7\xba\xc9" } , { "\xbf\xe8\xd7\xa2" , "\x62\xc2\xf7\xba\xc9\xc6" } , { "\xbf\xe8\xd7\xda" , "\x62\xc2\xf7\xba\xc9\xc9" } , { "\xbf\xe8\xd7\xdb" , "\xce\x62\xc2\xf7\xba\xc9" } , { "\xbf\xe8\xd7\xdc" , "\x62\xc2\xf7\xba\xc9\xd2" } , { "\xbf\xe8\xd7\xdd" , "\x62\xc2\xf7\xba\xc9\xd6" } , { "\xbf\xe8\xd7\xde" , "\x62\xc2\xf7\xba\xc9\xda" } , { "\xbf\xe8\xd7\xe1" , "\x62\xc2\xf7\xba\xc9\xe4" } , { "\xbf\xe8\xd7\xe4" , "\x62\xc2\xf7\xba\xc9\xc9\xe0" } , { "\xbf\xe8\xd7\xe8" , "\x62\xc2\xf7\xba\xc9\xc2" } , { "\xbf\xe8\xd7\xe8\xb3" , "\x62\xc2\xf7\xba\x45\xf2" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\x62\xc2\xf7\xba\x45\xf2\xc9" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\xce\x62\xc2\xf7\xba\x45\xf2" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\x62\xc2\xf7\xba\x45\xd6\xf2" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\x62\xc2\xf7\xba\x45\xe4\xf2" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x62\xc2\xf7\xba\x5d\xe4\xf5" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\xce\x62\xc2\xf7\xba\x62\xf7" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\x62\xc2\xf7\xba\x69\xc9\xc9\xe4" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\xce\x62\xc2\xf7\xba\x78\xc9" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\x62\xc2\xf7\xba\x78\xc9\xd6" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\x62\xc2\xf7\xba\x7b\xc9\xc9" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\x62\xc2\xf7\xba\x7b\xc9\xd2" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\x62\xc2\xf7\xba\xa4\xc9\xc6" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\xce\x62\xc2\xf7\xba\xa8\xc9" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\x62\xc2\xf7\xba\xb1\xc9\xc9\xe4" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x62\xc2\xf7\xba\xb4\xc9" } , { "\xbf\xe8\xd8\xda" , "\x62\xc2\xf7\xbd\xfe\xc9" } , { "\xbf\xe8\xd8\xda\xa2" , "\x62\xc2\xf7\xbd\xfe\xc9\xc6" } , { "\xbf\xe8\xd8\xdb" , "\xce\x62\xc2\xf7\xbd\xfe" } , { "\xbf\xe8\xd8\xe0" , "\x62\xc2\xf7\xbd\xe0\xfe" } , { "\xbf\xe8\xd8\xe2" , "\x62\xc2\xf7\xbd\xe8\xfe" } , { "\xbf\xe8\xd8\xe5" , "\x62\xc2\xf7\xbd\xfe\xc9\xe4" } , { "\xbf\xe8\xd9\xa7" , "\x62\xc2\xf7\x3c\xc7" } , { "\xbf\xe8\xd9\xcd\xde" , "\x62\xc2\xf7\xaa\xc9\xda" } , { "\xbf\xe8\xd9\xcf" , "\x62\xc2\xf7\xae\xfa" } , { "\xbf\xe8\xe8" , "\x62\xc2\xf7" } , { "\xbf\xe9" , "\x63\xf7" } , { "\xbf\xe9\xa1" , "\x63\xc4\xf7" } , { "\xbf\xe9\xa2" , "\x63\xc6\xf7" } , { "\xbf\xe9\xc2\xda" , "\x63\xf7\x69\xc9\xc9" } , { "\xbf\xe9\xc2\xdc" , "\x63\xf7\x69\xc9\xd2" } , { "\xbf\xe9\xda" , "\x63\xf7\xc9" } , { "\xbf\xe9\xda\xa1" , "\x63\xf7\xc9\xc4" } , { "\xbf\xe9\xda\xa2" , "\x63\xf7\xc9\xc6" } , { "\xbf\xe9\xdb" , "\xca\x63\xf7" } , { "\xbf\xe9\xdc" , "\x63\xf7\xd2" } , { "\xbf\xe9\xdc\xa2" , "\x63\xf7\xd3" } , { "\xbf\xe9\xdd" , "\x63\xd9\xf7" } , { "\xbf\xe9\xde" , "\x63\xdd\xf7" } , { "\xbf\xe9\xde\xa1" , "\x63\xdd\xc4\xf7" } , { "\xbf\xe9\xde\xa2" , "\x63\xdd\xc6\xf7" } , { "\xbf\xe9\xe1" , "\x63\xe4\xf7" } , { "\xbf\xe9\xe1\xa2" , "\x63\xe5\xf7" } , { "\xbf\xe9\xe2" , "\x63\xe8\xf7" } , { "\xbf\xe9\xe2\xa2" , "\x63\xe9\xf7" } , { "\xbf\xe9\xe5" , "\x63\xf7\xc9\xe4" } , { "\xbf\xe9\xe5\xa2" , "\x63\xf7\xc9\xe5" } , { "\xbf\xe9\xe6" , "\x63\xf7\xc9\xe8" } , { "\xbf\xe9\xe6\xa2" , "\x63\xf7\xc9\xe9" } , { "\xbf\xe9\xe8" , "\x63\xc2\xf7" } , { "\xbf\xe9\xe8\xb3" , "\x62\xc2\xf7\x45\xf2" } , { "\xbf\xe9\xe8\xb3\xda" , "\x62\xc2\xf7\x45\xf2\xc9" } , { "\xbf\xe9\xe8\xb5" , "\x62\xc2\xf7\x4d\xc9" } , { "\xbf\xe9\xe8\xb5\xda" , "\x62\xc2\xf7\x4d\xc9\xc9" } , { "\xbf\xe9\xe8\xbf\xda" , "\x62\xc2\xf7\x62\xf7\xc9" } , { "\xbf\xe9\xe8\xbf\xdb" , "\xce\x62\xc2\xf7\x62\xf7" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x62\xc2\xf7\x62\xf7\xd2" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x62\xc2\xf7\x62\xe4\xf7" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x62\xc2\xf7\x67\xe4\xf8" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x62\xc2\xf7\x69\xc9\xd6" } , { "\xbf\xe9\xe8\xcc" , "\x62\xc2\xf7\xa8\xc9" } , { "\xc0" , "\x66\xf8" } , { "\xc0\xa1" , "\x66\xc4\xf8" } , { "\xc0\xa2" , "\x66\xc6\xf8" } , { "\xc0\xa3" , "\x66\xf8\x26" } , { "\xc0\xda" , "\x66\xf8\xc9" } , { "\xc0\xda\xa1" , "\x66\xf8\xc9\xc4" } , { "\xc0\xda\xa2" , "\x66\xf8\xc9\xc6" } , { "\xc0\xdb" , "\xca\x66\xf8" } , { "\xc0\xdb\xa2" , "\xcb\x66\xf8" } , { "\xc0\xdc" , "\x66\xf8\xd2" } , { "\xc0\xdc\xa2" , "\x66\xf8\xd3" } , { "\xc0\xdd" , "\x66\xd6\xf8" } , { "\xc0\xdd\xa1" , "\x66\xd6\xc4\xf8" } , { "\xc0\xdd\xa2" , "\x66\xd6\xc6\xf8" } , { "\xc0\xde" , "\x66\xda\xf8" } , { "\xc0\xde\xa1" , "\x66\xda\xc4\xf8" } , { "\xc0\xde\xa2" , "\x66\xda\xc6\xf8" } , { "\xc0\xdf" , "\x66\xde\xf8" } , { "\xc0\xe0" , "\x66\xe0\xf8" } , { "\xc0\xe1" , "\x66\xe4\xf8" } , { "\xc0\xe1\xa2" , "\x66\xe5\xf8" } , { "\xc0\xe2" , "\x66\xe8\xf8" } , { "\xc0\xe2\xa3" , "\x66\xe8\xf8\x26" } , { "\xc0\xe4" , "\x66\xf8\xc9\xe0" } , { "\xc0\xe5" , "\x66\xf8\xc9\xe4" } , { "\xc0\xe5\xa2" , "\x66\xf8\xc9\xe5" } , { "\xc0\xe6" , "\x66\xf8\xc9\xe8" } , { "\xc0\xe6\xa2" , "\x66\xf8\xc9\xe9" } , { "\xc0\xe8" , "\x66\xc2\xf8" } , { "\xc0\xe8\xbf\xe1" , "\x66\xc2\xf8\x62\xe4\xf7" } , { "\xc0\xe8\xc0\xda" , "\x66\xc2\xf8\x66\xf8\xc9" } , { "\xc0\xe8\xc0\xdc" , "\x66\xc2\xf8\x66\xf8\xd2" } , { "\xc0\xe8\xc0\xe1" , "\x66\xc2\xf8\x66\xe4\xf8" } , { "\xc0\xe8\xc0\xe9" , "\x66\xc2\xf8\x67\xf8" } , { "\xc0\xe8\xc0\xe9\xda" , "\x66\xc2\xf8\x67\xf8\xc9" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x66\xc2\xf8\x67\xe4\xf8" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x66\xc2\xf8\x67\xf8\xc9\xe5" } , { "\xc0\xe8\xc9\xe5" , "\x66\xc2\xf8\xa1\xf2\xc9\xe4" } , { "\xc0\xe8\xcd" , "\x66\xf8\xac" } , { "\xc0\xe8\xcd\xa2" , "\x66\xf8\xac\xc6" } , { "\xc0\xe8\xcd\xda" , "\x66\xf8\xac\xc9" } , { "\xc0\xe8\xcd\xdd" , "\x66\xf8\xac\xd6" } , { "\xc0\xe8\xcd\xe5\xa2" , "\x66\xf8\xac\xc9\xe5" } , { "\xc0\xe8\xcf" , "\x66\xc5\xf8" } , { "\xc0\xe8\xcf\xa2" , "\x66\xc5\xc6\xf8" } , { "\xc0\xe8\xcf\xda" , "\x66\xc5\xf8\xc9" } , { "\xc0\xe8\xcf\xdc" , "\x66\xc5\xf8\xd2" } , { "\xc0\xe8\xd1\xe5" , "\x66\xc2\xf8\xb1\xc9\xc9\xe4" } , { "\xc0\xe8\xe8" , "\x66\xc2\xf8" } , { "\xc0\xe9" , "\x67\xf8" } , { "\xc0\xe9\xa1" , "\x67\xc4\xf8" } , { "\xc0\xe9\xa2" , "\x67\xc6\xf8" } , { "\xc0\xe9\xc2\xdc" , "\x67\xf8\x69\xc9\xd2" } , { "\xc0\xe9\xc6\xe1" , "\x67\xf8\x78\xc9\xe4" } , { "\xc0\xe9\xda" , "\x67\xf8\xc9" } , { "\xc0\xe9\xda\xa1" , "\x67\xf8\xc9\xc4" } , { "\xc0\xe9\xda\xa2" , "\x67\xf8\xc9\xc6" } , { "\xc0\xe9\xdb" , "\xca\x67\xf8" } , { "\xc0\xe9\xdb\xa2" , "\xcb\x67\xf8" } , { "\xc0\xe9\xdc" , "\x67\xf8\xd2" } , { "\xc0\xe9\xdc\xa2" , "\x67\xf8\xd3" } , { "\xc0\xe9\xdd" , "\x67\xd9\xf8" } , { "\xc0\xe9\xde" , "\x67\xdd\xf8" } , { "\xc0\xe9\xde\xa1" , "\x67\xdd\xc4\xf8" } , { "\xc0\xe9\xde\xa2" , "\x67\xdd\xc6\xf8" } , { "\xc0\xe9\xe1" , "\x67\xe4\xf8" } , { "\xc0\xe9\xe1\xa2" , "\x67\xe5\xf8" } , { "\xc0\xe9\xe2" , "\x67\xe8\xf8" } , { "\xc0\xe9\xe5" , "\x67\xf8\xc9\xe4" } , { "\xc0\xe9\xe5\xa2" , "\x67\xf8\xc9\xe5" } , { "\xc0\xe9\xe6" , "\x67\xf8\xc9\xe8" } , { "\xc0\xe9\xe8\xcd" , "\x66\xc2\xf8\xaa\xc9" } , { "\xc1" , "\x68\xc9" } , { "\xc1\xa1" , "\x68\xc9\xc4" } , { "\xc1\xa1\xa1" , "\x68\xc9\xc4\xc4" } , { "\xc1\xa2" , "\x68\xc9\xc6" } , { "\xc1\xa3" , "\x68\xc9\x26" } , { "\xc1\xda" , "\x68\xc9\xc9" } , { "\xc1\xda\xa2" , "\x68\xc9\xc9\xc6" } , { "\xc1\xda\xa3" , "\x68\xc9\xc9\x26" } , { "\xc1\xdb" , "\xca\x68\xc9" } , { "\xc1\xdb\xa2" , "\xcb\x68\xc9" } , { "\xc1\xdb\xa3" , "\xca\x68\xc9\x26" } , { "\xc1\xdc" , "\x68\xc9\xd2" } , { "\xc1\xdc\xa2" , "\x68\xc9\xd3" } , { "\xc1\xdd" , "\x68\xc9\xd6" } , { "\xc1\xdd\xa2" , "\x68\xc9\xd6\xc6" } , { "\xc1\xde" , "\x68\xc9\xda" } , { "\xc1\xde\xa2" , "\x68\xc9\xda\xc6" } , { "\xc1\xdf" , "\x68\xc9\xde" } , { "\xc1\xe0" , "\x68\xc9\xe0" } , { "\xc1\xe0\xa2" , "\x68\xc9\xe1" } , { "\xc1\xe1" , "\x68\xc9\xe4" } , { "\xc1\xe1\xa2" , "\x68\xc9\xe5" } , { "\xc1\xe2" , "\x68\xc9\xe8" } , { "\xc1\xe2\xa2" , "\x68\xc9\xe9" } , { "\xc1\xe2\xa3" , "\x68\xc9\xe8\x26" } , { "\xc1\xe4" , "\x68\xc9\xc9\xe0" } , { "\xc1\xe5" , "\x68\xc9\xc9\xe4" } , { "\xc1\xe5\xa2" , "\x68\xc9\xc9\xe5" } , { "\xc1\xe6" , "\x68\xc9\xc9\xe8" } , { "\xc1\xe8" , "\x68\xc9\xc2" } , { "\xc1\xe8\xb3\xdd" , "\x68\x45\xd6\xf2" } , { "\xc1\xe8\xb3\xe1" , "\x68\x45\xe4\xf2" } , { "\xc1\xe8\xb5\xda" , "\x68\x4d\xc9\xc9" } , { "\xc1\xe8\xba\xda" , "\x68\x56\xc9\xc9" } , { "\xc1\xe8\xba\xe5\xa2" , "\x68\x56\xc9\xc9\xe5" } , { "\xc1\xe8\xbd" , "\x68\x5d\xf5" } , { "\xc1\xe8\xbd\xda" , "\x68\x5d\xf5\xc9" } , { "\xc1\xe8\xbd\xdb" , "\xce\x68\x5d\xf5" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xcf\x68\x5d\xf5" } , { "\xc1\xe8\xbd\xdc" , "\x68\x5d\xf5\xd2" } , { "\xc1\xe8\xbd\xdd" , "\x68\x5d\xd6\xf5" } , { "\xc1\xe8\xbd\xde" , "\x68\x5d\xda\xf5" } , { "\xc1\xe8\xbd\xe1" , "\x68\x5d\xe4\xf5" } , { "\xc1\xe8\xbd\xe1\xa2" , "\x68\x5d\xe5\xf5" } , { "\xc1\xe8\xbd\xe5" , "\x68\x5d\xf5\xc9\xe4" } , { "\xc1\xe8\xbd\xe5\xa2" , "\x68\x5d\xf5\xc9\xe5" } , { "\xc1\xe8\xbd\xe8\xcf" , "\x68\x5d\xc5\xf5" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\x68\x5d\xc5\xf5\xd2" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\x68\x5d\xc5\xf5\xc9\xe4" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x68\x5d\xc2\xf5\xba\xc9" } , { "\xc1\xe8\xbe" , "\x68\x60\xf6" } , { "\xc1\xe8\xbe\xa2" , "\x68\x60\xc6\xf6" } , { "\xc1\xe8\xbe\xda" , "\x68\x60\xf6\xc9" } , { "\xc1\xe8\xbe\xdb" , "\xce\x68\x60\xf6" } , { "\xc1\xe8\xbe\xdc" , "\x68\x60\xf6\xd2" } , { "\xc1\xe8\xbe\xe1" , "\x68\x60\xe4\xf6" } , { "\xc1\xe8\xbe\xe5" , "\x68\x60\xf6\xc9\xe4" } , { "\xc1\xe8\xbe\xe5\xa2" , "\x68\x60\xf6\xc9\xe5" } , { "\xc1\xe8\xbf" , "\x68\x62\xf7" } , { "\xc1\xe8\xbf\xa2" , "\x68\x62\xc6\xf7" } , { "\xc1\xe8\xbf\xda" , "\x68\x62\xf7\xc9" } , { "\xc1\xe8\xbf\xda\xa2" , "\x68\x62\xf7\xc9\xc6" } , { "\xc1\xe8\xbf\xdb" , "\xce\x68\x62\xf7" } , { "\xc1\xe8\xbf\xdb\xa2" , "\xcf\x68\x62\xf7" } , { "\xc1\xe8\xbf\xdc" , "\x68\x62\xf7\xd2" } , { "\xc1\xe8\xbf\xdd" , "\x68\x62\xd6\xf7" } , { "\xc1\xe8\xbf\xde" , "\x68\x62\xda\xf7" } , { "\xc1\xe8\xbf\xe1" , "\x68\x62\xe4\xf7" } , { "\xc1\xe8\xbf\xe1\xa2" , "\x68\x62\xe5\xf7" } , { "\xc1\xe8\xbf\xe2" , "\x68\x62\xe8\xf7" } , { "\xc1\xe8\xbf\xe5" , "\x68\x62\xf7\xc9\xe4" } , { "\xc1\xe8\xbf\xe5\xa2" , "\x68\x62\xf7\xc9\xe5" } , { "\xc1\xe8\xbf\xe6" , "\x68\x62\xf7\xc9\xe8" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x68\x62\xf7\xac" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x68\x62\xf7\xac\xc9" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x68\x62\xc5\xf7" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x68\x62\xc5\xf7\xc9" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\xce\x68\x62\xc5\xf7" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x68\x62\xc5\xf7\xd2" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x68\x62\xdc\xf7" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\x68\x62\xc5\xe4\xf7" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\x68\x62\xc5\xf7\xc9\xe4" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x68\x62\xc2\xf7\xba\xc9" } , { "\xc1\xe8\xbf\xe9" , "\x68\x63\xf7" } , { "\xc1\xe8\xbf\xe9\xda" , "\x68\x63\xf7\xc9" } , { "\xc1\xe8\xbf\xe9\xdc" , "\x68\x63\xf7\xd2" } , { "\xc1\xe8\xbf\xe9\xe1" , "\x68\x63\xe4\xf7" } , { "\xc1\xe8\xbf\xe9\xe5" , "\x68\x63\xf7\xc9\xe4" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\x68\x63\xf7\xc9\xe5" } , { "\xc1\xe8\xc0" , "\x68\x66\xf8" } , { "\xc1\xe8\xc0\xdb" , "\xce\x68\x66\xf8" } , { "\xc1\xe8\xc1" , "\x68\x68\xc9" } , { "\xc1\xe8\xc1\xa2" , "\x68\x68\xc9\xc6" } , { "\xc1\xe8\xc1\xda" , "\x68\x68\xc9\xc9" } , { "\xc1\xe8\xc1\xda\xa2" , "\x68\x68\xc9\xc9\xc6" } , { "\xc1\xe8\xc1\xdb" , "\xce\x68\x68\xc9" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xcf\x68\x68\xc9" } , { "\xc1\xe8\xc1\xdc" , "\x68\x68\xc9\xd2" } , { "\xc1\xe8\xc1\xdc\xa2" , "\x68\x68\xc9\xd3" } , { "\xc1\xe8\xc1\xdd" , "\x68\x68\xc9\xd6" } , { "\xc1\xe8\xc1\xdd\xa2" , "\x68\x68\xc9\xd6\xc6" } , { "\xc1\xe8\xc1\xde" , "\x68\x68\xc9\xda" } , { "\xc1\xe8\xc1\xe0" , "\x68\x68\xc9\xe0" } , { "\xc1\xe8\xc1\xe0\xa2" , "\x68\x68\xc9\xe1" } , { "\xc1\xe8\xc1\xe1" , "\x68\x68\xc9\xe4" } , { "\xc1\xe8\xc1\xe2" , "\x68\x68\xc9\xe8" } , { "\xc1\xe8\xc1\xe4" , "\x68\x68\xc9\xc9\xe0" } , { "\xc1\xe8\xc1\xe5" , "\x68\x68\xc9\xc9\xe4" } , { "\xc1\xe8\xc2\xdb" , "\xce\x68\x69\xc9" } , { "\xc1\xe8\xc2\xe5" , "\x68\x69\xc9\xc9\xe4" } , { "\xc1\xe8\xc4\xdb" , "\xce\x68\x6e\xf9" } , { "\xc1\xe8\xc4\xdd" , "\x68\x6e\xd6\xf9" } , { "\xc1\xe8\xc4\xe0" , "\x68\x6e\xe0\xf9" } , { "\xc1\xe8\xc6" , "\x68\x78\xc9" } , { "\xc1\xe8\xc6\xa2" , "\x68\x78\xc9\xc6" } , { "\xc1\xe8\xc6\xda" , "\x68\x78\xc9\xc9" } , { "\xc1\xe8\xc6\xdb" , "\xce\x68\x78\xc9" } , { "\xc1\xe8\xc6\xdb\xa2" , "\xcf\x68\x78\xc9" } , { "\xc1\xe8\xc6\xdc" , "\x68\x78\xc9\xd2" } , { "\xc1\xe8\xc6\xdd" , "\x68\x78\xc9\xd6" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x68\x78\xc9\xd6\xc6" } , { "\xc1\xe8\xc6\xe0" , "\x68\x78\xc9\xe0" } , { "\xc1\xe8\xc6\xe0\xa2" , "\x68\x78\xc9\xe1" } , { "\xc1\xe8\xc6\xe1" , "\x68\x78\xc9\xe4" } , { "\xc1\xe8\xc6\xe1\xa2" , "\x68\x78\xc9\xe5" } , { "\xc1\xe8\xc6\xe5" , "\x68\x78\xc9\xc9\xe4" } , { "\xc1\xe8\xc8" , "\x68\x7b\xc9" } , { "\xc1\xe8\xc8\xda" , "\x68\x7b\xc9\xc9" } , { "\xc1\xe8\xc8\xe8\xcf" , "\x68\x7c\xc9" } , { "\xc1\xe8\xca\xda" , "\x68\xa4\xc9\xc9" } , { "\xc1\xe8\xcc" , "\x68\xa8\xc9" } , { "\xc1\xe8\xcc\xda" , "\x68\xa8\xc9\xc9" } , { "\xc1\xe8\xcc\xdb" , "\xce\x68\xa8\xc9" } , { "\xc1\xe8\xcc\xdc" , "\x68\xa8\xc9\xd2" } , { "\xc1\xe8\xcc\xdd" , "\x68\xa8\xc9\xd6" } , { "\xc1\xe8\xcc\xde" , "\x68\xa8\xc9\xda" } , { "\xc1\xe8\xcc\xe0" , "\x68\xa8\xc9\xe0" } , { "\xc1\xe8\xcc\xe1" , "\x68\xa8\xc9\xe4" } , { "\xc1\xe8\xcd" , "\x68\xaa\xc9" } , { "\xc1\xe8\xcd\xa2" , "\x68\xaa\xc9\xc6" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x68\xaa\xc9\xc6\xc6" } , { "\xc1\xe8\xcd\xda" , "\x68\xaa\xc9\xc9" } , { "\xc1\xe8\xcd\xda\xa2" , "\x68\xaa\xc9\xc9\xc6" } , { "\xc1\xe8\xcd\xdc" , "\x68\xaa\xc9\xd2" } , { "\xc1\xe8\xcd\xdd" , "\x68\xaa\xc9\xd6" } , { "\xc1\xe8\xcd\xde\xa2" , "\x68\xaa\xc9\xda\xc6" } , { "\xc1\xe8\xcd\xe1" , "\x68\xaa\xc9\xe4" } , { "\xc1\xe8\xcd\xe5" , "\x68\xaa\xc9\xc9\xe4" } , { "\xc1\xe8\xcd\xe5\xa2" , "\x68\xaa\xc9\xc9\xe5" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x68\xaa\xaa\xc9" } , { "\xc1\xe8\xcf\xda" , "\x68\xc9\xc5\xc9" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x68\xae\xc2\xfa\xaa\xc9" } , { "\xc1\xe8\xd0\xdd" , "\x68\xae\xd6\xfa\xc3" } , { "\xc1\xe8\xd1" , "\x68\xb1\xc9" } , { "\xc1\xe8\xd1\xda\xa2" , "\x68\xb1\xc9\xc9\xc6" } , { "\xc1\xe8\xd1\xdd" , "\x68\xb1\xc9\xd6" } , { "\xc1\xe8\xd4" , "\x68\xb4\xc9" } , { "\xc1\xe8\xd4\xa2" , "\x68\xb4\xc9\xc6" } , { "\xc1\xe8\xd4\xda" , "\x68\xb4\xc9\xc9" } , { "\xc1\xe8\xd4\xdb" , "\xce\x68\xb4\xc9" } , { "\xc1\xe8\xd4\xdc" , "\x68\xb4\xc9\xd2" } , { "\xc1\xe8\xd4\xdd" , "\x68\xb4\xc9\xd6" } , { "\xc1\xe8\xd4\xe1" , "\x68\xb4\xc9\xe4" } , { "\xc1\xe8\xd5\xe6" , "\x68\xb6\xc9\xc9\xe8" } , { "\xc1\xe8\xd7\xdb\xa2" , "\xcf\x68\xba\xc9" } , { "\xc1\xe8\xd9\xbf\xdb" , "\x68\xca\x62\xf7" } , { "\xc1\xe8\xe8" , "\x68\xc9\xc2" } , { "\xc1\xe9" , "\x68\xc9" } , { "\xc1\xe9\xe8\xbf" , "\x68\x62\xf7" } , { "\xc1\xe9\xe8\xbf\xda" , "\x68\x62\xf7\xc9" } , { "\xc1\xe9\xe8\xbf\xdb" , "\xce\x68\x62\xf7" } , { "\xc1\xe9\xe8\xbf\xe1" , "\x68\x62\xe4\xf7" } , { "\xc2" , "\x69\xc9" } , { "\xc2\xa1" , "\x69\xc9\xc4" } , { "\xc2\xa2" , "\x69\xc9\xc6" } , { "\xc2\xa2\xa2" , "\x69\xc9\xc6\xc6" } , { "\xc2\xa3" , "\x69\xc9\x26" } , { "\xc2\xd0\xc6\xda" , "\x69\xc9\xae\xfa\xc3\x78\xc9\xc9" } , { "\xc2\xda" , "\x69\xc9\xc9" } , { "\xc2\xda\xa1" , "\x69\xc9\xc9\xc4" } , { "\xc2\xda\xa2" , "\x69\xc9\xc9\xc6" } , { "\xc2\xda\xa2\xa2" , "\x69\xc9\xc9\xc6\xc6" } , { "\xc2\xda\xa3" , "\x69\xc9\xc9\x26" } , { "\xc2\xdb" , "\xca\x69\xc9" } , { "\xc2\xdb\xa2" , "\xcb\x69\xc9" } , { "\xc2\xdb\xa3" , "\xca\x69\xc9\x26" } , { "\xc2\xdc" , "\x69\xc9\xd2" } , { "\xc2\xdc\xa2" , "\x69\xc9\xd3" } , { "\xc2\xdd" , "\x69\xc9\xd6" } , { "\xc2\xdd\xa1" , "\x69\xc9\xd6\xc4" } , { "\xc2\xdd\xa2" , "\x69\xc9\xd6\xc6" } , { "\xc2\xdd\xa2\xa2" , "\x69\xc9\xd6\xc6\xc6" } , { "\xc2\xdd\xa3" , "\x69\xc9\xd6\x26" } , { "\xc2\xde" , "\x69\xc9\xda" } , { "\xc2\xde\xa1" , "\x69\xc9\xda\xc4" } , { "\xc2\xde\xa2" , "\x69\xc9\xda\xc6" } , { "\xc2\xdf" , "\x69\xc9\xde" } , { "\xc2\xdf\xa2" , "\x69\xc9\xde\xc6" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x69\xc9\xde\xce\xad\x69\xc9" } , { "\xc2\xe0" , "\x69\xc9\xe0" } , { "\xc2\xe0\xa2" , "\x69\xc9\xe1" } , { "\xc2\xe1" , "\x69\xc9\xe4" } , { "\xc2\xe1\xa2" , "\x69\xc9\xe5" } , { "\xc2\xe1\xa3" , "\x69\xc9\xe4\x26" } , { "\xc2\xe2" , "\x69\xc9\xe8" } , { "\xc2\xe2\xa2" , "\x69\xc9\xe9" } , { "\xc2\xe2\xa3" , "\x69\xc9\xe8\x26" } , { "\xc2\xe4" , "\x69\xc9\xc9\xe0" } , { "\xc2\xe4\xa2" , "\x69\xc9\xc9\xe1" } , { "\xc2\xe5" , "\x69\xc9\xc9\xe4" } , { "\xc2\xe5\xa2" , "\x69\xc9\xc9\xe5" } , { "\xc2\xe5\xa3" , "\x69\xc9\xc9\xe4\x26" } , { "\xc2\xe6" , "\x69\xc9\xc9\xe8" } , { "\xc2\xe6\xa2" , "\x69\xc9\xc9\xe9" } , { "\xc2\xe7" , "\x69\xc9\xc9\xec" } , { "\xc2\xe8" , "\x69\xc9\xc2" } , { "\xc2\xe8\xb3" , "\x69\x45\xf2" } , { "\xc2\xe8\xb3\xa2" , "\x69\x45\xc6\xf2" } , { "\xc2\xe8\xb3\xda" , "\x69\x45\xf2\xc9" } , { "\xc2\xe8\xb3\xda\xa2" , "\x69\x45\xf2\xc9\xc6" } , { "\xc2\xe8\xb3\xdb" , "\xce\x69\x45\xf2" } , { "\xc2\xe8\xb3\xdb\xa2" , "\xcf\x69\x45\xf2" } , { "\xc2\xe8\xb3\xdc" , "\x69\x45\xf2\xd2" } , { "\xc2\xe8\xb3\xdd" , "\x69\x45\xd6\xf2" } , { "\xc2\xe8\xb3\xdd\xa2" , "\x69\x45\xd6\xc6\xf2" } , { "\xc2\xe8\xb3\xde" , "\x69\x45\xda\xf2" } , { "\xc2\xe8\xb3\xdf" , "\x69\x45\xde\xf2" } , { "\xc2\xe8\xb3\xe0" , "\x69\x45\xe0\xf2" } , { "\xc2\xe8\xb3\xe1" , "\x69\x45\xe4\xf2" } , { "\xc2\xe8\xb3\xe1\xa2" , "\x69\x45\xe5\xf2" } , { "\xc2\xe8\xb3\xe4" , "\x69\x45\xf2\xc9\xe0" } , { "\xc2\xe8\xb3\xe5" , "\x69\x45\xf2\xc9\xe4" } , { "\xc2\xe8\xb3\xe8\xc2" , "\x69\x48\xf2" } , { "\xc2\xe8\xb3\xe8\xcf" , "\x69\x47\xf2" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\x69\x47\xc6\xf2" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\xce\x69\x47\xf2" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\x69\x47\xe5\xf2" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\x69\x47\xf2\xc9\xe4" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\x69\x43\xb1\xc9\xe4" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\x69\x43\xb1\xc9\xc9\xe4" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x69\x43\xb4\xc9" } , { "\xc2\xe8\xb3\xe8\xd6" , "\x69\x49\xc9" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\xce\x69\x49\xc9" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\x69\x49\xc9\xe4" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\x69\x49\x5d\xf5" } , { "\xc2\xe8\xb4" , "\x69\x4a\xc9" } , { "\xc2\xe8\xb4\xa2" , "\x69\x4a\xc9\xc6" } , { "\xc2\xe8\xb4\xda" , "\x69\x4a\xc9\xc9" } , { "\xc2\xe8\xb4\xe1" , "\x69\x4a\xc9\xe4" } , { "\xc2\xe8\xb5\xda" , "\x69\x4d\xc9\xc9" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x69\x4d\xbd\xfe" } , { "\xc2\xe8\xb8" , "\x69\x53\xc9" } , { "\xc2\xe8\xb8\xda" , "\x69\x53\xc9\xc9" } , { "\xc2\xe8\xb8\xe1" , "\x69\x53\xc9\xe4" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x69\x53\x55\xf4" } , { "\xc2\xe8\xba" , "\x69\x56\xc9" } , { "\xc2\xe8\xba\xa2" , "\x69\x56\xc9\xc6" } , { "\xc2\xe8\xba\xdb" , "\xce\x69\x56\xc9" } , { "\xc2\xe8\xba\xe8\xbc" , "\x69\x59\xc9" } , { "\xc2\xe8\xba\xe9" , "\x69\x57\xc9" } , { "\xc2\xe8\xbd\xe2" , "\x69\x5d\xe8\xf5" } , { "\xc2\xe8\xbf\xdd" , "\x69\x62\xd6\xf7" } , { "\xc2\xe8\xbf\xe5" , "\x69\x62\xf7\xc9\xe4" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\x69\x62\xc5\xf7\xc9" } , { "\xc2\xe8\xc1" , "\x69\x68\xc9" } , { "\xc2\xe8\xc2" , "\x6b\xc9" } , { "\xc2\xe8\xc2\xa2" , "\x6b\xc9\xc6" } , { "\xc2\xe8\xc2\xda" , "\x6b\xc9\xc9" } , { "\xc2\xe8\xc2\xda\xa1" , "\x6b\xc9\xc9\xc4" } , { "\xc2\xe8\xc2\xda\xa2" , "\x6b\xc9\xc9\xc6" } , { "\xc2\xe8\xc2\xda\xa3" , "\x6b\xc9\xc9\x26" } , { "\xc2\xe8\xc2\xdb" , "\xca\x6b\xc9" } , { "\xc2\xe8\xc2\xdb\xa2" , "\xcb\x6b\xc9" } , { "\xc2\xe8\xc2\xdb\xa3" , "\xca\x6b\xc9\x26" } , { "\xc2\xe8\xc2\xdc" , "\x6b\xc9\xd2" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x6b\xc9\xd3" } , { "\xc2\xe8\xc2\xdd" , "\x6b\xc9\xd6" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x6b\xc9\xd6\xc6" } , { "\xc2\xe8\xc2\xde" , "\x6b\xc9\xda" } , { "\xc2\xe8\xc2\xde\xa2" , "\x6b\xc9\xda\xc6" } , { "\xc2\xe8\xc2\xdf" , "\x6b\xc9\xde" } , { "\xc2\xe8\xc2\xe0" , "\x6b\xc9\xe0" } , { "\xc2\xe8\xc2\xe0\xa2" , "\x6b\xc9\xe1" } , { "\xc2\xe8\xc2\xe1" , "\x6b\xc9\xe4" } , { "\xc2\xe8\xc2\xe1\xa2" , "\x6b\xc9\xe5" } , { "\xc2\xe8\xc2\xe1\xa3" , "\x6b\xc9\xe4\x26" } , { "\xc2\xe8\xc2\xe2" , "\x6b\xc9\xe8" } , { "\xc2\xe8\xc2\xe4" , "\x6b\xc9\xc9\xe0" } , { "\xc2\xe8\xc2\xe5" , "\x6b\xc9\xc9\xe4" } , { "\xc2\xe8\xc2\xe5\xa2" , "\x6b\xc9\xc9\xe5" } , { "\xc2\xe8\xc2\xe6" , "\x6b\xc9\xc9\xe8" } , { "\xc2\xe8\xc2\xe8" , "\x6b\xc9\xc2" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x6b\x45\xf2" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x6b\x45\xf2\xc9" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\x6b\x49\xc9" } , { "\xc2\xe8\xc2\xe8\xc2" , "\x6b\x69\xc9" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\x6b\x69\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\xce\x6b\x69\xc9" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\x6b\x69\xc9\xe4" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x69\x6b\x69\xc9\xc2" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x6b\x69\xb4\xc9\xc9\xe5" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\x6b\x6c\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x6b\x7b\xc9\xda" } , { "\xc2\xe8\xc2\xe8\xcc" , "\x6b\xa8\xc9" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x6b\xaa\xc9" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x6b\xaa\xc9\xc6" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x6b\xaa\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x6b\xaa\xc9\xd6" } , { "\xc2\xe8\xc2\xe8\xcf" , "\x6b\xae\xfa" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\x6b\xae\xc6\xfa" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\x6b\xae\xfa\xc9" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\xce\x6b\xae\xfa" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\x6b\xae\xe0\xfa" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\x6b\xae\xe8\xfa" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\x6b\xae\xc2\xfa\xaa\xc9" } , { "\xc2\xe8\xc2\xe8\xd4" , "\x6b\xb4\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\x6b\xb4\xc9\xc6" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\x6b\xb4\xc9\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\x6b\xb4\xc9\xc9\xc6" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\xce\x6b\xb4\xc9" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\x6b\xb4\xc9\xda" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x6b\xb4\xc9\xc9\xe4" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x6b\xb4\xc9\xc9\xe5" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x6b\x7b\xc9" } , { "\xc2\xe8\xc3" , "\x69\x6c\xc9" } , { "\xc2\xe8\xc3\xa2" , "\x69\x6c\xc9\xc6" } , { "\xc2\xe8\xc3\xda" , "\x69\x6c\xc9\xc9" } , { "\xc2\xe8\xc3\xdb" , "\xce\x69\x6c\xc9" } , { "\xc2\xe8\xc3\xdc" , "\x69\x6c\xc9\xd2" } , { "\xc2\xe8\xc3\xde" , "\x69\x6c\xc9\xda" } , { "\xc2\xe8\xc3\xe1" , "\x69\x6c\xc9\xe4" } , { "\xc2\xe8\xc3\xe5" , "\x69\x6c\xc9\xc9\xe4" } , { "\xc2\xe8\xc3\xe5\xa2" , "\x69\x6c\xc9\xc9\xe5" } , { "\xc2\xe8\xc4" , "\x69\x6e\xf9" } , { "\xc2\xe8\xc4\xda" , "\x69\x6e\xf9\xc9" } , { "\xc2\xe8\xc4\xdd" , "\x69\x6e\xd6\xf9" } , { "\xc2\xe8\xc4\xe1" , "\x69\x6e\xe4\xf9" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x69\x75\xe8\xf9" } , { "\xc2\xe8\xc5" , "\x69\x76\xc9" } , { "\xc2\xe8\xc5\xa2" , "\x69\x76\xc9\xc6" } , { "\xc2\xe8\xc5\xda" , "\x69\x76\xc9\xc9" } , { "\xc2\xe8\xc5\xda\xa2" , "\x69\x76\xc9\xc9\xc6" } , { "\xc2\xe8\xc5\xdb" , "\xce\x69\x76\xc9" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x69\x76\xba\xc9" } , { "\xc2\xe8\xc6" , "\x69\x78\xc9" } , { "\xc2\xe8\xc6\xa2" , "\x69\x78\xc9\xc6" } , { "\xc2\xe8\xc6\xda" , "\x69\x78\xc9\xc9" } , { "\xc2\xe8\xc6\xda\xa2" , "\x69\x78\xc9\xc9\xc6" } , { "\xc2\xe8\xc6\xdb" , "\xce\x69\x78\xc9" } , { "\xc2\xe8\xc6\xdb\xa2" , "\xcf\x69\x78\xc9" } , { "\xc2\xe8\xc6\xdc" , "\x69\x78\xc9\xd2" } , { "\xc2\xe8\xc6\xdd" , "\x69\x78\xc9\xd6" } , { "\xc2\xe8\xc6\xdd\xa2" , "\x69\x78\xc9\xd6\xc6" } , { "\xc2\xe8\xc6\xe1" , "\x69\x78\xc9\xe4" } , { "\xc2\xe8\xc6\xe5" , "\x69\x78\xc9\xc9\xe4" } , { "\xc2\xe8\xc6\xe5\xa2" , "\x69\x78\xc9\xc9\xe5" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x69\x78\xaa\xc9" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x69\x78\xaa\xc9\xc9\x26" } , { "\xc2\xe8\xc8" , "\x69\x7b\xc9" } , { "\xc2\xe8\xc8\xa2" , "\x69\x7b\xc9\xc6" } , { "\xc2\xe8\xc8\xda" , "\x69\x7b\xc9\xc9" } , { "\xc2\xe8\xc8\xda\xa2" , "\x69\x7b\xc9\xc9\xc6" } , { "\xc2\xe8\xc8\xdb" , "\xce\x69\x7b\xc9" } , { "\xc2\xe8\xc8\xdb\xa2" , "\xcf\x69\x7b\xc9" } , { "\xc2\xe8\xc8\xdc" , "\x69\x7b\xc9\xd2" } , { "\xc2\xe8\xc8\xdd" , "\x69\x7b\xc9\xd6" } , { "\xc2\xe8\xc8\xde" , "\x69\x7b\xc9\xda" } , { "\xc2\xe8\xc8\xdf" , "\x69\x7b\xc9\xde" } , { "\xc2\xe8\xc8\xe1" , "\x69\x7b\xc9\xe4" } , { "\xc2\xe8\xc8\xe6" , "\x69\x7b\xc9\xc9\xe8" } , { "\xc2\xe8\xc8\xe8\xc2" , "\x69\x7b\x69\xc9" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\xce\x69\x7b\x69\xc9" } , { "\xc2\xe8\xc8\xe8\xcf" , "\x69\x7c\xc9" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\x69\x7c\xc9\xc9" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\x69\x7c\xc9\xc9\xc6" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\xce\x69\x7c\xc9" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\x69\x7c\xc9\xe4" } , { "\xc2\xe8\xc8\xe8\xd1" , "\x69\x7b\xb1\xc9" } , { "\xc2\xe8\xc9" , "\x69\xa1\xf2" } , { "\xc2\xe8\xc9\xda" , "\x69\xa1\xf2\xc9" } , { "\xc2\xe8\xc9\xdb" , "\xce\x69\xa1\xf2" } , { "\xc2\xe8\xc9\xdd" , "\x69\xa1\xd6\xf2" } , { "\xc2\xe8\xc9\xe8\xcf" , "\x69\xa3\xf2" } , { "\xc2\xe8\xc9\xe9" , "\x69\xa2\xf2" } , { "\xc2\xe8\xca" , "\x69\xa4\xc9" } , { "\xc2\xe8\xca\xa2" , "\x69\xa4\xc9\xc6" } , { "\xc2\xe8\xca\xda" , "\x69\xa4\xc9\xc9" } , { "\xc2\xe8\xca\xdb" , "\xce\x69\xa4\xc9" } , { "\xc2\xe8\xca\xdd" , "\x69\xa4\xc9\xd6" } , { "\xc2\xe8\xca\xe1" , "\x69\xa4\xc9\xe4" } , { "\xc2\xe8\xca\xe8\xcf" , "\x69\xa5\xc9" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\x69\xa4\xb1\xc9\xc9" } , { "\xc2\xe8\xcb" , "\x69\xa6\xc9" } , { "\xc2\xe8\xcb\xda" , "\x69\xa6\xc9\xc9" } , { "\xc2\xe8\xcb\xda\xa2" , "\x69\xa6\xc9\xc9\xc6" } , { "\xc2\xe8\xcb\xdb" , "\xce\x69\xa6\xc9" } , { "\xc2\xe8\xcb\xdd" , "\x69\xa6\xc9\xd6" } , { "\xc2\xe8\xcb\xde" , "\x69\xa6\xc9\xda" } , { "\xc2\xe8\xcc" , "\x69\xa8\xc9" } , { "\xc2\xe8\xcc\xa2" , "\x69\xa8\xc9\xc6" } , { "\xc2\xe8\xcc\xda" , "\x69\xa8\xc9\xc9" } , { "\xc2\xe8\xcc\xdb" , "\xce\x69\xa8\xc9" } , { "\xc2\xe8\xcc\xdc" , "\x69\xa8\xc9\xd2" } , { "\xc2\xe8\xcc\xdd" , "\x69\xa8\xc9\xd6" } , { "\xc2\xe8\xcc\xdd\xa2" , "\x69\xa8\xc9\xd6\xc6" } , { "\xc2\xe8\xcc\xdf" , "\x69\xa8\xc9\xde" } , { "\xc2\xe8\xcc\xe1" , "\x69\xa8\xc9\xe4" } , { "\xc2\xe8\xcc\xe1\xa2" , "\x69\xa8\xc9\xe5" } , { "\xc2\xe8\xcc\xe2" , "\x69\xa8\xc9\xe8" } , { "\xc2\xe8\xcc\xe4" , "\x69\xa8\xc9\xc9\xe0" } , { "\xc2\xe8\xcc\xe5" , "\x69\xa8\xc9\xc9\xe4" } , { "\xc2\xe8\xcc\xe6" , "\x69\xa8\xc9\xc9\xe8" } , { "\xc2\xe8\xcc\xe8" , "\x69\xa8\xc9\xc2" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x69\xa8\x45\xf2" } , { "\xc2\xe8\xcc\xe8\xca" , "\x69\xa8\xa4\xc9" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x69\xa8\xaa\xc9" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x69\xa8\xaa\xc9\xc6" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x69\xa8\xaa\xc9\xc9" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x69\xa8\xaa\xc9\xc9\xe5" } , { "\xc2\xe8\xcd" , "\x69\xaa\xc9" } , { "\xc2\xe8\xcd\xa2" , "\x69\xaa\xc9\xc6" } , { "\xc2\xe8\xcd\xda" , "\x69\xaa\xc9\xc9" } , { "\xc2\xe8\xcd\xda\xa2" , "\x69\xaa\xc9\xc9\xc6" } , { "\xc2\xe8\xcd\xdb" , "\xce\x69\xaa\xc9" } , { "\xc2\xe8\xcd\xdc" , "\x69\xaa\xc9\xd2" } , { "\xc2\xe8\xcd\xdd" , "\x69\xaa\xc9\xd6" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x69\xaa\xc9\xd6\xc6" } , { "\xc2\xe8\xcd\xde" , "\x69\xaa\xc9\xda" } , { "\xc2\xe8\xcd\xe1" , "\x69\xaa\xc9\xe4" } , { "\xc2\xe8\xcd\xe1\xa2" , "\x69\xaa\xc9\xe5" } , { "\xc2\xe8\xcd\xe5" , "\x69\xaa\xc9\xc9\xe4" } , { "\xc2\xe8\xcd\xe5\xa2" , "\x69\xaa\xc9\xc9\xe5" } , { "\xc2\xe8\xcd\xe6" , "\x69\xaa\xc9\xc9\xe8" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x69\xaa\x69\xc9" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x69\xaa\x69\xc9\xc2" } , { "\xc2\xe8\xcd\xe8\xcc" , "\x69\xaa\xa8\xc9" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\x69\xaa\xa8\xc9\xc6" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\x69\xaa\xa8\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x69\xaa\xaa\xc9" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x69\xaa\xaa\xc9\xc6" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x69\xaa\xaa\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x69\xaa\xaa\xc9\xe4" } , { "\xc2\xe8\xcd\xe8\xcf" , "\x69\xab\xc9" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\x69\xab\xc9\xc6" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\x69\xab\xc9\x26" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\x69\xab\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\x69\xab\xc9\xc9\xe4" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x69\xaa\xba\xc9" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x69\xaa\xba\xc9\x26" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x69\xaa\xba\xc9\xc9" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x69\xaa\xba\xc9\xe5" } , { "\xc2\xe8\xcf" , "\x6a\xc9" } , { "\xc2\xe8\xcf\xa2" , "\x6a\xc9\xc6" } , { "\xc2\xe8\xcf\xa3" , "\x6a\xc9\x26" } , { "\xc2\xe8\xcf\xda" , "\x6a\xc9\xc9" } , { "\xc2\xe8\xcf\xda\xa2" , "\x6a\xc9\xc9\xc6" } , { "\xc2\xe8\xcf\xdb" , "\xca\x6a\xc9" } , { "\xc2\xe8\xcf\xdb\xa2" , "\xcb\x6a\xc9" } , { "\xc2\xe8\xcf\xdb\xa3" , "\xca\x6a\xc9\x26" } , { "\xc2\xe8\xcf\xdc" , "\x6a\xc9\xd2" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x6a\xc9\xd3" } , { "\xc2\xe8\xcf\xdd" , "\x6a\xc9\xd6" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x6a\xc9\xd6\xc6" } , { "\xc2\xe8\xcf\xde" , "\x6a\xc9\xda" } , { "\xc2\xe8\xcf\xde\xa2" , "\x6a\xc9\xda\xc6" } , { "\xc2\xe8\xcf\xdf" , "\x6a\xc9\xde" } , { "\xc2\xe8\xcf\xe0" , "\x6a\xc9\xe0" } , { "\xc2\xe8\xcf\xe0\xa2" , "\x6a\xc9\xe1" } , { "\xc2\xe8\xcf\xe1" , "\x6a\xc9\xe4" } , { "\xc2\xe8\xcf\xe1\xa2" , "\x6a\xc9\xe5" } , { "\xc2\xe8\xcf\xe2" , "\x6a\xc9\xe8" } , { "\xc2\xe8\xcf\xe2\xa2" , "\x6a\xc9\xe9" } , { "\xc2\xe8\xcf\xe2\xa3" , "\x6a\xc9\xe8\x26" } , { "\xc2\xe8\xcf\xe4" , "\x6a\xc9\xc9\xe0" } , { "\xc2\xe8\xcf\xe5" , "\x6a\xc9\xc9\xe4" } , { "\xc2\xe8\xcf\xe5\xa2" , "\x6a\xc9\xc9\xe5" } , { "\xc2\xe8\xcf\xe5\xa3" , "\x6a\xc9\xc9\xe4\x26" } , { "\xc2\xe8\xcf\xe6" , "\x6a\xc9\xc9\xe8" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x6a\x45\xf2" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\xce\x6a\x53\xc9" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x6a\x69\xc9" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x6a\x69\xc9\xc9" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x6a\x69\xc9\xd2" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x6a\x7b\xc9" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x6a\xaa\xc9" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x6a\xaa\xc9\xc6" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x6a\xaa\xc9\xc9" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x6a\xaa\xc9\xda" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x6a\xaa\xc9\xe4" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x6a\xaa\xc9\xc9\xe4" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x6a\xba\xc9" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x6a\xba\xc9\xc6" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x6a\xaa\xc9\xc7" } , { "\xc2\xe8\xd1" , "\x69\xb1\xc9" } , { "\xc2\xe8\xd1\xa2" , "\x69\xb1\xc9\xc6" } , { "\xc2\xe8\xd1\xda" , "\x69\xb1\xc9\xc9" } , { "\xc2\xe8\xd1\xdb" , "\xce\x69\xb1\xc9" } , { "\xc2\xe8\xd1\xdc" , "\x69\xb1\xc9\xd2" } , { "\xc2\xe8\xd1\xdd" , "\x69\xb1\xc9\xd6" } , { "\xc2\xe8\xd1\xe1" , "\x69\xb1\xc9\xe4" } , { "\xc2\xe8\xd1\xe2" , "\x69\xb1\xc9\xe8" } , { "\xc2\xe8\xd1\xe5" , "\x69\xb1\xc9\xc9\xe4" } , { "\xc2\xe8\xd1\xe8\xc8" , "\x69\xb1\x7b\xc9" } , { "\xc2\xe8\xd4" , "\x69\xb4\xc9" } , { "\xc2\xe8\xd4\xa2" , "\x69\xb4\xc9\xc6" } , { "\xc2\xe8\xd4\xa3" , "\x69\xb4\xc9\x26" } , { "\xc2\xe8\xd4\xda" , "\x69\xb4\xc9\xc9" } , { "\xc2\xe8\xd4\xda\xa2" , "\x69\xb4\xc9\xc9\xc6" } , { "\xc2\xe8\xd4\xdb" , "\xce\x69\xb4\xc9" } , { "\xc2\xe8\xd4\xdb\xa3" , "\xce\x69\xb4\xc9\x26" } , { "\xc2\xe8\xd4\xdc" , "\x69\xb4\xc9\xd2" } , { "\xc2\xe8\xd4\xdd" , "\x69\xb4\xc9\xd6" } , { "\xc2\xe8\xd4\xdf" , "\x69\xb4\xc9\xde" } , { "\xc2\xe8\xd4\xe0" , "\x69\xb4\xc9\xe0" } , { "\xc2\xe8\xd4\xe1" , "\x69\xb4\xc9\xe4" } , { "\xc2\xe8\xd4\xe2" , "\x69\xb4\xc9\xe8" } , { "\xc2\xe8\xd4\xe5" , "\x69\xb4\xc9\xc9\xe4" } , { "\xc2\xe8\xd4\xe5\xa2" , "\x69\xb4\xc9\xc9\xe5" } , { "\xc2\xe8\xd4\xe6" , "\x69\xb4\xc9\xc9\xe8" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\xce\x69\xb4\x69\xc9" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\x69\xb4\x69\xaa\xc9" } , { "\xc2\xe8\xd5" , "\x69\xb6\xc9" } , { "\xc2\xe8\xd5\xda" , "\x69\xb6\xc9\xc9" } , { "\xc2\xe8\xd5\xdb" , "\xce\x69\xb6\xc9" } , { "\xc2\xe8\xd5\xde" , "\x69\xb6\xc9\xda" } , { "\xc2\xe8\xd5\xe1" , "\x69\xb6\xc9\xe4" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x69\xb7\xc9" } , { "\xc2\xe8\xd6" , "\x69\xb9\xc9" } , { "\xc2\xe8\xd6\xda" , "\x69\xb9\xc9\xc9" } , { "\xc2\xe8\xd6\xdb" , "\xce\x69\xb9\xc9" } , { "\xc2\xe8\xd6\xe1" , "\x69\xb9\xc9\xe4" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\x69\xb9\x45\xe4\xf2" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\x69\xb9\x68\xc9\xc9" } , { "\xc2\xe8\xd7" , "\x69\xba\xc9" } , { "\xc2\xe8\xd7\xa2" , "\x69\xba\xc9\xc6" } , { "\xc2\xe8\xd7\xa3" , "\x69\xba\xc9\x26" } , { "\xc2\xe8\xd7\xda" , "\x69\xba\xc9\xc9" } , { "\xc2\xe8\xd7\xda\xa2" , "\x69\xba\xc9\xc9\xc6" } , { "\xc2\xe8\xd7\xdb" , "\xce\x69\xba\xc9" } , { "\xc2\xe8\xd7\xdb\xa2" , "\xcf\x69\xba\xc9" } , { "\xc2\xe8\xd7\xdc" , "\x69\xba\xc9\xd2" } , { "\xc2\xe8\xd7\xdd" , "\x69\xba\xc9\xd6" } , { "\xc2\xe8\xd7\xde" , "\x69\xba\xc9\xda" } , { "\xc2\xe8\xd7\xdf" , "\x69\xba\xc9\xde" } , { "\xc2\xe8\xd7\xe0" , "\x69\xba\xc9\xe0" } , { "\xc2\xe8\xd7\xe1" , "\x69\xba\xc9\xe4" } , { "\xc2\xe8\xd7\xe4" , "\x69\xba\xc9\xc9\xe0" } , { "\xc2\xe8\xd7\xe5" , "\x69\xba\xc9\xc9\xe4" } , { "\xc2\xe8\xd7\xe6" , "\x69\xba\xc9\xc9\xe8" } , { "\xc2\xe8\xd7\xe8" , "\x69\xba\xc9\xc2" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\x69\xba\x45\xf2\xd2" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\x69\xba\x6c\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xc6" , "\x69\xba\x78\xc9" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\x69\xba\x78\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\xce\x69\xba\x78\xc9" } , { "\xc2\xe8\xd7\xe8\xc8" , "\x69\xba\x7b\xc9" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\x69\xba\x7b\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\x69\xba\x7b\xc9\xde" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\x69\xba\xa1\xda\xf2" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\x69\xba\xa1\xf2\xc9\xe4" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x69\xba\xaa\xc9" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x69\xba\xaa\xc9\xc6" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x69\xba\xaa\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x69\xba\xaa\xc9\xc9\xc6" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\xce\x69\xba\xaa\xc9" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x69\xba\xaa\xc9\xd6" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x69\xba\xaa\xc9\xe5" } , { "\xc2\xe8\xd7\xe8\xcf" , "\x69\xbb\xc9" } , { "\xc2\xe8\xd7\xe8\xd4" , "\x69\xba\xb4\xc9" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\x69\xba\xb4\xc9\xc9" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x69\xba\xb4\xc9\xe4" } , { "\xc2\xe8\xd8\xdb" , "\xce\x69\xbd\xfe" } , { "\xc2\xe8\xd8\xdc" , "\x69\xbd\xfe\xd2" } , { "\xc2\xe8\xd9\xa6" , "\x69\x3c" } , { "\xc2\xe8\xd9\xb3\xda" , "\x69\x45\xf2\xc9" } , { "\xc2\xe8\xd9\xc2" , "\x69\x69\xc9" } , { "\xc2\xe8\xd9\xc2\xda" , "\x69\x69\xc9\xc9" } , { "\xc2\xe8\xd9\xc2\xdb" , "\x69\xca\x69\xc9" } , { "\xc2\xe8\xd9\xc2\xdc" , "\x69\x69\xc9\xd2" } , { "\xc2\xe8\xd9\xc2\xe1" , "\x69\x69\xc9\xe4" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\x69\x69\xc9\xc9\xe5" } , { "\xc2\xe8\xd9\xc8" , "\x69\x7b\xc9" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\x69\x69\xc9\xc9\xc7" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\x69\xba\xc9\xc7" } , { "\xc2\xe8\xd9\xd1" , "\x69\xb1\xc9" } , { "\xc2\xe8\xd9\xd4" , "\x69\xb4\xc9" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\x69\xb4\xc9\xc9\xe5" } , { "\xc2\xe8\xe8" , "\x69\xc9\xc2" } , { "\xc2\xe8\xe9\xc2" , "\x69\x69\xc9" } , { "\xc2\xe8\xe9\xcf" , "\x69\xae\xfa" } , { "\xc2\xe9" , "\x69\xc9" } , { "\xc3" , "\x6c\xc9" } , { "\xc3\xa1" , "\x6c\xc9\xc4" } , { "\xc3\xa2" , "\x6c\xc9\xc6" } , { "\xc3\xa3" , "\x6c\xc9\x26" } , { "\xc3\xda" , "\x6c\xc9\xc9" } , { "\xc3\xda\xa1" , "\x6c\xc9\xc9\xc4" } , { "\xc3\xda\xa2" , "\x6c\xc9\xc9\xc6" } , { "\xc3\xdb" , "\xca\x6c\xc9" } , { "\xc3\xdb\xa2" , "\xcb\x6c\xc9" } , { "\xc3\xdc" , "\x6c\xc9\xd2" } , { "\xc3\xdc\xa1" , "\x6c\xc9\xd3" } , { "\xc3\xdc\xa2" , "\x6c\xc9\xd3" } , { "\xc3\xdd" , "\x6c\xc9\xd6" } , { "\xc3\xdd\xa2" , "\x6c\xc9\xd6\xc6" } , { "\xc3\xdd\xa3" , "\x6c\xc9\xd6\x26" } , { "\xc3\xde" , "\x6c\xc9\xda" } , { "\xc3\xde\xa2" , "\x6c\xc9\xda\xc6" } , { "\xc3\xdf" , "\x6c\xc9\xde" } , { "\xc3\xe0" , "\x6c\xc9\xe0" } , { "\xc3\xe1" , "\x6c\xc9\xe4" } , { "\xc3\xe1\xa2" , "\x6c\xc9\xe5" } , { "\xc3\xe2" , "\x6c\xc9\xe8" } , { "\xc3\xe2\xa2" , "\x6c\xc9\xe9" } , { "\xc3\xe4" , "\x6c\xc9\xc9\xe0" } , { "\xc3\xe5" , "\x6c\xc9\xc9\xe4" } , { "\xc3\xe5\xa2" , "\x6c\xc9\xc9\xe5" } , { "\xc3\xe6" , "\x6c\xc9\xc9\xe8" } , { "\xc3\xe6\xa2" , "\x6c\xc9\xc9\xe9" } , { "\xc3\xe7" , "\x6c\xc9\xc9\xec" } , { "\xc3\xe8" , "\x6c\xc9\xc2" } , { "\xc3\xe8\xb3\xdd" , "\x6c\x45\xd6\xf2" } , { "\xc3\xe8\xb5\xda" , "\x6c\x4d\xc9\xc9" } , { "\xc3\xe8\xc2\xdb" , "\xce\x6c\x69\xc9" } , { "\xc3\xe8\xc2\xdd" , "\x6c\x69\xc9\xd6" } , { "\xc3\xe8\xc3" , "\x6c\x6c\xc9" } , { "\xc3\xe8\xc3\xda" , "\x6c\x6c\xc9\xc9" } , { "\xc3\xe8\xc8\xde" , "\x6c\x7b\xc9\xda" } , { "\xc3\xe8\xcc\xda" , "\x6c\xa8\xc9\xc9" } , { "\xc3\xe8\xcc\xdc" , "\x6c\xa8\xc9\xd2" } , { "\xc3\xe8\xcd" , "\x6c\xaa\xc9" } , { "\xc3\xe8\xcd\xa2" , "\x6c\xaa\xc9\xc6" } , { "\xc3\xe8\xcd\xda" , "\x6c\xaa\xc9\xc9" } , { "\xc3\xe8\xcd\xda\xa2" , "\x6c\xaa\xc9\xc9\xc6" } , { "\xc3\xe8\xcd\xda\xa3" , "\x6c\xaa\xc9\xc9\x26" } , { "\xc3\xe8\xcd\xdd" , "\x6c\xaa\xc9\xd6" } , { "\xc3\xe8\xcd\xde" , "\x6c\xaa\xc9\xda" } , { "\xc3\xe8\xcd\xe5" , "\x6c\xaa\xc9\xc9\xe4" } , { "\xc3\xe8\xcd\xe5\xa2" , "\x6c\xaa\xc9\xc9\xe5" } , { "\xc3\xe8\xcf" , "\x6d\xc9" } , { "\xc3\xe8\xcf\xda" , "\x6d\xc9\xc9" } , { "\xc3\xe8\xcf\xda\xa2" , "\x6d\xc9\xc9\xc6" } , { "\xc3\xe8\xcf\xdb" , "\xca\x6d\xc9" } , { "\xc3\xe8\xcf\xdc" , "\x6d\xc9\xd2" } , { "\xc3\xe8\xcf\xde" , "\x6d\xc9\xda" } , { "\xc3\xe8\xcf\xe0" , "\x6d\xc9\xe0" } , { "\xc3\xe8\xcf\xe1" , "\x6d\xc9\xe4" } , { "\xc3\xe8\xcf\xe2" , "\x6d\xc9\xe8" } , { "\xc3\xe8\xcf\xe5" , "\x6d\xc9\xc9\xe4" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x6d\xaa\xc9" } , { "\xc3\xe8\xd1\xdd" , "\x6c\xb1\xc9\xd6" } , { "\xc3\xe8\xd1\xe5" , "\x6c\xb1\xc9\xc9\xe4" } , { "\xc3\xe8\xd2" , "\x6c\xb3\xfd" } , { "\xc3\xe8\xd4" , "\x6c\xb4\xc9" } , { "\xc3\xe8\xd4\xda" , "\x6c\xb4\xc9\xc9" } , { "\xc3\xe8\xd4\xdb" , "\xce\x6c\xb4\xc9" } , { "\xc3\xe8\xd4\xdc" , "\x6c\xb4\xc9\xd2" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x6c\xb8\xc9\xd2" } , { "\xc3\xe8\xd7" , "\x6c\xba\xc9" } , { "\xc3\xe8\xd7\xe8" , "\x6c\xba\xc9\xc2" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x6c\xaa\xc9\xc7" } , { "\xc3\xe8\xe8" , "\x6c\xc9\xc2" } , { "\xc3\xe8\xe9\xcf" , "\x6c\xae\xfa" } , { "\xc3\xe9" , "\x6c\xc9" } , { "\xc4" , "\x6e\xf9" } , { "\xc4\xa1" , "\x6e\xc4\xf9" } , { "\xc4\xa2" , "\x6e\xc6\xf9" } , { "\xc4\xa2\xa2" , "\x6e\xc6\xf9\xc6" } , { "\xc4\xa3" , "\x6e\xf9\x26" } , { "\xc4\xd3\xcd\xda" , "\x6e\xf9\xb3\xc3\xfd\xaa\xc9\xc9" } , { "\xc4\xd9" , "\x6e\xf9" } , { "\xc4\xda" , "\x6e\xf9\xc9" } , { "\xc4\xda\xa1" , "\x6e\xf9\xc9\xc4" } , { "\xc4\xda\xa2" , "\x6e\xf9\xc9\xc6" } , { "\xc4\xda\xa2\xa2" , "\x6e\xf9\xc9\xc6\xc6" } , { "\xc4\xda\xa3" , "\x6e\xf9\xc9\x26" } , { "\xc4\xdb" , "\xca\x6e\xf9" } , { "\xc4\xdb\xa2" , "\xcb\x6e\xf9" } , { "\xc4\xdb\xa2\xa2" , "\xcb\x6e\xf9\xc6" } , { "\xc4\xdb\xa3" , "\xca\x6e\xf9\x26" } , { "\xc4\xdb\xd7\xdf" , "\xca\x6e\xf9\xba\xc9\xde" } , { "\xc4\xdc" , "\x6e\xf9\xd2" } , { "\xc4\xdc\xa2" , "\x6e\xf9\xd3" } , { "\xc4\xdd" , "\x6e\xd6\xf9" } , { "\xc4\xdd\xa1" , "\x6e\xd6\xc4\xf9" } , { "\xc4\xdd\xa2" , "\x6e\xd6\xc6\xf9" } , { "\xc4\xdd\xa3" , "\x6e\xd6\xf9\x26" } , { "\xc4\xde" , "\x6e\xda\xf9" } , { "\xc4\xde\xa1" , "\x6e\xda\xc4\xf9" } , { "\xc4\xde\xa2" , "\x6e\xda\xc6\xf9" } , { "\xc4\xdf" , "\x6f\xf9" } , { "\xc4\xdf\xa2" , "\x6f\xc6\xf9" } , { "\xc4\xe0" , "\x6e\xe0\xf9" } , { "\xc4\xe0\xa2" , "\x6e\xe1\xf9" } , { "\xc4\xe1" , "\x6e\xe4\xf9" } , { "\xc4\xe1\xa2" , "\x6e\xe5\xf9" } , { "\xc4\xe2" , "\x6e\xe8\xf9" } , { "\xc4\xe2\xa2" , "\x6e\xe9\xf9" } , { "\xc4\xe2\xa3" , "\x6e\xe8\xf9\x26" } , { "\xc4\xe4" , "\x6e\xf9\xc9\xe0" } , { "\xc4\xe4\xa2" , "\x6e\xf9\xc9\xe1" } , { "\xc4\xe5" , "\x6e\xf9\xc9\xe4" } , { "\xc4\xe5\xa2" , "\x6e\xf9\xc9\xe5" } , { "\xc4\xe6" , "\x6e\xf9\xc9\xe8" } , { "\xc4\xe6\xa2" , "\x6e\xf9\xc9\xe9" } , { "\xc4\xe7" , "\x6e\xf9\xc9\xec" } , { "\xc4\xe8" , "\x6e\xc2\xf9" } , { "\xc4\xe8\xb3" , "\x6e\xc2\xf9\x45\xf2" } , { "\xc4\xe8\xb3\xda" , "\x6e\xc2\xf9\x45\xf2\xc9" } , { "\xc4\xe8\xb3\xdb" , "\xce\x6e\xc2\xf9\x45\xf2" } , { "\xc4\xe8\xb3\xdd" , "\x6e\xc2\xf9\x45\xd6\xf2" } , { "\xc4\xe8\xb3\xde" , "\x6e\xc2\xf9\x45\xda\xf2" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\x6e\xc2\xf9\x43\x45\xe0\xf2" } , { "\xc4\xe8\xb4" , "\x6e\xc2\xf9\x4a\xc9" } , { "\xc4\xe8\xb4\xda" , "\x6e\xc2\xf9\x4a\xc9\xc9" } , { "\xc4\xe8\xb5" , "\x6e\xc2\xf9\x4d\xc9" } , { "\xc4\xe8\xb5\xa2" , "\x6e\xc2\xf9\x4d\xc9\xc6" } , { "\xc4\xe8\xb5\xda" , "\x6e\xc2\xf9\x4d\xc9\xc9" } , { "\xc4\xe8\xb5\xdc" , "\x6e\xc2\xf9\x4d\xc9\xd2" } , { "\xc4\xe8\xb5\xdd" , "\x6e\xc2\xf9\x4d\xc9\xd6" } , { "\xc4\xe8\xb5\xdf" , "\x6e\xc2\xf9\x4d\xc9\xde" } , { "\xc4\xe8\xb5\xe1" , "\x6e\xc2\xf9\x4d\xc9\xe4" } , { "\xc4\xe8\xb5\xe5" , "\x6e\xc2\xf9\x4d\xc9\xc9\xe4" } , { "\xc4\xe8\xb5\xe8\xc5" , "\x6e\xc2\xf9\x4d\x76\xc9" } , { "\xc4\xe8\xb5\xe8\xcf" , "\x6e\xc2\xf9\x4f\xc9" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\x6e\xc2\xf9\x4f\xc9\xc6" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\x6e\xc2\xf9\x4f\xc9\xc9" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\x6e\xc2\xf9\x4f\xc9\xd2" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x6e\xc2\xf9\x4d\xbd\xfe" } , { "\xc4\xe8\xb6" , "\x6e\xc2\xf9\x50\xc9" } , { "\xc4\xe8\xb6\xda" , "\x6e\xc2\xf9\x50\xc9\xc9" } , { "\xc4\xe8\xb6\xda\xa2" , "\x6e\xc2\xf9\x50\xc9\xc9\xc6" } , { "\xc4\xe8\xb6\xdf" , "\x6e\xc2\xf9\x50\xc9\xde" } , { "\xc4\xe8\xb6\xe5" , "\x6e\xc2\xf9\x50\xc9\xc9\xe4" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x6e\xc2\xf9\x50\x69\xc9" } , { "\xc4\xe8\xb8" , "\x6e\xc2\xf9\x53\xc9" } , { "\xc4\xe8\xb8\xda" , "\x6e\xc2\xf9\x53\xc9\xc9" } , { "\xc4\xe8\xb8\xdb" , "\xce\x6e\xc2\xf9\x53\xc9" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\xce\x6e\xc2\xf9\x53\x55\xf4" } , { "\xc4\xe8\xba" , "\x6e\xc2\xf9\x56\xc9" } , { "\xc4\xe8\xba\xdc" , "\x6e\xc2\xf9\x56\xc9\xd2" } , { "\xc4\xe8\xba\xdd" , "\x6e\xc2\xf9\x56\xc9\xd6" } , { "\xc4\xe8\xba\xdf" , "\x6e\xc2\xf9\x56\xc9\xde" } , { "\xc4\xe8\xba\xe1" , "\x6e\xc2\xf9\x56\xc9\xe4" } , { "\xc4\xe8\xba\xe5" , "\x6e\xc2\xf9\x56\xc9\xc9\xe4" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\x6e\xc2\xf9\x59\xc9\xd6" } , { "\xc4\xe8\xbb" , "\x6e\xc2\xf9\x5a\xc9" } , { "\xc4\xe8\xbf\xda" , "\x6e\xc2\xf9\x62\xf7\xc9" } , { "\xc4\xe8\xbf\xdb" , "\xce\x6e\xc2\xf9\x62\xf7" } , { "\xc4\xe8\xbf\xe9" , "\x6e\xc2\xf9\x63\xf7" } , { "\xc4\xe8\xc0" , "\x6e\xc2\xf9\x66\xf8" } , { "\xc4\xe8\xc0\xe9" , "\x6e\xc2\xf9\x67\xf8" } , { "\xc4\xe8\xc2" , "\x6e\xc2\xf9\x69\xc9" } , { "\xc4\xe8\xc2\xa2" , "\x6e\xc2\xf9\x69\xc9\xc6" } , { "\xc4\xe8\xc2\xdd" , "\x6e\xc2\xf9\x69\xc9\xd6" } , { "\xc4\xe8\xc2\xe2" , "\x6e\xc2\xf9\x69\xc9\xe8" } , { "\xc4\xe8\xc2\xe5" , "\x6e\xc2\xf9\x69\xc9\xc9\xe4" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\x6e\xc2\xf9\x69\xb4\xc9\xe8" } , { "\xc4\xe8\xc3" , "\x6e\xc2\xf9\x6c\xc9" } , { "\xc4\xe8\xc3\xa2" , "\x6e\xc2\xf9\x6c\xc9\xc6" } , { "\xc4\xe8\xc3\xda" , "\x6e\xc2\xf9\x6c\xc9\xc9" } , { "\xc4\xe8\xc3\xda\xa2" , "\x6e\xc2\xf9\x6c\xc9\xc9\xc6" } , { "\xc4\xe8\xc3\xdb" , "\xce\x6e\xc2\xf9\x6c\xc9" } , { "\xc4\xe8\xc3\xdb\xa3" , "\xce\x6e\xc2\xf9\x6c\xc9\x26" } , { "\xc4\xe8\xc3\xdd" , "\x6e\xc2\xf9\x6c\xc9\xd6" } , { "\xc4\xe8\xc4" , "\x71\xf9" } , { "\xc4\xe8\xc4\xa2" , "\x71\xc6\xf9" } , { "\xc4\xe8\xc4\xa3" , "\x71\xf9\x26" } , { "\xc4\xe8\xc4\xda" , "\x71\xf9\xc9" } , { "\xc4\xe8\xc4\xda\xa2" , "\x71\xf9\xc9\xc6" } , { "\xc4\xe8\xc4\xdb" , "\xca\x71\xf9" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xcb\x71\xf9" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xca\x71\xf9\x26" } , { "\xc4\xe8\xc4\xdc" , "\x71\xf9\xd2" } , { "\xc4\xe8\xc4\xdd" , "\x71\xd9\xf9" } , { "\xc4\xe8\xc4\xdd\xa2" , "\x71\xd9\xc6\xf9" } , { "\xc4\xe8\xc4\xde" , "\x71\xdd\xf9" } , { "\xc4\xe8\xc4\xdf" , "\x71\xde\xf9" } , { "\xc4\xe8\xc4\xe0" , "\x71\xe0\xf9" } , { "\xc4\xe8\xc4\xe0\xa2" , "\x71\xe1\xf9" } , { "\xc4\xe8\xc4\xe1" , "\x71\xe4\xf9" } , { "\xc4\xe8\xc4\xe1\xa2" , "\x71\xe5\xf9" } , { "\xc4\xe8\xc4\xe1\xa3" , "\x71\xe4\xf9\x26" } , { "\xc4\xe8\xc4\xe2" , "\x71\xe8\xf9" } , { "\xc4\xe8\xc4\xe4" , "\x71\xf9\xc9\xe0" } , { "\xc4\xe8\xc4\xe5" , "\x71\xf9\xc9\xe4" } , { "\xc4\xe8\xc4\xe5\xa2" , "\x71\xf9\xc9\xe5" } , { "\xc4\xe8\xc4\xe6" , "\x71\xf9\xc9\xe8" } , { "\xc4\xe8\xc4\xe8" , "\x71\xc2\xf9" } , { "\xc4\xe8\xc4\xe8\xcd" , "\x6e\xc2\xf9\x74" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\x6e\xc2\xf9\x74\xc6" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\x6e\xc2\xf9\x74\xd6" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\x6e\xc2\xf9\x74\xc9\xe4" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\xce\x6e\xc2\xf9\x70\xf9" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x6e\xc2\xf9\x70\xda\xf9" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\x6e\xc2\xf9\x75\xc6\xf9" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\x6e\xc2\xf9\x75\xf9\xc9" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\xce\x6e\xc2\xf9\x75\xf9" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\x6e\xc2\xf9\x75\xe4\xf9" } , { "\xc4\xe8\xc5" , "\x72\xf9" } , { "\xc4\xe8\xc5\xa2" , "\x72\xc6\xf9" } , { "\xc4\xe8\xc5\xa3" , "\x72\xf9\x26" } , { "\xc4\xe8\xc5\xda" , "\x72\xf9\xc9" } , { "\xc4\xe8\xc5\xda\xa1" , "\x72\xf9\xc9\xc4" } , { "\xc4\xe8\xc5\xda\xa2" , "\x72\xf9\xc9\xc6" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\x72\xf9\xc9\xc6\xc6" } , { "\xc4\xe8\xc5\xda\xa3" , "\x72\xf9\xc9\x26" } , { "\xc4\xe8\xc5\xdb" , "\xca\x72\xf9" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xcb\x72\xf9" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xca\x72\xf9\x26" } , { "\xc4\xe8\xc5\xdc" , "\x72\xf9\xd2" } , { "\xc4\xe8\xc5\xdc\xa2" , "\x72\xf9\xd3" } , { "\xc4\xe8\xc5\xdd" , "\x72\xd6\xf9" } , { "\xc4\xe8\xc5\xdd\xa2" , "\x72\xd6\xc6\xf9" } , { "\xc4\xe8\xc5\xde" , "\x72\xda\xf9" } , { "\xc4\xe8\xc5\xdf" , "\x72\xde\xf9" } , { "\xc4\xe8\xc5\xe0" , "\x72\xe0\xf9" } , { "\xc4\xe8\xc5\xe1" , "\x72\xe4\xf9" } , { "\xc4\xe8\xc5\xe1\xa2" , "\x72\xe5\xf9" } , { "\xc4\xe8\xc5\xe1\xa3" , "\x72\xe4\xf9\x26" } , { "\xc4\xe8\xc5\xe2" , "\x72\xe8\xf9" } , { "\xc4\xe8\xc5\xe4" , "\x72\xf9\xc9\xe0" } , { "\xc4\xe8\xc5\xe5" , "\x72\xf9\xc9\xe4" } , { "\xc4\xe8\xc5\xe5\xa2" , "\x72\xf9\xc9\xe5" } , { "\xc4\xe8\xc5\xe8\xc2" , "\x6e\xc2\xf9\x76\x69\xc9" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\x6e\xc2\xf9\x76\x78\xc9\xc9" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\x6e\xc2\xf9\x76\xa4\xc9\xd2" } , { "\xc4\xe8\xc5\xe8\xcd" , "\x6e\xc2\xf9\x76\xaa\xc9" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\x6e\xc2\xf9\x76\xaa\xc9\xc6" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\x6e\xc2\xf9\x76\xaa\xc9\xc9" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\x6e\xc2\xf9\x76\xaa\xc9\xc9\xe4" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\xce\x6e\xc2\xf9\x77\xc9" } , { "\xc4\xe8\xc5\xe8\xd4" , "\x6e\xc2\xf9\x76\xb4\xc9" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\x6e\xc2\xf9\x76\xb4\xc9\xc9" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\x6e\xc2\xf9\x76\xb6\xc9\xd6" } , { "\xc4\xe8\xc6" , "\x6e\xc2\xf9\x78\xc9" } , { "\xc4\xe8\xc6\xda" , "\x6e\xc2\xf9\x78\xc9\xc9" } , { "\xc4\xe8\xc6\xdb" , "\xce\x6e\xc2\xf9\x78\xc9" } , { "\xc4\xe8\xc6\xdb\xa2" , "\xcf\x6e\xc2\xf9\x78\xc9" } , { "\xc4\xe8\xc6\xdc" , "\x6e\xc2\xf9\x78\xc9\xd2" } , { "\xc4\xe8\xc6\xdd" , "\x6e\xc2\xf9\x78\xc9\xd6" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x6e\xc2\xf9\x78\xc9\xd6\xc6" } , { "\xc4\xe8\xc6\xe5" , "\x6e\xc2\xf9\x78\xc9\xc9\xe4" } , { "\xc4\xe8\xc6\xe8\xc2" , "\x6e\xc2\xf9\x78\x69\xc9" } , { "\xc4\xe8\xc8" , "\x6e\xc2\xf9\x7b\xc9" } , { "\xc4\xe8\xc8\xa2" , "\x6e\xc2\xf9\x7b\xc9\xc6" } , { "\xc4\xe8\xc8\xda" , "\x6e\xc2\xf9\x7b\xc9\xc9" } , { "\xc4\xe8\xc8\xdd" , "\x6e\xc2\xf9\x7b\xc9\xd6" } , { "\xc4\xe8\xc8\xde" , "\x6e\xc2\xf9\x7b\xc9\xda" } , { "\xc4\xe8\xc8\xe2" , "\x6e\xc2\xf9\x7b\xc9\xe8" } , { "\xc4\xe8\xca" , "\x6e\xc2\xf9\xa4\xc9" } , { "\xc4\xe8\xca\xa2" , "\x6e\xc2\xf9\xa4\xc9\xc6" } , { "\xc4\xe8\xca\xda" , "\x6e\xc2\xf9\xa4\xc9\xc9" } , { "\xc4\xe8\xca\xda\xa2" , "\x6e\xc2\xf9\xa4\xc9\xc9\xc6" } , { "\xc4\xe8\xca\xdb" , "\xce\x6e\xc2\xf9\xa4\xc9" } , { "\xc4\xe8\xca\xdc" , "\x6e\xc2\xf9\xa4\xc9\xd2" } , { "\xc4\xe8\xca\xdd" , "\x6e\xc2\xf9\xa4\xc9\xd6" } , { "\xc4\xe8\xca\xe1" , "\x6e\xc2\xf9\xa4\xc9\xe4" } , { "\xc4\xe8\xca\xe5" , "\x6e\xc2\xf9\xa4\xc9\xc9\xe4" } , { "\xc4\xe8\xca\xe8\xcf" , "\x6e\xc2\xf9\xa5\xc9" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\x6e\xc2\xf9\xa5\xc9\xc9" } , { "\xc4\xe8\xcb" , "\x6e\xc2\xf9\xa6\xc9" } , { "\xc4\xe8\xcb\xa2" , "\x6e\xc2\xf9\xa6\xc9\xc6" } , { "\xc4\xe8\xcb\xda" , "\x6e\xc2\xf9\xa6\xc9\xc9" } , { "\xc4\xe8\xcb\xda\xa2" , "\x6e\xc2\xf9\xa6\xc9\xc9\xc6" } , { "\xc4\xe8\xcb\xdb" , "\xce\x6e\xc2\xf9\xa6\xc9" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xce\x6e\xc2\xf9\xa6\xc9\x26" } , { "\xc4\xe8\xcb\xdc" , "\x6e\xc2\xf9\xa6\xc9\xd2" } , { "\xc4\xe8\xcb\xdd" , "\x6e\xc2\xf9\xa6\xc9\xd6" } , { "\xc4\xe8\xcb\xde" , "\x6e\xc2\xf9\xa6\xc9\xda" } , { "\xc4\xe8\xcb\xe1" , "\x6e\xc2\xf9\xa6\xc9\xe4" } , { "\xc4\xe8\xcb\xe5" , "\x6e\xc2\xf9\xa6\xc9\xc9\xe4" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\x6e\xc2\xf9\xa7\xc9\xc9" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\x6e\xc2\xf9\xa7\xc9\xda" } , { "\xc4\xe8\xcc" , "\x6e\xc2\xf9\xa8\xc9" } , { "\xc4\xe8\xcc\xa2" , "\x6e\xc2\xf9\xa8\xc9\xc6" } , { "\xc4\xe8\xcc\xda" , "\x6e\xc2\xf9\xa8\xc9\xc9" } , { "\xc4\xe8\xcc\xda\xa2" , "\x6e\xc2\xf9\xa8\xc9\xc9\xc6" } , { "\xc4\xe8\xcc\xdb" , "\xce\x6e\xc2\xf9\xa8\xc9" } , { "\xc4\xe8\xcc\xdd" , "\x6e\xc2\xf9\xa8\xc9\xd6" } , { "\xc4\xe8\xcc\xde" , "\x6e\xc2\xf9\xa8\xc9\xda" } , { "\xc4\xe8\xcc\xe1" , "\x6e\xc2\xf9\xa8\xc9\xe4" } , { "\xc4\xe8\xcc\xe1\xa2" , "\x6e\xc2\xf9\xa8\xc9\xe5" } , { "\xc4\xe8\xcc\xe5" , "\x6e\xc2\xf9\xa8\xc9\xc9\xe4" } , { "\xc4\xe8\xcd" , "\x74" } , { "\xc4\xe8\xcd\xa1" , "\x74\xc4" } , { "\xc4\xe8\xcd\xa2" , "\x74\xc6" } , { "\xc4\xe8\xcd\xa3" , "\x74\x26" } , { "\xc4\xe8\xcd\xda" , "\x74\xc9" } , { "\xc4\xe8\xcd\xda\xa2" , "\x74\xc9\xc6" } , { "\xc4\xe8\xcd\xda\xa3" , "\x74\xc9\x26" } , { "\xc4\xe8\xcd\xdb" , "\xca\x74" } , { "\xc4\xe8\xcd\xdc" , "\x74\xd2" } , { "\xc4\xe8\xcd\xdd" , "\x74\xd6" } , { "\xc4\xe8\xcd\xdd\xa2" , "\x74\xd6\xc6" } , { "\xc4\xe8\xcd\xde" , "\x74\xda" } , { "\xc4\xe8\xcd\xdf" , "\x74\xde" } , { "\xc4\xe8\xcd\xe0" , "\x74\xe0" } , { "\xc4\xe8\xcd\xe1" , "\x74\xe4" } , { "\xc4\xe8\xcd\xe1\xa2" , "\x74\xe5" } , { "\xc4\xe8\xcd\xe2" , "\x74\xe8" } , { "\xc4\xe8\xcd\xe4" , "\x74\xc9\xe0" } , { "\xc4\xe8\xcd\xe5" , "\x74\xc9\xe4" } , { "\xc4\xe8\xcd\xe5\xa2" , "\x74\xc9\xe5" } , { "\xc4\xe8\xcd\xe6" , "\x74\xc9\xe8" } , { "\xc4\xe8\xcd\xe6\xa2" , "\x74\xc9\xe9" } , { "\xc4\xe8\xcd\xe8" , "\x74\xc2" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x6e\xc2\xf9\xaa\xaa\xc9" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x6e\xc2\xf9\xaa\xaa\xc9\xc9" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\x6e\xc2\xf9\xaa\xaa\xc9\xc9\xe4" } , { "\xc4\xe8\xcd\xe8\xcf" , "\x6e\xc2\xf9\xab\xc9" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\x6e\xc2\xf9\xab\xc9\xc6" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\x6e\xc2\xf9\xab\xc9\xc9" } , { "\xc4\xe8\xcf" , "\x70\xf9" } , { "\xc4\xe8\xcf\xa2" , "\x70\xc6\xf9" } , { "\xc4\xe8\xcf\xa3" , "\x70\xf9\x26" } , { "\xc4\xe8\xcf\xd9" , "\x70\xf9" } , { "\xc4\xe8\xcf\xda" , "\x70\xf9\xc9" } , { "\xc4\xe8\xcf\xda\xa2" , "\x70\xf9\xc9\xc6" } , { "\xc4\xe8\xcf\xdb" , "\xca\x70\xf9" } , { "\xc4\xe8\xcf\xdb\xa2" , "\xcb\x70\xf9" } , { "\xc4\xe8\xcf\xdc" , "\x70\xf9\xd2" } , { "\xc4\xe8\xcf\xdd" , "\x70\xd6\xf9" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x70\xd6\xc6\xf9" } , { "\xc4\xe8\xcf\xde" , "\x70\xda\xf9" } , { "\xc4\xe8\xcf\xe0" , "\x70\xe0\xf9" } , { "\xc4\xe8\xcf\xe0\xa2" , "\x70\xe1\xf9" } , { "\xc4\xe8\xcf\xe1" , "\x70\xe4\xf9" } , { "\xc4\xe8\xcf\xe2" , "\x70\xe8\xf9" } , { "\xc4\xe8\xcf\xe4" , "\x70\xf9\xc9\xe0" } , { "\xc4\xe8\xcf\xe5" , "\x70\xf9\xc9\xe4" } , { "\xc4\xe8\xcf\xe5\xa2" , "\x70\xf9\xc9\xe5" } , { "\xc4\xe8\xcf\xe6" , "\x70\xf9\xc9\xe8" } , { "\xc4\xe8\xcf\xe8" , "\x70\xc2\xf9" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x6e\xc2\xf9\xae\xc2\xfa\x6c\xc9\xc6" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x6e\xc2\xf9\xae\xc2\xfa\x7b\xc9\xc9" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x70\xf9\xac" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x70\xf9\xac\xc6" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x70\xf9\xac\xc9" } , { "\xc4\xe8\xd1" , "\x6e\xc2\xf9\xb1\xc9" } , { "\xc4\xe8\xd1\xda\xa2" , "\x6e\xc2\xf9\xb1\xc9\xc9\xc6" } , { "\xc4\xe8\xd1\xdb" , "\xce\x6e\xc2\xf9\xb1\xc9" } , { "\xc4\xe8\xd1\xdc" , "\x6e\xc2\xf9\xb1\xc9\xd2" } , { "\xc4\xe8\xd1\xdd" , "\x6e\xc2\xf9\xb1\xc9\xd6" } , { "\xc4\xe8\xd1\xde" , "\x6e\xc2\xf9\xb1\xc9\xda" } , { "\xc4\xe8\xd1\xe5" , "\x6e\xc2\xf9\xb1\xc9\xc9\xe4" } , { "\xc4\xe8\xd2" , "\x6e\xc2\xf9\xb3\xfd" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\x6e\xc2\xf9\xb2\xb4\xc9\xe4" } , { "\xc4\xe8\xd4" , "\x75\xf9" } , { "\xc4\xe8\xd4\xa2" , "\x75\xc6\xf9" } , { "\xc4\xe8\xd4\xda" , "\x75\xf9\xc9" } , { "\xc4\xe8\xd4\xda\xa2" , "\x75\xf9\xc9\xc6" } , { "\xc4\xe8\xd4\xdb" , "\xca\x75\xf9" } , { "\xc4\xe8\xd4\xdc" , "\x75\xf9\xd2" } , { "\xc4\xe8\xd4\xdd" , "\x75\xd6\xf9" } , { "\xc4\xe8\xd4\xde" , "\x75\xda\xf9" } , { "\xc4\xe8\xd4\xdf" , "\x75\xde\xf9" } , { "\xc4\xe8\xd4\xdf\xa2" , "\x75\xde\xc6\xf9" } , { "\xc4\xe8\xd4\xe1" , "\x75\xe4\xf9" } , { "\xc4\xe8\xd4\xe2" , "\x75\xe8\xf9" } , { "\xc4\xe8\xd4\xe5" , "\x75\xf9\xc9\xe4" } , { "\xc4\xe8\xd4\xe5\xa2" , "\x75\xf9\xc9\xe5" } , { "\xc4\xe8\xd4\xe6" , "\x75\xf9\xc9\xe8" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\xce\x6e\xc2\xf9\xb4\x6b\xc9" } , { "\xc4\xe8\xd4\xe8\xcd" , "\x6e\xc2\xf9\xb4\xaa\xc9" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\x6e\xc2\xf9\xb4\xaa\xc9\xc6" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\x6e\xc2\xf9\xb4\xaa\xc9\xc9" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\xce\x6e\xc2\xf9\xb4\xaa\xc9" } , { "\xc4\xe8\xd5" , "\x6e\xc2\xf9\xb6\xc9" } , { "\xc4\xe8\xd5\xdb" , "\xce\x6e\xc2\xf9\xb6\xc9" } , { "\xc4\xe8\xd5\xe5" , "\x6e\xc2\xf9\xb6\xc9\xc9\xe4" } , { "\xc4\xe8\xd5\xe8\xcc" , "\x6e\xc2\xf9\xb6\xa8\xc9" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x6e\xc2\xf9\xb6\xaa\xc9" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\x6e\xc2\xf9\xb6\xaa\xc9\xc9\xe5" } , { "\xc4\xe8\xd6" , "\x6e\xc2\xf9\xb9\xc9" } , { "\xc4\xe8\xd6\xda" , "\x6e\xc2\xf9\xb9\xc9\xc9" } , { "\xc4\xe8\xd6\xdb" , "\xce\x6e\xc2\xf9\xb9\xc9" } , { "\xc4\xe8\xd6\xe8\xbd" , "\x6e\xc2\xf9\xb9\x5d\xf5" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\x6e\xc2\xf9\xb9\x5d\xf5\xc9\xc6" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\xce\x6e\xc2\xf9\xb9\x5d\xf5" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\x6e\xc2\xf9\xb9\x5d\xf5\xd2" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\xce\x6e\xc2\xf9\xb9\x60\xf6" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\xce\x6e\xc2\xf9\xb9\x69\xc9" } , { "\xc4\xe8\xd7" , "\x6e\xc2\xf9\xba\xc9" } , { "\xc4\xe8\xd7\xda" , "\x6e\xc2\xf9\xba\xc9\xc9" } , { "\xc4\xe8\xd7\xdb" , "\xce\x6e\xc2\xf9\xba\xc9" } , { "\xc4\xe8\xd8" , "\x6e\xc2\xf9\xbd\xfe" } , { "\xc4\xe8\xd8\xda" , "\x6e\xc2\xf9\xbd\xfe\xc9" } , { "\xc4\xe8\xd8\xdb\xa2" , "\xcf\x6e\xc2\xf9\xbd\xfe" } , { "\xc4\xe8\xd8\xdd" , "\x6e\xc2\xf9\xbd\xd6\xfe" } , { "\xc4\xe8\xd9\xa6" , "\x6e\xc2\xf9\x3c" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\x6e\xc2\xf9\x69\xc9\xc9\xe5" } , { "\xc4\xe8\xd9\xc4" , "\x6e\xc2\xf9\x6e\xf9" } , { "\xc4\xe8\xd9\xc4\xda" , "\x6e\xc2\xf9\x6e\xf9\xc9" } , { "\xc4\xe8\xd9\xc4\xdc" , "\x6e\xc2\xf9\x6e\xf9\xd2" } , { "\xc4\xe8\xd9\xc4\xdd" , "\x6e\xc2\xf9\x6e\xd6\xf9" } , { "\xc4\xe8\xd9\xc4\xde" , "\x6e\xc2\xf9\x6e\xda\xf9" } , { "\xc4\xe8\xd9\xc4\xe1" , "\x6e\xc2\xf9\x6e\xe4\xf9" } , { "\xc4\xe8\xd9\xc4\xe6" , "\x6e\xc2\xf9\x6e\xf9\xc9\xe8" } , { "\xc4\xe8\xd9\xc5" , "\x6e\xc2\xf9\x76\xc9" } , { "\xc4\xe8\xd9\xc5\xda" , "\x6e\xc2\xf9\x76\xc9\xc9" } , { "\xc4\xe8\xd9\xc5\xde" , "\x6e\xc2\xf9\x76\xc9\xda" } , { "\xc4\xe8\xd9\xc5\xdf" , "\x6e\xc2\xf9\x76\xc9\xde" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\x6e\xc2\xf9\x76\xc9\xc9\xe5" } , { "\xc4\xe8\xd9\xcb\xda" , "\x6e\xc2\xf9\xa6\xc9\xc9" } , { "\xc4\xe8\xd9\xcb\xdd" , "\x6e\xc2\xf9\xa6\xc9\xd6" } , { "\xc4\xe8\xd9\xcb\xde" , "\x6e\xc2\xf9\xa6\xc9\xda" } , { "\xc4\xe8\xd9\xcb\xdf" , "\x6e\xc2\xf9\xa6\xc9\xde" } , { "\xc4\xe8\xd9\xcc\xdb" , "\x6e\xc2\xf9\xca\xa8\xc9" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\x6e\xc2\xf9\xa8\xc9\xe5" } , { "\xc4\xe8\xd9\xcd" , "\x6e\xc2\xf9\xaa\xc9" } , { "\xc4\xe8\xd9\xcd\xda" , "\x6e\xc2\xf9\xaa\xc9\xc9" } , { "\xc4\xe8\xd9\xcd\xdd" , "\x6e\xc2\xf9\xaa\xc9\xd6" } , { "\xc4\xe8\xd9\xcd\xe5" , "\x6e\xc2\xf9\xaa\xc9\xc9\xe4" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\x6e\xc2\xf9\xaa\xc9\xc9\xe5" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\x6e\xc2\xf9\x76\xc9\xc7" } , { "\xc4\xe8\xd9\xd4" , "\x6e\xc2\xf9\xb4\xc9" } , { "\xc4\xe8\xd9\xd4\xda" , "\x6e\xc2\xf9\xb4\xc9\xc9" } , { "\xc4\xe8\xd9\xd4\xdb" , "\x6e\xc2\xf9\xca\xb4\xc9" } , { "\xc4\xe8\xd9\xd4\xe1" , "\x6e\xc2\xf9\xb4\xc9\xe4" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\x6e\xc2\xf9\xb4\xaa\xc9" } , { "\xc4\xe8\xe8" , "\x6e\xc2\xf9" } , { "\xc4\xe8\xe9\xc4" , "\x6e\xc2\xf9\x6e\xf9" } , { "\xc4\xe8\xe9\xc5" , "\x6e\xc2\xf9\x76\xc9" } , { "\xc4\xe8\xe9\xcd" , "\x6e\xc2\xf9\xaa\xc9" } , { "\xc4\xe8\xe9\xcf" , "\x6e\xc2\xf9\xae\xfa" } , { "\xc4\xe8\xe9\xd4" , "\x6e\xc2\xf9\xb4\xc9" } , { "\xc4\xe9" , "\x6e\xf9" } , { "\xc5" , "\x76\xc9" } , { "\xc5\xa1" , "\x76\xc9\xc4" } , { "\xc5\xa2" , "\x76\xc9\xc6" } , { "\xc5\xa3" , "\x76\xc9\x26" } , { "\xc5\xd0" , "\x76\xc9\xae\xfa\xc3" } , { "\xc5\xd0\xdc" , "\x76\xc9\xae\xfa\xd2\xc3" } , { "\xc5\xda" , "\x76\xc9\xc9" } , { "\xc5\xda\xa1" , "\x76\xc9\xc9\xc4" } , { "\xc5\xda\xa2" , "\x76\xc9\xc9\xc6" } , { "\xc5\xdb" , "\xca\x76\xc9" } , { "\xc5\xdb\xa2" , "\xcb\x76\xc9" } , { "\xc5\xdb\xa3" , "\xca\x76\xc9\x26" } , { "\xc5\xdc" , "\x76\xc9\xd2" } , { "\xc5\xdc\xa2" , "\x76\xc9\xd3" } , { "\xc5\xdc\xa3" , "\x76\xc9\xd2\x26" } , { "\xc5\xdd" , "\x76\xc9\xd6" } , { "\xc5\xdd\xa1" , "\x76\xc9\xd6\xc4" } , { "\xc5\xdd\xa2" , "\x76\xc9\xd6\xc6" } , { "\xc5\xdd\xa3" , "\x76\xc9\xd6\x26" } , { "\xc5\xde" , "\x76\xc9\xda" } , { "\xc5\xde\xa1" , "\x76\xc9\xda\xc4" } , { "\xc5\xde\xa2" , "\x76\xc9\xda\xc6" } , { "\xc5\xdf" , "\x76\xc9\xde" } , { "\xc5\xe0" , "\x76\xc9\xe0" } , { "\xc5\xe0\xa2" , "\x76\xc9\xe1" } , { "\xc5\xe1" , "\x76\xc9\xe4" } , { "\xc5\xe1\xa2" , "\x76\xc9\xe5" } , { "\xc5\xe2" , "\x76\xc9\xe8" } , { "\xc5\xe4" , "\x76\xc9\xc9\xe0" } , { "\xc5\xe5" , "\x76\xc9\xc9\xe4" } , { "\xc5\xe5\xa2" , "\x76\xc9\xc9\xe5" } , { "\xc5\xe5\xa3" , "\x76\xc9\xc9\xe4\x26" } , { "\xc5\xe6" , "\x76\xc9\xc9\xe8" } , { "\xc5\xe6\xa2" , "\x76\xc9\xc9\xe9" } , { "\xc5\xe8" , "\x76\xc9\xc2" } , { "\xc5\xe8\xb3\xda" , "\x76\x45\xf2\xc9" } , { "\xc5\xe8\xb3\xdd" , "\x76\x45\xd6\xf2" } , { "\xc5\xe8\xb3\xe5" , "\x76\x45\xf2\xc9\xe4" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x76\x49\xc9" } , { "\xc5\xe8\xb5" , "\x76\x4d\xc9" } , { "\xc5\xe8\xb8" , "\x76\x53\xc9" } , { "\xc5\xe8\xb8\xda" , "\x76\x53\xc9\xc9" } , { "\xc5\xe8\xbf\xe9\xda" , "\x76\x63\xf7\xc9" } , { "\xc5\xe8\xc1\xda" , "\x76\x68\xc9\xc9" } , { "\xc5\xe8\xc1\xdb" , "\xce\x76\x68\xc9" } , { "\xc5\xe8\xc2" , "\x76\x69\xc9" } , { "\xc5\xe8\xc2\xda" , "\x76\x69\xc9\xc9" } , { "\xc5\xe8\xc4" , "\x76\x6e\xf9" } , { "\xc5\xe8\xc4\xda" , "\x76\x6e\xf9\xc9" } , { "\xc5\xe8\xc4\xda\xa2" , "\x76\x6e\xf9\xc9\xc6" } , { "\xc5\xe8\xc4\xdb" , "\xce\x76\x6e\xf9" } , { "\xc5\xe8\xc4\xdd" , "\x76\x6e\xd6\xf9" } , { "\xc5\xe8\xc4\xde" , "\x76\x6e\xda\xf9" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x76\x6e\xe5\xf9" } , { "\xc5\xe8\xc4\xe5" , "\x76\x6e\xf9\xc9\xe4" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x76\x6e\xf9\xc9\xe5" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x76\x71\xf9" } , { "\xc5\xe8\xc5" , "\x76\x76\xc9" } , { "\xc5\xe8\xc5\xa2" , "\x76\x76\xc9\xc6" } , { "\xc5\xe8\xc5\xda" , "\x76\x76\xc9\xc9" } , { "\xc5\xe8\xc5\xda\xa2" , "\x76\x76\xc9\xc9\xc6" } , { "\xc5\xe8\xc5\xdb" , "\xce\x76\x76\xc9" } , { "\xc5\xe8\xc5\xdb\xa2" , "\xcf\x76\x76\xc9" } , { "\xc5\xe8\xc5\xdd" , "\x76\x76\xc9\xd6" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x76\x76\xaa\xc9" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x76\x76\xaa\xc9\xc9" } , { "\xc5\xe8\xc6" , "\x76\x78\xc9" } , { "\xc5\xe8\xc6\xda" , "\x76\x78\xc9\xc9" } , { "\xc5\xe8\xc6\xdd" , "\x76\x78\xc9\xd6" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x76\x78\xaa\xc9\xc9" } , { "\xc5\xe8\xc8\xdd" , "\x76\x7b\xc9\xd6" } , { "\xc5\xe8\xc8\xde" , "\x76\x7b\xc9\xda" } , { "\xc5\xe8\xca\xdd" , "\x76\xa4\xc9\xd6" } , { "\xc5\xe8\xca\xe6" , "\x76\xa4\xc9\xc9\xe8" } , { "\xc5\xe8\xcb\xdd" , "\x76\xa6\xc9\xd6" } , { "\xc5\xe8\xcc" , "\x76\xa8\xc9" } , { "\xc5\xe8\xcc\xda" , "\x76\xa8\xc9\xc9" } , { "\xc5\xe8\xcc\xdd" , "\x76\xa8\xc9\xd6" } , { "\xc5\xe8\xcd" , "\x76\xaa\xc9" } , { "\xc5\xe8\xcd\xa2" , "\x76\xaa\xc9\xc6" } , { "\xc5\xe8\xcd\xa3" , "\x76\xaa\xc9\x26" } , { "\xc5\xe8\xcd\xda" , "\x76\xaa\xc9\xc9" } , { "\xc5\xe8\xcd\xda\xa2" , "\x76\xaa\xc9\xc9\xc6" } , { "\xc5\xe8\xcd\xda\xa3" , "\x76\xaa\xc9\xc9\x26" } , { "\xc5\xe8\xcd\xdb" , "\xce\x76\xaa\xc9" } , { "\xc5\xe8\xcd\xdc" , "\x76\xaa\xc9\xd2" } , { "\xc5\xe8\xcd\xdd" , "\x76\xaa\xc9\xd6" } , { "\xc5\xe8\xcd\xde" , "\x76\xaa\xc9\xda" } , { "\xc5\xe8\xcd\xe1" , "\x76\xaa\xc9\xe4" } , { "\xc5\xe8\xcd\xe2" , "\x76\xaa\xc9\xe8" } , { "\xc5\xe8\xcd\xe5" , "\x76\xaa\xc9\xc9\xe4" } , { "\xc5\xe8\xcd\xe5\xa2" , "\x76\xaa\xc9\xc9\xe5" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x76\xaa\x69\xc9" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x76\xaa\xaa\xc9" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x76\xaa\xaa\xc9\xc9" } , { "\xc5\xe8\xcf" , "\x77\xc9" } , { "\xc5\xe8\xcf\xa2" , "\x77\xc9\xc6" } , { "\xc5\xe8\xcf\xda" , "\x77\xc9\xc9" } , { "\xc5\xe8\xcf\xda\xa2" , "\x77\xc9\xc9\xc6" } , { "\xc5\xe8\xcf\xdb" , "\xca\x77\xc9" } , { "\xc5\xe8\xcf\xdc" , "\x77\xc9\xd2" } , { "\xc5\xe8\xcf\xdd" , "\x77\xc9\xd6" } , { "\xc5\xe8\xcf\xde" , "\x77\xc9\xda" } , { "\xc5\xe8\xcf\xdf" , "\x77\xc9\xde" } , { "\xc5\xe8\xcf\xe1" , "\x77\xc9\xe4" } , { "\xc5\xe8\xcf\xe5" , "\x77\xc9\xc9\xe4" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\x77\xa8\xc9\xc9\xe4" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x77\xaa\xc9" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x77\xaa\xc9\xc9" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x77\xaa\xc9\xda" } , { "\xc5\xe8\xcf\xe8\xd4" , "\x77\xb4\xc9" } , { "\xc5\xe8\xd1\xdd" , "\x76\xb1\xc9\xd6" } , { "\xc5\xe8\xd1\xe5" , "\x76\xb1\xc9\xc9\xe4" } , { "\xc5\xe8\xd2" , "\x76\xb3\xfd" } , { "\xc5\xe8\xd4" , "\x76\xb4\xc9" } , { "\xc5\xe8\xd4\xa2" , "\x76\xb4\xc9\xc6" } , { "\xc5\xe8\xd4\xda" , "\x76\xb4\xc9\xc9" } , { "\xc5\xe8\xd4\xdb" , "\xce\x76\xb4\xc9" } , { "\xc5\xe8\xd4\xdb\xa2" , "\xcf\x76\xb4\xc9" } , { "\xc5\xe8\xd4\xdc" , "\x76\xb4\xc9\xd2" } , { "\xc5\xe8\xd4\xdd" , "\x76\xb4\xc9\xd6" } , { "\xc5\xe8\xd4\xe1" , "\x76\xb4\xc9\xe4" } , { "\xc5\xe8\xd4\xe2" , "\x76\xb4\xc9\xe8" } , { "\xc5\xe8\xd5\xda" , "\x76\xb6\xc9\xc9" } , { "\xc5\xe8\xd6\xda" , "\x76\xb9\xc9\xc9" } , { "\xc5\xe8\xd6\xdb" , "\xce\x76\xb9\xc9" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x76\xb9\x5d\xf5" } , { "\xc5\xe8\xd7" , "\x76\xba\xc9" } , { "\xc5\xe8\xd7\xe1" , "\x76\xba\xc9\xe4" } , { "\xc5\xe8\xd7\xe8" , "\x76\xba\xc9\xc2" } , { "\xc5\xe8\xd9\xcd" , "\x76\xaa\xc9" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\x76\xb4\xc9\xc7" } , { "\xc5\xe8\xe8" , "\x76\xc9\xc2" } , { "\xc5\xe9" , "\x76\xc9" } , { "\xc6" , "\x78\xc9" } , { "\xc6\xa1" , "\x78\xc9\xc4" } , { "\xc6\xa2" , "\x78\xc9\xc6" } , { "\xc6\xa2\xa2" , "\x78\xc9\xc6\xc6" } , { "\xc6\xa3" , "\x78\xc9\x26" } , { "\xc6\xda" , "\x78\xc9\xc9" } , { "\xc6\xda\xa1" , "\x78\xc9\xc9\xc4" } , { "\xc6\xda\xa2" , "\x78\xc9\xc9\xc6" } , { "\xc6\xda\xa3" , "\x78\xc9\xc9\x26" } , { "\xc6\xdb" , "\xca\x78\xc9" } , { "\xc6\xdb\xa2" , "\xcb\x78\xc9" } , { "\xc6\xdb\xa3" , "\xca\x78\xc9\x26" } , { "\xc6\xdc" , "\x78\xc9\xd2" } , { "\xc6\xdc\xa2" , "\x78\xc9\xd3" } , { "\xc6\xdd" , "\x78\xc9\xd6" } , { "\xc6\xdd\xa1" , "\x78\xc9\xd6\xc4" } , { "\xc6\xdd\xa2" , "\x78\xc9\xd6\xc6" } , { "\xc6\xdd\xa2\xa2" , "\x78\xc9\xd6\xc6\xc6" } , { "\xc6\xdd\xa3" , "\x78\xc9\xd6\x26" } , { "\xc6\xde" , "\x78\xc9\xda" } , { "\xc6\xde\xa1" , "\x78\xc9\xda\xc4" } , { "\xc6\xde\xa2" , "\x78\xc9\xda\xc6" } , { "\xc6\xde\xd0\xe8" , "\x78\xc9\xda\xae\xc2\xfa\xc3" } , { "\xc6\xdf" , "\x78\xc9\xde" } , { "\xc6\xe0" , "\x78\xc9\xe0" } , { "\xc6\xe0\xa2" , "\x78\xc9\xe1" } , { "\xc6\xe1" , "\x78\xc9\xe4" } , { "\xc6\xe1\xa2" , "\x78\xc9\xe5" } , { "\xc6\xe2" , "\x78\xc9\xe8" } , { "\xc6\xe2\xa2" , "\x78\xc9\xe9" } , { "\xc6\xe2\xa3" , "\x78\xc9\xe8\x26" } , { "\xc6\xe4" , "\x78\xc9\xc9\xe0" } , { "\xc6\xe4\xa2" , "\x78\xc9\xc9\xe1" } , { "\xc6\xe5" , "\x78\xc9\xc9\xe4" } , { "\xc6\xe5\xa2" , "\x78\xc9\xc9\xe5" } , { "\xc6\xe5\xa3" , "\x78\xc9\xc9\xe4\x26" } , { "\xc6\xe6" , "\x78\xc9\xc9\xe8" } , { "\xc6\xe6\xa2" , "\x78\xc9\xc9\xe9" } , { "\xc6\xe7" , "\x78\xc9\xc9\xec" } , { "\xc6\xe8" , "\x78\xc9\xc2" } , { "\xc6\xe8\xb3" , "\x78\x45\xf2" } , { "\xc6\xe8\xb3\xa2" , "\x78\x45\xc6\xf2" } , { "\xc6\xe8\xb3\xda" , "\x78\x45\xf2\xc9" } , { "\xc6\xe8\xb3\xda\xa2" , "\x78\x45\xf2\xc9\xc6" } , { "\xc6\xe8\xb3\xdb" , "\xce\x78\x45\xf2" } , { "\xc6\xe8\xb3\xdc" , "\x78\x45\xf2\xd2" } , { "\xc6\xe8\xb3\xdd" , "\x78\x45\xd6\xf2" } , { "\xc6\xe8\xb3\xdd\xa2" , "\x78\x45\xd6\xc6\xf2" } , { "\xc6\xe8\xb3\xde" , "\x78\x45\xda\xf2" } , { "\xc6\xe8\xb3\xdf" , "\x78\x45\xde\xf2" } , { "\xc6\xe8\xb3\xe0" , "\x78\x45\xe0\xf2" } , { "\xc6\xe8\xb3\xe1" , "\x78\x45\xe4\xf2" } , { "\xc6\xe8\xb3\xe2" , "\x78\x45\xe8\xf2" } , { "\xc6\xe8\xb3\xe2\xa2" , "\x78\x45\xe9\xf2" } , { "\xc6\xe8\xb3\xe4" , "\x78\x45\xf2\xc9\xe0" } , { "\xc6\xe8\xb3\xe5" , "\x78\x45\xf2\xc9\xe4" } , { "\xc6\xe8\xb3\xe5\xa2" , "\x78\x45\xf2\xc9\xe5" } , { "\xc6\xe8\xb3\xe8" , "\x78\x45\xc2\xf2" } , { "\xc6\xe8\xb3\xe8\xb3" , "\x78\x43\x45\xf2" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\xce\x78\x43\x5d\xf5" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x78\x43\xaa\xc9\xd6" } , { "\xc6\xe8\xb3\xe8\xcf" , "\x78\x47\xf2" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\xce\x78\x47\xf2" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\x78\x47\xf2\xd2" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\x78\x47\xf2\xc9\xe4" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\x78\x43\xb1\xc9\xc9" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\x78\x43\xb1\xc9\xd6" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\x78\x43\xb1\xc9\xda" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\x78\x43\xb1\xc9\xe4" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\x78\x43\xb1\xc9\xc9\xe4" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\x78\x43\xb4\xc9\xc9" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\xce\x78\x43\xb4\xc9" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\x78\x43\xb4\xc9\xe0" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x78\x43\xb6\xc9" } , { "\xc6\xe8\xb3\xe8\xd6" , "\x78\x49\xc9" } , { "\xc6\xe8\xb3\xe9" , "\x78\x46\xf2" } , { "\xc6\xe8\xb4" , "\x78\x4a\xc9" } , { "\xc6\xe8\xb4\xda" , "\x78\x4a\xc9\xc9" } , { "\xc6\xe8\xb4\xdb" , "\xce\x78\x4a\xc9" } , { "\xc6\xe8\xb5" , "\x78\x4d\xc9" } , { "\xc6\xe8\xb5\xa2" , "\x78\x4d\xc9\xc6" } , { "\xc6\xe8\xb5\xda" , "\x78\x4d\xc9\xc9" } , { "\xc6\xe8\xb5\xdb" , "\xce\x78\x4d\xc9" } , { "\xc6\xe8\xb5\xdd" , "\x78\x4d\xc9\xd6" } , { "\xc6\xe8\xb5\xde" , "\x78\x4d\xc9\xda" } , { "\xc6\xe8\xb5\xe0" , "\x78\x4d\xc9\xe0" } , { "\xc6\xe8\xb5\xe4" , "\x78\x4d\xc9\xc9\xe0" } , { "\xc6\xe8\xb5\xe4\xa2" , "\x78\x4d\xc9\xc9\xe1" } , { "\xc6\xe8\xb5\xe5" , "\x78\x4d\xc9\xc9\xe4" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x78\x4d\x4d\xc9\xc9" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\x78\x4f\xc9\xc9" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\x78\x4f\xc9\xd2" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\x78\x4f\xc9\xe4" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\x78\x4f\xc9\xc9\xe4" } , { "\xc6\xe8\xb6" , "\x78\x50\xc9" } , { "\xc6\xe8\xb6\xdc" , "\x78\x50\xc9\xd2" } , { "\xc6\xe8\xb6\xdd" , "\x78\x50\xc9\xd6" } , { "\xc6\xe8\xb8" , "\x78\x53\xc9" } , { "\xc6\xe8\xb8\xa2" , "\x78\x53\xc9\xc6" } , { "\xc6\xe8\xb8\xda" , "\x78\x53\xc9\xc9" } , { "\xc6\xe8\xb8\xdb" , "\xce\x78\x53\xc9" } , { "\xc6\xe8\xb8\xdb\xa2" , "\xcf\x78\x53\xc9" } , { "\xc6\xe8\xb8\xdc" , "\x78\x53\xc9\xd2" } , { "\xc6\xe8\xb8\xdd" , "\x78\x53\xc9\xd6" } , { "\xc6\xe8\xb8\xde" , "\x78\x53\xc9\xda" } , { "\xc6\xe8\xb8\xe0" , "\x78\x53\xc9\xe0" } , { "\xc6\xe8\xb8\xe0\xa2" , "\x78\x53\xc9\xe1" } , { "\xc6\xe8\xb8\xe1" , "\x78\x53\xc9\xe4" } , { "\xc6\xe8\xb8\xe5" , "\x78\x53\xc9\xc9\xe4" } , { "\xc6\xe8\xb8\xe5\xa2" , "\x78\x53\xc9\xc9\xe5" } , { "\xc6\xe8\xb8\xe8" , "\x78\x53\xc9\xc2" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x78\x53\x62\xc2\xf7" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\x78\x53\xb4\xc9\xc9\xc6" } , { "\xc6\xe8\xb9" , "\x78\x55\xf4" } , { "\xc6\xe8\xb9\xda" , "\x78\x55\xf4\xc9" } , { "\xc6\xe8\xb9\xe0" , "\x78\x55\xe0\xf4" } , { "\xc6\xe8\xba" , "\x78\x56\xc9" } , { "\xc6\xe8\xba\xa2" , "\x78\x56\xc9\xc6" } , { "\xc6\xe8\xba\xda" , "\x78\x56\xc9\xc9" } , { "\xc6\xe8\xba\xdb" , "\xce\x78\x56\xc9" } , { "\xc6\xe8\xba\xdb\xa2" , "\xcf\x78\x56\xc9" } , { "\xc6\xe8\xba\xdc" , "\x78\x56\xc9\xd2" } , { "\xc6\xe8\xba\xde" , "\x78\x56\xc9\xda" } , { "\xc6\xe8\xba\xe0" , "\x78\x56\xc9\xe0" } , { "\xc6\xe8\xba\xe0\xa2" , "\x78\x56\xc9\xe1" } , { "\xc6\xe8\xba\xe1" , "\x78\x56\xc9\xe4" } , { "\xc6\xe8\xba\xe2" , "\x78\x56\xc9\xe8" } , { "\xc6\xe8\xba\xe5" , "\x78\x56\xc9\xc9\xe4" } , { "\xc6\xe8\xba\xe8" , "\x78\x56\xc9\xc2" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\x78\x59\xc9\xc9" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x78\x56\xaa\xc9\xda" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\x78\x56\xb4\xc9\xc9" } , { "\xc6\xe8\xba\xe9\xda" , "\x78\x57\xc9\xc9" } , { "\xc6\xe8\xbc\xe8\xb8" , "\x78\x5c\x53\xc9" } , { "\xc6\xe8\xbd" , "\x78\x5d\xf5" } , { "\xc6\xe8\xbd\xda" , "\x78\x5d\xf5\xc9" } , { "\xc6\xe8\xbd\xdb" , "\xce\x78\x5d\xf5" } , { "\xc6\xe8\xbd\xdb\xa2" , "\xcf\x78\x5d\xf5" } , { "\xc6\xe8\xbd\xdc" , "\x78\x5d\xf5\xd2" } , { "\xc6\xe8\xbd\xdd" , "\x78\x5d\xd6\xf5" } , { "\xc6\xe8\xbd\xde" , "\x78\x5d\xda\xf5" } , { "\xc6\xe8\xbd\xe0" , "\x78\x5d\xe0\xf5" } , { "\xc6\xe8\xbd\xe1" , "\x78\x5d\xe4\xf5" } , { "\xc6\xe8\xbd\xe1\xa2" , "\x78\x5d\xe5\xf5" } , { "\xc6\xe8\xbd\xe2" , "\x78\x5d\xe8\xf5" } , { "\xc6\xe8\xbd\xe2\xa2" , "\x78\x5d\xe9\xf5" } , { "\xc6\xe8\xbd\xe5" , "\x78\x5d\xf5\xc9\xe4" } , { "\xc6\xe8\xbd\xe5\xa2" , "\x78\x5d\xf5\xc9\xe5" } , { "\xc6\xe8\xbd\xe8" , "\x78\x5d\xc2\xf5" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\xce\x78\x5d\xc2\xf5\x78\xc9" } , { "\xc6\xe8\xbd\xe8\xcf" , "\x78\x5d\xc5\xf5" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\x78\x5d\xc5\xf5\xc9" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\xce\x78\x5d\xc5\xf5" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\x78\x5d\xc5\xf5\xd2" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\x78\x5d\xdc\xf5" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\x78\x5d\xc5\xe0\xf5" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\x78\x5d\xc5\xe4\xf5" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\x78\x5d\xc5\xe8\xf5" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\x78\x5d\xc5\xf5\xc9\xe4" } , { "\xc6\xe8\xbd\xe8\xd1" , "\x78\x5d\xc2\xf5\xb1\xc9" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\x78\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\x78\x5d\xc2\xf5\xb1\xc9\xda" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x78\x5d\xc2\xf5\xba\xc9" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\xce\x78\x5d\xc2\xf5\xba\xc9" } , { "\xc6\xe8\xbe" , "\x78\x60\xf6" } , { "\xc6\xe8\xbf" , "\x78\x62\xf7" } , { "\xc6\xe8\xbf\xa2" , "\x78\x62\xc6\xf7" } , { "\xc6\xe8\xbf\xda" , "\x78\x62\xf7\xc9" } , { "\xc6\xe8\xbf\xdb" , "\xce\x78\x62\xf7" } , { "\xc6\xe8\xbf\xdb\xa2" , "\xcf\x78\x62\xf7" } , { "\xc6\xe8\xbf\xdc" , "\x78\x62\xf7\xd2" } , { "\xc6\xe8\xbf\xdd" , "\x78\x62\xd6\xf7" } , { "\xc6\xe8\xbf\xe0" , "\x78\x62\xe0\xf7" } , { "\xc6\xe8\xbf\xe0\xa2" , "\x78\x62\xe1\xf7" } , { "\xc6\xe8\xbf\xe1" , "\x78\x62\xe4\xf7" } , { "\xc6\xe8\xbf\xe2" , "\x78\x62\xe8\xf7" } , { "\xc6\xe8\xbf\xe5" , "\x78\x62\xf7\xc9\xe4" } , { "\xc6\xe8\xbf\xe5\xa2" , "\x78\x62\xf7\xc9\xe5" } , { "\xc6\xe8\xbf\xe8" , "\x78\x62\xc2\xf7" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x78\x62\xc2\xf7\x45\xf2\xc9" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x78\x62\xc2\xf7\x4d\xc9\xc9" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\x78\x62\xc2\xf7\xa4\xaa\xc9\xc9" } , { "\xc6\xe8\xbf\xe8\xcf" , "\x78\x62\xc5\xf7" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\x78\x62\xc5\xf7\xc9" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\xce\x78\x62\xc5\xf7" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\x78\x62\xc5\xf7\xd2" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\x78\x62\xc5\xf7\xc9\xe4" } , { "\xc6\xe8\xc0\xdb" , "\xce\x78\x66\xf8" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\x78\x68\x68\xc9\xda" } , { "\xc6\xe8\xc2" , "\x78\x69\xc9" } , { "\xc6\xe8\xc2\xa2" , "\x78\x69\xc9\xc6" } , { "\xc6\xe8\xc2\xa3" , "\x78\x69\xc9\x26" } , { "\xc6\xe8\xc2\xda" , "\x78\x69\xc9\xc9" } , { "\xc6\xe8\xc2\xdb" , "\xce\x78\x69\xc9" } , { "\xc6\xe8\xc2\xdc" , "\x78\x69\xc9\xd2" } , { "\xc6\xe8\xc2\xdd" , "\x78\x69\xc9\xd6" } , { "\xc6\xe8\xc2\xde" , "\x78\x69\xc9\xda" } , { "\xc6\xe8\xc2\xe0" , "\x78\x69\xc9\xe0" } , { "\xc6\xe8\xc2\xe1" , "\x78\x69\xc9\xe4" } , { "\xc6\xe8\xc2\xe5" , "\x78\x69\xc9\xc9\xe4" } , { "\xc6\xe8\xc2\xe5\xa2" , "\x78\x69\xc9\xc9\xe5" } , { "\xc6\xe8\xc2\xe8" , "\x78\x69\xc9\xc2" } , { "\xc6\xe8\xc2\xe8\xc2" , "\x78\x6b\xc9" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\x78\x69\x7b\x69\xc9" } , { "\xc6\xe8\xc2\xe8\xcd" , "\x78\x69\xaa\xc9" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\x78\x69\xaa\xc9\xc9" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\x78\x69\xaa\xc9\xe4" } , { "\xc6\xe8\xc2\xe8\xcf" , "\x78\x6a\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\x78\x6a\xc9\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xce\x78\x6a\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\x78\x6a\xc9\xd2" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\x78\x6a\xc9\xe4" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\x78\x6a\xc9\xc9\xe4" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\x78\x6a\xc9\xc9\xe5" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\x78\x6a\xaa\xc9" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\x78\x6a\xaa\xc9\xc9\xe4" } , { "\xc6\xe8\xc2\xe8\xd4" , "\x78\x69\xb4\xc9" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\x78\x69\xba\xc9\xc9\xc6" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\x78\x69\xba\xc9\xc9\xe4" } , { "\xc6\xe8\xc3" , "\x78\x6c\xc9" } , { "\xc6\xe8\xc3\xda" , "\x78\x6c\xc9\xc9" } , { "\xc6\xe8\xc3\xdb" , "\xce\x78\x6c\xc9" } , { "\xc6\xe8\xc3\xdc" , "\x78\x6c\xc9\xd2" } , { "\xc6\xe8\xc3\xe1" , "\x78\x6c\xc9\xe4" } , { "\xc6\xe8\xc3\xe2" , "\x78\x6c\xc9\xe8" } , { "\xc6\xe8\xc3\xe5" , "\x78\x6c\xc9\xc9\xe4" } , { "\xc6\xe8\xc3\xe5\xa2" , "\x78\x6c\xc9\xc9\xe5" } , { "\xc6\xe8\xc3\xe8" , "\x78\x6c\xc9\xc2" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\x78\x6d\xc9\xc9\xc6" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\x78\x6d\xc9\xe4" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\x78\x6d\xc9\xe8" } , { "\xc6\xe8\xc4" , "\x78\x6e\xf9" } , { "\xc6\xe8\xc4\xda" , "\x78\x6e\xf9\xc9" } , { "\xc6\xe8\xc4\xda\xa2" , "\x78\x6e\xf9\xc9\xc6" } , { "\xc6\xe8\xc4\xdb" , "\xce\x78\x6e\xf9" } , { "\xc6\xe8\xc4\xdc" , "\x78\x6e\xf9\xd2" } , { "\xc6\xe8\xc4\xdc\xa2" , "\x78\x6e\xf9\xd3" } , { "\xc6\xe8\xc4\xdd" , "\x78\x6e\xd6\xf9" } , { "\xc6\xe8\xc4\xde" , "\x78\x6e\xda\xf9" } , { "\xc6\xe8\xc4\xde\xa2" , "\x78\x6e\xda\xc6\xf9" } , { "\xc6\xe8\xc4\xe0" , "\x78\x6e\xe0\xf9" } , { "\xc6\xe8\xc4\xe1" , "\x78\x6e\xe4\xf9" } , { "\xc6\xe8\xc4\xe1\xa2" , "\x78\x6e\xe5\xf9" } , { "\xc6\xe8\xc4\xe2" , "\x78\x6e\xe8\xf9" } , { "\xc6\xe8\xc4\xe4" , "\x78\x6e\xf9\xc9\xe0" } , { "\xc6\xe8\xc4\xe5" , "\x78\x6e\xf9\xc9\xe4" } , { "\xc6\xe8\xc4\xe5\xa2" , "\x78\x6e\xf9\xc9\xe5" } , { "\xc6\xe8\xc4\xe6" , "\x78\x6e\xf9\xc9\xe8" } , { "\xc6\xe8\xc4\xe8\xc5" , "\x78\x72\xf9" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\x78\x72\xf9\xc9" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\x78\x72\xf9\xd2" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\x78\x6e\xc2\xf9\x78\xc9\xc9" } , { "\xc6\xe8\xc4\xe8\xcd" , "\x78\x74" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\x78\x74\xd6" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\x78\x74\xc9\xe4" } , { "\xc6\xe8\xc4\xe8\xcf" , "\x78\x70\xf9" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\x78\x70\xf9\xc9" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\x78\x70\xf9\xc9\xc6" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\xce\x78\x70\xf9" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\x78\x70\xf9\xd2" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\x78\x70\xda\xf9" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\x78\x70\xe4\xf9" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\x78\x70\xf9\xc9\xe4" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\x78\x70\xf9\xc9\xe5" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\x78\x70\xf9\xac\xda" } , { "\xc6\xe8\xc4\xe8\xd4" , "\x78\x75\xf9" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\x78\x75\xf9\xc9" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\xce\x78\x75\xf9" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\x78\x75\xf9\xd2" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\x78\x75\xf9\xc9\xe4" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\x78\x75\xf9\xc9\xe5" } , { "\xc6\xe8\xc5" , "\x78\x76\xc9" } , { "\xc6\xe8\xc5\xda" , "\x78\x76\xc9\xc9" } , { "\xc6\xe8\xc5\xdb" , "\xce\x78\x76\xc9" } , { "\xc6\xe8\xc5\xdc" , "\x78\x76\xc9\xd2" } , { "\xc6\xe8\xc5\xdd" , "\x78\x76\xc9\xd6" } , { "\xc6\xe8\xc5\xde" , "\x78\x76\xc9\xda" } , { "\xc6\xe8\xc5\xe1" , "\x78\x76\xc9\xe4" } , { "\xc6\xe8\xc5\xe5" , "\x78\x76\xc9\xc9\xe4" } , { "\xc6\xe8\xc5\xe5\xa2" , "\x78\x76\xc9\xc9\xe5" } , { "\xc6\xe8\xc5\xe6" , "\x78\x76\xc9\xc9\xe8" } , { "\xc6\xe8\xc5\xe8\xcd" , "\x78\x76\xaa\xc9" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\x78\x76\xaa\xc9\xc9" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\x78\x76\xaa\xc9\xd2" } , { "\xc6\xe8\xc5\xe8\xcf" , "\x78\x77\xc9" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\x78\x77\xc9\xc9\xc6" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\x78\x77\xc9\xd2" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\x78\x77\xc9\xc9\xe5" } , { "\xc6\xe8\xc6" , "\x7a\xc9" } , { "\xc6\xe8\xc6\xa2" , "\x7a\xc9\xc6" } , { "\xc6\xe8\xc6\xda" , "\x7a\xc9\xc9" } , { "\xc6\xe8\xc6\xda\xa2" , "\x7a\xc9\xc9\xc6" } , { "\xc6\xe8\xc6\xdb" , "\xca\x7a\xc9" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xcb\x7a\xc9" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xca\x7a\xc9\x26" } , { "\xc6\xe8\xc6\xdc" , "\x7a\xc9\xd2" } , { "\xc6\xe8\xc6\xdc\xa2" , "\x7a\xc9\xd3" } , { "\xc6\xe8\xc6\xdd" , "\x7a\xc9\xd6" } , { "\xc6\xe8\xc6\xdd\xa2" , "\x7a\xc9\xd6\xc6" } , { "\xc6\xe8\xc6\xde" , "\x7a\xc9\xda" } , { "\xc6\xe8\xc6\xdf" , "\x7a\xc9\xde" } , { "\xc6\xe8\xc6\xe0" , "\x7a\xc9\xe0" } , { "\xc6\xe8\xc6\xe0\xa2" , "\x7a\xc9\xe1" } , { "\xc6\xe8\xc6\xe1" , "\x7a\xc9\xe4" } , { "\xc6\xe8\xc6\xe1\xa2" , "\x7a\xc9\xe5" } , { "\xc6\xe8\xc6\xe2" , "\x7a\xc9\xe8" } , { "\xc6\xe8\xc6\xe4" , "\x7a\xc9\xc9\xe0" } , { "\xc6\xe8\xc6\xe4\xa2" , "\x7a\xc9\xc9\xe1" } , { "\xc6\xe8\xc6\xe5" , "\x7a\xc9\xc9\xe4" } , { "\xc6\xe8\xc6\xe5\xa2" , "\x7a\xc9\xc9\xe5" } , { "\xc6\xe8\xc6\xe6" , "\x7a\xc9\xc9\xe8" } , { "\xc6\xe8\xc6\xe8" , "\x7a\xc9\xc2" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\x7a\x4d\xc9\xc9" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\x7a\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xc6\xe8\xc6\xe8\xc2" , "\x7a\x69\xc9" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\x7a\x6e\xf9\xc9\xe4" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\x7a\x76\xaa\xc9" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\x7a\x7b\xc9\xd6" } , { "\xc6\xe8\xc6\xe8\xc9" , "\x7a\xa1\xf2" } , { "\xc6\xe8\xc6\xe8\xcc" , "\x7a\xa8\xc9" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\x7a\xaa\xc9\xc9" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x7a\xae\xfa" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\x7a\xae\xfa\xc9\xe4" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\x7a\xb4\xc9\xc9" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\xcf\x7a\xb4\xc9" } , { "\xc6\xe8\xc8" , "\x78\x7b\xc9" } , { "\xc6\xe8\xc8\xa2" , "\x78\x7b\xc9\xc6" } , { "\xc6\xe8\xc8\xda" , "\x78\x7b\xc9\xc9" } , { "\xc6\xe8\xc8\xda\xa2" , "\x78\x7b\xc9\xc9\xc6" } , { "\xc6\xe8\xc8\xdb" , "\xce\x78\x7b\xc9" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xcf\x78\x7b\xc9" } , { "\xc6\xe8\xc8\xdc" , "\x78\x7b\xc9\xd2" } , { "\xc6\xe8\xc8\xdd" , "\x78\x7b\xc9\xd6" } , { "\xc6\xe8\xc8\xde" , "\x78\x7b\xc9\xda" } , { "\xc6\xe8\xc8\xe0" , "\x78\x7b\xc9\xe0" } , { "\xc6\xe8\xc8\xe1" , "\x78\x7b\xc9\xe4" } , { "\xc6\xe8\xc8\xe2" , "\x78\x7b\xc9\xe8" } , { "\xc6\xe8\xc8\xe4" , "\x78\x7b\xc9\xc9\xe0" } , { "\xc6\xe8\xc8\xe5" , "\x78\x7b\xc9\xc9\xe4" } , { "\xc6\xe8\xc8\xe6" , "\x78\x7b\xc9\xc9\xe8" } , { "\xc6\xe8\xc8\xe8\xc8" , "\x78\x7b\x7b\xc9" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\x78\x7b\xaa\xc9\xda" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\x78\x7b\xaa\xc9\xde\xc6" } , { "\xc6\xe8\xc8\xe8\xcf" , "\x78\x7c\xc9" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\x78\x7c\xc9\xc9" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\x78\x7c\xc9\xe0" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\x78\x7b\xb1\xc9\xc9" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\x78\x7b\xb1\xc9\xd2" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\x78\x7b\xb1\xc9\xd6" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\x78\x7b\xb1\xc9\xda" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\x78\x7b\xb1\xc9\xe4" } , { "\xc6\xe8\xc9" , "\x78\xa1\xf2" } , { "\xc6\xe8\xc9\xda" , "\x78\xa1\xf2\xc9" } , { "\xc6\xe8\xc9\xda\xa2" , "\x78\xa1\xf2\xc9\xc6" } , { "\xc6\xe8\xc9\xdb" , "\xce\x78\xa1\xf2" } , { "\xc6\xe8\xc9\xdc" , "\x78\xa1\xf2\xd2" } , { "\xc6\xe8\xc9\xdd" , "\x78\xa1\xd6\xf2" } , { "\xc6\xe8\xc9\xe0" , "\x78\xa1\xe0\xf2" } , { "\xc6\xe8\xc9\xe0\xa2" , "\x78\xa1\xe1\xf2" } , { "\xc6\xe8\xc9\xe1" , "\x78\xa1\xe4\xf2" } , { "\xc6\xe8\xc9\xe1\xa2" , "\x78\xa1\xe5\xf2" } , { "\xc6\xe8\xc9\xe4" , "\x78\xa1\xf2\xc9\xe0" } , { "\xc6\xe8\xc9\xe5" , "\x78\xa1\xf2\xc9\xe4" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x78\x7d\xaa\xc9\xda" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\x78\xa3\xf2\xc9" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\xce\x78\xa3\xf2" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\xcf\x78\xa3\xf2" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\x78\xa3\xf2\xd2" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\x78\xa3\xe4\xf2" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\x78\xa3\xe5\xf2" } , { "\xc6\xe8\xc9\xe8\xd1" , "\x78\x7d\xb1\xc9" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\x78\x7d\xb1\xc9\xd6" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\x78\x7d\xb1\xc9\xd6\xc6" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\x78\x7d\xb1\xc9\xda" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\x78\x7d\xb1\xc9\xe4" } , { "\xc6\xe8\xca" , "\x78\xa4\xc9" } , { "\xc6\xe8\xca\xda" , "\x78\xa4\xc9\xc9" } , { "\xc6\xe8\xca\xda\xa2" , "\x78\xa4\xc9\xc9\xc6" } , { "\xc6\xe8\xca\xdd" , "\x78\xa4\xc9\xd6" } , { "\xc6\xe8\xca\xde" , "\x78\xa4\xc9\xda" } , { "\xc6\xe8\xca\xe0" , "\x78\xa4\xc9\xe0" } , { "\xc6\xe8\xca\xe1" , "\x78\xa4\xc9\xe4" } , { "\xc6\xe8\xca\xe5" , "\x78\xa4\xc9\xc9\xe4" } , { "\xc6\xe8\xca\xe5\xa2" , "\x78\xa4\xc9\xc9\xe5" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\x78\xa5\xc9\xe4" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\x78\xa5\xc9\xc9\xe4" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\x78\xa4\xb1\xc9\xe4" } , { "\xc6\xe8\xcb\xda" , "\x78\xa6\xc9\xc9" } , { "\xc6\xe8\xcb\xde" , "\x78\xa6\xc9\xda" } , { "\xc6\xe8\xcc" , "\x78\xa8\xc9" } , { "\xc6\xe8\xcc\xa2" , "\x78\xa8\xc9\xc6" } , { "\xc6\xe8\xcc\xa3" , "\x78\xa8\xc9\x26" } , { "\xc6\xe8\xcc\xda" , "\x78\xa8\xc9\xc9" } , { "\xc6\xe8\xcc\xda\xa2" , "\x78\xa8\xc9\xc9\xc6" } , { "\xc6\xe8\xcc\xdb" , "\xce\x78\xa8\xc9" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xcf\x78\xa8\xc9" } , { "\xc6\xe8\xcc\xdc" , "\x78\xa8\xc9\xd2" } , { "\xc6\xe8\xcc\xdd" , "\x78\xa8\xc9\xd6" } , { "\xc6\xe8\xcc\xdd\xa2" , "\x78\xa8\xc9\xd6\xc6" } , { "\xc6\xe8\xcc\xde" , "\x78\xa8\xc9\xda" } , { "\xc6\xe8\xcc\xdf" , "\x78\xa8\xc9\xde" } , { "\xc6\xe8\xcc\xe0" , "\x78\xa8\xc9\xe0" } , { "\xc6\xe8\xcc\xe0\xa2" , "\x78\xa8\xc9\xe1" } , { "\xc6\xe8\xcc\xe1" , "\x78\xa8\xc9\xe4" } , { "\xc6\xe8\xcc\xe1\xa2" , "\x78\xa8\xc9\xe5" } , { "\xc6\xe8\xcc\xe2" , "\x78\xa8\xc9\xe8" } , { "\xc6\xe8\xcc\xe4" , "\x78\xa8\xc9\xc9\xe0" } , { "\xc6\xe8\xcc\xe5" , "\x78\xa8\xc9\xc9\xe4" } , { "\xc6\xe8\xcc\xe5\xa2" , "\x78\xa8\xc9\xc9\xe5" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xce\x78\xa8\xa8\xc9" } , { "\xc6\xe8\xcd" , "\x78\xaa\xc9" } , { "\xc6\xe8\xcd\xa2" , "\x78\xaa\xc9\xc6" } , { "\xc6\xe8\xcd\xa3" , "\x78\xaa\xc9\x26" } , { "\xc6\xe8\xcd\xda" , "\x78\xaa\xc9\xc9" } , { "\xc6\xe8\xcd\xda\xa2" , "\x78\xaa\xc9\xc9\xc6" } , { "\xc6\xe8\xcd\xda\xa3" , "\x78\xaa\xc9\xc9\x26" } , { "\xc6\xe8\xcd\xdb" , "\xce\x78\xaa\xc9" } , { "\xc6\xe8\xcd\xdc" , "\x78\xaa\xc9\xd2" } , { "\xc6\xe8\xcd\xdd" , "\x78\xaa\xc9\xd6" } , { "\xc6\xe8\xcd\xdd\xa2" , "\x78\xaa\xc9\xd6\xc6" } , { "\xc6\xe8\xcd\xde" , "\x78\xaa\xc9\xda" } , { "\xc6\xe8\xcd\xde\xa2" , "\x78\xaa\xc9\xda\xc6" } , { "\xc6\xe8\xcd\xe0" , "\x78\xaa\xc9\xe0" } , { "\xc6\xe8\xcd\xe1" , "\x78\xaa\xc9\xe4" } , { "\xc6\xe8\xcd\xe2" , "\x78\xaa\xc9\xe8" } , { "\xc6\xe8\xcd\xe4" , "\x78\xaa\xc9\xc9\xe0" } , { "\xc6\xe8\xcd\xe5" , "\x78\xaa\xc9\xc9\xe4" } , { "\xc6\xe8\xcd\xe5\xa2" , "\x78\xaa\xc9\xc9\xe5" } , { "\xc6\xe8\xcd\xe6" , "\x78\xaa\xc9\xc9\xe8" } , { "\xc6\xe8\xcd\xe7" , "\x78\xaa\xc9\xc9\xec" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x78\xaa\xaa\xc9" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x78\xaa\xaa\xc9\xc9" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x78\xaa\xaa\xc9\xda" } , { "\xc6\xe8\xcf" , "\x79\xc9" } , { "\xc6\xe8\xcf\xa2" , "\x79\xc9\xc6" } , { "\xc6\xe8\xcf\xda" , "\x79\xc9\xc9" } , { "\xc6\xe8\xcf\xdb" , "\xca\x79\xc9" } , { "\xc6\xe8\xcf\xdc" , "\x79\xc9\xd2" } , { "\xc6\xe8\xcf\xdd" , "\x79\xc9\xd6" } , { "\xc6\xe8\xcf\xde" , "\x79\xc9\xda" } , { "\xc6\xe8\xcf\xe0" , "\x79\xc9\xe0" } , { "\xc6\xe8\xcf\xe0\xa2" , "\x79\xc9\xe1" } , { "\xc6\xe8\xcf\xe2" , "\x79\xc9\xe8" } , { "\xc6\xe8\xcf\xe5" , "\x79\xc9\xc9\xe4" } , { "\xc6\xe8\xcf\xe8" , "\x79\xc9\xc2" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\xce\x79\x62\xf7" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x79\x69\xc9" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\x79\x75\xf9" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x79\xba\xc9\xc9" } , { "\xc6\xe8\xd0" , "\x78\xae\xfa\xc3" } , { "\xc6\xe8\xd0\xcc\xe8" , "\x78\xae\xfa\xc3\xa8\xc9\xc2" } , { "\xc6\xe8\xd0\xdb" , "\xce\x78\xae\xfa\xc3" } , { "\xc6\xe8\xd0\xdd" , "\x78\xae\xd6\xfa\xc3" } , { "\xc6\xe8\xd1" , "\x78\xb1\xc9" } , { "\xc6\xe8\xd1\xa2" , "\x78\xb1\xc9\xc6" } , { "\xc6\xe8\xd1\xda" , "\x78\xb1\xc9\xc9" } , { "\xc6\xe8\xd1\xda\xa2" , "\x78\xb1\xc9\xc9\xc6" } , { "\xc6\xe8\xd1\xdb" , "\xce\x78\xb1\xc9" } , { "\xc6\xe8\xd1\xdc" , "\x78\xb1\xc9\xd2" } , { "\xc6\xe8\xd1\xdd" , "\x78\xb1\xc9\xd6" } , { "\xc6\xe8\xd1\xdd\xa2" , "\x78\xb1\xc9\xd6\xc6" } , { "\xc6\xe8\xd1\xde" , "\x78\xb1\xc9\xda" } , { "\xc6\xe8\xd1\xe0" , "\x78\xb1\xc9\xe0" } , { "\xc6\xe8\xd1\xe0\xa2" , "\x78\xb1\xc9\xe1" } , { "\xc6\xe8\xd1\xe1" , "\x78\xb1\xc9\xe4" } , { "\xc6\xe8\xd1\xe1\xa2" , "\x78\xb1\xc9\xe5" } , { "\xc6\xe8\xd1\xe2" , "\x78\xb1\xc9\xe8" } , { "\xc6\xe8\xd1\xe4" , "\x78\xb1\xc9\xc9\xe0" } , { "\xc6\xe8\xd1\xe4\xa2" , "\x78\xb1\xc9\xc9\xe1" } , { "\xc6\xe8\xd1\xe5" , "\x78\xb1\xc9\xc9\xe4" } , { "\xc6\xe8\xd1\xe5\xa2" , "\x78\xb1\xc9\xc9\xe5" } , { "\xc6\xe8\xd1\xe8" , "\x78\xb1\xc9\xc2" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x78\xb1\xaa\xc9\xc9\xc6" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x78\xb1\xaa\xc9\xda" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x78\xb1\xba\xc9\xe4" } , { "\xc6\xe8\xd2" , "\x78\xb3\xfd" } , { "\xc6\xe8\xd4" , "\x78\xb4\xc9" } , { "\xc6\xe8\xd4\xa2" , "\x78\xb4\xc9\xc6" } , { "\xc6\xe8\xd4\xda" , "\x78\xb4\xc9\xc9" } , { "\xc6\xe8\xd4\xdb" , "\xce\x78\xb4\xc9" } , { "\xc6\xe8\xd4\xdc" , "\x78\xb4\xc9\xd2" } , { "\xc6\xe8\xd4\xdd" , "\x78\xb4\xc9\xd6" } , { "\xc6\xe8\xd4\xdd\xa2" , "\x78\xb4\xc9\xd6\xc6" } , { "\xc6\xe8\xd4\xde" , "\x78\xb4\xc9\xda" } , { "\xc6\xe8\xd4\xe0" , "\x78\xb4\xc9\xe0" } , { "\xc6\xe8\xd4\xe0\xa2" , "\x78\xb4\xc9\xe1" } , { "\xc6\xe8\xd4\xe1" , "\x78\xb4\xc9\xe4" } , { "\xc6\xe8\xd4\xe1\xa2" , "\x78\xb4\xc9\xe5" } , { "\xc6\xe8\xd4\xe2" , "\x78\xb4\xc9\xe8" } , { "\xc6\xe8\xd4\xe5" , "\x78\xb4\xc9\xc9\xe4" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\x78\xb4\xaa\xc9\xc9" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\x78\xb5\xc9\xd2" } , { "\xc6\xe8\xd5" , "\x78\xb6\xc9" } , { "\xc6\xe8\xd5\xa2" , "\x78\xb6\xc9\xc6" } , { "\xc6\xe8\xd5\xda" , "\x78\xb6\xc9\xc9" } , { "\xc6\xe8\xd5\xdb" , "\xce\x78\xb6\xc9" } , { "\xc6\xe8\xd5\xdc" , "\x78\xb6\xc9\xd2" } , { "\xc6\xe8\xd6" , "\x78\xb9\xc9" } , { "\xc6\xe8\xd6\xda" , "\x78\xb9\xc9\xc9" } , { "\xc6\xe8\xd6\xdb" , "\xce\x78\xb9\xc9" } , { "\xc6\xe8\xd6\xdc" , "\x78\xb9\xc9\xd2" } , { "\xc6\xe8\xd6\xdd" , "\x78\xb9\xc9\xd6" } , { "\xc6\xe8\xd6\xde" , "\x78\xb9\xc9\xda" } , { "\xc6\xe8\xd6\xe0" , "\x78\xb9\xc9\xe0" } , { "\xc6\xe8\xd6\xe2" , "\x78\xb9\xc9\xe8" } , { "\xc6\xe8\xd6\xe8\xbd" , "\x78\xb9\x5d\xf5" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\x78\xb9\x5d\xe4\xf5" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\x78\xb9\x5d\xc5\xf5" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x78\xb9\xaa\xc9\xda" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\x78\xb9\xb4\xc9\xd2" } , { "\xc6\xe8\xd7" , "\x78\xba\xc9" } , { "\xc6\xe8\xd7\xa2" , "\x78\xba\xc9\xc6" } , { "\xc6\xe8\xd7\xda" , "\x78\xba\xc9\xc9" } , { "\xc6\xe8\xd7\xda\xa2" , "\x78\xba\xc9\xc9\xc6" } , { "\xc6\xe8\xd7\xdb" , "\xce\x78\xba\xc9" } , { "\xc6\xe8\xd7\xdb\xa2" , "\xcf\x78\xba\xc9" } , { "\xc6\xe8\xd7\xdc" , "\x78\xba\xc9\xd2" } , { "\xc6\xe8\xd7\xdc\xa2" , "\x78\xba\xc9\xd3" } , { "\xc6\xe8\xd7\xdd" , "\x78\xba\xc9\xd6" } , { "\xc6\xe8\xd7\xdd\xa2" , "\x78\xba\xc9\xd6\xc6" } , { "\xc6\xe8\xd7\xde" , "\x78\xba\xc9\xda" } , { "\xc6\xe8\xd7\xe0" , "\x78\xba\xc9\xe0" } , { "\xc6\xe8\xd7\xe0\xa2" , "\x78\xba\xc9\xe1" } , { "\xc6\xe8\xd7\xe1" , "\x78\xba\xc9\xe4" } , { "\xc6\xe8\xd7\xe1\xa2" , "\x78\xba\xc9\xe5" } , { "\xc6\xe8\xd7\xe2" , "\x78\xba\xc9\xe8" } , { "\xc6\xe8\xd7\xe5" , "\x78\xba\xc9\xc9\xe4" } , { "\xc6\xe8\xd7\xe5\xa2" , "\x78\xba\xc9\xc9\xe5" } , { "\xc6\xe8\xd7\xe8" , "\x78\xba\xc9\xc2" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\x78\xba\x45\xf2\xc9" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\xce\x78\xba\x45\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\x78\xba\x45\xf2\xd2" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\x78\xba\x45\xd6\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\x78\xba\x45\xda\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\x78\xba\x45\xe0\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\x78\xba\x45\xe4\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\x78\xba\x45\xf2\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\x78\xba\x45\xc2\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\x78\xba\x43\xaa\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xce\x78\xba\x47\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\x78\xba\x47\xe4\xf2" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\x78\xba\x43\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x78\xba\x4d\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x78\xba\x53\xc9\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x78\xba\x56\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x78\xba\x56\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x78\xba\x5d\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x78\xba\x5d\xf5\xc9" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x78\xba\x5d\xf5\xc9\xc6" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\xce\x78\xba\x5d\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x78\xba\x5d\xf5\xd2" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x78\xba\x5d\xd6\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x78\xba\x5d\xda\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\x78\xba\x5d\xe0\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\x78\xba\x5d\xe1\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x78\xba\x5d\xe4\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x78\xba\x5d\xe8\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x78\xba\x5d\xf5\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\x78\xba\x5d\xc2\xf5\x45\xf2" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\x78\xba\x5d\xf5\xac\xc9\xc6" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\x78\xba\x5d\xf5\xac\xda" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\x78\xba\x5d\xc5\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xce\x78\xba\x5d\xc5\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\x78\xba\x5d\xd8\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x78\xba\x5d\xdc\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\x78\xba\x5d\xc5\xe4\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x78\xba\x5d\xc5\xe8\xf5" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\xce\x78\xba\x62\xf7" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x78\xba\x62\xc2\xf7\x4d\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc2" , "\x78\xba\x69\xc9" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\x78\xba\x69\xc9\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\x78\xba\x6c\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\xce\x78\xba\x6c\xc9" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x78\xba\x75\xf9\xc9" } , { "\xc6\xe8\xd7\xe8\xc6" , "\x78\xba\x78\xc9" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\xce\x78\xba\x78\xc9" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\x78\xba\x78\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\x78\xba\x78\xc9\xd6\xc6" } , { "\xc6\xe8\xd7\xe8\xc8" , "\x78\xba\x7b\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\x78\xba\x7b\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\xce\x78\xba\x7b\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\x78\xba\x7b\xc9\xd2" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\x78\xba\x7b\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\x78\xba\x7b\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\x78\xba\x7b\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\x78\xba\x7b\xc9\xe8" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\x78\xba\x7b\xc9\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x78\xba\x7b\xb1\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x78\xba\x7b\xb1\xc9\xc9\xc6" } , { "\xc6\xe8\xd7\xe8\xc9" , "\x78\xba\xa1\xf2" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\x78\xba\xa1\xf2\xc9" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\xce\x78\xba\xa1\xf2" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\x78\xba\xa1\xe0\xf2" } , { "\xc6\xe8\xd7\xe8\xca" , "\x78\xba\xa4\xc9" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\x78\xba\xa4\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\x78\xba\xa5\xc9\xc9\xc6" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\xce\x78\xba\xa8\xc9" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\x78\xba\xa8\xc9\xd2" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\x78\xba\xa8\xc9\xe1" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\xcf\x78\xba\xa8\x5d\xf5" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x78\xba\xaa\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x78\xba\xaa\xc9\xda" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\x78\xbb\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xd1" , "\x78\xba\xb1\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\x78\xba\xb1\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\x78\xba\xb1\xc9\xc9\xc6" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\xce\x78\xba\xb1\xc9" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\x78\xba\xb1\xc9\xd6" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\x78\xba\xb1\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\x78\xba\xb1\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\x78\xba\xb1\xc9\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\x78\xba\xb1\xc9\xc9\xe5" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\x78\xba\xb1\xc9\xc2" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\x78\xba\xb1\xaa\xc9\xc9\xc6" } , { "\xc6\xe8\xd7\xe8\xd4" , "\x78\xba\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\x78\xba\xb4\xc9\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\xce\x78\xba\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\xcf\x78\xba\xb4\xc9" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\x78\xba\xb4\xc9\xe0" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\x78\xba\xb4\xc9\xe4" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x78\xba\xb4\xc9\xe8" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x78\xba\xba\xc9" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x78\xba\xba\xc9\xc2" } , { "\xc6\xe8\xd8" , "\x78\xbd\xfe" } , { "\xc6\xe8\xd8\xa2" , "\x78\xbd\xc6\xfe" } , { "\xc6\xe8\xd8\xda" , "\x78\xbd\xfe\xc9" } , { "\xc6\xe8\xd8\xda\xa1" , "\x78\xbd\xfe\xc9\xc4" } , { "\xc6\xe8\xd8\xda\xa2" , "\x78\xbd\xfe\xc9\xc6" } , { "\xc6\xe8\xd8\xdb" , "\xce\x78\xbd\xfe" } , { "\xc6\xe8\xd8\xdb\xa2" , "\xcf\x78\xbd\xfe" } , { "\xc6\xe8\xd8\xdc" , "\x78\xbd\xfe\xd2" } , { "\xc6\xe8\xd8\xdc\xa2" , "\x78\xbd\xfe\xd3" } , { "\xc6\xe8\xd8\xdd\xa2" , "\x78\xbd\xd6\xc6\xfe" } , { "\xc6\xe8\xd8\xe0" , "\x78\xbd\xe0\xfe" } , { "\xc6\xe8\xd8\xe1" , "\x78\xbd\xe4\xfe" } , { "\xc6\xe8\xd8\xe1\xa2" , "\x78\xbd\xe5\xfe" } , { "\xc6\xe8\xd8\xe2" , "\x78\xbd\xe8\xfe" } , { "\xc6\xe8\xd8\xe2\xa2" , "\x78\xbd\xe9\xfe" } , { "\xc6\xe8\xd8\xe5" , "\x78\xbd\xfe\xc9\xe4" } , { "\xc6\xe8\xd8\xe5\xa2" , "\x78\xbd\xfe\xc9\xe5" } , { "\xc6\xe8\xd8\xe6" , "\x78\xbd\xfe\xc9\xe8" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x78\xc1" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x78\xc1\xc9\xc6" } , { "\xc6\xe8\xd9\xa6" , "\x78\x3c" } , { "\xc6\xe8\xd9\xc2" , "\x78\x69\xc9" } , { "\xc6\xe8\xd9\xc2\xdd" , "\x78\x69\xc9\xd6" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\x78\x6a\xc9" } , { "\xc6\xe8\xd9\xc6" , "\x78\x78\xc9" } , { "\xc6\xe8\xd9\xc6\xda" , "\x78\x78\xc9\xc9" } , { "\xc6\xe8\xd9\xc6\xdc" , "\x78\x78\xc9\xd2" } , { "\xc6\xe8\xd9\xc6\xdd" , "\x78\x78\xc9\xd6" } , { "\xc6\xe8\xd9\xc6\xde" , "\x78\x78\xc9\xda" } , { "\xc6\xe8\xd9\xc6\xe1" , "\x78\x78\xc9\xe4" } , { "\xc6\xe8\xd9\xc6\xe5" , "\x78\x78\xc9\xc9\xe4" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\x78\x78\xc9\xc9\xe5" } , { "\xc6\xe8\xd9\xc6\xe6" , "\x78\x78\xc9\xc9\xe8" } , { "\xc6\xe8\xd9\xcc\xde" , "\x78\xa8\xc9\xda" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\x78\x69\xc9\xc7" } , { "\xc6\xe8\xd9\xd7\xda" , "\x78\xba\xc9\xc9" } , { "\xc6\xe8\xd9\xd8" , "\x78\xbd\xfe" } , { "\xc6\xe8\xe8" , "\x78\xc9\xc2" } , { "\xc6\xe8\xe9\xc6" , "\x78\x78\xc9" } , { "\xc6\xe8\xe9\xcf" , "\x78\xae\xfa" } , { "\xc6\xe9" , "\x78\xc9" } , { "\xc6\xe9\xe8\xbf" , "\x78\x62\xf7" } , { "\xc7" , "\x78\xc9\xc3" } , { "\xc7\xdb" , "\xca\x78\xc9\xc3" } , { "\xc8" , "\x7b\xc9" } , { "\xc8\xa1" , "\x7b\xc9\xc4" } , { "\xc8\xa2" , "\x7b\xc9\xc6" } , { "\xc8\xa2\xa2" , "\x7b\xc9\xc6\xc6" } , { "\xc8\xa3" , "\x7b\xc9\x26" } , { "\xc8\xd0" , "\x7b\xc9\xae\xfa\xc3" } , { "\xc8\xd0\xcc" , "\x7b\xc9\xae\xfa\xc3\xa8\xc9" } , { "\xc8\xda" , "\x7b\xc9\xc9" } , { "\xc8\xda\xa1" , "\x7b\xc9\xc9\xc4" } , { "\xc8\xda\xa2" , "\x7b\xc9\xc9\xc6" } , { "\xc8\xda\xa3" , "\x7b\xc9\xc9\x26" } , { "\xc8\xda\xd0\xe8" , "\x7b\xc9\xc9\xae\xc2\xfa\xc3" } , { "\xc8\xdb" , "\xca\x7b\xc9" } , { "\xc8\xdb\xa2" , "\xcb\x7b\xc9" } , { "\xc8\xdb\xa2\xa2" , "\xcb\x7b\xc9\xc6" } , { "\xc8\xdc" , "\x7b\xc9\xd2" } , { "\xc8\xdc\xa2" , "\x7b\xc9\xd3" } , { "\xc8\xdd" , "\x7b\xc9\xd6" } , { "\xc8\xdd\xa1" , "\x7b\xc9\xd6\xc4" } , { "\xc8\xdd\xa2" , "\x7b\xc9\xd6\xc6" } , { "\xc8\xdd\xa3" , "\x7b\xc9\xd6\x26" } , { "\xc8\xde" , "\x7b\xc9\xda" } , { "\xc8\xde\xa1" , "\x7b\xc9\xda\xc4" } , { "\xc8\xde\xa2" , "\x7b\xc9\xda\xc6" } , { "\xc8\xdf" , "\x7b\xc9\xde" } , { "\xc8\xe0" , "\x7b\xc9\xe0" } , { "\xc8\xe0\xa2" , "\x7b\xc9\xe1" } , { "\xc8\xe1" , "\x7b\xc9\xe4" } , { "\xc8\xe1\xa1" , "\x7b\xc9\xe5" } , { "\xc8\xe1\xa2" , "\x7b\xc9\xe5" } , { "\xc8\xe2" , "\x7b\xc9\xe8" } , { "\xc8\xe2\xa2" , "\x7b\xc9\xe9" } , { "\xc8\xe2\xa3" , "\x7b\xc9\xe8\x26" } , { "\xc8\xe2\xcf\xe8" , "\x7b\xc9\xe8\xae\xc2\xfa" } , { "\xc8\xe4" , "\x7b\xc9\xc9\xe0" } , { "\xc8\xe4\xa2" , "\x7b\xc9\xc9\xe1" } , { "\xc8\xe4\xa3" , "\x7b\xc9\xc9\xe0\x26" } , { "\xc8\xe5" , "\x7b\xc9\xc9\xe4" } , { "\xc8\xe5\xa2" , "\x7b\xc9\xc9\xe5" } , { "\xc8\xe5\xa3" , "\x7b\xc9\xc9\xe4\x26" } , { "\xc8\xe6" , "\x7b\xc9\xc9\xe8" } , { "\xc8\xe6\xa2" , "\x7b\xc9\xc9\xe9" } , { "\xc8\xe7" , "\x7b\xc9\xc9\xec" } , { "\xc8\xe7\xa2" , "\x7b\xc9\xc9\xed" } , { "\xc8\xe8" , "\x7b\xc9\xc2" } , { "\xc8\xe8\xb3" , "\x7b\x45\xf2" } , { "\xc8\xe8\xb3\xa2" , "\x7b\x45\xc6\xf2" } , { "\xc8\xe8\xb3\xda" , "\x7b\x45\xf2\xc9" } , { "\xc8\xe8\xb3\xdb" , "\xce\x7b\x45\xf2" } , { "\xc8\xe8\xb3\xdb\xa2" , "\xcf\x7b\x45\xf2" } , { "\xc8\xe8\xb3\xdd" , "\x7b\x45\xd6\xf2" } , { "\xc8\xe8\xb3\xe1" , "\x7b\x45\xe4\xf2" } , { "\xc8\xe8\xb3\xe4" , "\x7b\x45\xf2\xc9\xe0" } , { "\xc8\xe8\xb3\xe5" , "\x7b\x45\xf2\xc9\xe4" } , { "\xc8\xe8\xb3\xe8\xc2" , "\x7b\x48\xf2" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x7b\x43\xae\xc2\xfa\xba\xc9\xc2" } , { "\xc8\xe8\xb5" , "\x7b\x4d\xc9" } , { "\xc8\xe8\xb5\xda" , "\x7b\x4d\xc9\xc9" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\x7b\x4f\xc9\xe4" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\x7b\x4f\xc9\xc9\xe9" } , { "\xc8\xe8\xb6" , "\x7b\x50\xc9" } , { "\xc8\xe8\xb8" , "\x7b\x53\xc9" } , { "\xc8\xe8\xb8\xda" , "\x7b\x53\xc9\xc9" } , { "\xc8\xe8\xb8\xdb" , "\xce\x7b\x53\xc9" } , { "\xc8\xe8\xb8\xdd" , "\x7b\x53\xc9\xd6" } , { "\xc8\xe8\xb8\xde" , "\x7b\x53\xc9\xda" } , { "\xc8\xe8\xb8\xe0" , "\x7b\x53\xc9\xe0" } , { "\xc8\xe8\xb8\xe1" , "\x7b\x53\xc9\xe4" } , { "\xc8\xe8\xb8\xe8" , "\x7b\x53\xc9\xc2" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x7b\x53\x55\xf4\xc9" } , { "\xc8\xe8\xb9\xdd" , "\x7b\x55\xd6\xf4" } , { "\xc8\xe8\xba" , "\x7b\x56\xc9" } , { "\xc8\xe8\xba\xda" , "\x7b\x56\xc9\xc9" } , { "\xc8\xe8\xba\xdb" , "\xce\x7b\x56\xc9" } , { "\xc8\xe8\xba\xdd" , "\x7b\x56\xc9\xd6" } , { "\xc8\xe8\xbd" , "\x7b\x5d\xf5" } , { "\xc8\xe8\xbd\xa2" , "\x7b\x5d\xc6\xf5" } , { "\xc8\xe8\xbd\xda" , "\x7b\x5d\xf5\xc9" } , { "\xc8\xe8\xbd\xdb" , "\xce\x7b\x5d\xf5" } , { "\xc8\xe8\xbd\xdb\xa2" , "\xcf\x7b\x5d\xf5" } , { "\xc8\xe8\xbd\xdc" , "\x7b\x5d\xf5\xd2" } , { "\xc8\xe8\xbd\xdd" , "\x7b\x5d\xd6\xf5" } , { "\xc8\xe8\xbd\xde" , "\x7b\x5d\xda\xf5" } , { "\xc8\xe8\xbd\xe0" , "\x7b\x5d\xe0\xf5" } , { "\xc8\xe8\xbd\xe0\xa2" , "\x7b\x5d\xe1\xf5" } , { "\xc8\xe8\xbd\xe1" , "\x7b\x5d\xe4\xf5" } , { "\xc8\xe8\xbd\xe2" , "\x7b\x5d\xe8\xf5" } , { "\xc8\xe8\xbd\xe4" , "\x7b\x5d\xf5\xc9\xe0" } , { "\xc8\xe8\xbd\xe5" , "\x7b\x5d\xf5\xc9\xe4" } , { "\xc8\xe8\xbd\xe6" , "\x7b\x5d\xf5\xc9\xe8" } , { "\xc8\xe8\xbd\xe8" , "\x7b\x5d\xc2\xf5" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x7b\x5d\xc2\xf5\x45\xd6\xf2" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x7b\x5d\xc2\xf5\x4d\xc9\xc9" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x7b\x5d\xc2\xf5\x53\xc9\xe4" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x7b\x5d\xc2\xf5\x69\xc9\xc9\xe4" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\x7b\x5d\xc2\xf5\xa4\xc9\xc9" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x7b\x5d\xf5\xac\xda" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\x7b\x5d\xc5\xf5\xc9" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\x7b\x5d\xc5\xf5\xc9\xe4" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\x7b\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\xce\x7b\x5d\xc2\xf5\xb4\xc9" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x7b\x5d\xc2\xf5\xb4\xc9\xe4" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x7b\x5d\xc2\xf5\xba\xc9" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x7b\x5d\xc2\xf5\xba\xc9\xc2" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x7b\x5d\xc2\xf5\xbd\xfe\xc9" } , { "\xc8\xe8\xbf" , "\x7b\x62\xf7" } , { "\xc8\xe8\xbf\xda" , "\x7b\x62\xf7\xc9" } , { "\xc8\xe8\xbf\xdb" , "\xce\x7b\x62\xf7" } , { "\xc8\xe8\xbf\xdd" , "\x7b\x62\xd6\xf7" } , { "\xc8\xe8\xbf\xe0\xa2" , "\x7b\x62\xe1\xf7" } , { "\xc8\xe8\xbf\xe1" , "\x7b\x62\xe4\xf7" } , { "\xc8\xe8\xbf\xe8" , "\x7b\x62\xc2\xf7" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\x7b\x62\xc5\xf7\xc9" } , { "\xc8\xe8\xc1" , "\x7b\x68\xc9" } , { "\xc8\xe8\xc2" , "\x7b\x69\xc9" } , { "\xc8\xe8\xc2\xa2" , "\x7b\x69\xc9\xc6" } , { "\xc8\xe8\xc2\xda" , "\x7b\x69\xc9\xc9" } , { "\xc8\xe8\xc2\xda\xa2" , "\x7b\x69\xc9\xc9\xc6" } , { "\xc8\xe8\xc2\xdb" , "\xce\x7b\x69\xc9" } , { "\xc8\xe8\xc2\xdb\xa2" , "\xcf\x7b\x69\xc9" } , { "\xc8\xe8\xc2\xdc" , "\x7b\x69\xc9\xd2" } , { "\xc8\xe8\xc2\xdd" , "\x7b\x69\xc9\xd6" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x7b\x69\xc9\xd6\xc6" } , { "\xc8\xe8\xc2\xde" , "\x7b\x69\xc9\xda" } , { "\xc8\xe8\xc2\xde\xa2" , "\x7b\x69\xc9\xda\xc6" } , { "\xc8\xe8\xc2\xe0" , "\x7b\x69\xc9\xe0" } , { "\xc8\xe8\xc2\xe1" , "\x7b\x69\xc9\xe4" } , { "\xc8\xe8\xc2\xe2\xa3" , "\x7b\x69\xc9\xe8\x26" } , { "\xc8\xe8\xc2\xe5" , "\x7b\x69\xc9\xc9\xe4" } , { "\xc8\xe8\xc2\xe5\xa2" , "\x7b\x69\xc9\xc9\xe5" } , { "\xc8\xe8\xc2\xe8" , "\x7b\x69\xc9\xc2" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x7b\x69\xaa\xc9" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x7b\x69\xaa\xc9\xc9" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x7b\x6a\xc9" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\x7b\x6a\xc9\xe0" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\x7b\x6a\xc9\xe8" } , { "\xc8\xe8\xc3" , "\x7b\x6c\xc9" } , { "\xc8\xe8\xc3\xdc" , "\x7b\x6c\xc9\xd2" } , { "\xc8\xe8\xc3\xe8" , "\x7b\x6c\xc9\xc2" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x7b\x6c\x45\xf2" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x7b\x6c\xaa\xc9\xc9" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x7b\x6c\xb4\xc9\xd2" } , { "\xc8\xe8\xc4" , "\x7b\x6e\xf9" } , { "\xc8\xe8\xc4\xda" , "\x7b\x6e\xf9\xc9" } , { "\xc8\xe8\xc4\xdc" , "\x7b\x6e\xf9\xd2" } , { "\xc8\xe8\xc4\xdd" , "\x7b\x6e\xd6\xf9" } , { "\xc8\xe8\xc4\xe1" , "\x7b\x6e\xe4\xf9" } , { "\xc8\xe8\xc4\xe4" , "\x7b\x6e\xf9\xc9\xe0" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\xce\x7b\x71\xf9" } , { "\xc8\xe8\xc5" , "\x7b\x76\xc9" } , { "\xc8\xe8\xc5\xda" , "\x7b\x76\xc9\xc9" } , { "\xc8\xe8\xc5\xdd" , "\x7b\x76\xc9\xd6" } , { "\xc8\xe8\xc6" , "\x7b\x78\xc9" } , { "\xc8\xe8\xc6\xa2" , "\x7b\x78\xc9\xc6" } , { "\xc8\xe8\xc6\xda" , "\x7b\x78\xc9\xc9" } , { "\xc8\xe8\xc6\xdb" , "\xce\x7b\x78\xc9" } , { "\xc8\xe8\xc6\xdc" , "\x7b\x78\xc9\xd2" } , { "\xc8\xe8\xc6\xdd" , "\x7b\x78\xc9\xd6" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x7b\x78\xc9\xd6\xc6" } , { "\xc8\xe8\xc6\xe5" , "\x7b\x78\xc9\xc9\xe4" } , { "\xc8\xe8\xc6\xe5\xa2" , "\x7b\x78\xc9\xc9\xe5" } , { "\xc8\xe8\xc7" , "\x7b\x78\xc9\xc3" } , { "\xc8\xe8\xc8" , "\x7b\x7b\xc9" } , { "\xc8\xe8\xc8\xa2" , "\x7b\x7b\xc9\xc6" } , { "\xc8\xe8\xc8\xa2\xa2" , "\x7b\x7b\xc9\xc6\xc6" } , { "\xc8\xe8\xc8\xda" , "\x7b\x7b\xc9\xc9" } , { "\xc8\xe8\xc8\xda\xa2" , "\x7b\x7b\xc9\xc9\xc6" } , { "\xc8\xe8\xc8\xdb" , "\xce\x7b\x7b\xc9" } , { "\xc8\xe8\xc8\xdb\xa2" , "\xcf\x7b\x7b\xc9" } , { "\xc8\xe8\xc8\xdc" , "\x7b\x7b\xc9\xd2" } , { "\xc8\xe8\xc8\xdc\xa2" , "\x7b\x7b\xc9\xd3" } , { "\xc8\xe8\xc8\xdd" , "\x7b\x7b\xc9\xd6" } , { "\xc8\xe8\xc8\xdd\xa2" , "\x7b\x7b\xc9\xd6\xc6" } , { "\xc8\xe8\xc8\xde" , "\x7b\x7b\xc9\xda" } , { "\xc8\xe8\xc8\xe0" , "\x7b\x7b\xc9\xe0" } , { "\xc8\xe8\xc8\xe0\xa2" , "\x7b\x7b\xc9\xe1" } , { "\xc8\xe8\xc8\xe1" , "\x7b\x7b\xc9\xe4" } , { "\xc8\xe8\xc8\xe1\xa2" , "\x7b\x7b\xc9\xe5" } , { "\xc8\xe8\xc8\xe2" , "\x7b\x7b\xc9\xe8" } , { "\xc8\xe8\xc8\xe2\xa2" , "\x7b\x7b\xc9\xe9" } , { "\xc8\xe8\xc8\xe4" , "\x7b\x7b\xc9\xc9\xe0" } , { "\xc8\xe8\xc8\xe4\xa2" , "\x7b\x7b\xc9\xc9\xe1" } , { "\xc8\xe8\xc8\xe5" , "\x7b\x7b\xc9\xc9\xe4" } , { "\xc8\xe8\xc8\xe5\xa2" , "\x7b\x7b\xc9\xc9\xe5" } , { "\xc8\xe8\xc8\xe6" , "\x7b\x7b\xc9\xc9\xe8" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\xce\x7b\x7b\x62\xf7" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x7b\x7b\x7b\xc9\xc9" } , { "\xc8\xe8\xc8\xe8\xcc" , "\x7b\x7b\xa8\xc9" } , { "\xc8\xe8\xc8\xe8\xcf" , "\x7b\x7c\xc9" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x7b\x7b\xba\xc9\xd6" } , { "\xc8\xe8\xc9" , "\x7b\xa1\xf2" } , { "\xc8\xe8\xc9\xdb" , "\xce\x7b\xa1\xf2" } , { "\xc8\xe8\xc9\xdc" , "\x7b\xa1\xf2\xd2" } , { "\xc8\xe8\xc9\xdd" , "\x7b\xa1\xd6\xf2" } , { "\xc8\xe8\xc9\xe0" , "\x7b\xa1\xe0\xf2" } , { "\xc8\xe8\xc9\xe1" , "\x7b\xa1\xe4\xf2" } , { "\xc8\xe8\xc9\xe2" , "\x7b\xa1\xe8\xf2" } , { "\xc8\xe8\xca" , "\x7b\xa4\xc9" } , { "\xc8\xe8\xca\xda" , "\x7b\xa4\xc9\xc9" } , { "\xc8\xe8\xca\xdb\xa2" , "\xcf\x7b\xa4\xc9" } , { "\xc8\xe8\xca\xdd" , "\x7b\xa4\xc9\xd6" } , { "\xc8\xe8\xca\xe0" , "\x7b\xa4\xc9\xe0" } , { "\xc8\xe8\xcb" , "\x7b\xa6\xc9" } , { "\xc8\xe8\xcc" , "\x7b\xa8\xc9" } , { "\xc8\xe8\xcc\xda" , "\x7b\xa8\xc9\xc9" } , { "\xc8\xe8\xcc\xdb" , "\xce\x7b\xa8\xc9" } , { "\xc8\xe8\xcc\xdc" , "\x7b\xa8\xc9\xd2" } , { "\xc8\xe8\xcc\xde" , "\x7b\xa8\xc9\xda" } , { "\xc8\xe8\xcc\xe0" , "\x7b\xa8\xc9\xe0" } , { "\xc8\xe8\xcc\xe0\xa2" , "\x7b\xa8\xc9\xe1" } , { "\xc8\xe8\xcc\xe5" , "\x7b\xa8\xc9\xc9\xe4" } , { "\xc8\xe8\xcd" , "\x7b\xaa\xc9" } , { "\xc8\xe8\xcd\xa2" , "\x7b\xaa\xc9\xc6" } , { "\xc8\xe8\xcd\xda" , "\x7b\xaa\xc9\xc9" } , { "\xc8\xe8\xcd\xda\xa2" , "\x7b\xaa\xc9\xc9\xc6" } , { "\xc8\xe8\xcd\xdb" , "\xce\x7b\xaa\xc9" } , { "\xc8\xe8\xcd\xdd" , "\x7b\xaa\xc9\xd6" } , { "\xc8\xe8\xcd\xde" , "\x7b\xaa\xc9\xda" } , { "\xc8\xe8\xcd\xde\xa1" , "\x7b\xaa\xc9\xda\xc4" } , { "\xc8\xe8\xcd\xe1" , "\x7b\xaa\xc9\xe4" } , { "\xc8\xe8\xcd\xe4" , "\x7b\xaa\xc9\xc9\xe0" } , { "\xc8\xe8\xcd\xe5" , "\x7b\xaa\xc9\xc9\xe4" } , { "\xc8\xe8\xcf" , "\x7c\xc9" } , { "\xc8\xe8\xcf\xa2" , "\x7c\xc9\xc6" } , { "\xc8\xe8\xcf\xda" , "\x7c\xc9\xc9" } , { "\xc8\xe8\xcf\xda\xa1" , "\x7c\xc9\xc9\xc4" } , { "\xc8\xe8\xcf\xda\xa2" , "\x7c\xc9\xc9\xc6" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\x7c\xc9\xc9\xc6\xc6" } , { "\xc8\xe8\xcf\xdb" , "\xca\x7c\xc9" } , { "\xc8\xe8\xcf\xdb\xa2" , "\xcb\x7c\xc9" } , { "\xc8\xe8\xcf\xdc" , "\x7c\xc9\xd2" } , { "\xc8\xe8\xcf\xdc\xa2" , "\x7c\xc9\xd3" } , { "\xc8\xe8\xcf\xdc\xa3" , "\x7c\xc9\xd2\x26" } , { "\xc8\xe8\xcf\xdd" , "\x7c\xc9\xd6" } , { "\xc8\xe8\xcf\xdd\xa2" , "\x7c\xc9\xd6\xc6" } , { "\xc8\xe8\xcf\xde" , "\x7c\xc9\xda" } , { "\xc8\xe8\xcf\xde\xa2" , "\x7c\xc9\xda\xc6" } , { "\xc8\xe8\xcf\xdf" , "\x7c\xc9\xde" } , { "\xc8\xe8\xcf\xe0" , "\x7c\xc9\xe0" } , { "\xc8\xe8\xcf\xe0\xa2" , "\x7c\xc9\xe1" } , { "\xc8\xe8\xcf\xe1" , "\x7c\xc9\xe4" } , { "\xc8\xe8\xcf\xe1\xa2" , "\x7c\xc9\xe5" } , { "\xc8\xe8\xcf\xe2" , "\x7c\xc9\xe8" } , { "\xc8\xe8\xcf\xe4" , "\x7c\xc9\xc9\xe0" } , { "\xc8\xe8\xcf\xe5" , "\x7c\xc9\xc9\xe4" } , { "\xc8\xe8\xcf\xe5\xa2" , "\x7c\xc9\xc9\xe5" } , { "\xc8\xe8\xcf\xe6" , "\x7c\xc9\xc9\xe8" } , { "\xc8\xe8\xcf\xe7" , "\x7c\xc9\xc9\xec" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x7c\xaa\xc9" } , { "\xc8\xe8\xcf\xe8\xd1" , "\x7c\xb1\xc9" } , { "\xc8\xe8\xd1" , "\x7b\xb1\xc9" } , { "\xc8\xe8\xd1\xa2" , "\x7b\xb1\xc9\xc6" } , { "\xc8\xe8\xd1\xda" , "\x7b\xb1\xc9\xc9" } , { "\xc8\xe8\xd1\xda\xa2" , "\x7b\xb1\xc9\xc9\xc6" } , { "\xc8\xe8\xd1\xdb" , "\xce\x7b\xb1\xc9" } , { "\xc8\xe8\xd1\xdb\xa2" , "\xcf\x7b\xb1\xc9" } , { "\xc8\xe8\xd1\xdc" , "\x7b\xb1\xc9\xd2" } , { "\xc8\xe8\xd1\xdd" , "\x7b\xb1\xc9\xd6" } , { "\xc8\xe8\xd1\xde" , "\x7b\xb1\xc9\xda" } , { "\xc8\xe8\xd1\xe0" , "\x7b\xb1\xc9\xe0" } , { "\xc8\xe8\xd1\xe0\xa2" , "\x7b\xb1\xc9\xe1" } , { "\xc8\xe8\xd1\xe1" , "\x7b\xb1\xc9\xe4" } , { "\xc8\xe8\xd1\xe1\xa2" , "\x7b\xb1\xc9\xe5" } , { "\xc8\xe8\xd1\xe2" , "\x7b\xb1\xc9\xe8" } , { "\xc8\xe8\xd1\xe2\xa2" , "\x7b\xb1\xc9\xe9" } , { "\xc8\xe8\xd1\xe4" , "\x7b\xb1\xc9\xc9\xe0" } , { "\xc8\xe8\xd1\xe5" , "\x7b\xb1\xc9\xc9\xe4" } , { "\xc8\xe8\xd1\xe7" , "\x7b\xb1\xc9\xc9\xec" } , { "\xc8\xe8\xd1\xe8" , "\x7b\xb1\xc9\xc2" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\x7b\xb1\x7b\xc9\xd2" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x7b\xb1\xaa\xc9\xc9\xc6" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x7b\xb1\xaa\xc9\xda" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x7b\xb1\xba\xc9\xc9\xc6" } , { "\xc8\xe8\xd2\xdb" , "\xce\x7b\xb3\xfd" } , { "\xc8\xe8\xd4" , "\x7b\xb4\xc9" } , { "\xc8\xe8\xd4\xda" , "\x7b\xb4\xc9\xc9" } , { "\xc8\xe8\xd4\xda\xa1" , "\x7b\xb4\xc9\xc9\xc4" } , { "\xc8\xe8\xd4\xda\xa2" , "\x7b\xb4\xc9\xc9\xc6" } , { "\xc8\xe8\xd4\xdb" , "\xce\x7b\xb4\xc9" } , { "\xc8\xe8\xd4\xdd" , "\x7b\xb4\xc9\xd6" } , { "\xc8\xe8\xd4\xe2" , "\x7b\xb4\xc9\xe8" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\x7b\xb5\xc9\xc9" } , { "\xc8\xe8\xd5" , "\x7b\xb6\xc9" } , { "\xc8\xe8\xd5\xa2" , "\x7b\xb6\xc9\xc6" } , { "\xc8\xe8\xd6" , "\x7b\xb9\xc9" } , { "\xc8\xe8\xd6\xdb" , "\xce\x7b\xb9\xc9" } , { "\xc8\xe8\xd6\xe2" , "\x7b\xb9\xc9\xe8" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x7b\xb9\x55\xf4" } , { "\xc8\xe8\xd6\xe8\xbd" , "\x7b\xb9\x5d\xf5" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\xce\x7b\xb9\x5d\xf5" } , { "\xc8\xe8\xd6\xe8\xbe" , "\x7b\xb9\x60\xf6" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\x7b\xb9\x60\xf6\xc9\xe4" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\x7b\xb9\x60\xf6\xc9\xe5" } , { "\xc8\xe8\xd7" , "\x7b\xba\xc9" } , { "\xc8\xe8\xd7\xa2" , "\x7b\xba\xc9\xc6" } , { "\xc8\xe8\xd7\xda" , "\x7b\xba\xc9\xc9" } , { "\xc8\xe8\xd7\xdb" , "\xce\x7b\xba\xc9" } , { "\xc8\xe8\xd7\xdb\xa2" , "\xcf\x7b\xba\xc9" } , { "\xc8\xe8\xd7\xdc" , "\x7b\xba\xc9\xd2" } , { "\xc8\xe8\xd7\xdd" , "\x7b\xba\xc9\xd6" } , { "\xc8\xe8\xd7\xde" , "\x7b\xba\xc9\xda" } , { "\xc8\xe8\xd7\xe0" , "\x7b\xba\xc9\xe0" } , { "\xc8\xe8\xd7\xe0\xa2" , "\x7b\xba\xc9\xe1" } , { "\xc8\xe8\xd7\xe1" , "\x7b\xba\xc9\xe4" } , { "\xc8\xe8\xd7\xe2" , "\x7b\xba\xc9\xe8" } , { "\xc8\xe8\xd7\xe5" , "\x7b\xba\xc9\xc9\xe4" } , { "\xc8\xe8\xd7\xe8" , "\x7b\xba\xc9\xc2" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\x7b\xba\x45\xd6\xf2" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x7b\xba\x4d\xc9\xc9" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x7b\xba\x4d\xc9\xe4" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x7b\xba\x5d\xf5" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\xce\x7b\xba\x5d\xf5" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x7b\xba\x5d\xf5\xd2" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x7b\xba\x5d\xf5\xc9\xe4" } , { "\xc8\xe8\xd7\xe8\xc2" , "\x7b\xba\x69\xc9" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\x7b\xba\x69\xc9\xd6" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\x7b\xba\x69\xc9\xd6\xc6" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\xce\x7b\xba\x78\xc9" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\x7b\xba\x78\xc9\xd6" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\xce\x7b\xba\xa1\xf2" } , { "\xc8\xe8\xd7\xe8\xca" , "\x7b\xba\xa4\xc9" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\x7b\xba\xa8\xc9\xd6\xc6" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x7b\xba\xaa\xc9\xd6" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x7b\xba\xaa\xc9\xda" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\x7b\xba\xb1\xc9\xc9\xe4" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\xce\x7b\xba\xba\x5d\xf5" } , { "\xc8\xe8\xd8" , "\x7b\xbd\xfe" } , { "\xc8\xe8\xd8\xda\xa2" , "\x7b\xbd\xfe\xc9\xc6" } , { "\xc8\xe8\xd8\xde" , "\x7b\xbd\xda\xfe" } , { "\xc8\xe8\xd8\xe5" , "\x7b\xbd\xfe\xc9\xe4" } , { "\xc8\xe8\xd8\xe6" , "\x7b\xbd\xfe\xc9\xe8" } , { "\xc8\xe8\xe8" , "\x7b\xc9\xc2" } , { "\xc8\xe8\xe9\xcf" , "\x7b\xae\xfa" } , { "\xc8\xe9" , "\x7b\xc9" } , { "\xc9" , "\xa1\xf2" } , { "\xc9\xa1" , "\xa1\xc4\xf2" } , { "\xc9\xa2" , "\xa1\xc6\xf2" } , { "\xc9\xa3" , "\xa1\xf2\x26" } , { "\xc9\xc4" , "\xa1\xf2\x6e\xf9" } , { "\xc9\xca" , "\xa1\xf2\xa4\xc9" } , { "\xc9\xd0" , "\xa1\xf2\xae\xfa\xc3" } , { "\xc9\xda" , "\xa1\xf2\xc9" } , { "\xc9\xda\xa1" , "\xa1\xf2\xc9\xc4" } , { "\xc9\xda\xa2" , "\xa1\xf2\xc9\xc6" } , { "\xc9\xdb" , "\xca\xa1\xf2" } , { "\xc9\xdb\xa2" , "\xcb\xa1\xf2" } , { "\xc9\xdc" , "\xa1\xf2\xd2" } , { "\xc9\xdc\xa1" , "\xa1\xf2\xd3" } , { "\xc9\xdc\xa2" , "\xa1\xf2\xd3" } , { "\xc9\xdd" , "\xa1\xd6\xf2" } , { "\xc9\xdd\xa1" , "\xa1\xd6\xc4\xf2" } , { "\xc9\xdd\xa2" , "\xa1\xd6\xc6\xf2" } , { "\xc9\xde" , "\xa1\xda\xf2" } , { "\xc9\xde\xa1" , "\xa1\xda\xc4\xf2" } , { "\xc9\xde\xa2" , "\xa1\xda\xc6\xf2" } , { "\xc9\xdf" , "\xa1\xde\xf2" } , { "\xc9\xe0" , "\xa1\xe0\xf2" } , { "\xc9\xe0\xa2" , "\xa1\xe1\xf2" } , { "\xc9\xe1" , "\xa1\xe4\xf2" } , { "\xc9\xe1\xa2" , "\xa1\xe5\xf2" } , { "\xc9\xe2" , "\xa1\xe8\xf2" } , { "\xc9\xe2\xa2" , "\xa1\xe9\xf2" } , { "\xc9\xe4" , "\xa1\xf2\xc9\xe0" } , { "\xc9\xe4\xa2" , "\xa1\xf2\xc9\xe1" } , { "\xc9\xe5" , "\xa1\xf2\xc9\xe4" } , { "\xc9\xe5\xa2" , "\xa1\xf2\xc9\xe5" } , { "\xc9\xe6" , "\xa1\xf2\xc9\xe8" } , { "\xc9\xe6\xa2" , "\xa1\xf2\xc9\xe9" } , { "\xc9\xe7" , "\xa1\xf2\xc9\xec" } , { "\xc9\xe7\xa2" , "\xa1\xf2\xc9\xed" } , { "\xc9\xe8" , "\xa1\xc2\xf2" } , { "\xc9\xe8\xb3\xda" , "\x7d\x45\xf2\xc9" } , { "\xc9\xe8\xb3\xdb" , "\xce\x7d\x45\xf2" } , { "\xc9\xe8\xb3\xdc" , "\x7d\x45\xf2\xd2" } , { "\xc9\xe8\xb3\xdd" , "\x7d\x45\xd6\xf2" } , { "\xc9\xe8\xb3\xe0" , "\x7d\x45\xe0\xf2" } , { "\xc9\xe8\xb3\xe1" , "\x7d\x45\xe4\xf2" } , { "\xc9\xe8\xb3\xe5" , "\x7d\x45\xf2\xc9\xe4" } , { "\xc9\xe8\xb4" , "\x7d\x4a\xc9" } , { "\xc9\xe8\xb4\xda" , "\x7d\x4a\xc9\xc9" } , { "\xc9\xe8\xb5" , "\x7d\x4d\xc9" } , { "\xc9\xe8\xb5\xda" , "\x7d\x4d\xc9\xc9" } , { "\xc9\xe8\xb5\xde" , "\x7d\x4d\xc9\xda" } , { "\xc9\xe8\xb6" , "\x7d\x50\xc9" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\xce\x7d\x50\x78\xc9" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x7d\x50\x78\xc9\xd6" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\x7d\x50\x78\xc9\xc2" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\x7d\x50\x78\xb1\xc9" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\x7d\x50\x78\xb1\xc9\xd6" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\x7d\x53\x78\xc9\xe1" } , { "\xc9\xe8\xba" , "\x7d\x56\xc9" } , { "\xc9\xe8\xba\xda" , "\x7d\x56\xc9\xc9" } , { "\xc9\xe8\xba\xe5\xa2" , "\x7d\x56\xc9\xc9\xe5" } , { "\xc9\xe8\xba\xe9" , "\x7d\x57\xc9" } , { "\xc9\xe8\xbb" , "\x7d\x5a\xc9" } , { "\xc9\xe8\xbd" , "\x7d\x5d\xf5" } , { "\xc9\xe8\xbd\xdb" , "\xce\x7d\x5d\xf5" } , { "\xc9\xe8\xbd\xdb\xa2" , "\xcf\x7d\x5d\xf5" } , { "\xc9\xe8\xbd\xdc" , "\x7d\x5d\xf5\xd2" } , { "\xc9\xe8\xbd\xdd" , "\x7d\x5d\xd6\xf5" } , { "\xc9\xe8\xbd\xde" , "\x7d\x5d\xda\xf5" } , { "\xc9\xe8\xbd\xe0" , "\x7d\x5d\xe0\xf5" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x7d\x5d\xe5\xf5" } , { "\xc9\xe8\xbd\xe5" , "\x7d\x5d\xf5\xc9\xe4" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x7d\x5d\xf5\xc9\xe5" } , { "\xc9\xe8\xbd\xe8" , "\x7d\x5d\xc2\xf5" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x7d\x5d\xc2\xf5\x45\xf2\xc9" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x7d\x5d\xc2\xf5\x45\xf2\xc9\xe4" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\x7d\x5d\xc2\xf5\x78\xc9\xe1" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x7d\x5d\xc2\xf5\x7b\xc9\xc9" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x7d\x5d\xc2\xf5\x7b\xc9\xe4" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\x7d\x5d\xc5\xc2\xf5" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\x7d\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\x7d\x5d\xc2\xf5\xb1\xc9\xc9\xe4" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\x7d\x5d\xc2\xf5\xb4\xc9\xe1" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\x7d\x5d\xc2\xf5\xb4\xc9\xe4" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x7d\x5d\xc2\xf5\xba\xc9" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x7d\x5d\xc2\xf5\xba\xc9\xe8" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\x7d\x5d\xc2\xf5\xba\xc9\xc2" } , { "\xc9\xe8\xbf\xe8" , "\x7d\x62\xc2\xf7" } , { "\xc9\xe8\xc2" , "\x7d\x69\xc9" } , { "\xc9\xe8\xc2\xda" , "\x7d\x69\xc9\xc9" } , { "\xc9\xe8\xc2\xdb" , "\xce\x7d\x69\xc9" } , { "\xc9\xe8\xc2\xdc" , "\x7d\x69\xc9\xd2" } , { "\xc9\xe8\xc2\xe1" , "\x7d\x69\xc9\xe4" } , { "\xc9\xe8\xc2\xe5" , "\x7d\x69\xc9\xc9\xe4" } , { "\xc9\xe8\xc2\xe5\xa2" , "\x7d\x69\xc9\xc9\xe5" } , { "\xc9\xe8\xc2\xe8" , "\x7d\x69\xc9\xc2" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\x7d\x69\x4d\xc9\xc9" } , { "\xc9\xe8\xc3" , "\x7d\x6c\xc9" } , { "\xc9\xe8\xc3\xda" , "\x7d\x6c\xc9\xc9" } , { "\xc9\xe8\xc3\xe5" , "\x7d\x6c\xc9\xc9\xe4" } , { "\xc9\xe8\xc4" , "\x7d\x6e\xf9" } , { "\xc9\xe8\xc4\xda" , "\x7d\x6e\xf9\xc9" } , { "\xc9\xe8\xc6" , "\x7d\x78\xc9" } , { "\xc9\xe8\xc6\xda" , "\x7d\x78\xc9\xc9" } , { "\xc9\xe8\xc6\xdb" , "\xce\x7d\x78\xc9" } , { "\xc9\xe8\xc6\xdc" , "\x7d\x78\xc9\xd2" } , { "\xc9\xe8\xc6\xdd" , "\x7d\x78\xc9\xd6" } , { "\xc9\xe8\xc6\xe0" , "\x7d\x78\xc9\xe0" } , { "\xc9\xe8\xc6\xe5" , "\x7d\x78\xc9\xc9\xe4" } , { "\xc9\xe8\xc8" , "\x7d\x7b\xc9" } , { "\xc9\xe8\xc8\xda" , "\x7d\x7b\xc9\xc9" } , { "\xc9\xe8\xc8\xdc" , "\x7d\x7b\xc9\xd2" } , { "\xc9\xe8\xc8\xe2" , "\x7d\x7b\xc9\xe8" } , { "\xc9\xe8\xc8\xe8" , "\x7d\x7b\xc9\xc2" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\xce\x7d\x7c\xc9" } , { "\xc9\xe8\xc9" , "\x7d\xa1\xf2" } , { "\xc9\xe8\xc9\xda" , "\x7d\xa1\xf2\xc9" } , { "\xc9\xe8\xc9\xdd" , "\x7d\xa1\xd6\xf2" } , { "\xc9\xe8\xc9\xe1" , "\x7d\xa1\xe4\xf2" } , { "\xc9\xe8\xc9\xe5" , "\x7d\xa1\xf2\xc9\xe4" } , { "\xc9\xe8\xca" , "\x7d\xa4\xc9" } , { "\xc9\xe8\xca\xda" , "\x7d\xa4\xc9\xc9" } , { "\xc9\xe8\xca\xdc" , "\x7d\xa4\xc9\xd2" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\x7d\xa5\xc9\xe4" } , { "\xc9\xe8\xcc" , "\x7d\xa8\xc9" } , { "\xc9\xe8\xcc\xda" , "\x7d\xa8\xc9\xc9" } , { "\xc9\xe8\xcc\xdc" , "\x7d\xa8\xc9\xd2" } , { "\xc9\xe8\xcc\xdd" , "\x7d\xa8\xc9\xd6" } , { "\xc9\xe8\xcc\xe1" , "\x7d\xa8\xc9\xe4" } , { "\xc9\xe8\xcd" , "\x7d\xaa\xc9" } , { "\xc9\xe8\xcd\xda" , "\x7d\xaa\xc9\xc9" } , { "\xc9\xe8\xcd\xda\xa2" , "\x7d\xaa\xc9\xc9\xc6" } , { "\xc9\xe8\xcd\xdd" , "\x7d\xaa\xc9\xd6" } , { "\xc9\xe8\xcd\xde" , "\x7d\xaa\xc9\xda" } , { "\xc9\xe8\xcd\xe5" , "\x7d\xaa\xc9\xc9\xe4" } , { "\xc9\xe8\xcf" , "\xa3\xf2" } , { "\xc9\xe8\xcf\xa2" , "\xa3\xc6\xf2" } , { "\xc9\xe8\xcf\xda" , "\xa3\xf2\xc9" } , { "\xc9\xe8\xcf\xda\xa1" , "\xa3\xf2\xc9\xc4" } , { "\xc9\xe8\xcf\xda\xa2" , "\xa3\xf2\xc9\xc6" } , { "\xc9\xe8\xcf\xdb" , "\xca\xa3\xf2" } , { "\xc9\xe8\xcf\xdb\xa2" , "\xcb\xa3\xf2" } , { "\xc9\xe8\xcf\xdc" , "\xa3\xf2\xd2" } , { "\xc9\xe8\xcf\xdd" , "\xa3\xd6\xf2" } , { "\xc9\xe8\xcf\xde" , "\xa3\xda\xf2" } , { "\xc9\xe8\xcf\xe0" , "\xa3\xe0\xf2" } , { "\xc9\xe8\xcf\xe0\xa2" , "\xa3\xe1\xf2" } , { "\xc9\xe8\xcf\xe1" , "\xa3\xe4\xf2" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xa3\xe5\xf2" } , { "\xc9\xe8\xcf\xe2" , "\xa3\xe8\xf2" } , { "\xc9\xe8\xcf\xe2\xa2" , "\xa3\xe9\xf2" } , { "\xc9\xe8\xcf\xe4" , "\xa3\xf2\xc9\xe0" } , { "\xc9\xe8\xcf\xe5" , "\xa3\xf2\xc9\xe4" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xa3\xf2\xc9\xe5" } , { "\xc9\xe8\xcf\xe6" , "\xa3\xf2\xc9\xe8" } , { "\xc9\xe8\xcf\xe7" , "\xa3\xf2\xc9\xec" } , { "\xc9\xe8\xcf\xe8" , "\xa3\xc2\xf2" } , { "\xc9\xe8\xd1" , "\x7d\xb1\xc9" } , { "\xc9\xe8\xd1\xda" , "\x7d\xb1\xc9\xc9" } , { "\xc9\xe8\xd1\xda\xa2" , "\x7d\xb1\xc9\xc9\xc6" } , { "\xc9\xe8\xd1\xdb" , "\xce\x7d\xb1\xc9" } , { "\xc9\xe8\xd1\xdb\xa2" , "\xcf\x7d\xb1\xc9" } , { "\xc9\xe8\xd1\xdc" , "\x7d\xb1\xc9\xd2" } , { "\xc9\xe8\xd1\xdd" , "\x7d\xb1\xc9\xd6" } , { "\xc9\xe8\xd1\xde" , "\x7d\xb1\xc9\xda" } , { "\xc9\xe8\xd1\xe0" , "\x7d\xb1\xc9\xe0" } , { "\xc9\xe8\xd1\xe1" , "\x7d\xb1\xc9\xe4" } , { "\xc9\xe8\xd1\xe1\xa2" , "\x7d\xb1\xc9\xe5" } , { "\xc9\xe8\xd1\xe2" , "\x7d\xb1\xc9\xe8" } , { "\xc9\xe8\xd1\xe2\xa2" , "\x7d\xb1\xc9\xe9" } , { "\xc9\xe8\xd1\xe5" , "\x7d\xb1\xc9\xc9\xe4" } , { "\xc9\xe8\xd1\xe5\xa2" , "\x7d\xb1\xc9\xc9\xe5" } , { "\xc9\xe8\xd1\xe6" , "\x7d\xb1\xc9\xc9\xe8" } , { "\xc9\xe8\xd1\xe7" , "\x7d\xb1\xc9\xc9\xec" } , { "\xc9\xe8\xd5\xda" , "\x7d\xb6\xc9\xc9" } , { "\xc9\xe8\xd7" , "\x7d\xba\xc9" } , { "\xc9\xe8\xd7\xdb" , "\xce\x7d\xba\xc9" } , { "\xc9\xe8\xd7\xdc" , "\x7d\xba\xc9\xd2" } , { "\xc9\xe8\xd7\xe0" , "\x7d\xba\xc9\xe0" } , { "\xc9\xe8\xd7\xe2" , "\x7d\xba\xc9\xe8" } , { "\xc9\xe8\xd7\xe8" , "\x7d\xba\xc9\xc2" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\x7d\xba\x5d\xe0\xf5" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\x7d\xba\x5d\xe4\xf5" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x7d\xba\x78\xc9\xd6" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\xce\x7d\xba\x7b\xc9" } , { "\xc9\xe8\xd8" , "\x7d\xbd\xfe" } , { "\xc9\xe8\xd8\xdd" , "\x7d\xbd\xd6\xfe" } , { "\xc9\xe8\xd8\xe5" , "\x7d\xbd\xfe\xc9\xe4" } , { "\xc9\xe8\xd9\xc2" , "\x7d\x69\xc9" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x7d\xae\xe5\xfa" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x7d\xaa\xc9\xd6\xc7" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x7d\xb1\xc9\xc9\xe4" } , { "\xc9\xe8\xd9\xd7" , "\x7d\xba\xc9" } , { "\xc9\xe8\xe8" , "\xa1\xc2\xf2" } , { "\xc9\xe8\xe9\xcf" , "\x7d\xae\xfa" } , { "\xc9\xe9" , "\xa2\xf2" } , { "\xc9\xe9\xda" , "\xa2\xf2\xc9" } , { "\xc9\xe9\xdb" , "\xca\xa2\xf2" } , { "\xc9\xe9\xdc" , "\xa2\xf2\xd2" } , { "\xc9\xe9\xdd" , "\xa2\xd6\xf2" } , { "\xc9\xe9\xe1" , "\xa2\xe4\xf2" } , { "\xc9\xe9\xe1\xa2" , "\xa2\xe5\xf2" } , { "\xc9\xe9\xe2" , "\xa2\xe8\xf2" } , { "\xc9\xe9\xe5" , "\xa2\xf2\xc9\xe4" } , { "\xc9\xe9\xe5\xa2" , "\xa2\xf2\xc9\xe5" } , { "\xc9\xe9\xe6" , "\xa2\xf2\xc9\xe8" } , { "\xc9\xe9\xe7" , "\xa2\xf2\xc9\xec" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x7e\x56\xc9\xc9\xe5" } , { "\xc9\xe9\xe8\xbd\xdb" , "\xce\x7e\x5d\xf5" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x7e\x5d\xf5\xd2" } , { "\xc9\xe9\xe8\xc2" , "\x7e\x69\xc9" } , { "\xc9\xe9\xe8\xc2\xda" , "\x7e\x69\xc9\xc9" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x7e\x69\xc9\xd2" } , { "\xc9\xe9\xe8\xc2\xe1" , "\x7e\x69\xc9\xe4" } , { "\xc9\xe9\xe8\xcf\xdb" , "\xca\xa3\xc3\xf2" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xa3\xc3\xf2\xc9\xe4" } , { "\xc9\xe9\xe8\xd1" , "\x7e\xb1\xc9" } , { "\xc9\xe9\xe8\xd1\xe5" , "\x7e\xb1\xc9\xc9\xe4" } , { "\xc9\xe9\xe9\xe8\xc2" , "\xa2\xf2\xc3\xc2\x69\xc9" } , { "\xca" , "\xa4\xc9" } , { "\xca\xa1" , "\xa4\xc9\xc4" } , { "\xca\xa2" , "\xa4\xc9\xc6" } , { "\xca\xa2\xa1" , "\xa4\xc9\xc6\xc4" } , { "\xca\xa3" , "\xa4\xc9\x26" } , { "\xca\xda" , "\xa4\xc9\xc9" } , { "\xca\xda\xa1" , "\xa4\xc9\xc9\xc4" } , { "\xca\xda\xa2" , "\xa4\xc9\xc9\xc6" } , { "\xca\xda\xa3" , "\xa4\xc9\xc9\x26" } , { "\xca\xdb" , "\xca\xa4\xc9" } , { "\xca\xdb\xa2" , "\xcb\xa4\xc9" } , { "\xca\xdc" , "\xa4\xc9\xd2" } , { "\xca\xdc\xa2" , "\xa4\xc9\xd3" } , { "\xca\xdd" , "\xa4\xc9\xd6" } , { "\xca\xdd\xa1" , "\xa4\xc9\xd6\xc4" } , { "\xca\xdd\xa2" , "\xa4\xc9\xd6\xc6" } , { "\xca\xde" , "\xa4\xc9\xda" } , { "\xca\xde\xa1" , "\xa4\xc9\xda\xc4" } , { "\xca\xde\xa2" , "\xa4\xc9\xda\xc6" } , { "\xca\xdf" , "\xa4\xc9\xde" } , { "\xca\xdf\xa2" , "\xa4\xc9\xde\xc6" } , { "\xca\xe0" , "\xa4\xc9\xe0" } , { "\xca\xe0\xa1" , "\xa4\xc9\xe1" } , { "\xca\xe0\xa2" , "\xa4\xc9\xe1" } , { "\xca\xe1" , "\xa4\xc9\xe4" } , { "\xca\xe1\xa2" , "\xa4\xc9\xe5" } , { "\xca\xe2" , "\xa4\xc9\xe8" } , { "\xca\xe2\xa2" , "\xa4\xc9\xe9" } , { "\xca\xe3" , "\xa4\xc9\xec" } , { "\xca\xe4" , "\xa4\xc9\xc9\xe0" } , { "\xca\xe4\xa2" , "\xa4\xc9\xc9\xe1" } , { "\xca\xe5" , "\xa4\xc9\xc9\xe4" } , { "\xca\xe5\xa2" , "\xa4\xc9\xc9\xe5" } , { "\xca\xe6" , "\xa4\xc9\xc9\xe8" } , { "\xca\xe6\xa2" , "\xa4\xc9\xc9\xe9" } , { "\xca\xe7" , "\xa4\xc9\xc9\xec" } , { "\xca\xe8" , "\xa4\xc9\xc2" } , { "\xca\xe8\xb3" , "\xa4\x45\xf2" } , { "\xca\xe8\xb3\xda" , "\xa4\x45\xf2\xc9" } , { "\xca\xe8\xb3\xdb" , "\xce\xa4\x45\xf2" } , { "\xca\xe8\xb3\xdd" , "\xa4\x45\xd6\xf2" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\xa4\x43\xaa\xc9\xda" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\xa4\x43\xb1\xc9\xe4" } , { "\xca\xe8\xb4\xda" , "\xa4\x4a\xc9\xc9" } , { "\xca\xe8\xb5\xda" , "\xa4\x4d\xc9\xc9" } , { "\xca\xe8\xb5\xdd\xa2" , "\xa4\x4d\xc9\xd6\xc6" } , { "\xca\xe8\xb6" , "\xa4\x50\xc9" } , { "\xca\xe8\xb6\xdb" , "\xce\xa4\x50\xc9" } , { "\xca\xe8\xba" , "\xa4\x56\xc9" } , { "\xca\xe8\xba\xa2" , "\xa4\x56\xc9\xc6" } , { "\xca\xe8\xba\xda" , "\xa4\x56\xc9\xc9" } , { "\xca\xe8\xba\xda\xa2" , "\xa4\x56\xc9\xc9\xc6" } , { "\xca\xe8\xba\xdb" , "\xce\xa4\x56\xc9" } , { "\xca\xe8\xba\xdc" , "\xa4\x56\xc9\xd2" } , { "\xca\xe8\xba\xdd" , "\xa4\x56\xc9\xd6" } , { "\xca\xe8\xba\xe0" , "\xa4\x56\xc9\xe0" } , { "\xca\xe8\xba\xe1" , "\xa4\x56\xc9\xe4" } , { "\xca\xe8\xba\xe1\xa2" , "\xa4\x56\xc9\xe5" } , { "\xca\xe8\xba\xe2" , "\xa4\x56\xc9\xe8" } , { "\xca\xe8\xba\xe5" , "\xa4\x56\xc9\xc9\xe4" } , { "\xca\xe8\xba\xe5\xa2" , "\xa4\x56\xc9\xc9\xe5" } , { "\xca\xe8\xba\xe9" , "\xa4\x57\xc9" } , { "\xca\xe8\xba\xe9\xda" , "\xa4\x57\xc9\xc9" } , { "\xca\xe8\xba\xe9\xdc" , "\xa4\x57\xc9\xd2" } , { "\xca\xe8\xba\xe9\xe1" , "\xa4\x57\xc9\xe4" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\xa4\x57\xc9\xe5" } , { "\xca\xe8\xbd" , "\xa4\x5d\xf5" } , { "\xca\xe8\xbd\xdb" , "\xce\xa4\x5d\xf5" } , { "\xca\xe8\xbd\xe0" , "\xa4\x5d\xe0\xf5" } , { "\xca\xe8\xbd\xe2" , "\xa4\x5d\xe8\xf5" } , { "\xca\xe8\xbd\xe5" , "\xa4\x5d\xf5\xc9\xe4" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\xce\xa4\x5d\xc2\xf5\x5d\xf5" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\xa4\x5d\xc5\xf5\xc9" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\xce\xa4\x5d\xc2\xf5\xba\xc9" } , { "\xca\xe8\xbf" , "\xa4\x62\xf7" } , { "\xca\xe8\xbf\xda" , "\xa4\x62\xf7\xc9" } , { "\xca\xe8\xbf\xdb" , "\xce\xa4\x62\xf7" } , { "\xca\xe8\xbf\xdb\xa2" , "\xcf\xa4\x62\xf7" } , { "\xca\xe8\xbf\xe0" , "\xa4\x62\xe0\xf7" } , { "\xca\xe8\xbf\xe1" , "\xa4\x62\xe4\xf7" } , { "\xca\xe8\xbf\xe5" , "\xa4\x62\xf7\xc9\xe4" } , { "\xca\xe8\xbf\xe8" , "\xa4\x62\xc2\xf7" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\xa4\x62\xf7\xac\xd6" } , { "\xca\xe8\xc2" , "\xa4\x69\xc9" } , { "\xca\xe8\xc2\xa2" , "\xa4\x69\xc9\xc6" } , { "\xca\xe8\xc2\xda" , "\xa4\x69\xc9\xc9" } , { "\xca\xe8\xc2\xdb" , "\xce\xa4\x69\xc9" } , { "\xca\xe8\xc2\xdc" , "\xa4\x69\xc9\xd2" } , { "\xca\xe8\xc2\xdd" , "\xa4\x69\xc9\xd6" } , { "\xca\xe8\xc2\xdd\xa2" , "\xa4\x69\xc9\xd6\xc6" } , { "\xca\xe8\xc2\xe1" , "\xa4\x69\xc9\xe4" } , { "\xca\xe8\xc2\xe5" , "\xa4\x69\xc9\xc9\xe4" } , { "\xca\xe8\xc2\xe8\xc2" , "\xa4\x6b\xc9" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\xce\xa4\x6b\xc9" } , { "\xca\xe8\xc3\xda" , "\xa4\x6c\xc9\xc9" } , { "\xca\xe8\xc3\xdb" , "\xce\xa4\x6c\xc9" } , { "\xca\xe8\xc4" , "\xa4\x6e\xf9" } , { "\xca\xe8\xc4\xa2" , "\xa4\x6e\xc6\xf9" } , { "\xca\xe8\xc4\xa3" , "\xa4\x6e\xf9\x26" } , { "\xca\xe8\xc4\xda" , "\xa4\x6e\xf9\xc9" } , { "\xca\xe8\xc4\xda\xa2" , "\xa4\x6e\xf9\xc9\xc6" } , { "\xca\xe8\xc4\xda\xa3" , "\xa4\x6e\xf9\xc9\x26" } , { "\xca\xe8\xc4\xdb" , "\xce\xa4\x6e\xf9" } , { "\xca\xe8\xc4\xdb\xa2" , "\xcf\xa4\x6e\xf9" } , { "\xca\xe8\xc4\xdc" , "\xa4\x6e\xf9\xd2" } , { "\xca\xe8\xc4\xdc\xa2" , "\xa4\x6e\xf9\xd3" } , { "\xca\xe8\xc4\xdd" , "\xa4\x6e\xd6\xf9" } , { "\xca\xe8\xc4\xe1" , "\xa4\x6e\xe4\xf9" } , { "\xca\xe8\xc4\xe2" , "\xa4\x6e\xe8\xf9" } , { "\xca\xe8\xc4\xe5" , "\xa4\x6e\xf9\xc9\xe4" } , { "\xca\xe8\xc4\xe5\xa2" , "\xa4\x6e\xf9\xc9\xe5" } , { "\xca\xe8\xc4\xe8" , "\xa4\x6e\xc2\xf9" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\xa4\x74\xc9" } , { "\xca\xe8\xc5" , "\xa4\x76\xc9" } , { "\xca\xe8\xc5\xa2" , "\xa4\x76\xc9\xc6" } , { "\xca\xe8\xc5\xa3" , "\xa4\x76\xc9\x26" } , { "\xca\xe8\xc5\xda" , "\xa4\x76\xc9\xc9" } , { "\xca\xe8\xc5\xda\xa3" , "\xa4\x76\xc9\xc9\x26" } , { "\xca\xe8\xc5\xdb" , "\xce\xa4\x76\xc9" } , { "\xca\xe8\xc5\xdd" , "\xa4\x76\xc9\xd6" } , { "\xca\xe8\xc5\xe5" , "\xa4\x76\xc9\xc9\xe4" } , { "\xca\xe8\xc6" , "\xa4\x78\xc9" } , { "\xca\xe8\xc6\xda" , "\xa4\x78\xc9\xc9" } , { "\xca\xe8\xc6\xdb" , "\xce\xa4\x78\xc9" } , { "\xca\xe8\xc6\xdb\xa2" , "\xcf\xa4\x78\xc9" } , { "\xca\xe8\xc6\xdc" , "\xa4\x78\xc9\xd2" } , { "\xca\xe8\xc6\xdd" , "\xa4\x78\xc9\xd6" } , { "\xca\xe8\xc8" , "\xa4\x7b\xc9" } , { "\xca\xe8\xc8\xdb" , "\xce\xa4\x7b\xc9" } , { "\xca\xe8\xc8\xe5" , "\xa4\x7b\xc9\xc9\xe4" } , { "\xca\xe8\xc9\xe2" , "\xa4\xa1\xe8\xf2" } , { "\xca\xe8\xca" , "\xa4\xa4\xc9" } , { "\xca\xe8\xca\xa2" , "\xa4\xa4\xc9\xc6" } , { "\xca\xe8\xca\xda" , "\xa4\xa4\xc9\xc9" } , { "\xca\xe8\xca\xdb" , "\xce\xa4\xa4\xc9" } , { "\xca\xe8\xca\xdb\xa2" , "\xcf\xa4\xa4\xc9" } , { "\xca\xe8\xca\xdc" , "\xa4\xa4\xc9\xd2" } , { "\xca\xe8\xca\xdd" , "\xa4\xa4\xc9\xd6" } , { "\xca\xe8\xca\xdd\xa2" , "\xa4\xa4\xc9\xd6\xc6" } , { "\xca\xe8\xca\xde" , "\xa4\xa4\xc9\xda" } , { "\xca\xe8\xca\xe0" , "\xa4\xa4\xc9\xe0" } , { "\xca\xe8\xca\xe0\xa2" , "\xa4\xa4\xc9\xe1" } , { "\xca\xe8\xca\xe1" , "\xa4\xa4\xc9\xe4" } , { "\xca\xe8\xca\xe1\xa2" , "\xa4\xa4\xc9\xe5" } , { "\xca\xe8\xca\xe2" , "\xa4\xa4\xc9\xe8" } , { "\xca\xe8\xca\xe4" , "\xa4\xa4\xc9\xc9\xe0" } , { "\xca\xe8\xca\xe5" , "\xa4\xa4\xc9\xc9\xe4" } , { "\xca\xe8\xca\xe5\xa2" , "\xa4\xa4\xc9\xc9\xe5" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\xce\xa4\xa4\x6e\xf9" } , { "\xca\xe8\xca\xe8\xd8" , "\xa4\xa4\xbd\xfe" } , { "\xca\xe8\xcb" , "\xa4\xa6\xc9" } , { "\xca\xe8\xcb\xa2" , "\xa4\xa6\xc9\xc6" } , { "\xca\xe8\xcb\xda" , "\xa4\xa6\xc9\xc9" } , { "\xca\xe8\xcb\xdb" , "\xce\xa4\xa6\xc9" } , { "\xca\xe8\xcb\xdc" , "\xa4\xa6\xc9\xd2" } , { "\xca\xe8\xcb\xdd" , "\xa4\xa6\xc9\xd6" } , { "\xca\xe8\xcb\xe2" , "\xa4\xa6\xc9\xe8" } , { "\xca\xe8\xcc" , "\xa4\xa8\xc9" } , { "\xca\xe8\xcc\xda" , "\xa4\xa8\xc9\xc9" } , { "\xca\xe8\xcc\xdb" , "\xce\xa4\xa8\xc9" } , { "\xca\xe8\xcc\xe0" , "\xa4\xa8\xc9\xe0" } , { "\xca\xe8\xcc\xe1" , "\xa4\xa8\xc9\xe4" } , { "\xca\xe8\xcd" , "\xa4\xaa\xc9" } , { "\xca\xe8\xcd\xa2" , "\xa4\xaa\xc9\xc6" } , { "\xca\xe8\xcd\xda" , "\xa4\xaa\xc9\xc9" } , { "\xca\xe8\xcd\xda\xa2" , "\xa4\xaa\xc9\xc9\xc6" } , { "\xca\xe8\xcd\xdc" , "\xa4\xaa\xc9\xd2" } , { "\xca\xe8\xcd\xdd" , "\xa4\xaa\xc9\xd6" } , { "\xca\xe8\xcd\xde" , "\xa4\xaa\xc9\xda" } , { "\xca\xe8\xcd\xe5" , "\xa4\xaa\xc9\xc9\xe4" } , { "\xca\xe8\xcd\xe5\xa2" , "\xa4\xaa\xc9\xc9\xe5" } , { "\xca\xe8\xcd\xe6" , "\xa4\xaa\xc9\xc9\xe8" } , { "\xca\xe8\xcd\xe6\xa2" , "\xa4\xaa\xc9\xc9\xe9" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\xa4\xaa\xaa\xc9\xc9" } , { "\xca\xe8\xcf" , "\xa5\xc9" } , { "\xca\xe8\xcf\xa2" , "\xa5\xc9\xc6" } , { "\xca\xe8\xcf\xda" , "\xa5\xc9\xc9" } , { "\xca\xe8\xcf\xda\xa1" , "\xa5\xc9\xc9\xc4" } , { "\xca\xe8\xcf\xda\xa2" , "\xa5\xc9\xc9\xc6" } , { "\xca\xe8\xcf\xdb" , "\xca\xa5\xc9" } , { "\xca\xe8\xcf\xdb\xa2" , "\xcb\xa5\xc9" } , { "\xca\xe8\xcf\xdc" , "\xa5\xc9\xd2" } , { "\xca\xe8\xcf\xdd" , "\xa5\xc9\xd6" } , { "\xca\xe8\xcf\xde" , "\xa5\xc9\xda" } , { "\xca\xe8\xcf\xe0" , "\xa5\xc9\xe0" } , { "\xca\xe8\xcf\xe1" , "\xa5\xc9\xe4" } , { "\xca\xe8\xcf\xe1\xa2" , "\xa5\xc9\xe5" } , { "\xca\xe8\xcf\xe2" , "\xa5\xc9\xe8" } , { "\xca\xe8\xcf\xe2\xa2" , "\xa5\xc9\xe9" } , { "\xca\xe8\xcf\xe4" , "\xa5\xc9\xc9\xe0" } , { "\xca\xe8\xcf\xe5" , "\xa5\xc9\xc9\xe4" } , { "\xca\xe8\xcf\xe5\xa2" , "\xa5\xc9\xc9\xe5" } , { "\xca\xe8\xcf\xe6" , "\xa5\xc9\xc9\xe8" } , { "\xca\xe8\xcf\xe7" , "\xa5\xc9\xc9\xec" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\xa5\x5d\xc2\xf5" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\xa5\x62\xc2\xf7" } , { "\xca\xe8\xd1" , "\xa4\xb1\xc9" } , { "\xca\xe8\xd1\xa2" , "\xa4\xb1\xc9\xc6" } , { "\xca\xe8\xd1\xda" , "\xa4\xb1\xc9\xc9" } , { "\xca\xe8\xd1\xda\xa2" , "\xa4\xb1\xc9\xc9\xc6" } , { "\xca\xe8\xd1\xdb" , "\xce\xa4\xb1\xc9" } , { "\xca\xe8\xd1\xdb\xa2" , "\xcf\xa4\xb1\xc9" } , { "\xca\xe8\xd1\xdc" , "\xa4\xb1\xc9\xd2" } , { "\xca\xe8\xd1\xdd" , "\xa4\xb1\xc9\xd6" } , { "\xca\xe8\xd1\xde" , "\xa4\xb1\xc9\xda" } , { "\xca\xe8\xd1\xe0" , "\xa4\xb1\xc9\xe0" } , { "\xca\xe8\xd1\xe0\xa2" , "\xa4\xb1\xc9\xe1" } , { "\xca\xe8\xd1\xe1" , "\xa4\xb1\xc9\xe4" } , { "\xca\xe8\xd1\xe1\xa2" , "\xa4\xb1\xc9\xe5" } , { "\xca\xe8\xd1\xe2" , "\xa4\xb1\xc9\xe8" } , { "\xca\xe8\xd1\xe2\xa2" , "\xa4\xb1\xc9\xe9" } , { "\xca\xe8\xd1\xe5" , "\xa4\xb1\xc9\xc9\xe4" } , { "\xca\xe8\xd1\xe6" , "\xa4\xb1\xc9\xc9\xe8" } , { "\xca\xe8\xd1\xe7" , "\xa4\xb1\xc9\xc9\xec" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\xce\xa4\xb1\x45\xf2" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\xce\xa4\xb1\xaa\xc9" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\xa4\xb1\xaa\xc9\xd6" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\xa4\xb1\xaa\xc9\xda" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\xa4\xb1\xb4\xc9\xd6" } , { "\xca\xe8\xd4\xa2" , "\xa4\xb4\xc9\xc6" } , { "\xca\xe8\xd4\xda" , "\xa4\xb4\xc9\xc9" } , { "\xca\xe8\xd4\xdb" , "\xce\xa4\xb4\xc9" } , { "\xca\xe8\xd4\xe0" , "\xa4\xb4\xc9\xe0" } , { "\xca\xe8\xd4\xe1" , "\xa4\xb4\xc9\xe4" } , { "\xca\xe8\xd4\xe7" , "\xa4\xb4\xc9\xc9\xec" } , { "\xca\xe8\xd5\xda" , "\xa4\xb6\xc9\xc9" } , { "\xca\xe8\xd5\xdb" , "\xce\xa4\xb6\xc9" } , { "\xca\xe8\xd5\xdc" , "\xa4\xb6\xc9\xd2" } , { "\xca\xe8\xd6\xda" , "\xa4\xb9\xc9\xc9" } , { "\xca\xe8\xd6\xdb" , "\xce\xa4\xb9\xc9" } , { "\xca\xe8\xd6\xdc" , "\xa4\xb9\xc9\xd2" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\xa4\xb9\x5d\xc5\xf5" } , { "\xca\xe8\xd7" , "\xa4\xba\xc9" } , { "\xca\xe8\xd7\xda" , "\xa4\xba\xc9\xc9" } , { "\xca\xe8\xd7\xdb" , "\xce\xa4\xba\xc9" } , { "\xca\xe8\xd7\xdc" , "\xa4\xba\xc9\xd2" } , { "\xca\xe8\xd7\xdd" , "\xa4\xba\xc9\xd6" } , { "\xca\xe8\xd7\xe0" , "\xa4\xba\xc9\xe0" } , { "\xca\xe8\xd7\xe0\xa2" , "\xa4\xba\xc9\xe1" } , { "\xca\xe8\xd7\xe1" , "\xa4\xba\xc9\xe4" } , { "\xca\xe8\xd7\xe2" , "\xa4\xba\xc9\xe8" } , { "\xca\xe8\xd7\xe5" , "\xa4\xba\xc9\xc9\xe4" } , { "\xca\xe8\xd7\xe6" , "\xa4\xba\xc9\xc9\xe8" } , { "\xca\xe8\xd7\xe8" , "\xa4\xba\xc9\xc2" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\xa4\xba\x45\xd6\xf2" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\xa4\xba\x45\xe8\xf2" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xce\xa4\xba\x47\xf2" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\xa4\xba\x47\xe8\xf2" } , { "\xca\xe8\xd7\xe8\xbd" , "\xa4\xba\x5d\xf5" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\xa4\xba\x5d\xf5\xc9" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\xa4\xba\x5d\xf5\xc9\xc6" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\xce\xa4\xba\x5d\xf5" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\xa4\xba\x5d\xe4\xf5" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\xa4\xba\x5d\xc5\xf5" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xa4\xba\x5d\xc5\xf5\xc9" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xa4\xba\x5d\xc5\xe8\xf5" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\xa4\xba\x78\xc9\xd6" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\xa4\xba\xb1\xc9\xd6" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\xa4\xba\xb1\xc9\xc9\xe4" } , { "\xca\xe8\xd7\xe8\xd4" , "\xa4\xba\xb4\xc9" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\xa4\xba\xb4\xc9\xc6" } , { "\xca\xe8\xd8" , "\xa4\xbd\xfe" } , { "\xca\xe8\xd8\xda" , "\xa4\xbd\xfe\xc9" } , { "\xca\xe8\xd8\xe6" , "\xa4\xbd\xfe\xc9\xe8" } , { "\xca\xe8\xd8\xe8" , "\xa4\xbd\xc2\xfe" } , { "\xca\xe8\xe8" , "\xa4\xc9\xc2" } , { "\xca\xe8\xe9\xcf" , "\xa4\xae\xfa" } , { "\xca\xe9" , "\xa4\xc9" } , { "\xcb" , "\xa6\xc9" } , { "\xcb\xa1" , "\xa6\xc9\xc4" } , { "\xcb\xa2" , "\xa6\xc9\xc6" } , { "\xcb\xa3" , "\xa6\xc9\x26" } , { "\xcb\xd0" , "\xa6\xc9\xae\xfa\xc3" } , { "\xcb\xd0\xdc" , "\xa6\xc9\xae\xfa\xd2\xc3" } , { "\xcb\xda" , "\xa6\xc9\xc9" } , { "\xcb\xda\xa1" , "\xa6\xc9\xc9\xc4" } , { "\xcb\xda\xa2" , "\xa6\xc9\xc9\xc6" } , { "\xcb\xda\xd0" , "\xa6\xc9\xc9\xae\xfa\xc3" } , { "\xcb\xdb" , "\xca\xa6\xc9" } , { "\xcb\xdb\xa2" , "\xcb\xa6\xc9" } , { "\xcb\xdb\xa3" , "\xca\xa6\xc9\x26" } , { "\xcb\xdb\xd4\xdf" , "\xca\xa6\xc9\xb4\xc9\xde" } , { "\xcb\xdc" , "\xa6\xc9\xd2" } , { "\xcb\xdc\xa1" , "\xa6\xc9\xd3" } , { "\xcb\xdc\xa2" , "\xa6\xc9\xd3" } , { "\xcb\xdd" , "\xa6\xc9\xd6" } , { "\xcb\xdd\xa2" , "\xa6\xc9\xd6\xc6" } , { "\xcb\xde" , "\xa6\xc9\xda" } , { "\xcb\xde\xa1" , "\xa6\xc9\xda\xc4" } , { "\xcb\xde\xa2" , "\xa6\xc9\xda\xc6" } , { "\xcb\xdf" , "\xa6\xc9\xde" } , { "\xcb\xdf\xa2" , "\xa6\xc9\xde\xc6" } , { "\xcb\xe0" , "\xa6\xc9\xe0" } , { "\xcb\xe1" , "\xa6\xc9\xe4" } , { "\xcb\xe1\xa2" , "\xa6\xc9\xe5" } , { "\xcb\xe2" , "\xa6\xc9\xe8" } , { "\xcb\xe2\xa2" , "\xa6\xc9\xe9" } , { "\xcb\xe4" , "\xa6\xc9\xc9\xe0" } , { "\xcb\xe5" , "\xa6\xc9\xc9\xe4" } , { "\xcb\xe5\xa2" , "\xa6\xc9\xc9\xe5" } , { "\xcb\xe6" , "\xa6\xc9\xc9\xe8" } , { "\xcb\xe6\xa2" , "\xa6\xc9\xc9\xe9" } , { "\xcb\xe7" , "\xa6\xc9\xc9\xec" } , { "\xcb\xe7\xa2" , "\xa6\xc9\xc9\xed" } , { "\xcb\xe8" , "\xa6\xc9\xc2" } , { "\xcb\xe8\xb3\xdd" , "\xa6\x45\xd6\xf2" } , { "\xcb\xe8\xbd\xdd" , "\xa6\x5d\xd6\xf5" } , { "\xcb\xe8\xbf" , "\xa6\x62\xf7" } , { "\xcb\xe8\xc2" , "\xa6\x69\xc9" } , { "\xcb\xe8\xc2\xdb" , "\xce\xa6\x69\xc9" } , { "\xcb\xe8\xc4" , "\xa6\x6e\xf9" } , { "\xcb\xe8\xc4\xa2" , "\xa6\x6e\xc6\xf9" } , { "\xcb\xe8\xc4\xda" , "\xa6\x6e\xf9\xc9" } , { "\xcb\xe8\xc4\xdb" , "\xce\xa6\x6e\xf9" } , { "\xcb\xe8\xc5" , "\xa6\x76\xc9" } , { "\xcb\xe8\xc5\xdb" , "\xce\xa6\x76\xc9" } , { "\xcb\xe8\xc6\xdb" , "\xce\xa6\x78\xc9" } , { "\xcb\xe8\xc6\xe8\xc6" , "\xa6\x7a\xc9" } , { "\xcb\xe8\xca\xda" , "\xa6\xa4\xc9\xc9" } , { "\xcb\xe8\xca\xdb" , "\xce\xa6\xa4\xc9" } , { "\xcb\xe8\xca\xe2" , "\xa6\xa4\xc9\xe8" } , { "\xcb\xe8\xcb" , "\xa6\xa6\xc9" } , { "\xcb\xe8\xcb\xda" , "\xa6\xa6\xc9\xc9" } , { "\xcb\xe8\xcb\xdc" , "\xa6\xa6\xc9\xd2" } , { "\xcb\xe8\xcb\xe2" , "\xa6\xa6\xc9\xe8" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\xa6\xa7\xc9\xc9" } , { "\xcb\xe8\xcc" , "\xa6\xa8\xc9" } , { "\xcb\xe8\xcd" , "\xa6\xaa\xc9" } , { "\xcb\xe8\xcd\xa2" , "\xa6\xaa\xc9\xc6" } , { "\xcb\xe8\xcd\xa3" , "\xa6\xaa\xc9\x26" } , { "\xcb\xe8\xcd\xda" , "\xa6\xaa\xc9\xc9" } , { "\xcb\xe8\xcd\xda\xa2" , "\xa6\xaa\xc9\xc9\xc6" } , { "\xcb\xe8\xcd\xdd" , "\xa6\xaa\xc9\xd6" } , { "\xcb\xe8\xcd\xde" , "\xa6\xaa\xc9\xda" } , { "\xcb\xe8\xcd\xe1" , "\xa6\xaa\xc9\xe4" } , { "\xcb\xe8\xcd\xe2" , "\xa6\xaa\xc9\xe8" } , { "\xcb\xe8\xcd\xe4" , "\xa6\xaa\xc9\xc9\xe0" } , { "\xcb\xe8\xcd\xe5" , "\xa6\xaa\xc9\xc9\xe4" } , { "\xcb\xe8\xcf" , "\xa7\xc9" } , { "\xcb\xe8\xcf\xa2" , "\xa7\xc9\xc6" } , { "\xcb\xe8\xcf\xda" , "\xa7\xc9\xc9" } , { "\xcb\xe8\xcf\xda\xa2" , "\xa7\xc9\xc9\xc6" } , { "\xcb\xe8\xcf\xdb" , "\xca\xa7\xc9" } , { "\xcb\xe8\xcf\xdc" , "\xa7\xc9\xd2" } , { "\xcb\xe8\xcf\xdd" , "\xa7\xc9\xd6" } , { "\xcb\xe8\xcf\xde" , "\xa7\xc9\xda" } , { "\xcb\xe8\xcf\xdf" , "\xa7\xc9\xde" } , { "\xcb\xe8\xcf\xe5" , "\xa7\xc9\xc9\xe4" } , { "\xcb\xe8\xd1\xe2" , "\xa6\xb1\xc9\xe8" } , { "\xcb\xe8\xd1\xe5" , "\xa6\xb1\xc9\xc9\xe4" } , { "\xcb\xe8\xd4" , "\xa6\xb4\xc9" } , { "\xcb\xe8\xd4\xe8\xcd" , "\xa6\xb4\xaa\xc9" } , { "\xcb\xe8\xe8" , "\xa6\xc9\xc2" } , { "\xcb\xe8\xe9\xcf" , "\xa6\xae\xfa" } , { "\xcb\xe9" , "\xa6\xc9" } , { "\xcc" , "\xa8\xc9" } , { "\xcc\xa1" , "\xa8\xc9\xc4" } , { "\xcc\xa2" , "\xa8\xc9\xc6" } , { "\xcc\xa3" , "\xa8\xc9\x26" } , { "\xcc\xda" , "\xa8\xc9\xc9" } , { "\xcc\xda\xa1" , "\xa8\xc9\xc9\xc4" } , { "\xcc\xda\xa2" , "\xa8\xc9\xc9\xc6" } , { "\xcc\xda\xa3" , "\xa8\xc9\xc9\x26" } , { "\xcc\xdb" , "\xca\xa8\xc9" } , { "\xcc\xdb\xa2" , "\xcb\xa8\xc9" } , { "\xcc\xdb\xa2\xa2" , "\xcb\xa8\xc9\xc6" } , { "\xcc\xdb\xd0\xe8" , "\xca\xa8\xc9\xae\xc2\xfa\xc3" } , { "\xcc\xdc" , "\xa8\xc9\xd2" } , { "\xcc\xdc\xa1" , "\xa8\xc9\xd3" } , { "\xcc\xdc\xa2" , "\xa8\xc9\xd3" } , { "\xcc\xdd" , "\xa8\xc9\xd6" } , { "\xcc\xdd\xa1" , "\xa8\xc9\xd6\xc4" } , { "\xcc\xdd\xa2" , "\xa8\xc9\xd6\xc6" } , { "\xcc\xdd\xa2\xa2" , "\xa8\xc9\xd6\xc6\xc6" } , { "\xcc\xde" , "\xa8\xc9\xda" } , { "\xcc\xde\xa1" , "\xa8\xc9\xda\xc4" } , { "\xcc\xde\xa2" , "\xa8\xc9\xda\xc6" } , { "\xcc\xdf" , "\xa8\xc9\xde" } , { "\xcc\xdf\xa2" , "\xa8\xc9\xde\xc6" } , { "\xcc\xe0" , "\xa8\xc9\xe0" } , { "\xcc\xe0\xa2" , "\xa8\xc9\xe1" } , { "\xcc\xe1" , "\xa8\xc9\xe4" } , { "\xcc\xe1\xa1" , "\xa8\xc9\xe5" } , { "\xcc\xe1\xa2" , "\xa8\xc9\xe5" } , { "\xcc\xe1\xa2\xa2" , "\xa8\xc9\xe5\xc6" } , { "\xcc\xe2" , "\xa8\xc9\xe8" } , { "\xcc\xe2\xa1" , "\xa8\xc9\xe9" } , { "\xcc\xe2\xa2" , "\xa8\xc9\xe9" } , { "\xcc\xe4" , "\xa8\xc9\xc9\xe0" } , { "\xcc\xe4\xa2" , "\xa8\xc9\xc9\xe1" } , { "\xcc\xe4\xd0\xb1" , "\xa8\xc9\xc9\xe0\xae\xfa\xc3\x2b\xc9\xe8" } , { "\xcc\xe5" , "\xa8\xc9\xc9\xe4" } , { "\xcc\xe5\xa2" , "\xa8\xc9\xc9\xe5" } , { "\xcc\xe6" , "\xa8\xc9\xc9\xe8" } , { "\xcc\xe6\xa2" , "\xa8\xc9\xc9\xe9" } , { "\xcc\xe6\xa3" , "\xa8\xc9\xc9\xe8\x26" } , { "\xcc\xe7" , "\xa8\xc9\xc9\xec" } , { "\xcc\xe8" , "\xa8\xc9\xc2" } , { "\xcc\xe8\xb3\xa2" , "\xa8\x45\xc6\xf2" } , { "\xcc\xe8\xb3\xda" , "\xa8\x45\xf2\xc9" } , { "\xcc\xe8\xb3\xdb" , "\xce\xa8\x45\xf2" } , { "\xcc\xe8\xb3\xdc" , "\xa8\x45\xf2\xd2" } , { "\xcc\xe8\xb3\xdd" , "\xa8\x45\xd6\xf2" } , { "\xcc\xe8\xb3\xde" , "\xa8\x45\xda\xf2" } , { "\xcc\xe8\xb3\xdf" , "\xa8\x45\xde\xf2" } , { "\xcc\xe8\xb3\xe1" , "\xa8\x45\xe4\xf2" } , { "\xcc\xe8\xb3\xe4" , "\xa8\x45\xf2\xc9\xe0" } , { "\xcc\xe8\xb3\xe5" , "\xa8\x45\xf2\xc9\xe4" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\xa8\x43\xaa\xc9\xc9" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\xcf\xa8\x47\xf2" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\xa8\x47\xda\xf2" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\xa8\x43\xb1\xc9\xc9\xe4" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\xa8\x43\xba\xc9\xd2" } , { "\xcc\xe8\xb4\xda" , "\xa8\x4a\xc9\xc9" } , { "\xcc\xe8\xb4\xe8" , "\xa8\x4a\xc9\xc2" } , { "\xcc\xe8\xb5" , "\xa8\x4d\xc9" } , { "\xcc\xe8\xb5\xa2" , "\xa8\x4d\xc9\xc6" } , { "\xcc\xe8\xb5\xda" , "\xa8\x4d\xc9\xc9" } , { "\xcc\xe8\xb5\xdd" , "\xa8\x4d\xc9\xd6" } , { "\xcc\xe8\xb8" , "\xa8\x53\xc9" } , { "\xcc\xe8\xb8\xa2" , "\xa8\x53\xc9\xc6" } , { "\xcc\xe8\xb8\xda" , "\xa8\x53\xc9\xc9" } , { "\xcc\xe8\xb8\xdc" , "\xa8\x53\xc9\xd2" } , { "\xcc\xe8\xb8\xdd" , "\xa8\x53\xc9\xd6" } , { "\xcc\xe8\xb8\xe0\xa2" , "\xa8\x53\xc9\xe1" } , { "\xcc\xe8\xb8\xe1" , "\xa8\x53\xc9\xe4" } , { "\xcc\xe8\xb8\xe8\xc8" , "\xa8\x53\x7b\xc9" } , { "\xcc\xe8\xba" , "\xa8\x56\xc9" } , { "\xcc\xe8\xba\xda" , "\xa8\x56\xc9\xc9" } , { "\xcc\xe8\xba\xdb" , "\xce\xa8\x56\xc9" } , { "\xcc\xe8\xba\xe0" , "\xa8\x56\xc9\xe0" } , { "\xcc\xe8\xba\xe8" , "\xa8\x56\xc9\xc2" } , { "\xcc\xe8\xba\xe9" , "\xa8\x57\xc9" } , { "\xcc\xe8\xbd" , "\xa8\x5d\xf5" } , { "\xcc\xe8\xbd\xda" , "\xa8\x5d\xf5\xc9" } , { "\xcc\xe8\xbd\xdc" , "\xa8\x5d\xf5\xd2" } , { "\xcc\xe8\xbd\xe0" , "\xa8\x5d\xe0\xf5" } , { "\xcc\xe8\xbd\xe1" , "\xa8\x5d\xe4\xf5" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\xa8\x5d\xf5\xac\xda" } , { "\xcc\xe8\xbf" , "\xa8\x62\xf7" } , { "\xcc\xe8\xbf\xda" , "\xa8\x62\xf7\xc9" } , { "\xcc\xe8\xbf\xdb" , "\xce\xa8\x62\xf7" } , { "\xcc\xe8\xbf\xe8" , "\xa8\x62\xc2\xf7" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\xce\xa8\x62\xc5\xf7" } , { "\xcc\xe8\xc1" , "\xa8\x68\xc9" } , { "\xcc\xe8\xc1\xe5\xa2" , "\xa8\x68\xc9\xc9\xe5" } , { "\xcc\xe8\xc1\xe8\xcc" , "\xa8\x68\xa8\xc9" } , { "\xcc\xe8\xc1\xe8\xd7" , "\xa8\x68\xba\xc9" } , { "\xcc\xe8\xc2" , "\xa8\x69\xc9" } , { "\xcc\xe8\xc2\xda" , "\xa8\x69\xc9\xc9" } , { "\xcc\xe8\xc2\xda\xa2" , "\xa8\x69\xc9\xc9\xc6" } , { "\xcc\xe8\xc2\xdb" , "\xce\xa8\x69\xc9" } , { "\xcc\xe8\xc2\xe5" , "\xa8\x69\xc9\xc9\xe4" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\xce\xa8\x6b\xc9" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\xa8\x69\x6c\xc9\xd6" } , { "\xcc\xe8\xc2\xe8\xcd" , "\xa8\x69\xaa\xc9" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\xa8\x69\xaa\xc9\xd6" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\xa8\x69\xaa\xc9\xd6\xc6" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\xa8\x69\xaa\xc9\xda" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\xa8\x69\xaa\xc9\xc2" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\xa8\x6a\xaa\xc9" } , { "\xcc\xe8\xc3" , "\xa8\x6c\xc9" } , { "\xcc\xe8\xc4" , "\xa8\x6e\xf9" } , { "\xcc\xe8\xc4\xda" , "\xa8\x6e\xf9\xc9" } , { "\xcc\xe8\xc4\xdb" , "\xce\xa8\x6e\xf9" } , { "\xcc\xe8\xc4\xdc" , "\xa8\x6e\xf9\xd2" } , { "\xcc\xe8\xc4\xdd" , "\xa8\x6e\xd6\xf9" } , { "\xcc\xe8\xc4\xe1" , "\xa8\x6e\xe4\xf9" } , { "\xcc\xe8\xc4\xe8\xc5" , "\xa8\x72\xf9" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\xce\xa8\x72\xf9" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\xa8\x75\xf9\xc9" } , { "\xcc\xe8\xc5\xda" , "\xa8\x76\xc9\xc9" } , { "\xcc\xe8\xc5\xe5\xa2" , "\xa8\x76\xc9\xc9\xe5" } , { "\xcc\xe8\xc5\xe8\xc4" , "\xa8\x76\x6e\xf9" } , { "\xcc\xe8\xc6" , "\xa8\x78\xc9" } , { "\xcc\xe8\xc6\xa2" , "\xa8\x78\xc9\xc6" } , { "\xcc\xe8\xc6\xda" , "\xa8\x78\xc9\xc9" } , { "\xcc\xe8\xc6\xda\xa2" , "\xa8\x78\xc9\xc9\xc6" } , { "\xcc\xe8\xc6\xdb" , "\xce\xa8\x78\xc9" } , { "\xcc\xe8\xc6\xdc" , "\xa8\x78\xc9\xd2" } , { "\xcc\xe8\xc6\xdd" , "\xa8\x78\xc9\xd6" } , { "\xcc\xe8\xc6\xdd\xa2" , "\xa8\x78\xc9\xd6\xc6" } , { "\xcc\xe8\xc6\xde" , "\xa8\x78\xc9\xda" } , { "\xcc\xe8\xc6\xe0\xa2" , "\xa8\x78\xc9\xe1" } , { "\xcc\xe8\xc6\xe1" , "\xa8\x78\xc9\xe4" } , { "\xcc\xe8\xc6\xe5" , "\xa8\x78\xc9\xc9\xe4" } , { "\xcc\xe8\xc8" , "\xa8\x7b\xc9" } , { "\xcc\xe8\xc8\xda" , "\xa8\x7b\xc9\xc9" } , { "\xcc\xe8\xc8\xda\xa1" , "\xa8\x7b\xc9\xc9\xc4" } , { "\xcc\xe8\xc8\xdb" , "\xce\xa8\x7b\xc9" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xcf\xa8\x7b\xc9" } , { "\xcc\xe8\xc8\xdc" , "\xa8\x7b\xc9\xd2" } , { "\xcc\xe8\xc8\xdd" , "\xa8\x7b\xc9\xd6" } , { "\xcc\xe8\xc8\xde" , "\xa8\x7b\xc9\xda" } , { "\xcc\xe8\xc8\xdf" , "\xa8\x7b\xc9\xde" } , { "\xcc\xe8\xc8\xe0" , "\xa8\x7b\xc9\xe0" } , { "\xcc\xe8\xc8\xe1" , "\xa8\x7b\xc9\xe4" } , { "\xcc\xe8\xc8\xe2" , "\xa8\x7b\xc9\xe8" } , { "\xcc\xe8\xc8\xe2\xa2" , "\xa8\x7b\xc9\xe9" } , { "\xcc\xe8\xc8\xe5" , "\xa8\x7b\xc9\xc9\xe4" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xa8\x7b\xc9\xc9\xe5" } , { "\xcc\xe8\xc8\xe8" , "\xa8\x7b\xc9\xc2" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\xa8\x7b\x48\xf2" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\xce\xa8\x7b\x48\xf2" } , { "\xcc\xe8\xc8\xe8\xb8" , "\xa8\x7b\x53\xc9" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\xa8\x7b\x6e\xf9\xc9" } , { "\xcc\xe8\xc8\xe8\xcd" , "\xa8\x7b\xaa\xc9" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\xa8\x7b\xaa\xc9\xd6" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\xa8\x7b\xaa\xc9\xda" } , { "\xcc\xe8\xc8\xe8\xcf" , "\xa8\x7c\xc9" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\xa8\x7c\xc9\xc9" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\xa8\x7c\xc9\xda" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\xa8\x7c\xc9\xe0" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xa8\x7c\xc9\xe4" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\xa8\x7c\xc9\xc9\xe0" } , { "\xcc\xe8\xc8\xe8\xd1" , "\xa8\x7b\xb1\xc9" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\xa8\x7b\xb1\xc9\xc9" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\xa8\x7b\xb1\xc9\xc9\xc6" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xce\xa8\x7b\xb1\xc9" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xa8\x7b\xb1\xc9\xe4" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xa8\x7b\xb1\xc9\xe8" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xa8\x7b\xb1\xc9\xc9\xe4" } , { "\xcc\xe8\xc8\xe8\xd5" , "\xa8\x7b\xb6\xc9" } , { "\xcc\xe8\xc8\xe8\xd6" , "\xa8\x7b\xb9\xc9" } , { "\xcc\xe8\xc8\xe8\xd7" , "\xa8\x7b\xba\xc9" } , { "\xcc\xe8\xc9" , "\xa8\xa1\xf2" } , { "\xcc\xe8\xc9\xda" , "\xa8\xa1\xf2\xc9" } , { "\xcc\xe8\xc9\xdb" , "\xce\xa8\xa1\xf2" } , { "\xcc\xe8\xc9\xdc" , "\xa8\xa1\xf2\xd2" } , { "\xcc\xe8\xc9\xe0" , "\xa8\xa1\xe0\xf2" } , { "\xcc\xe8\xc9\xe1" , "\xa8\xa1\xe4\xf2" } , { "\xcc\xe8\xc9\xe4" , "\xa8\xa1\xf2\xc9\xe0" } , { "\xcc\xe8\xc9\xe5" , "\xa8\xa1\xf2\xc9\xe4" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xa8\xa3\xe4\xf2" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xa8\x7d\xb1\xc9\xc9\xe4" } , { "\xcc\xe8\xca" , "\xa8\xa4\xc9" } , { "\xcc\xe8\xca\xa2" , "\xa8\xa4\xc9\xc6" } , { "\xcc\xe8\xca\xda" , "\xa8\xa4\xc9\xc9" } , { "\xcc\xe8\xca\xda\xa2" , "\xa8\xa4\xc9\xc9\xc6" } , { "\xcc\xe8\xca\xdb" , "\xce\xa8\xa4\xc9" } , { "\xcc\xe8\xca\xdb\xa2" , "\xcf\xa8\xa4\xc9" } , { "\xcc\xe8\xca\xdc" , "\xa8\xa4\xc9\xd2" } , { "\xcc\xe8\xca\xdd" , "\xa8\xa4\xc9\xd6" } , { "\xcc\xe8\xca\xde" , "\xa8\xa4\xc9\xda" } , { "\xcc\xe8\xca\xe0" , "\xa8\xa4\xc9\xe0" } , { "\xcc\xe8\xca\xe1" , "\xa8\xa4\xc9\xe4" } , { "\xcc\xe8\xca\xe1\xa2" , "\xa8\xa4\xc9\xe5" } , { "\xcc\xe8\xca\xe5" , "\xa8\xa4\xc9\xc9\xe4" } , { "\xcc\xe8\xca\xe5\xa2" , "\xa8\xa4\xc9\xc9\xe5" } , { "\xcc\xe8\xca\xe6" , "\xa8\xa4\xc9\xc9\xe8" } , { "\xcc\xe8\xca\xe7" , "\xa8\xa4\xc9\xc9\xec" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\xa8\xa4\x72\xf9" } , { "\xcc\xe8\xca\xe8\xcf" , "\xa8\xa5\xc9" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\xa8\xa5\xc9\xc9\xc6" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\xce\xa8\xa5\xc9" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xa8\xa5\xc9\xe4" } , { "\xcc\xe8\xcb" , "\xa8\xa6\xc9" } , { "\xcc\xe8\xcb\xa3" , "\xa8\xa6\xc9\x26" } , { "\xcc\xe8\xcb\xda" , "\xa8\xa6\xc9\xc9" } , { "\xcc\xe8\xcb\xdb" , "\xce\xa8\xa6\xc9" } , { "\xcc\xe8\xcb\xdc" , "\xa8\xa6\xc9\xd2" } , { "\xcc\xe8\xcb\xdd" , "\xa8\xa6\xc9\xd6" } , { "\xcc\xe8\xcb\xde" , "\xa8\xa6\xc9\xda" } , { "\xcc\xe8\xcb\xe1" , "\xa8\xa6\xc9\xe4" } , { "\xcc\xe8\xcb\xe5" , "\xa8\xa6\xc9\xc9\xe4" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xa8\xa6\xc9\xc9\xe5" } , { "\xcc\xe8\xcb\xe6" , "\xa8\xa6\xc9\xc9\xe8" } , { "\xcc\xe8\xcb\xe8" , "\xa8\xa6\xc9\xc2" } , { "\xcc\xe8\xcb\xe8\xcf" , "\xa8\xa7\xc9" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\xa8\xa7\xc9\xc9" } , { "\xcc\xe8\xcc" , "\xa8\xa8\xc9" } , { "\xcc\xe8\xcc\xa2" , "\xa8\xa8\xc9\xc6" } , { "\xcc\xe8\xcc\xda" , "\xa8\xa8\xc9\xc9" } , { "\xcc\xe8\xcc\xda\xa1" , "\xa8\xa8\xc9\xc9\xc4" } , { "\xcc\xe8\xcc\xda\xa2" , "\xa8\xa8\xc9\xc9\xc6" } , { "\xcc\xe8\xcc\xdb" , "\xce\xa8\xa8\xc9" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xcf\xa8\xa8\xc9" } , { "\xcc\xe8\xcc\xdc" , "\xa8\xa8\xc9\xd2" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xa8\xa8\xc9\xd3" } , { "\xcc\xe8\xcc\xdd" , "\xa8\xa8\xc9\xd6" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xa8\xa8\xc9\xd6\xc6" } , { "\xcc\xe8\xcc\xde" , "\xa8\xa8\xc9\xda" } , { "\xcc\xe8\xcc\xe0" , "\xa8\xa8\xc9\xe0" } , { "\xcc\xe8\xcc\xe0\xa2" , "\xa8\xa8\xc9\xe1" } , { "\xcc\xe8\xcc\xe1" , "\xa8\xa8\xc9\xe4" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xa8\xa8\xc9\xe5" } , { "\xcc\xe8\xcc\xe2" , "\xa8\xa8\xc9\xe8" } , { "\xcc\xe8\xcc\xe4" , "\xa8\xa8\xc9\xc9\xe0" } , { "\xcc\xe8\xcc\xe5" , "\xa8\xa8\xc9\xc9\xe4" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xa8\xa8\xc9\xc9\xe5" } , { "\xcc\xe8\xcc\xe8" , "\xa8\xa8\xc9\xc2" } , { "\xcc\xe8\xcc\xe8\xc4" , "\xa8\xa8\x6e\xf9" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\xce\xa8\xa8\x6e\xf9" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\xce\xa8\xa8\x78\xc9" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\xa8\xa8\xa8\xc9\xe9" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\xa8\xa8\xb1\xc9\xe4" } , { "\xcc\xe8\xcd" , "\xa8\xaa\xc9" } , { "\xcc\xe8\xcd\xa2" , "\xa8\xaa\xc9\xc6" } , { "\xcc\xe8\xcd\xda" , "\xa8\xaa\xc9\xc9" } , { "\xcc\xe8\xcd\xda\xa1" , "\xa8\xaa\xc9\xc9\xc4" } , { "\xcc\xe8\xcd\xda\xa2" , "\xa8\xaa\xc9\xc9\xc6" } , { "\xcc\xe8\xcd\xdb" , "\xce\xa8\xaa\xc9" } , { "\xcc\xe8\xcd\xdd" , "\xa8\xaa\xc9\xd6" } , { "\xcc\xe8\xcd\xde" , "\xa8\xaa\xc9\xda" } , { "\xcc\xe8\xcd\xe1" , "\xa8\xaa\xc9\xe4" } , { "\xcc\xe8\xcd\xe5" , "\xa8\xaa\xc9\xc9\xe4" } , { "\xcc\xe8\xcd\xe5\xa2" , "\xa8\xaa\xc9\xc9\xe5" } , { "\xcc\xe8\xcd\xe6" , "\xa8\xaa\xc9\xc9\xe8" } , { "\xcc\xe8\xcd\xe8\xcd" , "\xa8\xaa\xaa\xc9" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\xa8\xaa\xaa\xc9\xc9" } , { "\xcc\xe8\xcf" , "\xa9\xc9" } , { "\xcc\xe8\xcf\xa2" , "\xa9\xc9\xc6" } , { "\xcc\xe8\xcf\xda" , "\xa9\xc9\xc9" } , { "\xcc\xe8\xcf\xda\xa2" , "\xa9\xc9\xc9\xc6" } , { "\xcc\xe8\xcf\xdb" , "\xca\xa9\xc9" } , { "\xcc\xe8\xcf\xdb\xa2" , "\xcb\xa9\xc9" } , { "\xcc\xe8\xcf\xdc" , "\xa9\xc9\xd2" } , { "\xcc\xe8\xcf\xdd" , "\xa9\xc9\xd6" } , { "\xcc\xe8\xcf\xde" , "\xa9\xc9\xda" } , { "\xcc\xe8\xcf\xe0" , "\xa9\xc9\xe0" } , { "\xcc\xe8\xcf\xe1" , "\xa9\xc9\xe4" } , { "\xcc\xe8\xcf\xe4" , "\xa9\xc9\xc9\xe0" } , { "\xcc\xe8\xcf\xe5" , "\xa9\xc9\xc9\xe4" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xa9\xc9\xc9\xe5" } , { "\xcc\xe8\xcf\xe8\xb3" , "\xa9\x45\xf2" } , { "\xcc\xe8\xcf\xe8\xc2" , "\xa9\x69\xc9" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\xa9\xaa\xc9\xc9" } , { "\xcc\xe8\xd0\xe0" , "\xa8\xae\xe0\xfa\xc3" } , { "\xcc\xe8\xd1" , "\xa8\xb1\xc9" } , { "\xcc\xe8\xd1\xa2" , "\xa8\xb1\xc9\xc6" } , { "\xcc\xe8\xd1\xda" , "\xa8\xb1\xc9\xc9" } , { "\xcc\xe8\xd1\xda\xa2" , "\xa8\xb1\xc9\xc9\xc6" } , { "\xcc\xe8\xd1\xdb" , "\xce\xa8\xb1\xc9" } , { "\xcc\xe8\xd1\xdc" , "\xa8\xb1\xc9\xd2" } , { "\xcc\xe8\xd1\xdd" , "\xa8\xb1\xc9\xd6" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xa8\xb1\xc9\xd6\xc6" } , { "\xcc\xe8\xd1\xde" , "\xa8\xb1\xc9\xda" } , { "\xcc\xe8\xd1\xe0" , "\xa8\xb1\xc9\xe0" } , { "\xcc\xe8\xd1\xe1" , "\xa8\xb1\xc9\xe4" } , { "\xcc\xe8\xd1\xe2" , "\xa8\xb1\xc9\xe8" } , { "\xcc\xe8\xd1\xe5" , "\xa8\xb1\xc9\xc9\xe4" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xa8\xb1\xc9\xc9\xe5" } , { "\xcc\xe8\xd1\xe8" , "\xa8\xb1\xc9\xc2" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\xa8\xb1\xaa\xc9\xda" } , { "\xcc\xe8\xd4" , "\xa8\xb4\xc9" } , { "\xcc\xe8\xd4\xa2" , "\xa8\xb4\xc9\xc6" } , { "\xcc\xe8\xd4\xda" , "\xa8\xb4\xc9\xc9" } , { "\xcc\xe8\xd4\xdb" , "\xce\xa8\xb4\xc9" } , { "\xcc\xe8\xd4\xdc" , "\xa8\xb4\xc9\xd2" } , { "\xcc\xe8\xd4\xdd\xa2" , "\xa8\xb4\xc9\xd6\xc6" } , { "\xcc\xe8\xd4\xe0" , "\xa8\xb4\xc9\xe0" } , { "\xcc\xe8\xd4\xe1" , "\xa8\xb4\xc9\xe4" } , { "\xcc\xe8\xd4\xe2" , "\xa8\xb4\xc9\xe8" } , { "\xcc\xe8\xd5" , "\xa8\xb6\xc9" } , { "\xcc\xe8\xd5\xda" , "\xa8\xb6\xc9\xc9" } , { "\xcc\xe8\xd5\xdc" , "\xa8\xb6\xc9\xd2" } , { "\xcc\xe8\xd6" , "\xa8\xb9\xc9" } , { "\xcc\xe8\xd6\xdc" , "\xa8\xb9\xc9\xd2" } , { "\xcc\xe8\xd7" , "\xa8\xba\xc9" } , { "\xcc\xe8\xd7\xda" , "\xa8\xba\xc9\xc9" } , { "\xcc\xe8\xd7\xdb\xa2" , "\xcf\xa8\xba\xc9" } , { "\xcc\xe8\xd7\xdd" , "\xa8\xba\xc9\xd6" } , { "\xcc\xe8\xd7\xde" , "\xa8\xba\xc9\xda" } , { "\xcc\xe8\xd7\xe0" , "\xa8\xba\xc9\xe0" } , { "\xcc\xe8\xd7\xe1" , "\xa8\xba\xc9\xe4" } , { "\xcc\xe8\xd7\xe8" , "\xa8\xba\xc9\xc2" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\xa8\xba\x45\xf2\xd2" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\xa8\xba\x45\xd6\xf2" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\xa8\xba\x43\xb1\xc9" } , { "\xcc\xe8\xd7\xe8\xbd" , "\xa8\xba\x5d\xf5" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\xa8\xba\x5d\xf5\xc9" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\xa8\xba\x5d\xe0\xf5" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\xa8\xba\x5d\xe4\xf5" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\xa8\xba\x5d\xf5\xc9\xe4" } , { "\xcc\xe8\xd7\xe8\xbf" , "\xa8\xba\x62\xf7" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\xce\xa8\xba\x62\xf7" } , { "\xcc\xe8\xd7\xe8\xc2" , "\xa8\xba\x69\xc9" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\xa8\xba\x69\xc9\xd2" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\xa8\xba\x69\xc9\xc9\xe4" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\xa8\xba\x78\xc9\xd6" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\xa8\xba\x78\xc9\xc2" } , { "\xcc\xe8\xd7\xe8\xc8" , "\xa8\xba\x7b\xc9" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\xce\xa8\xba\x7c\xc9" } , { "\xcc\xe8\xd7\xe8\xc9" , "\xa8\xba\xa1\xf2" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\xa8\xba\xa4\xc9\xc9\xc6" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\xce\xa8\xba\xa8\xc9" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\xa8\xba\xaa\xc9\xc9" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\xa8\xbb\xc9\xc9" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\xa8\xba\xb1\xc9\xc9" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\xa8\xba\xb1\xc9\xc9\xc6" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\xa8\xba\xb1\xc9\xc9\xe4" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\xa8\xba\xb4\xc9\xc9" } , { "\xcc\xe8\xd8" , "\xa8\xbd\xfe" } , { "\xcc\xe8\xd8\xa2" , "\xa8\xbd\xc6\xfe" } , { "\xcc\xe8\xd8\xda" , "\xa8\xbd\xfe\xc9" } , { "\xcc\xe8\xd8\xda\xa2" , "\xa8\xbd\xfe\xc9\xc6" } , { "\xcc\xe8\xd8\xdb" , "\xce\xa8\xbd\xfe" } , { "\xcc\xe8\xd8\xdc" , "\xa8\xbd\xfe\xd2" } , { "\xcc\xe8\xd8\xdc\xa2" , "\xa8\xbd\xfe\xd3" } , { "\xcc\xe8\xd8\xde" , "\xa8\xbd\xda\xfe" } , { "\xcc\xe8\xd8\xe1" , "\xa8\xbd\xe4\xfe" } , { "\xcc\xe8\xd8\xe1\xa2" , "\xa8\xbd\xe5\xfe" } , { "\xcc\xe8\xd8\xe2\xa2" , "\xa8\xbd\xe9\xfe" } , { "\xcc\xe8\xd9\xcc\xe1" , "\xa8\xa8\xc9\xe4" } , { "\xcc\xe8\xd9\xcd" , "\xa8\xaa\xc9" } , { "\xcc\xe8\xe8" , "\xa8\xc9\xc2" } , { "\xcc\xe8\xe9\xcf" , "\xa8\xae\xfa" } , { "\xcc\xe9" , "\xa8\xc9" } , { "\xcd" , "\xaa\xc9" } , { "\xcd\xa1" , "\xaa\xc9\xc4" } , { "\xcd\xa2" , "\xaa\xc9\xc6" } , { "\xcd\xa2\xa3" , "\xaa\xc9\xc6\x26" } , { "\xcd\xa3" , "\xaa\xc9\x26" } , { "\xcd\xd0\xe8" , "\xaa\xc9\xae\xc2\xfa\xc3" } , { "\xcd\xda" , "\xaa\xc9\xc9" } , { "\xcd\xda\xa1" , "\xaa\xc9\xc9\xc4" } , { "\xcd\xda\xa2" , "\xaa\xc9\xc9\xc6" } , { "\xcd\xda\xa3" , "\xaa\xc9\xc9\x26" } , { "\xcd\xdb" , "\xca\xaa\xc9" } , { "\xcd\xdb\xa2" , "\xcb\xaa\xc9" } , { "\xcd\xdb\xa2\xa2" , "\xcb\xaa\xc9\xc6" } , { "\xcd\xdb\xa3" , "\xca\xaa\xc9\x26" } , { "\xcd\xdc" , "\xaa\xc9\xd2" } , { "\xcd\xdc\xa1" , "\xaa\xc9\xd3" } , { "\xcd\xdc\xa2" , "\xaa\xc9\xd3" } , { "\xcd\xdd" , "\xaa\xc9\xd6" } , { "\xcd\xdd\xa2" , "\xaa\xc9\xd6\xc6" } , { "\xcd\xdd\xa3" , "\xaa\xc9\xd6\x26" } , { "\xcd\xde" , "\xaa\xc9\xda" } , { "\xcd\xde\xa1" , "\xaa\xc9\xda\xc4" } , { "\xcd\xde\xa2" , "\xaa\xc9\xda\xc6" } , { "\xcd\xdf" , "\xaa\xc9\xde" } , { "\xcd\xe0" , "\xaa\xc9\xe0" } , { "\xcd\xe0\xa2" , "\xaa\xc9\xe1" } , { "\xcd\xe1" , "\xaa\xc9\xe4" } , { "\xcd\xe1\xa1" , "\xaa\xc9\xe5" } , { "\xcd\xe1\xa2" , "\xaa\xc9\xe5" } , { "\xcd\xe1\xa3" , "\xaa\xc9\xe4\x26" } , { "\xcd\xe2" , "\xaa\xc9\xe8" } , { "\xcd\xe2\xa2" , "\xaa\xc9\xe9" } , { "\xcd\xe3" , "\xaa\xc9\xec" } , { "\xcd\xe4" , "\xaa\xc9\xc9\xe0" } , { "\xcd\xe4\xa2" , "\xaa\xc9\xc9\xe1" } , { "\xcd\xe5" , "\xaa\xc9\xc9\xe4" } , { "\xcd\xe5\xa1" , "\xaa\xc9\xc9\xe5" } , { "\xcd\xe5\xa2" , "\xaa\xc9\xc9\xe5" } , { "\xcd\xe5\xa3" , "\xaa\xc9\xc9\xe4\x26" } , { "\xcd\xe6" , "\xaa\xc9\xc9\xe8" } , { "\xcd\xe6\xa2" , "\xaa\xc9\xc9\xe9" } , { "\xcd\xe7" , "\xaa\xc9\xc9\xec" } , { "\xcd\xe7\xa2" , "\xaa\xc9\xc9\xed" } , { "\xcd\xe8" , "\xaa\xc9\xc2" } , { "\xcd\xe8\xb3" , "\xaa\x45\xf2" } , { "\xcd\xe8\xb3\xdb" , "\xce\xaa\x45\xf2" } , { "\xcd\xe8\xb3\xdb\xa2" , "\xcf\xaa\x45\xf2" } , { "\xcd\xe8\xb3\xdd" , "\xaa\x45\xd6\xf2" } , { "\xcd\xe8\xb3\xde" , "\xaa\x45\xda\xf2" } , { "\xcd\xe8\xb3\xe1" , "\xaa\x45\xe4\xf2" } , { "\xcd\xe8\xb3\xe5" , "\xaa\x45\xf2\xc9\xe4" } , { "\xcd\xe8\xb5\xda" , "\xaa\x4d\xc9\xc9" } , { "\xcd\xe8\xb8\xe1" , "\xaa\x53\xc9\xe4" } , { "\xcd\xe8\xb8\xe6" , "\xaa\x53\xc9\xc9\xe8" } , { "\xcd\xe8\xbd" , "\xaa\x5d\xf5" } , { "\xcd\xe8\xbf\xa2" , "\xaa\x62\xc6\xf7" } , { "\xcd\xe8\xbf\xdb" , "\xce\xaa\x62\xf7" } , { "\xcd\xe8\xc1" , "\xaa\x68\xc9" } , { "\xcd\xe8\xc2\xda" , "\xaa\x69\xc9\xc9" } , { "\xcd\xe8\xc2\xdd" , "\xaa\x69\xc9\xd6" } , { "\xcd\xe8\xc2\xe1" , "\xaa\x69\xc9\xe4" } , { "\xcd\xe8\xc2\xe5" , "\xaa\x69\xc9\xc9\xe4" } , { "\xcd\xe8\xc2\xe8\xc2" , "\xaa\x6b\xc9" } , { "\xcd\xe8\xc2\xe8\xc6" , "\xaa\x69\x78\xc9" } , { "\xcd\xe8\xc4\xda" , "\xaa\x6e\xf9\xc9" } , { "\xcd\xe8\xc6" , "\xaa\x78\xc9" } , { "\xcd\xe8\xc6\xa2" , "\xaa\x78\xc9\xc6" } , { "\xcd\xe8\xc6\xda" , "\xaa\x78\xc9\xc9" } , { "\xcd\xe8\xc6\xdb" , "\xce\xaa\x78\xc9" } , { "\xcd\xe8\xc6\xdc" , "\xaa\x78\xc9\xd2" } , { "\xcd\xe8\xc6\xdd" , "\xaa\x78\xc9\xd6" } , { "\xcd\xe8\xc6\xe1" , "\xaa\x78\xc9\xe4" } , { "\xcd\xe8\xc6\xe5" , "\xaa\x78\xc9\xc9\xe4" } , { "\xcd\xe8\xc8\xde" , "\xaa\x7b\xc9\xda" } , { "\xcd\xe8\xc9\xe1" , "\xaa\xa1\xe4\xf2" } , { "\xcd\xe8\xca\xe0" , "\xaa\xa4\xc9\xe0" } , { "\xcd\xe8\xca\xe5" , "\xaa\xa4\xc9\xc9\xe4" } , { "\xcd\xe8\xcb\xdd" , "\xaa\xa6\xc9\xd6" } , { "\xcd\xe8\xcc" , "\xaa\xa8\xc9" } , { "\xcd\xe8\xcc\xa2" , "\xaa\xa8\xc9\xc6" } , { "\xcd\xe8\xcc\xe0" , "\xaa\xa8\xc9\xe0" } , { "\xcd\xe8\xcc\xe0\xa2" , "\xaa\xa8\xc9\xe1" } , { "\xcd\xe8\xcd" , "\xaa\xaa\xc9" } , { "\xcd\xe8\xcd\xa2" , "\xaa\xaa\xc9\xc6" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xaa\xaa\xc9\xc6\xc6" } , { "\xcd\xe8\xcd\xda" , "\xaa\xaa\xc9\xc9" } , { "\xcd\xe8\xcd\xda\xa2" , "\xaa\xaa\xc9\xc9\xc6" } , { "\xcd\xe8\xcd\xdb" , "\xce\xaa\xaa\xc9" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xcf\xaa\xaa\xc9" } , { "\xcd\xe8\xcd\xdc" , "\xaa\xaa\xc9\xd2" } , { "\xcd\xe8\xcd\xdd" , "\xaa\xaa\xc9\xd6" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xaa\xaa\xc9\xd6\xc6" } , { "\xcd\xe8\xcd\xde" , "\xaa\xaa\xc9\xda" } , { "\xcd\xe8\xcd\xe0" , "\xaa\xaa\xc9\xe0" } , { "\xcd\xe8\xcd\xe0\xa2" , "\xaa\xaa\xc9\xe1" } , { "\xcd\xe8\xcd\xe1" , "\xaa\xaa\xc9\xe4" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xaa\xaa\xc9\xe5" } , { "\xcd\xe8\xcd\xe4" , "\xaa\xaa\xc9\xc9\xe0" } , { "\xcd\xe8\xcd\xe5" , "\xaa\xaa\xc9\xc9\xe4" } , { "\xcd\xe8\xcd\xe8" , "\xaa\xaa\xc9\xc2" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xaa\xaa\x4d\xc9\xc9" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xaa\xaa\xaa\xc9" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xaa\xaa\xaa\xc9\xc6" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xaa\xaa\xaa\xc9\xc9" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\xaa\xaa\xaa\xc9\xe0" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xaa\xaa\xaa\xaa\xc9\xc9" } , { "\xcd\xe8\xcd\xe8\xcf" , "\xaa\xab\xc9" } , { "\xcd\xe8\xcf" , "\xab\xc9" } , { "\xcd\xe8\xcf\xde" , "\xab\xc9\xda" } , { "\xcd\xe8\xcf\xe5" , "\xab\xc9\xc9\xe4" } , { "\xcd\xe8\xcf\xe8" , "\xab\xc9\xc2" } , { "\xcd\xe8\xd1" , "\xaa\xb1\xc9" } , { "\xcd\xe8\xd1\xa2" , "\xaa\xb1\xc9\xc6" } , { "\xcd\xe8\xd1\xda\xa2" , "\xaa\xb1\xc9\xc9\xc6" } , { "\xcd\xe8\xd1\xdd" , "\xaa\xb1\xc9\xd6" } , { "\xcd\xe8\xd1\xde" , "\xaa\xb1\xc9\xda" } , { "\xcd\xe8\xd1\xe0\xa2" , "\xaa\xb1\xc9\xe1" } , { "\xcd\xe8\xd1\xe1" , "\xaa\xb1\xc9\xe4" } , { "\xcd\xe8\xd1\xe4" , "\xaa\xb1\xc9\xc9\xe0" } , { "\xcd\xe8\xd1\xe5" , "\xaa\xb1\xc9\xc9\xe4" } , { "\xcd\xe8\xd1\xe8" , "\xaa\xb1\xc9\xc2" } , { "\xcd\xe8\xd4" , "\xaa\xb4\xc9" } , { "\xcd\xe8\xd4\xda" , "\xaa\xb4\xc9\xc9" } , { "\xcd\xe8\xd4\xdd" , "\xaa\xb4\xc9\xd6" } , { "\xcd\xe8\xd5\xda" , "\xaa\xb6\xc9\xc9" } , { "\xcd\xe8\xd7" , "\xaa\xba\xc9" } , { "\xcd\xe8\xd7\xda" , "\xaa\xba\xc9\xc9" } , { "\xcd\xe8\xd7\xdb\xa2" , "\xcf\xaa\xba\xc9" } , { "\xcd\xe8\xd7\xe2" , "\xaa\xba\xc9\xe8" } , { "\xcd\xe8\xd7\xe8" , "\xaa\xba\xc9\xc2" } , { "\xcd\xe8\xd7\xe8\xb3" , "\xaa\xba\x45\xf2" } , { "\xcd\xe8\xe8" , "\xaa\xc9\xc2" } , { "\xcd\xe8\xe9\xcf" , "\xaa\xae\xfa" } , { "\xce" , "\xaa\xc9\xc3" } , { "\xce\xa3" , "\xaa\xc9\xc3\x26" } , { "\xcf" , "\xae\xfa" } , { "\xcf\xa1" , "\xae\xc4\xfa" } , { "\xcf\xa2" , "\xae\xc6\xfa" } , { "\xcf\xa2\xa2" , "\xae\xc6\xfa\xc6" } , { "\xcf\xa3" , "\xae\xfa\x26" } , { "\xcf\xda" , "\xae\xfa\xc9" } , { "\xcf\xda\xa1" , "\xae\xfa\xc9\xc4" } , { "\xcf\xda\xa2" , "\xae\xfa\xc9\xc6" } , { "\xcf\xda\xa3" , "\xae\xfa\xc9\x26" } , { "\xcf\xdb" , "\xca\xae\xfa" } , { "\xcf\xdb\xa1" , "\xcb\xae\xfa" } , { "\xcf\xdb\xa2" , "\xcb\xae\xfa" } , { "\xcf\xdb\xa2\xa2" , "\xcb\xae\xfa\xc6" } , { "\xcf\xdb\xa3" , "\xca\xae\xfa\x26" } , { "\xcf\xdb\xce\xda" , "\xca\xae\xfa\xaa\xc9\xc3\xc9" } , { "\xcf\xdc" , "\xae\xfa\xd2" } , { "\xcf\xdc\xa2" , "\xae\xfa\xd3" } , { "\xcf\xdc\xa2\xa2" , "\xae\xfa\xd3\xc6" } , { "\xcf\xdc\xa3" , "\xae\xfa\xd2\x26" } , { "\xcf\xdd" , "\xaf\xfb" } , { "\xcf\xdd\xa1" , "\xaf\xc4\xfb" } , { "\xcf\xdd\xa2" , "\xaf\xc6\xfb" } , { "\xcf\xdd\xa3" , "\xaf\xfb\x26" } , { "\xcf\xde" , "\xb0\xfc" } , { "\xcf\xde\xa1" , "\xb0\xc4\xfc" } , { "\xcf\xde\xa2" , "\xb0\xc6\xfc" } , { "\xcf\xdf" , "\xae\xde\xfa" } , { "\xcf\xe0" , "\xae\xe0\xfa" } , { "\xcf\xe0\xa2" , "\xae\xe1\xfa" } , { "\xcf\xe0\xa3" , "\xae\xe0\xfa\x26" } , { "\xcf\xe1" , "\xae\xe4\xfa" } , { "\xcf\xe1\xa2" , "\xae\xe5\xfa" } , { "\xcf\xe2" , "\xae\xe8\xfa" } , { "\xcf\xe2\xa2" , "\xae\xe9\xfa" } , { "\xcf\xe2\xa3" , "\xae\xe8\xfa\x26" } , { "\xcf\xe2\xbd\xe8" , "\xae\xe8\xfa\x5d\xc2\xf5" } , { "\xcf\xe4" , "\xae\xfa\xc9\xe0" } , { "\xcf\xe4\xa2" , "\xae\xfa\xc9\xe1" } , { "\xcf\xe5" , "\xae\xfa\xc9\xe4" } , { "\xcf\xe5\xa2" , "\xae\xfa\xc9\xe5" } , { "\xcf\xe5\xa2\xa2" , "\xae\xfa\xc9\xe5\xc6" } , { "\xcf\xe6" , "\xae\xfa\xc9\xe8" } , { "\xcf\xe6\xa2" , "\xae\xfa\xc9\xe9" } , { "\xcf\xe7" , "\xae\xfa\xc9\xec" } , { "\xcf\xe7\xa2" , "\xae\xfa\xc9\xed" } , { "\xcf\xe8" , "\xae\xc2\xfa" } , { "\xcf\xe8\xb3" , "\x45\xc7\xf2" } , { "\xcf\xe8\xb3\xa2" , "\x45\xc8\xf2" } , { "\xcf\xe8\xb3\xda" , "\x45\xf2\xc9\xc7" } , { "\xcf\xe8\xb3\xda\xa2" , "\x45\xf2\xc9\xc8" } , { "\xcf\xe8\xb3\xdb" , "\xcc\x45\xf2" } , { "\xcf\xe8\xb3\xdb\xa2" , "\xcd\x45\xf2" } , { "\xcf\xe8\xb3\xdc" , "\x45\xf2\xd4" } , { "\xcf\xe8\xb3\xdd" , "\x45\xd6\xc7\xf2" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x45\xd6\xc8\xf2" } , { "\xcf\xe8\xb3\xde" , "\x45\xda\xc7\xf2" } , { "\xcf\xe8\xb3\xe0" , "\x45\xe2\xf2" } , { "\xcf\xe8\xb3\xe0\xa2" , "\x45\xe3\xf2" } , { "\xcf\xe8\xb3\xe1" , "\x45\xe6\xf2" } , { "\xcf\xe8\xb3\xe1\xa2" , "\x45\xe7\xf2" } , { "\xcf\xe8\xb3\xe2" , "\x45\xea\xf2" } , { "\xcf\xe8\xb3\xe4" , "\x45\xf2\xc9\xe2" } , { "\xcf\xe8\xb3\xe4\xa2" , "\x45\xf2\xc9\xe3" } , { "\xcf\xe8\xb3\xe5" , "\x45\xf2\xc9\xe6" } , { "\xcf\xe8\xb3\xe5\xa2" , "\x45\xf2\xc9\xe7" } , { "\xcf\xe8\xb3\xe6" , "\x45\xf2\xc9\xea" } , { "\xcf\xe8\xb3\xe6\xa2" , "\x45\xf2\xc9\xeb" } , { "\xcf\xe8\xb3\xe8" , "\x45\xc7\xc2\xf2" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x43\x45\xc7\xf2" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\xd0\x43\x45\xf2" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x43\x45\xd6\xc7\xf2" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x43\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x43\x4d\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x43\x5d\xc7\xf5" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\xd0\x43\x5d\xf5" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x43\x5d\xc2\xf5\xb4\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x48\xc7\xf2" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x43\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x43\x7b\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x43\x7d\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x43\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x43\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\xcc\x47\xf2" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x47\xf2\xd4" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x47\xda\xc8\xf2" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\x47\xea\xf2" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x43\xb1\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x43\xb1\xc9\xc8" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x43\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x43\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x43\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\x43\xb1\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\x43\xb1\xc9\xea" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\x43\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x43\xb4\xc9\xc8" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\xd0\x43\xb4\xc9" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x43\xb4\xc9\xe2" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x49\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x49\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\x49\xc9\xea" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x49\xaa\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x49\xaa\xc9\xc9\xe6" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x43\xba\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x43\xba\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\xd0\x43\xba\xc9" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x43\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x43\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\xd0\x43\xba\x45\xf2" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x43\xba\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x43\xba\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\x43\xba\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x43\xba\xb4\xc9\xd6\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x43\xba\xb6\xc9\xc9\xc7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\xae\xc2\xfa\x43\xba\xb9\x5d\xd6\xf5" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\xd0\x43\xbd\xfe" } , { "\xcf\xe8\xb3\xe9" , "\x46\xc7\xf2" } , { "\xcf\xe8\xb4" , "\x4a\xc9\xc7" } , { "\xcf\xe8\xb4\xa2" , "\x4a\xc9\xc8" } , { "\xcf\xe8\xb4\xda" , "\x4a\xc9\xc9\xc7" } , { "\xcf\xe8\xb4\xdb" , "\xcc\x4a\xc9" } , { "\xcf\xe8\xb4\xdc" , "\x4a\xc9\xd4" } , { "\xcf\xe8\xb4\xdd" , "\x4a\xc9\xd6\xc7" } , { "\xcf\xe8\xb4\xe2" , "\x4a\xc9\xea" } , { "\xcf\xe8\xb4\xe4" , "\x4a\xc9\xc9\xe2" } , { "\xcf\xe8\xb4\xe5" , "\x4a\xc9\xc9\xe6" } , { "\xcf\xe8\xb4\xe5\xa2" , "\x4a\xc9\xc9\xe7" } , { "\xcf\xe8\xb5" , "\x4d\xc9\xc7" } , { "\xcf\xe8\xb5\xa2" , "\x4d\xc9\xc8" } , { "\xcf\xe8\xb5\xa3" , "\x4d\xc9\xc7\x26" } , { "\xcf\xe8\xb5\xda" , "\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xb5\xda\xa2" , "\x4d\xc9\xc9\xc8" } , { "\xcf\xe8\xb5\xda\xa3" , "\x4d\xc9\xc9\xc7\x26" } , { "\xcf\xe8\xb5\xdb" , "\xcc\x4d\xc9" } , { "\xcf\xe8\xb5\xdb\xa2" , "\xcd\x4d\xc9" } , { "\xcf\xe8\xb5\xdc" , "\x4d\xc9\xd4" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x4d\xc9\xd5" } , { "\xcf\xe8\xb5\xdd" , "\x4d\xc9\xd6\xc7" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x4d\xc9\xd6\xc8" } , { "\xcf\xe8\xb5\xde" , "\x4d\xc9\xda\xc7" } , { "\xcf\xe8\xb5\xe0" , "\x4d\xc9\xe2" } , { "\xcf\xe8\xb5\xe1" , "\x4d\xc9\xe6" } , { "\xcf\xe8\xb5\xe2" , "\x4d\xc9\xea" } , { "\xcf\xe8\xb5\xe2\xa3" , "\x4d\xc9\xea\x26" } , { "\xcf\xe8\xb5\xe4" , "\x4d\xc9\xc9\xe2" } , { "\xcf\xe8\xb5\xe5" , "\x4d\xc9\xc9\xe6" } , { "\xcf\xe8\xb5\xe5\xa2" , "\x4d\xc9\xc9\xe7" } , { "\xcf\xe8\xb5\xe6\xa2" , "\x4d\xc9\xc9\xeb" } , { "\xcf\xe8\xb5\xe8" , "\x4d\xc9\xc7\xc2" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\xd0\x4d\x45\xf2" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x4d\x5c\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\xd0\x4d\x78\xc9" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x4d\xa8\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x4d\xaa\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x4d\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x4d\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x4d\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\x4d\xaa\xc9\xc9\xe6" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x4f\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x4f\xc9\xc8" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x4f\xc9\xc9\xc7" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x4f\xc9\xd4" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\x4f\xc9\xe2" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\x4f\xc9\xe6" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x4d\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\x4d\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x4d\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x4e\xc9\xd4" } , { "\xcf\xe8\xb5\xe9\xe1" , "\x4e\xc9\xe6" } , { "\xcf\xe8\xb6" , "\x50\xc9\xc7" } , { "\xcf\xe8\xb6\xa2" , "\x50\xc9\xc8" } , { "\xcf\xe8\xb6\xda" , "\x50\xc9\xc9\xc7" } , { "\xcf\xe8\xb6\xda\xa2" , "\x50\xc9\xc9\xc8" } , { "\xcf\xe8\xb6\xdb" , "\xcc\x50\xc9" } , { "\xcf\xe8\xb6\xdc" , "\x50\xc9\xd4" } , { "\xcf\xe8\xb6\xdd" , "\x50\xc9\xd6\xc7" } , { "\xcf\xe8\xb6\xde" , "\x50\xc9\xda\xc7" } , { "\xcf\xe8\xb6\xe5" , "\x50\xc9\xc9\xe6" } , { "\xcf\xe8\xb6\xe8" , "\x50\xc9\xc7\xc2" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x50\xaa\xc9\xc7" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x50\xaa\xc9\xc8" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x50\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x50\xaa\xc9\xea" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x50\xb4\xc9\xc7" } , { "\xcf\xe8\xb7" , "\x52\xc7\xf3" } , { "\xcf\xe8\xb7\xa2" , "\x52\xc8\xf3" } , { "\xcf\xe8\xb7\xdd" , "\x52\xd6\xc7\xf3" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x52\xc2\xf3\x4d\xc9\xc7" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x52\xc2\xf3\xaa\xc9\xc7" } , { "\xcf\xe8\xb8" , "\x53\xc9\xc7" } , { "\xcf\xe8\xb8\xa2" , "\x53\xc9\xc8" } , { "\xcf\xe8\xb8\xda" , "\x53\xc9\xc9\xc7" } , { "\xcf\xe8\xb8\xda\xa2" , "\x53\xc9\xc9\xc8" } , { "\xcf\xe8\xb8\xdb" , "\xcc\x53\xc9" } , { "\xcf\xe8\xb8\xdb\xa2" , "\xcd\x53\xc9" } , { "\xcf\xe8\xb8\xdc" , "\x53\xc9\xd4" } , { "\xcf\xe8\xb8\xdd" , "\x53\xc9\xd6\xc7" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x53\xc9\xd6\xc8" } , { "\xcf\xe8\xb8\xde" , "\x53\xc9\xda\xc7" } , { "\xcf\xe8\xb8\xe0" , "\x53\xc9\xe2" } , { "\xcf\xe8\xb8\xe0\xa2" , "\x53\xc9\xe3" } , { "\xcf\xe8\xb8\xe1" , "\x53\xc9\xe6" } , { "\xcf\xe8\xb8\xe1\xa2" , "\x53\xc9\xe7" } , { "\xcf\xe8\xb8\xe2" , "\x53\xc9\xea" } , { "\xcf\xe8\xb8\xe4" , "\x53\xc9\xc9\xe2" } , { "\xcf\xe8\xb8\xe4\xa2" , "\x53\xc9\xc9\xe3" } , { "\xcf\xe8\xb8\xe5" , "\x53\xc9\xc9\xe6" } , { "\xcf\xe8\xb8\xe5\xa2" , "\x53\xc9\xc9\xe7" } , { "\xcf\xe8\xb8\xe6" , "\x53\xc9\xc9\xea" } , { "\xcf\xe8\xb8\xe8" , "\x53\xc9\xc7\xc2" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x53\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x53\x4f\xc9\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\x53\x53\xc9\xe2" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x53\x55\xc7\xf4" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x53\x55\xf4\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\xd0\x53\x55\xf4" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\xd0\x53\x78\xc9" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x53\x78\xc9\xd6\xc8" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x53\xa1\xf2\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x53\xa8\xc9\xd4" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x53\xb1\xc9\xc7" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\x53\xb1\xc9\xe6" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\x53\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xb9" , "\x55\xc7\xf4" } , { "\xcf\xe8\xb9\xa2" , "\x55\xc8\xf4" } , { "\xcf\xe8\xb9\xda" , "\x55\xf4\xc9\xc7" } , { "\xcf\xe8\xb9\xdb" , "\xcc\x55\xf4" } , { "\xcf\xe8\xb9\xdb\xa2" , "\xcd\x55\xf4" } , { "\xcf\xe8\xb9\xdc" , "\x55\xf4\xd4" } , { "\xcf\xe8\xb9\xdd" , "\x55\xd6\xc7\xf4" } , { "\xcf\xe8\xb9\xe1" , "\x55\xe6\xf4" } , { "\xcf\xe8\xb9\xe1\xa2" , "\x55\xe7\xf4" } , { "\xcf\xe8\xb9\xe4" , "\x55\xf4\xc9\xe2" } , { "\xcf\xe8\xb9\xe5\xa2" , "\x55\xf4\xc9\xe7" } , { "\xcf\xe8\xba" , "\x56\xc9\xc7" } , { "\xcf\xe8\xba\xa2" , "\x56\xc9\xc8" } , { "\xcf\xe8\xba\xda" , "\x56\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xda\xa2" , "\x56\xc9\xc9\xc8" } , { "\xcf\xe8\xba\xdb" , "\xcc\x56\xc9" } , { "\xcf\xe8\xba\xdb\xa2" , "\xcd\x56\xc9" } , { "\xcf\xe8\xba\xdc" , "\x56\xc9\xd4" } , { "\xcf\xe8\xba\xdc\xa2" , "\x56\xc9\xd5" } , { "\xcf\xe8\xba\xdd" , "\x56\xc9\xd6\xc7" } , { "\xcf\xe8\xba\xdd\xa2" , "\x56\xc9\xd6\xc8" } , { "\xcf\xe8\xba\xde" , "\x56\xc9\xda\xc7" } , { "\xcf\xe8\xba\xe0" , "\x56\xc9\xe2" } , { "\xcf\xe8\xba\xe0\xa2" , "\x56\xc9\xe3" } , { "\xcf\xe8\xba\xe1" , "\x56\xc9\xe6" } , { "\xcf\xe8\xba\xe1\xa2" , "\x56\xc9\xe7" } , { "\xcf\xe8\xba\xe2" , "\x56\xc9\xea" } , { "\xcf\xe8\xba\xe5" , "\x56\xc9\xc9\xe6" } , { "\xcf\xe8\xba\xe5\xa2" , "\x56\xc9\xc9\xe7" } , { "\xcf\xe8\xba\xe8" , "\x56\xc9\xc7\xc2" } , { "\xcf\xe8\xba\xe8\xb5" , "\x56\x4d\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x56\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xb6" , "\x56\x50\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x59\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\x59\xc9\xe6" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x56\x5d\xf5\xc9\xc8" } , { "\xcf\xe8\xba\xe8\xbf" , "\x56\x62\xc7\xf7" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x56\x62\xc7\xc2\xf7" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x56\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xcd" , "\x56\xaa\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x56\xaa\xc9\xc8" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x56\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x56\xaa\xc9\xc9\xe6" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x56\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\x56\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xba\xe8\xd4" , "\x56\xb4\xc9\xc7" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x56\xba\x45\xe6\xf2" } , { "\xcf\xe8\xba\xe9" , "\x57\xc9\xc7" } , { "\xcf\xe8\xba\xe9\xda" , "\x57\xc9\xc9\xc7" } , { "\xcf\xe8\xba\xe9\xdc" , "\x57\xc9\xd4" } , { "\xcf\xe8\xba\xe9\xdd" , "\x57\xc9\xd6\xc7" } , { "\xcf\xe8\xba\xe9\xe1" , "\x57\xc9\xe6" } , { "\xcf\xe8\xba\xe9\xe5" , "\x57\xc9\xc9\xe6" } , { "\xcf\xe8\xbb" , "\x5a\xc9\xc7" } , { "\xcf\xe8\xbb\xda" , "\x5a\xc9\xc9\xc7" } , { "\xcf\xe8\xbb\xdb" , "\xcc\x5a\xc9" } , { "\xcf\xe8\xbb\xdd" , "\x5a\xc9\xd6\xc7" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x5a\xbd\xc7\xfe" } , { "\xcf\xe8\xbc\xe1" , "\x5c\xc9\xe6" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x5c\x4d\xc9\xc7" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x5c\x62\xe6\xf7" } , { "\xcf\xe8\xbd" , "\x5d\xc7\xf5" } , { "\xcf\xe8\xbd\xa2" , "\x5d\xc8\xf5" } , { "\xcf\xe8\xbd\xda" , "\x5d\xf5\xc9\xc7" } , { "\xcf\xe8\xbd\xdb" , "\xcc\x5d\xf5" } , { "\xcf\xe8\xbd\xdb\xa2" , "\xcd\x5d\xf5" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\xcc\x5d\xf5\xb1\xc9\xc2" } , { "\xcf\xe8\xbd\xdc" , "\x5d\xf5\xd4" } , { "\xcf\xe8\xbd\xdd" , "\x5d\xd6\xc7\xf5" } , { "\xcf\xe8\xbd\xde" , "\x5d\xda\xc7\xf5" } , { "\xcf\xe8\xbd\xe0" , "\x5d\xe2\xf5" } , { "\xcf\xe8\xbd\xe0\xa2" , "\x5d\xe3\xf5" } , { "\xcf\xe8\xbd\xe1" , "\x5d\xe6\xf5" } , { "\xcf\xe8\xbd\xe1\xa2" , "\x5d\xe7\xf5" } , { "\xcf\xe8\xbd\xe2" , "\x5d\xea\xf5" } , { "\xcf\xe8\xbd\xe4" , "\x5d\xf5\xc9\xe2" } , { "\xcf\xe8\xbd\xe5" , "\x5d\xf5\xc9\xe6" } , { "\xcf\xe8\xbd\xe5\xa2" , "\x5d\xf5\xc9\xe7" } , { "\xcf\xe8\xbd\xe8" , "\x5d\xc7\xc2\xf5" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\xd0\x5d\xc2\xf5\x45\xf2" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x5d\xc2\xf5\x45\xd6\xc7\xf2" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x5d\xc2\xf5\x45\xe6\xf2" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x5d\xc2\xf5\x43\xb1\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x5d\xc2\xf5\x4d\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x5d\xc2\xf5\x4d\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x5d\xc2\xf5\x53\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xba" , "\x5d\xc2\xf5\x56\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x5d\xc2\xf5\x56\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x5d\xc2\xf5\x56\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x5d\xc2\xf5\x56\xc9\xc7\xc2" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x5d\xc2\xf5\x56\x45\xc7\xf2" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x5d\xc2\xf5\x56\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x5d\xc2\xf5\x56\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x5d\xc2\xf5\x56\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x5d\xc2\xf5\x56\xb1\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\x5d\xc2\xf5\x5d\xea\xf5" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\x5d\xc2\xf5\x5d\xf5\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x5d\xc2\xf5\x62\xf7\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x5d\xc2\xf5\x76\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\xd0\x5d\xc2\xf5\x78\xc9" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x5d\xc2\xf5\x78\xc9\xd4" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x5d\xc2\xf5\x78\xc9\xd6\xc8" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x5d\xc2\xf5\x78\xc9\xda\xc7" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x5d\xc2\xf5\x7b\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x5d\xc2\xf5\x7b\xc9\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x5d\xc2\xf5\x7b\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x5d\xc2\xf5\xa1\xf2\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\xd0\x5d\xc2\xf5\xa1\xf2" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x5d\xc2\xf5\xa1\xe2\xf2" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\x5d\xc2\xf5\xa5\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\x5d\xc2\xf5\xa5\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\x5d\xc2\xf5\xa5\xc9\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\xd0\x5d\xc2\xf5\xa8\xc9" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x5d\xc2\xf5\xa8\xc9\xd4" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\x5d\xc2\xf5\xa8\xc9\xe3" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\x5d\xc2\xf5\xa8\xc9\xc9\xea" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x5d\xf5\xac\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x5d\xf5\xac\xda\xc7" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x5d\xc5\xc7\xf5" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x5d\xc5\xf5\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\xcc\x5d\xc5\xf5" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x5d\xc5\xf5\xd4" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\x5d\xc5\xe2\xf5" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\x5d\xc5\xe6\xf5" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\x5d\xc5\xea\xf5" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x5d\xc5\xc7\xc2\xf5" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x5d\xc2\xf5\xb1\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x5d\xc2\xf5\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x5d\xc2\xf5\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\x5d\xc2\xf5\xb1\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\x5d\xc2\xf5\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\x5d\xc2\xf5\xb1\xc9\xc9\xe7" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x5d\xc2\xf5\xb1\xaa\xc9\xc9\xc8" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x5d\xc2\xf5\xb4\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x5d\xc2\xf5\xb4\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x5d\xc2\xf5\xba\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\xd0\x5d\xc2\xf5\xba\xc9" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x5d\xc2\xf5\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x5d\xc2\xf5\xba\xc9\xe2" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x5d\xc2\xf5\xba\xc9\xe7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x5d\xc2\xf5\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x5d\xc2\xf5\xba\x45\xf2\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\xae\xc2\xfa\xce\x5d\xc2\xf5\xba\x43\xb4\xc9" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x5d\xc2\xf5\xba\xa8\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x5d\xc2\xf5\xba\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x5d\xc2\xf5\xbd\xfe\xc9\xc7" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x5d\xc2\xf5\xbd\xfe\xc9\xc8" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\xd1\x5d\xc2\xf5\xbd\xfe" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x5d\xc2\xf5\xbd\xda\xc7\xfe" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x5d\xc2\xf5\xbd\xfe\xc9\xe6" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x5d\xc2\xf5\xc7\xba\xc9" } , { "\xcf\xe8\xbf" , "\x62\xc7\xf7" } , { "\xcf\xe8\xbf\xda" , "\x62\xf7\xc9\xc7" } , { "\xcf\xe8\xbf\xda\xa2" , "\x62\xf7\xc9\xc8" } , { "\xcf\xe8\xbf\xdb" , "\xcc\x62\xf7" } , { "\xcf\xe8\xbf\xdb\xa2" , "\xcd\x62\xf7" } , { "\xcf\xe8\xbf\xdc" , "\x62\xf7\xd4" } , { "\xcf\xe8\xbf\xdd" , "\x62\xd6\xc7\xf7" } , { "\xcf\xe8\xbf\xde" , "\x62\xda\xc7\xf7" } , { "\xcf\xe8\xbf\xe0" , "\x62\xe2\xf7" } , { "\xcf\xe8\xbf\xe0\xa2" , "\x62\xe3\xf7" } , { "\xcf\xe8\xbf\xe1" , "\x62\xe6\xf7" } , { "\xcf\xe8\xbf\xe2" , "\x62\xea\xf7" } , { "\xcf\xe8\xbf\xe4" , "\x62\xf7\xc9\xe2" } , { "\xcf\xe8\xbf\xe5" , "\x62\xf7\xc9\xe6" } , { "\xcf\xe8\xbf\xe5\xa2" , "\x62\xf7\xc9\xe7" } , { "\xcf\xe8\xbf\xe8" , "\x62\xc7\xc2\xf7" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x62\xc2\xf7\x45\xc7\xf2" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\xd0\x62\xc2\xf7\x45\xf2" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x62\xc2\xf7\x45\xf2\xd4" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x62\xc2\xf7\x45\xd6\xc7\xf2" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x62\xc2\xf7\x45\xf2\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x62\xc2\xf7\x43\xb1\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x62\xc2\xf7\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x62\xc2\xf7\x4f\xc9\xd4" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x62\xc2\xf7\x53\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xbf" , "\x62\xc2\xf7\x62\xc7\xf7" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\xd0\x62\xc2\xf7\x62\xf7" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\xd0\x62\xc2\xf7\x78\xc9" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x62\xc2\xf7\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\x62\xc2\xf7\x78\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x62\xc2\xf7\xa4\xc9\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\x62\xc2\xf7\xa4\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\x62\xc2\xf7\xa4\xc9\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\x62\xc2\xf7\xa5\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\xd1\x62\xc2\xf7\xa8\xc9" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\x62\xc2\xf7\xa8\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x62\xf7\xac\xc7" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x62\xf7\xac\xc8" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x62\xf7\xac\xc9\xc8" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x62\xf7\xac\xda\xc7" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\x62\xf7\xac\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x62\xc5\xf7\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\xcc\x62\xc5\xf7" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x62\xd8\xc7\xf7" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\x62\xc5\xe6\xf7" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x62\xc2\xf7\xb1\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x62\xc2\xf7\xb1\xc9\xd4" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x62\xc2\xf7\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\x62\xc2\xf7\xb1\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\x62\xc2\xf7\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x62\xc2\xf7\xb4\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x62\xc2\xf7\xb4\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x62\xc2\xf7\xb4\xc9\xea" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x62\xc2\xf7\xb9\xc9\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x62\xc2\xf7\xba\xc9\xc7" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x62\xc2\xf7\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x62\xc2\xf7\xba\xc9\xc9\xe6" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x62\xc2\xf7\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\xd0\x62\xc2\xf7\xba\x5d\xf5" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x62\xc2\xf7\xba\x5d\xe6\xf5" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x62\xc2\xf7\xba\xb4\xc9\xe2" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x62\xc2\xf7\xbd\xe6\xfe" } , { "\xcf\xe8\xbf\xe9" , "\x63\xc7\xf7" } , { "\xcf\xe8\xbf\xe9\xe1" , "\x63\xe6\xf7" } , { "\xcf\xe8\xbf\xe9\xe5" , "\x63\xf7\xc9\xe6" } , { "\xcf\xe8\xc0" , "\x66\xc7\xf8" } , { "\xcf\xe8\xc0\xda" , "\x66\xf8\xc9\xc7" } , { "\xcf\xe8\xc0\xdd" , "\x66\xd6\xc7\xf8" } , { "\xcf\xe8\xc0\xe8" , "\x66\xc7\xc2\xf8" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x66\xf8\xac\xc7" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x66\xf8\xac\xc8" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x66\xf8\xac\xc9\xc7" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x66\xc2\xf8\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xc1" , "\x68\xc9\xc7" } , { "\xcf\xe8\xc1\xa1" , "\x68\xc9\xc8" } , { "\xcf\xe8\xc1\xa2" , "\x68\xc9\xc8" } , { "\xcf\xe8\xc1\xa3" , "\x68\xc9\xc7\x26" } , { "\xcf\xe8\xc1\xda" , "\x68\xc9\xc9\xc7" } , { "\xcf\xe8\xc1\xda\xa2" , "\x68\xc9\xc9\xc8" } , { "\xcf\xe8\xc1\xda\xa3" , "\x68\xc9\xc9\xc7\x26" } , { "\xcf\xe8\xc1\xdb" , "\xcc\x68\xc9" } , { "\xcf\xe8\xc1\xdb\xa2" , "\xcd\x68\xc9" } , { "\xcf\xe8\xc1\xdc" , "\x68\xc9\xd4" } , { "\xcf\xe8\xc1\xdd" , "\x68\xc9\xd6\xc7" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x68\xc9\xd6\xc8" } , { "\xcf\xe8\xc1\xe0\xa2" , "\x68\xc9\xe3" } , { "\xcf\xe8\xc1\xe0\xa3" , "\x68\xc9\xe2\x26" } , { "\xcf\xe8\xc1\xe1" , "\x68\xc9\xe6" } , { "\xcf\xe8\xc1\xe5" , "\x68\xc9\xc9\xe6" } , { "\xcf\xe8\xc1\xe5\xa2" , "\x68\xc9\xc9\xe7" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x68\x53\xc9\xd6\xc7" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x68\xaa\xc9\xc7" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x68\xaa\xc9\xc8" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x68\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xc2" , "\x69\xc9\xc7" } , { "\xcf\xe8\xc2\xa2" , "\x69\xc9\xc8" } , { "\xcf\xe8\xc2\xda" , "\x69\xc9\xc9\xc7" } , { "\xcf\xe8\xc2\xda\xa2" , "\x69\xc9\xc9\xc8" } , { "\xcf\xe8\xc2\xdb" , "\xcc\x69\xc9" } , { "\xcf\xe8\xc2\xdb\xa2" , "\xcd\x69\xc9" } , { "\xcf\xe8\xc2\xdb\xa3" , "\xcc\x69\xc9\x26" } , { "\xcf\xe8\xc2\xdc" , "\x69\xc9\xd4" } , { "\xcf\xe8\xc2\xdd" , "\x69\xc9\xd6\xc7" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x69\xc9\xd6\xc8" } , { "\xcf\xe8\xc2\xde" , "\x69\xc9\xda\xc7" } , { "\xcf\xe8\xc2\xde\xa2" , "\x69\xc9\xda\xc8" } , { "\xcf\xe8\xc2\xdf" , "\x69\xc9\xde\xc7" } , { "\xcf\xe8\xc2\xe0" , "\x69\xc9\xe2" } , { "\xcf\xe8\xc2\xe1" , "\x69\xc9\xe6" } , { "\xcf\xe8\xc2\xe1\xa2" , "\x69\xc9\xe7" } , { "\xcf\xe8\xc2\xe2" , "\x69\xc9\xea" } , { "\xcf\xe8\xc2\xe4" , "\x69\xc9\xc9\xe2" } , { "\xcf\xe8\xc2\xe5" , "\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xc2\xe5\xa2" , "\x69\xc9\xc9\xe7" } , { "\xcf\xe8\xc2\xe6" , "\x69\xc9\xc9\xea" } , { "\xcf\xe8\xc2\xe8" , "\x69\xc9\xc7\xc2" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\x69\x45\xf2\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x69\x62\xe6\xf7" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x6b\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x6b\xc9\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\xcc\x6b\xc9" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x6b\xc9\xd4" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\x6b\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\x6b\xc9\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x6b\xb4\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x69\x6c\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x69\xa8\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x69\xaa\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x69\xaa\xc9\xc8" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x69\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x69\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\x69\xaa\xc9\xc9\xe7" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x6a\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x6a\xc9\xc8" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\xcc\x6a\xc9" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x6a\xc9\xd4" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\x6a\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\x6a\xc9\xea" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\x6a\xc9\xc9\xe2" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\x6a\xc9\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\x69\xb1\xc9\xe6" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x69\xb4\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\xd0\x69\xb4\xc9" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x69\xb4\xc9\xea" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x69\xba\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\x69\xba\xc9\xc9\xea" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x69\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\xae\xc2\xfa\x69\xba\x78\xaa\xc9" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x69\xba\xaa\xc9\xc7" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x69\xba\xaa\xc9\xc8" } , { "\xcf\xe8\xc3" , "\x6c\xc9\xc7" } , { "\xcf\xe8\xc3\xa1" , "\x6c\xc9\xc8" } , { "\xcf\xe8\xc3\xa2" , "\x6c\xc9\xc8" } , { "\xcf\xe8\xc3\xa3" , "\x6c\xc9\xc7\x26" } , { "\xcf\xe8\xc3\xda" , "\x6c\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xda\xa2" , "\x6c\xc9\xc9\xc8" } , { "\xcf\xe8\xc3\xdb" , "\xcc\x6c\xc9" } , { "\xcf\xe8\xc3\xdb\xa2" , "\xcd\x6c\xc9" } , { "\xcf\xe8\xc3\xdc" , "\x6c\xc9\xd4" } , { "\xcf\xe8\xc3\xdd" , "\x6c\xc9\xd6\xc7" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x6c\xc9\xd6\xc8" } , { "\xcf\xe8\xc3\xde" , "\x6c\xc9\xda\xc7" } , { "\xcf\xe8\xc3\xe1" , "\x6c\xc9\xe6" } , { "\xcf\xe8\xc3\xe2" , "\x6c\xc9\xea" } , { "\xcf\xe8\xc3\xe5" , "\x6c\xc9\xc9\xe6" } , { "\xcf\xe8\xc3\xe5\xa2" , "\x6c\xc9\xc9\xe7" } , { "\xcf\xe8\xc3\xe6" , "\x6c\xc9\xc9\xea" } , { "\xcf\xe8\xc3\xe8" , "\x6c\xc9\xc7\xc2" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x6c\x53\xc9\xe6" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x6c\xa6\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x6c\xaa\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x6c\xaa\xc9\xc8" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x6c\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x6c\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x6c\xaa\xc9\xc9\xe7" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x6c\xaa\xc9\xc9\xea" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x6d\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x6d\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\x6d\xc9\xc9\xe6" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x6c\xb4\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x6c\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x6c\xba\x5d\xe6\xf5" } , { "\xcf\xe8\xc4" , "\x6e\xc7\xf9" } , { "\xcf\xe8\xc4\xa2" , "\x6e\xc8\xf9" } , { "\xcf\xe8\xc4\xa3" , "\x6e\xc7\xf9\x26" } , { "\xcf\xe8\xc4\xda" , "\x6e\xf9\xc9\xc7" } , { "\xcf\xe8\xc4\xda\xa2" , "\x6e\xf9\xc9\xc8" } , { "\xcf\xe8\xc4\xdb" , "\xcc\x6e\xf9" } , { "\xcf\xe8\xc4\xdb\xa2" , "\xcd\x6e\xf9" } , { "\xcf\xe8\xc4\xdc" , "\x6e\xf9\xd4" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x6e\xf9\xd5" } , { "\xcf\xe8\xc4\xdd" , "\x6e\xd6\xc7\xf9" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x6e\xd6\xc8\xf9" } , { "\xcf\xe8\xc4\xde" , "\x6e\xda\xc7\xf9" } , { "\xcf\xe8\xc4\xdf" , "\x6f\xc7\xf9" } , { "\xcf\xe8\xc4\xe0" , "\x6e\xe2\xf9" } , { "\xcf\xe8\xc4\xe1" , "\x6e\xe6\xf9" } , { "\xcf\xe8\xc4\xe1\xa2" , "\x6e\xe7\xf9" } , { "\xcf\xe8\xc4\xe2" , "\x6e\xea\xf9" } , { "\xcf\xe8\xc4\xe4" , "\x6e\xf9\xc9\xe2" } , { "\xcf\xe8\xc4\xe5" , "\x6e\xf9\xc9\xe6" } , { "\xcf\xe8\xc4\xe5\xa2" , "\x6e\xf9\xc9\xe7" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x71\xc7\xf9" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x71\xf9\xc9\xc8" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x72\xc7\xf9" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x72\xf9\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x72\xf9\xc9\xc8" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\xcc\x72\xf9" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\x72\xf9\xc9\xe7" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\x6e\xc2\xf9\xa8\xc9\xe6" } , { "\xcf\xe8\xc4\xe8\xcd" , "\x74\xc7" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\x74\xc8" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\x74\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x70\xc7\xf9" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x70\xc8\xf9" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x70\xf9\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x70\xf9\xd4" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\x70\xf9\xc9\xe6" } , { "\xcf\xe8\xc4\xe8\xd4" , "\x75\xc7\xf9" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\x75\xc8\xf9" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\x75\xf9\xc9\xc7" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\xd0\x6e\xc2\xf9\xb9\x5d\xf5" } , { "\xcf\xe8\xc5" , "\x76\xc9\xc7" } , { "\xcf\xe8\xc5\xa2" , "\x76\xc9\xc8" } , { "\xcf\xe8\xc5\xda" , "\x76\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xda\xa2" , "\x76\xc9\xc9\xc8" } , { "\xcf\xe8\xc5\xdb" , "\xcc\x76\xc9" } , { "\xcf\xe8\xc5\xdb\xa2" , "\xcd\x76\xc9" } , { "\xcf\xe8\xc5\xdc" , "\x76\xc9\xd4" } , { "\xcf\xe8\xc5\xdd" , "\x76\xc9\xd6\xc7" } , { "\xcf\xe8\xc5\xde" , "\x76\xc9\xda\xc7" } , { "\xcf\xe8\xc5\xdf" , "\x76\xc9\xde\xc7" } , { "\xcf\xe8\xc5\xe0" , "\x76\xc9\xe2" } , { "\xcf\xe8\xc5\xe1" , "\x76\xc9\xe6" } , { "\xcf\xe8\xc5\xe5" , "\x76\xc9\xc9\xe6" } , { "\xcf\xe8\xc5\xe5\xa2" , "\x76\xc9\xc9\xe7" } , { "\xcf\xe8\xc5\xe8" , "\x76\xc9\xc7\xc2" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x76\x6e\xc7\xf9" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x76\x6e\xf9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x76\x6e\xf9\xc9\xc8" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\xd0\x76\x78\xc9" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\x76\xa8\xc9\xe6" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x76\xaa\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x76\xaa\xc9\xc8" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x76\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x76\xaa\xc9\xc9\xe7" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x77\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x77\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x77\xaa\xc9\xe6" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x76\xb4\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x76\xb4\xc9\xc8" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x76\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x76\xb4\xc9\xc9\xc8" } , { "\xcf\xe8\xc6" , "\x78\xc9\xc7" } , { "\xcf\xe8\xc6\xa2" , "\x78\xc9\xc8" } , { "\xcf\xe8\xc6\xda" , "\x78\xc9\xc9\xc7" } , { "\xcf\xe8\xc6\xda\xa2" , "\x78\xc9\xc9\xc8" } , { "\xcf\xe8\xc6\xdb" , "\xcc\x78\xc9" } , { "\xcf\xe8\xc6\xdb\xa2" , "\xcd\x78\xc9" } , { "\xcf\xe8\xc6\xdc" , "\x78\xc9\xd4" } , { "\xcf\xe8\xc6\xdd" , "\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x78\xc9\xd6\xc8" } , { "\xcf\xe8\xc6\xde" , "\x78\xc9\xda\xc7" } , { "\xcf\xe8\xc6\xdf" , "\x78\xc9\xde\xc7" } , { "\xcf\xe8\xc6\xe0" , "\x78\xc9\xe2" } , { "\xcf\xe8\xc6\xe0\xa2" , "\x78\xc9\xe3" } , { "\xcf\xe8\xc6\xe1" , "\x78\xc9\xe6" } , { "\xcf\xe8\xc6\xe1\xa2" , "\x78\xc9\xe7" } , { "\xcf\xe8\xc6\xe2" , "\x78\xc9\xea" } , { "\xcf\xe8\xc6\xe4" , "\x78\xc9\xc9\xe2" } , { "\xcf\xe8\xc6\xe5" , "\x78\xc9\xc9\xe6" } , { "\xcf\xe8\xc6\xe5\xa2" , "\x78\xc9\xc9\xe7" } , { "\xcf\xe8\xc6\xe8" , "\x78\xc9\xc7\xc2" } , { "\xcf\xe8\xc6\xe8\xbf" , "\x78\x62\xc7\xf7" } , { "\xcf\xe8\xc6\xe8\xc2" , "\x78\x69\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\x78\x6e\xe6\xf9" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x7a\xc9\xda\xc7" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\x78\x7b\xc9\xda\xc7" } , { "\xcf\xe8\xc6\xe8\xca" , "\x78\xa4\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\x78\xa4\xc9\xe2" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x78\xa4\xb1\xc9\xe3" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x78\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\x78\xa8\xc9\xe3" } , { "\xcf\xe8\xc6\xe8\xd1" , "\x78\xb1\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\x78\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\x78\xb1\xc9\xe6" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\x78\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xc6\xe8\xd4" , "\x78\xb4\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\x78\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd7" , "\x78\xba\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\x78\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\x78\xba\x45\xc7\xf2" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x78\xba\x5d\xf5\xc9\xc7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x78\xba\x5d\xe6\xf5" } , { "\xcf\xe8\xc6\xe8\xd8" , "\x78\xbd\xc7\xfe" } , { "\xcf\xe8\xc8" , "\x7b\xc9\xc7" } , { "\xcf\xe8\xc8\xa2" , "\x7b\xc9\xc8" } , { "\xcf\xe8\xc8\xda" , "\x7b\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xda\xa2" , "\x7b\xc9\xc9\xc8" } , { "\xcf\xe8\xc8\xdb" , "\xcc\x7b\xc9" } , { "\xcf\xe8\xc8\xdb\xa2" , "\xcd\x7b\xc9" } , { "\xcf\xe8\xc8\xdc" , "\x7b\xc9\xd4" } , { "\xcf\xe8\xc8\xdd" , "\x7b\xc9\xd6\xc7" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x7b\xc9\xd6\xc8" } , { "\xcf\xe8\xc8\xde" , "\x7b\xc9\xda\xc7" } , { "\xcf\xe8\xc8\xe0" , "\x7b\xc9\xe2" } , { "\xcf\xe8\xc8\xe0\xa2" , "\x7b\xc9\xe3" } , { "\xcf\xe8\xc8\xe1" , "\x7b\xc9\xe6" } , { "\xcf\xe8\xc8\xe1\xa2" , "\x7b\xc9\xe7" } , { "\xcf\xe8\xc8\xe2" , "\x7b\xc9\xea" } , { "\xcf\xe8\xc8\xe4" , "\x7b\xc9\xc9\xe2" } , { "\xcf\xe8\xc8\xe4\xa2" , "\x7b\xc9\xc9\xe3" } , { "\xcf\xe8\xc8\xe5" , "\x7b\xc9\xc9\xe6" } , { "\xcf\xe8\xc8\xe5\xa2" , "\x7b\xc9\xc9\xe7" } , { "\xcf\xe8\xc8\xe8" , "\x7b\xc9\xc7\xc2" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\x7b\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\x7b\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x7b\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\x7b\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\x7b\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x7c\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x7c\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\xcd\x7c\xc9" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\x7c\xc9\xe2" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\x7c\xc9\xe3" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\x7c\xc9\xea" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x7b\xb1\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x7b\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x7b\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x7b\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\x7b\xb1\xc9\xe6" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\x7b\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xc9" , "\xa1\xc7\xf2" } , { "\xcf\xe8\xc9\xda" , "\xa1\xf2\xc9\xc7" } , { "\xcf\xe8\xc9\xdb" , "\xcc\xa1\xf2" } , { "\xcf\xe8\xc9\xdc" , "\xa1\xf2\xd4" } , { "\xcf\xe8\xc9\xdd" , "\xa1\xd6\xc7\xf2" } , { "\xcf\xe8\xc9\xe0" , "\xa1\xe2\xf2" } , { "\xcf\xe8\xc9\xe1" , "\xa1\xe6\xf2" } , { "\xcf\xe8\xc9\xe2" , "\xa1\xea\xf2" } , { "\xcf\xe8\xc9\xe5" , "\xa1\xf2\xc9\xe6" } , { "\xcf\xe8\xc9\xe5\xa2" , "\xa1\xf2\xc9\xe7" } , { "\xcf\xe8\xc9\xe8" , "\xa1\xc7\xc2\xf2" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x7d\x45\xda\xc7\xf2" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x7d\x62\xc7\xf7" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x7d\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x7d\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x7d\xb1\xc9\xda\xc7" } , { "\xcf\xe8\xc9\xe8\xd4" , "\x7d\xb4\xc9\xc7" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\x7d\xb4\xc9\xe2" } , { "\xcf\xe8\xc9\xe9" , "\xa2\xc7\xf2" } , { "\xcf\xe8\xc9\xe9\xdc" , "\xa2\xf2\xd4" } , { "\xcf\xe8\xca" , "\xa4\xc9\xc7" } , { "\xcf\xe8\xca\xa2" , "\xa4\xc9\xc8" } , { "\xcf\xe8\xca\xda" , "\xa4\xc9\xc9\xc7" } , { "\xcf\xe8\xca\xdb" , "\xcc\xa4\xc9" } , { "\xcf\xe8\xca\xdb\xa2" , "\xcd\xa4\xc9" } , { "\xcf\xe8\xca\xdc" , "\xa4\xc9\xd4" } , { "\xcf\xe8\xca\xdd" , "\xa4\xc9\xd6\xc7" } , { "\xcf\xe8\xca\xde" , "\xa4\xc9\xda\xc7" } , { "\xcf\xe8\xca\xe0" , "\xa4\xc9\xe2" } , { "\xcf\xe8\xca\xe0\xa2" , "\xa4\xc9\xe3" } , { "\xcf\xe8\xca\xe1" , "\xa4\xc9\xe6" } , { "\xcf\xe8\xca\xe2" , "\xa4\xc9\xea" } , { "\xcf\xe8\xca\xe4" , "\xa4\xc9\xc9\xe2" } , { "\xcf\xe8\xca\xe5" , "\xa4\xc9\xc9\xe6" } , { "\xcf\xe8\xca\xe5\xa2" , "\xa4\xc9\xc9\xe7" } , { "\xcf\xe8\xca\xe6" , "\xa4\xc9\xc9\xea" } , { "\xcf\xe8\xca\xe8" , "\xa4\xc9\xc7\xc2" } , { "\xcf\xe8\xca\xe8\xbf" , "\xa4\x62\xc7\xf7" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\xd0\xa4\x6c\xc9" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\xa4\x78\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\xa4\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\xa4\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xca\xe8\xcf" , "\xa5\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\xa5\xc9\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\xa5\xc9\xc9\xe6" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\xa4\xb1\xc9\xc7\xc2" } , { "\xcf\xe8\xca\xe8\xd7" , "\xa4\xba\xc9\xc7" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\xa4\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xcb" , "\xa6\xc9\xc7" } , { "\xcf\xe8\xcb\xa2" , "\xa6\xc9\xc8" } , { "\xcf\xe8\xcb\xa3" , "\xa6\xc9\xc7\x26" } , { "\xcf\xe8\xcb\xda" , "\xa6\xc9\xc9\xc7" } , { "\xcf\xe8\xcb\xda\xa2" , "\xa6\xc9\xc9\xc8" } , { "\xcf\xe8\xcb\xdb" , "\xcc\xa6\xc9" } , { "\xcf\xe8\xcb\xdb\xa2" , "\xcd\xa6\xc9" } , { "\xcf\xe8\xcb\xdc" , "\xa6\xc9\xd4" } , { "\xcf\xe8\xcb\xdd" , "\xa6\xc9\xd6\xc7" } , { "\xcf\xe8\xcb\xde" , "\xa6\xc9\xda\xc7" } , { "\xcf\xe8\xcb\xde\xa3" , "\xa6\xc9\xda\xc7\x26" } , { "\xcf\xe8\xcb\xe1" , "\xa6\xc9\xe6" } , { "\xcf\xe8\xcb\xe5" , "\xa6\xc9\xc9\xe6" } , { "\xcf\xe8\xcb\xe5\xa2" , "\xa6\xc9\xc9\xe7" } , { "\xcf\xe8\xcb\xe6" , "\xa6\xc9\xc9\xea" } , { "\xcf\xe8\xcb\xe8\xcf" , "\xa7\xc9\xc7" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\xa7\xc9\xc9\xc7" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\xa6\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xcc" , "\xa8\xc9\xc7" } , { "\xcf\xe8\xcc\xa2" , "\xa8\xc9\xc8" } , { "\xcf\xe8\xcc\xa3" , "\xa8\xc9\xc7\x26" } , { "\xcf\xe8\xcc\xda" , "\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xda\xa1" , "\xa8\xc9\xc9\xc8" } , { "\xcf\xe8\xcc\xda\xa2" , "\xa8\xc9\xc9\xc8" } , { "\xcf\xe8\xcc\xdb" , "\xcc\xa8\xc9" } , { "\xcf\xe8\xcc\xdb\xa2" , "\xcd\xa8\xc9" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\xcd\xa8\xc9\xc6" } , { "\xcf\xe8\xcc\xdc" , "\xa8\xc9\xd4" } , { "\xcf\xe8\xcc\xdc\xa2" , "\xa8\xc9\xd5" } , { "\xcf\xe8\xcc\xdd" , "\xa8\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xdd\xa2" , "\xa8\xc9\xd6\xc8" } , { "\xcf\xe8\xcc\xde" , "\xa8\xc9\xda\xc7" } , { "\xcf\xe8\xcc\xe0" , "\xa8\xc9\xe2" } , { "\xcf\xe8\xcc\xe0\xa2" , "\xa8\xc9\xe3" } , { "\xcf\xe8\xcc\xe1" , "\xa8\xc9\xe6" } , { "\xcf\xe8\xcc\xe1\xa2" , "\xa8\xc9\xe7" } , { "\xcf\xe8\xcc\xe2" , "\xa8\xc9\xea" } , { "\xcf\xe8\xcc\xe4" , "\xa8\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe5" , "\xa8\xc9\xc9\xe6" } , { "\xcf\xe8\xcc\xe5\xa2" , "\xa8\xc9\xc9\xe7" } , { "\xcf\xe8\xcc\xe8" , "\xa8\xc9\xc7\xc2" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\xa8\x45\xd6\xc7\xf2" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\xa8\x4f\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\xa8\x53\xc9\xe6" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\xa8\x53\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\xd0\xa8\x5d\xf5" } , { "\xcf\xe8\xcc\xe8\xbf" , "\xa8\x62\xc7\xf7" } , { "\xcf\xe8\xcc\xe8\xc2" , "\xa8\x69\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\xa8\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\xa8\x78\xc9\xc8" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\xa8\x78\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\xa8\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\xa8\x78\xc9\xd6\xc8" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\xa8\xa1\xf2\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\xa8\xa1\xf2\xd4" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\xa8\xa6\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcc" , "\xa8\xa8\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\xa8\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcd" , "\xa8\xaa\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\xa8\xaa\xc9\xc8" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\xa8\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\xa8\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\xa8\xaa\xc9\xc9\xe2" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\xa9\xc9\xc9\xe6" } , { "\xcf\xe8\xcc\xe8\xd1" , "\xa8\xb1\xc9\xc7" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\xa8\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\xa8\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\xa8\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\xa8\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xae\xc2\xfa\xa8\xba\x5d\xc5\xf5\xc9\xc6" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\xa8\xba\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\xd0\xa8\xba\x78\xc9" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\xd0\xa8\xba\x7b\xc9" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\xa8\xba\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xcd" , "\xaa\xc9\xc7" } , { "\xcf\xe8\xcd\xa2" , "\xaa\xc9\xc8" } , { "\xcf\xe8\xcd\xa3" , "\xaa\xc9\xc7\x26" } , { "\xcf\xe8\xcd\xda" , "\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xda\xa2" , "\xaa\xc9\xc9\xc8" } , { "\xcf\xe8\xcd\xdb" , "\xcc\xaa\xc9" } , { "\xcf\xe8\xcd\xdc" , "\xaa\xc9\xd4" } , { "\xcf\xe8\xcd\xdd" , "\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xcd\xdd\xa2" , "\xaa\xc9\xd6\xc8" } , { "\xcf\xe8\xcd\xde" , "\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xcd\xe1" , "\xaa\xc9\xe6" } , { "\xcf\xe8\xcd\xe4" , "\xaa\xc9\xc9\xe2" } , { "\xcf\xe8\xcd\xe5" , "\xaa\xc9\xc9\xe6" } , { "\xcf\xe8\xcd\xe5\xa2" , "\xaa\xc9\xc9\xe7" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\xaa\x45\xda\xc7\xf2" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\xaa\x6c\xc9\xc8" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\xaa\x6c\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\xaa\x6e\xc8\xf9" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\xaa\x6e\xf9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xc5" , "\xaa\x76\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xcd" , "\xaa\xaa\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\xaa\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\xaa\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\xab\xaa\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xd4" , "\xaa\xb4\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\xaa\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\xaa\xb4\xc9\xd6\xc7" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\xaa\xb4\xc9\xda\xc7" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\xd1\xaa\xb9\xc9" } , { "\xcf\xe8\xcf" , "\xae\xc7\xfa" } , { "\xcf\xe8\xcf\xa2" , "\xae\xc8\xfa" } , { "\xcf\xe8\xcf\xda" , "\xae\xfa\xc9\xc7" } , { "\xcf\xe8\xcf\xda\xa2" , "\xae\xfa\xc9\xc8" } , { "\xcf\xe8\xcf\xdb" , "\xcc\xae\xfa" } , { "\xcf\xe8\xcf\xdb\xa2" , "\xcd\xae\xfa" } , { "\xcf\xe8\xcf\xdc" , "\xae\xfa\xd4" } , { "\xcf\xe8\xcf\xdd" , "\xaf\xc7\xfb" } , { "\xcf\xe8\xcf\xdd\xa2" , "\xaf\xc8\xfb" } , { "\xcf\xe8\xcf\xde" , "\xb0\xc7\xfc" } , { "\xcf\xe8\xcf\xe0" , "\xae\xe2\xfa" } , { "\xcf\xe8\xcf\xe0\xa2" , "\xae\xe3\xfa" } , { "\xcf\xe8\xcf\xe1" , "\xae\xe6\xfa" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xae\xe7\xfa" } , { "\xcf\xe8\xcf\xe2" , "\xae\xea\xfa" } , { "\xcf\xe8\xcf\xe4" , "\xae\xfa\xc9\xe2" } , { "\xcf\xe8\xcf\xe5" , "\xae\xfa\xc9\xe6" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xae\xfa\xc9\xe7" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\xae\xc2\xfa\x53\xc9\xd6\xc7" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\xae\xc2\xfa\x5d\xc7\xc2\xf5" } , { "\xcf\xe8\xcf\xe8\xcc" , "\xae\xc2\xfa\xa8\xc9\xc7" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\xae\xc2\xfa\xae\xc8\xfa" } , { "\xcf\xe8\xcf\xe8\xd8" , "\xae\xc2\xfa\xbd\xc7\xfe" } , { "\xcf\xe8\xd0" , "\xae\xc7\xfa\xc3" } , { "\xcf\xe8\xd0\xda" , "\xae\xfa\xc9\xc7\xc3" } , { "\xcf\xe8\xd0\xdb" , "\xcc\xae\xfa\xc3" } , { "\xcf\xe8\xd0\xe1\xa2" , "\xae\xe7\xfa\xc3" } , { "\xcf\xe8\xd1" , "\xb1\xc9\xc7" } , { "\xcf\xe8\xd1\xa2" , "\xb1\xc9\xc8" } , { "\xcf\xe8\xd1\xda" , "\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xd1\xda\xa1" , "\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xd1\xda\xa2" , "\xb1\xc9\xc9\xc8" } , { "\xcf\xe8\xd1\xdb" , "\xcc\xb1\xc9" } , { "\xcf\xe8\xd1\xdb\xa2" , "\xcd\xb1\xc9" } , { "\xcf\xe8\xd1\xdc" , "\xb1\xc9\xd4" } , { "\xcf\xe8\xd1\xdd" , "\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xd1\xdd\xa2" , "\xb1\xc9\xd6\xc8" } , { "\xcf\xe8\xd1\xde" , "\xb1\xc9\xda\xc7" } , { "\xcf\xe8\xd1\xe0" , "\xb1\xc9\xe2" } , { "\xcf\xe8\xd1\xe0\xa2" , "\xb1\xc9\xe3" } , { "\xcf\xe8\xd1\xe1" , "\xb1\xc9\xe6" } , { "\xcf\xe8\xd1\xe1\xa2" , "\xb1\xc9\xe7" } , { "\xcf\xe8\xd1\xe2" , "\xb1\xc9\xea" } , { "\xcf\xe8\xd1\xe4" , "\xb1\xc9\xc9\xe2" } , { "\xcf\xe8\xd1\xe5" , "\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xd1\xe5\xa2" , "\xb1\xc9\xc9\xe7" } , { "\xcf\xe8\xd1\xe8" , "\xb1\xc9\xc7\xc2" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\xb1\x57\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xbf" , "\xb1\x62\xc7\xf7" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\xb1\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\xb1\x7b\xb1\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\xb1\xa1\xf2\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\xb1\xa8\xc9\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\xb1\xaa\xc9\xc9\xc8" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\xb1\xb4\xc9\xe2" } , { "\xcf\xe8\xd1\xe8\xd7" , "\xb1\xba\xc9\xc7" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\xb1\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\xb1\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xd2" , "\xb3\xc7\xfd" } , { "\xcf\xe8\xd4" , "\xb4\xc9\xc7" } , { "\xcf\xe8\xd4\xa2" , "\xb4\xc9\xc8" } , { "\xcf\xe8\xd4\xa3" , "\xb4\xc9\xc7\x26" } , { "\xcf\xe8\xd4\xda" , "\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xd4\xda\xa2" , "\xb4\xc9\xc9\xc8" } , { "\xcf\xe8\xd4\xdb" , "\xcc\xb4\xc9" } , { "\xcf\xe8\xd4\xdb\xa2" , "\xcd\xb4\xc9" } , { "\xcf\xe8\xd4\xdc" , "\xb4\xc9\xd4" } , { "\xcf\xe8\xd4\xdd" , "\xb4\xc9\xd6\xc7" } , { "\xcf\xe8\xd4\xdd\xa2" , "\xb4\xc9\xd6\xc8" } , { "\xcf\xe8\xd4\xde" , "\xb4\xc9\xda\xc7" } , { "\xcf\xe8\xd4\xdf" , "\xb4\xc9\xde\xc7" } , { "\xcf\xe8\xd4\xe0" , "\xb4\xc9\xe2" } , { "\xcf\xe8\xd4\xe0\xa2" , "\xb4\xc9\xe3" } , { "\xcf\xe8\xd4\xe1" , "\xb4\xc9\xe6" } , { "\xcf\xe8\xd4\xe1\xa2" , "\xb4\xc9\xe7" } , { "\xcf\xe8\xd4\xe2" , "\xb4\xc9\xea" } , { "\xcf\xe8\xd4\xe5" , "\xb4\xc9\xc9\xe6" } , { "\xcf\xe8\xd4\xe5\xa2" , "\xb4\xc9\xc9\xe7" } , { "\xcf\xe8\xd4\xe6" , "\xb4\xc9\xc9\xea" } , { "\xcf\xe8\xd4\xe8" , "\xb4\xc9\xc7\xc2" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\xb4\x53\xc9\xe6" } , { "\xcf\xe8\xd4\xe8\xcd" , "\xb4\xaa\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\xb4\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\xb4\xaa\xc9\xd6\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\xb4\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\xb4\xaa\xb4\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\xb5\xc9\xd6\xc7" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\xb4\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xd4\xe8\xd4" , "\xb4\xb4\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xd5" , "\xb4\xb6\xc9\xc7" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\xb4\xbd\xfe\xd4" } , { "\xcf\xe8\xd5" , "\xb6\xc9\xc7" } , { "\xcf\xe8\xd5\xa2" , "\xb6\xc9\xc8" } , { "\xcf\xe8\xd5\xa3" , "\xb6\xc9\xc7\x26" } , { "\xcf\xe8\xd5\xda" , "\xb6\xc9\xc9\xc7" } , { "\xcf\xe8\xd5\xda\xa2" , "\xb6\xc9\xc9\xc8" } , { "\xcf\xe8\xd5\xdb" , "\xcc\xb6\xc9" } , { "\xcf\xe8\xd5\xdb\xa2" , "\xcd\xb6\xc9" } , { "\xcf\xe8\xd5\xdc" , "\xb6\xc9\xd4" } , { "\xcf\xe8\xd5\xdd" , "\xb6\xc9\xd6\xc7" } , { "\xcf\xe8\xd5\xe0" , "\xb6\xc9\xe2" } , { "\xcf\xe8\xd5\xe1" , "\xb6\xc9\xe6" } , { "\xcf\xe8\xd5\xe1\xa2" , "\xb6\xc9\xe7" } , { "\xcf\xe8\xd5\xe5" , "\xb6\xc9\xc9\xe6" } , { "\xcf\xe8\xd5\xe5\xa2" , "\xb6\xc9\xc9\xe7" } , { "\xcf\xe8\xd5\xe8\xcd" , "\xb6\xaa\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\xb6\xaa\xc9\xc8" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\xb6\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xcf" , "\xb8\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd4" , "\xb7\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\xb7\xc9\xc8" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\xb7\xc9\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\xb7\xc9\xc9\xc8" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\xcc\xb7\xc9" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\xb7\xc9\xc9\xe6" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\xb7\xc9\xc9\xe7" } , { "\xcf\xe8\xd5\xe8\xd5" , "\xb6\xb6\xc9\xc7" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\xb6\xc7\x3c" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\xb6\xc7\xb4\xc9" } , { "\xcf\xe8\xd6" , "\xb9\xc9\xc7" } , { "\xcf\xe8\xd6\xa1" , "\xb9\xc9\xc8" } , { "\xcf\xe8\xd6\xa2" , "\xb9\xc9\xc8" } , { "\xcf\xe8\xd6\xda" , "\xb9\xc9\xc9\xc7" } , { "\xcf\xe8\xd6\xda\xa2" , "\xb9\xc9\xc9\xc8" } , { "\xcf\xe8\xd6\xdb" , "\xcc\xb9\xc9" } , { "\xcf\xe8\xd6\xdb\xa2" , "\xcd\xb9\xc9" } , { "\xcf\xe8\xd6\xdc" , "\xb9\xc9\xd4" } , { "\xcf\xe8\xd6\xdd" , "\xb9\xc9\xd6\xc7" } , { "\xcf\xe8\xd6\xe0" , "\xb9\xc9\xe2" } , { "\xcf\xe8\xd6\xe1" , "\xb9\xc9\xe6" } , { "\xcf\xe8\xd6\xe2" , "\xb9\xc9\xea" } , { "\xcf\xe8\xd6\xe5" , "\xb9\xc9\xc9\xe6" } , { "\xcf\xe8\xd6\xe5\xa2" , "\xb9\xc9\xc9\xe7" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\xd0\xb9\x45\xf2" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\xb9\x45\xf2\xc9\xe6" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\xb9\x4d\xc9\xe6" } , { "\xcf\xe8\xd6\xe8\xbd" , "\xb9\x5d\xc7\xf5" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\xb9\x5d\xc5\xc7\xf5" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\xb9\x5d\xc5\xf5\xd4" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\xd0\xb9\x68\xc9" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\xb9\x68\xc9\xe6" } , { "\xcf\xe8\xd6\xe8\xcd" , "\xb9\xaa\xc9\xc7" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\xb9\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\xb9\xaa\xc9\xe6" } , { "\xcf\xe8\xd7" , "\xba\xc9\xc7" } , { "\xcf\xe8\xd7\xa2" , "\xba\xc9\xc8" } , { "\xcf\xe8\xd7\xda" , "\xba\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xda\xa2" , "\xba\xc9\xc9\xc8" } , { "\xcf\xe8\xd7\xdb" , "\xcc\xba\xc9" } , { "\xcf\xe8\xd7\xdb\xa2" , "\xcd\xba\xc9" } , { "\xcf\xe8\xd7\xdc" , "\xba\xc9\xd4" } , { "\xcf\xe8\xd7\xdd" , "\xba\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xde" , "\xba\xc9\xda\xc7" } , { "\xcf\xe8\xd7\xdf" , "\xba\xc9\xde\xc7" } , { "\xcf\xe8\xd7\xe0" , "\xba\xc9\xe2" } , { "\xcf\xe8\xd7\xe0\xa2" , "\xba\xc9\xe3" } , { "\xcf\xe8\xd7\xe1" , "\xba\xc9\xe6" } , { "\xcf\xe8\xd7\xe1\xa2" , "\xba\xc9\xe7" } , { "\xcf\xe8\xd7\xe2" , "\xba\xc9\xea" } , { "\xcf\xe8\xd7\xe5" , "\xba\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe5\xa2" , "\xba\xc9\xc9\xe7" } , { "\xcf\xe8\xd7\xe8" , "\xba\xc9\xc7\xc2" } , { "\xcf\xe8\xd7\xe8\xb3" , "\xba\x45\xc7\xf2" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\xba\x45\xf2\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\xd0\xba\x45\xf2" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\xba\x45\xf2\xd4" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\xba\x45\xd6\xc7\xf2" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\xba\x4d\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\xba\x53\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xbd" , "\xba\x5d\xc7\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\xba\x5d\xf5\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\xba\x5d\xf5\xc9\xc8" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\xd0\xba\x5d\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\xba\x5d\xd6\xc7\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\xba\x5d\xe2\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\xba\x5d\xe6\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\xba\x5d\xea\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\xba\x5d\xc7\xc2\xf5" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\x5d\xc5\xf5\xc9\xc8" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\xae\xc2\xfa\xba\x5d\xc2\xf5\xba\x6c\xc9" } , { "\xcf\xe8\xd7\xe8\xbf" , "\xba\x62\xc7\xf7" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\xba\x62\xe2\xf7" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\xba\x62\xc7\xc2\xf7" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\xba\x69\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\xba\x69\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\xba\x6c\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\xba\x6c\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xba\x75\xf9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\xd0\xba\x78\xc9" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\xba\x78\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\xba\x78\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\xba\x78\xc9\xd6\xc8" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\xba\x78\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xc8" , "\xba\x7b\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\xba\x7b\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\xba\x7b\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\xba\x7b\xc9\xda\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\xba\x7b\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\xba\x7b\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\xba\x7c\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xba\x7b\xb1\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\xd0\xba\x7b\xb1\xc9" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\xba\x7d\xaa\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\xd0\xba\x7d\xb1\xc9" } , { "\xcf\xe8\xd7\xe8\xca" , "\xba\xa4\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\xba\xa4\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\xba\xa8\xc9\xe3" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\xba\xa8\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\xba\xaa\xc9\xda\xc7" } , { "\xcf\xe8\xd7\xe8\xd1" , "\xba\xb1\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\xd0\xba\xb1\xc9" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\xba\xb1\xc9\xd4" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\xba\xb1\xc9\xd6\xc7" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\xba\xb1\xc9\xc9\xe6" } , { "\xcf\xe8\xd7\xe8\xd4" , "\xba\xb4\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\xba\xb4\xc9\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\xd0\xba\xb4\xc9" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\xba\xb4\xc9\xe2" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\xba\xb4\xc9\xea" } , { "\xcf\xe8\xd7\xe8\xd7" , "\xba\xba\xc9\xc7" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\xba\xba\xc9\xc9\xc7" } , { "\xcf\xe8\xd8" , "\xbd\xc7\xfe" } , { "\xcf\xe8\xd8\xa2" , "\xbd\xc8\xfe" } , { "\xcf\xe8\xd8\xda" , "\xbd\xfe\xc9\xc7" } , { "\xcf\xe8\xd8\xda\xa2" , "\xbd\xfe\xc9\xc8" } , { "\xcf\xe8\xd8\xdb" , "\xcc\xbd\xfe" } , { "\xcf\xe8\xd8\xdb\xa2" , "\xcd\xbd\xfe" } , { "\xcf\xe8\xd8\xdc" , "\xbd\xfe\xd4" } , { "\xcf\xe8\xd8\xdd" , "\xbd\xd6\xc7\xfe" } , { "\xcf\xe8\xd8\xe0" , "\xbd\xe2\xfe" } , { "\xcf\xe8\xd8\xe1" , "\xbd\xe6\xfe" } , { "\xcf\xe8\xd8\xe1\xa2" , "\xbd\xe7\xfe" } , { "\xcf\xe8\xd8\xe5" , "\xbd\xfe\xc9\xe6" } , { "\xcf\xe8\xd8\xe6" , "\xbd\xfe\xc9\xea" } , { "\xcf\xe8\xd8\xe8\xc4" , "\xbc\x6e\xc7\xf9" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\xbc\x78\xc9\xc9\xc7" } , { "\xcf\xe8\xd8\xe8\xcd" , "\xc1\xc7" } , { "\xcf\xe8\xe8" , "\xae\xc2\xfa" } , { "\xcf\xe9" , "\xae\xfa" } , { "\xd0" , "\xae\xfa\xc3" } , { "\xd0\xa2" , "\xae\xc6\xfa\xc3" } , { "\xd0\xb3" , "\xae\xfa\xc3\x45\xf2" } , { "\xd0\xb3\xe8\xd6\xda" , "\xae\xfa\xc3\x49\xc9\xc9" } , { "\xd0\xb4" , "\xae\xfa\xc3\x4a\xc9" } , { "\xd0\xb4\xda" , "\xae\xfa\xc3\x4a\xc9\xc9" } , { "\xd0\xb4\xe1" , "\xae\xfa\xc3\x4a\xc9\xe4" } , { "\xd0\xbf" , "\xae\xfa\xc3\x62\xf7" } , { "\xd0\xc3" , "\xae\xfa\xc3\x6c\xc9" } , { "\xd0\xc4\xdf" , "\xae\xfa\xc3\x6f\xf9" } , { "\xd0\xca\xde" , "\xae\xfa\xc3\xa4\xc9\xda" } , { "\xd0\xcc" , "\xae\xfa\xc3\xa8\xc9" } , { "\xd0\xd0\xd7" , "\xae\xfa\xc3\xae\xfa\xc3\xba\xc9" } , { "\xd0\xd4" , "\xae\xfa\xc3\xb4\xc9" } , { "\xd0\xd8" , "\xae\xfa\xc3\xbd\xfe" } , { "\xd0\xd8\xe1" , "\xae\xfa\xc3\xbd\xe4\xfe" } , { "\xd0\xda" , "\xae\xfa\xc9\xc3" } , { "\xd0\xdb" , "\xca\xae\xfa\xc3" } , { "\xd0\xdd" , "\xae\xd6\xfa\xc3" } , { "\xd0\xdd\xa2" , "\xae\xd6\xc6\xfa\xc3" } , { "\xd0\xe0" , "\xae\xe0\xfa\xc3" } , { "\xd0\xe0\xa2" , "\xae\xe1\xfa\xc3" } , { "\xd0\xe1" , "\xae\xe4\xfa\xc3" } , { "\xd0\xe4" , "\xae\xfa\xc9\xe0\xc3" } , { "\xd0\xe5" , "\xae\xfa\xc9\xe4\xc3" } , { "\xd0\xe8\xcd" , "\xad\xaa\xc9" } , { "\xd0\xe8\xcd\xda" , "\xad\xaa\xc9\xc9" } , { "\xd0\xe8\xd1\xdd" , "\xad\xb1\xc9\xd6" } , { "\xd1" , "\xb1\xc9" } , { "\xd1\xa1" , "\xb1\xc9\xc4" } , { "\xd1\xa1\xa2" , "\xb1\xc9\xc4\xc6" } , { "\xd1\xa2" , "\xb1\xc9\xc6" } , { "\xd1\xa2\xa2" , "\xb1\xc9\xc6\xc6" } , { "\xd1\xa3" , "\xb1\xc9\x26" } , { "\xd1\xd9" , "\xb1\xc9" } , { "\xd1\xda" , "\xb1\xc9\xc9" } , { "\xd1\xda\xa1" , "\xb1\xc9\xc9\xc4" } , { "\xd1\xda\xa2" , "\xb1\xc9\xc9\xc6" } , { "\xd1\xda\xa3" , "\xb1\xc9\xc9\x26" } , { "\xd1\xdb" , "\xca\xb1\xc9" } , { "\xd1\xdb\xa1" , "\xcb\xb1\xc9" } , { "\xd1\xdb\xa2" , "\xcb\xb1\xc9" } , { "\xd1\xdb\xa3" , "\xca\xb1\xc9\x26" } , { "\xd1\xdb\xce\xe1" , "\xca\xb1\xc9\xaa\xc9\xc3\xe4" } , { "\xd1\xdc" , "\xb1\xc9\xd2" } , { "\xd1\xdc\xa2" , "\xb1\xc9\xd3" } , { "\xd1\xdd" , "\xb1\xc9\xd6" } , { "\xd1\xdd\xa2" , "\xb1\xc9\xd6\xc6" } , { "\xd1\xdd\xa3" , "\xb1\xc9\xd6\x26" } , { "\xd1\xde" , "\xb1\xc9\xda" } , { "\xd1\xde\xa1" , "\xb1\xc9\xda\xc4" } , { "\xd1\xde\xa2" , "\xb1\xc9\xda\xc6" } , { "\xd1\xdf" , "\xb1\xc9\xde" } , { "\xd1\xe0" , "\xb1\xc9\xe0" } , { "\xd1\xe0\xa2" , "\xb1\xc9\xe1" } , { "\xd1\xe1" , "\xb1\xc9\xe4" } , { "\xd1\xe1\xa2" , "\xb1\xc9\xe5" } , { "\xd1\xe2" , "\xb1\xc9\xe8" } , { "\xd1\xe2\xa2" , "\xb1\xc9\xe9" } , { "\xd1\xe2\xa3" , "\xb1\xc9\xe8\x26" } , { "\xd1\xe4" , "\xb1\xc9\xc9\xe0" } , { "\xd1\xe4\xa2" , "\xb1\xc9\xc9\xe1" } , { "\xd1\xe5" , "\xb1\xc9\xc9\xe4" } , { "\xd1\xe5\xa2" , "\xb1\xc9\xc9\xe5" } , { "\xd1\xe6" , "\xb1\xc9\xc9\xe8" } , { "\xd1\xe6\xa2" , "\xb1\xc9\xc9\xe9" } , { "\xd1\xe7" , "\xb1\xc9\xc9\xec" } , { "\xd1\xe7\xa2" , "\xb1\xc9\xc9\xed" } , { "\xd1\xe8" , "\xb1\xc9\xc2" } , { "\xd1\xe8\xb3" , "\xb1\x45\xf2" } , { "\xd1\xe8\xb3\xa2" , "\xb1\x45\xc6\xf2" } , { "\xd1\xe8\xb3\xda" , "\xb1\x45\xf2\xc9" } , { "\xd1\xe8\xb3\xda\xa2" , "\xb1\x45\xf2\xc9\xc6" } , { "\xd1\xe8\xb3\xdb" , "\xce\xb1\x45\xf2" } , { "\xd1\xe8\xb3\xdb\xa2" , "\xcf\xb1\x45\xf2" } , { "\xd1\xe8\xb3\xdc" , "\xb1\x45\xf2\xd2" } , { "\xd1\xe8\xb3\xdd" , "\xb1\x45\xd6\xf2" } , { "\xd1\xe8\xb3\xdd\xa2" , "\xb1\x45\xd6\xc6\xf2" } , { "\xd1\xe8\xb3\xde" , "\xb1\x45\xda\xf2" } , { "\xd1\xe8\xb3\xe0" , "\xb1\x45\xe0\xf2" } , { "\xd1\xe8\xb3\xe1" , "\xb1\x45\xe4\xf2" } , { "\xd1\xe8\xb3\xe2" , "\xb1\x45\xe8\xf2" } , { "\xd1\xe8\xb3\xe4" , "\xb1\x45\xf2\xc9\xe0" } , { "\xd1\xe8\xb3\xe4\xa2" , "\xb1\x45\xf2\xc9\xe1" } , { "\xd1\xe8\xb3\xe5" , "\xb1\x45\xf2\xc9\xe4" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xb1\x45\xf2\xc9\xe5" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xb1\x45\xf2\xc9\xe9" } , { "\xd1\xe8\xb3\xe7" , "\xb1\x45\xf2\xc9\xec" } , { "\xd1\xe8\xb3\xe8" , "\xb1\x45\xc2\xf2" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\xb1\x43\x53\xc9\xc9\xe0" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\xb1\x43\x5d\xc5\xf5\xc9" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\xb1\x43\x6e\xf9\xc9" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\xb1\x43\x74\xd6" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\xb1\x43\x78\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xcd" , "\xb1\x43\xaa\xc9" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\xb1\x43\xaa\xc9\xc9" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\xb1\x43\xaa\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\xb1\x43\xaa\xc9\xda" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\xce\xb1\x47\xf2" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\xcf\xb1\x47\xf2" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\xb1\x47\xf2\xd2" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\xb1\x47\xe0\xf2" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\xb1\x47\xe8\xf2" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xb1\x47\xf2\xc9\xe4" } , { "\xd1\xe8\xb3\xe8\xd1" , "\xb1\x43\xb1\xc9" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\xb1\x43\xb1\xc9\xc9" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xb1\x43\xb1\xc9\xe8" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xb1\x43\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\xb1\x49\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\xb1\x43\xba\xc9\xc2" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xb1\x43\xba\x78\xc9\xd6" } , { "\xd1\xe8\xb3\xe8\xd8" , "\xb1\x43\xbd\xfe" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\xb1\x43\xbd\xfe\xc9" } , { "\xd1\xe8\xb4" , "\xb1\x4a\xc9" } , { "\xd1\xe8\xb4\xa2" , "\xb1\x4a\xc9\xc6" } , { "\xd1\xe8\xb4\xda" , "\xb1\x4a\xc9\xc9" } , { "\xd1\xe8\xb4\xdb" , "\xce\xb1\x4a\xc9" } , { "\xd1\xe8\xb4\xdc" , "\xb1\x4a\xc9\xd2" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\xb1\x4a\xa7\xc9" } , { "\xd1\xe8\xb5" , "\xb1\x4d\xc9" } , { "\xd1\xe8\xb5\xa2" , "\xb1\x4d\xc9\xc6" } , { "\xd1\xe8\xb5\xda" , "\xb1\x4d\xc9\xc9" } , { "\xd1\xe8\xb5\xda\xa2" , "\xb1\x4d\xc9\xc9\xc6" } , { "\xd1\xe8\xb5\xdb" , "\xce\xb1\x4d\xc9" } , { "\xd1\xe8\xb5\xdb\xa2" , "\xcf\xb1\x4d\xc9" } , { "\xd1\xe8\xb5\xdc" , "\xb1\x4d\xc9\xd2" } , { "\xd1\xe8\xb5\xdd" , "\xb1\x4d\xc9\xd6" } , { "\xd1\xe8\xb5\xdd\xa2" , "\xb1\x4d\xc9\xd6\xc6" } , { "\xd1\xe8\xb5\xde" , "\xb1\x4d\xc9\xda" } , { "\xd1\xe8\xb5\xe0" , "\xb1\x4d\xc9\xe0" } , { "\xd1\xe8\xb5\xe1" , "\xb1\x4d\xc9\xe4" } , { "\xd1\xe8\xb5\xe2" , "\xb1\x4d\xc9\xe8" } , { "\xd1\xe8\xb5\xe4" , "\xb1\x4d\xc9\xc9\xe0" } , { "\xd1\xe8\xb5\xe4\xa2" , "\xb1\x4d\xc9\xc9\xe1" } , { "\xd1\xe8\xb5\xe5" , "\xb1\x4d\xc9\xc9\xe4" } , { "\xd1\xe8\xb5\xe6" , "\xb1\x4d\xc9\xc9\xe8" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\xb1\x4f\xc9\xc6" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\xb1\x4f\xc9\xc9" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\xb1\x4f\xc9\xc9\xc6" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\xce\xb1\x4f\xc9" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\xb1\x4f\xc9\xda" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\xb1\x4d\xb1\xc9\xc9" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\xb1\x4d\xb1\xc9\xc9\xc6" } , { "\xd1\xe8\xb6" , "\xb1\x50\xc9" } , { "\xd1\xe8\xb8" , "\xb1\x53\xc9" } , { "\xd1\xe8\xb8\xa2" , "\xb1\x53\xc9\xc6" } , { "\xd1\xe8\xb8\xda" , "\xb1\x53\xc9\xc9" } , { "\xd1\xe8\xb8\xdb" , "\xce\xb1\x53\xc9" } , { "\xd1\xe8\xb8\xdb\xa2" , "\xcf\xb1\x53\xc9" } , { "\xd1\xe8\xb8\xdc" , "\xb1\x53\xc9\xd2" } , { "\xd1\xe8\xb8\xdd" , "\xb1\x53\xc9\xd6" } , { "\xd1\xe8\xb8\xdd\xa2" , "\xb1\x53\xc9\xd6\xc6" } , { "\xd1\xe8\xb8\xde" , "\xb1\x53\xc9\xda" } , { "\xd1\xe8\xb8\xe0" , "\xb1\x53\xc9\xe0" } , { "\xd1\xe8\xb8\xe1" , "\xb1\x53\xc9\xe4" } , { "\xd1\xe8\xb8\xe4" , "\xb1\x53\xc9\xc9\xe0" } , { "\xd1\xe8\xb8\xe4\xa2" , "\xb1\x53\xc9\xc9\xe1" } , { "\xd1\xe8\xb8\xe5" , "\xb1\x53\xc9\xc9\xe4" } , { "\xd1\xe8\xb8\xe6" , "\xb1\x53\xc9\xc9\xe8" } , { "\xd1\xe8\xb9\xdd" , "\xb1\x55\xd6\xf4" } , { "\xd1\xe8\xba" , "\xb1\x56\xc9" } , { "\xd1\xe8\xba\xda" , "\xb1\x56\xc9\xc9" } , { "\xd1\xe8\xba\xdb" , "\xce\xb1\x56\xc9" } , { "\xd1\xe8\xba\xdc" , "\xb1\x56\xc9\xd2" } , { "\xd1\xe8\xba\xdd" , "\xb1\x56\xc9\xd6" } , { "\xd1\xe8\xba\xde" , "\xb1\x56\xc9\xda" } , { "\xd1\xe8\xba\xe0" , "\xb1\x56\xc9\xe0" } , { "\xd1\xe8\xba\xe1" , "\xb1\x56\xc9\xe4" } , { "\xd1\xe8\xba\xe8" , "\xb1\x56\xc9\xc2" } , { "\xd1\xe8\xba\xe9" , "\xb1\x57\xc9" } , { "\xd1\xe8\xba\xe9\xda" , "\xb1\x57\xc9\xc9" } , { "\xd1\xe8\xbb\xda" , "\xb1\x5a\xc9\xc9" } , { "\xd1\xe8\xbb\xdc" , "\xb1\x5a\xc9\xd2" } , { "\xd1\xe8\xbd" , "\xb1\x5d\xf5" } , { "\xd1\xe8\xbd\xa2" , "\xb1\x5d\xc6\xf5" } , { "\xd1\xe8\xbd\xda" , "\xb1\x5d\xf5\xc9" } , { "\xd1\xe8\xbd\xdb" , "\xce\xb1\x5d\xf5" } , { "\xd1\xe8\xbd\xdb\xa2" , "\xcf\xb1\x5d\xf5" } , { "\xd1\xe8\xbd\xdc" , "\xb1\x5d\xf5\xd2" } , { "\xd1\xe8\xbd\xdd" , "\xb1\x5d\xd6\xf5" } , { "\xd1\xe8\xbd\xdd\xa2" , "\xb1\x5d\xd6\xc6\xf5" } , { "\xd1\xe8\xbd\xde" , "\xb1\x5d\xda\xf5" } , { "\xd1\xe8\xbd\xe0" , "\xb1\x5d\xe0\xf5" } , { "\xd1\xe8\xbd\xe0\xa2" , "\xb1\x5d\xe1\xf5" } , { "\xd1\xe8\xbd\xe1" , "\xb1\x5d\xe4\xf5" } , { "\xd1\xe8\xbd\xe2" , "\xb1\x5d\xe8\xf5" } , { "\xd1\xe8\xbd\xe4" , "\xb1\x5d\xf5\xc9\xe0" } , { "\xd1\xe8\xbd\xe5" , "\xb1\x5d\xf5\xc9\xe4" } , { "\xd1\xe8\xbd\xe5\xa2" , "\xb1\x5d\xf5\xc9\xe5" } , { "\xd1\xe8\xbd\xe8" , "\xb1\x5d\xc2\xf5" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\xb1\x5d\xc2\xf5\x4d\xc9\xc9" } , { "\xd1\xe8\xbd\xe8\xba" , "\xb1\x5d\xc2\xf5\x56\xc9" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\xb1\x5d\xc2\xf5\x56\xc9\xc2" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\xb1\x5d\xc2\xf5\x56\xa8\xc9" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\xb1\x5d\xc2\xf5\x78\xc9\xd6" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\xb1\x5d\xc2\xf5\x7b\xc9\xd2" } , { "\xd1\xe8\xbd\xe8\xcc" , "\xb1\x5d\xc2\xf5\xa8\xc9" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\xb1\x5d\xc2\xf5\xa8\xc9\xd2" } , { "\xd1\xe8\xbd\xe8\xcf" , "\xb1\x5d\xc5\xf5" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\xb1\x5d\xc5\xf5\xc9" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\xce\xb1\x5d\xc5\xf5" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\xb1\x5d\xc5\xf5\xd2" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\xb1\x5d\xc5\xe4\xf5" } , { "\xd1\xe8\xbd\xe8\xd1" , "\xb1\x5d\xc2\xf5\xb1\xc9" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\xb1\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\xb1\x5d\xc2\xf5\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\xb1\x5d\xc2\xf5\xb4\xc9\xc6" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\xb1\x5d\xc2\xf5\xb4\xc9\xe8" } , { "\xd1\xe8\xbd\xe8\xd7" , "\xb1\x5d\xc2\xf5\xba\xc9" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\xb1\x5d\xc2\xf5\xba\xc9\xd6" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\xb1\x5d\xc2\xf5\xba\xc9\xc2" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\xb1\x5d\xc2\xf5\xba\x7b\xc9\xc9" } , { "\xd1\xe8\xbf" , "\xb1\x62\xf7" } , { "\xd1\xe8\xbf\xa2" , "\xb1\x62\xc6\xf7" } , { "\xd1\xe8\xbf\xda" , "\xb1\x62\xf7\xc9" } , { "\xd1\xe8\xbf\xdb" , "\xce\xb1\x62\xf7" } , { "\xd1\xe8\xbf\xdb\xa2" , "\xcf\xb1\x62\xf7" } , { "\xd1\xe8\xbf\xdc" , "\xb1\x62\xf7\xd2" } , { "\xd1\xe8\xbf\xdd" , "\xb1\x62\xd6\xf7" } , { "\xd1\xe8\xbf\xde" , "\xb1\x62\xda\xf7" } , { "\xd1\xe8\xbf\xe0" , "\xb1\x62\xe0\xf7" } , { "\xd1\xe8\xbf\xe0\xa2" , "\xb1\x62\xe1\xf7" } , { "\xd1\xe8\xbf\xe1" , "\xb1\x62\xe4\xf7" } , { "\xd1\xe8\xbf\xe4" , "\xb1\x62\xf7\xc9\xe0" } , { "\xd1\xe8\xbf\xe5" , "\xb1\x62\xf7\xc9\xe4" } , { "\xd1\xe8\xbf\xe7" , "\xb1\x62\xf7\xc9\xec" } , { "\xd1\xe8\xbf\xe8" , "\xb1\x62\xc2\xf7" } , { "\xd1\xe8\xbf\xe8\xb3" , "\xb1\x62\xc2\xf7\x45\xf2" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\xb1\x62\xc2\xf7\x45\xd6\xf2" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\xb1\x62\xc2\xf7\x47\xf2\xd2" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\xb1\x62\xc2\xf7\x4d\xc9\xc9" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\xb1\x62\xc2\xf7\x4d\xc9\xe4" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\xb1\x62\xc2\xf7\x4d\xc9\xc9\xe4" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\xb1\x62\xc2\xf7\x5d\xe8\xf5" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\xb1\x62\xc2\xf7\x62\xf7\xc9\xe8" } , { "\xd1\xe8\xbf\xe8\xc2" , "\xb1\x62\xc2\xf7\x69\xc9" } , { "\xd1\xe8\xbf\xe8\xc8" , "\xb1\x62\xc2\xf7\x7b\xc9" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\xcf\xb1\x62\xc2\xf7\xa1\xf2" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\xb1\x62\xc2\xf7\xa1\xf2\xc9\xe4" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\xb1\x62\xc2\xf7\xa5\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xcc" , "\xb1\x62\xc2\xf7\xa8\xc9" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\xb1\x62\xc2\xf7\xa8\xc9\xc9" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\xb1\x62\xc2\xf7\xa8\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\xb1\x62\xc2\xf7\xa8\xc9\xe4" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\xb1\x62\xf7\xac\xda" } , { "\xd1\xe8\xbf\xe8\xcf" , "\xb1\x62\xc5\xf7" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\xce\xb1\x62\xc5\xf7" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\xcf\xb1\x62\xc5\xf7" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\xb1\x62\xc5\xf7\xd2" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\xb1\x62\xc5\xe0\xf7" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\xb1\x62\xc5\xe4\xf7" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\xb1\x62\xc5\xe8\xf7" } , { "\xd1\xe8\xbf\xe8\xd1" , "\xb1\x62\xc2\xf7\xb1\xc9" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\xb1\x62\xc2\xf7\xb1\xc9\xd6" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\xb1\x62\xc2\xf7\xb1\xc9\xda" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\xb1\x62\xc2\xf7\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\xce\xb1\x62\xc2\xf7\xb4\xc9" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\xb1\x62\xc2\xf7\xb4\xc9\xe0" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\xb1\x62\xc2\xf7\xb4\xb1\xc9\xc2" } , { "\xd1\xe8\xbf\xe8\xd7" , "\xb1\x62\xc2\xf7\xba\xc9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\xb1\x62\xc2\xf7\xba\xc9\xc2" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\xb1\x62\xc2\xf7\xba\x5d\xf5\xd2" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\xb1\x62\xc2\xf7\xba\x5d\xe8\xf5" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\xb1\x62\xc2\xf7\xba\x7b\xc9\xc9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\xb1\x62\xc2\xf7\xba\xa1\xf2\xc9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\xce\xb1\x62\xc2\xf7\xba\xa8\xc9" } , { "\xd1\xe8\xbf\xe9" , "\xb1\x63\xf7" } , { "\xd1\xe8\xc0\xda" , "\xb1\x66\xf8\xc9" } , { "\xd1\xe8\xc1" , "\xb1\x68\xc9" } , { "\xd1\xe8\xc2" , "\xb1\x69\xc9" } , { "\xd1\xe8\xc2\xda" , "\xb1\x69\xc9\xc9" } , { "\xd1\xe8\xc2\xda\xa2" , "\xb1\x69\xc9\xc9\xc6" } , { "\xd1\xe8\xc2\xdb" , "\xce\xb1\x69\xc9" } , { "\xd1\xe8\xc2\xdb\xa2" , "\xcf\xb1\x69\xc9" } , { "\xd1\xe8\xc2\xdc" , "\xb1\x69\xc9\xd2" } , { "\xd1\xe8\xc2\xdd" , "\xb1\x69\xc9\xd6" } , { "\xd1\xe8\xc2\xdd\xa2" , "\xb1\x69\xc9\xd6\xc6" } , { "\xd1\xe8\xc2\xde" , "\xb1\x69\xc9\xda" } , { "\xd1\xe8\xc2\xe0" , "\xb1\x69\xc9\xe0" } , { "\xd1\xe8\xc2\xe1" , "\xb1\x69\xc9\xe4" } , { "\xd1\xe8\xc2\xe4" , "\xb1\x69\xc9\xc9\xe0" } , { "\xd1\xe8\xc2\xe5" , "\xb1\x69\xc9\xc9\xe4" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xb1\x69\xc9\xc9\xe5" } , { "\xd1\xe8\xc2\xe8" , "\xb1\x69\xc9\xc2" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\xb1\x69\x43\xb1\xc9" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\xb1\x69\xa4\xb1\xc9\xc9" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\xb1\x69\xa8\xc9\xc6" } , { "\xd1\xe8\xc3" , "\xb1\x6c\xc9" } , { "\xd1\xe8\xc3\xda" , "\xb1\x6c\xc9\xc9" } , { "\xd1\xe8\xc3\xdc" , "\xb1\x6c\xc9\xd2" } , { "\xd1\xe8\xc3\xdd" , "\xb1\x6c\xc9\xd6" } , { "\xd1\xe8\xc3\xde" , "\xb1\x6c\xc9\xda" } , { "\xd1\xe8\xc4" , "\xb1\x6e\xf9" } , { "\xd1\xe8\xc4\xa2" , "\xb1\x6e\xc6\xf9" } , { "\xd1\xe8\xc4\xda" , "\xb1\x6e\xf9\xc9" } , { "\xd1\xe8\xc4\xda\xa2" , "\xb1\x6e\xf9\xc9\xc6" } , { "\xd1\xe8\xc4\xdb" , "\xce\xb1\x6e\xf9" } , { "\xd1\xe8\xc4\xdc" , "\xb1\x6e\xf9\xd2" } , { "\xd1\xe8\xc4\xdd" , "\xb1\x6e\xd6\xf9" } , { "\xd1\xe8\xc4\xe1" , "\xb1\x6e\xe4\xf9" } , { "\xd1\xe8\xc4\xe1\xa2" , "\xb1\x6e\xe5\xf9" } , { "\xd1\xe8\xc4\xe4" , "\xb1\x6e\xf9\xc9\xe0" } , { "\xd1\xe8\xc4\xe5" , "\xb1\x6e\xf9\xc9\xe4" } , { "\xd1\xe8\xc4\xe5\xa2" , "\xb1\x6e\xf9\xc9\xe5" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\xb1\x70\xe4\xf9" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\xb1\x75\xf9\xc9" } , { "\xd1\xe8\xc5" , "\xb1\x76\xc9" } , { "\xd1\xe8\xc5\xda" , "\xb1\x76\xc9\xc9" } , { "\xd1\xe8\xc5\xdb" , "\xce\xb1\x76\xc9" } , { "\xd1\xe8\xc6" , "\xb1\x78\xc9" } , { "\xd1\xe8\xc6\xa2" , "\xb1\x78\xc9\xc6" } , { "\xd1\xe8\xc6\xda" , "\xb1\x78\xc9\xc9" } , { "\xd1\xe8\xc6\xdb" , "\xce\xb1\x78\xc9" } , { "\xd1\xe8\xc6\xdb\xa2" , "\xcf\xb1\x78\xc9" } , { "\xd1\xe8\xc6\xdc" , "\xb1\x78\xc9\xd2" } , { "\xd1\xe8\xc6\xdd" , "\xb1\x78\xc9\xd6" } , { "\xd1\xe8\xc6\xdd\xa2" , "\xb1\x78\xc9\xd6\xc6" } , { "\xd1\xe8\xc6\xde" , "\xb1\x78\xc9\xda" } , { "\xd1\xe8\xc6\xe0" , "\xb1\x78\xc9\xe0" } , { "\xd1\xe8\xc6\xe0\xa2" , "\xb1\x78\xc9\xe1" } , { "\xd1\xe8\xc6\xe1" , "\xb1\x78\xc9\xe4" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xb1\x78\xc9\xe5" } , { "\xd1\xe8\xc6\xe2" , "\xb1\x78\xc9\xe8" } , { "\xd1\xe8\xc6\xe5" , "\xb1\x78\xc9\xc9\xe4" } , { "\xd1\xe8\xc6\xe8" , "\xb1\x78\xc9\xc2" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\xb1\x78\x45\xd6\xf2" } , { "\xd1\xe8\xc8" , "\xb1\x7b\xc9" } , { "\xd1\xe8\xc8\xa2" , "\xb1\x7b\xc9\xc6" } , { "\xd1\xe8\xc8\xda" , "\xb1\x7b\xc9\xc9" } , { "\xd1\xe8\xc8\xda\xa2" , "\xb1\x7b\xc9\xc9\xc6" } , { "\xd1\xe8\xc8\xda\xa3" , "\xb1\x7b\xc9\xc9\x26" } , { "\xd1\xe8\xc8\xdb" , "\xce\xb1\x7b\xc9" } , { "\xd1\xe8\xc8\xdb\xa2" , "\xcf\xb1\x7b\xc9" } , { "\xd1\xe8\xc8\xdc" , "\xb1\x7b\xc9\xd2" } , { "\xd1\xe8\xc8\xdc\xa2" , "\xb1\x7b\xc9\xd3" } , { "\xd1\xe8\xc8\xdd" , "\xb1\x7b\xc9\xd6" } , { "\xd1\xe8\xc8\xdd\xa2" , "\xb1\x7b\xc9\xd6\xc6" } , { "\xd1\xe8\xc8\xde" , "\xb1\x7b\xc9\xda" } , { "\xd1\xe8\xc8\xe0" , "\xb1\x7b\xc9\xe0" } , { "\xd1\xe8\xc8\xe0\xa2" , "\xb1\x7b\xc9\xe1" } , { "\xd1\xe8\xc8\xe1" , "\xb1\x7b\xc9\xe4" } , { "\xd1\xe8\xc8\xe1\xa2" , "\xb1\x7b\xc9\xe5" } , { "\xd1\xe8\xc8\xe2" , "\xb1\x7b\xc9\xe8" } , { "\xd1\xe8\xc8\xe4" , "\xb1\x7b\xc9\xc9\xe0" } , { "\xd1\xe8\xc8\xe5" , "\xb1\x7b\xc9\xc9\xe4" } , { "\xd1\xe8\xc8\xe5\xa2" , "\xb1\x7b\xc9\xc9\xe5" } , { "\xd1\xe8\xc8\xe8" , "\xb1\x7b\xc9\xc2" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\xb1\x7b\x4d\xc9\xc9\xe4" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\xb1\x7b\xaa\xc9\xda" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\xb1\x7c\xc9\xc9" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\xce\xb1\x7c\xc9" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\xb1\x7c\xc9\xe0" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\xb1\x7c\xc9\xe8" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\xb1\x7c\xc9\xc9\xe0" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\xb1\x7b\xb1\xc9\xc9" } , { "\xd1\xe8\xc8\xe8\xd7" , "\xb1\x7b\xba\xc9" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\xb1\x7b\xba\xc9\xc2" } , { "\xd1\xe8\xc9" , "\xb1\xa1\xf2" } , { "\xd1\xe8\xc9\xa2" , "\xb1\xa1\xc6\xf2" } , { "\xd1\xe8\xc9\xda" , "\xb1\xa1\xf2\xc9" } , { "\xd1\xe8\xc9\xdb" , "\xce\xb1\xa1\xf2" } , { "\xd1\xe8\xc9\xdb\xa2" , "\xcf\xb1\xa1\xf2" } , { "\xd1\xe8\xc9\xdc" , "\xb1\xa1\xf2\xd2" } , { "\xd1\xe8\xc9\xdd" , "\xb1\xa1\xd6\xf2" } , { "\xd1\xe8\xc9\xde" , "\xb1\xa1\xda\xf2" } , { "\xd1\xe8\xc9\xe0" , "\xb1\xa1\xe0\xf2" } , { "\xd1\xe8\xc9\xe1" , "\xb1\xa1\xe4\xf2" } , { "\xd1\xe8\xc9\xe1\xa2" , "\xb1\xa1\xe5\xf2" } , { "\xd1\xe8\xc9\xe2" , "\xb1\xa1\xe8\xf2" } , { "\xd1\xe8\xc9\xe4" , "\xb1\xa1\xf2\xc9\xe0" } , { "\xd1\xe8\xc9\xe5" , "\xb1\xa1\xf2\xc9\xe4" } , { "\xd1\xe8\xc9\xe5\xa2" , "\xb1\xa1\xf2\xc9\xe5" } , { "\xd1\xe8\xc9\xe7" , "\xb1\xa1\xf2\xc9\xec" } , { "\xd1\xe8\xc9\xe8" , "\xb1\xa1\xc2\xf2" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\xb1\x7d\x5d\xc2\xf5" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\xb1\x7d\xa8\xc9\xc9" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\xb1\x7d\xaa\xc9\xd6" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\xb1\x7d\xaa\xc9\xda" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\xb1\xa3\xc6\xf2" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\xb1\xa3\xe0\xf2" } , { "\xd1\xe8\xc9\xe8\xd1" , "\xb1\x7d\xb1\xc9" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\xb1\x7d\xb1\xc9\xe8" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\xb1\x7d\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\xb1\x7d\xb4\xc9\xd2" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\xb1\x7d\xba\xc9\xc2" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\xce\xb1\x7d\xbd\xfe" } , { "\xd1\xe8\xca" , "\xb1\xa4\xc9" } , { "\xd1\xe8\xca\xa2" , "\xb1\xa4\xc9\xc6" } , { "\xd1\xe8\xca\xda" , "\xb1\xa4\xc9\xc9" } , { "\xd1\xe8\xca\xda\xa2" , "\xb1\xa4\xc9\xc9\xc6" } , { "\xd1\xe8\xca\xdb" , "\xce\xb1\xa4\xc9" } , { "\xd1\xe8\xca\xdc" , "\xb1\xa4\xc9\xd2" } , { "\xd1\xe8\xca\xdd" , "\xb1\xa4\xc9\xd6" } , { "\xd1\xe8\xca\xdf" , "\xb1\xa4\xc9\xde" } , { "\xd1\xe8\xca\xe0" , "\xb1\xa4\xc9\xe0" } , { "\xd1\xe8\xca\xe1" , "\xb1\xa4\xc9\xe4" } , { "\xd1\xe8\xca\xe2" , "\xb1\xa4\xc9\xe8" } , { "\xd1\xe8\xca\xe5" , "\xb1\xa4\xc9\xc9\xe4" } , { "\xd1\xe8\xca\xe5\xa2" , "\xb1\xa4\xc9\xc9\xe5" } , { "\xd1\xe8\xca\xe8" , "\xb1\xa4\xc9\xc2" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\xb1\xa4\x45\xd6\xf2" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\xb1\xa4\x78\xc9\xd6" } , { "\xd1\xe8\xca\xe8\xcd" , "\xb1\xa4\xaa\xc9" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\xb1\xa4\xaa\xc9\xc9" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\xb1\xa4\xaa\xc9\xd6" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\xb1\xa4\xaa\xc9\xda" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\xb1\xa5\xc9\xda" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\xb1\xa5\xc9\xe0" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xb1\xa5\xc9\xe4" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xb1\xa5\xc9\xc9\xe4" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xb1\xa4\xd0\x5d\xc2\xf5\xba\x45\xf2" } , { "\xd1\xe8\xca\xe8\xd1" , "\xb1\xa4\xb1\xc9" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\xb1\xa4\xb1\xc9\xda" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xb1\xa4\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\xb1\xa4\xb4\xc9\xc6" } , { "\xd1\xe8\xcb" , "\xb1\xa6\xc9" } , { "\xd1\xe8\xcb\xa2" , "\xb1\xa6\xc9\xc6" } , { "\xd1\xe8\xcb\xda" , "\xb1\xa6\xc9\xc9" } , { "\xd1\xe8\xcb\xdb\xa2" , "\xcf\xb1\xa6\xc9" } , { "\xd1\xe8\xcb\xdd" , "\xb1\xa6\xc9\xd6" } , { "\xd1\xe8\xcb\xde" , "\xb1\xa6\xc9\xda" } , { "\xd1\xe8\xcb\xe2" , "\xb1\xa6\xc9\xe8" } , { "\xd1\xe8\xcb\xe8\xcd" , "\xb1\xa6\xaa\xc9" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\xb1\xa6\xaa\xc9\xc6" } , { "\xd1\xe8\xcc" , "\xb1\xa8\xc9" } , { "\xd1\xe8\xcc\xa2" , "\xb1\xa8\xc9\xc6" } , { "\xd1\xe8\xcc\xda" , "\xb1\xa8\xc9\xc9" } , { "\xd1\xe8\xcc\xda\xa2" , "\xb1\xa8\xc9\xc9\xc6" } , { "\xd1\xe8\xcc\xdb" , "\xce\xb1\xa8\xc9" } , { "\xd1\xe8\xcc\xdb\xa2" , "\xcf\xb1\xa8\xc9" } , { "\xd1\xe8\xcc\xdc" , "\xb1\xa8\xc9\xd2" } , { "\xd1\xe8\xcc\xdd" , "\xb1\xa8\xc9\xd6" } , { "\xd1\xe8\xcc\xde" , "\xb1\xa8\xc9\xda" } , { "\xd1\xe8\xcc\xdf" , "\xb1\xa8\xc9\xde" } , { "\xd1\xe8\xcc\xe0" , "\xb1\xa8\xc9\xe0" } , { "\xd1\xe8\xcc\xe0\xa2" , "\xb1\xa8\xc9\xe1" } , { "\xd1\xe8\xcc\xe1" , "\xb1\xa8\xc9\xe4" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xb1\xa8\xc9\xe5" } , { "\xd1\xe8\xcc\xe4" , "\xb1\xa8\xc9\xc9\xe0" } , { "\xd1\xe8\xcc\xe5" , "\xb1\xa8\xc9\xc9\xe4" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xb1\xa8\xc9\xc9\xe5" } , { "\xd1\xe8\xcc\xe7" , "\xb1\xa8\xc9\xc9\xec" } , { "\xd1\xe8\xcc\xe8" , "\xb1\xa8\xc9\xc2" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\xb1\xa8\x45\xf2\xc9\xe4" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\xb1\xa8\x4d\xc9\xc9" } , { "\xd1\xe8\xcc\xe8\xba" , "\xb1\xa8\x56\xc9" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\xb1\xa8\x62\xe8\xf7" } , { "\xd1\xe8\xcc\xe8\xc6" , "\xb1\xa8\x78\xc9" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\xb1\xa8\x78\xc9\xd6" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\xb1\xa8\xa8\xc9\xd2" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\xb1\xa8\xaa\xc9\xc9" } , { "\xd1\xe8\xcc\xe8\xd1" , "\xb1\xa8\xb1\xc9" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\xb1\xa8\xb1\xc9\xd6" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xb1\xa8\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\xb1\xa8\xb4\xc9\xc6" } , { "\xd1\xe8\xcc\xe8\xd7" , "\xb1\xa8\xba\xc9" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\xb1\xa8\xba\xa1\xf2" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\xb1\xa8\xbd\xfe\xc9\xe4" } , { "\xd1\xe8\xcd" , "\xb1\xaa\xc9" } , { "\xd1\xe8\xcd\xa2" , "\xb1\xaa\xc9\xc6" } , { "\xd1\xe8\xcd\xda" , "\xb1\xaa\xc9\xc9" } , { "\xd1\xe8\xcd\xda\xa2" , "\xb1\xaa\xc9\xc9\xc6" } , { "\xd1\xe8\xcd\xdc" , "\xb1\xaa\xc9\xd2" } , { "\xd1\xe8\xcd\xdd" , "\xb1\xaa\xc9\xd6" } , { "\xd1\xe8\xcd\xde" , "\xb1\xaa\xc9\xda" } , { "\xd1\xe8\xcd\xde\xa2" , "\xb1\xaa\xc9\xda\xc6" } , { "\xd1\xe8\xcd\xe0" , "\xb1\xaa\xc9\xe0" } , { "\xd1\xe8\xcd\xe0\xa2" , "\xb1\xaa\xc9\xe1" } , { "\xd1\xe8\xcd\xe1" , "\xb1\xaa\xc9\xe4" } , { "\xd1\xe8\xcd\xe4" , "\xb1\xaa\xc9\xc9\xe0" } , { "\xd1\xe8\xcd\xe5" , "\xb1\xaa\xc9\xc9\xe4" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xb1\xaa\xc9\xc9\xe5" } , { "\xd1\xe8\xcd\xe6" , "\xb1\xaa\xc9\xc9\xe8" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xb1\xaa\xc9\xc9\xe9" } , { "\xd1\xe8\xcd\xe7" , "\xb1\xaa\xc9\xc9\xec" } , { "\xd1\xe8\xcd\xe8" , "\xb1\xaa\xc9\xc2" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\xb1\xaa\xaa\xc9\xc6" } , { "\xd1\xe8\xcf" , "\xb1\xc9\xc5" } , { "\xd1\xe8\xcf\xa2" , "\xb1\xc9\xc5\xc6" } , { "\xd1\xe8\xcf\xda" , "\xb1\xc9\xc5\xc9" } , { "\xd1\xe8\xcf\xda\xa2" , "\xb1\xc9\xc5\xc9\xc6" } , { "\xd1\xe8\xcf\xdb" , "\xca\xb1\xc9\xc5" } , { "\xd1\xe8\xcf\xdb\xa2" , "\xcb\xb1\xc9\xc5" } , { "\xd1\xe8\xcf\xdd" , "\xb1\xc9\xd8" } , { "\xd1\xe8\xcf\xde" , "\xb1\xc9\xdc" } , { "\xd1\xe8\xcf\xe0" , "\xb1\xc9\xc5\xe0" } , { "\xd1\xe8\xcf\xe1" , "\xb1\xc9\xc5\xe4" } , { "\xd1\xe8\xcf\xe2" , "\xb1\xc9\xc5\xe8" } , { "\xd1\xe8\xcf\xe5" , "\xb1\xc9\xc5\xc9\xe4" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xb1\xc9\xc5\xc9\xe9" } , { "\xd1\xe8\xcf\xe8\xbf" , "\xb1\xae\xc2\xfa\x62\xf7" } , { "\xd1\xe8\xcf\xe8\xd7" , "\xb1\xae\xc2\xfa\xba\xc9" } , { "\xd1\xe8\xd1" , "\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xa2" , "\xb1\xb1\xc9\xc6" } , { "\xd1\xe8\xd1\xda" , "\xb1\xb1\xc9\xc9" } , { "\xd1\xe8\xd1\xda\xa2" , "\xb1\xb1\xc9\xc9\xc6" } , { "\xd1\xe8\xd1\xdb" , "\xce\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xcf\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xdc" , "\xb1\xb1\xc9\xd2" } , { "\xd1\xe8\xd1\xdd" , "\xb1\xb1\xc9\xd6" } , { "\xd1\xe8\xd1\xdd\xa2" , "\xb1\xb1\xc9\xd6\xc6" } , { "\xd1\xe8\xd1\xde" , "\xb1\xb1\xc9\xda" } , { "\xd1\xe8\xd1\xde\xa1" , "\xb1\xb1\xc9\xda\xc4" } , { "\xd1\xe8\xd1\xe0" , "\xb1\xb1\xc9\xe0" } , { "\xd1\xe8\xd1\xe0\xa2" , "\xb1\xb1\xc9\xe1" } , { "\xd1\xe8\xd1\xe1" , "\xb1\xb1\xc9\xe4" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xb1\xb1\xc9\xe5" } , { "\xd1\xe8\xd1\xe2" , "\xb1\xb1\xc9\xe8" } , { "\xd1\xe8\xd1\xe4" , "\xb1\xb1\xc9\xc9\xe0" } , { "\xd1\xe8\xd1\xe5" , "\xb1\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xb1\xb1\xc9\xc9\xe5" } , { "\xd1\xe8\xd1\xe6" , "\xb1\xb1\xc9\xc9\xe8" } , { "\xd1\xe8\xd1\xe8" , "\xb1\xb1\xc9\xc2" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xb1\xb1\x4d\xc9\xc9" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\xb1\xb1\x7b\xc9\xe0" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\xb1\xb1\xaa\xc9\xda" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xb1\xb1\xb1\xc9" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xb1\xb1\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xd2" , "\xb1\xb3\xfd" } , { "\xd1\xe8\xd2\xda" , "\xb1\xb3\xfd\xc9" } , { "\xd1\xe8\xd2\xda\xa2" , "\xb1\xb3\xfd\xc9\xc6" } , { "\xd1\xe8\xd2\xdb" , "\xce\xb1\xb3\xfd" } , { "\xd1\xe8\xd2\xdb\xa2" , "\xcf\xb1\xb3\xfd" } , { "\xd1\xe8\xd2\xdc" , "\xb1\xb3\xfd\xd2" } , { "\xd1\xe8\xd2\xdd" , "\xb1\xb3\xd6\xfd" } , { "\xd1\xe8\xd2\xe0" , "\xb1\xb3\xe0\xfd" } , { "\xd1\xe8\xd2\xe1" , "\xb1\xb3\xe4\xfd" } , { "\xd1\xe8\xd2\xe5" , "\xb1\xb3\xfd\xc9\xe4" } , { "\xd1\xe8\xd4" , "\xb1\xb4\xc9" } , { "\xd1\xe8\xd4\xa2" , "\xb1\xb4\xc9\xc6" } , { "\xd1\xe8\xd4\xda" , "\xb1\xb4\xc9\xc9" } , { "\xd1\xe8\xd4\xda\xa2" , "\xb1\xb4\xc9\xc9\xc6" } , { "\xd1\xe8\xd4\xdb" , "\xce\xb1\xb4\xc9" } , { "\xd1\xe8\xd4\xdb\xa2" , "\xcf\xb1\xb4\xc9" } , { "\xd1\xe8\xd4\xdc" , "\xb1\xb4\xc9\xd2" } , { "\xd1\xe8\xd4\xdd" , "\xb1\xb4\xc9\xd6" } , { "\xd1\xe8\xd4\xe0" , "\xb1\xb4\xc9\xe0" } , { "\xd1\xe8\xd4\xe0\xa2" , "\xb1\xb4\xc9\xe1" } , { "\xd1\xe8\xd4\xe1" , "\xb1\xb4\xc9\xe4" } , { "\xd1\xe8\xd4\xe2" , "\xb1\xb4\xc9\xe8" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\xb1\xb4\xc9\xe8\x78\xc9\xc2" } , { "\xd1\xe8\xd4\xe5" , "\xb1\xb4\xc9\xc9\xe4" } , { "\xd1\xe8\xd4\xe5\xa2" , "\xb1\xb4\xc9\xc9\xe5" } , { "\xd1\xe8\xd4\xe8" , "\xb1\xb4\xc9\xc2" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\xb1\xb4\x53\xc9\xe4" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\xb1\xb4\xa4\xc9\xe4" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\xb1\xb4\xa6\xc9\xc9" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\xb1\xb4\xa8\xc9\xe1" } , { "\xd1\xe8\xd4\xe8\xcd" , "\xb1\xb4\xaa\xc9" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\xb1\xb4\xaa\xc9\xc9" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\xb1\xb4\xaa\xc9\xd6" } , { "\xd1\xe8\xd4\xe8\xd1" , "\xb1\xb4\xb1\xc9" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\xb1\xb4\xb1\xc9\xc9" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\xb1\xb4\xb1\xc9\xd6" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\xb1\xb4\xba\xc9\xd2" } , { "\xd1\xe8\xd5" , "\xb1\xb6\xc9" } , { "\xd1\xe8\xd5\xda" , "\xb1\xb6\xc9\xc9" } , { "\xd1\xe8\xd5\xdb" , "\xce\xb1\xb6\xc9" } , { "\xd1\xe8\xd5\xe8" , "\xb1\xb6\xc9\xc2" } , { "\xd1\xe8\xd6" , "\xb1\xb9\xc9" } , { "\xd1\xe8\xd6\xda" , "\xb1\xb9\xc9\xc9" } , { "\xd1\xe8\xd6\xdb" , "\xce\xb1\xb9\xc9" } , { "\xd1\xe8\xd6\xe0" , "\xb1\xb9\xc9\xe0" } , { "\xd1\xe8\xd6\xe5" , "\xb1\xb9\xc9\xc9\xe4" } , { "\xd1\xe8\xd7" , "\xb1\xba\xc9" } , { "\xd1\xe8\xd7\xa2" , "\xb1\xba\xc9\xc6" } , { "\xd1\xe8\xd7\xda" , "\xb1\xba\xc9\xc9" } , { "\xd1\xe8\xd7\xdb" , "\xce\xb1\xba\xc9" } , { "\xd1\xe8\xd7\xdb\xa2" , "\xcf\xb1\xba\xc9" } , { "\xd1\xe8\xd7\xdc" , "\xb1\xba\xc9\xd2" } , { "\xd1\xe8\xd7\xdd" , "\xb1\xba\xc9\xd6" } , { "\xd1\xe8\xd7\xdd\xa2" , "\xb1\xba\xc9\xd6\xc6" } , { "\xd1\xe8\xd7\xde" , "\xb1\xba\xc9\xda" } , { "\xd1\xe8\xd7\xe0" , "\xb1\xba\xc9\xe0" } , { "\xd1\xe8\xd7\xe0\xa2" , "\xb1\xba\xc9\xe1" } , { "\xd1\xe8\xd7\xe1" , "\xb1\xba\xc9\xe4" } , { "\xd1\xe8\xd7\xe2" , "\xb1\xba\xc9\xe8" } , { "\xd1\xe8\xd7\xe4" , "\xb1\xba\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe6" , "\xb1\xba\xc9\xc9\xe8" } , { "\xd1\xe8\xd7\xe8" , "\xb1\xba\xc9\xc2" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\xb1\xba\x45\xf2\xc9" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\xce\xb1\xba\x45\xf2" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\xb1\xba\x45\xf2\xd2" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\xb1\xba\x45\xd6\xf2" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\xb1\xba\x45\xda\xf2" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\xb1\xba\x45\xe4\xf2" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\xb1\xba\x45\xf2\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\xb1\xba\x45\xc2\xf2" } , { "\xd1\xe8\xd7\xe8\xb5" , "\xb1\xba\x4d\xc9" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\xb1\xba\x4d\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\xb1\xba\x4d\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\xb1\xba\x56\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xbd" , "\xb1\xba\x5d\xf5" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\xb1\xba\x5d\xf5\xc9" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\xb1\xba\x5d\xf5\xc9\xc6" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\xb1\xba\x5d\xe4\xf5" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\xb1\xba\x5d\xe8\xf5" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\xb1\xba\x5d\xf5\xc9\xe5" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xb1\xba\x5d\xc5\xf5\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\xb1\xba\x62\xf7\xc9" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\xb1\xba\x69\xc9\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\xb1\xba\x6c\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\xb1\xba\x6e\xf9\xc9" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xb1\xba\x75\xf9\xc9" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\xb1\xba\x76\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\xb1\xba\x78\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\xce\xb1\xba\x78\xc9" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\xb1\xba\x78\xc9\xd2" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\xb1\xba\x78\xc9\xd6" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\xb1\xba\x78\xc9\xc2" } , { "\xd1\xe8\xd7\xe8\xc8" , "\xb1\xba\x7b\xc9" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\xb1\xba\x7b\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\xb1\xba\x7b\xc9\xda" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\xb1\xba\x7b\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\xb1\xba\x7b\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\xb1\xba\x7b\xc9\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\xb1\xba\xa1\xf2\xc9" } , { "\xd1\xe8\xd7\xe8\xca" , "\xb1\xba\xa4\xc9" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\xb1\xba\xa4\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\xb1\xba\xa4\xc9\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\xb1\xba\xa4\xc9\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xcc" , "\xb1\xba\xa8\xc9" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\xb1\xba\xa8\xc9\xd2" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\xb1\xba\xa8\xc9\xe0" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\xb1\xba\xb1\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\xb1\xba\xb1\xc9\xd6" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\xb1\xba\xb1\xc9\xc9\xe4" } , { "\xd1\xe8\xd7\xe8\xd4" , "\xb1\xba\xb4\xc9" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\xb1\xba\xb4\xc9\xc9" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\xce\xb1\xba\xb4\xc9" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\xb1\xba\xb4\xc9\xd6" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\xb1\xba\xbd\xfe\xc9" } , { "\xd1\xe8\xd8" , "\xb1\xbd\xfe" } , { "\xd1\xe8\xd8\xda" , "\xb1\xbd\xfe\xc9" } , { "\xd1\xe8\xd8\xda\xa2" , "\xb1\xbd\xfe\xc9\xc6" } , { "\xd1\xe8\xd8\xdb" , "\xce\xb1\xbd\xfe" } , { "\xd1\xe8\xd8\xdc" , "\xb1\xbd\xfe\xd2" } , { "\xd1\xe8\xd8\xdd" , "\xb1\xbd\xd6\xfe" } , { "\xd1\xe8\xd8\xde" , "\xb1\xbd\xda\xfe" } , { "\xd1\xe8\xd8\xe0" , "\xb1\xbd\xe0\xfe" } , { "\xd1\xe8\xd8\xe1" , "\xb1\xbd\xe4\xfe" } , { "\xd1\xe8\xd8\xe1\xa2" , "\xb1\xbd\xe5\xfe" } , { "\xd1\xe8\xd8\xe2" , "\xb1\xbd\xe8\xfe" } , { "\xd1\xe8\xd8\xe5" , "\xb1\xbd\xfe\xc9\xe4" } , { "\xd1\xe8\xd8\xe5\xa2" , "\xb1\xbd\xfe\xc9\xe5" } , { "\xd1\xe8\xd8\xe6" , "\xb1\xbd\xfe\xc9\xe8" } , { "\xd1\xe8\xd9\xa6" , "\xb1\x3c" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\xb1\x56\xc9\xc7" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\xb1\x62\xc7\xf7" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\xb1\xba\xc9\xc7" } , { "\xd1\xe8\xe8" , "\xb1\xc9\xc2" } , { "\xd1\xe9" , "\xb1\xc9" } , { "\xd1\xe9\xe8\xbf" , "\xb1\x62\xf7" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\xcf\xb1\x62\xf7" } , { "\xd2" , "\xb3\xfd" } , { "\xd2\xa2" , "\xb3\xc6\xfd" } , { "\xd2\xa3" , "\xb3\xfd\x26" } , { "\xd2\xd3" , "\xb3\xfd\xb3\xc3\xfd" } , { "\xd2\xd6" , "\xb3\xfd\xb9\xc9" } , { "\xd2\xda" , "\xb3\xfd\xc9" } , { "\xd2\xda\xa2" , "\xb3\xfd\xc9\xc6" } , { "\xd2\xdb" , "\xca\xb3\xfd" } , { "\xd2\xdb\xa2" , "\xcb\xb3\xfd" } , { "\xd2\xdb\xa3" , "\xca\xb3\xfd\x26" } , { "\xd2\xdc" , "\xb3\xfd\xd2" } , { "\xd2\xdd" , "\xb3\xd6\xfd" } , { "\xd2\xdd\xa2" , "\xb3\xd6\xc6\xfd" } , { "\xd2\xde" , "\xb3\xda\xfd" } , { "\xd2\xdf" , "\xb3\xde\xfd" } , { "\xd2\xe0" , "\xb3\xe0\xfd" } , { "\xd2\xe0\xa2" , "\xb3\xe1\xfd" } , { "\xd2\xe1" , "\xb3\xe4\xfd" } , { "\xd2\xe1\xa2" , "\xb3\xe5\xfd" } , { "\xd2\xe2" , "\xb3\xe8\xfd" } , { "\xd2\xe2\xa2" , "\xb3\xe9\xfd" } , { "\xd2\xe4" , "\xb3\xfd\xc9\xe0" } , { "\xd2\xe5" , "\xb3\xfd\xc9\xe4" } , { "\xd2\xe6" , "\xb3\xfd\xc9\xe8" } , { "\xd2\xe8" , "\xb3\xc2\xfd" } , { "\xd2\xe8\xb3" , "\xb2\x45\xf2" } , { "\xd2\xe8\xb3\xdd" , "\xb2\x45\xd6\xf2" } , { "\xd2\xe8\xb4\xdd" , "\xb2\x4a\xc9\xd6" } , { "\xd2\xe8\xb5" , "\xb2\x4d\xc9" } , { "\xd2\xe8\xb5\xdd" , "\xb2\x4d\xc9\xd6" } , { "\xd2\xe8\xb8" , "\xb2\x53\xc9" } , { "\xd2\xe8\xbd\xdb" , "\xce\xb2\x5d\xf5" } , { "\xd2\xe8\xbd\xdc" , "\xb2\x5d\xf5\xd2" } , { "\xd2\xe8\xc2" , "\xb2\x69\xc9" } , { "\xd2\xe8\xc2\xda" , "\xb2\x69\xc9\xc9" } , { "\xd2\xe8\xc2\xda\xa2" , "\xb2\x69\xc9\xc9\xc6" } , { "\xd2\xe8\xc2\xdb\xa2" , "\xcf\xb2\x69\xc9" } , { "\xd2\xe8\xc2\xdd" , "\xb2\x69\xc9\xd6" } , { "\xd2\xe8\xc2\xdd\xa2" , "\xb2\x69\xc9\xd6\xc6" } , { "\xd2\xe8\xc2\xde" , "\xb2\x69\xc9\xda" } , { "\xd2\xe8\xc2\xde\xa2" , "\xb2\x69\xc9\xda\xc6" } , { "\xd2\xe8\xc2\xe0" , "\xb2\x69\xc9\xe0" } , { "\xd2\xe8\xc2\xe1" , "\xb2\x69\xc9\xe4" } , { "\xd2\xe8\xc2\xe5" , "\xb2\x69\xc9\xc9\xe4" } , { "\xd2\xe8\xc2\xe5\xa2" , "\xb2\x69\xc9\xc9\xe5" } , { "\xd2\xe8\xc3\xdd\xa2" , "\xb2\x6c\xc9\xd6\xc6" } , { "\xd2\xe8\xc4" , "\xb2\x6e\xf9" } , { "\xd2\xe8\xc4\xda" , "\xb2\x6e\xf9\xc9" } , { "\xd2\xe8\xc4\xda\xa2" , "\xb2\x6e\xf9\xc9\xc6" } , { "\xd2\xe8\xc4\xdb" , "\xce\xb2\x6e\xf9" } , { "\xd2\xe8\xc4\xdd" , "\xb2\x6e\xd6\xf9" } , { "\xd2\xe8\xc6\xdb" , "\xce\xb2\x78\xc9" } , { "\xd2\xe8\xc6\xdd" , "\xb2\x78\xc9\xd6" } , { "\xd2\xe8\xc8" , "\xb2\x7b\xc9" } , { "\xd2\xe8\xc8\xdd" , "\xb2\x7b\xc9\xd6" } , { "\xd2\xe8\xca" , "\xb2\xa4\xc9" } , { "\xd2\xe8\xcd" , "\xb2\xaa\xc9" } , { "\xd2\xe8\xcd\xa2" , "\xb2\xaa\xc9\xc6" } , { "\xd2\xe8\xcd\xda" , "\xb2\xaa\xc9\xc9" } , { "\xd2\xe8\xcd\xda\xa2" , "\xb2\xaa\xc9\xc9\xc6" } , { "\xd2\xe8\xcd\xdd" , "\xb2\xaa\xc9\xd6" } , { "\xd2\xe8\xcd\xe8\xcd" , "\xb2\xaa\xaa\xc9" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\xb2\xaa\xaa\xc9\xc9" } , { "\xd2\xe8\xcf" , "\xb3\xc5\xfd" } , { "\xd2\xe8\xcf\xda" , "\xb3\xc5\xfd\xc9" } , { "\xd2\xe8\xcf\xdc" , "\xb3\xc5\xfd\xd2" } , { "\xd2\xe8\xcf\xe5" , "\xb3\xc5\xfd\xc9\xe4" } , { "\xd2\xe8\xd1" , "\xb2\xb1\xc9" } , { "\xd2\xe8\xd1\xa2" , "\xb2\xb1\xc9\xc6" } , { "\xd2\xe8\xd1\xda" , "\xb2\xb1\xc9\xc9" } , { "\xd2\xe8\xd1\xda\xa2" , "\xb2\xb1\xc9\xc9\xc6" } , { "\xd2\xe8\xd1\xdb" , "\xce\xb2\xb1\xc9" } , { "\xd2\xe8\xd1\xdb\xa2" , "\xcf\xb2\xb1\xc9" } , { "\xd2\xe8\xd1\xdc" , "\xb2\xb1\xc9\xd2" } , { "\xd2\xe8\xd1\xdd" , "\xb2\xb1\xc9\xd6" } , { "\xd2\xe8\xd1\xdd\xa2" , "\xb2\xb1\xc9\xd6\xc6" } , { "\xd2\xe8\xd1\xde" , "\xb2\xb1\xc9\xda" } , { "\xd2\xe8\xd1\xe0" , "\xb2\xb1\xc9\xe0" } , { "\xd2\xe8\xd1\xe0\xa2" , "\xb2\xb1\xc9\xe1" } , { "\xd2\xe8\xd1\xe1" , "\xb2\xb1\xc9\xe4" } , { "\xd2\xe8\xd1\xe1\xa2" , "\xb2\xb1\xc9\xe5" } , { "\xd2\xe8\xd1\xe2" , "\xb2\xb1\xc9\xe8" } , { "\xd2\xe8\xd1\xe2\xa2" , "\xb2\xb1\xc9\xe9" } , { "\xd2\xe8\xd1\xe4" , "\xb2\xb1\xc9\xc9\xe0" } , { "\xd2\xe8\xd1\xe5" , "\xb2\xb1\xc9\xc9\xe4" } , { "\xd2\xe8\xd1\xe6" , "\xb2\xb1\xc9\xc9\xe8" } , { "\xd2\xe8\xd2" , "\xb2\xb3\xfd" } , { "\xd2\xe8\xd2\xa2" , "\xb2\xb3\xc6\xfd" } , { "\xd2\xe8\xd2\xda" , "\xb2\xb3\xfd\xc9" } , { "\xd2\xe8\xd2\xda\xa2" , "\xb2\xb3\xfd\xc9\xc6" } , { "\xd2\xe8\xd2\xdb" , "\xce\xb2\xb3\xfd" } , { "\xd2\xe8\xd2\xdb\xa2" , "\xcf\xb2\xb3\xfd" } , { "\xd2\xe8\xd2\xdc" , "\xb2\xb3\xfd\xd2" } , { "\xd2\xe8\xd2\xdd" , "\xb2\xb3\xd6\xfd" } , { "\xd2\xe8\xd2\xdd\xa2" , "\xb2\xb3\xd6\xc6\xfd" } , { "\xd2\xe8\xd2\xde" , "\xb2\xb3\xda\xfd" } , { "\xd2\xe8\xd2\xe0" , "\xb2\xb3\xe0\xfd" } , { "\xd2\xe8\xd2\xe0\xa2" , "\xb2\xb3\xe1\xfd" } , { "\xd2\xe8\xd2\xe1" , "\xb2\xb3\xe4\xfd" } , { "\xd2\xe8\xd2\xe1\xa2" , "\xb2\xb3\xe5\xfd" } , { "\xd2\xe8\xd2\xe2" , "\xb2\xb3\xe8\xfd" } , { "\xd2\xe8\xd2\xe2\xa2" , "\xb2\xb3\xe9\xfd" } , { "\xd2\xe8\xd2\xe4" , "\xb2\xb3\xfd\xc9\xe0" } , { "\xd2\xe8\xd2\xe4\xa2" , "\xb2\xb3\xfd\xc9\xe1" } , { "\xd2\xe8\xd2\xe5" , "\xb2\xb3\xfd\xc9\xe4" } , { "\xd2\xe8\xd2\xe5\xa2" , "\xb2\xb3\xfd\xc9\xe5" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\xce\xb2\xb2\x78\xc9" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\xb2\xb2\xb1\xc9\xc9\xe4" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\xb2\xb2\xb3\xfd\xd2" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\xb2\xb2\xb4\xc9\xd6" } , { "\xd2\xe8\xd4" , "\xb2\xb4\xc9" } , { "\xd2\xe8\xd4\xda" , "\xb2\xb4\xc9\xc9" } , { "\xd2\xe8\xd4\xdb" , "\xce\xb2\xb4\xc9" } , { "\xd2\xe8\xd6\xdd" , "\xb2\xb9\xc9\xd6" } , { "\xd2\xe8\xd7\xdb" , "\xce\xb2\xba\xc9" } , { "\xd2\xe8\xd7\xdd" , "\xb2\xba\xc9\xd6" } , { "\xd2\xe8\xe8" , "\xb3\xc2\xfd" } , { "\xd3" , "\xb3\xc3\xfd" } , { "\xd3\xc9" , "\xb3\xc3\xfd\xa1\xf2" } , { "\xd4" , "\xb4\xc9" } , { "\xd4\xa1" , "\xb4\xc9\xc4" } , { "\xd4\xa2" , "\xb4\xc9\xc6" } , { "\xd4\xa3" , "\xb4\xc9\x26" } , { "\xd4\xda" , "\xb4\xc9\xc9" } , { "\xd4\xda\xa1" , "\xb4\xc9\xc9\xc4" } , { "\xd4\xda\xa2" , "\xb4\xc9\xc9\xc6" } , { "\xd4\xda\xa3" , "\xb4\xc9\xc9\x26" } , { "\xd4\xdb" , "\xca\xb4\xc9" } , { "\xd4\xdb\xa2" , "\xcb\xb4\xc9" } , { "\xd4\xdb\xa3" , "\xca\xb4\xc9\x26" } , { "\xd4\xdb\xb3\xdf" , "\xca\xb4\xc9\x45\xde\xf2" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\xca\xb4\xc9\xba\x69\xc9\xde" } , { "\xd4\xdc" , "\xb4\xc9\xd2" } , { "\xd4\xdc\xa2" , "\xb4\xc9\xd3" } , { "\xd4\xdd" , "\xb4\xc9\xd6" } , { "\xd4\xdd\xa1" , "\xb4\xc9\xd6\xc4" } , { "\xd4\xdd\xa2" , "\xb4\xc9\xd6\xc6" } , { "\xd4\xdd\xa2\xa2" , "\xb4\xc9\xd6\xc6\xc6" } , { "\xd4\xdd\xa3" , "\xb4\xc9\xd6\x26" } , { "\xd4\xde" , "\xb4\xc9\xda" } , { "\xd4\xde\xa1" , "\xb4\xc9\xda\xc4" } , { "\xd4\xde\xa2" , "\xb4\xc9\xda\xc6" } , { "\xd4\xdf" , "\xb4\xc9\xde" } , { "\xd4\xdf\xa2" , "\xb4\xc9\xde\xc6" } , { "\xd4\xe0" , "\xb4\xc9\xe0" } , { "\xd4\xe0\xa2" , "\xb4\xc9\xe1" } , { "\xd4\xe1" , "\xb4\xc9\xe4" } , { "\xd4\xe1\xa2" , "\xb4\xc9\xe5" } , { "\xd4\xe1\xa3" , "\xb4\xc9\xe4\x26" } , { "\xd4\xe2" , "\xb4\xc9\xe8" } , { "\xd4\xe2\xa2" , "\xb4\xc9\xe9" } , { "\xd4\xe2\xa3" , "\xb4\xc9\xe8\x26" } , { "\xd4\xe2\xba\xe8" , "\xb4\xc9\xe8\x56\xc9\xc2" } , { "\xd4\xe2\xd7\xe8" , "\xb4\xc9\xe8\xba\xc9\xc2" } , { "\xd4\xe4" , "\xb4\xc9\xc9\xe0" } , { "\xd4\xe4\xa2" , "\xb4\xc9\xc9\xe1" } , { "\xd4\xe5" , "\xb4\xc9\xc9\xe4" } , { "\xd4\xe5\xa2" , "\xb4\xc9\xc9\xe5" } , { "\xd4\xe6" , "\xb4\xc9\xc9\xe8" } , { "\xd4\xe7" , "\xb4\xc9\xc9\xec" } , { "\xd4\xe8" , "\xb4\xc9\xc2" } , { "\xd4\xe8\xa2" , "\xb4\xc9\xc2\xc6" } , { "\xd4\xe8\xb3" , "\xb4\x45\xf2" } , { "\xd4\xe8\xb3\xda" , "\xb4\x45\xf2\xc9" } , { "\xd4\xe8\xb3\xdb" , "\xce\xb4\x45\xf2" } , { "\xd4\xe8\xb3\xdd" , "\xb4\x45\xd6\xf2" } , { "\xd4\xe8\xb3\xde" , "\xb4\x45\xda\xf2" } , { "\xd4\xe8\xb3\xe0" , "\xb4\x45\xe0\xf2" } , { "\xd4\xe8\xb3\xe1" , "\xb4\x45\xe4\xf2" } , { "\xd4\xe8\xb3\xe5" , "\xb4\x45\xf2\xc9\xe4" } , { "\xd4\xe8\xb3\xe8\xb3" , "\xb4\x43\x45\xf2" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\xce\xb4\x43\x45\xf2" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\xb4\x43\x45\xd6\xf2" } , { "\xd4\xe8\xb3\xe8\xc2" , "\xb4\x48\xf2" } , { "\xd4\xe8\xb3\xe8\xcd" , "\xb4\x43\xaa\xc9" } , { "\xd4\xe8\xb3\xe8\xd6" , "\xb4\x49\xc9" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\xb4\x49\xc9\xc9" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\xb4\x49\xc9\xc9\xe5" } , { "\xd4\xe8\xb5\xda" , "\xb4\x4d\xc9\xc9" } , { "\xd4\xe8\xb5\xda\xa2" , "\xb4\x4d\xc9\xc9\xc6" } , { "\xd4\xe8\xb6" , "\xb4\x50\xc9" } , { "\xd4\xe8\xb8" , "\xb4\x53\xc9" } , { "\xd4\xe8\xb8\xda" , "\xb4\x53\xc9\xc9" } , { "\xd4\xe8\xb8\xdb" , "\xce\xb4\x53\xc9" } , { "\xd4\xe8\xb8\xdd" , "\xb4\x53\xc9\xd6" } , { "\xd4\xe8\xb8\xe0" , "\xb4\x53\xc9\xe0" } , { "\xd4\xe8\xb8\xe1" , "\xb4\x53\xc9\xe4" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\xb4\x53\x53\xc9\xc9" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\xb4\x53\x53\xc9\xd6" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\xb4\x53\x53\xc9\xe4" } , { "\xd4\xe8\xba" , "\xb4\x56\xc9" } , { "\xd4\xe8\xba\xdc" , "\xb4\x56\xc9\xd2" } , { "\xd4\xe8\xba\xe9" , "\xb4\x57\xc9" } , { "\xd4\xe8\xbd" , "\xb4\x5d\xf5" } , { "\xd4\xe8\xbd\xa2" , "\xb4\x5d\xc6\xf5" } , { "\xd4\xe8\xbd\xda" , "\xb4\x5d\xf5\xc9" } , { "\xd4\xe8\xbd\xe0" , "\xb4\x5d\xe0\xf5" } , { "\xd4\xe8\xbd\xe2" , "\xb4\x5d\xe8\xf5" } , { "\xd4\xe8\xbd\xe8" , "\xb4\x5d\xc2\xf5" } , { "\xd4\xe8\xbd\xe8\xd1" , "\xb4\x5d\xc2\xf5\xb1\xc9" } , { "\xd4\xe8\xbf" , "\xb4\x62\xf7" } , { "\xd4\xe8\xbf\xa2" , "\xb4\x62\xc6\xf7" } , { "\xd4\xe8\xbf\xda" , "\xb4\x62\xf7\xc9" } , { "\xd4\xe8\xbf\xdb" , "\xce\xb4\x62\xf7" } , { "\xd4\xe8\xbf\xdd" , "\xb4\x62\xd6\xf7" } , { "\xd4\xe8\xbf\xe0" , "\xb4\x62\xe0\xf7" } , { "\xd4\xe8\xc2" , "\xb4\x69\xc9" } , { "\xd4\xe8\xc2\xda" , "\xb4\x69\xc9\xc9" } , { "\xd4\xe8\xc2\xda\xa2" , "\xb4\x69\xc9\xc9\xc6" } , { "\xd4\xe8\xc2\xdb" , "\xce\xb4\x69\xc9" } , { "\xd4\xe8\xc2\xdc" , "\xb4\x69\xc9\xd2" } , { "\xd4\xe8\xc2\xdd\xa2" , "\xb4\x69\xc9\xd6\xc6" } , { "\xd4\xe8\xc2\xe5" , "\xb4\x69\xc9\xc9\xe4" } , { "\xd4\xe8\xc2\xe8\xc2" , "\xb4\x6b\xc9" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\xb4\x6b\xc9\xc9" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\xb4\x6b\xc9\xc9\xc6" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\xce\xb4\x6b\xc9" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\xb4\x6b\xc9\xc9\xe5" } , { "\xd4\xe8\xc2\xe8\xcd" , "\xb4\x69\xaa\xc9" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\xb4\x69\xaa\xc9\xc9" } , { "\xd4\xe8\xc2\xe8\xd7" , "\xb4\x69\xba\xc9" } , { "\xd4\xe8\xc3\xe0" , "\xb4\x6c\xc9\xe0" } , { "\xd4\xe8\xc4" , "\xb4\x6e\xf9" } , { "\xd4\xe8\xc4\xda" , "\xb4\x6e\xf9\xc9" } , { "\xd4\xe8\xc4\xdb" , "\xce\xb4\x6e\xf9" } , { "\xd4\xe8\xc4\xdc" , "\xb4\x6e\xf9\xd2" } , { "\xd4\xe8\xc4\xe5\xa2" , "\xb4\x6e\xf9\xc9\xe5" } , { "\xd4\xe8\xc4\xe8\xc5" , "\xb4\x72\xf9" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\xb4\x72\xf9\xc9" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\xce\xb4\x72\xf9" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\xb4\x72\xf9\xc9\xe5" } , { "\xd4\xe8\xc4\xe8\xd4" , "\xb4\x75\xf9" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\xce\xb4\x75\xf9" } , { "\xd4\xe8\xc5" , "\xb4\x76\xc9" } , { "\xd4\xe8\xc5\xda" , "\xb4\x76\xc9\xc9" } , { "\xd4\xe8\xc5\xdb" , "\xce\xb4\x76\xc9" } , { "\xd4\xe8\xc6" , "\xb4\x78\xc9" } , { "\xd4\xe8\xc6\xa2" , "\xb4\x78\xc9\xc6" } , { "\xd4\xe8\xc6\xda" , "\xb4\x78\xc9\xc9" } , { "\xd4\xe8\xc6\xdb" , "\xce\xb4\x78\xc9" } , { "\xd4\xe8\xc6\xdc" , "\xb4\x78\xc9\xd2" } , { "\xd4\xe8\xc6\xdd" , "\xb4\x78\xc9\xd6" } , { "\xd4\xe8\xc6\xdd\xa2" , "\xb4\x78\xc9\xd6\xc6" } , { "\xd4\xe8\xc6\xde" , "\xb4\x78\xc9\xda" } , { "\xd4\xe8\xc6\xe0" , "\xb4\x78\xc9\xe0" } , { "\xd4\xe8\xc6\xe1" , "\xb4\x78\xc9\xe4" } , { "\xd4\xe8\xc6\xe4" , "\xb4\x78\xc9\xc9\xe0" } , { "\xd4\xe8\xc6\xe5" , "\xb4\x78\xc9\xc9\xe4" } , { "\xd4\xe8\xc6\xe8\xc4" , "\xb4\x78\x6e\xf9" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\xb4\x78\x6e\xf9\xc9" } , { "\xd4\xe8\xc8" , "\xb4\x7b\xc9" } , { "\xd4\xe8\xc8\xda" , "\xb4\x7b\xc9\xc9" } , { "\xd4\xe8\xc8\xdb" , "\xce\xb4\x7b\xc9" } , { "\xd4\xe8\xc8\xdd" , "\xb4\x7b\xc9\xd6" } , { "\xd4\xe8\xc8\xe2" , "\xb4\x7b\xc9\xe8" } , { "\xd4\xe8\xc8\xe8\xcf" , "\xb4\x7c\xc9" } , { "\xd4\xe8\xc9" , "\xb4\xa1\xf2" } , { "\xd4\xe8\xca" , "\xb4\xa4\xc9" } , { "\xd4\xe8\xca\xdd" , "\xb4\xa4\xc9\xd6" } , { "\xd4\xe8\xca\xe5" , "\xb4\xa4\xc9\xc9\xe4" } , { "\xd4\xe8\xcb" , "\xb4\xa6\xc9" } , { "\xd4\xe8\xcb\xda" , "\xb4\xa6\xc9\xc9" } , { "\xd4\xe8\xcc\xdb" , "\xce\xb4\xa8\xc9" } , { "\xd4\xe8\xcc\xdc" , "\xb4\xa8\xc9\xd2" } , { "\xd4\xe8\xcc\xe0" , "\xb4\xa8\xc9\xe0" } , { "\xd4\xe8\xcc\xe0\xa2" , "\xb4\xa8\xc9\xe1" } , { "\xd4\xe8\xcc\xe1" , "\xb4\xa8\xc9\xe4" } , { "\xd4\xe8\xcd" , "\xb4\xaa\xc9" } , { "\xd4\xe8\xcd\xa2" , "\xb4\xaa\xc9\xc6" } , { "\xd4\xe8\xcd\xa3" , "\xb4\xaa\xc9\x26" } , { "\xd4\xe8\xcd\xda" , "\xb4\xaa\xc9\xc9" } , { "\xd4\xe8\xcd\xda\xa1" , "\xb4\xaa\xc9\xc9\xc4" } , { "\xd4\xe8\xcd\xda\xa2" , "\xb4\xaa\xc9\xc9\xc6" } , { "\xd4\xe8\xcd\xdc" , "\xb4\xaa\xc9\xd2" } , { "\xd4\xe8\xcd\xdd" , "\xb4\xaa\xc9\xd6" } , { "\xd4\xe8\xcd\xdd\xa2" , "\xb4\xaa\xc9\xd6\xc6" } , { "\xd4\xe8\xcd\xde" , "\xb4\xaa\xc9\xda" } , { "\xd4\xe8\xcd\xe1" , "\xb4\xaa\xc9\xe4" } , { "\xd4\xe8\xcd\xe2" , "\xb4\xaa\xc9\xe8" } , { "\xd4\xe8\xcd\xe4" , "\xb4\xaa\xc9\xc9\xe0" } , { "\xd4\xe8\xcd\xe5" , "\xb4\xaa\xc9\xc9\xe4" } , { "\xd4\xe8\xcd\xe5\xa2" , "\xb4\xaa\xc9\xc9\xe5" } , { "\xd4\xe8\xcd\xe6" , "\xb4\xaa\xc9\xc9\xe8" } , { "\xd4\xe8\xcd\xe6\xa2" , "\xb4\xaa\xc9\xc9\xe9" } , { "\xd4\xe8\xcd\xe8\xb3" , "\xb4\xaa\x45\xf2" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\xce\xb4\xaa\x45\xf2" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\xb4\xaa\x48\xf2" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\xce\xb4\xaa\x48\xf2" } , { "\xd4\xe8\xcd\xe8\xcd" , "\xb4\xaa\xaa\xc9" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\xb4\xaa\xaa\xc9\xc6" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\xb4\xaa\xaa\xc9\xc9" } , { "\xd4\xe8\xcf" , "\xb5\xc9" } , { "\xd4\xe8\xcf\xa2" , "\xb5\xc9\xc6" } , { "\xd4\xe8\xcf\xda" , "\xb5\xc9\xc9" } , { "\xd4\xe8\xcf\xdb" , "\xca\xb5\xc9" } , { "\xd4\xe8\xcf\xdc" , "\xb5\xc9\xd2" } , { "\xd4\xe8\xcf\xdd" , "\xb5\xc9\xd6" } , { "\xd4\xe8\xcf\xe0\xa2" , "\xb5\xc9\xe1" } , { "\xd4\xe8\xcf\xe1" , "\xb5\xc9\xe4" } , { "\xd4\xe8\xcf\xe2" , "\xb5\xc9\xe8" } , { "\xd4\xe8\xcf\xe5" , "\xb5\xc9\xc9\xe4" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\xb5\x68\xc9\xc9" } , { "\xd4\xe8\xcf\xe8\xc2" , "\xb5\x69\xc9" } , { "\xd4\xe8\xcf\xe8\xcd" , "\xb5\xaa\xc9" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\xb5\xaa\xc9\xc9" } , { "\xd4\xe8\xd1" , "\xb4\xb1\xc9" } , { "\xd4\xe8\xd1\xda" , "\xb4\xb1\xc9\xc9" } , { "\xd4\xe8\xd1\xda\xa2" , "\xb4\xb1\xc9\xc9\xc6" } , { "\xd4\xe8\xd1\xdb" , "\xce\xb4\xb1\xc9" } , { "\xd4\xe8\xd1\xdc" , "\xb4\xb1\xc9\xd2" } , { "\xd4\xe8\xd1\xdd" , "\xb4\xb1\xc9\xd6" } , { "\xd4\xe8\xd1\xde" , "\xb4\xb1\xc9\xda" } , { "\xd4\xe8\xd1\xe0" , "\xb4\xb1\xc9\xe0" } , { "\xd4\xe8\xd1\xe1" , "\xb4\xb1\xc9\xe4" } , { "\xd4\xe8\xd1\xe5" , "\xb4\xb1\xc9\xc9\xe4" } , { "\xd4\xe8\xd1\xe8\xd1" , "\xb4\xb1\xb1\xc9" } , { "\xd4\xe8\xd2\xda" , "\xb4\xb3\xfd\xc9" } , { "\xd4\xe8\xd2\xe8\xd1" , "\xb4\xb2\xb1\xc9" } , { "\xd4\xe8\xd4" , "\xb4\xb4\xc9" } , { "\xd4\xe8\xd4\xa2" , "\xb4\xb4\xc9\xc6" } , { "\xd4\xe8\xd4\xda" , "\xb4\xb4\xc9\xc9" } , { "\xd4\xe8\xd4\xdb" , "\xce\xb4\xb4\xc9" } , { "\xd4\xe8\xd4\xdb\xa2" , "\xcf\xb4\xb4\xc9" } , { "\xd4\xe8\xd4\xdc" , "\xb4\xb4\xc9\xd2" } , { "\xd4\xe8\xd4\xdc\xa2" , "\xb4\xb4\xc9\xd3" } , { "\xd4\xe8\xd4\xdd" , "\xb4\xb4\xc9\xd6" } , { "\xd4\xe8\xd4\xdd\xa2" , "\xb4\xb4\xc9\xd6\xc6" } , { "\xd4\xe8\xd4\xde" , "\xb4\xb4\xc9\xda" } , { "\xd4\xe8\xd4\xde\xa2" , "\xb4\xb4\xc9\xda\xc6" } , { "\xd4\xe8\xd4\xe0" , "\xb4\xb4\xc9\xe0" } , { "\xd4\xe8\xd4\xe0\xa2" , "\xb4\xb4\xc9\xe1" } , { "\xd4\xe8\xd4\xe1" , "\xb4\xb4\xc9\xe4" } , { "\xd4\xe8\xd4\xe1\xa2" , "\xb4\xb4\xc9\xe5" } , { "\xd4\xe8\xd4\xe2" , "\xb4\xb4\xc9\xe8" } , { "\xd4\xe8\xd4\xe4" , "\xb4\xb4\xc9\xc9\xe0" } , { "\xd4\xe8\xd4\xe4\xa2" , "\xb4\xb4\xc9\xc9\xe1" } , { "\xd4\xe8\xd4\xe5" , "\xb4\xb4\xc9\xc9\xe4" } , { "\xd4\xe8\xd4\xe8" , "\xb4\xb4\xc9\xc2" } , { "\xd4\xe8\xd4\xe8\xcd" , "\xb4\xb4\xaa\xc9" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\xce\xb4\xb6\x53\xc9" } , { "\xd4\xe8\xd5\xe8\xcd" , "\xb4\xb6\xaa\xc9" } , { "\xd4\xe8\xd6" , "\xb4\xb9\xc9" } , { "\xd4\xe8\xd6\xda" , "\xb4\xb9\xc9\xc9" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\xce\xb4\xb9\x5d\xf5" } , { "\xd4\xe8\xd7" , "\xb4\xba\xc9" } , { "\xd4\xe8\xd7\xda" , "\xb4\xba\xc9\xc9" } , { "\xd4\xe8\xd7\xda\xa2" , "\xb4\xba\xc9\xc9\xc6" } , { "\xd4\xe8\xd7\xdb" , "\xce\xb4\xba\xc9" } , { "\xd4\xe8\xd7\xdc" , "\xb4\xba\xc9\xd2" } , { "\xd4\xe8\xd7\xde" , "\xb4\xba\xc9\xda" } , { "\xd4\xe8\xd7\xe0" , "\xb4\xba\xc9\xe0" } , { "\xd4\xe8\xd7\xe2" , "\xb4\xba\xc9\xe8" } , { "\xd4\xe8\xd7\xe6" , "\xb4\xba\xc9\xc9\xe8" } , { "\xd4\xe8\xd7\xe8" , "\xb4\xba\xc9\xc2" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\xb4\xba\x45\xf2\xc9" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\xb4\xba\x45\xf2\xd2" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\xb4\xba\x45\xf2\xc9\xe0" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\xb4\xba\x45\xc2\xf2" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\xb4\xba\x4d\xc9\xc9" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\xb4\xba\x5d\xf5\xc9" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\xb4\xba\x69\xc9\xc9" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\xb4\xba\x69\xc9\xd6\xc6" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\xb4\xba\x69\xc9\xe4" } , { "\xd4\xe8\xd7\xe8\xc3" , "\xb4\xba\x6c\xc9" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\xb4\xba\x6c\xc9\xc9" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\xce\xb4\xba\x78\xc9" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\xb4\xba\x78\xc9\xd6" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\xce\xb4\xba\x7b\xc9" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\xb4\xba\x7b\xc9\xe8" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\xb4\xba\xa8\xc9\xde" } , { "\xd4\xe8\xd8" , "\xb4\xbd\xfe" } , { "\xd4\xe8\xd8\xda" , "\xb4\xbd\xfe\xc9" } , { "\xd4\xe8\xd8\xda\xa2" , "\xb4\xbd\xfe\xc9\xc6" } , { "\xd4\xe8\xd8\xdb" , "\xce\xb4\xbd\xfe" } , { "\xd4\xe8\xd8\xdc" , "\xb4\xbd\xfe\xd2" } , { "\xd4\xe8\xd8\xe1" , "\xb4\xbd\xe4\xfe" } , { "\xd4\xe8\xd8\xe2" , "\xb4\xbd\xe8\xfe" } , { "\xd4\xe8\xd9\xcd" , "\xb4\xaa\xc9" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\xb4\xaa\xc9\xc7" } , { "\xd4\xe8\xe8" , "\xb4\xc9\xc2" } , { "\xd4\xe8\xe9\xcf" , "\xb4\xae\xfa" } , { "\xd4\xe9" , "\xb4\xc9" } , { "\xd5" , "\xb6\xc9" } , { "\xd5\xa1" , "\xb6\xc9\xc4" } , { "\xd5\xa2" , "\xb6\xc9\xc6" } , { "\xd5\xa2\xa3" , "\xb6\xc9\xc6\x26" } , { "\xd5\xa3" , "\xb6\xc9\x26" } , { "\xd5\xda" , "\xb6\xc9\xc9" } , { "\xd5\xda\xa1" , "\xb6\xc9\xc9\xc4" } , { "\xd5\xda\xa2" , "\xb6\xc9\xc9\xc6" } , { "\xd5\xda\xa3" , "\xb6\xc9\xc9\x26" } , { "\xd5\xdb" , "\xca\xb6\xc9" } , { "\xd5\xdb\xa2" , "\xcb\xb6\xc9" } , { "\xd5\xdc" , "\xb6\xc9\xd2" } , { "\xd5\xdc\xa2" , "\xb6\xc9\xd3" } , { "\xd5\xdc\xa3" , "\xb6\xc9\xd2\x26" } , { "\xd5\xdd" , "\xb6\xc9\xd6" } , { "\xd5\xdd\xa2" , "\xb6\xc9\xd6\xc6" } , { "\xd5\xdd\xa3" , "\xb6\xc9\xd6\x26" } , { "\xd5\xdd\xd0\xdd" , "\xb6\xc9\xd6\xae\xd6\xfa\xc3" } , { "\xd5\xde" , "\xb6\xc9\xda" } , { "\xd5\xde\xa2" , "\xb6\xc9\xda\xc6" } , { "\xd5\xdf" , "\xb6\xc9\xde" } , { "\xd5\xdf\xa2" , "\xb6\xc9\xde\xc6" } , { "\xd5\xe0" , "\xb6\xc9\xe0" } , { "\xd5\xe0\xa2" , "\xb6\xc9\xe1" } , { "\xd5\xe1" , "\xb6\xc9\xe4" } , { "\xd5\xe1\xa2" , "\xb6\xc9\xe5" } , { "\xd5\xe2" , "\xb6\xc9\xe8" } , { "\xd5\xe2\xa2" , "\xb6\xc9\xe9" } , { "\xd5\xe4" , "\xb6\xc9\xc9\xe0" } , { "\xd5\xe4\xa2" , "\xb6\xc9\xc9\xe1" } , { "\xd5\xe5" , "\xb6\xc9\xc9\xe4" } , { "\xd5\xe5\xa2" , "\xb6\xc9\xc9\xe5" } , { "\xd5\xe6" , "\xb6\xc9\xc9\xe8" } , { "\xd5\xe6\xa2" , "\xb6\xc9\xc9\xe9" } , { "\xd5\xe7" , "\xb6\xc9\xc9\xec" } , { "\xd5\xe8" , "\xb6\xc9\xc2" } , { "\xd5\xe8\xa2" , "\xb6\xc9\xc2\xc6" } , { "\xd5\xe8\xb3" , "\xb6\x45\xf2" } , { "\xd5\xe8\xb3\xda" , "\xb6\x45\xf2\xc9" } , { "\xd5\xe8\xb3\xdb" , "\xce\xb6\x45\xf2" } , { "\xd5\xe8\xb3\xdc" , "\xb6\x45\xf2\xd2" } , { "\xd5\xe8\xb3\xdd" , "\xb6\x45\xd6\xf2" } , { "\xd5\xe8\xb3\xde" , "\xb6\x45\xda\xf2" } , { "\xd5\xe8\xb3\xe1" , "\xb6\x45\xe4\xf2" } , { "\xd5\xe8\xb3\xe1\xa2" , "\xb6\x45\xe5\xf2" } , { "\xd5\xe8\xb3\xe5\xa2" , "\xb6\x45\xf2\xc9\xe5" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\xce\xb6\x48\xf2" } , { "\xd5\xe8\xb3\xe8\xd6" , "\xb6\x49\xc9" } , { "\xd5\xe8\xb3\xe9" , "\xb6\x46\xf2" } , { "\xd5\xe8\xb4\xa2" , "\xb6\x4a\xc9\xc6" } , { "\xd5\xe8\xb4\xda" , "\xb6\x4a\xc9\xc9" } , { "\xd5\xe8\xb5\xda" , "\xb6\x4d\xc9\xc9" } , { "\xd5\xe8\xb5\xdd\xa2" , "\xb6\x4d\xc9\xd6\xc6" } , { "\xd5\xe8\xb6\xda" , "\xb6\x50\xc9\xc9" } , { "\xd5\xe8\xb8" , "\xb6\x53\xc9" } , { "\xd5\xe8\xb8\xa2" , "\xb6\x53\xc9\xc6" } , { "\xd5\xe8\xb8\xda" , "\xb6\x53\xc9\xc9" } , { "\xd5\xe8\xb8\xda\xa2" , "\xb6\x53\xc9\xc9\xc6" } , { "\xd5\xe8\xb8\xdb" , "\xce\xb6\x53\xc9" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xcf\xb6\x53\xc9" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xcf\xb6\x53\xc9\xc6" } , { "\xd5\xe8\xb8\xdd" , "\xb6\x53\xc9\xd6" } , { "\xd5\xe8\xb8\xe1" , "\xb6\x53\xc9\xe4" } , { "\xd5\xe8\xb8\xe2" , "\xb6\x53\xc9\xe8" } , { "\xd5\xe8\xb8\xe5" , "\xb6\x53\xc9\xc9\xe4" } , { "\xd5\xe8\xb8\xe8\xb9" , "\xb6\x53\x55\xf4" } , { "\xd5\xe8\xb8\xe8\xcd" , "\xb6\x53\xaa\xc9" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\xb6\x53\xaa\xc9\xc9" } , { "\xd5\xe8\xb9" , "\xb6\x55\xf4" } , { "\xd5\xe8\xb9\xda" , "\xb6\x55\xf4\xc9" } , { "\xd5\xe8\xb9\xdb" , "\xce\xb6\x55\xf4" } , { "\xd5\xe8\xb9\xe1" , "\xb6\x55\xe4\xf4" } , { "\xd5\xe8\xbd" , "\xb6\x5d\xf5" } , { "\xd5\xe8\xbd\xa2" , "\xb6\x5d\xc6\xf5" } , { "\xd5\xe8\xbd\xdb" , "\xce\xb6\x5d\xf5" } , { "\xd5\xe8\xbd\xe5" , "\xb6\x5d\xf5\xc9\xe4" } , { "\xd5\xe8\xbd\xe8\xcd" , "\xb6\x5d\xf5\xac" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\xb6\x5d\xf5\xac\xc9" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\xb6\x5d\xf5\xac\xda" } , { "\xd5\xe8\xbd\xe8\xcf" , "\xb6\x5d\xc5\xf5" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\xb6\x5d\xc5\xe4\xf5" } , { "\xd5\xe8\xbf\xe9\xa1" , "\xb6\x63\xc4\xf7" } , { "\xd5\xe8\xc2" , "\xb6\x69\xc9" } , { "\xd5\xe8\xc2\xda" , "\xb6\x69\xc9\xc9" } , { "\xd5\xe8\xc2\xdb" , "\xce\xb6\x69\xc9" } , { "\xd5\xe8\xc2\xdc" , "\xb6\x69\xc9\xd2" } , { "\xd5\xe8\xc2\xde" , "\xb6\x69\xc9\xda" } , { "\xd5\xe8\xc2\xe1" , "\xb6\x69\xc9\xe4" } , { "\xd5\xe8\xc2\xe1\xa2" , "\xb6\x69\xc9\xe5" } , { "\xd5\xe8\xc2\xe2" , "\xb6\x69\xc9\xe8" } , { "\xd5\xe8\xc2\xe5" , "\xb6\x69\xc9\xc9\xe4" } , { "\xd5\xe8\xc2\xe5\xa2" , "\xb6\x69\xc9\xc9\xe5" } , { "\xd5\xe8\xc3" , "\xb6\x6c\xc9" } , { "\xd5\xe8\xc3\xda" , "\xb6\x6c\xc9\xc9" } , { "\xd5\xe8\xc5" , "\xb6\x76\xc9" } , { "\xd5\xe8\xc5\xda" , "\xb6\x76\xc9\xc9" } , { "\xd5\xe8\xc6" , "\xb6\x78\xc9" } , { "\xd5\xe8\xc6\xa2" , "\xb6\x78\xc9\xc6" } , { "\xd5\xe8\xc6\xda" , "\xb6\x78\xc9\xc9" } , { "\xd5\xe8\xc6\xda\xa2" , "\xb6\x78\xc9\xc9\xc6" } , { "\xd5\xe8\xc6\xdb" , "\xce\xb6\x78\xc9" } , { "\xd5\xe8\xc6\xdb\xa2" , "\xcf\xb6\x78\xc9" } , { "\xd5\xe8\xc6\xdd" , "\xb6\x78\xc9\xd6" } , { "\xd5\xe8\xc6\xe0" , "\xb6\x78\xc9\xe0" } , { "\xd5\xe8\xc6\xe1" , "\xb6\x78\xc9\xe4" } , { "\xd5\xe8\xc6\xe5" , "\xb6\x78\xc9\xc9\xe4" } , { "\xd5\xe8\xc6\xe5\xa2" , "\xb6\x78\xc9\xc9\xe5" } , { "\xd5\xe8\xc6\xe8" , "\xb6\x78\xc9\xc2" } , { "\xd5\xe8\xc7" , "\xb6\x78\xc9\xc3" } , { "\xd5\xe8\xc8" , "\xb6\x7b\xc9" } , { "\xd5\xe8\xc8\xda" , "\xb6\x7b\xc9\xc9" } , { "\xd5\xe8\xc8\xdd" , "\xb6\x7b\xc9\xd6" } , { "\xd5\xe8\xc8\xde" , "\xb6\x7b\xc9\xda" } , { "\xd5\xe8\xc9" , "\xb6\xa1\xf2" } , { "\xd5\xe8\xc9\xdd" , "\xb6\xa1\xd6\xf2" } , { "\xd5\xe8\xca" , "\xb6\xa4\xc9" } , { "\xd5\xe8\xcb" , "\xb6\xa6\xc9" } , { "\xd5\xe8\xcc" , "\xb6\xa8\xc9" } , { "\xd5\xe8\xcc\xa2" , "\xb6\xa8\xc9\xc6" } , { "\xd5\xe8\xcc\xda" , "\xb6\xa8\xc9\xc9" } , { "\xd5\xe8\xcc\xdb" , "\xce\xb6\xa8\xc9" } , { "\xd5\xe8\xcc\xdb\xa2" , "\xcf\xb6\xa8\xc9" } , { "\xd5\xe8\xcc\xdc" , "\xb6\xa8\xc9\xd2" } , { "\xd5\xe8\xcc\xdd" , "\xb6\xa8\xc9\xd6" } , { "\xd5\xe8\xcc\xdf" , "\xb6\xa8\xc9\xde" } , { "\xd5\xe8\xcc\xe1" , "\xb6\xa8\xc9\xe4" } , { "\xd5\xe8\xcc\xe1\xa2" , "\xb6\xa8\xc9\xe5" } , { "\xd5\xe8\xcc\xe5\xa2" , "\xb6\xa8\xc9\xc9\xe5" } , { "\xd5\xe8\xcd" , "\xb6\xaa\xc9" } , { "\xd5\xe8\xcd\xa2" , "\xb6\xaa\xc9\xc6" } , { "\xd5\xe8\xcd\xda" , "\xb6\xaa\xc9\xc9" } , { "\xd5\xe8\xcd\xda\xa2" , "\xb6\xaa\xc9\xc9\xc6" } , { "\xd5\xe8\xcd\xdb" , "\xce\xb6\xaa\xc9" } , { "\xd5\xe8\xcd\xdc" , "\xb6\xaa\xc9\xd2" } , { "\xd5\xe8\xcd\xdd" , "\xb6\xaa\xc9\xd6" } , { "\xd5\xe8\xcd\xdd\xa2" , "\xb6\xaa\xc9\xd6\xc6" } , { "\xd5\xe8\xcd\xde" , "\xb6\xaa\xc9\xda" } , { "\xd5\xe8\xcd\xe1" , "\xb6\xaa\xc9\xe4" } , { "\xd5\xe8\xcd\xe5" , "\xb6\xaa\xc9\xc9\xe4" } , { "\xd5\xe8\xcd\xe5\xa2" , "\xb6\xaa\xc9\xc9\xe5" } , { "\xd5\xe8\xcd\xe6" , "\xb6\xaa\xc9\xc9\xe8" } , { "\xd5\xe8\xcd\xe8" , "\xb6\xaa\xc9\xc2" } , { "\xd5\xe8\xcd\xe8\xb8" , "\xb6\xaa\x53\xc9" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\xb6\xaa\xaa\xc9\xc9" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\xb6\xaa\xb6\xaa\xc9" } , { "\xd5\xe8\xcf" , "\xb8\xc9" } , { "\xd5\xe8\xcf\xa2" , "\xb8\xc9\xc6" } , { "\xd5\xe8\xcf\xda" , "\xb8\xc9\xc9" } , { "\xd5\xe8\xcf\xda\xa2" , "\xb8\xc9\xc9\xc6" } , { "\xd5\xe8\xcf\xdb" , "\xca\xb8\xc9" } , { "\xd5\xe8\xcf\xdb\xa2" , "\xcb\xb8\xc9" } , { "\xd5\xe8\xcf\xdc" , "\xb8\xc9\xd2" } , { "\xd5\xe8\xcf\xdc\xa2" , "\xb8\xc9\xd3" } , { "\xd5\xe8\xcf\xdd" , "\xb8\xc9\xd6" } , { "\xd5\xe8\xcf\xde" , "\xb8\xc9\xda" } , { "\xd5\xe8\xcf\xdf" , "\xb8\xc9\xde" } , { "\xd5\xe8\xcf\xdf\xa2" , "\xb8\xc9\xde\xc6" } , { "\xd5\xe8\xcf\xe1" , "\xb8\xc9\xe4" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xb8\xc9\xe5" } , { "\xd5\xe8\xcf\xe2" , "\xb8\xc9\xe8" } , { "\xd5\xe8\xcf\xe5" , "\xb8\xc9\xc9\xe4" } , { "\xd5\xe8\xcf\xe6" , "\xb8\xc9\xc9\xe8" } , { "\xd5\xe8\xcf\xe7" , "\xb8\xc9\xc9\xec" } , { "\xd5\xe8\xcf\xe8\xa2" , "\xb8\xc9\xc2\xc6" } , { "\xd5\xe8\xcf\xe8\xcc" , "\xb8\xa8\xc9" } , { "\xd5\xe8\xcf\xe8\xd4" , "\xb8\xb4\xc9" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\xb8\xb4\xc9\xc9" } , { "\xd5\xe8\xcf\xe8\xd5" , "\xb8\xb6\xc9" } , { "\xd5\xe8\xd1" , "\xb6\xb1\xc9" } , { "\xd5\xe8\xd1\xda" , "\xb6\xb1\xc9\xc9" } , { "\xd5\xe8\xd1\xda\xa2" , "\xb6\xb1\xc9\xc9\xc6" } , { "\xd5\xe8\xd1\xdb" , "\xce\xb6\xb1\xc9" } , { "\xd5\xe8\xd1\xdc" , "\xb6\xb1\xc9\xd2" } , { "\xd5\xe8\xd1\xdd" , "\xb6\xb1\xc9\xd6" } , { "\xd5\xe8\xd1\xe0" , "\xb6\xb1\xc9\xe0" } , { "\xd5\xe8\xd1\xe1" , "\xb6\xb1\xc9\xe4" } , { "\xd5\xe8\xd1\xe2" , "\xb6\xb1\xc9\xe8" } , { "\xd5\xe8\xd1\xe5" , "\xb6\xb1\xc9\xc9\xe4" } , { "\xd5\xe8\xd1\xe5\xa2" , "\xb6\xb1\xc9\xc9\xe5" } , { "\xd5\xe8\xd2" , "\xb6\xb3\xfd" } , { "\xd5\xe8\xd2\xe1" , "\xb6\xb3\xe4\xfd" } , { "\xd5\xe8\xd4" , "\xb7\xc9" } , { "\xd5\xe8\xd4\xa2" , "\xb7\xc9\xc6" } , { "\xd5\xe8\xd4\xda" , "\xb7\xc9\xc9" } , { "\xd5\xe8\xd4\xda\xa2" , "\xb7\xc9\xc9\xc6" } , { "\xd5\xe8\xd4\xdb" , "\xca\xb7\xc9" } , { "\xd5\xe8\xd4\xdc" , "\xb7\xc9\xd2" } , { "\xd5\xe8\xd4\xdd" , "\xb7\xc9\xd6" } , { "\xd5\xe8\xd4\xe1" , "\xb7\xc9\xe4" } , { "\xd5\xe8\xd4\xe2" , "\xb7\xc9\xe8" } , { "\xd5\xe8\xd4\xe5" , "\xb7\xc9\xc9\xe4" } , { "\xd5\xe8\xd4\xe5\xa2" , "\xb7\xc9\xc9\xe5" } , { "\xd5\xe8\xd5" , "\xb6\xb6\xc9" } , { "\xd5\xe8\xd5\xa2" , "\xb6\xb6\xc9\xc6" } , { "\xd5\xe8\xd5\xda" , "\xb6\xb6\xc9\xc9" } , { "\xd5\xe8\xd5\xda\xa2" , "\xb6\xb6\xc9\xc9\xc6" } , { "\xd5\xe8\xd5\xdb" , "\xce\xb6\xb6\xc9" } , { "\xd5\xe8\xd5\xdc" , "\xb6\xb6\xc9\xd2" } , { "\xd5\xe8\xd5\xdd" , "\xb6\xb6\xc9\xd6" } , { "\xd5\xe8\xd5\xde" , "\xb6\xb6\xc9\xda" } , { "\xd5\xe8\xd5\xdf\xa2" , "\xb6\xb6\xc9\xde\xc6" } , { "\xd5\xe8\xd5\xe1" , "\xb6\xb6\xc9\xe4" } , { "\xd5\xe8\xd5\xe2" , "\xb6\xb6\xc9\xe8" } , { "\xd5\xe8\xd5\xe5" , "\xb6\xb6\xc9\xc9\xe4" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\xb6\xb8\xc9\xd2" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\xb6\xb8\xc9\xd6" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\xb6\xb8\xc9\xe4" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\xb6\xb7\xc9\xc9" } , { "\xd5\xe8\xd6\xe1" , "\xb6\xb9\xc9\xe4" } , { "\xd5\xe8\xd6\xe8\xbe" , "\xb6\xb9\x60\xf6" } , { "\xd5\xe8\xd7" , "\xb6\xba\xc9" } , { "\xd5\xe8\xd7\xe8\xc2" , "\xb6\xba\x69\xc9" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\xce\xb6\xba\x69\xc9" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\xb6\xba\x6a\xc9\xc6" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\xb6\xba\x6a\xc9\xc9" } , { "\xd5\xe8\xd8\xdc" , "\xb6\xbd\xfe\xd2" } , { "\xd5\xe8\xd9" , "\xb6" } , { "\xd5\xe8\xd9\xa6" , "\xb6\x3c" } , { "\xd5\xe8\xd9\xb3" , "\xb6\x45\xf2" } , { "\xd5\xe8\xd9\xb8" , "\xb6\x53\xc9" } , { "\xd5\xe8\xd9\xb8\xda" , "\xb6\x53\xc9\xc9" } , { "\xd5\xe8\xd9\xb8\xdb" , "\xb6\xca\x53\xc9" } , { "\xd5\xe8\xd9\xc2" , "\xb6\x69\xc9" } , { "\xd5\xe8\xd9\xc2\xdc" , "\xb6\x69\xc9\xd2" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\xb6\x69\xc9\xc9\xe5" } , { "\xd5\xe8\xd9\xc6" , "\xb6\x78\xc9" } , { "\xd5\xe8\xd9\xc6\xe5" , "\xb6\x78\xc9\xc9\xe4" } , { "\xd5\xe8\xd9\xcc" , "\xb6\xa8\xc9" } , { "\xd5\xe8\xd9\xcc\xdc" , "\xb6\xa8\xc9\xd2" } , { "\xd5\xe8\xd9\xcd" , "\xb6\xaa\xc9" } , { "\xd5\xe8\xd9\xcd\xa2" , "\xb6\xaa\xc9\xc6" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\xb6\xb4\xc9\xc7" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\xb6\xb4\xc9\xc9\xe6" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\xb6\xb4\xc9\xc9\xe7" } , { "\xd5\xe8\xd9\xd1\xe1" , "\xb6\xb1\xc9\xe4" } , { "\xd5\xe8\xd9\xd1\xe2" , "\xb6\xb1\xc9\xe8" } , { "\xd5\xe8\xd9\xd4" , "\xb6\xb4\xc9" } , { "\xd5\xe8\xd9\xd4\xda" , "\xb6\xb4\xc9\xc9" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\xb6\xb4\xc9\xc9\xc6" } , { "\xd5\xe8\xd9\xd4\xdb" , "\xb6\xca\xb4\xc9" } , { "\xd5\xe8\xd9\xd4\xdc" , "\xb6\xb4\xc9\xd2" } , { "\xd5\xe8\xd9\xd4\xe1" , "\xb6\xb4\xc9\xe4" } , { "\xd5\xe8\xd9\xd4\xe2" , "\xb6\xb4\xc9\xe8" } , { "\xd5\xe8\xe8" , "\xb6\xc9\xc2" } , { "\xd5\xe8\xe9\xcf" , "\xb6\xae\xfa" } , { "\xd5\xe8\xe9\xd4" , "\xb6\xb4\xc9" } , { "\xd5\xe9" , "\xb6\xc9" } , { "\xd6" , "\xb9\xc9" } , { "\xd6\xa1" , "\xb9\xc9\xc4" } , { "\xd6\xa2" , "\xb9\xc9\xc6" } , { "\xd6\xa3" , "\xb9\xc9\x26" } , { "\xd6\xd6" , "\xb9\xc9\xb9\xc9" } , { "\xd6\xda" , "\xb9\xc9\xc9" } , { "\xd6\xda\xa2" , "\xb9\xc9\xc9\xc6" } , { "\xd6\xda\xa3" , "\xb9\xc9\xc9\x26" } , { "\xd6\xdb" , "\xca\xb9\xc9" } , { "\xd6\xdb\xa2" , "\xcb\xb9\xc9" } , { "\xd6\xdb\xa3" , "\xca\xb9\xc9\x26" } , { "\xd6\xdb\xcc\xe8" , "\xca\xb9\xc9\xa8\xc9\xc2" } , { "\xd6\xdc" , "\xb9\xc9\xd2" } , { "\xd6\xdc\xa2" , "\xb9\xc9\xd3" } , { "\xd6\xdc\xa3" , "\xb9\xc9\xd2\x26" } , { "\xd6\xdd" , "\xb9\xc9\xd6" } , { "\xd6\xdd\xa2" , "\xb9\xc9\xd6\xc6" } , { "\xd6\xde" , "\xb9\xc9\xda" } , { "\xd6\xdf" , "\xb9\xc9\xde" } , { "\xd6\xe0" , "\xb9\xc9\xe0" } , { "\xd6\xe0\xa2" , "\xb9\xc9\xe1" } , { "\xd6\xe1" , "\xb9\xc9\xe4" } , { "\xd6\xe1\xa2" , "\xb9\xc9\xe5" } , { "\xd6\xe2" , "\xb9\xc9\xe8" } , { "\xd6\xe3" , "\xb9\xc9\xec" } , { "\xd6\xe4" , "\xb9\xc9\xc9\xe0" } , { "\xd6\xe5" , "\xb9\xc9\xc9\xe4" } , { "\xd6\xe5\xa2" , "\xb9\xc9\xc9\xe5" } , { "\xd6\xe6" , "\xb9\xc9\xc9\xe8" } , { "\xd6\xe8" , "\xb9\xc9\xc2" } , { "\xd6\xe8\xb3" , "\xb9\x45\xf2" } , { "\xd6\xe8\xb3\xa2" , "\xb9\x45\xc6\xf2" } , { "\xd6\xe8\xb3\xda" , "\xb9\x45\xf2\xc9" } , { "\xd6\xe8\xb3\xda\xa2" , "\xb9\x45\xf2\xc9\xc6" } , { "\xd6\xe8\xb3\xdb" , "\xce\xb9\x45\xf2" } , { "\xd6\xe8\xb3\xdb\xa2" , "\xcf\xb9\x45\xf2" } , { "\xd6\xe8\xb3\xdc" , "\xb9\x45\xf2\xd2" } , { "\xd6\xe8\xb3\xdd" , "\xb9\x45\xd6\xf2" } , { "\xd6\xe8\xb3\xde" , "\xb9\x45\xda\xf2" } , { "\xd6\xe8\xb3\xdf" , "\xb9\x45\xde\xf2" } , { "\xd6\xe8\xb3\xe0\xa2" , "\xb9\x45\xe1\xf2" } , { "\xd6\xe8\xb3\xe5" , "\xb9\x45\xf2\xc9\xe4" } , { "\xd6\xe8\xb3\xe5\xa2" , "\xb9\x45\xf2\xc9\xe5" } , { "\xd6\xe8\xb3\xe8" , "\xb9\x45\xc2\xf2" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xb9\x48\xf2" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\xb9\x43\xaa\xc9\xda" } , { "\xd6\xe8\xb3\xe8\xcf" , "\xb9\x47\xf2" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\xb9\x47\xf2\xc9" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\xce\xb9\x47\xf2" } , { "\xd6\xe8\xb3\xe8\xd6" , "\xb9\x49\xc9" } , { "\xd6\xe8\xb4\xda" , "\xb9\x4a\xc9\xc9" } , { "\xd6\xe8\xb5\xda" , "\xb9\x4d\xc9\xc9" } , { "\xd6\xe8\xb5\xdd" , "\xb9\x4d\xc9\xd6" } , { "\xd6\xe8\xb8" , "\xb9\x53\xc9" } , { "\xd6\xe8\xb8\xa2" , "\xb9\x53\xc9\xc6" } , { "\xd6\xe8\xb8\xda" , "\xb9\x53\xc9\xc9" } , { "\xd6\xe8\xb8\xdb" , "\xce\xb9\x53\xc9" } , { "\xd6\xe8\xb8\xdb\xa2" , "\xcf\xb9\x53\xc9" } , { "\xd6\xe8\xb8\xe1" , "\xb9\x53\xc9\xe4" } , { "\xd6\xe8\xb8\xe8" , "\xb9\x53\xc9\xc2" } , { "\xd6\xe8\xba" , "\xb9\x56\xc9" } , { "\xd6\xe8\xba\xda" , "\xb9\x56\xc9\xc9" } , { "\xd6\xe8\xba\xe5" , "\xb9\x56\xc9\xc9\xe4" } , { "\xd6\xe8\xbd" , "\xb9\x5d\xf5" } , { "\xd6\xe8\xbd\xa2" , "\xb9\x5d\xc6\xf5" } , { "\xd6\xe8\xbd\xa3" , "\xb9\x5d\xf5\x26" } , { "\xd6\xe8\xbd\xda" , "\xb9\x5d\xf5\xc9" } , { "\xd6\xe8\xbd\xda\xa1" , "\xb9\x5d\xf5\xc9\xc4" } , { "\xd6\xe8\xbd\xda\xa2" , "\xb9\x5d\xf5\xc9\xc6" } , { "\xd6\xe8\xbd\xdb" , "\xce\xb9\x5d\xf5" } , { "\xd6\xe8\xbd\xdb\xa2" , "\xcf\xb9\x5d\xf5" } , { "\xd6\xe8\xbd\xdb\xa3" , "\xce\xb9\x5d\xf5\x26" } , { "\xd6\xe8\xbd\xdc" , "\xb9\x5d\xf5\xd2" } , { "\xd6\xe8\xbd\xdd" , "\xb9\x5d\xd6\xf5" } , { "\xd6\xe8\xbd\xdd\xa2" , "\xb9\x5d\xd6\xc6\xf5" } , { "\xd6\xe8\xbd\xde" , "\xb9\x5d\xda\xf5" } , { "\xd6\xe8\xbd\xdf" , "\xb9\x5d\xde\xf5" } , { "\xd6\xe8\xbd\xe0" , "\xb9\x5d\xe0\xf5" } , { "\xd6\xe8\xbd\xe1" , "\xb9\x5d\xe4\xf5" } , { "\xd6\xe8\xbd\xe2" , "\xb9\x5d\xe8\xf5" } , { "\xd6\xe8\xbd\xe5" , "\xb9\x5d\xf5\xc9\xe4" } , { "\xd6\xe8\xbd\xe5\xa2" , "\xb9\x5d\xf5\xc9\xe5" } , { "\xd6\xe8\xbd\xe6" , "\xb9\x5d\xf5\xc9\xe8" } , { "\xd6\xe8\xbd\xe8" , "\xb9\x5d\xc2\xf5" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\xb9\x5d\xc2\xf5\x45\xf2\xc9\xe9" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\xb9\x5d\xc2\xf5\x68\xc9\xc9\xe4" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\xb9\x5d\xc2\xf5\x6e\xf9\xc9\xe4" } , { "\xd6\xe8\xbd\xe8\xc8" , "\xb9\x5d\xc2\xf5\x7b\xc9" } , { "\xd6\xe8\xbd\xe8\xcd" , "\xb9\x5d\xf5\xac" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\xb9\x5d\xf5\xac\xc6" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\xb9\x5d\xf5\xac\xc9" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\xb9\x5d\xf5\xac\xc9\xc6" } , { "\xd6\xe8\xbd\xe8\xcf" , "\xb9\x5d\xc5\xf5" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\xb9\x5d\xc5\xc6\xf5" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\xb9\x5d\xc5\xf5\xc9" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\xb9\x5d\xc5\xf5\xc9\xc6" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\xce\xb9\x5d\xc5\xf5" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\xb9\x5d\xc5\xf5\xd2" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\xb9\x5d\xd8\xf5" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\xb9\x5d\xc5\xe4\xf5" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\xb9\x5d\xc5\xf5\xc9\xe4" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\xb9\x5d\xc5\xf5\xc9\xe5" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\xb9\x5d\xc5\xf5\xac\xc9\x26" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\xb9\x5d\xc2\xf5\xae\xc2\xfa\xb1\xc9\xc9\xe4" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xb9\x5d\xc2\xf5\xb1\xc9\xc9" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\xb9\x5d\xc2\xf5\xb4\xc9\xc9" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\xb9\x5d\xc2\xf5\xb4\xc9\xe8" } , { "\xd6\xe8\xbe" , "\xb9\x60\xf6" } , { "\xd6\xe8\xbe\xa2" , "\xb9\x60\xc6\xf6" } , { "\xd6\xe8\xbe\xa3" , "\xb9\x60\xf6\x26" } , { "\xd6\xe8\xbe\xda" , "\xb9\x60\xf6\xc9" } , { "\xd6\xe8\xbe\xda\xa2" , "\xb9\x60\xf6\xc9\xc6" } , { "\xd6\xe8\xbe\xda\xa3" , "\xb9\x60\xf6\xc9\x26" } , { "\xd6\xe8\xbe\xdb" , "\xce\xb9\x60\xf6" } , { "\xd6\xe8\xbe\xdb\xa2" , "\xcf\xb9\x60\xf6" } , { "\xd6\xe8\xbe\xdc" , "\xb9\x60\xf6\xd2" } , { "\xd6\xe8\xbe\xdd" , "\xb9\x60\xd6\xf6" } , { "\xd6\xe8\xbe\xde" , "\xb9\x60\xda\xf6" } , { "\xd6\xe8\xbe\xe1" , "\xb9\x60\xe4\xf6" } , { "\xd6\xe8\xbe\xe5" , "\xb9\x60\xf6\xc9\xe4" } , { "\xd6\xe8\xbe\xe5\xa2" , "\xb9\x60\xf6\xc9\xe5" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\xb9\x60\xc2\xf6\x69\xc9\xda" } , { "\xd6\xe8\xbe\xe8\xcd" , "\xb9\x60\xf6\xac" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\xb9\x60\xf6\xac\xc6" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\xb9\x60\xf6\xac\xc9" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\xb9\x60\xf6\xac\xd2" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\xb9\x60\xf6\xac\xe4" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\xb9\x60\xc5\xf6\xd2" } , { "\xd6\xe8\xbf\xdb\xa3" , "\xce\xb9\x62\xf7\x26" } , { "\xd6\xe8\xbf\xe8" , "\xb9\x62\xc2\xf7" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\xb9\x62\xf7\xac\xda" } , { "\xd6\xe8\xc1" , "\xb9\x68\xc9" } , { "\xd6\xe8\xc1\xa1" , "\xb9\x68\xc9\xc4" } , { "\xd6\xe8\xc1\xa2" , "\xb9\x68\xc9\xc6" } , { "\xd6\xe8\xc1\xda" , "\xb9\x68\xc9\xc9" } , { "\xd6\xe8\xc1\xda\xa2" , "\xb9\x68\xc9\xc9\xc6" } , { "\xd6\xe8\xc1\xdb" , "\xce\xb9\x68\xc9" } , { "\xd6\xe8\xc1\xdc" , "\xb9\x68\xc9\xd2" } , { "\xd6\xe8\xc1\xdd" , "\xb9\x68\xc9\xd6" } , { "\xd6\xe8\xc1\xdd\xa2" , "\xb9\x68\xc9\xd6\xc6" } , { "\xd6\xe8\xc1\xdd\xa3" , "\xb9\x68\xc9\xd6\x26" } , { "\xd6\xe8\xc1\xde" , "\xb9\x68\xc9\xda" } , { "\xd6\xe8\xc1\xe1" , "\xb9\x68\xc9\xe4" } , { "\xd6\xe8\xc1\xe4" , "\xb9\x68\xc9\xc9\xe0" } , { "\xd6\xe8\xc1\xe5" , "\xb9\x68\xc9\xc9\xe4" } , { "\xd6\xe8\xc1\xe5\xa2" , "\xb9\x68\xc9\xc9\xe5" } , { "\xd6\xe8\xc1\xe5\xa3" , "\xb9\x68\xc9\xc9\xe4\x26" } , { "\xd6\xe8\xc1\xe8\xcd" , "\xb9\x68\xaa\xc9" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\xb9\x68\xaa\xc9\xc9" } , { "\xd6\xe8\xc1\xe8\xd4" , "\xb9\x68\xb4\xc9" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\xb9\x68\xb4\xc9\xc6" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\xb9\x68\xb4\xc9\xc9" } , { "\xd6\xe8\xc2" , "\xb9\x69\xc9" } , { "\xd6\xe8\xc2\xda" , "\xb9\x69\xc9\xc9" } , { "\xd6\xe8\xc2\xdb" , "\xce\xb9\x69\xc9" } , { "\xd6\xe8\xc2\xdc" , "\xb9\x69\xc9\xd2" } , { "\xd6\xe8\xc2\xe5" , "\xb9\x69\xc9\xc9\xe4" } , { "\xd6\xe8\xc2\xe8\xcf" , "\xb9\x6a\xc9" } , { "\xd6\xe8\xc4" , "\xb9\x6e\xf9" } , { "\xd6\xe8\xc4\xe1" , "\xb9\x6e\xe4\xf9" } , { "\xd6\xe8\xc6" , "\xb9\x78\xc9" } , { "\xd6\xe8\xc6\xda" , "\xb9\x78\xc9\xc9" } , { "\xd6\xe8\xc6\xdb" , "\xce\xb9\x78\xc9" } , { "\xd6\xe8\xc6\xdd" , "\xb9\x78\xc9\xd6" } , { "\xd6\xe8\xc6\xdd\xa2" , "\xb9\x78\xc9\xd6\xc6" } , { "\xd6\xe8\xc6\xde" , "\xb9\x78\xc9\xda" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\xb9\x7a\xc9\xd6" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\xb9\x78\xba\xc9\xc2" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\xb9\x78\xba\xb1\xb1\xc9\xc9\xe4" } , { "\xd6\xe8\xc8" , "\xb9\x7b\xc9" } , { "\xd6\xe8\xc8\xa2" , "\xb9\x7b\xc9\xc6" } , { "\xd6\xe8\xc8\xda" , "\xb9\x7b\xc9\xc9" } , { "\xd6\xe8\xc8\xda\xa2" , "\xb9\x7b\xc9\xc9\xc6" } , { "\xd6\xe8\xc8\xdb" , "\xce\xb9\x7b\xc9" } , { "\xd6\xe8\xc8\xdb\xa2" , "\xcf\xb9\x7b\xc9" } , { "\xd6\xe8\xc8\xdc" , "\xb9\x7b\xc9\xd2" } , { "\xd6\xe8\xc8\xdd" , "\xb9\x7b\xc9\xd6" } , { "\xd6\xe8\xc8\xe1" , "\xb9\x7b\xc9\xe4" } , { "\xd6\xe8\xc8\xe2" , "\xb9\x7b\xc9\xe8" } , { "\xd6\xe8\xc8\xe2\xa3" , "\xb9\x7b\xc9\xe8\x26" } , { "\xd6\xe8\xc8\xe5" , "\xb9\x7b\xc9\xc9\xe4" } , { "\xd6\xe8\xc8\xe5\xa2" , "\xb9\x7b\xc9\xc9\xe5" } , { "\xd6\xe8\xc8\xe6" , "\xb9\x7b\xc9\xc9\xe8" } , { "\xd6\xe8\xc8\xe8\xcf" , "\xb9\x7c\xc9" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\xb9\x7c\xc9\xc9" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\xb9\x7c\xc9\xe4" } , { "\xd6\xe8\xc9" , "\xb9\xa1\xf2" } , { "\xd6\xe8\xca" , "\xb9\xa4\xc9" } , { "\xd6\xe8\xca\xda" , "\xb9\xa4\xc9\xc9" } , { "\xd6\xe8\xca\xe1" , "\xb9\xa4\xc9\xe4" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\xb9\xa5\xc9\xda" } , { "\xd6\xe8\xcb\xda" , "\xb9\xa6\xc9\xc9" } , { "\xd6\xe8\xcc" , "\xb9\xa8\xc9" } , { "\xd6\xe8\xcc\xa2" , "\xb9\xa8\xc9\xc6" } , { "\xd6\xe8\xcc\xda" , "\xb9\xa8\xc9\xc9" } , { "\xd6\xe8\xcc\xda\xa2" , "\xb9\xa8\xc9\xc9\xc6" } , { "\xd6\xe8\xcc\xdb" , "\xce\xb9\xa8\xc9" } , { "\xd6\xe8\xcc\xdb\xa2" , "\xcf\xb9\xa8\xc9" } , { "\xd6\xe8\xcc\xdc" , "\xb9\xa8\xc9\xd2" } , { "\xd6\xe8\xcc\xdd" , "\xb9\xa8\xc9\xd6" } , { "\xd6\xe8\xcc\xdd\xa2" , "\xb9\xa8\xc9\xd6\xc6" } , { "\xd6\xe8\xcc\xe0\xa2" , "\xb9\xa8\xc9\xe1" } , { "\xd6\xe8\xcc\xe1" , "\xb9\xa8\xc9\xe4" } , { "\xd6\xe8\xcc\xe4" , "\xb9\xa8\xc9\xc9\xe0" } , { "\xd6\xe8\xcc\xe5" , "\xb9\xa8\xc9\xc9\xe4" } , { "\xd6\xe8\xcc\xe5\xa2" , "\xb9\xa8\xc9\xc9\xe5" } , { "\xd6\xe8\xcd" , "\xb9\xaa\xc9" } , { "\xd6\xe8\xcd\xa2" , "\xb9\xaa\xc9\xc6" } , { "\xd6\xe8\xcd\xa3" , "\xb9\xaa\xc9\x26" } , { "\xd6\xe8\xcd\xda" , "\xb9\xaa\xc9\xc9" } , { "\xd6\xe8\xcd\xdb" , "\xce\xb9\xaa\xc9" } , { "\xd6\xe8\xcd\xdd" , "\xb9\xaa\xc9\xd6" } , { "\xd6\xe8\xcd\xdd\xa2" , "\xb9\xaa\xc9\xd6\xc6" } , { "\xd6\xe8\xcd\xde" , "\xb9\xaa\xc9\xda" } , { "\xd6\xe8\xcd\xe1" , "\xb9\xaa\xc9\xe4" } , { "\xd6\xe8\xcd\xe5" , "\xb9\xaa\xc9\xc9\xe4" } , { "\xd6\xe8\xcd\xe5\xa2" , "\xb9\xaa\xc9\xc9\xe5" } , { "\xd6\xe8\xcd\xe8" , "\xb9\xaa\xc9\xc2" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\xb9\xaa\x5d\xf5\xc9" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\xb9\xaa\xaa\xc9\xc9" } , { "\xd6\xe8\xcd\xe8\xcf" , "\xb9\xab\xc9" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\xb9\xab\xc9\xc9" } , { "\xd6\xe8\xcf" , "\xb9\xc9\xc5" } , { "\xd6\xe8\xcf\xa2" , "\xb9\xc9\xc5\xc6" } , { "\xd6\xe8\xcf\xda" , "\xb9\xc9\xc5\xc9" } , { "\xd6\xe8\xcf\xdc" , "\xb9\xc9\xc5\xd2" } , { "\xd6\xe8\xcf\xdd" , "\xb9\xc9\xd8" } , { "\xd6\xe8\xcf\xde" , "\xb9\xc9\xdc" } , { "\xd6\xe8\xcf\xdf" , "\xb9\xc9\xc5\xde" } , { "\xd6\xe8\xcf\xe0" , "\xb9\xc9\xc5\xe0" } , { "\xd6\xe8\xcf\xe2" , "\xb9\xc9\xc5\xe8" } , { "\xd6\xe8\xcf\xe5" , "\xb9\xc9\xc5\xc9\xe4" } , { "\xd6\xe8\xcf\xe8" , "\xb9\xc9\xc5\xc2" } , { "\xd6\xe8\xcf\xe8\xb3" , "\xb9\xae\xc2\xfa\x45\xf2" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\xb9\xae\xc2\xfa\xaa\xc9\xc9" } , { "\xd6\xe8\xd1" , "\xb9\xb1\xc9" } , { "\xd6\xe8\xd1\xda" , "\xb9\xb1\xc9\xc9" } , { "\xd6\xe8\xd1\xda\xa2" , "\xb9\xb1\xc9\xc9\xc6" } , { "\xd6\xe8\xd1\xdc" , "\xb9\xb1\xc9\xd2" } , { "\xd6\xe8\xd1\xdd" , "\xb9\xb1\xc9\xd6" } , { "\xd6\xe8\xd1\xde" , "\xb9\xb1\xc9\xda" } , { "\xd6\xe8\xd1\xe0" , "\xb9\xb1\xc9\xe0" } , { "\xd6\xe8\xd1\xe1" , "\xb9\xb1\xc9\xe4" } , { "\xd6\xe8\xd1\xe2" , "\xb9\xb1\xc9\xe8" } , { "\xd6\xe8\xd1\xe5" , "\xb9\xb1\xc9\xc9\xe4" } , { "\xd6\xe8\xd4" , "\xb9\xb4\xc9" } , { "\xd6\xe8\xd4\xa2" , "\xb9\xb4\xc9\xc6" } , { "\xd6\xe8\xd4\xda" , "\xb9\xb4\xc9\xc9" } , { "\xd6\xe8\xd4\xdb" , "\xce\xb9\xb4\xc9" } , { "\xd6\xe8\xd4\xdc" , "\xb9\xb4\xc9\xd2" } , { "\xd6\xe8\xd4\xdd" , "\xb9\xb4\xc9\xd6" } , { "\xd6\xe8\xd4\xe2" , "\xb9\xb4\xc9\xe8" } , { "\xd6\xe8\xd5" , "\xb9\xb6\xc9" } , { "\xd6\xe8\xd5\xda" , "\xb9\xb6\xc9\xc9" } , { "\xd6\xe8\xd6" , "\xb9\xb9\xc9" } , { "\xd6\xe8\xd6\xda" , "\xb9\xb9\xc9\xc9" } , { "\xd6\xe8\xd6\xdb" , "\xce\xb9\xb9\xc9" } , { "\xd6\xe8\xd6\xdd" , "\xb9\xb9\xc9\xd6" } , { "\xd6\xe8\xd6\xde" , "\xb9\xb9\xc9\xda" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\xb9\xb9\x68\xc9\xd6" } , { "\xd6\xe8\xd7\xe2" , "\xb9\xba\xc9\xe8" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\xb9\xaa\xc9\xc9\xc7" } , { "\xd6\xe8\xe8" , "\xb9\xc9\xc2" } , { "\xd7" , "\xba\xc9" } , { "\xd7\xa1" , "\xba\xc9\xc4" } , { "\xd7\xa2" , "\xba\xc9\xc6" } , { "\xd7\xa3" , "\xba\xc9\x26" } , { "\xd7\xd0" , "\xba\xc9\xae\xfa\xc3" } , { "\xd7\xd0\xd1" , "\xba\xc9\xae\xfa\xc3\xb1\xc9" } , { "\xd7\xda" , "\xba\xc9\xc9" } , { "\xd7\xda\xa1" , "\xba\xc9\xc9\xc4" } , { "\xd7\xda\xa2" , "\xba\xc9\xc9\xc6" } , { "\xd7\xda\xa3" , "\xba\xc9\xc9\x26" } , { "\xd7\xdb" , "\xca\xba\xc9" } , { "\xd7\xdb\xa2" , "\xcb\xba\xc9" } , { "\xd7\xdb\xa2\xa2" , "\xcb\xba\xc9\xc6" } , { "\xd7\xdb\xa2\xa3" , "\xcb\xba\xc9\x26" } , { "\xd7\xdb\xbd\xe8" , "\xca\xba\xc9\x5d\xc2\xf5" } , { "\xd7\xdc" , "\xba\xc9\xd2" } , { "\xd7\xdc\xa2" , "\xba\xc9\xd3" } , { "\xd7\xdd" , "\xba\xc9\xd6" } , { "\xd7\xdd\xa1" , "\xba\xc9\xd6\xc4" } , { "\xd7\xdd\xa2" , "\xba\xc9\xd6\xc6" } , { "\xd7\xdd\xa3" , "\xba\xc9\xd6\x26" } , { "\xd7\xde" , "\xba\xc9\xda" } , { "\xd7\xde\xa1" , "\xba\xc9\xda\xc4" } , { "\xd7\xde\xa2" , "\xba\xc9\xda\xc6" } , { "\xd7\xdf" , "\xba\xc9\xde" } , { "\xd7\xdf\xa2" , "\xba\xc9\xde\xc6" } , { "\xd7\xe0" , "\xba\xc9\xe0" } , { "\xd7\xe0\xa2" , "\xba\xc9\xe1" } , { "\xd7\xe1" , "\xba\xc9\xe4" } , { "\xd7\xe1\xa2" , "\xba\xc9\xe5" } , { "\xd7\xe2" , "\xba\xc9\xe8" } , { "\xd7\xe2\xa2" , "\xba\xc9\xe9" } , { "\xd7\xe3" , "\xba\xc9\xec" } , { "\xd7\xe4" , "\xba\xc9\xc9\xe0" } , { "\xd7\xe4\xa2" , "\xba\xc9\xc9\xe1" } , { "\xd7\xe5" , "\xba\xc9\xc9\xe4" } , { "\xd7\xe5\xa2" , "\xba\xc9\xc9\xe5" } , { "\xd7\xe6" , "\xba\xc9\xc9\xe8" } , { "\xd7\xe6\xa2" , "\xba\xc9\xc9\xe9" } , { "\xd7\xe6\xc2\xe8" , "\xba\xc9\xc9\xe8\x69\xc9\xc2" } , { "\xd7\xe7" , "\xba\xc9\xc9\xec" } , { "\xd7\xe7\xa2" , "\xba\xc9\xc9\xed" } , { "\xd7\xe8" , "\xba\xc9\xc2" } , { "\xd7\xe8\xb3" , "\xba\x45\xf2" } , { "\xd7\xe8\xb3\xa2" , "\xba\x45\xc6\xf2" } , { "\xd7\xe8\xb3\xda" , "\xba\x45\xf2\xc9" } , { "\xd7\xe8\xb3\xda\xa1" , "\xba\x45\xf2\xc9\xc4" } , { "\xd7\xe8\xb3\xda\xa2" , "\xba\x45\xf2\xc9\xc6" } , { "\xd7\xe8\xb3\xdb" , "\xce\xba\x45\xf2" } , { "\xd7\xe8\xb3\xdc" , "\xba\x45\xf2\xd2" } , { "\xd7\xe8\xb3\xdc\xa2" , "\xba\x45\xf2\xd3" } , { "\xd7\xe8\xb3\xdd" , "\xba\x45\xd6\xf2" } , { "\xd7\xe8\xb3\xde" , "\xba\x45\xda\xf2" } , { "\xd7\xe8\xb3\xdf" , "\xba\x45\xde\xf2" } , { "\xd7\xe8\xb3\xe0" , "\xba\x45\xe0\xf2" } , { "\xd7\xe8\xb3\xe1" , "\xba\x45\xe4\xf2" } , { "\xd7\xe8\xb3\xe1\xa2" , "\xba\x45\xe5\xf2" } , { "\xd7\xe8\xb3\xe2" , "\xba\x45\xe8\xf2" } , { "\xd7\xe8\xb3\xe2\xa2" , "\xba\x45\xe9\xf2" } , { "\xd7\xe8\xb3\xe4" , "\xba\x45\xf2\xc9\xe0" } , { "\xd7\xe8\xb3\xe5" , "\xba\x45\xf2\xc9\xe4" } , { "\xd7\xe8\xb3\xe5\xa2" , "\xba\x45\xf2\xc9\xe5" } , { "\xd7\xe8\xb3\xe6" , "\xba\x45\xf2\xc9\xe8" } , { "\xd7\xe8\xb3\xe6\xa2" , "\xba\x45\xf2\xc9\xe9" } , { "\xd7\xe8\xb3\xe7" , "\xba\x45\xf2\xc9\xec" } , { "\xd7\xe8\xb3\xe8" , "\xba\x45\xc2\xf2" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\xce\xba\x43\x45\xf2" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\xba\x43\x45\xd6\xf2" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\xba\x43\x53\xc9\xe4" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\xba\x43\x5d\xc2\xf5\x45\xf2\xd2" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\xba\x43\x5d\xc2\xf5\x78\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xba\x48\xf2" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xce\xba\x48\xf2" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xba\x48\xd6\xf2" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\xce\xba\x43\x78\xc9" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\xba\x43\x78\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\xba\x43\x7b\xc9\xc9" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\xce\xba\x43\xa8\xc9" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\xba\x43\xaa\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\xba\x43\xaa\xc9\xda" } , { "\xd7\xe8\xb3\xe8\xcf" , "\xba\x47\xf2" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\xba\x47\xf2\xc9" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\xce\xba\x47\xf2" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\xba\x47\xf2\xd2" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\xba\x47\xf2\xd3" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\xba\x47\xd6\xf2" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\xba\x47\xda\xf2" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\xba\x47\xe4\xf2" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\xba\x47\xe8\xf2" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\xba\x47\xf2\xc9\xe4" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\xba\x47\xf2\xc9\xe9" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xce\xba\x43\xb1\xc9" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\xba\x43\xb1\xc9\xd2" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\xba\x43\xb1\xc9\xd6" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\xba\x43\xb1\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xba\x43\xb1\xc9\xe4" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xba\x43\xb1\xc9\xc9\xe4" } , { "\xd7\xe8\xb3\xe8\xd4" , "\xba\x43\xb4\xc9" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\xba\x43\xb4\xc9\xc9" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\xce\xba\x43\xb4\xc9" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\xba\x43\xb4\xc9\xd2" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\xba\x43\xb4\xc9\xe0" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\xba\x43\xb4\xc9\xe4" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\xba\x43\xb4\xc9\xe8" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\xba\x43\xb4\xc9\xc9\xec" } , { "\xd7\xe8\xb3\xe8\xd5" , "\xba\x43\xb6\xc9" } , { "\xd7\xe8\xb3\xe8\xd7" , "\xba\x43\xba\xc9" } , { "\xd7\xe8\xb3\xe9" , "\xba\x46\xf2" } , { "\xd7\xe8\xb4" , "\xba\x4a\xc9" } , { "\xd7\xe8\xb4\xa2" , "\xba\x4a\xc9\xc6" } , { "\xd7\xe8\xb4\xda" , "\xba\x4a\xc9\xc9" } , { "\xd7\xe8\xb4\xdb" , "\xce\xba\x4a\xc9" } , { "\xd7\xe8\xb4\xdc" , "\xba\x4a\xc9\xd2" } , { "\xd7\xe8\xb4\xe1" , "\xba\x4a\xc9\xe4" } , { "\xd7\xe8\xb4\xe5\xa2" , "\xba\x4a\xc9\xc9\xe5" } , { "\xd7\xe8\xb4\xe8\xcd" , "\xba\x4a\xaa\xc9" } , { "\xd7\xe8\xb4\xe9\xe1" , "\xba\x4b\xc9\xe4" } , { "\xd7\xe8\xb5" , "\xba\x4d\xc9" } , { "\xd7\xe8\xb5\xda" , "\xba\x4d\xc9\xc9" } , { "\xd7\xe8\xb5\xdd" , "\xba\x4d\xc9\xd6" } , { "\xd7\xe8\xb5\xde" , "\xba\x4d\xc9\xda" } , { "\xd7\xe8\xb5\xe5" , "\xba\x4d\xc9\xc9\xe4" } , { "\xd7\xe8\xb5\xe6" , "\xba\x4d\xc9\xc9\xe8" } , { "\xd7\xe8\xb5\xe8" , "\xba\x4d\xc9\xc2" } , { "\xd7\xe8\xb8" , "\xba\x53\xc9" } , { "\xd7\xe8\xb8\xa2" , "\xba\x53\xc9\xc6" } , { "\xd7\xe8\xb8\xda" , "\xba\x53\xc9\xc9" } , { "\xd7\xe8\xb8\xdb" , "\xce\xba\x53\xc9" } , { "\xd7\xe8\xb8\xdd" , "\xba\x53\xc9\xd6" } , { "\xd7\xe8\xb8\xde" , "\xba\x53\xc9\xda" } , { "\xd7\xe8\xb8\xdf" , "\xba\x53\xc9\xde" } , { "\xd7\xe8\xb8\xe0" , "\xba\x53\xc9\xe0" } , { "\xd7\xe8\xb8\xe1" , "\xba\x53\xc9\xe4" } , { "\xd7\xe8\xb8\xe5" , "\xba\x53\xc9\xc9\xe4" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\xba\x54\xc9\xd2" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\xba\x54\xc9\xe0" } , { "\xd7\xe8\xb9\xda" , "\xba\x55\xf4\xc9" } , { "\xd7\xe8\xba" , "\xba\x56\xc9" } , { "\xd7\xe8\xba\xda" , "\xba\x56\xc9\xc9" } , { "\xd7\xe8\xba\xdb" , "\xce\xba\x56\xc9" } , { "\xd7\xe8\xba\xdc" , "\xba\x56\xc9\xd2" } , { "\xd7\xe8\xba\xe1" , "\xba\x56\xc9\xe4" } , { "\xd7\xe8\xba\xe8\xbc" , "\xba\x59\xc9" } , { "\xd7\xe8\xba\xe9\xdb" , "\xce\xba\x57\xc9" } , { "\xd7\xe8\xbd" , "\xba\x5d\xf5" } , { "\xd7\xe8\xbd\xa2" , "\xba\x5d\xc6\xf5" } , { "\xd7\xe8\xbd\xda" , "\xba\x5d\xf5\xc9" } , { "\xd7\xe8\xbd\xda\xa1" , "\xba\x5d\xf5\xc9\xc4" } , { "\xd7\xe8\xbd\xda\xa2" , "\xba\x5d\xf5\xc9\xc6" } , { "\xd7\xe8\xbd\xdb" , "\xce\xba\x5d\xf5" } , { "\xd7\xe8\xbd\xdb\xa2" , "\xcf\xba\x5d\xf5" } , { "\xd7\xe8\xbd\xdc" , "\xba\x5d\xf5\xd2" } , { "\xd7\xe8\xbd\xdc\xa2" , "\xba\x5d\xf5\xd3" } , { "\xd7\xe8\xbd\xdd" , "\xba\x5d\xd6\xf5" } , { "\xd7\xe8\xbd\xde" , "\xba\x5d\xda\xf5" } , { "\xd7\xe8\xbd\xde\xa2" , "\xba\x5d\xda\xc6\xf5" } , { "\xd7\xe8\xbd\xe0" , "\xba\x5d\xe0\xf5" } , { "\xd7\xe8\xbd\xe0\xa2" , "\xba\x5d\xe1\xf5" } , { "\xd7\xe8\xbd\xe1" , "\xba\x5d\xe4\xf5" } , { "\xd7\xe8\xbd\xe1\xa2" , "\xba\x5d\xe5\xf5" } , { "\xd7\xe8\xbd\xe2" , "\xba\x5d\xe8\xf5" } , { "\xd7\xe8\xbd\xe2\xa2" , "\xba\x5d\xe9\xf5" } , { "\xd7\xe8\xbd\xe4" , "\xba\x5d\xf5\xc9\xe0" } , { "\xd7\xe8\xbd\xe5" , "\xba\x5d\xf5\xc9\xe4" } , { "\xd7\xe8\xbd\xe5\xa2" , "\xba\x5d\xf5\xc9\xe5" } , { "\xd7\xe8\xbd\xe6" , "\xba\x5d\xf5\xc9\xe8" } , { "\xd7\xe8\xbd\xe7" , "\xba\x5d\xf5\xc9\xec" } , { "\xd7\xe8\xbd\xe8" , "\xba\x5d\xc2\xf5" } , { "\xd7\xe8\xbd\xe8\xb3" , "\xba\x5d\xc2\xf5\x45\xf2" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\xba\x5d\xc2\xf5\x45\xf2\xc9" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\xce\xba\x5d\xc2\xf5\x45\xf2" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\xba\x5d\xc2\xf5\x45\xf2\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\xba\x5d\xc2\xf5\x45\xf2\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\xba\x5d\xc2\xf5\x43\xb1\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\xba\x5d\xc2\xf5\x4d\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\xba\x5d\xc2\xf5\x4d\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\xba\x5d\xc2\xf5\x4f\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xb8" , "\xba\x5d\xc2\xf5\x53\xc9" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\xba\x5d\xc2\xf5\x53\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\xba\x5d\xc2\xf5\x53\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xba" , "\xba\x5d\xc2\xf5\x56\xc9" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\xba\x5d\xc2\xf5\x5d\xe8\xf5" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\xba\x5d\xc2\xf5\x5d\xf5\xac\xda" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\xba\x5d\xc2\xf5\x69\xc9\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xc6" , "\xba\x5d\xc2\xf5\x78\xc9" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\xce\xba\x5d\xc2\xf5\x78\xc9" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\xba\x5d\xc2\xf5\x78\xc9\xd6" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\xba\x5d\xc2\xf5\x78\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\xba\x5d\xc2\xf5\x78\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\xba\x5d\xc2\xf5\x78\xc9\xc2" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\xba\x5d\xc2\xf5\x7b\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\xcf\xba\x5d\xc2\xf5\x7b\xc9" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\xba\x5d\xc2\xf5\x7b\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\xba\x5d\xc2\xf5\x7b\xc9\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\xba\x5d\xc2\xf5\x7c\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\xba\x5d\xc2\xf5\xa1\xf2\xc9" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\xce\xba\x5d\xc2\xf5\xa1\xf2" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\xba\x5d\xc2\xf5\xa4\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\xce\xba\x5d\xc2\xf5\xa4\xc9" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\xba\x5d\xc2\xf5\xa4\xc9\xe1" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\xba\x5d\xc2\xf5\xa4\xc9\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xcc" , "\xba\x5d\xc2\xf5\xa8\xc9" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\xba\x5d\xc2\xf5\xa8\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\xba\x5d\xf5\xac\xda" } , { "\xd7\xe8\xbd\xe8\xcf" , "\xba\x5d\xc5\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\xba\x5d\xc5\xc6\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\x5d\xc5\xf5\xc9" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\xba\x5d\xc5\xf5\xc9\xc4" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\x5d\xc5\xf5\xc9\xc6" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\xce\xba\x5d\xc5\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\xcf\xba\x5d\xc5\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\xba\x5d\xc5\xf5\xd2" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\xba\x5d\xd8\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\xba\x5d\xc5\xe0\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\xba\x5d\xc5\xe1\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\xba\x5d\xc5\xe4\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\xba\x5d\xc5\xe5\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\xba\x5d\xc5\xe8\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\xba\x5d\xc5\xe9\xf5" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\xba\x5d\xc5\xf5\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\xba\x5d\xc5\xf5\xc9\xec" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\xba\x5d\xc5\xf5\xc9\xed" } , { "\xd7\xe8\xbd\xe8\xd1" , "\xba\x5d\xc2\xf5\xb1\xc9" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\xba\x5d\xc2\xf5\xb1\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\xce\xba\x5d\xc2\xf5\xb1\xc9" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\xba\x5d\xc2\xf5\xb1\xc9\xd2" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\xba\x5d\xc2\xf5\xb1\xc9\xd6" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\xba\x5d\xc2\xf5\xb1\xc9\xe8" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\xba\x5d\xc2\xf5\xb1\xc9\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\xba\x5d\xc2\xf5\xb4\xc9\xc6" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\xba\x5d\xc2\xf5\xb4\xc9\xc9" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\xba\x5d\xc2\xf5\xb9\xc9\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xd7" , "\xba\x5d\xc2\xf5\xba\xc9" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\xcf\xba\x5d\xc2\xf5\xba\xc9" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\xba\x5d\xc2\xf5\xba\xc9\xd6" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\xba\x5d\xc2\xf5\xba\xc9\xe0" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\xba\x5d\xc2\xf5\xba\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\xba\x5d\xc2\xf5\xba\xc9\xc2" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\xce\xba\x5d\xc2\xf5\xba\xb1\xc9" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\xba\x5d\xc2\xf5\xba\xb4\xc9" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\xba\x5d\xc2\xf5\xbd\xfe\xc9" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\xce\xba\x5d\xc2\xf5\xbd\xfe" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\xba\x5d\xc2\xf5\xbd\xfe\xc9\xe4" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\xba\x5d\xc2\xf5\xba\xc9" } , { "\xd7\xe8\xbe" , "\xba\x60\xf6" } , { "\xd7\xe8\xbe\xda" , "\xba\x60\xf6\xc9" } , { "\xd7\xe8\xbe\xdb" , "\xce\xba\x60\xf6" } , { "\xd7\xe8\xbe\xdd" , "\xba\x60\xd6\xf6" } , { "\xd7\xe8\xbe\xe0" , "\xba\x60\xe0\xf6" } , { "\xd7\xe8\xbf" , "\xba\x62\xf7" } , { "\xd7\xe8\xbf\xda" , "\xba\x62\xf7\xc9" } , { "\xd7\xe8\xbf\xdb" , "\xce\xba\x62\xf7" } , { "\xd7\xe8\xbf\xdd" , "\xba\x62\xd6\xf7" } , { "\xd7\xe8\xbf\xe0" , "\xba\x62\xe0\xf7" } , { "\xd7\xe8\xbf\xe1" , "\xba\x62\xe4\xf7" } , { "\xd7\xe8\xbf\xe2" , "\xba\x62\xe8\xf7" } , { "\xd7\xe8\xbf\xe8" , "\xba\x62\xc2\xf7" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\xba\x62\xc2\xf7\x45\xf2\xc9" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\xcf\xba\x62\xc5\xf7" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\xba\x62\xc5\xe0\xf7" } , { "\xd7\xe8\xc1" , "\xba\x68\xc9" } , { "\xd7\xe8\xc1\xdd" , "\xba\x68\xc9\xd6" } , { "\xd7\xe8\xc2" , "\xba\x69\xc9" } , { "\xd7\xe8\xc2\xa2" , "\xba\x69\xc9\xc6" } , { "\xd7\xe8\xc2\xda" , "\xba\x69\xc9\xc9" } , { "\xd7\xe8\xc2\xda\xa1" , "\xba\x69\xc9\xc9\xc4" } , { "\xd7\xe8\xc2\xda\xa2" , "\xba\x69\xc9\xc9\xc6" } , { "\xd7\xe8\xc2\xda\xa3" , "\xba\x69\xc9\xc9\x26" } , { "\xd7\xe8\xc2\xdb" , "\xce\xba\x69\xc9" } , { "\xd7\xe8\xc2\xdb\xa2" , "\xcf\xba\x69\xc9" } , { "\xd7\xe8\xc2\xdc" , "\xba\x69\xc9\xd2" } , { "\xd7\xe8\xc2\xdc\xa2" , "\xba\x69\xc9\xd3" } , { "\xd7\xe8\xc2\xdd" , "\xba\x69\xc9\xd6" } , { "\xd7\xe8\xc2\xdd\xa2" , "\xba\x69\xc9\xd6\xc6" } , { "\xd7\xe8\xc2\xde" , "\xba\x69\xc9\xda" } , { "\xd7\xe8\xc2\xde\xa2" , "\xba\x69\xc9\xda\xc6" } , { "\xd7\xe8\xc2\xdf" , "\xba\x69\xc9\xde" } , { "\xd7\xe8\xc2\xdf\xa2" , "\xba\x69\xc9\xde\xc6" } , { "\xd7\xe8\xc2\xe0" , "\xba\x69\xc9\xe0" } , { "\xd7\xe8\xc2\xe1" , "\xba\x69\xc9\xe4" } , { "\xd7\xe8\xc2\xe1\xa2" , "\xba\x69\xc9\xe5" } , { "\xd7\xe8\xc2\xe2" , "\xba\x69\xc9\xe8" } , { "\xd7\xe8\xc2\xe4" , "\xba\x69\xc9\xc9\xe0" } , { "\xd7\xe8\xc2\xe4\xa2" , "\xba\x69\xc9\xc9\xe1" } , { "\xd7\xe8\xc2\xe5" , "\xba\x69\xc9\xc9\xe4" } , { "\xd7\xe8\xc2\xe5\xa2" , "\xba\x69\xc9\xc9\xe5" } , { "\xd7\xe8\xc2\xe6" , "\xba\x69\xc9\xc9\xe8" } , { "\xd7\xe8\xc2\xe8" , "\xba\x69\xc9\xc2" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xba\x6b\xc9" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xce\xba\x6b\xc9" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xba\x6b\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\xba\x6b\xae\xfa" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\xba\x69\x78\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\xce\xba\x69\x78\xc9" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\xba\x69\xa8\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xcd" , "\xba\x69\xaa\xc9" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\xba\x69\xaa\xc9\xc6" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\xba\x69\xaa\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\xba\x69\xaa\xc9\xc9\xc6" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\xba\x69\xaa\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\xba\x69\xaa\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\xba\x69\xaa\xc9\xe8" } , { "\xd7\xe8\xc2\xe8\xcf" , "\xba\x6a\xc9" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\xba\x6a\xc9\xc6" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\xba\x6a\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\xba\x6a\xc9\xc9\xc6" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\xce\xba\x6a\xc9" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\xba\x6a\xc9\xd2" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\xba\x6a\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\xba\x6a\xc9\xde" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\xba\x6a\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\xba\x6a\xc9\xe8" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\xba\x6a\xc9\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\xba\x6a\xc9\xc9\xe5" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\xba\x6a\xaa\xc9\xd6" } , { "\xd7\xe8\xc2\xe8\xd4" , "\xba\x69\xb4\xc9" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\xba\x69\xb4\xc9\xc6" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\xba\x69\xb4\xc9\xc9" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\xce\xba\x69\xb4\xc9" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\xba\x69\xb4\xc9\xe8" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\xba\x69\xb4\xc9\xc9\xe4" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\xba\x69\xb4\xc9\xc9\xe8" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\xba\x69\xb4\xaa\xc9\xd6" } , { "\xd7\xe8\xc3" , "\xba\x6c\xc9" } , { "\xd7\xe8\xc3\xa2" , "\xba\x6c\xc9\xc6" } , { "\xd7\xe8\xc3\xa3" , "\xba\x6c\xc9\x26" } , { "\xd7\xe8\xc3\xda" , "\xba\x6c\xc9\xc9" } , { "\xd7\xe8\xc3\xda\xa2" , "\xba\x6c\xc9\xc9\xc6" } , { "\xd7\xe8\xc3\xda\xa3" , "\xba\x6c\xc9\xc9\x26" } , { "\xd7\xe8\xc3\xdb" , "\xce\xba\x6c\xc9" } , { "\xd7\xe8\xc3\xdb\xa2" , "\xcf\xba\x6c\xc9" } , { "\xd7\xe8\xc3\xdc" , "\xba\x6c\xc9\xd2" } , { "\xd7\xe8\xc3\xdd" , "\xba\x6c\xc9\xd6" } , { "\xd7\xe8\xc3\xde" , "\xba\x6c\xc9\xda" } , { "\xd7\xe8\xc3\xe0" , "\xba\x6c\xc9\xe0" } , { "\xd7\xe8\xc3\xe1" , "\xba\x6c\xc9\xe4" } , { "\xd7\xe8\xc3\xe2" , "\xba\x6c\xc9\xe8" } , { "\xd7\xe8\xc3\xe5" , "\xba\x6c\xc9\xc9\xe4" } , { "\xd7\xe8\xc3\xe5\xa2" , "\xba\x6c\xc9\xc9\xe5" } , { "\xd7\xe8\xc3\xe6" , "\xba\x6c\xc9\xc9\xe8" } , { "\xd7\xe8\xc3\xe8" , "\xba\x6c\xc9\xc2" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\xba\x6c\x45\xd6\xf2" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\xce\xba\x6c\x69\xc9" } , { "\xd7\xe8\xc3\xe8\xc6" , "\xba\x6c\x78\xc9" } , { "\xd7\xe8\xc3\xe8\xcd" , "\xba\x6c\xaa\xc9" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\xba\x6c\xaa\xc9\xc6" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\xba\x6c\xaa\xc9\xc9" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\xba\x6c\xaa\x74" } , { "\xd7\xe8\xc3\xe8\xcf" , "\xba\x6d\xc9" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\xba\x6d\xc9\xd2" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xba\x6c\xb1\xc9\xd6" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\xba\x6c\xba\xc9\xc9" } , { "\xd7\xe8\xc4" , "\xba\x6e\xf9" } , { "\xd7\xe8\xc4\xda" , "\xba\x6e\xf9\xc9" } , { "\xd7\xe8\xc4\xdb" , "\xce\xba\x6e\xf9" } , { "\xd7\xe8\xc4\xdd" , "\xba\x6e\xd6\xf9" } , { "\xd7\xe8\xc4\xdd\xa2" , "\xba\x6e\xd6\xc6\xf9" } , { "\xd7\xe8\xc4\xde\xa2" , "\xba\x6e\xda\xc6\xf9" } , { "\xd7\xe8\xc4\xe1" , "\xba\x6e\xe4\xf9" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\xba\x71\xf9\xc9\xe4" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\xba\x75\xf9\xc9" } , { "\xd7\xe8\xc5" , "\xba\x76\xc9" } , { "\xd7\xe8\xc5\xa2" , "\xba\x76\xc9\xc6" } , { "\xd7\xe8\xc5\xda" , "\xba\x76\xc9\xc9" } , { "\xd7\xe8\xc5\xdb" , "\xce\xba\x76\xc9" } , { "\xd7\xe8\xc5\xdd" , "\xba\x76\xc9\xd6" } , { "\xd7\xe8\xc5\xde" , "\xba\x76\xc9\xda" } , { "\xd7\xe8\xc5\xe0" , "\xba\x76\xc9\xe0" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\xba\x76\xaa\xc9\xc6" } , { "\xd7\xe8\xc6" , "\xba\x78\xc9" } , { "\xd7\xe8\xc6\xa2" , "\xba\x78\xc9\xc6" } , { "\xd7\xe8\xc6\xda" , "\xba\x78\xc9\xc9" } , { "\xd7\xe8\xc6\xdb" , "\xce\xba\x78\xc9" } , { "\xd7\xe8\xc6\xdc" , "\xba\x78\xc9\xd2" } , { "\xd7\xe8\xc6\xdd" , "\xba\x78\xc9\xd6" } , { "\xd7\xe8\xc6\xdd\xa2" , "\xba\x78\xc9\xd6\xc6" } , { "\xd7\xe8\xc6\xde" , "\xba\x78\xc9\xda" } , { "\xd7\xe8\xc6\xe0" , "\xba\x78\xc9\xe0" } , { "\xd7\xe8\xc6\xe1" , "\xba\x78\xc9\xe4" } , { "\xd7\xe8\xc6\xe2" , "\xba\x78\xc9\xe8" } , { "\xd7\xe8\xc6\xe5" , "\xba\x78\xc9\xc9\xe4" } , { "\xd7\xe8\xc6\xe8\xc6" , "\xba\x7a\xc9" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\xba\x7a\xc9\xd6" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\xba\x7a\xc9\xe4" } , { "\xd7\xe8\xc8" , "\xba\x7b\xc9" } , { "\xd7\xe8\xc8\xa2" , "\xba\x7b\xc9\xc6" } , { "\xd7\xe8\xc8\xda" , "\xba\x7b\xc9\xc9" } , { "\xd7\xe8\xc8\xda\xa2" , "\xba\x7b\xc9\xc9\xc6" } , { "\xd7\xe8\xc8\xdb" , "\xce\xba\x7b\xc9" } , { "\xd7\xe8\xc8\xdb\xa2" , "\xcf\xba\x7b\xc9" } , { "\xd7\xe8\xc8\xdc" , "\xba\x7b\xc9\xd2" } , { "\xd7\xe8\xc8\xdd" , "\xba\x7b\xc9\xd6" } , { "\xd7\xe8\xc8\xde" , "\xba\x7b\xc9\xda" } , { "\xd7\xe8\xc8\xdf" , "\xba\x7b\xc9\xde" } , { "\xd7\xe8\xc8\xe0" , "\xba\x7b\xc9\xe0" } , { "\xd7\xe8\xc8\xe0\xa2" , "\xba\x7b\xc9\xe1" } , { "\xd7\xe8\xc8\xe1" , "\xba\x7b\xc9\xe4" } , { "\xd7\xe8\xc8\xe1\xa2" , "\xba\x7b\xc9\xe5" } , { "\xd7\xe8\xc8\xe2" , "\xba\x7b\xc9\xe8" } , { "\xd7\xe8\xc8\xe2\xa2" , "\xba\x7b\xc9\xe9" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\xba\x7b\xc9\xe8\x62\xc2\xf7" } , { "\xd7\xe8\xc8\xe4" , "\xba\x7b\xc9\xc9\xe0" } , { "\xd7\xe8\xc8\xe5" , "\xba\x7b\xc9\xc9\xe4" } , { "\xd7\xe8\xc8\xe5\xa2" , "\xba\x7b\xc9\xc9\xe5" } , { "\xd7\xe8\xc8\xe6" , "\xba\x7b\xc9\xc9\xe8" } , { "\xd7\xe8\xc8\xe7" , "\xba\x7b\xc9\xc9\xec" } , { "\xd7\xe8\xc8\xe8" , "\xba\x7b\xc9\xc2" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\xba\x7b\xa4\xc9\xe0" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\xba\x7b\xaa\xc9\xda" } , { "\xd7\xe8\xc8\xe8\xcf" , "\xba\x7c\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\xba\x7c\xc9\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\xce\xba\x7c\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\xcf\xba\x7c\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\xba\x7c\xc9\xd6" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\xba\x7c\xc9\xda" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\xba\x7c\xc9\xe4" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\xba\x7c\xc9\xe8" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\xba\x7c\xc9\xc9\xe0" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\xba\x7c\xc9\xc9\xe4" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\xba\x7b\xb1\xc9\xc9" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\xba\x7b\xb1\xc9\xe0" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xba\x7b\xb1\xc9\xe4" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\xba\x7b\xb6\xaa\xc9" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\xba\x7b\xba\xc9\xc9" } , { "\xd7\xe8\xc8\xe8\xd8" , "\xba\x7b\xbd\xfe" } , { "\xd7\xe8\xc9" , "\xba\xa1\xf2" } , { "\xd7\xe8\xc9\xa2" , "\xba\xa1\xc6\xf2" } , { "\xd7\xe8\xc9\xda" , "\xba\xa1\xf2\xc9" } , { "\xd7\xe8\xc9\xda\xa2" , "\xba\xa1\xf2\xc9\xc6" } , { "\xd7\xe8\xc9\xdb" , "\xce\xba\xa1\xf2" } , { "\xd7\xe8\xc9\xdb\xa2" , "\xcf\xba\xa1\xf2" } , { "\xd7\xe8\xc9\xdc" , "\xba\xa1\xf2\xd2" } , { "\xd7\xe8\xc9\xdd" , "\xba\xa1\xd6\xf2" } , { "\xd7\xe8\xc9\xde" , "\xba\xa1\xda\xf2" } , { "\xd7\xe8\xc9\xdf" , "\xba\xa1\xde\xf2" } , { "\xd7\xe8\xc9\xe0" , "\xba\xa1\xe0\xf2" } , { "\xd7\xe8\xc9\xe0\xa2" , "\xba\xa1\xe1\xf2" } , { "\xd7\xe8\xc9\xe1" , "\xba\xa1\xe4\xf2" } , { "\xd7\xe8\xc9\xe2" , "\xba\xa1\xe8\xf2" } , { "\xd7\xe8\xc9\xe4" , "\xba\xa1\xf2\xc9\xe0" } , { "\xd7\xe8\xc9\xe5" , "\xba\xa1\xf2\xc9\xe4" } , { "\xd7\xe8\xc9\xe6" , "\xba\xa1\xf2\xc9\xe8" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\xba\x7d\xaa\xc9\xc9" } , { "\xd7\xe8\xca" , "\xba\xa4\xc9" } , { "\xd7\xe8\xca\xda" , "\xba\xa4\xc9\xc9" } , { "\xd7\xe8\xca\xdb" , "\xce\xba\xa4\xc9" } , { "\xd7\xe8\xca\xdd" , "\xba\xa4\xc9\xd6" } , { "\xd7\xe8\xca\xe0" , "\xba\xa4\xc9\xe0" } , { "\xd7\xe8\xca\xe1" , "\xba\xa4\xc9\xe4" } , { "\xd7\xe8\xca\xe1\xa2" , "\xba\xa4\xc9\xe5" } , { "\xd7\xe8\xca\xe2" , "\xba\xa4\xc9\xe8" } , { "\xd7\xe8\xca\xe5" , "\xba\xa4\xc9\xc9\xe4" } , { "\xd7\xe8\xca\xe5\xa2" , "\xba\xa4\xc9\xc9\xe5" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\xba\xa5\xc9\xda" } , { "\xd7\xe8\xcb" , "\xba\xa6\xc9" } , { "\xd7\xe8\xcb\xdb" , "\xce\xba\xa6\xc9" } , { "\xd7\xe8\xcb\xe0" , "\xba\xa6\xc9\xe0" } , { "\xd7\xe8\xcc" , "\xba\xa8\xc9" } , { "\xd7\xe8\xcc\xa2" , "\xba\xa8\xc9\xc6" } , { "\xd7\xe8\xcc\xda" , "\xba\xa8\xc9\xc9" } , { "\xd7\xe8\xcc\xda\xa2" , "\xba\xa8\xc9\xc9\xc6" } , { "\xd7\xe8\xcc\xdb" , "\xce\xba\xa8\xc9" } , { "\xd7\xe8\xcc\xdc" , "\xba\xa8\xc9\xd2" } , { "\xd7\xe8\xcc\xdd" , "\xba\xa8\xc9\xd6" } , { "\xd7\xe8\xcc\xdd\xa2" , "\xba\xa8\xc9\xd6\xc6" } , { "\xd7\xe8\xcc\xdf" , "\xba\xa8\xc9\xde" } , { "\xd7\xe8\xcc\xe0" , "\xba\xa8\xc9\xe0" } , { "\xd7\xe8\xcc\xe0\xa2" , "\xba\xa8\xc9\xe1" } , { "\xd7\xe8\xcc\xe1" , "\xba\xa8\xc9\xe4" } , { "\xd7\xe8\xcc\xe1\xa2" , "\xba\xa8\xc9\xe5" } , { "\xd7\xe8\xcc\xe2" , "\xba\xa8\xc9\xe8" } , { "\xd7\xe8\xcc\xe2\xa2" , "\xba\xa8\xc9\xe9" } , { "\xd7\xe8\xcc\xe4" , "\xba\xa8\xc9\xc9\xe0" } , { "\xd7\xe8\xcc\xe5" , "\xba\xa8\xc9\xc9\xe4" } , { "\xd7\xe8\xcc\xe5\xa2" , "\xba\xa8\xc9\xc9\xe5" } , { "\xd7\xe8\xcc\xe6" , "\xba\xa8\xc9\xc9\xe8" } , { "\xd7\xe8\xcc\xe8" , "\xba\xa8\xc9\xc2" } , { "\xd7\xe8\xcc\xe8\xc2" , "\xba\xa8\x69\xc9" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\xce\xba\xa8\x69\xc9" } , { "\xd7\xe8\xcc\xe8\xcc" , "\xba\xa8\xa8\xc9" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\xba\xa8\xaa\xc9\xc9\xc6" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\xba\xa8\xaa\xc9\xd6" } , { "\xd7\xe8\xcc\xe8\xd1" , "\xba\xa8\xb1\xc9" } , { "\xd7\xe8\xcd" , "\xba\xaa\xc9" } , { "\xd7\xe8\xcd\xa2" , "\xba\xaa\xc9\xc6" } , { "\xd7\xe8\xcd\xa3" , "\xba\xaa\xc9\x26" } , { "\xd7\xe8\xcd\xda" , "\xba\xaa\xc9\xc9" } , { "\xd7\xe8\xcd\xda\xa2" , "\xba\xaa\xc9\xc9\xc6" } , { "\xd7\xe8\xcd\xda\xa3" , "\xba\xaa\xc9\xc9\x26" } , { "\xd7\xe8\xcd\xdb" , "\xce\xba\xaa\xc9" } , { "\xd7\xe8\xcd\xdc" , "\xba\xaa\xc9\xd2" } , { "\xd7\xe8\xcd\xdd" , "\xba\xaa\xc9\xd6" } , { "\xd7\xe8\xcd\xdd\xa3" , "\xba\xaa\xc9\xd6\x26" } , { "\xd7\xe8\xcd\xde" , "\xba\xaa\xc9\xda" } , { "\xd7\xe8\xcd\xde\xa2" , "\xba\xaa\xc9\xda\xc6" } , { "\xd7\xe8\xcd\xe0" , "\xba\xaa\xc9\xe0" } , { "\xd7\xe8\xcd\xe1" , "\xba\xaa\xc9\xe4" } , { "\xd7\xe8\xcd\xe2" , "\xba\xaa\xc9\xe8" } , { "\xd7\xe8\xcd\xe4" , "\xba\xaa\xc9\xc9\xe0" } , { "\xd7\xe8\xcd\xe5" , "\xba\xaa\xc9\xc9\xe4" } , { "\xd7\xe8\xcd\xe5\xa2" , "\xba\xaa\xc9\xc9\xe5" } , { "\xd7\xe8\xcd\xe5\xa3" , "\xba\xaa\xc9\xc9\xe4\x26" } , { "\xd7\xe8\xcd\xe6" , "\xba\xaa\xc9\xc9\xe8" } , { "\xd7\xe8\xcd\xe8" , "\xba\xaa\xc9\xc2" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\xba\xaa\xaa\xc9\xc9" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\xba\xab\xc9\xc9" } , { "\xd7\xe8\xcf" , "\xbb\xc9" } , { "\xd7\xe8\xcf\xa2" , "\xbb\xc9\xc6" } , { "\xd7\xe8\xcf\xda" , "\xbb\xc9\xc9" } , { "\xd7\xe8\xcf\xda\xa2" , "\xbb\xc9\xc9\xc6" } , { "\xd7\xe8\xcf\xdb" , "\xca\xbb\xc9" } , { "\xd7\xe8\xcf\xdb\xa2" , "\xcb\xbb\xc9" } , { "\xd7\xe8\xcf\xdc" , "\xbb\xc9\xd2" } , { "\xd7\xe8\xcf\xdd" , "\xbb\xc9\xd6" } , { "\xd7\xe8\xcf\xde" , "\xbb\xc9\xda" } , { "\xd7\xe8\xcf\xde\xa2" , "\xbb\xc9\xda\xc6" } , { "\xd7\xe8\xcf\xdf" , "\xbb\xc9\xde" } , { "\xd7\xe8\xcf\xe0" , "\xbb\xc9\xe0" } , { "\xd7\xe8\xcf\xe1" , "\xbb\xc9\xe4" } , { "\xd7\xe8\xcf\xe2" , "\xbb\xc9\xe8" } , { "\xd7\xe8\xcf\xe5" , "\xbb\xc9\xc9\xe4" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xbb\xc9\xc9\xe5" } , { "\xd7\xe8\xcf\xe8\xbd" , "\xbb\x5d\xf5" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\xbb\x7b\xc9\xe4" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\xbb\xb4\xc9\xc9" } , { "\xd7\xe8\xd1" , "\xba\xb1\xc9" } , { "\xd7\xe8\xd1\xa2" , "\xba\xb1\xc9\xc6" } , { "\xd7\xe8\xd1\xda" , "\xba\xb1\xc9\xc9" } , { "\xd7\xe8\xd1\xda\xa2" , "\xba\xb1\xc9\xc9\xc6" } , { "\xd7\xe8\xd1\xdb" , "\xce\xba\xb1\xc9" } , { "\xd7\xe8\xd1\xdb\xa2" , "\xcf\xba\xb1\xc9" } , { "\xd7\xe8\xd1\xdc" , "\xba\xb1\xc9\xd2" } , { "\xd7\xe8\xd1\xdc\xa2" , "\xba\xb1\xc9\xd3" } , { "\xd7\xe8\xd1\xdd" , "\xba\xb1\xc9\xd6" } , { "\xd7\xe8\xd1\xdd\xa2" , "\xba\xb1\xc9\xd6\xc6" } , { "\xd7\xe8\xd1\xde" , "\xba\xb1\xc9\xda" } , { "\xd7\xe8\xd1\xe0" , "\xba\xb1\xc9\xe0" } , { "\xd7\xe8\xd1\xe1" , "\xba\xb1\xc9\xe4" } , { "\xd7\xe8\xd1\xe1\xa2" , "\xba\xb1\xc9\xe5" } , { "\xd7\xe8\xd1\xe2" , "\xba\xb1\xc9\xe8" } , { "\xd7\xe8\xd1\xe4" , "\xba\xb1\xc9\xc9\xe0" } , { "\xd7\xe8\xd1\xe5" , "\xba\xb1\xc9\xc9\xe4" } , { "\xd7\xe8\xd1\xe5\xa2" , "\xba\xb1\xc9\xc9\xe5" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\xce\xba\xb1\x45\xf2" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\xba\xb1\x45\xe0\xf2" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\xba\xb1\x45\xf2\xc9\xe4" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\xba\xb1\x7b\xc9\xc9\xc6" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\xba\xb1\x7b\xc9\xd2" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\xba\xb1\x7b\xc9\xe0" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\xba\xb1\x7b\xc9\xe1" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\xba\xb1\xba\xc9\xc9\xc6" } , { "\xd7\xe8\xd4" , "\xba\xb4\xc9" } , { "\xd7\xe8\xd4\xa2" , "\xba\xb4\xc9\xc6" } , { "\xd7\xe8\xd4\xda" , "\xba\xb4\xc9\xc9" } , { "\xd7\xe8\xd4\xda\xa1" , "\xba\xb4\xc9\xc9\xc4" } , { "\xd7\xe8\xd4\xda\xa2" , "\xba\xb4\xc9\xc9\xc6" } , { "\xd7\xe8\xd4\xdb" , "\xce\xba\xb4\xc9" } , { "\xd7\xe8\xd4\xdb\xa2" , "\xcf\xba\xb4\xc9" } , { "\xd7\xe8\xd4\xdc" , "\xba\xb4\xc9\xd2" } , { "\xd7\xe8\xd4\xdc\xa2" , "\xba\xb4\xc9\xd3" } , { "\xd7\xe8\xd4\xdd" , "\xba\xb4\xc9\xd6" } , { "\xd7\xe8\xd4\xdd\xa2" , "\xba\xb4\xc9\xd6\xc6" } , { "\xd7\xe8\xd4\xdf" , "\xba\xb4\xc9\xde" } , { "\xd7\xe8\xd4\xe0" , "\xba\xb4\xc9\xe0" } , { "\xd7\xe8\xd4\xe1" , "\xba\xb4\xc9\xe4" } , { "\xd7\xe8\xd4\xe2" , "\xba\xb4\xc9\xe8" } , { "\xd7\xe8\xd4\xe2\xa2" , "\xba\xb4\xc9\xe9" } , { "\xd7\xe8\xd4\xe5" , "\xba\xb4\xc9\xc9\xe4" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\xba\xb4\x45\xf2\xc9" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\xba\xb4\x69\xc9\xc6" } , { "\xd7\xe8\xd5" , "\xba\xb6\xc9" } , { "\xd7\xe8\xd5\xda" , "\xba\xb6\xc9\xc9" } , { "\xd7\xe8\xd5\xdb" , "\xce\xba\xb6\xc9" } , { "\xd7\xe8\xd5\xdd" , "\xba\xb6\xc9\xd6" } , { "\xd7\xe8\xd5\xe1" , "\xba\xb6\xc9\xe4" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\xba\xb8\xc9\xe4" } , { "\xd7\xe8\xd6" , "\xba\xb9\xc9" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\xce\xba\xb9\x5d\xf5" } , { "\xd7\xe8\xd7" , "\xba\xba\xc9" } , { "\xd7\xe8\xd7\xa2" , "\xba\xba\xc9\xc6" } , { "\xd7\xe8\xd7\xda" , "\xba\xba\xc9\xc9" } , { "\xd7\xe8\xd7\xda\xa2" , "\xba\xba\xc9\xc9\xc6" } , { "\xd7\xe8\xd7\xdb" , "\xce\xba\xba\xc9" } , { "\xd7\xe8\xd7\xdb\xa2" , "\xcf\xba\xba\xc9" } , { "\xd7\xe8\xd7\xdc" , "\xba\xba\xc9\xd2" } , { "\xd7\xe8\xd7\xdc\xa2" , "\xba\xba\xc9\xd3" } , { "\xd7\xe8\xd7\xdd" , "\xba\xba\xc9\xd6" } , { "\xd7\xe8\xd7\xdd\xa2" , "\xba\xba\xc9\xd6\xc6" } , { "\xd7\xe8\xd7\xde" , "\xba\xba\xc9\xda" } , { "\xd7\xe8\xd7\xdf" , "\xba\xba\xc9\xde" } , { "\xd7\xe8\xd7\xe0" , "\xba\xba\xc9\xe0" } , { "\xd7\xe8\xd7\xe0\xa2" , "\xba\xba\xc9\xe1" } , { "\xd7\xe8\xd7\xe1" , "\xba\xba\xc9\xe4" } , { "\xd7\xe8\xd7\xe1\xa2" , "\xba\xba\xc9\xe5" } , { "\xd7\xe8\xd7\xe2" , "\xba\xba\xc9\xe8" } , { "\xd7\xe8\xd7\xe4" , "\xba\xba\xc9\xc9\xe0" } , { "\xd7\xe8\xd7\xe5" , "\xba\xba\xc9\xc9\xe4" } , { "\xd7\xe8\xd7\xe5\xa2" , "\xba\xba\xc9\xc9\xe5" } , { "\xd7\xe8\xd7\xe6" , "\xba\xba\xc9\xc9\xe8" } , { "\xd7\xe8\xd7\xe6\xa2" , "\xba\xba\xc9\xc9\xe9" } , { "\xd7\xe8\xd7\xe8" , "\xba\xba\xc9\xc2" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\xba\xba\x45\xf2\xc9" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\xba\xba\x45\xd6\xf2" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\xba\xba\x45\xde\xf2" } , { "\xd7\xe8\xd7\xe8\xbd" , "\xba\xba\x5d\xf5" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\xba\xba\x5d\xf5\xc9" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\xba\xba\x5d\xf5\xc9\xc6" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\xba\xba\x5d\xf5\xd2" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\xba\xba\x5d\xe4\xf5" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xba\x5d\xc5\xf5\xc9" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xba\xba\x69\xc9\xda\xc6" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xba\xba\x6c\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xce\xba\xba\x6c\xc9" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\xba\xba\x78\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xcc" , "\xba\xba\xa8\xc9" } , { "\xd7\xe8\xd7\xe8\xcd" , "\xba\xba\xaa\xc9" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\xba\xba\xaa\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xcf" , "\xba\xbb\xc9" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\xba\xbb\xc9\xc9" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xba\xba\xb1\xc9\xd6" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xba\xba\xb1\xc9\xc9\xe4" } , { "\xd7\xe8\xd7\xe8\xd4" , "\xba\xba\xb4\xc9" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\xba\xba\xb4\xc9\xc9" } , { "\xd7\xe8\xd8" , "\xba\xbd\xfe" } , { "\xd7\xe8\xd8\xda" , "\xba\xbd\xfe\xc9" } , { "\xd7\xe8\xd8\xe0" , "\xba\xbd\xe0\xfe" } , { "\xd7\xe8\xd8\xe5" , "\xba\xbd\xfe\xc9\xe4" } , { "\xd7\xe8\xd8\xe6" , "\xba\xbd\xfe\xc9\xe8" } , { "\xd7\xe8\xd9" , "\xba" } , { "\xd7\xe8\xd9\xa6" , "\xba\x3c" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\xba\x5d\xc7\xf5" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\xba\x5d\xf5\xc9\xc7" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\xba\x5d\xe6\xf5" } , { "\xd7\xe8\xe8" , "\xba\xc9\xc2" } , { "\xd7\xe8\xe9\xcf" , "\xba\xae\xfa" } , { "\xd7\xe9" , "\xba\xc9" } , { "\xd8" , "\xbd\xfe" } , { "\xd8\xa1" , "\xbd\xc4\xfe" } , { "\xd8\xa2" , "\xbd\xc6\xfe" } , { "\xd8\xa3" , "\xbd\xfe\x26" } , { "\xd8\xd0" , "\xbd\xfe\xae\xfa\xc3" } , { "\xd8\xd9" , "\xbd\xfe" } , { "\xd8\xd9\xd1\xda" , "\xbd\xfe\xb1\xc9\xc9" } , { "\xd8\xda" , "\xbd\xfe\xc9" } , { "\xd8\xda\xa1" , "\xbd\xfe\xc9\xc4" } , { "\xd8\xda\xa2" , "\xbd\xfe\xc9\xc6" } , { "\xd8\xda\xa3" , "\xbd\xfe\xc9\x26" } , { "\xd8\xdb" , "\xca\xbd\xfe" } , { "\xd8\xdb\xa2" , "\xcb\xbd\xfe" } , { "\xd8\xdb\xa2\xa2" , "\xcb\xbd\xfe\xc6" } , { "\xd8\xdb\xa3" , "\xca\xbd\xfe\x26" } , { "\xd8\xdc" , "\xbd\xfe\xd2" } , { "\xd8\xdc\xa1" , "\xbd\xfe\xd3" } , { "\xd8\xdc\xa2" , "\xbd\xfe\xd3" } , { "\xd8\xdd" , "\xbd\xd6\xfe" } , { "\xd8\xdd\xa1" , "\xbd\xd6\xc4\xfe" } , { "\xd8\xdd\xa2" , "\xbd\xd6\xc6\xfe" } , { "\xd8\xdd\xa3" , "\xbd\xd6\xfe\x26" } , { "\xd8\xde" , "\xbd\xda\xfe" } , { "\xd8\xde\xa1" , "\xbd\xda\xc4\xfe" } , { "\xd8\xde\xa2" , "\xbd\xda\xc6\xfe" } , { "\xd8\xdf" , "\xbe\xfe" } , { "\xd8\xe0" , "\xbd\xe0\xfe" } , { "\xd8\xe0\xa2" , "\xbd\xe1\xfe" } , { "\xd8\xe1" , "\xbd\xe4\xfe" } , { "\xd8\xe1\xa2" , "\xbd\xe5\xfe" } , { "\xd8\xe1\xa3" , "\xbd\xe4\xfe\x26" } , { "\xd8\xe2" , "\xbd\xe8\xfe" } , { "\xd8\xe2\xa1" , "\xbd\xe9\xfe" } , { "\xd8\xe2\xa2" , "\xbd\xe9\xfe" } , { "\xd8\xe2\xa3" , "\xbd\xe8\xfe\x26" } , { "\xd8\xe3" , "\xbd\xec\xfe" } , { "\xd8\xe3\xa2" , "\xbd\xed\xfe" } , { "\xd8\xe4" , "\xbd\xfe\xc9\xe0" } , { "\xd8\xe4\xa2" , "\xbd\xfe\xc9\xe1" } , { "\xd8\xe5" , "\xbd\xfe\xc9\xe4" } , { "\xd8\xe5\xa1" , "\xbd\xfe\xc9\xe5" } , { "\xd8\xe5\xa2" , "\xbd\xfe\xc9\xe5" } , { "\xd8\xe6" , "\xbd\xfe\xc9\xe8" } , { "\xd8\xe6\xa2" , "\xbd\xfe\xc9\xe9" } , { "\xd8\xe7" , "\xbd\xfe\xc9\xec" } , { "\xd8\xe7\xa2" , "\xbd\xfe\xc9\xed" } , { "\xd8\xe8" , "\xbd\xc2\xfe" } , { "\xd8\xe8\xb3\xdd" , "\xbc\x45\xd6\xf2" } , { "\xd8\xe8\xb5" , "\xbc\x4d\xc9" } , { "\xd8\xe8\xb5\xdd" , "\xbc\x4d\xc9\xd6" } , { "\xd8\xe8\xb5\xde" , "\xbc\x4d\xc9\xda" } , { "\xd8\xe8\xb8" , "\xbc\x53\xc9" } , { "\xd8\xe8\xb8\xdd" , "\xbc\x53\xc9\xd6" } , { "\xd8\xe8\xbd\xdb" , "\xce\xbc\x5d\xf5" } , { "\xd8\xe8\xbf" , "\xbc\x62\xf7" } , { "\xd8\xe8\xc1" , "\xbc\x68\xc9" } , { "\xd8\xe8\xc1\xda" , "\xbc\x68\xc9\xc9" } , { "\xd8\xe8\xc1\xe1" , "\xbc\x68\xc9\xe4" } , { "\xd8\xe8\xc2" , "\xbc\x69\xc9" } , { "\xd8\xe8\xc2\xa2" , "\xbc\x69\xc9\xc6" } , { "\xd8\xe8\xc2\xda" , "\xbc\x69\xc9\xc9" } , { "\xd8\xe8\xc2\xdc" , "\xbc\x69\xc9\xd2" } , { "\xd8\xe8\xc2\xe8" , "\xbc\x69\xc9\xc2" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\xbc\x6b\xb4\xc9" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\xbc\x6a\xc9\xc9" } , { "\xd8\xe8\xc2\xe8\xd4" , "\xbc\x69\xb4\xc9" } , { "\xd8\xe8\xc3" , "\xbc\x6c\xc9" } , { "\xd8\xe8\xc4" , "\xbc\x6e\xf9" } , { "\xd8\xe8\xc4\xe1" , "\xbc\x6e\xe4\xf9" } , { "\xd8\xe8\xc4\xe5\xa2" , "\xbc\x6e\xf9\xc9\xe5" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\xbc\x6e\xc2\xf9\x7b\xc9\xc9" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\xbc\x74\xc6" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\xbc\x70\xf9\xc9\xe4" } , { "\xd8\xe8\xc6" , "\xbc\x78\xc9" } , { "\xd8\xe8\xc6\xa2" , "\xbc\x78\xc9\xc6" } , { "\xd8\xe8\xc6\xda" , "\xbc\x78\xc9\xc9" } , { "\xd8\xe8\xc6\xda\xa2" , "\xbc\x78\xc9\xc9\xc6" } , { "\xd8\xe8\xc6\xdb" , "\xce\xbc\x78\xc9" } , { "\xd8\xe8\xc6\xdd" , "\xbc\x78\xc9\xd6" } , { "\xd8\xe8\xc6\xe5\xa2" , "\xbc\x78\xc9\xc9\xe5" } , { "\xd8\xe8\xca" , "\xbc\xa4\xc9" } , { "\xd8\xe8\xcb" , "\xbc\xa6\xc9" } , { "\xd8\xe8\xcc" , "\xc0" } , { "\xd8\xe8\xcc\xa2" , "\xc0\xc6" } , { "\xd8\xe8\xcc\xda" , "\xc0\xc9" } , { "\xd8\xe8\xcc\xda\xa2" , "\xc0\xc9\xc6" } , { "\xd8\xe8\xcc\xdb" , "\xca\xc0" } , { "\xd8\xe8\xcc\xdc" , "\xc0\xd2" } , { "\xd8\xe8\xcc\xde" , "\xc0\xda" } , { "\xd8\xe8\xcc\xe1" , "\xc0\xe4" } , { "\xd8\xe8\xcc\xe1\xa2" , "\xc0\xe5" } , { "\xd8\xe8\xcc\xe2" , "\xc0\xe8" } , { "\xd8\xe8\xcc\xe5" , "\xc0\xc9\xe4" } , { "\xd8\xe8\xcc\xe8" , "\xc0\xc2" } , { "\xd8\xe8\xcc\xe8\xb8" , "\xbc\xa8\x53\xc9" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\xbc\xa8\x53\xc9\xc9" } , { "\xd8\xe8\xcc\xe8\xc1" , "\xbc\xa8\x68\xc9" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\xbc\xa8\x68\xc9\xd2" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\xbc\xa8\xb4\xc9\xc9" } , { "\xd8\xe8\xcd" , "\xc1" } , { "\xd8\xe8\xcd\xa2" , "\xc1\xc6" } , { "\xd8\xe8\xcd\xda" , "\xc1\xc9" } , { "\xd8\xe8\xcd\xda\xa2" , "\xc1\xc9\xc6" } , { "\xd8\xe8\xcd\xdb" , "\xca\xc1" } , { "\xd8\xe8\xcd\xdb\xa2" , "\xcb\xc1" } , { "\xd8\xe8\xcd\xdc\xa2" , "\xc1\xd3" } , { "\xd8\xe8\xcd\xdd" , "\xc1\xd6" } , { "\xd8\xe8\xcd\xde" , "\xc1\xda" } , { "\xd8\xe8\xcd\xde\xa2" , "\xc1\xda\xc6" } , { "\xd8\xe8\xcd\xe1" , "\xc1\xe4" } , { "\xd8\xe8\xcd\xe1\xa2" , "\xc1\xe5" } , { "\xd8\xe8\xcd\xe5" , "\xc1\xc9\xe4" } , { "\xd8\xe8\xcd\xe8\xcf" , "\xbc\xab\xc9" } , { "\xd8\xe8\xcd\xe8\xd7" , "\xbc\xaa\xba\xc9" } , { "\xd8\xe8\xcf" , "\xbf" } , { "\xd8\xe8\xcf\xda" , "\xbf\xc9" } , { "\xd8\xe8\xcf\xda\xa2" , "\xbf\xc9\xc6" } , { "\xd8\xe8\xcf\xdb" , "\xca\xbf" } , { "\xd8\xe8\xcf\xdc" , "\xbf\xd2" } , { "\xd8\xe8\xcf\xdc\xa2" , "\xbf\xd3" } , { "\xd8\xe8\xcf\xdd" , "\xbf\xd6" } , { "\xd8\xe8\xcf\xde" , "\xbf\xda" } , { "\xd8\xe8\xcf\xde\xa2" , "\xbf\xda\xc6" } , { "\xd8\xe8\xcf\xe0" , "\xbf\xe0" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xbf\xe5" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xbc\x78\xa4\xb1\xc9\xe3" } , { "\xd8\xe8\xd1" , "\xbc\xb1\xc9" } , { "\xd8\xe8\xd1\xda" , "\xbc\xb1\xc9\xc9" } , { "\xd8\xe8\xd1\xda\xa2" , "\xbc\xb1\xc9\xc9\xc6" } , { "\xd8\xe8\xd1\xdb" , "\xce\xbc\xb1\xc9" } , { "\xd8\xe8\xd1\xdc" , "\xbc\xb1\xc9\xd2" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\xbc\xb1\xb4\xc9\xc9" } , { "\xd8\xe8\xd4" , "\xbc\xb4\xc9" } , { "\xd8\xe8\xd4\xda" , "\xbc\xb4\xc9\xc9" } , { "\xd8\xe8\xd4\xdb" , "\xce\xbc\xb4\xc9" } , { "\xd8\xe8\xd4\xdc" , "\xbc\xb4\xc9\xd2" } , { "\xd8\xe8\xd4\xe1" , "\xbc\xb4\xc9\xe4" } , { "\xd8\xe8\xd4\xe1\xa2" , "\xbc\xb4\xc9\xe5" } , { "\xd8\xe8\xd4\xe2" , "\xbc\xb4\xc9\xe8" } , { "\xd8\xe8\xd4\xe4" , "\xbc\xb4\xc9\xc9\xe0" } , { "\xd8\xe8\xd4\xe5" , "\xbc\xb4\xc9\xc9\xe4" } , { "\xd8\xe8\xd4\xe8" , "\xbc\xb4\xc9\xc2" } , { "\xd8\xe8\xd6\xdb" , "\xce\xbc\xb9\xc9" } , { "\xd8\xe8\xd6\xe8\xbd" , "\xbc\xb9\x5d\xf5" } , { "\xd8\xe8\xd7\xa2" , "\xbc\xba\xc9\xc6" } , { "\xd8\xe8\xd7\xe8" , "\xbc\xba\xc9\xc2" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\xbc\xba\x45\xf2\xd2" } , { "\xd8\xe8\xd7\xe8\xd4" , "\xbc\xba\xb4\xc9" } , { "\xd8\xe8\xd8" , "\xbc\xbd\xfe" } , { "\xd8\xe8\xd8\xa2" , "\xbc\xbd\xc6\xfe" } , { "\xd8\xe8\xd8\xda" , "\xbc\xbd\xfe\xc9" } , { "\xd8\xe8\xd8\xdb" , "\xce\xbc\xbd\xfe" } , { "\xd8\xe8\xd8\xdc" , "\xbc\xbd\xfe\xd2" } , { "\xd8\xe8\xd8\xe5\xa2" , "\xbc\xbd\xfe\xc9\xe5" } , { "\xd8\xe8\xd9" , "\xbc" } , { "\xd8\xe8\xd9\xcc" , "\xbc\xa8\xc9" } , { "\xd8\xe8\xd9\xcd" , "\xbc\xaa\xc9" } , { "\xd8\xe8\xe8" , "\xbd\xc2\xfe" } , { "\xd8\xe8\xe9\xcf" , "\xbc\xae\xfa" } , { "\xd8\xe9" , "\xbd\xfe" } , { "\xda" , "\xc9" } , { "\xdb" , "\xca" } , { "\xdb\xa2" , "\xca\xc6" } , { "\xdc" , "\xd2" } , { "\xdc\xa2" , "\xd2\xc6" } , { "\xdd" , "\xd6" } , { "\xde" , "\xda" } , { "\xdf" , "\xde" } , { "\xe0" , "\x23\xe0" } , { "\xe0\xa2" , "\xe0\xc6" } , { "\xe1" , "\x23\xe4" } , { "\xe1\xa2" , "\xe4\xc6" } , { "\xe2" , "\x23\xe8" } , { "\xe2\xa2" , "\xe8\xc6" } , { "\xe3" , "\x23\xec" } , { "\xe3\xa2" , "\xec\xc6" } , { "\xe4" , "\x23\xc9\xe0" } , { "\xe4\xa2" , "\xc9\xe0\xc6" } , { "\xe5" , "\x23\xc9\xe4" } , { "\xe5\xa2" , "\xc9\xe4\xc6" } , { "\xe6" , "\x23\xc9\xe8" } , { "\xe6\xa2" , "\xc9\xe8\xc6" } , { "\xe7" , "\x23\xc9\xec" } , { "\xe8" , "\x23\xc2" } , { "\xe8\xe9" , "\xc2" } , { "\xe9" , "\x23\xc3" } , { "\xe9\xdd" , "\xc3\xd6" } , { "\xe9\xde" , "\xc3\xda" } , { "\xe9\xe9" , "\xc3" } , } ; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/punjabi.table�������������������������������������������������������������0100644�0001760�0000144�00001456406�13210547312�0016533�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_punjabi_table[] = { { "\xa1" , "\x7d" } , { "\xa1\xa2" , "\x7d\x7d" } , { "\xa1\xa4" , "\x7d\x41" } , { "\xa1\xa4\xa2" , "\x7d\x41\x7c" } , { "\xa1\xab" , "\x7d\x42\x7e" } , { "\xa1\xab\xa2" , "\x7d\x42\xa2" } , { "\xa1\xb0" , "\x7d\x44" } , { "\xa1\xcd\xdb" , "\x7d\x75\x68" } , { "\xa1\xd4" , "\x7d\x6d" } , { "\xa1\xe9" , "\x40" } , { "\xa2" , "\x7d" } , { "\xa2\xa3" , "\x7d" } , { "\xa3" , "" } , { "\xa4" , "\x41" } , { "\xa4\xa1" , "\x41\x7c" } , { "\xa4\xa2" , "\x41\x7c" } , { "\xa4\xa3" , "\x41" } , { "\xa4\xd0\xe8" , "\x41\x6a" } , { "\xa5" , "\x41\x73" } , { "\xa5\xa1" , "\x41\x74" } , { "\xa5\xa2" , "\x41\x74" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x41\x74\x6a\xa2" } , { "\xa5\xa3" , "\x41\x73" } , { "\xa6" , "\x75\x42" } , { "\xa6\xa1" , "\x75\x42\x7c" } , { "\xa6\xa2" , "\x75\x42\x7c" } , { "\xa6\xa3" , "\x75\x42" } , { "\xa6\xcc\xe5" , "\x75\x42\x67\xa8" } , { "\xa6\xd7" , "\x75\x42\x6e" } , { "\xa7" , "\x42\x76" } , { "\xa7\xa1" , "\x42\x77" } , { "\xa7\xa1\xa1" , "\x42\x77\x7d" } , { "\xa7\xa1\xa3" , "\x42\x77" } , { "\xa7\xa2" , "\x42\x77" } , { "\xa7\xa3" , "\x42\x76" } , { "\xa8" , "\x43\x78" } , { "\xa8\xa1" , "\x43\x78\x72" } , { "\xa8\xa2" , "\x43\x78\x72" } , { "\xa8\xa2\xa2" , "\x43\x78\x72\x7d" } , { "\xa8\xa3" , "\x43\x78" } , { "\xa8\xb3\xdf" , "\x43\x78\x75\x46" } , { "\xa9" , "\x43\x79" } , { "\xa9\xa1" , "\x43\x79\x72" } , { "\xa9\xa2" , "\x43\x79\x72" } , { "\xaa" , "\x75\x6a" } , { "\xaa\xa2" , "\x75\x6a\x7c" } , { "\xab" , "\x42\x7e" } , { "\xab\xa1" , "\x42\xa2" } , { "\xab\xa2" , "\x42\xa2" } , { "\xab\xd9" , "\x42\x7e" } , { "\xac" , "\x42\x7e" } , { "\xac\xa1" , "\x42\xa2" } , { "\xac\xa2" , "\x42\xa2" } , { "\xac\xa2\xa1" , "\x42\xa2\x7d" } , { "\xac\xd0\xc5" , "\x42\x7e\x6a\x5f" } , { "\xac\xd7" , "\x42\x7e\x6e" } , { "\xad" , "\x41\xa4" } , { "\xad\xa1" , "\x41\xa6" } , { "\xad\xa2" , "\x41\xa6" } , { "\xad\xb1" , "\x41\xa4\x41\xac" } , { "\xad\xd0\xb1" , "\x41\xa4\x6a\x41\xac" } , { "\xae" , "\x41\xa4" } , { "\xae\xa2" , "\x41\xa6" } , { "\xae\xa3" , "\x41\xa4" } , { "\xae\xd9" , "\x41\xa4" } , { "\xaf" , "\x44" } , { "\xaf\xa1" , "\x44\x72" } , { "\xaf\xa2" , "\x44\x72" } , { "\xaf\xd0\xb1\xd1" , "\x44\x6a\x41\xac\x6b" } , { "\xb0" , "\x44" } , { "\xb0\xa1" , "\x44\x72" } , { "\xb0\xa2" , "\x44\x72" } , { "\xb0\xa3" , "\x44" } , { "\xb0\xa3\xd0\xb6" , "\x44\x6a\x4b" } , { "\xb0\xcc\xe8" , "\x44\x67" } , { "\xb0\xd0" , "\x44\x6a" } , { "\xb1" , "\x41\xac" } , { "\xb1\xa1" , "\x41\xac\x72" } , { "\xb1\xa2" , "\x41\xac\x72" } , { "\xb1\xa3" , "\x41\xac" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x41\xac\x6a\x6b\x76" } , { "\xb1\xd0" , "\x41\xac\x6a" } , { "\xb1\xd1\xd7" , "\x41\xac\x6b\x6e" } , { "\xb1\xd7" , "\x41\xac\x6e" } , { "\xb2" , "\x41\xac" } , { "\xb2\xd9\xb5" , "\x41\xac\x49" } , { "\xb3" , "\x45" } , { "\xb3\xa1" , "\x45\x7c" } , { "\xb3\xa2" , "\x45\x7c" } , { "\xb3\xa2\xa2" , "\x45\x7c\x7d" } , { "\xb3\xa3" , "\x45\x7c" } , { "\xb3\xd9\xaa" , "\x45\x75\x6a" } , { "\xb3\xda" , "\x45\x73" } , { "\xb3\xda\xa1" , "\x45\x74" } , { "\xb3\xda\xa2" , "\x45\x74" } , { "\xb3\xda\xa2\xa2" , "\x45\x74\x7d" } , { "\xb3\xda\xa3" , "\x45\x73\x7c" } , { "\xb3\xdb" , "\x75\x45" } , { "\xb3\xdb\xa2" , "\x75\x45\x7c" } , { "\xb3\xdb\xa3" , "\x75\x45\x7c" } , { "\xb3\xdb\xc7" , "\x75\x45\x60" } , { "\xb3\xdc" , "\x45\x76" } , { "\xb3\xdc\xa2" , "\x45\x77" } , { "\xb3\xdd" , "\x45\x78" } , { "\xb3\xdd\xa1" , "\x45\x78\x7c" } , { "\xb3\xdd\xa2" , "\x45\x78\x7c" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x45\x78\x7c\x6a\x58" } , { "\xb3\xdd\xa3" , "\x45\x78\x7c" } , { "\xb3\xde" , "\x45\x79" } , { "\xb3\xde\xa1" , "\x45\x79\x7c" } , { "\xb3\xde\xa2" , "\x45\x79\x7c" } , { "\xb3\xdf" , "\x75\x46" } , { "\xb3\xdf\xa2" , "\x75\x46\x7c" } , { "\xb3\xe0" , "\x45\x7e" } , { "\xb3\xe0\xa2" , "\x45\xa2" } , { "\xb3\xe1" , "\x45\x7e" } , { "\xb3\xe1\xa1" , "\x45\xa2" } , { "\xb3\xe1\xa2" , "\x45\xa2" } , { "\xb3\xe2" , "\x45\xa4" } , { "\xb3\xe2\xa2" , "\x45\xa6" } , { "\xb3\xe2\xa3" , "\x45\xa4\x7c" } , { "\xb3\xe3" , "\x45\xa4" } , { "\xb3\xe4" , "\x45\xa8" } , { "\xb3\xe4\xa2" , "\x45\xaa" } , { "\xb3\xe4\xa2\xa2" , "\x45\xaa\x7d" } , { "\xb3\xe4\xa3" , "\x45\xa8\x7c" } , { "\xb3\xe5" , "\x45\xa8" } , { "\xb3\xe5\xa1" , "\x45\xaa" } , { "\xb3\xe5\xa2" , "\x45\xaa" } , { "\xb3\xe6" , "\x45\xac" } , { "\xb3\xe6\xa2" , "\x45\xac\x72" } , { "\xb3\xe6\xbd\xe8" , "\x45\xac\x53" } , { "\xb3\xe7" , "\x45\xac" } , { "\xb3\xe7\xa2" , "\x45\xac\x72" } , { "\xb3\xe8" , "\x45" } , { "\xb3\xe8\xb3" , "\x45\x45" } , { "\xb3\xe8\xb3\xa2" , "\x45\x45\x7c" } , { "\xb3\xe8\xb3\xda" , "\x45\x45\x73" } , { "\xb3\xe8\xb3\xda\xa2" , "\x45\x45\x74" } , { "\xb3\xe8\xb3\xdb" , "\x75\x45\x45" } , { "\xb3\xe8\xb3\xdb\xa2" , "\x75\x45\x45\x7c" } , { "\xb3\xe8\xb3\xdc" , "\x45\x45\x76" } , { "\xb3\xe8\xb3\xdd" , "\x45\x45\x78" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x45\x45\x78\x7c" } , { "\xb3\xe8\xb3\xde" , "\x45\x45\x79" } , { "\xb3\xe8\xb3\xdf" , "\x75\x45\x46" } , { "\xb3\xe8\xb3\xe0" , "\x45\x45\x7e" } , { "\xb3\xe8\xb3\xe0\xa2" , "\x45\x45\xa2" } , { "\xb3\xe8\xb3\xe1" , "\x45\x45\x7e" } , { "\xb3\xe8\xb3\xe1\xa2" , "\x45\x45\xa2" } , { "\xb3\xe8\xb3\xe2" , "\x45\x45\xa4" } , { "\xb3\xe8\xb3\xe4" , "\x45\x45\xa8" } , { "\xb3\xe8\xb3\xe4\xa2" , "\x45\x45\xaa" } , { "\xb3\xe8\xb3\xe5" , "\x45\x45\xa8" } , { "\xb3\xe8\xb3\xe5\xa2" , "\x45\x45\xaa" } , { "\xb3\xe8\xb3\xe6" , "\x45\x45\xac" } , { "\xb3\xe8\xb3\xe6\xa2" , "\x45\x45\xac\x72" } , { "\xb3\xe8\xb3\xe8" , "\x45\x45" } , { "\xb3\xe8\xb3\xe8\xb3" , "\x45\x45\x45" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x45\x45\x55\x73" } , { "\xb3\xe8\xb3\xe8\xc2" , "\x45\x45\x59" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x45\x45\x69" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x45\x45\x69\x78" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\x75\x45\x46" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\x45\x46\xa8" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x45\x45\x6b" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\x45\x45\x6f\x7e" } , { "\xb3\xe8\xb3\xe9" , "\x45\x45" } , { "\xb3\xe8\xb3\xe9\xda" , "\x45\x45\x73" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x45\x45\x76" } , { "\xb3\xe8\xb4" , "\x45\x47" } , { "\xb3\xe8\xb4\xa2" , "\x45\x47\x7c" } , { "\xb3\xe8\xb4\xda" , "\x45\x47\x73" } , { "\xb3\xe8\xb4\xdb" , "\x75\x45\x47" } , { "\xb3\xe8\xb4\xdc" , "\x45\x47\x76" } , { "\xb3\xe8\xb4\xe1" , "\x45\x47\x7e" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x45\x47\xa2" } , { "\xb3\xe8\xb4\xe5" , "\x45\x47\xa8" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x45\x47\xaa" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x45\x47\xac\x72" } , { "\xb3\xe8\xb4\xe7" , "\x45\x47\xac" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x45\x47\x69\x73" } , { "\xb3\xe8\xb5" , "\x45\x49" } , { "\xb3\xe8\xb5\xda" , "\x45\x49\x73" } , { "\xb3\xe8\xb5\xe5" , "\x45\x49\xa8" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x45\x49\xae\x73" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x45\x49\xae\xac\x72" } , { "\xb3\xe8\xb6" , "\x45\x4b" } , { "\xb3\xe8\xb7\xda" , "\x45\x4c\x73" } , { "\xb3\xe8\xb7\xe1" , "\x45\x4c\x7e" } , { "\xb3\xe8\xb8" , "\x45\x4d" } , { "\xb3\xe8\xb8\xda" , "\x45\x4d\x73" } , { "\xb3\xe8\xb8\xdc" , "\x45\x4d\x76" } , { "\xb3\xe8\xb8\xdd" , "\x45\x4d\x78" } , { "\xb3\xe8\xb8\xe0" , "\x45\x4d\x7e" } , { "\xb3\xe8\xb8\xe1" , "\x45\x4d\x7e" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x45\x4d\xa2" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x45\x4d\xaa" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x45\x4d\x4d\x73" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x45\x4d\x4d\x76" } , { "\xb3\xe8\xb9" , "\x45\x4e" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x45\x4e\xa2" } , { "\xb3\xe8\xba" , "\x45\x4f" } , { "\xb3\xe8\xba\xda" , "\x45\x4f\x73" } , { "\xb3\xe8\xba\xda\xa2" , "\x45\x4f\x74" } , { "\xb3\xe8\xba\xdb" , "\x75\x45\x4f" } , { "\xb3\xe8\xba\xdc" , "\x45\x4f\x76" } , { "\xb3\xe8\xba\xe1\xa2" , "\x45\x4f\xa2" } , { "\xb3\xe8\xba\xe2\xa2" , "\x45\x4f\xa6" } , { "\xb3\xe8\xba\xe5" , "\x45\x4f\xa8" } , { "\xb3\xe8\xba\xe9\xdc" , "\x45\x50\x76" } , { "\xb3\xe8\xbd" , "\x45\x53" } , { "\xb3\xe8\xbd\xda" , "\x45\x53\x73" } , { "\xb3\xe8\xbd\xda\xa2" , "\x45\x53\x74" } , { "\xb3\xe8\xbd\xdb" , "\x75\x45\x53" } , { "\xb3\xe8\xbd\xdb\xa2" , "\x75\x45\x53\x7c" } , { "\xb3\xe8\xbd\xdc" , "\x45\x53\x76" } , { "\xb3\xe8\xbd\xdd" , "\x45\x53\x78" } , { "\xb3\xe8\xbd\xde" , "\x45\x53\x79" } , { "\xb3\xe8\xbd\xe0" , "\x45\x53\x7e" } , { "\xb3\xe8\xbd\xe0\xa2" , "\x45\x53\xa2" } , { "\xb3\xe8\xbd\xe1" , "\x45\x53\x7e" } , { "\xb3\xe8\xbd\xe2" , "\x45\x53\xa4" } , { "\xb3\xe8\xbd\xe4" , "\x45\x53\xa8" } , { "\xb3\xe8\xbd\xe5" , "\x45\x53\xa8" } , { "\xb3\xe8\xbd\xe5\xa2" , "\x45\x53\xaa" } , { "\xb3\xe8\xbd\xe8" , "\x45\x53" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x45\x53\x45\x78" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x45\x53\x49\x73" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x45\x53\x49\x6b\x73" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x45\x53\x4d\x7e" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x45\x53\x54\x73" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x45\x53\x54\x76" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x45\x53\x54\xa1" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x45\x53\x60\x78" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x45\x53\x67" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x45\x53\x69" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x45\x53\x69\x78" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x45\x53\x69\x79" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x45\x53\x69\xa8" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x45\x53\xae" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x45\x53\xae\x73" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x45\x53\xae\x74" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\x75\x45\x53\xae" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x45\x53\xae\x76" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\x45\x53\xae\x7e" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\x45\x53\xae\x7e" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\x45\x53\xae\xa4" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\x45\x53\xae\xa8" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\x45\x53\xae\xa8" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\x45\x53\xae\xac" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\x45\x53\xae\xac" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x45\x53\x6a" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\x75\x45\x53\x6b" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x45\x53\x6b\x76" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x45\x53\x6b\x78" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\x45\x53\x6b\x7e" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\x45\x53\x6b\xa4" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\x45\x53\x6b\xa8" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x45\x53\xaf\x73" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\x75\x45\x53\xaf" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x45\x53\xaf\xa4" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x45\x53\x6e" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x75\x45\x53\x6e\x7c" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x45\x53\x6e\x78" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x45\x53\x6e" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x75\x45\x53\x6e\x45" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x45\x53\x6e\xae\x73" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x45\x53\x6e\x6b\xa8" } , { "\xb3\xe8\xbe\xa2" , "\x45\x54\x7d" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x45\x54\x54\x73" } , { "\xb3\xe8\xbf" , "\x45\x55" } , { "\xb3\xe8\xbf\xa2" , "\x45\x55\x7c" } , { "\xb3\xe8\xbf\xda" , "\x45\x55\x73" } , { "\xb3\xe8\xbf\xdb" , "\x75\x45\x55" } , { "\xb3\xe8\xbf\xdc" , "\x45\x55\x76" } , { "\xb3\xe8\xbf\xdd" , "\x45\x55\x78" } , { "\xb3\xe8\xbf\xde" , "\x45\x55\x79" } , { "\xb3\xe8\xbf\xe0" , "\x45\x55\x7e" } , { "\xb3\xe8\xbf\xe1" , "\x45\x55\x7e" } , { "\xb3\xe8\xbf\xe4" , "\x45\x55\xa8" } , { "\xb3\xe8\xbf\xe5" , "\x45\x55\xa8" } , { "\xb3\xe8\xbf\xe8" , "\x45\x55" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x45\x56" } , { "\xb3\xe8\xbf\xe9" , "\x45\x5b" } , { "\xb3\xe8\xbf\xe9\xda" , "\x45\x5b\x73" } , { "\xb3\xe8\xc1" , "\x45\x58" } , { "\xb3\xe8\xc1\xdb" , "\x75\x45\x58" } , { "\xb3\xe8\xc1\xdb\xa2" , "\x75\x45\x58\x7c" } , { "\xb3\xe8\xc1\xdc" , "\x45\x58\x76" } , { "\xb3\xe8\xc2" , "\x45\x59" } , { "\xb3\xe8\xc2\xa2" , "\x45\x59\x7c" } , { "\xb3\xe8\xc2\xa3" , "\x45\x59\x7c" } , { "\xb3\xe8\xc2\xda" , "\x45\x59\x73" } , { "\xb3\xe8\xc2\xda\xa2" , "\x45\x59\x74" } , { "\xb3\xe8\xc2\xda\xa3" , "\x45\x59\x73\x7c" } , { "\xb3\xe8\xc2\xdb" , "\x75\x45\x59" } , { "\xb3\xe8\xc2\xdb\xa2" , "\x75\x45\x59\x7c" } , { "\xb3\xe8\xc2\xdb\xa3" , "\x75\x45\x59\x7c" } , { "\xb3\xe8\xc2\xdc" , "\x45\x59\x76" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x45\x59\x76\x7c" } , { "\xb3\xe8\xc2\xdd" , "\x45\x59\x78" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x45\x59\x78\x7c" } , { "\xb3\xe8\xc2\xde" , "\x45\x59\x79" } , { "\xb3\xe8\xc2\xdf" , "\x75\x45\x5a" } , { "\xb3\xe8\xc2\xe0" , "\x45\x59\x7e" } , { "\xb3\xe8\xc2\xe1" , "\x45\x59\x7e" } , { "\xb3\xe8\xc2\xe2" , "\x45\x59\xa4" } , { "\xb3\xe8\xc2\xe5" , "\x45\x59\xa8" } , { "\xb3\xe8\xc2\xe5\xa2" , "\x45\x59\xaa" } , { "\xb3\xe8\xc2\xe6" , "\x45\x59\xac" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x45\x59\x45\x7e" } , { "\xb3\xe8\xc2\xe8\xc2" , "\x45\x59\x59" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\x45\x59\x59\x73" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\x75\x45\x59\x59" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x45\x59\x69" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x45\x59\x69\x7c" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x45\x59\x69\x73" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x45\x59\x69\x78" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x45\x59\x69\xa4" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x45\x59\x69\xaa" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x45\x5a" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x45\x5a\x7c" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x45\x5a\x7c" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\x75\x45\x5a" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\x45\x5a\x7e" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\x45\x5a\xa4" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x45\x59\xaf" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x45\x59\xaf\x7c" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x45\x59\xaf\x73" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\x75\x45\x59\xaf" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x45\x59\x6e" } , { "\xb3\xe8\xc3" , "\x45\x5c" } , { "\xb3\xe8\xc3\xa2" , "\x45\x5c\x7c" } , { "\xb3\xe8\xc3\xdb" , "\x75\x45\x5c" } , { "\xb3\xe8\xc3\xdd" , "\x45\x5c\x78" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x45\x5c\x69" } , { "\xb3\xe8\xc4" , "\x45\x5d" } , { "\xb3\xe8\xc4\xda" , "\x45\x5d\x73" } , { "\xb3\xe8\xc4\xdb" , "\x75\x45\x5d" } , { "\xb3\xe8\xc4\xdd" , "\x45\x5d\x78" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x45\x5d\x78\x7c" } , { "\xb3\xe8\xc4\xe4" , "\x45\x5d\xa8" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x45\x5e\x76" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x45\x5d\xaf\x73" } , { "\xb3\xe8\xc5" , "\x45\x5f" } , { "\xb3\xe8\xc5\xda" , "\x45\x5f\x73" } , { "\xb3\xe8\xc6" , "\x45\x60" } , { "\xb3\xe8\xc6\xda" , "\x45\x60\x73" } , { "\xb3\xe8\xc6\xda\xa2" , "\x45\x60\x74" } , { "\xb3\xe8\xc6\xdb" , "\x75\x45\x60" } , { "\xb3\xe8\xc6\xdc" , "\x45\x60\x76" } , { "\xb3\xe8\xc6\xdd" , "\x45\x60\x78" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x45\x60\x78\x7d" } , { "\xb3\xe8\xc6\xde" , "\x45\x60\x79" } , { "\xb3\xe8\xc6\xe0" , "\x45\x60\x7e" } , { "\xb3\xe8\xc6\xe4" , "\x45\x60\xa8" } , { "\xb3\xe8\xc6\xe5" , "\x45\x60\xa9" } , { "\xb3\xe8\xc6\xe7" , "\x45\x60\xac" } , { "\xb3\xe8\xc6\xe8" , "\x45\x60" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x45\x60\x69" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x45\x60\x69\x73" } , { "\xb3\xe8\xc8" , "\x45\x61" } , { "\xb3\xe8\xc8\xa2" , "\x45\x61\x7c" } , { "\xb3\xe8\xc8\xda" , "\x45\x61\x73" } , { "\xb3\xe8\xc8\xdb" , "\x75\x45\x61" } , { "\xb3\xe8\xc8\xdc" , "\x45\x61\x76" } , { "\xb3\xe8\xc8\xdd" , "\x45\x61\x78" } , { "\xb3\xe8\xc8\xde" , "\x45\x61\x79" } , { "\xb3\xe8\xc8\xdf" , "\x75\x45\x61\xae" } , { "\xb3\xe8\xc8\xe1" , "\x45\x61\x7e" } , { "\xb3\xe8\xc8\xe2" , "\x45\x61\xa4" } , { "\xb3\xe8\xc8\xe4" , "\x45\x61\xa8" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x45\x61\xae" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x45\x61\xae\x73" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x45\x61\xae\xac" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x75\x45\x61\x6e" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x45\x61\x6e\x7e" } , { "\xb3\xe8\xc9" , "\x45\x62" } , { "\xb3\xe8\xc9\xda" , "\x45\x62\x73" } , { "\xb3\xe8\xc9\xdb" , "\x75\x45\x62" } , { "\xb3\xe8\xc9\xdd" , "\x45\x62\x78" } , { "\xb3\xe8\xc9\xe0" , "\x45\x62\x7e" } , { "\xb3\xe8\xc9\xe1" , "\x45\x62\x7e" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x45\x63\x7e" } , { "\xb3\xe8\xca" , "\x45\x64" } , { "\xb3\xe8\xca\xa2" , "\x45\x64\x7c" } , { "\xb3\xe8\xca\xda" , "\x45\x64\x73" } , { "\xb3\xe8\xca\xdc" , "\x45\x64\x76" } , { "\xb3\xe8\xca\xde" , "\x45\x64\x79" } , { "\xb3\xe8\xca\xe1" , "\x45\x64\x7e" } , { "\xb3\xe8\xca\xe5" , "\x45\x64\xa8" } , { "\xb3\xe8\xca\xe5\xa2" , "\x45\x64\xaa" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x45\x64\x6b\x73" } , { "\xb3\xe8\xcb" , "\x45\x65" } , { "\xb3\xe8\xcb\xda" , "\x45\x65\x73" } , { "\xb3\xe8\xcb\xdb" , "\x75\x45\x65" } , { "\xb3\xe8\xcc" , "\x45\x67" } , { "\xb3\xe8\xcc\xa2" , "\x45\x67\x7c" } , { "\xb3\xe8\xcc\xda" , "\x45\x67\x73" } , { "\xb3\xe8\xcc\xda\xa2" , "\x45\x67\x74" } , { "\xb3\xe8\xcc\xdb" , "\x75\x45\x67" } , { "\xb3\xe8\xcc\xdc" , "\x45\x67\x76" } , { "\xb3\xe8\xcc\xdd" , "\x45\x67\x78" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x45\x67\x78\x7c" } , { "\xb3\xe8\xcc\xe0" , "\x45\x67\x7e" } , { "\xb3\xe8\xcc\xe1" , "\x45\x67\x7e" } , { "\xb3\xe8\xcc\xe1\xa2" , "\x45\x67\xa2" } , { "\xb3\xe8\xcc\xe2" , "\x45\x67\xa4" } , { "\xb3\xe8\xcc\xe5" , "\x45\x67\xa8" } , { "\xb3\xe8\xcd" , "\x45\x69" } , { "\xb3\xe8\xcd\xa2" , "\x45\x69\x7c" } , { "\xb3\xe8\xcd\xda" , "\x45\x69\x73" } , { "\xb3\xe8\xcd\xda\xa1" , "\x45\x69\x74" } , { "\xb3\xe8\xcd\xda\xa2" , "\x45\x69\x74" } , { "\xb3\xe8\xcd\xdb" , "\x75\x45\x69" } , { "\xb3\xe8\xcd\xdd" , "\x45\x69\x78" } , { "\xb3\xe8\xcd\xde" , "\x45\x69\x79" } , { "\xb3\xe8\xcd\xde\xa1" , "\x45\x69\x79\x7c" } , { "\xb3\xe8\xcd\xde\xa2" , "\x45\x69\x79\x7c" } , { "\xb3\xe8\xcd\xe1" , "\x45\x69\x7e" } , { "\xb3\xe8\xcd\xe2" , "\x45\x69\xa4" } , { "\xb3\xe8\xcd\xe5" , "\x45\x69\xa8" } , { "\xb3\xe8\xcd\xe5\xa2" , "\x45\x69\xaa" } , { "\xb3\xe8\xcd\xe8" , "\x45\x68" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x45\x68\x69\x73" } , { "\xb3\xe8\xcf" , "\x46" } , { "\xb3\xe8\xcf\xa2" , "\x46\x7c" } , { "\xb3\xe8\xcf\xda" , "\x46\x73" } , { "\xb3\xe8\xcf\xda\xa1" , "\x46\x74" } , { "\xb3\xe8\xcf\xda\xa2" , "\x46\x74" } , { "\xb3\xe8\xcf\xdb" , "\x75\x46" } , { "\xb3\xe8\xcf\xdb\xa2" , "\x75\x46\x7c" } , { "\xb3\xe8\xcf\xdc" , "\x46\x76" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x46\x77" } , { "\xb3\xe8\xcf\xdd" , "\x46\x7a" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x46\x7a\x7c" } , { "\xb3\xe8\xcf\xde" , "\x46\x7b" } , { "\xb3\xe8\xcf\xdf" , "\x75\x45\x6a\xae" } , { "\xb3\xe8\xcf\xe0" , "\x46\x7e" } , { "\xb3\xe8\xcf\xe1" , "\x46\x7e" } , { "\xb3\xe8\xcf\xe1\xa2" , "\x46\xa2" } , { "\xb3\xe8\xcf\xe2" , "\x46\xa4" } , { "\xb3\xe8\xcf\xe2\xa2" , "\x46\xa6" } , { "\xb3\xe8\xcf\xe4" , "\x46\xa8" } , { "\xb3\xe8\xcf\xe4\xa2" , "\x46\xaa" } , { "\xb3\xe8\xcf\xe5" , "\x46\xa8" } , { "\xb3\xe8\xcf\xe5\xa2" , "\x46\xaa" } , { "\xb3\xe8\xcf\xe6" , "\x46\xac" } , { "\xb3\xe8\xcf\xe6\xa2" , "\x46\xac\x72" } , { "\xb3\xe8\xcf\xe7" , "\x46\xac" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x45\x6a\x53\x73" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x45\x6a\x5c\x7c" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x45\x6a\x69" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x45\x6a\x6f\x7e" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x45\x6a\x6e" } , { "\xb3\xe8\xd0\xdc" , "\x45\x6a\x76" } , { "\xb3\xe8\xd0\xdd" , "\x45\x6a\x78" } , { "\xb3\xe8\xd0\xe4" , "\x45\x6a\xa8" } , { "\xb3\xe8\xd1" , "\x45\x6b" } , { "\xb3\xe8\xd1\xa2" , "\x45\x6b\x7c" } , { "\xb3\xe8\xd1\xda" , "\x45\x6b\x73" } , { "\xb3\xe8\xd1\xda\xa1" , "\x45\x6b\x74" } , { "\xb3\xe8\xd1\xda\xa2" , "\x45\x6b\x74" } , { "\xb3\xe8\xd1\xdb" , "\x75\x45\x6b" } , { "\xb3\xe8\xd1\xdb\xa2" , "\x75\x45\x6b\x7c" } , { "\xb3\xe8\xd1\xdc" , "\x45\x6b\x76" } , { "\xb3\xe8\xd1\xdd" , "\x45\x6b\x78" } , { "\xb3\xe8\xd1\xde" , "\x45\x6b\x79" } , { "\xb3\xe8\xd1\xe0" , "\x45\x6b\x7e" } , { "\xb3\xe8\xd1\xe0\xa2" , "\x45\x6b\xa2" } , { "\xb3\xe8\xd1\xe1" , "\x45\x6b\x7e" } , { "\xb3\xe8\xd1\xe1\xa2" , "\x45\x6b\xa2" } , { "\xb3\xe8\xd1\xe2" , "\x45\x6b\xa4" } , { "\xb3\xe8\xd1\xe2\xa2" , "\x45\x6b\xa6" } , { "\xb3\xe8\xd1\xe4" , "\x45\x6b\xa8" } , { "\xb3\xe8\xd1\xe5" , "\x45\x6b\xa8" } , { "\xb3\xe8\xd1\xe5\xa2" , "\x45\x6b\xaa" } , { "\xb3\xe8\xd1\xe6" , "\x45\x6b\xac" } , { "\xb3\xe8\xd1\xe7" , "\x45\x6b\xac" } , { "\xb3\xe8\xd1\xe8" , "\x45\x6b" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x45\x6b\x4d" } , { "\xb3\xe8\xd1\xe8\xc8" , "\x45\x6b\x61" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x45\x6b\x69" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x45\x6b\x69\x73" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x45\x6b\x6e\x76" } , { "\xb3\xe8\xd2" , "\x45\x6b" } , { "\xb3\xe8\xd4" , "\x45\xaf" } , { "\xb3\xe8\xd4\xa2" , "\x45\xaf\x7c" } , { "\xb3\xe8\xd4\xda" , "\x45\xaf\x73" } , { "\xb3\xe8\xd4\xda\xa1" , "\x45\xaf\x74" } , { "\xb3\xe8\xd4\xda\xa2" , "\x45\xaf\x74" } , { "\xb3\xe8\xd4\xdb" , "\x75\x45\xaf" } , { "\xb3\xe8\xd4\xdb\xa2" , "\x75\x45\xaf\x7c" } , { "\xb3\xe8\xd4\xdc" , "\x45\xaf\x76" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x45\xaf\x77" } , { "\xb3\xe8\xd4\xdf" , "\x75\x45\x6d\xae" } , { "\xb3\xe8\xd4\xe0" , "\x45\xaf\x7e" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x45\xaf\xa2" } , { "\xb3\xe8\xd4\xe1" , "\x45\xaf\x7e" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x45\xaf\xa2" } , { "\xb3\xe8\xd4\xe2" , "\x45\xaf\xa4" } , { "\xb3\xe8\xd4\xe4" , "\x45\xaf\xa8" } , { "\xb3\xe8\xd4\xe5" , "\x45\xaf\xa8" } , { "\xb3\xe8\xd4\xe6" , "\x45\xaf\xac" } , { "\xb3\xe8\xd4\xe8" , "\x45\x6d" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x45\x6d\x6e\x73" } , { "\xb3\xe8\xd5" , "\x45\x6f" } , { "\xb3\xe8\xd5\xa2" , "\x45\x6f\x7c" } , { "\xb3\xe8\xd5\xda" , "\x45\x6f\x73" } , { "\xb3\xe8\xd5\xdb" , "\x75\x45\x6f" } , { "\xb3\xe8\xd5\xdb\xa2" , "\x75\x45\x6f\x7c" } , { "\xb3\xe8\xd5\xdc" , "\x45\x6f\x76" } , { "\xb3\xe8\xd5\xdd" , "\x45\x6f\x78" } , { "\xb3\xe8\xd5\xde" , "\x45\x6f\x79" } , { "\xb3\xe8\xd5\xe1" , "\x45\x6f\x7e" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x45\x6f\xa2" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x45\x6f\xaa" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x45\x6f\x4d" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x45\x6f\x69" } , { "\xb3\xe8\xd6" , "\x45\x6f" } , { "\xb3\xe8\xd6\xa2" , "\x45\x6f\x7c" } , { "\xb3\xe8\xd6\xa3" , "\x45\x6f\x7c" } , { "\xb3\xe8\xd6\xda" , "\x45\x6f\x73" } , { "\xb3\xe8\xd6\xda\xa2" , "\x45\x6f\x74" } , { "\xb3\xe8\xd6\xdb" , "\x75\x45\x6f" } , { "\xb3\xe8\xd6\xdb\xa2" , "\x75\x45\x6f\x7c" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\x75\x45\x6f\x7c\x7d" } , { "\xb3\xe8\xd6\xdc" , "\x45\x6f\x76" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x45\x6f\x77" } , { "\xb3\xe8\xd6\xdd" , "\x45\x6f\x78" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x45\x6f\x78\x7c" } , { "\xb3\xe8\xd6\xde" , "\x45\x6f\x79" } , { "\xb3\xe8\xd6\xdf" , "\x75\x45\x6f\xae" } , { "\xb3\xe8\xd6\xe0" , "\x45\x6f\x7e" } , { "\xb3\xe8\xd6\xe0\xa2" , "\x45\x6f\xa2" } , { "\xb3\xe8\xd6\xe1" , "\x45\x6f\x7e" } , { "\xb3\xe8\xd6\xe1\xa2" , "\x45\x6f\xa2" } , { "\xb3\xe8\xd6\xe2" , "\x45\x6f\xa4" } , { "\xb3\xe8\xd6\xe5" , "\x45\x6f\xa8" } , { "\xb3\xe8\xd6\xe5\xa2" , "\x45\x6f\xaa" } , { "\xb3\xe8\xd6\xe6" , "\x45\x6f\xac" } , { "\xb3\xe8\xd6\xe8" , "\x45\x6f" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\x45\x6f\x45\x78" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\x45\x6f\x45\x6f" } , { "\xb3\xe8\xd6\xe8\xbd" , "\x45\x6f\x53" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\x45\x6f\x53\xae\x73" } , { "\xb3\xe8\xd6\xe8\xc1" , "\x45\x6f\x58" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\x45\x6f\x58\x7d" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\x45\x6f\x58\x73" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\x45\x6f\x58\xa5" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\x45\x6f\x58\xa9" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x45\x6f\x59" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\x45\x6f\x5a" } , { "\xb3\xe8\xd6\xe8\xc6" , "\x45\x6f\x60" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\x45\x6f\x60" } , { "\xb3\xe8\xd6\xe8\xcc" , "\x45\x6f\x67" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\x45\x6f\x67\x7c" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\x45\x6f\x67\x73" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\x45\x6f\x67\x74" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\x75\x45\x6f\x67" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\x75\x45\x6f\x67\x7c" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\x45\x6f\x67\x76" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\x45\x6f\x67\x78" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\x45\x6f\x67\x7e" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x45\x6f\x69" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x45\x6f\x69\x7c" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x45\x6f\x69\x73" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x45\x6f\x69\x74" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x45\x6f\x69\x76" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x45\x6f\x69\x78" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x45\x6f\x69\x79" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x45\x6f\x69\x7e" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x45\x6f\x69\xa8" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x45\x6f\x69\xaa" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x45\x6f\xae" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x45\x6f\xae\x7c" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x45\x6f\xae\x73" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x45\x6f\x6b" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x45\x6f\x6b\x78" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x45\x6f\xaf\x73" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x45\x6f\xaf\x7e" } , { "\xb3\xe8\xd7" , "\x45\x6e" } , { "\xb3\xe8\xd7\xa2" , "\x45\x6e\x7c" } , { "\xb3\xe8\xd7\xda" , "\x45\x6e\x73" } , { "\xb3\xe8\xd7\xda\xa2" , "\x45\x6e\x74" } , { "\xb3\xe8\xd7\xdb" , "\x75\x45\x6e" } , { "\xb3\xe8\xd7\xdb\xa2" , "\x75\x45\x6e\x7c" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\x75\x45\x6e\x7c\x7d" } , { "\xb3\xe8\xd7\xdc" , "\x45\x6e\x76" } , { "\xb3\xe8\xd7\xdd" , "\x45\x6e\x78" } , { "\xb3\xe8\xd7\xde" , "\x45\x6e\x79" } , { "\xb3\xe8\xd7\xe0" , "\x45\x6e\x7e" } , { "\xb3\xe8\xd7\xe0\xa2" , "\x45\x6e\xa2" } , { "\xb3\xe8\xd7\xe1" , "\x45\x6e\x7e" } , { "\xb3\xe8\xd7\xe1\xa2" , "\x45\x6e\xa2" } , { "\xb3\xe8\xd7\xe2" , "\x45\x6e\xa4" } , { "\xb3\xe8\xd7\xe4" , "\x45\x6e\xa8" } , { "\xb3\xe8\xd7\xe5" , "\x45\x6e\xa8" } , { "\xb3\xe8\xd7\xe5\xa2" , "\x45\x6e\xaa" } , { "\xb3\xe8\xd7\xe6" , "\x45\x6e\xac" } , { "\xb3\xe8\xd7\xe8" , "\x45\x6e" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\x75\x45\x6e\x45" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x45\x6e\x45\x78" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x45\x6e\x45\x79" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x45\x6e\x45\x69\x79" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x45\x6e\x46\x76" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x45\x6e\x45\x6b\x79" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x45\x6e\x49" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x45\x6e\x49\x73" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x45\x6e\x49\xae\x7e" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x45\x6e\x4d" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x75\x45\x6e\x4d" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x45\x6e\x4d\x7e" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x45\x6e\x4d\xa2" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x45\x6e\x4e\xa2" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x45\x6e\x4f\x6b" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x45\x6e\x53" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x45\x6e\x53\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x45\x6e\x53\x76" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x45\x6e\x53\x7e" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x45\x6e\x53\xa2" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x45\x6e\x53\xa2" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x45\x6e\x53\xa4" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x45\x6e\x53\xa8" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x45\x6e\x53" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x45\x6e\x53\xae\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x75\x45\x6e\x53\xae" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x45\x6e\x53\xae\x76" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x45\x6e\x53\xae\x7b" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x45\x6e\x53\xae\xa8" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x45\x6e\x55" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x45\x6e\x55\x49\x73" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\x45\x6e\x59\x79" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\x45\x6e\x59" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x45\x6e\x5c\x73" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\x75\x45\x6e\x5c" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x45\x6e\x5d\x73" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\x45\x6e\x60\x7d" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\x75\x45\x6e\x60" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\x45\x6e\x60\x78" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\x45\x6e\x60\x78\x7d" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\x45\x6e\x60\xa1" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\x45\x6e\x60" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x45\x6e\x60\x6b\xa9" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x45\x6e\x61" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x45\x6e\x61\x7c" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x45\x6e\x61\x73" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\x75\x45\x6e\x61" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x45\x6e\x61\x76" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x45\x6e\x61\x7e" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x45\x6e\x61\xa2" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x45\x6e\x61\xa4" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x45\x6e\x61\xa8" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x45\x6e\x61\xa8" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x45\x6e\x61\xac" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x45\x6e\x61\xae\x7e" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x45\x6e\x61\xae\x7e" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x45\x6e\x61\x6b" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x45\x6e\x61\x6b\x73" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x45\x6e\x61\x6b\x74" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x45\x6e\x61\x6b\x7e" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x45\x6e\x62" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\x75\x45\x6e\x62" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x45\x6e\x62\x6b\xa8" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x45\x6e\x67" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\x75\x45\x6e\x67" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x45\x6e\x67\x78" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x45\x6e\x67\x69\x73" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x45\x6e\x69\x79" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x45\x6e\xae\x7a" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\x45\x6e\xae\x7e" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\x45\x6e\xae\x7e" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x45\x6e\x6a" } , { "\xb3\xe8\xd7\xe8\xd1" , "\x45\x6e\x6b" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\x45\x6e\x6b\x76" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\x45\x6e\x6b\x78" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\x45\x6e\x6b\xa2" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\x45\x6e\x6b\x7e" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\x45\x6e\x6b\xa4" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\x45\x6e\x6b\xa8" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x45\x6e\xaf" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x45\x6e\xaf\x7c" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x45\x6e\xaf\x73" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x45\x6e\xaf\x7e" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x45\x6e\x6e" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x45\x6e\x6e\x53\xae\x73" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x45\x6e\xad\xa4" } , { "\xb3\xe8\xd8" , "\x45\xad" } , { "\xb3\xe8\xd8\xda" , "\x45\xad\x73" } , { "\xb3\xe8\xd8\xda\xa2" , "\x45\xad\x74" } , { "\xb3\xe8\xd8\xe0" , "\x45\xad\x7e" } , { "\xb3\xe8\xd8\xe8" , "\x45\x70" } , { "\xb3\xe8\xd9\xa6" , "\x45\x75\x42" } , { "\xb3\xe8\xd9\xb3" , "\x45\x45" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x45\x45\x76" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x45\x47\xac" } , { "\xb3\xe8\xd9\xbd" , "\x45\x53" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x45\x53\xae\x73" } , { "\xb3\xe8\xd9\xc2" , "\x45\x59" } , { "\xb3\xe8\xd9\xc2\xda" , "\x45\x59\x73" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x45\x75\x59" } , { "\xb3\xe8\xd9\xc2\xde" , "\x45\x59\x79" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x45\x75\x5a" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x45\x59\xaa" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x45\x59\x6d" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x45\x75\x6a\x53" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x45\x6a\x69" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x45\x6a\x6e" } , { "\xb3\xe8\xd9\xd4" , "\x45\x6d" } , { "\xb3\xe8\xd9\xd7" , "\x45\x6e" } , { "\xb3\xe8\xd9\xd7\xda" , "\x45\x6e\x73" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x45\x6e\x76" } , { "\xb3\xe8\xe8" , "\x45" } , { "\xb3\xe8\xe9\xc2" , "\x45\x59" } , { "\xb3\xe8\xe9\xcf" , "\x46" } , { "\xb3\xe8\xe9\xd6" , "\x45\x6f" } , { "\xb3\xe9" , "\x45" } , { "\xb3\xe9\xda" , "\x45\x73" } , { "\xb3\xe9\xdb" , "\x75\x45" } , { "\xb3\xe9\xdb\xa2" , "\x75\x45\x7c" } , { "\xb3\xe9\xdc" , "\x45\x76" } , { "\xb3\xe9\xdd" , "\x45\x78" } , { "\xb3\xe9\xde" , "\x45\x79" } , { "\xb3\xe9\xe1" , "\x45\x7e" } , { "\xb3\xe9\xe2" , "\x45\xa4" } , { "\xb3\xe9\xe5\xa2" , "\x45\xaa" } , { "\xb3\xe9\xe6" , "\x45\xac" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x45\x45" } , { "\xb3\xe9\xe8\xc2" , "\x45\x59" } , { "\xb3\xe9\xe8\xcc" , "\x45\x67" } , { "\xb3\xe9\xe8\xd1" , "\x45\x6b" } , { "\xb3\xe9\xe8\xd1\xdb" , "\x75\x45\x6b" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x45\x6e\x76" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x45\x59\x7e" } , { "\xb4" , "\x47" } , { "\xb4\xa1" , "\x47\x7c" } , { "\xb4\xa2" , "\x47\x7c" } , { "\xb4\xa3" , "\x47\x7c" } , { "\xb4\xd0" , "\x47\x6a" } , { "\xb4\xd0\xb8" , "\x47\x6a\x4d" } , { "\xb4\xd0\xdc" , "\x47\x6a\x76" } , { "\xb4\xda" , "\x47\x73" } , { "\xb4\xda\xa1" , "\x47\x74" } , { "\xb4\xda\xa2" , "\x47\x74" } , { "\xb4\xda\xa3" , "\x47\x73\x7c" } , { "\xb4\xdb" , "\x75\x47" } , { "\xb4\xdb\xa2" , "\x75\x47\x7c" } , { "\xb4\xdc" , "\x47\x76" } , { "\xb4\xdc\xa2" , "\x47\x77" } , { "\xb4\xdd" , "\x47\x78" } , { "\xb4\xdd\xa1" , "\x47\x78\x7c" } , { "\xb4\xdd\xa2" , "\x47\x78\x7c" } , { "\xb4\xde" , "\x47\x79" } , { "\xb4\xde\xa1" , "\x47\x79\x7c" } , { "\xb4\xde\xa2" , "\x47\x79\x7c" } , { "\xb4\xdf" , "\x75\x47\xae" } , { "\xb4\xe0" , "\x47\x7e" } , { "\xb4\xe1" , "\x47\x7e" } , { "\xb4\xe1\xa1" , "\x47\xa2" } , { "\xb4\xe1\xa2" , "\x47\xa2" } , { "\xb4\xe2" , "\x47\xa4" } , { "\xb4\xe2\xa2" , "\x47\xa6" } , { "\xb4\xe4" , "\x47\xa8" } , { "\xb4\xe5" , "\x47\xa8" } , { "\xb4\xe5\xa2" , "\x47\xaa" } , { "\xb4\xe6" , "\x47\xac" } , { "\xb4\xe8" , "\x47" } , { "\xb4\xe8\xb3" , "\x47\x45" } , { "\xb4\xe8\xb3\xda" , "\x47\x45\x73" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x47\x45\x6f" } , { "\xb4\xe8\xb4" , "\x47\x47" } , { "\xb4\xe8\xb4\xa2" , "\x47\x47\x7c" } , { "\xb4\xe8\xb4\xa3" , "\x47\x47\x7c" } , { "\xb4\xe8\xb4\xda" , "\x47\x47\x73" } , { "\xb4\xe8\xb4\xdb\xa2" , "\x75\x47\x47\x7c" } , { "\xb4\xe8\xb4\xdc" , "\x47\x47\x76" } , { "\xb4\xe8\xb5\xda" , "\x47\x49\x73" } , { "\xb4\xe8\xb8\xda" , "\x47\x4d\x73" } , { "\xb4\xe8\xbd" , "\x47\x53" } , { "\xb4\xe8\xc2" , "\x47\x59" } , { "\xb4\xe8\xc2\xda" , "\x47\x59\x73" } , { "\xb4\xe8\xc2\xdb" , "\x75\x47\x59" } , { "\xb4\xe8\xc2\xdc" , "\x47\x59\x76" } , { "\xb4\xe8\xc2\xdd" , "\x47\x59\x78" } , { "\xb4\xe8\xc2\xe1" , "\x47\x59\x7e" } , { "\xb4\xe8\xc2\xe5" , "\x47\x59\xa8" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x47\x59\xaa" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x47\x59\x47\x73" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x47\x5d\x78\x7c" } , { "\xb4\xe8\xc6\xdc" , "\x47\x60\x76" } , { "\xb4\xe8\xc6\xdd" , "\x47\x60\x78" } , { "\xb4\xe8\xc6\xe2" , "\x47\x60\xa5" } , { "\xb4\xe8\xc6\xe5" , "\x47\x60\xa9" } , { "\xb4\xe8\xc8\xde" , "\x47\x61\x79" } , { "\xb4\xe8\xcc" , "\x47\x67" } , { "\xb4\xe8\xcc\xda" , "\x47\x67\x73" } , { "\xb4\xe8\xcc\xdb" , "\x75\x47\x67" } , { "\xb4\xe8\xcc\xdc" , "\x47\x67\x76" } , { "\xb4\xe8\xcc\xe5\xa2" , "\x47\x67\xaa" } , { "\xb4\xe8\xcd" , "\x47\x69" } , { "\xb4\xe8\xcd\xa2" , "\x47\x69\x7c" } , { "\xb4\xe8\xcd\xda" , "\x47\x69\x73" } , { "\xb4\xe8\xcd\xda\xa2" , "\x47\x69\x74" } , { "\xb4\xe8\xcd\xdb" , "\x75\x47\x69" } , { "\xb4\xe8\xcd\xdd" , "\x47\x69\x78" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x47\x69\x78\x7c" } , { "\xb4\xe8\xcd\xde" , "\x47\x69\x79" } , { "\xb4\xe8\xcd\xe1" , "\x47\x69\x7e" } , { "\xb4\xe8\xcd\xe5" , "\x47\x69\xa8" } , { "\xb4\xe8\xcd\xe5\xa2" , "\x47\x69\xaa" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x47\x68\x69" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x47\x68\x69\x73" } , { "\xb4\xe8\xcf" , "\x47\xae" } , { "\xb4\xe8\xcf\xdd" , "\x47\xae\x7a" } , { "\xb4\xe8\xd1\xda" , "\x47\x6b\x73" } , { "\xb4\xe8\xd1\xdd" , "\x47\x6b\x78" } , { "\xb4\xe8\xd4\xda" , "\x47\xaf\x73" } , { "\xb4\xe8\xd5" , "\x47\x6f" } , { "\xb4\xe8\xd5\xda" , "\x47\x6f\x73" } , { "\xb4\xe8\xd5\xdc" , "\x47\x6f\x76" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x47\x6f\x69\x73" } , { "\xb4\xe8\xd7" , "\x47\x6e" } , { "\xb4\xe8\xd7\xdb" , "\x75\x47\x6e" } , { "\xb4\xe8\xd7\xdc" , "\x47\x6e\x76" } , { "\xb4\xe8\xd9\xd5" , "\x47\x6f" } , { "\xb4\xe8\xe8" , "\x47" } , { "\xb4\xe8\xe9\xcf" , "\x47\xae" } , { "\xb4\xe9" , "\x48" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x48\x6a\x4d\x73" } , { "\xb4\xe9\xda" , "\x48\x73" } , { "\xb4\xe9\xda\xa1" , "\x48\x74" } , { "\xb4\xe9\xdb" , "\x75\x48" } , { "\xb4\xe9\xdc" , "\x48\x76" } , { "\xb4\xe9\xdd" , "\x48\x78" } , { "\xb4\xe9\xde" , "\x48\x79" } , { "\xb4\xe9\xe2" , "\x48\xa4" } , { "\xb4\xe9\xe5" , "\x48\xa8" } , { "\xb4\xe9\xe5\xa2" , "\x48\xaa" } , { "\xb4\xe9\xe8\xc2" , "\x48\x59" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x48\x59\xaa" } , { "\xb4\xe9\xe8\xcd\xda" , "\x48\x69\x73" } , { "\xb4\xe9\xe8\xd4\xda" , "\x48\xaf\x73" } , { "\xb4\xe9\xe8\xd5" , "\x48\x6f" } , { "\xb4\xe9\xe8\xd7" , "\x48\x6e" } , { "\xb5" , "\x49" } , { "\xb5\xa1" , "\x49\x7c" } , { "\xb5\xa2" , "\x49\x7c" } , { "\xb5\xa3" , "\x49\x7c" } , { "\xb5\xda" , "\x49\x73" } , { "\xb5\xda\xa1" , "\x49\x74" } , { "\xb5\xda\xa2" , "\x49\x74" } , { "\xb5\xda\xa3" , "\x49\x73\x7c" } , { "\xb5\xdb" , "\x75\x49" } , { "\xb5\xdb\xa2" , "\x75\x49\x7c" } , { "\xb5\xdc" , "\x49\x76" } , { "\xb5\xdc\xa2" , "\x49\x77" } , { "\xb5\xdc\xa3" , "\x49\x76\x7c" } , { "\xb5\xdd" , "\x49\x78" } , { "\xb5\xdd\xa1" , "\x49\x78\x7c" } , { "\xb5\xdd\xa2" , "\x49\x78\x7c" } , { "\xb5\xdd\xa2\xa2" , "\x49\x78\x7c\x7d" } , { "\xb5\xdd\xa3" , "\x49\x78\x7c" } , { "\xb5\xde" , "\x49\x79" } , { "\xb5\xde\xa1" , "\x49\x79\x7c" } , { "\xb5\xde\xa2" , "\x49\x79\x7c" } , { "\xb5\xdf" , "\x75\x49\xae" } , { "\xb5\xdf\xa2" , "\x75\x49\xae\x7c" } , { "\xb5\xe0" , "\x49\x7e" } , { "\xb5\xe0\xa2" , "\x49\xa2" } , { "\xb5\xe1" , "\x49\x7e" } , { "\xb5\xe1\xa2" , "\x49\xa2" } , { "\xb5\xe1\xa3" , "\x49\x7e\x7c" } , { "\xb5\xe2" , "\x49\xa4" } , { "\xb5\xe2\xa2" , "\x49\xa6" } , { "\xb5\xe2\xa3" , "\x49\xa4\x7c" } , { "\xb5\xe4" , "\x49\xa8" } , { "\xb5\xe4\xa2" , "\x49\xaa" } , { "\xb5\xe5" , "\x49\xa8" } , { "\xb5\xe5\xa2" , "\x49\xaa" } , { "\xb5\xe6" , "\x49\xac" } , { "\xb5\xe6\xa1" , "\x49\xac\x72" } , { "\xb5\xe6\xa2" , "\x49\xac\x72" } , { "\xb5\xe7" , "\x49\xac" } , { "\xb5\xe8" , "\x49" } , { "\xb5\xe8\x4d" , "\x49\x4d" } , { "\xb5\xe8\xb3" , "\x49\x45" } , { "\xb5\xe8\xb3\xda" , "\x49\x45\x73" } , { "\xb5\xe8\xb3\xdb" , "\x75\x49\x45" } , { "\xb5\xe8\xb3\xdd" , "\x49\x45\x78" } , { "\xb5\xe8\xb3\xde" , "\x49\x45\x79" } , { "\xb5\xe8\xb3\xe2" , "\x49\x45\xa4" } , { "\xb5\xe8\xb3\xe5" , "\x49\x45\xa8" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x49\x45\x6b" } , { "\xb5\xe8\xb5" , "\x49\x49" } , { "\xb5\xe8\xb5\xa2" , "\x49\x49\x7c" } , { "\xb5\xe8\xb5\xda" , "\x49\x49\x73" } , { "\xb5\xe8\xb5\xdb" , "\x75\x49\x49" } , { "\xb5\xe8\xb5\xdb\xa2" , "\x75\x49\x49\x7c" } , { "\xb5\xe8\xb5\xdc" , "\x49\x49\x76" } , { "\xb5\xe8\xb5\xdd" , "\x49\x49\x78" } , { "\xb5\xe8\xb5\xdd\xa2" , "\x49\x49\x78\x7c" } , { "\xb5\xe8\xb5\xde" , "\x49\x49\x79" } , { "\xb5\xe8\xb5\xe0" , "\x49\x49\x7e" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x49\x49\xa2" } , { "\xb5\xe8\xb5\xe1" , "\x49\x49\x7e" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x49\x49\xa2" } , { "\xb5\xe8\xb5\xe2" , "\x49\x49\xa4" } , { "\xb5\xe8\xb5\xe4" , "\x49\x49\xa8" } , { "\xb5\xe8\xb5\xe5" , "\x49\x49\xa8" } , { "\xb5\xe8\xb5\xe8" , "\x49\x49" } , { "\xb5\xe8\xb6" , "\x49\x4b" } , { "\xb5\xe8\xb6\xda" , "\x49\x4b\x73" } , { "\xb5\xe8\xb6\xdc" , "\x49\x4b\x76" } , { "\xb5\xe8\xb6\xdd" , "\x49\x4b\x78" } , { "\xb5\xe8\xb6\xe1" , "\x49\x4b\x7e" } , { "\xb5\xe8\xb7" , "\x49\x4c" } , { "\xb5\xe8\xb7\xda" , "\x49\x4c\x73" } , { "\xb5\xe8\xb7\xdb" , "\x75\x49\x4c" } , { "\xb5\xe8\xb7\xdc" , "\x49\x4c\x76" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x49\x4c\xaa" } , { "\xb5\xe8\xb8\xe1" , "\x49\x4d\x7e" } , { "\xb5\xe8\xba" , "\x49\x4f" } , { "\xb5\xe8\xba\xa2" , "\x49\x4f\x7c" } , { "\xb5\xe8\xba\xda" , "\x49\x4f\x73" } , { "\xb5\xe8\xba\xda\xa2" , "\x49\x4f\x74" } , { "\xb5\xe8\xba\xdb" , "\x75\x49\x4f" } , { "\xb5\xe8\xba\xdc" , "\x49\x4f\x76" } , { "\xb5\xe8\xba\xe0" , "\x49\x4f\x7e" } , { "\xb5\xe8\xba\xe0\xa2" , "\x49\x4f\xa2" } , { "\xb5\xe8\xba\xe1\xa2" , "\x49\x4f\xa2" } , { "\xb5\xe8\xba\xe2" , "\x49\x4f\xa4" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x49\x4f\xaf\x74" } , { "\xb5\xe8\xba\xe9" , "\x49\x50" } , { "\xb5\xe8\xba\xe9\xdb" , "\x75\x49\x50" } , { "\xb5\xe8\xbd" , "\x49\x53" } , { "\xb5\xe8\xbd\xda" , "\x49\x53\x73" } , { "\xb5\xe8\xbd\xda\xa2" , "\x49\x53\x74" } , { "\xb5\xe8\xbd\xdb" , "\x75\x49\x53" } , { "\xb5\xe8\xbd\xdc" , "\x49\x53\x76" } , { "\xb5\xe8\xbd\xde" , "\x49\x53\x79" } , { "\xb5\xe8\xbd\xe0" , "\x49\x53\x7e" } , { "\xb5\xe8\xbd\xe1" , "\x49\x53\x7e" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x49\x53\xa6" } , { "\xb5\xe8\xbd\xe4" , "\x49\x53\xa8" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x49\x53\x4f" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x49\x53\xae\x73" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x49\x53\xae\x7e" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\x75\x49\x53\xaf" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x49\x53\x6e" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x49\x53\x6e\x73" } , { "\xb5\xe8\xbf" , "\x49\x55" } , { "\xb5\xe8\xbf\xa2" , "\x49\x55\x7c" } , { "\xb5\xe8\xbf\xda" , "\x49\x55\x73" } , { "\xb5\xe8\xbf\xda\xa2" , "\x49\x55\x74" } , { "\xb5\xe8\xbf\xdb" , "\x75\x49\x55" } , { "\xb5\xe8\xbf\xdc" , "\x49\x55\x76" } , { "\xb5\xe8\xbf\xe0" , "\x49\x55\x7e" } , { "\xb5\xe8\xbf\xe5" , "\x49\x55\xa8" } , { "\xb5\xe8\xbf\xe8" , "\x49\x55" } , { "\xb5\xe8\xc0\xdd" , "\x49\x57\x78" } , { "\xb5\xe8\xc1" , "\x49\x58" } , { "\xb5\xe8\xc1\xda" , "\x49\x58\x73" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x49\x58\xab" } , { "\xb5\xe8\xc2" , "\x49\x59" } , { "\xb5\xe8\xc2\xda" , "\x49\x59\x73" } , { "\xb5\xe8\xc2\xdb" , "\x75\x49\x59" } , { "\xb5\xe8\xc2\xdd" , "\x49\x59\x78" } , { "\xb5\xe8\xc2\xe0" , "\x49\x59\x7e" } , { "\xb5\xe8\xc2\xe1" , "\x49\x59\x7e" } , { "\xb5\xe8\xc2\xe5" , "\x49\x59\xa8" } , { "\xb5\xe8\xc2\xe8" , "\x49\x59" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x49\x59\x45" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x49\x59\x49" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x49\x59\x59" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x49\x5a" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\x49\x5a\xa2" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x49\x59\x6e" } , { "\xb5\xe8\xc3" , "\x49\x5c" } , { "\xb5\xe8\xc3\xda" , "\x49\x5c\x73" } , { "\xb5\xe8\xc3\xdc" , "\x49\x5c\x76" } , { "\xb5\xe8\xc3\xdd" , "\x49\x5c\x78" } , { "\xb5\xe8\xc3\xe5" , "\x49\x5c\xa8" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x49\x5c\xaa" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x49\x5c\x69\x73" } , { "\xb5\xe8\xc4" , "\x49\x5d" } , { "\xb5\xe8\xc4\xa2" , "\x49\x5d\x7c" } , { "\xb5\xe8\xc4\xda" , "\x49\x5d\x73" } , { "\xb5\xe8\xc4\xdb" , "\x75\x49\x5d" } , { "\xb5\xe8\xc4\xdd" , "\x49\x5d\x78" } , { "\xb5\xe8\xc4\xdf" , "\x75\x49\x5e" } , { "\xb5\xe8\xc4\xe1" , "\x49\x5d\x7e" } , { "\xb5\xe8\xc4\xe5" , "\x49\x5d\xa8" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x49\x5d\x69" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x49\x5d\x69\x7c" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x49\x5d\xaf\x73" } , { "\xb5\xe8\xc5" , "\x49\x5f" } , { "\xb5\xe8\xc5\xa2" , "\x49\x5f\x7c" } , { "\xb5\xe8\xc5\xda" , "\x49\x5f\x73" } , { "\xb5\xe8\xc5\xdb" , "\x75\x49\x5f" } , { "\xb5\xe8\xc5\xdc" , "\x49\x5f\x76" } , { "\xb5\xe8\xc5\xdd" , "\x49\x5f\x78" } , { "\xb5\xe8\xc5\xe1" , "\x49\x5f\x7e" } , { "\xb5\xe8\xc5\xe5" , "\x49\x5f\xa8" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x49\x5f\x69" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x49\x5f\x69\x7c" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x49\x5f\x69\x73" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x49\x5f\xaf\x73" } , { "\xb5\xe8\xc6" , "\x49\x60" } , { "\xb5\xe8\xc6\xa2" , "\x49\x60\x7d" } , { "\xb5\xe8\xc6\xda" , "\x49\x60\x73" } , { "\xb5\xe8\xc6\xdb" , "\x75\x49\x60" } , { "\xb5\xe8\xc6\xdb\xa2" , "\x75\x49\x60\x7c" } , { "\xb5\xe8\xc6\xdb\xa3" , "\x75\x49\x60\x7c" } , { "\xb5\xe8\xc6\xdc" , "\x49\x60\x76" } , { "\xb5\xe8\xc6\xdd" , "\x49\x60\x78" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x49\x60\x78\x7d" } , { "\xb5\xe8\xc6\xde" , "\x49\x60\x79" } , { "\xb5\xe8\xc6\xe0" , "\x49\x60\x7e" } , { "\xb5\xe8\xc6\xe1" , "\x49\x60\xa1" } , { "\xb5\xe8\xc6\xe2" , "\x49\x60\xa5" } , { "\xb5\xe8\xc6\xe5\xa2" , "\x49\x60\xab" } , { "\xb5\xe8\xc6\xe6" , "\x49\x60\xac" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x49\x60\x69\x7d" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x49\x60\x69\x73" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x49\x60\x69\x74" } , { "\xb5\xe8\xc8" , "\x49\x61" } , { "\xb5\xe8\xc8\xda" , "\x49\x61\x73" } , { "\xb5\xe8\xc8\xdb" , "\x75\x49\x61" } , { "\xb5\xe8\xc8\xdc" , "\x49\x61\x76" } , { "\xb5\xe8\xc8\xdd" , "\x49\x61\x78" } , { "\xb5\xe8\xc8\xde" , "\x49\x61\x79" } , { "\xb5\xe8\xc8\xe2" , "\x49\x61\xa4" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x49\x61\xae\x7e" } , { "\xb5\xe8\xc9" , "\x49\x62" } , { "\xb5\xe8\xc9\xdb" , "\x75\x49\x62" } , { "\xb5\xe8\xc9\xe0" , "\x49\x62\x7e" } , { "\xb5\xe8\xc9\xe5" , "\x49\x62\xa8" } , { "\xb5\xe8\xca" , "\x49\x64" } , { "\xb5\xe8\xca\xa2" , "\x49\x64\x7c" } , { "\xb5\xe8\xca\xda" , "\x49\x64\x73" } , { "\xb5\xe8\xca\xdb" , "\x75\x49\x64" } , { "\xb5\xe8\xca\xdc" , "\x49\x64\x76" } , { "\xb5\xe8\xca\xe0" , "\x49\x64\x7e" } , { "\xb5\xe8\xca\xe5" , "\x49\x64\xa8" } , { "\xb5\xe8\xca\xe8\xcf" , "\x49\x64\xae" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\x49\x64\xae\x7e" } , { "\xb5\xe8\xcb" , "\x49\x65" } , { "\xb5\xe8\xcb\xa2" , "\x49\x65\x7c" } , { "\xb5\xe8\xcb\xda" , "\x49\x65\x73" } , { "\xb5\xe8\xcb\xde" , "\x49\x65\x79" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x49\x66" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x49\x66\x73" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x49\x66\x74" } , { "\xb5\xe8\xcc" , "\x49\x67" } , { "\xb5\xe8\xcc\xa2" , "\x49\x67\x7c" } , { "\xb5\xe8\xcc\xda" , "\x49\x67\x73" } , { "\xb5\xe8\xcc\xdb" , "\x75\x49\x67" } , { "\xb5\xe8\xcc\xdc" , "\x49\x67\x76" } , { "\xb5\xe8\xcc\xdd" , "\x49\x67\x78" } , { "\xb5\xe8\xcc\xde" , "\x49\x67\x79" } , { "\xb5\xe8\xcc\xe0\xa2" , "\x49\x67\xa2" } , { "\xb5\xe8\xcc\xe1" , "\x49\x67\x7e" } , { "\xb5\xe8\xcc\xe2" , "\x49\x67\xa4" } , { "\xb5\xe8\xcc\xe2\xa2" , "\x49\x67\xa6" } , { "\xb5\xe8\xcc\xe4" , "\x49\x67\xa8" } , { "\xb5\xe8\xcc\xe5" , "\x49\x67\xa8" } , { "\xb5\xe8\xcc\xe5\xa2" , "\x49\x67\xaa" } , { "\xb5\xe8\xcd" , "\x49\x69" } , { "\xb5\xe8\xcd\xa2" , "\x49\x69\x7c" } , { "\xb5\xe8\xcd\xda" , "\x49\x69\x73" } , { "\xb5\xe8\xcd\xda\xa2" , "\x49\x69\x74" } , { "\xb5\xe8\xcd\xdb" , "\x75\x49\x69" } , { "\xb5\xe8\xcd\xdb\xa2" , "\x75\x49\x69\x7c" } , { "\xb5\xe8\xcd\xdc" , "\x49\x69\x76" } , { "\xb5\xe8\xcd\xdd" , "\x49\x69\x78" } , { "\xb5\xe8\xcd\xde" , "\x49\x69\x79" } , { "\xb5\xe8\xcd\xe1" , "\x49\x69\x7e" } , { "\xb5\xe8\xcd\xe5" , "\x49\x69\xa8" } , { "\xb5\xe8\xcd\xe5\xa2" , "\x49\x69\xaa" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x49\x68\x69\x73" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x49\x68\xaf" } , { "\xb5\xe8\xcf" , "\x49\xae" } , { "\xb5\xe8\xcf\xa2" , "\x49\xae\x7c" } , { "\xb5\xe8\xcf\xda" , "\x49\xae\x73" } , { "\xb5\xe8\xcf\xda\xa1" , "\x49\xae\x74" } , { "\xb5\xe8\xcf\xda\xa2" , "\x49\xae\x74" } , { "\xb5\xe8\xcf\xdb" , "\x75\x49\xae" } , { "\xb5\xe8\xcf\xdb\xa2" , "\x75\x49\xae\x7c" } , { "\xb5\xe8\xcf\xdc" , "\x49\xae\x76" } , { "\xb5\xe8\xcf\xdd" , "\x49\xae\x7a" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x49\xae\x7a\x7c" } , { "\xb5\xe8\xcf\xde" , "\x49\xae\x7b" } , { "\xb5\xe8\xcf\xde\xa2" , "\x49\xae\x7b\x7c" } , { "\xb5\xe8\xcf\xe0" , "\x49\xae\x7e" } , { "\xb5\xe8\xcf\xe0\xa2" , "\x49\xae\xa2" } , { "\xb5\xe8\xcf\xe1" , "\x49\xae\x7e" } , { "\xb5\xe8\xcf\xe1\xa2" , "\x49\xae\xa2" } , { "\xb5\xe8\xcf\xe2" , "\x49\xae\xa4" } , { "\xb5\xe8\xcf\xe2\xa2" , "\x49\xae\xa6" } , { "\xb5\xe8\xcf\xe4" , "\x49\xae\xa8" } , { "\xb5\xe8\xcf\xe4\xa2" , "\x49\xae\xaa" } , { "\xb5\xe8\xcf\xe5" , "\x49\xae\xa8" } , { "\xb5\xe8\xcf\xe5\xa2" , "\x49\xae\xaa" } , { "\xb5\xe8\xcf\xe6" , "\x49\xae\xac" } , { "\xb5\xe8\xcf\xe6\xa2" , "\x49\xae\xac\x72" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x49\x6a\x55" } , { "\xb5\xe8\xd0\xa2" , "\x49\x6a\x7c" } , { "\xb5\xe8\xd1" , "\x49\x6b" } , { "\xb5\xe8\xd1\xa2" , "\x49\x6b\x7c" } , { "\xb5\xe8\xd1\xda" , "\x49\x6b\x73" } , { "\xb5\xe8\xd1\xda\xa2" , "\x49\x6b\x74" } , { "\xb5\xe8\xd1\xdb" , "\x75\x49\x6b" } , { "\xb5\xe8\xd1\xdb\xa2" , "\x75\x49\x6b\x7c" } , { "\xb5\xe8\xd1\xdc" , "\x49\x6b\x76" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x49\x6b\x77" } , { "\xb5\xe8\xd1\xdd" , "\x49\x6b\x78" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x49\x6b\x78\x7c" } , { "\xb5\xe8\xd1\xde" , "\x49\x6b\x79" } , { "\xb5\xe8\xd1\xe0" , "\x49\x6b\x7e" } , { "\xb5\xe8\xd1\xe0\xa2" , "\x49\x6b\xa2" } , { "\xb5\xe8\xd1\xe1" , "\x49\x6b\x7e" } , { "\xb5\xe8\xd1\xe1\xa2" , "\x49\x6b\xa2" } , { "\xb5\xe8\xd1\xe2" , "\x49\x6b\xa4" } , { "\xb5\xe8\xd1\xe2\xa2" , "\x49\x6b\xa6" } , { "\xb5\xe8\xd1\xe4" , "\x49\x6b\xa8" } , { "\xb5\xe8\xd1\xe5" , "\x49\x6b\xa8" } , { "\xb5\xe8\xd1\xe5\xa2" , "\x49\x6b\xaa" } , { "\xb5\xe8\xd1\xe6" , "\x49\x6b\xac" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x49\x6b\x69\x78" } , { "\xb5\xe8\xd4" , "\x49\xaf" } , { "\xb5\xe8\xd4\xda" , "\x49\xaf\x73" } , { "\xb5\xe8\xd4\xdb" , "\x75\x49\xaf" } , { "\xb5\xe8\xd4\xdd" , "\x49\xaf\x7a" } , { "\xb5\xe8\xd4\xde" , "\x49\xaf\x7b" } , { "\xb5\xe8\xd4\xe0" , "\x49\xaf\x7e" } , { "\xb5\xe8\xd4\xe1" , "\x49\xaf\x7e" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x49\xaf\xa2" } , { "\xb5\xe8\xd4\xe2" , "\x49\xaf\xa4" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x49\x6d\x69" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x49\x6d\x69\x73" } , { "\xb5\xe8\xd5\xda" , "\x49\x6f\x73" } , { "\xb5\xe8\xd5\xda\xa2" , "\x49\x6f\x74" } , { "\xb5\xe8\xd6\xdc" , "\x49\x6f\x76" } , { "\xb5\xe8\xd7" , "\x49\x6e" } , { "\xb5\xe8\xd7\xda" , "\x49\x6e\x73" } , { "\xb5\xe8\xd7\xdc" , "\x49\x6e\x76" } , { "\xb5\xe8\xd7\xdd" , "\x49\x6e\x78" } , { "\xb5\xe8\xd7\xde" , "\x49\x6e\x79" } , { "\xb5\xe8\xd7\xe0" , "\x49\x6e\x7e" } , { "\xb5\xe8\xd7\xe2" , "\x49\x6e\xa4" } , { "\xb5\xe8\xd7\xe5" , "\x49\x6e\xa8" } , { "\xb5\xe8\xd7\xe8" , "\x49\x6e" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x49\x6e\x49\x73" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x49\x6e\x53" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x49\x6e\x53\x7c" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x49\x6e\x53\x73" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x49\x6e\x53\x7e" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x49\x6e\x53\xac" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x49\x6e\x53\x61\x6e\x45\x78" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x49\x6e\x53\xae\x73" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x49\x6e\x59\x69\x7e" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x49\x6e\x5d" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\x75\x49\x6e\x60" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x49\x6e\x60\x78" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x49\x6e\x61\x73" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\x75\x49\x6e\x61" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\x75\x49\x6e\x6b" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x49\x6e\x6b\xa8" } , { "\xb5\xe8\xd8" , "\x49\xad" } , { "\xb5\xe8\xd8\xda" , "\x49\xad\x73" } , { "\xb5\xe8\xd8\xdb" , "\x75\x49\xad" } , { "\xb5\xe8\xd8\xdc" , "\x49\xad\x76" } , { "\xb5\xe8\xd8\xe0" , "\x49\xad\x7e" } , { "\xb5\xe8\xd8\xe4" , "\x49\xad\xa8" } , { "\xb5\xe8\xd8\xe5" , "\x49\xad\xa8" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x49\xad\xaa" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x49\x70\x69\x74" } , { "\xb5\xe8\xd9\xa6" , "\x49\x75\x42" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x49\x6a\x6e" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x49\x75\x6d" } , { "\xb5\xe8\xe8" , "\x49" } , { "\xb5\xe8\xe9\xcf" , "\x49\xae" } , { "\xb5\xe9" , "\x4a" } , { "\xb5\xe9\xda" , "\x4a\x73" } , { "\xb5\xe9\xdb" , "\x75\x4a" } , { "\xb5\xe9\xdd" , "\x4a\x78" } , { "\xb5\xe9\xe2" , "\x4a\xa4" } , { "\xb5\xe9\xe5\xa2" , "\x4a\xaa" } , { "\xb5\xe9\xe6" , "\x4a\xac" } , { "\xb6" , "\x4b" } , { "\xb6\xa2" , "\x4b\x7c" } , { "\xb6\xa2\xa2" , "\x4b\x7c\x7d" } , { "\xb6\xa3" , "\x4b\x7c" } , { "\xb6\xd0" , "\x4b\x6a" } , { "\xb6\xda" , "\x4b\x73" } , { "\xb6\xda\xa2" , "\x4b\x74" } , { "\xb6\xdb" , "\x75\x4b" } , { "\xb6\xdb\xa2" , "\x75\x4b\x7c" } , { "\xb6\xdc" , "\x4b\x76" } , { "\xb6\xdc\xa2" , "\x4b\x77" } , { "\xb6\xdd" , "\x4b\x78" } , { "\xb6\xdd\xa1" , "\x4b\x78\x7c" } , { "\xb6\xdd\xa2" , "\x4b\x78\x7c" } , { "\xb6\xdd\xa3" , "\x4b\x78\x7c" } , { "\xb6\xde" , "\x4b\x79" } , { "\xb6\xde\xa1" , "\x4b\x79\x7c" } , { "\xb6\xde\xa2" , "\x4b\x79\x7c" } , { "\xb6\xdf" , "\x75\x4b\xae" } , { "\xb6\xe0" , "\x4b\x7e" } , { "\xb6\xe1" , "\x4b\x7e" } , { "\xb6\xe1\xa2" , "\x4b\xa2" } , { "\xb6\xe2" , "\x4b\xa4" } , { "\xb6\xe2\xa3" , "\x4b\xa4\x7c" } , { "\xb6\xe4" , "\x4b\xa8" } , { "\xb6\xe5" , "\x4b\xa8" } , { "\xb6\xe5\xa2" , "\x4b\xaa" } , { "\xb6\xe6" , "\x4b\xac" } , { "\xb6\xe6\xa2" , "\x4b\xac\x72" } , { "\xb6\xe8" , "\x4b" } , { "\xb6\xe8\xb3\xde" , "\x4b\x45\x79" } , { "\xb6\xe8\xb6" , "\x4b\x4b" } , { "\xb6\xe8\xb6\xdc" , "\x4b\x4b\x76" } , { "\xb6\xe8\xb6\xde" , "\x4b\x4b\x79" } , { "\xb6\xe8\xb8\xe1" , "\x4b\x4d\x7e" } , { "\xb6\xe8\xc1\xda" , "\x4b\x58\x73" } , { "\xb6\xe8\xc1\xdb" , "\x75\x4b\x58" } , { "\xb6\xe8\xc2" , "\x4b\x59" } , { "\xb6\xe8\xc4" , "\x4b\x5d" } , { "\xb6\xe8\xc6" , "\x4b\x60" } , { "\xb6\xe8\xc6\xa2" , "\x4b\x60\x7d" } , { "\xb6\xe8\xc6\xa3" , "\x4b\x60\x7d" } , { "\xb6\xe8\xc6\xda" , "\x4b\x60\x73" } , { "\xb6\xe8\xc6\xdb" , "\x75\x4b\x60" } , { "\xb6\xe8\xc6\xdc" , "\x4b\x60\x76" } , { "\xb6\xe8\xc6\xdd" , "\x4b\x60\x78" } , { "\xb6\xe8\xc6\xe1" , "\x4b\x60\xa1" } , { "\xb6\xe8\xc6\xe5" , "\x4b\x60\xa9" } , { "\xb6\xe8\xcd" , "\x4b\x69" } , { "\xb6\xe8\xcd\xda" , "\x4b\x69\x73" } , { "\xb6\xe8\xcd\xe5" , "\x4b\x69\xa8" } , { "\xb6\xe8\xcd\xe6" , "\x4b\x69\xac" } , { "\xb6\xe8\xcf" , "\x4b\xae" } , { "\xb6\xe8\xcf\xa2" , "\x4b\xae\x7c" } , { "\xb6\xe8\xcf\xda" , "\x4b\xae\x73" } , { "\xb6\xe8\xcf\xda\xa2" , "\x4b\xae\x74" } , { "\xb6\xe8\xcf\xdb" , "\x75\x4b\xae" } , { "\xb6\xe8\xcf\xdd" , "\x4b\xae\x7a" } , { "\xb6\xe8\xcf\xe5\xa2" , "\x4b\xae\xaa" } , { "\xb6\xe8\xd1" , "\x4b\x6b" } , { "\xb6\xe8\xd4" , "\x4b\xaf" } , { "\xb6\xe8\xd4\xa2" , "\x4b\xaf\x7c" } , { "\xb6\xe8\xd4\xda" , "\x4b\xaf\x73" } , { "\xb6\xe8\xe8" , "\x4b" } , { "\xb6\xe8\xe9\xcf" , "\x4b\xae" } , { "\xb6\xe9" , "\x4b" } , { "\xb7" , "\x4c" } , { "\xb7\xa2" , "\x4c\x7c" } , { "\xb7\xa3" , "\x4c\x7c" } , { "\xb7\xda" , "\x4c\x73" } , { "\xb7\xdb" , "\x75\x4c" } , { "\xb7\xdb\xa2" , "\x75\x4c\x7c" } , { "\xb7\xdc" , "\x4c\x76" } , { "\xb7\xdd" , "\x4c\x78" } , { "\xb7\xde" , "\x4c\x79" } , { "\xb7\xdf" , "\x75\x4c\xae" } , { "\xb7\xe0" , "\x4c\x7e" } , { "\xb7\xe1" , "\x4c\x7e" } , { "\xb7\xe1\xa2" , "\x4c\xa2" } , { "\xb7\xe2" , "\x4c\xa4" } , { "\xb7\xe4" , "\x4c\xa8" } , { "\xb7\xe5" , "\x4c\xa8" } , { "\xb7\xe6" , "\x4c\xac" } , { "\xb7\xe8" , "\x4c" } , { "\xb7\xe8\xb3" , "\x4c\x45" } , { "\xb7\xe8\xb3\xda" , "\x4c\x45\x73" } , { "\xb7\xe8\xb3\xdb" , "\x75\x4c\x45" } , { "\xb7\xe8\xb3\xe5" , "\x4c\x45\xa8" } , { "\xb7\xe8\xb5" , "\x4c\x49" } , { "\xb7\xe8\xb5\xda" , "\x4c\x49\x73" } , { "\xb7\xe8\xb5\xdb" , "\x75\x4c\x49" } , { "\xb7\xe8\xb5\xdc" , "\x4c\x49\x76" } , { "\xb7\xe8\xb5\xe5\xa2" , "\x4c\x49\xaa" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x4c\x49\xae\x73" } , { "\xb7\xe8\xb6" , "\x4c\x4b" } , { "\xb7\xe8\xb6\xda" , "\x4c\x4b\x73" } , { "\xb7\xe8\xb6\xdb" , "\x75\x4c\x4b" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x4c\x53\x49" } , { "\xb7\xe8\xc4" , "\x4c\x5d" } , { "\xb7\xe8\xc6" , "\x4c\x60" } , { "\xb7\xe8\xc6\xda" , "\x4c\x60\x73" } , { "\xb7\xe8\xc6\xdb" , "\x75\x4c\x60" } , { "\xb7\xe8\xc6\xdd" , "\x4c\x60\x78" } , { "\xb7\xe8\xc6\xde" , "\x4c\x60\x79" } , { "\xb7\xe8\xc9\xe5" , "\x4c\x62\xa8" } , { "\xb7\xe8\xcc" , "\x4c\x67" } , { "\xb7\xe8\xcc\xa2" , "\x4c\x67\x7c" } , { "\xb7\xe8\xcc\xda" , "\x4c\x67\x73" } , { "\xb7\xe8\xcc\xdd" , "\x4c\x67\x78" } , { "\xb7\xe8\xcc\xde" , "\x4c\x67\x79" } , { "\xb7\xe8\xcd" , "\x4c\x69" } , { "\xb7\xe8\xcf" , "\x4c\xae" } , { "\xb7\xe8\xcf\xdc" , "\x4c\xae\x76" } , { "\xb7\xe8\xd8\xda" , "\x4c\xad\x73" } , { "\xb7\xe8\xe8" , "\x4c" } , { "\xb8" , "\x4d" } , { "\xb8\xa1" , "\x4d\x7c" } , { "\xb8\xa2" , "\x4d\x7c" } , { "\xb8\xa3" , "\x4d\x7c" } , { "\xb8\xda" , "\x4d\x73" } , { "\xb8\xda\xa1" , "\x4d\x74" } , { "\xb8\xda\xa2" , "\x4d\x74" } , { "\xb8\xdb" , "\x75\x4d" } , { "\xb8\xdb\xa2" , "\x75\x4d\x7c" } , { "\xb8\xdc" , "\x4d\x76" } , { "\xb8\xdc\xa2" , "\x4d\x77" } , { "\xb8\xdd" , "\x4d\x78" } , { "\xb8\xdd\xa1" , "\x4d\x78\x7c" } , { "\xb8\xdd\xa2" , "\x4d\x78\x7c" } , { "\xb8\xde" , "\x4d\x79" } , { "\xb8\xde\xa1" , "\x4d\x79\x7c" } , { "\xb8\xde\xa2" , "\x4d\x79\x7c" } , { "\xb8\xdf" , "\x75\x4d\xae" } , { "\xb8\xe0" , "\x4d\x7e" } , { "\xb8\xe0\xa2" , "\x4d\xa2" } , { "\xb8\xe1" , "\x4d\x7e" } , { "\xb8\xe1\xa2" , "\x4d\xa2" } , { "\xb8\xe2" , "\x4d\xa4" } , { "\xb8\xe2\xa2" , "\x4d\xa6" } , { "\xb8\xe3" , "\x4d\xa4" } , { "\xb8\xe4" , "\x4d\xa8" } , { "\xb8\xe4\xa2" , "\x4d\xaa" } , { "\xb8\xe4\xd0\xe8" , "\x4d\xa8\x6a" } , { "\xb8\xe5" , "\x4d\xa8" } , { "\xb8\xe5\xa2" , "\x4d\xaa" } , { "\xb8\xe6" , "\x4d\xac" } , { "\xb8\xe6\xa2" , "\x4d\xac\x72" } , { "\xb8\xe7" , "\x4d\xac" } , { "\xb8\xe8" , "\x4d" } , { "\xb8\xe8\xb3" , "\x4d\x45" } , { "\xb8\xe8\xb3\xa2" , "\x4d\x45\x7c" } , { "\xb8\xe8\xb3\xdb" , "\x75\x4d\x45" } , { "\xb8\xe8\xb3\xdd" , "\x4d\x45\x78" } , { "\xb8\xe8\xb3\xe4" , "\x4d\x45\xa8" } , { "\xb8\xe8\xb3\xe5" , "\x4d\x45\xa8" } , { "\xb8\xe8\xb5" , "\x4d\x49" } , { "\xb8\xe8\xb8" , "\x4d\x4d" } , { "\xb8\xe8\xb8\xa2" , "\x4d\x4d\x7c" } , { "\xb8\xe8\xb8\xda" , "\x4d\x4d\x73" } , { "\xb8\xe8\xb8\xda\xa2" , "\x4d\x4d\x74" } , { "\xb8\xe8\xb8\xdb" , "\x75\x4d\x4d" } , { "\xb8\xe8\xb8\xdb\xa2" , "\x75\x4d\x4d\x7c" } , { "\xb8\xe8\xb8\xdc" , "\x4d\x4d\x76" } , { "\xb8\xe8\xb8\xdd" , "\x4d\x4d\x78" } , { "\xb8\xe8\xb8\xdd\xa2" , "\x4d\x4d\x78\x7c" } , { "\xb8\xe8\xb8\xde" , "\x4d\x4d\x79" } , { "\xb8\xe8\xb8\xe0" , "\x4d\x4d\x7e" } , { "\xb8\xe8\xb8\xe0\xa2" , "\x4d\x4d\xa2" } , { "\xb8\xe8\xb8\xe1" , "\x4d\x4d\x7e" } , { "\xb8\xe8\xb8\xe1\xa2" , "\x4d\x4d\xa2" } , { "\xb8\xe8\xb8\xe2" , "\x4d\x4d\xa4" } , { "\xb8\xe8\xb8\xe2\xa2" , "\x4d\x4d\xa6" } , { "\xb8\xe8\xb8\xe4" , "\x4d\x4d\xa8" } , { "\xb8\xe8\xb8\xe4\xa2" , "\x4d\x4d\xaa" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\x4d\x4d\xa8\x6a" } , { "\xb8\xe8\xb8\xe5" , "\x4d\x4d\xa8" } , { "\xb8\xe8\xb8\xe5\xa2" , "\x4d\x4d\xaa" } , { "\xb8\xe8\xb8\xe6" , "\x4d\x4d\xac" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\x4d\x4d\xae\x76" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\x4d\x4d\xae\x7a" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\x4d\x4d\xaf\x73" } , { "\xb8\xe8\xb9" , "\x4d\x4e" } , { "\xb8\xe8\xb9\xa2" , "\x4d\x4e\x7c" } , { "\xb8\xe8\xb9\xda" , "\x4d\x4e\x73" } , { "\xb8\xe8\xb9\xda\xa2" , "\x4d\x4e\x74" } , { "\xb8\xe8\xb9\xdb" , "\x75\x4d\x4e" } , { "\xb8\xe8\xb9\xdb\xa2" , "\x75\x4d\x4e\x7c" } , { "\xb8\xe8\xb9\xdc" , "\x4d\x4e\x76" } , { "\xb8\xe8\xb9\xdd" , "\x4d\x4e\x78" } , { "\xb8\xe8\xb9\xdd\xa2" , "\x4d\x4e\x78\x7c" } , { "\xb8\xe8\xb9\xde" , "\x4d\x4e\x79" } , { "\xb8\xe8\xb9\xdf" , "\x75\x4d\x4e\xae" } , { "\xb8\xe8\xb9\xdf\xa2" , "\x75\x4d\x4e\xae\x7c" } , { "\xb8\xe8\xb9\xe0" , "\x4d\x4e\x7e" } , { "\xb8\xe8\xb9\xe1" , "\x4d\x4e\x7e" } , { "\xb8\xe8\xb9\xe5" , "\x4d\x4e\xa8" } , { "\xb8\xe8\xb9\xe5\xa2" , "\x4d\x4e\xaa" } , { "\xb8\xe8\xb9\xe6" , "\x4d\x4e\xac" } , { "\xb8\xe8\xb9\xe8" , "\x4d\x4e" } , { "\xb8\xe8\xb9\xe8\xa2" , "\x4d\x4e\x7d" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\x4d\x4e\x5d\x5f" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\x4d\x4e\x67\x76" } , { "\xb8\xe8\xb9\xe8\xcf" , "\x4d\x4e\xae" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\x4d\x4e\xae\x73" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\x4d\x4e\xae\x7a" } , { "\xb8\xe8\xb9\xe8\xd1" , "\x4d\x4e\x6b" } , { "\xb8\xe8\xb9\xe8\xd4" , "\x4d\x4e\xaf" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\x4d\x4e\xaf\x73" } , { "\xb8\xe8\xbd" , "\x4d\x53" } , { "\xb8\xe8\xbd\xdb" , "\x75\x4d\x53" } , { "\xb8\xe8\xbd\xdb\xa2" , "\x75\x4d\x53\x7c" } , { "\xb8\xe8\xbd\xe1" , "\x4d\x53\x7e" } , { "\xb8\xe8\xbd\xe2" , "\x4d\x53\xa4" } , { "\xb8\xe8\xbf\xdb" , "\x75\x4d\x55" } , { "\xb8\xe8\xbf\xe8" , "\x4d\x55" } , { "\xb8\xe8\xc2" , "\x4d\x59" } , { "\xb8\xe8\xc2\xe1\xa2" , "\x4d\x59\xa2" } , { "\xb8\xe8\xc3" , "\x4d\x5c" } , { "\xb8\xe8\xc4\xdb" , "\x75\x4d\x5d" } , { "\xb8\xe8\xc6" , "\x4d\x60" } , { "\xb8\xe8\xc6\xa2" , "\x4d\x60\x7d" } , { "\xb8\xe8\xc6\xdb" , "\x75\x4d\x60" } , { "\xb8\xe8\xc6\xdd" , "\x4d\x60\x78" } , { "\xb8\xe8\xc6\xe4" , "\x4d\x60\xa8" } , { "\xb8\xe8\xc8" , "\x4d\x61" } , { "\xb8\xe8\xc8\xe0" , "\x4d\x61\x7e" } , { "\xb8\xe8\xc8\xe8\xcf" , "\x4d\x61\xae" } , { "\xb8\xe8\xca\xda" , "\x4d\x64\x73" } , { "\xb8\xe8\xca\xdd" , "\x4d\x64\x78" } , { "\xb8\xe8\xca\xe5" , "\x4d\x64\xa8" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\x4d\x64\x6b\xa2" } , { "\xb8\xe8\xcc" , "\x4d\x67" } , { "\xb8\xe8\xcc\xdc" , "\x4d\x67\x76" } , { "\xb8\xe8\xcc\xe0" , "\x4d\x67\x7e" } , { "\xb8\xe8\xcc\xe0\xa2" , "\x4d\x67\xa2" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\x4d\x67\x65\x7e" } , { "\xb8\xe8\xcd" , "\x4d\x69" } , { "\xb8\xe8\xcd\xa2" , "\x4d\x69\x7c" } , { "\xb8\xe8\xcd\xda" , "\x4d\x69\x73" } , { "\xb8\xe8\xcd\xda\xa2" , "\x4d\x69\x74" } , { "\xb8\xe8\xcd\xdd" , "\x4d\x69\x78" } , { "\xb8\xe8\xcd\xde" , "\x4d\x69\x79" } , { "\xb8\xe8\xcd\xde\xa2" , "\x4d\x69\x79\x7c" } , { "\xb8\xe8\xcd\xe5" , "\x4d\x69\xa8" } , { "\xb8\xe8\xcd\xe6" , "\x4d\x69\xac" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x4d\x68\x69" } , { "\xb8\xe8\xcf" , "\x4d\xae" } , { "\xb8\xe8\xcf\xda" , "\x4d\xae\x73" } , { "\xb8\xe8\xcf\xdb" , "\x75\x4d\xae" } , { "\xb8\xe8\xcf\xdc" , "\x4d\xae\x76" } , { "\xb8\xe8\xcf\xde" , "\x4d\xae\x7b" } , { "\xb8\xe8\xcf\xde\xa2" , "\x4d\xae\x7b\x7c" } , { "\xb8\xe8\xcf\xe5" , "\x4d\xae\xa8" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x4d\x6a\x4e" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x4d\x6a\x4e\x73" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\x75\x4d\x6a\x4e" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x4d\x6a\x69" } , { "\xb8\xe8\xd1" , "\x4d\x6b" } , { "\xb8\xe8\xd1\xda" , "\x4d\x6b\x73" } , { "\xb8\xe8\xd1\xdb" , "\x75\x4d\x6b" } , { "\xb8\xe8\xd1\xdc" , "\x4d\x6b\x76" } , { "\xb8\xe8\xd1\xdd" , "\x4d\x6b\x78" } , { "\xb8\xe8\xd1\xde" , "\x4d\x6b\x79" } , { "\xb8\xe8\xd1\xe5" , "\x4d\x6b\xa8" } , { "\xb8\xe8\xd4" , "\x4d\xaf" } , { "\xb8\xe8\xd4\xda" , "\x4d\xaf\x73" } , { "\xb8\xe8\xd4\xda\xa2" , "\x4d\xaf\x74" } , { "\xb8\xe8\xd4\xe1" , "\x4d\xaf\x7e" } , { "\xb8\xe8\xd4\xe2" , "\x4d\xaf\xa4" } , { "\xb8\xe8\xd7" , "\x4d\x6e" } , { "\xb8\xe8\xd7\xe1" , "\x4d\x6e\x7e" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\x75\x4d\x6e\x53" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x4d\x6e\x53\xa8" } , { "\xb8\xe8\xd8" , "\x4d\xad" } , { "\xb8\xe8\xd8\xda" , "\x4d\xad\x73" } , { "\xb8\xe8\xd8\xe6" , "\x4d\xad\xac" } , { "\xb8\xe8\xd9\xa6" , "\x4d\x75\x42" } , { "\xb8\xe8\xe8" , "\x4d" } , { "\xb8\xe8\xe9\xcf" , "\x4d\xae" } , { "\xb8\xe9" , "\x4d" } , { "\xb9" , "\x4e" } , { "\xb9\xa1" , "\x4e\x7c" } , { "\xb9\xa2" , "\x4e\x7c" } , { "\xb9\xa3" , "\x4e\x7c" } , { "\xb9\xce\xb4" , "\x4e\x68\x47" } , { "\xb9\xd9\xc5" , "\x4e\x5f" } , { "\xb9\xd9\xd1" , "\x4e\x6b" } , { "\xb9\xda" , "\x4e\x73" } , { "\xb9\xda\xa1" , "\x4e\x74" } , { "\xb9\xda\xa2" , "\x4e\x74" } , { "\xb9\xdb" , "\x75\x4e" } , { "\xb9\xdb\xa2" , "\x75\x4e\x7c" } , { "\xb9\xdc" , "\x4e\x76" } , { "\xb9\xdc\xa2" , "\x4e\x77" } , { "\xb9\xdd" , "\x4e\x78" } , { "\xb9\xdd\xa2" , "\x4e\x78\x7c" } , { "\xb9\xde" , "\x4e\x79" } , { "\xb9\xde\xa1" , "\x4e\x79\x7c" } , { "\xb9\xde\xa2" , "\x4e\x79\x7c" } , { "\xb9\xdf" , "\x75\x4e\xae" } , { "\xb9\xe0" , "\x4e\x7e" } , { "\xb9\xe0\xa2" , "\x4e\xa2" } , { "\xb9\xe1" , "\x4e\x7e" } , { "\xb9\xe1\xa2" , "\x4e\xa2" } , { "\xb9\xe2" , "\x4e\xa4" } , { "\xb9\xe2\xa2" , "\x4e\xa6" } , { "\xb9\xe4" , "\x4e\xa8" } , { "\xb9\xe5" , "\x4e\xa8" } , { "\xb9\xe5\xa2" , "\x4e\xaa" } , { "\xb9\xe6" , "\x4e\xac" } , { "\xb9\xe6\xa2" , "\x4e\xac\x72" } , { "\xb9\xe8" , "\x4e" } , { "\xb9\xe8\xb8" , "\x4e\x4d" } , { "\xb9\xe8\xb9" , "\x4e\x4e" } , { "\xb9\xe8\xb9\xda" , "\x4e\x4e\x73" } , { "\xb9\xe8\xc2\xda" , "\x4e\x59\x73" } , { "\xb9\xe8\xc4" , "\x4e\x5d" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x4e\x60\x78\x7d" } , { "\xb9\xe8\xc8\xda" , "\x4e\x61\x73" } , { "\xb9\xe8\xcd\xda" , "\x4e\x69\x73" } , { "\xb9\xe8\xcd\xe1" , "\x4e\x69\x7e" } , { "\xb9\xe8\xd4\xda" , "\x4e\xaf\x73" } , { "\xb9\xe8\xe8" , "\x4e" } , { "\xb9\xe9" , "\x4e" } , { "\xba" , "\x4f" } , { "\xba\xa1" , "\x4f\x7c" } , { "\xba\xa2" , "\x4f\x7c" } , { "\xba\xa2\xa2" , "\x4f\x7c\x7d" } , { "\xba\xa3" , "\x4f\x7c" } , { "\xba\xd9\xc5" , "\x4f\x5f" } , { "\xba\xda" , "\x4f\x73" } , { "\xba\xda\xa1" , "\x4f\x74" } , { "\xba\xda\xa2" , "\x4f\x74" } , { "\xba\xda\xa3" , "\x4f\x73\x7c" } , { "\xba\xdb" , "\x75\x4f" } , { "\xba\xdb\xa2" , "\x75\x4f\x7c" } , { "\xba\xdc" , "\x4f\x76" } , { "\xba\xdc\xa2" , "\x4f\x77" } , { "\xba\xdd" , "\x4f\x78" } , { "\xba\xdd\xa2" , "\x4f\x78\x7c" } , { "\xba\xdd\xa3" , "\x4f\x78\x7c" } , { "\xba\xde" , "\x4f\x79" } , { "\xba\xde\xa1" , "\x4f\x79\x7c" } , { "\xba\xde\xa2" , "\x4f\x79\x7c" } , { "\xba\xdf" , "\x75\x4f\xae" } , { "\xba\xdf\xa2" , "\x75\x4f\xae\x7c" } , { "\xba\xe0" , "\x4f\x7e" } , { "\xba\xe0\xa2" , "\x4f\xa2" } , { "\xba\xe1" , "\x4f\x7e" } , { "\xba\xe1\xa2" , "\x4f\xa2" } , { "\xba\xe2" , "\x4f\xa4" } , { "\xba\xe2\xa2" , "\x4f\xa6" } , { "\xba\xe3" , "\x4f\xa4" } , { "\xba\xe4" , "\x4f\xa8" } , { "\xba\xe4\xa2" , "\x4f\xaa" } , { "\xba\xe5" , "\x4f\xa8" } , { "\xba\xe5\xa2" , "\x4f\xaa" } , { "\xba\xe6" , "\x4f\xac" } , { "\xba\xe7" , "\x4f\xac" } , { "\xba\xe8" , "\x4f" } , { "\xba\xe8\xb3" , "\x4f\x45" } , { "\xba\xe8\xb3\xda" , "\x4f\x45\x73" } , { "\xba\xe8\xb3\xdb" , "\x75\x4f\x45" } , { "\xba\xe8\xb3\xdc" , "\x4f\x45\x76" } , { "\xba\xe8\xb3\xdd" , "\x4f\x45\x78" } , { "\xba\xe8\xb3\xe1" , "\x4f\x45\x7e" } , { "\xba\xe8\xb3\xe2" , "\x4f\x45\xa4" } , { "\xba\xe8\xb3\xe5" , "\x4f\x45\xa8" } , { "\xba\xe8\xb3\xe8\xbd" , "\x4f\x45\x53" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x4f\x45\x6e\x6b\xa8" } , { "\xba\xe8\xb4\xda" , "\x4f\x47\x73" } , { "\xba\xe8\xb5" , "\x4f\x49" } , { "\xba\xe8\xb5\xa2" , "\x4f\x49\x7c" } , { "\xba\xe8\xb5\xda" , "\x4f\x49\x73" } , { "\xba\xe8\xb5\xda\xa2" , "\x4f\x49\x74" } , { "\xba\xe8\xb5\xe1" , "\x4f\x49\x7e" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x4f\x49\xae\x73" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x4f\x49\xae\x7e" } , { "\xba\xe8\xb6" , "\x4f\x4b" } , { "\xba\xe8\xb6\xda" , "\x4f\x4b\x73" } , { "\xba\xe8\xb8\xda" , "\x4f\x4d\x73" } , { "\xba\xe8\xb8\xdd" , "\x4f\x4d\x78" } , { "\xba\xe8\xb8\xe1" , "\x4f\x4d\x7e" } , { "\xba\xe8\xba" , "\x4f\x4f" } , { "\xba\xe8\xba\xa2" , "\x4f\x4f\x7c" } , { "\xba\xe8\xba\xda" , "\x4f\x4f\x73" } , { "\xba\xe8\xba\xdb" , "\x75\x4f\x4f" } , { "\xba\xe8\xba\xdc" , "\x4f\x4f\x76" } , { "\xba\xe8\xba\xdd" , "\x4f\x4f\x78" } , { "\xba\xe8\xba\xde" , "\x4f\x4f\x79" } , { "\xba\xe8\xba\xdf\xa2" , "\x75\x4f\x4f\xae\x7c" } , { "\xba\xe8\xba\xe0" , "\x4f\x4f\x7e" } , { "\xba\xe8\xba\xe1" , "\x4f\x4f\x7e" } , { "\xba\xe8\xba\xe2" , "\x4f\x4f\xa4" } , { "\xba\xe8\xba\xe5" , "\x4f\x4f\xa8" } , { "\xba\xe8\xba\xe5\xa2" , "\x4f\x4f\xaa" } , { "\xba\xe8\xba\xe8" , "\x4f\x4f" } , { "\xba\xe8\xba\xe8\xcd" , "\x4f\x4f\x69" } , { "\xba\xe8\xba\xe8\xd4" , "\x4f\x4f\xaf" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x4f\x4f\xaf\x7e" } , { "\xba\xe8\xba\xe9" , "\x4f\x50" } , { "\xba\xe8\xba\xe9\xdb" , "\x75\x4f\x50" } , { "\xba\xe8\xbb" , "\x4f\x51" } , { "\xba\xe8\xbb\xda" , "\x4f\x51\x73" } , { "\xba\xe8\xbb\xdb" , "\x75\x4f\x51" } , { "\xba\xe8\xbb\xdc" , "\x4f\x51\x76" } , { "\xba\xe8\xbb\xdd" , "\x4f\x51\x78" } , { "\xba\xe8\xbb\xde" , "\x4f\x51\x79" } , { "\xba\xe8\xbb\xe1" , "\x4f\x51\x7e" } , { "\xba\xe8\xbb\xe8\xd4" , "\x4f\x51\xaf" } , { "\xba\xe8\xbc" , "\x75\x49\x41" } , { "\xba\xe8\xbc\xa2" , "\x75\x49\x41\x7c\x7c" } , { "\xba\xe8\xbc\xa3" , "\x75\x49\x41\x7c" } , { "\xba\xe8\xbc\xda" , "\x75\x49\x41\x73" } , { "\xba\xe8\xbc\xda\xa2" , "\x75\x49\x41\x74\x7c" } , { "\xba\xe8\xbc\xdb" , "\x75\x49\x75\x42" } , { "\xba\xe8\xbc\xdc" , "\x75\x49\x42\x76" } , { "\xba\xe8\xbc\xdd" , "\x75\x49\x43\x78" } , { "\xba\xe8\xbc\xe0" , "\x75\x49\x42\x7e" } , { "\xba\xe8\xbc\xe1" , "\x75\x49\x42\x7e" } , { "\xba\xe8\xbc\xe2\xa3" , "\x75\x49\x41\xa4\x7c" } , { "\xba\xe8\xbc\xe5" , "\x75\x49\x44" } , { "\xba\xe8\xbc\xe5\xa2" , "\x75\x49\x44\x72\x7c" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x4f\x52\x60\x73" } , { "\xba\xe8\xbc\xe8\xcc" , "\x4f\x52\x67" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x4f\x52\x67\x73" } , { "\xba\xe8\xbc\xe8\xcd" , "\x4f\x52\x69" } , { "\xba\xe8\xbd\xda" , "\x4f\x53\x73" } , { "\xba\xe8\xbd\xdd" , "\x4f\x53\x78" } , { "\xba\xe8\xbd\xe0" , "\x4f\x53\x7e" } , { "\xba\xe8\xbd\xe5" , "\x4f\x53\xa8" } , { "\xba\xe8\xbe" , "\x4f\x54" } , { "\xba\xe8\xbe\xdd" , "\x4f\x54\x78" } , { "\xba\xe8\xbe\xe5" , "\x4f\x54\xa9" } , { "\xba\xe8\xbf" , "\x4f\x55" } , { "\xba\xe8\xbf\xda" , "\x4f\x55\x73" } , { "\xba\xe8\xbf\xdb" , "\x75\x4f\x55" } , { "\xba\xe8\xbf\xdd" , "\x4f\x55\x78" } , { "\xba\xe8\xbf\xe1" , "\x4f\x55\x7e" } , { "\xba\xe8\xbf\xe2" , "\x4f\x55\xa4" } , { "\xba\xe8\xbf\xe8" , "\x4f\x55" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x4f\x55\x52\x73" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x4f\x55\x60\xa1" } , { "\xba\xe8\xbf\xe9" , "\x4f\x5b" } , { "\xba\xe8\xc0" , "\x4f\x57" } , { "\xba\xe8\xc0\xa2" , "\x4f\x57\x7c" } , { "\xba\xe8\xc0\xda" , "\x4f\x57\x73" } , { "\xba\xe8\xc0\xdb" , "\x75\x4f\x57" } , { "\xba\xe8\xc0\xdd" , "\x4f\x57\x78" } , { "\xba\xe8\xc0\xe1" , "\x4f\x57\x7e" } , { "\xba\xe8\xc0\xe5" , "\x4f\x57\xa8" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x4f\x57\x52\x73" } , { "\xba\xe8\xc2" , "\x4f\x59" } , { "\xba\xe8\xc2\xe5" , "\x4f\x59\xa8" } , { "\xba\xe8\xc2\xe8\xcf" , "\x4f\x5a" } , { "\xba\xe8\xc4" , "\x4f\x5d" } , { "\xba\xe8\xc4\xda" , "\x4f\x5d\x73" } , { "\xba\xe8\xc4\xdb" , "\x75\x4f\x5d" } , { "\xba\xe8\xc4\xde" , "\x4f\x5d\x79" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x4f\x5e\x7b" } , { "\xba\xe8\xc6" , "\x4f\x60" } , { "\xba\xe8\xc6\xda" , "\x4f\x60\x73" } , { "\xba\xe8\xc6\xdb" , "\x75\x4f\x60" } , { "\xba\xe8\xc6\xdc" , "\x4f\x60\x76" } , { "\xba\xe8\xc6\xdd" , "\x4f\x60\x78" } , { "\xba\xe8\xc6\xdd\xa2" , "\x4f\x60\x78\x7d" } , { "\xba\xe8\xc6\xde" , "\x4f\x60\x79" } , { "\xba\xe8\xc6\xe1" , "\x4f\x60\xa1" } , { "\xba\xe8\xc6\xe6" , "\x4f\x60\xac" } , { "\xba\xe8\xc8" , "\x4f\x61" } , { "\xba\xe8\xc8\xda" , "\x4f\x61\x73" } , { "\xba\xe8\xc8\xdd" , "\x4f\x61\x78" } , { "\xba\xe8\xc8\xde" , "\x4f\x61\x79" } , { "\xba\xe8\xc8\xe2" , "\x4f\x61\xa4" } , { "\xba\xe8\xc8\xe5" , "\x4f\x61\xa8" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x4f\x61\xae\x7e" } , { "\xba\xe8\xc9\xe2" , "\x4f\x62\xa4" } , { "\xba\xe8\xc9\xe8\xc9" , "\x4f\x62\x62" } , { "\xba\xe8\xca" , "\x4f\x64" } , { "\xba\xe8\xca\xda" , "\x4f\x64\x73" } , { "\xba\xe8\xca\xe0" , "\x4f\x64\x7e" } , { "\xba\xe8\xca\xe0\xa2" , "\x4f\x64\xa2" } , { "\xba\xe8\xca\xe1" , "\x4f\x64\x7e" } , { "\xba\xe8\xca\xe2" , "\x4f\x64\xa4" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x4f\x64\x45" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x4f\x64\x49" } , { "\xba\xe8\xcb\xde" , "\x4f\x65\x79" } , { "\xba\xe8\xcb\xe1" , "\x4f\x65\x7e" } , { "\xba\xe8\xcc" , "\x4f\x67" } , { "\xba\xe8\xcc\xa2" , "\x4f\x67\x7c" } , { "\xba\xe8\xcc\xda" , "\x4f\x67\x73" } , { "\xba\xe8\xcc\xdb" , "\x75\x4f\x67" } , { "\xba\xe8\xcc\xdc" , "\x4f\x67\x76" } , { "\xba\xe8\xcc\xdd" , "\x4f\x67\x78" } , { "\xba\xe8\xcc\xde" , "\x4f\x67\x79" } , { "\xba\xe8\xcc\xe0" , "\x4f\x67\x7e" } , { "\xba\xe8\xcc\xe0\xa2" , "\x4f\x67\xa2" } , { "\xba\xe8\xcc\xe1" , "\x4f\x67\x7e" } , { "\xba\xe8\xcc\xe1\xa2" , "\x4f\x67\xa2" } , { "\xba\xe8\xcc\xe5" , "\x4f\x67\xa8" } , { "\xba\xe8\xcd" , "\x4f\x69" } , { "\xba\xe8\xcd\xa2" , "\x4f\x69\x7c" } , { "\xba\xe8\xcd\xda" , "\x4f\x69\x73" } , { "\xba\xe8\xcd\xda\xa1" , "\x4f\x69\x74" } , { "\xba\xe8\xcd\xda\xa2" , "\x4f\x69\x74" } , { "\xba\xe8\xcd\xdb" , "\x75\x4f\x69" } , { "\xba\xe8\xcd\xdc" , "\x4f\x69\x76" } , { "\xba\xe8\xcd\xdd" , "\x4f\x69\x78" } , { "\xba\xe8\xcd\xdd\xa2" , "\x4f\x69\x78\x7c" } , { "\xba\xe8\xcd\xde" , "\x4f\x69\x79" } , { "\xba\xe8\xcd\xde\xa1" , "\x4f\x69\x79\x7c" } , { "\xba\xe8\xcd\xde\xa2" , "\x4f\x69\x79\x7c" } , { "\xba\xe8\xcd\xe0" , "\x4f\x69\x7e" } , { "\xba\xe8\xcd\xe0\xa2" , "\x4f\x69\xa2" } , { "\xba\xe8\xcd\xe1" , "\x4f\x69\x7e" } , { "\xba\xe8\xcd\xe4" , "\x4f\x69\xa8" } , { "\xba\xe8\xcd\xe5" , "\x4f\x69\xa8" } , { "\xba\xe8\xcd\xe5\xa2" , "\x4f\x69\xaa" } , { "\xba\xe8\xcd\xe6" , "\x4f\x69\xac" } , { "\xba\xe8\xcd\xe8\xcf" , "\x4f\x68\xae" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x4f\x68\xae\x7c" } , { "\xba\xe8\xcf" , "\x4f\xae" } , { "\xba\xe8\xcf\xa2" , "\x4f\xae\x7c" } , { "\xba\xe8\xcf\xda" , "\x4f\xae\x73" } , { "\xba\xe8\xcf\xda\xa2" , "\x4f\xae\x74" } , { "\xba\xe8\xcf\xdb" , "\x75\x4f\xae" } , { "\xba\xe8\xcf\xdc" , "\x4f\xae\x76" } , { "\xba\xe8\xcf\xe1" , "\x4f\xae\x7e" } , { "\xba\xe8\xcf\xe4" , "\x4f\xae\xa8" } , { "\xba\xe8\xcf\xe5" , "\x4f\xae\xa8" } , { "\xba\xe8\xd1" , "\x4f\x6b" } , { "\xba\xe8\xd1\xda" , "\x4f\x6b\x73" } , { "\xba\xe8\xd1\xdb" , "\x75\x4f\x6b" } , { "\xba\xe8\xd1\xdc" , "\x4f\x6b\x76" } , { "\xba\xe8\xd1\xdd" , "\x4f\x6b\x78" } , { "\xba\xe8\xd1\xe5" , "\x4f\x6b\xa8" } , { "\xba\xe8\xd4" , "\x4f\xaf" } , { "\xba\xe8\xd4\xa2" , "\x4f\xaf\x7c" } , { "\xba\xe8\xd4\xda" , "\x4f\xaf\x73" } , { "\xba\xe8\xd4\xdb" , "\x75\x4f\xaf" } , { "\xba\xe8\xd4\xdc" , "\x4f\xaf\x76" } , { "\xba\xe8\xd4\xdd" , "\x4f\xaf\x7a" } , { "\xba\xe8\xd4\xdf" , "\x75\x4f\x6d\xae" } , { "\xba\xe8\xd4\xe0" , "\x4f\xaf\x7e" } , { "\xba\xe8\xd4\xe1" , "\x4f\xaf\x7e" } , { "\xba\xe8\xd4\xe7" , "\x4f\xaf\xac" } , { "\xba\xe8\xd4\xe8\xba" , "\x4f\x6d\x4f" } , { "\xba\xe8\xd5\xda" , "\x4f\x6f\x73" } , { "\xba\xe8\xd6\xda" , "\x4f\x6f\x73" } , { "\xba\xe8\xd7" , "\x4f\x6e" } , { "\xba\xe8\xd7\xdb\xa2" , "\x75\x4f\x6e\x7c" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\x75\x4f\x6e\x45" } , { "\xba\xe8\xd9\xba" , "\x4f\x4f" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x4f\x6a\x69" } , { "\xba\xe8\xe8" , "\x4f" } , { "\xba\xe8\xe9\xbc" , "\x75\x49\x41" } , { "\xba\xe8\xe9\xcf" , "\x4f\xae" } , { "\xba\xe9" , "\x50" } , { "\xba\xe9\xa2" , "\x50\x7c" } , { "\xba\xe9\xbf\xe9" , "\x50\x5b" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x50\x5b\xaa" } , { "\xba\xe9\xc7" , "\x50\x60" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x50\x67\x64\x78" } , { "\xba\xe9\xd4\xda" , "\x50\x6d\x73" } , { "\xba\xe9\xda" , "\x50\x73" } , { "\xba\xe9\xdb" , "\x75\x50" } , { "\xba\xe9\xdb\xa2" , "\x75\x50\x7c" } , { "\xba\xe9\xdc" , "\x50\x76" } , { "\xba\xe9\xdd" , "\x50\x78" } , { "\xba\xe9\xde" , "\x50\x79" } , { "\xba\xe9\xe1" , "\x50\x7e" } , { "\xba\xe9\xe1\xa2" , "\x50\xa2" } , { "\xba\xe9\xe2" , "\x50\xa4" } , { "\xba\xe9\xe5" , "\x50\xa8" } , { "\xba\xe9\xe5\xa2" , "\x50\xaa" } , { "\xba\xe9\xe8\xba" , "\x50\x4f" } , { "\xba\xe9\xe8\xba\xe9" , "\x50\x50" } , { "\xba\xe9\xe8\xca\xda" , "\x50\x64\x73" } , { "\xba\xe9\xe8\xcc" , "\x50\x67" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\x50\x67\xaa" } , { "\xba\xe9\xe8\xcd\xda" , "\x50\x69\x73" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x50\x71\xb1\x68\x73" } , { "\xbb" , "\x51" } , { "\xbb\xa1" , "\x51\x7c" } , { "\xbb\xa2" , "\x51\x7c" } , { "\xbb\xa3" , "\x51\x7c" } , { "\xbb\xda" , "\x51\x73" } , { "\xbb\xda\xa1" , "\x51\x74" } , { "\xbb\xda\xa2" , "\x51\x74" } , { "\xbb\xdb" , "\x75\x51" } , { "\xbb\xdb\xa2" , "\x75\x51\x7c" } , { "\xbb\xdc" , "\x51\x76" } , { "\xbb\xdc\xa2" , "\x51\x77" } , { "\xbb\xdd" , "\x51\x78" } , { "\xbb\xdd\xa1" , "\x51\x78\x7c" } , { "\xbb\xdd\xa2" , "\x51\x78\x7c" } , { "\xbb\xde" , "\x51\x79" } , { "\xbb\xde\xa1" , "\x51\x79\x7c" } , { "\xbb\xde\xa2" , "\x51\x79\x7c" } , { "\xbb\xdf" , "\x75\x51\xae" } , { "\xbb\xe0" , "\x51\x7e" } , { "\xbb\xe0\xa2" , "\x51\xa2" } , { "\xbb\xe1" , "\x51\x7e" } , { "\xbb\xe1\xa2" , "\x51\xa2" } , { "\xbb\xe2" , "\x51\xa4" } , { "\xbb\xe4" , "\x51\xa8" } , { "\xbb\xe5" , "\x51\xa8" } , { "\xbb\xe5\xa2" , "\x51\xaa" } , { "\xbb\xe6" , "\x51\xac" } , { "\xbb\xe6\xa2" , "\x51\xac\x72" } , { "\xbb\xe7" , "\x51\xac" } , { "\xbb\xe8" , "\x51" } , { "\xbb\xe8\xb6\xdd" , "\x51\x4b\x78" } , { "\xbb\xe8\xbb" , "\x51\x51" } , { "\xbb\xe8\xcd" , "\x51\x69" } , { "\xbb\xe8\xcf" , "\x51\xae" } , { "\xbb\xe8\xd4" , "\x51\xaf" } , { "\xbb\xe8\xe8" , "\x51" } , { "\xbb\xe8\xe9\xcf" , "\x51\xae" } , { "\xbb\xe9" , "\x51" } , { "\xbc" , "\x52" } , { "\xbc\xa2" , "\x52\x7c" } , { "\xbc\xa3" , "\x52\x7c" } , { "\xbc\xda" , "\x52\x73" } , { "\xbc\xdb" , "\x75\x52" } , { "\xbc\xdc" , "\x52\x76" } , { "\xbc\xdd" , "\x52\x78" } , { "\xbc\xde" , "\x52\x79" } , { "\xbc\xdf" , "\x75\x52\xae" } , { "\xbc\xe0" , "\x52\x7e" } , { "\xbc\xe1" , "\x52\x7e" } , { "\xbc\xe2" , "\x52\xa4" } , { "\xbc\xe3" , "\x52\xa4" } , { "\xbc\xe4" , "\x52\xa8" } , { "\xbc\xe5" , "\x52\xa8" } , { "\xbc\xe5\xa2" , "\x52\xaa" } , { "\xbc\xe6" , "\x52\xac" } , { "\xbc\xe8" , "\x52" } , { "\xbc\xe8\xb8" , "\x52\x4d" } , { "\xbc\xe8\xb8\xda" , "\x52\x4d\x73" } , { "\xbc\xe8\xb8\xdb" , "\x75\x52\x4d" } , { "\xbc\xe8\xb8\xdc" , "\x52\x4d\x76" } , { "\xbc\xe8\xb8\xe0" , "\x52\x4d\x7e" } , { "\xbc\xe8\xb8\xe1" , "\x52\x4d\x7e" } , { "\xbc\xe8\xb8\xe4" , "\x52\x4d\xa8" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x52\x4d\x69\x74" } , { "\xbc\xe8\xba" , "\x52\x4f" } , { "\xbc\xe8\xba\xda" , "\x52\x4f\x73" } , { "\xbc\xe8\xba\xdb" , "\x75\x52\x4f" } , { "\xbc\xe8\xba\xdc" , "\x52\x4f\x76" } , { "\xbc\xe8\xba\xdd" , "\x52\x4f\x78" } , { "\xbc\xe8\xba\xe5\xa2" , "\x52\x4f\xaa" } , { "\xbc\xe8\xbc" , "\x52\x52" } , { "\xbc\xe8\xbc\xda" , "\x52\x52\x73" } , { "\xbc\xe8\xc1" , "\x52\x58" } , { "\xbc\xe8\xcd\xa2" , "\x52\x69\x7c" } , { "\xbc\xe8\xcd\xe5" , "\x52\x69\xa8" } , { "\xbc\xe8\xd4" , "\x52\xaf" } , { "\xbc\xe9" , "\x52" } , { "\xbd" , "\x53" } , { "\xbd\xa1" , "\x53\x7c" } , { "\xbd\xa2" , "\x53\x7c" } , { "\xbd\xa2\xa2" , "\x53\x7c\x7d" } , { "\xbd\xa3" , "\x53\x7c" } , { "\xbd\xd9" , "\x53" } , { "\xbd\xda" , "\x53\x73" } , { "\xbd\xda\xa1" , "\x53\x74" } , { "\xbd\xda\xa2" , "\x53\x74" } , { "\xbd\xda\xa3" , "\x53\x73\x7c" } , { "\xbd\xdb" , "\x75\x53" } , { "\xbd\xdb\xa2" , "\x75\x53\x7c" } , { "\xbd\xdc" , "\x53\x76" } , { "\xbd\xdc\xa2" , "\x53\x77" } , { "\xbd\xdd" , "\x53\x78" } , { "\xbd\xdd\xa2" , "\x53\x78\x7c" } , { "\xbd\xde" , "\x53\x79" } , { "\xbd\xde\xa1" , "\x53\x79\x7c" } , { "\xbd\xde\xa2" , "\x53\x79\x7c" } , { "\xbd\xdf" , "\x75\x53\xae" } , { "\xbd\xe0" , "\x53\x7e" } , { "\xbd\xe0\xa2" , "\x53\xa2" } , { "\xbd\xe1" , "\x53\x7e" } , { "\xbd\xe1\xa2" , "\x53\xa2" } , { "\xbd\xe2" , "\x53\xa4" } , { "\xbd\xe2\xa2" , "\x53\xa6" } , { "\xbd\xe3" , "\x53\xa4" } , { "\xbd\xe4" , "\x53\xa8" } , { "\xbd\xe4\xa2" , "\x53\xaa" } , { "\xbd\xe5" , "\x53\xa8" } , { "\xbd\xe5\xa2" , "\x53\xaa" } , { "\xbd\xe6" , "\x53\xac" } , { "\xbd\xe6\xa2" , "\x53\xac\x72" } , { "\xbd\xe7" , "\x53\xac" } , { "\xbd\xe8" , "\x53" } , { "\xbd\xe8\xa6" , "\x53\x75\x42" } , { "\xbd\xe8\xb3" , "\x53\x45" } , { "\xbd\xe8\xb3\xa2" , "\x53\x45\x7c" } , { "\xbd\xe8\xb3\xda" , "\x53\x45\x73" } , { "\xbd\xe8\xb3\xda\xa2" , "\x53\x45\x74" } , { "\xbd\xe8\xb3\xdb" , "\x75\x53\x45" } , { "\xbd\xe8\xb3\xdb\xa2" , "\x75\x53\x45\x7c" } , { "\xbd\xe8\xb3\xdc" , "\x53\x45\x76" } , { "\xbd\xe8\xb3\xdd" , "\x53\x45\x78" } , { "\xbd\xe8\xb3\xde" , "\x53\x45\x79" } , { "\xbd\xe8\xb3\xe0" , "\x53\x45\x7e" } , { "\xbd\xe8\xb3\xe1" , "\x53\x45\x7e" } , { "\xbd\xe8\xb3\xe2" , "\x53\x45\xa4" } , { "\xbd\xe8\xb3\xe5" , "\x53\x45\xa8" } , { "\xbd\xe8\xb3\xe8\xd1" , "\x53\x45\x6b" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\x53\x45\x6b\x76" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\x53\x45\x6e" } , { "\xbd\xe8\xb5" , "\x53\x49" } , { "\xbd\xe8\xb5\xda" , "\x53\x49\x73" } , { "\xbd\xe8\xb5\xe0" , "\x53\x49\x7e" } , { "\xbd\xe8\xb5\xe1" , "\x53\x49\x7e" } , { "\xbd\xe8\xb5\xe2" , "\x53\x49\xa4" } , { "\xbd\xe8\xb5\xe5" , "\x53\x49\xa8" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\x53\x49\xae\x7c" } , { "\xbd\xe8\xb7\xe8" , "\x53\x4c" } , { "\xbd\xe8\xb8" , "\x53\x4d" } , { "\xbd\xe8\xb8\xa2" , "\x53\x4d\x7c" } , { "\xbd\xe8\xb8\xda" , "\x53\x4d\x73" } , { "\xbd\xe8\xb8\xdb" , "\x75\x53\x4d" } , { "\xbd\xe8\xb8\xdb\xa2" , "\x75\x53\x4d\x7c" } , { "\xbd\xe8\xb8\xdd" , "\x53\x4d\x78" } , { "\xbd\xe8\xb8\xe0" , "\x53\x4d\x7e" } , { "\xbd\xe8\xb8\xe1" , "\x53\x4d\x7e" } , { "\xbd\xe8\xb8\xe8" , "\x53\x4d" } , { "\xbd\xe8\xb9\xa2" , "\x53\x4e\x7c" } , { "\xbd\xe8\xba" , "\x53\x4f" } , { "\xbd\xe8\xba\xa2" , "\x53\x4f\x7c" } , { "\xbd\xe8\xba\xdc" , "\x53\x4f\x76" } , { "\xbd\xe8\xba\xe0" , "\x53\x4f\x7e" } , { "\xbd\xe8\xba\xe1" , "\x53\x4f\x7e" } , { "\xbd\xe8\xba\xe8" , "\x53\x4f" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x53\x4f\x49\x7e" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\x53\x4f\x60\x78\x7d" } , { "\xbd\xe8\xbd" , "\x53\x53" } , { "\xbd\xe8\xbd\xa2" , "\x53\x53\x7c" } , { "\xbd\xe8\xbd\xa3" , "\x53\x53\x7c" } , { "\xbd\xe8\xbd\xda" , "\x53\x53\x73" } , { "\xbd\xe8\xbd\xda\xa2" , "\x53\x53\x74" } , { "\xbd\xe8\xbd\xda\xa3" , "\x53\x53\x73\x7c" } , { "\xbd\xe8\xbd\xdb" , "\x75\x53\x53" } , { "\xbd\xe8\xbd\xdb\xa2" , "\x75\x53\x53\x7c" } , { "\xbd\xe8\xbd\xdc" , "\x53\x53\x76" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x53\x53\x77" } , { "\xbd\xe8\xbd\xdd" , "\x53\x53\x78" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x53\x53\x78\x7c" } , { "\xbd\xe8\xbd\xde" , "\x53\x53\x79" } , { "\xbd\xe8\xbd\xe0" , "\x53\x53\x7e" } , { "\xbd\xe8\xbd\xe0\xa2" , "\x53\x53\xa2" } , { "\xbd\xe8\xbd\xe1" , "\x53\x53\x7e" } , { "\xbd\xe8\xbd\xe1\xa2" , "\x53\x53\xa2" } , { "\xbd\xe8\xbd\xe2" , "\x53\x53\xa4" } , { "\xbd\xe8\xbd\xe2\xa2" , "\x53\x53\xa6" } , { "\xbd\xe8\xbd\xe4" , "\x53\x53\xa8" } , { "\xbd\xe8\xbd\xe5" , "\x53\x53\xa8" } , { "\xbd\xe8\xbd\xe5\xa2" , "\x53\x53\xaa" } , { "\xbd\xe8\xbd\xe6" , "\x53\x53\xac" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x53\x53\x45\x78" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x53\x53\x58" } , { "\xbd\xe8\xbd\xe8\xc6" , "\x53\x53\x60" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\x53\x53\x61\x7e" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x53\x53\xae\x73" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x53\x53\x6a" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\x53\x53\x6a\x60" } , { "\xbd\xe8\xbd\xe8\xd4" , "\x53\x53\xaf" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x53\x53\x6e\x78" } , { "\xbd\xe8\xbe" , "\x53\x54" } , { "\xbd\xe8\xbe\xda" , "\x53\x54\x73" } , { "\xbd\xe8\xbe\xdb" , "\x75\x53\x54" } , { "\xbd\xe8\xbe\xdc" , "\x53\x54\x76" } , { "\xbd\xe8\xbe\xdd" , "\x53\x54\x78" } , { "\xbd\xe8\xbe\xde" , "\x53\x54\x79" } , { "\xbd\xe8\xbe\xe1" , "\x53\x54\xa1" } , { "\xbd\xe8\xbe\xe5" , "\x53\x54\xa9" } , { "\xbd\xe8\xbe\xe5\xa2" , "\x53\x54\xab" } , { "\xbd\xe8\xbf" , "\x53\x55" } , { "\xbd\xe8\xbf\xdb" , "\x75\x53\x55" } , { "\xbd\xe8\xbf\xdd" , "\x53\x55\x78" } , { "\xbd\xe8\xbf\xe1" , "\x53\x55\x7e" } , { "\xbd\xe8\xbf\xe5" , "\x53\x55\xa8" } , { "\xbd\xe8\xbf\xe6" , "\x53\x55\xac" } , { "\xbd\xe8\xbf\xe8" , "\x53\x55" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\x53\x56\x73" } , { "\xbd\xe8\xc0\xdc" , "\x53\x57\x76" } , { "\xbd\xe8\xc1\xa2" , "\x53\x58\x7d" } , { "\xbd\xe8\xc2" , "\x53\x59" } , { "\xbd\xe8\xc2\xda" , "\x53\x59\x73" } , { "\xbd\xe8\xc2\xdb\xa2" , "\x75\x53\x59\x7c" } , { "\xbd\xe8\xc2\xdc" , "\x53\x59\x76" } , { "\xbd\xe8\xc2\xdd" , "\x53\x59\x78" } , { "\xbd\xe8\xc2\xdd\xa2" , "\x53\x59\x78\x7c" } , { "\xbd\xe8\xc2\xde" , "\x53\x59\x79" } , { "\xbd\xe8\xc2\xe0" , "\x53\x59\x7e" } , { "\xbd\xe8\xc2\xe1" , "\x53\x59\x7e" } , { "\xbd\xe8\xc2\xe4" , "\x53\x59\xa8" } , { "\xbd\xe8\xc2\xe5" , "\x53\x59\xa8" } , { "\xbd\xe8\xc2\xe5\xa2" , "\x53\x59\xaa" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\x75\x53\x5a\x7c" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\x53\x5a\x7e" } , { "\xbd\xe8\xc4" , "\x53\x5d" } , { "\xbd\xe8\xc4\xda" , "\x53\x5d\x73" } , { "\xbd\xe8\xc4\xe0" , "\x53\x5d\x7e" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x53\x5d\xaf\x73" } , { "\xbd\xe8\xc5" , "\x53\x5f" } , { "\xbd\xe8\xc6" , "\x53\x60" } , { "\xbd\xe8\xc6\xa2" , "\x53\x60\x7d" } , { "\xbd\xe8\xc6\xda" , "\x53\x60\x73" } , { "\xbd\xe8\xc6\xdb" , "\x75\x53\x60" } , { "\xbd\xe8\xc6\xdb\xa2" , "\x75\x53\x60\x7c" } , { "\xbd\xe8\xc6\xdc" , "\x53\x60\x76" } , { "\xbd\xe8\xc6\xdc\xa2" , "\x53\x60\x77" } , { "\xbd\xe8\xc6\xdd" , "\x53\x60\x78" } , { "\xbd\xe8\xc6\xdd\xa2" , "\x53\x60\x78\x7d" } , { "\xbd\xe8\xc6\xde" , "\x53\x60\x79" } , { "\xbd\xe8\xc6\xe0" , "\x53\x60\x7e" } , { "\xbd\xe8\xc6\xe1" , "\x53\x60\xa1" } , { "\xbd\xe8\xc6\xe1\xa2" , "\x53\x60\xa3" } , { "\xbd\xe8\xc6\xe5" , "\x53\x60\xa9" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x53\x60\x69\x79" } , { "\xbd\xe8\xc8" , "\x53\x61" } , { "\xbd\xe8\xc8\xda" , "\x53\x61\x73" } , { "\xbd\xe8\xc8\xdb" , "\x75\x53\x61" } , { "\xbd\xe8\xc8\xdd" , "\x53\x61\x78" } , { "\xbd\xe8\xc8\xde" , "\x53\x61\x79" } , { "\xbd\xe8\xc8\xe1" , "\x53\x61\x7e" } , { "\xbd\xe8\xc8\xe2" , "\x53\x61\xa4" } , { "\xbd\xe8\xc8\xe8\xcf" , "\x53\x61\xae" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\x53\x61\xae\x73" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\x53\x61\x6b\x7e" } , { "\xbd\xe8\xc9" , "\x53\x62" } , { "\xbd\xe8\xc9\xa2" , "\x53\x62\x7c" } , { "\xbd\xe8\xc9\xda" , "\x53\x62\x73" } , { "\xbd\xe8\xc9\xda\xa2" , "\x53\x62\x74" } , { "\xbd\xe8\xc9\xdb" , "\x75\x53\x62" } , { "\xbd\xe8\xc9\xdc" , "\x53\x62\x76" } , { "\xbd\xe8\xc9\xdd" , "\x53\x62\x78" } , { "\xbd\xe8\xc9\xe2" , "\x53\x62\xa4" } , { "\xbd\xe8\xc9\xe5" , "\x53\x62\xa8" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x53\x62\x69\x73" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x53\x62\xae\xa4" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\x53\x62\x6b\xa4" } , { "\xbd\xe8\xca" , "\x53\x64" } , { "\xbd\xe8\xca\xda" , "\x53\x64\x73" } , { "\xbd\xe8\xca\xda\xa2" , "\x53\x64\x74" } , { "\xbd\xe8\xca\xdd" , "\x53\x64\x78" } , { "\xbd\xe8\xca\xe0" , "\x53\x64\x7e" } , { "\xbd\xe8\xca\xe5" , "\x53\x64\xa8" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x53\x64\x69\x73" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x53\x64\x69\x74" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\x53\x64\x6b\x73" } , { "\xbd\xe8\xcb\xdd" , "\x53\x65\x78" } , { "\xbd\xe8\xcb\xde" , "\x53\x65\x79" } , { "\xbd\xe8\xcb\xe8\xcf" , "\x53\x66" } , { "\xbd\xe8\xcc" , "\x53\x67" } , { "\xbd\xe8\xcc\xa2" , "\x53\x67\x7c" } , { "\xbd\xe8\xcc\xda" , "\x53\x67\x73" } , { "\xbd\xe8\xcc\xdc" , "\x53\x67\x76" } , { "\xbd\xe8\xcc\xe0" , "\x53\x67\x7e" } , { "\xbd\xe8\xcc\xe0\xa2" , "\x53\x67\xa2" } , { "\xbd\xe8\xcc\xe2" , "\x53\x67\xa4" } , { "\xbd\xe8\xcc\xe4" , "\x53\x67\xa8" } , { "\xbd\xe8\xcc\xe5" , "\x53\x67\xa8" } , { "\xbd\xe8\xcc\xe8\xca" , "\x53\x67\x64" } , { "\xbd\xe8\xcd" , "\x53\x69" } , { "\xbd\xe8\xcd\xa2" , "\x53\x69\x7c" } , { "\xbd\xe8\xcd\xda" , "\x53\x69\x73" } , { "\xbd\xe8\xcd\xda\xa2" , "\x53\x69\x74" } , { "\xbd\xe8\xcd\xdc\xa2" , "\x53\x69\x77" } , { "\xbd\xe8\xcd\xdd" , "\x53\x69\x78" } , { "\xbd\xe8\xcd\xde" , "\x53\x69\x79" } , { "\xbd\xe8\xcd\xde\xa2" , "\x53\x69\x79\x7c" } , { "\xbd\xe8\xcd\xe1" , "\x53\x69\x7e" } , { "\xbd\xe8\xcd\xe4" , "\x53\x69\xa8" } , { "\xbd\xe8\xcd\xe5" , "\x53\x69\xa8" } , { "\xbd\xe8\xcd\xe5\xa2" , "\x53\x69\xaa" } , { "\xbd\xe8\xcf" , "\x53\xae" } , { "\xbd\xe8\xcf\xa2" , "\x53\xae\x7c" } , { "\xbd\xe8\xcf\xda" , "\x53\xae\x73" } , { "\xbd\xe8\xcf\xda\xa1" , "\x53\xae\x74" } , { "\xbd\xe8\xcf\xda\xa2" , "\x53\xae\x74" } , { "\xbd\xe8\xcf\xdb" , "\x75\x53\xae" } , { "\xbd\xe8\xcf\xdb\xa2" , "\x75\x53\xae\x7c" } , { "\xbd\xe8\xcf\xdc" , "\x53\xae\x76" } , { "\xbd\xe8\xcf\xdd" , "\x53\xae\x7a" } , { "\xbd\xe8\xcf\xde" , "\x53\xae\x7b" } , { "\xbd\xe8\xcf\xe0" , "\x53\xae\x7e" } , { "\xbd\xe8\xcf\xe0\xa2" , "\x53\xae\xa2" } , { "\xbd\xe8\xcf\xe1" , "\x53\xae\x7e" } , { "\xbd\xe8\xcf\xe1\xa2" , "\x53\xae\xa2" } , { "\xbd\xe8\xcf\xe2" , "\x53\xae\xa4" } , { "\xbd\xe8\xcf\xe2\xa2" , "\x53\xae\xa6" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\x53\xae\xa4\x60" } , { "\xbd\xe8\xcf\xe4" , "\x53\xae\xa8" } , { "\xbd\xe8\xcf\xe5" , "\x53\xae\xa8" } , { "\xbd\xe8\xcf\xe6" , "\x53\xae\xac" } , { "\xbd\xe8\xcf\xe7" , "\x53\xae\xac" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\x75\x53\x6a\x45" } , { "\xbd\xe8\xcf\xe8\xc6" , "\x53\x6a\x60" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x53\x6a\x6e" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x53\x6a\x6e" } , { "\xbd\xe8\xd1" , "\x53\x6b" } , { "\xbd\xe8\xd1\xa2" , "\x53\x6b\x7c" } , { "\xbd\xe8\xd1\xda" , "\x53\x6b\x73" } , { "\xbd\xe8\xd1\xda\xa2" , "\x53\x6b\x74" } , { "\xbd\xe8\xd1\xdb" , "\x75\x53\x6b" } , { "\xbd\xe8\xd1\xdb\xa2" , "\x75\x53\x6b\x7c" } , { "\xbd\xe8\xd1\xdc" , "\x53\x6b\x76" } , { "\xbd\xe8\xd1\xdd" , "\x53\x6b\x78" } , { "\xbd\xe8\xd1\xdd\xa2" , "\x53\x6b\x78\x7c" } , { "\xbd\xe8\xd1\xde" , "\x53\x6b\x79" } , { "\xbd\xe8\xd1\xe0" , "\x53\x6b\x7e" } , { "\xbd\xe8\xd1\xe0\xa2" , "\x53\x6b\xa2" } , { "\xbd\xe8\xd1\xe1" , "\x53\x6b\x7e" } , { "\xbd\xe8\xd1\xe2" , "\x53\x6b\xa4" } , { "\xbd\xe8\xd1\xe2\xa2" , "\x53\x6b\xa6" } , { "\xbd\xe8\xd1\xe4" , "\x53\x6b\xa8" } , { "\xbd\xe8\xd1\xe5" , "\x53\x6b\xa8" } , { "\xbd\xe8\xd1\xe5\xa2" , "\x53\x6b\xaa" } , { "\xbd\xe8\xd1\xe8" , "\x53\x6b" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\x53\x6b\x60\x78" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x53\x6b\x69\x74" } , { "\xbd\xe8\xd2\xdd" , "\x53\x6b\x78" } , { "\xbd\xe8\xd4" , "\x53\xaf" } , { "\xbd\xe8\xd4\xa2" , "\x53\xaf\x7c" } , { "\xbd\xe8\xd4\xda" , "\x53\xaf\x73" } , { "\xbd\xe8\xd4\xda\xa2" , "\x53\xaf\x74" } , { "\xbd\xe8\xd4\xdb" , "\x75\x53\xaf" } , { "\xbd\xe8\xd4\xdb\xa2" , "\x75\x53\xaf\x7c" } , { "\xbd\xe8\xd4\xdc" , "\x53\xaf\x76" } , { "\xbd\xe8\xd4\xe0" , "\x53\xaf\x7e" } , { "\xbd\xe8\xd4\xe1" , "\x53\xaf\x7e" } , { "\xbd\xe8\xd4\xe2" , "\x53\xaf\xa4" } , { "\xbd\xe8\xd5" , "\x53\x6f" } , { "\xbd\xe8\xd5\xda" , "\x53\x6f\x73" } , { "\xbd\xe8\xd5\xdb" , "\x75\x53\x6f" } , { "\xbd\xe8\xd6\xdb" , "\x75\x53\x6f" } , { "\xbd\xe8\xd6\xdc" , "\x53\x6f\x76" } , { "\xbd\xe8\xd6\xdd" , "\x53\x6f\x78" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\x75\x53\x6f\x6b" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\x53\x6f\x6b\x76" } , { "\xbd\xe8\xd7" , "\x53\x6e" } , { "\xbd\xe8\xd7\xda" , "\x53\x6e\x73" } , { "\xbd\xe8\xd7\xdb" , "\x75\x53\x6e" } , { "\xbd\xe8\xd7\xdb\xa2" , "\x75\x53\x6e\x7c" } , { "\xbd\xe8\xd7\xdd" , "\x53\x6e\x78" } , { "\xbd\xe8\xd7\xde" , "\x53\x6e\x79" } , { "\xbd\xe8\xd7\xe0" , "\x53\x6e\x7e" } , { "\xbd\xe8\xd7\xe1" , "\x53\x6e\x7e" } , { "\xbd\xe8\xd7\xe2" , "\x53\x6e\xa4" } , { "\xbd\xe8\xd7\xe5" , "\x53\x6e\xa8" } , { "\xbd\xe8\xd7\xe8" , "\x53\x6e" } , { "\xbd\xe8\xd7\xe8\xb3" , "\x53\x6e\x45" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\x75\x53\x6e\x45" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\x53\x6e\x45\x76" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\x53\x6e\x45\x78" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x53\x6e\x49\x73" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\x75\x53\x6e\x4d" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x53\x6e\x4d\x7e" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x53\x6e\x53" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x53\x6e\x53\x73" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x53\x6e\x53\x7e" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x53\x6e\x53\xa2" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\x53\x6e\x59\xa8" } , { "\xbd\xe8\xd7\xe8\xc3" , "\x53\x6e\x5c" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x53\x6e\x5d" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x53\x6e\x5d\xaf\x73" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\x75\x53\x6e\x60" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\x53\x6e\x60\x78" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\x53\x6e\x60\x78\x7d" } , { "\xbd\xe8\xd7\xe8\xca" , "\x53\x6e\x64" } , { "\xbd\xe8\xd7\xe8\xcc" , "\x53\x6e\x67" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\x75\x53\x6e\x67" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\x53\x6e\x67\x7e" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x53\x6e\x69\x7c" } , { "\xbd\xe8\xd7\xe8\xd1" , "\x53\x6e\x6b" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\x53\x6e\x6b\xa8" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x53\x6e\xaf" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\x75\x53\x6e\xaf\x7c" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x53\x6e\xaf\xa8" } , { "\xbd\xe8\xd8\xda" , "\x53\xad\x73" } , { "\xbd\xe8\xd8\xdc" , "\x53\xad\x76" } , { "\xbd\xe8\xd8\xde" , "\x53\xad\x7b" } , { "\xbd\xe8\xd8\xe0" , "\x53\xad\x7e" } , { "\xbd\xe8\xd8\xe5" , "\x53\xad\xa8" } , { "\xbd\xe8\xd8\xe6" , "\x53\xad\xac" } , { "\xbd\xe8\xd9\xa6" , "\x53\x75\x42" } , { "\xbd\xe8\xd9\xbd" , "\x53\x53" } , { "\xbd\xe8\xd9\xbd\xda" , "\x53\x53\x73" } , { "\xbd\xe8\xd9\xbd\xdc" , "\x53\x53\x76" } , { "\xbd\xe8\xd9\xbd\xe5" , "\x53\x53\xa8" } , { "\xbd\xe8\xd9\xbe\xdc" , "\x53\x54\x76" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\x53\x68\x79\x7c" } , { "\xbd\xe8\xd9\xd7" , "\x53\x6e" } , { "\xbd\xe8\xe8" , "\x53" } , { "\xbe" , "\x54" } , { "\xbe\xa2" , "\x54\x7d" } , { "\xbe\xa3" , "\x54\x7d" } , { "\xbe\xda" , "\x54\x73" } , { "\xbe\xda\xa1" , "\x54\x74" } , { "\xbe\xda\xa2" , "\x54\x74" } , { "\xbe\xdb" , "\x75\x54" } , { "\xbe\xdb\xa2" , "\x75\x54\x7c" } , { "\xbe\xdc" , "\x54\x76" } , { "\xbe\xdc\xa2" , "\x54\x77" } , { "\xbe\xdd" , "\x54\x78" } , { "\xbe\xdd\xa2" , "\x54\x78\x7d" } , { "\xbe\xde" , "\x54\x79" } , { "\xbe\xde\xa1" , "\x54\x79\x7d" } , { "\xbe\xde\xa2" , "\x54\x79\x7d" } , { "\xbe\xdf" , "\x75\x54\xae" } , { "\xbe\xe0" , "\x54\x7e" } , { "\xbe\xe1" , "\x54\xa1" } , { "\xbe\xe1\xa2" , "\x54\xa3" } , { "\xbe\xe2" , "\x54\xa5" } , { "\xbe\xe2\xa2" , "\x54\xa7" } , { "\xbe\xe3" , "\x54\xa4" } , { "\xbe\xe4" , "\x54\xa8" } , { "\xbe\xe5" , "\x54\xa9" } , { "\xbe\xe5\xa2" , "\x54\xab" } , { "\xbe\xe6" , "\x54\xac" } , { "\xbe\xe8" , "\x54" } , { "\xbe\xe8\xb3" , "\x54\x45" } , { "\xbe\xe8\xb3\xdd" , "\x54\x45\x78" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x54\x46" } , { "\xbe\xe8\xb5\xe5" , "\x54\x49\xa9" } , { "\xbe\xe8\xb8" , "\x54\x4d" } , { "\xbe\xe8\xbd" , "\x54\x53" } , { "\xbe\xe8\xbd\xda" , "\x54\x53\x73" } , { "\xbe\xe8\xbd\xdb" , "\x75\x54\x53" } , { "\xbe\xe8\xbd\xdc" , "\x54\x53\x76" } , { "\xbe\xe8\xbe" , "\x54\x54" } , { "\xbe\xe8\xbe\xda" , "\x54\x54\x73" } , { "\xbe\xe8\xbe\xdb" , "\x75\x54\x54" } , { "\xbe\xe8\xbe\xdc" , "\x54\x54\x76" } , { "\xbe\xe8\xbe\xe1" , "\x54\x54\xa1" } , { "\xbe\xe8\xbe\xe5" , "\x54\x54\xa9" } , { "\xbe\xe8\xc6" , "\x54\x60" } , { "\xbe\xe8\xc8\xda" , "\x54\x61\x73" } , { "\xbe\xe8\xcd" , "\x54\x69" } , { "\xbe\xe8\xcd\xa2" , "\x54\x69\x7d" } , { "\xbe\xe8\xcd\xda" , "\x54\x69\x73" } , { "\xbe\xe8\xcd\xda\xa1" , "\x54\x69\x74" } , { "\xbe\xe8\xcd\xda\xa2" , "\x54\x69\x74" } , { "\xbe\xe8\xcd\xe1" , "\x54\x69\xa1" } , { "\xbe\xe8\xcd\xe5" , "\x54\x69\xa9" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x54\x69\xab" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x54\x68\x69" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x54\x68\xae" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x54\x68\x6f\x73" } , { "\xbe\xe8\xcf\xda" , "\x54\xae\x73" } , { "\xbe\xe8\xd1\xdd" , "\x54\x6b\x78" } , { "\xbe\xe8\xd4\xda" , "\x54\xaf\x73" } , { "\xbe\xe8\xd9\xcd" , "\x54\x68" } , { "\xbe\xe8\xe8" , "\x54" } , { "\xbf" , "\x55" } , { "\xbf\xa1" , "\x55\x7c" } , { "\xbf\xa2" , "\x55\x7c" } , { "\xbf\xa2\xa2" , "\x55\x7c\x7d" } , { "\xbf\xa3" , "\x55\x7c" } , { "\xbf\xda" , "\x55\x73" } , { "\xbf\xda\xa1" , "\x55\x74" } , { "\xbf\xda\xa2" , "\x55\x74" } , { "\xbf\xda\xa3" , "\x55\x73\x7c" } , { "\xbf\xdb" , "\x75\x55" } , { "\xbf\xdb\xa2" , "\x75\x55\x7c" } , { "\xbf\xdb\xa3" , "\x75\x55\x7c" } , { "\xbf\xdc" , "\x55\x76" } , { "\xbf\xdc\xa2" , "\x55\x77" } , { "\xbf\xdd" , "\x55\x78" } , { "\xbf\xdd\xa2" , "\x55\x78\x7c" } , { "\xbf\xde" , "\x55\x79" } , { "\xbf\xde\xa1" , "\x55\x79\x7c" } , { "\xbf\xde\xa2" , "\x55\x79\x7c" } , { "\xbf\xdf" , "\x75\x56" } , { "\xbf\xe0" , "\x55\x7e" } , { "\xbf\xe0\xa1" , "\x55\xa2" } , { "\xbf\xe0\xa2" , "\x55\xa2" } , { "\xbf\xe1" , "\x55\x7e" } , { "\xbf\xe1\xa2" , "\x55\xa2" } , { "\xbf\xe2" , "\x55\xa4" } , { "\xbf\xe2\xa2" , "\x55\xa6" } , { "\xbf\xe2\xa3" , "\x55\xa4\x7c" } , { "\xbf\xe4" , "\x55\xa8" } , { "\xbf\xe4\xa2" , "\x55\xaa" } , { "\xbf\xe5" , "\x55\xa8" } , { "\xbf\xe5\xa2" , "\x55\xaa" } , { "\xbf\xe6" , "\x55\xac" } , { "\xbf\xe6\xa2" , "\x55\xac\x72" } , { "\xbf\xe7" , "\x55\xac" } , { "\xbf\xe7\xa2" , "\x55\xac\x72" } , { "\xbf\xe8" , "\x55" } , { "\xbf\xe8\xb3" , "\x55\x45" } , { "\xbf\xe8\xb3\xa2" , "\x55\x45\x7c" } , { "\xbf\xe8\xb3\xda" , "\x55\x45\x73" } , { "\xbf\xe8\xb3\xdb" , "\x75\x55\x45" } , { "\xbf\xe8\xb3\xdc" , "\x55\x45\x76" } , { "\xbf\xe8\xb3\xdd" , "\x55\x45\x78" } , { "\xbf\xe8\xb3\xde" , "\x55\x45\x79" } , { "\xbf\xe8\xb3\xe1" , "\x55\x45\x7e" } , { "\xbf\xe8\xb3\xe4" , "\x55\x45\xa8" } , { "\xbf\xe8\xb3\xe5" , "\x55\x45\xa8" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x55\x45\x49\x73" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\x55\x46\x73" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\x55\x45\x6b\xa8" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x55\x45\xaf\x73" } , { "\xbf\xe8\xb4" , "\x55\x47" } , { "\xbf\xe8\xb5" , "\x55\x49" } , { "\xbf\xe8\xb5\xa2" , "\x55\x49\x7c" } , { "\xbf\xe8\xb5\xda" , "\x55\x49\x73" } , { "\xbf\xe8\xb5\xdb" , "\x75\x55\x49" } , { "\xbf\xe8\xb5\xdd" , "\x55\x49\x78" } , { "\xbf\xe8\xb5\xde" , "\x55\x49\x79" } , { "\xbf\xe8\xb5\xe0" , "\x55\x49\x7e" } , { "\xbf\xe8\xb5\xe1" , "\x55\x49\x7e" } , { "\xbf\xe8\xb5\xe5\xa2" , "\x55\x49\xaa" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\x55\x49\xae\x73" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\x55\x49\x6b\x73" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\x55\x49\x6b\xa4" } , { "\xbf\xe8\xb6" , "\x55\x4b" } , { "\xbf\xe8\xb8" , "\x55\x4d" } , { "\xbf\xe8\xb8\xda" , "\x55\x4d\x73" } , { "\xbf\xe8\xb8\xda\xa2" , "\x55\x4d\x74" } , { "\xbf\xe8\xb8\xdb" , "\x75\x55\x4d" } , { "\xbf\xe8\xb8\xdb\xa2" , "\x75\x55\x4d\x7c" } , { "\xbf\xe8\xb8\xdc" , "\x55\x4d\x76" } , { "\xbf\xe8\xb8\xdd" , "\x55\x4d\x78" } , { "\xbf\xe8\xb8\xe0" , "\x55\x4d\x7e" } , { "\xbf\xe8\xb8\xe1" , "\x55\x4d\x7e" } , { "\xbf\xe8\xb8\xe1\xa2" , "\x55\x4d\xa2" } , { "\xbf\xe8\xb9\xda\xa2" , "\x55\x4e\x74" } , { "\xbf\xe8\xba" , "\x55\x4f" } , { "\xbf\xe8\xba\xa2" , "\x55\x4f\x7c" } , { "\xbf\xe8\xba\xda" , "\x55\x4f\x73" } , { "\xbf\xe8\xba\xdb" , "\x75\x55\x4f" } , { "\xbf\xe8\xba\xdb\xa2" , "\x75\x55\x4f\x7c" } , { "\xbf\xe8\xba\xdc" , "\x55\x4f\x76" } , { "\xbf\xe8\xba\xdd" , "\x55\x4f\x78" } , { "\xbf\xe8\xba\xe0" , "\x55\x4f\x7e" } , { "\xbf\xe8\xba\xe1" , "\x55\x4f\x7e" } , { "\xbf\xe8\xba\xe2" , "\x55\x4f\xa4" } , { "\xbf\xe8\xba\xe5" , "\x55\x4f\xa8" } , { "\xbf\xe8\xba\xe8" , "\x55\x4f" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\x75\x55\x4f\x45" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x55\x4f\x49\x73" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\x75\x55\x4f\x60" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\x55\x4f\x60\x78" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\x55\x4f\x60" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\x55\x4f\x67\xa2" } , { "\xbf\xe8\xba\xe8\xcd" , "\x55\x4f\x69" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x55\x4f\x69\x73" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x55\x4f\x69\x79" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\x55\x4f\x6b\xa8" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\x75\x55\x4f\xaf" } , { "\xbf\xe8\xba\xe9" , "\x55\x50" } , { "\xbf\xe8\xbc" , "\x55\x52" } , { "\xbf\xe8\xbd" , "\x55\x53" } , { "\xbf\xe8\xbd\xa2" , "\x55\x53\x7c" } , { "\xbf\xe8\xbd\xda\xa2" , "\x55\x53\x74" } , { "\xbf\xe8\xbd\xdb" , "\x75\x55\x53" } , { "\xbf\xe8\xbd\xdd" , "\x55\x53\x78" } , { "\xbf\xe8\xbd\xe0" , "\x55\x53\x7e" } , { "\xbf\xe8\xbd\xe1" , "\x55\x53\x7e" } , { "\xbf\xe8\xbd\xe8" , "\x55\x53" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\x55\x53\xae\x7c" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\x55\x53\xae\x73" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\x55\x53\xae\xa4" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x55\x53\x6e" } , { "\xbf\xe8\xbf" , "\x55\x55" } , { "\xbf\xe8\xbf\xa2" , "\x55\x55\x7c" } , { "\xbf\xe8\xbf\xa3" , "\x55\x55\x7c" } , { "\xbf\xe8\xbf\xda" , "\x55\x55\x73" } , { "\xbf\xe8\xbf\xda\xa2" , "\x55\x55\x74" } , { "\xbf\xe8\xbf\xdb" , "\x75\x55\x55" } , { "\xbf\xe8\xbf\xdb\xa2" , "\x75\x55\x55\x7c" } , { "\xbf\xe8\xbf\xdc" , "\x55\x55\x76" } , { "\xbf\xe8\xbf\xdd" , "\x55\x55\x78" } , { "\xbf\xe8\xbf\xdd\xa2" , "\x55\x55\x78\x7c" } , { "\xbf\xe8\xbf\xde" , "\x55\x55\x79" } , { "\xbf\xe8\xbf\xe0" , "\x55\x55\x7e" } , { "\xbf\xe8\xbf\xe1" , "\x55\x55\x7e" } , { "\xbf\xe8\xbf\xe2" , "\x55\x55\xa4" } , { "\xbf\xe8\xbf\xe4" , "\x55\x55\xa8" } , { "\xbf\xe8\xbf\xe5" , "\x55\x55\xa8" } , { "\xbf\xe8\xbf\xe5\xa2" , "\x55\x55\xaa" } , { "\xbf\xe8\xbf\xe8" , "\x55\x55" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x55\x55\x45\x78" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\x75\x55\x55\x55" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\x55\x55\x6b\x78" } , { "\xbf\xe8\xbf\xe9\xdc" , "\x55\x5b\x76" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\x55\x5b\xaa" } , { "\xbf\xe8\xc0" , "\x55\x57" } , { "\xbf\xe8\xc0\xa2" , "\x55\x57\x7c" } , { "\xbf\xe8\xc0\xda" , "\x55\x57\x73" } , { "\xbf\xe8\xc0\xdc" , "\x55\x57\x76" } , { "\xbf\xe8\xc0\xdd" , "\x55\x57\x78" } , { "\xbf\xe8\xc0\xe1" , "\x55\x57\x7e" } , { "\xbf\xe8\xc0\xe5\xa2" , "\x55\x57\xaa" } , { "\xbf\xe8\xc0\xe9\xda" , "\x55\x5b\xad\x73" } , { "\xbf\xe8\xc0\xe9\xe1" , "\x55\x5b\xad\x7e" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\x55\x5b\xad\xaa" } , { "\xbf\xe8\xc1" , "\x55\x58" } , { "\xbf\xe8\xc2" , "\x55\x59" } , { "\xbf\xe8\xc2\xa2" , "\x55\x59\x7c" } , { "\xbf\xe8\xc2\xda" , "\x55\x59\x73" } , { "\xbf\xe8\xc2\xdb" , "\x75\x55\x59" } , { "\xbf\xe8\xc2\xdd" , "\x55\x59\x78" } , { "\xbf\xe8\xc2\xdd\xa2" , "\x55\x59\x78\x7c" } , { "\xbf\xe8\xc2\xde" , "\x55\x59\x79" } , { "\xbf\xe8\xc2\xde\xa2" , "\x55\x59\x79\x7c" } , { "\xbf\xe8\xc2\xe0" , "\x55\x59\x7e" } , { "\xbf\xe8\xc2\xe1" , "\x55\x59\x7e" } , { "\xbf\xe8\xc2\xe5" , "\x55\x59\xa8" } , { "\xbf\xe8\xc2\xe5\xa2" , "\x55\x59\xaa" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\x55\x5a\xa4" } , { "\xbf\xe8\xc4\xda" , "\x55\x5d\x73" } , { "\xbf\xe8\xc4\xdb" , "\x75\x55\x5d" } , { "\xbf\xe8\xc4\xdd" , "\x55\x5d\x78" } , { "\xbf\xe8\xc4\xe0" , "\x55\x5d\x7e" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x55\x5d\xaf\x73" } , { "\xbf\xe8\xc5" , "\x55\x5f" } , { "\xbf\xe8\xc6" , "\x55\x60" } , { "\xbf\xe8\xc6\xa2" , "\x55\x60\x7d" } , { "\xbf\xe8\xc6\xda" , "\x55\x60\x73" } , { "\xbf\xe8\xc6\xdb" , "\x75\x55\x60" } , { "\xbf\xe8\xc6\xdb\xa2" , "\x75\x55\x60\x7c" } , { "\xbf\xe8\xc6\xdc" , "\x55\x60\x76" } , { "\xbf\xe8\xc6\xdd" , "\x55\x60\x78" } , { "\xbf\xe8\xc6\xdd\xa2" , "\x55\x60\x78\x7d" } , { "\xbf\xe8\xc6\xe0" , "\x55\x60\x7e" } , { "\xbf\xe8\xc6\xe1" , "\x55\x60\xa1" } , { "\xbf\xe8\xc6\xe2" , "\x55\x60\xa5" } , { "\xbf\xe8\xc6\xe5" , "\x55\x60\xa9" } , { "\xbf\xe8\xc6\xe6" , "\x55\x60\xac" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\x55\x60\x59\x7d" } , { "\xbf\xe8\xc8" , "\x55\x61" } , { "\xbf\xe8\xc8\xa2" , "\x55\x61\x7c" } , { "\xbf\xe8\xc8\xda" , "\x55\x61\x73" } , { "\xbf\xe8\xc8\xdb\xa2" , "\x75\x55\x61\x7c" } , { "\xbf\xe8\xc8\xdd" , "\x55\x61\x78" } , { "\xbf\xe8\xc8\xde" , "\x55\x61\x79" } , { "\xbf\xe8\xc8\xe2" , "\x55\x61\xa4" } , { "\xbf\xe8\xc8\xe4" , "\x55\x61\xa8" } , { "\xbf\xe8\xc8\xe5" , "\x55\x61\xa8" } , { "\xbf\xe8\xc8\xe8\xcf" , "\x55\x61\xae" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\x75\x55\x61\xae" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\x55\x61\xae\x7b" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\x55\x61\xae\x7e" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\x55\x61\x6b\x73" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\x55\x61\x6b\x7e" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\x55\x61\x6b\xa8" } , { "\xbf\xe8\xc9\xda" , "\x55\x62\x73" } , { "\xbf\xe8\xc9\xdb" , "\x75\x55\x62" } , { "\xbf\xe8\xc9\xdc" , "\x55\x62\x76" } , { "\xbf\xe8\xc9\xdd" , "\x55\x62\x78" } , { "\xbf\xe8\xc9\xe0" , "\x55\x62\x7e" } , { "\xbf\xe8\xc9\xe2" , "\x55\x62\xa4" } , { "\xbf\xe8\xc9\xe5" , "\x55\x62\xa8" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\x55\x62\xae\x76" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\x55\x62\x6b\xa8" } , { "\xbf\xe8\xca" , "\x55\x64" } , { "\xbf\xe8\xca\xa2" , "\x55\x64\x7c" } , { "\xbf\xe8\xca\xda" , "\x55\x64\x73" } , { "\xbf\xe8\xca\xdb" , "\x75\x55\x64" } , { "\xbf\xe8\xca\xdc" , "\x55\x64\x76" } , { "\xbf\xe8\xca\xdd" , "\x55\x64\x78" } , { "\xbf\xe8\xca\xe0" , "\x55\x64\x7e" } , { "\xbf\xe8\xca\xe2" , "\x55\x64\xa4" } , { "\xbf\xe8\xca\xe5" , "\x55\x64\xa8" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\x55\x64\x64\x76" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x55\x64\x69\x73" } , { "\xbf\xe8\xca\xe8\xcf" , "\x55\x64\xae" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\x55\x64\xae\x7e" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\x55\x64\x6b\x69\x79" } , { "\xbf\xe8\xcb\xda" , "\x55\x65\x73" } , { "\xbf\xe8\xcb\xdd" , "\x55\x65\x78" } , { "\xbf\xe8\xcc" , "\x55\x67" } , { "\xbf\xe8\xcc\xa2" , "\x55\x67\x7c" } , { "\xbf\xe8\xcc\xda" , "\x55\x67\x73" } , { "\xbf\xe8\xcc\xdb" , "\x75\x55\x67" } , { "\xbf\xe8\xcc\xdb\xa2" , "\x75\x55\x67\x7c" } , { "\xbf\xe8\xcc\xdc" , "\x55\x67\x76" } , { "\xbf\xe8\xcc\xdd" , "\x55\x67\x78" } , { "\xbf\xe8\xcc\xe0\xa2" , "\x55\x67\xa2" } , { "\xbf\xe8\xcc\xe4" , "\x55\x67\xa8" } , { "\xbf\xe8\xcc\xe5" , "\x55\x67\xa8" } , { "\xbf\xe8\xcd" , "\x55\x69" } , { "\xbf\xe8\xcd\xa2" , "\x55\x69\x7c" } , { "\xbf\xe8\xcd\xda" , "\x55\x69\x73" } , { "\xbf\xe8\xcd\xda\xa2" , "\x55\x69\x74" } , { "\xbf\xe8\xcd\xdb" , "\x75\x55\x69" } , { "\xbf\xe8\xcd\xdd" , "\x55\x69\x78" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x55\x69\x78\x7c" } , { "\xbf\xe8\xcd\xde" , "\x55\x69\x79" } , { "\xbf\xe8\xcd\xe0" , "\x55\x69\x7e" } , { "\xbf\xe8\xcd\xe1" , "\x55\x69\x7e" } , { "\xbf\xe8\xcd\xe5" , "\x55\x69\xa8" } , { "\xbf\xe8\xcd\xe5\xa2" , "\x55\x69\xaa" } , { "\xbf\xe8\xcd\xe6" , "\x55\x69\xac" } , { "\xbf\xe8\xcf" , "\x56" } , { "\xbf\xe8\xcf\xa2" , "\x56\x7c" } , { "\xbf\xe8\xcf\xda" , "\x56\x73" } , { "\xbf\xe8\xcf\xda\xa2" , "\x56\x74" } , { "\xbf\xe8\xcf\xdb" , "\x75\x56" } , { "\xbf\xe8\xcf\xdb\xa2" , "\x75\x56\x7c" } , { "\xbf\xe8\xcf\xdc" , "\x56\x76" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x56\x77" } , { "\xbf\xe8\xcf\xdd" , "\x56\x7a" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x56\x7a\x7c" } , { "\xbf\xe8\xcf\xde" , "\x56\x7b" } , { "\xbf\xe8\xcf\xde\xa2" , "\x56\x7b\x7c" } , { "\xbf\xe8\xcf\xe0" , "\x56\x7e" } , { "\xbf\xe8\xcf\xe0\xa2" , "\x56\xa2" } , { "\xbf\xe8\xcf\xe1" , "\x56\x7e" } , { "\xbf\xe8\xcf\xe1\xa2" , "\x56\xa2" } , { "\xbf\xe8\xcf\xe2" , "\x56\xa4" } , { "\xbf\xe8\xcf\xe4" , "\x56\xa8" } , { "\xbf\xe8\xcf\xe5" , "\x56\xa8" } , { "\xbf\xe8\xcf\xe6" , "\x56\xac" } , { "\xbf\xe8\xcf\xe7" , "\x56\xac" } , { "\xbf\xe8\xcf\xe8\xca" , "\x55\x6a\x64" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x55\x6a\x69\x73" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x55\x6a\xaf\x73" } , { "\xbf\xe8\xd1" , "\x55\x6b" } , { "\xbf\xe8\xd1\xa2" , "\x55\x6b\x7c" } , { "\xbf\xe8\xd1\xda" , "\x55\x6b\x73" } , { "\xbf\xe8\xd1\xda\xa2" , "\x55\x6b\x74" } , { "\xbf\xe8\xd1\xdb" , "\x75\x55\x6b" } , { "\xbf\xe8\xd1\xdb\xa2" , "\x75\x55\x6b\x7c" } , { "\xbf\xe8\xd1\xdc" , "\x55\x6b\x76" } , { "\xbf\xe8\xd1\xdd" , "\x55\x6b\x78" } , { "\xbf\xe8\xd1\xdd\xa2" , "\x55\x6b\x78\x7c" } , { "\xbf\xe8\xd1\xde" , "\x55\x6b\x79" } , { "\xbf\xe8\xd1\xe0" , "\x55\x6b\x7e" } , { "\xbf\xe8\xd1\xe0\xa2" , "\x55\x6b\xa2" } , { "\xbf\xe8\xd1\xe1" , "\x55\x6b\x7e" } , { "\xbf\xe8\xd1\xe2" , "\x55\x6b\xa4" } , { "\xbf\xe8\xd1\xe4" , "\x55\x6b\xa8" } , { "\xbf\xe8\xd1\xe5" , "\x55\x6b\xa8" } , { "\xbf\xe8\xd1\xe8" , "\x55\x6b" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\x55\x6b\x6b\xa8" } , { "\xbf\xe8\xd4" , "\x55\xaf" } , { "\xbf\xe8\xd4\xa2" , "\x55\xaf\x7c" } , { "\xbf\xe8\xd4\xda" , "\x55\xaf\x73" } , { "\xbf\xe8\xd4\xda\xa2" , "\x55\xaf\x74" } , { "\xbf\xe8\xd4\xdb" , "\x75\x55\xaf" } , { "\xbf\xe8\xd4\xdb\xa2" , "\x75\x55\xaf\x7c" } , { "\xbf\xe8\xd4\xdc" , "\x55\xaf\x76" } , { "\xbf\xe8\xd4\xdd" , "\x55\xaf\x7a" } , { "\xbf\xe8\xd4\xe0" , "\x55\xaf\x7e" } , { "\xbf\xe8\xd4\xe0\xa2" , "\x55\xaf\xa2" } , { "\xbf\xe8\xd4\xe1" , "\x55\xaf\x7e" } , { "\xbf\xe8\xd4\xe2" , "\x55\xaf\xa4" } , { "\xbf\xe8\xd5" , "\x55\x6f" } , { "\xbf\xe8\xd5\xda" , "\x55\x6f\x73" } , { "\xbf\xe8\xd6" , "\x55\x6f" } , { "\xbf\xe8\xd6\xdb" , "\x75\x55\x6f" } , { "\xbf\xe8\xd6\xdc" , "\x55\x6f\x76" } , { "\xbf\xe8\xd6\xe5" , "\x55\x6f\xa8" } , { "\xbf\xe8\xd7" , "\x55\x6e" } , { "\xbf\xe8\xd7\xa2" , "\x55\x6e\x7c" } , { "\xbf\xe8\xd7\xda" , "\x55\x6e\x73" } , { "\xbf\xe8\xd7\xdb" , "\x75\x55\x6e" } , { "\xbf\xe8\xd7\xdc" , "\x55\x6e\x76" } , { "\xbf\xe8\xd7\xdd" , "\x55\x6e\x78" } , { "\xbf\xe8\xd7\xde" , "\x55\x6e\x79" } , { "\xbf\xe8\xd7\xe1" , "\x55\x6e\x7e" } , { "\xbf\xe8\xd7\xe4" , "\x55\x6e\xa8" } , { "\xbf\xe8\xd7\xe8" , "\x55\x6e" } , { "\xbf\xe8\xd7\xe8\xb3" , "\x55\x6e\x45" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\x55\x6e\x45\x73" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\x75\x55\x6e\x45" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\x55\x6e\x45\x78" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\x55\x6e\x45\x7e" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x55\x6e\x53\x7e" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\x75\x55\x6e\x55" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\x55\x6e\x59\xa8" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\x75\x55\x6e\x60" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\x55\x6e\x60\x78" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\x55\x6e\x61\x73" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\x55\x6e\x61\x76" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\x55\x6e\x64\x7c" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\x75\x55\x6e\x67" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\x55\x6e\x6b\xa8" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x55\x6e\xaf" } , { "\xbf\xe8\xd8\xda" , "\x55\xad\x73" } , { "\xbf\xe8\xd8\xda\xa2" , "\x55\xad\x74" } , { "\xbf\xe8\xd8\xdb" , "\x75\x55\xad" } , { "\xbf\xe8\xd8\xe0" , "\x55\xad\x7e" } , { "\xbf\xe8\xd8\xe2" , "\x55\xad\xa4" } , { "\xbf\xe8\xd8\xe5" , "\x55\xad\xa8" } , { "\xbf\xe8\xd9\xa7" , "\x55\x42\x76" } , { "\xbf\xe8\xd9\xcd\xde" , "\x55\x68\x79" } , { "\xbf\xe8\xd9\xcf" , "\x55\x6a" } , { "\xbf\xe8\xe8" , "\x55" } , { "\xbf\xe9" , "\x5b" } , { "\xbf\xe9\xa1" , "\x5b\x7c" } , { "\xbf\xe9\xa2" , "\x5b\x7c" } , { "\xbf\xe9\xc2\xda" , "\x5b\x59\x73" } , { "\xbf\xe9\xc2\xdc" , "\x5b\x59\x76" } , { "\xbf\xe9\xda" , "\x5b\x73" } , { "\xbf\xe9\xda\xa1" , "\x5b\x74" } , { "\xbf\xe9\xda\xa2" , "\x5b\x74" } , { "\xbf\xe9\xdb" , "\x75\x5b" } , { "\xbf\xe9\xdc" , "\x5b\x76" } , { "\xbf\xe9\xdc\xa2" , "\x5b\x77" } , { "\xbf\xe9\xdd" , "\x5b\x78" } , { "\xbf\xe9\xde" , "\x5b\x79" } , { "\xbf\xe9\xde\xa1" , "\x5b\x79\x7c" } , { "\xbf\xe9\xde\xa2" , "\x5b\x79\x7c" } , { "\xbf\xe9\xe1" , "\x5b\x7e" } , { "\xbf\xe9\xe1\xa2" , "\x5b\xa2" } , { "\xbf\xe9\xe2" , "\x5b\xa4" } , { "\xbf\xe9\xe2\xa2" , "\x5b\xa6" } , { "\xbf\xe9\xe5" , "\x5b\xa8" } , { "\xbf\xe9\xe5\xa2" , "\x5b\xaa" } , { "\xbf\xe9\xe6" , "\x5b\xac" } , { "\xbf\xe9\xe6\xa2" , "\x5b\xac\x72" } , { "\xbf\xe9\xe8" , "\x5b" } , { "\xbf\xe9\xe8\xb3" , "\x5b\x45" } , { "\xbf\xe9\xe8\xb3\xda" , "\x5b\x45\x73" } , { "\xbf\xe9\xe8\xb5" , "\x5b\x49" } , { "\xbf\xe9\xe8\xb5\xda" , "\x5b\x49\x73" } , { "\xbf\xe9\xe8\xbf\xda" , "\x5b\x55\x73" } , { "\xbf\xe9\xe8\xbf\xdb" , "\x75\x5b\x55" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x5b\x55\x76" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x5b\x55\x7e" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x5b\x5b\xad\x7e" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x5b\x59\x78" } , { "\xbf\xe9\xe8\xcc" , "\x5b\x67" } , { "\xc0" , "\x57" } , { "\xc0\xa1" , "\x57\x7c" } , { "\xc0\xa2" , "\x57\x7c" } , { "\xc0\xa3" , "\x57\x7c" } , { "\xc0\xda" , "\x57\x73" } , { "\xc0\xda\xa1" , "\x57\x74" } , { "\xc0\xda\xa2" , "\x57\x74" } , { "\xc0\xdb" , "\x75\x57" } , { "\xc0\xdb\xa2" , "\x75\x57\x7c" } , { "\xc0\xdc" , "\x57\x76" } , { "\xc0\xdc\xa2" , "\x57\x77" } , { "\xc0\xdd" , "\x57\x78" } , { "\xc0\xdd\xa1" , "\x57\x78\x7c" } , { "\xc0\xdd\xa2" , "\x57\x78\x7c" } , { "\xc0\xde" , "\x57\x79" } , { "\xc0\xde\xa1" , "\x57\x79\x7c" } , { "\xc0\xde\xa2" , "\x57\x79\x7c" } , { "\xc0\xdf" , "\x75\x57\xae" } , { "\xc0\xe0" , "\x57\x7e" } , { "\xc0\xe1" , "\x57\x7e" } , { "\xc0\xe1\xa2" , "\x57\xa2" } , { "\xc0\xe2" , "\x57\xa4" } , { "\xc0\xe2\xa3" , "\x57\xa4\x7c" } , { "\xc0\xe4" , "\x57\xa8" } , { "\xc0\xe5" , "\x57\xa8" } , { "\xc0\xe5\xa2" , "\x57\xaa" } , { "\xc0\xe6" , "\x57\xac" } , { "\xc0\xe6\xa2" , "\x57\xac\x72" } , { "\xc0\xe8" , "\x57" } , { "\xc0\xe8\xbf\xe1" , "\x57\x55\x7e" } , { "\xc0\xe8\xc0\xda" , "\x57\x57\x73" } , { "\xc0\xe8\xc0\xdc" , "\x57\x57\x76" } , { "\xc0\xe8\xc0\xe1" , "\x57\x57\x7e" } , { "\xc0\xe8\xc0\xe9" , "\x57\x5b\xad" } , { "\xc0\xe8\xc0\xe9\xda" , "\x57\x5b\xad\x73" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x57\x5b\xad\x7e" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x57\x5b\xad\xaa" } , { "\xc0\xe8\xc9\xe5" , "\x57\x62\xa8" } , { "\xc0\xe8\xcd" , "\x57\x69" } , { "\xc0\xe8\xcd\xa2" , "\x57\x69\x7c" } , { "\xc0\xe8\xcd\xda" , "\x57\x69\x73" } , { "\xc0\xe8\xcd\xdd" , "\x57\x69\x78" } , { "\xc0\xe8\xcd\xe5\xa2" , "\x57\x69\xaa" } , { "\xc0\xe8\xcf" , "\x57\xae" } , { "\xc0\xe8\xcf\xa2" , "\x57\xae\x7c" } , { "\xc0\xe8\xcf\xda" , "\x57\xae\x73" } , { "\xc0\xe8\xcf\xdc" , "\x57\xae\x76" } , { "\xc0\xe8\xd1\xe5" , "\x57\x6b\xa8" } , { "\xc0\xe8\xe8" , "\x57" } , { "\xc0\xe9" , "\x5b\xad" } , { "\xc0\xe9\xa1" , "\x5b\xad\x7c" } , { "\xc0\xe9\xa2" , "\x5b\xad\x7c" } , { "\xc0\xe9\xc2\xdc" , "\x5b\xad\x59\x76" } , { "\xc0\xe9\xc6\xe1" , "\x5b\xad\x60\xa1" } , { "\xc0\xe9\xda" , "\x5b\xad\x73" } , { "\xc0\xe9\xda\xa1" , "\x5b\xad\x74" } , { "\xc0\xe9\xda\xa2" , "\x5b\xad\x74" } , { "\xc0\xe9\xdb" , "\x75\x5b\xad" } , { "\xc0\xe9\xdb\xa2" , "\x75\x5b\xad\x7c" } , { "\xc0\xe9\xdc" , "\x5b\xad\x76" } , { "\xc0\xe9\xdc\xa2" , "\x5b\xad\x77" } , { "\xc0\xe9\xdd" , "\x5b\xad\x78" } , { "\xc0\xe9\xde" , "\x5b\xad\x79" } , { "\xc0\xe9\xde\xa1" , "\x5b\xad\x79\x7c" } , { "\xc0\xe9\xde\xa2" , "\x5b\xad\x79\x7c" } , { "\xc0\xe9\xe1" , "\x5b\xad\x7e" } , { "\xc0\xe9\xe1\xa2" , "\x5b\xad\xa2" } , { "\xc0\xe9\xe2" , "\x5b\xad\xa4" } , { "\xc0\xe9\xe5" , "\x5b\xad\xa8" } , { "\xc0\xe9\xe5\xa2" , "\x5b\xad\xaa" } , { "\xc0\xe9\xe6" , "\x5b\xad\xac" } , { "\xc0\xe9\xe8\xcd" , "\x5b\xad\x69" } , { "\xc1" , "\x58" } , { "\xc1\xa1" , "\x58\x7d" } , { "\xc1\xa1\xa1" , "\x58\x7d\x7d" } , { "\xc1\xa2" , "\x58\x7d" } , { "\xc1\xa3" , "\x58\x7d" } , { "\xc1\xda" , "\x58\x73" } , { "\xc1\xda\xa2" , "\x58\x74" } , { "\xc1\xda\xa3" , "\x58\x73\x7d" } , { "\xc1\xdb" , "\x75\x58" } , { "\xc1\xdb\xa2" , "\x75\x58\x7c" } , { "\xc1\xdb\xa3" , "\x75\x58\x7c" } , { "\xc1\xdc" , "\x58\x76" } , { "\xc1\xdc\xa2" , "\x58\x77" } , { "\xc1\xdd" , "\x58\x78" } , { "\xc1\xdd\xa2" , "\x58\x78\x7d" } , { "\xc1\xde" , "\x58\x79" } , { "\xc1\xde\xa2" , "\x58\x79\x7d" } , { "\xc1\xdf" , "\x75\x58\xae" } , { "\xc1\xe0" , "\x58\x7e" } , { "\xc1\xe0\xa2" , "\x58\xa2" } , { "\xc1\xe1" , "\x58\xa1" } , { "\xc1\xe1\xa2" , "\x58\xa3" } , { "\xc1\xe2" , "\x58\xa5" } , { "\xc1\xe2\xa2" , "\x58\xa7" } , { "\xc1\xe2\xa3" , "\x58\xa5\x7c" } , { "\xc1\xe4" , "\x58\xa8" } , { "\xc1\xe5" , "\x58\xa9" } , { "\xc1\xe5\xa2" , "\x58\xab" } , { "\xc1\xe6" , "\x58\xac" } , { "\xc1\xe8" , "\x58" } , { "\xc1\xe8\xb3\xdd" , "\x58\x45\x78" } , { "\xc1\xe8\xb3\xe1" , "\x58\x45\xa1" } , { "\xc1\xe8\xb5\xda" , "\x58\x49\x73" } , { "\xc1\xe8\xba\xda" , "\x58\x4f\x73" } , { "\xc1\xe8\xba\xe5\xa2" , "\x58\x4f\xab" } , { "\xc1\xe8\xbd" , "\x58\x53" } , { "\xc1\xe8\xbd\xda" , "\x58\x53\x73" } , { "\xc1\xe8\xbd\xdb" , "\x75\x58\x53" } , { "\xc1\xe8\xbd\xdb\xa2" , "\x75\x58\x53\x7c" } , { "\xc1\xe8\xbd\xdc" , "\x58\x53\x76" } , { "\xc1\xe8\xbd\xdd" , "\x58\x53\x78" } , { "\xc1\xe8\xbd\xde" , "\x58\x53\x79" } , { "\xc1\xe8\xbd\xe1" , "\x58\x53\xa1" } , { "\xc1\xe8\xbd\xe1\xa2" , "\x58\x53\xa3" } , { "\xc1\xe8\xbd\xe5" , "\x58\x53\xa9" } , { "\xc1\xe8\xbd\xe5\xa2" , "\x58\x53\xab" } , { "\xc1\xe8\xbd\xe8\xcf" , "\x58\x53\xae" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\x58\x53\xae\x76" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\x58\x53\xae\xa9" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x58\x53\x6e" } , { "\xc1\xe8\xbe" , "\x58\x54" } , { "\xc1\xe8\xbe\xa2" , "\x58\x54\x7d" } , { "\xc1\xe8\xbe\xda" , "\x58\x54\x73" } , { "\xc1\xe8\xbe\xdb" , "\x75\x58\x54" } , { "\xc1\xe8\xbe\xdc" , "\x58\x54\x76" } , { "\xc1\xe8\xbe\xe1" , "\x58\x54\xa1" } , { "\xc1\xe8\xbe\xe5" , "\x58\x54\xa9" } , { "\xc1\xe8\xbe\xe5\xa2" , "\x58\x54\xab" } , { "\xc1\xe8\xbf" , "\x58\x55" } , { "\xc1\xe8\xbf\xa2" , "\x58\x55\x7d" } , { "\xc1\xe8\xbf\xda" , "\x58\x55\x73" } , { "\xc1\xe8\xbf\xda\xa2" , "\x58\x55\x74" } , { "\xc1\xe8\xbf\xdb" , "\x75\x58\x55" } , { "\xc1\xe8\xbf\xdb\xa2" , "\x75\x58\x55\x7c" } , { "\xc1\xe8\xbf\xdc" , "\x58\x55\x76" } , { "\xc1\xe8\xbf\xdd" , "\x58\x55\x78" } , { "\xc1\xe8\xbf\xde" , "\x58\x55\x79" } , { "\xc1\xe8\xbf\xe1" , "\x58\x55\xa1" } , { "\xc1\xe8\xbf\xe1\xa2" , "\x58\x55\xa3" } , { "\xc1\xe8\xbf\xe2" , "\x58\x55\xa5" } , { "\xc1\xe8\xbf\xe5" , "\x58\x55\xa9" } , { "\xc1\xe8\xbf\xe5\xa2" , "\x58\x55\xab" } , { "\xc1\xe8\xbf\xe6" , "\x58\x55\xac" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x58\x55\x69" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x58\x55\x69\x73" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x58\x56" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x58\x56\x73" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\x75\x58\x56" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x58\x56\x76" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x58\x56\x7b" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\x58\x56\xa1" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\x58\x56\xa9" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x58\x55\x6e" } , { "\xc1\xe8\xbf\xe9" , "\x58\x5b" } , { "\xc1\xe8\xbf\xe9\xda" , "\x58\x5b\x73" } , { "\xc1\xe8\xbf\xe9\xdc" , "\x58\x5b\x76" } , { "\xc1\xe8\xbf\xe9\xe1" , "\x58\x5b\xa1" } , { "\xc1\xe8\xbf\xe9\xe5" , "\x58\x5b\xa9" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\x58\x5b\xab" } , { "\xc1\xe8\xc0" , "\x58\x57" } , { "\xc1\xe8\xc0\xdb" , "\x75\x58\x57" } , { "\xc1\xe8\xc1" , "\x58\x58" } , { "\xc1\xe8\xc1\xa2" , "\x58\x58\x7d" } , { "\xc1\xe8\xc1\xda" , "\x58\x58\x73" } , { "\xc1\xe8\xc1\xda\xa2" , "\x58\x58\x74" } , { "\xc1\xe8\xc1\xdb" , "\x75\x58\x58" } , { "\xc1\xe8\xc1\xdb\xa2" , "\x75\x58\x58\x7c" } , { "\xc1\xe8\xc1\xdc" , "\x58\x58\x76" } , { "\xc1\xe8\xc1\xdc\xa2" , "\x58\x58\x77" } , { "\xc1\xe8\xc1\xdd" , "\x58\x58\x78" } , { "\xc1\xe8\xc1\xdd\xa2" , "\x58\x58\x78\x7d" } , { "\xc1\xe8\xc1\xde" , "\x58\x58\x79" } , { "\xc1\xe8\xc1\xe0" , "\x58\x58\x7e" } , { "\xc1\xe8\xc1\xe0\xa2" , "\x58\x58\xa2" } , { "\xc1\xe8\xc1\xe1" , "\x58\x58\xa1" } , { "\xc1\xe8\xc1\xe2" , "\x58\x58\xa5" } , { "\xc1\xe8\xc1\xe4" , "\x58\x58\xa8" } , { "\xc1\xe8\xc1\xe5" , "\x58\x58\xa9" } , { "\xc1\xe8\xc2\xdb" , "\x75\x58\x59" } , { "\xc1\xe8\xc2\xe5" , "\x58\x59\xa9" } , { "\xc1\xe8\xc4\xdb" , "\x75\x58\x5d" } , { "\xc1\xe8\xc4\xdd" , "\x58\x5d\x78" } , { "\xc1\xe8\xc4\xe0" , "\x58\x5d\x7e" } , { "\xc1\xe8\xc6" , "\x58\x60" } , { "\xc1\xe8\xc6\xa2" , "\x58\x60\x7d" } , { "\xc1\xe8\xc6\xda" , "\x58\x60\x73" } , { "\xc1\xe8\xc6\xdb" , "\x75\x58\x60" } , { "\xc1\xe8\xc6\xdb\xa2" , "\x75\x58\x60\x7c" } , { "\xc1\xe8\xc6\xdc" , "\x58\x60\x76" } , { "\xc1\xe8\xc6\xdd" , "\x58\x60\x78" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x58\x60\x78\x7d" } , { "\xc1\xe8\xc6\xe0" , "\x58\x60\x7e" } , { "\xc1\xe8\xc6\xe0\xa2" , "\x58\x60\xa2" } , { "\xc1\xe8\xc6\xe1" , "\x58\x60\xa1" } , { "\xc1\xe8\xc6\xe1\xa2" , "\x58\x60\xa3" } , { "\xc1\xe8\xc6\xe5" , "\x58\x60\xa9" } , { "\xc1\xe8\xc8" , "\x58\x61" } , { "\xc1\xe8\xc8\xda" , "\x58\x61\x73" } , { "\xc1\xe8\xc8\xe8\xcf" , "\x58\x61\xae" } , { "\xc1\xe8\xca\xda" , "\x58\x64\x73" } , { "\xc1\xe8\xcc" , "\x58\x67" } , { "\xc1\xe8\xcc\xda" , "\x58\x67\x73" } , { "\xc1\xe8\xcc\xdb" , "\x75\x58\x67" } , { "\xc1\xe8\xcc\xdc" , "\x58\x67\x76" } , { "\xc1\xe8\xcc\xdd" , "\x58\x67\x78" } , { "\xc1\xe8\xcc\xde" , "\x58\x67\x79" } , { "\xc1\xe8\xcc\xe0" , "\x58\x67\x7e" } , { "\xc1\xe8\xcc\xe1" , "\x58\x67\xa1" } , { "\xc1\xe8\xcd" , "\x58\x69" } , { "\xc1\xe8\xcd\xa2" , "\x58\x69\x7d" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x58\x69\x7d\x7d" } , { "\xc1\xe8\xcd\xda" , "\x58\x69\x73" } , { "\xc1\xe8\xcd\xda\xa2" , "\x58\x69\x74" } , { "\xc1\xe8\xcd\xdc" , "\x58\x69\x76" } , { "\xc1\xe8\xcd\xdd" , "\x58\x69\x78" } , { "\xc1\xe8\xcd\xde\xa2" , "\x58\x69\x79\x7d" } , { "\xc1\xe8\xcd\xe1" , "\x58\x69\xa1" } , { "\xc1\xe8\xcd\xe5" , "\x58\x69\xa9" } , { "\xc1\xe8\xcd\xe5\xa2" , "\x58\x69\xab" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x58\x68\x69" } , { "\xc1\xe8\xcf\xda" , "\x58\xae\x73" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x58\x6a\x69" } , { "\xc1\xe8\xd0\xdd" , "\x58\x6a\x78" } , { "\xc1\xe8\xd1" , "\x58\x6b" } , { "\xc1\xe8\xd1\xda\xa2" , "\x58\x6b\x74" } , { "\xc1\xe8\xd1\xdd" , "\x58\x6b\x78" } , { "\xc1\xe8\xd4" , "\x58\xaf" } , { "\xc1\xe8\xd4\xa2" , "\x58\xaf\x7d" } , { "\xc1\xe8\xd4\xda" , "\x58\xaf\x73" } , { "\xc1\xe8\xd4\xdb" , "\x75\x58\xaf" } , { "\xc1\xe8\xd4\xdc" , "\x58\xaf\x76" } , { "\xc1\xe8\xd4\xdd" , "\x58\xaf\x7a" } , { "\xc1\xe8\xd4\xe1" , "\x58\xaf\xa1" } , { "\xc1\xe8\xd5\xe6" , "\x58\x6f\xac" } , { "\xc1\xe8\xd7\xdb\xa2" , "\x75\x58\x6e\x7c" } , { "\xc1\xe8\xd9\xbf\xdb" , "\x58\x75\x55" } , { "\xc1\xe8\xe8" , "\x58" } , { "\xc1\xe9" , "\x58" } , { "\xc1\xe9\xe8\xbf" , "\x58\x55" } , { "\xc1\xe9\xe8\xbf\xda" , "\x58\x55\x73" } , { "\xc1\xe9\xe8\xbf\xdb" , "\x75\x58\x55" } , { "\xc1\xe9\xe8\xbf\xe1" , "\x58\x55\xa1" } , { "\xc2" , "\x59" } , { "\xc2\xa1" , "\x59\x7c" } , { "\xc2\xa2" , "\x59\x7c" } , { "\xc2\xa2\xa2" , "\x59\x7c\x7d" } , { "\xc2\xa3" , "\x59\x7c" } , { "\xc2\xd0\xc6\xda" , "\x59\x6a\x60\x73" } , { "\xc2\xda" , "\x59\x73" } , { "\xc2\xda\xa1" , "\x59\x74" } , { "\xc2\xda\xa2" , "\x59\x74" } , { "\xc2\xda\xa2\xa2" , "\x59\x74\x7d" } , { "\xc2\xda\xa3" , "\x59\x73\x7c" } , { "\xc2\xdb" , "\x75\x59" } , { "\xc2\xdb\xa2" , "\x75\x59\x7c" } , { "\xc2\xdb\xa3" , "\x75\x59\x7c" } , { "\xc2\xdc" , "\x59\x76" } , { "\xc2\xdc\xa2" , "\x59\x77" } , { "\xc2\xdd" , "\x59\x78" } , { "\xc2\xdd\xa1" , "\x59\x78\x7c" } , { "\xc2\xdd\xa2" , "\x59\x78\x7c" } , { "\xc2\xdd\xa2\xa2" , "\x59\x78\x7c\x7d" } , { "\xc2\xdd\xa3" , "\x59\x78\x7c" } , { "\xc2\xde" , "\x59\x79" } , { "\xc2\xde\xa1" , "\x59\x79\x7c" } , { "\xc2\xde\xa2" , "\x59\x79\x7c" } , { "\xc2\xdf" , "\x75\x5a" } , { "\xc2\xdf\xa2" , "\x75\x5a\x7c" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x75\x5a\x75\x6a\x59" } , { "\xc2\xe0" , "\x59\x7e" } , { "\xc2\xe0\xa2" , "\x59\xa2" } , { "\xc2\xe1" , "\x59\x7e" } , { "\xc2\xe1\xa2" , "\x59\xa2" } , { "\xc2\xe1\xa3" , "\x59\x7e\x7c" } , { "\xc2\xe2" , "\x59\xa4" } , { "\xc2\xe2\xa2" , "\x59\xa6" } , { "\xc2\xe2\xa3" , "\x59\xa4\x7c" } , { "\xc2\xe4" , "\x59\xa8" } , { "\xc2\xe4\xa2" , "\x59\xaa" } , { "\xc2\xe5" , "\x59\xa8" } , { "\xc2\xe5\xa2" , "\x59\xaa" } , { "\xc2\xe5\xa3" , "\x59\xa8\x7c" } , { "\xc2\xe6" , "\x59\xac" } , { "\xc2\xe6\xa2" , "\x59\xac\x72" } , { "\xc2\xe7" , "\x59\xac" } , { "\xc2\xe8" , "\x59" } , { "\xc2\xe8\xb3" , "\x59\x45" } , { "\xc2\xe8\xb3\xa2" , "\x59\x45\x7c" } , { "\xc2\xe8\xb3\xda" , "\x59\x45\x73" } , { "\xc2\xe8\xb3\xda\xa2" , "\x59\x45\x74" } , { "\xc2\xe8\xb3\xdb" , "\x75\x59\x45" } , { "\xc2\xe8\xb3\xdb\xa2" , "\x75\x59\x45\x7c" } , { "\xc2\xe8\xb3\xdc" , "\x59\x45\x76" } , { "\xc2\xe8\xb3\xdd" , "\x59\x45\x78" } , { "\xc2\xe8\xb3\xdd\xa2" , "\x59\x45\x78\x7c" } , { "\xc2\xe8\xb3\xde" , "\x59\x45\x79" } , { "\xc2\xe8\xb3\xdf" , "\x75\x59\x46" } , { "\xc2\xe8\xb3\xe0" , "\x59\x45\x7e" } , { "\xc2\xe8\xb3\xe1" , "\x59\x45\x7e" } , { "\xc2\xe8\xb3\xe1\xa2" , "\x59\x45\xa2" } , { "\xc2\xe8\xb3\xe4" , "\x59\x45\xa8" } , { "\xc2\xe8\xb3\xe5" , "\x59\x45\xa8" } , { "\xc2\xe8\xb3\xe8\xc2" , "\x59\x45\x59" } , { "\xc2\xe8\xb3\xe8\xcf" , "\x59\x46" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\x59\x46\x7c" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\x75\x59\x46" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\x59\x46\xa2" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\x59\x46\xa8" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\x59\x45\x6b\x7e" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\x59\x45\x6b\xa8" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x59\x45\xaf" } , { "\xc2\xe8\xb3\xe8\xd6" , "\x59\x45\x6f" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\x75\x59\x45\x6f" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\x59\x45\x6f\x7e" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\x59\x45\x6f\x53" } , { "\xc2\xe8\xb4" , "\x59\x47" } , { "\xc2\xe8\xb4\xa2" , "\x59\x47\x7c" } , { "\xc2\xe8\xb4\xda" , "\x59\x47\x73" } , { "\xc2\xe8\xb4\xe1" , "\x59\x47\x7e" } , { "\xc2\xe8\xb5\xda" , "\x59\x49\x73" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x59\x49\xad" } , { "\xc2\xe8\xb8" , "\x59\x4d" } , { "\xc2\xe8\xb8\xda" , "\x59\x4d\x73" } , { "\xc2\xe8\xb8\xe1" , "\x59\x4d\x7e" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x59\x4d\x4e" } , { "\xc2\xe8\xba" , "\x59\x4f" } , { "\xc2\xe8\xba\xa2" , "\x59\x4f\x7c" } , { "\xc2\xe8\xba\xdb" , "\x75\x59\x4f" } , { "\xc2\xe8\xba\xe8\xbc" , "\x59\x75\x49\x41" } , { "\xc2\xe8\xba\xe9" , "\x59\x50" } , { "\xc2\xe8\xbd\xe2" , "\x59\x53\xa4" } , { "\xc2\xe8\xbf\xdd" , "\x59\x55\x78" } , { "\xc2\xe8\xbf\xe5" , "\x59\x55\xa8" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\x59\x56\x73" } , { "\xc2\xe8\xc1" , "\x59\x58" } , { "\xc2\xe8\xc2" , "\x59\x59" } , { "\xc2\xe8\xc2\xa2" , "\x59\x59\x7c" } , { "\xc2\xe8\xc2\xda" , "\x59\x59\x73" } , { "\xc2\xe8\xc2\xda\xa1" , "\x59\x59\x74" } , { "\xc2\xe8\xc2\xda\xa2" , "\x59\x59\x74" } , { "\xc2\xe8\xc2\xda\xa3" , "\x59\x59\x73\x7c" } , { "\xc2\xe8\xc2\xdb" , "\x75\x59\x59" } , { "\xc2\xe8\xc2\xdb\xa2" , "\x75\x59\x59\x7c" } , { "\xc2\xe8\xc2\xdb\xa3" , "\x75\x59\x59\x7c" } , { "\xc2\xe8\xc2\xdc" , "\x59\x59\x76" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x59\x59\x77" } , { "\xc2\xe8\xc2\xdd" , "\x59\x59\x78" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x59\x59\x78\x7c" } , { "\xc2\xe8\xc2\xde" , "\x59\x59\x79" } , { "\xc2\xe8\xc2\xde\xa2" , "\x59\x59\x79\x7c" } , { "\xc2\xe8\xc2\xdf" , "\x75\x59\x5a" } , { "\xc2\xe8\xc2\xe0" , "\x59\x59\x7e" } , { "\xc2\xe8\xc2\xe0\xa2" , "\x59\x59\xa2" } , { "\xc2\xe8\xc2\xe1" , "\x59\x59\x7e" } , { "\xc2\xe8\xc2\xe1\xa2" , "\x59\x59\xa2" } , { "\xc2\xe8\xc2\xe1\xa3" , "\x59\x59\x7e\x7c" } , { "\xc2\xe8\xc2\xe2" , "\x59\x59\xa4" } , { "\xc2\xe8\xc2\xe4" , "\x59\x59\xa8" } , { "\xc2\xe8\xc2\xe5" , "\x59\x59\xa8" } , { "\xc2\xe8\xc2\xe5\xa2" , "\x59\x59\xaa" } , { "\xc2\xe8\xc2\xe6" , "\x59\x59\xac" } , { "\xc2\xe8\xc2\xe8" , "\x59\x59" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x59\x59\x45" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x59\x59\x45\x73" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\x59\x59\x45\x6f" } , { "\xc2\xe8\xc2\xe8\xc2" , "\x59\x59\x59" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\x59\x59\x59\x73" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\x75\x59\x59\x59" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\x59\x59\x59\x7e" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x59\x59\x59\x59" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x59\x59\x59\xaf\xaa" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\x59\x59\x5c\x73" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x59\x59\x61\x79" } , { "\xc2\xe8\xc2\xe8\xcc" , "\x59\x59\x67" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x59\x59\x69" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x59\x59\x69\x7c" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x59\x59\x69\x73" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x59\x59\x69\x78" } , { "\xc2\xe8\xc2\xe8\xcf" , "\x59\x5a" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\x59\x5a\x7c" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\x59\x5a\x73" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\x75\x59\x5a" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\x59\x5a\x7e" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\x59\x5a\xa4" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\x59\x59\x6a\x69" } , { "\xc2\xe8\xc2\xe8\xd4" , "\x59\x59\xaf" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\x59\x59\xaf\x7c" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\x59\x59\xaf\x73" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\x59\x59\xaf\x74" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\x75\x59\x59\xaf" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\x59\x59\xaf\x7b" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x59\x59\xaf\xa8" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x59\x59\xaf\xaa" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x59\x59\x61" } , { "\xc2\xe8\xc3" , "\x59\x5c" } , { "\xc2\xe8\xc3\xa2" , "\x59\x5c\x7c" } , { "\xc2\xe8\xc3\xda" , "\x59\x5c\x73" } , { "\xc2\xe8\xc3\xdb" , "\x75\x59\x5c" } , { "\xc2\xe8\xc3\xdc" , "\x59\x5c\x76" } , { "\xc2\xe8\xc3\xde" , "\x59\x5c\x79" } , { "\xc2\xe8\xc3\xe1" , "\x59\x5c\x7e" } , { "\xc2\xe8\xc3\xe5" , "\x59\x5c\xa8" } , { "\xc2\xe8\xc3\xe5\xa2" , "\x59\x5c\xaa" } , { "\xc2\xe8\xc4" , "\x59\x5d" } , { "\xc2\xe8\xc4\xda" , "\x59\x5d\x73" } , { "\xc2\xe8\xc4\xdd" , "\x59\x5d\x78" } , { "\xc2\xe8\xc4\xe1" , "\x59\x5d\x7e" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x59\x5d\xaf\xa4" } , { "\xc2\xe8\xc5" , "\x59\x5f" } , { "\xc2\xe8\xc5\xa2" , "\x59\x5f\x7c" } , { "\xc2\xe8\xc5\xda" , "\x59\x5f\x73" } , { "\xc2\xe8\xc5\xda\xa2" , "\x59\x5f\x74" } , { "\xc2\xe8\xc5\xdb" , "\x75\x59\x5f" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x59\x5f\x6e" } , { "\xc2\xe8\xc6" , "\x59\x60" } , { "\xc2\xe8\xc6\xa2" , "\x59\x60\x7d" } , { "\xc2\xe8\xc6\xda" , "\x59\x60\x73" } , { "\xc2\xe8\xc6\xda\xa2" , "\x59\x60\x74" } , { "\xc2\xe8\xc6\xdb" , "\x75\x59\x60" } , { "\xc2\xe8\xc6\xdb\xa2" , "\x75\x59\x60\x7c" } , { "\xc2\xe8\xc6\xdc" , "\x59\x60\x76" } , { "\xc2\xe8\xc6\xdd" , "\x59\x60\x78" } , { "\xc2\xe8\xc6\xdd\xa2" , "\x59\x60\x78\x7d" } , { "\xc2\xe8\xc6\xe1" , "\x59\x60\xa1" } , { "\xc2\xe8\xc6\xe5" , "\x59\x60\xa9" } , { "\xc2\xe8\xc6\xe5\xa2" , "\x59\x60\xab" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x59\x60\x69" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x59\x60\x69\x73\x7d" } , { "\xc2\xe8\xc8" , "\x59\x61" } , { "\xc2\xe8\xc8\xa2" , "\x59\x61\x7c" } , { "\xc2\xe8\xc8\xda" , "\x59\x61\x73" } , { "\xc2\xe8\xc8\xda\xa2" , "\x59\x61\x74" } , { "\xc2\xe8\xc8\xdb" , "\x75\x59\x61" } , { "\xc2\xe8\xc8\xdb\xa2" , "\x75\x59\x61\x7c" } , { "\xc2\xe8\xc8\xdc" , "\x59\x61\x76" } , { "\xc2\xe8\xc8\xdd" , "\x59\x61\x78" } , { "\xc2\xe8\xc8\xde" , "\x59\x61\x79" } , { "\xc2\xe8\xc8\xdf" , "\x75\x59\x61\xae" } , { "\xc2\xe8\xc8\xe1" , "\x59\x61\x7e" } , { "\xc2\xe8\xc8\xe6" , "\x59\x61\xac" } , { "\xc2\xe8\xc8\xe8\xc2" , "\x59\x61\x59" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\x75\x59\x61\x59" } , { "\xc2\xe8\xc8\xe8\xcf" , "\x59\x61\xae" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\x59\x61\xae\x73" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\x59\x61\xae\x74" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\x75\x59\x61\xae" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\x59\x61\xae\x7e" } , { "\xc2\xe8\xc8\xe8\xd1" , "\x59\x61\x6b" } , { "\xc2\xe8\xc9" , "\x59\x62" } , { "\xc2\xe8\xc9\xda" , "\x59\x62\x73" } , { "\xc2\xe8\xc9\xdb" , "\x75\x59\x62" } , { "\xc2\xe8\xc9\xdd" , "\x59\x62\x78" } , { "\xc2\xe8\xc9\xe8\xcf" , "\x59\x62\xae" } , { "\xc2\xe8\xc9\xe9" , "\x59\x63" } , { "\xc2\xe8\xca" , "\x59\x64" } , { "\xc2\xe8\xca\xa2" , "\x59\x64\x7c" } , { "\xc2\xe8\xca\xda" , "\x59\x64\x73" } , { "\xc2\xe8\xca\xdb" , "\x75\x59\x64" } , { "\xc2\xe8\xca\xdd" , "\x59\x64\x78" } , { "\xc2\xe8\xca\xe1" , "\x59\x64\x7e" } , { "\xc2\xe8\xca\xe8\xcf" , "\x59\x64\xae" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\x59\x64\x6b\x73" } , { "\xc2\xe8\xcb" , "\x59\x65" } , { "\xc2\xe8\xcb\xda" , "\x59\x65\x73" } , { "\xc2\xe8\xcb\xda\xa2" , "\x59\x65\x74" } , { "\xc2\xe8\xcb\xdb" , "\x75\x59\x65" } , { "\xc2\xe8\xcb\xdd" , "\x59\x65\x78" } , { "\xc2\xe8\xcb\xde" , "\x59\x65\x79" } , { "\xc2\xe8\xcc" , "\x59\x67" } , { "\xc2\xe8\xcc\xa2" , "\x59\x67\x7c" } , { "\xc2\xe8\xcc\xda" , "\x59\x67\x73" } , { "\xc2\xe8\xcc\xdb" , "\x75\x59\x67" } , { "\xc2\xe8\xcc\xdc" , "\x59\x67\x76" } , { "\xc2\xe8\xcc\xdd" , "\x59\x67\x78" } , { "\xc2\xe8\xcc\xdd\xa2" , "\x59\x67\x78\x7c" } , { "\xc2\xe8\xcc\xdf" , "\x75\x59\x67\xae" } , { "\xc2\xe8\xcc\xe1" , "\x59\x67\x7e" } , { "\xc2\xe8\xcc\xe1\xa2" , "\x59\x67\xa2" } , { "\xc2\xe8\xcc\xe2" , "\x59\x67\xa4" } , { "\xc2\xe8\xcc\xe4" , "\x59\x67\xa8" } , { "\xc2\xe8\xcc\xe5" , "\x59\x67\xa8" } , { "\xc2\xe8\xcc\xe6" , "\x59\x67\xac" } , { "\xc2\xe8\xcc\xe8" , "\x59\x67" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x59\x67\x45" } , { "\xc2\xe8\xcc\xe8\xca" , "\x59\x67\x64" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x59\x67\x69" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x59\x67\x69\x7c" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x59\x67\x69\x73" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x59\x67\x69\xaa" } , { "\xc2\xe8\xcd" , "\x59\x69" } , { "\xc2\xe8\xcd\xa2" , "\x59\x69\x7c" } , { "\xc2\xe8\xcd\xda" , "\x59\x69\x73" } , { "\xc2\xe8\xcd\xda\xa2" , "\x59\x69\x74" } , { "\xc2\xe8\xcd\xdb" , "\x75\x59\x69" } , { "\xc2\xe8\xcd\xdc" , "\x59\x69\x76" } , { "\xc2\xe8\xcd\xdd" , "\x59\x69\x78" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x59\x69\x78\x7c" } , { "\xc2\xe8\xcd\xde" , "\x59\x69\x79" } , { "\xc2\xe8\xcd\xe1" , "\x59\x69\x7e" } , { "\xc2\xe8\xcd\xe1\xa2" , "\x59\x69\xa2" } , { "\xc2\xe8\xcd\xe5" , "\x59\x69\xa8" } , { "\xc2\xe8\xcd\xe5\xa2" , "\x59\x69\xaa" } , { "\xc2\xe8\xcd\xe6" , "\x59\x69\xac" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x59\x68\x59" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x59\x68\x59" } , { "\xc2\xe8\xcd\xe8\xcc" , "\x59\x68\x67" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\x59\x68\x67\x7c" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\x59\x68\x67\x73" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x59\x68\x69" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x59\x68\x69\x7c" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x59\x68\x69\x73" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x59\x68\x69\x7e" } , { "\xc2\xe8\xcd\xe8\xcf" , "\x59\x68\xae" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\x59\x68\xae\x7c" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\x59\x68\xae\x7c" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\x59\x68\xae\x73" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\x59\x68\xae\xa8" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x59\x68\x6e" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x59\x68\x6e\x7c" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x59\x68\x6e\x73" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x59\x68\x6e\xa2" } , { "\xc2\xe8\xcf" , "\x5a" } , { "\xc2\xe8\xcf\xa2" , "\x5a\x7c" } , { "\xc2\xe8\xcf\xa3" , "\x5a\x7c" } , { "\xc2\xe8\xcf\xda" , "\x5a\x73" } , { "\xc2\xe8\xcf\xda\xa2" , "\x5a\x74" } , { "\xc2\xe8\xcf\xdb" , "\x75\x5a" } , { "\xc2\xe8\xcf\xdb\xa2" , "\x75\x5a\x7c" } , { "\xc2\xe8\xcf\xdb\xa3" , "\x75\x5a\x7c" } , { "\xc2\xe8\xcf\xdc" , "\x5a\x76" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x5a\x77" } , { "\xc2\xe8\xcf\xdd" , "\x5a\x7a" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x5a\x7a\x7c" } , { "\xc2\xe8\xcf\xde" , "\x5a\x7b" } , { "\xc2\xe8\xcf\xde\xa2" , "\x5a\x7b\x7c" } , { "\xc2\xe8\xcf\xdf" , "\x75\x59\x6a\xae" } , { "\xc2\xe8\xcf\xe0" , "\x5a\x7e" } , { "\xc2\xe8\xcf\xe0\xa2" , "\x5a\xa2" } , { "\xc2\xe8\xcf\xe1" , "\x5a\x7e" } , { "\xc2\xe8\xcf\xe1\xa2" , "\x5a\xa2" } , { "\xc2\xe8\xcf\xe2" , "\x5a\xa4" } , { "\xc2\xe8\xcf\xe2\xa2" , "\x5a\xa6" } , { "\xc2\xe8\xcf\xe2\xa3" , "\x5a\xa4\x7c" } , { "\xc2\xe8\xcf\xe4" , "\x5a\xa8" } , { "\xc2\xe8\xcf\xe5" , "\x5a\xa8" } , { "\xc2\xe8\xcf\xe5\xa2" , "\x5a\xaa" } , { "\xc2\xe8\xcf\xe5\xa3" , "\x5a\xa8\x7c" } , { "\xc2\xe8\xcf\xe6" , "\x5a\xac" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x59\x6a\x45" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\x75\x59\x6a\x4d" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x59\x6a\x59" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x59\x6a\x59\x73" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x59\x6a\x59\x76" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x59\x6a\x61" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x59\x6a\x69" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x59\x6a\x69\x7c" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x59\x6a\x69\x73" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x59\x6a\x69\x79" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x59\x6a\x69\x7e" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x59\x6a\x69\xa8" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x59\x6a\x6e" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x59\x6a\x6e\x7c" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x59\x6a\x6a\x69" } , { "\xc2\xe8\xd1" , "\x59\x6b" } , { "\xc2\xe8\xd1\xa2" , "\x59\x6b\x7c" } , { "\xc2\xe8\xd1\xda" , "\x59\x6b\x73" } , { "\xc2\xe8\xd1\xdb" , "\x75\x59\x6b" } , { "\xc2\xe8\xd1\xdc" , "\x59\x6b\x76" } , { "\xc2\xe8\xd1\xdd" , "\x59\x6b\x78" } , { "\xc2\xe8\xd1\xe1" , "\x59\x6b\x7e" } , { "\xc2\xe8\xd1\xe2" , "\x59\x6b\xa4" } , { "\xc2\xe8\xd1\xe5" , "\x59\x6b\xa8" } , { "\xc2\xe8\xd1\xe8\xc8" , "\x59\x6b\x61" } , { "\xc2\xe8\xd4" , "\x59\xaf" } , { "\xc2\xe8\xd4\xa2" , "\x59\xaf\x7c" } , { "\xc2\xe8\xd4\xa3" , "\x59\xaf\x7c" } , { "\xc2\xe8\xd4\xda" , "\x59\xaf\x73" } , { "\xc2\xe8\xd4\xda\xa2" , "\x59\xaf\x74" } , { "\xc2\xe8\xd4\xdb" , "\x75\x59\xaf" } , { "\xc2\xe8\xd4\xdb\xa3" , "\x75\x59\xaf\x7c" } , { "\xc2\xe8\xd4\xdc" , "\x59\xaf\x76" } , { "\xc2\xe8\xd4\xdd" , "\x59\xaf\x7a" } , { "\xc2\xe8\xd4\xdf" , "\x75\x59\x6d\xae" } , { "\xc2\xe8\xd4\xe0" , "\x59\xaf\x7e" } , { "\xc2\xe8\xd4\xe1" , "\x59\xaf\x7e" } , { "\xc2\xe8\xd4\xe2" , "\x59\xaf\xa4" } , { "\xc2\xe8\xd4\xe5" , "\x59\xaf\xa8" } , { "\xc2\xe8\xd4\xe5\xa2" , "\x59\xaf\xaa" } , { "\xc2\xe8\xd4\xe6" , "\x59\xaf\xac" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\x75\x59\x6d\x59" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\x59\x6d\x59\x69" } , { "\xc2\xe8\xd5" , "\x59\x6f" } , { "\xc2\xe8\xd5\xda" , "\x59\x6f\x73" } , { "\xc2\xe8\xd5\xdb" , "\x75\x59\x6f" } , { "\xc2\xe8\xd5\xde" , "\x59\x6f\x79" } , { "\xc2\xe8\xd5\xe1" , "\x59\x6f\x7e" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x59\x6f\xaf" } , { "\xc2\xe8\xd6" , "\x59\x6f" } , { "\xc2\xe8\xd6\xda" , "\x59\x6f\x73" } , { "\xc2\xe8\xd6\xdb" , "\x75\x59\x6f" } , { "\xc2\xe8\xd6\xe1" , "\x59\x6f\x7e" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\x59\x6f\x45\x7e" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\x59\x6f\x58\x73" } , { "\xc2\xe8\xd7" , "\x59\x6e" } , { "\xc2\xe8\xd7\xa2" , "\x59\x6e\x7c" } , { "\xc2\xe8\xd7\xa3" , "\x59\x6e\x7c" } , { "\xc2\xe8\xd7\xda" , "\x59\x6e\x73" } , { "\xc2\xe8\xd7\xda\xa2" , "\x59\x6e\x74" } , { "\xc2\xe8\xd7\xdb" , "\x75\x59\x6e" } , { "\xc2\xe8\xd7\xdb\xa2" , "\x75\x59\x6e\x7c" } , { "\xc2\xe8\xd7\xdc" , "\x59\x6e\x76" } , { "\xc2\xe8\xd7\xdd" , "\x59\x6e\x78" } , { "\xc2\xe8\xd7\xde" , "\x59\x6e\x79" } , { "\xc2\xe8\xd7\xdf" , "\x75\x59\x6e\xae" } , { "\xc2\xe8\xd7\xe0" , "\x59\x6e\x7e" } , { "\xc2\xe8\xd7\xe1" , "\x59\x6e\x7e" } , { "\xc2\xe8\xd7\xe4" , "\x59\x6e\xa8" } , { "\xc2\xe8\xd7\xe5" , "\x59\x6e\xa8" } , { "\xc2\xe8\xd7\xe6" , "\x59\x6e\xac" } , { "\xc2\xe8\xd7\xe8" , "\x59\x6e" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\x59\x6e\x45\x76" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\x59\x6e\x5c\x73" } , { "\xc2\xe8\xd7\xe8\xc6" , "\x59\x6e\x60" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\x59\x6e\x60\x73" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\x75\x59\x6e\x60" } , { "\xc2\xe8\xd7\xe8\xc8" , "\x59\x6e\x61" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\x59\x6e\x61\x73" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\x75\x59\x6e\x61\xae" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\x59\x6e\x62\x79" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\x59\x6e\x62\xa8" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x59\x6e\x69" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x59\x6e\x69\x7c" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x59\x6e\x69\x73" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x59\x6e\x69\x74" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\x75\x59\x6e\x69" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x59\x6e\x69\x78" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x59\x6e\x69\xa2" } , { "\xc2\xe8\xd7\xe8\xcf" , "\x59\x6e\xae" } , { "\xc2\xe8\xd7\xe8\xd4" , "\x59\x6e\xaf" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\x59\x6e\xaf\x73" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x59\x6e\xaf\x7e" } , { "\xc2\xe8\xd8\xdb" , "\x75\x59\xad" } , { "\xc2\xe8\xd8\xdc" , "\x59\xad\x76" } , { "\xc2\xe8\xd9\xa6" , "\x59\x75\x42" } , { "\xc2\xe8\xd9\xb3\xda" , "\x59\x45\x73" } , { "\xc2\xe8\xd9\xc2" , "\x59\x59" } , { "\xc2\xe8\xd9\xc2\xda" , "\x59\x59\x73" } , { "\xc2\xe8\xd9\xc2\xdb" , "\x59\x75\x59" } , { "\xc2\xe8\xd9\xc2\xdc" , "\x59\x59\x76" } , { "\xc2\xe8\xd9\xc2\xe1" , "\x59\x59\x7e" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\x59\x59\xaa" } , { "\xc2\xe8\xd9\xc8" , "\x59\x61" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\x59\x6a\x59\x73" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\x59\x6a\x6e" } , { "\xc2\xe8\xd9\xd1" , "\x59\x6b" } , { "\xc2\xe8\xd9\xd4" , "\x59\x6d" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\x59\x6d\xaa" } , { "\xc2\xe8\xe8" , "\x59" } , { "\xc2\xe8\xe9\xc2" , "\x59\x59" } , { "\xc2\xe8\xe9\xcf" , "\x5a" } , { "\xc2\xe9" , "\x59" } , { "\xc3" , "\x5c" } , { "\xc3\xa1" , "\x5c\x7c" } , { "\xc3\xa2" , "\x5c\x7c" } , { "\xc3\xa3" , "\x5c\x7c" } , { "\xc3\xda" , "\x5c\x73" } , { "\xc3\xda\xa1" , "\x5c\x74" } , { "\xc3\xda\xa2" , "\x5c\x74" } , { "\xc3\xdb" , "\x75\x5c" } , { "\xc3\xdb\xa2" , "\x75\x5c\x7c" } , { "\xc3\xdc" , "\x5c\x76" } , { "\xc3\xdc\xa1" , "\x5c\x77" } , { "\xc3\xdc\xa2" , "\x5c\x77" } , { "\xc3\xdd" , "\x5c\x78" } , { "\xc3\xdd\xa2" , "\x5c\x78\x7c" } , { "\xc3\xdd\xa3" , "\x5c\x78\x7c" } , { "\xc3\xde" , "\x5c\x79" } , { "\xc3\xde\xa2" , "\x5c\x79\x7c" } , { "\xc3\xdf" , "\x75\x5c\xae" } , { "\xc3\xe0" , "\x5c\x7e" } , { "\xc3\xe1" , "\x5c\x7e" } , { "\xc3\xe1\xa2" , "\x5c\xa2" } , { "\xc3\xe2" , "\x5c\xa4" } , { "\xc3\xe2\xa2" , "\x5c\xa6" } , { "\xc3\xe4" , "\x5c\xa8" } , { "\xc3\xe5" , "\x5c\xa8" } , { "\xc3\xe5\xa2" , "\x5c\xaa" } , { "\xc3\xe6" , "\x5c\xac" } , { "\xc3\xe6\xa2" , "\x5c\xac\x72" } , { "\xc3\xe7" , "\x5c\xac" } , { "\xc3\xe8" , "\x5c" } , { "\xc3\xe8\xb3\xdd" , "\x5c\x45\x78" } , { "\xc3\xe8\xb5\xda" , "\x5c\x49\x73" } , { "\xc3\xe8\xc2\xdb" , "\x75\x5c\x59" } , { "\xc3\xe8\xc2\xdd" , "\x5c\x59\x78" } , { "\xc3\xe8\xc3" , "\x5c\x5c" } , { "\xc3\xe8\xc3\xda" , "\x5c\x5c\x73" } , { "\xc3\xe8\xc8\xde" , "\x5c\x61\x79" } , { "\xc3\xe8\xcc\xda" , "\x5c\x67\x73" } , { "\xc3\xe8\xcc\xdc" , "\x5c\x67\x76" } , { "\xc3\xe8\xcd" , "\x5c\x69" } , { "\xc3\xe8\xcd\xa2" , "\x5c\x69\x7c" } , { "\xc3\xe8\xcd\xda" , "\x5c\x69\x73" } , { "\xc3\xe8\xcd\xda\xa2" , "\x5c\x69\x74" } , { "\xc3\xe8\xcd\xda\xa3" , "\x5c\x69\x73\x7c" } , { "\xc3\xe8\xcd\xdd" , "\x5c\x69\x78" } , { "\xc3\xe8\xcd\xde" , "\x5c\x69\x79" } , { "\xc3\xe8\xcd\xe5" , "\x5c\x69\xa8" } , { "\xc3\xe8\xcd\xe5\xa2" , "\x5c\x69\xaa" } , { "\xc3\xe8\xcf" , "\x5c\xae" } , { "\xc3\xe8\xcf\xda" , "\x5c\xae\x73" } , { "\xc3\xe8\xcf\xda\xa2" , "\x5c\xae\x74" } , { "\xc3\xe8\xcf\xdb" , "\x75\x5c\xae" } , { "\xc3\xe8\xcf\xdc" , "\x5c\xae\x76" } , { "\xc3\xe8\xcf\xde" , "\x5c\xae\x7b" } , { "\xc3\xe8\xcf\xe0" , "\x5c\xae\x7e" } , { "\xc3\xe8\xcf\xe1" , "\x5c\xae\x7e" } , { "\xc3\xe8\xcf\xe2" , "\x5c\xae\xa4" } , { "\xc3\xe8\xcf\xe5" , "\x5c\xae\xa8" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x5c\x6a\x69" } , { "\xc3\xe8\xd1\xdd" , "\x5c\x6b\x78" } , { "\xc3\xe8\xd1\xe5" , "\x5c\x6b\xa8" } , { "\xc3\xe8\xd2" , "\x5c\x6b" } , { "\xc3\xe8\xd4" , "\x5c\xaf" } , { "\xc3\xe8\xd4\xda" , "\x5c\xaf\x73" } , { "\xc3\xe8\xd4\xdb" , "\x75\x5c\xaf" } , { "\xc3\xe8\xd4\xdc" , "\x5c\xaf\x76" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x5c\x6f\xae\x76" } , { "\xc3\xe8\xd7" , "\x5c\x6e" } , { "\xc3\xe8\xd7\xe8" , "\x5c\x6e" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x5c\x6a\x69" } , { "\xc3\xe8\xe8" , "\x5c" } , { "\xc3\xe8\xe9\xcf" , "\x5c\xae" } , { "\xc3\xe9" , "\x5c" } , { "\xc4" , "\x5d" } , { "\xc4\xa1" , "\x5d\x7c" } , { "\xc4\xa2" , "\x5d\x7c" } , { "\xc4\xa2\xa2" , "\x5d\x7c\x7d" } , { "\xc4\xa3" , "\x5d\x7c" } , { "\xc4\xd3\xcd\xda" , "\x5d\x6b\x68\x73" } , { "\xc4\xd9" , "\x5d" } , { "\xc4\xda" , "\x5d\x73" } , { "\xc4\xda\xa1" , "\x5d\x74" } , { "\xc4\xda\xa2" , "\x5d\x74" } , { "\xc4\xda\xa2\xa2" , "\x5d\x74\x7d" } , { "\xc4\xda\xa3" , "\x5d\x73\x7c" } , { "\xc4\xdb" , "\x75\x5d" } , { "\xc4\xdb\xa2" , "\x75\x5d\x7c" } , { "\xc4\xdb\xa2\xa2" , "\x75\x5d\x7c\x7d" } , { "\xc4\xdb\xa3" , "\x75\x5d\x7c" } , { "\xc4\xdb\xd7\xdf" , "\x75\x5d\x75\x6e\xae" } , { "\xc4\xdc" , "\x5d\x76" } , { "\xc4\xdc\xa2" , "\x5d\x77" } , { "\xc4\xdd" , "\x5d\x78" } , { "\xc4\xdd\xa1" , "\x5d\x78\x7c" } , { "\xc4\xdd\xa2" , "\x5d\x78\x7c" } , { "\xc4\xdd\xa3" , "\x5d\x78\x7c" } , { "\xc4\xde" , "\x5d\x79" } , { "\xc4\xde\xa1" , "\x5d\x79\x7c" } , { "\xc4\xde\xa2" , "\x5d\x79\x7c" } , { "\xc4\xdf" , "\x75\x5e" } , { "\xc4\xdf\xa2" , "\x75\x5e\x7c" } , { "\xc4\xe0" , "\x5d\x7e" } , { "\xc4\xe0\xa2" , "\x5d\xa2" } , { "\xc4\xe1" , "\x5d\x7e" } , { "\xc4\xe1\xa2" , "\x5d\xa2" } , { "\xc4\xe2" , "\x5d\xa4" } , { "\xc4\xe2\xa2" , "\x5d\xa6" } , { "\xc4\xe2\xa3" , "\x5d\xa4\x7c" } , { "\xc4\xe4" , "\x5d\xa8" } , { "\xc4\xe4\xa2" , "\x5d\xaa" } , { "\xc4\xe5" , "\x5d\xa8" } , { "\xc4\xe5\xa2" , "\x5d\xaa" } , { "\xc4\xe6" , "\x5d\xac" } , { "\xc4\xe6\xa2" , "\x5d\xac\x72" } , { "\xc4\xe7" , "\x5d\xac" } , { "\xc4\xe8" , "\x5d" } , { "\xc4\xe8\xb3" , "\x5d\x45" } , { "\xc4\xe8\xb3\xda" , "\x5d\x45\x73" } , { "\xc4\xe8\xb3\xdb" , "\x75\x5d\x45" } , { "\xc4\xe8\xb3\xdd" , "\x5d\x45\x78" } , { "\xc4\xe8\xb3\xde" , "\x5d\x45\x79" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\x5d\x45\x45\x7e" } , { "\xc4\xe8\xb4" , "\x5d\x47" } , { "\xc4\xe8\xb4\xda" , "\x5d\x47\x73" } , { "\xc4\xe8\xb5" , "\x5d\x49" } , { "\xc4\xe8\xb5\xa2" , "\x5d\x49\x7c" } , { "\xc4\xe8\xb5\xda" , "\x5d\x49\x73" } , { "\xc4\xe8\xb5\xdc" , "\x5d\x49\x76" } , { "\xc4\xe8\xb5\xdd" , "\x5d\x49\x78" } , { "\xc4\xe8\xb5\xdf" , "\x75\x5d\x49\xae" } , { "\xc4\xe8\xb5\xe1" , "\x5d\x49\x7e" } , { "\xc4\xe8\xb5\xe5" , "\x5d\x49\xa8" } , { "\xc4\xe8\xb5\xe8\xc5" , "\x5d\x49\x5f" } , { "\xc4\xe8\xb5\xe8\xcf" , "\x5d\x49\xae" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\x5d\x49\xae\x7c" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\x5d\x49\xae\x73" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\x5d\x49\xae\x76" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x5d\x49\xad" } , { "\xc4\xe8\xb6" , "\x5d\x4b" } , { "\xc4\xe8\xb6\xda" , "\x5d\x4b\x73" } , { "\xc4\xe8\xb6\xda\xa2" , "\x5d\x4b\x74" } , { "\xc4\xe8\xb6\xdf" , "\x75\x5d\x4b\xae" } , { "\xc4\xe8\xb6\xe5" , "\x5d\x4b\xa8" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x5d\x4b\x59" } , { "\xc4\xe8\xb8" , "\x5d\x4d" } , { "\xc4\xe8\xb8\xda" , "\x5d\x4d\x73" } , { "\xc4\xe8\xb8\xdb" , "\x75\x5d\x4d" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\x75\x5d\x4d\x4e" } , { "\xc4\xe8\xba" , "\x5d\x4f" } , { "\xc4\xe8\xba\xdc" , "\x5d\x4f\x76" } , { "\xc4\xe8\xba\xdd" , "\x5d\x4f\x78" } , { "\xc4\xe8\xba\xdf" , "\x75\x5d\x4f\xae" } , { "\xc4\xe8\xba\xe1" , "\x5d\x4f\x7e" } , { "\xc4\xe8\xba\xe5" , "\x5d\x4f\xa8" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\x5d\x75\x49\x43\x78" } , { "\xc4\xe8\xbb" , "\x5d\x51" } , { "\xc4\xe8\xbf\xda" , "\x5d\x55\x73" } , { "\xc4\xe8\xbf\xdb" , "\x75\x5d\x55" } , { "\xc4\xe8\xbf\xe9" , "\x5d\x5b" } , { "\xc4\xe8\xc0" , "\x5d\x57" } , { "\xc4\xe8\xc0\xe9" , "\x5d\x5b\xad" } , { "\xc4\xe8\xc2" , "\x5d\x59" } , { "\xc4\xe8\xc2\xa2" , "\x5d\x59\x7c" } , { "\xc4\xe8\xc2\xdd" , "\x5d\x59\x78" } , { "\xc4\xe8\xc2\xe2" , "\x5d\x59\xa4" } , { "\xc4\xe8\xc2\xe5" , "\x5d\x59\xa8" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\x5d\x59\xaf\xa4" } , { "\xc4\xe8\xc3" , "\x5d\x5c" } , { "\xc4\xe8\xc3\xa2" , "\x5d\x5c\x7c" } , { "\xc4\xe8\xc3\xda" , "\x5d\x5c\x73" } , { "\xc4\xe8\xc3\xda\xa2" , "\x5d\x5c\x74" } , { "\xc4\xe8\xc3\xdb" , "\x75\x5d\x5c" } , { "\xc4\xe8\xc3\xdb\xa3" , "\x75\x5d\x5c\x7c" } , { "\xc4\xe8\xc3\xdd" , "\x5d\x5c\x78" } , { "\xc4\xe8\xc4" , "\x5d\x5d" } , { "\xc4\xe8\xc4\xa2" , "\x5d\x5d\x7c" } , { "\xc4\xe8\xc4\xa3" , "\x5d\x5d\x7c" } , { "\xc4\xe8\xc4\xda" , "\x5d\x5d\x73" } , { "\xc4\xe8\xc4\xda\xa2" , "\x5d\x5d\x74" } , { "\xc4\xe8\xc4\xdb" , "\x75\x5d\x5d" } , { "\xc4\xe8\xc4\xdb\xa2" , "\x75\x5d\x5d\x7c" } , { "\xc4\xe8\xc4\xdb\xa3" , "\x75\x5d\x5d\x7c" } , { "\xc4\xe8\xc4\xdc" , "\x5d\x5d\x76" } , { "\xc4\xe8\xc4\xdd" , "\x5d\x5d\x78" } , { "\xc4\xe8\xc4\xdd\xa2" , "\x5d\x5d\x78\x7c" } , { "\xc4\xe8\xc4\xde" , "\x5d\x5d\x79" } , { "\xc4\xe8\xc4\xdf" , "\x75\x5d\x5e" } , { "\xc4\xe8\xc4\xe0" , "\x5d\x5d\x7e" } , { "\xc4\xe8\xc4\xe0\xa2" , "\x5d\x5d\xa2" } , { "\xc4\xe8\xc4\xe1" , "\x5d\x5d\x7e" } , { "\xc4\xe8\xc4\xe1\xa2" , "\x5d\x5d\xa2" } , { "\xc4\xe8\xc4\xe1\xa3" , "\x5d\x5d\x7e\x7c" } , { "\xc4\xe8\xc4\xe2" , "\x5d\x5d\xa4" } , { "\xc4\xe8\xc4\xe4" , "\x5d\x5d\xa8" } , { "\xc4\xe8\xc4\xe5" , "\x5d\x5d\xa8" } , { "\xc4\xe8\xc4\xe5\xa2" , "\x5d\x5d\xaa" } , { "\xc4\xe8\xc4\xe6" , "\x5d\x5d\xac" } , { "\xc4\xe8\xc4\xe8" , "\x5d\x5d" } , { "\xc4\xe8\xc4\xe8\xcd" , "\x5d\x5d\x69" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\x5d\x5d\x69\x7c" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\x5d\x5d\x69\x78" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\x5d\x5d\x69\xa8" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\x75\x5d\x5e" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x5d\x5e\x7b" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\x5d\x5d\xaf\x7c" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\x5d\x5d\xaf\x73" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\x75\x5d\x5d\xaf" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\x5d\x5d\xaf\x7e" } , { "\xc4\xe8\xc5" , "\x5d\x5f" } , { "\xc4\xe8\xc5\xa2" , "\x5d\x5f\x7c" } , { "\xc4\xe8\xc5\xa3" , "\x5d\x5f\x7c" } , { "\xc4\xe8\xc5\xda" , "\x5d\x5f\x73" } , { "\xc4\xe8\xc5\xda\xa1" , "\x5d\x5f\x74" } , { "\xc4\xe8\xc5\xda\xa2" , "\x5d\x5f\x74" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\x5d\x5f\x74\x7d" } , { "\xc4\xe8\xc5\xda\xa3" , "\x5d\x5f\x73\x7c" } , { "\xc4\xe8\xc5\xdb" , "\x75\x5d\x5f" } , { "\xc4\xe8\xc5\xdb\xa2" , "\x75\x5d\x5f\x7c" } , { "\xc4\xe8\xc5\xdb\xa3" , "\x75\x5d\x5f\x7c" } , { "\xc4\xe8\xc5\xdc" , "\x5d\x5f\x76" } , { "\xc4\xe8\xc5\xdc\xa2" , "\x5d\x5f\x77" } , { "\xc4\xe8\xc5\xdd" , "\x5d\x5f\x78" } , { "\xc4\xe8\xc5\xdd\xa2" , "\x5d\x5f\x78\x7c" } , { "\xc4\xe8\xc5\xde" , "\x5d\x5f\x79" } , { "\xc4\xe8\xc5\xdf" , "\x75\x5d\x5f\xae" } , { "\xc4\xe8\xc5\xe0" , "\x5d\x5f\x7e" } , { "\xc4\xe8\xc5\xe1" , "\x5d\x5f\x7e" } , { "\xc4\xe8\xc5\xe1\xa2" , "\x5d\x5f\xa2" } , { "\xc4\xe8\xc5\xe1\xa3" , "\x5d\x5f\x7e\x7c" } , { "\xc4\xe8\xc5\xe2" , "\x5d\x5f\xa4" } , { "\xc4\xe8\xc5\xe4" , "\x5d\x5f\xa8" } , { "\xc4\xe8\xc5\xe5" , "\x5d\x5f\xa8" } , { "\xc4\xe8\xc5\xe5\xa2" , "\x5d\x5f\xaa" } , { "\xc4\xe8\xc5\xe8\xc2" , "\x5d\x5f\x59" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\x5d\x5f\x60\x73" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\x5d\x5f\x64\x76" } , { "\xc4\xe8\xc5\xe8\xcd" , "\x5d\x5f\x69" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\x5d\x5f\x69\x7c" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\x5d\x5f\x69\x73" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\x5d\x5f\x69\xa8" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\x75\x5d\x5f\xae" } , { "\xc4\xe8\xc5\xe8\xd4" , "\x5d\x5f\xaf" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\x5d\x5f\xaf\x73" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\x5d\x5f\x6f\x78" } , { "\xc4\xe8\xc6" , "\x5d\x60" } , { "\xc4\xe8\xc6\xda" , "\x5d\x60\x73" } , { "\xc4\xe8\xc6\xdb" , "\x75\x5d\x60" } , { "\xc4\xe8\xc6\xdb\xa2" , "\x75\x5d\x60\x7c" } , { "\xc4\xe8\xc6\xdc" , "\x5d\x60\x76" } , { "\xc4\xe8\xc6\xdd" , "\x5d\x60\x78" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x5d\x60\x78\x7d" } , { "\xc4\xe8\xc6\xe5" , "\x5d\x60\xa9" } , { "\xc4\xe8\xc6\xe8\xc2" , "\x5d\x60\x59" } , { "\xc4\xe8\xc8" , "\x5d\x61" } , { "\xc4\xe8\xc8\xa2" , "\x5d\x61\x7c" } , { "\xc4\xe8\xc8\xda" , "\x5d\x61\x73" } , { "\xc4\xe8\xc8\xdd" , "\x5d\x61\x78" } , { "\xc4\xe8\xc8\xde" , "\x5d\x61\x79" } , { "\xc4\xe8\xc8\xe2" , "\x5d\x61\xa4" } , { "\xc4\xe8\xca" , "\x5d\x64" } , { "\xc4\xe8\xca\xa2" , "\x5d\x64\x7c" } , { "\xc4\xe8\xca\xda" , "\x5d\x64\x73" } , { "\xc4\xe8\xca\xda\xa2" , "\x5d\x64\x74" } , { "\xc4\xe8\xca\xdb" , "\x75\x5d\x64" } , { "\xc4\xe8\xca\xdc" , "\x5d\x64\x76" } , { "\xc4\xe8\xca\xdd" , "\x5d\x64\x78" } , { "\xc4\xe8\xca\xe1" , "\x5d\x64\x7e" } , { "\xc4\xe8\xca\xe5" , "\x5d\x64\xa8" } , { "\xc4\xe8\xca\xe8\xcf" , "\x5d\x64\xae" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\x5d\x64\xae\x73" } , { "\xc4\xe8\xcb" , "\x5d\x65" } , { "\xc4\xe8\xcb\xa2" , "\x5d\x65\x7c" } , { "\xc4\xe8\xcb\xda" , "\x5d\x65\x73" } , { "\xc4\xe8\xcb\xda\xa2" , "\x5d\x65\x74" } , { "\xc4\xe8\xcb\xdb" , "\x75\x5d\x65" } , { "\xc4\xe8\xcb\xdb\xa3" , "\x75\x5d\x65\x7c" } , { "\xc4\xe8\xcb\xdc" , "\x5d\x65\x76" } , { "\xc4\xe8\xcb\xdd" , "\x5d\x65\x78" } , { "\xc4\xe8\xcb\xde" , "\x5d\x65\x79" } , { "\xc4\xe8\xcb\xe1" , "\x5d\x65\x7e" } , { "\xc4\xe8\xcb\xe5" , "\x5d\x65\xa8" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\x5d\x66\x73" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\x5d\x66\x7b" } , { "\xc4\xe8\xcc" , "\x5d\x67" } , { "\xc4\xe8\xcc\xa2" , "\x5d\x67\x7c" } , { "\xc4\xe8\xcc\xda" , "\x5d\x67\x73" } , { "\xc4\xe8\xcc\xda\xa2" , "\x5d\x67\x74" } , { "\xc4\xe8\xcc\xdb" , "\x75\x5d\x67" } , { "\xc4\xe8\xcc\xdd" , "\x5d\x67\x78" } , { "\xc4\xe8\xcc\xde" , "\x5d\x67\x79" } , { "\xc4\xe8\xcc\xe1" , "\x5d\x67\x7e" } , { "\xc4\xe8\xcc\xe1\xa2" , "\x5d\x67\xa2" } , { "\xc4\xe8\xcc\xe5" , "\x5d\x67\xa8" } , { "\xc4\xe8\xcd" , "\x5d\x69" } , { "\xc4\xe8\xcd\xa1" , "\x5d\x69\x7c" } , { "\xc4\xe8\xcd\xa2" , "\x5d\x69\x7c" } , { "\xc4\xe8\xcd\xa3" , "\x5d\x69\x7c" } , { "\xc4\xe8\xcd\xda" , "\x5d\x69\x73" } , { "\xc4\xe8\xcd\xda\xa2" , "\x5d\x69\x74" } , { "\xc4\xe8\xcd\xda\xa3" , "\x5d\x69\x73\x7c" } , { "\xc4\xe8\xcd\xdb" , "\x75\x5d\x69" } , { "\xc4\xe8\xcd\xdc" , "\x5d\x69\x76" } , { "\xc4\xe8\xcd\xdd" , "\x5d\x69\x78" } , { "\xc4\xe8\xcd\xdd\xa2" , "\x5d\x69\x78\x7c" } , { "\xc4\xe8\xcd\xde" , "\x5d\x69\x79" } , { "\xc4\xe8\xcd\xdf" , "\x75\x5d\x68\xae" } , { "\xc4\xe8\xcd\xe0" , "\x5d\x69\x7e" } , { "\xc4\xe8\xcd\xe1" , "\x5d\x69\x7e" } , { "\xc4\xe8\xcd\xe1\xa2" , "\x5d\x69\xa2" } , { "\xc4\xe8\xcd\xe2" , "\x5d\x69\xa4" } , { "\xc4\xe8\xcd\xe4" , "\x5d\x69\xa8" } , { "\xc4\xe8\xcd\xe5" , "\x5d\x69\xa8" } , { "\xc4\xe8\xcd\xe5\xa2" , "\x5d\x69\xaa" } , { "\xc4\xe8\xcd\xe6" , "\x5d\x69\xac" } , { "\xc4\xe8\xcd\xe6\xa2" , "\x5d\x69\xac\x72" } , { "\xc4\xe8\xcd\xe8" , "\x5d\x68" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x5d\x68\x69" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x5d\x68\x69\x73" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\x5d\x68\x69\xa8" } , { "\xc4\xe8\xcd\xe8\xcf" , "\x5d\x68\xae" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\x5d\x68\xae\x7c" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\x5d\x68\xae\x73" } , { "\xc4\xe8\xcf" , "\x5e" } , { "\xc4\xe8\xcf\xa2" , "\x5e\x7c" } , { "\xc4\xe8\xcf\xa3" , "\x5e\x7c" } , { "\xc4\xe8\xcf\xd9" , "\x5e" } , { "\xc4\xe8\xcf\xda" , "\x5e\x73" } , { "\xc4\xe8\xcf\xda\xa2" , "\x5e\x74" } , { "\xc4\xe8\xcf\xdb" , "\x75\x5e" } , { "\xc4\xe8\xcf\xdb\xa2" , "\x75\x5e\x7c" } , { "\xc4\xe8\xcf\xdc" , "\x5e\x76" } , { "\xc4\xe8\xcf\xdd" , "\x5e\x7a" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x5e\x7a\x7c" } , { "\xc4\xe8\xcf\xde" , "\x5e\x7b" } , { "\xc4\xe8\xcf\xe0" , "\x5e\x7e" } , { "\xc4\xe8\xcf\xe0\xa2" , "\x5e\xa2" } , { "\xc4\xe8\xcf\xe1" , "\x5e\x7e" } , { "\xc4\xe8\xcf\xe2" , "\x5e\xa4" } , { "\xc4\xe8\xcf\xe4" , "\x5e\xa8" } , { "\xc4\xe8\xcf\xe5" , "\x5e\xa8" } , { "\xc4\xe8\xcf\xe5\xa2" , "\x5e\xaa" } , { "\xc4\xe8\xcf\xe6" , "\x5e\xac" } , { "\xc4\xe8\xcf\xe8" , "\x5d\x6a" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x5d\x6a\x5c\x7c" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x5d\x6a\x61\x73" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x5d\x6a\x69" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x5d\x6a\x69\x7c" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x5d\x6a\x69\x73" } , { "\xc4\xe8\xd1" , "\x5d\x6b" } , { "\xc4\xe8\xd1\xda\xa2" , "\x5d\x6b\x74" } , { "\xc4\xe8\xd1\xdb" , "\x75\x5d\x6b" } , { "\xc4\xe8\xd1\xdc" , "\x5d\x6b\x76" } , { "\xc4\xe8\xd1\xdd" , "\x5d\x6b\x78" } , { "\xc4\xe8\xd1\xde" , "\x5d\x6b\x79" } , { "\xc4\xe8\xd1\xe5" , "\x5d\x6b\xa8" } , { "\xc4\xe8\xd2" , "\x5d\x6b" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\x5d\x6b\xaf\x7e" } , { "\xc4\xe8\xd4" , "\x5d\xaf" } , { "\xc4\xe8\xd4\xa2" , "\x5d\xaf\x7c" } , { "\xc4\xe8\xd4\xda" , "\x5d\xaf\x73" } , { "\xc4\xe8\xd4\xda\xa2" , "\x5d\xaf\x74" } , { "\xc4\xe8\xd4\xdb" , "\x75\x5d\xaf" } , { "\xc4\xe8\xd4\xdc" , "\x5d\xaf\x76" } , { "\xc4\xe8\xd4\xdd" , "\x5d\xaf\x7a" } , { "\xc4\xe8\xd4\xde" , "\x5d\xaf\x7b" } , { "\xc4\xe8\xd4\xdf" , "\x75\x5d\x6d\xae" } , { "\xc4\xe8\xd4\xdf\xa2" , "\x75\x5d\x6d\xae\x7c" } , { "\xc4\xe8\xd4\xe1" , "\x5d\xaf\x7e" } , { "\xc4\xe8\xd4\xe2" , "\x5d\xaf\xa4" } , { "\xc4\xe8\xd4\xe5" , "\x5d\xaf\xa8" } , { "\xc4\xe8\xd4\xe5\xa2" , "\x5d\xaf\xaa" } , { "\xc4\xe8\xd4\xe6" , "\x5d\xaf\xac" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\x75\x5d\x6d\x59\x59" } , { "\xc4\xe8\xd4\xe8\xcd" , "\x5d\x6d\x69" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\x5d\x6d\x69\x7c" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\x5d\x6d\x69\x73" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\x75\x5d\x6d\x69" } , { "\xc4\xe8\xd5" , "\x5d\x6f" } , { "\xc4\xe8\xd5\xdb" , "\x75\x5d\x6f" } , { "\xc4\xe8\xd5\xe5" , "\x5d\x6f\xa8" } , { "\xc4\xe8\xd5\xe8\xcc" , "\x5d\x6f\x67" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x5d\x6f\x69" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\x5d\x6f\x69\xaa" } , { "\xc4\xe8\xd6" , "\x5d\x6f" } , { "\xc4\xe8\xd6\xda" , "\x5d\x6f\x73" } , { "\xc4\xe8\xd6\xdb" , "\x75\x5d\x6f" } , { "\xc4\xe8\xd6\xe8\xbd" , "\x5d\x6f\x53" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\x5d\x6f\x53\x74" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\x75\x5d\x6f\x53" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\x5d\x6f\x53\x76" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\x75\x5d\x6f\x54" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\x75\x5d\x6f\x59" } , { "\xc4\xe8\xd7" , "\x5d\x6e" } , { "\xc4\xe8\xd7\xda" , "\x5d\x6e\x73" } , { "\xc4\xe8\xd7\xdb" , "\x75\x5d\x6e" } , { "\xc4\xe8\xd8" , "\x5d\xad" } , { "\xc4\xe8\xd8\xda" , "\x5d\xad\x73" } , { "\xc4\xe8\xd8\xdb\xa2" , "\x75\x5d\xad\x7c" } , { "\xc4\xe8\xd8\xdd" , "\x5d\xad\x7a" } , { "\xc4\xe8\xd9\xa6" , "\x5d\x75\x42" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\x5d\x59\xaa" } , { "\xc4\xe8\xd9\xc4" , "\x5d\x5d" } , { "\xc4\xe8\xd9\xc4\xda" , "\x5d\x5d\x73" } , { "\xc4\xe8\xd9\xc4\xdc" , "\x5d\x5d\x76" } , { "\xc4\xe8\xd9\xc4\xdd" , "\x5d\x5d\x78" } , { "\xc4\xe8\xd9\xc4\xde" , "\x5d\x5d\x79" } , { "\xc4\xe8\xd9\xc4\xe1" , "\x5d\x5d\x7e" } , { "\xc4\xe8\xd9\xc4\xe6" , "\x5d\x5d\xac" } , { "\xc4\xe8\xd9\xc5" , "\x5d\x5f" } , { "\xc4\xe8\xd9\xc5\xda" , "\x5d\x5f\x73" } , { "\xc4\xe8\xd9\xc5\xde" , "\x5d\x5f\x79" } , { "\xc4\xe8\xd9\xc5\xdf" , "\x5d\x75\x5f\xae" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\x5d\x5f\xaa" } , { "\xc4\xe8\xd9\xcb\xda" , "\x5d\x65\x73" } , { "\xc4\xe8\xd9\xcb\xdd" , "\x5d\x65\x78" } , { "\xc4\xe8\xd9\xcb\xde" , "\x5d\x65\x79" } , { "\xc4\xe8\xd9\xcb\xdf" , "\x5d\x75\x66" } , { "\xc4\xe8\xd9\xcc\xdb" , "\x5d\x75\x67" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\x5d\x67\xa2" } , { "\xc4\xe8\xd9\xcd" , "\x5d\x68" } , { "\xc4\xe8\xd9\xcd\xda" , "\x5d\x68\x73" } , { "\xc4\xe8\xd9\xcd\xdd" , "\x5d\x68\x78" } , { "\xc4\xe8\xd9\xcd\xe5" , "\x5d\x68\xa8" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\x5d\x68\xaa" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\x5d\x6a\x5f" } , { "\xc4\xe8\xd9\xd4" , "\x5d\x6d" } , { "\xc4\xe8\xd9\xd4\xda" , "\x5d\x6d\x73" } , { "\xc4\xe8\xd9\xd4\xdb" , "\x5d\x75\x6d" } , { "\xc4\xe8\xd9\xd4\xe1" , "\x5d\x6d\x7e" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\x5d\x6d\x69" } , { "\xc4\xe8\xe8" , "\x5d" } , { "\xc4\xe8\xe9\xc4" , "\x5d\x5d" } , { "\xc4\xe8\xe9\xc5" , "\x5d\x5f" } , { "\xc4\xe8\xe9\xcd" , "\x5d\x69" } , { "\xc4\xe8\xe9\xcf" , "\x5e" } , { "\xc4\xe8\xe9\xd4" , "\x5d\xaf" } , { "\xc4\xe9" , "\x5d" } , { "\xc5" , "\x5f" } , { "\xc5\xa1" , "\x5f\x7c" } , { "\xc5\xa2" , "\x5f\x7c" } , { "\xc5\xa3" , "\x5f\x7c" } , { "\xc5\xd0" , "\x5f\x6a" } , { "\xc5\xd0\xdc" , "\x5f\x6a\x76" } , { "\xc5\xda" , "\x5f\x73" } , { "\xc5\xda\xa1" , "\x5f\x74" } , { "\xc5\xda\xa2" , "\x5f\x74" } , { "\xc5\xdb" , "\x75\x5f" } , { "\xc5\xdb\xa2" , "\x75\x5f\x7c" } , { "\xc5\xdb\xa3" , "\x75\x5f\x7c" } , { "\xc5\xdc" , "\x5f\x76" } , { "\xc5\xdc\xa2" , "\x5f\x77" } , { "\xc5\xdc\xa3" , "\x5f\x76\x7c" } , { "\xc5\xdd" , "\x5f\x78" } , { "\xc5\xdd\xa1" , "\x5f\x78\x7c" } , { "\xc5\xdd\xa2" , "\x5f\x78\x7c" } , { "\xc5\xdd\xa3" , "\x5f\x78\x7c" } , { "\xc5\xde" , "\x5f\x79" } , { "\xc5\xde\xa1" , "\x5f\x79\x7c" } , { "\xc5\xde\xa2" , "\x5f\x79\x7c" } , { "\xc5\xdf" , "\x75\x5f\xae" } , { "\xc5\xe0" , "\x5f\x7e" } , { "\xc5\xe0\xa2" , "\x5f\xa2" } , { "\xc5\xe1" , "\x5f\x7e" } , { "\xc5\xe1\xa2" , "\x5f\xa2" } , { "\xc5\xe2" , "\x5f\xa4" } , { "\xc5\xe4" , "\x5f\xa8" } , { "\xc5\xe5" , "\x5f\xa8" } , { "\xc5\xe5\xa2" , "\x5f\xaa" } , { "\xc5\xe5\xa3" , "\x5f\xa8\x7c" } , { "\xc5\xe6" , "\x5f\xac" } , { "\xc5\xe6\xa2" , "\x5f\xac\x72" } , { "\xc5\xe8" , "\x5f" } , { "\xc5\xe8\xb3\xda" , "\x5f\x45\x73" } , { "\xc5\xe8\xb3\xdd" , "\x5f\x45\x78" } , { "\xc5\xe8\xb3\xe5" , "\x5f\x45\xa8" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x5f\x45\x6f" } , { "\xc5\xe8\xb5" , "\x5f\x49" } , { "\xc5\xe8\xb8" , "\x5f\x4d" } , { "\xc5\xe8\xb8\xda" , "\x5f\x4d\x73" } , { "\xc5\xe8\xbf\xe9\xda" , "\x5f\x5b\x73" } , { "\xc5\xe8\xc1\xda" , "\x5f\x58\x73" } , { "\xc5\xe8\xc1\xdb" , "\x75\x5f\x58" } , { "\xc5\xe8\xc2" , "\x5f\x59" } , { "\xc5\xe8\xc2\xda" , "\x5f\x59\x73" } , { "\xc5\xe8\xc4" , "\x5f\x5d" } , { "\xc5\xe8\xc4\xda" , "\x5f\x5d\x73" } , { "\xc5\xe8\xc4\xda\xa2" , "\x5f\x5d\x74" } , { "\xc5\xe8\xc4\xdb" , "\x75\x5f\x5d" } , { "\xc5\xe8\xc4\xdd" , "\x5f\x5d\x78" } , { "\xc5\xe8\xc4\xde" , "\x5f\x5d\x79" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x5f\x5d\xa2" } , { "\xc5\xe8\xc4\xe5" , "\x5f\x5d\xa8" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x5f\x5d\xaa" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x5f\x5d\x5d" } , { "\xc5\xe8\xc5" , "\x5f\x5f" } , { "\xc5\xe8\xc5\xa2" , "\x5f\x5f\x7c" } , { "\xc5\xe8\xc5\xda" , "\x5f\x5f\x73" } , { "\xc5\xe8\xc5\xda\xa2" , "\x5f\x5f\x74" } , { "\xc5\xe8\xc5\xdb" , "\x75\x5f\x5f" } , { "\xc5\xe8\xc5\xdb\xa2" , "\x75\x5f\x5f\x7c" } , { "\xc5\xe8\xc5\xdd" , "\x5f\x5f\x78" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x5f\x5f\x69" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x5f\x5f\x69\x73" } , { "\xc5\xe8\xc6" , "\x5f\x60" } , { "\xc5\xe8\xc6\xda" , "\x5f\x60\x73" } , { "\xc5\xe8\xc6\xdd" , "\x5f\x60\x78" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x5f\x60\x69\x73" } , { "\xc5\xe8\xc8\xdd" , "\x5f\x61\x78" } , { "\xc5\xe8\xc8\xde" , "\x5f\x61\x79" } , { "\xc5\xe8\xca\xdd" , "\x5f\x64\x78" } , { "\xc5\xe8\xca\xe6" , "\x5f\x64\xac" } , { "\xc5\xe8\xcb\xdd" , "\x5f\x65\x78" } , { "\xc5\xe8\xcc" , "\x5f\x67" } , { "\xc5\xe8\xcc\xda" , "\x5f\x67\x73" } , { "\xc5\xe8\xcc\xdd" , "\x5f\x67\x78" } , { "\xc5\xe8\xcd" , "\x5f\x69" } , { "\xc5\xe8\xcd\xa2" , "\x5f\x69\x7c" } , { "\xc5\xe8\xcd\xa3" , "\x5f\x69\x7c" } , { "\xc5\xe8\xcd\xda" , "\x5f\x69\x73" } , { "\xc5\xe8\xcd\xda\xa2" , "\x5f\x69\x74" } , { "\xc5\xe8\xcd\xda\xa3" , "\x5f\x69\x73\x7c" } , { "\xc5\xe8\xcd\xdb" , "\x75\x5f\x69" } , { "\xc5\xe8\xcd\xdc" , "\x5f\x69\x76" } , { "\xc5\xe8\xcd\xdd" , "\x5f\x69\x78" } , { "\xc5\xe8\xcd\xde" , "\x5f\x69\x79" } , { "\xc5\xe8\xcd\xe1" , "\x5f\x69\x7e" } , { "\xc5\xe8\xcd\xe2" , "\x5f\x69\xa4" } , { "\xc5\xe8\xcd\xe5" , "\x5f\x69\xa8" } , { "\xc5\xe8\xcd\xe5\xa2" , "\x5f\x69\xaa" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x5f\x68\x59" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x5f\x68\x69" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x5f\x68\x69\x73" } , { "\xc5\xe8\xcf" , "\x5f\xae" } , { "\xc5\xe8\xcf\xa2" , "\x5f\xae\x7c" } , { "\xc5\xe8\xcf\xda" , "\x5f\xae\x73" } , { "\xc5\xe8\xcf\xda\xa2" , "\x5f\xae\x74" } , { "\xc5\xe8\xcf\xdb" , "\x75\x5f\xae" } , { "\xc5\xe8\xcf\xdc" , "\x5f\xae\x76" } , { "\xc5\xe8\xcf\xdd" , "\x5f\xae\x7a" } , { "\xc5\xe8\xcf\xde" , "\x5f\xae\x7b" } , { "\xc5\xe8\xcf\xdf" , "\x75\x5f\x6a\xae" } , { "\xc5\xe8\xcf\xe1" , "\x5f\xae\x7e" } , { "\xc5\xe8\xcf\xe5" , "\x5f\xae\xa8" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\x5f\x6a\x67\xa8" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x5f\x6a\x69" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x5f\x6a\x69\x73" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x5f\x6a\x69\x79" } , { "\xc5\xe8\xcf\xe8\xd4" , "\x5f\x6a\xaf" } , { "\xc5\xe8\xd1\xdd" , "\x5f\x6b\x78" } , { "\xc5\xe8\xd1\xe5" , "\x5f\x6b\xa8" } , { "\xc5\xe8\xd2" , "\x5f\x6b" } , { "\xc5\xe8\xd4" , "\x5f\xaf" } , { "\xc5\xe8\xd4\xa2" , "\x5f\xaf\x7c" } , { "\xc5\xe8\xd4\xda" , "\x5f\xaf\x73" } , { "\xc5\xe8\xd4\xdb" , "\x75\x5f\xaf" } , { "\xc5\xe8\xd4\xdb\xa2" , "\x75\x5f\xaf\x7c" } , { "\xc5\xe8\xd4\xdc" , "\x5f\xaf\x76" } , { "\xc5\xe8\xd4\xdd" , "\x5f\xaf\x7a" } , { "\xc5\xe8\xd4\xe1" , "\x5f\xaf\x7e" } , { "\xc5\xe8\xd4\xe2" , "\x5f\xaf\xa4" } , { "\xc5\xe8\xd5\xda" , "\x5f\x6f\x73" } , { "\xc5\xe8\xd6\xda" , "\x5f\x6f\x73" } , { "\xc5\xe8\xd6\xdb" , "\x75\x5f\x6f" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x5f\x6f\x53" } , { "\xc5\xe8\xd7" , "\x5f\x6e" } , { "\xc5\xe8\xd7\xe1" , "\x5f\x6e\x7e" } , { "\xc5\xe8\xd7\xe8" , "\x5f\x6e" } , { "\xc5\xe8\xd9\xcd" , "\x5f\x68" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\x5f\x6a\xaf" } , { "\xc5\xe8\xe8" , "\x5f" } , { "\xc5\xe9" , "\x5f" } , { "\xc6" , "\x60" } , { "\xc6\xa1" , "\x60\x7d" } , { "\xc6\xa2" , "\x60\x7d" } , { "\xc6\xa2\xa2" , "\x60\x7d\x7d" } , { "\xc6\xa3" , "\x60\x7d" } , { "\xc6\xda" , "\x60\x73" } , { "\xc6\xda\xa1" , "\x60\x74" } , { "\xc6\xda\xa2" , "\x60\x74" } , { "\xc6\xda\xa3" , "\x60\x73\x7d" } , { "\xc6\xdb" , "\x75\x60" } , { "\xc6\xdb\xa2" , "\x75\x60\x7c" } , { "\xc6\xdb\xa3" , "\x75\x60\x7c" } , { "\xc6\xdc" , "\x60\x76" } , { "\xc6\xdc\xa2" , "\x60\x77" } , { "\xc6\xdd" , "\x60\x78" } , { "\xc6\xdd\xa1" , "\x60\x78\x7d" } , { "\xc6\xdd\xa2" , "\x60\x78\x7d" } , { "\xc6\xdd\xa2\xa2" , "\x60\x78\x7d\x7d" } , { "\xc6\xdd\xa3" , "\x60\x78\x7d" } , { "\xc6\xde" , "\x60\x79" } , { "\xc6\xde\xa1" , "\x60\x79\x7d" } , { "\xc6\xde\xa2" , "\x60\x79\x7d" } , { "\xc6\xde\xd0\xe8" , "\x60\x79\x6a" } , { "\xc6\xdf" , "\x75\x60\xae" } , { "\xc6\xe0" , "\x60\x7e" } , { "\xc6\xe0\xa2" , "\x60\xa2" } , { "\xc6\xe1" , "\x60\xa1" } , { "\xc6\xe1\xa2" , "\x60\xa3" } , { "\xc6\xe2" , "\x60\xa5" } , { "\xc6\xe2\xa2" , "\x60\xa7" } , { "\xc6\xe2\xa3" , "\x60\xa5\x7c" } , { "\xc6\xe4" , "\x60\xa8" } , { "\xc6\xe4\xa2" , "\x60\xaa" } , { "\xc6\xe5" , "\x60\xa9" } , { "\xc6\xe5\xa2" , "\x60\xab" } , { "\xc6\xe5\xa3" , "\x60\xa9\x7c" } , { "\xc6\xe6" , "\x60\xac" } , { "\xc6\xe6\xa2" , "\x60\xac\x72" } , { "\xc6\xe7" , "\x60\xac" } , { "\xc6\xe8" , "\x60" } , { "\xc6\xe8\xb3" , "\x60\x45" } , { "\xc6\xe8\xb3\xa2" , "\x60\x45\x7d" } , { "\xc6\xe8\xb3\xda" , "\x60\x45\x73" } , { "\xc6\xe8\xb3\xda\xa2" , "\x60\x45\x74" } , { "\xc6\xe8\xb3\xdb" , "\x75\x60\x45" } , { "\xc6\xe8\xb3\xdc" , "\x60\x45\x76" } , { "\xc6\xe8\xb3\xdd" , "\x60\x45\x78" } , { "\xc6\xe8\xb3\xdd\xa2" , "\x60\x45\x78\x7d" } , { "\xc6\xe8\xb3\xde" , "\x60\x45\x79" } , { "\xc6\xe8\xb3\xdf" , "\x75\x60\x46" } , { "\xc6\xe8\xb3\xe0" , "\x60\x45\x7e" } , { "\xc6\xe8\xb3\xe1" , "\x60\x45\xa1" } , { "\xc6\xe8\xb3\xe2" , "\x60\x45\xa5" } , { "\xc6\xe8\xb3\xe2\xa2" , "\x60\x45\xa7" } , { "\xc6\xe8\xb3\xe4" , "\x60\x45\xa8" } , { "\xc6\xe8\xb3\xe5" , "\x60\x45\xa9" } , { "\xc6\xe8\xb3\xe5\xa2" , "\x60\x45\xab" } , { "\xc6\xe8\xb3\xe8" , "\x60\x45" } , { "\xc6\xe8\xb3\xe8\xb3" , "\x60\x45\x45" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\x75\x60\x45\x53" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x60\x45\x69\x78" } , { "\xc6\xe8\xb3\xe8\xcf" , "\x60\x46" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\x75\x60\x46" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\x60\x46\x76" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\x60\x46\xa9" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\x60\x45\x6b\x73" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\x60\x45\x6b\x78" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\x60\x45\x6b\x79" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\x60\x45\x6b\xa1" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\x60\x45\x6b\xa9" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\x60\x45\xaf\x73" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\x75\x60\x45\xaf" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\x60\x45\xaf\x7e" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x60\x45\x6f" } , { "\xc6\xe8\xb3\xe8\xd6" , "\x60\x45\x6f" } , { "\xc6\xe8\xb3\xe9" , "\x60\x45" } , { "\xc6\xe8\xb4" , "\x60\x47" } , { "\xc6\xe8\xb4\xda" , "\x60\x47\x73" } , { "\xc6\xe8\xb4\xdb" , "\x75\x60\x47" } , { "\xc6\xe8\xb5" , "\x60\x49" } , { "\xc6\xe8\xb5\xa2" , "\x60\x49\x7d" } , { "\xc6\xe8\xb5\xda" , "\x60\x49\x73" } , { "\xc6\xe8\xb5\xdb" , "\x75\x60\x49" } , { "\xc6\xe8\xb5\xdd" , "\x60\x49\x78" } , { "\xc6\xe8\xb5\xde" , "\x60\x49\x79" } , { "\xc6\xe8\xb5\xe0" , "\x60\x49\x7e" } , { "\xc6\xe8\xb5\xe4" , "\x60\x49\xa8" } , { "\xc6\xe8\xb5\xe4\xa2" , "\x60\x49\xaa" } , { "\xc6\xe8\xb5\xe5" , "\x60\x49\xa9" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x60\x49\x49\x73" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\x60\x49\xae\x73" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\x60\x49\xae\x76" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\x60\x49\xae\xa1" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\x60\x49\xae\xa9" } , { "\xc6\xe8\xb6" , "\x60\x4b" } , { "\xc6\xe8\xb6\xdc" , "\x60\x4b\x76" } , { "\xc6\xe8\xb6\xdd" , "\x60\x4b\x78" } , { "\xc6\xe8\xb8" , "\x60\x4d" } , { "\xc6\xe8\xb8\xa2" , "\x60\x4d\x7d" } , { "\xc6\xe8\xb8\xda" , "\x60\x4d\x73" } , { "\xc6\xe8\xb8\xdb" , "\x75\x60\x4d" } , { "\xc6\xe8\xb8\xdb\xa2" , "\x75\x60\x4d\x7c" } , { "\xc6\xe8\xb8\xdc" , "\x60\x4d\x76" } , { "\xc6\xe8\xb8\xdd" , "\x60\x4d\x78" } , { "\xc6\xe8\xb8\xde" , "\x60\x4d\x79" } , { "\xc6\xe8\xb8\xe0" , "\x60\x4d\x7e" } , { "\xc6\xe8\xb8\xe0\xa2" , "\x60\x4d\xa2" } , { "\xc6\xe8\xb8\xe1" , "\x60\x4d\xa1" } , { "\xc6\xe8\xb8\xe5" , "\x60\x4d\xa9" } , { "\xc6\xe8\xb8\xe5\xa2" , "\x60\x4d\xab" } , { "\xc6\xe8\xb8\xe8" , "\x60\x4d" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x60\x4d\x55" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\x60\x4d\xaf\x74" } , { "\xc6\xe8\xb9" , "\x60\x4e" } , { "\xc6\xe8\xb9\xda" , "\x60\x4e\x73" } , { "\xc6\xe8\xb9\xe0" , "\x60\x4e\x7e" } , { "\xc6\xe8\xba" , "\x60\x4f" } , { "\xc6\xe8\xba\xa2" , "\x60\x4f\x7d" } , { "\xc6\xe8\xba\xda" , "\x60\x4f\x73" } , { "\xc6\xe8\xba\xdb" , "\x75\x60\x4f" } , { "\xc6\xe8\xba\xdb\xa2" , "\x75\x60\x4f\x7c" } , { "\xc6\xe8\xba\xdc" , "\x60\x4f\x76" } , { "\xc6\xe8\xba\xde" , "\x60\x4f\x79" } , { "\xc6\xe8\xba\xe0" , "\x60\x4f\x7e" } , { "\xc6\xe8\xba\xe0\xa2" , "\x60\x4f\xa2" } , { "\xc6\xe8\xba\xe1" , "\x60\x4f\xa1" } , { "\xc6\xe8\xba\xe2" , "\x60\x4f\xa5" } , { "\xc6\xe8\xba\xe5" , "\x60\x4f\xa9" } , { "\xc6\xe8\xba\xe8" , "\x60\x4f" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\x60\x75\x49\x41\x73" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x60\x4f\x69\x79" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\x60\x4f\xaf\x73" } , { "\xc6\xe8\xba\xe9\xda" , "\x60\x50\x73" } , { "\xc6\xe8\xbc\xe8\xb8" , "\x60\x52\x4d" } , { "\xc6\xe8\xbd" , "\x60\x53" } , { "\xc6\xe8\xbd\xda" , "\x60\x53\x73" } , { "\xc6\xe8\xbd\xdb" , "\x75\x60\x53" } , { "\xc6\xe8\xbd\xdb\xa2" , "\x75\x60\x53\x7c" } , { "\xc6\xe8\xbd\xdc" , "\x60\x53\x76" } , { "\xc6\xe8\xbd\xdd" , "\x60\x53\x78" } , { "\xc6\xe8\xbd\xde" , "\x60\x53\x79" } , { "\xc6\xe8\xbd\xe0" , "\x60\x53\x7e" } , { "\xc6\xe8\xbd\xe1" , "\x60\x53\xa1" } , { "\xc6\xe8\xbd\xe1\xa2" , "\x60\x53\xa3" } , { "\xc6\xe8\xbd\xe2" , "\x60\x53\xa5" } , { "\xc6\xe8\xbd\xe2\xa2" , "\x60\x53\xa7" } , { "\xc6\xe8\xbd\xe5" , "\x60\x53\xa9" } , { "\xc6\xe8\xbd\xe5\xa2" , "\x60\x53\xab" } , { "\xc6\xe8\xbd\xe8" , "\x60\x53" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\x75\x60\x53\x60" } , { "\xc6\xe8\xbd\xe8\xcf" , "\x60\x53\xae" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\x60\x53\xae\x73" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\x75\x60\x53\xae" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\x60\x53\xae\x76" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\x60\x53\xae\x7b" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\x60\x53\xae\x7e" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\x60\x53\xae\xa1" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\x60\x53\xae\xa5" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\x60\x53\xae\xa9" } , { "\xc6\xe8\xbd\xe8\xd1" , "\x60\x53\x6b" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\x60\x53\x6b\x78" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\x60\x53\x6b\x79" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x60\x53\x6e" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\x75\x60\x53\x6e" } , { "\xc6\xe8\xbe" , "\x60\x54" } , { "\xc6\xe8\xbf" , "\x60\x55" } , { "\xc6\xe8\xbf\xa2" , "\x60\x55\x7d" } , { "\xc6\xe8\xbf\xda" , "\x60\x55\x73" } , { "\xc6\xe8\xbf\xdb" , "\x75\x60\x55" } , { "\xc6\xe8\xbf\xdb\xa2" , "\x75\x60\x55\x7c" } , { "\xc6\xe8\xbf\xdc" , "\x60\x55\x76" } , { "\xc6\xe8\xbf\xdd" , "\x60\x55\x78" } , { "\xc6\xe8\xbf\xe0" , "\x60\x55\x7e" } , { "\xc6\xe8\xbf\xe0\xa2" , "\x60\x55\xa2" } , { "\xc6\xe8\xbf\xe1" , "\x60\x55\xa1" } , { "\xc6\xe8\xbf\xe2" , "\x60\x55\xa5" } , { "\xc6\xe8\xbf\xe5" , "\x60\x55\xa9" } , { "\xc6\xe8\xbf\xe5\xa2" , "\x60\x55\xab" } , { "\xc6\xe8\xbf\xe8" , "\x60\x55" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x60\x55\x45\x73" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x60\x55\x49\x73" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\x60\x55\x64\x69\x73" } , { "\xc6\xe8\xbf\xe8\xcf" , "\x60\x56" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\x60\x56\x73" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\x75\x60\x56" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\x60\x56\x76" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\x60\x56\xa9" } , { "\xc6\xe8\xc0\xdb" , "\x75\x60\x57" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\x60\x58\x58\x79" } , { "\xc6\xe8\xc2" , "\x60\x59" } , { "\xc6\xe8\xc2\xa2" , "\x60\x59\x7d" } , { "\xc6\xe8\xc2\xa3" , "\x60\x59\x7d" } , { "\xc6\xe8\xc2\xda" , "\x60\x59\x73" } , { "\xc6\xe8\xc2\xdb" , "\x75\x60\x59" } , { "\xc6\xe8\xc2\xdc" , "\x60\x59\x76" } , { "\xc6\xe8\xc2\xdd" , "\x60\x59\x78" } , { "\xc6\xe8\xc2\xde" , "\x60\x59\x79" } , { "\xc6\xe8\xc2\xe0" , "\x60\x59\x7e" } , { "\xc6\xe8\xc2\xe1" , "\x60\x59\xa1" } , { "\xc6\xe8\xc2\xe5" , "\x60\x59\xa9" } , { "\xc6\xe8\xc2\xe5\xa2" , "\x60\x59\xab" } , { "\xc6\xe8\xc2\xe8" , "\x60\x59" } , { "\xc6\xe8\xc2\xe8\xc2" , "\x60\x59\x59" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\x60\x59\x61\x59" } , { "\xc6\xe8\xc2\xe8\xcd" , "\x60\x59\x69" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\x60\x59\x69\x73" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\x60\x59\x69\xa1" } , { "\xc6\xe8\xc2\xe8\xcf" , "\x60\x5a" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\x60\x5a\x73" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\x75\x60\x5a" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\x60\x5a\x76" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\x60\x5a\xa1" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\x60\x5a\xa9" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\x60\x5a\xab" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\x60\x59\x6a\x69" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\x60\x59\x6a\x69\xa9" } , { "\xc6\xe8\xc2\xe8\xd4" , "\x60\x59\xaf" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\x60\x59\x6e\x74" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\x60\x59\x6e\xa9" } , { "\xc6\xe8\xc3" , "\x60\x5c" } , { "\xc6\xe8\xc3\xda" , "\x60\x5c\x73" } , { "\xc6\xe8\xc3\xdb" , "\x75\x60\x5c" } , { "\xc6\xe8\xc3\xdc" , "\x60\x5c\x76" } , { "\xc6\xe8\xc3\xe1" , "\x60\x5c\xa1" } , { "\xc6\xe8\xc3\xe2" , "\x60\x5c\xa5" } , { "\xc6\xe8\xc3\xe5" , "\x60\x5c\xa9" } , { "\xc6\xe8\xc3\xe5\xa2" , "\x60\x5c\xab" } , { "\xc6\xe8\xc3\xe8" , "\x60\x5c" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\x60\x5c\xae\x74" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\x60\x5c\xae\xa1" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\x60\x5c\xae\xa5" } , { "\xc6\xe8\xc4" , "\x60\x5d" } , { "\xc6\xe8\xc4\xda" , "\x60\x5d\x73" } , { "\xc6\xe8\xc4\xda\xa2" , "\x60\x5d\x74" } , { "\xc6\xe8\xc4\xdb" , "\x75\x60\x5d" } , { "\xc6\xe8\xc4\xdc" , "\x60\x5d\x76" } , { "\xc6\xe8\xc4\xdc\xa2" , "\x60\x5d\x77" } , { "\xc6\xe8\xc4\xdd" , "\x60\x5d\x78" } , { "\xc6\xe8\xc4\xde" , "\x60\x5d\x79" } , { "\xc6\xe8\xc4\xde\xa2" , "\x60\x5d\x79\x7d" } , { "\xc6\xe8\xc4\xe0" , "\x60\x5d\x7e" } , { "\xc6\xe8\xc4\xe1" , "\x60\x5d\xa1" } , { "\xc6\xe8\xc4\xe1\xa2" , "\x60\x5d\xa3" } , { "\xc6\xe8\xc4\xe2" , "\x60\x5d\xa5" } , { "\xc6\xe8\xc4\xe4" , "\x60\x5d\xa8" } , { "\xc6\xe8\xc4\xe5" , "\x60\x5d\xa9" } , { "\xc6\xe8\xc4\xe5\xa2" , "\x60\x5d\xab" } , { "\xc6\xe8\xc4\xe6" , "\x60\x5d\xac" } , { "\xc6\xe8\xc4\xe8\xc5" , "\x60\x5d\x5f" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\x60\x5d\x5f\x73" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\x60\x5d\x5f\x76" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\x60\x5d\x60\x73" } , { "\xc6\xe8\xc4\xe8\xcd" , "\x60\x5d\x69" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\x60\x5d\x69\x78" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\x60\x5d\x69\xa9" } , { "\xc6\xe8\xc4\xe8\xcf" , "\x60\x5e" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\x60\x5e\x73" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\x60\x5e\x74" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\x75\x60\x5e" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\x60\x5e\x76" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\x60\x5e\x7b" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\x60\x5e\xa1" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\x60\x5e\xa9" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\x60\x5e\xab" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\x60\x5d\x6a\x69\x79" } , { "\xc6\xe8\xc4\xe8\xd4" , "\x60\x5d\xaf" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\x60\x5d\xaf\x73" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\x75\x60\x5d\xaf" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\x60\x5d\xaf\x76" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\x60\x5d\xaf\xa9" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\x60\x5d\xaf\xab" } , { "\xc6\xe8\xc5" , "\x60\x5f" } , { "\xc6\xe8\xc5\xda" , "\x60\x5f\x73" } , { "\xc6\xe8\xc5\xdb" , "\x75\x60\x5f" } , { "\xc6\xe8\xc5\xdc" , "\x60\x5f\x76" } , { "\xc6\xe8\xc5\xdd" , "\x60\x5f\x78" } , { "\xc6\xe8\xc5\xde" , "\x60\x5f\x79" } , { "\xc6\xe8\xc5\xe1" , "\x60\x5f\xa1" } , { "\xc6\xe8\xc5\xe5" , "\x60\x5f\xa9" } , { "\xc6\xe8\xc5\xe5\xa2" , "\x60\x5f\xab" } , { "\xc6\xe8\xc5\xe6" , "\x60\x5f\xac" } , { "\xc6\xe8\xc5\xe8\xcd" , "\x60\x5f\x69" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\x60\x5f\x69\x73" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\x60\x5f\x69\x76" } , { "\xc6\xe8\xc5\xe8\xcf" , "\x60\x5f\xae" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\x60\x5f\xae\x74" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\x60\x5f\xae\x76" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\x60\x5f\xae\xab" } , { "\xc6\xe8\xc6" , "\x60\x60" } , { "\xc6\xe8\xc6\xa2" , "\x60\x60\x7d" } , { "\xc6\xe8\xc6\xda" , "\x60\x60\x73" } , { "\xc6\xe8\xc6\xda\xa2" , "\x60\x60\x74" } , { "\xc6\xe8\xc6\xdb" , "\x75\x60\x60" } , { "\xc6\xe8\xc6\xdb\xa2" , "\x75\x60\x60\x7c" } , { "\xc6\xe8\xc6\xdb\xa3" , "\x75\x60\x60\x7c" } , { "\xc6\xe8\xc6\xdc" , "\x60\x60\x76" } , { "\xc6\xe8\xc6\xdc\xa2" , "\x60\x60\x77" } , { "\xc6\xe8\xc6\xdd" , "\x60\x60\x78" } , { "\xc6\xe8\xc6\xdd\xa2" , "\x60\x60\x78\x7d" } , { "\xc6\xe8\xc6\xde" , "\x60\x60\x79" } , { "\xc6\xe8\xc6\xdf" , "\x75\x60\x60\xae" } , { "\xc6\xe8\xc6\xe0" , "\x60\x60\x7e" } , { "\xc6\xe8\xc6\xe0\xa2" , "\x60\x60\xa2" } , { "\xc6\xe8\xc6\xe1" , "\x60\x60\xa1" } , { "\xc6\xe8\xc6\xe1\xa2" , "\x60\x60\xa3" } , { "\xc6\xe8\xc6\xe2" , "\x60\x60\xa5" } , { "\xc6\xe8\xc6\xe4" , "\x60\x60\xa8" } , { "\xc6\xe8\xc6\xe4\xa2" , "\x60\x60\xaa" } , { "\xc6\xe8\xc6\xe5" , "\x60\x60\xa9" } , { "\xc6\xe8\xc6\xe5\xa2" , "\x60\x60\xab" } , { "\xc6\xe8\xc6\xe6" , "\x60\x60\xac" } , { "\xc6\xe8\xc6\xe8" , "\x60\x60" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\x60\x60\x49\x73" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\x60\x60\x53\x6b\x78" } , { "\xc6\xe8\xc6\xe8\xc2" , "\x60\x60\x59" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\x60\x60\x5d\xa9" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\x60\x60\x5f\x69" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\x60\x60\x61\x78" } , { "\xc6\xe8\xc6\xe8\xc9" , "\x60\x60\x62" } , { "\xc6\xe8\xc6\xe8\xcc" , "\x60\x60\x67" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\x60\x60\x69\x73" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x60\x60\xae" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\x60\x60\xae\xa9" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\x60\x60\xaf\x73" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\x75\x60\x60\xaf\x7c" } , { "\xc6\xe8\xc8" , "\x60\x61" } , { "\xc6\xe8\xc8\xa2" , "\x60\x61\x7d" } , { "\xc6\xe8\xc8\xda" , "\x60\x61\x73" } , { "\xc6\xe8\xc8\xda\xa2" , "\x60\x61\x74" } , { "\xc6\xe8\xc8\xdb" , "\x75\x60\x61" } , { "\xc6\xe8\xc8\xdb\xa2" , "\x75\x60\x61\x7c" } , { "\xc6\xe8\xc8\xdc" , "\x60\x61\x76" } , { "\xc6\xe8\xc8\xdd" , "\x60\x61\x78" } , { "\xc6\xe8\xc8\xde" , "\x60\x61\x79" } , { "\xc6\xe8\xc8\xe0" , "\x60\x61\x7e" } , { "\xc6\xe8\xc8\xe1" , "\x60\x61\xa1" } , { "\xc6\xe8\xc8\xe2" , "\x60\x61\xa5" } , { "\xc6\xe8\xc8\xe4" , "\x60\x61\xa8" } , { "\xc6\xe8\xc8\xe5" , "\x60\x61\xa9" } , { "\xc6\xe8\xc8\xe6" , "\x60\x61\xac" } , { "\xc6\xe8\xc8\xe8\xc8" , "\x60\x61\x61" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\x60\x61\x69\x79" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\x75\x60\x61\x68\xae\x7c" } , { "\xc6\xe8\xc8\xe8\xcf" , "\x60\x61\xae" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\x60\x61\xae\x73" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\x60\x61\xae\x7e" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\x60\x61\x6b\x73" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\x60\x61\x6b\x76" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\x60\x61\x6b\x78" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\x60\x61\x6b\x79" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\x60\x61\x6b\xa1" } , { "\xc6\xe8\xc9" , "\x60\x62" } , { "\xc6\xe8\xc9\xda" , "\x60\x62\x73" } , { "\xc6\xe8\xc9\xda\xa2" , "\x60\x62\x74" } , { "\xc6\xe8\xc9\xdb" , "\x75\x60\x62" } , { "\xc6\xe8\xc9\xdc" , "\x60\x62\x76" } , { "\xc6\xe8\xc9\xdd" , "\x60\x62\x78" } , { "\xc6\xe8\xc9\xe0" , "\x60\x62\x7e" } , { "\xc6\xe8\xc9\xe0\xa2" , "\x60\x62\xa2" } , { "\xc6\xe8\xc9\xe1" , "\x60\x62\xa1" } , { "\xc6\xe8\xc9\xe1\xa2" , "\x60\x62\xa3" } , { "\xc6\xe8\xc9\xe4" , "\x60\x62\xa8" } , { "\xc6\xe8\xc9\xe5" , "\x60\x62\xa9" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x60\x62\x69\x79" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\x60\x62\xae\x73" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\x75\x60\x62\xae" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\x75\x60\x62\xae\x7c" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\x60\x62\xae\x76" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\x60\x62\xae\xa1" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\x60\x62\xae\xa3" } , { "\xc6\xe8\xc9\xe8\xd1" , "\x60\x62\x6b" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\x60\x62\x6b\x78" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\x60\x62\x6b\x78\x7d" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\x60\x62\x6b\x79" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\x60\x62\x6b\xa1" } , { "\xc6\xe8\xca" , "\x60\x64" } , { "\xc6\xe8\xca\xda" , "\x60\x64\x73" } , { "\xc6\xe8\xca\xda\xa2" , "\x60\x64\x74" } , { "\xc6\xe8\xca\xdd" , "\x60\x64\x78" } , { "\xc6\xe8\xca\xde" , "\x60\x64\x79" } , { "\xc6\xe8\xca\xe0" , "\x60\x64\x7e" } , { "\xc6\xe8\xca\xe1" , "\x60\x64\xa1" } , { "\xc6\xe8\xca\xe5" , "\x60\x64\xa9" } , { "\xc6\xe8\xca\xe5\xa2" , "\x60\x64\xab" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\x60\x64\xae\xa1" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\x60\x64\xae\xa9" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\x60\x64\x6b\xa1" } , { "\xc6\xe8\xcb\xda" , "\x60\x65\x73" } , { "\xc6\xe8\xcb\xde" , "\x60\x65\x79" } , { "\xc6\xe8\xcc" , "\x60\x67" } , { "\xc6\xe8\xcc\xa2" , "\x60\x67\x7d" } , { "\xc6\xe8\xcc\xa3" , "\x60\x67\x7d" } , { "\xc6\xe8\xcc\xda" , "\x60\x67\x73" } , { "\xc6\xe8\xcc\xda\xa2" , "\x60\x67\x74" } , { "\xc6\xe8\xcc\xdb" , "\x75\x60\x67" } , { "\xc6\xe8\xcc\xdb\xa2" , "\x75\x60\x67\x7c" } , { "\xc6\xe8\xcc\xdc" , "\x60\x67\x76" } , { "\xc6\xe8\xcc\xdd" , "\x60\x67\x78" } , { "\xc6\xe8\xcc\xdd\xa2" , "\x60\x67\x78\x7d" } , { "\xc6\xe8\xcc\xde" , "\x60\x67\x79" } , { "\xc6\xe8\xcc\xdf" , "\x75\x60\x67\xae" } , { "\xc6\xe8\xcc\xe0" , "\x60\x67\x7e" } , { "\xc6\xe8\xcc\xe0\xa2" , "\x60\x67\xa2" } , { "\xc6\xe8\xcc\xe1" , "\x60\x67\xa1" } , { "\xc6\xe8\xcc\xe1\xa2" , "\x60\x67\xa3" } , { "\xc6\xe8\xcc\xe2" , "\x60\x67\xa5" } , { "\xc6\xe8\xcc\xe4" , "\x60\x67\xa8" } , { "\xc6\xe8\xcc\xe5" , "\x60\x67\xa9" } , { "\xc6\xe8\xcc\xe5\xa2" , "\x60\x67\xab" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\x75\x60\x67\x67" } , { "\xc6\xe8\xcd" , "\x60\x69" } , { "\xc6\xe8\xcd\xa2" , "\x60\x69\x7d" } , { "\xc6\xe8\xcd\xa3" , "\x60\x69\x7d" } , { "\xc6\xe8\xcd\xda" , "\x60\x69\x73" } , { "\xc6\xe8\xcd\xda\xa2" , "\x60\x69\x74" } , { "\xc6\xe8\xcd\xda\xa3" , "\x60\x69\x73\x7d" } , { "\xc6\xe8\xcd\xdb" , "\x75\x60\x69" } , { "\xc6\xe8\xcd\xdc" , "\x60\x69\x76" } , { "\xc6\xe8\xcd\xdd" , "\x60\x69\x78" } , { "\xc6\xe8\xcd\xdd\xa2" , "\x60\x69\x78\x7d" } , { "\xc6\xe8\xcd\xde" , "\x60\x69\x79" } , { "\xc6\xe8\xcd\xde\xa2" , "\x60\x69\x79\x7d" } , { "\xc6\xe8\xcd\xe0" , "\x60\x69\x7e" } , { "\xc6\xe8\xcd\xe1" , "\x60\x69\xa1" } , { "\xc6\xe8\xcd\xe2" , "\x60\x69\xa5" } , { "\xc6\xe8\xcd\xe4" , "\x60\x69\xa8" } , { "\xc6\xe8\xcd\xe5" , "\x60\x69\xa9" } , { "\xc6\xe8\xcd\xe5\xa2" , "\x60\x69\xab" } , { "\xc6\xe8\xcd\xe6" , "\x60\x69\xac" } , { "\xc6\xe8\xcd\xe7" , "\x60\x69\xac" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x60\x68\x69" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x60\x68\x69\x73" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x60\x68\x69\x79" } , { "\xc6\xe8\xcf" , "\x60\xae" } , { "\xc6\xe8\xcf\xa2" , "\x60\xae\x7d" } , { "\xc6\xe8\xcf\xda" , "\x60\xae\x73" } , { "\xc6\xe8\xcf\xdb" , "\x75\x60\xae" } , { "\xc6\xe8\xcf\xdc" , "\x60\xae\x76" } , { "\xc6\xe8\xcf\xdd" , "\x60\xae\x7a" } , { "\xc6\xe8\xcf\xde" , "\x60\xae\x7b" } , { "\xc6\xe8\xcf\xe0" , "\x60\xae\x7e" } , { "\xc6\xe8\xcf\xe0\xa2" , "\x60\xae\xa2" } , { "\xc6\xe8\xcf\xe2" , "\x60\xae\xa5" } , { "\xc6\xe8\xcf\xe5" , "\x60\xae\xa9" } , { "\xc6\xe8\xcf\xe8" , "\x60\x6a" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\x75\x60\x6a\x55" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x60\x6a\x59" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\x60\x6a\x5d\xaf" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x60\x6a\x6e\x73" } , { "\xc6\xe8\xd0" , "\x60\x6a" } , { "\xc6\xe8\xd0\xcc\xe8" , "\x60\x6a\x67" } , { "\xc6\xe8\xd0\xdb" , "\x75\x60\x6a" } , { "\xc6\xe8\xd0\xdd" , "\x60\x6a\x78" } , { "\xc6\xe8\xd1" , "\x60\x6b" } , { "\xc6\xe8\xd1\xa2" , "\x60\x6b\x7d" } , { "\xc6\xe8\xd1\xda" , "\x60\x6b\x73" } , { "\xc6\xe8\xd1\xda\xa2" , "\x60\x6b\x74" } , { "\xc6\xe8\xd1\xdb" , "\x75\x60\x6b" } , { "\xc6\xe8\xd1\xdc" , "\x60\x6b\x76" } , { "\xc6\xe8\xd1\xdd" , "\x60\x6b\x78" } , { "\xc6\xe8\xd1\xdd\xa2" , "\x60\x6b\x78\x7d" } , { "\xc6\xe8\xd1\xde" , "\x60\x6b\x79" } , { "\xc6\xe8\xd1\xe0" , "\x60\x6b\x7e" } , { "\xc6\xe8\xd1\xe0\xa2" , "\x60\x6b\xa2" } , { "\xc6\xe8\xd1\xe1" , "\x60\x6b\xa1" } , { "\xc6\xe8\xd1\xe1\xa2" , "\x60\x6b\xa3" } , { "\xc6\xe8\xd1\xe2" , "\x60\x6b\xa5" } , { "\xc6\xe8\xd1\xe4" , "\x60\x6b\xa8" } , { "\xc6\xe8\xd1\xe4\xa2" , "\x60\x6b\xaa" } , { "\xc6\xe8\xd1\xe5" , "\x60\x6b\xa9" } , { "\xc6\xe8\xd1\xe5\xa2" , "\x60\x6b\xab" } , { "\xc6\xe8\xd1\xe8" , "\x60\x6b" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x60\x6b\x69\x74" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x60\x6b\x69\x79" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x60\x6b\x6e\xa1" } , { "\xc6\xe8\xd2" , "\x60\x6b" } , { "\xc6\xe8\xd4" , "\x60\xaf" } , { "\xc6\xe8\xd4\xa2" , "\x60\xaf\x7d" } , { "\xc6\xe8\xd4\xda" , "\x60\xaf\x73" } , { "\xc6\xe8\xd4\xdb" , "\x75\x60\xaf" } , { "\xc6\xe8\xd4\xdc" , "\x60\xaf\x76" } , { "\xc6\xe8\xd4\xdd" , "\x60\xaf\x7a" } , { "\xc6\xe8\xd4\xdd\xa2" , "\x60\xaf\x7a\x7d" } , { "\xc6\xe8\xd4\xde" , "\x60\xaf\x7b" } , { "\xc6\xe8\xd4\xe0" , "\x60\xaf\x7e" } , { "\xc6\xe8\xd4\xe0\xa2" , "\x60\xaf\xa2" } , { "\xc6\xe8\xd4\xe1" , "\x60\xaf\xa1" } , { "\xc6\xe8\xd4\xe1\xa2" , "\x60\xaf\xa3" } , { "\xc6\xe8\xd4\xe2" , "\x60\xaf\xa5" } , { "\xc6\xe8\xd4\xe5" , "\x60\xaf\xa9" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\x60\x6d\x69\x73" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\x60\x6d\xae\x76" } , { "\xc6\xe8\xd5" , "\x60\x6f" } , { "\xc6\xe8\xd5\xa2" , "\x60\x6f\x7d" } , { "\xc6\xe8\xd5\xda" , "\x60\x6f\x73" } , { "\xc6\xe8\xd5\xdb" , "\x75\x60\x6f" } , { "\xc6\xe8\xd5\xdc" , "\x60\x6f\x76" } , { "\xc6\xe8\xd6" , "\x60\x6f" } , { "\xc6\xe8\xd6\xda" , "\x60\x6f\x73" } , { "\xc6\xe8\xd6\xdb" , "\x75\x60\x6f" } , { "\xc6\xe8\xd6\xdc" , "\x60\x6f\x76" } , { "\xc6\xe8\xd6\xdd" , "\x60\x6f\x78" } , { "\xc6\xe8\xd6\xde" , "\x60\x6f\x79" } , { "\xc6\xe8\xd6\xe0" , "\x60\x6f\x7e" } , { "\xc6\xe8\xd6\xe2" , "\x60\x6f\xa5" } , { "\xc6\xe8\xd6\xe8\xbd" , "\x60\x6f\x53" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\x60\x6f\x53\xa1" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\x60\x6f\x53\xae" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x60\x6f\x69\x79" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\x60\x6f\xaf\x76" } , { "\xc6\xe8\xd7" , "\x60\x6e" } , { "\xc6\xe8\xd7\xa2" , "\x60\x6e\x7d" } , { "\xc6\xe8\xd7\xda" , "\x60\x6e\x73" } , { "\xc6\xe8\xd7\xda\xa2" , "\x60\x6e\x74" } , { "\xc6\xe8\xd7\xdb" , "\x75\x60\x6e" } , { "\xc6\xe8\xd7\xdb\xa2" , "\x75\x60\x6e\x7c" } , { "\xc6\xe8\xd7\xdc" , "\x60\x6e\x76" } , { "\xc6\xe8\xd7\xdc\xa2" , "\x60\x6e\x77" } , { "\xc6\xe8\xd7\xdd" , "\x60\x6e\x78" } , { "\xc6\xe8\xd7\xdd\xa2" , "\x60\x6e\x78\x7d" } , { "\xc6\xe8\xd7\xde" , "\x60\x6e\x79" } , { "\xc6\xe8\xd7\xe0" , "\x60\x6e\x7e" } , { "\xc6\xe8\xd7\xe0\xa2" , "\x60\x6e\xa2" } , { "\xc6\xe8\xd7\xe1" , "\x60\x6e\xa1" } , { "\xc6\xe8\xd7\xe1\xa2" , "\x60\x6e\xa3" } , { "\xc6\xe8\xd7\xe2" , "\x60\x6e\xa5" } , { "\xc6\xe8\xd7\xe5" , "\x60\x6e\xa9" } , { "\xc6\xe8\xd7\xe5\xa2" , "\x60\x6e\xab" } , { "\xc6\xe8\xd7\xe8" , "\x60\x6e" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\x60\x6e\x45\x73" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\x75\x60\x6e\x45" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\x60\x6e\x45\x76" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\x60\x6e\x45\x78" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\x60\x6e\x45\x79" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\x60\x6e\x45\x7e" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\x60\x6e\x45\xa1" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\x60\x6e\x45\xa9" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\x60\x6e\x45" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\x60\x6e\x45\x69\x78" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x75\x60\x6e\x46" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\x60\x6e\x46\xa1" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\x60\x6e\x45\xaf" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x60\x6e\x49\x73" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x60\x6e\x4d\xa9" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x60\x6e\x4f\x73" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x60\x6e\x4f\xa1" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x60\x6e\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x60\x6e\x53\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x60\x6e\x53\x74" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\x75\x60\x6e\x53" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x60\x6e\x53\x76" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x60\x6e\x53\x78" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x60\x6e\x53\x79" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\x60\x6e\x53\x7e" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\x60\x6e\x53\xa2" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x60\x6e\x53\xa1" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x60\x6e\x53\xa5" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x60\x6e\x53\xa9" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\x60\x6e\x53\x45" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\x60\x6e\x53\x69\x74" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\x60\x6e\x53\x69\x79" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\x60\x6e\x53\xae" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x75\x60\x6e\x53\xae" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\x60\x6e\x53\xae\x7a" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x60\x6e\x53\xae\x7b" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\x60\x6e\x53\xae\xa1" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x60\x6e\x53\xae\xa5" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\x75\x60\x6e\x55" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x60\x6e\x55\x49\x73" } , { "\xc6\xe8\xd7\xe8\xc2" , "\x60\x6e\x59" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\x60\x6e\x59\xa9" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\x60\x6e\x5c\x73" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\x75\x60\x6e\x5c" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x60\x6e\x5d\xaf\x73" } , { "\xc6\xe8\xd7\xe8\xc6" , "\x60\x6e\x60" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\x75\x60\x6e\x60" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\x60\x6e\x60\x78" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\x60\x6e\x60\x78\x7d" } , { "\xc6\xe8\xd7\xe8\xc8" , "\x60\x6e\x61" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\x60\x6e\x61\x73" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\x75\x60\x6e\x61" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\x60\x6e\x61\x76" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\x60\x6e\x61\x78" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\x60\x6e\x61\x7e" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\x60\x6e\x61\xa1" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\x60\x6e\x61\xa5" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\x60\x6e\x61\xa9" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x60\x6e\x61\x6b\x73" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x60\x6e\x61\x6b\x74" } , { "\xc6\xe8\xd7\xe8\xc9" , "\x60\x6e\x62" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\x60\x6e\x62\x73" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\x75\x60\x6e\x62" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\x60\x6e\x62\x7e" } , { "\xc6\xe8\xd7\xe8\xca" , "\x60\x6e\x64" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\x60\x6e\x64\xa1" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\x60\x6e\x64\xae\x74" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\x75\x60\x6e\x67" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\x60\x6e\x67\x76" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\x60\x6e\x67\xa2" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\x75\x60\x6e\x67\x53\x7c" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x60\x6e\x69\x78" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x60\x6e\x69\x79" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\x60\x6e\xae\x73" } , { "\xc6\xe8\xd7\xe8\xd1" , "\x60\x6e\x6b" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\x60\x6e\x6b\x73" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\x60\x6e\x6b\x74" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\x75\x60\x6e\x6b" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\x60\x6e\x6b\x78" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\x60\x6e\x6b\x7e" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\x60\x6e\x6b\xa1" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\x60\x6e\x6b\xa9" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\x60\x6e\x6b\xab" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\x60\x6e\x6b" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\x60\x6e\x6b\x69\x74" } , { "\xc6\xe8\xd7\xe8\xd4" , "\x60\x6e\xaf" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\x60\x6e\xaf\x73" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\x75\x60\x6e\xaf" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\x75\x60\x6e\xaf\x7c" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\x60\x6e\xaf\x7e" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\x60\x6e\xaf\xa1" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x60\x6e\xaf\xa5" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x60\x6e\x6e" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x60\x6e\x6e" } , { "\xc6\xe8\xd8" , "\x60\xad" } , { "\xc6\xe8\xd8\xa2" , "\x60\xad\x7d" } , { "\xc6\xe8\xd8\xda" , "\x60\xad\x73" } , { "\xc6\xe8\xd8\xda\xa1" , "\x60\xad\x74" } , { "\xc6\xe8\xd8\xda\xa2" , "\x60\xad\x74" } , { "\xc6\xe8\xd8\xdb" , "\x75\x60\xad" } , { "\xc6\xe8\xd8\xdb\xa2" , "\x75\x60\xad\x7c" } , { "\xc6\xe8\xd8\xdc" , "\x60\xad\x76" } , { "\xc6\xe8\xd8\xdc\xa2" , "\x60\xad\x77" } , { "\xc6\xe8\xd8\xdd\xa2" , "\x60\xad\x7a\x7d" } , { "\xc6\xe8\xd8\xe0" , "\x60\xad\x7e" } , { "\xc6\xe8\xd8\xe1" , "\x60\xad\xa1" } , { "\xc6\xe8\xd8\xe1\xa2" , "\x60\xad\xa3" } , { "\xc6\xe8\xd8\xe2" , "\x60\xad\xa5" } , { "\xc6\xe8\xd8\xe2\xa2" , "\x60\xad\xa7" } , { "\xc6\xe8\xd8\xe5" , "\x60\xad\xa9" } , { "\xc6\xe8\xd8\xe5\xa2" , "\x60\xad\xab" } , { "\xc6\xe8\xd8\xe6" , "\x60\xad\xac" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x60\x70\x69" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x60\x70\x69\x74" } , { "\xc6\xe8\xd9\xa6" , "\x60\x75\x42" } , { "\xc6\xe8\xd9\xc2" , "\x60\x59" } , { "\xc6\xe8\xd9\xc2\xdd" , "\x60\x59\x78" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\x60\x5a" } , { "\xc6\xe8\xd9\xc6" , "\x60\x60" } , { "\xc6\xe8\xd9\xc6\xda" , "\x60\x60\x73" } , { "\xc6\xe8\xd9\xc6\xdc" , "\x60\x60\x76" } , { "\xc6\xe8\xd9\xc6\xdd" , "\x60\x60\x78" } , { "\xc6\xe8\xd9\xc6\xde" , "\x60\x60\x79" } , { "\xc6\xe8\xd9\xc6\xe1" , "\x60\x60\xa1" } , { "\xc6\xe8\xd9\xc6\xe5" , "\x60\x60\xa9" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\x60\x60\xab" } , { "\xc6\xe8\xd9\xc6\xe6" , "\x60\x60\xac" } , { "\xc6\xe8\xd9\xcc\xde" , "\x60\x67\x79" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\x60\x6a\x59" } , { "\xc6\xe8\xd9\xd7\xda" , "\x60\x6e\x73" } , { "\xc6\xe8\xd9\xd8" , "\x60\x70" } , { "\xc6\xe8\xe8" , "\x60" } , { "\xc6\xe8\xe9\xc6" , "\x60\x60" } , { "\xc6\xe8\xe9\xcf" , "\x60\xae" } , { "\xc6\xe9" , "\x60" } , { "\xc6\xe9\xe8\xbf" , "\x60\x55" } , { "\xc7" , "\x60" } , { "\xc7\xdb" , "\x75\x60" } , { "\xc8" , "\x61" } , { "\xc8\xa1" , "\x61\x7c" } , { "\xc8\xa2" , "\x61\x7c" } , { "\xc8\xa2\xa2" , "\x61\x7c\x7d" } , { "\xc8\xa3" , "\x61\x7c" } , { "\xc8\xd0" , "\x61\x6a" } , { "\xc8\xd0\xcc" , "\x61\x6a\x67" } , { "\xc8\xda" , "\x61\x73" } , { "\xc8\xda\xa1" , "\x61\x74" } , { "\xc8\xda\xa2" , "\x61\x74" } , { "\xc8\xda\xa3" , "\x61\x73\x7c" } , { "\xc8\xda\xd0\xe8" , "\x61\x73\x6a" } , { "\xc8\xdb" , "\x75\x61" } , { "\xc8\xdb\xa2" , "\x75\x61\x7c" } , { "\xc8\xdb\xa2\xa2" , "\x75\x61\x7c\x7d" } , { "\xc8\xdc" , "\x61\x76" } , { "\xc8\xdc\xa2" , "\x61\x77" } , { "\xc8\xdd" , "\x61\x78" } , { "\xc8\xdd\xa1" , "\x61\x78\x7c" } , { "\xc8\xdd\xa2" , "\x61\x78\x7c" } , { "\xc8\xdd\xa3" , "\x61\x78\x7c" } , { "\xc8\xde" , "\x61\x79" } , { "\xc8\xde\xa1" , "\x61\x79\x7c" } , { "\xc8\xde\xa2" , "\x61\x79\x7c" } , { "\xc8\xdf" , "\x75\x61\xae" } , { "\xc8\xe0" , "\x61\x7e" } , { "\xc8\xe0\xa2" , "\x61\xa2" } , { "\xc8\xe1" , "\x61\x7e" } , { "\xc8\xe1\xa1" , "\x61\xa2" } , { "\xc8\xe1\xa2" , "\x61\xa2" } , { "\xc8\xe2" , "\x61\xa4" } , { "\xc8\xe2\xa2" , "\x61\xa6" } , { "\xc8\xe2\xa3" , "\x61\xa4\x7c" } , { "\xc8\xe2\xcf\xe8" , "\x61\xa4\x6a" } , { "\xc8\xe4" , "\x61\xa8" } , { "\xc8\xe4\xa2" , "\x61\xaa" } , { "\xc8\xe4\xa3" , "\x61\xa8\x7c" } , { "\xc8\xe5" , "\x61\xa8" } , { "\xc8\xe5\xa2" , "\x61\xaa" } , { "\xc8\xe5\xa3" , "\x61\xa8\x7c" } , { "\xc8\xe6" , "\x61\xac" } , { "\xc8\xe6\xa2" , "\x61\xac\x72" } , { "\xc8\xe7" , "\x61\xac" } , { "\xc8\xe7\xa2" , "\x61\xac\x72" } , { "\xc8\xe8" , "\x61" } , { "\xc8\xe8\xb3" , "\x61\x45" } , { "\xc8\xe8\xb3\xa2" , "\x61\x45\x7c" } , { "\xc8\xe8\xb3\xda" , "\x61\x45\x73" } , { "\xc8\xe8\xb3\xdb" , "\x75\x61\x45" } , { "\xc8\xe8\xb3\xdb\xa2" , "\x75\x61\x45\x7c" } , { "\xc8\xe8\xb3\xdd" , "\x61\x45\x78" } , { "\xc8\xe8\xb3\xe1" , "\x61\x45\x7e" } , { "\xc8\xe8\xb3\xe4" , "\x61\x45\xa8" } , { "\xc8\xe8\xb3\xe5" , "\x61\x45\xa8" } , { "\xc8\xe8\xb3\xe8\xc2" , "\x61\x45\x59" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x61\x45\x6a\x6e" } , { "\xc8\xe8\xb5" , "\x61\x49" } , { "\xc8\xe8\xb5\xda" , "\x61\x49\x73" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\x61\x49\xae\x7e" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\x61\x49\xae\xac\x72" } , { "\xc8\xe8\xb6" , "\x61\x4b" } , { "\xc8\xe8\xb8" , "\x61\x4d" } , { "\xc8\xe8\xb8\xda" , "\x61\x4d\x73" } , { "\xc8\xe8\xb8\xdb" , "\x75\x61\x4d" } , { "\xc8\xe8\xb8\xdd" , "\x61\x4d\x78" } , { "\xc8\xe8\xb8\xde" , "\x61\x4d\x79" } , { "\xc8\xe8\xb8\xe0" , "\x61\x4d\x7e" } , { "\xc8\xe8\xb8\xe1" , "\x61\x4d\x7e" } , { "\xc8\xe8\xb8\xe8" , "\x61\x4d" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x61\x4d\x4e\x73" } , { "\xc8\xe8\xb9\xdd" , "\x61\x4e\x78" } , { "\xc8\xe8\xba" , "\x61\x4f" } , { "\xc8\xe8\xba\xda" , "\x61\x4f\x73" } , { "\xc8\xe8\xba\xdb" , "\x75\x61\x4f" } , { "\xc8\xe8\xba\xdd" , "\x61\x4f\x78" } , { "\xc8\xe8\xbd" , "\x61\x53" } , { "\xc8\xe8\xbd\xa2" , "\x61\x53\x7c" } , { "\xc8\xe8\xbd\xda" , "\x61\x53\x73" } , { "\xc8\xe8\xbd\xdb" , "\x75\x61\x53" } , { "\xc8\xe8\xbd\xdb\xa2" , "\x75\x61\x53\x7c" } , { "\xc8\xe8\xbd\xdc" , "\x61\x53\x76" } , { "\xc8\xe8\xbd\xdd" , "\x61\x53\x78" } , { "\xc8\xe8\xbd\xde" , "\x61\x53\x79" } , { "\xc8\xe8\xbd\xe0" , "\x61\x53\x7e" } , { "\xc8\xe8\xbd\xe0\xa2" , "\x61\x53\xa2" } , { "\xc8\xe8\xbd\xe1" , "\x61\x53\x7e" } , { "\xc8\xe8\xbd\xe2" , "\x61\x53\xa4" } , { "\xc8\xe8\xbd\xe4" , "\x61\x53\xa8" } , { "\xc8\xe8\xbd\xe5" , "\x61\x53\xa8" } , { "\xc8\xe8\xbd\xe6" , "\x61\x53\xac" } , { "\xc8\xe8\xbd\xe8" , "\x61\x53" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x61\x53\x45\x78" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x61\x53\x49\x73" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x61\x53\x4d\x7e" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x61\x53\x59\xa8" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\x61\x53\x64\x73" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x61\x53\x69\x79" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\x61\x53\xae\x73" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\x61\x53\xae\xa8" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\x61\x53\x6b\x78" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\x75\x61\x53\xaf" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x61\x53\xaf\x7e" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x61\x53\x6e" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x61\x53\x6e" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x61\x53\xad\x73" } , { "\xc8\xe8\xbf" , "\x61\x55" } , { "\xc8\xe8\xbf\xda" , "\x61\x55\x73" } , { "\xc8\xe8\xbf\xdb" , "\x75\x61\x55" } , { "\xc8\xe8\xbf\xdd" , "\x61\x55\x78" } , { "\xc8\xe8\xbf\xe0\xa2" , "\x61\x55\xa2" } , { "\xc8\xe8\xbf\xe1" , "\x61\x55\x7e" } , { "\xc8\xe8\xbf\xe8" , "\x61\x55" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\x61\x56\x73" } , { "\xc8\xe8\xc1" , "\x61\x58" } , { "\xc8\xe8\xc2" , "\x61\x59" } , { "\xc8\xe8\xc2\xa2" , "\x61\x59\x7c" } , { "\xc8\xe8\xc2\xda" , "\x61\x59\x73" } , { "\xc8\xe8\xc2\xda\xa2" , "\x61\x59\x74" } , { "\xc8\xe8\xc2\xdb" , "\x75\x61\x59" } , { "\xc8\xe8\xc2\xdb\xa2" , "\x75\x61\x59\x7c" } , { "\xc8\xe8\xc2\xdc" , "\x61\x59\x76" } , { "\xc8\xe8\xc2\xdd" , "\x61\x59\x78" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x61\x59\x78\x7c" } , { "\xc8\xe8\xc2\xde" , "\x61\x59\x79" } , { "\xc8\xe8\xc2\xde\xa2" , "\x61\x59\x79\x7c" } , { "\xc8\xe8\xc2\xe0" , "\x61\x59\x7e" } , { "\xc8\xe8\xc2\xe1" , "\x61\x59\x7e" } , { "\xc8\xe8\xc2\xe2\xa3" , "\x61\x59\xa4\x7c" } , { "\xc8\xe8\xc2\xe5" , "\x61\x59\xa8" } , { "\xc8\xe8\xc2\xe5\xa2" , "\x61\x59\xaa" } , { "\xc8\xe8\xc2\xe8" , "\x61\x59" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x61\x59\x69" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x61\x59\x69\x73" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x61\x5a" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\x61\x5a\x7e" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\x61\x5a\xa4" } , { "\xc8\xe8\xc3" , "\x61\x5c" } , { "\xc8\xe8\xc3\xdc" , "\x61\x5c\x76" } , { "\xc8\xe8\xc3\xe8" , "\x61\x5c" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x61\x5c\x45" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x61\x5c\x69\x73" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x61\x5c\xaf\x76" } , { "\xc8\xe8\xc4" , "\x61\x5d" } , { "\xc8\xe8\xc4\xda" , "\x61\x5d\x73" } , { "\xc8\xe8\xc4\xdc" , "\x61\x5d\x76" } , { "\xc8\xe8\xc4\xdd" , "\x61\x5d\x78" } , { "\xc8\xe8\xc4\xe1" , "\x61\x5d\x7e" } , { "\xc8\xe8\xc4\xe4" , "\x61\x5d\xa8" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\x75\x61\x5d\x5d" } , { "\xc8\xe8\xc5" , "\x61\x5f" } , { "\xc8\xe8\xc5\xda" , "\x61\x5f\x73" } , { "\xc8\xe8\xc5\xdd" , "\x61\x5f\x78" } , { "\xc8\xe8\xc6" , "\x61\x60" } , { "\xc8\xe8\xc6\xa2" , "\x61\x60\x7d" } , { "\xc8\xe8\xc6\xda" , "\x61\x60\x73" } , { "\xc8\xe8\xc6\xdb" , "\x75\x61\x60" } , { "\xc8\xe8\xc6\xdc" , "\x61\x60\x76" } , { "\xc8\xe8\xc6\xdd" , "\x61\x60\x78" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x61\x60\x78\x7d" } , { "\xc8\xe8\xc6\xe5" , "\x61\x60\xa9" } , { "\xc8\xe8\xc6\xe5\xa2" , "\x61\x60\xab" } , { "\xc8\xe8\xc7" , "\x61\x60" } , { "\xc8\xe8\xc8" , "\x61\x61" } , { "\xc8\xe8\xc8\xa2" , "\x61\x61\x7c" } , { "\xc8\xe8\xc8\xa2\xa2" , "\x61\x61\x7c\x7d" } , { "\xc8\xe8\xc8\xda" , "\x61\x61\x73" } , { "\xc8\xe8\xc8\xda\xa2" , "\x61\x61\x74" } , { "\xc8\xe8\xc8\xdb" , "\x75\x61\x61" } , { "\xc8\xe8\xc8\xdb\xa2" , "\x75\x61\x61\x7c" } , { "\xc8\xe8\xc8\xdc" , "\x61\x61\x76" } , { "\xc8\xe8\xc8\xdc\xa2" , "\x61\x61\x77" } , { "\xc8\xe8\xc8\xdd" , "\x61\x61\x78" } , { "\xc8\xe8\xc8\xdd\xa2" , "\x61\x61\x78\x7c" } , { "\xc8\xe8\xc8\xde" , "\x61\x61\x79" } , { "\xc8\xe8\xc8\xe0" , "\x61\x61\x7e" } , { "\xc8\xe8\xc8\xe0\xa2" , "\x61\x61\xa2" } , { "\xc8\xe8\xc8\xe1" , "\x61\x61\x7e" } , { "\xc8\xe8\xc8\xe1\xa2" , "\x61\x61\xa2" } , { "\xc8\xe8\xc8\xe2" , "\x61\x61\xa4" } , { "\xc8\xe8\xc8\xe2\xa2" , "\x61\x61\xa6" } , { "\xc8\xe8\xc8\xe4" , "\x61\x61\xa8" } , { "\xc8\xe8\xc8\xe4\xa2" , "\x61\x61\xaa" } , { "\xc8\xe8\xc8\xe5" , "\x61\x61\xa8" } , { "\xc8\xe8\xc8\xe5\xa2" , "\x61\x61\xaa" } , { "\xc8\xe8\xc8\xe6" , "\x61\x61\xac" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\x75\x61\x61\x55" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x61\x61\x61\x73" } , { "\xc8\xe8\xc8\xe8\xcc" , "\x61\x61\x67" } , { "\xc8\xe8\xc8\xe8\xcf" , "\x61\x61\xae" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x61\x61\x6e\x78" } , { "\xc8\xe8\xc9" , "\x61\x62" } , { "\xc8\xe8\xc9\xdb" , "\x75\x61\x62" } , { "\xc8\xe8\xc9\xdc" , "\x61\x62\x76" } , { "\xc8\xe8\xc9\xdd" , "\x61\x62\x78" } , { "\xc8\xe8\xc9\xe0" , "\x61\x62\x7e" } , { "\xc8\xe8\xc9\xe1" , "\x61\x62\x7e" } , { "\xc8\xe8\xc9\xe2" , "\x61\x62\xa4" } , { "\xc8\xe8\xca" , "\x61\x64" } , { "\xc8\xe8\xca\xda" , "\x61\x64\x73" } , { "\xc8\xe8\xca\xdb\xa2" , "\x75\x61\x64\x7c" } , { "\xc8\xe8\xca\xdd" , "\x61\x64\x78" } , { "\xc8\xe8\xca\xe0" , "\x61\x64\x7e" } , { "\xc8\xe8\xcb" , "\x61\x65" } , { "\xc8\xe8\xcc" , "\x61\x67" } , { "\xc8\xe8\xcc\xda" , "\x61\x67\x73" } , { "\xc8\xe8\xcc\xdb" , "\x75\x61\x67" } , { "\xc8\xe8\xcc\xdc" , "\x61\x67\x76" } , { "\xc8\xe8\xcc\xde" , "\x61\x67\x79" } , { "\xc8\xe8\xcc\xe0" , "\x61\x67\x7e" } , { "\xc8\xe8\xcc\xe0\xa2" , "\x61\x67\xa2" } , { "\xc8\xe8\xcc\xe5" , "\x61\x67\xa8" } , { "\xc8\xe8\xcd" , "\x61\x69" } , { "\xc8\xe8\xcd\xa2" , "\x61\x69\x7c" } , { "\xc8\xe8\xcd\xda" , "\x61\x69\x73" } , { "\xc8\xe8\xcd\xda\xa2" , "\x61\x69\x74" } , { "\xc8\xe8\xcd\xdb" , "\x75\x61\x69" } , { "\xc8\xe8\xcd\xdd" , "\x61\x69\x78" } , { "\xc8\xe8\xcd\xde" , "\x61\x69\x79" } , { "\xc8\xe8\xcd\xde\xa1" , "\x61\x69\x79\x7c" } , { "\xc8\xe8\xcd\xe1" , "\x61\x69\x7e" } , { "\xc8\xe8\xcd\xe4" , "\x61\x69\xa8" } , { "\xc8\xe8\xcd\xe5" , "\x61\x69\xa8" } , { "\xc8\xe8\xcf" , "\x61\xae" } , { "\xc8\xe8\xcf\xa2" , "\x61\xae\x7c" } , { "\xc8\xe8\xcf\xda" , "\x61\xae\x73" } , { "\xc8\xe8\xcf\xda\xa1" , "\x61\xae\x74" } , { "\xc8\xe8\xcf\xda\xa2" , "\x61\xae\x74" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\x61\xae\x74\x7d" } , { "\xc8\xe8\xcf\xdb" , "\x75\x61\xae" } , { "\xc8\xe8\xcf\xdb\xa2" , "\x75\x61\xae\x7c" } , { "\xc8\xe8\xcf\xdc" , "\x61\xae\x76" } , { "\xc8\xe8\xcf\xdc\xa2" , "\x61\xae\x77" } , { "\xc8\xe8\xcf\xdc\xa3" , "\x61\xae\x76\x7c" } , { "\xc8\xe8\xcf\xdd" , "\x61\xae\x7a" } , { "\xc8\xe8\xcf\xdd\xa2" , "\x61\xae\x7a\x7c" } , { "\xc8\xe8\xcf\xde" , "\x61\xae\x7b" } , { "\xc8\xe8\xcf\xde\xa2" , "\x61\xae\x7b\x7c" } , { "\xc8\xe8\xcf\xdf" , "\x75\x61\x6a\xae" } , { "\xc8\xe8\xcf\xe0" , "\x61\xae\x7e" } , { "\xc8\xe8\xcf\xe0\xa2" , "\x61\xae\xa2" } , { "\xc8\xe8\xcf\xe1" , "\x61\xae\x7e" } , { "\xc8\xe8\xcf\xe1\xa2" , "\x61\xae\xa2" } , { "\xc8\xe8\xcf\xe2" , "\x61\xae\xa4" } , { "\xc8\xe8\xcf\xe4" , "\x61\xae\xa8" } , { "\xc8\xe8\xcf\xe5" , "\x61\xae\xa8" } , { "\xc8\xe8\xcf\xe5\xa2" , "\x61\xae\xaa" } , { "\xc8\xe8\xcf\xe6" , "\x61\xae\xac" } , { "\xc8\xe8\xcf\xe7" , "\x61\xae\xac" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x61\x6a\x69" } , { "\xc8\xe8\xcf\xe8\xd1" , "\x61\x6a\x6b" } , { "\xc8\xe8\xd1" , "\x61\x6b" } , { "\xc8\xe8\xd1\xa2" , "\x61\x6b\x7c" } , { "\xc8\xe8\xd1\xda" , "\x61\x6b\x73" } , { "\xc8\xe8\xd1\xda\xa2" , "\x61\x6b\x74" } , { "\xc8\xe8\xd1\xdb" , "\x75\x61\x6b" } , { "\xc8\xe8\xd1\xdb\xa2" , "\x75\x61\x6b\x7c" } , { "\xc8\xe8\xd1\xdc" , "\x61\x6b\x76" } , { "\xc8\xe8\xd1\xdd" , "\x61\x6b\x78" } , { "\xc8\xe8\xd1\xde" , "\x61\x6b\x79" } , { "\xc8\xe8\xd1\xe0" , "\x61\x6b\x7e" } , { "\xc8\xe8\xd1\xe0\xa2" , "\x61\x6b\xa2" } , { "\xc8\xe8\xd1\xe1" , "\x61\x6b\x7e" } , { "\xc8\xe8\xd1\xe1\xa2" , "\x61\x6b\xa2" } , { "\xc8\xe8\xd1\xe2" , "\x61\x6b\xa4" } , { "\xc8\xe8\xd1\xe2\xa2" , "\x61\x6b\xa6" } , { "\xc8\xe8\xd1\xe4" , "\x61\x6b\xa8" } , { "\xc8\xe8\xd1\xe5" , "\x61\x6b\xa8" } , { "\xc8\xe8\xd1\xe7" , "\x61\x6b\xac" } , { "\xc8\xe8\xd1\xe8" , "\x61\x6b" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\x61\x6b\x61\x76" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x61\x6b\x69\x74" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x61\x6b\x69\x79" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x61\x6b\x6e\x74" } , { "\xc8\xe8\xd2\xdb" , "\x75\x61\x6b" } , { "\xc8\xe8\xd4" , "\x61\xaf" } , { "\xc8\xe8\xd4\xda" , "\x61\xaf\x73" } , { "\xc8\xe8\xd4\xda\xa1" , "\x61\xaf\x74" } , { "\xc8\xe8\xd4\xda\xa2" , "\x61\xaf\x74" } , { "\xc8\xe8\xd4\xdb" , "\x75\x61\xaf" } , { "\xc8\xe8\xd4\xdd" , "\x61\xaf\x7a" } , { "\xc8\xe8\xd4\xe2" , "\x61\xaf\xa4" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\x61\x6d\xae\x73" } , { "\xc8\xe8\xd5" , "\x61\x6f" } , { "\xc8\xe8\xd5\xa2" , "\x61\x6f\x7c" } , { "\xc8\xe8\xd6" , "\x61\x6f" } , { "\xc8\xe8\xd6\xdb" , "\x75\x61\x6f" } , { "\xc8\xe8\xd6\xe2" , "\x61\x6f\xa4" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x61\x6f\x4e" } , { "\xc8\xe8\xd6\xe8\xbd" , "\x61\x6f\x53" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\x75\x61\x6f\x53" } , { "\xc8\xe8\xd6\xe8\xbe" , "\x61\x6f\x54" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\x61\x6f\x54\xa9" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\x61\x6f\x54\xab" } , { "\xc8\xe8\xd7" , "\x61\x6e" } , { "\xc8\xe8\xd7\xa2" , "\x61\x6e\x7c" } , { "\xc8\xe8\xd7\xda" , "\x61\x6e\x73" } , { "\xc8\xe8\xd7\xdb" , "\x75\x61\x6e" } , { "\xc8\xe8\xd7\xdb\xa2" , "\x75\x61\x6e\x7c" } , { "\xc8\xe8\xd7\xdc" , "\x61\x6e\x76" } , { "\xc8\xe8\xd7\xdd" , "\x61\x6e\x78" } , { "\xc8\xe8\xd7\xde" , "\x61\x6e\x79" } , { "\xc8\xe8\xd7\xe0" , "\x61\x6e\x7e" } , { "\xc8\xe8\xd7\xe0\xa2" , "\x61\x6e\xa2" } , { "\xc8\xe8\xd7\xe1" , "\x61\x6e\x7e" } , { "\xc8\xe8\xd7\xe2" , "\x61\x6e\xa4" } , { "\xc8\xe8\xd7\xe5" , "\x61\x6e\xa8" } , { "\xc8\xe8\xd7\xe8" , "\x61\x6e" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\x61\x6e\x45\x78" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x61\x6e\x49\x73" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x61\x6e\x49\x7e" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x61\x6e\x53" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\x75\x61\x6e\x53" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x61\x6e\x53\x76" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x61\x6e\x53\xa8" } , { "\xc8\xe8\xd7\xe8\xc2" , "\x61\x6e\x59" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\x61\x6e\x59\x78" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\x61\x6e\x59\x78\x7c" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\x75\x61\x6e\x60" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\x61\x6e\x60\x78" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\x75\x61\x6e\x62" } , { "\xc8\xe8\xd7\xe8\xca" , "\x61\x6e\x64" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\x61\x6e\x67\x78\x7c" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x61\x6e\x69\x78" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x61\x6e\x69\x79" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\x61\x6e\x6b\xa8" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\x75\x61\x6e\x6e\x53" } , { "\xc8\xe8\xd8" , "\x61\xad" } , { "\xc8\xe8\xd8\xda\xa2" , "\x61\xad\x74" } , { "\xc8\xe8\xd8\xde" , "\x61\xad\x7b" } , { "\xc8\xe8\xd8\xe5" , "\x61\xad\xa8" } , { "\xc8\xe8\xd8\xe6" , "\x61\xad\xac" } , { "\xc8\xe8\xe8" , "\x61" } , { "\xc8\xe8\xe9\xcf" , "\x61\xae" } , { "\xc8\xe9" , "\x61" } , { "\xc9" , "\x62" } , { "\xc9\xa1" , "\x62\x7c" } , { "\xc9\xa2" , "\x62\x7c" } , { "\xc9\xa3" , "\x62\x7c" } , { "\xc9\xc4" , "\x62\x5d" } , { "\xc9\xca" , "\x62\x64" } , { "\xc9\xd0" , "\x62\x6a" } , { "\xc9\xda" , "\x62\x73" } , { "\xc9\xda\xa1" , "\x62\x74" } , { "\xc9\xda\xa2" , "\x62\x74" } , { "\xc9\xdb" , "\x75\x62" } , { "\xc9\xdb\xa2" , "\x75\x62\x7c" } , { "\xc9\xdc" , "\x62\x76" } , { "\xc9\xdc\xa1" , "\x62\x77" } , { "\xc9\xdc\xa2" , "\x62\x77" } , { "\xc9\xdd" , "\x62\x78" } , { "\xc9\xdd\xa1" , "\x62\x78\x7c" } , { "\xc9\xdd\xa2" , "\x62\x78\x7c" } , { "\xc9\xde" , "\x62\x79" } , { "\xc9\xde\xa1" , "\x62\x79\x7c" } , { "\xc9\xde\xa2" , "\x62\x79\x7c" } , { "\xc9\xdf" , "\x75\x62\xae" } , { "\xc9\xe0" , "\x62\x7e" } , { "\xc9\xe0\xa2" , "\x62\xa2" } , { "\xc9\xe1" , "\x62\x7e" } , { "\xc9\xe1\xa2" , "\x62\xa2" } , { "\xc9\xe2" , "\x62\xa4" } , { "\xc9\xe2\xa2" , "\x62\xa6" } , { "\xc9\xe4" , "\x62\xa8" } , { "\xc9\xe4\xa2" , "\x62\xaa" } , { "\xc9\xe5" , "\x62\xa8" } , { "\xc9\xe5\xa2" , "\x62\xaa" } , { "\xc9\xe6" , "\x62\xac" } , { "\xc9\xe6\xa2" , "\x62\xac\x72" } , { "\xc9\xe7" , "\x62\xac" } , { "\xc9\xe7\xa2" , "\x62\xac\x72" } , { "\xc9\xe8" , "\x62" } , { "\xc9\xe8\xb3\xda" , "\x62\x45\x73" } , { "\xc9\xe8\xb3\xdb" , "\x75\x62\x45" } , { "\xc9\xe8\xb3\xdc" , "\x62\x45\x76" } , { "\xc9\xe8\xb3\xdd" , "\x62\x45\x78" } , { "\xc9\xe8\xb3\xe0" , "\x62\x45\x7e" } , { "\xc9\xe8\xb3\xe1" , "\x62\x45\x7e" } , { "\xc9\xe8\xb3\xe5" , "\x62\x45\xa8" } , { "\xc9\xe8\xb4" , "\x62\x47" } , { "\xc9\xe8\xb4\xda" , "\x62\x47\x73" } , { "\xc9\xe8\xb5" , "\x62\x49" } , { "\xc9\xe8\xb5\xda" , "\x62\x49\x73" } , { "\xc9\xe8\xb5\xde" , "\x62\x49\x79" } , { "\xc9\xe8\xb6" , "\x62\x4b" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\x75\x62\x4b\x60" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x62\x4b\x60\x78" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\x62\x4b\x60" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\x62\x4b\x60\x6b" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\x62\x4b\x60\x6b\x78" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\x62\x4d\x60\xa2" } , { "\xc9\xe8\xba" , "\x62\x4f" } , { "\xc9\xe8\xba\xda" , "\x62\x4f\x73" } , { "\xc9\xe8\xba\xe5\xa2" , "\x62\x4f\xaa" } , { "\xc9\xe8\xba\xe9" , "\x62\x50" } , { "\xc9\xe8\xbb" , "\x62\x51" } , { "\xc9\xe8\xbd" , "\x62\x53" } , { "\xc9\xe8\xbd\xdb" , "\x75\x62\x53" } , { "\xc9\xe8\xbd\xdb\xa2" , "\x75\x62\x53\x7c" } , { "\xc9\xe8\xbd\xdc" , "\x62\x53\x76" } , { "\xc9\xe8\xbd\xdd" , "\x62\x53\x78" } , { "\xc9\xe8\xbd\xde" , "\x62\x53\x79" } , { "\xc9\xe8\xbd\xe0" , "\x62\x53\x7e" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x62\x53\xa2" } , { "\xc9\xe8\xbd\xe5" , "\x62\x53\xa8" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x62\x53\xaa" } , { "\xc9\xe8\xbd\xe8" , "\x62\x53" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x62\x53\x45\x73" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x62\x53\x45\xa8" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\x62\x53\x60\xa2" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x62\x53\x61\x73" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x62\x53\x61\x7e" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\x62\x53\x6a" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\x62\x53\x6b\x78" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\x62\x53\x6b\xa8" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\x62\x53\xaf\xa2" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\x62\x53\xaf\x7e" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x62\x53\x6e" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x62\x53\x6e\xa4" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\x62\x53\x6e" } , { "\xc9\xe8\xbf\xe8" , "\x62\x55" } , { "\xc9\xe8\xc2" , "\x62\x59" } , { "\xc9\xe8\xc2\xda" , "\x62\x59\x73" } , { "\xc9\xe8\xc2\xdb" , "\x75\x62\x59" } , { "\xc9\xe8\xc2\xdc" , "\x62\x59\x76" } , { "\xc9\xe8\xc2\xe1" , "\x62\x59\x7e" } , { "\xc9\xe8\xc2\xe5" , "\x62\x59\xa8" } , { "\xc9\xe8\xc2\xe5\xa2" , "\x62\x59\xaa" } , { "\xc9\xe8\xc2\xe8" , "\x62\x59" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\x62\x59\x49\x73" } , { "\xc9\xe8\xc3" , "\x62\x5c" } , { "\xc9\xe8\xc3\xda" , "\x62\x5c\x73" } , { "\xc9\xe8\xc3\xe5" , "\x62\x5c\xa8" } , { "\xc9\xe8\xc4" , "\x62\x5d" } , { "\xc9\xe8\xc4\xda" , "\x62\x5d\x73" } , { "\xc9\xe8\xc6" , "\x62\x60" } , { "\xc9\xe8\xc6\xda" , "\x62\x60\x73" } , { "\xc9\xe8\xc6\xdb" , "\x75\x62\x60" } , { "\xc9\xe8\xc6\xdc" , "\x62\x60\x76" } , { "\xc9\xe8\xc6\xdd" , "\x62\x60\x78" } , { "\xc9\xe8\xc6\xe0" , "\x62\x60\x7e" } , { "\xc9\xe8\xc6\xe5" , "\x62\x60\xa9" } , { "\xc9\xe8\xc8" , "\x62\x61" } , { "\xc9\xe8\xc8\xda" , "\x62\x61\x73" } , { "\xc9\xe8\xc8\xdc" , "\x62\x61\x76" } , { "\xc9\xe8\xc8\xe2" , "\x62\x61\xa4" } , { "\xc9\xe8\xc8\xe8" , "\x62\x61" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\x75\x62\x61\xae" } , { "\xc9\xe8\xc9" , "\x62\x62" } , { "\xc9\xe8\xc9\xda" , "\x62\x62\x73" } , { "\xc9\xe8\xc9\xdd" , "\x62\x62\x78" } , { "\xc9\xe8\xc9\xe1" , "\x62\x62\x7e" } , { "\xc9\xe8\xc9\xe5" , "\x62\x62\xa8" } , { "\xc9\xe8\xca" , "\x62\x64" } , { "\xc9\xe8\xca\xda" , "\x62\x64\x73" } , { "\xc9\xe8\xca\xdc" , "\x62\x64\x76" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\x62\x64\xae\x7e" } , { "\xc9\xe8\xcc" , "\x62\x67" } , { "\xc9\xe8\xcc\xda" , "\x62\x67\x73" } , { "\xc9\xe8\xcc\xdc" , "\x62\x67\x76" } , { "\xc9\xe8\xcc\xdd" , "\x62\x67\x78" } , { "\xc9\xe8\xcc\xe1" , "\x62\x67\x7e" } , { "\xc9\xe8\xcd" , "\x62\x69" } , { "\xc9\xe8\xcd\xda" , "\x62\x69\x73" } , { "\xc9\xe8\xcd\xda\xa2" , "\x62\x69\x74" } , { "\xc9\xe8\xcd\xdd" , "\x62\x69\x78" } , { "\xc9\xe8\xcd\xde" , "\x62\x69\x79" } , { "\xc9\xe8\xcd\xe5" , "\x62\x69\xa8" } , { "\xc9\xe8\xcf" , "\x62\xae" } , { "\xc9\xe8\xcf\xa2" , "\x62\xae\x7c" } , { "\xc9\xe8\xcf\xda" , "\x62\xae\x73" } , { "\xc9\xe8\xcf\xda\xa1" , "\x62\xae\x74" } , { "\xc9\xe8\xcf\xda\xa2" , "\x62\xae\x74" } , { "\xc9\xe8\xcf\xdb" , "\x75\x62\xae" } , { "\xc9\xe8\xcf\xdb\xa2" , "\x75\x62\xae\x7c" } , { "\xc9\xe8\xcf\xdc" , "\x62\xae\x76" } , { "\xc9\xe8\xcf\xdd" , "\x62\xae\x7a" } , { "\xc9\xe8\xcf\xde" , "\x62\xae\x7b" } , { "\xc9\xe8\xcf\xe0" , "\x62\xae\x7e" } , { "\xc9\xe8\xcf\xe0\xa2" , "\x62\xae\xa2" } , { "\xc9\xe8\xcf\xe1" , "\x62\xae\x7e" } , { "\xc9\xe8\xcf\xe1\xa2" , "\x62\xae\xa2" } , { "\xc9\xe8\xcf\xe2" , "\x62\xae\xa4" } , { "\xc9\xe8\xcf\xe2\xa2" , "\x62\xae\xa6" } , { "\xc9\xe8\xcf\xe4" , "\x62\xae\xa8" } , { "\xc9\xe8\xcf\xe5" , "\x62\xae\xa8" } , { "\xc9\xe8\xcf\xe5\xa2" , "\x62\xae\xaa" } , { "\xc9\xe8\xcf\xe6" , "\x62\xae\xac" } , { "\xc9\xe8\xcf\xe7" , "\x62\xae\xac" } , { "\xc9\xe8\xcf\xe8" , "\x62\x6a" } , { "\xc9\xe8\xd1" , "\x62\x6b" } , { "\xc9\xe8\xd1\xda" , "\x62\x6b\x73" } , { "\xc9\xe8\xd1\xda\xa2" , "\x62\x6b\x74" } , { "\xc9\xe8\xd1\xdb" , "\x75\x62\x6b" } , { "\xc9\xe8\xd1\xdb\xa2" , "\x75\x62\x6b\x7c" } , { "\xc9\xe8\xd1\xdc" , "\x62\x6b\x76" } , { "\xc9\xe8\xd1\xdd" , "\x62\x6b\x78" } , { "\xc9\xe8\xd1\xde" , "\x62\x6b\x79" } , { "\xc9\xe8\xd1\xe0" , "\x62\x6b\x7e" } , { "\xc9\xe8\xd1\xe1" , "\x62\x6b\x7e" } , { "\xc9\xe8\xd1\xe1\xa2" , "\x62\x6b\xa2" } , { "\xc9\xe8\xd1\xe2" , "\x62\x6b\xa4" } , { "\xc9\xe8\xd1\xe2\xa2" , "\x62\x6b\xa6" } , { "\xc9\xe8\xd1\xe5" , "\x62\x6b\xa8" } , { "\xc9\xe8\xd1\xe5\xa2" , "\x62\x6b\xaa" } , { "\xc9\xe8\xd1\xe6" , "\x62\x6b\xac" } , { "\xc9\xe8\xd1\xe7" , "\x62\x6b\xac" } , { "\xc9\xe8\xd5\xda" , "\x62\x6f\x73" } , { "\xc9\xe8\xd7" , "\x62\x6e" } , { "\xc9\xe8\xd7\xdb" , "\x75\x62\x6e" } , { "\xc9\xe8\xd7\xdc" , "\x62\x6e\x76" } , { "\xc9\xe8\xd7\xe0" , "\x62\x6e\x7e" } , { "\xc9\xe8\xd7\xe2" , "\x62\x6e\xa4" } , { "\xc9\xe8\xd7\xe8" , "\x62\x6e" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\x62\x6e\x53\x7e" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\x62\x6e\x53\x7e" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x62\x6e\x60\x78" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\x75\x62\x6e\x61" } , { "\xc9\xe8\xd8" , "\x62\xad" } , { "\xc9\xe8\xd8\xdd" , "\x62\xad\x7a" } , { "\xc9\xe8\xd8\xe5" , "\x62\xad\xa8" } , { "\xc9\xe8\xd9\xc2" , "\x62\x59" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x62\x6a\xa2" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x62\x6a\x69\x78" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x62\x6b\xa8" } , { "\xc9\xe8\xd9\xd7" , "\x62\x6e" } , { "\xc9\xe8\xe8" , "\x62" } , { "\xc9\xe8\xe9\xcf" , "\x62\xae" } , { "\xc9\xe9" , "\x63" } , { "\xc9\xe9\xda" , "\x63\x73" } , { "\xc9\xe9\xdb" , "\x75\x63" } , { "\xc9\xe9\xdc" , "\x63\x76" } , { "\xc9\xe9\xdd" , "\x63\x78" } , { "\xc9\xe9\xe1" , "\x63\x7e" } , { "\xc9\xe9\xe1\xa2" , "\x63\xa2" } , { "\xc9\xe9\xe2" , "\x63\xa4" } , { "\xc9\xe9\xe5" , "\x63\xa8" } , { "\xc9\xe9\xe5\xa2" , "\x63\xaa" } , { "\xc9\xe9\xe6" , "\x63\xac" } , { "\xc9\xe9\xe7" , "\x63\xac" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x63\x4f\xaa" } , { "\xc9\xe9\xe8\xbd\xdb" , "\x75\x63\x53" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x63\x53\x76" } , { "\xc9\xe9\xe8\xc2" , "\x63\x59" } , { "\xc9\xe9\xe8\xc2\xda" , "\x63\x59\x73" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x63\x59\x76" } , { "\xc9\xe9\xe8\xc2\xe1" , "\x63\x59\x7e" } , { "\xc9\xe9\xe8\xcf\xdb" , "\x75\x63\xae" } , { "\xc9\xe9\xe8\xcf\xe5" , "\x63\xae\xa8" } , { "\xc9\xe9\xe8\xd1" , "\x63\x6b" } , { "\xc9\xe9\xe8\xd1\xe5" , "\x63\x6b\xa8" } , { "\xc9\xe9\xe9\xe8\xc2" , "\x63\x71\xb1\x59" } , { "\xca" , "\x64" } , { "\xca\xa1" , "\x64\x7c" } , { "\xca\xa2" , "\x64\x7c" } , { "\xca\xa2\xa1" , "\x64\x7c\x7d" } , { "\xca\xa3" , "\x64\x7c" } , { "\xca\xda" , "\x64\x73" } , { "\xca\xda\xa1" , "\x64\x74" } , { "\xca\xda\xa2" , "\x64\x74" } , { "\xca\xda\xa3" , "\x64\x73\x7c" } , { "\xca\xdb" , "\x75\x64" } , { "\xca\xdb\xa2" , "\x75\x64\x7c" } , { "\xca\xdc" , "\x64\x76" } , { "\xca\xdc\xa2" , "\x64\x77" } , { "\xca\xdd" , "\x64\x78" } , { "\xca\xdd\xa1" , "\x64\x78\x7c" } , { "\xca\xdd\xa2" , "\x64\x78\x7c" } , { "\xca\xde" , "\x64\x79" } , { "\xca\xde\xa1" , "\x64\x79\x7c" } , { "\xca\xde\xa2" , "\x64\x79\x7c" } , { "\xca\xdf" , "\x75\x64\xae" } , { "\xca\xdf\xa2" , "\x75\x64\xae\x7c" } , { "\xca\xe0" , "\x64\x7e" } , { "\xca\xe0\xa1" , "\x64\xa2" } , { "\xca\xe0\xa2" , "\x64\xa2" } , { "\xca\xe1" , "\x64\x7e" } , { "\xca\xe1\xa2" , "\x64\xa2" } , { "\xca\xe2" , "\x64\xa4" } , { "\xca\xe2\xa2" , "\x64\xa6" } , { "\xca\xe4" , "\x64\xa8" } , { "\xca\xe4\xa2" , "\x64\xaa" } , { "\xca\xe5" , "\x64\xa8" } , { "\xca\xe5\xa2" , "\x64\xaa" } , { "\xca\xe6" , "\x64\xac" } , { "\xca\xe6\xa2" , "\x64\xac\x72" } , { "\xca\xe7" , "\x64\xac" } , { "\xca\xe8" , "\x64" } , { "\xca\xe8\xb3" , "\x64\x45" } , { "\xca\xe8\xb3\xda" , "\x64\x45\x73" } , { "\xca\xe8\xb3\xdb" , "\x75\x64\x45" } , { "\xca\xe8\xb3\xdd" , "\x64\x45\x78" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\x64\x45\x69\x79" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\x64\x45\x6b\x7e" } , { "\xca\xe8\xb4\xda" , "\x64\x47\x73" } , { "\xca\xe8\xb5\xda" , "\x64\x49\x73" } , { "\xca\xe8\xb5\xdd\xa2" , "\x64\x49\x78\x7c" } , { "\xca\xe8\xb6" , "\x64\x4b" } , { "\xca\xe8\xb6\xdb" , "\x75\x64\x4b" } , { "\xca\xe8\xba" , "\x64\x4f" } , { "\xca\xe8\xba\xa2" , "\x64\x4f\x7c" } , { "\xca\xe8\xba\xda" , "\x64\x4f\x73" } , { "\xca\xe8\xba\xda\xa2" , "\x64\x4f\x74" } , { "\xca\xe8\xba\xdb" , "\x75\x64\x4f" } , { "\xca\xe8\xba\xdc" , "\x64\x4f\x76" } , { "\xca\xe8\xba\xdd" , "\x64\x4f\x78" } , { "\xca\xe8\xba\xe0" , "\x64\x4f\x7e" } , { "\xca\xe8\xba\xe1" , "\x64\x4f\x7e" } , { "\xca\xe8\xba\xe1\xa2" , "\x64\x4f\xa2" } , { "\xca\xe8\xba\xe2" , "\x64\x4f\xa4" } , { "\xca\xe8\xba\xe5" , "\x64\x4f\xa8" } , { "\xca\xe8\xba\xe5\xa2" , "\x64\x4f\xaa" } , { "\xca\xe8\xba\xe9" , "\x64\x50" } , { "\xca\xe8\xba\xe9\xda" , "\x64\x50\x73" } , { "\xca\xe8\xba\xe9\xdc" , "\x64\x50\x76" } , { "\xca\xe8\xba\xe9\xe1" , "\x64\x50\x7e" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\x64\x50\xa2" } , { "\xca\xe8\xbd" , "\x64\x53" } , { "\xca\xe8\xbd\xdb" , "\x75\x64\x53" } , { "\xca\xe8\xbd\xe0" , "\x64\x53\x7e" } , { "\xca\xe8\xbd\xe2" , "\x64\x53\xa4" } , { "\xca\xe8\xbd\xe5" , "\x64\x53\xa8" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\x75\x64\x53\x53" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\x64\x53\xae\x73" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\x75\x64\x53\x6e" } , { "\xca\xe8\xbf" , "\x64\x55" } , { "\xca\xe8\xbf\xda" , "\x64\x55\x73" } , { "\xca\xe8\xbf\xdb" , "\x75\x64\x55" } , { "\xca\xe8\xbf\xdb\xa2" , "\x75\x64\x55\x7c" } , { "\xca\xe8\xbf\xe0" , "\x64\x55\x7e" } , { "\xca\xe8\xbf\xe1" , "\x64\x55\x7e" } , { "\xca\xe8\xbf\xe5" , "\x64\x55\xa8" } , { "\xca\xe8\xbf\xe8" , "\x64\x55" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\x64\x55\x69\x78" } , { "\xca\xe8\xc2" , "\x64\x59" } , { "\xca\xe8\xc2\xa2" , "\x64\x59\x7c" } , { "\xca\xe8\xc2\xda" , "\x64\x59\x73" } , { "\xca\xe8\xc2\xdb" , "\x75\x64\x59" } , { "\xca\xe8\xc2\xdc" , "\x64\x59\x76" } , { "\xca\xe8\xc2\xdd" , "\x64\x59\x78" } , { "\xca\xe8\xc2\xdd\xa2" , "\x64\x59\x78\x7c" } , { "\xca\xe8\xc2\xe1" , "\x64\x59\x7e" } , { "\xca\xe8\xc2\xe5" , "\x64\x59\xa8" } , { "\xca\xe8\xc2\xe8\xc2" , "\x64\x59\x59" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\x75\x64\x59\x59" } , { "\xca\xe8\xc3\xda" , "\x64\x5c\x73" } , { "\xca\xe8\xc3\xdb" , "\x75\x64\x5c" } , { "\xca\xe8\xc4" , "\x64\x5d" } , { "\xca\xe8\xc4\xa2" , "\x64\x5d\x7c" } , { "\xca\xe8\xc4\xa3" , "\x64\x5d\x7c" } , { "\xca\xe8\xc4\xda" , "\x64\x5d\x73" } , { "\xca\xe8\xc4\xda\xa2" , "\x64\x5d\x74" } , { "\xca\xe8\xc4\xda\xa3" , "\x64\x5d\x73\x7c" } , { "\xca\xe8\xc4\xdb" , "\x75\x64\x5d" } , { "\xca\xe8\xc4\xdb\xa2" , "\x75\x64\x5d\x7c" } , { "\xca\xe8\xc4\xdc" , "\x64\x5d\x76" } , { "\xca\xe8\xc4\xdc\xa2" , "\x64\x5d\x77" } , { "\xca\xe8\xc4\xdd" , "\x64\x5d\x78" } , { "\xca\xe8\xc4\xe1" , "\x64\x5d\x7e" } , { "\xca\xe8\xc4\xe2" , "\x64\x5d\xa4" } , { "\xca\xe8\xc4\xe5" , "\x64\x5d\xa8" } , { "\xca\xe8\xc4\xe5\xa2" , "\x64\x5d\xaa" } , { "\xca\xe8\xc4\xe8" , "\x64\x5d" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\x64\x5d\x69\x73" } , { "\xca\xe8\xc5" , "\x64\x5f" } , { "\xca\xe8\xc5\xa2" , "\x64\x5f\x7c" } , { "\xca\xe8\xc5\xa3" , "\x64\x5f\x7c" } , { "\xca\xe8\xc5\xda" , "\x64\x5f\x73" } , { "\xca\xe8\xc5\xda\xa3" , "\x64\x5f\x73\x7c" } , { "\xca\xe8\xc5\xdb" , "\x75\x64\x5f" } , { "\xca\xe8\xc5\xdd" , "\x64\x5f\x78" } , { "\xca\xe8\xc5\xe5" , "\x64\x5f\xa8" } , { "\xca\xe8\xc6" , "\x64\x60" } , { "\xca\xe8\xc6\xda" , "\x64\x60\x73" } , { "\xca\xe8\xc6\xdb" , "\x75\x64\x60" } , { "\xca\xe8\xc6\xdb\xa2" , "\x75\x64\x60\x7c" } , { "\xca\xe8\xc6\xdc" , "\x64\x60\x76" } , { "\xca\xe8\xc6\xdd" , "\x64\x60\x78" } , { "\xca\xe8\xc8" , "\x64\x61" } , { "\xca\xe8\xc8\xdb" , "\x75\x64\x61" } , { "\xca\xe8\xc8\xe5" , "\x64\x61\xa8" } , { "\xca\xe8\xc9\xe2" , "\x64\x62\xa4" } , { "\xca\xe8\xca" , "\x64\x64" } , { "\xca\xe8\xca\xa2" , "\x64\x64\x7c" } , { "\xca\xe8\xca\xda" , "\x64\x64\x73" } , { "\xca\xe8\xca\xdb" , "\x75\x64\x64" } , { "\xca\xe8\xca\xdb\xa2" , "\x75\x64\x64\x7c" } , { "\xca\xe8\xca\xdc" , "\x64\x64\x76" } , { "\xca\xe8\xca\xdd" , "\x64\x64\x78" } , { "\xca\xe8\xca\xdd\xa2" , "\x64\x64\x78\x7c" } , { "\xca\xe8\xca\xde" , "\x64\x64\x79" } , { "\xca\xe8\xca\xe0" , "\x64\x64\x7e" } , { "\xca\xe8\xca\xe0\xa2" , "\x64\x64\xa2" } , { "\xca\xe8\xca\xe1" , "\x64\x64\x7e" } , { "\xca\xe8\xca\xe1\xa2" , "\x64\x64\xa2" } , { "\xca\xe8\xca\xe2" , "\x64\x64\xa4" } , { "\xca\xe8\xca\xe4" , "\x64\x64\xa8" } , { "\xca\xe8\xca\xe5" , "\x64\x64\xa8" } , { "\xca\xe8\xca\xe5\xa2" , "\x64\x64\xaa" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\x75\x64\x64\x5d" } , { "\xca\xe8\xca\xe8\xd8" , "\x64\x64\xad" } , { "\xca\xe8\xcb" , "\x64\x65" } , { "\xca\xe8\xcb\xa2" , "\x64\x65\x7c" } , { "\xca\xe8\xcb\xda" , "\x64\x65\x73" } , { "\xca\xe8\xcb\xdb" , "\x75\x64\x65" } , { "\xca\xe8\xcb\xdc" , "\x64\x65\x76" } , { "\xca\xe8\xcb\xdd" , "\x64\x65\x78" } , { "\xca\xe8\xcb\xe2" , "\x64\x65\xa4" } , { "\xca\xe8\xcc" , "\x64\x67" } , { "\xca\xe8\xcc\xda" , "\x64\x67\x73" } , { "\xca\xe8\xcc\xdb" , "\x75\x64\x67" } , { "\xca\xe8\xcc\xe0" , "\x64\x67\x7e" } , { "\xca\xe8\xcc\xe1" , "\x64\x67\x7e" } , { "\xca\xe8\xcd" , "\x64\x69" } , { "\xca\xe8\xcd\xa2" , "\x64\x69\x7c" } , { "\xca\xe8\xcd\xda" , "\x64\x69\x73" } , { "\xca\xe8\xcd\xda\xa2" , "\x64\x69\x74" } , { "\xca\xe8\xcd\xdc" , "\x64\x69\x76" } , { "\xca\xe8\xcd\xdd" , "\x64\x69\x78" } , { "\xca\xe8\xcd\xde" , "\x64\x69\x79" } , { "\xca\xe8\xcd\xe5" , "\x64\x69\xa8" } , { "\xca\xe8\xcd\xe5\xa2" , "\x64\x69\xaa" } , { "\xca\xe8\xcd\xe6" , "\x64\x69\xac" } , { "\xca\xe8\xcd\xe6\xa2" , "\x64\x69\xac\x72" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\x64\x68\x69\x73" } , { "\xca\xe8\xcf" , "\x64\xae" } , { "\xca\xe8\xcf\xa2" , "\x64\xae\x7c" } , { "\xca\xe8\xcf\xda" , "\x64\xae\x73" } , { "\xca\xe8\xcf\xda\xa1" , "\x64\xae\x74" } , { "\xca\xe8\xcf\xda\xa2" , "\x64\xae\x74" } , { "\xca\xe8\xcf\xdb" , "\x75\x64\xae" } , { "\xca\xe8\xcf\xdb\xa2" , "\x75\x64\xae\x7c" } , { "\xca\xe8\xcf\xdc" , "\x64\xae\x76" } , { "\xca\xe8\xcf\xdd" , "\x64\xae\x7a" } , { "\xca\xe8\xcf\xde" , "\x64\xae\x7b" } , { "\xca\xe8\xcf\xe0" , "\x64\xae\x7e" } , { "\xca\xe8\xcf\xe1" , "\x64\xae\x7e" } , { "\xca\xe8\xcf\xe1\xa2" , "\x64\xae\xa2" } , { "\xca\xe8\xcf\xe2" , "\x64\xae\xa4" } , { "\xca\xe8\xcf\xe2\xa2" , "\x64\xae\xa6" } , { "\xca\xe8\xcf\xe4" , "\x64\xae\xa8" } , { "\xca\xe8\xcf\xe5" , "\x64\xae\xa8" } , { "\xca\xe8\xcf\xe5\xa2" , "\x64\xae\xaa" } , { "\xca\xe8\xcf\xe6" , "\x64\xae\xac" } , { "\xca\xe8\xcf\xe7" , "\x64\xae\xac" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\x64\x6a\x53" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\x64\x6a\x55" } , { "\xca\xe8\xd1" , "\x64\x6b" } , { "\xca\xe8\xd1\xa2" , "\x64\x6b\x7c" } , { "\xca\xe8\xd1\xda" , "\x64\x6b\x73" } , { "\xca\xe8\xd1\xda\xa2" , "\x64\x6b\x74" } , { "\xca\xe8\xd1\xdb" , "\x75\x64\x6b" } , { "\xca\xe8\xd1\xdb\xa2" , "\x75\x64\x6b\x7c" } , { "\xca\xe8\xd1\xdc" , "\x64\x6b\x76" } , { "\xca\xe8\xd1\xdd" , "\x64\x6b\x78" } , { "\xca\xe8\xd1\xde" , "\x64\x6b\x79" } , { "\xca\xe8\xd1\xe0" , "\x64\x6b\x7e" } , { "\xca\xe8\xd1\xe0\xa2" , "\x64\x6b\xa2" } , { "\xca\xe8\xd1\xe1" , "\x64\x6b\x7e" } , { "\xca\xe8\xd1\xe1\xa2" , "\x64\x6b\xa2" } , { "\xca\xe8\xd1\xe2" , "\x64\x6b\xa4" } , { "\xca\xe8\xd1\xe2\xa2" , "\x64\x6b\xa6" } , { "\xca\xe8\xd1\xe5" , "\x64\x6b\xa8" } , { "\xca\xe8\xd1\xe6" , "\x64\x6b\xac" } , { "\xca\xe8\xd1\xe7" , "\x64\x6b\xac" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\x75\x64\x6b\x45" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\x75\x64\x6b\x69" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\x64\x6b\x69\x78" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\x64\x6b\x69\x79" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\x64\x6b\xaf\x7a" } , { "\xca\xe8\xd4\xa2" , "\x64\xaf\x7c" } , { "\xca\xe8\xd4\xda" , "\x64\xaf\x73" } , { "\xca\xe8\xd4\xdb" , "\x75\x64\xaf" } , { "\xca\xe8\xd4\xe0" , "\x64\xaf\x7e" } , { "\xca\xe8\xd4\xe1" , "\x64\xaf\x7e" } , { "\xca\xe8\xd4\xe7" , "\x64\xaf\xac" } , { "\xca\xe8\xd5\xda" , "\x64\x6f\x73" } , { "\xca\xe8\xd5\xdb" , "\x75\x64\x6f" } , { "\xca\xe8\xd5\xdc" , "\x64\x6f\x76" } , { "\xca\xe8\xd6\xda" , "\x64\x6f\x73" } , { "\xca\xe8\xd6\xdb" , "\x75\x64\x6f" } , { "\xca\xe8\xd6\xdc" , "\x64\x6f\x76" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\x64\x6f\x53\xae" } , { "\xca\xe8\xd7" , "\x64\x6e" } , { "\xca\xe8\xd7\xda" , "\x64\x6e\x73" } , { "\xca\xe8\xd7\xdb" , "\x75\x64\x6e" } , { "\xca\xe8\xd7\xdc" , "\x64\x6e\x76" } , { "\xca\xe8\xd7\xdd" , "\x64\x6e\x78" } , { "\xca\xe8\xd7\xe0" , "\x64\x6e\x7e" } , { "\xca\xe8\xd7\xe0\xa2" , "\x64\x6e\xa2" } , { "\xca\xe8\xd7\xe1" , "\x64\x6e\x7e" } , { "\xca\xe8\xd7\xe2" , "\x64\x6e\xa4" } , { "\xca\xe8\xd7\xe5" , "\x64\x6e\xa8" } , { "\xca\xe8\xd7\xe6" , "\x64\x6e\xac" } , { "\xca\xe8\xd7\xe8" , "\x64\x6e" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\x64\x6e\x45\x78" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\x64\x6e\x45\xa4" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x75\x64\x6e\x46" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\x64\x6e\x46\xa4" } , { "\xca\xe8\xd7\xe8\xbd" , "\x64\x6e\x53" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\x64\x6e\x53\x73" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\x64\x6e\x53\x74" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\x75\x64\x6e\x53" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\x64\x6e\x53\x7e" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\x64\x6e\x53\xae" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x64\x6e\x53\xae\x73" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x64\x6e\x53\xae\xa4" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\x64\x6e\x60\x78" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\x64\x6e\x6b\x78" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\x64\x6e\x6b\xa8" } , { "\xca\xe8\xd7\xe8\xd4" , "\x64\x6e\xaf" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\x64\x6e\xaf\x7c" } , { "\xca\xe8\xd8" , "\x64\xad" } , { "\xca\xe8\xd8\xda" , "\x64\xad\x73" } , { "\xca\xe8\xd8\xe6" , "\x64\xad\xac" } , { "\xca\xe8\xd8\xe8" , "\x64\x70" } , { "\xca\xe8\xe8" , "\x64" } , { "\xca\xe8\xe9\xcf" , "\x64\xae" } , { "\xca\xe9" , "\x64" } , { "\xcb" , "\x65" } , { "\xcb\xa1" , "\x65\x7c" } , { "\xcb\xa2" , "\x65\x7c" } , { "\xcb\xa3" , "\x65\x7c" } , { "\xcb\xd0" , "\x65\x6a" } , { "\xcb\xd0\xdc" , "\x65\x6a\x76" } , { "\xcb\xda" , "\x65\x73" } , { "\xcb\xda\xa1" , "\x65\x74" } , { "\xcb\xda\xa2" , "\x65\x74" } , { "\xcb\xda\xd0" , "\x65\x73\x6a" } , { "\xcb\xdb" , "\x75\x65" } , { "\xcb\xdb\xa2" , "\x75\x65\x7c" } , { "\xcb\xdb\xa3" , "\x75\x65\x7c" } , { "\xcb\xdb\xd4\xdf" , "\x75\x65\x75\x6d\xae" } , { "\xcb\xdc" , "\x65\x76" } , { "\xcb\xdc\xa1" , "\x65\x77" } , { "\xcb\xdc\xa2" , "\x65\x77" } , { "\xcb\xdd" , "\x65\x78" } , { "\xcb\xdd\xa2" , "\x65\x78\x7c" } , { "\xcb\xde" , "\x65\x79" } , { "\xcb\xde\xa1" , "\x65\x79\x7c" } , { "\xcb\xde\xa2" , "\x65\x79\x7c" } , { "\xcb\xdf" , "\x75\x66" } , { "\xcb\xdf\xa2" , "\x75\x66\x7c" } , { "\xcb\xe0" , "\x65\x7e" } , { "\xcb\xe1" , "\x65\x7e" } , { "\xcb\xe1\xa2" , "\x65\xa2" } , { "\xcb\xe2" , "\x65\xa4" } , { "\xcb\xe2\xa2" , "\x65\xa6" } , { "\xcb\xe4" , "\x65\xa8" } , { "\xcb\xe5" , "\x65\xa8" } , { "\xcb\xe5\xa2" , "\x65\xaa" } , { "\xcb\xe6" , "\x65\xac" } , { "\xcb\xe6\xa2" , "\x65\xac\x72" } , { "\xcb\xe7" , "\x65\xac" } , { "\xcb\xe7\xa2" , "\x65\xac\x72" } , { "\xcb\xe8" , "\x65" } , { "\xcb\xe8\xb3\xdd" , "\x65\x45\x78" } , { "\xcb\xe8\xbd\xdd" , "\x65\x53\x78" } , { "\xcb\xe8\xbf" , "\x65\x55" } , { "\xcb\xe8\xc2" , "\x65\x59" } , { "\xcb\xe8\xc2\xdb" , "\x75\x65\x59" } , { "\xcb\xe8\xc4" , "\x65\x5d" } , { "\xcb\xe8\xc4\xa2" , "\x65\x5d\x7c" } , { "\xcb\xe8\xc4\xda" , "\x65\x5d\x73" } , { "\xcb\xe8\xc4\xdb" , "\x75\x65\x5d" } , { "\xcb\xe8\xc5" , "\x65\x5f" } , { "\xcb\xe8\xc5\xdb" , "\x75\x65\x5f" } , { "\xcb\xe8\xc6\xdb" , "\x75\x65\x60" } , { "\xcb\xe8\xc6\xe8\xc6" , "\x65\x60\x60" } , { "\xcb\xe8\xca\xda" , "\x65\x64\x73" } , { "\xcb\xe8\xca\xdb" , "\x75\x65\x64" } , { "\xcb\xe8\xca\xe2" , "\x65\x64\xa4" } , { "\xcb\xe8\xcb" , "\x65\x65" } , { "\xcb\xe8\xcb\xda" , "\x65\x65\x73" } , { "\xcb\xe8\xcb\xdc" , "\x65\x65\x76" } , { "\xcb\xe8\xcb\xe2" , "\x65\x65\xa4" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\x65\x66\x73" } , { "\xcb\xe8\xcc" , "\x65\x67" } , { "\xcb\xe8\xcd" , "\x65\x69" } , { "\xcb\xe8\xcd\xa2" , "\x65\x69\x7c" } , { "\xcb\xe8\xcd\xa3" , "\x65\x69\x7c" } , { "\xcb\xe8\xcd\xda" , "\x65\x69\x73" } , { "\xcb\xe8\xcd\xda\xa2" , "\x65\x69\x74" } , { "\xcb\xe8\xcd\xdd" , "\x65\x69\x78" } , { "\xcb\xe8\xcd\xde" , "\x65\x69\x79" } , { "\xcb\xe8\xcd\xe1" , "\x65\x69\x7e" } , { "\xcb\xe8\xcd\xe2" , "\x65\x69\xa4" } , { "\xcb\xe8\xcd\xe4" , "\x65\x69\xa8" } , { "\xcb\xe8\xcd\xe5" , "\x65\x69\xa8" } , { "\xcb\xe8\xcf" , "\x66" } , { "\xcb\xe8\xcf\xa2" , "\x66\x7c" } , { "\xcb\xe8\xcf\xda" , "\x66\x73" } , { "\xcb\xe8\xcf\xda\xa2" , "\x66\x74" } , { "\xcb\xe8\xcf\xdb" , "\x75\x66" } , { "\xcb\xe8\xcf\xdc" , "\x66\x76" } , { "\xcb\xe8\xcf\xdd" , "\x66\x7a" } , { "\xcb\xe8\xcf\xde" , "\x66\x7b" } , { "\xcb\xe8\xcf\xdf" , "\x75\x65\x6a\xae" } , { "\xcb\xe8\xcf\xe5" , "\x66\xa8" } , { "\xcb\xe8\xd1\xe2" , "\x65\x6b\xa4" } , { "\xcb\xe8\xd1\xe5" , "\x65\x6b\xa8" } , { "\xcb\xe8\xd4" , "\x65\xaf" } , { "\xcb\xe8\xd4\xe8\xcd" , "\x65\x6d\x69" } , { "\xcb\xe8\xe8" , "\x65" } , { "\xcb\xe8\xe9\xcf" , "\x66" } , { "\xcb\xe9" , "\x65" } , { "\xcc" , "\x67" } , { "\xcc\xa1" , "\x67\x7c" } , { "\xcc\xa2" , "\x67\x7c" } , { "\xcc\xa3" , "\x67\x7c" } , { "\xcc\xda" , "\x67\x73" } , { "\xcc\xda\xa1" , "\x67\x74" } , { "\xcc\xda\xa2" , "\x67\x74" } , { "\xcc\xda\xa3" , "\x67\x73\x7c" } , { "\xcc\xdb" , "\x75\x67" } , { "\xcc\xdb\xa2" , "\x75\x67\x7c" } , { "\xcc\xdb\xa2\xa2" , "\x75\x67\x7c\x7d" } , { "\xcc\xdb\xd0\xe8" , "\x75\x67\x6a" } , { "\xcc\xdc" , "\x67\x76" } , { "\xcc\xdc\xa1" , "\x67\x77" } , { "\xcc\xdc\xa2" , "\x67\x77" } , { "\xcc\xdd" , "\x67\x78" } , { "\xcc\xdd\xa1" , "\x67\x78\x7c" } , { "\xcc\xdd\xa2" , "\x67\x78\x7c" } , { "\xcc\xdd\xa2\xa2" , "\x67\x78\x7c\x7d" } , { "\xcc\xde" , "\x67\x79" } , { "\xcc\xde\xa1" , "\x67\x79\x7c" } , { "\xcc\xde\xa2" , "\x67\x79\x7c" } , { "\xcc\xdf" , "\x75\x67\xae" } , { "\xcc\xdf\xa2" , "\x75\x67\xae\x7c" } , { "\xcc\xe0" , "\x67\x7e" } , { "\xcc\xe0\xa2" , "\x67\xa2" } , { "\xcc\xe1" , "\x67\x7e" } , { "\xcc\xe1\xa1" , "\x67\xa2" } , { "\xcc\xe1\xa2" , "\x67\xa2" } , { "\xcc\xe1\xa2\xa2" , "\x67\xa2\x7d" } , { "\xcc\xe2" , "\x67\xa4" } , { "\xcc\xe2\xa1" , "\x67\xa6" } , { "\xcc\xe2\xa2" , "\x67\xa6" } , { "\xcc\xe4" , "\x67\xa8" } , { "\xcc\xe4\xa2" , "\x67\xaa" } , { "\xcc\xe4\xd0\xb1" , "\x67\xa8\x6a\x41\xac" } , { "\xcc\xe5" , "\x67\xa8" } , { "\xcc\xe5\xa2" , "\x67\xaa" } , { "\xcc\xe6" , "\x67\xac" } , { "\xcc\xe6\xa2" , "\x67\xac\x72" } , { "\xcc\xe6\xa3" , "\x67\xac\x7c" } , { "\xcc\xe7" , "\x67\xac" } , { "\xcc\xe8" , "\x67" } , { "\xcc\xe8\xb3\xa2" , "\x67\x45\x7c" } , { "\xcc\xe8\xb3\xda" , "\x67\x45\x73" } , { "\xcc\xe8\xb3\xdb" , "\x75\x67\x45" } , { "\xcc\xe8\xb3\xdc" , "\x67\x45\x76" } , { "\xcc\xe8\xb3\xdd" , "\x67\x45\x78" } , { "\xcc\xe8\xb3\xde" , "\x67\x45\x79" } , { "\xcc\xe8\xb3\xdf" , "\x75\x67\x46" } , { "\xcc\xe8\xb3\xe1" , "\x67\x45\x7e" } , { "\xcc\xe8\xb3\xe4" , "\x67\x45\xa8" } , { "\xcc\xe8\xb3\xe5" , "\x67\x45\xa8" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\x67\x45\x69\x73" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\x75\x67\x46\x7c" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\x67\x46\x7b" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\x67\x45\x6b\xa8" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\x67\x45\x6e\x76" } , { "\xcc\xe8\xb4\xda" , "\x67\x47\x73" } , { "\xcc\xe8\xb4\xe8" , "\x67\x47" } , { "\xcc\xe8\xb5" , "\x67\x49" } , { "\xcc\xe8\xb5\xa2" , "\x67\x49\x7c" } , { "\xcc\xe8\xb5\xda" , "\x67\x49\x73" } , { "\xcc\xe8\xb5\xdd" , "\x67\x49\x78" } , { "\xcc\xe8\xb8" , "\x67\x4d" } , { "\xcc\xe8\xb8\xa2" , "\x67\x4d\x7c" } , { "\xcc\xe8\xb8\xda" , "\x67\x4d\x73" } , { "\xcc\xe8\xb8\xdc" , "\x67\x4d\x76" } , { "\xcc\xe8\xb8\xdd" , "\x67\x4d\x78" } , { "\xcc\xe8\xb8\xe0\xa2" , "\x67\x4d\xa2" } , { "\xcc\xe8\xb8\xe1" , "\x67\x4d\x7e" } , { "\xcc\xe8\xb8\xe8\xc8" , "\x67\x4d\x61" } , { "\xcc\xe8\xba" , "\x67\x4f" } , { "\xcc\xe8\xba\xda" , "\x67\x4f\x73" } , { "\xcc\xe8\xba\xdb" , "\x75\x67\x4f" } , { "\xcc\xe8\xba\xe0" , "\x67\x4f\x7e" } , { "\xcc\xe8\xba\xe8" , "\x67\x4f" } , { "\xcc\xe8\xba\xe9" , "\x67\x50" } , { "\xcc\xe8\xbd" , "\x67\x53" } , { "\xcc\xe8\xbd\xda" , "\x67\x53\x73" } , { "\xcc\xe8\xbd\xdc" , "\x67\x53\x76" } , { "\xcc\xe8\xbd\xe0" , "\x67\x53\x7e" } , { "\xcc\xe8\xbd\xe1" , "\x67\x53\x7e" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\x67\x53\x69\x79" } , { "\xcc\xe8\xbf" , "\x67\x55" } , { "\xcc\xe8\xbf\xda" , "\x67\x55\x73" } , { "\xcc\xe8\xbf\xdb" , "\x75\x67\x55" } , { "\xcc\xe8\xbf\xe8" , "\x67\x55" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\x75\x67\x56" } , { "\xcc\xe8\xc1" , "\x67\x58" } , { "\xcc\xe8\xc1\xe5\xa2" , "\x67\x58\xab" } , { "\xcc\xe8\xc1\xe8\xcc" , "\x67\x58\x67" } , { "\xcc\xe8\xc1\xe8\xd7" , "\x67\x58\x6e" } , { "\xcc\xe8\xc2" , "\x67\x59" } , { "\xcc\xe8\xc2\xda" , "\x67\x59\x73" } , { "\xcc\xe8\xc2\xda\xa2" , "\x67\x59\x74" } , { "\xcc\xe8\xc2\xdb" , "\x75\x67\x59" } , { "\xcc\xe8\xc2\xe5" , "\x67\x59\xa8" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\x75\x67\x59\x59" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\x67\x59\x5c\x78" } , { "\xcc\xe8\xc2\xe8\xcd" , "\x67\x59\x69" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\x67\x59\x69\x78" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\x67\x59\x69\x78\x7c" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\x67\x59\x69\x79" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\x67\x59\x68" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\x67\x59\x6a\x69" } , { "\xcc\xe8\xc3" , "\x67\x5c" } , { "\xcc\xe8\xc4" , "\x67\x5d" } , { "\xcc\xe8\xc4\xda" , "\x67\x5d\x73" } , { "\xcc\xe8\xc4\xdb" , "\x75\x67\x5d" } , { "\xcc\xe8\xc4\xdc" , "\x67\x5d\x76" } , { "\xcc\xe8\xc4\xdd" , "\x67\x5d\x78" } , { "\xcc\xe8\xc4\xe1" , "\x67\x5d\x7e" } , { "\xcc\xe8\xc4\xe8\xc5" , "\x67\x5d\x5f" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\x75\x67\x5d\x5f" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\x67\x5d\xaf\x73" } , { "\xcc\xe8\xc5\xda" , "\x67\x5f\x73" } , { "\xcc\xe8\xc5\xe5\xa2" , "\x67\x5f\xaa" } , { "\xcc\xe8\xc5\xe8\xc4" , "\x67\x5f\x5d" } , { "\xcc\xe8\xc6" , "\x67\x60" } , { "\xcc\xe8\xc6\xa2" , "\x67\x60\x7d" } , { "\xcc\xe8\xc6\xda" , "\x67\x60\x73" } , { "\xcc\xe8\xc6\xda\xa2" , "\x67\x60\x74" } , { "\xcc\xe8\xc6\xdb" , "\x75\x67\x60" } , { "\xcc\xe8\xc6\xdc" , "\x67\x60\x76" } , { "\xcc\xe8\xc6\xdd" , "\x67\x60\x78" } , { "\xcc\xe8\xc6\xdd\xa2" , "\x67\x60\x78\x7d" } , { "\xcc\xe8\xc6\xde" , "\x67\x60\x79" } , { "\xcc\xe8\xc6\xe0\xa2" , "\x67\x60\xa2" } , { "\xcc\xe8\xc6\xe1" , "\x67\x60\xa1" } , { "\xcc\xe8\xc6\xe5" , "\x67\x60\xa9" } , { "\xcc\xe8\xc8" , "\x67\x61" } , { "\xcc\xe8\xc8\xda" , "\x67\x61\x73" } , { "\xcc\xe8\xc8\xda\xa1" , "\x67\x61\x74" } , { "\xcc\xe8\xc8\xdb" , "\x75\x67\x61" } , { "\xcc\xe8\xc8\xdb\xa2" , "\x75\x67\x61\x7c" } , { "\xcc\xe8\xc8\xdc" , "\x67\x61\x76" } , { "\xcc\xe8\xc8\xdd" , "\x67\x61\x78" } , { "\xcc\xe8\xc8\xde" , "\x67\x61\x79" } , { "\xcc\xe8\xc8\xdf" , "\x75\x67\x61\xae" } , { "\xcc\xe8\xc8\xe0" , "\x67\x61\x7e" } , { "\xcc\xe8\xc8\xe1" , "\x67\x61\x7e" } , { "\xcc\xe8\xc8\xe2" , "\x67\x61\xa4" } , { "\xcc\xe8\xc8\xe2\xa2" , "\x67\x61\xa6" } , { "\xcc\xe8\xc8\xe5" , "\x67\x61\xa8" } , { "\xcc\xe8\xc8\xe5\xa2" , "\x67\x61\xaa" } , { "\xcc\xe8\xc8\xe8" , "\x67\x61" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\x67\x61\x45\x59" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\x75\x67\x61\x45\x59" } , { "\xcc\xe8\xc8\xe8\xb8" , "\x67\x61\x4d" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\x67\x61\x5d\x73" } , { "\xcc\xe8\xc8\xe8\xcd" , "\x67\x61\x69" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\x67\x61\x69\x78" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\x67\x61\x69\x79" } , { "\xcc\xe8\xc8\xe8\xcf" , "\x67\x61\xae" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\x67\x61\xae\x73" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\x67\x61\xae\x7b" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\x67\x61\xae\x7e" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\x67\x61\xae\x7e" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\x67\x61\xae\xa8" } , { "\xcc\xe8\xc8\xe8\xd1" , "\x67\x61\x6b" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\x67\x61\x6b\x73" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\x67\x61\x6b\x74" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\x75\x67\x61\x6b" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\x67\x61\x6b\x7e" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\x67\x61\x6b\xa4" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\x67\x61\x6b\xa8" } , { "\xcc\xe8\xc8\xe8\xd5" , "\x67\x61\x6f" } , { "\xcc\xe8\xc8\xe8\xd6" , "\x67\x61\x6f" } , { "\xcc\xe8\xc8\xe8\xd7" , "\x67\x61\x6e" } , { "\xcc\xe8\xc9" , "\x67\x62" } , { "\xcc\xe8\xc9\xda" , "\x67\x62\x73" } , { "\xcc\xe8\xc9\xdb" , "\x75\x67\x62" } , { "\xcc\xe8\xc9\xdc" , "\x67\x62\x76" } , { "\xcc\xe8\xc9\xe0" , "\x67\x62\x7e" } , { "\xcc\xe8\xc9\xe1" , "\x67\x62\x7e" } , { "\xcc\xe8\xc9\xe4" , "\x67\x62\xa8" } , { "\xcc\xe8\xc9\xe5" , "\x67\x62\xa8" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\x67\x62\xae\x7e" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\x67\x62\x6b\xa8" } , { "\xcc\xe8\xca" , "\x67\x64" } , { "\xcc\xe8\xca\xa2" , "\x67\x64\x7c" } , { "\xcc\xe8\xca\xda" , "\x67\x64\x73" } , { "\xcc\xe8\xca\xda\xa2" , "\x67\x64\x74" } , { "\xcc\xe8\xca\xdb" , "\x75\x67\x64" } , { "\xcc\xe8\xca\xdb\xa2" , "\x75\x67\x64\x7c" } , { "\xcc\xe8\xca\xdc" , "\x67\x64\x76" } , { "\xcc\xe8\xca\xdd" , "\x67\x64\x78" } , { "\xcc\xe8\xca\xde" , "\x67\x64\x79" } , { "\xcc\xe8\xca\xe0" , "\x67\x64\x7e" } , { "\xcc\xe8\xca\xe1" , "\x67\x64\x7e" } , { "\xcc\xe8\xca\xe1\xa2" , "\x67\x64\xa2" } , { "\xcc\xe8\xca\xe5" , "\x67\x64\xa8" } , { "\xcc\xe8\xca\xe5\xa2" , "\x67\x64\xaa" } , { "\xcc\xe8\xca\xe6" , "\x67\x64\xac" } , { "\xcc\xe8\xca\xe7" , "\x67\x64\xac" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\x67\x64\x5d\x5f" } , { "\xcc\xe8\xca\xe8\xcf" , "\x67\x64\xae" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\x67\x64\xae\x74" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\x75\x67\x64\xae" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\x67\x64\xae\x7e" } , { "\xcc\xe8\xcb" , "\x67\x65" } , { "\xcc\xe8\xcb\xa3" , "\x67\x65\x7c" } , { "\xcc\xe8\xcb\xda" , "\x67\x65\x73" } , { "\xcc\xe8\xcb\xdb" , "\x75\x67\x65" } , { "\xcc\xe8\xcb\xdc" , "\x67\x65\x76" } , { "\xcc\xe8\xcb\xdd" , "\x67\x65\x78" } , { "\xcc\xe8\xcb\xde" , "\x67\x65\x79" } , { "\xcc\xe8\xcb\xe1" , "\x67\x65\x7e" } , { "\xcc\xe8\xcb\xe5" , "\x67\x65\xa8" } , { "\xcc\xe8\xcb\xe5\xa2" , "\x67\x65\xaa" } , { "\xcc\xe8\xcb\xe6" , "\x67\x65\xac" } , { "\xcc\xe8\xcb\xe8" , "\x67\x65" } , { "\xcc\xe8\xcb\xe8\xcf" , "\x67\x66" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\x67\x66\x73" } , { "\xcc\xe8\xcc" , "\x67\x67" } , { "\xcc\xe8\xcc\xa2" , "\x67\x67\x7c" } , { "\xcc\xe8\xcc\xda" , "\x67\x67\x73" } , { "\xcc\xe8\xcc\xda\xa1" , "\x67\x67\x74" } , { "\xcc\xe8\xcc\xda\xa2" , "\x67\x67\x74" } , { "\xcc\xe8\xcc\xdb" , "\x75\x67\x67" } , { "\xcc\xe8\xcc\xdb\xa2" , "\x75\x67\x67\x7c" } , { "\xcc\xe8\xcc\xdc" , "\x67\x67\x76" } , { "\xcc\xe8\xcc\xdc\xa2" , "\x67\x67\x77" } , { "\xcc\xe8\xcc\xdd" , "\x67\x67\x78" } , { "\xcc\xe8\xcc\xdd\xa2" , "\x67\x67\x78\x7c" } , { "\xcc\xe8\xcc\xde" , "\x67\x67\x79" } , { "\xcc\xe8\xcc\xe0" , "\x67\x67\x7e" } , { "\xcc\xe8\xcc\xe0\xa2" , "\x67\x67\xa2" } , { "\xcc\xe8\xcc\xe1" , "\x67\x67\x7e" } , { "\xcc\xe8\xcc\xe1\xa2" , "\x67\x67\xa2" } , { "\xcc\xe8\xcc\xe2" , "\x67\x67\xa4" } , { "\xcc\xe8\xcc\xe4" , "\x67\x67\xa8" } , { "\xcc\xe8\xcc\xe5" , "\x67\x67\xa8" } , { "\xcc\xe8\xcc\xe5\xa2" , "\x67\x67\xaa" } , { "\xcc\xe8\xcc\xe8" , "\x67\x67" } , { "\xcc\xe8\xcc\xe8\xc4" , "\x67\x67\x5d" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\x75\x67\x67\x5d" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\x75\x67\x67\x60" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\x67\x67\x67\xa6" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\x67\x67\x6b\x7e" } , { "\xcc\xe8\xcd" , "\x67\x69" } , { "\xcc\xe8\xcd\xa2" , "\x67\x69\x7c" } , { "\xcc\xe8\xcd\xda" , "\x67\x69\x73" } , { "\xcc\xe8\xcd\xda\xa1" , "\x67\x69\x74" } , { "\xcc\xe8\xcd\xda\xa2" , "\x67\x69\x74" } , { "\xcc\xe8\xcd\xdb" , "\x75\x67\x69" } , { "\xcc\xe8\xcd\xdd" , "\x67\x69\x78" } , { "\xcc\xe8\xcd\xde" , "\x67\x69\x79" } , { "\xcc\xe8\xcd\xe1" , "\x67\x69\x7e" } , { "\xcc\xe8\xcd\xe5" , "\x67\x69\xa8" } , { "\xcc\xe8\xcd\xe5\xa2" , "\x67\x69\xaa" } , { "\xcc\xe8\xcd\xe6" , "\x67\x69\xac" } , { "\xcc\xe8\xcd\xe8\xcd" , "\x67\x68\x69" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\x67\x68\x69\x73" } , { "\xcc\xe8\xcf" , "\x67\xae" } , { "\xcc\xe8\xcf\xa2" , "\x67\xae\x7c" } , { "\xcc\xe8\xcf\xda" , "\x67\xae\x73" } , { "\xcc\xe8\xcf\xda\xa2" , "\x67\xae\x74" } , { "\xcc\xe8\xcf\xdb" , "\x75\x67\xae" } , { "\xcc\xe8\xcf\xdb\xa2" , "\x75\x67\xae\x7c" } , { "\xcc\xe8\xcf\xdc" , "\x67\xae\x76" } , { "\xcc\xe8\xcf\xdd" , "\x67\xae\x7a" } , { "\xcc\xe8\xcf\xde" , "\x67\xae\x7b" } , { "\xcc\xe8\xcf\xe0" , "\x67\xae\x7e" } , { "\xcc\xe8\xcf\xe1" , "\x67\xae\x7e" } , { "\xcc\xe8\xcf\xe4" , "\x67\xae\xa8" } , { "\xcc\xe8\xcf\xe5" , "\x67\xae\xa8" } , { "\xcc\xe8\xcf\xe5\xa2" , "\x67\xae\xaa" } , { "\xcc\xe8\xcf\xe8\xb3" , "\x67\x6a\x45" } , { "\xcc\xe8\xcf\xe8\xc2" , "\x67\x6a\x59" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\x67\x6a\x69\x73" } , { "\xcc\xe8\xd0\xe0" , "\x67\x6a\x7e" } , { "\xcc\xe8\xd1" , "\x67\x6b" } , { "\xcc\xe8\xd1\xa2" , "\x67\x6b\x7c" } , { "\xcc\xe8\xd1\xda" , "\x67\x6b\x73" } , { "\xcc\xe8\xd1\xda\xa2" , "\x67\x6b\x74" } , { "\xcc\xe8\xd1\xdb" , "\x75\x67\x6b" } , { "\xcc\xe8\xd1\xdc" , "\x67\x6b\x76" } , { "\xcc\xe8\xd1\xdd" , "\x67\x6b\x78" } , { "\xcc\xe8\xd1\xdd\xa2" , "\x67\x6b\x78\x7c" } , { "\xcc\xe8\xd1\xde" , "\x67\x6b\x79" } , { "\xcc\xe8\xd1\xe0" , "\x67\x6b\x7e" } , { "\xcc\xe8\xd1\xe1" , "\x67\x6b\x7e" } , { "\xcc\xe8\xd1\xe2" , "\x67\x6b\xa4" } , { "\xcc\xe8\xd1\xe5" , "\x67\x6b\xa8" } , { "\xcc\xe8\xd1\xe5\xa2" , "\x67\x6b\xaa" } , { "\xcc\xe8\xd1\xe8" , "\x67\x6b" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\x67\x6b\x69\x79" } , { "\xcc\xe8\xd4" , "\x67\xaf" } , { "\xcc\xe8\xd4\xa2" , "\x67\xaf\x7c" } , { "\xcc\xe8\xd4\xda" , "\x67\xaf\x73" } , { "\xcc\xe8\xd4\xdb" , "\x75\x67\xaf" } , { "\xcc\xe8\xd4\xdc" , "\x67\xaf\x76" } , { "\xcc\xe8\xd4\xdd\xa2" , "\x67\xaf\x7a\x7c" } , { "\xcc\xe8\xd4\xe0" , "\x67\xaf\x7e" } , { "\xcc\xe8\xd4\xe1" , "\x67\xaf\x7e" } , { "\xcc\xe8\xd4\xe2" , "\x67\xaf\xa4" } , { "\xcc\xe8\xd5" , "\x67\x6f" } , { "\xcc\xe8\xd5\xda" , "\x67\x6f\x73" } , { "\xcc\xe8\xd5\xdc" , "\x67\x6f\x76" } , { "\xcc\xe8\xd6" , "\x67\x6f" } , { "\xcc\xe8\xd6\xdc" , "\x67\x6f\x76" } , { "\xcc\xe8\xd7" , "\x67\x6e" } , { "\xcc\xe8\xd7\xda" , "\x67\x6e\x73" } , { "\xcc\xe8\xd7\xdb\xa2" , "\x75\x67\x6e\x7c" } , { "\xcc\xe8\xd7\xdd" , "\x67\x6e\x78" } , { "\xcc\xe8\xd7\xde" , "\x67\x6e\x79" } , { "\xcc\xe8\xd7\xe0" , "\x67\x6e\x7e" } , { "\xcc\xe8\xd7\xe1" , "\x67\x6e\x7e" } , { "\xcc\xe8\xd7\xe8" , "\x67\x6e" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\x67\x6e\x45\x76" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\x67\x6e\x45\x78" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\x67\x6e\x45\x6b" } , { "\xcc\xe8\xd7\xe8\xbd" , "\x67\x6e\x53" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\x67\x6e\x53\x73" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\x67\x6e\x53\x7e" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\x67\x6e\x53\x7e" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\x67\x6e\x53\xa8" } , { "\xcc\xe8\xd7\xe8\xbf" , "\x67\x6e\x55" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\x75\x67\x6e\x55" } , { "\xcc\xe8\xd7\xe8\xc2" , "\x67\x6e\x59" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\x67\x6e\x59\x76" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\x67\x6e\x59\xa8" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\x67\x6e\x60\x78" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\x67\x6e\x60" } , { "\xcc\xe8\xd7\xe8\xc8" , "\x67\x6e\x61" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\x75\x67\x6e\x61\xae" } , { "\xcc\xe8\xd7\xe8\xc9" , "\x67\x6e\x62" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\x67\x6e\x64\x74" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\x75\x67\x6e\x67" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\x67\x6e\x69\x73" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\x67\x6e\xae\x73" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\x67\x6e\x6b\x73" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\x67\x6e\x6b\x74" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\x67\x6e\x6b\xa8" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\x67\x6e\xaf\x73" } , { "\xcc\xe8\xd8" , "\x67\xad" } , { "\xcc\xe8\xd8\xa2" , "\x67\xad\x7c" } , { "\xcc\xe8\xd8\xda" , "\x67\xad\x73" } , { "\xcc\xe8\xd8\xda\xa2" , "\x67\xad\x74" } , { "\xcc\xe8\xd8\xdb" , "\x75\x67\xad" } , { "\xcc\xe8\xd8\xdc" , "\x67\xad\x76" } , { "\xcc\xe8\xd8\xdc\xa2" , "\x67\xad\x77" } , { "\xcc\xe8\xd8\xde" , "\x67\xad\x7b" } , { "\xcc\xe8\xd8\xe1" , "\x67\xad\x7e" } , { "\xcc\xe8\xd8\xe1\xa2" , "\x67\xad\xa2" } , { "\xcc\xe8\xd8\xe2\xa2" , "\x67\xad\xa6" } , { "\xcc\xe8\xd9\xcc\xe1" , "\x67\x67\x7e" } , { "\xcc\xe8\xd9\xcd" , "\x67\x68" } , { "\xcc\xe8\xe8" , "\x67" } , { "\xcc\xe8\xe9\xcf" , "\x67\xae" } , { "\xcc\xe9" , "\x67" } , { "\xcd" , "\x68" } , { "\xcd\xa1" , "\x68\x7c" } , { "\xcd\xa2" , "\x68\x7c" } , { "\xcd\xa2\xa3" , "\x68\x7c" } , { "\xcd\xa3" , "\x68\x7c" } , { "\xcd\xd0\xe8" , "\x68\x6a" } , { "\xcd\xda" , "\x68\x73" } , { "\xcd\xda\xa1" , "\x68\x74" } , { "\xcd\xda\xa2" , "\x68\x74" } , { "\xcd\xda\xa3" , "\x68\x73\x7c" } , { "\xcd\xdb" , "\x75\x68" } , { "\xcd\xdb\xa2" , "\x75\x68\x7c" } , { "\xcd\xdb\xa2\xa2" , "\x75\x68\x7c\x7d" } , { "\xcd\xdb\xa3" , "\x75\x68\x7c" } , { "\xcd\xdc" , "\x68\x76" } , { "\xcd\xdc\xa1" , "\x68\x77" } , { "\xcd\xdc\xa2" , "\x68\x77" } , { "\xcd\xdd" , "\x68\x78" } , { "\xcd\xdd\xa2" , "\x68\x78\x7c" } , { "\xcd\xdd\xa3" , "\x68\x78\x7c" } , { "\xcd\xde" , "\x68\x79" } , { "\xcd\xde\xa1" , "\x68\x79\x7c" } , { "\xcd\xde\xa2" , "\x68\x79\x7c" } , { "\xcd\xdf" , "\x75\x68\xae" } , { "\xcd\xe0" , "\x68\x7e" } , { "\xcd\xe0\xa2" , "\x68\xa2" } , { "\xcd\xe1" , "\x68\x7e" } , { "\xcd\xe1\xa1" , "\x68\xa2" } , { "\xcd\xe1\xa2" , "\x68\xa2" } , { "\xcd\xe1\xa3" , "\x68\x7e\x7c" } , { "\xcd\xe2" , "\x68\xa4" } , { "\xcd\xe2\xa2" , "\x68\xa6" } , { "\xcd\xe3" , "\x68\xa4" } , { "\xcd\xe4" , "\x68\xa8" } , { "\xcd\xe4\xa2" , "\x68\xaa" } , { "\xcd\xe5" , "\x68\xa8" } , { "\xcd\xe5\xa1" , "\x68\xaa" } , { "\xcd\xe5\xa2" , "\x68\xaa" } , { "\xcd\xe5\xa3" , "\x68\xa8\x7c" } , { "\xcd\xe6" , "\x68\xac" } , { "\xcd\xe6\xa2" , "\x68\xac\x72" } , { "\xcd\xe7" , "\x68\xac" } , { "\xcd\xe7\xa2" , "\x68\xac\x72" } , { "\xcd\xe8" , "\x68" } , { "\xcd\xe8\xb3" , "\x68\x45" } , { "\xcd\xe8\xb3\xdb" , "\x75\x68\x45" } , { "\xcd\xe8\xb3\xdb\xa2" , "\x75\x68\x45\x7c" } , { "\xcd\xe8\xb3\xdd" , "\x68\x45\x78" } , { "\xcd\xe8\xb3\xde" , "\x68\x45\x79" } , { "\xcd\xe8\xb3\xe1" , "\x68\x45\x7e" } , { "\xcd\xe8\xb3\xe5" , "\x68\x45\xa8" } , { "\xcd\xe8\xb5\xda" , "\x68\x49\x73" } , { "\xcd\xe8\xb8\xe1" , "\x68\x4d\x7e" } , { "\xcd\xe8\xb8\xe6" , "\x68\x4d\xac" } , { "\xcd\xe8\xbd" , "\x68\x53" } , { "\xcd\xe8\xbf\xa2" , "\x68\x55\x7c" } , { "\xcd\xe8\xbf\xdb" , "\x75\x68\x55" } , { "\xcd\xe8\xc1" , "\x68\x58" } , { "\xcd\xe8\xc2\xda" , "\x68\x59\x73" } , { "\xcd\xe8\xc2\xdd" , "\x68\x59\x78" } , { "\xcd\xe8\xc2\xe1" , "\x68\x59\x7e" } , { "\xcd\xe8\xc2\xe5" , "\x68\x59\xa8" } , { "\xcd\xe8\xc2\xe8\xc2" , "\x68\x59\x59" } , { "\xcd\xe8\xc2\xe8\xc6" , "\x68\x59\x60" } , { "\xcd\xe8\xc4\xda" , "\x68\x5d\x73" } , { "\xcd\xe8\xc6" , "\x68\x60" } , { "\xcd\xe8\xc6\xa2" , "\x68\x60\x7d" } , { "\xcd\xe8\xc6\xda" , "\x68\x60\x73" } , { "\xcd\xe8\xc6\xdb" , "\x75\x68\x60" } , { "\xcd\xe8\xc6\xdc" , "\x68\x60\x76" } , { "\xcd\xe8\xc6\xdd" , "\x68\x60\x78" } , { "\xcd\xe8\xc6\xe1" , "\x68\x60\xa1" } , { "\xcd\xe8\xc6\xe5" , "\x68\x60\xa9" } , { "\xcd\xe8\xc8\xde" , "\x68\x61\x79" } , { "\xcd\xe8\xc9\xe1" , "\x68\x62\x7e" } , { "\xcd\xe8\xca\xe0" , "\x68\x64\x7e" } , { "\xcd\xe8\xca\xe5" , "\x68\x64\xa8" } , { "\xcd\xe8\xcb\xdd" , "\x68\x65\x78" } , { "\xcd\xe8\xcc" , "\x68\x67" } , { "\xcd\xe8\xcc\xa2" , "\x68\x67\x7c" } , { "\xcd\xe8\xcc\xe0" , "\x68\x67\x7e" } , { "\xcd\xe8\xcc\xe0\xa2" , "\x68\x67\xa2" } , { "\xcd\xe8\xcd" , "\x68\x69" } , { "\xcd\xe8\xcd\xa2" , "\x68\x69\x7c" } , { "\xcd\xe8\xcd\xa2\xa2" , "\x68\x69\x7c\x7d" } , { "\xcd\xe8\xcd\xda" , "\x68\x69\x73" } , { "\xcd\xe8\xcd\xda\xa2" , "\x68\x69\x74" } , { "\xcd\xe8\xcd\xdb" , "\x75\x68\x69" } , { "\xcd\xe8\xcd\xdb\xa2" , "\x75\x68\x69\x7c" } , { "\xcd\xe8\xcd\xdc" , "\x68\x69\x76" } , { "\xcd\xe8\xcd\xdd" , "\x68\x69\x78" } , { "\xcd\xe8\xcd\xdd\xa2" , "\x68\x69\x78\x7c" } , { "\xcd\xe8\xcd\xde" , "\x68\x69\x79" } , { "\xcd\xe8\xcd\xe0" , "\x68\x69\x7e" } , { "\xcd\xe8\xcd\xe0\xa2" , "\x68\x69\xa2" } , { "\xcd\xe8\xcd\xe1" , "\x68\x69\x7e" } , { "\xcd\xe8\xcd\xe1\xa2" , "\x68\x69\xa2" } , { "\xcd\xe8\xcd\xe4" , "\x68\x69\xa8" } , { "\xcd\xe8\xcd\xe5" , "\x68\x69\xa8" } , { "\xcd\xe8\xcd\xe8" , "\x68\x68" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\x68\x68\x49\x73" } , { "\xcd\xe8\xcd\xe8\xcd" , "\x68\x68\x69" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\x68\x68\x69\x7c" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\x68\x68\x69\x73" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\x68\x68\x69\x7e" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\x68\x68\x68\x69\x73" } , { "\xcd\xe8\xcd\xe8\xcf" , "\x68\x68\xae" } , { "\xcd\xe8\xcf" , "\x68\xae" } , { "\xcd\xe8\xcf\xde" , "\x68\xae\x7b" } , { "\xcd\xe8\xcf\xe5" , "\x68\xae\xa8" } , { "\xcd\xe8\xcf\xe8" , "\x68\x6a" } , { "\xcd\xe8\xd1" , "\x68\x6b" } , { "\xcd\xe8\xd1\xa2" , "\x68\x6b\x7c" } , { "\xcd\xe8\xd1\xda\xa2" , "\x68\x6b\x74" } , { "\xcd\xe8\xd1\xdd" , "\x68\x6b\x78" } , { "\xcd\xe8\xd1\xde" , "\x68\x6b\x79" } , { "\xcd\xe8\xd1\xe0\xa2" , "\x68\x6b\xa2" } , { "\xcd\xe8\xd1\xe1" , "\x68\x6b\x7e" } , { "\xcd\xe8\xd1\xe4" , "\x68\x6b\xa8" } , { "\xcd\xe8\xd1\xe5" , "\x68\x6b\xa8" } , { "\xcd\xe8\xd1\xe8" , "\x68\x6b" } , { "\xcd\xe8\xd4" , "\x68\xaf" } , { "\xcd\xe8\xd4\xda" , "\x68\xaf\x73" } , { "\xcd\xe8\xd4\xdd" , "\x68\xaf\x7a" } , { "\xcd\xe8\xd5\xda" , "\x68\x6f\x73" } , { "\xcd\xe8\xd7" , "\x68\x6e" } , { "\xcd\xe8\xd7\xda" , "\x68\x6e\x73" } , { "\xcd\xe8\xd7\xdb\xa2" , "\x75\x68\x6e\x7c" } , { "\xcd\xe8\xd7\xe2" , "\x68\x6e\xa4" } , { "\xcd\xe8\xd7\xe8" , "\x68\x6e" } , { "\xcd\xe8\xd7\xe8\xb3" , "\x68\x6e\x45" } , { "\xcd\xe8\xe8" , "\x68" } , { "\xcd\xe8\xe9\xcf" , "\x68\xae" } , { "\xce" , "\x68" } , { "\xce\xa3" , "\x68\x7c" } , { "\xcf" , "\x6a" } , { "\xcf\xa1" , "\x6a\x7c" } , { "\xcf\xa2" , "\x6a\x7c" } , { "\xcf\xa2\xa2" , "\x6a\x7c\x7d" } , { "\xcf\xa3" , "\x6a\x7c" } , { "\xcf\xda" , "\x6a\x73" } , { "\xcf\xda\xa1" , "\x6a\x74" } , { "\xcf\xda\xa2" , "\x6a\x74" } , { "\xcf\xda\xa3" , "\x6a\x73\x7c" } , { "\xcf\xdb" , "\x75\x6a" } , { "\xcf\xdb\xa1" , "\x75\x6a\x7c" } , { "\xcf\xdb\xa2" , "\x75\x6a\x7c" } , { "\xcf\xdb\xa2\xa2" , "\x75\x6a\x7c\x7d" } , { "\xcf\xdb\xa3" , "\x75\x6a\x7c" } , { "\xcf\xdb\xce\xda" , "\x75\x6a\x68\x73" } , { "\xcf\xdc" , "\x6a\x76" } , { "\xcf\xdc\xa2" , "\x6a\x77" } , { "\xcf\xdc\xa2\xa2" , "\x6a\x77\x7d" } , { "\xcf\xdc\xa3" , "\x6a\x76\x7c" } , { "\xcf\xdd" , "\x6a\x78" } , { "\xcf\xdd\xa1" , "\x6a\x78\x7c" } , { "\xcf\xdd\xa2" , "\x6a\x78\x7c" } , { "\xcf\xdd\xa3" , "\x6a\x78\x7c" } , { "\xcf\xde" , "\x6a\x79" } , { "\xcf\xde\xa1" , "\x6a\x79\x7c" } , { "\xcf\xde\xa2" , "\x6a\x79\x7c" } , { "\xcf\xdf" , "\x75\x6a\xae" } , { "\xcf\xe0" , "\x6a\x7e" } , { "\xcf\xe0\xa2" , "\x6a\xa2" } , { "\xcf\xe0\xa3" , "\x6a\x7e\x7c" } , { "\xcf\xe1" , "\x6a\x7e" } , { "\xcf\xe1\xa2" , "\x6a\xa2" } , { "\xcf\xe2" , "\x6a\xa4" } , { "\xcf\xe2\xa2" , "\x6a\xa6" } , { "\xcf\xe2\xa3" , "\x6a\xa4\x7c" } , { "\xcf\xe2\xbd\xe8" , "\x6a\xa4\x53" } , { "\xcf\xe4" , "\x6a\xa8" } , { "\xcf\xe4\xa2" , "\x6a\xaa" } , { "\xcf\xe5" , "\x6a\xa8" } , { "\xcf\xe5\xa2" , "\x6a\xaa" } , { "\xcf\xe5\xa2\xa2" , "\x6a\xaa\x7d" } , { "\xcf\xe6" , "\x6a\xac" } , { "\xcf\xe6\xa2" , "\x6a\xac\x72" } , { "\xcf\xe7" , "\x6a\xac" } , { "\xcf\xe7\xa2" , "\x6a\xac\x72" } , { "\xcf\xe8" , "\x6a" } , { "\xcf\xe8\xb3" , "\x6a\x45" } , { "\xcf\xe8\xb3\xa2" , "\x6a\x45\x7c" } , { "\xcf\xe8\xb3\xda" , "\x6a\x45\x73" } , { "\xcf\xe8\xb3\xda\xa2" , "\x6a\x45\x74" } , { "\xcf\xe8\xb3\xdb" , "\x75\x6a\x45" } , { "\xcf\xe8\xb3\xdb\xa2" , "\x75\x6a\x45\x7c" } , { "\xcf\xe8\xb3\xdc" , "\x6a\x45\x76" } , { "\xcf\xe8\xb3\xdd" , "\x6a\x45\x78" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x6a\x45\x78\x7c" } , { "\xcf\xe8\xb3\xde" , "\x6a\x45\x79" } , { "\xcf\xe8\xb3\xe0" , "\x6a\x45\x7e" } , { "\xcf\xe8\xb3\xe0\xa2" , "\x6a\x45\xa2" } , { "\xcf\xe8\xb3\xe1" , "\x6a\x45\x7e" } , { "\xcf\xe8\xb3\xe1\xa2" , "\x6a\x45\xa2" } , { "\xcf\xe8\xb3\xe2" , "\x6a\x45\xa4" } , { "\xcf\xe8\xb3\xe4" , "\x6a\x45\xa8" } , { "\xcf\xe8\xb3\xe4\xa2" , "\x6a\x45\xaa" } , { "\xcf\xe8\xb3\xe5" , "\x6a\x45\xa8" } , { "\xcf\xe8\xb3\xe5\xa2" , "\x6a\x45\xaa" } , { "\xcf\xe8\xb3\xe6" , "\x6a\x45\xac" } , { "\xcf\xe8\xb3\xe6\xa2" , "\x6a\x45\xac\x72" } , { "\xcf\xe8\xb3\xe8" , "\x6a\x45" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x6a\x45\x45" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\x75\x6a\x45\x45" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x6a\x45\x45\x78" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x6a\x45\x49\x73" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x6a\x45\x49\x7e" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x6a\x45\x53" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\x75\x6a\x45\x53" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x6a\x45\x53\xaf\x7e" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x6a\x45\x59" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x6a\x45\x60\x78" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x6a\x45\x61\x7e" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x6a\x45\x62\x69\x79" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x6a\x45\x69\x78" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x6a\x45\x69\x79" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\x75\x6a\x46" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x6a\x46\x76" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x6a\x46\x7b\x7c" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\x6a\x46\xa4" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x6a\x45\x6b" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x6a\x45\x6b\x7c" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x6a\x45\x6b\x73" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x6a\x45\x6b\x74" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x6a\x45\x6b\x78" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\x6a\x45\x6b\x7e" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\x6a\x45\x6b\xa4" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\x6a\x45\x6b\xa8" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x6a\x45\xaf\x7c" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\x75\x6a\x45\xaf" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x6a\x45\xaf\x7e" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x6a\x45\x6f" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x6a\x45\x6f\x73" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\x6a\x45\x6f\xa4" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x6a\x45\x6f\x69" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x6a\x45\x6f\x69\xa8" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x6a\x45\x6e" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x6a\x45\x6e\x73" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\x75\x6a\x45\x6e" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x6a\x45\x6e\x78" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x6a\x45\x6e" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\x75\x6a\x45\x6e\x45" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x6a\x45\x6e\x49\x73" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x6a\x45\x6e\x60\x78" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\x6a\x45\x6e\x6b\x78" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x6a\x45\x6e\xaf\x7a" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x6a\x45\x6e\x6f\x73" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\x6a\x45\x6e\x6f\x53\x78" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\x75\x6a\x45\xad" } , { "\xcf\xe8\xb3\xe9" , "\x6a\x45" } , { "\xcf\xe8\xb4" , "\x6a\x47" } , { "\xcf\xe8\xb4\xa2" , "\x6a\x47\x7c" } , { "\xcf\xe8\xb4\xda" , "\x6a\x47\x73" } , { "\xcf\xe8\xb4\xdb" , "\x75\x6a\x47" } , { "\xcf\xe8\xb4\xdc" , "\x6a\x47\x76" } , { "\xcf\xe8\xb4\xdd" , "\x6a\x47\x78" } , { "\xcf\xe8\xb4\xe2" , "\x6a\x47\xa4" } , { "\xcf\xe8\xb4\xe4" , "\x6a\x47\xa8" } , { "\xcf\xe8\xb4\xe5" , "\x6a\x47\xa8" } , { "\xcf\xe8\xb4\xe5\xa2" , "\x6a\x47\xaa" } , { "\xcf\xe8\xb5" , "\x6a\x49" } , { "\xcf\xe8\xb5\xa2" , "\x6a\x49\x7c" } , { "\xcf\xe8\xb5\xa3" , "\x6a\x49\x7c" } , { "\xcf\xe8\xb5\xda" , "\x6a\x49\x73" } , { "\xcf\xe8\xb5\xda\xa2" , "\x6a\x49\x74" } , { "\xcf\xe8\xb5\xda\xa3" , "\x6a\x49\x73\x7c" } , { "\xcf\xe8\xb5\xdb" , "\x75\x6a\x49" } , { "\xcf\xe8\xb5\xdb\xa2" , "\x75\x6a\x49\x7c" } , { "\xcf\xe8\xb5\xdc" , "\x6a\x49\x76" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x6a\x49\x77" } , { "\xcf\xe8\xb5\xdd" , "\x6a\x49\x78" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x6a\x49\x78\x7c" } , { "\xcf\xe8\xb5\xde" , "\x6a\x49\x79" } , { "\xcf\xe8\xb5\xe0" , "\x6a\x49\x7e" } , { "\xcf\xe8\xb5\xe1" , "\x6a\x49\x7e" } , { "\xcf\xe8\xb5\xe2" , "\x6a\x49\xa4" } , { "\xcf\xe8\xb5\xe2\xa3" , "\x6a\x49\xa4\x7c" } , { "\xcf\xe8\xb5\xe4" , "\x6a\x49\xa8" } , { "\xcf\xe8\xb5\xe5" , "\x6a\x49\xa8" } , { "\xcf\xe8\xb5\xe5\xa2" , "\x6a\x49\xaa" } , { "\xcf\xe8\xb5\xe6\xa2" , "\x6a\x49\xac\x72" } , { "\xcf\xe8\xb5\xe8" , "\x6a\x49" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\x75\x6a\x49\x45" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x6a\x49\x52" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\x75\x6a\x49\x60" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x6a\x49\x67" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x6a\x49\x69" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x6a\x49\x69\x73" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x6a\x49\x69\x78" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x6a\x49\x69\x79" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\x6a\x49\x69\xa8" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x6a\x49\xae" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x6a\x49\xae\x7c" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x6a\x49\xae\x73" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x6a\x49\xae\x76" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\x6a\x49\xae\x7e" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\x6a\x49\xae\x7e" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x6a\x49\x6b\x78" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\x6a\x49\x6b\xa8" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x6a\x49\x6e" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x6a\x4a\x76" } , { "\xcf\xe8\xb5\xe9\xe1" , "\x6a\x4a\x7e" } , { "\xcf\xe8\xb6" , "\x6a\x4b" } , { "\xcf\xe8\xb6\xa2" , "\x6a\x4b\x7c" } , { "\xcf\xe8\xb6\xda" , "\x6a\x4b\x73" } , { "\xcf\xe8\xb6\xda\xa2" , "\x6a\x4b\x74" } , { "\xcf\xe8\xb6\xdb" , "\x75\x6a\x4b" } , { "\xcf\xe8\xb6\xdc" , "\x6a\x4b\x76" } , { "\xcf\xe8\xb6\xdd" , "\x6a\x4b\x78" } , { "\xcf\xe8\xb6\xde" , "\x6a\x4b\x79" } , { "\xcf\xe8\xb6\xe5" , "\x6a\x4b\xa8" } , { "\xcf\xe8\xb6\xe8" , "\x6a\x4b" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x6a\x4b\x69" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x6a\x4b\x69\x7c" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x6a\x4b\x69\x73" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x6a\x4b\x69\xa4" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x6a\x4b\xaf" } , { "\xcf\xe8\xb7" , "\x6a\x4c" } , { "\xcf\xe8\xb7\xa2" , "\x6a\x4c\x7c" } , { "\xcf\xe8\xb7\xdd" , "\x6a\x4c\x78" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x6a\x4c\x49" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x6a\x4c\x69" } , { "\xcf\xe8\xb8" , "\x6a\x4d" } , { "\xcf\xe8\xb8\xa2" , "\x6a\x4d\x7c" } , { "\xcf\xe8\xb8\xda" , "\x6a\x4d\x73" } , { "\xcf\xe8\xb8\xda\xa2" , "\x6a\x4d\x74" } , { "\xcf\xe8\xb8\xdb" , "\x75\x6a\x4d" } , { "\xcf\xe8\xb8\xdb\xa2" , "\x75\x6a\x4d\x7c" } , { "\xcf\xe8\xb8\xdc" , "\x6a\x4d\x76" } , { "\xcf\xe8\xb8\xdd" , "\x6a\x4d\x78" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x6a\x4d\x78\x7c" } , { "\xcf\xe8\xb8\xde" , "\x6a\x4d\x79" } , { "\xcf\xe8\xb8\xe0" , "\x6a\x4d\x7e" } , { "\xcf\xe8\xb8\xe0\xa2" , "\x6a\x4d\xa2" } , { "\xcf\xe8\xb8\xe1" , "\x6a\x4d\x7e" } , { "\xcf\xe8\xb8\xe1\xa2" , "\x6a\x4d\xa2" } , { "\xcf\xe8\xb8\xe2" , "\x6a\x4d\xa4" } , { "\xcf\xe8\xb8\xe4" , "\x6a\x4d\xa8" } , { "\xcf\xe8\xb8\xe4\xa2" , "\x6a\x4d\xaa" } , { "\xcf\xe8\xb8\xe5" , "\x6a\x4d\xa8" } , { "\xcf\xe8\xb8\xe5\xa2" , "\x6a\x4d\xaa" } , { "\xcf\xe8\xb8\xe6" , "\x6a\x4d\xac" } , { "\xcf\xe8\xb8\xe8" , "\x6a\x4d" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x6a\x4d\x49\x73" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x6a\x4d\x49\xae\x73" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\x6a\x4d\x4d\x7e" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x6a\x4d\x4e" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x6a\x4d\x4e\x73" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\x75\x6a\x4d\x4e" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\x75\x6a\x4d\x60" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x6a\x4d\x60\x78\x7d" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x6a\x4d\x62\x73" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x6a\x4d\x67\x76" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x6a\x4d\x6b" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\x6a\x4d\x6b\x7e" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\x6a\x4d\x6b\xa8" } , { "\xcf\xe8\xb9" , "\x6a\x4e" } , { "\xcf\xe8\xb9\xa2" , "\x6a\x4e\x7c" } , { "\xcf\xe8\xb9\xda" , "\x6a\x4e\x73" } , { "\xcf\xe8\xb9\xdb" , "\x75\x6a\x4e" } , { "\xcf\xe8\xb9\xdb\xa2" , "\x75\x6a\x4e\x7c" } , { "\xcf\xe8\xb9\xdc" , "\x6a\x4e\x76" } , { "\xcf\xe8\xb9\xdd" , "\x6a\x4e\x78" } , { "\xcf\xe8\xb9\xe1" , "\x6a\x4e\x7e" } , { "\xcf\xe8\xb9\xe1\xa2" , "\x6a\x4e\xa2" } , { "\xcf\xe8\xb9\xe4" , "\x6a\x4e\xa8" } , { "\xcf\xe8\xb9\xe5\xa2" , "\x6a\x4e\xaa" } , { "\xcf\xe8\xba" , "\x6a\x4f" } , { "\xcf\xe8\xba\xa2" , "\x6a\x4f\x7c" } , { "\xcf\xe8\xba\xda" , "\x6a\x4f\x73" } , { "\xcf\xe8\xba\xda\xa2" , "\x6a\x4f\x74" } , { "\xcf\xe8\xba\xdb" , "\x75\x6a\x4f" } , { "\xcf\xe8\xba\xdb\xa2" , "\x75\x6a\x4f\x7c" } , { "\xcf\xe8\xba\xdc" , "\x6a\x4f\x76" } , { "\xcf\xe8\xba\xdc\xa2" , "\x6a\x4f\x77" } , { "\xcf\xe8\xba\xdd" , "\x6a\x4f\x78" } , { "\xcf\xe8\xba\xdd\xa2" , "\x6a\x4f\x78\x7c" } , { "\xcf\xe8\xba\xde" , "\x6a\x4f\x79" } , { "\xcf\xe8\xba\xe0" , "\x6a\x4f\x7e" } , { "\xcf\xe8\xba\xe0\xa2" , "\x6a\x4f\xa2" } , { "\xcf\xe8\xba\xe1" , "\x6a\x4f\x7e" } , { "\xcf\xe8\xba\xe1\xa2" , "\x6a\x4f\xa2" } , { "\xcf\xe8\xba\xe2" , "\x6a\x4f\xa4" } , { "\xcf\xe8\xba\xe5" , "\x6a\x4f\xa8" } , { "\xcf\xe8\xba\xe5\xa2" , "\x6a\x4f\xaa" } , { "\xcf\xe8\xba\xe8" , "\x6a\x4f" } , { "\xcf\xe8\xba\xe8\xb5" , "\x6a\x4f\x49" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x6a\x4f\x49\x73" } , { "\xcf\xe8\xba\xe8\xb6" , "\x6a\x4f\x4b" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x6a\x75\x49\x41\x73" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\x6a\x75\x49\x42\x7e" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x6a\x4f\x53\x74" } , { "\xcf\xe8\xba\xe8\xbf" , "\x6a\x4f\x55" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x6a\x4f\x55" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x6a\x4f\x67\x73" } , { "\xcf\xe8\xba\xe8\xcd" , "\x6a\x4f\x69" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x6a\x4f\x69\x7c" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x6a\x4f\x69\x73" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x6a\x4f\x69\xa8" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x6a\x4f\x6b\x78" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\x6a\x4f\x6b\xa8" } , { "\xcf\xe8\xba\xe8\xd4" , "\x6a\x4f\xaf" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x6a\x4f\x6e\x45\x7e" } , { "\xcf\xe8\xba\xe9" , "\x6a\x50" } , { "\xcf\xe8\xba\xe9\xda" , "\x6a\x50\x73" } , { "\xcf\xe8\xba\xe9\xdc" , "\x6a\x50\x76" } , { "\xcf\xe8\xba\xe9\xdd" , "\x6a\x50\x78" } , { "\xcf\xe8\xba\xe9\xe1" , "\x6a\x50\x7e" } , { "\xcf\xe8\xba\xe9\xe5" , "\x6a\x50\xa8" } , { "\xcf\xe8\xbb" , "\x6a\x51" } , { "\xcf\xe8\xbb\xda" , "\x6a\x51\x73" } , { "\xcf\xe8\xbb\xdb" , "\x75\x6a\x51" } , { "\xcf\xe8\xbb\xdd" , "\x6a\x51\x78" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x6a\x51\xad" } , { "\xcf\xe8\xbc\xe1" , "\x6a\x52\x7e" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x6a\x52\x49" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x6a\x52\x55\x7e" } , { "\xcf\xe8\xbd" , "\x6a\x53" } , { "\xcf\xe8\xbd\xa2" , "\x6a\x53\x7c" } , { "\xcf\xe8\xbd\xda" , "\x6a\x53\x73" } , { "\xcf\xe8\xbd\xdb" , "\x75\x6a\x53" } , { "\xcf\xe8\xbd\xdb\xa2" , "\x75\x6a\x53\x7c" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\x75\x6a\x53\x6b" } , { "\xcf\xe8\xbd\xdc" , "\x6a\x53\x76" } , { "\xcf\xe8\xbd\xdd" , "\x6a\x53\x78" } , { "\xcf\xe8\xbd\xde" , "\x6a\x53\x79" } , { "\xcf\xe8\xbd\xe0" , "\x6a\x53\x7e" } , { "\xcf\xe8\xbd\xe0\xa2" , "\x6a\x53\xa2" } , { "\xcf\xe8\xbd\xe1" , "\x6a\x53\x7e" } , { "\xcf\xe8\xbd\xe1\xa2" , "\x6a\x53\xa2" } , { "\xcf\xe8\xbd\xe2" , "\x6a\x53\xa4" } , { "\xcf\xe8\xbd\xe4" , "\x6a\x53\xa8" } , { "\xcf\xe8\xbd\xe5" , "\x6a\x53\xa8" } , { "\xcf\xe8\xbd\xe5\xa2" , "\x6a\x53\xaa" } , { "\xcf\xe8\xbd\xe8" , "\x6a\x53" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\x75\x6a\x53\x45" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x6a\x53\x45\x78" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x6a\x53\x45\x7e" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x6a\x53\x45\x6b\x7e" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x6a\x53\x49\x7e" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x6a\x53\x49\x69\x73" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x6a\x53\x4d\x7e" } , { "\xcf\xe8\xbd\xe8\xba" , "\x6a\x53\x4f" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x6a\x53\x4f\x7e" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x6a\x53\x4f\xa4" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x6a\x53\x4f" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x6a\x53\x4f\x45" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x6a\x53\x4f\x49\x73" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x6a\x53\x4f\x59\xa8" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x6a\x53\x4f\x60\x78" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x6a\x53\x4f\x6b" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\x6a\x53\x53\xa4" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\x6a\x53\x53\xa8" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x6a\x53\x55\x73" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x6a\x53\x5f" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\x75\x6a\x53\x60" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x6a\x53\x60\x76" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x6a\x53\x60\x78\x7d" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x6a\x53\x60\x79" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x6a\x53\x61" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x6a\x53\x61\x73" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x6a\x53\x61\x7e" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x6a\x53\x62\x73" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\x75\x6a\x53\x62" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x6a\x53\x62\x7e" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\x6a\x53\x64\xae\x7e" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\x6a\x53\x64\xae\xa4" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\x6a\x53\x64\xae\xac" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\x75\x6a\x53\x67" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x6a\x53\x67\x76" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\x6a\x53\x67\xa2" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\x6a\x53\x67\xac" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x6a\x53\x69\x78" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x6a\x53\x69\x79" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x6a\x53\xae" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x6a\x53\xae\x73" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\x75\x6a\x53\xae" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x6a\x53\xae\x76" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\x6a\x53\xae\x7e" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\x6a\x53\xae\x7e" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\x6a\x53\xae\xa4" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x6a\x53\x6a" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x6a\x53\x6b" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x6a\x53\x6b\x74" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x6a\x53\x6b\x78" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\x6a\x53\x6b\x7e" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\x6a\x53\x6b\xa8" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\x6a\x53\x6b\xaa" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x6a\x53\x6b\x69\x74" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x6a\x53\xaf" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x6a\x53\xaf\x7e" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x6a\x53\x6e" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\x75\x6a\x53\x6e" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x6a\x53\x6e\x78" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x6a\x53\x6e\x7e" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x6a\x53\x6e\xa2" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x6a\x53\x6e" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x6a\x53\x6e\x45\x73" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\x6a\x75\x53\x6e\x45\xaf" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x6a\x53\x6e\x67" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x6a\x53\x6e\x6b\xa8" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x6a\x53\xad\x73" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x6a\x53\xad\x74" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\x75\x6a\x53\xad\x7c" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x6a\x53\xad\x7b" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x6a\x53\xad\xa8" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x6a\x53\x6e" } , { "\xcf\xe8\xbf" , "\x6a\x55" } , { "\xcf\xe8\xbf\xda" , "\x6a\x55\x73" } , { "\xcf\xe8\xbf\xda\xa2" , "\x6a\x55\x74" } , { "\xcf\xe8\xbf\xdb" , "\x75\x6a\x55" } , { "\xcf\xe8\xbf\xdb\xa2" , "\x75\x6a\x55\x7c" } , { "\xcf\xe8\xbf\xdc" , "\x6a\x55\x76" } , { "\xcf\xe8\xbf\xdd" , "\x6a\x55\x78" } , { "\xcf\xe8\xbf\xde" , "\x6a\x55\x79" } , { "\xcf\xe8\xbf\xe0" , "\x6a\x55\x7e" } , { "\xcf\xe8\xbf\xe0\xa2" , "\x6a\x55\xa2" } , { "\xcf\xe8\xbf\xe1" , "\x6a\x55\x7e" } , { "\xcf\xe8\xbf\xe2" , "\x6a\x55\xa4" } , { "\xcf\xe8\xbf\xe4" , "\x6a\x55\xa8" } , { "\xcf\xe8\xbf\xe5" , "\x6a\x55\xa8" } , { "\xcf\xe8\xbf\xe5\xa2" , "\x6a\x55\xaa" } , { "\xcf\xe8\xbf\xe8" , "\x6a\x55" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x6a\x55\x45" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\x75\x6a\x55\x45" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x6a\x55\x45\x76" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x6a\x55\x45\x78" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x6a\x55\x45\xa8" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x6a\x55\x45\x6b\xa4" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x6a\x55\x49\x73" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x6a\x55\x49\xae\x76" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x6a\x55\x4d\x7e" } , { "\xcf\xe8\xbf\xe8\xbf" , "\x6a\x55\x55" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\x75\x6a\x55\x55" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\x75\x6a\x55\x60" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x6a\x55\x60\x78" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\x6a\x55\x60\xa1" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x6a\x55\x64\x73" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\x6a\x55\x64\x7e" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\x6a\x55\x64\xa8" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\x6a\x55\x64\xae\xa4" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\x75\x6a\x55\x67\x7c" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\x6a\x55\x67\x7e" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x6a\x55\x69" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x6a\x55\x69\x7c" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x6a\x55\x69\x74" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x6a\x55\x69\x79" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\x6a\x55\x69\xa8" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x6a\x56\x73" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\x75\x6a\x56" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x6a\x56\x7a" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\x6a\x56\x7e" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x6a\x55\x6b" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x6a\x55\x6b\x76" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x6a\x55\x6b\x78" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\x6a\x55\x6b\xa4" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\x6a\x55\x6b\xa8" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x6a\x55\xaf" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x6a\x55\xaf\x7e" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x6a\x55\xaf\xa4" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x6a\x55\x6f\x73" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x6a\x55\x6e" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x6a\x55\x6e\x78" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x6a\x55\x6e\xa8" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x6a\x55\x6e" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x75\x6a\x55\x6e\x53" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x6a\x55\x6e\x53\x7e" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x6a\x55\x6e\xaf\x7e" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x6a\x55\xad\x7e" } , { "\xcf\xe8\xbf\xe9" , "\x6a\x5b" } , { "\xcf\xe8\xbf\xe9\xe1" , "\x6a\x5b\x7e" } , { "\xcf\xe8\xbf\xe9\xe5" , "\x6a\x5b\xa8" } , { "\xcf\xe8\xc0" , "\x6a\x57" } , { "\xcf\xe8\xc0\xda" , "\x6a\x57\x73" } , { "\xcf\xe8\xc0\xdd" , "\x6a\x57\x78" } , { "\xcf\xe8\xc0\xe8" , "\x6a\x57" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x6a\x57\x69" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x6a\x57\x69\x7c" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x6a\x57\x69\x73" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x6a\x57\x6e\x78" } , { "\xcf\xe8\xc1" , "\x6a\x58" } , { "\xcf\xe8\xc1\xa1" , "\x6a\x58\x7d" } , { "\xcf\xe8\xc1\xa2" , "\x6a\x58\x7d" } , { "\xcf\xe8\xc1\xa3" , "\x6a\x58\x7d" } , { "\xcf\xe8\xc1\xda" , "\x6a\x58\x73" } , { "\xcf\xe8\xc1\xda\xa2" , "\x6a\x58\x74" } , { "\xcf\xe8\xc1\xda\xa3" , "\x6a\x58\x73\x7d" } , { "\xcf\xe8\xc1\xdb" , "\x75\x6a\x58" } , { "\xcf\xe8\xc1\xdb\xa2" , "\x75\x6a\x58\x7c" } , { "\xcf\xe8\xc1\xdc" , "\x6a\x58\x76" } , { "\xcf\xe8\xc1\xdd" , "\x6a\x58\x78" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x6a\x58\x78\x7d" } , { "\xcf\xe8\xc1\xe0\xa2" , "\x6a\x58\xa2" } , { "\xcf\xe8\xc1\xe0\xa3" , "\x6a\x58\x7e\x7d" } , { "\xcf\xe8\xc1\xe1" , "\x6a\x58\xa1" } , { "\xcf\xe8\xc1\xe5" , "\x6a\x58\xa9" } , { "\xcf\xe8\xc1\xe5\xa2" , "\x6a\x58\xab" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x6a\x58\x4d\x78" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x6a\x58\x69" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x6a\x58\x69\x7d" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x6a\x58\x69\x73" } , { "\xcf\xe8\xc2" , "\x6a\x59" } , { "\xcf\xe8\xc2\xa2" , "\x6a\x59\x7c" } , { "\xcf\xe8\xc2\xda" , "\x6a\x59\x73" } , { "\xcf\xe8\xc2\xda\xa2" , "\x6a\x59\x74" } , { "\xcf\xe8\xc2\xdb" , "\x75\x6a\x59" } , { "\xcf\xe8\xc2\xdb\xa2" , "\x75\x6a\x59\x7c" } , { "\xcf\xe8\xc2\xdb\xa3" , "\x75\x6a\x59\x7c" } , { "\xcf\xe8\xc2\xdc" , "\x6a\x59\x76" } , { "\xcf\xe8\xc2\xdd" , "\x6a\x59\x78" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x6a\x59\x78\x7c" } , { "\xcf\xe8\xc2\xde" , "\x6a\x59\x79" } , { "\xcf\xe8\xc2\xde\xa2" , "\x6a\x59\x79\x7c" } , { "\xcf\xe8\xc2\xdf" , "\x75\x6a\x5a" } , { "\xcf\xe8\xc2\xe0" , "\x6a\x59\x7e" } , { "\xcf\xe8\xc2\xe1" , "\x6a\x59\x7e" } , { "\xcf\xe8\xc2\xe1\xa2" , "\x6a\x59\xa2" } , { "\xcf\xe8\xc2\xe2" , "\x6a\x59\xa4" } , { "\xcf\xe8\xc2\xe4" , "\x6a\x59\xa8" } , { "\xcf\xe8\xc2\xe5" , "\x6a\x59\xa8" } , { "\xcf\xe8\xc2\xe5\xa2" , "\x6a\x59\xaa" } , { "\xcf\xe8\xc2\xe6" , "\x6a\x59\xac" } , { "\xcf\xe8\xc2\xe8" , "\x6a\x59" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\x6a\x59\x45\xa8" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x6a\x59\x55\x7e" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x6a\x59\x59" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x6a\x59\x59\x73" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\x75\x6a\x59\x59" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x6a\x59\x59\x76" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\x6a\x59\x59\x7e" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\x6a\x59\x59\xa8" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x6a\x59\x59\xaf" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x6a\x59\x5c\x7e" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x6a\x59\x67" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x6a\x59\x69" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x6a\x59\x69\x7c" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x6a\x59\x69\x73" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x6a\x59\x69\x78" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\x6a\x59\x69\xaa" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x6a\x5a" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x6a\x5a\x7c" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\x75\x6a\x5a" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x6a\x5a\x76" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\x6a\x5a\x7e" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\x6a\x5a\xa4" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\x6a\x5a\xa8" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\x6a\x5a\xa8" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\x6a\x59\x6b\x7e" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x6a\x59\xaf" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\x75\x6a\x59\xaf" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x6a\x59\xaf\xa4" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x6a\x59\x6e" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\x6a\x59\x6e\xac" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x6a\x59\x6e" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\x6a\x59\x6e\x60\x69" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x6a\x59\x6e\x69" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x6a\x59\x6e\x69\x7c" } , { "\xcf\xe8\xc3" , "\x6a\x5c" } , { "\xcf\xe8\xc3\xa1" , "\x6a\x5c\x7c" } , { "\xcf\xe8\xc3\xa2" , "\x6a\x5c\x7c" } , { "\xcf\xe8\xc3\xa3" , "\x6a\x5c\x7c" } , { "\xcf\xe8\xc3\xda" , "\x6a\x5c\x73" } , { "\xcf\xe8\xc3\xda\xa2" , "\x6a\x5c\x74" } , { "\xcf\xe8\xc3\xdb" , "\x75\x6a\x5c" } , { "\xcf\xe8\xc3\xdb\xa2" , "\x75\x6a\x5c\x7c" } , { "\xcf\xe8\xc3\xdc" , "\x6a\x5c\x76" } , { "\xcf\xe8\xc3\xdd" , "\x6a\x5c\x78" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x6a\x5c\x78\x7c" } , { "\xcf\xe8\xc3\xde" , "\x6a\x5c\x79" } , { "\xcf\xe8\xc3\xe1" , "\x6a\x5c\x7e" } , { "\xcf\xe8\xc3\xe2" , "\x6a\x5c\xa4" } , { "\xcf\xe8\xc3\xe5" , "\x6a\x5c\xa8" } , { "\xcf\xe8\xc3\xe5\xa2" , "\x6a\x5c\xaa" } , { "\xcf\xe8\xc3\xe6" , "\x6a\x5c\xac" } , { "\xcf\xe8\xc3\xe8" , "\x6a\x5c" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x6a\x5c\x4d\x7e" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x6a\x5c\x65\x73" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x6a\x5c\x69" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x6a\x5c\x69\x7c" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x6a\x5c\x69\x73" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x6a\x5c\x69\x78" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x6a\x5c\x69\xaa" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x6a\x5c\x69\xac" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x6a\x5c\xae" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x6a\x5c\xae\x73" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\x6a\x5c\xae\xa8" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x6a\x5c\xaf" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x6a\x5c\xaf\x73" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x6a\x5c\x6e\x53\x7e" } , { "\xcf\xe8\xc4" , "\x6a\x5d" } , { "\xcf\xe8\xc4\xa2" , "\x6a\x5d\x7c" } , { "\xcf\xe8\xc4\xa3" , "\x6a\x5d\x7c" } , { "\xcf\xe8\xc4\xda" , "\x6a\x5d\x73" } , { "\xcf\xe8\xc4\xda\xa2" , "\x6a\x5d\x74" } , { "\xcf\xe8\xc4\xdb" , "\x75\x6a\x5d" } , { "\xcf\xe8\xc4\xdb\xa2" , "\x75\x6a\x5d\x7c" } , { "\xcf\xe8\xc4\xdc" , "\x6a\x5d\x76" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x6a\x5d\x77" } , { "\xcf\xe8\xc4\xdd" , "\x6a\x5d\x78" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x6a\x5d\x78\x7c" } , { "\xcf\xe8\xc4\xde" , "\x6a\x5d\x79" } , { "\xcf\xe8\xc4\xdf" , "\x75\x6a\x5e" } , { "\xcf\xe8\xc4\xe0" , "\x6a\x5d\x7e" } , { "\xcf\xe8\xc4\xe1" , "\x6a\x5d\x7e" } , { "\xcf\xe8\xc4\xe1\xa2" , "\x6a\x5d\xa2" } , { "\xcf\xe8\xc4\xe2" , "\x6a\x5d\xa4" } , { "\xcf\xe8\xc4\xe4" , "\x6a\x5d\xa8" } , { "\xcf\xe8\xc4\xe5" , "\x6a\x5d\xa8" } , { "\xcf\xe8\xc4\xe5\xa2" , "\x6a\x5d\xaa" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x6a\x5d\x5d" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x6a\x5d\x5d\x74" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x6a\x5d\x5f" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x6a\x5d\x5f\x73" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x6a\x5d\x5f\x74" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\x75\x6a\x5d\x5f" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\x6a\x5d\x5f\xaa" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\x6a\x5d\x67\x7e" } , { "\xcf\xe8\xc4\xe8\xcd" , "\x6a\x5d\x69" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\x6a\x5d\x69\x7c" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\x6a\x5d\x69\x73" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x6a\x5e" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x6a\x5e\x7c" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x6a\x5e\x73" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x6a\x5e\x76" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\x6a\x5e\xa8" } , { "\xcf\xe8\xc4\xe8\xd4" , "\x6a\x5d\xaf" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\x6a\x5d\xaf\x7c" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\x6a\x5d\xaf\x73" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\x75\x6a\x5d\x6f\x53" } , { "\xcf\xe8\xc5" , "\x6a\x5f" } , { "\xcf\xe8\xc5\xa2" , "\x6a\x5f\x7c" } , { "\xcf\xe8\xc5\xda" , "\x6a\x5f\x73" } , { "\xcf\xe8\xc5\xda\xa2" , "\x6a\x5f\x74" } , { "\xcf\xe8\xc5\xdb" , "\x75\x6a\x5f" } , { "\xcf\xe8\xc5\xdb\xa2" , "\x75\x6a\x5f\x7c" } , { "\xcf\xe8\xc5\xdc" , "\x6a\x5f\x76" } , { "\xcf\xe8\xc5\xdd" , "\x6a\x5f\x78" } , { "\xcf\xe8\xc5\xde" , "\x6a\x5f\x79" } , { "\xcf\xe8\xc5\xdf" , "\x75\x6a\x5f\xae" } , { "\xcf\xe8\xc5\xe0" , "\x6a\x5f\x7e" } , { "\xcf\xe8\xc5\xe1" , "\x6a\x5f\x7e" } , { "\xcf\xe8\xc5\xe5" , "\x6a\x5f\xa8" } , { "\xcf\xe8\xc5\xe5\xa2" , "\x6a\x5f\xaa" } , { "\xcf\xe8\xc5\xe8" , "\x6a\x5f" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x6a\x5f\x5d" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x6a\x5f\x5d\x73" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x6a\x5f\x5d\x74" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\x75\x6a\x5f\x60" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\x6a\x5f\x67\x7e" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x6a\x5f\x69" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x6a\x5f\x69\x7c" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x6a\x5f\x69\x73" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x6a\x5f\x69\xaa" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x6a\x5f\xae" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x6a\x5f\xae\x73" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x6a\x5f\x6a\x69\x7e" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x6a\x5f\xaf" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x6a\x5f\xaf\x7c" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x6a\x5f\xaf\x73" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x6a\x5f\xaf\x74" } , { "\xcf\xe8\xc6" , "\x6a\x60" } , { "\xcf\xe8\xc6\xa2" , "\x6a\x60\x7d" } , { "\xcf\xe8\xc6\xda" , "\x6a\x60\x73" } , { "\xcf\xe8\xc6\xda\xa2" , "\x6a\x60\x74" } , { "\xcf\xe8\xc6\xdb" , "\x75\x6a\x60" } , { "\xcf\xe8\xc6\xdb\xa2" , "\x75\x6a\x60\x7c" } , { "\xcf\xe8\xc6\xdc" , "\x6a\x60\x76" } , { "\xcf\xe8\xc6\xdd" , "\x6a\x60\x78" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x6a\x60\x78\x7d" } , { "\xcf\xe8\xc6\xde" , "\x6a\x60\x79" } , { "\xcf\xe8\xc6\xdf" , "\x75\x6a\x60\xae" } , { "\xcf\xe8\xc6\xe0" , "\x6a\x60\x7e" } , { "\xcf\xe8\xc6\xe0\xa2" , "\x6a\x60\xa2" } , { "\xcf\xe8\xc6\xe1" , "\x6a\x60\xa1" } , { "\xcf\xe8\xc6\xe1\xa2" , "\x6a\x60\xa3" } , { "\xcf\xe8\xc6\xe2" , "\x6a\x60\xa5" } , { "\xcf\xe8\xc6\xe4" , "\x6a\x60\xa8" } , { "\xcf\xe8\xc6\xe5" , "\x6a\x60\xa9" } , { "\xcf\xe8\xc6\xe5\xa2" , "\x6a\x60\xab" } , { "\xcf\xe8\xc6\xe8" , "\x6a\x60" } , { "\xcf\xe8\xc6\xe8\xbf" , "\x6a\x60\x55" } , { "\xcf\xe8\xc6\xe8\xc2" , "\x6a\x60\x59" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\x6a\x60\x5d\xa1" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x6a\x60\x60\x79" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\x6a\x60\x61\x79" } , { "\xcf\xe8\xc6\xe8\xca" , "\x6a\x60\x64" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\x6a\x60\x64\x7e" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x6a\x60\x64\x6b\xa2" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x6a\x60\x67\x73" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\x6a\x60\x67\xa2" } , { "\xcf\xe8\xc6\xe8\xd1" , "\x6a\x60\x6b" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\x6a\x60\x6b\x78" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\x6a\x60\x6b\xa1" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\x6a\x60\x6b\xa9" } , { "\xcf\xe8\xc6\xe8\xd4" , "\x6a\x60\xaf" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\x6a\x60\xaf\x73" } , { "\xcf\xe8\xc6\xe8\xd7" , "\x6a\x60\x6e" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\x6a\x60\x6e" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\x6a\x60\x6e\x45" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x6a\x60\x6e\x53\x73" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x6a\x60\x6e\x53\xa1" } , { "\xcf\xe8\xc6\xe8\xd8" , "\x6a\x60\xad" } , { "\xcf\xe8\xc8" , "\x6a\x61" } , { "\xcf\xe8\xc8\xa2" , "\x6a\x61\x7c" } , { "\xcf\xe8\xc8\xda" , "\x6a\x61\x73" } , { "\xcf\xe8\xc8\xda\xa2" , "\x6a\x61\x74" } , { "\xcf\xe8\xc8\xdb" , "\x75\x6a\x61" } , { "\xcf\xe8\xc8\xdb\xa2" , "\x75\x6a\x61\x7c" } , { "\xcf\xe8\xc8\xdc" , "\x6a\x61\x76" } , { "\xcf\xe8\xc8\xdd" , "\x6a\x61\x78" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x6a\x61\x78\x7c" } , { "\xcf\xe8\xc8\xde" , "\x6a\x61\x79" } , { "\xcf\xe8\xc8\xe0" , "\x6a\x61\x7e" } , { "\xcf\xe8\xc8\xe0\xa2" , "\x6a\x61\xa2" } , { "\xcf\xe8\xc8\xe1" , "\x6a\x61\x7e" } , { "\xcf\xe8\xc8\xe1\xa2" , "\x6a\x61\xa2" } , { "\xcf\xe8\xc8\xe2" , "\x6a\x61\xa4" } , { "\xcf\xe8\xc8\xe4" , "\x6a\x61\xa8" } , { "\xcf\xe8\xc8\xe4\xa2" , "\x6a\x61\xaa" } , { "\xcf\xe8\xc8\xe5" , "\x6a\x61\xa8" } , { "\xcf\xe8\xc8\xe5\xa2" , "\x6a\x61\xaa" } , { "\xcf\xe8\xc8\xe8" , "\x6a\x61" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\x6a\x61\x49\x73" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\x6a\x61\x59\xa8" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x6a\x61\x60\x78" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\x6a\x61\x69\x73" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\x6a\x61\x69\x79" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x6a\x61\xae" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x6a\x61\xae\x73" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\x75\x6a\x61\xae\x7c" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\x6a\x61\xae\x7e" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\x6a\x61\xae\xa2" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\x6a\x61\xae\xa4" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x6a\x61\x6b" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x6a\x61\x6b\x73" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x6a\x61\x6b\x74" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x6a\x61\x6b\x78" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\x6a\x61\x6b\x7e" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\x6a\x61\x6b\xa8" } , { "\xcf\xe8\xc9" , "\x6a\x62" } , { "\xcf\xe8\xc9\xda" , "\x6a\x62\x73" } , { "\xcf\xe8\xc9\xdb" , "\x75\x6a\x62" } , { "\xcf\xe8\xc9\xdc" , "\x6a\x62\x76" } , { "\xcf\xe8\xc9\xdd" , "\x6a\x62\x78" } , { "\xcf\xe8\xc9\xe0" , "\x6a\x62\x7e" } , { "\xcf\xe8\xc9\xe1" , "\x6a\x62\x7e" } , { "\xcf\xe8\xc9\xe2" , "\x6a\x62\xa4" } , { "\xcf\xe8\xc9\xe5" , "\x6a\x62\xa8" } , { "\xcf\xe8\xc9\xe5\xa2" , "\x6a\x62\xaa" } , { "\xcf\xe8\xc9\xe8" , "\x6a\x62" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x6a\x62\x45\x79" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x6a\x62\x55" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x6a\x62\x69\x79" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x6a\x62\x6b\x73" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x6a\x62\x6b\x79" } , { "\xcf\xe8\xc9\xe8\xd4" , "\x6a\x62\xaf" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\x6a\x62\xaf\x7e" } , { "\xcf\xe8\xc9\xe9" , "\x6a\x63" } , { "\xcf\xe8\xc9\xe9\xdc" , "\x6a\x63\x76" } , { "\xcf\xe8\xca" , "\x6a\x64" } , { "\xcf\xe8\xca\xa2" , "\x6a\x64\x7c" } , { "\xcf\xe8\xca\xda" , "\x6a\x64\x73" } , { "\xcf\xe8\xca\xdb" , "\x75\x6a\x64" } , { "\xcf\xe8\xca\xdb\xa2" , "\x75\x6a\x64\x7c" } , { "\xcf\xe8\xca\xdc" , "\x6a\x64\x76" } , { "\xcf\xe8\xca\xdd" , "\x6a\x64\x78" } , { "\xcf\xe8\xca\xde" , "\x6a\x64\x79" } , { "\xcf\xe8\xca\xe0" , "\x6a\x64\x7e" } , { "\xcf\xe8\xca\xe0\xa2" , "\x6a\x64\xa2" } , { "\xcf\xe8\xca\xe1" , "\x6a\x64\x7e" } , { "\xcf\xe8\xca\xe2" , "\x6a\x64\xa4" } , { "\xcf\xe8\xca\xe4" , "\x6a\x64\xa8" } , { "\xcf\xe8\xca\xe5" , "\x6a\x64\xa8" } , { "\xcf\xe8\xca\xe5\xa2" , "\x6a\x64\xaa" } , { "\xcf\xe8\xca\xe6" , "\x6a\x64\xac" } , { "\xcf\xe8\xca\xe8" , "\x6a\x64" } , { "\xcf\xe8\xca\xe8\xbf" , "\x6a\x64\x55" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\x75\x6a\x64\x5c" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\x6a\x64\x60\x6b\x78" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\x6a\x64\x69\x73" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\x6a\x64\x69\x78" } , { "\xcf\xe8\xca\xe8\xcf" , "\x6a\x64\xae" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\x6a\x64\xae\x73" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\x6a\x64\xae\xa8" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\x6a\x64\x6b" } , { "\xcf\xe8\xca\xe8\xd7" , "\x6a\x64\x6e" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\x6a\x64\x6e" } , { "\xcf\xe8\xcb" , "\x6a\x65" } , { "\xcf\xe8\xcb\xa2" , "\x6a\x65\x7c" } , { "\xcf\xe8\xcb\xa3" , "\x6a\x65\x7c" } , { "\xcf\xe8\xcb\xda" , "\x6a\x65\x73" } , { "\xcf\xe8\xcb\xda\xa2" , "\x6a\x65\x74" } , { "\xcf\xe8\xcb\xdb" , "\x75\x6a\x65" } , { "\xcf\xe8\xcb\xdb\xa2" , "\x75\x6a\x65\x7c" } , { "\xcf\xe8\xcb\xdc" , "\x6a\x65\x76" } , { "\xcf\xe8\xcb\xdd" , "\x6a\x65\x78" } , { "\xcf\xe8\xcb\xde" , "\x6a\x65\x79" } , { "\xcf\xe8\xcb\xde\xa3" , "\x6a\x65\x79\x7c" } , { "\xcf\xe8\xcb\xe1" , "\x6a\x65\x7e" } , { "\xcf\xe8\xcb\xe5" , "\x6a\x65\xa8" } , { "\xcf\xe8\xcb\xe5\xa2" , "\x6a\x65\xaa" } , { "\xcf\xe8\xcb\xe6" , "\x6a\x65\xac" } , { "\xcf\xe8\xcb\xe8\xcf" , "\x6a\x66" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\x6a\x66\x73" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\x6a\x65\x6e" } , { "\xcf\xe8\xcc" , "\x6a\x67" } , { "\xcf\xe8\xcc\xa2" , "\x6a\x67\x7c" } , { "\xcf\xe8\xcc\xa3" , "\x6a\x67\x7c" } , { "\xcf\xe8\xcc\xda" , "\x6a\x67\x73" } , { "\xcf\xe8\xcc\xda\xa1" , "\x6a\x67\x74" } , { "\xcf\xe8\xcc\xda\xa2" , "\x6a\x67\x74" } , { "\xcf\xe8\xcc\xdb" , "\x75\x6a\x67" } , { "\xcf\xe8\xcc\xdb\xa2" , "\x75\x6a\x67\x7c" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\x75\x6a\x67\x7c\x7d" } , { "\xcf\xe8\xcc\xdc" , "\x6a\x67\x76" } , { "\xcf\xe8\xcc\xdc\xa2" , "\x6a\x67\x77" } , { "\xcf\xe8\xcc\xdd" , "\x6a\x67\x78" } , { "\xcf\xe8\xcc\xdd\xa2" , "\x6a\x67\x78\x7c" } , { "\xcf\xe8\xcc\xde" , "\x6a\x67\x79" } , { "\xcf\xe8\xcc\xe0" , "\x6a\x67\x7e" } , { "\xcf\xe8\xcc\xe0\xa2" , "\x6a\x67\xa2" } , { "\xcf\xe8\xcc\xe1" , "\x6a\x67\x7e" } , { "\xcf\xe8\xcc\xe1\xa2" , "\x6a\x67\xa2" } , { "\xcf\xe8\xcc\xe2" , "\x6a\x67\xa4" } , { "\xcf\xe8\xcc\xe4" , "\x6a\x67\xa8" } , { "\xcf\xe8\xcc\xe5" , "\x6a\x67\xa8" } , { "\xcf\xe8\xcc\xe5\xa2" , "\x6a\x67\xaa" } , { "\xcf\xe8\xcc\xe8" , "\x6a\x67" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\x6a\x67\x45\x78" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\x6a\x67\x49\xae\x7a" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\x6a\x67\x4d\x7e" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\x6a\x67\x4d\xa8" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\x75\x6a\x67\x53" } , { "\xcf\xe8\xcc\xe8\xbf" , "\x6a\x67\x55" } , { "\xcf\xe8\xcc\xe8\xc2" , "\x6a\x67\x59" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\x6a\x67\x59\xa8" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\x6a\x67\x60\x7d" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\x6a\x67\x60\x73" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\x6a\x67\x60\x78" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\x6a\x67\x60\x78\x7d" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\x6a\x67\x62\x73" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\x6a\x67\x62\x76" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\x6a\x67\x65\x73" } , { "\xcf\xe8\xcc\xe8\xcc" , "\x6a\x67\x67" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\x6a\x67\x67\x73" } , { "\xcf\xe8\xcc\xe8\xcd" , "\x6a\x67\x69" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\x6a\x67\x69\x7c" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\x6a\x67\x69\x73" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\x6a\x67\x69\x78" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\x6a\x67\x69\xa8" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\x6a\x67\xae\xa8" } , { "\xcf\xe8\xcc\xe8\xd1" , "\x6a\x67\x6b" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\x6a\x67\x6b\x78" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\x6a\x67\x6b\xa8" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\x6a\x67\x6e\x78" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\x6a\x67\x6e" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x6a\x67\x6e\x53\xae\x74" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\x6a\x67\x6e\x59\xa8" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\x75\x6a\x67\x6e\x60" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\x75\x6a\x67\x6e\x61" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\x6a\x67\x6e\x67\x73" } , { "\xcf\xe8\xcd" , "\x6a\x69" } , { "\xcf\xe8\xcd\xa2" , "\x6a\x69\x7c" } , { "\xcf\xe8\xcd\xa3" , "\x6a\x69\x7c" } , { "\xcf\xe8\xcd\xda" , "\x6a\x69\x73" } , { "\xcf\xe8\xcd\xda\xa2" , "\x6a\x69\x74" } , { "\xcf\xe8\xcd\xdb" , "\x75\x6a\x69" } , { "\xcf\xe8\xcd\xdc" , "\x6a\x69\x76" } , { "\xcf\xe8\xcd\xdd" , "\x6a\x69\x78" } , { "\xcf\xe8\xcd\xdd\xa2" , "\x6a\x69\x78\x7c" } , { "\xcf\xe8\xcd\xde" , "\x6a\x69\x79" } , { "\xcf\xe8\xcd\xe1" , "\x6a\x69\x7e" } , { "\xcf\xe8\xcd\xe4" , "\x6a\x69\xa8" } , { "\xcf\xe8\xcd\xe5" , "\x6a\x69\xa8" } , { "\xcf\xe8\xcd\xe5\xa2" , "\x6a\x69\xaa" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\x6a\x68\x45\x79" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\x6a\x68\x5c\x7c" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\x6a\x68\x5c\x73" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\x6a\x68\x5d\x7c" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\x6a\x68\x5d\x73" } , { "\xcf\xe8\xcd\xe8\xc5" , "\x6a\x68\x5f" } , { "\xcf\xe8\xcd\xe8\xcd" , "\x6a\x68\x69" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\x6a\x68\x69\x73" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\x6a\x68\x69\x79" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\x6a\x68\x6a\x69" } , { "\xcf\xe8\xcd\xe8\xd4" , "\x6a\x68\xaf" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\x6a\x68\xaf\x73" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\x6a\x68\xaf\x7a" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\x6a\x68\xaf\x7b" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\x75\x6a\x68\x6f\x7c" } , { "\xcf\xe8\xcf" , "\x6a\xae" } , { "\xcf\xe8\xcf\xa2" , "\x6a\xae\x7c" } , { "\xcf\xe8\xcf\xda" , "\x6a\xae\x73" } , { "\xcf\xe8\xcf\xda\xa2" , "\x6a\xae\x74" } , { "\xcf\xe8\xcf\xdb" , "\x75\x6a\xae" } , { "\xcf\xe8\xcf\xdb\xa2" , "\x75\x6a\xae\x7c" } , { "\xcf\xe8\xcf\xdc" , "\x6a\xae\x76" } , { "\xcf\xe8\xcf\xdd" , "\x6a\xae\x7a" } , { "\xcf\xe8\xcf\xdd\xa2" , "\x6a\xae\x7a\x7c" } , { "\xcf\xe8\xcf\xde" , "\x6a\xae\x7b" } , { "\xcf\xe8\xcf\xe0" , "\x6a\xae\x7e" } , { "\xcf\xe8\xcf\xe0\xa2" , "\x6a\xae\xa2" } , { "\xcf\xe8\xcf\xe1" , "\x6a\xae\x7e" } , { "\xcf\xe8\xcf\xe1\xa2" , "\x6a\xae\xa2" } , { "\xcf\xe8\xcf\xe2" , "\x6a\xae\xa4" } , { "\xcf\xe8\xcf\xe4" , "\x6a\xae\xa8" } , { "\xcf\xe8\xcf\xe5" , "\x6a\xae\xa8" } , { "\xcf\xe8\xcf\xe5\xa2" , "\x6a\xae\xaa" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\x6a\x6a\x4d\x78" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\x6a\x6a\x53" } , { "\xcf\xe8\xcf\xe8\xcc" , "\x6a\x6a\x67" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\x6a\x6a\xae\x7c" } , { "\xcf\xe8\xcf\xe8\xd8" , "\x6a\x6a\xad" } , { "\xcf\xe8\xd0" , "\x6a\x6a" } , { "\xcf\xe8\xd0\xda" , "\x6a\x6a\x73" } , { "\xcf\xe8\xd0\xdb" , "\x75\x6a\x6a" } , { "\xcf\xe8\xd0\xe1\xa2" , "\x6a\x6a\xa2" } , { "\xcf\xe8\xd1" , "\x6a\x6b" } , { "\xcf\xe8\xd1\xa2" , "\x6a\x6b\x7c" } , { "\xcf\xe8\xd1\xda" , "\x6a\x6b\x73" } , { "\xcf\xe8\xd1\xda\xa1" , "\x6a\x6b\x74" } , { "\xcf\xe8\xd1\xda\xa2" , "\x6a\x6b\x74" } , { "\xcf\xe8\xd1\xdb" , "\x75\x6a\x6b" } , { "\xcf\xe8\xd1\xdb\xa2" , "\x75\x6a\x6b\x7c" } , { "\xcf\xe8\xd1\xdc" , "\x6a\x6b\x76" } , { "\xcf\xe8\xd1\xdd" , "\x6a\x6b\x78" } , { "\xcf\xe8\xd1\xdd\xa2" , "\x6a\x6b\x78\x7c" } , { "\xcf\xe8\xd1\xde" , "\x6a\x6b\x79" } , { "\xcf\xe8\xd1\xe0" , "\x6a\x6b\x7e" } , { "\xcf\xe8\xd1\xe0\xa2" , "\x6a\x6b\xa2" } , { "\xcf\xe8\xd1\xe1" , "\x6a\x6b\x7e" } , { "\xcf\xe8\xd1\xe1\xa2" , "\x6a\x6b\xa2" } , { "\xcf\xe8\xd1\xe2" , "\x6a\x6b\xa4" } , { "\xcf\xe8\xd1\xe4" , "\x6a\x6b\xa8" } , { "\xcf\xe8\xd1\xe5" , "\x6a\x6b\xa8" } , { "\xcf\xe8\xd1\xe5\xa2" , "\x6a\x6b\xaa" } , { "\xcf\xe8\xd1\xe8" , "\x6a\x6b" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\x6a\x6b\x50" } , { "\xcf\xe8\xd1\xe8\xbf" , "\x6a\x6b\x55" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\x6a\x6b\x59\xa8" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\x6a\x6b\x61\x6b" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\x6a\x6b\x62\x73" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\x6a\x6b\x67\x73" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\x6a\x6b\x69\x74" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\x6a\x6b\xaf\x7e" } , { "\xcf\xe8\xd1\xe8\xd7" , "\x6a\x6b\x6e" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\x6a\x6b\x6e\x78" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\x6a\x6b\x6e" } , { "\xcf\xe8\xd2" , "\x6a\x6b" } , { "\xcf\xe8\xd4" , "\x6a\xaf" } , { "\xcf\xe8\xd4\xa2" , "\x6a\xaf\x7c" } , { "\xcf\xe8\xd4\xa3" , "\x6a\xaf\x7c" } , { "\xcf\xe8\xd4\xda" , "\x6a\xaf\x73" } , { "\xcf\xe8\xd4\xda\xa2" , "\x6a\xaf\x74" } , { "\xcf\xe8\xd4\xdb" , "\x75\x6a\xaf" } , { "\xcf\xe8\xd4\xdb\xa2" , "\x75\x6a\xaf\x7c" } , { "\xcf\xe8\xd4\xdc" , "\x6a\xaf\x76" } , { "\xcf\xe8\xd4\xdd" , "\x6a\xaf\x7a" } , { "\xcf\xe8\xd4\xdd\xa2" , "\x6a\xaf\x7a\x7c" } , { "\xcf\xe8\xd4\xde" , "\x6a\xaf\x7b" } , { "\xcf\xe8\xd4\xdf" , "\x75\x6a\x6d\xae" } , { "\xcf\xe8\xd4\xe0" , "\x6a\xaf\x7e" } , { "\xcf\xe8\xd4\xe0\xa2" , "\x6a\xaf\xa2" } , { "\xcf\xe8\xd4\xe1" , "\x6a\xaf\x7e" } , { "\xcf\xe8\xd4\xe1\xa2" , "\x6a\xaf\xa2" } , { "\xcf\xe8\xd4\xe2" , "\x6a\xaf\xa4" } , { "\xcf\xe8\xd4\xe5" , "\x6a\xaf\xa8" } , { "\xcf\xe8\xd4\xe5\xa2" , "\x6a\xaf\xaa" } , { "\xcf\xe8\xd4\xe6" , "\x6a\xaf\xac" } , { "\xcf\xe8\xd4\xe8" , "\x6a\x6d" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\x6a\x6d\x4d\x7e" } , { "\xcf\xe8\xd4\xe8\xcd" , "\x6a\x6d\x69" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\x6a\x6d\x69\x73" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\x6a\x6d\x69\x78" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\x6a\x6d\x69\x79" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\x6a\x6d\x68\xaf" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\x6a\x6d\xae\x7a" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\x6a\x6d\x6b\xa8" } , { "\xcf\xe8\xd4\xe8\xd4" , "\x6a\x6d\xaf" } , { "\xcf\xe8\xd4\xe8\xd5" , "\x6a\x6d\x6f" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\x6a\x6d\xad\x76" } , { "\xcf\xe8\xd5" , "\x6a\x6f" } , { "\xcf\xe8\xd5\xa2" , "\x6a\x6f\x7c" } , { "\xcf\xe8\xd5\xa3" , "\x6a\x6f\x7c" } , { "\xcf\xe8\xd5\xda" , "\x6a\x6f\x73" } , { "\xcf\xe8\xd5\xda\xa2" , "\x6a\x6f\x74" } , { "\xcf\xe8\xd5\xdb" , "\x75\x6a\x6f" } , { "\xcf\xe8\xd5\xdb\xa2" , "\x75\x6a\x6f\x7c" } , { "\xcf\xe8\xd5\xdc" , "\x6a\x6f\x76" } , { "\xcf\xe8\xd5\xdd" , "\x6a\x6f\x78" } , { "\xcf\xe8\xd5\xe0" , "\x6a\x6f\x7e" } , { "\xcf\xe8\xd5\xe1" , "\x6a\x6f\x7e" } , { "\xcf\xe8\xd5\xe1\xa2" , "\x6a\x6f\xa2" } , { "\xcf\xe8\xd5\xe5" , "\x6a\x6f\xa8" } , { "\xcf\xe8\xd5\xe5\xa2" , "\x6a\x6f\xaa" } , { "\xcf\xe8\xd5\xe8\xcd" , "\x6a\x6f\x69" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\x6a\x6f\x69\x7c" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\x6a\x6f\x69\x73" } , { "\xcf\xe8\xd5\xe8\xcf" , "\x6a\x6f\xae" } , { "\xcf\xe8\xd5\xe8\xd4" , "\x6a\x6f\xaf" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\x6a\x6f\xaf\x7c" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\x6a\x6f\xaf\x73" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\x6a\x6f\xaf\x74" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\x75\x6a\x6f\xaf" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\x6a\x6f\xaf\xa8" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\x6a\x6f\xaf\xaa" } , { "\xcf\xe8\xd5\xe8\xd5" , "\x6a\x6f\x6f" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\x6a\x6f\x75\x42" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\x6a\x6f\x6d" } , { "\xcf\xe8\xd6" , "\x6a\x6f" } , { "\xcf\xe8\xd6\xa1" , "\x6a\x6f\x7c" } , { "\xcf\xe8\xd6\xa2" , "\x6a\x6f\x7c" } , { "\xcf\xe8\xd6\xda" , "\x6a\x6f\x73" } , { "\xcf\xe8\xd6\xda\xa2" , "\x6a\x6f\x74" } , { "\xcf\xe8\xd6\xdb" , "\x75\x6a\x6f" } , { "\xcf\xe8\xd6\xdb\xa2" , "\x75\x6a\x6f\x7c" } , { "\xcf\xe8\xd6\xdc" , "\x6a\x6f\x76" } , { "\xcf\xe8\xd6\xdd" , "\x6a\x6f\x78" } , { "\xcf\xe8\xd6\xe0" , "\x6a\x6f\x7e" } , { "\xcf\xe8\xd6\xe1" , "\x6a\x6f\x7e" } , { "\xcf\xe8\xd6\xe2" , "\x6a\x6f\xa4" } , { "\xcf\xe8\xd6\xe5" , "\x6a\x6f\xa8" } , { "\xcf\xe8\xd6\xe5\xa2" , "\x6a\x6f\xaa" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\x75\x6a\x6f\x45" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\x6a\x6f\x45\xa8" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\x6a\x6f\x49\x7e" } , { "\xcf\xe8\xd6\xe8\xbd" , "\x6a\x6f\x53" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\x6a\x6f\x53\xae" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\x6a\x6f\x53\xae\x76" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\x75\x6a\x6f\x58" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\x6a\x6f\x58\xa1" } , { "\xcf\xe8\xd6\xe8\xcd" , "\x6a\x6f\x69" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\x6a\x6f\x69\x73" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\x6a\x6f\x69\x7e" } , { "\xcf\xe8\xd7" , "\x6a\x6e" } , { "\xcf\xe8\xd7\xa2" , "\x6a\x6e\x7c" } , { "\xcf\xe8\xd7\xda" , "\x6a\x6e\x73" } , { "\xcf\xe8\xd7\xda\xa2" , "\x6a\x6e\x74" } , { "\xcf\xe8\xd7\xdb" , "\x75\x6a\x6e" } , { "\xcf\xe8\xd7\xdb\xa2" , "\x75\x6a\x6e\x7c" } , { "\xcf\xe8\xd7\xdc" , "\x6a\x6e\x76" } , { "\xcf\xe8\xd7\xdd" , "\x6a\x6e\x78" } , { "\xcf\xe8\xd7\xde" , "\x6a\x6e\x79" } , { "\xcf\xe8\xd7\xdf" , "\x75\x6a\x6e\xae" } , { "\xcf\xe8\xd7\xe0" , "\x6a\x6e\x7e" } , { "\xcf\xe8\xd7\xe0\xa2" , "\x6a\x6e\xa2" } , { "\xcf\xe8\xd7\xe1" , "\x6a\x6e\x7e" } , { "\xcf\xe8\xd7\xe1\xa2" , "\x6a\x6e\xa2" } , { "\xcf\xe8\xd7\xe2" , "\x6a\x6e\xa4" } , { "\xcf\xe8\xd7\xe5" , "\x6a\x6e\xa8" } , { "\xcf\xe8\xd7\xe5\xa2" , "\x6a\x6e\xaa" } , { "\xcf\xe8\xd7\xe8" , "\x6a\x6e" } , { "\xcf\xe8\xd7\xe8\xb3" , "\x6a\x6e\x45" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\x6a\x6e\x45\x73" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\x75\x6a\x6e\x45" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\x6a\x6e\x45\x76" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\x6a\x6e\x45\x78" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\x6a\x6e\x49\x73" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\x6a\x6e\x4d\x7e" } , { "\xcf\xe8\xd7\xe8\xbd" , "\x6a\x6e\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\x6a\x6e\x53\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\x6a\x6e\x53\x74" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\x75\x6a\x6e\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\x6a\x6e\x53\x78" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\x6a\x6e\x53\x7e" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\x6a\x6e\x53\x7e" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\x6a\x6e\x53\xa4" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\x6a\x6e\x53" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x6a\x6e\x53\xae\x74" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\x6a\x6e\x53\x6e\x5c" } , { "\xcf\xe8\xd7\xe8\xbf" , "\x6a\x6e\x55" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\x6a\x6e\x55\x7e" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\x6a\x6e\x55" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\x6a\x6e\x59\x78" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\x6a\x6e\x59\xa8" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\x6a\x6e\x5c\x73" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\x6a\x6e\x5c\x76" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x6a\x6e\x5d\xaf\x73" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\x75\x6a\x6e\x60" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\x6a\x6e\x60\x76" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\x6a\x6e\x60\x78" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\x6a\x6e\x60\x78\x7d" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\x6a\x6e\x60\xa1" } , { "\xcf\xe8\xd7\xe8\xc8" , "\x6a\x6e\x61" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\x6a\x6e\x61\x73" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\x6a\x6e\x61\x76" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\x6a\x6e\x61\x79" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\x6a\x6e\x61\x7e" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\x6a\x6e\x61\xa8" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\x6a\x6e\x61\xae\xa8" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x6a\x6e\x61\x6b\x73" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\x75\x6a\x6e\x61\x6b" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\x6a\x6e\x62\x69\x73" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\x75\x6a\x6e\x62\x6b" } , { "\xcf\xe8\xd7\xe8\xca" , "\x6a\x6e\x64" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\x6a\x6e\x64\xa8" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\x6a\x6e\x67\xa2" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\x6a\x6e\x67\xa8" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\x6a\x6e\x69\x79" } , { "\xcf\xe8\xd7\xe8\xd1" , "\x6a\x6e\x6b" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\x75\x6a\x6e\x6b" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\x6a\x6e\x6b\x76" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\x6a\x6e\x6b\x78" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\x6a\x6e\x6b\xa8" } , { "\xcf\xe8\xd7\xe8\xd4" , "\x6a\x6e\xaf" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\x6a\x6e\xaf\x73" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\x75\x6a\x6e\xaf" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\x6a\x6e\xaf\x7e" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\x6a\x6e\xaf\xa4" } , { "\xcf\xe8\xd7\xe8\xd7" , "\x6a\x6e\x6e" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\x6a\x6e\x6e\x73" } , { "\xcf\xe8\xd8" , "\x6a\xad" } , { "\xcf\xe8\xd8\xa2" , "\x6a\xad\x7c" } , { "\xcf\xe8\xd8\xda" , "\x6a\xad\x73" } , { "\xcf\xe8\xd8\xda\xa2" , "\x6a\xad\x74" } , { "\xcf\xe8\xd8\xdb" , "\x75\x6a\xad" } , { "\xcf\xe8\xd8\xdb\xa2" , "\x75\x6a\xad\x7c" } , { "\xcf\xe8\xd8\xdc" , "\x6a\xad\x76" } , { "\xcf\xe8\xd8\xdd" , "\x6a\xad\x7a" } , { "\xcf\xe8\xd8\xe0" , "\x6a\xad\x7e" } , { "\xcf\xe8\xd8\xe1" , "\x6a\xad\x7e" } , { "\xcf\xe8\xd8\xe1\xa2" , "\x6a\xad\xa2" } , { "\xcf\xe8\xd8\xe5" , "\x6a\xad\xa8" } , { "\xcf\xe8\xd8\xe6" , "\x6a\xad\xac" } , { "\xcf\xe8\xd8\xe8\xc4" , "\x6a\x70\x5d" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\x6a\x70\x60\x73" } , { "\xcf\xe8\xd8\xe8\xcd" , "\x6a\x70\x69" } , { "\xcf\xe8\xe8" , "\x6a" } , { "\xcf\xe9" , "\x6a" } , { "\xd0" , "\x6a" } , { "\xd0\xa2" , "\x6a\x7c" } , { "\xd0\xb3" , "\x6a\x45" } , { "\xd0\xb3\xe8\xd6\xda" , "\x6a\x45\x6f\x73" } , { "\xd0\xb4" , "\x6a\x47" } , { "\xd0\xb4\xda" , "\x6a\x47\x73" } , { "\xd0\xb4\xe1" , "\x6a\x47\x7e" } , { "\xd0\xbf" , "\x6a\x55" } , { "\xd0\xc3" , "\x6a\x5c" } , { "\xd0\xc4\xdf" , "\x6a\x75\x5e" } , { "\xd0\xca\xde" , "\x6a\x64\x79" } , { "\xd0\xcc" , "\x6a\x67" } , { "\xd0\xd0\xd7" , "\x6a\x6a\x6e" } , { "\xd0\xd4" , "\x6a\x6d" } , { "\xd0\xd8" , "\x6a\x70" } , { "\xd0\xd8\xe1" , "\x6a\x70\x7e" } , { "\xd0\xda" , "\x6a\x73" } , { "\xd0\xdb" , "\x75\x6a" } , { "\xd0\xdd" , "\x6a\x78" } , { "\xd0\xdd\xa2" , "\x6a\x78\x7c" } , { "\xd0\xe0" , "\x6a\x7e" } , { "\xd0\xe0\xa2" , "\x6a\xa2" } , { "\xd0\xe1" , "\x6a\x7e" } , { "\xd0\xe4" , "\x6a\xa8" } , { "\xd0\xe5" , "\x6a\xa8" } , { "\xd0\xe8\xd1\xdd" , "\x6a\x6b\x78" } , { "\xd1" , "\x6b" } , { "\xd1\xa1" , "\x6b\x7c" } , { "\xd1\xa1\xa2" , "\x6b\x7c\x7d" } , { "\xd1\xa2" , "\x6b\x7c" } , { "\xd1\xa2\xa2" , "\x6b\x7c\x7d" } , { "\xd1\xa3" , "\x6b\x7c" } , { "\xd1\xd9" , "\x6b" } , { "\xd1\xda" , "\x6b\x73" } , { "\xd1\xda\xa1" , "\x6b\x74" } , { "\xd1\xda\xa2" , "\x6b\x74" } , { "\xd1\xda\xa3" , "\x6b\x73\x7c" } , { "\xd1\xdb" , "\x75\x6b" } , { "\xd1\xdb\xa1" , "\x75\x6b\x7c" } , { "\xd1\xdb\xa2" , "\x75\x6b\x7c" } , { "\xd1\xdb\xa3" , "\x75\x6b\x7c" } , { "\xd1\xdb\xce\xe1" , "\x75\x6b\x68\x7e" } , { "\xd1\xdc" , "\x6b\x76" } , { "\xd1\xdc\xa2" , "\x6b\x77" } , { "\xd1\xdd" , "\x6b\x78" } , { "\xd1\xdd\xa2" , "\x6b\x78\x7c" } , { "\xd1\xdd\xa3" , "\x6b\x78\x7c" } , { "\xd1\xde" , "\x6b\x79" } , { "\xd1\xde\xa1" , "\x6b\x79\x7c" } , { "\xd1\xde\xa2" , "\x6b\x79\x7c" } , { "\xd1\xdf" , "\x75\x6b\xae" } , { "\xd1\xe0" , "\x6b\x7e" } , { "\xd1\xe0\xa2" , "\x6b\xa2" } , { "\xd1\xe1" , "\x6b\x7e" } , { "\xd1\xe1\xa2" , "\x6b\xa2" } , { "\xd1\xe2" , "\x6b\xa4" } , { "\xd1\xe2\xa2" , "\x6b\xa6" } , { "\xd1\xe2\xa3" , "\x6b\xa4\x7c" } , { "\xd1\xe4" , "\x6b\xa8" } , { "\xd1\xe4\xa2" , "\x6b\xaa" } , { "\xd1\xe5" , "\x6b\xa8" } , { "\xd1\xe5\xa2" , "\x6b\xaa" } , { "\xd1\xe6" , "\x6b\xac" } , { "\xd1\xe6\xa2" , "\x6b\xac\x72" } , { "\xd1\xe7" , "\x6b\xac" } , { "\xd1\xe7\xa2" , "\x6b\xac\x72" } , { "\xd1\xe8" , "\x6b" } , { "\xd1\xe8\xb3" , "\x6b\x45" } , { "\xd1\xe8\xb3\xa2" , "\x6b\x45\x7c" } , { "\xd1\xe8\xb3\xda" , "\x6b\x45\x73" } , { "\xd1\xe8\xb3\xda\xa2" , "\x6b\x45\x74" } , { "\xd1\xe8\xb3\xdb" , "\x75\x6b\x45" } , { "\xd1\xe8\xb3\xdb\xa2" , "\x75\x6b\x45\x7c" } , { "\xd1\xe8\xb3\xdc" , "\x6b\x45\x76" } , { "\xd1\xe8\xb3\xdd" , "\x6b\x45\x78" } , { "\xd1\xe8\xb3\xdd\xa2" , "\x6b\x45\x78\x7c" } , { "\xd1\xe8\xb3\xde" , "\x6b\x45\x79" } , { "\xd1\xe8\xb3\xe0" , "\x6b\x45\x7e" } , { "\xd1\xe8\xb3\xe1" , "\x6b\x45\x7e" } , { "\xd1\xe8\xb3\xe2" , "\x6b\x45\xa4" } , { "\xd1\xe8\xb3\xe4" , "\x6b\x45\xa8" } , { "\xd1\xe8\xb3\xe4\xa2" , "\x6b\x45\xaa" } , { "\xd1\xe8\xb3\xe5" , "\x6b\x45\xa8" } , { "\xd1\xe8\xb3\xe5\xa2" , "\x6b\x45\xaa" } , { "\xd1\xe8\xb3\xe6\xa2" , "\x6b\x45\xac\x72" } , { "\xd1\xe8\xb3\xe7" , "\x6b\x45\xac" } , { "\xd1\xe8\xb3\xe8" , "\x6b\x45" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\x6b\x45\x4d\xa8" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\x6b\x45\x53\xae\x73" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\x6b\x45\x5d\x73" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\x6b\x45\x5d\x69\x78" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\x6b\x45\x60\x78" } , { "\xd1\xe8\xb3\xe8\xcd" , "\x6b\x45\x69" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\x6b\x45\x69\x73" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\x6b\x45\x69\x78" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\x6b\x45\x69\x79" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\x75\x6b\x46" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\x75\x6b\x46\x7c" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\x6b\x46\x76" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\x6b\x46\x7e" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\x6b\x46\xa4" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\x6b\x46\xa8" } , { "\xd1\xe8\xb3\xe8\xd1" , "\x6b\x45\x6b" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\x6b\x45\x6b\x73" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\x6b\x45\x6b\xa4" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\x6b\x45\x6b\xa8" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\x6b\x45\x6f\x78" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\x6b\x45\x6e" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x6b\x45\x6e\x60\x78" } , { "\xd1\xe8\xb3\xe8\xd8" , "\x6b\x45\xad" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\x6b\x45\xad\x73" } , { "\xd1\xe8\xb4" , "\x6b\x47" } , { "\xd1\xe8\xb4\xa2" , "\x6b\x47\x7c" } , { "\xd1\xe8\xb4\xda" , "\x6b\x47\x73" } , { "\xd1\xe8\xb4\xdb" , "\x75\x6b\x47" } , { "\xd1\xe8\xb4\xdc" , "\x6b\x47\x76" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\x6b\x47\x66" } , { "\xd1\xe8\xb5" , "\x6b\x49" } , { "\xd1\xe8\xb5\xa2" , "\x6b\x49\x7c" } , { "\xd1\xe8\xb5\xda" , "\x6b\x49\x73" } , { "\xd1\xe8\xb5\xda\xa2" , "\x6b\x49\x74" } , { "\xd1\xe8\xb5\xdb" , "\x75\x6b\x49" } , { "\xd1\xe8\xb5\xdb\xa2" , "\x75\x6b\x49\x7c" } , { "\xd1\xe8\xb5\xdc" , "\x6b\x49\x76" } , { "\xd1\xe8\xb5\xdd" , "\x6b\x49\x78" } , { "\xd1\xe8\xb5\xdd\xa2" , "\x6b\x49\x78\x7c" } , { "\xd1\xe8\xb5\xde" , "\x6b\x49\x79" } , { "\xd1\xe8\xb5\xe0" , "\x6b\x49\x7e" } , { "\xd1\xe8\xb5\xe1" , "\x6b\x49\x7e" } , { "\xd1\xe8\xb5\xe2" , "\x6b\x49\xa4" } , { "\xd1\xe8\xb5\xe4" , "\x6b\x49\xa8" } , { "\xd1\xe8\xb5\xe4\xa2" , "\x6b\x49\xaa" } , { "\xd1\xe8\xb5\xe5" , "\x6b\x49\xa8" } , { "\xd1\xe8\xb5\xe6" , "\x6b\x49\xac" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\x6b\x49\xae\x7c" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\x6b\x49\xae\x73" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\x6b\x49\xae\x74" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\x75\x6b\x49\xae" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\x6b\x49\xae\x7b" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\x6b\x49\x6b\x73" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\x6b\x49\x6b\x74" } , { "\xd1\xe8\xb6" , "\x6b\x4b" } , { "\xd1\xe8\xb8" , "\x6b\x4d" } , { "\xd1\xe8\xb8\xa2" , "\x6b\x4d\x7c" } , { "\xd1\xe8\xb8\xda" , "\x6b\x4d\x73" } , { "\xd1\xe8\xb8\xdb" , "\x75\x6b\x4d" } , { "\xd1\xe8\xb8\xdb\xa2" , "\x75\x6b\x4d\x7c" } , { "\xd1\xe8\xb8\xdc" , "\x6b\x4d\x76" } , { "\xd1\xe8\xb8\xdd" , "\x6b\x4d\x78" } , { "\xd1\xe8\xb8\xdd\xa2" , "\x6b\x4d\x78\x7c" } , { "\xd1\xe8\xb8\xde" , "\x6b\x4d\x79" } , { "\xd1\xe8\xb8\xe0" , "\x6b\x4d\x7e" } , { "\xd1\xe8\xb8\xe1" , "\x6b\x4d\x7e" } , { "\xd1\xe8\xb8\xe4" , "\x6b\x4d\xa8" } , { "\xd1\xe8\xb8\xe4\xa2" , "\x6b\x4d\xaa" } , { "\xd1\xe8\xb8\xe5" , "\x6b\x4d\xa8" } , { "\xd1\xe8\xb8\xe6" , "\x6b\x4d\xac" } , { "\xd1\xe8\xb9\xdd" , "\x6b\x4e\x78" } , { "\xd1\xe8\xba" , "\x6b\x4f" } , { "\xd1\xe8\xba\xda" , "\x6b\x4f\x73" } , { "\xd1\xe8\xba\xdb" , "\x75\x6b\x4f" } , { "\xd1\xe8\xba\xdc" , "\x6b\x4f\x76" } , { "\xd1\xe8\xba\xdd" , "\x6b\x4f\x78" } , { "\xd1\xe8\xba\xde" , "\x6b\x4f\x79" } , { "\xd1\xe8\xba\xe0" , "\x6b\x4f\x7e" } , { "\xd1\xe8\xba\xe1" , "\x6b\x4f\x7e" } , { "\xd1\xe8\xba\xe8" , "\x6b\x4f" } , { "\xd1\xe8\xba\xe9" , "\x6b\x50" } , { "\xd1\xe8\xba\xe9\xda" , "\x6b\x50\x73" } , { "\xd1\xe8\xbb\xda" , "\x6b\x51\x73" } , { "\xd1\xe8\xbb\xdc" , "\x6b\x51\x76" } , { "\xd1\xe8\xbd" , "\x6b\x53" } , { "\xd1\xe8\xbd\xa2" , "\x6b\x53\x7c" } , { "\xd1\xe8\xbd\xda" , "\x6b\x53\x73" } , { "\xd1\xe8\xbd\xdb" , "\x75\x6b\x53" } , { "\xd1\xe8\xbd\xdb\xa2" , "\x75\x6b\x53\x7c" } , { "\xd1\xe8\xbd\xdc" , "\x6b\x53\x76" } , { "\xd1\xe8\xbd\xdd" , "\x6b\x53\x78" } , { "\xd1\xe8\xbd\xdd\xa2" , "\x6b\x53\x78\x7c" } , { "\xd1\xe8\xbd\xde" , "\x6b\x53\x79" } , { "\xd1\xe8\xbd\xe0" , "\x6b\x53\x7e" } , { "\xd1\xe8\xbd\xe0\xa2" , "\x6b\x53\xa2" } , { "\xd1\xe8\xbd\xe1" , "\x6b\x53\x7e" } , { "\xd1\xe8\xbd\xe2" , "\x6b\x53\xa4" } , { "\xd1\xe8\xbd\xe4" , "\x6b\x53\xa8" } , { "\xd1\xe8\xbd\xe5" , "\x6b\x53\xa8" } , { "\xd1\xe8\xbd\xe5\xa2" , "\x6b\x53\xaa" } , { "\xd1\xe8\xbd\xe8" , "\x6b\x53" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\x6b\x53\x49\x73" } , { "\xd1\xe8\xbd\xe8\xba" , "\x6b\x53\x4f" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\x6b\x53\x4f" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\x6b\x53\x4f\x67" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\x6b\x53\x60\x78" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\x6b\x53\x61\x76" } , { "\xd1\xe8\xbd\xe8\xcc" , "\x6b\x53\x67" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\x6b\x53\x67\x76" } , { "\xd1\xe8\xbd\xe8\xcf" , "\x6b\x53\xae" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\x6b\x53\xae\x73" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\x75\x6b\x53\xae" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\x6b\x53\xae\x76" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\x6b\x53\xae\x7e" } , { "\xd1\xe8\xbd\xe8\xd1" , "\x6b\x53\x6b" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\x6b\x53\x6b\x78" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\x6b\x53\x6b\xa8" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\x6b\x53\xaf\x7c" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\x6b\x53\xaf\xa4" } , { "\xd1\xe8\xbd\xe8\xd7" , "\x6b\x53\x6e" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\x6b\x53\x6e\x78" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\x6b\x53\x6e" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\x6b\x53\x6e\x61\x73" } , { "\xd1\xe8\xbf" , "\x6b\x55" } , { "\xd1\xe8\xbf\xa2" , "\x6b\x55\x7c" } , { "\xd1\xe8\xbf\xda" , "\x6b\x55\x73" } , { "\xd1\xe8\xbf\xdb" , "\x75\x6b\x55" } , { "\xd1\xe8\xbf\xdb\xa2" , "\x75\x6b\x55\x7c" } , { "\xd1\xe8\xbf\xdc" , "\x6b\x55\x76" } , { "\xd1\xe8\xbf\xdd" , "\x6b\x55\x78" } , { "\xd1\xe8\xbf\xde" , "\x6b\x55\x79" } , { "\xd1\xe8\xbf\xe0" , "\x6b\x55\x7e" } , { "\xd1\xe8\xbf\xe0\xa2" , "\x6b\x55\xa2" } , { "\xd1\xe8\xbf\xe1" , "\x6b\x55\x7e" } , { "\xd1\xe8\xbf\xe4" , "\x6b\x55\xa8" } , { "\xd1\xe8\xbf\xe5" , "\x6b\x55\xa8" } , { "\xd1\xe8\xbf\xe7" , "\x6b\x55\xac" } , { "\xd1\xe8\xbf\xe8" , "\x6b\x55" } , { "\xd1\xe8\xbf\xe8\xb3" , "\x6b\x55\x45" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\x6b\x55\x45\x78" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\x6b\x55\x46\x76" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\x6b\x55\x49\x73" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\x6b\x55\x49\x7e" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\x6b\x55\x49\xa8" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\x6b\x55\x53\xa4" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\x6b\x55\x55\xac" } , { "\xd1\xe8\xbf\xe8\xc2" , "\x6b\x55\x59" } , { "\xd1\xe8\xbf\xe8\xc8" , "\x6b\x55\x61" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\x75\x6b\x55\x62\x7c" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\x6b\x55\x62\xa8" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\x6b\x55\x64\xae\x7e" } , { "\xd1\xe8\xbf\xe8\xcc" , "\x6b\x55\x67" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\x6b\x55\x67\x73" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\x6b\x55\x67\x7e" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\x6b\x55\x67\x7e" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\x6b\x55\x69\x79" } , { "\xd1\xe8\xbf\xe8\xcf" , "\x6b\x56" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\x75\x6b\x56" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\x75\x6b\x56\x7c" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\x6b\x56\x76" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\x6b\x56\x7e" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\x6b\x56\x7e" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\x6b\x56\xa4" } , { "\xd1\xe8\xbf\xe8\xd1" , "\x6b\x55\x6b" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\x6b\x55\x6b\x78" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\x6b\x55\x6b\x79" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\x6b\x55\x6b\xa8" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\x75\x6b\x55\xaf" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\x6b\x55\xaf\x7e" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\x6b\x55\x6d\x6b" } , { "\xd1\xe8\xbf\xe8\xd7" , "\x6b\x55\x6e" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\x6b\x55\x6e" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\x6b\x55\x6e\x53\x76" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\x6b\x55\x6e\x53\xa4" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\x6b\x55\x6e\x61\x73" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\x6b\x55\x6e\x62\x73" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\x75\x6b\x55\x6e\x67" } , { "\xd1\xe8\xbf\xe9" , "\x6b\x5b" } , { "\xd1\xe8\xc0\xda" , "\x6b\x57\x73" } , { "\xd1\xe8\xc1" , "\x6b\x58" } , { "\xd1\xe8\xc2" , "\x6b\x59" } , { "\xd1\xe8\xc2\xda" , "\x6b\x59\x73" } , { "\xd1\xe8\xc2\xda\xa2" , "\x6b\x59\x74" } , { "\xd1\xe8\xc2\xdb" , "\x75\x6b\x59" } , { "\xd1\xe8\xc2\xdb\xa2" , "\x75\x6b\x59\x7c" } , { "\xd1\xe8\xc2\xdc" , "\x6b\x59\x76" } , { "\xd1\xe8\xc2\xdd" , "\x6b\x59\x78" } , { "\xd1\xe8\xc2\xdd\xa2" , "\x6b\x59\x78\x7c" } , { "\xd1\xe8\xc2\xde" , "\x6b\x59\x79" } , { "\xd1\xe8\xc2\xe0" , "\x6b\x59\x7e" } , { "\xd1\xe8\xc2\xe1" , "\x6b\x59\x7e" } , { "\xd1\xe8\xc2\xe4" , "\x6b\x59\xa8" } , { "\xd1\xe8\xc2\xe5" , "\x6b\x59\xa8" } , { "\xd1\xe8\xc2\xe5\xa2" , "\x6b\x59\xaa" } , { "\xd1\xe8\xc2\xe8" , "\x6b\x59" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\x6b\x59\x45\x6b" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\x6b\x59\x64\x6b\x73" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\x6b\x59\x67\x7c" } , { "\xd1\xe8\xc3" , "\x6b\x5c" } , { "\xd1\xe8\xc3\xda" , "\x6b\x5c\x73" } , { "\xd1\xe8\xc3\xdc" , "\x6b\x5c\x76" } , { "\xd1\xe8\xc3\xdd" , "\x6b\x5c\x78" } , { "\xd1\xe8\xc3\xde" , "\x6b\x5c\x79" } , { "\xd1\xe8\xc4" , "\x6b\x5d" } , { "\xd1\xe8\xc4\xa2" , "\x6b\x5d\x7c" } , { "\xd1\xe8\xc4\xda" , "\x6b\x5d\x73" } , { "\xd1\xe8\xc4\xda\xa2" , "\x6b\x5d\x74" } , { "\xd1\xe8\xc4\xdb" , "\x75\x6b\x5d" } , { "\xd1\xe8\xc4\xdc" , "\x6b\x5d\x76" } , { "\xd1\xe8\xc4\xdd" , "\x6b\x5d\x78" } , { "\xd1\xe8\xc4\xe1" , "\x6b\x5d\x7e" } , { "\xd1\xe8\xc4\xe1\xa2" , "\x6b\x5d\xa2" } , { "\xd1\xe8\xc4\xe4" , "\x6b\x5d\xa8" } , { "\xd1\xe8\xc4\xe5" , "\x6b\x5d\xa8" } , { "\xd1\xe8\xc4\xe5\xa2" , "\x6b\x5d\xaa" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\x6b\x5e\x7e" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\x6b\x5d\xaf\x73" } , { "\xd1\xe8\xc5" , "\x6b\x5f" } , { "\xd1\xe8\xc5\xda" , "\x6b\x5f\x73" } , { "\xd1\xe8\xc5\xdb" , "\x75\x6b\x5f" } , { "\xd1\xe8\xc6" , "\x6b\x60" } , { "\xd1\xe8\xc6\xa2" , "\x6b\x60\x7d" } , { "\xd1\xe8\xc6\xda" , "\x6b\x60\x73" } , { "\xd1\xe8\xc6\xdb" , "\x75\x6b\x60" } , { "\xd1\xe8\xc6\xdb\xa2" , "\x75\x6b\x60\x7c" } , { "\xd1\xe8\xc6\xdc" , "\x6b\x60\x76" } , { "\xd1\xe8\xc6\xdd" , "\x6b\x60\x78" } , { "\xd1\xe8\xc6\xdd\xa2" , "\x6b\x60\x78\x7d" } , { "\xd1\xe8\xc6\xde" , "\x6b\x60\x79" } , { "\xd1\xe8\xc6\xe0" , "\x6b\x60\x7e" } , { "\xd1\xe8\xc6\xe0\xa2" , "\x6b\x60\xa2" } , { "\xd1\xe8\xc6\xe1" , "\x6b\x60\xa1" } , { "\xd1\xe8\xc6\xe1\xa2" , "\x6b\x60\xa3" } , { "\xd1\xe8\xc6\xe2" , "\x6b\x60\xa5" } , { "\xd1\xe8\xc6\xe5" , "\x6b\x60\xa9" } , { "\xd1\xe8\xc6\xe8" , "\x6b\x60" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\x6b\x60\x45\x78" } , { "\xd1\xe8\xc8" , "\x6b\x61" } , { "\xd1\xe8\xc8\xa2" , "\x6b\x61\x7c" } , { "\xd1\xe8\xc8\xda" , "\x6b\x61\x73" } , { "\xd1\xe8\xc8\xda\xa2" , "\x6b\x61\x74" } , { "\xd1\xe8\xc8\xda\xa3" , "\x6b\x61\x73\x7c" } , { "\xd1\xe8\xc8\xdb" , "\x75\x6b\x61" } , { "\xd1\xe8\xc8\xdb\xa2" , "\x75\x6b\x61\x7c" } , { "\xd1\xe8\xc8\xdc" , "\x6b\x61\x76" } , { "\xd1\xe8\xc8\xdc\xa2" , "\x6b\x61\x77" } , { "\xd1\xe8\xc8\xdd" , "\x6b\x61\x78" } , { "\xd1\xe8\xc8\xdd\xa2" , "\x6b\x61\x78\x7c" } , { "\xd1\xe8\xc8\xde" , "\x6b\x61\x79" } , { "\xd1\xe8\xc8\xe0" , "\x6b\x61\x7e" } , { "\xd1\xe8\xc8\xe0\xa2" , "\x6b\x61\xa2" } , { "\xd1\xe8\xc8\xe1" , "\x6b\x61\x7e" } , { "\xd1\xe8\xc8\xe1\xa2" , "\x6b\x61\xa2" } , { "\xd1\xe8\xc8\xe2" , "\x6b\x61\xa4" } , { "\xd1\xe8\xc8\xe4" , "\x6b\x61\xa8" } , { "\xd1\xe8\xc8\xe5" , "\x6b\x61\xa8" } , { "\xd1\xe8\xc8\xe5\xa2" , "\x6b\x61\xaa" } , { "\xd1\xe8\xc8\xe8" , "\x6b\x61" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\x6b\x61\x49\xa8" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\x6b\x61\x69\x79" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\x6b\x61\xae\x73" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\x75\x6b\x61\xae" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\x6b\x61\xae\x7e" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\x6b\x61\xae\xa4" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\x6b\x61\xae\xa8" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\x6b\x61\x6b\x73" } , { "\xd1\xe8\xc8\xe8\xd7" , "\x6b\x61\x6e" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\x6b\x61\x6e" } , { "\xd1\xe8\xc9" , "\x6b\x62" } , { "\xd1\xe8\xc9\xa2" , "\x6b\x62\x7c" } , { "\xd1\xe8\xc9\xda" , "\x6b\x62\x73" } , { "\xd1\xe8\xc9\xdb" , "\x75\x6b\x62" } , { "\xd1\xe8\xc9\xdb\xa2" , "\x75\x6b\x62\x7c" } , { "\xd1\xe8\xc9\xdc" , "\x6b\x62\x76" } , { "\xd1\xe8\xc9\xdd" , "\x6b\x62\x78" } , { "\xd1\xe8\xc9\xde" , "\x6b\x62\x79" } , { "\xd1\xe8\xc9\xe0" , "\x6b\x62\x7e" } , { "\xd1\xe8\xc9\xe1" , "\x6b\x62\x7e" } , { "\xd1\xe8\xc9\xe1\xa2" , "\x6b\x62\xa2" } , { "\xd1\xe8\xc9\xe2" , "\x6b\x62\xa4" } , { "\xd1\xe8\xc9\xe4" , "\x6b\x62\xa8" } , { "\xd1\xe8\xc9\xe5" , "\x6b\x62\xa8" } , { "\xd1\xe8\xc9\xe5\xa2" , "\x6b\x62\xaa" } , { "\xd1\xe8\xc9\xe7" , "\x6b\x62\xac" } , { "\xd1\xe8\xc9\xe8" , "\x6b\x62" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\x6b\x62\x53" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\x6b\x62\x67\x73" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\x6b\x62\x69\x78" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\x6b\x62\x69\x79" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\x6b\x62\xae\x7c" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\x6b\x62\xae\x7e" } , { "\xd1\xe8\xc9\xe8\xd1" , "\x6b\x62\x6b" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\x6b\x62\x6b\xa4" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\x6b\x62\x6b\xa8" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\x6b\x62\xaf\x76" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\x6b\x62\x6e" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\x75\x6b\x62\xad" } , { "\xd1\xe8\xca" , "\x6b\x64" } , { "\xd1\xe8\xca\xa2" , "\x6b\x64\x7c" } , { "\xd1\xe8\xca\xda" , "\x6b\x64\x73" } , { "\xd1\xe8\xca\xda\xa2" , "\x6b\x64\x74" } , { "\xd1\xe8\xca\xdb" , "\x75\x6b\x64" } , { "\xd1\xe8\xca\xdc" , "\x6b\x64\x76" } , { "\xd1\xe8\xca\xdd" , "\x6b\x64\x78" } , { "\xd1\xe8\xca\xdf" , "\x75\x6b\x64\xae" } , { "\xd1\xe8\xca\xe0" , "\x6b\x64\x7e" } , { "\xd1\xe8\xca\xe1" , "\x6b\x64\x7e" } , { "\xd1\xe8\xca\xe2" , "\x6b\x64\xa4" } , { "\xd1\xe8\xca\xe5" , "\x6b\x64\xa8" } , { "\xd1\xe8\xca\xe5\xa2" , "\x6b\x64\xaa" } , { "\xd1\xe8\xca\xe8" , "\x6b\x64" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\x6b\x64\x45\x78" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\x6b\x64\x60\x78" } , { "\xd1\xe8\xca\xe8\xcd" , "\x6b\x64\x69" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\x6b\x64\x69\x73" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\x6b\x64\x69\x78" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\x6b\x64\x69\x79" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\x6b\x64\xae\x7b" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\x6b\x64\xae\x7e" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\x6b\x64\xae\x7e" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\x6b\x64\xae\xa8" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x6b\x64\x75\x6a\x53\x6e\x45" } , { "\xd1\xe8\xca\xe8\xd1" , "\x6b\x64\x6b" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\x6b\x64\x6b\x79" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\x6b\x64\x6b\xa8" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\x6b\x64\xaf\x7c" } , { "\xd1\xe8\xcb" , "\x6b\x65" } , { "\xd1\xe8\xcb\xa2" , "\x6b\x65\x7c" } , { "\xd1\xe8\xcb\xda" , "\x6b\x65\x73" } , { "\xd1\xe8\xcb\xdb\xa2" , "\x75\x6b\x65\x7c" } , { "\xd1\xe8\xcb\xdd" , "\x6b\x65\x78" } , { "\xd1\xe8\xcb\xde" , "\x6b\x65\x79" } , { "\xd1\xe8\xcb\xe2" , "\x6b\x65\xa4" } , { "\xd1\xe8\xcb\xe8\xcd" , "\x6b\x65\x69" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\x6b\x65\x69\x7c" } , { "\xd1\xe8\xcc" , "\x6b\x67" } , { "\xd1\xe8\xcc\xa2" , "\x6b\x67\x7c" } , { "\xd1\xe8\xcc\xda" , "\x6b\x67\x73" } , { "\xd1\xe8\xcc\xda\xa2" , "\x6b\x67\x74" } , { "\xd1\xe8\xcc\xdb" , "\x75\x6b\x67" } , { "\xd1\xe8\xcc\xdb\xa2" , "\x75\x6b\x67\x7c" } , { "\xd1\xe8\xcc\xdc" , "\x6b\x67\x76" } , { "\xd1\xe8\xcc\xdd" , "\x6b\x67\x78" } , { "\xd1\xe8\xcc\xde" , "\x6b\x67\x79" } , { "\xd1\xe8\xcc\xdf" , "\x75\x6b\x67\xae" } , { "\xd1\xe8\xcc\xe0" , "\x6b\x67\x7e" } , { "\xd1\xe8\xcc\xe0\xa2" , "\x6b\x67\xa2" } , { "\xd1\xe8\xcc\xe1" , "\x6b\x67\x7e" } , { "\xd1\xe8\xcc\xe1\xa2" , "\x6b\x67\xa2" } , { "\xd1\xe8\xcc\xe4" , "\x6b\x67\xa8" } , { "\xd1\xe8\xcc\xe5" , "\x6b\x67\xa8" } , { "\xd1\xe8\xcc\xe5\xa2" , "\x6b\x67\xaa" } , { "\xd1\xe8\xcc\xe7" , "\x6b\x67\xac" } , { "\xd1\xe8\xcc\xe8" , "\x6b\x67" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\x6b\x67\x45\xa8" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\x6b\x67\x49\x73" } , { "\xd1\xe8\xcc\xe8\xba" , "\x6b\x67\x4f" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\x6b\x67\x55\xa4" } , { "\xd1\xe8\xcc\xe8\xc6" , "\x6b\x67\x60" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\x6b\x67\x60\x78" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\x6b\x67\x67\x76" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\x6b\x67\x69\x73" } , { "\xd1\xe8\xcc\xe8\xd1" , "\x6b\x67\x6b" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\x6b\x67\x6b\x78" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\x6b\x67\x6b\xa8" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\x6b\x67\xaf\x7c" } , { "\xd1\xe8\xcc\xe8\xd7" , "\x6b\x67\x6e" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\x6b\x67\x6e\x62" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\x6b\x67\xad\xa8" } , { "\xd1\xe8\xcd" , "\x6b\x69" } , { "\xd1\xe8\xcd\xa2" , "\x6b\x69\x7c" } , { "\xd1\xe8\xcd\xda" , "\x6b\x69\x73" } , { "\xd1\xe8\xcd\xda\xa2" , "\x6b\x69\x74" } , { "\xd1\xe8\xcd\xdc" , "\x6b\x69\x76" } , { "\xd1\xe8\xcd\xdd" , "\x6b\x69\x78" } , { "\xd1\xe8\xcd\xde" , "\x6b\x69\x79" } , { "\xd1\xe8\xcd\xde\xa2" , "\x6b\x69\x79\x7c" } , { "\xd1\xe8\xcd\xe0" , "\x6b\x69\x7e" } , { "\xd1\xe8\xcd\xe0\xa2" , "\x6b\x69\xa2" } , { "\xd1\xe8\xcd\xe1" , "\x6b\x69\x7e" } , { "\xd1\xe8\xcd\xe4" , "\x6b\x69\xa8" } , { "\xd1\xe8\xcd\xe5" , "\x6b\x69\xa8" } , { "\xd1\xe8\xcd\xe5\xa2" , "\x6b\x69\xaa" } , { "\xd1\xe8\xcd\xe6" , "\x6b\x69\xac" } , { "\xd1\xe8\xcd\xe6\xa2" , "\x6b\x69\xac\x72" } , { "\xd1\xe8\xcd\xe7" , "\x6b\x69\xac" } , { "\xd1\xe8\xcd\xe8" , "\x6b\x68" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\x6b\x68\x69\x7c" } , { "\xd1\xe8\xcf" , "\x6b\xae" } , { "\xd1\xe8\xcf\xa2" , "\x6b\xae\x7c" } , { "\xd1\xe8\xcf\xda" , "\x6b\xae\x73" } , { "\xd1\xe8\xcf\xda\xa2" , "\x6b\xae\x74" } , { "\xd1\xe8\xcf\xdb" , "\x75\x6b\xae" } , { "\xd1\xe8\xcf\xdb\xa2" , "\x75\x6b\xae\x7c" } , { "\xd1\xe8\xcf\xdd" , "\x6b\xae\x7a" } , { "\xd1\xe8\xcf\xde" , "\x6b\xae\x7b" } , { "\xd1\xe8\xcf\xe0" , "\x6b\xae\x7e" } , { "\xd1\xe8\xcf\xe1" , "\x6b\xae\x7e" } , { "\xd1\xe8\xcf\xe2" , "\x6b\xae\xa4" } , { "\xd1\xe8\xcf\xe5" , "\x6b\xae\xa8" } , { "\xd1\xe8\xcf\xe6\xa2" , "\x6b\xae\xac\x72" } , { "\xd1\xe8\xcf\xe8\xbf" , "\x6b\x6a\x55" } , { "\xd1\xe8\xcf\xe8\xd7" , "\x6b\x6a\x6e" } , { "\xd1\xe8\xd1" , "\x6b\x6b" } , { "\xd1\xe8\xd1\xa2" , "\x6b\x6b\x7c" } , { "\xd1\xe8\xd1\xda" , "\x6b\x6b\x73" } , { "\xd1\xe8\xd1\xda\xa2" , "\x6b\x6b\x74" } , { "\xd1\xe8\xd1\xdb" , "\x75\x6b\x6b" } , { "\xd1\xe8\xd1\xdb\xa2" , "\x75\x6b\x6b\x7c" } , { "\xd1\xe8\xd1\xdc" , "\x6b\x6b\x76" } , { "\xd1\xe8\xd1\xdd" , "\x6b\x6b\x78" } , { "\xd1\xe8\xd1\xdd\xa2" , "\x6b\x6b\x78\x7c" } , { "\xd1\xe8\xd1\xde" , "\x6b\x6b\x79" } , { "\xd1\xe8\xd1\xde\xa1" , "\x6b\x6b\x79\x7c" } , { "\xd1\xe8\xd1\xe0" , "\x6b\x6b\x7e" } , { "\xd1\xe8\xd1\xe0\xa2" , "\x6b\x6b\xa2" } , { "\xd1\xe8\xd1\xe1" , "\x6b\x6b\x7e" } , { "\xd1\xe8\xd1\xe1\xa2" , "\x6b\x6b\xa2" } , { "\xd1\xe8\xd1\xe2" , "\x6b\x6b\xa4" } , { "\xd1\xe8\xd1\xe4" , "\x6b\x6b\xa8" } , { "\xd1\xe8\xd1\xe5" , "\x6b\x6b\xa8" } , { "\xd1\xe8\xd1\xe5\xa2" , "\x6b\x6b\xaa" } , { "\xd1\xe8\xd1\xe6" , "\x6b\x6b\xac" } , { "\xd1\xe8\xd1\xe8" , "\x6b\x6b" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\x6b\x6b\x49\x73" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\x6b\x6b\x61\x7e" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\x6b\x6b\x69\x79" } , { "\xd1\xe8\xd1\xe8\xd1" , "\x6b\x6b\x6b" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\x6b\x6b\x6b\xa8" } , { "\xd1\xe8\xd2" , "\x6b\x6b" } , { "\xd1\xe8\xd2\xda" , "\x6b\x6b\x73" } , { "\xd1\xe8\xd2\xda\xa2" , "\x6b\x6b\x74" } , { "\xd1\xe8\xd2\xdb" , "\x75\x6b\x6b" } , { "\xd1\xe8\xd2\xdb\xa2" , "\x75\x6b\x6b\x7c" } , { "\xd1\xe8\xd2\xdc" , "\x6b\x6b\x76" } , { "\xd1\xe8\xd2\xdd" , "\x6b\x6b\x78" } , { "\xd1\xe8\xd2\xe0" , "\x6b\x6b\x7e" } , { "\xd1\xe8\xd2\xe1" , "\x6b\x6b\x7e" } , { "\xd1\xe8\xd2\xe5" , "\x6b\x6b\xa8" } , { "\xd1\xe8\xd4" , "\x6b\xaf" } , { "\xd1\xe8\xd4\xa2" , "\x6b\xaf\x7c" } , { "\xd1\xe8\xd4\xda" , "\x6b\xaf\x73" } , { "\xd1\xe8\xd4\xda\xa2" , "\x6b\xaf\x74" } , { "\xd1\xe8\xd4\xdb" , "\x75\x6b\xaf" } , { "\xd1\xe8\xd4\xdb\xa2" , "\x75\x6b\xaf\x7c" } , { "\xd1\xe8\xd4\xdc" , "\x6b\xaf\x76" } , { "\xd1\xe8\xd4\xdd" , "\x6b\xaf\x7a" } , { "\xd1\xe8\xd4\xe0" , "\x6b\xaf\x7e" } , { "\xd1\xe8\xd4\xe0\xa2" , "\x6b\xaf\xa2" } , { "\xd1\xe8\xd4\xe1" , "\x6b\xaf\x7e" } , { "\xd1\xe8\xd4\xe2" , "\x6b\xaf\xa4" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\x6b\xaf\xa4\x60" } , { "\xd1\xe8\xd4\xe5" , "\x6b\xaf\xa8" } , { "\xd1\xe8\xd4\xe5\xa2" , "\x6b\xaf\xaa" } , { "\xd1\xe8\xd4\xe8" , "\x6b\x6d" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\x6b\x6d\x4d\x7e" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\x6b\x6d\x64\x7e" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\x6b\x6d\x65\x73" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\x6b\x6d\x67\xa2" } , { "\xd1\xe8\xd4\xe8\xcd" , "\x6b\x6d\x69" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\x6b\x6d\x69\x73" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\x6b\x6d\x69\x78" } , { "\xd1\xe8\xd4\xe8\xd1" , "\x6b\x6d\x6b" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\x6b\x6d\x6b\x73" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\x6b\x6d\x6b\x78" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\x6b\x6d\x6e\x76" } , { "\xd1\xe8\xd5" , "\x6b\x6f" } , { "\xd1\xe8\xd5\xda" , "\x6b\x6f\x73" } , { "\xd1\xe8\xd5\xdb" , "\x75\x6b\x6f" } , { "\xd1\xe8\xd5\xe8" , "\x6b\x6f" } , { "\xd1\xe8\xd6" , "\x6b\x6f" } , { "\xd1\xe8\xd6\xda" , "\x6b\x6f\x73" } , { "\xd1\xe8\xd6\xdb" , "\x75\x6b\x6f" } , { "\xd1\xe8\xd6\xe0" , "\x6b\x6f\x7e" } , { "\xd1\xe8\xd6\xe5" , "\x6b\x6f\xa8" } , { "\xd1\xe8\xd7" , "\x6b\x6e" } , { "\xd1\xe8\xd7\xa2" , "\x6b\x6e\x7c" } , { "\xd1\xe8\xd7\xda" , "\x6b\x6e\x73" } , { "\xd1\xe8\xd7\xdb" , "\x75\x6b\x6e" } , { "\xd1\xe8\xd7\xdb\xa2" , "\x75\x6b\x6e\x7c" } , { "\xd1\xe8\xd7\xdc" , "\x6b\x6e\x76" } , { "\xd1\xe8\xd7\xdd" , "\x6b\x6e\x78" } , { "\xd1\xe8\xd7\xdd\xa2" , "\x6b\x6e\x78\x7c" } , { "\xd1\xe8\xd7\xde" , "\x6b\x6e\x79" } , { "\xd1\xe8\xd7\xe0" , "\x6b\x6e\x7e" } , { "\xd1\xe8\xd7\xe0\xa2" , "\x6b\x6e\xa2" } , { "\xd1\xe8\xd7\xe1" , "\x6b\x6e\x7e" } , { "\xd1\xe8\xd7\xe2" , "\x6b\x6e\xa4" } , { "\xd1\xe8\xd7\xe4" , "\x6b\x6e\xa8" } , { "\xd1\xe8\xd7\xe6" , "\x6b\x6e\xac" } , { "\xd1\xe8\xd7\xe8" , "\x6b\x6e" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\x6b\x6e\x45\x73" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\x75\x6b\x6e\x45" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\x6b\x6e\x45\x76" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\x6b\x6e\x45\x78" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\x6b\x6e\x45\x79" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\x6b\x6e\x45\x7e" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\x6b\x6e\x45\xa8" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\x6b\x6e\x45" } , { "\xd1\xe8\xd7\xe8\xb5" , "\x6b\x6e\x49" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\x6b\x6e\x49\x73" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\x6b\x6e\x49\x7e" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\x6b\x6e\x4f\x7e" } , { "\xd1\xe8\xd7\xe8\xbd" , "\x6b\x6e\x53" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\x6b\x6e\x53\x73" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\x6b\x6e\x53\x74" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\x6b\x6e\x53\x7e" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\x6b\x6e\x53\xa4" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\x6b\x6e\x53\xaa" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x6b\x6e\x53\xae\xa8" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\x6b\x6e\x55\x73" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\x6b\x6e\x59\xa8" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\x6b\x6e\x5c\x73" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\x6b\x6e\x5d\x73" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x6b\x6e\x5d\xaf\x73" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\x6b\x6e\x5f\x73" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\x6b\x6e\x60\x73" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\x75\x6b\x6e\x60" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\x6b\x6e\x60\x76" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\x6b\x6e\x60\x78" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\x6b\x6e\x60" } , { "\xd1\xe8\xd7\xe8\xc8" , "\x6b\x6e\x61" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\x6b\x6e\x61\x73" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\x6b\x6e\x61\x79" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\x6b\x6e\x61\x7e" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\x6b\x6e\x61\xa8" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\x6b\x6e\x61\xa8" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\x6b\x6e\x62\x73" } , { "\xd1\xe8\xd7\xe8\xca" , "\x6b\x6e\x64" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\x6b\x6e\x64\x73" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\x6b\x6e\x64\xa8" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\x6b\x6e\x64\xa8" } , { "\xd1\xe8\xd7\xe8\xcc" , "\x6b\x6e\x67" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\x6b\x6e\x67\x76" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\x6b\x6e\x67\x7e" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\x6b\x6e\x6b\x73" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\x6b\x6e\x6b\x78" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\x6b\x6e\x6b\xa8" } , { "\xd1\xe8\xd7\xe8\xd4" , "\x6b\x6e\xaf" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\x6b\x6e\xaf\x73" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\x75\x6b\x6e\xaf" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\x6b\x6e\xaf\x7a" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\x6b\x6e\xad\x73" } , { "\xd1\xe8\xd8" , "\x6b\xad" } , { "\xd1\xe8\xd8\xda" , "\x6b\xad\x73" } , { "\xd1\xe8\xd8\xda\xa2" , "\x6b\xad\x74" } , { "\xd1\xe8\xd8\xdb" , "\x75\x6b\xad" } , { "\xd1\xe8\xd8\xdc" , "\x6b\xad\x76" } , { "\xd1\xe8\xd8\xdd" , "\x6b\xad\x7a" } , { "\xd1\xe8\xd8\xde" , "\x6b\xad\x7b" } , { "\xd1\xe8\xd8\xe0" , "\x6b\xad\x7e" } , { "\xd1\xe8\xd8\xe1" , "\x6b\xad\x7e" } , { "\xd1\xe8\xd8\xe1\xa2" , "\x6b\xad\xa2" } , { "\xd1\xe8\xd8\xe2" , "\x6b\xad\xa4" } , { "\xd1\xe8\xd8\xe5" , "\x6b\xad\xa8" } , { "\xd1\xe8\xd8\xe5\xa2" , "\x6b\xad\xaa" } , { "\xd1\xe8\xd8\xe6" , "\x6b\xad\xac" } , { "\xd1\xe8\xd9\xa6" , "\x6b\x75\x42" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\x6b\x6a\x4f" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\x6b\x6a\x55" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\x6b\x6a\x6e" } , { "\xd1\xe8\xe8" , "\x6b" } , { "\xd1\xe9" , "\x6c" } , { "\xd1\xe9\xe8\xbf" , "\x6c\x55" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\x75\x6c\x55\x7c" } , { "\xd2" , "\x6b" } , { "\xd2\xa2" , "\x6b\x7c" } , { "\xd2\xa3" , "\x6b\x7c" } , { "\xd2\xd3" , "\x6b\x6b" } , { "\xd2\xd6" , "\x6b\x6f" } , { "\xd2\xda" , "\x6b\x73" } , { "\xd2\xda\xa2" , "\x6b\x74" } , { "\xd2\xdb" , "\x75\x6b" } , { "\xd2\xdb\xa2" , "\x75\x6b\x7c" } , { "\xd2\xdb\xa3" , "\x75\x6b\x7c" } , { "\xd2\xdc" , "\x6b\x76" } , { "\xd2\xdd" , "\x6b\x78" } , { "\xd2\xdd\xa2" , "\x6b\x78\x7c" } , { "\xd2\xde" , "\x6b\x79" } , { "\xd2\xdf" , "\x75\x6b\xae" } , { "\xd2\xe0" , "\x6b\x7e" } , { "\xd2\xe0\xa2" , "\x6b\xa2" } , { "\xd2\xe1" , "\x6b\x7e" } , { "\xd2\xe1\xa2" , "\x6b\xa2" } , { "\xd2\xe2" , "\x6b\xa4" } , { "\xd2\xe2\xa2" , "\x6b\xa6" } , { "\xd2\xe4" , "\x6b\xa8" } , { "\xd2\xe5" , "\x6b\xa8" } , { "\xd2\xe6" , "\x6b\xac" } , { "\xd2\xe8" , "\x6b" } , { "\xd2\xe8\xb3" , "\x6b\x45" } , { "\xd2\xe8\xb3\xdd" , "\x6b\x45\x78" } , { "\xd2\xe8\xb4\xdd" , "\x6b\x47\x78" } , { "\xd2\xe8\xb5" , "\x6b\x49" } , { "\xd2\xe8\xb5\xdd" , "\x6b\x49\x78" } , { "\xd2\xe8\xb8" , "\x6b\x4d" } , { "\xd2\xe8\xbd\xdb" , "\x75\x6b\x53" } , { "\xd2\xe8\xbd\xdc" , "\x6b\x53\x76" } , { "\xd2\xe8\xc2" , "\x6b\x59" } , { "\xd2\xe8\xc2\xda" , "\x6b\x59\x73" } , { "\xd2\xe8\xc2\xda\xa2" , "\x6b\x59\x74" } , { "\xd2\xe8\xc2\xdb\xa2" , "\x75\x6b\x59\x7c" } , { "\xd2\xe8\xc2\xdd" , "\x6b\x59\x78" } , { "\xd2\xe8\xc2\xdd\xa2" , "\x6b\x59\x78\x7c" } , { "\xd2\xe8\xc2\xde" , "\x6b\x59\x79" } , { "\xd2\xe8\xc2\xde\xa2" , "\x6b\x59\x79\x7c" } , { "\xd2\xe8\xc2\xe0" , "\x6b\x59\x7e" } , { "\xd2\xe8\xc2\xe1" , "\x6b\x59\x7e" } , { "\xd2\xe8\xc2\xe5" , "\x6b\x59\xa8" } , { "\xd2\xe8\xc2\xe5\xa2" , "\x6b\x59\xaa" } , { "\xd2\xe8\xc3\xdd\xa2" , "\x6b\x5c\x78\x7c" } , { "\xd2\xe8\xc4" , "\x6b\x5d" } , { "\xd2\xe8\xc4\xda" , "\x6b\x5d\x73" } , { "\xd2\xe8\xc4\xda\xa2" , "\x6b\x5d\x74" } , { "\xd2\xe8\xc4\xdb" , "\x75\x6b\x5d" } , { "\xd2\xe8\xc4\xdd" , "\x6b\x5d\x78" } , { "\xd2\xe8\xc6\xdb" , "\x75\x6b\x60" } , { "\xd2\xe8\xc6\xdd" , "\x6b\x60\x78" } , { "\xd2\xe8\xc8" , "\x6b\x61" } , { "\xd2\xe8\xc8\xdd" , "\x6b\x61\x78" } , { "\xd2\xe8\xca" , "\x6b\x64" } , { "\xd2\xe8\xcd" , "\x6b\x69" } , { "\xd2\xe8\xcd\xa2" , "\x6b\x69\x7c" } , { "\xd2\xe8\xcd\xda" , "\x6b\x69\x73" } , { "\xd2\xe8\xcd\xda\xa2" , "\x6b\x69\x74" } , { "\xd2\xe8\xcd\xdd" , "\x6b\x69\x78" } , { "\xd2\xe8\xcd\xe8\xcd" , "\x6b\x68\x69" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\x6b\x68\x69\x73" } , { "\xd2\xe8\xcf" , "\x6b\xae" } , { "\xd2\xe8\xcf\xda" , "\x6b\xae\x73" } , { "\xd2\xe8\xcf\xdc" , "\x6b\xae\x76" } , { "\xd2\xe8\xcf\xe5" , "\x6b\xae\xa8" } , { "\xd2\xe8\xd1" , "\x6b\x6b" } , { "\xd2\xe8\xd1\xa2" , "\x6b\x6b\x7c" } , { "\xd2\xe8\xd1\xda" , "\x6b\x6b\x73" } , { "\xd2\xe8\xd1\xda\xa2" , "\x6b\x6b\x74" } , { "\xd2\xe8\xd1\xdb" , "\x75\x6b\x6b" } , { "\xd2\xe8\xd1\xdb\xa2" , "\x75\x6b\x6b\x7c" } , { "\xd2\xe8\xd1\xdc" , "\x6b\x6b\x76" } , { "\xd2\xe8\xd1\xdd" , "\x6b\x6b\x78" } , { "\xd2\xe8\xd1\xdd\xa2" , "\x6b\x6b\x78\x7c" } , { "\xd2\xe8\xd1\xde" , "\x6b\x6b\x79" } , { "\xd2\xe8\xd1\xe0" , "\x6b\x6b\x7e" } , { "\xd2\xe8\xd1\xe0\xa2" , "\x6b\x6b\xa2" } , { "\xd2\xe8\xd1\xe1" , "\x6b\x6b\x7e" } , { "\xd2\xe8\xd1\xe1\xa2" , "\x6b\x6b\xa2" } , { "\xd2\xe8\xd1\xe2" , "\x6b\x6b\xa4" } , { "\xd2\xe8\xd1\xe2\xa2" , "\x6b\x6b\xa6" } , { "\xd2\xe8\xd1\xe4" , "\x6b\x6b\xa8" } , { "\xd2\xe8\xd1\xe5" , "\x6b\x6b\xa8" } , { "\xd2\xe8\xd1\xe6" , "\x6b\x6b\xac" } , { "\xd2\xe8\xd2" , "\x6b\x6b" } , { "\xd2\xe8\xd2\xa2" , "\x6b\x6b\x7c" } , { "\xd2\xe8\xd2\xda" , "\x6b\x6b\x73" } , { "\xd2\xe8\xd2\xda\xa2" , "\x6b\x6b\x74" } , { "\xd2\xe8\xd2\xdb" , "\x75\x6b\x6b" } , { "\xd2\xe8\xd2\xdb\xa2" , "\x75\x6b\x6b\x7c" } , { "\xd2\xe8\xd2\xdc" , "\x6b\x6b\x76" } , { "\xd2\xe8\xd2\xdd" , "\x6b\x6b\x78" } , { "\xd2\xe8\xd2\xdd\xa2" , "\x6b\x6b\x78\x7c" } , { "\xd2\xe8\xd2\xde" , "\x6b\x6b\x79" } , { "\xd2\xe8\xd2\xe0" , "\x6b\x6b\x7e" } , { "\xd2\xe8\xd2\xe0\xa2" , "\x6b\x6b\xa2" } , { "\xd2\xe8\xd2\xe1" , "\x6b\x6b\x7e" } , { "\xd2\xe8\xd2\xe1\xa2" , "\x6b\x6b\xa2" } , { "\xd2\xe8\xd2\xe2" , "\x6b\x6b\xa4" } , { "\xd2\xe8\xd2\xe2\xa2" , "\x6b\x6b\xa6" } , { "\xd2\xe8\xd2\xe4" , "\x6b\x6b\xa8" } , { "\xd2\xe8\xd2\xe4\xa2" , "\x6b\x6b\xaa" } , { "\xd2\xe8\xd2\xe5" , "\x6b\x6b\xa8" } , { "\xd2\xe8\xd2\xe5\xa2" , "\x6b\x6b\xaa" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\x75\x6b\x6b\x60" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\x6b\x6b\x6b\xa8" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\x6b\x6b\x6b\x76" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\x6b\x6b\xaf\x7a" } , { "\xd2\xe8\xd4" , "\x6b\xaf" } , { "\xd2\xe8\xd4\xda" , "\x6b\xaf\x73" } , { "\xd2\xe8\xd4\xdb" , "\x75\x6b\xaf" } , { "\xd2\xe8\xd6\xdd" , "\x6b\x6f\x78" } , { "\xd2\xe8\xd7\xdb" , "\x75\x6b\x6e" } , { "\xd2\xe8\xd7\xdd" , "\x6b\x6e\x78" } , { "\xd2\xe8\xe8" , "\x6b" } , { "\xd3" , "\x6b" } , { "\xd3\xc9" , "\x6b\x62" } , { "\xd4" , "\x6d" } , { "\xd4\xa1" , "\x6d\x7c" } , { "\xd4\xa2" , "\x6d\x7c" } , { "\xd4\xa3" , "\x6d\x7c" } , { "\xd4\xda" , "\x6d\x73" } , { "\xd4\xda\xa1" , "\x6d\x74" } , { "\xd4\xda\xa2" , "\x6d\x74" } , { "\xd4\xda\xa3" , "\x6d\x73\x7c" } , { "\xd4\xdb" , "\x75\x6d" } , { "\xd4\xdb\xa2" , "\x75\x6d\x7c" } , { "\xd4\xdb\xa3" , "\x75\x6d\x7c" } , { "\xd4\xdb\xb3\xdf" , "\x75\x6d\x75\x46" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\x75\x6d\x75\x6e\x5a" } , { "\xd4\xdc" , "\x6d\x76" } , { "\xd4\xdc\xa2" , "\x6d\x77" } , { "\xd4\xdd" , "\x6d\x78" } , { "\xd4\xdd\xa1" , "\x6d\x78\x7c" } , { "\xd4\xdd\xa2" , "\x6d\x78\x7c" } , { "\xd4\xdd\xa2\xa2" , "\x6d\x78\x7c\x7d" } , { "\xd4\xdd\xa3" , "\x6d\x78\x7c" } , { "\xd4\xde" , "\x6d\x79" } , { "\xd4\xde\xa1" , "\x6d\x79\x7c" } , { "\xd4\xde\xa2" , "\x6d\x79\x7c" } , { "\xd4\xdf" , "\x75\x6d\xae" } , { "\xd4\xdf\xa2" , "\x75\x6d\xae\x7c" } , { "\xd4\xe0" , "\x6d\x7e" } , { "\xd4\xe0\xa2" , "\x6d\xa2" } , { "\xd4\xe1" , "\x6d\x7e" } , { "\xd4\xe1\xa2" , "\x6d\xa2" } , { "\xd4\xe1\xa3" , "\x6d\x7e\x7c" } , { "\xd4\xe2" , "\x6d\xa4" } , { "\xd4\xe2\xa2" , "\x6d\xa6" } , { "\xd4\xe2\xa3" , "\x6d\xa4\x7c" } , { "\xd4\xe2\xba\xe8" , "\x6d\xa4\x4f" } , { "\xd4\xe2\xd7\xe8" , "\x6d\xa4\x6e" } , { "\xd4\xe4" , "\x6d\xa8" } , { "\xd4\xe4\xa2" , "\x6d\xaa" } , { "\xd4\xe5" , "\x6d\xa8" } , { "\xd4\xe5\xa2" , "\x6d\xaa" } , { "\xd4\xe6" , "\x6d\xac" } , { "\xd4\xe7" , "\x6d\xac" } , { "\xd4\xe8" , "\x6d" } , { "\xd4\xe8\xa2" , "\x6d\x7d" } , { "\xd4\xe8\xb3" , "\x6d\x45" } , { "\xd4\xe8\xb3\xda" , "\x6d\x45\x73" } , { "\xd4\xe8\xb3\xdb" , "\x75\x6d\x45" } , { "\xd4\xe8\xb3\xdd" , "\x6d\x45\x78" } , { "\xd4\xe8\xb3\xde" , "\x6d\x45\x79" } , { "\xd4\xe8\xb3\xe0" , "\x6d\x45\x7e" } , { "\xd4\xe8\xb3\xe1" , "\x6d\x45\x7e" } , { "\xd4\xe8\xb3\xe5" , "\x6d\x45\xa8" } , { "\xd4\xe8\xb3\xe8\xb3" , "\x6d\x45\x45" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\x75\x6d\x45\x45" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\x6d\x45\x45\x78" } , { "\xd4\xe8\xb3\xe8\xc2" , "\x6d\x45\x59" } , { "\xd4\xe8\xb3\xe8\xcd" , "\x6d\x45\x69" } , { "\xd4\xe8\xb3\xe8\xd6" , "\x6d\x45\x6f" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\x6d\x45\x6f\x73" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\x6d\x45\x6f\xaa" } , { "\xd4\xe8\xb5\xda" , "\x6d\x49\x73" } , { "\xd4\xe8\xb5\xda\xa2" , "\x6d\x49\x74" } , { "\xd4\xe8\xb6" , "\x6d\x4b" } , { "\xd4\xe8\xb8" , "\x6d\x4d" } , { "\xd4\xe8\xb8\xda" , "\x6d\x4d\x73" } , { "\xd4\xe8\xb8\xdb" , "\x75\x6d\x4d" } , { "\xd4\xe8\xb8\xdd" , "\x6d\x4d\x78" } , { "\xd4\xe8\xb8\xe0" , "\x6d\x4d\x7e" } , { "\xd4\xe8\xb8\xe1" , "\x6d\x4d\x7e" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\x6d\x4d\x4d\x73" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\x6d\x4d\x4d\x78" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\x6d\x4d\x4d\x7e" } , { "\xd4\xe8\xba" , "\x6d\x4f" } , { "\xd4\xe8\xba\xdc" , "\x6d\x4f\x76" } , { "\xd4\xe8\xba\xe9" , "\x6d\x50" } , { "\xd4\xe8\xbd" , "\x6d\x53" } , { "\xd4\xe8\xbd\xa2" , "\x6d\x53\x7c" } , { "\xd4\xe8\xbd\xda" , "\x6d\x53\x73" } , { "\xd4\xe8\xbd\xe0" , "\x6d\x53\x7e" } , { "\xd4\xe8\xbd\xe2" , "\x6d\x53\xa4" } , { "\xd4\xe8\xbd\xe8" , "\x6d\x53" } , { "\xd4\xe8\xbd\xe8\xd1" , "\x6d\x53\x6b" } , { "\xd4\xe8\xbf" , "\x6d\x55" } , { "\xd4\xe8\xbf\xa2" , "\x6d\x55\x7c" } , { "\xd4\xe8\xbf\xda" , "\x6d\x55\x73" } , { "\xd4\xe8\xbf\xdb" , "\x75\x6d\x55" } , { "\xd4\xe8\xbf\xdd" , "\x6d\x55\x78" } , { "\xd4\xe8\xbf\xe0" , "\x6d\x55\x7e" } , { "\xd4\xe8\xc2" , "\x6d\x59" } , { "\xd4\xe8\xc2\xda" , "\x6d\x59\x73" } , { "\xd4\xe8\xc2\xda\xa2" , "\x6d\x59\x74" } , { "\xd4\xe8\xc2\xdb" , "\x75\x6d\x59" } , { "\xd4\xe8\xc2\xdc" , "\x6d\x59\x76" } , { "\xd4\xe8\xc2\xdd\xa2" , "\x6d\x59\x78\x7c" } , { "\xd4\xe8\xc2\xe5" , "\x6d\x59\xa8" } , { "\xd4\xe8\xc2\xe8\xc2" , "\x6d\x59\x59" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\x6d\x59\x59\x73" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\x6d\x59\x59\x74" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\x75\x6d\x59\x59" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\x6d\x59\x59\xaa" } , { "\xd4\xe8\xc2\xe8\xcd" , "\x6d\x59\x69" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\x6d\x59\x69\x73" } , { "\xd4\xe8\xc2\xe8\xd7" , "\x6d\x59\x6e" } , { "\xd4\xe8\xc3\xe0" , "\x6d\x5c\x7e" } , { "\xd4\xe8\xc4" , "\x6d\x5d" } , { "\xd4\xe8\xc4\xda" , "\x6d\x5d\x73" } , { "\xd4\xe8\xc4\xdb" , "\x75\x6d\x5d" } , { "\xd4\xe8\xc4\xdc" , "\x6d\x5d\x76" } , { "\xd4\xe8\xc4\xe5\xa2" , "\x6d\x5d\xaa" } , { "\xd4\xe8\xc4\xe8\xc5" , "\x6d\x5d\x5f" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\x6d\x5d\x5f\x73" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\x75\x6d\x5d\x5f" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\x6d\x5d\x5f\xaa" } , { "\xd4\xe8\xc4\xe8\xd4" , "\x6d\x5d\xaf" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\x75\x6d\x5d\xaf" } , { "\xd4\xe8\xc5" , "\x6d\x5f" } , { "\xd4\xe8\xc5\xda" , "\x6d\x5f\x73" } , { "\xd4\xe8\xc5\xdb" , "\x75\x6d\x5f" } , { "\xd4\xe8\xc6" , "\x6d\x60" } , { "\xd4\xe8\xc6\xa2" , "\x6d\x60\x7d" } , { "\xd4\xe8\xc6\xda" , "\x6d\x60\x73" } , { "\xd4\xe8\xc6\xdb" , "\x75\x6d\x60" } , { "\xd4\xe8\xc6\xdc" , "\x6d\x60\x76" } , { "\xd4\xe8\xc6\xdd" , "\x6d\x60\x78" } , { "\xd4\xe8\xc6\xdd\xa2" , "\x6d\x60\x78\x7d" } , { "\xd4\xe8\xc6\xde" , "\x6d\x60\x79" } , { "\xd4\xe8\xc6\xe0" , "\x6d\x60\x7e" } , { "\xd4\xe8\xc6\xe1" , "\x6d\x60\xa1" } , { "\xd4\xe8\xc6\xe4" , "\x6d\x60\xa8" } , { "\xd4\xe8\xc6\xe5" , "\x6d\x60\xa9" } , { "\xd4\xe8\xc6\xe8\xc4" , "\x6d\x60\x5d" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\x6d\x60\x5d\x73" } , { "\xd4\xe8\xc8" , "\x6d\x61" } , { "\xd4\xe8\xc8\xda" , "\x6d\x61\x73" } , { "\xd4\xe8\xc8\xdb" , "\x75\x6d\x61" } , { "\xd4\xe8\xc8\xdd" , "\x6d\x61\x78" } , { "\xd4\xe8\xc8\xe2" , "\x6d\x61\xa4" } , { "\xd4\xe8\xc8\xe8\xcf" , "\x6d\x61\xae" } , { "\xd4\xe8\xc9" , "\x6d\x62" } , { "\xd4\xe8\xca" , "\x6d\x64" } , { "\xd4\xe8\xca\xdd" , "\x6d\x64\x78" } , { "\xd4\xe8\xca\xe5" , "\x6d\x64\xa8" } , { "\xd4\xe8\xcb" , "\x6d\x65" } , { "\xd4\xe8\xcb\xda" , "\x6d\x65\x73" } , { "\xd4\xe8\xcc\xdb" , "\x75\x6d\x67" } , { "\xd4\xe8\xcc\xdc" , "\x6d\x67\x76" } , { "\xd4\xe8\xcc\xe0" , "\x6d\x67\x7e" } , { "\xd4\xe8\xcc\xe0\xa2" , "\x6d\x67\xa2" } , { "\xd4\xe8\xcc\xe1" , "\x6d\x67\x7e" } , { "\xd4\xe8\xcd" , "\x6d\x69" } , { "\xd4\xe8\xcd\xa2" , "\x6d\x69\x7c" } , { "\xd4\xe8\xcd\xa3" , "\x6d\x69\x7c" } , { "\xd4\xe8\xcd\xda" , "\x6d\x69\x73" } , { "\xd4\xe8\xcd\xda\xa1" , "\x6d\x69\x74" } , { "\xd4\xe8\xcd\xda\xa2" , "\x6d\x69\x74" } , { "\xd4\xe8\xcd\xdc" , "\x6d\x69\x76" } , { "\xd4\xe8\xcd\xdd" , "\x6d\x69\x78" } , { "\xd4\xe8\xcd\xdd\xa2" , "\x6d\x69\x78\x7c" } , { "\xd4\xe8\xcd\xde" , "\x6d\x69\x79" } , { "\xd4\xe8\xcd\xe1" , "\x6d\x69\x7e" } , { "\xd4\xe8\xcd\xe2" , "\x6d\x69\xa4" } , { "\xd4\xe8\xcd\xe4" , "\x6d\x69\xa8" } , { "\xd4\xe8\xcd\xe5" , "\x6d\x69\xa8" } , { "\xd4\xe8\xcd\xe5\xa2" , "\x6d\x69\xaa" } , { "\xd4\xe8\xcd\xe6" , "\x6d\x69\xac" } , { "\xd4\xe8\xcd\xe6\xa2" , "\x6d\x69\xac\x72" } , { "\xd4\xe8\xcd\xe8\xb3" , "\x6d\x68\x45" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\x75\x6d\x68\x45" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\x6d\x68\x45\x59" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\x75\x6d\x68\x45\x59" } , { "\xd4\xe8\xcd\xe8\xcd" , "\x6d\x68\x69" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\x6d\x68\x69\x7c" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\x6d\x68\x69\x73" } , { "\xd4\xe8\xcf" , "\x6d\xae" } , { "\xd4\xe8\xcf\xa2" , "\x6d\xae\x7c" } , { "\xd4\xe8\xcf\xda" , "\x6d\xae\x73" } , { "\xd4\xe8\xcf\xdb" , "\x75\x6d\xae" } , { "\xd4\xe8\xcf\xdc" , "\x6d\xae\x76" } , { "\xd4\xe8\xcf\xdd" , "\x6d\xae\x7a" } , { "\xd4\xe8\xcf\xe0\xa2" , "\x6d\xae\xa2" } , { "\xd4\xe8\xcf\xe1" , "\x6d\xae\x7e" } , { "\xd4\xe8\xcf\xe2" , "\x6d\xae\xa4" } , { "\xd4\xe8\xcf\xe5" , "\x6d\xae\xa8" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\x6d\x6a\x58\x73" } , { "\xd4\xe8\xcf\xe8\xc2" , "\x6d\x6a\x59" } , { "\xd4\xe8\xcf\xe8\xcd" , "\x6d\x6a\x69" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\x6d\x6a\x69\x73" } , { "\xd4\xe8\xd1" , "\x6d\x6b" } , { "\xd4\xe8\xd1\xda" , "\x6d\x6b\x73" } , { "\xd4\xe8\xd1\xda\xa2" , "\x6d\x6b\x74" } , { "\xd4\xe8\xd1\xdb" , "\x75\x6d\x6b" } , { "\xd4\xe8\xd1\xdc" , "\x6d\x6b\x76" } , { "\xd4\xe8\xd1\xdd" , "\x6d\x6b\x78" } , { "\xd4\xe8\xd1\xde" , "\x6d\x6b\x79" } , { "\xd4\xe8\xd1\xe0" , "\x6d\x6b\x7e" } , { "\xd4\xe8\xd1\xe1" , "\x6d\x6b\x7e" } , { "\xd4\xe8\xd1\xe5" , "\x6d\x6b\xa8" } , { "\xd4\xe8\xd1\xe8\xd1" , "\x6d\x6b\x6b" } , { "\xd4\xe8\xd2\xda" , "\x6d\x6b\x73" } , { "\xd4\xe8\xd2\xe8\xd1" , "\x6d\x6b\x6b" } , { "\xd4\xe8\xd4" , "\x6d\xaf" } , { "\xd4\xe8\xd4\xa2" , "\x6d\xaf\x7c" } , { "\xd4\xe8\xd4\xda" , "\x6d\xaf\x73" } , { "\xd4\xe8\xd4\xdb" , "\x75\x6d\xaf" } , { "\xd4\xe8\xd4\xdb\xa2" , "\x75\x6d\xaf\x7c" } , { "\xd4\xe8\xd4\xdc" , "\x6d\xaf\x76" } , { "\xd4\xe8\xd4\xdc\xa2" , "\x6d\xaf\x77" } , { "\xd4\xe8\xd4\xdd" , "\x6d\xaf\x7a" } , { "\xd4\xe8\xd4\xdd\xa2" , "\x6d\xaf\x7a\x7c" } , { "\xd4\xe8\xd4\xde" , "\x6d\xaf\x7b" } , { "\xd4\xe8\xd4\xde\xa2" , "\x6d\xaf\x7b\x7c" } , { "\xd4\xe8\xd4\xe0" , "\x6d\xaf\x7e" } , { "\xd4\xe8\xd4\xe0\xa2" , "\x6d\xaf\xa2" } , { "\xd4\xe8\xd4\xe1" , "\x6d\xaf\x7e" } , { "\xd4\xe8\xd4\xe1\xa2" , "\x6d\xaf\xa2" } , { "\xd4\xe8\xd4\xe2" , "\x6d\xaf\xa4" } , { "\xd4\xe8\xd4\xe4" , "\x6d\xaf\xa8" } , { "\xd4\xe8\xd4\xe4\xa2" , "\x6d\xaf\xaa" } , { "\xd4\xe8\xd4\xe5" , "\x6d\xaf\xa8" } , { "\xd4\xe8\xd4\xe8" , "\x6d\x6d" } , { "\xd4\xe8\xd4\xe8\xcd" , "\x6d\x6d\x69" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\x75\x6d\x6f\x4d" } , { "\xd4\xe8\xd5\xe8\xcd" , "\x6d\x6f\x69" } , { "\xd4\xe8\xd6" , "\x6d\x6f" } , { "\xd4\xe8\xd6\xda" , "\x6d\x6f\x73" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\x75\x6d\x6f\x53" } , { "\xd4\xe8\xd7" , "\x6d\x6e" } , { "\xd4\xe8\xd7\xda" , "\x6d\x6e\x73" } , { "\xd4\xe8\xd7\xda\xa2" , "\x6d\x6e\x74" } , { "\xd4\xe8\xd7\xdb" , "\x75\x6d\x6e" } , { "\xd4\xe8\xd7\xdc" , "\x6d\x6e\x76" } , { "\xd4\xe8\xd7\xde" , "\x6d\x6e\x79" } , { "\xd4\xe8\xd7\xe0" , "\x6d\x6e\x7e" } , { "\xd4\xe8\xd7\xe2" , "\x6d\x6e\xa4" } , { "\xd4\xe8\xd7\xe6" , "\x6d\x6e\xac" } , { "\xd4\xe8\xd7\xe8" , "\x6d\x6e" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\x6d\x6e\x45\x73" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\x6d\x6e\x45\x76" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\x6d\x6e\x45\xa8" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\x6d\x6e\x45" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\x6d\x6e\x49\x73" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\x6d\x6e\x53\x73" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\x6d\x6e\x59\x73" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\x6d\x6e\x59\x78\x7c" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\x6d\x6e\x59\x7e" } , { "\xd4\xe8\xd7\xe8\xc3" , "\x6d\x6e\x5c" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\x6d\x6e\x5c\x73" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\x75\x6d\x6e\x60" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\x6d\x6e\x60\x78" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\x75\x6d\x6e\x61" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\x6d\x6e\x61\xa4" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\x75\x6d\x6e\x67\xae" } , { "\xd4\xe8\xd8" , "\x6d\xad" } , { "\xd4\xe8\xd8\xda" , "\x6d\xad\x73" } , { "\xd4\xe8\xd8\xda\xa2" , "\x6d\xad\x74" } , { "\xd4\xe8\xd8\xdb" , "\x75\x6d\xad" } , { "\xd4\xe8\xd8\xdc" , "\x6d\xad\x76" } , { "\xd4\xe8\xd8\xe1" , "\x6d\xad\x7e" } , { "\xd4\xe8\xd8\xe2" , "\x6d\xad\xa4" } , { "\xd4\xe8\xd9\xcd" , "\x6d\x68" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\x6d\x6a\x69" } , { "\xd4\xe8\xe8" , "\x6d" } , { "\xd4\xe8\xe9\xcf" , "\x6d\xae" } , { "\xd4\xe9" , "\x6d" } , { "\xd5" , "\x6f" } , { "\xd5\xa1" , "\x6f\x7c" } , { "\xd5\xa2" , "\x6f\x7c" } , { "\xd5\xa2\xa3" , "\x6f\x7c" } , { "\xd5\xa3" , "\x6f\x7c" } , { "\xd5\xda" , "\x6f\x73" } , { "\xd5\xda\xa1" , "\x6f\x74" } , { "\xd5\xda\xa2" , "\x6f\x74" } , { "\xd5\xda\xa3" , "\x6f\x73\x7c" } , { "\xd5\xdb" , "\x75\x6f" } , { "\xd5\xdb\xa2" , "\x75\x6f\x7c" } , { "\xd5\xdc" , "\x6f\x76" } , { "\xd5\xdc\xa2" , "\x6f\x77" } , { "\xd5\xdc\xa3" , "\x6f\x76\x7c" } , { "\xd5\xdd" , "\x6f\x78" } , { "\xd5\xdd\xa2" , "\x6f\x78\x7c" } , { "\xd5\xdd\xa3" , "\x6f\x78\x7c" } , { "\xd5\xdd\xd0\xdd" , "\x6f\x78\x6a\x78" } , { "\xd5\xde" , "\x6f\x79" } , { "\xd5\xde\xa2" , "\x6f\x79\x7c" } , { "\xd5\xdf" , "\x75\x6f\xae" } , { "\xd5\xdf\xa2" , "\x75\x6f\xae\x7c" } , { "\xd5\xe0" , "\x6f\x7e" } , { "\xd5\xe0\xa2" , "\x6f\xa2" } , { "\xd5\xe1" , "\x6f\x7e" } , { "\xd5\xe1\xa2" , "\x6f\xa2" } , { "\xd5\xe2" , "\x6f\xa4" } , { "\xd5\xe2\xa2" , "\x6f\xa6" } , { "\xd5\xe4" , "\x6f\xa8" } , { "\xd5\xe4\xa2" , "\x6f\xaa" } , { "\xd5\xe5" , "\x6f\xa8" } , { "\xd5\xe5\xa2" , "\x6f\xaa" } , { "\xd5\xe6" , "\x6f\xac" } , { "\xd5\xe6\xa2" , "\x6f\xac\x72" } , { "\xd5\xe7" , "\x6f\xac" } , { "\xd5\xe8" , "\x6f" } , { "\xd5\xe8\xa2" , "\x6f\x7d" } , { "\xd5\xe8\xb3" , "\x6f\x45" } , { "\xd5\xe8\xb3\xda" , "\x6f\x45\x73" } , { "\xd5\xe8\xb3\xdb" , "\x75\x6f\x45" } , { "\xd5\xe8\xb3\xdc" , "\x6f\x45\x76" } , { "\xd5\xe8\xb3\xdd" , "\x6f\x45\x78" } , { "\xd5\xe8\xb3\xde" , "\x6f\x45\x79" } , { "\xd5\xe8\xb3\xe1" , "\x6f\x45\x7e" } , { "\xd5\xe8\xb3\xe1\xa2" , "\x6f\x45\xa2" } , { "\xd5\xe8\xb3\xe5\xa2" , "\x6f\x45\xaa" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\x75\x6f\x45\x59" } , { "\xd5\xe8\xb3\xe8\xd6" , "\x6f\x45\x6f" } , { "\xd5\xe8\xb3\xe9" , "\x6f\x45" } , { "\xd5\xe8\xb4\xa2" , "\x6f\x47\x7c" } , { "\xd5\xe8\xb4\xda" , "\x6f\x47\x73" } , { "\xd5\xe8\xb5\xda" , "\x6f\x49\x73" } , { "\xd5\xe8\xb5\xdd\xa2" , "\x6f\x49\x78\x7c" } , { "\xd5\xe8\xb6\xda" , "\x6f\x4b\x73" } , { "\xd5\xe8\xb8" , "\x6f\x4d" } , { "\xd5\xe8\xb8\xa2" , "\x6f\x4d\x7c" } , { "\xd5\xe8\xb8\xda" , "\x6f\x4d\x73" } , { "\xd5\xe8\xb8\xda\xa2" , "\x6f\x4d\x74" } , { "\xd5\xe8\xb8\xdb" , "\x75\x6f\x4d" } , { "\xd5\xe8\xb8\xdb\xa2" , "\x75\x6f\x4d\x7c" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\x75\x6f\x4d\x7c\x7d" } , { "\xd5\xe8\xb8\xdd" , "\x6f\x4d\x78" } , { "\xd5\xe8\xb8\xe1" , "\x6f\x4d\x7e" } , { "\xd5\xe8\xb8\xe2" , "\x6f\x4d\xa4" } , { "\xd5\xe8\xb8\xe5" , "\x6f\x4d\xa8" } , { "\xd5\xe8\xb8\xe8\xb9" , "\x6f\x4d\x4e" } , { "\xd5\xe8\xb8\xe8\xcd" , "\x6f\x4d\x69" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\x6f\x4d\x69\x73" } , { "\xd5\xe8\xb9" , "\x6f\x4e" } , { "\xd5\xe8\xb9\xda" , "\x6f\x4e\x73" } , { "\xd5\xe8\xb9\xdb" , "\x75\x6f\x4e" } , { "\xd5\xe8\xb9\xe1" , "\x6f\x4e\x7e" } , { "\xd5\xe8\xbd" , "\x6f\x53" } , { "\xd5\xe8\xbd\xa2" , "\x6f\x53\x7c" } , { "\xd5\xe8\xbd\xdb" , "\x75\x6f\x53" } , { "\xd5\xe8\xbd\xe5" , "\x6f\x53\xa8" } , { "\xd5\xe8\xbd\xe8\xcd" , "\x6f\x53\x69" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\x6f\x53\x69\x73" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\x6f\x53\x69\x79" } , { "\xd5\xe8\xbd\xe8\xcf" , "\x6f\x53\xae" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\x6f\x53\xae\x7e" } , { "\xd5\xe8\xbf\xe9\xa1" , "\x6f\x5b\x7c" } , { "\xd5\xe8\xc2" , "\x6f\x59" } , { "\xd5\xe8\xc2\xda" , "\x6f\x59\x73" } , { "\xd5\xe8\xc2\xdb" , "\x75\x6f\x59" } , { "\xd5\xe8\xc2\xdc" , "\x6f\x59\x76" } , { "\xd5\xe8\xc2\xde" , "\x6f\x59\x79" } , { "\xd5\xe8\xc2\xe1" , "\x6f\x59\x7e" } , { "\xd5\xe8\xc2\xe1\xa2" , "\x6f\x59\xa2" } , { "\xd5\xe8\xc2\xe2" , "\x6f\x59\xa4" } , { "\xd5\xe8\xc2\xe5" , "\x6f\x59\xa8" } , { "\xd5\xe8\xc2\xe5\xa2" , "\x6f\x59\xaa" } , { "\xd5\xe8\xc3" , "\x6f\x5c" } , { "\xd5\xe8\xc3\xda" , "\x6f\x5c\x73" } , { "\xd5\xe8\xc5" , "\x6f\x5f" } , { "\xd5\xe8\xc5\xda" , "\x6f\x5f\x73" } , { "\xd5\xe8\xc6" , "\x6f\x60" } , { "\xd5\xe8\xc6\xa2" , "\x6f\x60\x7d" } , { "\xd5\xe8\xc6\xda" , "\x6f\x60\x73" } , { "\xd5\xe8\xc6\xda\xa2" , "\x6f\x60\x74" } , { "\xd5\xe8\xc6\xdb" , "\x75\x6f\x60" } , { "\xd5\xe8\xc6\xdb\xa2" , "\x75\x6f\x60\x7c" } , { "\xd5\xe8\xc6\xdd" , "\x6f\x60\x78" } , { "\xd5\xe8\xc6\xe0" , "\x6f\x60\x7e" } , { "\xd5\xe8\xc6\xe1" , "\x6f\x60\xa1" } , { "\xd5\xe8\xc6\xe5" , "\x6f\x60\xa9" } , { "\xd5\xe8\xc6\xe5\xa2" , "\x6f\x60\xab" } , { "\xd5\xe8\xc6\xe8" , "\x6f\x60" } , { "\xd5\xe8\xc7" , "\x6f\x60" } , { "\xd5\xe8\xc8" , "\x6f\x61" } , { "\xd5\xe8\xc8\xda" , "\x6f\x61\x73" } , { "\xd5\xe8\xc8\xdd" , "\x6f\x61\x78" } , { "\xd5\xe8\xc8\xde" , "\x6f\x61\x79" } , { "\xd5\xe8\xc9" , "\x6f\x62" } , { "\xd5\xe8\xc9\xdd" , "\x6f\x62\x78" } , { "\xd5\xe8\xca" , "\x6f\x64" } , { "\xd5\xe8\xcb" , "\x6f\x65" } , { "\xd5\xe8\xcc" , "\x6f\x67" } , { "\xd5\xe8\xcc\xa2" , "\x6f\x67\x7c" } , { "\xd5\xe8\xcc\xda" , "\x6f\x67\x73" } , { "\xd5\xe8\xcc\xdb" , "\x75\x6f\x67" } , { "\xd5\xe8\xcc\xdb\xa2" , "\x75\x6f\x67\x7c" } , { "\xd5\xe8\xcc\xdc" , "\x6f\x67\x76" } , { "\xd5\xe8\xcc\xdd" , "\x6f\x67\x78" } , { "\xd5\xe8\xcc\xdf" , "\x75\x6f\x67\xae" } , { "\xd5\xe8\xcc\xe1" , "\x6f\x67\x7e" } , { "\xd5\xe8\xcc\xe1\xa2" , "\x6f\x67\xa2" } , { "\xd5\xe8\xcc\xe5\xa2" , "\x6f\x67\xaa" } , { "\xd5\xe8\xcd" , "\x6f\x69" } , { "\xd5\xe8\xcd\xa2" , "\x6f\x69\x7c" } , { "\xd5\xe8\xcd\xda" , "\x6f\x69\x73" } , { "\xd5\xe8\xcd\xda\xa2" , "\x6f\x69\x74" } , { "\xd5\xe8\xcd\xdb" , "\x75\x6f\x69" } , { "\xd5\xe8\xcd\xdc" , "\x6f\x69\x76" } , { "\xd5\xe8\xcd\xdd" , "\x6f\x69\x78" } , { "\xd5\xe8\xcd\xdd\xa2" , "\x6f\x69\x78\x7c" } , { "\xd5\xe8\xcd\xde" , "\x6f\x69\x79" } , { "\xd5\xe8\xcd\xe1" , "\x6f\x69\x7e" } , { "\xd5\xe8\xcd\xe5" , "\x6f\x69\xa8" } , { "\xd5\xe8\xcd\xe5\xa2" , "\x6f\x69\xaa" } , { "\xd5\xe8\xcd\xe6" , "\x6f\x69\xac" } , { "\xd5\xe8\xcd\xe8" , "\x6f\x68" } , { "\xd5\xe8\xcd\xe8\xb8" , "\x6f\x68\x4d" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\x6f\x68\x69\x73" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\x6f\x68\x6f\x69" } , { "\xd5\xe8\xcf" , "\x6f\xae" } , { "\xd5\xe8\xcf\xa2" , "\x6f\xae\x7c" } , { "\xd5\xe8\xcf\xda" , "\x6f\xae\x73" } , { "\xd5\xe8\xcf\xda\xa2" , "\x6f\xae\x74" } , { "\xd5\xe8\xcf\xdb" , "\x75\x6f\xae" } , { "\xd5\xe8\xcf\xdb\xa2" , "\x75\x6f\xae\x7c" } , { "\xd5\xe8\xcf\xdc" , "\x6f\xae\x76" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x6f\xae\x77" } , { "\xd5\xe8\xcf\xdd" , "\x6f\xae\x7a" } , { "\xd5\xe8\xcf\xde" , "\x6f\xae\x7b" } , { "\xd5\xe8\xcf\xdf" , "\x75\x6f\x6a\xae" } , { "\xd5\xe8\xcf\xdf\xa2" , "\x75\x6f\x6a\xae\x7c" } , { "\xd5\xe8\xcf\xe1" , "\x6f\xae\x7e" } , { "\xd5\xe8\xcf\xe1\xa2" , "\x6f\xae\xa2" } , { "\xd5\xe8\xcf\xe2" , "\x6f\xae\xa4" } , { "\xd5\xe8\xcf\xe5" , "\x6f\xae\xa8" } , { "\xd5\xe8\xcf\xe6" , "\x6f\xae\xac" } , { "\xd5\xe8\xcf\xe7" , "\x6f\xae\xac" } , { "\xd5\xe8\xcf\xe8\xa2" , "\x6f\x6a\x7d" } , { "\xd5\xe8\xcf\xe8\xcc" , "\x6f\x6a\x67" } , { "\xd5\xe8\xcf\xe8\xd4" , "\x6f\x6a\xaf" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\x6f\x6a\xaf\x73" } , { "\xd5\xe8\xcf\xe8\xd5" , "\x6f\x6a\x6f" } , { "\xd5\xe8\xd1" , "\x6f\x6b" } , { "\xd5\xe8\xd1\xda" , "\x6f\x6b\x73" } , { "\xd5\xe8\xd1\xda\xa2" , "\x6f\x6b\x74" } , { "\xd5\xe8\xd1\xdb" , "\x75\x6f\x6b" } , { "\xd5\xe8\xd1\xdc" , "\x6f\x6b\x76" } , { "\xd5\xe8\xd1\xdd" , "\x6f\x6b\x78" } , { "\xd5\xe8\xd1\xe0" , "\x6f\x6b\x7e" } , { "\xd5\xe8\xd1\xe1" , "\x6f\x6b\x7e" } , { "\xd5\xe8\xd1\xe2" , "\x6f\x6b\xa4" } , { "\xd5\xe8\xd1\xe5" , "\x6f\x6b\xa8" } , { "\xd5\xe8\xd1\xe5\xa2" , "\x6f\x6b\xaa" } , { "\xd5\xe8\xd2" , "\x6f\x6b" } , { "\xd5\xe8\xd2\xe1" , "\x6f\x6b\x7e" } , { "\xd5\xe8\xd4" , "\x6f\xaf" } , { "\xd5\xe8\xd4\xa2" , "\x6f\xaf\x7c" } , { "\xd5\xe8\xd4\xda" , "\x6f\xaf\x73" } , { "\xd5\xe8\xd4\xda\xa2" , "\x6f\xaf\x74" } , { "\xd5\xe8\xd4\xdb" , "\x75\x6f\xaf" } , { "\xd5\xe8\xd4\xdc" , "\x6f\xaf\x76" } , { "\xd5\xe8\xd4\xdd" , "\x6f\xaf\x7a" } , { "\xd5\xe8\xd4\xe1" , "\x6f\xaf\x7e" } , { "\xd5\xe8\xd4\xe2" , "\x6f\xaf\xa4" } , { "\xd5\xe8\xd4\xe5" , "\x6f\xaf\xa8" } , { "\xd5\xe8\xd4\xe5\xa2" , "\x6f\xaf\xaa" } , { "\xd5\xe8\xd5" , "\x6f\x6f" } , { "\xd5\xe8\xd5\xa2" , "\x6f\x6f\x7c" } , { "\xd5\xe8\xd5\xda" , "\x6f\x6f\x73" } , { "\xd5\xe8\xd5\xda\xa2" , "\x6f\x6f\x74" } , { "\xd5\xe8\xd5\xdb" , "\x75\x6f\x6f" } , { "\xd5\xe8\xd5\xdc" , "\x6f\x6f\x76" } , { "\xd5\xe8\xd5\xdd" , "\x6f\x6f\x78" } , { "\xd5\xe8\xd5\xde" , "\x6f\x6f\x79" } , { "\xd5\xe8\xd5\xdf\xa2" , "\x75\x6f\x6f\xae\x7c" } , { "\xd5\xe8\xd5\xe1" , "\x6f\x6f\x7e" } , { "\xd5\xe8\xd5\xe2" , "\x6f\x6f\xa4" } , { "\xd5\xe8\xd5\xe5" , "\x6f\x6f\xa8" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\x6f\x6f\xae\x76" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\x6f\x6f\xae\x7a" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\x6f\x6f\xae\x7e" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\x6f\x6f\xaf\x73" } , { "\xd5\xe8\xd6\xe1" , "\x6f\x6f\x7e" } , { "\xd5\xe8\xd6\xe8\xbe" , "\x6f\x6f\x54" } , { "\xd5\xe8\xd7" , "\x6f\x6e" } , { "\xd5\xe8\xd7\xe8\xc2" , "\x6f\x6e\x59" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\x75\x6f\x6e\x59" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\x6f\x6e\x5a\x7c" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\x6f\x6e\x5a\x73" } , { "\xd5\xe8\xd8\xdc" , "\x6f\xad\x76" } , { "\xd5\xe8\xd9" , "\x6f" } , { "\xd5\xe8\xd9\xa6" , "\x6f\x75\x42" } , { "\xd5\xe8\xd9\xb3" , "\x6f\x45" } , { "\xd5\xe8\xd9\xb8" , "\x6f\x4d" } , { "\xd5\xe8\xd9\xb8\xda" , "\x6f\x4d\x73" } , { "\xd5\xe8\xd9\xb8\xdb" , "\x6f\x75\x4d" } , { "\xd5\xe8\xd9\xc2" , "\x6f\x59" } , { "\xd5\xe8\xd9\xc2\xdc" , "\x6f\x59\x76" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\x6f\x59\xaa" } , { "\xd5\xe8\xd9\xc6" , "\x6f\x60" } , { "\xd5\xe8\xd9\xc6\xe5" , "\x6f\x60\xa9" } , { "\xd5\xe8\xd9\xcc" , "\x6f\x67" } , { "\xd5\xe8\xd9\xcc\xdc" , "\x6f\x67\x76" } , { "\xd5\xe8\xd9\xcd" , "\x6f\x68" } , { "\xd5\xe8\xd9\xcd\xa2" , "\x6f\x68\x7c" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\x6f\x6a\xaf" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\x6f\x6a\xaf\xa8" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\x6f\x6a\xaf\xaa" } , { "\xd5\xe8\xd9\xd1\xe1" , "\x6f\x6b\x7e" } , { "\xd5\xe8\xd9\xd1\xe2" , "\x6f\x6b\xa4" } , { "\xd5\xe8\xd9\xd4" , "\x6f\x6d" } , { "\xd5\xe8\xd9\xd4\xda" , "\x6f\x6d\x73" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\x6f\x6d\x74" } , { "\xd5\xe8\xd9\xd4\xdb" , "\x6f\x75\x6d" } , { "\xd5\xe8\xd9\xd4\xdc" , "\x6f\x6d\x76" } , { "\xd5\xe8\xd9\xd4\xe1" , "\x6f\x6d\x7e" } , { "\xd5\xe8\xd9\xd4\xe2" , "\x6f\x6d\xa4" } , { "\xd5\xe8\xe8" , "\x6f" } , { "\xd5\xe8\xe9\xcf" , "\x6f\xae" } , { "\xd5\xe8\xe9\xd4" , "\x6f\xaf" } , { "\xd5\xe9" , "\x6f" } , { "\xd6" , "\x6f" } , { "\xd6\xa1" , "\x6f\x7c" } , { "\xd6\xa2" , "\x6f\x7c" } , { "\xd6\xa3" , "\x6f\x7c" } , { "\xd6\xd6" , "\x6f\x6f" } , { "\xd6\xda" , "\x6f\x73" } , { "\xd6\xda\xa2" , "\x6f\x74" } , { "\xd6\xda\xa3" , "\x6f\x73\x7c" } , { "\xd6\xdb" , "\x75\x6f" } , { "\xd6\xdb\xa2" , "\x75\x6f\x7c" } , { "\xd6\xdb\xa3" , "\x75\x6f\x7c" } , { "\xd6\xdb\xcc\xe8" , "\x75\x6f\x67" } , { "\xd6\xdc" , "\x6f\x76" } , { "\xd6\xdc\xa2" , "\x6f\x77" } , { "\xd6\xdc\xa3" , "\x6f\x76\x7c" } , { "\xd6\xdd" , "\x6f\x78" } , { "\xd6\xdd\xa2" , "\x6f\x78\x7c" } , { "\xd6\xde" , "\x6f\x79" } , { "\xd6\xdf" , "\x75\x6f\xae" } , { "\xd6\xe0" , "\x6f\x7e" } , { "\xd6\xe0\xa2" , "\x6f\xa2" } , { "\xd6\xe1" , "\x6f\x7e" } , { "\xd6\xe1\xa2" , "\x6f\xa2" } , { "\xd6\xe2" , "\x6f\xa4" } , { "\xd6\xe3" , "\x6f\xa4" } , { "\xd6\xe4" , "\x6f\xa8" } , { "\xd6\xe5" , "\x6f\xa8" } , { "\xd6\xe5\xa2" , "\x6f\xaa" } , { "\xd6\xe6" , "\x6f\xac" } , { "\xd6\xe8" , "\x6f" } , { "\xd6\xe8\xb3" , "\x6f\x45" } , { "\xd6\xe8\xb3\xa2" , "\x6f\x45\x7c" } , { "\xd6\xe8\xb3\xda" , "\x6f\x45\x73" } , { "\xd6\xe8\xb3\xda\xa2" , "\x6f\x45\x74" } , { "\xd6\xe8\xb3\xdb" , "\x75\x6f\x45" } , { "\xd6\xe8\xb3\xdb\xa2" , "\x75\x6f\x45\x7c" } , { "\xd6\xe8\xb3\xdc" , "\x6f\x45\x76" } , { "\xd6\xe8\xb3\xdd" , "\x6f\x45\x78" } , { "\xd6\xe8\xb3\xde" , "\x6f\x45\x79" } , { "\xd6\xe8\xb3\xdf" , "\x75\x6f\x46" } , { "\xd6\xe8\xb3\xe0\xa2" , "\x6f\x45\xa2" } , { "\xd6\xe8\xb3\xe5" , "\x6f\x45\xa8" } , { "\xd6\xe8\xb3\xe5\xa2" , "\x6f\x45\xaa" } , { "\xd6\xe8\xb3\xe8" , "\x6f\x45" } , { "\xd6\xe8\xb3\xe8\xc2" , "\x6f\x45\x59" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\x6f\x45\x69\x79" } , { "\xd6\xe8\xb3\xe8\xcf" , "\x6f\x46" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\x6f\x46\x73" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\x75\x6f\x46" } , { "\xd6\xe8\xb3\xe8\xd6" , "\x6f\x45\x6f" } , { "\xd6\xe8\xb4\xda" , "\x6f\x47\x73" } , { "\xd6\xe8\xb5\xda" , "\x6f\x49\x73" } , { "\xd6\xe8\xb5\xdd" , "\x6f\x49\x78" } , { "\xd6\xe8\xb8" , "\x6f\x4d" } , { "\xd6\xe8\xb8\xa2" , "\x6f\x4d\x7c" } , { "\xd6\xe8\xb8\xda" , "\x6f\x4d\x73" } , { "\xd6\xe8\xb8\xdb" , "\x75\x6f\x4d" } , { "\xd6\xe8\xb8\xdb\xa2" , "\x75\x6f\x4d\x7c" } , { "\xd6\xe8\xb8\xe1" , "\x6f\x4d\x7e" } , { "\xd6\xe8\xb8\xe8" , "\x6f\x4d" } , { "\xd6\xe8\xba" , "\x6f\x4f" } , { "\xd6\xe8\xba\xda" , "\x6f\x4f\x73" } , { "\xd6\xe8\xba\xe5" , "\x6f\x4f\xa8" } , { "\xd6\xe8\xbd" , "\x6f\x53" } , { "\xd6\xe8\xbd\xa2" , "\x6f\x53\x7c" } , { "\xd6\xe8\xbd\xa3" , "\x6f\x53\x7c" } , { "\xd6\xe8\xbd\xda" , "\x6f\x53\x73" } , { "\xd6\xe8\xbd\xda\xa1" , "\x6f\x53\x74" } , { "\xd6\xe8\xbd\xda\xa2" , "\x6f\x53\x74" } , { "\xd6\xe8\xbd\xdb" , "\x75\x6f\x53" } , { "\xd6\xe8\xbd\xdb\xa2" , "\x75\x6f\x53\x7c" } , { "\xd6\xe8\xbd\xdb\xa3" , "\x75\x6f\x53\x7c" } , { "\xd6\xe8\xbd\xdc" , "\x6f\x53\x76" } , { "\xd6\xe8\xbd\xdd" , "\x6f\x53\x78" } , { "\xd6\xe8\xbd\xdd\xa2" , "\x6f\x53\x78\x7c" } , { "\xd6\xe8\xbd\xde" , "\x6f\x53\x79" } , { "\xd6\xe8\xbd\xdf" , "\x75\x6f\x53\xae" } , { "\xd6\xe8\xbd\xe0" , "\x6f\x53\x7e" } , { "\xd6\xe8\xbd\xe1" , "\x6f\x53\x7e" } , { "\xd6\xe8\xbd\xe2" , "\x6f\x53\xa4" } , { "\xd6\xe8\xbd\xe5" , "\x6f\x53\xa8" } , { "\xd6\xe8\xbd\xe5\xa2" , "\x6f\x53\xaa" } , { "\xd6\xe8\xbd\xe6" , "\x6f\x53\xac" } , { "\xd6\xe8\xbd\xe8" , "\x6f\x53" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\x6f\x53\x45\xac\x72" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\x6f\x53\x58\xa9" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\x6f\x53\x5d\xa8" } , { "\xd6\xe8\xbd\xe8\xc8" , "\x6f\x53\x61" } , { "\xd6\xe8\xbd\xe8\xcd" , "\x6f\x53\x69" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\x6f\x53\x69\x7c" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\x6f\x53\x69\x73" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\x6f\x53\x69\x74" } , { "\xd6\xe8\xbd\xe8\xcf" , "\x6f\x53\xae" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\x6f\x53\xae\x7c" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\x6f\x53\xae\x73" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\x6f\x53\xae\x74" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\x75\x6f\x53\xae" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\x6f\x53\xae\x76" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\x6f\x53\xae\x7a" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\x6f\x53\xae\x7e" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\x6f\x53\xae\xa8" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\x6f\x53\xae\xaa" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\x6f\x53\x6a\x69\x73\x7c" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\x6f\x53\x6a\x6b\xa8" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\x6f\x53\x6b\x73" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\x6f\x53\xaf\x73" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\x6f\x53\xaf\xa4" } , { "\xd6\xe8\xbe" , "\x6f\x54" } , { "\xd6\xe8\xbe\xa2" , "\x6f\x54\x7d" } , { "\xd6\xe8\xbe\xa3" , "\x6f\x54\x7d" } , { "\xd6\xe8\xbe\xda" , "\x6f\x54\x73" } , { "\xd6\xe8\xbe\xda\xa2" , "\x6f\x54\x74" } , { "\xd6\xe8\xbe\xda\xa3" , "\x6f\x54\x73\x7d" } , { "\xd6\xe8\xbe\xdb" , "\x75\x6f\x54" } , { "\xd6\xe8\xbe\xdb\xa2" , "\x75\x6f\x54\x7c" } , { "\xd6\xe8\xbe\xdc" , "\x6f\x54\x76" } , { "\xd6\xe8\xbe\xdd" , "\x6f\x54\x78" } , { "\xd6\xe8\xbe\xde" , "\x6f\x54\x79" } , { "\xd6\xe8\xbe\xe1" , "\x6f\x54\xa1" } , { "\xd6\xe8\xbe\xe5" , "\x6f\x54\xa9" } , { "\xd6\xe8\xbe\xe5\xa2" , "\x6f\x54\xab" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\x6f\x54\x59\x79" } , { "\xd6\xe8\xbe\xe8\xcd" , "\x6f\x54\x69" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\x6f\x54\x69\x7d" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\x6f\x54\x69\x73" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\x6f\x54\x69\x76" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\x6f\x54\x69\xa1" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\x6f\x54\xae\x76" } , { "\xd6\xe8\xbf\xdb\xa3" , "\x75\x6f\x55\x7c" } , { "\xd6\xe8\xbf\xe8" , "\x6f\x55" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\x6f\x55\x69\x79" } , { "\xd6\xe8\xc1" , "\x6f\x58" } , { "\xd6\xe8\xc1\xa1" , "\x6f\x58\x7d" } , { "\xd6\xe8\xc1\xa2" , "\x6f\x58\x7d" } , { "\xd6\xe8\xc1\xda" , "\x6f\x58\x73" } , { "\xd6\xe8\xc1\xda\xa2" , "\x6f\x58\x74" } , { "\xd6\xe8\xc1\xdb" , "\x75\x6f\x58" } , { "\xd6\xe8\xc1\xdc" , "\x6f\x58\x76" } , { "\xd6\xe8\xc1\xdd" , "\x6f\x58\x78" } , { "\xd6\xe8\xc1\xdd\xa2" , "\x6f\x58\x78\x7d" } , { "\xd6\xe8\xc1\xdd\xa3" , "\x6f\x58\x78\x7d" } , { "\xd6\xe8\xc1\xde" , "\x6f\x58\x79" } , { "\xd6\xe8\xc1\xe1" , "\x6f\x58\xa1" } , { "\xd6\xe8\xc1\xe4" , "\x6f\x58\xa8" } , { "\xd6\xe8\xc1\xe5" , "\x6f\x58\xa9" } , { "\xd6\xe8\xc1\xe5\xa2" , "\x6f\x58\xab" } , { "\xd6\xe8\xc1\xe5\xa3" , "\x6f\x58\xa9\x7c" } , { "\xd6\xe8\xc1\xe8\xcd" , "\x6f\x58\x69" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\x6f\x58\x69\x73" } , { "\xd6\xe8\xc1\xe8\xd4" , "\x6f\x58\xaf" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\x6f\x58\xaf\x7d" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\x6f\x58\xaf\x73" } , { "\xd6\xe8\xc2" , "\x6f\x59" } , { "\xd6\xe8\xc2\xda" , "\x6f\x59\x73" } , { "\xd6\xe8\xc2\xdb" , "\x75\x6f\x59" } , { "\xd6\xe8\xc2\xdc" , "\x6f\x59\x76" } , { "\xd6\xe8\xc2\xe5" , "\x6f\x59\xa8" } , { "\xd6\xe8\xc2\xe8\xcf" , "\x6f\x5a" } , { "\xd6\xe8\xc4" , "\x6f\x5d" } , { "\xd6\xe8\xc4\xe1" , "\x6f\x5d\x7e" } , { "\xd6\xe8\xc6" , "\x6f\x60" } , { "\xd6\xe8\xc6\xda" , "\x6f\x60\x73" } , { "\xd6\xe8\xc6\xdb" , "\x75\x6f\x60" } , { "\xd6\xe8\xc6\xdd" , "\x6f\x60\x78" } , { "\xd6\xe8\xc6\xdd\xa2" , "\x6f\x60\x78\x7d" } , { "\xd6\xe8\xc6\xde" , "\x6f\x60\x79" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\x6f\x60\x60\x78" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\x6f\x60\x6e" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\x6f\x60\x6e\x6b\x6b\xa9" } , { "\xd6\xe8\xc8" , "\x6f\x61" } , { "\xd6\xe8\xc8\xa2" , "\x6f\x61\x7c" } , { "\xd6\xe8\xc8\xda" , "\x6f\x61\x73" } , { "\xd6\xe8\xc8\xda\xa2" , "\x6f\x61\x74" } , { "\xd6\xe8\xc8\xdb" , "\x75\x6f\x61" } , { "\xd6\xe8\xc8\xdb\xa2" , "\x75\x6f\x61\x7c" } , { "\xd6\xe8\xc8\xdc" , "\x6f\x61\x76" } , { "\xd6\xe8\xc8\xdd" , "\x6f\x61\x78" } , { "\xd6\xe8\xc8\xe1" , "\x6f\x61\x7e" } , { "\xd6\xe8\xc8\xe2" , "\x6f\x61\xa4" } , { "\xd6\xe8\xc8\xe2\xa3" , "\x6f\x61\xa4\x7c" } , { "\xd6\xe8\xc8\xe5" , "\x6f\x61\xa8" } , { "\xd6\xe8\xc8\xe5\xa2" , "\x6f\x61\xaa" } , { "\xd6\xe8\xc8\xe6" , "\x6f\x61\xac" } , { "\xd6\xe8\xc8\xe8\xcf" , "\x6f\x61\xae" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\x6f\x61\xae\x73" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\x6f\x61\xae\x7e" } , { "\xd6\xe8\xc9" , "\x6f\x62" } , { "\xd6\xe8\xca" , "\x6f\x64" } , { "\xd6\xe8\xca\xda" , "\x6f\x64\x73" } , { "\xd6\xe8\xca\xe1" , "\x6f\x64\x7e" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\x6f\x64\xae\x7b" } , { "\xd6\xe8\xcb\xda" , "\x6f\x65\x73" } , { "\xd6\xe8\xcc" , "\x6f\x67" } , { "\xd6\xe8\xcc\xa2" , "\x6f\x67\x7c" } , { "\xd6\xe8\xcc\xda" , "\x6f\x67\x73" } , { "\xd6\xe8\xcc\xda\xa2" , "\x6f\x67\x74" } , { "\xd6\xe8\xcc\xdb" , "\x75\x6f\x67" } , { "\xd6\xe8\xcc\xdb\xa2" , "\x75\x6f\x67\x7c" } , { "\xd6\xe8\xcc\xdc" , "\x6f\x67\x76" } , { "\xd6\xe8\xcc\xdd" , "\x6f\x67\x78" } , { "\xd6\xe8\xcc\xdd\xa2" , "\x6f\x67\x78\x7c" } , { "\xd6\xe8\xcc\xe0\xa2" , "\x6f\x67\xa2" } , { "\xd6\xe8\xcc\xe1" , "\x6f\x67\x7e" } , { "\xd6\xe8\xcc\xe4" , "\x6f\x67\xa8" } , { "\xd6\xe8\xcc\xe5" , "\x6f\x67\xa8" } , { "\xd6\xe8\xcc\xe5\xa2" , "\x6f\x67\xaa" } , { "\xd6\xe8\xcd" , "\x6f\x69" } , { "\xd6\xe8\xcd\xa2" , "\x6f\x69\x7c" } , { "\xd6\xe8\xcd\xa3" , "\x6f\x69\x7c" } , { "\xd6\xe8\xcd\xda" , "\x6f\x69\x73" } , { "\xd6\xe8\xcd\xdb" , "\x75\x6f\x69" } , { "\xd6\xe8\xcd\xdd" , "\x6f\x69\x78" } , { "\xd6\xe8\xcd\xdd\xa2" , "\x6f\x69\x78\x7c" } , { "\xd6\xe8\xcd\xde" , "\x6f\x69\x79" } , { "\xd6\xe8\xcd\xe1" , "\x6f\x69\x7e" } , { "\xd6\xe8\xcd\xe5" , "\x6f\x69\xa8" } , { "\xd6\xe8\xcd\xe5\xa2" , "\x6f\x69\xaa" } , { "\xd6\xe8\xcd\xe8" , "\x6f\x68" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\x6f\x68\x53\x73" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\x6f\x68\x69\x73" } , { "\xd6\xe8\xcd\xe8\xcf" , "\x6f\x68\xae" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\x6f\x68\xae\x73" } , { "\xd6\xe8\xcf" , "\x6f\xae" } , { "\xd6\xe8\xcf\xa2" , "\x6f\xae\x7c" } , { "\xd6\xe8\xcf\xda" , "\x6f\xae\x73" } , { "\xd6\xe8\xcf\xdc" , "\x6f\xae\x76" } , { "\xd6\xe8\xcf\xdd" , "\x6f\xae\x7a" } , { "\xd6\xe8\xcf\xde" , "\x6f\xae\x7b" } , { "\xd6\xe8\xcf\xdf" , "\x75\x6f\x6a\xae" } , { "\xd6\xe8\xcf\xe0" , "\x6f\xae\x7e" } , { "\xd6\xe8\xcf\xe2" , "\x6f\xae\xa4" } , { "\xd6\xe8\xcf\xe5" , "\x6f\xae\xa8" } , { "\xd6\xe8\xcf\xe8" , "\x6f\x6a" } , { "\xd6\xe8\xcf\xe8\xb3" , "\x6f\x6a\x45" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\x6f\x6a\x69\x73" } , { "\xd6\xe8\xd1" , "\x6f\x6b" } , { "\xd6\xe8\xd1\xda" , "\x6f\x6b\x73" } , { "\xd6\xe8\xd1\xda\xa2" , "\x6f\x6b\x74" } , { "\xd6\xe8\xd1\xdc" , "\x6f\x6b\x76" } , { "\xd6\xe8\xd1\xdd" , "\x6f\x6b\x78" } , { "\xd6\xe8\xd1\xde" , "\x6f\x6b\x79" } , { "\xd6\xe8\xd1\xe0" , "\x6f\x6b\x7e" } , { "\xd6\xe8\xd1\xe1" , "\x6f\x6b\x7e" } , { "\xd6\xe8\xd1\xe2" , "\x6f\x6b\xa4" } , { "\xd6\xe8\xd1\xe5" , "\x6f\x6b\xa8" } , { "\xd6\xe8\xd4" , "\x6f\xaf" } , { "\xd6\xe8\xd4\xa2" , "\x6f\xaf\x7c" } , { "\xd6\xe8\xd4\xda" , "\x6f\xaf\x73" } , { "\xd6\xe8\xd4\xdb" , "\x75\x6f\xaf" } , { "\xd6\xe8\xd4\xdc" , "\x6f\xaf\x76" } , { "\xd6\xe8\xd4\xdd" , "\x6f\xaf\x7a" } , { "\xd6\xe8\xd4\xe2" , "\x6f\xaf\xa4" } , { "\xd6\xe8\xd5" , "\x6f\x6f" } , { "\xd6\xe8\xd5\xda" , "\x6f\x6f\x73" } , { "\xd6\xe8\xd6" , "\x6f\x6f" } , { "\xd6\xe8\xd6\xda" , "\x6f\x6f\x73" } , { "\xd6\xe8\xd6\xdb" , "\x75\x6f\x6f" } , { "\xd6\xe8\xd6\xdd" , "\x6f\x6f\x78" } , { "\xd6\xe8\xd6\xde" , "\x6f\x6f\x79" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\x6f\x6f\x58\x78" } , { "\xd6\xe8\xd7\xe2" , "\x6f\x6e\xa4" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\x6f\x6a\x69\x73" } , { "\xd6\xe8\xe8" , "\x6f" } , { "\xd7" , "\x6e" } , { "\xd7\xa1" , "\x6e\x7c" } , { "\xd7\xa2" , "\x6e\x7c" } , { "\xd7\xa3" , "\x6e\x7c" } , { "\xd7\xd0" , "\x6e\x6a" } , { "\xd7\xd0\xd1" , "\x6e\x6a\x6b" } , { "\xd7\xda" , "\x6e\x73" } , { "\xd7\xda\xa1" , "\x6e\x74" } , { "\xd7\xda\xa2" , "\x6e\x74" } , { "\xd7\xda\xa3" , "\x6e\x73\x7c" } , { "\xd7\xdb" , "\x75\x6e" } , { "\xd7\xdb\xa2" , "\x75\x6e\x7c" } , { "\xd7\xdb\xa2\xa2" , "\x75\x6e\x7c\x7d" } , { "\xd7\xdb\xa2\xa3" , "\x75\x6e\x7c" } , { "\xd7\xdb\xbd\xe8" , "\x75\x6e\x53" } , { "\xd7\xdc" , "\x6e\x76" } , { "\xd7\xdc\xa2" , "\x6e\x77" } , { "\xd7\xdd" , "\x6e\x78" } , { "\xd7\xdd\xa1" , "\x6e\x78\x7c" } , { "\xd7\xdd\xa2" , "\x6e\x78\x7c" } , { "\xd7\xdd\xa3" , "\x6e\x78\x7c" } , { "\xd7\xde" , "\x6e\x79" } , { "\xd7\xde\xa1" , "\x6e\x79\x7c" } , { "\xd7\xde\xa2" , "\x6e\x79\x7c" } , { "\xd7\xdf" , "\x75\x6e\xae" } , { "\xd7\xdf\xa2" , "\x75\x6e\xae\x7c" } , { "\xd7\xe0" , "\x6e\x7e" } , { "\xd7\xe0\xa2" , "\x6e\xa2" } , { "\xd7\xe1" , "\x6e\x7e" } , { "\xd7\xe1\xa2" , "\x6e\xa2" } , { "\xd7\xe2" , "\x6e\xa4" } , { "\xd7\xe2\xa2" , "\x6e\xa6" } , { "\xd7\xe3" , "\x6e\xa4" } , { "\xd7\xe4" , "\x6e\xa8" } , { "\xd7\xe4\xa2" , "\x6e\xaa" } , { "\xd7\xe5" , "\x6e\xa8" } , { "\xd7\xe5\xa2" , "\x6e\xaa" } , { "\xd7\xe6" , "\x6e\xac" } , { "\xd7\xe6\xa2" , "\x6e\xac\x72" } , { "\xd7\xe6\xc2\xe8" , "\x6e\xac\x59" } , { "\xd7\xe7" , "\x6e\xac" } , { "\xd7\xe7\xa2" , "\x6e\xac\x72" } , { "\xd7\xe8" , "\x6e" } , { "\xd7\xe8\xb3" , "\x6e\x45" } , { "\xd7\xe8\xb3\xa2" , "\x6e\x45\x7c" } , { "\xd7\xe8\xb3\xda" , "\x6e\x45\x73" } , { "\xd7\xe8\xb3\xda\xa1" , "\x6e\x45\x74" } , { "\xd7\xe8\xb3\xda\xa2" , "\x6e\x45\x74" } , { "\xd7\xe8\xb3\xdb" , "\x75\x6e\x45" } , { "\xd7\xe8\xb3\xdc" , "\x6e\x45\x76" } , { "\xd7\xe8\xb3\xdc\xa2" , "\x6e\x45\x77" } , { "\xd7\xe8\xb3\xdd" , "\x6e\x45\x78" } , { "\xd7\xe8\xb3\xde" , "\x6e\x45\x79" } , { "\xd7\xe8\xb3\xdf" , "\x75\x6e\x46" } , { "\xd7\xe8\xb3\xe0" , "\x6e\x45\x7e" } , { "\xd7\xe8\xb3\xe1" , "\x6e\x45\x7e" } , { "\xd7\xe8\xb3\xe1\xa2" , "\x6e\x45\xa2" } , { "\xd7\xe8\xb3\xe2" , "\x6e\x45\xa4" } , { "\xd7\xe8\xb3\xe2\xa2" , "\x6e\x45\xa6" } , { "\xd7\xe8\xb3\xe4" , "\x6e\x45\xa8" } , { "\xd7\xe8\xb3\xe5" , "\x6e\x45\xa8" } , { "\xd7\xe8\xb3\xe5\xa2" , "\x6e\x45\xaa" } , { "\xd7\xe8\xb3\xe6" , "\x6e\x45\xac" } , { "\xd7\xe8\xb3\xe6\xa2" , "\x6e\x45\xac\x72" } , { "\xd7\xe8\xb3\xe7" , "\x6e\x45\xac" } , { "\xd7\xe8\xb3\xe8" , "\x6e\x45" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\x75\x6e\x45\x45" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\x6e\x45\x45\x78" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\x6e\x45\x4d\x7e" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\x6e\x45\x53\x45\x76" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\x6e\x45\x53\x60\x78" } , { "\xd7\xe8\xb3\xe8\xc2" , "\x6e\x45\x59" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\x75\x6e\x45\x59" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\x6e\x45\x59\x78" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\x75\x6e\x45\x60" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\x6e\x45\x60\x78" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\x6e\x45\x61\x73" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\x75\x6e\x45\x67" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\x6e\x45\x69\x78" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\x6e\x45\x69\x79" } , { "\xd7\xe8\xb3\xe8\xcf" , "\x6e\x46" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\x6e\x46\x73" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\x75\x6e\x46" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\x6e\x46\x76" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\x6e\x46\x77" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\x6e\x46\x7a" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\x6e\x46\x7b" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\x6e\x46\x7e" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\x6e\x46\xa4" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\x6e\x46\xa8" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\x6e\x46\xac\x72" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\x75\x6e\x45\x6b" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\x6e\x45\x6b\x76" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\x6e\x45\x6b\x78" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\x6e\x45\x6b\x7e" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\x6e\x45\x6b\x7e" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\x6e\x45\x6b\xa8" } , { "\xd7\xe8\xb3\xe8\xd4" , "\x6e\x45\xaf" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\x6e\x45\xaf\x73" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\x75\x6e\x45\xaf" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\x6e\x45\xaf\x76" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\x6e\x45\xaf\x7e" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\x6e\x45\xaf\x7e" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\x6e\x45\xaf\xa4" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\x6e\x45\xaf\xac" } , { "\xd7\xe8\xb3\xe8\xd5" , "\x6e\x45\x6f" } , { "\xd7\xe8\xb3\xe8\xd7" , "\x6e\x45\x6e" } , { "\xd7\xe8\xb3\xe9" , "\x6e\x45" } , { "\xd7\xe8\xb4" , "\x6e\x47" } , { "\xd7\xe8\xb4\xa2" , "\x6e\x47\x7c" } , { "\xd7\xe8\xb4\xda" , "\x6e\x47\x73" } , { "\xd7\xe8\xb4\xdb" , "\x75\x6e\x47" } , { "\xd7\xe8\xb4\xdc" , "\x6e\x47\x76" } , { "\xd7\xe8\xb4\xe1" , "\x6e\x47\x7e" } , { "\xd7\xe8\xb4\xe5\xa2" , "\x6e\x47\xaa" } , { "\xd7\xe8\xb4\xe8\xcd" , "\x6e\x47\x69" } , { "\xd7\xe8\xb4\xe9\xe1" , "\x6e\x48\x7e" } , { "\xd7\xe8\xb5" , "\x6e\x49" } , { "\xd7\xe8\xb5\xda" , "\x6e\x49\x73" } , { "\xd7\xe8\xb5\xdd" , "\x6e\x49\x78" } , { "\xd7\xe8\xb5\xde" , "\x6e\x49\x79" } , { "\xd7\xe8\xb5\xe5" , "\x6e\x49\xa8" } , { "\xd7\xe8\xb5\xe6" , "\x6e\x49\xac" } , { "\xd7\xe8\xb5\xe8" , "\x6e\x49" } , { "\xd7\xe8\xb8" , "\x6e\x4d" } , { "\xd7\xe8\xb8\xa2" , "\x6e\x4d\x7c" } , { "\xd7\xe8\xb8\xda" , "\x6e\x4d\x73" } , { "\xd7\xe8\xb8\xdb" , "\x75\x6e\x4d" } , { "\xd7\xe8\xb8\xdd" , "\x6e\x4d\x78" } , { "\xd7\xe8\xb8\xde" , "\x6e\x4d\x79" } , { "\xd7\xe8\xb8\xdf" , "\x75\x6e\x4d\xae" } , { "\xd7\xe8\xb8\xe0" , "\x6e\x4d\x7e" } , { "\xd7\xe8\xb8\xe1" , "\x6e\x4d\x7e" } , { "\xd7\xe8\xb8\xe5" , "\x6e\x4d\xa8" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\x6e\x4d\xae\x76" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\x6e\x4d\xae\x7e" } , { "\xd7\xe8\xb9\xda" , "\x6e\x4e\x73" } , { "\xd7\xe8\xba" , "\x6e\x4f" } , { "\xd7\xe8\xba\xda" , "\x6e\x4f\x73" } , { "\xd7\xe8\xba\xdb" , "\x75\x6e\x4f" } , { "\xd7\xe8\xba\xdc" , "\x6e\x4f\x76" } , { "\xd7\xe8\xba\xe1" , "\x6e\x4f\x7e" } , { "\xd7\xe8\xba\xe8\xbc" , "\x6e\x75\x49\x41" } , { "\xd7\xe8\xba\xe9\xdb" , "\x75\x6e\x50" } , { "\xd7\xe8\xbd" , "\x6e\x53" } , { "\xd7\xe8\xbd\xa2" , "\x6e\x53\x7c" } , { "\xd7\xe8\xbd\xda" , "\x6e\x53\x73" } , { "\xd7\xe8\xbd\xda\xa1" , "\x6e\x53\x74" } , { "\xd7\xe8\xbd\xda\xa2" , "\x6e\x53\x74" } , { "\xd7\xe8\xbd\xdb" , "\x75\x6e\x53" } , { "\xd7\xe8\xbd\xdb\xa2" , "\x75\x6e\x53\x7c" } , { "\xd7\xe8\xbd\xdc" , "\x6e\x53\x76" } , { "\xd7\xe8\xbd\xdc\xa2" , "\x6e\x53\x77" } , { "\xd7\xe8\xbd\xdd" , "\x6e\x53\x78" } , { "\xd7\xe8\xbd\xde" , "\x6e\x53\x79" } , { "\xd7\xe8\xbd\xde\xa2" , "\x6e\x53\x79\x7c" } , { "\xd7\xe8\xbd\xe0" , "\x6e\x53\x7e" } , { "\xd7\xe8\xbd\xe0\xa2" , "\x6e\x53\xa2" } , { "\xd7\xe8\xbd\xe1" , "\x6e\x53\x7e" } , { "\xd7\xe8\xbd\xe1\xa2" , "\x6e\x53\xa2" } , { "\xd7\xe8\xbd\xe2" , "\x6e\x53\xa4" } , { "\xd7\xe8\xbd\xe2\xa2" , "\x6e\x53\xa6" } , { "\xd7\xe8\xbd\xe4" , "\x6e\x53\xa8" } , { "\xd7\xe8\xbd\xe5" , "\x6e\x53\xa8" } , { "\xd7\xe8\xbd\xe5\xa2" , "\x6e\x53\xaa" } , { "\xd7\xe8\xbd\xe6" , "\x6e\x53\xac" } , { "\xd7\xe8\xbd\xe7" , "\x6e\x53\xac" } , { "\xd7\xe8\xbd\xe8" , "\x6e\x53" } , { "\xd7\xe8\xbd\xe8\xb3" , "\x6e\x53\x45" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\x6e\x53\x45\x73" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\x75\x6e\x53\x45" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\x6e\x53\x45\xa8" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\x6e\x53\x45\xa8" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\x6e\x53\x45\x6b\x73" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\x6e\x53\x49\x73" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\x6e\x53\x49\x7e" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\x6e\x53\x49\xae\x73" } , { "\xd7\xe8\xbd\xe8\xb8" , "\x6e\x53\x4d" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\x6e\x53\x4d\x7e" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\x6e\x53\x4d\x7e" } , { "\xd7\xe8\xbd\xe8\xba" , "\x6e\x53\x4f" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\x6e\x53\x53\xa4" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\x6e\x53\x53\x69\x79" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\x6e\x53\x59\xa8" } , { "\xd7\xe8\xbd\xe8\xc6" , "\x6e\x53\x60" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\x75\x6e\x53\x60" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\x6e\x53\x60\x78" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\x6e\x53\x60\xa1" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\x6e\x53\x60\xa5" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\x6e\x53\x60" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\x6e\x53\x61\x73" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\x75\x6e\x53\x61\x7c" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\x6e\x53\x61\xa4" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\x6e\x53\x61\xa8" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\x6e\x53\x61\xae\xa4" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\x6e\x53\x62\x73" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\x75\x6e\x53\x62" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\x6e\x53\x64\x73" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\x75\x6e\x53\x64" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\x6e\x53\x64\xa2" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\x6e\x53\x64\xac" } , { "\xd7\xe8\xbd\xe8\xcc" , "\x6e\x53\x67" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\x6e\x53\x67\x73" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\x6e\x53\x69\x79" } , { "\xd7\xe8\xbd\xe8\xcf" , "\x6e\x53\xae" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\x6e\x53\xae\x7c" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\x6e\x53\xae\x73" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\x6e\x53\xae\x74" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x6e\x53\xae\x74" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\x75\x6e\x53\xae" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\x75\x6e\x53\xae\x7c" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\x6e\x53\xae\x76" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\x6e\x53\xae\x7a" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\x6e\x53\xae\x7e" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\x6e\x53\xae\xa2" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\x6e\x53\xae\x7e" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\x6e\x53\xae\xa2" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\x6e\x53\xae\xa4" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\x6e\x53\xae\xa6" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\x6e\x53\xae\xa8" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\x6e\x53\xae\xac" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\x6e\x53\xae\xac\x72" } , { "\xd7\xe8\xbd\xe8\xd1" , "\x6e\x53\x6b" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\x6e\x53\x6b\x73" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\x75\x6e\x53\x6b" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\x6e\x53\x6b\x76" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\x6e\x53\x6b\x78" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\x6e\x53\x6b\xa4" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\x6e\x53\x6b\xa8" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\x6e\x53\xaf\x7c" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\x6e\x53\xaf\x73" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\x6e\x53\x6f\xa8" } , { "\xd7\xe8\xbd\xe8\xd7" , "\x6e\x53\x6e" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\x75\x6e\x53\x6e\x7c" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\x6e\x53\x6e\x78" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\x6e\x53\x6e\x7e" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\x6e\x53\x6e\x7e" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\x6e\x53\x6e" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\x75\x6e\x53\x6e\x6b" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\x6e\x53\x6e\xaf" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\x6e\x53\xad\x73" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\x75\x6e\x53\xad" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\x6e\x53\xad\xa8" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\x6e\x53\x6e" } , { "\xd7\xe8\xbe" , "\x6e\x54" } , { "\xd7\xe8\xbe\xda" , "\x6e\x54\x73" } , { "\xd7\xe8\xbe\xdb" , "\x75\x6e\x54" } , { "\xd7\xe8\xbe\xdd" , "\x6e\x54\x78" } , { "\xd7\xe8\xbe\xe0" , "\x6e\x54\x7e" } , { "\xd7\xe8\xbf" , "\x6e\x55" } , { "\xd7\xe8\xbf\xda" , "\x6e\x55\x73" } , { "\xd7\xe8\xbf\xdb" , "\x75\x6e\x55" } , { "\xd7\xe8\xbf\xdd" , "\x6e\x55\x78" } , { "\xd7\xe8\xbf\xe0" , "\x6e\x55\x7e" } , { "\xd7\xe8\xbf\xe1" , "\x6e\x55\x7e" } , { "\xd7\xe8\xbf\xe2" , "\x6e\x55\xa4" } , { "\xd7\xe8\xbf\xe8" , "\x6e\x55" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\x6e\x55\x45\x73" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\x75\x6e\x56\x7c" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\x6e\x56\x7e" } , { "\xd7\xe8\xc1" , "\x6e\x58" } , { "\xd7\xe8\xc1\xdd" , "\x6e\x58\x78" } , { "\xd7\xe8\xc2" , "\x6e\x59" } , { "\xd7\xe8\xc2\xa2" , "\x6e\x59\x7c" } , { "\xd7\xe8\xc2\xda" , "\x6e\x59\x73" } , { "\xd7\xe8\xc2\xda\xa1" , "\x6e\x59\x74" } , { "\xd7\xe8\xc2\xda\xa2" , "\x6e\x59\x74" } , { "\xd7\xe8\xc2\xda\xa3" , "\x6e\x59\x73\x7c" } , { "\xd7\xe8\xc2\xdb" , "\x75\x6e\x59" } , { "\xd7\xe8\xc2\xdb\xa2" , "\x75\x6e\x59\x7c" } , { "\xd7\xe8\xc2\xdc" , "\x6e\x59\x76" } , { "\xd7\xe8\xc2\xdc\xa2" , "\x6e\x59\x77" } , { "\xd7\xe8\xc2\xdd" , "\x6e\x59\x78" } , { "\xd7\xe8\xc2\xdd\xa2" , "\x6e\x59\x78\x7c" } , { "\xd7\xe8\xc2\xde" , "\x6e\x59\x79" } , { "\xd7\xe8\xc2\xde\xa2" , "\x6e\x59\x79\x7c" } , { "\xd7\xe8\xc2\xdf" , "\x75\x6e\x5a" } , { "\xd7\xe8\xc2\xdf\xa2" , "\x75\x6e\x5a\x7c" } , { "\xd7\xe8\xc2\xe0" , "\x6e\x59\x7e" } , { "\xd7\xe8\xc2\xe1" , "\x6e\x59\x7e" } , { "\xd7\xe8\xc2\xe1\xa2" , "\x6e\x59\xa2" } , { "\xd7\xe8\xc2\xe2" , "\x6e\x59\xa4" } , { "\xd7\xe8\xc2\xe4" , "\x6e\x59\xa8" } , { "\xd7\xe8\xc2\xe4\xa2" , "\x6e\x59\xaa" } , { "\xd7\xe8\xc2\xe5" , "\x6e\x59\xa8" } , { "\xd7\xe8\xc2\xe5\xa2" , "\x6e\x59\xaa" } , { "\xd7\xe8\xc2\xe6" , "\x6e\x59\xac" } , { "\xd7\xe8\xc2\xe8" , "\x6e\x59" } , { "\xd7\xe8\xc2\xe8\xc2" , "\x6e\x59\x59" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\x75\x6e\x59\x59" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\x6e\x59\x59\x78" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\x6e\x59\x5a" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\x6e\x59\x60\x73" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\x75\x6e\x59\x60" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\x6e\x59\x67\x78" } , { "\xd7\xe8\xc2\xe8\xcd" , "\x6e\x59\x69" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\x6e\x59\x69\x7c" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\x6e\x59\x69\x73" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\x6e\x59\x69\x74" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\x6e\x59\x69\x78" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\x6e\x59\x69\x7e" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\x6e\x59\x69\xa4" } , { "\xd7\xe8\xc2\xe8\xcf" , "\x6e\x5a" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\x6e\x5a\x7c" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\x6e\x5a\x73" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\x6e\x5a\x74" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\x75\x6e\x5a" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\x6e\x5a\x76" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\x6e\x5a\x7a" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\x75\x6e\x59\x6a\xae" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\x6e\x5a\x7e" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\x6e\x5a\xa4" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\x6e\x5a\xa8" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\x6e\x5a\xaa" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\x6e\x59\x6a\x69\x78" } , { "\xd7\xe8\xc2\xe8\xd4" , "\x6e\x59\xaf" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\x6e\x59\xaf\x7c" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\x6e\x59\xaf\x73" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\x75\x6e\x59\xaf" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\x6e\x59\xaf\xa4" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\x6e\x59\xaf\xa8" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\x6e\x59\xaf\xac" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\x6e\x59\x6d\x69\x78" } , { "\xd7\xe8\xc3" , "\x6e\x5c" } , { "\xd7\xe8\xc3\xa2" , "\x6e\x5c\x7c" } , { "\xd7\xe8\xc3\xa3" , "\x6e\x5c\x7c" } , { "\xd7\xe8\xc3\xda" , "\x6e\x5c\x73" } , { "\xd7\xe8\xc3\xda\xa2" , "\x6e\x5c\x74" } , { "\xd7\xe8\xc3\xda\xa3" , "\x6e\x5c\x73\x7c" } , { "\xd7\xe8\xc3\xdb" , "\x75\x6e\x5c" } , { "\xd7\xe8\xc3\xdb\xa2" , "\x75\x6e\x5c\x7c" } , { "\xd7\xe8\xc3\xdc" , "\x6e\x5c\x76" } , { "\xd7\xe8\xc3\xdd" , "\x6e\x5c\x78" } , { "\xd7\xe8\xc3\xde" , "\x6e\x5c\x79" } , { "\xd7\xe8\xc3\xe0" , "\x6e\x5c\x7e" } , { "\xd7\xe8\xc3\xe1" , "\x6e\x5c\x7e" } , { "\xd7\xe8\xc3\xe2" , "\x6e\x5c\xa4" } , { "\xd7\xe8\xc3\xe5" , "\x6e\x5c\xa8" } , { "\xd7\xe8\xc3\xe5\xa2" , "\x6e\x5c\xaa" } , { "\xd7\xe8\xc3\xe6" , "\x6e\x5c\xac" } , { "\xd7\xe8\xc3\xe8" , "\x6e\x5c" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\x6e\x5c\x45\x78" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\x75\x6e\x5c\x59" } , { "\xd7\xe8\xc3\xe8\xc6" , "\x6e\x5c\x60" } , { "\xd7\xe8\xc3\xe8\xcd" , "\x6e\x5c\x69" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\x6e\x5c\x69\x7c" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\x6e\x5c\x69\x73" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\x6e\x5c\x68\x5d\x69" } , { "\xd7\xe8\xc3\xe8\xcf" , "\x6e\x5c\xae" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\x6e\x5c\xae\x76" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\x6e\x5c\x6b\x78" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\x6e\x5c\x6e\x73" } , { "\xd7\xe8\xc4" , "\x6e\x5d" } , { "\xd7\xe8\xc4\xda" , "\x6e\x5d\x73" } , { "\xd7\xe8\xc4\xdb" , "\x75\x6e\x5d" } , { "\xd7\xe8\xc4\xdd" , "\x6e\x5d\x78" } , { "\xd7\xe8\xc4\xdd\xa2" , "\x6e\x5d\x78\x7c" } , { "\xd7\xe8\xc4\xde\xa2" , "\x6e\x5d\x79\x7c" } , { "\xd7\xe8\xc4\xe1" , "\x6e\x5d\x7e" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\x6e\x5d\x5d\xa8" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\x6e\x5d\xaf\x73" } , { "\xd7\xe8\xc5" , "\x6e\x5f" } , { "\xd7\xe8\xc5\xa2" , "\x6e\x5f\x7c" } , { "\xd7\xe8\xc5\xda" , "\x6e\x5f\x73" } , { "\xd7\xe8\xc5\xdb" , "\x75\x6e\x5f" } , { "\xd7\xe8\xc5\xdd" , "\x6e\x5f\x78" } , { "\xd7\xe8\xc5\xde" , "\x6e\x5f\x79" } , { "\xd7\xe8\xc5\xe0" , "\x6e\x5f\x7e" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\x6e\x5f\x69\x7c" } , { "\xd7\xe8\xc6" , "\x6e\x60" } , { "\xd7\xe8\xc6\xa2" , "\x6e\x60\x7d" } , { "\xd7\xe8\xc6\xda" , "\x6e\x60\x73" } , { "\xd7\xe8\xc6\xdb" , "\x75\x6e\x60" } , { "\xd7\xe8\xc6\xdc" , "\x6e\x60\x76" } , { "\xd7\xe8\xc6\xdd" , "\x6e\x60\x78" } , { "\xd7\xe8\xc6\xdd\xa2" , "\x6e\x60\x78\x7d" } , { "\xd7\xe8\xc6\xde" , "\x6e\x60\x79" } , { "\xd7\xe8\xc6\xe0" , "\x6e\x60\x7e" } , { "\xd7\xe8\xc6\xe1" , "\x6e\x60\xa1" } , { "\xd7\xe8\xc6\xe2" , "\x6e\x60\xa5" } , { "\xd7\xe8\xc6\xe5" , "\x6e\x60\xa9" } , { "\xd7\xe8\xc6\xe8\xc6" , "\x6e\x60\x60" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\x6e\x60\x60\x78" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\x6e\x60\x60\xa1" } , { "\xd7\xe8\xc8" , "\x6e\x61" } , { "\xd7\xe8\xc8\xa2" , "\x6e\x61\x7c" } , { "\xd7\xe8\xc8\xda" , "\x6e\x61\x73" } , { "\xd7\xe8\xc8\xda\xa2" , "\x6e\x61\x74" } , { "\xd7\xe8\xc8\xdb" , "\x75\x6e\x61" } , { "\xd7\xe8\xc8\xdb\xa2" , "\x75\x6e\x61\x7c" } , { "\xd7\xe8\xc8\xdc" , "\x6e\x61\x76" } , { "\xd7\xe8\xc8\xdd" , "\x6e\x61\x78" } , { "\xd7\xe8\xc8\xde" , "\x6e\x61\x79" } , { "\xd7\xe8\xc8\xdf" , "\x75\x6e\x61\xae" } , { "\xd7\xe8\xc8\xe0" , "\x6e\x61\x7e" } , { "\xd7\xe8\xc8\xe0\xa2" , "\x6e\x61\xa2" } , { "\xd7\xe8\xc8\xe1" , "\x6e\x61\x7e" } , { "\xd7\xe8\xc8\xe1\xa2" , "\x6e\x61\xa2" } , { "\xd7\xe8\xc8\xe2" , "\x6e\x61\xa4" } , { "\xd7\xe8\xc8\xe2\xa2" , "\x6e\x61\xa6" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\x6e\x61\xa4\x55" } , { "\xd7\xe8\xc8\xe4" , "\x6e\x61\xa8" } , { "\xd7\xe8\xc8\xe5" , "\x6e\x61\xa8" } , { "\xd7\xe8\xc8\xe5\xa2" , "\x6e\x61\xaa" } , { "\xd7\xe8\xc8\xe6" , "\x6e\x61\xac" } , { "\xd7\xe8\xc8\xe7" , "\x6e\x61\xac" } , { "\xd7\xe8\xc8\xe8" , "\x6e\x61" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\x6e\x61\x64\x7e" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\x6e\x61\x69\x79" } , { "\xd7\xe8\xc8\xe8\xcf" , "\x6e\x61\xae" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\x6e\x61\xae\x73" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\x75\x6e\x61\xae" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\x75\x6e\x61\xae\x7c" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\x6e\x61\xae\x7a" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\x6e\x61\xae\x7b" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\x6e\x61\xae\x7e" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\x6e\x61\xae\xa4" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\x6e\x61\xae\xa8" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\x6e\x61\xae\xa8" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\x6e\x61\x6b\x73" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\x6e\x61\x6b\x7e" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\x6e\x61\x6b\x7e" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\x6e\x61\x6f\x69" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\x6e\x61\x6e\x73" } , { "\xd7\xe8\xc8\xe8\xd8" , "\x6e\x61\xad" } , { "\xd7\xe8\xc9" , "\x6e\x62" } , { "\xd7\xe8\xc9\xa2" , "\x6e\x62\x7c" } , { "\xd7\xe8\xc9\xda" , "\x6e\x62\x73" } , { "\xd7\xe8\xc9\xda\xa2" , "\x6e\x62\x74" } , { "\xd7\xe8\xc9\xdb" , "\x75\x6e\x62" } , { "\xd7\xe8\xc9\xdb\xa2" , "\x75\x6e\x62\x7c" } , { "\xd7\xe8\xc9\xdc" , "\x6e\x62\x76" } , { "\xd7\xe8\xc9\xdd" , "\x6e\x62\x78" } , { "\xd7\xe8\xc9\xde" , "\x6e\x62\x79" } , { "\xd7\xe8\xc9\xdf" , "\x75\x6e\x62\xae" } , { "\xd7\xe8\xc9\xe0" , "\x6e\x62\x7e" } , { "\xd7\xe8\xc9\xe0\xa2" , "\x6e\x62\xa2" } , { "\xd7\xe8\xc9\xe1" , "\x6e\x62\x7e" } , { "\xd7\xe8\xc9\xe2" , "\x6e\x62\xa4" } , { "\xd7\xe8\xc9\xe4" , "\x6e\x62\xa8" } , { "\xd7\xe8\xc9\xe5" , "\x6e\x62\xa8" } , { "\xd7\xe8\xc9\xe6" , "\x6e\x62\xac" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\x6e\x62\x69\x73" } , { "\xd7\xe8\xca" , "\x6e\x64" } , { "\xd7\xe8\xca\xda" , "\x6e\x64\x73" } , { "\xd7\xe8\xca\xdb" , "\x75\x6e\x64" } , { "\xd7\xe8\xca\xdd" , "\x6e\x64\x78" } , { "\xd7\xe8\xca\xe0" , "\x6e\x64\x7e" } , { "\xd7\xe8\xca\xe1" , "\x6e\x64\x7e" } , { "\xd7\xe8\xca\xe1\xa2" , "\x6e\x64\xa2" } , { "\xd7\xe8\xca\xe2" , "\x6e\x64\xa4" } , { "\xd7\xe8\xca\xe5" , "\x6e\x64\xa8" } , { "\xd7\xe8\xca\xe5\xa2" , "\x6e\x64\xaa" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\x6e\x64\xae\x7b" } , { "\xd7\xe8\xcb" , "\x6e\x65" } , { "\xd7\xe8\xcb\xdb" , "\x75\x6e\x65" } , { "\xd7\xe8\xcb\xe0" , "\x6e\x65\x7e" } , { "\xd7\xe8\xcc" , "\x6e\x67" } , { "\xd7\xe8\xcc\xa2" , "\x6e\x67\x7c" } , { "\xd7\xe8\xcc\xda" , "\x6e\x67\x73" } , { "\xd7\xe8\xcc\xda\xa2" , "\x6e\x67\x74" } , { "\xd7\xe8\xcc\xdb" , "\x75\x6e\x67" } , { "\xd7\xe8\xcc\xdc" , "\x6e\x67\x76" } , { "\xd7\xe8\xcc\xdd" , "\x6e\x67\x78" } , { "\xd7\xe8\xcc\xdd\xa2" , "\x6e\x67\x78\x7c" } , { "\xd7\xe8\xcc\xdf" , "\x75\x6e\x67\xae" } , { "\xd7\xe8\xcc\xe0" , "\x6e\x67\x7e" } , { "\xd7\xe8\xcc\xe0\xa2" , "\x6e\x67\xa2" } , { "\xd7\xe8\xcc\xe1" , "\x6e\x67\x7e" } , { "\xd7\xe8\xcc\xe1\xa2" , "\x6e\x67\xa2" } , { "\xd7\xe8\xcc\xe2" , "\x6e\x67\xa4" } , { "\xd7\xe8\xcc\xe2\xa2" , "\x6e\x67\xa6" } , { "\xd7\xe8\xcc\xe4" , "\x6e\x67\xa8" } , { "\xd7\xe8\xcc\xe5" , "\x6e\x67\xa8" } , { "\xd7\xe8\xcc\xe5\xa2" , "\x6e\x67\xaa" } , { "\xd7\xe8\xcc\xe6" , "\x6e\x67\xac" } , { "\xd7\xe8\xcc\xe8" , "\x6e\x67" } , { "\xd7\xe8\xcc\xe8\xc2" , "\x6e\x67\x59" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\x75\x6e\x67\x59" } , { "\xd7\xe8\xcc\xe8\xcc" , "\x6e\x67\x67" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\x6e\x67\x69\x74" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\x6e\x67\x69\x78" } , { "\xd7\xe8\xcc\xe8\xd1" , "\x6e\x67\x6b" } , { "\xd7\xe8\xcd" , "\x6e\x69" } , { "\xd7\xe8\xcd\xa2" , "\x6e\x69\x7c" } , { "\xd7\xe8\xcd\xa3" , "\x6e\x69\x7c" } , { "\xd7\xe8\xcd\xda" , "\x6e\x69\x73" } , { "\xd7\xe8\xcd\xda\xa2" , "\x6e\x69\x74" } , { "\xd7\xe8\xcd\xda\xa3" , "\x6e\x69\x73\x7c" } , { "\xd7\xe8\xcd\xdb" , "\x75\x6e\x69" } , { "\xd7\xe8\xcd\xdc" , "\x6e\x69\x76" } , { "\xd7\xe8\xcd\xdd" , "\x6e\x69\x78" } , { "\xd7\xe8\xcd\xdd\xa3" , "\x6e\x69\x78\x7c" } , { "\xd7\xe8\xcd\xde" , "\x6e\x69\x79" } , { "\xd7\xe8\xcd\xde\xa2" , "\x6e\x69\x79\x7c" } , { "\xd7\xe8\xcd\xe0" , "\x6e\x69\x7e" } , { "\xd7\xe8\xcd\xe1" , "\x6e\x69\x7e" } , { "\xd7\xe8\xcd\xe2" , "\x6e\x69\xa4" } , { "\xd7\xe8\xcd\xe4" , "\x6e\x69\xa8" } , { "\xd7\xe8\xcd\xe5" , "\x6e\x69\xa8" } , { "\xd7\xe8\xcd\xe5\xa2" , "\x6e\x69\xaa" } , { "\xd7\xe8\xcd\xe5\xa3" , "\x6e\x69\xa8\x7c" } , { "\xd7\xe8\xcd\xe6" , "\x6e\x69\xac" } , { "\xd7\xe8\xcd\xe8" , "\x6e\x68" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\x6e\x68\x69\x73" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\x6e\x68\xae\x73" } , { "\xd7\xe8\xcf" , "\x6e\xae" } , { "\xd7\xe8\xcf\xa2" , "\x6e\xae\x7c" } , { "\xd7\xe8\xcf\xda" , "\x6e\xae\x73" } , { "\xd7\xe8\xcf\xda\xa2" , "\x6e\xae\x74" } , { "\xd7\xe8\xcf\xdb" , "\x75\x6e\xae" } , { "\xd7\xe8\xcf\xdb\xa2" , "\x75\x6e\xae\x7c" } , { "\xd7\xe8\xcf\xdc" , "\x6e\xae\x76" } , { "\xd7\xe8\xcf\xdd" , "\x6e\xae\x7a" } , { "\xd7\xe8\xcf\xde" , "\x6e\xae\x7b" } , { "\xd7\xe8\xcf\xde\xa2" , "\x6e\xae\x7b\x7c" } , { "\xd7\xe8\xcf\xdf" , "\x75\x6e\x6a\xae" } , { "\xd7\xe8\xcf\xe0" , "\x6e\xae\x7e" } , { "\xd7\xe8\xcf\xe1" , "\x6e\xae\x7e" } , { "\xd7\xe8\xcf\xe2" , "\x6e\xae\xa4" } , { "\xd7\xe8\xcf\xe5" , "\x6e\xae\xa8" } , { "\xd7\xe8\xcf\xe5\xa2" , "\x6e\xae\xaa" } , { "\xd7\xe8\xcf\xe8\xbd" , "\x6e\x6a\x53" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\x6e\x6a\x61\x7e" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\x6e\x6a\xaf\x73" } , { "\xd7\xe8\xd1" , "\x6e\x6b" } , { "\xd7\xe8\xd1\xa2" , "\x6e\x6b\x7c" } , { "\xd7\xe8\xd1\xda" , "\x6e\x6b\x73" } , { "\xd7\xe8\xd1\xda\xa2" , "\x6e\x6b\x74" } , { "\xd7\xe8\xd1\xdb" , "\x75\x6e\x6b" } , { "\xd7\xe8\xd1\xdb\xa2" , "\x75\x6e\x6b\x7c" } , { "\xd7\xe8\xd1\xdc" , "\x6e\x6b\x76" } , { "\xd7\xe8\xd1\xdc\xa2" , "\x6e\x6b\x77" } , { "\xd7\xe8\xd1\xdd" , "\x6e\x6b\x78" } , { "\xd7\xe8\xd1\xdd\xa2" , "\x6e\x6b\x78\x7c" } , { "\xd7\xe8\xd1\xde" , "\x6e\x6b\x79" } , { "\xd7\xe8\xd1\xe0" , "\x6e\x6b\x7e" } , { "\xd7\xe8\xd1\xe1" , "\x6e\x6b\x7e" } , { "\xd7\xe8\xd1\xe1\xa2" , "\x6e\x6b\xa2" } , { "\xd7\xe8\xd1\xe2" , "\x6e\x6b\xa4" } , { "\xd7\xe8\xd1\xe4" , "\x6e\x6b\xa8" } , { "\xd7\xe8\xd1\xe5" , "\x6e\x6b\xa8" } , { "\xd7\xe8\xd1\xe5\xa2" , "\x6e\x6b\xaa" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\x75\x6e\x6b\x45" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\x6e\x6b\x45\x7e" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\x6e\x6b\x45\xa8" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\x6e\x6b\x61\x74" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\x6e\x6b\x61\x76" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\x6e\x6b\x61\x7e" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\x6e\x6b\x61\xa2" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\x6e\x6b\x6e\x74" } , { "\xd7\xe8\xd4" , "\x6e\xaf" } , { "\xd7\xe8\xd4\xa2" , "\x6e\xaf\x7c" } , { "\xd7\xe8\xd4\xda" , "\x6e\xaf\x73" } , { "\xd7\xe8\xd4\xda\xa1" , "\x6e\xaf\x74" } , { "\xd7\xe8\xd4\xda\xa2" , "\x6e\xaf\x74" } , { "\xd7\xe8\xd4\xdb" , "\x75\x6e\xaf" } , { "\xd7\xe8\xd4\xdb\xa2" , "\x75\x6e\xaf\x7c" } , { "\xd7\xe8\xd4\xdc" , "\x6e\xaf\x76" } , { "\xd7\xe8\xd4\xdc\xa2" , "\x6e\xaf\x77" } , { "\xd7\xe8\xd4\xdd" , "\x6e\xaf\x7a" } , { "\xd7\xe8\xd4\xdd\xa2" , "\x6e\xaf\x7a\x7c" } , { "\xd7\xe8\xd4\xdf" , "\x75\x6e\x6d\xae" } , { "\xd7\xe8\xd4\xe0" , "\x6e\xaf\x7e" } , { "\xd7\xe8\xd4\xe1" , "\x6e\xaf\x7e" } , { "\xd7\xe8\xd4\xe2" , "\x6e\xaf\xa4" } , { "\xd7\xe8\xd4\xe2\xa2" , "\x6e\xaf\xa6" } , { "\xd7\xe8\xd4\xe5" , "\x6e\xaf\xa8" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\x6e\x6d\x45\x73" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\x6e\x6d\x59\x7c" } , { "\xd7\xe8\xd5" , "\x6e\x6f" } , { "\xd7\xe8\xd5\xda" , "\x6e\x6f\x73" } , { "\xd7\xe8\xd5\xdb" , "\x75\x6e\x6f" } , { "\xd7\xe8\xd5\xdd" , "\x6e\x6f\x78" } , { "\xd7\xe8\xd5\xe1" , "\x6e\x6f\x7e" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\x6e\x6f\xae\x7e" } , { "\xd7\xe8\xd6" , "\x6e\x6f" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\x75\x6e\x6f\x53" } , { "\xd7\xe8\xd7" , "\x6e\x6e" } , { "\xd7\xe8\xd7\xa2" , "\x6e\x6e\x7c" } , { "\xd7\xe8\xd7\xda" , "\x6e\x6e\x73" } , { "\xd7\xe8\xd7\xda\xa2" , "\x6e\x6e\x74" } , { "\xd7\xe8\xd7\xdb" , "\x75\x6e\x6e" } , { "\xd7\xe8\xd7\xdb\xa2" , "\x75\x6e\x6e\x7c" } , { "\xd7\xe8\xd7\xdc" , "\x6e\x6e\x76" } , { "\xd7\xe8\xd7\xdc\xa2" , "\x6e\x6e\x77" } , { "\xd7\xe8\xd7\xdd" , "\x6e\x6e\x78" } , { "\xd7\xe8\xd7\xdd\xa2" , "\x6e\x6e\x78\x7c" } , { "\xd7\xe8\xd7\xde" , "\x6e\x6e\x79" } , { "\xd7\xe8\xd7\xdf" , "\x75\x6e\x6e\xae" } , { "\xd7\xe8\xd7\xe0" , "\x6e\x6e\x7e" } , { "\xd7\xe8\xd7\xe0\xa2" , "\x6e\x6e\xa2" } , { "\xd7\xe8\xd7\xe1" , "\x6e\x6e\x7e" } , { "\xd7\xe8\xd7\xe1\xa2" , "\x6e\x6e\xa2" } , { "\xd7\xe8\xd7\xe2" , "\x6e\x6e\xa4" } , { "\xd7\xe8\xd7\xe4" , "\x6e\x6e\xa8" } , { "\xd7\xe8\xd7\xe5" , "\x6e\x6e\xa8" } , { "\xd7\xe8\xd7\xe5\xa2" , "\x6e\x6e\xaa" } , { "\xd7\xe8\xd7\xe6" , "\x6e\x6e\xac" } , { "\xd7\xe8\xd7\xe6\xa2" , "\x6e\x6e\xac\x72" } , { "\xd7\xe8\xd7\xe8" , "\x6e\x6e" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\x6e\x6e\x45\x73" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\x6e\x6e\x45\x78" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\x75\x6e\x6e\x46" } , { "\xd7\xe8\xd7\xe8\xbd" , "\x6e\x6e\x53" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\x6e\x6e\x53\x73" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\x6e\x6e\x53\x74" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\x6e\x6e\x53\x76" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\x6e\x6e\x53\x7e" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x6e\x6e\x53\xae\x73" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\x6e\x6e\x59\x79\x7c" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\x6e\x6e\x5c\x73" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\x75\x6e\x6e\x5c" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\x6e\x6e\x60\x73" } , { "\xd7\xe8\xd7\xe8\xcc" , "\x6e\x6e\x67" } , { "\xd7\xe8\xd7\xe8\xcd" , "\x6e\x6e\x69" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\x6e\x6e\x69\x73" } , { "\xd7\xe8\xd7\xe8\xcf" , "\x6e\x6e\xae" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\x6e\x6e\xae\x73" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\x6e\x6e\x6b\x78" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\x6e\x6e\x6b\xa8" } , { "\xd7\xe8\xd7\xe8\xd4" , "\x6e\x6e\xaf" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\x6e\x6e\xaf\x73" } , { "\xd7\xe8\xd8" , "\x6e\xad" } , { "\xd7\xe8\xd8\xda" , "\x6e\xad\x73" } , { "\xd7\xe8\xd8\xe0" , "\x6e\xad\x7e" } , { "\xd7\xe8\xd8\xe5" , "\x6e\xad\xa8" } , { "\xd7\xe8\xd8\xe6" , "\x6e\xad\xac" } , { "\xd7\xe8\xd9" , "\x6e" } , { "\xd7\xe8\xd9\xa6" , "\x6e\x75\x42" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\x6e\x6a\x53" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\x6e\x6a\x53\x73" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\x6e\x6a\x53\x7e" } , { "\xd7\xe8\xe8" , "\x6e" } , { "\xd7\xe8\xe9\xcf" , "\x6e\xae" } , { "\xd7\xe9" , "\x6e" } , { "\xd8" , "\x70" } , { "\xd8\xa1" , "\x70\x7c" } , { "\xd8\xa2" , "\x70\x7c" } , { "\xd8\xa3" , "\x70\x7c" } , { "\xd8\xd0" , "\x70\x6a" } , { "\xd8\xd9" , "\x70" } , { "\xd8\xd9\xd1\xda" , "\x70\x6b\x73" } , { "\xd8\xda" , "\x70\x73" } , { "\xd8\xda\xa1" , "\x70\x74" } , { "\xd8\xda\xa2" , "\x70\x74" } , { "\xd8\xda\xa3" , "\x70\x73\x7c" } , { "\xd8\xdb" , "\x75\x70" } , { "\xd8\xdb\xa2" , "\x75\x70\x7c" } , { "\xd8\xdb\xa2\xa2" , "\x75\x70\x7c\x7d" } , { "\xd8\xdb\xa3" , "\x75\x70\x7c" } , { "\xd8\xdc" , "\x70\x76" } , { "\xd8\xdc\xa1" , "\x70\x77" } , { "\xd8\xdc\xa2" , "\x70\x77" } , { "\xd8\xdd" , "\x70\x78" } , { "\xd8\xdd\xa1" , "\x70\x78\x7c" } , { "\xd8\xdd\xa2" , "\x70\x78\x7c" } , { "\xd8\xdd\xa3" , "\x70\x78\x7c" } , { "\xd8\xde" , "\x70\x79" } , { "\xd8\xde\xa1" , "\x70\x79\x7c" } , { "\xd8\xde\xa2" , "\x70\x79\x7c" } , { "\xd8\xdf" , "\x75\x70\xae" } , { "\xd8\xe0" , "\x70\x7e" } , { "\xd8\xe0\xa2" , "\x70\xa2" } , { "\xd8\xe1" , "\x70\x7e" } , { "\xd8\xe1\xa2" , "\x70\xa2" } , { "\xd8\xe1\xa3" , "\x70\x7e\x7c" } , { "\xd8\xe2" , "\x70\xa4" } , { "\xd8\xe2\xa1" , "\x70\xa6" } , { "\xd8\xe2\xa2" , "\x70\xa6" } , { "\xd8\xe2\xa3" , "\x70\xa4\x7c" } , { "\xd8\xe3" , "\x70\xa4" } , { "\xd8\xe3\xa2" , "\x70\xa6" } , { "\xd8\xe4" , "\x70\xa8" } , { "\xd8\xe4\xa2" , "\x70\xaa" } , { "\xd8\xe5" , "\x70\xa8" } , { "\xd8\xe5\xa1" , "\x70\xaa" } , { "\xd8\xe5\xa2" , "\x70\xaa" } , { "\xd8\xe6" , "\x70\xac" } , { "\xd8\xe6\xa2" , "\x70\xac\x72" } , { "\xd8\xe7" , "\x70\xac" } , { "\xd8\xe7\xa2" , "\x70\xac\x72" } , { "\xd8\xe8" , "\x70" } , { "\xd8\xe8\xb3\xdd" , "\x70\x45\x78" } , { "\xd8\xe8\xb5" , "\x70\x49" } , { "\xd8\xe8\xb5\xdd" , "\x70\x49\x78" } , { "\xd8\xe8\xb5\xde" , "\x70\x49\x79" } , { "\xd8\xe8\xb8" , "\x70\x4d" } , { "\xd8\xe8\xb8\xdd" , "\x70\x4d\x78" } , { "\xd8\xe8\xbd\xdb" , "\x75\x70\x53" } , { "\xd8\xe8\xbf" , "\x70\x55" } , { "\xd8\xe8\xc1" , "\x70\x58" } , { "\xd8\xe8\xc1\xda" , "\x70\x58\x73" } , { "\xd8\xe8\xc1\xe1" , "\x70\x58\xa1" } , { "\xd8\xe8\xc2" , "\x70\x59" } , { "\xd8\xe8\xc2\xa2" , "\x70\x59\x7c" } , { "\xd8\xe8\xc2\xda" , "\x70\x59\x73" } , { "\xd8\xe8\xc2\xdc" , "\x70\x59\x76" } , { "\xd8\xe8\xc2\xe8" , "\x70\x59" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\x70\x59\x59\xaf" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\x70\x5a\x73" } , { "\xd8\xe8\xc2\xe8\xd4" , "\x70\x59\xaf" } , { "\xd8\xe8\xc3" , "\x70\x5c" } , { "\xd8\xe8\xc4" , "\x70\x5d" } , { "\xd8\xe8\xc4\xe1" , "\x70\x5d\x7e" } , { "\xd8\xe8\xc4\xe5\xa2" , "\x70\x5d\xaa" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\x70\x5d\x61\x73" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\x70\x5d\x69\x7c" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\x70\x5e\xa8" } , { "\xd8\xe8\xc6" , "\x70\x60" } , { "\xd8\xe8\xc6\xa2" , "\x70\x60\x7d" } , { "\xd8\xe8\xc6\xda" , "\x70\x60\x73" } , { "\xd8\xe8\xc6\xda\xa2" , "\x70\x60\x74" } , { "\xd8\xe8\xc6\xdb" , "\x75\x70\x60" } , { "\xd8\xe8\xc6\xdd" , "\x70\x60\x78" } , { "\xd8\xe8\xc6\xe5\xa2" , "\x70\x60\xab" } , { "\xd8\xe8\xca" , "\x70\x64" } , { "\xd8\xe8\xcb" , "\x70\x65" } , { "\xd8\xe8\xcc" , "\x70\x67" } , { "\xd8\xe8\xcc\xa2" , "\x70\x67\x7c" } , { "\xd8\xe8\xcc\xda" , "\x70\x67\x73" } , { "\xd8\xe8\xcc\xda\xa2" , "\x70\x67\x74" } , { "\xd8\xe8\xcc\xdb" , "\x75\x70\x67" } , { "\xd8\xe8\xcc\xdc" , "\x70\x67\x76" } , { "\xd8\xe8\xcc\xde" , "\x70\x67\x79" } , { "\xd8\xe8\xcc\xe1" , "\x70\x67\x7e" } , { "\xd8\xe8\xcc\xe1\xa2" , "\x70\x67\xa2" } , { "\xd8\xe8\xcc\xe2" , "\x70\x67\xa4" } , { "\xd8\xe8\xcc\xe5" , "\x70\x67\xa8" } , { "\xd8\xe8\xcc\xe8" , "\x70\x67" } , { "\xd8\xe8\xcc\xe8\xb8" , "\x70\x67\x4d" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\x70\x67\x4d\x73" } , { "\xd8\xe8\xcc\xe8\xc1" , "\x70\x67\x58" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\x70\x67\x58\x76" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\x70\x67\xaf\x73" } , { "\xd8\xe8\xcd" , "\x70\x69" } , { "\xd8\xe8\xcd\xa2" , "\x70\x69\x7c" } , { "\xd8\xe8\xcd\xda" , "\x70\x69\x73" } , { "\xd8\xe8\xcd\xda\xa2" , "\x70\x69\x74" } , { "\xd8\xe8\xcd\xdb" , "\x75\x70\x69" } , { "\xd8\xe8\xcd\xdb\xa2" , "\x75\x70\x69\x7c" } , { "\xd8\xe8\xcd\xdc\xa2" , "\x70\x69\x77" } , { "\xd8\xe8\xcd\xdd" , "\x70\x69\x78" } , { "\xd8\xe8\xcd\xde" , "\x70\x69\x79" } , { "\xd8\xe8\xcd\xde\xa2" , "\x70\x69\x79\x7c" } , { "\xd8\xe8\xcd\xe1" , "\x70\x69\x7e" } , { "\xd8\xe8\xcd\xe1\xa2" , "\x70\x69\xa2" } , { "\xd8\xe8\xcd\xe5" , "\x70\x69\xa8" } , { "\xd8\xe8\xcd\xe8\xcf" , "\x70\x68\xae" } , { "\xd8\xe8\xcd\xe8\xd7" , "\x70\x68\x6e" } , { "\xd8\xe8\xcf" , "\x70\xae" } , { "\xd8\xe8\xcf\xda" , "\x70\xae\x73" } , { "\xd8\xe8\xcf\xda\xa2" , "\x70\xae\x74" } , { "\xd8\xe8\xcf\xdb" , "\x75\x70\xae" } , { "\xd8\xe8\xcf\xdc" , "\x70\xae\x76" } , { "\xd8\xe8\xcf\xdc\xa2" , "\x70\xae\x77" } , { "\xd8\xe8\xcf\xdd" , "\x70\xae\x7a" } , { "\xd8\xe8\xcf\xde" , "\x70\xae\x7b" } , { "\xd8\xe8\xcf\xde\xa2" , "\x70\xae\x7b\x7c" } , { "\xd8\xe8\xcf\xe0" , "\x70\xae\x7e" } , { "\xd8\xe8\xcf\xe1\xa2" , "\x70\xae\xa2" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x70\x6a\x60\x64\x6b\xa2" } , { "\xd8\xe8\xd1" , "\x70\x6b" } , { "\xd8\xe8\xd1\xda" , "\x70\x6b\x73" } , { "\xd8\xe8\xd1\xda\xa2" , "\x70\x6b\x74" } , { "\xd8\xe8\xd1\xdb" , "\x75\x70\x6b" } , { "\xd8\xe8\xd1\xdc" , "\x70\x6b\x76" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\x70\x6b\xaf\x73" } , { "\xd8\xe8\xd4" , "\x70\xaf" } , { "\xd8\xe8\xd4\xda" , "\x70\xaf\x73" } , { "\xd8\xe8\xd4\xdb" , "\x75\x70\xaf" } , { "\xd8\xe8\xd4\xdc" , "\x70\xaf\x76" } , { "\xd8\xe8\xd4\xe1" , "\x70\xaf\x7e" } , { "\xd8\xe8\xd4\xe1\xa2" , "\x70\xaf\xa2" } , { "\xd8\xe8\xd4\xe2" , "\x70\xaf\xa4" } , { "\xd8\xe8\xd4\xe4" , "\x70\xaf\xa8" } , { "\xd8\xe8\xd4\xe5" , "\x70\xaf\xa8" } , { "\xd8\xe8\xd4\xe8" , "\x70\x6d" } , { "\xd8\xe8\xd6\xdb" , "\x75\x70\x6f" } , { "\xd8\xe8\xd6\xe8\xbd" , "\x70\x6f\x53" } , { "\xd8\xe8\xd7\xa2" , "\x70\x6e\x7c" } , { "\xd8\xe8\xd7\xe8" , "\x70\x6e" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\x70\x6e\x45\x76" } , { "\xd8\xe8\xd7\xe8\xd4" , "\x70\x6e\xaf" } , { "\xd8\xe8\xd8" , "\x70\xad" } , { "\xd8\xe8\xd8\xa2" , "\x70\xad\x7c" } , { "\xd8\xe8\xd8\xda" , "\x70\xad\x73" } , { "\xd8\xe8\xd8\xdb" , "\x75\x70\xad" } , { "\xd8\xe8\xd8\xdc" , "\x70\xad\x76" } , { "\xd8\xe8\xd8\xe5\xa2" , "\x70\xad\xaa" } , { "\xd8\xe8\xd9" , "\x70" } , { "\xd8\xe8\xd9\xcc" , "\x70\x67" } , { "\xd8\xe8\xd9\xcd" , "\x70\x68" } , { "\xd8\xe8\xe8" , "\x70" } , { "\xd8\xe8\xe9\xcf" , "\x70\xae" } , { "\xd8\xe9" , "\x70" } , { "\xda" , "\x73" } , { "\xdb" , "\x75" } , { "\xdb\xa2" , "\x75\x7d" } , { "\xdc" , "\x76" } , { "\xdc\xa2" , "\x76\x7d" } , { "\xdd" , "\x78" } , { "\xde" , "\x79" } , { "\xdf" , "" } , { "\xe0" , "\x7e" } , { "\xe0\xa2" , "\x7e\x7d" } , { "\xe1" , "\x7e" } , { "\xe1\xa2" , "\x7e\x7d" } , { "\xe2" , "\xa4" } , { "\xe2\xa2" , "\xa4\x7d" } , { "\xe3" , "\xa4" } , { "\xe3\xa2" , "\xa4\x7d" } , { "\xe4" , "\xa8" } , { "\xe4\xa2" , "\xa8\x7d" } , { "\xe5" , "\xa8" } , { "\xe5\xa2" , "\xa8\x7d" } , { "\xe6" , "\xac" } , { "\xe6\xa2" , "\xac\x7d" } , { "\xe7" , "\xac" } , { "\xe8" , "\xb1" } , { "\xe8\xe9" , "\xb1" } , { "\xe9" , "\x71" } , { "\xe9\xdd" , "\x71\x78" } , { "\xe9\xde" , "\x71\x79" } , { "\xe9\xe9" , "\x71" } , } ; ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/telugu.table��������������������������������������������������������������0100644�0001760�0000144�00001714635�13210547313�0016412�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_telugu_table[] = { { "\xa1" , "\x69\xb7" } , { "\xa1\xa2" , "\x69\xb7\x69\x4c\x69" } , { "\xa1\xa4" , "\x69\xb7\x40" } , { "\xa1\xa4\xa2" , "\x69\xb7\x40\x4c\x69" } , { "\xa1\xab" , "\x69\xb7\x46\x73" } , { "\xa1\xab\xa2" , "\x69\xb7\x46\x73\x4c\x69" } , { "\xa1\xb0" , "\x69\xb7\x4a" } , { "\xa1\xcd\xdb" , "\x69\xb7\x4c\x69\x56\x56" } , { "\xa1\xd4" , "\x69\xb7\xaa\xab\x73" } , { "\xa1\xe9" , "\x4a\x4c\x69" } , { "\xa2" , "\x69\x4c\x69" } , { "\xa2\xa3" , "\x69\x4c\x69\x69\x4d" } , { "\xa3" , "\x69\x4d" } , { "\xa4" , "\x40" } , { "\xa4\xa1" , "\x40\xb7" } , { "\xa4\xa2" , "\x40\x4c\x69" } , { "\xa4\xa3" , "\x40\x4d" } , { "\xa4\xd0\xe8" , "\x40\xe0\xe3\xde" } , { "\xa5" , "\x41" } , { "\xa5\xa1" , "\x41\xb7" } , { "\xa5\xa2" , "\x41\x4c\x69" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x41\x4c\x69\xe2\xe0\xe1\x5b\x4c\x69" } , { "\xa5\xa3" , "\x41\x4d" } , { "\xa6" , "\x42" } , { "\xa6\xa1" , "\x42\xb7" } , { "\xa6\xa2" , "\x42\x4c\x69" } , { "\xa6\xa3" , "\x42\x4d" } , { "\xa6\xcc\xe5" , "\x42\xae\xaa\x73\x57" } , { "\xa6\xd7" , "\x42\x78\x71\x73" } , { "\xa7" , "\x43" } , { "\xa7\xa1" , "\x43\xb7" } , { "\xa7\xa1\xa1" , "\x43\xb7\x69\xb7" } , { "\xa7\xa1\xa3" , "\x43\xb7\x69\x4d" } , { "\xa7\xa2" , "\x43\x4c\x69" } , { "\xa7\xa3" , "\x43\x4d" } , { "\xa8" , "\x44" } , { "\xa8\xa1" , "\x44\xb7" } , { "\xa8\xa2" , "\x44\x4c\x69" } , { "\xa8\xa2\xa2" , "\x44\x4c\x69\x69\x4c\x69" } , { "\xa8\xa3" , "\x44\x4d" } , { "\xa8\xb3\xdf" , "\x44\x4e\x52\x50\x58" } , { "\xa9" , "\x45" } , { "\xa9\xa1" , "\x45\xb7" } , { "\xa9\xa2" , "\x45\x4c\x69" } , { "\xaa" , "\xca\xc1\x56\x56" } , { "\xaa\xa2" , "\xca\xc1\x56\x56\x4c\x69" } , { "\xab" , "\x46\x73" } , { "\xab\xa1" , "\x46\x73\xb7" } , { "\xab\xa2" , "\x46\x73\x4c\x69" } , { "\xab\xd9" , "\x46\x73\x25\xc1" } , { "\xac" , "\x47" } , { "\xac\xa1" , "\x47\xb7" } , { "\xac\xa2" , "\x47\x4c\x69" } , { "\xac\xa2\xa1" , "\x47\x4c\x69\x69\xb7" } , { "\xac\xd0\xc5" , "\x47\xe0\xe1\xb5\xb3\x52\xb6" } , { "\xac\xd7" , "\x47\x78\x71\x73" } , { "\xad" , "\x48" } , { "\xad\xa1" , "\x48\xb7" } , { "\xad\xa2" , "\x48\x4c\x69" } , { "\xad\xb1" , "\x48\x4b" } , { "\xad\xd0\xb1" , "\x48\xe0\xe1\x4b" } , { "\xae" , "\x46\x73" } , { "\xae\xa2" , "\x46\x73\x4c\x69" } , { "\xae\xa3" , "\x46\x73\x4d" } , { "\xae\xd9" , "\x46\x73\x25\xc1" } , { "\xaf" , "\x49" } , { "\xaf\xa1" , "\x49\xb7" } , { "\xaf\xa2" , "\x49\x4c\x69" } , { "\xaf\xd0\xb1\xd1" , "\x49\xe0\xe1\x4b\xcc\xc1" } , { "\xb0" , "\x4a" } , { "\xb0\xa1" , "\x4a\xb7" } , { "\xb0\xa2" , "\x4a\x4c\x69" } , { "\xb0\xa3" , "\x4a\x4d" } , { "\xb0\xa3\xd0\xb6" , "\x4a\x4d\xe0\xe1\x78\x6d\x6e\x73\x56" } , { "\xb0\xcc\xe8" , "\x4a\xaa\xb1\x73\x56" } , { "\xb0\xd0" , "\x4a\xe0\xe1" } , { "\xb1" , "\x4b" } , { "\xb1\xa1" , "\x4b\xb7" } , { "\xb1\xa2" , "\x4b\x4c\x69" } , { "\xb1\xa3" , "\x4b\x4d" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x4b\x4d\xe0\xfd\xd4\xe1" } , { "\xb1\xd0" , "\x4b\xe0\xe1" } , { "\xb1\xd1\xd7" , "\x4b\xcc\xc1\x78\x71\x73" } , { "\xb1\xd7" , "\x4b\x78\x71\x73" } , { "\xb2" , "\x49" } , { "\xb2\xd9\xb5" , "\x49\x25\xc1\x67\x52\x69" } , { "\xb3" , "\x4e\x52\x50" } , { "\xb3\xa1" , "\x4e\x52\x50\xb7" } , { "\xb3\xa2" , "\x4e\x52\x50\x4c\x69" } , { "\xb3\xa2\xa2" , "\x4e\x52\x50\x4c\x69\x69\x4c\x69" } , { "\xb3\xa3" , "\x4e\x52\x50\x4d" } , { "\xb3\xd9\xaa" , "\x4e\x52\x50\x25\xc1\xca\xc1\x56\x56" } , { "\xb3\xda" , "\x4e\x53" } , { "\xb3\xda\xa1" , "\x4e\x53\xb7" } , { "\xb3\xda\xa2" , "\x4e\x53\x4c\x69" } , { "\xb3\xda\xa2\xa2" , "\x4e\x53\x4c\x69\x69\x4c\x69" } , { "\xb3\xda\xa3" , "\x4e\x53\x4d" } , { "\xb3\xdb" , "\x4e\x54\x50" } , { "\xb3\xdb\xa2" , "\x4e\x54\x50\x4c\x69" } , { "\xb3\xdb\xa3" , "\x4e\x54\x50\x4d" } , { "\xb3\xdb\xc7" , "\x4e\x54\x50\xa9\xab\x73" } , { "\xb3\xdc" , "\x4e\x55\x50" } , { "\xb3\xdc\xa2" , "\x4e\x55\x50\x4c\x69" } , { "\xb3\xdd" , "\x4e\x52\x50\x56" } , { "\xb3\xdd\xa1" , "\x4e\x52\x50\x56\xb7" } , { "\xb3\xdd\xa2" , "\x4e\x52\x50\x56\x4c\x69" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x4e\x52\x50\x56\x4c\x69\xe0\xe1\xdf\xe1" } , { "\xb3\xdd\xa3" , "\x4e\x52\x50\x56\x4d" } , { "\xb3\xde" , "\x4e\x52\x50\x57" } , { "\xb3\xde\xa1" , "\x4e\x52\x50\x57\xb7" } , { "\xb3\xde\xa2" , "\x4e\x52\x50\x57\x4c\x69" } , { "\xb3\xdf" , "\x4e\x52\x50\x58" } , { "\xb3\xdf\xa2" , "\x4e\x52\x50\x58\x4c\x69" } , { "\xb3\xe0" , "\x5a\x4e\x50" } , { "\xb3\xe0\xa2" , "\x5a\x4e\x50\x4c\x69" } , { "\xb3\xe1" , "\x5a\x4e\x50\x5b" } , { "\xb3\xe1\xa1" , "\x5a\x4e\x50\x5b\xb7" } , { "\xb3\xe1\xa2" , "\x5a\x4e\x50\x5b\x4c\x69" } , { "\xb3\xe2" , "\x5c\x5a\x4e\x50" } , { "\xb3\xe2\xa2" , "\x5c\x5a\x4e\x50\x4c\x69" } , { "\xb3\xe2\xa3" , "\x5c\x5a\x4e\x50\x4d" } , { "\xb3\xe3" , "\x5a\x4e\x50" } , { "\xb3\xe4" , "\x4e\x5d" } , { "\xb3\xe4\xa2" , "\x4e\x5d\x4c\x69" } , { "\xb3\xe4\xa2\xa2" , "\x4e\x5d\x4c\x69\x69\x4c\x69" } , { "\xb3\xe4\xa3" , "\x4e\x5d\x4d" } , { "\xb3\xe5" , "\x4e\x5d\x5b" } , { "\xb3\xe5\xa1" , "\x4e\x5d\x5b\xb7" } , { "\xb3\xe5\xa2" , "\x4e\x5d\x5b\x4c\x69" } , { "\xb3\xe6" , "\x4e\x5f" } , { "\xb3\xe6\xa2" , "\x4e\x5f\x4c\x69" } , { "\xb3\xe6\xbd\xe8" , "\x4e\x5f\xc9\xde" } , { "\xb3\xe7" , "\x4e\x5d" } , { "\xb3\xe7\xa2" , "\x4e\x5d\x4c\x69" } , { "\xb3\xe8" , "\x4e\x60\x50" } , { "\xb3\xe8\xb3" , "\x4e\x52\x50\xe4" } , { "\xb3\xe8\xb3\xa2" , "\x4e\x52\x50\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xda" , "\x4e\x53\xe4" } , { "\xb3\xe8\xb3\xda\xa2" , "\x4e\x53\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xdb" , "\x4e\x54\x50\xe4" } , { "\xb3\xe8\xb3\xdb\xa2" , "\x4e\x54\x50\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xdc" , "\x4e\x55\x50\xe4" } , { "\xb3\xe8\xb3\xdd" , "\x4e\x52\x50\x56\xe4" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x4e\x52\x50\x56\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xde" , "\x4e\x52\x50\x57\xe4" } , { "\xb3\xe8\xb3\xdf" , "\x4e\x52\x50\xe4\x51\x58" } , { "\xb3\xe8\xb3\xe0" , "\x5a\x4e\x50\xe4" } , { "\xb3\xe8\xb3\xe0\xa2" , "\x5a\x4e\x50\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xe1" , "\x5a\x4e\x50\x5b\xe4" } , { "\xb3\xe8\xb3\xe1\xa2" , "\x5a\x4e\x50\x5b\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xe2" , "\x5c\x5a\x4e\x50\x51\x51\xe4" } , { "\xb3\xe8\xb3\xe4" , "\x4e\x5d\xe4" } , { "\xb3\xe8\xb3\xe4\xa2" , "\x4e\x5d\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xe5" , "\x4e\x5d\x5b\xe4" } , { "\xb3\xe8\xb3\xe5\xa2" , "\x4e\x5d\x5b\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xe6" , "\x4e\x5f\xe4" } , { "\xb3\xe8\xb3\xe6\xa2" , "\x4e\x5f\xe4\x4c\x69" } , { "\xb3\xe8\xb3\xe8" , "\x4e\x60\x50\xe4" } , { "\xb3\xe8\xb3\xe8\xb3" , "\x4e\x52\x50\xe4\x51\xe4" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x4e\x60\x50\x4e\xef\x53" } , { "\xb3\xe8\xb3\xe8\xc2" , "\x4e\x60\x50\x4e\x52\x50\xf2" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x4e\x52\x50\xe4\x51\xf9" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x4e\x52\x50\x56\xe4\x51\xf9" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\x4e\x54\x50\xe4\x51\xfb" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\x4e\x5d\x5b\xe4\x51\xfb" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x4e\x60\x50\x4e\xfd\x52\x50" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\x4e\x60\x50\x5a\x4f\x50\x5b\x51" } , { "\xb3\xe8\xb3\xe9" , "\x4e\x52\x50\xe4" } , { "\xb3\xe8\xb3\xe9\xda" , "\x4e\x53\xe4" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x4e\x55\x50\xe4" } , { "\xb3\xe8\xb4" , "\x4e\xe5\x52\x50" } , { "\xb3\xe8\xb4\xa2" , "\x4e\xe5\x52\x50\x4c\x69" } , { "\xb3\xe8\xb4\xda" , "\x4e\xe5\x53" } , { "\xb3\xe8\xb4\xdb" , "\x4e\xe5\x54\x50" } , { "\xb3\xe8\xb4\xdc" , "\x4e\xe5\x55\x50" } , { "\xb3\xe8\xb4\xe1" , "\x5a\x4e\xe5\x50\x5b" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x5a\x4e\xe5\x50\x5b\x4c\x69" } , { "\xb3\xe8\xb4\xe5" , "\x4e\xe5\x5d\x5b" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x4e\xe5\x5d\x5b\x4c\x69" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x4e\xe5\x5f\x4c\x69" } , { "\xb3\xe8\xb4\xe7" , "\x4e\xe5\x5d" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x4e\xe5\x53\x51\xf9" } , { "\xb3\xe8\xb5" , "\x4e\xe6\x52\x50" } , { "\xb3\xe8\xb5\xda" , "\x4e\xe6\x53" } , { "\xb3\xe8\xb5\xe5" , "\x4e\xe6\x5d\x5b" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x4e\xe6\x53\x51\xfb" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x4e\xe6\x5f\x51\xfb\x4c\x69" } , { "\xb3\xe8\xb6" , "\x4e\xe7\x52\x50" } , { "\xb3\xe8\xb7\xda" , "\x4e\x60\x50\xc3\xd8" } , { "\xb3\xe8\xb7\xe1" , "\x4e\x60\x50\xdb\xc3\xc1\x5b" } , { "\xb3\xe8\xb8" , "\x4e\x52\x50\xe8" } , { "\xb3\xe8\xb8\xda" , "\x4e\x53\xe8" } , { "\xb3\xe8\xb8\xdc" , "\x4e\x55\x50\xe8" } , { "\xb3\xe8\xb8\xdd" , "\x4e\x52\x50\x56\xe8" } , { "\xb3\xe8\xb8\xe0" , "\x5a\x4e\x50\xe8" } , { "\xb3\xe8\xb8\xe1" , "\x5a\x4e\x50\x5b\xe8" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x5a\x4e\x50\x5b\xe8\x4c\x69" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x4e\x5d\xe8\x4c\x69" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x4e\x53\xe8\x51\xe8" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x4e\x55\x50\xe8\x51\xe8" } , { "\xb3\xe8\xb9" , "\x4e\x52\x50\xe8\xe9" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x5a\x4e\x50\x5b\xe8\xe9\x4c\x69" } , { "\xb3\xe8\xba" , "\x4e\xea\x52\x50" } , { "\xb3\xe8\xba\xda" , "\x4e\xea\x53" } , { "\xb3\xe8\xba\xda\xa2" , "\x4e\xea\x53\x4c\x69" } , { "\xb3\xe8\xba\xdb" , "\x4e\xea\x54\x50" } , { "\xb3\xe8\xba\xdc" , "\x4e\xea\x55\x50" } , { "\xb3\xe8\xba\xe1\xa2" , "\x5a\x4e\xea\x50\x5b\x4c\x69" } , { "\xb3\xe8\xba\xe2\xa2" , "\x5a\x4e\xea\x5e\x50\x4c\x69" } , { "\xb3\xe8\xba\xe5" , "\x4e\xea\x5d\x5b" } , { "\xb3\xe8\xba\xe9\xdc" , "\x4e\xea\x55\x50" } , { "\xb3\xe8\xbd" , "\x4e\xed\x52\x50" } , { "\xb3\xe8\xbd\xda" , "\x4e\xed\x53" } , { "\xb3\xe8\xbd\xda\xa2" , "\x4e\xed\x53\x4c\x69" } , { "\xb3\xe8\xbd\xdb" , "\x4e\xed\x54\x50" } , { "\xb3\xe8\xbd\xdb\xa2" , "\x4e\xed\x54\x50\x4c\x69" } , { "\xb3\xe8\xbd\xdc" , "\x4e\xed\x55\x50" } , { "\xb3\xe8\xbd\xdd" , "\x4e\xed\x52\x50\x56" } , { "\xb3\xe8\xbd\xde" , "\x4e\xed\x52\x50\x57" } , { "\xb3\xe8\xbd\xe0" , "\x5a\x4e\xed\x50" } , { "\xb3\xe8\xbd\xe0\xa2" , "\x5a\x4e\xed\x50\x4c\x69" } , { "\xb3\xe8\xbd\xe1" , "\x5a\x4e\xed\x50\x5b" } , { "\xb3\xe8\xbd\xe2" , "\x5a\x4e\xed\x5e\x50" } , { "\xb3\xe8\xbd\xe4" , "\x4e\xed\x5d" } , { "\xb3\xe8\xbd\xe5" , "\x4e\xed\x5d\x5b" } , { "\xb3\xe8\xbd\xe5\xa2" , "\x4e\xed\x5d\x5b\x4c\x69" } , { "\xb3\xe8\xbd\xe8" , "\x4e\x60\xed\x50" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x4e\xed\x52\x50\x56\xe4" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x4e\x60\x50\xc9\xe6\xd8" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x4e\x60\x50\xc8\xde\x67\xfd\x53" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x5a\x4e\xed\x50\x5b\x51\xe8" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x4e\x60\x50\xc9\xee\xd8" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x4e\x60\x50\xc9\xee\xd4\xc1" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x4e\x60\x50\xdb\xc9\xee\xc1\x5b" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x4e\xed\x52\x50\x56\xf5" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x4e\xed\x52\x50\x51\xf8" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x4e\xed\x52\x50\x51\xf9" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x4e\xed\x52\x50\x56\xf9" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x4e\xed\x52\x50\x57\xf9" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x4e\xed\x5d\x5b\x51\xf9" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x4e\xed\x52\x50\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x4e\xed\x53\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x4e\xed\x53\x51\xfb\x4c\x69" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\x4e\xed\x54\x50\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x4e\xed\x55\x50\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\x5a\x4e\xed\x50\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\x5a\x4e\xed\x50\x5b\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\x5a\x4e\xed\x5e\x50\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\x4e\xed\x5d\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\x4e\xed\x5d\x5b\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\x4e\xed\x5f\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\x4e\xed\x5d\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x4e\x60\xed\x50\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\x4e\x60\x50\xc9\xfd\xd3\xc1" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x4e\x60\x50\xc9\xfd\xd4\xc1" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x4e\x60\x50\xc8\xfd\xc1\x56" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\x4e\x60\x50\xdb\xc9\xfd\xc1" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\x4e\x60\x50\xdb\xc9\xfd\x5e\xc1" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\x4e\x60\x50\xc9\xfd\xdc\x5b" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x4e\xed\x53\x51\x2a" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\x4e\xed\x54\x50\x51\x2a" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x5a\x4e\xed\x5e\x50\x51\x2a" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x4e\xed\x52\x50\x51\x3d" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x4e\xed\x54\x50\x51\x3d\x4c\x69" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x4e\xed\x52\x50\x56\x3d" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x4e\x60\xed\x50\x51\x3d" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x4e\xed\x54\x50\x51\x3d\x51\xe4" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x4e\xed\x53\x51\x3d\x51\xfb" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x4e\x60\x50\xc8\xde\x72\xfd\xa1" } , { "\xb3\xe8\xbe\xa2" , "\x4e\xee\x52\x50\x4c\x69" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x4e\x60\x50\x68\xee\x53" } , { "\xb3\xe8\xbf" , "\x4e\xef\x52\x50" } , { "\xb3\xe8\xbf\xa2" , "\x4e\xef\x52\x50\x4c\x69" } , { "\xb3\xe8\xbf\xda" , "\x4e\xef\x53" } , { "\xb3\xe8\xbf\xdb" , "\x4e\xef\x54\x50" } , { "\xb3\xe8\xbf\xdc" , "\x4e\xef\x55\x50" } , { "\xb3\xe8\xbf\xdd" , "\x4e\xef\x52\x50\x56" } , { "\xb3\xe8\xbf\xde" , "\x4e\xef\x52\x50\x57" } , { "\xb3\xe8\xbf\xe0" , "\x5a\x4e\xef\x50" } , { "\xb3\xe8\xbf\xe1" , "\x5a\x4e\xef\x50\x5b" } , { "\xb3\xe8\xbf\xe4" , "\x4e\xef\x5d" } , { "\xb3\xe8\xbf\xe5" , "\x4e\xef\x5d\x5b" } , { "\xb3\xe8\xbf\xe8" , "\x4e\x60\xef\x50" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x4e\xef\x52\x50\x51\xfb" } , { "\xb3\xe8\xbf\xe9" , "\x4e\xef\x52\x50" } , { "\xb3\xe8\xbf\xe9\xda" , "\x4e\xef\x53" } , { "\xb3\xe8\xc1" , "\x4e\xf1\x52\x50" } , { "\xb3\xe8\xc1\xdb" , "\x4e\xf1\x54\x50" } , { "\xb3\xe8\xc1\xdb\xa2" , "\x4e\xf1\x54\x50\x4c\x69" } , { "\xb3\xe8\xc1\xdc" , "\x4e\xf1\x55\x50" } , { "\xb3\xe8\xc2" , "\x4e\x52\x50\xf2" } , { "\xb3\xe8\xc2\xa2" , "\x4e\x52\x50\xf2\x4c\x69" } , { "\xb3\xe8\xc2\xa3" , "\x4e\x52\x50\xf2\x4d" } , { "\xb3\xe8\xc2\xda" , "\x4e\x53\xf2" } , { "\xb3\xe8\xc2\xda\xa2" , "\x4e\x53\xf2\x4c\x69" } , { "\xb3\xe8\xc2\xda\xa3" , "\x4e\x53\xf2\x4d" } , { "\xb3\xe8\xc2\xdb" , "\x4e\x54\x50\xf2" } , { "\xb3\xe8\xc2\xdb\xa2" , "\x4e\x54\x50\xf2\x4c\x69" } , { "\xb3\xe8\xc2\xdb\xa3" , "\x4e\x54\x50\xf2\x4d" } , { "\xb3\xe8\xc2\xdc" , "\x4e\x55\x50\xf2" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x4e\x55\x50\xf2\x4d" } , { "\xb3\xe8\xc2\xdd" , "\x4e\x52\x50\x56\xf2" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x4e\x52\x50\x56\xf2\x4c\x69" } , { "\xb3\xe8\xc2\xde" , "\x4e\x52\x50\x57\xf2" } , { "\xb3\xe8\xc2\xdf" , "\x4e\x52\x50\xf2\x51\x58" } , { "\xb3\xe8\xc2\xe0" , "\x5a\x4e\x50\xf2" } , { "\xb3\xe8\xc2\xe1" , "\x5a\x4e\x50\x5b\xf2" } , { "\xb3\xe8\xc2\xe2" , "\x5a\x4e\x5e\x50\x51\x51\xf2" } , { "\xb3\xe8\xc2\xe5" , "\x4e\x5d\x5b\xf2" } , { "\xb3\xe8\xc2\xe5\xa2" , "\x4e\x5d\x5b\xf2\x4c\x69" } , { "\xb3\xe8\xc2\xe6" , "\x4e\x5f\xf2" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x5a\x4e\x50\xf2\x51\xe4" } , { "\xb3\xe8\xc2\xe8\xc2" , "\x4e\x60\x50\xbb\x52\xbd\xf2" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\x4e\x60\x50\xbb\x79\xf2" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\x4e\x60\x50\xbc\xbd\xf2" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x4e\x52\x50\xf2\x51\xf9" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x4e\x52\x50\xf2\x51\xf9\x4c\x69" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x4e\x53\xf2\x51\xf9" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x4e\x52\x50\x56\xf2\x51\xf9" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x5a\x4e\x5e\x50\x51\x51\xf2\x51\xf9" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x4e\x5d\x5b\xf2\x51\xf9\x4c\x69" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x4e\x52\x50\xf2\x51\xfb" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x4e\x52\x50\xf2\x51\xfb\x4c\x69" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x4e\x52\x50\xf2\x51\xfb\x4d" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\x4e\x54\x50\xf2\x51\xfb" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\x5a\x4e\x50\xf2\x51\xfb" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\x5a\x4e\x5e\x50\x51\x51\xf2\x51\xfb" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x4e\x52\x50\xf2\x51\x2a" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x4e\x52\x50\xf2\x51\x2a\x4c\x69" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x4e\x53\xf2\x51\x2a" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\x4e\x54\x50\xf2\x51\x2a" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x4e\x52\x50\xf2\x51\x3d" } , { "\xb3\xe8\xc3" , "\x4e\xf3\x52\x50" } , { "\xb3\xe8\xc3\xa2" , "\x4e\xf3\x52\x50\x4c\x69" } , { "\xb3\xe8\xc3\xdb" , "\x4e\xf3\x54\x50" } , { "\xb3\xe8\xc3\xdd" , "\x4e\xf3\x52\x50\x56" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x4e\xf3\x52\x50\x51\xf9" } , { "\xb3\xe8\xc4" , "\x4e\xf4\x52\x50" } , { "\xb3\xe8\xc4\xda" , "\x4e\xf4\x53" } , { "\xb3\xe8\xc4\xdb" , "\x4e\xf4\x54\x50" } , { "\xb3\xe8\xc4\xdd" , "\x4e\xf4\x52\x50\x56" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x4e\xf4\x52\x50\x56\x4c\x69" } , { "\xb3\xe8\xc4\xe4" , "\x4e\xf4\x5d" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x4e\xf4\x55\x50\x51\xfb" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x4e\xf4\x53\x51\x2a" } , { "\xb3\xe8\xc5" , "\x4e\xf4\xf0\x52\x50" } , { "\xb3\xe8\xc5\xda" , "\x4e\xf4\xf0\x53" } , { "\xb3\xe8\xc6" , "\x4e\x52\x50\xf5" } , { "\xb3\xe8\xc6\xda" , "\x4e\x53\xf5" } , { "\xb3\xe8\xc6\xda\xa2" , "\x4e\x53\xf5\x4c\x69" } , { "\xb3\xe8\xc6\xdb" , "\x4e\x54\x50\xf5" } , { "\xb3\xe8\xc6\xdc" , "\x4e\x55\x50\xf5" } , { "\xb3\xe8\xc6\xdd" , "\x4e\x52\x50\x56\xf5" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x4e\x52\x50\x56\xf5\x4c\x69" } , { "\xb3\xe8\xc6\xde" , "\x4e\x52\x50\x57\xf5" } , { "\xb3\xe8\xc6\xe0" , "\x5a\x4e\x50\xf5" } , { "\xb3\xe8\xc6\xe4" , "\x4e\x5d\xf5" } , { "\xb3\xe8\xc6\xe5" , "\x4e\x5d\x5b\xf5" } , { "\xb3\xe8\xc6\xe7" , "\x4e\x5d\xf5" } , { "\xb3\xe8\xc6\xe8" , "\x4e\x60\x50\xf5" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x4e\x52\x50\xf5\x51\x51\xf9" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x4e\x53\xf5\x51\x51\xf9" } , { "\xb3\xe8\xc8" , "\x4e\x52\x50\xf6" } , { "\xb3\xe8\xc8\xa2" , "\x4e\x52\x50\xf6\x4c\x69" } , { "\xb3\xe8\xc8\xda" , "\x4e\x53\xf6" } , { "\xb3\xe8\xc8\xdb" , "\x4e\x54\x50\xf6" } , { "\xb3\xe8\xc8\xdc" , "\x4e\x55\x50\xf6" } , { "\xb3\xe8\xc8\xdd" , "\x4e\x52\x50\x56\xf6" } , { "\xb3\xe8\xc8\xde" , "\x4e\x52\x50\x57\xf6" } , { "\xb3\xe8\xc8\xdf" , "\x4e\x52\x50\xf6\x51\x58" } , { "\xb3\xe8\xc8\xe1" , "\x5a\x4e\x50\x5b\xf6" } , { "\xb3\xe8\xc8\xe2" , "\x5c\x5a\x4e\x50\x51\x51\xf6" } , { "\xb3\xe8\xc8\xe4" , "\x4e\x5d\xf6" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x4e\x52\x50\xf6\x51\xfb" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x4e\x53\xf6\x51\xfb" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x4e\x5f\xf6\x51\xfb" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x4e\x54\x50\xf6\x51\x3d" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x5a\x4e\x50\xf6\x51\x3d" } , { "\xb3\xe8\xc9" , "\x4e\x52\x50\xf6\xe9" } , { "\xb3\xe8\xc9\xda" , "\x4e\x53\xf6\xe9" } , { "\xb3\xe8\xc9\xdb" , "\x4e\x54\x50\xf6\xe9" } , { "\xb3\xe8\xc9\xdd" , "\x4e\x52\x50\x56\xf6\xe9" } , { "\xb3\xe8\xc9\xe0" , "\x5a\x4e\x50\xf6\xe9" } , { "\xb3\xe8\xc9\xe1" , "\x5a\x4e\x50\x5b\xf6\xe9" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x5a\x4e\x50\x5b\xf6\xe9" } , { "\xb3\xe8\xca" , "\x4e\x52\x50\xf7" } , { "\xb3\xe8\xca\xa2" , "\x4e\x52\x50\xf7\x4c\x69" } , { "\xb3\xe8\xca\xda" , "\x4e\x53\xf7" } , { "\xb3\xe8\xca\xdc" , "\x4e\x55\x50\xf7" } , { "\xb3\xe8\xca\xde" , "\x4e\x52\x50\x57\xf7" } , { "\xb3\xe8\xca\xe1" , "\x5a\x4e\x50\x5b\xf7" } , { "\xb3\xe8\xca\xe5" , "\x4e\x5d\x5b\xf7" } , { "\xb3\xe8\xca\xe5\xa2" , "\x4e\x5d\x5b\xf7\x4c\x69" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x4e\x60\x50\xcb\xfd\xd8" } , { "\xb3\xe8\xcb" , "\x4e\x52\x50\xf7\xe9" } , { "\xb3\xe8\xcb\xda" , "\x4e\x53\xf7\xe9" } , { "\xb3\xe8\xcb\xdb" , "\x4e\x54\x50\xf7\xe9" } , { "\xb3\xe8\xcc" , "\x4e\x52\x50\xf8" } , { "\xb3\xe8\xcc\xa2" , "\x4e\x52\x50\xf8\x4c\x69" } , { "\xb3\xe8\xcc\xda" , "\x4e\x53\xf8" } , { "\xb3\xe8\xcc\xda\xa2" , "\x4e\x53\xf8\x4c\x69" } , { "\xb3\xe8\xcc\xdb" , "\x4e\x54\x50\xf8" } , { "\xb3\xe8\xcc\xdc" , "\x4e\x55\x50\xf8" } , { "\xb3\xe8\xcc\xdd" , "\x4e\x52\x50\x56\xf8" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x4e\x52\x50\x56\xf8\x4c\x69" } , { "\xb3\xe8\xcc\xe0" , "\x5a\x4e\x50\xf8" } , { "\xb3\xe8\xcc\xe1" , "\x5a\x4e\x50\x5b\xf8" } , { "\xb3\xe8\xcc\xe1\xa2" , "\x5a\x4e\x50\x5b\xf8\x4c\x69" } , { "\xb3\xe8\xcc\xe2" , "\x5c\x5a\x4e\x50\x51\x51\xf8" } , { "\xb3\xe8\xcc\xe5" , "\x4e\x5d\x5b\xf8" } , { "\xb3\xe8\xcd" , "\x4e\x52\x50\xf9" } , { "\xb3\xe8\xcd\xa2" , "\x4e\x52\x50\xf9\x4c\x69" } , { "\xb3\xe8\xcd\xda" , "\x4e\x53\xf9" } , { "\xb3\xe8\xcd\xda\xa1" , "\x4e\x53\xf9\xb7" } , { "\xb3\xe8\xcd\xda\xa2" , "\x4e\x53\xf9\x4c\x69" } , { "\xb3\xe8\xcd\xdb" , "\x4e\x54\x50\xf9" } , { "\xb3\xe8\xcd\xdd" , "\x4e\x52\x50\x56\xf9" } , { "\xb3\xe8\xcd\xde" , "\x4e\x52\x50\x57\xf9" } , { "\xb3\xe8\xcd\xde\xa1" , "\x4e\x52\x50\x57\xf9\xb7" } , { "\xb3\xe8\xcd\xde\xa2" , "\x4e\x52\x50\x57\xf9\x4c\x69" } , { "\xb3\xe8\xcd\xe1" , "\x5a\x4e\x50\x5b\xf9" } , { "\xb3\xe8\xcd\xe2" , "\x5c\x5a\x4e\x50\x51\x51\xf9" } , { "\xb3\xe8\xcd\xe5" , "\x4e\x5d\x5b\xf9" } , { "\xb3\xe8\xcd\xe5\xa2" , "\x4e\x5d\x5b\xf9\x4c\x69" } , { "\xb3\xe8\xcd\xe8" , "\x4e\x60\x50\xf9" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x4e\x53\xf9\x51\xf9" } , { "\xb3\xe8\xcf" , "\xfa\x4e\x52\x50" } , { "\xb3\xe8\xcf\xa2" , "\xfa\x4e\x52\x50\x4c\x69" } , { "\xb3\xe8\xcf\xda" , "\xfa\x4e\x53" } , { "\xb3\xe8\xcf\xda\xa1" , "\xfa\x4e\x53\xb7" } , { "\xb3\xe8\xcf\xda\xa2" , "\xfa\x4e\x53\x4c\x69" } , { "\xb3\xe8\xcf\xdb" , "\xfa\x4e\x54\x50" } , { "\xb3\xe8\xcf\xdb\xa2" , "\xfa\x4e\x54\x50\x4c\x69" } , { "\xb3\xe8\xcf\xdc" , "\xfa\x4e\x55\x50" } , { "\xb3\xe8\xcf\xdc\xa2" , "\xfa\x4e\x55\x50\x4c\x69" } , { "\xb3\xe8\xcf\xdd" , "\xfa\x4e\x52\x50\x56" } , { "\xb3\xe8\xcf\xdd\xa2" , "\xfa\x4e\x52\x50\x56\x4c\x69" } , { "\xb3\xe8\xcf\xde" , "\xfa\x4e\x52\x50\x57" } , { "\xb3\xe8\xcf\xdf" , "\xfa\x4e\x52\x50\x51\x58" } , { "\xb3\xe8\xcf\xe0" , "\xfa\x5a\x4e\x50" } , { "\xb3\xe8\xcf\xe1" , "\xfa\x5a\x4e\x50\x5b" } , { "\xb3\xe8\xcf\xe1\xa2" , "\xfa\x5a\x4e\x50\x5b\x4c\x69" } , { "\xb3\xe8\xcf\xe2" , "\x5c\x5a\x4e\x50\x51\x51\xfb" } , { "\xb3\xe8\xcf\xe2\xa2" , "\x5c\x5a\x4e\x50\x51\x51\xfb\x4c\x69" } , { "\xb3\xe8\xcf\xe4" , "\xfa\x4e\x5d" } , { "\xb3\xe8\xcf\xe4\xa2" , "\xfa\x4e\x5d\x4c\x69" } , { "\xb3\xe8\xcf\xe5" , "\xfa\x4e\x5d\x5b" } , { "\xb3\xe8\xcf\xe5\xa2" , "\xfa\x4e\x5d\x5b\x4c\x69" } , { "\xb3\xe8\xcf\xe6" , "\xfa\x4e\x5f" } , { "\xb3\xe8\xcf\xe6\xa2" , "\xfa\x4e\x5f\x4c\x69" } , { "\xb3\xe8\xcf\xe7" , "\xfa\x4e\x5d" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x4e\x60\x50\x4c\xed\x53" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x4e\x60\x50\x4c\xf3\x52\x69\x4c\x69" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x4e\x52\x50\xfb\x51\xf9" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x4e\x60\x50\x6c\x4c\x3c\x69\x5b" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x4e\x52\x50\xfb\x51\x3d" } , { "\xb3\xe8\xd0\xdc" , "\x4e\xfc\x55\x50" } , { "\xb3\xe8\xd0\xdd" , "\x4e\xfc\x52\x50\x56" } , { "\xb3\xe8\xd0\xe4" , "\x4e\xfc\x5d" } , { "\xb3\xe8\xd1" , "\x4e\xfd\x52\x50" } , { "\xb3\xe8\xd1\xa2" , "\x4e\xfd\x52\x50\x4c\x69" } , { "\xb3\xe8\xd1\xda" , "\x4e\xfd\x53" } , { "\xb3\xe8\xd1\xda\xa1" , "\x4e\xfd\x53\xb7" } , { "\xb3\xe8\xd1\xda\xa2" , "\x4e\xfd\x53\x4c\x69" } , { "\xb3\xe8\xd1\xdb" , "\x4e\xfd\x54\x50" } , { "\xb3\xe8\xd1\xdb\xa2" , "\x4e\xfd\x54\x50\x4c\x69" } , { "\xb3\xe8\xd1\xdc" , "\x4e\xfd\x55\x50" } , { "\xb3\xe8\xd1\xdd" , "\x4e\xfd\x52\x50\x56" } , { "\xb3\xe8\xd1\xde" , "\x4e\xfd\x52\x50\x57" } , { "\xb3\xe8\xd1\xe0" , "\x5a\x4e\xfd\x50" } , { "\xb3\xe8\xd1\xe0\xa2" , "\x5a\x4e\xfd\x50\x4c\x69" } , { "\xb3\xe8\xd1\xe1" , "\x5a\x4e\xfd\x50\x5b" } , { "\xb3\xe8\xd1\xe1\xa2" , "\x5a\x4e\xfd\x50\x5b\x4c\x69" } , { "\xb3\xe8\xd1\xe2" , "\x5a\x4e\xfd\x5e\x50" } , { "\xb3\xe8\xd1\xe2\xa2" , "\x5a\x4e\xfd\x5e\x50\x4c\x69" } , { "\xb3\xe8\xd1\xe4" , "\x4e\xfd\x5d" } , { "\xb3\xe8\xd1\xe5" , "\x4e\xfd\x5d\x5b" } , { "\xb3\xe8\xd1\xe5\xa2" , "\x4e\xfd\x5d\x5b\x4c\x69" } , { "\xb3\xe8\xd1\xe6" , "\x4e\xfd\x5f" } , { "\xb3\xe8\xd1\xe7" , "\x4e\xfd\x5d" } , { "\xb3\xe8\xd1\xe8" , "\x4e\x60\xfd\x50" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x4e\xfd\x52\x50\x51\xe8" } , { "\xb3\xe8\xd1\xe8\xc8" , "\x4e\xfd\x52\x50\x51\xf6" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x4e\xfd\x52\x50\x51\xf9" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x4e\xfd\x53\x51\xf9" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x4e\xfd\x55\x50\x51\x3d" } , { "\xb3\xe8\xd2" , "\x4e\x52\x50\xfe" } , { "\xb3\xe8\xd4" , "\x4e\x52\x50\x2a" } , { "\xb3\xe8\xd4\xa2" , "\x4e\x52\x50\x2a\x4c\x69" } , { "\xb3\xe8\xd4\xda" , "\x4e\x53\x2a" } , { "\xb3\xe8\xd4\xda\xa1" , "\x4e\x53\x2a\xb7" } , { "\xb3\xe8\xd4\xda\xa2" , "\x4e\x53\x2a\x4c\x69" } , { "\xb3\xe8\xd4\xdb" , "\x4e\x54\x50\x2a" } , { "\xb3\xe8\xd4\xdb\xa2" , "\x4e\x54\x50\x2a\x4c\x69" } , { "\xb3\xe8\xd4\xdc" , "\x4e\x55\x50\x2a" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x4e\x55\x50\x2a\x4c\x69" } , { "\xb3\xe8\xd4\xdf" , "\x4e\x52\x50\x2a\x51\x58" } , { "\xb3\xe8\xd4\xe0" , "\x5a\x4e\x50\x2a" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x5a\x4e\x50\x2a\x4c\x69" } , { "\xb3\xe8\xd4\xe1" , "\x5a\x4e\x50\x5b\x2a" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x5a\x4e\x50\x5b\x2a\x4c\x69" } , { "\xb3\xe8\xd4\xe2" , "\x5c\x5a\x4e\x50\x51\x51\x2a" } , { "\xb3\xe8\xd4\xe4" , "\x4e\x5d\x2a" } , { "\xb3\xe8\xd4\xe5" , "\x4e\x5d\x5b\x2a" } , { "\xb3\xe8\xd4\xe6" , "\x4e\x5f\x2a" } , { "\xb3\xe8\xd4\xe8" , "\x4e\x60\x50\x2a" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x4e\x53\x2a\x51\x3d" } , { "\xb3\xe8\xd5" , "\x4e\x52\x50\x2b" } , { "\xb3\xe8\xd5\xa2" , "\x4e\x52\x50\x2b\x4c\x69" } , { "\xb3\xe8\xd5\xda" , "\x4e\x53\x2b" } , { "\xb3\xe8\xd5\xdb" , "\x4e\x54\x50\x2b" } , { "\xb3\xe8\xd5\xdb\xa2" , "\x4e\x54\x50\x2b\x4c\x69" } , { "\xb3\xe8\xd5\xdc" , "\x4e\x55\x50\x2b" } , { "\xb3\xe8\xd5\xdd" , "\x4e\x52\x50\x56\x2b" } , { "\xb3\xe8\xd5\xde" , "\x4e\x52\x50\x57\x2b" } , { "\xb3\xe8\xd5\xe1" , "\x5a\x4e\x50\x5b\x2b" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x5a\x4e\x50\x5b\x2b\x4c\x69" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x4e\x5d\x5b\x2b\x4c\x69" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x4e\x52\x50\x2b\x51\xe8" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x4e\x52\x50\x2b\x51\xf9" } , { "\xb3\xe8\xd6" , "\x4f\x52\x50\x51" } , { "\xb3\xe8\xd6\xa2" , "\x4f\x52\x50\x51\x4c\x69" } , { "\xb3\xe8\xd6\xa3" , "\x4f\x52\x50\x51\x4d" } , { "\xb3\xe8\xd6\xda" , "\x4f\x53\x51" } , { "\xb3\xe8\xd6\xda\xa2" , "\x4f\x53\x51\x4c\x69" } , { "\xb3\xe8\xd6\xdb" , "\x4f\x54\x50\x51" } , { "\xb3\xe8\xd6\xdb\xa2" , "\x4f\x54\x50\x51\x4c\x69" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\x4f\x54\x50\x51\x4c\x69\x69\x4c\x69" } , { "\xb3\xe8\xd6\xdc" , "\x4f\x55\x50\x51" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x4f\x55\x50\x51\x4c\x69" } , { "\xb3\xe8\xd6\xdd" , "\x4f\x52\x50\x56" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x4f\x52\x50\x56\x4d" } , { "\xb3\xe8\xd6\xde" , "\x4f\x52\x50\x57" } , { "\xb3\xe8\xd6\xdf" , "\x4f\x52\x50\x51\x58" } , { "\xb3\xe8\xd6\xe0" , "\x5a\x4f\x50\x51" } , { "\xb3\xe8\xd6\xe0\xa2" , "\x5a\x4f\x50\x51\x4c\x69" } , { "\xb3\xe8\xd6\xe1" , "\x5a\x4f\x50\x5b\x51" } , { "\xb3\xe8\xd6\xe1\xa2" , "\x5a\x4f\x50\x5b\x51\x4c\x69" } , { "\xb3\xe8\xd6\xe2" , "\x5a\x4f\x5e\x50\x51" } , { "\xb3\xe8\xd6\xe5" , "\x4f\x5d\x5b\x51" } , { "\xb3\xe8\xd6\xe5\xa2" , "\x4f\x5d\x5b\x51\x4c\x69" } , { "\xb3\xe8\xd6\xe6" , "\x4f\x5f\x51" } , { "\xb3\xe8\xd6\xe8" , "\x4f\x60\x50\x51" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\x4f\x52\x50\x56\x51\xe4" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\x4e\x60\x50\xa3\x74\x73\x51\x4f\x52\x50\x51" } , { "\xb3\xe8\xd6\xe8\xbd" , "\x4e\x60\x50\x78\x74\xed\x73\x51" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\x4e\x60\x50\x75\xed\x79\xfb" } , { "\xb3\xe8\xd6\xe8\xc1" , "\x4e\x60\x50\x78\x74\xf1\x73\x51" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\x4e\x60\x50\x78\x74\xf1\x73\x51\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\x4e\x60\x50\x75\xf1\x79" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\x4e\x60\x50\x7c\x74\xf1\x5e\x73\x51" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\x4e\x60\x50\x75\xf1\xa1" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x4e\x60\x50\x78\x74\x73\x51\xf2" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\x4e\x60\x50\x78\x74\x73\x51\xf2\x51\xfb" } , { "\xb3\xe8\xd6\xe8\xc6" , "\x4f\x52\x50\x51\x51\xf5" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\x4f\x60\x50\x51\x51\xf5" } , { "\xb3\xe8\xd6\xe8\xcc" , "\x4f\x52\x50\x51\x51\xf8" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\x4f\x52\x50\x51\x51\xf8\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\x4f\x53\x51\x51\xf8" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\x4f\x53\x51\x51\xf8\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\x4f\x54\x50\x51\x51\xf8" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\x4f\x54\x50\x51\x51\xf8\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\x4f\x55\x50\x51\x51\xf8" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\x4f\x52\x50\x56\x51\xf8" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\x5a\x4f\x50\x5b\x51\x51\xf8" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x4f\x52\x50\x51\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x4f\x52\x50\x51\x51\xf9\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x4f\x53\x51\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x4f\x53\x51\x51\xf9\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x4f\x55\x50\x51\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x4f\x52\x50\x56\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x4f\x52\x50\x57\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x5a\x4f\x50\x5b\x51\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x4f\x5d\x5b\x51\x51\xf9" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x4f\x5d\x5b\x51\x51\xf9\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x4f\x52\x50\x51\x51\xfb" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x4f\x52\x50\x51\x51\xfb\x4c\x69" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x4f\x53\x51\x51\xfb" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x4e\x60\x50\x78\x74\xfd\x73\x51" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x4e\x60\x50\x78\x74\xfd\x73\x76" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x4f\x53\x51\x51\x2a" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x5a\x4f\x50\x5b\x51\x51\x2a" } , { "\xb3\xe8\xd7" , "\x4e\x52\x50\x3d" } , { "\xb3\xe8\xd7\xa2" , "\x4e\x52\x50\x3d\x4c\x69" } , { "\xb3\xe8\xd7\xda" , "\x4e\x53\x3d" } , { "\xb3\xe8\xd7\xda\xa2" , "\x4e\x53\x3d\x4c\x69" } , { "\xb3\xe8\xd7\xdb" , "\x4e\x54\x50\x3d" } , { "\xb3\xe8\xd7\xdb\xa2" , "\x4e\x54\x50\x3d\x4c\x69" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\x4e\x54\x50\x3d\x4c\x69\x69\x4c\x69" } , { "\xb3\xe8\xd7\xdc" , "\x4e\x55\x50\x3d" } , { "\xb3\xe8\xd7\xdd" , "\x4e\x52\x50\x56\x3d" } , { "\xb3\xe8\xd7\xde" , "\x4e\x52\x50\x57\x3d" } , { "\xb3\xe8\xd7\xe0" , "\x5a\x4e\x50\x3d" } , { "\xb3\xe8\xd7\xe0\xa2" , "\x5a\x4e\x50\x3d\x4c\x69" } , { "\xb3\xe8\xd7\xe1" , "\x5a\x4e\x50\x5b\x3d" } , { "\xb3\xe8\xd7\xe1\xa2" , "\x5a\x4e\x50\x5b\x3d\x4c\x69" } , { "\xb3\xe8\xd7\xe2" , "\x5c\x5a\x4e\x50\x51\x51\x3d" } , { "\xb3\xe8\xd7\xe4" , "\x4e\x5d\x3d" } , { "\xb3\xe8\xd7\xe5" , "\x4e\x5d\x5b\x3d" } , { "\xb3\xe8\xd7\xe5\xa2" , "\x4e\x5d\x5b\x3d\x4c\x69" } , { "\xb3\xe8\xd7\xe6" , "\x4e\x5f\x3d" } , { "\xb3\xe8\xd7\xe8" , "\x4e\x60\x50\x3d" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\x4e\x54\x50\x3d\x51\xe4" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x4e\x52\x50\x56\x3d\x51\xe4" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x4e\x52\x50\x57\x3d\x51\xe4" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x4e\x52\x50\x57\x3d\x51\xe4\x51\xf9" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x4e\x55\x50\x3d\x51\xe4\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x4e\x60\x50\xa3\x71\x73\x4e\xfd\x52\x50\x57" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x4e\x60\x50\x78\x71\xe6\x73" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x4e\x60\x50\x72\xe6\x79" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x4e\x60\x50\x7d\x71\xe6\x73\xfb" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x4e\x52\x50\x3d\x51\xe8" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x4e\x54\x50\x3d\x51\xe8" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x5a\x4e\x50\x5b\x3d\x51\xe8" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x5a\x4e\x50\x5b\x3d\x51\xe8\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x5a\x4e\x50\x5b\x3d\x51\xe8\xe9\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x4e\x60\x50\xa3\x71\x73\xc7\xfd\xc1" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x4e\x60\x50\x78\x71\xed\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x4e\x60\x50\x72\xed\x79" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x4e\x60\x50\x7b\x71\xed\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x4e\x60\x50\x7c\x71\xed\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x4e\x60\x50\x7c\x71\xed\x73\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x4e\x60\x50\x7d\x71\xed\x73\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x4e\x60\x50\x7c\x71\xed\x5e\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x4e\x60\x50\x72\xed\xa1" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x4e\x60\x50\xa3\x71\xed\x73" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4e\x60\x50\x72\xed\x79\xfb" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x4e\x60\x50\x7a\x71\xed\x73\xfb" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x4e\x60\x50\x7b\x71\xed\x73\xfb" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x4e\x60\x50\x78\x71\xed\x73\x57\xfb" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x4e\x60\x50\x72\xed\xa1\xfb" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x4e\x60\x50\x78\x71\xef\x73" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x4e\x60\x50\xa3\x71\x73\xb2\xe6\x79" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\x4e\x60\x50\x78\x71\x73\x57\xf2" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\x4e\x60\x50\xa3\x71\x73\xf2" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x4e\x60\x50\x72\xf3\x79" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\x4e\x60\x50\x7a\x71\xf3\x73" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x4e\x60\x50\x72\xf4\x79" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\x4e\x52\x50\x3d\x51\xf5\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\x4e\x54\x50\x3d\x51\xf5" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\x4e\x52\x50\x56\x3d\x51\xf5" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\x4e\x52\x50\x56\x3d\x51\xf5\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\x5a\x4e\x50\x5b\x3d\x51\xf5" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\x4e\x60\x50\x3d\x51\xf5" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x4e\x60\x50\xa3\x71\x73\xa9\xfd\xaf\x5b" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x4e\x52\x50\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x4e\x52\x50\x3d\x51\xf6\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x4e\x53\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\x4e\x54\x50\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x4e\x55\x50\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x5a\x4e\x50\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x5a\x4e\x50\x3d\x51\xf6\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x5c\x5a\x4e\x50\x51\x51\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x4e\x5d\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x4e\x5d\x5b\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x4e\x5f\x3d\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x5a\x4e\x50\x3d\x51\xf6\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x5a\x4e\x50\x5b\x3d\x51\xf6\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x4e\x60\x50\xa3\x71\x73\x78\x6d\xfd\x73" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x4e\x60\x50\xa3\x71\x73\x46\xfd\x79" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x4e\x60\x50\xa3\x71\x73\x46\xfd\x79\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x4e\x60\x50\xa3\x71\x73\x7c\x6d\xfd\x73" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x4e\x52\x50\x3d\x51\xf6\xe9" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\x4e\x54\x50\x3d\x51\xf6\xe9" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x4e\x60\x50\xa3\x71\x73\x46\x6e\xfd\xa1" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x4e\x52\x50\x3d\x51\xf8" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\x4e\x54\x50\x3d\x51\xf8" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x4e\x52\x50\x56\x3d\x51\xf8" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x4e\x53\x3d\x51\xf8\x51\xf9" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x4e\x52\x50\x57\x3d\x51\xf9" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x4e\x52\x50\x56\x3d\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\x5a\x4e\x50\x3d\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\x5a\x4e\x50\x5b\x3d\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x4e\x60\x50\x3d\x51\xfb" } , { "\xb3\xe8\xd7\xe8\xd1" , "\x4e\x60\x50\x78\x71\xfd\x73" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\x4e\x60\x50\x7b\x71\xfd\x73" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\x4e\x60\x50\x78\x71\xfd\x73\x56" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\x4e\x60\x50\x7c\x71\xfd\x73\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\x4e\x60\x50\x7d\x71\xfd\x73" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\x4e\x60\x50\x7c\x71\xfd\x5e\x73" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\x4e\x60\x50\x72\xfd\xa1" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x4e\x52\x50\x3d\x51\x2a" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x4e\x52\x50\x3d\x51\x2a\x4c\x69" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x4e\x53\x3d\x51\x2a" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x5a\x4e\x50\x3d\x51\x2a" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x4e\x60\x50\x3d\x51\x3d" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4e\x60\x50\xa3\x71\x73\x72\xed\x79\xfb" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x4e\x60\x50\x7c\x71\x3e\x5e\x73" } , { "\xb3\xe8\xd8" , "\x4e\x3e\x52\x50" } , { "\xb3\xe8\xd8\xda" , "\x4e\x3e\x53" } , { "\xb3\xe8\xd8\xda\xa2" , "\x4e\x3e\x53\x4c\x69" } , { "\xb3\xe8\xd8\xe0" , "\x5a\x4e\x3e\x50" } , { "\xb3\xe8\xd8\xe8" , "\x4e\x60\x3e\x50" } , { "\xb3\xe8\xd9\xa6" , "\x4e\x52\x50\x42" } , { "\xb3\xe8\xd9\xb3" , "\x4e\x52\x50\x4e\x52\x50" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x4e\x52\x50\x4e\x55\x50" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x4e\x52\x50\xc6\xdd" } , { "\xb3\xe8\xd9\xbd" , "\x4e\x52\x50\xc8\xc1" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x4e\x52\x50\xfa\xc9\xd8" } , { "\xb3\xe8\xd9\xc2" , "\x4e\x52\x50\xbb\x52\xbd" } , { "\xb3\xe8\xd9\xc2\xda" , "\x4e\x52\x50\xbb\x79" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x4e\x52\x50\xbc\xbd" } , { "\xb3\xe8\xd9\xc2\xde" , "\x4e\x52\x50\xbb\x52\xbd\x57" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x4e\x52\x50\xbb\x52\xbd\x58" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x4e\x52\x50\xbb\x5d\x5b\x4c\x69" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x4e\x52\x50\xbb\x52\xbd\xaa\xab\x73" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x4e\x52\x50\x4c\xed\x6a\x69" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x4e\x52\x50\x4c\x52\x69\xf9" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x4e\x52\x50\x4c\x52\x69\x3d" } , { "\xb3\xe8\xd9\xd4" , "\x4e\x52\x50\xaa\xab\x73" } , { "\xb3\xe8\xd9\xd7" , "\x4e\x52\x50\x78\x71\x73" } , { "\xb3\xe8\xd9\xd7\xda" , "\x4e\x52\x50\x72\x79" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x4e\x52\x50\x7b\x71\x73" } , { "\xb3\xe8\xe8" , "\x4e\x60\x50" } , { "\xb3\xe8\xe9\xc2" , "\x4e\x52\x50\xf2" } , { "\xb3\xe8\xe9\xcf" , "\xfa\x4e\x52\x50" } , { "\xb3\xe8\xe9\xd6" , "\x4f\x52\x50\x51" } , { "\xb3\xe9" , "\x4e\x52\x50" } , { "\xb3\xe9\xda" , "\x4e\x53" } , { "\xb3\xe9\xdb" , "\x4e\x54\x50" } , { "\xb3\xe9\xdb\xa2" , "\x4e\x54\x50\x4c\x69" } , { "\xb3\xe9\xdc" , "\x4e\x55\x50" } , { "\xb3\xe9\xdd" , "\x4e\x52\x50\x56" } , { "\xb3\xe9\xde" , "\x4e\x52\x50\x57" } , { "\xb3\xe9\xe1" , "\x5a\x4e\x50\x5b" } , { "\xb3\xe9\xe2" , "\x5c\x5a\x4e\x50" } , { "\xb3\xe9\xe5\xa2" , "\x4e\x5d\x5b\x4c\x69" } , { "\xb3\xe9\xe6" , "\x4e\x5f" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x4e\x52\x50\xe4" } , { "\xb3\xe9\xe8\xc2" , "\x4e\x52\x50\xf2" } , { "\xb3\xe9\xe8\xcc" , "\x4e\x52\x50\xf8" } , { "\xb3\xe9\xe8\xd1" , "\x4e\xfd\x52\x50" } , { "\xb3\xe9\xe8\xd1\xdb" , "\x4e\xfd\x54\x50" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x4e\x55\x50\x3d" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x4e\x52\x50\xbe\xbb\xbd\x5b" } , { "\xb4" , "\xc5\xc1" } , { "\xb4\xa1" , "\xc5\xc1\xb7" } , { "\xb4\xa2" , "\xc5\xc1\x4c\x69" } , { "\xb4\xa3" , "\xc5\xc1\x4d" } , { "\xb4\xd0" , "\xc5\xc1\xe0\xe1" } , { "\xb4\xd0\xb8" , "\xc5\xc1\xe0\xe1\xbf\x52\xc1" } , { "\xb4\xd0\xdc" , "\xc5\xc1\xe0\xd4\xe1" } , { "\xb4\xda" , "\xc6\xd8" } , { "\xb4\xda\xa1" , "\xc6\xd8\xb7" } , { "\xb4\xda\xa2" , "\xc6\xd8\x4c\x69" } , { "\xb4\xda\xa3" , "\xc6\xd8\x4d" } , { "\xb4\xdb" , "\xd0\xc1" } , { "\xb4\xdb\xa2" , "\xd0\xc1\x4c\x69" } , { "\xb4\xdc" , "\xd0\x64\xc1" } , { "\xb4\xdc\xa2" , "\xd0\x64\xc1\x4c\x69" } , { "\xb4\xdd" , "\xc5\xc1\x56" } , { "\xb4\xdd\xa1" , "\xc5\xc1\x56\xb7" } , { "\xb4\xdd\xa2" , "\xc5\xc1\x56\x4c\x69" } , { "\xb4\xde" , "\xc5\xc1\x57" } , { "\xb4\xde\xa1" , "\xc5\xc1\x57\xb7" } , { "\xb4\xde\xa2" , "\xc5\xc1\x57\x4c\x69" } , { "\xb4\xdf" , "\xc5\xc1\x58" } , { "\xb4\xe0" , "\xdb\xc6\xc1" } , { "\xb4\xe1" , "\xdb\xc6\xc1\x5b" } , { "\xb4\xe1\xa1" , "\xdb\xc6\xc1\x5b\xb7" } , { "\xb4\xe1\xa2" , "\xdb\xc6\xc1\x5b\x4c\x69" } , { "\xb4\xe2" , "\x5c\xdb\xc6\xc1" } , { "\xb4\xe2\xa2" , "\x5c\xdb\xc6\xc1\x4c\x69" } , { "\xb4\xe4" , "\xc6\xdc" } , { "\xb4\xe5" , "\xc6\xdc\x5b" } , { "\xb4\xe5\xa2" , "\xc6\xdc\x5b\x4c\x69" } , { "\xb4\xe6" , "\xc6\xdd" } , { "\xb4\xe8" , "\xc6\xde" } , { "\xb4\xe8\xb3" , "\xc5\xc1\xe4" } , { "\xb4\xe8\xb3\xda" , "\xc6\xd8\xe4" } , { "\xb4\xe8\xb3\xe8\xd6" , "\xc5\xde\x4f\x52\x50\x51" } , { "\xb4\xe8\xb4" , "\xc5\xe5\xc1" } , { "\xb4\xe8\xb4\xa2" , "\xc5\xe5\xc1\x4c\x69" } , { "\xb4\xe8\xb4\xa3" , "\xc5\xe5\xc1\x4d" } , { "\xb4\xe8\xb4\xda" , "\xc6\xe5\xd8" } , { "\xb4\xe8\xb4\xdb\xa2" , "\xd0\xe5\xc1\x4c\x69" } , { "\xb4\xe8\xb4\xdc" , "\xd0\x64\xe5\xc1" } , { "\xb4\xe8\xb5\xda" , "\xc6\xe6\xd8" } , { "\xb4\xe8\xb8\xda" , "\xc6\xd8\xe8" } , { "\xb4\xe8\xbd" , "\xc5\xed\xc1" } , { "\xb4\xe8\xc2" , "\xc5\xc1\xf2" } , { "\xb4\xe8\xc2\xda" , "\xc6\xd8\xf2" } , { "\xb4\xe8\xc2\xdb" , "\xd0\xc1\xf2" } , { "\xb4\xe8\xc2\xdc" , "\xd0\x64\xc1\xf2" } , { "\xb4\xe8\xc2\xdd" , "\xc5\xc1\x56\xf2" } , { "\xb4\xe8\xc2\xe1" , "\xdb\xc6\xc1\x5b\xf2" } , { "\xb4\xe8\xc2\xe5" , "\xc6\xdc\x5b\xf2" } , { "\xb4\xe8\xc2\xe5\xa2" , "\xc6\xdc\x5b\xf2\x4c\x69" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\xc5\xde\xbb\xe5\x79" } , { "\xb4\xe8\xc4\xdd\xa2" , "\xc5\xf4\xc1\x56\x4c\x69" } , { "\xb4\xe8\xc6\xdc" , "\xd0\x64\xc1\xf5" } , { "\xb4\xe8\xc6\xdd" , "\xc5\xc1\x56\xf5" } , { "\xb4\xe8\xc6\xe2" , "\x5c\xdb\xc6\xc1\x51\xf5" } , { "\xb4\xe8\xc6\xe5" , "\xc6\xdc\x5b\xf5" } , { "\xb4\xe8\xc8\xde" , "\xc5\xc1\x57\xf6" } , { "\xb4\xe8\xcc" , "\xc5\xc1\xf8" } , { "\xb4\xe8\xcc\xda" , "\xc6\xd8\xf8" } , { "\xb4\xe8\xcc\xdb" , "\xd0\xc1\xf8" } , { "\xb4\xe8\xcc\xdc" , "\xd0\x64\xc1\xf8" } , { "\xb4\xe8\xcc\xe5\xa2" , "\xc6\xdc\x5b\xf8\x4c\x69" } , { "\xb4\xe8\xcd" , "\xc5\xc1\xf9" } , { "\xb4\xe8\xcd\xa2" , "\xc5\xc1\xf9\x4c\x69" } , { "\xb4\xe8\xcd\xda" , "\xc6\xd8\xf9" } , { "\xb4\xe8\xcd\xda\xa2" , "\xc6\xd8\xf9\x4c\x69" } , { "\xb4\xe8\xcd\xdb" , "\xd0\xc1\xf9" } , { "\xb4\xe8\xcd\xdd" , "\xc5\xc1\x56\xf9" } , { "\xb4\xe8\xcd\xdd\xa2" , "\xc5\xc1\x56\xf9\x4c\x69" } , { "\xb4\xe8\xcd\xde" , "\xc5\xc1\x57\xf9" } , { "\xb4\xe8\xcd\xe1" , "\xdb\xc6\xc1\x5b\xf9" } , { "\xb4\xe8\xcd\xe5" , "\xc6\xdc\x5b\xf9" } , { "\xb4\xe8\xcd\xe5\xa2" , "\xc6\xdc\x5b\xf9\x4c\x69" } , { "\xb4\xe8\xcd\xe8\xcd" , "\xc5\xc1\xf9\x51\xf9" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\xc6\xd8\xf9\x51\xf9" } , { "\xb4\xe8\xcf" , "\xfa\xc5\xc1" } , { "\xb4\xe8\xcf\xdd" , "\xfa\xc5\xc1\x56" } , { "\xb4\xe8\xd1\xda" , "\xc6\xfd\xd8" } , { "\xb4\xe8\xd1\xdd" , "\xc5\xfd\xc1\x56" } , { "\xb4\xe8\xd4\xda" , "\xc6\xd8\x2a" } , { "\xb4\xe8\xd5" , "\xc5\xc1\x2b" } , { "\xb4\xe8\xd5\xda" , "\xc6\xd8\x2b" } , { "\xb4\xe8\xd5\xdc" , "\xd0\x64\xc1\x2b" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\xc6\x3c\xd8\xf9" } , { "\xb4\xe8\xd7" , "\xc5\xc1\x3d" } , { "\xb4\xe8\xd7\xdb" , "\xd0\xc1\x3d" } , { "\xb4\xe8\xd7\xdc" , "\xd0\x64\xc1\x3d" } , { "\xb4\xe8\xd9\xd5" , "\xc5\xc1\x61\x52\x50" } , { "\xb4\xe8\xe8" , "\xc6\xde" } , { "\xb4\xe8\xe9\xcf" , "\xfa\xc5\xc1" } , { "\xb4\xe9" , "\xc5\xc1" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\xc5\xc1\x4c\x53\xe8" } , { "\xb4\xe9\xda" , "\xc6\xd8" } , { "\xb4\xe9\xda\xa1" , "\xc6\xd8\xb7" } , { "\xb4\xe9\xdb" , "\xd0\xc1" } , { "\xb4\xe9\xdc" , "\xd0\x64\xc1" } , { "\xb4\xe9\xdd" , "\xc5\xc1\x56" } , { "\xb4\xe9\xde" , "\xc5\xc1\x57" } , { "\xb4\xe9\xe2" , "\x5c\xdb\xc6\xc1" } , { "\xb4\xe9\xe5" , "\xc6\xdc\x5b" } , { "\xb4\xe9\xe5\xa2" , "\xc6\xdc\x5b\x4c\x69" } , { "\xb4\xe9\xe8\xc2" , "\xc5\xc1\xf2" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\xc6\xdc\x5b\xf2\x4c\x69" } , { "\xb4\xe9\xe8\xcd\xda" , "\xc6\xd8\xf9" } , { "\xb4\xe9\xe8\xd4\xda" , "\xc6\xd8\x2a" } , { "\xb4\xe9\xe8\xd5" , "\xc5\xc1\x2b" } , { "\xb4\xe9\xe8\xd7" , "\xc5\xc1\x3d" } , { "\xb5" , "\x67\x52\x69" } , { "\xb5\xa1" , "\x67\x52\x69\xb7" } , { "\xb5\xa2" , "\x67\x52\x69\x4c\x69" } , { "\xb5\xa3" , "\x67\x52\x69\x4d" } , { "\xb5\xda" , "\x67\x53" } , { "\xb5\xda\xa1" , "\x67\x53\xb7" } , { "\xb5\xda\xa2" , "\x67\x53\x4c\x69" } , { "\xb5\xda\xa3" , "\x67\x53\x4d" } , { "\xb5\xdb" , "\x67\x6a\x69" } , { "\xb5\xdb\xa2" , "\x67\x6a\x69\x4c\x69" } , { "\xb5\xdc" , "\x67\x6b\x69" } , { "\xb5\xdc\xa2" , "\x67\x6b\x69\x4c\x69" } , { "\xb5\xdc\xa3" , "\x67\x6b\x69\x4d" } , { "\xb5\xdd" , "\x67\x52\x69\x56" } , { "\xb5\xdd\xa1" , "\x67\x52\x69\x56\xb7" } , { "\xb5\xdd\xa2" , "\x67\x52\x69\x56\x4c\x69" } , { "\xb5\xdd\xa2\xa2" , "\x67\x52\x69\x56\x4c\x69\x69\x4c\x69" } , { "\xb5\xdd\xa3" , "\x67\x52\x69\x56\x4d" } , { "\xb5\xde" , "\x67\x52\x69\x57" } , { "\xb5\xde\xa1" , "\x67\x52\x69\x57\xb7" } , { "\xb5\xde\xa2" , "\x67\x52\x69\x57\x4c\x69" } , { "\xb5\xdf" , "\x67\x52\x69\x58" } , { "\xb5\xdf\xa2" , "\x67\x52\x69\x58\x4c\x69" } , { "\xb5\xe0" , "\x6c\x67\x69" } , { "\xb5\xe0\xa2" , "\x6c\x67\x69\x4c\x69" } , { "\xb5\xe1" , "\x6c\x67\x69\x5b" } , { "\xb5\xe1\xa2" , "\x6c\x67\x69\x5b\x4c\x69" } , { "\xb5\xe1\xa3" , "\x6c\x67\x69\x5b\x4d" } , { "\xb5\xe2" , "\x5c\x6c\x67\x69" } , { "\xb5\xe2\xa2" , "\x5c\x6c\x67\x69\x4c\x69" } , { "\xb5\xe2\xa3" , "\x5c\x6c\x67\x69\x4d" } , { "\xb5\xe4" , "\x67\x5d" } , { "\xb5\xe4\xa2" , "\x67\x5d\x4c\x69" } , { "\xb5\xe5" , "\x67\x5d\x5b" } , { "\xb5\xe5\xa2" , "\x67\x5d\x5b\x4c\x69" } , { "\xb5\xe6" , "\x67\x5f" } , { "\xb5\xe6\xa1" , "\x67\x5f\xb7" } , { "\xb5\xe6\xa2" , "\x67\x5f\x4c\x69" } , { "\xb5\xe7" , "\x67\x5d" } , { "\xb5\xe8" , "\x67\x60\x69" } , { "\xb5\xe8\x4d" , "\x67\x60\x69\x4d" } , { "\xb5\xe8\xb3" , "\x67\x52\x69\xe4" } , { "\xb5\xe8\xb3\xda" , "\x67\x53\xe4" } , { "\xb5\xe8\xb3\xdb" , "\x67\x6a\x69\xe4" } , { "\xb5\xe8\xb3\xdd" , "\x67\x52\x69\x56\xe4" } , { "\xb5\xe8\xb3\xde" , "\x67\x52\x69\x57\xe4" } , { "\xb5\xe8\xb3\xe2" , "\x5c\x6c\x67\x69\x51\x51\xe4" } , { "\xb5\xe8\xb3\xe5" , "\x67\x5d\x5b\xe4" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x67\x60\x69\x4e\xfd\x52\x50" } , { "\xb5\xe8\xb5" , "\x67\xe6\x52\x69" } , { "\xb5\xe8\xb5\xa2" , "\x67\xe6\x52\x69\x4c\x69" } , { "\xb5\xe8\xb5\xda" , "\x67\xe6\x53" } , { "\xb5\xe8\xb5\xdb" , "\x67\xe6\x6a\x69" } , { "\xb5\xe8\xb5\xdb\xa2" , "\x67\xe6\x6a\x69\x4c\x69" } , { "\xb5\xe8\xb5\xdc" , "\x67\xe6\x6b\x69" } , { "\xb5\xe8\xb5\xdd" , "\x67\xe6\x52\x69\x56" } , { "\xb5\xe8\xb5\xdd\xa2" , "\x67\xe6\x52\x69\x56\x4c\x69" } , { "\xb5\xe8\xb5\xde" , "\x67\xe6\x52\x69\x57" } , { "\xb5\xe8\xb5\xe0" , "\x6c\x67\xe6\x69" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x6c\x67\xe6\x69\x4c\x69" } , { "\xb5\xe8\xb5\xe1" , "\x6c\x67\xe6\x69\x5b" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x6c\x67\xe6\x69\x5b\x4c\x69" } , { "\xb5\xe8\xb5\xe2" , "\x6c\x67\xe6\x5e\x69" } , { "\xb5\xe8\xb5\xe4" , "\x67\xe6\x5d" } , { "\xb5\xe8\xb5\xe5" , "\x67\xe6\x5d\x5b" } , { "\xb5\xe8\xb5\xe8" , "\x67\x60\xe6\x69" } , { "\xb5\xe8\xb6" , "\x67\xe7\x52\x69" } , { "\xb5\xe8\xb6\xda" , "\x67\xe7\x53" } , { "\xb5\xe8\xb6\xdc" , "\x67\xe7\x6b\x69" } , { "\xb5\xe8\xb6\xdd" , "\x67\xe7\x52\x69\x56" } , { "\xb5\xe8\xb6\xe1" , "\x6c\x67\xe7\x69\x5b" } , { "\xb5\xe8\xb7" , "\x67\x60\x69\xc3\xc1" } , { "\xb5\xe8\xb7\xda" , "\x67\x60\x69\xc3\xd8" } , { "\xb5\xe8\xb7\xdb" , "\x67\x60\x69\xc3\xd3\xc1" } , { "\xb5\xe8\xb7\xdc" , "\x67\x60\x69\xc3\xd4\xc1" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x67\x60\x69\xc3\xdc\x5b\x4c\x69" } , { "\xb5\xe8\xb8\xe1" , "\x6c\x67\x69\x5b\xe8" } , { "\xb5\xe8\xba" , "\x67\xea\x52\x69" } , { "\xb5\xe8\xba\xa2" , "\x67\xea\x52\x69\x4c\x69" } , { "\xb5\xe8\xba\xda" , "\x67\xea\x53" } , { "\xb5\xe8\xba\xda\xa2" , "\x67\xea\x53\x4c\x69" } , { "\xb5\xe8\xba\xdb" , "\x67\xea\x6a\x69" } , { "\xb5\xe8\xba\xdc" , "\x67\xea\x6b\x69" } , { "\xb5\xe8\xba\xe0" , "\x6c\x67\xea\x69" } , { "\xb5\xe8\xba\xe0\xa2" , "\x6c\x67\xea\x69\x4c\x69" } , { "\xb5\xe8\xba\xe1\xa2" , "\x6c\x67\xea\x69\x5b\x4c\x69" } , { "\xb5\xe8\xba\xe2" , "\x6c\x67\xea\x5e\x69" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x67\xea\x53\x51\x2a\x4c\x69" } , { "\xb5\xe8\xba\xe9" , "\x67\xea\x52\x69" } , { "\xb5\xe8\xba\xe9\xdb" , "\x67\xea\x6a\x69" } , { "\xb5\xe8\xbd" , "\x67\xed\x52\x69" } , { "\xb5\xe8\xbd\xda" , "\x67\xed\x53" } , { "\xb5\xe8\xbd\xda\xa2" , "\x67\xed\x53\x4c\x69" } , { "\xb5\xe8\xbd\xdb" , "\x67\xed\x6a\x69" } , { "\xb5\xe8\xbd\xdc" , "\x67\xed\x6b\x69" } , { "\xb5\xe8\xbd\xde" , "\x67\xed\x52\x69\x57" } , { "\xb5\xe8\xbd\xe0" , "\x6c\x67\xed\x69" } , { "\xb5\xe8\xbd\xe1" , "\x6c\x67\xed\x69\x5b" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x6c\x67\xed\x5e\x69\x4c\x69" } , { "\xb5\xe8\xbd\xe4" , "\x67\xed\x5d" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x67\x60\x69\xc9\xde\xea" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x67\xed\x53\x51\xfb" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x6c\x67\xed\x69\x51\xfb" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\x67\xed\x6a\x69\x51\x2a" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x67\xed\x52\x69\x51\x3d" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x67\xed\x53\x51\x3d" } , { "\xb5\xe8\xbf" , "\x67\xef\x52\x69" } , { "\xb5\xe8\xbf\xa2" , "\x67\xef\x52\x69\x4c\x69" } , { "\xb5\xe8\xbf\xda" , "\x67\xef\x53" } , { "\xb5\xe8\xbf\xda\xa2" , "\x67\xef\x53\x4c\x69" } , { "\xb5\xe8\xbf\xdb" , "\x67\xef\x6a\x69" } , { "\xb5\xe8\xbf\xdc" , "\x67\xef\x6b\x69" } , { "\xb5\xe8\xbf\xe0" , "\x6c\x67\xef\x69" } , { "\xb5\xe8\xbf\xe5" , "\x67\xef\x5d\x5b" } , { "\xb5\xe8\xbf\xe8" , "\x67\x60\xef\x69" } , { "\xb5\xe8\xc0\xdd" , "\x67\xef\xf0\x52\x69\x56" } , { "\xb5\xe8\xc1" , "\x67\xf1\x52\x69" } , { "\xb5\xe8\xc1\xda" , "\x67\xf1\x53" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x67\xf1\x5d\x5b\x4c\x69" } , { "\xb5\xe8\xc2" , "\x67\x52\x69\xf2" } , { "\xb5\xe8\xc2\xda" , "\x67\x53\xf2" } , { "\xb5\xe8\xc2\xdb" , "\x67\x6a\x69\xf2" } , { "\xb5\xe8\xc2\xdd" , "\x67\x52\x69\x56\xf2" } , { "\xb5\xe8\xc2\xe0" , "\x6c\x67\x69\xf2" } , { "\xb5\xe8\xc2\xe1" , "\x6c\x67\x69\x5b\xf2" } , { "\xb5\xe8\xc2\xe5" , "\x67\x5d\x5b\xf2" } , { "\xb5\xe8\xc2\xe8" , "\x67\x60\x69\xf2" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x67\x52\x69\xf2\x51\xe4" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x67\x60\x69\xbb\xe6\x52\xbd" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x67\x60\x69\xbb\x52\xbd\xf2" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x67\x52\x69\xf2\x51\xfb" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\x6c\x67\x69\xf2\x51\xfb\x4c\x69" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x67\x52\x69\xf2\x51\x3d" } , { "\xb5\xe8\xc3" , "\x67\xf3\x52\x69" } , { "\xb5\xe8\xc3\xda" , "\x67\xf3\x53" } , { "\xb5\xe8\xc3\xdc" , "\x67\xf3\x6b\x69" } , { "\xb5\xe8\xc3\xdd" , "\x67\xf3\x52\x69\x56" } , { "\xb5\xe8\xc3\xe5" , "\x67\xf3\x5d\x5b" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x67\xf3\x5d\x5b\x4c\x69" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x67\xf3\x53\x51\xf9" } , { "\xb5\xe8\xc4" , "\x67\xf4\x52\x69" } , { "\xb5\xe8\xc4\xa2" , "\x67\xf4\x52\x69\x4c\x69" } , { "\xb5\xe8\xc4\xda" , "\x67\xf4\x53" } , { "\xb5\xe8\xc4\xdb" , "\x67\xf4\x6a\x69" } , { "\xb5\xe8\xc4\xdd" , "\x67\xf4\x52\x69\x56" } , { "\xb5\xe8\xc4\xdf" , "\x67\xf4\x52\x69\x51\x58" } , { "\xb5\xe8\xc4\xe1" , "\x6c\x67\xf4\x69\x5b" } , { "\xb5\xe8\xc4\xe5" , "\x67\xf4\x5d\x5b" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x67\xf4\x52\x69\x51\xf9" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x67\xf4\x52\x69\x51\xf9\x4c\x69" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x67\xf4\x53\x51\x2a" } , { "\xb5\xe8\xc5" , "\x67\xf4\xf0\x52\x69" } , { "\xb5\xe8\xc5\xa2" , "\x67\xf4\xf0\x52\x69\x4c\x69" } , { "\xb5\xe8\xc5\xda" , "\x67\xf4\xf0\x53" } , { "\xb5\xe8\xc5\xdb" , "\x67\xf4\xf0\x6a\x69" } , { "\xb5\xe8\xc5\xdc" , "\x67\xf4\xf0\x6b\x69" } , { "\xb5\xe8\xc5\xdd" , "\x67\xf4\xf0\x52\x69\x56" } , { "\xb5\xe8\xc5\xe1" , "\x6c\x67\xf4\xf0\x69\x5b" } , { "\xb5\xe8\xc5\xe5" , "\x67\xf4\xf0\x5d\x5b" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x67\xf4\xf0\x52\x69\x51\xf9" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x67\xf4\xf0\x52\x69\x51\xf9\x4c\x69" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x67\xf4\xf0\x53\x51\xf9" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x67\xf4\xf0\x53\x51\x2a" } , { "\xb5\xe8\xc6" , "\x67\x52\x69\xf5" } , { "\xb5\xe8\xc6\xa2" , "\x67\x52\x69\xf5\x4c\x69" } , { "\xb5\xe8\xc6\xda" , "\x67\x53\xf5" } , { "\xb5\xe8\xc6\xdb" , "\x67\x6a\x69\xf5" } , { "\xb5\xe8\xc6\xdb\xa2" , "\x67\x6a\x69\xf5\x4c\x69" } , { "\xb5\xe8\xc6\xdb\xa3" , "\x67\x6a\x69\xf5\x4d" } , { "\xb5\xe8\xc6\xdc" , "\x67\x6b\x69\xf5" } , { "\xb5\xe8\xc6\xdd" , "\x67\x52\x69\x56\xf5" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x67\x52\x69\x56\xf5\x4c\x69" } , { "\xb5\xe8\xc6\xde" , "\x67\x52\x69\x57\xf5" } , { "\xb5\xe8\xc6\xe0" , "\x6c\x67\x69\xf5" } , { "\xb5\xe8\xc6\xe1" , "\x6c\x67\x69\x5b\xf5" } , { "\xb5\xe8\xc6\xe2" , "\x5c\x6c\x67\x69\x51\x51\xf5" } , { "\xb5\xe8\xc6\xe5\xa2" , "\x67\x5d\x5b\xf5\x4c\x69" } , { "\xb5\xe8\xc6\xe6" , "\x67\x5f\xf5" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x67\x52\x69\xf5\x51\x51\xf9\x4c\x69" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x67\x53\xf5\x51\x51\xf9" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x67\x53\xf5\x51\x51\xf9\xb7" } , { "\xb5\xe8\xc8" , "\x67\x52\x69\xf6" } , { "\xb5\xe8\xc8\xda" , "\x67\x53\xf6" } , { "\xb5\xe8\xc8\xdb" , "\x67\x6a\x69\xf6" } , { "\xb5\xe8\xc8\xdc" , "\x67\x6b\x69\xf6" } , { "\xb5\xe8\xc8\xdd" , "\x67\x52\x69\x56\xf6" } , { "\xb5\xe8\xc8\xde" , "\x67\x52\x69\x57\xf6" } , { "\xb5\xe8\xc8\xe2" , "\x5c\x6c\x67\x69\x51\x51\xf6" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x6c\x67\x69\xf6\x51\xfb" } , { "\xb5\xe8\xc9" , "\x67\x52\x69\xf6\xe9" } , { "\xb5\xe8\xc9\xdb" , "\x67\x6a\x69\xf6\xe9" } , { "\xb5\xe8\xc9\xe0" , "\x6c\x67\x69\xf6\xe9" } , { "\xb5\xe8\xc9\xe5" , "\x67\x5d\x5b\xf6\xe9" } , { "\xb5\xe8\xca" , "\x67\x52\x69\xf7" } , { "\xb5\xe8\xca\xa2" , "\x67\x52\x69\xf7\x4c\x69" } , { "\xb5\xe8\xca\xda" , "\x67\x53\xf7" } , { "\xb5\xe8\xca\xdb" , "\x67\x6a\x69\xf7" } , { "\xb5\xe8\xca\xdc" , "\x67\x6b\x69\xf7" } , { "\xb5\xe8\xca\xe0" , "\x6c\x67\x69\xf7" } , { "\xb5\xe8\xca\xe5" , "\x67\x5d\x5b\xf7" } , { "\xb5\xe8\xca\xe8\xcf" , "\x67\x52\x69\xf7\x51\xfb" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\x6c\x67\x69\x5b\xf7\x51\xfb" } , { "\xb5\xe8\xcb" , "\x67\x52\x69\xf7\xe9" } , { "\xb5\xe8\xcb\xa2" , "\x67\x52\x69\xf7\xe9\x4c\x69" } , { "\xb5\xe8\xcb\xda" , "\x67\x53\xf7\xe9" } , { "\xb5\xe8\xcb\xde" , "\x67\x52\x69\x57\xf7\xe9" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x67\x52\x69\xf7\xe9\x51\xfb" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x67\x53\xf7\xe9\x51\xfb" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x67\x53\xf7\xe9\x51\xfb\x4c\x69" } , { "\xb5\xe8\xcc" , "\x67\x52\x69\xf8" } , { "\xb5\xe8\xcc\xa2" , "\x67\x52\x69\xf8\x4c\x69" } , { "\xb5\xe8\xcc\xda" , "\x67\x53\xf8" } , { "\xb5\xe8\xcc\xdb" , "\x67\x6a\x69\xf8" } , { "\xb5\xe8\xcc\xdc" , "\x67\x6b\x69\xf8" } , { "\xb5\xe8\xcc\xdd" , "\x67\x52\x69\x56\xf8" } , { "\xb5\xe8\xcc\xde" , "\x67\x52\x69\x57\xf8" } , { "\xb5\xe8\xcc\xe0\xa2" , "\x6c\x67\x69\xf8\x4c\x69" } , { "\xb5\xe8\xcc\xe1" , "\x6c\x67\x69\x5b\xf8" } , { "\xb5\xe8\xcc\xe2" , "\x5c\x6c\x67\x69\x51\x51\xf8" } , { "\xb5\xe8\xcc\xe2\xa2" , "\x5c\x6c\x67\x69\x51\x51\xf8\x4c\x69" } , { "\xb5\xe8\xcc\xe4" , "\x67\x5d\xf8" } , { "\xb5\xe8\xcc\xe5" , "\x67\x5d\x5b\xf8" } , { "\xb5\xe8\xcc\xe5\xa2" , "\x67\x5d\x5b\xf8\x4c\x69" } , { "\xb5\xe8\xcd" , "\x67\x52\x69\xf9" } , { "\xb5\xe8\xcd\xa2" , "\x67\x52\x69\xf9\x4c\x69" } , { "\xb5\xe8\xcd\xda" , "\x67\x53\xf9" } , { "\xb5\xe8\xcd\xda\xa2" , "\x67\x53\xf9\x4c\x69" } , { "\xb5\xe8\xcd\xdb" , "\x67\x6a\x69\xf9" } , { "\xb5\xe8\xcd\xdb\xa2" , "\x67\x6a\x69\xf9\x4c\x69" } , { "\xb5\xe8\xcd\xdc" , "\x67\x6b\x69\xf9" } , { "\xb5\xe8\xcd\xdd" , "\x67\x52\x69\x56\xf9" } , { "\xb5\xe8\xcd\xde" , "\x67\x52\x69\x57\xf9" } , { "\xb5\xe8\xcd\xe1" , "\x6c\x67\x69\x5b\xf9" } , { "\xb5\xe8\xcd\xe5" , "\x67\x5d\x5b\xf9" } , { "\xb5\xe8\xcd\xe5\xa2" , "\x67\x5d\x5b\xf9\x4c\x69" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x67\x53\xf9\x51\xf9" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x67\x52\x69\xf9\x51\x2a" } , { "\xb5\xe8\xcf" , "\xfa\x67\x52\x69" } , { "\xb5\xe8\xcf\xa2" , "\xfa\x67\x52\x69\x4c\x69" } , { "\xb5\xe8\xcf\xda" , "\xfa\x67\x53" } , { "\xb5\xe8\xcf\xda\xa1" , "\xfa\x67\x53\xb7" } , { "\xb5\xe8\xcf\xda\xa2" , "\xfa\x67\x53\x4c\x69" } , { "\xb5\xe8\xcf\xdb" , "\xfa\x67\x6a\x69" } , { "\xb5\xe8\xcf\xdb\xa2" , "\xfa\x67\x6a\x69\x4c\x69" } , { "\xb5\xe8\xcf\xdc" , "\xfa\x67\x6b\x69" } , { "\xb5\xe8\xcf\xdd" , "\xfa\x67\x52\x69\x56" } , { "\xb5\xe8\xcf\xdd\xa2" , "\xfa\x67\x52\x69\x56\x4c\x69" } , { "\xb5\xe8\xcf\xde" , "\xfa\x67\x52\x69\x57" } , { "\xb5\xe8\xcf\xde\xa2" , "\xfa\x67\x52\x69\x57\x4c\x69" } , { "\xb5\xe8\xcf\xe0" , "\xfa\x6c\x67\x69" } , { "\xb5\xe8\xcf\xe0\xa2" , "\xfa\x6c\x67\x69\x4c\x69" } , { "\xb5\xe8\xcf\xe1" , "\xfa\x6c\x67\x69\x5b" } , { "\xb5\xe8\xcf\xe1\xa2" , "\xfa\x6c\x67\x69\x5b\x4c\x69" } , { "\xb5\xe8\xcf\xe2" , "\x5c\x6c\x67\x69\x51\x51\xfb" } , { "\xb5\xe8\xcf\xe2\xa2" , "\x5c\x6c\x67\x69\x51\x51\xfb\x4c\x69" } , { "\xb5\xe8\xcf\xe4" , "\xfa\x67\x5d" } , { "\xb5\xe8\xcf\xe4\xa2" , "\xfa\x67\x5d\x4c\x69" } , { "\xb5\xe8\xcf\xe5" , "\xfa\x67\x5d\x5b" } , { "\xb5\xe8\xcf\xe5\xa2" , "\xfa\x67\x5d\x5b\x4c\x69" } , { "\xb5\xe8\xcf\xe6" , "\xfa\x67\x5f" } , { "\xb5\xe8\xcf\xe6\xa2" , "\xfa\x67\x5f\x4c\x69" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x67\x60\x69\x4c\xef\x52\x69" } , { "\xb5\xe8\xd0\xa2" , "\x67\xfc\x52\x69\x4c\x69" } , { "\xb5\xe8\xd1" , "\x67\xfd\x52\x69" } , { "\xb5\xe8\xd1\xa2" , "\x67\xfd\x52\x69\x4c\x69" } , { "\xb5\xe8\xd1\xda" , "\x67\xfd\x53" } , { "\xb5\xe8\xd1\xda\xa2" , "\x67\xfd\x53\x4c\x69" } , { "\xb5\xe8\xd1\xdb" , "\x67\xfd\x6a\x69" } , { "\xb5\xe8\xd1\xdb\xa2" , "\x67\xfd\x6a\x69\x4c\x69" } , { "\xb5\xe8\xd1\xdc" , "\x67\xfd\x6b\x69" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x67\xfd\x6b\x69\x4c\x69" } , { "\xb5\xe8\xd1\xdd" , "\x67\xfd\x52\x69\x56" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x67\xfd\x52\x69\x56\x4c\x69" } , { "\xb5\xe8\xd1\xde" , "\x67\xfd\x52\x69\x57" } , { "\xb5\xe8\xd1\xe0" , "\x6c\x67\xfd\x69" } , { "\xb5\xe8\xd1\xe0\xa2" , "\x6c\x67\xfd\x69\x4c\x69" } , { "\xb5\xe8\xd1\xe1" , "\x6c\x67\xfd\x69\x5b" } , { "\xb5\xe8\xd1\xe1\xa2" , "\x6c\x67\xfd\x69\x5b\x4c\x69" } , { "\xb5\xe8\xd1\xe2" , "\x6c\x67\xfd\x5e\x69" } , { "\xb5\xe8\xd1\xe2\xa2" , "\x6c\x67\xfd\x5e\x69\x4c\x69" } , { "\xb5\xe8\xd1\xe4" , "\x67\xfd\x5d" } , { "\xb5\xe8\xd1\xe5" , "\x67\xfd\x5d\x5b" } , { "\xb5\xe8\xd1\xe5\xa2" , "\x67\xfd\x5d\x5b\x4c\x69" } , { "\xb5\xe8\xd1\xe6" , "\x67\xfd\x5f" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x67\xfd\x52\x69\x56\xf9" } , { "\xb5\xe8\xd4" , "\x67\x52\x69\x2a" } , { "\xb5\xe8\xd4\xda" , "\x67\x53\x2a" } , { "\xb5\xe8\xd4\xdb" , "\x67\x6a\x69\x2a" } , { "\xb5\xe8\xd4\xdd" , "\x67\x52\x69\x56\x2a" } , { "\xb5\xe8\xd4\xde" , "\x67\x52\x69\x57\x2a" } , { "\xb5\xe8\xd4\xe0" , "\x6c\x67\x69\x2a" } , { "\xb5\xe8\xd4\xe1" , "\x6c\x67\x69\x5b\x2a" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x6c\x67\x69\x5b\x2a\x4c\x69" } , { "\xb5\xe8\xd4\xe2" , "\x5c\x6c\x67\x69\x51\x51\x2a" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x67\x52\x69\x2a\x51\xf9" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x67\x53\x2a\x51\xf9" } , { "\xb5\xe8\xd5\xda" , "\x67\x53\x2b" } , { "\xb5\xe8\xd5\xda\xa2" , "\x67\x53\x2b\x4c\x69" } , { "\xb5\xe8\xd6\xdc" , "\x67\x3c\x6b\x69" } , { "\xb5\xe8\xd7" , "\x67\x52\x69\x3d" } , { "\xb5\xe8\xd7\xda" , "\x67\x53\x3d" } , { "\xb5\xe8\xd7\xdc" , "\x67\x6b\x69\x3d" } , { "\xb5\xe8\xd7\xdd" , "\x67\x52\x69\x56\x3d" } , { "\xb5\xe8\xd7\xde" , "\x67\x52\x69\x57\x3d" } , { "\xb5\xe8\xd7\xe0" , "\x6c\x67\x69\x3d" } , { "\xb5\xe8\xd7\xe2" , "\x5c\x6c\x67\x69\x51\x51\x3d" } , { "\xb5\xe8\xd7\xe5" , "\x67\x5d\x5b\x3d" } , { "\xb5\xe8\xd7\xe8" , "\x67\x60\x69\x3d" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x67\x60\x69\x72\xe6\x79" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x67\x60\x69\x78\x71\xed\x73" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x67\x60\x69\x78\x71\xed\x73\x4c\x69" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x67\x60\x69\x72\xed\x79" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x67\x60\x69\x7d\x71\xed\x73" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x67\x60\x69\x72\xed\xa2" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x67\x60\x69\xa3\x71\x73\xc8\xc1\x56\xf6\x51\x3d\x51\xe4" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x67\x60\x69\x72\xed\x79\xfb" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x67\x60\x69\x7d\x71\x73\xf2\x51\xf9" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x67\x60\x69\x78\x71\xf4\x73" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\x67\x6a\x69\x3d\x51\xf5" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x67\x52\x69\x56\x3d\x51\xf5" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x67\x53\x3d\x51\xf6" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\x67\x6a\x69\x3d\x51\xf6" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\x67\x60\x69\x7a\x71\xfd\x73" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x67\x60\x69\x72\xfd\xa1" } , { "\xb5\xe8\xd8" , "\x67\x3e\x52\x69" } , { "\xb5\xe8\xd8\xda" , "\x67\x3e\x53" } , { "\xb5\xe8\xd8\xdb" , "\x67\x3e\x6a\x69" } , { "\xb5\xe8\xd8\xdc" , "\x67\x3e\x6b\x69" } , { "\xb5\xe8\xd8\xe0" , "\x6c\x67\x3e\x69" } , { "\xb5\xe8\xd8\xe4" , "\x67\x3e\x5d" } , { "\xb5\xe8\xd8\xe5" , "\x67\x3e\x5d\x5b" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x67\x3e\x5d\x5b\x4c\x69" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x67\x3e\x53\x51\x51\xf9\x4c\x69" } , { "\xb5\xe8\xd9\xa6" , "\x67\x52\x69\x42" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x67\x52\x69\x4c\x52\x69\x3d" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x67\x52\x69\xad\x73" } , { "\xb5\xe8\xe8" , "\x67\x60\x69" } , { "\xb5\xe8\xe9\xcf" , "\xfa\x67\x52\x69" } , { "\xb5\xe9" , "\x67\x52\x69" } , { "\xb5\xe9\xda" , "\x67\x53" } , { "\xb5\xe9\xdb" , "\x67\x6a\x69" } , { "\xb5\xe9\xdd" , "\x67\x52\x69\x56" } , { "\xb5\xe9\xe2" , "\x5c\x6c\x67\x69" } , { "\xb5\xe9\xe5\xa2" , "\x67\x5d\x5b\x4c\x69" } , { "\xb5\xe9\xe6" , "\x67\x5f" } , { "\xb6" , "\x78\x6d\x6e\x73\x56" } , { "\xb6\xa2" , "\x78\x6d\x6e\x73\x56\x4c\x69" } , { "\xb6\xa2\xa2" , "\x78\x6d\x6e\x73\x56\x4c\x69\x69\x4c\x69" } , { "\xb6\xa3" , "\x78\x6d\x6e\x73\x56\x4d" } , { "\xb6\xd0" , "\x78\x6d\x6e\x73\x56\xe0\xe1" } , { "\xb6\xda" , "\x78\x6d\x6e\x73\x57" } , { "\xb6\xda\xa2" , "\x78\x6d\x6e\x73\x57\x4c\x69" } , { "\xb6\xdb" , "\x7a\x6d\x6e\x73\x56" } , { "\xb6\xdb\xa2" , "\x7a\x6d\x6e\x73\x56\x4c\x69" } , { "\xb6\xdc" , "\x7b\x6d\x6e\x73\x56" } , { "\xb6\xdc\xa2" , "\x7b\x6d\x6e\x73\x56\x4c\x69" } , { "\xb6\xdd" , "\x78\x6d\x6e\x73\x56\x56" } , { "\xb6\xdd\xa1" , "\x78\x6d\x6e\x73\x56\x56\xb7" } , { "\xb6\xdd\xa2" , "\x78\x6d\x6e\x73\x56\x56\x4c\x69" } , { "\xb6\xdd\xa3" , "\x78\x6d\x6e\x73\x56\x56\x4d" } , { "\xb6\xde" , "\x78\x6d\x6e\x73\x56\x57" } , { "\xb6\xde\xa1" , "\x78\x6d\x6e\x73\x56\x57\xb7" } , { "\xb6\xde\xa2" , "\x78\x6d\x6e\x73\x56\x57\x4c\x69" } , { "\xb6\xdf" , "\x78\x6d\x6e\x73\x56\x58" } , { "\xb6\xe0" , "\x7c\x6d\x6e\x73\x56" } , { "\xb6\xe1" , "\x7d\x6d\x6e\x73\x56" } , { "\xb6\xe1\xa2" , "\x7d\x6d\x6e\x73\x56\x4c\x69" } , { "\xb6\xe2" , "\x5c\x7c\x6d\x6e\x73\x56" } , { "\xb6\xe2\xa3" , "\x5c\x7c\x6d\x6e\x73\x56\x4d" } , { "\xb6\xe4" , "\x7c\x6d\x6e\x73\x56\x56" } , { "\xb6\xe5" , "\x7c\x6d\x6e\x73\x57" } , { "\xb6\xe5\xa2" , "\x7c\x6d\x6e\x73\x57\x4c\x69" } , { "\xb6\xe6" , "\x78\x6d\x6e\x73\xb0" } , { "\xb6\xe6\xa2" , "\x78\x6d\x6e\x73\xb0\x4c\x69" } , { "\xb6\xe8" , "\xa3\x6d\x6e\x73\x56" } , { "\xb6\xe8\xb3\xde" , "\x78\x6d\x6e\x73\x56\x57\xe4" } , { "\xb6\xe8\xb6" , "\x78\x6d\x6e\x73\xe7\x56" } , { "\xb6\xe8\xb6\xdc" , "\x7b\x6d\x6e\x73\xe7\x56" } , { "\xb6\xe8\xb6\xde" , "\x78\x6d\x6e\x73\xe7\x56\x57" } , { "\xb6\xe8\xb8\xe1" , "\x7d\x6d\x6e\x73\x56\xe8" } , { "\xb6\xe8\xc1\xda" , "\x78\x6d\x6e\x73\xf1\x57" } , { "\xb6\xe8\xc1\xdb" , "\x7a\x6d\x6e\x73\xf1\x56" } , { "\xb6\xe8\xc2" , "\x78\x6d\x6e\x73\x56\xf2" } , { "\xb6\xe8\xc4" , "\x78\x6d\x6e\x73\xf4\x56" } , { "\xb6\xe8\xc6" , "\x78\x6d\x6e\x73\x56\xf5" } , { "\xb6\xe8\xc6\xa2" , "\x78\x6d\x6e\x73\x56\xf5\x4c\x69" } , { "\xb6\xe8\xc6\xa3" , "\x78\x6d\x6e\x73\x56\xf5\x4d" } , { "\xb6\xe8\xc6\xda" , "\x78\x6d\x6e\x73\x57\xf5" } , { "\xb6\xe8\xc6\xdb" , "\x7a\x6d\x6e\x73\x56\xf5" } , { "\xb6\xe8\xc6\xdc" , "\x7b\x6d\x6e\x73\x56\xf5" } , { "\xb6\xe8\xc6\xdd" , "\x78\x6d\x6e\x73\x56\x56\xf5" } , { "\xb6\xe8\xc6\xe1" , "\x7d\x6d\x6e\x73\x56\xf5" } , { "\xb6\xe8\xc6\xe5" , "\x7c\x6d\x6e\x73\x57\xf5" } , { "\xb6\xe8\xcd" , "\x78\x6d\x6e\x73\x56\xf9" } , { "\xb6\xe8\xcd\xda" , "\x78\x6d\x6e\x73\x57\xf9" } , { "\xb6\xe8\xcd\xe5" , "\x7c\x6d\x6e\x73\x57\xf9" } , { "\xb6\xe8\xcd\xe6" , "\x78\x6d\x6e\x73\xb0\xf9" } , { "\xb6\xe8\xcf" , "\xfa\x78\x6d\x6e\x73\x56" } , { "\xb6\xe8\xcf\xa2" , "\xfa\x78\x6d\x6e\x73\x56\x4c\x69" } , { "\xb6\xe8\xcf\xda" , "\xfa\x78\x6d\x6e\x73\x57" } , { "\xb6\xe8\xcf\xda\xa2" , "\xfa\x78\x6d\x6e\x73\x57\x4c\x69" } , { "\xb6\xe8\xcf\xdb" , "\xfa\x7a\x6d\x6e\x73\x56" } , { "\xb6\xe8\xcf\xdd" , "\xfa\x78\x6d\x6e\x73\x56\x56" } , { "\xb6\xe8\xcf\xe5\xa2" , "\xfa\x7c\x6d\x6e\x73\x57\x4c\x69" } , { "\xb6\xe8\xd1" , "\x78\x6d\x6e\x73\xfd\x56" } , { "\xb6\xe8\xd4" , "\x78\x6d\x6e\x73\x56\x2a" } , { "\xb6\xe8\xd4\xa2" , "\x78\x6d\x6e\x73\x56\x2a\x4c\x69" } , { "\xb6\xe8\xd4\xda" , "\x78\x6d\x6e\x73\x57\x2a" } , { "\xb6\xe8\xe8" , "\xa3\x6d\x6e\x73\x56" } , { "\xb6\xe8\xe9\xcf" , "\xfa\x78\x6d\x6e\x73\x56" } , { "\xb6\xe9" , "\x78\x6d\x6e\x73\x56" } , { "\xb7" , "\xc3\xc1" } , { "\xb7\xa2" , "\xc3\xc1\x4c\x69" } , { "\xb7\xa3" , "\xc3\xc1\x4d" } , { "\xb7\xda" , "\xc3\xd8" } , { "\xb7\xdb" , "\xc3\xd3\xc1" } , { "\xb7\xdb\xa2" , "\xc3\xd3\xc1\x4c\x69" } , { "\xb7\xdc" , "\xc3\xd4\xc1" } , { "\xb7\xdd" , "\xc3\xc1\x56" } , { "\xb7\xde" , "\xc3\xc1\x57" } , { "\xb7\xdf" , "\xc3\xc1\x58" } , { "\xb7\xe0" , "\xdb\xc3\xc1" } , { "\xb7\xe1" , "\xdb\xc3\xc1\x5b" } , { "\xb7\xe1\xa2" , "\xdb\xc3\xc1\x5b\x4c\x69" } , { "\xb7\xe2" , "\x5c\xdb\xc3\xc1" } , { "\xb7\xe4" , "\xc3\xdc" } , { "\xb7\xe5" , "\xc3\xdc\x5b" } , { "\xb7\xe6" , "\xc3\xdd" } , { "\xb7\xe8" , "\xc3\xde" } , { "\xb7\xe8\xb3" , "\xc3\xc1\xe4" } , { "\xb7\xe8\xb3\xda" , "\xc3\xd8\xe4" } , { "\xb7\xe8\xb3\xdb" , "\xc3\xd3\xc1\xe4" } , { "\xb7\xe8\xb3\xe5" , "\xc3\xdc\x5b\xe4" } , { "\xb7\xe8\xb5" , "\xc3\xe6\xc1" } , { "\xb7\xe8\xb5\xda" , "\xc3\xe6\xd8" } , { "\xb7\xe8\xb5\xdb" , "\xc3\xe6\xd3\xc1" } , { "\xb7\xe8\xb5\xdc" , "\xc3\xe6\xd4\xc1" } , { "\xb7\xe8\xb5\xe5\xa2" , "\xc3\xe6\xdc\x5b\x4c\x69" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\xc3\xe6\xd8\xfb" } , { "\xb7\xe8\xb6" , "\xc3\xe7\xc1" } , { "\xb7\xe8\xb6\xda" , "\xc3\xe7\xd8" } , { "\xb7\xe8\xb6\xdb" , "\xc3\xe7\xd3\xc1" } , { "\xb7\xe8\xbd\xe8\xb5" , "\xc3\xde\xc8\xe6\xc1" } , { "\xb7\xe8\xc4" , "\xc3\xf4\xc1" } , { "\xb7\xe8\xc6" , "\xc3\xc1\xf5" } , { "\xb7\xe8\xc6\xda" , "\xc3\xd8\xf5" } , { "\xb7\xe8\xc6\xdb" , "\xc3\xd3\xc1\xf5" } , { "\xb7\xe8\xc6\xdd" , "\xc3\xc1\x56\xf5" } , { "\xb7\xe8\xc6\xde" , "\xc3\xc1\x57\xf5" } , { "\xb7\xe8\xc9\xe5" , "\xc3\xdc\x5b\xf6\xe9" } , { "\xb7\xe8\xcc" , "\xc3\xc1\xf8" } , { "\xb7\xe8\xcc\xa2" , "\xc3\xc1\xf8\x4c\x69" } , { "\xb7\xe8\xcc\xda" , "\xc3\xd8\xf8" } , { "\xb7\xe8\xcc\xdd" , "\xc3\xc1\x56\xf8" } , { "\xb7\xe8\xcc\xde" , "\xc3\xc1\x57\xf8" } , { "\xb7\xe8\xcd" , "\xc3\xc1\xf9" } , { "\xb7\xe8\xcf" , "\xfa\xc3\xc1" } , { "\xb7\xe8\xcf\xdc" , "\xfa\xc3\xd4\xc1" } , { "\xb7\xe8\xd8\xda" , "\xc3\x3e\xd8" } , { "\xb7\xe8\xe8" , "\xc3\xde" } , { "\xb8" , "\xbf\x52\xc1" } , { "\xb8\xa1" , "\xbf\x52\xc1\xb7" } , { "\xb8\xa2" , "\xbf\x52\xc1\x4c\x69" } , { "\xb8\xa3" , "\xbf\x52\xc1\x4d" } , { "\xb8\xda" , "\xbf\x79" } , { "\xb8\xda\xa1" , "\xbf\x79\xb7" } , { "\xb8\xda\xa2" , "\xbf\x79\x4c\x69" } , { "\xb8\xdb" , "\xc0\xc1" } , { "\xb8\xdb\xa2" , "\xc0\xc1\x4c\x69" } , { "\xb8\xdc" , "\xc0\x64\xc1" } , { "\xb8\xdc\xa2" , "\xc0\x64\xc1\x4c\x69" } , { "\xb8\xdd" , "\xbf\x52\xc1\x56" } , { "\xb8\xdd\xa1" , "\xbf\x52\xc1\x56\xb7" } , { "\xb8\xdd\xa2" , "\xbf\x52\xc1\x56\x4c\x69" } , { "\xb8\xde" , "\xbf\x52\xc1\x57" } , { "\xb8\xde\xa1" , "\xbf\x52\xc1\x57\xb7" } , { "\xb8\xde\xa2" , "\xbf\x52\xc1\x57\x4c\x69" } , { "\xb8\xdf" , "\xbf\x52\xc1\x58" } , { "\xb8\xe0" , "\xc2\xbf\xc1" } , { "\xb8\xe0\xa2" , "\xc2\xbf\xc1\x4c\x69" } , { "\xb8\xe1" , "\xc2\xbf\xc1\x5b" } , { "\xb8\xe1\xa2" , "\xc2\xbf\xc1\x5b\x4c\x69" } , { "\xb8\xe2" , "\x5c\xc2\xbf\xc1" } , { "\xb8\xe2\xa2" , "\x5c\xc2\xbf\xc1\x4c\x69" } , { "\xb8\xe3" , "\xc2\xbf\xc1" } , { "\xb8\xe4" , "\xbf\x5d" } , { "\xb8\xe4\xa2" , "\xbf\x5d\x4c\x69" } , { "\xb8\xe4\xd0\xe8" , "\xbf\x5d\xe0\xe3\xde" } , { "\xb8\xe5" , "\xbf\x5d\x5b" } , { "\xb8\xe5\xa2" , "\xbf\x5d\x5b\x4c\x69" } , { "\xb8\xe6" , "\xbf\x5f" } , { "\xb8\xe6\xa2" , "\xbf\x5f\x4c\x69" } , { "\xb8\xe7" , "\xbf\x5d" } , { "\xb8\xe8" , "\xbf\x60\xc1" } , { "\xb8\xe8\xb3" , "\xbf\x52\xc1\xe4" } , { "\xb8\xe8\xb3\xa2" , "\xbf\x52\xc1\xe4\x4c\x69" } , { "\xb8\xe8\xb3\xdb" , "\xc0\xc1\xe4" } , { "\xb8\xe8\xb3\xdd" , "\xbf\x52\xc1\x56\xe4" } , { "\xb8\xe8\xb3\xe4" , "\xbf\x5d\xe4" } , { "\xb8\xe8\xb3\xe5" , "\xbf\x5d\x5b\xe4" } , { "\xb8\xe8\xb5" , "\xbf\xe6\x52\xc1" } , { "\xb8\xe8\xb8" , "\xbf\x52\xc1\xe8" } , { "\xb8\xe8\xb8\xa2" , "\xbf\x52\xc1\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xda" , "\xbf\x79\xe8" } , { "\xb8\xe8\xb8\xda\xa2" , "\xbf\x79\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xdb" , "\xc0\xc1\xe8" } , { "\xb8\xe8\xb8\xdb\xa2" , "\xc0\xc1\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xdc" , "\xc0\x64\xc1\xe8" } , { "\xb8\xe8\xb8\xdd" , "\xbf\x52\xc1\x56\xe8" } , { "\xb8\xe8\xb8\xdd\xa2" , "\xbf\x52\xc1\x56\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xde" , "\xbf\x52\xc1\x57\xe8" } , { "\xb8\xe8\xb8\xe0" , "\xc2\xbf\xc1\xe8" } , { "\xb8\xe8\xb8\xe0\xa2" , "\xc2\xbf\xc1\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xe1" , "\xc2\xbf\xc1\x5b\xe8" } , { "\xb8\xe8\xb8\xe1\xa2" , "\xc2\xbf\xc1\x5b\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xe2" , "\x5c\xc2\xbf\xc1\x51\xe8" } , { "\xb8\xe8\xb8\xe2\xa2" , "\x5c\xc2\xbf\xc1\x51\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xe4" , "\xbf\x5d\xe8" } , { "\xb8\xe8\xb8\xe4\xa2" , "\xbf\x5d\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\xbf\x5d\xe8\xe0\xe3\xde" } , { "\xb8\xe8\xb8\xe5" , "\xbf\x5d\x5b\xe8" } , { "\xb8\xe8\xb8\xe5\xa2" , "\xbf\x5d\x5b\xe8\x4c\x69" } , { "\xb8\xe8\xb8\xe6" , "\xbf\x5f\xe8" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\xc0\x64\xc1\xe8\x51\xfb" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\xbf\x52\xc1\x56\xe8\x51\xfb" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\xbf\x79\xe8\x51\x2a" } , { "\xb8\xe8\xb9" , "\xbf\x52\xc1\xe8\xe9" } , { "\xb8\xe8\xb9\xa2" , "\xbf\x52\xc1\xe8\xe9\x4c\x69" } , { "\xb8\xe8\xb9\xda" , "\xbf\x79\xe8\xe9" } , { "\xb8\xe8\xb9\xda\xa2" , "\xbf\x79\xe8\xe9\x4c\x69" } , { "\xb8\xe8\xb9\xdb" , "\xc0\xc1\xe8\xe9" } , { "\xb8\xe8\xb9\xdb\xa2" , "\xc0\xc1\xe8\xe9\x4c\x69" } , { "\xb8\xe8\xb9\xdc" , "\xc0\x64\xc1\xe8\xe9" } , { "\xb8\xe8\xb9\xdd" , "\xbf\x52\xc1\x56\xe8\xe9" } , { "\xb8\xe8\xb9\xdd\xa2" , "\xbf\x52\xc1\x56\xe8\xe9\x4c\x69" } , { "\xb8\xe8\xb9\xde" , "\xbf\x52\xc1\x57\xe8\xe9" } , { "\xb8\xe8\xb9\xdf" , "\xbf\x52\xc1\xe8\xe9\x51\x58" } , { "\xb8\xe8\xb9\xdf\xa2" , "\xbf\x52\xc1\xe8\xe9\x51\x58\x4c\x69" } , { "\xb8\xe8\xb9\xe0" , "\xc2\xbf\xc1\xe8\xe9" } , { "\xb8\xe8\xb9\xe1" , "\xc2\xbf\xc1\x5b\xe8\xe9" } , { "\xb8\xe8\xb9\xe5" , "\xbf\x5d\x5b\xe8\xe9" } , { "\xb8\xe8\xb9\xe5\xa2" , "\xbf\x5d\x5b\xe8\xe9\x4c\x69" } , { "\xb8\xe8\xb9\xe6" , "\xbf\x5f\xe8\xe9" } , { "\xb8\xe8\xb9\xe8" , "\xbf\x60\xc1\xe8\xe9" } , { "\xb8\xe8\xb9\xe8\xa2" , "\xbf\x60\xc1\xe8\xe9\x69\x4c\x69" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\xbf\x60\xc1\xbf\xb3\x60\xc1\xb5\xf4\xf0\x52\xb6" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\xc0\x64\xc1\xe8\xe9\x51\xf8" } , { "\xb8\xe8\xb9\xe8\xcf" , "\xbf\x52\xc1\xe8\xe9\x51\xfb" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\xbf\x79\xe8\xe9\x51\xfb" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\xbf\x52\xc1\x56\xe8\xe9\x51\xfb" } , { "\xb8\xe8\xb9\xe8\xd1" , "\xbf\x60\xc1\xbf\xb3\xfd\x52\xc1" } , { "\xb8\xe8\xb9\xe8\xd4" , "\xbf\x52\xc1\xe8\xe9\x51\x2a" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\xbf\x79\xe8\xe9\x51\x2a" } , { "\xb8\xe8\xbd" , "\xbf\xed\x52\xc1" } , { "\xb8\xe8\xbd\xdb" , "\xc0\xed\xc1" } , { "\xb8\xe8\xbd\xdb\xa2" , "\xc0\xed\xc1\x4c\x69" } , { "\xb8\xe8\xbd\xe1" , "\xc2\xbf\xed\xc1\x5b" } , { "\xb8\xe8\xbd\xe2" , "\xc2\xbf\xed\x5e\xc1" } , { "\xb8\xe8\xbf\xdb" , "\xc0\xef\xc1" } , { "\xb8\xe8\xbf\xe8" , "\xbf\x60\xef\xc1" } , { "\xb8\xe8\xc2" , "\xbf\x52\xc1\xf2" } , { "\xb8\xe8\xc2\xe1\xa2" , "\xc2\xbf\xc1\x5b\xf2\x4c\x69" } , { "\xb8\xe8\xc3" , "\xbf\xf3\x52\xc1" } , { "\xb8\xe8\xc4\xdb" , "\xc0\xf4\xc1" } , { "\xb8\xe8\xc6" , "\xbf\x52\xc1\xf5" } , { "\xb8\xe8\xc6\xa2" , "\xbf\x52\xc1\xf5\x4c\x69" } , { "\xb8\xe8\xc6\xdb" , "\xc0\xc1\xf5" } , { "\xb8\xe8\xc6\xdd" , "\xbf\x52\xc1\x56\xf5" } , { "\xb8\xe8\xc6\xe4" , "\xbf\x5d\xf5" } , { "\xb8\xe8\xc8" , "\xbf\x52\xc1\xf6" } , { "\xb8\xe8\xc8\xe0" , "\xc2\xbf\xc1\xf6" } , { "\xb8\xe8\xc8\xe8\xcf" , "\xbf\x52\xc1\xf6\x51\xfb" } , { "\xb8\xe8\xca\xda" , "\xbf\x79\xf7" } , { "\xb8\xe8\xca\xdd" , "\xbf\x52\xc1\x56\xf7" } , { "\xb8\xe8\xca\xe5" , "\xbf\x5d\x5b\xf7" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\xbf\x60\xc1\xdb\xcb\xfd\xc1\x4c\x69" } , { "\xb8\xe8\xcc" , "\xbf\x52\xc1\xf8" } , { "\xb8\xe8\xcc\xdc" , "\xc0\x64\xc1\xf8" } , { "\xb8\xe8\xcc\xe0" , "\xc2\xbf\xc1\xf8" } , { "\xb8\xe8\xcc\xe0\xa2" , "\xc2\xbf\xc1\xf8\x4c\x69" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\xc2\xbf\xc1\x5b\xf8\x51\xf7\xe9" } , { "\xb8\xe8\xcd" , "\xbf\x52\xc1\xf9" } , { "\xb8\xe8\xcd\xa2" , "\xbf\x52\xc1\xf9\x4c\x69" } , { "\xb8\xe8\xcd\xda" , "\xbf\x79\xf9" } , { "\xb8\xe8\xcd\xda\xa2" , "\xbf\x79\xf9\x4c\x69" } , { "\xb8\xe8\xcd\xdd" , "\xbf\x52\xc1\x56\xf9" } , { "\xb8\xe8\xcd\xde" , "\xbf\x52\xc1\x57\xf9" } , { "\xb8\xe8\xcd\xde\xa2" , "\xbf\x52\xc1\x57\xf9\x4c\x69" } , { "\xb8\xe8\xcd\xe5" , "\xbf\x5d\x5b\xf9" } , { "\xb8\xe8\xcd\xe6" , "\xbf\x5f\xf9" } , { "\xb8\xe8\xcd\xe8\xcd" , "\xbf\x52\xc1\xf9\x51\xf9" } , { "\xb8\xe8\xcf" , "\xfa\xbf\x52\xc1" } , { "\xb8\xe8\xcf\xda" , "\xfa\xbf\x79" } , { "\xb8\xe8\xcf\xdb" , "\xfa\xc0\xc1" } , { "\xb8\xe8\xcf\xdc" , "\xfa\xc0\x64\xc1" } , { "\xb8\xe8\xcf\xde" , "\xfa\xbf\x52\xc1\x57" } , { "\xb8\xe8\xcf\xde\xa2" , "\xfa\xbf\x52\xc1\x57\x4c\x69" } , { "\xb8\xe8\xcf\xe5" , "\xfa\xbf\x5d\x5b" } , { "\xb8\xe8\xcf\xe8\xb9" , "\xbf\x52\xc1\xfb\x51\xe8\xe9" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\xbf\x79\xfb\x51\xe8\xe9" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\xc0\xc1\xfb\x51\xe8\xe9" } , { "\xb8\xe8\xcf\xe8\xcd" , "\xbf\x52\xc1\xfb\x51\xf9" } , { "\xb8\xe8\xd1" , "\xbf\xfd\x52\xc1" } , { "\xb8\xe8\xd1\xda" , "\xbf\xfd\x79" } , { "\xb8\xe8\xd1\xdb" , "\xc0\xfd\xc1" } , { "\xb8\xe8\xd1\xdc" , "\xc0\x64\xfd\xc1" } , { "\xb8\xe8\xd1\xdd" , "\xbf\xfd\x52\xc1\x56" } , { "\xb8\xe8\xd1\xde" , "\xbf\xfd\x52\xc1\x57" } , { "\xb8\xe8\xd1\xe5" , "\xbf\xfd\x5d\x5b" } , { "\xb8\xe8\xd4" , "\xbf\x52\xc1\x2a" } , { "\xb8\xe8\xd4\xda" , "\xbf\x79\x2a" } , { "\xb8\xe8\xd4\xda\xa2" , "\xbf\x79\x2a\x4c\x69" } , { "\xb8\xe8\xd4\xe1" , "\xc2\xbf\xc1\x5b\x2a" } , { "\xb8\xe8\xd4\xe2" , "\x5c\xc2\xbf\xc1\x51\x2a" } , { "\xb8\xe8\xd7" , "\xbf\x52\xc1\x3d" } , { "\xb8\xe8\xd7\xe1" , "\xc2\xbf\xc1\x5b\x3d" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\xbf\x60\xc1\x7a\x71\xed\x73" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\xbf\x60\xc1\x72\xed\xa1" } , { "\xb8\xe8\xd8" , "\xbf\x3e\x52\xc1" } , { "\xb8\xe8\xd8\xda" , "\xbf\x3e\x79" } , { "\xb8\xe8\xd8\xe6" , "\xbf\x3e\x5f" } , { "\xb8\xe8\xd9\xa6" , "\xbf\x52\xc1\x42" } , { "\xb8\xe8\xe8" , "\xbf\x60\xc1" } , { "\xb8\xe8\xe9\xcf" , "\xfa\xbf\x52\xc1" } , { "\xb8\xe9" , "\xbf\x52\xc1" } , { "\xb9" , "\xbf\xb3\x52\xc1" } , { "\xb9\xa1" , "\xbf\xb3\x52\xc1\xb7" } , { "\xb9\xa2" , "\xbf\xb3\x52\xc1\x4c\x69" } , { "\xb9\xa3" , "\xbf\xb3\x52\xc1\x4d" } , { "\xb9\xce\xb4" , "\xbf\xb3\x52\xc1\xb8\x52\xb6\x56\xc5\xc1" } , { "\xb9\xd9\xc5" , "\xbf\xb3\x52\xc1\x25\xc1\xb5\xb3\x52\xb6" } , { "\xb9\xd9\xd1" , "\xbf\xb3\x52\xc1\x25\xc1\xcc\xc1" } , { "\xb9\xda" , "\xbf\xb3\x79" } , { "\xb9\xda\xa1" , "\xbf\xb3\x79\xb7" } , { "\xb9\xda\xa2" , "\xbf\xb3\x79\x4c\x69" } , { "\xb9\xdb" , "\xc0\xb3\xc1" } , { "\xb9\xdb\xa2" , "\xc0\xb3\xc1\x4c\x69" } , { "\xb9\xdc" , "\xc0\xb3\x64\xc1" } , { "\xb9\xdc\xa2" , "\xc0\xb3\x64\xc1\x4c\x69" } , { "\xb9\xdd" , "\xbf\xb3\x52\xc1\x56" } , { "\xb9\xdd\xa2" , "\xbf\xb3\x52\xc1\x56\x4c\x69" } , { "\xb9\xde" , "\xbf\xb3\x52\xc1\x57" } , { "\xb9\xde\xa1" , "\xbf\xb3\x52\xc1\x57\xb7" } , { "\xb9\xde\xa2" , "\xbf\xb3\x52\xc1\x57\x4c\x69" } , { "\xb9\xdf" , "\xbf\xb3\x52\xc1\x58" } , { "\xb9\xe0" , "\xc2\xbf\xb3\xc1" } , { "\xb9\xe0\xa2" , "\xc2\xbf\xb3\xc1\x4c\x69" } , { "\xb9\xe1" , "\xc2\xbf\xb3\xc1\x5b" } , { "\xb9\xe1\xa2" , "\xc2\xbf\xb3\xc1\x5b\x4c\x69" } , { "\xb9\xe2" , "\x5c\xc2\xbf\xb3\xc1" } , { "\xb9\xe2\xa2" , "\x5c\xc2\xbf\xb3\xc1\x4c\x69" } , { "\xb9\xe4" , "\xbf\xb3\x5d" } , { "\xb9\xe5" , "\xbf\xb3\x5d\x5b" } , { "\xb9\xe5\xa2" , "\xbf\xb3\x5d\x5b\x4c\x69" } , { "\xb9\xe6" , "\xbf\xb3\x5f" } , { "\xb9\xe6\xa2" , "\xbf\xb3\x5f\x4c\x69" } , { "\xb9\xe8" , "\xbf\xb3\x60\xc1" } , { "\xb9\xe8\xb8" , "\xbf\xb3\x52\xc1\xe8" } , { "\xb9\xe8\xb9" , "\xbf\xb3\x52\xc1\xe8\xe9" } , { "\xb9\xe8\xb9\xda" , "\xbf\xb3\x79\xe8\xe9" } , { "\xb9\xe8\xc2\xda" , "\xbf\xb3\x79\xf2" } , { "\xb9\xe8\xc4" , "\xbf\xb3\xf4\x52\xc1" } , { "\xb9\xe8\xc6\xdd\xa2" , "\xbf\xb3\x52\xc1\x56\xf5\x4c\x69" } , { "\xb9\xe8\xc8\xda" , "\xbf\xb3\x79\xf6" } , { "\xb9\xe8\xcd\xda" , "\xbf\xb3\x79\xf9" } , { "\xb9\xe8\xcd\xe1" , "\xc2\xbf\xb3\xc1\x5b\xf9" } , { "\xb9\xe8\xd4\xda" , "\xbf\xb3\x79\x2a" } , { "\xb9\xe8\xe8" , "\xbf\xb3\x60\xc1" } , { "\xb9\xe9" , "\xbf\xb3\x52\xc1" } , { "\xba" , "\xc7\xc1" } , { "\xba\xa1" , "\xc7\xc1\xb7" } , { "\xba\xa2" , "\xc7\xc1\x4c\x69" } , { "\xba\xa2\xa2" , "\xc7\xc1\x4c\x69\x69\x4c\x69" } , { "\xba\xa3" , "\xc7\xc1\x4d" } , { "\xba\xd9\xc5" , "\xc7\xc1\x25\xc1\xb5\xb3\x52\xb6" } , { "\xba\xda" , "\xc7\xd8" } , { "\xba\xda\xa1" , "\xc7\xd8\xb7" } , { "\xba\xda\xa2" , "\xc7\xd8\x4c\x69" } , { "\xba\xda\xa3" , "\xc7\xd8\x4d" } , { "\xba\xdb" , "\xd1\xc1" } , { "\xba\xdb\xa2" , "\xd1\xc1\x4c\x69" } , { "\xba\xdc" , "\xd2\xc1" } , { "\xba\xdc\xa2" , "\xd2\xc1\x4c\x69" } , { "\xba\xdd" , "\xc7\xc1\xd9" } , { "\xba\xdd\xa2" , "\xc7\xc1\xd9\x4c\x69" } , { "\xba\xdd\xa3" , "\xc7\xc1\xd9\x4d" } , { "\xba\xde" , "\xc7\xc1\xda" } , { "\xba\xde\xa1" , "\xc7\xc1\xda\xb7" } , { "\xba\xde\xa2" , "\xc7\xc1\xda\x4c\x69" } , { "\xba\xdf" , "\xc7\xc1\x58" } , { "\xba\xdf\xa2" , "\xc7\xc1\x58\x4c\x69" } , { "\xba\xe0" , "\xdb\xc7\xc1" } , { "\xba\xe0\xa2" , "\xdb\xc7\xc1\x4c\x69" } , { "\xba\xe1" , "\xdb\xc7\xc1\x5b" } , { "\xba\xe1\xa2" , "\xdb\xc7\xc1\x5b\x4c\x69" } , { "\xba\xe2" , "\x5c\xdb\xc7\xc1" } , { "\xba\xe2\xa2" , "\x5c\xdb\xc7\xc1\x4c\x69" } , { "\xba\xe3" , "\xdb\xc7\xc1" } , { "\xba\xe4" , "\xc7\xdc" } , { "\xba\xe4\xa2" , "\xc7\xdc\x4c\x69" } , { "\xba\xe5" , "\xc7\xdc\x5b" } , { "\xba\xe5\xa2" , "\xc7\xdc\x5b\x4c\x69" } , { "\xba\xe6" , "\xc7\xdd" } , { "\xba\xe7" , "\xc7\xdc" } , { "\xba\xe8" , "\xc7\xde" } , { "\xba\xe8\xb3" , "\xc7\xc1\xe4" } , { "\xba\xe8\xb3\xda" , "\xc7\xd8\xe4" } , { "\xba\xe8\xb3\xdb" , "\xd1\xc1\xe4" } , { "\xba\xe8\xb3\xdc" , "\xd2\xc1\xe4" } , { "\xba\xe8\xb3\xdd" , "\xc7\xc1\xd9\xe4" } , { "\xba\xe8\xb3\xe1" , "\xdb\xc7\xc1\x5b\xe4" } , { "\xba\xe8\xb3\xe2" , "\x5c\xdb\xc7\xc1\x51\xe4" } , { "\xba\xe8\xb3\xe5" , "\xc7\xdc\x5b\xe4" } , { "\xba\xe8\xb3\xe8\xbd" , "\xc7\xde\x4e\xed\x52\x50" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\xc7\xde\x4e\x60\x50\x72\xfd\xa1" } , { "\xba\xe8\xb4\xda" , "\xc7\xe5\xd8" } , { "\xba\xe8\xb5" , "\xc7\xe6\xc1" } , { "\xba\xe8\xb5\xa2" , "\xc7\xe6\xc1\x4c\x69" } , { "\xba\xe8\xb5\xda" , "\xc7\xe6\xd8" } , { "\xba\xe8\xb5\xda\xa2" , "\xc7\xe6\xd8\x4c\x69" } , { "\xba\xe8\xb5\xe1" , "\xdb\xc7\xe6\xc1\x5b" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\xc7\xe6\xd8\xfb" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\xdb\xc7\xe6\xc1\x5b\xfb" } , { "\xba\xe8\xb6" , "\xc7\xe7\xc1" } , { "\xba\xe8\xb6\xda" , "\xc7\xe7\xd8" } , { "\xba\xe8\xb8\xda" , "\xc7\xd8\xe8" } , { "\xba\xe8\xb8\xdd" , "\xc7\xc1\xd9\xe8" } , { "\xba\xe8\xb8\xe1" , "\xdb\xc7\xc1\x5b\xe8" } , { "\xba\xe8\xba" , "\xc7\xea\xc1" } , { "\xba\xe8\xba\xa2" , "\xc7\xea\xc1\x4c\x69" } , { "\xba\xe8\xba\xda" , "\xc7\xea\xd8" } , { "\xba\xe8\xba\xdb" , "\xd1\xea\xc1" } , { "\xba\xe8\xba\xdc" , "\xd2\xea\xc1" } , { "\xba\xe8\xba\xdd" , "\xc7\xea\xc1\xd9" } , { "\xba\xe8\xba\xde" , "\xc7\xea\xc1\xda" } , { "\xba\xe8\xba\xdf\xa2" , "\xc7\xea\xc1\x51\x58\x4c\x69" } , { "\xba\xe8\xba\xe0" , "\xdb\xc7\xea\xc1" } , { "\xba\xe8\xba\xe1" , "\xdb\xc7\xea\xc1\x5b" } , { "\xba\xe8\xba\xe2" , "\xdb\xc7\xea\x5e\xc1" } , { "\xba\xe8\xba\xe5" , "\xc7\xea\xdc\x5b" } , { "\xba\xe8\xba\xe5\xa2" , "\xc7\xea\xdc\x5b\x4c\x69" } , { "\xba\xe8\xba\xe8" , "\xc7\xde\xea" } , { "\xba\xe8\xba\xe8\xcd" , "\xc7\xea\xc1\xf9" } , { "\xba\xe8\xba\xe8\xd4" , "\xc7\xea\xc1\x2a" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\xdb\xc7\xea\xc1\x5b\x2a" } , { "\xba\xe8\xba\xe9" , "\xc7\xea\xc1" } , { "\xba\xe8\xba\xe9\xdb" , "\xd1\xea\xc1" } , { "\xba\xe8\xbb" , "\xc7\xeb\xc1" } , { "\xba\xe8\xbb\xda" , "\xc7\xeb\xd8" } , { "\xba\xe8\xbb\xdb" , "\xd1\xeb\xc1" } , { "\xba\xe8\xbb\xdc" , "\xd2\xeb\xc1" } , { "\xba\xe8\xbb\xdd" , "\xc7\xeb\xc1\xd9" } , { "\xba\xe8\xbb\xde" , "\xc7\xeb\xc1\xda" } , { "\xba\xe8\xbb\xe1" , "\xdb\xc7\xeb\xc1\x5b" } , { "\xba\xe8\xbb\xe8\xd4" , "\xc7\xeb\xc1\x51\x2a" } , { "\xba\xe8\xbc" , "\xc7\xec\xc1" } , { "\xba\xe8\xbc\xa2" , "\xc7\xec\xc1\x4c\x69" } , { "\xba\xe8\xbc\xa3" , "\xc7\xec\xc1\x4d" } , { "\xba\xe8\xbc\xda" , "\xc7\xec\xd8" } , { "\xba\xe8\xbc\xda\xa2" , "\xc7\xec\xd8\x4c\x69" } , { "\xba\xe8\xbc\xdb" , "\xd1\xec\xc1" } , { "\xba\xe8\xbc\xdc" , "\xd2\xec\xc1" } , { "\xba\xe8\xbc\xdd" , "\xc7\xec\xc1\xd9" } , { "\xba\xe8\xbc\xe0" , "\xdb\xc7\xec\xc1" } , { "\xba\xe8\xbc\xe1" , "\xdb\xc7\xec\xc1\x5b" } , { "\xba\xe8\xbc\xe2\xa3" , "\xdb\xc7\xec\x5e\xc1\x4d" } , { "\xba\xe8\xbc\xe5" , "\xc7\xec\xdc\x5b" } , { "\xba\xe8\xbc\xe5\xa2" , "\xc7\xec\xdc\x5b\x4c\x69" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\xc7\xec\xd8\x51\xf5" } , { "\xba\xe8\xbc\xe8\xcc" , "\xc7\xec\xc1\x51\xf8" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\xc7\xec\xd8\x51\xf8" } , { "\xba\xe8\xbc\xe8\xcd" , "\xc7\xec\xc1\x51\xf9" } , { "\xba\xe8\xbd\xda" , "\xc7\xed\xd8" } , { "\xba\xe8\xbd\xdd" , "\xc7\xed\xc1\xd9" } , { "\xba\xe8\xbd\xe0" , "\xdb\xc7\xed\xc1" } , { "\xba\xe8\xbd\xe5" , "\xc7\xed\xdc\x5b" } , { "\xba\xe8\xbe" , "\xc7\xee\xc1" } , { "\xba\xe8\xbe\xdd" , "\xc7\xee\xc1\xd9" } , { "\xba\xe8\xbe\xe5" , "\xc7\xee\xdc\x5b" } , { "\xba\xe8\xbf" , "\xc7\xef\xc1" } , { "\xba\xe8\xbf\xda" , "\xc7\xef\xd8" } , { "\xba\xe8\xbf\xdb" , "\xd1\xef\xc1" } , { "\xba\xe8\xbf\xdd" , "\xc7\xef\xc1\xd9" } , { "\xba\xe8\xbf\xe1" , "\xdb\xc7\xef\xc1\x5b" } , { "\xba\xe8\xbf\xe2" , "\xdb\xc7\xef\x5e\xc1" } , { "\xba\xe8\xbf\xe8" , "\xc7\xde\xef" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\xc7\xde\xb2\xec\x79" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\xdb\xc7\xef\xc1\x5b\xf5" } , { "\xba\xe8\xbf\xe9" , "\xc7\xef\xc1" } , { "\xba\xe8\xc0" , "\xc7\xef\xf0\xc1" } , { "\xba\xe8\xc0\xa2" , "\xc7\xef\xf0\xc1\x4c\x69" } , { "\xba\xe8\xc0\xda" , "\xc7\xef\xf0\xd8" } , { "\xba\xe8\xc0\xdb" , "\xd1\xef\xf0\xc1" } , { "\xba\xe8\xc0\xdd" , "\xc7\xef\xf0\xc1\xd9" } , { "\xba\xe8\xc0\xe1" , "\xdb\xc7\xef\xf0\xc1\x5b" } , { "\xba\xe8\xc0\xe5" , "\xc7\xef\xf0\xdc\x5b" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\xc7\xde\xb2\xb3\xec\x79" } , { "\xba\xe8\xc2" , "\xc7\xc1\xf2" } , { "\xba\xe8\xc2\xe5" , "\xc7\xdc\x5b\xf2" } , { "\xba\xe8\xc2\xe8\xcf" , "\xc7\xc1\xf2\x51\xfb" } , { "\xba\xe8\xc4" , "\xc7\xf4\xc1" } , { "\xba\xe8\xc4\xda" , "\xc7\xf4\xd8" } , { "\xba\xe8\xc4\xdb" , "\xd1\xf4\xc1" } , { "\xba\xe8\xc4\xde" , "\xc7\xf4\xc1\xda" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\xc7\xf4\xc1\xda\xfb" } , { "\xba\xe8\xc6" , "\xc7\xc1\xf5" } , { "\xba\xe8\xc6\xda" , "\xc7\xd8\xf5" } , { "\xba\xe8\xc6\xdb" , "\xd1\xc1\xf5" } , { "\xba\xe8\xc6\xdc" , "\xd2\xc1\xf5" } , { "\xba\xe8\xc6\xdd" , "\xc7\xc1\xd9\xf5" } , { "\xba\xe8\xc6\xdd\xa2" , "\xc7\xc1\xd9\xf5\x4c\x69" } , { "\xba\xe8\xc6\xde" , "\xc7\xc1\xda\xf5" } , { "\xba\xe8\xc6\xe1" , "\xdb\xc7\xc1\x5b\xf5" } , { "\xba\xe8\xc6\xe6" , "\xc7\xdd\xf5" } , { "\xba\xe8\xc8" , "\xc7\xc1\xf6" } , { "\xba\xe8\xc8\xda" , "\xc7\xd8\xf6" } , { "\xba\xe8\xc8\xdd" , "\xc7\xc1\xd9\xf6" } , { "\xba\xe8\xc8\xde" , "\xc7\xc1\xda\xf6" } , { "\xba\xe8\xc8\xe2" , "\x5c\xdb\xc7\xc1\x51\xf6" } , { "\xba\xe8\xc8\xe5" , "\xc7\xdc\x5b\xf6" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\xdb\xc7\xc1\xf6\x51\xfb" } , { "\xba\xe8\xc9\xe2" , "\x5c\xdb\xc7\xc1\x51\xf6\xe9" } , { "\xba\xe8\xc9\xe8\xc9" , "\xc7\xc1\xf6\xe9\x51\xf6\xe9" } , { "\xba\xe8\xca" , "\xc7\xc1\xf7" } , { "\xba\xe8\xca\xda" , "\xc7\xd8\xf7" } , { "\xba\xe8\xca\xe0" , "\xdb\xc7\xc1\xf7" } , { "\xba\xe8\xca\xe0\xa2" , "\xdb\xc7\xc1\xf7\x4c\x69" } , { "\xba\xe8\xca\xe1" , "\xdb\xc7\xc1\x5b\xf7" } , { "\xba\xe8\xca\xe2" , "\x5c\xdb\xc7\xc1\x51\xf7" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\xc7\xde\xf7\x51\xe4" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\xc7\xde\xcb\xde\xe6" } , { "\xba\xe8\xcb\xde" , "\xc7\xc1\xda\xf7\xe9" } , { "\xba\xe8\xcb\xe1" , "\xdb\xc7\xc1\x5b\xf7\xe9" } , { "\xba\xe8\xcc" , "\xc7\xc1\xf8" } , { "\xba\xe8\xcc\xa2" , "\xc7\xc1\xf8\x4c\x69" } , { "\xba\xe8\xcc\xda" , "\xc7\xd8\xf8" } , { "\xba\xe8\xcc\xdb" , "\xd1\xc1\xf8" } , { "\xba\xe8\xcc\xdc" , "\xd2\xc1\xf8" } , { "\xba\xe8\xcc\xdd" , "\xc7\xc1\xd9\xf8" } , { "\xba\xe8\xcc\xde" , "\xc7\xc1\xda\xf8" } , { "\xba\xe8\xcc\xe0" , "\xdb\xc7\xc1\xf8" } , { "\xba\xe8\xcc\xe0\xa2" , "\xdb\xc7\xc1\xf8\x4c\x69" } , { "\xba\xe8\xcc\xe1" , "\xdb\xc7\xc1\x5b\xf8" } , { "\xba\xe8\xcc\xe1\xa2" , "\xdb\xc7\xc1\x5b\xf8\x4c\x69" } , { "\xba\xe8\xcc\xe5" , "\xc7\xdc\x5b\xf8" } , { "\xba\xe8\xcd" , "\xc7\xc1\xf9" } , { "\xba\xe8\xcd\xa2" , "\xc7\xc1\xf9\x4c\x69" } , { "\xba\xe8\xcd\xda" , "\xc7\xd8\xf9" } , { "\xba\xe8\xcd\xda\xa1" , "\xc7\xd8\xf9\xb7" } , { "\xba\xe8\xcd\xda\xa2" , "\xc7\xd8\xf9\x4c\x69" } , { "\xba\xe8\xcd\xdb" , "\xd1\xc1\xf9" } , { "\xba\xe8\xcd\xdc" , "\xd2\xc1\xf9" } , { "\xba\xe8\xcd\xdd" , "\xc7\xc1\xd9\xf9" } , { "\xba\xe8\xcd\xdd\xa2" , "\xc7\xc1\xd9\xf9\x4c\x69" } , { "\xba\xe8\xcd\xde" , "\xc7\xc1\xda\xf9" } , { "\xba\xe8\xcd\xde\xa1" , "\xc7\xc1\xda\xf9\xb7" } , { "\xba\xe8\xcd\xde\xa2" , "\xc7\xc1\xda\xf9\x4c\x69" } , { "\xba\xe8\xcd\xe0" , "\xdb\xc7\xc1\xf9" } , { "\xba\xe8\xcd\xe0\xa2" , "\xdb\xc7\xc1\xf9\x4c\x69" } , { "\xba\xe8\xcd\xe1" , "\xdb\xc7\xc1\x5b\xf9" } , { "\xba\xe8\xcd\xe4" , "\xc7\xdc\xf9" } , { "\xba\xe8\xcd\xe5" , "\xc7\xdc\x5b\xf9" } , { "\xba\xe8\xcd\xe5\xa2" , "\xc7\xdc\x5b\xf9\x4c\x69" } , { "\xba\xe8\xcd\xe6" , "\xc7\xdd\xf9" } , { "\xba\xe8\xcd\xe8\xcf" , "\xc7\xc1\xf9\x51\xfb" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\xc7\xc1\xf9\x51\xfb\x4c\x69" } , { "\xba\xe8\xcf" , "\xfa\xc7\xc1" } , { "\xba\xe8\xcf\xa2" , "\xfa\xc7\xc1\x4c\x69" } , { "\xba\xe8\xcf\xda" , "\xfa\xc7\xd8" } , { "\xba\xe8\xcf\xda\xa2" , "\xfa\xc7\xd8\x4c\x69" } , { "\xba\xe8\xcf\xdb" , "\xfa\xd1\xc1" } , { "\xba\xe8\xcf\xdc" , "\xfa\xd2\xc1" } , { "\xba\xe8\xcf\xe1" , "\xfa\xdb\xc7\xc1\x5b" } , { "\xba\xe8\xcf\xe4" , "\xfa\xc7\xdc" } , { "\xba\xe8\xcf\xe5" , "\xfa\xc7\xdc\x5b" } , { "\xba\xe8\xd1" , "\xc7\xfd\xc1" } , { "\xba\xe8\xd1\xda" , "\xc7\xfd\xd8" } , { "\xba\xe8\xd1\xdb" , "\xd1\xfd\xc1" } , { "\xba\xe8\xd1\xdc" , "\xd2\xfd\xc1" } , { "\xba\xe8\xd1\xdd" , "\xc7\xfd\xc1\xd9" } , { "\xba\xe8\xd1\xe5" , "\xc7\xfd\xdc\x5b" } , { "\xba\xe8\xd4" , "\xc7\xc1\x2a" } , { "\xba\xe8\xd4\xa2" , "\xc7\xc1\x2a\x4c\x69" } , { "\xba\xe8\xd4\xda" , "\xc7\xd8\x2a" } , { "\xba\xe8\xd4\xdb" , "\xd1\xc1\x2a" } , { "\xba\xe8\xd4\xdc" , "\xd2\xc1\x2a" } , { "\xba\xe8\xd4\xdd" , "\xc7\xc1\xd9\x2a" } , { "\xba\xe8\xd4\xdf" , "\xc7\xc1\x2a\x51\x58" } , { "\xba\xe8\xd4\xe0" , "\xdb\xc7\xc1\x2a" } , { "\xba\xe8\xd4\xe1" , "\xdb\xc7\xc1\x5b\x2a" } , { "\xba\xe8\xd4\xe7" , "\xc7\xdc\x2a" } , { "\xba\xe8\xd4\xe8\xba" , "\xc7\xde\xaa\xea\xab\x73" } , { "\xba\xe8\xd5\xda" , "\xc7\xd8\x2b" } , { "\xba\xe8\xd6\xda" , "\xc7\x3c\xd8" } , { "\xba\xe8\xd7" , "\xc7\xc1\x3d" } , { "\xba\xe8\xd7\xdb\xa2" , "\xd1\xc1\x3d\x4c\x69" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\xd1\xc1\x3d\x51\xe4" } , { "\xba\xe8\xd9\xba" , "\xc7\xc1\xc7\xc1" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\xc7\xc1\x4c\x52\x69\xf9" } , { "\xba\xe8\xe8" , "\xc7\xde" } , { "\xba\xe8\xe9\xbc" , "\xc7\xec\xc1" } , { "\xba\xe8\xe9\xcf" , "\xfa\xc7\xc1" } , { "\xba\xe9" , "\xc7\xc1" } , { "\xba\xe9\xa2" , "\xc7\xc1\x4c\x69" } , { "\xba\xe9\xbf\xe9" , "\xc7\xc1\xb2\x52\xb6" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\xc7\xc1\xb2\x5d\x5b\x4c\x69" } , { "\xba\xe9\xc7" , "\xc7\xc1\xa9\xab\x73" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\xc7\xc1\xaa\xab\x73\x56\x56\xf7" } , { "\xba\xe9\xd4\xda" , "\xc7\xc1\xaa\x79" } , { "\xba\xe9\xda" , "\xc7\xd8" } , { "\xba\xe9\xdb" , "\xd1\xc1" } , { "\xba\xe9\xdb\xa2" , "\xd1\xc1\x4c\x69" } , { "\xba\xe9\xdc" , "\xd2\xc1" } , { "\xba\xe9\xdd" , "\xc7\xc1\xd9" } , { "\xba\xe9\xde" , "\xc7\xc1\xda" } , { "\xba\xe9\xe1" , "\xdb\xc7\xc1\x5b" } , { "\xba\xe9\xe1\xa2" , "\xdb\xc7\xc1\x5b\x4c\x69" } , { "\xba\xe9\xe2" , "\x5c\xdb\xc7\xc1" } , { "\xba\xe9\xe5" , "\xc7\xdc\x5b" } , { "\xba\xe9\xe5\xa2" , "\xc7\xdc\x5b\x4c\x69" } , { "\xba\xe9\xe8\xba" , "\xc7\xea\xc1" } , { "\xba\xe9\xe8\xba\xe9" , "\xc7\xea\xc1" } , { "\xba\xe9\xe8\xca\xda" , "\xc7\xd8\xf7" } , { "\xba\xe9\xe8\xcc" , "\xc7\xc1\xf8" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\xc7\xdc\x5b\xf8\x4c\x69" } , { "\xba\xe9\xe8\xcd\xda" , "\xc7\xd8\xf9" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\xc7\xc1\x25\x60\xc1\xb8\x52\xb6\x57" } , { "\xbb" , "\x4c\x52\x69\x26\x56" } , { "\xbb\xa1" , "\x4c\x52\x69\x26\x56\xb7" } , { "\xbb\xa2" , "\x4c\x52\x69\x26\x56\x4c\x69" } , { "\xbb\xa3" , "\x4c\x52\x69\x26\x56\x4d" } , { "\xbb\xda" , "\x4c\x52\x69\x26\x57" } , { "\xbb\xda\xa1" , "\x4c\x52\x69\x26\x57\xb7" } , { "\xbb\xda\xa2" , "\x4c\x52\x69\x26\x57\x4c\x69" } , { "\xbb\xdb" , "\x4c\x6a\x69\x26\x56" } , { "\xbb\xdb\xa2" , "\x4c\x6a\x69\x26\x56\x4c\x69" } , { "\xbb\xdc" , "\x4c\x6b\x69\x26\x56" } , { "\xbb\xdc\xa2" , "\x4c\x6b\x69\x26\x56\x4c\x69" } , { "\xbb\xdd" , "\x4c\x52\x69\x26\x56\x56" } , { "\xbb\xdd\xa1" , "\x4c\x52\x69\x26\x56\x56\xb7" } , { "\xbb\xdd\xa2" , "\x4c\x52\x69\x26\x56\x56\x4c\x69" } , { "\xbb\xde" , "\x4c\x52\x69\x26\x56\x57" } , { "\xbb\xde\xa1" , "\x4c\x52\x69\x26\x56\x57\xb7" } , { "\xbb\xde\xa2" , "\x4c\x52\x69\x26\x56\x57\x4c\x69" } , { "\xbb\xdf" , "\x4c\x52\x69\x26\x56\x58" } , { "\xbb\xe0" , "\x6c\x4c\x69\x26\x56" } , { "\xbb\xe0\xa2" , "\x6c\x4c\x69\x26\x56\x4c\x69" } , { "\xbb\xe1" , "\x6c\x4c\x69\x5b\x26\x56" } , { "\xbb\xe1\xa2" , "\x6c\x4c\x69\x5b\x26\x56\x4c\x69" } , { "\xbb\xe2" , "\x5c\x6c\x4c\x69\x26\x56" } , { "\xbb\xe4" , "\x6c\x4c\x69\x26\x56\x56" } , { "\xbb\xe5" , "\x6c\x4c\x69\x26\x57" } , { "\xbb\xe5\xa2" , "\x6c\x4c\x69\x26\x57\x4c\x69" } , { "\xbb\xe6" , "\x4c\x52\x69\x26\xb0" } , { "\xbb\xe6\xa2" , "\x4c\x52\x69\x26\xb0\x4c\x69" } , { "\xbb\xe7" , "\x6c\x4c\x69\x26\x56\x56" } , { "\xbb\xe8" , "\x4c\x60\x69\x26\x56" } , { "\xbb\xe8\xb6\xdd" , "\x4c\x52\x69\xe7\x26\x56\x56" } , { "\xbb\xe8\xbb" , "\x4c\x52\x69\xeb\x26\x56" } , { "\xbb\xe8\xcd" , "\x4c\x52\x69\x26\x56\xf9" } , { "\xbb\xe8\xcf" , "\xfa\x4c\x52\x69\x26\x56" } , { "\xbb\xe8\xd4" , "\x4c\x52\x69\x26\x56\x2a" } , { "\xbb\xe8\xe8" , "\x4c\x60\x69\x26\x56" } , { "\xbb\xe8\xe9\xcf" , "\xfa\x4c\x52\x69\x26\x56" } , { "\xbb\xe9" , "\x4c\x52\x69\x26\x56" } , { "\xbc" , "\xc4\xc1" } , { "\xbc\xa2" , "\xc4\xc1\x4c\x69" } , { "\xbc\xa3" , "\xc4\xc1\x4d" } , { "\xbc\xda" , "\xc4\xd8" } , { "\xbc\xdb" , "\xc4\xd3\xc1" } , { "\xbc\xdc" , "\xc4\xd4\xc1" } , { "\xbc\xdd" , "\xc4\xc1\x56" } , { "\xbc\xde" , "\xc4\xc1\x57" } , { "\xbc\xdf" , "\xc4\xc1\x58" } , { "\xbc\xe0" , "\xb9\xc4\xc1" } , { "\xbc\xe1" , "\xb9\xc4\xc1\x5b" } , { "\xbc\xe2" , "\x5c\xb9\xc4\xc1" } , { "\xbc\xe3" , "\xb9\xc4\xc1" } , { "\xbc\xe4" , "\xc4\xdc" } , { "\xbc\xe5" , "\xc4\xdc\x5b" } , { "\xbc\xe5\xa2" , "\xc4\xdc\x5b\x4c\x69" } , { "\xbc\xe6" , "\xc4\xdd" } , { "\xbc\xe8" , "\xc4\xde" } , { "\xbc\xe8\xb8" , "\xc4\xc1\xe8" } , { "\xbc\xe8\xb8\xda" , "\xc4\xd8\xe8" } , { "\xbc\xe8\xb8\xdb" , "\xc4\xd3\xc1\xe8" } , { "\xbc\xe8\xb8\xdc" , "\xc4\xd4\xc1\xe8" } , { "\xbc\xe8\xb8\xe0" , "\xb9\xc4\xc1\xe8" } , { "\xbc\xe8\xb8\xe1" , "\xb9\xc4\xc1\x5b\xe8" } , { "\xbc\xe8\xb8\xe4" , "\xc4\xdc\xe8" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\xc4\xd8\xe8\x51\xf9\x4c\x69" } , { "\xbc\xe8\xba" , "\xc4\xea\xc1" } , { "\xbc\xe8\xba\xda" , "\xc4\xea\xd8" } , { "\xbc\xe8\xba\xdb" , "\xc4\xea\xd3\xc1" } , { "\xbc\xe8\xba\xdc" , "\xc4\xea\xd4\xc1" } , { "\xbc\xe8\xba\xdd" , "\xc4\xea\xc1\x56" } , { "\xbc\xe8\xba\xe5\xa2" , "\xc4\xea\xdc\x5b\x4c\x69" } , { "\xbc\xe8\xbc" , "\xc4\xec\xc1" } , { "\xbc\xe8\xbc\xda" , "\xc4\xec\xd8" } , { "\xbc\xe8\xc1" , "\xc4\xf1\xc1" } , { "\xbc\xe8\xcd\xa2" , "\xc4\xc1\xf9\x4c\x69" } , { "\xbc\xe8\xcd\xe5" , "\xc4\xdc\x5b\xf9" } , { "\xbc\xe8\xd4" , "\xc4\xc1\x2a" } , { "\xbc\xe9" , "\xc4\xc1" } , { "\xbd" , "\xc8\xc1" } , { "\xbd\xa1" , "\xc8\xc1\xb7" } , { "\xbd\xa2" , "\xc8\xc1\x4c\x69" } , { "\xbd\xa2\xa2" , "\xc8\xc1\x4c\x69\x69\x4c\x69" } , { "\xbd\xa3" , "\xc8\xc1\x4d" } , { "\xbd\xd9" , "\xc8\xc1\x25\xc1" } , { "\xbd\xda" , "\xc9\xd8" } , { "\xbd\xda\xa1" , "\xc9\xd8\xb7" } , { "\xbd\xda\xa2" , "\xc9\xd8\x4c\x69" } , { "\xbd\xda\xa3" , "\xc9\xd8\x4d" } , { "\xbd\xdb" , "\xc9\xd3\xc1" } , { "\xbd\xdb\xa2" , "\xc9\xd3\xc1\x4c\x69" } , { "\xbd\xdc" , "\xc9\xd4\xc1" } , { "\xbd\xdc\xa2" , "\xc9\xd4\xc1\x4c\x69" } , { "\xbd\xdd" , "\xc8\xc1\x56" } , { "\xbd\xdd\xa2" , "\xc8\xc1\x56\x4c\x69" } , { "\xbd\xde" , "\xc8\xc1\x57" } , { "\xbd\xde\xa1" , "\xc8\xc1\x57\xb7" } , { "\xbd\xde\xa2" , "\xc8\xc1\x57\x4c\x69" } , { "\xbd\xdf" , "\xc8\xc1\x58" } , { "\xbd\xe0" , "\xdb\xc9\xc1" } , { "\xbd\xe0\xa2" , "\xdb\xc9\xc1\x4c\x69" } , { "\xbd\xe1" , "\xdb\xc9\xc1\x5b" } , { "\xbd\xe1\xa2" , "\xdb\xc9\xc1\x5b\x4c\x69" } , { "\xbd\xe2" , "\x5c\xdb\xc9\xc1" } , { "\xbd\xe2\xa2" , "\x5c\xdb\xc9\xc1\x4c\x69" } , { "\xbd\xe3" , "\xdb\xc9\xc1" } , { "\xbd\xe4" , "\xc9\xdc" } , { "\xbd\xe4\xa2" , "\xc9\xdc\x4c\x69" } , { "\xbd\xe5" , "\xc9\xdc\x5b" } , { "\xbd\xe5\xa2" , "\xc9\xdc\x5b\x4c\x69" } , { "\xbd\xe6" , "\xc9\xdd" } , { "\xbd\xe6\xa2" , "\xc9\xdd\x4c\x69" } , { "\xbd\xe7" , "\xc9\xdc" } , { "\xbd\xe8" , "\xc9\xde" } , { "\xbd\xe8\xa6" , "\xc9\xde\x42" } , { "\xbd\xe8\xb3" , "\xc8\xc1\xe4" } , { "\xbd\xe8\xb3\xa2" , "\xc8\xc1\xe4\x4c\x69" } , { "\xbd\xe8\xb3\xda" , "\xc9\xd8\xe4" } , { "\xbd\xe8\xb3\xda\xa2" , "\xc9\xd8\xe4\x4c\x69" } , { "\xbd\xe8\xb3\xdb" , "\xc9\xd3\xc1\xe4" } , { "\xbd\xe8\xb3\xdb\xa2" , "\xc9\xd3\xc1\xe4\x4c\x69" } , { "\xbd\xe8\xb3\xdc" , "\xc9\xd4\xc1\xe4" } , { "\xbd\xe8\xb3\xdd" , "\xc8\xc1\x56\xe4" } , { "\xbd\xe8\xb3\xde" , "\xc8\xc1\x57\xe4" } , { "\xbd\xe8\xb3\xe0" , "\xdb\xc9\xc1\xe4" } , { "\xbd\xe8\xb3\xe1" , "\xdb\xc9\xc1\x5b\xe4" } , { "\xbd\xe8\xb3\xe2" , "\x5c\xdb\xc9\xc1\x51\xe4" } , { "\xbd\xe8\xb3\xe5" , "\xc9\xdc\x5b\xe4" } , { "\xbd\xe8\xb3\xe8\xd1" , "\xc8\xde\x4e\xfd\x52\x50" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\xc8\xde\x4e\xfd\x55\x50" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\xc9\xde\xe4\x51\x3d" } , { "\xbd\xe8\xb5" , "\xc8\xe6\xc1" } , { "\xbd\xe8\xb5\xda" , "\xc9\xe6\xd8" } , { "\xbd\xe8\xb5\xe0" , "\xdb\xc9\xe6\xc1" } , { "\xbd\xe8\xb5\xe1" , "\xdb\xc9\xe6\xc1\x5b" } , { "\xbd\xe8\xb5\xe2" , "\xdb\xc9\xe6\x5e\xc1" } , { "\xbd\xe8\xb5\xe5" , "\xc9\xe6\xdc\x5b" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\xc8\xe6\xc1\xfb\x4c\x69" } , { "\xbd\xe8\xb7\xe8" , "\xc8\xde\xc3\xde" } , { "\xbd\xe8\xb8" , "\xc8\xc1\xe8" } , { "\xbd\xe8\xb8\xa2" , "\xc8\xc1\xe8\x4c\x69" } , { "\xbd\xe8\xb8\xda" , "\xc9\xd8\xe8" } , { "\xbd\xe8\xb8\xdb" , "\xc9\xd3\xc1\xe8" } , { "\xbd\xe8\xb8\xdb\xa2" , "\xc9\xd3\xc1\xe8\x4c\x69" } , { "\xbd\xe8\xb8\xdd" , "\xc8\xc1\x56\xe8" } , { "\xbd\xe8\xb8\xe0" , "\xdb\xc9\xc1\xe8" } , { "\xbd\xe8\xb8\xe1" , "\xdb\xc9\xc1\x5b\xe8" } , { "\xbd\xe8\xb8\xe8" , "\xc9\xde\xe8" } , { "\xbd\xe8\xb9\xa2" , "\xc8\xc1\xe8\xe9\x4c\x69" } , { "\xbd\xe8\xba" , "\xc8\xea\xc1" } , { "\xbd\xe8\xba\xa2" , "\xc8\xea\xc1\x4c\x69" } , { "\xbd\xe8\xba\xdc" , "\xc9\xea\xd4\xc1" } , { "\xbd\xe8\xba\xe0" , "\xdb\xc9\xea\xc1" } , { "\xbd\xe8\xba\xe1" , "\xdb\xc9\xea\xc1\x5b" } , { "\xbd\xe8\xba\xe8" , "\xc9\xde\xea" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\xc8\xde\xdb\xc7\xe6\xc1" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\xc8\xea\xc1\x56\xf5\x4c\x69" } , { "\xbd\xe8\xbd" , "\xc8\xed\xc1" } , { "\xbd\xe8\xbd\xa2" , "\xc8\xed\xc1\x4c\x69" } , { "\xbd\xe8\xbd\xa3" , "\xc8\xed\xc1\x4d" } , { "\xbd\xe8\xbd\xda" , "\xc9\xed\xd8" } , { "\xbd\xe8\xbd\xda\xa2" , "\xc9\xed\xd8\x4c\x69" } , { "\xbd\xe8\xbd\xda\xa3" , "\xc9\xed\xd8\x4d" } , { "\xbd\xe8\xbd\xdb" , "\xc9\xed\xd3\xc1" } , { "\xbd\xe8\xbd\xdb\xa2" , "\xc9\xed\xd3\xc1\x4c\x69" } , { "\xbd\xe8\xbd\xdc" , "\xc9\xed\xd4\xc1" } , { "\xbd\xe8\xbd\xdc\xa2" , "\xc9\xed\xd4\xc1\x4c\x69" } , { "\xbd\xe8\xbd\xdd" , "\xc8\xed\xc1\x56" } , { "\xbd\xe8\xbd\xdd\xa2" , "\xc8\xed\xc1\x56\x4c\x69" } , { "\xbd\xe8\xbd\xde" , "\xc8\xed\xc1\x57" } , { "\xbd\xe8\xbd\xe0" , "\xdb\xc9\xed\xc1" } , { "\xbd\xe8\xbd\xe0\xa2" , "\xdb\xc9\xed\xc1\x4c\x69" } , { "\xbd\xe8\xbd\xe1" , "\xdb\xc9\xed\xc1\x5b" } , { "\xbd\xe8\xbd\xe1\xa2" , "\xdb\xc9\xed\xc1\x5b\x4c\x69" } , { "\xbd\xe8\xbd\xe2" , "\xdb\xc9\xed\x5e\xc1" } , { "\xbd\xe8\xbd\xe2\xa2" , "\xdb\xc9\xed\x5e\xc1\x4c\x69" } , { "\xbd\xe8\xbd\xe4" , "\xc9\xed\xdc" } , { "\xbd\xe8\xbd\xe5" , "\xc9\xed\xdc\x5b" } , { "\xbd\xe8\xbd\xe5\xa2" , "\xc9\xed\xdc\x5b\x4c\x69" } , { "\xbd\xe8\xbd\xe6" , "\xc9\xed\xdd" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\xc8\xed\xc1\x56\xe4" } , { "\xbd\xe8\xbd\xe8\xc1" , "\xc8\xde\xc8\xf1\xc1" } , { "\xbd\xe8\xbd\xe8\xc6" , "\xc8\xed\xc1\xf5" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\xdb\xc9\xed\xc1\xf6" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\xc9\xed\xd8\xfb" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\xc9\xde\xed\xfb" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\xc8\xed\xc1\xfb\x51\xf5" } , { "\xbd\xe8\xbd\xe8\xd4" , "\xc8\xed\xc1\x2a" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\xc8\xed\xc1\x56\x3d" } , { "\xbd\xe8\xbe" , "\xc8\xee\xc1" } , { "\xbd\xe8\xbe\xda" , "\xc9\xee\xd8" } , { "\xbd\xe8\xbe\xdb" , "\xc9\xee\xd3\xc1" } , { "\xbd\xe8\xbe\xdc" , "\xc9\xee\xd4\xc1" } , { "\xbd\xe8\xbe\xdd" , "\xc8\xee\xc1\x56" } , { "\xbd\xe8\xbe\xde" , "\xc8\xee\xc1\x57" } , { "\xbd\xe8\xbe\xe1" , "\xdb\xc9\xee\xc1\x5b" } , { "\xbd\xe8\xbe\xe5" , "\xc9\xee\xdc\x5b" } , { "\xbd\xe8\xbe\xe5\xa2" , "\xc9\xee\xdc\x5b\x4c\x69" } , { "\xbd\xe8\xbf" , "\xc8\xef\xc1" } , { "\xbd\xe8\xbf\xdb" , "\xc9\xef\xd3\xc1" } , { "\xbd\xe8\xbf\xdd" , "\xc8\xef\xc1\x56" } , { "\xbd\xe8\xbf\xe1" , "\xdb\xc9\xef\xc1\x5b" } , { "\xbd\xe8\xbf\xe5" , "\xc9\xef\xdc\x5b" } , { "\xbd\xe8\xbf\xe6" , "\xc9\xef\xdd" } , { "\xbd\xe8\xbf\xe8" , "\xc9\xde\xef" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\xc9\xef\xd8\xfb" } , { "\xbd\xe8\xc0\xdc" , "\xc9\xef\xf0\xd4\xc1" } , { "\xbd\xe8\xc1\xa2" , "\xc8\xf1\xc1\x4c\x69" } , { "\xbd\xe8\xc2" , "\xc8\xc1\xf2" } , { "\xbd\xe8\xc2\xda" , "\xc9\xd8\xf2" } , { "\xbd\xe8\xc2\xdb\xa2" , "\xc9\xd3\xc1\xf2\x4c\x69" } , { "\xbd\xe8\xc2\xdc" , "\xc9\xd4\xc1\xf2" } , { "\xbd\xe8\xc2\xdd" , "\xc8\xc1\x56\xf2" } , { "\xbd\xe8\xc2\xdd\xa2" , "\xc8\xc1\x56\xf2\x4c\x69" } , { "\xbd\xe8\xc2\xde" , "\xc8\xc1\x57\xf2" } , { "\xbd\xe8\xc2\xe0" , "\xdb\xc9\xc1\xf2" } , { "\xbd\xe8\xc2\xe1" , "\xdb\xc9\xc1\x5b\xf2" } , { "\xbd\xe8\xc2\xe4" , "\xc9\xdc\xf2" } , { "\xbd\xe8\xc2\xe5" , "\xc9\xdc\x5b\xf2" } , { "\xbd\xe8\xc2\xe5\xa2" , "\xc9\xdc\x5b\xf2\x4c\x69" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\xc9\xd3\xc1\xf2\x51\xfb\x4c\x69" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\xdb\xc9\xc1\xf2\x51\xfb" } , { "\xbd\xe8\xc4" , "\xc8\xf4\xc1" } , { "\xbd\xe8\xc4\xda" , "\xc9\xf4\xd8" } , { "\xbd\xe8\xc4\xe0" , "\xdb\xc9\xf4\xc1" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\xc9\xf4\xd8\x2a" } , { "\xbd\xe8\xc5" , "\xc8\xf4\xf0\xc1" } , { "\xbd\xe8\xc6" , "\xc8\xc1\xf5" } , { "\xbd\xe8\xc6\xa2" , "\xc8\xc1\xf5\x4c\x69" } , { "\xbd\xe8\xc6\xda" , "\xc9\xd8\xf5" } , { "\xbd\xe8\xc6\xdb" , "\xc9\xd3\xc1\xf5" } , { "\xbd\xe8\xc6\xdb\xa2" , "\xc9\xd3\xc1\xf5\x4c\x69" } , { "\xbd\xe8\xc6\xdc" , "\xc9\xd4\xc1\xf5" } , { "\xbd\xe8\xc6\xdc\xa2" , "\xc9\xd4\xc1\xf5\x4c\x69" } , { "\xbd\xe8\xc6\xdd" , "\xc8\xc1\x56\xf5" } , { "\xbd\xe8\xc6\xdd\xa2" , "\xc8\xc1\x56\xf5\x4c\x69" } , { "\xbd\xe8\xc6\xde" , "\xc8\xc1\x57\xf5" } , { "\xbd\xe8\xc6\xe0" , "\xdb\xc9\xc1\xf5" } , { "\xbd\xe8\xc6\xe1" , "\xdb\xc9\xc1\x5b\xf5" } , { "\xbd\xe8\xc6\xe1\xa2" , "\xdb\xc9\xc1\x5b\xf5\x4c\x69" } , { "\xbd\xe8\xc6\xe5" , "\xc9\xdc\x5b\xf5" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\xc8\xc1\x57\xf5\x51\x51\xf9" } , { "\xbd\xe8\xc8" , "\xc8\xc1\xf6" } , { "\xbd\xe8\xc8\xda" , "\xc9\xd8\xf6" } , { "\xbd\xe8\xc8\xdb" , "\xc9\xd3\xc1\xf6" } , { "\xbd\xe8\xc8\xdd" , "\xc8\xc1\x56\xf6" } , { "\xbd\xe8\xc8\xde" , "\xc8\xc1\x57\xf6" } , { "\xbd\xe8\xc8\xe1" , "\xdb\xc9\xc1\x5b\xf6" } , { "\xbd\xe8\xc8\xe2" , "\x5c\xdb\xc9\xc1\x51\xf6" } , { "\xbd\xe8\xc8\xe8\xcf" , "\xc8\xc1\xf6\x51\xfb" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\xc9\xd8\xf6\x51\xfb" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\xc8\xde\x7d\x6d\xfd\x73" } , { "\xbd\xe8\xc9" , "\xc8\xc1\xf6\xe9" } , { "\xbd\xe8\xc9\xa2" , "\xc8\xc1\xf6\xe9\x4c\x69" } , { "\xbd\xe8\xc9\xda" , "\xc9\xd8\xf6\xe9" } , { "\xbd\xe8\xc9\xda\xa2" , "\xc9\xd8\xf6\xe9\x4c\x69" } , { "\xbd\xe8\xc9\xdb" , "\xc9\xd3\xc1\xf6\xe9" } , { "\xbd\xe8\xc9\xdc" , "\xc9\xd4\xc1\xf6\xe9" } , { "\xbd\xe8\xc9\xdd" , "\xc8\xc1\x56\xf6\xe9" } , { "\xbd\xe8\xc9\xe2" , "\x5c\xdb\xc9\xc1\x51\xf6\xe9" } , { "\xbd\xe8\xc9\xe5" , "\xc9\xdc\x5b\xf6\xe9" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\xc9\xd8\xf6\xe9\x51\xf9" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x5c\xdb\xc9\xc1\x51\xf6\xe9\x51\xfb" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\xc8\xde\x7c\x6d\x6e\xfd\x5e\x73" } , { "\xbd\xe8\xca" , "\xc8\xc1\xf7" } , { "\xbd\xe8\xca\xda" , "\xc9\xd8\xf7" } , { "\xbd\xe8\xca\xda\xa2" , "\xc9\xd8\xf7\x4c\x69" } , { "\xbd\xe8\xca\xdd" , "\xc8\xc1\x56\xf7" } , { "\xbd\xe8\xca\xe0" , "\xdb\xc9\xc1\xf7" } , { "\xbd\xe8\xca\xe5" , "\xc9\xdc\x5b\xf7" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\xc9\xd8\xf7\x51\xf9" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\xc9\xd8\xf7\x51\xf9\x4c\x69" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\xc8\xde\xcb\xfd\xd8" } , { "\xbd\xe8\xcb\xdd" , "\xc8\xc1\x56\xf7\xe9" } , { "\xbd\xe8\xcb\xde" , "\xc8\xc1\x57\xf7\xe9" } , { "\xbd\xe8\xcb\xe8\xcf" , "\xc8\xc1\xf7\xe9\x51\xfb" } , { "\xbd\xe8\xcc" , "\xc8\xc1\xf8" } , { "\xbd\xe8\xcc\xa2" , "\xc8\xc1\xf8\x4c\x69" } , { "\xbd\xe8\xcc\xda" , "\xc9\xd8\xf8" } , { "\xbd\xe8\xcc\xdc" , "\xc9\xd4\xc1\xf8" } , { "\xbd\xe8\xcc\xe0" , "\xdb\xc9\xc1\xf8" } , { "\xbd\xe8\xcc\xe0\xa2" , "\xdb\xc9\xc1\xf8\x4c\x69" } , { "\xbd\xe8\xcc\xe2" , "\x5c\xdb\xc9\xc1\x51\xf8" } , { "\xbd\xe8\xcc\xe4" , "\xc9\xdc\xf8" } , { "\xbd\xe8\xcc\xe5" , "\xc9\xdc\x5b\xf8" } , { "\xbd\xe8\xcc\xe8\xca" , "\xc8\xc1\xf8\x51\xf7" } , { "\xbd\xe8\xcd" , "\xc8\xc1\xf9" } , { "\xbd\xe8\xcd\xa2" , "\xc8\xc1\xf9\x4c\x69" } , { "\xbd\xe8\xcd\xda" , "\xc9\xd8\xf9" } , { "\xbd\xe8\xcd\xda\xa2" , "\xc9\xd8\xf9\x4c\x69" } , { "\xbd\xe8\xcd\xdc\xa2" , "\xc9\xd4\xc1\xf9\x4c\x69" } , { "\xbd\xe8\xcd\xdd" , "\xc8\xc1\x56\xf9" } , { "\xbd\xe8\xcd\xde" , "\xc8\xc1\x57\xf9" } , { "\xbd\xe8\xcd\xde\xa2" , "\xc8\xc1\x57\xf9\x4c\x69" } , { "\xbd\xe8\xcd\xe1" , "\xdb\xc9\xc1\x5b\xf9" } , { "\xbd\xe8\xcd\xe4" , "\xc9\xdc\xf9" } , { "\xbd\xe8\xcd\xe5" , "\xc9\xdc\x5b\xf9" } , { "\xbd\xe8\xcd\xe5\xa2" , "\xc9\xdc\x5b\xf9\x4c\x69" } , { "\xbd\xe8\xcf" , "\xfa\xc8\xc1" } , { "\xbd\xe8\xcf\xa2" , "\xfa\xc8\xc1\x4c\x69" } , { "\xbd\xe8\xcf\xda" , "\xfa\xc9\xd8" } , { "\xbd\xe8\xcf\xda\xa1" , "\xfa\xc9\xd8\xb7" } , { "\xbd\xe8\xcf\xda\xa2" , "\xfa\xc9\xd8\x4c\x69" } , { "\xbd\xe8\xcf\xdb" , "\xfa\xc9\xd3\xc1" } , { "\xbd\xe8\xcf\xdb\xa2" , "\xfa\xc9\xd3\xc1\x4c\x69" } , { "\xbd\xe8\xcf\xdc" , "\xfa\xc9\xd4\xc1" } , { "\xbd\xe8\xcf\xdd" , "\xfa\xc8\xc1\x56" } , { "\xbd\xe8\xcf\xde" , "\xfa\xc8\xc1\x57" } , { "\xbd\xe8\xcf\xe0" , "\xfa\xdb\xc9\xc1" } , { "\xbd\xe8\xcf\xe0\xa2" , "\xfa\xdb\xc9\xc1\x4c\x69" } , { "\xbd\xe8\xcf\xe1" , "\xfa\xdb\xc9\xc1\x5b" } , { "\xbd\xe8\xcf\xe1\xa2" , "\xfa\xdb\xc9\xc1\x5b\x4c\x69" } , { "\xbd\xe8\xcf\xe2" , "\x5c\xdb\xc9\xc1\x51\xfb" } , { "\xbd\xe8\xcf\xe2\xa2" , "\x5c\xdb\xc9\xc1\x51\xfb\x4c\x69" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\x5c\xdb\xc9\xc1\x51\xfb\xa9\xb1\x73" } , { "\xbd\xe8\xcf\xe4" , "\xfa\xc9\xdc" } , { "\xbd\xe8\xcf\xe5" , "\xfa\xc9\xdc\x5b" } , { "\xbd\xe8\xcf\xe6" , "\xfa\xc9\xdd" } , { "\xbd\xe8\xcf\xe7" , "\xfa\xc9\xdc" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\xc9\xd3\xc1\xfb\x51\xe4" } , { "\xbd\xe8\xcf\xe8\xc6" , "\xc8\xc1\xfb\x51\xf5" } , { "\xbd\xe8\xcf\xe8\xd7" , "\xc8\xc1\xfb\x51\x3d" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\xc9\xde\xfb\x51\x3d" } , { "\xbd\xe8\xd1" , "\xc8\xfd\xc1" } , { "\xbd\xe8\xd1\xa2" , "\xc8\xfd\xc1\x4c\x69" } , { "\xbd\xe8\xd1\xda" , "\xc9\xfd\xd8" } , { "\xbd\xe8\xd1\xda\xa2" , "\xc9\xfd\xd8\x4c\x69" } , { "\xbd\xe8\xd1\xdb" , "\xc9\xfd\xd3\xc1" } , { "\xbd\xe8\xd1\xdb\xa2" , "\xc9\xfd\xd3\xc1\x4c\x69" } , { "\xbd\xe8\xd1\xdc" , "\xc9\xfd\xd4\xc1" } , { "\xbd\xe8\xd1\xdd" , "\xc8\xfd\xc1\x56" } , { "\xbd\xe8\xd1\xdd\xa2" , "\xc8\xfd\xc1\x56\x4c\x69" } , { "\xbd\xe8\xd1\xde" , "\xc8\xfd\xc1\x57" } , { "\xbd\xe8\xd1\xe0" , "\xdb\xc9\xfd\xc1" } , { "\xbd\xe8\xd1\xe0\xa2" , "\xdb\xc9\xfd\xc1\x4c\x69" } , { "\xbd\xe8\xd1\xe1" , "\xdb\xc9\xfd\xc1\x5b" } , { "\xbd\xe8\xd1\xe2" , "\xdb\xc9\xfd\x5e\xc1" } , { "\xbd\xe8\xd1\xe2\xa2" , "\xdb\xc9\xfd\x5e\xc1\x4c\x69" } , { "\xbd\xe8\xd1\xe4" , "\xc9\xfd\xdc" } , { "\xbd\xe8\xd1\xe5" , "\xc9\xfd\xdc\x5b" } , { "\xbd\xe8\xd1\xe5\xa2" , "\xc9\xfd\xdc\x5b\x4c\x69" } , { "\xbd\xe8\xd1\xe8" , "\xc9\xde\xfd" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\xc8\xfd\xc1\x56\xf5" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\xc9\xfd\xd8\xf9\x4c\x69" } , { "\xbd\xe8\xd2\xdd" , "\xc8\xc1\x56\xfe" } , { "\xbd\xe8\xd4" , "\xc8\xc1\x2a" } , { "\xbd\xe8\xd4\xa2" , "\xc8\xc1\x2a\x4c\x69" } , { "\xbd\xe8\xd4\xda" , "\xc9\xd8\x2a" } , { "\xbd\xe8\xd4\xda\xa2" , "\xc9\xd8\x2a\x4c\x69" } , { "\xbd\xe8\xd4\xdb" , "\xc9\xd3\xc1\x2a" } , { "\xbd\xe8\xd4\xdb\xa2" , "\xc9\xd3\xc1\x2a\x4c\x69" } , { "\xbd\xe8\xd4\xdc" , "\xc9\xd4\xc1\x2a" } , { "\xbd\xe8\xd4\xe0" , "\xdb\xc9\xc1\x2a" } , { "\xbd\xe8\xd4\xe1" , "\xdb\xc9\xc1\x5b\x2a" } , { "\xbd\xe8\xd4\xe2" , "\x5c\xdb\xc9\xc1\x51\x2a" } , { "\xbd\xe8\xd5" , "\xc8\xc1\x2b" } , { "\xbd\xe8\xd5\xda" , "\xc9\xd8\x2b" } , { "\xbd\xe8\xd5\xdb" , "\xc9\xd3\xc1\x2b" } , { "\xbd\xe8\xd6\xdb" , "\xc9\x3c\xd3\xc1" } , { "\xbd\xe8\xd6\xdc" , "\xc9\x3c\xd4\xc1" } , { "\xbd\xe8\xd6\xdd" , "\xc8\x3c\xc1\x56" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\xc8\xde\x7a\x74\xfd\x73\x51" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\xc8\xde\x7b\x74\xfd\x73\x51" } , { "\xbd\xe8\xd7" , "\xc8\xc1\x3d" } , { "\xbd\xe8\xd7\xda" , "\xc9\xd8\x3d" } , { "\xbd\xe8\xd7\xdb" , "\xc9\xd3\xc1\x3d" } , { "\xbd\xe8\xd7\xdb\xa2" , "\xc9\xd3\xc1\x3d\x4c\x69" } , { "\xbd\xe8\xd7\xdd" , "\xc8\xc1\x56\x3d" } , { "\xbd\xe8\xd7\xde" , "\xc8\xc1\x57\x3d" } , { "\xbd\xe8\xd7\xe0" , "\xdb\xc9\xc1\x3d" } , { "\xbd\xe8\xd7\xe1" , "\xdb\xc9\xc1\x5b\x3d" } , { "\xbd\xe8\xd7\xe2" , "\x5c\xdb\xc9\xc1\x51\x3d" } , { "\xbd\xe8\xd7\xe5" , "\xc9\xdc\x5b\x3d" } , { "\xbd\xe8\xd7\xe8" , "\xc9\xde\x3d" } , { "\xbd\xe8\xd7\xe8\xb3" , "\xc8\xc1\x3d\x51\xe4" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\xc9\xd3\xc1\x3d\x51\xe4" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\xc9\xd4\xc1\x3d\x51\xe4" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\xc8\xc1\x56\x3d\x51\xe4" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\xc8\xde\x72\xe6\x79" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\xc9\xd3\xc1\x3d\x51\xe8" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\xdb\xc9\xc1\x3d\x51\xe8" } , { "\xbd\xe8\xd7\xe8\xbd" , "\xc8\xde\x78\x71\xed\x73" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\xc8\xde\x72\xed\x79" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\xc8\xde\x7c\x71\xed\x73" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\xc8\xde\x7c\x71\xed\x73\x4c\x69" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\xc8\xde\x72\xa1\xf2" } , { "\xbd\xe8\xd7\xe8\xc3" , "\xc8\xde\x78\x71\xf3\x73" } , { "\xbd\xe8\xd7\xe8\xc4" , "\xc8\xde\x78\x71\xf4\x73" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xc8\xde\x72\xf4\x79\x2a" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\xc9\xd3\xc1\x3d\x51\xf5" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\xc8\xc1\x56\x3d\x51\xf5" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\xc8\xc1\x56\x3d\x51\xf5\x4c\x69" } , { "\xbd\xe8\xd7\xe8\xca" , "\xc8\xc1\x3d\x51\xf7" } , { "\xbd\xe8\xd7\xe8\xcc" , "\xc8\xc1\x3d\x51\xf8" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\xc9\xd3\xc1\x3d\x51\xf8" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\xdb\xc9\xc1\x5b\x3d\x51\xf8" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\xc8\xc1\x3d\x51\xf9\x4c\x69" } , { "\xbd\xe8\xd7\xe8\xd1" , "\xc8\xde\x78\x71\xfd\x73" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\xc8\xde\x72\xfd\xa1" } , { "\xbd\xe8\xd7\xe8\xd4" , "\xc8\xc1\x3d\x51\x2a" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\xc9\xd3\xc1\x3d\x51\x2a\x4c\x69" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\xc9\xdc\x5b\x3d\x51\x2a" } , { "\xbd\xe8\xd8\xda" , "\xc9\x3e\xd8" } , { "\xbd\xe8\xd8\xdc" , "\xc9\x3e\xd4\xc1" } , { "\xbd\xe8\xd8\xde" , "\xc8\x3e\xc1\x57" } , { "\xbd\xe8\xd8\xe0" , "\xdb\xc9\x3e\xc1" } , { "\xbd\xe8\xd8\xe5" , "\xc9\x3e\xdc\x5b" } , { "\xbd\xe8\xd8\xe6" , "\xc9\x3e\xdd" } , { "\xbd\xe8\xd9\xa6" , "\xc8\xc1\x42" } , { "\xbd\xe8\xd9\xbd" , "\xc8\xc1\xc8\xc1" } , { "\xbd\xe8\xd9\xbd\xda" , "\xc8\xc1\xc9\xd8" } , { "\xbd\xe8\xd9\xbd\xdc" , "\xc8\xc1\xc9\xd4\xc1" } , { "\xbd\xe8\xd9\xbd\xe5" , "\xc8\xc1\xc9\xdc\x5b" } , { "\xbd\xe8\xd9\xbe\xdc" , "\xc8\xc1\x68\x6b\x69" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\xc8\xc1\xb8\x52\xb6\x56\x57\x4c\x69" } , { "\xbd\xe8\xd9\xd7" , "\xc8\xc1\x78\x71\x73" } , { "\xbd\xe8\xe8" , "\xc9\xde" } , { "\xbe" , "\x68\x52\x69" } , { "\xbe\xa2" , "\x68\x52\x69\x4c\x69" } , { "\xbe\xa3" , "\x68\x52\x69\x4d" } , { "\xbe\xda" , "\x68\x53" } , { "\xbe\xda\xa1" , "\x68\x53\xb7" } , { "\xbe\xda\xa2" , "\x68\x53\x4c\x69" } , { "\xbe\xdb" , "\x68\x6a\x69" } , { "\xbe\xdb\xa2" , "\x68\x6a\x69\x4c\x69" } , { "\xbe\xdc" , "\x68\x6b\x69" } , { "\xbe\xdc\xa2" , "\x68\x6b\x69\x4c\x69" } , { "\xbe\xdd" , "\x68\x52\x69\x56" } , { "\xbe\xdd\xa2" , "\x68\x52\x69\x56\x4c\x69" } , { "\xbe\xde" , "\x68\x52\x69\x57" } , { "\xbe\xde\xa1" , "\x68\x52\x69\x57\xb7" } , { "\xbe\xde\xa2" , "\x68\x52\x69\x57\x4c\x69" } , { "\xbe\xdf" , "\x68\x52\x69\x58" } , { "\xbe\xe0" , "\x6c\x68\x69" } , { "\xbe\xe1" , "\x6c\x68\x69\x5b" } , { "\xbe\xe1\xa2" , "\x6c\x68\x69\x5b\x4c\x69" } , { "\xbe\xe2" , "\x5c\x6c\x68\x69" } , { "\xbe\xe2\xa2" , "\x5c\x6c\x68\x69\x4c\x69" } , { "\xbe\xe3" , "\x6c\x68\x69" } , { "\xbe\xe4" , "\x68\x5d" } , { "\xbe\xe5" , "\x68\x5d\x5b" } , { "\xbe\xe5\xa2" , "\x68\x5d\x5b\x4c\x69" } , { "\xbe\xe6" , "\x68\x5f" } , { "\xbe\xe8" , "\x68\x60\x69" } , { "\xbe\xe8\xb3" , "\x68\x52\x69\xe4" } , { "\xbe\xe8\xb3\xdd" , "\x68\x52\x69\x56\xe4" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x68\x52\x69\xe4\x51\xfb" } , { "\xbe\xe8\xb5\xe5" , "\x68\xe6\x5d\x5b" } , { "\xbe\xe8\xb8" , "\x68\x52\x69\xe8" } , { "\xbe\xe8\xbd" , "\x68\xed\x52\x69" } , { "\xbe\xe8\xbd\xda" , "\x68\xed\x53" } , { "\xbe\xe8\xbd\xdb" , "\x68\xed\x6a\x69" } , { "\xbe\xe8\xbd\xdc" , "\x68\xed\x6b\x69" } , { "\xbe\xe8\xbe" , "\x68\xee\x52\x69" } , { "\xbe\xe8\xbe\xda" , "\x68\xee\x53" } , { "\xbe\xe8\xbe\xdb" , "\x68\xee\x6a\x69" } , { "\xbe\xe8\xbe\xdc" , "\x68\xee\x6b\x69" } , { "\xbe\xe8\xbe\xe1" , "\x6c\x68\xee\x69\x5b" } , { "\xbe\xe8\xbe\xe5" , "\x68\xee\x5d\x5b" } , { "\xbe\xe8\xc6" , "\x68\x52\x69\xf5" } , { "\xbe\xe8\xc8\xda" , "\x68\x53\xf6" } , { "\xbe\xe8\xcd" , "\x68\x52\x69\xf9" } , { "\xbe\xe8\xcd\xa2" , "\x68\x52\x69\xf9\x4c\x69" } , { "\xbe\xe8\xcd\xda" , "\x68\x53\xf9" } , { "\xbe\xe8\xcd\xda\xa1" , "\x68\x53\xf9\xb7" } , { "\xbe\xe8\xcd\xda\xa2" , "\x68\x53\xf9\x4c\x69" } , { "\xbe\xe8\xcd\xe1" , "\x6c\x68\x69\x5b\xf9" } , { "\xbe\xe8\xcd\xe5" , "\x68\x5d\x5b\xf9" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x68\x5d\x5b\xf9\x4c\x69" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x68\x52\x69\xf9\x51\xf9" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x68\x52\x69\xf9\x51\xfb" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x68\x53\xf9\x51\x2b" } , { "\xbe\xe8\xcf\xda" , "\xfa\x68\x53" } , { "\xbe\xe8\xd1\xdd" , "\x68\xfd\x52\x69\x56" } , { "\xbe\xe8\xd4\xda" , "\x68\x53\x2a" } , { "\xbe\xe8\xd9\xcd" , "\x68\x52\x69\xb8\x52\xb6\x56" } , { "\xbe\xe8\xe8" , "\x68\x60\x69" } , { "\xbf" , "\xb2\x52\xb6" } , { "\xbf\xa1" , "\xb2\x52\xb6\xb7" } , { "\xbf\xa2" , "\xb2\x52\xb6\x4c\x69" } , { "\xbf\xa2\xa2" , "\xb2\x52\xb6\x4c\x69\x69\x4c\x69" } , { "\xbf\xa3" , "\xb2\x52\xb6\x4d" } , { "\xbf\xda" , "\xb2\x79" } , { "\xbf\xda\xa1" , "\xb2\x79\xb7" } , { "\xbf\xda\xa2" , "\xb2\x79\x4c\x69" } , { "\xbf\xda\xa3" , "\xb2\x79\x4d" } , { "\xbf\xdb" , "\xb2\x54\xb6" } , { "\xbf\xdb\xa2" , "\xb2\x54\xb6\x4c\x69" } , { "\xbf\xdb\xa3" , "\xb2\x54\xb6\x4d" } , { "\xbf\xdc" , "\xb2\x55\xb6" } , { "\xbf\xdc\xa2" , "\xb2\x55\xb6\x4c\x69" } , { "\xbf\xdd" , "\xb2\x52\xb6\x56" } , { "\xbf\xdd\xa2" , "\xb2\x52\xb6\x56\x4c\x69" } , { "\xbf\xde" , "\xb2\x52\xb6\x57" } , { "\xbf\xde\xa1" , "\xb2\x52\xb6\x57\xb7" } , { "\xbf\xde\xa2" , "\xb2\x52\xb6\x57\x4c\x69" } , { "\xbf\xdf" , "\xb2\x52\xb6\x58" } , { "\xbf\xe0" , "\xae\xb2\xb6" } , { "\xbf\xe0\xa1" , "\xae\xb2\xb6\xb7" } , { "\xbf\xe0\xa2" , "\xae\xb2\xb6\x4c\x69" } , { "\xbf\xe1" , "\xae\xb2\xb6\x5b" } , { "\xbf\xe1\xa2" , "\xae\xb2\xb6\x5b\x4c\x69" } , { "\xbf\xe2" , "\x5c\xae\xb2\xb6" } , { "\xbf\xe2\xa2" , "\x5c\xae\xb2\xb6\x4c\x69" } , { "\xbf\xe2\xa3" , "\x5c\xae\xb2\xb6\x4d" } , { "\xbf\xe4" , "\xb2\x5d" } , { "\xbf\xe4\xa2" , "\xb2\x5d\x4c\x69" } , { "\xbf\xe5" , "\xb2\x5d\x5b" } , { "\xbf\xe5\xa2" , "\xb2\x5d\x5b\x4c\x69" } , { "\xbf\xe6" , "\xb2\x5f" } , { "\xbf\xe6\xa2" , "\xb2\x5f\x4c\x69" } , { "\xbf\xe7" , "\xb2\x5d" } , { "\xbf\xe7\xa2" , "\xb2\x5d\x4c\x69" } , { "\xbf\xe8" , "\xb2\x60\xb6" } , { "\xbf\xe8\xb3" , "\xb2\x52\xb6\xe4" } , { "\xbf\xe8\xb3\xa2" , "\xb2\x52\xb6\xe4\x4c\x69" } , { "\xbf\xe8\xb3\xda" , "\xb2\x79\xe4" } , { "\xbf\xe8\xb3\xdb" , "\xb2\x54\xb6\xe4" } , { "\xbf\xe8\xb3\xdc" , "\xb2\x55\xb6\xe4" } , { "\xbf\xe8\xb3\xdd" , "\xb2\x52\xb6\x56\xe4" } , { "\xbf\xe8\xb3\xde" , "\xb2\x52\xb6\x57\xe4" } , { "\xbf\xe8\xb3\xe1" , "\xae\xb2\xb6\x5b\xe4" } , { "\xbf\xe8\xb3\xe4" , "\xb2\x5d\xe4" } , { "\xbf\xe8\xb3\xe5" , "\xb2\x5d\x5b\xe4" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\xb2\x60\xb6\x4e\xe6\x53" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\xb2\x79\xe4\x51\xfb" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\xb2\x60\xb6\x4e\xfd\x5d\x5b" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\xb2\x79\xe4\x51\x2a" } , { "\xbf\xe8\xb4" , "\xb2\xe5\x52\xb6" } , { "\xbf\xe8\xb5" , "\xb2\xe6\x52\xb6" } , { "\xbf\xe8\xb5\xa2" , "\xb2\xe6\x52\xb6\x4c\x69" } , { "\xbf\xe8\xb5\xda" , "\xb2\xe6\x79" } , { "\xbf\xe8\xb5\xdb" , "\xb2\xe6\x54\xb6" } , { "\xbf\xe8\xb5\xdd" , "\xb2\xe6\x52\xb6\x56" } , { "\xbf\xe8\xb5\xde" , "\xb2\xe6\x52\xb6\x57" } , { "\xbf\xe8\xb5\xe0" , "\xae\xb2\xe6\xb6" } , { "\xbf\xe8\xb5\xe1" , "\xae\xb2\xe6\xb6\x5b" } , { "\xbf\xe8\xb5\xe5\xa2" , "\xb2\xe6\x5d\x5b\x4c\x69" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\xb2\xe6\x79\xfb" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\xb2\x60\xb6\x67\xfd\x53" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\xb2\x60\xb6\x6c\x67\xfd\x5e\x69" } , { "\xbf\xe8\xb6" , "\xb2\xe7\x52\xb6" } , { "\xbf\xe8\xb8" , "\xb2\x52\xb6\xe8" } , { "\xbf\xe8\xb8\xda" , "\xb2\x79\xe8" } , { "\xbf\xe8\xb8\xda\xa2" , "\xb2\x79\xe8\x4c\x69" } , { "\xbf\xe8\xb8\xdb" , "\xb2\x54\xb6\xe8" } , { "\xbf\xe8\xb8\xdb\xa2" , "\xb2\x54\xb6\xe8\x4c\x69" } , { "\xbf\xe8\xb8\xdc" , "\xb2\x55\xb6\xe8" } , { "\xbf\xe8\xb8\xdd" , "\xb2\x52\xb6\x56\xe8" } , { "\xbf\xe8\xb8\xe0" , "\xae\xb2\xb6\xe8" } , { "\xbf\xe8\xb8\xe1" , "\xae\xb2\xb6\x5b\xe8" } , { "\xbf\xe8\xb8\xe1\xa2" , "\xae\xb2\xb6\x5b\xe8\x4c\x69" } , { "\xbf\xe8\xb9\xda\xa2" , "\xb2\x79\xe8\xe9\x4c\x69" } , { "\xbf\xe8\xba" , "\xb2\xea\x52\xb6" } , { "\xbf\xe8\xba\xa2" , "\xb2\xea\x52\xb6\x4c\x69" } , { "\xbf\xe8\xba\xda" , "\xb2\xea\x79" } , { "\xbf\xe8\xba\xdb" , "\xb2\xea\x54\xb6" } , { "\xbf\xe8\xba\xdb\xa2" , "\xb2\xea\x54\xb6\x4c\x69" } , { "\xbf\xe8\xba\xdc" , "\xb2\xea\x55\xb6" } , { "\xbf\xe8\xba\xdd" , "\xb2\xea\x52\xb6\x56" } , { "\xbf\xe8\xba\xe0" , "\xae\xb2\xea\xb6" } , { "\xbf\xe8\xba\xe1" , "\xae\xb2\xea\xb6\x5b" } , { "\xbf\xe8\xba\xe2" , "\xae\xb2\xea\x5e\xb6" } , { "\xbf\xe8\xba\xe5" , "\xb2\xea\x5d\x5b" } , { "\xbf\xe8\xba\xe8" , "\xb2\x60\xea\xb6" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\xb2\xea\x54\xb6\xe4" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\xb2\x60\xb6\xc7\xe6\xd8" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\xb2\xea\x54\xb6\xf5" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\xb2\xea\x52\xb6\x56\xf5" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\xb2\x60\xea\xb6\xf5" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\xae\xb2\xea\xb6\xf8\x4c\x69" } , { "\xbf\xe8\xba\xe8\xcd" , "\xb2\xea\x52\xb6\xf9" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\xb2\xea\x79\xf9" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\xb2\xea\x52\xb6\x57\xf9" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\xb2\x60\xb6\xc7\xfd\xdc\x5b" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\xb2\xea\x54\xb6\x2a" } , { "\xbf\xe8\xba\xe9" , "\xb2\xea\x52\xb6" } , { "\xbf\xe8\xbc" , "\xb2\xec\x52\xb6" } , { "\xbf\xe8\xbd" , "\xb2\xed\x52\xb6" } , { "\xbf\xe8\xbd\xa2" , "\xb2\xed\x52\xb6\x4c\x69" } , { "\xbf\xe8\xbd\xda\xa2" , "\xb2\xed\x79\x4c\x69" } , { "\xbf\xe8\xbd\xdb" , "\xb2\xed\x54\xb6" } , { "\xbf\xe8\xbd\xdd" , "\xb2\xed\x52\xb6\x56" } , { "\xbf\xe8\xbd\xe0" , "\xae\xb2\xed\xb6" } , { "\xbf\xe8\xbd\xe1" , "\xae\xb2\xed\xb6\x5b" } , { "\xbf\xe8\xbd\xe8" , "\xb2\x60\xed\xb6" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\xb2\xed\x52\xb6\xfb\x4c\x69" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\xb2\xed\x79\xfb" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\xae\xb2\xed\x5e\xb6\xfb" } , { "\xbf\xe8\xbd\xe8\xd7" , "\xb2\xed\x52\xb6\x3d" } , { "\xbf\xe8\xbf" , "\xb2\xef\x52\xb6" } , { "\xbf\xe8\xbf\xa2" , "\xb2\xef\x52\xb6\x4c\x69" } , { "\xbf\xe8\xbf\xa3" , "\xb2\xef\x52\xb6\x4d" } , { "\xbf\xe8\xbf\xda" , "\xb2\xef\x79" } , { "\xbf\xe8\xbf\xda\xa2" , "\xb2\xef\x79\x4c\x69" } , { "\xbf\xe8\xbf\xdb" , "\xb2\xef\x54\xb6" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xb2\xef\x54\xb6\x4c\x69" } , { "\xbf\xe8\xbf\xdc" , "\xb2\xef\x55\xb6" } , { "\xbf\xe8\xbf\xdd" , "\xb2\xef\x52\xb6\x56" } , { "\xbf\xe8\xbf\xdd\xa2" , "\xb2\xef\x52\xb6\x56\x4c\x69" } , { "\xbf\xe8\xbf\xde" , "\xb2\xef\x52\xb6\x57" } , { "\xbf\xe8\xbf\xe0" , "\xae\xb2\xef\xb6" } , { "\xbf\xe8\xbf\xe1" , "\xae\xb2\xef\xb6\x5b" } , { "\xbf\xe8\xbf\xe2" , "\xae\xb2\xef\x5e\xb6" } , { "\xbf\xe8\xbf\xe4" , "\xb2\xef\x5d" } , { "\xbf\xe8\xbf\xe5" , "\xb2\xef\x5d\x5b" } , { "\xbf\xe8\xbf\xe5\xa2" , "\xb2\xef\x5d\x5b\x4c\x69" } , { "\xbf\xe8\xbf\xe8" , "\xb2\x60\xef\xb6" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\xb2\xef\x52\xb6\x56\xe4" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\xb2\x60\xb6\xb2\xef\x54\xb6" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\xb2\x60\xb6\xb2\xfd\x52\xb6\x56" } , { "\xbf\xe8\xbf\xe9\xdc" , "\xb2\xef\x55\xb6" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\xb2\xef\x5d\x5b\x4c\x69" } , { "\xbf\xe8\xc0" , "\xb2\xef\xf0\x52\xb6" } , { "\xbf\xe8\xc0\xa2" , "\xb2\xef\xf0\x52\xb6\x4c\x69" } , { "\xbf\xe8\xc0\xda" , "\xb2\xef\xf0\x79" } , { "\xbf\xe8\xc0\xdc" , "\xb2\xef\xf0\x55\xb6" } , { "\xbf\xe8\xc0\xdd" , "\xb2\xef\xf0\x52\xb6\x56" } , { "\xbf\xe8\xc0\xe1" , "\xae\xb2\xef\xf0\xb6\x5b" } , { "\xbf\xe8\xc0\xe5\xa2" , "\xb2\xef\xf0\x5d\x5b\x4c\x69" } , { "\xbf\xe8\xc0\xe9\xda" , "\xb2\xef\xf0\x79" } , { "\xbf\xe8\xc0\xe9\xe1" , "\xae\xb2\xef\xf0\xb6\x5b" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\xb2\xef\xf0\x5d\x5b\x4c\x69" } , { "\xbf\xe8\xc1" , "\xb2\xf1\x52\xb6" } , { "\xbf\xe8\xc2" , "\xb2\x52\xb6\xf2" } , { "\xbf\xe8\xc2\xa2" , "\xb2\x52\xb6\xf2\x4c\x69" } , { "\xbf\xe8\xc2\xda" , "\xb2\x79\xf2" } , { "\xbf\xe8\xc2\xdb" , "\xb2\x54\xb6\xf2" } , { "\xbf\xe8\xc2\xdd" , "\xb2\x52\xb6\x56\xf2" } , { "\xbf\xe8\xc2\xdd\xa2" , "\xb2\x52\xb6\x56\xf2\x4c\x69" } , { "\xbf\xe8\xc2\xde" , "\xb2\x52\xb6\x57\xf2" } , { "\xbf\xe8\xc2\xde\xa2" , "\xb2\x52\xb6\x57\xf2\x4c\x69" } , { "\xbf\xe8\xc2\xe0" , "\xae\xb2\xb6\xf2" } , { "\xbf\xe8\xc2\xe1" , "\xae\xb2\xb6\x5b\xf2" } , { "\xbf\xe8\xc2\xe5" , "\xb2\x5d\x5b\xf2" } , { "\xbf\xe8\xc2\xe5\xa2" , "\xb2\x5d\x5b\xf2\x4c\x69" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\xae\xb2\x5e\xb6\x51\xf2\x51\xfb" } , { "\xbf\xe8\xc4\xda" , "\xb2\xf4\x79" } , { "\xbf\xe8\xc4\xdb" , "\xb2\xf4\x54\xb6" } , { "\xbf\xe8\xc4\xdd" , "\xb2\xf4\x52\xb6\x56" } , { "\xbf\xe8\xc4\xe0" , "\xae\xb2\xf4\xb6" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\xb2\xf4\x79\x2a" } , { "\xbf\xe8\xc5" , "\xb2\xf4\xf0\x52\xb6" } , { "\xbf\xe8\xc6" , "\xb2\x52\xb6\xf5" } , { "\xbf\xe8\xc6\xa2" , "\xb2\x52\xb6\xf5\x4c\x69" } , { "\xbf\xe8\xc6\xda" , "\xb2\x79\xf5" } , { "\xbf\xe8\xc6\xdb" , "\xb2\x54\xb6\xf5" } , { "\xbf\xe8\xc6\xdb\xa2" , "\xb2\x54\xb6\xf5\x4c\x69" } , { "\xbf\xe8\xc6\xdc" , "\xb2\x55\xb6\xf5" } , { "\xbf\xe8\xc6\xdd" , "\xb2\x52\xb6\x56\xf5" } , { "\xbf\xe8\xc6\xdd\xa2" , "\xb2\x52\xb6\x56\xf5\x4c\x69" } , { "\xbf\xe8\xc6\xe0" , "\xae\xb2\xb6\xf5" } , { "\xbf\xe8\xc6\xe1" , "\xae\xb2\xb6\x5b\xf5" } , { "\xbf\xe8\xc6\xe2" , "\x5c\xae\xb2\xb6\x51\xf5" } , { "\xbf\xe8\xc6\xe5" , "\xb2\x5d\x5b\xf5" } , { "\xbf\xe8\xc6\xe6" , "\xb2\x5f\xf5" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\xb2\x60\xb6\xa9\xab\x73\xf2\x4c\x69" } , { "\xbf\xe8\xc8" , "\xb2\x52\xb6\xf6" } , { "\xbf\xe8\xc8\xa2" , "\xb2\x52\xb6\xf6\x4c\x69" } , { "\xbf\xe8\xc8\xda" , "\xb2\x79\xf6" } , { "\xbf\xe8\xc8\xdb\xa2" , "\xb2\x54\xb6\xf6\x4c\x69" } , { "\xbf\xe8\xc8\xdd" , "\xb2\x52\xb6\x56\xf6" } , { "\xbf\xe8\xc8\xde" , "\xb2\x52\xb6\x57\xf6" } , { "\xbf\xe8\xc8\xe2" , "\x5c\xae\xb2\xb6\x51\xf6" } , { "\xbf\xe8\xc8\xe4" , "\xb2\x5d\xf6" } , { "\xbf\xe8\xc8\xe5" , "\xb2\x5d\x5b\xf6" } , { "\xbf\xe8\xc8\xe8\xcf" , "\xb2\x52\xb6\xf6\x51\xfb" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\xb2\x54\xb6\xf6\x51\xfb" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\xb2\x52\xb6\x57\xf6\x51\xfb" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\xae\xb2\xb6\xf6\x51\xfb" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\xb2\x60\xb6\x46\xfd\x79" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\xb2\x60\xb6\x7d\x6d\xfd\x73" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\xb2\x60\xb6\x46\xfd\xa1" } , { "\xbf\xe8\xc9\xda" , "\xb2\x79\xf6\xe9" } , { "\xbf\xe8\xc9\xdb" , "\xb2\x54\xb6\xf6\xe9" } , { "\xbf\xe8\xc9\xdc" , "\xb2\x55\xb6\xf6\xe9" } , { "\xbf\xe8\xc9\xdd" , "\xb2\x52\xb6\x56\xf6\xe9" } , { "\xbf\xe8\xc9\xe0" , "\xae\xb2\xb6\xf6\xe9" } , { "\xbf\xe8\xc9\xe2" , "\x5c\xae\xb2\xb6\x51\xf6\xe9" } , { "\xbf\xe8\xc9\xe5" , "\xb2\x5d\x5b\xf6\xe9" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\xb2\x55\xb6\xf6\xe9\x51\xfb" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\xb2\x60\xb6\x46\x6e\xfd\xa1" } , { "\xbf\xe8\xca" , "\xb2\x52\xb6\xf7" } , { "\xbf\xe8\xca\xa2" , "\xb2\x52\xb6\xf7\x4c\x69" } , { "\xbf\xe8\xca\xda" , "\xb2\x79\xf7" } , { "\xbf\xe8\xca\xdb" , "\xb2\x54\xb6\xf7" } , { "\xbf\xe8\xca\xdc" , "\xb2\x55\xb6\xf7" } , { "\xbf\xe8\xca\xdd" , "\xb2\x52\xb6\x56\xf7" } , { "\xbf\xe8\xca\xe0" , "\xae\xb2\xb6\xf7" } , { "\xbf\xe8\xca\xe2" , "\x5c\xae\xb2\xb6\x51\xf7" } , { "\xbf\xe8\xca\xe5" , "\xb2\x5d\x5b\xf7" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\xb2\x55\xb6\xf7\x51\xf7" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\xb2\x79\xf7\x51\xf9" } , { "\xbf\xe8\xca\xe8\xcf" , "\xb2\x52\xb6\xf7\x51\xfb" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\xae\xb2\xb6\xf7\x51\xfb" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\xb2\x60\xb6\xca\xfd\xc1\x57\xf9" } , { "\xbf\xe8\xcb\xda" , "\xb2\x79\xf7\xe9" } , { "\xbf\xe8\xcb\xdd" , "\xb2\x52\xb6\x56\xf7\xe9" } , { "\xbf\xe8\xcc" , "\xb2\x52\xb6\xf8" } , { "\xbf\xe8\xcc\xa2" , "\xb2\x52\xb6\xf8\x4c\x69" } , { "\xbf\xe8\xcc\xda" , "\xb2\x79\xf8" } , { "\xbf\xe8\xcc\xdb" , "\xb2\x54\xb6\xf8" } , { "\xbf\xe8\xcc\xdb\xa2" , "\xb2\x54\xb6\xf8\x4c\x69" } , { "\xbf\xe8\xcc\xdc" , "\xb2\x55\xb6\xf8" } , { "\xbf\xe8\xcc\xdd" , "\xb2\x52\xb6\x56\xf8" } , { "\xbf\xe8\xcc\xe0\xa2" , "\xae\xb2\xb6\xf8\x4c\x69" } , { "\xbf\xe8\xcc\xe4" , "\xb2\x5d\xf8" } , { "\xbf\xe8\xcc\xe5" , "\xb2\x5d\x5b\xf8" } , { "\xbf\xe8\xcd" , "\xb2\x52\xb6\xf9" } , { "\xbf\xe8\xcd\xa2" , "\xb2\x52\xb6\xf9\x4c\x69" } , { "\xbf\xe8\xcd\xda" , "\xb2\x79\xf9" } , { "\xbf\xe8\xcd\xda\xa2" , "\xb2\x79\xf9\x4c\x69" } , { "\xbf\xe8\xcd\xdb" , "\xb2\x54\xb6\xf9" } , { "\xbf\xe8\xcd\xdd" , "\xb2\x52\xb6\x56\xf9" } , { "\xbf\xe8\xcd\xdd\xa2" , "\xb2\x52\xb6\x56\xf9\x4c\x69" } , { "\xbf\xe8\xcd\xde" , "\xb2\x52\xb6\x57\xf9" } , { "\xbf\xe8\xcd\xe0" , "\xae\xb2\xb6\xf9" } , { "\xbf\xe8\xcd\xe1" , "\xae\xb2\xb6\x5b\xf9" } , { "\xbf\xe8\xcd\xe5" , "\xb2\x5d\x5b\xf9" } , { "\xbf\xe8\xcd\xe5\xa2" , "\xb2\x5d\x5b\xf9\x4c\x69" } , { "\xbf\xe8\xcd\xe6" , "\xb2\x5f\xf9" } , { "\xbf\xe8\xcf" , "\xfa\xb2\x52\xb6" } , { "\xbf\xe8\xcf\xa2" , "\xfa\xb2\x52\xb6\x4c\x69" } , { "\xbf\xe8\xcf\xda" , "\xfa\xb2\x79" } , { "\xbf\xe8\xcf\xda\xa2" , "\xfa\xb2\x79\x4c\x69" } , { "\xbf\xe8\xcf\xdb" , "\xfa\xb2\x54\xb6" } , { "\xbf\xe8\xcf\xdb\xa2" , "\xfa\xb2\x54\xb6\x4c\x69" } , { "\xbf\xe8\xcf\xdc" , "\xfa\xb2\x55\xb6" } , { "\xbf\xe8\xcf\xdc\xa2" , "\xfa\xb2\x55\xb6\x4c\x69" } , { "\xbf\xe8\xcf\xdd" , "\xfa\xb2\x52\xb6\x56" } , { "\xbf\xe8\xcf\xdd\xa2" , "\xfa\xb2\x52\xb6\x56\x4c\x69" } , { "\xbf\xe8\xcf\xde" , "\xfa\xb2\x52\xb6\x57" } , { "\xbf\xe8\xcf\xde\xa2" , "\xfa\xb2\x52\xb6\x57\x4c\x69" } , { "\xbf\xe8\xcf\xe0" , "\xfa\xae\xb2\xb6" } , { "\xbf\xe8\xcf\xe0\xa2" , "\xfa\xae\xb2\xb6\x4c\x69" } , { "\xbf\xe8\xcf\xe1" , "\xfa\xae\xb2\xb6\x5b" } , { "\xbf\xe8\xcf\xe1\xa2" , "\xfa\xae\xb2\xb6\x5b\x4c\x69" } , { "\xbf\xe8\xcf\xe2" , "\x5c\xae\xb2\xb6\x51\xfb" } , { "\xbf\xe8\xcf\xe4" , "\xfa\xb2\x5d" } , { "\xbf\xe8\xcf\xe5" , "\xfa\xb2\x5d\x5b" } , { "\xbf\xe8\xcf\xe6" , "\xfa\xb2\x5f" } , { "\xbf\xe8\xcf\xe7" , "\xfa\xb2\x5d" } , { "\xbf\xe8\xcf\xe8\xca" , "\xb2\x52\xb6\xfb\x51\xf7" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\xb2\x79\xfb\x51\xf9" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\xb2\x79\xfb\x51\x2a" } , { "\xbf\xe8\xd1" , "\xb2\xfd\x52\xb6" } , { "\xbf\xe8\xd1\xa2" , "\xb2\xfd\x52\xb6\x4c\x69" } , { "\xbf\xe8\xd1\xda" , "\xb2\xfd\x79" } , { "\xbf\xe8\xd1\xda\xa2" , "\xb2\xfd\x79\x4c\x69" } , { "\xbf\xe8\xd1\xdb" , "\xb2\xfd\x54\xb6" } , { "\xbf\xe8\xd1\xdb\xa2" , "\xb2\xfd\x54\xb6\x4c\x69" } , { "\xbf\xe8\xd1\xdc" , "\xb2\xfd\x55\xb6" } , { "\xbf\xe8\xd1\xdd" , "\xb2\xfd\x52\xb6\x56" } , { "\xbf\xe8\xd1\xdd\xa2" , "\xb2\xfd\x52\xb6\x56\x4c\x69" } , { "\xbf\xe8\xd1\xde" , "\xb2\xfd\x52\xb6\x57" } , { "\xbf\xe8\xd1\xe0" , "\xae\xb2\xfd\xb6" } , { "\xbf\xe8\xd1\xe0\xa2" , "\xae\xb2\xfd\xb6\x4c\x69" } , { "\xbf\xe8\xd1\xe1" , "\xae\xb2\xfd\xb6\x5b" } , { "\xbf\xe8\xd1\xe2" , "\xae\xb2\xfd\x5e\xb6" } , { "\xbf\xe8\xd1\xe4" , "\xb2\xfd\x5d" } , { "\xbf\xe8\xd1\xe5" , "\xb2\xfd\x5d\x5b" } , { "\xbf\xe8\xd1\xe8" , "\xb2\x60\xfd\xb6" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\xb2\x60\xb6\xcd\xfd\xdc\x5b" } , { "\xbf\xe8\xd4" , "\xb2\x52\xb6\x2a" } , { "\xbf\xe8\xd4\xa2" , "\xb2\x52\xb6\x2a\x4c\x69" } , { "\xbf\xe8\xd4\xda" , "\xb2\x79\x2a" } , { "\xbf\xe8\xd4\xda\xa2" , "\xb2\x79\x2a\x4c\x69" } , { "\xbf\xe8\xd4\xdb" , "\xb2\x54\xb6\x2a" } , { "\xbf\xe8\xd4\xdb\xa2" , "\xb2\x54\xb6\x2a\x4c\x69" } , { "\xbf\xe8\xd4\xdc" , "\xb2\x55\xb6\x2a" } , { "\xbf\xe8\xd4\xdd" , "\xb2\x52\xb6\x56\x2a" } , { "\xbf\xe8\xd4\xe0" , "\xae\xb2\xb6\x2a" } , { "\xbf\xe8\xd4\xe0\xa2" , "\xae\xb2\xb6\x2a\x4c\x69" } , { "\xbf\xe8\xd4\xe1" , "\xae\xb2\xb6\x5b\x2a" } , { "\xbf\xe8\xd4\xe2" , "\x5c\xae\xb2\xb6\x51\x2a" } , { "\xbf\xe8\xd5" , "\xb2\x52\xb6\x2b" } , { "\xbf\xe8\xd5\xda" , "\xb2\x79\x2b" } , { "\xbf\xe8\xd6" , "\xb2\x3c\x52\xb6" } , { "\xbf\xe8\xd6\xdb" , "\xb2\x3c\x54\xb6" } , { "\xbf\xe8\xd6\xdc" , "\xb2\x3c\x55\xb6" } , { "\xbf\xe8\xd6\xe5" , "\xb2\x3c\x5d\x5b" } , { "\xbf\xe8\xd7" , "\xb2\x52\xb6\x3d" } , { "\xbf\xe8\xd7\xa2" , "\xb2\x52\xb6\x3d\x4c\x69" } , { "\xbf\xe8\xd7\xda" , "\xb2\x79\x3d" } , { "\xbf\xe8\xd7\xdb" , "\xb2\x54\xb6\x3d" } , { "\xbf\xe8\xd7\xdc" , "\xb2\x55\xb6\x3d" } , { "\xbf\xe8\xd7\xdd" , "\xb2\x52\xb6\x56\x3d" } , { "\xbf\xe8\xd7\xde" , "\xb2\x52\xb6\x57\x3d" } , { "\xbf\xe8\xd7\xe1" , "\xae\xb2\xb6\x5b\x3d" } , { "\xbf\xe8\xd7\xe4" , "\xb2\x5d\x3d" } , { "\xbf\xe8\xd7\xe8" , "\xb2\x60\xb6\x3d" } , { "\xbf\xe8\xd7\xe8\xb3" , "\xb2\x52\xb6\x3d\x51\xe4" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\xb2\x79\x3d\x51\xe4" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\xb2\x54\xb6\x3d\x51\xe4" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\xb2\x52\xb6\x56\x3d\x51\xe4" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\xae\xb2\xb6\x5b\x3d\x51\xe4" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\xb2\x60\xb6\x7d\x71\xed\x73" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\xb2\x60\xb6\x7a\x71\xef\x73" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\xb2\x60\xb6\x72\xa1\xf2" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\xb2\x54\xb6\x3d\x51\xf5" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\xb2\x52\xb6\x56\x3d\x51\xf5" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\xb2\x79\x3d\x51\xf6" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\xb2\x55\xb6\x3d\x51\xf6" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\xb2\x52\xb6\x3d\x51\xf7\x4c\x69" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\xb2\x54\xb6\x3d\x51\xf8" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\xb2\x60\xb6\x72\xfd\xa1" } , { "\xbf\xe8\xd7\xe8\xd4" , "\xb2\x52\xb6\x3d\x51\x2a" } , { "\xbf\xe8\xd8\xda" , "\xb2\x3e\x79" } , { "\xbf\xe8\xd8\xda\xa2" , "\xb2\x3e\x79\x4c\x69" } , { "\xbf\xe8\xd8\xdb" , "\xb2\x3e\x54\xb6" } , { "\xbf\xe8\xd8\xe0" , "\xae\xb2\x3e\xb6" } , { "\xbf\xe8\xd8\xe2" , "\xae\xb2\x3e\x5e\xb6" } , { "\xbf\xe8\xd8\xe5" , "\xb2\x3e\x5d\x5b" } , { "\xbf\xe8\xd9\xa7" , "\xb2\x52\xb6\x43" } , { "\xbf\xe8\xd9\xcd\xde" , "\xb2\x52\xb6\xb8\x52\xb6\x56\x57" } , { "\xbf\xe8\xd9\xcf" , "\xb2\x52\xb6\x4c\x52\x69" } , { "\xbf\xe8\xe8" , "\xb2\x60\xb6" } , { "\xbf\xe9" , "\xb2\x52\xb6" } , { "\xbf\xe9\xa1" , "\xb2\x52\xb6\xb7" } , { "\xbf\xe9\xa2" , "\xb2\x52\xb6\x4c\x69" } , { "\xbf\xe9\xc2\xda" , "\xb2\x52\xb6\xbb\x79" } , { "\xbf\xe9\xc2\xdc" , "\xb2\x52\xb6\xbc\x64\xbd" } , { "\xbf\xe9\xda" , "\xb2\x79" } , { "\xbf\xe9\xda\xa1" , "\xb2\x79\xb7" } , { "\xbf\xe9\xda\xa2" , "\xb2\x79\x4c\x69" } , { "\xbf\xe9\xdb" , "\xb2\x54\xb6" } , { "\xbf\xe9\xdc" , "\xb2\x55\xb6" } , { "\xbf\xe9\xdc\xa2" , "\xb2\x55\xb6\x4c\x69" } , { "\xbf\xe9\xdd" , "\xb2\x52\xb6\x56" } , { "\xbf\xe9\xde" , "\xb2\x52\xb6\x57" } , { "\xbf\xe9\xde\xa1" , "\xb2\x52\xb6\x57\xb7" } , { "\xbf\xe9\xde\xa2" , "\xb2\x52\xb6\x57\x4c\x69" } , { "\xbf\xe9\xe1" , "\xae\xb2\xb6\x5b" } , { "\xbf\xe9\xe1\xa2" , "\xae\xb2\xb6\x5b\x4c\x69" } , { "\xbf\xe9\xe2" , "\x5c\xae\xb2\xb6" } , { "\xbf\xe9\xe2\xa2" , "\x5c\xae\xb2\xb6\x4c\x69" } , { "\xbf\xe9\xe5" , "\xb2\x5d\x5b" } , { "\xbf\xe9\xe5\xa2" , "\xb2\x5d\x5b\x4c\x69" } , { "\xbf\xe9\xe6" , "\xb2\x5f" } , { "\xbf\xe9\xe6\xa2" , "\xb2\x5f\x4c\x69" } , { "\xbf\xe9\xe8" , "\xb2\x60\xb6" } , { "\xbf\xe9\xe8\xb3" , "\xb2\x52\xb6\xe4" } , { "\xbf\xe9\xe8\xb3\xda" , "\xb2\x79\xe4" } , { "\xbf\xe9\xe8\xb5" , "\xb2\xe6\x52\xb6" } , { "\xbf\xe9\xe8\xb5\xda" , "\xb2\xe6\x79" } , { "\xbf\xe9\xe8\xbf\xda" , "\xb2\xef\x79" } , { "\xbf\xe9\xe8\xbf\xdb" , "\xb2\xef\x54\xb6" } , { "\xbf\xe9\xe8\xbf\xdc" , "\xb2\xef\x55\xb6" } , { "\xbf\xe9\xe8\xbf\xe1" , "\xae\xb2\xef\xb6\x5b" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\xae\xb2\xef\xf0\xb6\x5b" } , { "\xbf\xe9\xe8\xc2\xdd" , "\xb2\x52\xb6\x56\xf2" } , { "\xbf\xe9\xe8\xcc" , "\xb2\x52\xb6\xf8" } , { "\xc0" , "\xb2\xb3\x52\xb6" } , { "\xc0\xa1" , "\xb2\xb3\x52\xb6\xb7" } , { "\xc0\xa2" , "\xb2\xb3\x52\xb6\x4c\x69" } , { "\xc0\xa3" , "\xb2\xb3\x52\xb6\x4d" } , { "\xc0\xda" , "\xb2\xb3\x79" } , { "\xc0\xda\xa1" , "\xb2\xb3\x79\xb7" } , { "\xc0\xda\xa2" , "\xb2\xb3\x79\x4c\x69" } , { "\xc0\xdb" , "\xb2\xb3\x54\xb6" } , { "\xc0\xdb\xa2" , "\xb2\xb3\x54\xb6\x4c\x69" } , { "\xc0\xdc" , "\xb2\xb3\x55\xb6" } , { "\xc0\xdc\xa2" , "\xb2\xb3\x55\xb6\x4c\x69" } , { "\xc0\xdd" , "\xb2\xb3\x52\xb6\x56" } , { "\xc0\xdd\xa1" , "\xb2\xb3\x52\xb6\x56\xb7" } , { "\xc0\xdd\xa2" , "\xb2\xb3\x52\xb6\x56\x4c\x69" } , { "\xc0\xde" , "\xb2\xb3\x52\xb6\x57" } , { "\xc0\xde\xa1" , "\xb2\xb3\x52\xb6\x57\xb7" } , { "\xc0\xde\xa2" , "\xb2\xb3\x52\xb6\x57\x4c\x69" } , { "\xc0\xdf" , "\xb2\xb3\x52\xb6\x58" } , { "\xc0\xe0" , "\xae\xb2\xb3\xb6" } , { "\xc0\xe1" , "\xae\xb2\xb3\xb6\x5b" } , { "\xc0\xe1\xa2" , "\xae\xb2\xb3\xb6\x5b\x4c\x69" } , { "\xc0\xe2" , "\x5c\xae\xb2\xb3\xb6" } , { "\xc0\xe2\xa3" , "\x5c\xae\xb2\xb3\xb6\x4d" } , { "\xc0\xe4" , "\xb2\xb3\x5d" } , { "\xc0\xe5" , "\xb2\xb3\x5d\x5b" } , { "\xc0\xe5\xa2" , "\xb2\xb3\x5d\x5b\x4c\x69" } , { "\xc0\xe6" , "\xb2\xb3\x5f" } , { "\xc0\xe6\xa2" , "\xb2\xb3\x5f\x4c\x69" } , { "\xc0\xe8" , "\xb2\xb3\x60\xb6" } , { "\xc0\xe8\xbf\xe1" , "\xae\xb2\xb3\xef\xb6\x5b" } , { "\xc0\xe8\xc0\xda" , "\xb2\xb3\xef\xf0\x79" } , { "\xc0\xe8\xc0\xdc" , "\xb2\xb3\xef\xf0\x55\xb6" } , { "\xc0\xe8\xc0\xe1" , "\xae\xb2\xb3\xef\xf0\xb6\x5b" } , { "\xc0\xe8\xc0\xe9" , "\xb2\xb3\xef\xf0\x52\xb6" } , { "\xc0\xe8\xc0\xe9\xda" , "\xb2\xb3\xef\xf0\x79" } , { "\xc0\xe8\xc0\xe9\xe1" , "\xae\xb2\xb3\xef\xf0\xb6\x5b" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\xb2\xb3\xef\xf0\x5d\x5b\x4c\x69" } , { "\xc0\xe8\xc9\xe5" , "\xb2\xb3\x5d\x5b\xf6\xe9" } , { "\xc0\xe8\xcd" , "\xb2\xb3\x52\xb6\xf9" } , { "\xc0\xe8\xcd\xa2" , "\xb2\xb3\x52\xb6\xf9\x4c\x69" } , { "\xc0\xe8\xcd\xda" , "\xb2\xb3\x79\xf9" } , { "\xc0\xe8\xcd\xdd" , "\xb2\xb3\x52\xb6\x56\xf9" } , { "\xc0\xe8\xcd\xe5\xa2" , "\xb2\xb3\x5d\x5b\xf9\x4c\x69" } , { "\xc0\xe8\xcf" , "\xfa\xb2\xb3\x52\xb6" } , { "\xc0\xe8\xcf\xa2" , "\xfa\xb2\xb3\x52\xb6\x4c\x69" } , { "\xc0\xe8\xcf\xda" , "\xfa\xb2\xb3\x79" } , { "\xc0\xe8\xcf\xdc" , "\xfa\xb2\xb3\x55\xb6" } , { "\xc0\xe8\xd1\xe5" , "\xb2\xb3\xfd\x5d\x5b" } , { "\xc0\xe8\xe8" , "\xb2\xb3\x60\xb6" } , { "\xc0\xe9" , "\xb2\xb3\x52\xb6" } , { "\xc0\xe9\xa1" , "\xb2\xb3\x52\xb6\xb7" } , { "\xc0\xe9\xa2" , "\xb2\xb3\x52\xb6\x4c\x69" } , { "\xc0\xe9\xc2\xdc" , "\xb2\xb3\x52\xb6\xbc\x64\xbd" } , { "\xc0\xe9\xc6\xe1" , "\xb2\xb3\x52\xb6\xae\xa9\x73\x5b" } , { "\xc0\xe9\xda" , "\xb2\xb3\x79" } , { "\xc0\xe9\xda\xa1" , "\xb2\xb3\x79\xb7" } , { "\xc0\xe9\xda\xa2" , "\xb2\xb3\x79\x4c\x69" } , { "\xc0\xe9\xdb" , "\xb2\xb3\x54\xb6" } , { "\xc0\xe9\xdb\xa2" , "\xb2\xb3\x54\xb6\x4c\x69" } , { "\xc0\xe9\xdc" , "\xb2\xb3\x55\xb6" } , { "\xc0\xe9\xdc\xa2" , "\xb2\xb3\x55\xb6\x4c\x69" } , { "\xc0\xe9\xdd" , "\xb2\xb3\x52\xb6\x56" } , { "\xc0\xe9\xde" , "\xb2\xb3\x52\xb6\x57" } , { "\xc0\xe9\xde\xa1" , "\xb2\xb3\x52\xb6\x57\xb7" } , { "\xc0\xe9\xde\xa2" , "\xb2\xb3\x52\xb6\x57\x4c\x69" } , { "\xc0\xe9\xe1" , "\xae\xb2\xb3\xb6\x5b" } , { "\xc0\xe9\xe1\xa2" , "\xae\xb2\xb3\xb6\x5b\x4c\x69" } , { "\xc0\xe9\xe2" , "\x5c\xae\xb2\xb3\xb6" } , { "\xc0\xe9\xe5" , "\xb2\xb3\x5d\x5b" } , { "\xc0\xe9\xe5\xa2" , "\xb2\xb3\x5d\x5b\x4c\x69" } , { "\xc0\xe9\xe6" , "\xb2\xb3\x5f" } , { "\xc0\xe9\xe8\xcd" , "\xb2\xb3\x52\xb6\xf9" } , { "\xc1" , "\xdf\xe1" } , { "\xc1\xa1" , "\xdf\xe1\xb7" } , { "\xc1\xa1\xa1" , "\xdf\xe1\xb7\x69\xb7" } , { "\xc1\xa2" , "\xdf\xe1\x4c\x69" } , { "\xc1\xa3" , "\xdf\xe1\x4d" } , { "\xc1\xda" , "\xdf\xd8" } , { "\xc1\xda\xa2" , "\xdf\xd8\x4c\x69" } , { "\xc1\xda\xa3" , "\xdf\xd8\x4d" } , { "\xc1\xdb" , "\xdf\xd3\xe1" } , { "\xc1\xdb\xa2" , "\xdf\xd3\xe1\x4c\x69" } , { "\xc1\xdb\xa3" , "\xdf\xd3\xe1\x4d" } , { "\xc1\xdc" , "\xdf\xd4\xe1" } , { "\xc1\xdc\xa2" , "\xdf\xd4\xe1\x4c\x69" } , { "\xc1\xdd" , "\xdf\xe1\x56" } , { "\xc1\xdd\xa2" , "\xdf\xe1\x56\x4c\x69" } , { "\xc1\xde" , "\xdf\xe1\x57" } , { "\xc1\xde\xa2" , "\xdf\xe1\x57\x4c\x69" } , { "\xc1\xdf" , "\xdf\xe1\x58" } , { "\xc1\xe0" , "\xe2\xdf\xe1" } , { "\xc1\xe0\xa2" , "\xe2\xdf\xe1\x4c\x69" } , { "\xc1\xe1" , "\xe2\xdf\xe1\x5b" } , { "\xc1\xe1\xa2" , "\xe2\xdf\xe1\x5b\x4c\x69" } , { "\xc1\xe2" , "\x5c\xe2\xdf\xe1" } , { "\xc1\xe2\xa2" , "\x5c\xe2\xdf\xe1\x4c\x69" } , { "\xc1\xe2\xa3" , "\x5c\xe2\xdf\xe1\x4d" } , { "\xc1\xe4" , "\xdf\xe3\xdc" } , { "\xc1\xe5" , "\xdf\xe3\xdc\x5b" } , { "\xc1\xe5\xa2" , "\xdf\xe3\xdc\x5b\x4c\x69" } , { "\xc1\xe6" , "\xdf\xdd" } , { "\xc1\xe8" , "\xdf\xe3\xde" } , { "\xc1\xe8\xb3\xdd" , "\xdf\xe1\x56\xe4" } , { "\xc1\xe8\xb3\xe1" , "\xe2\xdf\xe1\x5b\xe4" } , { "\xc1\xe8\xb5\xda" , "\xdf\xe6\xd8" } , { "\xc1\xe8\xba\xda" , "\xdf\xea\xd8" } , { "\xc1\xe8\xba\xe5\xa2" , "\xdf\xea\xe3\xdc\x5b\x4c\x69" } , { "\xc1\xe8\xbd" , "\xdf\xed\xe1" } , { "\xc1\xe8\xbd\xda" , "\xdf\xed\xd8" } , { "\xc1\xe8\xbd\xdb" , "\xdf\xed\xd3\xe1" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xdf\xed\xd3\xe1\x4c\x69" } , { "\xc1\xe8\xbd\xdc" , "\xdf\xed\xd4\xe1" } , { "\xc1\xe8\xbd\xdd" , "\xdf\xed\xe1\x56" } , { "\xc1\xe8\xbd\xde" , "\xdf\xed\xe1\x57" } , { "\xc1\xe8\xbd\xe1" , "\xe2\xdf\xed\xe1\x5b" } , { "\xc1\xe8\xbd\xe1\xa2" , "\xe2\xdf\xed\xe1\x5b\x4c\x69" } , { "\xc1\xe8\xbd\xe5" , "\xdf\xed\xe3\xdc\x5b" } , { "\xc1\xe8\xbd\xe5\xa2" , "\xdf\xed\xe3\xdc\x5b\x4c\x69" } , { "\xc1\xe8\xbd\xe8\xcf" , "\xdf\xed\xe1\xfb" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\xdf\xed\xd4\xe1\xfb" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\xdf\xed\xe3\xdc\x5b\xfb" } , { "\xc1\xe8\xbd\xe8\xd7" , "\xdf\xed\xe1\x3d" } , { "\xc1\xe8\xbe" , "\xdf\xee\xe1" } , { "\xc1\xe8\xbe\xa2" , "\xdf\xee\xe1\x4c\x69" } , { "\xc1\xe8\xbe\xda" , "\xdf\xee\xd8" } , { "\xc1\xe8\xbe\xdb" , "\xdf\xee\xd3\xe1" } , { "\xc1\xe8\xbe\xdc" , "\xdf\xee\xd4\xe1" } , { "\xc1\xe8\xbe\xe1" , "\xe2\xdf\xee\xe1\x5b" } , { "\xc1\xe8\xbe\xe5" , "\xdf\xee\xe3\xdc\x5b" } , { "\xc1\xe8\xbe\xe5\xa2" , "\xdf\xee\xe3\xdc\x5b\x4c\x69" } , { "\xc1\xe8\xbf" , "\xdf\xef\xe1" } , { "\xc1\xe8\xbf\xa2" , "\xdf\xef\xe1\x4c\x69" } , { "\xc1\xe8\xbf\xda" , "\xdf\xef\xd8" } , { "\xc1\xe8\xbf\xda\xa2" , "\xdf\xef\xd8\x4c\x69" } , { "\xc1\xe8\xbf\xdb" , "\xdf\xef\xd3\xe1" } , { "\xc1\xe8\xbf\xdb\xa2" , "\xdf\xef\xd3\xe1\x4c\x69" } , { "\xc1\xe8\xbf\xdc" , "\xdf\xef\xd4\xe1" } , { "\xc1\xe8\xbf\xdd" , "\xdf\xef\xe1\x56" } , { "\xc1\xe8\xbf\xde" , "\xdf\xef\xe1\x57" } , { "\xc1\xe8\xbf\xe1" , "\xe2\xdf\xef\xe1\x5b" } , { "\xc1\xe8\xbf\xe1\xa2" , "\xe2\xdf\xef\xe1\x5b\x4c\x69" } , { "\xc1\xe8\xbf\xe2" , "\xe2\xdf\xef\x5e\xe1" } , { "\xc1\xe8\xbf\xe5" , "\xdf\xef\xe3\xdc\x5b" } , { "\xc1\xe8\xbf\xe5\xa2" , "\xdf\xef\xe3\xdc\x5b\x4c\x69" } , { "\xc1\xe8\xbf\xe6" , "\xdf\xef\xdd" } , { "\xc1\xe8\xbf\xe8\xcd" , "\xdf\xef\xe1\xf9" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\xdf\xef\xd8\xf9" } , { "\xc1\xe8\xbf\xe8\xcf" , "\xdf\xef\xe1\xfb" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\xdf\xef\xd8\xfb" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\xdf\xef\xd3\xe1\xfb" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\xdf\xef\xd4\xe1\xfb" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\xdf\xef\xe1\x57\xfb" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\xe2\xdf\xef\xe1\x5b\xfb" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\xdf\xef\xe3\xdc\x5b\xfb" } , { "\xc1\xe8\xbf\xe8\xd7" , "\xdf\xef\xe1\x3d" } , { "\xc1\xe8\xbf\xe9" , "\xdf\xef\xe1" } , { "\xc1\xe8\xbf\xe9\xda" , "\xdf\xef\xd8" } , { "\xc1\xe8\xbf\xe9\xdc" , "\xdf\xef\xd4\xe1" } , { "\xc1\xe8\xbf\xe9\xe1" , "\xe2\xdf\xef\xe1\x5b" } , { "\xc1\xe8\xbf\xe9\xe5" , "\xdf\xef\xe3\xdc\x5b" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\xdf\xef\xe3\xdc\x5b\x4c\x69" } , { "\xc1\xe8\xc0" , "\xdf\xef\xf0\xe1" } , { "\xc1\xe8\xc0\xdb" , "\xdf\xef\xf0\xd3\xe1" } , { "\xc1\xe8\xc1" , "\xdf\xf1\xe1" } , { "\xc1\xe8\xc1\xa2" , "\xdf\xf1\xe1\x4c\x69" } , { "\xc1\xe8\xc1\xda" , "\xdf\xf1\xd8" } , { "\xc1\xe8\xc1\xda\xa2" , "\xdf\xf1\xd8\x4c\x69" } , { "\xc1\xe8\xc1\xdb" , "\xdf\xf1\xd3\xe1" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xdf\xf1\xd3\xe1\x4c\x69" } , { "\xc1\xe8\xc1\xdc" , "\xdf\xf1\xd4\xe1" } , { "\xc1\xe8\xc1\xdc\xa2" , "\xdf\xf1\xd4\xe1\x4c\x69" } , { "\xc1\xe8\xc1\xdd" , "\xdf\xf1\xe1\x56" } , { "\xc1\xe8\xc1\xdd\xa2" , "\xdf\xf1\xe1\x56\x4c\x69" } , { "\xc1\xe8\xc1\xde" , "\xdf\xf1\xe1\x57" } , { "\xc1\xe8\xc1\xe0" , "\xe2\xdf\xf1\xe1" } , { "\xc1\xe8\xc1\xe0\xa2" , "\xe2\xdf\xf1\xe1\x4c\x69" } , { "\xc1\xe8\xc1\xe1" , "\xe2\xdf\xf1\xe1\x5b" } , { "\xc1\xe8\xc1\xe2" , "\xe2\xdf\xf1\x5e\xe1" } , { "\xc1\xe8\xc1\xe4" , "\xdf\xf1\xe3\xdc" } , { "\xc1\xe8\xc1\xe5" , "\xdf\xf1\xe3\xdc\x5b" } , { "\xc1\xe8\xc2\xdb" , "\xdf\xd3\xe1\xf2" } , { "\xc1\xe8\xc2\xe5" , "\xdf\xe3\xdc\x5b\xf2" } , { "\xc1\xe8\xc4\xdb" , "\xdf\xf4\xd3\xe1" } , { "\xc1\xe8\xc4\xdd" , "\xdf\xf4\xe1\x56" } , { "\xc1\xe8\xc4\xe0" , "\xe2\xdf\xf4\xe1" } , { "\xc1\xe8\xc6" , "\xdf\xe1\xf5" } , { "\xc1\xe8\xc6\xa2" , "\xdf\xe1\xf5\x4c\x69" } , { "\xc1\xe8\xc6\xda" , "\xdf\xd8\xf5" } , { "\xc1\xe8\xc6\xdb" , "\xdf\xd3\xe1\xf5" } , { "\xc1\xe8\xc6\xdb\xa2" , "\xdf\xd3\xe1\xf5\x4c\x69" } , { "\xc1\xe8\xc6\xdc" , "\xdf\xd4\xe1\xf5" } , { "\xc1\xe8\xc6\xdd" , "\xdf\xe1\x56\xf5" } , { "\xc1\xe8\xc6\xdd\xa2" , "\xdf\xe1\x56\xf5\x4c\x69" } , { "\xc1\xe8\xc6\xe0" , "\xe2\xdf\xe1\xf5" } , { "\xc1\xe8\xc6\xe0\xa2" , "\xe2\xdf\xe1\xf5\x4c\x69" } , { "\xc1\xe8\xc6\xe1" , "\xe2\xdf\xe1\x5b\xf5" } , { "\xc1\xe8\xc6\xe1\xa2" , "\xe2\xdf\xe1\x5b\xf5\x4c\x69" } , { "\xc1\xe8\xc6\xe5" , "\xdf\xe3\xdc\x5b\xf5" } , { "\xc1\xe8\xc8" , "\xdf\xe1\xf6" } , { "\xc1\xe8\xc8\xda" , "\xdf\xd8\xf6" } , { "\xc1\xe8\xc8\xe8\xcf" , "\xdf\xe1\xf6\x51\xfb" } , { "\xc1\xe8\xca\xda" , "\xdf\xd8\xf7" } , { "\xc1\xe8\xcc" , "\xdf\xe1\xf8" } , { "\xc1\xe8\xcc\xda" , "\xdf\xd8\xf8" } , { "\xc1\xe8\xcc\xdb" , "\xdf\xd3\xe1\xf8" } , { "\xc1\xe8\xcc\xdc" , "\xdf\xd4\xe1\xf8" } , { "\xc1\xe8\xcc\xdd" , "\xdf\xe1\x56\xf8" } , { "\xc1\xe8\xcc\xde" , "\xdf\xe1\x57\xf8" } , { "\xc1\xe8\xcc\xe0" , "\xe2\xdf\xe1\xf8" } , { "\xc1\xe8\xcc\xe1" , "\xe2\xdf\xe1\x5b\xf8" } , { "\xc1\xe8\xcd" , "\xdf\xe1\xf9" } , { "\xc1\xe8\xcd\xa2" , "\xdf\xe1\xf9\x4c\x69" } , { "\xc1\xe8\xcd\xa2\xa2" , "\xdf\xe1\xf9\x4c\x69\x69\x4c\x69" } , { "\xc1\xe8\xcd\xda" , "\xdf\xd8\xf9" } , { "\xc1\xe8\xcd\xda\xa2" , "\xdf\xd8\xf9\x4c\x69" } , { "\xc1\xe8\xcd\xdc" , "\xdf\xd4\xe1\xf9" } , { "\xc1\xe8\xcd\xdd" , "\xdf\xe1\x56\xf9" } , { "\xc1\xe8\xcd\xde\xa2" , "\xdf\xe1\x57\xf9\x4c\x69" } , { "\xc1\xe8\xcd\xe1" , "\xe2\xdf\xe1\x5b\xf9" } , { "\xc1\xe8\xcd\xe5" , "\xdf\xe3\xdc\x5b\xf9" } , { "\xc1\xe8\xcd\xe5\xa2" , "\xdf\xe3\xdc\x5b\xf9\x4c\x69" } , { "\xc1\xe8\xcd\xe8\xcd" , "\xdf\xe1\xf9\x51\xf9" } , { "\xc1\xe8\xcf\xda" , "\xfa\xdf\xd8" } , { "\xc1\xe8\xcf\xe8\xcd" , "\xdf\xe1\xfb\x51\xf9" } , { "\xc1\xe8\xd0\xdd" , "\xdf\xfc\xe1\x56" } , { "\xc1\xe8\xd1" , "\xdf\xfd\xe1" } , { "\xc1\xe8\xd1\xda\xa2" , "\xdf\xfd\xd8\x4c\x69" } , { "\xc1\xe8\xd1\xdd" , "\xdf\xfd\xe1\x56" } , { "\xc1\xe8\xd4" , "\xdf\xe1\x2a" } , { "\xc1\xe8\xd4\xa2" , "\xdf\xe1\x2a\x4c\x69" } , { "\xc1\xe8\xd4\xda" , "\xdf\xd8\x2a" } , { "\xc1\xe8\xd4\xdb" , "\xdf\xd3\xe1\x2a" } , { "\xc1\xe8\xd4\xdc" , "\xdf\xd4\xe1\x2a" } , { "\xc1\xe8\xd4\xdd" , "\xdf\xe1\x56\x2a" } , { "\xc1\xe8\xd4\xe1" , "\xe2\xdf\xe1\x5b\x2a" } , { "\xc1\xe8\xd5\xe6" , "\xdf\xdd\x2b" } , { "\xc1\xe8\xd7\xdb\xa2" , "\xdf\xd3\xe1\x3d\x4c\x69" } , { "\xc1\xe8\xd9\xbf\xdb" , "\xdf\xe1\xb2\x54\xb6" } , { "\xc1\xe8\xe8" , "\xdf\xe3\xde" } , { "\xc1\xe9" , "\xdf\xe1" } , { "\xc1\xe9\xe8\xbf" , "\xdf\xef\xe1" } , { "\xc1\xe9\xe8\xbf\xda" , "\xdf\xef\xd8" } , { "\xc1\xe9\xe8\xbf\xdb" , "\xdf\xef\xd3\xe1" } , { "\xc1\xe9\xe8\xbf\xe1" , "\xe2\xdf\xef\xe1\x5b" } , { "\xc2" , "\xbb\x52\xbd" } , { "\xc2\xa1" , "\xbb\x52\xbd\xb7" } , { "\xc2\xa2" , "\xbb\x52\xbd\x4c\x69" } , { "\xc2\xa2\xa2" , "\xbb\x52\xbd\x4c\x69\x69\x4c\x69" } , { "\xc2\xa3" , "\xbb\x52\xbd\x4d" } , { "\xc2\xd0\xc6\xda" , "\xbb\x52\xbd\xe0\xe1\xa9\x79" } , { "\xc2\xda" , "\xbb\x79" } , { "\xc2\xda\xa1" , "\xbb\x79\xb7" } , { "\xc2\xda\xa2" , "\xbb\x79\x4c\x69" } , { "\xc2\xda\xa2\xa2" , "\xbb\x79\x4c\x69\x69\x4c\x69" } , { "\xc2\xda\xa3" , "\xbb\x79\x4d" } , { "\xc2\xdb" , "\xbc\xbd" } , { "\xc2\xdb\xa2" , "\xbc\xbd\x4c\x69" } , { "\xc2\xdb\xa3" , "\xbc\xbd\x4d" } , { "\xc2\xdc" , "\xbc\x64\xbd" } , { "\xc2\xdc\xa2" , "\xbc\x64\xbd\x4c\x69" } , { "\xc2\xdd" , "\xbb\x52\xbd\x56" } , { "\xc2\xdd\xa1" , "\xbb\x52\xbd\x56\xb7" } , { "\xc2\xdd\xa2" , "\xbb\x52\xbd\x56\x4c\x69" } , { "\xc2\xdd\xa2\xa2" , "\xbb\x52\xbd\x56\x4c\x69\x69\x4c\x69" } , { "\xc2\xdd\xa3" , "\xbb\x52\xbd\x56\x4d" } , { "\xc2\xde" , "\xbb\x52\xbd\x57" } , { "\xc2\xde\xa1" , "\xbb\x52\xbd\x57\xb7" } , { "\xc2\xde\xa2" , "\xbb\x52\xbd\x57\x4c\x69" } , { "\xc2\xdf" , "\xbb\x52\xbd\x58" } , { "\xc2\xdf\xa2" , "\xbb\x52\xbd\x58\x4c\x69" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\xbb\x52\xbd\x58\xe0\xd3\xe1\xf2" } , { "\xc2\xe0" , "\xbe\xbb\xbd" } , { "\xc2\xe0\xa2" , "\xbe\xbb\xbd\x4c\x69" } , { "\xc2\xe1" , "\xbe\xbb\xbd\x5b" } , { "\xc2\xe1\xa2" , "\xbe\xbb\xbd\x5b\x4c\x69" } , { "\xc2\xe1\xa3" , "\xbe\xbb\xbd\x5b\x4d" } , { "\xc2\xe2" , "\x5c\xbe\xbb\xbd" } , { "\xc2\xe2\xa2" , "\x5c\xbe\xbb\xbd\x4c\x69" } , { "\xc2\xe2\xa3" , "\x5c\xbe\xbb\xbd\x4d" } , { "\xc2\xe4" , "\xbb\x5d" } , { "\xc2\xe4\xa2" , "\xbb\x5d\x4c\x69" } , { "\xc2\xe5" , "\xbb\x5d\x5b" } , { "\xc2\xe5\xa2" , "\xbb\x5d\x5b\x4c\x69" } , { "\xc2\xe5\xa3" , "\xbb\x5d\x5b\x4d" } , { "\xc2\xe6" , "\xbb\x66" } , { "\xc2\xe6\xa2" , "\xbb\x66\x4c\x69" } , { "\xc2\xe7" , "\xbb\x5d" } , { "\xc2\xe8" , "\xbb\x60\xbd" } , { "\xc2\xe8\xb3" , "\xbb\x52\xbd\xe4" } , { "\xc2\xe8\xb3\xa2" , "\xbb\x52\xbd\xe4\x4c\x69" } , { "\xc2\xe8\xb3\xda" , "\xbb\x79\xe4" } , { "\xc2\xe8\xb3\xda\xa2" , "\xbb\x79\xe4\x4c\x69" } , { "\xc2\xe8\xb3\xdb" , "\xbc\xbd\xe4" } , { "\xc2\xe8\xb3\xdb\xa2" , "\xbc\xbd\xe4\x4c\x69" } , { "\xc2\xe8\xb3\xdc" , "\xbc\x64\xbd\xe4" } , { "\xc2\xe8\xb3\xdd" , "\xbb\x52\xbd\x56\xe4" } , { "\xc2\xe8\xb3\xdd\xa2" , "\xbb\x52\xbd\x56\xe4\x4c\x69" } , { "\xc2\xe8\xb3\xde" , "\xbb\x52\xbd\x57\xe4" } , { "\xc2\xe8\xb3\xdf" , "\xbb\x52\xbd\xe4\x51\x58" } , { "\xc2\xe8\xb3\xe0" , "\xbe\xbb\xbd\xe4" } , { "\xc2\xe8\xb3\xe1" , "\xbe\xbb\xbd\x5b\xe4" } , { "\xc2\xe8\xb3\xe1\xa2" , "\xbe\xbb\xbd\x5b\xe4\x4c\x69" } , { "\xc2\xe8\xb3\xe4" , "\xbb\x5d\xe4" } , { "\xc2\xe8\xb3\xe5" , "\xbb\x5d\x5b\xe4" } , { "\xc2\xe8\xb3\xe8\xc2" , "\xbb\x60\xbd\x4e\x52\x50\xf2" } , { "\xc2\xe8\xb3\xe8\xcf" , "\xbb\x52\xbd\xe4\x51\xfb" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\xbb\x52\xbd\xe4\x51\xfb\x4c\x69" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\xbc\xbd\xe4\x51\xfb" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\xbe\xbb\xbd\x5b\xe4\x51\xfb\x4c\x69" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\xbb\x5d\x5b\xe4\x51\xfb" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\xbb\x60\xbd\x5a\x4e\xfd\x50\x5b" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\xbb\x60\xbd\x4e\xfd\x5d\x5b" } , { "\xc2\xe8\xb3\xe8\xd4" , "\xbb\x52\xbd\xe4\x51\x2a" } , { "\xc2\xe8\xb3\xe8\xd6" , "\xbb\x60\xbd\x4f\x52\x50\x51" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\xbb\x60\xbd\x4f\x54\x50\x51" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\xbb\x60\xbd\x5a\x4f\x50\x5b\x51" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\xbb\x60\xbd\x4e\x60\x50\x78\x74\xed\x73\x51" } , { "\xc2\xe8\xb4" , "\xbb\xe5\x52\xbd" } , { "\xc2\xe8\xb4\xa2" , "\xbb\xe5\x52\xbd\x4c\x69" } , { "\xc2\xe8\xb4\xda" , "\xbb\xe5\x79" } , { "\xc2\xe8\xb4\xe1" , "\xbe\xbb\xe5\xbd\x5b" } , { "\xc2\xe8\xb5\xda" , "\xbb\xe6\x79" } , { "\xc2\xe8\xb5\xe8\xd8" , "\xbb\x60\xbd\x67\x3e\x52\x69" } , { "\xc2\xe8\xb8" , "\xbb\x52\xbd\xe8" } , { "\xc2\xe8\xb8\xda" , "\xbb\x79\xe8" } , { "\xc2\xe8\xb8\xe1" , "\xbe\xbb\xbd\x5b\xe8" } , { "\xc2\xe8\xb8\xe8\xb9" , "\xbb\x52\xbd\xe8\x51\xe8\xe9" } , { "\xc2\xe8\xba" , "\xbb\xea\x52\xbd" } , { "\xc2\xe8\xba\xa2" , "\xbb\xea\x52\xbd\x4c\x69" } , { "\xc2\xe8\xba\xdb" , "\xbc\xea\xbd" } , { "\xc2\xe8\xba\xe8\xbc" , "\xbb\x60\xbd\xc7\xec\xc1" } , { "\xc2\xe8\xba\xe9" , "\xbb\xea\x52\xbd" } , { "\xc2\xe8\xbd\xe2" , "\xbe\xbb\xed\x5e\xbd" } , { "\xc2\xe8\xbf\xdd" , "\xbb\xef\x52\xbd\x56" } , { "\xc2\xe8\xbf\xe5" , "\xbb\xef\x5d\x5b" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\xbb\xef\x79\xfb" } , { "\xc2\xe8\xc1" , "\xbb\xf1\x52\xbd" } , { "\xc2\xe8\xc2" , "\xbb\x52\xbd\xf2" } , { "\xc2\xe8\xc2\xa2" , "\xbb\x52\xbd\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xda" , "\xbb\x79\xf2" } , { "\xc2\xe8\xc2\xda\xa1" , "\xbb\x79\xf2\xb7" } , { "\xc2\xe8\xc2\xda\xa2" , "\xbb\x79\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xda\xa3" , "\xbb\x79\xf2\x4d" } , { "\xc2\xe8\xc2\xdb" , "\xbc\xbd\xf2" } , { "\xc2\xe8\xc2\xdb\xa2" , "\xbc\xbd\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xdb\xa3" , "\xbc\xbd\xf2\x4d" } , { "\xc2\xe8\xc2\xdc" , "\xbc\x64\xbd\xf2" } , { "\xc2\xe8\xc2\xdc\xa2" , "\xbc\x64\xbd\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xdd" , "\xbb\x52\xbd\x56\xf2" } , { "\xc2\xe8\xc2\xdd\xa2" , "\xbb\x52\xbd\x56\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xde" , "\xbb\x52\xbd\x57\xf2" } , { "\xc2\xe8\xc2\xde\xa2" , "\xbb\x52\xbd\x57\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xdf" , "\xbb\x52\xbd\xf2\x51\x58" } , { "\xc2\xe8\xc2\xe0" , "\xbe\xbb\xbd\xf2" } , { "\xc2\xe8\xc2\xe0\xa2" , "\xbe\xbb\xbd\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xe1" , "\xbe\xbb\xbd\x5b\xf2" } , { "\xc2\xe8\xc2\xe1\xa2" , "\xbe\xbb\xbd\x5b\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xe1\xa3" , "\xbe\xbb\xbd\x5b\xf2\x4d" } , { "\xc2\xe8\xc2\xe2" , "\xbe\xbb\x5e\xbd\x51\xf2" } , { "\xc2\xe8\xc2\xe4" , "\xbb\x5d\xf2" } , { "\xc2\xe8\xc2\xe5" , "\xbb\x5d\x5b\xf2" } , { "\xc2\xe8\xc2\xe5\xa2" , "\xbb\x5d\x5b\xf2\x4c\x69" } , { "\xc2\xe8\xc2\xe6" , "\xbb\x66\xf2" } , { "\xc2\xe8\xc2\xe8" , "\xbb\x60\xbd\xf2" } , { "\xc2\xe8\xc2\xe8\xb3" , "\xbb\x52\xbd\xf2\x51\xe4" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\xbb\x79\xf2\x51\xe4" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\xbb\x60\xbd\xbb\x60\xbd\x4f\x52\x50\x51" } , { "\xc2\xe8\xc2\xe8\xc2" , "\xbb\x60\xbd\xbb\x52\xbd\xf2" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\xbb\x60\xbd\xbb\x79\xf2" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\xbb\x60\xbd\xbc\xbd\xf2" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\xbb\x60\xbd\xbe\xbb\xbd\x5b\xf2" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\xbb\x60\xbd\xbb\x60\xbd\xbb\x60\xbd\xf2" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\xbb\x60\xbd\xbb\x5d\x5b\xf2\x51\x2a\x4c\x69" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\xbb\x60\xbd\xbb\xf3\x79" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\xbb\x52\xbd\x57\xf2\x51\xf6" } , { "\xc2\xe8\xc2\xe8\xcc" , "\xbb\x52\xbd\xf2\x51\xf8" } , { "\xc2\xe8\xc2\xe8\xcd" , "\xbb\x52\xbd\xf2\x51\xf9" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\xbb\x52\xbd\xf2\x51\xf9\x4c\x69" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\xbb\x79\xf2\x51\xf9" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\xbb\x52\xbd\x56\xf2\x51\xf9" } , { "\xc2\xe8\xc2\xe8\xcf" , "\xbb\x52\xbd\xf2\x51\xfb" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\xbb\x52\xbd\xf2\x51\xfb\x4c\x69" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\xbb\x79\xf2\x51\xfb" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\xbc\xbd\xf2\x51\xfb" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\xbe\xbb\xbd\xf2\x51\xfb" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\xbe\xbb\x5e\xbd\x51\xf2\x51\xfb" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\xbb\x52\xbd\xf2\x51\xfb\x51\xf9" } , { "\xc2\xe8\xc2\xe8\xd4" , "\xbb\x52\xbd\xf2\x51\x2a" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\xbb\x52\xbd\xf2\x51\x2a\x4c\x69" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\xbb\x79\xf2\x51\x2a" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\xbb\x79\xf2\x51\x2a\x4c\x69" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\xbc\xbd\xf2\x51\x2a" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\xbb\x52\xbd\x57\xf2\x51\x2a" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\xbb\x5d\x5b\xf2\x51\x2a" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\xbb\x5d\x5b\xf2\x51\x2a\x4c\x69" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\xbb\x52\xbd\xf2\x51\x78\x6d\x73" } , { "\xc2\xe8\xc3" , "\xbb\xf3\x52\xbd" } , { "\xc2\xe8\xc3\xa2" , "\xbb\xf3\x52\xbd\x4c\x69" } , { "\xc2\xe8\xc3\xda" , "\xbb\xf3\x79" } , { "\xc2\xe8\xc3\xdb" , "\xbc\xf3\xbd" } , { "\xc2\xe8\xc3\xdc" , "\xbc\x64\xf3\xbd" } , { "\xc2\xe8\xc3\xde" , "\xbb\xf3\x52\xbd\x57" } , { "\xc2\xe8\xc3\xe1" , "\xbe\xbb\xf3\xbd\x5b" } , { "\xc2\xe8\xc3\xe5" , "\xbb\xf3\x5d\x5b" } , { "\xc2\xe8\xc3\xe5\xa2" , "\xbb\xf3\x5d\x5b\x4c\x69" } , { "\xc2\xe8\xc4" , "\xbb\xf4\x52\xbd" } , { "\xc2\xe8\xc4\xda" , "\xbb\xf4\x79" } , { "\xc2\xe8\xc4\xdd" , "\xbb\xf4\x52\xbd\x56" } , { "\xc2\xe8\xc4\xe1" , "\xbe\xbb\xf4\xbd\x5b" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\xbe\xbb\xf4\x5e\xbd\x2a" } , { "\xc2\xe8\xc5" , "\xbb\xf4\xf0\x52\xbd" } , { "\xc2\xe8\xc5\xa2" , "\xbb\xf4\xf0\x52\xbd\x4c\x69" } , { "\xc2\xe8\xc5\xda" , "\xbb\xf4\xf0\x79" } , { "\xc2\xe8\xc5\xda\xa2" , "\xbb\xf4\xf0\x79\x4c\x69" } , { "\xc2\xe8\xc5\xdb" , "\xbc\xf4\xf0\xbd" } , { "\xc2\xe8\xc5\xe8\xd7" , "\xbb\xf4\xf0\x52\xbd\x3d" } , { "\xc2\xe8\xc6" , "\xbb\x52\xbd\xf5" } , { "\xc2\xe8\xc6\xa2" , "\xbb\x52\xbd\xf5\x4c\x69" } , { "\xc2\xe8\xc6\xda" , "\xbb\x79\xf5" } , { "\xc2\xe8\xc6\xda\xa2" , "\xbb\x79\xf5\x4c\x69" } , { "\xc2\xe8\xc6\xdb" , "\xbc\xbd\xf5" } , { "\xc2\xe8\xc6\xdb\xa2" , "\xbc\xbd\xf5\x4c\x69" } , { "\xc2\xe8\xc6\xdc" , "\xbc\x64\xbd\xf5" } , { "\xc2\xe8\xc6\xdd" , "\xbb\x52\xbd\x56\xf5" } , { "\xc2\xe8\xc6\xdd\xa2" , "\xbb\x52\xbd\x56\xf5\x4c\x69" } , { "\xc2\xe8\xc6\xe1" , "\xbe\xbb\xbd\x5b\xf5" } , { "\xc2\xe8\xc6\xe5" , "\xbb\x5d\x5b\xf5" } , { "\xc2\xe8\xc6\xe5\xa2" , "\xbb\x5d\x5b\xf5\x4c\x69" } , { "\xc2\xe8\xc6\xe8\xcd" , "\xbb\x52\xbd\xf5\x51\x51\xf9" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\xbb\x79\xf5\x51\x51\xf9\x4d" } , { "\xc2\xe8\xc8" , "\xbb\x52\xbd\xf6" } , { "\xc2\xe8\xc8\xa2" , "\xbb\x52\xbd\xf6\x4c\x69" } , { "\xc2\xe8\xc8\xda" , "\xbb\x79\xf6" } , { "\xc2\xe8\xc8\xda\xa2" , "\xbb\x79\xf6\x4c\x69" } , { "\xc2\xe8\xc8\xdb" , "\xbc\xbd\xf6" } , { "\xc2\xe8\xc8\xdb\xa2" , "\xbc\xbd\xf6\x4c\x69" } , { "\xc2\xe8\xc8\xdc" , "\xbc\x64\xbd\xf6" } , { "\xc2\xe8\xc8\xdd" , "\xbb\x52\xbd\x56\xf6" } , { "\xc2\xe8\xc8\xde" , "\xbb\x52\xbd\x57\xf6" } , { "\xc2\xe8\xc8\xdf" , "\xbb\x52\xbd\xf6\x51\x58" } , { "\xc2\xe8\xc8\xe1" , "\xbe\xbb\xbd\x5b\xf6" } , { "\xc2\xe8\xc8\xe6" , "\xbb\x66\xf6" } , { "\xc2\xe8\xc8\xe8\xc2" , "\xbb\x60\xbd\x78\x6d\x73\xf2" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\xbb\x60\xbd\x7a\x6d\x73\xf2" } , { "\xc2\xe8\xc8\xe8\xcf" , "\xbb\x52\xbd\xf6\x51\xfb" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\xbb\x79\xf6\x51\xfb" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\xbb\x79\xf6\x51\xfb\x4c\x69" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\xbc\xbd\xf6\x51\xfb" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\xbe\xbb\xbd\x5b\xf6\x51\xfb" } , { "\xc2\xe8\xc8\xe8\xd1" , "\xbb\x60\xbd\x78\x6d\xfd\x73" } , { "\xc2\xe8\xc9" , "\xbb\x52\xbd\xf6\xe9" } , { "\xc2\xe8\xc9\xda" , "\xbb\x79\xf6\xe9" } , { "\xc2\xe8\xc9\xdb" , "\xbc\xbd\xf6\xe9" } , { "\xc2\xe8\xc9\xdd" , "\xbb\x52\xbd\x56\xf6\xe9" } , { "\xc2\xe8\xc9\xe8\xcf" , "\xbb\x52\xbd\xf6\xe9\x51\xfb" } , { "\xc2\xe8\xc9\xe9" , "\xbb\x52\xbd\xf6\xe9" } , { "\xc2\xe8\xca" , "\xbb\x52\xbd\xf7" } , { "\xc2\xe8\xca\xa2" , "\xbb\x52\xbd\xf7\x4c\x69" } , { "\xc2\xe8\xca\xda" , "\xbb\x79\xf7" } , { "\xc2\xe8\xca\xdb" , "\xbc\xbd\xf7" } , { "\xc2\xe8\xca\xdd" , "\xbb\x52\xbd\x56\xf7" } , { "\xc2\xe8\xca\xe1" , "\xbe\xbb\xbd\x5b\xf7" } , { "\xc2\xe8\xca\xe8\xcf" , "\xbb\x52\xbd\xf7\x51\xfb" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\xbb\x60\xbd\xcb\xfd\xd8" } , { "\xc2\xe8\xcb" , "\xbb\x52\xbd\xf7\xe9" } , { "\xc2\xe8\xcb\xda" , "\xbb\x79\xf7\xe9" } , { "\xc2\xe8\xcb\xda\xa2" , "\xbb\x79\xf7\xe9\x4c\x69" } , { "\xc2\xe8\xcb\xdb" , "\xbc\xbd\xf7\xe9" } , { "\xc2\xe8\xcb\xdd" , "\xbb\x52\xbd\x56\xf7\xe9" } , { "\xc2\xe8\xcb\xde" , "\xbb\x52\xbd\x57\xf7\xe9" } , { "\xc2\xe8\xcc" , "\xbb\x52\xbd\xf8" } , { "\xc2\xe8\xcc\xa2" , "\xbb\x52\xbd\xf8\x4c\x69" } , { "\xc2\xe8\xcc\xda" , "\xbb\x79\xf8" } , { "\xc2\xe8\xcc\xdb" , "\xbc\xbd\xf8" } , { "\xc2\xe8\xcc\xdc" , "\xbc\x64\xbd\xf8" } , { "\xc2\xe8\xcc\xdd" , "\xbb\x52\xbd\x56\xf8" } , { "\xc2\xe8\xcc\xdd\xa2" , "\xbb\x52\xbd\x56\xf8\x4c\x69" } , { "\xc2\xe8\xcc\xdf" , "\xbb\x52\xbd\xf8\x51\x58" } , { "\xc2\xe8\xcc\xe1" , "\xbe\xbb\xbd\x5b\xf8" } , { "\xc2\xe8\xcc\xe1\xa2" , "\xbe\xbb\xbd\x5b\xf8\x4c\x69" } , { "\xc2\xe8\xcc\xe2" , "\x5c\xbe\xbb\xbd\x51\xf8" } , { "\xc2\xe8\xcc\xe4" , "\xbb\x5d\xf8" } , { "\xc2\xe8\xcc\xe5" , "\xbb\x5d\x5b\xf8" } , { "\xc2\xe8\xcc\xe6" , "\xbb\x66\xf8" } , { "\xc2\xe8\xcc\xe8" , "\xbb\x60\xbd\xf8" } , { "\xc2\xe8\xcc\xe8\xb3" , "\xbb\x52\xbd\xf8\x51\xe4" } , { "\xc2\xe8\xcc\xe8\xca" , "\xbb\x52\xbd\xf8\x51\xf7" } , { "\xc2\xe8\xcc\xe8\xcd" , "\xbb\x52\xbd\xf8\x51\xf9" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\xbb\x52\xbd\xf8\x51\xf9\x4c\x69" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\xbb\x79\xf8\x51\xf9" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\xbb\x5d\x5b\xf8\x51\xf9\x4c\x69" } , { "\xc2\xe8\xcd" , "\xbb\x52\xbd\xf9" } , { "\xc2\xe8\xcd\xa2" , "\xbb\x52\xbd\xf9\x4c\x69" } , { "\xc2\xe8\xcd\xda" , "\xbb\x79\xf9" } , { "\xc2\xe8\xcd\xda\xa2" , "\xbb\x79\xf9\x4c\x69" } , { "\xc2\xe8\xcd\xdb" , "\xbc\xbd\xf9" } , { "\xc2\xe8\xcd\xdc" , "\xbc\x64\xbd\xf9" } , { "\xc2\xe8\xcd\xdd" , "\xbb\x52\xbd\x56\xf9" } , { "\xc2\xe8\xcd\xdd\xa2" , "\xbb\x52\xbd\x56\xf9\x4c\x69" } , { "\xc2\xe8\xcd\xde" , "\xbb\x52\xbd\x57\xf9" } , { "\xc2\xe8\xcd\xe1" , "\xbe\xbb\xbd\x5b\xf9" } , { "\xc2\xe8\xcd\xe1\xa2" , "\xbe\xbb\xbd\x5b\xf9\x4c\x69" } , { "\xc2\xe8\xcd\xe5" , "\xbb\x5d\x5b\xf9" } , { "\xc2\xe8\xcd\xe5\xa2" , "\xbb\x5d\x5b\xf9\x4c\x69" } , { "\xc2\xe8\xcd\xe6" , "\xbb\x66\xf9" } , { "\xc2\xe8\xcd\xe8\xc2" , "\xbb\x60\xbd\xb8\x52\xb6\x56\xf2" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\xbb\x60\xbd\xb8\xba\xb6\x56\xf2" } , { "\xc2\xe8\xcd\xe8\xcc" , "\xbb\x52\xbd\xf9\x51\xf8" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\xbb\x52\xbd\xf9\x51\xf8\x4c\x69" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\xbb\x79\xf9\x51\xf8" } , { "\xc2\xe8\xcd\xe8\xcd" , "\xbb\x52\xbd\xf9\x51\xf9" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\xbb\x52\xbd\xf9\x51\xf9\x4c\x69" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\xbb\x79\xf9\x51\xf9" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\xbe\xbb\xbd\x5b\xf9\x51\xf9" } , { "\xc2\xe8\xcd\xe8\xcf" , "\xbb\x52\xbd\xf9\x51\xfb" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\xbb\x52\xbd\xf9\x51\xfb\x4c\x69" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\xbb\x52\xbd\xf9\x51\xfb\x4d" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\xbb\x79\xf9\x51\xfb" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\xbb\x5d\x5b\xf9\x51\xfb" } , { "\xc2\xe8\xcd\xe8\xd7" , "\xbb\x52\xbd\xf9\x51\x3d" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\xbb\x52\xbd\xf9\x51\x3d\x4d" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\xbb\x79\xf9\x51\x3d" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\xbe\xbb\xbd\x5b\xf9\x51\x3d\x4c\x69" } , { "\xc2\xe8\xcf" , "\xfa\xbb\x52\xbd" } , { "\xc2\xe8\xcf\xa2" , "\xfa\xbb\x52\xbd\x4c\x69" } , { "\xc2\xe8\xcf\xa3" , "\xfa\xbb\x52\xbd\x4d" } , { "\xc2\xe8\xcf\xda" , "\xfa\xbb\x79" } , { "\xc2\xe8\xcf\xda\xa2" , "\xfa\xbb\x79\x4c\x69" } , { "\xc2\xe8\xcf\xdb" , "\xfa\xbc\xbd" } , { "\xc2\xe8\xcf\xdb\xa2" , "\xfa\xbc\xbd\x4c\x69" } , { "\xc2\xe8\xcf\xdb\xa3" , "\xfa\xbc\xbd\x4d" } , { "\xc2\xe8\xcf\xdc" , "\xfa\xbc\x64\xbd" } , { "\xc2\xe8\xcf\xdc\xa2" , "\xfa\xbc\x64\xbd\x4c\x69" } , { "\xc2\xe8\xcf\xdd" , "\xfa\xbb\x52\xbd\x56" } , { "\xc2\xe8\xcf\xdd\xa2" , "\xfa\xbb\x52\xbd\x56\x4c\x69" } , { "\xc2\xe8\xcf\xde" , "\xfa\xbb\x52\xbd\x57" } , { "\xc2\xe8\xcf\xde\xa2" , "\xfa\xbb\x52\xbd\x57\x4c\x69" } , { "\xc2\xe8\xcf\xdf" , "\xfa\xbb\x52\xbd\x51\x58" } , { "\xc2\xe8\xcf\xe0" , "\xfa\xbe\xbb\xbd" } , { "\xc2\xe8\xcf\xe0\xa2" , "\xfa\xbe\xbb\xbd\x4c\x69" } , { "\xc2\xe8\xcf\xe1" , "\xfa\xbe\xbb\xbd\x5b" } , { "\xc2\xe8\xcf\xe1\xa2" , "\xfa\xbe\xbb\xbd\x5b\x4c\x69" } , { "\xc2\xe8\xcf\xe2" , "\x5c\xbe\xbb\xbd\x51\xfb" } , { "\xc2\xe8\xcf\xe2\xa2" , "\x5c\xbe\xbb\xbd\x51\xfb\x4c\x69" } , { "\xc2\xe8\xcf\xe2\xa3" , "\x5c\xbe\xbb\xbd\x51\xfb\x4d" } , { "\xc2\xe8\xcf\xe4" , "\xfa\xbb\x5d" } , { "\xc2\xe8\xcf\xe5" , "\xfa\xbb\x5d\x5b" } , { "\xc2\xe8\xcf\xe5\xa2" , "\xfa\xbb\x5d\x5b\x4c\x69" } , { "\xc2\xe8\xcf\xe5\xa3" , "\xfa\xbb\x5d\x5b\x4d" } , { "\xc2\xe8\xcf\xe6" , "\xfa\xbb\x66" } , { "\xc2\xe8\xcf\xe8\xb3" , "\xbb\x52\xbd\xfb\x51\xe4" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\xbc\xbd\xfb\x51\xe8" } , { "\xc2\xe8\xcf\xe8\xc2" , "\xbb\x60\xbd\x4c\x52\x69\xf2" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\xbb\x60\xbd\x4c\x53\xf2" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\xbb\x60\xbd\x4c\x6b\x69\xf2" } , { "\xc2\xe8\xcf\xe8\xc8" , "\xbb\x52\xbd\xfb\x51\xf6" } , { "\xc2\xe8\xcf\xe8\xcd" , "\xbb\x52\xbd\xfb\x51\xf9" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\xbb\x52\xbd\xfb\x51\xf9\x4c\x69" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\xbb\x79\xfb\x51\xf9" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\xbb\x52\xbd\x57\xfb\x51\xf9" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\xbe\xbb\xbd\x5b\xfb\x51\xf9" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\xbb\x5d\x5b\xfb\x51\xf9" } , { "\xc2\xe8\xcf\xe8\xd7" , "\xbb\x52\xbd\xfb\x51\x3d" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\xbb\x52\xbd\xfb\x51\x3d\x4c\x69" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\xbb\x52\xbd\xfb\x51\x4c\x52\x69\xf9" } , { "\xc2\xe8\xd1" , "\xbb\xfd\x52\xbd" } , { "\xc2\xe8\xd1\xa2" , "\xbb\xfd\x52\xbd\x4c\x69" } , { "\xc2\xe8\xd1\xda" , "\xbb\xfd\x79" } , { "\xc2\xe8\xd1\xdb" , "\xbc\xfd\xbd" } , { "\xc2\xe8\xd1\xdc" , "\xbc\x64\xfd\xbd" } , { "\xc2\xe8\xd1\xdd" , "\xbb\xfd\x52\xbd\x56" } , { "\xc2\xe8\xd1\xe1" , "\xbe\xbb\xfd\xbd\x5b" } , { "\xc2\xe8\xd1\xe2" , "\xbe\xbb\xfd\x5e\xbd" } , { "\xc2\xe8\xd1\xe5" , "\xbb\xfd\x5d\x5b" } , { "\xc2\xe8\xd1\xe8\xc8" , "\xbb\xfd\x52\xbd\xf6" } , { "\xc2\xe8\xd4" , "\xbb\x52\xbd\x2a" } , { "\xc2\xe8\xd4\xa2" , "\xbb\x52\xbd\x2a\x4c\x69" } , { "\xc2\xe8\xd4\xa3" , "\xbb\x52\xbd\x2a\x4d" } , { "\xc2\xe8\xd4\xda" , "\xbb\x79\x2a" } , { "\xc2\xe8\xd4\xda\xa2" , "\xbb\x79\x2a\x4c\x69" } , { "\xc2\xe8\xd4\xdb" , "\xbc\xbd\x2a" } , { "\xc2\xe8\xd4\xdb\xa3" , "\xbc\xbd\x2a\x4d" } , { "\xc2\xe8\xd4\xdc" , "\xbc\x64\xbd\x2a" } , { "\xc2\xe8\xd4\xdd" , "\xbb\x52\xbd\x56\x2a" } , { "\xc2\xe8\xd4\xdf" , "\xbb\x52\xbd\x2a\x51\x58" } , { "\xc2\xe8\xd4\xe0" , "\xbe\xbb\xbd\x2a" } , { "\xc2\xe8\xd4\xe1" , "\xbe\xbb\xbd\x5b\x2a" } , { "\xc2\xe8\xd4\xe2" , "\x5c\xbe\xbb\xbd\x51\x2a" } , { "\xc2\xe8\xd4\xe5" , "\xbb\x5d\x5b\x2a" } , { "\xc2\xe8\xd4\xe5\xa2" , "\xbb\x5d\x5b\x2a\x4c\x69" } , { "\xc2\xe8\xd4\xe6" , "\xbb\x66\x2a" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\xbb\x60\xbd\xad\x73\xf2" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\xbb\x60\xbd\xaa\xab\x73\xf2\x51\xf9" } , { "\xc2\xe8\xd5" , "\xbb\x52\xbd\x2b" } , { "\xc2\xe8\xd5\xda" , "\xbb\x79\x2b" } , { "\xc2\xe8\xd5\xdb" , "\xbc\xbd\x2b" } , { "\xc2\xe8\xd5\xde" , "\xbb\x52\xbd\x57\x2b" } , { "\xc2\xe8\xd5\xe1" , "\xbe\xbb\xbd\x5b\x2b" } , { "\xc2\xe8\xd5\xe8\xd4" , "\xbb\x52\xbd\x2b\x51\x2a" } , { "\xc2\xe8\xd6" , "\xbb\x3c\x52\xbd" } , { "\xc2\xe8\xd6\xda" , "\xbb\x3c\x79" } , { "\xc2\xe8\xd6\xdb" , "\xbc\x3c\xbd" } , { "\xc2\xe8\xd6\xe1" , "\xbe\xbb\x3c\xbd\x5b" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\xbe\xbb\x3c\xbd\x5b\xe4" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\xbb\x60\xbd\x75\xf1\x79" } , { "\xc2\xe8\xd7" , "\xbb\x52\xbd\x3d" } , { "\xc2\xe8\xd7\xa2" , "\xbb\x52\xbd\x3d\x4c\x69" } , { "\xc2\xe8\xd7\xa3" , "\xbb\x52\xbd\x3d\x4d" } , { "\xc2\xe8\xd7\xda" , "\xbb\x79\x3d" } , { "\xc2\xe8\xd7\xda\xa2" , "\xbb\x79\x3d\x4c\x69" } , { "\xc2\xe8\xd7\xdb" , "\xbc\xbd\x3d" } , { "\xc2\xe8\xd7\xdb\xa2" , "\xbc\xbd\x3d\x4c\x69" } , { "\xc2\xe8\xd7\xdc" , "\xbc\x64\xbd\x3d" } , { "\xc2\xe8\xd7\xdd" , "\xbb\x52\xbd\x56\x3d" } , { "\xc2\xe8\xd7\xde" , "\xbb\x52\xbd\x57\x3d" } , { "\xc2\xe8\xd7\xdf" , "\xbb\x52\xbd\x3d\x51\x58" } , { "\xc2\xe8\xd7\xe0" , "\xbe\xbb\xbd\x3d" } , { "\xc2\xe8\xd7\xe1" , "\xbe\xbb\xbd\x5b\x3d" } , { "\xc2\xe8\xd7\xe4" , "\xbb\x5d\x3d" } , { "\xc2\xe8\xd7\xe5" , "\xbb\x5d\x5b\x3d" } , { "\xc2\xe8\xd7\xe6" , "\xbb\x66\x3d" } , { "\xc2\xe8\xd7\xe8" , "\xbb\x60\xbd\x3d" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\xbc\x64\xbd\x3d\x51\xe4" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\xbb\x60\xbd\x72\xf3\x79" } , { "\xc2\xe8\xd7\xe8\xc6" , "\xbb\x52\xbd\x3d\x51\xf5" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\xbb\x79\x3d\x51\xf5" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\xbc\xbd\x3d\x51\xf5" } , { "\xc2\xe8\xd7\xe8\xc8" , "\xbb\x52\xbd\x3d\x51\xf6" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\xbb\x79\x3d\x51\xf6" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\xbb\x52\xbd\x3d\x51\xf6\x51\x58" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\xbb\x52\xbd\x57\x3d\x51\xf6\xe9" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\xbb\x5d\x5b\x3d\x51\xf6\xe9" } , { "\xc2\xe8\xd7\xe8\xcd" , "\xbb\x52\xbd\x3d\x51\xf9" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\xbb\x52\xbd\x3d\x51\xf9\x4c\x69" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\xbb\x79\x3d\x51\xf9" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\xbb\x79\x3d\x51\xf9\x4c\x69" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\xbc\xbd\x3d\x51\xf9" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\xbb\x52\xbd\x56\x3d\x51\xf9" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\xbe\xbb\xbd\x5b\x3d\x51\xf9\x4c\x69" } , { "\xc2\xe8\xd7\xe8\xcf" , "\xbb\x52\xbd\x3d\x51\xfb" } , { "\xc2\xe8\xd7\xe8\xd4" , "\xbb\x52\xbd\x3d\x51\x2a" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\xbb\x79\x3d\x51\x2a" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\xbe\xbb\xbd\x5b\x3d\x51\x2a" } , { "\xc2\xe8\xd8\xdb" , "\xbc\x3e\xbd" } , { "\xc2\xe8\xd8\xdc" , "\xbc\x64\x3e\xbd" } , { "\xc2\xe8\xd9\xa6" , "\xbb\x52\xbd\x42" } , { "\xc2\xe8\xd9\xb3\xda" , "\xbb\x52\xbd\x4e\x53" } , { "\xc2\xe8\xd9\xc2" , "\xbb\x52\xbd\xbb\x52\xbd" } , { "\xc2\xe8\xd9\xc2\xda" , "\xbb\x52\xbd\xbb\x79" } , { "\xc2\xe8\xd9\xc2\xdb" , "\xbb\x52\xbd\xbc\xbd" } , { "\xc2\xe8\xd9\xc2\xdc" , "\xbb\x52\xbd\xbc\x64\xbd" } , { "\xc2\xe8\xd9\xc2\xe1" , "\xbb\x52\xbd\xbe\xbb\xbd\x5b" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\xbb\x52\xbd\xbb\x5d\x5b\x4c\x69" } , { "\xc2\xe8\xd9\xc8" , "\xbb\x52\xbd\x78\x6d\x73" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\xbb\x52\xbd\x4c\x53\xf2" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\xbb\x52\xbd\x4c\x52\x69\x3d" } , { "\xc2\xe8\xd9\xd1" , "\xbb\x52\xbd\xcc\xc1" } , { "\xc2\xe8\xd9\xd4" , "\xbb\x52\xbd\xaa\xab\x73" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\xbb\x52\xbd\xaa\xaf\x5b\x4c\x69" } , { "\xc2\xe8\xe8" , "\xbb\x60\xbd" } , { "\xc2\xe8\xe9\xc2" , "\xbb\x52\xbd\xf2" } , { "\xc2\xe8\xe9\xcf" , "\xfa\xbb\x52\xbd" } , { "\xc2\xe9" , "\xbb\x52\xbd" } , { "\xc3" , "\xb4\x52\xb6" } , { "\xc3\xa1" , "\xb4\x52\xb6\xb7" } , { "\xc3\xa2" , "\xb4\x52\xb6\x4c\x69" } , { "\xc3\xa3" , "\xb4\x52\xb6\x4d" } , { "\xc3\xda" , "\xb4\x79" } , { "\xc3\xda\xa1" , "\xb4\x79\xb7" } , { "\xc3\xda\xa2" , "\xb4\x79\x4c\x69" } , { "\xc3\xdb" , "\xb4\x6a\xb6" } , { "\xc3\xdb\xa2" , "\xb4\x6a\xb6\x4c\x69" } , { "\xc3\xdc" , "\xb4\x6b\xb6" } , { "\xc3\xdc\xa1" , "\xb4\x6b\xb6\xb7" } , { "\xc3\xdc\xa2" , "\xb4\x6b\xb6\x4c\x69" } , { "\xc3\xdd" , "\xb4\x52\xb6\x56" } , { "\xc3\xdd\xa2" , "\xb4\x52\xb6\x56\x4c\x69" } , { "\xc3\xdd\xa3" , "\xb4\x52\xb6\x56\x4d" } , { "\xc3\xde" , "\xb4\x52\xb6\x57" } , { "\xc3\xde\xa2" , "\xb4\x52\xb6\x57\x4c\x69" } , { "\xc3\xdf" , "\xb4\x52\xb6\x58" } , { "\xc3\xe0" , "\xae\xb4\xb6" } , { "\xc3\xe1" , "\xae\xb4\xb6\x5b" } , { "\xc3\xe1\xa2" , "\xae\xb4\xb6\x5b\x4c\x69" } , { "\xc3\xe2" , "\x5c\xae\xb4\xb6" } , { "\xc3\xe2\xa2" , "\x5c\xae\xb4\xb6\x4c\x69" } , { "\xc3\xe4" , "\xb4\x5d" } , { "\xc3\xe5" , "\xb4\x5d\x5b" } , { "\xc3\xe5\xa2" , "\xb4\x5d\x5b\x4c\x69" } , { "\xc3\xe6" , "\xb4\x5f" } , { "\xc3\xe6\xa2" , "\xb4\x5f\x4c\x69" } , { "\xc3\xe7" , "\xb4\x5d" } , { "\xc3\xe8" , "\xb4\x60\xb6" } , { "\xc3\xe8\xb3\xdd" , "\xb4\x52\xb6\x56\xe4" } , { "\xc3\xe8\xb5\xda" , "\xb4\xe6\x79" } , { "\xc3\xe8\xc2\xdb" , "\xb4\x6a\xb6\xf2" } , { "\xc3\xe8\xc2\xdd" , "\xb4\x52\xb6\x56\xf2" } , { "\xc3\xe8\xc3" , "\xb4\xf3\x52\xb6" } , { "\xc3\xe8\xc3\xda" , "\xb4\xf3\x79" } , { "\xc3\xe8\xc8\xde" , "\xb4\x52\xb6\x57\xf6" } , { "\xc3\xe8\xcc\xda" , "\xb4\x79\xf8" } , { "\xc3\xe8\xcc\xdc" , "\xb4\x6b\xb6\xf8" } , { "\xc3\xe8\xcd" , "\xb4\x52\xb6\xf9" } , { "\xc3\xe8\xcd\xa2" , "\xb4\x52\xb6\xf9\x4c\x69" } , { "\xc3\xe8\xcd\xda" , "\xb4\x79\xf9" } , { "\xc3\xe8\xcd\xda\xa2" , "\xb4\x79\xf9\x4c\x69" } , { "\xc3\xe8\xcd\xda\xa3" , "\xb4\x79\xf9\x4d" } , { "\xc3\xe8\xcd\xdd" , "\xb4\x52\xb6\x56\xf9" } , { "\xc3\xe8\xcd\xde" , "\xb4\x52\xb6\x57\xf9" } , { "\xc3\xe8\xcd\xe5" , "\xb4\x5d\x5b\xf9" } , { "\xc3\xe8\xcd\xe5\xa2" , "\xb4\x5d\x5b\xf9\x4c\x69" } , { "\xc3\xe8\xcf" , "\xfa\xb4\x52\xb6" } , { "\xc3\xe8\xcf\xda" , "\xfa\xb4\x79" } , { "\xc3\xe8\xcf\xda\xa2" , "\xfa\xb4\x79\x4c\x69" } , { "\xc3\xe8\xcf\xdb" , "\xfa\xb4\x6a\xb6" } , { "\xc3\xe8\xcf\xdc" , "\xfa\xb4\x6b\xb6" } , { "\xc3\xe8\xcf\xde" , "\xfa\xb4\x52\xb6\x57" } , { "\xc3\xe8\xcf\xe0" , "\xfa\xae\xb4\xb6" } , { "\xc3\xe8\xcf\xe1" , "\xfa\xae\xb4\xb6\x5b" } , { "\xc3\xe8\xcf\xe2" , "\x5c\xae\xb4\xb6\x51\xfb" } , { "\xc3\xe8\xcf\xe5" , "\xfa\xb4\x5d\x5b" } , { "\xc3\xe8\xcf\xe8\xcd" , "\xb4\x52\xb6\xfb\x51\xf9" } , { "\xc3\xe8\xd1\xdd" , "\xb4\xfd\x52\xb6\x56" } , { "\xc3\xe8\xd1\xe5" , "\xb4\xfd\x5d\x5b" } , { "\xc3\xe8\xd2" , "\xb4\x52\xb6\xfe" } , { "\xc3\xe8\xd4" , "\xb4\x52\xb6\x2a" } , { "\xc3\xe8\xd4\xda" , "\xb4\x79\x2a" } , { "\xc3\xe8\xd4\xdb" , "\xb4\x6a\xb6\x2a" } , { "\xc3\xe8\xd4\xdc" , "\xb4\x6b\xb6\x2a" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\xb4\x6b\xb6\x2b\x51\xfb" } , { "\xc3\xe8\xd7" , "\xb4\x52\xb6\x3d" } , { "\xc3\xe8\xd7\xe8" , "\xb4\x60\xb6\x3d" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\xb4\x52\xb6\x4c\x52\x69\xf9" } , { "\xc3\xe8\xe8" , "\xb4\x60\xb6" } , { "\xc3\xe8\xe9\xcf" , "\xfa\xb4\x52\xb6" } , { "\xc3\xe9" , "\xb4\x52\xb6" } , { "\xc4" , "\xb5\x52\xb6" } , { "\xc4\xa1" , "\xb5\x52\xb6\xb7" } , { "\xc4\xa2" , "\xb5\x52\xb6\x4c\x69" } , { "\xc4\xa2\xa2" , "\xb5\x52\xb6\x4c\x69\x69\x4c\x69" } , { "\xc4\xa3" , "\xb5\x52\xb6\x4d" } , { "\xc4\xd3\xcd\xda" , "\xb5\x52\xb6\xce\xcf\xc1\xb8\x52\xb6\x57" } , { "\xc4\xd9" , "\xb5\x52\xb6\x25\xc1" } , { "\xc4\xda" , "\xb5\x79" } , { "\xc4\xda\xa1" , "\xb5\x79\xb7" } , { "\xc4\xda\xa2" , "\xb5\x79\x4c\x69" } , { "\xc4\xda\xa2\xa2" , "\xb5\x79\x4c\x69\x69\x4c\x69" } , { "\xc4\xda\xa3" , "\xb5\x79\x4d" } , { "\xc4\xdb" , "\xb5\x6a\xb6" } , { "\xc4\xdb\xa2" , "\xb5\x6a\xb6\x4c\x69" } , { "\xc4\xdb\xa2\xa2" , "\xb5\x6a\xb6\x4c\x69\x69\x4c\x69" } , { "\xc4\xdb\xa3" , "\xb5\x6a\xb6\x4d" } , { "\xc4\xdb\xd7\xdf" , "\xb5\x6a\xb6\x78\x71\x73\x58" } , { "\xc4\xdc" , "\xb5\x6b\xb6" } , { "\xc4\xdc\xa2" , "\xb5\x6b\xb6\x4c\x69" } , { "\xc4\xdd" , "\xb5\x52\xb6\x56" } , { "\xc4\xdd\xa1" , "\xb5\x52\xb6\x56\xb7" } , { "\xc4\xdd\xa2" , "\xb5\x52\xb6\x56\x4c\x69" } , { "\xc4\xdd\xa3" , "\xb5\x52\xb6\x56\x4d" } , { "\xc4\xde" , "\xb5\x52\xb6\x57" } , { "\xc4\xde\xa1" , "\xb5\x52\xb6\x57\xb7" } , { "\xc4\xde\xa2" , "\xb5\x52\xb6\x57\x4c\x69" } , { "\xc4\xdf" , "\xb5\x52\xb6\x58" } , { "\xc4\xdf\xa2" , "\xb5\x52\xb6\x58\x4c\x69" } , { "\xc4\xe0" , "\xae\xb5\xb6" } , { "\xc4\xe0\xa2" , "\xae\xb5\xb6\x4c\x69" } , { "\xc4\xe1" , "\xae\xb5\xb6\x5b" } , { "\xc4\xe1\xa2" , "\xae\xb5\xb6\x5b\x4c\x69" } , { "\xc4\xe2" , "\x5c\xae\xb5\xb6" } , { "\xc4\xe2\xa2" , "\x5c\xae\xb5\xb6\x4c\x69" } , { "\xc4\xe2\xa3" , "\x5c\xae\xb5\xb6\x4d" } , { "\xc4\xe4" , "\xb5\x5d" } , { "\xc4\xe4\xa2" , "\xb5\x5d\x4c\x69" } , { "\xc4\xe5" , "\xb5\x5d\x5b" } , { "\xc4\xe5\xa2" , "\xb5\x5d\x5b\x4c\x69" } , { "\xc4\xe6" , "\xb5\x5f" } , { "\xc4\xe6\xa2" , "\xb5\x5f\x4c\x69" } , { "\xc4\xe7" , "\xb5\x5d" } , { "\xc4\xe8" , "\xb5\x60\xb6" } , { "\xc4\xe8\xb3" , "\xb5\x52\xb6\xe4" } , { "\xc4\xe8\xb3\xda" , "\xb5\x79\xe4" } , { "\xc4\xe8\xb3\xdb" , "\xb5\x6a\xb6\xe4" } , { "\xc4\xe8\xb3\xdd" , "\xb5\x52\xb6\x56\xe4" } , { "\xc4\xe8\xb3\xde" , "\xb5\x52\xb6\x57\xe4" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\xae\xb5\xb6\xe4\x51\xe4" } , { "\xc4\xe8\xb4" , "\xb5\xe5\x52\xb6" } , { "\xc4\xe8\xb4\xda" , "\xb5\xe5\x79" } , { "\xc4\xe8\xb5" , "\xb5\xe6\x52\xb6" } , { "\xc4\xe8\xb5\xa2" , "\xb5\xe6\x52\xb6\x4c\x69" } , { "\xc4\xe8\xb5\xda" , "\xb5\xe6\x79" } , { "\xc4\xe8\xb5\xdc" , "\xb5\xe6\x6b\xb6" } , { "\xc4\xe8\xb5\xdd" , "\xb5\xe6\x52\xb6\x56" } , { "\xc4\xe8\xb5\xdf" , "\xb5\xe6\x52\xb6\x51\x58" } , { "\xc4\xe8\xb5\xe1" , "\xae\xb5\xe6\xb6\x5b" } , { "\xc4\xe8\xb5\xe5" , "\xb5\xe6\x5d\x5b" } , { "\xc4\xe8\xb5\xe8\xc5" , "\xb5\x60\xb6\x67\xf4\xf0\x52\x69" } , { "\xc4\xe8\xb5\xe8\xcf" , "\xb5\xe6\x52\xb6\xfb" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\xb5\xe6\x52\xb6\xfb\x4c\x69" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\xb5\xe6\x79\xfb" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\xb5\xe6\x6b\xb6\xfb" } , { "\xc4\xe8\xb5\xe8\xd8" , "\xb5\x60\xb6\x67\x3e\x52\x69" } , { "\xc4\xe8\xb6" , "\xb5\xe7\x52\xb6" } , { "\xc4\xe8\xb6\xda" , "\xb5\xe7\x79" } , { "\xc4\xe8\xb6\xda\xa2" , "\xb5\xe7\x79\x4c\x69" } , { "\xc4\xe8\xb6\xdf" , "\xb5\xe7\x52\xb6\x51\x58" } , { "\xc4\xe8\xb6\xe5" , "\xb5\xe7\x5d\x5b" } , { "\xc4\xe8\xb6\xe8\xc2" , "\xb5\x60\xb6\x78\x6d\x6e\x73\x56\xf2" } , { "\xc4\xe8\xb8" , "\xb5\x52\xb6\xe8" } , { "\xc4\xe8\xb8\xda" , "\xb5\x79\xe8" } , { "\xc4\xe8\xb8\xdb" , "\xb5\x6a\xb6\xe8" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\xb5\x6a\xb6\xe8\x51\xe8\xe9" } , { "\xc4\xe8\xba" , "\xb5\xea\x52\xb6" } , { "\xc4\xe8\xba\xdc" , "\xb5\xea\x6b\xb6" } , { "\xc4\xe8\xba\xdd" , "\xb5\xea\x52\xb6\x56" } , { "\xc4\xe8\xba\xdf" , "\xb5\xea\x52\xb6\x51\x58" } , { "\xc4\xe8\xba\xe1" , "\xae\xb5\xea\xb6\x5b" } , { "\xc4\xe8\xba\xe5" , "\xb5\xea\x5d\x5b" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\xb5\x60\xb6\xc7\xec\xc1\xd9" } , { "\xc4\xe8\xbb" , "\xb5\xeb\x52\xb6" } , { "\xc4\xe8\xbf\xda" , "\xb5\xef\x79" } , { "\xc4\xe8\xbf\xdb" , "\xb5\xef\x6a\xb6" } , { "\xc4\xe8\xbf\xe9" , "\xb5\xef\x52\xb6" } , { "\xc4\xe8\xc0" , "\xb5\xef\xf0\x52\xb6" } , { "\xc4\xe8\xc0\xe9" , "\xb5\xef\xf0\x52\xb6" } , { "\xc4\xe8\xc2" , "\xb5\x52\xb6\xf2" } , { "\xc4\xe8\xc2\xa2" , "\xb5\x52\xb6\xf2\x4c\x69" } , { "\xc4\xe8\xc2\xdd" , "\xb5\x52\xb6\x56\xf2" } , { "\xc4\xe8\xc2\xe2" , "\xae\xb5\x5e\xb6\x51\xf2" } , { "\xc4\xe8\xc2\xe5" , "\xb5\x5d\x5b\xf2" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\xae\xb5\x5e\xb6\x51\xf2\x51\x2a" } , { "\xc4\xe8\xc3" , "\xb5\xf3\x52\xb6" } , { "\xc4\xe8\xc3\xa2" , "\xb5\xf3\x52\xb6\x4c\x69" } , { "\xc4\xe8\xc3\xda" , "\xb5\xf3\x79" } , { "\xc4\xe8\xc3\xda\xa2" , "\xb5\xf3\x79\x4c\x69" } , { "\xc4\xe8\xc3\xdb" , "\xb5\xf3\x6a\xb6" } , { "\xc4\xe8\xc3\xdb\xa3" , "\xb5\xf3\x6a\xb6\x4d" } , { "\xc4\xe8\xc3\xdd" , "\xb5\xf3\x52\xb6\x56" } , { "\xc4\xe8\xc4" , "\xb5\xf4\x52\xb6" } , { "\xc4\xe8\xc4\xa2" , "\xb5\xf4\x52\xb6\x4c\x69" } , { "\xc4\xe8\xc4\xa3" , "\xb5\xf4\x52\xb6\x4d" } , { "\xc4\xe8\xc4\xda" , "\xb5\xf4\x79" } , { "\xc4\xe8\xc4\xda\xa2" , "\xb5\xf4\x79\x4c\x69" } , { "\xc4\xe8\xc4\xdb" , "\xb5\xf4\x6a\xb6" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xb5\xf4\x6a\xb6\x4c\x69" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xb5\xf4\x6a\xb6\x4d" } , { "\xc4\xe8\xc4\xdc" , "\xb5\xf4\x6b\xb6" } , { "\xc4\xe8\xc4\xdd" , "\xb5\xf4\x52\xb6\x56" } , { "\xc4\xe8\xc4\xdd\xa2" , "\xb5\xf4\x52\xb6\x56\x4c\x69" } , { "\xc4\xe8\xc4\xde" , "\xb5\xf4\x52\xb6\x57" } , { "\xc4\xe8\xc4\xdf" , "\xb5\xf4\x52\xb6\x51\x58" } , { "\xc4\xe8\xc4\xe0" , "\xae\xb5\xf4\xb6" } , { "\xc4\xe8\xc4\xe0\xa2" , "\xae\xb5\xf4\xb6\x4c\x69" } , { "\xc4\xe8\xc4\xe1" , "\xae\xb5\xf4\xb6\x5b" } , { "\xc4\xe8\xc4\xe1\xa2" , "\xae\xb5\xf4\xb6\x5b\x4c\x69" } , { "\xc4\xe8\xc4\xe1\xa3" , "\xae\xb5\xf4\xb6\x5b\x4d" } , { "\xc4\xe8\xc4\xe2" , "\xae\xb5\xf4\x5e\xb6" } , { "\xc4\xe8\xc4\xe4" , "\xb5\xf4\x5d" } , { "\xc4\xe8\xc4\xe5" , "\xb5\xf4\x5d\x5b" } , { "\xc4\xe8\xc4\xe5\xa2" , "\xb5\xf4\x5d\x5b\x4c\x69" } , { "\xc4\xe8\xc4\xe6" , "\xb5\xf4\x5f" } , { "\xc4\xe8\xc4\xe8" , "\xb5\x60\xf4\xb6" } , { "\xc4\xe8\xc4\xe8\xcd" , "\xb5\xf4\x52\xb6\xf9" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\xb5\xf4\x52\xb6\xf9\x4c\x69" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\xb5\xf4\x52\xb6\x56\xf9" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\xb5\xf4\x5d\x5b\xf9" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\xb5\xf4\x6a\xb6\xfb" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\xb5\xf4\x52\xb6\x57\xfb" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\xb5\xf4\x52\xb6\x2a\x4c\x69" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\xb5\xf4\x79\x2a" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\xb5\xf4\x6a\xb6\x2a" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\xae\xb5\xf4\xb6\x5b\x2a" } , { "\xc4\xe8\xc5" , "\xb5\xf4\xf0\x52\xb6" } , { "\xc4\xe8\xc5\xa2" , "\xb5\xf4\xf0\x52\xb6\x4c\x69" } , { "\xc4\xe8\xc5\xa3" , "\xb5\xf4\xf0\x52\xb6\x4d" } , { "\xc4\xe8\xc5\xda" , "\xb5\xf4\xf0\x79" } , { "\xc4\xe8\xc5\xda\xa1" , "\xb5\xf4\xf0\x79\xb7" } , { "\xc4\xe8\xc5\xda\xa2" , "\xb5\xf4\xf0\x79\x4c\x69" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\xb5\xf4\xf0\x79\x4c\x69\x69\x4c\x69" } , { "\xc4\xe8\xc5\xda\xa3" , "\xb5\xf4\xf0\x79\x4d" } , { "\xc4\xe8\xc5\xdb" , "\xb5\xf4\xf0\x6a\xb6" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xb5\xf4\xf0\x6a\xb6\x4c\x69" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xb5\xf4\xf0\x6a\xb6\x4d" } , { "\xc4\xe8\xc5\xdc" , "\xb5\xf4\xf0\x6b\xb6" } , { "\xc4\xe8\xc5\xdc\xa2" , "\xb5\xf4\xf0\x6b\xb6\x4c\x69" } , { "\xc4\xe8\xc5\xdd" , "\xb5\xf4\xf0\x52\xb6\x56" } , { "\xc4\xe8\xc5\xdd\xa2" , "\xb5\xf4\xf0\x52\xb6\x56\x4c\x69" } , { "\xc4\xe8\xc5\xde" , "\xb5\xf4\xf0\x52\xb6\x57" } , { "\xc4\xe8\xc5\xdf" , "\xb5\xf4\xf0\x52\xb6\x51\x58" } , { "\xc4\xe8\xc5\xe0" , "\xae\xb5\xf4\xf0\xb6" } , { "\xc4\xe8\xc5\xe1" , "\xae\xb5\xf4\xf0\xb6\x5b" } , { "\xc4\xe8\xc5\xe1\xa2" , "\xae\xb5\xf4\xf0\xb6\x5b\x4c\x69" } , { "\xc4\xe8\xc5\xe1\xa3" , "\xae\xb5\xf4\xf0\xb6\x5b\x4d" } , { "\xc4\xe8\xc5\xe2" , "\xae\xb5\xf4\xf0\x5e\xb6" } , { "\xc4\xe8\xc5\xe4" , "\xb5\xf4\xf0\x5d" } , { "\xc4\xe8\xc5\xe5" , "\xb5\xf4\xf0\x5d\x5b" } , { "\xc4\xe8\xc5\xe5\xa2" , "\xb5\xf4\xf0\x5d\x5b\x4c\x69" } , { "\xc4\xe8\xc5\xe8\xc2" , "\xb5\x60\xb6\xb5\xb3\x52\xb6\xf2" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\xb5\xf4\xf0\x79\xf5" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\xb5\xf4\xf0\x6b\xb6\xf7" } , { "\xc4\xe8\xc5\xe8\xcd" , "\xb5\xf4\xf0\x52\xb6\xf9" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\xb5\xf4\xf0\x52\xb6\xf9\x4c\x69" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\xb5\xf4\xf0\x79\xf9" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\xb5\xf4\xf0\x5d\x5b\xf9" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\xb5\xf4\xf0\x6a\xb6\xfb" } , { "\xc4\xe8\xc5\xe8\xd4" , "\xb5\xf4\xf0\x52\xb6\x2a" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\xb5\xf4\xf0\x79\x2a" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\xb5\xf4\xf0\x52\xb6\x56\x2b" } , { "\xc4\xe8\xc6" , "\xb5\x52\xb6\xf5" } , { "\xc4\xe8\xc6\xda" , "\xb5\x79\xf5" } , { "\xc4\xe8\xc6\xdb" , "\xb5\x6a\xb6\xf5" } , { "\xc4\xe8\xc6\xdb\xa2" , "\xb5\x6a\xb6\xf5\x4c\x69" } , { "\xc4\xe8\xc6\xdc" , "\xb5\x6b\xb6\xf5" } , { "\xc4\xe8\xc6\xdd" , "\xb5\x52\xb6\x56\xf5" } , { "\xc4\xe8\xc6\xdd\xa2" , "\xb5\x52\xb6\x56\xf5\x4c\x69" } , { "\xc4\xe8\xc6\xe5" , "\xb5\x5d\x5b\xf5" } , { "\xc4\xe8\xc6\xe8\xc2" , "\xb5\x60\xb6\xa9\xab\x73\xf2" } , { "\xc4\xe8\xc8" , "\xb5\x52\xb6\xf6" } , { "\xc4\xe8\xc8\xa2" , "\xb5\x52\xb6\xf6\x4c\x69" } , { "\xc4\xe8\xc8\xda" , "\xb5\x79\xf6" } , { "\xc4\xe8\xc8\xdd" , "\xb5\x52\xb6\x56\xf6" } , { "\xc4\xe8\xc8\xde" , "\xb5\x52\xb6\x57\xf6" } , { "\xc4\xe8\xc8\xe2" , "\x5c\xae\xb5\xb6\x51\xf6" } , { "\xc4\xe8\xca" , "\xb5\x52\xb6\xf7" } , { "\xc4\xe8\xca\xa2" , "\xb5\x52\xb6\xf7\x4c\x69" } , { "\xc4\xe8\xca\xda" , "\xb5\x79\xf7" } , { "\xc4\xe8\xca\xda\xa2" , "\xb5\x79\xf7\x4c\x69" } , { "\xc4\xe8\xca\xdb" , "\xb5\x6a\xb6\xf7" } , { "\xc4\xe8\xca\xdc" , "\xb5\x6b\xb6\xf7" } , { "\xc4\xe8\xca\xdd" , "\xb5\x52\xb6\x56\xf7" } , { "\xc4\xe8\xca\xe1" , "\xae\xb5\xb6\x5b\xf7" } , { "\xc4\xe8\xca\xe5" , "\xb5\x5d\x5b\xf7" } , { "\xc4\xe8\xca\xe8\xcf" , "\xb5\x52\xb6\xf7\x51\xfb" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\xb5\x79\xf7\x51\xfb" } , { "\xc4\xe8\xcb" , "\xb5\x52\xb6\xf7\xe9" } , { "\xc4\xe8\xcb\xa2" , "\xb5\x52\xb6\xf7\xe9\x4c\x69" } , { "\xc4\xe8\xcb\xda" , "\xb5\x79\xf7\xe9" } , { "\xc4\xe8\xcb\xda\xa2" , "\xb5\x79\xf7\xe9\x4c\x69" } , { "\xc4\xe8\xcb\xdb" , "\xb5\x6a\xb6\xf7\xe9" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xb5\x6a\xb6\xf7\xe9\x4d" } , { "\xc4\xe8\xcb\xdc" , "\xb5\x6b\xb6\xf7\xe9" } , { "\xc4\xe8\xcb\xdd" , "\xb5\x52\xb6\x56\xf7\xe9" } , { "\xc4\xe8\xcb\xde" , "\xb5\x52\xb6\x57\xf7\xe9" } , { "\xc4\xe8\xcb\xe1" , "\xae\xb5\xb6\x5b\xf7\xe9" } , { "\xc4\xe8\xcb\xe5" , "\xb5\x5d\x5b\xf7\xe9" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\xb5\x79\xf7\xe9\x51\xfb" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\xb5\x52\xb6\x57\xf7\xe9\x51\xfb" } , { "\xc4\xe8\xcc" , "\xb5\x52\xb6\xf8" } , { "\xc4\xe8\xcc\xa2" , "\xb5\x52\xb6\xf8\x4c\x69" } , { "\xc4\xe8\xcc\xda" , "\xb5\x79\xf8" } , { "\xc4\xe8\xcc\xda\xa2" , "\xb5\x79\xf8\x4c\x69" } , { "\xc4\xe8\xcc\xdb" , "\xb5\x6a\xb6\xf8" } , { "\xc4\xe8\xcc\xdd" , "\xb5\x52\xb6\x56\xf8" } , { "\xc4\xe8\xcc\xde" , "\xb5\x52\xb6\x57\xf8" } , { "\xc4\xe8\xcc\xe1" , "\xae\xb5\xb6\x5b\xf8" } , { "\xc4\xe8\xcc\xe1\xa2" , "\xae\xb5\xb6\x5b\xf8\x4c\x69" } , { "\xc4\xe8\xcc\xe5" , "\xb5\x5d\x5b\xf8" } , { "\xc4\xe8\xcd" , "\xb5\x52\xb6\xf9" } , { "\xc4\xe8\xcd\xa1" , "\xb5\x52\xb6\xf9\xb7" } , { "\xc4\xe8\xcd\xa2" , "\xb5\x52\xb6\xf9\x4c\x69" } , { "\xc4\xe8\xcd\xa3" , "\xb5\x52\xb6\xf9\x4d" } , { "\xc4\xe8\xcd\xda" , "\xb5\x79\xf9" } , { "\xc4\xe8\xcd\xda\xa2" , "\xb5\x79\xf9\x4c\x69" } , { "\xc4\xe8\xcd\xda\xa3" , "\xb5\x79\xf9\x4d" } , { "\xc4\xe8\xcd\xdb" , "\xb5\x6a\xb6\xf9" } , { "\xc4\xe8\xcd\xdc" , "\xb5\x6b\xb6\xf9" } , { "\xc4\xe8\xcd\xdd" , "\xb5\x52\xb6\x56\xf9" } , { "\xc4\xe8\xcd\xdd\xa2" , "\xb5\x52\xb6\x56\xf9\x4c\x69" } , { "\xc4\xe8\xcd\xde" , "\xb5\x52\xb6\x57\xf9" } , { "\xc4\xe8\xcd\xdf" , "\xb5\x52\xb6\xf9\x51\x58" } , { "\xc4\xe8\xcd\xe0" , "\xae\xb5\xb6\xf9" } , { "\xc4\xe8\xcd\xe1" , "\xae\xb5\xb6\x5b\xf9" } , { "\xc4\xe8\xcd\xe1\xa2" , "\xae\xb5\xb6\x5b\xf9\x4c\x69" } , { "\xc4\xe8\xcd\xe2" , "\x5c\xae\xb5\xb6\x51\xf9" } , { "\xc4\xe8\xcd\xe4" , "\xb5\x5d\xf9" } , { "\xc4\xe8\xcd\xe5" , "\xb5\x5d\x5b\xf9" } , { "\xc4\xe8\xcd\xe5\xa2" , "\xb5\x5d\x5b\xf9\x4c\x69" } , { "\xc4\xe8\xcd\xe6" , "\xb5\x5f\xf9" } , { "\xc4\xe8\xcd\xe6\xa2" , "\xb5\x5f\xf9\x4c\x69" } , { "\xc4\xe8\xcd\xe8" , "\xb5\x60\xb6\xf9" } , { "\xc4\xe8\xcd\xe8\xcd" , "\xb5\x52\xb6\xf9\x51\xf9" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\xb5\x79\xf9\x51\xf9" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\xb5\x5d\x5b\xf9\x51\xf9" } , { "\xc4\xe8\xcd\xe8\xcf" , "\xb5\x52\xb6\xf9\x51\xfb" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\xb5\x52\xb6\xf9\x51\xfb\x4c\x69" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\xb5\x79\xf9\x51\xfb" } , { "\xc4\xe8\xcf" , "\xfa\xb5\x52\xb6" } , { "\xc4\xe8\xcf\xa2" , "\xfa\xb5\x52\xb6\x4c\x69" } , { "\xc4\xe8\xcf\xa3" , "\xfa\xb5\x52\xb6\x4d" } , { "\xc4\xe8\xcf\xd9" , "\xfa\xb5\x52\xb6\x25\xc1" } , { "\xc4\xe8\xcf\xda" , "\xfa\xb5\x79" } , { "\xc4\xe8\xcf\xda\xa2" , "\xfa\xb5\x79\x4c\x69" } , { "\xc4\xe8\xcf\xdb" , "\xfa\xb5\x6a\xb6" } , { "\xc4\xe8\xcf\xdb\xa2" , "\xfa\xb5\x6a\xb6\x4c\x69" } , { "\xc4\xe8\xcf\xdc" , "\xfa\xb5\x6b\xb6" } , { "\xc4\xe8\xcf\xdd" , "\xfa\xb5\x52\xb6\x56" } , { "\xc4\xe8\xcf\xdd\xa2" , "\xfa\xb5\x52\xb6\x56\x4c\x69" } , { "\xc4\xe8\xcf\xde" , "\xfa\xb5\x52\xb6\x57" } , { "\xc4\xe8\xcf\xe0" , "\xfa\xae\xb5\xb6" } , { "\xc4\xe8\xcf\xe0\xa2" , "\xfa\xae\xb5\xb6\x4c\x69" } , { "\xc4\xe8\xcf\xe1" , "\xfa\xae\xb5\xb6\x5b" } , { "\xc4\xe8\xcf\xe2" , "\x5c\xae\xb5\xb6\x51\xfb" } , { "\xc4\xe8\xcf\xe4" , "\xfa\xb5\x5d" } , { "\xc4\xe8\xcf\xe5" , "\xfa\xb5\x5d\x5b" } , { "\xc4\xe8\xcf\xe5\xa2" , "\xfa\xb5\x5d\x5b\x4c\x69" } , { "\xc4\xe8\xcf\xe6" , "\xfa\xb5\x5f" } , { "\xc4\xe8\xcf\xe8" , "\xfa\xb5\x60\xb6" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\xb5\x60\xb6\x4c\xf3\x52\x69\x4c\x69" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\xb5\x79\xfb\x51\xf6" } , { "\xc4\xe8\xcf\xe8\xcd" , "\xb5\x52\xb6\xfb\x51\xf9" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\xb5\x52\xb6\xfb\x51\xf9\x4c\x69" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\xb5\x79\xfb\x51\xf9" } , { "\xc4\xe8\xd1" , "\xb5\xfd\x52\xb6" } , { "\xc4\xe8\xd1\xda\xa2" , "\xb5\xfd\x79\x4c\x69" } , { "\xc4\xe8\xd1\xdb" , "\xb5\xfd\x6a\xb6" } , { "\xc4\xe8\xd1\xdc" , "\xb5\xfd\x6b\xb6" } , { "\xc4\xe8\xd1\xdd" , "\xb5\xfd\x52\xb6\x56" } , { "\xc4\xe8\xd1\xde" , "\xb5\xfd\x52\xb6\x57" } , { "\xc4\xe8\xd1\xe5" , "\xb5\xfd\x5d\x5b" } , { "\xc4\xe8\xd2" , "\xb5\x52\xb6\xfe" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\xae\xb5\xb6\x5b\xfe\x51\x2a" } , { "\xc4\xe8\xd4" , "\xb5\x52\xb6\x2a" } , { "\xc4\xe8\xd4\xa2" , "\xb5\x52\xb6\x2a\x4c\x69" } , { "\xc4\xe8\xd4\xda" , "\xb5\x79\x2a" } , { "\xc4\xe8\xd4\xda\xa2" , "\xb5\x79\x2a\x4c\x69" } , { "\xc4\xe8\xd4\xdb" , "\xb5\x6a\xb6\x2a" } , { "\xc4\xe8\xd4\xdc" , "\xb5\x6b\xb6\x2a" } , { "\xc4\xe8\xd4\xdd" , "\xb5\x52\xb6\x56\x2a" } , { "\xc4\xe8\xd4\xde" , "\xb5\x52\xb6\x57\x2a" } , { "\xc4\xe8\xd4\xdf" , "\xb5\x52\xb6\x2a\x51\x58" } , { "\xc4\xe8\xd4\xdf\xa2" , "\xb5\x52\xb6\x2a\x51\x58\x4c\x69" } , { "\xc4\xe8\xd4\xe1" , "\xae\xb5\xb6\x5b\x2a" } , { "\xc4\xe8\xd4\xe2" , "\x5c\xae\xb5\xb6\x51\x2a" } , { "\xc4\xe8\xd4\xe5" , "\xb5\x5d\x5b\x2a" } , { "\xc4\xe8\xd4\xe5\xa2" , "\xb5\x5d\x5b\x2a\x4c\x69" } , { "\xc4\xe8\xd4\xe6" , "\xb5\x5f\x2a" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\xb5\x60\xb6\xaa\xb1\x73\xbc\xbd\xf2" } , { "\xc4\xe8\xd4\xe8\xcd" , "\xb5\x52\xb6\x2a\x51\xf9" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\xb5\x52\xb6\x2a\x51\xf9\x4c\x69" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\xb5\x79\x2a\x51\xf9" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\xb5\x6a\xb6\x2a\x51\xf9" } , { "\xc4\xe8\xd5" , "\xb5\x52\xb6\x2b" } , { "\xc4\xe8\xd5\xdb" , "\xb5\x6a\xb6\x2b" } , { "\xc4\xe8\xd5\xe5" , "\xb5\x5d\x5b\x2b" } , { "\xc4\xe8\xd5\xe8\xcc" , "\xb5\x52\xb6\x2b\x51\xf8" } , { "\xc4\xe8\xd5\xe8\xcd" , "\xb5\x52\xb6\x2b\x51\xf9" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\xb5\x5d\x5b\x2b\x51\xf9\x4c\x69" } , { "\xc4\xe8\xd6" , "\xb5\x3c\x52\xb6" } , { "\xc4\xe8\xd6\xda" , "\xb5\x3c\x79" } , { "\xc4\xe8\xd6\xdb" , "\xb5\x3c\x6a\xb6" } , { "\xc4\xe8\xd6\xe8\xbd" , "\xb5\x60\xb6\x78\x74\xed\x73\x51" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\xb5\x60\xb6\x75\xed\x79\x4c\x69" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\xb5\x60\xb6\x7a\x74\xed\x73\x51" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\xb5\x60\xb6\x7b\x74\xed\x73\x51" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\xb5\x60\xb6\x7a\x74\xee\x73\x51" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\xb5\x60\xb6\x7a\x74\x73\x51\xf2" } , { "\xc4\xe8\xd7" , "\xb5\x52\xb6\x3d" } , { "\xc4\xe8\xd7\xda" , "\xb5\x79\x3d" } , { "\xc4\xe8\xd7\xdb" , "\xb5\x6a\xb6\x3d" } , { "\xc4\xe8\xd8" , "\xb5\x3e\x52\xb6" } , { "\xc4\xe8\xd8\xda" , "\xb5\x3e\x79" } , { "\xc4\xe8\xd8\xdb\xa2" , "\xb5\x3e\x6a\xb6\x4c\x69" } , { "\xc4\xe8\xd8\xdd" , "\xb5\x3e\x52\xb6\x56" } , { "\xc4\xe8\xd9\xa6" , "\xb5\x52\xb6\x42" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\xb5\x52\xb6\xbb\x5d\x5b\x4c\x69" } , { "\xc4\xe8\xd9\xc4" , "\xb5\x52\xb6\xb5\x52\xb6" } , { "\xc4\xe8\xd9\xc4\xda" , "\xb5\x52\xb6\xb5\x79" } , { "\xc4\xe8\xd9\xc4\xdc" , "\xb5\x52\xb6\xb5\x6b\xb6" } , { "\xc4\xe8\xd9\xc4\xdd" , "\xb5\x52\xb6\xb5\x52\xb6\x56" } , { "\xc4\xe8\xd9\xc4\xde" , "\xb5\x52\xb6\xb5\x52\xb6\x57" } , { "\xc4\xe8\xd9\xc4\xe1" , "\xb5\x52\xb6\xae\xb5\xb6\x5b" } , { "\xc4\xe8\xd9\xc4\xe6" , "\xb5\x52\xb6\xb5\x5f" } , { "\xc4\xe8\xd9\xc5" , "\xb5\x52\xb6\xb5\xb3\x52\xb6" } , { "\xc4\xe8\xd9\xc5\xda" , "\xb5\x52\xb6\xb5\xb3\x79" } , { "\xc4\xe8\xd9\xc5\xde" , "\xb5\x52\xb6\xb5\xb3\x52\xb6\x57" } , { "\xc4\xe8\xd9\xc5\xdf" , "\xb5\x52\xb6\xb5\xb3\x52\xb6\x58" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\xb5\x52\xb6\xb5\xb3\x5d\x5b\x4c\x69" } , { "\xc4\xe8\xd9\xcb\xda" , "\xb5\x52\xb6\xcb\xb3\xd8" } , { "\xc4\xe8\xd9\xcb\xdd" , "\xb5\x52\xb6\xcb\xb3\xcf\xc1\x56" } , { "\xc4\xe8\xd9\xcb\xde" , "\xb5\x52\xb6\xcb\xb3\xcf\xc1\x57" } , { "\xc4\xe8\xd9\xcb\xdf" , "\xb5\x52\xb6\xcb\xb3\xcf\xc1\x58" } , { "\xc4\xe8\xd9\xcc\xdb" , "\xb5\x52\xb6\xad\x73\x56" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\xb5\x52\xb6\xae\xaa\x73\x5b\x56\x4c\x69" } , { "\xc4\xe8\xd9\xcd" , "\xb5\x52\xb6\xb8\x52\xb6\x56" } , { "\xc4\xe8\xd9\xcd\xda" , "\xb5\x52\xb6\xb8\x52\xb6\x57" } , { "\xc4\xe8\xd9\xcd\xdd" , "\xb5\x52\xb6\xb8\x52\xb6\x56\x56" } , { "\xc4\xe8\xd9\xcd\xe5" , "\xb5\x52\xb6\xb9\xb8\xb6\x57" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\xb5\x52\xb6\xb9\xb8\xb6\x57\x4c\x69" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\xb5\x52\xb6\x4c\xf4\xf0\x52\x69" } , { "\xc4\xe8\xd9\xd4" , "\xb5\x52\xb6\xaa\xab\x73" } , { "\xc4\xe8\xd9\xd4\xda" , "\xb5\x52\xb6\xaa\x79" } , { "\xc4\xe8\xd9\xd4\xdb" , "\xb5\x52\xb6\xad\x73" } , { "\xc4\xe8\xd9\xd4\xe1" , "\xb5\x52\xb6\xae\xaa\x73\x5b" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\xb5\x52\xb6\xaa\xab\x73\xf9" } , { "\xc4\xe8\xe8" , "\xb5\x60\xb6" } , { "\xc4\xe8\xe9\xc4" , "\xb5\xf4\x52\xb6" } , { "\xc4\xe8\xe9\xc5" , "\xb5\xf4\xf0\x52\xb6" } , { "\xc4\xe8\xe9\xcd" , "\xb5\x52\xb6\xf9" } , { "\xc4\xe8\xe9\xcf" , "\xfa\xb5\x52\xb6" } , { "\xc4\xe8\xe9\xd4" , "\xb5\x52\xb6\x2a" } , { "\xc4\xe9" , "\xb5\x52\xb6" } , { "\xc5" , "\xb5\xb3\x52\xb6" } , { "\xc5\xa1" , "\xb5\xb3\x52\xb6\xb7" } , { "\xc5\xa2" , "\xb5\xb3\x52\xb6\x4c\x69" } , { "\xc5\xa3" , "\xb5\xb3\x52\xb6\x4d" } , { "\xc5\xd0" , "\xb5\xb3\x52\xb6\xe0\xe1" } , { "\xc5\xd0\xdc" , "\xb5\xb3\x52\xb6\xe0\xd4\xe1" } , { "\xc5\xda" , "\xb5\xb3\x79" } , { "\xc5\xda\xa1" , "\xb5\xb3\x79\xb7" } , { "\xc5\xda\xa2" , "\xb5\xb3\x79\x4c\x69" } , { "\xc5\xdb" , "\xb5\xb3\x6a\xb6" } , { "\xc5\xdb\xa2" , "\xb5\xb3\x6a\xb6\x4c\x69" } , { "\xc5\xdb\xa3" , "\xb5\xb3\x6a\xb6\x4d" } , { "\xc5\xdc" , "\xb5\xb3\x6b\xb6" } , { "\xc5\xdc\xa2" , "\xb5\xb3\x6b\xb6\x4c\x69" } , { "\xc5\xdc\xa3" , "\xb5\xb3\x6b\xb6\x4d" } , { "\xc5\xdd" , "\xb5\xb3\x52\xb6\x56" } , { "\xc5\xdd\xa1" , "\xb5\xb3\x52\xb6\x56\xb7" } , { "\xc5\xdd\xa2" , "\xb5\xb3\x52\xb6\x56\x4c\x69" } , { "\xc5\xdd\xa3" , "\xb5\xb3\x52\xb6\x56\x4d" } , { "\xc5\xde" , "\xb5\xb3\x52\xb6\x57" } , { "\xc5\xde\xa1" , "\xb5\xb3\x52\xb6\x57\xb7" } , { "\xc5\xde\xa2" , "\xb5\xb3\x52\xb6\x57\x4c\x69" } , { "\xc5\xdf" , "\xb5\xb3\x52\xb6\x58" } , { "\xc5\xe0" , "\xae\xb5\xb3\xb6" } , { "\xc5\xe0\xa2" , "\xae\xb5\xb3\xb6\x4c\x69" } , { "\xc5\xe1" , "\xae\xb5\xb3\xb6\x5b" } , { "\xc5\xe1\xa2" , "\xae\xb5\xb3\xb6\x5b\x4c\x69" } , { "\xc5\xe2" , "\x5c\xae\xb5\xb3\xb6" } , { "\xc5\xe4" , "\xb5\xb3\x5d" } , { "\xc5\xe5" , "\xb5\xb3\x5d\x5b" } , { "\xc5\xe5\xa2" , "\xb5\xb3\x5d\x5b\x4c\x69" } , { "\xc5\xe5\xa3" , "\xb5\xb3\x5d\x5b\x4d" } , { "\xc5\xe6" , "\xb5\xb3\x5f" } , { "\xc5\xe6\xa2" , "\xb5\xb3\x5f\x4c\x69" } , { "\xc5\xe8" , "\xb5\xb3\x60\xb6" } , { "\xc5\xe8\xb3\xda" , "\xb5\xb3\x79\xe4" } , { "\xc5\xe8\xb3\xdd" , "\xb5\xb3\x52\xb6\x56\xe4" } , { "\xc5\xe8\xb3\xe5" , "\xb5\xb3\x5d\x5b\xe4" } , { "\xc5\xe8\xb3\xe8\xd6" , "\xb5\xb3\x60\xb6\x4f\x52\x50\x51" } , { "\xc5\xe8\xb5" , "\xb5\xb3\xe6\x52\xb6" } , { "\xc5\xe8\xb8" , "\xb5\xb3\x52\xb6\xe8" } , { "\xc5\xe8\xb8\xda" , "\xb5\xb3\x79\xe8" } , { "\xc5\xe8\xbf\xe9\xda" , "\xb5\xb3\xef\x79" } , { "\xc5\xe8\xc1\xda" , "\xb5\xb3\xf1\x79" } , { "\xc5\xe8\xc1\xdb" , "\xb5\xb3\xf1\x6a\xb6" } , { "\xc5\xe8\xc2" , "\xb5\xb3\x52\xb6\xf2" } , { "\xc5\xe8\xc2\xda" , "\xb5\xb3\x79\xf2" } , { "\xc5\xe8\xc4" , "\xb5\xb3\xf4\x52\xb6" } , { "\xc5\xe8\xc4\xda" , "\xb5\xb3\xf4\x79" } , { "\xc5\xe8\xc4\xda\xa2" , "\xb5\xb3\xf4\x79\x4c\x69" } , { "\xc5\xe8\xc4\xdb" , "\xb5\xb3\xf4\x6a\xb6" } , { "\xc5\xe8\xc4\xdd" , "\xb5\xb3\xf4\x52\xb6\x56" } , { "\xc5\xe8\xc4\xde" , "\xb5\xb3\xf4\x52\xb6\x57" } , { "\xc5\xe8\xc4\xe1\xa2" , "\xae\xb5\xb3\xf4\xb6\x5b\x4c\x69" } , { "\xc5\xe8\xc4\xe5" , "\xb5\xb3\xf4\x5d\x5b" } , { "\xc5\xe8\xc4\xe5\xa2" , "\xb5\xb3\xf4\x5d\x5b\x4c\x69" } , { "\xc5\xe8\xc4\xe8\xc4" , "\xb5\xb3\x60\xb6\xb5\xf4\x52\xb6" } , { "\xc5\xe8\xc5" , "\xb5\xb3\xf4\xf0\x52\xb6" } , { "\xc5\xe8\xc5\xa2" , "\xb5\xb3\xf4\xf0\x52\xb6\x4c\x69" } , { "\xc5\xe8\xc5\xda" , "\xb5\xb3\xf4\xf0\x79" } , { "\xc5\xe8\xc5\xda\xa2" , "\xb5\xb3\xf4\xf0\x79\x4c\x69" } , { "\xc5\xe8\xc5\xdb" , "\xb5\xb3\xf4\xf0\x6a\xb6" } , { "\xc5\xe8\xc5\xdb\xa2" , "\xb5\xb3\xf4\xf0\x6a\xb6\x4c\x69" } , { "\xc5\xe8\xc5\xdd" , "\xb5\xb3\xf4\xf0\x52\xb6\x56" } , { "\xc5\xe8\xc5\xe8\xcd" , "\xb5\xb3\xf4\xf0\x52\xb6\xf9" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\xb5\xb3\xf4\xf0\x79\xf9" } , { "\xc5\xe8\xc6" , "\xb5\xb3\x52\xb6\xf5" } , { "\xc5\xe8\xc6\xda" , "\xb5\xb3\x79\xf5" } , { "\xc5\xe8\xc6\xdd" , "\xb5\xb3\x52\xb6\x56\xf5" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\xb5\xb3\x79\xf5\x51\x51\xf9" } , { "\xc5\xe8\xc8\xdd" , "\xb5\xb3\x52\xb6\x56\xf6" } , { "\xc5\xe8\xc8\xde" , "\xb5\xb3\x52\xb6\x57\xf6" } , { "\xc5\xe8\xca\xdd" , "\xb5\xb3\x52\xb6\x56\xf7" } , { "\xc5\xe8\xca\xe6" , "\xb5\xb3\x5f\xf7" } , { "\xc5\xe8\xcb\xdd" , "\xb5\xb3\x52\xb6\x56\xf7\xe9" } , { "\xc5\xe8\xcc" , "\xb5\xb3\x52\xb6\xf8" } , { "\xc5\xe8\xcc\xda" , "\xb5\xb3\x79\xf8" } , { "\xc5\xe8\xcc\xdd" , "\xb5\xb3\x52\xb6\x56\xf8" } , { "\xc5\xe8\xcd" , "\xb5\xb3\x52\xb6\xf9" } , { "\xc5\xe8\xcd\xa2" , "\xb5\xb3\x52\xb6\xf9\x4c\x69" } , { "\xc5\xe8\xcd\xa3" , "\xb5\xb3\x52\xb6\xf9\x4d" } , { "\xc5\xe8\xcd\xda" , "\xb5\xb3\x79\xf9" } , { "\xc5\xe8\xcd\xda\xa2" , "\xb5\xb3\x79\xf9\x4c\x69" } , { "\xc5\xe8\xcd\xda\xa3" , "\xb5\xb3\x79\xf9\x4d" } , { "\xc5\xe8\xcd\xdb" , "\xb5\xb3\x6a\xb6\xf9" } , { "\xc5\xe8\xcd\xdc" , "\xb5\xb3\x6b\xb6\xf9" } , { "\xc5\xe8\xcd\xdd" , "\xb5\xb3\x52\xb6\x56\xf9" } , { "\xc5\xe8\xcd\xde" , "\xb5\xb3\x52\xb6\x57\xf9" } , { "\xc5\xe8\xcd\xe1" , "\xae\xb5\xb3\xb6\x5b\xf9" } , { "\xc5\xe8\xcd\xe2" , "\x5c\xae\xb5\xb3\xb6\x51\xf9" } , { "\xc5\xe8\xcd\xe5" , "\xb5\xb3\x5d\x5b\xf9" } , { "\xc5\xe8\xcd\xe5\xa2" , "\xb5\xb3\x5d\x5b\xf9\x4c\x69" } , { "\xc5\xe8\xcd\xe8\xc2" , "\xb5\xb3\x60\xb6\xb8\x52\xb6\x56\xf2" } , { "\xc5\xe8\xcd\xe8\xcd" , "\xb5\xb3\x52\xb6\xf9\x51\xf9" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\xb5\xb3\x79\xf9\x51\xf9" } , { "\xc5\xe8\xcf" , "\xfa\xb5\xb3\x52\xb6" } , { "\xc5\xe8\xcf\xa2" , "\xfa\xb5\xb3\x52\xb6\x4c\x69" } , { "\xc5\xe8\xcf\xda" , "\xfa\xb5\xb3\x79" } , { "\xc5\xe8\xcf\xda\xa2" , "\xfa\xb5\xb3\x79\x4c\x69" } , { "\xc5\xe8\xcf\xdb" , "\xfa\xb5\xb3\x6a\xb6" } , { "\xc5\xe8\xcf\xdc" , "\xfa\xb5\xb3\x6b\xb6" } , { "\xc5\xe8\xcf\xdd" , "\xfa\xb5\xb3\x52\xb6\x56" } , { "\xc5\xe8\xcf\xde" , "\xfa\xb5\xb3\x52\xb6\x57" } , { "\xc5\xe8\xcf\xdf" , "\xfa\xb5\xb3\x52\xb6\x51\x58" } , { "\xc5\xe8\xcf\xe1" , "\xfa\xae\xb5\xb3\xb6\x5b" } , { "\xc5\xe8\xcf\xe5" , "\xfa\xb5\xb3\x5d\x5b" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\xb5\xb3\x5d\x5b\xfb\x51\xf8" } , { "\xc5\xe8\xcf\xe8\xcd" , "\xb5\xb3\x52\xb6\xfb\x51\xf9" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\xb5\xb3\x79\xfb\x51\xf9" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\xb5\xb3\x52\xb6\x57\xfb\x51\xf9" } , { "\xc5\xe8\xcf\xe8\xd4" , "\xb5\xb3\x52\xb6\xfb\x51\x2a" } , { "\xc5\xe8\xd1\xdd" , "\xb5\xb3\xfd\x52\xb6\x56" } , { "\xc5\xe8\xd1\xe5" , "\xb5\xb3\xfd\x5d\x5b" } , { "\xc5\xe8\xd2" , "\xb5\xb3\x52\xb6\xfe" } , { "\xc5\xe8\xd4" , "\xb5\xb3\x52\xb6\x2a" } , { "\xc5\xe8\xd4\xa2" , "\xb5\xb3\x52\xb6\x2a\x4c\x69" } , { "\xc5\xe8\xd4\xda" , "\xb5\xb3\x79\x2a" } , { "\xc5\xe8\xd4\xdb" , "\xb5\xb3\x6a\xb6\x2a" } , { "\xc5\xe8\xd4\xdb\xa2" , "\xb5\xb3\x6a\xb6\x2a\x4c\x69" } , { "\xc5\xe8\xd4\xdc" , "\xb5\xb3\x6b\xb6\x2a" } , { "\xc5\xe8\xd4\xdd" , "\xb5\xb3\x52\xb6\x56\x2a" } , { "\xc5\xe8\xd4\xe1" , "\xae\xb5\xb3\xb6\x5b\x2a" } , { "\xc5\xe8\xd4\xe2" , "\x5c\xae\xb5\xb3\xb6\x51\x2a" } , { "\xc5\xe8\xd5\xda" , "\xb5\xb3\x79\x2b" } , { "\xc5\xe8\xd6\xda" , "\xb5\xb3\x3c\x79" } , { "\xc5\xe8\xd6\xdb" , "\xb5\xb3\x3c\x6a\xb6" } , { "\xc5\xe8\xd6\xe8\xbd" , "\xb5\xb3\x60\xb6\x78\x74\xed\x73\x51" } , { "\xc5\xe8\xd7" , "\xb5\xb3\x52\xb6\x3d" } , { "\xc5\xe8\xd7\xe1" , "\xae\xb5\xb3\xb6\x5b\x3d" } , { "\xc5\xe8\xd7\xe8" , "\xb5\xb3\x60\xb6\x3d" } , { "\xc5\xe8\xd9\xcd" , "\xb5\xb3\x52\xb6\xb8\x52\xb6\x56" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\xb5\xb3\x52\xb6\x4c\x52\x69\x2a" } , { "\xc5\xe8\xe8" , "\xb5\xb3\x60\xb6" } , { "\xc5\xe9" , "\xb5\xb3\x52\xb6" } , { "\xc6" , "\xa9\xab\x73" } , { "\xc6\xa1" , "\xa9\xab\x73\xb7" } , { "\xc6\xa2" , "\xa9\xab\x73\x4c\x69" } , { "\xc6\xa2\xa2" , "\xa9\xab\x73\x4c\x69\x69\x4c\x69" } , { "\xc6\xa3" , "\xa9\xab\x73\x4d" } , { "\xc6\xda" , "\xa9\x79" } , { "\xc6\xda\xa1" , "\xa9\x79\xb7" } , { "\xc6\xda\xa2" , "\xa9\x79\x4c\x69" } , { "\xc6\xda\xa3" , "\xa9\x79\x4d" } , { "\xc6\xdb" , "\xac\x73" } , { "\xc6\xdb\xa2" , "\xac\x73\x4c\x69" } , { "\xc6\xdb\xa3" , "\xac\x73\x4d" } , { "\xc6\xdc" , "\xac\x64\x73" } , { "\xc6\xdc\xa2" , "\xac\x64\x73\x4c\x69" } , { "\xc6\xdd" , "\xa9\xab\x73\x56" } , { "\xc6\xdd\xa1" , "\xa9\xab\x73\x56\xb7" } , { "\xc6\xdd\xa2" , "\xa9\xab\x73\x56\x4c\x69" } , { "\xc6\xdd\xa2\xa2" , "\xa9\xab\x73\x56\x4c\x69\x69\x4c\x69" } , { "\xc6\xdd\xa3" , "\xa9\xab\x73\x56\x4d" } , { "\xc6\xde" , "\xa9\xab\x73\x57" } , { "\xc6\xde\xa1" , "\xa9\xab\x73\x57\xb7" } , { "\xc6\xde\xa2" , "\xa9\xab\x73\x57\x4c\x69" } , { "\xc6\xde\xd0\xe8" , "\xa9\xab\x73\x57\xe0\xe3\xde" } , { "\xc6\xdf" , "\xa9\xab\x73\x58" } , { "\xc6\xe0" , "\xae\xa9\x73" } , { "\xc6\xe0\xa2" , "\xae\xa9\x73\x4c\x69" } , { "\xc6\xe1" , "\xae\xa9\x73\x5b" } , { "\xc6\xe1\xa2" , "\xae\xa9\x73\x5b\x4c\x69" } , { "\xc6\xe2" , "\x5c\xae\xa9\x73" } , { "\xc6\xe2\xa2" , "\x5c\xae\xa9\x73\x4c\x69" } , { "\xc6\xe2\xa3" , "\x5c\xae\xa9\x73\x4d" } , { "\xc6\xe4" , "\xa9\xaf" } , { "\xc6\xe4\xa2" , "\xa9\xaf\x4c\x69" } , { "\xc6\xe5" , "\xa9\xaf\x5b" } , { "\xc6\xe5\xa2" , "\xa9\xaf\x5b\x4c\x69" } , { "\xc6\xe5\xa3" , "\xa9\xaf\x5b\x4d" } , { "\xc6\xe6" , "\xa9\x5f" } , { "\xc6\xe6\xa2" , "\xa9\x5f\x4c\x69" } , { "\xc6\xe7" , "\xa9\xaf" } , { "\xc6\xe8" , "\xa9\xb1\x73" } , { "\xc6\xe8\xb3" , "\xa9\xab\x73\xe4" } , { "\xc6\xe8\xb3\xa2" , "\xa9\xab\x73\xe4\x4c\x69" } , { "\xc6\xe8\xb3\xda" , "\xa9\x79\xe4" } , { "\xc6\xe8\xb3\xda\xa2" , "\xa9\x79\xe4\x4c\x69" } , { "\xc6\xe8\xb3\xdb" , "\xac\x73\xe4" } , { "\xc6\xe8\xb3\xdc" , "\xac\x64\x73\xe4" } , { "\xc6\xe8\xb3\xdd" , "\xa9\xab\x73\x56\xe4" } , { "\xc6\xe8\xb3\xdd\xa2" , "\xa9\xab\x73\x56\xe4\x4c\x69" } , { "\xc6\xe8\xb3\xde" , "\xa9\xab\x73\x57\xe4" } , { "\xc6\xe8\xb3\xdf" , "\xa9\xab\x73\xe4\x51\x58" } , { "\xc6\xe8\xb3\xe0" , "\xae\xa9\x73\xe4" } , { "\xc6\xe8\xb3\xe1" , "\xae\xa9\x73\x5b\xe4" } , { "\xc6\xe8\xb3\xe2" , "\x5c\xae\xa9\x73\x51\xe4" } , { "\xc6\xe8\xb3\xe2\xa2" , "\x5c\xae\xa9\x73\x51\xe4\x4c\x69" } , { "\xc6\xe8\xb3\xe4" , "\xa9\xaf\xe4" } , { "\xc6\xe8\xb3\xe5" , "\xa9\xaf\x5b\xe4" } , { "\xc6\xe8\xb3\xe5\xa2" , "\xa9\xaf\x5b\xe4\x4c\x69" } , { "\xc6\xe8\xb3\xe8" , "\xa9\xb1\x73\xe4" } , { "\xc6\xe8\xb3\xe8\xb3" , "\xa9\xab\x73\xe4\x51\xe4" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\xa9\xb1\x73\x4e\xed\x54\x50" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\xa9\xab\x73\x56\xe4\x51\xf9" } , { "\xc6\xe8\xb3\xe8\xcf" , "\xa9\xab\x73\xe4\x51\xfb" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\xac\x73\xe4\x51\xfb" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\xac\x64\x73\xe4\x51\xfb" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\xa9\xaf\x5b\xe4\x51\xfb" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\xa9\xb1\x73\x4e\xfd\x53" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\xa9\xb1\x73\x4e\xfd\x52\x50\x56" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\xa9\xb1\x73\x4e\xfd\x52\x50\x57" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\xa9\xb1\x73\x5a\x4e\xfd\x50\x5b" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\xa9\xb1\x73\x4e\xfd\x5d\x5b" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\xa9\x79\xe4\x51\x2a" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\xac\x73\xe4\x51\x2a" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\xae\xa9\x73\xe4\x51\x2a" } , { "\xc6\xe8\xb3\xe8\xd5" , "\xa9\xab\x73\xe4\x51\x2b" } , { "\xc6\xe8\xb3\xe8\xd6" , "\xa9\xb1\x73\x4f\x52\x50\x51" } , { "\xc6\xe8\xb3\xe9" , "\xa9\xab\x73\xe4" } , { "\xc6\xe8\xb4" , "\xa9\xe5\xab\x73" } , { "\xc6\xe8\xb4\xda" , "\xa9\xe5\x79" } , { "\xc6\xe8\xb4\xdb" , "\xac\xe5\x73" } , { "\xc6\xe8\xb5" , "\xa9\xe6\xab\x73" } , { "\xc6\xe8\xb5\xa2" , "\xa9\xe6\xab\x73\x4c\x69" } , { "\xc6\xe8\xb5\xda" , "\xa9\xe6\x79" } , { "\xc6\xe8\xb5\xdb" , "\xac\xe6\x73" } , { "\xc6\xe8\xb5\xdd" , "\xa9\xe6\xab\x73\x56" } , { "\xc6\xe8\xb5\xde" , "\xa9\xe6\xab\x73\x57" } , { "\xc6\xe8\xb5\xe0" , "\xae\xa9\xe6\x73" } , { "\xc6\xe8\xb5\xe4" , "\xa9\xe6\xaf" } , { "\xc6\xe8\xb5\xe4\xa2" , "\xa9\xe6\xaf\x4c\x69" } , { "\xc6\xe8\xb5\xe5" , "\xa9\xe6\xaf\x5b" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\xa9\xb1\x73\x67\xe6\x53" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\xa9\xe6\x79\xfb" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\xac\x64\xe6\x73\xfb" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\xae\xa9\xe6\x73\x5b\xfb" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\xa9\xe6\xaf\x5b\xfb" } , { "\xc6\xe8\xb6" , "\xa9\xe7\xab\x73" } , { "\xc6\xe8\xb6\xdc" , "\xac\x64\xe7\x73" } , { "\xc6\xe8\xb6\xdd" , "\xa9\xe7\xab\x73\x56" } , { "\xc6\xe8\xb8" , "\xa9\xab\x73\xe8" } , { "\xc6\xe8\xb8\xa2" , "\xa9\xab\x73\xe8\x4c\x69" } , { "\xc6\xe8\xb8\xda" , "\xa9\x79\xe8" } , { "\xc6\xe8\xb8\xdb" , "\xac\x73\xe8" } , { "\xc6\xe8\xb8\xdb\xa2" , "\xac\x73\xe8\x4c\x69" } , { "\xc6\xe8\xb8\xdc" , "\xac\x64\x73\xe8" } , { "\xc6\xe8\xb8\xdd" , "\xa9\xab\x73\x56\xe8" } , { "\xc6\xe8\xb8\xde" , "\xa9\xab\x73\x57\xe8" } , { "\xc6\xe8\xb8\xe0" , "\xae\xa9\x73\xe8" } , { "\xc6\xe8\xb8\xe0\xa2" , "\xae\xa9\x73\xe8\x4c\x69" } , { "\xc6\xe8\xb8\xe1" , "\xae\xa9\x73\x5b\xe8" } , { "\xc6\xe8\xb8\xe5" , "\xa9\xaf\x5b\xe8" } , { "\xc6\xe8\xb8\xe5\xa2" , "\xa9\xaf\x5b\xe8\x4c\x69" } , { "\xc6\xe8\xb8\xe8" , "\xa9\xb1\x73\xe8" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\xa9\xb1\x73\xbf\x60\xef\xc1" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\xa9\x79\xe8\x51\x2a\x4c\x69" } , { "\xc6\xe8\xb9" , "\xa9\xab\x73\xe8\xe9" } , { "\xc6\xe8\xb9\xda" , "\xa9\x79\xe8\xe9" } , { "\xc6\xe8\xb9\xe0" , "\xae\xa9\x73\xe8\xe9" } , { "\xc6\xe8\xba" , "\xa9\xea\xab\x73" } , { "\xc6\xe8\xba\xa2" , "\xa9\xea\xab\x73\x4c\x69" } , { "\xc6\xe8\xba\xda" , "\xa9\xea\x79" } , { "\xc6\xe8\xba\xdb" , "\xac\xea\x73" } , { "\xc6\xe8\xba\xdb\xa2" , "\xac\xea\x73\x4c\x69" } , { "\xc6\xe8\xba\xdc" , "\xac\x64\xea\x73" } , { "\xc6\xe8\xba\xde" , "\xa9\xea\xab\x73\x57" } , { "\xc6\xe8\xba\xe0" , "\xae\xa9\xea\x73" } , { "\xc6\xe8\xba\xe0\xa2" , "\xae\xa9\xea\x73\x4c\x69" } , { "\xc6\xe8\xba\xe1" , "\xae\xa9\xea\x73\x5b" } , { "\xc6\xe8\xba\xe2" , "\xae\xa9\xea\x5e\x73" } , { "\xc6\xe8\xba\xe5" , "\xa9\xea\xaf\x5b" } , { "\xc6\xe8\xba\xe8" , "\xa9\xb1\xea\x73" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\xa9\xb1\x73\xc7\xec\xd8" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\xa9\xea\xab\x73\x57\xf9" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\xa9\xea\x79\x2a" } , { "\xc6\xe8\xba\xe9\xda" , "\xa9\xea\x79" } , { "\xc6\xe8\xbc\xe8\xb8" , "\xa9\xec\xab\x73\x51\xe8" } , { "\xc6\xe8\xbd" , "\xa9\xed\xab\x73" } , { "\xc6\xe8\xbd\xda" , "\xa9\xed\x79" } , { "\xc6\xe8\xbd\xdb" , "\xac\xed\x73" } , { "\xc6\xe8\xbd\xdb\xa2" , "\xac\xed\x73\x4c\x69" } , { "\xc6\xe8\xbd\xdc" , "\xac\x64\xed\x73" } , { "\xc6\xe8\xbd\xdd" , "\xa9\xed\xab\x73\x56" } , { "\xc6\xe8\xbd\xde" , "\xa9\xed\xab\x73\x57" } , { "\xc6\xe8\xbd\xe0" , "\xae\xa9\xed\x73" } , { "\xc6\xe8\xbd\xe1" , "\xae\xa9\xed\x73\x5b" } , { "\xc6\xe8\xbd\xe1\xa2" , "\xae\xa9\xed\x73\x5b\x4c\x69" } , { "\xc6\xe8\xbd\xe2" , "\xae\xa9\xed\x5e\x73" } , { "\xc6\xe8\xbd\xe2\xa2" , "\xae\xa9\xed\x5e\x73\x4c\x69" } , { "\xc6\xe8\xbd\xe5" , "\xa9\xed\xaf\x5b" } , { "\xc6\xe8\xbd\xe5\xa2" , "\xa9\xed\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xbd\xe8" , "\xa9\xb1\xed\x73" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\xac\xed\x73\xf5" } , { "\xc6\xe8\xbd\xe8\xcf" , "\xa9\xed\xab\x73\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\xa9\xed\x79\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\xac\xed\x73\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\xac\x64\xed\x73\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\xa9\xed\xab\x73\x57\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\xae\xa9\xed\x73\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\xae\xa9\xed\x73\x5b\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\xae\xa9\xed\x5e\x73\xfb" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\xa9\xed\xaf\x5b\xfb" } , { "\xc6\xe8\xbd\xe8\xd1" , "\xa9\xb1\x73\xc8\xfd\xc1" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\xa9\xb1\x73\xc8\xfd\xc1\x56" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\xa9\xb1\x73\xc8\xfd\xc1\x57" } , { "\xc6\xe8\xbd\xe8\xd7" , "\xa9\xed\xab\x73\x3d" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\xac\xed\x73\x3d" } , { "\xc6\xe8\xbe" , "\xa9\xee\xab\x73" } , { "\xc6\xe8\xbf" , "\xa9\xef\xab\x73" } , { "\xc6\xe8\xbf\xa2" , "\xa9\xef\xab\x73\x4c\x69" } , { "\xc6\xe8\xbf\xda" , "\xa9\xef\x79" } , { "\xc6\xe8\xbf\xdb" , "\xac\xef\x73" } , { "\xc6\xe8\xbf\xdb\xa2" , "\xac\xef\x73\x4c\x69" } , { "\xc6\xe8\xbf\xdc" , "\xac\x64\xef\x73" } , { "\xc6\xe8\xbf\xdd" , "\xa9\xef\xab\x73\x56" } , { "\xc6\xe8\xbf\xe0" , "\xae\xa9\xef\x73" } , { "\xc6\xe8\xbf\xe0\xa2" , "\xae\xa9\xef\x73\x4c\x69" } , { "\xc6\xe8\xbf\xe1" , "\xae\xa9\xef\x73\x5b" } , { "\xc6\xe8\xbf\xe2" , "\xae\xa9\xef\x5e\x73" } , { "\xc6\xe8\xbf\xe5" , "\xa9\xef\xaf\x5b" } , { "\xc6\xe8\xbf\xe5\xa2" , "\xa9\xef\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xbf\xe8" , "\xa9\xb1\xef\x73" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\xa9\xef\x79\xe4" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\xa9\xb1\x73\xb2\xe6\x79" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\xa9\xef\x79\xf7\x51\xf9" } , { "\xc6\xe8\xbf\xe8\xcf" , "\xa9\xef\xab\x73\xfb" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\xa9\xef\x79\xfb" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\xac\xef\x73\xfb" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\xac\x64\xef\x73\xfb" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\xa9\xef\xaf\x5b\xfb" } , { "\xc6\xe8\xc0\xdb" , "\xac\xef\xf0\x73" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\xa9\xb1\x73\xdf\xf1\xe1\x57" } , { "\xc6\xe8\xc2" , "\xa9\xab\x73\xf2" } , { "\xc6\xe8\xc2\xa2" , "\xa9\xab\x73\xf2\x4c\x69" } , { "\xc6\xe8\xc2\xa3" , "\xa9\xab\x73\xf2\x4d" } , { "\xc6\xe8\xc2\xda" , "\xa9\x79\xf2" } , { "\xc6\xe8\xc2\xdb" , "\xac\x73\xf2" } , { "\xc6\xe8\xc2\xdc" , "\xac\x64\x73\xf2" } , { "\xc6\xe8\xc2\xdd" , "\xa9\xab\x73\x56\xf2" } , { "\xc6\xe8\xc2\xde" , "\xa9\xab\x73\x57\xf2" } , { "\xc6\xe8\xc2\xe0" , "\xae\xa9\x73\xf2" } , { "\xc6\xe8\xc2\xe1" , "\xae\xa9\x73\x5b\xf2" } , { "\xc6\xe8\xc2\xe5" , "\xa9\xaf\x5b\xf2" } , { "\xc6\xe8\xc2\xe5\xa2" , "\xa9\xaf\x5b\xf2\x4c\x69" } , { "\xc6\xe8\xc2\xe8" , "\xa9\xb1\x73\xf2" } , { "\xc6\xe8\xc2\xe8\xc2" , "\xa9\xb1\x73\xbb\x52\xbd\xf2" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\xa9\xb1\x73\xbb\x60\xbd\x78\x6d\x73\xf2" } , { "\xc6\xe8\xc2\xe8\xcd" , "\xa9\xab\x73\xf2\x51\xf9" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\xa9\x79\xf2\x51\xf9" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\xae\xa9\x73\x5b\xf2\x51\xf9" } , { "\xc6\xe8\xc2\xe8\xcf" , "\xa9\xab\x73\xf2\x51\xfb" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\xa9\x79\xf2\x51\xfb" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xac\x73\xf2\x51\xfb" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\xac\x64\x73\xf2\x51\xfb" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\xae\xa9\x73\x5b\xf2\x51\xfb" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\xa9\xaf\x5b\xf2\x51\xfb" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\xa9\xaf\x5b\xf2\x51\xfb\x4c\x69" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\xa9\xab\x73\xf2\x51\xfb\x51\xf9" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\xa9\xaf\x5b\xf2\x51\xfb\x51\xf9" } , { "\xc6\xe8\xc2\xe8\xd4" , "\xa9\xab\x73\xf2\x51\x2a" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\xa9\x79\xf2\x51\x3d\x4c\x69" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\xa9\xaf\x5b\xf2\x51\x3d" } , { "\xc6\xe8\xc3" , "\xa9\xf3\xab\x73" } , { "\xc6\xe8\xc3\xda" , "\xa9\xf3\x79" } , { "\xc6\xe8\xc3\xdb" , "\xac\xf3\x73" } , { "\xc6\xe8\xc3\xdc" , "\xac\x64\xf3\x73" } , { "\xc6\xe8\xc3\xe1" , "\xae\xa9\xf3\x73\x5b" } , { "\xc6\xe8\xc3\xe2" , "\xae\xa9\xf3\x5e\x73" } , { "\xc6\xe8\xc3\xe5" , "\xa9\xf3\xaf\x5b" } , { "\xc6\xe8\xc3\xe5\xa2" , "\xa9\xf3\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xc3\xe8" , "\xa9\xb1\xf3\x73" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\xa9\xf3\x79\xfb\x4c\x69" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\xae\xa9\xf3\x73\x5b\xfb" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\xae\xa9\xf3\x5e\x73\xfb" } , { "\xc6\xe8\xc4" , "\xa9\xf4\xab\x73" } , { "\xc6\xe8\xc4\xda" , "\xa9\xf4\x79" } , { "\xc6\xe8\xc4\xda\xa2" , "\xa9\xf4\x79\x4c\x69" } , { "\xc6\xe8\xc4\xdb" , "\xac\xf4\x73" } , { "\xc6\xe8\xc4\xdc" , "\xac\x64\xf4\x73" } , { "\xc6\xe8\xc4\xdc\xa2" , "\xac\x64\xf4\x73\x4c\x69" } , { "\xc6\xe8\xc4\xdd" , "\xa9\xf4\xab\x73\x56" } , { "\xc6\xe8\xc4\xde" , "\xa9\xf4\xab\x73\x57" } , { "\xc6\xe8\xc4\xde\xa2" , "\xa9\xf4\xab\x73\x57\x4c\x69" } , { "\xc6\xe8\xc4\xe0" , "\xae\xa9\xf4\x73" } , { "\xc6\xe8\xc4\xe1" , "\xae\xa9\xf4\x73\x5b" } , { "\xc6\xe8\xc4\xe1\xa2" , "\xae\xa9\xf4\x73\x5b\x4c\x69" } , { "\xc6\xe8\xc4\xe2" , "\xae\xa9\xf4\x5e\x73" } , { "\xc6\xe8\xc4\xe4" , "\xa9\xf4\xaf" } , { "\xc6\xe8\xc4\xe5" , "\xa9\xf4\xaf\x5b" } , { "\xc6\xe8\xc4\xe5\xa2" , "\xa9\xf4\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xc4\xe6" , "\xa9\xf4\x5f" } , { "\xc6\xe8\xc4\xe8\xc5" , "\xa9\xb1\x73\xb5\xf4\xf0\x52\xb6" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\xa9\xb1\x73\xb5\xf4\xf0\x79" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\xa9\xb1\x73\xb5\xf4\xf0\x6b\xb6" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\xa9\xf4\x79\xf5" } , { "\xc6\xe8\xc4\xe8\xcd" , "\xa9\xf4\xab\x73\xf9" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\xa9\xf4\xab\x73\x56\xf9" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\xa9\xf4\xaf\x5b\xf9" } , { "\xc6\xe8\xc4\xe8\xcf" , "\xa9\xf4\xab\x73\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\xa9\xf4\x79\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\xa9\xf4\x79\xfb\x4c\x69" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\xac\xf4\x73\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\xac\x64\xf4\x73\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\xa9\xf4\xab\x73\x57\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\xae\xa9\xf4\x73\x5b\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\xa9\xf4\xaf\x5b\xfb" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\xa9\xf4\xaf\x5b\xfb\x4c\x69" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\xa9\xf4\xab\x73\x57\xfb\x51\xf9" } , { "\xc6\xe8\xc4\xe8\xd4" , "\xa9\xf4\xab\x73\x2a" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\xa9\xf4\x79\x2a" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\xac\xf4\x73\x2a" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\xac\x64\xf4\x73\x2a" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\xa9\xf4\xaf\x5b\x2a" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\xa9\xf4\xaf\x5b\x2a\x4c\x69" } , { "\xc6\xe8\xc5" , "\xa9\xf4\xf0\xab\x73" } , { "\xc6\xe8\xc5\xda" , "\xa9\xf4\xf0\x79" } , { "\xc6\xe8\xc5\xdb" , "\xac\xf4\xf0\x73" } , { "\xc6\xe8\xc5\xdc" , "\xac\x64\xf4\xf0\x73" } , { "\xc6\xe8\xc5\xdd" , "\xa9\xf4\xf0\xab\x73\x56" } , { "\xc6\xe8\xc5\xde" , "\xa9\xf4\xf0\xab\x73\x57" } , { "\xc6\xe8\xc5\xe1" , "\xae\xa9\xf4\xf0\x73\x5b" } , { "\xc6\xe8\xc5\xe5" , "\xa9\xf4\xf0\xaf\x5b" } , { "\xc6\xe8\xc5\xe5\xa2" , "\xa9\xf4\xf0\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xc5\xe6" , "\xa9\xf4\xf0\x5f" } , { "\xc6\xe8\xc5\xe8\xcd" , "\xa9\xf4\xf0\xab\x73\xf9" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\xa9\xf4\xf0\x79\xf9" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\xac\x64\xf4\xf0\x73\xf9" } , { "\xc6\xe8\xc5\xe8\xcf" , "\xa9\xf4\xf0\xab\x73\xfb" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\xa9\xf4\xf0\x79\xfb\x4c\x69" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\xac\x64\xf4\xf0\x73\xfb" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\xa9\xf4\xf0\xaf\x5b\xfb\x4c\x69" } , { "\xc6\xe8\xc6" , "\xa9\xab\x73\xf5" } , { "\xc6\xe8\xc6\xa2" , "\xa9\xab\x73\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xda" , "\xa9\x79\xf5" } , { "\xc6\xe8\xc6\xda\xa2" , "\xa9\x79\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xdb" , "\xac\x73\xf5" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xac\x73\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xac\x73\xf5\x4d" } , { "\xc6\xe8\xc6\xdc" , "\xac\x64\x73\xf5" } , { "\xc6\xe8\xc6\xdc\xa2" , "\xac\x64\x73\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xdd" , "\xa9\xab\x73\x56\xf5" } , { "\xc6\xe8\xc6\xdd\xa2" , "\xa9\xab\x73\x56\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xde" , "\xa9\xab\x73\x57\xf5" } , { "\xc6\xe8\xc6\xdf" , "\xa9\xab\x73\xf5\x51\x51\x58" } , { "\xc6\xe8\xc6\xe0" , "\xae\xa9\x73\xf5" } , { "\xc6\xe8\xc6\xe0\xa2" , "\xae\xa9\x73\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xe1" , "\xae\xa9\x73\x5b\xf5" } , { "\xc6\xe8\xc6\xe1\xa2" , "\xae\xa9\x73\x5b\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xe2" , "\x5c\xae\xa9\x73\x51\xf5" } , { "\xc6\xe8\xc6\xe4" , "\xa9\xaf\xf5" } , { "\xc6\xe8\xc6\xe4\xa2" , "\xa9\xaf\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xe5" , "\xa9\xaf\x5b\xf5" } , { "\xc6\xe8\xc6\xe5\xa2" , "\xa9\xaf\x5b\xf5\x4c\x69" } , { "\xc6\xe8\xc6\xe6" , "\xa9\x5f\xf5" } , { "\xc6\xe8\xc6\xe8" , "\xa9\xb1\x73\xf5" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\xa9\xb1\x73\xa9\xe6\x79" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\xa9\xb1\x73\xa9\xb1\x73\xc8\xfd\xc1\x56" } , { "\xc6\xe8\xc6\xe8\xc2" , "\xa9\xb1\x73\xa9\xab\x73\xf2" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\xa9\xb1\x73\xa9\xf4\xaf\x5b" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\xa9\xb1\x73\xa9\xf4\xf0\xab\x73\xf9" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\xa9\xab\x73\x56\xf5\x51\x51\xf6" } , { "\xc6\xe8\xc6\xe8\xc9" , "\xa9\xab\x73\xf5\x51\x51\xf6\xe9" } , { "\xc6\xe8\xc6\xe8\xcc" , "\xa9\xab\x73\xf5\x51\x51\xf8" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\xa9\x79\xf5\x51\x51\xf9" } , { "\xc6\xe8\xc6\xe8\xcf" , "\xa9\xab\x73\xf5\x51\x51\xfb" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\xa9\xaf\x5b\xf5\x51\x51\xfb" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\xa9\x79\xf5\x51\x51\x2a" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\xac\x73\xf5\x51\x51\x2a\x4c\x69" } , { "\xc6\xe8\xc8" , "\xa9\xab\x73\xf6" } , { "\xc6\xe8\xc8\xa2" , "\xa9\xab\x73\xf6\x4c\x69" } , { "\xc6\xe8\xc8\xda" , "\xa9\x79\xf6" } , { "\xc6\xe8\xc8\xda\xa2" , "\xa9\x79\xf6\x4c\x69" } , { "\xc6\xe8\xc8\xdb" , "\xac\x73\xf6" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xac\x73\xf6\x4c\x69" } , { "\xc6\xe8\xc8\xdc" , "\xac\x64\x73\xf6" } , { "\xc6\xe8\xc8\xdd" , "\xa9\xab\x73\x56\xf6" } , { "\xc6\xe8\xc8\xde" , "\xa9\xab\x73\x57\xf6" } , { "\xc6\xe8\xc8\xe0" , "\xae\xa9\x73\xf6" } , { "\xc6\xe8\xc8\xe1" , "\xae\xa9\x73\x5b\xf6" } , { "\xc6\xe8\xc8\xe2" , "\x5c\xae\xa9\x73\x51\xf6" } , { "\xc6\xe8\xc8\xe4" , "\xa9\xaf\xf6" } , { "\xc6\xe8\xc8\xe5" , "\xa9\xaf\x5b\xf6" } , { "\xc6\xe8\xc8\xe6" , "\xa9\x5f\xf6" } , { "\xc6\xe8\xc8\xe8\xc8" , "\xa9\xab\x73\xf6\x51\xf6" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\xa9\xab\x73\x57\xf6\x51\xf9" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\xa9\xab\x73\xf6\x51\xf9\x51\x58\x4c\x69" } , { "\xc6\xe8\xc8\xe8\xcf" , "\xa9\xab\x73\xf6\x51\xfb" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\xa9\x79\xf6\x51\xfb" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\xae\xa9\x73\xf6\x51\xfb" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\xa9\xb1\x73\x46\xfd\x79" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\xa9\xb1\x73\x7b\x6d\xfd\x73" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\xa9\xb1\x73\x78\x6d\xfd\x73\x6f" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\xa9\xb1\x73\x78\x6d\xfd\x73\x70" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\xa9\xb1\x73\x7d\x6d\xfd\x73" } , { "\xc6\xe8\xc9" , "\xa9\xab\x73\xf6\xe9" } , { "\xc6\xe8\xc9\xda" , "\xa9\x79\xf6\xe9" } , { "\xc6\xe8\xc9\xda\xa2" , "\xa9\x79\xf6\xe9\x4c\x69" } , { "\xc6\xe8\xc9\xdb" , "\xac\x73\xf6\xe9" } , { "\xc6\xe8\xc9\xdc" , "\xac\x64\x73\xf6\xe9" } , { "\xc6\xe8\xc9\xdd" , "\xa9\xab\x73\x56\xf6\xe9" } , { "\xc6\xe8\xc9\xe0" , "\xae\xa9\x73\xf6\xe9" } , { "\xc6\xe8\xc9\xe0\xa2" , "\xae\xa9\x73\xf6\xe9\x4c\x69" } , { "\xc6\xe8\xc9\xe1" , "\xae\xa9\x73\x5b\xf6\xe9" } , { "\xc6\xe8\xc9\xe1\xa2" , "\xae\xa9\x73\x5b\xf6\xe9\x4c\x69" } , { "\xc6\xe8\xc9\xe4" , "\xa9\xaf\xf6\xe9" } , { "\xc6\xe8\xc9\xe5" , "\xa9\xaf\x5b\xf6\xe9" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\xa9\xab\x73\x57\xf6\xe9\x51\xf9" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\xa9\x79\xf6\xe9\x51\xfb" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\xac\x73\xf6\xe9\x51\xfb" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\xac\x73\xf6\xe9\x51\xfb\x4c\x69" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\xac\x64\x73\xf6\xe9\x51\xfb" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\xae\xa9\x73\x5b\xf6\xe9\x51\xfb" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\xae\xa9\x73\x5b\xf6\xe9\x51\xfb\x4c\x69" } , { "\xc6\xe8\xc9\xe8\xd1" , "\xa9\xb1\x73\x78\x6d\x6e\xfd\x73" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\xa9\xb1\x73\x78\x6d\x6e\xfd\x73\x51\x6f" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\xa9\xb1\x73\x78\x6d\x6e\xfd\x73\x51\x6f\x4c\x69" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\xa9\xb1\x73\x78\x6d\x6e\xfd\x73\x51\x70" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\xa9\xb1\x73\x7d\x6d\x6e\xfd\x73" } , { "\xc6\xe8\xca" , "\xa9\xab\x73\xf7" } , { "\xc6\xe8\xca\xda" , "\xa9\x79\xf7" } , { "\xc6\xe8\xca\xda\xa2" , "\xa9\x79\xf7\x4c\x69" } , { "\xc6\xe8\xca\xdd" , "\xa9\xab\x73\x56\xf7" } , { "\xc6\xe8\xca\xde" , "\xa9\xab\x73\x57\xf7" } , { "\xc6\xe8\xca\xe0" , "\xae\xa9\x73\xf7" } , { "\xc6\xe8\xca\xe1" , "\xae\xa9\x73\x5b\xf7" } , { "\xc6\xe8\xca\xe5" , "\xa9\xaf\x5b\xf7" } , { "\xc6\xe8\xca\xe5\xa2" , "\xa9\xaf\x5b\xf7\x4c\x69" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\xae\xa9\x73\x5b\xf7\x51\xfb" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\xa9\xaf\x5b\xf7\x51\xfb" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\xa9\xb1\x73\xdb\xcb\xfd\xc1\x5b" } , { "\xc6\xe8\xcb\xda" , "\xa9\x79\xf7\xe9" } , { "\xc6\xe8\xcb\xde" , "\xa9\xab\x73\x57\xf7\xe9" } , { "\xc6\xe8\xcc" , "\xa9\xab\x73\xf8" } , { "\xc6\xe8\xcc\xa2" , "\xa9\xab\x73\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xa3" , "\xa9\xab\x73\xf8\x4d" } , { "\xc6\xe8\xcc\xda" , "\xa9\x79\xf8" } , { "\xc6\xe8\xcc\xda\xa2" , "\xa9\x79\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xdb" , "\xac\x73\xf8" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xac\x73\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xdc" , "\xac\x64\x73\xf8" } , { "\xc6\xe8\xcc\xdd" , "\xa9\xab\x73\x56\xf8" } , { "\xc6\xe8\xcc\xdd\xa2" , "\xa9\xab\x73\x56\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xde" , "\xa9\xab\x73\x57\xf8" } , { "\xc6\xe8\xcc\xdf" , "\xa9\xab\x73\xf8\x51\x58" } , { "\xc6\xe8\xcc\xe0" , "\xae\xa9\x73\xf8" } , { "\xc6\xe8\xcc\xe0\xa2" , "\xae\xa9\x73\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xe1" , "\xae\xa9\x73\x5b\xf8" } , { "\xc6\xe8\xcc\xe1\xa2" , "\xae\xa9\x73\x5b\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xe2" , "\x5c\xae\xa9\x73\x51\xf8" } , { "\xc6\xe8\xcc\xe4" , "\xa9\xaf\xf8" } , { "\xc6\xe8\xcc\xe5" , "\xa9\xaf\x5b\xf8" } , { "\xc6\xe8\xcc\xe5\xa2" , "\xa9\xaf\x5b\xf8\x4c\x69" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xac\x73\xf8\x51\xf8" } , { "\xc6\xe8\xcd" , "\xa9\xab\x73\xf9" } , { "\xc6\xe8\xcd\xa2" , "\xa9\xab\x73\xf9\x4c\x69" } , { "\xc6\xe8\xcd\xa3" , "\xa9\xab\x73\xf9\x4d" } , { "\xc6\xe8\xcd\xda" , "\xa9\x79\xf9" } , { "\xc6\xe8\xcd\xda\xa2" , "\xa9\x79\xf9\x4c\x69" } , { "\xc6\xe8\xcd\xda\xa3" , "\xa9\x79\xf9\x4d" } , { "\xc6\xe8\xcd\xdb" , "\xac\x73\xf9" } , { "\xc6\xe8\xcd\xdc" , "\xac\x64\x73\xf9" } , { "\xc6\xe8\xcd\xdd" , "\xa9\xab\x73\x56\xf9" } , { "\xc6\xe8\xcd\xdd\xa2" , "\xa9\xab\x73\x56\xf9\x4c\x69" } , { "\xc6\xe8\xcd\xde" , "\xa9\xab\x73\x57\xf9" } , { "\xc6\xe8\xcd\xde\xa2" , "\xa9\xab\x73\x57\xf9\x4c\x69" } , { "\xc6\xe8\xcd\xe0" , "\xae\xa9\x73\xf9" } , { "\xc6\xe8\xcd\xe1" , "\xae\xa9\x73\x5b\xf9" } , { "\xc6\xe8\xcd\xe2" , "\x5c\xae\xa9\x73\x51\xf9" } , { "\xc6\xe8\xcd\xe4" , "\xa9\xaf\xf9" } , { "\xc6\xe8\xcd\xe5" , "\xa9\xaf\x5b\xf9" } , { "\xc6\xe8\xcd\xe5\xa2" , "\xa9\xaf\x5b\xf9\x4c\x69" } , { "\xc6\xe8\xcd\xe6" , "\xa9\x5f\xf9" } , { "\xc6\xe8\xcd\xe7" , "\xa9\xaf\xf9" } , { "\xc6\xe8\xcd\xe8\xcd" , "\xa9\xab\x73\xf9\x51\xf9" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\xa9\x79\xf9\x51\xf9" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\xa9\xab\x73\x57\xf9\x51\xf9" } , { "\xc6\xe8\xcf" , "\xfa\xa9\xab\x73" } , { "\xc6\xe8\xcf\xa2" , "\xfa\xa9\xab\x73\x4c\x69" } , { "\xc6\xe8\xcf\xda" , "\xfa\xa9\x79" } , { "\xc6\xe8\xcf\xdb" , "\xfa\xac\x73" } , { "\xc6\xe8\xcf\xdc" , "\xfa\xac\x64\x73" } , { "\xc6\xe8\xcf\xdd" , "\xfa\xa9\xab\x73\x56" } , { "\xc6\xe8\xcf\xde" , "\xfa\xa9\xab\x73\x57" } , { "\xc6\xe8\xcf\xe0" , "\xfa\xae\xa9\x73" } , { "\xc6\xe8\xcf\xe0\xa2" , "\xfa\xae\xa9\x73\x4c\x69" } , { "\xc6\xe8\xcf\xe2" , "\x5c\xae\xa9\x73\x51\xfb" } , { "\xc6\xe8\xcf\xe5" , "\xfa\xa9\xaf\x5b" } , { "\xc6\xe8\xcf\xe8" , "\xfa\xa9\xb1\x73" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\xa9\xb1\x73\x4c\xef\x6a\x69" } , { "\xc6\xe8\xcf\xe8\xc2" , "\xa9\xb1\x73\x4c\x52\x69\xf2" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\xa9\xb1\x73\x4c\xf4\x52\x69\x51\x2a" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\xa9\x79\xfb\x51\x3d" } , { "\xc6\xe8\xd0" , "\xa9\xfc\xab\x73" } , { "\xc6\xe8\xd0\xcc\xe8" , "\xa9\xfc\xab\x73\xaa\xb1\x73\x56" } , { "\xc6\xe8\xd0\xdb" , "\xac\xfc\x73" } , { "\xc6\xe8\xd0\xdd" , "\xa9\xfc\xab\x73\x56" } , { "\xc6\xe8\xd1" , "\xa9\xfd\xab\x73" } , { "\xc6\xe8\xd1\xa2" , "\xa9\xfd\xab\x73\x4c\x69" } , { "\xc6\xe8\xd1\xda" , "\xa9\xfd\x79" } , { "\xc6\xe8\xd1\xda\xa2" , "\xa9\xfd\x79\x4c\x69" } , { "\xc6\xe8\xd1\xdb" , "\xac\xfd\x73" } , { "\xc6\xe8\xd1\xdc" , "\xac\x64\xfd\x73" } , { "\xc6\xe8\xd1\xdd" , "\xa9\xfd\xab\x73\x56" } , { "\xc6\xe8\xd1\xdd\xa2" , "\xa9\xfd\xab\x73\x56\x4c\x69" } , { "\xc6\xe8\xd1\xde" , "\xa9\xfd\xab\x73\x57" } , { "\xc6\xe8\xd1\xe0" , "\xae\xa9\xfd\x73" } , { "\xc6\xe8\xd1\xe0\xa2" , "\xae\xa9\xfd\x73\x4c\x69" } , { "\xc6\xe8\xd1\xe1" , "\xae\xa9\xfd\x73\x5b" } , { "\xc6\xe8\xd1\xe1\xa2" , "\xae\xa9\xfd\x73\x5b\x4c\x69" } , { "\xc6\xe8\xd1\xe2" , "\xae\xa9\xfd\x5e\x73" } , { "\xc6\xe8\xd1\xe4" , "\xa9\xfd\xaf" } , { "\xc6\xe8\xd1\xe4\xa2" , "\xa9\xfd\xaf\x4c\x69" } , { "\xc6\xe8\xd1\xe5" , "\xa9\xfd\xaf\x5b" } , { "\xc6\xe8\xd1\xe5\xa2" , "\xa9\xfd\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xd1\xe8" , "\xa9\xb1\xfd\x73" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\xa9\xfd\x79\xf9\x4c\x69" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\xa9\xfd\xab\x73\x57\xf9" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\xae\xa9\xfd\x73\x5b\x3d" } , { "\xc6\xe8\xd2" , "\xa9\xab\x73\xfe" } , { "\xc6\xe8\xd4" , "\xa9\xab\x73\x2a" } , { "\xc6\xe8\xd4\xa2" , "\xa9\xab\x73\x2a\x4c\x69" } , { "\xc6\xe8\xd4\xda" , "\xa9\x79\x2a" } , { "\xc6\xe8\xd4\xdb" , "\xac\x73\x2a" } , { "\xc6\xe8\xd4\xdc" , "\xac\x64\x73\x2a" } , { "\xc6\xe8\xd4\xdd" , "\xa9\xab\x73\x56\x2a" } , { "\xc6\xe8\xd4\xdd\xa2" , "\xa9\xab\x73\x56\x2a\x4c\x69" } , { "\xc6\xe8\xd4\xde" , "\xa9\xab\x73\x57\x2a" } , { "\xc6\xe8\xd4\xe0" , "\xae\xa9\x73\x2a" } , { "\xc6\xe8\xd4\xe0\xa2" , "\xae\xa9\x73\x2a\x4c\x69" } , { "\xc6\xe8\xd4\xe1" , "\xae\xa9\x73\x5b\x2a" } , { "\xc6\xe8\xd4\xe1\xa2" , "\xae\xa9\x73\x5b\x2a\x4c\x69" } , { "\xc6\xe8\xd4\xe2" , "\x5c\xae\xa9\x73\x51\x2a" } , { "\xc6\xe8\xd4\xe5" , "\xa9\xaf\x5b\x2a" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\xa9\x79\x2a\x51\xf9" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\xac\x64\x73\x2a\x51\xfb" } , { "\xc6\xe8\xd5" , "\xa9\xab\x73\x2b" } , { "\xc6\xe8\xd5\xa2" , "\xa9\xab\x73\x2b\x4c\x69" } , { "\xc6\xe8\xd5\xda" , "\xa9\x79\x2b" } , { "\xc6\xe8\xd5\xdb" , "\xac\x73\x2b" } , { "\xc6\xe8\xd5\xdc" , "\xac\x64\x73\x2b" } , { "\xc6\xe8\xd6" , "\xa9\x3c\xab\x73" } , { "\xc6\xe8\xd6\xda" , "\xa9\x3c\x79" } , { "\xc6\xe8\xd6\xdb" , "\xac\x3c\x73" } , { "\xc6\xe8\xd6\xdc" , "\xac\x64\x3c\x73" } , { "\xc6\xe8\xd6\xdd" , "\xa9\x3c\xab\x73\x56" } , { "\xc6\xe8\xd6\xde" , "\xa9\x3c\xab\x73\x57" } , { "\xc6\xe8\xd6\xe0" , "\xae\xa9\x3c\x73" } , { "\xc6\xe8\xd6\xe2" , "\xae\xa9\x3c\x5e\x73" } , { "\xc6\xe8\xd6\xe8\xbd" , "\xa9\xb1\x73\x78\x74\xed\x73\x51" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\xa9\xb1\x73\x7d\x74\xed\x73\x51" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\xa9\xb1\x73\x78\x74\xed\x73\x51\xfb" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\xa9\x3c\xab\x73\x57\xf9" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\xac\x64\x3c\x73\x2a" } , { "\xc6\xe8\xd7" , "\xa9\xab\x73\x3d" } , { "\xc6\xe8\xd7\xa2" , "\xa9\xab\x73\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xda" , "\xa9\x79\x3d" } , { "\xc6\xe8\xd7\xda\xa2" , "\xa9\x79\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xdb" , "\xac\x73\x3d" } , { "\xc6\xe8\xd7\xdb\xa2" , "\xac\x73\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xdc" , "\xac\x64\x73\x3d" } , { "\xc6\xe8\xd7\xdc\xa2" , "\xac\x64\x73\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xdd" , "\xa9\xab\x73\x56\x3d" } , { "\xc6\xe8\xd7\xdd\xa2" , "\xa9\xab\x73\x56\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xde" , "\xa9\xab\x73\x57\x3d" } , { "\xc6\xe8\xd7\xe0" , "\xae\xa9\x73\x3d" } , { "\xc6\xe8\xd7\xe0\xa2" , "\xae\xa9\x73\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xe1" , "\xae\xa9\x73\x5b\x3d" } , { "\xc6\xe8\xd7\xe1\xa2" , "\xae\xa9\x73\x5b\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xe2" , "\x5c\xae\xa9\x73\x51\x3d" } , { "\xc6\xe8\xd7\xe5" , "\xa9\xaf\x5b\x3d" } , { "\xc6\xe8\xd7\xe5\xa2" , "\xa9\xaf\x5b\x3d\x4c\x69" } , { "\xc6\xe8\xd7\xe8" , "\xa9\xb1\x73\x3d" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\xa9\x79\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\xac\x73\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\xac\x64\x73\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\xa9\xab\x73\x56\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\xa9\xab\x73\x57\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\xae\xa9\x73\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\xae\xa9\x73\x5b\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\xa9\xaf\x5b\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\xa9\xb1\x73\x3d\x51\xe4" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\xa9\xab\x73\x56\x3d\x51\xe4\x51\xf9" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xac\x73\x3d\x51\xe4\x51\xfb" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\xae\xa9\x73\x5b\x3d\x51\xe4\x51\xfb" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\xa9\xab\x73\x3d\x51\xe4\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\xa9\xb1\x73\x72\xe6\x79" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\xa9\xaf\x5b\x3d\x51\xe8" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\xa9\xb1\x73\x72\xea\x79" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\xa9\xb1\x73\x7d\x71\xea\x73" } , { "\xc6\xe8\xd7\xe8\xbd" , "\xa9\xb1\x73\x78\x71\xed\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\xa9\xb1\x73\x72\xed\x79" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\xa9\xb1\x73\x72\xed\x79\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\xa9\xb1\x73\x7a\x71\xed\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\xa9\xb1\x73\x7b\x71\xed\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\xa9\xb1\x73\x78\x71\xed\x73\x56" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\xa9\xb1\x73\x78\x71\xed\x73\x57" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\xa9\xb1\x73\x7c\x71\xed\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\xa9\xb1\x73\x7c\x71\xed\x73\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\xa9\xb1\x73\x7d\x71\xed\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\xa9\xb1\x73\x7c\x71\xed\x5e\x73" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\xa9\xb1\x73\x72\xed\xa1" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\xa9\xb1\x73\x78\x71\xed\x73\xe4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\xa9\xb1\x73\x72\xed\x79\xf9\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\xa9\xb1\x73\x78\x71\xed\x73\x57\xf9" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\xa9\xb1\x73\x78\x71\xed\x73\xfb" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xa9\xb1\x73\x7a\x71\xed\x73\xfb" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\xa9\xb1\x73\x78\x71\xed\x73\x56\xfb" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\xa9\xb1\x73\x78\x71\xed\x73\x57\xfb" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\xa9\xb1\x73\x7d\x71\xed\x73\xfb" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xa9\xb1\x73\x7c\x71\xed\x5e\x73\xfb" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\xa9\xb1\x73\x7a\x71\xef\x73" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\xa9\xb1\x73\xa3\x71\x73\xb2\xe6\x79" } , { "\xc6\xe8\xd7\xe8\xc2" , "\xa9\xb1\x73\x78\x71\x73\xf2" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\xa9\xb1\x73\x72\xa1\xf2" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\xa9\xb1\x73\x72\xf3\x79" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\xa9\xb1\x73\x7a\x71\xf3\x73" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xa9\xb1\x73\x72\xf4\x79\x2a" } , { "\xc6\xe8\xd7\xe8\xc6" , "\xa9\xab\x73\x3d\x51\xf5" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\xac\x73\x3d\x51\xf5" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\xa9\xab\x73\x56\x3d\x51\xf5" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\xa9\xab\x73\x56\x3d\x51\xf5\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xc8" , "\xa9\xab\x73\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\xa9\x79\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\xac\x73\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\xac\x64\x73\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\xa9\xab\x73\x56\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\xae\xa9\x73\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\xae\xa9\x73\x5b\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\x5c\xae\xa9\x73\x51\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\xa9\xaf\x5b\x3d\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xa9\xb1\x73\xa3\x71\x73\x46\xfd\x79" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\xa9\xb1\x73\xa3\x71\x73\x46\xfd\x79\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xc9" , "\xa9\xab\x73\x3d\x51\xf6\xe9" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\xa9\x79\x3d\x51\xf6\xe9" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\xac\x73\x3d\x51\xf6\xe9" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\xae\xa9\x73\x3d\x51\xf6\xe9" } , { "\xc6\xe8\xd7\xe8\xca" , "\xa9\xab\x73\x3d\x51\xf7" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\xae\xa9\x73\x5b\x3d\x51\xf7" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\xa9\x79\x3d\x51\xf7\x51\xfb\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\xac\x73\x3d\x51\xf8" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\xac\x64\x73\x3d\x51\xf8" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\xae\xa9\x73\x3d\x51\xf8\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\xa9\xb1\x73\xa3\x71\x73\xad\x73\xed\x56\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\xa9\xab\x73\x56\x3d\x51\xf9" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\xa9\xab\x73\x57\x3d\x51\xf9" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\xa9\x79\x3d\x51\xfb" } , { "\xc6\xe8\xd7\xe8\xd1" , "\xa9\xb1\x73\x78\x71\xfd\x73" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\xa9\xb1\x73\x72\xfd\x79" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\xa9\xb1\x73\x72\xfd\x79\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\xa9\xb1\x73\x7a\x71\xfd\x73" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\xa9\xb1\x73\x78\x71\xfd\x73\x56" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\xa9\xb1\x73\x7c\x71\xfd\x73" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\xa9\xb1\x73\x7d\x71\xfd\x73" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\xa9\xb1\x73\x72\xfd\xa1" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\xa9\xb1\x73\x72\xfd\xa1\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\xa9\xb1\x73\xa3\x71\xfd\x73" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\xa9\xb1\x73\x72\xfd\x79\xf9\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xd4" , "\xa9\xab\x73\x3d\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\xa9\x79\x3d\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\xac\x73\x3d\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\xac\x73\x3d\x51\x2a\x4c\x69" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\xae\xa9\x73\x3d\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\xae\xa9\x73\x5b\x3d\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\x5c\xae\xa9\x73\x51\x3d\x51\x2a" } , { "\xc6\xe8\xd7\xe8\xd7" , "\xa9\xab\x73\x3d\x51\x3d" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\xa9\xb1\x73\x3d\x51\x3d" } , { "\xc6\xe8\xd8" , "\xa9\x3e\xab\x73" } , { "\xc6\xe8\xd8\xa2" , "\xa9\x3e\xab\x73\x4c\x69" } , { "\xc6\xe8\xd8\xda" , "\xa9\x3e\x79" } , { "\xc6\xe8\xd8\xda\xa1" , "\xa9\x3e\x79\xb7" } , { "\xc6\xe8\xd8\xda\xa2" , "\xa9\x3e\x79\x4c\x69" } , { "\xc6\xe8\xd8\xdb" , "\xac\x3e\x73" } , { "\xc6\xe8\xd8\xdb\xa2" , "\xac\x3e\x73\x4c\x69" } , { "\xc6\xe8\xd8\xdc" , "\xac\x64\x3e\x73" } , { "\xc6\xe8\xd8\xdc\xa2" , "\xac\x64\x3e\x73\x4c\x69" } , { "\xc6\xe8\xd8\xdd\xa2" , "\xa9\x3e\xab\x73\x56\x4c\x69" } , { "\xc6\xe8\xd8\xe0" , "\xae\xa9\x3e\x73" } , { "\xc6\xe8\xd8\xe1" , "\xae\xa9\x3e\x73\x5b" } , { "\xc6\xe8\xd8\xe1\xa2" , "\xae\xa9\x3e\x73\x5b\x4c\x69" } , { "\xc6\xe8\xd8\xe2" , "\xae\xa9\x3e\x5e\x73" } , { "\xc6\xe8\xd8\xe2\xa2" , "\xae\xa9\x3e\x5e\x73\x4c\x69" } , { "\xc6\xe8\xd8\xe5" , "\xa9\x3e\xaf\x5b" } , { "\xc6\xe8\xd8\xe5\xa2" , "\xa9\x3e\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xd8\xe6" , "\xa9\x3e\x5f" } , { "\xc6\xe8\xd8\xe8\xcd" , "\xa9\x3e\xab\x73\x51\xf9" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\xa9\x3e\x79\x51\xf9\x4c\x69" } , { "\xc6\xe8\xd9\xa6" , "\xa9\xab\x73\x42" } , { "\xc6\xe8\xd9\xc2" , "\xa9\xab\x73\xbb\x52\xbd" } , { "\xc6\xe8\xd9\xc2\xdd" , "\xa9\xab\x73\xbb\x52\xbd\x56" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\xa9\xab\x73\xfa\xbb\x52\xbd" } , { "\xc6\xe8\xd9\xc6" , "\xa9\xab\x73\xa9\xab\x73" } , { "\xc6\xe8\xd9\xc6\xda" , "\xa9\xab\x73\xa9\x79" } , { "\xc6\xe8\xd9\xc6\xdc" , "\xa9\xab\x73\xac\x64\x73" } , { "\xc6\xe8\xd9\xc6\xdd" , "\xa9\xab\x73\xa9\xab\x73\x56" } , { "\xc6\xe8\xd9\xc6\xde" , "\xa9\xab\x73\xa9\xab\x73\x57" } , { "\xc6\xe8\xd9\xc6\xe1" , "\xa9\xab\x73\xae\xa9\x73\x5b" } , { "\xc6\xe8\xd9\xc6\xe5" , "\xa9\xab\x73\xa9\xaf\x5b" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\xa9\xab\x73\xa9\xaf\x5b\x4c\x69" } , { "\xc6\xe8\xd9\xc6\xe6" , "\xa9\xab\x73\xa9\x5f" } , { "\xc6\xe8\xd9\xcc\xde" , "\xa9\xab\x73\xaa\xab\x73\x56\x57" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\xa9\xab\x73\x4c\x52\x69\xf2" } , { "\xc6\xe8\xd9\xd7\xda" , "\xa9\xab\x73\x72\x79" } , { "\xc6\xe8\xd9\xd8" , "\xa9\xab\x73\x78\xa4\xa6\xa6\xa6" } , { "\xc6\xe8\xe8" , "\xa9\xb1\x73" } , { "\xc6\xe8\xe9\xc6" , "\xa9\xab\x73\xf5" } , { "\xc6\xe8\xe9\xcf" , "\xfa\xa9\xab\x73" } , { "\xc6\xe9" , "\xa9\xab\x73" } , { "\xc6\xe9\xe8\xbf" , "\xa9\xef\xab\x73" } , { "\xc7" , "\xa9\xab\x73" } , { "\xc7\xdb" , "\xac\x73" } , { "\xc8" , "\x78\x6d\x73" } , { "\xc8\xa1" , "\x78\x6d\x73\xb7" } , { "\xc8\xa2" , "\x78\x6d\x73\x4c\x69" } , { "\xc8\xa2\xa2" , "\x78\x6d\x73\x4c\x69\x69\x4c\x69" } , { "\xc8\xa3" , "\x78\x6d\x73\x4d" } , { "\xc8\xd0" , "\x78\x6d\x73\xe0\xe1" } , { "\xc8\xd0\xcc" , "\x78\x6d\x73\xe0\xe1\xaa\xab\x73\x56" } , { "\xc8\xda" , "\x46\x79" } , { "\xc8\xda\xa1" , "\x46\x79\xb7" } , { "\xc8\xda\xa2" , "\x46\x79\x4c\x69" } , { "\xc8\xda\xa3" , "\x46\x79\x4d" } , { "\xc8\xda\xd0\xe8" , "\x46\x79\xe0\xe3\xde" } , { "\xc8\xdb" , "\x7a\x6d\x73" } , { "\xc8\xdb\xa2" , "\x7a\x6d\x73\x4c\x69" } , { "\xc8\xdb\xa2\xa2" , "\x7a\x6d\x73\x4c\x69\x69\x4c\x69" } , { "\xc8\xdc" , "\x7b\x6d\x73" } , { "\xc8\xdc\xa2" , "\x7b\x6d\x73\x4c\x69" } , { "\xc8\xdd" , "\x78\x6d\x73\x6f" } , { "\xc8\xdd\xa1" , "\x78\x6d\x73\x6f\xb7" } , { "\xc8\xdd\xa2" , "\x78\x6d\x73\x6f\x4c\x69" } , { "\xc8\xdd\xa3" , "\x78\x6d\x73\x6f\x4d" } , { "\xc8\xde" , "\x78\x6d\x73\x70" } , { "\xc8\xde\xa1" , "\x78\x6d\x73\x70\xb7" } , { "\xc8\xde\xa2" , "\x78\x6d\x73\x70\x4c\x69" } , { "\xc8\xdf" , "\x78\x6d\x73\x58" } , { "\xc8\xe0" , "\x7c\x6d\x73" } , { "\xc8\xe0\xa2" , "\x7c\x6d\x73\x4c\x69" } , { "\xc8\xe1" , "\x7d\x6d\x73" } , { "\xc8\xe1\xa1" , "\x7d\x6d\x73\xb7" } , { "\xc8\xe1\xa2" , "\x7d\x6d\x73\x4c\x69" } , { "\xc8\xe2" , "\x5c\x7c\x6d\x73" } , { "\xc8\xe2\xa2" , "\x5c\x7c\x6d\x73\x4c\x69" } , { "\xc8\xe2\xa3" , "\x5c\x7c\x6d\x73\x4d" } , { "\xc8\xe2\xcf\xe8" , "\x5c\x7c\x6d\x73\x4c\x60\x69" } , { "\xc8\xe4" , "\x46\x7e" } , { "\xc8\xe4\xa2" , "\x46\x7e\x4c\x69" } , { "\xc8\xe4\xa3" , "\x46\x7e\x4d" } , { "\xc8\xe5" , "\x46\xa1" } , { "\xc8\xe5\xa2" , "\x46\xa1\x4c\x69" } , { "\xc8\xe5\xa3" , "\x46\xa1\x4d" } , { "\xc8\xe6" , "\x46\xa2" } , { "\xc8\xe6\xa2" , "\x46\xa2\x4c\x69" } , { "\xc8\xe7" , "\x46\x7e" } , { "\xc8\xe7\xa2" , "\x46\x7e\x4c\x69" } , { "\xc8\xe8" , "\xa3\x6d\x73" } , { "\xc8\xe8\xb3" , "\x78\x6d\x73\xe4" } , { "\xc8\xe8\xb3\xa2" , "\x78\x6d\x73\xe4\x4c\x69" } , { "\xc8\xe8\xb3\xda" , "\x46\x79\xe4" } , { "\xc8\xe8\xb3\xdb" , "\x7a\x6d\x73\xe4" } , { "\xc8\xe8\xb3\xdb\xa2" , "\x7a\x6d\x73\xe4\x4c\x69" } , { "\xc8\xe8\xb3\xdd" , "\x78\x6d\x73\x6f\xe4" } , { "\xc8\xe8\xb3\xe1" , "\x7d\x6d\x73\xe4" } , { "\xc8\xe8\xb3\xe4" , "\x46\x7e\xe4" } , { "\xc8\xe8\xb3\xe5" , "\x46\xa1\xe4" } , { "\xc8\xe8\xb3\xe8\xc2" , "\xa3\x6d\x73\x4e\x52\x50\xf2" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\xa3\x6d\x73\x4e\x60\x50\xfb\x51\x3d" } , { "\xc8\xe8\xb5" , "\x78\x6d\xe6\x73" } , { "\xc8\xe8\xb5\xda" , "\x46\xe6\x79" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\x7d\x6d\xe6\x73\xfb" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\x46\xe6\xa2\xfb\x4c\x69" } , { "\xc8\xe8\xb6" , "\x78\x6d\xe7\x73" } , { "\xc8\xe8\xb8" , "\x78\x6d\x73\xe8" } , { "\xc8\xe8\xb8\xda" , "\x46\x79\xe8" } , { "\xc8\xe8\xb8\xdb" , "\x7a\x6d\x73\xe8" } , { "\xc8\xe8\xb8\xdd" , "\x78\x6d\x73\x6f\xe8" } , { "\xc8\xe8\xb8\xde" , "\x78\x6d\x73\x70\xe8" } , { "\xc8\xe8\xb8\xe0" , "\x7c\x6d\x73\xe8" } , { "\xc8\xe8\xb8\xe1" , "\x7d\x6d\x73\xe8" } , { "\xc8\xe8\xb8\xe8" , "\xa3\x6d\x73\xe8" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x46\x79\xe8\x51\xe8\xe9" } , { "\xc8\xe8\xb9\xdd" , "\x78\x6d\x73\x6f\xe8\xe9" } , { "\xc8\xe8\xba" , "\x78\x6d\xea\x73" } , { "\xc8\xe8\xba\xda" , "\x46\xea\x79" } , { "\xc8\xe8\xba\xdb" , "\x7a\x6d\xea\x73" } , { "\xc8\xe8\xba\xdd" , "\x78\x6d\xea\x73\x6f" } , { "\xc8\xe8\xbd" , "\x78\x6d\xed\x73" } , { "\xc8\xe8\xbd\xa2" , "\x78\x6d\xed\x73\x4c\x69" } , { "\xc8\xe8\xbd\xda" , "\x46\xed\x79" } , { "\xc8\xe8\xbd\xdb" , "\x7a\x6d\xed\x73" } , { "\xc8\xe8\xbd\xdb\xa2" , "\x7a\x6d\xed\x73\x4c\x69" } , { "\xc8\xe8\xbd\xdc" , "\x7b\x6d\xed\x73" } , { "\xc8\xe8\xbd\xdd" , "\x78\x6d\xed\x73\x6f" } , { "\xc8\xe8\xbd\xde" , "\x78\x6d\xed\x73\x70" } , { "\xc8\xe8\xbd\xe0" , "\x7c\x6d\xed\x73" } , { "\xc8\xe8\xbd\xe0\xa2" , "\x7c\x6d\xed\x73\x4c\x69" } , { "\xc8\xe8\xbd\xe1" , "\x7d\x6d\xed\x73" } , { "\xc8\xe8\xbd\xe2" , "\x7c\x6d\xed\x5e\x73" } , { "\xc8\xe8\xbd\xe4" , "\x46\xed\x7e" } , { "\xc8\xe8\xbd\xe5" , "\x46\xed\xa1" } , { "\xc8\xe8\xbd\xe6" , "\x46\xed\xa2" } , { "\xc8\xe8\xbd\xe8" , "\xa3\x6d\xed\x73" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x78\x6d\xed\x73\x6f\xe4" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\xa3\x6d\x73\xc9\xe6\xd8" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x7d\x6d\xed\x73\xe8" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\xa3\x6d\x73\xc9\xdc\x5b\xf2" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\x46\xed\x79\xf7" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x78\x6d\xed\x73\x70\xf9" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\x46\xed\x79\xfb" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\x46\xed\xa1\xfb" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\xa3\x6d\x73\xc8\xfd\xc1\x56" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\x7a\x6d\xed\x73\x2a" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\x7d\x6d\xed\x73\x2a" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x78\x6d\xed\x73\x3d" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\xa3\x6d\xed\x73\x3d" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\xa3\x6d\x73\xc9\x3e\xd8" } , { "\xc8\xe8\xbf" , "\x78\x6d\xef\x73" } , { "\xc8\xe8\xbf\xda" , "\x46\xef\x79" } , { "\xc8\xe8\xbf\xdb" , "\x7a\x6d\xef\x73" } , { "\xc8\xe8\xbf\xdd" , "\x78\x6d\xef\x73\x6f" } , { "\xc8\xe8\xbf\xe0\xa2" , "\x7c\x6d\xef\x73\x4c\x69" } , { "\xc8\xe8\xbf\xe1" , "\x7d\x6d\xef\x73" } , { "\xc8\xe8\xbf\xe8" , "\xa3\x6d\xef\x73" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\x46\xef\x79\xfb" } , { "\xc8\xe8\xc1" , "\x78\x6d\xf1\x73" } , { "\xc8\xe8\xc2" , "\x78\x6d\x73\xf2" } , { "\xc8\xe8\xc2\xa2" , "\x78\x6d\x73\xf2\x4c\x69" } , { "\xc8\xe8\xc2\xda" , "\x46\x79\xf2" } , { "\xc8\xe8\xc2\xda\xa2" , "\x46\x79\xf2\x4c\x69" } , { "\xc8\xe8\xc2\xdb" , "\x7a\x6d\x73\xf2" } , { "\xc8\xe8\xc2\xdb\xa2" , "\x7a\x6d\x73\xf2\x4c\x69" } , { "\xc8\xe8\xc2\xdc" , "\x7b\x6d\x73\xf2" } , { "\xc8\xe8\xc2\xdd" , "\x78\x6d\x73\x6f\xf2" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x78\x6d\x73\x6f\xf2\x4c\x69" } , { "\xc8\xe8\xc2\xde" , "\x78\x6d\x73\x70\xf2" } , { "\xc8\xe8\xc2\xde\xa2" , "\x78\x6d\x73\x70\xf2\x4c\x69" } , { "\xc8\xe8\xc2\xe0" , "\x7c\x6d\x73\xf2" } , { "\xc8\xe8\xc2\xe1" , "\x7d\x6d\x73\xf2" } , { "\xc8\xe8\xc2\xe2\xa3" , "\x7c\x6d\x5e\x73\x23\xf2\x4d" } , { "\xc8\xe8\xc2\xe5" , "\x46\xa1\xf2" } , { "\xc8\xe8\xc2\xe5\xa2" , "\x46\xa1\xf2\x4c\x69" } , { "\xc8\xe8\xc2\xe8" , "\xa3\x6d\x73\xf2" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x78\x6d\x73\xf2\x51\xf9" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x46\x79\xf2\x51\xf9" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x78\x6d\x73\xf2\x51\xfb" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\x7c\x6d\x73\xf2\x51\xfb" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\x7c\x6d\x5e\x73\x23\xf2\x51\xfb" } , { "\xc8\xe8\xc3" , "\x78\x6d\xf3\x73" } , { "\xc8\xe8\xc3\xdc" , "\x7b\x6d\xf3\x73" } , { "\xc8\xe8\xc3\xe8" , "\xa3\x6d\xf3\x73" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x78\x6d\xf3\x73\xe4" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x46\xf3\x79\xf9" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\x7b\x6d\xf3\x73\x2a" } , { "\xc8\xe8\xc4" , "\x78\x6d\xf4\x73" } , { "\xc8\xe8\xc4\xda" , "\x46\xf4\x79" } , { "\xc8\xe8\xc4\xdc" , "\x7b\x6d\xf4\x73" } , { "\xc8\xe8\xc4\xdd" , "\x78\x6d\xf4\x73\x6f" } , { "\xc8\xe8\xc4\xe1" , "\x7d\x6d\xf4\x73" } , { "\xc8\xe8\xc4\xe4" , "\x46\xf4\x7e" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\xa3\x6d\x73\xb5\xf4\x6a\xb6" } , { "\xc8\xe8\xc5" , "\x78\x6d\xf4\xf0\x73" } , { "\xc8\xe8\xc5\xda" , "\x46\xf4\xf0\x79" } , { "\xc8\xe8\xc5\xdd" , "\x78\x6d\xf4\xf0\x73\x6f" } , { "\xc8\xe8\xc6" , "\x78\x6d\x73\xf5" } , { "\xc8\xe8\xc6\xa2" , "\x78\x6d\x73\xf5\x4c\x69" } , { "\xc8\xe8\xc6\xda" , "\x46\x79\xf5" } , { "\xc8\xe8\xc6\xdb" , "\x7a\x6d\x73\xf5" } , { "\xc8\xe8\xc6\xdc" , "\x7b\x6d\x73\xf5" } , { "\xc8\xe8\xc6\xdd" , "\x78\x6d\x73\x6f\xf5" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x78\x6d\x73\x6f\xf5\x4c\x69" } , { "\xc8\xe8\xc6\xe5" , "\x46\xa1\xf5" } , { "\xc8\xe8\xc6\xe5\xa2" , "\x46\xa1\xf5\x4c\x69" } , { "\xc8\xe8\xc7" , "\x78\x6d\x73\xf5" } , { "\xc8\xe8\xc8" , "\x78\x6d\x73\xf6" } , { "\xc8\xe8\xc8\xa2" , "\x78\x6d\x73\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xa2\xa2" , "\x78\x6d\x73\xf6\x4c\x69\x69\x4c\x69" } , { "\xc8\xe8\xc8\xda" , "\x46\x79\xf6" } , { "\xc8\xe8\xc8\xda\xa2" , "\x46\x79\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xdb" , "\x7a\x6d\x73\xf6" } , { "\xc8\xe8\xc8\xdb\xa2" , "\x7a\x6d\x73\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xdc" , "\x7b\x6d\x73\xf6" } , { "\xc8\xe8\xc8\xdc\xa2" , "\x7b\x6d\x73\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xdd" , "\x78\x6d\x73\xf6\x56" } , { "\xc8\xe8\xc8\xdd\xa2" , "\x78\x6d\x73\xf6\x56\x4c\x69" } , { "\xc8\xe8\xc8\xde" , "\x78\x6d\x73\x70\xf6" } , { "\xc8\xe8\xc8\xe0" , "\x7c\x6d\x73\xf6" } , { "\xc8\xe8\xc8\xe0\xa2" , "\x7c\x6d\x73\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xe1" , "\x7d\x6d\x73\xf6" } , { "\xc8\xe8\xc8\xe1\xa2" , "\x7d\x6d\x73\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xe2" , "\x5c\x7c\x6d\x73\x23\xf6" } , { "\xc8\xe8\xc8\xe2\xa2" , "\x5c\x7c\x6d\x73\x23\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xe4" , "\x46\x7e\xf6" } , { "\xc8\xe8\xc8\xe4\xa2" , "\x46\x7e\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xe5" , "\x46\xa1\xf6" } , { "\xc8\xe8\xc8\xe5\xa2" , "\x46\xa1\xf6\x4c\x69" } , { "\xc8\xe8\xc8\xe6" , "\x46\xa2\xf6" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\xa3\x6d\x73\x7a\x6d\xef\x73" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x46\x79\xf6\x51\xf6" } , { "\xc8\xe8\xc8\xe8\xcc" , "\x78\x6d\x73\xf6\x51\xf8" } , { "\xc8\xe8\xc8\xe8\xcf" , "\x78\x6d\x73\xf6\x51\xfb" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x78\x6d\x73\xf6\x56\x51\x3d" } , { "\xc8\xe8\xc9" , "\x78\x6d\x73\xf6\xe9" } , { "\xc8\xe8\xc9\xdb" , "\x7a\x6d\x73\xf6\xe9" } , { "\xc8\xe8\xc9\xdc" , "\x7b\x6d\x73\xf6\xe9" } , { "\xc8\xe8\xc9\xdd" , "\x78\x6d\x73\xf6\xe9\x56" } , { "\xc8\xe8\xc9\xe0" , "\x7c\x6d\x73\xf6\xe9" } , { "\xc8\xe8\xc9\xe1" , "\x7d\x6d\x73\xf6\xe9" } , { "\xc8\xe8\xc9\xe2" , "\x5c\x7c\x6d\x73\x23\xf6\xe9" } , { "\xc8\xe8\xca" , "\x78\x6d\x73\xf7" } , { "\xc8\xe8\xca\xda" , "\x46\x79\xf7" } , { "\xc8\xe8\xca\xdb\xa2" , "\x7a\x6d\x73\xf7\x4c\x69" } , { "\xc8\xe8\xca\xdd" , "\x78\x6d\x73\x6f\xf7" } , { "\xc8\xe8\xca\xe0" , "\x7c\x6d\x73\xf7" } , { "\xc8\xe8\xcb" , "\x78\x6d\x73\xf7\xe9" } , { "\xc8\xe8\xcc" , "\x78\x6d\x73\xf8" } , { "\xc8\xe8\xcc\xda" , "\x46\x79\xf8" } , { "\xc8\xe8\xcc\xdb" , "\x7a\x6d\x73\xf8" } , { "\xc8\xe8\xcc\xdc" , "\x7b\x6d\x73\xf8" } , { "\xc8\xe8\xcc\xde" , "\x78\x6d\x73\x70\xf8" } , { "\xc8\xe8\xcc\xe0" , "\x7c\x6d\x73\xf8" } , { "\xc8\xe8\xcc\xe0\xa2" , "\x7c\x6d\x73\xf8\x4c\x69" } , { "\xc8\xe8\xcc\xe5" , "\x46\xa1\xf8" } , { "\xc8\xe8\xcd" , "\x78\x6d\x73\xf9" } , { "\xc8\xe8\xcd\xa2" , "\x78\x6d\x73\xf9\x4c\x69" } , { "\xc8\xe8\xcd\xda" , "\x46\x79\xf9" } , { "\xc8\xe8\xcd\xda\xa2" , "\x46\x79\xf9\x4c\x69" } , { "\xc8\xe8\xcd\xdb" , "\x7a\x6d\x73\xf9" } , { "\xc8\xe8\xcd\xdd" , "\x78\x6d\x73\x6f\xf9" } , { "\xc8\xe8\xcd\xde" , "\x78\x6d\x73\x70\xf9" } , { "\xc8\xe8\xcd\xde\xa1" , "\x78\x6d\x73\x70\xf9\xb7" } , { "\xc8\xe8\xcd\xe1" , "\x7d\x6d\x73\xf9" } , { "\xc8\xe8\xcd\xe4" , "\x46\x7e\xf9" } , { "\xc8\xe8\xcd\xe5" , "\x46\xa1\xf9" } , { "\xc8\xe8\xcf" , "\xfa\x78\x6d\x73" } , { "\xc8\xe8\xcf\xa2" , "\xfa\x78\x6d\x73\x4c\x69" } , { "\xc8\xe8\xcf\xda" , "\xfa\x46\x79" } , { "\xc8\xe8\xcf\xda\xa1" , "\xfa\x46\x79\xb7" } , { "\xc8\xe8\xcf\xda\xa2" , "\xfa\x46\x79\x4c\x69" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\xfa\x46\x79\x4c\x69\x69\x4c\x69" } , { "\xc8\xe8\xcf\xdb" , "\xfa\x7a\x6d\x73" } , { "\xc8\xe8\xcf\xdb\xa2" , "\xfa\x7a\x6d\x73\x4c\x69" } , { "\xc8\xe8\xcf\xdc" , "\xfa\x7b\x6d\x73" } , { "\xc8\xe8\xcf\xdc\xa2" , "\xfa\x7b\x6d\x73\x4c\x69" } , { "\xc8\xe8\xcf\xdc\xa3" , "\xfa\x7b\x6d\x73\x4d" } , { "\xc8\xe8\xcf\xdd" , "\xfa\x78\x6d\x73\x6f" } , { "\xc8\xe8\xcf\xdd\xa2" , "\xfa\x78\x6d\x73\x6f\x4c\x69" } , { "\xc8\xe8\xcf\xde" , "\xfa\x78\x6d\x73\x70" } , { "\xc8\xe8\xcf\xde\xa2" , "\xfa\x78\x6d\x73\x70\x4c\x69" } , { "\xc8\xe8\xcf\xdf" , "\xfa\x78\x6d\x73\x51\x58" } , { "\xc8\xe8\xcf\xe0" , "\xfa\x7c\x6d\x73" } , { "\xc8\xe8\xcf\xe0\xa2" , "\xfa\x7c\x6d\x73\x4c\x69" } , { "\xc8\xe8\xcf\xe1" , "\xfa\x7d\x6d\x73" } , { "\xc8\xe8\xcf\xe1\xa2" , "\xfa\x7d\x6d\x73\x4c\x69" } , { "\xc8\xe8\xcf\xe2" , "\x5c\x7c\x6d\x73\x23\xfb" } , { "\xc8\xe8\xcf\xe4" , "\xfa\x46\x7e" } , { "\xc8\xe8\xcf\xe5" , "\xfa\x46\xa1" } , { "\xc8\xe8\xcf\xe5\xa2" , "\xfa\x46\xa1\x4c\x69" } , { "\xc8\xe8\xcf\xe6" , "\xfa\x46\xa2" } , { "\xc8\xe8\xcf\xe7" , "\xfa\x46\x7e" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x78\x6d\x73\xfb\x51\xf9" } , { "\xc8\xe8\xcf\xe8\xd1" , "\xa3\x6d\x73\x4c\xfd\x52\x69" } , { "\xc8\xe8\xd1" , "\x78\x6d\xfd\x73" } , { "\xc8\xe8\xd1\xa2" , "\x78\x6d\xfd\x73\x4c\x69" } , { "\xc8\xe8\xd1\xda" , "\x46\xfd\x79" } , { "\xc8\xe8\xd1\xda\xa2" , "\x46\xfd\x79\x4c\x69" } , { "\xc8\xe8\xd1\xdb" , "\x7a\x6d\xfd\x73" } , { "\xc8\xe8\xd1\xdb\xa2" , "\x7a\x6d\xfd\x73\x4c\x69" } , { "\xc8\xe8\xd1\xdc" , "\x7b\x6d\xfd\x73" } , { "\xc8\xe8\xd1\xdd" , "\x78\x6d\xfd\x73\x6f" } , { "\xc8\xe8\xd1\xde" , "\x78\x6d\xfd\x73\x70" } , { "\xc8\xe8\xd1\xe0" , "\x7c\x6d\xfd\x73" } , { "\xc8\xe8\xd1\xe0\xa2" , "\x7c\x6d\xfd\x73\x4c\x69" } , { "\xc8\xe8\xd1\xe1" , "\x7d\x6d\xfd\x73" } , { "\xc8\xe8\xd1\xe1\xa2" , "\x7d\x6d\xfd\x73\x4c\x69" } , { "\xc8\xe8\xd1\xe2" , "\x7c\x6d\xfd\x5e\x73" } , { "\xc8\xe8\xd1\xe2\xa2" , "\x7c\x6d\xfd\x5e\x73\x4c\x69" } , { "\xc8\xe8\xd1\xe4" , "\x46\xfd\x7e" } , { "\xc8\xe8\xd1\xe5" , "\x46\xfd\xa1" } , { "\xc8\xe8\xd1\xe7" , "\x46\xfd\x7e" } , { "\xc8\xe8\xd1\xe8" , "\xa3\x6d\xfd\x73" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\x7b\x6d\xfd\x73\xf6" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x46\xfd\x79\xf9\x4c\x69" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x78\x6d\xfd\x73\x70\xf9" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x46\xfd\x79\x3d\x4c\x69" } , { "\xc8\xe8\xd2\xdb" , "\x7a\x6d\x73\xfe" } , { "\xc8\xe8\xd4" , "\x78\x6d\x73\x2a" } , { "\xc8\xe8\xd4\xda" , "\x46\x79\x2a" } , { "\xc8\xe8\xd4\xda\xa1" , "\x46\x79\x2a\xb7" } , { "\xc8\xe8\xd4\xda\xa2" , "\x46\x79\x2a\x4c\x69" } , { "\xc8\xe8\xd4\xdb" , "\x7a\x6d\x73\x2a" } , { "\xc8\xe8\xd4\xdd" , "\x78\x6d\x73\x6f\x2a" } , { "\xc8\xe8\xd4\xe2" , "\x5c\x7c\x6d\x73\x23\x2a" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\x46\x79\x2a\x51\xfb" } , { "\xc8\xe8\xd5" , "\x78\x6d\x73\x2b" } , { "\xc8\xe8\xd5\xa2" , "\x78\x6d\x73\x2b\x4c\x69" } , { "\xc8\xe8\xd6" , "\x78\x6d\x3c\x73" } , { "\xc8\xe8\xd6\xdb" , "\x7a\x6d\x3c\x73" } , { "\xc8\xe8\xd6\xe2" , "\x7c\x6d\x3c\x5e\x73" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x78\x6d\x3c\x73\xe8\xe9" } , { "\xc8\xe8\xd6\xe8\xbd" , "\xa3\x6d\x73\x78\x74\xed\x73\x51" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\xa3\x6d\x73\x7a\x74\xed\x73\x51" } , { "\xc8\xe8\xd6\xe8\xbe" , "\xa3\x6d\x73\x78\x74\xee\x73\x51" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\xa3\x6d\x73\x75\xee\xa1" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\xa3\x6d\x73\x75\xee\xa1\x4c\x69" } , { "\xc8\xe8\xd7" , "\x78\x6d\x73\x3d" } , { "\xc8\xe8\xd7\xa2" , "\x78\x6d\x73\x3d\x4c\x69" } , { "\xc8\xe8\xd7\xda" , "\x46\x79\x3d" } , { "\xc8\xe8\xd7\xdb" , "\x7a\x6d\x73\x3d" } , { "\xc8\xe8\xd7\xdb\xa2" , "\x7a\x6d\x73\x3d\x4c\x69" } , { "\xc8\xe8\xd7\xdc" , "\x7b\x6d\x73\x3d" } , { "\xc8\xe8\xd7\xdd" , "\x78\x6d\x73\x6f\x3d" } , { "\xc8\xe8\xd7\xde" , "\x78\x6d\x73\x70\x3d" } , { "\xc8\xe8\xd7\xe0" , "\x7c\x6d\x73\x3d" } , { "\xc8\xe8\xd7\xe0\xa2" , "\x7c\x6d\x73\x3d\x4c\x69" } , { "\xc8\xe8\xd7\xe1" , "\x7d\x6d\x73\x3d" } , { "\xc8\xe8\xd7\xe2" , "\x5c\x7c\x6d\x73\x23\x3d" } , { "\xc8\xe8\xd7\xe5" , "\x46\xa1\x3d" } , { "\xc8\xe8\xd7\xe8" , "\xa3\x6d\x73\x3d" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\x78\x6d\x73\x6f\x3d\x51\xe4" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\xa3\x6d\x73\x72\xe6\x79" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\xa3\x6d\x73\x7d\x71\xe6\x73" } , { "\xc8\xe8\xd7\xe8\xbd" , "\xa3\x6d\x73\x78\x71\xed\x73" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\xa3\x6d\x73\x7a\x71\xed\x73" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\xa3\x6d\x73\x7b\x71\xed\x73" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\xa3\x6d\x73\x72\xed\xa1" } , { "\xc8\xe8\xd7\xe8\xc2" , "\xa3\x6d\x73\x78\x71\x73\xf2" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\xa3\x6d\x73\x78\x71\x73\x56\xf2" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\xa3\x6d\x73\x78\x71\x73\x56\xf2\x4c\x69" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\x7a\x6d\x73\x3d\x51\xf5" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\x78\x6d\x73\x6f\x3d\x51\xf5" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\x7a\x6d\x73\x3d\x51\xf6\xe9" } , { "\xc8\xe8\xd7\xe8\xca" , "\x78\x6d\x73\x3d\x51\xf7" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\x78\x6d\x73\x6f\x3d\x51\xf8\x4c\x69" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x78\x6d\x73\x6f\x3d\x51\xf9" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x78\x6d\x73\x70\x3d\x51\xf9" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\xa3\x6d\x73\x72\xfd\xa1" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\xa3\x6d\x73\xa3\x71\x73\x7a\x71\xed\x73" } , { "\xc8\xe8\xd8" , "\x78\x6d\x3e\x73" } , { "\xc8\xe8\xd8\xda\xa2" , "\x46\x3e\x79\x4c\x69" } , { "\xc8\xe8\xd8\xde" , "\x78\x6d\x3e\x73\x70" } , { "\xc8\xe8\xd8\xe5" , "\x46\x3e\xa1" } , { "\xc8\xe8\xd8\xe6" , "\x46\x3e\xa2" } , { "\xc8\xe8\xe8" , "\xa3\x6d\x73" } , { "\xc8\xe8\xe9\xcf" , "\xfa\x78\x6d\x73" } , { "\xc8\xe9" , "\x78\x6d\x73" } , { "\xc9" , "\x78\x6d\x6e\x73" } , { "\xc9\xa1" , "\x78\x6d\x6e\x73\xb7" } , { "\xc9\xa2" , "\x78\x6d\x6e\x73\x4c\x69" } , { "\xc9\xa3" , "\x78\x6d\x6e\x73\x4d" } , { "\xc9\xc4" , "\x78\x6d\x6e\x73\xb5\x52\xb6" } , { "\xc9\xca" , "\x78\x6d\x6e\x73\xca\xc1" } , { "\xc9\xd0" , "\x78\x6d\x6e\x73\xe0\xe1" } , { "\xc9\xda" , "\x46\x6e\x79" } , { "\xc9\xda\xa1" , "\x46\x6e\x79\xb7" } , { "\xc9\xda\xa2" , "\x46\x6e\x79\x4c\x69" } , { "\xc9\xdb" , "\x7a\x6d\x6e\x73" } , { "\xc9\xdb\xa2" , "\x7a\x6d\x6e\x73\x4c\x69" } , { "\xc9\xdc" , "\x7b\x6d\x6e\x73" } , { "\xc9\xdc\xa1" , "\x7b\x6d\x6e\x73\xb7" } , { "\xc9\xdc\xa2" , "\x7b\x6d\x6e\x73\x4c\x69" } , { "\xc9\xdd" , "\x78\x6d\x6e\x73\x51\x6f" } , { "\xc9\xdd\xa1" , "\x78\x6d\x6e\x73\x51\x6f\xb7" } , { "\xc9\xdd\xa2" , "\x78\x6d\x6e\x73\x51\x6f\x4c\x69" } , { "\xc9\xde" , "\x78\x6d\x6e\x73\x51\x70" } , { "\xc9\xde\xa1" , "\x78\x6d\x6e\x73\x51\x70\xb7" } , { "\xc9\xde\xa2" , "\x78\x6d\x6e\x73\x51\x70\x4c\x69" } , { "\xc9\xdf" , "\x78\x6d\x6e\x73\x58" } , { "\xc9\xe0" , "\x7c\x6d\x6e\x73" } , { "\xc9\xe0\xa2" , "\x7c\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe1" , "\x7d\x6d\x6e\x73" } , { "\xc9\xe1\xa2" , "\x7d\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe2" , "\x5c\x7c\x6d\x6e\x73" } , { "\xc9\xe2\xa2" , "\x5c\x7c\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe4" , "\x46\x6e\x7e" } , { "\xc9\xe4\xa2" , "\x46\x6e\x7e\x4c\x69" } , { "\xc9\xe5" , "\x46\x6e\xa1" } , { "\xc9\xe5\xa2" , "\x46\x6e\xa1\x4c\x69" } , { "\xc9\xe6" , "\x46\x6e\xa2" } , { "\xc9\xe6\xa2" , "\x46\x6e\xa2\x4c\x69" } , { "\xc9\xe7" , "\x46\x6e\x7e" } , { "\xc9\xe7\xa2" , "\x46\x6e\x7e\x4c\x69" } , { "\xc9\xe8" , "\xa3\x6d\x6e\x73" } , { "\xc9\xe8\xb3\xda" , "\x46\x6e\x79\xe4" } , { "\xc9\xe8\xb3\xdb" , "\x7a\x6d\x6e\x73\xe4" } , { "\xc9\xe8\xb3\xdc" , "\x7b\x6d\x6e\x73\xe4" } , { "\xc9\xe8\xb3\xdd" , "\x78\x6d\x6e\x73\x51\x6f\xe4" } , { "\xc9\xe8\xb3\xe0" , "\x7c\x6d\x6e\x73\xe4" } , { "\xc9\xe8\xb3\xe1" , "\x7d\x6d\x6e\x73\xe4" } , { "\xc9\xe8\xb3\xe5" , "\x46\x6e\xa1\xe4" } , { "\xc9\xe8\xb4" , "\x78\x6d\x6e\xe5\x73" } , { "\xc9\xe8\xb4\xda" , "\x46\x6e\xe5\x79" } , { "\xc9\xe8\xb5" , "\x78\x6d\x6e\xe6\x73" } , { "\xc9\xe8\xb5\xda" , "\x46\x6e\xe6\x79" } , { "\xc9\xe8\xb5\xde" , "\x78\x6d\x6e\xe6\x73\x51\x70" } , { "\xc9\xe8\xb6" , "\x78\x6d\x6e\xe7\x73" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\x7a\x6d\x6e\xe7\x73\x51\xf5" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x78\x6d\x6e\xe7\x73\x51\x6f\xf5" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\xa3\x6d\x6e\xe7\x73\x51\xf5" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\xa3\x6d\x6e\x73\xa3\x6d\x6e\x73\x56\xa9\xfd\xab\x73" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\xa3\x6d\x6e\x73\xa3\x6d\x6e\x73\x56\xa9\xfd\xab\x73\x56" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\x7c\x6d\x6e\x73\xe8\x51\xf5\x4c\x69" } , { "\xc9\xe8\xba" , "\x78\x6d\x6e\xea\x73" } , { "\xc9\xe8\xba\xda" , "\x46\x6e\xea\x79" } , { "\xc9\xe8\xba\xe5\xa2" , "\x46\x6e\xea\xa1\x4c\x69" } , { "\xc9\xe8\xba\xe9" , "\x78\x6d\x6e\xea\x73" } , { "\xc9\xe8\xbb" , "\x78\x6d\x6e\xeb\x73" } , { "\xc9\xe8\xbd" , "\x78\x6d\x6e\xed\x73" } , { "\xc9\xe8\xbd\xdb" , "\x7a\x6d\x6e\xed\x73" } , { "\xc9\xe8\xbd\xdb\xa2" , "\x7a\x6d\x6e\xed\x73\x4c\x69" } , { "\xc9\xe8\xbd\xdc" , "\x7b\x6d\x6e\xed\x73" } , { "\xc9\xe8\xbd\xdd" , "\x78\x6d\x6e\xed\x73\x51\x6f" } , { "\xc9\xe8\xbd\xde" , "\x78\x6d\x6e\xed\x73\x51\x70" } , { "\xc9\xe8\xbd\xe0" , "\x7c\x6d\x6e\xed\x73" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x7d\x6d\x6e\xed\x73\x4c\x69" } , { "\xc9\xe8\xbd\xe5" , "\x46\x6e\xed\xa1" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x46\x6e\xed\xa1\x4c\x69" } , { "\xc9\xe8\xbd\xe8" , "\xa3\x6d\x6e\xed\x73" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x46\x6e\xed\x79\xe4" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x46\x6e\xed\xa1\xe4" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\x7c\x6d\x6e\xed\x73\xf5\x4c\x69" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x46\x6e\xed\x79\xf6" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x7d\x6d\x6e\xed\x73\xf6" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\xa3\x6d\x6e\xed\x73\xfb" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\xa3\x6d\x6e\x73\xc8\xfd\xc1\x56" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\xa3\x6d\x6e\x73\xc9\xfd\xdc\x5b" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\x7c\x6d\x6e\xed\x73\x2a\x4c\x69" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\x7d\x6d\x6e\xed\x73\x2a" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x78\x6d\x6e\xed\x73\x3d" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x7c\x6d\x6e\xed\x5e\x73\x3d" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\xa3\x6d\x6e\xed\x73\x3d" } , { "\xc9\xe8\xbf\xe8" , "\xa3\x6d\x6e\xef\x73" } , { "\xc9\xe8\xc2" , "\x78\x6d\x6e\x73\xf2" } , { "\xc9\xe8\xc2\xda" , "\x46\x6e\x79\xf2" } , { "\xc9\xe8\xc2\xdb" , "\x7a\x6d\x6e\x73\xf2" } , { "\xc9\xe8\xc2\xdc" , "\x7b\x6d\x6e\x73\xf2" } , { "\xc9\xe8\xc2\xe1" , "\x7d\x6d\x6e\x73\xf2" } , { "\xc9\xe8\xc2\xe5" , "\x46\x6e\xa1\xf2" } , { "\xc9\xe8\xc2\xe5\xa2" , "\x46\x6e\xa1\xf2\x4c\x69" } , { "\xc9\xe8\xc2\xe8" , "\xa3\x6d\x6e\x73\xf2" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\xa3\x6d\x6e\x73\xbb\xe6\x79" } , { "\xc9\xe8\xc3" , "\x78\x6d\x6e\xf3\x73" } , { "\xc9\xe8\xc3\xda" , "\x46\x6e\xf3\x79" } , { "\xc9\xe8\xc3\xe5" , "\x46\x6e\xf3\xa1" } , { "\xc9\xe8\xc4" , "\x78\x6d\x6e\xf4\x73" } , { "\xc9\xe8\xc4\xda" , "\x46\x6e\xf4\x79" } , { "\xc9\xe8\xc6" , "\x78\x6d\x6e\x73\xf5" } , { "\xc9\xe8\xc6\xda" , "\x46\x6e\x79\xf5" } , { "\xc9\xe8\xc6\xdb" , "\x7a\x6d\x6e\x73\xf5" } , { "\xc9\xe8\xc6\xdc" , "\x7b\x6d\x6e\x73\xf5" } , { "\xc9\xe8\xc6\xdd" , "\x78\x6d\x6e\x73\x51\x6f\xf5" } , { "\xc9\xe8\xc6\xe0" , "\x7c\x6d\x6e\x73\xf5" } , { "\xc9\xe8\xc6\xe5" , "\x46\x6e\xa1\xf5" } , { "\xc9\xe8\xc8" , "\x78\x6d\x6e\x73\xf6" } , { "\xc9\xe8\xc8\xda" , "\x46\x6e\x79\xf6" } , { "\xc9\xe8\xc8\xdc" , "\x7b\x6d\x6e\x73\xf6" } , { "\xc9\xe8\xc8\xe2" , "\x5c\x7c\x6d\x6e\x73\x23\xf6" } , { "\xc9\xe8\xc8\xe8" , "\xa3\x6d\x6e\x73\xf6" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\x7a\x6d\x6e\x73\xf6\x51\xfb" } , { "\xc9\xe8\xc9" , "\x78\x6d\x6e\x73\xf6\xe9" } , { "\xc9\xe8\xc9\xda" , "\x46\x6e\x79\xf6\xe9" } , { "\xc9\xe8\xc9\xdd" , "\x78\x6d\x6e\x73\x51\x6f\xf6\xe9" } , { "\xc9\xe8\xc9\xe1" , "\x7d\x6d\x6e\x73\xf6\xe9" } , { "\xc9\xe8\xc9\xe5" , "\x46\x6e\xa1\xf6\xe9" } , { "\xc9\xe8\xca" , "\x78\x6d\x6e\x73\xf7" } , { "\xc9\xe8\xca\xda" , "\x46\x6e\x79\xf7" } , { "\xc9\xe8\xca\xdc" , "\x7b\x6d\x6e\x73\xf7" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\x7d\x6d\x6e\x73\xf7\x51\xfb" } , { "\xc9\xe8\xcc" , "\x78\x6d\x6e\x73\xf8" } , { "\xc9\xe8\xcc\xda" , "\x46\x6e\x79\xf8" } , { "\xc9\xe8\xcc\xdc" , "\x7b\x6d\x6e\x73\xf8" } , { "\xc9\xe8\xcc\xdd" , "\x78\x6d\x6e\x73\x51\x6f\xf8" } , { "\xc9\xe8\xcc\xe1" , "\x7d\x6d\x6e\x73\xf8" } , { "\xc9\xe8\xcd" , "\x78\x6d\x6e\x73\xf9" } , { "\xc9\xe8\xcd\xda" , "\x46\x6e\x79\xf9" } , { "\xc9\xe8\xcd\xda\xa2" , "\x46\x6e\x79\xf9\x4c\x69" } , { "\xc9\xe8\xcd\xdd" , "\x78\x6d\x6e\x73\x51\x6f\xf9" } , { "\xc9\xe8\xcd\xde" , "\x78\x6d\x6e\x73\x51\x70\xf9" } , { "\xc9\xe8\xcd\xe5" , "\x46\x6e\xa1\xf9" } , { "\xc9\xe8\xcf" , "\xfa\x78\x6d\x6e\x73" } , { "\xc9\xe8\xcf\xa2" , "\xfa\x78\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe8\xcf\xda" , "\xfa\x46\x6e\x79" } , { "\xc9\xe8\xcf\xda\xa1" , "\xfa\x46\x6e\x79\xb7" } , { "\xc9\xe8\xcf\xda\xa2" , "\xfa\x46\x6e\x79\x4c\x69" } , { "\xc9\xe8\xcf\xdb" , "\xfa\x7a\x6d\x6e\x73" } , { "\xc9\xe8\xcf\xdb\xa2" , "\xfa\x7a\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe8\xcf\xdc" , "\xfa\x7b\x6d\x6e\x73" } , { "\xc9\xe8\xcf\xdd" , "\xfa\x78\x6d\x6e\x73\x51\x6f" } , { "\xc9\xe8\xcf\xde" , "\xfa\x78\x6d\x6e\x73\x51\x70" } , { "\xc9\xe8\xcf\xe0" , "\xfa\x7c\x6d\x6e\x73" } , { "\xc9\xe8\xcf\xe0\xa2" , "\xfa\x7c\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe8\xcf\xe1" , "\xfa\x7d\x6d\x6e\x73" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xfa\x7d\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe8\xcf\xe2" , "\x5c\x7c\x6d\x6e\x73\x23\xfb" } , { "\xc9\xe8\xcf\xe2\xa2" , "\x5c\x7c\x6d\x6e\x73\x23\xfb\x4c\x69" } , { "\xc9\xe8\xcf\xe4" , "\xfa\x46\x6e\x7e" } , { "\xc9\xe8\xcf\xe5" , "\xfa\x46\x6e\xa1" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xfa\x46\x6e\xa1\x4c\x69" } , { "\xc9\xe8\xcf\xe6" , "\xfa\x46\x6e\xa2" } , { "\xc9\xe8\xcf\xe7" , "\xfa\x46\x6e\x7e" } , { "\xc9\xe8\xcf\xe8" , "\xfa\xa3\x6d\x6e\x73" } , { "\xc9\xe8\xd1" , "\x78\x6d\x6e\xfd\x73" } , { "\xc9\xe8\xd1\xda" , "\x46\x6e\xfd\x79" } , { "\xc9\xe8\xd1\xda\xa2" , "\x46\x6e\xfd\x79\x4c\x69" } , { "\xc9\xe8\xd1\xdb" , "\x7a\x6d\x6e\xfd\x73" } , { "\xc9\xe8\xd1\xdb\xa2" , "\x7a\x6d\x6e\xfd\x73\x4c\x69" } , { "\xc9\xe8\xd1\xdc" , "\x7b\x6d\x6e\xfd\x73" } , { "\xc9\xe8\xd1\xdd" , "\x78\x6d\x6e\xfd\x73\x51\x6f" } , { "\xc9\xe8\xd1\xde" , "\x78\x6d\x6e\xfd\x73\x51\x70" } , { "\xc9\xe8\xd1\xe0" , "\x7c\x6d\x6e\xfd\x73" } , { "\xc9\xe8\xd1\xe1" , "\x7d\x6d\x6e\xfd\x73" } , { "\xc9\xe8\xd1\xe1\xa2" , "\x7d\x6d\x6e\xfd\x73\x4c\x69" } , { "\xc9\xe8\xd1\xe2" , "\x7c\x6d\x6e\xfd\x5e\x73" } , { "\xc9\xe8\xd1\xe2\xa2" , "\x7c\x6d\x6e\xfd\x5e\x73\x4c\x69" } , { "\xc9\xe8\xd1\xe5" , "\x46\x6e\xfd\xa1" } , { "\xc9\xe8\xd1\xe5\xa2" , "\x46\x6e\xfd\xa1\x4c\x69" } , { "\xc9\xe8\xd1\xe6" , "\x46\x6e\xfd\xa2" } , { "\xc9\xe8\xd1\xe7" , "\x46\x6e\xfd\x7e" } , { "\xc9\xe8\xd5\xda" , "\x46\x6e\x79\x2b" } , { "\xc9\xe8\xd7" , "\x78\x6d\x6e\x73\x3d" } , { "\xc9\xe8\xd7\xdb" , "\x7a\x6d\x6e\x73\x3d" } , { "\xc9\xe8\xd7\xdc" , "\x7b\x6d\x6e\x73\x3d" } , { "\xc9\xe8\xd7\xe0" , "\x7c\x6d\x6e\x73\x3d" } , { "\xc9\xe8\xd7\xe2" , "\x5c\x7c\x6d\x6e\x73\x23\x3d" } , { "\xc9\xe8\xd7\xe8" , "\xa3\x6d\x6e\x73\x3d" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\xa3\x6d\x6e\x73\x7c\x71\xed\x73" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\xa3\x6d\x6e\x73\x7d\x71\xed\x73" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x78\x6d\x6e\x73\x51\x6f\x3d\x51\xf5" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\x7a\x6d\x6e\x73\x3d\x51\xf6" } , { "\xc9\xe8\xd8" , "\x78\x6d\x6e\x3e\x73" } , { "\xc9\xe8\xd8\xdd" , "\x78\x6d\x6e\x3e\x73\x51\x6f" } , { "\xc9\xe8\xd8\xe5" , "\x46\x6e\x3e\xa1" } , { "\xc9\xe8\xd9\xc2" , "\x78\x6d\x6e\x73\xbb\x52\xbd" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x78\x6d\x6e\x73\x6c\x4c\x69\x5b\x4c\x69" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x78\x6d\x6e\x73\x4c\x52\x69\x56\xf9" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x78\x6d\x6e\x73\xcd\xdc\x5b" } , { "\xc9\xe8\xd9\xd7" , "\x78\x6d\x6e\x73\x78\x71\x73" } , { "\xc9\xe8\xe8" , "\xa3\x6d\x6e\x73" } , { "\xc9\xe8\xe9\xcf" , "\xfa\x78\x6d\x6e\x73" } , { "\xc9\xe9" , "\x78\x6d\x6e\x73" } , { "\xc9\xe9\xda" , "\x46\x6e\x79" } , { "\xc9\xe9\xdb" , "\x7a\x6d\x6e\x73" } , { "\xc9\xe9\xdc" , "\x7b\x6d\x6e\x73" } , { "\xc9\xe9\xdd" , "\x78\x6d\x6e\x73\x51\x6f" } , { "\xc9\xe9\xe1" , "\x7d\x6d\x6e\x73" } , { "\xc9\xe9\xe1\xa2" , "\x7d\x6d\x6e\x73\x4c\x69" } , { "\xc9\xe9\xe2" , "\x5c\x7c\x6d\x6e\x73" } , { "\xc9\xe9\xe5" , "\x46\x6e\xa1" } , { "\xc9\xe9\xe5\xa2" , "\x46\x6e\xa1\x4c\x69" } , { "\xc9\xe9\xe6" , "\x46\x6e\xa2" } , { "\xc9\xe9\xe7" , "\x46\x6e\x7e" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x46\x6e\xea\xa1\x4c\x69" } , { "\xc9\xe9\xe8\xbd\xdb" , "\x7a\x6d\x6e\xed\x73" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x7b\x6d\x6e\xed\x73" } , { "\xc9\xe9\xe8\xc2" , "\x78\x6d\x6e\x73\xf2" } , { "\xc9\xe9\xe8\xc2\xda" , "\x46\x6e\x79\xf2" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x7b\x6d\x6e\x73\xf2" } , { "\xc9\xe9\xe8\xc2\xe1" , "\x7d\x6d\x6e\x73\xf2" } , { "\xc9\xe9\xe8\xcf\xdb" , "\xfa\x7a\x6d\x6e\x73" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xfa\x46\x6e\xa1" } , { "\xc9\xe9\xe8\xd1" , "\x78\x6d\x6e\xfd\x73" } , { "\xc9\xe9\xe8\xd1\xe5" , "\x46\x6e\xfd\xa1" } , { "\xc9\xe9\xe9\xe8\xc2" , "\x78\x6d\x6e\x73\x25\x60\xc1\xbb\x52\xbd" } , { "\xca" , "\xca\xc1" } , { "\xca\xa1" , "\xca\xc1\xb7" } , { "\xca\xa2" , "\xca\xc1\x4c\x69" } , { "\xca\xa2\xa1" , "\xca\xc1\x4c\x69\x69\xb7" } , { "\xca\xa3" , "\xca\xc1\x4d" } , { "\xca\xda" , "\xcb\xd8" } , { "\xca\xda\xa1" , "\xcb\xd8\xb7" } , { "\xca\xda\xa2" , "\xcb\xd8\x4c\x69" } , { "\xca\xda\xa3" , "\xcb\xd8\x4d" } , { "\xca\xdb" , "\xd5\xc1" } , { "\xca\xdb\xa2" , "\xd5\xc1\x4c\x69" } , { "\xca\xdc" , "\xd5\x64\xc1" } , { "\xca\xdc\xa2" , "\xd5\x64\xc1\x4c\x69" } , { "\xca\xdd" , "\xca\xc1\x56" } , { "\xca\xdd\xa1" , "\xca\xc1\x56\xb7" } , { "\xca\xdd\xa2" , "\xca\xc1\x56\x4c\x69" } , { "\xca\xde" , "\xca\xc1\x57" } , { "\xca\xde\xa1" , "\xca\xc1\x57\xb7" } , { "\xca\xde\xa2" , "\xca\xc1\x57\x4c\x69" } , { "\xca\xdf" , "\xca\xc1\x58" } , { "\xca\xdf\xa2" , "\xca\xc1\x58\x4c\x69" } , { "\xca\xe0" , "\xdb\xcb\xc1" } , { "\xca\xe0\xa1" , "\xdb\xcb\xc1\xb7" } , { "\xca\xe0\xa2" , "\xdb\xcb\xc1\x4c\x69" } , { "\xca\xe1" , "\xdb\xcb\xc1\x5b" } , { "\xca\xe1\xa2" , "\xdb\xcb\xc1\x5b\x4c\x69" } , { "\xca\xe2" , "\x5c\xdb\xcb\xc1" } , { "\xca\xe2\xa2" , "\x5c\xdb\xcb\xc1\x4c\x69" } , { "\xca\xe4" , "\xcb\xdc" } , { "\xca\xe4\xa2" , "\xcb\xdc\x4c\x69" } , { "\xca\xe5" , "\xcb\xdc\x5b" } , { "\xca\xe5\xa2" , "\xcb\xdc\x5b\x4c\x69" } , { "\xca\xe6" , "\xcb\xdd" } , { "\xca\xe6\xa2" , "\xcb\xdd\x4c\x69" } , { "\xca\xe7" , "\xcb\xdc" } , { "\xca\xe8" , "\xcb\xde" } , { "\xca\xe8\xb3" , "\xca\xc1\xe4" } , { "\xca\xe8\xb3\xda" , "\xcb\xd8\xe4" } , { "\xca\xe8\xb3\xdb" , "\xd5\xc1\xe4" } , { "\xca\xe8\xb3\xdd" , "\xca\xc1\x56\xe4" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\xca\xc1\x57\xe4\x51\xf9" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\xca\xde\x5a\x4e\xfd\x50\x5b" } , { "\xca\xe8\xb4\xda" , "\xcb\xe5\xd8" } , { "\xca\xe8\xb5\xda" , "\xcb\xe6\xd8" } , { "\xca\xe8\xb5\xdd\xa2" , "\xca\xe6\xc1\x56\x4c\x69" } , { "\xca\xe8\xb6" , "\xca\xe7\xc1" } , { "\xca\xe8\xb6\xdb" , "\xd5\xe7\xc1" } , { "\xca\xe8\xba" , "\xca\xea\xc1" } , { "\xca\xe8\xba\xa2" , "\xca\xea\xc1\x4c\x69" } , { "\xca\xe8\xba\xda" , "\xcb\xea\xd8" } , { "\xca\xe8\xba\xda\xa2" , "\xcb\xea\xd8\x4c\x69" } , { "\xca\xe8\xba\xdb" , "\xd5\xea\xc1" } , { "\xca\xe8\xba\xdc" , "\xd5\x64\xea\xc1" } , { "\xca\xe8\xba\xdd" , "\xca\xea\xc1\x56" } , { "\xca\xe8\xba\xe0" , "\xdb\xcb\xea\xc1" } , { "\xca\xe8\xba\xe1" , "\xdb\xcb\xea\xc1\x5b" } , { "\xca\xe8\xba\xe1\xa2" , "\xdb\xcb\xea\xc1\x5b\x4c\x69" } , { "\xca\xe8\xba\xe2" , "\xdb\xcb\xea\x5e\xc1" } , { "\xca\xe8\xba\xe5" , "\xcb\xea\xdc\x5b" } , { "\xca\xe8\xba\xe5\xa2" , "\xcb\xea\xdc\x5b\x4c\x69" } , { "\xca\xe8\xba\xe9" , "\xca\xea\xc1" } , { "\xca\xe8\xba\xe9\xda" , "\xcb\xea\xd8" } , { "\xca\xe8\xba\xe9\xdc" , "\xd5\x64\xea\xc1" } , { "\xca\xe8\xba\xe9\xe1" , "\xdb\xcb\xea\xc1\x5b" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\xdb\xcb\xea\xc1\x5b\x4c\x69" } , { "\xca\xe8\xbd" , "\xca\xed\xc1" } , { "\xca\xe8\xbd\xdb" , "\xd5\xed\xc1" } , { "\xca\xe8\xbd\xe0" , "\xdb\xcb\xed\xc1" } , { "\xca\xe8\xbd\xe2" , "\xdb\xcb\xed\x5e\xc1" } , { "\xca\xe8\xbd\xe5" , "\xcb\xed\xdc\x5b" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\xca\xde\xc9\xed\xd3\xc1" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\xcb\xed\xd8\xfb" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\xd5\xed\xc1\x3d" } , { "\xca\xe8\xbf" , "\xca\xef\xc1" } , { "\xca\xe8\xbf\xda" , "\xcb\xef\xd8" } , { "\xca\xe8\xbf\xdb" , "\xd5\xef\xc1" } , { "\xca\xe8\xbf\xdb\xa2" , "\xd5\xef\xc1\x4c\x69" } , { "\xca\xe8\xbf\xe0" , "\xdb\xcb\xef\xc1" } , { "\xca\xe8\xbf\xe1" , "\xdb\xcb\xef\xc1\x5b" } , { "\xca\xe8\xbf\xe5" , "\xcb\xef\xdc\x5b" } , { "\xca\xe8\xbf\xe8" , "\xcb\xde\xef" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\xca\xef\xc1\x56\xf9" } , { "\xca\xe8\xc2" , "\xca\xc1\xf2" } , { "\xca\xe8\xc2\xa2" , "\xca\xc1\xf2\x4c\x69" } , { "\xca\xe8\xc2\xda" , "\xcb\xd8\xf2" } , { "\xca\xe8\xc2\xdb" , "\xd5\xc1\xf2" } , { "\xca\xe8\xc2\xdc" , "\xd5\x64\xc1\xf2" } , { "\xca\xe8\xc2\xdd" , "\xca\xc1\x56\xf2" } , { "\xca\xe8\xc2\xdd\xa2" , "\xca\xc1\x56\xf2\x4c\x69" } , { "\xca\xe8\xc2\xe1" , "\xdb\xcb\xc1\x5b\xf2" } , { "\xca\xe8\xc2\xe5" , "\xcb\xdc\x5b\xf2" } , { "\xca\xe8\xc2\xe8\xc2" , "\xca\xde\xbb\x52\xbd\xf2" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\xca\xde\xbc\xbd\xf2" } , { "\xca\xe8\xc3\xda" , "\xcb\xf3\xd8" } , { "\xca\xe8\xc3\xdb" , "\xd5\xf3\xc1" } , { "\xca\xe8\xc4" , "\xca\xf4\xc1" } , { "\xca\xe8\xc4\xa2" , "\xca\xf4\xc1\x4c\x69" } , { "\xca\xe8\xc4\xa3" , "\xca\xf4\xc1\x4d" } , { "\xca\xe8\xc4\xda" , "\xcb\xf4\xd8" } , { "\xca\xe8\xc4\xda\xa2" , "\xcb\xf4\xd8\x4c\x69" } , { "\xca\xe8\xc4\xda\xa3" , "\xcb\xf4\xd8\x4d" } , { "\xca\xe8\xc4\xdb" , "\xd5\xf4\xc1" } , { "\xca\xe8\xc4\xdb\xa2" , "\xd5\xf4\xc1\x4c\x69" } , { "\xca\xe8\xc4\xdc" , "\xd5\x64\xf4\xc1" } , { "\xca\xe8\xc4\xdc\xa2" , "\xd5\x64\xf4\xc1\x4c\x69" } , { "\xca\xe8\xc4\xdd" , "\xca\xf4\xc1\x56" } , { "\xca\xe8\xc4\xe1" , "\xdb\xcb\xf4\xc1\x5b" } , { "\xca\xe8\xc4\xe2" , "\xdb\xcb\xf4\x5e\xc1" } , { "\xca\xe8\xc4\xe5" , "\xcb\xf4\xdc\x5b" } , { "\xca\xe8\xc4\xe5\xa2" , "\xcb\xf4\xdc\x5b\x4c\x69" } , { "\xca\xe8\xc4\xe8" , "\xcb\xde\xf4" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\xcb\xf4\xd8\xf9" } , { "\xca\xe8\xc5" , "\xca\xf4\xf0\xc1" } , { "\xca\xe8\xc5\xa2" , "\xca\xf4\xf0\xc1\x4c\x69" } , { "\xca\xe8\xc5\xa3" , "\xca\xf4\xf0\xc1\x4d" } , { "\xca\xe8\xc5\xda" , "\xcb\xf4\xf0\xd8" } , { "\xca\xe8\xc5\xda\xa3" , "\xcb\xf4\xf0\xd8\x4d" } , { "\xca\xe8\xc5\xdb" , "\xd5\xf4\xf0\xc1" } , { "\xca\xe8\xc5\xdd" , "\xca\xf4\xf0\xc1\x56" } , { "\xca\xe8\xc5\xe5" , "\xcb\xf4\xf0\xdc\x5b" } , { "\xca\xe8\xc6" , "\xca\xc1\xf5" } , { "\xca\xe8\xc6\xda" , "\xcb\xd8\xf5" } , { "\xca\xe8\xc6\xdb" , "\xd5\xc1\xf5" } , { "\xca\xe8\xc6\xdb\xa2" , "\xd5\xc1\xf5\x4c\x69" } , { "\xca\xe8\xc6\xdc" , "\xd5\x64\xc1\xf5" } , { "\xca\xe8\xc6\xdd" , "\xca\xc1\x56\xf5" } , { "\xca\xe8\xc8" , "\xca\xc1\xf6" } , { "\xca\xe8\xc8\xdb" , "\xd5\xc1\xf6" } , { "\xca\xe8\xc8\xe5" , "\xcb\xdc\x5b\xf6" } , { "\xca\xe8\xc9\xe2" , "\x5c\xdb\xcb\xc1\x51\xf6\xe9" } , { "\xca\xe8\xca" , "\xca\xc1\xf7" } , { "\xca\xe8\xca\xa2" , "\xca\xc1\xf7\x4c\x69" } , { "\xca\xe8\xca\xda" , "\xcb\xd8\xf7" } , { "\xca\xe8\xca\xdb" , "\xd5\xc1\xf7" } , { "\xca\xe8\xca\xdb\xa2" , "\xd5\xc1\xf7\x4c\x69" } , { "\xca\xe8\xca\xdc" , "\xd5\x64\xc1\xf7" } , { "\xca\xe8\xca\xdd" , "\xca\xc1\x56\xf7" } , { "\xca\xe8\xca\xdd\xa2" , "\xca\xc1\x56\xf7\x4c\x69" } , { "\xca\xe8\xca\xde" , "\xca\xc1\x57\xf7" } , { "\xca\xe8\xca\xe0" , "\xdb\xcb\xc1\xf7" } , { "\xca\xe8\xca\xe0\xa2" , "\xdb\xcb\xc1\xf7\x4c\x69" } , { "\xca\xe8\xca\xe1" , "\xdb\xcb\xc1\x5b\xf7" } , { "\xca\xe8\xca\xe1\xa2" , "\xdb\xcb\xc1\x5b\xf7\x4c\x69" } , { "\xca\xe8\xca\xe2" , "\x5c\xdb\xcb\xc1\x51\xf7" } , { "\xca\xe8\xca\xe4" , "\xcb\xdc\xf7" } , { "\xca\xe8\xca\xe5" , "\xcb\xdc\x5b\xf7" } , { "\xca\xe8\xca\xe5\xa2" , "\xcb\xdc\x5b\xf7\x4c\x69" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\xca\xde\xd5\xf4\xc1" } , { "\xca\xe8\xca\xe8\xd8" , "\xca\xde\xca\x3e\xc1" } , { "\xca\xe8\xcb" , "\xca\xc1\xf7\xe9" } , { "\xca\xe8\xcb\xa2" , "\xca\xc1\xf7\xe9\x4c\x69" } , { "\xca\xe8\xcb\xda" , "\xcb\xd8\xf7\xe9" } , { "\xca\xe8\xcb\xdb" , "\xd5\xc1\xf7\xe9" } , { "\xca\xe8\xcb\xdc" , "\xd5\x64\xc1\xf7\xe9" } , { "\xca\xe8\xcb\xdd" , "\xca\xc1\x56\xf7\xe9" } , { "\xca\xe8\xcb\xe2" , "\x5c\xdb\xcb\xc1\x51\xf7\xe9" } , { "\xca\xe8\xcc" , "\xca\xc1\xf8" } , { "\xca\xe8\xcc\xda" , "\xcb\xd8\xf8" } , { "\xca\xe8\xcc\xdb" , "\xd5\xc1\xf8" } , { "\xca\xe8\xcc\xe0" , "\xdb\xcb\xc1\xf8" } , { "\xca\xe8\xcc\xe1" , "\xdb\xcb\xc1\x5b\xf8" } , { "\xca\xe8\xcd" , "\xca\xc1\xf9" } , { "\xca\xe8\xcd\xa2" , "\xca\xc1\xf9\x4c\x69" } , { "\xca\xe8\xcd\xda" , "\xcb\xd8\xf9" } , { "\xca\xe8\xcd\xda\xa2" , "\xcb\xd8\xf9\x4c\x69" } , { "\xca\xe8\xcd\xdc" , "\xd5\x64\xc1\xf9" } , { "\xca\xe8\xcd\xdd" , "\xca\xc1\x56\xf9" } , { "\xca\xe8\xcd\xde" , "\xca\xc1\x57\xf9" } , { "\xca\xe8\xcd\xe5" , "\xcb\xdc\x5b\xf9" } , { "\xca\xe8\xcd\xe5\xa2" , "\xcb\xdc\x5b\xf9\x4c\x69" } , { "\xca\xe8\xcd\xe6" , "\xcb\xdd\xf9" } , { "\xca\xe8\xcd\xe6\xa2" , "\xcb\xdd\xf9\x4c\x69" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\xcb\xd8\xf9\x51\xf9" } , { "\xca\xe8\xcf" , "\xfa\xca\xc1" } , { "\xca\xe8\xcf\xa2" , "\xfa\xca\xc1\x4c\x69" } , { "\xca\xe8\xcf\xda" , "\xfa\xcb\xd8" } , { "\xca\xe8\xcf\xda\xa1" , "\xfa\xcb\xd8\xb7" } , { "\xca\xe8\xcf\xda\xa2" , "\xfa\xcb\xd8\x4c\x69" } , { "\xca\xe8\xcf\xdb" , "\xfa\xd5\xc1" } , { "\xca\xe8\xcf\xdb\xa2" , "\xfa\xd5\xc1\x4c\x69" } , { "\xca\xe8\xcf\xdc" , "\xfa\xd5\x64\xc1" } , { "\xca\xe8\xcf\xdd" , "\xfa\xca\xc1\x56" } , { "\xca\xe8\xcf\xde" , "\xfa\xca\xc1\x57" } , { "\xca\xe8\xcf\xe0" , "\xfa\xdb\xcb\xc1" } , { "\xca\xe8\xcf\xe1" , "\xfa\xdb\xcb\xc1\x5b" } , { "\xca\xe8\xcf\xe1\xa2" , "\xfa\xdb\xcb\xc1\x5b\x4c\x69" } , { "\xca\xe8\xcf\xe2" , "\x5c\xdb\xcb\xc1\x51\xfb" } , { "\xca\xe8\xcf\xe2\xa2" , "\x5c\xdb\xcb\xc1\x51\xfb\x4c\x69" } , { "\xca\xe8\xcf\xe4" , "\xfa\xcb\xdc" } , { "\xca\xe8\xcf\xe5" , "\xfa\xcb\xdc\x5b" } , { "\xca\xe8\xcf\xe5\xa2" , "\xfa\xcb\xdc\x5b\x4c\x69" } , { "\xca\xe8\xcf\xe6" , "\xfa\xcb\xdd" } , { "\xca\xe8\xcf\xe7" , "\xfa\xcb\xdc" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\xca\xde\x4c\x60\xed\x69" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\xca\xde\x4c\x60\xef\x69" } , { "\xca\xe8\xd1" , "\xca\xfd\xc1" } , { "\xca\xe8\xd1\xa2" , "\xca\xfd\xc1\x4c\x69" } , { "\xca\xe8\xd1\xda" , "\xcb\xfd\xd8" } , { "\xca\xe8\xd1\xda\xa2" , "\xcb\xfd\xd8\x4c\x69" } , { "\xca\xe8\xd1\xdb" , "\xd5\xfd\xc1" } , { "\xca\xe8\xd1\xdb\xa2" , "\xd5\xfd\xc1\x4c\x69" } , { "\xca\xe8\xd1\xdc" , "\xd5\x64\xfd\xc1" } , { "\xca\xe8\xd1\xdd" , "\xca\xfd\xc1\x56" } , { "\xca\xe8\xd1\xde" , "\xca\xfd\xc1\x57" } , { "\xca\xe8\xd1\xe0" , "\xdb\xcb\xfd\xc1" } , { "\xca\xe8\xd1\xe0\xa2" , "\xdb\xcb\xfd\xc1\x4c\x69" } , { "\xca\xe8\xd1\xe1" , "\xdb\xcb\xfd\xc1\x5b" } , { "\xca\xe8\xd1\xe1\xa2" , "\xdb\xcb\xfd\xc1\x5b\x4c\x69" } , { "\xca\xe8\xd1\xe2" , "\xdb\xcb\xfd\x5e\xc1" } , { "\xca\xe8\xd1\xe2\xa2" , "\xdb\xcb\xfd\x5e\xc1\x4c\x69" } , { "\xca\xe8\xd1\xe5" , "\xcb\xfd\xdc\x5b" } , { "\xca\xe8\xd1\xe6" , "\xcb\xfd\xdd" } , { "\xca\xe8\xd1\xe7" , "\xcb\xfd\xdc" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\xd5\xfd\xc1\xe4" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\xd5\xfd\xc1\xf9" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\xca\xfd\xc1\x56\xf9" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\xca\xfd\xc1\x57\xf9" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\xca\xfd\xc1\x56\x2a" } , { "\xca\xe8\xd4\xa2" , "\xca\xc1\x2a\x4c\x69" } , { "\xca\xe8\xd4\xda" , "\xcb\xd8\x2a" } , { "\xca\xe8\xd4\xdb" , "\xd5\xc1\x2a" } , { "\xca\xe8\xd4\xe0" , "\xdb\xcb\xc1\x2a" } , { "\xca\xe8\xd4\xe1" , "\xdb\xcb\xc1\x5b\x2a" } , { "\xca\xe8\xd4\xe7" , "\xcb\xdc\x2a" } , { "\xca\xe8\xd5\xda" , "\xcb\xd8\x2b" } , { "\xca\xe8\xd5\xdb" , "\xd5\xc1\x2b" } , { "\xca\xe8\xd5\xdc" , "\xd5\x64\xc1\x2b" } , { "\xca\xe8\xd6\xda" , "\xcb\x3c\xd8" } , { "\xca\xe8\xd6\xdb" , "\xd5\x3c\xc1" } , { "\xca\xe8\xd6\xdc" , "\xd5\x64\x3c\xc1" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\xca\xde\x78\x74\xed\x73\x51\xfb" } , { "\xca\xe8\xd7" , "\xca\xc1\x3d" } , { "\xca\xe8\xd7\xda" , "\xcb\xd8\x3d" } , { "\xca\xe8\xd7\xdb" , "\xd5\xc1\x3d" } , { "\xca\xe8\xd7\xdc" , "\xd5\x64\xc1\x3d" } , { "\xca\xe8\xd7\xdd" , "\xca\xc1\x56\x3d" } , { "\xca\xe8\xd7\xe0" , "\xdb\xcb\xc1\x3d" } , { "\xca\xe8\xd7\xe0\xa2" , "\xdb\xcb\xc1\x3d\x4c\x69" } , { "\xca\xe8\xd7\xe1" , "\xdb\xcb\xc1\x5b\x3d" } , { "\xca\xe8\xd7\xe2" , "\x5c\xdb\xcb\xc1\x51\x3d" } , { "\xca\xe8\xd7\xe5" , "\xcb\xdc\x5b\x3d" } , { "\xca\xe8\xd7\xe6" , "\xcb\xdd\x3d" } , { "\xca\xe8\xd7\xe8" , "\xcb\xde\x3d" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\xca\xc1\x56\x3d\x51\xe4" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\x5c\xdb\xcb\xc1\x51\x3d\x51\xe4" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xd5\xc1\x3d\x51\xe4\x51\xfb" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\x5c\xdb\xcb\xc1\x51\x3d\x51\xe4\x51\xfb" } , { "\xca\xe8\xd7\xe8\xbd" , "\xca\xde\x78\x71\xed\x73" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\xca\xde\x72\xed\x79" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\xca\xde\x72\xed\x79\x4c\x69" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\xca\xde\x7a\x71\xed\x73" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\xca\xde\x7d\x71\xed\x73" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\xca\xde\x78\x71\xed\x73\xfb" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xca\xde\x72\xed\x79\xfb" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xca\xde\x7c\x71\xed\x5e\x73\xfb" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\xca\xc1\x56\x3d\x51\xf5" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\xca\xde\x78\x71\xfd\x73\x56" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\xca\xde\x72\xfd\xa1" } , { "\xca\xe8\xd7\xe8\xd4" , "\xca\xc1\x3d\x51\x2a" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\xca\xc1\x3d\x51\x2a\x4c\x69" } , { "\xca\xe8\xd8" , "\xca\x3e\xc1" } , { "\xca\xe8\xd8\xda" , "\xcb\x3e\xd8" } , { "\xca\xe8\xd8\xe6" , "\xcb\x3e\xdd" } , { "\xca\xe8\xd8\xe8" , "\xcb\xde\x3e" } , { "\xca\xe8\xe8" , "\xcb\xde" } , { "\xca\xe8\xe9\xcf" , "\xfa\xca\xc1" } , { "\xca\xe9" , "\xca\xc1" } , { "\xcb" , "\xcb\xb3\xcf\xc1" } , { "\xcb\xa1" , "\xcb\xb3\xcf\xc1\xb7" } , { "\xcb\xa2" , "\xcb\xb3\xcf\xc1\x4c\x69" } , { "\xcb\xa3" , "\xcb\xb3\xcf\xc1\x4d" } , { "\xcb\xd0" , "\xcb\xb3\xcf\xc1\xe0\xe1" } , { "\xcb\xd0\xdc" , "\xcb\xb3\xcf\xc1\xe0\xd4\xe1" } , { "\xcb\xda" , "\xcb\xb3\xd8" } , { "\xcb\xda\xa1" , "\xcb\xb3\xd8\xb7" } , { "\xcb\xda\xa2" , "\xcb\xb3\xd8\x4c\x69" } , { "\xcb\xda\xd0" , "\xcb\xb3\xd8\xe0\xe1" } , { "\xcb\xdb" , "\xd5\xb3\xc1" } , { "\xcb\xdb\xa2" , "\xd5\xb3\xc1\x4c\x69" } , { "\xcb\xdb\xa3" , "\xd5\xb3\xc1\x4d" } , { "\xcb\xdb\xd4\xdf" , "\xd5\xb3\xc1\xaa\xab\x73\x58" } , { "\xcb\xdc" , "\xd5\xb3\x64\xc1" } , { "\xcb\xdc\xa1" , "\xd5\xb3\x64\xc1\xb7" } , { "\xcb\xdc\xa2" , "\xd5\xb3\x64\xc1\x4c\x69" } , { "\xcb\xdd" , "\xcb\xb3\xcf\xc1\x56" } , { "\xcb\xdd\xa2" , "\xcb\xb3\xcf\xc1\x56\x4c\x69" } , { "\xcb\xde" , "\xcb\xb3\xcf\xc1\x57" } , { "\xcb\xde\xa1" , "\xcb\xb3\xcf\xc1\x57\xb7" } , { "\xcb\xde\xa2" , "\xcb\xb3\xcf\xc1\x57\x4c\x69" } , { "\xcb\xdf" , "\xcb\xb3\xcf\xc1\x58" } , { "\xcb\xdf\xa2" , "\xcb\xb3\xcf\xc1\x58\x4c\x69" } , { "\xcb\xe0" , "\xdb\xcb\xb3\xc1" } , { "\xcb\xe1" , "\xdb\xcb\xb3\xc1\x5b" } , { "\xcb\xe1\xa2" , "\xdb\xcb\xb3\xc1\x5b\x4c\x69" } , { "\xcb\xe2" , "\x5c\xdb\xcb\xb3\xc1" } , { "\xcb\xe2\xa2" , "\x5c\xdb\xcb\xb3\xc1\x4c\x69" } , { "\xcb\xe4" , "\xcb\xb3\xdc" } , { "\xcb\xe5" , "\xcb\xb3\xdc\x5b" } , { "\xcb\xe5\xa2" , "\xcb\xb3\xdc\x5b\x4c\x69" } , { "\xcb\xe6" , "\xcb\xb3\xdd" } , { "\xcb\xe6\xa2" , "\xcb\xb3\xdd\x4c\x69" } , { "\xcb\xe7" , "\xcb\xb3\xdc" } , { "\xcb\xe7\xa2" , "\xcb\xb3\xdc\x4c\x69" } , { "\xcb\xe8" , "\xcb\xb3\xde" } , { "\xcb\xe8\xb3\xdd" , "\xcb\xb3\xcf\xc1\x56\xe4" } , { "\xcb\xe8\xbd\xdd" , "\xcb\xb3\xed\xcf\xc1\x56" } , { "\xcb\xe8\xbf" , "\xcb\xb3\xef\xcf\xc1" } , { "\xcb\xe8\xc2" , "\xcb\xb3\xcf\xc1\xf2" } , { "\xcb\xe8\xc2\xdb" , "\xd5\xb3\xc1\xf2" } , { "\xcb\xe8\xc4" , "\xcb\xb3\xf4\xcf\xc1" } , { "\xcb\xe8\xc4\xa2" , "\xcb\xb3\xf4\xcf\xc1\x4c\x69" } , { "\xcb\xe8\xc4\xda" , "\xcb\xb3\xf4\xd8" } , { "\xcb\xe8\xc4\xdb" , "\xd5\xb3\xf4\xc1" } , { "\xcb\xe8\xc5" , "\xcb\xb3\xf4\xf0\xcf\xc1" } , { "\xcb\xe8\xc5\xdb" , "\xd5\xb3\xf4\xf0\xc1" } , { "\xcb\xe8\xc6\xdb" , "\xd5\xb3\xc1\xf5" } , { "\xcb\xe8\xc6\xe8\xc6" , "\xcb\xb3\xcf\xc1\xf5\x51\x51\xf5" } , { "\xcb\xe8\xca\xda" , "\xcb\xb3\xd8\xf7" } , { "\xcb\xe8\xca\xdb" , "\xd5\xb3\xc1\xf7" } , { "\xcb\xe8\xca\xe2" , "\x5c\xdb\xcb\xb3\xc1\x51\xf7" } , { "\xcb\xe8\xcb" , "\xcb\xb3\xcf\xc1\xf7\xe9" } , { "\xcb\xe8\xcb\xda" , "\xcb\xb3\xd8\xf7\xe9" } , { "\xcb\xe8\xcb\xdc" , "\xd5\xb3\x64\xc1\xf7\xe9" } , { "\xcb\xe8\xcb\xe2" , "\x5c\xdb\xcb\xb3\xc1\x51\xf7\xe9" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\xcb\xb3\xd8\xf7\xe9\x51\xfb" } , { "\xcb\xe8\xcc" , "\xcb\xb3\xcf\xc1\xf8" } , { "\xcb\xe8\xcd" , "\xcb\xb3\xcf\xc1\xf9" } , { "\xcb\xe8\xcd\xa2" , "\xcb\xb3\xcf\xc1\xf9\x4c\x69" } , { "\xcb\xe8\xcd\xa3" , "\xcb\xb3\xcf\xc1\xf9\x4d" } , { "\xcb\xe8\xcd\xda" , "\xcb\xb3\xd8\xf9" } , { "\xcb\xe8\xcd\xda\xa2" , "\xcb\xb3\xd8\xf9\x4c\x69" } , { "\xcb\xe8\xcd\xdd" , "\xcb\xb3\xcf\xc1\x56\xf9" } , { "\xcb\xe8\xcd\xde" , "\xcb\xb3\xcf\xc1\x57\xf9" } , { "\xcb\xe8\xcd\xe1" , "\xdb\xcb\xb3\xc1\x5b\xf9" } , { "\xcb\xe8\xcd\xe2" , "\x5c\xdb\xcb\xb3\xc1\x51\xf9" } , { "\xcb\xe8\xcd\xe4" , "\xcb\xb3\xdc\xf9" } , { "\xcb\xe8\xcd\xe5" , "\xcb\xb3\xdc\x5b\xf9" } , { "\xcb\xe8\xcf" , "\xfa\xcb\xb3\xcf\xc1" } , { "\xcb\xe8\xcf\xa2" , "\xfa\xcb\xb3\xcf\xc1\x4c\x69" } , { "\xcb\xe8\xcf\xda" , "\xfa\xcb\xb3\xd8" } , { "\xcb\xe8\xcf\xda\xa2" , "\xfa\xcb\xb3\xd8\x4c\x69" } , { "\xcb\xe8\xcf\xdb" , "\xfa\xd5\xb3\xc1" } , { "\xcb\xe8\xcf\xdc" , "\xfa\xd5\xb3\x64\xc1" } , { "\xcb\xe8\xcf\xdd" , "\xfa\xcb\xb3\xcf\xc1\x56" } , { "\xcb\xe8\xcf\xde" , "\xfa\xcb\xb3\xcf\xc1\x57" } , { "\xcb\xe8\xcf\xdf" , "\xfa\xcb\xb3\xcf\xc1\x51\x58" } , { "\xcb\xe8\xcf\xe5" , "\xfa\xcb\xb3\xdc\x5b" } , { "\xcb\xe8\xd1\xe2" , "\xdb\xcb\xb3\xfd\x5e\xc1" } , { "\xcb\xe8\xd1\xe5" , "\xcb\xb3\xfd\xdc\x5b" } , { "\xcb\xe8\xd4" , "\xcb\xb3\xcf\xc1\x2a" } , { "\xcb\xe8\xd4\xe8\xcd" , "\xcb\xb3\xcf\xc1\x2a\x51\xf9" } , { "\xcb\xe8\xe8" , "\xcb\xb3\xde" } , { "\xcb\xe8\xe9\xcf" , "\xfa\xcb\xb3\xcf\xc1" } , { "\xcb\xe9" , "\xcb\xb3\xcf\xc1" } , { "\xcc" , "\xaa\xab\x73\x56" } , { "\xcc\xa1" , "\xaa\xab\x73\x56\xb7" } , { "\xcc\xa2" , "\xaa\xab\x73\x56\x4c\x69" } , { "\xcc\xa3" , "\xaa\xab\x73\x56\x4d" } , { "\xcc\xda" , "\xaa\xab\x73\x57" } , { "\xcc\xda\xa1" , "\xaa\xab\x73\x57\xb7" } , { "\xcc\xda\xa2" , "\xaa\xab\x73\x57\x4c\x69" } , { "\xcc\xda\xa3" , "\xaa\xab\x73\x57\x4d" } , { "\xcc\xdb" , "\xad\x73\x56" } , { "\xcc\xdb\xa2" , "\xad\x73\x56\x4c\x69" } , { "\xcc\xdb\xa2\xa2" , "\xad\x73\x56\x4c\x69\x69\x4c\x69" } , { "\xcc\xdb\xd0\xe8" , "\xad\x73\x56\xe0\xe3\xde" } , { "\xcc\xdc" , "\xad\x64\x73\x56" } , { "\xcc\xdc\xa1" , "\xad\x64\x73\x56\xb7" } , { "\xcc\xdc\xa2" , "\xad\x64\x73\x56\x4c\x69" } , { "\xcc\xdd" , "\xaa\xab\x73\x56\x56" } , { "\xcc\xdd\xa1" , "\xaa\xab\x73\x56\x56\xb7" } , { "\xcc\xdd\xa2" , "\xaa\xab\x73\x56\x56\x4c\x69" } , { "\xcc\xdd\xa2\xa2" , "\xaa\xab\x73\x56\x56\x4c\x69\x69\x4c\x69" } , { "\xcc\xde" , "\xaa\xab\x73\x56\x57" } , { "\xcc\xde\xa1" , "\xaa\xab\x73\x56\x57\xb7" } , { "\xcc\xde\xa2" , "\xaa\xab\x73\x56\x57\x4c\x69" } , { "\xcc\xdf" , "\xaa\xab\x73\x56\x58" } , { "\xcc\xdf\xa2" , "\xaa\xab\x73\x56\x58\x4c\x69" } , { "\xcc\xe0" , "\xae\xaa\x73\x56" } , { "\xcc\xe0\xa2" , "\xae\xaa\x73\x56\x4c\x69" } , { "\xcc\xe1" , "\xae\xaa\x73\x5b\x56" } , { "\xcc\xe1\xa1" , "\xae\xaa\x73\x5b\x56\xb7" } , { "\xcc\xe1\xa2" , "\xae\xaa\x73\x5b\x56\x4c\x69" } , { "\xcc\xe1\xa2\xa2" , "\xae\xaa\x73\x5b\x56\x4c\x69\x69\x4c\x69" } , { "\xcc\xe2" , "\x5c\xae\xaa\x73\x56" } , { "\xcc\xe2\xa1" , "\x5c\xae\xaa\x73\x56\xb7" } , { "\xcc\xe2\xa2" , "\x5c\xae\xaa\x73\x56\x4c\x69" } , { "\xcc\xe4" , "\xae\xaa\x73\x56\x56" } , { "\xcc\xe4\xa2" , "\xae\xaa\x73\x56\x56\x4c\x69" } , { "\xcc\xe4\xd0\xb1" , "\xae\xaa\x73\x56\x56\xe0\xe1\x4b" } , { "\xcc\xe5" , "\xae\xaa\x73\x57" } , { "\xcc\xe5\xa2" , "\xae\xaa\x73\x57\x4c\x69" } , { "\xcc\xe6" , "\xaa\xab\x73\xb0" } , { "\xcc\xe6\xa2" , "\xaa\xab\x73\xb0\x4c\x69" } , { "\xcc\xe6\xa3" , "\xaa\xab\x73\xb0\x4d" } , { "\xcc\xe7" , "\xae\xaa\x73\x56\x56" } , { "\xcc\xe8" , "\xaa\xb1\x73\x56" } , { "\xcc\xe8\xb3\xa2" , "\xaa\xab\x73\x56\xe4\x4c\x69" } , { "\xcc\xe8\xb3\xda" , "\xaa\xab\x73\x57\xe4" } , { "\xcc\xe8\xb3\xdb" , "\xad\x73\x56\xe4" } , { "\xcc\xe8\xb3\xdc" , "\xad\x64\x73\x56\xe4" } , { "\xcc\xe8\xb3\xdd" , "\xaa\xab\x73\x56\x56\xe4" } , { "\xcc\xe8\xb3\xde" , "\xaa\xab\x73\x56\x57\xe4" } , { "\xcc\xe8\xb3\xdf" , "\xaa\xab\x73\x56\x58\xe4\x51" } , { "\xcc\xe8\xb3\xe1" , "\xae\xaa\x73\x5b\x56\xe4" } , { "\xcc\xe8\xb3\xe4" , "\xae\xaa\x73\x56\x56\xe4" } , { "\xcc\xe8\xb3\xe5" , "\xae\xaa\x73\x57\xe4" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\xaa\xab\x73\x57\xe4\x51\xf9" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\xad\x73\x56\xe4\x51\xfb\x4c\x69" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\xaa\xab\x73\x56\x57\xe4\x51\xfb" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\xaa\xb1\x73\x56\x4e\xfd\x5d\x5b" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\xad\x64\x73\x56\xe4\x51\x3d" } , { "\xcc\xe8\xb4\xda" , "\xaa\xab\x73\xe5\x57" } , { "\xcc\xe8\xb4\xe8" , "\xaa\xb1\x73\x56\xe5" } , { "\xcc\xe8\xb5" , "\xaa\xab\x73\xe6\x56" } , { "\xcc\xe8\xb5\xa2" , "\xaa\xab\x73\xe6\x56\x4c\x69" } , { "\xcc\xe8\xb5\xda" , "\xaa\xab\x73\xe6\x57" } , { "\xcc\xe8\xb5\xdd" , "\xaa\xab\x73\xe6\x56\x56" } , { "\xcc\xe8\xb8" , "\xaa\xab\x73\x56\xe8" } , { "\xcc\xe8\xb8\xa2" , "\xaa\xab\x73\x56\xe8\x4c\x69" } , { "\xcc\xe8\xb8\xda" , "\xaa\xab\x73\x57\xe8" } , { "\xcc\xe8\xb8\xdc" , "\xad\x64\x73\x56\xe8" } , { "\xcc\xe8\xb8\xdd" , "\xaa\xab\x73\x56\x56\xe8" } , { "\xcc\xe8\xb8\xe0\xa2" , "\xae\xaa\x73\x56\xe8\x4c\x69" } , { "\xcc\xe8\xb8\xe1" , "\xae\xaa\x73\x5b\x56\xe8" } , { "\xcc\xe8\xb8\xe8\xc8" , "\xaa\xab\x73\x56\xe8\x51\xf6" } , { "\xcc\xe8\xba" , "\xaa\xab\x73\xea\x56" } , { "\xcc\xe8\xba\xda" , "\xaa\xab\x73\xea\x57" } , { "\xcc\xe8\xba\xdb" , "\xad\x73\xea\x56" } , { "\xcc\xe8\xba\xe0" , "\xae\xaa\x73\xea\x56" } , { "\xcc\xe8\xba\xe8" , "\xaa\xb1\x73\x56\xea" } , { "\xcc\xe8\xba\xe9" , "\xaa\xab\x73\xea\x56" } , { "\xcc\xe8\xbd" , "\xaa\xab\x73\xed\x56" } , { "\xcc\xe8\xbd\xda" , "\xaa\xab\x73\xed\x57" } , { "\xcc\xe8\xbd\xdc" , "\xad\x64\x73\xed\x56" } , { "\xcc\xe8\xbd\xe0" , "\xae\xaa\x73\xed\x56" } , { "\xcc\xe8\xbd\xe1" , "\xae\xaa\x73\x5b\xed\x56" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\xaa\xab\x73\xed\x56\x57\xf9" } , { "\xcc\xe8\xbf" , "\xaa\xab\x73\xef\x56" } , { "\xcc\xe8\xbf\xda" , "\xaa\xab\x73\xef\x57" } , { "\xcc\xe8\xbf\xdb" , "\xad\x73\xef\x56" } , { "\xcc\xe8\xbf\xe8" , "\xaa\xb1\x73\x56\xef" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\xad\x73\xef\x56\xfb" } , { "\xcc\xe8\xc1" , "\xaa\xab\x73\xf1\x56" } , { "\xcc\xe8\xc1\xe5\xa2" , "\xae\xaa\x73\xf1\x57\x4c\x69" } , { "\xcc\xe8\xc1\xe8\xcc" , "\xaa\xab\x73\xf1\x56\xf8" } , { "\xcc\xe8\xc1\xe8\xd7" , "\xaa\xab\x73\xf1\x56\x3d" } , { "\xcc\xe8\xc2" , "\xaa\xab\x73\x56\xf2" } , { "\xcc\xe8\xc2\xda" , "\xaa\xab\x73\x57\xf2" } , { "\xcc\xe8\xc2\xda\xa2" , "\xaa\xab\x73\x57\xf2\x4c\x69" } , { "\xcc\xe8\xc2\xdb" , "\xad\x73\x56\xf2" } , { "\xcc\xe8\xc2\xe5" , "\xae\xaa\x73\x57\xf2" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\xaa\xb1\x73\x56\xbc\xbd\xf2" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\xaa\xb1\x73\x56\xbb\xf3\x52\xbd\x56" } , { "\xcc\xe8\xc2\xe8\xcd" , "\xaa\xab\x73\x56\xf2\x51\xf9" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\xaa\xab\x73\x56\x56\xf2\x51\xf9" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\xaa\xab\x73\x56\x56\xf2\x51\xf9\x4c\x69" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\xaa\xab\x73\x56\x57\xf2\x51\xf9" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\xaa\xb1\x73\x56\xf2\x51\xf9" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\xaa\xab\x73\x56\xf2\x51\xfb\x51\xf9" } , { "\xcc\xe8\xc3" , "\xaa\xab\x73\xf3\x56" } , { "\xcc\xe8\xc4" , "\xaa\xab\x73\xf4\x56" } , { "\xcc\xe8\xc4\xda" , "\xaa\xab\x73\xf4\x57" } , { "\xcc\xe8\xc4\xdb" , "\xad\x73\xf4\x56" } , { "\xcc\xe8\xc4\xdc" , "\xad\x64\x73\xf4\x56" } , { "\xcc\xe8\xc4\xdd" , "\xaa\xab\x73\xf4\x56\x56" } , { "\xcc\xe8\xc4\xe1" , "\xae\xaa\x73\x5b\xf4\x56" } , { "\xcc\xe8\xc4\xe8\xc5" , "\xaa\xb1\x73\x56\xb5\xf4\xf0\x52\xb6" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\xaa\xb1\x73\x56\xb5\xf4\xf0\x6a\xb6" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\xaa\xab\x73\xf4\x57\x2a" } , { "\xcc\xe8\xc5\xda" , "\xaa\xab\x73\xf4\xf0\x57" } , { "\xcc\xe8\xc5\xe5\xa2" , "\xae\xaa\x73\xf4\xf0\x57\x4c\x69" } , { "\xcc\xe8\xc5\xe8\xc4" , "\xaa\xb1\x73\x56\xb5\xb3\xf4\x52\xb6" } , { "\xcc\xe8\xc6" , "\xaa\xab\x73\x56\xf5" } , { "\xcc\xe8\xc6\xa2" , "\xaa\xab\x73\x56\xf5\x4c\x69" } , { "\xcc\xe8\xc6\xda" , "\xaa\xab\x73\x57\xf5" } , { "\xcc\xe8\xc6\xda\xa2" , "\xaa\xab\x73\x57\xf5\x4c\x69" } , { "\xcc\xe8\xc6\xdb" , "\xad\x73\x56\xf5" } , { "\xcc\xe8\xc6\xdc" , "\xad\x64\x73\x56\xf5" } , { "\xcc\xe8\xc6\xdd" , "\xaa\xab\x73\x56\x56\xf5" } , { "\xcc\xe8\xc6\xdd\xa2" , "\xaa\xab\x73\x56\x56\xf5\x4c\x69" } , { "\xcc\xe8\xc6\xde" , "\xaa\xab\x73\x56\x57\xf5" } , { "\xcc\xe8\xc6\xe0\xa2" , "\xae\xaa\x73\x56\xf5\x4c\x69" } , { "\xcc\xe8\xc6\xe1" , "\xae\xaa\x73\x5b\x56\xf5" } , { "\xcc\xe8\xc6\xe5" , "\xae\xaa\x73\x57\xf5" } , { "\xcc\xe8\xc8" , "\xaa\xab\x73\x56\xf6" } , { "\xcc\xe8\xc8\xda" , "\xaa\xab\x73\x57\xf6" } , { "\xcc\xe8\xc8\xda\xa1" , "\xaa\xab\x73\x57\xf6\xb7" } , { "\xcc\xe8\xc8\xdb" , "\xad\x73\x56\xf6" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xad\x73\x56\xf6\x4c\x69" } , { "\xcc\xe8\xc8\xdc" , "\xad\x64\x73\x56\xf6" } , { "\xcc\xe8\xc8\xdd" , "\xaa\xab\x73\x56\x56\xf6" } , { "\xcc\xe8\xc8\xde" , "\xaa\xab\x73\x56\x57\xf6" } , { "\xcc\xe8\xc8\xdf" , "\xaa\xab\x73\x56\x58\xf6\x51" } , { "\xcc\xe8\xc8\xe0" , "\xae\xaa\x73\x56\xf6" } , { "\xcc\xe8\xc8\xe1" , "\xae\xaa\x73\x5b\x56\xf6" } , { "\xcc\xe8\xc8\xe2" , "\x5c\xae\xaa\x73\x56\xf6" } , { "\xcc\xe8\xc8\xe2\xa2" , "\x5c\xae\xaa\x73\x56\xf6\x4c\x69" } , { "\xcc\xe8\xc8\xe5" , "\xae\xaa\x73\x57\xf6" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xae\xaa\x73\x57\xf6\x4c\x69" } , { "\xcc\xe8\xc8\xe8" , "\xaa\xb1\x73\x56\xf6" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\xaa\xb1\x73\x56\xa3\x6d\x73\x4e\x52\x50\xf2" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\xaa\xb1\x73\x56\xa3\x6d\x73\x4e\x54\x50\xf2" } , { "\xcc\xe8\xc8\xe8\xb8" , "\xaa\xab\x73\x56\xf6\x51\xe8" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\xaa\xb1\x73\x56\x46\xf4\x79" } , { "\xcc\xe8\xc8\xe8\xcd" , "\xaa\xab\x73\x56\xf6\x51\xf9" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\xaa\xab\x73\x56\x56\xf6\x51\xf9" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\xaa\xab\x73\x56\x57\xf6\x51\xf9" } , { "\xcc\xe8\xc8\xe8\xcf" , "\xaa\xab\x73\x56\xf6\x51\xfb" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\xaa\xab\x73\x57\xf6\x51\xfb" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\xaa\xab\x73\x56\x57\xf6\x51\xfb" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\xae\xaa\x73\x56\xf6\x51\xfb" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xae\xaa\x73\x5b\x56\xf6\x51\xfb" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\xae\xaa\x73\x56\x56\xf6\x51\xfb" } , { "\xcc\xe8\xc8\xe8\xd1" , "\xaa\xb1\x73\x56\x78\x6d\xfd\x73" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\xaa\xb1\x73\x56\x46\xfd\x79" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\xaa\xb1\x73\x56\x46\xfd\x79\x4c\x69" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xaa\xb1\x73\x56\x7a\x6d\xfd\x73" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xaa\xb1\x73\x56\x7d\x6d\xfd\x73" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xaa\xb1\x73\x56\x7c\x6d\xfd\x5e\x73" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xaa\xb1\x73\x56\x46\xfd\xa1" } , { "\xcc\xe8\xc8\xe8\xd5" , "\xaa\xab\x73\x56\xf6\x51\x2b" } , { "\xcc\xe8\xc8\xe8\xd6" , "\xaa\xb1\x73\x56\x78\x6d\x3c\x73" } , { "\xcc\xe8\xc8\xe8\xd7" , "\xaa\xab\x73\x56\xf6\x51\x3d" } , { "\xcc\xe8\xc9" , "\xaa\xab\x73\x56\xf6\xe9" } , { "\xcc\xe8\xc9\xda" , "\xaa\xab\x73\x57\xf6\xe9" } , { "\xcc\xe8\xc9\xdb" , "\xad\x73\x56\xf6\xe9" } , { "\xcc\xe8\xc9\xdc" , "\xad\x64\x73\x56\xf6\xe9" } , { "\xcc\xe8\xc9\xe0" , "\xae\xaa\x73\x56\xf6\xe9" } , { "\xcc\xe8\xc9\xe1" , "\xae\xaa\x73\x5b\x56\xf6\xe9" } , { "\xcc\xe8\xc9\xe4" , "\xae\xaa\x73\x56\x56\xf6\xe9" } , { "\xcc\xe8\xc9\xe5" , "\xae\xaa\x73\x57\xf6\xe9" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xae\xaa\x73\x5b\x56\xf6\xe9\x51\xfb" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xaa\xb1\x73\x56\x46\x6e\xfd\xa1" } , { "\xcc\xe8\xca" , "\xaa\xab\x73\x56\xf7" } , { "\xcc\xe8\xca\xa2" , "\xaa\xab\x73\x56\xf7\x4c\x69" } , { "\xcc\xe8\xca\xda" , "\xaa\xab\x73\x57\xf7" } , { "\xcc\xe8\xca\xda\xa2" , "\xaa\xab\x73\x57\xf7\x4c\x69" } , { "\xcc\xe8\xca\xdb" , "\xad\x73\x56\xf7" } , { "\xcc\xe8\xca\xdb\xa2" , "\xad\x73\x56\xf7\x4c\x69" } , { "\xcc\xe8\xca\xdc" , "\xad\x64\x73\x56\xf7" } , { "\xcc\xe8\xca\xdd" , "\xaa\xab\x73\x56\x56\xf7" } , { "\xcc\xe8\xca\xde" , "\xaa\xab\x73\x56\x57\xf7" } , { "\xcc\xe8\xca\xe0" , "\xae\xaa\x73\x56\xf7" } , { "\xcc\xe8\xca\xe1" , "\xae\xaa\x73\x5b\x56\xf7" } , { "\xcc\xe8\xca\xe1\xa2" , "\xae\xaa\x73\x5b\x56\xf7\x4c\x69" } , { "\xcc\xe8\xca\xe5" , "\xae\xaa\x73\x57\xf7" } , { "\xcc\xe8\xca\xe5\xa2" , "\xae\xaa\x73\x57\xf7\x4c\x69" } , { "\xcc\xe8\xca\xe6" , "\xaa\xab\x73\xb0\xf7" } , { "\xcc\xe8\xca\xe7" , "\xae\xaa\x73\x56\x56\xf7" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\xaa\xb1\x73\x56\xca\xde\xb5\xf4\xf0\x52\xb6" } , { "\xcc\xe8\xca\xe8\xcf" , "\xaa\xab\x73\x56\xf7\x51\xfb" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\xaa\xab\x73\x57\xf7\x51\xfb\x4c\x69" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\xad\x73\x56\xf7\x51\xfb" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xae\xaa\x73\x5b\x56\xf7\x51\xfb" } , { "\xcc\xe8\xcb" , "\xaa\xab\x73\x56\xf7\xe9" } , { "\xcc\xe8\xcb\xa3" , "\xaa\xab\x73\x56\xf7\xe9\x4d" } , { "\xcc\xe8\xcb\xda" , "\xaa\xab\x73\x57\xf7\xe9" } , { "\xcc\xe8\xcb\xdb" , "\xad\x73\x56\xf7\xe9" } , { "\xcc\xe8\xcb\xdc" , "\xad\x64\x73\x56\xf7\xe9" } , { "\xcc\xe8\xcb\xdd" , "\xaa\xab\x73\x56\x56\xf7\xe9" } , { "\xcc\xe8\xcb\xde" , "\xaa\xab\x73\x56\x57\xf7\xe9" } , { "\xcc\xe8\xcb\xe1" , "\xae\xaa\x73\x5b\x56\xf7\xe9" } , { "\xcc\xe8\xcb\xe5" , "\xae\xaa\x73\x57\xf7\xe9" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xae\xaa\x73\x57\xf7\xe9\x4c\x69" } , { "\xcc\xe8\xcb\xe6" , "\xaa\xab\x73\xb0\xf7\xe9" } , { "\xcc\xe8\xcb\xe8" , "\xaa\xb1\x73\x56\xf7\xe9" } , { "\xcc\xe8\xcb\xe8\xcf" , "\xaa\xab\x73\x56\xf7\xe9\x51\xfb" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\xaa\xab\x73\x57\xf7\xe9\x51\xfb" } , { "\xcc\xe8\xcc" , "\xaa\xab\x73\x56\xf8" } , { "\xcc\xe8\xcc\xa2" , "\xaa\xab\x73\x56\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xda" , "\xaa\xab\x73\x57\xf8" } , { "\xcc\xe8\xcc\xda\xa1" , "\xaa\xab\x73\x57\xf8\xb7" } , { "\xcc\xe8\xcc\xda\xa2" , "\xaa\xab\x73\x57\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xdb" , "\xad\x73\x56\xf8" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xad\x73\x56\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xdc" , "\xad\x64\x73\x56\xf8" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xad\x64\x73\x56\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xdd" , "\xaa\xab\x73\x56\x56\xf8" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xaa\xab\x73\x56\x56\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xde" , "\xaa\xab\x73\x56\x57\xf8" } , { "\xcc\xe8\xcc\xe0" , "\xae\xaa\x73\x56\xf8" } , { "\xcc\xe8\xcc\xe0\xa2" , "\xae\xaa\x73\x56\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xe1" , "\xae\xaa\x73\x5b\x56\xf8" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xae\xaa\x73\x5b\x56\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xe2" , "\x5c\xae\xaa\x73\x56\xf8" } , { "\xcc\xe8\xcc\xe4" , "\xae\xaa\x73\x56\x56\xf8" } , { "\xcc\xe8\xcc\xe5" , "\xae\xaa\x73\x57\xf8" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xae\xaa\x73\x57\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xe8" , "\xaa\xb1\x73\x56\xf8" } , { "\xcc\xe8\xcc\xe8\xc4" , "\xaa\xb1\x73\x56\xaa\xab\x73\xf4\x56" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\xaa\xb1\x73\x56\xad\x73\xf4\x56" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\xad\x73\x56\xf8\x51\xf5" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\x5c\xae\xaa\x73\x56\xf8\x51\xf8\x4c\x69" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\xaa\xb1\x73\x56\xae\xaa\x73\x5b\xfd\x56" } , { "\xcc\xe8\xcd" , "\xaa\xab\x73\x56\xf9" } , { "\xcc\xe8\xcd\xa2" , "\xaa\xab\x73\x56\xf9\x4c\x69" } , { "\xcc\xe8\xcd\xda" , "\xaa\xab\x73\x57\xf9" } , { "\xcc\xe8\xcd\xda\xa1" , "\xaa\xab\x73\x57\xf9\xb7" } , { "\xcc\xe8\xcd\xda\xa2" , "\xaa\xab\x73\x57\xf9\x4c\x69" } , { "\xcc\xe8\xcd\xdb" , "\xad\x73\x56\xf9" } , { "\xcc\xe8\xcd\xdd" , "\xaa\xab\x73\x56\x56\xf9" } , { "\xcc\xe8\xcd\xde" , "\xaa\xab\x73\x56\x57\xf9" } , { "\xcc\xe8\xcd\xe1" , "\xae\xaa\x73\x5b\x56\xf9" } , { "\xcc\xe8\xcd\xe5" , "\xae\xaa\x73\x57\xf9" } , { "\xcc\xe8\xcd\xe5\xa2" , "\xae\xaa\x73\x57\xf9\x4c\x69" } , { "\xcc\xe8\xcd\xe6" , "\xaa\xab\x73\xb0\xf9" } , { "\xcc\xe8\xcd\xe8\xcd" , "\xaa\xab\x73\x56\xf9\x51\xf9" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\xaa\xab\x73\x57\xf9\x51\xf9" } , { "\xcc\xe8\xcf" , "\xfa\xaa\xab\x73\x56" } , { "\xcc\xe8\xcf\xa2" , "\xfa\xaa\xab\x73\x56\x4c\x69" } , { "\xcc\xe8\xcf\xda" , "\xfa\xaa\xab\x73\x57" } , { "\xcc\xe8\xcf\xda\xa2" , "\xfa\xaa\xab\x73\x57\x4c\x69" } , { "\xcc\xe8\xcf\xdb" , "\xfa\xad\x73\x56" } , { "\xcc\xe8\xcf\xdb\xa2" , "\xfa\xad\x73\x56\x4c\x69" } , { "\xcc\xe8\xcf\xdc" , "\xfa\xad\x64\x73\x56" } , { "\xcc\xe8\xcf\xdd" , "\xfa\xaa\xab\x73\x56\x56" } , { "\xcc\xe8\xcf\xde" , "\xfa\xaa\xab\x73\x56\x57" } , { "\xcc\xe8\xcf\xe0" , "\xfa\xae\xaa\x73\x56" } , { "\xcc\xe8\xcf\xe1" , "\xfa\xae\xaa\x73\x5b\x56" } , { "\xcc\xe8\xcf\xe4" , "\xfa\xae\xaa\x73\x56\x56" } , { "\xcc\xe8\xcf\xe5" , "\xfa\xae\xaa\x73\x57" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xfa\xae\xaa\x73\x57\x4c\x69" } , { "\xcc\xe8\xcf\xe8\xb3" , "\xaa\xab\x73\x56\xfb\x51\xe4" } , { "\xcc\xe8\xcf\xe8\xc2" , "\xaa\xb1\x73\x56\x4c\x52\x69\xf2" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\xaa\xab\x73\x57\xfb\x51\xf9" } , { "\xcc\xe8\xd0\xe0" , "\xae\xaa\x73\xfc\x56" } , { "\xcc\xe8\xd1" , "\xaa\xab\x73\xfd\x56" } , { "\xcc\xe8\xd1\xa2" , "\xaa\xab\x73\xfd\x56\x4c\x69" } , { "\xcc\xe8\xd1\xda" , "\xaa\xab\x73\xfd\x57" } , { "\xcc\xe8\xd1\xda\xa2" , "\xaa\xab\x73\xfd\x57\x4c\x69" } , { "\xcc\xe8\xd1\xdb" , "\xad\x73\xfd\x56" } , { "\xcc\xe8\xd1\xdc" , "\xad\x64\x73\xfd\x56" } , { "\xcc\xe8\xd1\xdd" , "\xaa\xab\x73\xfd\x56\x56" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xaa\xab\x73\xfd\x56\x56\x4c\x69" } , { "\xcc\xe8\xd1\xde" , "\xaa\xab\x73\xfd\x56\x57" } , { "\xcc\xe8\xd1\xe0" , "\xae\xaa\x73\xfd\x56" } , { "\xcc\xe8\xd1\xe1" , "\xae\xaa\x73\x5b\xfd\x56" } , { "\xcc\xe8\xd1\xe2" , "\xae\xaa\x73\xfd\x5e\x56" } , { "\xcc\xe8\xd1\xe5" , "\xae\xaa\x73\xfd\x57" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xae\xaa\x73\xfd\x57\x4c\x69" } , { "\xcc\xe8\xd1\xe8" , "\xaa\xb1\x73\x56\xfd" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\xaa\xab\x73\xfd\x56\x57\xf9" } , { "\xcc\xe8\xd4" , "\xaa\xab\x73\x56\x2a" } , { "\xcc\xe8\xd4\xa2" , "\xaa\xab\x73\x56\x2a\x4c\x69" } , { "\xcc\xe8\xd4\xda" , "\xaa\xab\x73\x57\x2a" } , { "\xcc\xe8\xd4\xdb" , "\xad\x73\x56\x2a" } , { "\xcc\xe8\xd4\xdc" , "\xad\x64\x73\x56\x2a" } , { "\xcc\xe8\xd4\xdd\xa2" , "\xaa\xab\x73\x56\x56\x2a\x4c\x69" } , { "\xcc\xe8\xd4\xe0" , "\xae\xaa\x73\x56\x2a" } , { "\xcc\xe8\xd4\xe1" , "\xae\xaa\x73\x5b\x56\x2a" } , { "\xcc\xe8\xd4\xe2" , "\x5c\xae\xaa\x73\x56\x2a" } , { "\xcc\xe8\xd5" , "\xaa\xab\x73\x56\x2b" } , { "\xcc\xe8\xd5\xda" , "\xaa\xab\x73\x57\x2b" } , { "\xcc\xe8\xd5\xdc" , "\xad\x64\x73\x56\x2b" } , { "\xcc\xe8\xd6" , "\xaa\xab\x73\x3c\x56" } , { "\xcc\xe8\xd6\xdc" , "\xad\x64\x73\x3c\x56" } , { "\xcc\xe8\xd7" , "\xaa\xab\x73\x56\x3d" } , { "\xcc\xe8\xd7\xda" , "\xaa\xab\x73\x57\x3d" } , { "\xcc\xe8\xd7\xdb\xa2" , "\xad\x73\x56\x3d\x4c\x69" } , { "\xcc\xe8\xd7\xdd" , "\xaa\xab\x73\x56\x56\x3d" } , { "\xcc\xe8\xd7\xde" , "\xaa\xab\x73\x56\x57\x3d" } , { "\xcc\xe8\xd7\xe0" , "\xae\xaa\x73\x56\x3d" } , { "\xcc\xe8\xd7\xe1" , "\xae\xaa\x73\x5b\x56\x3d" } , { "\xcc\xe8\xd7\xe8" , "\xaa\xb1\x73\x56\x3d" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\xad\x64\x73\x56\x3d\x51\xe4" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\xaa\xab\x73\x56\x56\x3d\x51\xe4" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\xaa\xb1\x73\x56\xa3\x71\x73\x4e\xfd\x52\x50" } , { "\xcc\xe8\xd7\xe8\xbd" , "\xaa\xb1\x73\x56\x78\x71\xed\x73" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\xaa\xb1\x73\x56\x72\xed\x79" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\xaa\xb1\x73\x56\x7c\x71\xed\x73" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\xaa\xb1\x73\x56\x7d\x71\xed\x73" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\xaa\xb1\x73\x56\x72\xed\xa1" } , { "\xcc\xe8\xd7\xe8\xbf" , "\xaa\xb1\x73\x56\x78\x71\xef\x73" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\xaa\xb1\x73\x56\x7a\x71\xef\x73" } , { "\xcc\xe8\xd7\xe8\xc2" , "\xaa\xb1\x73\x56\x78\x71\x73\xf2" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\xaa\xb1\x73\x56\x7b\x71\x73\xf2" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\xaa\xb1\x73\x56\x72\xa1\xf2" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\xaa\xab\x73\x56\x56\x3d\x51\xf5" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\xaa\xb1\x73\x56\x3d\x51\xf5" } , { "\xcc\xe8\xd7\xe8\xc8" , "\xaa\xab\x73\x56\x3d\x51\xf6" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\xad\x73\x56\x3d\x51\xf6\x51\xfb" } , { "\xcc\xe8\xd7\xe8\xc9" , "\xaa\xab\x73\x56\x3d\x51\xf6\xe9" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\xaa\xab\x73\x57\x3d\x51\xf7\x4c\x69" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\xad\x73\x56\x3d\x51\xf8" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\xaa\xab\x73\x57\x3d\x51\xf9" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\xaa\xab\x73\x57\x3d\x51\xfb" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\xaa\xb1\x73\x56\x72\xfd\x79" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\xaa\xb1\x73\x56\x72\xfd\x79\x4c\x69" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\xaa\xb1\x73\x56\x72\xfd\xa1" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\xaa\xab\x73\x57\x3d\x51\x2a" } , { "\xcc\xe8\xd8" , "\xaa\xab\x73\x3e\x56" } , { "\xcc\xe8\xd8\xa2" , "\xaa\xab\x73\x3e\x56\x4c\x69" } , { "\xcc\xe8\xd8\xda" , "\xaa\xab\x73\x3e\x57" } , { "\xcc\xe8\xd8\xda\xa2" , "\xaa\xab\x73\x3e\x57\x4c\x69" } , { "\xcc\xe8\xd8\xdb" , "\xad\x73\x3e\x56" } , { "\xcc\xe8\xd8\xdc" , "\xad\x64\x73\x3e\x56" } , { "\xcc\xe8\xd8\xdc\xa2" , "\xad\x64\x73\x3e\x56\x4c\x69" } , { "\xcc\xe8\xd8\xde" , "\xaa\xab\x73\x3e\x56\x57" } , { "\xcc\xe8\xd8\xe1" , "\xae\xaa\x73\x5b\x3e\x56" } , { "\xcc\xe8\xd8\xe1\xa2" , "\xae\xaa\x73\x5b\x3e\x56\x4c\x69" } , { "\xcc\xe8\xd8\xe2\xa2" , "\xae\xaa\x73\x3e\x5e\x56\x4c\x69" } , { "\xcc\xe8\xd9\xcc\xe1" , "\xaa\xab\x73\x56\xae\xaa\x73\x5b\x56" } , { "\xcc\xe8\xd9\xcd" , "\xaa\xab\x73\x56\xb8\x52\xb6\x56" } , { "\xcc\xe8\xe8" , "\xaa\xb1\x73\x56" } , { "\xcc\xe8\xe9\xcf" , "\xfa\xaa\xab\x73\x56" } , { "\xcc\xe9" , "\xaa\xab\x73\x56" } , { "\xcd" , "\xb8\x52\xb6\x56" } , { "\xcd\xa1" , "\xb8\x52\xb6\x56\xb7" } , { "\xcd\xa2" , "\xb8\x52\xb6\x56\x4c\x69" } , { "\xcd\xa2\xa3" , "\xb8\x52\xb6\x56\x4c\x69\x69\x4d" } , { "\xcd\xa3" , "\xb8\x52\xb6\x56\x4d" } , { "\xcd\xd0\xe8" , "\xb8\x52\xb6\x56\xe0\xe3\xde" } , { "\xcd\xda" , "\xb8\x52\xb6\x57" } , { "\xcd\xda\xa1" , "\xb8\x52\xb6\x57\xb7" } , { "\xcd\xda\xa2" , "\xb8\x52\xb6\x57\x4c\x69" } , { "\xcd\xda\xa3" , "\xb8\x52\xb6\x57\x4d" } , { "\xcd\xdb" , "\x4c\x69\x56\x56" } , { "\xcd\xdb\xa2" , "\x4c\x69\x56\x56\x4c\x69" } , { "\xcd\xdb\xa2\xa2" , "\x4c\x69\x56\x56\x4c\x69\x69\x4c\x69" } , { "\xcd\xdb\xa3" , "\x4c\x69\x56\x56\x4d" } , { "\xcd\xdc" , "\x4c\x69\x56\x57" } , { "\xcd\xdc\xa1" , "\x4c\x69\x56\x57\xb7" } , { "\xcd\xdc\xa2" , "\x4c\x69\x56\x57\x4c\x69" } , { "\xcd\xdd" , "\xb8\x52\xb6\x56\x56" } , { "\xcd\xdd\xa2" , "\xb8\x52\xb6\x56\x56\x4c\x69" } , { "\xcd\xdd\xa3" , "\xb8\x52\xb6\x56\x56\x4d" } , { "\xcd\xde" , "\xb8\x52\xb6\x56\x57" } , { "\xcd\xde\xa1" , "\xb8\x52\xb6\x56\x57\xb7" } , { "\xcd\xde\xa2" , "\xb8\x52\xb6\x56\x57\x4c\x69" } , { "\xcd\xdf" , "\xb8\x52\xb6\x56\x58" } , { "\xcd\xe0" , "\xb9\xb8\xb6\x56" } , { "\xcd\xe0\xa2" , "\xb9\xb8\xb6\x56\x4c\x69" } , { "\xcd\xe1" , "\xb9\xb8\xb6\x5b\x56" } , { "\xcd\xe1\xa1" , "\xb9\xb8\xb6\x5b\x56\xb7" } , { "\xcd\xe1\xa2" , "\xb9\xb8\xb6\x5b\x56\x4c\x69" } , { "\xcd\xe1\xa3" , "\xb9\xb8\xb6\x5b\x56\x4d" } , { "\xcd\xe2" , "\x5c\xb9\xb8\xb6\x56" } , { "\xcd\xe2\xa2" , "\x5c\xb9\xb8\xb6\x56\x4c\x69" } , { "\xcd\xe3" , "\xb9\xb8\xb6\x56" } , { "\xcd\xe4" , "\xb9\xb8\xb6\x56\x56" } , { "\xcd\xe4\xa2" , "\xb9\xb8\xb6\x56\x56\x4c\x69" } , { "\xcd\xe5" , "\xb9\xb8\xb6\x57" } , { "\xcd\xe5\xa1" , "\xb9\xb8\xb6\x57\xb7" } , { "\xcd\xe5\xa2" , "\xb9\xb8\xb6\x57\x4c\x69" } , { "\xcd\xe5\xa3" , "\xb9\xb8\xb6\x57\x4d" } , { "\xcd\xe6" , "\xb8\x52\xb6\xb0" } , { "\xcd\xe6\xa2" , "\xb8\x52\xb6\xb0\x4c\x69" } , { "\xcd\xe7" , "\xb9\xb8\xb6\x56\x56" } , { "\xcd\xe7\xa2" , "\xb9\xb8\xb6\x56\x56\x4c\x69" } , { "\xcd\xe8" , "\xb8\xba\xb6\x56" } , { "\xcd\xe8\xb3" , "\xb8\x52\xb6\x56\xe4" } , { "\xcd\xe8\xb3\xdb" , "\x4c\x69\x56\x56\xe4" } , { "\xcd\xe8\xb3\xdb\xa2" , "\x4c\x69\x56\x56\xe4\x4c\x69" } , { "\xcd\xe8\xb3\xdd" , "\xb8\x52\xb6\x56\x56\xe4" } , { "\xcd\xe8\xb3\xde" , "\xb8\x52\xb6\x56\x57\xe4" } , { "\xcd\xe8\xb3\xe1" , "\xb9\xb8\xb6\x5b\x56\xe4" } , { "\xcd\xe8\xb3\xe5" , "\xb9\xb8\xb6\x57\xe4" } , { "\xcd\xe8\xb5\xda" , "\xb8\x52\xb6\xe6\x57" } , { "\xcd\xe8\xb8\xe1" , "\xb9\xb8\xb6\x5b\x56\xe8" } , { "\xcd\xe8\xb8\xe6" , "\xb8\x52\xb6\xb0\xe8" } , { "\xcd\xe8\xbd" , "\xb8\x52\xb6\xed\x56" } , { "\xcd\xe8\xbf\xa2" , "\xb8\x52\xb6\xef\x56\x4c\x69" } , { "\xcd\xe8\xbf\xdb" , "\x4c\x69\xef\x56\x56" } , { "\xcd\xe8\xc1" , "\xb8\x52\xb6\xf1\x56" } , { "\xcd\xe8\xc2\xda" , "\xb8\x52\xb6\x57\xf2" } , { "\xcd\xe8\xc2\xdd" , "\xb8\x52\xb6\x56\x56\xf2" } , { "\xcd\xe8\xc2\xe1" , "\xb9\xb8\xb6\x5b\x56\xf2" } , { "\xcd\xe8\xc2\xe5" , "\xb9\xb8\xb6\x57\xf2" } , { "\xcd\xe8\xc2\xe8\xc2" , "\xb8\xba\xb6\x56\xbb\x52\xbd\xf2" } , { "\xcd\xe8\xc2\xe8\xc6" , "\xb8\x52\xb6\x56\xf2\x51\xf5" } , { "\xcd\xe8\xc4\xda" , "\xb8\x52\xb6\xf4\x57" } , { "\xcd\xe8\xc6" , "\xb8\x52\xb6\x56\xf5" } , { "\xcd\xe8\xc6\xa2" , "\xb8\x52\xb6\x56\xf5\x4c\x69" } , { "\xcd\xe8\xc6\xda" , "\xb8\x52\xb6\x57\xf5" } , { "\xcd\xe8\xc6\xdb" , "\x4c\x69\x56\x56\xf5" } , { "\xcd\xe8\xc6\xdc" , "\x4c\x69\x56\x57\xf5" } , { "\xcd\xe8\xc6\xdd" , "\xb8\x52\xb6\x56\x56\xf5" } , { "\xcd\xe8\xc6\xe1" , "\xb9\xb8\xb6\x5b\x56\xf5" } , { "\xcd\xe8\xc6\xe5" , "\xb9\xb8\xb6\x57\xf5" } , { "\xcd\xe8\xc8\xde" , "\xb8\x52\xb6\x56\x57\xf6" } , { "\xcd\xe8\xc9\xe1" , "\xb9\xb8\xb6\x5b\x56\xf6\xe9" } , { "\xcd\xe8\xca\xe0" , "\xb9\xb8\xb6\x56\xf7" } , { "\xcd\xe8\xca\xe5" , "\xb9\xb8\xb6\x57\xf7" } , { "\xcd\xe8\xcb\xdd" , "\xb8\x52\xb6\x56\x56\xf7\xe9" } , { "\xcd\xe8\xcc" , "\xb8\x52\xb6\x56\xf8" } , { "\xcd\xe8\xcc\xa2" , "\xb8\x52\xb6\x56\xf8\x4c\x69" } , { "\xcd\xe8\xcc\xe0" , "\xb9\xb8\xb6\x56\xf8" } , { "\xcd\xe8\xcc\xe0\xa2" , "\xb9\xb8\xb6\x56\xf8\x4c\x69" } , { "\xcd\xe8\xcd" , "\xb8\x52\xb6\x56\xf9" } , { "\xcd\xe8\xcd\xa2" , "\xb8\x52\xb6\x56\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xb8\x52\xb6\x56\xf9\x4c\x69\x69\x4c\x69" } , { "\xcd\xe8\xcd\xda" , "\xb8\x52\xb6\x57\xf9" } , { "\xcd\xe8\xcd\xda\xa2" , "\xb8\x52\xb6\x57\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xdb" , "\x4c\x69\x56\x56\xf9" } , { "\xcd\xe8\xcd\xdb\xa2" , "\x4c\x69\x56\x56\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xdc" , "\x4c\x69\x56\x57\xf9" } , { "\xcd\xe8\xcd\xdd" , "\xb8\x52\xb6\x56\x56\xf9" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xb8\x52\xb6\x56\x56\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xde" , "\xb8\x52\xb6\x56\x57\xf9" } , { "\xcd\xe8\xcd\xe0" , "\xb9\xb8\xb6\x56\xf9" } , { "\xcd\xe8\xcd\xe0\xa2" , "\xb9\xb8\xb6\x56\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xe1" , "\xb9\xb8\xb6\x5b\x56\xf9" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xb9\xb8\xb6\x5b\x56\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xe4" , "\xb9\xb8\xb6\x56\x56\xf9" } , { "\xcd\xe8\xcd\xe5" , "\xb9\xb8\xb6\x57\xf9" } , { "\xcd\xe8\xcd\xe8" , "\xb8\xba\xb6\x56\xf9" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xb8\xba\xb6\x56\xb8\x52\xb6\xe6\x57" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xb8\x52\xb6\x56\xf9\x51\xf9" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xb8\x52\xb6\x56\xf9\x51\xf9\x4c\x69" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xb8\x52\xb6\x57\xf9\x51\xf9" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\xb9\xb8\xb6\x56\xf9\x51\xf9" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xb8\x52\xb6\x57\xf9\x51\xf9\x51\xf9" } , { "\xcd\xe8\xcd\xe8\xcf" , "\xb8\x52\xb6\x56\xf9\x51\xfb" } , { "\xcd\xe8\xcf" , "\xfa\xb8\x52\xb6\x56" } , { "\xcd\xe8\xcf\xde" , "\xfa\xb8\x52\xb6\x56\x57" } , { "\xcd\xe8\xcf\xe5" , "\xfa\xb9\xb8\xb6\x57" } , { "\xcd\xe8\xcf\xe8" , "\xfa\xb8\xba\xb6\x56" } , { "\xcd\xe8\xd1" , "\xb8\x52\xb6\xfd\x56" } , { "\xcd\xe8\xd1\xa2" , "\xb8\x52\xb6\xfd\x56\x4c\x69" } , { "\xcd\xe8\xd1\xda\xa2" , "\xb8\x52\xb6\xfd\x57\x4c\x69" } , { "\xcd\xe8\xd1\xdd" , "\xb8\x52\xb6\xfd\x56\x56" } , { "\xcd\xe8\xd1\xde" , "\xb8\x52\xb6\xfd\x56\x57" } , { "\xcd\xe8\xd1\xe0\xa2" , "\xb9\xb8\xb6\xfd\x56\x4c\x69" } , { "\xcd\xe8\xd1\xe1" , "\xb9\xb8\xb6\x5b\xfd\x56" } , { "\xcd\xe8\xd1\xe4" , "\xb9\xb8\xb6\xfd\x56\x56" } , { "\xcd\xe8\xd1\xe5" , "\xb9\xb8\xb6\xfd\x57" } , { "\xcd\xe8\xd1\xe8" , "\xb8\xba\xb6\x56\xfd" } , { "\xcd\xe8\xd4" , "\xb8\x52\xb6\x56\x2a" } , { "\xcd\xe8\xd4\xda" , "\xb8\x52\xb6\x57\x2a" } , { "\xcd\xe8\xd4\xdd" , "\xb8\x52\xb6\x56\x56\x2a" } , { "\xcd\xe8\xd5\xda" , "\xb8\x52\xb6\x57\x2b" } , { "\xcd\xe8\xd7" , "\xb8\x52\xb6\x56\x3d" } , { "\xcd\xe8\xd7\xda" , "\xb8\x52\xb6\x57\x3d" } , { "\xcd\xe8\xd7\xdb\xa2" , "\x4c\x69\x56\x56\x3d\x4c\x69" } , { "\xcd\xe8\xd7\xe2" , "\x5c\xb9\xb8\xb6\x56\x3d" } , { "\xcd\xe8\xd7\xe8" , "\xb8\xba\xb6\x56\x3d" } , { "\xcd\xe8\xd7\xe8\xb3" , "\xb8\x52\xb6\x56\x3d\x51\xe4" } , { "\xcd\xe8\xe8" , "\xb8\xba\xb6\x56" } , { "\xcd\xe8\xe9\xcf" , "\xfa\xb8\x52\xb6\x56" } , { "\xce" , "\xb8\x52\xb6\x56" } , { "\xce\xa3" , "\xb8\x52\xb6\x56\x4d" } , { "\xcf" , "\x4c\x52\x69" } , { "\xcf\xa1" , "\x4c\x52\x69\xb7" } , { "\xcf\xa2" , "\x4c\x52\x69\x4c\x69" } , { "\xcf\xa2\xa2" , "\x4c\x52\x69\x4c\x69\x69\x4c\x69" } , { "\xcf\xa3" , "\x4c\x52\x69\x4d" } , { "\xcf\xda" , "\x4c\x53" } , { "\xcf\xda\xa1" , "\x4c\x53\xb7" } , { "\xcf\xda\xa2" , "\x4c\x53\x4c\x69" } , { "\xcf\xda\xa3" , "\x4c\x53\x4d" } , { "\xcf\xdb" , "\x4c\x6a\x69" } , { "\xcf\xdb\xa1" , "\x4c\x6a\x69\xb7" } , { "\xcf\xdb\xa2" , "\x4c\x6a\x69\x4c\x69" } , { "\xcf\xdb\xa2\xa2" , "\x4c\x6a\x69\x4c\x69\x69\x4c\x69" } , { "\xcf\xdb\xa3" , "\x4c\x6a\x69\x4d" } , { "\xcf\xdb\xce\xda" , "\x4c\x6a\x69\xb8\x52\xb6\x57" } , { "\xcf\xdc" , "\x4c\x6b\x69" } , { "\xcf\xdc\xa2" , "\x4c\x6b\x69\x4c\x69" } , { "\xcf\xdc\xa2\xa2" , "\x4c\x6b\x69\x4c\x69\x69\x4c\x69" } , { "\xcf\xdc\xa3" , "\x4c\x6b\x69\x4d" } , { "\xcf\xdd" , "\x4c\x52\x69\x56" } , { "\xcf\xdd\xa1" , "\x4c\x52\x69\x56\xb7" } , { "\xcf\xdd\xa2" , "\x4c\x52\x69\x56\x4c\x69" } , { "\xcf\xdd\xa3" , "\x4c\x52\x69\x56\x4d" } , { "\xcf\xde" , "\x4c\x52\x69\x57" } , { "\xcf\xde\xa1" , "\x4c\x52\x69\x57\xb7" } , { "\xcf\xde\xa2" , "\x4c\x52\x69\x57\x4c\x69" } , { "\xcf\xdf" , "\x4c\x52\x69\x58" } , { "\xcf\xe0" , "\x6c\x4c\x69" } , { "\xcf\xe0\xa2" , "\x6c\x4c\x69\x4c\x69" } , { "\xcf\xe0\xa3" , "\x6c\x4c\x69\x4d" } , { "\xcf\xe1" , "\x6c\x4c\x69\x5b" } , { "\xcf\xe1\xa2" , "\x6c\x4c\x69\x5b\x4c\x69" } , { "\xcf\xe2" , "\x5c\x6c\x4c\x69" } , { "\xcf\xe2\xa2" , "\x5c\x6c\x4c\x69\x4c\x69" } , { "\xcf\xe2\xa3" , "\x5c\x6c\x4c\x69\x4d" } , { "\xcf\xe2\xbd\xe8" , "\x5c\x6c\x4c\x69\xc9\xde" } , { "\xcf\xe4" , "\x4c\x5d" } , { "\xcf\xe4\xa2" , "\x4c\x5d\x4c\x69" } , { "\xcf\xe5" , "\x4c\x5d\x5b" } , { "\xcf\xe5\xa2" , "\x4c\x5d\x5b\x4c\x69" } , { "\xcf\xe5\xa2\xa2" , "\x4c\x5d\x5b\x4c\x69\x69\x4c\x69" } , { "\xcf\xe6" , "\x4c\x5f" } , { "\xcf\xe6\xa2" , "\x4c\x5f\x4c\x69" } , { "\xcf\xe7" , "\x4c\x5d" } , { "\xcf\xe7\xa2" , "\x4c\x5d\x4c\x69" } , { "\xcf\xe8" , "\x4c\x60\x69" } , { "\xcf\xe8\xb3" , "\x4c\x52\x69\xe4" } , { "\xcf\xe8\xb3\xa2" , "\x4c\x52\x69\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xda" , "\x4c\x53\xe4" } , { "\xcf\xe8\xb3\xda\xa2" , "\x4c\x53\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xdb" , "\x4c\x6a\x69\xe4" } , { "\xcf\xe8\xb3\xdb\xa2" , "\x4c\x6a\x69\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xdc" , "\x4c\x6b\x69\xe4" } , { "\xcf\xe8\xb3\xdd" , "\x4c\x52\x69\x56\xe4" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x4c\x52\x69\x56\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xde" , "\x4c\x52\x69\x57\xe4" } , { "\xcf\xe8\xb3\xe0" , "\x6c\x4c\x69\xe4" } , { "\xcf\xe8\xb3\xe0\xa2" , "\x6c\x4c\x69\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xe1" , "\x6c\x4c\x69\x5b\xe4" } , { "\xcf\xe8\xb3\xe1\xa2" , "\x6c\x4c\x69\x5b\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xe4" } , { "\xcf\xe8\xb3\xe4" , "\x4c\x5d\xe4" } , { "\xcf\xe8\xb3\xe4\xa2" , "\x4c\x5d\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xe5" , "\x4c\x5d\x5b\xe4" } , { "\xcf\xe8\xb3\xe5\xa2" , "\x4c\x5d\x5b\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xe6" , "\x4c\x5f\xe4" } , { "\xcf\xe8\xb3\xe6\xa2" , "\x4c\x5f\xe4\x4c\x69" } , { "\xcf\xe8\xb3\xe8" , "\x4c\x60\x69\xe4" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x4c\x52\x69\xe4\x51\xe4" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\x4c\x6a\x69\xe4\x51\xe4" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x4c\x52\x69\x56\xe4\x51\xe4" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x4c\x60\x69\x4e\xe6\x53" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x4c\x60\x69\x5a\x4e\xe6\x50\x5b" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x4c\x60\x69\x4e\xed\x52\x50" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\x4c\x60\x69\x4e\xed\x54\x50" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x4c\x60\x69\x5a\x4e\xed\x50\x5b\x51\x2a" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x4c\x60\x69\x4e\x52\x50\xf2" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x4c\x52\x69\x56\xe4\x51\xf5" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x6c\x4c\x69\xe4\x51\xf6" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x4c\x52\x69\x57\xe4\x51\xf6\xe9\x51\xf9" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x4c\x52\x69\x56\xe4\x51\xf9" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x4c\x52\x69\x57\xe4\x51\xf9" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\x4c\x6a\x69\xe4\x51\xfb" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x4c\x6b\x69\xe4\x51\xfb" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x4c\x52\x69\x57\xe4\x51\xfb\x4c\x69" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xe4\x51\xfb" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x4c\x60\x69\x4e\xfd\x52\x50" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x4c\x60\x69\x4e\xfd\x52\x50\x4c\x69" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x4c\x60\x69\x4e\xfd\x53" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x4c\x60\x69\x4e\xfd\x53\x4c\x69" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x4c\x60\x69\x4e\xfd\x52\x50\x56" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\x4c\x60\x69\x5a\x4e\xfd\x50\x5b" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\x4c\x60\x69\x5a\x4e\xfd\x5e\x50" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\x4c\x60\x69\x4e\xfd\x5d\x5b" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x4c\x52\x69\xe4\x51\x2a\x4c\x69" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\x4c\x6a\x69\xe4\x51\x2a" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x6c\x4c\x69\xe4\x51\x2a" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x4c\x60\x69\x4f\x52\x50\x51" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x4c\x60\x69\x4f\x53\x51" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\x4c\x60\x69\x5a\x4f\x5e\x50\x51" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x4c\x60\x69\x4f\x52\x50\x51\x51\xf9" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x4c\x60\x69\x4f\x5d\x5b\x51\x51\xf9" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x4c\x52\x69\xe4\x51\x3d" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x4c\x53\xe4\x51\x3d" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\x4c\x6a\x69\xe4\x51\x3d" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x4c\x52\x69\x56\xe4\x51\x3d" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x4c\x60\x69\xe4\x51\x3d" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\x4c\x6a\x69\xe4\x51\x3d\x51\xe4" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x4c\x60\x69\x4e\x60\x50\x72\xe6\x79" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x4c\x52\x69\x56\xe4\x51\x3d\x51\xf5" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\x4c\x60\x69\x4e\x60\x50\x78\x71\xfd\x73\x56" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x4c\x52\x69\x56\xe4\x51\x3d\x51\x2a" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x4c\x53\xe4\x51\x3d\x51\x2b" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\x4c\x60\x69\x4e\x60\x50\xa3\x71\x73\x78\x74\xed\x73\x76" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\x4c\x60\x69\x4e\x3e\x54\x50" } , { "\xcf\xe8\xb3\xe9" , "\x4c\x52\x69\xe4" } , { "\xcf\xe8\xb4" , "\x4c\xe5\x52\x69" } , { "\xcf\xe8\xb4\xa2" , "\x4c\xe5\x52\x69\x4c\x69" } , { "\xcf\xe8\xb4\xda" , "\x4c\xe5\x53" } , { "\xcf\xe8\xb4\xdb" , "\x4c\xe5\x6a\x69" } , { "\xcf\xe8\xb4\xdc" , "\x4c\xe5\x6b\x69" } , { "\xcf\xe8\xb4\xdd" , "\x4c\xe5\x52\x69\x56" } , { "\xcf\xe8\xb4\xe2" , "\x6c\x4c\xe5\x5e\x69" } , { "\xcf\xe8\xb4\xe4" , "\x4c\xe5\x5d" } , { "\xcf\xe8\xb4\xe5" , "\x4c\xe5\x5d\x5b" } , { "\xcf\xe8\xb4\xe5\xa2" , "\x4c\xe5\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xb5" , "\x4c\xe6\x52\x69" } , { "\xcf\xe8\xb5\xa2" , "\x4c\xe6\x52\x69\x4c\x69" } , { "\xcf\xe8\xb5\xa3" , "\x4c\xe6\x52\x69\x4d" } , { "\xcf\xe8\xb5\xda" , "\x4c\xe6\x53" } , { "\xcf\xe8\xb5\xda\xa2" , "\x4c\xe6\x53\x4c\x69" } , { "\xcf\xe8\xb5\xda\xa3" , "\x4c\xe6\x53\x4d" } , { "\xcf\xe8\xb5\xdb" , "\x4c\xe6\x6a\x69" } , { "\xcf\xe8\xb5\xdb\xa2" , "\x4c\xe6\x6a\x69\x4c\x69" } , { "\xcf\xe8\xb5\xdc" , "\x4c\xe6\x6b\x69" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x4c\xe6\x6b\x69\x4c\x69" } , { "\xcf\xe8\xb5\xdd" , "\x4c\xe6\x52\x69\x56" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x4c\xe6\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xb5\xde" , "\x4c\xe6\x52\x69\x57" } , { "\xcf\xe8\xb5\xe0" , "\x6c\x4c\xe6\x69" } , { "\xcf\xe8\xb5\xe1" , "\x6c\x4c\xe6\x69\x5b" } , { "\xcf\xe8\xb5\xe2" , "\x6c\x4c\xe6\x5e\x69" } , { "\xcf\xe8\xb5\xe2\xa3" , "\x6c\x4c\xe6\x5e\x69\x4d" } , { "\xcf\xe8\xb5\xe4" , "\x4c\xe6\x5d" } , { "\xcf\xe8\xb5\xe5" , "\x4c\xe6\x5d\x5b" } , { "\xcf\xe8\xb5\xe5\xa2" , "\x4c\xe6\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xb5\xe6\xa2" , "\x4c\xe6\x5f\x4c\x69" } , { "\xcf\xe8\xb5\xe8" , "\x4c\x60\xe6\x69" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\x4c\xe6\x6a\x69\x51\xe4" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x4c\x60\x69\x67\xec\x52\x69" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\x4c\xe6\x6a\x69\x51\xf5" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x4c\xe6\x52\x69\x51\xf8" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x4c\xe6\x52\x69\x51\xf9" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x4c\xe6\x53\x51\xf9" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x4c\xe6\x52\x69\x56\xf9" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x4c\xe6\x52\x69\x57\xf9" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\x4c\xe6\x5d\x5b\x51\xf9" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x4c\xe6\x52\x69\x51\xfb" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x4c\xe6\x52\x69\x51\xfb\x4c\x69" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x4c\xe6\x53\x51\xfb" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x4c\xe6\x6b\x69\x51\xfb" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\x6c\x4c\xe6\x69\x51\xfb" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\x6c\x4c\xe6\x69\x5b\x51\xfb" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x4c\x60\x69\x67\xfd\x52\x69\x56" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\x4c\x60\x69\x67\xfd\x5d\x5b" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x4c\x60\xe6\x69\x51\x3d" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x4c\xe6\x6b\x69" } , { "\xcf\xe8\xb5\xe9\xe1" , "\x6c\x4c\xe6\x69\x5b" } , { "\xcf\xe8\xb6" , "\x4c\xe7\x52\x69" } , { "\xcf\xe8\xb6\xa2" , "\x4c\xe7\x52\x69\x4c\x69" } , { "\xcf\xe8\xb6\xda" , "\x4c\xe7\x53" } , { "\xcf\xe8\xb6\xda\xa2" , "\x4c\xe7\x53\x4c\x69" } , { "\xcf\xe8\xb6\xdb" , "\x4c\xe7\x6a\x69" } , { "\xcf\xe8\xb6\xdc" , "\x4c\xe7\x6b\x69" } , { "\xcf\xe8\xb6\xdd" , "\x4c\xe7\x52\x69\x56" } , { "\xcf\xe8\xb6\xde" , "\x4c\xe7\x52\x69\x57" } , { "\xcf\xe8\xb6\xe5" , "\x4c\xe7\x5d\x5b" } , { "\xcf\xe8\xb6\xe8" , "\x4c\x60\xe7\x69" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x4c\xe7\x52\x69\x51\xf9" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x4c\xe7\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x4c\xe7\x53\x51\xf9" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x6c\x4c\xe7\x5e\x69\x51\xf9" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x4c\xe7\x52\x69\x51\x2a" } , { "\xcf\xe8\xb7" , "\x4c\x60\x69\xc3\xc1" } , { "\xcf\xe8\xb7\xa2" , "\x4c\x60\x69\xc3\xc1\x4c\x69" } , { "\xcf\xe8\xb7\xdd" , "\x4c\x60\x69\xc3\xc1\x56" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x4c\x60\x69\xc3\xe6\xc1" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x4c\x60\x69\xc3\xc1\xf9" } , { "\xcf\xe8\xb8" , "\x4c\x52\x69\xe8" } , { "\xcf\xe8\xb8\xa2" , "\x4c\x52\x69\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xda" , "\x4c\x53\xe8" } , { "\xcf\xe8\xb8\xda\xa2" , "\x4c\x53\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xdb" , "\x4c\x6a\x69\xe8" } , { "\xcf\xe8\xb8\xdb\xa2" , "\x4c\x6a\x69\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xdc" , "\x4c\x6b\x69\xe8" } , { "\xcf\xe8\xb8\xdd" , "\x4c\x52\x69\x56\xe8" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x4c\x52\x69\x56\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xde" , "\x4c\x52\x69\x57\xe8" } , { "\xcf\xe8\xb8\xe0" , "\x6c\x4c\x69\xe8" } , { "\xcf\xe8\xb8\xe0\xa2" , "\x6c\x4c\x69\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xe1" , "\x6c\x4c\x69\x5b\xe8" } , { "\xcf\xe8\xb8\xe1\xa2" , "\x6c\x4c\x69\x5b\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xe8" } , { "\xcf\xe8\xb8\xe4" , "\x4c\x5d\xe8" } , { "\xcf\xe8\xb8\xe4\xa2" , "\x4c\x5d\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xe5" , "\x4c\x5d\x5b\xe8" } , { "\xcf\xe8\xb8\xe5\xa2" , "\x4c\x5d\x5b\xe8\x4c\x69" } , { "\xcf\xe8\xb8\xe6" , "\x4c\x5f\xe8" } , { "\xcf\xe8\xb8\xe8" , "\x4c\x60\x69\xe8" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x4c\x60\x69\xbf\xe6\x79" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x4c\x60\x69\xbf\xe6\x79\xfb" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\x6c\x4c\x69\xe8\x51\xe8" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x4c\x52\x69\xe8\x51\xe8\xe9" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x4c\x53\xe8\x51\xe8\xe9" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\x4c\x6a\x69\xe8\x51\xe8\xe9" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\x4c\x6a\x69\xe8\x51\xf5" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x4c\x52\x69\x56\xe8\x51\xf5\x4c\x69" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x4c\x53\xe8\x51\xf6\xe9" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x4c\x6b\x69\xe8\x51\xf8" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x4c\x60\x69\xbf\xfd\x52\xc1" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\x4c\x60\x69\xc2\xbf\xfd\xc1\x5b" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\x4c\x60\x69\xbf\xfd\x5d\x5b" } , { "\xcf\xe8\xb9" , "\x4c\x52\x69\xe8\xe9" } , { "\xcf\xe8\xb9\xa2" , "\x4c\x52\x69\xe8\xe9\x4c\x69" } , { "\xcf\xe8\xb9\xda" , "\x4c\x53\xe8\xe9" } , { "\xcf\xe8\xb9\xdb" , "\x4c\x6a\x69\xe8\xe9" } , { "\xcf\xe8\xb9\xdb\xa2" , "\x4c\x6a\x69\xe8\xe9\x4c\x69" } , { "\xcf\xe8\xb9\xdc" , "\x4c\x6b\x69\xe8\xe9" } , { "\xcf\xe8\xb9\xdd" , "\x4c\x52\x69\x56\xe8\xe9" } , { "\xcf\xe8\xb9\xe1" , "\x6c\x4c\x69\x5b\xe8\xe9" } , { "\xcf\xe8\xb9\xe1\xa2" , "\x6c\x4c\x69\x5b\xe8\xe9\x4c\x69" } , { "\xcf\xe8\xb9\xe4" , "\x4c\x5d\xe8\xe9" } , { "\xcf\xe8\xb9\xe5\xa2" , "\x4c\x5d\x5b\xe8\xe9\x4c\x69" } , { "\xcf\xe8\xba" , "\x4c\xea\x52\x69" } , { "\xcf\xe8\xba\xa2" , "\x4c\xea\x52\x69\x4c\x69" } , { "\xcf\xe8\xba\xda" , "\x4c\xea\x53" } , { "\xcf\xe8\xba\xda\xa2" , "\x4c\xea\x53\x4c\x69" } , { "\xcf\xe8\xba\xdb" , "\x4c\xea\x6a\x69" } , { "\xcf\xe8\xba\xdb\xa2" , "\x4c\xea\x6a\x69\x4c\x69" } , { "\xcf\xe8\xba\xdc" , "\x4c\xea\x6b\x69" } , { "\xcf\xe8\xba\xdc\xa2" , "\x4c\xea\x6b\x69\x4c\x69" } , { "\xcf\xe8\xba\xdd" , "\x4c\xea\x52\x69\x56" } , { "\xcf\xe8\xba\xdd\xa2" , "\x4c\xea\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xba\xde" , "\x4c\xea\x52\x69\x57" } , { "\xcf\xe8\xba\xe0" , "\x6c\x4c\xea\x69" } , { "\xcf\xe8\xba\xe0\xa2" , "\x6c\x4c\xea\x69\x4c\x69" } , { "\xcf\xe8\xba\xe1" , "\x6c\x4c\xea\x69\x5b" } , { "\xcf\xe8\xba\xe1\xa2" , "\x6c\x4c\xea\x69\x5b\x4c\x69" } , { "\xcf\xe8\xba\xe2" , "\x6c\x4c\xea\x5e\x69" } , { "\xcf\xe8\xba\xe5" , "\x4c\xea\x5d\x5b" } , { "\xcf\xe8\xba\xe5\xa2" , "\x4c\xea\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xba\xe8" , "\x4c\x60\xea\x69" } , { "\xcf\xe8\xba\xe8\xb5" , "\x4c\x60\x69\xc7\xe6\xc1" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x4c\x60\x69\xc7\xe6\xd8" } , { "\xcf\xe8\xba\xe8\xb6" , "\x4c\x60\x69\xc7\xe7\xc1" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x4c\x60\x69\xc7\xec\xd8" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\x4c\x60\x69\xdb\xc7\xec\xc1\x5b" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x4c\x60\x69\xc7\xed\xd8\x4c\x69" } , { "\xcf\xe8\xba\xe8\xbf" , "\x4c\x60\x69\xc7\xef\xc1" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x4c\x60\x69\xc7\xde\xef" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x4c\xea\x53\x51\xf8" } , { "\xcf\xe8\xba\xe8\xcd" , "\x4c\xea\x52\x69\x51\xf9" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x4c\xea\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x4c\xea\x53\x51\xf9" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x4c\xea\x5d\x5b\x51\xf9" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x4c\x60\x69\xc7\xfd\xc1\xd9" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\x4c\x60\x69\xc7\xfd\xdc\x5b" } , { "\xcf\xe8\xba\xe8\xd4" , "\x4c\xea\x52\x69\x51\x2a" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x6c\x4c\xea\x69\x5b\x51\x3d\x51\xe4" } , { "\xcf\xe8\xba\xe9" , "\x4c\xea\x52\x69" } , { "\xcf\xe8\xba\xe9\xda" , "\x4c\xea\x53" } , { "\xcf\xe8\xba\xe9\xdc" , "\x4c\xea\x6b\x69" } , { "\xcf\xe8\xba\xe9\xdd" , "\x4c\xea\x52\x69\x56" } , { "\xcf\xe8\xba\xe9\xe1" , "\x6c\x4c\xea\x69\x5b" } , { "\xcf\xe8\xba\xe9\xe5" , "\x4c\xea\x5d\x5b" } , { "\xcf\xe8\xbb" , "\x4c\xeb\x52\x69" } , { "\xcf\xe8\xbb\xda" , "\x4c\xeb\x53" } , { "\xcf\xe8\xbb\xdb" , "\x4c\xeb\x6a\x69" } , { "\xcf\xe8\xbb\xdd" , "\x4c\xeb\x52\x69\x56" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x4c\x60\x69\x4c\x52\x69\x3e\x26\x56" } , { "\xcf\xe8\xbc\xe1" , "\x6c\x4c\xec\x69\x5b" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x4c\x60\x69\xc4\xe6\xc1" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x4c\x60\x69\xb9\xc4\xef\xc1\x5b" } , { "\xcf\xe8\xbd" , "\x4c\xed\x52\x69" } , { "\xcf\xe8\xbd\xa2" , "\x4c\xed\x52\x69\x4c\x69" } , { "\xcf\xe8\xbd\xda" , "\x4c\xed\x53" } , { "\xcf\xe8\xbd\xdb" , "\x4c\xed\x6a\x69" } , { "\xcf\xe8\xbd\xdb\xa2" , "\x4c\xed\x6a\x69\x4c\x69" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\x4c\xed\x6a\x69\xcd\xde" } , { "\xcf\xe8\xbd\xdc" , "\x4c\xed\x6b\x69" } , { "\xcf\xe8\xbd\xdd" , "\x4c\xed\x52\x69\x56" } , { "\xcf\xe8\xbd\xde" , "\x4c\xed\x52\x69\x57" } , { "\xcf\xe8\xbd\xe0" , "\x6c\x4c\xed\x69" } , { "\xcf\xe8\xbd\xe0\xa2" , "\x6c\x4c\xed\x69\x4c\x69" } , { "\xcf\xe8\xbd\xe1" , "\x6c\x4c\xed\x69\x5b" } , { "\xcf\xe8\xbd\xe1\xa2" , "\x6c\x4c\xed\x69\x5b\x4c\x69" } , { "\xcf\xe8\xbd\xe2" , "\x6c\x4c\xed\x5e\x69" } , { "\xcf\xe8\xbd\xe4" , "\x4c\xed\x5d" } , { "\xcf\xe8\xbd\xe5" , "\x4c\xed\x5d\x5b" } , { "\xcf\xe8\xbd\xe5\xa2" , "\x4c\xed\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xbd\xe8" , "\x4c\x60\xed\x69" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\x4c\xed\x6a\x69\x51\xe4" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x4c\xed\x52\x69\x56\xe4" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x6c\x4c\xed\x69\x5b\x51\xe4" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x4c\x60\x69\xc8\xde\x5a\x4e\xfd\x50" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x4c\x60\x69\xdb\xc9\xe6\xc1\x5b" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x4c\x60\x69\xc9\xe6\xd8\xf9" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x6c\x4c\xed\x69\x5b\x51\xe8" } , { "\xcf\xe8\xbd\xe8\xba" , "\x4c\x60\x69\xc8\xea\xc1" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x4c\x60\x69\xdb\xc9\xea\xc1" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x4c\x60\x69\xdb\xc9\xea\x5e\xc1" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x4c\x60\x69\xc9\xde\xea" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x4c\x60\x69\xc8\xea\xc1\xe4" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x4c\x60\x69\xc8\xde\xc7\xe6\xd8" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x4c\x60\x69\xc8\xde\xc7\xdc\x5b\xf2" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x4c\x60\x69\xc8\xea\xc1\x56\xf5" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x4c\x60\x69\xc8\xde\xc7\xfd\xc1" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\x4c\x60\x69\xdb\xc9\xed\x5e\xc1" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\x4c\x60\x69\xc9\xed\xdc\x5b" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x4c\x60\x69\xc9\xef\xd8" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x4c\x60\x69\xc8\xf4\xf0\xc1" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\x4c\xed\x6a\x69\x51\xf5" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x4c\xed\x6b\x69\x51\xf5" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x4c\xed\x52\x69\x56\xf5\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x4c\xed\x52\x69\x57\xf5" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x4c\xed\x52\x69\x51\xf6" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x4c\xed\x53\x51\xf6" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x6c\x4c\xed\x69\x5b\x51\xf6" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x4c\xed\x53\x51\xf6\xe9" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\x4c\xed\x6a\x69\x51\xf6\xe9" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x6c\x4c\xed\x69\x51\xf6\xe9" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\x6c\x4c\xed\x69\x5b\x51\xf7\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\x6c\x4c\xed\x5e\x69\x51\xf7\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\x4c\xed\x5f\x51\xf7\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\x4c\xed\x6a\x69\x51\xf8" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x4c\xed\x6b\x69\x51\xf8" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\x6c\x4c\xed\x69\x51\xf8\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\x4c\xed\x5f\x51\xf8" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x4c\xed\x52\x69\x56\xf9" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x4c\xed\x52\x69\x57\xf9" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x4c\xed\x52\x69\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x4c\xed\x53\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\x4c\xed\x6a\x69\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x4c\xed\x6b\x69\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\x6c\x4c\xed\x69\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\x6c\x4c\xed\x69\x5b\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\x6c\x4c\xed\x5e\x69\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x4c\x60\xed\x69\x51\xfb" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x4c\x60\x69\xc8\xfd\xc1" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x4c\x60\x69\xc9\xfd\xd8\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x4c\x60\x69\xc8\xfd\xc1\x56" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\x4c\x60\x69\xdb\xc9\xfd\xc1" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\x4c\x60\x69\xc9\xfd\xdc\x5b" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\x4c\x60\x69\xc9\xfd\xdc\x5b\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x4c\x60\x69\xc9\xfd\xd8\xf9\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x4c\xed\x52\x69\x51\x2a" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x6c\x4c\xed\x69\x5b\x51\x2a" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x4c\xed\x52\x69\x51\x3d" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\x4c\xed\x6a\x69\x51\x3d" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x4c\xed\x52\x69\x56\x3d" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x6c\x4c\xed\x69\x51\x3d" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x6c\x4c\xed\x69\x5b\x51\x3d\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x4c\x60\xed\x69\x51\x3d" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x4c\xed\x53\x51\x3d\x51\xe4" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\x4c\x60\x69\xc9\xd3\xc1\x3d\x51\xe4\x51\x2a" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x4c\xed\x52\x69\x51\x3d\x51\xf8" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x4c\x60\x69\xc8\xde\x72\xfd\xa1" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x4c\x60\x69\xc9\x3e\xd8" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x4c\x60\x69\xc9\x3e\xd8\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\x4c\x60\x69\xc9\x3e\xd3\xc1\x4c\x69" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x4c\x60\x69\xc8\x3e\xc1\x57" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x4c\x60\x69\xc9\x3e\xdc\x5b" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x4c\xed\x52\x69\x51\x78\x71\x73" } , { "\xcf\xe8\xbf" , "\x4c\xef\x52\x69" } , { "\xcf\xe8\xbf\xda" , "\x4c\xef\x53" } , { "\xcf\xe8\xbf\xda\xa2" , "\x4c\xef\x53\x4c\x69" } , { "\xcf\xe8\xbf\xdb" , "\x4c\xef\x6a\x69" } , { "\xcf\xe8\xbf\xdb\xa2" , "\x4c\xef\x6a\x69\x4c\x69" } , { "\xcf\xe8\xbf\xdc" , "\x4c\xef\x6b\x69" } , { "\xcf\xe8\xbf\xdd" , "\x4c\xef\x52\x69\x56" } , { "\xcf\xe8\xbf\xde" , "\x4c\xef\x52\x69\x57" } , { "\xcf\xe8\xbf\xe0" , "\x6c\x4c\xef\x69" } , { "\xcf\xe8\xbf\xe0\xa2" , "\x6c\x4c\xef\x69\x4c\x69" } , { "\xcf\xe8\xbf\xe1" , "\x6c\x4c\xef\x69\x5b" } , { "\xcf\xe8\xbf\xe2" , "\x6c\x4c\xef\x5e\x69" } , { "\xcf\xe8\xbf\xe4" , "\x4c\xef\x5d" } , { "\xcf\xe8\xbf\xe5" , "\x4c\xef\x5d\x5b" } , { "\xcf\xe8\xbf\xe5\xa2" , "\x4c\xef\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xbf\xe8" , "\x4c\x60\xef\x69" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x4c\xef\x52\x69\x51\xe4" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\x4c\xef\x6a\x69\x51\xe4" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x4c\xef\x6b\x69\x51\xe4" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x4c\xef\x52\x69\x56\xe4" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x4c\xef\x5d\x5b\x51\xe4" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x4c\x60\x69\xb2\x60\xb6\x5a\x4e\xfd\x5e\x50" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x4c\x60\x69\xb2\xe6\x79" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x4c\x60\x69\xb2\xe6\x55\xb6\xfb" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x6c\x4c\xef\x69\x5b\x51\xe8" } , { "\xcf\xe8\xbf\xe8\xbf" , "\x4c\x60\x69\xb2\xef\x52\xb6" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\x4c\x60\x69\xb2\xef\x54\xb6" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\x4c\xef\x6a\x69\x51\xf5" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x4c\xef\x52\x69\x56\xf5" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\x6c\x4c\xef\x69\x5b\x51\xf5" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x4c\xef\x53\x51\xf7" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\x6c\x4c\xef\x69\x51\xf7" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\x4c\xef\x5d\x5b\x51\xf7" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\x6c\x4c\xef\x5e\x69\x51\xf7\x51\xfb" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\x4c\xef\x6a\x69\x51\xf8\x4c\x69" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\x6c\x4c\xef\x69\x5b\x51\xf8" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x4c\xef\x52\x69\x51\xf9" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x4c\xef\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x4c\xef\x53\x51\xf9\x4c\x69" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x4c\xef\x52\x69\x57\xf9" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\x4c\xef\x5d\x51\xf9" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x4c\xef\x53\x51\xfb" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\x4c\xef\x6a\x69\x51\xfb" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x4c\xef\x52\x69\x56\xfb" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\x6c\x4c\xef\x69\x5b\x51\xfb" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x4c\x60\x69\xb2\xfd\x52\xb6" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x4c\x60\x69\xb2\xfd\x55\xb6" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x4c\x60\x69\xb2\xfd\x52\xb6\x56" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\x4c\x60\x69\xae\xb2\xfd\x5e\xb6" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\x4c\x60\x69\xb2\xfd\x5d\x5b" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x4c\xef\x52\x69\x51\x2a" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x6c\x4c\xef\x69\x51\x2a" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x6c\x4c\xef\x5e\x69\x51\x2a" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x4c\x60\x69\xb2\x3c\x79" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x4c\xef\x52\x69\x51\x3d" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x4c\xef\x52\x69\x56\x3d" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x4c\xef\x5d\x5b\x51\x3d" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x4c\x60\xef\x69\x51\x3d" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x4c\x60\x69\xb2\x60\xb6\x7a\x71\xed\x73" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x4c\x60\x69\xb2\x60\xb6\x7d\x71\xed\x73" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x6c\x4c\xef\x69\x51\x3d\x51\x2a" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x4c\x60\x69\xae\xb2\x3e\xb6\x5b" } , { "\xcf\xe8\xbf\xe9" , "\x4c\xef\x52\x69" } , { "\xcf\xe8\xbf\xe9\xe1" , "\x6c\x4c\xef\x69\x5b" } , { "\xcf\xe8\xbf\xe9\xe5" , "\x4c\xef\x5d\x5b" } , { "\xcf\xe8\xc0" , "\x4c\xef\xf0\x52\x69" } , { "\xcf\xe8\xc0\xda" , "\x4c\xef\xf0\x53" } , { "\xcf\xe8\xc0\xdd" , "\x4c\xef\xf0\x52\x69\x56" } , { "\xcf\xe8\xc0\xe8" , "\x4c\x60\xef\xf0\x69" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x4c\xef\xf0\x52\x69\x51\xf9" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x4c\xef\xf0\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x4c\xef\xf0\x53\x51\xf9" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x4c\xef\xf0\x52\x69\x56\x3d" } , { "\xcf\xe8\xc1" , "\x4c\xf1\x52\x69" } , { "\xcf\xe8\xc1\xa1" , "\x4c\xf1\x52\x69\xb7" } , { "\xcf\xe8\xc1\xa2" , "\x4c\xf1\x52\x69\x4c\x69" } , { "\xcf\xe8\xc1\xa3" , "\x4c\xf1\x52\x69\x4d" } , { "\xcf\xe8\xc1\xda" , "\x4c\xf1\x53" } , { "\xcf\xe8\xc1\xda\xa2" , "\x4c\xf1\x53\x4c\x69" } , { "\xcf\xe8\xc1\xda\xa3" , "\x4c\xf1\x53\x4d" } , { "\xcf\xe8\xc1\xdb" , "\x4c\xf1\x6a\x69" } , { "\xcf\xe8\xc1\xdb\xa2" , "\x4c\xf1\x6a\x69\x4c\x69" } , { "\xcf\xe8\xc1\xdc" , "\x4c\xf1\x6b\x69" } , { "\xcf\xe8\xc1\xdd" , "\x4c\xf1\x52\x69\x56" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x4c\xf1\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xc1\xe0\xa2" , "\x6c\x4c\xf1\x69\x4c\x69" } , { "\xcf\xe8\xc1\xe0\xa3" , "\x6c\x4c\xf1\x69\x4d" } , { "\xcf\xe8\xc1\xe1" , "\x6c\x4c\xf1\x69\x5b" } , { "\xcf\xe8\xc1\xe5" , "\x4c\xf1\x5d\x5b" } , { "\xcf\xe8\xc1\xe5\xa2" , "\x4c\xf1\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x4c\xf1\x52\x69\x56\xe8" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x4c\xf1\x52\x69\x51\xf9" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x4c\xf1\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x4c\xf1\x53\x51\xf9" } , { "\xcf\xe8\xc2" , "\x4c\x52\x69\xf2" } , { "\xcf\xe8\xc2\xa2" , "\x4c\x52\x69\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xda" , "\x4c\x53\xf2" } , { "\xcf\xe8\xc2\xda\xa2" , "\x4c\x53\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xdb" , "\x4c\x6a\x69\xf2" } , { "\xcf\xe8\xc2\xdb\xa2" , "\x4c\x6a\x69\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xdb\xa3" , "\x4c\x6a\x69\xf2\x4d" } , { "\xcf\xe8\xc2\xdc" , "\x4c\x6b\x69\xf2" } , { "\xcf\xe8\xc2\xdd" , "\x4c\x52\x69\x56\xf2" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x4c\x52\x69\x56\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xde" , "\x4c\x52\x69\x57\xf2" } , { "\xcf\xe8\xc2\xde\xa2" , "\x4c\x52\x69\x57\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xdf" , "\x4c\x52\x69\xf2\x51\x58" } , { "\xcf\xe8\xc2\xe0" , "\x6c\x4c\x69\xf2" } , { "\xcf\xe8\xc2\xe1" , "\x6c\x4c\x69\x5b\xf2" } , { "\xcf\xe8\xc2\xe1\xa2" , "\x6c\x4c\x69\x5b\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xe2" , "\x6c\x4c\x5e\x69\x51\x51\xf2" } , { "\xcf\xe8\xc2\xe4" , "\x4c\x5d\xf2" } , { "\xcf\xe8\xc2\xe5" , "\x4c\x5d\x5b\xf2" } , { "\xcf\xe8\xc2\xe5\xa2" , "\x4c\x5d\x5b\xf2\x4c\x69" } , { "\xcf\xe8\xc2\xe6" , "\x4c\x5f\xf2" } , { "\xcf\xe8\xc2\xe8" , "\x4c\x60\x69\xf2" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\x4c\x5d\x5b\xf2\x51\xe4" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x4c\x60\x69\xbe\xbb\xef\xbd\x5b" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x4c\x60\x69\xbb\x52\xbd\xf2" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x4c\x60\x69\xbb\x79\xf2" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\x4c\x60\x69\xbc\xbd\xf2" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x4c\x60\x69\xbc\x64\xbd\xf2" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\x4c\x60\x69\xbe\xbb\xbd\x5b\xf2" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\x4c\x60\x69\xbb\x5d\x5b\xf2" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x4c\x60\x69\xbb\x52\xbd\xf2\x51\x2a" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x4c\x60\x69\xbe\xbb\xf3\xbd\x5b" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x4c\x52\x69\xf2\x51\xf8" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x4c\x52\x69\xf2\x51\xf9" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x4c\x52\x69\xf2\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x4c\x53\xf2\x51\xf9" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x4c\x52\x69\x56\xf2\x51\xf9" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\x4c\x5d\x5b\xf2\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x4c\x52\x69\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x4c\x52\x69\xf2\x51\xfb\x4c\x69" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\x4c\x6a\x69\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x4c\x6b\x69\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\x6c\x4c\x69\x5b\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\x6c\x4c\x5e\x69\x51\x51\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\x4c\x5d\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\x4c\x5d\x5b\xf2\x51\xfb" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\x4c\x60\x69\xbe\xbb\xfd\xbd\x5b" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x4c\x52\x69\xf2\x51\x2a" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\x4c\x6a\x69\xf2\x51\x2a" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x6c\x4c\x5e\x69\x51\x51\xf2\x51\x2a" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x4c\x52\x69\xf2\x51\x3d" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\x4c\x5f\xf2\x51\x3d" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x4c\x60\x69\xf2\x51\x3d" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\x4c\x60\x69\xbb\x52\xbd\x3d\x51\xf5\x51\x51\xf9" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x4c\x52\x69\xf2\x51\x3d\x51\xf9" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x4c\x52\x69\xf2\x51\x3d\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc3" , "\x4c\xf3\x52\x69" } , { "\xcf\xe8\xc3\xa1" , "\x4c\xf3\x52\x69\xb7" } , { "\xcf\xe8\xc3\xa2" , "\x4c\xf3\x52\x69\x4c\x69" } , { "\xcf\xe8\xc3\xa3" , "\x4c\xf3\x52\x69\x4d" } , { "\xcf\xe8\xc3\xda" , "\x4c\xf3\x53" } , { "\xcf\xe8\xc3\xda\xa2" , "\x4c\xf3\x53\x4c\x69" } , { "\xcf\xe8\xc3\xdb" , "\x4c\xf3\x6a\x69" } , { "\xcf\xe8\xc3\xdb\xa2" , "\x4c\xf3\x6a\x69\x4c\x69" } , { "\xcf\xe8\xc3\xdc" , "\x4c\xf3\x6b\x69" } , { "\xcf\xe8\xc3\xdd" , "\x4c\xf3\x52\x69\x56" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x4c\xf3\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xc3\xde" , "\x4c\xf3\x52\x69\x57" } , { "\xcf\xe8\xc3\xe1" , "\x6c\x4c\xf3\x69\x5b" } , { "\xcf\xe8\xc3\xe2" , "\x6c\x4c\xf3\x5e\x69" } , { "\xcf\xe8\xc3\xe5" , "\x4c\xf3\x5d\x5b" } , { "\xcf\xe8\xc3\xe5\xa2" , "\x4c\xf3\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xc3\xe6" , "\x4c\xf3\x5f" } , { "\xcf\xe8\xc3\xe8" , "\x4c\x60\xf3\x69" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x6c\x4c\xf3\x69\x5b\x51\xe8" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x4c\xf3\x53\x51\xf7\xe9" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x4c\xf3\x52\x69\x51\xf9" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x4c\xf3\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x4c\xf3\x53\x51\xf9" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x4c\xf3\x52\x69\x56\xf9" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x4c\xf3\x5d\x5b\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x4c\xf3\x5f\x51\xf9" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x4c\xf3\x52\x69\x51\xfb" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x4c\xf3\x53\x51\xfb" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\x4c\xf3\x5d\x5b\x51\xfb" } , { "\xcf\xe8\xc3\xe8\xd4" , "\x4c\xf3\x52\x69\x51\x2a" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\x4c\xf3\x53\x51\x2a" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x4c\x60\x69\xb4\x60\xb6\x7d\x71\xed\x73" } , { "\xcf\xe8\xc4" , "\x4c\xf4\x52\x69" } , { "\xcf\xe8\xc4\xa2" , "\x4c\xf4\x52\x69\x4c\x69" } , { "\xcf\xe8\xc4\xa3" , "\x4c\xf4\x52\x69\x4d" } , { "\xcf\xe8\xc4\xda" , "\x4c\xf4\x53" } , { "\xcf\xe8\xc4\xda\xa2" , "\x4c\xf4\x53\x4c\x69" } , { "\xcf\xe8\xc4\xdb" , "\x4c\xf4\x6a\x69" } , { "\xcf\xe8\xc4\xdb\xa2" , "\x4c\xf4\x6a\x69\x4c\x69" } , { "\xcf\xe8\xc4\xdc" , "\x4c\xf4\x6b\x69" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x4c\xf4\x6b\x69\x4c\x69" } , { "\xcf\xe8\xc4\xdd" , "\x4c\xf4\x52\x69\x56" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x4c\xf4\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xc4\xde" , "\x4c\xf4\x52\x69\x57" } , { "\xcf\xe8\xc4\xdf" , "\x4c\xf4\x52\x69\x51\x58" } , { "\xcf\xe8\xc4\xe0" , "\x6c\x4c\xf4\x69" } , { "\xcf\xe8\xc4\xe1" , "\x6c\x4c\xf4\x69\x5b" } , { "\xcf\xe8\xc4\xe1\xa2" , "\x6c\x4c\xf4\x69\x5b\x4c\x69" } , { "\xcf\xe8\xc4\xe2" , "\x6c\x4c\xf4\x5e\x69" } , { "\xcf\xe8\xc4\xe4" , "\x4c\xf4\x5d" } , { "\xcf\xe8\xc4\xe5" , "\x4c\xf4\x5d\x5b" } , { "\xcf\xe8\xc4\xe5\xa2" , "\x4c\xf4\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x4c\x60\x69\xb5\xf4\x52\xb6" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x4c\x60\x69\xb5\xf4\x79\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x4c\x60\x69\xb5\xf4\xf0\x52\xb6" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x4c\x60\x69\xb5\xf4\xf0\x79" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x4c\x60\x69\xb5\xf4\xf0\x79\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\x4c\x60\x69\xb5\xf4\xf0\x6a\xb6" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\x4c\x60\x69\xb5\xf4\xf0\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\x6c\x4c\xf4\x69\x5b\x51\xf8" } , { "\xcf\xe8\xc4\xe8\xcd" , "\x4c\xf4\x52\x69\x51\xf9" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\x4c\xf4\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\x4c\xf4\x53\x51\xf9" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x4c\xf4\x52\x69\x51\xfb" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x4c\xf4\x52\x69\x51\xfb\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x4c\xf4\x53\x51\xfb" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x4c\xf4\x6b\x69\x51\xfb" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\x4c\xf4\x5d\x5b\x51\xfb" } , { "\xcf\xe8\xc4\xe8\xd4" , "\x4c\xf4\x52\x69\x51\x2a" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\x4c\xf4\x52\x69\x51\x2a\x4c\x69" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\x4c\xf4\x53\x51\x2a" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\x4c\x60\x69\xb5\x60\xb6\x7a\x74\xed\x73\x51" } , { "\xcf\xe8\xc5" , "\x4c\xf4\xf0\x52\x69" } , { "\xcf\xe8\xc5\xa2" , "\x4c\xf4\xf0\x52\x69\x4c\x69" } , { "\xcf\xe8\xc5\xda" , "\x4c\xf4\xf0\x53" } , { "\xcf\xe8\xc5\xda\xa2" , "\x4c\xf4\xf0\x53\x4c\x69" } , { "\xcf\xe8\xc5\xdb" , "\x4c\xf4\xf0\x6a\x69" } , { "\xcf\xe8\xc5\xdb\xa2" , "\x4c\xf4\xf0\x6a\x69\x4c\x69" } , { "\xcf\xe8\xc5\xdc" , "\x4c\xf4\xf0\x6b\x69" } , { "\xcf\xe8\xc5\xdd" , "\x4c\xf4\xf0\x52\x69\x56" } , { "\xcf\xe8\xc5\xde" , "\x4c\xf4\xf0\x52\x69\x57" } , { "\xcf\xe8\xc5\xdf" , "\x4c\xf4\xf0\x52\x69\x51\x58" } , { "\xcf\xe8\xc5\xe0" , "\x6c\x4c\xf4\xf0\x69" } , { "\xcf\xe8\xc5\xe1" , "\x6c\x4c\xf4\xf0\x69\x5b" } , { "\xcf\xe8\xc5\xe5" , "\x4c\xf4\xf0\x5d\x5b" } , { "\xcf\xe8\xc5\xe5\xa2" , "\x4c\xf4\xf0\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xc5\xe8" , "\x4c\x60\xf4\xf0\x69" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x4c\x60\x69\xb5\xb3\xf4\x52\xb6" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x4c\x60\x69\xb5\xb3\xf4\x79" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x4c\x60\x69\xb5\xb3\xf4\x79\x4c\x69" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\x4c\xf4\xf0\x6a\x69\x51\xf5" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\x6c\x4c\xf4\xf0\x69\x5b\x51\xf8" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x4c\xf4\xf0\x52\x69\x51\xf9" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x4c\xf4\xf0\x52\x69\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x4c\xf4\xf0\x53\x51\xf9" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x4c\xf4\xf0\x5d\x5b\x51\xf9\x4c\x69" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x4c\xf4\xf0\x52\x69\x51\xfb" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x4c\xf4\xf0\x53\x51\xfb" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x6c\x4c\xf4\xf0\x69\x5b\x51\xfb\x51\xf9" } , { "\xcf\xe8\xc5\xe8\xd4" , "\x4c\xf4\xf0\x52\x69\x51\x2a" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\x4c\xf4\xf0\x52\x69\x51\x2a\x4c\x69" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\x4c\xf4\xf0\x53\x51\x2a" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\x4c\xf4\xf0\x53\x51\x2a\x4c\x69" } , { "\xcf\xe8\xc6" , "\x4c\x52\x69\xf5" } , { "\xcf\xe8\xc6\xa2" , "\x4c\x52\x69\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xda" , "\x4c\x53\xf5" } , { "\xcf\xe8\xc6\xda\xa2" , "\x4c\x53\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xdb" , "\x4c\x6a\x69\xf5" } , { "\xcf\xe8\xc6\xdb\xa2" , "\x4c\x6a\x69\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xdc" , "\x4c\x6b\x69\xf5" } , { "\xcf\xe8\xc6\xdd" , "\x4c\x52\x69\x56\xf5" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x4c\x52\x69\x56\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xde" , "\x4c\x52\x69\x57\xf5" } , { "\xcf\xe8\xc6\xdf" , "\x4c\x52\x69\xf5\x51\x51\x58" } , { "\xcf\xe8\xc6\xe0" , "\x6c\x4c\x69\xf5" } , { "\xcf\xe8\xc6\xe0\xa2" , "\x6c\x4c\x69\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xe1" , "\x6c\x4c\x69\x5b\xf5" } , { "\xcf\xe8\xc6\xe1\xa2" , "\x6c\x4c\x69\x5b\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xf5" } , { "\xcf\xe8\xc6\xe4" , "\x4c\x5d\xf5" } , { "\xcf\xe8\xc6\xe5" , "\x4c\x5d\x5b\xf5" } , { "\xcf\xe8\xc6\xe5\xa2" , "\x4c\x5d\x5b\xf5\x4c\x69" } , { "\xcf\xe8\xc6\xe8" , "\x4c\x60\x69\xf5" } , { "\xcf\xe8\xc6\xe8\xbf" , "\x4c\x60\x69\xa9\xef\xab\x73" } , { "\xcf\xe8\xc6\xe8\xc2" , "\x4c\x60\x69\xa9\xab\x73\xf2" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\x4c\x60\x69\xae\xa9\xf4\x73\x5b" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x4c\x52\x69\x57\xf5\x51\x51\xf5" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\x4c\x52\x69\x57\xf5\x51\x51\xf6" } , { "\xcf\xe8\xc6\xe8\xca" , "\x4c\x52\x69\xf5\x51\x51\xf7" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\x6c\x4c\x69\xf5\x51\x51\xf7" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\x4c\x60\x69\xa9\xb1\x73\xdb\xcb\xfd\xc1\x4c\x69" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x4c\x53\xf5\x51\x51\xf8" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\x6c\x4c\x69\xf5\x51\x51\xf8\x4c\x69" } , { "\xcf\xe8\xc6\xe8\xd1" , "\x4c\x60\x69\xa9\xfd\xab\x73" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\x4c\x60\x69\xa9\xfd\xab\x73\x56" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\x4c\x60\x69\xae\xa9\xfd\x73\x5b" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\x4c\x60\x69\xa9\xfd\xaf\x5b" } , { "\xcf\xe8\xc6\xe8\xd4" , "\x4c\x52\x69\xf5\x51\x51\x2a" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\x4c\x53\xf5\x51\x51\x2a" } , { "\xcf\xe8\xc6\xe8\xd7" , "\x4c\x52\x69\xf5\x51\x51\x3d" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\x4c\x60\x69\xf5\x51\x51\x3d" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\x4c\x52\x69\xf5\x51\x51\x3d\x51\xe4" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x4c\x60\x69\xa9\xb1\x73\x72\xed\x79" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x4c\x60\x69\xa9\xb1\x73\x7d\x71\xed\x73" } , { "\xcf\xe8\xc6\xe8\xd8" , "\x4c\x60\x69\xa9\x3e\xab\x73" } , { "\xcf\xe8\xc8" , "\x4c\x52\x69\xf6" } , { "\xcf\xe8\xc8\xa2" , "\x4c\x52\x69\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xda" , "\x4c\x53\xf6" } , { "\xcf\xe8\xc8\xda\xa2" , "\x4c\x53\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xdb" , "\x4c\x6a\x69\xf6" } , { "\xcf\xe8\xc8\xdb\xa2" , "\x4c\x6a\x69\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xdc" , "\x4c\x6b\x69\xf6" } , { "\xcf\xe8\xc8\xdd" , "\x4c\x52\x69\x56\xf6" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x4c\x52\x69\x56\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xde" , "\x4c\x52\x69\x57\xf6" } , { "\xcf\xe8\xc8\xe0" , "\x6c\x4c\x69\xf6" } , { "\xcf\xe8\xc8\xe0\xa2" , "\x6c\x4c\x69\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xe1" , "\x6c\x4c\x69\x5b\xf6" } , { "\xcf\xe8\xc8\xe1\xa2" , "\x6c\x4c\x69\x5b\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xf6" } , { "\xcf\xe8\xc8\xe4" , "\x4c\x5d\xf6" } , { "\xcf\xe8\xc8\xe4\xa2" , "\x4c\x5d\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xe5" , "\x4c\x5d\x5b\xf6" } , { "\xcf\xe8\xc8\xe5\xa2" , "\x4c\x5d\x5b\xf6\x4c\x69" } , { "\xcf\xe8\xc8\xe8" , "\x4c\x60\x69\xf6" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\x4c\x60\x69\x46\xe6\x79" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\x4c\x60\x69\x46\xa1\xf2" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x4c\x52\x69\x56\xf6\x51\xf5" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\x4c\x53\xf6\x51\xf9" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\x4c\x52\x69\x57\xf6\x51\xf9" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x4c\x52\x69\xf6\x51\xfb" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x4c\x53\xf6\x51\xfb" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\x4c\x6a\x69\xf6\x51\xfb\x4c\x69" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\x6c\x4c\x69\xf6\x51\xfb" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\x6c\x4c\x69\xf6\x51\xfb\x4c\x69" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xf6\x51\xfb" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x4c\x60\x69\x78\x6d\xfd\x73" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x4c\x60\x69\x46\xfd\x79" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x4c\x60\x69\x46\xfd\x79\x4c\x69" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x4c\x60\x69\x78\x6d\xfd\x73\x6f" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\x4c\x60\x69\x7d\x6d\xfd\x73" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\x4c\x60\x69\x46\xfd\xa1" } , { "\xcf\xe8\xc9" , "\x4c\x52\x69\xf6\xe9" } , { "\xcf\xe8\xc9\xda" , "\x4c\x53\xf6\xe9" } , { "\xcf\xe8\xc9\xdb" , "\x4c\x6a\x69\xf6\xe9" } , { "\xcf\xe8\xc9\xdc" , "\x4c\x6b\x69\xf6\xe9" } , { "\xcf\xe8\xc9\xdd" , "\x4c\x52\x69\x56\xf6\xe9" } , { "\xcf\xe8\xc9\xe0" , "\x6c\x4c\x69\xf6\xe9" } , { "\xcf\xe8\xc9\xe1" , "\x6c\x4c\x69\x5b\xf6\xe9" } , { "\xcf\xe8\xc9\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xf6\xe9" } , { "\xcf\xe8\xc9\xe5" , "\x4c\x5d\x5b\xf6\xe9" } , { "\xcf\xe8\xc9\xe5\xa2" , "\x4c\x5d\x5b\xf6\xe9\x4c\x69" } , { "\xcf\xe8\xc9\xe8" , "\x4c\x60\x69\xf6\xe9" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x4c\x52\x69\x57\xf6\xe9\x51\xe4" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x4c\x60\x69\x78\x6d\x6e\xef\x73" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x4c\x52\x69\x57\xf6\xe9\x51\xf9" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x4c\x60\x69\x46\x6e\xfd\x79" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x4c\x60\x69\x78\x6d\x6e\xfd\x73\x51\x70" } , { "\xcf\xe8\xc9\xe8\xd4" , "\x4c\x52\x69\xf6\xe9\x51\x2a" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\x6c\x4c\x69\xf6\xe9\x51\x2a" } , { "\xcf\xe8\xc9\xe9" , "\x4c\x52\x69\xf6\xe9" } , { "\xcf\xe8\xc9\xe9\xdc" , "\x4c\x6b\x69\xf6\xe9" } , { "\xcf\xe8\xca" , "\x4c\x52\x69\xf7" } , { "\xcf\xe8\xca\xa2" , "\x4c\x52\x69\xf7\x4c\x69" } , { "\xcf\xe8\xca\xda" , "\x4c\x53\xf7" } , { "\xcf\xe8\xca\xdb" , "\x4c\x6a\x69\xf7" } , { "\xcf\xe8\xca\xdb\xa2" , "\x4c\x6a\x69\xf7\x4c\x69" } , { "\xcf\xe8\xca\xdc" , "\x4c\x6b\x69\xf7" } , { "\xcf\xe8\xca\xdd" , "\x4c\x52\x69\x56\xf7" } , { "\xcf\xe8\xca\xde" , "\x4c\x52\x69\x57\xf7" } , { "\xcf\xe8\xca\xe0" , "\x6c\x4c\x69\xf7" } , { "\xcf\xe8\xca\xe0\xa2" , "\x6c\x4c\x69\xf7\x4c\x69" } , { "\xcf\xe8\xca\xe1" , "\x6c\x4c\x69\x5b\xf7" } , { "\xcf\xe8\xca\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xf7" } , { "\xcf\xe8\xca\xe4" , "\x4c\x5d\xf7" } , { "\xcf\xe8\xca\xe5" , "\x4c\x5d\x5b\xf7" } , { "\xcf\xe8\xca\xe5\xa2" , "\x4c\x5d\x5b\xf7\x4c\x69" } , { "\xcf\xe8\xca\xe6" , "\x4c\x5f\xf7" } , { "\xcf\xe8\xca\xe8" , "\x4c\x60\x69\xf7" } , { "\xcf\xe8\xca\xe8\xbf" , "\x4c\x60\x69\xca\xef\xc1" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\x4c\x60\x69\xd5\xf3\xc1" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\x4c\x60\x69\xca\xde\xa9\xfd\xab\x73\x56" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\x4c\x53\xf7\x51\xf9" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\x4c\x52\x69\x56\xf7\x51\xf9" } , { "\xcf\xe8\xca\xe8\xcf" , "\x4c\x52\x69\xf7\x51\xfb" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\x4c\x53\xf7\x51\xfb" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\x4c\x5d\x5b\xf7\x51\xfb" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\x4c\x60\x69\xcb\xde\xfd" } , { "\xcf\xe8\xca\xe8\xd7" , "\x4c\x52\x69\xf7\x51\x3d" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\x4c\x60\x69\xf7\x51\x3d" } , { "\xcf\xe8\xcb" , "\x4c\x52\x69\xf7\xe9" } , { "\xcf\xe8\xcb\xa2" , "\x4c\x52\x69\xf7\xe9\x4c\x69" } , { "\xcf\xe8\xcb\xa3" , "\x4c\x52\x69\xf7\xe9\x4d" } , { "\xcf\xe8\xcb\xda" , "\x4c\x53\xf7\xe9" } , { "\xcf\xe8\xcb\xda\xa2" , "\x4c\x53\xf7\xe9\x4c\x69" } , { "\xcf\xe8\xcb\xdb" , "\x4c\x6a\x69\xf7\xe9" } , { "\xcf\xe8\xcb\xdb\xa2" , "\x4c\x6a\x69\xf7\xe9\x4c\x69" } , { "\xcf\xe8\xcb\xdc" , "\x4c\x6b\x69\xf7\xe9" } , { "\xcf\xe8\xcb\xdd" , "\x4c\x52\x69\x56\xf7\xe9" } , { "\xcf\xe8\xcb\xde" , "\x4c\x52\x69\x57\xf7\xe9" } , { "\xcf\xe8\xcb\xde\xa3" , "\x4c\x52\x69\x57\xf7\xe9\x4d" } , { "\xcf\xe8\xcb\xe1" , "\x6c\x4c\x69\x5b\xf7\xe9" } , { "\xcf\xe8\xcb\xe5" , "\x4c\x5d\x5b\xf7\xe9" } , { "\xcf\xe8\xcb\xe5\xa2" , "\x4c\x5d\x5b\xf7\xe9\x4c\x69" } , { "\xcf\xe8\xcb\xe6" , "\x4c\x5f\xf7\xe9" } , { "\xcf\xe8\xcb\xe8\xcf" , "\x4c\x52\x69\xf7\xe9\x51\xfb" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\x4c\x53\xf7\xe9\x51\xfb" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\x4c\x60\x69\xf7\xe9\x51\x3d" } , { "\xcf\xe8\xcc" , "\x4c\x52\x69\xf8" } , { "\xcf\xe8\xcc\xa2" , "\x4c\x52\x69\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xa3" , "\x4c\x52\x69\xf8\x4d" } , { "\xcf\xe8\xcc\xda" , "\x4c\x53\xf8" } , { "\xcf\xe8\xcc\xda\xa1" , "\x4c\x53\xf8\xb7" } , { "\xcf\xe8\xcc\xda\xa2" , "\x4c\x53\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xdb" , "\x4c\x6a\x69\xf8" } , { "\xcf\xe8\xcc\xdb\xa2" , "\x4c\x6a\x69\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\x4c\x6a\x69\xf8\x4c\x69\x69\x4c\x69" } , { "\xcf\xe8\xcc\xdc" , "\x4c\x6b\x69\xf8" } , { "\xcf\xe8\xcc\xdc\xa2" , "\x4c\x6b\x69\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xdd" , "\x4c\x52\x69\x56\xf8" } , { "\xcf\xe8\xcc\xdd\xa2" , "\x4c\x52\x69\x56\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xde" , "\x4c\x52\x69\x57\xf8" } , { "\xcf\xe8\xcc\xe0" , "\x6c\x4c\x69\xf8" } , { "\xcf\xe8\xcc\xe0\xa2" , "\x6c\x4c\x69\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xe1" , "\x6c\x4c\x69\x5b\xf8" } , { "\xcf\xe8\xcc\xe1\xa2" , "\x6c\x4c\x69\x5b\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xf8" } , { "\xcf\xe8\xcc\xe4" , "\x4c\x5d\xf8" } , { "\xcf\xe8\xcc\xe5" , "\x4c\x5d\x5b\xf8" } , { "\xcf\xe8\xcc\xe5\xa2" , "\x4c\x5d\x5b\xf8\x4c\x69" } , { "\xcf\xe8\xcc\xe8" , "\x4c\x60\x69\xf8" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\x4c\x52\x69\x56\xf8\x51\xe4" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\x4c\x60\x69\xaa\xab\x73\xe6\x56\x56\xfb" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\x6c\x4c\x69\x5b\xf8\x51\xe8" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\x4c\x5d\xf8\x51\xe8" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\x4c\x60\x69\xad\x73\xed\x56" } , { "\xcf\xe8\xcc\xe8\xbf" , "\x4c\x60\x69\xaa\xab\x73\xef\x56" } , { "\xcf\xe8\xcc\xe8\xc2" , "\x4c\x60\x69\xaa\xab\x73\x56\xf2" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\x4c\x60\x69\xae\xaa\x73\x57\xf2" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\x4c\x52\x69\xf8\x51\xf5\x4c\x69" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\x4c\x53\xf8\x51\xf5" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\x4c\x52\x69\x56\xf8\x51\xf5" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\x4c\x52\x69\x56\xf8\x51\xf5\x4c\x69" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\x4c\x53\xf8\x51\xf6\xe9" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\x4c\x6b\x69\xf8\x51\xf6\xe9" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\x4c\x53\xf8\x51\xf7\xe9" } , { "\xcf\xe8\xcc\xe8\xcc" , "\x4c\x52\x69\xf8\x51\xf8" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\x4c\x53\xf8\x51\xf8" } , { "\xcf\xe8\xcc\xe8\xcd" , "\x4c\x52\x69\xf8\x51\xf9" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\x4c\x52\x69\xf8\x51\xf9\x4c\x69" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\x4c\x53\xf8\x51\xf9" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\x4c\x52\x69\x56\xf8\x51\xf9" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\x4c\x5d\xf8\x51\xf9" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\x4c\x5d\x5b\xf8\x51\xfb" } , { "\xcf\xe8\xcc\xe8\xd1" , "\x4c\x60\x69\xaa\xab\x73\xfd\x56" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\x4c\x60\x69\xaa\xab\x73\xfd\x56\x56" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\x4c\x60\x69\xae\xaa\x73\xfd\x57" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\x4c\x52\x69\x56\xf8\x51\x3d" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\x4c\x60\x69\xf8\x51\x3d" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x4c\x60\x69\xaa\xb1\x73\x56\x72\xed\x79\xfb\x4c\x69" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\x4c\x60\x69\xaa\xb1\x73\x56\x72\xa1\xf2" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\x4c\x6a\x69\xf8\x51\x3d\x51\xf5" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\x4c\x6a\x69\xf8\x51\x3d\x51\xf6" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\x4c\x53\xf8\x51\x3d\x51\xf8" } , { "\xcf\xe8\xcd" , "\x4c\x52\x69\xf9" } , { "\xcf\xe8\xcd\xa2" , "\x4c\x52\x69\xf9\x4c\x69" } , { "\xcf\xe8\xcd\xa3" , "\x4c\x52\x69\xf9\x4d" } , { "\xcf\xe8\xcd\xda" , "\x4c\x53\xf9" } , { "\xcf\xe8\xcd\xda\xa2" , "\x4c\x53\xf9\x4c\x69" } , { "\xcf\xe8\xcd\xdb" , "\x4c\x6a\x69\xf9" } , { "\xcf\xe8\xcd\xdc" , "\x4c\x6b\x69\xf9" } , { "\xcf\xe8\xcd\xdd" , "\x4c\x52\x69\x56\xf9" } , { "\xcf\xe8\xcd\xdd\xa2" , "\x4c\x52\x69\x56\xf9\x4c\x69" } , { "\xcf\xe8\xcd\xde" , "\x4c\x52\x69\x57\xf9" } , { "\xcf\xe8\xcd\xe1" , "\x6c\x4c\x69\x5b\xf9" } , { "\xcf\xe8\xcd\xe4" , "\x4c\x5d\xf9" } , { "\xcf\xe8\xcd\xe5" , "\x4c\x5d\x5b\xf9" } , { "\xcf\xe8\xcd\xe5\xa2" , "\x4c\x5d\x5b\xf9\x4c\x69" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\x4c\x52\x69\x57\xf9\x51\xe4" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\x4c\x60\x69\xb8\x52\xb6\xf3\x56\x4c\x69" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\x4c\x60\x69\xb8\x52\xb6\xf3\x57" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\x4c\x60\x69\xb8\x52\xb6\xf4\x56\x4c\x69" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\x4c\x60\x69\xb8\x52\xb6\xf4\x57" } , { "\xcf\xe8\xcd\xe8\xc5" , "\x4c\x60\x69\xb8\x52\xb6\xf4\xf0\x56" } , { "\xcf\xe8\xcd\xe8\xcd" , "\x4c\x52\x69\xf9\x51\xf9" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\x4c\x53\xf9\x51\xf9" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\x4c\x52\x69\x57\xf9\x51\xf9" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\x4c\x52\x69\xf9\x51\xfb\x51\xf9" } , { "\xcf\xe8\xcd\xe8\xd4" , "\x4c\x52\x69\xf9\x51\x2a" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\x4c\x53\xf9\x51\x2a" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\x4c\x52\x69\x56\xf9\x51\x2a" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\x4c\x52\x69\x57\xf9\x51\x2a" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\x4c\x60\x69\x4c\x69\x3c\x56\x56\x4c\x69" } , { "\xcf\xe8\xcf" , "\xfa\x4c\x52\x69" } , { "\xcf\xe8\xcf\xa2" , "\xfa\x4c\x52\x69\x4c\x69" } , { "\xcf\xe8\xcf\xda" , "\xfa\x4c\x53" } , { "\xcf\xe8\xcf\xda\xa2" , "\xfa\x4c\x53\x4c\x69" } , { "\xcf\xe8\xcf\xdb" , "\xfa\x4c\x6a\x69" } , { "\xcf\xe8\xcf\xdb\xa2" , "\xfa\x4c\x6a\x69\x4c\x69" } , { "\xcf\xe8\xcf\xdc" , "\xfa\x4c\x6b\x69" } , { "\xcf\xe8\xcf\xdd" , "\xfa\x4c\x52\x69\x56" } , { "\xcf\xe8\xcf\xdd\xa2" , "\xfa\x4c\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xcf\xde" , "\xfa\x4c\x52\x69\x57" } , { "\xcf\xe8\xcf\xe0" , "\xfa\x6c\x4c\x69" } , { "\xcf\xe8\xcf\xe0\xa2" , "\xfa\x6c\x4c\x69\x4c\x69" } , { "\xcf\xe8\xcf\xe1" , "\xfa\x6c\x4c\x69\x5b" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xfa\x6c\x4c\x69\x5b\x4c\x69" } , { "\xcf\xe8\xcf\xe2" , "\x5c\x6c\x4c\x69\x51\x51\xfb" } , { "\xcf\xe8\xcf\xe4" , "\xfa\x4c\x5d" } , { "\xcf\xe8\xcf\xe5" , "\xfa\x4c\x5d\x5b" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xfa\x4c\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\x4c\x52\x69\x56\xfb\x51\xe8" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\x4c\x60\x69\x4c\x60\xed\x69" } , { "\xcf\xe8\xcf\xe8\xcc" , "\x4c\x52\x69\xfb\x51\xf8" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\x4c\x52\x69\xfb\x51\xfb\x4c\x69" } , { "\xcf\xe8\xcf\xe8\xd8" , "\x4c\x60\x69\x4c\x3e\x52\x69" } , { "\xcf\xe8\xd0" , "\x4c\xfc\x52\x69" } , { "\xcf\xe8\xd0\xda" , "\x4c\xfc\x53" } , { "\xcf\xe8\xd0\xdb" , "\x4c\xfc\x6a\x69" } , { "\xcf\xe8\xd0\xe1\xa2" , "\x6c\x4c\xfc\x69\x5b\x4c\x69" } , { "\xcf\xe8\xd1" , "\x4c\xfd\x52\x69" } , { "\xcf\xe8\xd1\xa2" , "\x4c\xfd\x52\x69\x4c\x69" } , { "\xcf\xe8\xd1\xda" , "\x4c\xfd\x53" } , { "\xcf\xe8\xd1\xda\xa1" , "\x4c\xfd\x53\xb7" } , { "\xcf\xe8\xd1\xda\xa2" , "\x4c\xfd\x53\x4c\x69" } , { "\xcf\xe8\xd1\xdb" , "\x4c\xfd\x6a\x69" } , { "\xcf\xe8\xd1\xdb\xa2" , "\x4c\xfd\x6a\x69\x4c\x69" } , { "\xcf\xe8\xd1\xdc" , "\x4c\xfd\x6b\x69" } , { "\xcf\xe8\xd1\xdd" , "\x4c\xfd\x52\x69\x56" } , { "\xcf\xe8\xd1\xdd\xa2" , "\x4c\xfd\x52\x69\x56\x4c\x69" } , { "\xcf\xe8\xd1\xde" , "\x4c\xfd\x52\x69\x57" } , { "\xcf\xe8\xd1\xe0" , "\x6c\x4c\xfd\x69" } , { "\xcf\xe8\xd1\xe0\xa2" , "\x6c\x4c\xfd\x69\x4c\x69" } , { "\xcf\xe8\xd1\xe1" , "\x6c\x4c\xfd\x69\x5b" } , { "\xcf\xe8\xd1\xe1\xa2" , "\x6c\x4c\xfd\x69\x5b\x4c\x69" } , { "\xcf\xe8\xd1\xe2" , "\x6c\x4c\xfd\x5e\x69" } , { "\xcf\xe8\xd1\xe4" , "\x4c\xfd\x5d" } , { "\xcf\xe8\xd1\xe5" , "\x4c\xfd\x5d\x5b" } , { "\xcf\xe8\xd1\xe5\xa2" , "\x4c\xfd\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xd1\xe8" , "\x4c\x60\xfd\x69" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\x4c\x60\x69\xcc\xea\xc1" } , { "\xcf\xe8\xd1\xe8\xbf" , "\x4c\x60\x69\xcc\xef\xc1" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\x4c\x60\x69\xcd\xdc\x5b\xf2" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\x4c\x60\x69\xcc\xde\x78\x6d\xfd\x73" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\x4c\xfd\x53\x51\xf6\xe9" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\x4c\xfd\x53\x51\xf8" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\x4c\xfd\x53\x51\xf9\x4c\x69" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\x6c\x4c\xfd\x69\x51\x2a" } , { "\xcf\xe8\xd1\xe8\xd7" , "\x4c\xfd\x52\x69\x51\x3d" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\x4c\xfd\x52\x69\x56\x3d" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\x4c\x60\xfd\x69\x51\x3d" } , { "\xcf\xe8\xd2" , "\x4c\x52\x69\xfe" } , { "\xcf\xe8\xd4" , "\x4c\x52\x69\x2a" } , { "\xcf\xe8\xd4\xa2" , "\x4c\x52\x69\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xa3" , "\x4c\x52\x69\x2a\x4d" } , { "\xcf\xe8\xd4\xda" , "\x4c\x53\x2a" } , { "\xcf\xe8\xd4\xda\xa2" , "\x4c\x53\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xdb" , "\x4c\x6a\x69\x2a" } , { "\xcf\xe8\xd4\xdb\xa2" , "\x4c\x6a\x69\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xdc" , "\x4c\x6b\x69\x2a" } , { "\xcf\xe8\xd4\xdd" , "\x4c\x52\x69\x56\x2a" } , { "\xcf\xe8\xd4\xdd\xa2" , "\x4c\x52\x69\x56\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xde" , "\x4c\x52\x69\x57\x2a" } , { "\xcf\xe8\xd4\xdf" , "\x4c\x52\x69\x2a\x51\x58" } , { "\xcf\xe8\xd4\xe0" , "\x6c\x4c\x69\x2a" } , { "\xcf\xe8\xd4\xe0\xa2" , "\x6c\x4c\x69\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xe1" , "\x6c\x4c\x69\x5b\x2a" } , { "\xcf\xe8\xd4\xe1\xa2" , "\x6c\x4c\x69\x5b\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xe2" , "\x5c\x6c\x4c\x69\x51\x51\x2a" } , { "\xcf\xe8\xd4\xe5" , "\x4c\x5d\x5b\x2a" } , { "\xcf\xe8\xd4\xe5\xa2" , "\x4c\x5d\x5b\x2a\x4c\x69" } , { "\xcf\xe8\xd4\xe6" , "\x4c\x5f\x2a" } , { "\xcf\xe8\xd4\xe8" , "\x4c\x60\x69\x2a" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\x6c\x4c\x69\x5b\x2a\x51\xe8" } , { "\xcf\xe8\xd4\xe8\xcd" , "\x4c\x52\x69\x2a\x51\xf9" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\x4c\x53\x2a\x51\xf9" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\x4c\x52\x69\x56\x2a\x51\xf9" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\x4c\x52\x69\x57\x2a\x51\xf9" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\x4c\x52\x69\x2a\x51\xf9\x51\x2a" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\x4c\x52\x69\x56\x2a\x51\xfb" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\x4c\x60\x69\xaa\xfd\xaf\x5b" } , { "\xcf\xe8\xd4\xe8\xd4" , "\x4c\x52\x69\x2a\x51\x2a" } , { "\xcf\xe8\xd4\xe8\xd5" , "\x4c\x52\x69\x2a\x51\x2b" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\x4c\x60\x69\xad\x64\x3e\x73" } , { "\xcf\xe8\xd5" , "\x4c\x52\x69\x2b" } , { "\xcf\xe8\xd5\xa2" , "\x4c\x52\x69\x2b\x4c\x69" } , { "\xcf\xe8\xd5\xa3" , "\x4c\x52\x69\x2b\x4d" } , { "\xcf\xe8\xd5\xda" , "\x4c\x53\x2b" } , { "\xcf\xe8\xd5\xda\xa2" , "\x4c\x53\x2b\x4c\x69" } , { "\xcf\xe8\xd5\xdb" , "\x4c\x6a\x69\x2b" } , { "\xcf\xe8\xd5\xdb\xa2" , "\x4c\x6a\x69\x2b\x4c\x69" } , { "\xcf\xe8\xd5\xdc" , "\x4c\x6b\x69\x2b" } , { "\xcf\xe8\xd5\xdd" , "\x4c\x52\x69\x56\x2b" } , { "\xcf\xe8\xd5\xe0" , "\x6c\x4c\x69\x2b" } , { "\xcf\xe8\xd5\xe1" , "\x6c\x4c\x69\x5b\x2b" } , { "\xcf\xe8\xd5\xe1\xa2" , "\x6c\x4c\x69\x5b\x2b\x4c\x69" } , { "\xcf\xe8\xd5\xe5" , "\x4c\x5d\x5b\x2b" } , { "\xcf\xe8\xd5\xe5\xa2" , "\x4c\x5d\x5b\x2b\x4c\x69" } , { "\xcf\xe8\xd5\xe8\xcd" , "\x4c\x52\x69\x2b\x51\xf9" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\x4c\x52\x69\x2b\x51\xf9\x4c\x69" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\x4c\x53\x2b\x51\xf9" } , { "\xcf\xe8\xd5\xe8\xcf" , "\x4c\x52\x69\x2b\x51\xfb" } , { "\xcf\xe8\xd5\xe8\xd4" , "\x4c\x52\x69\x2b\x51\x2a" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\x4c\x52\x69\x2b\x51\x2a\x4c\x69" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\x4c\x53\x2b\x51\x2a" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\x4c\x53\x2b\x51\x2a\x4c\x69" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\x4c\x6a\x69\x2b\x51\x2a" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\x4c\x5d\x5b\x2b\x51\x2a" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\x4c\x5d\x5b\x2b\x51\x2a\x4c\x69" } , { "\xcf\xe8\xd5\xe8\xd5" , "\x4c\x52\x69\x2b\x51\x2b" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\x4c\x52\x69\x2b\x51\x42" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\x4c\x52\x69\x2b\x51\xaa\xab\x73" } , { "\xcf\xe8\xd6" , "\x4c\x3c\x52\x69" } , { "\xcf\xe8\xd6\xa1" , "\x4c\x3c\x52\x69\xb7" } , { "\xcf\xe8\xd6\xa2" , "\x4c\x3c\x52\x69\x4c\x69" } , { "\xcf\xe8\xd6\xda" , "\x4c\x3c\x53" } , { "\xcf\xe8\xd6\xda\xa2" , "\x4c\x3c\x53\x4c\x69" } , { "\xcf\xe8\xd6\xdb" , "\x4c\x3c\x6a\x69" } , { "\xcf\xe8\xd6\xdb\xa2" , "\x4c\x3c\x6a\x69\x4c\x69" } , { "\xcf\xe8\xd6\xdc" , "\x4c\x3c\x6b\x69" } , { "\xcf\xe8\xd6\xdd" , "\x4c\x3c\x52\x69\x56" } , { "\xcf\xe8\xd6\xe0" , "\x6c\x4c\x3c\x69" } , { "\xcf\xe8\xd6\xe1" , "\x6c\x4c\x3c\x69\x5b" } , { "\xcf\xe8\xd6\xe2" , "\x6c\x4c\x3c\x5e\x69" } , { "\xcf\xe8\xd6\xe5" , "\x4c\x3c\x5d\x5b" } , { "\xcf\xe8\xd6\xe5\xa2" , "\x4c\x3c\x5d\x5b\x4c\x69" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\x4c\x3c\x6a\x69\x51\xe4" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\x4c\x3c\x5d\x5b\x51\xe4" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\x4c\x60\x69\x7d\x74\xe6\x73\x51" } , { "\xcf\xe8\xd6\xe8\xbd" , "\x4c\x60\x69\x78\x74\xed\x73\x51" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\x4c\x60\x69\x78\x74\xed\x73\x51\xfb" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\x4c\x60\x69\x7b\x74\xed\x73\x51\xfb" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\x4c\x60\x69\x7a\x74\xf1\x73\x51" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\x4c\x60\x69\x7d\x74\xf1\x73\x51" } , { "\xcf\xe8\xd6\xe8\xcd" , "\x4c\x3c\x52\x69\x51\xf9" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\x4c\x3c\x53\x51\xf9" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\x6c\x4c\x3c\x69\x5b\x51\xf9" } , { "\xcf\xe8\xd7" , "\x4c\x52\x69\x3d" } , { "\xcf\xe8\xd7\xa2" , "\x4c\x52\x69\x3d\x4c\x69" } , { "\xcf\xe8\xd7\xda" , "\x4c\x53\x3d" } , { "\xcf\xe8\xd7\xda\xa2" , "\x4c\x53\x3d\x4c\x69" } , { "\xcf\xe8\xd7\xdb" , "\x4c\x6a\x69\x3d" } , { "\xcf\xe8\xd7\xdb\xa2" , "\x4c\x6a\x69\x3d\x4c\x69" } , { "\xcf\xe8\xd7\xdc" , "\x4c\x6b\x69\x3d" } , { "\xcf\xe8\xd7\xdd" , "\x4c\x52\x69\x56\x3d" } , { "\xcf\xe8\xd7\xde" , "\x4c\x52\x69\x57\x3d" } , { "\xcf\xe8\xd7\xdf" , "\x4c\x52\x69\x3d\x51\x58" } , { "\xcf\xe8\xd7\xe0" , "\x6c\x4c\x69\x3d" } , { "\xcf\xe8\xd7\xe0\xa2" , "\x6c\x4c\x69\x3d\x4c\x69" } , { "\xcf\xe8\xd7\xe1" , "\x6c\x4c\x69\x5b\x3d" } , { "\xcf\xe8\xd7\xe1\xa2" , "\x6c\x4c\x69\x5b\x3d\x4c\x69" } , { "\xcf\xe8\xd7\xe2" , "\x5c\x6c\x4c\x69\x51\x51\x3d" } , { "\xcf\xe8\xd7\xe5" , "\x4c\x5d\x5b\x3d" } , { "\xcf\xe8\xd7\xe5\xa2" , "\x4c\x5d\x5b\x3d\x4c\x69" } , { "\xcf\xe8\xd7\xe8" , "\x4c\x60\x69\x3d" } , { "\xcf\xe8\xd7\xe8\xb3" , "\x4c\x52\x69\x3d\x51\xe4" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\x4c\x53\x3d\x51\xe4" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\x4c\x6a\x69\x3d\x51\xe4" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\x4c\x6b\x69\x3d\x51\xe4" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\x4c\x52\x69\x56\x3d\x51\xe4" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\x4c\x60\x69\x72\xe6\x79" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\x6c\x4c\x69\x5b\x3d\x51\xe8" } , { "\xcf\xe8\xd7\xe8\xbd" , "\x4c\x60\x69\x78\x71\xed\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\x4c\x60\x69\x72\xed\x79" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\x4c\x60\x69\x72\xed\x79\x4c\x69" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\x4c\x60\x69\x7a\x71\xed\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\x4c\x60\x69\x78\x71\xed\x73\x56" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\x4c\x60\x69\x7c\x71\xed\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\x4c\x60\x69\x7d\x71\xed\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\x4c\x60\x69\x7c\x71\xed\x5e\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\x4c\x60\x69\xa3\x71\xed\x73" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x4c\x60\x69\x72\xed\x79\xfb\x4c\x69" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\x4c\x60\x69\xa3\x71\x73\xc8\xde\x78\x71\xf3\x73" } , { "\xcf\xe8\xd7\xe8\xbf" , "\x4c\x60\x69\x78\x71\xef\x73" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\x4c\x60\x69\x7c\x71\xef\x73" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\x4c\x60\x69\xa3\x71\xef\x73" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\x4c\x60\x69\x78\x71\x73\x56\xf2" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\x4c\x60\x69\x72\xa1\xf2" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\x4c\x60\x69\x72\xf3\x79" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\x4c\x60\x69\x7b\x71\xf3\x73" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x4c\x60\x69\x72\xf4\x79\x2a" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\x4c\x6a\x69\x3d\x51\xf5" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\x4c\x6b\x69\x3d\x51\xf5" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\x4c\x52\x69\x56\x3d\x51\xf5" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\x4c\x52\x69\x56\x3d\x51\xf5\x4c\x69" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\x6c\x4c\x69\x5b\x3d\x51\xf5" } , { "\xcf\xe8\xd7\xe8\xc8" , "\x4c\x52\x69\x3d\x51\xf6" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\x4c\x53\x3d\x51\xf6" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\x4c\x6b\x69\x3d\x51\xf6" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\x4c\x52\x69\x57\x3d\x51\xf6" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\x6c\x4c\x69\x3d\x51\xf6" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\x4c\x5d\x5b\x3d\x51\xf6" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\x4c\x5d\x5b\x3d\x51\xf6\x51\xfb" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x4c\x60\x69\xa3\x71\x73\x46\xfd\x79" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\x4c\x60\x69\xa3\x71\x73\x7a\x6d\xfd\x73" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\x4c\x53\x3d\x51\xf6\xe9\x51\xf9" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\x4c\x60\x69\xa3\x71\x73\x7a\x6d\x6e\xfd\x73" } , { "\xcf\xe8\xd7\xe8\xca" , "\x4c\x52\x69\x3d\x51\xf7" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\x4c\x5d\x5b\x3d\x51\xf7" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\x6c\x4c\x69\x3d\x51\xf8\x4c\x69" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\x4c\x5d\x5b\x3d\x51\xf8" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\x4c\x52\x69\x57\x3d\x51\xf9" } , { "\xcf\xe8\xd7\xe8\xd1" , "\x4c\x60\x69\x78\x71\xfd\x73" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\x4c\x60\x69\x7a\x71\xfd\x73" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\x4c\x60\x69\x7b\x71\xfd\x73" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\x4c\x60\x69\x78\x71\xfd\x73\x56" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\x4c\x60\x69\x72\xfd\xa1" } , { "\xcf\xe8\xd7\xe8\xd4" , "\x4c\x52\x69\x3d\x51\x2a" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\x4c\x53\x3d\x51\x2a" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\x4c\x6a\x69\x3d\x51\x2a" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\x6c\x4c\x69\x3d\x51\x2a" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\x5c\x6c\x4c\x69\x51\x51\x3d\x51\x2a" } , { "\xcf\xe8\xd7\xe8\xd7" , "\x4c\x52\x69\x3d\x51\x3d" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\x4c\x53\x3d\x51\x3d" } , { "\xcf\xe8\xd8" , "\x4c\x3e\x52\x69" } , { "\xcf\xe8\xd8\xa2" , "\x4c\x3e\x52\x69\x4c\x69" } , { "\xcf\xe8\xd8\xda" , "\x4c\x3e\x53" } , { "\xcf\xe8\xd8\xda\xa2" , "\x4c\x3e\x53\x4c\x69" } , { "\xcf\xe8\xd8\xdb" , "\x4c\x3e\x6a\x69" } , { "\xcf\xe8\xd8\xdb\xa2" , "\x4c\x3e\x6a\x69\x4c\x69" } , { "\xcf\xe8\xd8\xdc" , "\x4c\x3e\x6b\x69" } , { "\xcf\xe8\xd8\xdd" , "\x4c\x3e\x52\x69\x56" } , { "\xcf\xe8\xd8\xe0" , "\x6c\x4c\x3e\x69" } , { "\xcf\xe8\xd8\xe1" , "\x6c\x4c\x3e\x69\x5b" } , { "\xcf\xe8\xd8\xe1\xa2" , "\x6c\x4c\x3e\x69\x5b\x4c\x69" } , { "\xcf\xe8\xd8\xe5" , "\x4c\x3e\x5d\x5b" } , { "\xcf\xe8\xd8\xe6" , "\x4c\x3e\x5f" } , { "\xcf\xe8\xd8\xe8\xc4" , "\x4c\x60\x69\x78\xa4\xf4\xa6\xa6\xa6" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\x4c\x3e\x53\x51\x51\xf5" } , { "\xcf\xe8\xd8\xe8\xcd" , "\x4c\x3e\x52\x69\x51\x51\xf9" } , { "\xcf\xe8\xe8" , "\x4c\x60\x69" } , { "\xcf\xe9" , "\x4c\x52\x69" } , { "\xd0" , "\xe0\xe1" } , { "\xd0\xa2" , "\xe0\xe1\x4c\x69" } , { "\xd0\xb3" , "\xe0\xe1\x4e\x52\x50" } , { "\xd0\xb3\xe8\xd6\xda" , "\xe0\xe1\x4f\x53\x51" } , { "\xd0\xb4" , "\xe0\xe1\xc5\xc1" } , { "\xd0\xb4\xda" , "\xe0\xe1\xc6\xd8" } , { "\xd0\xb4\xe1" , "\xe0\xe1\xdb\xc6\xc1\x5b" } , { "\xd0\xbf" , "\xe0\xe1\xb2\x52\xb6" } , { "\xd0\xc3" , "\xe0\xe1\xb4\x52\xb6" } , { "\xd0\xc4\xdf" , "\xe0\xe1\xb5\x52\xb6\x58" } , { "\xd0\xca\xde" , "\xe0\xe1\xca\xc1\x57" } , { "\xd0\xcc" , "\xe0\xe1\xaa\xab\x73\x56" } , { "\xd0\xd0\xd7" , "\xe0\xe1\xe0\xe1\x78\x71\x73" } , { "\xd0\xd4" , "\xe0\xe1\xaa\xab\x73" } , { "\xd0\xd8" , "\xe0\xe1\x78\xa4\xa6\xa6\xa6" } , { "\xd0\xd8\xe1" , "\xe0\xe1\x7d\xa4\xa6\xa6\xa6" } , { "\xd0\xda" , "\xe0\xd8" } , { "\xd0\xdb" , "\xe0\xd3\xe1" } , { "\xd0\xdd" , "\xe0\xe1\x56" } , { "\xd0\xdd\xa2" , "\xe0\xe1\x56\x4c\x69" } , { "\xd0\xe0" , "\xe2\xe0\xe1" } , { "\xd0\xe0\xa2" , "\xe2\xe0\xe1\x4c\x69" } , { "\xd0\xe1" , "\xe2\xe0\xe1\x5b" } , { "\xd0\xe4" , "\xe0\xe3\xdc" } , { "\xd0\xe5" , "\xe0\xe3\xdc\x5b" } , { "\xd0\xe8\xd1\xdd" , "\xe0\xfd\xe1\x56" } , { "\xd1" , "\xcc\xc1" } , { "\xd1\xa1" , "\xcc\xc1\xb7" } , { "\xd1\xa1\xa2" , "\xcc\xc1\xb7\x69\x4c\x69" } , { "\xd1\xa2" , "\xcc\xc1\x4c\x69" } , { "\xd1\xa2\xa2" , "\xcc\xc1\x4c\x69\x69\x4c\x69" } , { "\xd1\xa3" , "\xcc\xc1\x4d" } , { "\xd1\xd9" , "\xcc\xc1\x25\xc1" } , { "\xd1\xda" , "\xcd\xd8" } , { "\xd1\xda\xa1" , "\xcd\xd8\xb7" } , { "\xd1\xda\xa2" , "\xcd\xd8\x4c\x69" } , { "\xd1\xda\xa3" , "\xcd\xd8\x4d" } , { "\xd1\xdb" , "\xd6\xc1" } , { "\xd1\xdb\xa1" , "\xd6\xc1\xb7" } , { "\xd1\xdb\xa2" , "\xd6\xc1\x4c\x69" } , { "\xd1\xdb\xa3" , "\xd6\xc1\x4d" } , { "\xd1\xdb\xce\xe1" , "\xd6\xc1\xb9\xb8\xb6\x5b\x56" } , { "\xd1\xdc" , "\xd6\x64\xc1" } , { "\xd1\xdc\xa2" , "\xd6\x64\xc1\x4c\x69" } , { "\xd1\xdd" , "\xcc\xc1\x56" } , { "\xd1\xdd\xa2" , "\xcc\xc1\x56\x4c\x69" } , { "\xd1\xdd\xa3" , "\xcc\xc1\x56\x4d" } , { "\xd1\xde" , "\xcc\xc1\x57" } , { "\xd1\xde\xa1" , "\xcc\xc1\x57\xb7" } , { "\xd1\xde\xa2" , "\xcc\xc1\x57\x4c\x69" } , { "\xd1\xdf" , "\xcc\xc1\x58" } , { "\xd1\xe0" , "\xdb\xcd\xc1" } , { "\xd1\xe0\xa2" , "\xdb\xcd\xc1\x4c\x69" } , { "\xd1\xe1" , "\xdb\xcd\xc1\x5b" } , { "\xd1\xe1\xa2" , "\xdb\xcd\xc1\x5b\x4c\x69" } , { "\xd1\xe2" , "\x5c\xdb\xcd\xc1" } , { "\xd1\xe2\xa2" , "\x5c\xdb\xcd\xc1\x4c\x69" } , { "\xd1\xe2\xa3" , "\x5c\xdb\xcd\xc1\x4d" } , { "\xd1\xe4" , "\xcd\xdc" } , { "\xd1\xe4\xa2" , "\xcd\xdc\x4c\x69" } , { "\xd1\xe5" , "\xcd\xdc\x5b" } , { "\xd1\xe5\xa2" , "\xcd\xdc\x5b\x4c\x69" } , { "\xd1\xe6" , "\xcd\xdd" } , { "\xd1\xe6\xa2" , "\xcd\xdd\x4c\x69" } , { "\xd1\xe7" , "\xcd\xdc" } , { "\xd1\xe7\xa2" , "\xcd\xdc\x4c\x69" } , { "\xd1\xe8" , "\xcd\xde" } , { "\xd1\xe8\xb3" , "\xcc\xc1\xe4" } , { "\xd1\xe8\xb3\xa2" , "\xcc\xc1\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xda" , "\xcd\xd8\xe4" } , { "\xd1\xe8\xb3\xda\xa2" , "\xcd\xd8\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xdb" , "\xd6\xc1\xe4" } , { "\xd1\xe8\xb3\xdb\xa2" , "\xd6\xc1\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xdc" , "\xd6\x64\xc1\xe4" } , { "\xd1\xe8\xb3\xdd" , "\xcc\xc1\x56\xe4" } , { "\xd1\xe8\xb3\xdd\xa2" , "\xcc\xc1\x56\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xde" , "\xcc\xc1\x57\xe4" } , { "\xd1\xe8\xb3\xe0" , "\xdb\xcd\xc1\xe4" } , { "\xd1\xe8\xb3\xe1" , "\xdb\xcd\xc1\x5b\xe4" } , { "\xd1\xe8\xb3\xe2" , "\x5c\xdb\xcd\xc1\x51\xe4" } , { "\xd1\xe8\xb3\xe4" , "\xcd\xdc\xe4" } , { "\xd1\xe8\xb3\xe4\xa2" , "\xcd\xdc\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xe5" , "\xcd\xdc\x5b\xe4" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xcd\xdc\x5b\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xcd\xdd\xe4\x4c\x69" } , { "\xd1\xe8\xb3\xe7" , "\xcd\xdc\xe4" } , { "\xd1\xe8\xb3\xe8" , "\xcd\xde\xe4" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\xcd\xdc\xe4\x51\xe8" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\xcc\xde\x4e\xed\x53\x51\xfb" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\xcc\xde\x4e\xf4\x53" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\xcc\xde\x4e\xf4\x52\x50\x56\xf9" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\xcc\xc1\x56\xe4\x51\xf5" } , { "\xd1\xe8\xb3\xe8\xcd" , "\xcc\xc1\xe4\x51\xf9" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\xcd\xd8\xe4\x51\xf9" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\xcc\xc1\x56\xe4\x51\xf9" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\xcc\xc1\x57\xe4\x51\xf9" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\xd6\xc1\xe4\x51\xfb" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\xd6\xc1\xe4\x51\xfb\x4c\x69" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\xd6\x64\xc1\xe4\x51\xfb" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\xdb\xcd\xc1\xe4\x51\xfb" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\x5c\xdb\xcd\xc1\x51\xe4\x51\xfb" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xcd\xdc\x5b\xe4\x51\xfb" } , { "\xd1\xe8\xb3\xe8\xd1" , "\xcc\xde\x4e\xfd\x52\x50" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\xcc\xde\x4e\xfd\x53" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xcc\xde\x5a\x4e\xfd\x5e\x50" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xcc\xde\x4e\xfd\x5d\x5b" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\xcc\xde\x4f\x52\x50\x56" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\xcd\xde\xe4\x51\x3d" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xcc\xc1\x56\xe4\x51\x3d\x51\xf5" } , { "\xd1\xe8\xb3\xe8\xd8" , "\xcc\xde\x4e\x3e\x52\x50" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\xcc\xde\x4e\x3e\x53" } , { "\xd1\xe8\xb4" , "\xcc\xe5\xc1" } , { "\xd1\xe8\xb4\xa2" , "\xcc\xe5\xc1\x4c\x69" } , { "\xd1\xe8\xb4\xda" , "\xcd\xe5\xd8" } , { "\xd1\xe8\xb4\xdb" , "\xd6\xe5\xc1" } , { "\xd1\xe8\xb4\xdc" , "\xd6\x64\xe5\xc1" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\xcc\xe5\xc1\xf7\xe9\x51\xfb" } , { "\xd1\xe8\xb5" , "\xcc\xe6\xc1" } , { "\xd1\xe8\xb5\xa2" , "\xcc\xe6\xc1\x4c\x69" } , { "\xd1\xe8\xb5\xda" , "\xcd\xe6\xd8" } , { "\xd1\xe8\xb5\xda\xa2" , "\xcd\xe6\xd8\x4c\x69" } , { "\xd1\xe8\xb5\xdb" , "\xd6\xe6\xc1" } , { "\xd1\xe8\xb5\xdb\xa2" , "\xd6\xe6\xc1\x4c\x69" } , { "\xd1\xe8\xb5\xdc" , "\xd6\x64\xe6\xc1" } , { "\xd1\xe8\xb5\xdd" , "\xcc\xe6\xc1\x56" } , { "\xd1\xe8\xb5\xdd\xa2" , "\xcc\xe6\xc1\x56\x4c\x69" } , { "\xd1\xe8\xb5\xde" , "\xcc\xe6\xc1\x57" } , { "\xd1\xe8\xb5\xe0" , "\xdb\xcd\xe6\xc1" } , { "\xd1\xe8\xb5\xe1" , "\xdb\xcd\xe6\xc1\x5b" } , { "\xd1\xe8\xb5\xe2" , "\xdb\xcd\xe6\x5e\xc1" } , { "\xd1\xe8\xb5\xe4" , "\xcd\xe6\xdc" } , { "\xd1\xe8\xb5\xe4\xa2" , "\xcd\xe6\xdc\x4c\x69" } , { "\xd1\xe8\xb5\xe5" , "\xcd\xe6\xdc\x5b" } , { "\xd1\xe8\xb5\xe6" , "\xcd\xe6\xdd" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\xcc\xe6\xc1\xfb\x4c\x69" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\xcd\xe6\xd8\xfb" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\xcd\xe6\xd8\xfb\x4c\x69" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\xd6\xe6\xc1\xfb" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\xcc\xe6\xc1\x57\xfb" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\xcc\xde\x67\xfd\x53" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\xcc\xde\x67\xfd\x53\x4c\x69" } , { "\xd1\xe8\xb6" , "\xcc\xe7\xc1" } , { "\xd1\xe8\xb8" , "\xcc\xc1\xe8" } , { "\xd1\xe8\xb8\xa2" , "\xcc\xc1\xe8\x4c\x69" } , { "\xd1\xe8\xb8\xda" , "\xcd\xd8\xe8" } , { "\xd1\xe8\xb8\xdb" , "\xd6\xc1\xe8" } , { "\xd1\xe8\xb8\xdb\xa2" , "\xd6\xc1\xe8\x4c\x69" } , { "\xd1\xe8\xb8\xdc" , "\xd6\x64\xc1\xe8" } , { "\xd1\xe8\xb8\xdd" , "\xcc\xc1\x56\xe8" } , { "\xd1\xe8\xb8\xdd\xa2" , "\xcc\xc1\x56\xe8\x4c\x69" } , { "\xd1\xe8\xb8\xde" , "\xcc\xc1\x57\xe8" } , { "\xd1\xe8\xb8\xe0" , "\xdb\xcd\xc1\xe8" } , { "\xd1\xe8\xb8\xe1" , "\xdb\xcd\xc1\x5b\xe8" } , { "\xd1\xe8\xb8\xe4" , "\xcd\xdc\xe8" } , { "\xd1\xe8\xb8\xe4\xa2" , "\xcd\xdc\xe8\x4c\x69" } , { "\xd1\xe8\xb8\xe5" , "\xcd\xdc\x5b\xe8" } , { "\xd1\xe8\xb8\xe6" , "\xcd\xdd\xe8" } , { "\xd1\xe8\xb9\xdd" , "\xcc\xc1\x56\xe8\xe9" } , { "\xd1\xe8\xba" , "\xcc\xea\xc1" } , { "\xd1\xe8\xba\xda" , "\xcd\xea\xd8" } , { "\xd1\xe8\xba\xdb" , "\xd6\xea\xc1" } , { "\xd1\xe8\xba\xdc" , "\xd6\x64\xea\xc1" } , { "\xd1\xe8\xba\xdd" , "\xcc\xea\xc1\x56" } , { "\xd1\xe8\xba\xde" , "\xcc\xea\xc1\x57" } , { "\xd1\xe8\xba\xe0" , "\xdb\xcd\xea\xc1" } , { "\xd1\xe8\xba\xe1" , "\xdb\xcd\xea\xc1\x5b" } , { "\xd1\xe8\xba\xe8" , "\xcd\xde\xea" } , { "\xd1\xe8\xba\xe9" , "\xcc\xea\xc1" } , { "\xd1\xe8\xba\xe9\xda" , "\xcd\xea\xd8" } , { "\xd1\xe8\xbb\xda" , "\xcd\xeb\xd8" } , { "\xd1\xe8\xbb\xdc" , "\xd6\x64\xeb\xc1" } , { "\xd1\xe8\xbd" , "\xcc\xed\xc1" } , { "\xd1\xe8\xbd\xa2" , "\xcc\xed\xc1\x4c\x69" } , { "\xd1\xe8\xbd\xda" , "\xcd\xed\xd8" } , { "\xd1\xe8\xbd\xdb" , "\xd6\xed\xc1" } , { "\xd1\xe8\xbd\xdb\xa2" , "\xd6\xed\xc1\x4c\x69" } , { "\xd1\xe8\xbd\xdc" , "\xd6\x64\xed\xc1" } , { "\xd1\xe8\xbd\xdd" , "\xcc\xed\xc1\x56" } , { "\xd1\xe8\xbd\xdd\xa2" , "\xcc\xed\xc1\x56\x4c\x69" } , { "\xd1\xe8\xbd\xde" , "\xcc\xed\xc1\x57" } , { "\xd1\xe8\xbd\xe0" , "\xdb\xcd\xed\xc1" } , { "\xd1\xe8\xbd\xe0\xa2" , "\xdb\xcd\xed\xc1\x4c\x69" } , { "\xd1\xe8\xbd\xe1" , "\xdb\xcd\xed\xc1\x5b" } , { "\xd1\xe8\xbd\xe2" , "\xdb\xcd\xed\x5e\xc1" } , { "\xd1\xe8\xbd\xe4" , "\xcd\xed\xdc" } , { "\xd1\xe8\xbd\xe5" , "\xcd\xed\xdc\x5b" } , { "\xd1\xe8\xbd\xe5\xa2" , "\xcd\xed\xdc\x5b\x4c\x69" } , { "\xd1\xe8\xbd\xe8" , "\xcd\xde\xed" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\xcc\xde\xc9\xe6\xd8" } , { "\xd1\xe8\xbd\xe8\xba" , "\xcc\xde\xc8\xea\xc1" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\xcc\xde\xc9\xde\xea" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\xcc\xde\xc8\xea\xc1\xf8" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\xcc\xed\xc1\x56\xf5" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\xd6\x64\xed\xc1\xf6" } , { "\xd1\xe8\xbd\xe8\xcc" , "\xcc\xed\xc1\xf8" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\xd6\x64\xed\xc1\xf8" } , { "\xd1\xe8\xbd\xe8\xcf" , "\xcc\xed\xc1\xfb" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\xcd\xed\xd8\xfb" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\xd6\xed\xc1\xfb" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\xd6\x64\xed\xc1\xfb" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\xdb\xcd\xed\xc1\x5b\xfb" } , { "\xd1\xe8\xbd\xe8\xd1" , "\xcc\xde\xc8\xfd\xc1" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\xcc\xde\xc8\xfd\xc1\x56" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\xcc\xde\xc9\xfd\xdc\x5b" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\xcc\xed\xc1\x2a\x4c\x69" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\xdb\xcd\xed\x5e\xc1\x2a" } , { "\xd1\xe8\xbd\xe8\xd7" , "\xcc\xed\xc1\x3d" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\xcc\xed\xc1\x56\x3d" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\xcd\xde\xed\x3d" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\xcd\xed\xd8\x3d\x51\xf6" } , { "\xd1\xe8\xbf" , "\xcc\xef\xc1" } , { "\xd1\xe8\xbf\xa2" , "\xcc\xef\xc1\x4c\x69" } , { "\xd1\xe8\xbf\xda" , "\xcd\xef\xd8" } , { "\xd1\xe8\xbf\xdb" , "\xd6\xef\xc1" } , { "\xd1\xe8\xbf\xdb\xa2" , "\xd6\xef\xc1\x4c\x69" } , { "\xd1\xe8\xbf\xdc" , "\xd6\x64\xef\xc1" } , { "\xd1\xe8\xbf\xdd" , "\xcc\xef\xc1\x56" } , { "\xd1\xe8\xbf\xde" , "\xcc\xef\xc1\x57" } , { "\xd1\xe8\xbf\xe0" , "\xdb\xcd\xef\xc1" } , { "\xd1\xe8\xbf\xe0\xa2" , "\xdb\xcd\xef\xc1\x4c\x69" } , { "\xd1\xe8\xbf\xe1" , "\xdb\xcd\xef\xc1\x5b" } , { "\xd1\xe8\xbf\xe4" , "\xcd\xef\xdc" } , { "\xd1\xe8\xbf\xe5" , "\xcd\xef\xdc\x5b" } , { "\xd1\xe8\xbf\xe7" , "\xcd\xef\xdc" } , { "\xd1\xe8\xbf\xe8" , "\xcd\xde\xef" } , { "\xd1\xe8\xbf\xe8\xb3" , "\xcc\xef\xc1\xe4" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\xcc\xef\xc1\x56\xe4" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\xd6\x64\xef\xc1\xe4\x51\xfb" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\xcc\xde\xb2\xe6\x79" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\xcc\xde\xae\xb2\xe6\xb6\x5b" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\xcc\xde\xb2\xe6\x5d\x5b" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\xcc\xde\xae\xb2\xed\x5e\xb6" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\xcc\xde\xb2\xef\x5f" } , { "\xd1\xe8\xbf\xe8\xc2" , "\xcc\xde\xb2\x52\xb6\xf2" } , { "\xd1\xe8\xbf\xe8\xc8" , "\xcc\xef\xc1\xf6" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\xd6\xef\xc1\xf6\xe9\x4c\x69" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\xcd\xef\xdc\x5b\xf6\xe9" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\xdb\xcd\xef\xc1\xf7\x51\xfb" } , { "\xd1\xe8\xbf\xe8\xcc" , "\xcc\xef\xc1\xf8" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\xcd\xef\xd8\xf8" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\xdb\xcd\xef\xc1\xf8" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\xdb\xcd\xef\xc1\x5b\xf8" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\xcc\xef\xc1\x57\xf9" } , { "\xd1\xe8\xbf\xe8\xcf" , "\xcc\xef\xc1\xfb" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\xd6\xef\xc1\xfb" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\xd6\xef\xc1\xfb\x4c\x69" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\xd6\x64\xef\xc1\xfb" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\xdb\xcd\xef\xc1\xfb" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\xdb\xcd\xef\xc1\x5b\xfb" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\xdb\xcd\xef\x5e\xc1\xfb" } , { "\xd1\xe8\xbf\xe8\xd1" , "\xcc\xde\xb2\xfd\x52\xb6" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\xcc\xde\xb2\xfd\x52\xb6\x56" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\xcc\xde\xb2\xfd\x52\xb6\x57" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\xcc\xde\xb2\xfd\x5d\x5b" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\xd6\xef\xc1\x2a" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\xdb\xcd\xef\xc1\x2a" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\xcd\xde\xb2\x60\xb6\xaa\xb1\xfd\x73" } , { "\xd1\xe8\xbf\xe8\xd7" , "\xcc\xef\xc1\x3d" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\xcd\xde\xef\x3d" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\xcc\xde\xb2\x60\xb6\x7b\x71\xed\x73" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\xcc\xde\xb2\x60\xb6\x7c\x71\xed\x5e\x73" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\xcd\xef\xd8\x3d\x51\xf6" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\xcd\xef\xd8\x3d\x51\xf6\xe9" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\xd6\xef\xc1\x3d\x51\xf8" } , { "\xd1\xe8\xbf\xe9" , "\xcc\xef\xc1" } , { "\xd1\xe8\xc0\xda" , "\xcd\xef\xf0\xd8" } , { "\xd1\xe8\xc1" , "\xcc\xf1\xc1" } , { "\xd1\xe8\xc2" , "\xcc\xc1\xf2" } , { "\xd1\xe8\xc2\xda" , "\xcd\xd8\xf2" } , { "\xd1\xe8\xc2\xda\xa2" , "\xcd\xd8\xf2\x4c\x69" } , { "\xd1\xe8\xc2\xdb" , "\xd6\xc1\xf2" } , { "\xd1\xe8\xc2\xdb\xa2" , "\xd6\xc1\xf2\x4c\x69" } , { "\xd1\xe8\xc2\xdc" , "\xd6\x64\xc1\xf2" } , { "\xd1\xe8\xc2\xdd" , "\xcc\xc1\x56\xf2" } , { "\xd1\xe8\xc2\xdd\xa2" , "\xcc\xc1\x56\xf2\x4c\x69" } , { "\xd1\xe8\xc2\xde" , "\xcc\xc1\x57\xf2" } , { "\xd1\xe8\xc2\xe0" , "\xdb\xcd\xc1\xf2" } , { "\xd1\xe8\xc2\xe1" , "\xdb\xcd\xc1\x5b\xf2" } , { "\xd1\xe8\xc2\xe4" , "\xcd\xdc\xf2" } , { "\xd1\xe8\xc2\xe5" , "\xcd\xdc\x5b\xf2" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xcd\xdc\x5b\xf2\x4c\x69" } , { "\xd1\xe8\xc2\xe8" , "\xcd\xde\xf2" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\xcc\xde\xbb\x60\xbd\x4e\xfd\x52\x50" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\xcc\xde\xbb\x60\xbd\xcb\xfd\xd8" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\xcc\xc1\xf2\x51\xf8\x4c\x69" } , { "\xd1\xe8\xc3" , "\xcc\xf3\xc1" } , { "\xd1\xe8\xc3\xda" , "\xcd\xf3\xd8" } , { "\xd1\xe8\xc3\xdc" , "\xd6\x64\xf3\xc1" } , { "\xd1\xe8\xc3\xdd" , "\xcc\xf3\xc1\x56" } , { "\xd1\xe8\xc3\xde" , "\xcc\xf3\xc1\x57" } , { "\xd1\xe8\xc4" , "\xcc\xf4\xc1" } , { "\xd1\xe8\xc4\xa2" , "\xcc\xf4\xc1\x4c\x69" } , { "\xd1\xe8\xc4\xda" , "\xcd\xf4\xd8" } , { "\xd1\xe8\xc4\xda\xa2" , "\xcd\xf4\xd8\x4c\x69" } , { "\xd1\xe8\xc4\xdb" , "\xd6\xf4\xc1" } , { "\xd1\xe8\xc4\xdc" , "\xd6\x64\xf4\xc1" } , { "\xd1\xe8\xc4\xdd" , "\xcc\xf4\xc1\x56" } , { "\xd1\xe8\xc4\xe1" , "\xdb\xcd\xf4\xc1\x5b" } , { "\xd1\xe8\xc4\xe1\xa2" , "\xdb\xcd\xf4\xc1\x5b\x4c\x69" } , { "\xd1\xe8\xc4\xe4" , "\xcd\xf4\xdc" } , { "\xd1\xe8\xc4\xe5" , "\xcd\xf4\xdc\x5b" } , { "\xd1\xe8\xc4\xe5\xa2" , "\xcd\xf4\xdc\x5b\x4c\x69" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\xdb\xcd\xf4\xc1\x5b\xfb" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\xcd\xf4\xd8\x2a" } , { "\xd1\xe8\xc5" , "\xcc\xf4\xf0\xc1" } , { "\xd1\xe8\xc5\xda" , "\xcd\xf4\xf0\xd8" } , { "\xd1\xe8\xc5\xdb" , "\xd6\xf4\xf0\xc1" } , { "\xd1\xe8\xc6" , "\xcc\xc1\xf5" } , { "\xd1\xe8\xc6\xa2" , "\xcc\xc1\xf5\x4c\x69" } , { "\xd1\xe8\xc6\xda" , "\xcd\xd8\xf5" } , { "\xd1\xe8\xc6\xdb" , "\xd6\xc1\xf5" } , { "\xd1\xe8\xc6\xdb\xa2" , "\xd6\xc1\xf5\x4c\x69" } , { "\xd1\xe8\xc6\xdc" , "\xd6\x64\xc1\xf5" } , { "\xd1\xe8\xc6\xdd" , "\xcc\xc1\x56\xf5" } , { "\xd1\xe8\xc6\xdd\xa2" , "\xcc\xc1\x56\xf5\x4c\x69" } , { "\xd1\xe8\xc6\xde" , "\xcc\xc1\x57\xf5" } , { "\xd1\xe8\xc6\xe0" , "\xdb\xcd\xc1\xf5" } , { "\xd1\xe8\xc6\xe0\xa2" , "\xdb\xcd\xc1\xf5\x4c\x69" } , { "\xd1\xe8\xc6\xe1" , "\xdb\xcd\xc1\x5b\xf5" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xdb\xcd\xc1\x5b\xf5\x4c\x69" } , { "\xd1\xe8\xc6\xe2" , "\x5c\xdb\xcd\xc1\x51\xf5" } , { "\xd1\xe8\xc6\xe5" , "\xcd\xdc\x5b\xf5" } , { "\xd1\xe8\xc6\xe8" , "\xcd\xde\xf5" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\xcc\xc1\x56\xf5\x51\x51\xe4" } , { "\xd1\xe8\xc8" , "\xcc\xc1\xf6" } , { "\xd1\xe8\xc8\xa2" , "\xcc\xc1\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xda" , "\xcd\xd8\xf6" } , { "\xd1\xe8\xc8\xda\xa2" , "\xcd\xd8\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xda\xa3" , "\xcd\xd8\xf6\x4d" } , { "\xd1\xe8\xc8\xdb" , "\xd6\xc1\xf6" } , { "\xd1\xe8\xc8\xdb\xa2" , "\xd6\xc1\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xdc" , "\xd6\x64\xc1\xf6" } , { "\xd1\xe8\xc8\xdc\xa2" , "\xd6\x64\xc1\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xdd" , "\xcc\xc1\x56\xf6" } , { "\xd1\xe8\xc8\xdd\xa2" , "\xcc\xc1\x56\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xde" , "\xcc\xc1\x57\xf6" } , { "\xd1\xe8\xc8\xe0" , "\xdb\xcd\xc1\xf6" } , { "\xd1\xe8\xc8\xe0\xa2" , "\xdb\xcd\xc1\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xe1" , "\xdb\xcd\xc1\x5b\xf6" } , { "\xd1\xe8\xc8\xe1\xa2" , "\xdb\xcd\xc1\x5b\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xe2" , "\x5c\xdb\xcd\xc1\x51\xf6" } , { "\xd1\xe8\xc8\xe4" , "\xcd\xdc\xf6" } , { "\xd1\xe8\xc8\xe5" , "\xcd\xdc\x5b\xf6" } , { "\xd1\xe8\xc8\xe5\xa2" , "\xcd\xdc\x5b\xf6\x4c\x69" } , { "\xd1\xe8\xc8\xe8" , "\xcd\xde\xf6" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\xcc\xde\x46\xe6\xa1" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\xcc\xc1\x57\xf6\x51\xf9" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\xcd\xd8\xf6\x51\xfb" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\xd6\xc1\xf6\x51\xfb" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\xdb\xcd\xc1\xf6\x51\xfb" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\x5c\xdb\xcd\xc1\x51\xf6\x51\xfb" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\xcd\xdc\xf6\x51\xfb" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\xcc\xde\x46\xfd\x79" } , { "\xd1\xe8\xc8\xe8\xd7" , "\xcc\xc1\xf6\x51\x3d" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\xcd\xde\xf6\x51\x3d" } , { "\xd1\xe8\xc9" , "\xcc\xc1\xf6\xe9" } , { "\xd1\xe8\xc9\xa2" , "\xcc\xc1\xf6\xe9\x4c\x69" } , { "\xd1\xe8\xc9\xda" , "\xcd\xd8\xf6\xe9" } , { "\xd1\xe8\xc9\xdb" , "\xd6\xc1\xf6\xe9" } , { "\xd1\xe8\xc9\xdb\xa2" , "\xd6\xc1\xf6\xe9\x4c\x69" } , { "\xd1\xe8\xc9\xdc" , "\xd6\x64\xc1\xf6\xe9" } , { "\xd1\xe8\xc9\xdd" , "\xcc\xc1\x56\xf6\xe9" } , { "\xd1\xe8\xc9\xde" , "\xcc\xc1\x57\xf6\xe9" } , { "\xd1\xe8\xc9\xe0" , "\xdb\xcd\xc1\xf6\xe9" } , { "\xd1\xe8\xc9\xe1" , "\xdb\xcd\xc1\x5b\xf6\xe9" } , { "\xd1\xe8\xc9\xe1\xa2" , "\xdb\xcd\xc1\x5b\xf6\xe9\x4c\x69" } , { "\xd1\xe8\xc9\xe2" , "\x5c\xdb\xcd\xc1\x51\xf6\xe9" } , { "\xd1\xe8\xc9\xe4" , "\xcd\xdc\xf6\xe9" } , { "\xd1\xe8\xc9\xe5" , "\xcd\xdc\x5b\xf6\xe9" } , { "\xd1\xe8\xc9\xe5\xa2" , "\xcd\xdc\x5b\xf6\xe9\x4c\x69" } , { "\xd1\xe8\xc9\xe7" , "\xcd\xdc\xf6\xe9" } , { "\xd1\xe8\xc9\xe8" , "\xcd\xde\xf6\xe9" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\xcc\xde\xa3\x6d\x6e\xed\x73" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\xcd\xd8\xf6\xe9\x51\xf8" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\xcc\xc1\x56\xf6\xe9\x51\xf9" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\xcc\xc1\x57\xf6\xe9\x51\xf9" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\xcc\xc1\xf6\xe9\x51\xfb\x4c\x69" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\xdb\xcd\xc1\xf6\xe9\x51\xfb" } , { "\xd1\xe8\xc9\xe8\xd1" , "\xcc\xde\x78\x6d\x6e\xfd\x73" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\xcc\xde\x7c\x6d\x6e\xfd\x5e\x73" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\xcc\xde\x46\x6e\xfd\xa1" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\xd6\x64\xc1\xf6\xe9\x51\x2a" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\xcd\xde\xf6\xe9\x51\x3d" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\xcc\xde\x7a\x6d\x6e\x3e\x73" } , { "\xd1\xe8\xca" , "\xcc\xc1\xf7" } , { "\xd1\xe8\xca\xa2" , "\xcc\xc1\xf7\x4c\x69" } , { "\xd1\xe8\xca\xda" , "\xcd\xd8\xf7" } , { "\xd1\xe8\xca\xda\xa2" , "\xcd\xd8\xf7\x4c\x69" } , { "\xd1\xe8\xca\xdb" , "\xd6\xc1\xf7" } , { "\xd1\xe8\xca\xdc" , "\xd6\x64\xc1\xf7" } , { "\xd1\xe8\xca\xdd" , "\xcc\xc1\x56\xf7" } , { "\xd1\xe8\xca\xdf" , "\xcc\xc1\xf7\x51\x58" } , { "\xd1\xe8\xca\xe0" , "\xdb\xcd\xc1\xf7" } , { "\xd1\xe8\xca\xe1" , "\xdb\xcd\xc1\x5b\xf7" } , { "\xd1\xe8\xca\xe2" , "\x5c\xdb\xcd\xc1\x51\xf7" } , { "\xd1\xe8\xca\xe5" , "\xcd\xdc\x5b\xf7" } , { "\xd1\xe8\xca\xe5\xa2" , "\xcd\xdc\x5b\xf7\x4c\x69" } , { "\xd1\xe8\xca\xe8" , "\xcd\xde\xf7" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\xcc\xc1\x56\xf7\x51\xe4" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\xcc\xc1\x56\xf7\x51\xf5" } , { "\xd1\xe8\xca\xe8\xcd" , "\xcc\xc1\xf7\x51\xf9" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\xcd\xd8\xf7\x51\xf9" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\xcc\xc1\x56\xf7\x51\xf9" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\xcc\xc1\x57\xf7\x51\xf9" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\xcc\xc1\x57\xf7\x51\xfb" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\xdb\xcd\xc1\xf7\x51\xfb" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xdb\xcd\xc1\x5b\xf7\x51\xfb" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xcd\xdc\x5b\xf7\x51\xfb" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xcd\xde\xcb\xde\x4c\xed\x6a\x69\x51\x3d\x51\xe4" } , { "\xd1\xe8\xca\xe8\xd1" , "\xcc\xde\xca\xfd\xc1" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\xcc\xde\xca\xfd\xc1\x57" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xcc\xde\xcb\xfd\xdc\x5b" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\xcc\xc1\xf7\x51\x2a\x4c\x69" } , { "\xd1\xe8\xcb" , "\xcc\xc1\xf7\xe9" } , { "\xd1\xe8\xcb\xa2" , "\xcc\xc1\xf7\xe9\x4c\x69" } , { "\xd1\xe8\xcb\xda" , "\xcd\xd8\xf7\xe9" } , { "\xd1\xe8\xcb\xdb\xa2" , "\xd6\xc1\xf7\xe9\x4c\x69" } , { "\xd1\xe8\xcb\xdd" , "\xcc\xc1\x56\xf7\xe9" } , { "\xd1\xe8\xcb\xde" , "\xcc\xc1\x57\xf7\xe9" } , { "\xd1\xe8\xcb\xe2" , "\x5c\xdb\xcd\xc1\x51\xf7\xe9" } , { "\xd1\xe8\xcb\xe8\xcd" , "\xcc\xc1\xf7\xe9\x51\xf9" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\xcc\xc1\xf7\xe9\x51\xf9\x4c\x69" } , { "\xd1\xe8\xcc" , "\xcc\xc1\xf8" } , { "\xd1\xe8\xcc\xa2" , "\xcc\xc1\xf8\x4c\x69" } , { "\xd1\xe8\xcc\xda" , "\xcd\xd8\xf8" } , { "\xd1\xe8\xcc\xda\xa2" , "\xcd\xd8\xf8\x4c\x69" } , { "\xd1\xe8\xcc\xdb" , "\xd6\xc1\xf8" } , { "\xd1\xe8\xcc\xdb\xa2" , "\xd6\xc1\xf8\x4c\x69" } , { "\xd1\xe8\xcc\xdc" , "\xd6\x64\xc1\xf8" } , { "\xd1\xe8\xcc\xdd" , "\xcc\xc1\x56\xf8" } , { "\xd1\xe8\xcc\xde" , "\xcc\xc1\x57\xf8" } , { "\xd1\xe8\xcc\xdf" , "\xcc\xc1\xf8\x51\x58" } , { "\xd1\xe8\xcc\xe0" , "\xdb\xcd\xc1\xf8" } , { "\xd1\xe8\xcc\xe0\xa2" , "\xdb\xcd\xc1\xf8\x4c\x69" } , { "\xd1\xe8\xcc\xe1" , "\xdb\xcd\xc1\x5b\xf8" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xdb\xcd\xc1\x5b\xf8\x4c\x69" } , { "\xd1\xe8\xcc\xe4" , "\xcd\xdc\xf8" } , { "\xd1\xe8\xcc\xe5" , "\xcd\xdc\x5b\xf8" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xcd\xdc\x5b\xf8\x4c\x69" } , { "\xd1\xe8\xcc\xe7" , "\xcd\xdc\xf8" } , { "\xd1\xe8\xcc\xe8" , "\xcd\xde\xf8" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\xcd\xdc\x5b\xf8\x51\xe4" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\xcc\xde\xaa\xab\x73\xe6\x57" } , { "\xd1\xe8\xcc\xe8\xba" , "\xcc\xde\xaa\xab\x73\xea\x56" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\xcc\xde\xae\xaa\x73\xef\x5e\x56" } , { "\xd1\xe8\xcc\xe8\xc6" , "\xcc\xc1\xf8\x51\xf5" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\xcc\xc1\x56\xf8\x51\xf5" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\xd6\x64\xc1\xf8\x51\xf8" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\xcd\xd8\xf8\x51\xf9" } , { "\xd1\xe8\xcc\xe8\xd1" , "\xcc\xde\xaa\xab\x73\xfd\x56" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\xcc\xde\xaa\xab\x73\xfd\x56\x56" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xcc\xde\xae\xaa\x73\xfd\x57" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\xcc\xc1\xf8\x51\x2a\x4c\x69" } , { "\xd1\xe8\xcc\xe8\xd7" , "\xcc\xc1\xf8\x51\x3d" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\xcc\xc1\xf8\x51\x3d\x51\xf6\xe9" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\xcc\xde\xae\xaa\x73\x3e\x57" } , { "\xd1\xe8\xcd" , "\xcc\xc1\xf9" } , { "\xd1\xe8\xcd\xa2" , "\xcc\xc1\xf9\x4c\x69" } , { "\xd1\xe8\xcd\xda" , "\xcd\xd8\xf9" } , { "\xd1\xe8\xcd\xda\xa2" , "\xcd\xd8\xf9\x4c\x69" } , { "\xd1\xe8\xcd\xdc" , "\xd6\x64\xc1\xf9" } , { "\xd1\xe8\xcd\xdd" , "\xcc\xc1\x56\xf9" } , { "\xd1\xe8\xcd\xde" , "\xcc\xc1\x57\xf9" } , { "\xd1\xe8\xcd\xde\xa2" , "\xcc\xc1\x57\xf9\x4c\x69" } , { "\xd1\xe8\xcd\xe0" , "\xdb\xcd\xc1\xf9" } , { "\xd1\xe8\xcd\xe0\xa2" , "\xdb\xcd\xc1\xf9\x4c\x69" } , { "\xd1\xe8\xcd\xe1" , "\xdb\xcd\xc1\x5b\xf9" } , { "\xd1\xe8\xcd\xe4" , "\xcd\xdc\xf9" } , { "\xd1\xe8\xcd\xe5" , "\xcd\xdc\x5b\xf9" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xcd\xdc\x5b\xf9\x4c\x69" } , { "\xd1\xe8\xcd\xe6" , "\xcd\xdd\xf9" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xcd\xdd\xf9\x4c\x69" } , { "\xd1\xe8\xcd\xe7" , "\xcd\xdc\xf9" } , { "\xd1\xe8\xcd\xe8" , "\xcd\xde\xf9" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\xcc\xc1\xf9\x51\xf9\x4c\x69" } , { "\xd1\xe8\xcf" , "\xfa\xcc\xc1" } , { "\xd1\xe8\xcf\xa2" , "\xfa\xcc\xc1\x4c\x69" } , { "\xd1\xe8\xcf\xda" , "\xfa\xcd\xd8" } , { "\xd1\xe8\xcf\xda\xa2" , "\xfa\xcd\xd8\x4c\x69" } , { "\xd1\xe8\xcf\xdb" , "\xfa\xd6\xc1" } , { "\xd1\xe8\xcf\xdb\xa2" , "\xfa\xd6\xc1\x4c\x69" } , { "\xd1\xe8\xcf\xdd" , "\xfa\xcc\xc1\x56" } , { "\xd1\xe8\xcf\xde" , "\xfa\xcc\xc1\x57" } , { "\xd1\xe8\xcf\xe0" , "\xfa\xdb\xcd\xc1" } , { "\xd1\xe8\xcf\xe1" , "\xfa\xdb\xcd\xc1\x5b" } , { "\xd1\xe8\xcf\xe2" , "\x5c\xdb\xcd\xc1\x51\xfb" } , { "\xd1\xe8\xcf\xe5" , "\xfa\xcd\xdc\x5b" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xfa\xcd\xdd\x4c\x69" } , { "\xd1\xe8\xcf\xe8\xbf" , "\xcc\xde\x4c\xef\x52\x69" } , { "\xd1\xe8\xcf\xe8\xd7" , "\xcc\xc1\xfb\x51\x3d" } , { "\xd1\xe8\xd1" , "\xcc\xfd\xc1" } , { "\xd1\xe8\xd1\xa2" , "\xcc\xfd\xc1\x4c\x69" } , { "\xd1\xe8\xd1\xda" , "\xcd\xfd\xd8" } , { "\xd1\xe8\xd1\xda\xa2" , "\xcd\xfd\xd8\x4c\x69" } , { "\xd1\xe8\xd1\xdb" , "\xd6\xfd\xc1" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xd6\xfd\xc1\x4c\x69" } , { "\xd1\xe8\xd1\xdc" , "\xd6\x64\xfd\xc1" } , { "\xd1\xe8\xd1\xdd" , "\xcc\xfd\xc1\x56" } , { "\xd1\xe8\xd1\xdd\xa2" , "\xcc\xfd\xc1\x56\x4c\x69" } , { "\xd1\xe8\xd1\xde" , "\xcc\xfd\xc1\x57" } , { "\xd1\xe8\xd1\xde\xa1" , "\xcc\xfd\xc1\x57\xb7" } , { "\xd1\xe8\xd1\xe0" , "\xdb\xcd\xfd\xc1" } , { "\xd1\xe8\xd1\xe0\xa2" , "\xdb\xcd\xfd\xc1\x4c\x69" } , { "\xd1\xe8\xd1\xe1" , "\xdb\xcd\xfd\xc1\x5b" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xdb\xcd\xfd\xc1\x5b\x4c\x69" } , { "\xd1\xe8\xd1\xe2" , "\xdb\xcd\xfd\x5e\xc1" } , { "\xd1\xe8\xd1\xe4" , "\xcd\xfd\xdc" } , { "\xd1\xe8\xd1\xe5" , "\xcd\xfd\xdc\x5b" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xcd\xfd\xdc\x5b\x4c\x69" } , { "\xd1\xe8\xd1\xe6" , "\xcd\xfd\xdd" } , { "\xd1\xe8\xd1\xe8" , "\xcd\xde\xfd" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xcc\xde\xcd\xe6\xd8" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\xdb\xcd\xfd\xc1\xf6" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\xcc\xfd\xc1\x57\xf9" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xcc\xde\xcc\xfd\xc1" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xcc\xde\xcd\xfd\xdc\x5b" } , { "\xd1\xe8\xd2" , "\xcc\xc1\xfe" } , { "\xd1\xe8\xd2\xda" , "\xcd\xd8\xfe" } , { "\xd1\xe8\xd2\xda\xa2" , "\xcd\xd8\xfe\x4c\x69" } , { "\xd1\xe8\xd2\xdb" , "\xd6\xc1\xfe" } , { "\xd1\xe8\xd2\xdb\xa2" , "\xd6\xc1\xfe\x4c\x69" } , { "\xd1\xe8\xd2\xdc" , "\xd6\x64\xc1\xfe" } , { "\xd1\xe8\xd2\xdd" , "\xcc\xc1\x56\xfe" } , { "\xd1\xe8\xd2\xe0" , "\xdb\xcd\xc1\xfe" } , { "\xd1\xe8\xd2\xe1" , "\xdb\xcd\xc1\x5b\xfe" } , { "\xd1\xe8\xd2\xe5" , "\xcd\xdc\x5b\xfe" } , { "\xd1\xe8\xd4" , "\xcc\xc1\x2a" } , { "\xd1\xe8\xd4\xa2" , "\xcc\xc1\x2a\x4c\x69" } , { "\xd1\xe8\xd4\xda" , "\xcd\xd8\x2a" } , { "\xd1\xe8\xd4\xda\xa2" , "\xcd\xd8\x2a\x4c\x69" } , { "\xd1\xe8\xd4\xdb" , "\xd6\xc1\x2a" } , { "\xd1\xe8\xd4\xdb\xa2" , "\xd6\xc1\x2a\x4c\x69" } , { "\xd1\xe8\xd4\xdc" , "\xd6\x64\xc1\x2a" } , { "\xd1\xe8\xd4\xdd" , "\xcc\xc1\x56\x2a" } , { "\xd1\xe8\xd4\xe0" , "\xdb\xcd\xc1\x2a" } , { "\xd1\xe8\xd4\xe0\xa2" , "\xdb\xcd\xc1\x2a\x4c\x69" } , { "\xd1\xe8\xd4\xe1" , "\xdb\xcd\xc1\x5b\x2a" } , { "\xd1\xe8\xd4\xe2" , "\x5c\xdb\xcd\xc1\x51\x2a" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\x5c\xdb\xcd\xc1\x51\x2a\xa9\xb1\x73" } , { "\xd1\xe8\xd4\xe5" , "\xcd\xdc\x5b\x2a" } , { "\xd1\xe8\xd4\xe5\xa2" , "\xcd\xdc\x5b\x2a\x4c\x69" } , { "\xd1\xe8\xd4\xe8" , "\xcd\xde\x2a" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\xdb\xcd\xc1\x5b\x2a\x51\xe8" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\xdb\xcd\xc1\x5b\x2a\x51\xf7" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\xcd\xd8\x2a\x51\xf7\xe9" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\xdb\xcd\xc1\x2a\x51\xf8\x4c\x69" } , { "\xd1\xe8\xd4\xe8\xcd" , "\xcc\xc1\x2a\x51\xf9" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\xcd\xd8\x2a\x51\xf9" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\xcc\xc1\x56\x2a\x51\xf9" } , { "\xd1\xe8\xd4\xe8\xd1" , "\xcc\xde\xaa\xfd\xab\x73" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\xcc\xde\xaa\xfd\x79" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\xcc\xde\xaa\xfd\xab\x73\x6f" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\xd6\x64\xc1\x2a\x51\x3d" } , { "\xd1\xe8\xd5" , "\xcc\xc1\x2b" } , { "\xd1\xe8\xd5\xda" , "\xcd\xd8\x2b" } , { "\xd1\xe8\xd5\xdb" , "\xd6\xc1\x2b" } , { "\xd1\xe8\xd5\xe8" , "\xcd\xde\x2b" } , { "\xd1\xe8\xd6" , "\xcc\x3c\xc1" } , { "\xd1\xe8\xd6\xda" , "\xcd\x3c\xd8" } , { "\xd1\xe8\xd6\xdb" , "\xd6\x3c\xc1" } , { "\xd1\xe8\xd6\xe0" , "\xdb\xcd\x3c\xc1" } , { "\xd1\xe8\xd6\xe5" , "\xcd\x3c\xdc\x5b" } , { "\xd1\xe8\xd7" , "\xcc\xc1\x3d" } , { "\xd1\xe8\xd7\xa2" , "\xcc\xc1\x3d\x4c\x69" } , { "\xd1\xe8\xd7\xda" , "\xcd\xd8\x3d" } , { "\xd1\xe8\xd7\xdb" , "\xd6\xc1\x3d" } , { "\xd1\xe8\xd7\xdb\xa2" , "\xd6\xc1\x3d\x4c\x69" } , { "\xd1\xe8\xd7\xdc" , "\xd6\x64\xc1\x3d" } , { "\xd1\xe8\xd7\xdd" , "\xcc\xc1\x56\x3d" } , { "\xd1\xe8\xd7\xdd\xa2" , "\xcc\xc1\x56\x3d\x4c\x69" } , { "\xd1\xe8\xd7\xde" , "\xcc\xc1\x57\x3d" } , { "\xd1\xe8\xd7\xe0" , "\xdb\xcd\xc1\x3d" } , { "\xd1\xe8\xd7\xe0\xa2" , "\xdb\xcd\xc1\x3d\x4c\x69" } , { "\xd1\xe8\xd7\xe1" , "\xdb\xcd\xc1\x5b\x3d" } , { "\xd1\xe8\xd7\xe2" , "\x5c\xdb\xcd\xc1\x51\x3d" } , { "\xd1\xe8\xd7\xe4" , "\xcd\xdc\x3d" } , { "\xd1\xe8\xd7\xe6" , "\xcd\xdd\x3d" } , { "\xd1\xe8\xd7\xe8" , "\xcd\xde\x3d" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\xcd\xd8\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\xd6\xc1\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\xd6\x64\xc1\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\xcc\xc1\x56\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\xcc\xc1\x57\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\xdb\xcd\xc1\x5b\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\xcd\xdc\x5b\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\xcd\xde\x3d\x51\xe4" } , { "\xd1\xe8\xd7\xe8\xb5" , "\xcc\xde\x78\x71\xe6\x73" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\xcc\xde\x72\xe6\x79" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\xcc\xde\x7d\x71\xe6\x73" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\xcc\xde\x7c\x71\xea\x73" } , { "\xd1\xe8\xd7\xe8\xbd" , "\xcc\xde\x78\x71\xed\x73" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\xcc\xde\x72\xed\x79" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\xcc\xde\x72\xed\x79\x4c\x69" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\xcc\xde\x7d\x71\xed\x73" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\xcc\xde\x7c\x71\xed\x5e\x73" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\xcc\xde\x72\xed\xa1\x4c\x69" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xcc\xde\x72\xed\xa1\xfb" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\xcc\xde\x72\xef\x79" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\xcc\xde\x72\xa1\xf2" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\xcc\xde\x72\xf3\x79" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\xcc\xde\x72\xf4\x79" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xcc\xde\x72\xf4\x79\x2a" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\xcc\xde\x72\xf4\xf0\x79" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\xcd\xd8\x3d\x51\xf5" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\xd6\xc1\x3d\x51\xf5" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\xd6\x64\xc1\x3d\x51\xf5" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\xcc\xc1\x56\x3d\x51\xf5" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\xcd\xde\x3d\x51\xf5" } , { "\xd1\xe8\xd7\xe8\xc8" , "\xcc\xc1\x3d\x51\xf6" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\xcd\xd8\x3d\x51\xf6" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\xcc\xc1\x57\x3d\x51\xf6" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\xdb\xcd\xc1\x5b\x3d\x51\xf6" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\xcd\xdc\x3d\x51\xf6" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\xcd\xdc\x5b\x3d\x51\xf6" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\xcd\xd8\x3d\x51\xf6\xe9" } , { "\xd1\xe8\xd7\xe8\xca" , "\xcc\xc1\x3d\x51\xf7" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\xcd\xd8\x3d\x51\xf7" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\xcd\xdc\x3d\x51\xf7" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\xcd\xdc\x5b\x3d\x51\xf7" } , { "\xd1\xe8\xd7\xe8\xcc" , "\xcc\xc1\x3d\x51\xf8" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\xd6\x64\xc1\x3d\x51\xf8" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\xdb\xcd\xc1\x3d\x51\xf8" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\xcc\xde\x72\xfd\x79" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\xcc\xde\x78\x71\xfd\x73\x56" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\xcc\xde\x72\xfd\xa1" } , { "\xd1\xe8\xd7\xe8\xd4" , "\xcc\xc1\x3d\x51\x2a" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\xcd\xd8\x3d\x51\x2a" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\xd6\xc1\x3d\x51\x2a" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\xcc\xc1\x56\x3d\x51\x2a" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\xcc\xde\x72\x3e\x79" } , { "\xd1\xe8\xd8" , "\xcc\x3e\xc1" } , { "\xd1\xe8\xd8\xda" , "\xcd\x3e\xd8" } , { "\xd1\xe8\xd8\xda\xa2" , "\xcd\x3e\xd8\x4c\x69" } , { "\xd1\xe8\xd8\xdb" , "\xd6\x3e\xc1" } , { "\xd1\xe8\xd8\xdc" , "\xd6\x64\x3e\xc1" } , { "\xd1\xe8\xd8\xdd" , "\xcc\x3e\xc1\x56" } , { "\xd1\xe8\xd8\xde" , "\xcc\x3e\xc1\x57" } , { "\xd1\xe8\xd8\xe0" , "\xdb\xcd\x3e\xc1" } , { "\xd1\xe8\xd8\xe1" , "\xdb\xcd\x3e\xc1\x5b" } , { "\xd1\xe8\xd8\xe1\xa2" , "\xdb\xcd\x3e\xc1\x5b\x4c\x69" } , { "\xd1\xe8\xd8\xe2" , "\xdb\xcd\x3e\x5e\xc1" } , { "\xd1\xe8\xd8\xe5" , "\xcd\x3e\xdc\x5b" } , { "\xd1\xe8\xd8\xe5\xa2" , "\xcd\x3e\xdc\x5b\x4c\x69" } , { "\xd1\xe8\xd8\xe6" , "\xcd\x3e\xdd" } , { "\xd1\xe8\xd9\xa6" , "\xcc\xc1\x42" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\xcc\xc1\x4c\xea\x52\x69" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\xcc\xc1\x4c\xef\x52\x69" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\xcc\xc1\x4c\x52\x69\x3d" } , { "\xd1\xe8\xe8" , "\xcd\xde" } , { "\xd1\xe9" , "\xcc\xc1" } , { "\xd1\xe9\xe8\xbf" , "\xcc\xef\xc1" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\xd6\xef\xc1\x4c\x69" } , { "\xd2" , "\xce\xcf\xc1" } , { "\xd2\xa2" , "\xce\xcf\xc1\x4c\x69" } , { "\xd2\xa3" , "\xce\xcf\xc1\x4d" } , { "\xd2\xd3" , "\xce\xcf\xc1\xce\xcf\xc1" } , { "\xd2\xd6" , "\xce\xcf\xc1\x78\x74\x73\x51" } , { "\xd2\xda" , "\xce\xd8" } , { "\xd2\xda\xa2" , "\xce\xd8\x4c\x69" } , { "\xd2\xdb" , "\xd7\xc1" } , { "\xd2\xdb\xa2" , "\xd7\xc1\x4c\x69" } , { "\xd2\xdb\xa3" , "\xd7\xc1\x4d" } , { "\xd2\xdc" , "\xd7\x64\xc1" } , { "\xd2\xdd" , "\xce\xcf\xc1\xa7" } , { "\xd2\xdd\xa2" , "\xce\xcf\xc1\xa7\x4c\x69" } , { "\xd2\xde" , "\xce\xcf\xc1\xa8" } , { "\xd2\xdf" , "\xce\xcf\xc1\x58" } , { "\xd2\xe0" , "\xdb\xce\xc1" } , { "\xd2\xe0\xa2" , "\xdb\xce\xc1\x4c\x69" } , { "\xd2\xe1" , "\xdb\xce\xc1\x5b" } , { "\xd2\xe1\xa2" , "\xdb\xce\xc1\x5b\x4c\x69" } , { "\xd2\xe2" , "\x5c\xdb\xce\xc1" } , { "\xd2\xe2\xa2" , "\x5c\xdb\xce\xc1\x4c\x69" } , { "\xd2\xe4" , "\xce\xdc" } , { "\xd2\xe5" , "\xce\xdc\x5b" } , { "\xd2\xe6" , "\xce\xdd" } , { "\xd2\xe8" , "\xce\xde" } , { "\xd2\xe8\xb3" , "\xce\xcf\xc1\xe4" } , { "\xd2\xe8\xb3\xdd" , "\xce\xcf\xc1\xa7\xe4" } , { "\xd2\xe8\xb4\xdd" , "\xce\xe5\xcf\xc1\xa7" } , { "\xd2\xe8\xb5" , "\xce\xe6\xcf\xc1" } , { "\xd2\xe8\xb5\xdd" , "\xce\xe6\xcf\xc1\xa7" } , { "\xd2\xe8\xb8" , "\xce\xcf\xc1\xe8" } , { "\xd2\xe8\xbd\xdb" , "\xd7\xed\xc1" } , { "\xd2\xe8\xbd\xdc" , "\xd7\x64\xed\xc1" } , { "\xd2\xe8\xc2" , "\xce\xcf\xc1\xf2" } , { "\xd2\xe8\xc2\xda" , "\xce\xd8\xf2" } , { "\xd2\xe8\xc2\xda\xa2" , "\xce\xd8\xf2\x4c\x69" } , { "\xd2\xe8\xc2\xdb\xa2" , "\xd7\xc1\xf2\x4c\x69" } , { "\xd2\xe8\xc2\xdd" , "\xce\xcf\xc1\xa7\xf2" } , { "\xd2\xe8\xc2\xdd\xa2" , "\xce\xcf\xc1\xa7\xf2\x4c\x69" } , { "\xd2\xe8\xc2\xde" , "\xce\xcf\xc1\xa8\xf2" } , { "\xd2\xe8\xc2\xde\xa2" , "\xce\xcf\xc1\xa8\xf2\x4c\x69" } , { "\xd2\xe8\xc2\xe0" , "\xdb\xce\xc1\xf2" } , { "\xd2\xe8\xc2\xe1" , "\xdb\xce\xc1\x5b\xf2" } , { "\xd2\xe8\xc2\xe5" , "\xce\xdc\x5b\xf2" } , { "\xd2\xe8\xc2\xe5\xa2" , "\xce\xdc\x5b\xf2\x4c\x69" } , { "\xd2\xe8\xc3\xdd\xa2" , "\xce\xf3\xcf\xc1\xa7\x4c\x69" } , { "\xd2\xe8\xc4" , "\xce\xf4\xcf\xc1" } , { "\xd2\xe8\xc4\xda" , "\xce\xf4\xd8" } , { "\xd2\xe8\xc4\xda\xa2" , "\xce\xf4\xd8\x4c\x69" } , { "\xd2\xe8\xc4\xdb" , "\xd7\xf4\xc1" } , { "\xd2\xe8\xc4\xdd" , "\xce\xf4\xcf\xc1\xa7" } , { "\xd2\xe8\xc6\xdb" , "\xd7\xc1\xf5" } , { "\xd2\xe8\xc6\xdd" , "\xce\xcf\xc1\xa7\xf5" } , { "\xd2\xe8\xc8" , "\xce\xcf\xc1\xf6" } , { "\xd2\xe8\xc8\xdd" , "\xce\xcf\xc1\xa7\xf6" } , { "\xd2\xe8\xca" , "\xce\xcf\xc1\xf7" } , { "\xd2\xe8\xcd" , "\xce\xcf\xc1\xf9" } , { "\xd2\xe8\xcd\xa2" , "\xce\xcf\xc1\xf9\x4c\x69" } , { "\xd2\xe8\xcd\xda" , "\xce\xd8\xf9" } , { "\xd2\xe8\xcd\xda\xa2" , "\xce\xd8\xf9\x4c\x69" } , { "\xd2\xe8\xcd\xdd" , "\xce\xcf\xc1\xa7\xf9" } , { "\xd2\xe8\xcd\xe8\xcd" , "\xce\xcf\xc1\xf9\x51\xf9" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\xce\xd8\xf9\x51\xf9" } , { "\xd2\xe8\xcf" , "\xfa\xce\xcf\xc1" } , { "\xd2\xe8\xcf\xda" , "\xfa\xce\xd8" } , { "\xd2\xe8\xcf\xdc" , "\xfa\xd7\x64\xc1" } , { "\xd2\xe8\xcf\xe5" , "\xfa\xce\xdc\x5b" } , { "\xd2\xe8\xd1" , "\xce\xfd\xcf\xc1" } , { "\xd2\xe8\xd1\xa2" , "\xce\xfd\xcf\xc1\x4c\x69" } , { "\xd2\xe8\xd1\xda" , "\xce\xfd\xd8" } , { "\xd2\xe8\xd1\xda\xa2" , "\xce\xfd\xd8\x4c\x69" } , { "\xd2\xe8\xd1\xdb" , "\xd7\xfd\xc1" } , { "\xd2\xe8\xd1\xdb\xa2" , "\xd7\xfd\xc1\x4c\x69" } , { "\xd2\xe8\xd1\xdc" , "\xd7\x64\xfd\xc1" } , { "\xd2\xe8\xd1\xdd" , "\xce\xfd\xcf\xc1\xa7" } , { "\xd2\xe8\xd1\xdd\xa2" , "\xce\xfd\xcf\xc1\xa7\x4c\x69" } , { "\xd2\xe8\xd1\xde" , "\xce\xfd\xcf\xc1\xa8" } , { "\xd2\xe8\xd1\xe0" , "\xdb\xce\xfd\xc1" } , { "\xd2\xe8\xd1\xe0\xa2" , "\xdb\xce\xfd\xc1\x4c\x69" } , { "\xd2\xe8\xd1\xe1" , "\xdb\xce\xfd\xc1\x5b" } , { "\xd2\xe8\xd1\xe1\xa2" , "\xdb\xce\xfd\xc1\x5b\x4c\x69" } , { "\xd2\xe8\xd1\xe2" , "\xdb\xce\xfd\x5e\xc1" } , { "\xd2\xe8\xd1\xe2\xa2" , "\xdb\xce\xfd\x5e\xc1\x4c\x69" } , { "\xd2\xe8\xd1\xe4" , "\xce\xfd\xdc" } , { "\xd2\xe8\xd1\xe5" , "\xce\xfd\xdc\x5b" } , { "\xd2\xe8\xd1\xe6" , "\xce\xfd\xdd" } , { "\xd2\xe8\xd2" , "\xce\xcf\xc1\xfe" } , { "\xd2\xe8\xd2\xa2" , "\xce\xcf\xc1\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xda" , "\xce\xd8\xfe" } , { "\xd2\xe8\xd2\xda\xa2" , "\xce\xd8\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xdb" , "\xd7\xc1\xfe" } , { "\xd2\xe8\xd2\xdb\xa2" , "\xd7\xc1\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xdc" , "\xd7\x64\xc1\xfe" } , { "\xd2\xe8\xd2\xdd" , "\xce\xcf\xc1\xa7\xfe" } , { "\xd2\xe8\xd2\xdd\xa2" , "\xce\xcf\xc1\xa7\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xde" , "\xce\xcf\xc1\xa8\xfe" } , { "\xd2\xe8\xd2\xe0" , "\xdb\xce\xc1\xfe" } , { "\xd2\xe8\xd2\xe0\xa2" , "\xdb\xce\xc1\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xe1" , "\xdb\xce\xc1\x5b\xfe" } , { "\xd2\xe8\xd2\xe1\xa2" , "\xdb\xce\xc1\x5b\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xe2" , "\x5c\xdb\xce\xc1\x51\xfe" } , { "\xd2\xe8\xd2\xe2\xa2" , "\x5c\xdb\xce\xc1\x51\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xe4" , "\xce\xdc\xfe" } , { "\xd2\xe8\xd2\xe4\xa2" , "\xce\xdc\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xe5" , "\xce\xdc\x5b\xfe" } , { "\xd2\xe8\xd2\xe5\xa2" , "\xce\xdc\x5b\xfe\x4c\x69" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\xd7\xc1\xfe\x51\xf5" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\xce\xde\xce\xfd\xdc\x5b" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\xd7\x64\xc1\xfe\x51\xfe" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\xce\xcf\xc1\xa7\xfe\x51\x2a" } , { "\xd2\xe8\xd4" , "\xce\xcf\xc1\x2a" } , { "\xd2\xe8\xd4\xda" , "\xce\xd8\x2a" } , { "\xd2\xe8\xd4\xdb" , "\xd7\xc1\x2a" } , { "\xd2\xe8\xd6\xdd" , "\xce\x3c\xcf\xc1\xa7" } , { "\xd2\xe8\xd7\xdb" , "\xd7\xc1\x3d" } , { "\xd2\xe8\xd7\xdd" , "\xce\xcf\xc1\xa7\x3d" } , { "\xd2\xe8\xe8" , "\xce\xde" } , { "\xd3" , "\xce\xcf\xc1" } , { "\xd3\xc9" , "\xce\xcf\xc1\x78\x6d\x6e\x73" } , { "\xd4" , "\xaa\xab\x73" } , { "\xd4\xa1" , "\xaa\xab\x73\xb7" } , { "\xd4\xa2" , "\xaa\xab\x73\x4c\x69" } , { "\xd4\xa3" , "\xaa\xab\x73\x4d" } , { "\xd4\xda" , "\xaa\x79" } , { "\xd4\xda\xa1" , "\xaa\x79\xb7" } , { "\xd4\xda\xa2" , "\xaa\x79\x4c\x69" } , { "\xd4\xda\xa3" , "\xaa\x79\x4d" } , { "\xd4\xdb" , "\xad\x73" } , { "\xd4\xdb\xa2" , "\xad\x73\x4c\x69" } , { "\xd4\xdb\xa3" , "\xad\x73\x4d" } , { "\xd4\xdb\xb3\xdf" , "\xad\x73\x4e\x52\x50\x58" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\xad\x73\x78\x71\x73\xf2\x51\x58" } , { "\xd4\xdc" , "\xad\x64\x73" } , { "\xd4\xdc\xa2" , "\xad\x64\x73\x4c\x69" } , { "\xd4\xdd" , "\xaa\xab\x73\x6f" } , { "\xd4\xdd\xa1" , "\xaa\xab\x73\x6f\xb7" } , { "\xd4\xdd\xa2" , "\xaa\xab\x73\x6f\x4c\x69" } , { "\xd4\xdd\xa2\xa2" , "\xaa\xab\x73\x6f\x4c\x69\x69\x4c\x69" } , { "\xd4\xdd\xa3" , "\xaa\xab\x73\x6f\x4d" } , { "\xd4\xde" , "\xaa\xab\x73\x70" } , { "\xd4\xde\xa1" , "\xaa\xab\x73\x70\xb7" } , { "\xd4\xde\xa2" , "\xaa\xab\x73\x70\x4c\x69" } , { "\xd4\xdf" , "\xaa\xab\x73\x58" } , { "\xd4\xdf\xa2" , "\xaa\xab\x73\x58\x4c\x69" } , { "\xd4\xe0" , "\xae\xaa\x73" } , { "\xd4\xe0\xa2" , "\xae\xaa\x73\x4c\x69" } , { "\xd4\xe1" , "\xae\xaa\x73\x5b" } , { "\xd4\xe1\xa2" , "\xae\xaa\x73\x5b\x4c\x69" } , { "\xd4\xe1\xa3" , "\xae\xaa\x73\x5b\x4d" } , { "\xd4\xe2" , "\x5c\xae\xaa\x73" } , { "\xd4\xe2\xa2" , "\x5c\xae\xaa\x73\x4c\x69" } , { "\xd4\xe2\xa3" , "\x5c\xae\xaa\x73\x4d" } , { "\xd4\xe2\xba\xe8" , "\x5c\xae\xaa\x73\xc7\xde" } , { "\xd4\xe2\xd7\xe8" , "\x5c\xae\xaa\x73\xa3\x71\x73" } , { "\xd4\xe4" , "\xaa\xaf" } , { "\xd4\xe4\xa2" , "\xaa\xaf\x4c\x69" } , { "\xd4\xe5" , "\xaa\xaf\x5b" } , { "\xd4\xe5\xa2" , "\xaa\xaf\x5b\x4c\x69" } , { "\xd4\xe6" , "\xaa\x5f" } , { "\xd4\xe7" , "\xaa\xaf" } , { "\xd4\xe8" , "\xaa\xb1\x73" } , { "\xd4\xe8\xa2" , "\xaa\xb1\x73\x69\x4c\x69" } , { "\xd4\xe8\xb3" , "\xaa\xab\x73\xe4" } , { "\xd4\xe8\xb3\xda" , "\xaa\x79\xe4" } , { "\xd4\xe8\xb3\xdb" , "\xad\x73\xe4" } , { "\xd4\xe8\xb3\xdd" , "\xaa\xab\x73\x6f\xe4" } , { "\xd4\xe8\xb3\xde" , "\xaa\xab\x73\x70\xe4" } , { "\xd4\xe8\xb3\xe0" , "\xae\xaa\x73\xe4" } , { "\xd4\xe8\xb3\xe1" , "\xae\xaa\x73\x5b\xe4" } , { "\xd4\xe8\xb3\xe5" , "\xaa\xaf\x5b\xe4" } , { "\xd4\xe8\xb3\xe8\xb3" , "\xaa\xab\x73\xe4\x51\xe4" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\xad\x73\xe4\x51\xe4" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\xaa\xab\x73\x6f\xe4\x51\xe4" } , { "\xd4\xe8\xb3\xe8\xc2" , "\xaa\xb1\x73\x4e\x52\x50\xf2" } , { "\xd4\xe8\xb3\xe8\xcd" , "\xaa\xab\x73\xe4\x51\xf9" } , { "\xd4\xe8\xb3\xe8\xd6" , "\xaa\xb1\x73\x4f\x52\x50\x51" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\xaa\xb1\x73\x4f\x53\x51" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\xaa\xb1\x73\x4f\x5d\x5b\x51\x4c\x69" } , { "\xd4\xe8\xb5\xda" , "\xaa\xe6\x79" } , { "\xd4\xe8\xb5\xda\xa2" , "\xaa\xe6\x79\x4c\x69" } , { "\xd4\xe8\xb6" , "\xaa\xe7\xab\x73" } , { "\xd4\xe8\xb8" , "\xaa\xab\x73\xe8" } , { "\xd4\xe8\xb8\xda" , "\xaa\x79\xe8" } , { "\xd4\xe8\xb8\xdb" , "\xad\x73\xe8" } , { "\xd4\xe8\xb8\xdd" , "\xaa\xab\x73\x6f\xe8" } , { "\xd4\xe8\xb8\xe0" , "\xae\xaa\x73\xe8" } , { "\xd4\xe8\xb8\xe1" , "\xae\xaa\x73\x5b\xe8" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\xaa\x79\xe8\x51\xe8" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\xaa\xab\x73\x6f\xe8\x51\xe8" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\xae\xaa\x73\x5b\xe8\x51\xe8" } , { "\xd4\xe8\xba" , "\xaa\xea\xab\x73" } , { "\xd4\xe8\xba\xdc" , "\xad\x64\xea\x73" } , { "\xd4\xe8\xba\xe9" , "\xaa\xea\xab\x73" } , { "\xd4\xe8\xbd" , "\xaa\xed\xab\x73" } , { "\xd4\xe8\xbd\xa2" , "\xaa\xed\xab\x73\x4c\x69" } , { "\xd4\xe8\xbd\xda" , "\xaa\xed\x79" } , { "\xd4\xe8\xbd\xe0" , "\xae\xaa\xed\x73" } , { "\xd4\xe8\xbd\xe2" , "\xae\xaa\xed\x5e\x73" } , { "\xd4\xe8\xbd\xe8" , "\xaa\xb1\xed\x73" } , { "\xd4\xe8\xbd\xe8\xd1" , "\xaa\xb1\x73\xc8\xfd\xc1" } , { "\xd4\xe8\xbf" , "\xaa\xef\xab\x73" } , { "\xd4\xe8\xbf\xa2" , "\xaa\xef\xab\x73\x4c\x69" } , { "\xd4\xe8\xbf\xda" , "\xaa\xef\x79" } , { "\xd4\xe8\xbf\xdb" , "\xad\xef\x73" } , { "\xd4\xe8\xbf\xdd" , "\xaa\xef\xab\x73\x6f" } , { "\xd4\xe8\xbf\xe0" , "\xae\xaa\xef\x73" } , { "\xd4\xe8\xc2" , "\xaa\xab\x73\xf2" } , { "\xd4\xe8\xc2\xda" , "\xaa\x79\xf2" } , { "\xd4\xe8\xc2\xda\xa2" , "\xaa\x79\xf2\x4c\x69" } , { "\xd4\xe8\xc2\xdb" , "\xad\x73\xf2" } , { "\xd4\xe8\xc2\xdc" , "\xad\x64\x73\xf2" } , { "\xd4\xe8\xc2\xdd\xa2" , "\xaa\xab\x73\x6f\xf2\x4c\x69" } , { "\xd4\xe8\xc2\xe5" , "\xaa\xaf\x5b\xf2" } , { "\xd4\xe8\xc2\xe8\xc2" , "\xaa\xb1\x73\xbb\x52\xbd\xf2" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\xaa\xb1\x73\xbb\x79\xf2" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\xaa\xb1\x73\xbb\x79\xf2\x4c\x69" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\xaa\xb1\x73\xbc\xbd\xf2" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\xaa\xb1\x73\xbb\x5d\x5b\xf2\x4c\x69" } , { "\xd4\xe8\xc2\xe8\xcd" , "\xaa\xab\x73\xf2\x51\xf9" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\xaa\x79\xf2\x51\xf9" } , { "\xd4\xe8\xc2\xe8\xd7" , "\xaa\xab\x73\xf2\x51\x3d" } , { "\xd4\xe8\xc3\xe0" , "\xae\xaa\xf3\x73" } , { "\xd4\xe8\xc4" , "\xaa\xf4\xab\x73" } , { "\xd4\xe8\xc4\xda" , "\xaa\xf4\x79" } , { "\xd4\xe8\xc4\xdb" , "\xad\xf4\x73" } , { "\xd4\xe8\xc4\xdc" , "\xad\x64\xf4\x73" } , { "\xd4\xe8\xc4\xe5\xa2" , "\xaa\xf4\xaf\x5b\x4c\x69" } , { "\xd4\xe8\xc4\xe8\xc5" , "\xaa\xb1\x73\xb5\xf4\xf0\x52\xb6" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\xaa\xb1\x73\xb5\xf4\xf0\x79" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\xaa\xb1\x73\xb5\xf4\xf0\x6a\xb6" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\xaa\xb1\x73\xb5\xf4\xf0\x5d\x5b\x4c\x69" } , { "\xd4\xe8\xc4\xe8\xd4" , "\xaa\xf4\xab\x73\x2a" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\xad\xf4\x73\x2a" } , { "\xd4\xe8\xc5" , "\xaa\xf4\xf0\xab\x73" } , { "\xd4\xe8\xc5\xda" , "\xaa\xf4\xf0\x79" } , { "\xd4\xe8\xc5\xdb" , "\xad\xf4\xf0\x73" } , { "\xd4\xe8\xc6" , "\xaa\xab\x73\xf5" } , { "\xd4\xe8\xc6\xa2" , "\xaa\xab\x73\xf5\x4c\x69" } , { "\xd4\xe8\xc6\xda" , "\xaa\x79\xf5" } , { "\xd4\xe8\xc6\xdb" , "\xad\x73\xf5" } , { "\xd4\xe8\xc6\xdc" , "\xad\x64\x73\xf5" } , { "\xd4\xe8\xc6\xdd" , "\xaa\xab\x73\x6f\xf5" } , { "\xd4\xe8\xc6\xdd\xa2" , "\xaa\xab\x73\x6f\xf5\x4c\x69" } , { "\xd4\xe8\xc6\xde" , "\xaa\xab\x73\x70\xf5" } , { "\xd4\xe8\xc6\xe0" , "\xae\xaa\x73\xf5" } , { "\xd4\xe8\xc6\xe1" , "\xae\xaa\x73\x5b\xf5" } , { "\xd4\xe8\xc6\xe4" , "\xaa\xaf\xf5" } , { "\xd4\xe8\xc6\xe5" , "\xaa\xaf\x5b\xf5" } , { "\xd4\xe8\xc6\xe8\xc4" , "\xaa\xb1\x73\xa9\xf4\xab\x73" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\xaa\xb1\x73\xa9\xf4\x79" } , { "\xd4\xe8\xc8" , "\xaa\xab\x73\xf6" } , { "\xd4\xe8\xc8\xda" , "\xaa\x79\xf6" } , { "\xd4\xe8\xc8\xdb" , "\xad\x73\xf6" } , { "\xd4\xe8\xc8\xdd" , "\xaa\xab\x73\x6f\xf6" } , { "\xd4\xe8\xc8\xe2" , "\x5c\xae\xaa\x73\x51\xf6" } , { "\xd4\xe8\xc8\xe8\xcf" , "\xaa\xab\x73\xf6\x51\xfb" } , { "\xd4\xe8\xc9" , "\xaa\xab\x73\xf6\xe9" } , { "\xd4\xe8\xca" , "\xaa\xab\x73\xf7" } , { "\xd4\xe8\xca\xdd" , "\xaa\xab\x73\x6f\xf7" } , { "\xd4\xe8\xca\xe5" , "\xaa\xaf\x5b\xf7" } , { "\xd4\xe8\xcb" , "\xaa\xab\x73\xf7\xe9" } , { "\xd4\xe8\xcb\xda" , "\xaa\x79\xf7\xe9" } , { "\xd4\xe8\xcc\xdb" , "\xad\x73\xf8" } , { "\xd4\xe8\xcc\xdc" , "\xad\x64\x73\xf8" } , { "\xd4\xe8\xcc\xe0" , "\xae\xaa\x73\xf8" } , { "\xd4\xe8\xcc\xe0\xa2" , "\xae\xaa\x73\xf8\x4c\x69" } , { "\xd4\xe8\xcc\xe1" , "\xae\xaa\x73\x5b\xf8" } , { "\xd4\xe8\xcd" , "\xaa\xab\x73\xf9" } , { "\xd4\xe8\xcd\xa2" , "\xaa\xab\x73\xf9\x4c\x69" } , { "\xd4\xe8\xcd\xa3" , "\xaa\xab\x73\xf9\x4d" } , { "\xd4\xe8\xcd\xda" , "\xaa\x79\xf9" } , { "\xd4\xe8\xcd\xda\xa1" , "\xaa\x79\xf9\xb7" } , { "\xd4\xe8\xcd\xda\xa2" , "\xaa\x79\xf9\x4c\x69" } , { "\xd4\xe8\xcd\xdc" , "\xad\x64\x73\xf9" } , { "\xd4\xe8\xcd\xdd" , "\xaa\xab\x73\x6f\xf9" } , { "\xd4\xe8\xcd\xdd\xa2" , "\xaa\xab\x73\x6f\xf9\x4c\x69" } , { "\xd4\xe8\xcd\xde" , "\xaa\xab\x73\x70\xf9" } , { "\xd4\xe8\xcd\xe1" , "\xae\xaa\x73\x5b\xf9" } , { "\xd4\xe8\xcd\xe2" , "\x5c\xae\xaa\x73\x51\xf9" } , { "\xd4\xe8\xcd\xe4" , "\xaa\xaf\xf9" } , { "\xd4\xe8\xcd\xe5" , "\xaa\xaf\x5b\xf9" } , { "\xd4\xe8\xcd\xe5\xa2" , "\xaa\xaf\x5b\xf9\x4c\x69" } , { "\xd4\xe8\xcd\xe6" , "\xaa\x5f\xf9" } , { "\xd4\xe8\xcd\xe6\xa2" , "\xaa\x5f\xf9\x4c\x69" } , { "\xd4\xe8\xcd\xe8\xb3" , "\xaa\xab\x73\xf9\x51\xe4" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\xad\x73\xf9\x51\xe4" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\xaa\xb1\x73\xb8\xba\xb6\x56\x4e\x52\x50\xf2" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\xaa\xb1\x73\xb8\xba\xb6\x56\x4e\x54\x50\xf2" } , { "\xd4\xe8\xcd\xe8\xcd" , "\xaa\xab\x73\xf9\x51\xf9" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\xaa\xab\x73\xf9\x51\xf9\x4c\x69" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\xaa\x79\xf9\x51\xf9" } , { "\xd4\xe8\xcf" , "\xfa\xaa\xab\x73" } , { "\xd4\xe8\xcf\xa2" , "\xfa\xaa\xab\x73\x4c\x69" } , { "\xd4\xe8\xcf\xda" , "\xfa\xaa\x79" } , { "\xd4\xe8\xcf\xdb" , "\xfa\xad\x73" } , { "\xd4\xe8\xcf\xdc" , "\xfa\xad\x64\x73" } , { "\xd4\xe8\xcf\xdd" , "\xfa\xaa\xab\x73\x6f" } , { "\xd4\xe8\xcf\xe0\xa2" , "\xfa\xae\xaa\x73\x4c\x69" } , { "\xd4\xe8\xcf\xe1" , "\xfa\xae\xaa\x73\x5b" } , { "\xd4\xe8\xcf\xe2" , "\x5c\xae\xaa\x73\x51\xfb" } , { "\xd4\xe8\xcf\xe5" , "\xfa\xaa\xaf\x5b" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\xaa\xb1\x73\x4c\xf1\x53" } , { "\xd4\xe8\xcf\xe8\xc2" , "\xaa\xb1\x73\x4c\x52\x69\xf2" } , { "\xd4\xe8\xcf\xe8\xcd" , "\xaa\xab\x73\xfb\x51\xf9" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\xaa\x79\xfb\x51\xf9" } , { "\xd4\xe8\xd1" , "\xaa\xfd\xab\x73" } , { "\xd4\xe8\xd1\xda" , "\xaa\xfd\x79" } , { "\xd4\xe8\xd1\xda\xa2" , "\xaa\xfd\x79\x4c\x69" } , { "\xd4\xe8\xd1\xdb" , "\xad\xfd\x73" } , { "\xd4\xe8\xd1\xdc" , "\xad\x64\xfd\x73" } , { "\xd4\xe8\xd1\xdd" , "\xaa\xfd\xab\x73\x6f" } , { "\xd4\xe8\xd1\xde" , "\xaa\xfd\xab\x73\x70" } , { "\xd4\xe8\xd1\xe0" , "\xae\xaa\xfd\x73" } , { "\xd4\xe8\xd1\xe1" , "\xae\xaa\xfd\x73\x5b" } , { "\xd4\xe8\xd1\xe5" , "\xaa\xfd\xaf\x5b" } , { "\xd4\xe8\xd1\xe8\xd1" , "\xaa\xb1\x73\xcc\xfd\xc1" } , { "\xd4\xe8\xd2\xda" , "\xaa\x79\xfe" } , { "\xd4\xe8\xd2\xe8\xd1" , "\xaa\xb1\x73\xce\xfd\xcf\xc1" } , { "\xd4\xe8\xd4" , "\xaa\xab\x73\x2a" } , { "\xd4\xe8\xd4\xa2" , "\xaa\xab\x73\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xda" , "\xaa\x79\x2a" } , { "\xd4\xe8\xd4\xdb" , "\xad\x73\x2a" } , { "\xd4\xe8\xd4\xdb\xa2" , "\xad\x73\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xdc" , "\xad\x64\x73\x2a" } , { "\xd4\xe8\xd4\xdc\xa2" , "\xad\x64\x73\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xdd" , "\xaa\xab\x73\x6f\x2a" } , { "\xd4\xe8\xd4\xdd\xa2" , "\xaa\xab\x73\x6f\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xde" , "\xaa\xab\x73\x70\x2a" } , { "\xd4\xe8\xd4\xde\xa2" , "\xaa\xab\x73\x70\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xe0" , "\xae\xaa\x73\x2a" } , { "\xd4\xe8\xd4\xe0\xa2" , "\xae\xaa\x73\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xe1" , "\xae\xaa\x73\x5b\x2a" } , { "\xd4\xe8\xd4\xe1\xa2" , "\xae\xaa\x73\x5b\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xe2" , "\x5c\xae\xaa\x73\x51\x2a" } , { "\xd4\xe8\xd4\xe4" , "\xaa\xaf\x2a" } , { "\xd4\xe8\xd4\xe4\xa2" , "\xaa\xaf\x2a\x4c\x69" } , { "\xd4\xe8\xd4\xe5" , "\xaa\xaf\x5b\x2a" } , { "\xd4\xe8\xd4\xe8" , "\xaa\xb1\x73\x2a" } , { "\xd4\xe8\xd4\xe8\xcd" , "\xaa\xab\x73\x2a\x51\xf9" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\xad\x73\x2b\x51\xe8" } , { "\xd4\xe8\xd5\xe8\xcd" , "\xaa\xab\x73\x2b\x51\xf9" } , { "\xd4\xe8\xd6" , "\xaa\x3c\xab\x73" } , { "\xd4\xe8\xd6\xda" , "\xaa\x3c\x79" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\xaa\xb1\x73\x7a\x74\xed\x73\x51" } , { "\xd4\xe8\xd7" , "\xaa\xab\x73\x3d" } , { "\xd4\xe8\xd7\xda" , "\xaa\x79\x3d" } , { "\xd4\xe8\xd7\xda\xa2" , "\xaa\x79\x3d\x4c\x69" } , { "\xd4\xe8\xd7\xdb" , "\xad\x73\x3d" } , { "\xd4\xe8\xd7\xdc" , "\xad\x64\x73\x3d" } , { "\xd4\xe8\xd7\xde" , "\xaa\xab\x73\x70\x3d" } , { "\xd4\xe8\xd7\xe0" , "\xae\xaa\x73\x3d" } , { "\xd4\xe8\xd7\xe2" , "\x5c\xae\xaa\x73\x51\x3d" } , { "\xd4\xe8\xd7\xe6" , "\xaa\x5f\x3d" } , { "\xd4\xe8\xd7\xe8" , "\xaa\xb1\x73\x3d" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\xaa\x79\x3d\x51\xe4" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\xad\x64\x73\x3d\x51\xe4" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\xaa\xaf\x3d\x51\xe4" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\xaa\xb1\x73\x3d\x51\xe4" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\xaa\xb1\x73\x72\xe6\x79" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\xaa\xb1\x73\x72\xed\x79" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\xaa\xb1\x73\x72\x79\xf2" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\xaa\xb1\x73\x78\x71\x73\x56\xf2\x4c\x69" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\xaa\xb1\x73\x7d\x71\x73\xf2" } , { "\xd4\xe8\xd7\xe8\xc3" , "\xaa\xb1\x73\x78\x71\xf3\x73" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\xaa\xb1\x73\x72\xf3\x79" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\xad\x73\x3d\x51\xf5" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\xaa\xab\x73\x6f\x3d\x51\xf5" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\xad\x73\x3d\x51\xf6" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\x5c\xae\xaa\x73\x51\x3d\x51\xf6" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\xaa\xab\x73\x3d\x51\xf8\x51\x58" } , { "\xd4\xe8\xd8" , "\xaa\x3e\xab\x73" } , { "\xd4\xe8\xd8\xda" , "\xaa\x3e\x79" } , { "\xd4\xe8\xd8\xda\xa2" , "\xaa\x3e\x79\x4c\x69" } , { "\xd4\xe8\xd8\xdb" , "\xad\x3e\x73" } , { "\xd4\xe8\xd8\xdc" , "\xad\x64\x3e\x73" } , { "\xd4\xe8\xd8\xe1" , "\xae\xaa\x3e\x73\x5b" } , { "\xd4\xe8\xd8\xe2" , "\xae\xaa\x3e\x5e\x73" } , { "\xd4\xe8\xd9\xcd" , "\xaa\xab\x73\xb8\x52\xb6\x56" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\xaa\xab\x73\x4c\x52\x69\xf9" } , { "\xd4\xe8\xe8" , "\xaa\xb1\x73" } , { "\xd4\xe8\xe9\xcf" , "\xfa\xaa\xab\x73" } , { "\xd4\xe9" , "\xaa\xab\x73" } , { "\xd5" , "\x61\x52\x50" } , { "\xd5\xa1" , "\x61\x52\x50\xb7" } , { "\xd5\xa2" , "\x61\x52\x50\x4c\x69" } , { "\xd5\xa2\xa3" , "\x61\x52\x50\x4c\x69\x69\x4d" } , { "\xd5\xa3" , "\x61\x52\x50\x4d" } , { "\xd5\xda" , "\x61\x53" } , { "\xd5\xda\xa1" , "\x61\x53\xb7" } , { "\xd5\xda\xa2" , "\x61\x53\x4c\x69" } , { "\xd5\xda\xa3" , "\x61\x53\x4d" } , { "\xd5\xdb" , "\x62\x50" } , { "\xd5\xdb\xa2" , "\x62\x50\x4c\x69" } , { "\xd5\xdc" , "\x62\x64\x50" } , { "\xd5\xdc\xa2" , "\x62\x64\x50\x4c\x69" } , { "\xd5\xdc\xa3" , "\x62\x64\x50\x4d" } , { "\xd5\xdd" , "\x61\x52\x50\x56" } , { "\xd5\xdd\xa2" , "\x61\x52\x50\x56\x4c\x69" } , { "\xd5\xdd\xa3" , "\x61\x52\x50\x56\x4d" } , { "\xd5\xdd\xd0\xdd" , "\x61\x52\x50\x56\xe0\xe1\x56" } , { "\xd5\xde" , "\x61\x52\x50\x57" } , { "\xd5\xde\xa2" , "\x61\x52\x50\x57\x4c\x69" } , { "\xd5\xdf" , "\x61\x52\x50\x58" } , { "\xd5\xdf\xa2" , "\x61\x52\x50\x58\x4c\x69" } , { "\xd5\xe0" , "\x5a\x61\x50" } , { "\xd5\xe0\xa2" , "\x5a\x61\x50\x4c\x69" } , { "\xd5\xe1" , "\x5a\x61\x50\x5b" } , { "\xd5\xe1\xa2" , "\x5a\x61\x50\x5b\x4c\x69" } , { "\xd5\xe2" , "\x5c\x5a\x61\x50" } , { "\xd5\xe2\xa2" , "\x5c\x5a\x61\x50\x4c\x69" } , { "\xd5\xe4" , "\x61\x5d" } , { "\xd5\xe4\xa2" , "\x61\x5d\x4c\x69" } , { "\xd5\xe5" , "\x61\x5d\x5b" } , { "\xd5\xe5\xa2" , "\x61\x5d\x5b\x4c\x69" } , { "\xd5\xe6" , "\x61\x66" } , { "\xd5\xe6\xa2" , "\x61\x66\x4c\x69" } , { "\xd5\xe7" , "\x61\x5d" } , { "\xd5\xe8" , "\x61\x60\x50" } , { "\xd5\xe8\xa2" , "\x61\x60\x50\x69\x4c\x69" } , { "\xd5\xe8\xb3" , "\x61\x52\x50\xe4" } , { "\xd5\xe8\xb3\xda" , "\x61\x53\xe4" } , { "\xd5\xe8\xb3\xdb" , "\x62\x50\xe4" } , { "\xd5\xe8\xb3\xdc" , "\x62\x64\x50\xe4" } , { "\xd5\xe8\xb3\xdd" , "\x61\x52\x50\x56\xe4" } , { "\xd5\xe8\xb3\xde" , "\x61\x52\x50\x57\xe4" } , { "\xd5\xe8\xb3\xe1" , "\x5a\x61\x50\x5b\xe4" } , { "\xd5\xe8\xb3\xe1\xa2" , "\x5a\x61\x50\x5b\xe4\x4c\x69" } , { "\xd5\xe8\xb3\xe5\xa2" , "\x61\x5d\x5b\xe4\x4c\x69" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\x61\x60\x50\x4e\x54\x50\xf2" } , { "\xd5\xe8\xb3\xe8\xd6" , "\x61\x60\x50\x4f\x52\x50\x51" } , { "\xd5\xe8\xb3\xe9" , "\x61\x52\x50\xe4" } , { "\xd5\xe8\xb4\xa2" , "\x61\xe5\x52\x50\x4c\x69" } , { "\xd5\xe8\xb4\xda" , "\x61\xe5\x53" } , { "\xd5\xe8\xb5\xda" , "\x61\xe6\x53" } , { "\xd5\xe8\xb5\xdd\xa2" , "\x61\xe6\x52\x50\x56\x4c\x69" } , { "\xd5\xe8\xb6\xda" , "\x61\xe7\x53" } , { "\xd5\xe8\xb8" , "\x61\x52\x50\xe8" } , { "\xd5\xe8\xb8\xa2" , "\x61\x52\x50\xe8\x4c\x69" } , { "\xd5\xe8\xb8\xda" , "\x61\x53\xe8" } , { "\xd5\xe8\xb8\xda\xa2" , "\x61\x53\xe8\x4c\x69" } , { "\xd5\xe8\xb8\xdb" , "\x62\x50\xe8" } , { "\xd5\xe8\xb8\xdb\xa2" , "\x62\x50\xe8\x4c\x69" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\x62\x50\xe8\x4c\x69\x69\x4c\x69" } , { "\xd5\xe8\xb8\xdd" , "\x61\x52\x50\x56\xe8" } , { "\xd5\xe8\xb8\xe1" , "\x5a\x61\x50\x5b\xe8" } , { "\xd5\xe8\xb8\xe2" , "\x5c\x5a\x61\x50\x51\x51\xe8" } , { "\xd5\xe8\xb8\xe5" , "\x61\x5d\x5b\xe8" } , { "\xd5\xe8\xb8\xe8\xb9" , "\x61\x52\x50\xe8\x51\xe8\xe9" } , { "\xd5\xe8\xb8\xe8\xcd" , "\x61\x52\x50\xe8\x51\xf9" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\x61\x53\xe8\x51\xf9" } , { "\xd5\xe8\xb9" , "\x61\x52\x50\xe8\xe9" } , { "\xd5\xe8\xb9\xda" , "\x61\x53\xe8\xe9" } , { "\xd5\xe8\xb9\xdb" , "\x62\x50\xe8\xe9" } , { "\xd5\xe8\xb9\xe1" , "\x5a\x61\x50\x5b\xe8\xe9" } , { "\xd5\xe8\xbd" , "\x61\xed\x52\x50" } , { "\xd5\xe8\xbd\xa2" , "\x61\xed\x52\x50\x4c\x69" } , { "\xd5\xe8\xbd\xdb" , "\x62\xed\x50" } , { "\xd5\xe8\xbd\xe5" , "\x61\xed\x5d\x5b" } , { "\xd5\xe8\xbd\xe8\xcd" , "\x61\xed\x52\x50\x51\xf9" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\x61\xed\x53\x51\xf9" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\x61\xed\x52\x50\x57\xf9" } , { "\xd5\xe8\xbd\xe8\xcf" , "\x61\xed\x52\x50\x51\xfb" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\x5a\x61\xed\x50\x5b\x51\xfb" } , { "\xd5\xe8\xbf\xe9\xa1" , "\x61\xef\x52\x50\xb7" } , { "\xd5\xe8\xc2" , "\x61\x52\x50\xf2" } , { "\xd5\xe8\xc2\xda" , "\x61\x53\xf2" } , { "\xd5\xe8\xc2\xdb" , "\x62\x50\xf2" } , { "\xd5\xe8\xc2\xdc" , "\x62\x64\x50\xf2" } , { "\xd5\xe8\xc2\xde" , "\x61\x52\x50\x57\xf2" } , { "\xd5\xe8\xc2\xe1" , "\x5a\x61\x50\x5b\xf2" } , { "\xd5\xe8\xc2\xe1\xa2" , "\x5a\x61\x50\x5b\xf2\x4c\x69" } , { "\xd5\xe8\xc2\xe2" , "\x5a\x61\x5e\x50\x51\x51\xf2" } , { "\xd5\xe8\xc2\xe5" , "\x61\x5d\x5b\xf2" } , { "\xd5\xe8\xc2\xe5\xa2" , "\x61\x5d\x5b\xf2\x4c\x69" } , { "\xd5\xe8\xc3" , "\x61\xf3\x52\x50" } , { "\xd5\xe8\xc3\xda" , "\x61\xf3\x53" } , { "\xd5\xe8\xc5" , "\x61\xf4\xf0\x52\x50" } , { "\xd5\xe8\xc5\xda" , "\x61\xf4\xf0\x53" } , { "\xd5\xe8\xc6" , "\x61\x52\x50\xf5" } , { "\xd5\xe8\xc6\xa2" , "\x61\x52\x50\xf5\x4c\x69" } , { "\xd5\xe8\xc6\xda" , "\x61\x53\xf5" } , { "\xd5\xe8\xc6\xda\xa2" , "\x61\x53\xf5\x4c\x69" } , { "\xd5\xe8\xc6\xdb" , "\x62\x50\xf5" } , { "\xd5\xe8\xc6\xdb\xa2" , "\x62\x50\xf5\x4c\x69" } , { "\xd5\xe8\xc6\xdd" , "\x61\x52\x50\x56\xf5" } , { "\xd5\xe8\xc6\xe0" , "\x5a\x61\x50\xf5" } , { "\xd5\xe8\xc6\xe1" , "\x5a\x61\x50\x5b\xf5" } , { "\xd5\xe8\xc6\xe5" , "\x61\x5d\x5b\xf5" } , { "\xd5\xe8\xc6\xe5\xa2" , "\x61\x5d\x5b\xf5\x4c\x69" } , { "\xd5\xe8\xc6\xe8" , "\x61\x60\x50\xf5" } , { "\xd5\xe8\xc7" , "\x61\x52\x50\xf5" } , { "\xd5\xe8\xc8" , "\x61\x52\x50\xf6" } , { "\xd5\xe8\xc8\xda" , "\x61\x53\xf6" } , { "\xd5\xe8\xc8\xdd" , "\x61\x52\x50\x56\xf6" } , { "\xd5\xe8\xc8\xde" , "\x61\x52\x50\x57\xf6" } , { "\xd5\xe8\xc9" , "\x61\x52\x50\xf6\xe9" } , { "\xd5\xe8\xc9\xdd" , "\x61\x52\x50\x56\xf6\xe9" } , { "\xd5\xe8\xca" , "\x61\x52\x50\xf7" } , { "\xd5\xe8\xcb" , "\x61\x52\x50\xf7\xe9" } , { "\xd5\xe8\xcc" , "\x61\x52\x50\xf8" } , { "\xd5\xe8\xcc\xa2" , "\x61\x52\x50\xf8\x4c\x69" } , { "\xd5\xe8\xcc\xda" , "\x61\x53\xf8" } , { "\xd5\xe8\xcc\xdb" , "\x62\x50\xf8" } , { "\xd5\xe8\xcc\xdb\xa2" , "\x62\x50\xf8\x4c\x69" } , { "\xd5\xe8\xcc\xdc" , "\x62\x64\x50\xf8" } , { "\xd5\xe8\xcc\xdd" , "\x61\x52\x50\x56\xf8" } , { "\xd5\xe8\xcc\xdf" , "\x61\x52\x50\xf8\x51\x58" } , { "\xd5\xe8\xcc\xe1" , "\x5a\x61\x50\x5b\xf8" } , { "\xd5\xe8\xcc\xe1\xa2" , "\x5a\x61\x50\x5b\xf8\x4c\x69" } , { "\xd5\xe8\xcc\xe5\xa2" , "\x61\x5d\x5b\xf8\x4c\x69" } , { "\xd5\xe8\xcd" , "\x61\x52\x50\xf9" } , { "\xd5\xe8\xcd\xa2" , "\x61\x52\x50\xf9\x4c\x69" } , { "\xd5\xe8\xcd\xda" , "\x61\x53\xf9" } , { "\xd5\xe8\xcd\xda\xa2" , "\x61\x53\xf9\x4c\x69" } , { "\xd5\xe8\xcd\xdb" , "\x62\x50\xf9" } , { "\xd5\xe8\xcd\xdc" , "\x62\x64\x50\xf9" } , { "\xd5\xe8\xcd\xdd" , "\x61\x52\x50\x56\xf9" } , { "\xd5\xe8\xcd\xdd\xa2" , "\x61\x52\x50\x56\xf9\x4c\x69" } , { "\xd5\xe8\xcd\xde" , "\x61\x52\x50\x57\xf9" } , { "\xd5\xe8\xcd\xe1" , "\x5a\x61\x50\x5b\xf9" } , { "\xd5\xe8\xcd\xe5" , "\x61\x5d\x5b\xf9" } , { "\xd5\xe8\xcd\xe5\xa2" , "\x61\x5d\x5b\xf9\x4c\x69" } , { "\xd5\xe8\xcd\xe6" , "\x61\x66\xf9" } , { "\xd5\xe8\xcd\xe8" , "\x61\x60\x50\xf9" } , { "\xd5\xe8\xcd\xe8\xb8" , "\x61\x52\x50\xf9\x51\xe8" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\x61\x53\xf9\x51\xf9" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\x61\x52\x50\xf9\x51\x2b\x51\xf9" } , { "\xd5\xe8\xcf" , "\xfa\x61\x52\x50" } , { "\xd5\xe8\xcf\xa2" , "\xfa\x61\x52\x50\x4c\x69" } , { "\xd5\xe8\xcf\xda" , "\xfa\x61\x53" } , { "\xd5\xe8\xcf\xda\xa2" , "\xfa\x61\x53\x4c\x69" } , { "\xd5\xe8\xcf\xdb" , "\xfa\x62\x50" } , { "\xd5\xe8\xcf\xdb\xa2" , "\xfa\x62\x50\x4c\x69" } , { "\xd5\xe8\xcf\xdc" , "\x24" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x24\x4c\x69" } , { "\xd5\xe8\xcf\xdd" , "\xfa\x61\x52\x50\x56" } , { "\xd5\xe8\xcf\xde" , "\xfa\x61\x52\x50\x57" } , { "\xd5\xe8\xcf\xdf" , "\xfa\x61\x52\x50\x51\x58" } , { "\xd5\xe8\xcf\xdf\xa2" , "\xfa\x61\x52\x50\x51\x58\x4c\x69" } , { "\xd5\xe8\xcf\xe1" , "\xfa\x5a\x61\x50\x5b" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xfa\x5a\x61\x50\x5b\x4c\x69" } , { "\xd5\xe8\xcf\xe2" , "\x5c\x5a\x61\x50\x51\x51\xfb" } , { "\xd5\xe8\xcf\xe5" , "\xfa\x61\x5d\x5b" } , { "\xd5\xe8\xcf\xe6" , "\xfa\x61\x66" } , { "\xd5\xe8\xcf\xe7" , "\xfa\x61\x5d" } , { "\xd5\xe8\xcf\xe8\xa2" , "\xfa\x61\x60\x50\x69\x4c\x69" } , { "\xd5\xe8\xcf\xe8\xcc" , "\x61\x52\x50\xfb\x51\xf8" } , { "\xd5\xe8\xcf\xe8\xd4" , "\x61\x52\x50\xfb\x51\x2a" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\x61\x53\xfb\x51\x2a" } , { "\xd5\xe8\xcf\xe8\xd5" , "\x61\x52\x50\xfb\x51\x2b" } , { "\xd5\xe8\xd1" , "\x61\xfd\x52\x50" } , { "\xd5\xe8\xd1\xda" , "\x61\xfd\x53" } , { "\xd5\xe8\xd1\xda\xa2" , "\x61\xfd\x53\x4c\x69" } , { "\xd5\xe8\xd1\xdb" , "\x62\xfd\x50" } , { "\xd5\xe8\xd1\xdc" , "\x62\x64\xfd\x50" } , { "\xd5\xe8\xd1\xdd" , "\x61\xfd\x52\x50\x56" } , { "\xd5\xe8\xd1\xe0" , "\x5a\x61\xfd\x50" } , { "\xd5\xe8\xd1\xe1" , "\x5a\x61\xfd\x50\x5b" } , { "\xd5\xe8\xd1\xe2" , "\x5a\x61\xfd\x5e\x50" } , { "\xd5\xe8\xd1\xe5" , "\x61\xfd\x5d\x5b" } , { "\xd5\xe8\xd1\xe5\xa2" , "\x61\xfd\x5d\x5b\x4c\x69" } , { "\xd5\xe8\xd2" , "\x61\x52\x50\xfe" } , { "\xd5\xe8\xd2\xe1" , "\x5a\x61\x50\x5b\xfe" } , { "\xd5\xe8\xd4" , "\x61\x52\x50\x2a" } , { "\xd5\xe8\xd4\xa2" , "\x61\x52\x50\x2a\x4c\x69" } , { "\xd5\xe8\xd4\xda" , "\x61\x53\x2a" } , { "\xd5\xe8\xd4\xda\xa2" , "\x61\x53\x2a\x4c\x69" } , { "\xd5\xe8\xd4\xdb" , "\x62\x50\x2a" } , { "\xd5\xe8\xd4\xdc" , "\x62\x64\x50\x2a" } , { "\xd5\xe8\xd4\xdd" , "\x61\x52\x50\x56\x2a" } , { "\xd5\xe8\xd4\xe1" , "\x5a\x61\x50\x5b\x2a" } , { "\xd5\xe8\xd4\xe2" , "\x5c\x5a\x61\x50\x51\x51\x2a" } , { "\xd5\xe8\xd4\xe5" , "\x61\x5d\x5b\x2a" } , { "\xd5\xe8\xd4\xe5\xa2" , "\x61\x5d\x5b\x2a\x4c\x69" } , { "\xd5\xe8\xd5" , "\x61\x52\x50\x2b" } , { "\xd5\xe8\xd5\xa2" , "\x61\x52\x50\x2b\x4c\x69" } , { "\xd5\xe8\xd5\xda" , "\x61\x53\x2b" } , { "\xd5\xe8\xd5\xda\xa2" , "\x61\x53\x2b\x4c\x69" } , { "\xd5\xe8\xd5\xdb" , "\x62\x50\x2b" } , { "\xd5\xe8\xd5\xdc" , "\x62\x64\x50\x2b" } , { "\xd5\xe8\xd5\xdd" , "\x61\x52\x50\x56\x2b" } , { "\xd5\xe8\xd5\xde" , "\x61\x52\x50\x57\x2b" } , { "\xd5\xe8\xd5\xdf\xa2" , "\x61\x52\x50\x2b\x51\x58\x4c\x69" } , { "\xd5\xe8\xd5\xe1" , "\x5a\x61\x50\x5b\x2b" } , { "\xd5\xe8\xd5\xe2" , "\x5c\x5a\x61\x50\x51\x51\x2b" } , { "\xd5\xe8\xd5\xe5" , "\x61\x5d\x5b\x2b" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\x62\x64\x50\x2b\x51\xfb" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\x61\x52\x50\x56\x2b\x51\xfb" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\x5a\x61\x50\x5b\x2b\x51\xfb" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\x61\x53\x2b\x51\x2a" } , { "\xd5\xe8\xd6\xe1" , "\x5a\x61\x3c\x50\x5b" } , { "\xd5\xe8\xd6\xe8\xbe" , "\x61\x60\x50\x78\x74\xee\x73\x51" } , { "\xd5\xe8\xd7" , "\x61\x52\x50\x3d" } , { "\xd5\xe8\xd7\xe8\xc2" , "\x61\x60\x50\x78\x71\x73\xf2" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\x61\x60\x50\x7a\x71\x73\xf2" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\x61\x60\x50\x78\x71\x73\xf2\x51\xfb\x4c\x69" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\x61\x60\x50\x72\x79\xf2\x51\xfb" } , { "\xd5\xe8\xd8\xdc" , "\x62\x64\x3e\x50" } , { "\xd5\xe8\xd9" , "\x61\x52\x50" } , { "\xd5\xe8\xd9\xa6" , "\x61\x52\x50\x42" } , { "\xd5\xe8\xd9\xb3" , "\x61\x52\x50\x4e\x52\x50" } , { "\xd5\xe8\xd9\xb8" , "\x61\x52\x50\xbf\x52\xc1" } , { "\xd5\xe8\xd9\xb8\xda" , "\x61\x52\x50\xbf\x79" } , { "\xd5\xe8\xd9\xb8\xdb" , "\x61\x52\x50\xc0\xc1" } , { "\xd5\xe8\xd9\xc2" , "\x61\x52\x50\xbb\x52\xbd" } , { "\xd5\xe8\xd9\xc2\xdc" , "\x61\x52\x50\xbc\x64\xbd" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\x61\x52\x50\xbb\x5d\x5b\x4c\x69" } , { "\xd5\xe8\xd9\xc6" , "\x61\x52\x50\xa9\xab\x73" } , { "\xd5\xe8\xd9\xc6\xe5" , "\x61\x52\x50\xa9\xaf\x5b" } , { "\xd5\xe8\xd9\xcc" , "\x61\x52\x50\xaa\xab\x73\x56" } , { "\xd5\xe8\xd9\xcc\xdc" , "\x61\x52\x50\xad\x64\x73\x56" } , { "\xd5\xe8\xd9\xcd" , "\x61\x52\x50\xb8\x52\xb6\x56" } , { "\xd5\xe8\xd9\xcd\xa2" , "\x61\x52\x50\xb8\x52\xb6\x56\x4c\x69" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\x61\x52\x50\x4c\x52\x69\x2a" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\x61\x52\x50\x4c\x5d\x5b\x2a" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\x61\x52\x50\x4c\x5d\x5b\x2a\x4c\x69" } , { "\xd5\xe8\xd9\xd1\xe1" , "\x61\x52\x50\xdb\xcd\xc1\x5b" } , { "\xd5\xe8\xd9\xd1\xe2" , "\x61\x52\x50\x5c\xdb\xcd\xc1" } , { "\xd5\xe8\xd9\xd4" , "\x61\x52\x50\xaa\xab\x73" } , { "\xd5\xe8\xd9\xd4\xda" , "\x61\x52\x50\xaa\x79" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\x61\x52\x50\xaa\x79\x4c\x69" } , { "\xd5\xe8\xd9\xd4\xdb" , "\x61\x52\x50\xad\x73" } , { "\xd5\xe8\xd9\xd4\xdc" , "\x61\x52\x50\xad\x64\x73" } , { "\xd5\xe8\xd9\xd4\xe1" , "\x61\x52\x50\xae\xaa\x73\x5b" } , { "\xd5\xe8\xd9\xd4\xe2" , "\x61\x52\x50\x5c\xae\xaa\x73" } , { "\xd5\xe8\xe8" , "\x61\x60\x50" } , { "\xd5\xe8\xe9\xcf" , "\xfa\x61\x52\x50" } , { "\xd5\xe8\xe9\xd4" , "\x61\x52\x50\x2a" } , { "\xd5\xe9" , "\x61\x52\x50" } , { "\xd6" , "\x78\x74\x73\x51" } , { "\xd6\xa1" , "\x78\x74\x73\x51\xb7" } , { "\xd6\xa2" , "\x78\x74\x73\x51\x4c\x69" } , { "\xd6\xa3" , "\x78\x74\x73\x51\x4d" } , { "\xd6\xd6" , "\x78\x74\x73\x51\x78\x74\x73\x51" } , { "\xd6\xda" , "\x75\x79" } , { "\xd6\xda\xa2" , "\x75\x79\x4c\x69" } , { "\xd6\xda\xa3" , "\x75\x79\x4d" } , { "\xd6\xdb" , "\x7a\x74\x73\x51" } , { "\xd6\xdb\xa2" , "\x7a\x74\x73\x51\x4c\x69" } , { "\xd6\xdb\xa3" , "\x7a\x74\x73\x51\x4d" } , { "\xd6\xdb\xcc\xe8" , "\x7a\x74\x73\x51\xaa\xb1\x73\x56" } , { "\xd6\xdc" , "\x7b\x74\x73\x51" } , { "\xd6\xdc\xa2" , "\x7b\x74\x73\x51\x4c\x69" } , { "\xd6\xdc\xa3" , "\x7b\x74\x73\x51\x4d" } , { "\xd6\xdd" , "\x78\x74\x73\x76" } , { "\xd6\xdd\xa2" , "\x78\x74\x73\x76\x4c\x69" } , { "\xd6\xde" , "\x78\x74\x73\x77" } , { "\xd6\xdf" , "\x78\x74\x73\x51\x58" } , { "\xd6\xe0" , "\x7c\x74\x73\x51" } , { "\xd6\xe0\xa2" , "\x7c\x74\x73\x51\x4c\x69" } , { "\xd6\xe1" , "\x7d\x74\x73\x51" } , { "\xd6\xe1\xa2" , "\x7d\x74\x73\x51\x4c\x69" } , { "\xd6\xe2" , "\x5c\x7c\x74\x73\x51" } , { "\xd6\xe3" , "\x7c\x74\x73\x51" } , { "\xd6\xe4" , "\x75\x7e" } , { "\xd6\xe5" , "\x75\xa1" } , { "\xd6\xe5\xa2" , "\x75\xa1\x4c\x69" } , { "\xd6\xe6" , "\x75\xa2" } , { "\xd6\xe8" , "\xa3\x74\x73\x51" } , { "\xd6\xe8\xb3" , "\x78\x74\x73\x51\xe4" } , { "\xd6\xe8\xb3\xa2" , "\x78\x74\x73\x51\xe4\x4c\x69" } , { "\xd6\xe8\xb3\xda" , "\x75\x79\xe4" } , { "\xd6\xe8\xb3\xda\xa2" , "\x75\x79\xe4\x4c\x69" } , { "\xd6\xe8\xb3\xdb" , "\x7a\x74\x73\x51\xe4" } , { "\xd6\xe8\xb3\xdb\xa2" , "\x7a\x74\x73\x51\xe4\x4c\x69" } , { "\xd6\xe8\xb3\xdc" , "\x7b\x74\x73\x51\xe4" } , { "\xd6\xe8\xb3\xdd" , "\x78\x74\x73\x76\xe4" } , { "\xd6\xe8\xb3\xde" , "\x78\x74\x73\x77\xe4" } , { "\xd6\xe8\xb3\xdf" , "\x78\x74\x73\x51\xe4\x51\x58" } , { "\xd6\xe8\xb3\xe0\xa2" , "\x7c\x74\x73\x51\xe4\x4c\x69" } , { "\xd6\xe8\xb3\xe5" , "\x75\xa1\xe4" } , { "\xd6\xe8\xb3\xe5\xa2" , "\x75\xa1\xe4\x4c\x69" } , { "\xd6\xe8\xb3\xe8" , "\xa3\x74\x73\x51\xe4" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xa3\x74\x73\x51\x4e\x52\x50\xf2" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\x78\x74\x73\x77\xe4\x51\xf9" } , { "\xd6\xe8\xb3\xe8\xcf" , "\x78\x74\x73\x51\xe4\x51\xfb" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\x75\x79\xe4\x51\xfb" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\x7a\x74\x73\x51\xe4\x51\xfb" } , { "\xd6\xe8\xb3\xe8\xd6" , "\xa3\x74\x73\x51\x4f\x52\x50\x51" } , { "\xd6\xe8\xb4\xda" , "\x75\xe5\x79" } , { "\xd6\xe8\xb5\xda" , "\x75\xe6\x79" } , { "\xd6\xe8\xb5\xdd" , "\x78\x74\xe6\x73\x76" } , { "\xd6\xe8\xb8" , "\x78\x74\x73\x51\xe8" } , { "\xd6\xe8\xb8\xa2" , "\x78\x74\x73\x51\xe8\x4c\x69" } , { "\xd6\xe8\xb8\xda" , "\x75\x79\xe8" } , { "\xd6\xe8\xb8\xdb" , "\x7a\x74\x73\x51\xe8" } , { "\xd6\xe8\xb8\xdb\xa2" , "\x7a\x74\x73\x51\xe8\x4c\x69" } , { "\xd6\xe8\xb8\xe1" , "\x7d\x74\x73\x51\xe8" } , { "\xd6\xe8\xb8\xe8" , "\xa3\x74\x73\x51\xe8" } , { "\xd6\xe8\xba" , "\x78\x74\xea\x73\x51" } , { "\xd6\xe8\xba\xda" , "\x75\xea\x79" } , { "\xd6\xe8\xba\xe5" , "\x75\xea\xa1" } , { "\xd6\xe8\xbd" , "\x78\x74\xed\x73\x51" } , { "\xd6\xe8\xbd\xa2" , "\x78\x74\xed\x73\x51\x4c\x69" } , { "\xd6\xe8\xbd\xa3" , "\x78\x74\xed\x73\x51\x4d" } , { "\xd6\xe8\xbd\xda" , "\x75\xed\x79" } , { "\xd6\xe8\xbd\xda\xa1" , "\x75\xed\x79\xb7" } , { "\xd6\xe8\xbd\xda\xa2" , "\x75\xed\x79\x4c\x69" } , { "\xd6\xe8\xbd\xdb" , "\x7a\x74\xed\x73\x51" } , { "\xd6\xe8\xbd\xdb\xa2" , "\x7a\x74\xed\x73\x51\x4c\x69" } , { "\xd6\xe8\xbd\xdb\xa3" , "\x7a\x74\xed\x73\x51\x4d" } , { "\xd6\xe8\xbd\xdc" , "\x7b\x74\xed\x73\x51" } , { "\xd6\xe8\xbd\xdd" , "\x78\x74\xed\x73\x76" } , { "\xd6\xe8\xbd\xdd\xa2" , "\x78\x74\xed\x73\x76\x4c\x69" } , { "\xd6\xe8\xbd\xde" , "\x78\x74\xed\x73\x77" } , { "\xd6\xe8\xbd\xdf" , "\x78\x74\xed\x73\x51\x51\x58" } , { "\xd6\xe8\xbd\xe0" , "\x7c\x74\xed\x73\x51" } , { "\xd6\xe8\xbd\xe1" , "\x7d\x74\xed\x73\x51" } , { "\xd6\xe8\xbd\xe2" , "\x7c\x74\xed\x5e\x73\x51" } , { "\xd6\xe8\xbd\xe5" , "\x75\xed\xa1" } , { "\xd6\xe8\xbd\xe5\xa2" , "\x75\xed\xa1\x4c\x69" } , { "\xd6\xe8\xbd\xe6" , "\x75\xed\xa2" } , { "\xd6\xe8\xbd\xe8" , "\xa3\x74\xed\x73\x51" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\x75\xed\xa2\xe4\x4c\x69" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\xa3\x74\x73\x51\xc9\xf1\xdc\x5b" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\xa3\x74\x73\x51\xc9\xf4\xdc\x5b" } , { "\xd6\xe8\xbd\xe8\xc8" , "\x78\x74\xed\x73\x51\xf6" } , { "\xd6\xe8\xbd\xe8\xcd" , "\x78\x74\xed\x73\x51\xf9" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\x78\x74\xed\x73\x51\xf9\x4c\x69" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\x75\xed\x79\xf9" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\x75\xed\x79\xf9\x4c\x69" } , { "\xd6\xe8\xbd\xe8\xcf" , "\x78\x74\xed\x73\x51\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\x78\x74\xed\x73\x51\xfb\x4c\x69" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\x75\xed\x79\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\x75\xed\x79\xfb\x4c\x69" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\x7a\x74\xed\x73\x51\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\x7b\x74\xed\x73\x51\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\x78\x74\xed\x73\x76\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\x7d\x74\xed\x73\x51\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\x75\xed\xa1\xfb" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\x75\xed\xa1\xfb\x4c\x69" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\x75\xed\x79\xfb\x51\xf9\x4d" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\xa3\x74\x73\x51\xc8\xde\x4c\xfd\x5d\x5b" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xa3\x74\x73\x51\xc9\xfd\xd8" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\x75\xed\x79\x2a" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\x7c\x74\xed\x5e\x73\x51\x2a" } , { "\xd6\xe8\xbe" , "\x78\x74\xee\x73\x51" } , { "\xd6\xe8\xbe\xa2" , "\x78\x74\xee\x73\x51\x4c\x69" } , { "\xd6\xe8\xbe\xa3" , "\x78\x74\xee\x73\x51\x4d" } , { "\xd6\xe8\xbe\xda" , "\x75\xee\x79" } , { "\xd6\xe8\xbe\xda\xa2" , "\x75\xee\x79\x4c\x69" } , { "\xd6\xe8\xbe\xda\xa3" , "\x75\xee\x79\x4d" } , { "\xd6\xe8\xbe\xdb" , "\x7a\x74\xee\x73\x51" } , { "\xd6\xe8\xbe\xdb\xa2" , "\x7a\x74\xee\x73\x51\x4c\x69" } , { "\xd6\xe8\xbe\xdc" , "\x7b\x74\xee\x73\x51" } , { "\xd6\xe8\xbe\xdd" , "\x78\x74\xee\x73\x76" } , { "\xd6\xe8\xbe\xde" , "\x78\x74\xee\x73\x77" } , { "\xd6\xe8\xbe\xe1" , "\x7d\x74\xee\x73\x51" } , { "\xd6\xe8\xbe\xe5" , "\x75\xee\xa1" } , { "\xd6\xe8\xbe\xe5\xa2" , "\x75\xee\xa1\x4c\x69" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\xa3\x74\x73\x51\x68\x52\x69\x57\xf2" } , { "\xd6\xe8\xbe\xe8\xcd" , "\x78\x74\xee\x73\x51\xf9" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\x78\x74\xee\x73\x51\xf9\x4c\x69" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\x75\xee\x79\xf9" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\x7b\x74\xee\x73\x51\xf9" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\x7d\x74\xee\x73\x51\xf9" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\x7b\x74\xee\x73\x51\xfb" } , { "\xd6\xe8\xbf\xdb\xa3" , "\x7a\x74\xef\x73\x51\x4d" } , { "\xd6\xe8\xbf\xe8" , "\xa3\x74\xef\x73\x51" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\x78\x74\xef\x73\x77\xf9" } , { "\xd6\xe8\xc1" , "\x78\x74\xf1\x73\x51" } , { "\xd6\xe8\xc1\xa1" , "\x78\x74\xf1\x73\x51\xb7" } , { "\xd6\xe8\xc1\xa2" , "\x78\x74\xf1\x73\x51\x4c\x69" } , { "\xd6\xe8\xc1\xda" , "\x75\xf1\x79" } , { "\xd6\xe8\xc1\xda\xa2" , "\x75\xf1\x79\x4c\x69" } , { "\xd6\xe8\xc1\xdb" , "\x7a\x74\xf1\x73\x51" } , { "\xd6\xe8\xc1\xdc" , "\x7b\x74\xf1\x73\x51" } , { "\xd6\xe8\xc1\xdd" , "\x78\x74\xf1\x73\x76" } , { "\xd6\xe8\xc1\xdd\xa2" , "\x78\x74\xf1\x73\x76\x4c\x69" } , { "\xd6\xe8\xc1\xdd\xa3" , "\x78\x74\xf1\x73\x76\x4d" } , { "\xd6\xe8\xc1\xde" , "\x78\x74\xf1\x73\x77" } , { "\xd6\xe8\xc1\xe1" , "\x7d\x74\xf1\x73\x51" } , { "\xd6\xe8\xc1\xe4" , "\x75\xf1\x7e" } , { "\xd6\xe8\xc1\xe5" , "\x75\xf1\xa1" } , { "\xd6\xe8\xc1\xe5\xa2" , "\x75\xf1\xa1\x4c\x69" } , { "\xd6\xe8\xc1\xe5\xa3" , "\x75\xf1\xa1\x4d" } , { "\xd6\xe8\xc1\xe8\xcd" , "\x78\x74\xf1\x73\x51\xf9" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\x75\xf1\x79\xf9" } , { "\xd6\xe8\xc1\xe8\xd4" , "\x78\x74\xf1\x73\x51\x2a" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\x78\x74\xf1\x73\x51\x2a\x4c\x69" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\x75\xf1\x79\x2a" } , { "\xd6\xe8\xc2" , "\x78\x74\x73\x51\xf2" } , { "\xd6\xe8\xc2\xda" , "\x75\x79\xf2" } , { "\xd6\xe8\xc2\xdb" , "\x7a\x74\x73\x51\xf2" } , { "\xd6\xe8\xc2\xdc" , "\x7b\x74\x73\x51\xf2" } , { "\xd6\xe8\xc2\xe5" , "\x75\xa1\xf2" } , { "\xd6\xe8\xc2\xe8\xcf" , "\x78\x74\x73\x51\xf2\x51\xfb" } , { "\xd6\xe8\xc4" , "\x78\x74\xf4\x73\x51" } , { "\xd6\xe8\xc4\xe1" , "\x7d\x74\xf4\x73\x51" } , { "\xd6\xe8\xc6" , "\x78\x74\x73\x51\xf5" } , { "\xd6\xe8\xc6\xda" , "\x75\x79\xf5" } , { "\xd6\xe8\xc6\xdb" , "\x7a\x74\x73\x51\xf5" } , { "\xd6\xe8\xc6\xdd" , "\x78\x74\x73\x76\xf5" } , { "\xd6\xe8\xc6\xdd\xa2" , "\x78\x74\x73\x76\xf5\x4c\x69" } , { "\xd6\xe8\xc6\xde" , "\x78\x74\x73\x77\xf5" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\x78\x74\x73\x76\xf5\x51\x51\xf5" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\xa3\x74\x73\x51\xf5\x51\x51\x3d" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\xa3\x74\x73\x51\xa9\xb1\x73\xa3\x71\x73\xcd\xfd\xdc\x5b" } , { "\xd6\xe8\xc8" , "\x78\x74\x73\x51\xf6" } , { "\xd6\xe8\xc8\xa2" , "\x78\x74\x73\x51\xf6\x4c\x69" } , { "\xd6\xe8\xc8\xda" , "\x75\x79\xf6" } , { "\xd6\xe8\xc8\xda\xa2" , "\x75\x79\xf6\x4c\x69" } , { "\xd6\xe8\xc8\xdb" , "\x7a\x74\x73\x51\xf6" } , { "\xd6\xe8\xc8\xdb\xa2" , "\x7a\x74\x73\x51\xf6\x4c\x69" } , { "\xd6\xe8\xc8\xdc" , "\x7b\x74\x73\x51\xf6" } , { "\xd6\xe8\xc8\xdd" , "\x78\x74\x73\x76\xf6" } , { "\xd6\xe8\xc8\xe1" , "\x7d\x74\x73\x51\xf6" } , { "\xd6\xe8\xc8\xe2" , "\x5c\x7c\x74\x73\x51\x23\xf6" } , { "\xd6\xe8\xc8\xe2\xa3" , "\x5c\x7c\x74\x73\x51\x23\xf6\x4d" } , { "\xd6\xe8\xc8\xe5" , "\x75\xa1\xf6" } , { "\xd6\xe8\xc8\xe5\xa2" , "\x75\xa1\xf6\x4c\x69" } , { "\xd6\xe8\xc8\xe6" , "\x75\xa2\xf6" } , { "\xd6\xe8\xc8\xe8\xcf" , "\x78\x74\x73\x51\xf6\x51\xfb" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\x75\x79\xf6\x51\xfb" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\x7d\x74\x73\x51\xf6\x51\xfb" } , { "\xd6\xe8\xc9" , "\x78\x74\x73\x51\xf6\xe9" } , { "\xd6\xe8\xca" , "\x78\x74\x73\x51\xf7" } , { "\xd6\xe8\xca\xda" , "\x75\x79\xf7" } , { "\xd6\xe8\xca\xe1" , "\x7d\x74\x73\x51\xf7" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\x78\x74\x73\x77\xf7\x51\xfb" } , { "\xd6\xe8\xcb\xda" , "\x75\x79\xf7\xe9" } , { "\xd6\xe8\xcc" , "\x78\x74\x73\x51\xf8" } , { "\xd6\xe8\xcc\xa2" , "\x78\x74\x73\x51\xf8\x4c\x69" } , { "\xd6\xe8\xcc\xda" , "\x75\x79\xf8" } , { "\xd6\xe8\xcc\xda\xa2" , "\x75\x79\xf8\x4c\x69" } , { "\xd6\xe8\xcc\xdb" , "\x7a\x74\x73\x51\xf8" } , { "\xd6\xe8\xcc\xdb\xa2" , "\x7a\x74\x73\x51\xf8\x4c\x69" } , { "\xd6\xe8\xcc\xdc" , "\x7b\x74\x73\x51\xf8" } , { "\xd6\xe8\xcc\xdd" , "\x78\x74\x73\x76\xf8" } , { "\xd6\xe8\xcc\xdd\xa2" , "\x78\x74\x73\x76\xf8\x4c\x69" } , { "\xd6\xe8\xcc\xe0\xa2" , "\x7c\x74\x73\x51\xf8\x4c\x69" } , { "\xd6\xe8\xcc\xe1" , "\x7d\x74\x73\x51\xf8" } , { "\xd6\xe8\xcc\xe4" , "\x75\x7e\xf8" } , { "\xd6\xe8\xcc\xe5" , "\x75\xa1\xf8" } , { "\xd6\xe8\xcc\xe5\xa2" , "\x75\xa1\xf8\x4c\x69" } , { "\xd6\xe8\xcd" , "\x78\x74\x73\x51\xf9" } , { "\xd6\xe8\xcd\xa2" , "\x78\x74\x73\x51\xf9\x4c\x69" } , { "\xd6\xe8\xcd\xa3" , "\x78\x74\x73\x51\xf9\x4d" } , { "\xd6\xe8\xcd\xda" , "\x75\x79\xf9" } , { "\xd6\xe8\xcd\xdb" , "\x7a\x74\x73\x51\xf9" } , { "\xd6\xe8\xcd\xdd" , "\x78\x74\x73\x76\xf9" } , { "\xd6\xe8\xcd\xdd\xa2" , "\x78\x74\x73\x76\xf9\x4c\x69" } , { "\xd6\xe8\xcd\xde" , "\x78\x74\x73\x77\xf9" } , { "\xd6\xe8\xcd\xe1" , "\x7d\x74\x73\x51\xf9" } , { "\xd6\xe8\xcd\xe5" , "\x75\xa1\xf9" } , { "\xd6\xe8\xcd\xe5\xa2" , "\x75\xa1\xf9\x4c\x69" } , { "\xd6\xe8\xcd\xe8" , "\xa3\x74\x73\x51\xf9" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\xa3\x74\x73\x51\xb8\x52\xb6\xed\x57" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\x75\x79\xf9\x51\xf9" } , { "\xd6\xe8\xcd\xe8\xcf" , "\x78\x74\x73\x51\xf9\x51\xfb" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\x75\x79\xf9\x51\xfb" } , { "\xd6\xe8\xcf" , "\xfa\x78\x74\x73\x51" } , { "\xd6\xe8\xcf\xa2" , "\xfa\x78\x74\x73\x51\x4c\x69" } , { "\xd6\xe8\xcf\xda" , "\xfa\x75\x79" } , { "\xd6\xe8\xcf\xdc" , "\xfa\x7b\x74\x73\x51" } , { "\xd6\xe8\xcf\xdd" , "\xfa\x78\x74\x73\x76" } , { "\xd6\xe8\xcf\xde" , "\xfa\x78\x74\x73\x77" } , { "\xd6\xe8\xcf\xdf" , "\xfa\x78\x74\x73\x51\x51\x58" } , { "\xd6\xe8\xcf\xe0" , "\xfa\x7c\x74\x73\x51" } , { "\xd6\xe8\xcf\xe2" , "\x5c\x7c\x74\x73\x51\x23\xfb" } , { "\xd6\xe8\xcf\xe5" , "\xfa\x75\xa1" } , { "\xd6\xe8\xcf\xe8" , "\xfa\xa3\x74\x73\x51" } , { "\xd6\xe8\xcf\xe8\xb3" , "\x78\x74\x73\x51\xfb\x51\xe4" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\x75\x79\xfb\x51\xf9" } , { "\xd6\xe8\xd1" , "\x78\x74\xfd\x73\x51" } , { "\xd6\xe8\xd1\xda" , "\x75\xfd\x79" } , { "\xd6\xe8\xd1\xda\xa2" , "\x75\xfd\x79\x4c\x69" } , { "\xd6\xe8\xd1\xdc" , "\x7b\x74\xfd\x73\x51" } , { "\xd6\xe8\xd1\xdd" , "\x78\x74\xfd\x73\x76" } , { "\xd6\xe8\xd1\xde" , "\x78\x74\xfd\x73\x77" } , { "\xd6\xe8\xd1\xe0" , "\x7c\x74\xfd\x73\x51" } , { "\xd6\xe8\xd1\xe1" , "\x7d\x74\xfd\x73\x51" } , { "\xd6\xe8\xd1\xe2" , "\x7c\x74\xfd\x5e\x73\x51" } , { "\xd6\xe8\xd1\xe5" , "\x75\xfd\xa1" } , { "\xd6\xe8\xd4" , "\x78\x74\x73\x51\x2a" } , { "\xd6\xe8\xd4\xa2" , "\x78\x74\x73\x51\x2a\x4c\x69" } , { "\xd6\xe8\xd4\xda" , "\x75\x79\x2a" } , { "\xd6\xe8\xd4\xdb" , "\x7a\x74\x73\x51\x2a" } , { "\xd6\xe8\xd4\xdc" , "\x7b\x74\x73\x51\x2a" } , { "\xd6\xe8\xd4\xdd" , "\x78\x74\x73\x76\x2a" } , { "\xd6\xe8\xd4\xe2" , "\x5c\x7c\x74\x73\x51\x23\x2a" } , { "\xd6\xe8\xd5" , "\x78\x74\x73\x51\x2b" } , { "\xd6\xe8\xd5\xda" , "\x75\x79\x2b" } , { "\xd6\xe8\xd6" , "\x78\x74\x3c\x73\x51" } , { "\xd6\xe8\xd6\xda" , "\x75\x3c\x79" } , { "\xd6\xe8\xd6\xdb" , "\x7a\x74\x3c\x73\x51" } , { "\xd6\xe8\xd6\xdd" , "\x78\x74\x3c\x73\x76" } , { "\xd6\xe8\xd6\xde" , "\x78\x74\x3c\x73\x77" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\xa3\x74\x73\x51\x78\x74\xf1\x73\x76" } , { "\xd6\xe8\xd7\xe2" , "\x5c\x7c\x74\x73\x51\x23\x3d" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\x78\x74\x73\x51\x4c\x53\xf9" } , { "\xd6\xe8\xe8" , "\xa3\x74\x73\x51" } , { "\xd7" , "\x78\x71\x73" } , { "\xd7\xa1" , "\x78\x71\x73\xb7" } , { "\xd7\xa2" , "\x78\x71\x73\x4c\x69" } , { "\xd7\xa3" , "\x78\x71\x73\x4d" } , { "\xd7\xd0" , "\x78\x71\x73\xe0\xe1" } , { "\xd7\xd0\xd1" , "\x78\x71\x73\xe0\xe1\xcc\xc1" } , { "\xd7\xda" , "\x72\x79" } , { "\xd7\xda\xa1" , "\x72\x79\xb7" } , { "\xd7\xda\xa2" , "\x72\x79\x4c\x69" } , { "\xd7\xda\xa3" , "\x72\x79\x4d" } , { "\xd7\xdb" , "\x7a\x71\x73" } , { "\xd7\xdb\xa2" , "\x7a\x71\x73\x4c\x69" } , { "\xd7\xdb\xa2\xa2" , "\x7a\x71\x73\x4c\x69\x69\x4c\x69" } , { "\xd7\xdb\xa2\xa3" , "\x7a\x71\x73\x4c\x69\x69\x4d" } , { "\xd7\xdb\xbd\xe8" , "\x7a\x71\x73\xc9\xde" } , { "\xd7\xdc" , "\x7b\x71\x73" } , { "\xd7\xdc\xa2" , "\x7b\x71\x73\x4c\x69" } , { "\xd7\xdd" , "\x78\x71\x73\x56" } , { "\xd7\xdd\xa1" , "\x78\x71\x73\x56\xb7" } , { "\xd7\xdd\xa2" , "\x78\x71\x73\x56\x4c\x69" } , { "\xd7\xdd\xa3" , "\x78\x71\x73\x56\x4d" } , { "\xd7\xde" , "\x78\x71\x73\x57" } , { "\xd7\xde\xa1" , "\x78\x71\x73\x57\xb7" } , { "\xd7\xde\xa2" , "\x78\x71\x73\x57\x4c\x69" } , { "\xd7\xdf" , "\x78\x71\x73\x58" } , { "\xd7\xdf\xa2" , "\x78\x71\x73\x58\x4c\x69" } , { "\xd7\xe0" , "\x7c\x71\x73" } , { "\xd7\xe0\xa2" , "\x7c\x71\x73\x4c\x69" } , { "\xd7\xe1" , "\x7d\x71\x73" } , { "\xd7\xe1\xa2" , "\x7d\x71\x73\x4c\x69" } , { "\xd7\xe2" , "\x5c\x7c\x71\x73" } , { "\xd7\xe2\xa2" , "\x5c\x7c\x71\x73\x4c\x69" } , { "\xd7\xe3" , "\x7c\x71\x73" } , { "\xd7\xe4" , "\x72\x7e" } , { "\xd7\xe4\xa2" , "\x72\x7e\x4c\x69" } , { "\xd7\xe5" , "\x72\xa1" } , { "\xd7\xe5\xa2" , "\x72\xa1\x4c\x69" } , { "\xd7\xe6" , "\x72\xa2" } , { "\xd7\xe6\xa2" , "\x72\xa2\x4c\x69" } , { "\xd7\xe6\xc2\xe8" , "\x72\xa2\xbb\x60\xbd" } , { "\xd7\xe7" , "\x72\x7e" } , { "\xd7\xe7\xa2" , "\x72\x7e\x4c\x69" } , { "\xd7\xe8" , "\xa3\x71\x73" } , { "\xd7\xe8\xb3" , "\x78\x71\x73\xe4" } , { "\xd7\xe8\xb3\xa2" , "\x78\x71\x73\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xda" , "\x72\x79\xe4" } , { "\xd7\xe8\xb3\xda\xa1" , "\x72\x79\xe4\xb7" } , { "\xd7\xe8\xb3\xda\xa2" , "\x72\x79\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xdb" , "\x7a\x71\x73\xe4" } , { "\xd7\xe8\xb3\xdc" , "\x7b\x71\x73\xe4" } , { "\xd7\xe8\xb3\xdc\xa2" , "\x7b\x71\x73\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xdd" , "\x78\x71\x73\x56\xe4" } , { "\xd7\xe8\xb3\xde" , "\x78\x71\x73\x57\xe4" } , { "\xd7\xe8\xb3\xdf" , "\x78\x71\x73\xe4\x51\x58" } , { "\xd7\xe8\xb3\xe0" , "\x7c\x71\x73\xe4" } , { "\xd7\xe8\xb3\xe1" , "\x7d\x71\x73\xe4" } , { "\xd7\xe8\xb3\xe1\xa2" , "\x7d\x71\x73\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xe2" , "\x5c\x7c\x71\x73\x23\xe4" } , { "\xd7\xe8\xb3\xe2\xa2" , "\x5c\x7c\x71\x73\x23\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xe4" , "\x72\x7e\xe4" } , { "\xd7\xe8\xb3\xe5" , "\x72\xa1\xe4" } , { "\xd7\xe8\xb3\xe5\xa2" , "\x72\xa1\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xe6" , "\x72\xa2\xe4" } , { "\xd7\xe8\xb3\xe6\xa2" , "\x72\xa2\xe4\x4c\x69" } , { "\xd7\xe8\xb3\xe7" , "\x72\x7e\xe4" } , { "\xd7\xe8\xb3\xe8" , "\xa3\x71\x73\xe4" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\x7a\x71\x73\xe4\x51\xe4" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\x78\x71\x73\x56\xe4\x51\xe4" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\x7d\x71\x73\xe4\x51\xe8" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\xa3\x71\x73\x4e\xed\x55\x50\x51\xe4" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\xa3\x71\x73\x4e\xed\x52\x50\x56\xf5" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xa3\x71\x73\x4e\x52\x50\xf2" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xa3\x71\x73\x4e\x54\x50\xf2" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xa3\x71\x73\x4e\x52\x50\x56\xf2" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\x7a\x71\x73\xe4\x51\xf5" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\x78\x71\x73\x56\xe4\x51\xf5" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\x72\x79\xe4\x51\xf6" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\x7a\x71\x73\xe4\x51\xf8" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\x78\x71\x73\x56\xe4\x51\xf9" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\x78\x71\x73\x57\xe4\x51\xf9" } , { "\xd7\xe8\xb3\xe8\xcf" , "\x78\x71\x73\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\x72\x79\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\x7a\x71\x73\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\x7b\x71\x73\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\x7b\x71\x73\xe4\x51\xfb\x4c\x69" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\x78\x71\x73\x56\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\x78\x71\x73\x57\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\x7d\x71\x73\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\x5c\x7c\x71\x73\x23\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\x72\xa1\xe4\x51\xfb" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\x72\xa2\xe4\x51\xfb\x4c\x69" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xa3\x71\x73\x4e\xfd\x54\x50" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\xa3\x71\x73\x4e\xfd\x55\x50" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\xa3\x71\x73\x4e\xfd\x52\x50\x56" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\xa3\x71\x73\x5a\x4e\xfd\x50" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xa3\x71\x73\x5a\x4e\xfd\x50\x5b" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xa3\x71\x73\x4e\xfd\x5d\x5b" } , { "\xd7\xe8\xb3\xe8\xd4" , "\x78\x71\x73\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\x72\x79\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\x7a\x71\x73\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\x7b\x71\x73\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\x7c\x71\x73\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\x7d\x71\x73\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\x5c\x7c\x71\x73\x23\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\x72\x7e\xe4\x51\x2a" } , { "\xd7\xe8\xb3\xe8\xd5" , "\x78\x71\x73\xe4\x51\x2b" } , { "\xd7\xe8\xb3\xe8\xd7" , "\x78\x71\x73\xe4\x51\x3d" } , { "\xd7\xe8\xb3\xe9" , "\x78\x71\x73\xe4" } , { "\xd7\xe8\xb4" , "\x78\x71\xe5\x73" } , { "\xd7\xe8\xb4\xa2" , "\x78\x71\xe5\x73\x4c\x69" } , { "\xd7\xe8\xb4\xda" , "\x72\xe5\x79" } , { "\xd7\xe8\xb4\xdb" , "\x7a\x71\xe5\x73" } , { "\xd7\xe8\xb4\xdc" , "\x7b\x71\xe5\x73" } , { "\xd7\xe8\xb4\xe1" , "\x7d\x71\xe5\x73" } , { "\xd7\xe8\xb4\xe5\xa2" , "\x72\xe5\xa1\x4c\x69" } , { "\xd7\xe8\xb4\xe8\xcd" , "\x78\x71\xe5\x73\xf9" } , { "\xd7\xe8\xb4\xe9\xe1" , "\x7d\x71\xe5\x73" } , { "\xd7\xe8\xb5" , "\x78\x71\xe6\x73" } , { "\xd7\xe8\xb5\xda" , "\x72\xe6\x79" } , { "\xd7\xe8\xb5\xdd" , "\x78\x71\xe6\x73\x56" } , { "\xd7\xe8\xb5\xde" , "\x78\x71\xe6\x73\x57" } , { "\xd7\xe8\xb5\xe5" , "\x72\xe6\xa1" } , { "\xd7\xe8\xb5\xe6" , "\x72\xe6\xa2" } , { "\xd7\xe8\xb5\xe8" , "\xa3\x71\xe6\x73" } , { "\xd7\xe8\xb8" , "\x78\x71\x73\xe8" } , { "\xd7\xe8\xb8\xa2" , "\x78\x71\x73\xe8\x4c\x69" } , { "\xd7\xe8\xb8\xda" , "\x72\x79\xe8" } , { "\xd7\xe8\xb8\xdb" , "\x7a\x71\x73\xe8" } , { "\xd7\xe8\xb8\xdd" , "\x78\x71\x73\x56\xe8" } , { "\xd7\xe8\xb8\xde" , "\x78\x71\x73\x57\xe8" } , { "\xd7\xe8\xb8\xdf" , "\x78\x71\x73\xe8\x51\x58" } , { "\xd7\xe8\xb8\xe0" , "\x7c\x71\x73\xe8" } , { "\xd7\xe8\xb8\xe1" , "\x7d\x71\x73\xe8" } , { "\xd7\xe8\xb8\xe5" , "\x72\xa1\xe8" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\x7b\x71\x73\xe8\x51\xfb" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\x7c\x71\x73\xe8\x51\xfb" } , { "\xd7\xe8\xb9\xda" , "\x72\x79\xe8\xe9" } , { "\xd7\xe8\xba" , "\x78\x71\xea\x73" } , { "\xd7\xe8\xba\xda" , "\x72\xea\x79" } , { "\xd7\xe8\xba\xdb" , "\x7a\x71\xea\x73" } , { "\xd7\xe8\xba\xdc" , "\x7b\x71\xea\x73" } , { "\xd7\xe8\xba\xe1" , "\x7d\x71\xea\x73" } , { "\xd7\xe8\xba\xe8\xbc" , "\xa3\x71\x73\xc7\xec\xc1" } , { "\xd7\xe8\xba\xe9\xdb" , "\x7a\x71\xea\x73" } , { "\xd7\xe8\xbd" , "\x78\x71\xed\x73" } , { "\xd7\xe8\xbd\xa2" , "\x78\x71\xed\x73\x4c\x69" } , { "\xd7\xe8\xbd\xda" , "\x72\xed\x79" } , { "\xd7\xe8\xbd\xda\xa1" , "\x72\xed\x79\xb7" } , { "\xd7\xe8\xbd\xda\xa2" , "\x72\xed\x79\x4c\x69" } , { "\xd7\xe8\xbd\xdb" , "\x7a\x71\xed\x73" } , { "\xd7\xe8\xbd\xdb\xa2" , "\x7a\x71\xed\x73\x4c\x69" } , { "\xd7\xe8\xbd\xdc" , "\x7b\x71\xed\x73" } , { "\xd7\xe8\xbd\xdc\xa2" , "\x7b\x71\xed\x73\x4c\x69" } , { "\xd7\xe8\xbd\xdd" , "\x78\x71\xed\x73\x56" } , { "\xd7\xe8\xbd\xde" , "\x78\x71\xed\x73\x57" } , { "\xd7\xe8\xbd\xde\xa2" , "\x78\x71\xed\x73\x57\x4c\x69" } , { "\xd7\xe8\xbd\xe0" , "\x7c\x71\xed\x73" } , { "\xd7\xe8\xbd\xe0\xa2" , "\x7c\x71\xed\x73\x4c\x69" } , { "\xd7\xe8\xbd\xe1" , "\x7d\x71\xed\x73" } , { "\xd7\xe8\xbd\xe1\xa2" , "\x7d\x71\xed\x73\x4c\x69" } , { "\xd7\xe8\xbd\xe2" , "\x7c\x71\xed\x5e\x73" } , { "\xd7\xe8\xbd\xe2\xa2" , "\x7c\x71\xed\x5e\x73\x4c\x69" } , { "\xd7\xe8\xbd\xe4" , "\x72\xed\x7e" } , { "\xd7\xe8\xbd\xe5" , "\x72\xed\xa1" } , { "\xd7\xe8\xbd\xe5\xa2" , "\x72\xed\xa1\x4c\x69" } , { "\xd7\xe8\xbd\xe6" , "\x72\xed\xa2" } , { "\xd7\xe8\xbd\xe7" , "\x72\xed\x7e" } , { "\xd7\xe8\xbd\xe8" , "\xa3\x71\xed\x73" } , { "\xd7\xe8\xbd\xe8\xb3" , "\x78\x71\xed\x73\xe4" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\x72\xed\x79\xe4" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\x7a\x71\xed\x73\xe4" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\x72\xed\x7e\xe4" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\x72\xed\xa1\xe4" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\xa3\x71\x73\xc8\xde\x4e\xfd\x53" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\xa3\x71\x73\xc9\xe6\xd8" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\xa3\x71\x73\xdb\xc9\xe6\xc1\x5b" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\xa3\x71\x73\xc9\xe6\xd8\xfb" } , { "\xd7\xe8\xbd\xe8\xb8" , "\x78\x71\xed\x73\xe8" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\x7c\x71\xed\x73\xe8" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\x7d\x71\xed\x73\xe8" } , { "\xd7\xe8\xbd\xe8\xba" , "\xa3\x71\x73\xc8\xea\xc1" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\xa3\x71\x73\xdb\xc9\xed\x5e\xc1" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\xa3\x71\x73\xc8\xed\xc1\x57\xf9" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\xa3\x71\x73\xc9\xdc\x5b\xf2" } , { "\xd7\xe8\xbd\xe8\xc6" , "\x78\x71\xed\x73\xf5" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\x7a\x71\xed\x73\xf5" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\x78\x71\xed\x73\x56\xf5" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\x7d\x71\xed\x73\xf5" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\x7c\x71\xed\x5e\x73\xf5" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\xa3\x71\xed\x73\xf5" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\x72\xed\x79\xf6" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\x7a\x71\xed\x73\xf6\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\x7c\x71\xed\x5e\x73\xf6" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\x72\xed\xa1\xf6" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\x7c\x71\xed\x5e\x73\xf6\x51\xfb" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\x72\xed\x79\xf6\xe9" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\x7a\x71\xed\x73\xf6\xe9" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\x72\xed\x79\xf7" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\x7a\x71\xed\x73\xf7" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\x7c\x71\xed\x73\xf7\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\x72\xed\xa2\xf7" } , { "\xd7\xe8\xbd\xe8\xcc" , "\x78\x71\xed\x73\xf8" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\x72\xed\x79\xf8" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\x78\x71\xed\x73\x57\xf9" } , { "\xd7\xe8\xbd\xe8\xcf" , "\x78\x71\xed\x73\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\x78\x71\xed\x73\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\x72\xed\x79\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\x72\xed\x79\xfb\xb7" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\x72\xed\x79\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\x7a\x71\xed\x73\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\x7a\x71\xed\x73\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\x7b\x71\xed\x73\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\x78\x71\xed\x73\x56\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\x7c\x71\xed\x73\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\x7c\x71\xed\x73\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\x7d\x71\xed\x73\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\x7d\x71\xed\x73\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\x7c\x71\xed\x5e\x73\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\x7c\x71\xed\x5e\x73\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\x72\xed\xa1\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\x72\xed\x7e\xfb" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\x72\xed\x7e\xfb\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xd1" , "\xa3\x71\x73\xc8\xfd\xc1" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\xa3\x71\x73\xc9\xfd\xd8" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\xa3\x71\x73\xc9\xfd\xd3\xc1" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\xa3\x71\x73\xc9\xfd\xd4\xc1" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\xa3\x71\x73\xc8\xfd\xc1\x56" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\xa3\x71\x73\xdb\xc9\xfd\x5e\xc1" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\xa3\x71\x73\xc9\xfd\xdc\x5b" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\x78\x71\xed\x73\x2a\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\x72\xed\x79\x2a" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\xa3\x71\x73\xc9\x3c\xdc\x5b" } , { "\xd7\xe8\xbd\xe8\xd7" , "\x78\x71\xed\x73\x3d" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\x7a\x71\xed\x73\x3d\x4c\x69" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\x78\x71\xed\x73\x56\x3d" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\x7c\x71\xed\x73\x3d" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\x7d\x71\xed\x73\x3d" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\xa3\x71\xed\x73\x3d" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\xa3\x71\x73\xc8\xde\x7a\x71\xfd\x73" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\x78\x71\xed\x73\x3d\x51\x2a" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\xa3\x71\x73\xc9\x3e\xd8" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\xa3\x71\x73\xc9\x3e\xd3\xc1" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\xa3\x71\x73\xc9\x3e\xdc\x5b" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\x78\x71\xed\x73\x78\x71\x73" } , { "\xd7\xe8\xbe" , "\x78\x71\xee\x73" } , { "\xd7\xe8\xbe\xda" , "\x72\xee\x79" } , { "\xd7\xe8\xbe\xdb" , "\x7a\x71\xee\x73" } , { "\xd7\xe8\xbe\xdd" , "\x78\x71\xee\x73\x56" } , { "\xd7\xe8\xbe\xe0" , "\x7c\x71\xee\x73" } , { "\xd7\xe8\xbf" , "\x78\x71\xef\x73" } , { "\xd7\xe8\xbf\xda" , "\x72\xef\x79" } , { "\xd7\xe8\xbf\xdb" , "\x7a\x71\xef\x73" } , { "\xd7\xe8\xbf\xdd" , "\x78\x71\xef\x73\x56" } , { "\xd7\xe8\xbf\xe0" , "\x7c\x71\xef\x73" } , { "\xd7\xe8\xbf\xe1" , "\x7d\x71\xef\x73" } , { "\xd7\xe8\xbf\xe2" , "\x7c\x71\xef\x5e\x73" } , { "\xd7\xe8\xbf\xe8" , "\xa3\x71\xef\x73" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\x72\xef\x79\xe4" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\x7a\x71\xef\x73\xfb\x4c\x69" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\x7c\x71\xef\x73\xfb" } , { "\xd7\xe8\xc1" , "\x78\x71\xf1\x73" } , { "\xd7\xe8\xc1\xdd" , "\x78\x71\xf1\x73\x56" } , { "\xd7\xe8\xc2" , "\x78\x71\x73\xf2" } , { "\xd7\xe8\xc2\xa2" , "\x78\x71\x73\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xda" , "\x72\x79\xf2" } , { "\xd7\xe8\xc2\xda\xa1" , "\x72\x79\xf2\xb7" } , { "\xd7\xe8\xc2\xda\xa2" , "\x72\x79\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xda\xa3" , "\x72\x79\xf2\x4d" } , { "\xd7\xe8\xc2\xdb" , "\x7a\x71\x73\xf2" } , { "\xd7\xe8\xc2\xdb\xa2" , "\x7a\x71\x73\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xdc" , "\x7b\x71\x73\xf2" } , { "\xd7\xe8\xc2\xdc\xa2" , "\x7b\x71\x73\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xdd" , "\x78\x71\x73\x56\xf2" } , { "\xd7\xe8\xc2\xdd\xa2" , "\x78\x71\x73\x56\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xde" , "\x78\x71\x73\x57\xf2" } , { "\xd7\xe8\xc2\xde\xa2" , "\x78\x71\x73\x57\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xdf" , "\x78\x71\x73\xf2\x51\x58" } , { "\xd7\xe8\xc2\xdf\xa2" , "\x78\x71\x73\xf2\x51\x58\x4c\x69" } , { "\xd7\xe8\xc2\xe0" , "\x7c\x71\x73\xf2" } , { "\xd7\xe8\xc2\xe1" , "\x7d\x71\x73\xf2" } , { "\xd7\xe8\xc2\xe1\xa2" , "\x7d\x71\x73\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xe2" , "\x7c\x71\x5e\x73\x23\xf2" } , { "\xd7\xe8\xc2\xe4" , "\x72\x7e\xf2" } , { "\xd7\xe8\xc2\xe4\xa2" , "\x72\x7e\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xe5" , "\x72\xa1\xf2" } , { "\xd7\xe8\xc2\xe5\xa2" , "\x72\xa1\xf2\x4c\x69" } , { "\xd7\xe8\xc2\xe6" , "\x72\xa2\xf2" } , { "\xd7\xe8\xc2\xe8" , "\xa3\x71\x73\xf2" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xa3\x71\x73\xbb\x52\xbd\xf2" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xa3\x71\x73\xbc\xbd\xf2" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xa3\x71\x73\xbb\x52\xbd\x56\xf2" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\xa3\x71\x73\xbb\x52\xbd\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\x72\x79\xf2\x51\xf5" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\x7a\x71\x73\xf2\x51\xf5" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\x78\x71\x73\x56\xf2\x51\xf8" } , { "\xd7\xe8\xc2\xe8\xcd" , "\x78\x71\x73\xf2\x51\xf9" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\x78\x71\x73\xf2\x51\xf9\x4c\x69" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\x72\x79\xf2\x51\xf9" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\x72\x79\xf2\x51\xf9\x4c\x69" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\x78\x71\x73\x56\xf2\x51\xf9" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\x7d\x71\x73\xf2\x51\xf9" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\x7c\x71\x5e\x73\x23\xf2\x51\xf9" } , { "\xd7\xe8\xc2\xe8\xcf" , "\x78\x71\x73\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\x78\x71\x73\xf2\x51\xfb\x4c\x69" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\x72\x79\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\x72\x79\xf2\x51\xfb\x4c\x69" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\x7a\x71\x73\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\x7b\x71\x73\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\x78\x71\x73\x56\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\x78\x71\x73\xf2\x51\xfb\x51\x58" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\x7d\x71\x73\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\x7c\x71\x5e\x73\x23\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\x72\xa1\xf2\x51\xfb" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\x72\xa1\xf2\x51\xfb\x4c\x69" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\x78\x71\x73\x56\xf2\x51\xfb\x51\xf9" } , { "\xd7\xe8\xc2\xe8\xd4" , "\x78\x71\x73\xf2\x51\x2a" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\x78\x71\x73\xf2\x51\x2a\x4c\x69" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\x72\x79\xf2\x51\x2a" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\x7a\x71\x73\xf2\x51\x2a" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\x7c\x71\x5e\x73\x23\xf2\x51\x2a" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\x72\xa1\xf2\x51\x2a" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\x72\xa2\xf2\x51\x2a" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\x78\x71\x73\x56\xf2\x51\x2a\x51\xf9" } , { "\xd7\xe8\xc3" , "\x78\x71\xf3\x73" } , { "\xd7\xe8\xc3\xa2" , "\x78\x71\xf3\x73\x4c\x69" } , { "\xd7\xe8\xc3\xa3" , "\x78\x71\xf3\x73\x4d" } , { "\xd7\xe8\xc3\xda" , "\x72\xf3\x79" } , { "\xd7\xe8\xc3\xda\xa2" , "\x72\xf3\x79\x4c\x69" } , { "\xd7\xe8\xc3\xda\xa3" , "\x72\xf3\x79\x4d" } , { "\xd7\xe8\xc3\xdb" , "\x7a\x71\xf3\x73" } , { "\xd7\xe8\xc3\xdb\xa2" , "\x7a\x71\xf3\x73\x4c\x69" } , { "\xd7\xe8\xc3\xdc" , "\x7b\x71\xf3\x73" } , { "\xd7\xe8\xc3\xdd" , "\x78\x71\xf3\x73\x56" } , { "\xd7\xe8\xc3\xde" , "\x78\x71\xf3\x73\x57" } , { "\xd7\xe8\xc3\xe0" , "\x7c\x71\xf3\x73" } , { "\xd7\xe8\xc3\xe1" , "\x7d\x71\xf3\x73" } , { "\xd7\xe8\xc3\xe2" , "\x7c\x71\xf3\x5e\x73" } , { "\xd7\xe8\xc3\xe5" , "\x72\xf3\xa1" } , { "\xd7\xe8\xc3\xe5\xa2" , "\x72\xf3\xa1\x4c\x69" } , { "\xd7\xe8\xc3\xe6" , "\x72\xf3\xa2" } , { "\xd7\xe8\xc3\xe8" , "\xa3\x71\xf3\x73" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\x78\x71\xf3\x73\x56\xe4" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\xa3\x71\x73\xb4\x6a\xb6\xf2" } , { "\xd7\xe8\xc3\xe8\xc6" , "\x78\x71\xf3\x73\xf5" } , { "\xd7\xe8\xc3\xe8\xcd" , "\x78\x71\xf3\x73\xf9" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\x78\x71\xf3\x73\xf9\x4c\x69" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\x72\xf3\x79\xf9" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\xa3\x71\x73\xb4\x60\xb6\xb8\x52\xb6\xf4\x56\xf9" } , { "\xd7\xe8\xc3\xe8\xcf" , "\x78\x71\xf3\x73\xfb" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\x7b\x71\xf3\x73\xfb" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xa3\x71\x73\xb4\xfd\x52\xb6\x56" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\x72\xf3\x79\x3d" } , { "\xd7\xe8\xc4" , "\x78\x71\xf4\x73" } , { "\xd7\xe8\xc4\xda" , "\x72\xf4\x79" } , { "\xd7\xe8\xc4\xdb" , "\x7a\x71\xf4\x73" } , { "\xd7\xe8\xc4\xdd" , "\x78\x71\xf4\x73\x56" } , { "\xd7\xe8\xc4\xdd\xa2" , "\x78\x71\xf4\x73\x56\x4c\x69" } , { "\xd7\xe8\xc4\xde\xa2" , "\x78\x71\xf4\x73\x57\x4c\x69" } , { "\xd7\xe8\xc4\xe1" , "\x7d\x71\xf4\x73" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\xa3\x71\x73\xb5\xf4\x5d\x5b" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\x72\xf4\x79\x2a" } , { "\xd7\xe8\xc5" , "\x78\x71\xf4\xf0\x73" } , { "\xd7\xe8\xc5\xa2" , "\x78\x71\xf4\xf0\x73\x4c\x69" } , { "\xd7\xe8\xc5\xda" , "\x72\xf4\xf0\x79" } , { "\xd7\xe8\xc5\xdb" , "\x7a\x71\xf4\xf0\x73" } , { "\xd7\xe8\xc5\xdd" , "\x78\x71\xf4\xf0\x73\x56" } , { "\xd7\xe8\xc5\xde" , "\x78\x71\xf4\xf0\x73\x57" } , { "\xd7\xe8\xc5\xe0" , "\x7c\x71\xf4\xf0\x73" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\x78\x71\xf4\xf0\x73\xf9\x4c\x69" } , { "\xd7\xe8\xc6" , "\x78\x71\x73\xf5" } , { "\xd7\xe8\xc6\xa2" , "\x78\x71\x73\xf5\x4c\x69" } , { "\xd7\xe8\xc6\xda" , "\x72\x79\xf5" } , { "\xd7\xe8\xc6\xdb" , "\x7a\x71\x73\xf5" } , { "\xd7\xe8\xc6\xdc" , "\x7b\x71\x73\xf5" } , { "\xd7\xe8\xc6\xdd" , "\x78\x71\x73\x56\xf5" } , { "\xd7\xe8\xc6\xdd\xa2" , "\x78\x71\x73\x56\xf5\x4c\x69" } , { "\xd7\xe8\xc6\xde" , "\x78\x71\x73\x57\xf5" } , { "\xd7\xe8\xc6\xe0" , "\x7c\x71\x73\xf5" } , { "\xd7\xe8\xc6\xe1" , "\x7d\x71\x73\xf5" } , { "\xd7\xe8\xc6\xe2" , "\x5c\x7c\x71\x73\x23\xf5" } , { "\xd7\xe8\xc6\xe5" , "\x72\xa1\xf5" } , { "\xd7\xe8\xc6\xe8\xc6" , "\x78\x71\x73\xf5\x51\x51\xf5" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\x78\x71\x73\x56\xf5\x51\x51\xf5" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\x7d\x71\x73\xf5\x51\x51\xf5" } , { "\xd7\xe8\xc8" , "\x78\x71\x73\xf6" } , { "\xd7\xe8\xc8\xa2" , "\x78\x71\x73\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xda" , "\x72\x79\xf6" } , { "\xd7\xe8\xc8\xda\xa2" , "\x72\x79\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xdb" , "\x7a\x71\x73\xf6" } , { "\xd7\xe8\xc8\xdb\xa2" , "\x7a\x71\x73\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xdc" , "\x7b\x71\x73\xf6" } , { "\xd7\xe8\xc8\xdd" , "\x78\x71\x73\x56\xf6" } , { "\xd7\xe8\xc8\xde" , "\x78\x71\x73\x57\xf6" } , { "\xd7\xe8\xc8\xdf" , "\x78\x71\x73\xf6\x51\x58" } , { "\xd7\xe8\xc8\xe0" , "\x7c\x71\x73\xf6" } , { "\xd7\xe8\xc8\xe0\xa2" , "\x7c\x71\x73\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xe1" , "\x7d\x71\x73\xf6" } , { "\xd7\xe8\xc8\xe1\xa2" , "\x7d\x71\x73\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xe2" , "\x5c\x7c\x71\x73\x23\xf6" } , { "\xd7\xe8\xc8\xe2\xa2" , "\x5c\x7c\x71\x73\x23\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\x5c\x7c\x71\x73\x23\xf6\xb2\x60\xb6" } , { "\xd7\xe8\xc8\xe4" , "\x72\x7e\xf6" } , { "\xd7\xe8\xc8\xe5" , "\x72\xa1\xf6" } , { "\xd7\xe8\xc8\xe5\xa2" , "\x72\xa1\xf6\x4c\x69" } , { "\xd7\xe8\xc8\xe6" , "\x72\xa2\xf6" } , { "\xd7\xe8\xc8\xe7" , "\x72\x7e\xf6" } , { "\xd7\xe8\xc8\xe8" , "\xa3\x71\x73\xf6" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\x7c\x71\x73\xf6\x51\xf7" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\x78\x71\x73\x57\xf6\x51\xf9" } , { "\xd7\xe8\xc8\xe8\xcf" , "\x78\x71\x73\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\x72\x79\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\x7a\x71\x73\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\x7a\x71\x73\xf6\x51\xfb\x4c\x69" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\x78\x71\x73\x56\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\x78\x71\x73\x57\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\x7d\x71\x73\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\x5c\x7c\x71\x73\x23\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\x72\x7e\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\x72\xa1\xf6\x51\xfb" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\xa3\x71\x73\x46\xfd\x79" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\xa3\x71\x73\x7c\x6d\xfd\x73" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xa3\x71\x73\x7d\x6d\xfd\x73" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\x78\x71\x73\xf6\x51\x2b\x51\xf9" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\x72\x79\xf6\x51\x3d" } , { "\xd7\xe8\xc8\xe8\xd8" , "\xa3\x71\x73\x78\x6d\x3e\x73" } , { "\xd7\xe8\xc9" , "\x78\x71\x73\xf6\xe9" } , { "\xd7\xe8\xc9\xa2" , "\x78\x71\x73\xf6\xe9\x4c\x69" } , { "\xd7\xe8\xc9\xda" , "\x72\x79\xf6\xe9" } , { "\xd7\xe8\xc9\xda\xa2" , "\x72\x79\xf6\xe9\x4c\x69" } , { "\xd7\xe8\xc9\xdb" , "\x7a\x71\x73\xf6\xe9" } , { "\xd7\xe8\xc9\xdb\xa2" , "\x7a\x71\x73\xf6\xe9\x4c\x69" } , { "\xd7\xe8\xc9\xdc" , "\x7b\x71\x73\xf6\xe9" } , { "\xd7\xe8\xc9\xdd" , "\x78\x71\x73\x56\xf6\xe9" } , { "\xd7\xe8\xc9\xde" , "\x78\x71\x73\x57\xf6\xe9" } , { "\xd7\xe8\xc9\xdf" , "\x78\x71\x73\xf6\xe9\x51\x58" } , { "\xd7\xe8\xc9\xe0" , "\x7c\x71\x73\xf6\xe9" } , { "\xd7\xe8\xc9\xe0\xa2" , "\x7c\x71\x73\xf6\xe9\x4c\x69" } , { "\xd7\xe8\xc9\xe1" , "\x7d\x71\x73\xf6\xe9" } , { "\xd7\xe8\xc9\xe2" , "\x5c\x7c\x71\x73\x23\xf6\xe9" } , { "\xd7\xe8\xc9\xe4" , "\x72\x7e\xf6\xe9" } , { "\xd7\xe8\xc9\xe5" , "\x72\xa1\xf6\xe9" } , { "\xd7\xe8\xc9\xe6" , "\x72\xa2\xf6\xe9" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\x72\x79\xf6\xe9\x51\xf9" } , { "\xd7\xe8\xca" , "\x78\x71\x73\xf7" } , { "\xd7\xe8\xca\xda" , "\x72\x79\xf7" } , { "\xd7\xe8\xca\xdb" , "\x7a\x71\x73\xf7" } , { "\xd7\xe8\xca\xdd" , "\x78\x71\x73\x56\xf7" } , { "\xd7\xe8\xca\xe0" , "\x7c\x71\x73\xf7" } , { "\xd7\xe8\xca\xe1" , "\x7d\x71\x73\xf7" } , { "\xd7\xe8\xca\xe1\xa2" , "\x7d\x71\x73\xf7\x4c\x69" } , { "\xd7\xe8\xca\xe2" , "\x5c\x7c\x71\x73\x23\xf7" } , { "\xd7\xe8\xca\xe5" , "\x72\xa1\xf7" } , { "\xd7\xe8\xca\xe5\xa2" , "\x72\xa1\xf7\x4c\x69" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\x78\x71\x73\x57\xf7\x51\xfb" } , { "\xd7\xe8\xcb" , "\x78\x71\x73\xf7\xe9" } , { "\xd7\xe8\xcb\xdb" , "\x7a\x71\x73\xf7\xe9" } , { "\xd7\xe8\xcb\xe0" , "\x7c\x71\x73\xf7\xe9" } , { "\xd7\xe8\xcc" , "\x78\x71\x73\xf8" } , { "\xd7\xe8\xcc\xa2" , "\x78\x71\x73\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xda" , "\x72\x79\xf8" } , { "\xd7\xe8\xcc\xda\xa2" , "\x72\x79\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xdb" , "\x7a\x71\x73\xf8" } , { "\xd7\xe8\xcc\xdc" , "\x7b\x71\x73\xf8" } , { "\xd7\xe8\xcc\xdd" , "\x78\x71\x73\x56\xf8" } , { "\xd7\xe8\xcc\xdd\xa2" , "\x78\x71\x73\x56\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xdf" , "\x78\x71\x73\xf8\x51\x58" } , { "\xd7\xe8\xcc\xe0" , "\x7c\x71\x73\xf8" } , { "\xd7\xe8\xcc\xe0\xa2" , "\x7c\x71\x73\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xe1" , "\x7d\x71\x73\xf8" } , { "\xd7\xe8\xcc\xe1\xa2" , "\x7d\x71\x73\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xe2" , "\x5c\x7c\x71\x73\x23\xf8" } , { "\xd7\xe8\xcc\xe2\xa2" , "\x5c\x7c\x71\x73\x23\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xe4" , "\x72\x7e\xf8" } , { "\xd7\xe8\xcc\xe5" , "\x72\xa1\xf8" } , { "\xd7\xe8\xcc\xe5\xa2" , "\x72\xa1\xf8\x4c\x69" } , { "\xd7\xe8\xcc\xe6" , "\x72\xa2\xf8" } , { "\xd7\xe8\xcc\xe8" , "\xa3\x71\x73\xf8" } , { "\xd7\xe8\xcc\xe8\xc2" , "\xa3\x71\x73\xaa\xab\x73\x56\xf2" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\xa3\x71\x73\xad\x73\x56\xf2" } , { "\xd7\xe8\xcc\xe8\xcc" , "\x78\x71\x73\xf8\x51\xf8" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\x72\x79\xf8\x51\xf9\x4c\x69" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\x78\x71\x73\x56\xf8\x51\xf9" } , { "\xd7\xe8\xcc\xe8\xd1" , "\xa3\x71\x73\xaa\xab\x73\xfd\x56" } , { "\xd7\xe8\xcd" , "\x78\x71\x73\xf9" } , { "\xd7\xe8\xcd\xa2" , "\x78\x71\x73\xf9\x4c\x69" } , { "\xd7\xe8\xcd\xa3" , "\x78\x71\x73\xf9\x4d" } , { "\xd7\xe8\xcd\xda" , "\x72\x79\xf9" } , { "\xd7\xe8\xcd\xda\xa2" , "\x72\x79\xf9\x4c\x69" } , { "\xd7\xe8\xcd\xda\xa3" , "\x72\x79\xf9\x4d" } , { "\xd7\xe8\xcd\xdb" , "\x7a\x71\x73\xf9" } , { "\xd7\xe8\xcd\xdc" , "\x7b\x71\x73\xf9" } , { "\xd7\xe8\xcd\xdd" , "\x78\x71\x73\x56\xf9" } , { "\xd7\xe8\xcd\xdd\xa3" , "\x78\x71\x73\x56\xf9\x4d" } , { "\xd7\xe8\xcd\xde" , "\x78\x71\x73\x57\xf9" } , { "\xd7\xe8\xcd\xde\xa2" , "\x78\x71\x73\x57\xf9\x4c\x69" } , { "\xd7\xe8\xcd\xe0" , "\x7c\x71\x73\xf9" } , { "\xd7\xe8\xcd\xe1" , "\x7d\x71\x73\xf9" } , { "\xd7\xe8\xcd\xe2" , "\x5c\x7c\x71\x73\x23\xf9" } , { "\xd7\xe8\xcd\xe4" , "\x72\x7e\xf9" } , { "\xd7\xe8\xcd\xe5" , "\x72\xa1\xf9" } , { "\xd7\xe8\xcd\xe5\xa2" , "\x72\xa1\xf9\x4c\x69" } , { "\xd7\xe8\xcd\xe5\xa3" , "\x72\xa1\xf9\x4d" } , { "\xd7\xe8\xcd\xe6" , "\x72\xa2\xf9" } , { "\xd7\xe8\xcd\xe8" , "\xa3\x71\x73\xf9" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\x72\x79\xf9\x51\xf9" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\x72\x79\xf9\x51\xfb" } , { "\xd7\xe8\xcf" , "\xfa\x78\x71\x73" } , { "\xd7\xe8\xcf\xa2" , "\xfa\x78\x71\x73\x4c\x69" } , { "\xd7\xe8\xcf\xda" , "\xfa\x72\x79" } , { "\xd7\xe8\xcf\xda\xa2" , "\xfa\x72\x79\x4c\x69" } , { "\xd7\xe8\xcf\xdb" , "\xfa\x7a\x71\x73" } , { "\xd7\xe8\xcf\xdb\xa2" , "\xfa\x7a\x71\x73\x4c\x69" } , { "\xd7\xe8\xcf\xdc" , "\xfa\x7b\x71\x73" } , { "\xd7\xe8\xcf\xdd" , "\xfa\x78\x71\x73\x56" } , { "\xd7\xe8\xcf\xde" , "\xfa\x78\x71\x73\x57" } , { "\xd7\xe8\xcf\xde\xa2" , "\xfa\x78\x71\x73\x57\x4c\x69" } , { "\xd7\xe8\xcf\xdf" , "\xfa\x78\x71\x73\x51\x58" } , { "\xd7\xe8\xcf\xe0" , "\xfa\x7c\x71\x73" } , { "\xd7\xe8\xcf\xe1" , "\xfa\x7d\x71\x73" } , { "\xd7\xe8\xcf\xe2" , "\x5c\x7c\x71\x73\x23\xfb" } , { "\xd7\xe8\xcf\xe5" , "\xfa\x72\xa1" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xfa\x72\xa1\x4c\x69" } , { "\xd7\xe8\xcf\xe8\xbd" , "\xa3\x71\x73\x4c\xed\x52\x69" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\x7d\x71\x73\xfb\x51\xf6" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\x72\x79\xfb\x51\x2a" } , { "\xd7\xe8\xd1" , "\x78\x71\xfd\x73" } , { "\xd7\xe8\xd1\xa2" , "\x78\x71\xfd\x73\x4c\x69" } , { "\xd7\xe8\xd1\xda" , "\x72\xfd\x79" } , { "\xd7\xe8\xd1\xda\xa2" , "\x72\xfd\x79\x4c\x69" } , { "\xd7\xe8\xd1\xdb" , "\x7a\x71\xfd\x73" } , { "\xd7\xe8\xd1\xdb\xa2" , "\x7a\x71\xfd\x73\x4c\x69" } , { "\xd7\xe8\xd1\xdc" , "\x7b\x71\xfd\x73" } , { "\xd7\xe8\xd1\xdc\xa2" , "\x7b\x71\xfd\x73\x4c\x69" } , { "\xd7\xe8\xd1\xdd" , "\x78\x71\xfd\x73\x56" } , { "\xd7\xe8\xd1\xdd\xa2" , "\x78\x71\xfd\x73\x56\x4c\x69" } , { "\xd7\xe8\xd1\xde" , "\x78\x71\xfd\x73\x57" } , { "\xd7\xe8\xd1\xe0" , "\x7c\x71\xfd\x73" } , { "\xd7\xe8\xd1\xe1" , "\x7d\x71\xfd\x73" } , { "\xd7\xe8\xd1\xe1\xa2" , "\x7d\x71\xfd\x73\x4c\x69" } , { "\xd7\xe8\xd1\xe2" , "\x7c\x71\xfd\x5e\x73" } , { "\xd7\xe8\xd1\xe4" , "\x72\xfd\x7e" } , { "\xd7\xe8\xd1\xe5" , "\x72\xfd\xa1" } , { "\xd7\xe8\xd1\xe5\xa2" , "\x72\xfd\xa1\x4c\x69" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\x7a\x71\xfd\x73\xe4" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\x7c\x71\xfd\x73\xe4" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\x72\xfd\xa1\xe4" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\x72\xfd\x79\xf6\x4c\x69" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\x7b\x71\xfd\x73\xf6" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\x7c\x71\xfd\x73\xf6" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\x7c\x71\xfd\x73\xf6\x4c\x69" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\x72\xfd\x79\x3d\x4c\x69" } , { "\xd7\xe8\xd4" , "\x78\x71\x73\x2a" } , { "\xd7\xe8\xd4\xa2" , "\x78\x71\x73\x2a\x4c\x69" } , { "\xd7\xe8\xd4\xda" , "\x72\x79\x2a" } , { "\xd7\xe8\xd4\xda\xa1" , "\x72\x79\x2a\xb7" } , { "\xd7\xe8\xd4\xda\xa2" , "\x72\x79\x2a\x4c\x69" } , { "\xd7\xe8\xd4\xdb" , "\x7a\x71\x73\x2a" } , { "\xd7\xe8\xd4\xdb\xa2" , "\x7a\x71\x73\x2a\x4c\x69" } , { "\xd7\xe8\xd4\xdc" , "\x7b\x71\x73\x2a" } , { "\xd7\xe8\xd4\xdc\xa2" , "\x7b\x71\x73\x2a\x4c\x69" } , { "\xd7\xe8\xd4\xdd" , "\x78\x71\x73\x56\x2a" } , { "\xd7\xe8\xd4\xdd\xa2" , "\x78\x71\x73\x56\x2a\x4c\x69" } , { "\xd7\xe8\xd4\xdf" , "\x78\x71\x73\x2a\x51\x58" } , { "\xd7\xe8\xd4\xe0" , "\x7c\x71\x73\x2a" } , { "\xd7\xe8\xd4\xe1" , "\x7d\x71\x73\x2a" } , { "\xd7\xe8\xd4\xe2" , "\x5c\x7c\x71\x73\x23\x2a" } , { "\xd7\xe8\xd4\xe2\xa2" , "\x5c\x7c\x71\x73\x23\x2a\x4c\x69" } , { "\xd7\xe8\xd4\xe5" , "\x72\xa1\x2a" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\x72\x79\x2a\x51\xe4" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\xa3\x71\x73\xaa\xab\x73\xf2\x4c\x69" } , { "\xd7\xe8\xd5" , "\x78\x71\x73\x2b" } , { "\xd7\xe8\xd5\xda" , "\x72\x79\x2b" } , { "\xd7\xe8\xd5\xdb" , "\x7a\x71\x73\x2b" } , { "\xd7\xe8\xd5\xdd" , "\x78\x71\x73\x56\x2b" } , { "\xd7\xe8\xd5\xe1" , "\x7d\x71\x73\x2b" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\x7d\x71\x73\x2b\x51\xfb" } , { "\xd7\xe8\xd6" , "\x78\x71\x3c\x73" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\xa3\x71\x73\x7a\x74\xed\x73\x51" } , { "\xd7\xe8\xd7" , "\x78\x71\x73\x3d" } , { "\xd7\xe8\xd7\xa2" , "\x78\x71\x73\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xda" , "\x72\x79\x3d" } , { "\xd7\xe8\xd7\xda\xa2" , "\x72\x79\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xdb" , "\x7a\x71\x73\x3d" } , { "\xd7\xe8\xd7\xdb\xa2" , "\x7a\x71\x73\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xdc" , "\x7b\x71\x73\x3d" } , { "\xd7\xe8\xd7\xdc\xa2" , "\x7b\x71\x73\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xdd" , "\x78\x71\x73\x56\x3d" } , { "\xd7\xe8\xd7\xdd\xa2" , "\x78\x71\x73\x56\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xde" , "\x78\x71\x73\x57\x3d" } , { "\xd7\xe8\xd7\xdf" , "\x78\x71\x73\x3d\x51\x58" } , { "\xd7\xe8\xd7\xe0" , "\x7c\x71\x73\x3d" } , { "\xd7\xe8\xd7\xe0\xa2" , "\x7c\x71\x73\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xe1" , "\x7d\x71\x73\x3d" } , { "\xd7\xe8\xd7\xe1\xa2" , "\x7d\x71\x73\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xe2" , "\x5c\x7c\x71\x73\x23\x3d" } , { "\xd7\xe8\xd7\xe4" , "\x72\x7e\x3d" } , { "\xd7\xe8\xd7\xe5" , "\x72\xa1\x3d" } , { "\xd7\xe8\xd7\xe5\xa2" , "\x72\xa1\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xe6" , "\x72\xa2\x3d" } , { "\xd7\xe8\xd7\xe6\xa2" , "\x72\xa2\x3d\x4c\x69" } , { "\xd7\xe8\xd7\xe8" , "\xa3\x71\x73\x3d" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\x72\x79\x3d\x51\xe4" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\x78\x71\x73\x56\x3d\x51\xe4" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\x78\x71\x73\x3d\x51\xe4\x51\x58" } , { "\xd7\xe8\xd7\xe8\xbd" , "\xa3\x71\x73\x78\x71\xed\x73" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\xa3\x71\x73\x72\xed\x79" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\xa3\x71\x73\x72\xed\x79\x4c\x69" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\xa3\x71\x73\x7b\x71\xed\x73" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\xa3\x71\x73\x7d\x71\xed\x73" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xa3\x71\x73\x72\xed\x79\xfb" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xa3\x71\x73\x78\x71\x73\x57\xf2\x4c\x69" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xa3\x71\x73\x72\xf3\x79" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xa3\x71\x73\x7a\x71\xf3\x73" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\x72\x79\x3d\x51\xf5" } , { "\xd7\xe8\xd7\xe8\xcc" , "\x78\x71\x73\x3d\x51\xf8" } , { "\xd7\xe8\xd7\xe8\xcd" , "\x78\x71\x73\x3d\x51\xf9" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\x72\x79\x3d\x51\xf9" } , { "\xd7\xe8\xd7\xe8\xcf" , "\x78\x71\x73\x3d\x51\xfb" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\x72\x79\x3d\x51\xfb" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xa3\x71\x73\x78\x71\xfd\x73\x56" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xa3\x71\x73\x72\xfd\xa1" } , { "\xd7\xe8\xd7\xe8\xd4" , "\x78\x71\x73\x3d\x51\x2a" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\x72\x79\x3d\x51\x2a" } , { "\xd7\xe8\xd8" , "\x78\x71\x3e\x73" } , { "\xd7\xe8\xd8\xda" , "\x72\x3e\x79" } , { "\xd7\xe8\xd8\xe0" , "\x7c\x71\x3e\x73" } , { "\xd7\xe8\xd8\xe5" , "\x72\x3e\xa1" } , { "\xd7\xe8\xd8\xe6" , "\x72\x3e\xa2" } , { "\xd7\xe8\xd9" , "\x78\x71\x73" } , { "\xd7\xe8\xd9\xa6" , "\x78\x71\x73\x42" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\x78\x71\x73\x4c\xed\x52\x69" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\x78\x71\x73\x4c\xed\x53" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\x78\x71\x73\x6c\x4c\xed\x69\x5b" } , { "\xd7\xe8\xe8" , "\xa3\x71\x73" } , { "\xd7\xe8\xe9\xcf" , "\xfa\x78\x71\x73" } , { "\xd7\xe9" , "\x78\x71\x73" } , { "\xd8" , "\x78\xa4\xa6\xa6\xa6" } , { "\xd8\xa1" , "\x78\xa4\xa6\xa6\xa6\xb7" } , { "\xd8\xa2" , "\x78\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xa3" , "\x78\xa4\xa6\xa6\xa6\x4d" } , { "\xd8\xd0" , "\x78\xa4\xa6\xa6\xa6\xe0\xe1" } , { "\xd8\xd9" , "\x78\xa4\xa6\xa6\xa6\x25\xc1" } , { "\xd8\xd9\xd1\xda" , "\x78\xa4\xa6\xa6\xa6\x25\xc1\xcd\xd8" } , { "\xd8\xda" , "\xa5\xa6\xa6\xa6" } , { "\xd8\xda\xa1" , "\xa5\xa6\xa6\xa6\xb7" } , { "\xd8\xda\xa2" , "\xa5\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xda\xa3" , "\xa5\xa6\xa6\xa6\x4d" } , { "\xd8\xdb" , "\x7a\xa4\xa6\xa6\xa6" } , { "\xd8\xdb\xa2" , "\x7a\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xdb\xa2\xa2" , "\x7a\xa4\xa6\xa6\xa6\x4c\x69\x69\x4c\x69" } , { "\xd8\xdb\xa3" , "\x7a\xa4\xa6\xa6\xa6\x4d" } , { "\xd8\xdc" , "\x7b\xa4\xa6\xa6\xa6" } , { "\xd8\xdc\xa1" , "\x7b\xa4\xa6\xa6\xa6\xb7" } , { "\xd8\xdc\xa2" , "\x7b\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xdd" , "\x78\xa4\xa6\xa6\xa6\xa7" } , { "\xd8\xdd\xa1" , "\x78\xa4\xa6\xa6\xa6\xa7\xb7" } , { "\xd8\xdd\xa2" , "\x78\xa4\xa6\xa6\xa6\xa7\x4c\x69" } , { "\xd8\xdd\xa3" , "\x78\xa4\xa6\xa6\xa6\xa7\x4d" } , { "\xd8\xde" , "\x78\xa4\xa6\xa6\xa6\xa8" } , { "\xd8\xde\xa1" , "\x78\xa4\xa6\xa6\xa6\xa8\xb7" } , { "\xd8\xde\xa2" , "\x78\xa4\xa6\xa6\xa6\xa8\x4c\x69" } , { "\xd8\xdf" , "\x78\xa4\xa6\xa6\xa6\x58" } , { "\xd8\xe0" , "\x7c\xa4\xa6\xa6\xa6" } , { "\xd8\xe0\xa2" , "\x7c\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe1" , "\x7d\xa4\xa6\xa6\xa6" } , { "\xd8\xe1\xa2" , "\x7d\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe1\xa3" , "\x7d\xa4\xa6\xa6\xa6\x4d" } , { "\xd8\xe2" , "\x5c\x7c\xa4\xa6\xa6\xa6" } , { "\xd8\xe2\xa1" , "\x5c\x7c\xa4\xa6\xa6\xa6\xb7" } , { "\xd8\xe2\xa2" , "\x5c\x7c\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe2\xa3" , "\x5c\x7c\xa4\xa6\xa6\xa6\x4d" } , { "\xd8\xe3" , "\x7c\xa4\xa6\xa6\xa6" } , { "\xd8\xe3\xa2" , "\x7c\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe4" , "\x78\xa4\xa6\xdc" } , { "\xd8\xe4\xa2" , "\x78\xa4\xa6\xdc\x4c\x69" } , { "\xd8\xe5" , "\x78\xa4\xa6\xdc\x5b" } , { "\xd8\xe5\xa1" , "\x78\xa4\xa6\xdc\x5b\xb7" } , { "\xd8\xe5\xa2" , "\x78\xa4\xa6\xdc\x5b\x4c\x69" } , { "\xd8\xe6" , "\x78\xa4\xa6\xdd" } , { "\xd8\xe6\xa2" , "\x78\xa4\xa6\xdd\x4c\x69" } , { "\xd8\xe7" , "\x78\xa4\xa6\xdc" } , { "\xd8\xe7\xa2" , "\x78\xa4\xa6\xdc\x4c\x69" } , { "\xd8\xe8" , "\xa3\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xb3\xdd" , "\x78\xa4\xa6\xa6\xa6\xa7\xe4" } , { "\xd8\xe8\xb5" , "\x78\xa4\xe6\xa6\xa6\xa6" } , { "\xd8\xe8\xb5\xdd" , "\x78\xa4\xe6\xa6\xa6\xa6\xa7" } , { "\xd8\xe8\xb5\xde" , "\x78\xa4\xe6\xa6\xa6\xa6\xa8" } , { "\xd8\xe8\xb8" , "\x78\xa4\xa6\xa6\xa6\xe8" } , { "\xd8\xe8\xb8\xdd" , "\x78\xa4\xa6\xa6\xa6\xa7\xe8" } , { "\xd8\xe8\xbd\xdb" , "\x7a\xa4\xed\xa6\xa6\xa6" } , { "\xd8\xe8\xbf" , "\x78\xa4\xef\xa6\xa6\xa6" } , { "\xd8\xe8\xc1" , "\x78\xa4\xf1\xa6\xa6\xa6" } , { "\xd8\xe8\xc1\xda" , "\xa5\xf1\xa6\xa6\xa6" } , { "\xd8\xe8\xc1\xe1" , "\x7d\xa4\xf1\xa6\xa6\xa6" } , { "\xd8\xe8\xc2" , "\x78\xa4\xa6\xa6\xa6\xf2" } , { "\xd8\xe8\xc2\xa2" , "\x78\xa4\xa6\xa6\xa6\xf2\x4c\x69" } , { "\xd8\xe8\xc2\xda" , "\xa5\xa6\xa6\xa6\xf2" } , { "\xd8\xe8\xc2\xdc" , "\x7b\xa4\xa6\xa6\xa6\xf2" } , { "\xd8\xe8\xc2\xe8" , "\xa3\xa4\xa6\xa6\xa6\xf2" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\xa3\xa4\xa6\xa6\xa6\xbb\x52\xbd\xf2\x51\x2a" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\xa5\xa6\xa6\xa6\xf2\x51\xfb" } , { "\xd8\xe8\xc2\xe8\xd4" , "\x78\xa4\xa6\xa6\xa6\xf2\x51\x2a" } , { "\xd8\xe8\xc3" , "\x78\xa4\xf3\xa6\xa6\xa6" } , { "\xd8\xe8\xc4" , "\x78\xa4\xf4\xa6\xa6\xa6" } , { "\xd8\xe8\xc4\xe1" , "\x7d\xa4\xf4\xa6\xa6\xa6" } , { "\xd8\xe8\xc4\xe5\xa2" , "\x78\xa4\xf4\xa6\xdc\x5b\x4c\x69" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\xa5\xf4\xa6\xa6\xa6\xf6" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\x78\xa4\xf4\xa6\xa6\xa6\xf9\x4c\x69" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\x78\xa4\xf4\xa6\xdc\x5b\xfb" } , { "\xd8\xe8\xc6" , "\x78\xa4\xa6\xa6\xa6\xf5" } , { "\xd8\xe8\xc6\xa2" , "\x78\xa4\xa6\xa6\xa6\xf5\x4c\x69" } , { "\xd8\xe8\xc6\xda" , "\xa5\xa6\xa6\xa6\xf5" } , { "\xd8\xe8\xc6\xda\xa2" , "\xa5\xa6\xa6\xa6\xf5\x4c\x69" } , { "\xd8\xe8\xc6\xdb" , "\x7a\xa4\xa6\xa6\xa6\xf5" } , { "\xd8\xe8\xc6\xdd" , "\x78\xa4\xa6\xa6\xa6\xa7\xf5" } , { "\xd8\xe8\xc6\xe5\xa2" , "\x78\xa4\xa6\xdc\x5b\xf5\x4c\x69" } , { "\xd8\xe8\xca" , "\x78\xa4\xa6\xa6\xa6\xf7" } , { "\xd8\xe8\xcb" , "\x78\xa4\xa6\xa6\xa6\xf7\xe9" } , { "\xd8\xe8\xcc" , "\x78\xa4\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xa2" , "\x78\xa4\xa6\xa6\xa6\xf8\x4c\x69" } , { "\xd8\xe8\xcc\xda" , "\xa5\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xda\xa2" , "\xa5\xa6\xa6\xa6\xf8\x4c\x69" } , { "\xd8\xe8\xcc\xdb" , "\x7a\xa4\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xdc" , "\x7b\xa4\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xde" , "\x78\xa4\xa6\xa6\xa6\xa8\xf8" } , { "\xd8\xe8\xcc\xe1" , "\x7d\xa4\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xe1\xa2" , "\x7d\xa4\xa6\xa6\xa6\xf8\x4c\x69" } , { "\xd8\xe8\xcc\xe2" , "\x5c\x7c\xa4\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xe5" , "\x78\xa4\xa6\xdc\x5b\xf8" } , { "\xd8\xe8\xcc\xe8" , "\xa3\xa4\xa6\xa6\xa6\xf8" } , { "\xd8\xe8\xcc\xe8\xb8" , "\x78\xa4\xa6\xa6\xa6\xf8\x51\xe8" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\xa5\xa6\xa6\xa6\xf8\x51\xe8" } , { "\xd8\xe8\xcc\xe8\xc1" , "\xa3\xa4\xa6\xa6\xa6\xaa\xab\x73\xf1\x56" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\xa3\xa4\xa6\xa6\xa6\xad\x64\x73\xf1\x56" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\xa5\xa6\xa6\xa6\xf8\x51\x2a" } , { "\xd8\xe8\xcd" , "\x78\xa4\xa6\xa6\xa6\xf9" } , { "\xd8\xe8\xcd\xa2" , "\x78\xa4\xa6\xa6\xa6\xf9\x4c\x69" } , { "\xd8\xe8\xcd\xda" , "\xa5\xa6\xa6\xa6\xf9" } , { "\xd8\xe8\xcd\xda\xa2" , "\xa5\xa6\xa6\xa6\xf9\x4c\x69" } , { "\xd8\xe8\xcd\xdb" , "\x7a\xa4\xa6\xa6\xa6\xf9" } , { "\xd8\xe8\xcd\xdb\xa2" , "\x7a\xa4\xa6\xa6\xa6\xf9\x4c\x69" } , { "\xd8\xe8\xcd\xdc\xa2" , "\x7b\xa4\xa6\xa6\xa6\xf9\x4c\x69" } , { "\xd8\xe8\xcd\xdd" , "\x78\xa4\xa6\xa6\xa6\xa7\xf9" } , { "\xd8\xe8\xcd\xde" , "\x78\xa4\xa6\xa6\xa6\xa8\xf9" } , { "\xd8\xe8\xcd\xde\xa2" , "\x78\xa4\xa6\xa6\xa6\xa8\xf9\x4c\x69" } , { "\xd8\xe8\xcd\xe1" , "\x7d\xa4\xa6\xa6\xa6\xf9" } , { "\xd8\xe8\xcd\xe1\xa2" , "\x7d\xa4\xa6\xa6\xa6\xf9\x4c\x69" } , { "\xd8\xe8\xcd\xe5" , "\x78\xa4\xa6\xdc\x5b\xf9" } , { "\xd8\xe8\xcd\xe8\xcf" , "\x78\xa4\xa6\xa6\xa6\xf9\x51\xfb" } , { "\xd8\xe8\xcd\xe8\xd7" , "\x78\xa4\xa6\xa6\xa6\xf9\x51\x3d" } , { "\xd8\xe8\xcf" , "\xfa\x78\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xcf\xda" , "\xfa\xa5\xa6\xa6\xa6" } , { "\xd8\xe8\xcf\xda\xa2" , "\xfa\xa5\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe8\xcf\xdb" , "\xfa\x7a\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xcf\xdc" , "\xfa\x7b\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xcf\xdc\xa2" , "\xfa\x7b\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe8\xcf\xdd" , "\xfa\x78\xa4\xa6\xa6\xa6\xa7" } , { "\xd8\xe8\xcf\xde" , "\xfa\x78\xa4\xa6\xa6\xa6\xa8" } , { "\xd8\xe8\xcf\xde\xa2" , "\xfa\x78\xa4\xa6\xa6\xa6\xa8\x4c\x69" } , { "\xd8\xe8\xcf\xe0" , "\xfa\x7c\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xfa\x7d\xa4\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xa3\xa4\xa6\xa6\xa6\x4c\x60\x69\xa9\xb1\x73\xdb\xcb\xfd\xc1\x4c\x69" } , { "\xd8\xe8\xd1" , "\x78\xa4\xfd\xa6\xa6\xa6" } , { "\xd8\xe8\xd1\xda" , "\xa5\xfd\xa6\xa6\xa6" } , { "\xd8\xe8\xd1\xda\xa2" , "\xa5\xfd\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe8\xd1\xdb" , "\x7a\xa4\xfd\xa6\xa6\xa6" } , { "\xd8\xe8\xd1\xdc" , "\x7b\xa4\xfd\xa6\xa6\xa6" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\xa5\xfd\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4" , "\x78\xa4\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4\xda" , "\xa5\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4\xdb" , "\x7a\xa4\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4\xdc" , "\x7b\xa4\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4\xe1" , "\x7d\xa4\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4\xe1\xa2" , "\x7d\xa4\xa6\xa6\xa6\x2a\x4c\x69" } , { "\xd8\xe8\xd4\xe2" , "\x5c\x7c\xa4\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd4\xe4" , "\x78\xa4\xa6\xdc\x2a" } , { "\xd8\xe8\xd4\xe5" , "\x78\xa4\xa6\xdc\x5b\x2a" } , { "\xd8\xe8\xd4\xe8" , "\xa3\xa4\xa6\xa6\xa6\x2a" } , { "\xd8\xe8\xd6\xdb" , "\x7a\xa4\x3c\xa6\xa6\xa6" } , { "\xd8\xe8\xd6\xe8\xbd" , "\xa3\xa4\xa6\xa6\xa6\x78\x74\xed\x73\x51" } , { "\xd8\xe8\xd7\xa2" , "\x78\xa4\xa6\xa6\xa6\x3d\x4c\x69" } , { "\xd8\xe8\xd7\xe8" , "\xa3\xa4\xa6\xa6\xa6\x3d" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\x7b\xa4\xa6\xa6\xa6\x3d\x51\xe4" } , { "\xd8\xe8\xd7\xe8\xd4" , "\x78\xa4\xa6\xa6\xa6\x3d\x51\x2a" } , { "\xd8\xe8\xd8" , "\x78\xa4\x3e\xa6\xa6\xa6" } , { "\xd8\xe8\xd8\xa2" , "\x78\xa4\x3e\xa6\xa6\xa6\x4c\x69" } , { "\xd8\xe8\xd8\xda" , "\xa5\x3e\xa6\xa6\xa6" } , { "\xd8\xe8\xd8\xdb" , "\x7a\xa4\x3e\xa6\xa6\xa6" } , { "\xd8\xe8\xd8\xdc" , "\x7b\xa4\x3e\xa6\xa6\xa6" } , { "\xd8\xe8\xd8\xe5\xa2" , "\x78\xa4\x3e\xa6\xdc\x5b\x4c\x69" } , { "\xd8\xe8\xd9" , "\x78\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xd9\xcc" , "\x78\xa4\xa6\xa6\xa6\xaa\xab\x73\x56" } , { "\xd8\xe8\xd9\xcd" , "\x78\xa4\xa6\xa6\xa6\xb8\x52\xb6\x56" } , { "\xd8\xe8\xe8" , "\xa3\xa4\xa6\xa6\xa6" } , { "\xd8\xe8\xe9\xcf" , "\xfa\x78\xa4\xa6\xa6\xa6" } , { "\xd8\xe9" , "\x78\xa4\xa6\xa6\xa6" } , { "\xda" , "\x25\x53" } , { "\xdb" , "\x25\x54\xc1" } , { "\xdb\xa2" , "\x25\x54\xc1\x69\x4c\x69" } , { "\xdc" , "\x25\x55\xc1" } , { "\xdc\xa2" , "\x25\x55\xc1\x69\x4c\x69" } , { "\xdd" , "\x25\xc1\x56" } , { "\xde" , "\x25\xc1\x57" } , { "\xdf" , "\x25\xc1\x58" } , { "\xe0" , "\x5a\x25\xc1" } , { "\xe0\xa2" , "\x5a\x25\xc1\x69\x4c\x69" } , { "\xe1" , "\x5a\x25\xc1\x5b" } , { "\xe1\xa2" , "\x5a\x25\xc1\x5b\x69\x4c\x69" } , { "\xe2" , "\x5c\x5a\x25\xc1" } , { "\xe2\xa2" , "\x5c\x5a\x25\xc1\x69\x4c\x69" } , { "\xe3" , "\x5a\x25\xc1" } , { "\xe3\xa2" , "\x5a\x25\xc1\x69\x4c\x69" } , { "\xe4" , "\x25\x5d" } , { "\xe4\xa2" , "\x25\x5d\x69\x4c\x69" } , { "\xe5" , "\x25\x5d\x5b" } , { "\xe5\xa2" , "\x25\x5d\x5b\x69\x4c\x69" } , { "\xe6" , "\x25\x5f" } , { "\xe6\xa2" , "\x25\x5f\x69\x4c\x69" } , { "\xe7" , "\x25\x5d" } , { "\xe8" , "\x25\x60\xc1" } , { "\xe8\xe9" , "\x25\x60\xc1" } , { "\xe9" , "\x23\x20" } , { "\xe9\xdd" , "\x25\xc1\x56" } , { "\xe9\xde" , "\x25\xc1\x57" } , { "\xe9\xe9" , "\x23\x20" } , } ; ���������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/kannada.table�������������������������������������������������������������0100644�0001760�0000144�00001567336�13210547313�0016506�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_kannada_table[] = { { "\xa1" , "\x4d" } , { "\xa1\xa2" , "\x4d\x4d" } , { "\xa1\xa4" , "\x4d\x40" } , { "\xa1\xa4\xa2" , "\x4d\x40\x4d" } , { "\xa1\xab" , "\x4d\x47" } , { "\xa1\xab\xa2" , "\x4d\x47\x4d" } , { "\xa1\xb0" , "\x4d\x4b" } , { "\xa1\xcd\xdb" , "\x4d\xbf\xdf" } , { "\xa1\xd4" , "\x4d\xc8\xda" } , { "\xa1\xe9" , "\x4b\x4d" } , { "\xa2" , "\x4d" } , { "\xa2\xa3" , "\x4d\x4e" } , { "\xa3" , "\x4e" } , { "\xa4" , "\x40" } , { "\xa4\xa1" , "\x40\x4d" } , { "\xa4\xa2" , "\x40\x4d" } , { "\xa4\xa3" , "\x40\x4e" } , { "\xa4\xd0\xe8" , "\x40\xc1\xe9" } , { "\xa5" , "\x41" } , { "\xa5\xa1" , "\x41\x4d" } , { "\xa5\xa2" , "\x41\x4d" } , { "\xa5\xa2\xd0\xe1\xa2" , "\x41\x4d\xc1\xe6\xde\x4d" } , { "\xa5\xa3" , "\x41\x4e" } , { "\xa6" , "\x42" } , { "\xa6\xa1" , "\x42\x4d" } , { "\xa6\xa2" , "\x42\x4d" } , { "\xa6\xa3" , "\x42\x4e" } , { "\xa6\xcc\xe5" , "\x42\xc8\xe6\xe0\xde" } , { "\xa6\xd7" , "\x42\xd1\xda" } , { "\xa7" , "\x43" } , { "\xa7\xa1" , "\x43\x4d" } , { "\xa7\xa1\xa1" , "\x43\x4d\x4d" } , { "\xa7\xa1\xa3" , "\x43\x4d\x4e" } , { "\xa7\xa2" , "\x43\x4d" } , { "\xa7\xa3" , "\x43\x4e" } , { "\xa8" , "\x44" } , { "\xa8\xa1" , "\x44\x4d" } , { "\xa8\xa2" , "\x44\x4d" } , { "\xa8\xa2\xa2" , "\x44\x4d\x4d" } , { "\xa8\xa3" , "\x44\x4e" } , { "\xa8\xb3\xdf" , "\x44\x4f\xda\xe4" } , { "\xa9" , "\x45" } , { "\xa9\xa1" , "\x45\x4d" } , { "\xa9\xa2" , "\x45\x4d" } , { "\xaa" , "\x46\xdf" } , { "\xaa\xa2" , "\x46\xdf\x4d" } , { "\xab" , "\x47" } , { "\xab\xa1" , "\x47\x4d" } , { "\xab\xa2" , "\x47\x4d" } , { "\xab\xd9" , "\x47\xda" } , { "\xac" , "\x48" } , { "\xac\xa1" , "\x48\x4d" } , { "\xac\xa2" , "\x48\x4d" } , { "\xac\xa2\xa1" , "\x48\x4d\x4d" } , { "\xac\xd0\xc5" , "\x48\xc1\xda\xa8\xda" } , { "\xac\xd7" , "\x48\xd1\xda" } , { "\xad" , "\x49" } , { "\xad\xa1" , "\x49\x4d" } , { "\xad\xa2" , "\x49\x4d" } , { "\xad\xb1" , "\x49\x4c" } , { "\xad\xd0\xb1" , "\x49\xc1\xda\x4c" } , { "\xae" , "\x41\xc0" } , { "\xae\xa2" , "\x41\xc0\x4d" } , { "\xae\xa3" , "\x41\xc0\x4e" } , { "\xae\xd9" , "\x41\xc0\xda" } , { "\xaf" , "\x4a" } , { "\xaf\xa1" , "\x4a\x4d" } , { "\xaf\xa2" , "\x4a\x4d" } , { "\xaf\xd0\xb1\xd1" , "\x4a\xc1\xda\x4c\xc4" } , { "\xb0" , "\x4b" } , { "\xb0\xa1" , "\x4b\x4d" } , { "\xb0\xa2" , "\x4b\x4d" } , { "\xb0\xa3" , "\x4b\x4e" } , { "\xb0\xa3\xd0\xb6" , "\x4b\x4e\xc1\xda\x59\xda" } , { "\xb0\xcc\xe8" , "\x4b\xc8\xda\xe1\xe9" } , { "\xb0\xd0" , "\x4b\xc1\xda" } , { "\xb1" , "\x4c" } , { "\xb1\xa1" , "\x4c\x4d" } , { "\xb1\xa2" , "\x4c\x4d" } , { "\xb1\xa3" , "\x4c\x4e" } , { "\xb1\xa3\xd0\xe8\xd1\xdc" , "\x4c\x4e\xc2\xc7\xde" } , { "\xb1\xd0" , "\x4c\xc1\xda" } , { "\xb1\xd1\xd7" , "\x4c\xc4\xd1\xda" } , { "\xb1\xd7" , "\x4c\xd1\xda" } , { "\xb2" , "\x4a" } , { "\xb2\xd9\xb5" , "\x4a\xda\x56\xda" } , { "\xb3" , "\x4f\xda" } , { "\xb3\xa1" , "\x4f\xda\x4d" } , { "\xb3\xa2" , "\x4f\xda\x4d" } , { "\xb3\xa2\xa2" , "\x4f\xda\x4d\x4d" } , { "\xb3\xa3" , "\x4f\xda\x4e" } , { "\xb3\xd9\xaa" , "\x4f\xda\xda\x46\xdf" } , { "\xb3\xda" , "\x4f\xdb" } , { "\xb3\xda\xa1" , "\x4f\xdb\x4d" } , { "\xb3\xda\xa2" , "\x4f\xdb\x4d" } , { "\xb3\xda\xa2\xa2" , "\x4f\xdb\x4d\x4d" } , { "\xb3\xda\xa3" , "\x4f\xdb\x4e" } , { "\xb3\xdb" , "\x50" } , { "\xb3\xdb\xa2" , "\x50\x4d" } , { "\xb3\xdb\xa3" , "\x50\x4e" } , { "\xb3\xdb\xc7" , "\x50\xab\xda" } , { "\xb3\xdc" , "\x50\xde" } , { "\xb3\xdc\xa2" , "\x50\xde\x4d" } , { "\xb3\xdd" , "\x4f\xda\xdf" } , { "\xb3\xdd\xa1" , "\x4f\xda\xdf\x4d" } , { "\xb3\xdd\xa2" , "\x4f\xda\xdf\x4d" } , { "\xb3\xdd\xa2\xd0\xc1" , "\x4f\xda\xdf\x4d\xc1\xda\x79" } , { "\xb3\xdd\xa3" , "\x4f\xda\xdf\x4e" } , { "\xb3\xde" , "\x4f\xda\xe0" } , { "\xb3\xde\xa1" , "\x4f\xda\xe0\x4d" } , { "\xb3\xde\xa2" , "\x4f\xda\xe0\x4d" } , { "\xb3\xdf" , "\x4f\xda\xe4" } , { "\xb3\xdf\xa2" , "\x4f\xda\xe4\x4d" } , { "\xb3\xe0" , "\x4f\xe6" } , { "\xb3\xe0\xa2" , "\x4f\xe6\x4d" } , { "\xb3\xe1" , "\x4f\xe6\xde" } , { "\xb3\xe1\xa1" , "\x4f\xe6\xde\x4d" } , { "\xb3\xe1\xa2" , "\x4f\xe6\xde\x4d" } , { "\xb3\xe2" , "\x4f\xe6\xe7" } , { "\xb3\xe2\xa2" , "\x4f\xe6\xe7\x4d" } , { "\xb3\xe2\xa3" , "\x4f\xe6\xe7\x4e" } , { "\xb3\xe3" , "\x4f\xe6" } , { "\xb3\xe4" , "\x4f\xe6\xe0" } , { "\xb3\xe4\xa2" , "\x4f\xe6\xe0\x4d" } , { "\xb3\xe4\xa2\xa2" , "\x4f\xe6\xe0\x4d\x4d" } , { "\xb3\xe4\xa3" , "\x4f\xe6\xe0\x4e" } , { "\xb3\xe5" , "\x4f\xe6\xe0\xde" } , { "\xb3\xe5\xa1" , "\x4f\xe6\xe0\xde\x4d" } , { "\xb3\xe5\xa2" , "\x4f\xe6\xe0\xde\x4d" } , { "\xb3\xe6" , "\x4f\xe8" } , { "\xb3\xe6\xa2" , "\x4f\xe8\x4d" } , { "\xb3\xe6\xbd\xe8" , "\x4f\xe8\x6d\xe9" } , { "\xb3\xe7" , "\x4f\xe6\xe0" } , { "\xb3\xe7\xa2" , "\x4f\xe6\xe0\x4d" } , { "\xb3\xe8" , "\x4f\xe9" } , { "\xb3\xe8\xb3" , "\x4f\xda\x51" } , { "\xb3\xe8\xb3\xa2" , "\x4f\xda\x51\x4d" } , { "\xb3\xe8\xb3\xda" , "\x4f\xdb\x51" } , { "\xb3\xe8\xb3\xda\xa2" , "\x4f\xdb\x51\x4d" } , { "\xb3\xe8\xb3\xdb" , "\x50\x51" } , { "\xb3\xe8\xb3\xdb\xa2" , "\x50\x51\x4d" } , { "\xb3\xe8\xb3\xdc" , "\x50\x51\xde" } , { "\xb3\xe8\xb3\xdd" , "\x4f\xda\xdf\x51" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x4f\xda\xdf\x51\x4d" } , { "\xb3\xe8\xb3\xde" , "\x4f\xda\xe0\x51" } , { "\xb3\xe8\xb3\xdf" , "\x4f\xda\xed" } , { "\xb3\xe8\xb3\xe0" , "\x4f\xe6\x51" } , { "\xb3\xe8\xb3\xe0\xa2" , "\x4f\xe6\x51\x4d" } , { "\xb3\xe8\xb3\xe1" , "\x4f\xe6\x51\xde" } , { "\xb3\xe8\xb3\xe1\xa2" , "\x4f\xe6\x51\xde\x4d" } , { "\xb3\xe8\xb3\xe2" , "\x4f\xe6\x51\xfd\xe7" } , { "\xb3\xe8\xb3\xe4" , "\x4f\xe6\xe0\x51" } , { "\xb3\xe8\xb3\xe4\xa2" , "\x4f\xe6\xe0\x51\x4d" } , { "\xb3\xe8\xb3\xe5" , "\x4f\xe6\xe0\x51\xde" } , { "\xb3\xe8\xb3\xe5\xa2" , "\x4f\xe6\xe0\x51\xde\x4d" } , { "\xb3\xe8\xb3\xe6" , "\x4f\xe8\x51" } , { "\xb3\xe8\xb3\xe6\xa2" , "\x4f\xe8\x51\x4d" } , { "\xb3\xe8\xb3\xe8" , "\x4f\xe9\x51" } , { "\xb3\xe8\xb3\xe8\xb3" , "\x4f\xda\x51\xfc\x51" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x4f\xdb\x51\xfa\x75" } , { "\xb3\xe8\xb3\xe8\xc2" , "\x4f\xda\x51\xfa\xa1" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x4f\xda\x51\xfc\xc0" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x4f\xda\xdf\x51\xfc\xc0" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\x50\x51\xf0" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\x4f\xe6\xe0\x51\xf0\xde" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x4f\xda\x51\xfa\xc7" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\x4f\xe6\x51\xfd\xd0\xde" } , { "\xb3\xe8\xb3\xe9" , "\x4f\xda\x51" } , { "\xb3\xe8\xb3\xe9\xda" , "\x4f\xdb\x51" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x50\x51\xde" } , { "\xb3\xe8\xb4" , "\x4f\xda\x55" } , { "\xb3\xe8\xb4\xa2" , "\x4f\xda\x55\x4d" } , { "\xb3\xe8\xb4\xda" , "\x4f\xdb\x55" } , { "\xb3\xe8\xb4\xdb" , "\x50\x55" } , { "\xb3\xe8\xb4\xdc" , "\x50\x55\xde" } , { "\xb3\xe8\xb4\xe1" , "\x4f\xe6\x55\xde" } , { "\xb3\xe8\xb4\xe1\xa2" , "\x4f\xe6\x55\xde\x4d" } , { "\xb3\xe8\xb4\xe5" , "\x4f\xe6\xe0\x55\xde" } , { "\xb3\xe8\xb4\xe5\xa2" , "\x4f\xe6\xe0\x55\xde\x4d" } , { "\xb3\xe8\xb4\xe6\xa2" , "\x4f\xe8\x55\x4d" } , { "\xb3\xe8\xb4\xe7" , "\x4f\xe6\xe0\x55" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x4f\xdb\x55\xf4\xc0" } , { "\xb3\xe8\xb5" , "\x4f\xda\x58" } , { "\xb3\xe8\xb5\xda" , "\x4f\xdb\x58" } , { "\xb3\xe8\xb5\xe5" , "\x4f\xe6\xe0\x58\xde" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\x4f\xdb\x58\xf0" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\x4f\xe8\x58\xf0\x4d" } , { "\xb3\xe8\xb6" , "\x4f\xda\x5b" } , { "\xb3\xe8\xb7\xda" , "\x4f\xdb\x5d" } , { "\xb3\xe8\xb7\xe1" , "\x4f\xe6\x5d\xde" } , { "\xb3\xe8\xb8" , "\x4f\xda\x60" } , { "\xb3\xe8\xb8\xda" , "\x4f\xdb\x60" } , { "\xb3\xe8\xb8\xdc" , "\x50\x60\xde" } , { "\xb3\xe8\xb8\xdd" , "\x4f\xda\xdf\x60" } , { "\xb3\xe8\xb8\xe0" , "\x4f\xe6\x60" } , { "\xb3\xe8\xb8\xe1" , "\x4f\xe6\x60\xde" } , { "\xb3\xe8\xb8\xe1\xa2" , "\x4f\xe6\x60\xde\x4d" } , { "\xb3\xe8\xb8\xe4\xa2" , "\x4f\xe6\xe0\x60\x4d" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x4f\xdb\x60\x3e\x60" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x50\x60\x3e\x60\xde" } , { "\xb3\xe8\xb9" , "\x4f\xda\x63" } , { "\xb3\xe8\xb9\xe1\xa2" , "\x4f\xe6\x63\xde\x4d" } , { "\xb3\xe8\xba" , "\x4f\xda\x67" } , { "\xb3\xe8\xba\xda" , "\x4f\xdb\x67" } , { "\xb3\xe8\xba\xda\xa2" , "\x4f\xdb\x67\x4d" } , { "\xb3\xe8\xba\xdb" , "\x50\x67" } , { "\xb3\xe8\xba\xdc" , "\x50\x67\xde" } , { "\xb3\xe8\xba\xe1\xa2" , "\x4f\xe6\x67\xde\x4d" } , { "\xb3\xe8\xba\xe2\xa2" , "\x4f\xe6\x67\xf5\xe7\x4d" } , { "\xb3\xe8\xba\xe5" , "\x4f\xe6\xe0\x67\xde" } , { "\xb3\xe8\xba\xe9\xdc" , "\x50\x67\xde" } , { "\xb3\xe8\xbd" , "\x4f\xda\x6f" } , { "\xb3\xe8\xbd\xda" , "\x4f\xdb\x6f" } , { "\xb3\xe8\xbd\xda\xa2" , "\x4f\xdb\x6f\x4d" } , { "\xb3\xe8\xbd\xdb" , "\x50\x6f" } , { "\xb3\xe8\xbd\xdb\xa2" , "\x50\x6f\x4d" } , { "\xb3\xe8\xbd\xdc" , "\x50\x6f\xde" } , { "\xb3\xe8\xbd\xdd" , "\x4f\xda\xdf\x6f" } , { "\xb3\xe8\xbd\xde" , "\x4f\xda\xe0\x6f" } , { "\xb3\xe8\xbd\xe0" , "\x4f\xe6\x6f" } , { "\xb3\xe8\xbd\xe0\xa2" , "\x4f\xe6\x6f\x4d" } , { "\xb3\xe8\xbd\xe1" , "\x4f\xe6\x6f\xde" } , { "\xb3\xe8\xbd\xe2" , "\x4f\xe6\x6f\x3e\xe7" } , { "\xb3\xe8\xbd\xe4" , "\x4f\xe6\xe0\x6f" } , { "\xb3\xe8\xbd\xe5" , "\x4f\xe6\xe0\x6f\xde" } , { "\xb3\xe8\xbd\xe5\xa2" , "\x4f\xe6\xe0\x6f\xde\x4d" } , { "\xb3\xe8\xbd\xe8" , "\x4f\xe9\x6f" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x4f\xda\xdf\x6f\x3d\x51" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x4f\xdb\x6f\xfe\x58" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\x4f\xdb\x6f\xfe\x58\xf2\xc7" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x4f\xe6\x6f\x3e\x60\xde" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x4f\xdb\x6f\xfe\x72" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x50\x6f\xfe\x72\xde" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x4f\xe6\x6f\xfe\x72\xde" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\x4f\xda\xdf\x6f\x3e\xad" } , { "\xb3\xe8\xbd\xe8\xcc" , "\x4f\xda\x6f\x3d\xbd" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x4f\xda\x6f\x3d\xc0" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x4f\xda\xdf\x6f\x3d\xc0" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x4f\xda\xe0\x6f\x3d\xc0" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x4f\xe6\xe0\x6f\x3d\xc0\xde" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x4f\xda\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x4f\xdb\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x4f\xdb\x6f\xf1\x4d" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\x50\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x50\x6f\xf1\xde" } , { "\xb3\xe8\xbd\xe8\xcf\xe0" , "\x4f\xe6\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\x4f\xe6\x6f\xf1\xde" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\x4f\xe6\x6f\xf1\x3e\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xe4" , "\x4f\xe6\xe0\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\x4f\xe6\xe0\x6f\xf1\xde" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\x4f\xe8\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xe7" , "\x4f\xe6\xe0\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x4f\xe9\x6f\xf1" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\x50\x6f\xfe\xc7" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\x50\x6f\xfe\xc7\xde" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\x4f\xda\xdf\x6f\xfe\xc7" } , { "\xb3\xe8\xbd\xe8\xd1\xe0" , "\x4f\xe6\x6f\xfe\xc7" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\x4f\xe6\x6f\xfe\xc7\xf5\xe7" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\x4f\xe6\xe0\x6f\xfe\xc7\xde" } , { "\xb3\xe8\xbd\xe8\xd4\xda" , "\x4f\xdb\x6f\x3e\xca" } , { "\xb3\xe8\xbd\xe8\xd4\xdb" , "\x50\x6f\x3e\xca" } , { "\xb3\xe8\xbd\xe8\xd4\xe2" , "\x4f\xe6\x6f\x3e\xca\x3e\xe7" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x4f\xda\x6f\x3e\xd3" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x50\x6f\x3e\xd3\x4d" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x4f\xda\xdf\x6f\x3e\xd3" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x4f\xe9\x6f\x3e\xd3" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x50\x6f\x3e\xd3\x3d\x51" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\x4f\xdb\x6f\x3e\xd3\xf1" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x4f\xe6\xe0\x6f\x3e\xd3\xfe\xc7\xde" } , { "\xb3\xe8\xbe\xa2" , "\x4f\xda\x72\x4d" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x4f\xdb\x72\xf2\x72" } , { "\xb3\xe8\xbf" , "\x4f\xda\x75" } , { "\xb3\xe8\xbf\xa2" , "\x4f\xda\x75\x4d" } , { "\xb3\xe8\xbf\xda" , "\x4f\xdb\x75" } , { "\xb3\xe8\xbf\xdb" , "\x50\x75" } , { "\xb3\xe8\xbf\xdc" , "\x50\x75\xde" } , { "\xb3\xe8\xbf\xdd" , "\x4f\xda\xdf\x75" } , { "\xb3\xe8\xbf\xde" , "\x4f\xda\xe0\x75" } , { "\xb3\xe8\xbf\xe0" , "\x4f\xe6\x75" } , { "\xb3\xe8\xbf\xe1" , "\x4f\xe6\x75\xde" } , { "\xb3\xe8\xbf\xe4" , "\x4f\xe6\xe0\x75" } , { "\xb3\xe8\xbf\xe5" , "\x4f\xe6\xe0\x75\xde" } , { "\xb3\xe8\xbf\xe8" , "\x4f\xe9\x75" } , { "\xb3\xe8\xbf\xe8\xcf" , "\x4f\xda\x75\xf0" } , { "\xb3\xe8\xbf\xe9" , "\x4f\xda\x75" } , { "\xb3\xe8\xbf\xe9\xda" , "\x4f\xdb\x75" } , { "\xb3\xe8\xc1" , "\x4f\xda\x7c" } , { "\xb3\xe8\xc1\xdb" , "\x50\x7c" } , { "\xb3\xe8\xc1\xdb\xa2" , "\x50\x7c\x4d" } , { "\xb3\xe8\xc1\xdc" , "\x50\x7c\xde" } , { "\xb3\xe8\xc2" , "\x4f\xda\xa1" } , { "\xb3\xe8\xc2\xa2" , "\x4f\xda\xa1\x4d" } , { "\xb3\xe8\xc2\xa3" , "\x4f\xda\xa1\x4e" } , { "\xb3\xe8\xc2\xda" , "\x4f\xdb\xa1" } , { "\xb3\xe8\xc2\xda\xa2" , "\x4f\xdb\xa1\x4d" } , { "\xb3\xe8\xc2\xda\xa3" , "\x4f\xdb\xa1\x4e" } , { "\xb3\xe8\xc2\xdb" , "\x50\xa1" } , { "\xb3\xe8\xc2\xdb\xa2" , "\x50\xa1\x4d" } , { "\xb3\xe8\xc2\xdb\xa3" , "\x50\xa1\x4e" } , { "\xb3\xe8\xc2\xdc" , "\x50\xa1\xde" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x50\xa1\xde\x4e" } , { "\xb3\xe8\xc2\xdd" , "\x4f\xda\xdf\xa1" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x4f\xda\xdf\xa1\x4d" } , { "\xb3\xe8\xc2\xde" , "\x4f\xda\xe0\xa1" } , { "\xb3\xe8\xc2\xdf" , "\x4f\xda\xea" } , { "\xb3\xe8\xc2\xe0" , "\x4f\xe6\xa1" } , { "\xb3\xe8\xc2\xe1" , "\x4f\xe6\xa1\xde" } , { "\xb3\xe8\xc2\xe2" , "\x4f\xe6\xeb" } , { "\xb3\xe8\xc2\xe5" , "\x4f\xe6\xe0\xa1\xde" } , { "\xb3\xe8\xc2\xe5\xa2" , "\x4f\xe6\xe0\xa1\xde\x4d" } , { "\xb3\xe8\xc2\xe6" , "\x4f\xe8\xa1" } , { "\xb3\xe8\xc2\xe8\xb3\xe0" , "\x4f\xe6\xa1\xf4\x51" } , { "\xb3\xe8\xc2\xe8\xc2" , "\x4f\xda\xa1\xf2\xa1" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\x4f\xdb\xa1\xf2\xa1" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\x50\xa1\xf2\xa1" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x4f\xda\xa1\xf4\xc0" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x4f\xda\xa1\xf4\xc0\x4d" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x4f\xdb\xa1\xf4\xc0" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x4f\xda\xdf\xa1\xf4\xc0" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x4f\xe6\xa1\xf4\xc0\xfd\xe7" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x4f\xe6\xe0\xa1\xf4\xc0\xde\x4d" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x4f\xda\xa1\xf0" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x4f\xda\xa1\xf0\x4d" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x4f\xda\xa1\xf0\x4e" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\x50\xa1\xf0" } , { "\xb3\xe8\xc2\xe8\xcf\xe0" , "\x4f\xe6\xa1\xf0" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\x4f\xe6\xa1\xf0\x3e\xe7" } , { "\xb3\xe8\xc2\xe8\xd4" , "\x4f\xda\xec" } , { "\xb3\xe8\xc2\xe8\xd4\xa2" , "\x4f\xda\xec\x4d" } , { "\xb3\xe8\xc2\xe8\xd4\xda" , "\x4f\xdb\xec" } , { "\xb3\xe8\xc2\xe8\xd4\xdb" , "\x50\xec" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x4f\xda\xa1\xf5\xd3" } , { "\xb3\xe8\xc3" , "\x4f\xda\xa4" } , { "\xb3\xe8\xc3\xa2" , "\x4f\xda\xa4\x4d" } , { "\xb3\xe8\xc3\xdb" , "\x50\xa4" } , { "\xb3\xe8\xc3\xdd" , "\x4f\xda\xdf\xa4" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x4f\xda\xa4\xf4\xc0" } , { "\xb3\xe8\xc4" , "\x4f\xda\xa7" } , { "\xb3\xe8\xc4\xda" , "\x4f\xdb\xa7" } , { "\xb3\xe8\xc4\xdb" , "\x50\xa7" } , { "\xb3\xe8\xc4\xdd" , "\x4f\xda\xdf\xa7" } , { "\xb3\xe8\xc4\xdd\xa2" , "\x4f\xda\xdf\xa7\x4d" } , { "\xb3\xe8\xc4\xe4" , "\x4f\xe6\xe0\xa7" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\x50\xa7\xf0\xde" } , { "\xb3\xe8\xc4\xe8\xd4\xda" , "\x4f\xdb\xa7\xf5\xca" } , { "\xb3\xe8\xc5" , "\x4f\xda\xaa" } , { "\xb3\xe8\xc5\xda" , "\x4f\xdb\xaa" } , { "\xb3\xe8\xc6" , "\x4f\xda\xad" } , { "\xb3\xe8\xc6\xda" , "\x4f\xdb\xad" } , { "\xb3\xe8\xc6\xda\xa2" , "\x4f\xdb\xad\x4d" } , { "\xb3\xe8\xc6\xdb" , "\x50\xad" } , { "\xb3\xe8\xc6\xdc" , "\x50\xad\xde" } , { "\xb3\xe8\xc6\xdd" , "\x4f\xda\xdf\xad" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x4f\xda\xdf\xad\x4d" } , { "\xb3\xe8\xc6\xde" , "\x4f\xda\xe0\xad" } , { "\xb3\xe8\xc6\xe0" , "\x4f\xe6\xad" } , { "\xb3\xe8\xc6\xe4" , "\x4f\xe6\xe0\xad" } , { "\xb3\xe8\xc6\xe5" , "\x4f\xe6\xe0\xad\xde" } , { "\xb3\xe8\xc6\xe7" , "\x4f\xe6\xe0\xad" } , { "\xb3\xe8\xc6\xe8" , "\x4f\xe9\xad" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x4f\xda\xad\x3d\xc0" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x4f\xdb\xad\x3d\xc0" } , { "\xb3\xe8\xc8" , "\x4f\xda\xb0" } , { "\xb3\xe8\xc8\xa2" , "\x4f\xda\xb0\x4d" } , { "\xb3\xe8\xc8\xda" , "\x4f\xdb\xb0" } , { "\xb3\xe8\xc8\xdb" , "\x50\xb0" } , { "\xb3\xe8\xc8\xdc" , "\x50\xb0\xde" } , { "\xb3\xe8\xc8\xdd" , "\x4f\xda\xdf\xb0" } , { "\xb3\xe8\xc8\xde" , "\x4f\xda\xe0\xb0" } , { "\xb3\xe8\xc8\xdf" , "\x4f\xda\xb0\x3e\xe4" } , { "\xb3\xe8\xc8\xe1" , "\x4f\xe6\xb0\xde" } , { "\xb3\xe8\xc8\xe2" , "\x4f\xe6\xb0\x3e\xe7" } , { "\xb3\xe8\xc8\xe4" , "\x4f\xe6\xe0\xb0" } , { "\xb3\xe8\xc8\xe8\xcf" , "\x4f\xda\xb0\xf1" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\x4f\xdb\xb0\xf1" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\x4f\xe8\xb0\xf1" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x50\xb0\x3e\xd3" } , { "\xb3\xe8\xc8\xe8\xd7\xe0" , "\x4f\xe6\xb0\x3e\xd3" } , { "\xb3\xe8\xc9" , "\x4f\xda\xb5" } , { "\xb3\xe8\xc9\xda" , "\x4f\xdb\xb5" } , { "\xb3\xe8\xc9\xdb" , "\x50\xb5" } , { "\xb3\xe8\xc9\xdd" , "\x4f\xda\xdf\xb5" } , { "\xb3\xe8\xc9\xe0" , "\x4f\xe6\xb5" } , { "\xb3\xe8\xc9\xe1" , "\x4f\xe6\xb5\xde" } , { "\xb3\xe8\xc9\xe9\xe1" , "\x4f\xe6\xb5\xde" } , { "\xb3\xe8\xca" , "\x4f\xda\xb9" } , { "\xb3\xe8\xca\xa2" , "\x4f\xda\xb9\x4d" } , { "\xb3\xe8\xca\xda" , "\x4f\xdb\xb9" } , { "\xb3\xe8\xca\xdc" , "\x50\xb9\xde" } , { "\xb3\xe8\xca\xde" , "\x4f\xda\xe0\xb9" } , { "\xb3\xe8\xca\xe1" , "\x4f\xe6\xb9\xde" } , { "\xb3\xe8\xca\xe5" , "\x4f\xe6\xe0\xb9\xde" } , { "\xb3\xe8\xca\xe5\xa2" , "\x4f\xe6\xe0\xb9\xde\x4d" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x4f\xdb\xb9\xfe\xc7" } , { "\xb3\xe8\xcb" , "\x4f\xda\xbc" } , { "\xb3\xe8\xcb\xda" , "\x4f\xdb\xbc" } , { "\xb3\xe8\xcb\xdb" , "\x50\xbc" } , { "\xb3\xe8\xcc" , "\x4f\xda\xbd" } , { "\xb3\xe8\xcc\xa2" , "\x4f\xda\xbd\x4d" } , { "\xb3\xe8\xcc\xda" , "\x4f\xdb\xbd" } , { "\xb3\xe8\xcc\xda\xa2" , "\x4f\xdb\xbd\x4d" } , { "\xb3\xe8\xcc\xdb" , "\x50\xbd" } , { "\xb3\xe8\xcc\xdc" , "\x50\xbd\xde" } , { "\xb3\xe8\xcc\xdd" , "\x4f\xda\xdf\xbd" } , { "\xb3\xe8\xcc\xdd\xa2" , "\x4f\xda\xdf\xbd\x4d" } , { "\xb3\xe8\xcc\xe0" , "\x4f\xe6\xbd" } , { "\xb3\xe8\xcc\xe1" , "\x4f\xe6\xbd\xde" } , { "\xb3\xe8\xcc\xe1\xa2" , "\x4f\xe6\xbd\xde\x4d" } , { "\xb3\xe8\xcc\xe2" , "\x4f\xe6\xbd\xfd\xe7" } , { "\xb3\xe8\xcc\xe5" , "\x4f\xe6\xe0\xbd\xde" } , { "\xb3\xe8\xcd" , "\x4f\xda\xc0" } , { "\xb3\xe8\xcd\xa2" , "\x4f\xda\xc0\x4d" } , { "\xb3\xe8\xcd\xda" , "\x4f\xdb\xc0" } , { "\xb3\xe8\xcd\xda\xa1" , "\x4f\xdb\xc0\x4d" } , { "\xb3\xe8\xcd\xda\xa2" , "\x4f\xdb\xc0\x4d" } , { "\xb3\xe8\xcd\xdb" , "\x50\xc0" } , { "\xb3\xe8\xcd\xdd" , "\x4f\xda\xdf\xc0" } , { "\xb3\xe8\xcd\xde" , "\x4f\xda\xe0\xc0" } , { "\xb3\xe8\xcd\xde\xa1" , "\x4f\xda\xe0\xc0\x4d" } , { "\xb3\xe8\xcd\xde\xa2" , "\x4f\xda\xe0\xc0\x4d" } , { "\xb3\xe8\xcd\xe1" , "\x4f\xe6\xc0\xde" } , { "\xb3\xe8\xcd\xe2" , "\x4f\xe6\xc0\xfd\xe7" } , { "\xb3\xe8\xcd\xe5" , "\x4f\xe6\xe0\xc0\xde" } , { "\xb3\xe8\xcd\xe5\xa2" , "\x4f\xe6\xe0\xc0\xde\x4d" } , { "\xb3\xe8\xcd\xe8" , "\x4f\xe9\xc0" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x4f\xdb\xc0\xfc\xc0" } , { "\xb3\xe8\xcf" , "\x4f\xda\xc3" } , { "\xb3\xe8\xcf\xa2" , "\x4f\xda\xc3\x4d" } , { "\xb3\xe8\xcf\xda" , "\x4f\xdb\xc3" } , { "\xb3\xe8\xcf\xda\xa1" , "\x4f\xdb\xc3\x4d" } , { "\xb3\xe8\xcf\xda\xa2" , "\x4f\xdb\xc3\x4d" } , { "\xb3\xe8\xcf\xdb" , "\x50\xc3" } , { "\xb3\xe8\xcf\xdb\xa2" , "\x50\xc3\x4d" } , { "\xb3\xe8\xcf\xdc" , "\x50\xc3\xde" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x50\xc3\xde\x4d" } , { "\xb3\xe8\xcf\xdd" , "\x4f\xda\xdf\xc3" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x4f\xda\xdf\xc3\x4d" } , { "\xb3\xe8\xcf\xde" , "\x4f\xda\xe0\xc3" } , { "\xb3\xe8\xcf\xdf" , "\x4f\xda\xc3\x3e\xe4" } , { "\xb3\xe8\xcf\xe0" , "\x4f\xe6\xc3" } , { "\xb3\xe8\xcf\xe1" , "\x4f\xe6\xc3\xde" } , { "\xb3\xe8\xcf\xe1\xa2" , "\x4f\xe6\xc3\xde\x4d" } , { "\xb3\xe8\xcf\xe2" , "\x4f\xe6\xee" } , { "\xb3\xe8\xcf\xe2\xa2" , "\x4f\xe6\xee\x4d" } , { "\xb3\xe8\xcf\xe4" , "\x4f\xe6\xe0\xc3" } , { "\xb3\xe8\xcf\xe4\xa2" , "\x4f\xe6\xe0\xc3\x4d" } , { "\xb3\xe8\xcf\xe5" , "\x4f\xe6\xe0\xc3\xde" } , { "\xb3\xe8\xcf\xe5\xa2" , "\x4f\xe6\xe0\xc3\xde\x4d" } , { "\xb3\xe8\xcf\xe6" , "\x4f\xe8\xc3" } , { "\xb3\xe8\xcf\xe6\xa2" , "\x4f\xe8\xc3\x4d" } , { "\xb3\xe8\xcf\xe7" , "\x4f\xe6\xe0\xc3" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x4f\xdb\xc3\x3e\x6f" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x4f\xda\xc3\xfe\xa4\x4d" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x4f\xda\xc3\x3d\xc0" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x4f\xe6\xc3\x3e\xd0\xde" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x4f\xda\xc3\x3e\xd3" } , { "\xb3\xe8\xd0\xdc" , "\x50\xc3\xde" } , { "\xb3\xe8\xd0\xdd" , "\x4f\xda\xdf\xc3" } , { "\xb3\xe8\xd0\xe4" , "\x4f\xe6\xe0\xc3" } , { "\xb3\xe8\xd1" , "\x4f\xda\xc7" } , { "\xb3\xe8\xd1\xa2" , "\x4f\xda\xc7\x4d" } , { "\xb3\xe8\xd1\xda" , "\x4f\xdb\xc7" } , { "\xb3\xe8\xd1\xda\xa1" , "\x4f\xdb\xc7\x4d" } , { "\xb3\xe8\xd1\xda\xa2" , "\x4f\xdb\xc7\x4d" } , { "\xb3\xe8\xd1\xdb" , "\x50\xc7" } , { "\xb3\xe8\xd1\xdb\xa2" , "\x50\xc7\x4d" } , { "\xb3\xe8\xd1\xdc" , "\x50\xc7\xde" } , { "\xb3\xe8\xd1\xdd" , "\x4f\xda\xdf\xc7" } , { "\xb3\xe8\xd1\xde" , "\x4f\xda\xe0\xc7" } , { "\xb3\xe8\xd1\xe0" , "\x4f\xe6\xc7" } , { "\xb3\xe8\xd1\xe0\xa2" , "\x4f\xe6\xc7\x4d" } , { "\xb3\xe8\xd1\xe1" , "\x4f\xe6\xc7\xde" } , { "\xb3\xe8\xd1\xe1\xa2" , "\x4f\xe6\xc7\xde\x4d" } , { "\xb3\xe8\xd1\xe2" , "\x4f\xe6\xc7\xf5\xe7" } , { "\xb3\xe8\xd1\xe2\xa2" , "\x4f\xe6\xc7\xf5\xe7\x4d" } , { "\xb3\xe8\xd1\xe4" , "\x4f\xe6\xe0\xc7" } , { "\xb3\xe8\xd1\xe5" , "\x4f\xe6\xe0\xc7\xde" } , { "\xb3\xe8\xd1\xe5\xa2" , "\x4f\xe6\xe0\xc7\xde\x4d" } , { "\xb3\xe8\xd1\xe6" , "\x4f\xe8\xc7" } , { "\xb3\xe8\xd1\xe7" , "\x4f\xe6\xe0\xc7" } , { "\xb3\xe8\xd1\xe8" , "\x4f\xe9\xc7" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x4f\xda\xc7\xf5\x60" } , { "\xb3\xe8\xd1\xe8\xc8" , "\x4f\xda\xc7\xf5\xb0" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x4f\xda\xc7\xf4\xc0" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x4f\xdb\xc7\xf4\xc0" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x50\xc7\xf5\xd3\xde" } , { "\xb3\xe8\xd2" , "\x4f\xda\xd9" } , { "\xb3\xe8\xd4" , "\x4f\xda\xca" } , { "\xb3\xe8\xd4\xa2" , "\x4f\xda\xca\x4d" } , { "\xb3\xe8\xd4\xda" , "\x4f\xdb\xca" } , { "\xb3\xe8\xd4\xda\xa1" , "\x4f\xdb\xca\x4d" } , { "\xb3\xe8\xd4\xda\xa2" , "\x4f\xdb\xca\x4d" } , { "\xb3\xe8\xd4\xdb" , "\x50\xca" } , { "\xb3\xe8\xd4\xdb\xa2" , "\x50\xca\x4d" } , { "\xb3\xe8\xd4\xdc" , "\x50\xca\xde" } , { "\xb3\xe8\xd4\xdc\xa2" , "\x50\xca\xde\x4d" } , { "\xb3\xe8\xd4\xdf" , "\x4f\xda\xca\x3e\xe4" } , { "\xb3\xe8\xd4\xe0" , "\x4f\xe6\xca" } , { "\xb3\xe8\xd4\xe0\xa2" , "\x4f\xe6\xca\x4d" } , { "\xb3\xe8\xd4\xe1" , "\x4f\xe6\xca\xde" } , { "\xb3\xe8\xd4\xe1\xa2" , "\x4f\xe6\xca\xde\x4d" } , { "\xb3\xe8\xd4\xe2" , "\x4f\xe6\xca\x3e\xe7" } , { "\xb3\xe8\xd4\xe4" , "\x4f\xe6\xe0\xca" } , { "\xb3\xe8\xd4\xe5" , "\x4f\xe6\xe0\xca\xde" } , { "\xb3\xe8\xd4\xe6" , "\x4f\xe8\xca" } , { "\xb3\xe8\xd4\xe8" , "\x4f\xe9\xca" } , { "\xb3\xe8\xd4\xe8\xd7\xda" , "\x4f\xdb\xca\x3e\xd3" } , { "\xb3\xe8\xd5" , "\x4f\xda\xcd" } , { "\xb3\xe8\xd5\xa2" , "\x4f\xda\xcd\x4d" } , { "\xb3\xe8\xd5\xda" , "\x4f\xdb\xcd" } , { "\xb3\xe8\xd5\xdb" , "\x50\xcd" } , { "\xb3\xe8\xd5\xdb\xa2" , "\x50\xcd\x4d" } , { "\xb3\xe8\xd5\xdc" , "\x50\xcd\xde" } , { "\xb3\xe8\xd5\xdd" , "\x4f\xda\xdf\xcd" } , { "\xb3\xe8\xd5\xde" , "\x4f\xda\xe0\xcd" } , { "\xb3\xe8\xd5\xe1" , "\x4f\xe6\xcd\xde" } , { "\xb3\xe8\xd5\xe1\xa2" , "\x4f\xe6\xcd\xde\x4d" } , { "\xb3\xe8\xd5\xe5\xa2" , "\x4f\xe6\xe0\xcd\xde\x4d" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x4f\xda\xcd\xfd\x60" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x4f\xda\xcd\xfc\xc0" } , { "\xb3\xe8\xd6" , "\x4f\xda\xd0" } , { "\xb3\xe8\xd6\xa2" , "\x4f\xda\xd0\x4d" } , { "\xb3\xe8\xd6\xa3" , "\x4f\xda\xd0\x4e" } , { "\xb3\xe8\xd6\xda" , "\x4f\xdb\xd0" } , { "\xb3\xe8\xd6\xda\xa2" , "\x4f\xdb\xd0\x4d" } , { "\xb3\xe8\xd6\xdb" , "\x50\xd0" } , { "\xb3\xe8\xd6\xdb\xa2" , "\x50\xd0\x4d" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\x50\xd0\x4d\x4d" } , { "\xb3\xe8\xd6\xdc" , "\x50\xd0\xde" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x50\xd0\xde\x4d" } , { "\xb3\xe8\xd6\xdd" , "\x4f\xda\xdf\xd0" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x4f\xda\xdf\xd0\x4e" } , { "\xb3\xe8\xd6\xde" , "\x4f\xda\xe0\xd0" } , { "\xb3\xe8\xd6\xdf" , "\x4f\xda\xd0\x3e\xe4" } , { "\xb3\xe8\xd6\xe0" , "\x4f\xe6\xd0" } , { "\xb3\xe8\xd6\xe0\xa2" , "\x4f\xe6\xd0\x4d" } , { "\xb3\xe8\xd6\xe1" , "\x4f\xe6\xd0\xde" } , { "\xb3\xe8\xd6\xe1\xa2" , "\x4f\xe6\xd0\xde\x4d" } , { "\xb3\xe8\xd6\xe2" , "\x4f\xe6\xd0\x3e\xe7" } , { "\xb3\xe8\xd6\xe5" , "\x4f\xe6\xe0\xd0\xde" } , { "\xb3\xe8\xd6\xe5\xa2" , "\x4f\xe6\xe0\xd0\xde\x4d" } , { "\xb3\xe8\xd6\xe6" , "\x4f\xe8\xd0" } , { "\xb3\xe8\xd6\xe8" , "\x4f\xe9\xd0" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\x4f\xda\xdf\xd0\x3d\x51" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\x4f\xda\xd0\x3d\x51\xfd\xd0" } , { "\xb3\xe8\xd6\xe8\xbd" , "\x4f\xda\xd0\x3e\x6f" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\x4f\xdb\xd0\x3e\x6f\xf1" } , { "\xb3\xe8\xd6\xe8\xc1" , "\x4f\xda\xd0\xfe\x7c" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\x4f\xda\xd0\xfe\x7c\x4d" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\x4f\xdb\xd0\xfe\x7c" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\x4f\xe6\xd0\xfe\x7c\xf5\xe7" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\x4f\xe6\xe0\xd0\xfe\x7c\xde" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x4f\xda\xd0\xfe\xa1" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\x4f\xda\xd0\xfe\xa1\xf0" } , { "\xb3\xe8\xd6\xe8\xc6" , "\x4f\xda\xd0\x3e\xad" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\x4f\xe9\xd0\x3e\xad" } , { "\xb3\xe8\xd6\xe8\xcc" , "\x4f\xda\xd0\x3d\xbd" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\x4f\xda\xd0\x3d\xbd\x4d" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\x4f\xdb\xd0\x3d\xbd" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\x4f\xdb\xd0\x3d\xbd\x4d" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\x50\xd0\x3d\xbd" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\x50\xd0\x3d\xbd\x4d" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\x50\xd0\x3d\xbd\xde" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\x4f\xda\xdf\xd0\x3d\xbd" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\x4f\xe6\xd0\x3d\xbd\xde" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x4f\xda\xd0\x3d\xc0" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x4f\xda\xd0\x3d\xc0\x4d" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x4f\xdb\xd0\x3d\xc0" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x4f\xdb\xd0\x3d\xc0\x4d" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x50\xd0\x3d\xc0\xde" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x4f\xda\xdf\xd0\x3d\xc0" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x4f\xda\xe0\xd0\x3d\xc0" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\x4f\xe6\xd0\x3d\xc0\xde" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\x4f\xe6\xe0\xd0\x3d\xc0\xde" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\x4f\xe6\xe0\xd0\x3d\xc0\xde\x4d" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x4f\xda\xd0\xf1" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x4f\xda\xd0\xf1\x4d" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x4f\xdb\xd0\xf1" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x4f\xda\xd0\xfe\xc7" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x4f\xda\xdf\xd0\xfe\xc7" } , { "\xb3\xe8\xd6\xe8\xd4\xda" , "\x4f\xdb\xd0\x3e\xca" } , { "\xb3\xe8\xd6\xe8\xd4\xe1" , "\x4f\xe6\xd0\x3e\xca\xde" } , { "\xb3\xe8\xd7" , "\x4f\xda\xd3" } , { "\xb3\xe8\xd7\xa2" , "\x4f\xda\xd3\x4d" } , { "\xb3\xe8\xd7\xda" , "\x4f\xdb\xd3" } , { "\xb3\xe8\xd7\xda\xa2" , "\x4f\xdb\xd3\x4d" } , { "\xb3\xe8\xd7\xdb" , "\x50\xd3" } , { "\xb3\xe8\xd7\xdb\xa2" , "\x50\xd3\x4d" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\x50\xd3\x4d\x4d" } , { "\xb3\xe8\xd7\xdc" , "\x50\xd3\xde" } , { "\xb3\xe8\xd7\xdd" , "\x4f\xda\xdf\xd3" } , { "\xb3\xe8\xd7\xde" , "\x4f\xda\xe0\xd3" } , { "\xb3\xe8\xd7\xe0" , "\x4f\xe6\xd3" } , { "\xb3\xe8\xd7\xe0\xa2" , "\x4f\xe6\xd3\x4d" } , { "\xb3\xe8\xd7\xe1" , "\x4f\xe6\xd3\xde" } , { "\xb3\xe8\xd7\xe1\xa2" , "\x4f\xe6\xd3\xde\x4d" } , { "\xb3\xe8\xd7\xe2" , "\x4f\xe6\xd3\x3e\xe7" } , { "\xb3\xe8\xd7\xe4" , "\x4f\xe6\xe0\xd3" } , { "\xb3\xe8\xd7\xe5" , "\x4f\xe6\xe0\xd3\xde" } , { "\xb3\xe8\xd7\xe5\xa2" , "\x4f\xe6\xe0\xd3\xde\x4d" } , { "\xb3\xe8\xd7\xe6" , "\x4f\xe8\xd3" } , { "\xb3\xe8\xd7\xe8" , "\x4f\xe9\xd3" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\x50\xd3\x3d\x51" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\x4f\xda\xdf\xd3\x3d\x51" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\x4f\xda\xe0\xd3\x3d\x51" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\x4f\xda\xe0\xd3\x3d\x51\xfc\xc0" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\x50\xd3\x3d\x51\xf0\xde" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\x4f\xda\xe0\xd3\x3d\x51\xfa\xc7" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x4f\xda\xd3\xfe\x58" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x4f\xdb\xd3\xfe\x58" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\x4f\xe6\xd3\xfe\x58\xf0\xde" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x4f\xda\xd3\x3e\x60" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x50\xd3\x3e\x60" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x4f\xe6\xd3\x3e\x60\xde" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x4f\xe6\xd3\x3e\x60\xde\x4d" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x4f\xe6\xd3\x3e\x63\xde\x4d" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\x4f\xda\xd3\xfe\x67\xf2\xc7" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x4f\xda\xd3\x3e\x6f" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x4f\xdb\xd3\x3e\x6f" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x50\xd3\x3e\x6f\xde" } , { "\xb3\xe8\xd7\xe8\xbd\xe0" , "\x4f\xe6\xd3\x3e\x6f" } , { "\xb3\xe8\xd7\xe8\xbd\xe0\xa2" , "\x4f\xe6\xd3\x3e\x6f\x4d" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x4f\xe6\xd3\x3e\x6f\xde\x4d" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x4f\xe6\xd3\x3e\x6f\x3e\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x4f\xe6\xe0\xd3\x3e\x6f\xde" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x4f\xe9\xd3\x3e\x6f" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4f\xdb\xd3\x3e\x6f\xf1" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\x50\xd3\x3e\x6f\xf1" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\x50\xd3\x3e\x6f\xf1\xde" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\x4f\xda\xe0\xd3\x3e\x6f\xf1" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\x4f\xe6\xe0\xd3\x3e\x6f\xf1\xde" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x4f\xda\xd3\xfe\x75" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\x4f\xdb\xd3\xfe\x75\xf2\x58" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\x4f\xda\xe0\xd3\xfe\xa1" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\x4f\xe9\xd3\xfe\xa1" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\x4f\xdb\xd3\xfe\xa4" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\x50\xd3\xfe\xa4" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x4f\xdb\xd3\xfe\xa7" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\x4f\xda\xd3\x3e\xad\x4d" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\x50\xd3\x3e\xad" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\x4f\xda\xdf\xd3\x3e\xad" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\x4f\xda\xdf\xd3\x3e\xad\x4d" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\x4f\xe6\xd3\x3e\xad\xde" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\x4f\xe9\xd3\x3e\xad" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\x4f\xe6\xe0\xd3\x3e\xad\xfe\xc7\xde" } , { "\xb3\xe8\xd7\xe8\xc8" , "\x4f\xda\xd3\x3e\xb0" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\x4f\xda\xd3\x3e\xb0\x4d" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\x4f\xdb\xd3\x3e\xb0" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\x50\xd3\x3e\xb0" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\x50\xd3\x3e\xb0\xde" } , { "\xb3\xe8\xd7\xe8\xc8\xe0" , "\x4f\xe6\xd3\x3e\xb0" } , { "\xb3\xe8\xd7\xe8\xc8\xe0\xa2" , "\x4f\xe6\xd3\x3e\xb0\x4d" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\x4f\xe6\xd3\x3e\xb0\x3e\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xe4" , "\x4f\xe6\xe0\xd3\x3e\xb0" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\x4f\xe6\xe0\xd3\x3e\xb0\xde" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\x4f\xe8\xd3\x3e\xb0" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe0" , "\x4f\xe6\xd3\x3e\xb0\xf1" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\x4f\xe6\xd3\x3e\xb0\xf1\xde" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\x4f\xda\xd3\x3e\xb0\xfe\xc7" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x4f\xdb\xd3\x3e\xb0\xfe\xc7" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\x4f\xdb\xd3\x3e\xb0\xfe\xc7\x4d" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xe0" , "\x4f\xe6\xd3\x3e\xb0\xfe\xc7" } , { "\xb3\xe8\xd7\xe8\xc9" , "\x4f\xda\xd3\x3e\xb5" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\x50\xd3\x3e\xb5" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\x4f\xe6\xe0\xd3\x3e\xb5\xfe\xc7\xde" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x4f\xda\xd3\x3d\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\x50\xd3\x3d\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x4f\xda\xdf\xd3\x3d\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\x4f\xdb\xd3\x3d\xbd\xfc\xc0" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x4f\xda\xe0\xd3\x3d\xc0" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x4f\xda\xdf\xd3\xf1" } , { "\xb3\xe8\xd7\xe8\xcf\xe0" , "\x4f\xe6\xd3\xf1" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\x4f\xe6\xd3\xf1\xde" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x4f\xe9\xd3\xf1" } , { "\xb3\xe8\xd7\xe8\xd1" , "\x4f\xda\xd3\xfe\xc7" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\x50\xd3\xfe\xc7\xde" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\x4f\xda\xdf\xd3\xfe\xc7" } , { "\xb3\xe8\xd7\xe8\xd1\xe0\xa2" , "\x4f\xe6\xd3\xfe\xc7\x4d" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\x4f\xe6\xd3\xfe\xc7\xde" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\x4f\xe6\xd3\xfe\xc7\xf5\xe7" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\x4f\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xb3\xe8\xd7\xe8\xd4" , "\x4f\xda\xd3\x3e\xca" } , { "\xb3\xe8\xd7\xe8\xd4\xa2" , "\x4f\xda\xd3\x3e\xca\x4d" } , { "\xb3\xe8\xd7\xe8\xd4\xda" , "\x4f\xdb\xd3\x3e\xca" } , { "\xb3\xe8\xd7\xe8\xd4\xe0" , "\x4f\xe6\xd3\x3e\xca" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x4f\xe9\xd3\x3e\xd3" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x4f\xe9\xd1\xdb\xd3\x3e\x6f\xf1" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x4f\xe6\xd3\x3c\xd6\xf9\xe7" } , { "\xb3\xe8\xd8" , "\x4f\xda\xd6" } , { "\xb3\xe8\xd8\xda" , "\x4f\xdb\xd6" } , { "\xb3\xe8\xd8\xda\xa2" , "\x4f\xdb\xd6\x4d" } , { "\xb3\xe8\xd8\xe0" , "\x4f\xe6\xd6" } , { "\xb3\xe8\xd8\xe8" , "\x4f\xe9\xd6" } , { "\xb3\xe8\xd9\xa6" , "\x4f\xda\x42" } , { "\xb3\xe8\xd9\xb3" , "\x4f\xda\x4f\xda" } , { "\xb3\xe8\xd9\xb3\xdc" , "\x4f\xda\x50\xde" } , { "\xb3\xe8\xd9\xb4\xe6" , "\x4f\xda\x53\xe8" } , { "\xb3\xe8\xd9\xbd" , "\x4f\xda\x6c" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\x4f\xda\x6d\xdb\xc3" } , { "\xb3\xe8\xd9\xc2" , "\x4f\xda\x7d\xda" } , { "\xb3\xe8\xd9\xc2\xda" , "\x4f\xda\x7d\xdb" } , { "\xb3\xe8\xd9\xc2\xdb" , "\x4f\xda\x7e" } , { "\xb3\xe8\xd9\xc2\xde" , "\x4f\xda\x7d\xda\xe0" } , { "\xb3\xe8\xd9\xc2\xdf" , "\x4f\xda\x7d\xda\xe4" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\x4f\xda\x7d\xe6\xe0\xde\x4d" } , { "\xb3\xe8\xd9\xc2\xe8\xd9\xd4" , "\x4f\xda\x7d\xda\xc8\xda" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\x4f\xda\x6e\x25" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\x4f\xda\xbe\xda\xdf\x25" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\x4f\xda\xd1\xda\x25" } , { "\xb3\xe8\xd9\xd4" , "\x4f\xda\xc8\xda" } , { "\xb3\xe8\xd9\xd7" , "\x4f\xda\xd1\xda" } , { "\xb3\xe8\xd9\xd7\xda" , "\x4f\xda\xd1\xdb" } , { "\xb3\xe8\xd9\xd7\xdc" , "\x4f\xda\xd2\xde" } , { "\xb3\xe8\xe8" , "\x4f\xe9" } , { "\xb3\xe8\xe9\xc2" , "\x4f\xda\xa1" } , { "\xb3\xe8\xe9\xcf" , "\x4f\xda\xc3" } , { "\xb3\xe8\xe9\xd6" , "\x4f\xda\xd0" } , { "\xb3\xe9" , "\x4f\xda" } , { "\xb3\xe9\xda" , "\x4f\xdb" } , { "\xb3\xe9\xdb" , "\x50" } , { "\xb3\xe9\xdb\xa2" , "\x50\x4d" } , { "\xb3\xe9\xdc" , "\x50\xde" } , { "\xb3\xe9\xdd" , "\x4f\xda\xdf" } , { "\xb3\xe9\xde" , "\x4f\xda\xe0" } , { "\xb3\xe9\xe1" , "\x4f\xe6\xde" } , { "\xb3\xe9\xe2" , "\x4f\xe6\xe7" } , { "\xb3\xe9\xe5\xa2" , "\x4f\xe6\xe0\xde\x4d" } , { "\xb3\xe9\xe6" , "\x4f\xe8" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x4f\xda\x51" } , { "\xb3\xe9\xe8\xc2" , "\x4f\xda\xa1" } , { "\xb3\xe9\xe8\xcc" , "\x4f\xda\xbd" } , { "\xb3\xe9\xe8\xd1" , "\x4f\xda\xc7" } , { "\xb3\xe9\xe8\xd1\xdb" , "\x50\xc7" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x50\xd3\xde" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\x4f\xda\x7d\xe6\xde" } , { "\xb4" , "\x52" } , { "\xb4\xa1" , "\x52\x4d" } , { "\xb4\xa2" , "\x52\x4d" } , { "\xb4\xa3" , "\x52\x4e" } , { "\xb4\xd0" , "\x52\xc1\xda" } , { "\xb4\xd0\xb8" , "\x52\xc1\xda\x5e\xda" } , { "\xb4\xd0\xdc" , "\x52\xc2\xde" } , { "\xb4\xda" , "\x53\xdb" } , { "\xb4\xda\xa1" , "\x53\xdb\x4d" } , { "\xb4\xda\xa2" , "\x53\xdb\x4d" } , { "\xb4\xda\xa3" , "\x53\xdb\x4e" } , { "\xb4\xdb" , "\x54" } , { "\xb4\xdb\xa2" , "\x54\x4d" } , { "\xb4\xdc" , "\x54\xde" } , { "\xb4\xdc\xa2" , "\x54\xde\x4d" } , { "\xb4\xdd" , "\x52\xdf" } , { "\xb4\xdd\xa1" , "\x52\xdf\x4d" } , { "\xb4\xdd\xa2" , "\x52\xdf\x4d" } , { "\xb4\xde" , "\x52\xe0" } , { "\xb4\xde\xa1" , "\x52\xe0\x4d" } , { "\xb4\xde\xa2" , "\x52\xe0\x4d" } , { "\xb4\xdf" , "\x52\xe4" } , { "\xb4\xe0" , "\x53\xe6" } , { "\xb4\xe1" , "\x53\xe6\xde" } , { "\xb4\xe1\xa1" , "\x53\xe6\xde\x4d" } , { "\xb4\xe1\xa2" , "\x53\xe6\xde\x4d" } , { "\xb4\xe2" , "\x53\xe6\xe7" } , { "\xb4\xe2\xa2" , "\x53\xe6\xe7\x4d" } , { "\xb4\xe4" , "\x53\xe6\xe0" } , { "\xb4\xe5" , "\x53\xe6\xe0\xde" } , { "\xb4\xe5\xa2" , "\x53\xe6\xe0\xde\x4d" } , { "\xb4\xe6" , "\x53\xe8" } , { "\xb4\xe8" , "\x53\xe9" } , { "\xb4\xe8\xb3" , "\x52\x51" } , { "\xb4\xe8\xb3\xda" , "\x53\xdb\x51" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x52\x51\xfd\xd0" } , { "\xb4\xe8\xb4" , "\x52\x55" } , { "\xb4\xe8\xb4\xa2" , "\x52\x55\x4d" } , { "\xb4\xe8\xb4\xa3" , "\x52\x55\x4e" } , { "\xb4\xe8\xb4\xda" , "\x53\xdb\x55" } , { "\xb4\xe8\xb4\xdb\xa2" , "\x54\x55\x4d" } , { "\xb4\xe8\xb4\xdc" , "\x54\x55\xde" } , { "\xb4\xe8\xb5\xda" , "\x53\xdb\x58" } , { "\xb4\xe8\xb8\xda" , "\x53\xdb\x60" } , { "\xb4\xe8\xbd" , "\x52\x6f" } , { "\xb4\xe8\xc2" , "\x52\xa1" } , { "\xb4\xe8\xc2\xda" , "\x53\xdb\xa1" } , { "\xb4\xe8\xc2\xdb" , "\x54\xa1" } , { "\xb4\xe8\xc2\xdc" , "\x54\xa1\xde" } , { "\xb4\xe8\xc2\xdd" , "\x52\xdf\xa1" } , { "\xb4\xe8\xc2\xe1" , "\x53\xe6\xa1\xde" } , { "\xb4\xe8\xc2\xe5" , "\x53\xe6\xe0\xa1\xde" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x53\xe6\xe0\xa1\xde\x4d" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x53\xdb\xa1\xf2\x55" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x52\xdf\xa7\x4d" } , { "\xb4\xe8\xc6\xdc" , "\x54\xad\xde" } , { "\xb4\xe8\xc6\xdd" , "\x52\xdf\xad" } , { "\xb4\xe8\xc6\xe2" , "\x53\xe6\xad\x3e\xe7" } , { "\xb4\xe8\xc6\xe5" , "\x53\xe6\xe0\xad\xde" } , { "\xb4\xe8\xc8\xde" , "\x52\xe0\xb0" } , { "\xb4\xe8\xcc" , "\x52\xbd" } , { "\xb4\xe8\xcc\xda" , "\x53\xdb\xbd" } , { "\xb4\xe8\xcc\xdb" , "\x54\xbd" } , { "\xb4\xe8\xcc\xdc" , "\x54\xbd\xde" } , { "\xb4\xe8\xcc\xe5\xa2" , "\x53\xe6\xe0\xbd\xde\x4d" } , { "\xb4\xe8\xcd" , "\x52\xc0" } , { "\xb4\xe8\xcd\xa2" , "\x52\xc0\x4d" } , { "\xb4\xe8\xcd\xda" , "\x53\xdb\xc0" } , { "\xb4\xe8\xcd\xda\xa2" , "\x53\xdb\xc0\x4d" } , { "\xb4\xe8\xcd\xdb" , "\x54\xc0" } , { "\xb4\xe8\xcd\xdd" , "\x52\xdf\xc0" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x52\xdf\xc0\x4d" } , { "\xb4\xe8\xcd\xde" , "\x52\xe0\xc0" } , { "\xb4\xe8\xcd\xe1" , "\x53\xe6\xc0\xde" } , { "\xb4\xe8\xcd\xe5" , "\x53\xe6\xe0\xc0\xde" } , { "\xb4\xe8\xcd\xe5\xa2" , "\x53\xe6\xe0\xc0\xde\x4d" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x52\xc0\xfc\xc0" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x53\xdb\xc0\xfc\xc0" } , { "\xb4\xe8\xcf" , "\x52\xc3" } , { "\xb4\xe8\xcf\xdd" , "\x52\xdf\xc3" } , { "\xb4\xe8\xd1\xda" , "\x53\xdb\xc7" } , { "\xb4\xe8\xd1\xdd" , "\x52\xdf\xc7" } , { "\xb4\xe8\xd4\xda" , "\x53\xdb\xca" } , { "\xb4\xe8\xd5" , "\x52\xcd" } , { "\xb4\xe8\xd5\xda" , "\x53\xdb\xcd" } , { "\xb4\xe8\xd5\xdc" , "\x54\xcd\xde" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x53\xdb\xd0\x3d\xc0" } , { "\xb4\xe8\xd7" , "\x52\xd3" } , { "\xb4\xe8\xd7\xdb" , "\x54\xd3" } , { "\xb4\xe8\xd7\xdc" , "\x54\xd3\xde" } , { "\xb4\xe8\xd9\xd5" , "\x52\xcb\xda" } , { "\xb4\xe8\xe8" , "\x53\xe9" } , { "\xb4\xe8\xe9\xcf" , "\x52\xc3" } , { "\xb4\xe9" , "\x52" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x52\x5e\xdb\x25" } , { "\xb4\xe9\xda" , "\x53\xdb" } , { "\xb4\xe9\xda\xa1" , "\x53\xdb\x4d" } , { "\xb4\xe9\xdb" , "\x54" } , { "\xb4\xe9\xdc" , "\x54\xde" } , { "\xb4\xe9\xdd" , "\x52\xdf" } , { "\xb4\xe9\xde" , "\x52\xe0" } , { "\xb4\xe9\xe2" , "\x53\xe6\xe7" } , { "\xb4\xe9\xe5" , "\x53\xe6\xe0\xde" } , { "\xb4\xe9\xe5\xa2" , "\x53\xe6\xe0\xde\x4d" } , { "\xb4\xe9\xe8\xc2" , "\x52\xa1" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x53\xe6\xe0\xa1\xde\x4d" } , { "\xb4\xe9\xe8\xcd\xda" , "\x53\xdb\xc0" } , { "\xb4\xe9\xe8\xd4\xda" , "\x53\xdb\xca" } , { "\xb4\xe9\xe8\xd5" , "\x52\xcd" } , { "\xb4\xe9\xe8\xd7" , "\x52\xd3" } , { "\xb5" , "\x56\xda" } , { "\xb5\xa1" , "\x56\xda\x4d" } , { "\xb5\xa2" , "\x56\xda\x4d" } , { "\xb5\xa3" , "\x56\xda\x4e" } , { "\xb5\xda" , "\x56\xdb" } , { "\xb5\xda\xa1" , "\x56\xdb\x4d" } , { "\xb5\xda\xa2" , "\x56\xdb\x4d" } , { "\xb5\xda\xa3" , "\x56\xdb\x4e" } , { "\xb5\xdb" , "\x57" } , { "\xb5\xdb\xa2" , "\x57\x4d" } , { "\xb5\xdc" , "\x57\xde" } , { "\xb5\xdc\xa2" , "\x57\xde\x4d" } , { "\xb5\xdc\xa3" , "\x57\xde\x4e" } , { "\xb5\xdd" , "\x56\xda\xdf" } , { "\xb5\xdd\xa1" , "\x56\xda\xdf\x4d" } , { "\xb5\xdd\xa2" , "\x56\xda\xdf\x4d" } , { "\xb5\xdd\xa2\xa2" , "\x56\xda\xdf\x4d\x4d" } , { "\xb5\xdd\xa3" , "\x56\xda\xdf\x4e" } , { "\xb5\xde" , "\x56\xda\xe0" } , { "\xb5\xde\xa1" , "\x56\xda\xe0\x4d" } , { "\xb5\xde\xa2" , "\x56\xda\xe0\x4d" } , { "\xb5\xdf" , "\x56\xda\xe4" } , { "\xb5\xdf\xa2" , "\x56\xda\xe4\x4d" } , { "\xb5\xe0" , "\x56\xe6" } , { "\xb5\xe0\xa2" , "\x56\xe6\x4d" } , { "\xb5\xe1" , "\x56\xe6\xde" } , { "\xb5\xe1\xa2" , "\x56\xe6\xde\x4d" } , { "\xb5\xe1\xa3" , "\x56\xe6\xde\x4e" } , { "\xb5\xe2" , "\x56\xe6\xe7" } , { "\xb5\xe2\xa2" , "\x56\xe6\xe7\x4d" } , { "\xb5\xe2\xa3" , "\x56\xe6\xe7\x4e" } , { "\xb5\xe4" , "\x56\xe6\xe0" } , { "\xb5\xe4\xa2" , "\x56\xe6\xe0\x4d" } , { "\xb5\xe5" , "\x56\xe6\xe0\xde" } , { "\xb5\xe5\xa2" , "\x56\xe6\xe0\xde\x4d" } , { "\xb5\xe6" , "\x56\xe8" } , { "\xb5\xe6\xa1" , "\x56\xe8\x4d" } , { "\xb5\xe6\xa2" , "\x56\xe8\x4d" } , { "\xb5\xe7" , "\x56\xe6\xe0" } , { "\xb5\xe8" , "\x56\xe9" } , { "\xb5\xe8\x4d" , "\x56\xe9\x4d" } , { "\xb5\xe8\xb3" , "\x56\xda\x51" } , { "\xb5\xe8\xb3\xda" , "\x56\xdb\x51" } , { "\xb5\xe8\xb3\xdb" , "\x57\x51" } , { "\xb5\xe8\xb3\xdd" , "\x56\xda\xdf\x51" } , { "\xb5\xe8\xb3\xde" , "\x56\xda\xe0\x51" } , { "\xb5\xe8\xb3\xe2" , "\x56\xe6\x51\xfd\xe7" } , { "\xb5\xe8\xb3\xe5" , "\x56\xe6\xe0\x51\xde" } , { "\xb5\xe8\xb3\xe8\xd1" , "\x56\xda\x51\xfa\xc7" } , { "\xb5\xe8\xb5" , "\x56\xda\x58" } , { "\xb5\xe8\xb5\xa2" , "\x56\xda\x58\x4d" } , { "\xb5\xe8\xb5\xda" , "\x56\xdb\x58" } , { "\xb5\xe8\xb5\xdb" , "\x57\x58" } , { "\xb5\xe8\xb5\xdb\xa2" , "\x57\x58\x4d" } , { "\xb5\xe8\xb5\xdc" , "\x57\x58\xde" } , { "\xb5\xe8\xb5\xdd" , "\x56\xda\xdf\x58" } , { "\xb5\xe8\xb5\xdd\xa2" , "\x56\xda\xdf\x58\x4d" } , { "\xb5\xe8\xb5\xde" , "\x56\xda\xe0\x58" } , { "\xb5\xe8\xb5\xe0" , "\x56\xe6\x58" } , { "\xb5\xe8\xb5\xe0\xa2" , "\x56\xe6\x58\x4d" } , { "\xb5\xe8\xb5\xe1" , "\x56\xe6\x58\xde" } , { "\xb5\xe8\xb5\xe1\xa2" , "\x56\xe6\x58\xde\x4d" } , { "\xb5\xe8\xb5\xe2" , "\x56\xe6\x58\xf5\xe7" } , { "\xb5\xe8\xb5\xe4" , "\x56\xe6\xe0\x58" } , { "\xb5\xe8\xb5\xe5" , "\x56\xe6\xe0\x58\xde" } , { "\xb5\xe8\xb5\xe8" , "\x56\xe9\x58" } , { "\xb5\xe8\xb6" , "\x56\xda\x5b" } , { "\xb5\xe8\xb6\xda" , "\x56\xdb\x5b" } , { "\xb5\xe8\xb6\xdc" , "\x57\x5b\xde" } , { "\xb5\xe8\xb6\xdd" , "\x56\xda\xdf\x5b" } , { "\xb5\xe8\xb6\xe1" , "\x56\xe6\x5b\xde" } , { "\xb5\xe8\xb7" , "\x56\xda\x5d" } , { "\xb5\xe8\xb7\xda" , "\x56\xdb\x5d" } , { "\xb5\xe8\xb7\xdb" , "\x57\x5d" } , { "\xb5\xe8\xb7\xdc" , "\x57\x5d\xde" } , { "\xb5\xe8\xb7\xe5\xa2" , "\x56\xe6\xe0\x5d\xde\x4d" } , { "\xb5\xe8\xb8\xe1" , "\x56\xe6\x60\xde" } , { "\xb5\xe8\xba" , "\x56\xda\x67" } , { "\xb5\xe8\xba\xa2" , "\x56\xda\x67\x4d" } , { "\xb5\xe8\xba\xda" , "\x56\xdb\x67" } , { "\xb5\xe8\xba\xda\xa2" , "\x56\xdb\x67\x4d" } , { "\xb5\xe8\xba\xdb" , "\x57\x67" } , { "\xb5\xe8\xba\xdc" , "\x57\x67\xde" } , { "\xb5\xe8\xba\xe0" , "\x56\xe6\x67" } , { "\xb5\xe8\xba\xe0\xa2" , "\x56\xe6\x67\x4d" } , { "\xb5\xe8\xba\xe1\xa2" , "\x56\xe6\x67\xde\x4d" } , { "\xb5\xe8\xba\xe2" , "\x56\xe6\x67\xf5\xe7" } , { "\xb5\xe8\xba\xe8\xd4\xda\xa2" , "\x56\xdb\x67\xf5\xca\x4d" } , { "\xb5\xe8\xba\xe9" , "\x56\xda\x67" } , { "\xb5\xe8\xba\xe9\xdb" , "\x57\x67" } , { "\xb5\xe8\xbd" , "\x56\xda\x6f" } , { "\xb5\xe8\xbd\xda" , "\x56\xdb\x6f" } , { "\xb5\xe8\xbd\xda\xa2" , "\x56\xdb\x6f\x4d" } , { "\xb5\xe8\xbd\xdb" , "\x57\x6f" } , { "\xb5\xe8\xbd\xdc" , "\x57\x6f\xde" } , { "\xb5\xe8\xbd\xde" , "\x56\xda\xe0\x6f" } , { "\xb5\xe8\xbd\xe0" , "\x56\xe6\x6f" } , { "\xb5\xe8\xbd\xe1" , "\x56\xe6\x6f\xde" } , { "\xb5\xe8\xbd\xe2\xa2" , "\x56\xe6\x6f\x3e\xe7\x4d" } , { "\xb5\xe8\xbd\xe4" , "\x56\xe6\xe0\x6f" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x56\xe9\x6f\xfe\x67" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\x56\xdb\x6f\xf1" } , { "\xb5\xe8\xbd\xe8\xcf\xe0" , "\x56\xe6\x6f\xf1" } , { "\xb5\xe8\xbd\xe8\xd4\xdb" , "\x57\x6f\x3e\xca" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x56\xda\x6f\x3e\xd3" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x56\xdb\x6f\x3e\xd3" } , { "\xb5\xe8\xbf" , "\x56\xda\x75" } , { "\xb5\xe8\xbf\xa2" , "\x56\xda\x75\x4d" } , { "\xb5\xe8\xbf\xda" , "\x56\xdb\x75" } , { "\xb5\xe8\xbf\xda\xa2" , "\x56\xdb\x75\x4d" } , { "\xb5\xe8\xbf\xdb" , "\x57\x75" } , { "\xb5\xe8\xbf\xdc" , "\x57\x75\xde" } , { "\xb5\xe8\xbf\xe0" , "\x56\xe6\x75" } , { "\xb5\xe8\xbf\xe5" , "\x56\xe6\xe0\x75\xde" } , { "\xb5\xe8\xbf\xe8" , "\x56\xe9\x75" } , { "\xb5\xe8\xc0\xdd" , "\x56\xda\xdf\x78" } , { "\xb5\xe8\xc1" , "\x56\xda\x7c" } , { "\xb5\xe8\xc1\xda" , "\x56\xdb\x7c" } , { "\xb5\xe8\xc1\xe5\xa2" , "\x56\xe6\xe0\x7c\xde\x4d" } , { "\xb5\xe8\xc2" , "\x56\xda\xa1" } , { "\xb5\xe8\xc2\xda" , "\x56\xdb\xa1" } , { "\xb5\xe8\xc2\xdb" , "\x57\xa1" } , { "\xb5\xe8\xc2\xdd" , "\x56\xda\xdf\xa1" } , { "\xb5\xe8\xc2\xe0" , "\x56\xe6\xa1" } , { "\xb5\xe8\xc2\xe1" , "\x56\xe6\xa1\xde" } , { "\xb5\xe8\xc2\xe5" , "\x56\xe6\xe0\xa1\xde" } , { "\xb5\xe8\xc2\xe8" , "\x56\xe9\xa1" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x56\xda\xa1\xf4\x51" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x56\xda\xa1\xf2\x58" } , { "\xb5\xe8\xc2\xe8\xc2" , "\x56\xda\xa1\xf2\xa1" } , { "\xb5\xe8\xc2\xe8\xcf" , "\x56\xda\xa1\xf0" } , { "\xb5\xe8\xc2\xe8\xcf\xe0\xa2" , "\x56\xe6\xa1\xf0\x4d" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x56\xda\xa1\xf5\xd3" } , { "\xb5\xe8\xc3" , "\x56\xda\xa4" } , { "\xb5\xe8\xc3\xda" , "\x56\xdb\xa4" } , { "\xb5\xe8\xc3\xdc" , "\x57\xa4\xde" } , { "\xb5\xe8\xc3\xdd" , "\x56\xda\xdf\xa4" } , { "\xb5\xe8\xc3\xe5" , "\x56\xe6\xe0\xa4\xde" } , { "\xb5\xe8\xc3\xe5\xa2" , "\x56\xe6\xe0\xa4\xde\x4d" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x56\xdb\xa4\xf4\xc0" } , { "\xb5\xe8\xc4" , "\x56\xda\xa7" } , { "\xb5\xe8\xc4\xa2" , "\x56\xda\xa7\x4d" } , { "\xb5\xe8\xc4\xda" , "\x56\xdb\xa7" } , { "\xb5\xe8\xc4\xdb" , "\x57\xa7" } , { "\xb5\xe8\xc4\xdd" , "\x56\xda\xdf\xa7" } , { "\xb5\xe8\xc4\xdf" , "\x56\xda\xa7\xf5\xe4" } , { "\xb5\xe8\xc4\xe1" , "\x56\xe6\xa7\xde" } , { "\xb5\xe8\xc4\xe5" , "\x56\xe6\xe0\xa7\xde" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x56\xda\xa7\xf4\xc0" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x56\xda\xa7\xf4\xc0\x4d" } , { "\xb5\xe8\xc4\xe8\xd4\xda" , "\x56\xdb\xa7\xf5\xca" } , { "\xb5\xe8\xc5" , "\x56\xda\xaa" } , { "\xb5\xe8\xc5\xa2" , "\x56\xda\xaa\x4d" } , { "\xb5\xe8\xc5\xda" , "\x56\xdb\xaa" } , { "\xb5\xe8\xc5\xdb" , "\x57\xaa" } , { "\xb5\xe8\xc5\xdc" , "\x57\xaa\xde" } , { "\xb5\xe8\xc5\xdd" , "\x56\xda\xdf\xaa" } , { "\xb5\xe8\xc5\xe1" , "\x56\xe6\xaa\xde" } , { "\xb5\xe8\xc5\xe5" , "\x56\xe6\xe0\xaa\xde" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x56\xda\xaa\xf4\xc0" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x56\xda\xaa\xf4\xc0\x4d" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x56\xdb\xaa\xf4\xc0" } , { "\xb5\xe8\xc5\xe8\xd4\xda" , "\x56\xdb\xaa\xf5\xca" } , { "\xb5\xe8\xc6" , "\x56\xda\xad" } , { "\xb5\xe8\xc6\xa2" , "\x56\xda\xad\x4d" } , { "\xb5\xe8\xc6\xda" , "\x56\xdb\xad" } , { "\xb5\xe8\xc6\xdb" , "\x57\xad" } , { "\xb5\xe8\xc6\xdb\xa2" , "\x57\xad\x4d" } , { "\xb5\xe8\xc6\xdb\xa3" , "\x57\xad\x4e" } , { "\xb5\xe8\xc6\xdc" , "\x57\xad\xde" } , { "\xb5\xe8\xc6\xdd" , "\x56\xda\xdf\xad" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x56\xda\xdf\xad\x4d" } , { "\xb5\xe8\xc6\xde" , "\x56\xda\xe0\xad" } , { "\xb5\xe8\xc6\xe0" , "\x56\xe6\xad" } , { "\xb5\xe8\xc6\xe1" , "\x56\xe6\xad\xde" } , { "\xb5\xe8\xc6\xe2" , "\x56\xe6\xad\x3e\xe7" } , { "\xb5\xe8\xc6\xe5\xa2" , "\x56\xe6\xe0\xad\xde\x4d" } , { "\xb5\xe8\xc6\xe6" , "\x56\xe8\xad" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x56\xda\xad\x3d\xc0\x4d" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x56\xdb\xad\x3d\xc0" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x56\xdb\xad\x3d\xc0\x4d" } , { "\xb5\xe8\xc8" , "\x56\xda\xb0" } , { "\xb5\xe8\xc8\xda" , "\x56\xdb\xb0" } , { "\xb5\xe8\xc8\xdb" , "\x57\xb0" } , { "\xb5\xe8\xc8\xdc" , "\x57\xb0\xde" } , { "\xb5\xe8\xc8\xdd" , "\x56\xda\xdf\xb0" } , { "\xb5\xe8\xc8\xde" , "\x56\xda\xe0\xb0" } , { "\xb5\xe8\xc8\xe2" , "\x56\xe6\xb0\x3e\xe7" } , { "\xb5\xe8\xc8\xe8\xcf\xe0" , "\x56\xe6\xb0\xf1" } , { "\xb5\xe8\xc9" , "\x56\xda\xb5" } , { "\xb5\xe8\xc9\xdb" , "\x57\xb5" } , { "\xb5\xe8\xc9\xe0" , "\x56\xe6\xb5" } , { "\xb5\xe8\xc9\xe5" , "\x56\xe6\xe0\xb5\xde" } , { "\xb5\xe8\xca" , "\x56\xda\xb9" } , { "\xb5\xe8\xca\xa2" , "\x56\xda\xb9\x4d" } , { "\xb5\xe8\xca\xda" , "\x56\xdb\xb9" } , { "\xb5\xe8\xca\xdb" , "\x57\xb9" } , { "\xb5\xe8\xca\xdc" , "\x57\xb9\xde" } , { "\xb5\xe8\xca\xe0" , "\x56\xe6\xb9" } , { "\xb5\xe8\xca\xe5" , "\x56\xe6\xe0\xb9\xde" } , { "\xb5\xe8\xca\xe8\xcf" , "\x56\xda\xb9\xf1" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\x56\xe6\xb9\xf1\xde" } , { "\xb5\xe8\xcb" , "\x56\xda\xbc" } , { "\xb5\xe8\xcb\xa2" , "\x56\xda\xbc\x4d" } , { "\xb5\xe8\xcb\xda" , "\x56\xdb\xbc" } , { "\xb5\xe8\xcb\xde" , "\x56\xda\xe0\xbc" } , { "\xb5\xe8\xcb\xe8\xcf" , "\x56\xda\xbc\xf1" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\x56\xdb\xbc\xf1" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\x56\xdb\xbc\xf1\x4d" } , { "\xb5\xe8\xcc" , "\x56\xda\xbd" } , { "\xb5\xe8\xcc\xa2" , "\x56\xda\xbd\x4d" } , { "\xb5\xe8\xcc\xda" , "\x56\xdb\xbd" } , { "\xb5\xe8\xcc\xdb" , "\x57\xbd" } , { "\xb5\xe8\xcc\xdc" , "\x57\xbd\xde" } , { "\xb5\xe8\xcc\xdd" , "\x56\xda\xdf\xbd" } , { "\xb5\xe8\xcc\xde" , "\x56\xda\xe0\xbd" } , { "\xb5\xe8\xcc\xe0\xa2" , "\x56\xe6\xbd\x4d" } , { "\xb5\xe8\xcc\xe1" , "\x56\xe6\xbd\xde" } , { "\xb5\xe8\xcc\xe2" , "\x56\xe6\xbd\xfd\xe7" } , { "\xb5\xe8\xcc\xe2\xa2" , "\x56\xe6\xbd\xfd\xe7\x4d" } , { "\xb5\xe8\xcc\xe4" , "\x56\xe6\xe0\xbd" } , { "\xb5\xe8\xcc\xe5" , "\x56\xe6\xe0\xbd\xde" } , { "\xb5\xe8\xcc\xe5\xa2" , "\x56\xe6\xe0\xbd\xde\x4d" } , { "\xb5\xe8\xcd" , "\x56\xda\xc0" } , { "\xb5\xe8\xcd\xa2" , "\x56\xda\xc0\x4d" } , { "\xb5\xe8\xcd\xda" , "\x56\xdb\xc0" } , { "\xb5\xe8\xcd\xda\xa2" , "\x56\xdb\xc0\x4d" } , { "\xb5\xe8\xcd\xdb" , "\x57\xc0" } , { "\xb5\xe8\xcd\xdb\xa2" , "\x57\xc0\x4d" } , { "\xb5\xe8\xcd\xdc" , "\x57\xc0\xde" } , { "\xb5\xe8\xcd\xdd" , "\x56\xda\xdf\xc0" } , { "\xb5\xe8\xcd\xde" , "\x56\xda\xe0\xc0" } , { "\xb5\xe8\xcd\xe1" , "\x56\xe6\xc0\xde" } , { "\xb5\xe8\xcd\xe5" , "\x56\xe6\xe0\xc0\xde" } , { "\xb5\xe8\xcd\xe5\xa2" , "\x56\xe6\xe0\xc0\xde\x4d" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x56\xdb\xc0\xfc\xc0" } , { "\xb5\xe8\xcd\xe8\xd4" , "\x56\xda\xc0\xfd\xca" } , { "\xb5\xe8\xcf" , "\x56\xda\xc3" } , { "\xb5\xe8\xcf\xa2" , "\x56\xda\xc3\x4d" } , { "\xb5\xe8\xcf\xda" , "\x56\xdb\xc3" } , { "\xb5\xe8\xcf\xda\xa1" , "\x56\xdb\xc3\x4d" } , { "\xb5\xe8\xcf\xda\xa2" , "\x56\xdb\xc3\x4d" } , { "\xb5\xe8\xcf\xdb" , "\x57\xc3" } , { "\xb5\xe8\xcf\xdb\xa2" , "\x57\xc3\x4d" } , { "\xb5\xe8\xcf\xdc" , "\x57\xc3\xde" } , { "\xb5\xe8\xcf\xdd" , "\x56\xda\xdf\xc3" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x56\xda\xdf\xc3\x4d" } , { "\xb5\xe8\xcf\xde" , "\x56\xda\xe0\xc3" } , { "\xb5\xe8\xcf\xde\xa2" , "\x56\xda\xe0\xc3\x4d" } , { "\xb5\xe8\xcf\xe0" , "\x56\xe6\xc3" } , { "\xb5\xe8\xcf\xe0\xa2" , "\x56\xe6\xc3\x4d" } , { "\xb5\xe8\xcf\xe1" , "\x56\xe6\xc3\xde" } , { "\xb5\xe8\xcf\xe1\xa2" , "\x56\xe6\xc3\xde\x4d" } , { "\xb5\xe8\xcf\xe2" , "\x56\xe6\xee" } , { "\xb5\xe8\xcf\xe2\xa2" , "\x56\xe6\xee\x4d" } , { "\xb5\xe8\xcf\xe4" , "\x56\xe6\xe0\xc3" } , { "\xb5\xe8\xcf\xe4\xa2" , "\x56\xe6\xe0\xc3\x4d" } , { "\xb5\xe8\xcf\xe5" , "\x56\xe6\xe0\xc3\xde" } , { "\xb5\xe8\xcf\xe5\xa2" , "\x56\xe6\xe0\xc3\xde\x4d" } , { "\xb5\xe8\xcf\xe6" , "\x56\xe8\xc3" } , { "\xb5\xe8\xcf\xe6\xa2" , "\x56\xe8\xc3\x4d" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x56\xda\xc3\xfe\x75" } , { "\xb5\xe8\xd0\xa2" , "\x56\xda\xc3\x4d" } , { "\xb5\xe8\xd1" , "\x56\xda\xc7" } , { "\xb5\xe8\xd1\xa2" , "\x56\xda\xc7\x4d" } , { "\xb5\xe8\xd1\xda" , "\x56\xdb\xc7" } , { "\xb5\xe8\xd1\xda\xa2" , "\x56\xdb\xc7\x4d" } , { "\xb5\xe8\xd1\xdb" , "\x57\xc7" } , { "\xb5\xe8\xd1\xdb\xa2" , "\x57\xc7\x4d" } , { "\xb5\xe8\xd1\xdc" , "\x57\xc7\xde" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x57\xc7\xde\x4d" } , { "\xb5\xe8\xd1\xdd" , "\x56\xda\xdf\xc7" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x56\xda\xdf\xc7\x4d" } , { "\xb5\xe8\xd1\xde" , "\x56\xda\xe0\xc7" } , { "\xb5\xe8\xd1\xe0" , "\x56\xe6\xc7" } , { "\xb5\xe8\xd1\xe0\xa2" , "\x56\xe6\xc7\x4d" } , { "\xb5\xe8\xd1\xe1" , "\x56\xe6\xc7\xde" } , { "\xb5\xe8\xd1\xe1\xa2" , "\x56\xe6\xc7\xde\x4d" } , { "\xb5\xe8\xd1\xe2" , "\x56\xe6\xc7\xf5\xe7" } , { "\xb5\xe8\xd1\xe2\xa2" , "\x56\xe6\xc7\xf5\xe7\x4d" } , { "\xb5\xe8\xd1\xe4" , "\x56\xe6\xe0\xc7" } , { "\xb5\xe8\xd1\xe5" , "\x56\xe6\xe0\xc7\xde" } , { "\xb5\xe8\xd1\xe5\xa2" , "\x56\xe6\xe0\xc7\xde\x4d" } , { "\xb5\xe8\xd1\xe6" , "\x56\xe8\xc7" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x56\xda\xdf\xc7\xf4\xc0" } , { "\xb5\xe8\xd4" , "\x56\xda\xca" } , { "\xb5\xe8\xd4\xda" , "\x56\xdb\xca" } , { "\xb5\xe8\xd4\xdb" , "\x57\xca" } , { "\xb5\xe8\xd4\xdd" , "\x56\xda\xdf\xca" } , { "\xb5\xe8\xd4\xde" , "\x56\xda\xe0\xca" } , { "\xb5\xe8\xd4\xe0" , "\x56\xe6\xca" } , { "\xb5\xe8\xd4\xe1" , "\x56\xe6\xca\xde" } , { "\xb5\xe8\xd4\xe1\xa2" , "\x56\xe6\xca\xde\x4d" } , { "\xb5\xe8\xd4\xe2" , "\x56\xe6\xca\x3e\xe7" } , { "\xb5\xe8\xd4\xe8\xcd" , "\x56\xda\xca\x3d\xc0" } , { "\xb5\xe8\xd4\xe8\xcd\xda" , "\x56\xdb\xca\x3d\xc0" } , { "\xb5\xe8\xd5\xda" , "\x56\xdb\xcd" } , { "\xb5\xe8\xd5\xda\xa2" , "\x56\xdb\xcd\x4d" } , { "\xb5\xe8\xd6\xdc" , "\x57\xd0\xde" } , { "\xb5\xe8\xd7" , "\x56\xda\xd3" } , { "\xb5\xe8\xd7\xda" , "\x56\xdb\xd3" } , { "\xb5\xe8\xd7\xdc" , "\x57\xd3\xde" } , { "\xb5\xe8\xd7\xdd" , "\x56\xda\xdf\xd3" } , { "\xb5\xe8\xd7\xde" , "\x56\xda\xe0\xd3" } , { "\xb5\xe8\xd7\xe0" , "\x56\xe6\xd3" } , { "\xb5\xe8\xd7\xe2" , "\x56\xe6\xd3\x3e\xe7" } , { "\xb5\xe8\xd7\xe5" , "\x56\xe6\xe0\xd3\xde" } , { "\xb5\xe8\xd7\xe8" , "\x56\xe9\xd3" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x56\xdb\xd3\xfe\x58" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x56\xda\xd3\x3e\x6f" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x56\xda\xd3\x3e\x6f\x4d" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x56\xdb\xd3\x3e\x6f" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x56\xe6\xd3\x3e\x6f\xde" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x56\xe8\xd3\x3e\x6f" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x56\xe9\xd1\xe9\x6c\xdf\xb0\x3e\xd3\x3d\x51" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x56\xdb\xd3\x3e\x6f\xf1" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\x56\xe6\xd3\xfe\xa1\xf4\xc0\xde" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x56\xda\xd3\xfe\xa7" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\x57\xd3\x3e\xad" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\x56\xda\xdf\xd3\x3e\xad" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\x56\xdb\xd3\x3e\xb0" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\x57\xd3\x3e\xb0" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\x57\xd3\xfe\xc7" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\x56\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xb5\xe8\xd8" , "\x56\xda\xd6" } , { "\xb5\xe8\xd8\xda" , "\x56\xdb\xd6" } , { "\xb5\xe8\xd8\xdb" , "\x57\xd6" } , { "\xb5\xe8\xd8\xdc" , "\x57\xd6\xde" } , { "\xb5\xe8\xd8\xe0" , "\x56\xe6\xd6" } , { "\xb5\xe8\xd8\xe4" , "\x56\xe6\xe0\xd6" } , { "\xb5\xe8\xd8\xe5" , "\x56\xe6\xe0\xd6\xde" } , { "\xb5\xe8\xd8\xe5\xa2" , "\x56\xe6\xe0\xd6\xde\x4d" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x56\xdb\xd6\xf8\xc0\x4d" } , { "\xb5\xe8\xd9\xa6" , "\x56\xda\x42" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\x56\xda\xd1\xda\x25" } , { "\xb5\xe8\xd9\xd4\xdb" , "\x56\xda\xc9" } , { "\xb5\xe8\xe8" , "\x56\xe9" } , { "\xb5\xe8\xe9\xcf" , "\x56\xda\xc3" } , { "\xb5\xe9" , "\x56\xda" } , { "\xb5\xe9\xda" , "\x56\xdb" } , { "\xb5\xe9\xdb" , "\x57" } , { "\xb5\xe9\xdd" , "\x56\xda\xdf" } , { "\xb5\xe9\xe2" , "\x56\xe6\xe7" } , { "\xb5\xe9\xe5\xa2" , "\x56\xe6\xe0\xde\x4d" } , { "\xb5\xe9\xe6" , "\x56\xe8" } , { "\xb6" , "\x59\xda" } , { "\xb6\xa2" , "\x59\xda\x4d" } , { "\xb6\xa2\xa2" , "\x59\xda\x4d\x4d" } , { "\xb6\xa3" , "\x59\xda\x4e" } , { "\xb6\xd0" , "\x59\xda\xc1\xda" } , { "\xb6\xda" , "\x59\xdb" } , { "\xb6\xda\xa2" , "\x59\xdb\x4d" } , { "\xb6\xdb" , "\x5a" } , { "\xb6\xdb\xa2" , "\x5a\x4d" } , { "\xb6\xdc" , "\x5a\xde" } , { "\xb6\xdc\xa2" , "\x5a\xde\x4d" } , { "\xb6\xdd" , "\x59\xda\xdf" } , { "\xb6\xdd\xa1" , "\x59\xda\xdf\x4d" } , { "\xb6\xdd\xa2" , "\x59\xda\xdf\x4d" } , { "\xb6\xdd\xa3" , "\x59\xda\xdf\x4e" } , { "\xb6\xde" , "\x59\xda\xe0" } , { "\xb6\xde\xa1" , "\x59\xda\xe0\x4d" } , { "\xb6\xde\xa2" , "\x59\xda\xe0\x4d" } , { "\xb6\xdf" , "\x59\xda\xe4" } , { "\xb6\xe0" , "\x59\xe6" } , { "\xb6\xe1" , "\x59\xe6\xde" } , { "\xb6\xe1\xa2" , "\x59\xe6\xde\x4d" } , { "\xb6\xe2" , "\x59\xe6\xe7" } , { "\xb6\xe2\xa3" , "\x59\xe6\xe7\x4e" } , { "\xb6\xe4" , "\x59\xe6\xe0" } , { "\xb6\xe5" , "\x59\xe6\xe0\xde" } , { "\xb6\xe5\xa2" , "\x59\xe6\xe0\xde\x4d" } , { "\xb6\xe6" , "\x59\xe8" } , { "\xb6\xe6\xa2" , "\x59\xe8\x4d" } , { "\xb6\xe8" , "\x59\xe9" } , { "\xb6\xe8\xb3\xde" , "\x59\xda\xe0\x51" } , { "\xb6\xe8\xb6" , "\x59\xda\xb4\x5b" } , { "\xb6\xe8\xb6\xdc" , "\x5a\xb4\x5b\xde" } , { "\xb6\xe8\xb6\xde" , "\x59\xda\xe0\x5b" } , { "\xb6\xe8\xb8\xe1" , "\x59\xe6\xb4\x60\xde" } , { "\xb6\xe8\xc1\xda" , "\x59\xdb\x7c" } , { "\xb6\xe8\xc1\xdb" , "\x5a\xb4\xb4\x7c" } , { "\xb6\xe8\xc2" , "\x59\xda\xa1" } , { "\xb6\xe8\xc4" , "\x59\xda\xb4\xb4\xa7" } , { "\xb6\xe8\xc6" , "\x59\xda\xb4\xad" } , { "\xb6\xe8\xc6\xa2" , "\x59\xda\xb4\xad\x4d" } , { "\xb6\xe8\xc6\xa3" , "\x59\xda\xb4\xad\x4e" } , { "\xb6\xe8\xc6\xda" , "\x59\xdb\xad" } , { "\xb6\xe8\xc6\xdb" , "\x5a\xb4\xad" } , { "\xb6\xe8\xc6\xdc" , "\x5a\xb4\xad\xde" } , { "\xb6\xe8\xc6\xdd" , "\x59\xda\xdf\xad" } , { "\xb6\xe8\xc6\xe1" , "\x59\xe6\xb4\xad\xde" } , { "\xb6\xe8\xc6\xe5" , "\x59\xe6\xe0\xad\xde" } , { "\xb6\xe8\xcd" , "\x59\xda\xb4\xc0" } , { "\xb6\xe8\xcd\xda" , "\x59\xdb\xc0" } , { "\xb6\xe8\xcd\xe5" , "\x59\xe6\xe0\xc0\xde" } , { "\xb6\xe8\xcd\xe6" , "\x59\xe8\xc0" } , { "\xb6\xe8\xcf" , "\x59\xda\xb4\xc3" } , { "\xb6\xe8\xcf\xa2" , "\x59\xda\xb4\xc3\x4d" } , { "\xb6\xe8\xcf\xda" , "\x59\xdb\xc3" } , { "\xb6\xe8\xcf\xda\xa2" , "\x59\xdb\xc3\x4d" } , { "\xb6\xe8\xcf\xdb" , "\x5a\xb4\xc3" } , { "\xb6\xe8\xcf\xdd" , "\x59\xda\xdf\xc3" } , { "\xb6\xe8\xcf\xe5\xa2" , "\x59\xe6\xe0\xc3\xde\x4d" } , { "\xb6\xe8\xd1" , "\x59\xda\xb4\xb4\xc7" } , { "\xb6\xe8\xd4" , "\x59\xda\xb4\xca" } , { "\xb6\xe8\xd4\xa2" , "\x59\xda\xb4\xca\x4d" } , { "\xb6\xe8\xd4\xda" , "\x59\xdb\xca" } , { "\xb6\xe8\xe8" , "\x59\xe9" } , { "\xb6\xe8\xe9\xcf" , "\x59\xda\xb4\xc3" } , { "\xb6\xe9" , "\x59\xda" } , { "\xb7" , "\x5c" } , { "\xb7\xa2" , "\x5c\x4d" } , { "\xb7\xa3" , "\x5c\x4e" } , { "\xb7\xda" , "\x5c\xdc\xdb" } , { "\xb7\xdb" , "\x5c\xdd" } , { "\xb7\xdb\xa2" , "\x5c\xdd\x4d" } , { "\xb7\xdc" , "\x5c\xdd\xde" } , { "\xb7\xdd" , "\x5c\xdf" } , { "\xb7\xde" , "\x5c\xe0" } , { "\xb7\xdf" , "\x5c\xe4" } , { "\xb7\xe0" , "\x5c\xdc\xe6" } , { "\xb7\xe1" , "\x5c\xdc\xe6\xde" } , { "\xb7\xe1\xa2" , "\x5c\xdc\xe6\xde\x4d" } , { "\xb7\xe2" , "\x5c\xdc\xe6\xe7" } , { "\xb7\xe4" , "\x5c\xdc\xe6\xe0" } , { "\xb7\xe5" , "\x5c\xdc\xe6\xe0\xde" } , { "\xb7\xe6" , "\x5c\xdc\xe8" } , { "\xb7\xe8" , "\x5c\xdc\xe9" } , { "\xb7\xe8\xb3" , "\x5c\x51" } , { "\xb7\xe8\xb3\xda" , "\x5c\xdc\xdb\x51" } , { "\xb7\xe8\xb3\xdb" , "\x5c\xdd\x51" } , { "\xb7\xe8\xb3\xe5" , "\x5c\xdc\xe6\xe0\x51\xde" } , { "\xb7\xe8\xb5" , "\x5c\x58" } , { "\xb7\xe8\xb5\xda" , "\x5c\xdc\xdb\x58" } , { "\xb7\xe8\xb5\xdb" , "\x5c\xdd\x58" } , { "\xb7\xe8\xb5\xdc" , "\x5c\xdd\x58\xde" } , { "\xb7\xe8\xb5\xe5\xa2" , "\x5c\xdc\xe6\xe0\x58\xde\x4d" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x5c\xdc\xdb\x58\xf0" } , { "\xb7\xe8\xb6" , "\x5c\x5b" } , { "\xb7\xe8\xb6\xda" , "\x5c\xdc\xdb\x5b" } , { "\xb7\xe8\xb6\xdb" , "\x5c\xdd\x5b" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x5c\x6f\xfe\x58" } , { "\xb7\xe8\xc4" , "\x5c\xa7" } , { "\xb7\xe8\xc6" , "\x5c\xad" } , { "\xb7\xe8\xc6\xda" , "\x5c\xdc\xdb\xad" } , { "\xb7\xe8\xc6\xdb" , "\x5c\xdd\xad" } , { "\xb7\xe8\xc6\xdd" , "\x5c\xdf\xad" } , { "\xb7\xe8\xc6\xde" , "\x5c\xe0\xad" } , { "\xb7\xe8\xc9\xe5" , "\x5c\xdc\xe6\xe0\xb5\xde" } , { "\xb7\xe8\xcc" , "\x5c\xbd" } , { "\xb7\xe8\xcc\xa2" , "\x5c\xbd\x4d" } , { "\xb7\xe8\xcc\xda" , "\x5c\xdc\xdb\xbd" } , { "\xb7\xe8\xcc\xdd" , "\x5c\xdf\xbd" } , { "\xb7\xe8\xcc\xde" , "\x5c\xe0\xbd" } , { "\xb7\xe8\xcd" , "\x5c\xc0" } , { "\xb7\xe8\xcf" , "\x5c\xc3" } , { "\xb7\xe8\xcf\xdc" , "\x5c\xdd\xc3\xde" } , { "\xb7\xe8\xd8\xda" , "\x5c\xdc\xdb\xd6" } , { "\xb7\xe8\xe8" , "\x5c\xdc\xe9" } , { "\xb8" , "\x5e\xda" } , { "\xb8\xa1" , "\x5e\xda\x4d" } , { "\xb8\xa2" , "\x5e\xda\x4d" } , { "\xb8\xa3" , "\x5e\xda\x4e" } , { "\xb8\xda" , "\x5e\xdb" } , { "\xb8\xda\xa1" , "\x5e\xdb\x4d" } , { "\xb8\xda\xa2" , "\x5e\xdb\x4d" } , { "\xb8\xdb" , "\x5f" } , { "\xb8\xdb\xa2" , "\x5f\x4d" } , { "\xb8\xdc" , "\x5f\xde" } , { "\xb8\xdc\xa2" , "\x5f\xde\x4d" } , { "\xb8\xdd" , "\x5e\xda\xdf" } , { "\xb8\xdd\xa1" , "\x5e\xda\xdf\x4d" } , { "\xb8\xdd\xa2" , "\x5e\xda\xdf\x4d" } , { "\xb8\xde" , "\x5e\xda\xe0" } , { "\xb8\xde\xa1" , "\x5e\xda\xe0\x4d" } , { "\xb8\xde\xa2" , "\x5e\xda\xe0\x4d" } , { "\xb8\xdf" , "\x5e\xda\xe4" } , { "\xb8\xe0" , "\x5e\xe6" } , { "\xb8\xe0\xa2" , "\x5e\xe6\x4d" } , { "\xb8\xe1" , "\x5e\xe6\xde" } , { "\xb8\xe1\xa2" , "\x5e\xe6\xde\x4d" } , { "\xb8\xe2" , "\x5e\xe6\xe7" } , { "\xb8\xe2\xa2" , "\x5e\xe6\xe7\x4d" } , { "\xb8\xe3" , "\x5e\xe6" } , { "\xb8\xe4" , "\x5e\xe6\xe0" } , { "\xb8\xe4\xa2" , "\x5e\xe6\xe0\x4d" } , { "\xb8\xe4\xd0\xe8" , "\x5e\xe6\xe0\xc1\xe9" } , { "\xb8\xe5" , "\x5e\xe6\xe0\xde" } , { "\xb8\xe5\xa2" , "\x5e\xe6\xe0\xde\x4d" } , { "\xb8\xe6" , "\x5e\xe8" } , { "\xb8\xe6\xa2" , "\x5e\xe8\x4d" } , { "\xb8\xe7" , "\x5e\xe6\xe0" } , { "\xb8\xe8" , "\x5e\xe9" } , { "\xb8\xe8\xb3" , "\x5e\xda\x51" } , { "\xb8\xe8\xb3\xa2" , "\x5e\xda\x51\x4d" } , { "\xb8\xe8\xb3\xdb" , "\x5f\x51" } , { "\xb8\xe8\xb3\xdd" , "\x5e\xda\xdf\x51" } , { "\xb8\xe8\xb3\xe4" , "\x5e\xe6\xe0\x51" } , { "\xb8\xe8\xb3\xe5" , "\x5e\xe6\xe0\x51\xde" } , { "\xb8\xe8\xb5" , "\x5e\xda\x58" } , { "\xb8\xe8\xb8" , "\x5e\xda\x60" } , { "\xb8\xe8\xb8\xa2" , "\x5e\xda\x60\x4d" } , { "\xb8\xe8\xb8\xda" , "\x5e\xdb\x60" } , { "\xb8\xe8\xb8\xda\xa2" , "\x5e\xdb\x60\x4d" } , { "\xb8\xe8\xb8\xdb" , "\x5f\x60" } , { "\xb8\xe8\xb8\xdb\xa2" , "\x5f\x60\x4d" } , { "\xb8\xe8\xb8\xdc" , "\x5f\x60\xde" } , { "\xb8\xe8\xb8\xdd" , "\x5e\xda\xdf\x60" } , { "\xb8\xe8\xb8\xdd\xa2" , "\x5e\xda\xdf\x60\x4d" } , { "\xb8\xe8\xb8\xde" , "\x5e\xda\xe0\x60" } , { "\xb8\xe8\xb8\xe0" , "\x5e\xe6\x60" } , { "\xb8\xe8\xb8\xe0\xa2" , "\x5e\xe6\x60\x4d" } , { "\xb8\xe8\xb8\xe1" , "\x5e\xe6\x60\xde" } , { "\xb8\xe8\xb8\xe1\xa2" , "\x5e\xe6\x60\xde\x4d" } , { "\xb8\xe8\xb8\xe2" , "\x5e\xe6\x60\x3e\xe7" } , { "\xb8\xe8\xb8\xe2\xa2" , "\x5e\xe6\x60\x3e\xe7\x4d" } , { "\xb8\xe8\xb8\xe4" , "\x5e\xe6\xe0\x60" } , { "\xb8\xe8\xb8\xe4\xa2" , "\x5e\xe6\xe0\x60\x4d" } , { "\xb8\xe8\xb8\xe4\xd0\xe8" , "\x5e\xe6\xe0\x60\xc1\xe9" } , { "\xb8\xe8\xb8\xe5" , "\x5e\xe6\xe0\x60\xde" } , { "\xb8\xe8\xb8\xe5\xa2" , "\x5e\xe6\xe0\x60\xde\x4d" } , { "\xb8\xe8\xb8\xe6" , "\x5e\xe8\x60" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\x5f\x60\xf1\xde" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\x5e\xda\xdf\x60\xf1" } , { "\xb8\xe8\xb8\xe8\xd4\xda" , "\x5e\xdb\x60\x3e\xca" } , { "\xb8\xe8\xb9" , "\x5e\xda\x63" } , { "\xb8\xe8\xb9\xa2" , "\x5e\xda\x63\x4d" } , { "\xb8\xe8\xb9\xda" , "\x5e\xdb\x63" } , { "\xb8\xe8\xb9\xda\xa2" , "\x5e\xdb\x63\x4d" } , { "\xb8\xe8\xb9\xdb" , "\x5f\x63" } , { "\xb8\xe8\xb9\xdb\xa2" , "\x5f\x63\x4d" } , { "\xb8\xe8\xb9\xdc" , "\x5f\x63\xde" } , { "\xb8\xe8\xb9\xdd" , "\x5e\xda\xdf\x63" } , { "\xb8\xe8\xb9\xdd\xa2" , "\x5e\xda\xdf\x63\x4d" } , { "\xb8\xe8\xb9\xde" , "\x5e\xda\xe0\x63" } , { "\xb8\xe8\xb9\xdf" , "\x5e\xda\x63\x3e\xe4" } , { "\xb8\xe8\xb9\xdf\xa2" , "\x5e\xda\x63\x3e\xe4\x4d" } , { "\xb8\xe8\xb9\xe0" , "\x5e\xe6\x63" } , { "\xb8\xe8\xb9\xe1" , "\x5e\xe6\x63\xde" } , { "\xb8\xe8\xb9\xe5" , "\x5e\xe6\xe0\x63\xde" } , { "\xb8\xe8\xb9\xe5\xa2" , "\x5e\xe6\xe0\x63\xde\x4d" } , { "\xb8\xe8\xb9\xe6" , "\x5e\xe8\x63" } , { "\xb8\xe8\xb9\xe8" , "\x5e\xe9\x63" } , { "\xb8\xe8\xb9\xe8\xa2" , "\x5e\xe9\x63\x4d" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\x5e\xda\x63\xfe\xa7\xf2\xaa" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\x5f\x63\x3d\xbd\xde" } , { "\xb8\xe8\xb9\xe8\xcf" , "\x5e\xda\x63\xf1" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\x5e\xdb\x63\xf1" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\x5e\xda\xdf\x63\xf1" } , { "\xb8\xe8\xb9\xe8\xd1" , "\x5e\xda\x63\xfe\xc7" } , { "\xb8\xe8\xb9\xe8\xd4" , "\x5e\xda\x63\x3e\xca" } , { "\xb8\xe8\xb9\xe8\xd4\xda" , "\x5e\xdb\x63\x3e\xca" } , { "\xb8\xe8\xbd" , "\x5e\xda\x6f" } , { "\xb8\xe8\xbd\xdb" , "\x5f\x6f" } , { "\xb8\xe8\xbd\xdb\xa2" , "\x5f\x6f\x4d" } , { "\xb8\xe8\xbd\xe1" , "\x5e\xe6\x6f\xde" } , { "\xb8\xe8\xbd\xe2" , "\x5e\xe6\x6f\x3e\xe7" } , { "\xb8\xe8\xbf\xdb" , "\x5f\x75" } , { "\xb8\xe8\xbf\xe8" , "\x5e\xe9\x75" } , { "\xb8\xe8\xc2" , "\x5e\xda\xa1" } , { "\xb8\xe8\xc2\xe1\xa2" , "\x5e\xe6\xa1\xde\x4d" } , { "\xb8\xe8\xc3" , "\x5e\xda\xa4" } , { "\xb8\xe8\xc4\xdb" , "\x5f\xa7" } , { "\xb8\xe8\xc6" , "\x5e\xda\xad" } , { "\xb8\xe8\xc6\xa2" , "\x5e\xda\xad\x4d" } , { "\xb8\xe8\xc6\xdb" , "\x5f\xad" } , { "\xb8\xe8\xc6\xdd" , "\x5e\xda\xdf\xad" } , { "\xb8\xe8\xc6\xe4" , "\x5e\xe6\xe0\xad" } , { "\xb8\xe8\xc8" , "\x5e\xda\xb0" } , { "\xb8\xe8\xc8\xe0" , "\x5e\xe6\xb0" } , { "\xb8\xe8\xc8\xe8\xcf" , "\x5e\xda\xb0\xf1" } , { "\xb8\xe8\xca\xda" , "\x5e\xdb\xb9" } , { "\xb8\xe8\xca\xdd" , "\x5e\xda\xdf\xb9" } , { "\xb8\xe8\xca\xe5" , "\x5e\xe6\xe0\xb9\xde" } , { "\xb8\xe8\xca\xe8\xd1\xe0\xa2" , "\x5e\xe6\xb9\xfe\xc7\x4d" } , { "\xb8\xe8\xcc" , "\x5e\xda\xbd" } , { "\xb8\xe8\xcc\xdc" , "\x5f\xbd\xde" } , { "\xb8\xe8\xcc\xe0" , "\x5e\xe6\xbd" } , { "\xb8\xe8\xcc\xe0\xa2" , "\x5e\xe6\xbd\x4d" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\x5e\xe6\xbd\xfd\xbc\xde" } , { "\xb8\xe8\xcd" , "\x5e\xda\xc0" } , { "\xb8\xe8\xcd\xa2" , "\x5e\xda\xc0\x4d" } , { "\xb8\xe8\xcd\xda" , "\x5e\xdb\xc0" } , { "\xb8\xe8\xcd\xda\xa2" , "\x5e\xdb\xc0\x4d" } , { "\xb8\xe8\xcd\xdd" , "\x5e\xda\xdf\xc0" } , { "\xb8\xe8\xcd\xde" , "\x5e\xda\xe0\xc0" } , { "\xb8\xe8\xcd\xde\xa2" , "\x5e\xda\xe0\xc0\x4d" } , { "\xb8\xe8\xcd\xe5" , "\x5e\xe6\xe0\xc0\xde" } , { "\xb8\xe8\xcd\xe6" , "\x5e\xe8\xc0" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x5e\xda\xc0\xfc\xc0" } , { "\xb8\xe8\xcf" , "\x5e\xda\xc3" } , { "\xb8\xe8\xcf\xda" , "\x5e\xdb\xc3" } , { "\xb8\xe8\xcf\xdb" , "\x5f\xc3" } , { "\xb8\xe8\xcf\xdc" , "\x5f\xc3\xde" } , { "\xb8\xe8\xcf\xde" , "\x5e\xda\xe0\xc3" } , { "\xb8\xe8\xcf\xde\xa2" , "\x5e\xda\xe0\xc3\x4d" } , { "\xb8\xe8\xcf\xe5" , "\x5e\xe6\xe0\xc3\xde" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x5e\xda\xc3\x3e\x63" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x5e\xdb\xc3\x3e\x63" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\x5f\xc3\x3e\x63" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x5e\xda\xc3\x3d\xc0" } , { "\xb8\xe8\xd1" , "\x5e\xda\xc7" } , { "\xb8\xe8\xd1\xda" , "\x5e\xdb\xc7" } , { "\xb8\xe8\xd1\xdb" , "\x5f\xc7" } , { "\xb8\xe8\xd1\xdc" , "\x5f\xc7\xde" } , { "\xb8\xe8\xd1\xdd" , "\x5e\xda\xdf\xc7" } , { "\xb8\xe8\xd1\xde" , "\x5e\xda\xe0\xc7" } , { "\xb8\xe8\xd1\xe5" , "\x5e\xe6\xe0\xc7\xde" } , { "\xb8\xe8\xd4" , "\x5e\xda\xca" } , { "\xb8\xe8\xd4\xda" , "\x5e\xdb\xca" } , { "\xb8\xe8\xd4\xda\xa2" , "\x5e\xdb\xca\x4d" } , { "\xb8\xe8\xd4\xe1" , "\x5e\xe6\xca\xde" } , { "\xb8\xe8\xd4\xe2" , "\x5e\xe6\xca\x3e\xe7" } , { "\xb8\xe8\xd7" , "\x5e\xda\xd3" } , { "\xb8\xe8\xd7\xe1" , "\x5e\xe6\xd3\xde" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\x5f\xd3\x3e\x6f" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x5e\xe6\xe0\xd3\x3e\x6f\xde" } , { "\xb8\xe8\xd8" , "\x5e\xda\xd6" } , { "\xb8\xe8\xd8\xda" , "\x5e\xdb\xd6" } , { "\xb8\xe8\xd8\xe6" , "\x5e\xe8\xd6" } , { "\xb8\xe8\xd9\xa6" , "\x5e\xda\x42" } , { "\xb8\xe8\xe8" , "\x5e\xe9" } , { "\xb8\xe8\xe9\xcf" , "\x5e\xda\xc3" } , { "\xb8\xe9" , "\x5e\xda" } , { "\xb9" , "\x61\xda" } , { "\xb9\xa1" , "\x61\xda\x4d" } , { "\xb9\xa2" , "\x61\xda\x4d" } , { "\xb9\xa3" , "\x61\xda\x4e" } , { "\xb9\xce\xb4" , "\x61\xda\xbe\xda\xdf\x52" } , { "\xb9\xd9\xc5" , "\x61\xda\xda\xa8\xda" } , { "\xb9\xd9\xd1" , "\x61\xda\xda\xc4" } , { "\xb9\xda" , "\x61\xdb" } , { "\xb9\xda\xa1" , "\x61\xdb\x4d" } , { "\xb9\xda\xa2" , "\x61\xdb\x4d" } , { "\xb9\xdb" , "\x62" } , { "\xb9\xdb\xa2" , "\x62\x4d" } , { "\xb9\xdc" , "\x62\xde" } , { "\xb9\xdc\xa2" , "\x62\xde\x4d" } , { "\xb9\xdd" , "\x61\xda\xdf" } , { "\xb9\xdd\xa2" , "\x61\xda\xdf\x4d" } , { "\xb9\xde" , "\x61\xda\xe0" } , { "\xb9\xde\xa1" , "\x61\xda\xe0\x4d" } , { "\xb9\xde\xa2" , "\x61\xda\xe0\x4d" } , { "\xb9\xdf" , "\x61\xda\xe4" } , { "\xb9\xe0" , "\x61\xe6" } , { "\xb9\xe0\xa2" , "\x61\xe6\x4d" } , { "\xb9\xe1" , "\x61\xe6\xde" } , { "\xb9\xe1\xa2" , "\x61\xe6\xde\x4d" } , { "\xb9\xe2" , "\x61\xe6\xe7" } , { "\xb9\xe2\xa2" , "\x61\xe6\xe7\x4d" } , { "\xb9\xe4" , "\x61\xe6\xe0" } , { "\xb9\xe5" , "\x61\xe6\xe0\xde" } , { "\xb9\xe5\xa2" , "\x61\xe6\xe0\xde\x4d" } , { "\xb9\xe6" , "\x61\xe8" } , { "\xb9\xe6\xa2" , "\x61\xe8\x4d" } , { "\xb9\xe8" , "\x61\xe9" } , { "\xb9\xe8\xb8" , "\x61\xda\xb4\x60" } , { "\xb9\xe8\xb9" , "\x61\xda\xb4\x63" } , { "\xb9\xe8\xb9\xda" , "\x61\xdb\x63" } , { "\xb9\xe8\xc2\xda" , "\x61\xdb\xa1" } , { "\xb9\xe8\xc4" , "\x61\xda\xb4\xb4\xa7" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x61\xda\xdf\xad\x4d" } , { "\xb9\xe8\xc8\xda" , "\x61\xdb\xb0" } , { "\xb9\xe8\xcd\xda" , "\x61\xdb\xc0" } , { "\xb9\xe8\xcd\xe1" , "\x61\xe6\xb4\xc0\xde" } , { "\xb9\xe8\xd4\xda" , "\x61\xdb\xca" } , { "\xb9\xe8\xe8" , "\x61\xe9" } , { "\xb9\xe9" , "\x61\xda" } , { "\xba" , "\x64" } , { "\xba\xa1" , "\x64\x4d" } , { "\xba\xa2" , "\x64\x4d" } , { "\xba\xa2\xa2" , "\x64\x4d\x4d" } , { "\xba\xa3" , "\x64\x4e" } , { "\xba\xd9\xc5" , "\x64\xda\xa8\xda" } , { "\xba\xda" , "\x65\xdb" } , { "\xba\xda\xa1" , "\x65\xdb\x4d" } , { "\xba\xda\xa2" , "\x65\xdb\x4d" } , { "\xba\xda\xa3" , "\x65\xdb\x4e" } , { "\xba\xdb" , "\x66" } , { "\xba\xdb\xa2" , "\x66\x4d" } , { "\xba\xdc" , "\x66\xde" } , { "\xba\xdc\xa2" , "\x66\xde\x4d" } , { "\xba\xdd" , "\x64\xdf" } , { "\xba\xdd\xa2" , "\x64\xdf\x4d" } , { "\xba\xdd\xa3" , "\x64\xdf\x4e" } , { "\xba\xde" , "\x64\xe0" } , { "\xba\xde\xa1" , "\x64\xe0\x4d" } , { "\xba\xde\xa2" , "\x64\xe0\x4d" } , { "\xba\xdf" , "\x64\xe4" } , { "\xba\xdf\xa2" , "\x64\xe4\x4d" } , { "\xba\xe0" , "\x65\xe6" } , { "\xba\xe0\xa2" , "\x65\xe6\x4d" } , { "\xba\xe1" , "\x65\xe6\xde" } , { "\xba\xe1\xa2" , "\x65\xe6\xde\x4d" } , { "\xba\xe2" , "\x65\xe6\xe7" } , { "\xba\xe2\xa2" , "\x65\xe6\xe7\x4d" } , { "\xba\xe3" , "\x65\xe6" } , { "\xba\xe4" , "\x65\xe6\xe0" } , { "\xba\xe4\xa2" , "\x65\xe6\xe0\x4d" } , { "\xba\xe5" , "\x65\xe6\xe0\xde" } , { "\xba\xe5\xa2" , "\x65\xe6\xe0\xde\x4d" } , { "\xba\xe6" , "\x65\xe8" } , { "\xba\xe7" , "\x65\xe6\xe0" } , { "\xba\xe8" , "\x65\xe9" } , { "\xba\xe8\xb3" , "\x64\x51" } , { "\xba\xe8\xb3\xda" , "\x65\xdb\x51" } , { "\xba\xe8\xb3\xdb" , "\x66\x51" } , { "\xba\xe8\xb3\xdc" , "\x66\x51\xde" } , { "\xba\xe8\xb3\xdd" , "\x64\xdf\x51" } , { "\xba\xe8\xb3\xe1" , "\x65\xe6\x51\xde" } , { "\xba\xe8\xb3\xe2" , "\x65\xe6\x51\xfd\xe7" } , { "\xba\xe8\xb3\xe5" , "\x65\xe6\xe0\x51\xde" } , { "\xba\xe8\xb3\xe8\xbd" , "\x64\x51\xfd\x6f" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x65\xe6\xe0\x51\xfd\xd3\xfe\xc7\xde" } , { "\xba\xe8\xb4\xda" , "\x65\xdb\x55" } , { "\xba\xe8\xb5" , "\x64\x58" } , { "\xba\xe8\xb5\xa2" , "\x64\x58\x4d" } , { "\xba\xe8\xb5\xda" , "\x65\xdb\x58" } , { "\xba\xe8\xb5\xda\xa2" , "\x65\xdb\x58\x4d" } , { "\xba\xe8\xb5\xe1" , "\x65\xe6\x58\xde" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x65\xdb\x58\xf0" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x65\xe6\x58\xf0\xde" } , { "\xba\xe8\xb6" , "\x64\x5b" } , { "\xba\xe8\xb6\xda" , "\x65\xdb\x5b" } , { "\xba\xe8\xb8\xda" , "\x65\xdb\x60" } , { "\xba\xe8\xb8\xdd" , "\x64\xdf\x60" } , { "\xba\xe8\xb8\xe1" , "\x65\xe6\x60\xde" } , { "\xba\xe8\xba" , "\x64\x67" } , { "\xba\xe8\xba\xa2" , "\x64\x67\x4d" } , { "\xba\xe8\xba\xda" , "\x65\xdb\x67" } , { "\xba\xe8\xba\xdb" , "\x66\x67" } , { "\xba\xe8\xba\xdc" , "\x66\x67\xde" } , { "\xba\xe8\xba\xdd" , "\x64\xdf\x67" } , { "\xba\xe8\xba\xde" , "\x64\xe0\x67" } , { "\xba\xe8\xba\xdf\xa2" , "\x64\x67\xf5\xe4\x4d" } , { "\xba\xe8\xba\xe0" , "\x65\xe6\x67" } , { "\xba\xe8\xba\xe1" , "\x65\xe6\x67\xde" } , { "\xba\xe8\xba\xe2" , "\x65\xe6\x67\xf5\xe7" } , { "\xba\xe8\xba\xe5" , "\x65\xe6\xe0\x67\xde" } , { "\xba\xe8\xba\xe5\xa2" , "\x65\xe6\xe0\x67\xde\x4d" } , { "\xba\xe8\xba\xe8" , "\x65\xe9\x67" } , { "\xba\xe8\xba\xe8\xcd" , "\x64\x67\xf4\xc0" } , { "\xba\xe8\xba\xe8\xd4" , "\x64\x67\xf5\xca" } , { "\xba\xe8\xba\xe8\xd4\xe1" , "\x65\xe6\x67\xf5\xca\xde" } , { "\xba\xe8\xba\xe9" , "\x64\x67" } , { "\xba\xe8\xba\xe9\xdb" , "\x66\x67" } , { "\xba\xe8\xbb" , "\x64\x69" } , { "\xba\xe8\xbb\xda" , "\x65\xdb\x24" } , { "\xba\xe8\xbb\xdb" , "\x66\x69" } , { "\xba\xe8\xbb\xdc" , "\x66\x69\xde" } , { "\xba\xe8\xbb\xdd" , "\x64\xdf\x24" } , { "\xba\xe8\xbb\xde" , "\x64\xe0\x24" } , { "\xba\xe8\xbb\xe1" , "\x65\xe6\x69\xde" } , { "\xba\xe8\xbb\xe8\xd4" , "\x64\x69\xf9\xca" } , { "\xba\xe8\xbc" , "\x64\x6b" } , { "\xba\xe8\xbc\xa2" , "\x64\x6b\x4d" } , { "\xba\xe8\xbc\xa3" , "\x64\x6b\x4e" } , { "\xba\xe8\xbc\xda" , "\x65\xdb\x6b" } , { "\xba\xe8\xbc\xda\xa2" , "\x65\xdb\x6b\x4d" } , { "\xba\xe8\xbc\xdb" , "\x66\x6b" } , { "\xba\xe8\xbc\xdc" , "\x66\x6b\xde" } , { "\xba\xe8\xbc\xdd" , "\x64\xdf\x6b" } , { "\xba\xe8\xbc\xe0" , "\x65\xe6\x6b" } , { "\xba\xe8\xbc\xe1" , "\x65\xe6\x6b\xde" } , { "\xba\xe8\xbc\xe2\xa3" , "\x65\xe6\x6b\xf9\xe7\x4e" } , { "\xba\xe8\xbc\xe5" , "\x65\xe6\xe0\x6b\xde" } , { "\xba\xe8\xbc\xe5\xa2" , "\x65\xe6\xe0\x6b\xde\x4d" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x65\xdb\x6b\xf9\xad" } , { "\xba\xe8\xbc\xe8\xcc" , "\x64\x6b\xf8\xbd" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x65\xdb\x6b\xf8\xbd" } , { "\xba\xe8\xbc\xe8\xcd" , "\x64\x6b\xf8\xc0" } , { "\xba\xe8\xbd\xda" , "\x65\xdb\x6f" } , { "\xba\xe8\xbd\xdd" , "\x64\xdf\x6f" } , { "\xba\xe8\xbd\xe0" , "\x65\xe6\x6f" } , { "\xba\xe8\xbd\xe5" , "\x65\xe6\xe0\x6f\xde" } , { "\xba\xe8\xbe" , "\x64\x72" } , { "\xba\xe8\xbe\xdd" , "\x64\xdf\x72" } , { "\xba\xe8\xbe\xe5" , "\x65\xe6\xe0\x72\xde" } , { "\xba\xe8\xbf" , "\x64\x75" } , { "\xba\xe8\xbf\xda" , "\x65\xdb\x75" } , { "\xba\xe8\xbf\xdb" , "\x66\x75" } , { "\xba\xe8\xbf\xdd" , "\x64\xdf\x75" } , { "\xba\xe8\xbf\xe1" , "\x65\xe6\x75\xde" } , { "\xba\xe8\xbf\xe2" , "\x65\xe6\x75\xf5\xe7" } , { "\xba\xe8\xbf\xe8" , "\x65\xe9\x75" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x65\xdb\x75\xf3\x6b" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x65\xe6\x75\xf5\xad\xde" } , { "\xba\xe8\xbf\xe9" , "\x64\x75" } , { "\xba\xe8\xc0" , "\x64\x78" } , { "\xba\xe8\xc0\xa2" , "\x64\x78\x4d" } , { "\xba\xe8\xc0\xda" , "\x65\xdb\x78" } , { "\xba\xe8\xc0\xdb" , "\x66\x78" } , { "\xba\xe8\xc0\xdd" , "\x64\xdf\x78" } , { "\xba\xe8\xc0\xe1" , "\x65\xe6\x78\xde" } , { "\xba\xe8\xc0\xe5" , "\x65\xe6\xe0\x78\xde" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x65\xdb\x78\xf3\x6b" } , { "\xba\xe8\xc2" , "\x64\xa1" } , { "\xba\xe8\xc2\xe5" , "\x65\xe6\xe0\xa1\xde" } , { "\xba\xe8\xc2\xe8\xcf" , "\x64\xa1\xf0" } , { "\xba\xe8\xc4" , "\x64\xa7" } , { "\xba\xe8\xc4\xda" , "\x65\xdb\xa7" } , { "\xba\xe8\xc4\xdb" , "\x66\xa7" } , { "\xba\xe8\xc4\xde" , "\x64\xe0\xa7" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x64\xe0\xa7\xf0" } , { "\xba\xe8\xc6" , "\x64\xad" } , { "\xba\xe8\xc6\xda" , "\x65\xdb\xad" } , { "\xba\xe8\xc6\xdb" , "\x66\xad" } , { "\xba\xe8\xc6\xdc" , "\x66\xad\xde" } , { "\xba\xe8\xc6\xdd" , "\x64\xdf\xad" } , { "\xba\xe8\xc6\xdd\xa2" , "\x64\xdf\xad\x4d" } , { "\xba\xe8\xc6\xde" , "\x64\xe0\xad" } , { "\xba\xe8\xc6\xe1" , "\x65\xe6\xad\xde" } , { "\xba\xe8\xc6\xe6" , "\x65\xe8\xad" } , { "\xba\xe8\xc8" , "\x64\xb0" } , { "\xba\xe8\xc8\xda" , "\x65\xdb\xb0" } , { "\xba\xe8\xc8\xdd" , "\x64\xdf\xb0" } , { "\xba\xe8\xc8\xde" , "\x64\xe0\xb0" } , { "\xba\xe8\xc8\xe2" , "\x65\xe6\xb0\x3e\xe7" } , { "\xba\xe8\xc8\xe5" , "\x65\xe6\xe0\xb0\xde" } , { "\xba\xe8\xc8\xe8\xcf\xe0" , "\x65\xe6\xb0\xf1" } , { "\xba\xe8\xc9\xe2" , "\x65\xe6\xb5\x3e\xe7" } , { "\xba\xe8\xc9\xe8\xc9" , "\x64\xb5\x3e\xb5" } , { "\xba\xe8\xca" , "\x64\xb9" } , { "\xba\xe8\xca\xda" , "\x65\xdb\xb9" } , { "\xba\xe8\xca\xe0" , "\x65\xe6\xb9" } , { "\xba\xe8\xca\xe0\xa2" , "\x65\xe6\xb9\x4d" } , { "\xba\xe8\xca\xe1" , "\x65\xe6\xb9\xde" } , { "\xba\xe8\xca\xe2" , "\x65\xe6\xb9\x3e\xe7" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x65\xe9\xb9\x3d\x51" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x65\xe9\xb9\xfe\x58" } , { "\xba\xe8\xcb\xde" , "\x64\xe0\xbc" } , { "\xba\xe8\xcb\xe1" , "\x65\xe6\xbc\xde" } , { "\xba\xe8\xcc" , "\x64\xbd" } , { "\xba\xe8\xcc\xa2" , "\x64\xbd\x4d" } , { "\xba\xe8\xcc\xda" , "\x65\xdb\xbd" } , { "\xba\xe8\xcc\xdb" , "\x66\xbd" } , { "\xba\xe8\xcc\xdc" , "\x66\xbd\xde" } , { "\xba\xe8\xcc\xdd" , "\x64\xdf\xbd" } , { "\xba\xe8\xcc\xde" , "\x64\xe0\xbd" } , { "\xba\xe8\xcc\xe0" , "\x65\xe6\xbd" } , { "\xba\xe8\xcc\xe0\xa2" , "\x65\xe6\xbd\x4d" } , { "\xba\xe8\xcc\xe1" , "\x65\xe6\xbd\xde" } , { "\xba\xe8\xcc\xe1\xa2" , "\x65\xe6\xbd\xde\x4d" } , { "\xba\xe8\xcc\xe5" , "\x65\xe6\xe0\xbd\xde" } , { "\xba\xe8\xcd" , "\x64\xc0" } , { "\xba\xe8\xcd\xa2" , "\x64\xc0\x4d" } , { "\xba\xe8\xcd\xda" , "\x65\xdb\xc0" } , { "\xba\xe8\xcd\xda\xa1" , "\x65\xdb\xc0\x4d" } , { "\xba\xe8\xcd\xda\xa2" , "\x65\xdb\xc0\x4d" } , { "\xba\xe8\xcd\xdb" , "\x66\xc0" } , { "\xba\xe8\xcd\xdc" , "\x66\xc0\xde" } , { "\xba\xe8\xcd\xdd" , "\x64\xdf\xc0" } , { "\xba\xe8\xcd\xdd\xa2" , "\x64\xdf\xc0\x4d" } , { "\xba\xe8\xcd\xde" , "\x64\xe0\xc0" } , { "\xba\xe8\xcd\xde\xa1" , "\x64\xe0\xc0\x4d" } , { "\xba\xe8\xcd\xde\xa2" , "\x64\xe0\xc0\x4d" } , { "\xba\xe8\xcd\xe0" , "\x65\xe6\xc0" } , { "\xba\xe8\xcd\xe0\xa2" , "\x65\xe6\xc0\x4d" } , { "\xba\xe8\xcd\xe1" , "\x65\xe6\xc0\xde" } , { "\xba\xe8\xcd\xe4" , "\x65\xe6\xe0\xc0" } , { "\xba\xe8\xcd\xe5" , "\x65\xe6\xe0\xc0\xde" } , { "\xba\xe8\xcd\xe5\xa2" , "\x65\xe6\xe0\xc0\xde\x4d" } , { "\xba\xe8\xcd\xe6" , "\x65\xe8\xc0" } , { "\xba\xe8\xcd\xe8\xcf" , "\x64\xc0\xf0" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x64\xc0\xf0\x4d" } , { "\xba\xe8\xcf" , "\x64\xc3" } , { "\xba\xe8\xcf\xa2" , "\x64\xc3\x4d" } , { "\xba\xe8\xcf\xda" , "\x65\xdb\xc3" } , { "\xba\xe8\xcf\xda\xa2" , "\x65\xdb\xc3\x4d" } , { "\xba\xe8\xcf\xdb" , "\x66\xc3" } , { "\xba\xe8\xcf\xdc" , "\x66\xc3\xde" } , { "\xba\xe8\xcf\xe1" , "\x65\xe6\xc3\xde" } , { "\xba\xe8\xcf\xe4" , "\x65\xe6\xe0\xc3" } , { "\xba\xe8\xcf\xe5" , "\x65\xe6\xe0\xc3\xde" } , { "\xba\xe8\xd1" , "\x64\xc7" } , { "\xba\xe8\xd1\xda" , "\x65\xdb\xc7" } , { "\xba\xe8\xd1\xdb" , "\x66\xc7" } , { "\xba\xe8\xd1\xdc" , "\x66\xc7\xde" } , { "\xba\xe8\xd1\xdd" , "\x64\xdf\xc7" } , { "\xba\xe8\xd1\xe5" , "\x65\xe6\xe0\xc7\xde" } , { "\xba\xe8\xd4" , "\x64\xca" } , { "\xba\xe8\xd4\xa2" , "\x64\xca\x4d" } , { "\xba\xe8\xd4\xda" , "\x65\xdb\xca" } , { "\xba\xe8\xd4\xdb" , "\x66\xca" } , { "\xba\xe8\xd4\xdc" , "\x66\xca\xde" } , { "\xba\xe8\xd4\xdd" , "\x64\xdf\xca" } , { "\xba\xe8\xd4\xdf" , "\x64\xca\x3e\xe4" } , { "\xba\xe8\xd4\xe0" , "\x65\xe6\xca" } , { "\xba\xe8\xd4\xe1" , "\x65\xe6\xca\xde" } , { "\xba\xe8\xd4\xe7" , "\x65\xe6\xe0\xca" } , { "\xba\xe8\xd4\xe8\xba" , "\x64\xca\xfe\x67" } , { "\xba\xe8\xd5\xda" , "\x65\xdb\xcd" } , { "\xba\xe8\xd6\xda" , "\x65\xdb\xd0" } , { "\xba\xe8\xd7" , "\x64\xd3" } , { "\xba\xe8\xd7\xdb\xa2" , "\x66\xd3\x4d" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\x66\xd3\x3d\x51" } , { "\xba\xe8\xd9\xba" , "\x64\x64" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x64\xbe\xda\xdf\x25" } , { "\xba\xe8\xe8" , "\x65\xe9" } , { "\xba\xe8\xe9\xbc" , "\x64\x6b" } , { "\xba\xe8\xe9\xcf" , "\x64\xc3" } , { "\xba\xe9" , "\x64" } , { "\xba\xe9\xa2" , "\x64\x4d" } , { "\xba\xe9\xbf\xe9" , "\x64\x73\xda" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x64\x73\xe6\xe0\xde\x4d" } , { "\xba\xe9\xc7" , "\x64\xab\xda" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x64\xc8\xda\xdf\xdf\xb9" } , { "\xba\xe9\xd4\xda" , "\x64\xc8\xdb" } , { "\xba\xe9\xda" , "\x65\xdb" } , { "\xba\xe9\xdb" , "\x66" } , { "\xba\xe9\xdb\xa2" , "\x66\x4d" } , { "\xba\xe9\xdc" , "\x66\xde" } , { "\xba\xe9\xdd" , "\x64\xdf" } , { "\xba\xe9\xde" , "\x64\xe0" } , { "\xba\xe9\xe1" , "\x65\xe6\xde" } , { "\xba\xe9\xe1\xa2" , "\x65\xe6\xde\x4d" } , { "\xba\xe9\xe2" , "\x65\xe6\xe7" } , { "\xba\xe9\xe5" , "\x65\xe6\xe0\xde" } , { "\xba\xe9\xe5\xa2" , "\x65\xe6\xe0\xde\x4d" } , { "\xba\xe9\xe8\xba" , "\x64\x67" } , { "\xba\xe9\xe8\xba\xe9" , "\x64\x67" } , { "\xba\xe9\xe8\xca\xda" , "\x65\xdb\xb9" } , { "\xba\xe9\xe8\xcc" , "\x64\xbd" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\x65\xe6\xe0\xbd\xde\x4d" } , { "\xba\xe9\xe8\xcd\xda" , "\x65\xdb\xc0" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x64\xe9\xbe\xda\xe1\xdb" } , { "\xbb" , "\xc1\xda\x68\xdf" } , { "\xbb\xa1" , "\xc1\xda\x68\xdf\x4d" } , { "\xbb\xa2" , "\xc1\xda\x68\xdf\x4d" } , { "\xbb\xa3" , "\xc1\xda\x68\xdf\x4e" } , { "\xbb\xda" , "\xc1\xda\x68\xe1\xdb" } , { "\xbb\xda\xa1" , "\xc1\xda\x68\xe1\xdb\x4d" } , { "\xbb\xda\xa2" , "\xc1\xda\x68\xe1\xdb\x4d" } , { "\xbb\xdb" , "\xc2\x68\xdf" } , { "\xbb\xdb\xa2" , "\xc2\x68\xdf\x4d" } , { "\xbb\xdc" , "\xc2\x68\xdf\xde" } , { "\xbb\xdc\xa2" , "\xc2\x68\xdf\xde\x4d" } , { "\xbb\xdd" , "\xc1\xda\x68\xdf\xdf" } , { "\xbb\xdd\xa1" , "\xc1\xda\x68\xdf\xdf\x4d" } , { "\xbb\xdd\xa2" , "\xc1\xda\x68\xdf\xdf\x4d" } , { "\xbb\xde" , "\xc1\xda\x68\xdf\xe0" } , { "\xbb\xde\xa1" , "\xc1\xda\x68\xdf\xe0\x4d" } , { "\xbb\xde\xa2" , "\xc1\xda\x68\xdf\xe0\x4d" } , { "\xbb\xdf" , "\xc1\xda\x68\xdf\xe4" } , { "\xbb\xe0" , "\xc1\xe6\x68\xdf" } , { "\xbb\xe0\xa2" , "\xc1\xe6\x68\xdf\x4d" } , { "\xbb\xe1" , "\xc1\xe6\x68\xdf\xde" } , { "\xbb\xe1\xa2" , "\xc1\xe6\x68\xdf\xde\x4d" } , { "\xbb\xe2" , "\xc1\xe6\x68\xdf\xe7" } , { "\xbb\xe4" , "\xc1\xe6\x68\xe0" } , { "\xbb\xe5" , "\xc1\xe6\x68\xe0\xde" } , { "\xbb\xe5\xa2" , "\xc1\xe6\x68\xe0\xde\x4d" } , { "\xbb\xe6" , "\xc1\xda\x68\xe1\xe8" } , { "\xbb\xe6\xa2" , "\xc1\xda\x68\xe1\xe8\x4d" } , { "\xbb\xe7" , "\xc1\xe6\x68\xe0" } , { "\xbb\xe8" , "\xc1\xda\x68\xe1\xe9" } , { "\xbb\xe8\xb6\xdd" , "\xc1\xda\x68\xdf\xdf\x5b" } , { "\xbb\xe8\xbb" , "\xc1\xda\x68\xdf\x69" } , { "\xbb\xe8\xcd" , "\xc1\xda\x68\xdf\xc0" } , { "\xbb\xe8\xcf" , "\xc1\xda\x68\xdf\xc3" } , { "\xbb\xe8\xd4" , "\xc1\xda\x68\xdf\xca" } , { "\xbb\xe8\xe8" , "\xc1\xda\x68\xe1\xe9" } , { "\xbb\xe8\xe9\xcf" , "\xc1\xda\x68\xdf\xc3" } , { "\xbb\xe9" , "\xc1\xda\x68\xdf" } , { "\xbc" , "\x6a" } , { "\xbc\xa2" , "\x6a\x4d" } , { "\xbc\xa3" , "\x6a\x4e" } , { "\xbc\xda" , "\x6a\xdc\xdb" } , { "\xbc\xdb" , "\x6a\xdd" } , { "\xbc\xdc" , "\x6a\xdd\xde" } , { "\xbc\xdd" , "\x6a\xdf" } , { "\xbc\xde" , "\x6a\xe0" } , { "\xbc\xdf" , "\x6a\xe4" } , { "\xbc\xe0" , "\x6a\xdc\xe6" } , { "\xbc\xe1" , "\x6a\xdc\xe6\xde" } , { "\xbc\xe2" , "\x6a\xdc\xe6\xe7" } , { "\xbc\xe3" , "\x6a\xdc\xe6" } , { "\xbc\xe4" , "\x6a\xdc\xe6\xe0" } , { "\xbc\xe5" , "\x6a\xdc\xe6\xe0\xde" } , { "\xbc\xe5\xa2" , "\x6a\xdc\xe6\xe0\xde\x4d" } , { "\xbc\xe6" , "\x6a\xdc\xe8" } , { "\xbc\xe8" , "\x6a\xdc\xe9" } , { "\xbc\xe8\xb8" , "\x6a\x60" } , { "\xbc\xe8\xb8\xda" , "\x6a\xdc\xdb\x60" } , { "\xbc\xe8\xb8\xdb" , "\x6a\xdd\x60" } , { "\xbc\xe8\xb8\xdc" , "\x6a\xdd\x60\xde" } , { "\xbc\xe8\xb8\xe0" , "\x6a\xdc\xe6\x60" } , { "\xbc\xe8\xb8\xe1" , "\x6a\xdc\xe6\x60\xde" } , { "\xbc\xe8\xb8\xe4" , "\x6a\xdc\xe6\xe0\x60" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x6a\xdc\xdb\x60\x3d\xc0\x4d" } , { "\xbc\xe8\xba" , "\x6a\x67" } , { "\xbc\xe8\xba\xda" , "\x6a\xdc\xdb\x67" } , { "\xbc\xe8\xba\xdb" , "\x6a\xdd\x67" } , { "\xbc\xe8\xba\xdc" , "\x6a\xdd\x67\xde" } , { "\xbc\xe8\xba\xdd" , "\x6a\xdf\x67" } , { "\xbc\xe8\xba\xe5\xa2" , "\x6a\xdc\xe6\xe0\x67\xde\x4d" } , { "\xbc\xe8\xbc" , "\x6a\x6b" } , { "\xbc\xe8\xbc\xda" , "\x6a\xdc\xdb\x6b" } , { "\xbc\xe8\xc1" , "\x6a\x7c" } , { "\xbc\xe8\xcd\xa2" , "\x6a\xc0\x4d" } , { "\xbc\xe8\xcd\xe5" , "\x6a\xdc\xe6\xe0\xc0\xde" } , { "\xbc\xe8\xd4" , "\x6a\xca" } , { "\xbc\xe9" , "\x6a" } , { "\xbd" , "\x6c" } , { "\xbd\xa1" , "\x6c\x4d" } , { "\xbd\xa2" , "\x6c\x4d" } , { "\xbd\xa2\xa2" , "\x6c\x4d\x4d" } , { "\xbd\xa3" , "\x6c\x4e" } , { "\xbd\xd9" , "\x6c\xda" } , { "\xbd\xda" , "\x6d\xdb" } , { "\xbd\xda\xa1" , "\x6d\xdb\x4d" } , { "\xbd\xda\xa2" , "\x6d\xdb\x4d" } , { "\xbd\xda\xa3" , "\x6d\xdb\x4e" } , { "\xbd\xdb" , "\x6e" } , { "\xbd\xdb\xa2" , "\x6e\x4d" } , { "\xbd\xdc" , "\x6e\xde" } , { "\xbd\xdc\xa2" , "\x6e\xde\x4d" } , { "\xbd\xdd" , "\x6c\xdf" } , { "\xbd\xdd\xa2" , "\x6c\xdf\x4d" } , { "\xbd\xde" , "\x6c\xe0" } , { "\xbd\xde\xa1" , "\x6c\xe0\x4d" } , { "\xbd\xde\xa2" , "\x6c\xe0\x4d" } , { "\xbd\xdf" , "\x6c\xe4" } , { "\xbd\xe0" , "\x6d\xe6" } , { "\xbd\xe0\xa2" , "\x6d\xe6\x4d" } , { "\xbd\xe1" , "\x6d\xe6\xde" } , { "\xbd\xe1\xa2" , "\x6d\xe6\xde\x4d" } , { "\xbd\xe2" , "\x6d\xe6\xe7" } , { "\xbd\xe2\xa2" , "\x6d\xe6\xe7\x4d" } , { "\xbd\xe3" , "\x6d\xe6" } , { "\xbd\xe4" , "\x6d\xe6\xe0" } , { "\xbd\xe4\xa2" , "\x6d\xe6\xe0\x4d" } , { "\xbd\xe5" , "\x6d\xe6\xe0\xde" } , { "\xbd\xe5\xa2" , "\x6d\xe6\xe0\xde\x4d" } , { "\xbd\xe6" , "\x6d\xe8" } , { "\xbd\xe6\xa2" , "\x6d\xe8\x4d" } , { "\xbd\xe7" , "\x6d\xe6\xe0" } , { "\xbd\xe8" , "\x6d\xe9" } , { "\xbd\xe8\xa6" , "\x6d\xe9\x42" } , { "\xbd\xe8\xb3" , "\x6c\x51" } , { "\xbd\xe8\xb3\xa2" , "\x6c\x51\x4d" } , { "\xbd\xe8\xb3\xda" , "\x6d\xdb\x51" } , { "\xbd\xe8\xb3\xda\xa2" , "\x6d\xdb\x51\x4d" } , { "\xbd\xe8\xb3\xdb" , "\x6e\x51" } , { "\xbd\xe8\xb3\xdb\xa2" , "\x6e\x51\x4d" } , { "\xbd\xe8\xb3\xdc" , "\x6e\x51\xde" } , { "\xbd\xe8\xb3\xdd" , "\x6c\xdf\x51" } , { "\xbd\xe8\xb3\xde" , "\x6c\xe0\x51" } , { "\xbd\xe8\xb3\xe0" , "\x6d\xe6\x51" } , { "\xbd\xe8\xb3\xe1" , "\x6d\xe6\x51\xde" } , { "\xbd\xe8\xb3\xe2" , "\x6d\xe6\x51\xfd\xe7" } , { "\xbd\xe8\xb3\xe5" , "\x6d\xe6\xe0\x51\xde" } , { "\xbd\xe8\xb3\xe8\xd1" , "\x6c\x51\xfa\xc7" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\x6e\x51\xfa\xc7\xde" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\x6d\xe9\x51\xfd\xd3" } , { "\xbd\xe8\xb5" , "\x6c\x58" } , { "\xbd\xe8\xb5\xda" , "\x6d\xdb\x58" } , { "\xbd\xe8\xb5\xe0" , "\x6d\xe6\x58" } , { "\xbd\xe8\xb5\xe1" , "\x6d\xe6\x58\xde" } , { "\xbd\xe8\xb5\xe2" , "\x6d\xe6\x58\xf5\xe7" } , { "\xbd\xe8\xb5\xe5" , "\x6d\xe6\xe0\x58\xde" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\x6c\x58\xf0\x4d" } , { "\xbd\xe8\xb7\xe8" , "\x6d\xe9\x5d" } , { "\xbd\xe8\xb8" , "\x6c\x60" } , { "\xbd\xe8\xb8\xa2" , "\x6c\x60\x4d" } , { "\xbd\xe8\xb8\xda" , "\x6d\xdb\x60" } , { "\xbd\xe8\xb8\xdb" , "\x6e\x60" } , { "\xbd\xe8\xb8\xdb\xa2" , "\x6e\x60\x4d" } , { "\xbd\xe8\xb8\xdd" , "\x6c\xdf\x60" } , { "\xbd\xe8\xb8\xe0" , "\x6d\xe6\x60" } , { "\xbd\xe8\xb8\xe1" , "\x6d\xe6\x60\xde" } , { "\xbd\xe8\xb8\xe8" , "\x6d\xe9\x60" } , { "\xbd\xe8\xb9\xa2" , "\x6c\x63\x4d" } , { "\xbd\xe8\xba" , "\x6c\x67" } , { "\xbd\xe8\xba\xa2" , "\x6c\x67\x4d" } , { "\xbd\xe8\xba\xdc" , "\x6e\x67\xde" } , { "\xbd\xe8\xba\xe0" , "\x6d\xe6\x67" } , { "\xbd\xe8\xba\xe1" , "\x6d\xe6\x67\xde" } , { "\xbd\xe8\xba\xe8" , "\x6d\xe9\x67" } , { "\xbd\xe8\xba\xe8\xb5\xe0" , "\x6d\xe6\x67\xf2\x58" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\x6c\xdf\x67\xf5\xad\x4d" } , { "\xbd\xe8\xbd" , "\x6c\x6f" } , { "\xbd\xe8\xbd\xa2" , "\x6c\x6f\x4d" } , { "\xbd\xe8\xbd\xa3" , "\x6c\x6f\x4e" } , { "\xbd\xe8\xbd\xda" , "\x6d\xdb\x6f" } , { "\xbd\xe8\xbd\xda\xa2" , "\x6d\xdb\x6f\x4d" } , { "\xbd\xe8\xbd\xda\xa3" , "\x6d\xdb\x6f\x4e" } , { "\xbd\xe8\xbd\xdb" , "\x6e\x6f" } , { "\xbd\xe8\xbd\xdb\xa2" , "\x6e\x6f\x4d" } , { "\xbd\xe8\xbd\xdc" , "\x6e\x6f\xde" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x6e\x6f\xde\x4d" } , { "\xbd\xe8\xbd\xdd" , "\x6c\xdf\x6f" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x6c\xdf\x6f\x4d" } , { "\xbd\xe8\xbd\xde" , "\x6c\xe0\x6f" } , { "\xbd\xe8\xbd\xe0" , "\x6d\xe6\x6f" } , { "\xbd\xe8\xbd\xe0\xa2" , "\x6d\xe6\x6f\x4d" } , { "\xbd\xe8\xbd\xe1" , "\x6d\xe6\x6f\xde" } , { "\xbd\xe8\xbd\xe1\xa2" , "\x6d\xe6\x6f\xde\x4d" } , { "\xbd\xe8\xbd\xe2" , "\x6d\xe6\x6f\x3e\xe7" } , { "\xbd\xe8\xbd\xe2\xa2" , "\x6d\xe6\x6f\x3e\xe7\x4d" } , { "\xbd\xe8\xbd\xe4" , "\x6d\xe6\xe0\x6f" } , { "\xbd\xe8\xbd\xe5" , "\x6d\xe6\xe0\x6f\xde" } , { "\xbd\xe8\xbd\xe5\xa2" , "\x6d\xe6\xe0\x6f\xde\x4d" } , { "\xbd\xe8\xbd\xe6" , "\x6d\xe8\x6f" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x6c\xdf\x6f\x3d\x51" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x6c\x6f\xfe\x7c" } , { "\xbd\xe8\xbd\xe8\xc6" , "\x6c\x6f\x3e\xad" } , { "\xbd\xe8\xbd\xe8\xc8\xe0" , "\x6d\xe6\x6f\x3e\xb0" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x6d\xdb\x6f\xf1" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x6d\xe9\x6f\xf1" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\x6c\x6f\xf1\x3e\xad" } , { "\xbd\xe8\xbd\xe8\xd4" , "\x6c\x6f\x3e\xca" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x6c\xdf\x6f\x3e\xd3" } , { "\xbd\xe8\xbe" , "\x6c\x72" } , { "\xbd\xe8\xbe\xda" , "\x6d\xdb\x72" } , { "\xbd\xe8\xbe\xdb" , "\x6e\x72" } , { "\xbd\xe8\xbe\xdc" , "\x6e\x72\xde" } , { "\xbd\xe8\xbe\xdd" , "\x6c\xdf\x72" } , { "\xbd\xe8\xbe\xde" , "\x6c\xe0\x72" } , { "\xbd\xe8\xbe\xe1" , "\x6d\xe6\x72\xde" } , { "\xbd\xe8\xbe\xe5" , "\x6d\xe6\xe0\x72\xde" } , { "\xbd\xe8\xbe\xe5\xa2" , "\x6d\xe6\xe0\x72\xde\x4d" } , { "\xbd\xe8\xbf" , "\x6c\x75" } , { "\xbd\xe8\xbf\xdb" , "\x6e\x75" } , { "\xbd\xe8\xbf\xdd" , "\x6c\xdf\x75" } , { "\xbd\xe8\xbf\xe1" , "\x6d\xe6\x75\xde" } , { "\xbd\xe8\xbf\xe5" , "\x6d\xe6\xe0\x75\xde" } , { "\xbd\xe8\xbf\xe6" , "\x6d\xe8\x75" } , { "\xbd\xe8\xbf\xe8" , "\x6d\xe9\x75" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\x6d\xdb\x75\xf0" } , { "\xbd\xe8\xc0\xdc" , "\x6e\x78\xde" } , { "\xbd\xe8\xc1\xa2" , "\x6c\x7c\x4d" } , { "\xbd\xe8\xc2" , "\x6c\xa1" } , { "\xbd\xe8\xc2\xda" , "\x6d\xdb\xa1" } , { "\xbd\xe8\xc2\xdb\xa2" , "\x6e\xa1\x4d" } , { "\xbd\xe8\xc2\xdc" , "\x6e\xa1\xde" } , { "\xbd\xe8\xc2\xdd" , "\x6c\xdf\xa1" } , { "\xbd\xe8\xc2\xdd\xa2" , "\x6c\xdf\xa1\x4d" } , { "\xbd\xe8\xc2\xde" , "\x6c\xe0\xa1" } , { "\xbd\xe8\xc2\xe0" , "\x6d\xe6\xa1" } , { "\xbd\xe8\xc2\xe1" , "\x6d\xe6\xa1\xde" } , { "\xbd\xe8\xc2\xe4" , "\x6d\xe6\xe0\xa1" } , { "\xbd\xe8\xc2\xe5" , "\x6d\xe6\xe0\xa1\xde" } , { "\xbd\xe8\xc2\xe5\xa2" , "\x6d\xe6\xe0\xa1\xde\x4d" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\x6e\xa1\xf0\x4d" } , { "\xbd\xe8\xc2\xe8\xcf\xe0" , "\x6d\xe6\xa1\xf0" } , { "\xbd\xe8\xc4" , "\x6c\xa7" } , { "\xbd\xe8\xc4\xda" , "\x6d\xdb\xa7" } , { "\xbd\xe8\xc4\xe0" , "\x6d\xe6\xa7" } , { "\xbd\xe8\xc4\xe8\xd4\xda" , "\x6d\xdb\xa7\xf5\xca" } , { "\xbd\xe8\xc5" , "\x6c\xaa" } , { "\xbd\xe8\xc6" , "\x6c\xad" } , { "\xbd\xe8\xc6\xa2" , "\x6c\xad\x4d" } , { "\xbd\xe8\xc6\xda" , "\x6d\xdb\xad" } , { "\xbd\xe8\xc6\xdb" , "\x6e\xad" } , { "\xbd\xe8\xc6\xdb\xa2" , "\x6e\xad\x4d" } , { "\xbd\xe8\xc6\xdc" , "\x6e\xad\xde" } , { "\xbd\xe8\xc6\xdc\xa2" , "\x6e\xad\xde\x4d" } , { "\xbd\xe8\xc6\xdd" , "\x6c\xdf\xad" } , { "\xbd\xe8\xc6\xdd\xa2" , "\x6c\xdf\xad\x4d" } , { "\xbd\xe8\xc6\xde" , "\x6c\xe0\xad" } , { "\xbd\xe8\xc6\xe0" , "\x6d\xe6\xad" } , { "\xbd\xe8\xc6\xe1" , "\x6d\xe6\xad\xde" } , { "\xbd\xe8\xc6\xe1\xa2" , "\x6d\xe6\xad\xde\x4d" } , { "\xbd\xe8\xc6\xe5" , "\x6d\xe6\xe0\xad\xde" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x6c\xe0\xad\x3d\xc0" } , { "\xbd\xe8\xc8" , "\x6c\xb0" } , { "\xbd\xe8\xc8\xda" , "\x6d\xdb\xb0" } , { "\xbd\xe8\xc8\xdb" , "\x6e\xb0" } , { "\xbd\xe8\xc8\xdd" , "\x6c\xdf\xb0" } , { "\xbd\xe8\xc8\xde" , "\x6c\xe0\xb0" } , { "\xbd\xe8\xc8\xe1" , "\x6d\xe6\xb0\xde" } , { "\xbd\xe8\xc8\xe2" , "\x6d\xe6\xb0\x3e\xe7" } , { "\xbd\xe8\xc8\xe8\xcf" , "\x6c\xb0\xf1" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\x6d\xdb\xb0\xf1" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\x6d\xe6\xb0\xfe\xc7\xde" } , { "\xbd\xe8\xc9" , "\x6c\xb5" } , { "\xbd\xe8\xc9\xa2" , "\x6c\xb5\x4d" } , { "\xbd\xe8\xc9\xda" , "\x6d\xdb\xb5" } , { "\xbd\xe8\xc9\xda\xa2" , "\x6d\xdb\xb5\x4d" } , { "\xbd\xe8\xc9\xdb" , "\x6e\xb5" } , { "\xbd\xe8\xc9\xdc" , "\x6e\xb5\xde" } , { "\xbd\xe8\xc9\xdd" , "\x6c\xdf\xb5" } , { "\xbd\xe8\xc9\xe2" , "\x6d\xe6\xb5\x3e\xe7" } , { "\xbd\xe8\xc9\xe5" , "\x6d\xe6\xe0\xb5\xde" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x6d\xdb\xb5\x3d\xc0" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\x6d\xe6\xb5\xf1\x3e\xe7" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\x6d\xe6\xb5\xfe\xc7\xf5\xe7" } , { "\xbd\xe8\xca" , "\x6c\xb9" } , { "\xbd\xe8\xca\xda" , "\x6d\xdb\xb9" } , { "\xbd\xe8\xca\xda\xa2" , "\x6d\xdb\xb9\x4d" } , { "\xbd\xe8\xca\xdd" , "\x6c\xdf\xb9" } , { "\xbd\xe8\xca\xe0" , "\x6d\xe6\xb9" } , { "\xbd\xe8\xca\xe5" , "\x6d\xe6\xe0\xb9\xde" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x6d\xdb\xb9\x3d\xc0" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x6d\xdb\xb9\x3d\xc0\x4d" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\x6d\xdb\xb9\xfe\xc7" } , { "\xbd\xe8\xcb\xdd" , "\x6c\xdf\xbc" } , { "\xbd\xe8\xcb\xde" , "\x6c\xe0\xbc" } , { "\xbd\xe8\xcb\xe8\xcf" , "\x6c\xbc\xf1" } , { "\xbd\xe8\xcc" , "\x6c\xbd" } , { "\xbd\xe8\xcc\xa2" , "\x6c\xbd\x4d" } , { "\xbd\xe8\xcc\xda" , "\x6d\xdb\xbd" } , { "\xbd\xe8\xcc\xdc" , "\x6e\xbd\xde" } , { "\xbd\xe8\xcc\xe0" , "\x6d\xe6\xbd" } , { "\xbd\xe8\xcc\xe0\xa2" , "\x6d\xe6\xbd\x4d" } , { "\xbd\xe8\xcc\xe2" , "\x6d\xe6\xbd\xfd\xe7" } , { "\xbd\xe8\xcc\xe4" , "\x6d\xe6\xe0\xbd" } , { "\xbd\xe8\xcc\xe5" , "\x6d\xe6\xe0\xbd\xde" } , { "\xbd\xe8\xcc\xe8\xca" , "\x6c\xbd\xfd\xb9" } , { "\xbd\xe8\xcd" , "\x6c\xc0" } , { "\xbd\xe8\xcd\xa2" , "\x6c\xc0\x4d" } , { "\xbd\xe8\xcd\xda" , "\x6d\xdb\xc0" } , { "\xbd\xe8\xcd\xda\xa2" , "\x6d\xdb\xc0\x4d" } , { "\xbd\xe8\xcd\xdc\xa2" , "\x6e\xc0\xde\x4d" } , { "\xbd\xe8\xcd\xdd" , "\x6c\xdf\xc0" } , { "\xbd\xe8\xcd\xde" , "\x6c\xe0\xc0" } , { "\xbd\xe8\xcd\xde\xa2" , "\x6c\xe0\xc0\x4d" } , { "\xbd\xe8\xcd\xe1" , "\x6d\xe6\xc0\xde" } , { "\xbd\xe8\xcd\xe4" , "\x6d\xe6\xe0\xc0" } , { "\xbd\xe8\xcd\xe5" , "\x6d\xe6\xe0\xc0\xde" } , { "\xbd\xe8\xcd\xe5\xa2" , "\x6d\xe6\xe0\xc0\xde\x4d" } , { "\xbd\xe8\xcf" , "\x6c\xc3" } , { "\xbd\xe8\xcf\xa2" , "\x6c\xc3\x4d" } , { "\xbd\xe8\xcf\xda" , "\x6d\xdb\xc3" } , { "\xbd\xe8\xcf\xda\xa1" , "\x6d\xdb\xc3\x4d" } , { "\xbd\xe8\xcf\xda\xa2" , "\x6d\xdb\xc3\x4d" } , { "\xbd\xe8\xcf\xdb" , "\x6e\xc3" } , { "\xbd\xe8\xcf\xdb\xa2" , "\x6e\xc3\x4d" } , { "\xbd\xe8\xcf\xdc" , "\x6e\xc3\xde" } , { "\xbd\xe8\xcf\xdd" , "\x6c\xdf\xc3" } , { "\xbd\xe8\xcf\xde" , "\x6c\xe0\xc3" } , { "\xbd\xe8\xcf\xe0" , "\x6d\xe6\xc3" } , { "\xbd\xe8\xcf\xe0\xa2" , "\x6d\xe6\xc3\x4d" } , { "\xbd\xe8\xcf\xe1" , "\x6d\xe6\xc3\xde" } , { "\xbd\xe8\xcf\xe1\xa2" , "\x6d\xe6\xc3\xde\x4d" } , { "\xbd\xe8\xcf\xe2" , "\x6d\xe6\xee" } , { "\xbd\xe8\xcf\xe2\xa2" , "\x6d\xe6\xee\x4d" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\x6d\xe6\xee\xab\xe9" } , { "\xbd\xe8\xcf\xe4" , "\x6d\xe6\xe0\xc3" } , { "\xbd\xe8\xcf\xe5" , "\x6d\xe6\xe0\xc3\xde" } , { "\xbd\xe8\xcf\xe6" , "\x6d\xe8\xc3" } , { "\xbd\xe8\xcf\xe7" , "\x6d\xe6\xe0\xc3" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\x6e\xc3\x3d\x51" } , { "\xbd\xe8\xcf\xe8\xc6" , "\x6c\xc3\x3e\xad" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x6c\xc3\x3e\xd3" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x6d\xe9\xc3\x3e\xd3" } , { "\xbd\xe8\xd1" , "\x6c\xc7" } , { "\xbd\xe8\xd1\xa2" , "\x6c\xc7\x4d" } , { "\xbd\xe8\xd1\xda" , "\x6d\xdb\xc7" } , { "\xbd\xe8\xd1\xda\xa2" , "\x6d\xdb\xc7\x4d" } , { "\xbd\xe8\xd1\xdb" , "\x6e\xc7" } , { "\xbd\xe8\xd1\xdb\xa2" , "\x6e\xc7\x4d" } , { "\xbd\xe8\xd1\xdc" , "\x6e\xc7\xde" } , { "\xbd\xe8\xd1\xdd" , "\x6c\xdf\xc7" } , { "\xbd\xe8\xd1\xdd\xa2" , "\x6c\xdf\xc7\x4d" } , { "\xbd\xe8\xd1\xde" , "\x6c\xe0\xc7" } , { "\xbd\xe8\xd1\xe0" , "\x6d\xe6\xc7" } , { "\xbd\xe8\xd1\xe0\xa2" , "\x6d\xe6\xc7\x4d" } , { "\xbd\xe8\xd1\xe1" , "\x6d\xe6\xc7\xde" } , { "\xbd\xe8\xd1\xe2" , "\x6d\xe6\xc7\xf5\xe7" } , { "\xbd\xe8\xd1\xe2\xa2" , "\x6d\xe6\xc7\xf5\xe7\x4d" } , { "\xbd\xe8\xd1\xe4" , "\x6d\xe6\xe0\xc7" } , { "\xbd\xe8\xd1\xe5" , "\x6d\xe6\xe0\xc7\xde" } , { "\xbd\xe8\xd1\xe5\xa2" , "\x6d\xe6\xe0\xc7\xde\x4d" } , { "\xbd\xe8\xd1\xe8" , "\x6d\xe9\xc7" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\x6c\xdf\xc7\xf5\xad" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x6d\xdb\xc7\xf4\xc0\x4d" } , { "\xbd\xe8\xd2\xdd" , "\x6c\xdf\xd9" } , { "\xbd\xe8\xd4" , "\x6c\xca" } , { "\xbd\xe8\xd4\xa2" , "\x6c\xca\x4d" } , { "\xbd\xe8\xd4\xda" , "\x6d\xdb\xca" } , { "\xbd\xe8\xd4\xda\xa2" , "\x6d\xdb\xca\x4d" } , { "\xbd\xe8\xd4\xdb" , "\x6e\xca" } , { "\xbd\xe8\xd4\xdb\xa2" , "\x6e\xca\x4d" } , { "\xbd\xe8\xd4\xdc" , "\x6e\xca\xde" } , { "\xbd\xe8\xd4\xe0" , "\x6d\xe6\xca" } , { "\xbd\xe8\xd4\xe1" , "\x6d\xe6\xca\xde" } , { "\xbd\xe8\xd4\xe2" , "\x6d\xe6\xca\x3e\xe7" } , { "\xbd\xe8\xd5" , "\x6c\xcd" } , { "\xbd\xe8\xd5\xda" , "\x6d\xdb\xcd" } , { "\xbd\xe8\xd5\xdb" , "\x6e\xcd" } , { "\xbd\xe8\xd6\xdb" , "\x6e\xd0" } , { "\xbd\xe8\xd6\xdc" , "\x6e\xd0\xde" } , { "\xbd\xe8\xd6\xdd" , "\x6c\xdf\xd0" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\x6e\xd0\xfe\xc7" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\x6e\xd0\xfe\xc7\xde" } , { "\xbd\xe8\xd7" , "\x6c\xd3" } , { "\xbd\xe8\xd7\xda" , "\x6d\xdb\xd3" } , { "\xbd\xe8\xd7\xdb" , "\x6e\xd3" } , { "\xbd\xe8\xd7\xdb\xa2" , "\x6e\xd3\x4d" } , { "\xbd\xe8\xd7\xdd" , "\x6c\xdf\xd3" } , { "\xbd\xe8\xd7\xde" , "\x6c\xe0\xd3" } , { "\xbd\xe8\xd7\xe0" , "\x6d\xe6\xd3" } , { "\xbd\xe8\xd7\xe1" , "\x6d\xe6\xd3\xde" } , { "\xbd\xe8\xd7\xe2" , "\x6d\xe6\xd3\x3e\xe7" } , { "\xbd\xe8\xd7\xe5" , "\x6d\xe6\xe0\xd3\xde" } , { "\xbd\xe8\xd7\xe8" , "\x6d\xe9\xd3" } , { "\xbd\xe8\xd7\xe8\xb3" , "\x6c\xd3\x3d\x51" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\x6e\xd3\x3d\x51" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\x6e\xd3\x3d\x51\xde" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\x6c\xdf\xd3\x3d\x51" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x6d\xdb\xd3\xfe\x58" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\x6e\xd3\x3e\x60" } , { "\xbd\xe8\xd7\xe8\xb8\xe0" , "\x6d\xe6\xd3\x3e\x60" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x6c\xd3\x3e\x6f" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x6d\xdb\xd3\x3e\x6f" } , { "\xbd\xe8\xd7\xe8\xbd\xe0" , "\x6d\xe6\xd3\x3e\x6f" } , { "\xbd\xe8\xd7\xe8\xbd\xe0\xa2" , "\x6d\xe6\xd3\x3e\x6f\x4d" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\x6d\xe6\xe0\xd3\xfe\xa1\xde" } , { "\xbd\xe8\xd7\xe8\xc3" , "\x6c\xd3\xfe\xa4" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x6c\xd3\xfe\xa7" } , { "\xbd\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\x6d\xdb\xd3\xfe\xa7\xf5\xca" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\x6e\xd3\x3e\xad" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\x6c\xdf\xd3\x3e\xad" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\x6c\xdf\xd3\x3e\xad\x4d" } , { "\xbd\xe8\xd7\xe8\xca" , "\x6c\xd3\x3e\xb9" } , { "\xbd\xe8\xd7\xe8\xcc" , "\x6c\xd3\x3d\xbd" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\x6e\xd3\x3d\xbd" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\x6d\xe6\xd3\x3d\xbd\xde" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x6c\xd3\x3d\xc0\x4d" } , { "\xbd\xe8\xd7\xe8\xd1" , "\x6c\xd3\xfe\xc7" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\x6d\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xbd\xe8\xd7\xe8\xd4" , "\x6c\xd3\x3e\xca" } , { "\xbd\xe8\xd7\xe8\xd4\xdb\xa2" , "\x6e\xd3\x3e\xca\x4d" } , { "\xbd\xe8\xd7\xe8\xd4\xe5" , "\x6d\xe6\xe0\xd3\x3e\xca\xde" } , { "\xbd\xe8\xd8\xda" , "\x6d\xdb\xd6" } , { "\xbd\xe8\xd8\xdc" , "\x6e\xd6\xde" } , { "\xbd\xe8\xd8\xde" , "\x6c\xe0\xd6" } , { "\xbd\xe8\xd8\xe0" , "\x6d\xe6\xd6" } , { "\xbd\xe8\xd8\xe5" , "\x6d\xe6\xe0\xd6\xde" } , { "\xbd\xe8\xd8\xe6" , "\x6d\xe8\xd6" } , { "\xbd\xe8\xd9\xa6" , "\x6c\x42" } , { "\xbd\xe8\xd9\xbd" , "\x6c\x6c" } , { "\xbd\xe8\xd9\xbd\xda" , "\x6c\x6d\xdb" } , { "\xbd\xe8\xd9\xbd\xdc" , "\x6c\x6e\xde" } , { "\xbd\xe8\xd9\xbd\xe5" , "\x6c\x6d\xe6\xe0\xde" } , { "\xbd\xe8\xd9\xbe\xdc" , "\x6c\x71\xde" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\x6c\xbe\xda\xdf\xe0\x4d" } , { "\xbd\xe8\xd9\xd7" , "\x6c\xd1\xda" } , { "\xbd\xe8\xe8" , "\x6d\xe9" } , { "\xbe" , "\x70\xda" } , { "\xbe\xa2" , "\x70\xda\x4d" } , { "\xbe\xa3" , "\x70\xda\x4e" } , { "\xbe\xda" , "\x70\xdb" } , { "\xbe\xda\xa1" , "\x70\xdb\x4d" } , { "\xbe\xda\xa2" , "\x70\xdb\x4d" } , { "\xbe\xdb" , "\x71" } , { "\xbe\xdb\xa2" , "\x71\x4d" } , { "\xbe\xdc" , "\x71\xde" } , { "\xbe\xdc\xa2" , "\x71\xde\x4d" } , { "\xbe\xdd" , "\x70\xda\xdf" } , { "\xbe\xdd\xa2" , "\x70\xda\xdf\x4d" } , { "\xbe\xde" , "\x70\xda\xe0" } , { "\xbe\xde\xa1" , "\x70\xda\xe0\x4d" } , { "\xbe\xde\xa2" , "\x70\xda\xe0\x4d" } , { "\xbe\xdf" , "\x70\xda\xe4" } , { "\xbe\xe0" , "\x70\xe6" } , { "\xbe\xe1" , "\x70\xe6\xde" } , { "\xbe\xe1\xa2" , "\x70\xe6\xde\x4d" } , { "\xbe\xe2" , "\x70\xe6\xe7" } , { "\xbe\xe2\xa2" , "\x70\xe6\xe7\x4d" } , { "\xbe\xe3" , "\x70\xe6" } , { "\xbe\xe4" , "\x70\xe6\xe0" } , { "\xbe\xe5" , "\x70\xe6\xe0\xde" } , { "\xbe\xe5\xa2" , "\x70\xe6\xe0\xde\x4d" } , { "\xbe\xe6" , "\x70\xe8" } , { "\xbe\xe8" , "\x70\xe9" } , { "\xbe\xe8\xb3" , "\x70\xda\x51" } , { "\xbe\xe8\xb3\xdd" , "\x70\xda\xdf\x51" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x70\xda\x51\xf0" } , { "\xbe\xe8\xb5\xe5" , "\x70\xe6\xe0\x58\xde" } , { "\xbe\xe8\xb8" , "\x70\xda\x60" } , { "\xbe\xe8\xbd" , "\x70\xda\x6f" } , { "\xbe\xe8\xbd\xda" , "\x70\xdb\x6f" } , { "\xbe\xe8\xbd\xdb" , "\x71\x6f" } , { "\xbe\xe8\xbd\xdc" , "\x71\x6f\xde" } , { "\xbe\xe8\xbe" , "\x70\xda\x72" } , { "\xbe\xe8\xbe\xda" , "\x70\xdb\x72" } , { "\xbe\xe8\xbe\xdb" , "\x71\x72" } , { "\xbe\xe8\xbe\xdc" , "\x71\x72\xde" } , { "\xbe\xe8\xbe\xe1" , "\x70\xe6\x72\xde" } , { "\xbe\xe8\xbe\xe5" , "\x70\xe6\xe0\x72\xde" } , { "\xbe\xe8\xc6" , "\x70\xda\xad" } , { "\xbe\xe8\xc8\xda" , "\x70\xdb\xb0" } , { "\xbe\xe8\xcd" , "\x70\xda\xc0" } , { "\xbe\xe8\xcd\xa2" , "\x70\xda\xc0\x4d" } , { "\xbe\xe8\xcd\xda" , "\x70\xdb\xc0" } , { "\xbe\xe8\xcd\xda\xa1" , "\x70\xdb\xc0\x4d" } , { "\xbe\xe8\xcd\xda\xa2" , "\x70\xdb\xc0\x4d" } , { "\xbe\xe8\xcd\xe1" , "\x70\xe6\xc0\xde" } , { "\xbe\xe8\xcd\xe5" , "\x70\xe6\xe0\xc0\xde" } , { "\xbe\xe8\xcd\xe5\xa2" , "\x70\xe6\xe0\xc0\xde\x4d" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x70\xda\xc0\xfc\xc0" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x70\xda\xc0\xf0" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x70\xdb\xc0\xfc\xcd" } , { "\xbe\xe8\xcf\xda" , "\x70\xdb\xc3" } , { "\xbe\xe8\xd1\xdd" , "\x70\xda\xdf\xc7" } , { "\xbe\xe8\xd4\xda" , "\x70\xdb\xca" } , { "\xbe\xe8\xd9\xcd" , "\x70\xda\xbe\xda\xdf" } , { "\xbe\xe8\xe8" , "\x70\xe9" } , { "\xbf" , "\x73\xda" } , { "\xbf\xa1" , "\x73\xda\x4d" } , { "\xbf\xa2" , "\x73\xda\x4d" } , { "\xbf\xa2\xa2" , "\x73\xda\x4d\x4d" } , { "\xbf\xa3" , "\x73\xda\x4e" } , { "\xbf\xda" , "\x73\xdb" } , { "\xbf\xda\xa1" , "\x73\xdb\x4d" } , { "\xbf\xda\xa2" , "\x73\xdb\x4d" } , { "\xbf\xda\xa3" , "\x73\xdb\x4e" } , { "\xbf\xdb" , "\x74" } , { "\xbf\xdb\xa2" , "\x74\x4d" } , { "\xbf\xdb\xa3" , "\x74\x4e" } , { "\xbf\xdc" , "\x74\xde" } , { "\xbf\xdc\xa2" , "\x74\xde\x4d" } , { "\xbf\xdd" , "\x73\xda\xdf" } , { "\xbf\xdd\xa2" , "\x73\xda\xdf\x4d" } , { "\xbf\xde" , "\x73\xda\xe0" } , { "\xbf\xde\xa1" , "\x73\xda\xe0\x4d" } , { "\xbf\xde\xa2" , "\x73\xda\xe0\x4d" } , { "\xbf\xdf" , "\x73\xda\xe4" } , { "\xbf\xe0" , "\x73\xe6" } , { "\xbf\xe0\xa1" , "\x73\xe6\x4d" } , { "\xbf\xe0\xa2" , "\x73\xe6\x4d" } , { "\xbf\xe1" , "\x73\xe6\xde" } , { "\xbf\xe1\xa2" , "\x73\xe6\xde\x4d" } , { "\xbf\xe2" , "\x73\xe6\xe7" } , { "\xbf\xe2\xa2" , "\x73\xe6\xe7\x4d" } , { "\xbf\xe2\xa3" , "\x73\xe6\xe7\x4e" } , { "\xbf\xe4" , "\x73\xe6\xe0" } , { "\xbf\xe4\xa2" , "\x73\xe6\xe0\x4d" } , { "\xbf\xe5" , "\x73\xe6\xe0\xde" } , { "\xbf\xe5\xa2" , "\x73\xe6\xe0\xde\x4d" } , { "\xbf\xe6" , "\x73\xe8" } , { "\xbf\xe6\xa2" , "\x73\xe8\x4d" } , { "\xbf\xe7" , "\x73\xe6\xe0" } , { "\xbf\xe7\xa2" , "\x73\xe6\xe0\x4d" } , { "\xbf\xe8" , "\x73\xe9" } , { "\xbf\xe8\xb3" , "\x73\xda\x51" } , { "\xbf\xe8\xb3\xa2" , "\x73\xda\x51\x4d" } , { "\xbf\xe8\xb3\xda" , "\x73\xdb\x51" } , { "\xbf\xe8\xb3\xdb" , "\x74\x51" } , { "\xbf\xe8\xb3\xdc" , "\x74\x51\xde" } , { "\xbf\xe8\xb3\xdd" , "\x73\xda\xdf\x51" } , { "\xbf\xe8\xb3\xde" , "\x73\xda\xe0\x51" } , { "\xbf\xe8\xb3\xe1" , "\x73\xe6\x51\xde" } , { "\xbf\xe8\xb3\xe4" , "\x73\xe6\xe0\x51" } , { "\xbf\xe8\xb3\xe5" , "\x73\xe6\xe0\x51\xde" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x73\xdb\x51\xfa\x58" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\x73\xdb\x51\xf0" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\x73\xe6\xe0\x51\xfa\xc7\xde" } , { "\xbf\xe8\xb3\xe8\xd4\xda" , "\x73\xdb\x51\xfd\xca" } , { "\xbf\xe8\xb4" , "\x73\xda\x55" } , { "\xbf\xe8\xb5" , "\x73\xda\x58" } , { "\xbf\xe8\xb5\xa2" , "\x73\xda\x58\x4d" } , { "\xbf\xe8\xb5\xda" , "\x73\xdb\x58" } , { "\xbf\xe8\xb5\xdb" , "\x74\x58" } , { "\xbf\xe8\xb5\xdd" , "\x73\xda\xdf\x58" } , { "\xbf\xe8\xb5\xde" , "\x73\xda\xe0\x58" } , { "\xbf\xe8\xb5\xe0" , "\x73\xe6\x58" } , { "\xbf\xe8\xb5\xe1" , "\x73\xe6\x58\xde" } , { "\xbf\xe8\xb5\xe5\xa2" , "\x73\xe6\xe0\x58\xde\x4d" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\x73\xdb\x58\xf0" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\x73\xdb\x58\xf2\xc7" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\x73\xe6\x58\xf2\xc7\xf5\xe7" } , { "\xbf\xe8\xb6" , "\x73\xda\x5b" } , { "\xbf\xe8\xb8" , "\x73\xda\x60" } , { "\xbf\xe8\xb8\xda" , "\x73\xdb\x60" } , { "\xbf\xe8\xb8\xda\xa2" , "\x73\xdb\x60\x4d" } , { "\xbf\xe8\xb8\xdb" , "\x74\x60" } , { "\xbf\xe8\xb8\xdb\xa2" , "\x74\x60\x4d" } , { "\xbf\xe8\xb8\xdc" , "\x74\x60\xde" } , { "\xbf\xe8\xb8\xdd" , "\x73\xda\xdf\x60" } , { "\xbf\xe8\xb8\xe0" , "\x73\xe6\x60" } , { "\xbf\xe8\xb8\xe1" , "\x73\xe6\x60\xde" } , { "\xbf\xe8\xb8\xe1\xa2" , "\x73\xe6\x60\xde\x4d" } , { "\xbf\xe8\xb9\xda\xa2" , "\x73\xdb\x63\x4d" } , { "\xbf\xe8\xba" , "\x73\xda\x67" } , { "\xbf\xe8\xba\xa2" , "\x73\xda\x67\x4d" } , { "\xbf\xe8\xba\xda" , "\x73\xdb\x67" } , { "\xbf\xe8\xba\xdb" , "\x74\x67" } , { "\xbf\xe8\xba\xdb\xa2" , "\x74\x67\x4d" } , { "\xbf\xe8\xba\xdc" , "\x74\x67\xde" } , { "\xbf\xe8\xba\xdd" , "\x73\xda\xdf\x67" } , { "\xbf\xe8\xba\xe0" , "\x73\xe6\x67" } , { "\xbf\xe8\xba\xe1" , "\x73\xe6\x67\xde" } , { "\xbf\xe8\xba\xe2" , "\x73\xe6\x67\xf5\xe7" } , { "\xbf\xe8\xba\xe5" , "\x73\xe6\xe0\x67\xde" } , { "\xbf\xe8\xba\xe8" , "\x73\xe9\x67" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\x74\x67\xf4\x51" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x73\xdb\x67\xf2\x58" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\x74\x67\xf5\xad" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\x73\xda\xdf\x67\xf5\xad" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\x73\xe9\x67\xf5\xad" } , { "\xbf\xe8\xba\xe8\xcc\xe0\xa2" , "\x73\xe6\x67\xf4\xbd\x4d" } , { "\xbf\xe8\xba\xe8\xcd" , "\x73\xda\x67\xf4\xc0" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x73\xdb\x67\xf4\xc0" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x73\xda\xe0\x67\xf4\xc0" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\x73\xe6\xe0\x67\xf2\xc7\xde" } , { "\xbf\xe8\xba\xe8\xd4\xdb" , "\x74\x67\xf5\xca" } , { "\xbf\xe8\xba\xe9" , "\x73\xda\x67" } , { "\xbf\xe8\xbc" , "\x73\xda\x6b" } , { "\xbf\xe8\xbd" , "\x73\xda\x6f" } , { "\xbf\xe8\xbd\xa2" , "\x73\xda\x6f\x4d" } , { "\xbf\xe8\xbd\xda\xa2" , "\x73\xdb\x6f\x4d" } , { "\xbf\xe8\xbd\xdb" , "\x74\x6f" } , { "\xbf\xe8\xbd\xdd" , "\x73\xda\xdf\x6f" } , { "\xbf\xe8\xbd\xe0" , "\x73\xe6\x6f" } , { "\xbf\xe8\xbd\xe1" , "\x73\xe6\x6f\xde" } , { "\xbf\xe8\xbd\xe8" , "\x73\xe9\x6f" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\x73\xda\x6f\xf1\x4d" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\x73\xdb\x6f\xf1" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\x73\xe6\x6f\xf1\x3e\xe7" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x73\xda\x6f\x3e\xd3" } , { "\xbf\xe8\xbf" , "\x73\xda\x75" } , { "\xbf\xe8\xbf\xa2" , "\x73\xda\x75\x4d" } , { "\xbf\xe8\xbf\xa3" , "\x73\xda\x75\x4e" } , { "\xbf\xe8\xbf\xda" , "\x73\xdb\x75" } , { "\xbf\xe8\xbf\xda\xa2" , "\x73\xdb\x75\x4d" } , { "\xbf\xe8\xbf\xdb" , "\x74\x75" } , { "\xbf\xe8\xbf\xdb\xa2" , "\x74\x75\x4d" } , { "\xbf\xe8\xbf\xdc" , "\x74\x75\xde" } , { "\xbf\xe8\xbf\xdd" , "\x73\xda\xdf\x75" } , { "\xbf\xe8\xbf\xdd\xa2" , "\x73\xda\xdf\x75\x4d" } , { "\xbf\xe8\xbf\xde" , "\x73\xda\xe0\x75" } , { "\xbf\xe8\xbf\xe0" , "\x73\xe6\x75" } , { "\xbf\xe8\xbf\xe1" , "\x73\xe6\x75\xde" } , { "\xbf\xe8\xbf\xe2" , "\x73\xe6\x75\xf5\xe7" } , { "\xbf\xe8\xbf\xe4" , "\x73\xe6\xe0\x75" } , { "\xbf\xe8\xbf\xe5" , "\x73\xe6\xe0\x75\xde" } , { "\xbf\xe8\xbf\xe5\xa2" , "\x73\xe6\xe0\x75\xde\x4d" } , { "\xbf\xe8\xbf\xe8" , "\x73\xe9\x75" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x73\xda\xdf\x75\xf4\x51" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\x74\x75\xf2\x75" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\x73\xda\xdf\x75\xf2\xc7" } , { "\xbf\xe8\xbf\xe9\xdc" , "\x74\x75\xde" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\x73\xe6\xe0\x75\xde\x4d" } , { "\xbf\xe8\xc0" , "\x73\xda\x78" } , { "\xbf\xe8\xc0\xa2" , "\x73\xda\x78\x4d" } , { "\xbf\xe8\xc0\xda" , "\x73\xdb\x78" } , { "\xbf\xe8\xc0\xdc" , "\x74\x78\xde" } , { "\xbf\xe8\xc0\xdd" , "\x73\xda\xdf\x78" } , { "\xbf\xe8\xc0\xe1" , "\x73\xe6\x78\xde" } , { "\xbf\xe8\xc0\xe5\xa2" , "\x73\xe6\xe0\x78\xde\x4d" } , { "\xbf\xe8\xc0\xe9\xda" , "\x73\xdb\x78" } , { "\xbf\xe8\xc0\xe9\xe1" , "\x73\xe6\x78\xde" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\x73\xe6\xe0\x78\xde\x4d" } , { "\xbf\xe8\xc1" , "\x73\xda\x7c" } , { "\xbf\xe8\xc2" , "\x73\xda\xa1" } , { "\xbf\xe8\xc2\xa2" , "\x73\xda\xa1\x4d" } , { "\xbf\xe8\xc2\xda" , "\x73\xdb\xa1" } , { "\xbf\xe8\xc2\xdb" , "\x74\xa1" } , { "\xbf\xe8\xc2\xdd" , "\x73\xda\xdf\xa1" } , { "\xbf\xe8\xc2\xdd\xa2" , "\x73\xda\xdf\xa1\x4d" } , { "\xbf\xe8\xc2\xde" , "\x73\xda\xe0\xa1" } , { "\xbf\xe8\xc2\xde\xa2" , "\x73\xda\xe0\xa1\x4d" } , { "\xbf\xe8\xc2\xe0" , "\x73\xe6\xa1" } , { "\xbf\xe8\xc2\xe1" , "\x73\xe6\xa1\xde" } , { "\xbf\xe8\xc2\xe5" , "\x73\xe6\xe0\xa1\xde" } , { "\xbf\xe8\xc2\xe5\xa2" , "\x73\xe6\xe0\xa1\xde\x4d" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\x73\xe6\xa1\xf0\x3e\xe7" } , { "\xbf\xe8\xc4\xda" , "\x73\xdb\xa7" } , { "\xbf\xe8\xc4\xdb" , "\x74\xa7" } , { "\xbf\xe8\xc4\xdd" , "\x73\xda\xdf\xa7" } , { "\xbf\xe8\xc4\xe0" , "\x73\xe6\xa7" } , { "\xbf\xe8\xc4\xe8\xd4\xda" , "\x73\xdb\xa7\xf5\xca" } , { "\xbf\xe8\xc5" , "\x73\xda\xaa" } , { "\xbf\xe8\xc6" , "\x73\xda\xad" } , { "\xbf\xe8\xc6\xa2" , "\x73\xda\xad\x4d" } , { "\xbf\xe8\xc6\xda" , "\x73\xdb\xad" } , { "\xbf\xe8\xc6\xdb" , "\x74\xad" } , { "\xbf\xe8\xc6\xdb\xa2" , "\x74\xad\x4d" } , { "\xbf\xe8\xc6\xdc" , "\x74\xad\xde" } , { "\xbf\xe8\xc6\xdd" , "\x73\xda\xdf\xad" } , { "\xbf\xe8\xc6\xdd\xa2" , "\x73\xda\xdf\xad\x4d" } , { "\xbf\xe8\xc6\xe0" , "\x73\xe6\xad" } , { "\xbf\xe8\xc6\xe1" , "\x73\xe6\xad\xde" } , { "\xbf\xe8\xc6\xe2" , "\x73\xe6\xad\x3e\xe7" } , { "\xbf\xe8\xc6\xe5" , "\x73\xe6\xe0\xad\xde" } , { "\xbf\xe8\xc6\xe6" , "\x73\xe8\xad" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\x73\xda\xad\xfe\xa1\x4d" } , { "\xbf\xe8\xc8" , "\x73\xda\xb0" } , { "\xbf\xe8\xc8\xa2" , "\x73\xda\xb0\x4d" } , { "\xbf\xe8\xc8\xda" , "\x73\xdb\xb0" } , { "\xbf\xe8\xc8\xdb\xa2" , "\x74\xb0\x4d" } , { "\xbf\xe8\xc8\xdd" , "\x73\xda\xdf\xb0" } , { "\xbf\xe8\xc8\xde" , "\x73\xda\xe0\xb0" } , { "\xbf\xe8\xc8\xe2" , "\x73\xe6\xb0\x3e\xe7" } , { "\xbf\xe8\xc8\xe4" , "\x73\xe6\xe0\xb0" } , { "\xbf\xe8\xc8\xe5" , "\x73\xe6\xe0\xb0\xde" } , { "\xbf\xe8\xc8\xe8\xcf" , "\x73\xda\xb0\xf1" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\x74\xb0\xf1" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\x73\xda\xe0\xb0\xf1" } , { "\xbf\xe8\xc8\xe8\xcf\xe0" , "\x73\xe6\xb0\xf1" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\x73\xdb\xb0\xfe\xc7" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\x73\xe6\xb0\xfe\xc7\xde" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\x73\xe6\xe0\xb0\xfe\xc7\xde" } , { "\xbf\xe8\xc9\xda" , "\x73\xdb\xb5" } , { "\xbf\xe8\xc9\xdb" , "\x74\xb5" } , { "\xbf\xe8\xc9\xdc" , "\x74\xb5\xde" } , { "\xbf\xe8\xc9\xdd" , "\x73\xda\xdf\xb5" } , { "\xbf\xe8\xc9\xe0" , "\x73\xe6\xb5" } , { "\xbf\xe8\xc9\xe2" , "\x73\xe6\xb5\x3e\xe7" } , { "\xbf\xe8\xc9\xe5" , "\x73\xe6\xe0\xb5\xde" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\x74\xb5\xf1\xde" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\x73\xe6\xe0\xb5\xfe\xc7\xde" } , { "\xbf\xe8\xca" , "\x73\xda\xb9" } , { "\xbf\xe8\xca\xa2" , "\x73\xda\xb9\x4d" } , { "\xbf\xe8\xca\xda" , "\x73\xdb\xb9" } , { "\xbf\xe8\xca\xdb" , "\x74\xb9" } , { "\xbf\xe8\xca\xdc" , "\x74\xb9\xde" } , { "\xbf\xe8\xca\xdd" , "\x73\xda\xdf\xb9" } , { "\xbf\xe8\xca\xe0" , "\x73\xe6\xb9" } , { "\xbf\xe8\xca\xe2" , "\x73\xe6\xb9\x3e\xe7" } , { "\xbf\xe8\xca\xe5" , "\x73\xe6\xe0\xb9\xde" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\x74\xb9\x3e\xb9\xde" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x73\xdb\xb9\x3d\xc0" } , { "\xbf\xe8\xca\xe8\xcf" , "\x73\xda\xb9\xf1" } , { "\xbf\xe8\xca\xe8\xcf\xe0" , "\x73\xe6\xb9\xf1" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\x73\xda\xe0\xb9\xfe\xc7\xf4\xc0" } , { "\xbf\xe8\xcb\xda" , "\x73\xdb\xbc" } , { "\xbf\xe8\xcb\xdd" , "\x73\xda\xdf\xbc" } , { "\xbf\xe8\xcc" , "\x73\xda\xbd" } , { "\xbf\xe8\xcc\xa2" , "\x73\xda\xbd\x4d" } , { "\xbf\xe8\xcc\xda" , "\x73\xdb\xbd" } , { "\xbf\xe8\xcc\xdb" , "\x74\xbd" } , { "\xbf\xe8\xcc\xdb\xa2" , "\x74\xbd\x4d" } , { "\xbf\xe8\xcc\xdc" , "\x74\xbd\xde" } , { "\xbf\xe8\xcc\xdd" , "\x73\xda\xdf\xbd" } , { "\xbf\xe8\xcc\xe0\xa2" , "\x73\xe6\xbd\x4d" } , { "\xbf\xe8\xcc\xe4" , "\x73\xe6\xe0\xbd" } , { "\xbf\xe8\xcc\xe5" , "\x73\xe6\xe0\xbd\xde" } , { "\xbf\xe8\xcd" , "\x73\xda\xc0" } , { "\xbf\xe8\xcd\xa2" , "\x73\xda\xc0\x4d" } , { "\xbf\xe8\xcd\xda" , "\x73\xdb\xc0" } , { "\xbf\xe8\xcd\xda\xa2" , "\x73\xdb\xc0\x4d" } , { "\xbf\xe8\xcd\xdb" , "\x74\xc0" } , { "\xbf\xe8\xcd\xdd" , "\x73\xda\xdf\xc0" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x73\xda\xdf\xc0\x4d" } , { "\xbf\xe8\xcd\xde" , "\x73\xda\xe0\xc0" } , { "\xbf\xe8\xcd\xe0" , "\x73\xe6\xc0" } , { "\xbf\xe8\xcd\xe1" , "\x73\xe6\xc0\xde" } , { "\xbf\xe8\xcd\xe5" , "\x73\xe6\xe0\xc0\xde" } , { "\xbf\xe8\xcd\xe5\xa2" , "\x73\xe6\xe0\xc0\xde\x4d" } , { "\xbf\xe8\xcd\xe6" , "\x73\xe8\xc0" } , { "\xbf\xe8\xcf" , "\x73\xda\xc3" } , { "\xbf\xe8\xcf\xa2" , "\x73\xda\xc3\x4d" } , { "\xbf\xe8\xcf\xda" , "\x73\xdb\xc3" } , { "\xbf\xe8\xcf\xda\xa2" , "\x73\xdb\xc3\x4d" } , { "\xbf\xe8\xcf\xdb" , "\x74\xc3" } , { "\xbf\xe8\xcf\xdb\xa2" , "\x74\xc3\x4d" } , { "\xbf\xe8\xcf\xdc" , "\x74\xc3\xde" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x74\xc3\xde\x4d" } , { "\xbf\xe8\xcf\xdd" , "\x73\xda\xdf\xc3" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x73\xda\xdf\xc3\x4d" } , { "\xbf\xe8\xcf\xde" , "\x73\xda\xe0\xc3" } , { "\xbf\xe8\xcf\xde\xa2" , "\x73\xda\xe0\xc3\x4d" } , { "\xbf\xe8\xcf\xe0" , "\x73\xe6\xc3" } , { "\xbf\xe8\xcf\xe0\xa2" , "\x73\xe6\xc3\x4d" } , { "\xbf\xe8\xcf\xe1" , "\x73\xe6\xc3\xde" } , { "\xbf\xe8\xcf\xe1\xa2" , "\x73\xe6\xc3\xde\x4d" } , { "\xbf\xe8\xcf\xe2" , "\x73\xe6\xee" } , { "\xbf\xe8\xcf\xe4" , "\x73\xe6\xe0\xc3" } , { "\xbf\xe8\xcf\xe5" , "\x73\xe6\xe0\xc3\xde" } , { "\xbf\xe8\xcf\xe6" , "\x73\xe8\xc3" } , { "\xbf\xe8\xcf\xe7" , "\x73\xe6\xe0\xc3" } , { "\xbf\xe8\xcf\xe8\xca" , "\x73\xda\xc3\x3e\xb9" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x73\xdb\xc3\x3d\xc0" } , { "\xbf\xe8\xcf\xe8\xd4\xda" , "\x73\xdb\xc3\x3e\xca" } , { "\xbf\xe8\xd1" , "\x73\xda\xc7" } , { "\xbf\xe8\xd1\xa2" , "\x73\xda\xc7\x4d" } , { "\xbf\xe8\xd1\xda" , "\x73\xdb\xc7" } , { "\xbf\xe8\xd1\xda\xa2" , "\x73\xdb\xc7\x4d" } , { "\xbf\xe8\xd1\xdb" , "\x74\xc7" } , { "\xbf\xe8\xd1\xdb\xa2" , "\x74\xc7\x4d" } , { "\xbf\xe8\xd1\xdc" , "\x74\xc7\xde" } , { "\xbf\xe8\xd1\xdd" , "\x73\xda\xdf\xc7" } , { "\xbf\xe8\xd1\xdd\xa2" , "\x73\xda\xdf\xc7\x4d" } , { "\xbf\xe8\xd1\xde" , "\x73\xda\xe0\xc7" } , { "\xbf\xe8\xd1\xe0" , "\x73\xe6\xc7" } , { "\xbf\xe8\xd1\xe0\xa2" , "\x73\xe6\xc7\x4d" } , { "\xbf\xe8\xd1\xe1" , "\x73\xe6\xc7\xde" } , { "\xbf\xe8\xd1\xe2" , "\x73\xe6\xc7\xf5\xe7" } , { "\xbf\xe8\xd1\xe4" , "\x73\xe6\xe0\xc7" } , { "\xbf\xe8\xd1\xe5" , "\x73\xe6\xe0\xc7\xde" } , { "\xbf\xe8\xd1\xe8" , "\x73\xe9\xc7" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\x73\xe6\xe0\xc7\xf2\xc7\xde" } , { "\xbf\xe8\xd4" , "\x73\xda\xca" } , { "\xbf\xe8\xd4\xa2" , "\x73\xda\xca\x4d" } , { "\xbf\xe8\xd4\xda" , "\x73\xdb\xca" } , { "\xbf\xe8\xd4\xda\xa2" , "\x73\xdb\xca\x4d" } , { "\xbf\xe8\xd4\xdb" , "\x74\xca" } , { "\xbf\xe8\xd4\xdb\xa2" , "\x74\xca\x4d" } , { "\xbf\xe8\xd4\xdc" , "\x74\xca\xde" } , { "\xbf\xe8\xd4\xdd" , "\x73\xda\xdf\xca" } , { "\xbf\xe8\xd4\xe0" , "\x73\xe6\xca" } , { "\xbf\xe8\xd4\xe0\xa2" , "\x73\xe6\xca\x4d" } , { "\xbf\xe8\xd4\xe1" , "\x73\xe6\xca\xde" } , { "\xbf\xe8\xd4\xe2" , "\x73\xe6\xca\x3e\xe7" } , { "\xbf\xe8\xd5" , "\x73\xda\xcd" } , { "\xbf\xe8\xd5\xda" , "\x73\xdb\xcd" } , { "\xbf\xe8\xd6" , "\x73\xda\xd0" } , { "\xbf\xe8\xd6\xdb" , "\x74\xd0" } , { "\xbf\xe8\xd6\xdc" , "\x74\xd0\xde" } , { "\xbf\xe8\xd6\xe5" , "\x73\xe6\xe0\xd0\xde" } , { "\xbf\xe8\xd7" , "\x73\xda\xd3" } , { "\xbf\xe8\xd7\xa2" , "\x73\xda\xd3\x4d" } , { "\xbf\xe8\xd7\xda" , "\x73\xdb\xd3" } , { "\xbf\xe8\xd7\xdb" , "\x74\xd3" } , { "\xbf\xe8\xd7\xdc" , "\x74\xd3\xde" } , { "\xbf\xe8\xd7\xdd" , "\x73\xda\xdf\xd3" } , { "\xbf\xe8\xd7\xde" , "\x73\xda\xe0\xd3" } , { "\xbf\xe8\xd7\xe1" , "\x73\xe6\xd3\xde" } , { "\xbf\xe8\xd7\xe4" , "\x73\xe6\xe0\xd3" } , { "\xbf\xe8\xd7\xe8" , "\x73\xe9\xd3" } , { "\xbf\xe8\xd7\xe8\xb3" , "\x73\xda\xd3\x3d\x51" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\x73\xdb\xd3\x3d\x51" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\x74\xd3\x3d\x51" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\x73\xda\xdf\xd3\x3d\x51" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\x73\xe6\xd3\x3d\x51\xde" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x73\xe6\xd3\x3e\x6f\xde" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\x74\xd3\xfe\x75" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\x73\xe6\xe0\xd3\xfe\xa1\xde" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\x74\xd3\x3e\xad" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\x73\xda\xdf\xd3\x3e\xad" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\x73\xdb\xd3\x3e\xb0" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\x74\xd3\x3e\xb0\xde" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\x73\xda\xd3\x3e\xb9\x4d" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\x74\xd3\x3d\xbd" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\x73\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xbf\xe8\xd7\xe8\xd4" , "\x73\xda\xd3\x3e\xca" } , { "\xbf\xe8\xd8\xda" , "\x73\xdb\xd6" } , { "\xbf\xe8\xd8\xda\xa2" , "\x73\xdb\xd6\x4d" } , { "\xbf\xe8\xd8\xdb" , "\x74\xd6" } , { "\xbf\xe8\xd8\xe0" , "\x73\xe6\xd6" } , { "\xbf\xe8\xd8\xe2" , "\x73\xe6\xd6\xf9\xe7" } , { "\xbf\xe8\xd8\xe5" , "\x73\xe6\xe0\xd6\xde" } , { "\xbf\xe8\xd9\xa7" , "\x73\xda\x43" } , { "\xbf\xe8\xd9\xcd\xde" , "\x73\xda\xbe\xda\xdf\xe0" } , { "\xbf\xe8\xd9\xcf" , "\x73\xda\xc1\xda" } , { "\xbf\xe8\xe8" , "\x73\xe9" } , { "\xbf\xe9" , "\x73\xda" } , { "\xbf\xe9\xa1" , "\x73\xda\x4d" } , { "\xbf\xe9\xa2" , "\x73\xda\x4d" } , { "\xbf\xe9\xc2\xda" , "\x73\xda\x7d\xdb" } , { "\xbf\xe9\xc2\xdc" , "\x73\xda\x7e\xde" } , { "\xbf\xe9\xda" , "\x73\xdb" } , { "\xbf\xe9\xda\xa1" , "\x73\xdb\x4d" } , { "\xbf\xe9\xda\xa2" , "\x73\xdb\x4d" } , { "\xbf\xe9\xdb" , "\x74" } , { "\xbf\xe9\xdc" , "\x74\xde" } , { "\xbf\xe9\xdc\xa2" , "\x74\xde\x4d" } , { "\xbf\xe9\xdd" , "\x73\xda\xdf" } , { "\xbf\xe9\xde" , "\x73\xda\xe0" } , { "\xbf\xe9\xde\xa1" , "\x73\xda\xe0\x4d" } , { "\xbf\xe9\xde\xa2" , "\x73\xda\xe0\x4d" } , { "\xbf\xe9\xe1" , "\x73\xe6\xde" } , { "\xbf\xe9\xe1\xa2" , "\x73\xe6\xde\x4d" } , { "\xbf\xe9\xe2" , "\x73\xe6\xe7" } , { "\xbf\xe9\xe2\xa2" , "\x73\xe6\xe7\x4d" } , { "\xbf\xe9\xe5" , "\x73\xe6\xe0\xde" } , { "\xbf\xe9\xe5\xa2" , "\x73\xe6\xe0\xde\x4d" } , { "\xbf\xe9\xe6" , "\x73\xe8" } , { "\xbf\xe9\xe6\xa2" , "\x73\xe8\x4d" } , { "\xbf\xe9\xe8" , "\x73\xe9" } , { "\xbf\xe9\xe8\xb3" , "\x73\xda\x51" } , { "\xbf\xe9\xe8\xb3\xda" , "\x73\xdb\x51" } , { "\xbf\xe9\xe8\xb5" , "\x73\xda\x58" } , { "\xbf\xe9\xe8\xb5\xda" , "\x73\xdb\x58" } , { "\xbf\xe9\xe8\xbf\xda" , "\x73\xdb\x75" } , { "\xbf\xe9\xe8\xbf\xdb" , "\x74\x75" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x74\x75\xde" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x73\xe6\x75\xde" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x73\xe6\x78\xde" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x73\xda\xdf\xa1" } , { "\xbf\xe9\xe8\xcc" , "\x73\xda\xbd" } , { "\xc0" , "\x76\xda" } , { "\xc0\xa1" , "\x76\xda\x4d" } , { "\xc0\xa2" , "\x76\xda\x4d" } , { "\xc0\xa3" , "\x76\xda\x4e" } , { "\xc0\xda" , "\x76\xdb" } , { "\xc0\xda\xa1" , "\x76\xdb\x4d" } , { "\xc0\xda\xa2" , "\x76\xdb\x4d" } , { "\xc0\xdb" , "\x77" } , { "\xc0\xdb\xa2" , "\x77\x4d" } , { "\xc0\xdc" , "\x77\xde" } , { "\xc0\xdc\xa2" , "\x77\xde\x4d" } , { "\xc0\xdd" , "\x76\xda\xdf" } , { "\xc0\xdd\xa1" , "\x76\xda\xdf\x4d" } , { "\xc0\xdd\xa2" , "\x76\xda\xdf\x4d" } , { "\xc0\xde" , "\x76\xda\xe0" } , { "\xc0\xde\xa1" , "\x76\xda\xe0\x4d" } , { "\xc0\xde\xa2" , "\x76\xda\xe0\x4d" } , { "\xc0\xdf" , "\x76\xda\xe4" } , { "\xc0\xe0" , "\x76\xe6" } , { "\xc0\xe1" , "\x76\xe6\xde" } , { "\xc0\xe1\xa2" , "\x76\xe6\xde\x4d" } , { "\xc0\xe2" , "\x76\xe6\xe7" } , { "\xc0\xe2\xa3" , "\x76\xe6\xe7\x4e" } , { "\xc0\xe4" , "\x76\xe6\xe0" } , { "\xc0\xe5" , "\x76\xe6\xe0\xde" } , { "\xc0\xe5\xa2" , "\x76\xe6\xe0\xde\x4d" } , { "\xc0\xe6" , "\x76\xe8" } , { "\xc0\xe6\xa2" , "\x76\xe8\x4d" } , { "\xc0\xe8" , "\x76\xe9" } , { "\xc0\xe8\xbf\xe1" , "\x76\xe6\xb4\xb4\x75\xde" } , { "\xc0\xe8\xc0\xda" , "\x76\xdb\x78" } , { "\xc0\xe8\xc0\xdc" , "\x77\xb4\xb4\x78\xde" } , { "\xc0\xe8\xc0\xe1" , "\x76\xe6\xb4\xb4\x78\xde" } , { "\xc0\xe8\xc0\xe9" , "\x76\xda\xb4\xb4\x78" } , { "\xc0\xe8\xc0\xe9\xda" , "\x76\xdb\x78" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x76\xe6\xb4\xb4\x78\xde" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x76\xe6\xe0\x78\xde\x4d" } , { "\xc0\xe8\xc9\xe5" , "\x76\xe6\xe0\xb5\xde" } , { "\xc0\xe8\xcd" , "\x76\xda\xb4\xc0" } , { "\xc0\xe8\xcd\xa2" , "\x76\xda\xb4\xc0\x4d" } , { "\xc0\xe8\xcd\xda" , "\x76\xdb\xc0" } , { "\xc0\xe8\xcd\xdd" , "\x76\xda\xdf\xc0" } , { "\xc0\xe8\xcd\xe5\xa2" , "\x76\xe6\xe0\xc0\xde\x4d" } , { "\xc0\xe8\xcf" , "\x76\xda\xb4\xc3" } , { "\xc0\xe8\xcf\xa2" , "\x76\xda\xb4\xc3\x4d" } , { "\xc0\xe8\xcf\xda" , "\x76\xdb\xc3" } , { "\xc0\xe8\xcf\xdc" , "\x77\xb4\xc3\xde" } , { "\xc0\xe8\xd1\xe5" , "\x76\xe6\xe0\xc7\xde" } , { "\xc0\xe8\xe8" , "\x76\xe9" } , { "\xc0\xe9" , "\x76\xda" } , { "\xc0\xe9\xa1" , "\x76\xda\x4d" } , { "\xc0\xe9\xa2" , "\x76\xda\x4d" } , { "\xc0\xe9\xc2\xdc" , "\x76\xda\x7e\xde" } , { "\xc0\xe9\xc6\xe1" , "\x76\xda\xab\xe6\xde" } , { "\xc0\xe9\xda" , "\x76\xdb" } , { "\xc0\xe9\xda\xa1" , "\x76\xdb\x4d" } , { "\xc0\xe9\xda\xa2" , "\x76\xdb\x4d" } , { "\xc0\xe9\xdb" , "\x77" } , { "\xc0\xe9\xdb\xa2" , "\x77\x4d" } , { "\xc0\xe9\xdc" , "\x77\xde" } , { "\xc0\xe9\xdc\xa2" , "\x77\xde\x4d" } , { "\xc0\xe9\xdd" , "\x76\xda\xdf" } , { "\xc0\xe9\xde" , "\x76\xda\xe0" } , { "\xc0\xe9\xde\xa1" , "\x76\xda\xe0\x4d" } , { "\xc0\xe9\xde\xa2" , "\x76\xda\xe0\x4d" } , { "\xc0\xe9\xe1" , "\x76\xe6\xde" } , { "\xc0\xe9\xe1\xa2" , "\x76\xe6\xde\x4d" } , { "\xc0\xe9\xe2" , "\x76\xe6\xe7" } , { "\xc0\xe9\xe5" , "\x76\xe6\xe0\xde" } , { "\xc0\xe9\xe5\xa2" , "\x76\xe6\xe0\xde\x4d" } , { "\xc0\xe9\xe6" , "\x76\xe8" } , { "\xc0\xe9\xe8\xcd" , "\x76\xda\xb4\xc0" } , { "\xc1" , "\x79" } , { "\xc1\xa1" , "\x79\x4d" } , { "\xc1\xa1\xa1" , "\x79\x4d\x4d" } , { "\xc1\xa2" , "\x79\x4d" } , { "\xc1\xa3" , "\x79\x4e" } , { "\xc1\xda" , "\x7a\xdb" } , { "\xc1\xda\xa2" , "\x7a\xdb\x4d" } , { "\xc1\xda\xa3" , "\x7a\xdb\x4e" } , { "\xc1\xdb" , "\x7b" } , { "\xc1\xdb\xa2" , "\x7b\x4d" } , { "\xc1\xdb\xa3" , "\x7b\x4e" } , { "\xc1\xdc" , "\x7b\xde" } , { "\xc1\xdc\xa2" , "\x7b\xde\x4d" } , { "\xc1\xdd" , "\x79\xdf" } , { "\xc1\xdd\xa2" , "\x79\xdf\x4d" } , { "\xc1\xde" , "\x79\xe0" } , { "\xc1\xde\xa2" , "\x79\xe0\x4d" } , { "\xc1\xdf" , "\x79\xe4" } , { "\xc1\xe0" , "\x7a\xe6" } , { "\xc1\xe0\xa2" , "\x7a\xe6\x4d" } , { "\xc1\xe1" , "\x7a\xe6\xde" } , { "\xc1\xe1\xa2" , "\x7a\xe6\xde\x4d" } , { "\xc1\xe2" , "\x7a\xe6\xe7" } , { "\xc1\xe2\xa2" , "\x7a\xe6\xe7\x4d" } , { "\xc1\xe2\xa3" , "\x7a\xe6\xe7\x4e" } , { "\xc1\xe4" , "\x7a\xe6\xe0" } , { "\xc1\xe5" , "\x7a\xe6\xe0\xde" } , { "\xc1\xe5\xa2" , "\x7a\xe6\xe0\xde\x4d" } , { "\xc1\xe6" , "\x7a\xe8" } , { "\xc1\xe8" , "\x7a\xe9" } , { "\xc1\xe8\xb3\xdd" , "\x79\xdf\x51" } , { "\xc1\xe8\xb3\xe1" , "\x7a\xe6\x51\xde" } , { "\xc1\xe8\xb5\xda" , "\x7a\xdb\x58" } , { "\xc1\xe8\xba\xda" , "\x7a\xdb\x67" } , { "\xc1\xe8\xba\xe5\xa2" , "\x7a\xe6\xe0\x67\xde\x4d" } , { "\xc1\xe8\xbd" , "\x79\x6f" } , { "\xc1\xe8\xbd\xda" , "\x7a\xdb\x6f" } , { "\xc1\xe8\xbd\xdb" , "\x7b\x6f" } , { "\xc1\xe8\xbd\xdb\xa2" , "\x7b\x6f\x4d" } , { "\xc1\xe8\xbd\xdc" , "\x7b\x6f\xde" } , { "\xc1\xe8\xbd\xdd" , "\x79\xdf\x6f" } , { "\xc1\xe8\xbd\xde" , "\x79\xe0\x6f" } , { "\xc1\xe8\xbd\xe1" , "\x7a\xe6\x6f\xde" } , { "\xc1\xe8\xbd\xe1\xa2" , "\x7a\xe6\x6f\xde\x4d" } , { "\xc1\xe8\xbd\xe5" , "\x7a\xe6\xe0\x6f\xde" } , { "\xc1\xe8\xbd\xe5\xa2" , "\x7a\xe6\xe0\x6f\xde\x4d" } , { "\xc1\xe8\xbd\xe8\xcf" , "\x79\x6f\xf1" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\x7b\x6f\xf1\xde" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\x7a\xe6\xe0\x6f\xf1\xde" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x79\x6f\x3e\xd3" } , { "\xc1\xe8\xbe" , "\x79\x72" } , { "\xc1\xe8\xbe\xa2" , "\x79\x72\x4d" } , { "\xc1\xe8\xbe\xda" , "\x7a\xdb\x72" } , { "\xc1\xe8\xbe\xdb" , "\x7b\x72" } , { "\xc1\xe8\xbe\xdc" , "\x7b\x72\xde" } , { "\xc1\xe8\xbe\xe1" , "\x7a\xe6\x72\xde" } , { "\xc1\xe8\xbe\xe5" , "\x7a\xe6\xe0\x72\xde" } , { "\xc1\xe8\xbe\xe5\xa2" , "\x7a\xe6\xe0\x72\xde\x4d" } , { "\xc1\xe8\xbf" , "\x79\x75" } , { "\xc1\xe8\xbf\xa2" , "\x79\x75\x4d" } , { "\xc1\xe8\xbf\xda" , "\x7a\xdb\x75" } , { "\xc1\xe8\xbf\xda\xa2" , "\x7a\xdb\x75\x4d" } , { "\xc1\xe8\xbf\xdb" , "\x7b\x75" } , { "\xc1\xe8\xbf\xdb\xa2" , "\x7b\x75\x4d" } , { "\xc1\xe8\xbf\xdc" , "\x7b\x75\xde" } , { "\xc1\xe8\xbf\xdd" , "\x79\xdf\x75" } , { "\xc1\xe8\xbf\xde" , "\x79\xe0\x75" } , { "\xc1\xe8\xbf\xe1" , "\x7a\xe6\x75\xde" } , { "\xc1\xe8\xbf\xe1\xa2" , "\x7a\xe6\x75\xde\x4d" } , { "\xc1\xe8\xbf\xe2" , "\x7a\xe6\x75\xf5\xe7" } , { "\xc1\xe8\xbf\xe5" , "\x7a\xe6\xe0\x75\xde" } , { "\xc1\xe8\xbf\xe5\xa2" , "\x7a\xe6\xe0\x75\xde\x4d" } , { "\xc1\xe8\xbf\xe6" , "\x7a\xe8\x75" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x79\x75\xf4\xc0" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x7a\xdb\x75\xf4\xc0" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x79\x75\xf0" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x7a\xdb\x75\xf0" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\x7b\x75\xf0" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x7b\x75\xf0\xde" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x79\xe0\x75\xf0" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\x7a\xe6\x75\xf0\xde" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\x7a\xe6\xe0\x75\xf0\xde" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x79\x75\xf5\xd3" } , { "\xc1\xe8\xbf\xe9" , "\x79\x75" } , { "\xc1\xe8\xbf\xe9\xda" , "\x7a\xdb\x75" } , { "\xc1\xe8\xbf\xe9\xdc" , "\x7b\x75\xde" } , { "\xc1\xe8\xbf\xe9\xe1" , "\x7a\xe6\x75\xde" } , { "\xc1\xe8\xbf\xe9\xe5" , "\x7a\xe6\xe0\x75\xde" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\x7a\xe6\xe0\x75\xde\x4d" } , { "\xc1\xe8\xc0" , "\x79\x78" } , { "\xc1\xe8\xc0\xdb" , "\x7b\x78" } , { "\xc1\xe8\xc1" , "\x79\x7c" } , { "\xc1\xe8\xc1\xa2" , "\x79\x7c\x4d" } , { "\xc1\xe8\xc1\xda" , "\x7a\xdb\x7c" } , { "\xc1\xe8\xc1\xda\xa2" , "\x7a\xdb\x7c\x4d" } , { "\xc1\xe8\xc1\xdb" , "\x7b\x7c" } , { "\xc1\xe8\xc1\xdb\xa2" , "\x7b\x7c\x4d" } , { "\xc1\xe8\xc1\xdc" , "\x7b\x7c\xde" } , { "\xc1\xe8\xc1\xdc\xa2" , "\x7b\x7c\xde\x4d" } , { "\xc1\xe8\xc1\xdd" , "\x79\xdf\x7c" } , { "\xc1\xe8\xc1\xdd\xa2" , "\x79\xdf\x7c\x4d" } , { "\xc1\xe8\xc1\xde" , "\x79\xe0\x7c" } , { "\xc1\xe8\xc1\xe0" , "\x7a\xe6\x7c" } , { "\xc1\xe8\xc1\xe0\xa2" , "\x7a\xe6\x7c\x4d" } , { "\xc1\xe8\xc1\xe1" , "\x7a\xe6\x7c\xde" } , { "\xc1\xe8\xc1\xe2" , "\x7a\xe6\x7c\xf5\xe7" } , { "\xc1\xe8\xc1\xe4" , "\x7a\xe6\xe0\x7c" } , { "\xc1\xe8\xc1\xe5" , "\x7a\xe6\xe0\x7c\xde" } , { "\xc1\xe8\xc2\xdb" , "\x7b\xa1" } , { "\xc1\xe8\xc2\xe5" , "\x7a\xe6\xe0\xa1\xde" } , { "\xc1\xe8\xc4\xdb" , "\x7b\xa7" } , { "\xc1\xe8\xc4\xdd" , "\x79\xdf\xa7" } , { "\xc1\xe8\xc4\xe0" , "\x7a\xe6\xa7" } , { "\xc1\xe8\xc6" , "\x79\xad" } , { "\xc1\xe8\xc6\xa2" , "\x79\xad\x4d" } , { "\xc1\xe8\xc6\xda" , "\x7a\xdb\xad" } , { "\xc1\xe8\xc6\xdb" , "\x7b\xad" } , { "\xc1\xe8\xc6\xdb\xa2" , "\x7b\xad\x4d" } , { "\xc1\xe8\xc6\xdc" , "\x7b\xad\xde" } , { "\xc1\xe8\xc6\xdd" , "\x79\xdf\xad" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x79\xdf\xad\x4d" } , { "\xc1\xe8\xc6\xe0" , "\x7a\xe6\xad" } , { "\xc1\xe8\xc6\xe0\xa2" , "\x7a\xe6\xad\x4d" } , { "\xc1\xe8\xc6\xe1" , "\x7a\xe6\xad\xde" } , { "\xc1\xe8\xc6\xe1\xa2" , "\x7a\xe6\xad\xde\x4d" } , { "\xc1\xe8\xc6\xe5" , "\x7a\xe6\xe0\xad\xde" } , { "\xc1\xe8\xc8" , "\x79\xb0" } , { "\xc1\xe8\xc8\xda" , "\x7a\xdb\xb0" } , { "\xc1\xe8\xc8\xe8\xcf" , "\x79\xb0\xf1" } , { "\xc1\xe8\xca\xda" , "\x7a\xdb\xb9" } , { "\xc1\xe8\xcc" , "\x79\xbd" } , { "\xc1\xe8\xcc\xda" , "\x7a\xdb\xbd" } , { "\xc1\xe8\xcc\xdb" , "\x7b\xbd" } , { "\xc1\xe8\xcc\xdc" , "\x7b\xbd\xde" } , { "\xc1\xe8\xcc\xdd" , "\x79\xdf\xbd" } , { "\xc1\xe8\xcc\xde" , "\x79\xe0\xbd" } , { "\xc1\xe8\xcc\xe0" , "\x7a\xe6\xbd" } , { "\xc1\xe8\xcc\xe1" , "\x7a\xe6\xbd\xde" } , { "\xc1\xe8\xcd" , "\x79\xc0" } , { "\xc1\xe8\xcd\xa2" , "\x79\xc0\x4d" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x79\xc0\x4d\x4d" } , { "\xc1\xe8\xcd\xda" , "\x7a\xdb\xc0" } , { "\xc1\xe8\xcd\xda\xa2" , "\x7a\xdb\xc0\x4d" } , { "\xc1\xe8\xcd\xdc" , "\x7b\xc0\xde" } , { "\xc1\xe8\xcd\xdd" , "\x79\xdf\xc0" } , { "\xc1\xe8\xcd\xde\xa2" , "\x79\xe0\xc0\x4d" } , { "\xc1\xe8\xcd\xe1" , "\x7a\xe6\xc0\xde" } , { "\xc1\xe8\xcd\xe5" , "\x7a\xe6\xe0\xc0\xde" } , { "\xc1\xe8\xcd\xe5\xa2" , "\x7a\xe6\xe0\xc0\xde\x4d" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x79\xc0\xfc\xc0" } , { "\xc1\xe8\xcf\xda" , "\x7a\xdb\xc3" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x79\xc3\x3d\xc0" } , { "\xc1\xe8\xd0\xdd" , "\x79\xdf\xc3" } , { "\xc1\xe8\xd1" , "\x79\xc7" } , { "\xc1\xe8\xd1\xda\xa2" , "\x7a\xdb\xc7\x4d" } , { "\xc1\xe8\xd1\xdd" , "\x79\xdf\xc7" } , { "\xc1\xe8\xd4" , "\x79\xca" } , { "\xc1\xe8\xd4\xa2" , "\x79\xca\x4d" } , { "\xc1\xe8\xd4\xda" , "\x7a\xdb\xca" } , { "\xc1\xe8\xd4\xdb" , "\x7b\xca" } , { "\xc1\xe8\xd4\xdc" , "\x7b\xca\xde" } , { "\xc1\xe8\xd4\xdd" , "\x79\xdf\xca" } , { "\xc1\xe8\xd4\xe1" , "\x7a\xe6\xca\xde" } , { "\xc1\xe8\xd5\xe6" , "\x7a\xe8\xcd" } , { "\xc1\xe8\xd7\xdb\xa2" , "\x7b\xd3\x4d" } , { "\xc1\xe8\xd9\xbf\xdb" , "\x79\x74" } , { "\xc1\xe8\xe8" , "\x7a\xe9" } , { "\xc1\xe9" , "\x79" } , { "\xc1\xe9\xe8\xbf" , "\x79\x75" } , { "\xc1\xe9\xe8\xbf\xda" , "\x7a\xdb\x75" } , { "\xc1\xe9\xe8\xbf\xdb" , "\x7b\x75" } , { "\xc1\xe9\xe8\xbf\xe1" , "\x7a\xe6\x75\xde" } , { "\xc2" , "\x7d\xda" } , { "\xc2\xa1" , "\x7d\xda\x4d" } , { "\xc2\xa2" , "\x7d\xda\x4d" } , { "\xc2\xa2\xa2" , "\x7d\xda\x4d\x4d" } , { "\xc2\xa3" , "\x7d\xda\x4e" } , { "\xc2\xd0\xc6\xda" , "\x7d\xda\xc1\xda\xab\xdb" } , { "\xc2\xda" , "\x7d\xdb" } , { "\xc2\xda\xa1" , "\x7d\xdb\x4d" } , { "\xc2\xda\xa2" , "\x7d\xdb\x4d" } , { "\xc2\xda\xa2\xa2" , "\x7d\xdb\x4d\x4d" } , { "\xc2\xda\xa3" , "\x7d\xdb\x4e" } , { "\xc2\xdb" , "\x7e" } , { "\xc2\xdb\xa2" , "\x7e\x4d" } , { "\xc2\xdb\xa3" , "\x7e\x4e" } , { "\xc2\xdc" , "\x7e\xde" } , { "\xc2\xdc\xa2" , "\x7e\xde\x4d" } , { "\xc2\xdd" , "\x7d\xda\xdf" } , { "\xc2\xdd\xa1" , "\x7d\xda\xdf\x4d" } , { "\xc2\xdd\xa2" , "\x7d\xda\xdf\x4d" } , { "\xc2\xdd\xa2\xa2" , "\x7d\xda\xdf\x4d\x4d" } , { "\xc2\xdd\xa3" , "\x7d\xda\xdf\x4e" } , { "\xc2\xde" , "\x7d\xda\xe0" } , { "\xc2\xde\xa1" , "\x7d\xda\xe0\x4d" } , { "\xc2\xde\xa2" , "\x7d\xda\xe0\x4d" } , { "\xc2\xdf" , "\x7d\xda\xe4" } , { "\xc2\xdf\xa2" , "\x7d\xda\xe4\x4d" } , { "\xc2\xdf\xd0\xe8\xc2\xdb" , "\x7d\xda\xe4\xc2\xa1" } , { "\xc2\xe0" , "\x7d\xe6" } , { "\xc2\xe0\xa2" , "\x7d\xe6\x4d" } , { "\xc2\xe1" , "\x7d\xe6\xde" } , { "\xc2\xe1\xa2" , "\x7d\xe6\xde\x4d" } , { "\xc2\xe1\xa3" , "\x7d\xe6\xde\x4e" } , { "\xc2\xe2" , "\x7d\xe6\xe7" } , { "\xc2\xe2\xa2" , "\x7d\xe6\xe7\x4d" } , { "\xc2\xe2\xa3" , "\x7d\xe6\xe7\x4e" } , { "\xc2\xe4" , "\x7d\xe6\xe0" } , { "\xc2\xe4\xa2" , "\x7d\xe6\xe0\x4d" } , { "\xc2\xe5" , "\x7d\xe6\xe0\xde" } , { "\xc2\xe5\xa2" , "\x7d\xe6\xe0\xde\x4d" } , { "\xc2\xe5\xa3" , "\x7d\xe6\xe0\xde\x4e" } , { "\xc2\xe6" , "\x7d\xe8" } , { "\xc2\xe6\xa2" , "\x7d\xe8\x4d" } , { "\xc2\xe7" , "\x7d\xe6\xe0" } , { "\xc2\xe8" , "\x7d\xe9" } , { "\xc2\xe8\xb3" , "\x7d\xda\x51" } , { "\xc2\xe8\xb3\xa2" , "\x7d\xda\x51\x4d" } , { "\xc2\xe8\xb3\xda" , "\x7d\xdb\x51" } , { "\xc2\xe8\xb3\xda\xa2" , "\x7d\xdb\x51\x4d" } , { "\xc2\xe8\xb3\xdb" , "\x7e\x51" } , { "\xc2\xe8\xb3\xdb\xa2" , "\x7e\x51\x4d" } , { "\xc2\xe8\xb3\xdc" , "\x7e\x51\xde" } , { "\xc2\xe8\xb3\xdd" , "\x7d\xda\xdf\x51" } , { "\xc2\xe8\xb3\xdd\xa2" , "\x7d\xda\xdf\x51\x4d" } , { "\xc2\xe8\xb3\xde" , "\x7d\xda\xe0\x51" } , { "\xc2\xe8\xb3\xdf" , "\x7d\xda\xed" } , { "\xc2\xe8\xb3\xe0" , "\x7d\xe6\x51" } , { "\xc2\xe8\xb3\xe1" , "\x7d\xe6\x51\xde" } , { "\xc2\xe8\xb3\xe1\xa2" , "\x7d\xe6\x51\xde\x4d" } , { "\xc2\xe8\xb3\xe4" , "\x7d\xe6\xe0\x51" } , { "\xc2\xe8\xb3\xe5" , "\x7d\xe6\xe0\x51\xde" } , { "\xc2\xe8\xb3\xe8\xc2" , "\x7d\xda\x51\xfa\xa1" } , { "\xc2\xe8\xb3\xe8\xcf" , "\x7d\xda\x51\xf0" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\x7d\xda\x51\xf0\x4d" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\x7e\x51\xf0" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\x7d\xe6\x51\xf0\xde\x4d" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\x7d\xe6\xe0\x51\xf0\xde" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\x7d\xe6\x51\xfa\xc7\xde" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\x7d\xe6\xe0\x51\xfa\xc7\xde" } , { "\xc2\xe8\xb3\xe8\xd4" , "\x7d\xda\x51\xfd\xca" } , { "\xc2\xe8\xb3\xe8\xd6" , "\x7d\xda\x51\xfd\xd0" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\x7e\x51\xfd\xd0" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\x7d\xe6\x51\xfd\xd0\xde" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\x7d\xda\x51\xfd\xd0\x3e\x6f" } , { "\xc2\xe8\xb4" , "\x7d\xda\x55" } , { "\xc2\xe8\xb4\xa2" , "\x7d\xda\x55\x4d" } , { "\xc2\xe8\xb4\xda" , "\x7d\xdb\x55" } , { "\xc2\xe8\xb4\xe1" , "\x7d\xe6\x55\xde" } , { "\xc2\xe8\xb5\xda" , "\x7d\xdb\x58" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x7d\xda\x58\xf3\xd6" } , { "\xc2\xe8\xb8" , "\x7d\xda\x60" } , { "\xc2\xe8\xb8\xda" , "\x7d\xdb\x60" } , { "\xc2\xe8\xb8\xe1" , "\x7d\xe6\x60\xde" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x7d\xda\x60\x3e\x63" } , { "\xc2\xe8\xba" , "\x7d\xda\x67" } , { "\xc2\xe8\xba\xa2" , "\x7d\xda\x67\x4d" } , { "\xc2\xe8\xba\xdb" , "\x7e\x67" } , { "\xc2\xe8\xba\xe8\xbc" , "\x7d\xda\x67\xf3\x6b" } , { "\xc2\xe8\xba\xe9" , "\x7d\xda\x67" } , { "\xc2\xe8\xbd\xe2" , "\x7d\xe6\x6f\x3e\xe7" } , { "\xc2\xe8\xbf\xdd" , "\x7d\xda\xdf\x75" } , { "\xc2\xe8\xbf\xe5" , "\x7d\xe6\xe0\x75\xde" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\x7d\xdb\x75\xf0" } , { "\xc2\xe8\xc1" , "\x7d\xda\x7c" } , { "\xc2\xe8\xc2" , "\x7d\xda\xa1" } , { "\xc2\xe8\xc2\xa2" , "\x7d\xda\xa1\x4d" } , { "\xc2\xe8\xc2\xda" , "\x7d\xdb\xa1" } , { "\xc2\xe8\xc2\xda\xa1" , "\x7d\xdb\xa1\x4d" } , { "\xc2\xe8\xc2\xda\xa2" , "\x7d\xdb\xa1\x4d" } , { "\xc2\xe8\xc2\xda\xa3" , "\x7d\xdb\xa1\x4e" } , { "\xc2\xe8\xc2\xdb" , "\x7e\xa1" } , { "\xc2\xe8\xc2\xdb\xa2" , "\x7e\xa1\x4d" } , { "\xc2\xe8\xc2\xdb\xa3" , "\x7e\xa1\x4e" } , { "\xc2\xe8\xc2\xdc" , "\x7e\xa1\xde" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x7e\xa1\xde\x4d" } , { "\xc2\xe8\xc2\xdd" , "\x7d\xda\xdf\xa1" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x7d\xda\xdf\xa1\x4d" } , { "\xc2\xe8\xc2\xde" , "\x7d\xda\xe0\xa1" } , { "\xc2\xe8\xc2\xde\xa2" , "\x7d\xda\xe0\xa1\x4d" } , { "\xc2\xe8\xc2\xdf" , "\x7d\xda\xea" } , { "\xc2\xe8\xc2\xe0" , "\x7d\xe6\xa1" } , { "\xc2\xe8\xc2\xe0\xa2" , "\x7d\xe6\xa1\x4d" } , { "\xc2\xe8\xc2\xe1" , "\x7d\xe6\xa1\xde" } , { "\xc2\xe8\xc2\xe1\xa2" , "\x7d\xe6\xa1\xde\x4d" } , { "\xc2\xe8\xc2\xe1\xa3" , "\x7d\xe6\xa1\xde\x4e" } , { "\xc2\xe8\xc2\xe2" , "\x7d\xe6\xeb" } , { "\xc2\xe8\xc2\xe4" , "\x7d\xe6\xe0\xa1" } , { "\xc2\xe8\xc2\xe5" , "\x7d\xe6\xe0\xa1\xde" } , { "\xc2\xe8\xc2\xe5\xa2" , "\x7d\xe6\xe0\xa1\xde\x4d" } , { "\xc2\xe8\xc2\xe6" , "\x7d\xe8\xa1" } , { "\xc2\xe8\xc2\xe8" , "\x7d\xe9\xa1" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x7d\xda\xa1\xf4\x51" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x7d\xdb\xa1\xf4\x51" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\x7d\xda\xa1\xf4\x51\xfd\xd0" } , { "\xc2\xe8\xc2\xe8\xc2" , "\x7d\xda\xa1\xf2\xa1" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\x7d\xdb\xa1\xf2\xa1" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\x7e\xa1\xf2\xa1" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\x7d\xe6\xa1\xf2\xa1\xde" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x7d\xe9\x7d\xe9\xa1\xf2\xa1" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x7d\xe6\xe0\xa1\xf5\xec\xde\x4d" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\x7d\xdb\xa1\xf2\xa4" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x7d\xda\xe0\xa1\xf5\xb0" } , { "\xc2\xe8\xc2\xe8\xcc" , "\x7d\xda\xa1\xf4\xbd" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x7d\xda\xa1\xf4\xc0" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x7d\xda\xa1\xf4\xc0\x4d" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x7d\xdb\xa1\xf4\xc0" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x7d\xda\xdf\xa1\xf4\xc0" } , { "\xc2\xe8\xc2\xe8\xcf" , "\x7d\xda\xa1\xf0" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\x7d\xda\xa1\xf0\x4d" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\x7d\xdb\xa1\xf0" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\x7e\xa1\xf0" } , { "\xc2\xe8\xc2\xe8\xcf\xe0" , "\x7d\xe6\xa1\xf0" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\x7d\xe6\xa1\xf0\x3e\xe7" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\x7d\xda\xa1\xf0\x3d\xc0" } , { "\xc2\xe8\xc2\xe8\xd4" , "\x7d\xda\xec" } , { "\xc2\xe8\xc2\xe8\xd4\xa2" , "\x7d\xda\xec\x4d" } , { "\xc2\xe8\xc2\xe8\xd4\xda" , "\x7d\xdb\xec" } , { "\xc2\xe8\xc2\xe8\xd4\xda\xa2" , "\x7d\xdb\xec\x4d" } , { "\xc2\xe8\xc2\xe8\xd4\xdb" , "\x7e\xec" } , { "\xc2\xe8\xc2\xe8\xd4\xde" , "\x7d\xda\xe0\xec" } , { "\xc2\xe8\xc2\xe8\xd4\xe5" , "\x7d\xe6\xe0\xec\xde" } , { "\xc2\xe8\xc2\xe8\xd4\xe5\xa2" , "\x7d\xe6\xe0\xec\xde\x4d" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x7d\xda\xa1\xae\xda" } , { "\xc2\xe8\xc3" , "\x7d\xda\xa4" } , { "\xc2\xe8\xc3\xa2" , "\x7d\xda\xa4\x4d" } , { "\xc2\xe8\xc3\xda" , "\x7d\xdb\xa4" } , { "\xc2\xe8\xc3\xdb" , "\x7e\xa4" } , { "\xc2\xe8\xc3\xdc" , "\x7e\xa4\xde" } , { "\xc2\xe8\xc3\xde" , "\x7d\xda\xe0\xa4" } , { "\xc2\xe8\xc3\xe1" , "\x7d\xe6\xa4\xde" } , { "\xc2\xe8\xc3\xe5" , "\x7d\xe6\xe0\xa4\xde" } , { "\xc2\xe8\xc3\xe5\xa2" , "\x7d\xe6\xe0\xa4\xde\x4d" } , { "\xc2\xe8\xc4" , "\x7d\xda\xa7" } , { "\xc2\xe8\xc4\xda" , "\x7d\xdb\xa7" } , { "\xc2\xe8\xc4\xdd" , "\x7d\xda\xdf\xa7" } , { "\xc2\xe8\xc4\xe1" , "\x7d\xe6\xa7\xde" } , { "\xc2\xe8\xc4\xe8\xd4\xe2" , "\x7d\xe6\xa7\xf5\xca\x3e\xe7" } , { "\xc2\xe8\xc5" , "\x7d\xda\xaa" } , { "\xc2\xe8\xc5\xa2" , "\x7d\xda\xaa\x4d" } , { "\xc2\xe8\xc5\xda" , "\x7d\xdb\xaa" } , { "\xc2\xe8\xc5\xda\xa2" , "\x7d\xdb\xaa\x4d" } , { "\xc2\xe8\xc5\xdb" , "\x7e\xaa" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x7d\xda\xaa\xf5\xd3" } , { "\xc2\xe8\xc6" , "\x7d\xda\xad" } , { "\xc2\xe8\xc6\xa2" , "\x7d\xda\xad\x4d" } , { "\xc2\xe8\xc6\xda" , "\x7d\xdb\xad" } , { "\xc2\xe8\xc6\xda\xa2" , "\x7d\xdb\xad\x4d" } , { "\xc2\xe8\xc6\xdb" , "\x7e\xad" } , { "\xc2\xe8\xc6\xdb\xa2" , "\x7e\xad\x4d" } , { "\xc2\xe8\xc6\xdc" , "\x7e\xad\xde" } , { "\xc2\xe8\xc6\xdd" , "\x7d\xda\xdf\xad" } , { "\xc2\xe8\xc6\xdd\xa2" , "\x7d\xda\xdf\xad\x4d" } , { "\xc2\xe8\xc6\xe1" , "\x7d\xe6\xad\xde" } , { "\xc2\xe8\xc6\xe5" , "\x7d\xe6\xe0\xad\xde" } , { "\xc2\xe8\xc6\xe5\xa2" , "\x7d\xe6\xe0\xad\xde\x4d" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x7d\xda\xad\x3d\xc0" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x7d\xdb\xad\x3d\xc0\x4e" } , { "\xc2\xe8\xc8" , "\x7d\xda\xb0" } , { "\xc2\xe8\xc8\xa2" , "\x7d\xda\xb0\x4d" } , { "\xc2\xe8\xc8\xda" , "\x7d\xdb\xb0" } , { "\xc2\xe8\xc8\xda\xa2" , "\x7d\xdb\xb0\x4d" } , { "\xc2\xe8\xc8\xdb" , "\x7e\xb0" } , { "\xc2\xe8\xc8\xdb\xa2" , "\x7e\xb0\x4d" } , { "\xc2\xe8\xc8\xdc" , "\x7e\xb0\xde" } , { "\xc2\xe8\xc8\xdd" , "\x7d\xda\xdf\xb0" } , { "\xc2\xe8\xc8\xde" , "\x7d\xda\xe0\xb0" } , { "\xc2\xe8\xc8\xdf" , "\x7d\xda\xb0\x3e\xe4" } , { "\xc2\xe8\xc8\xe1" , "\x7d\xe6\xb0\xde" } , { "\xc2\xe8\xc8\xe6" , "\x7d\xe8\xb0" } , { "\xc2\xe8\xc8\xe8\xc2" , "\x7d\xda\xb0\xfe\xa1" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\x7e\xb0\xfe\xa1" } , { "\xc2\xe8\xc8\xe8\xcf" , "\x7d\xda\xb0\xf1" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\x7d\xdb\xb0\xf1" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\x7d\xdb\xb0\xf1\x4d" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\x7e\xb0\xf1" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\x7d\xe6\xb0\xf1\xde" } , { "\xc2\xe8\xc8\xe8\xd1" , "\x7d\xda\xb0\xfe\xc7" } , { "\xc2\xe8\xc9" , "\x7d\xda\xb5" } , { "\xc2\xe8\xc9\xda" , "\x7d\xdb\xb5" } , { "\xc2\xe8\xc9\xdb" , "\x7e\xb5" } , { "\xc2\xe8\xc9\xdd" , "\x7d\xda\xdf\xb5" } , { "\xc2\xe8\xc9\xe8\xcf" , "\x7d\xda\xb5\xf1" } , { "\xc2\xe8\xc9\xe9" , "\x7d\xda\xb5" } , { "\xc2\xe8\xca" , "\x7d\xda\xb9" } , { "\xc2\xe8\xca\xa2" , "\x7d\xda\xb9\x4d" } , { "\xc2\xe8\xca\xda" , "\x7d\xdb\xb9" } , { "\xc2\xe8\xca\xdb" , "\x7e\xb9" } , { "\xc2\xe8\xca\xdd" , "\x7d\xda\xdf\xb9" } , { "\xc2\xe8\xca\xe1" , "\x7d\xe6\xb9\xde" } , { "\xc2\xe8\xca\xe8\xcf" , "\x7d\xda\xb9\xf1" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\x7d\xdb\xb9\xfe\xc7" } , { "\xc2\xe8\xcb" , "\x7d\xda\xbc" } , { "\xc2\xe8\xcb\xda" , "\x7d\xdb\xbc" } , { "\xc2\xe8\xcb\xda\xa2" , "\x7d\xdb\xbc\x4d" } , { "\xc2\xe8\xcb\xdb" , "\x7e\xbc" } , { "\xc2\xe8\xcb\xdd" , "\x7d\xda\xdf\xbc" } , { "\xc2\xe8\xcb\xde" , "\x7d\xda\xe0\xbc" } , { "\xc2\xe8\xcc" , "\x7d\xda\xbd" } , { "\xc2\xe8\xcc\xa2" , "\x7d\xda\xbd\x4d" } , { "\xc2\xe8\xcc\xda" , "\x7d\xdb\xbd" } , { "\xc2\xe8\xcc\xdb" , "\x7e\xbd" } , { "\xc2\xe8\xcc\xdc" , "\x7e\xbd\xde" } , { "\xc2\xe8\xcc\xdd" , "\x7d\xda\xdf\xbd" } , { "\xc2\xe8\xcc\xdd\xa2" , "\x7d\xda\xdf\xbd\x4d" } , { "\xc2\xe8\xcc\xdf" , "\x7d\xda\xbd\xfd\xe4" } , { "\xc2\xe8\xcc\xe1" , "\x7d\xe6\xbd\xde" } , { "\xc2\xe8\xcc\xe1\xa2" , "\x7d\xe6\xbd\xde\x4d" } , { "\xc2\xe8\xcc\xe2" , "\x7d\xe6\xbd\xfd\xe7" } , { "\xc2\xe8\xcc\xe4" , "\x7d\xe6\xe0\xbd" } , { "\xc2\xe8\xcc\xe5" , "\x7d\xe6\xe0\xbd\xde" } , { "\xc2\xe8\xcc\xe6" , "\x7d\xe8\xbd" } , { "\xc2\xe8\xcc\xe8" , "\x7d\xe9\xbd" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x7d\xda\xbd\xfc\x51" } , { "\xc2\xe8\xcc\xe8\xca" , "\x7d\xda\xbd\xfd\xb9" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x7d\xda\xbd\xfc\xc0" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x7d\xda\xbd\xfc\xc0\x4d" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x7d\xdb\xbd\xfc\xc0" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x7d\xe6\xe0\xbd\xfc\xc0\xde\x4d" } , { "\xc2\xe8\xcd" , "\x7d\xda\xc0" } , { "\xc2\xe8\xcd\xa2" , "\x7d\xda\xc0\x4d" } , { "\xc2\xe8\xcd\xda" , "\x7d\xdb\xc0" } , { "\xc2\xe8\xcd\xda\xa2" , "\x7d\xdb\xc0\x4d" } , { "\xc2\xe8\xcd\xdb" , "\x7e\xc0" } , { "\xc2\xe8\xcd\xdc" , "\x7e\xc0\xde" } , { "\xc2\xe8\xcd\xdd" , "\x7d\xda\xdf\xc0" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x7d\xda\xdf\xc0\x4d" } , { "\xc2\xe8\xcd\xde" , "\x7d\xda\xe0\xc0" } , { "\xc2\xe8\xcd\xe1" , "\x7d\xe6\xc0\xde" } , { "\xc2\xe8\xcd\xe1\xa2" , "\x7d\xe6\xc0\xde\x4d" } , { "\xc2\xe8\xcd\xe5" , "\x7d\xe6\xe0\xc0\xde" } , { "\xc2\xe8\xcd\xe5\xa2" , "\x7d\xe6\xe0\xc0\xde\x4d" } , { "\xc2\xe8\xcd\xe6" , "\x7d\xe8\xc0" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x7d\xda\xc0\xfa\xa1" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x7d\xe9\xc0\xfa\xa1" } , { "\xc2\xe8\xcd\xe8\xcc" , "\x7d\xda\xc0\xfc\xbd" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\x7d\xda\xc0\xfc\xbd\x4d" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\x7d\xdb\xc0\xfc\xbd" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x7d\xda\xc0\xfc\xc0" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x7d\xda\xc0\xfc\xc0\x4d" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x7d\xdb\xc0\xfc\xc0" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x7d\xe6\xc0\xfc\xc0\xde" } , { "\xc2\xe8\xcd\xe8\xcf" , "\x7d\xda\xc0\xf0" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\x7d\xda\xc0\xf0\x4d" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\x7d\xda\xc0\xf0\x4e" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\x7d\xdb\xc0\xf0" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\x7d\xe6\xe0\xc0\xf0\xde" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x7d\xda\xc0\xfd\xd3" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x7d\xda\xc0\xfd\xd3\x4e" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x7d\xdb\xc0\xfd\xd3" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x7d\xe6\xc0\xfd\xd3\xde\x4d" } , { "\xc2\xe8\xcf" , "\x7d\xda\xc3" } , { "\xc2\xe8\xcf\xa2" , "\x7d\xda\xc3\x4d" } , { "\xc2\xe8\xcf\xa3" , "\x7d\xda\xc3\x4e" } , { "\xc2\xe8\xcf\xda" , "\x7d\xdb\xc3" } , { "\xc2\xe8\xcf\xda\xa2" , "\x7d\xdb\xc3\x4d" } , { "\xc2\xe8\xcf\xdb" , "\x7e\xc3" } , { "\xc2\xe8\xcf\xdb\xa2" , "\x7e\xc3\x4d" } , { "\xc2\xe8\xcf\xdb\xa3" , "\x7e\xc3\x4e" } , { "\xc2\xe8\xcf\xdc" , "\x7e\xc3\xde" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x7e\xc3\xde\x4d" } , { "\xc2\xe8\xcf\xdd" , "\x7d\xda\xdf\xc3" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x7d\xda\xdf\xc3\x4d" } , { "\xc2\xe8\xcf\xde" , "\x7d\xda\xe0\xc3" } , { "\xc2\xe8\xcf\xde\xa2" , "\x7d\xda\xe0\xc3\x4d" } , { "\xc2\xe8\xcf\xdf" , "\x7d\xda\xc3\x3e\xe4" } , { "\xc2\xe8\xcf\xe0" , "\x7d\xe6\xc3" } , { "\xc2\xe8\xcf\xe0\xa2" , "\x7d\xe6\xc3\x4d" } , { "\xc2\xe8\xcf\xe1" , "\x7d\xe6\xc3\xde" } , { "\xc2\xe8\xcf\xe1\xa2" , "\x7d\xe6\xc3\xde\x4d" } , { "\xc2\xe8\xcf\xe2" , "\x7d\xe6\xee" } , { "\xc2\xe8\xcf\xe2\xa2" , "\x7d\xe6\xee\x4d" } , { "\xc2\xe8\xcf\xe2\xa3" , "\x7d\xe6\xee\x4e" } , { "\xc2\xe8\xcf\xe4" , "\x7d\xe6\xe0\xc3" } , { "\xc2\xe8\xcf\xe5" , "\x7d\xe6\xe0\xc3\xde" } , { "\xc2\xe8\xcf\xe5\xa2" , "\x7d\xe6\xe0\xc3\xde\x4d" } , { "\xc2\xe8\xcf\xe5\xa3" , "\x7d\xe6\xe0\xc3\xde\x4e" } , { "\xc2\xe8\xcf\xe6" , "\x7d\xe8\xc3" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x7d\xda\xc3\x3d\x51" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\x7e\xc3\x3e\x60" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x7d\xda\xc3\xfe\xa1" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x7d\xdb\xc3\xfe\xa1" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x7e\xc3\xfe\xa1\xde" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x7d\xda\xc3\x3e\xb0" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x7d\xda\xc3\x3d\xc0" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x7d\xda\xc3\x3d\xc0\x4d" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x7d\xdb\xc3\x3d\xc0" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x7d\xda\xe0\xc3\x3d\xc0" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x7d\xe6\xc3\x3d\xc0\xde" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x7d\xe6\xe0\xc3\x3d\xc0\xde" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x7d\xda\xc3\x3e\xd3" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x7d\xda\xc3\x3e\xd3\x4d" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x7d\xda\xc3\xbe\xda\xdf\x25" } , { "\xc2\xe8\xd1" , "\x7d\xda\xc7" } , { "\xc2\xe8\xd1\xa2" , "\x7d\xda\xc7\x4d" } , { "\xc2\xe8\xd1\xda" , "\x7d\xdb\xc7" } , { "\xc2\xe8\xd1\xdb" , "\x7e\xc7" } , { "\xc2\xe8\xd1\xdc" , "\x7e\xc7\xde" } , { "\xc2\xe8\xd1\xdd" , "\x7d\xda\xdf\xc7" } , { "\xc2\xe8\xd1\xe1" , "\x7d\xe6\xc7\xde" } , { "\xc2\xe8\xd1\xe2" , "\x7d\xe6\xc7\xf5\xe7" } , { "\xc2\xe8\xd1\xe5" , "\x7d\xe6\xe0\xc7\xde" } , { "\xc2\xe8\xd1\xe8\xc8" , "\x7d\xda\xc7\xf5\xb0" } , { "\xc2\xe8\xd4" , "\x7d\xda\xca" } , { "\xc2\xe8\xd4\xa2" , "\x7d\xda\xca\x4d" } , { "\xc2\xe8\xd4\xa3" , "\x7d\xda\xca\x4e" } , { "\xc2\xe8\xd4\xda" , "\x7d\xdb\xca" } , { "\xc2\xe8\xd4\xda\xa2" , "\x7d\xdb\xca\x4d" } , { "\xc2\xe8\xd4\xdb" , "\x7e\xca" } , { "\xc2\xe8\xd4\xdb\xa3" , "\x7e\xca\x4e" } , { "\xc2\xe8\xd4\xdc" , "\x7e\xca\xde" } , { "\xc2\xe8\xd4\xdd" , "\x7d\xda\xdf\xca" } , { "\xc2\xe8\xd4\xdf" , "\x7d\xda\xca\x3e\xe4" } , { "\xc2\xe8\xd4\xe0" , "\x7d\xe6\xca" } , { "\xc2\xe8\xd4\xe1" , "\x7d\xe6\xca\xde" } , { "\xc2\xe8\xd4\xe2" , "\x7d\xe6\xca\x3e\xe7" } , { "\xc2\xe8\xd4\xe5" , "\x7d\xe6\xe0\xca\xde" } , { "\xc2\xe8\xd4\xe5\xa2" , "\x7d\xe6\xe0\xca\xde\x4d" } , { "\xc2\xe8\xd4\xe6" , "\x7d\xe8\xca" } , { "\xc2\xe8\xd4\xe8\xc2\xdb" , "\x7e\xca\xfe\xa1" } , { "\xc2\xe8\xd4\xe8\xc2\xe8\xcd" , "\x7d\xda\xca\xfe\xa1\xf4\xc0" } , { "\xc2\xe8\xd5" , "\x7d\xda\xcd" } , { "\xc2\xe8\xd5\xda" , "\x7d\xdb\xcd" } , { "\xc2\xe8\xd5\xdb" , "\x7e\xcd" } , { "\xc2\xe8\xd5\xde" , "\x7d\xda\xe0\xcd" } , { "\xc2\xe8\xd5\xe1" , "\x7d\xe6\xcd\xde" } , { "\xc2\xe8\xd5\xe8\xd4" , "\x7d\xda\xcd\xfd\xca" } , { "\xc2\xe8\xd6" , "\x7d\xda\xd0" } , { "\xc2\xe8\xd6\xda" , "\x7d\xdb\xd0" } , { "\xc2\xe8\xd6\xdb" , "\x7e\xd0" } , { "\xc2\xe8\xd6\xe1" , "\x7d\xe6\xd0\xde" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\x7d\xe6\xd0\x3d\x51\xde" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\x7d\xdb\xd0\xfe\x7c" } , { "\xc2\xe8\xd7" , "\x7d\xda\xd3" } , { "\xc2\xe8\xd7\xa2" , "\x7d\xda\xd3\x4d" } , { "\xc2\xe8\xd7\xa3" , "\x7d\xda\xd3\x4e" } , { "\xc2\xe8\xd7\xda" , "\x7d\xdb\xd3" } , { "\xc2\xe8\xd7\xda\xa2" , "\x7d\xdb\xd3\x4d" } , { "\xc2\xe8\xd7\xdb" , "\x7e\xd3" } , { "\xc2\xe8\xd7\xdb\xa2" , "\x7e\xd3\x4d" } , { "\xc2\xe8\xd7\xdc" , "\x7e\xd3\xde" } , { "\xc2\xe8\xd7\xdd" , "\x7d\xda\xdf\xd3" } , { "\xc2\xe8\xd7\xde" , "\x7d\xda\xe0\xd3" } , { "\xc2\xe8\xd7\xdf" , "\x7d\xda\xd3\x3e\xe4" } , { "\xc2\xe8\xd7\xe0" , "\x7d\xe6\xd3" } , { "\xc2\xe8\xd7\xe1" , "\x7d\xe6\xd3\xde" } , { "\xc2\xe8\xd7\xe4" , "\x7d\xe6\xe0\xd3" } , { "\xc2\xe8\xd7\xe5" , "\x7d\xe6\xe0\xd3\xde" } , { "\xc2\xe8\xd7\xe6" , "\x7d\xe8\xd3" } , { "\xc2\xe8\xd7\xe8" , "\x7d\xe9\xd3" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\x7e\xd3\x3d\x51\xde" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\x7d\xdb\xd3\xfe\xa4" } , { "\xc2\xe8\xd7\xe8\xc6" , "\x7d\xda\xd3\x3e\xad" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\x7d\xdb\xd3\x3e\xad" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\x7e\xd3\x3e\xad" } , { "\xc2\xe8\xd7\xe8\xc8" , "\x7d\xda\xd3\x3e\xb0" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\x7d\xdb\xd3\x3e\xb0" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\x7d\xda\xd3\x3e\xb0\x3e\xe4" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\x7d\xda\xe0\xd3\x3e\xb5" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\x7d\xe6\xe0\xd3\x3e\xb5\xde" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x7d\xda\xd3\x3d\xc0" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x7d\xda\xd3\x3d\xc0\x4d" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x7d\xdb\xd3\x3d\xc0" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x7d\xdb\xd3\x3d\xc0\x4d" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\x7e\xd3\x3d\xc0" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x7d\xda\xdf\xd3\x3d\xc0" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x7d\xe6\xd3\x3d\xc0\xde\x4d" } , { "\xc2\xe8\xd7\xe8\xcf" , "\x7d\xda\xd3\xf1" } , { "\xc2\xe8\xd7\xe8\xd4" , "\x7d\xda\xd3\x3e\xca" } , { "\xc2\xe8\xd7\xe8\xd4\xda" , "\x7d\xdb\xd3\x3e\xca" } , { "\xc2\xe8\xd7\xe8\xd4\xe1" , "\x7d\xe6\xd3\x3e\xca\xde" } , { "\xc2\xe8\xd8\xdb" , "\x7e\xd6" } , { "\xc2\xe8\xd8\xdc" , "\x7e\xd6\xde" } , { "\xc2\xe8\xd9\xa6" , "\x7d\xda\x42" } , { "\xc2\xe8\xd9\xb3\xda" , "\x7d\xda\x4f\xdb" } , { "\xc2\xe8\xd9\xc2" , "\x7d\xda\x7d\xda" } , { "\xc2\xe8\xd9\xc2\xda" , "\x7d\xda\x7d\xdb" } , { "\xc2\xe8\xd9\xc2\xdb" , "\x7d\xda\x7e" } , { "\xc2\xe8\xd9\xc2\xdc" , "\x7d\xda\x7e\xde" } , { "\xc2\xe8\xd9\xc2\xe1" , "\x7d\xda\x7d\xe6\xde" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\x7d\xda\x7d\xe6\xe0\xde\x4d" } , { "\xc2\xe8\xd9\xc8" , "\x7d\xda\xae\xda" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\x7d\xda\x7d\xdb\x25" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\x7d\xda\xd1\xda\x25" } , { "\xc2\xe8\xd9\xd1" , "\x7d\xda\xc4" } , { "\xc2\xe8\xd9\xd4" , "\x7d\xda\xc8\xda" } , { "\xc2\xe8\xd9\xd4\xe5\xa2" , "\x7d\xda\xc8\xe6\xe3\xde\x4d" } , { "\xc2\xe8\xe8" , "\x7d\xe9" } , { "\xc2\xe8\xe9\xc2" , "\x7d\xda\xa1" } , { "\xc2\xe8\xe9\xcf" , "\x7d\xda\xc3" } , { "\xc2\xe9" , "\x7d\xda" } , { "\xc3" , "\xa2\xda" } , { "\xc3\xa1" , "\xa2\xda\x4d" } , { "\xc3\xa2" , "\xa2\xda\x4d" } , { "\xc3\xa3" , "\xa2\xda\x4e" } , { "\xc3\xda" , "\xa2\xdb" } , { "\xc3\xda\xa1" , "\xa2\xdb\x4d" } , { "\xc3\xda\xa2" , "\xa2\xdb\x4d" } , { "\xc3\xdb" , "\xa3" } , { "\xc3\xdb\xa2" , "\xa3\x4d" } , { "\xc3\xdc" , "\xa3\xde" } , { "\xc3\xdc\xa1" , "\xa3\xde\x4d" } , { "\xc3\xdc\xa2" , "\xa3\xde\x4d" } , { "\xc3\xdd" , "\xa2\xda\xdf" } , { "\xc3\xdd\xa2" , "\xa2\xda\xdf\x4d" } , { "\xc3\xdd\xa3" , "\xa2\xda\xdf\x4e" } , { "\xc3\xde" , "\xa2\xda\xe0" } , { "\xc3\xde\xa2" , "\xa2\xda\xe0\x4d" } , { "\xc3\xdf" , "\xa2\xda\xe4" } , { "\xc3\xe0" , "\xa2\xe6" } , { "\xc3\xe1" , "\xa2\xe6\xde" } , { "\xc3\xe1\xa2" , "\xa2\xe6\xde\x4d" } , { "\xc3\xe2" , "\xa2\xe6\xe7" } , { "\xc3\xe2\xa2" , "\xa2\xe6\xe7\x4d" } , { "\xc3\xe4" , "\xa2\xe6\xe0" } , { "\xc3\xe5" , "\xa2\xe6\xe0\xde" } , { "\xc3\xe5\xa2" , "\xa2\xe6\xe0\xde\x4d" } , { "\xc3\xe6" , "\xa2\xe8" } , { "\xc3\xe6\xa2" , "\xa2\xe8\x4d" } , { "\xc3\xe7" , "\xa2\xe6\xe0" } , { "\xc3\xe8" , "\xa2\xe9" } , { "\xc3\xe8\xb3\xdd" , "\xa2\xda\xdf\x51" } , { "\xc3\xe8\xb5\xda" , "\xa2\xdb\x58" } , { "\xc3\xe8\xc2\xdb" , "\xa3\xa1" } , { "\xc3\xe8\xc2\xdd" , "\xa2\xda\xdf\xa1" } , { "\xc3\xe8\xc3" , "\xa2\xda\xb4\xb4\xa4" } , { "\xc3\xe8\xc3\xda" , "\xa2\xdb\xa4" } , { "\xc3\xe8\xc8\xde" , "\xa2\xda\xe0\xb0" } , { "\xc3\xe8\xcc\xda" , "\xa2\xdb\xbd" } , { "\xc3\xe8\xcc\xdc" , "\xa3\xb4\xbd\xde" } , { "\xc3\xe8\xcd" , "\xa2\xda\xb4\xc0" } , { "\xc3\xe8\xcd\xa2" , "\xa2\xda\xb4\xc0\x4d" } , { "\xc3\xe8\xcd\xda" , "\xa2\xdb\xc0" } , { "\xc3\xe8\xcd\xda\xa2" , "\xa2\xdb\xc0\x4d" } , { "\xc3\xe8\xcd\xda\xa3" , "\xa2\xdb\xc0\x4e" } , { "\xc3\xe8\xcd\xdd" , "\xa2\xda\xdf\xc0" } , { "\xc3\xe8\xcd\xde" , "\xa2\xda\xe0\xc0" } , { "\xc3\xe8\xcd\xe5" , "\xa2\xe6\xe0\xc0\xde" } , { "\xc3\xe8\xcd\xe5\xa2" , "\xa2\xe6\xe0\xc0\xde\x4d" } , { "\xc3\xe8\xcf" , "\xa2\xda\xb4\xc3" } , { "\xc3\xe8\xcf\xda" , "\xa2\xdb\xc3" } , { "\xc3\xe8\xcf\xda\xa2" , "\xa2\xdb\xc3\x4d" } , { "\xc3\xe8\xcf\xdb" , "\xa3\xb4\xc3" } , { "\xc3\xe8\xcf\xdc" , "\xa3\xb4\xc3\xde" } , { "\xc3\xe8\xcf\xde" , "\xa2\xda\xe0\xc3" } , { "\xc3\xe8\xcf\xe0" , "\xa2\xe6\xb4\xc3" } , { "\xc3\xe8\xcf\xe1" , "\xa2\xe6\xb4\xc3\xde" } , { "\xc3\xe8\xcf\xe2" , "\xa2\xe6\xb4\xee" } , { "\xc3\xe8\xcf\xe5" , "\xa2\xe6\xe0\xc3\xde" } , { "\xc3\xe8\xcf\xe8\xcd" , "\xa2\xda\xb4\xc3\x3d\xc0" } , { "\xc3\xe8\xd1\xdd" , "\xa2\xda\xdf\xc7" } , { "\xc3\xe8\xd1\xe5" , "\xa2\xe6\xe0\xc7\xde" } , { "\xc3\xe8\xd2" , "\xa2\xda\xb4\xd9" } , { "\xc3\xe8\xd4" , "\xa2\xda\xb4\xca" } , { "\xc3\xe8\xd4\xda" , "\xa2\xdb\xca" } , { "\xc3\xe8\xd4\xdb" , "\xa3\xb4\xca" } , { "\xc3\xe8\xd4\xdc" , "\xa3\xb4\xca\xde" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\xa3\xb4\xcd\xf0\xde" } , { "\xc3\xe8\xd7" , "\xa2\xda\xb4\xd3" } , { "\xc3\xe8\xd7\xe8" , "\xa2\xe9\xd3" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\xa2\xda\xb4\xbe\xda\xdf\x25" } , { "\xc3\xe8\xe8" , "\xa2\xe9" } , { "\xc3\xe8\xe9\xcf" , "\xa2\xda\xb4\xc3" } , { "\xc3\xe9" , "\xa2\xda" } , { "\xc4" , "\xa5\xda" } , { "\xc4\xa1" , "\xa5\xda\x4d" } , { "\xc4\xa2" , "\xa5\xda\x4d" } , { "\xc4\xa2\xa2" , "\xa5\xda\x4d\x4d" } , { "\xc4\xa3" , "\xa5\xda\x4e" } , { "\xc4\xd3\xcd\xda" , "\xa5\xda\xd7\xda\xbe\xda\xe1\xdb" } , { "\xc4\xd9" , "\xa5\xda\xda" } , { "\xc4\xda" , "\xa5\xdb" } , { "\xc4\xda\xa1" , "\xa5\xdb\x4d" } , { "\xc4\xda\xa2" , "\xa5\xdb\x4d" } , { "\xc4\xda\xa2\xa2" , "\xa5\xdb\x4d\x4d" } , { "\xc4\xda\xa3" , "\xa5\xdb\x4e" } , { "\xc4\xdb" , "\xa6" } , { "\xc4\xdb\xa2" , "\xa6\x4d" } , { "\xc4\xdb\xa2\xa2" , "\xa6\x4d\x4d" } , { "\xc4\xdb\xa3" , "\xa6\x4e" } , { "\xc4\xdb\xd7\xdf" , "\xa6\xd1\xda\xe4" } , { "\xc4\xdc" , "\xa6\xde" } , { "\xc4\xdc\xa2" , "\xa6\xde\x4d" } , { "\xc4\xdd" , "\xa5\xda\xdf" } , { "\xc4\xdd\xa1" , "\xa5\xda\xdf\x4d" } , { "\xc4\xdd\xa2" , "\xa5\xda\xdf\x4d" } , { "\xc4\xdd\xa3" , "\xa5\xda\xdf\x4e" } , { "\xc4\xde" , "\xa5\xda\xe0" } , { "\xc4\xde\xa1" , "\xa5\xda\xe0\x4d" } , { "\xc4\xde\xa2" , "\xa5\xda\xe0\x4d" } , { "\xc4\xdf" , "\xa5\xda\xe4" } , { "\xc4\xdf\xa2" , "\xa5\xda\xe4\x4d" } , { "\xc4\xe0" , "\xa5\xe6" } , { "\xc4\xe0\xa2" , "\xa5\xe6\x4d" } , { "\xc4\xe1" , "\xa5\xe6\xde" } , { "\xc4\xe1\xa2" , "\xa5\xe6\xde\x4d" } , { "\xc4\xe2" , "\xa5\xe6\xe7" } , { "\xc4\xe2\xa2" , "\xa5\xe6\xe7\x4d" } , { "\xc4\xe2\xa3" , "\xa5\xe6\xe7\x4e" } , { "\xc4\xe4" , "\xa5\xe6\xe0" } , { "\xc4\xe4\xa2" , "\xa5\xe6\xe0\x4d" } , { "\xc4\xe5" , "\xa5\xe6\xe0\xde" } , { "\xc4\xe5\xa2" , "\xa5\xe6\xe0\xde\x4d" } , { "\xc4\xe6" , "\xa5\xe8" } , { "\xc4\xe6\xa2" , "\xa5\xe8\x4d" } , { "\xc4\xe7" , "\xa5\xe6\xe0" } , { "\xc4\xe8" , "\xa5\xe9" } , { "\xc4\xe8\xb3" , "\xa5\xda\x51" } , { "\xc4\xe8\xb3\xda" , "\xa5\xdb\x51" } , { "\xc4\xe8\xb3\xdb" , "\xa6\x51" } , { "\xc4\xe8\xb3\xdd" , "\xa5\xda\xdf\x51" } , { "\xc4\xe8\xb3\xde" , "\xa5\xda\xe0\x51" } , { "\xc4\xe8\xb3\xe8\xb3\xe0" , "\xa5\xe6\x51\xfc\x51" } , { "\xc4\xe8\xb4" , "\xa5\xda\x55" } , { "\xc4\xe8\xb4\xda" , "\xa5\xdb\x55" } , { "\xc4\xe8\xb5" , "\xa5\xda\x58" } , { "\xc4\xe8\xb5\xa2" , "\xa5\xda\x58\x4d" } , { "\xc4\xe8\xb5\xda" , "\xa5\xdb\x58" } , { "\xc4\xe8\xb5\xdc" , "\xa6\x58\xde" } , { "\xc4\xe8\xb5\xdd" , "\xa5\xda\xdf\x58" } , { "\xc4\xe8\xb5\xdf" , "\xa5\xda\x58\xf5\xe4" } , { "\xc4\xe8\xb5\xe1" , "\xa5\xe6\x58\xde" } , { "\xc4\xe8\xb5\xe5" , "\xa5\xe6\xe0\x58\xde" } , { "\xc4\xe8\xb5\xe8\xc5" , "\xa5\xda\x58\xf2\xaa" } , { "\xc4\xe8\xb5\xe8\xcf" , "\xa5\xda\x58\xf0" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\xa5\xda\x58\xf0\x4d" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\xa5\xdb\x58\xf0" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\xa6\x58\xf0\xde" } , { "\xc4\xe8\xb5\xe8\xd8" , "\xa5\xda\x58\xf3\xd6" } , { "\xc4\xe8\xb6" , "\xa5\xda\x5b" } , { "\xc4\xe8\xb6\xda" , "\xa5\xdb\x5b" } , { "\xc4\xe8\xb6\xda\xa2" , "\xa5\xdb\x5b\x4d" } , { "\xc4\xe8\xb6\xdf" , "\xa5\xda\x5b\x3e\xe4" } , { "\xc4\xe8\xb6\xe5" , "\xa5\xe6\xe0\x5b\xde" } , { "\xc4\xe8\xb6\xe8\xc2" , "\xa5\xda\x5b\xfe\xa1" } , { "\xc4\xe8\xb8" , "\xa5\xda\x60" } , { "\xc4\xe8\xb8\xda" , "\xa5\xdb\x60" } , { "\xc4\xe8\xb8\xdb" , "\xa6\x60" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\xa6\x60\x3e\x63" } , { "\xc4\xe8\xba" , "\xa5\xda\x67" } , { "\xc4\xe8\xba\xdc" , "\xa6\x67\xde" } , { "\xc4\xe8\xba\xdd" , "\xa5\xda\xdf\x67" } , { "\xc4\xe8\xba\xdf" , "\xa5\xda\x67\xf5\xe4" } , { "\xc4\xe8\xba\xe1" , "\xa5\xe6\x67\xde" } , { "\xc4\xe8\xba\xe5" , "\xa5\xe6\xe0\x67\xde" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\xa5\xda\xdf\x67\xf3\x6b" } , { "\xc4\xe8\xbb" , "\xa5\xda\x69" } , { "\xc4\xe8\xbf\xda" , "\xa5\xdb\x75" } , { "\xc4\xe8\xbf\xdb" , "\xa6\x75" } , { "\xc4\xe8\xbf\xe9" , "\xa5\xda\x75" } , { "\xc4\xe8\xc0" , "\xa5\xda\x78" } , { "\xc4\xe8\xc0\xe9" , "\xa5\xda\x78" } , { "\xc4\xe8\xc2" , "\xa5\xda\xa1" } , { "\xc4\xe8\xc2\xa2" , "\xa5\xda\xa1\x4d" } , { "\xc4\xe8\xc2\xdd" , "\xa5\xda\xdf\xa1" } , { "\xc4\xe8\xc2\xe2" , "\xa5\xe6\xeb" } , { "\xc4\xe8\xc2\xe5" , "\xa5\xe6\xe0\xa1\xde" } , { "\xc4\xe8\xc2\xe8\xd4\xe2" , "\xa5\xe6\xec\x3e\xe7" } , { "\xc4\xe8\xc3" , "\xa5\xda\xa4" } , { "\xc4\xe8\xc3\xa2" , "\xa5\xda\xa4\x4d" } , { "\xc4\xe8\xc3\xda" , "\xa5\xdb\xa4" } , { "\xc4\xe8\xc3\xda\xa2" , "\xa5\xdb\xa4\x4d" } , { "\xc4\xe8\xc3\xdb" , "\xa6\xa4" } , { "\xc4\xe8\xc3\xdb\xa3" , "\xa6\xa4\x4e" } , { "\xc4\xe8\xc3\xdd" , "\xa5\xda\xdf\xa4" } , { "\xc4\xe8\xc4" , "\xa5\xda\xa7" } , { "\xc4\xe8\xc4\xa2" , "\xa5\xda\xa7\x4d" } , { "\xc4\xe8\xc4\xa3" , "\xa5\xda\xa7\x4e" } , { "\xc4\xe8\xc4\xda" , "\xa5\xdb\xa7" } , { "\xc4\xe8\xc4\xda\xa2" , "\xa5\xdb\xa7\x4d" } , { "\xc4\xe8\xc4\xdb" , "\xa6\xa7" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xa6\xa7\x4d" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xa6\xa7\x4e" } , { "\xc4\xe8\xc4\xdc" , "\xa6\xa7\xde" } , { "\xc4\xe8\xc4\xdd" , "\xa5\xda\xdf\xa7" } , { "\xc4\xe8\xc4\xdd\xa2" , "\xa5\xda\xdf\xa7\x4d" } , { "\xc4\xe8\xc4\xde" , "\xa5\xda\xe0\xa7" } , { "\xc4\xe8\xc4\xdf" , "\xa5\xda\xa7\xf5\xe4" } , { "\xc4\xe8\xc4\xe0" , "\xa5\xe6\xa7" } , { "\xc4\xe8\xc4\xe0\xa2" , "\xa5\xe6\xa7\x4d" } , { "\xc4\xe8\xc4\xe1" , "\xa5\xe6\xa7\xde" } , { "\xc4\xe8\xc4\xe1\xa2" , "\xa5\xe6\xa7\xde\x4d" } , { "\xc4\xe8\xc4\xe1\xa3" , "\xa5\xe6\xa7\xde\x4e" } , { "\xc4\xe8\xc4\xe2" , "\xa5\xe6\xa7\xf5\xe7" } , { "\xc4\xe8\xc4\xe4" , "\xa5\xe6\xe0\xa7" } , { "\xc4\xe8\xc4\xe5" , "\xa5\xe6\xe0\xa7\xde" } , { "\xc4\xe8\xc4\xe5\xa2" , "\xa5\xe6\xe0\xa7\xde\x4d" } , { "\xc4\xe8\xc4\xe6" , "\xa5\xe8\xa7" } , { "\xc4\xe8\xc4\xe8" , "\xa5\xe9\xa7" } , { "\xc4\xe8\xc4\xe8\xcd" , "\xa5\xda\xa7\xf4\xc0" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\xa5\xda\xa7\xf4\xc0\x4d" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\xa5\xda\xdf\xa7\xf4\xc0" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\xa5\xe6\xe0\xa7\xf4\xc0\xde" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\xa6\xa7\xf0" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\xa5\xda\xe0\xa7\xf0" } , { "\xc4\xe8\xc4\xe8\xd4\xa2" , "\xa5\xda\xa7\xf5\xca\x4d" } , { "\xc4\xe8\xc4\xe8\xd4\xda" , "\xa5\xdb\xa7\xf5\xca" } , { "\xc4\xe8\xc4\xe8\xd4\xdb" , "\xa6\xa7\xf5\xca" } , { "\xc4\xe8\xc4\xe8\xd4\xe1" , "\xa5\xe6\xa7\xf5\xca\xde" } , { "\xc4\xe8\xc5" , "\xa5\xda\xaa" } , { "\xc4\xe8\xc5\xa2" , "\xa5\xda\xaa\x4d" } , { "\xc4\xe8\xc5\xa3" , "\xa5\xda\xaa\x4e" } , { "\xc4\xe8\xc5\xda" , "\xa5\xdb\xaa" } , { "\xc4\xe8\xc5\xda\xa1" , "\xa5\xdb\xaa\x4d" } , { "\xc4\xe8\xc5\xda\xa2" , "\xa5\xdb\xaa\x4d" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\xa5\xdb\xaa\x4d\x4d" } , { "\xc4\xe8\xc5\xda\xa3" , "\xa5\xdb\xaa\x4e" } , { "\xc4\xe8\xc5\xdb" , "\xa6\xaa" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xa6\xaa\x4d" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xa6\xaa\x4e" } , { "\xc4\xe8\xc5\xdc" , "\xa6\xaa\xde" } , { "\xc4\xe8\xc5\xdc\xa2" , "\xa6\xaa\xde\x4d" } , { "\xc4\xe8\xc5\xdd" , "\xa5\xda\xdf\xaa" } , { "\xc4\xe8\xc5\xdd\xa2" , "\xa5\xda\xdf\xaa\x4d" } , { "\xc4\xe8\xc5\xde" , "\xa5\xda\xe0\xaa" } , { "\xc4\xe8\xc5\xdf" , "\xa5\xda\xaa\xf5\xe4" } , { "\xc4\xe8\xc5\xe0" , "\xa5\xe6\xaa" } , { "\xc4\xe8\xc5\xe1" , "\xa5\xe6\xaa\xde" } , { "\xc4\xe8\xc5\xe1\xa2" , "\xa5\xe6\xaa\xde\x4d" } , { "\xc4\xe8\xc5\xe1\xa3" , "\xa5\xe6\xaa\xde\x4e" } , { "\xc4\xe8\xc5\xe2" , "\xa5\xe6\xaa\xf5\xe7" } , { "\xc4\xe8\xc5\xe4" , "\xa5\xe6\xe0\xaa" } , { "\xc4\xe8\xc5\xe5" , "\xa5\xe6\xe0\xaa\xde" } , { "\xc4\xe8\xc5\xe5\xa2" , "\xa5\xe6\xe0\xaa\xde\x4d" } , { "\xc4\xe8\xc5\xe8\xc2" , "\xa5\xda\xaa\xf2\xa1" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\xa5\xdb\xaa\xf5\xad" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\xa6\xaa\xf5\xb9\xde" } , { "\xc4\xe8\xc5\xe8\xcd" , "\xa5\xda\xaa\xf4\xc0" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\xa5\xda\xaa\xf4\xc0\x4d" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\xa5\xdb\xaa\xf4\xc0" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\xa5\xe6\xe0\xaa\xf4\xc0\xde" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\xa6\xaa\xf0" } , { "\xc4\xe8\xc5\xe8\xd4" , "\xa5\xda\xaa\xf5\xca" } , { "\xc4\xe8\xc5\xe8\xd4\xda" , "\xa5\xdb\xaa\xf5\xca" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\xa5\xda\xdf\xaa\xf4\xcd" } , { "\xc4\xe8\xc6" , "\xa5\xda\xad" } , { "\xc4\xe8\xc6\xda" , "\xa5\xdb\xad" } , { "\xc4\xe8\xc6\xdb" , "\xa6\xad" } , { "\xc4\xe8\xc6\xdb\xa2" , "\xa6\xad\x4d" } , { "\xc4\xe8\xc6\xdc" , "\xa6\xad\xde" } , { "\xc4\xe8\xc6\xdd" , "\xa5\xda\xdf\xad" } , { "\xc4\xe8\xc6\xdd\xa2" , "\xa5\xda\xdf\xad\x4d" } , { "\xc4\xe8\xc6\xe5" , "\xa5\xe6\xe0\xad\xde" } , { "\xc4\xe8\xc6\xe8\xc2" , "\xa5\xda\xad\xfe\xa1" } , { "\xc4\xe8\xc8" , "\xa5\xda\xb0" } , { "\xc4\xe8\xc8\xa2" , "\xa5\xda\xb0\x4d" } , { "\xc4\xe8\xc8\xda" , "\xa5\xdb\xb0" } , { "\xc4\xe8\xc8\xdd" , "\xa5\xda\xdf\xb0" } , { "\xc4\xe8\xc8\xde" , "\xa5\xda\xe0\xb0" } , { "\xc4\xe8\xc8\xe2" , "\xa5\xe6\xb0\x3e\xe7" } , { "\xc4\xe8\xca" , "\xa5\xda\xb9" } , { "\xc4\xe8\xca\xa2" , "\xa5\xda\xb9\x4d" } , { "\xc4\xe8\xca\xda" , "\xa5\xdb\xb9" } , { "\xc4\xe8\xca\xda\xa2" , "\xa5\xdb\xb9\x4d" } , { "\xc4\xe8\xca\xdb" , "\xa6\xb9" } , { "\xc4\xe8\xca\xdc" , "\xa6\xb9\xde" } , { "\xc4\xe8\xca\xdd" , "\xa5\xda\xdf\xb9" } , { "\xc4\xe8\xca\xe1" , "\xa5\xe6\xb9\xde" } , { "\xc4\xe8\xca\xe5" , "\xa5\xe6\xe0\xb9\xde" } , { "\xc4\xe8\xca\xe8\xcf" , "\xa5\xda\xb9\xf1" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\xa5\xdb\xb9\xf1" } , { "\xc4\xe8\xcb" , "\xa5\xda\xbc" } , { "\xc4\xe8\xcb\xa2" , "\xa5\xda\xbc\x4d" } , { "\xc4\xe8\xcb\xda" , "\xa5\xdb\xbc" } , { "\xc4\xe8\xcb\xda\xa2" , "\xa5\xdb\xbc\x4d" } , { "\xc4\xe8\xcb\xdb" , "\xa6\xbc" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xa6\xbc\x4e" } , { "\xc4\xe8\xcb\xdc" , "\xa6\xbc\xde" } , { "\xc4\xe8\xcb\xdd" , "\xa5\xda\xdf\xbc" } , { "\xc4\xe8\xcb\xde" , "\xa5\xda\xe0\xbc" } , { "\xc4\xe8\xcb\xe1" , "\xa5\xe6\xbc\xde" } , { "\xc4\xe8\xcb\xe5" , "\xa5\xe6\xe0\xbc\xde" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\xa5\xdb\xbc\xf1" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\xa5\xda\xe0\xbc\xf1" } , { "\xc4\xe8\xcc" , "\xa5\xda\xbd" } , { "\xc4\xe8\xcc\xa2" , "\xa5\xda\xbd\x4d" } , { "\xc4\xe8\xcc\xda" , "\xa5\xdb\xbd" } , { "\xc4\xe8\xcc\xda\xa2" , "\xa5\xdb\xbd\x4d" } , { "\xc4\xe8\xcc\xdb" , "\xa6\xbd" } , { "\xc4\xe8\xcc\xdd" , "\xa5\xda\xdf\xbd" } , { "\xc4\xe8\xcc\xde" , "\xa5\xda\xe0\xbd" } , { "\xc4\xe8\xcc\xe1" , "\xa5\xe6\xbd\xde" } , { "\xc4\xe8\xcc\xe1\xa2" , "\xa5\xe6\xbd\xde\x4d" } , { "\xc4\xe8\xcc\xe5" , "\xa5\xe6\xe0\xbd\xde" } , { "\xc4\xe8\xcd" , "\xa5\xda\xc0" } , { "\xc4\xe8\xcd\xa1" , "\xa5\xda\xc0\x4d" } , { "\xc4\xe8\xcd\xa2" , "\xa5\xda\xc0\x4d" } , { "\xc4\xe8\xcd\xa3" , "\xa5\xda\xc0\x4e" } , { "\xc4\xe8\xcd\xda" , "\xa5\xdb\xc0" } , { "\xc4\xe8\xcd\xda\xa2" , "\xa5\xdb\xc0\x4d" } , { "\xc4\xe8\xcd\xda\xa3" , "\xa5\xdb\xc0\x4e" } , { "\xc4\xe8\xcd\xdb" , "\xa6\xc0" } , { "\xc4\xe8\xcd\xdc" , "\xa6\xc0\xde" } , { "\xc4\xe8\xcd\xdd" , "\xa5\xda\xdf\xc0" } , { "\xc4\xe8\xcd\xdd\xa2" , "\xa5\xda\xdf\xc0\x4d" } , { "\xc4\xe8\xcd\xde" , "\xa5\xda\xe0\xc0" } , { "\xc4\xe8\xcd\xdf" , "\xa5\xda\xc0\xfd\xe4" } , { "\xc4\xe8\xcd\xe0" , "\xa5\xe6\xc0" } , { "\xc4\xe8\xcd\xe1" , "\xa5\xe6\xc0\xde" } , { "\xc4\xe8\xcd\xe1\xa2" , "\xa5\xe6\xc0\xde\x4d" } , { "\xc4\xe8\xcd\xe2" , "\xa5\xe6\xc0\xfd\xe7" } , { "\xc4\xe8\xcd\xe4" , "\xa5\xe6\xe0\xc0" } , { "\xc4\xe8\xcd\xe5" , "\xa5\xe6\xe0\xc0\xde" } , { "\xc4\xe8\xcd\xe5\xa2" , "\xa5\xe6\xe0\xc0\xde\x4d" } , { "\xc4\xe8\xcd\xe6" , "\xa5\xe8\xc0" } , { "\xc4\xe8\xcd\xe6\xa2" , "\xa5\xe8\xc0\x4d" } , { "\xc4\xe8\xcd\xe8" , "\xa5\xe9\xc0" } , { "\xc4\xe8\xcd\xe8\xcd" , "\xa5\xda\xc0\xfc\xc0" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\xa5\xdb\xc0\xfc\xc0" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\xa5\xe6\xe0\xc0\xfc\xc0\xde" } , { "\xc4\xe8\xcd\xe8\xcf" , "\xa5\xda\xc0\xf0" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\xa5\xda\xc0\xf0\x4d" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\xa5\xdb\xc0\xf0" } , { "\xc4\xe8\xcf" , "\xa5\xda\xc3" } , { "\xc4\xe8\xcf\xa2" , "\xa5\xda\xc3\x4d" } , { "\xc4\xe8\xcf\xa3" , "\xa5\xda\xc3\x4e" } , { "\xc4\xe8\xcf\xd9" , "\xa5\xda\xc3\xda" } , { "\xc4\xe8\xcf\xda" , "\xa5\xdb\xc3" } , { "\xc4\xe8\xcf\xda\xa2" , "\xa5\xdb\xc3\x4d" } , { "\xc4\xe8\xcf\xdb" , "\xa6\xc3" } , { "\xc4\xe8\xcf\xdb\xa2" , "\xa6\xc3\x4d" } , { "\xc4\xe8\xcf\xdc" , "\xa6\xc3\xde" } , { "\xc4\xe8\xcf\xdd" , "\xa5\xda\xdf\xc3" } , { "\xc4\xe8\xcf\xdd\xa2" , "\xa5\xda\xdf\xc3\x4d" } , { "\xc4\xe8\xcf\xde" , "\xa5\xda\xe0\xc3" } , { "\xc4\xe8\xcf\xe0" , "\xa5\xe6\xc3" } , { "\xc4\xe8\xcf\xe0\xa2" , "\xa5\xe6\xc3\x4d" } , { "\xc4\xe8\xcf\xe1" , "\xa5\xe6\xc3\xde" } , { "\xc4\xe8\xcf\xe2" , "\xa5\xe6\xee" } , { "\xc4\xe8\xcf\xe4" , "\xa5\xe6\xe0\xc3" } , { "\xc4\xe8\xcf\xe5" , "\xa5\xe6\xe0\xc3\xde" } , { "\xc4\xe8\xcf\xe5\xa2" , "\xa5\xe6\xe0\xc3\xde\x4d" } , { "\xc4\xe8\xcf\xe6" , "\xa5\xe8\xc3" } , { "\xc4\xe8\xcf\xe8" , "\xa5\xe9\xc3" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\xa5\xda\xc3\xfe\xa4\x4d" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\xa5\xdb\xc3\x3e\xb0" } , { "\xc4\xe8\xcf\xe8\xcd" , "\xa5\xda\xc3\x3d\xc0" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\xa5\xda\xc3\x3d\xc0\x4d" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\xa5\xdb\xc3\x3d\xc0" } , { "\xc4\xe8\xd1" , "\xa5\xda\xc7" } , { "\xc4\xe8\xd1\xda\xa2" , "\xa5\xdb\xc7\x4d" } , { "\xc4\xe8\xd1\xdb" , "\xa6\xc7" } , { "\xc4\xe8\xd1\xdc" , "\xa6\xc7\xde" } , { "\xc4\xe8\xd1\xdd" , "\xa5\xda\xdf\xc7" } , { "\xc4\xe8\xd1\xde" , "\xa5\xda\xe0\xc7" } , { "\xc4\xe8\xd1\xe5" , "\xa5\xe6\xe0\xc7\xde" } , { "\xc4\xe8\xd2" , "\xa5\xda\xd9" } , { "\xc4\xe8\xd2\xe8\xd4\xe1" , "\xa5\xe6\xd9\x3e\xca\xde" } , { "\xc4\xe8\xd4" , "\xa5\xda\xca" } , { "\xc4\xe8\xd4\xa2" , "\xa5\xda\xca\x4d" } , { "\xc4\xe8\xd4\xda" , "\xa5\xdb\xca" } , { "\xc4\xe8\xd4\xda\xa2" , "\xa5\xdb\xca\x4d" } , { "\xc4\xe8\xd4\xdb" , "\xa6\xca" } , { "\xc4\xe8\xd4\xdc" , "\xa6\xca\xde" } , { "\xc4\xe8\xd4\xdd" , "\xa5\xda\xdf\xca" } , { "\xc4\xe8\xd4\xde" , "\xa5\xda\xe0\xca" } , { "\xc4\xe8\xd4\xdf" , "\xa5\xda\xca\x3e\xe4" } , { "\xc4\xe8\xd4\xdf\xa2" , "\xa5\xda\xca\x3e\xe4\x4d" } , { "\xc4\xe8\xd4\xe1" , "\xa5\xe6\xca\xde" } , { "\xc4\xe8\xd4\xe2" , "\xa5\xe6\xca\x3e\xe7" } , { "\xc4\xe8\xd4\xe5" , "\xa5\xe6\xe0\xca\xde" } , { "\xc4\xe8\xd4\xe5\xa2" , "\xa5\xe6\xe0\xca\xde\x4d" } , { "\xc4\xe8\xd4\xe6" , "\xa5\xe8\xca" } , { "\xc4\xe8\xd4\xe8\xc2\xe8\xc2\xdb" , "\xa6\xca\xfe\xa1\xf2\xa1" } , { "\xc4\xe8\xd4\xe8\xcd" , "\xa5\xda\xca\x3d\xc0" } , { "\xc4\xe8\xd4\xe8\xcd\xa2" , "\xa5\xda\xca\x3d\xc0\x4d" } , { "\xc4\xe8\xd4\xe8\xcd\xda" , "\xa5\xdb\xca\x3d\xc0" } , { "\xc4\xe8\xd4\xe8\xcd\xdb" , "\xa6\xca\x3d\xc0" } , { "\xc4\xe8\xd5" , "\xa5\xda\xcd" } , { "\xc4\xe8\xd5\xdb" , "\xa6\xcd" } , { "\xc4\xe8\xd5\xe5" , "\xa5\xe6\xe0\xcd\xde" } , { "\xc4\xe8\xd5\xe8\xcc" , "\xa5\xda\xcd\xfc\xbd" } , { "\xc4\xe8\xd5\xe8\xcd" , "\xa5\xda\xcd\xfc\xc0" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\xa5\xe6\xe0\xcd\xfc\xc0\xde\x4d" } , { "\xc4\xe8\xd6" , "\xa5\xda\xd0" } , { "\xc4\xe8\xd6\xda" , "\xa5\xdb\xd0" } , { "\xc4\xe8\xd6\xdb" , "\xa6\xd0" } , { "\xc4\xe8\xd6\xe8\xbd" , "\xa5\xda\xd0\x3e\x6f" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\xa5\xdb\xd0\x3e\x6f\x4d" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\xa6\xd0\x3e\x6f" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\xa6\xd0\x3e\x6f\xde" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\xa6\xd0\xfe\x72" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\xa6\xd0\xfe\xa1" } , { "\xc4\xe8\xd7" , "\xa5\xda\xd3" } , { "\xc4\xe8\xd7\xda" , "\xa5\xdb\xd3" } , { "\xc4\xe8\xd7\xdb" , "\xa6\xd3" } , { "\xc4\xe8\xd8" , "\xa5\xda\xd6" } , { "\xc4\xe8\xd8\xda" , "\xa5\xdb\xd6" } , { "\xc4\xe8\xd8\xdb\xa2" , "\xa6\xd6\x4d" } , { "\xc4\xe8\xd8\xdd" , "\xa5\xda\xdf\xd6" } , { "\xc4\xe8\xd9\xa6" , "\xa5\xda\x42" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\xa5\xda\x7d\xe6\xe0\xde\x4d" } , { "\xc4\xe8\xd9\xc4" , "\xa5\xda\xa5\xda" } , { "\xc4\xe8\xd9\xc4\xda" , "\xa5\xda\xa5\xdb" } , { "\xc4\xe8\xd9\xc4\xdc" , "\xa5\xda\xa6\xde" } , { "\xc4\xe8\xd9\xc4\xdd" , "\xa5\xda\xa5\xda\xdf" } , { "\xc4\xe8\xd9\xc4\xde" , "\xa5\xda\xa5\xda\xe0" } , { "\xc4\xe8\xd9\xc4\xe1" , "\xa5\xda\xa5\xe6\xde" } , { "\xc4\xe8\xd9\xc4\xe6" , "\xa5\xda\xa5\xe8" } , { "\xc4\xe8\xd9\xc5" , "\xa5\xda\xa8\xda" } , { "\xc4\xe8\xd9\xc5\xda" , "\xa5\xda\xa8\xdb" } , { "\xc4\xe8\xd9\xc5\xde" , "\xa5\xda\xa8\xda\xe0" } , { "\xc4\xe8\xd9\xc5\xdf" , "\xa5\xda\xa8\xda\xe4" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\xa5\xda\xa8\xe6\xe0\xde\x4d" } , { "\xc4\xe8\xd9\xcb\xda" , "\xa5\xda\xba\xdb" } , { "\xc4\xe8\xd9\xcb\xdd" , "\xa5\xda\xba\xda\xdf" } , { "\xc4\xe8\xd9\xcb\xde" , "\xa5\xda\xba\xda\xe0" } , { "\xc4\xe8\xd9\xcb\xdf" , "\xa5\xda\xba\xda\xe4" } , { "\xc4\xe8\xd9\xcc\xdb" , "\xa5\xda\xc9\xdf" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\xa5\xda\xc8\xe6\xdf\xde\x4d" } , { "\xc4\xe8\xd9\xcd" , "\xa5\xda\xbe\xda\xdf" } , { "\xc4\xe8\xd9\xcd\xda" , "\xa5\xda\xbe\xda\xe1\xdb" } , { "\xc4\xe8\xd9\xcd\xdd" , "\xa5\xda\xbe\xda\xdf\xdf" } , { "\xc4\xe8\xd9\xcd\xe5" , "\xa5\xda\xbe\xe6\xe0\xde" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\xa5\xda\xbe\xe6\xe0\xde\x4d" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\xa5\xda\xa8\xda\x25" } , { "\xc4\xe8\xd9\xd4" , "\xa5\xda\xc8\xda" } , { "\xc4\xe8\xd9\xd4\xda" , "\xa5\xda\xc8\xdb" } , { "\xc4\xe8\xd9\xd4\xdb" , "\xa5\xda\xc9" } , { "\xc4\xe8\xd9\xd4\xe1" , "\xa5\xda\xc8\xe6\xde" } , { "\xc4\xe8\xd9\xd4\xe8\xcd" , "\xa5\xda\xc8\xda\xc0" } , { "\xc4\xe8\xe8" , "\xa5\xe9" } , { "\xc4\xe8\xe9\xc4" , "\xa5\xda\xa7" } , { "\xc4\xe8\xe9\xc5" , "\xa5\xda\xaa" } , { "\xc4\xe8\xe9\xcd" , "\xa5\xda\xc0" } , { "\xc4\xe8\xe9\xcf" , "\xa5\xda\xc3" } , { "\xc4\xe8\xe9\xd4" , "\xa5\xda\xca" } , { "\xc4\xe9" , "\xa5\xda" } , { "\xc5" , "\xa8\xda" } , { "\xc5\xa1" , "\xa8\xda\x4d" } , { "\xc5\xa2" , "\xa8\xda\x4d" } , { "\xc5\xa3" , "\xa8\xda\x4e" } , { "\xc5\xd0" , "\xa8\xda\xc1\xda" } , { "\xc5\xd0\xdc" , "\xa8\xda\xc2\xde" } , { "\xc5\xda" , "\xa8\xdb" } , { "\xc5\xda\xa1" , "\xa8\xdb\x4d" } , { "\xc5\xda\xa2" , "\xa8\xdb\x4d" } , { "\xc5\xdb" , "\xa9" } , { "\xc5\xdb\xa2" , "\xa9\x4d" } , { "\xc5\xdb\xa3" , "\xa9\x4e" } , { "\xc5\xdc" , "\xa9\xde" } , { "\xc5\xdc\xa2" , "\xa9\xde\x4d" } , { "\xc5\xdc\xa3" , "\xa9\xde\x4e" } , { "\xc5\xdd" , "\xa8\xda\xdf" } , { "\xc5\xdd\xa1" , "\xa8\xda\xdf\x4d" } , { "\xc5\xdd\xa2" , "\xa8\xda\xdf\x4d" } , { "\xc5\xdd\xa3" , "\xa8\xda\xdf\x4e" } , { "\xc5\xde" , "\xa8\xda\xe0" } , { "\xc5\xde\xa1" , "\xa8\xda\xe0\x4d" } , { "\xc5\xde\xa2" , "\xa8\xda\xe0\x4d" } , { "\xc5\xdf" , "\xa8\xda\xe4" } , { "\xc5\xe0" , "\xa8\xe6" } , { "\xc5\xe0\xa2" , "\xa8\xe6\x4d" } , { "\xc5\xe1" , "\xa8\xe6\xde" } , { "\xc5\xe1\xa2" , "\xa8\xe6\xde\x4d" } , { "\xc5\xe2" , "\xa8\xe6\xe7" } , { "\xc5\xe4" , "\xa8\xe6\xe0" } , { "\xc5\xe5" , "\xa8\xe6\xe0\xde" } , { "\xc5\xe5\xa2" , "\xa8\xe6\xe0\xde\x4d" } , { "\xc5\xe5\xa3" , "\xa8\xe6\xe0\xde\x4e" } , { "\xc5\xe6" , "\xa8\xe8" } , { "\xc5\xe6\xa2" , "\xa8\xe8\x4d" } , { "\xc5\xe8" , "\xa8\xe9" } , { "\xc5\xe8\xb3\xda" , "\xa8\xdb\x51" } , { "\xc5\xe8\xb3\xdd" , "\xa8\xda\xdf\x51" } , { "\xc5\xe8\xb3\xe5" , "\xa8\xe6\xe0\x51\xde" } , { "\xc5\xe8\xb3\xe8\xd6" , "\xa8\xda\xb4\x51\xfd\xd0" } , { "\xc5\xe8\xb5" , "\xa8\xda\xb4\xb4\x58" } , { "\xc5\xe8\xb8" , "\xa8\xda\xb4\x60" } , { "\xc5\xe8\xb8\xda" , "\xa8\xdb\x60" } , { "\xc5\xe8\xbf\xe9\xda" , "\xa8\xdb\x75" } , { "\xc5\xe8\xc1\xda" , "\xa8\xdb\x7c" } , { "\xc5\xe8\xc1\xdb" , "\xa9\xb4\xb4\x7c" } , { "\xc5\xe8\xc2" , "\xa8\xda\xa1" } , { "\xc5\xe8\xc2\xda" , "\xa8\xdb\xa1" } , { "\xc5\xe8\xc4" , "\xa8\xda\xb4\xb4\xa7" } , { "\xc5\xe8\xc4\xda" , "\xa8\xdb\xa7" } , { "\xc5\xe8\xc4\xda\xa2" , "\xa8\xdb\xa7\x4d" } , { "\xc5\xe8\xc4\xdb" , "\xa9\xb4\xb4\xa7" } , { "\xc5\xe8\xc4\xdd" , "\xa8\xda\xdf\xa7" } , { "\xc5\xe8\xc4\xde" , "\xa8\xda\xe0\xa7" } , { "\xc5\xe8\xc4\xe1\xa2" , "\xa8\xe6\xb4\xb4\xa7\xde\x4d" } , { "\xc5\xe8\xc4\xe5" , "\xa8\xe6\xe0\xa7\xde" } , { "\xc5\xe8\xc4\xe5\xa2" , "\xa8\xe6\xe0\xa7\xde\x4d" } , { "\xc5\xe8\xc4\xe8\xc4" , "\xa8\xda\xb4\xb4\xa7\xf2\xa7" } , { "\xc5\xe8\xc5" , "\xa8\xda\xb4\xb4\xaa" } , { "\xc5\xe8\xc5\xa2" , "\xa8\xda\xb4\xb4\xaa\x4d" } , { "\xc5\xe8\xc5\xda" , "\xa8\xdb\xaa" } , { "\xc5\xe8\xc5\xda\xa2" , "\xa8\xdb\xaa\x4d" } , { "\xc5\xe8\xc5\xdb" , "\xa9\xb4\xb4\xaa" } , { "\xc5\xe8\xc5\xdb\xa2" , "\xa9\xb4\xb4\xaa\x4d" } , { "\xc5\xe8\xc5\xdd" , "\xa8\xda\xdf\xaa" } , { "\xc5\xe8\xc5\xe8\xcd" , "\xa8\xda\xb4\xb4\xaa\xf4\xc0" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\xa8\xdb\xaa\xf4\xc0" } , { "\xc5\xe8\xc6" , "\xa8\xda\xb4\xad" } , { "\xc5\xe8\xc6\xda" , "\xa8\xdb\xad" } , { "\xc5\xe8\xc6\xdd" , "\xa8\xda\xdf\xad" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\xa8\xdb\xad\x3d\xc0" } , { "\xc5\xe8\xc8\xdd" , "\xa8\xda\xdf\xb0" } , { "\xc5\xe8\xc8\xde" , "\xa8\xda\xe0\xb0" } , { "\xc5\xe8\xca\xdd" , "\xa8\xda\xdf\xb9" } , { "\xc5\xe8\xca\xe6" , "\xa8\xe8\xb9" } , { "\xc5\xe8\xcb\xdd" , "\xa8\xda\xdf\xbc" } , { "\xc5\xe8\xcc" , "\xa8\xda\xb4\xbd" } , { "\xc5\xe8\xcc\xda" , "\xa8\xdb\xbd" } , { "\xc5\xe8\xcc\xdd" , "\xa8\xda\xdf\xbd" } , { "\xc5\xe8\xcd" , "\xa8\xda\xb4\xc0" } , { "\xc5\xe8\xcd\xa2" , "\xa8\xda\xb4\xc0\x4d" } , { "\xc5\xe8\xcd\xa3" , "\xa8\xda\xb4\xc0\x4e" } , { "\xc5\xe8\xcd\xda" , "\xa8\xdb\xc0" } , { "\xc5\xe8\xcd\xda\xa2" , "\xa8\xdb\xc0\x4d" } , { "\xc5\xe8\xcd\xda\xa3" , "\xa8\xdb\xc0\x4e" } , { "\xc5\xe8\xcd\xdb" , "\xa9\xb4\xc0" } , { "\xc5\xe8\xcd\xdc" , "\xa9\xb4\xc0\xde" } , { "\xc5\xe8\xcd\xdd" , "\xa8\xda\xdf\xc0" } , { "\xc5\xe8\xcd\xde" , "\xa8\xda\xe0\xc0" } , { "\xc5\xe8\xcd\xe1" , "\xa8\xe6\xb4\xc0\xde" } , { "\xc5\xe8\xcd\xe2" , "\xa8\xe6\xb4\xc0\xfd\xe7" } , { "\xc5\xe8\xcd\xe5" , "\xa8\xe6\xe0\xc0\xde" } , { "\xc5\xe8\xcd\xe5\xa2" , "\xa8\xe6\xe0\xc0\xde\x4d" } , { "\xc5\xe8\xcd\xe8\xc2" , "\xa8\xda\xb4\xc0\xfa\xa1" } , { "\xc5\xe8\xcd\xe8\xcd" , "\xa8\xda\xb4\xc0\xfc\xc0" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\xa8\xdb\xc0\xfc\xc0" } , { "\xc5\xe8\xcf" , "\xa8\xda\xb4\xc3" } , { "\xc5\xe8\xcf\xa2" , "\xa8\xda\xb4\xc3\x4d" } , { "\xc5\xe8\xcf\xda" , "\xa8\xdb\xc3" } , { "\xc5\xe8\xcf\xda\xa2" , "\xa8\xdb\xc3\x4d" } , { "\xc5\xe8\xcf\xdb" , "\xa9\xb4\xc3" } , { "\xc5\xe8\xcf\xdc" , "\xa9\xb4\xc3\xde" } , { "\xc5\xe8\xcf\xdd" , "\xa8\xda\xdf\xc3" } , { "\xc5\xe8\xcf\xde" , "\xa8\xda\xe0\xc3" } , { "\xc5\xe8\xcf\xdf" , "\xa8\xda\xb4\xc3\x3e\xe4" } , { "\xc5\xe8\xcf\xe1" , "\xa8\xe6\xb4\xc3\xde" } , { "\xc5\xe8\xcf\xe5" , "\xa8\xe6\xe0\xc3\xde" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\xa8\xe6\xe0\xc3\x3d\xbd\xde" } , { "\xc5\xe8\xcf\xe8\xcd" , "\xa8\xda\xb4\xc3\x3d\xc0" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\xa8\xdb\xc3\x3d\xc0" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\xa8\xda\xe0\xc3\x3d\xc0" } , { "\xc5\xe8\xcf\xe8\xd4" , "\xa8\xda\xb4\xc3\x3e\xca" } , { "\xc5\xe8\xd1\xdd" , "\xa8\xda\xdf\xc7" } , { "\xc5\xe8\xd1\xe5" , "\xa8\xe6\xe0\xc7\xde" } , { "\xc5\xe8\xd2" , "\xa8\xda\xb4\xd9" } , { "\xc5\xe8\xd4" , "\xa8\xda\xb4\xca" } , { "\xc5\xe8\xd4\xa2" , "\xa8\xda\xb4\xca\x4d" } , { "\xc5\xe8\xd4\xda" , "\xa8\xdb\xca" } , { "\xc5\xe8\xd4\xdb" , "\xa9\xb4\xca" } , { "\xc5\xe8\xd4\xdb\xa2" , "\xa9\xb4\xca\x4d" } , { "\xc5\xe8\xd4\xdc" , "\xa9\xb4\xca\xde" } , { "\xc5\xe8\xd4\xdd" , "\xa8\xda\xdf\xca" } , { "\xc5\xe8\xd4\xe1" , "\xa8\xe6\xb4\xca\xde" } , { "\xc5\xe8\xd4\xe2" , "\xa8\xe6\xb4\xca\x3e\xe7" } , { "\xc5\xe8\xd5\xda" , "\xa8\xdb\xcd" } , { "\xc5\xe8\xd6\xda" , "\xa8\xdb\xd0" } , { "\xc5\xe8\xd6\xdb" , "\xa9\xb4\xd0" } , { "\xc5\xe8\xd6\xe8\xbd" , "\xa8\xda\xb4\xd0\x3e\x6f" } , { "\xc5\xe8\xd7" , "\xa8\xda\xb4\xd3" } , { "\xc5\xe8\xd7\xe1" , "\xa8\xe6\xb4\xd3\xde" } , { "\xc5\xe8\xd7\xe8" , "\xa8\xe9\xd3" } , { "\xc5\xe8\xd9\xcd" , "\xa8\xda\xb4\xbe\xda\xdf" } , { "\xc5\xe8\xd9\xcf\xe8\xd4" , "\xa8\xda\xb4\xc8\xda\x25" } , { "\xc5\xe8\xe8" , "\xa8\xe9" } , { "\xc5\xe9" , "\xa8\xda" } , { "\xc6" , "\xab\xda" } , { "\xc6\xa1" , "\xab\xda\x4d" } , { "\xc6\xa2" , "\xab\xda\x4d" } , { "\xc6\xa2\xa2" , "\xab\xda\x4d\x4d" } , { "\xc6\xa3" , "\xab\xda\x4e" } , { "\xc6\xda" , "\xab\xdb" } , { "\xc6\xda\xa1" , "\xab\xdb\x4d" } , { "\xc6\xda\xa2" , "\xab\xdb\x4d" } , { "\xc6\xda\xa3" , "\xab\xdb\x4e" } , { "\xc6\xdb" , "\xac" } , { "\xc6\xdb\xa2" , "\xac\x4d" } , { "\xc6\xdb\xa3" , "\xac\x4e" } , { "\xc6\xdc" , "\xac\xde" } , { "\xc6\xdc\xa2" , "\xac\xde\x4d" } , { "\xc6\xdd" , "\xab\xda\xdf" } , { "\xc6\xdd\xa1" , "\xab\xda\xdf\x4d" } , { "\xc6\xdd\xa2" , "\xab\xda\xdf\x4d" } , { "\xc6\xdd\xa2\xa2" , "\xab\xda\xdf\x4d\x4d" } , { "\xc6\xdd\xa3" , "\xab\xda\xdf\x4e" } , { "\xc6\xde" , "\xab\xda\xe0" } , { "\xc6\xde\xa1" , "\xab\xda\xe0\x4d" } , { "\xc6\xde\xa2" , "\xab\xda\xe0\x4d" } , { "\xc6\xde\xd0\xe8" , "\xab\xda\xe0\xc1\xe9" } , { "\xc6\xdf" , "\xab\xda\xe4" } , { "\xc6\xe0" , "\xab\xe6" } , { "\xc6\xe0\xa2" , "\xab\xe6\x4d" } , { "\xc6\xe1" , "\xab\xe6\xde" } , { "\xc6\xe1\xa2" , "\xab\xe6\xde\x4d" } , { "\xc6\xe2" , "\xab\xe6\xe7" } , { "\xc6\xe2\xa2" , "\xab\xe6\xe7\x4d" } , { "\xc6\xe2\xa3" , "\xab\xe6\xe7\x4e" } , { "\xc6\xe4" , "\xab\xe6\xe0" } , { "\xc6\xe4\xa2" , "\xab\xe6\xe0\x4d" } , { "\xc6\xe5" , "\xab\xe6\xe0\xde" } , { "\xc6\xe5\xa2" , "\xab\xe6\xe0\xde\x4d" } , { "\xc6\xe5\xa3" , "\xab\xe6\xe0\xde\x4e" } , { "\xc6\xe6" , "\xab\xe8" } , { "\xc6\xe6\xa2" , "\xab\xe8\x4d" } , { "\xc6\xe7" , "\xab\xe6\xe0" } , { "\xc6\xe8" , "\xab\xe9" } , { "\xc6\xe8\xb3" , "\xab\xda\x51" } , { "\xc6\xe8\xb3\xa2" , "\xab\xda\x51\x4d" } , { "\xc6\xe8\xb3\xda" , "\xab\xdb\x51" } , { "\xc6\xe8\xb3\xda\xa2" , "\xab\xdb\x51\x4d" } , { "\xc6\xe8\xb3\xdb" , "\xac\x51" } , { "\xc6\xe8\xb3\xdc" , "\xac\x51\xde" } , { "\xc6\xe8\xb3\xdd" , "\xab\xda\xdf\x51" } , { "\xc6\xe8\xb3\xdd\xa2" , "\xab\xda\xdf\x51\x4d" } , { "\xc6\xe8\xb3\xde" , "\xab\xda\xe0\x51" } , { "\xc6\xe8\xb3\xdf" , "\xab\xda\xed" } , { "\xc6\xe8\xb3\xe0" , "\xab\xe6\x51" } , { "\xc6\xe8\xb3\xe1" , "\xab\xe6\x51\xde" } , { "\xc6\xe8\xb3\xe2" , "\xab\xe6\x51\xfd\xe7" } , { "\xc6\xe8\xb3\xe2\xa2" , "\xab\xe6\x51\xfd\xe7\x4d" } , { "\xc6\xe8\xb3\xe4" , "\xab\xe6\xe0\x51" } , { "\xc6\xe8\xb3\xe5" , "\xab\xe6\xe0\x51\xde" } , { "\xc6\xe8\xb3\xe5\xa2" , "\xab\xe6\xe0\x51\xde\x4d" } , { "\xc6\xe8\xb3\xe8" , "\xab\xe9\x51" } , { "\xc6\xe8\xb3\xe8\xb3" , "\xab\xda\x51\xfc\x51" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\xac\x51\xfd\x6f" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\xab\xda\xdf\x51\xfc\xc0" } , { "\xc6\xe8\xb3\xe8\xcf" , "\xab\xda\x51\xf0" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\xac\x51\xf0" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\xac\x51\xf0\xde" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\xab\xe6\xe0\x51\xf0\xde" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\xab\xdb\x51\xfa\xc7" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\xab\xda\xdf\x51\xfa\xc7" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\xab\xda\xe0\x51\xfa\xc7" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\xab\xe6\x51\xfa\xc7\xde" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\xab\xe6\xe0\x51\xfa\xc7\xde" } , { "\xc6\xe8\xb3\xe8\xd4\xda" , "\xab\xdb\x51\xfd\xca" } , { "\xc6\xe8\xb3\xe8\xd4\xdb" , "\xac\x51\xfd\xca" } , { "\xc6\xe8\xb3\xe8\xd4\xe0" , "\xab\xe6\x51\xfd\xca" } , { "\xc6\xe8\xb3\xe8\xd5" , "\xab\xda\x51\xfc\xcd" } , { "\xc6\xe8\xb3\xe8\xd6" , "\xab\xda\x51\xfd\xd0" } , { "\xc6\xe8\xb3\xe9" , "\xab\xda\x51" } , { "\xc6\xe8\xb4" , "\xab\xda\x55" } , { "\xc6\xe8\xb4\xda" , "\xab\xdb\x55" } , { "\xc6\xe8\xb4\xdb" , "\xac\x55" } , { "\xc6\xe8\xb5" , "\xab\xda\x58" } , { "\xc6\xe8\xb5\xa2" , "\xab\xda\x58\x4d" } , { "\xc6\xe8\xb5\xda" , "\xab\xdb\x58" } , { "\xc6\xe8\xb5\xdb" , "\xac\x58" } , { "\xc6\xe8\xb5\xdd" , "\xab\xda\xdf\x58" } , { "\xc6\xe8\xb5\xde" , "\xab\xda\xe0\x58" } , { "\xc6\xe8\xb5\xe0" , "\xab\xe6\x58" } , { "\xc6\xe8\xb5\xe4" , "\xab\xe6\xe0\x58" } , { "\xc6\xe8\xb5\xe4\xa2" , "\xab\xe6\xe0\x58\x4d" } , { "\xc6\xe8\xb5\xe5" , "\xab\xe6\xe0\x58\xde" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\xab\xdb\x58\xf2\x58" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\xab\xdb\x58\xf0" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\xac\x58\xf0\xde" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\xab\xe6\x58\xf0\xde" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\xab\xe6\xe0\x58\xf0\xde" } , { "\xc6\xe8\xb6" , "\xab\xda\x5b" } , { "\xc6\xe8\xb6\xdc" , "\xac\x5b\xde" } , { "\xc6\xe8\xb6\xdd" , "\xab\xda\xdf\x5b" } , { "\xc6\xe8\xb8" , "\xab\xda\x60" } , { "\xc6\xe8\xb8\xa2" , "\xab\xda\x60\x4d" } , { "\xc6\xe8\xb8\xda" , "\xab\xdb\x60" } , { "\xc6\xe8\xb8\xdb" , "\xac\x60" } , { "\xc6\xe8\xb8\xdb\xa2" , "\xac\x60\x4d" } , { "\xc6\xe8\xb8\xdc" , "\xac\x60\xde" } , { "\xc6\xe8\xb8\xdd" , "\xab\xda\xdf\x60" } , { "\xc6\xe8\xb8\xde" , "\xab\xda\xe0\x60" } , { "\xc6\xe8\xb8\xe0" , "\xab\xe6\x60" } , { "\xc6\xe8\xb8\xe0\xa2" , "\xab\xe6\x60\x4d" } , { "\xc6\xe8\xb8\xe1" , "\xab\xe6\x60\xde" } , { "\xc6\xe8\xb8\xe5" , "\xab\xe6\xe0\x60\xde" } , { "\xc6\xe8\xb8\xe5\xa2" , "\xab\xe6\xe0\x60\xde\x4d" } , { "\xc6\xe8\xb8\xe8" , "\xab\xe9\x60" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\xab\xe9\x60\xfe\x75" } , { "\xc6\xe8\xb8\xe8\xd4\xda\xa2" , "\xab\xdb\x60\x3e\xca\x4d" } , { "\xc6\xe8\xb9" , "\xab\xda\x63" } , { "\xc6\xe8\xb9\xda" , "\xab\xdb\x63" } , { "\xc6\xe8\xb9\xe0" , "\xab\xe6\x63" } , { "\xc6\xe8\xba" , "\xab\xda\x67" } , { "\xc6\xe8\xba\xa2" , "\xab\xda\x67\x4d" } , { "\xc6\xe8\xba\xda" , "\xab\xdb\x67" } , { "\xc6\xe8\xba\xdb" , "\xac\x67" } , { "\xc6\xe8\xba\xdb\xa2" , "\xac\x67\x4d" } , { "\xc6\xe8\xba\xdc" , "\xac\x67\xde" } , { "\xc6\xe8\xba\xde" , "\xab\xda\xe0\x67" } , { "\xc6\xe8\xba\xe0" , "\xab\xe6\x67" } , { "\xc6\xe8\xba\xe0\xa2" , "\xab\xe6\x67\x4d" } , { "\xc6\xe8\xba\xe1" , "\xab\xe6\x67\xde" } , { "\xc6\xe8\xba\xe2" , "\xab\xe6\x67\xf5\xe7" } , { "\xc6\xe8\xba\xe5" , "\xab\xe6\xe0\x67\xde" } , { "\xc6\xe8\xba\xe8" , "\xab\xe9\x67" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\xab\xdb\x67\xf3\x6b" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\xab\xda\xe0\x67\xf4\xc0" } , { "\xc6\xe8\xba\xe8\xd4\xda" , "\xab\xdb\x67\xf5\xca" } , { "\xc6\xe8\xba\xe9\xda" , "\xab\xdb\x67" } , { "\xc6\xe8\xbc\xe8\xb8" , "\xab\xda\x6b\xf9\x60" } , { "\xc6\xe8\xbd" , "\xab\xda\x6f" } , { "\xc6\xe8\xbd\xda" , "\xab\xdb\x6f" } , { "\xc6\xe8\xbd\xdb" , "\xac\x6f" } , { "\xc6\xe8\xbd\xdb\xa2" , "\xac\x6f\x4d" } , { "\xc6\xe8\xbd\xdc" , "\xac\x6f\xde" } , { "\xc6\xe8\xbd\xdd" , "\xab\xda\xdf\x6f" } , { "\xc6\xe8\xbd\xde" , "\xab\xda\xe0\x6f" } , { "\xc6\xe8\xbd\xe0" , "\xab\xe6\x6f" } , { "\xc6\xe8\xbd\xe1" , "\xab\xe6\x6f\xde" } , { "\xc6\xe8\xbd\xe1\xa2" , "\xab\xe6\x6f\xde\x4d" } , { "\xc6\xe8\xbd\xe2" , "\xab\xe6\x6f\x3e\xe7" } , { "\xc6\xe8\xbd\xe2\xa2" , "\xab\xe6\x6f\x3e\xe7\x4d" } , { "\xc6\xe8\xbd\xe5" , "\xab\xe6\xe0\x6f\xde" } , { "\xc6\xe8\xbd\xe5\xa2" , "\xab\xe6\xe0\x6f\xde\x4d" } , { "\xc6\xe8\xbd\xe8" , "\xab\xe9\x6f" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\xac\x6f\x3e\xad" } , { "\xc6\xe8\xbd\xe8\xcf" , "\xab\xda\x6f\xf1" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\xab\xdb\x6f\xf1" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\xac\x6f\xf1" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\xac\x6f\xf1\xde" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\xab\xda\xe0\x6f\xf1" } , { "\xc6\xe8\xbd\xe8\xcf\xe0" , "\xab\xe6\x6f\xf1" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\xab\xe6\x6f\xf1\xde" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\xab\xe6\x6f\xf1\x3e\xe7" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\xab\xe6\xe0\x6f\xf1\xde" } , { "\xc6\xe8\xbd\xe8\xd1" , "\xab\xda\x6f\xfe\xc7" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\xab\xda\xdf\x6f\xfe\xc7" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\xab\xda\xe0\x6f\xfe\xc7" } , { "\xc6\xe8\xbd\xe8\xd7" , "\xab\xda\x6f\x3e\xd3" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\xac\x6f\x3e\xd3" } , { "\xc6\xe8\xbe" , "\xab\xda\x72" } , { "\xc6\xe8\xbf" , "\xab\xda\x75" } , { "\xc6\xe8\xbf\xa2" , "\xab\xda\x75\x4d" } , { "\xc6\xe8\xbf\xda" , "\xab\xdb\x75" } , { "\xc6\xe8\xbf\xdb" , "\xac\x75" } , { "\xc6\xe8\xbf\xdb\xa2" , "\xac\x75\x4d" } , { "\xc6\xe8\xbf\xdc" , "\xac\x75\xde" } , { "\xc6\xe8\xbf\xdd" , "\xab\xda\xdf\x75" } , { "\xc6\xe8\xbf\xe0" , "\xab\xe6\x75" } , { "\xc6\xe8\xbf\xe0\xa2" , "\xab\xe6\x75\x4d" } , { "\xc6\xe8\xbf\xe1" , "\xab\xe6\x75\xde" } , { "\xc6\xe8\xbf\xe2" , "\xab\xe6\x75\xf5\xe7" } , { "\xc6\xe8\xbf\xe5" , "\xab\xe6\xe0\x75\xde" } , { "\xc6\xe8\xbf\xe5\xa2" , "\xab\xe6\xe0\x75\xde\x4d" } , { "\xc6\xe8\xbf\xe8" , "\xab\xe9\x75" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\xab\xdb\x75\xf4\x51" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\xab\xdb\x75\xf2\x58" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\xab\xdb\x75\xf5\xb9\x3d\xc0" } , { "\xc6\xe8\xbf\xe8\xcf" , "\xab\xda\x75\xf0" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\xab\xdb\x75\xf0" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\xac\x75\xf0" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\xac\x75\xf0\xde" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\xab\xe6\xe0\x75\xf0\xde" } , { "\xc6\xe8\xc0\xdb" , "\xac\x78" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\xab\xda\xe0\x7c\xf2\x7c" } , { "\xc6\xe8\xc2" , "\xab\xda\xa1" } , { "\xc6\xe8\xc2\xa2" , "\xab\xda\xa1\x4d" } , { "\xc6\xe8\xc2\xa3" , "\xab\xda\xa1\x4e" } , { "\xc6\xe8\xc2\xda" , "\xab\xdb\xa1" } , { "\xc6\xe8\xc2\xdb" , "\xac\xa1" } , { "\xc6\xe8\xc2\xdc" , "\xac\xa1\xde" } , { "\xc6\xe8\xc2\xdd" , "\xab\xda\xdf\xa1" } , { "\xc6\xe8\xc2\xde" , "\xab\xda\xe0\xa1" } , { "\xc6\xe8\xc2\xe0" , "\xab\xe6\xa1" } , { "\xc6\xe8\xc2\xe1" , "\xab\xe6\xa1\xde" } , { "\xc6\xe8\xc2\xe5" , "\xab\xe6\xe0\xa1\xde" } , { "\xc6\xe8\xc2\xe5\xa2" , "\xab\xe6\xe0\xa1\xde\x4d" } , { "\xc6\xe8\xc2\xe8" , "\xab\xe9\xa1" } , { "\xc6\xe8\xc2\xe8\xc2" , "\xab\xda\xa1\xf2\xa1" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\xab\xda\xa1\xf5\xb0\xfe\xa1" } , { "\xc6\xe8\xc2\xe8\xcd" , "\xab\xda\xa1\xf4\xc0" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\xab\xdb\xa1\xf4\xc0" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\xab\xe6\xa1\xf4\xc0\xde" } , { "\xc6\xe8\xc2\xe8\xcf" , "\xab\xda\xa1\xf0" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\xab\xdb\xa1\xf0" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xac\xa1\xf0" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\xac\xa1\xf0\xde" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\xab\xe6\xa1\xf0\xde" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\xab\xe6\xe0\xa1\xf0\xde" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\xab\xe6\xe0\xa1\xf0\xde\x4d" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\xab\xda\xa1\xf0\x3d\xc0" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\xab\xe6\xe0\xa1\xf0\x3d\xc0\xde" } , { "\xc6\xe8\xc2\xe8\xd4" , "\xab\xda\xec" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\xab\xdb\xa1\xf5\xd3\x4d" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\xab\xe6\xe0\xa1\xf5\xd3\xde" } , { "\xc6\xe8\xc3" , "\xab\xda\xa4" } , { "\xc6\xe8\xc3\xda" , "\xab\xdb\xa4" } , { "\xc6\xe8\xc3\xdb" , "\xac\xa4" } , { "\xc6\xe8\xc3\xdc" , "\xac\xa4\xde" } , { "\xc6\xe8\xc3\xe1" , "\xab\xe6\xa4\xde" } , { "\xc6\xe8\xc3\xe2" , "\xab\xe6\xa4\xf5\xe7" } , { "\xc6\xe8\xc3\xe5" , "\xab\xe6\xe0\xa4\xde" } , { "\xc6\xe8\xc3\xe5\xa2" , "\xab\xe6\xe0\xa4\xde\x4d" } , { "\xc6\xe8\xc3\xe8" , "\xab\xe9\xa4" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\xab\xdb\xa4\xf0\x4d" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\xab\xe6\xa4\xf0\xde" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\xab\xe6\xa4\xf0\x3e\xe7" } , { "\xc6\xe8\xc4" , "\xab\xda\xa7" } , { "\xc6\xe8\xc4\xda" , "\xab\xdb\xa7" } , { "\xc6\xe8\xc4\xda\xa2" , "\xab\xdb\xa7\x4d" } , { "\xc6\xe8\xc4\xdb" , "\xac\xa7" } , { "\xc6\xe8\xc4\xdc" , "\xac\xa7\xde" } , { "\xc6\xe8\xc4\xdc\xa2" , "\xac\xa7\xde\x4d" } , { "\xc6\xe8\xc4\xdd" , "\xab\xda\xdf\xa7" } , { "\xc6\xe8\xc4\xde" , "\xab\xda\xe0\xa7" } , { "\xc6\xe8\xc4\xde\xa2" , "\xab\xda\xe0\xa7\x4d" } , { "\xc6\xe8\xc4\xe0" , "\xab\xe6\xa7" } , { "\xc6\xe8\xc4\xe1" , "\xab\xe6\xa7\xde" } , { "\xc6\xe8\xc4\xe1\xa2" , "\xab\xe6\xa7\xde\x4d" } , { "\xc6\xe8\xc4\xe2" , "\xab\xe6\xa7\xf5\xe7" } , { "\xc6\xe8\xc4\xe4" , "\xab\xe6\xe0\xa7" } , { "\xc6\xe8\xc4\xe5" , "\xab\xe6\xe0\xa7\xde" } , { "\xc6\xe8\xc4\xe5\xa2" , "\xab\xe6\xe0\xa7\xde\x4d" } , { "\xc6\xe8\xc4\xe6" , "\xab\xe8\xa7" } , { "\xc6\xe8\xc4\xe8\xc5" , "\xab\xda\xa7\xf2\xaa" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\xab\xdb\xa7\xf2\xaa" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\xac\xa7\xf2\xaa\xde" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\xab\xdb\xa7\xf5\xad" } , { "\xc6\xe8\xc4\xe8\xcd" , "\xab\xda\xa7\xf4\xc0" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\xab\xda\xdf\xa7\xf4\xc0" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\xab\xe6\xe0\xa7\xf4\xc0\xde" } , { "\xc6\xe8\xc4\xe8\xcf" , "\xab\xda\xa7\xf0" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\xab\xdb\xa7\xf0" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\xab\xdb\xa7\xf0\x4d" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\xac\xa7\xf0" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\xac\xa7\xf0\xde" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\xab\xda\xe0\xa7\xf0" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\xab\xe6\xa7\xf0\xde" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\xab\xe6\xe0\xa7\xf0\xde" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\xab\xe6\xe0\xa7\xf0\xde\x4d" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\xab\xda\xe0\xa7\xf0\x3d\xc0" } , { "\xc6\xe8\xc4\xe8\xd4" , "\xab\xda\xa7\xf5\xca" } , { "\xc6\xe8\xc4\xe8\xd4\xda" , "\xab\xdb\xa7\xf5\xca" } , { "\xc6\xe8\xc4\xe8\xd4\xdb" , "\xac\xa7\xf5\xca" } , { "\xc6\xe8\xc4\xe8\xd4\xdc" , "\xac\xa7\xf5\xca\xde" } , { "\xc6\xe8\xc4\xe8\xd4\xe5" , "\xab\xe6\xe0\xa7\xf5\xca\xde" } , { "\xc6\xe8\xc4\xe8\xd4\xe5\xa2" , "\xab\xe6\xe0\xa7\xf5\xca\xde\x4d" } , { "\xc6\xe8\xc5" , "\xab\xda\xaa" } , { "\xc6\xe8\xc5\xda" , "\xab\xdb\xaa" } , { "\xc6\xe8\xc5\xdb" , "\xac\xaa" } , { "\xc6\xe8\xc5\xdc" , "\xac\xaa\xde" } , { "\xc6\xe8\xc5\xdd" , "\xab\xda\xdf\xaa" } , { "\xc6\xe8\xc5\xde" , "\xab\xda\xe0\xaa" } , { "\xc6\xe8\xc5\xe1" , "\xab\xe6\xaa\xde" } , { "\xc6\xe8\xc5\xe5" , "\xab\xe6\xe0\xaa\xde" } , { "\xc6\xe8\xc5\xe5\xa2" , "\xab\xe6\xe0\xaa\xde\x4d" } , { "\xc6\xe8\xc5\xe6" , "\xab\xe8\xaa" } , { "\xc6\xe8\xc5\xe8\xcd" , "\xab\xda\xaa\xf4\xc0" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\xab\xdb\xaa\xf4\xc0" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\xac\xaa\xf4\xc0\xde" } , { "\xc6\xe8\xc5\xe8\xcf" , "\xab\xda\xaa\xf0" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\xab\xdb\xaa\xf0\x4d" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\xac\xaa\xf0\xde" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\xab\xe6\xe0\xaa\xf0\xde\x4d" } , { "\xc6\xe8\xc6" , "\xab\xda\xad" } , { "\xc6\xe8\xc6\xa2" , "\xab\xda\xad\x4d" } , { "\xc6\xe8\xc6\xda" , "\xab\xdb\xad" } , { "\xc6\xe8\xc6\xda\xa2" , "\xab\xdb\xad\x4d" } , { "\xc6\xe8\xc6\xdb" , "\xac\xad" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xac\xad\x4d" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xac\xad\x4e" } , { "\xc6\xe8\xc6\xdc" , "\xac\xad\xde" } , { "\xc6\xe8\xc6\xdc\xa2" , "\xac\xad\xde\x4d" } , { "\xc6\xe8\xc6\xdd" , "\xab\xda\xdf\xad" } , { "\xc6\xe8\xc6\xdd\xa2" , "\xab\xda\xdf\xad\x4d" } , { "\xc6\xe8\xc6\xde" , "\xab\xda\xe0\xad" } , { "\xc6\xe8\xc6\xdf" , "\xab\xda\xad\x3e\xe4" } , { "\xc6\xe8\xc6\xe0" , "\xab\xe6\xad" } , { "\xc6\xe8\xc6\xe0\xa2" , "\xab\xe6\xad\x4d" } , { "\xc6\xe8\xc6\xe1" , "\xab\xe6\xad\xde" } , { "\xc6\xe8\xc6\xe1\xa2" , "\xab\xe6\xad\xde\x4d" } , { "\xc6\xe8\xc6\xe2" , "\xab\xe6\xad\x3e\xe7" } , { "\xc6\xe8\xc6\xe4" , "\xab\xe6\xe0\xad" } , { "\xc6\xe8\xc6\xe4\xa2" , "\xab\xe6\xe0\xad\x4d" } , { "\xc6\xe8\xc6\xe5" , "\xab\xe6\xe0\xad\xde" } , { "\xc6\xe8\xc6\xe5\xa2" , "\xab\xe6\xe0\xad\xde\x4d" } , { "\xc6\xe8\xc6\xe6" , "\xab\xe8\xad" } , { "\xc6\xe8\xc6\xe8" , "\xab\xe9\xad" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\xab\xdb\xad\xfe\x58" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\xab\xda\xdf\xad\x3e\x6f\xfe\xc7" } , { "\xc6\xe8\xc6\xe8\xc2" , "\xab\xda\xad\xfe\xa1" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\xab\xe6\xe0\xad\xfe\xa7\xde" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\xab\xda\xad\xfe\xaa\xf4\xc0" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\xab\xda\xdf\xad\x3e\xb0" } , { "\xc6\xe8\xc6\xe8\xc9" , "\xab\xda\xad\x3e\xb5" } , { "\xc6\xe8\xc6\xe8\xcc" , "\xab\xda\xad\x3d\xbd" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\xab\xdb\xad\x3d\xc0" } , { "\xc6\xe8\xc6\xe8\xcf" , "\xab\xda\xad\xf1" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\xab\xe6\xe0\xad\xf1\xde" } , { "\xc6\xe8\xc6\xe8\xd4\xda" , "\xab\xdb\xad\x3e\xca" } , { "\xc6\xe8\xc6\xe8\xd4\xdb\xa2" , "\xac\xad\x3e\xca\x4d" } , { "\xc6\xe8\xc8" , "\xab\xda\xb0" } , { "\xc6\xe8\xc8\xa2" , "\xab\xda\xb0\x4d" } , { "\xc6\xe8\xc8\xda" , "\xab\xdb\xb0" } , { "\xc6\xe8\xc8\xda\xa2" , "\xab\xdb\xb0\x4d" } , { "\xc6\xe8\xc8\xdb" , "\xac\xb0" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xac\xb0\x4d" } , { "\xc6\xe8\xc8\xdc" , "\xac\xb0\xde" } , { "\xc6\xe8\xc8\xdd" , "\xab\xda\xdf\xb0" } , { "\xc6\xe8\xc8\xde" , "\xab\xda\xe0\xb0" } , { "\xc6\xe8\xc8\xe0" , "\xab\xe6\xb0" } , { "\xc6\xe8\xc8\xe1" , "\xab\xe6\xb0\xde" } , { "\xc6\xe8\xc8\xe2" , "\xab\xe6\xb0\x3e\xe7" } , { "\xc6\xe8\xc8\xe4" , "\xab\xe6\xe0\xb0" } , { "\xc6\xe8\xc8\xe5" , "\xab\xe6\xe0\xb0\xde" } , { "\xc6\xe8\xc8\xe6" , "\xab\xe8\xb0" } , { "\xc6\xe8\xc8\xe8\xc8" , "\xab\xda\xb0\x3e\xb0" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\xab\xda\xe0\xb0\x3d\xc0" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\xab\xda\xb0\x3d\xc0\xfd\xe4\x4d" } , { "\xc6\xe8\xc8\xe8\xcf" , "\xab\xda\xb0\xf1" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\xab\xdb\xb0\xf1" } , { "\xc6\xe8\xc8\xe8\xcf\xe0" , "\xab\xe6\xb0\xf1" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\xab\xdb\xb0\xfe\xc7" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\xac\xb0\xfe\xc7\xde" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\xab\xda\xdf\xb0\xfe\xc7" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\xab\xda\xe0\xb0\xfe\xc7" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\xab\xe6\xb0\xfe\xc7\xde" } , { "\xc6\xe8\xc9" , "\xab\xda\xb5" } , { "\xc6\xe8\xc9\xda" , "\xab\xdb\xb5" } , { "\xc6\xe8\xc9\xda\xa2" , "\xab\xdb\xb5\x4d" } , { "\xc6\xe8\xc9\xdb" , "\xac\xb5" } , { "\xc6\xe8\xc9\xdc" , "\xac\xb5\xde" } , { "\xc6\xe8\xc9\xdd" , "\xab\xda\xdf\xb5" } , { "\xc6\xe8\xc9\xe0" , "\xab\xe6\xb5" } , { "\xc6\xe8\xc9\xe0\xa2" , "\xab\xe6\xb5\x4d" } , { "\xc6\xe8\xc9\xe1" , "\xab\xe6\xb5\xde" } , { "\xc6\xe8\xc9\xe1\xa2" , "\xab\xe6\xb5\xde\x4d" } , { "\xc6\xe8\xc9\xe4" , "\xab\xe6\xe0\xb5" } , { "\xc6\xe8\xc9\xe5" , "\xab\xe6\xe0\xb5\xde" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\xab\xda\xe0\xb5\x3d\xc0" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\xab\xdb\xb5\xf1" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\xac\xb5\xf1" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\xac\xb5\xf1\x4d" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\xac\xb5\xf1\xde" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\xab\xe6\xb5\xf1\xde" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\xab\xe6\xb5\xf1\xde\x4d" } , { "\xc6\xe8\xc9\xe8\xd1" , "\xab\xda\xb5\xfe\xc7" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\xab\xda\xdf\xb5\xfe\xc7" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\xab\xda\xdf\xb5\xfe\xc7\x4d" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\xab\xda\xe0\xb5\xfe\xc7" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\xab\xe6\xb5\xfe\xc7\xde" } , { "\xc6\xe8\xca" , "\xab\xda\xb9" } , { "\xc6\xe8\xca\xda" , "\xab\xdb\xb9" } , { "\xc6\xe8\xca\xda\xa2" , "\xab\xdb\xb9\x4d" } , { "\xc6\xe8\xca\xdd" , "\xab\xda\xdf\xb9" } , { "\xc6\xe8\xca\xde" , "\xab\xda\xe0\xb9" } , { "\xc6\xe8\xca\xe0" , "\xab\xe6\xb9" } , { "\xc6\xe8\xca\xe1" , "\xab\xe6\xb9\xde" } , { "\xc6\xe8\xca\xe5" , "\xab\xe6\xe0\xb9\xde" } , { "\xc6\xe8\xca\xe5\xa2" , "\xab\xe6\xe0\xb9\xde\x4d" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\xab\xe6\xb9\xf1\xde" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\xab\xe6\xe0\xb9\xf1\xde" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\xab\xe6\xb9\xfe\xc7\xde" } , { "\xc6\xe8\xcb\xda" , "\xab\xdb\xbc" } , { "\xc6\xe8\xcb\xde" , "\xab\xda\xe0\xbc" } , { "\xc6\xe8\xcc" , "\xab\xda\xbd" } , { "\xc6\xe8\xcc\xa2" , "\xab\xda\xbd\x4d" } , { "\xc6\xe8\xcc\xa3" , "\xab\xda\xbd\x4e" } , { "\xc6\xe8\xcc\xda" , "\xab\xdb\xbd" } , { "\xc6\xe8\xcc\xda\xa2" , "\xab\xdb\xbd\x4d" } , { "\xc6\xe8\xcc\xdb" , "\xac\xbd" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xac\xbd\x4d" } , { "\xc6\xe8\xcc\xdc" , "\xac\xbd\xde" } , { "\xc6\xe8\xcc\xdd" , "\xab\xda\xdf\xbd" } , { "\xc6\xe8\xcc\xdd\xa2" , "\xab\xda\xdf\xbd\x4d" } , { "\xc6\xe8\xcc\xde" , "\xab\xda\xe0\xbd" } , { "\xc6\xe8\xcc\xdf" , "\xab\xda\xbd\xfd\xe4" } , { "\xc6\xe8\xcc\xe0" , "\xab\xe6\xbd" } , { "\xc6\xe8\xcc\xe0\xa2" , "\xab\xe6\xbd\x4d" } , { "\xc6\xe8\xcc\xe1" , "\xab\xe6\xbd\xde" } , { "\xc6\xe8\xcc\xe1\xa2" , "\xab\xe6\xbd\xde\x4d" } , { "\xc6\xe8\xcc\xe2" , "\xab\xe6\xbd\xfd\xe7" } , { "\xc6\xe8\xcc\xe4" , "\xab\xe6\xe0\xbd" } , { "\xc6\xe8\xcc\xe5" , "\xab\xe6\xe0\xbd\xde" } , { "\xc6\xe8\xcc\xe5\xa2" , "\xab\xe6\xe0\xbd\xde\x4d" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xac\xbd\xfc\xbd" } , { "\xc6\xe8\xcd" , "\xab\xda\xc0" } , { "\xc6\xe8\xcd\xa2" , "\xab\xda\xc0\x4d" } , { "\xc6\xe8\xcd\xa3" , "\xab\xda\xc0\x4e" } , { "\xc6\xe8\xcd\xda" , "\xab\xdb\xc0" } , { "\xc6\xe8\xcd\xda\xa2" , "\xab\xdb\xc0\x4d" } , { "\xc6\xe8\xcd\xda\xa3" , "\xab\xdb\xc0\x4e" } , { "\xc6\xe8\xcd\xdb" , "\xac\xc0" } , { "\xc6\xe8\xcd\xdc" , "\xac\xc0\xde" } , { "\xc6\xe8\xcd\xdd" , "\xab\xda\xdf\xc0" } , { "\xc6\xe8\xcd\xdd\xa2" , "\xab\xda\xdf\xc0\x4d" } , { "\xc6\xe8\xcd\xde" , "\xab\xda\xe0\xc0" } , { "\xc6\xe8\xcd\xde\xa2" , "\xab\xda\xe0\xc0\x4d" } , { "\xc6\xe8\xcd\xe0" , "\xab\xe6\xc0" } , { "\xc6\xe8\xcd\xe1" , "\xab\xe6\xc0\xde" } , { "\xc6\xe8\xcd\xe2" , "\xab\xe6\xc0\xfd\xe7" } , { "\xc6\xe8\xcd\xe4" , "\xab\xe6\xe0\xc0" } , { "\xc6\xe8\xcd\xe5" , "\xab\xe6\xe0\xc0\xde" } , { "\xc6\xe8\xcd\xe5\xa2" , "\xab\xe6\xe0\xc0\xde\x4d" } , { "\xc6\xe8\xcd\xe6" , "\xab\xe8\xc0" } , { "\xc6\xe8\xcd\xe7" , "\xab\xe6\xe0\xc0" } , { "\xc6\xe8\xcd\xe8\xcd" , "\xab\xda\xc0\xfc\xc0" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\xab\xdb\xc0\xfc\xc0" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\xab\xda\xe0\xc0\xfc\xc0" } , { "\xc6\xe8\xcf" , "\xab\xda\xc3" } , { "\xc6\xe8\xcf\xa2" , "\xab\xda\xc3\x4d" } , { "\xc6\xe8\xcf\xda" , "\xab\xdb\xc3" } , { "\xc6\xe8\xcf\xdb" , "\xac\xc3" } , { "\xc6\xe8\xcf\xdc" , "\xac\xc3\xde" } , { "\xc6\xe8\xcf\xdd" , "\xab\xda\xdf\xc3" } , { "\xc6\xe8\xcf\xde" , "\xab\xda\xe0\xc3" } , { "\xc6\xe8\xcf\xe0" , "\xab\xe6\xc3" } , { "\xc6\xe8\xcf\xe0\xa2" , "\xab\xe6\xc3\x4d" } , { "\xc6\xe8\xcf\xe2" , "\xab\xe6\xee" } , { "\xc6\xe8\xcf\xe5" , "\xab\xe6\xe0\xc3\xde" } , { "\xc6\xe8\xcf\xe8" , "\xab\xe9\xc3" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\xac\xc3\xfe\x75" } , { "\xc6\xe8\xcf\xe8\xc2" , "\xab\xda\xc3\xfe\xa1" } , { "\xc6\xe8\xcf\xe8\xc4\xe8\xd4" , "\xab\xda\xc3\xfe\xa7\xf5\xca" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\xab\xdb\xc3\x3e\xd3" } , { "\xc6\xe8\xd0" , "\xab\xda\xc3" } , { "\xc6\xe8\xd0\xcc\xe8" , "\xab\xda\xc3\xc8\xda\xe1\xe9" } , { "\xc6\xe8\xd0\xdb" , "\xac\xc3" } , { "\xc6\xe8\xd0\xdd" , "\xab\xda\xdf\xc3" } , { "\xc6\xe8\xd1" , "\xab\xda\xc7" } , { "\xc6\xe8\xd1\xa2" , "\xab\xda\xc7\x4d" } , { "\xc6\xe8\xd1\xda" , "\xab\xdb\xc7" } , { "\xc6\xe8\xd1\xda\xa2" , "\xab\xdb\xc7\x4d" } , { "\xc6\xe8\xd1\xdb" , "\xac\xc7" } , { "\xc6\xe8\xd1\xdc" , "\xac\xc7\xde" } , { "\xc6\xe8\xd1\xdd" , "\xab\xda\xdf\xc7" } , { "\xc6\xe8\xd1\xdd\xa2" , "\xab\xda\xdf\xc7\x4d" } , { "\xc6\xe8\xd1\xde" , "\xab\xda\xe0\xc7" } , { "\xc6\xe8\xd1\xe0" , "\xab\xe6\xc7" } , { "\xc6\xe8\xd1\xe0\xa2" , "\xab\xe6\xc7\x4d" } , { "\xc6\xe8\xd1\xe1" , "\xab\xe6\xc7\xde" } , { "\xc6\xe8\xd1\xe1\xa2" , "\xab\xe6\xc7\xde\x4d" } , { "\xc6\xe8\xd1\xe2" , "\xab\xe6\xc7\xf5\xe7" } , { "\xc6\xe8\xd1\xe4" , "\xab\xe6\xe0\xc7" } , { "\xc6\xe8\xd1\xe4\xa2" , "\xab\xe6\xe0\xc7\x4d" } , { "\xc6\xe8\xd1\xe5" , "\xab\xe6\xe0\xc7\xde" } , { "\xc6\xe8\xd1\xe5\xa2" , "\xab\xe6\xe0\xc7\xde\x4d" } , { "\xc6\xe8\xd1\xe8" , "\xab\xe9\xc7" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\xab\xdb\xc7\xf4\xc0\x4d" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\xab\xda\xe0\xc7\xf4\xc0" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\xab\xe6\xc7\xf5\xd3\xde" } , { "\xc6\xe8\xd2" , "\xab\xda\xd9" } , { "\xc6\xe8\xd4" , "\xab\xda\xca" } , { "\xc6\xe8\xd4\xa2" , "\xab\xda\xca\x4d" } , { "\xc6\xe8\xd4\xda" , "\xab\xdb\xca" } , { "\xc6\xe8\xd4\xdb" , "\xac\xca" } , { "\xc6\xe8\xd4\xdc" , "\xac\xca\xde" } , { "\xc6\xe8\xd4\xdd" , "\xab\xda\xdf\xca" } , { "\xc6\xe8\xd4\xdd\xa2" , "\xab\xda\xdf\xca\x4d" } , { "\xc6\xe8\xd4\xde" , "\xab\xda\xe0\xca" } , { "\xc6\xe8\xd4\xe0" , "\xab\xe6\xca" } , { "\xc6\xe8\xd4\xe0\xa2" , "\xab\xe6\xca\x4d" } , { "\xc6\xe8\xd4\xe1" , "\xab\xe6\xca\xde" } , { "\xc6\xe8\xd4\xe1\xa2" , "\xab\xe6\xca\xde\x4d" } , { "\xc6\xe8\xd4\xe2" , "\xab\xe6\xca\x3e\xe7" } , { "\xc6\xe8\xd4\xe5" , "\xab\xe6\xe0\xca\xde" } , { "\xc6\xe8\xd4\xe8\xcd\xda" , "\xab\xdb\xca\x3d\xc0" } , { "\xc6\xe8\xd4\xe8\xcf\xdc" , "\xac\xca\xf1\xde" } , { "\xc6\xe8\xd5" , "\xab\xda\xcd" } , { "\xc6\xe8\xd5\xa2" , "\xab\xda\xcd\x4d" } , { "\xc6\xe8\xd5\xda" , "\xab\xdb\xcd" } , { "\xc6\xe8\xd5\xdb" , "\xac\xcd" } , { "\xc6\xe8\xd5\xdc" , "\xac\xcd\xde" } , { "\xc6\xe8\xd6" , "\xab\xda\xd0" } , { "\xc6\xe8\xd6\xda" , "\xab\xdb\xd0" } , { "\xc6\xe8\xd6\xdb" , "\xac\xd0" } , { "\xc6\xe8\xd6\xdc" , "\xac\xd0\xde" } , { "\xc6\xe8\xd6\xdd" , "\xab\xda\xdf\xd0" } , { "\xc6\xe8\xd6\xde" , "\xab\xda\xe0\xd0" } , { "\xc6\xe8\xd6\xe0" , "\xab\xe6\xd0" } , { "\xc6\xe8\xd6\xe2" , "\xab\xe6\xd0\x3e\xe7" } , { "\xc6\xe8\xd6\xe8\xbd" , "\xab\xda\xd0\x3e\x6f" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\xab\xe6\xd0\x3e\x6f\xde" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\xab\xda\xd0\x3e\x6f\xf1" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\xab\xda\xe0\xd0\x3d\xc0" } , { "\xc6\xe8\xd6\xe8\xd4\xdc" , "\xac\xd0\x3e\xca\xde" } , { "\xc6\xe8\xd7" , "\xab\xda\xd3" } , { "\xc6\xe8\xd7\xa2" , "\xab\xda\xd3\x4d" } , { "\xc6\xe8\xd7\xda" , "\xab\xdb\xd3" } , { "\xc6\xe8\xd7\xda\xa2" , "\xab\xdb\xd3\x4d" } , { "\xc6\xe8\xd7\xdb" , "\xac\xd3" } , { "\xc6\xe8\xd7\xdb\xa2" , "\xac\xd3\x4d" } , { "\xc6\xe8\xd7\xdc" , "\xac\xd3\xde" } , { "\xc6\xe8\xd7\xdc\xa2" , "\xac\xd3\xde\x4d" } , { "\xc6\xe8\xd7\xdd" , "\xab\xda\xdf\xd3" } , { "\xc6\xe8\xd7\xdd\xa2" , "\xab\xda\xdf\xd3\x4d" } , { "\xc6\xe8\xd7\xde" , "\xab\xda\xe0\xd3" } , { "\xc6\xe8\xd7\xe0" , "\xab\xe6\xd3" } , { "\xc6\xe8\xd7\xe0\xa2" , "\xab\xe6\xd3\x4d" } , { "\xc6\xe8\xd7\xe1" , "\xab\xe6\xd3\xde" } , { "\xc6\xe8\xd7\xe1\xa2" , "\xab\xe6\xd3\xde\x4d" } , { "\xc6\xe8\xd7\xe2" , "\xab\xe6\xd3\x3e\xe7" } , { "\xc6\xe8\xd7\xe5" , "\xab\xe6\xe0\xd3\xde" } , { "\xc6\xe8\xd7\xe5\xa2" , "\xab\xe6\xe0\xd3\xde\x4d" } , { "\xc6\xe8\xd7\xe8" , "\xab\xe9\xd3" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\xab\xdb\xd3\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\xac\xd3\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\xac\xd3\x3d\x51\xde" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\xab\xda\xdf\xd3\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\xab\xda\xe0\xd3\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xb3\xe0" , "\xab\xe6\xd3\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\xab\xe6\xd3\x3d\x51\xde" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\xab\xe6\xe0\xd3\x3d\x51\xde" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\xab\xe9\xd3\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\xab\xda\xdf\xd3\x3d\x51\xfc\xc0" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xac\xd3\x3d\x51\xf0" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\xab\xe6\xd3\x3d\x51\xf0\xde" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xd4" , "\xab\xda\xd3\x3d\x51\xfd\xca" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\xab\xdb\xd3\xfe\x58" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\xab\xe6\xe0\xd3\x3e\x60\xde" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\xab\xdb\xd3\xfe\x67" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\xab\xe6\xd3\xfe\x67\xde" } , { "\xc6\xe8\xd7\xe8\xbd" , "\xab\xda\xd3\x3e\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\xab\xdb\xd3\x3e\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\xab\xdb\xd3\x3e\x6f\x4d" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\xac\xd3\x3e\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\xac\xd3\x3e\x6f\xde" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\xab\xda\xdf\xd3\x3e\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\xab\xda\xe0\xd3\x3e\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xe0" , "\xab\xe6\xd3\x3e\x6f" } , { "\xc6\xe8\xd7\xe8\xbd\xe0\xa2" , "\xab\xe6\xd3\x3e\x6f\x4d" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\xab\xe6\xd3\x3e\x6f\xde" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\xab\xe6\xd3\x3e\x6f\x3e\xe7" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\xab\xe6\xe0\xd3\x3e\x6f\xde" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\xab\xda\xd3\x3e\x6f\x3d\x51" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\xab\xdb\xd3\x3e\x6f\x3d\xc0\x4d" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\xab\xda\xe0\xd3\x3e\x6f\x3d\xc0" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\xab\xda\xd3\x3e\x6f\xf1" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xac\xd3\x3e\x6f\xf1" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\xab\xda\xdf\xd3\x3e\x6f\xf1" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\xab\xda\xe0\xd3\x3e\x6f\xf1" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\xab\xe6\xd3\x3e\x6f\xf1\xde" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xab\xe6\xd3\x3e\x6f\xf1\x3e\xe7" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\xac\xd3\xfe\x75" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\xab\xdb\xd3\xfe\x75\xf2\x58" } , { "\xc6\xe8\xd7\xe8\xc2" , "\xab\xda\xd3\xfe\xa1" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\xab\xe6\xe0\xd3\xfe\xa1\xde" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\xab\xdb\xd3\xfe\xa4" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\xac\xd3\xfe\xa4" } , { "\xc6\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xab\xdb\xd3\xfe\xa7\xf5\xca" } , { "\xc6\xe8\xd7\xe8\xc6" , "\xab\xda\xd3\x3e\xad" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\xac\xd3\x3e\xad" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\xab\xda\xdf\xd3\x3e\xad" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\xab\xda\xdf\xd3\x3e\xad\x4d" } , { "\xc6\xe8\xd7\xe8\xc8" , "\xab\xda\xd3\x3e\xb0" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\xab\xdb\xd3\x3e\xb0" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\xac\xd3\x3e\xb0" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\xac\xd3\x3e\xb0\xde" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\xab\xda\xdf\xd3\x3e\xb0" } , { "\xc6\xe8\xd7\xe8\xc8\xe0" , "\xab\xe6\xd3\x3e\xb0" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\xab\xe6\xd3\x3e\xb0\xde" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\xab\xe6\xd3\x3e\xb0\x3e\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\xab\xe6\xe0\xd3\x3e\xb0\xde" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xab\xdb\xd3\x3e\xb0\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\xab\xdb\xd3\x3e\xb0\xfe\xc7\x4d" } , { "\xc6\xe8\xd7\xe8\xc9" , "\xab\xda\xd3\x3e\xb5" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\xab\xdb\xd3\x3e\xb5" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\xac\xd3\x3e\xb5" } , { "\xc6\xe8\xd7\xe8\xc9\xe0" , "\xab\xe6\xd3\x3e\xb5" } , { "\xc6\xe8\xd7\xe8\xca" , "\xab\xda\xd3\x3e\xb9" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\xab\xe6\xd3\x3e\xb9\xde" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\xab\xdb\xd3\x3e\xb9\xf1\x4d" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\xac\xd3\x3d\xbd" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\xac\xd3\x3d\xbd\xde" } , { "\xc6\xe8\xd7\xe8\xcc\xe0\xa2" , "\xab\xe6\xd3\x3d\xbd\x4d" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\xac\xd3\x3d\xbd\xfd\x6f\x4d" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\xab\xda\xdf\xd3\x3d\xc0" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\xab\xda\xe0\xd3\x3d\xc0" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\xab\xdb\xd3\xf1" } , { "\xc6\xe8\xd7\xe8\xd1" , "\xab\xda\xd3\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\xab\xdb\xd3\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\xab\xdb\xd3\xfe\xc7\x4d" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\xac\xd3\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\xab\xda\xdf\xd3\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xe0" , "\xab\xe6\xd3\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\xab\xe6\xd3\xfe\xc7\xde" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\xab\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\xab\xe6\xe0\xd3\xfe\xc7\xde\x4d" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\xab\xe9\xd3\xfe\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\xab\xdb\xd3\xfe\xc7\xf4\xc0\x4d" } , { "\xc6\xe8\xd7\xe8\xd4" , "\xab\xda\xd3\x3e\xca" } , { "\xc6\xe8\xd7\xe8\xd4\xda" , "\xab\xdb\xd3\x3e\xca" } , { "\xc6\xe8\xd7\xe8\xd4\xdb" , "\xac\xd3\x3e\xca" } , { "\xc6\xe8\xd7\xe8\xd4\xdb\xa2" , "\xac\xd3\x3e\xca\x4d" } , { "\xc6\xe8\xd7\xe8\xd4\xe0" , "\xab\xe6\xd3\x3e\xca" } , { "\xc6\xe8\xd7\xe8\xd4\xe1" , "\xab\xe6\xd3\x3e\xca\xde" } , { "\xc6\xe8\xd7\xe8\xd4\xe2" , "\xab\xe6\xd3\x3e\xca\x3e\xe7" } , { "\xc6\xe8\xd7\xe8\xd7" , "\xab\xda\xd3\x3e\xd3" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\xab\xe9\xd3\x3e\xd3" } , { "\xc6\xe8\xd8" , "\xab\xda\xd6" } , { "\xc6\xe8\xd8\xa2" , "\xab\xda\xd6\x4d" } , { "\xc6\xe8\xd8\xda" , "\xab\xdb\xd6" } , { "\xc6\xe8\xd8\xda\xa1" , "\xab\xdb\xd6\x4d" } , { "\xc6\xe8\xd8\xda\xa2" , "\xab\xdb\xd6\x4d" } , { "\xc6\xe8\xd8\xdb" , "\xac\xd6" } , { "\xc6\xe8\xd8\xdb\xa2" , "\xac\xd6\x4d" } , { "\xc6\xe8\xd8\xdc" , "\xac\xd6\xde" } , { "\xc6\xe8\xd8\xdc\xa2" , "\xac\xd6\xde\x4d" } , { "\xc6\xe8\xd8\xdd\xa2" , "\xab\xda\xdf\xd6\x4d" } , { "\xc6\xe8\xd8\xe0" , "\xab\xe6\xd6" } , { "\xc6\xe8\xd8\xe1" , "\xab\xe6\xd6\xde" } , { "\xc6\xe8\xd8\xe1\xa2" , "\xab\xe6\xd6\xde\x4d" } , { "\xc6\xe8\xd8\xe2" , "\xab\xe6\xd6\xf9\xe7" } , { "\xc6\xe8\xd8\xe2\xa2" , "\xab\xe6\xd6\xf9\xe7\x4d" } , { "\xc6\xe8\xd8\xe5" , "\xab\xe6\xe0\xd6\xde" } , { "\xc6\xe8\xd8\xe5\xa2" , "\xab\xe6\xe0\xd6\xde\x4d" } , { "\xc6\xe8\xd8\xe6" , "\xab\xe8\xd6" } , { "\xc6\xe8\xd8\xe8\xcd" , "\xab\xda\xd6\xf8\xc0" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\xab\xdb\xd6\xf8\xc0\x4d" } , { "\xc6\xe8\xd9\xa6" , "\xab\xda\x42" } , { "\xc6\xe8\xd9\xc2" , "\xab\xda\x7d\xda" } , { "\xc6\xe8\xd9\xc2\xdd" , "\xab\xda\x7d\xda\xdf" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\xab\xda\x7d\xda\xc3" } , { "\xc6\xe8\xd9\xc6" , "\xab\xda\xab\xda" } , { "\xc6\xe8\xd9\xc6\xda" , "\xab\xda\xab\xdb" } , { "\xc6\xe8\xd9\xc6\xdc" , "\xab\xda\xac\xde" } , { "\xc6\xe8\xd9\xc6\xdd" , "\xab\xda\xab\xda\xdf" } , { "\xc6\xe8\xd9\xc6\xde" , "\xab\xda\xab\xda\xe0" } , { "\xc6\xe8\xd9\xc6\xe1" , "\xab\xda\xab\xe6\xde" } , { "\xc6\xe8\xd9\xc6\xe5" , "\xab\xda\xab\xe6\xe0\xde" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\xab\xda\xab\xe6\xe0\xde\x4d" } , { "\xc6\xe8\xd9\xc6\xe6" , "\xab\xda\xab\xe8" } , { "\xc6\xe8\xd9\xcc\xde" , "\xab\xda\xc8\xda\xdf\xe0" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\xab\xda\x7d\xda\x25" } , { "\xc6\xe8\xd9\xd7\xda" , "\xab\xda\xd1\xdb" } , { "\xc6\xe8\xd9\xd8" , "\xab\xda\xd4\xda" } , { "\xc6\xe8\xe8" , "\xab\xe9" } , { "\xc6\xe8\xe9\xc6" , "\xab\xda\xad" } , { "\xc6\xe8\xe9\xcf" , "\xab\xda\xc3" } , { "\xc6\xe9" , "\xab\xda" } , { "\xc6\xe9\xe8\xbf" , "\xab\xda\x75" } , { "\xc7" , "\xab\xda" } , { "\xc7\xdb" , "\xac" } , { "\xc8" , "\xae\xda" } , { "\xc8\xa1" , "\xae\xda\x4d" } , { "\xc8\xa2" , "\xae\xda\x4d" } , { "\xc8\xa2\xa2" , "\xae\xda\x4d\x4d" } , { "\xc8\xa3" , "\xae\xda\x4e" } , { "\xc8\xd0" , "\xae\xda\xc1\xda" } , { "\xc8\xd0\xcc" , "\xae\xda\xc1\xda\xc8\xda\xdf" } , { "\xc8\xda" , "\xae\xdb" } , { "\xc8\xda\xa1" , "\xae\xdb\x4d" } , { "\xc8\xda\xa2" , "\xae\xdb\x4d" } , { "\xc8\xda\xa3" , "\xae\xdb\x4e" } , { "\xc8\xda\xd0\xe8" , "\xae\xdb\xc1\xe9" } , { "\xc8\xdb" , "\xaf" } , { "\xc8\xdb\xa2" , "\xaf\x4d" } , { "\xc8\xdb\xa2\xa2" , "\xaf\x4d\x4d" } , { "\xc8\xdc" , "\xaf\xde" } , { "\xc8\xdc\xa2" , "\xaf\xde\x4d" } , { "\xc8\xdd" , "\xae\xda\xe2\xb4" } , { "\xc8\xdd\xa1" , "\xae\xda\xe2\xb4\x4d" } , { "\xc8\xdd\xa2" , "\xae\xda\xe2\xb4\x4d" } , { "\xc8\xdd\xa3" , "\xae\xda\xe2\xb4\x4e" } , { "\xc8\xde" , "\xae\xda\xe3" } , { "\xc8\xde\xa1" , "\xae\xda\xe3\x4d" } , { "\xc8\xde\xa2" , "\xae\xda\xe3\x4d" } , { "\xc8\xdf" , "\xae\xda\xe4" } , { "\xc8\xe0" , "\xae\xe6" } , { "\xc8\xe0\xa2" , "\xae\xe6\x4d" } , { "\xc8\xe1" , "\xae\xe6\xde" } , { "\xc8\xe1\xa1" , "\xae\xe6\xde\x4d" } , { "\xc8\xe1\xa2" , "\xae\xe6\xde\x4d" } , { "\xc8\xe2" , "\xae\xe6\xe7" } , { "\xc8\xe2\xa2" , "\xae\xe6\xe7\x4d" } , { "\xc8\xe2\xa3" , "\xae\xe6\xe7\x4e" } , { "\xc8\xe2\xcf\xe8" , "\xae\xe6\xe7\xc1\xe9" } , { "\xc8\xe4" , "\xae\xe6\xe3" } , { "\xc8\xe4\xa2" , "\xae\xe6\xe3\x4d" } , { "\xc8\xe4\xa3" , "\xae\xe6\xe3\x4e" } , { "\xc8\xe5" , "\xae\xe6\xe3\xde" } , { "\xc8\xe5\xa2" , "\xae\xe6\xe3\xde\x4d" } , { "\xc8\xe5\xa3" , "\xae\xe6\xe3\xde\x4e" } , { "\xc8\xe6" , "\xae\xe8" } , { "\xc8\xe6\xa2" , "\xae\xe8\x4d" } , { "\xc8\xe7" , "\xae\xe6\xe3" } , { "\xc8\xe7\xa2" , "\xae\xe6\xe3\x4d" } , { "\xc8\xe8" , "\xae\xe9" } , { "\xc8\xe8\xb3" , "\xae\xda\x51" } , { "\xc8\xe8\xb3\xa2" , "\xae\xda\x51\x4d" } , { "\xc8\xe8\xb3\xda" , "\xae\xdb\x51" } , { "\xc8\xe8\xb3\xdb" , "\xaf\x51" } , { "\xc8\xe8\xb3\xdb\xa2" , "\xaf\x51\x4d" } , { "\xc8\xe8\xb3\xdd" , "\xae\xda\xe2\xfc\x51" } , { "\xc8\xe8\xb3\xe1" , "\xae\xe6\x51\xde" } , { "\xc8\xe8\xb3\xe4" , "\xae\xe6\xe3\x51" } , { "\xc8\xe8\xb3\xe5" , "\xae\xe6\xe3\x51\xde" } , { "\xc8\xe8\xb3\xe8\xc2" , "\xae\xda\x51\xfa\xa1" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\xae\xe9\x4f\xe9\xc3\x3e\xd3" } , { "\xc8\xe8\xb5" , "\xae\xda\x58" } , { "\xc8\xe8\xb5\xda" , "\xae\xdb\x58" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\xae\xe6\x58\xf0\xde" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\xae\xe8\x58\xf0\x4d" } , { "\xc8\xe8\xb6" , "\xae\xda\x5b" } , { "\xc8\xe8\xb8" , "\xae\xda\x60" } , { "\xc8\xe8\xb8\xda" , "\xae\xdb\x60" } , { "\xc8\xe8\xb8\xdb" , "\xaf\x60" } , { "\xc8\xe8\xb8\xdd" , "\xae\xda\xe2\xfd\x60" } , { "\xc8\xe8\xb8\xde" , "\xae\xda\xe3\x60" } , { "\xc8\xe8\xb8\xe0" , "\xae\xe6\x60" } , { "\xc8\xe8\xb8\xe1" , "\xae\xe6\x60\xde" } , { "\xc8\xe8\xb8\xe8" , "\xae\xe9\x60" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\xae\xdb\x60\x3e\x63" } , { "\xc8\xe8\xb9\xdd" , "\xae\xda\xe2\xfd\x63" } , { "\xc8\xe8\xba" , "\xae\xda\x67" } , { "\xc8\xe8\xba\xda" , "\xae\xdb\x67" } , { "\xc8\xe8\xba\xdb" , "\xaf\x67" } , { "\xc8\xe8\xba\xdd" , "\xae\xda\xe2\xfa\x67" } , { "\xc8\xe8\xbd" , "\xae\xda\x6f" } , { "\xc8\xe8\xbd\xa2" , "\xae\xda\x6f\x4d" } , { "\xc8\xe8\xbd\xda" , "\xae\xdb\x6f" } , { "\xc8\xe8\xbd\xdb" , "\xaf\x6f" } , { "\xc8\xe8\xbd\xdb\xa2" , "\xaf\x6f\x4d" } , { "\xc8\xe8\xbd\xdc" , "\xaf\x6f\xde" } , { "\xc8\xe8\xbd\xdd" , "\xae\xda\xe2\xfd\x6f" } , { "\xc8\xe8\xbd\xde" , "\xae\xda\xe3\x6f" } , { "\xc8\xe8\xbd\xe0" , "\xae\xe6\x6f" } , { "\xc8\xe8\xbd\xe0\xa2" , "\xae\xe6\x6f\x4d" } , { "\xc8\xe8\xbd\xe1" , "\xae\xe6\x6f\xde" } , { "\xc8\xe8\xbd\xe2" , "\xae\xe6\x6f\x3e\xe7" } , { "\xc8\xe8\xbd\xe4" , "\xae\xe6\xe3\x6f" } , { "\xc8\xe8\xbd\xe5" , "\xae\xe6\xe3\x6f\xde" } , { "\xc8\xe8\xbd\xe6" , "\xae\xe8\x6f" } , { "\xc8\xe8\xbd\xe8" , "\xae\xe9\x6f" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\xae\xda\xe2\xfd\x6f\x3d\x51" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\xae\xdb\x6f\xfe\x58" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\xae\xe6\x6f\x3e\x60\xde" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\xae\xe6\xe3\x6f\xfe\xa1\xde" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\xae\xdb\x6f\x3e\xb9" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\xae\xda\xe3\x6f\x3d\xc0" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\xae\xdb\x6f\xf1" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\xae\xe6\xe3\x6f\xf1\xde" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\xae\xda\xe2\xfd\x6f\xfe\xc7" } , { "\xc8\xe8\xbd\xe8\xd4\xdb" , "\xaf\x6f\x3e\xca" } , { "\xc8\xe8\xbd\xe8\xd4\xe1" , "\xae\xe6\x6f\x3e\xca\xde" } , { "\xc8\xe8\xbd\xe8\xd7" , "\xae\xda\x6f\x3e\xd3" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\xae\xe9\x6f\x3e\xd3" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\xae\xdb\x6f\x3c\xd6" } , { "\xc8\xe8\xbf" , "\xae\xda\x75" } , { "\xc8\xe8\xbf\xda" , "\xae\xdb\x75" } , { "\xc8\xe8\xbf\xdb" , "\xaf\x75" } , { "\xc8\xe8\xbf\xdd" , "\xae\xda\xe2\xfa\x75" } , { "\xc8\xe8\xbf\xe0\xa2" , "\xae\xe6\x75\x4d" } , { "\xc8\xe8\xbf\xe1" , "\xae\xe6\x75\xde" } , { "\xc8\xe8\xbf\xe8" , "\xae\xe9\x75" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\xae\xdb\x75\xf0" } , { "\xc8\xe8\xc1" , "\xae\xda\x7c" } , { "\xc8\xe8\xc2" , "\xae\xda\xa1" } , { "\xc8\xe8\xc2\xa2" , "\xae\xda\xa1\x4d" } , { "\xc8\xe8\xc2\xda" , "\xae\xdb\xa1" } , { "\xc8\xe8\xc2\xda\xa2" , "\xae\xdb\xa1\x4d" } , { "\xc8\xe8\xc2\xdb" , "\xaf\xa1" } , { "\xc8\xe8\xc2\xdb\xa2" , "\xaf\xa1\x4d" } , { "\xc8\xe8\xc2\xdc" , "\xaf\xa1\xde" } , { "\xc8\xe8\xc2\xdd" , "\xae\xda\xe2\xfa\xa1" } , { "\xc8\xe8\xc2\xdd\xa2" , "\xae\xda\xe2\xfa\xa1\x4d" } , { "\xc8\xe8\xc2\xde" , "\xae\xda\xe3\xb4\xa1" } , { "\xc8\xe8\xc2\xde\xa2" , "\xae\xda\xe3\xb4\xa1\x4d" } , { "\xc8\xe8\xc2\xe0" , "\xae\xe6\xa1" } , { "\xc8\xe8\xc2\xe1" , "\xae\xe6\xa1\xde" } , { "\xc8\xe8\xc2\xe2\xa3" , "\xae\xe6\xeb\x4e" } , { "\xc8\xe8\xc2\xe5" , "\xae\xe6\xe3\xb4\xa1\xde" } , { "\xc8\xe8\xc2\xe5\xa2" , "\xae\xe6\xe3\xb4\xa1\xde\x4d" } , { "\xc8\xe8\xc2\xe8" , "\xae\xe9\xa1" } , { "\xc8\xe8\xc2\xe8\xcd" , "\xae\xda\xa1\xf4\xc0" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\xae\xdb\xa1\xf4\xc0" } , { "\xc8\xe8\xc2\xe8\xcf" , "\xae\xda\xa1\xf0" } , { "\xc8\xe8\xc2\xe8\xcf\xe0" , "\xae\xe6\xa1\xf0" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\xae\xe6\xa1\xf0\x3e\xe7" } , { "\xc8\xe8\xc3" , "\xae\xda\xa4" } , { "\xc8\xe8\xc3\xdc" , "\xaf\xa4\xde" } , { "\xc8\xe8\xc3\xe8" , "\xae\xe9\xa4" } , { "\xc8\xe8\xc3\xe8\xb3" , "\xae\xda\xa4\xf4\x51" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\xae\xdb\xa4\xf4\xc0" } , { "\xc8\xe8\xc3\xe8\xd4\xdc" , "\xaf\xa4\xf5\xca\xde" } , { "\xc8\xe8\xc4" , "\xae\xda\xa7" } , { "\xc8\xe8\xc4\xda" , "\xae\xdb\xa7" } , { "\xc8\xe8\xc4\xdc" , "\xaf\xa7\xde" } , { "\xc8\xe8\xc4\xdd" , "\xae\xda\xe2\xfa\xa7" } , { "\xc8\xe8\xc4\xe1" , "\xae\xe6\xa7\xde" } , { "\xc8\xe8\xc4\xe4" , "\xae\xe6\xe3\xb4\xa7" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\xaf\xa7\xf2\xa7" } , { "\xc8\xe8\xc5" , "\xae\xda\xaa" } , { "\xc8\xe8\xc5\xda" , "\xae\xdb\xaa" } , { "\xc8\xe8\xc5\xdd" , "\xae\xda\xe2\xfa\xaa" } , { "\xc8\xe8\xc6" , "\xae\xda\xad" } , { "\xc8\xe8\xc6\xa2" , "\xae\xda\xad\x4d" } , { "\xc8\xe8\xc6\xda" , "\xae\xdb\xad" } , { "\xc8\xe8\xc6\xdb" , "\xaf\xad" } , { "\xc8\xe8\xc6\xdc" , "\xaf\xad\xde" } , { "\xc8\xe8\xc6\xdd" , "\xae\xda\xe2\xfd\xad" } , { "\xc8\xe8\xc6\xdd\xa2" , "\xae\xda\xe2\xfd\xad\x4d" } , { "\xc8\xe8\xc6\xe5" , "\xae\xe6\xe3\xad\xde" } , { "\xc8\xe8\xc6\xe5\xa2" , "\xae\xe6\xe3\xad\xde\x4d" } , { "\xc8\xe8\xc7" , "\xae\xda\xad" } , { "\xc8\xe8\xc8" , "\xae\xda\xb0" } , { "\xc8\xe8\xc8\xa2" , "\xae\xda\xb0\x4d" } , { "\xc8\xe8\xc8\xa2\xa2" , "\xae\xda\xb0\x4d\x4d" } , { "\xc8\xe8\xc8\xda" , "\xae\xdb\xb0" } , { "\xc8\xe8\xc8\xda\xa2" , "\xae\xdb\xb0\x4d" } , { "\xc8\xe8\xc8\xdb" , "\xaf\xb0" } , { "\xc8\xe8\xc8\xdb\xa2" , "\xaf\xb0\x4d" } , { "\xc8\xe8\xc8\xdc" , "\xaf\xb0\xde" } , { "\xc8\xe8\xc8\xdc\xa2" , "\xaf\xb0\xde\x4d" } , { "\xc8\xe8\xc8\xdd" , "\xae\xda\xe2\xfd\xb0" } , { "\xc8\xe8\xc8\xdd\xa2" , "\xae\xda\xe2\xfd\xb0\x4d" } , { "\xc8\xe8\xc8\xde" , "\xae\xda\xe3\xb0" } , { "\xc8\xe8\xc8\xe0" , "\xae\xe6\xb0" } , { "\xc8\xe8\xc8\xe0\xa2" , "\xae\xe6\xb0\x4d" } , { "\xc8\xe8\xc8\xe1" , "\xae\xe6\xb0\xde" } , { "\xc8\xe8\xc8\xe1\xa2" , "\xae\xe6\xb0\xde\x4d" } , { "\xc8\xe8\xc8\xe2" , "\xae\xe6\xb0\x3e\xe7" } , { "\xc8\xe8\xc8\xe2\xa2" , "\xae\xe6\xb0\x3e\xe7\x4d" } , { "\xc8\xe8\xc8\xe4" , "\xae\xe6\xe3\xb0" } , { "\xc8\xe8\xc8\xe4\xa2" , "\xae\xe6\xe3\xb0\x4d" } , { "\xc8\xe8\xc8\xe5" , "\xae\xe6\xe3\xb0\xde" } , { "\xc8\xe8\xc8\xe5\xa2" , "\xae\xe6\xe3\xb0\xde\x4d" } , { "\xc8\xe8\xc8\xe6" , "\xae\xe8\xb0" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\xaf\xb0\xfe\x75" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\xae\xdb\xb0\x3e\xb0" } , { "\xc8\xe8\xc8\xe8\xcc" , "\xae\xda\xb0\x3d\xbd" } , { "\xc8\xe8\xc8\xe8\xcf" , "\xae\xda\xb0\xf1" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\xae\xda\xe2\xfd\xb0\x3e\xd3" } , { "\xc8\xe8\xc9" , "\xae\xda\xb5" } , { "\xc8\xe8\xc9\xdb" , "\xaf\xb5" } , { "\xc8\xe8\xc9\xdc" , "\xaf\xb5\xde" } , { "\xc8\xe8\xc9\xdd" , "\xae\xda\xe2\xfd\xb5" } , { "\xc8\xe8\xc9\xe0" , "\xae\xe6\xb5" } , { "\xc8\xe8\xc9\xe1" , "\xae\xe6\xb5\xde" } , { "\xc8\xe8\xc9\xe2" , "\xae\xe6\xb5\x3e\xe7" } , { "\xc8\xe8\xca" , "\xae\xda\xb9" } , { "\xc8\xe8\xca\xda" , "\xae\xdb\xb9" } , { "\xc8\xe8\xca\xdb\xa2" , "\xaf\xb9\x4d" } , { "\xc8\xe8\xca\xdd" , "\xae\xda\xe2\xfd\xb9" } , { "\xc8\xe8\xca\xe0" , "\xae\xe6\xb9" } , { "\xc8\xe8\xcb" , "\xae\xda\xbc" } , { "\xc8\xe8\xcc" , "\xae\xda\xbd" } , { "\xc8\xe8\xcc\xda" , "\xae\xdb\xbd" } , { "\xc8\xe8\xcc\xdb" , "\xaf\xbd" } , { "\xc8\xe8\xcc\xdc" , "\xaf\xbd\xde" } , { "\xc8\xe8\xcc\xde" , "\xae\xda\xe3\xbd" } , { "\xc8\xe8\xcc\xe0" , "\xae\xe6\xbd" } , { "\xc8\xe8\xcc\xe0\xa2" , "\xae\xe6\xbd\x4d" } , { "\xc8\xe8\xcc\xe5" , "\xae\xe6\xe3\xbd\xde" } , { "\xc8\xe8\xcd" , "\xae\xda\xc0" } , { "\xc8\xe8\xcd\xa2" , "\xae\xda\xc0\x4d" } , { "\xc8\xe8\xcd\xda" , "\xae\xdb\xc0" } , { "\xc8\xe8\xcd\xda\xa2" , "\xae\xdb\xc0\x4d" } , { "\xc8\xe8\xcd\xdb" , "\xaf\xc0" } , { "\xc8\xe8\xcd\xdd" , "\xae\xda\xe2\xfc\xc0" } , { "\xc8\xe8\xcd\xde" , "\xae\xda\xe3\xc0" } , { "\xc8\xe8\xcd\xde\xa1" , "\xae\xda\xe3\xc0\x4d" } , { "\xc8\xe8\xcd\xe1" , "\xae\xe6\xc0\xde" } , { "\xc8\xe8\xcd\xe4" , "\xae\xe6\xe3\xc0" } , { "\xc8\xe8\xcd\xe5" , "\xae\xe6\xe3\xc0\xde" } , { "\xc8\xe8\xcf" , "\xae\xda\xc3" } , { "\xc8\xe8\xcf\xa2" , "\xae\xda\xc3\x4d" } , { "\xc8\xe8\xcf\xda" , "\xae\xdb\xc3" } , { "\xc8\xe8\xcf\xda\xa1" , "\xae\xdb\xc3\x4d" } , { "\xc8\xe8\xcf\xda\xa2" , "\xae\xdb\xc3\x4d" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\xae\xdb\xc3\x4d\x4d" } , { "\xc8\xe8\xcf\xdb" , "\xaf\xc3" } , { "\xc8\xe8\xcf\xdb\xa2" , "\xaf\xc3\x4d" } , { "\xc8\xe8\xcf\xdc" , "\xaf\xc3\xde" } , { "\xc8\xe8\xcf\xdc\xa2" , "\xaf\xc3\xde\x4d" } , { "\xc8\xe8\xcf\xdc\xa3" , "\xaf\xc3\xde\x4e" } , { "\xc8\xe8\xcf\xdd" , "\xae\xda\xe2\xfd\xc3" } , { "\xc8\xe8\xcf\xdd\xa2" , "\xae\xda\xe2\xfd\xc3\x4d" } , { "\xc8\xe8\xcf\xde" , "\xae\xda\xe3\xc3" } , { "\xc8\xe8\xcf\xde\xa2" , "\xae\xda\xe3\xc3\x4d" } , { "\xc8\xe8\xcf\xdf" , "\xae\xda\xc3\x3e\xe4" } , { "\xc8\xe8\xcf\xe0" , "\xae\xe6\xc3" } , { "\xc8\xe8\xcf\xe0\xa2" , "\xae\xe6\xc3\x4d" } , { "\xc8\xe8\xcf\xe1" , "\xae\xe6\xc3\xde" } , { "\xc8\xe8\xcf\xe1\xa2" , "\xae\xe6\xc3\xde\x4d" } , { "\xc8\xe8\xcf\xe2" , "\xae\xe6\xee" } , { "\xc8\xe8\xcf\xe4" , "\xae\xe6\xe3\xc3" } , { "\xc8\xe8\xcf\xe5" , "\xae\xe6\xe3\xc3\xde" } , { "\xc8\xe8\xcf\xe5\xa2" , "\xae\xe6\xe3\xc3\xde\x4d" } , { "\xc8\xe8\xcf\xe6" , "\xae\xe8\xc3" } , { "\xc8\xe8\xcf\xe7" , "\xae\xe6\xe3\xc3" } , { "\xc8\xe8\xcf\xe8\xcd" , "\xae\xda\xc3\x3d\xc0" } , { "\xc8\xe8\xcf\xe8\xd1" , "\xae\xda\xc3\xfe\xc7" } , { "\xc8\xe8\xd1" , "\xae\xda\xc7" } , { "\xc8\xe8\xd1\xa2" , "\xae\xda\xc7\x4d" } , { "\xc8\xe8\xd1\xda" , "\xae\xdb\xc7" } , { "\xc8\xe8\xd1\xda\xa2" , "\xae\xdb\xc7\x4d" } , { "\xc8\xe8\xd1\xdb" , "\xaf\xc7" } , { "\xc8\xe8\xd1\xdb\xa2" , "\xaf\xc7\x4d" } , { "\xc8\xe8\xd1\xdc" , "\xaf\xc7\xde" } , { "\xc8\xe8\xd1\xdd" , "\xae\xda\xe2\xfa\xc7" } , { "\xc8\xe8\xd1\xde" , "\xae\xda\xe3\xb4\xc7" } , { "\xc8\xe8\xd1\xe0" , "\xae\xe6\xc7" } , { "\xc8\xe8\xd1\xe0\xa2" , "\xae\xe6\xc7\x4d" } , { "\xc8\xe8\xd1\xe1" , "\xae\xe6\xc7\xde" } , { "\xc8\xe8\xd1\xe1\xa2" , "\xae\xe6\xc7\xde\x4d" } , { "\xc8\xe8\xd1\xe2" , "\xae\xe6\xc7\xf5\xe7" } , { "\xc8\xe8\xd1\xe2\xa2" , "\xae\xe6\xc7\xf5\xe7\x4d" } , { "\xc8\xe8\xd1\xe4" , "\xae\xe6\xe3\xb4\xc7" } , { "\xc8\xe8\xd1\xe5" , "\xae\xe6\xe3\xb4\xc7\xde" } , { "\xc8\xe8\xd1\xe7" , "\xae\xe6\xe3\xb4\xc7" } , { "\xc8\xe8\xd1\xe8" , "\xae\xe9\xc7" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\xaf\xc7\xf5\xb0\xde" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\xae\xdb\xc7\xf4\xc0\x4d" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\xae\xda\xe3\xb4\xc7\xf4\xc0" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\xae\xdb\xc7\xf5\xd3\x4d" } , { "\xc8\xe8\xd2\xdb" , "\xaf\xd9" } , { "\xc8\xe8\xd4" , "\xae\xda\xca" } , { "\xc8\xe8\xd4\xda" , "\xae\xdb\xca" } , { "\xc8\xe8\xd4\xda\xa1" , "\xae\xdb\xca\x4d" } , { "\xc8\xe8\xd4\xda\xa2" , "\xae\xdb\xca\x4d" } , { "\xc8\xe8\xd4\xdb" , "\xaf\xca" } , { "\xc8\xe8\xd4\xdd" , "\xae\xda\xe2\xfd\xca" } , { "\xc8\xe8\xd4\xe2" , "\xae\xe6\xca\x3e\xe7" } , { "\xc8\xe8\xd4\xe8\xcf\xda" , "\xae\xdb\xca\xf1" } , { "\xc8\xe8\xd5" , "\xae\xda\xcd" } , { "\xc8\xe8\xd5\xa2" , "\xae\xda\xcd\x4d" } , { "\xc8\xe8\xd6" , "\xae\xda\xd0" } , { "\xc8\xe8\xd6\xdb" , "\xaf\xd0" } , { "\xc8\xe8\xd6\xe2" , "\xae\xe6\xd0\x3e\xe7" } , { "\xc8\xe8\xd6\xe8\xb9" , "\xae\xda\xd0\x3e\x63" } , { "\xc8\xe8\xd6\xe8\xbd" , "\xae\xda\xd0\x3e\x6f" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\xaf\xd0\x3e\x6f" } , { "\xc8\xe8\xd6\xe8\xbe" , "\xae\xda\xd0\xfe\x72" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\xae\xe6\xe3\xd0\xfe\x72\xde" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\xae\xe6\xe3\xd0\xfe\x72\xde\x4d" } , { "\xc8\xe8\xd7" , "\xae\xda\xd3" } , { "\xc8\xe8\xd7\xa2" , "\xae\xda\xd3\x4d" } , { "\xc8\xe8\xd7\xda" , "\xae\xdb\xd3" } , { "\xc8\xe8\xd7\xdb" , "\xaf\xd3" } , { "\xc8\xe8\xd7\xdb\xa2" , "\xaf\xd3\x4d" } , { "\xc8\xe8\xd7\xdc" , "\xaf\xd3\xde" } , { "\xc8\xe8\xd7\xdd" , "\xae\xda\xe2\xfd\xd3" } , { "\xc8\xe8\xd7\xde" , "\xae\xda\xe3\xd3" } , { "\xc8\xe8\xd7\xe0" , "\xae\xe6\xd3" } , { "\xc8\xe8\xd7\xe0\xa2" , "\xae\xe6\xd3\x4d" } , { "\xc8\xe8\xd7\xe1" , "\xae\xe6\xd3\xde" } , { "\xc8\xe8\xd7\xe2" , "\xae\xe6\xd3\x3e\xe7" } , { "\xc8\xe8\xd7\xe5" , "\xae\xe6\xe3\xd3\xde" } , { "\xc8\xe8\xd7\xe8" , "\xae\xe9\xd3" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\xae\xda\xe2\xfd\xd3\x3d\x51" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\xae\xdb\xd3\xfe\x58" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\xae\xe6\xd3\xfe\x58\xde" } , { "\xc8\xe8\xd7\xe8\xbd" , "\xae\xda\xd3\x3e\x6f" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\xaf\xd3\x3e\x6f" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\xaf\xd3\x3e\x6f\xde" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\xae\xe6\xe3\xd3\x3e\x6f\xde" } , { "\xc8\xe8\xd7\xe8\xc2" , "\xae\xda\xd3\xfe\xa1" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\xae\xda\xe2\xfd\xd3\xfe\xa1" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\xae\xda\xe2\xfd\xd3\xfe\xa1\x4d" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\xaf\xd3\x3e\xad" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\xae\xda\xe2\xfd\xd3\x3e\xad" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\xaf\xd3\x3e\xb5" } , { "\xc8\xe8\xd7\xe8\xca" , "\xae\xda\xd3\x3e\xb9" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\xae\xda\xe2\xfd\xd3\x3d\xbd\x4d" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\xae\xda\xe2\xfd\xd3\x3d\xc0" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\xae\xda\xe3\xd3\x3d\xc0" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\xae\xe6\xe3\xd3\xfe\xc7\xde" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\xaf\xd3\x3e\xd3\x3e\x6f" } , { "\xc8\xe8\xd8" , "\xae\xda\xd6" } , { "\xc8\xe8\xd8\xda\xa2" , "\xae\xdb\xd6\x4d" } , { "\xc8\xe8\xd8\xde" , "\xae\xda\xe3\xb4\xd6" } , { "\xc8\xe8\xd8\xe5" , "\xae\xe6\xe3\xb4\xd6\xde" } , { "\xc8\xe8\xd8\xe6" , "\xae\xe8\xd6" } , { "\xc8\xe8\xe8" , "\xae\xe9" } , { "\xc8\xe8\xe9\xcf" , "\xae\xda\xc3" } , { "\xc8\xe9" , "\xae\xda" } , { "\xc9" , "\xb1\xda" } , { "\xc9\xa1" , "\xb1\xda\x4d" } , { "\xc9\xa2" , "\xb1\xda\x4d" } , { "\xc9\xa3" , "\xb1\xda\x4e" } , { "\xc9\xc4" , "\xb1\xda\xa5\xda" } , { "\xc9\xca" , "\xb1\xda\xb6" } , { "\xc9\xd0" , "\xb1\xda\xc1\xda" } , { "\xc9\xda" , "\xb1\xdb" } , { "\xc9\xda\xa1" , "\xb1\xdb\x4d" } , { "\xc9\xda\xa2" , "\xb1\xdb\x4d" } , { "\xc9\xdb" , "\xb2" } , { "\xc9\xdb\xa2" , "\xb2\x4d" } , { "\xc9\xdc" , "\xb2\xde" } , { "\xc9\xdc\xa1" , "\xb2\xde\x4d" } , { "\xc9\xdc\xa2" , "\xb2\xde\x4d" } , { "\xc9\xdd" , "\xb1\xda\xb3\xe2\xb4" } , { "\xc9\xdd\xa1" , "\xb1\xda\xb3\xe2\xb4\x4d" } , { "\xc9\xdd\xa2" , "\xb1\xda\xb3\xe2\xb4\x4d" } , { "\xc9\xde" , "\xb1\xda\xb3\xe3" } , { "\xc9\xde\xa1" , "\xb1\xda\xb3\xe3\x4d" } , { "\xc9\xde\xa2" , "\xb1\xda\xb3\xe3\x4d" } , { "\xc9\xdf" , "\xb1\xda\xe4" } , { "\xc9\xe0" , "\xb1\xe6" } , { "\xc9\xe0\xa2" , "\xb1\xe6\x4d" } , { "\xc9\xe1" , "\xb1\xe6\xde" } , { "\xc9\xe1\xa2" , "\xb1\xe6\xde\x4d" } , { "\xc9\xe2" , "\xb1\xe6\xe7" } , { "\xc9\xe2\xa2" , "\xb1\xe6\xe7\x4d" } , { "\xc9\xe4" , "\xb1\xe6\xb3\xe3" } , { "\xc9\xe4\xa2" , "\xb1\xe6\xb3\xe3\x4d" } , { "\xc9\xe5" , "\xb1\xe6\xb3\xe3\xde" } , { "\xc9\xe5\xa2" , "\xb1\xe6\xb3\xe3\xde\x4d" } , { "\xc9\xe6" , "\xb1\xe8" } , { "\xc9\xe6\xa2" , "\xb1\xe8\x4d" } , { "\xc9\xe7" , "\xb1\xe6\xb3\xe3" } , { "\xc9\xe7\xa2" , "\xb1\xe6\xb3\xe3\x4d" } , { "\xc9\xe8" , "\xb1\xe9" } , { "\xc9\xe8\xb3\xda" , "\xb1\xdb\x51" } , { "\xc9\xe8\xb3\xdb" , "\xb2\xb4\x51" } , { "\xc9\xe8\xb3\xdc" , "\xb2\xb4\x51\xde" } , { "\xc9\xe8\xb3\xdd" , "\xb1\xda\xb3\xe2\xfc\x51" } , { "\xc9\xe8\xb3\xe0" , "\xb1\xe6\xb4\x51" } , { "\xc9\xe8\xb3\xe1" , "\xb1\xe6\xb4\x51\xde" } , { "\xc9\xe8\xb3\xe5" , "\xb1\xe6\xb3\xe3\x51\xde" } , { "\xc9\xe8\xb4" , "\xb1\xda\xb4\xb4\x55" } , { "\xc9\xe8\xb4\xda" , "\xb1\xdb\x55" } , { "\xc9\xe8\xb5" , "\xb1\xda\xb4\xb4\x58" } , { "\xc9\xe8\xb5\xda" , "\xb1\xdb\x58" } , { "\xc9\xe8\xb5\xde" , "\xb1\xda\xb3\xe3\xb4\x58" } , { "\xc9\xe8\xb6" , "\xb1\xda\xb4\x5b" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\xb2\xb4\x5b\x3e\xad" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\xb1\xda\xb3\xe2\xfd\x5b\x3e\xad" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\xb1\xe9\x5b\x3e\xad" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\xb1\xda\xb4\x5b\x3e\xad\xfe\xc7" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\xb1\xda\xb3\xe2\xfd\x5b\x3e\xad\xfe\xc7" } , { "\xc9\xe8\xb8\xe8\xc6\xe0\xa2" , "\xb1\xe6\xb4\x60\x3e\xad\x4d" } , { "\xc9\xe8\xba" , "\xb1\xda\xb4\xb4\x67" } , { "\xc9\xe8\xba\xda" , "\xb1\xdb\x67" } , { "\xc9\xe8\xba\xe5\xa2" , "\xb1\xe6\xb3\xe3\xb4\x67\xde\x4d" } , { "\xc9\xe8\xba\xe9" , "\xb1\xda\xb4\xb4\x67" } , { "\xc9\xe8\xbb" , "\xb1\xda\xb4\xb4\x69" } , { "\xc9\xe8\xbd" , "\xb1\xda\xb4\x6f" } , { "\xc9\xe8\xbd\xdb" , "\xb2\xb4\x6f" } , { "\xc9\xe8\xbd\xdb\xa2" , "\xb2\xb4\x6f\x4d" } , { "\xc9\xe8\xbd\xdc" , "\xb2\xb4\x6f\xde" } , { "\xc9\xe8\xbd\xdd" , "\xb1\xda\xb3\xe2\xfd\x6f" } , { "\xc9\xe8\xbd\xde" , "\xb1\xda\xb3\xe3\x6f" } , { "\xc9\xe8\xbd\xe0" , "\xb1\xe6\xb4\x6f" } , { "\xc9\xe8\xbd\xe1\xa2" , "\xb1\xe6\xb4\x6f\xde\x4d" } , { "\xc9\xe8\xbd\xe5" , "\xb1\xe6\xb3\xe3\x6f\xde" } , { "\xc9\xe8\xbd\xe5\xa2" , "\xb1\xe6\xb3\xe3\x6f\xde\x4d" } , { "\xc9\xe8\xbd\xe8" , "\xb1\xe9\x6f" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\xb1\xdb\x6f\x3d\x51" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\xb1\xe6\xb3\xe3\x6f\x3d\x51\xde" } , { "\xc9\xe8\xbd\xe8\xc6\xe0\xa2" , "\xb1\xe6\xb4\x6f\x3e\xad\x4d" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\xb1\xdb\x6f\x3e\xb0" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\xb1\xe6\xb4\x6f\x3e\xb0\xde" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\xb1\xe9\x6f\xf1" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\xb1\xda\xb3\xe2\xfd\x6f\xfe\xc7" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\xb1\xe6\xb3\xe3\x6f\xfe\xc7\xde" } , { "\xc9\xe8\xbd\xe8\xd4\xe0\xa2" , "\xb1\xe6\xb4\x6f\x3e\xca\x4d" } , { "\xc9\xe8\xbd\xe8\xd4\xe1" , "\xb1\xe6\xb4\x6f\x3e\xca\xde" } , { "\xc9\xe8\xbd\xe8\xd7" , "\xb1\xda\xb4\x6f\x3e\xd3" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\xb1\xe6\xb4\x6f\x3e\xd3\x3e\xe7" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\xb1\xe9\x6f\x3e\xd3" } , { "\xc9\xe8\xbf\xe8" , "\xb1\xe9\x75" } , { "\xc9\xe8\xc2" , "\xb1\xda\xa1" } , { "\xc9\xe8\xc2\xda" , "\xb1\xdb\xa1" } , { "\xc9\xe8\xc2\xdb" , "\xb2\xa1" } , { "\xc9\xe8\xc2\xdc" , "\xb2\xa1\xde" } , { "\xc9\xe8\xc2\xe1" , "\xb1\xe6\xa1\xde" } , { "\xc9\xe8\xc2\xe5" , "\xb1\xe6\xb3\xe3\xb4\xa1\xde" } , { "\xc9\xe8\xc2\xe5\xa2" , "\xb1\xe6\xb3\xe3\xb4\xa1\xde\x4d" } , { "\xc9\xe8\xc2\xe8" , "\xb1\xe9\xa1" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\xb1\xdb\xa1\xf2\x58" } , { "\xc9\xe8\xc3" , "\xb1\xda\xb4\xb4\xa4" } , { "\xc9\xe8\xc3\xda" , "\xb1\xdb\xa4" } , { "\xc9\xe8\xc3\xe5" , "\xb1\xe6\xb3\xe3\xb4\xa4\xde" } , { "\xc9\xe8\xc4" , "\xb1\xda\xb4\xb4\xa7" } , { "\xc9\xe8\xc4\xda" , "\xb1\xdb\xa7" } , { "\xc9\xe8\xc6" , "\xb1\xda\xb4\xad" } , { "\xc9\xe8\xc6\xda" , "\xb1\xdb\xad" } , { "\xc9\xe8\xc6\xdb" , "\xb2\xb4\xad" } , { "\xc9\xe8\xc6\xdc" , "\xb2\xb4\xad\xde" } , { "\xc9\xe8\xc6\xdd" , "\xb1\xda\xb3\xe2\xfd\xad" } , { "\xc9\xe8\xc6\xe0" , "\xb1\xe6\xb4\xad" } , { "\xc9\xe8\xc6\xe5" , "\xb1\xe6\xb3\xe3\xad\xde" } , { "\xc9\xe8\xc8" , "\xb1\xda\xb4\xb0" } , { "\xc9\xe8\xc8\xda" , "\xb1\xdb\xb0" } , { "\xc9\xe8\xc8\xdc" , "\xb2\xb4\xb0\xde" } , { "\xc9\xe8\xc8\xe2" , "\xb1\xe6\xb4\xb0\x3e\xe7" } , { "\xc9\xe8\xc8\xe8" , "\xb1\xe9\xb0" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\xb2\xb4\xb0\xf1" } , { "\xc9\xe8\xc9" , "\xb1\xda\xb4\xb5" } , { "\xc9\xe8\xc9\xda" , "\xb1\xdb\xb5" } , { "\xc9\xe8\xc9\xdd" , "\xb1\xda\xb3\xe2\xfd\xb5" } , { "\xc9\xe8\xc9\xe1" , "\xb1\xe6\xb4\xb5\xde" } , { "\xc9\xe8\xc9\xe5" , "\xb1\xe6\xb3\xe3\xb5\xde" } , { "\xc9\xe8\xca" , "\xb1\xda\xb4\xb9" } , { "\xc9\xe8\xca\xda" , "\xb1\xdb\xb9" } , { "\xc9\xe8\xca\xdc" , "\xb2\xb4\xb9\xde" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\xb1\xe6\xb4\xb9\xf1\xde" } , { "\xc9\xe8\xcc" , "\xb1\xda\xb4\xbd" } , { "\xc9\xe8\xcc\xda" , "\xb1\xdb\xbd" } , { "\xc9\xe8\xcc\xdc" , "\xb2\xb4\xbd\xde" } , { "\xc9\xe8\xcc\xdd" , "\xb1\xda\xb3\xe2\xfc\xbd" } , { "\xc9\xe8\xcc\xe1" , "\xb1\xe6\xb4\xbd\xde" } , { "\xc9\xe8\xcd" , "\xb1\xda\xb4\xc0" } , { "\xc9\xe8\xcd\xda" , "\xb1\xdb\xc0" } , { "\xc9\xe8\xcd\xda\xa2" , "\xb1\xdb\xc0\x4d" } , { "\xc9\xe8\xcd\xdd" , "\xb1\xda\xb3\xe2\xfc\xc0" } , { "\xc9\xe8\xcd\xde" , "\xb1\xda\xb3\xe3\xc0" } , { "\xc9\xe8\xcd\xe5" , "\xb1\xe6\xb3\xe3\xc0\xde" } , { "\xc9\xe8\xcf" , "\xb1\xda\xb4\xc3" } , { "\xc9\xe8\xcf\xa2" , "\xb1\xda\xb4\xc3\x4d" } , { "\xc9\xe8\xcf\xda" , "\xb1\xdb\xc3" } , { "\xc9\xe8\xcf\xda\xa1" , "\xb1\xdb\xc3\x4d" } , { "\xc9\xe8\xcf\xda\xa2" , "\xb1\xdb\xc3\x4d" } , { "\xc9\xe8\xcf\xdb" , "\xb2\xb4\xc3" } , { "\xc9\xe8\xcf\xdb\xa2" , "\xb2\xb4\xc3\x4d" } , { "\xc9\xe8\xcf\xdc" , "\xb2\xb4\xc3\xde" } , { "\xc9\xe8\xcf\xdd" , "\xb1\xda\xb3\xe2\xfd\xc3" } , { "\xc9\xe8\xcf\xde" , "\xb1\xda\xb3\xe3\xc3" } , { "\xc9\xe8\xcf\xe0" , "\xb1\xe6\xb4\xc3" } , { "\xc9\xe8\xcf\xe0\xa2" , "\xb1\xe6\xb4\xc3\x4d" } , { "\xc9\xe8\xcf\xe1" , "\xb1\xe6\xb4\xc3\xde" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xb1\xe6\xb4\xc3\xde\x4d" } , { "\xc9\xe8\xcf\xe2" , "\xb1\xe6\xb4\xee" } , { "\xc9\xe8\xcf\xe2\xa2" , "\xb1\xe6\xb4\xee\x4d" } , { "\xc9\xe8\xcf\xe4" , "\xb1\xe6\xb3\xe3\xc3" } , { "\xc9\xe8\xcf\xe5" , "\xb1\xe6\xb3\xe3\xc3\xde" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xb1\xe6\xb3\xe3\xc3\xde\x4d" } , { "\xc9\xe8\xcf\xe6" , "\xb1\xe8\xc3" } , { "\xc9\xe8\xcf\xe7" , "\xb1\xe6\xb3\xe3\xc3" } , { "\xc9\xe8\xcf\xe8" , "\xb1\xe9\xc3" } , { "\xc9\xe8\xd1" , "\xb1\xda\xb4\xb4\xc7" } , { "\xc9\xe8\xd1\xda" , "\xb1\xdb\xc7" } , { "\xc9\xe8\xd1\xda\xa2" , "\xb1\xdb\xc7\x4d" } , { "\xc9\xe8\xd1\xdb" , "\xb2\xb4\xb4\xc7" } , { "\xc9\xe8\xd1\xdb\xa2" , "\xb2\xb4\xb4\xc7\x4d" } , { "\xc9\xe8\xd1\xdc" , "\xb2\xb4\xb4\xc7\xde" } , { "\xc9\xe8\xd1\xdd" , "\xb1\xda\xb3\xe2\xfa\xc7" } , { "\xc9\xe8\xd1\xde" , "\xb1\xda\xb3\xe3\xb4\xc7" } , { "\xc9\xe8\xd1\xe0" , "\xb1\xe6\xb4\xb4\xc7" } , { "\xc9\xe8\xd1\xe1" , "\xb1\xe6\xb4\xb4\xc7\xde" } , { "\xc9\xe8\xd1\xe1\xa2" , "\xb1\xe6\xb4\xb4\xc7\xde\x4d" } , { "\xc9\xe8\xd1\xe2" , "\xb1\xe6\xb4\xb4\xc7\xf5\xe7" } , { "\xc9\xe8\xd1\xe2\xa2" , "\xb1\xe6\xb4\xb4\xc7\xf5\xe7\x4d" } , { "\xc9\xe8\xd1\xe5" , "\xb1\xe6\xb3\xe3\xb4\xc7\xde" } , { "\xc9\xe8\xd1\xe5\xa2" , "\xb1\xe6\xb3\xe3\xb4\xc7\xde\x4d" } , { "\xc9\xe8\xd1\xe6" , "\xb1\xe8\xc7" } , { "\xc9\xe8\xd1\xe7" , "\xb1\xe6\xb3\xe3\xb4\xc7" } , { "\xc9\xe8\xd5\xda" , "\xb1\xdb\xcd" } , { "\xc9\xe8\xd7" , "\xb1\xda\xb4\xd3" } , { "\xc9\xe8\xd7\xdb" , "\xb2\xb4\xd3" } , { "\xc9\xe8\xd7\xdc" , "\xb2\xb4\xd3\xde" } , { "\xc9\xe8\xd7\xe0" , "\xb1\xe6\xb4\xd3" } , { "\xc9\xe8\xd7\xe2" , "\xb1\xe6\xb4\xd3\x3e\xe7" } , { "\xc9\xe8\xd7\xe8" , "\xb1\xe9\xd3" } , { "\xc9\xe8\xd7\xe8\xbd\xe0" , "\xb1\xe6\xb4\xd3\x3e\x6f" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\xb1\xe6\xb4\xd3\x3e\x6f\xde" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\xb1\xda\xb3\xe2\xfd\xd3\x3e\xad" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\xb2\xb4\xd3\x3e\xb0" } , { "\xc9\xe8\xd8" , "\xb1\xda\xb4\xb4\xd6" } , { "\xc9\xe8\xd8\xdd" , "\xb1\xda\xb3\xe2\xfb\xd6" } , { "\xc9\xe8\xd8\xe5" , "\xb1\xe6\xb3\xe3\xb4\xd6\xde" } , { "\xc9\xe8\xd9\xc2" , "\xb1\xda\xb4\x7d\xda" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\xb1\xda\xb4\xc1\xe6\xde\x4d" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\xb1\xda\xb4\xbe\xda\xdf\xdf\x25" } , { "\xc9\xe8\xd9\xd1\xe5" , "\xb1\xda\xb4\xc5\xe6\xe0\xde" } , { "\xc9\xe8\xd9\xd7" , "\xb1\xda\xb4\xd1\xda" } , { "\xc9\xe8\xe8" , "\xb1\xe9" } , { "\xc9\xe8\xe9\xcf" , "\xb1\xda\xb4\xc3" } , { "\xc9\xe9" , "\xb1\xda" } , { "\xc9\xe9\xda" , "\xb1\xdb" } , { "\xc9\xe9\xdb" , "\xb2" } , { "\xc9\xe9\xdc" , "\xb2\xde" } , { "\xc9\xe9\xdd" , "\xb1\xda\xb3\xe2\xb4" } , { "\xc9\xe9\xe1" , "\xb1\xe6\xde" } , { "\xc9\xe9\xe1\xa2" , "\xb1\xe6\xde\x4d" } , { "\xc9\xe9\xe2" , "\xb1\xe6\xe7" } , { "\xc9\xe9\xe5" , "\xb1\xe6\xb3\xe3\xde" } , { "\xc9\xe9\xe5\xa2" , "\xb1\xe6\xb3\xe3\xde\x4d" } , { "\xc9\xe9\xe6" , "\xb1\xe8" } , { "\xc9\xe9\xe7" , "\xb1\xe6\xb3\xe3" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\xb1\xe6\xb3\xe3\xb4\x67\xde\x4d" } , { "\xc9\xe9\xe8\xbd\xdb" , "\xb2\xb4\x6f" } , { "\xc9\xe9\xe8\xbd\xdc" , "\xb2\xb4\x6f\xde" } , { "\xc9\xe9\xe8\xc2" , "\xb1\xda\xa1" } , { "\xc9\xe9\xe8\xc2\xda" , "\xb1\xdb\xa1" } , { "\xc9\xe9\xe8\xc2\xdc" , "\xb2\xa1\xde" } , { "\xc9\xe9\xe8\xc2\xe1" , "\xb1\xe6\xa1\xde" } , { "\xc9\xe9\xe8\xcf\xdb" , "\xb2\xb4\xc3" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xb1\xe6\xb3\xe3\xc3\xde" } , { "\xc9\xe9\xe8\xd1" , "\xb1\xda\xb4\xb4\xc7" } , { "\xc9\xe9\xe8\xd1\xe5" , "\xb1\xe6\xb3\xe3\xb4\xc7\xde" } , { "\xc9\xe9\xe9\xe8\xc2" , "\xb1\xda\xe9\x7d\xda" } , { "\xca" , "\xb6" } , { "\xca\xa1" , "\xb6\x4d" } , { "\xca\xa2" , "\xb6\x4d" } , { "\xca\xa2\xa1" , "\xb6\x4d\x4d" } , { "\xca\xa3" , "\xb6\x4e" } , { "\xca\xda" , "\xb7\xdb" } , { "\xca\xda\xa1" , "\xb7\xdb\x4d" } , { "\xca\xda\xa2" , "\xb7\xdb\x4d" } , { "\xca\xda\xa3" , "\xb7\xdb\x4e" } , { "\xca\xdb" , "\xb8" } , { "\xca\xdb\xa2" , "\xb8\x4d" } , { "\xca\xdc" , "\xb8\xde" } , { "\xca\xdc\xa2" , "\xb8\xde\x4d" } , { "\xca\xdd" , "\xb6\xdf" } , { "\xca\xdd\xa1" , "\xb6\xdf\x4d" } , { "\xca\xdd\xa2" , "\xb6\xdf\x4d" } , { "\xca\xde" , "\xb6\xe0" } , { "\xca\xde\xa1" , "\xb6\xe0\x4d" } , { "\xca\xde\xa2" , "\xb6\xe0\x4d" } , { "\xca\xdf" , "\xb6\xe4" } , { "\xca\xdf\xa2" , "\xb6\xe4\x4d" } , { "\xca\xe0" , "\xb7\xe6" } , { "\xca\xe0\xa1" , "\xb7\xe6\x4d" } , { "\xca\xe0\xa2" , "\xb7\xe6\x4d" } , { "\xca\xe1" , "\xb7\xe6\xde" } , { "\xca\xe1\xa2" , "\xb7\xe6\xde\x4d" } , { "\xca\xe2" , "\xb7\xe6\xe7" } , { "\xca\xe2\xa2" , "\xb7\xe6\xe7\x4d" } , { "\xca\xe4" , "\xb7\xe6\xe0" } , { "\xca\xe4\xa2" , "\xb7\xe6\xe0\x4d" } , { "\xca\xe5" , "\xb7\xe6\xe0\xde" } , { "\xca\xe5\xa2" , "\xb7\xe6\xe0\xde\x4d" } , { "\xca\xe6" , "\xb7\xe8" } , { "\xca\xe6\xa2" , "\xb7\xe8\x4d" } , { "\xca\xe7" , "\xb7\xe6\xe0" } , { "\xca\xe8" , "\xb7\xe9" } , { "\xca\xe8\xb3" , "\xb6\x51" } , { "\xca\xe8\xb3\xda" , "\xb7\xdb\x51" } , { "\xca\xe8\xb3\xdb" , "\xb8\x51" } , { "\xca\xe8\xb3\xdd" , "\xb6\xdf\x51" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\xb6\xe0\x51\xfc\xc0" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\xb7\xe6\x51\xfa\xc7\xde" } , { "\xca\xe8\xb4\xda" , "\xb7\xdb\x55" } , { "\xca\xe8\xb5\xda" , "\xb7\xdb\x58" } , { "\xca\xe8\xb5\xdd\xa2" , "\xb6\xdf\x58\x4d" } , { "\xca\xe8\xb6" , "\xb6\x5b" } , { "\xca\xe8\xb6\xdb" , "\xb8\x5b" } , { "\xca\xe8\xba" , "\xb6\x67" } , { "\xca\xe8\xba\xa2" , "\xb6\x67\x4d" } , { "\xca\xe8\xba\xda" , "\xb7\xdb\x67" } , { "\xca\xe8\xba\xda\xa2" , "\xb7\xdb\x67\x4d" } , { "\xca\xe8\xba\xdb" , "\xb8\x67" } , { "\xca\xe8\xba\xdc" , "\xb8\x67\xde" } , { "\xca\xe8\xba\xdd" , "\xb6\xdf\x67" } , { "\xca\xe8\xba\xe0" , "\xb7\xe6\x67" } , { "\xca\xe8\xba\xe1" , "\xb7\xe6\x67\xde" } , { "\xca\xe8\xba\xe1\xa2" , "\xb7\xe6\x67\xde\x4d" } , { "\xca\xe8\xba\xe2" , "\xb7\xe6\x67\xf5\xe7" } , { "\xca\xe8\xba\xe5" , "\xb7\xe6\xe0\x67\xde" } , { "\xca\xe8\xba\xe5\xa2" , "\xb7\xe6\xe0\x67\xde\x4d" } , { "\xca\xe8\xba\xe9" , "\xb6\x67" } , { "\xca\xe8\xba\xe9\xda" , "\xb7\xdb\x67" } , { "\xca\xe8\xba\xe9\xdc" , "\xb8\x67\xde" } , { "\xca\xe8\xba\xe9\xe1" , "\xb7\xe6\x67\xde" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\xb7\xe6\x67\xde\x4d" } , { "\xca\xe8\xbd" , "\xb6\x6f" } , { "\xca\xe8\xbd\xdb" , "\xb8\x6f" } , { "\xca\xe8\xbd\xe0" , "\xb7\xe6\x6f" } , { "\xca\xe8\xbd\xe2" , "\xb7\xe6\x6f\x3e\xe7" } , { "\xca\xe8\xbd\xe5" , "\xb7\xe6\xe0\x6f\xde" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\xb8\x6f\x3e\x6f" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\xb7\xdb\x6f\xf1" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\xb8\x6f\x3e\xd3" } , { "\xca\xe8\xbf" , "\xb6\x75" } , { "\xca\xe8\xbf\xda" , "\xb7\xdb\x75" } , { "\xca\xe8\xbf\xdb" , "\xb8\x75" } , { "\xca\xe8\xbf\xdb\xa2" , "\xb8\x75\x4d" } , { "\xca\xe8\xbf\xe0" , "\xb7\xe6\x75" } , { "\xca\xe8\xbf\xe1" , "\xb7\xe6\x75\xde" } , { "\xca\xe8\xbf\xe5" , "\xb7\xe6\xe0\x75\xde" } , { "\xca\xe8\xbf\xe8" , "\xb7\xe9\x75" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\xb6\xdf\x75\xf4\xc0" } , { "\xca\xe8\xc2" , "\xb6\xa1" } , { "\xca\xe8\xc2\xa2" , "\xb6\xa1\x4d" } , { "\xca\xe8\xc2\xda" , "\xb7\xdb\xa1" } , { "\xca\xe8\xc2\xdb" , "\xb8\xa1" } , { "\xca\xe8\xc2\xdc" , "\xb8\xa1\xde" } , { "\xca\xe8\xc2\xdd" , "\xb6\xdf\xa1" } , { "\xca\xe8\xc2\xdd\xa2" , "\xb6\xdf\xa1\x4d" } , { "\xca\xe8\xc2\xe1" , "\xb7\xe6\xa1\xde" } , { "\xca\xe8\xc2\xe5" , "\xb7\xe6\xe0\xa1\xde" } , { "\xca\xe8\xc2\xe8\xc2" , "\xb6\xa1\xf2\xa1" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\xb8\xa1\xf2\xa1" } , { "\xca\xe8\xc3\xda" , "\xb7\xdb\xa4" } , { "\xca\xe8\xc3\xdb" , "\xb8\xa4" } , { "\xca\xe8\xc4" , "\xb6\xa7" } , { "\xca\xe8\xc4\xa2" , "\xb6\xa7\x4d" } , { "\xca\xe8\xc4\xa3" , "\xb6\xa7\x4e" } , { "\xca\xe8\xc4\xda" , "\xb7\xdb\xa7" } , { "\xca\xe8\xc4\xda\xa2" , "\xb7\xdb\xa7\x4d" } , { "\xca\xe8\xc4\xda\xa3" , "\xb7\xdb\xa7\x4e" } , { "\xca\xe8\xc4\xdb" , "\xb8\xa7" } , { "\xca\xe8\xc4\xdb\xa2" , "\xb8\xa7\x4d" } , { "\xca\xe8\xc4\xdc" , "\xb8\xa7\xde" } , { "\xca\xe8\xc4\xdc\xa2" , "\xb8\xa7\xde\x4d" } , { "\xca\xe8\xc4\xdd" , "\xb6\xdf\xa7" } , { "\xca\xe8\xc4\xe1" , "\xb7\xe6\xa7\xde" } , { "\xca\xe8\xc4\xe2" , "\xb7\xe6\xa7\xf5\xe7" } , { "\xca\xe8\xc4\xe5" , "\xb7\xe6\xe0\xa7\xde" } , { "\xca\xe8\xc4\xe5\xa2" , "\xb7\xe6\xe0\xa7\xde\x4d" } , { "\xca\xe8\xc4\xe8" , "\xb7\xe9\xa7" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\xb7\xdb\xa7\xf4\xc0" } , { "\xca\xe8\xc5" , "\xb6\xaa" } , { "\xca\xe8\xc5\xa2" , "\xb6\xaa\x4d" } , { "\xca\xe8\xc5\xa3" , "\xb6\xaa\x4e" } , { "\xca\xe8\xc5\xda" , "\xb7\xdb\xaa" } , { "\xca\xe8\xc5\xda\xa3" , "\xb7\xdb\xaa\x4e" } , { "\xca\xe8\xc5\xdb" , "\xb8\xaa" } , { "\xca\xe8\xc5\xdd" , "\xb6\xdf\xaa" } , { "\xca\xe8\xc5\xe5" , "\xb7\xe6\xe0\xaa\xde" } , { "\xca\xe8\xc6" , "\xb6\xad" } , { "\xca\xe8\xc6\xda" , "\xb7\xdb\xad" } , { "\xca\xe8\xc6\xdb" , "\xb8\xad" } , { "\xca\xe8\xc6\xdb\xa2" , "\xb8\xad\x4d" } , { "\xca\xe8\xc6\xdc" , "\xb8\xad\xde" } , { "\xca\xe8\xc6\xdd" , "\xb6\xdf\xad" } , { "\xca\xe8\xc8" , "\xb6\xb0" } , { "\xca\xe8\xc8\xdb" , "\xb8\xb0" } , { "\xca\xe8\xc8\xe5" , "\xb7\xe6\xe0\xb0\xde" } , { "\xca\xe8\xc9\xe2" , "\xb7\xe6\xb5\x3e\xe7" } , { "\xca\xe8\xca" , "\xb6\xb9" } , { "\xca\xe8\xca\xa2" , "\xb6\xb9\x4d" } , { "\xca\xe8\xca\xda" , "\xb7\xdb\xb9" } , { "\xca\xe8\xca\xdb" , "\xb8\xb9" } , { "\xca\xe8\xca\xdb\xa2" , "\xb8\xb9\x4d" } , { "\xca\xe8\xca\xdc" , "\xb8\xb9\xde" } , { "\xca\xe8\xca\xdd" , "\xb6\xdf\xb9" } , { "\xca\xe8\xca\xdd\xa2" , "\xb6\xdf\xb9\x4d" } , { "\xca\xe8\xca\xde" , "\xb6\xe0\xb9" } , { "\xca\xe8\xca\xe0" , "\xb7\xe6\xb9" } , { "\xca\xe8\xca\xe0\xa2" , "\xb7\xe6\xb9\x4d" } , { "\xca\xe8\xca\xe1" , "\xb7\xe6\xb9\xde" } , { "\xca\xe8\xca\xe1\xa2" , "\xb7\xe6\xb9\xde\x4d" } , { "\xca\xe8\xca\xe2" , "\xb7\xe6\xb9\x3e\xe7" } , { "\xca\xe8\xca\xe4" , "\xb7\xe6\xe0\xb9" } , { "\xca\xe8\xca\xe5" , "\xb7\xe6\xe0\xb9\xde" } , { "\xca\xe8\xca\xe5\xa2" , "\xb7\xe6\xe0\xb9\xde\x4d" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\xb8\xb9\xfe\xa7" } , { "\xca\xe8\xca\xe8\xd8" , "\xb6\xb9\x3c\xd6" } , { "\xca\xe8\xcb" , "\xb6\xbc" } , { "\xca\xe8\xcb\xa2" , "\xb6\xbc\x4d" } , { "\xca\xe8\xcb\xda" , "\xb7\xdb\xbc" } , { "\xca\xe8\xcb\xdb" , "\xb8\xbc" } , { "\xca\xe8\xcb\xdc" , "\xb8\xbc\xde" } , { "\xca\xe8\xcb\xdd" , "\xb6\xdf\xbc" } , { "\xca\xe8\xcb\xe2" , "\xb7\xe6\xbc\x3e\xe7" } , { "\xca\xe8\xcc" , "\xb6\xbd" } , { "\xca\xe8\xcc\xda" , "\xb7\xdb\xbd" } , { "\xca\xe8\xcc\xdb" , "\xb8\xbd" } , { "\xca\xe8\xcc\xe0" , "\xb7\xe6\xbd" } , { "\xca\xe8\xcc\xe1" , "\xb7\xe6\xbd\xde" } , { "\xca\xe8\xcd" , "\xb6\xc0" } , { "\xca\xe8\xcd\xa2" , "\xb6\xc0\x4d" } , { "\xca\xe8\xcd\xda" , "\xb7\xdb\xc0" } , { "\xca\xe8\xcd\xda\xa2" , "\xb7\xdb\xc0\x4d" } , { "\xca\xe8\xcd\xdc" , "\xb8\xc0\xde" } , { "\xca\xe8\xcd\xdd" , "\xb6\xdf\xc0" } , { "\xca\xe8\xcd\xde" , "\xb6\xe0\xc0" } , { "\xca\xe8\xcd\xe5" , "\xb7\xe6\xe0\xc0\xde" } , { "\xca\xe8\xcd\xe5\xa2" , "\xb7\xe6\xe0\xc0\xde\x4d" } , { "\xca\xe8\xcd\xe6" , "\xb7\xe8\xc0" } , { "\xca\xe8\xcd\xe6\xa2" , "\xb7\xe8\xc0\x4d" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\xb7\xdb\xc0\xfc\xc0" } , { "\xca\xe8\xcf" , "\xb6\xc3" } , { "\xca\xe8\xcf\xa2" , "\xb6\xc3\x4d" } , { "\xca\xe8\xcf\xda" , "\xb7\xdb\xc3" } , { "\xca\xe8\xcf\xda\xa1" , "\xb7\xdb\xc3\x4d" } , { "\xca\xe8\xcf\xda\xa2" , "\xb7\xdb\xc3\x4d" } , { "\xca\xe8\xcf\xdb" , "\xb8\xc3" } , { "\xca\xe8\xcf\xdb\xa2" , "\xb8\xc3\x4d" } , { "\xca\xe8\xcf\xdc" , "\xb8\xc3\xde" } , { "\xca\xe8\xcf\xdd" , "\xb6\xdf\xc3" } , { "\xca\xe8\xcf\xde" , "\xb6\xe0\xc3" } , { "\xca\xe8\xcf\xe0" , "\xb7\xe6\xc3" } , { "\xca\xe8\xcf\xe1" , "\xb7\xe6\xc3\xde" } , { "\xca\xe8\xcf\xe1\xa2" , "\xb7\xe6\xc3\xde\x4d" } , { "\xca\xe8\xcf\xe2" , "\xb7\xe6\xee" } , { "\xca\xe8\xcf\xe2\xa2" , "\xb7\xe6\xee\x4d" } , { "\xca\xe8\xcf\xe4" , "\xb7\xe6\xe0\xc3" } , { "\xca\xe8\xcf\xe5" , "\xb7\xe6\xe0\xc3\xde" } , { "\xca\xe8\xcf\xe5\xa2" , "\xb7\xe6\xe0\xc3\xde\x4d" } , { "\xca\xe8\xcf\xe6" , "\xb7\xe8\xc3" } , { "\xca\xe8\xcf\xe7" , "\xb7\xe6\xe0\xc3" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\xb7\xe9\xc3\x3e\x6f" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\xb7\xe9\xc3\xfe\x75" } , { "\xca\xe8\xd1" , "\xb6\xc7" } , { "\xca\xe8\xd1\xa2" , "\xb6\xc7\x4d" } , { "\xca\xe8\xd1\xda" , "\xb7\xdb\xc7" } , { "\xca\xe8\xd1\xda\xa2" , "\xb7\xdb\xc7\x4d" } , { "\xca\xe8\xd1\xdb" , "\xb8\xc7" } , { "\xca\xe8\xd1\xdb\xa2" , "\xb8\xc7\x4d" } , { "\xca\xe8\xd1\xdc" , "\xb8\xc7\xde" } , { "\xca\xe8\xd1\xdd" , "\xb6\xdf\xc7" } , { "\xca\xe8\xd1\xde" , "\xb6\xe0\xc7" } , { "\xca\xe8\xd1\xe0" , "\xb7\xe6\xc7" } , { "\xca\xe8\xd1\xe0\xa2" , "\xb7\xe6\xc7\x4d" } , { "\xca\xe8\xd1\xe1" , "\xb7\xe6\xc7\xde" } , { "\xca\xe8\xd1\xe1\xa2" , "\xb7\xe6\xc7\xde\x4d" } , { "\xca\xe8\xd1\xe2" , "\xb7\xe6\xc7\xf5\xe7" } , { "\xca\xe8\xd1\xe2\xa2" , "\xb7\xe6\xc7\xf5\xe7\x4d" } , { "\xca\xe8\xd1\xe5" , "\xb7\xe6\xe0\xc7\xde" } , { "\xca\xe8\xd1\xe6" , "\xb7\xe8\xc7" } , { "\xca\xe8\xd1\xe7" , "\xb7\xe6\xe0\xc7" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\xb8\xc7\xf4\x51" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\xb8\xc7\xf4\xc0" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\xb6\xdf\xc7\xf4\xc0" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\xb6\xe0\xc7\xf4\xc0" } , { "\xca\xe8\xd1\xe8\xd4\xdd" , "\xb6\xdf\xc7\xf5\xca" } , { "\xca\xe8\xd4\xa2" , "\xb6\xca\x4d" } , { "\xca\xe8\xd4\xda" , "\xb7\xdb\xca" } , { "\xca\xe8\xd4\xdb" , "\xb8\xca" } , { "\xca\xe8\xd4\xe0" , "\xb7\xe6\xca" } , { "\xca\xe8\xd4\xe1" , "\xb7\xe6\xca\xde" } , { "\xca\xe8\xd4\xe7" , "\xb7\xe6\xe0\xca" } , { "\xca\xe8\xd5\xda" , "\xb7\xdb\xcd" } , { "\xca\xe8\xd5\xdb" , "\xb8\xcd" } , { "\xca\xe8\xd5\xdc" , "\xb8\xcd\xde" } , { "\xca\xe8\xd6\xda" , "\xb7\xdb\xd0" } , { "\xca\xe8\xd6\xdb" , "\xb8\xd0" } , { "\xca\xe8\xd6\xdc" , "\xb8\xd0\xde" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\xb6\xd0\x3e\x6f\xf1" } , { "\xca\xe8\xd7" , "\xb6\xd3" } , { "\xca\xe8\xd7\xda" , "\xb7\xdb\xd3" } , { "\xca\xe8\xd7\xdb" , "\xb8\xd3" } , { "\xca\xe8\xd7\xdc" , "\xb8\xd3\xde" } , { "\xca\xe8\xd7\xdd" , "\xb6\xdf\xd3" } , { "\xca\xe8\xd7\xe0" , "\xb7\xe6\xd3" } , { "\xca\xe8\xd7\xe0\xa2" , "\xb7\xe6\xd3\x4d" } , { "\xca\xe8\xd7\xe1" , "\xb7\xe6\xd3\xde" } , { "\xca\xe8\xd7\xe2" , "\xb7\xe6\xd3\x3e\xe7" } , { "\xca\xe8\xd7\xe5" , "\xb7\xe6\xe0\xd3\xde" } , { "\xca\xe8\xd7\xe6" , "\xb7\xe8\xd3" } , { "\xca\xe8\xd7\xe8" , "\xb7\xe9\xd3" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\xb6\xdf\xd3\x3d\x51" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\xb7\xe6\xd3\x3d\x51\xfd\xe7" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xb8\xd3\x3d\x51\xf0" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\xb7\xe6\xd3\x3d\x51\xf0\x3e\xe7" } , { "\xca\xe8\xd7\xe8\xbd" , "\xb6\xd3\x3e\x6f" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\xb7\xdb\xd3\x3e\x6f" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\xb7\xdb\xd3\x3e\x6f\x4d" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\xb8\xd3\x3e\x6f" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\xb7\xe6\xd3\x3e\x6f\xde" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\xb6\xd3\x3e\x6f\xf1" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xb7\xdb\xd3\x3e\x6f\xf1" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xb7\xe6\xd3\x3e\x6f\xf1\x3e\xe7" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\xb6\xdf\xd3\x3e\xad" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\xb6\xdf\xd3\xfe\xc7" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\xb7\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xca\xe8\xd7\xe8\xd4" , "\xb6\xd3\x3e\xca" } , { "\xca\xe8\xd7\xe8\xd4\xa2" , "\xb6\xd3\x3e\xca\x4d" } , { "\xca\xe8\xd8" , "\xb6\xd6" } , { "\xca\xe8\xd8\xda" , "\xb7\xdb\xd6" } , { "\xca\xe8\xd8\xe6" , "\xb7\xe8\xd6" } , { "\xca\xe8\xd8\xe8" , "\xb7\xe9\xd6" } , { "\xca\xe8\xe8" , "\xb7\xe9" } , { "\xca\xe8\xe9\xcf" , "\xb6\xc3" } , { "\xca\xe9" , "\xb6" } , { "\xcb" , "\xba\xda" } , { "\xcb\xa1" , "\xba\xda\x4d" } , { "\xcb\xa2" , "\xba\xda\x4d" } , { "\xcb\xa3" , "\xba\xda\x4e" } , { "\xcb\xd0" , "\xba\xda\xc1\xda" } , { "\xcb\xd0\xdc" , "\xba\xda\xc2\xde" } , { "\xcb\xda" , "\xba\xdb" } , { "\xcb\xda\xa1" , "\xba\xdb\x4d" } , { "\xcb\xda\xa2" , "\xba\xdb\x4d" } , { "\xcb\xda\xd0" , "\xba\xdb\xc1\xda" } , { "\xcb\xdb" , "\xbb" } , { "\xcb\xdb\xa2" , "\xbb\x4d" } , { "\xcb\xdb\xa3" , "\xbb\x4e" } , { "\xcb\xdb\xd4\xdf" , "\xbb\xc8\xda\xe4" } , { "\xcb\xdc" , "\xbb\xde" } , { "\xcb\xdc\xa1" , "\xbb\xde\x4d" } , { "\xcb\xdc\xa2" , "\xbb\xde\x4d" } , { "\xcb\xdd" , "\xba\xda\xdf" } , { "\xcb\xdd\xa2" , "\xba\xda\xdf\x4d" } , { "\xcb\xde" , "\xba\xda\xe0" } , { "\xcb\xde\xa1" , "\xba\xda\xe0\x4d" } , { "\xcb\xde\xa2" , "\xba\xda\xe0\x4d" } , { "\xcb\xdf" , "\xba\xda\xe4" } , { "\xcb\xdf\xa2" , "\xba\xda\xe4\x4d" } , { "\xcb\xe0" , "\xba\xe6" } , { "\xcb\xe1" , "\xba\xe6\xde" } , { "\xcb\xe1\xa2" , "\xba\xe6\xde\x4d" } , { "\xcb\xe2" , "\xba\xe6\xe7" } , { "\xcb\xe2\xa2" , "\xba\xe6\xe7\x4d" } , { "\xcb\xe4" , "\xba\xe6\xe0" } , { "\xcb\xe5" , "\xba\xe6\xe0\xde" } , { "\xcb\xe5\xa2" , "\xba\xe6\xe0\xde\x4d" } , { "\xcb\xe6" , "\xba\xe8" } , { "\xcb\xe6\xa2" , "\xba\xe8\x4d" } , { "\xcb\xe7" , "\xba\xe6\xe0" } , { "\xcb\xe7\xa2" , "\xba\xe6\xe0\x4d" } , { "\xcb\xe8" , "\xba\xe9" } , { "\xcb\xe8\xb3\xdd" , "\xba\xda\xdf\x51" } , { "\xcb\xe8\xbd\xdd" , "\xba\xda\xdf\x6f" } , { "\xcb\xe8\xbf" , "\xba\xda\xb4\xb4\x75" } , { "\xcb\xe8\xc2" , "\xba\xda\xa1" } , { "\xcb\xe8\xc2\xdb" , "\xbb\xa1" } , { "\xcb\xe8\xc4" , "\xba\xda\xb4\xb4\xa7" } , { "\xcb\xe8\xc4\xa2" , "\xba\xda\xb4\xb4\xa7\x4d" } , { "\xcb\xe8\xc4\xda" , "\xba\xdb\xa7" } , { "\xcb\xe8\xc4\xdb" , "\xbb\xb4\xb4\xa7" } , { "\xcb\xe8\xc5" , "\xba\xda\xb4\xb4\xaa" } , { "\xcb\xe8\xc5\xdb" , "\xbb\xb4\xb4\xaa" } , { "\xcb\xe8\xc6\xdb" , "\xbb\xb4\xad" } , { "\xcb\xe8\xc6\xe8\xc6" , "\xba\xda\xb4\xad\x3e\xad" } , { "\xcb\xe8\xca\xda" , "\xba\xdb\xb9" } , { "\xcb\xe8\xca\xdb" , "\xbb\xb4\xb9" } , { "\xcb\xe8\xca\xe2" , "\xba\xe6\xb4\xb9\x3e\xe7" } , { "\xcb\xe8\xcb" , "\xba\xda\xb4\xbc" } , { "\xcb\xe8\xcb\xda" , "\xba\xdb\xbc" } , { "\xcb\xe8\xcb\xdc" , "\xbb\xb4\xbc\xde" } , { "\xcb\xe8\xcb\xe2" , "\xba\xe6\xb4\xbc\x3e\xe7" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\xba\xdb\xbc\xf1" } , { "\xcb\xe8\xcc" , "\xba\xda\xb4\xbd" } , { "\xcb\xe8\xcd" , "\xba\xda\xb4\xc0" } , { "\xcb\xe8\xcd\xa2" , "\xba\xda\xb4\xc0\x4d" } , { "\xcb\xe8\xcd\xa3" , "\xba\xda\xb4\xc0\x4e" } , { "\xcb\xe8\xcd\xda" , "\xba\xdb\xc0" } , { "\xcb\xe8\xcd\xda\xa2" , "\xba\xdb\xc0\x4d" } , { "\xcb\xe8\xcd\xdd" , "\xba\xda\xdf\xc0" } , { "\xcb\xe8\xcd\xde" , "\xba\xda\xe0\xc0" } , { "\xcb\xe8\xcd\xe1" , "\xba\xe6\xb4\xc0\xde" } , { "\xcb\xe8\xcd\xe2" , "\xba\xe6\xb4\xc0\xfd\xe7" } , { "\xcb\xe8\xcd\xe4" , "\xba\xe6\xe0\xc0" } , { "\xcb\xe8\xcd\xe5" , "\xba\xe6\xe0\xc0\xde" } , { "\xcb\xe8\xcf" , "\xba\xda\xb4\xc3" } , { "\xcb\xe8\xcf\xa2" , "\xba\xda\xb4\xc3\x4d" } , { "\xcb\xe8\xcf\xda" , "\xba\xdb\xc3" } , { "\xcb\xe8\xcf\xda\xa2" , "\xba\xdb\xc3\x4d" } , { "\xcb\xe8\xcf\xdb" , "\xbb\xb4\xc3" } , { "\xcb\xe8\xcf\xdc" , "\xbb\xb4\xc3\xde" } , { "\xcb\xe8\xcf\xdd" , "\xba\xda\xdf\xc3" } , { "\xcb\xe8\xcf\xde" , "\xba\xda\xe0\xc3" } , { "\xcb\xe8\xcf\xdf" , "\xba\xda\xb4\xc3\x3e\xe4" } , { "\xcb\xe8\xcf\xe5" , "\xba\xe6\xe0\xc3\xde" } , { "\xcb\xe8\xd1\xe2" , "\xba\xe6\xb4\xb4\xc7\xf5\xe7" } , { "\xcb\xe8\xd1\xe5" , "\xba\xe6\xe0\xc7\xde" } , { "\xcb\xe8\xd4" , "\xba\xda\xb4\xca" } , { "\xcb\xe8\xd4\xe8\xcd" , "\xba\xda\xb4\xca\x3d\xc0" } , { "\xcb\xe8\xe8" , "\xba\xe9" } , { "\xcb\xe8\xe9\xcf" , "\xba\xda\xb4\xc3" } , { "\xcb\xe9" , "\xba\xda" } , { "\xcc" , "\xc8\xda\xdf" } , { "\xcc\xa1" , "\xc8\xda\xdf\x4d" } , { "\xcc\xa2" , "\xc8\xda\xdf\x4d" } , { "\xcc\xa3" , "\xc8\xda\xdf\x4e" } , { "\xcc\xda" , "\xc8\xda\xe1\xdb" } , { "\xcc\xda\xa1" , "\xc8\xda\xe1\xdb\x4d" } , { "\xcc\xda\xa2" , "\xc8\xda\xe1\xdb\x4d" } , { "\xcc\xda\xa3" , "\xc8\xda\xe1\xdb\x4e" } , { "\xcc\xdb" , "\xc9\xdf" } , { "\xcc\xdb\xa2" , "\xc9\xdf\x4d" } , { "\xcc\xdb\xa2\xa2" , "\xc9\xdf\x4d\x4d" } , { "\xcc\xdb\xd0\xe8" , "\xc9\xdf\xc1\xe9" } , { "\xcc\xdc" , "\xc9\xdf\xde" } , { "\xcc\xdc\xa1" , "\xc9\xdf\xde\x4d" } , { "\xcc\xdc\xa2" , "\xc9\xdf\xde\x4d" } , { "\xcc\xdd" , "\xc8\xda\xdf\xdf" } , { "\xcc\xdd\xa1" , "\xc8\xda\xdf\xdf\x4d" } , { "\xcc\xdd\xa2" , "\xc8\xda\xdf\xdf\x4d" } , { "\xcc\xdd\xa2\xa2" , "\xc8\xda\xdf\xdf\x4d\x4d" } , { "\xcc\xde" , "\xc8\xda\xdf\xe0" } , { "\xcc\xde\xa1" , "\xc8\xda\xdf\xe0\x4d" } , { "\xcc\xde\xa2" , "\xc8\xda\xdf\xe0\x4d" } , { "\xcc\xdf" , "\xc8\xda\xdf\xe4" } , { "\xcc\xdf\xa2" , "\xc8\xda\xdf\xe4\x4d" } , { "\xcc\xe0" , "\xc8\xe6\xdf" } , { "\xcc\xe0\xa2" , "\xc8\xe6\xdf\x4d" } , { "\xcc\xe1" , "\xc8\xe6\xdf\xde" } , { "\xcc\xe1\xa1" , "\xc8\xe6\xdf\xde\x4d" } , { "\xcc\xe1\xa2" , "\xc8\xe6\xdf\xde\x4d" } , { "\xcc\xe1\xa2\xa2" , "\xc8\xe6\xdf\xde\x4d\x4d" } , { "\xcc\xe2" , "\xc8\xe6\xdf\xe7" } , { "\xcc\xe2\xa1" , "\xc8\xe6\xdf\xe7\x4d" } , { "\xcc\xe2\xa2" , "\xc8\xe6\xdf\xe7\x4d" } , { "\xcc\xe4" , "\xc8\xe6\xe0" } , { "\xcc\xe4\xa2" , "\xc8\xe6\xe0\x4d" } , { "\xcc\xe4\xd0\xb1" , "\xc8\xe6\xe0\xc1\xda\x4c" } , { "\xcc\xe5" , "\xc8\xe6\xe0\xde" } , { "\xcc\xe5\xa2" , "\xc8\xe6\xe0\xde\x4d" } , { "\xcc\xe6" , "\xc8\xda\xe1\xe8" } , { "\xcc\xe6\xa2" , "\xc8\xda\xe1\xe8\x4d" } , { "\xcc\xe6\xa3" , "\xc8\xda\xe1\xe8\x4e" } , { "\xcc\xe7" , "\xc8\xe6\xe0" } , { "\xcc\xe8" , "\xc8\xda\xe1\xe9" } , { "\xcc\xe8\xb3\xa2" , "\xc8\xda\xdf\x51\x4d" } , { "\xcc\xe8\xb3\xda" , "\xc8\xda\xe1\xdb\x51" } , { "\xcc\xe8\xb3\xdb" , "\xc9\xdf\x51" } , { "\xcc\xe8\xb3\xdc" , "\xc9\xdf\x51\xde" } , { "\xcc\xe8\xb3\xdd" , "\xc8\xda\xdf\xdf\x51" } , { "\xcc\xe8\xb3\xde" , "\xc8\xda\xdf\xe0\x51" } , { "\xcc\xe8\xb3\xdf" , "\xc8\xda\xdf\xed" } , { "\xcc\xe8\xb3\xe1" , "\xc8\xe6\xdf\x51\xde" } , { "\xcc\xe8\xb3\xe4" , "\xc8\xe6\xe0\x51" } , { "\xcc\xe8\xb3\xe5" , "\xc8\xe6\xe0\x51\xde" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\xc8\xda\xe1\xdb\x51\xfc\xc0" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\xc9\xdf\x51\xf0\x4d" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\xc8\xda\xdf\xe0\x51\xf0" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\xc8\xe6\xe0\x51\xfa\xc7\xde" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\xc9\xdf\x51\xfd\xd3\xde" } , { "\xcc\xe8\xb4\xda" , "\xc8\xda\xe1\xdb\x55" } , { "\xcc\xe8\xb4\xe8" , "\xc8\xda\xe1\xe9\x55" } , { "\xcc\xe8\xb5" , "\xc8\xda\xdf\x58" } , { "\xcc\xe8\xb5\xa2" , "\xc8\xda\xdf\x58\x4d" } , { "\xcc\xe8\xb5\xda" , "\xc8\xda\xe1\xdb\x58" } , { "\xcc\xe8\xb5\xdd" , "\xc8\xda\xdf\xdf\x58" } , { "\xcc\xe8\xb8" , "\xc8\xda\xdf\x60" } , { "\xcc\xe8\xb8\xa2" , "\xc8\xda\xdf\x60\x4d" } , { "\xcc\xe8\xb8\xda" , "\xc8\xda\xe1\xdb\x60" } , { "\xcc\xe8\xb8\xdc" , "\xc9\xdf\x60\xde" } , { "\xcc\xe8\xb8\xdd" , "\xc8\xda\xdf\xdf\x60" } , { "\xcc\xe8\xb8\xe0\xa2" , "\xc8\xe6\xdf\x60\x4d" } , { "\xcc\xe8\xb8\xe1" , "\xc8\xe6\xdf\x60\xde" } , { "\xcc\xe8\xb8\xe8\xc8" , "\xc8\xda\xdf\x60\x3e\xb0" } , { "\xcc\xe8\xba" , "\xc8\xda\xdf\x67" } , { "\xcc\xe8\xba\xda" , "\xc8\xda\xe1\xdb\x67" } , { "\xcc\xe8\xba\xdb" , "\xc9\xdf\x67" } , { "\xcc\xe8\xba\xe0" , "\xc8\xe6\xdf\x67" } , { "\xcc\xe8\xba\xe8" , "\xc8\xda\xe1\xe9\x67" } , { "\xcc\xe8\xba\xe9" , "\xc8\xda\xdf\x67" } , { "\xcc\xe8\xbd" , "\xc8\xda\xdf\x6f" } , { "\xcc\xe8\xbd\xda" , "\xc8\xda\xe1\xdb\x6f" } , { "\xcc\xe8\xbd\xdc" , "\xc9\xdf\x6f\xde" } , { "\xcc\xe8\xbd\xe0" , "\xc8\xe6\xdf\x6f" } , { "\xcc\xe8\xbd\xe1" , "\xc8\xe6\xdf\x6f\xde" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\xc8\xda\xdf\xe0\x6f\x3d\xc0" } , { "\xcc\xe8\xbf" , "\xc8\xda\xdf\x75" } , { "\xcc\xe8\xbf\xda" , "\xc8\xda\xe1\xdb\x75" } , { "\xcc\xe8\xbf\xdb" , "\xc9\xdf\x75" } , { "\xcc\xe8\xbf\xe8" , "\xc8\xda\xe1\xe9\x75" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\xc9\xdf\x75\xf0" } , { "\xcc\xe8\xc1" , "\xc8\xda\xdf\x7c" } , { "\xcc\xe8\xc1\xe5\xa2" , "\xc8\xe6\xe0\x7c\xde\x4d" } , { "\xcc\xe8\xc1\xe8\xcc" , "\xc8\xda\xdf\x7c\xf4\xbd" } , { "\xcc\xe8\xc1\xe8\xd7" , "\xc8\xda\xdf\x7c\xf5\xd3" } , { "\xcc\xe8\xc2" , "\xc8\xda\xdf\xa1" } , { "\xcc\xe8\xc2\xda" , "\xc8\xda\xe1\xdb\xa1" } , { "\xcc\xe8\xc2\xda\xa2" , "\xc8\xda\xe1\xdb\xa1\x4d" } , { "\xcc\xe8\xc2\xdb" , "\xc9\xdf\xa1" } , { "\xcc\xe8\xc2\xe5" , "\xc8\xe6\xe0\xa1\xde" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\xc9\xdf\xa1\xf2\xa1" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\xc8\xda\xdf\xdf\xa1\xf2\xa4" } , { "\xcc\xe8\xc2\xe8\xcd" , "\xc8\xda\xdf\xa1\xf4\xc0" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\xc8\xda\xdf\xdf\xa1\xf4\xc0" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\xc8\xda\xdf\xdf\xa1\xf4\xc0\x4d" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\xc8\xda\xdf\xe0\xa1\xf4\xc0" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\xc8\xda\xe1\xe9\xa1\xf4\xc0" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\xc8\xda\xdf\xa1\xf0\x3d\xc0" } , { "\xcc\xe8\xc3" , "\xc8\xda\xdf\xa4" } , { "\xcc\xe8\xc4" , "\xc8\xda\xdf\xa7" } , { "\xcc\xe8\xc4\xda" , "\xc8\xda\xe1\xdb\xa7" } , { "\xcc\xe8\xc4\xdb" , "\xc9\xdf\xa7" } , { "\xcc\xe8\xc4\xdc" , "\xc9\xdf\xa7\xde" } , { "\xcc\xe8\xc4\xdd" , "\xc8\xda\xdf\xdf\xa7" } , { "\xcc\xe8\xc4\xe1" , "\xc8\xe6\xdf\xa7\xde" } , { "\xcc\xe8\xc4\xe8\xc5" , "\xc8\xda\xdf\xa7\xf2\xaa" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\xc9\xdf\xa7\xf2\xaa" } , { "\xcc\xe8\xc4\xe8\xd4\xda" , "\xc8\xda\xe1\xdb\xa7\xf5\xca" } , { "\xcc\xe8\xc5\xda" , "\xc8\xda\xe1\xdb\xaa" } , { "\xcc\xe8\xc5\xe5\xa2" , "\xc8\xe6\xe0\xaa\xde\x4d" } , { "\xcc\xe8\xc5\xe8\xc4" , "\xc8\xda\xdf\xaa\xf2\xa7" } , { "\xcc\xe8\xc6" , "\xc8\xda\xdf\xad" } , { "\xcc\xe8\xc6\xa2" , "\xc8\xda\xdf\xad\x4d" } , { "\xcc\xe8\xc6\xda" , "\xc8\xda\xe1\xdb\xad" } , { "\xcc\xe8\xc6\xda\xa2" , "\xc8\xda\xe1\xdb\xad\x4d" } , { "\xcc\xe8\xc6\xdb" , "\xc9\xdf\xad" } , { "\xcc\xe8\xc6\xdc" , "\xc9\xdf\xad\xde" } , { "\xcc\xe8\xc6\xdd" , "\xc8\xda\xdf\xdf\xad" } , { "\xcc\xe8\xc6\xdd\xa2" , "\xc8\xda\xdf\xdf\xad\x4d" } , { "\xcc\xe8\xc6\xde" , "\xc8\xda\xdf\xe0\xad" } , { "\xcc\xe8\xc6\xe0\xa2" , "\xc8\xe6\xdf\xad\x4d" } , { "\xcc\xe8\xc6\xe1" , "\xc8\xe6\xdf\xad\xde" } , { "\xcc\xe8\xc6\xe5" , "\xc8\xe6\xe0\xad\xde" } , { "\xcc\xe8\xc8" , "\xc8\xda\xdf\xb0" } , { "\xcc\xe8\xc8\xda" , "\xc8\xda\xe1\xdb\xb0" } , { "\xcc\xe8\xc8\xda\xa1" , "\xc8\xda\xe1\xdb\xb0\x4d" } , { "\xcc\xe8\xc8\xdb" , "\xc9\xdf\xb0" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xc9\xdf\xb0\x4d" } , { "\xcc\xe8\xc8\xdc" , "\xc9\xdf\xb0\xde" } , { "\xcc\xe8\xc8\xdd" , "\xc8\xda\xdf\xdf\xb0" } , { "\xcc\xe8\xc8\xde" , "\xc8\xda\xdf\xe0\xb0" } , { "\xcc\xe8\xc8\xdf" , "\xc8\xda\xdf\xb0\x3e\xe4" } , { "\xcc\xe8\xc8\xe0" , "\xc8\xe6\xdf\xb0" } , { "\xcc\xe8\xc8\xe1" , "\xc8\xe6\xdf\xb0\xde" } , { "\xcc\xe8\xc8\xe2" , "\xc8\xe6\xdf\xb0\x3e\xe7" } , { "\xcc\xe8\xc8\xe2\xa2" , "\xc8\xe6\xdf\xb0\x3e\xe7\x4d" } , { "\xcc\xe8\xc8\xe5" , "\xc8\xe6\xe0\xb0\xde" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xc8\xe6\xe0\xb0\xde\x4d" } , { "\xcc\xe8\xc8\xe8" , "\xc8\xda\xe1\xe9\xb0" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\xc8\xda\xdf\xb0\x3d\x51\xfa\xa1" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\xc9\xdf\xb0\x3d\x51\xfa\xa1" } , { "\xcc\xe8\xc8\xe8\xb8" , "\xc8\xda\xdf\xb0\x3e\x60" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\xc8\xda\xe1\xdb\xb0\xfe\xa7" } , { "\xcc\xe8\xc8\xe8\xcd" , "\xc8\xda\xdf\xb0\x3d\xc0" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\xc8\xda\xdf\xdf\xb0\x3d\xc0" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\xc8\xda\xdf\xe0\xb0\x3d\xc0" } , { "\xcc\xe8\xc8\xe8\xcf" , "\xc8\xda\xdf\xb0\xf1" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\xc8\xda\xe1\xdb\xb0\xf1" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\xc8\xda\xdf\xe0\xb0\xf1" } , { "\xcc\xe8\xc8\xe8\xcf\xe0" , "\xc8\xe6\xdf\xb0\xf1" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xc8\xe6\xdf\xb0\xf1\xde" } , { "\xcc\xe8\xc8\xe8\xcf\xe4" , "\xc8\xe6\xe0\xb0\xf1" } , { "\xcc\xe8\xc8\xe8\xd1" , "\xc8\xda\xdf\xb0\xfe\xc7" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\xc8\xda\xe1\xdb\xb0\xfe\xc7" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\xc8\xda\xe1\xdb\xb0\xfe\xc7\x4d" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xc9\xdf\xb0\xfe\xc7" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xc8\xe6\xdf\xb0\xfe\xc7\xde" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xc8\xe6\xdf\xb0\xfe\xc7\xf5\xe7" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xc8\xe6\xe0\xb0\xfe\xc7\xde" } , { "\xcc\xe8\xc8\xe8\xd5" , "\xc8\xda\xdf\xb0\x3d\xcd" } , { "\xcc\xe8\xc8\xe8\xd6" , "\xc8\xda\xdf\xb0\x3e\xd0" } , { "\xcc\xe8\xc8\xe8\xd7" , "\xc8\xda\xdf\xb0\x3e\xd3" } , { "\xcc\xe8\xc9" , "\xc8\xda\xdf\xb5" } , { "\xcc\xe8\xc9\xda" , "\xc8\xda\xe1\xdb\xb5" } , { "\xcc\xe8\xc9\xdb" , "\xc9\xdf\xb5" } , { "\xcc\xe8\xc9\xdc" , "\xc9\xdf\xb5\xde" } , { "\xcc\xe8\xc9\xe0" , "\xc8\xe6\xdf\xb5" } , { "\xcc\xe8\xc9\xe1" , "\xc8\xe6\xdf\xb5\xde" } , { "\xcc\xe8\xc9\xe4" , "\xc8\xe6\xe0\xb5" } , { "\xcc\xe8\xc9\xe5" , "\xc8\xe6\xe0\xb5\xde" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xc8\xe6\xdf\xb5\xf1\xde" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xc8\xe6\xe0\xb5\xfe\xc7\xde" } , { "\xcc\xe8\xca" , "\xc8\xda\xdf\xb9" } , { "\xcc\xe8\xca\xa2" , "\xc8\xda\xdf\xb9\x4d" } , { "\xcc\xe8\xca\xda" , "\xc8\xda\xe1\xdb\xb9" } , { "\xcc\xe8\xca\xda\xa2" , "\xc8\xda\xe1\xdb\xb9\x4d" } , { "\xcc\xe8\xca\xdb" , "\xc9\xdf\xb9" } , { "\xcc\xe8\xca\xdb\xa2" , "\xc9\xdf\xb9\x4d" } , { "\xcc\xe8\xca\xdc" , "\xc9\xdf\xb9\xde" } , { "\xcc\xe8\xca\xdd" , "\xc8\xda\xdf\xdf\xb9" } , { "\xcc\xe8\xca\xde" , "\xc8\xda\xdf\xe0\xb9" } , { "\xcc\xe8\xca\xe0" , "\xc8\xe6\xdf\xb9" } , { "\xcc\xe8\xca\xe1" , "\xc8\xe6\xdf\xb9\xde" } , { "\xcc\xe8\xca\xe1\xa2" , "\xc8\xe6\xdf\xb9\xde\x4d" } , { "\xcc\xe8\xca\xe5" , "\xc8\xe6\xe0\xb9\xde" } , { "\xcc\xe8\xca\xe5\xa2" , "\xc8\xe6\xe0\xb9\xde\x4d" } , { "\xcc\xe8\xca\xe6" , "\xc8\xda\xe1\xe8\xb9" } , { "\xcc\xe8\xca\xe7" , "\xc8\xe6\xe0\xb9" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\xc8\xda\xdf\xb9\xfe\xa7\xf2\xaa" } , { "\xcc\xe8\xca\xe8\xcf" , "\xc8\xda\xdf\xb9\xf1" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\xc8\xda\xe1\xdb\xb9\xf1\x4d" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\xc9\xdf\xb9\xf1" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xc8\xe6\xdf\xb9\xf1\xde" } , { "\xcc\xe8\xcb" , "\xc8\xda\xdf\xbc" } , { "\xcc\xe8\xcb\xa3" , "\xc8\xda\xdf\xbc\x4e" } , { "\xcc\xe8\xcb\xda" , "\xc8\xda\xe1\xdb\xbc" } , { "\xcc\xe8\xcb\xdb" , "\xc9\xdf\xbc" } , { "\xcc\xe8\xcb\xdc" , "\xc9\xdf\xbc\xde" } , { "\xcc\xe8\xcb\xdd" , "\xc8\xda\xdf\xdf\xbc" } , { "\xcc\xe8\xcb\xde" , "\xc8\xda\xdf\xe0\xbc" } , { "\xcc\xe8\xcb\xe1" , "\xc8\xe6\xdf\xbc\xde" } , { "\xcc\xe8\xcb\xe5" , "\xc8\xe6\xe0\xbc\xde" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xc8\xe6\xe0\xbc\xde\x4d" } , { "\xcc\xe8\xcb\xe6" , "\xc8\xda\xe1\xe8\xbc" } , { "\xcc\xe8\xcb\xe8" , "\xc8\xda\xe1\xe9\xbc" } , { "\xcc\xe8\xcb\xe8\xcf" , "\xc8\xda\xdf\xbc\xf1" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\xc8\xda\xe1\xdb\xbc\xf1" } , { "\xcc\xe8\xcc" , "\xc8\xda\xdf\xbd" } , { "\xcc\xe8\xcc\xa2" , "\xc8\xda\xdf\xbd\x4d" } , { "\xcc\xe8\xcc\xda" , "\xc8\xda\xe1\xdb\xbd" } , { "\xcc\xe8\xcc\xda\xa1" , "\xc8\xda\xe1\xdb\xbd\x4d" } , { "\xcc\xe8\xcc\xda\xa2" , "\xc8\xda\xe1\xdb\xbd\x4d" } , { "\xcc\xe8\xcc\xdb" , "\xc9\xdf\xbd" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xc9\xdf\xbd\x4d" } , { "\xcc\xe8\xcc\xdc" , "\xc9\xdf\xbd\xde" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xc9\xdf\xbd\xde\x4d" } , { "\xcc\xe8\xcc\xdd" , "\xc8\xda\xdf\xdf\xbd" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xc8\xda\xdf\xdf\xbd\x4d" } , { "\xcc\xe8\xcc\xde" , "\xc8\xda\xdf\xe0\xbd" } , { "\xcc\xe8\xcc\xe0" , "\xc8\xe6\xdf\xbd" } , { "\xcc\xe8\xcc\xe0\xa2" , "\xc8\xe6\xdf\xbd\x4d" } , { "\xcc\xe8\xcc\xe1" , "\xc8\xe6\xdf\xbd\xde" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xc8\xe6\xdf\xbd\xde\x4d" } , { "\xcc\xe8\xcc\xe2" , "\xc8\xe6\xdf\xbd\xfd\xe7" } , { "\xcc\xe8\xcc\xe4" , "\xc8\xe6\xe0\xbd" } , { "\xcc\xe8\xcc\xe5" , "\xc8\xe6\xe0\xbd\xde" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xc8\xe6\xe0\xbd\xde\x4d" } , { "\xcc\xe8\xcc\xe8" , "\xc8\xda\xe1\xe9\xbd" } , { "\xcc\xe8\xcc\xe8\xc4" , "\xc8\xda\xdf\xbd\xfa\xa7" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\xc9\xdf\xbd\xfa\xa7" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\xc9\xdf\xbd\xfd\xad" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\xc8\xe6\xdf\xbd\xfc\xbd\xfd\xe7\x4d" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\xc8\xe6\xdf\xbd\xfa\xc7\xde" } , { "\xcc\xe8\xcd" , "\xc8\xda\xdf\xc0" } , { "\xcc\xe8\xcd\xa2" , "\xc8\xda\xdf\xc0\x4d" } , { "\xcc\xe8\xcd\xda" , "\xc8\xda\xe1\xdb\xc0" } , { "\xcc\xe8\xcd\xda\xa1" , "\xc8\xda\xe1\xdb\xc0\x4d" } , { "\xcc\xe8\xcd\xda\xa2" , "\xc8\xda\xe1\xdb\xc0\x4d" } , { "\xcc\xe8\xcd\xdb" , "\xc9\xdf\xc0" } , { "\xcc\xe8\xcd\xdd" , "\xc8\xda\xdf\xdf\xc0" } , { "\xcc\xe8\xcd\xde" , "\xc8\xda\xdf\xe0\xc0" } , { "\xcc\xe8\xcd\xe1" , "\xc8\xe6\xdf\xc0\xde" } , { "\xcc\xe8\xcd\xe5" , "\xc8\xe6\xe0\xc0\xde" } , { "\xcc\xe8\xcd\xe5\xa2" , "\xc8\xe6\xe0\xc0\xde\x4d" } , { "\xcc\xe8\xcd\xe6" , "\xc8\xda\xe1\xe8\xc0" } , { "\xcc\xe8\xcd\xe8\xcd" , "\xc8\xda\xdf\xc0\xfc\xc0" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\xc8\xda\xe1\xdb\xc0\xfc\xc0" } , { "\xcc\xe8\xcf" , "\xc8\xda\xdf\xc3" } , { "\xcc\xe8\xcf\xa2" , "\xc8\xda\xdf\xc3\x4d" } , { "\xcc\xe8\xcf\xda" , "\xc8\xda\xe1\xdb\xc3" } , { "\xcc\xe8\xcf\xda\xa2" , "\xc8\xda\xe1\xdb\xc3\x4d" } , { "\xcc\xe8\xcf\xdb" , "\xc9\xdf\xc3" } , { "\xcc\xe8\xcf\xdb\xa2" , "\xc9\xdf\xc3\x4d" } , { "\xcc\xe8\xcf\xdc" , "\xc9\xdf\xc3\xde" } , { "\xcc\xe8\xcf\xdd" , "\xc8\xda\xdf\xdf\xc3" } , { "\xcc\xe8\xcf\xde" , "\xc8\xda\xdf\xe0\xc3" } , { "\xcc\xe8\xcf\xe0" , "\xc8\xe6\xdf\xc3" } , { "\xcc\xe8\xcf\xe1" , "\xc8\xe6\xdf\xc3\xde" } , { "\xcc\xe8\xcf\xe4" , "\xc8\xe6\xe0\xc3" } , { "\xcc\xe8\xcf\xe5" , "\xc8\xe6\xe0\xc3\xde" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xc8\xe6\xe0\xc3\xde\x4d" } , { "\xcc\xe8\xcf\xe8\xb3" , "\xc8\xda\xdf\xc3\x3d\x51" } , { "\xcc\xe8\xcf\xe8\xc2" , "\xc8\xda\xdf\xc3\xfe\xa1" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\xc8\xda\xe1\xdb\xc3\x3d\xc0" } , { "\xcc\xe8\xd0\xe0" , "\xc8\xe6\xdf\xc3" } , { "\xcc\xe8\xd1" , "\xc8\xda\xdf\xc7" } , { "\xcc\xe8\xd1\xa2" , "\xc8\xda\xdf\xc7\x4d" } , { "\xcc\xe8\xd1\xda" , "\xc8\xda\xe1\xdb\xc7" } , { "\xcc\xe8\xd1\xda\xa2" , "\xc8\xda\xe1\xdb\xc7\x4d" } , { "\xcc\xe8\xd1\xdb" , "\xc9\xdf\xc7" } , { "\xcc\xe8\xd1\xdc" , "\xc9\xdf\xc7\xde" } , { "\xcc\xe8\xd1\xdd" , "\xc8\xda\xdf\xdf\xc7" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xc8\xda\xdf\xdf\xc7\x4d" } , { "\xcc\xe8\xd1\xde" , "\xc8\xda\xdf\xe0\xc7" } , { "\xcc\xe8\xd1\xe0" , "\xc8\xe6\xdf\xc7" } , { "\xcc\xe8\xd1\xe1" , "\xc8\xe6\xdf\xc7\xde" } , { "\xcc\xe8\xd1\xe2" , "\xc8\xe6\xdf\xc7\xf5\xe7" } , { "\xcc\xe8\xd1\xe5" , "\xc8\xe6\xe0\xc7\xde" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xc8\xe6\xe0\xc7\xde\x4d" } , { "\xcc\xe8\xd1\xe8" , "\xc8\xda\xe1\xe9\xc7" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\xc8\xda\xdf\xe0\xc7\xf4\xc0" } , { "\xcc\xe8\xd4" , "\xc8\xda\xdf\xca" } , { "\xcc\xe8\xd4\xa2" , "\xc8\xda\xdf\xca\x4d" } , { "\xcc\xe8\xd4\xda" , "\xc8\xda\xe1\xdb\xca" } , { "\xcc\xe8\xd4\xdb" , "\xc9\xdf\xca" } , { "\xcc\xe8\xd4\xdc" , "\xc9\xdf\xca\xde" } , { "\xcc\xe8\xd4\xdd\xa2" , "\xc8\xda\xdf\xdf\xca\x4d" } , { "\xcc\xe8\xd4\xe0" , "\xc8\xe6\xdf\xca" } , { "\xcc\xe8\xd4\xe1" , "\xc8\xe6\xdf\xca\xde" } , { "\xcc\xe8\xd4\xe2" , "\xc8\xe6\xdf\xca\x3e\xe7" } , { "\xcc\xe8\xd5" , "\xc8\xda\xdf\xcd" } , { "\xcc\xe8\xd5\xda" , "\xc8\xda\xe1\xdb\xcd" } , { "\xcc\xe8\xd5\xdc" , "\xc9\xdf\xcd\xde" } , { "\xcc\xe8\xd6" , "\xc8\xda\xdf\xd0" } , { "\xcc\xe8\xd6\xdc" , "\xc9\xdf\xd0\xde" } , { "\xcc\xe8\xd7" , "\xc8\xda\xdf\xd3" } , { "\xcc\xe8\xd7\xda" , "\xc8\xda\xe1\xdb\xd3" } , { "\xcc\xe8\xd7\xdb\xa2" , "\xc9\xdf\xd3\x4d" } , { "\xcc\xe8\xd7\xdd" , "\xc8\xda\xdf\xdf\xd3" } , { "\xcc\xe8\xd7\xde" , "\xc8\xda\xdf\xe0\xd3" } , { "\xcc\xe8\xd7\xe0" , "\xc8\xe6\xdf\xd3" } , { "\xcc\xe8\xd7\xe1" , "\xc8\xe6\xdf\xd3\xde" } , { "\xcc\xe8\xd7\xe8" , "\xc8\xda\xe1\xe9\xd3" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\xc9\xdf\xd3\x3d\x51\xde" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\xc8\xda\xdf\xdf\xd3\x3d\x51" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\xc8\xda\xdf\xd3\x3d\x51\xfa\xc7" } , { "\xcc\xe8\xd7\xe8\xbd" , "\xc8\xda\xdf\xd3\x3e\x6f" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\xc8\xda\xe1\xdb\xd3\x3e\x6f" } , { "\xcc\xe8\xd7\xe8\xbd\xe0" , "\xc8\xe6\xdf\xd3\x3e\x6f" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\xc8\xe6\xdf\xd3\x3e\x6f\xde" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\xc8\xe6\xe0\xd3\x3e\x6f\xde" } , { "\xcc\xe8\xd7\xe8\xbf" , "\xc8\xda\xdf\xd3\xfe\x75" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\xc9\xdf\xd3\xfe\x75" } , { "\xcc\xe8\xd7\xe8\xc2" , "\xc8\xda\xdf\xd3\xfe\xa1" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\xc9\xdf\xd3\xfe\xa1\xde" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\xc8\xe6\xe0\xd3\xfe\xa1\xde" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\xc8\xda\xdf\xdf\xd3\x3e\xad" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\xc8\xda\xe1\xe9\xd3\x3e\xad" } , { "\xcc\xe8\xd7\xe8\xc8" , "\xc8\xda\xdf\xd3\x3e\xb0" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\xc9\xdf\xd3\x3e\xb0\xf1" } , { "\xcc\xe8\xd7\xe8\xc9" , "\xc8\xda\xdf\xd3\x3e\xb5" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\xc8\xda\xe1\xdb\xd3\x3e\xb9\x4d" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\xc9\xdf\xd3\x3d\xbd" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\xc8\xda\xe1\xdb\xd3\x3d\xc0" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\xc8\xda\xe1\xdb\xd3\xf1" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\xc8\xda\xe1\xdb\xd3\xfe\xc7" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\xc8\xda\xe1\xdb\xd3\xfe\xc7\x4d" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\xc8\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xcc\xe8\xd7\xe8\xd4\xda" , "\xc8\xda\xe1\xdb\xd3\x3e\xca" } , { "\xcc\xe8\xd8" , "\xc8\xda\xdf\xd6" } , { "\xcc\xe8\xd8\xa2" , "\xc8\xda\xdf\xd6\x4d" } , { "\xcc\xe8\xd8\xda" , "\xc8\xda\xe1\xdb\xd6" } , { "\xcc\xe8\xd8\xda\xa2" , "\xc8\xda\xe1\xdb\xd6\x4d" } , { "\xcc\xe8\xd8\xdb" , "\xc9\xdf\xd6" } , { "\xcc\xe8\xd8\xdc" , "\xc9\xdf\xd6\xde" } , { "\xcc\xe8\xd8\xdc\xa2" , "\xc9\xdf\xd6\xde\x4d" } , { "\xcc\xe8\xd8\xde" , "\xc8\xda\xdf\xe0\xd6" } , { "\xcc\xe8\xd8\xe1" , "\xc8\xe6\xdf\xd6\xde" } , { "\xcc\xe8\xd8\xe1\xa2" , "\xc8\xe6\xdf\xd6\xde\x4d" } , { "\xcc\xe8\xd8\xe2\xa2" , "\xc8\xe6\xdf\xd6\xf9\xe7\x4d" } , { "\xcc\xe8\xd9\xcc\xe1" , "\xc8\xda\xdf\xc8\xe6\xdf\xde" } , { "\xcc\xe8\xd9\xcd" , "\xc8\xda\xdf\xbe\xda\xdf" } , { "\xcc\xe8\xe8" , "\xc8\xda\xe1\xe9" } , { "\xcc\xe8\xe9\xcf" , "\xc8\xda\xdf\xc3" } , { "\xcc\xe9" , "\xc8\xda\xdf" } , { "\xcd" , "\xbe\xda\xdf" } , { "\xcd\xa1" , "\xbe\xda\xdf\x4d" } , { "\xcd\xa2" , "\xbe\xda\xdf\x4d" } , { "\xcd\xa2\xa3" , "\xbe\xda\xdf\x4d\x4e" } , { "\xcd\xa3" , "\xbe\xda\xdf\x4e" } , { "\xcd\xd0\xe8" , "\xbe\xda\xdf\xc1\xe9" } , { "\xcd\xda" , "\xbe\xda\xe1\xdb" } , { "\xcd\xda\xa1" , "\xbe\xda\xe1\xdb\x4d" } , { "\xcd\xda\xa2" , "\xbe\xda\xe1\xdb\x4d" } , { "\xcd\xda\xa3" , "\xbe\xda\xe1\xdb\x4e" } , { "\xcd\xdb" , "\xbf\xdf" } , { "\xcd\xdb\xa2" , "\xbf\xdf\x4d" } , { "\xcd\xdb\xa2\xa2" , "\xbf\xdf\x4d\x4d" } , { "\xcd\xdb\xa3" , "\xbf\xdf\x4e" } , { "\xcd\xdc" , "\xbf\xdf\xde" } , { "\xcd\xdc\xa1" , "\xbf\xdf\xde\x4d" } , { "\xcd\xdc\xa2" , "\xbf\xdf\xde\x4d" } , { "\xcd\xdd" , "\xbe\xda\xdf\xdf" } , { "\xcd\xdd\xa2" , "\xbe\xda\xdf\xdf\x4d" } , { "\xcd\xdd\xa3" , "\xbe\xda\xdf\xdf\x4e" } , { "\xcd\xde" , "\xbe\xda\xdf\xe0" } , { "\xcd\xde\xa1" , "\xbe\xda\xdf\xe0\x4d" } , { "\xcd\xde\xa2" , "\xbe\xda\xdf\xe0\x4d" } , { "\xcd\xdf" , "\xbe\xda\xdf\xe4" } , { "\xcd\xe0" , "\xbe\xe6\xdf" } , { "\xcd\xe0\xa2" , "\xbe\xe6\xdf\x4d" } , { "\xcd\xe1" , "\xbe\xe6\xdf\xde" } , { "\xcd\xe1\xa1" , "\xbe\xe6\xdf\xde\x4d" } , { "\xcd\xe1\xa2" , "\xbe\xe6\xdf\xde\x4d" } , { "\xcd\xe1\xa3" , "\xbe\xe6\xdf\xde\x4e" } , { "\xcd\xe2" , "\xbe\xe6\xdf\xe7" } , { "\xcd\xe2\xa2" , "\xbe\xe6\xdf\xe7\x4d" } , { "\xcd\xe3" , "\xbe\xe6\xdf" } , { "\xcd\xe4" , "\xbe\xe6\xe0" } , { "\xcd\xe4\xa2" , "\xbe\xe6\xe0\x4d" } , { "\xcd\xe5" , "\xbe\xe6\xe0\xde" } , { "\xcd\xe5\xa1" , "\xbe\xe6\xe0\xde\x4d" } , { "\xcd\xe5\xa2" , "\xbe\xe6\xe0\xde\x4d" } , { "\xcd\xe5\xa3" , "\xbe\xe6\xe0\xde\x4e" } , { "\xcd\xe6" , "\xbe\xda\xe1\xe8" } , { "\xcd\xe6\xa2" , "\xbe\xda\xe1\xe8\x4d" } , { "\xcd\xe7" , "\xbe\xe6\xe0" } , { "\xcd\xe7\xa2" , "\xbe\xe6\xe0\x4d" } , { "\xcd\xe8" , "\xbe\xda\xe1\xe9" } , { "\xcd\xe8\xb3" , "\xbe\xda\xdf\x51" } , { "\xcd\xe8\xb3\xdb" , "\xbf\xdf\x51" } , { "\xcd\xe8\xb3\xdb\xa2" , "\xbf\xdf\x51\x4d" } , { "\xcd\xe8\xb3\xdd" , "\xbe\xda\xdf\xdf\x51" } , { "\xcd\xe8\xb3\xde" , "\xbe\xda\xdf\xe0\x51" } , { "\xcd\xe8\xb3\xe1" , "\xbe\xe6\xdf\x51\xde" } , { "\xcd\xe8\xb3\xe5" , "\xbe\xe6\xe0\x51\xde" } , { "\xcd\xe8\xb5\xda" , "\xbe\xda\xe1\xdb\x58" } , { "\xcd\xe8\xb8\xe1" , "\xbe\xe6\xdf\x60\xde" } , { "\xcd\xe8\xb8\xe6" , "\xbe\xda\xe1\xe8\x60" } , { "\xcd\xe8\xbd" , "\xbe\xda\xdf\x6f" } , { "\xcd\xe8\xbf\xa2" , "\xbe\xda\xdf\x75\x4d" } , { "\xcd\xe8\xbf\xdb" , "\xbf\xdf\x75" } , { "\xcd\xe8\xc1" , "\xbe\xda\xdf\x7c" } , { "\xcd\xe8\xc2\xda" , "\xbe\xda\xe1\xdb\xa1" } , { "\xcd\xe8\xc2\xdd" , "\xbe\xda\xdf\xdf\xa1" } , { "\xcd\xe8\xc2\xe1" , "\xbe\xe6\xdf\xa1\xde" } , { "\xcd\xe8\xc2\xe5" , "\xbe\xe6\xe0\xa1\xde" } , { "\xcd\xe8\xc2\xe8\xc2" , "\xbe\xda\xdf\xa1\xf2\xa1" } , { "\xcd\xe8\xc2\xe8\xc6" , "\xbe\xda\xdf\xa1\xf5\xad" } , { "\xcd\xe8\xc4\xda" , "\xbe\xda\xe1\xdb\xa7" } , { "\xcd\xe8\xc6" , "\xbe\xda\xdf\xad" } , { "\xcd\xe8\xc6\xa2" , "\xbe\xda\xdf\xad\x4d" } , { "\xcd\xe8\xc6\xda" , "\xbe\xda\xe1\xdb\xad" } , { "\xcd\xe8\xc6\xdb" , "\xbf\xdf\xad" } , { "\xcd\xe8\xc6\xdc" , "\xbf\xdf\xad\xde" } , { "\xcd\xe8\xc6\xdd" , "\xbe\xda\xdf\xdf\xad" } , { "\xcd\xe8\xc6\xe1" , "\xbe\xe6\xdf\xad\xde" } , { "\xcd\xe8\xc6\xe5" , "\xbe\xe6\xe0\xad\xde" } , { "\xcd\xe8\xc8\xde" , "\xbe\xda\xdf\xe0\xb0" } , { "\xcd\xe8\xc9\xe1" , "\xbe\xe6\xdf\xb5\xde" } , { "\xcd\xe8\xca\xe0" , "\xbe\xe6\xdf\xb9" } , { "\xcd\xe8\xca\xe5" , "\xbe\xe6\xe0\xb9\xde" } , { "\xcd\xe8\xcb\xdd" , "\xbe\xda\xdf\xdf\xbc" } , { "\xcd\xe8\xcc" , "\xbe\xda\xdf\xbd" } , { "\xcd\xe8\xcc\xa2" , "\xbe\xda\xdf\xbd\x4d" } , { "\xcd\xe8\xcc\xe0" , "\xbe\xe6\xdf\xbd" } , { "\xcd\xe8\xcc\xe0\xa2" , "\xbe\xe6\xdf\xbd\x4d" } , { "\xcd\xe8\xcd" , "\xbe\xda\xdf\xc0" } , { "\xcd\xe8\xcd\xa2" , "\xbe\xda\xdf\xc0\x4d" } , { "\xcd\xe8\xcd\xa2\xa2" , "\xbe\xda\xdf\xc0\x4d\x4d" } , { "\xcd\xe8\xcd\xda" , "\xbe\xda\xe1\xdb\xc0" } , { "\xcd\xe8\xcd\xda\xa2" , "\xbe\xda\xe1\xdb\xc0\x4d" } , { "\xcd\xe8\xcd\xdb" , "\xbf\xdf\xc0" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xbf\xdf\xc0\x4d" } , { "\xcd\xe8\xcd\xdc" , "\xbf\xdf\xc0\xde" } , { "\xcd\xe8\xcd\xdd" , "\xbe\xda\xdf\xdf\xc0" } , { "\xcd\xe8\xcd\xdd\xa2" , "\xbe\xda\xdf\xdf\xc0\x4d" } , { "\xcd\xe8\xcd\xde" , "\xbe\xda\xdf\xe0\xc0" } , { "\xcd\xe8\xcd\xe0" , "\xbe\xe6\xdf\xc0" } , { "\xcd\xe8\xcd\xe0\xa2" , "\xbe\xe6\xdf\xc0\x4d" } , { "\xcd\xe8\xcd\xe1" , "\xbe\xe6\xdf\xc0\xde" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xbe\xe6\xdf\xc0\xde\x4d" } , { "\xcd\xe8\xcd\xe4" , "\xbe\xe6\xe0\xc0" } , { "\xcd\xe8\xcd\xe5" , "\xbe\xe6\xe0\xc0\xde" } , { "\xcd\xe8\xcd\xe8" , "\xbe\xda\xe1\xe9\xc0" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\xbe\xda\xe1\xdb\xc0\xfa\x58" } , { "\xcd\xe8\xcd\xe8\xcd" , "\xbe\xda\xdf\xc0\xfc\xc0" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\xbe\xda\xdf\xc0\xfc\xc0\x4d" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\xbe\xda\xe1\xdb\xc0\xfc\xc0" } , { "\xcd\xe8\xcd\xe8\xcd\xe0" , "\xbe\xe6\xdf\xc0\xfc\xc0" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\xbe\xda\xe1\xdb\xc0\xfc\xc0\xfc\xc0" } , { "\xcd\xe8\xcd\xe8\xcf" , "\xbe\xda\xdf\xc0\xf0" } , { "\xcd\xe8\xcf" , "\xbe\xda\xdf\xc3" } , { "\xcd\xe8\xcf\xde" , "\xbe\xda\xdf\xe0\xc3" } , { "\xcd\xe8\xcf\xe5" , "\xbe\xe6\xe0\xc3\xde" } , { "\xcd\xe8\xcf\xe8" , "\xbe\xda\xe1\xe9\xc3" } , { "\xcd\xe8\xd1" , "\xbe\xda\xdf\xc7" } , { "\xcd\xe8\xd1\xa2" , "\xbe\xda\xdf\xc7\x4d" } , { "\xcd\xe8\xd1\xda\xa2" , "\xbe\xda\xe1\xdb\xc7\x4d" } , { "\xcd\xe8\xd1\xdd" , "\xbe\xda\xdf\xdf\xc7" } , { "\xcd\xe8\xd1\xde" , "\xbe\xda\xdf\xe0\xc7" } , { "\xcd\xe8\xd1\xe0\xa2" , "\xbe\xe6\xdf\xc7\x4d" } , { "\xcd\xe8\xd1\xe1" , "\xbe\xe6\xdf\xc7\xde" } , { "\xcd\xe8\xd1\xe4" , "\xbe\xe6\xe0\xc7" } , { "\xcd\xe8\xd1\xe5" , "\xbe\xe6\xe0\xc7\xde" } , { "\xcd\xe8\xd1\xe8" , "\xbe\xda\xe1\xe9\xc7" } , { "\xcd\xe8\xd4" , "\xbe\xda\xdf\xca" } , { "\xcd\xe8\xd4\xda" , "\xbe\xda\xe1\xdb\xca" } , { "\xcd\xe8\xd4\xdd" , "\xbe\xda\xdf\xdf\xca" } , { "\xcd\xe8\xd5\xda" , "\xbe\xda\xe1\xdb\xcd" } , { "\xcd\xe8\xd7" , "\xbe\xda\xdf\xd3" } , { "\xcd\xe8\xd7\xda" , "\xbe\xda\xe1\xdb\xd3" } , { "\xcd\xe8\xd7\xdb\xa2" , "\xbf\xdf\xd3\x4d" } , { "\xcd\xe8\xd7\xe2" , "\xbe\xe6\xdf\xd3\x3e\xe7" } , { "\xcd\xe8\xd7\xe8" , "\xbe\xda\xe1\xe9\xd3" } , { "\xcd\xe8\xd7\xe8\xb3" , "\xbe\xda\xdf\xd3\x3d\x51" } , { "\xcd\xe8\xe8" , "\xbe\xda\xe1\xe9" } , { "\xcd\xe8\xe9\xcf" , "\xbe\xda\xdf\xc3" } , { "\xce" , "\xbe\xda\xdf" } , { "\xce\xa3" , "\xbe\xda\xdf\x4e" } , { "\xcf" , "\xc1\xda" } , { "\xcf\xa1" , "\xc1\xda\x4d" } , { "\xcf\xa2" , "\xc1\xda\x4d" } , { "\xcf\xa2\xa2" , "\xc1\xda\x4d\x4d" } , { "\xcf\xa3" , "\xc1\xda\x4e" } , { "\xcf\xda" , "\xc1\xdb" } , { "\xcf\xda\xa1" , "\xc1\xdb\x4d" } , { "\xcf\xda\xa2" , "\xc1\xdb\x4d" } , { "\xcf\xda\xa3" , "\xc1\xdb\x4e" } , { "\xcf\xdb" , "\xc2" } , { "\xcf\xdb\xa1" , "\xc2\x4d" } , { "\xcf\xdb\xa2" , "\xc2\x4d" } , { "\xcf\xdb\xa2\xa2" , "\xc2\x4d\x4d" } , { "\xcf\xdb\xa3" , "\xc2\x4e" } , { "\xcf\xdb\xce\xda" , "\xc2\xbe\xda\xe1\xdb" } , { "\xcf\xdc" , "\xc2\xde" } , { "\xcf\xdc\xa2" , "\xc2\xde\x4d" } , { "\xcf\xdc\xa2\xa2" , "\xc2\xde\x4d\x4d" } , { "\xcf\xdc\xa3" , "\xc2\xde\x4e" } , { "\xcf\xdd" , "\xc1\xda\xdf" } , { "\xcf\xdd\xa1" , "\xc1\xda\xdf\x4d" } , { "\xcf\xdd\xa2" , "\xc1\xda\xdf\x4d" } , { "\xcf\xdd\xa3" , "\xc1\xda\xdf\x4e" } , { "\xcf\xde" , "\xc1\xda\xe0" } , { "\xcf\xde\xa1" , "\xc1\xda\xe0\x4d" } , { "\xcf\xde\xa2" , "\xc1\xda\xe0\x4d" } , { "\xcf\xdf" , "\xc1\xda\xe4" } , { "\xcf\xe0" , "\xc1\xe6" } , { "\xcf\xe0\xa2" , "\xc1\xe6\x4d" } , { "\xcf\xe0\xa3" , "\xc1\xe6\x4e" } , { "\xcf\xe1" , "\xc1\xe6\xde" } , { "\xcf\xe1\xa2" , "\xc1\xe6\xde\x4d" } , { "\xcf\xe2" , "\xc1\xe6\xe7" } , { "\xcf\xe2\xa2" , "\xc1\xe6\xe7\x4d" } , { "\xcf\xe2\xa3" , "\xc1\xe6\xe7\x4e" } , { "\xcf\xe2\xbd\xe8" , "\xc1\xe6\xe7\x6d\xe9" } , { "\xcf\xe4" , "\xc1\xe6\xe0" } , { "\xcf\xe4\xa2" , "\xc1\xe6\xe0\x4d" } , { "\xcf\xe5" , "\xc1\xe6\xe0\xde" } , { "\xcf\xe5\xa2" , "\xc1\xe6\xe0\xde\x4d" } , { "\xcf\xe5\xa2\xa2" , "\xc1\xe6\xe0\xde\x4d\x4d" } , { "\xcf\xe6" , "\xc1\xe8" } , { "\xcf\xe6\xa2" , "\xc1\xe8\x4d" } , { "\xcf\xe7" , "\xc1\xe6\xe0" } , { "\xcf\xe7\xa2" , "\xc1\xe6\xe0\x4d" } , { "\xcf\xe8" , "\xc1\xe9" } , { "\xcf\xe8\xb3" , "\x4f\xda\x25" } , { "\xcf\xe8\xb3\xa2" , "\x4f\xda\x25\x4d" } , { "\xcf\xe8\xb3\xda" , "\x4f\xdb\x25" } , { "\xcf\xe8\xb3\xda\xa2" , "\x4f\xdb\x25\x4d" } , { "\xcf\xe8\xb3\xdb" , "\x50\x25" } , { "\xcf\xe8\xb3\xdb\xa2" , "\x50\x25\x4d" } , { "\xcf\xe8\xb3\xdc" , "\x50\x25\xde" } , { "\xcf\xe8\xb3\xdd" , "\x4f\xda\xdf\x25" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x4f\xda\xdf\x25\x4d" } , { "\xcf\xe8\xb3\xde" , "\x4f\xda\xe0\x25" } , { "\xcf\xe8\xb3\xe0" , "\x4f\xe6\x25" } , { "\xcf\xe8\xb3\xe0\xa2" , "\x4f\xe6\x25\x4d" } , { "\xcf\xe8\xb3\xe1" , "\x4f\xe6\x25\xde" } , { "\xcf\xe8\xb3\xe1\xa2" , "\x4f\xe6\x25\xde\x4d" } , { "\xcf\xe8\xb3\xe2" , "\x4f\xe6\x25\xe7" } , { "\xcf\xe8\xb3\xe4" , "\x4f\xe6\xe0\x25" } , { "\xcf\xe8\xb3\xe4\xa2" , "\x4f\xe6\xe0\x25\x4d" } , { "\xcf\xe8\xb3\xe5" , "\x4f\xe6\xe0\x25\xde" } , { "\xcf\xe8\xb3\xe5\xa2" , "\x4f\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xb3\xe6" , "\x4f\xe8\x25" } , { "\xcf\xe8\xb3\xe6\xa2" , "\x4f\xe8\x25\x4d" } , { "\xcf\xe8\xb3\xe8" , "\x4f\xe9\x25" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x4f\xda\x51\x25" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\x50\x51\x25" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x4f\xda\xdf\x51\x25" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\x4f\xdb\x58\x25" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\x4f\xe6\x58\x25\xde" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x4f\xda\x6f\x25" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\x50\x6f\x25" } , { "\xcf\xe8\xb3\xe8\xbd\xe8\xd4\xe1" , "\x4f\xe6\x6f\x3e\xca\x25\xde" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x4f\xda\xa1\x25" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x4f\xda\xdf\xad\x25" } , { "\xcf\xe8\xb3\xe8\xc8\xe0" , "\x4f\xe6\xb0\x25" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x4f\xda\xe0\xb5\x3d\xc0\x25" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\x4f\xda\xdf\xc0\x25" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\x4f\xda\xe0\xc0\x25" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\x50\xc3\x25" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x50\xc3\x25\xde" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x4f\xda\xe0\xc3\x25\x4d" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\x4f\xe6\xee\x25" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x4f\xda\xc7\x25" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x4f\xda\xc7\x25\x4d" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x4f\xdb\xc7\x25" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x4f\xdb\xc7\x25\x4d" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x4f\xda\xdf\xc7\x25" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\x4f\xe6\xc7\x25\xde" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\x4f\xe6\xc7\x25\xf5\xe7" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\x4f\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xb3\xe8\xd4\xa2" , "\x4f\xda\xca\x25\x4d" } , { "\xcf\xe8\xb3\xe8\xd4\xdb" , "\x50\xca\x25" } , { "\xcf\xe8\xb3\xe8\xd4\xe0" , "\x4f\xe6\xca\x25" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x4f\xda\xd0\x25" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x4f\xdb\xd0\x25" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\x4f\xe6\xd0\x25\x3e\xe7" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x4f\xda\xd0\x3d\xc0\x25" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x4f\xe6\xe0\xd0\x3d\xc0\x25\xde" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x4f\xda\xd3\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x4f\xdb\xd3\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\x50\xd3\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x4f\xda\xdf\xd3\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x4f\xe9\xd3\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\x50\xd3\x3d\x51\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x4f\xdb\xd3\xfe\x58\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\x4f\xda\xdf\xd3\x3e\xad\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\x4f\xda\xdf\xd3\xfe\xc7\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd4\xdd" , "\x4f\xda\xdf\xd3\x3e\xca\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x4f\xdb\xd3\x3d\xcd\x25" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\xc1\xe9\x4f\xda\xdf\xd3\x3e\xd0\x3e\x6f" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\x50\xd6\x25" } , { "\xcf\xe8\xb3\xe9" , "\x4f\xda\x25" } , { "\xcf\xe8\xb4" , "\x52\x25" } , { "\xcf\xe8\xb4\xa2" , "\x52\x25\x4d" } , { "\xcf\xe8\xb4\xda" , "\x53\xdb\x25" } , { "\xcf\xe8\xb4\xdb" , "\x54\x25" } , { "\xcf\xe8\xb4\xdc" , "\x54\x25\xde" } , { "\xcf\xe8\xb4\xdd" , "\x52\xdf\x25" } , { "\xcf\xe8\xb4\xe2" , "\x53\xe6\x25\xe7" } , { "\xcf\xe8\xb4\xe4" , "\x53\xe6\xe0\x25" } , { "\xcf\xe8\xb4\xe5" , "\x53\xe6\xe0\x25\xde" } , { "\xcf\xe8\xb4\xe5\xa2" , "\x53\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xb5" , "\x56\xda\x25" } , { "\xcf\xe8\xb5\xa2" , "\x56\xda\x25\x4d" } , { "\xcf\xe8\xb5\xa3" , "\x56\xda\x25\x4e" } , { "\xcf\xe8\xb5\xda" , "\x56\xdb\x25" } , { "\xcf\xe8\xb5\xda\xa2" , "\x56\xdb\x25\x4d" } , { "\xcf\xe8\xb5\xda\xa3" , "\x56\xdb\x25\x4e" } , { "\xcf\xe8\xb5\xdb" , "\x57\x25" } , { "\xcf\xe8\xb5\xdb\xa2" , "\x57\x25\x4d" } , { "\xcf\xe8\xb5\xdc" , "\x57\x25\xde" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x57\x25\xde\x4d" } , { "\xcf\xe8\xb5\xdd" , "\x56\xda\xdf\x25" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x56\xda\xdf\x25\x4d" } , { "\xcf\xe8\xb5\xde" , "\x56\xda\xe0\x25" } , { "\xcf\xe8\xb5\xe0" , "\x56\xe6\x25" } , { "\xcf\xe8\xb5\xe1" , "\x56\xe6\x25\xde" } , { "\xcf\xe8\xb5\xe2" , "\x56\xe6\x25\xe7" } , { "\xcf\xe8\xb5\xe2\xa3" , "\x56\xe6\x25\xe7\x4e" } , { "\xcf\xe8\xb5\xe4" , "\x56\xe6\xe0\x25" } , { "\xcf\xe8\xb5\xe5" , "\x56\xe6\xe0\x25\xde" } , { "\xcf\xe8\xb5\xe5\xa2" , "\x56\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xb5\xe6\xa2" , "\x56\xe8\x25\x4d" } , { "\xcf\xe8\xb5\xe8" , "\x56\xe9\x25" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\x57\x51\x25" } , { "\xcf\xe8\xb5\xe8\xbc" , "\x56\xda\x6b\x25" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\x57\xad\x25" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x56\xda\xbd\x25" } , { "\xcf\xe8\xb5\xe8\xcd" , "\x56\xda\xc0\x25" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\x56\xdb\xc0\x25" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\x56\xda\xdf\xc0\x25" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\x56\xda\xe0\xc0\x25" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\x56\xe6\xe0\xc0\x25\xde" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x56\xda\xc3\x25" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x56\xda\xc3\x25\x4d" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x56\xdb\xc3\x25" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x57\xc3\x25\xde" } , { "\xcf\xe8\xb5\xe8\xcf\xe0" , "\x56\xe6\xc3\x25" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\x56\xe6\xc3\x25\xde" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x56\xda\xdf\xc7\x25" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\x56\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\x56\xe9\xd3\x25" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x57\x25\xde" } , { "\xcf\xe8\xb5\xe9\xe1" , "\x56\xe6\x25\xde" } , { "\xcf\xe8\xb6" , "\x59\xda\x25" } , { "\xcf\xe8\xb6\xa2" , "\x59\xda\x25\x4d" } , { "\xcf\xe8\xb6\xda" , "\x59\xdb\x25" } , { "\xcf\xe8\xb6\xda\xa2" , "\x59\xdb\x25\x4d" } , { "\xcf\xe8\xb6\xdb" , "\x5a\x25" } , { "\xcf\xe8\xb6\xdc" , "\x5a\x25\xde" } , { "\xcf\xe8\xb6\xdd" , "\x59\xda\xdf\x25" } , { "\xcf\xe8\xb6\xde" , "\x59\xda\xe0\x25" } , { "\xcf\xe8\xb6\xe5" , "\x59\xe6\xe0\x25\xde" } , { "\xcf\xe8\xb6\xe8" , "\x59\xe9\x25" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x59\xda\xb4\xc0\x25" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x59\xda\xb4\xc0\x25\x4d" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x59\xdb\xc0\x25" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x59\xe6\xb4\xc0\x25\xfd\xe7" } , { "\xcf\xe8\xb6\xe8\xd4" , "\x59\xda\xb4\xca\x25" } , { "\xcf\xe8\xb7" , "\x5c\x25" } , { "\xcf\xe8\xb7\xa2" , "\x5c\x25\x4d" } , { "\xcf\xe8\xb7\xdd" , "\x5c\xdf\x25" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x5c\x58\x25" } , { "\xcf\xe8\xb7\xe8\xcd" , "\x5c\xc0\x25" } , { "\xcf\xe8\xb8" , "\x5e\xda\x25" } , { "\xcf\xe8\xb8\xa2" , "\x5e\xda\x25\x4d" } , { "\xcf\xe8\xb8\xda" , "\x5e\xdb\x25" } , { "\xcf\xe8\xb8\xda\xa2" , "\x5e\xdb\x25\x4d" } , { "\xcf\xe8\xb8\xdb" , "\x5f\x25" } , { "\xcf\xe8\xb8\xdb\xa2" , "\x5f\x25\x4d" } , { "\xcf\xe8\xb8\xdc" , "\x5f\x25\xde" } , { "\xcf\xe8\xb8\xdd" , "\x5e\xda\xdf\x25" } , { "\xcf\xe8\xb8\xdd\xa2" , "\x5e\xda\xdf\x25\x4d" } , { "\xcf\xe8\xb8\xde" , "\x5e\xda\xe0\x25" } , { "\xcf\xe8\xb8\xe0" , "\x5e\xe6\x25" } , { "\xcf\xe8\xb8\xe0\xa2" , "\x5e\xe6\x25\x4d" } , { "\xcf\xe8\xb8\xe1" , "\x5e\xe6\x25\xde" } , { "\xcf\xe8\xb8\xe1\xa2" , "\x5e\xe6\x25\xde\x4d" } , { "\xcf\xe8\xb8\xe2" , "\x5e\xe6\x25\xe7" } , { "\xcf\xe8\xb8\xe4" , "\x5e\xe6\xe0\x25" } , { "\xcf\xe8\xb8\xe4\xa2" , "\x5e\xe6\xe0\x25\x4d" } , { "\xcf\xe8\xb8\xe5" , "\x5e\xe6\xe0\x25\xde" } , { "\xcf\xe8\xb8\xe5\xa2" , "\x5e\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xb8\xe6" , "\x5e\xe8\x25" } , { "\xcf\xe8\xb8\xe8" , "\x5e\xe9\x25" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\x5e\xdb\x58\x25" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\x5e\xdb\x58\xf0\x25" } , { "\xcf\xe8\xb8\xe8\xb8\xe0" , "\x5e\xe6\x60\x25" } , { "\xcf\xe8\xb8\xe8\xb9" , "\x5e\xda\x63\x25" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\x5e\xdb\x63\x25" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\x5f\x63\x25" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\x5f\xad\x25" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\x5e\xda\xdf\xad\x25\x4d" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\x5e\xdb\xb5\x25" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x5f\xbd\x25\xde" } , { "\xcf\xe8\xb8\xe8\xd1" , "\x5e\xda\xc7\x25" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\x5e\xe6\xc7\x25\xde" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\x5e\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xb9" , "\x61\xda\x25" } , { "\xcf\xe8\xb9\xa2" , "\x61\xda\x25\x4d" } , { "\xcf\xe8\xb9\xda" , "\x61\xdb\x25" } , { "\xcf\xe8\xb9\xdb" , "\x62\x25" } , { "\xcf\xe8\xb9\xdb\xa2" , "\x62\x25\x4d" } , { "\xcf\xe8\xb9\xdc" , "\x62\x25\xde" } , { "\xcf\xe8\xb9\xdd" , "\x61\xda\xdf\x25" } , { "\xcf\xe8\xb9\xe1" , "\x61\xe6\x25\xde" } , { "\xcf\xe8\xb9\xe1\xa2" , "\x61\xe6\x25\xde\x4d" } , { "\xcf\xe8\xb9\xe4" , "\x61\xe6\xe0\x25" } , { "\xcf\xe8\xb9\xe5\xa2" , "\x61\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xba" , "\x64\x25" } , { "\xcf\xe8\xba\xa2" , "\x64\x25\x4d" } , { "\xcf\xe8\xba\xda" , "\x65\xdb\x25" } , { "\xcf\xe8\xba\xda\xa2" , "\x65\xdb\x25\x4d" } , { "\xcf\xe8\xba\xdb" , "\x66\x25" } , { "\xcf\xe8\xba\xdb\xa2" , "\x66\x25\x4d" } , { "\xcf\xe8\xba\xdc" , "\x66\x25\xde" } , { "\xcf\xe8\xba\xdc\xa2" , "\x66\x25\xde\x4d" } , { "\xcf\xe8\xba\xdd" , "\x64\xdf\x25" } , { "\xcf\xe8\xba\xdd\xa2" , "\x64\xdf\x25\x4d" } , { "\xcf\xe8\xba\xde" , "\x64\xe0\x25" } , { "\xcf\xe8\xba\xe0" , "\x65\xe6\x25" } , { "\xcf\xe8\xba\xe0\xa2" , "\x65\xe6\x25\x4d" } , { "\xcf\xe8\xba\xe1" , "\x65\xe6\x25\xde" } , { "\xcf\xe8\xba\xe1\xa2" , "\x65\xe6\x25\xde\x4d" } , { "\xcf\xe8\xba\xe2" , "\x65\xe6\x25\xe7" } , { "\xcf\xe8\xba\xe5" , "\x65\xe6\xe0\x25\xde" } , { "\xcf\xe8\xba\xe5\xa2" , "\x65\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xba\xe8" , "\x65\xe9\x25" } , { "\xcf\xe8\xba\xe8\xb5" , "\x64\x58\x25" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x65\xdb\x58\x25" } , { "\xcf\xe8\xba\xe8\xb6" , "\x64\x5b\x25" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x65\xdb\x6b\x25" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\x65\xe6\x6b\x25\xde" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x65\xdb\x6f\x25\x4d" } , { "\xcf\xe8\xba\xe8\xbf" , "\x64\x75\x25" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x65\xe9\x75\x25" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x65\xdb\xbd\x25" } , { "\xcf\xe8\xba\xe8\xcd" , "\x64\xc0\x25" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x64\xc0\x25\x4d" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x65\xdb\xc0\x25" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x65\xe6\xe0\xc0\x25\xde" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x64\xdf\xc7\x25" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\x65\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xba\xe8\xd4" , "\x64\xca\x25" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x65\xe6\xd3\x3d\x51\x25\xde" } , { "\xcf\xe8\xba\xe9" , "\x64\x25" } , { "\xcf\xe8\xba\xe9\xda" , "\x65\xdb\x25" } , { "\xcf\xe8\xba\xe9\xdc" , "\x66\x25\xde" } , { "\xcf\xe8\xba\xe9\xdd" , "\x64\xdf\x25" } , { "\xcf\xe8\xba\xe9\xe1" , "\x65\xe6\x25\xde" } , { "\xcf\xe8\xba\xe9\xe5" , "\x65\xe6\xe0\x25\xde" } , { "\xcf\xe8\xbb" , "\xc1\xda\x68\xdf\x25" } , { "\xcf\xe8\xbb\xda" , "\xc1\xda\x68\xe1\xdb\x25" } , { "\xcf\xe8\xbb\xdb" , "\xc2\x68\xdf\x25" } , { "\xcf\xe8\xbb\xdd" , "\xc1\xda\x68\xdf\xdf\x25" } , { "\xcf\xe8\xbb\xe8\xd8" , "\xc1\xda\x68\xdf\xd6\x25" } , { "\xcf\xe8\xbc\xe1" , "\x6a\xdc\xe6\x25\xde" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x6a\x58\x25" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x6a\xdc\xe6\x75\x25\xde" } , { "\xcf\xe8\xbd" , "\x6c\x25" } , { "\xcf\xe8\xbd\xa2" , "\x6c\x25\x4d" } , { "\xcf\xe8\xbd\xda" , "\x6d\xdb\x25" } , { "\xcf\xe8\xbd\xdb" , "\x6e\x25" } , { "\xcf\xe8\xbd\xdb\xa2" , "\x6e\x25\x4d" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\x6e\x25\xc5\xe9" } , { "\xcf\xe8\xbd\xdc" , "\x6e\x25\xde" } , { "\xcf\xe8\xbd\xdd" , "\x6c\xdf\x25" } , { "\xcf\xe8\xbd\xde" , "\x6c\xe0\x25" } , { "\xcf\xe8\xbd\xe0" , "\x6d\xe6\x25" } , { "\xcf\xe8\xbd\xe0\xa2" , "\x6d\xe6\x25\x4d" } , { "\xcf\xe8\xbd\xe1" , "\x6d\xe6\x25\xde" } , { "\xcf\xe8\xbd\xe1\xa2" , "\x6d\xe6\x25\xde\x4d" } , { "\xcf\xe8\xbd\xe2" , "\x6d\xe6\x25\xe7" } , { "\xcf\xe8\xbd\xe4" , "\x6d\xe6\xe0\x25" } , { "\xcf\xe8\xbd\xe5" , "\x6d\xe6\xe0\x25\xde" } , { "\xcf\xe8\xbd\xe5\xa2" , "\x6d\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xbd\xe8" , "\x6d\xe9\x25" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\x6e\x51\x25" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\x6c\xdf\x51\x25" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\x6d\xe6\x51\x25\xde" } , { "\xcf\xe8\xbd\xe8\xb3\xe8\xd1\xe0" , "\x6d\xe6\x51\xfa\xc7\x25" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\x6d\xe6\x58\x25\xde" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x6d\xdb\x58\xf4\xc0\x25" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\x6d\xe6\x60\x25\xde" } , { "\xcf\xe8\xbd\xe8\xba" , "\x6c\x67\x25" } , { "\xcf\xe8\xbd\xe8\xba\xe0" , "\x6d\xe6\x67\x25" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\x6d\xe6\x67\x25\xf5\xe7" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\x6d\xe9\x67\x25" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x6c\x67\xf4\x51\x25" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x6d\xdb\x67\xf2\x58\x25" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x6d\xe6\xe0\x67\xf2\xa1\x25\xde" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\x6c\xdf\x67\xf5\xad\x25" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\x6c\x67\xf2\xc7\x25" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\x6d\xe6\x6f\x25\x3e\xe7" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\x6d\xe6\xe0\x6f\x25\xde" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\x6d\xdb\x75\x25" } , { "\xcf\xe8\xbd\xe8\xc5" , "\x6c\xaa\x25" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\x6e\xad\x25" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\x6e\xad\x25\xde" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\x6c\xdf\xad\x25\x4d" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\x6c\xe0\xad\x25" } , { "\xcf\xe8\xbd\xe8\xc8" , "\x6c\xb0\x25" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\x6d\xdb\xb0\x25" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\x6d\xe6\xb0\x25\xde" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\x6d\xdb\xb5\x25" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\x6e\xb5\x25" } , { "\xcf\xe8\xbd\xe8\xc9\xe0" , "\x6d\xe6\xb5\x25" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\x6d\xe6\xb9\xf1\x25\xde" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\x6d\xe6\xb9\xf1\x25\x3e\xe7" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\x6d\xe8\xb9\xf1\x25" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\x6e\xbd\x25" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x6e\xbd\x25\xde" } , { "\xcf\xe8\xbd\xe8\xcc\xe0\xa2" , "\x6d\xe6\xbd\x25\x4d" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\x6d\xe8\xbd\x25" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\x6c\xdf\xc0\x25" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\x6c\xe0\xc0\x25" } , { "\xcf\xe8\xbd\xe8\xcf" , "\x6c\xc3\x25" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\x6d\xdb\xc3\x25" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\x6e\xc3\x25" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\x6e\xc3\x25\xde" } , { "\xcf\xe8\xbd\xe8\xcf\xe0" , "\x6d\xe6\xc3\x25" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\x6d\xe6\xc3\x25\xde" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\x6d\xe6\xee\x25" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\x6d\xe9\xc3\x25" } , { "\xcf\xe8\xbd\xe8\xd1" , "\x6c\xc7\x25" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\x6d\xdb\xc7\x25\x4d" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\x6c\xdf\xc7\x25" } , { "\xcf\xe8\xbd\xe8\xd1\xe0" , "\x6d\xe6\xc7\x25" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\x6d\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\x6d\xe6\xe0\xc7\x25\xde\x4d" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x6d\xdb\xc7\xf4\xc0\x25\x4d" } , { "\xcf\xe8\xbd\xe8\xd4" , "\x6c\xca\x25" } , { "\xcf\xe8\xbd\xe8\xd4\xe1" , "\x6d\xe6\xca\x25\xde" } , { "\xcf\xe8\xbd\xe8\xd7" , "\x6c\xd3\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\x6e\xd3\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\x6c\xdf\xd3\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xe0" , "\x6d\xe6\xd3\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\x6d\xe6\xd3\x25\xde\x4d" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\x6d\xe9\xd3\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\x6d\xdb\xd3\x3d\x51\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xe8\xd4\xdb" , "\xc1\xe9\x6e\xd3\x3d\x51\xfd\xca" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\x6c\xd3\x3d\xbd\x25" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\x6d\xe6\xe0\xd3\xfe\xc7\x25\xde" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\x6d\xdb\xd6\x25" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\x6d\xdb\xd6\x25\x4d" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\x6e\xd6\x25\x4d" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\x6c\xe0\xd6\x25" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\x6d\xe6\xe0\xd6\x25\xde" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\x6c\xd1\xda" } , { "\xcf\xe8\xbf" , "\x73\xda\x25" } , { "\xcf\xe8\xbf\xda" , "\x73\xdb\x25" } , { "\xcf\xe8\xbf\xda\xa2" , "\x73\xdb\x25\x4d" } , { "\xcf\xe8\xbf\xdb" , "\x74\x25" } , { "\xcf\xe8\xbf\xdb\xa2" , "\x74\x25\x4d" } , { "\xcf\xe8\xbf\xdc" , "\x74\x25\xde" } , { "\xcf\xe8\xbf\xdd" , "\x73\xda\xdf\x25" } , { "\xcf\xe8\xbf\xde" , "\x73\xda\xe0\x25" } , { "\xcf\xe8\xbf\xe0" , "\x73\xe6\x25" } , { "\xcf\xe8\xbf\xe0\xa2" , "\x73\xe6\x25\x4d" } , { "\xcf\xe8\xbf\xe1" , "\x73\xe6\x25\xde" } , { "\xcf\xe8\xbf\xe2" , "\x73\xe6\x25\xe7" } , { "\xcf\xe8\xbf\xe4" , "\x73\xe6\xe0\x25" } , { "\xcf\xe8\xbf\xe5" , "\x73\xe6\xe0\x25\xde" } , { "\xcf\xe8\xbf\xe5\xa2" , "\x73\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xbf\xe8" , "\x73\xe9\x25" } , { "\xcf\xe8\xbf\xe8\xb3" , "\x73\xda\x51\x25" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\x74\x51\x25" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\x74\x51\x25\xde" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\x73\xda\xdf\x51\x25" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\x73\xe6\xe0\x51\x25\xde" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\x73\xe6\x51\xfa\xc7\x25\xf5\xe7" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\x73\xdb\x58\x25" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\x74\x58\xf0\x25\xde" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\x73\xe6\x60\x25\xde" } , { "\xcf\xe8\xbf\xe8\xbf" , "\x73\xda\x75\x25" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\x74\x75\x25" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\x74\xad\x25" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\x73\xda\xdf\xad\x25" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\x73\xe6\xad\x25\xde" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\x73\xdb\xb9\x25" } , { "\xcf\xe8\xbf\xe8\xca\xe0" , "\x73\xe6\xb9\x25" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\x73\xe6\xe0\xb9\x25\xde" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\x73\xe6\xb9\xf1\x25\x3e\xe7" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\x74\xbd\x25\x4d" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\x73\xe6\xbd\x25\xde" } , { "\xcf\xe8\xbf\xe8\xcd" , "\x73\xda\xc0\x25" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\x73\xda\xc0\x25\x4d" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\x73\xdb\xc0\x25\x4d" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\x73\xda\xe0\xc0\x25" } , { "\xcf\xe8\xbf\xe8\xcd\xe4" , "\x73\xe6\xe0\xc0\x25" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x73\xdb\xc3\x25" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\x74\xc3\x25" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x73\xda\xdf\xc3\x25" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\x73\xe6\xc3\x25\xde" } , { "\xcf\xe8\xbf\xe8\xd1" , "\x73\xda\xc7\x25" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\x74\xc7\x25\xde" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\x73\xda\xdf\xc7\x25" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\x73\xe6\xc7\x25\xf5\xe7" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\x73\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xbf\xe8\xd4" , "\x73\xda\xca\x25" } , { "\xcf\xe8\xbf\xe8\xd4\xe0" , "\x73\xe6\xca\x25" } , { "\xcf\xe8\xbf\xe8\xd4\xe2" , "\x73\xe6\xca\x25\x3e\xe7" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\x73\xdb\xd0\x25" } , { "\xcf\xe8\xbf\xe8\xd7" , "\x73\xda\xd3\x25" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\x73\xda\xdf\xd3\x25" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\x73\xe6\xe0\xd3\x25\xde" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\x73\xe9\xd3\x25" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x74\xd3\x3e\x6f\x25" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x73\xe6\xd3\x3e\x6f\x25\xde" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xd4\xe0" , "\x73\xe6\xd3\x3e\xca\x25" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\x73\xe6\xd6\x25\xde" } , { "\xcf\xe8\xbf\xe9" , "\x73\xda\x25" } , { "\xcf\xe8\xbf\xe9\xe1" , "\x73\xe6\x25\xde" } , { "\xcf\xe8\xbf\xe9\xe5" , "\x73\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc0" , "\x76\xda\x25" } , { "\xcf\xe8\xc0\xda" , "\x76\xdb\x25" } , { "\xcf\xe8\xc0\xdd" , "\x76\xda\xdf\x25" } , { "\xcf\xe8\xc0\xe8" , "\x76\xe9\x25" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x76\xda\xb4\xc0\x25" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x76\xda\xb4\xc0\x25\x4d" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x76\xdb\xc0\x25" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x76\xda\xdf\xd3\x25" } , { "\xcf\xe8\xc1" , "\x79\x25" } , { "\xcf\xe8\xc1\xa1" , "\x79\x25\x4d" } , { "\xcf\xe8\xc1\xa2" , "\x79\x25\x4d" } , { "\xcf\xe8\xc1\xa3" , "\x79\x25\x4e" } , { "\xcf\xe8\xc1\xda" , "\x7a\xdb\x25" } , { "\xcf\xe8\xc1\xda\xa2" , "\x7a\xdb\x25\x4d" } , { "\xcf\xe8\xc1\xda\xa3" , "\x7a\xdb\x25\x4e" } , { "\xcf\xe8\xc1\xdb" , "\x7b\x25" } , { "\xcf\xe8\xc1\xdb\xa2" , "\x7b\x25\x4d" } , { "\xcf\xe8\xc1\xdc" , "\x7b\x25\xde" } , { "\xcf\xe8\xc1\xdd" , "\x79\xdf\x25" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x79\xdf\x25\x4d" } , { "\xcf\xe8\xc1\xe0\xa2" , "\x7a\xe6\x25\x4d" } , { "\xcf\xe8\xc1\xe0\xa3" , "\x7a\xe6\x25\x4e" } , { "\xcf\xe8\xc1\xe1" , "\x7a\xe6\x25\xde" } , { "\xcf\xe8\xc1\xe5" , "\x7a\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc1\xe5\xa2" , "\x7a\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\x79\xdf\x60\x25" } , { "\xcf\xe8\xc1\xe8\xcd" , "\x79\xc0\x25" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\x79\xc0\x25\x4d" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\x7a\xdb\xc0\x25" } , { "\xcf\xe8\xc2" , "\x7d\xda\x25" } , { "\xcf\xe8\xc2\xa2" , "\x7d\xda\x25\x4d" } , { "\xcf\xe8\xc2\xda" , "\x7d\xdb\x25" } , { "\xcf\xe8\xc2\xda\xa2" , "\x7d\xdb\x25\x4d" } , { "\xcf\xe8\xc2\xdb" , "\x7e\x25" } , { "\xcf\xe8\xc2\xdb\xa2" , "\x7e\x25\x4d" } , { "\xcf\xe8\xc2\xdb\xa3" , "\x7e\x25\x4e" } , { "\xcf\xe8\xc2\xdc" , "\x7e\x25\xde" } , { "\xcf\xe8\xc2\xdd" , "\x7d\xda\xdf\x25" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x7d\xda\xdf\x25\x4d" } , { "\xcf\xe8\xc2\xde" , "\x7d\xda\xe0\x25" } , { "\xcf\xe8\xc2\xde\xa2" , "\x7d\xda\xe0\x25\x4d" } , { "\xcf\xe8\xc2\xdf" , "\x7d\xda\x25\xe4" } , { "\xcf\xe8\xc2\xe0" , "\x7d\xe6\x25" } , { "\xcf\xe8\xc2\xe1" , "\x7d\xe6\x25\xde" } , { "\xcf\xe8\xc2\xe1\xa2" , "\x7d\xe6\x25\xde\x4d" } , { "\xcf\xe8\xc2\xe2" , "\x7d\xe6\x25\xe7" } , { "\xcf\xe8\xc2\xe4" , "\x7d\xe6\xe0\x25" } , { "\xcf\xe8\xc2\xe5" , "\x7d\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc2\xe5\xa2" , "\x7d\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xc2\xe6" , "\x7d\xe8\x25" } , { "\xcf\xe8\xc2\xe8" , "\x7d\xe9\x25" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\x7d\xe6\xe0\x51\x25\xde" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\x7d\xe6\x75\x25\xde" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x7d\xda\xa1\x25" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x7d\xdb\xa1\x25" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\x7e\xa1\x25" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x7e\xa1\x25\xde" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\x7d\xe6\xa1\x25\xde" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\x7d\xe6\xe0\xa1\x25\xde" } , { "\xcf\xe8\xc2\xe8\xc2\xe8\xd4" , "\x7d\xda\xec\x25" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\x7d\xe6\xa4\x25\xde" } , { "\xcf\xe8\xc2\xe8\xcc" , "\x7d\xda\xbd\x25" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x7d\xda\xc0\x25" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x7d\xda\xc0\x25\x4d" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x7d\xdb\xc0\x25" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x7d\xda\xdf\xc0\x25" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\x7d\xe6\xe0\xc0\x25\xde\x4d" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x7d\xda\xc3\x25" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x7d\xda\xc3\x25\x4d" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\x7e\xc3\x25" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x7e\xc3\x25\xde" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\x7d\xe6\xc3\x25\xde" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\x7d\xe6\xee\x25" } , { "\xcf\xe8\xc2\xe8\xcf\xe4" , "\x7d\xe6\xe0\xc3\x25" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\x7d\xe6\xe0\xc3\x25\xde" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\x7d\xe6\xc7\x25\xde" } , { "\xcf\xe8\xc2\xe8\xd4" , "\x7d\xda\xca\x25" } , { "\xcf\xe8\xc2\xe8\xd4\xdb" , "\x7e\xca\x25" } , { "\xcf\xe8\xc2\xe8\xd4\xe2" , "\x7d\xe6\xca\x25\x3e\xe7" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x7d\xda\xd3\x25" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\x7d\xe8\xd3\x25" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x7d\xe9\xd3\x25" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\xc1\xe9\x7d\xda\xd3\x3e\xad\x3d\xc0" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x7d\xda\xd3\x3d\xc0\x25" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x7d\xda\xd3\x3d\xc0\x25\x4d" } , { "\xcf\xe8\xc3" , "\xa2\xda\x25" } , { "\xcf\xe8\xc3\xa1" , "\xa2\xda\x25\x4d" } , { "\xcf\xe8\xc3\xa2" , "\xa2\xda\x25\x4d" } , { "\xcf\xe8\xc3\xa3" , "\xa2\xda\x25\x4e" } , { "\xcf\xe8\xc3\xda" , "\xa2\xdb\x25" } , { "\xcf\xe8\xc3\xda\xa2" , "\xa2\xdb\x25\x4d" } , { "\xcf\xe8\xc3\xdb" , "\xa3\x25" } , { "\xcf\xe8\xc3\xdb\xa2" , "\xa3\x25\x4d" } , { "\xcf\xe8\xc3\xdc" , "\xa3\x25\xde" } , { "\xcf\xe8\xc3\xdd" , "\xa2\xda\xdf\x25" } , { "\xcf\xe8\xc3\xdd\xa2" , "\xa2\xda\xdf\x25\x4d" } , { "\xcf\xe8\xc3\xde" , "\xa2\xda\xe0\x25" } , { "\xcf\xe8\xc3\xe1" , "\xa2\xe6\x25\xde" } , { "\xcf\xe8\xc3\xe2" , "\xa2\xe6\x25\xe7" } , { "\xcf\xe8\xc3\xe5" , "\xa2\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc3\xe5\xa2" , "\xa2\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xc3\xe6" , "\xa2\xe8\x25" } , { "\xcf\xe8\xc3\xe8" , "\xa2\xe9\x25" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\xa2\xe6\xb4\x60\x25\xde" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\xa2\xdb\xbc\x25" } , { "\xcf\xe8\xc3\xe8\xcd" , "\xa2\xda\xb4\xc0\x25" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\xa2\xda\xb4\xc0\x25\x4d" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\xa2\xdb\xc0\x25" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\xa2\xda\xdf\xc0\x25" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\xa2\xe6\xe0\xc0\x25\xde\x4d" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\xa2\xe8\xc0\x25" } , { "\xcf\xe8\xc3\xe8\xcf" , "\xa2\xda\xb4\xc3\x25" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\xa2\xdb\xc3\x25" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\xa2\xe6\xe0\xc3\x25\xde" } , { "\xcf\xe8\xc3\xe8\xd4" , "\xa2\xda\xb4\xca\x25" } , { "\xcf\xe8\xc3\xe8\xd4\xda" , "\xa2\xdb\xca\x25" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\xa2\xe6\xb4\xd3\x3e\x6f\x25\xde" } , { "\xcf\xe8\xc4" , "\xa5\xda\x25" } , { "\xcf\xe8\xc4\xa2" , "\xa5\xda\x25\x4d" } , { "\xcf\xe8\xc4\xa3" , "\xa5\xda\x25\x4e" } , { "\xcf\xe8\xc4\xda" , "\xa5\xdb\x25" } , { "\xcf\xe8\xc4\xda\xa2" , "\xa5\xdb\x25\x4d" } , { "\xcf\xe8\xc4\xdb" , "\xa6\x25" } , { "\xcf\xe8\xc4\xdb\xa2" , "\xa6\x25\x4d" } , { "\xcf\xe8\xc4\xdc" , "\xa6\x25\xde" } , { "\xcf\xe8\xc4\xdc\xa2" , "\xa6\x25\xde\x4d" } , { "\xcf\xe8\xc4\xdd" , "\xa5\xda\xdf\x25" } , { "\xcf\xe8\xc4\xdd\xa2" , "\xa5\xda\xdf\x25\x4d" } , { "\xcf\xe8\xc4\xde" , "\xa5\xda\xe0\x25" } , { "\xcf\xe8\xc4\xdf" , "\xa5\xda\x25\xe4" } , { "\xcf\xe8\xc4\xe0" , "\xa5\xe6\x25" } , { "\xcf\xe8\xc4\xe1" , "\xa5\xe6\x25\xde" } , { "\xcf\xe8\xc4\xe1\xa2" , "\xa5\xe6\x25\xde\x4d" } , { "\xcf\xe8\xc4\xe2" , "\xa5\xe6\x25\xe7" } , { "\xcf\xe8\xc4\xe4" , "\xa5\xe6\xe0\x25" } , { "\xcf\xe8\xc4\xe5" , "\xa5\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc4\xe5\xa2" , "\xa5\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xc4\xe8\xc4" , "\xa5\xda\xa7\x25" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\xa5\xdb\xa7\x25\x4d" } , { "\xcf\xe8\xc4\xe8\xc5" , "\xa5\xda\xaa\x25" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\xa5\xdb\xaa\x25" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\xa5\xdb\xaa\x25\x4d" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\xa6\xaa\x25" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\xa5\xe6\xe0\xaa\x25\xde\x4d" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\xa5\xe6\xbd\x25\xde" } , { "\xcf\xe8\xc4\xe8\xcd" , "\xa5\xda\xc0\x25" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\xa5\xda\xc0\x25\x4d" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\xa5\xdb\xc0\x25" } , { "\xcf\xe8\xc4\xe8\xcf" , "\xa5\xda\xc3\x25" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\xa5\xda\xc3\x25\x4d" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\xa5\xdb\xc3\x25" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\xa6\xc3\x25\xde" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\xa5\xe6\xe0\xc3\x25\xde" } , { "\xcf\xe8\xc4\xe8\xd4" , "\xa5\xda\xca\x25" } , { "\xcf\xe8\xc4\xe8\xd4\xa2" , "\xa5\xda\xca\x25\x4d" } , { "\xcf\xe8\xc4\xe8\xd4\xda" , "\xa5\xdb\xca\x25" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\xa6\xd0\x3e\x6f\x25" } , { "\xcf\xe8\xc5" , "\xa8\xda\x25" } , { "\xcf\xe8\xc5\xa2" , "\xa8\xda\x25\x4d" } , { "\xcf\xe8\xc5\xda" , "\xa8\xdb\x25" } , { "\xcf\xe8\xc5\xda\xa2" , "\xa8\xdb\x25\x4d" } , { "\xcf\xe8\xc5\xdb" , "\xa9\x25" } , { "\xcf\xe8\xc5\xdb\xa2" , "\xa9\x25\x4d" } , { "\xcf\xe8\xc5\xdc" , "\xa9\x25\xde" } , { "\xcf\xe8\xc5\xdd" , "\xa8\xda\xdf\x25" } , { "\xcf\xe8\xc5\xde" , "\xa8\xda\xe0\x25" } , { "\xcf\xe8\xc5\xdf" , "\xa8\xda\x25\xe4" } , { "\xcf\xe8\xc5\xe0" , "\xa8\xe6\x25" } , { "\xcf\xe8\xc5\xe1" , "\xa8\xe6\x25\xde" } , { "\xcf\xe8\xc5\xe5" , "\xa8\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc5\xe5\xa2" , "\xa8\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xc5\xe8" , "\xa8\xe9\x25" } , { "\xcf\xe8\xc5\xe8\xc4" , "\xa8\xda\xb4\xb4\xa7\x25" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\xa8\xdb\xa7\x25" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\xa8\xdb\xa7\x25\x4d" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\xa9\xb4\xad\x25" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\xa8\xe6\xb4\xbd\x25\xde" } , { "\xcf\xe8\xc5\xe8\xcd" , "\xa8\xda\xb4\xc0\x25" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\xa8\xda\xb4\xc0\x25\x4d" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\xa8\xdb\xc0\x25" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\xa8\xe6\xe0\xc0\x25\xde\x4d" } , { "\xcf\xe8\xc5\xe8\xcf" , "\xa8\xda\xb4\xc3\x25" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\xa8\xdb\xc3\x25" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\xa8\xe6\xb4\xc3\x3d\xc0\x25\xde" } , { "\xcf\xe8\xc5\xe8\xd4" , "\xa8\xda\xb4\xca\x25" } , { "\xcf\xe8\xc5\xe8\xd4\xa2" , "\xa8\xda\xb4\xca\x25\x4d" } , { "\xcf\xe8\xc5\xe8\xd4\xda" , "\xa8\xdb\xca\x25" } , { "\xcf\xe8\xc5\xe8\xd4\xda\xa2" , "\xa8\xdb\xca\x25\x4d" } , { "\xcf\xe8\xc6" , "\xab\xda\x25" } , { "\xcf\xe8\xc6\xa2" , "\xab\xda\x25\x4d" } , { "\xcf\xe8\xc6\xda" , "\xab\xdb\x25" } , { "\xcf\xe8\xc6\xda\xa2" , "\xab\xdb\x25\x4d" } , { "\xcf\xe8\xc6\xdb" , "\xac\x25" } , { "\xcf\xe8\xc6\xdb\xa2" , "\xac\x25\x4d" } , { "\xcf\xe8\xc6\xdc" , "\xac\x25\xde" } , { "\xcf\xe8\xc6\xdd" , "\xab\xda\xdf\x25" } , { "\xcf\xe8\xc6\xdd\xa2" , "\xab\xda\xdf\x25\x4d" } , { "\xcf\xe8\xc6\xde" , "\xab\xda\xe0\x25" } , { "\xcf\xe8\xc6\xdf" , "\xab\xda\x25\xe4" } , { "\xcf\xe8\xc6\xe0" , "\xab\xe6\x25" } , { "\xcf\xe8\xc6\xe0\xa2" , "\xab\xe6\x25\x4d" } , { "\xcf\xe8\xc6\xe1" , "\xab\xe6\x25\xde" } , { "\xcf\xe8\xc6\xe1\xa2" , "\xab\xe6\x25\xde\x4d" } , { "\xcf\xe8\xc6\xe2" , "\xab\xe6\x25\xe7" } , { "\xcf\xe8\xc6\xe4" , "\xab\xe6\xe0\x25" } , { "\xcf\xe8\xc6\xe5" , "\xab\xe6\xe0\x25\xde" } , { "\xcf\xe8\xc6\xe5\xa2" , "\xab\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xc6\xe8" , "\xab\xe9\x25" } , { "\xcf\xe8\xc6\xe8\xbf" , "\xab\xda\x75\x25" } , { "\xcf\xe8\xc6\xe8\xc2" , "\xab\xda\xa1\x25" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\xab\xe6\xa7\x25\xde" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\xab\xda\xe0\xad\x25" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\xab\xda\xe0\xb0\x25" } , { "\xcf\xe8\xc6\xe8\xca" , "\xab\xda\xb9\x25" } , { "\xcf\xe8\xc6\xe8\xca\xe0" , "\xab\xe6\xb9\x25" } , { "\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xab\xe6\xb9\xfe\xc7\x25\x4d" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\xab\xdb\xbd\x25" } , { "\xcf\xe8\xc6\xe8\xcc\xe0\xa2" , "\xab\xe6\xbd\x25\x4d" } , { "\xcf\xe8\xc6\xe8\xd1" , "\xab\xda\xc7\x25" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\xab\xda\xdf\xc7\x25" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\xab\xe6\xc7\x25\xde" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\xab\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xc6\xe8\xd4" , "\xab\xda\xca\x25" } , { "\xcf\xe8\xc6\xe8\xd4\xda" , "\xab\xdb\xca\x25" } , { "\xcf\xe8\xc6\xe8\xd7" , "\xab\xda\xd3\x25" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\xab\xe9\xd3\x25" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\xab\xda\xd3\x3d\x51\x25" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\xab\xdb\xd3\x3e\x6f\x25" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\xab\xe6\xd3\x3e\x6f\x25\xde" } , { "\xcf\xe8\xc6\xe8\xd8" , "\xab\xda\xd6\x25" } , { "\xcf\xe8\xc8" , "\xae\xda\x25" } , { "\xcf\xe8\xc8\xa2" , "\xae\xda\x25\x4d" } , { "\xcf\xe8\xc8\xda" , "\xae\xdb\x25" } , { "\xcf\xe8\xc8\xda\xa2" , "\xae\xdb\x25\x4d" } , { "\xcf\xe8\xc8\xdb" , "\xaf\x25" } , { "\xcf\xe8\xc8\xdb\xa2" , "\xaf\x25\x4d" } , { "\xcf\xe8\xc8\xdc" , "\xaf\x25\xde" } , { "\xcf\xe8\xc8\xdd" , "\xae\xda\xe2\xb4\x25" } , { "\xcf\xe8\xc8\xdd\xa2" , "\xae\xda\xe2\xb4\x25\x4d" } , { "\xcf\xe8\xc8\xde" , "\xae\xda\xe3\x25" } , { "\xcf\xe8\xc8\xe0" , "\xae\xe6\x25" } , { "\xcf\xe8\xc8\xe0\xa2" , "\xae\xe6\x25\x4d" } , { "\xcf\xe8\xc8\xe1" , "\xae\xe6\x25\xde" } , { "\xcf\xe8\xc8\xe1\xa2" , "\xae\xe6\x25\xde\x4d" } , { "\xcf\xe8\xc8\xe2" , "\xae\xe6\x25\xe7" } , { "\xcf\xe8\xc8\xe4" , "\xae\xe6\xe3\x25" } , { "\xcf\xe8\xc8\xe4\xa2" , "\xae\xe6\xe3\x25\x4d" } , { "\xcf\xe8\xc8\xe5" , "\xae\xe6\xe3\x25\xde" } , { "\xcf\xe8\xc8\xe5\xa2" , "\xae\xe6\xe3\x25\xde\x4d" } , { "\xcf\xe8\xc8\xe8" , "\xae\xe9\x25" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\xae\xdb\x58\x25" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\xae\xe6\xe3\xb4\xa1\x25\xde" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\xae\xda\xe2\xfd\xad\x25" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\xae\xdb\xc0\x25" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\xae\xda\xe3\xc0\x25" } , { "\xcf\xe8\xc8\xe8\xcf" , "\xae\xda\xc3\x25" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\xae\xdb\xc3\x25" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\xaf\xc3\x25\x4d" } , { "\xcf\xe8\xc8\xe8\xcf\xe0" , "\xae\xe6\xc3\x25" } , { "\xcf\xe8\xc8\xe8\xcf\xe0\xa2" , "\xae\xe6\xc3\x25\x4d" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\xae\xe6\xee\x25" } , { "\xcf\xe8\xc8\xe8\xd1" , "\xae\xda\xc7\x25" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\xae\xdb\xc7\x25" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\xae\xdb\xc7\x25\x4d" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\xae\xda\xe2\xfa\xc7\x25" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\xae\xe6\xc7\x25\xde" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\xae\xe6\xe3\xb4\xc7\x25\xde" } , { "\xcf\xe8\xc9" , "\xb1\xda\x25" } , { "\xcf\xe8\xc9\xda" , "\xb1\xdb\x25" } , { "\xcf\xe8\xc9\xdb" , "\xb2\x25" } , { "\xcf\xe8\xc9\xdc" , "\xb2\x25\xde" } , { "\xcf\xe8\xc9\xdd" , "\xb1\xda\xb3\xe2\xb4\x25" } , { "\xcf\xe8\xc9\xe0" , "\xb1\xe6\x25" } , { "\xcf\xe8\xc9\xe1" , "\xb1\xe6\x25\xde" } , { "\xcf\xe8\xc9\xe2" , "\xb1\xe6\x25\xe7" } , { "\xcf\xe8\xc9\xe5" , "\xb1\xe6\xb3\xe3\x25\xde" } , { "\xcf\xe8\xc9\xe5\xa2" , "\xb1\xe6\xb3\xe3\x25\xde\x4d" } , { "\xcf\xe8\xc9\xe8" , "\xb1\xe9\x25" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\xb1\xda\xb3\xe3\x51\x25" } , { "\xcf\xe8\xc9\xe8\xbf" , "\xb1\xda\xb4\xb4\x75\x25" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\xb1\xda\xb3\xe3\xc0\x25" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\xb1\xdb\xc7\x25" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\xb1\xda\xb3\xe3\xb4\xc7\x25" } , { "\xcf\xe8\xc9\xe8\xd4" , "\xb1\xda\xb4\xca\x25" } , { "\xcf\xe8\xc9\xe8\xd4\xe0" , "\xb1\xe6\xb4\xca\x25" } , { "\xcf\xe8\xc9\xe9" , "\xb1\xda\x25" } , { "\xcf\xe8\xc9\xe9\xdc" , "\xb2\x25\xde" } , { "\xcf\xe8\xca" , "\xb6\x25" } , { "\xcf\xe8\xca\xa2" , "\xb6\x25\x4d" } , { "\xcf\xe8\xca\xda" , "\xb7\xdb\x25" } , { "\xcf\xe8\xca\xdb" , "\xb8\x25" } , { "\xcf\xe8\xca\xdb\xa2" , "\xb8\x25\x4d" } , { "\xcf\xe8\xca\xdc" , "\xb8\x25\xde" } , { "\xcf\xe8\xca\xdd" , "\xb6\xdf\x25" } , { "\xcf\xe8\xca\xde" , "\xb6\xe0\x25" } , { "\xcf\xe8\xca\xe0" , "\xb7\xe6\x25" } , { "\xcf\xe8\xca\xe0\xa2" , "\xb7\xe6\x25\x4d" } , { "\xcf\xe8\xca\xe1" , "\xb7\xe6\x25\xde" } , { "\xcf\xe8\xca\xe2" , "\xb7\xe6\x25\xe7" } , { "\xcf\xe8\xca\xe4" , "\xb7\xe6\xe0\x25" } , { "\xcf\xe8\xca\xe5" , "\xb7\xe6\xe0\x25\xde" } , { "\xcf\xe8\xca\xe5\xa2" , "\xb7\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xca\xe6" , "\xb7\xe8\x25" } , { "\xcf\xe8\xca\xe8" , "\xb7\xe9\x25" } , { "\xcf\xe8\xca\xe8\xbf" , "\xb6\x75\x25" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\xb8\xa4\x25" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\xb6\xdf\xad\xfe\xc7\x25" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\xb7\xdb\xc0\x25" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\xb6\xdf\xc0\x25" } , { "\xcf\xe8\xca\xe8\xcf" , "\xb6\xc3\x25" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\xb7\xdb\xc3\x25" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\xb7\xe6\xe0\xc3\x25\xde" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\xb7\xe9\xc7\x25" } , { "\xcf\xe8\xca\xe8\xd7" , "\xb6\xd3\x25" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\xb7\xe9\xd3\x25" } , { "\xcf\xe8\xcb" , "\xba\xda\x25" } , { "\xcf\xe8\xcb\xa2" , "\xba\xda\x25\x4d" } , { "\xcf\xe8\xcb\xa3" , "\xba\xda\x25\x4e" } , { "\xcf\xe8\xcb\xda" , "\xba\xdb\x25" } , { "\xcf\xe8\xcb\xda\xa2" , "\xba\xdb\x25\x4d" } , { "\xcf\xe8\xcb\xdb" , "\xbb\x25" } , { "\xcf\xe8\xcb\xdb\xa2" , "\xbb\x25\x4d" } , { "\xcf\xe8\xcb\xdc" , "\xbb\x25\xde" } , { "\xcf\xe8\xcb\xdd" , "\xba\xda\xdf\x25" } , { "\xcf\xe8\xcb\xde" , "\xba\xda\xe0\x25" } , { "\xcf\xe8\xcb\xde\xa3" , "\xba\xda\xe0\x25\x4e" } , { "\xcf\xe8\xcb\xe1" , "\xba\xe6\x25\xde" } , { "\xcf\xe8\xcb\xe5" , "\xba\xe6\xe0\x25\xde" } , { "\xcf\xe8\xcb\xe5\xa2" , "\xba\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xcb\xe6" , "\xba\xe8\x25" } , { "\xcf\xe8\xcb\xe8\xcf" , "\xba\xda\xb4\xc3\x25" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\xba\xdb\xc3\x25" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\xba\xe9\xd3\x25" } , { "\xcf\xe8\xcc" , "\xc8\xda\xdf\x25" } , { "\xcf\xe8\xcc\xa2" , "\xc8\xda\xdf\x25\x4d" } , { "\xcf\xe8\xcc\xa3" , "\xc8\xda\xdf\x25\x4e" } , { "\xcf\xe8\xcc\xda" , "\xc8\xda\xe1\xdb\x25" } , { "\xcf\xe8\xcc\xda\xa1" , "\xc8\xda\xe1\xdb\x25\x4d" } , { "\xcf\xe8\xcc\xda\xa2" , "\xc8\xda\xe1\xdb\x25\x4d" } , { "\xcf\xe8\xcc\xdb" , "\xc9\xdf\x25" } , { "\xcf\xe8\xcc\xdb\xa2" , "\xc9\xdf\x25\x4d" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\xc9\xdf\x25\x4d\x4d" } , { "\xcf\xe8\xcc\xdc" , "\xc9\xdf\x25\xde" } , { "\xcf\xe8\xcc\xdc\xa2" , "\xc9\xdf\x25\xde\x4d" } , { "\xcf\xe8\xcc\xdd" , "\xc8\xda\xdf\xdf\x25" } , { "\xcf\xe8\xcc\xdd\xa2" , "\xc8\xda\xdf\xdf\x25\x4d" } , { "\xcf\xe8\xcc\xde" , "\xc8\xda\xdf\xe0\x25" } , { "\xcf\xe8\xcc\xe0" , "\xc8\xe6\xdf\x25" } , { "\xcf\xe8\xcc\xe0\xa2" , "\xc8\xe6\xdf\x25\x4d" } , { "\xcf\xe8\xcc\xe1" , "\xc8\xe6\xdf\x25\xde" } , { "\xcf\xe8\xcc\xe1\xa2" , "\xc8\xe6\xdf\x25\xde\x4d" } , { "\xcf\xe8\xcc\xe2" , "\xc8\xe6\xdf\x25\xe7" } , { "\xcf\xe8\xcc\xe4" , "\xc8\xe6\xe0\x25" } , { "\xcf\xe8\xcc\xe5" , "\xc8\xe6\xe0\x25\xde" } , { "\xcf\xe8\xcc\xe5\xa2" , "\xc8\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xcc\xe8" , "\xc8\xda\xe1\xe9\x25" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\xc8\xda\xdf\xdf\x51\x25" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\xc8\xda\xdf\xdf\x58\xf0\x25" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\xc8\xe6\xdf\x60\x25\xde" } , { "\xcf\xe8\xcc\xe8\xb8\xe4" , "\xc8\xe6\xe0\x60\x25" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\xc9\xdf\x6f\x25" } , { "\xcf\xe8\xcc\xe8\xbf" , "\xc8\xda\xdf\x75\x25" } , { "\xcf\xe8\xcc\xe8\xc2" , "\xc8\xda\xdf\xa1\x25" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\xc8\xe6\xe0\xa1\x25\xde" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\xc8\xda\xdf\xad\x25\x4d" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\xc8\xda\xe1\xdb\xad\x25" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\xc8\xda\xdf\xdf\xad\x25" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\xc8\xda\xdf\xdf\xad\x25\x4d" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\xc8\xda\xe1\xdb\xb5\x25" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\xc9\xdf\xb5\x25\xde" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\xc8\xda\xe1\xdb\xbc\x25" } , { "\xcf\xe8\xcc\xe8\xcc" , "\xc8\xda\xdf\xbd\x25" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\xc8\xda\xe1\xdb\xbd\x25" } , { "\xcf\xe8\xcc\xe8\xcd" , "\xc8\xda\xdf\xc0\x25" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\xc8\xda\xdf\xc0\x25\x4d" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\xc8\xda\xe1\xdb\xc0\x25" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\xc8\xda\xdf\xdf\xc0\x25" } , { "\xcf\xe8\xcc\xe8\xcd\xe4" , "\xc8\xe6\xe0\xc0\x25" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\xc8\xe6\xe0\xc3\x25\xde" } , { "\xcf\xe8\xcc\xe8\xd1" , "\xc8\xda\xdf\xc7\x25" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\xc8\xda\xdf\xdf\xc7\x25" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\xc8\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\xc8\xda\xdf\xdf\xd3\x25" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\xc8\xda\xe1\xe9\xd3\x25" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xc1\xe9\xc8\xda\xe1\xdb\xd3\x3e\x6f\xf1\x4d" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\xc8\xe6\xe0\xd3\xfe\xa1\x25\xde" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\xc9\xdf\xd3\x3e\xad\x25" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\xc9\xdf\xd3\x3e\xb0\x25" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\xc8\xda\xe1\xdb\xd3\x3d\xbd\x25" } , { "\xcf\xe8\xcd" , "\xbe\xda\xdf\x25" } , { "\xcf\xe8\xcd\xa2" , "\xbe\xda\xdf\x25\x4d" } , { "\xcf\xe8\xcd\xa3" , "\xbe\xda\xdf\x25\x4e" } , { "\xcf\xe8\xcd\xda" , "\xbe\xda\xe1\xdb\x25" } , { "\xcf\xe8\xcd\xda\xa2" , "\xbe\xda\xe1\xdb\x25\x4d" } , { "\xcf\xe8\xcd\xdb" , "\xbf\xdf\x25" } , { "\xcf\xe8\xcd\xdc" , "\xbf\xdf\x25\xde" } , { "\xcf\xe8\xcd\xdd" , "\xbe\xda\xdf\xdf\x25" } , { "\xcf\xe8\xcd\xdd\xa2" , "\xbe\xda\xdf\xdf\x25\x4d" } , { "\xcf\xe8\xcd\xde" , "\xbe\xda\xdf\xe0\x25" } , { "\xcf\xe8\xcd\xe1" , "\xbe\xe6\xdf\x25\xde" } , { "\xcf\xe8\xcd\xe4" , "\xbe\xe6\xe0\x25" } , { "\xcf\xe8\xcd\xe5" , "\xbe\xe6\xe0\x25\xde" } , { "\xcf\xe8\xcd\xe5\xa2" , "\xbe\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\xbe\xda\xdf\xe0\x51\x25" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\xbe\xda\xdf\xa4\x25\x4d" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\xbe\xda\xe1\xdb\xa4\x25" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\xbe\xda\xdf\xa7\x25\x4d" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\xbe\xda\xe1\xdb\xa7\x25" } , { "\xcf\xe8\xcd\xe8\xc5" , "\xbe\xda\xdf\xaa\x25" } , { "\xcf\xe8\xcd\xe8\xcd" , "\xbe\xda\xdf\xc0\x25" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\xbe\xda\xe1\xdb\xc0\x25" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\xbe\xda\xdf\xe0\xc0\x25" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\xbe\xda\xdf\xc3\x3d\xc0\x25" } , { "\xcf\xe8\xcd\xe8\xd4" , "\xbe\xda\xdf\xca\x25" } , { "\xcf\xe8\xcd\xe8\xd4\xda" , "\xbe\xda\xe1\xdb\xca\x25" } , { "\xcf\xe8\xcd\xe8\xd4\xdd" , "\xbe\xda\xdf\xdf\xca\x25" } , { "\xcf\xe8\xcd\xe8\xd4\xde" , "\xbe\xda\xdf\xe0\xca\x25" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\xbf\xdf\xd0\x25\x4d" } , { "\xcf\xe8\xcf" , "\xc1\xda\x25" } , { "\xcf\xe8\xcf\xa2" , "\xc1\xda\x25\x4d" } , { "\xcf\xe8\xcf\xda" , "\xc1\xdb\x25" } , { "\xcf\xe8\xcf\xda\xa2" , "\xc1\xdb\x25\x4d" } , { "\xcf\xe8\xcf\xdb" , "\xc2\x25" } , { "\xcf\xe8\xcf\xdb\xa2" , "\xc2\x25\x4d" } , { "\xcf\xe8\xcf\xdc" , "\xc2\x25\xde" } , { "\xcf\xe8\xcf\xdd" , "\xc1\xda\xdf\x25" } , { "\xcf\xe8\xcf\xdd\xa2" , "\xc1\xda\xdf\x25\x4d" } , { "\xcf\xe8\xcf\xde" , "\xc1\xda\xe0\x25" } , { "\xcf\xe8\xcf\xe0" , "\xc1\xe6\x25" } , { "\xcf\xe8\xcf\xe0\xa2" , "\xc1\xe6\x25\x4d" } , { "\xcf\xe8\xcf\xe1" , "\xc1\xe6\x25\xde" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xc1\xe6\x25\xde\x4d" } , { "\xcf\xe8\xcf\xe2" , "\xc1\xe6\x25\xe7" } , { "\xcf\xe8\xcf\xe4" , "\xc1\xe6\xe0\x25" } , { "\xcf\xe8\xcf\xe5" , "\xc1\xe6\xe0\x25\xde" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xc1\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\xc1\xda\xdf\x60\x25" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\xc1\xe9\x6f\x25" } , { "\xcf\xe8\xcf\xe8\xcc" , "\xc1\xda\xbd\x25" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\xc1\xda\xc3\x25\x4d" } , { "\xcf\xe8\xcf\xe8\xd8" , "\xc1\xda\xd6\x25" } , { "\xcf\xe8\xd0" , "\xc1\xda\x25" } , { "\xcf\xe8\xd0\xda" , "\xc1\xdb\x25" } , { "\xcf\xe8\xd0\xdb" , "\xc2\x25" } , { "\xcf\xe8\xd0\xe1\xa2" , "\xc1\xe6\x25\xde\x4d" } , { "\xcf\xe8\xd1" , "\xc4\x25" } , { "\xcf\xe8\xd1\xa2" , "\xc4\x25\x4d" } , { "\xcf\xe8\xd1\xda" , "\xc5\xdb\x25" } , { "\xcf\xe8\xd1\xda\xa1" , "\xc5\xdb\x25\x4d" } , { "\xcf\xe8\xd1\xda\xa2" , "\xc5\xdb\x25\x4d" } , { "\xcf\xe8\xd1\xdb" , "\xc6\x25" } , { "\xcf\xe8\xd1\xdb\xa2" , "\xc6\x25\x4d" } , { "\xcf\xe8\xd1\xdc" , "\xc6\x25\xde" } , { "\xcf\xe8\xd1\xdd" , "\xc4\xdf\x25" } , { "\xcf\xe8\xd1\xdd\xa2" , "\xc4\xdf\x25\x4d" } , { "\xcf\xe8\xd1\xde" , "\xc4\xe0\x25" } , { "\xcf\xe8\xd1\xe0" , "\xc5\xe6\x25" } , { "\xcf\xe8\xd1\xe0\xa2" , "\xc5\xe6\x25\x4d" } , { "\xcf\xe8\xd1\xe1" , "\xc5\xe6\x25\xde" } , { "\xcf\xe8\xd1\xe1\xa2" , "\xc5\xe6\x25\xde\x4d" } , { "\xcf\xe8\xd1\xe2" , "\xc5\xe6\x25\xe7" } , { "\xcf\xe8\xd1\xe4" , "\xc5\xe6\xe0\x25" } , { "\xcf\xe8\xd1\xe5" , "\xc5\xe6\xe0\x25\xde" } , { "\xcf\xe8\xd1\xe5\xa2" , "\xc5\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xd1\xe8" , "\xc5\xe9\x25" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\xc4\x67\x25" } , { "\xcf\xe8\xd1\xe8\xbf" , "\xc4\x75\x25" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\xc5\xe6\xe0\xa1\x25\xde" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\xc4\xb0\xfe\xc7\x25" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\xc5\xdb\xb5\x25" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\xc5\xdb\xbd\x25" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\xc5\xdb\xc0\x25\x4d" } , { "\xcf\xe8\xd1\xe8\xd4\xe0" , "\xc5\xe6\xca\x25" } , { "\xcf\xe8\xd1\xe8\xd7" , "\xc4\xd3\x25" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\xc4\xdf\xd3\x25" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\xc5\xe9\xd3\x25" } , { "\xcf\xe8\xd2" , "\xd7\xda\x25" } , { "\xcf\xe8\xd4" , "\xc8\xda\x25" } , { "\xcf\xe8\xd4\xa2" , "\xc8\xda\x25\x4d" } , { "\xcf\xe8\xd4\xa3" , "\xc8\xda\x25\x4e" } , { "\xcf\xe8\xd4\xda" , "\xc8\xdb\x25" } , { "\xcf\xe8\xd4\xda\xa2" , "\xc8\xdb\x25\x4d" } , { "\xcf\xe8\xd4\xdb" , "\xc9\x25" } , { "\xcf\xe8\xd4\xdb\xa2" , "\xc9\x25\x4d" } , { "\xcf\xe8\xd4\xdc" , "\xc9\x25\xde" } , { "\xcf\xe8\xd4\xdd" , "\xc8\xda\xe2\xb4\x25" } , { "\xcf\xe8\xd4\xdd\xa2" , "\xc8\xda\xe2\xb4\x25\x4d" } , { "\xcf\xe8\xd4\xde" , "\xc8\xda\xe3\x25" } , { "\xcf\xe8\xd4\xdf" , "\xc8\xda\x25\xe4" } , { "\xcf\xe8\xd4\xe0" , "\xc8\xe6\x25" } , { "\xcf\xe8\xd4\xe0\xa2" , "\xc8\xe6\x25\x4d" } , { "\xcf\xe8\xd4\xe1" , "\xc8\xe6\x25\xde" } , { "\xcf\xe8\xd4\xe1\xa2" , "\xc8\xe6\x25\xde\x4d" } , { "\xcf\xe8\xd4\xe2" , "\xc8\xe6\x25\xe7" } , { "\xcf\xe8\xd4\xe5" , "\xc8\xe6\xe3\x25\xde" } , { "\xcf\xe8\xd4\xe5\xa2" , "\xc8\xe6\xe3\x25\xde\x4d" } , { "\xcf\xe8\xd4\xe6" , "\xc8\xe8\x25" } , { "\xcf\xe8\xd4\xe8" , "\xc8\xe9\x25" } , { "\xcf\xe8\xd4\xe8\xb8\xe1" , "\xc8\xe6\x60\x25\xde" } , { "\xcf\xe8\xd4\xe8\xcd" , "\xc8\xda\xc0\x25" } , { "\xcf\xe8\xd4\xe8\xcd\xda" , "\xc8\xdb\xc0\x25" } , { "\xcf\xe8\xd4\xe8\xcd\xdd" , "\xc8\xda\xe2\xfc\xc0\x25" } , { "\xcf\xe8\xd4\xe8\xcd\xde" , "\xc8\xda\xe3\xc0\x25" } , { "\xcf\xe8\xd4\xe8\xcd\xe8\xd4" , "\xc8\xda\xc0\xfd\xca\x25" } , { "\xcf\xe8\xd4\xe8\xcf\xdd" , "\xc8\xda\xe2\xfd\xc3\x25" } , { "\xcf\xe8\xd4\xe8\xd1\xe5" , "\xc8\xe6\xe3\xb4\xc7\x25\xde" } , { "\xcf\xe8\xd4\xe8\xd4" , "\xc8\xda\xca\x25" } , { "\xcf\xe8\xd4\xe8\xd5" , "\xc8\xda\xcd\x25" } , { "\xcf\xe8\xd4\xe8\xd8\xdc" , "\xc9\xd6\x25\xde" } , { "\xcf\xe8\xd5" , "\xcb\xda\x25" } , { "\xcf\xe8\xd5\xa2" , "\xcb\xda\x25\x4d" } , { "\xcf\xe8\xd5\xa3" , "\xcb\xda\x25\x4e" } , { "\xcf\xe8\xd5\xda" , "\xcb\xdb\x25" } , { "\xcf\xe8\xd5\xda\xa2" , "\xcb\xdb\x25\x4d" } , { "\xcf\xe8\xd5\xdb" , "\xcc\x25" } , { "\xcf\xe8\xd5\xdb\xa2" , "\xcc\x25\x4d" } , { "\xcf\xe8\xd5\xdc" , "\xcc\x25\xde" } , { "\xcf\xe8\xd5\xdd" , "\xcb\xda\xdf\x25" } , { "\xcf\xe8\xd5\xe0" , "\xcb\xe6\x25" } , { "\xcf\xe8\xd5\xe1" , "\xcb\xe6\x25\xde" } , { "\xcf\xe8\xd5\xe1\xa2" , "\xcb\xe6\x25\xde\x4d" } , { "\xcf\xe8\xd5\xe5" , "\xcb\xe6\xe0\x25\xde" } , { "\xcf\xe8\xd5\xe5\xa2" , "\xcb\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xd5\xe8\xcd" , "\xcb\xda\xc0\x25" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\xcb\xda\xc0\x25\x4d" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\xcb\xdb\xc0\x25" } , { "\xcf\xe8\xd5\xe8\xcf" , "\xcb\xda\xc3\x25" } , { "\xcf\xe8\xd5\xe8\xd4" , "\xcb\xda\xca\x25" } , { "\xcf\xe8\xd5\xe8\xd4\xa2" , "\xcb\xda\xca\x25\x4d" } , { "\xcf\xe8\xd5\xe8\xd4\xda" , "\xcb\xdb\xca\x25" } , { "\xcf\xe8\xd5\xe8\xd4\xda\xa2" , "\xcb\xdb\xca\x25\x4d" } , { "\xcf\xe8\xd5\xe8\xd4\xdb" , "\xcc\xca\x25" } , { "\xcf\xe8\xd5\xe8\xd4\xe5" , "\xcb\xe6\xe0\xca\x25\xde" } , { "\xcf\xe8\xd5\xe8\xd4\xe5\xa2" , "\xcb\xe6\xe0\xca\x25\xde\x4d" } , { "\xcf\xe8\xd5\xe8\xd5" , "\xcb\xda\xcd\x25" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\xcb\xda\x42" } , { "\xcf\xe8\xd5\xe8\xd9\xd4" , "\xcb\xda\xc8\xda" } , { "\xcf\xe8\xd6" , "\xce\xda\x25" } , { "\xcf\xe8\xd6\xa1" , "\xce\xda\x25\x4d" } , { "\xcf\xe8\xd6\xa2" , "\xce\xda\x25\x4d" } , { "\xcf\xe8\xd6\xda" , "\xce\xdb\x25" } , { "\xcf\xe8\xd6\xda\xa2" , "\xce\xdb\x25\x4d" } , { "\xcf\xe8\xd6\xdb" , "\xcf\x25" } , { "\xcf\xe8\xd6\xdb\xa2" , "\xcf\x25\x4d" } , { "\xcf\xe8\xd6\xdc" , "\xcf\x25\xde" } , { "\xcf\xe8\xd6\xdd" , "\xce\xda\xdf\x25" } , { "\xcf\xe8\xd6\xe0" , "\xce\xe6\x25" } , { "\xcf\xe8\xd6\xe1" , "\xce\xe6\x25\xde" } , { "\xcf\xe8\xd6\xe2" , "\xce\xe6\x25\xe7" } , { "\xcf\xe8\xd6\xe5" , "\xce\xe6\xe0\x25\xde" } , { "\xcf\xe8\xd6\xe5\xa2" , "\xce\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\xcf\x51\x25" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\xce\xe6\xe0\x51\x25\xde" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\xce\xe6\x58\x25\xde" } , { "\xcf\xe8\xd6\xe8\xbd" , "\xce\xda\x6f\x25" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\xce\xda\x6f\xf1\x25" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\xcf\x6f\xf1\x25\xde" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\xcf\x7c\x25" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\xce\xe6\x7c\x25\xde" } , { "\xcf\xe8\xd6\xe8\xcd" , "\xce\xda\xc0\x25" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\xce\xdb\xc0\x25" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\xce\xe6\xc0\x25\xde" } , { "\xcf\xe8\xd7" , "\xd1\xda\x25" } , { "\xcf\xe8\xd7\xa2" , "\xd1\xda\x25\x4d" } , { "\xcf\xe8\xd7\xda" , "\xd1\xdb\x25" } , { "\xcf\xe8\xd7\xda\xa2" , "\xd1\xdb\x25\x4d" } , { "\xcf\xe8\xd7\xdb" , "\xd2\x25" } , { "\xcf\xe8\xd7\xdb\xa2" , "\xd2\x25\x4d" } , { "\xcf\xe8\xd7\xdc" , "\xd2\x25\xde" } , { "\xcf\xe8\xd7\xdd" , "\xd1\xda\xdf\x25" } , { "\xcf\xe8\xd7\xde" , "\xd1\xda\xe0\x25" } , { "\xcf\xe8\xd7\xdf" , "\xd1\xda\x25\xe4" } , { "\xcf\xe8\xd7\xe0" , "\xd1\xe6\x25" } , { "\xcf\xe8\xd7\xe0\xa2" , "\xd1\xe6\x25\x4d" } , { "\xcf\xe8\xd7\xe1" , "\xd1\xe6\x25\xde" } , { "\xcf\xe8\xd7\xe1\xa2" , "\xd1\xe6\x25\xde\x4d" } , { "\xcf\xe8\xd7\xe2" , "\xd1\xe6\x25\xe7" } , { "\xcf\xe8\xd7\xe5" , "\xd1\xe6\xe0\x25\xde" } , { "\xcf\xe8\xd7\xe5\xa2" , "\xd1\xe6\xe0\x25\xde\x4d" } , { "\xcf\xe8\xd7\xe8" , "\xd1\xe9\x25" } , { "\xcf\xe8\xd7\xe8\xb3" , "\xd1\xda\x51\x25" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\xd1\xdb\x51\x25" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\xd2\x51\x25" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\xd2\x51\x25\xde" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\xd1\xda\xdf\x51\x25" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\xd1\xdb\x58\x25" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\xd1\xe6\x60\x25\xde" } , { "\xcf\xe8\xd7\xe8\xbd" , "\xd1\xda\x6f\x25" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\xd1\xdb\x6f\x25" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\xd1\xdb\x6f\x25\x4d" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\xd2\x6f\x25" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\xd1\xda\xdf\x6f\x25" } , { "\xcf\xe8\xd7\xe8\xbd\xe0" , "\xd1\xe6\x6f\x25" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\xd1\xe6\x6f\x25\xde" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\xd1\xe6\x6f\x25\x3e\xe7" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\xd1\xe9\x6f\x25" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xd1\xdb\x6f\xf1\x25\x4d" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\xc1\xe9\xd1\xda\x6f\x3e\xd3\xfe\xa4" } , { "\xcf\xe8\xd7\xe8\xbf" , "\xd1\xda\x75\x25" } , { "\xcf\xe8\xd7\xe8\xbf\xe0" , "\xd1\xe6\x75\x25" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\xd1\xe9\x75\x25" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\xd1\xda\xdf\xa1\x25" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\xd1\xe6\xe0\xa1\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\xd1\xdb\xa4\x25" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\xd2\xa4\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xd1\xdb\xa7\xf5\xca\x25" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\xd2\xad\x25" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\xd2\xad\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\xd1\xda\xdf\xad\x25" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\xd1\xda\xdf\xad\x25\x4d" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\xd1\xe6\xad\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc8" , "\xd1\xda\xb0\x25" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\xd1\xdb\xb0\x25" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\xd2\xb0\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\xd1\xda\xe0\xb0\x25" } , { "\xcf\xe8\xd7\xe8\xc8\xe0" , "\xd1\xe6\xb0\x25" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\xd1\xe6\xe0\xb0\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\xd1\xe6\xe0\xb0\xf1\x25\xde" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xd1\xdb\xb0\xfe\xc7\x25" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\xd2\xb0\xfe\xc7\x25" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\xd1\xdb\xb5\x3d\xc0\x25" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\xd2\xb5\xfe\xc7\x25" } , { "\xcf\xe8\xd7\xe8\xca" , "\xd1\xda\xb9\x25" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\xd1\xe6\xe0\xb9\x25\xde" } , { "\xcf\xe8\xd7\xe8\xcc\xe0\xa2" , "\xd1\xe6\xbd\x25\x4d" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\xd1\xe6\xe0\xbd\x25\xde" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\xd1\xda\xe0\xc0\x25" } , { "\xcf\xe8\xd7\xe8\xd1" , "\xd1\xda\xc7\x25" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\xd2\xc7\x25" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\xd2\xc7\x25\xde" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\xd1\xda\xdf\xc7\x25" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\xd1\xe6\xe0\xc7\x25\xde" } , { "\xcf\xe8\xd7\xe8\xd4" , "\xd1\xda\xca\x25" } , { "\xcf\xe8\xd7\xe8\xd4\xda" , "\xd1\xdb\xca\x25" } , { "\xcf\xe8\xd7\xe8\xd4\xdb" , "\xd2\xca\x25" } , { "\xcf\xe8\xd7\xe8\xd4\xe0" , "\xd1\xe6\xca\x25" } , { "\xcf\xe8\xd7\xe8\xd4\xe2" , "\xd1\xe6\xca\x25\x3e\xe7" } , { "\xcf\xe8\xd7\xe8\xd7" , "\xd1\xda\xd3\x25" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\xd1\xdb\xd3\x25" } , { "\xcf\xe8\xd8" , "\xd4\xda\x25" } , { "\xcf\xe8\xd8\xa2" , "\xd4\xda\x25\x4d" } , { "\xcf\xe8\xd8\xda" , "\xd4\xdb\x25" } , { "\xcf\xe8\xd8\xda\xa2" , "\xd4\xdb\x25\x4d" } , { "\xcf\xe8\xd8\xdb" , "\xd5\x25" } , { "\xcf\xe8\xd8\xdb\xa2" , "\xd5\x25\x4d" } , { "\xcf\xe8\xd8\xdc" , "\xd5\x25\xde" } , { "\xcf\xe8\xd8\xdd" , "\xd4\xda\xdf\x25" } , { "\xcf\xe8\xd8\xe0" , "\xd4\xe6\x25" } , { "\xcf\xe8\xd8\xe1" , "\xd4\xe6\x25\xde" } , { "\xcf\xe8\xd8\xe1\xa2" , "\xd4\xe6\x25\xde\x4d" } , { "\xcf\xe8\xd8\xe5" , "\xd4\xe6\xe0\x25\xde" } , { "\xcf\xe8\xd8\xe6" , "\xd4\xe8\x25" } , { "\xcf\xe8\xd8\xe8\xc4" , "\xd4\xda\xa7\x25" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\xd4\xdb\xad\x25" } , { "\xcf\xe8\xd8\xe8\xcd" , "\xd4\xda\xc0\x25" } , { "\xcf\xe8\xe8" , "\xc1\xe9" } , { "\xcf\xe9" , "\xc1\xda" } , { "\xd0" , "\xc1\xda" } , { "\xd0\xa2" , "\xc1\xda\x4d" } , { "\xd0\xb3" , "\xc1\xda\x4f\xda" } , { "\xd0\xb3\xe8\xd6\xda" , "\xc1\xda\x4f\xdb\xd0" } , { "\xd0\xb4" , "\xc1\xda\x52" } , { "\xd0\xb4\xda" , "\xc1\xda\x53\xdb" } , { "\xd0\xb4\xe1" , "\xc1\xda\x53\xe6\xde" } , { "\xd0\xbf" , "\xc1\xda\x73\xda" } , { "\xd0\xc3" , "\xc1\xda\xa2\xda" } , { "\xd0\xc4\xdf" , "\xc1\xda\xa5\xda\xe4" } , { "\xd0\xca\xde" , "\xc1\xda\xb6\xe0" } , { "\xd0\xcc" , "\xc1\xda\xc8\xda\xdf" } , { "\xd0\xd0\xd7" , "\xc1\xda\xc1\xda\xd1\xda" } , { "\xd0\xd4" , "\xc1\xda\xc8\xda" } , { "\xd0\xd8" , "\xc1\xda\xd4\xda" } , { "\xd0\xd8\xe1" , "\xc1\xda\xd4\xe6\xde" } , { "\xd0\xda" , "\xc1\xdb" } , { "\xd0\xdb" , "\xc2" } , { "\xd0\xdd" , "\xc1\xda\xdf" } , { "\xd0\xdd\xa2" , "\xc1\xda\xdf\x4d" } , { "\xd0\xe0" , "\xc1\xe6" } , { "\xd0\xe0\xa2" , "\xc1\xe6\x4d" } , { "\xd0\xe1" , "\xc1\xe6\xde" } , { "\xd0\xe4" , "\xc1\xe6\xe0" } , { "\xd0\xe5" , "\xc1\xe6\xe0\xde" } , { "\xd0\xe8\xd1\xdd" , "\xc1\xda\xdf\xc7" } , { "\xd1" , "\xc4" } , { "\xd1\xa1" , "\xc4\x4d" } , { "\xd1\xa1\xa2" , "\xc4\x4d\x4d" } , { "\xd1\xa2" , "\xc4\x4d" } , { "\xd1\xa2\xa2" , "\xc4\x4d\x4d" } , { "\xd1\xa3" , "\xc4\x4e" } , { "\xd1\xd9" , "\xc4\xda" } , { "\xd1\xda" , "\xc5\xdb" } , { "\xd1\xda\xa1" , "\xc5\xdb\x4d" } , { "\xd1\xda\xa2" , "\xc5\xdb\x4d" } , { "\xd1\xda\xa3" , "\xc5\xdb\x4e" } , { "\xd1\xdb" , "\xc6" } , { "\xd1\xdb\xa1" , "\xc6\x4d" } , { "\xd1\xdb\xa2" , "\xc6\x4d" } , { "\xd1\xdb\xa3" , "\xc6\x4e" } , { "\xd1\xdb\xce\xe1" , "\xc6\xbe\xe6\xdf\xde" } , { "\xd1\xdc" , "\xc6\xde" } , { "\xd1\xdc\xa2" , "\xc6\xde\x4d" } , { "\xd1\xdd" , "\xc4\xdf" } , { "\xd1\xdd\xa2" , "\xc4\xdf\x4d" } , { "\xd1\xdd\xa3" , "\xc4\xdf\x4e" } , { "\xd1\xde" , "\xc4\xe0" } , { "\xd1\xde\xa1" , "\xc4\xe0\x4d" } , { "\xd1\xde\xa2" , "\xc4\xe0\x4d" } , { "\xd1\xdf" , "\xc4\xe4" } , { "\xd1\xe0" , "\xc5\xe6" } , { "\xd1\xe0\xa2" , "\xc5\xe6\x4d" } , { "\xd1\xe1" , "\xc5\xe6\xde" } , { "\xd1\xe1\xa2" , "\xc5\xe6\xde\x4d" } , { "\xd1\xe2" , "\xc5\xe6\xe7" } , { "\xd1\xe2\xa2" , "\xc5\xe6\xe7\x4d" } , { "\xd1\xe2\xa3" , "\xc5\xe6\xe7\x4e" } , { "\xd1\xe4" , "\xc5\xe6\xe0" } , { "\xd1\xe4\xa2" , "\xc5\xe6\xe0\x4d" } , { "\xd1\xe5" , "\xc5\xe6\xe0\xde" } , { "\xd1\xe5\xa2" , "\xc5\xe6\xe0\xde\x4d" } , { "\xd1\xe6" , "\xc5\xe8" } , { "\xd1\xe6\xa2" , "\xc5\xe8\x4d" } , { "\xd1\xe7" , "\xc5\xe6\xe0" } , { "\xd1\xe7\xa2" , "\xc5\xe6\xe0\x4d" } , { "\xd1\xe8" , "\xc5\xe9" } , { "\xd1\xe8\xb3" , "\xc4\x51" } , { "\xd1\xe8\xb3\xa2" , "\xc4\x51\x4d" } , { "\xd1\xe8\xb3\xda" , "\xc5\xdb\x51" } , { "\xd1\xe8\xb3\xda\xa2" , "\xc5\xdb\x51\x4d" } , { "\xd1\xe8\xb3\xdb" , "\xc6\x51" } , { "\xd1\xe8\xb3\xdb\xa2" , "\xc6\x51\x4d" } , { "\xd1\xe8\xb3\xdc" , "\xc6\x51\xde" } , { "\xd1\xe8\xb3\xdd" , "\xc4\xdf\x51" } , { "\xd1\xe8\xb3\xdd\xa2" , "\xc4\xdf\x51\x4d" } , { "\xd1\xe8\xb3\xde" , "\xc4\xe0\x51" } , { "\xd1\xe8\xb3\xe0" , "\xc5\xe6\x51" } , { "\xd1\xe8\xb3\xe1" , "\xc5\xe6\x51\xde" } , { "\xd1\xe8\xb3\xe2" , "\xc5\xe6\x51\xfd\xe7" } , { "\xd1\xe8\xb3\xe4" , "\xc5\xe6\xe0\x51" } , { "\xd1\xe8\xb3\xe4\xa2" , "\xc5\xe6\xe0\x51\x4d" } , { "\xd1\xe8\xb3\xe5" , "\xc5\xe6\xe0\x51\xde" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xc5\xe6\xe0\x51\xde\x4d" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xc5\xe8\x51\x4d" } , { "\xd1\xe8\xb3\xe7" , "\xc5\xe6\xe0\x51" } , { "\xd1\xe8\xb3\xe8" , "\xc5\xe9\x51" } , { "\xd1\xe8\xb3\xe8\xb8\xe4" , "\xc5\xe6\xe0\x51\xfd\x60" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\xc5\xdb\x51\xfd\x6f\xf1" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\xc5\xdb\x51\xfa\xa7" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\xc4\xdf\x51\xfa\xa7\xf4\xc0" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\xc4\xdf\x51\xfd\xad" } , { "\xd1\xe8\xb3\xe8\xcd" , "\xc4\x51\xfc\xc0" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\xc5\xdb\x51\xfc\xc0" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\xc4\xdf\x51\xfc\xc0" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\xc4\xe0\x51\xfc\xc0" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\xc6\x51\xf0" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\xc6\x51\xf0\x4d" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\xc6\x51\xf0\xde" } , { "\xd1\xe8\xb3\xe8\xcf\xe0" , "\xc5\xe6\x51\xf0" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\xc5\xe6\x51\xf0\x3e\xe7" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xc5\xe6\xe0\x51\xf0\xde" } , { "\xd1\xe8\xb3\xe8\xd1" , "\xc4\x51\xfa\xc7" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\xc5\xdb\x51\xfa\xc7" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xc5\xe6\x51\xfa\xc7\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xc5\xe6\xe0\x51\xfa\xc7\xde" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\xc4\xdf\x51\xfd\xd0" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\xc5\xe9\x51\xfd\xd3" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xc4\xdf\x51\xfd\xd3\x3e\xad" } , { "\xd1\xe8\xb3\xe8\xd8" , "\xc4\x51\xfb\xd6" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\xc5\xdb\x51\xfb\xd6" } , { "\xd1\xe8\xb4" , "\xc4\x55" } , { "\xd1\xe8\xb4\xa2" , "\xc4\x55\x4d" } , { "\xd1\xe8\xb4\xda" , "\xc5\xdb\x55" } , { "\xd1\xe8\xb4\xdb" , "\xc6\x55" } , { "\xd1\xe8\xb4\xdc" , "\xc6\x55\xde" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\xc4\x55\xf5\xbc\xf1" } , { "\xd1\xe8\xb5" , "\xc4\x58" } , { "\xd1\xe8\xb5\xa2" , "\xc4\x58\x4d" } , { "\xd1\xe8\xb5\xda" , "\xc5\xdb\x58" } , { "\xd1\xe8\xb5\xda\xa2" , "\xc5\xdb\x58\x4d" } , { "\xd1\xe8\xb5\xdb" , "\xc6\x58" } , { "\xd1\xe8\xb5\xdb\xa2" , "\xc6\x58\x4d" } , { "\xd1\xe8\xb5\xdc" , "\xc6\x58\xde" } , { "\xd1\xe8\xb5\xdd" , "\xc4\xdf\x58" } , { "\xd1\xe8\xb5\xdd\xa2" , "\xc4\xdf\x58\x4d" } , { "\xd1\xe8\xb5\xde" , "\xc4\xe0\x58" } , { "\xd1\xe8\xb5\xe0" , "\xc5\xe6\x58" } , { "\xd1\xe8\xb5\xe1" , "\xc5\xe6\x58\xde" } , { "\xd1\xe8\xb5\xe2" , "\xc5\xe6\x58\xf5\xe7" } , { "\xd1\xe8\xb5\xe4" , "\xc5\xe6\xe0\x58" } , { "\xd1\xe8\xb5\xe4\xa2" , "\xc5\xe6\xe0\x58\x4d" } , { "\xd1\xe8\xb5\xe5" , "\xc5\xe6\xe0\x58\xde" } , { "\xd1\xe8\xb5\xe6" , "\xc5\xe8\x58" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\xc4\x58\xf0\x4d" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\xc5\xdb\x58\xf0" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\xc5\xdb\x58\xf0\x4d" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\xc6\x58\xf0" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\xc4\xe0\x58\xf0" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\xc5\xdb\x58\xf2\xc7" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\xc5\xdb\x58\xf2\xc7\x4d" } , { "\xd1\xe8\xb6" , "\xc4\x5b" } , { "\xd1\xe8\xb8" , "\xc4\x60" } , { "\xd1\xe8\xb8\xa2" , "\xc4\x60\x4d" } , { "\xd1\xe8\xb8\xda" , "\xc5\xdb\x60" } , { "\xd1\xe8\xb8\xdb" , "\xc6\x60" } , { "\xd1\xe8\xb8\xdb\xa2" , "\xc6\x60\x4d" } , { "\xd1\xe8\xb8\xdc" , "\xc6\x60\xde" } , { "\xd1\xe8\xb8\xdd" , "\xc4\xdf\x60" } , { "\xd1\xe8\xb8\xdd\xa2" , "\xc4\xdf\x60\x4d" } , { "\xd1\xe8\xb8\xde" , "\xc4\xe0\x60" } , { "\xd1\xe8\xb8\xe0" , "\xc5\xe6\x60" } , { "\xd1\xe8\xb8\xe1" , "\xc5\xe6\x60\xde" } , { "\xd1\xe8\xb8\xe4" , "\xc5\xe6\xe0\x60" } , { "\xd1\xe8\xb8\xe4\xa2" , "\xc5\xe6\xe0\x60\x4d" } , { "\xd1\xe8\xb8\xe5" , "\xc5\xe6\xe0\x60\xde" } , { "\xd1\xe8\xb8\xe6" , "\xc5\xe8\x60" } , { "\xd1\xe8\xb9\xdd" , "\xc4\xdf\x63" } , { "\xd1\xe8\xba" , "\xc4\x67" } , { "\xd1\xe8\xba\xda" , "\xc5\xdb\x67" } , { "\xd1\xe8\xba\xdb" , "\xc6\x67" } , { "\xd1\xe8\xba\xdc" , "\xc6\x67\xde" } , { "\xd1\xe8\xba\xdd" , "\xc4\xdf\x67" } , { "\xd1\xe8\xba\xde" , "\xc4\xe0\x67" } , { "\xd1\xe8\xba\xe0" , "\xc5\xe6\x67" } , { "\xd1\xe8\xba\xe1" , "\xc5\xe6\x67\xde" } , { "\xd1\xe8\xba\xe8" , "\xc5\xe9\x67" } , { "\xd1\xe8\xba\xe9" , "\xc4\x67" } , { "\xd1\xe8\xba\xe9\xda" , "\xc5\xdb\x67" } , { "\xd1\xe8\xbb\xda" , "\xc5\xdb\x24" } , { "\xd1\xe8\xbb\xdc" , "\xc6\x69\xde" } , { "\xd1\xe8\xbd" , "\xc4\x6f" } , { "\xd1\xe8\xbd\xa2" , "\xc4\x6f\x4d" } , { "\xd1\xe8\xbd\xda" , "\xc5\xdb\x6f" } , { "\xd1\xe8\xbd\xdb" , "\xc6\x6f" } , { "\xd1\xe8\xbd\xdb\xa2" , "\xc6\x6f\x4d" } , { "\xd1\xe8\xbd\xdc" , "\xc6\x6f\xde" } , { "\xd1\xe8\xbd\xdd" , "\xc4\xdf\x6f" } , { "\xd1\xe8\xbd\xdd\xa2" , "\xc4\xdf\x6f\x4d" } , { "\xd1\xe8\xbd\xde" , "\xc4\xe0\x6f" } , { "\xd1\xe8\xbd\xe0" , "\xc5\xe6\x6f" } , { "\xd1\xe8\xbd\xe0\xa2" , "\xc5\xe6\x6f\x4d" } , { "\xd1\xe8\xbd\xe1" , "\xc5\xe6\x6f\xde" } , { "\xd1\xe8\xbd\xe2" , "\xc5\xe6\x6f\x3e\xe7" } , { "\xd1\xe8\xbd\xe4" , "\xc5\xe6\xe0\x6f" } , { "\xd1\xe8\xbd\xe5" , "\xc5\xe6\xe0\x6f\xde" } , { "\xd1\xe8\xbd\xe5\xa2" , "\xc5\xe6\xe0\x6f\xde\x4d" } , { "\xd1\xe8\xbd\xe8" , "\xc5\xe9\x6f" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\xc5\xdb\x6f\xfe\x58" } , { "\xd1\xe8\xbd\xe8\xba" , "\xc4\x6f\xfe\x67" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\xc5\xe9\x6f\xfe\x67" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\xc4\x6f\xfe\x67\xf4\xbd" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\xc4\xdf\x6f\x3e\xad" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\xc6\x6f\x3e\xb0\xde" } , { "\xd1\xe8\xbd\xe8\xcc" , "\xc4\x6f\x3d\xbd" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\xc6\x6f\x3d\xbd\xde" } , { "\xd1\xe8\xbd\xe8\xcf" , "\xc4\x6f\xf1" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\xc5\xdb\x6f\xf1" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\xc6\x6f\xf1" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\xc6\x6f\xf1\xde" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\xc5\xe6\x6f\xf1\xde" } , { "\xd1\xe8\xbd\xe8\xd1" , "\xc4\x6f\xfe\xc7" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\xc4\xdf\x6f\xfe\xc7" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\xc5\xe6\xe0\x6f\xfe\xc7\xde" } , { "\xd1\xe8\xbd\xe8\xd4\xa2" , "\xc4\x6f\x3e\xca\x4d" } , { "\xd1\xe8\xbd\xe8\xd4\xe2" , "\xc5\xe6\x6f\x3e\xca\x3e\xe7" } , { "\xd1\xe8\xbd\xe8\xd7" , "\xc4\x6f\x3e\xd3" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\xc4\xdf\x6f\x3e\xd3" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\xc5\xe9\x6f\x3e\xd3" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\xc5\xdb\x6f\x3e\xd3\x3e\xb0" } , { "\xd1\xe8\xbf" , "\xc4\x75" } , { "\xd1\xe8\xbf\xa2" , "\xc4\x75\x4d" } , { "\xd1\xe8\xbf\xda" , "\xc5\xdb\x75" } , { "\xd1\xe8\xbf\xdb" , "\xc6\x75" } , { "\xd1\xe8\xbf\xdb\xa2" , "\xc6\x75\x4d" } , { "\xd1\xe8\xbf\xdc" , "\xc6\x75\xde" } , { "\xd1\xe8\xbf\xdd" , "\xc4\xdf\x75" } , { "\xd1\xe8\xbf\xde" , "\xc4\xe0\x75" } , { "\xd1\xe8\xbf\xe0" , "\xc5\xe6\x75" } , { "\xd1\xe8\xbf\xe0\xa2" , "\xc5\xe6\x75\x4d" } , { "\xd1\xe8\xbf\xe1" , "\xc5\xe6\x75\xde" } , { "\xd1\xe8\xbf\xe4" , "\xc5\xe6\xe0\x75" } , { "\xd1\xe8\xbf\xe5" , "\xc5\xe6\xe0\x75\xde" } , { "\xd1\xe8\xbf\xe7" , "\xc5\xe6\xe0\x75" } , { "\xd1\xe8\xbf\xe8" , "\xc5\xe9\x75" } , { "\xd1\xe8\xbf\xe8\xb3" , "\xc4\x75\xf4\x51" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\xc4\xdf\x75\xf4\x51" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\xc6\x75\xf4\x51\xf0\xde" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\xc5\xdb\x75\xf2\x58" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\xc5\xe6\x75\xf2\x58\xde" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\xc5\xe6\xe0\x75\xf2\x58\xde" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\xc5\xe6\x75\xf5\x6f\x3e\xe7" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\xc5\xe8\x75\xf2\x75" } , { "\xd1\xe8\xbf\xe8\xc2" , "\xc4\x75\xf2\xa1" } , { "\xd1\xe8\xbf\xe8\xc8" , "\xc4\x75\xf5\xb0" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\xc6\x75\xf5\xb5\x4d" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\xc5\xe6\xe0\x75\xf5\xb5\xde" } , { "\xd1\xe8\xbf\xe8\xca\xe8\xcf\xe0" , "\xc5\xe6\x75\xf5\xb9\xf1" } , { "\xd1\xe8\xbf\xe8\xcc" , "\xc4\x75\xf4\xbd" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\xc5\xdb\x75\xf4\xbd" } , { "\xd1\xe8\xbf\xe8\xcc\xe0" , "\xc5\xe6\x75\xf4\xbd" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\xc5\xe6\x75\xf4\xbd\xde" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\xc4\xe0\x75\xf4\xc0" } , { "\xd1\xe8\xbf\xe8\xcf" , "\xc4\x75\xf0" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\xc6\x75\xf0" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\xc6\x75\xf0\x4d" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\xc6\x75\xf0\xde" } , { "\xd1\xe8\xbf\xe8\xcf\xe0" , "\xc5\xe6\x75\xf0" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\xc5\xe6\x75\xf0\xde" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\xc5\xe6\x75\xf0\x3e\xe7" } , { "\xd1\xe8\xbf\xe8\xd1" , "\xc4\x75\xf2\xc7" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\xc4\xdf\x75\xf2\xc7" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\xc4\xe0\x75\xf2\xc7" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\xc5\xe6\xe0\x75\xf2\xc7\xde" } , { "\xd1\xe8\xbf\xe8\xd4\xdb" , "\xc6\x75\xf5\xca" } , { "\xd1\xe8\xbf\xe8\xd4\xe0" , "\xc5\xe6\x75\xf5\xca" } , { "\xd1\xe8\xbf\xe8\xd4\xe8\xd1\xe8" , "\xc5\xe9\x73\xe9\xca\xfe\xc7" } , { "\xd1\xe8\xbf\xe8\xd7" , "\xc4\x75\xf5\xd3" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\xc5\xe9\x75\xf5\xd3" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\xc6\x75\xf5\xd3\x3e\x6f\xde" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\xc5\xe6\x75\xf5\xd3\x3e\x6f\x3e\xe7" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\xc5\xdb\x75\xf5\xd3\x3e\xb0" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\xc5\xdb\x75\xf5\xd3\x3e\xb5" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\xc6\x75\xf5\xd3\x3d\xbd" } , { "\xd1\xe8\xbf\xe9" , "\xc4\x75" } , { "\xd1\xe8\xc0\xda" , "\xc5\xdb\x78" } , { "\xd1\xe8\xc1" , "\xc4\x7c" } , { "\xd1\xe8\xc2" , "\xc4\xa1" } , { "\xd1\xe8\xc2\xda" , "\xc5\xdb\xa1" } , { "\xd1\xe8\xc2\xda\xa2" , "\xc5\xdb\xa1\x4d" } , { "\xd1\xe8\xc2\xdb" , "\xc6\xa1" } , { "\xd1\xe8\xc2\xdb\xa2" , "\xc6\xa1\x4d" } , { "\xd1\xe8\xc2\xdc" , "\xc6\xa1\xde" } , { "\xd1\xe8\xc2\xdd" , "\xc4\xdf\xa1" } , { "\xd1\xe8\xc2\xdd\xa2" , "\xc4\xdf\xa1\x4d" } , { "\xd1\xe8\xc2\xde" , "\xc4\xe0\xa1" } , { "\xd1\xe8\xc2\xe0" , "\xc5\xe6\xa1" } , { "\xd1\xe8\xc2\xe1" , "\xc5\xe6\xa1\xde" } , { "\xd1\xe8\xc2\xe4" , "\xc5\xe6\xe0\xa1" } , { "\xd1\xe8\xc2\xe5" , "\xc5\xe6\xe0\xa1\xde" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xc5\xe6\xe0\xa1\xde\x4d" } , { "\xd1\xe8\xc2\xe8" , "\xc5\xe9\xa1" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\xc4\xa1\xf4\x51\xfa\xc7" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\xc5\xdb\xa1\xf5\xb9\xfe\xc7" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\xc4\xa1\xf4\xbd\x4d" } , { "\xd1\xe8\xc3" , "\xc4\xa4" } , { "\xd1\xe8\xc3\xda" , "\xc5\xdb\xa4" } , { "\xd1\xe8\xc3\xdc" , "\xc6\xa4\xde" } , { "\xd1\xe8\xc3\xdd" , "\xc4\xdf\xa4" } , { "\xd1\xe8\xc3\xde" , "\xc4\xe0\xa4" } , { "\xd1\xe8\xc4" , "\xc4\xa7" } , { "\xd1\xe8\xc4\xa2" , "\xc4\xa7\x4d" } , { "\xd1\xe8\xc4\xda" , "\xc5\xdb\xa7" } , { "\xd1\xe8\xc4\xda\xa2" , "\xc5\xdb\xa7\x4d" } , { "\xd1\xe8\xc4\xdb" , "\xc6\xa7" } , { "\xd1\xe8\xc4\xdc" , "\xc6\xa7\xde" } , { "\xd1\xe8\xc4\xdd" , "\xc4\xdf\xa7" } , { "\xd1\xe8\xc4\xe1" , "\xc5\xe6\xa7\xde" } , { "\xd1\xe8\xc4\xe1\xa2" , "\xc5\xe6\xa7\xde\x4d" } , { "\xd1\xe8\xc4\xe4" , "\xc5\xe6\xe0\xa7" } , { "\xd1\xe8\xc4\xe5" , "\xc5\xe6\xe0\xa7\xde" } , { "\xd1\xe8\xc4\xe5\xa2" , "\xc5\xe6\xe0\xa7\xde\x4d" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\xc5\xe6\xa7\xf0\xde" } , { "\xd1\xe8\xc4\xe8\xd4\xda" , "\xc5\xdb\xa7\xf5\xca" } , { "\xd1\xe8\xc5" , "\xc4\xaa" } , { "\xd1\xe8\xc5\xda" , "\xc5\xdb\xaa" } , { "\xd1\xe8\xc5\xdb" , "\xc6\xaa" } , { "\xd1\xe8\xc6" , "\xc4\xad" } , { "\xd1\xe8\xc6\xa2" , "\xc4\xad\x4d" } , { "\xd1\xe8\xc6\xda" , "\xc5\xdb\xad" } , { "\xd1\xe8\xc6\xdb" , "\xc6\xad" } , { "\xd1\xe8\xc6\xdb\xa2" , "\xc6\xad\x4d" } , { "\xd1\xe8\xc6\xdc" , "\xc6\xad\xde" } , { "\xd1\xe8\xc6\xdd" , "\xc4\xdf\xad" } , { "\xd1\xe8\xc6\xdd\xa2" , "\xc4\xdf\xad\x4d" } , { "\xd1\xe8\xc6\xde" , "\xc4\xe0\xad" } , { "\xd1\xe8\xc6\xe0" , "\xc5\xe6\xad" } , { "\xd1\xe8\xc6\xe0\xa2" , "\xc5\xe6\xad\x4d" } , { "\xd1\xe8\xc6\xe1" , "\xc5\xe6\xad\xde" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xc5\xe6\xad\xde\x4d" } , { "\xd1\xe8\xc6\xe2" , "\xc5\xe6\xad\x3e\xe7" } , { "\xd1\xe8\xc6\xe5" , "\xc5\xe6\xe0\xad\xde" } , { "\xd1\xe8\xc6\xe8" , "\xc5\xe9\xad" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\xc4\xdf\xad\x3d\x51" } , { "\xd1\xe8\xc8" , "\xc4\xb0" } , { "\xd1\xe8\xc8\xa2" , "\xc4\xb0\x4d" } , { "\xd1\xe8\xc8\xda" , "\xc5\xdb\xb0" } , { "\xd1\xe8\xc8\xda\xa2" , "\xc5\xdb\xb0\x4d" } , { "\xd1\xe8\xc8\xda\xa3" , "\xc5\xdb\xb0\x4e" } , { "\xd1\xe8\xc8\xdb" , "\xc6\xb0" } , { "\xd1\xe8\xc8\xdb\xa2" , "\xc6\xb0\x4d" } , { "\xd1\xe8\xc8\xdc" , "\xc6\xb0\xde" } , { "\xd1\xe8\xc8\xdc\xa2" , "\xc6\xb0\xde\x4d" } , { "\xd1\xe8\xc8\xdd" , "\xc4\xdf\xb0" } , { "\xd1\xe8\xc8\xdd\xa2" , "\xc4\xdf\xb0\x4d" } , { "\xd1\xe8\xc8\xde" , "\xc4\xe0\xb0" } , { "\xd1\xe8\xc8\xe0" , "\xc5\xe6\xb0" } , { "\xd1\xe8\xc8\xe0\xa2" , "\xc5\xe6\xb0\x4d" } , { "\xd1\xe8\xc8\xe1" , "\xc5\xe6\xb0\xde" } , { "\xd1\xe8\xc8\xe1\xa2" , "\xc5\xe6\xb0\xde\x4d" } , { "\xd1\xe8\xc8\xe2" , "\xc5\xe6\xb0\x3e\xe7" } , { "\xd1\xe8\xc8\xe4" , "\xc5\xe6\xe0\xb0" } , { "\xd1\xe8\xc8\xe5" , "\xc5\xe6\xe0\xb0\xde" } , { "\xd1\xe8\xc8\xe5\xa2" , "\xc5\xe6\xe0\xb0\xde\x4d" } , { "\xd1\xe8\xc8\xe8" , "\xc5\xe9\xb0" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\xc5\xe6\xe0\xb0\xfe\x58\xde" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\xc4\xe0\xb0\x3d\xc0" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\xc5\xdb\xb0\xf1" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\xc6\xb0\xf1" } , { "\xd1\xe8\xc8\xe8\xcf\xe0" , "\xc5\xe6\xb0\xf1" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\xc5\xe6\xb0\xf1\x3e\xe7" } , { "\xd1\xe8\xc8\xe8\xcf\xe4" , "\xc5\xe6\xe0\xb0\xf1" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\xc5\xdb\xb0\xfe\xc7" } , { "\xd1\xe8\xc8\xe8\xd7" , "\xc4\xb0\x3e\xd3" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\xc5\xe9\xb0\x3e\xd3" } , { "\xd1\xe8\xc9" , "\xc4\xb5" } , { "\xd1\xe8\xc9\xa2" , "\xc4\xb5\x4d" } , { "\xd1\xe8\xc9\xda" , "\xc5\xdb\xb5" } , { "\xd1\xe8\xc9\xdb" , "\xc6\xb5" } , { "\xd1\xe8\xc9\xdb\xa2" , "\xc6\xb5\x4d" } , { "\xd1\xe8\xc9\xdc" , "\xc6\xb5\xde" } , { "\xd1\xe8\xc9\xdd" , "\xc4\xdf\xb5" } , { "\xd1\xe8\xc9\xde" , "\xc4\xe0\xb5" } , { "\xd1\xe8\xc9\xe0" , "\xc5\xe6\xb5" } , { "\xd1\xe8\xc9\xe1" , "\xc5\xe6\xb5\xde" } , { "\xd1\xe8\xc9\xe1\xa2" , "\xc5\xe6\xb5\xde\x4d" } , { "\xd1\xe8\xc9\xe2" , "\xc5\xe6\xb5\x3e\xe7" } , { "\xd1\xe8\xc9\xe4" , "\xc5\xe6\xe0\xb5" } , { "\xd1\xe8\xc9\xe5" , "\xc5\xe6\xe0\xb5\xde" } , { "\xd1\xe8\xc9\xe5\xa2" , "\xc5\xe6\xe0\xb5\xde\x4d" } , { "\xd1\xe8\xc9\xe7" , "\xc5\xe6\xe0\xb5" } , { "\xd1\xe8\xc9\xe8" , "\xc5\xe9\xb5" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\xc5\xe9\xb5\x3e\x6f" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\xc5\xdb\xb5\x3d\xbd" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\xc4\xdf\xb5\x3d\xc0" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\xc4\xe0\xb5\x3d\xc0" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\xc4\xb5\xf1\x4d" } , { "\xd1\xe8\xc9\xe8\xcf\xe0" , "\xc5\xe6\xb5\xf1" } , { "\xd1\xe8\xc9\xe8\xd1" , "\xc4\xb5\xfe\xc7" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\xc5\xe6\xb5\xfe\xc7\xf5\xe7" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\xc5\xe6\xe0\xb5\xfe\xc7\xde" } , { "\xd1\xe8\xc9\xe8\xd4\xdc" , "\xc6\xb5\x3e\xca\xde" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\xc5\xe9\xb5\x3e\xd3" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\xc6\xb5\x3c\xd6" } , { "\xd1\xe8\xca" , "\xc4\xb9" } , { "\xd1\xe8\xca\xa2" , "\xc4\xb9\x4d" } , { "\xd1\xe8\xca\xda" , "\xc5\xdb\xb9" } , { "\xd1\xe8\xca\xda\xa2" , "\xc5\xdb\xb9\x4d" } , { "\xd1\xe8\xca\xdb" , "\xc6\xb9" } , { "\xd1\xe8\xca\xdc" , "\xc6\xb9\xde" } , { "\xd1\xe8\xca\xdd" , "\xc4\xdf\xb9" } , { "\xd1\xe8\xca\xdf" , "\xc4\xb9\x3e\xe4" } , { "\xd1\xe8\xca\xe0" , "\xc5\xe6\xb9" } , { "\xd1\xe8\xca\xe1" , "\xc5\xe6\xb9\xde" } , { "\xd1\xe8\xca\xe2" , "\xc5\xe6\xb9\x3e\xe7" } , { "\xd1\xe8\xca\xe5" , "\xc5\xe6\xe0\xb9\xde" } , { "\xd1\xe8\xca\xe5\xa2" , "\xc5\xe6\xe0\xb9\xde\x4d" } , { "\xd1\xe8\xca\xe8" , "\xc5\xe9\xb9" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\xc4\xdf\xb9\x3d\x51" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\xc4\xdf\xb9\x3e\xad" } , { "\xd1\xe8\xca\xe8\xcd" , "\xc4\xb9\x3d\xc0" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\xc5\xdb\xb9\x3d\xc0" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\xc4\xdf\xb9\x3d\xc0" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\xc4\xe0\xb9\x3d\xc0" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\xc4\xe0\xb9\xf1" } , { "\xd1\xe8\xca\xe8\xcf\xe0" , "\xc5\xe6\xb9\xf1" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xc5\xe6\xb9\xf1\xde" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xc5\xe6\xe0\xb9\xf1\xde" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xc5\xe9\xb7\xe9\x6e\xd3\x3d\x51\x25" } , { "\xd1\xe8\xca\xe8\xd1" , "\xc4\xb9\xfe\xc7" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\xc4\xe0\xb9\xfe\xc7" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xc5\xe6\xe0\xb9\xfe\xc7\xde" } , { "\xd1\xe8\xca\xe8\xd4\xa2" , "\xc4\xb9\x3e\xca\x4d" } , { "\xd1\xe8\xcb" , "\xc4\xbc" } , { "\xd1\xe8\xcb\xa2" , "\xc4\xbc\x4d" } , { "\xd1\xe8\xcb\xda" , "\xc5\xdb\xbc" } , { "\xd1\xe8\xcb\xdb\xa2" , "\xc6\xbc\x4d" } , { "\xd1\xe8\xcb\xdd" , "\xc4\xdf\xbc" } , { "\xd1\xe8\xcb\xde" , "\xc4\xe0\xbc" } , { "\xd1\xe8\xcb\xe2" , "\xc5\xe6\xbc\x3e\xe7" } , { "\xd1\xe8\xcb\xe8\xcd" , "\xc4\xbc\x3d\xc0" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\xc4\xbc\x3d\xc0\x4d" } , { "\xd1\xe8\xcc" , "\xc4\xbd" } , { "\xd1\xe8\xcc\xa2" , "\xc4\xbd\x4d" } , { "\xd1\xe8\xcc\xda" , "\xc5\xdb\xbd" } , { "\xd1\xe8\xcc\xda\xa2" , "\xc5\xdb\xbd\x4d" } , { "\xd1\xe8\xcc\xdb" , "\xc6\xbd" } , { "\xd1\xe8\xcc\xdb\xa2" , "\xc6\xbd\x4d" } , { "\xd1\xe8\xcc\xdc" , "\xc6\xbd\xde" } , { "\xd1\xe8\xcc\xdd" , "\xc4\xdf\xbd" } , { "\xd1\xe8\xcc\xde" , "\xc4\xe0\xbd" } , { "\xd1\xe8\xcc\xdf" , "\xc4\xbd\xfd\xe4" } , { "\xd1\xe8\xcc\xe0" , "\xc5\xe6\xbd" } , { "\xd1\xe8\xcc\xe0\xa2" , "\xc5\xe6\xbd\x4d" } , { "\xd1\xe8\xcc\xe1" , "\xc5\xe6\xbd\xde" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xc5\xe6\xbd\xde\x4d" } , { "\xd1\xe8\xcc\xe4" , "\xc5\xe6\xe0\xbd" } , { "\xd1\xe8\xcc\xe5" , "\xc5\xe6\xe0\xbd\xde" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xc5\xe6\xe0\xbd\xde\x4d" } , { "\xd1\xe8\xcc\xe7" , "\xc5\xe6\xe0\xbd" } , { "\xd1\xe8\xcc\xe8" , "\xc5\xe9\xbd" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\xc5\xe6\xe0\xbd\xfc\x51\xde" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\xc5\xdb\xbd\xfa\x58" } , { "\xd1\xe8\xcc\xe8\xba" , "\xc4\xbd\xfa\x67" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\xc5\xe6\xbd\xfa\x75\xf5\xe7" } , { "\xd1\xe8\xcc\xe8\xc6" , "\xc4\xbd\xfd\xad" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\xc4\xdf\xbd\xfd\xad" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\xc6\xbd\xfc\xbd\xde" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\xc5\xdb\xbd\xfc\xc0" } , { "\xd1\xe8\xcc\xe8\xd1" , "\xc4\xbd\xfa\xc7" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\xc4\xdf\xbd\xfa\xc7" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xc5\xe6\xe0\xbd\xfa\xc7\xde" } , { "\xd1\xe8\xcc\xe8\xd4\xa2" , "\xc4\xbd\xfd\xca\x4d" } , { "\xd1\xe8\xcc\xe8\xd7" , "\xc4\xbd\xfd\xd3" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\xc4\xbd\xfd\xd3\x3e\xb5" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\xc5\xe6\xe0\xbd\xfb\xd6\xde" } , { "\xd1\xe8\xcd" , "\xc4\xc0" } , { "\xd1\xe8\xcd\xa2" , "\xc4\xc0\x4d" } , { "\xd1\xe8\xcd\xda" , "\xc5\xdb\xc0" } , { "\xd1\xe8\xcd\xda\xa2" , "\xc5\xdb\xc0\x4d" } , { "\xd1\xe8\xcd\xdc" , "\xc6\xc0\xde" } , { "\xd1\xe8\xcd\xdd" , "\xc4\xdf\xc0" } , { "\xd1\xe8\xcd\xde" , "\xc4\xe0\xc0" } , { "\xd1\xe8\xcd\xde\xa2" , "\xc4\xe0\xc0\x4d" } , { "\xd1\xe8\xcd\xe0" , "\xc5\xe6\xc0" } , { "\xd1\xe8\xcd\xe0\xa2" , "\xc5\xe6\xc0\x4d" } , { "\xd1\xe8\xcd\xe1" , "\xc5\xe6\xc0\xde" } , { "\xd1\xe8\xcd\xe4" , "\xc5\xe6\xe0\xc0" } , { "\xd1\xe8\xcd\xe5" , "\xc5\xe6\xe0\xc0\xde" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xc5\xe6\xe0\xc0\xde\x4d" } , { "\xd1\xe8\xcd\xe6" , "\xc5\xe8\xc0" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xc5\xe8\xc0\x4d" } , { "\xd1\xe8\xcd\xe7" , "\xc5\xe6\xe0\xc0" } , { "\xd1\xe8\xcd\xe8" , "\xc5\xe9\xc0" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\xc4\xc0\xfc\xc0\x4d" } , { "\xd1\xe8\xcf" , "\xc4\xc3" } , { "\xd1\xe8\xcf\xa2" , "\xc4\xc3\x4d" } , { "\xd1\xe8\xcf\xda" , "\xc5\xdb\xc3" } , { "\xd1\xe8\xcf\xda\xa2" , "\xc5\xdb\xc3\x4d" } , { "\xd1\xe8\xcf\xdb" , "\xc6\xc3" } , { "\xd1\xe8\xcf\xdb\xa2" , "\xc6\xc3\x4d" } , { "\xd1\xe8\xcf\xdd" , "\xc4\xdf\xc3" } , { "\xd1\xe8\xcf\xde" , "\xc4\xe0\xc3" } , { "\xd1\xe8\xcf\xe0" , "\xc5\xe6\xc3" } , { "\xd1\xe8\xcf\xe1" , "\xc5\xe6\xc3\xde" } , { "\xd1\xe8\xcf\xe2" , "\xc5\xe6\xee" } , { "\xd1\xe8\xcf\xe5" , "\xc5\xe6\xe0\xc3\xde" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xc5\xe8\xc3\x4d" } , { "\xd1\xe8\xcf\xe8\xbf" , "\xc4\xc3\xfe\x75" } , { "\xd1\xe8\xcf\xe8\xd7" , "\xc4\xc3\x3e\xd3" } , { "\xd1\xe8\xd1" , "\xc4\xc7" } , { "\xd1\xe8\xd1\xa2" , "\xc4\xc7\x4d" } , { "\xd1\xe8\xd1\xda" , "\xc5\xdb\xc7" } , { "\xd1\xe8\xd1\xda\xa2" , "\xc5\xdb\xc7\x4d" } , { "\xd1\xe8\xd1\xdb" , "\xc6\xc7" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xc6\xc7\x4d" } , { "\xd1\xe8\xd1\xdc" , "\xc6\xc7\xde" } , { "\xd1\xe8\xd1\xdd" , "\xc4\xdf\xc7" } , { "\xd1\xe8\xd1\xdd\xa2" , "\xc4\xdf\xc7\x4d" } , { "\xd1\xe8\xd1\xde" , "\xc4\xe0\xc7" } , { "\xd1\xe8\xd1\xde\xa1" , "\xc4\xe0\xc7\x4d" } , { "\xd1\xe8\xd1\xe0" , "\xc5\xe6\xc7" } , { "\xd1\xe8\xd1\xe0\xa2" , "\xc5\xe6\xc7\x4d" } , { "\xd1\xe8\xd1\xe1" , "\xc5\xe6\xc7\xde" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xc5\xe6\xc7\xde\x4d" } , { "\xd1\xe8\xd1\xe2" , "\xc5\xe6\xc7\xf5\xe7" } , { "\xd1\xe8\xd1\xe4" , "\xc5\xe6\xe0\xc7" } , { "\xd1\xe8\xd1\xe5" , "\xc5\xe6\xe0\xc7\xde" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xc5\xe6\xe0\xc7\xde\x4d" } , { "\xd1\xe8\xd1\xe6" , "\xc5\xe8\xc7" } , { "\xd1\xe8\xd1\xe8" , "\xc5\xe9\xc7" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xc5\xdb\xc7\xf2\x58" } , { "\xd1\xe8\xd1\xe8\xc8\xe0" , "\xc5\xe6\xc7\xf5\xb0" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\xc4\xe0\xc7\xf4\xc0" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xc4\xc7\xf2\xc7" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xc5\xe6\xe0\xc7\xf2\xc7\xde" } , { "\xd1\xe8\xd2" , "\xc4\xd9" } , { "\xd1\xe8\xd2\xda" , "\xc5\xdb\xd9" } , { "\xd1\xe8\xd2\xda\xa2" , "\xc5\xdb\xd9\x4d" } , { "\xd1\xe8\xd2\xdb" , "\xc6\xd9" } , { "\xd1\xe8\xd2\xdb\xa2" , "\xc6\xd9\x4d" } , { "\xd1\xe8\xd2\xdc" , "\xc6\xd9\xde" } , { "\xd1\xe8\xd2\xdd" , "\xc4\xdf\xd9" } , { "\xd1\xe8\xd2\xe0" , "\xc5\xe6\xd9" } , { "\xd1\xe8\xd2\xe1" , "\xc5\xe6\xd9\xde" } , { "\xd1\xe8\xd2\xe5" , "\xc5\xe6\xe0\xd9\xde" } , { "\xd1\xe8\xd4" , "\xc4\xca" } , { "\xd1\xe8\xd4\xa2" , "\xc4\xca\x4d" } , { "\xd1\xe8\xd4\xda" , "\xc5\xdb\xca" } , { "\xd1\xe8\xd4\xda\xa2" , "\xc5\xdb\xca\x4d" } , { "\xd1\xe8\xd4\xdb" , "\xc6\xca" } , { "\xd1\xe8\xd4\xdb\xa2" , "\xc6\xca\x4d" } , { "\xd1\xe8\xd4\xdc" , "\xc6\xca\xde" } , { "\xd1\xe8\xd4\xdd" , "\xc4\xdf\xca" } , { "\xd1\xe8\xd4\xe0" , "\xc5\xe6\xca" } , { "\xd1\xe8\xd4\xe0\xa2" , "\xc5\xe6\xca\x4d" } , { "\xd1\xe8\xd4\xe1" , "\xc5\xe6\xca\xde" } , { "\xd1\xe8\xd4\xe2" , "\xc5\xe6\xca\x3e\xe7" } , { "\xd1\xe8\xd4\xe2\xc6\xe8" , "\xc5\xe6\xca\x3e\xe7\xab\xe9" } , { "\xd1\xe8\xd4\xe5" , "\xc5\xe6\xe0\xca\xde" } , { "\xd1\xe8\xd4\xe5\xa2" , "\xc5\xe6\xe0\xca\xde\x4d" } , { "\xd1\xe8\xd4\xe8" , "\xc5\xe9\xca" } , { "\xd1\xe8\xd4\xe8\xb8\xe1" , "\xc5\xe6\xca\x3e\x60\xde" } , { "\xd1\xe8\xd4\xe8\xca\xe1" , "\xc5\xe6\xca\x3e\xb9\xde" } , { "\xd1\xe8\xd4\xe8\xcb\xda" , "\xc5\xdb\xca\x3e\xbc" } , { "\xd1\xe8\xd4\xe8\xcc\xe0\xa2" , "\xc5\xe6\xca\x3d\xbd\x4d" } , { "\xd1\xe8\xd4\xe8\xcd" , "\xc4\xca\x3d\xc0" } , { "\xd1\xe8\xd4\xe8\xcd\xda" , "\xc5\xdb\xca\x3d\xc0" } , { "\xd1\xe8\xd4\xe8\xcd\xdd" , "\xc4\xdf\xca\x3d\xc0" } , { "\xd1\xe8\xd4\xe8\xd1" , "\xc4\xca\xfe\xc7" } , { "\xd1\xe8\xd4\xe8\xd1\xda" , "\xc5\xdb\xca\xfe\xc7" } , { "\xd1\xe8\xd4\xe8\xd1\xdd" , "\xc4\xdf\xca\xfe\xc7" } , { "\xd1\xe8\xd4\xe8\xd7\xdc" , "\xc6\xca\x3e\xd3\xde" } , { "\xd1\xe8\xd5" , "\xc4\xcd" } , { "\xd1\xe8\xd5\xda" , "\xc5\xdb\xcd" } , { "\xd1\xe8\xd5\xdb" , "\xc6\xcd" } , { "\xd1\xe8\xd5\xe8" , "\xc5\xe9\xcd" } , { "\xd1\xe8\xd6" , "\xc4\xd0" } , { "\xd1\xe8\xd6\xda" , "\xc5\xdb\xd0" } , { "\xd1\xe8\xd6\xdb" , "\xc6\xd0" } , { "\xd1\xe8\xd6\xe0" , "\xc5\xe6\xd0" } , { "\xd1\xe8\xd6\xe5" , "\xc5\xe6\xe0\xd0\xde" } , { "\xd1\xe8\xd7" , "\xc4\xd3" } , { "\xd1\xe8\xd7\xa2" , "\xc4\xd3\x4d" } , { "\xd1\xe8\xd7\xda" , "\xc5\xdb\xd3" } , { "\xd1\xe8\xd7\xdb" , "\xc6\xd3" } , { "\xd1\xe8\xd7\xdb\xa2" , "\xc6\xd3\x4d" } , { "\xd1\xe8\xd7\xdc" , "\xc6\xd3\xde" } , { "\xd1\xe8\xd7\xdd" , "\xc4\xdf\xd3" } , { "\xd1\xe8\xd7\xdd\xa2" , "\xc4\xdf\xd3\x4d" } , { "\xd1\xe8\xd7\xde" , "\xc4\xe0\xd3" } , { "\xd1\xe8\xd7\xe0" , "\xc5\xe6\xd3" } , { "\xd1\xe8\xd7\xe0\xa2" , "\xc5\xe6\xd3\x4d" } , { "\xd1\xe8\xd7\xe1" , "\xc5\xe6\xd3\xde" } , { "\xd1\xe8\xd7\xe2" , "\xc5\xe6\xd3\x3e\xe7" } , { "\xd1\xe8\xd7\xe4" , "\xc5\xe6\xe0\xd3" } , { "\xd1\xe8\xd7\xe6" , "\xc5\xe8\xd3" } , { "\xd1\xe8\xd7\xe8" , "\xc5\xe9\xd3" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\xc5\xdb\xd3\x3d\x51" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\xc6\xd3\x3d\x51" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\xc6\xd3\x3d\x51\xde" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\xc4\xdf\xd3\x3d\x51" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\xc4\xe0\xd3\x3d\x51" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\xc5\xe6\xd3\x3d\x51\xde" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\xc5\xe6\xe0\xd3\x3d\x51\xde" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\xc5\xe9\xd3\x3d\x51" } , { "\xd1\xe8\xd7\xe8\xb5" , "\xc4\xd3\xfe\x58" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\xc5\xdb\xd3\xfe\x58" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\xc5\xe6\xd3\xfe\x58\xde" } , { "\xd1\xe8\xd7\xe8\xba\xe0" , "\xc5\xe6\xd3\xfe\x67" } , { "\xd1\xe8\xd7\xe8\xbd" , "\xc4\xd3\x3e\x6f" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\xc5\xdb\xd3\x3e\x6f" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\xc5\xdb\xd3\x3e\x6f\x4d" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\xc5\xe6\xd3\x3e\x6f\xde" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\xc5\xe6\xd3\x3e\x6f\x3e\xe7" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\xc5\xe6\xe0\xd3\x3e\x6f\xde\x4d" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xc5\xe6\xe0\xd3\x3e\x6f\xf1\xde" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\xc5\xdb\xd3\xfe\x75" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\xc5\xe6\xe0\xd3\xfe\xa1\xde" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\xc5\xdb\xd3\xfe\xa4" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\xc5\xdb\xd3\xfe\xa7" } , { "\xd1\xe8\xd7\xe8\xc4\xe8\xd4\xda" , "\xc5\xdb\xd3\xfe\xa7\xf5\xca" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\xc5\xdb\xd3\xfe\xaa" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\xc5\xdb\xd3\x3e\xad" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\xc6\xd3\x3e\xad" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\xc6\xd3\x3e\xad\xde" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\xc4\xdf\xd3\x3e\xad" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\xc5\xe9\xd3\x3e\xad" } , { "\xd1\xe8\xd7\xe8\xc8" , "\xc4\xd3\x3e\xb0" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\xc5\xdb\xd3\x3e\xb0" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\xc4\xe0\xd3\x3e\xb0" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\xc5\xe6\xd3\x3e\xb0\xde" } , { "\xd1\xe8\xd7\xe8\xc8\xe4" , "\xc5\xe6\xe0\xd3\x3e\xb0" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\xc5\xe6\xe0\xd3\x3e\xb0\xde" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\xc5\xdb\xd3\x3e\xb5" } , { "\xd1\xe8\xd7\xe8\xca" , "\xc4\xd3\x3e\xb9" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\xc5\xdb\xd3\x3e\xb9" } , { "\xd1\xe8\xd7\xe8\xca\xe4" , "\xc5\xe6\xe0\xd3\x3e\xb9" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\xc5\xe6\xe0\xd3\x3e\xb9\xde" } , { "\xd1\xe8\xd7\xe8\xcc" , "\xc4\xd3\x3d\xbd" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\xc6\xd3\x3d\xbd\xde" } , { "\xd1\xe8\xd7\xe8\xcc\xe0" , "\xc5\xe6\xd3\x3d\xbd" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\xc5\xdb\xd3\xfe\xc7" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\xc4\xdf\xd3\xfe\xc7" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\xc5\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xd1\xe8\xd7\xe8\xd4" , "\xc4\xd3\x3e\xca" } , { "\xd1\xe8\xd7\xe8\xd4\xda" , "\xc5\xdb\xd3\x3e\xca" } , { "\xd1\xe8\xd7\xe8\xd4\xdb" , "\xc6\xd3\x3e\xca" } , { "\xd1\xe8\xd7\xe8\xd4\xdd" , "\xc4\xdf\xd3\x3e\xca" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\xc5\xdb\xd3\x3c\xd6" } , { "\xd1\xe8\xd8" , "\xc4\xd6" } , { "\xd1\xe8\xd8\xda" , "\xc5\xdb\xd6" } , { "\xd1\xe8\xd8\xda\xa2" , "\xc5\xdb\xd6\x4d" } , { "\xd1\xe8\xd8\xdb" , "\xc6\xd6" } , { "\xd1\xe8\xd8\xdc" , "\xc6\xd6\xde" } , { "\xd1\xe8\xd8\xdd" , "\xc4\xdf\xd6" } , { "\xd1\xe8\xd8\xde" , "\xc4\xe0\xd6" } , { "\xd1\xe8\xd8\xe0" , "\xc5\xe6\xd6" } , { "\xd1\xe8\xd8\xe1" , "\xc5\xe6\xd6\xde" } , { "\xd1\xe8\xd8\xe1\xa2" , "\xc5\xe6\xd6\xde\x4d" } , { "\xd1\xe8\xd8\xe2" , "\xc5\xe6\xd6\xf9\xe7" } , { "\xd1\xe8\xd8\xe5" , "\xc5\xe6\xe0\xd6\xde" } , { "\xd1\xe8\xd8\xe5\xa2" , "\xc5\xe6\xe0\xd6\xde\x4d" } , { "\xd1\xe8\xd8\xe6" , "\xc5\xe8\xd6" } , { "\xd1\xe8\xd9\xa6" , "\xc4\x42" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\xc4\x64\x25" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\xc4\x73\xda\x25" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\xc4\xd1\xda\x25" } , { "\xd1\xe8\xe8" , "\xc5\xe9" } , { "\xd1\xe9" , "\xc4" } , { "\xd1\xe9\xe8\xbf" , "\xc4\x75" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\xc6\x75\x4d" } , { "\xd2" , "\xd7\xda" } , { "\xd2\xa2" , "\xd7\xda\x4d" } , { "\xd2\xa3" , "\xd7\xda\x4e" } , { "\xd2\xd3" , "\xd7\xda\xd7\xda" } , { "\xd2\xd6" , "\xd7\xda\xce\xda" } , { "\xd2\xda" , "\xd7\xdb" } , { "\xd2\xda\xa2" , "\xd7\xdb\x4d" } , { "\xd2\xdb" , "\xd8" } , { "\xd2\xdb\xa2" , "\xd8\x4d" } , { "\xd2\xdb\xa3" , "\xd8\x4e" } , { "\xd2\xdc" , "\xd8\xde" } , { "\xd2\xdd" , "\xd7\xda\xdf" } , { "\xd2\xdd\xa2" , "\xd7\xda\xdf\x4d" } , { "\xd2\xde" , "\xd7\xda\xe0" } , { "\xd2\xdf" , "\xd7\xda\xe4" } , { "\xd2\xe0" , "\xd7\xe6" } , { "\xd2\xe0\xa2" , "\xd7\xe6\x4d" } , { "\xd2\xe1" , "\xd7\xe6\xde" } , { "\xd2\xe1\xa2" , "\xd7\xe6\xde\x4d" } , { "\xd2\xe2" , "\xd7\xe6\xe7" } , { "\xd2\xe2\xa2" , "\xd7\xe6\xe7\x4d" } , { "\xd2\xe4" , "\xd7\xe6\xe0" } , { "\xd2\xe5" , "\xd7\xe6\xe0\xde" } , { "\xd2\xe6" , "\xd7\xe8" } , { "\xd2\xe8" , "\xd7\xe9" } , { "\xd2\xe8\xb3" , "\xd7\xda\x51" } , { "\xd2\xe8\xb3\xdd" , "\xd7\xda\xdf\x51" } , { "\xd2\xe8\xb4\xdd" , "\xd7\xda\xdf\x55" } , { "\xd2\xe8\xb5" , "\xd7\xda\x58" } , { "\xd2\xe8\xb5\xdd" , "\xd7\xda\xdf\x58" } , { "\xd2\xe8\xb8" , "\xd7\xda\x60" } , { "\xd2\xe8\xbd\xdb" , "\xd8\x6f" } , { "\xd2\xe8\xbd\xdc" , "\xd8\x6f\xde" } , { "\xd2\xe8\xc2" , "\xd7\xda\xa1" } , { "\xd2\xe8\xc2\xda" , "\xd7\xdb\xa1" } , { "\xd2\xe8\xc2\xda\xa2" , "\xd7\xdb\xa1\x4d" } , { "\xd2\xe8\xc2\xdb\xa2" , "\xd8\xa1\x4d" } , { "\xd2\xe8\xc2\xdd" , "\xd7\xda\xdf\xa1" } , { "\xd2\xe8\xc2\xdd\xa2" , "\xd7\xda\xdf\xa1\x4d" } , { "\xd2\xe8\xc2\xde" , "\xd7\xda\xe0\xa1" } , { "\xd2\xe8\xc2\xde\xa2" , "\xd7\xda\xe0\xa1\x4d" } , { "\xd2\xe8\xc2\xe0" , "\xd7\xe6\xa1" } , { "\xd2\xe8\xc2\xe1" , "\xd7\xe6\xa1\xde" } , { "\xd2\xe8\xc2\xe5" , "\xd7\xe6\xe0\xa1\xde" } , { "\xd2\xe8\xc2\xe5\xa2" , "\xd7\xe6\xe0\xa1\xde\x4d" } , { "\xd2\xe8\xc3\xdd\xa2" , "\xd7\xda\xdf\xa4\x4d" } , { "\xd2\xe8\xc4" , "\xd7\xda\xa7" } , { "\xd2\xe8\xc4\xda" , "\xd7\xdb\xa7" } , { "\xd2\xe8\xc4\xda\xa2" , "\xd7\xdb\xa7\x4d" } , { "\xd2\xe8\xc4\xdb" , "\xd8\xa7" } , { "\xd2\xe8\xc4\xdd" , "\xd7\xda\xdf\xa7" } , { "\xd2\xe8\xc6\xdb" , "\xd8\xad" } , { "\xd2\xe8\xc6\xdd" , "\xd7\xda\xdf\xad" } , { "\xd2\xe8\xc8" , "\xd7\xda\xb0" } , { "\xd2\xe8\xc8\xdd" , "\xd7\xda\xdf\xb0" } , { "\xd2\xe8\xca" , "\xd7\xda\xb9" } , { "\xd2\xe8\xcd" , "\xd7\xda\xc0" } , { "\xd2\xe8\xcd\xa2" , "\xd7\xda\xc0\x4d" } , { "\xd2\xe8\xcd\xda" , "\xd7\xdb\xc0" } , { "\xd2\xe8\xcd\xda\xa2" , "\xd7\xdb\xc0\x4d" } , { "\xd2\xe8\xcd\xdd" , "\xd7\xda\xdf\xc0" } , { "\xd2\xe8\xcd\xe8\xcd" , "\xd7\xda\xc0\xfc\xc0" } , { "\xd2\xe8\xcd\xe8\xcd\xda" , "\xd7\xdb\xc0\xfc\xc0" } , { "\xd2\xe8\xcf" , "\xd7\xda\xc3" } , { "\xd2\xe8\xcf\xda" , "\xd7\xdb\xc3" } , { "\xd2\xe8\xcf\xdc" , "\xd8\xc3\xde" } , { "\xd2\xe8\xcf\xe5" , "\xd7\xe6\xe0\xc3\xde" } , { "\xd2\xe8\xd1" , "\xd7\xda\xc7" } , { "\xd2\xe8\xd1\xa2" , "\xd7\xda\xc7\x4d" } , { "\xd2\xe8\xd1\xda" , "\xd7\xdb\xc7" } , { "\xd2\xe8\xd1\xda\xa2" , "\xd7\xdb\xc7\x4d" } , { "\xd2\xe8\xd1\xdb" , "\xd8\xc7" } , { "\xd2\xe8\xd1\xdb\xa2" , "\xd8\xc7\x4d" } , { "\xd2\xe8\xd1\xdc" , "\xd8\xc7\xde" } , { "\xd2\xe8\xd1\xdd" , "\xd7\xda\xdf\xc7" } , { "\xd2\xe8\xd1\xdd\xa2" , "\xd7\xda\xdf\xc7\x4d" } , { "\xd2\xe8\xd1\xde" , "\xd7\xda\xe0\xc7" } , { "\xd2\xe8\xd1\xe0" , "\xd7\xe6\xc7" } , { "\xd2\xe8\xd1\xe0\xa2" , "\xd7\xe6\xc7\x4d" } , { "\xd2\xe8\xd1\xe1" , "\xd7\xe6\xc7\xde" } , { "\xd2\xe8\xd1\xe1\xa2" , "\xd7\xe6\xc7\xde\x4d" } , { "\xd2\xe8\xd1\xe2" , "\xd7\xe6\xc7\xf5\xe7" } , { "\xd2\xe8\xd1\xe2\xa2" , "\xd7\xe6\xc7\xf5\xe7\x4d" } , { "\xd2\xe8\xd1\xe4" , "\xd7\xe6\xe0\xc7" } , { "\xd2\xe8\xd1\xe5" , "\xd7\xe6\xe0\xc7\xde" } , { "\xd2\xe8\xd1\xe6" , "\xd7\xe8\xc7" } , { "\xd2\xe8\xd2" , "\xd7\xda\xd9" } , { "\xd2\xe8\xd2\xa2" , "\xd7\xda\xd9\x4d" } , { "\xd2\xe8\xd2\xda" , "\xd7\xdb\xd9" } , { "\xd2\xe8\xd2\xda\xa2" , "\xd7\xdb\xd9\x4d" } , { "\xd2\xe8\xd2\xdb" , "\xd8\xd9" } , { "\xd2\xe8\xd2\xdb\xa2" , "\xd8\xd9\x4d" } , { "\xd2\xe8\xd2\xdc" , "\xd8\xd9\xde" } , { "\xd2\xe8\xd2\xdd" , "\xd7\xda\xdf\xd9" } , { "\xd2\xe8\xd2\xdd\xa2" , "\xd7\xda\xdf\xd9\x4d" } , { "\xd2\xe8\xd2\xde" , "\xd7\xda\xe0\xd9" } , { "\xd2\xe8\xd2\xe0" , "\xd7\xe6\xd9" } , { "\xd2\xe8\xd2\xe0\xa2" , "\xd7\xe6\xd9\x4d" } , { "\xd2\xe8\xd2\xe1" , "\xd7\xe6\xd9\xde" } , { "\xd2\xe8\xd2\xe1\xa2" , "\xd7\xe6\xd9\xde\x4d" } , { "\xd2\xe8\xd2\xe2" , "\xd7\xe6\xd9\x3e\xe7" } , { "\xd2\xe8\xd2\xe2\xa2" , "\xd7\xe6\xd9\x3e\xe7\x4d" } , { "\xd2\xe8\xd2\xe4" , "\xd7\xe6\xe0\xd9" } , { "\xd2\xe8\xd2\xe4\xa2" , "\xd7\xe6\xe0\xd9\x4d" } , { "\xd2\xe8\xd2\xe5" , "\xd7\xe6\xe0\xd9\xde" } , { "\xd2\xe8\xd2\xe5\xa2" , "\xd7\xe6\xe0\xd9\xde\x4d" } , { "\xd2\xe8\xd2\xe8\xc6\xdb" , "\xd8\xd9\x3e\xad" } , { "\xd2\xe8\xd2\xe8\xd1\xe5" , "\xd7\xe6\xe0\xd9\xfe\xc7\xde" } , { "\xd2\xe8\xd2\xe8\xd2\xdc" , "\xd8\xd9\x3e\xd9\xde" } , { "\xd2\xe8\xd2\xe8\xd4\xdd" , "\xd7\xda\xdf\xd9\x3e\xca" } , { "\xd2\xe8\xd4" , "\xd7\xda\xca" } , { "\xd2\xe8\xd4\xda" , "\xd7\xdb\xca" } , { "\xd2\xe8\xd4\xdb" , "\xd8\xca" } , { "\xd2\xe8\xd6\xdd" , "\xd7\xda\xdf\xd0" } , { "\xd2\xe8\xd7\xdb" , "\xd8\xd3" } , { "\xd2\xe8\xd7\xdd" , "\xd7\xda\xdf\xd3" } , { "\xd2\xe8\xe8" , "\xd7\xe9" } , { "\xd3" , "\xd7\xda" } , { "\xd3\xc9" , "\xd7\xda\xb1\xda" } , { "\xd4" , "\xc8\xda" } , { "\xd4\xa1" , "\xc8\xda\x4d" } , { "\xd4\xa2" , "\xc8\xda\x4d" } , { "\xd4\xa3" , "\xc8\xda\x4e" } , { "\xd4\xda" , "\xc8\xdb" } , { "\xd4\xda\xa1" , "\xc8\xdb\x4d" } , { "\xd4\xda\xa2" , "\xc8\xdb\x4d" } , { "\xd4\xda\xa3" , "\xc8\xdb\x4e" } , { "\xd4\xdb" , "\xc9" } , { "\xd4\xdb\xa2" , "\xc9\x4d" } , { "\xd4\xdb\xa3" , "\xc9\x4e" } , { "\xd4\xdb\xb3\xdf" , "\xc9\x4f\xda\xe4" } , { "\xd4\xdb\xd7\xe8\xc2\xdf" , "\xc9\xd1\xda\xea" } , { "\xd4\xdc" , "\xc9\xde" } , { "\xd4\xdc\xa2" , "\xc9\xde\x4d" } , { "\xd4\xdd" , "\xc8\xda\xe2\xb4" } , { "\xd4\xdd\xa1" , "\xc8\xda\xe2\xb4\x4d" } , { "\xd4\xdd\xa2" , "\xc8\xda\xe2\xb4\x4d" } , { "\xd4\xdd\xa2\xa2" , "\xc8\xda\xe2\xb4\x4d\x4d" } , { "\xd4\xdd\xa3" , "\xc8\xda\xe2\xb4\x4e" } , { "\xd4\xde" , "\xc8\xda\xe3" } , { "\xd4\xde\xa1" , "\xc8\xda\xe3\x4d" } , { "\xd4\xde\xa2" , "\xc8\xda\xe3\x4d" } , { "\xd4\xdf" , "\xc8\xda\xe4" } , { "\xd4\xdf\xa2" , "\xc8\xda\xe4\x4d" } , { "\xd4\xe0" , "\xc8\xe6" } , { "\xd4\xe0\xa2" , "\xc8\xe6\x4d" } , { "\xd4\xe1" , "\xc8\xe6\xde" } , { "\xd4\xe1\xa2" , "\xc8\xe6\xde\x4d" } , { "\xd4\xe1\xa3" , "\xc8\xe6\xde\x4e" } , { "\xd4\xe2" , "\xc8\xe6\xe7" } , { "\xd4\xe2\xa2" , "\xc8\xe6\xe7\x4d" } , { "\xd4\xe2\xa3" , "\xc8\xe6\xe7\x4e" } , { "\xd4\xe2\xba\xe8" , "\xc8\xe6\xe7\x65\xe9" } , { "\xd4\xe2\xd7\xe8" , "\xc8\xe6\xe7\xd1\xe9" } , { "\xd4\xe4" , "\xc8\xe6\xe3" } , { "\xd4\xe4\xa2" , "\xc8\xe6\xe3\x4d" } , { "\xd4\xe5" , "\xc8\xe6\xe3\xde" } , { "\xd4\xe5\xa2" , "\xc8\xe6\xe3\xde\x4d" } , { "\xd4\xe6" , "\xc8\xe8" } , { "\xd4\xe7" , "\xc8\xe6\xe3" } , { "\xd4\xe8" , "\xc8\xe9" } , { "\xd4\xe8\xa2" , "\xc8\xe9\x4d" } , { "\xd4\xe8\xb3" , "\xc8\xda\x51" } , { "\xd4\xe8\xb3\xda" , "\xc8\xdb\x51" } , { "\xd4\xe8\xb3\xdb" , "\xc9\x51" } , { "\xd4\xe8\xb3\xdd" , "\xc8\xda\xe2\xfc\x51" } , { "\xd4\xe8\xb3\xde" , "\xc8\xda\xe3\x51" } , { "\xd4\xe8\xb3\xe0" , "\xc8\xe6\x51" } , { "\xd4\xe8\xb3\xe1" , "\xc8\xe6\x51\xde" } , { "\xd4\xe8\xb3\xe5" , "\xc8\xe6\xe3\x51\xde" } , { "\xd4\xe8\xb3\xe8\xb3" , "\xc8\xda\x51\xfc\x51" } , { "\xd4\xe8\xb3\xe8\xb3\xdb" , "\xc9\x51\xfc\x51" } , { "\xd4\xe8\xb3\xe8\xb3\xdd" , "\xc8\xda\xe2\xfc\x51\xfc\x51" } , { "\xd4\xe8\xb3\xe8\xc2" , "\xc8\xda\x51\xfa\xa1" } , { "\xd4\xe8\xb3\xe8\xcd" , "\xc8\xda\x51\xfc\xc0" } , { "\xd4\xe8\xb3\xe8\xd6" , "\xc8\xda\x51\xfd\xd0" } , { "\xd4\xe8\xb3\xe8\xd6\xda" , "\xc8\xdb\x51\xfd\xd0" } , { "\xd4\xe8\xb3\xe8\xd6\xe5\xa2" , "\xc8\xe6\xe3\x51\xfd\xd0\xde\x4d" } , { "\xd4\xe8\xb5\xda" , "\xc8\xdb\x58" } , { "\xd4\xe8\xb5\xda\xa2" , "\xc8\xdb\x58\x4d" } , { "\xd4\xe8\xb6" , "\xc8\xda\x5b" } , { "\xd4\xe8\xb8" , "\xc8\xda\x60" } , { "\xd4\xe8\xb8\xda" , "\xc8\xdb\x60" } , { "\xd4\xe8\xb8\xdb" , "\xc9\x60" } , { "\xd4\xe8\xb8\xdd" , "\xc8\xda\xe2\xfd\x60" } , { "\xd4\xe8\xb8\xe0" , "\xc8\xe6\x60" } , { "\xd4\xe8\xb8\xe1" , "\xc8\xe6\x60\xde" } , { "\xd4\xe8\xb8\xe8\xb8\xda" , "\xc8\xdb\x60\x3e\x60" } , { "\xd4\xe8\xb8\xe8\xb8\xdd" , "\xc8\xda\xe2\xfd\x60\x3e\x60" } , { "\xd4\xe8\xb8\xe8\xb8\xe1" , "\xc8\xe6\x60\x3e\x60\xde" } , { "\xd4\xe8\xba" , "\xc8\xda\x67" } , { "\xd4\xe8\xba\xdc" , "\xc9\x67\xde" } , { "\xd4\xe8\xba\xe9" , "\xc8\xda\x67" } , { "\xd4\xe8\xbd" , "\xc8\xda\x6f" } , { "\xd4\xe8\xbd\xa2" , "\xc8\xda\x6f\x4d" } , { "\xd4\xe8\xbd\xda" , "\xc8\xdb\x6f" } , { "\xd4\xe8\xbd\xe0" , "\xc8\xe6\x6f" } , { "\xd4\xe8\xbd\xe2" , "\xc8\xe6\x6f\x3e\xe7" } , { "\xd4\xe8\xbd\xe8" , "\xc8\xe9\x6f" } , { "\xd4\xe8\xbd\xe8\xd1" , "\xc8\xda\x6f\xfe\xc7" } , { "\xd4\xe8\xbf" , "\xc8\xda\x75" } , { "\xd4\xe8\xbf\xa2" , "\xc8\xda\x75\x4d" } , { "\xd4\xe8\xbf\xda" , "\xc8\xdb\x75" } , { "\xd4\xe8\xbf\xdb" , "\xc9\x75" } , { "\xd4\xe8\xbf\xdd" , "\xc8\xda\xe2\xfa\x75" } , { "\xd4\xe8\xbf\xe0" , "\xc8\xe6\x75" } , { "\xd4\xe8\xc2" , "\xc8\xda\xa1" } , { "\xd4\xe8\xc2\xda" , "\xc8\xdb\xa1" } , { "\xd4\xe8\xc2\xda\xa2" , "\xc8\xdb\xa1\x4d" } , { "\xd4\xe8\xc2\xdb" , "\xc9\xa1" } , { "\xd4\xe8\xc2\xdc" , "\xc9\xa1\xde" } , { "\xd4\xe8\xc2\xdd\xa2" , "\xc8\xda\xe2\xfa\xa1\x4d" } , { "\xd4\xe8\xc2\xe5" , "\xc8\xe6\xe3\xb4\xa1\xde" } , { "\xd4\xe8\xc2\xe8\xc2" , "\xc8\xda\xa1\xf2\xa1" } , { "\xd4\xe8\xc2\xe8\xc2\xda" , "\xc8\xdb\xa1\xf2\xa1" } , { "\xd4\xe8\xc2\xe8\xc2\xda\xa2" , "\xc8\xdb\xa1\xf2\xa1\x4d" } , { "\xd4\xe8\xc2\xe8\xc2\xdb" , "\xc9\xa1\xf2\xa1" } , { "\xd4\xe8\xc2\xe8\xc2\xe5\xa2" , "\xc8\xe6\xe3\xb4\xa1\xf2\xa1\xde\x4d" } , { "\xd4\xe8\xc2\xe8\xcd" , "\xc8\xda\xa1\xf4\xc0" } , { "\xd4\xe8\xc2\xe8\xcd\xda" , "\xc8\xdb\xa1\xf4\xc0" } , { "\xd4\xe8\xc2\xe8\xd7" , "\xc8\xda\xa1\xf5\xd3" } , { "\xd4\xe8\xc3\xe0" , "\xc8\xe6\xa4" } , { "\xd4\xe8\xc4" , "\xc8\xda\xa7" } , { "\xd4\xe8\xc4\xda" , "\xc8\xdb\xa7" } , { "\xd4\xe8\xc4\xdb" , "\xc9\xa7" } , { "\xd4\xe8\xc4\xdc" , "\xc9\xa7\xde" } , { "\xd4\xe8\xc4\xe5\xa2" , "\xc8\xe6\xe3\xb4\xa7\xde\x4d" } , { "\xd4\xe8\xc4\xe8\xc5" , "\xc8\xda\xa7\xf2\xaa" } , { "\xd4\xe8\xc4\xe8\xc5\xda" , "\xc8\xdb\xa7\xf2\xaa" } , { "\xd4\xe8\xc4\xe8\xc5\xdb" , "\xc9\xa7\xf2\xaa" } , { "\xd4\xe8\xc4\xe8\xc5\xe5\xa2" , "\xc8\xe6\xe3\xb4\xa7\xf2\xaa\xde\x4d" } , { "\xd4\xe8\xc4\xe8\xd4" , "\xc8\xda\xa7\xf5\xca" } , { "\xd4\xe8\xc4\xe8\xd4\xdb" , "\xc9\xa7\xf5\xca" } , { "\xd4\xe8\xc5" , "\xc8\xda\xaa" } , { "\xd4\xe8\xc5\xda" , "\xc8\xdb\xaa" } , { "\xd4\xe8\xc5\xdb" , "\xc9\xaa" } , { "\xd4\xe8\xc6" , "\xc8\xda\xad" } , { "\xd4\xe8\xc6\xa2" , "\xc8\xda\xad\x4d" } , { "\xd4\xe8\xc6\xda" , "\xc8\xdb\xad" } , { "\xd4\xe8\xc6\xdb" , "\xc9\xad" } , { "\xd4\xe8\xc6\xdc" , "\xc9\xad\xde" } , { "\xd4\xe8\xc6\xdd" , "\xc8\xda\xe2\xfd\xad" } , { "\xd4\xe8\xc6\xdd\xa2" , "\xc8\xda\xe2\xfd\xad\x4d" } , { "\xd4\xe8\xc6\xde" , "\xc8\xda\xe3\xad" } , { "\xd4\xe8\xc6\xe0" , "\xc8\xe6\xad" } , { "\xd4\xe8\xc6\xe1" , "\xc8\xe6\xad\xde" } , { "\xd4\xe8\xc6\xe4" , "\xc8\xe6\xe3\xad" } , { "\xd4\xe8\xc6\xe5" , "\xc8\xe6\xe3\xad\xde" } , { "\xd4\xe8\xc6\xe8\xc4" , "\xc8\xda\xad\xfe\xa7" } , { "\xd4\xe8\xc6\xe8\xc4\xda" , "\xc8\xdb\xad\xfe\xa7" } , { "\xd4\xe8\xc8" , "\xc8\xda\xb0" } , { "\xd4\xe8\xc8\xda" , "\xc8\xdb\xb0" } , { "\xd4\xe8\xc8\xdb" , "\xc9\xb0" } , { "\xd4\xe8\xc8\xdd" , "\xc8\xda\xe2\xfd\xb0" } , { "\xd4\xe8\xc8\xe2" , "\xc8\xe6\xb0\x3e\xe7" } , { "\xd4\xe8\xc8\xe8\xcf" , "\xc8\xda\xb0\xf1" } , { "\xd4\xe8\xc9" , "\xc8\xda\xb5" } , { "\xd4\xe8\xca" , "\xc8\xda\xb9" } , { "\xd4\xe8\xca\xdd" , "\xc8\xda\xe2\xfd\xb9" } , { "\xd4\xe8\xca\xe5" , "\xc8\xe6\xe3\xb9\xde" } , { "\xd4\xe8\xcb" , "\xc8\xda\xbc" } , { "\xd4\xe8\xcb\xda" , "\xc8\xdb\xbc" } , { "\xd4\xe8\xcc\xdb" , "\xc9\xbd" } , { "\xd4\xe8\xcc\xdc" , "\xc9\xbd\xde" } , { "\xd4\xe8\xcc\xe0" , "\xc8\xe6\xbd" } , { "\xd4\xe8\xcc\xe0\xa2" , "\xc8\xe6\xbd\x4d" } , { "\xd4\xe8\xcc\xe1" , "\xc8\xe6\xbd\xde" } , { "\xd4\xe8\xcd" , "\xc8\xda\xc0" } , { "\xd4\xe8\xcd\xa2" , "\xc8\xda\xc0\x4d" } , { "\xd4\xe8\xcd\xa3" , "\xc8\xda\xc0\x4e" } , { "\xd4\xe8\xcd\xda" , "\xc8\xdb\xc0" } , { "\xd4\xe8\xcd\xda\xa1" , "\xc8\xdb\xc0\x4d" } , { "\xd4\xe8\xcd\xda\xa2" , "\xc8\xdb\xc0\x4d" } , { "\xd4\xe8\xcd\xdc" , "\xc9\xc0\xde" } , { "\xd4\xe8\xcd\xdd" , "\xc8\xda\xe2\xfc\xc0" } , { "\xd4\xe8\xcd\xdd\xa2" , "\xc8\xda\xe2\xfc\xc0\x4d" } , { "\xd4\xe8\xcd\xde" , "\xc8\xda\xe3\xc0" } , { "\xd4\xe8\xcd\xe1" , "\xc8\xe6\xc0\xde" } , { "\xd4\xe8\xcd\xe2" , "\xc8\xe6\xc0\xfd\xe7" } , { "\xd4\xe8\xcd\xe4" , "\xc8\xe6\xe3\xc0" } , { "\xd4\xe8\xcd\xe5" , "\xc8\xe6\xe3\xc0\xde" } , { "\xd4\xe8\xcd\xe5\xa2" , "\xc8\xe6\xe3\xc0\xde\x4d" } , { "\xd4\xe8\xcd\xe6" , "\xc8\xe8\xc0" } , { "\xd4\xe8\xcd\xe6\xa2" , "\xc8\xe8\xc0\x4d" } , { "\xd4\xe8\xcd\xe8\xb3" , "\xc8\xda\xc0\xfc\x51" } , { "\xd4\xe8\xcd\xe8\xb3\xdb" , "\xc9\xc0\xfc\x51" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2" , "\xc8\xda\xc0\xfc\x51\xfa\xa1" } , { "\xd4\xe8\xcd\xe8\xb3\xe8\xc2\xdb" , "\xc9\xc0\xfc\x51\xfa\xa1" } , { "\xd4\xe8\xcd\xe8\xcd" , "\xc8\xda\xc0\xfc\xc0" } , { "\xd4\xe8\xcd\xe8\xcd\xa2" , "\xc8\xda\xc0\xfc\xc0\x4d" } , { "\xd4\xe8\xcd\xe8\xcd\xda" , "\xc8\xdb\xc0\xfc\xc0" } , { "\xd4\xe8\xcf" , "\xc8\xda\xc3" } , { "\xd4\xe8\xcf\xa2" , "\xc8\xda\xc3\x4d" } , { "\xd4\xe8\xcf\xda" , "\xc8\xdb\xc3" } , { "\xd4\xe8\xcf\xdb" , "\xc9\xc3" } , { "\xd4\xe8\xcf\xdc" , "\xc9\xc3\xde" } , { "\xd4\xe8\xcf\xdd" , "\xc8\xda\xe2\xfd\xc3" } , { "\xd4\xe8\xcf\xe0\xa2" , "\xc8\xe6\xc3\x4d" } , { "\xd4\xe8\xcf\xe1" , "\xc8\xe6\xc3\xde" } , { "\xd4\xe8\xcf\xe2" , "\xc8\xe6\xee" } , { "\xd4\xe8\xcf\xe5" , "\xc8\xe6\xe3\xc3\xde" } , { "\xd4\xe8\xcf\xe8\xc1\xda" , "\xc8\xdb\xc3\xfe\x7c" } , { "\xd4\xe8\xcf\xe8\xc2" , "\xc8\xda\xc3\xfe\xa1" } , { "\xd4\xe8\xcf\xe8\xcd" , "\xc8\xda\xc3\x3d\xc0" } , { "\xd4\xe8\xcf\xe8\xcd\xda" , "\xc8\xdb\xc3\x3d\xc0" } , { "\xd4\xe8\xd1" , "\xc8\xda\xc7" } , { "\xd4\xe8\xd1\xda" , "\xc8\xdb\xc7" } , { "\xd4\xe8\xd1\xda\xa2" , "\xc8\xdb\xc7\x4d" } , { "\xd4\xe8\xd1\xdb" , "\xc9\xc7" } , { "\xd4\xe8\xd1\xdc" , "\xc9\xc7\xde" } , { "\xd4\xe8\xd1\xdd" , "\xc8\xda\xe2\xfa\xc7" } , { "\xd4\xe8\xd1\xde" , "\xc8\xda\xe3\xb4\xc7" } , { "\xd4\xe8\xd1\xe0" , "\xc8\xe6\xc7" } , { "\xd4\xe8\xd1\xe1" , "\xc8\xe6\xc7\xde" } , { "\xd4\xe8\xd1\xe5" , "\xc8\xe6\xe3\xb4\xc7\xde" } , { "\xd4\xe8\xd1\xe8\xd1" , "\xc8\xda\xc7\xf2\xc7" } , { "\xd4\xe8\xd2\xda" , "\xc8\xdb\xd9" } , { "\xd4\xe8\xd2\xe8\xd1" , "\xc8\xda\xd9\xfe\xc7" } , { "\xd4\xe8\xd4" , "\xc8\xda\xca" } , { "\xd4\xe8\xd4\xa2" , "\xc8\xda\xca\x4d" } , { "\xd4\xe8\xd4\xda" , "\xc8\xdb\xca" } , { "\xd4\xe8\xd4\xdb" , "\xc9\xca" } , { "\xd4\xe8\xd4\xdb\xa2" , "\xc9\xca\x4d" } , { "\xd4\xe8\xd4\xdc" , "\xc9\xca\xde" } , { "\xd4\xe8\xd4\xdc\xa2" , "\xc9\xca\xde\x4d" } , { "\xd4\xe8\xd4\xdd" , "\xc8\xda\xe2\xfd\xca" } , { "\xd4\xe8\xd4\xdd\xa2" , "\xc8\xda\xe2\xfd\xca\x4d" } , { "\xd4\xe8\xd4\xde" , "\xc8\xda\xe3\xca" } , { "\xd4\xe8\xd4\xde\xa2" , "\xc8\xda\xe3\xca\x4d" } , { "\xd4\xe8\xd4\xe0" , "\xc8\xe6\xca" } , { "\xd4\xe8\xd4\xe0\xa2" , "\xc8\xe6\xca\x4d" } , { "\xd4\xe8\xd4\xe1" , "\xc8\xe6\xca\xde" } , { "\xd4\xe8\xd4\xe1\xa2" , "\xc8\xe6\xca\xde\x4d" } , { "\xd4\xe8\xd4\xe2" , "\xc8\xe6\xca\x3e\xe7" } , { "\xd4\xe8\xd4\xe4" , "\xc8\xe6\xe3\xca" } , { "\xd4\xe8\xd4\xe4\xa2" , "\xc8\xe6\xe3\xca\x4d" } , { "\xd4\xe8\xd4\xe5" , "\xc8\xe6\xe3\xca\xde" } , { "\xd4\xe8\xd4\xe8" , "\xc8\xe9\xca" } , { "\xd4\xe8\xd4\xe8\xcd" , "\xc8\xda\xca\x3d\xc0" } , { "\xd4\xe8\xd5\xe8\xb8\xdb" , "\xc9\xcd\xfd\x60" } , { "\xd4\xe8\xd5\xe8\xcd" , "\xc8\xda\xcd\xfc\xc0" } , { "\xd4\xe8\xd6" , "\xc8\xda\xd0" } , { "\xd4\xe8\xd6\xda" , "\xc8\xdb\xd0" } , { "\xd4\xe8\xd6\xe8\xbd\xdb" , "\xc9\xd0\x3e\x6f" } , { "\xd4\xe8\xd7" , "\xc8\xda\xd3" } , { "\xd4\xe8\xd7\xda" , "\xc8\xdb\xd3" } , { "\xd4\xe8\xd7\xda\xa2" , "\xc8\xdb\xd3\x4d" } , { "\xd4\xe8\xd7\xdb" , "\xc9\xd3" } , { "\xd4\xe8\xd7\xdc" , "\xc9\xd3\xde" } , { "\xd4\xe8\xd7\xde" , "\xc8\xda\xe3\xd3" } , { "\xd4\xe8\xd7\xe0" , "\xc8\xe6\xd3" } , { "\xd4\xe8\xd7\xe2" , "\xc8\xe6\xd3\x3e\xe7" } , { "\xd4\xe8\xd7\xe6" , "\xc8\xe8\xd3" } , { "\xd4\xe8\xd7\xe8" , "\xc8\xe9\xd3" } , { "\xd4\xe8\xd7\xe8\xb3\xda" , "\xc8\xdb\xd3\x3d\x51" } , { "\xd4\xe8\xd7\xe8\xb3\xdc" , "\xc9\xd3\x3d\x51\xde" } , { "\xd4\xe8\xd7\xe8\xb3\xe4" , "\xc8\xe6\xe3\xd3\x3d\x51" } , { "\xd4\xe8\xd7\xe8\xb3\xe8" , "\xc8\xe9\xd3\x3d\x51" } , { "\xd4\xe8\xd7\xe8\xb5\xda" , "\xc8\xdb\xd3\xfe\x58" } , { "\xd4\xe8\xd7\xe8\xbd\xda" , "\xc8\xdb\xd3\x3e\x6f" } , { "\xd4\xe8\xd7\xe8\xc2\xda" , "\xc8\xdb\xd3\xfe\xa1" } , { "\xd4\xe8\xd7\xe8\xc2\xdd\xa2" , "\xc8\xda\xe2\xfd\xd3\xfe\xa1\x4d" } , { "\xd4\xe8\xd7\xe8\xc2\xe1" , "\xc8\xe6\xd3\xfe\xa1\xde" } , { "\xd4\xe8\xd7\xe8\xc3" , "\xc8\xda\xd3\xfe\xa4" } , { "\xd4\xe8\xd7\xe8\xc3\xda" , "\xc8\xdb\xd3\xfe\xa4" } , { "\xd4\xe8\xd7\xe8\xc6\xdb" , "\xc9\xd3\x3e\xad" } , { "\xd4\xe8\xd7\xe8\xc6\xdd" , "\xc8\xda\xe2\xfd\xd3\x3e\xad" } , { "\xd4\xe8\xd7\xe8\xc8\xdb" , "\xc9\xd3\x3e\xb0" } , { "\xd4\xe8\xd7\xe8\xc8\xe2" , "\xc8\xe6\xd3\x3e\xb0\x3e\xe7" } , { "\xd4\xe8\xd7\xe8\xcc\xdf" , "\xc8\xda\xd3\x3d\xbd\xfd\xe4" } , { "\xd4\xe8\xd8" , "\xc8\xda\xd6" } , { "\xd4\xe8\xd8\xda" , "\xc8\xdb\xd6" } , { "\xd4\xe8\xd8\xda\xa2" , "\xc8\xdb\xd6\x4d" } , { "\xd4\xe8\xd8\xdb" , "\xc9\xd6" } , { "\xd4\xe8\xd8\xdc" , "\xc9\xd6\xde" } , { "\xd4\xe8\xd8\xe1" , "\xc8\xe6\xd6\xde" } , { "\xd4\xe8\xd8\xe2" , "\xc8\xe6\xd6\xf9\xe7" } , { "\xd4\xe8\xd9\xcd" , "\xc8\xda\xbe\xda\xdf" } , { "\xd4\xe8\xd9\xcf\xe8\xcd" , "\xc8\xda\xbe\xda\xdf\x25" } , { "\xd4\xe8\xe8" , "\xc8\xe9" } , { "\xd4\xe8\xe9\xcf" , "\xc8\xda\xc3" } , { "\xd4\xe9" , "\xc8\xda" } , { "\xd5" , "\xcb\xda" } , { "\xd5\xa1" , "\xcb\xda\x4d" } , { "\xd5\xa2" , "\xcb\xda\x4d" } , { "\xd5\xa2\xa3" , "\xcb\xda\x4d\x4e" } , { "\xd5\xa3" , "\xcb\xda\x4e" } , { "\xd5\xda" , "\xcb\xdb" } , { "\xd5\xda\xa1" , "\xcb\xdb\x4d" } , { "\xd5\xda\xa2" , "\xcb\xdb\x4d" } , { "\xd5\xda\xa3" , "\xcb\xdb\x4e" } , { "\xd5\xdb" , "\xcc" } , { "\xd5\xdb\xa2" , "\xcc\x4d" } , { "\xd5\xdc" , "\xcc\xde" } , { "\xd5\xdc\xa2" , "\xcc\xde\x4d" } , { "\xd5\xdc\xa3" , "\xcc\xde\x4e" } , { "\xd5\xdd" , "\xcb\xda\xdf" } , { "\xd5\xdd\xa2" , "\xcb\xda\xdf\x4d" } , { "\xd5\xdd\xa3" , "\xcb\xda\xdf\x4e" } , { "\xd5\xdd\xd0\xdd" , "\xcb\xda\xdf\xc1\xda\xdf" } , { "\xd5\xde" , "\xcb\xda\xe0" } , { "\xd5\xde\xa2" , "\xcb\xda\xe0\x4d" } , { "\xd5\xdf" , "\xcb\xda\xe4" } , { "\xd5\xdf\xa2" , "\xcb\xda\xe4\x4d" } , { "\xd5\xe0" , "\xcb\xe6" } , { "\xd5\xe0\xa2" , "\xcb\xe6\x4d" } , { "\xd5\xe1" , "\xcb\xe6\xde" } , { "\xd5\xe1\xa2" , "\xcb\xe6\xde\x4d" } , { "\xd5\xe2" , "\xcb\xe6\xe7" } , { "\xd5\xe2\xa2" , "\xcb\xe6\xe7\x4d" } , { "\xd5\xe4" , "\xcb\xe6\xe0" } , { "\xd5\xe4\xa2" , "\xcb\xe6\xe0\x4d" } , { "\xd5\xe5" , "\xcb\xe6\xe0\xde" } , { "\xd5\xe5\xa2" , "\xcb\xe6\xe0\xde\x4d" } , { "\xd5\xe6" , "\xcb\xe8" } , { "\xd5\xe6\xa2" , "\xcb\xe8\x4d" } , { "\xd5\xe7" , "\xcb\xe6\xe0" } , { "\xd5\xe8" , "\xcb\xe9" } , { "\xd5\xe8\xa2" , "\xcb\xe9\x4d" } , { "\xd5\xe8\xb3" , "\xcb\xda\x51" } , { "\xd5\xe8\xb3\xda" , "\xcb\xdb\x51" } , { "\xd5\xe8\xb3\xdb" , "\xcc\x51" } , { "\xd5\xe8\xb3\xdc" , "\xcc\x51\xde" } , { "\xd5\xe8\xb3\xdd" , "\xcb\xda\xdf\x51" } , { "\xd5\xe8\xb3\xde" , "\xcb\xda\xe0\x51" } , { "\xd5\xe8\xb3\xe1" , "\xcb\xe6\x51\xde" } , { "\xd5\xe8\xb3\xe1\xa2" , "\xcb\xe6\x51\xde\x4d" } , { "\xd5\xe8\xb3\xe5\xa2" , "\xcb\xe6\xe0\x51\xde\x4d" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\xcc\x51\xfa\xa1" } , { "\xd5\xe8\xb3\xe8\xd6" , "\xcb\xda\x51\xfd\xd0" } , { "\xd5\xe8\xb3\xe9" , "\xcb\xda\x51" } , { "\xd5\xe8\xb4\xa2" , "\xcb\xda\x55\x4d" } , { "\xd5\xe8\xb4\xda" , "\xcb\xdb\x55" } , { "\xd5\xe8\xb5\xda" , "\xcb\xdb\x58" } , { "\xd5\xe8\xb5\xdd\xa2" , "\xcb\xda\xdf\x58\x4d" } , { "\xd5\xe8\xb6\xda" , "\xcb\xdb\x5b" } , { "\xd5\xe8\xb8" , "\xcb\xda\x60" } , { "\xd5\xe8\xb8\xa2" , "\xcb\xda\x60\x4d" } , { "\xd5\xe8\xb8\xda" , "\xcb\xdb\x60" } , { "\xd5\xe8\xb8\xda\xa2" , "\xcb\xdb\x60\x4d" } , { "\xd5\xe8\xb8\xdb" , "\xcc\x60" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xcc\x60\x4d" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xcc\x60\x4d\x4d" } , { "\xd5\xe8\xb8\xdd" , "\xcb\xda\xdf\x60" } , { "\xd5\xe8\xb8\xe1" , "\xcb\xe6\x60\xde" } , { "\xd5\xe8\xb8\xe2" , "\xcb\xe6\x60\x3e\xe7" } , { "\xd5\xe8\xb8\xe5" , "\xcb\xe6\xe0\x60\xde" } , { "\xd5\xe8\xb8\xe8\xb9" , "\xcb\xda\x60\x3e\x63" } , { "\xd5\xe8\xb8\xe8\xcd" , "\xcb\xda\x60\x3d\xc0" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\xcb\xdb\x60\x3d\xc0" } , { "\xd5\xe8\xb9" , "\xcb\xda\x63" } , { "\xd5\xe8\xb9\xda" , "\xcb\xdb\x63" } , { "\xd5\xe8\xb9\xdb" , "\xcc\x63" } , { "\xd5\xe8\xb9\xe1" , "\xcb\xe6\x63\xde" } , { "\xd5\xe8\xbd" , "\xcb\xda\x6f" } , { "\xd5\xe8\xbd\xa2" , "\xcb\xda\x6f\x4d" } , { "\xd5\xe8\xbd\xdb" , "\xcc\x6f" } , { "\xd5\xe8\xbd\xe5" , "\xcb\xe6\xe0\x6f\xde" } , { "\xd5\xe8\xbd\xe8\xcd" , "\xcb\xda\x6f\x3d\xc0" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\xcb\xdb\x6f\x3d\xc0" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\xcb\xda\xe0\x6f\x3d\xc0" } , { "\xd5\xe8\xbd\xe8\xcf" , "\xcb\xda\x6f\xf1" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\xcb\xe6\x6f\xf1\xde" } , { "\xd5\xe8\xbf\xe9\xa1" , "\xcb\xda\x75\x4d" } , { "\xd5\xe8\xc2" , "\xcb\xda\xa1" } , { "\xd5\xe8\xc2\xda" , "\xcb\xdb\xa1" } , { "\xd5\xe8\xc2\xdb" , "\xcc\xa1" } , { "\xd5\xe8\xc2\xdc" , "\xcc\xa1\xde" } , { "\xd5\xe8\xc2\xde" , "\xcb\xda\xe0\xa1" } , { "\xd5\xe8\xc2\xe1" , "\xcb\xe6\xa1\xde" } , { "\xd5\xe8\xc2\xe1\xa2" , "\xcb\xe6\xa1\xde\x4d" } , { "\xd5\xe8\xc2\xe2" , "\xcb\xe6\xeb" } , { "\xd5\xe8\xc2\xe5" , "\xcb\xe6\xe0\xa1\xde" } , { "\xd5\xe8\xc2\xe5\xa2" , "\xcb\xe6\xe0\xa1\xde\x4d" } , { "\xd5\xe8\xc3" , "\xcb\xda\xa4" } , { "\xd5\xe8\xc3\xda" , "\xcb\xdb\xa4" } , { "\xd5\xe8\xc5" , "\xcb\xda\xaa" } , { "\xd5\xe8\xc5\xda" , "\xcb\xdb\xaa" } , { "\xd5\xe8\xc6" , "\xcb\xda\xad" } , { "\xd5\xe8\xc6\xa2" , "\xcb\xda\xad\x4d" } , { "\xd5\xe8\xc6\xda" , "\xcb\xdb\xad" } , { "\xd5\xe8\xc6\xda\xa2" , "\xcb\xdb\xad\x4d" } , { "\xd5\xe8\xc6\xdb" , "\xcc\xad" } , { "\xd5\xe8\xc6\xdb\xa2" , "\xcc\xad\x4d" } , { "\xd5\xe8\xc6\xdd" , "\xcb\xda\xdf\xad" } , { "\xd5\xe8\xc6\xe0" , "\xcb\xe6\xad" } , { "\xd5\xe8\xc6\xe1" , "\xcb\xe6\xad\xde" } , { "\xd5\xe8\xc6\xe5" , "\xcb\xe6\xe0\xad\xde" } , { "\xd5\xe8\xc6\xe5\xa2" , "\xcb\xe6\xe0\xad\xde\x4d" } , { "\xd5\xe8\xc6\xe8" , "\xcb\xe9\xad" } , { "\xd5\xe8\xc7" , "\xcb\xda\xad" } , { "\xd5\xe8\xc8" , "\xcb\xda\xb0" } , { "\xd5\xe8\xc8\xda" , "\xcb\xdb\xb0" } , { "\xd5\xe8\xc8\xdd" , "\xcb\xda\xdf\xb0" } , { "\xd5\xe8\xc8\xde" , "\xcb\xda\xe0\xb0" } , { "\xd5\xe8\xc9" , "\xcb\xda\xb5" } , { "\xd5\xe8\xc9\xdd" , "\xcb\xda\xdf\xb5" } , { "\xd5\xe8\xca" , "\xcb\xda\xb9" } , { "\xd5\xe8\xcb" , "\xcb\xda\xbc" } , { "\xd5\xe8\xcc" , "\xcb\xda\xbd" } , { "\xd5\xe8\xcc\xa2" , "\xcb\xda\xbd\x4d" } , { "\xd5\xe8\xcc\xda" , "\xcb\xdb\xbd" } , { "\xd5\xe8\xcc\xdb" , "\xcc\xbd" } , { "\xd5\xe8\xcc\xdb\xa2" , "\xcc\xbd\x4d" } , { "\xd5\xe8\xcc\xdc" , "\xcc\xbd\xde" } , { "\xd5\xe8\xcc\xdd" , "\xcb\xda\xdf\xbd" } , { "\xd5\xe8\xcc\xdf" , "\xcb\xda\xbd\xfd\xe4" } , { "\xd5\xe8\xcc\xe1" , "\xcb\xe6\xbd\xde" } , { "\xd5\xe8\xcc\xe1\xa2" , "\xcb\xe6\xbd\xde\x4d" } , { "\xd5\xe8\xcc\xe5\xa2" , "\xcb\xe6\xe0\xbd\xde\x4d" } , { "\xd5\xe8\xcd" , "\xcb\xda\xc0" } , { "\xd5\xe8\xcd\xa2" , "\xcb\xda\xc0\x4d" } , { "\xd5\xe8\xcd\xda" , "\xcb\xdb\xc0" } , { "\xd5\xe8\xcd\xda\xa2" , "\xcb\xdb\xc0\x4d" } , { "\xd5\xe8\xcd\xdb" , "\xcc\xc0" } , { "\xd5\xe8\xcd\xdc" , "\xcc\xc0\xde" } , { "\xd5\xe8\xcd\xdd" , "\xcb\xda\xdf\xc0" } , { "\xd5\xe8\xcd\xdd\xa2" , "\xcb\xda\xdf\xc0\x4d" } , { "\xd5\xe8\xcd\xde" , "\xcb\xda\xe0\xc0" } , { "\xd5\xe8\xcd\xe1" , "\xcb\xe6\xc0\xde" } , { "\xd5\xe8\xcd\xe5" , "\xcb\xe6\xe0\xc0\xde" } , { "\xd5\xe8\xcd\xe5\xa2" , "\xcb\xe6\xe0\xc0\xde\x4d" } , { "\xd5\xe8\xcd\xe6" , "\xcb\xe8\xc0" } , { "\xd5\xe8\xcd\xe8" , "\xcb\xe9\xc0" } , { "\xd5\xe8\xcd\xe8\xb8" , "\xcb\xda\xc0\xfd\x60" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\xcb\xdb\xc0\xfc\xc0" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\xcb\xda\xc0\xfc\xcd\xfc\xc0" } , { "\xd5\xe8\xcf" , "\xcb\xda\xc3" } , { "\xd5\xe8\xcf\xa2" , "\xcb\xda\xc3\x4d" } , { "\xd5\xe8\xcf\xda" , "\xcb\xdb\xc3" } , { "\xd5\xe8\xcf\xda\xa2" , "\xcb\xdb\xc3\x4d" } , { "\xd5\xe8\xcf\xdb" , "\xcc\xc3" } , { "\xd5\xe8\xcf\xdb\xa2" , "\xcc\xc3\x4d" } , { "\xd5\xe8\xcf\xdc" , "\x2a" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x2a\x4d" } , { "\xd5\xe8\xcf\xdd" , "\xcb\xda\xdf\xc3" } , { "\xd5\xe8\xcf\xde" , "\xcb\xda\xe0\xc3" } , { "\xd5\xe8\xcf\xdf" , "\xcb\xda\xc3\x3e\xe4" } , { "\xd5\xe8\xcf\xdf\xa2" , "\xcb\xda\xc3\x3e\xe4\x4d" } , { "\xd5\xe8\xcf\xe1" , "\xcb\xe6\xc3\xde" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xcb\xe6\xc3\xde\x4d" } , { "\xd5\xe8\xcf\xe2" , "\xcb\xe6\xee" } , { "\xd5\xe8\xcf\xe5" , "\xcb\xe6\xe0\xc3\xde" } , { "\xd5\xe8\xcf\xe6" , "\xcb\xe8\xc3" } , { "\xd5\xe8\xcf\xe7" , "\xcb\xe6\xe0\xc3" } , { "\xd5\xe8\xcf\xe8\xa2" , "\xcb\xe9\xc3\x4d" } , { "\xd5\xe8\xcf\xe8\xcc" , "\xcb\xda\xc3\x3d\xbd" } , { "\xd5\xe8\xcf\xe8\xd4" , "\xcb\xda\xc3\x3e\xca" } , { "\xd5\xe8\xcf\xe8\xd4\xda" , "\xcb\xdb\xc3\x3e\xca" } , { "\xd5\xe8\xcf\xe8\xd5" , "\xcb\xda\xc3\x3d\xcd" } , { "\xd5\xe8\xd1" , "\xcb\xda\xc7" } , { "\xd5\xe8\xd1\xda" , "\xcb\xdb\xc7" } , { "\xd5\xe8\xd1\xda\xa2" , "\xcb\xdb\xc7\x4d" } , { "\xd5\xe8\xd1\xdb" , "\xcc\xc7" } , { "\xd5\xe8\xd1\xdc" , "\xcc\xc7\xde" } , { "\xd5\xe8\xd1\xdd" , "\xcb\xda\xdf\xc7" } , { "\xd5\xe8\xd1\xe0" , "\xcb\xe6\xc7" } , { "\xd5\xe8\xd1\xe1" , "\xcb\xe6\xc7\xde" } , { "\xd5\xe8\xd1\xe2" , "\xcb\xe6\xc7\xf5\xe7" } , { "\xd5\xe8\xd1\xe5" , "\xcb\xe6\xe0\xc7\xde" } , { "\xd5\xe8\xd1\xe5\xa2" , "\xcb\xe6\xe0\xc7\xde\x4d" } , { "\xd5\xe8\xd2" , "\xcb\xda\xd9" } , { "\xd5\xe8\xd2\xe1" , "\xcb\xe6\xd9\xde" } , { "\xd5\xe8\xd4" , "\xcb\xda\xca" } , { "\xd5\xe8\xd4\xa2" , "\xcb\xda\xca\x4d" } , { "\xd5\xe8\xd4\xda" , "\xcb\xdb\xca" } , { "\xd5\xe8\xd4\xda\xa2" , "\xcb\xdb\xca\x4d" } , { "\xd5\xe8\xd4\xdb" , "\xcc\xca" } , { "\xd5\xe8\xd4\xdc" , "\xcc\xca\xde" } , { "\xd5\xe8\xd4\xdd" , "\xcb\xda\xdf\xca" } , { "\xd5\xe8\xd4\xe1" , "\xcb\xe6\xca\xde" } , { "\xd5\xe8\xd4\xe2" , "\xcb\xe6\xca\x3e\xe7" } , { "\xd5\xe8\xd4\xe5" , "\xcb\xe6\xe0\xca\xde" } , { "\xd5\xe8\xd4\xe5\xa2" , "\xcb\xe6\xe0\xca\xde\x4d" } , { "\xd5\xe8\xd5" , "\xcb\xda\xcd" } , { "\xd5\xe8\xd5\xa2" , "\xcb\xda\xcd\x4d" } , { "\xd5\xe8\xd5\xda" , "\xcb\xdb\xcd" } , { "\xd5\xe8\xd5\xda\xa2" , "\xcb\xdb\xcd\x4d" } , { "\xd5\xe8\xd5\xdb" , "\xcc\xcd" } , { "\xd5\xe8\xd5\xdc" , "\xcc\xcd\xde" } , { "\xd5\xe8\xd5\xdd" , "\xcb\xda\xdf\xcd" } , { "\xd5\xe8\xd5\xde" , "\xcb\xda\xe0\xcd" } , { "\xd5\xe8\xd5\xdf\xa2" , "\xcb\xda\xcd\xfd\xe4\x4d" } , { "\xd5\xe8\xd5\xe1" , "\xcb\xe6\xcd\xde" } , { "\xd5\xe8\xd5\xe2" , "\xcb\xe6\xcd\xfd\xe7" } , { "\xd5\xe8\xd5\xe5" , "\xcb\xe6\xe0\xcd\xde" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\xcc\xcd\xf0\xde" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\xcb\xda\xdf\xcd\xf0" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\xcb\xe6\xcd\xf0\xde" } , { "\xd5\xe8\xd5\xe8\xd4\xda" , "\xcb\xdb\xcd\xfd\xca" } , { "\xd5\xe8\xd6\xe1" , "\xcb\xe6\xd0\xde" } , { "\xd5\xe8\xd6\xe8\xbe" , "\xcb\xda\xd0\xfe\x72" } , { "\xd5\xe8\xd7" , "\xcb\xda\xd3" } , { "\xd5\xe8\xd7\xe8\xc2" , "\xcb\xda\xd3\xfe\xa1" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\xcc\xd3\xfe\xa1" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\xcb\xda\xd3\xfe\xa1\xf0\x4d" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\xcb\xdb\xd3\xfe\xa1\xf0" } , { "\xd5\xe8\xd8\xdc" , "\xcc\xd6\xde" } , { "\xd5\xe8\xd9" , "\xcb\xda" } , { "\xd5\xe8\xd9\xa6" , "\xcb\xda\x42" } , { "\xd5\xe8\xd9\xb3" , "\xcb\xda\x4f\xda" } , { "\xd5\xe8\xd9\xb8" , "\xcb\xda\x5e\xda" } , { "\xd5\xe8\xd9\xb8\xda" , "\xcb\xda\x5e\xdb" } , { "\xd5\xe8\xd9\xb8\xdb" , "\xcb\xda\x5f" } , { "\xd5\xe8\xd9\xc2" , "\xcb\xda\x7d\xda" } , { "\xd5\xe8\xd9\xc2\xdc" , "\xcb\xda\x7e\xde" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\xcb\xda\x7d\xe6\xe0\xde\x4d" } , { "\xd5\xe8\xd9\xc6" , "\xcb\xda\xab\xda" } , { "\xd5\xe8\xd9\xc6\xe5" , "\xcb\xda\xab\xe6\xe0\xde" } , { "\xd5\xe8\xd9\xcc" , "\xcb\xda\xc8\xda\xdf" } , { "\xd5\xe8\xd9\xcc\xdc" , "\xcb\xda\xc9\xdf\xde" } , { "\xd5\xe8\xd9\xcd" , "\xcb\xda\xbe\xda\xdf" } , { "\xd5\xe8\xd9\xcd\xa2" , "\xcb\xda\xbe\xda\xdf\x4d" } , { "\xd5\xe8\xd9\xcf\xe8\xd4" , "\xcb\xda\xc8\xda\x25" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5" , "\xcb\xda\xc8\xe6\xe3\x25\xde" } , { "\xd5\xe8\xd9\xcf\xe8\xd4\xe5\xa2" , "\xcb\xda\xc8\xe6\xe3\x25\xde\x4d" } , { "\xd5\xe8\xd9\xd1\xe1" , "\xcb\xda\xc5\xe6\xde" } , { "\xd5\xe8\xd9\xd1\xe2" , "\xcb\xda\xc5\xe6\xe7" } , { "\xd5\xe8\xd9\xd4" , "\xcb\xda\xc8\xda" } , { "\xd5\xe8\xd9\xd4\xda" , "\xcb\xda\xc8\xdb" } , { "\xd5\xe8\xd9\xd4\xda\xa2" , "\xcb\xda\xc8\xdb\x4d" } , { "\xd5\xe8\xd9\xd4\xdb" , "\xcb\xda\xc9" } , { "\xd5\xe8\xd9\xd4\xdc" , "\xcb\xda\xc9\xde" } , { "\xd5\xe8\xd9\xd4\xe1" , "\xcb\xda\xc8\xe6\xde" } , { "\xd5\xe8\xd9\xd4\xe2" , "\xcb\xda\xc8\xe6\xe7" } , { "\xd5\xe8\xe8" , "\xcb\xe9" } , { "\xd5\xe8\xe9\xcf" , "\xcb\xda\xc3" } , { "\xd5\xe8\xe9\xd4" , "\xcb\xda\xca" } , { "\xd5\xe9" , "\xcb\xda" } , { "\xd6" , "\xce\xda" } , { "\xd6\xa1" , "\xce\xda\x4d" } , { "\xd6\xa2" , "\xce\xda\x4d" } , { "\xd6\xa3" , "\xce\xda\x4e" } , { "\xd6\xd6" , "\xce\xda\xce\xda" } , { "\xd6\xda" , "\xce\xdb" } , { "\xd6\xda\xa2" , "\xce\xdb\x4d" } , { "\xd6\xda\xa3" , "\xce\xdb\x4e" } , { "\xd6\xdb" , "\xcf" } , { "\xd6\xdb\xa2" , "\xcf\x4d" } , { "\xd6\xdb\xa3" , "\xcf\x4e" } , { "\xd6\xdb\xcc\xe8" , "\xcf\xc8\xda\xe1\xe9" } , { "\xd6\xdc" , "\xcf\xde" } , { "\xd6\xdc\xa2" , "\xcf\xde\x4d" } , { "\xd6\xdc\xa3" , "\xcf\xde\x4e" } , { "\xd6\xdd" , "\xce\xda\xdf" } , { "\xd6\xdd\xa2" , "\xce\xda\xdf\x4d" } , { "\xd6\xde" , "\xce\xda\xe0" } , { "\xd6\xdf" , "\xce\xda\xe4" } , { "\xd6\xe0" , "\xce\xe6" } , { "\xd6\xe0\xa2" , "\xce\xe6\x4d" } , { "\xd6\xe1" , "\xce\xe6\xde" } , { "\xd6\xe1\xa2" , "\xce\xe6\xde\x4d" } , { "\xd6\xe2" , "\xce\xe6\xe7" } , { "\xd6\xe3" , "\xce\xe6" } , { "\xd6\xe4" , "\xce\xe6\xe0" } , { "\xd6\xe5" , "\xce\xe6\xe0\xde" } , { "\xd6\xe5\xa2" , "\xce\xe6\xe0\xde\x4d" } , { "\xd6\xe6" , "\xce\xe8" } , { "\xd6\xe8" , "\xce\xe9" } , { "\xd6\xe8\xb3" , "\xce\xda\x51" } , { "\xd6\xe8\xb3\xa2" , "\xce\xda\x51\x4d" } , { "\xd6\xe8\xb3\xda" , "\xce\xdb\x51" } , { "\xd6\xe8\xb3\xda\xa2" , "\xce\xdb\x51\x4d" } , { "\xd6\xe8\xb3\xdb" , "\xcf\x51" } , { "\xd6\xe8\xb3\xdb\xa2" , "\xcf\x51\x4d" } , { "\xd6\xe8\xb3\xdc" , "\xcf\x51\xde" } , { "\xd6\xe8\xb3\xdd" , "\xce\xda\xdf\x51" } , { "\xd6\xe8\xb3\xde" , "\xce\xda\xe0\x51" } , { "\xd6\xe8\xb3\xdf" , "\xce\xda\xed" } , { "\xd6\xe8\xb3\xe0\xa2" , "\xce\xe6\x51\x4d" } , { "\xd6\xe8\xb3\xe5" , "\xce\xe6\xe0\x51\xde" } , { "\xd6\xe8\xb3\xe5\xa2" , "\xce\xe6\xe0\x51\xde\x4d" } , { "\xd6\xe8\xb3\xe8" , "\xce\xe9\x51" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xce\xda\x51\xfa\xa1" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\xce\xda\xe0\x51\xfc\xc0" } , { "\xd6\xe8\xb3\xe8\xcf" , "\xce\xda\x51\xf0" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\xce\xdb\x51\xf0" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\xcf\x51\xf0" } , { "\xd6\xe8\xb3\xe8\xd6" , "\xce\xda\x51\xfd\xd0" } , { "\xd6\xe8\xb4\xda" , "\xce\xdb\x55" } , { "\xd6\xe8\xb5\xda" , "\xce\xdb\x58" } , { "\xd6\xe8\xb5\xdd" , "\xce\xda\xdf\x58" } , { "\xd6\xe8\xb8" , "\xce\xda\x60" } , { "\xd6\xe8\xb8\xa2" , "\xce\xda\x60\x4d" } , { "\xd6\xe8\xb8\xda" , "\xce\xdb\x60" } , { "\xd6\xe8\xb8\xdb" , "\xcf\x60" } , { "\xd6\xe8\xb8\xdb\xa2" , "\xcf\x60\x4d" } , { "\xd6\xe8\xb8\xe1" , "\xce\xe6\x60\xde" } , { "\xd6\xe8\xb8\xe8" , "\xce\xe9\x60" } , { "\xd6\xe8\xba" , "\xce\xda\x67" } , { "\xd6\xe8\xba\xda" , "\xce\xdb\x67" } , { "\xd6\xe8\xba\xe5" , "\xce\xe6\xe0\x67\xde" } , { "\xd6\xe8\xbd" , "\xce\xda\x6f" } , { "\xd6\xe8\xbd\xa2" , "\xce\xda\x6f\x4d" } , { "\xd6\xe8\xbd\xa3" , "\xce\xda\x6f\x4e" } , { "\xd6\xe8\xbd\xda" , "\xce\xdb\x6f" } , { "\xd6\xe8\xbd\xda\xa1" , "\xce\xdb\x6f\x4d" } , { "\xd6\xe8\xbd\xda\xa2" , "\xce\xdb\x6f\x4d" } , { "\xd6\xe8\xbd\xdb" , "\xcf\x6f" } , { "\xd6\xe8\xbd\xdb\xa2" , "\xcf\x6f\x4d" } , { "\xd6\xe8\xbd\xdb\xa3" , "\xcf\x6f\x4e" } , { "\xd6\xe8\xbd\xdc" , "\xcf\x6f\xde" } , { "\xd6\xe8\xbd\xdd" , "\xce\xda\xdf\x6f" } , { "\xd6\xe8\xbd\xdd\xa2" , "\xce\xda\xdf\x6f\x4d" } , { "\xd6\xe8\xbd\xde" , "\xce\xda\xe0\x6f" } , { "\xd6\xe8\xbd\xdf" , "\xce\xda\x6f\x3e\xe4" } , { "\xd6\xe8\xbd\xe0" , "\xce\xe6\x6f" } , { "\xd6\xe8\xbd\xe1" , "\xce\xe6\x6f\xde" } , { "\xd6\xe8\xbd\xe2" , "\xce\xe6\x6f\x3e\xe7" } , { "\xd6\xe8\xbd\xe5" , "\xce\xe6\xe0\x6f\xde" } , { "\xd6\xe8\xbd\xe5\xa2" , "\xce\xe6\xe0\x6f\xde\x4d" } , { "\xd6\xe8\xbd\xe6" , "\xce\xe8\x6f" } , { "\xd6\xe8\xbd\xe8" , "\xce\xe9\x6f" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\xce\xe8\x6f\x3d\x51\x4d" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\xce\xe6\xe0\x6f\xfe\x7c\xde" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\xce\xe6\xe0\x6f\xfe\xa7\xde" } , { "\xd6\xe8\xbd\xe8\xc8" , "\xce\xda\x6f\x3e\xb0" } , { "\xd6\xe8\xbd\xe8\xcd" , "\xce\xda\x6f\x3d\xc0" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\xce\xda\x6f\x3d\xc0\x4d" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\xce\xdb\x6f\x3d\xc0" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\xce\xdb\x6f\x3d\xc0\x4d" } , { "\xd6\xe8\xbd\xe8\xcf" , "\xce\xda\x6f\xf1" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\xce\xda\x6f\xf1\x4d" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\xce\xdb\x6f\xf1" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\xce\xdb\x6f\xf1\x4d" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\xcf\x6f\xf1" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\xcf\x6f\xf1\xde" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\xce\xda\xdf\x6f\xf1" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\xce\xe6\x6f\xf1\xde" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\xce\xe6\xe0\x6f\xf1\xde" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\xce\xe6\xe0\x6f\xf1\xde\x4d" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\xce\xdb\x6f\xf1\x3d\xc0\x4e" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\xce\xe6\xe0\x6f\xf1\xfe\xc7\xde" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xce\xdb\x6f\xfe\xc7" } , { "\xd6\xe8\xbd\xe8\xd4\xda" , "\xce\xdb\x6f\x3e\xca" } , { "\xd6\xe8\xbd\xe8\xd4\xe2" , "\xce\xe6\x6f\x3e\xca\x3e\xe7" } , { "\xd6\xe8\xbe" , "\xce\xda\x72" } , { "\xd6\xe8\xbe\xa2" , "\xce\xda\x72\x4d" } , { "\xd6\xe8\xbe\xa3" , "\xce\xda\x72\x4e" } , { "\xd6\xe8\xbe\xda" , "\xce\xdb\x72" } , { "\xd6\xe8\xbe\xda\xa2" , "\xce\xdb\x72\x4d" } , { "\xd6\xe8\xbe\xda\xa3" , "\xce\xdb\x72\x4e" } , { "\xd6\xe8\xbe\xdb" , "\xcf\x72" } , { "\xd6\xe8\xbe\xdb\xa2" , "\xcf\x72\x4d" } , { "\xd6\xe8\xbe\xdc" , "\xcf\x72\xde" } , { "\xd6\xe8\xbe\xdd" , "\xce\xda\xdf\x72" } , { "\xd6\xe8\xbe\xde" , "\xce\xda\xe0\x72" } , { "\xd6\xe8\xbe\xe1" , "\xce\xe6\x72\xde" } , { "\xd6\xe8\xbe\xe5" , "\xce\xe6\xe0\x72\xde" } , { "\xd6\xe8\xbe\xe5\xa2" , "\xce\xe6\xe0\x72\xde\x4d" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\xce\xda\xe0\x72\xf2\xa1" } , { "\xd6\xe8\xbe\xe8\xcd" , "\xce\xda\x72\xf4\xc0" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\xce\xda\x72\xf4\xc0\x4d" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\xce\xdb\x72\xf4\xc0" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\xcf\x72\xf4\xc0\xde" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\xce\xe6\x72\xf4\xc0\xde" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\xcf\x72\xf0\xde" } , { "\xd6\xe8\xbf\xdb\xa3" , "\xcf\x75\x4e" } , { "\xd6\xe8\xbf\xe8" , "\xce\xe9\x75" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\xce\xda\xe0\x75\xf4\xc0" } , { "\xd6\xe8\xc1" , "\xce\xda\x7c" } , { "\xd6\xe8\xc1\xa1" , "\xce\xda\x7c\x4d" } , { "\xd6\xe8\xc1\xa2" , "\xce\xda\x7c\x4d" } , { "\xd6\xe8\xc1\xda" , "\xce\xdb\x7c" } , { "\xd6\xe8\xc1\xda\xa2" , "\xce\xdb\x7c\x4d" } , { "\xd6\xe8\xc1\xdb" , "\xcf\x7c" } , { "\xd6\xe8\xc1\xdc" , "\xcf\x7c\xde" } , { "\xd6\xe8\xc1\xdd" , "\xce\xda\xdf\x7c" } , { "\xd6\xe8\xc1\xdd\xa2" , "\xce\xda\xdf\x7c\x4d" } , { "\xd6\xe8\xc1\xdd\xa3" , "\xce\xda\xdf\x7c\x4e" } , { "\xd6\xe8\xc1\xde" , "\xce\xda\xe0\x7c" } , { "\xd6\xe8\xc1\xe1" , "\xce\xe6\x7c\xde" } , { "\xd6\xe8\xc1\xe4" , "\xce\xe6\xe0\x7c" } , { "\xd6\xe8\xc1\xe5" , "\xce\xe6\xe0\x7c\xde" } , { "\xd6\xe8\xc1\xe5\xa2" , "\xce\xe6\xe0\x7c\xde\x4d" } , { "\xd6\xe8\xc1\xe5\xa3" , "\xce\xe6\xe0\x7c\xde\x4e" } , { "\xd6\xe8\xc1\xe8\xcd" , "\xce\xda\x7c\xf4\xc0" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\xce\xdb\x7c\xf4\xc0" } , { "\xd6\xe8\xc1\xe8\xd4" , "\xce\xda\x7c\xf5\xca" } , { "\xd6\xe8\xc1\xe8\xd4\xa2" , "\xce\xda\x7c\xf5\xca\x4d" } , { "\xd6\xe8\xc1\xe8\xd4\xda" , "\xce\xdb\x7c\xf5\xca" } , { "\xd6\xe8\xc2" , "\xce\xda\xa1" } , { "\xd6\xe8\xc2\xda" , "\xce\xdb\xa1" } , { "\xd6\xe8\xc2\xdb" , "\xcf\xa1" } , { "\xd6\xe8\xc2\xdc" , "\xcf\xa1\xde" } , { "\xd6\xe8\xc2\xe5" , "\xce\xe6\xe0\xa1\xde" } , { "\xd6\xe8\xc2\xe8\xcf" , "\xce\xda\xa1\xf0" } , { "\xd6\xe8\xc4" , "\xce\xda\xa7" } , { "\xd6\xe8\xc4\xe1" , "\xce\xe6\xa7\xde" } , { "\xd6\xe8\xc6" , "\xce\xda\xad" } , { "\xd6\xe8\xc6\xda" , "\xce\xdb\xad" } , { "\xd6\xe8\xc6\xdb" , "\xcf\xad" } , { "\xd6\xe8\xc6\xdd" , "\xce\xda\xdf\xad" } , { "\xd6\xe8\xc6\xdd\xa2" , "\xce\xda\xdf\xad\x4d" } , { "\xd6\xe8\xc6\xde" , "\xce\xda\xe0\xad" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\xce\xda\xdf\xad\x3e\xad" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\xce\xe9\xad\x3e\xd3" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\xce\xe9\xab\xe6\xe0\xd3\xfe\xc7\xf2\xc7\xde" } , { "\xd6\xe8\xc8" , "\xce\xda\xb0" } , { "\xd6\xe8\xc8\xa2" , "\xce\xda\xb0\x4d" } , { "\xd6\xe8\xc8\xda" , "\xce\xdb\xb0" } , { "\xd6\xe8\xc8\xda\xa2" , "\xce\xdb\xb0\x4d" } , { "\xd6\xe8\xc8\xdb" , "\xcf\xb0" } , { "\xd6\xe8\xc8\xdb\xa2" , "\xcf\xb0\x4d" } , { "\xd6\xe8\xc8\xdc" , "\xcf\xb0\xde" } , { "\xd6\xe8\xc8\xdd" , "\xce\xda\xdf\xb0" } , { "\xd6\xe8\xc8\xe1" , "\xce\xe6\xb0\xde" } , { "\xd6\xe8\xc8\xe2" , "\xce\xe6\xb0\x3e\xe7" } , { "\xd6\xe8\xc8\xe2\xa3" , "\xce\xe6\xb0\x3e\xe7\x4e" } , { "\xd6\xe8\xc8\xe5" , "\xce\xe6\xe0\xb0\xde" } , { "\xd6\xe8\xc8\xe5\xa2" , "\xce\xe6\xe0\xb0\xde\x4d" } , { "\xd6\xe8\xc8\xe6" , "\xce\xe8\xb0" } , { "\xd6\xe8\xc8\xe8\xcf" , "\xce\xda\xb0\xf1" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\xce\xdb\xb0\xf1" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\xce\xe6\xb0\xf1\xde" } , { "\xd6\xe8\xc9" , "\xce\xda\xb5" } , { "\xd6\xe8\xca" , "\xce\xda\xb9" } , { "\xd6\xe8\xca\xda" , "\xce\xdb\xb9" } , { "\xd6\xe8\xca\xe1" , "\xce\xe6\xb9\xde" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\xce\xda\xe0\xb9\xf1" } , { "\xd6\xe8\xcb\xda" , "\xce\xdb\xbc" } , { "\xd6\xe8\xcc" , "\xce\xda\xbd" } , { "\xd6\xe8\xcc\xa2" , "\xce\xda\xbd\x4d" } , { "\xd6\xe8\xcc\xda" , "\xce\xdb\xbd" } , { "\xd6\xe8\xcc\xda\xa2" , "\xce\xdb\xbd\x4d" } , { "\xd6\xe8\xcc\xdb" , "\xcf\xbd" } , { "\xd6\xe8\xcc\xdb\xa2" , "\xcf\xbd\x4d" } , { "\xd6\xe8\xcc\xdc" , "\xcf\xbd\xde" } , { "\xd6\xe8\xcc\xdd" , "\xce\xda\xdf\xbd" } , { "\xd6\xe8\xcc\xdd\xa2" , "\xce\xda\xdf\xbd\x4d" } , { "\xd6\xe8\xcc\xe0\xa2" , "\xce\xe6\xbd\x4d" } , { "\xd6\xe8\xcc\xe1" , "\xce\xe6\xbd\xde" } , { "\xd6\xe8\xcc\xe4" , "\xce\xe6\xe0\xbd" } , { "\xd6\xe8\xcc\xe5" , "\xce\xe6\xe0\xbd\xde" } , { "\xd6\xe8\xcc\xe5\xa2" , "\xce\xe6\xe0\xbd\xde\x4d" } , { "\xd6\xe8\xcd" , "\xce\xda\xc0" } , { "\xd6\xe8\xcd\xa2" , "\xce\xda\xc0\x4d" } , { "\xd6\xe8\xcd\xa3" , "\xce\xda\xc0\x4e" } , { "\xd6\xe8\xcd\xda" , "\xce\xdb\xc0" } , { "\xd6\xe8\xcd\xdb" , "\xcf\xc0" } , { "\xd6\xe8\xcd\xdd" , "\xce\xda\xdf\xc0" } , { "\xd6\xe8\xcd\xdd\xa2" , "\xce\xda\xdf\xc0\x4d" } , { "\xd6\xe8\xcd\xde" , "\xce\xda\xe0\xc0" } , { "\xd6\xe8\xcd\xe1" , "\xce\xe6\xc0\xde" } , { "\xd6\xe8\xcd\xe5" , "\xce\xe6\xe0\xc0\xde" } , { "\xd6\xe8\xcd\xe5\xa2" , "\xce\xe6\xe0\xc0\xde\x4d" } , { "\xd6\xe8\xcd\xe8" , "\xce\xe9\xc0" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\xce\xdb\xc0\xfd\x6f" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\xce\xdb\xc0\xfc\xc0" } , { "\xd6\xe8\xcd\xe8\xcf" , "\xce\xda\xc0\xf0" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\xce\xdb\xc0\xf0" } , { "\xd6\xe8\xcf" , "\xce\xda\xc3" } , { "\xd6\xe8\xcf\xa2" , "\xce\xda\xc3\x4d" } , { "\xd6\xe8\xcf\xda" , "\xce\xdb\xc3" } , { "\xd6\xe8\xcf\xdc" , "\xcf\xc3\xde" } , { "\xd6\xe8\xcf\xdd" , "\xce\xda\xdf\xc3" } , { "\xd6\xe8\xcf\xde" , "\xce\xda\xe0\xc3" } , { "\xd6\xe8\xcf\xdf" , "\xce\xda\xc3\x3e\xe4" } , { "\xd6\xe8\xcf\xe0" , "\xce\xe6\xc3" } , { "\xd6\xe8\xcf\xe2" , "\xce\xe6\xee" } , { "\xd6\xe8\xcf\xe5" , "\xce\xe6\xe0\xc3\xde" } , { "\xd6\xe8\xcf\xe8" , "\xce\xe9\xc3" } , { "\xd6\xe8\xcf\xe8\xb3" , "\xce\xda\xc3\x3d\x51" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\xce\xdb\xc3\x3d\xc0" } , { "\xd6\xe8\xd1" , "\xce\xda\xc7" } , { "\xd6\xe8\xd1\xda" , "\xce\xdb\xc7" } , { "\xd6\xe8\xd1\xda\xa2" , "\xce\xdb\xc7\x4d" } , { "\xd6\xe8\xd1\xdc" , "\xcf\xc7\xde" } , { "\xd6\xe8\xd1\xdd" , "\xce\xda\xdf\xc7" } , { "\xd6\xe8\xd1\xde" , "\xce\xda\xe0\xc7" } , { "\xd6\xe8\xd1\xe0" , "\xce\xe6\xc7" } , { "\xd6\xe8\xd1\xe1" , "\xce\xe6\xc7\xde" } , { "\xd6\xe8\xd1\xe2" , "\xce\xe6\xc7\xf5\xe7" } , { "\xd6\xe8\xd1\xe5" , "\xce\xe6\xe0\xc7\xde" } , { "\xd6\xe8\xd4" , "\xce\xda\xca" } , { "\xd6\xe8\xd4\xa2" , "\xce\xda\xca\x4d" } , { "\xd6\xe8\xd4\xda" , "\xce\xdb\xca" } , { "\xd6\xe8\xd4\xdb" , "\xcf\xca" } , { "\xd6\xe8\xd4\xdc" , "\xcf\xca\xde" } , { "\xd6\xe8\xd4\xdd" , "\xce\xda\xdf\xca" } , { "\xd6\xe8\xd4\xe2" , "\xce\xe6\xca\x3e\xe7" } , { "\xd6\xe8\xd5" , "\xce\xda\xcd" } , { "\xd6\xe8\xd5\xda" , "\xce\xdb\xcd" } , { "\xd6\xe8\xd6" , "\xce\xda\xd0" } , { "\xd6\xe8\xd6\xda" , "\xce\xdb\xd0" } , { "\xd6\xe8\xd6\xdb" , "\xcf\xd0" } , { "\xd6\xe8\xd6\xdd" , "\xce\xda\xdf\xd0" } , { "\xd6\xe8\xd6\xde" , "\xce\xda\xe0\xd0" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\xce\xda\xdf\xd0\xfe\x7c" } , { "\xd6\xe8\xd7\xe2" , "\xce\xe6\xd3\x3e\xe7" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\xce\xda\xbe\xda\xe1\xdb\x25" } , { "\xd6\xe8\xe8" , "\xce\xe9" } , { "\xd7" , "\xd1\xda" } , { "\xd7\xa1" , "\xd1\xda\x4d" } , { "\xd7\xa2" , "\xd1\xda\x4d" } , { "\xd7\xa3" , "\xd1\xda\x4e" } , { "\xd7\xd0" , "\xd1\xda\xc1\xda" } , { "\xd7\xd0\xd1" , "\xd1\xda\xc1\xda\xc4" } , { "\xd7\xda" , "\xd1\xdb" } , { "\xd7\xda\xa1" , "\xd1\xdb\x4d" } , { "\xd7\xda\xa2" , "\xd1\xdb\x4d" } , { "\xd7\xda\xa3" , "\xd1\xdb\x4e" } , { "\xd7\xdb" , "\xd2" } , { "\xd7\xdb\xa2" , "\xd2\x4d" } , { "\xd7\xdb\xa2\xa2" , "\xd2\x4d\x4d" } , { "\xd7\xdb\xa2\xa3" , "\xd2\x4d\x4e" } , { "\xd7\xdb\xbd\xe8" , "\xd2\x6d\xe9" } , { "\xd7\xdc" , "\xd2\xde" } , { "\xd7\xdc\xa2" , "\xd2\xde\x4d" } , { "\xd7\xdd" , "\xd1\xda\xdf" } , { "\xd7\xdd\xa1" , "\xd1\xda\xdf\x4d" } , { "\xd7\xdd\xa2" , "\xd1\xda\xdf\x4d" } , { "\xd7\xdd\xa3" , "\xd1\xda\xdf\x4e" } , { "\xd7\xde" , "\xd1\xda\xe0" } , { "\xd7\xde\xa1" , "\xd1\xda\xe0\x4d" } , { "\xd7\xde\xa2" , "\xd1\xda\xe0\x4d" } , { "\xd7\xdf" , "\xd1\xda\xe4" } , { "\xd7\xdf\xa2" , "\xd1\xda\xe4\x4d" } , { "\xd7\xe0" , "\xd1\xe6" } , { "\xd7\xe0\xa2" , "\xd1\xe6\x4d" } , { "\xd7\xe1" , "\xd1\xe6\xde" } , { "\xd7\xe1\xa2" , "\xd1\xe6\xde\x4d" } , { "\xd7\xe2" , "\xd1\xe6\xe7" } , { "\xd7\xe2\xa2" , "\xd1\xe6\xe7\x4d" } , { "\xd7\xe3" , "\xd1\xe6" } , { "\xd7\xe4" , "\xd1\xe6\xe0" } , { "\xd7\xe4\xa2" , "\xd1\xe6\xe0\x4d" } , { "\xd7\xe5" , "\xd1\xe6\xe0\xde" } , { "\xd7\xe5\xa2" , "\xd1\xe6\xe0\xde\x4d" } , { "\xd7\xe6" , "\xd1\xe8" } , { "\xd7\xe6\xa2" , "\xd1\xe8\x4d" } , { "\xd7\xe6\xc2\xe8" , "\xd1\xe8\x7d\xe9" } , { "\xd7\xe7" , "\xd1\xe6\xe0" } , { "\xd7\xe7\xa2" , "\xd1\xe6\xe0\x4d" } , { "\xd7\xe8" , "\xd1\xe9" } , { "\xd7\xe8\xb3" , "\xd1\xda\x51" } , { "\xd7\xe8\xb3\xa2" , "\xd1\xda\x51\x4d" } , { "\xd7\xe8\xb3\xda" , "\xd1\xdb\x51" } , { "\xd7\xe8\xb3\xda\xa1" , "\xd1\xdb\x51\x4d" } , { "\xd7\xe8\xb3\xda\xa2" , "\xd1\xdb\x51\x4d" } , { "\xd7\xe8\xb3\xdb" , "\xd2\x51" } , { "\xd7\xe8\xb3\xdc" , "\xd2\x51\xde" } , { "\xd7\xe8\xb3\xdc\xa2" , "\xd2\x51\xde\x4d" } , { "\xd7\xe8\xb3\xdd" , "\xd1\xda\xdf\x51" } , { "\xd7\xe8\xb3\xde" , "\xd1\xda\xe0\x51" } , { "\xd7\xe8\xb3\xdf" , "\xd1\xda\xed" } , { "\xd7\xe8\xb3\xe0" , "\xd1\xe6\x51" } , { "\xd7\xe8\xb3\xe1" , "\xd1\xe6\x51\xde" } , { "\xd7\xe8\xb3\xe1\xa2" , "\xd1\xe6\x51\xde\x4d" } , { "\xd7\xe8\xb3\xe2" , "\xd1\xe6\x51\xfd\xe7" } , { "\xd7\xe8\xb3\xe2\xa2" , "\xd1\xe6\x51\xfd\xe7\x4d" } , { "\xd7\xe8\xb3\xe4" , "\xd1\xe6\xe0\x51" } , { "\xd7\xe8\xb3\xe5" , "\xd1\xe6\xe0\x51\xde" } , { "\xd7\xe8\xb3\xe5\xa2" , "\xd1\xe6\xe0\x51\xde\x4d" } , { "\xd7\xe8\xb3\xe6" , "\xd1\xe8\x51" } , { "\xd7\xe8\xb3\xe6\xa2" , "\xd1\xe8\x51\x4d" } , { "\xd7\xe8\xb3\xe7" , "\xd1\xe6\xe0\x51" } , { "\xd7\xe8\xb3\xe8" , "\xd1\xe9\x51" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\xd2\x51\xfc\x51" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\xd1\xda\xdf\x51\xfc\x51" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\xd1\xe6\x51\xfd\x60\xde" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\xd2\x51\xfd\x6f\x3d\x51\xde" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\xd1\xda\xdf\x51\xfd\x6f\x3e\xad" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xd1\xda\x51\xfa\xa1" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xd2\x51\xfa\xa1" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xd1\xda\xdf\x51\xfa\xa1" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\xd2\x51\xfd\xad" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\xd1\xda\xdf\x51\xfd\xad" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\xd1\xdb\x51\xfd\xb0" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\xd2\x51\xfc\xbd" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\xd1\xda\xdf\x51\xfc\xc0" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\xd1\xda\xe0\x51\xfc\xc0" } , { "\xd7\xe8\xb3\xe8\xcf" , "\xd1\xda\x51\xf0" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\xd1\xdb\x51\xf0" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\xd2\x51\xf0" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\xd2\x51\xf0\xde" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\xd2\x51\xf0\xde\x4d" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\xd1\xda\xdf\x51\xf0" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\xd1\xda\xe0\x51\xf0" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\xd1\xe6\x51\xf0\xde" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\xd1\xe6\x51\xf0\x3e\xe7" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\xd1\xe6\xe0\x51\xf0\xde" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\xd1\xe8\x51\xf0\x4d" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xd2\x51\xfa\xc7" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\xd2\x51\xfa\xc7\xde" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\xd1\xda\xdf\x51\xfa\xc7" } , { "\xd7\xe8\xb3\xe8\xd1\xe0" , "\xd1\xe6\x51\xfa\xc7" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xd1\xe6\x51\xfa\xc7\xde" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xd1\xe6\xe0\x51\xfa\xc7\xde" } , { "\xd7\xe8\xb3\xe8\xd4" , "\xd1\xda\x51\xfd\xca" } , { "\xd7\xe8\xb3\xe8\xd4\xda" , "\xd1\xdb\x51\xfd\xca" } , { "\xd7\xe8\xb3\xe8\xd4\xdb" , "\xd2\x51\xfd\xca" } , { "\xd7\xe8\xb3\xe8\xd4\xdc" , "\xd2\x51\xfd\xca\xde" } , { "\xd7\xe8\xb3\xe8\xd4\xe0" , "\xd1\xe6\x51\xfd\xca" } , { "\xd7\xe8\xb3\xe8\xd4\xe1" , "\xd1\xe6\x51\xfd\xca\xde" } , { "\xd7\xe8\xb3\xe8\xd4\xe2" , "\xd1\xe6\x51\xfd\xca\x3e\xe7" } , { "\xd7\xe8\xb3\xe8\xd4\xe7" , "\xd1\xe6\xe0\x51\xfd\xca" } , { "\xd7\xe8\xb3\xe8\xd5" , "\xd1\xda\x51\xfc\xcd" } , { "\xd7\xe8\xb3\xe8\xd7" , "\xd1\xda\x51\xfd\xd3" } , { "\xd7\xe8\xb3\xe9" , "\xd1\xda\x51" } , { "\xd7\xe8\xb4" , "\xd1\xda\x55" } , { "\xd7\xe8\xb4\xa2" , "\xd1\xda\x55\x4d" } , { "\xd7\xe8\xb4\xda" , "\xd1\xdb\x55" } , { "\xd7\xe8\xb4\xdb" , "\xd2\x55" } , { "\xd7\xe8\xb4\xdc" , "\xd2\x55\xde" } , { "\xd7\xe8\xb4\xe1" , "\xd1\xe6\x55\xde" } , { "\xd7\xe8\xb4\xe5\xa2" , "\xd1\xe6\xe0\x55\xde\x4d" } , { "\xd7\xe8\xb4\xe8\xcd" , "\xd1\xda\x55\xf4\xc0" } , { "\xd7\xe8\xb4\xe9\xe1" , "\xd1\xe6\x55\xde" } , { "\xd7\xe8\xb5" , "\xd1\xda\x58" } , { "\xd7\xe8\xb5\xda" , "\xd1\xdb\x58" } , { "\xd7\xe8\xb5\xdd" , "\xd1\xda\xdf\x58" } , { "\xd7\xe8\xb5\xde" , "\xd1\xda\xe0\x58" } , { "\xd7\xe8\xb5\xe5" , "\xd1\xe6\xe0\x58\xde" } , { "\xd7\xe8\xb5\xe6" , "\xd1\xe8\x58" } , { "\xd7\xe8\xb5\xe8" , "\xd1\xe9\x58" } , { "\xd7\xe8\xb8" , "\xd1\xda\x60" } , { "\xd7\xe8\xb8\xa2" , "\xd1\xda\x60\x4d" } , { "\xd7\xe8\xb8\xda" , "\xd1\xdb\x60" } , { "\xd7\xe8\xb8\xdb" , "\xd2\x60" } , { "\xd7\xe8\xb8\xdd" , "\xd1\xda\xdf\x60" } , { "\xd7\xe8\xb8\xde" , "\xd1\xda\xe0\x60" } , { "\xd7\xe8\xb8\xdf" , "\xd1\xda\x60\x3e\xe4" } , { "\xd7\xe8\xb8\xe0" , "\xd1\xe6\x60" } , { "\xd7\xe8\xb8\xe1" , "\xd1\xe6\x60\xde" } , { "\xd7\xe8\xb8\xe5" , "\xd1\xe6\xe0\x60\xde" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\xd2\x60\xf1\xde" } , { "\xd7\xe8\xb8\xe8\xcf\xe0" , "\xd1\xe6\x60\xf1" } , { "\xd7\xe8\xb9\xda" , "\xd1\xdb\x63" } , { "\xd7\xe8\xba" , "\xd1\xda\x67" } , { "\xd7\xe8\xba\xda" , "\xd1\xdb\x67" } , { "\xd7\xe8\xba\xdb" , "\xd2\x67" } , { "\xd7\xe8\xba\xdc" , "\xd2\x67\xde" } , { "\xd7\xe8\xba\xe1" , "\xd1\xe6\x67\xde" } , { "\xd7\xe8\xba\xe8\xbc" , "\xd1\xda\x67\xf3\x6b" } , { "\xd7\xe8\xba\xe9\xdb" , "\xd2\x67" } , { "\xd7\xe8\xbd" , "\xd1\xda\x6f" } , { "\xd7\xe8\xbd\xa2" , "\xd1\xda\x6f\x4d" } , { "\xd7\xe8\xbd\xda" , "\xd1\xdb\x6f" } , { "\xd7\xe8\xbd\xda\xa1" , "\xd1\xdb\x6f\x4d" } , { "\xd7\xe8\xbd\xda\xa2" , "\xd1\xdb\x6f\x4d" } , { "\xd7\xe8\xbd\xdb" , "\xd2\x6f" } , { "\xd7\xe8\xbd\xdb\xa2" , "\xd2\x6f\x4d" } , { "\xd7\xe8\xbd\xdc" , "\xd2\x6f\xde" } , { "\xd7\xe8\xbd\xdc\xa2" , "\xd2\x6f\xde\x4d" } , { "\xd7\xe8\xbd\xdd" , "\xd1\xda\xdf\x6f" } , { "\xd7\xe8\xbd\xde" , "\xd1\xda\xe0\x6f" } , { "\xd7\xe8\xbd\xde\xa2" , "\xd1\xda\xe0\x6f\x4d" } , { "\xd7\xe8\xbd\xe0" , "\xd1\xe6\x6f" } , { "\xd7\xe8\xbd\xe0\xa2" , "\xd1\xe6\x6f\x4d" } , { "\xd7\xe8\xbd\xe1" , "\xd1\xe6\x6f\xde" } , { "\xd7\xe8\xbd\xe1\xa2" , "\xd1\xe6\x6f\xde\x4d" } , { "\xd7\xe8\xbd\xe2" , "\xd1\xe6\x6f\x3e\xe7" } , { "\xd7\xe8\xbd\xe2\xa2" , "\xd1\xe6\x6f\x3e\xe7\x4d" } , { "\xd7\xe8\xbd\xe4" , "\xd1\xe6\xe0\x6f" } , { "\xd7\xe8\xbd\xe5" , "\xd1\xe6\xe0\x6f\xde" } , { "\xd7\xe8\xbd\xe5\xa2" , "\xd1\xe6\xe0\x6f\xde\x4d" } , { "\xd7\xe8\xbd\xe6" , "\xd1\xe8\x6f" } , { "\xd7\xe8\xbd\xe7" , "\xd1\xe6\xe0\x6f" } , { "\xd7\xe8\xbd\xe8" , "\xd1\xe9\x6f" } , { "\xd7\xe8\xbd\xe8\xb3" , "\xd1\xda\x6f\x3d\x51" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\xd1\xdb\x6f\x3d\x51" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\xd2\x6f\x3d\x51" } , { "\xd7\xe8\xbd\xe8\xb3\xe4" , "\xd1\xe6\xe0\x6f\x3d\x51" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\xd1\xe6\xe0\x6f\x3d\x51\xde" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\xd1\xdb\x6f\x3d\x51\xfa\xc7" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\xd1\xdb\x6f\xfe\x58" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\xd1\xe6\x6f\xfe\x58\xde" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\xd1\xdb\x6f\xfe\x58\xf0" } , { "\xd7\xe8\xbd\xe8\xb8" , "\xd1\xda\x6f\x3e\x60" } , { "\xd7\xe8\xbd\xe8\xb8\xe0" , "\xd1\xe6\x6f\x3e\x60" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\xd1\xe6\x6f\x3e\x60\xde" } , { "\xd7\xe8\xbd\xe8\xba" , "\xd1\xda\x6f\xfe\x67" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\xd1\xe6\x6f\x3e\x6f\x3e\xe7" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\xd1\xda\xe0\x6f\x3e\x6f\x3d\xc0" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\xd1\xe6\xe0\x6f\xfe\xa1\xde" } , { "\xd7\xe8\xbd\xe8\xc6" , "\xd1\xda\x6f\x3e\xad" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\xd2\x6f\x3e\xad" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\xd1\xda\xdf\x6f\x3e\xad" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\xd1\xe6\x6f\x3e\xad\xde" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\xd1\xe6\x6f\x3e\xad\x3e\xe7" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\xd1\xe9\x6f\x3e\xad" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\xd1\xdb\x6f\x3e\xb0" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\xd2\x6f\x3e\xb0\x4d" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\xd1\xe6\x6f\x3e\xb0\x3e\xe7" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\xd1\xe6\xe0\x6f\x3e\xb0\xde" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\xd1\xe6\x6f\x3e\xb0\xf1\x3e\xe7" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\xd1\xdb\x6f\x3e\xb5" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\xd2\x6f\x3e\xb5" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\xd1\xdb\x6f\x3e\xb9" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\xd2\x6f\x3e\xb9" } , { "\xd7\xe8\xbd\xe8\xca\xe0\xa2" , "\xd1\xe6\x6f\x3e\xb9\x4d" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\xd1\xe8\x6f\x3e\xb9" } , { "\xd7\xe8\xbd\xe8\xcc" , "\xd1\xda\x6f\x3d\xbd" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\xd1\xdb\x6f\x3d\xbd" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\xd1\xda\xe0\x6f\x3d\xc0" } , { "\xd7\xe8\xbd\xe8\xcf" , "\xd1\xda\x6f\xf1" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\xd1\xda\x6f\xf1\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\xd1\xdb\x6f\xf1" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\xd1\xdb\x6f\xf1\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xd1\xdb\x6f\xf1\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd2\x6f\xf1" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\xd2\x6f\xf1\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\xd2\x6f\xf1\xde" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\xd1\xda\xdf\x6f\xf1" } , { "\xd7\xe8\xbd\xe8\xcf\xe0" , "\xd1\xe6\x6f\xf1" } , { "\xd7\xe8\xbd\xe8\xcf\xe0\xa2" , "\xd1\xe6\x6f\xf1\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\xd1\xe6\x6f\xf1\xde" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\xd1\xe6\x6f\xf1\xde\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\xd1\xe6\x6f\xf1\x3e\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\xd1\xe6\x6f\xf1\x3e\xe7\x4d" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\xd1\xe6\xe0\x6f\xf1\xde" } , { "\xd7\xe8\xbd\xe8\xcf\xe7" , "\xd1\xe6\xe0\x6f\xf1" } , { "\xd7\xe8\xbd\xe8\xcf\xe7\xa2" , "\xd1\xe6\xe0\x6f\xf1\x4d" } , { "\xd7\xe8\xbd\xe8\xd1" , "\xd1\xda\x6f\xfe\xc7" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\xd1\xdb\x6f\xfe\xc7" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\xd2\x6f\xfe\xc7" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\xd2\x6f\xfe\xc7\xde" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\xd1\xda\xdf\x6f\xfe\xc7" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\xd1\xe6\x6f\xfe\xc7\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\xd1\xe6\xe0\x6f\xfe\xc7\xde" } , { "\xd7\xe8\xbd\xe8\xd4\xa2" , "\xd1\xda\x6f\x3e\xca\x4d" } , { "\xd7\xe8\xbd\xe8\xd4\xda" , "\xd1\xdb\x6f\x3e\xca" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\xd1\xe6\xe0\x6f\x3e\xd0\xde" } , { "\xd7\xe8\xbd\xe8\xd7" , "\xd1\xda\x6f\x3e\xd3" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\xd2\x6f\x3e\xd3\x4d" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\xd1\xda\xdf\x6f\x3e\xd3" } , { "\xd7\xe8\xbd\xe8\xd7\xe0" , "\xd1\xe6\x6f\x3e\xd3" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\xd1\xe6\x6f\x3e\xd3\xde" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\xd1\xe9\x6f\x3e\xd3" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\xd2\x6f\x3e\xd3\xfe\xc7" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd4" , "\xd1\xda\x6f\x3e\xd3\x3e\xca" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\xd1\xdb\x6f\x3c\xd6" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\xd2\x6f\x3c\xd6" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\xd1\xe6\xe0\x6f\x3c\xd6\xde" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\xd1\xda\x6f\xd1\xda" } , { "\xd7\xe8\xbe" , "\xd1\xda\x72" } , { "\xd7\xe8\xbe\xda" , "\xd1\xdb\x72" } , { "\xd7\xe8\xbe\xdb" , "\xd2\x72" } , { "\xd7\xe8\xbe\xdd" , "\xd1\xda\xdf\x72" } , { "\xd7\xe8\xbe\xe0" , "\xd1\xe6\x72" } , { "\xd7\xe8\xbf" , "\xd1\xda\x75" } , { "\xd7\xe8\xbf\xda" , "\xd1\xdb\x75" } , { "\xd7\xe8\xbf\xdb" , "\xd2\x75" } , { "\xd7\xe8\xbf\xdd" , "\xd1\xda\xdf\x75" } , { "\xd7\xe8\xbf\xe0" , "\xd1\xe6\x75" } , { "\xd7\xe8\xbf\xe1" , "\xd1\xe6\x75\xde" } , { "\xd7\xe8\xbf\xe2" , "\xd1\xe6\x75\xf5\xe7" } , { "\xd7\xe8\xbf\xe8" , "\xd1\xe9\x75" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\xd1\xdb\x75\xf4\x51" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\xd2\x75\xf0\x4d" } , { "\xd7\xe8\xbf\xe8\xcf\xe0" , "\xd1\xe6\x75\xf0" } , { "\xd7\xe8\xc1" , "\xd1\xda\x7c" } , { "\xd7\xe8\xc1\xdd" , "\xd1\xda\xdf\x7c" } , { "\xd7\xe8\xc2" , "\xd1\xda\xa1" } , { "\xd7\xe8\xc2\xa2" , "\xd1\xda\xa1\x4d" } , { "\xd7\xe8\xc2\xda" , "\xd1\xdb\xa1" } , { "\xd7\xe8\xc2\xda\xa1" , "\xd1\xdb\xa1\x4d" } , { "\xd7\xe8\xc2\xda\xa2" , "\xd1\xdb\xa1\x4d" } , { "\xd7\xe8\xc2\xda\xa3" , "\xd1\xdb\xa1\x4e" } , { "\xd7\xe8\xc2\xdb" , "\xd2\xa1" } , { "\xd7\xe8\xc2\xdb\xa2" , "\xd2\xa1\x4d" } , { "\xd7\xe8\xc2\xdc" , "\xd2\xa1\xde" } , { "\xd7\xe8\xc2\xdc\xa2" , "\xd2\xa1\xde\x4d" } , { "\xd7\xe8\xc2\xdd" , "\xd1\xda\xdf\xa1" } , { "\xd7\xe8\xc2\xdd\xa2" , "\xd1\xda\xdf\xa1\x4d" } , { "\xd7\xe8\xc2\xde" , "\xd1\xda\xe0\xa1" } , { "\xd7\xe8\xc2\xde\xa2" , "\xd1\xda\xe0\xa1\x4d" } , { "\xd7\xe8\xc2\xdf" , "\xd1\xda\xea" } , { "\xd7\xe8\xc2\xdf\xa2" , "\xd1\xda\xea\x4d" } , { "\xd7\xe8\xc2\xe0" , "\xd1\xe6\xa1" } , { "\xd7\xe8\xc2\xe1" , "\xd1\xe6\xa1\xde" } , { "\xd7\xe8\xc2\xe1\xa2" , "\xd1\xe6\xa1\xde\x4d" } , { "\xd7\xe8\xc2\xe2" , "\xd1\xe6\xeb" } , { "\xd7\xe8\xc2\xe4" , "\xd1\xe6\xe0\xa1" } , { "\xd7\xe8\xc2\xe4\xa2" , "\xd1\xe6\xe0\xa1\x4d" } , { "\xd7\xe8\xc2\xe5" , "\xd1\xe6\xe0\xa1\xde" } , { "\xd7\xe8\xc2\xe5\xa2" , "\xd1\xe6\xe0\xa1\xde\x4d" } , { "\xd7\xe8\xc2\xe6" , "\xd1\xe8\xa1" } , { "\xd7\xe8\xc2\xe8" , "\xd1\xe9\xa1" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xd1\xda\xa1\xf2\xa1" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xd2\xa1\xf2\xa1" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xd1\xda\xdf\xa1\xf2\xa1" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\xd1\xda\xa1\xf2\xa1\xf0" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\xd1\xdb\xa1\xf5\xad" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\xd2\xa1\xf5\xad" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\xd1\xda\xdf\xa1\xf4\xbd" } , { "\xd7\xe8\xc2\xe8\xcd" , "\xd1\xda\xa1\xf4\xc0" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\xd1\xda\xa1\xf4\xc0\x4d" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\xd1\xdb\xa1\xf4\xc0" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\xd1\xdb\xa1\xf4\xc0\x4d" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\xd1\xda\xdf\xa1\xf4\xc0" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\xd1\xe6\xa1\xf4\xc0\xde" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\xd1\xe6\xa1\xf4\xc0\xfd\xe7" } , { "\xd7\xe8\xc2\xe8\xcf" , "\xd1\xda\xa1\xf0" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\xd1\xda\xa1\xf0\x4d" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\xd1\xdb\xa1\xf0" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\xd1\xdb\xa1\xf0\x4d" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\xd2\xa1\xf0" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\xd2\xa1\xf0\xde" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\xd1\xda\xdf\xa1\xf0" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\xd1\xda\xa1\xf0\x3e\xe4" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\xd1\xe6\xa1\xf0\xde" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\xd1\xe6\xa1\xf0\x3e\xe7" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\xd1\xe6\xe0\xa1\xf0\xde" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\xd1\xe6\xe0\xa1\xf0\xde\x4d" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\xd1\xda\xdf\xa1\xf0\x3d\xc0" } , { "\xd7\xe8\xc2\xe8\xd4" , "\xd1\xda\xec" } , { "\xd7\xe8\xc2\xe8\xd4\xa2" , "\xd1\xda\xec\x4d" } , { "\xd7\xe8\xc2\xe8\xd4\xda" , "\xd1\xdb\xec" } , { "\xd7\xe8\xc2\xe8\xd4\xdb" , "\xd2\xec" } , { "\xd7\xe8\xc2\xe8\xd4\xe2" , "\xd1\xe6\xec\x3e\xe7" } , { "\xd7\xe8\xc2\xe8\xd4\xe5" , "\xd1\xe6\xe0\xec\xde" } , { "\xd7\xe8\xc2\xe8\xd4\xe6" , "\xd1\xe8\xec" } , { "\xd7\xe8\xc2\xe8\xd4\xe8\xcd\xdd" , "\xd1\xda\xdf\xec\x3d\xc0" } , { "\xd7\xe8\xc3" , "\xd1\xda\xa4" } , { "\xd7\xe8\xc3\xa2" , "\xd1\xda\xa4\x4d" } , { "\xd7\xe8\xc3\xa3" , "\xd1\xda\xa4\x4e" } , { "\xd7\xe8\xc3\xda" , "\xd1\xdb\xa4" } , { "\xd7\xe8\xc3\xda\xa2" , "\xd1\xdb\xa4\x4d" } , { "\xd7\xe8\xc3\xda\xa3" , "\xd1\xdb\xa4\x4e" } , { "\xd7\xe8\xc3\xdb" , "\xd2\xa4" } , { "\xd7\xe8\xc3\xdb\xa2" , "\xd2\xa4\x4d" } , { "\xd7\xe8\xc3\xdc" , "\xd2\xa4\xde" } , { "\xd7\xe8\xc3\xdd" , "\xd1\xda\xdf\xa4" } , { "\xd7\xe8\xc3\xde" , "\xd1\xda\xe0\xa4" } , { "\xd7\xe8\xc3\xe0" , "\xd1\xe6\xa4" } , { "\xd7\xe8\xc3\xe1" , "\xd1\xe6\xa4\xde" } , { "\xd7\xe8\xc3\xe2" , "\xd1\xe6\xa4\xf5\xe7" } , { "\xd7\xe8\xc3\xe5" , "\xd1\xe6\xe0\xa4\xde" } , { "\xd7\xe8\xc3\xe5\xa2" , "\xd1\xe6\xe0\xa4\xde\x4d" } , { "\xd7\xe8\xc3\xe6" , "\xd1\xe8\xa4" } , { "\xd7\xe8\xc3\xe8" , "\xd1\xe9\xa4" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\xd1\xda\xdf\xa4\xf4\x51" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\xd2\xa4\xf2\xa1" } , { "\xd7\xe8\xc3\xe8\xc6" , "\xd1\xda\xa4\xf5\xad" } , { "\xd7\xe8\xc3\xe8\xcd" , "\xd1\xda\xa4\xf4\xc0" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\xd1\xda\xa4\xf4\xc0\x4d" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\xd1\xdb\xa4\xf4\xc0" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\xd1\xe9\xa2\xda\xb4\xc0\xfa\xa7\xf4\xc0" } , { "\xd7\xe8\xc3\xe8\xcf" , "\xd1\xda\xa4\xf0" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\xd2\xa4\xf0\xde" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xd1\xda\xdf\xa4\xf2\xc7" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\xd1\xdb\xa4\xf5\xd3" } , { "\xd7\xe8\xc4" , "\xd1\xda\xa7" } , { "\xd7\xe8\xc4\xda" , "\xd1\xdb\xa7" } , { "\xd7\xe8\xc4\xdb" , "\xd2\xa7" } , { "\xd7\xe8\xc4\xdd" , "\xd1\xda\xdf\xa7" } , { "\xd7\xe8\xc4\xdd\xa2" , "\xd1\xda\xdf\xa7\x4d" } , { "\xd7\xe8\xc4\xde\xa2" , "\xd1\xda\xe0\xa7\x4d" } , { "\xd7\xe8\xc4\xe1" , "\xd1\xe6\xa7\xde" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\xd1\xe6\xe0\xa7\xf2\xa7\xde" } , { "\xd7\xe8\xc4\xe8\xd4\xda" , "\xd1\xdb\xa7\xf5\xca" } , { "\xd7\xe8\xc5" , "\xd1\xda\xaa" } , { "\xd7\xe8\xc5\xa2" , "\xd1\xda\xaa\x4d" } , { "\xd7\xe8\xc5\xda" , "\xd1\xdb\xaa" } , { "\xd7\xe8\xc5\xdb" , "\xd2\xaa" } , { "\xd7\xe8\xc5\xdd" , "\xd1\xda\xdf\xaa" } , { "\xd7\xe8\xc5\xde" , "\xd1\xda\xe0\xaa" } , { "\xd7\xe8\xc5\xe0" , "\xd1\xe6\xaa" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\xd1\xda\xaa\xf4\xc0\x4d" } , { "\xd7\xe8\xc6" , "\xd1\xda\xad" } , { "\xd7\xe8\xc6\xa2" , "\xd1\xda\xad\x4d" } , { "\xd7\xe8\xc6\xda" , "\xd1\xdb\xad" } , { "\xd7\xe8\xc6\xdb" , "\xd2\xad" } , { "\xd7\xe8\xc6\xdc" , "\xd2\xad\xde" } , { "\xd7\xe8\xc6\xdd" , "\xd1\xda\xdf\xad" } , { "\xd7\xe8\xc6\xdd\xa2" , "\xd1\xda\xdf\xad\x4d" } , { "\xd7\xe8\xc6\xde" , "\xd1\xda\xe0\xad" } , { "\xd7\xe8\xc6\xe0" , "\xd1\xe6\xad" } , { "\xd7\xe8\xc6\xe1" , "\xd1\xe6\xad\xde" } , { "\xd7\xe8\xc6\xe2" , "\xd1\xe6\xad\x3e\xe7" } , { "\xd7\xe8\xc6\xe5" , "\xd1\xe6\xe0\xad\xde" } , { "\xd7\xe8\xc6\xe8\xc6" , "\xd1\xda\xad\x3e\xad" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\xd1\xda\xdf\xad\x3e\xad" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\xd1\xe6\xad\x3e\xad\xde" } , { "\xd7\xe8\xc8" , "\xd1\xda\xb0" } , { "\xd7\xe8\xc8\xa2" , "\xd1\xda\xb0\x4d" } , { "\xd7\xe8\xc8\xda" , "\xd1\xdb\xb0" } , { "\xd7\xe8\xc8\xda\xa2" , "\xd1\xdb\xb0\x4d" } , { "\xd7\xe8\xc8\xdb" , "\xd2\xb0" } , { "\xd7\xe8\xc8\xdb\xa2" , "\xd2\xb0\x4d" } , { "\xd7\xe8\xc8\xdc" , "\xd2\xb0\xde" } , { "\xd7\xe8\xc8\xdd" , "\xd1\xda\xdf\xb0" } , { "\xd7\xe8\xc8\xde" , "\xd1\xda\xe0\xb0" } , { "\xd7\xe8\xc8\xdf" , "\xd1\xda\xb0\x3e\xe4" } , { "\xd7\xe8\xc8\xe0" , "\xd1\xe6\xb0" } , { "\xd7\xe8\xc8\xe0\xa2" , "\xd1\xe6\xb0\x4d" } , { "\xd7\xe8\xc8\xe1" , "\xd1\xe6\xb0\xde" } , { "\xd7\xe8\xc8\xe1\xa2" , "\xd1\xe6\xb0\xde\x4d" } , { "\xd7\xe8\xc8\xe2" , "\xd1\xe6\xb0\x3e\xe7" } , { "\xd7\xe8\xc8\xe2\xa2" , "\xd1\xe6\xb0\x3e\xe7\x4d" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\xd1\xe6\xb0\x3e\xe7\x73\xe9" } , { "\xd7\xe8\xc8\xe4" , "\xd1\xe6\xe0\xb0" } , { "\xd7\xe8\xc8\xe5" , "\xd1\xe6\xe0\xb0\xde" } , { "\xd7\xe8\xc8\xe5\xa2" , "\xd1\xe6\xe0\xb0\xde\x4d" } , { "\xd7\xe8\xc8\xe6" , "\xd1\xe8\xb0" } , { "\xd7\xe8\xc8\xe7" , "\xd1\xe6\xe0\xb0" } , { "\xd7\xe8\xc8\xe8" , "\xd1\xe9\xb0" } , { "\xd7\xe8\xc8\xe8\xca\xe0" , "\xd1\xe6\xb0\x3e\xb9" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\xd1\xda\xe0\xb0\x3d\xc0" } , { "\xd7\xe8\xc8\xe8\xcf" , "\xd1\xda\xb0\xf1" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\xd1\xdb\xb0\xf1" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\xd2\xb0\xf1" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\xd2\xb0\xf1\x4d" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\xd1\xda\xdf\xb0\xf1" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\xd1\xda\xe0\xb0\xf1" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\xd1\xe6\xb0\xf1\xde" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\xd1\xe6\xb0\xf1\x3e\xe7" } , { "\xd7\xe8\xc8\xe8\xcf\xe4" , "\xd1\xe6\xe0\xb0\xf1" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\xd1\xe6\xe0\xb0\xf1\xde" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\xd1\xdb\xb0\xfe\xc7" } , { "\xd7\xe8\xc8\xe8\xd1\xe0" , "\xd1\xe6\xb0\xfe\xc7" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xd1\xe6\xb0\xfe\xc7\xde" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\xd1\xda\xb0\x3d\xcd\xfc\xc0" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\xd1\xdb\xb0\x3e\xd3" } , { "\xd7\xe8\xc8\xe8\xd8" , "\xd1\xda\xb0\x3c\xd6" } , { "\xd7\xe8\xc9" , "\xd1\xda\xb5" } , { "\xd7\xe8\xc9\xa2" , "\xd1\xda\xb5\x4d" } , { "\xd7\xe8\xc9\xda" , "\xd1\xdb\xb5" } , { "\xd7\xe8\xc9\xda\xa2" , "\xd1\xdb\xb5\x4d" } , { "\xd7\xe8\xc9\xdb" , "\xd2\xb5" } , { "\xd7\xe8\xc9\xdb\xa2" , "\xd2\xb5\x4d" } , { "\xd7\xe8\xc9\xdc" , "\xd2\xb5\xde" } , { "\xd7\xe8\xc9\xdd" , "\xd1\xda\xdf\xb5" } , { "\xd7\xe8\xc9\xde" , "\xd1\xda\xe0\xb5" } , { "\xd7\xe8\xc9\xdf" , "\xd1\xda\xb5\x3e\xe4" } , { "\xd7\xe8\xc9\xe0" , "\xd1\xe6\xb5" } , { "\xd7\xe8\xc9\xe0\xa2" , "\xd1\xe6\xb5\x4d" } , { "\xd7\xe8\xc9\xe1" , "\xd1\xe6\xb5\xde" } , { "\xd7\xe8\xc9\xe2" , "\xd1\xe6\xb5\x3e\xe7" } , { "\xd7\xe8\xc9\xe4" , "\xd1\xe6\xe0\xb5" } , { "\xd7\xe8\xc9\xe5" , "\xd1\xe6\xe0\xb5\xde" } , { "\xd7\xe8\xc9\xe6" , "\xd1\xe8\xb5" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\xd1\xdb\xb5\x3d\xc0" } , { "\xd7\xe8\xca" , "\xd1\xda\xb9" } , { "\xd7\xe8\xca\xda" , "\xd1\xdb\xb9" } , { "\xd7\xe8\xca\xdb" , "\xd2\xb9" } , { "\xd7\xe8\xca\xdd" , "\xd1\xda\xdf\xb9" } , { "\xd7\xe8\xca\xe0" , "\xd1\xe6\xb9" } , { "\xd7\xe8\xca\xe1" , "\xd1\xe6\xb9\xde" } , { "\xd7\xe8\xca\xe1\xa2" , "\xd1\xe6\xb9\xde\x4d" } , { "\xd7\xe8\xca\xe2" , "\xd1\xe6\xb9\x3e\xe7" } , { "\xd7\xe8\xca\xe5" , "\xd1\xe6\xe0\xb9\xde" } , { "\xd7\xe8\xca\xe5\xa2" , "\xd1\xe6\xe0\xb9\xde\x4d" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\xd1\xda\xe0\xb9\xf1" } , { "\xd7\xe8\xcb" , "\xd1\xda\xbc" } , { "\xd7\xe8\xcb\xdb" , "\xd2\xbc" } , { "\xd7\xe8\xcb\xe0" , "\xd1\xe6\xbc" } , { "\xd7\xe8\xcc" , "\xd1\xda\xbd" } , { "\xd7\xe8\xcc\xa2" , "\xd1\xda\xbd\x4d" } , { "\xd7\xe8\xcc\xda" , "\xd1\xdb\xbd" } , { "\xd7\xe8\xcc\xda\xa2" , "\xd1\xdb\xbd\x4d" } , { "\xd7\xe8\xcc\xdb" , "\xd2\xbd" } , { "\xd7\xe8\xcc\xdc" , "\xd2\xbd\xde" } , { "\xd7\xe8\xcc\xdd" , "\xd1\xda\xdf\xbd" } , { "\xd7\xe8\xcc\xdd\xa2" , "\xd1\xda\xdf\xbd\x4d" } , { "\xd7\xe8\xcc\xdf" , "\xd1\xda\xbd\xfd\xe4" } , { "\xd7\xe8\xcc\xe0" , "\xd1\xe6\xbd" } , { "\xd7\xe8\xcc\xe0\xa2" , "\xd1\xe6\xbd\x4d" } , { "\xd7\xe8\xcc\xe1" , "\xd1\xe6\xbd\xde" } , { "\xd7\xe8\xcc\xe1\xa2" , "\xd1\xe6\xbd\xde\x4d" } , { "\xd7\xe8\xcc\xe2" , "\xd1\xe6\xbd\xfd\xe7" } , { "\xd7\xe8\xcc\xe2\xa2" , "\xd1\xe6\xbd\xfd\xe7\x4d" } , { "\xd7\xe8\xcc\xe4" , "\xd1\xe6\xe0\xbd" } , { "\xd7\xe8\xcc\xe5" , "\xd1\xe6\xe0\xbd\xde" } , { "\xd7\xe8\xcc\xe5\xa2" , "\xd1\xe6\xe0\xbd\xde\x4d" } , { "\xd7\xe8\xcc\xe6" , "\xd1\xe8\xbd" } , { "\xd7\xe8\xcc\xe8" , "\xd1\xe9\xbd" } , { "\xd7\xe8\xcc\xe8\xc2" , "\xd1\xda\xbd\xfa\xa1" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\xd2\xbd\xfa\xa1" } , { "\xd7\xe8\xcc\xe8\xcc" , "\xd1\xda\xbd\xfc\xbd" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\xd1\xdb\xbd\xfc\xc0\x4d" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\xd1\xda\xdf\xbd\xfc\xc0" } , { "\xd7\xe8\xcc\xe8\xd1" , "\xd1\xda\xbd\xfa\xc7" } , { "\xd7\xe8\xcd" , "\xd1\xda\xc0" } , { "\xd7\xe8\xcd\xa2" , "\xd1\xda\xc0\x4d" } , { "\xd7\xe8\xcd\xa3" , "\xd1\xda\xc0\x4e" } , { "\xd7\xe8\xcd\xda" , "\xd1\xdb\xc0" } , { "\xd7\xe8\xcd\xda\xa2" , "\xd1\xdb\xc0\x4d" } , { "\xd7\xe8\xcd\xda\xa3" , "\xd1\xdb\xc0\x4e" } , { "\xd7\xe8\xcd\xdb" , "\xd2\xc0" } , { "\xd7\xe8\xcd\xdc" , "\xd2\xc0\xde" } , { "\xd7\xe8\xcd\xdd" , "\xd1\xda\xdf\xc0" } , { "\xd7\xe8\xcd\xdd\xa3" , "\xd1\xda\xdf\xc0\x4e" } , { "\xd7\xe8\xcd\xde" , "\xd1\xda\xe0\xc0" } , { "\xd7\xe8\xcd\xde\xa2" , "\xd1\xda\xe0\xc0\x4d" } , { "\xd7\xe8\xcd\xe0" , "\xd1\xe6\xc0" } , { "\xd7\xe8\xcd\xe1" , "\xd1\xe6\xc0\xde" } , { "\xd7\xe8\xcd\xe2" , "\xd1\xe6\xc0\xfd\xe7" } , { "\xd7\xe8\xcd\xe4" , "\xd1\xe6\xe0\xc0" } , { "\xd7\xe8\xcd\xe5" , "\xd1\xe6\xe0\xc0\xde" } , { "\xd7\xe8\xcd\xe5\xa2" , "\xd1\xe6\xe0\xc0\xde\x4d" } , { "\xd7\xe8\xcd\xe5\xa3" , "\xd1\xe6\xe0\xc0\xde\x4e" } , { "\xd7\xe8\xcd\xe6" , "\xd1\xe8\xc0" } , { "\xd7\xe8\xcd\xe8" , "\xd1\xe9\xc0" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\xd1\xdb\xc0\xfc\xc0" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\xd1\xdb\xc0\xf0" } , { "\xd7\xe8\xcf" , "\xd1\xda\xc3" } , { "\xd7\xe8\xcf\xa2" , "\xd1\xda\xc3\x4d" } , { "\xd7\xe8\xcf\xda" , "\xd1\xdb\xc3" } , { "\xd7\xe8\xcf\xda\xa2" , "\xd1\xdb\xc3\x4d" } , { "\xd7\xe8\xcf\xdb" , "\xd2\xc3" } , { "\xd7\xe8\xcf\xdb\xa2" , "\xd2\xc3\x4d" } , { "\xd7\xe8\xcf\xdc" , "\xd2\xc3\xde" } , { "\xd7\xe8\xcf\xdd" , "\xd1\xda\xdf\xc3" } , { "\xd7\xe8\xcf\xde" , "\xd1\xda\xe0\xc3" } , { "\xd7\xe8\xcf\xde\xa2" , "\xd1\xda\xe0\xc3\x4d" } , { "\xd7\xe8\xcf\xdf" , "\xd1\xda\xc3\x3e\xe4" } , { "\xd7\xe8\xcf\xe0" , "\xd1\xe6\xc3" } , { "\xd7\xe8\xcf\xe1" , "\xd1\xe6\xc3\xde" } , { "\xd7\xe8\xcf\xe2" , "\xd1\xe6\xee" } , { "\xd7\xe8\xcf\xe5" , "\xd1\xe6\xe0\xc3\xde" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xd1\xe6\xe0\xc3\xde\x4d" } , { "\xd7\xe8\xcf\xe8\xbd" , "\xd1\xda\xc3\x3e\x6f" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\xd1\xe6\xc3\x3e\xb0\xde" } , { "\xd7\xe8\xcf\xe8\xd4\xda" , "\xd1\xdb\xc3\x3e\xca" } , { "\xd7\xe8\xd1" , "\xd1\xda\xc7" } , { "\xd7\xe8\xd1\xa2" , "\xd1\xda\xc7\x4d" } , { "\xd7\xe8\xd1\xda" , "\xd1\xdb\xc7" } , { "\xd7\xe8\xd1\xda\xa2" , "\xd1\xdb\xc7\x4d" } , { "\xd7\xe8\xd1\xdb" , "\xd2\xc7" } , { "\xd7\xe8\xd1\xdb\xa2" , "\xd2\xc7\x4d" } , { "\xd7\xe8\xd1\xdc" , "\xd2\xc7\xde" } , { "\xd7\xe8\xd1\xdc\xa2" , "\xd2\xc7\xde\x4d" } , { "\xd7\xe8\xd1\xdd" , "\xd1\xda\xdf\xc7" } , { "\xd7\xe8\xd1\xdd\xa2" , "\xd1\xda\xdf\xc7\x4d" } , { "\xd7\xe8\xd1\xde" , "\xd1\xda\xe0\xc7" } , { "\xd7\xe8\xd1\xe0" , "\xd1\xe6\xc7" } , { "\xd7\xe8\xd1\xe1" , "\xd1\xe6\xc7\xde" } , { "\xd7\xe8\xd1\xe1\xa2" , "\xd1\xe6\xc7\xde\x4d" } , { "\xd7\xe8\xd1\xe2" , "\xd1\xe6\xc7\xf5\xe7" } , { "\xd7\xe8\xd1\xe4" , "\xd1\xe6\xe0\xc7" } , { "\xd7\xe8\xd1\xe5" , "\xd1\xe6\xe0\xc7\xde" } , { "\xd7\xe8\xd1\xe5\xa2" , "\xd1\xe6\xe0\xc7\xde\x4d" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\xd2\xc7\xf4\x51" } , { "\xd7\xe8\xd1\xe8\xb3\xe0" , "\xd1\xe6\xc7\xf4\x51" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\xd1\xe6\xe0\xc7\xf4\x51\xde" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\xd1\xdb\xc7\xf5\xb0\x4d" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\xd2\xc7\xf5\xb0\xde" } , { "\xd7\xe8\xd1\xe8\xc8\xe0" , "\xd1\xe6\xc7\xf5\xb0" } , { "\xd7\xe8\xd1\xe8\xc8\xe0\xa2" , "\xd1\xe6\xc7\xf5\xb0\x4d" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\xd1\xdb\xc7\xf5\xd3\x4d" } , { "\xd7\xe8\xd4" , "\xd1\xda\xca" } , { "\xd7\xe8\xd4\xa2" , "\xd1\xda\xca\x4d" } , { "\xd7\xe8\xd4\xda" , "\xd1\xdb\xca" } , { "\xd7\xe8\xd4\xda\xa1" , "\xd1\xdb\xca\x4d" } , { "\xd7\xe8\xd4\xda\xa2" , "\xd1\xdb\xca\x4d" } , { "\xd7\xe8\xd4\xdb" , "\xd2\xca" } , { "\xd7\xe8\xd4\xdb\xa2" , "\xd2\xca\x4d" } , { "\xd7\xe8\xd4\xdc" , "\xd2\xca\xde" } , { "\xd7\xe8\xd4\xdc\xa2" , "\xd2\xca\xde\x4d" } , { "\xd7\xe8\xd4\xdd" , "\xd1\xda\xdf\xca" } , { "\xd7\xe8\xd4\xdd\xa2" , "\xd1\xda\xdf\xca\x4d" } , { "\xd7\xe8\xd4\xdf" , "\xd1\xda\xca\x3e\xe4" } , { "\xd7\xe8\xd4\xe0" , "\xd1\xe6\xca" } , { "\xd7\xe8\xd4\xe1" , "\xd1\xe6\xca\xde" } , { "\xd7\xe8\xd4\xe2" , "\xd1\xe6\xca\x3e\xe7" } , { "\xd7\xe8\xd4\xe2\xa2" , "\xd1\xe6\xca\x3e\xe7\x4d" } , { "\xd7\xe8\xd4\xe5" , "\xd1\xe6\xe0\xca\xde" } , { "\xd7\xe8\xd4\xe8\xb3\xda" , "\xd1\xdb\xca\x3d\x51" } , { "\xd7\xe8\xd4\xe8\xc2\xa2" , "\xd1\xda\xca\xfe\xa1\x4d" } , { "\xd7\xe8\xd5" , "\xd1\xda\xcd" } , { "\xd7\xe8\xd5\xda" , "\xd1\xdb\xcd" } , { "\xd7\xe8\xd5\xdb" , "\xd2\xcd" } , { "\xd7\xe8\xd5\xdd" , "\xd1\xda\xdf\xcd" } , { "\xd7\xe8\xd5\xe1" , "\xd1\xe6\xcd\xde" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\xd1\xe6\xcd\xf0\xde" } , { "\xd7\xe8\xd6" , "\xd1\xda\xd0" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\xd2\xd0\x3e\x6f" } , { "\xd7\xe8\xd7" , "\xd1\xda\xd3" } , { "\xd7\xe8\xd7\xa2" , "\xd1\xda\xd3\x4d" } , { "\xd7\xe8\xd7\xda" , "\xd1\xdb\xd3" } , { "\xd7\xe8\xd7\xda\xa2" , "\xd1\xdb\xd3\x4d" } , { "\xd7\xe8\xd7\xdb" , "\xd2\xd3" } , { "\xd7\xe8\xd7\xdb\xa2" , "\xd2\xd3\x4d" } , { "\xd7\xe8\xd7\xdc" , "\xd2\xd3\xde" } , { "\xd7\xe8\xd7\xdc\xa2" , "\xd2\xd3\xde\x4d" } , { "\xd7\xe8\xd7\xdd" , "\xd1\xda\xdf\xd3" } , { "\xd7\xe8\xd7\xdd\xa2" , "\xd1\xda\xdf\xd3\x4d" } , { "\xd7\xe8\xd7\xde" , "\xd1\xda\xe0\xd3" } , { "\xd7\xe8\xd7\xdf" , "\xd1\xda\xd3\x3e\xe4" } , { "\xd7\xe8\xd7\xe0" , "\xd1\xe6\xd3" } , { "\xd7\xe8\xd7\xe0\xa2" , "\xd1\xe6\xd3\x4d" } , { "\xd7\xe8\xd7\xe1" , "\xd1\xe6\xd3\xde" } , { "\xd7\xe8\xd7\xe1\xa2" , "\xd1\xe6\xd3\xde\x4d" } , { "\xd7\xe8\xd7\xe2" , "\xd1\xe6\xd3\x3e\xe7" } , { "\xd7\xe8\xd7\xe4" , "\xd1\xe6\xe0\xd3" } , { "\xd7\xe8\xd7\xe5" , "\xd1\xe6\xe0\xd3\xde" } , { "\xd7\xe8\xd7\xe5\xa2" , "\xd1\xe6\xe0\xd3\xde\x4d" } , { "\xd7\xe8\xd7\xe6" , "\xd1\xe8\xd3" } , { "\xd7\xe8\xd7\xe6\xa2" , "\xd1\xe8\xd3\x4d" } , { "\xd7\xe8\xd7\xe8" , "\xd1\xe9\xd3" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\xd1\xdb\xd3\x3d\x51" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\xd1\xda\xdf\xd3\x3d\x51" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\xd1\xda\xd3\x3e\xed" } , { "\xd7\xe8\xd7\xe8\xbd" , "\xd1\xda\xd3\x3e\x6f" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\xd1\xdb\xd3\x3e\x6f" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\xd1\xdb\xd3\x3e\x6f\x4d" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\xd2\xd3\x3e\x6f\xde" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\xd1\xe6\xd3\x3e\x6f\xde" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xd1\xdb\xd3\x3e\x6f\xf1" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xd1\xda\xe0\xd3\xfe\xa1\x4d" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xd1\xdb\xd3\xfe\xa4" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xd2\xd3\xfe\xa4" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\xd1\xdb\xd3\x3e\xad" } , { "\xd7\xe8\xd7\xe8\xcc" , "\xd1\xda\xd3\x3d\xbd" } , { "\xd7\xe8\xd7\xe8\xcd" , "\xd1\xda\xd3\x3d\xc0" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\xd1\xdb\xd3\x3d\xc0" } , { "\xd7\xe8\xd7\xe8\xcf" , "\xd1\xda\xd3\xf1" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\xd1\xdb\xd3\xf1" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xd1\xda\xdf\xd3\xfe\xc7" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xd1\xe6\xe0\xd3\xfe\xc7\xde" } , { "\xd7\xe8\xd7\xe8\xd4" , "\xd1\xda\xd3\x3e\xca" } , { "\xd7\xe8\xd7\xe8\xd4\xda" , "\xd1\xdb\xd3\x3e\xca" } , { "\xd7\xe8\xd8" , "\xd1\xda\xd6" } , { "\xd7\xe8\xd8\xda" , "\xd1\xdb\xd6" } , { "\xd7\xe8\xd8\xe0" , "\xd1\xe6\xd6" } , { "\xd7\xe8\xd8\xe5" , "\xd1\xe6\xe0\xd6\xde" } , { "\xd7\xe8\xd8\xe6" , "\xd1\xe8\xd6" } , { "\xd7\xe8\xd9" , "\xd1\xda" } , { "\xd7\xe8\xd9\xa6" , "\xd1\xda\x42" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\xd1\xda\x6c\x25" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\xd1\xda\x6d\xdb\x25" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\xd1\xda\x6d\xe6\x25\xde" } , { "\xd7\xe8\xe8" , "\xd1\xe9" } , { "\xd7\xe8\xe9\xcf" , "\xd1\xda\xc3" } , { "\xd7\xe9" , "\xd1\xda" } , { "\xd8" , "\xd4\xda" } , { "\xd8\xa1" , "\xd4\xda\x4d" } , { "\xd8\xa2" , "\xd4\xda\x4d" } , { "\xd8\xa3" , "\xd4\xda\x4e" } , { "\xd8\xd0" , "\xd4\xda\xc1\xda" } , { "\xd8\xd9" , "\xd4\xda\xda" } , { "\xd8\xd9\xd1\xda" , "\xd4\xda\xda\xc5\xdb" } , { "\xd8\xda" , "\xd4\xdb" } , { "\xd8\xda\xa1" , "\xd4\xdb\x4d" } , { "\xd8\xda\xa2" , "\xd4\xdb\x4d" } , { "\xd8\xda\xa3" , "\xd4\xdb\x4e" } , { "\xd8\xdb" , "\xd5" } , { "\xd8\xdb\xa2" , "\xd5\x4d" } , { "\xd8\xdb\xa2\xa2" , "\xd5\x4d\x4d" } , { "\xd8\xdb\xa3" , "\xd5\x4e" } , { "\xd8\xdc" , "\xd5\xde" } , { "\xd8\xdc\xa1" , "\xd5\xde\x4d" } , { "\xd8\xdc\xa2" , "\xd5\xde\x4d" } , { "\xd8\xdd" , "\xd4\xda\xdf" } , { "\xd8\xdd\xa1" , "\xd4\xda\xdf\x4d" } , { "\xd8\xdd\xa2" , "\xd4\xda\xdf\x4d" } , { "\xd8\xdd\xa3" , "\xd4\xda\xdf\x4e" } , { "\xd8\xde" , "\xd4\xda\xe0" } , { "\xd8\xde\xa1" , "\xd4\xda\xe0\x4d" } , { "\xd8\xde\xa2" , "\xd4\xda\xe0\x4d" } , { "\xd8\xdf" , "\xd4\xda\xe4" } , { "\xd8\xe0" , "\xd4\xe6" } , { "\xd8\xe0\xa2" , "\xd4\xe6\x4d" } , { "\xd8\xe1" , "\xd4\xe6\xde" } , { "\xd8\xe1\xa2" , "\xd4\xe6\xde\x4d" } , { "\xd8\xe1\xa3" , "\xd4\xe6\xde\x4e" } , { "\xd8\xe2" , "\xd4\xe6\xe7" } , { "\xd8\xe2\xa1" , "\xd4\xe6\xe7\x4d" } , { "\xd8\xe2\xa2" , "\xd4\xe6\xe7\x4d" } , { "\xd8\xe2\xa3" , "\xd4\xe6\xe7\x4e" } , { "\xd8\xe3" , "\xd4\xe6" } , { "\xd8\xe3\xa2" , "\xd4\xe6\x4d" } , { "\xd8\xe4" , "\xd4\xe6\xe0" } , { "\xd8\xe4\xa2" , "\xd4\xe6\xe0\x4d" } , { "\xd8\xe5" , "\xd4\xe6\xe0\xde" } , { "\xd8\xe5\xa1" , "\xd4\xe6\xe0\xde\x4d" } , { "\xd8\xe5\xa2" , "\xd4\xe6\xe0\xde\x4d" } , { "\xd8\xe6" , "\xd4\xe8" } , { "\xd8\xe6\xa2" , "\xd4\xe8\x4d" } , { "\xd8\xe7" , "\xd4\xe6\xe0" } , { "\xd8\xe7\xa2" , "\xd4\xe6\xe0\x4d" } , { "\xd8\xe8" , "\xd4\xe9" } , { "\xd8\xe8\xb3\xdd" , "\xd4\xda\xdf\x51" } , { "\xd8\xe8\xb5" , "\xd4\xda\x58" } , { "\xd8\xe8\xb5\xdd" , "\xd4\xda\xdf\x58" } , { "\xd8\xe8\xb5\xde" , "\xd4\xda\xe0\x58" } , { "\xd8\xe8\xb8" , "\xd4\xda\x60" } , { "\xd8\xe8\xb8\xdd" , "\xd4\xda\xdf\x60" } , { "\xd8\xe8\xbd\xdb" , "\xd5\x6f" } , { "\xd8\xe8\xbf" , "\xd4\xda\x75" } , { "\xd8\xe8\xc1" , "\xd4\xda\x7c" } , { "\xd8\xe8\xc1\xda" , "\xd4\xdb\x7c" } , { "\xd8\xe8\xc1\xe1" , "\xd4\xe6\x7c\xde" } , { "\xd8\xe8\xc2" , "\xd4\xda\xa1" } , { "\xd8\xe8\xc2\xa2" , "\xd4\xda\xa1\x4d" } , { "\xd8\xe8\xc2\xda" , "\xd4\xdb\xa1" } , { "\xd8\xe8\xc2\xdc" , "\xd5\xa1\xde" } , { "\xd8\xe8\xc2\xe8" , "\xd4\xe9\xa1" } , { "\xd8\xe8\xc2\xe8\xc2\xe8\xd4" , "\xd4\xda\xa1\xf5\xec" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\xd4\xdb\xa1\xf0" } , { "\xd8\xe8\xc2\xe8\xd4" , "\xd4\xda\xec" } , { "\xd8\xe8\xc3" , "\xd4\xda\xa4" } , { "\xd8\xe8\xc4" , "\xd4\xda\xa7" } , { "\xd8\xe8\xc4\xe1" , "\xd4\xe6\xa7\xde" } , { "\xd8\xe8\xc4\xe5\xa2" , "\xd4\xe6\xe0\xa7\xde\x4d" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\xd4\xdb\xa7\xf5\xb0" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\xd4\xda\xa7\xf4\xc0\x4d" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\xd4\xe6\xe0\xa7\xf0\xde" } , { "\xd8\xe8\xc6" , "\xd4\xda\xad" } , { "\xd8\xe8\xc6\xa2" , "\xd4\xda\xad\x4d" } , { "\xd8\xe8\xc6\xda" , "\xd4\xdb\xad" } , { "\xd8\xe8\xc6\xda\xa2" , "\xd4\xdb\xad\x4d" } , { "\xd8\xe8\xc6\xdb" , "\xd5\xad" } , { "\xd8\xe8\xc6\xdd" , "\xd4\xda\xdf\xad" } , { "\xd8\xe8\xc6\xe5\xa2" , "\xd4\xe6\xe0\xad\xde\x4d" } , { "\xd8\xe8\xca" , "\xd4\xda\xb9" } , { "\xd8\xe8\xcb" , "\xd4\xda\xbc" } , { "\xd8\xe8\xcc" , "\xd4\xda\xbd" } , { "\xd8\xe8\xcc\xa2" , "\xd4\xda\xbd\x4d" } , { "\xd8\xe8\xcc\xda" , "\xd4\xdb\xbd" } , { "\xd8\xe8\xcc\xda\xa2" , "\xd4\xdb\xbd\x4d" } , { "\xd8\xe8\xcc\xdb" , "\xd5\xbd" } , { "\xd8\xe8\xcc\xdc" , "\xd5\xbd\xde" } , { "\xd8\xe8\xcc\xde" , "\xd4\xda\xe0\xbd" } , { "\xd8\xe8\xcc\xe1" , "\xd4\xe6\xbd\xde" } , { "\xd8\xe8\xcc\xe1\xa2" , "\xd4\xe6\xbd\xde\x4d" } , { "\xd8\xe8\xcc\xe2" , "\xd4\xe6\xbd\xfd\xe7" } , { "\xd8\xe8\xcc\xe5" , "\xd4\xe6\xe0\xbd\xde" } , { "\xd8\xe8\xcc\xe8" , "\xd4\xe9\xbd" } , { "\xd8\xe8\xcc\xe8\xb8" , "\xd4\xda\xbd\xfd\x60" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\xd4\xdb\xbd\xfd\x60" } , { "\xd8\xe8\xcc\xe8\xc1" , "\xd4\xda\xbd\xfa\x7c" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\xd5\xbd\xfa\x7c\xde" } , { "\xd8\xe8\xcc\xe8\xd4\xda" , "\xd4\xdb\xbd\xfd\xca" } , { "\xd8\xe8\xcd" , "\xd4\xda\xc0" } , { "\xd8\xe8\xcd\xa2" , "\xd4\xda\xc0\x4d" } , { "\xd8\xe8\xcd\xda" , "\xd4\xdb\xc0" } , { "\xd8\xe8\xcd\xda\xa2" , "\xd4\xdb\xc0\x4d" } , { "\xd8\xe8\xcd\xdb" , "\xd5\xc0" } , { "\xd8\xe8\xcd\xdb\xa2" , "\xd5\xc0\x4d" } , { "\xd8\xe8\xcd\xdc\xa2" , "\xd5\xc0\xde\x4d" } , { "\xd8\xe8\xcd\xdd" , "\xd4\xda\xdf\xc0" } , { "\xd8\xe8\xcd\xde" , "\xd4\xda\xe0\xc0" } , { "\xd8\xe8\xcd\xde\xa2" , "\xd4\xda\xe0\xc0\x4d" } , { "\xd8\xe8\xcd\xe1" , "\xd4\xe6\xc0\xde" } , { "\xd8\xe8\xcd\xe1\xa2" , "\xd4\xe6\xc0\xde\x4d" } , { "\xd8\xe8\xcd\xe5" , "\xd4\xe6\xe0\xc0\xde" } , { "\xd8\xe8\xcd\xe8\xcf" , "\xd4\xda\xc0\xf0" } , { "\xd8\xe8\xcd\xe8\xd7" , "\xd4\xda\xc0\xfd\xd3" } , { "\xd8\xe8\xcf" , "\xd4\xda\xc3" } , { "\xd8\xe8\xcf\xda" , "\xd4\xdb\xc3" } , { "\xd8\xe8\xcf\xda\xa2" , "\xd4\xdb\xc3\x4d" } , { "\xd8\xe8\xcf\xdb" , "\xd5\xc3" } , { "\xd8\xe8\xcf\xdc" , "\xd5\xc3\xde" } , { "\xd8\xe8\xcf\xdc\xa2" , "\xd5\xc3\xde\x4d" } , { "\xd8\xe8\xcf\xdd" , "\xd4\xda\xdf\xc3" } , { "\xd8\xe8\xcf\xde" , "\xd4\xda\xe0\xc3" } , { "\xd8\xe8\xcf\xde\xa2" , "\xd4\xda\xe0\xc3\x4d" } , { "\xd8\xe8\xcf\xe0" , "\xd4\xe6\xc3" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xd4\xe6\xc3\xde\x4d" } , { "\xd8\xe8\xcf\xe8\xc6\xe8\xca\xe8\xd1\xe0\xa2" , "\xd4\xe9\xab\xe6\xb9\xfe\xc7\x25\x4d" } , { "\xd8\xe8\xd1" , "\xd4\xda\xc7" } , { "\xd8\xe8\xd1\xda" , "\xd4\xdb\xc7" } , { "\xd8\xe8\xd1\xda\xa2" , "\xd4\xdb\xc7\x4d" } , { "\xd8\xe8\xd1\xdb" , "\xd5\xc7" } , { "\xd8\xe8\xd1\xdc" , "\xd5\xc7\xde" } , { "\xd8\xe8\xd1\xe8\xd4\xda" , "\xd4\xdb\xc7\xf5\xca" } , { "\xd8\xe8\xd4" , "\xd4\xda\xca" } , { "\xd8\xe8\xd4\xda" , "\xd4\xdb\xca" } , { "\xd8\xe8\xd4\xdb" , "\xd5\xca" } , { "\xd8\xe8\xd4\xdc" , "\xd5\xca\xde" } , { "\xd8\xe8\xd4\xe1" , "\xd4\xe6\xca\xde" } , { "\xd8\xe8\xd4\xe1\xa2" , "\xd4\xe6\xca\xde\x4d" } , { "\xd8\xe8\xd4\xe2" , "\xd4\xe6\xca\x3e\xe7" } , { "\xd8\xe8\xd4\xe4" , "\xd4\xe6\xe0\xca" } , { "\xd8\xe8\xd4\xe5" , "\xd4\xe6\xe0\xca\xde" } , { "\xd8\xe8\xd4\xe8" , "\xd4\xe9\xca" } , { "\xd8\xe8\xd6\xdb" , "\xd5\xd0" } , { "\xd8\xe8\xd6\xe8\xbd" , "\xd4\xda\xd0\x3e\x6f" } , { "\xd8\xe8\xd7\xa2" , "\xd4\xda\xd3\x4d" } , { "\xd8\xe8\xd7\xe8" , "\xd4\xe9\xd3" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\xd5\xd3\x3d\x51\xde" } , { "\xd8\xe8\xd7\xe8\xd4" , "\xd4\xda\xd3\x3e\xca" } , { "\xd8\xe8\xd8" , "\xd4\xda\xd6" } , { "\xd8\xe8\xd8\xa2" , "\xd4\xda\xd6\x4d" } , { "\xd8\xe8\xd8\xda" , "\xd4\xdb\xd6" } , { "\xd8\xe8\xd8\xdb" , "\xd5\xd6" } , { "\xd8\xe8\xd8\xdc" , "\xd5\xd6\xde" } , { "\xd8\xe8\xd8\xe5\xa2" , "\xd4\xe6\xe0\xd6\xde\x4d" } , { "\xd8\xe8\xd9" , "\xd4\xda" } , { "\xd8\xe8\xd9\xcc" , "\xd4\xda\xc8\xda\xdf" } , { "\xd8\xe8\xd9\xcd" , "\xd4\xda\xbe\xda\xdf" } , { "\xd8\xe8\xe8" , "\xd4\xe9" } , { "\xd8\xe8\xe9\xcf" , "\xd4\xda\xc3" } , { "\xd8\xe9" , "\xd4\xda" } , { "\xda" , "\xdb" } , { "\xdb" , "\xdd" } , { "\xdb\xa2" , "\xdd\x4d" } , { "\xdc" , "\xdd\xde" } , { "\xdc\xa2" , "\xdd\xde\x4d" } , { "\xdd" , "\xda\xdf" } , { "\xde" , "\xda\xe0" } , { "\xdf" , "\xda\xe4" } , { "\xe0" , "\xe6" } , { "\xe0\xa2" , "\xe6\x4d" } , { "\xe1" , "\xe6\xde" } , { "\xe1\xa2" , "\xe6\xde\x4d" } , { "\xe2" , "\xe6\xe7" } , { "\xe2\xa2" , "\xe6\xe7\x4d" } , { "\xe3" , "\xe6" } , { "\xe3\xa2" , "\xe6\x4d" } , { "\xe4" , "\xe6\xe0" } , { "\xe4\xa2" , "\xe6\xe0\x4d" } , { "\xe5" , "\xe6\xe0\xde" } , { "\xe5\xa2" , "\xe6\xe0\xde\x4d" } , { "\xe6" , "\xe8" } , { "\xe6\xa2" , "\xe8\x4d" } , { "\xe7" , "\xe6\xe0" } , { "\xe8" , "\xe9" } , { "\xe8\xe9" , "\xe9" } , { "\xe9" , "" } , { "\xe9\xdd" , "\xda\xdf" } , { "\xe9\xde" , "\xda\xe0" } , { "\xe9\xe9" , "\x23" } , } ; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/bengali.table�������������������������������������������������������������0100644�0001760�0000144�00001344277�13210547313�0016507�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct tabl iscii_bengali_table[] = { { "\xa1" , "\x67" } , { "\xa1\xa2" , "\x67\x65" } , { "\xa1\xa4" , "\x67\x25" } , { "\xa1\xa4\xa2" , "\x67\x25\x65" } , { "\xa1\xb0" , "\x67\x43" } , { "\xa1\xcd\xdb" , "\x67\xd7\xcc\x5e" } , { "\xa1\xe9" , "\x24" } , { "\xa2" , "\x65" } , { "\xa2\xa3" , "\x65\x66" } , { "\xa3" , "\x66" } , { "\xa4" , "\x25" } , { "\xa4\xa1" , "\x25\x67" } , { "\xa4\xa2" , "\x25\x65" } , { "\xa4\xa3" , "\x25\x66" } , { "\xa5" , "\x25\xe7" } , { "\xa5\xa1" , "\x25\xe7\x67" } , { "\xa5\xa2" , "\x25\xe7\x65" } , { "\xa5\xa3" , "\x25\xe7\x66" } , { "\xa6" , "\x2b" } , { "\xa6\xa1" , "\x2b\xf0" } , { "\xa6\xa2" , "\x2b\x65" } , { "\xa6\xa3" , "\x2b\x66" } , { "\xa6\xcc\xe5" , "\x2b\xe3\x5d\xe7" } , { "\xa6\xd7" , "\x2b\x61" } , { "\xa7" , "\x3c" } , { "\xa7\xa1" , "\x3c\xf0" } , { "\xa7\xa1\xa1" , "\x3c\xf0\x67" } , { "\xa7\xa1\xa3" , "\x3c\xf0\x66" } , { "\xa7\xa2" , "\x3c\x65" } , { "\xa7\xa3" , "\x3c\x66" } , { "\xa8" , "\x3d" } , { "\xa8\xa1" , "\x3d\xf0" } , { "\xa8\xa2" , "\x3d\x65" } , { "\xa8\xa2\xa2" , "\x3d\x65\x65" } , { "\xa8\xa3" , "\x3d\x66" } , { "\xa8\xb3\xdf" , "\x3d\x45\xca\xf5" } , { "\xa9" , "\x3e" } , { "\xa9\xa1" , "\x3e\xf0" } , { "\xa9\xa2" , "\x3e\x65" } , { "\xaa" , "\x40" } , { "\xaa\xa2" , "\x40\x65" } , { "\xac" , "\x41" } , { "\xac\xa1" , "\x41\x67" } , { "\xac\xa2" , "\x41\x65" } , { "\xac\xa2\xa1" , "\x41\x65\x67" } , { "\xac\xd7" , "\x41\x61" } , { "\xad" , "\x42" } , { "\xad\xa1" , "\x42\xf0" } , { "\xad\xa2" , "\x42\x65" } , { "\xad\xb1" , "\x42\x44" } , { "\xb0" , "\x43" } , { "\xb0\xa1" , "\x43\x67" } , { "\xb0\xa2" , "\x43\x65" } , { "\xb0\xa3" , "\x43\x66" } , { "\xb0\xcc\xe8" , "\x43\x5d\xcb" } , { "\xb1" , "\x44" } , { "\xb1\xa1" , "\x44\xf0" } , { "\xb1\xa2" , "\x44\x65" } , { "\xb1\xa3" , "\x44\x66" } , { "\xb1\xd1\xd7" , "\x44\x5f\x61" } , { "\xb1\xd7" , "\x44\x61" } , { "\xb3" , "\x45\xf5" } , { "\xb3\xa1" , "\x45\x67\xf5" } , { "\xb3\xa2" , "\x45\xf5\x65" } , { "\xb3\xa2\xa2" , "\x45\xf5\x65\x65" } , { "\xb3\xa3" , "\x45\xf5\x66" } , { "\xb3\xd9\xaa" , "\x45\xf5\x40" } , { "\xb3\xda" , "\x45\xf5\xe7" } , { "\xb3\xda\xa1" , "\x45\x67\xf5\xe7" } , { "\xb3\xda\xa2" , "\x45\xf5\xe7\x65" } , { "\xb3\xda\xa2\xa2" , "\x45\xf5\xe7\x65\x65" } , { "\xb3\xda\xa3" , "\x45\xf5\xe7\x66" } , { "\xb3\xdb" , "\xd7\x45\xf5" } , { "\xb3\xdb\xa2" , "\xd7\x45\xf5\x65" } , { "\xb3\xdb\xa3" , "\xd7\x45\xf5\x66" } , { "\xb3\xdc" , "\x45\xf5\xdd" } , { "\xb3\xdc\xa2" , "\x45\xf5\xdd\x65" } , { "\xb3\xdd" , "\x45\xc7\xf5" } , { "\xb3\xdd\xa1" , "\x45\x67\xc7\xf5" } , { "\xb3\xdd\xa2" , "\x45\xc7\xf5\x65" } , { "\xb3\xdd\xa3" , "\x45\xc7\xf5\x66" } , { "\xb3\xde" , "\x45\xc9\xf5" } , { "\xb3\xde\xa1" , "\x45\x67\xc9\xf5" } , { "\xb3\xde\xa2" , "\x45\xc9\xf5\x65" } , { "\xb3\xdf" , "\x45\xca\xf5" } , { "\xb3\xdf\xa2" , "\x45\xca\xf5\x65" } , { "\xb3\xe1" , "\xe6\x45\xf5" } , { "\xb3\xe1\xa1" , "\xe6\x45\x67\xf5" } , { "\xb3\xe1\xa2" , "\xe6\x45\xf5\x65" } , { "\xb3\xe2" , "\xe9\x45\xf5" } , { "\xb3\xe2\xa2" , "\xe9\x45\xf5\x65" } , { "\xb3\xe2\xa3" , "\xe9\x45\xf5\x66" } , { "\xb3\xe5" , "\xe6\x45\xf5\xe7" } , { "\xb3\xe5\xa1" , "\xe6\x45\x67\xf5\xe7" } , { "\xb3\xe5\xa2" , "\xe6\x45\xf5\xe7\x65" } , { "\xb3\xe6" , "\xe6\x45\xf5\xec" } , { "\xb3\xe6\xa2" , "\xe6\x45\xf5\xec\x65" } , { "\xb3\xe6\xbd\xe8" , "\xe6\x45\xf5\xec\xbb\x4f\xcb\xf4" } , { "\xb3\xe8" , "\x45\xcb\xf5" } , { "\xb3\xe8\xb3" , "\x68\xf5" } , { "\xb3\xe8\xb3\xa2" , "\x68\xf5\x65" } , { "\xb3\xe8\xb3\xda" , "\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xda\xa2" , "\x68\xf5\xe7\x65" } , { "\xb3\xe8\xb3\xdb" , "\xd7\x68\xf5" } , { "\xb3\xe8\xb3\xdb\xa2" , "\xd7\x68\xf5\x65" } , { "\xb3\xe8\xb3\xdc" , "\x68\xf5\xdd" } , { "\xb3\xe8\xb3\xdd" , "\x68\xc7\xf5" } , { "\xb3\xe8\xb3\xdd\xa2" , "\x68\xc7\xf5\x65" } , { "\xb3\xe8\xb3\xde" , "\x68\xc9\xf5" } , { "\xb3\xe8\xb3\xdf" , "\x68\xca\xf5" } , { "\xb3\xe8\xb3\xe1" , "\xe6\x68\xf5" } , { "\xb3\xe8\xb3\xe1\xa2" , "\xe6\x68\xf5\x65" } , { "\xb3\xe8\xb3\xe2" , "\xe9\x68\xf5" } , { "\xb3\xe8\xb3\xe5" , "\xe6\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xe5\xa2" , "\xe6\x68\xf5\xe7\x65" } , { "\xb3\xe8\xb3\xe6" , "\xe6\x68\xf5\xec" } , { "\xb3\xe8\xb3\xe6\xa2" , "\xe6\x68\xf5\xec\x65" } , { "\xb3\xe8\xb3\xe8" , "\x68\xcb\xf5" } , { "\xb3\xe8\xb3\xe8\xb3" , "\xa8\x68\xf5" } , { "\xb3\xe8\xb3\xe8\xbf\xda" , "\x45\xcb\xf5\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xb3\xe8\xc2" , "\xa8\x4e\xfe" } , { "\xb3\xe8\xb3\xe8\xcd" , "\x45\xcb\xf5\xa8\xcc\x5e" } , { "\xb3\xe8\xb3\xe8\xcd\xdd" , "\x45\xcb\xf5\xa8\xcc\x5e\xc7" } , { "\xb3\xe8\xb3\xe8\xcf\xdb" , "\xd7\x68\xd0\xf5" } , { "\xb3\xe8\xb3\xe8\xcf\xe5" , "\xe6\x68\xd0\xf5\xe7" } , { "\xb3\xe8\xb3\xe8\xd1" , "\x68\xc0\xf5" } , { "\xb3\xe8\xb3\xe8\xd6\xe1" , "\xe6\xa8\x6c\xf9" } , { "\xb3\xe8\xb3\xe9" , "\x68\xf5" } , { "\xb3\xe8\xb3\xe9\xda" , "\x68\xf5\xe7" } , { "\xb3\xe8\xb3\xe9\xdc" , "\x68\xf5\xdd" } , { "\xb3\xe8\xb4" , "\xa8\x46" } , { "\xb3\xe8\xb4\xa2" , "\xa8\x46\x65" } , { "\xb3\xe8\xb4\xda" , "\xa8\x46\xe7" } , { "\xb3\xe8\xb4\xdb" , "\xd7\xa8\x46" } , { "\xb3\xe8\xb4\xdc" , "\xa8\x46\xdd" } , { "\xb3\xe8\xb4\xe1" , "\xe6\xa8\x46" } , { "\xb3\xe8\xb4\xe1\xa2" , "\xe6\xa8\x46\x65" } , { "\xb3\xe8\xb4\xe5" , "\xe6\xa8\x46\xe7" } , { "\xb3\xe8\xb4\xe5\xa2" , "\xe6\xa8\x46\xe7\x65" } , { "\xb3\xe8\xb4\xe6\xa2" , "\xe6\xa8\x46\xec\x65" } , { "\xb3\xe8\xb4\xe8\xcd\xda" , "\x45\xcb\xf5\x46\xcb\xcc\x5e\xe7" } , { "\xb3\xe8\xb5" , "\xa8\x47" } , { "\xb3\xe8\xb5\xda" , "\xa8\x47\xe7" } , { "\xb3\xe8\xb5\xe5" , "\xe6\xa8\x47\xe7" } , { "\xb3\xe8\xb5\xe8\xcf\xda" , "\xa8\x47\xd0\xe7" } , { "\xb3\xe8\xb5\xe8\xcf\xe6\xa2" , "\xe6\xa8\x47\xd0\xec\x65" } , { "\xb3\xe8\xb6" , "\xa8\x48" } , { "\xb3\xe8\xb7\xda" , "\xa8\x49\xf8\xe7" } , { "\xb3\xe8\xb7\xe1" , "\xe6\xa8\x49\xf8" } , { "\xb3\xe8\xb8" , "\xa8\x4a\xf4" } , { "\xb3\xe8\xb8\xda" , "\xa8\x4a\xf4\xe7" } , { "\xb3\xe8\xb8\xdc" , "\xa8\x4a\xf4\xdd" } , { "\xb3\xe8\xb8\xdd" , "\xa8\x4a\xc7\xf4" } , { "\xb3\xe8\xb8\xe1" , "\xe6\xa8\x4a\xf4" } , { "\xb3\xe8\xb8\xe1\xa2" , "\xe6\xa8\x4a\xf4\x65" } , { "\xb3\xe8\xb8\xe8\xb8\xda" , "\x45\xcb\xf5\xac\x4a\xf4\xe7" } , { "\xb3\xe8\xb8\xe8\xb8\xdc" , "\x45\xcb\xf5\xac\x4a\xf4\xdd" } , { "\xb3\xe8\xb9" , "\xa8\x4b\xf7" } , { "\xb3\xe8\xb9\xe1\xa2" , "\xe6\xa8\x4b\xf7\x65" } , { "\xb3\xe8\xba" , "\xa8\x4c" } , { "\xb3\xe8\xba\xda" , "\xa8\x4c\xe7" } , { "\xb3\xe8\xba\xda\xa2" , "\xa8\x4c\xe7\x65" } , { "\xb3\xe8\xba\xdb" , "\xd7\xa8\x4c" } , { "\xb3\xe8\xba\xdc" , "\xa8\x4c\xdd" } , { "\xb3\xe8\xba\xe1\xa2" , "\xe6\xa8\x4c\x65" } , { "\xb3\xe8\xba\xe2\xa2" , "\xe9\xa8\x4c\x65" } , { "\xb3\xe8\xba\xe5" , "\xe6\xa8\x4c\xe7" } , { "\xb3\xe8\xba\xe9\xdc" , "\xa8\x4c\xdd" } , { "\xb3\xe8\xbd" , "\x6b\xf4" } , { "\xb3\xe8\xbd\xda" , "\x6b\xf4\xe7" } , { "\xb3\xe8\xbd\xda\xa2" , "\x6b\xf4\xe7\x65" } , { "\xb3\xe8\xbd\xdb" , "\xd7\x6b\xf4" } , { "\xb3\xe8\xbd\xdb\xa2" , "\xd7\x6b\xf4\x65" } , { "\xb3\xe8\xbd\xdc" , "\x6b\xf4\xdd" } , { "\xb3\xe8\xbd\xdd" , "\x6b\xc7\xf4" } , { "\xb3\xe8\xbd\xde" , "\x6b\xc9\xf4" } , { "\xb3\xe8\xbd\xe1" , "\xe6\x6b\xf4" } , { "\xb3\xe8\xbd\xe2" , "\xe9\x6b\xf4" } , { "\xb3\xe8\xbd\xe5" , "\xe6\x6b\xf4\xe7" } , { "\xb3\xe8\xbd\xe5\xa2" , "\xe6\x6b\xf4\xe7\x65" } , { "\xb3\xe8\xbd\xe8" , "\x6b\xcb\xf4" } , { "\xb3\xe8\xbd\xe8\xb3\xdd" , "\x45\xcb\xf5\xae\x45\xc7\xf5" } , { "\xb3\xe8\xbd\xe8\xb5\xda" , "\x45\xcb\xf5\xae\x47\xe7" } , { "\xb3\xe8\xbd\xe8\xb5\xe8\xd1\xda" , "\xae\xa8\x47\xc0\xe7" } , { "\xb3\xe8\xbd\xe8\xb8\xe1" , "\x45\xcb\xf5\xe6\xae\x4a\xf4" } , { "\xb3\xe8\xbd\xe8\xbe\xda" , "\x45\xcb\xf5\xae\x50\xf6\xe7" } , { "\xb3\xe8\xbd\xe8\xbe\xdc" , "\x45\xcb\xf5\xae\x50\xf6\xdd" } , { "\xb3\xe8\xbd\xe8\xbe\xe1" , "\x45\xcb\xf5\xe6\xae\x50\xf6" } , { "\xb3\xe8\xbd\xe8\xc6\xdd" , "\xa8\xae\xf3\xc7\xf4" } , { "\xb3\xe8\xbd\xe8\xcc" , "\xa8\x4f\x5d" } , { "\xb3\xe8\xbd\xe8\xcd" , "\x45\xcb\xf5\xae\xcc\x5e" } , { "\xb3\xe8\xbd\xe8\xcd\xdd" , "\x45\xcb\xf5\xae\xcc\x5e\xc7" } , { "\xb3\xe8\xbd\xe8\xcd\xde" , "\x45\xcb\xf5\xae\xcc\x5e\xc9" } , { "\xb3\xe8\xbd\xe8\xcd\xe5" , "\x45\xcb\xf5\xe6\xae\xcc\x5e\xe7" } , { "\xb3\xe8\xbd\xe8\xcf" , "\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xda" , "\x6b\x98\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xda\xa2" , "\x6b\x98\xf4\xe7\x65" } , { "\xb3\xe8\xbd\xe8\xcf\xdb" , "\xd7\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xdc" , "\x6b\x98\xf4\xdd" } , { "\xb3\xe8\xbd\xe8\xcf\xe1" , "\xe6\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xe2" , "\xe8\x6b\x98\xf4" } , { "\xb3\xe8\xbd\xe8\xcf\xe5" , "\xe6\x6b\x98\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xcf\xe6" , "\xe6\x6b\x98\xf4\xec" } , { "\xb3\xe8\xbd\xe8\xcf\xe8" , "\x6b\x98\xcb\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xdb" , "\xd7\xa8\xae\xf2\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xdc" , "\xa8\xae\xf2\xf4\xdd" } , { "\xb3\xe8\xbd\xe8\xd1\xdd" , "\xa8\xae\xf2\xc7\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xe2" , "\xe8\xa8\xae\xf2\xf4" } , { "\xb3\xe8\xbd\xe8\xd1\xe5" , "\xe6\xa8\xae\xf2\xf4\xe7" } , { "\xb3\xe8\xbd\xe8\xd7" , "\x45\xcb\xf5\xae\x61" } , { "\xb3\xe8\xbd\xe8\xd7\xdb\xa2" , "\x45\xcb\xf5\xd7\xae\x61\x65" } , { "\xb3\xe8\xbd\xe8\xd7\xdd" , "\x45\xcb\xf5\xae\x61\xc7" } , { "\xb3\xe8\xbd\xe8\xd7\xe8" , "\x45\xcb\xf5\xae\x61\xcb" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\xd7\xae\xa8\x95\xf5" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xcf\xda" , "\xae\xa8\xd8\x83\xf6\xe7" } , { "\xb3\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\xe6\xae\xa8\xd8\xda\xf6\xe7" } , { "\xb3\xe8\xbe\xa2" , "\xa8\x50\xf6\x65" } , { "\xb3\xe8\xbe\xe8\xbe\xda" , "\x45\xcb\xf5\x50\xcb\xf6\x50\xf6\xe7" } , { "\xb3\xe8\xbf" , "\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xa2" , "\xa8\x51\xf6\x65" } , { "\xb3\xe8\xbf\xda" , "\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xbf\xdb" , "\xd7\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xdc" , "\xa8\x51\xf6\xdd" } , { "\xb3\xe8\xbf\xdd" , "\xa8\x51\xc7\xf6" } , { "\xb3\xe8\xbf\xde" , "\xa8\x51\xc9\xf6" } , { "\xb3\xe8\xbf\xe1" , "\xe6\xa8\x51\xf6" } , { "\xb3\xe8\xbf\xe5" , "\xe6\xa8\x51\xf6\xe7" } , { "\xb3\xe8\xbf\xe8" , "\xa8\x51\xcb\xf6" } , { "\xb3\xe8\xbf\xe8\xcf" , "\xa8\x51\xce\xf6" } , { "\xb3\xe8\xbf\xe9" , "\xa8\x51\xcd\xf6" } , { "\xb3\xe8\xbf\xe9\xda" , "\xa8\x51\xcd\xf6\xe7" } , { "\xb3\xe8\xc1" , "\xa8\x53" } , { "\xb3\xe8\xc1\xdb" , "\xd7\xa8\x53" } , { "\xb3\xe8\xc1\xdb\xa2" , "\xd7\xa8\x53\x65" } , { "\xb3\xe8\xc1\xdc" , "\xa8\x53\xdd" } , { "\xb3\xe8\xc2" , "\x4e\xfe" } , { "\xb3\xe8\xc2\xa2" , "\x4e\xfe\x65" } , { "\xb3\xe8\xc2\xa3" , "\x4e\xfe\x66" } , { "\xb3\xe8\xc2\xda" , "\x4e\xfe\xe7" } , { "\xb3\xe8\xc2\xda\xa2" , "\x4e\xfe\xe7\x65" } , { "\xb3\xe8\xc2\xda\xa3" , "\x4e\xfe\xe7\x66" } , { "\xb3\xe8\xc2\xdb" , "\xd7\x4e\xfe" } , { "\xb3\xe8\xc2\xdb\xa2" , "\xd7\x4e\xfe\x65" } , { "\xb3\xe8\xc2\xdb\xa3" , "\xd7\x4e\xfe\x66" } , { "\xb3\xe8\xc2\xdc" , "\x4e\xfe\xdd" } , { "\xb3\xe8\xc2\xdc\xa3" , "\x4e\xfe\xdd\x66" } , { "\xb3\xe8\xc2\xdd" , "\x4e\xc7\xfe" } , { "\xb3\xe8\xc2\xdd\xa2" , "\x4e\xc7\xfe\x65" } , { "\xb3\xe8\xc2\xde" , "\x4e\xc9\xfe" } , { "\xb3\xe8\xc2\xdf" , "\x4e\xca\xfe" } , { "\xb3\xe8\xc2\xe1" , "\xe6\x4e\xfe" } , { "\xb3\xe8\xc2\xe2" , "\xe9\x4e\xfe" } , { "\xb3\xe8\xc2\xe5" , "\xe6\x4e\xfe\xe7" } , { "\xb3\xe8\xc2\xe5\xa2" , "\xe6\x4e\xfe\xe7\x65" } , { "\xb3\xe8\xc2\xe6" , "\xe6\x4e\xfe\xec" } , { "\xb3\xe8\xc2\xe8\xc2" , "\xa8\x77\xf8" } , { "\xb3\xe8\xc2\xe8\xc2\xda" , "\xa8\x77\xf8\xe7" } , { "\xb3\xe8\xc2\xe8\xc2\xdb" , "\xd7\xa8\x77\xf8" } , { "\xb3\xe8\xc2\xe8\xcd" , "\x45\xcb\xf5\xb1\xcc\x5e" } , { "\xb3\xe8\xc2\xe8\xcd\xa2" , "\x45\xcb\xf5\xb1\xcc\x5e\x65" } , { "\xb3\xe8\xc2\xe8\xcd\xda" , "\x45\xcb\xf5\xb1\xcc\x5e\xe7" } , { "\xb3\xe8\xc2\xe8\xcd\xdd" , "\x45\xcb\xf5\xb1\xcc\x5e\xc7" } , { "\xb3\xe8\xc2\xe8\xcd\xe2" , "\x45\xcb\xf5\xe9\xb1\xcc\x5e" } , { "\xb3\xe8\xc2\xe8\xcd\xe5\xa2" , "\x45\xcb\xf5\xe6\xb1\xcc\x5e\xe7\x65" } , { "\xb3\xe8\xc2\xe8\xcf" , "\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xcf\xa2" , "\x77\xce\xf8\xd4\x65" } , { "\xb3\xe8\xc2\xe8\xcf\xa3" , "\x77\xce\xf8\xd4\x66" } , { "\xb3\xe8\xc2\xe8\xcf\xdb" , "\xd7\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xcf\xe2" , "\xe9\x77\xce\xf8\xd4" } , { "\xb3\xe8\xc2\xe8\xd7" , "\x45\xcb\xf5\xb1\x61" } , { "\xb3\xe8\xc3" , "\xa8\x55" } , { "\xb3\xe8\xc3\xa2" , "\xa8\x55\x65" } , { "\xb3\xe8\xc3\xdb" , "\xd7\xa8\x55" } , { "\xb3\xe8\xc3\xdd" , "\xa8\x55\xc7" } , { "\xb3\xe8\xc3\xe8\xcd" , "\x45\xcb\xf5\x55\xcb\xcc\x5e" } , { "\xb3\xe8\xc4" , "\xa8\x56" } , { "\xb3\xe8\xc4\xda" , "\xa8\x56\xe7" } , { "\xb3\xe8\xc4\xdb" , "\xd7\xa8\x56" } , { "\xb3\xe8\xc4\xdd" , "\xa8\x56\xc7" } , { "\xb3\xe8\xc4\xdd\xa2" , "\xa8\x56\xc7\x65" } , { "\xb3\xe8\xc4\xe8\xcf\xdc" , "\xa8\x56\xd0\xdd" } , { "\xb3\xe8\xc5" , "\xa8\x57\xfd" } , { "\xb3\xe8\xc5\xda" , "\xa8\x57\xfd\xe7" } , { "\xb3\xe8\xc6" , "\x45\xc2\xf5" } , { "\xb3\xe8\xc6\xda" , "\x45\xc2\xf5\xe7" } , { "\xb3\xe8\xc6\xda\xa2" , "\x45\xc2\xf5\xe7\x65" } , { "\xb3\xe8\xc6\xdb" , "\xd7\x45\xc2\xf5" } , { "\xb3\xe8\xc6\xdc" , "\x45\xc2\xf5\xdd" } , { "\xb3\xe8\xc6\xdd" , "\x45\xc2\xc7\xf5" } , { "\xb3\xe8\xc6\xdd\xa2" , "\x45\xc2\xc7\xf5\x65" } , { "\xb3\xe8\xc6\xde" , "\x45\xc2\xc9\xf5" } , { "\xb3\xe8\xc6\xe5" , "\xe6\x45\xc2\xf5\xe7" } , { "\xb3\xe8\xc6\xe8" , "\x45\xc2\xcb\xf5" } , { "\xb3\xe8\xc6\xe8\xcd" , "\x45\xcb\xf5\xb3\xcc\x5e" } , { "\xb3\xe8\xc6\xe8\xcd\xda" , "\x45\xcb\xf5\xb3\xcc\x5e\xe7" } , { "\xb3\xe8\xc8" , "\xa8\x59" } , { "\xb3\xe8\xc8\xa2" , "\xa8\x59\x65" } , { "\xb3\xe8\xc8\xda" , "\xa8\x59\xe7" } , { "\xb3\xe8\xc8\xdb" , "\xd7\xa8\x59" } , { "\xb3\xe8\xc8\xdc" , "\xa8\x59\xdd" } , { "\xb3\xe8\xc8\xdd" , "\xa8\x59\xc7" } , { "\xb3\xe8\xc8\xde" , "\xa8\x59\xc9" } , { "\xb3\xe8\xc8\xdf" , "\xa8\x59\xca" } , { "\xb3\xe8\xc8\xe1" , "\xe6\xa8\x59" } , { "\xb3\xe8\xc8\xe2" , "\xe9\xa8\x59" } , { "\xb3\xe8\xc8\xe8\xcf" , "\xa8\x59\xd2" } , { "\xb3\xe8\xc8\xe8\xcf\xda" , "\xa8\x59\xd2\xe7" } , { "\xb3\xe8\xc8\xe8\xcf\xe6" , "\xe6\xa8\x59\xd2\xec" } , { "\xb3\xe8\xc8\xe8\xd7\xdb" , "\x45\xcb\xf5\xd7\xb4\x61" } , { "\xb3\xe8\xc9" , "\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xda" , "\xa8\x5a\xf5\xe7" } , { "\xb3\xe8\xc9\xdb" , "\xd7\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xdd" , "\xa8\x5a\xc7\xf5" } , { "\xb3\xe8\xc9\xe1" , "\xe6\xa8\x5a\xf5" } , { "\xb3\xe8\xc9\xe9\xe1" , "\xe6\xa8\x5a\xf5" } , { "\xb3\xe8\xca" , "\x69\xf5" } , { "\xb3\xe8\xca\xa2" , "\x69\xf5\x65" } , { "\xb3\xe8\xca\xda" , "\x69\xf5\xe7" } , { "\xb3\xe8\xca\xdc" , "\x69\xf5\xdd" } , { "\xb3\xe8\xca\xde" , "\x69\xc9\xf5" } , { "\xb3\xe8\xca\xe1" , "\xe6\x69\xf5" } , { "\xb3\xe8\xca\xe5" , "\xe6\x69\xf5\xe7" } , { "\xb3\xe8\xca\xe5\xa2" , "\xe6\x69\xf5\xe7\x65" } , { "\xb3\xe8\xca\xe8\xd1\xda" , "\x69\xc0\xf5\xe7" } , { "\xb3\xe8\xcb" , "\xa8\x5c\xf6" } , { "\xb3\xe8\xcb\xda" , "\xa8\x5c\xf6\xe7" } , { "\xb3\xe8\xcb\xdb" , "\xd7\xa8\x5c\xf6" } , { "\xb3\xe8\xcc" , "\xa8\xbf" } , { "\xb3\xe8\xcc\xa2" , "\xa8\xbf\x65" } , { "\xb3\xe8\xcc\xda" , "\xa8\xbf\xe7" } , { "\xb3\xe8\xcc\xda\xa2" , "\xa8\xbf\xe7\x65" } , { "\xb3\xe8\xcc\xdb" , "\xd7\xa8\xbf" } , { "\xb3\xe8\xcc\xdc" , "\xa8\xbf\xdd" } , { "\xb3\xe8\xcc\xdd" , "\xa8\xbf\xc7" } , { "\xb3\xe8\xcc\xdd\xa2" , "\xa8\xbf\xc7\x65" } , { "\xb3\xe8\xcc\xe1" , "\xe6\xa8\xbf" } , { "\xb3\xe8\xcc\xe1\xa2" , "\xe6\xa8\xbf\x65" } , { "\xb3\xe8\xcc\xe2" , "\xe9\xa8\xbf" } , { "\xb3\xe8\xcc\xe5" , "\xe6\xa8\xbf\xe7" } , { "\xb3\xe8\xcd" , "\x45\xfd\xee" } , { "\xb3\xe8\xcd\xa2" , "\x45\xfd\xee\x65" } , { "\xb3\xe8\xcd\xda" , "\x45\xfd\xee\xe7" } , { "\xb3\xe8\xcd\xda\xa1" , "\x45\xfd\xee\x67\xe7" } , { "\xb3\xe8\xcd\xda\xa2" , "\x45\xfd\xee\xe7\x65" } , { "\xb3\xe8\xcd\xdb" , "\xd7\x45\xfd\xee" } , { "\xb3\xe8\xcd\xdd" , "\x45\xc7\xfd\xee" } , { "\xb3\xe8\xcd\xde" , "\x45\xc9\xfd\xee" } , { "\xb3\xe8\xcd\xde\xa1" , "\x45\xc9\xfd\xee\x67" } , { "\xb3\xe8\xcd\xde\xa2" , "\x45\xc9\xfd\xee\x65" } , { "\xb3\xe8\xcd\xdf" , "\x45\xca\xfd\xee" } , { "\xb3\xe8\xcd\xe1" , "\xe6\x45\xfd\xee" } , { "\xb3\xe8\xcd\xe2" , "\xe9\x45\xfd\xee" } , { "\xb3\xe8\xcd\xe5" , "\xe6\x45\xfd\xee\xe7" } , { "\xb3\xe8\xcd\xe5\xa2" , "\xe6\x45\xfd\xee\xe7\x65" } , { "\xb3\xe8\xcd\xe6" , "\xe6\x45\xfd\xee\xec" } , { "\xb3\xe8\xcd\xe8" , "\x45\xfd\xee\xcb" } , { "\xb3\xe8\xcd\xe8\xcd\xda" , "\x45\xfd\xee\xee\xe7" } , { "\xb3\xe8\xcf" , "\x79\xd4" } , { "\xb3\xe8\xcf\xa2" , "\x79\xd4\x65" } , { "\xb3\xe8\xcf\xda" , "\x79\xd4\xe7" } , { "\xb3\xe8\xcf\xda\xa1" , "\x79\x67\xd4\xe7" } , { "\xb3\xe8\xcf\xda\xa2" , "\x79\xd4\xe7\x65" } , { "\xb3\xe8\xcf\xdb" , "\xd7\x79\xd4" } , { "\xb3\xe8\xcf\xdb\xa2" , "\xd7\x79\xd4\x65" } , { "\xb3\xe8\xcf\xdc" , "\x79\xd4\xdd" } , { "\xb3\xe8\xcf\xdc\xa2" , "\x79\xd4\xdd\x65" } , { "\xb3\xe8\xcf\xdd" , "\x79\xc7\xd4" } , { "\xb3\xe8\xcf\xdd\xa2" , "\x79\xc7\xd4\x65" } , { "\xb3\xe8\xcf\xde" , "\x79\xc9\xd4" } , { "\xb3\xe8\xcf\xdf" , "\x79\xca\xd4" } , { "\xb3\xe8\xcf\xe1" , "\xe6\x79\xd4" } , { "\xb3\xe8\xcf\xe1\xa2" , "\xe6\x79\xd4\x65" } , { "\xb3\xe8\xcf\xe2" , "\xe9\x79\xd4" } , { "\xb3\xe8\xcf\xe2\xa2" , "\xe9\x79\xd4\x65" } , { "\xb3\xe8\xcf\xe5" , "\xe6\x79\xd4\xe7" } , { "\xb3\xe8\xcf\xe5\xa2" , "\xe6\x79\xd4\xe7\x65" } , { "\xb3\xe8\xcf\xe6" , "\xe6\x79\xd4\xec" } , { "\xb3\xe8\xcf\xe6\xa2" , "\xe6\x79\xd4\xec\x65" } , { "\xb3\xe8\xcf\xe8\xbd\xda" , "\x45\xcb\xf5\xcc\x5b\xfd\xcb\xbb\x4f\xf4\xe7" } , { "\xb3\xe8\xcf\xe8\xc3\xa2" , "\x45\xcb\xf5\xcc\x5b\xfd\xcb\x55\x65" } , { "\xb3\xe8\xcf\xe8\xcd" , "\x45\xcb\xf5\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xb3\xe8\xcf\xe8\xd6\xe1" , "\x45\xcb\xf5\xcc\x5b\xfd\xcb\xe6\x62" } , { "\xb3\xe8\xcf\xe8\xd7" , "\x45\xcb\xf5\xcc\x5b\xfd\xcb\x61" } , { "\xb3\xe8\xd1" , "\x7a\xf5" } , { "\xb3\xe8\xd1\xa2" , "\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xda" , "\x7a\xf5\xe7" } , { "\xb3\xe8\xd1\xda\xa1" , "\x7a\x67\xf5\xe7" } , { "\xb3\xe8\xd1\xda\xa2" , "\x7a\xf5\xe7\x65" } , { "\xb3\xe8\xd1\xdb" , "\xd7\x7a\xf5" } , { "\xb3\xe8\xd1\xdb\xa2" , "\xd7\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xdc" , "\x7a\xf5\xdd" } , { "\xb3\xe8\xd1\xdd" , "\x7a\xc7\xf5" } , { "\xb3\xe8\xd1\xde" , "\x7a\xc9\xf5" } , { "\xb3\xe8\xd1\xe1" , "\xe6\x7a\xf5" } , { "\xb3\xe8\xd1\xe1\xa2" , "\xe6\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xe2" , "\xe8\x7a\xf5" } , { "\xb3\xe8\xd1\xe2\xa2" , "\xe8\x7a\xf5\x65" } , { "\xb3\xe8\xd1\xe5" , "\xe6\x7a\xf5\xe7" } , { "\xb3\xe8\xd1\xe5\xa2" , "\xe6\x7a\xf5\xe7\x65" } , { "\xb3\xe8\xd1\xe6" , "\xe6\x7a\xf5\xec" } , { "\xb3\xe8\xd1\xe8" , "\x7a\xcb\xf5" } , { "\xb3\xe8\xd1\xe8\xb8" , "\x45\xcb\xf5\xb7\x4a\xf4" } , { "\xb3\xe8\xd1\xe8\xc8" , "\xa8\x94" } , { "\xb3\xe8\xd1\xe8\xcd" , "\x45\xcb\xf5\xb7\xcc\x5e" } , { "\xb3\xe8\xd1\xe8\xcd\xda" , "\x45\xcb\xf5\xb7\xcc\x5e\xe7" } , { "\xb3\xe8\xd1\xe8\xd7\xdc" , "\x45\xcb\xf5\xb7\x61\xdd" } , { "\xb3\xe8\xd5" , "\xa8\x60" } , { "\xb3\xe8\xd5\xa2" , "\xa8\x60\x65" } , { "\xb3\xe8\xd5\xda" , "\xa8\x60\xe7" } , { "\xb3\xe8\xd5\xdb" , "\xd7\xa8\x60" } , { "\xb3\xe8\xd5\xdb\xa2" , "\xd7\xa8\x60\x65" } , { "\xb3\xe8\xd5\xdc" , "\xa8\x60\xdd" } , { "\xb3\xe8\xd5\xdd" , "\xa8\x60\xc7" } , { "\xb3\xe8\xd5\xde" , "\xa8\x60\xc9" } , { "\xb3\xe8\xd5\xe1" , "\xe6\xa8\x60" } , { "\xb3\xe8\xd5\xe1\xa2" , "\xe6\xa8\x60\x65" } , { "\xb3\xe8\xd5\xe5\xa2" , "\xe6\xa8\x60\xe7\x65" } , { "\xb3\xe8\xd5\xe8\xb8" , "\x45\xcb\xf5\xb8\x4a\xf4" } , { "\xb3\xe8\xd5\xe8\xcd" , "\x45\xcb\xf5\xb8\xcc\x5e" } , { "\xb3\xe8\xd6" , "\x6c\xf9" } , { "\xb3\xe8\xd6\xa2" , "\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xa3" , "\x6c\xf9\x66" } , { "\xb3\xe8\xd6\xda" , "\x6c\xf9\xe7" } , { "\xb3\xe8\xd6\xda\xa2" , "\x6c\xf9\xe7\x65" } , { "\xb3\xe8\xd6\xdb" , "\xd7\x6c\xf9" } , { "\xb3\xe8\xd6\xdb\xa2" , "\xd7\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xdb\xa2\xa2" , "\xd7\x6c\xf9\x65\x65" } , { "\xb3\xe8\xd6\xdc" , "\x6c\xf9\xdd" } , { "\xb3\xe8\xd6\xdc\xa2" , "\x6c\xf9\xdd\x65" } , { "\xb3\xe8\xd6\xdd" , "\x6c\xc7\xf9" } , { "\xb3\xe8\xd6\xdd\xa3" , "\x6c\xc7\xf9\x66" } , { "\xb3\xe8\xd6\xde" , "\x6c\xc9\xf9" } , { "\xb3\xe8\xd6\xdf" , "\x6c\xca\xf9" } , { "\xb3\xe8\xd6\xe1" , "\xe6\x6c\xf9" } , { "\xb3\xe8\xd6\xe1\xa2" , "\xe6\x6c\xf9\x65" } , { "\xb3\xe8\xd6\xe2" , "\xe9\x6c\xf9" } , { "\xb3\xe8\xd6\xe5" , "\xe6\x6c\xf9\xe7" } , { "\xb3\xe8\xd6\xe5\xa2" , "\xe6\x6c\xf9\xe7\x65" } , { "\xb3\xe8\xd6\xe6" , "\xe6\x6c\xf9\xec" } , { "\xb3\xe8\xd6\xe8" , "\x6c\xcb\xf9" } , { "\xb3\xe8\xd6\xe8\xb3\xdd" , "\xa8\x9b\xc7\xf5" } , { "\xb3\xe8\xd6\xe8\xb3\xe8\xd6" , "\xb9\xa8\x6c\xf9" } , { "\xb3\xe8\xd6\xe8\xbd" , "\xa8\x72\xf4" } , { "\xb3\xe8\xd6\xe8\xbd\xe8\xcf\xda" , "\xa8\x72\xd1\xf4\xe7" } , { "\xb3\xe8\xd6\xe8\xc1" , "\xa9\xc2\xf9" } , { "\xb3\xe8\xd6\xe8\xc1\xa2" , "\xa9\xc2\xf9\x65" } , { "\xb3\xe8\xd6\xe8\xc1\xda" , "\xa9\xc2\xf9\xe7" } , { "\xb3\xe8\xd6\xe8\xc1\xe2" , "\xe9\xa9\xc2\xf9" } , { "\xb3\xe8\xd6\xe8\xc1\xe5" , "\xe6\xa9\xc2\xf9\xe7" } , { "\xb3\xe8\xd6\xe8\xc2" , "\x45\xcb\xf5\xb9\x54\xf6" } , { "\xb3\xe8\xd6\xe8\xc2\xe8\xcf" , "\xb9\xa8\x79" } , { "\xb3\xe8\xd6\xe8\xc6" , "\xa8\x62\xc2" } , { "\xb3\xe8\xd6\xe8\xc6\xe8" , "\xa8\x62\xc2\xcb" } , { "\xb3\xe8\xd6\xe8\xcc" , "\xa9\xbf" } , { "\xb3\xe8\xd6\xe8\xcc\xa2" , "\xa9\xbf\x65" } , { "\xb3\xe8\xd6\xe8\xcc\xda" , "\xa9\xbf\xe7" } , { "\xb3\xe8\xd6\xe8\xcc\xda\xa2" , "\xa9\xbf\xe7\x65" } , { "\xb3\xe8\xd6\xe8\xcc\xdb" , "\xd7\xa9\xbf" } , { "\xb3\xe8\xd6\xe8\xcc\xdb\xa2" , "\xd7\xa9\xbf\x65" } , { "\xb3\xe8\xd6\xe8\xcc\xdc" , "\xa9\xbf\xdd" } , { "\xb3\xe8\xd6\xe8\xcc\xdd" , "\xa9\xbf\xc7" } , { "\xb3\xe8\xd6\xe8\xcc\xe1" , "\xe6\xa9\xbf" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x45\xcb\xf5\xb9\xcc\x5e" } , { "\xb3\xe8\xd6\xe8\xcd" , "\x6c\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xa2" , "\x6c\xfd\xee\x65" } , { "\xb3\xe8\xd6\xe8\xcd\xda" , "\x6c\xfd\xee\xe7" } , { "\xb3\xe8\xd6\xe8\xcd\xda\xa2" , "\x6c\xfd\xee\xe7\x65" } , { "\xb3\xe8\xd6\xe8\xcd\xdb" , "\xd7\x6c\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xdc" , "\x6c\xfd\xee\xdd" } , { "\xb3\xe8\xd6\xe8\xcd\xdd" , "\x6c\xc7\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xde" , "\x6c\xc9\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xdf" , "\x6c\xca\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xe1" , "\xe6\x6c\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xe2" , "\xe9\x6c\xfd\xee" } , { "\xb3\xe8\xd6\xe8\xcd\xe5" , "\xe6\x6c\xfd\xee\xe7" } , { "\xb3\xe8\xd6\xe8\xcd\xe5\xa2" , "\xe6\x6c\xfd\xee\xe7\x65" } , { "\xb3\xe8\xd6\xe8\xcd\xe6" , "\xe6\x6c\xfd\xee\xec" } , { "\xb3\xe8\xd6\xe8\xcf" , "\x6c\x98\xf9" } , { "\xb3\xe8\xd6\xe8\xcf\xa2" , "\x6c\x98\xf9\x65" } , { "\xb3\xe8\xd6\xe8\xcf\xda" , "\x6c\x98\xf9\xe7" } , { "\xb3\xe8\xd6\xe8\xd1" , "\x6c\xc0\xf9" } , { "\xb3\xe8\xd6\xe8\xd1\xdd" , "\x6c\xc0\xc6\xf9" } , { "\xb3\xe8\xd7" , "\x6a" } , { "\xb3\xe8\xd7\xa2" , "\x6a\x65" } , { "\xb3\xe8\xd7\xda" , "\x6a\xe7" } , { "\xb3\xe8\xd7\xda\xa2" , "\x6a\xe7\x65" } , { "\xb3\xe8\xd7\xdb" , "\xd7\x6a" } , { "\xb3\xe8\xd7\xdb\xa2" , "\xd7\x6a\x65" } , { "\xb3\xe8\xd7\xdb\xa2\xa2" , "\xd7\x6a\x65\x65" } , { "\xb3\xe8\xd7\xdc" , "\x6a\xdd" } , { "\xb3\xe8\xd7\xdd" , "\x6a\xc7" } , { "\xb3\xe8\xd7\xde" , "\x6a\xc9" } , { "\xb3\xe8\xd7\xe1" , "\xe6\x6a" } , { "\xb3\xe8\xd7\xe1\xa2" , "\xe6\x6a\x65" } , { "\xb3\xe8\xd7\xe2" , "\xe9\x6a" } , { "\xb3\xe8\xd7\xe5" , "\xe6\x6a\xe7" } , { "\xb3\xe8\xd7\xe5\xa2" , "\xe6\x6a\xe7\x65" } , { "\xb3\xe8\xd7\xe6" , "\xe6\x6a\xec" } , { "\xb3\xe8\xd7\xe8" , "\x6a\xcb" } , { "\xb3\xe8\xd7\xe8\xb3\xdb" , "\xd7\xa8\x95\xf5" } , { "\xb3\xe8\xd7\xe8\xb3\xdd" , "\xa8\x95\xc7\xf5" } , { "\xb3\xe8\xd7\xe8\xb3\xde" , "\xa8\x95\xc9\xf5" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcd\xde" , "\xa8\x61\xcb\xa8\xcc\x5e\xc9" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xcf\xdc" , "\xa8\x95\x98\xf5\xdd" } , { "\xb3\xe8\xd7\xe8\xb3\xe8\xd1\xde" , "\xa8\x95\xc0\xc8\xf5" } , { "\xb3\xe8\xd7\xe8\xb5" , "\x45\xcb\xf5\xba\x47" } , { "\xb3\xe8\xd7\xe8\xb5\xda" , "\x45\xcb\xf5\xba\x47\xe7" } , { "\xb3\xe8\xd7\xe8\xb5\xe8\xcf\xe1" , "\xe6\xba\xa8\x47\xd0" } , { "\xb3\xe8\xd7\xe8\xb8" , "\x45\xcb\xf5\xba\x4a\xf4" } , { "\xb3\xe8\xd7\xe8\xb8\xdb" , "\x45\xcb\xf5\xd7\xba\x4a\xf4" } , { "\xb3\xe8\xd7\xe8\xb8\xe1" , "\x45\xcb\xf5\xe6\xba\x4a\xf4" } , { "\xb3\xe8\xd7\xe8\xb8\xe1\xa2" , "\x45\xcb\xf5\xe6\xba\x4a\xf4\x65" } , { "\xb3\xe8\xd7\xe8\xb9\xe1\xa2" , "\x45\xcb\xf5\xe6\xba\x4b\xf7\x65" } , { "\xb3\xe8\xd7\xe8\xba\xe8\xd1" , "\xba\xa8\x4c\xcb\x5f" } , { "\xb3\xe8\xd7\xe8\xbd" , "\x45\xcb\xf5\xba\x4f\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xda" , "\x45\xcb\xf5\xba\x4f\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xdc" , "\x45\xcb\xf5\xba\x4f\xf4\xdd" } , { "\xb3\xe8\xd7\xe8\xbd\xe1\xa2" , "\x45\xcb\xf5\xe6\xba\x4f\xf4\x65" } , { "\xb3\xe8\xd7\xe8\xbd\xe2" , "\x45\xcb\xf5\xe8\xba\x4f\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe5" , "\x45\xcb\xf5\xe6\xba\x4f\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xe8" , "\x45\xcb\xf5\xba\x4f\xcb\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xa8\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd7\xba\xa8\xae\xcf\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xdc" , "\xba\xa8\xae\xcf\xf4\xdd" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\xba\xa8\xae\xcf\xc9\xf4" } , { "\xb3\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xe6\xba\xa8\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xbf" , "\x45\xcb\xf5\xba\x51\xf6" } , { "\xb3\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\xa8\x61\xcb\xaf\x47\xe7" } , { "\xb3\xe8\xd7\xe8\xc2\xde" , "\xa8\xd8\x99\xc9\xf6" } , { "\xb3\xe8\xd7\xe8\xc2\xe8" , "\xa8\xd8\x99\xcb\xf6" } , { "\xb3\xe8\xd7\xe8\xc3\xda" , "\xa8\xd8\x9a\xf6\xe7" } , { "\xb3\xe8\xd7\xe8\xc3\xdb" , "\xd7\xa8\xd8\x9a\xf6" } , { "\xb3\xe8\xd7\xe8\xc4\xda" , "\x45\xcb\xf5\xba\x56\xe7" } , { "\xb3\xe8\xd7\xe8\xc6\xa2" , "\xa8\xd8\x6f\xf6\x65" } , { "\xb3\xe8\xd7\xe8\xc6\xdb" , "\xd7\xa8\xd8\x6f\xf6" } , { "\xb3\xe8\xd7\xe8\xc6\xdd" , "\xa8\xd8\x6f\xf6\xc7" } , { "\xb3\xe8\xd7\xe8\xc6\xdd\xa2" , "\xa8\xd8\x6f\xf6\xc7\x65" } , { "\xb3\xe8\xd7\xe8\xc6\xe1" , "\xe6\xa8\xd8\x6f\xf6" } , { "\xb3\xe8\xd7\xe8\xc6\xe8" , "\xa8\xd8\x6f\xf6\xcb" } , { "\xb3\xe8\xd7\xe8\xc6\xe8\xd1\xe5" , "\xe6\xba\xa8\xdc\xda\xf6\xe7" } , { "\xb3\xe8\xd7\xe8\xc8" , "\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xa2" , "\xa8\x26\x65" } , { "\xb3\xe8\xd7\xe8\xc8\xda" , "\xa8\x26\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xdb" , "\xd7\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xdc" , "\xa8\x26\xdd" } , { "\xb3\xe8\xd7\xe8\xc8\xe2" , "\xe9\xa8\x26" } , { "\xb3\xe8\xd7\xe8\xc8\xe5" , "\xe6\xa8\x26\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xe6" , "\xe6\xa8\x26\xec" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xcf\xe1" , "\xe6\xa8\x26\xd2" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1" , "\xa8\x26\xc0" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xa8\x26\xc0\xe7" } , { "\xb3\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\xa8\x26\xc0\xe7\x65" } , { "\xb3\xe8\xd7\xe8\xc9" , "\xa8\xd8\xf6\x8f\xf5" } , { "\xb3\xe8\xd7\xe8\xc9\xdb" , "\xd7\xa8\xd8\xf6\x8f\xf5" } , { "\xb3\xe8\xd7\xe8\xc9\xe8\xd1\xe5" , "\xe6\xba\xa8\x6e\xf5\xe7" } , { "\xb3\xe8\xd7\xe8\xcc" , "\x6a\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xdb" , "\xd7\x6a\xbd" } , { "\xb3\xe8\xd7\xe8\xcc\xdd" , "\x6a\xbd\xc6" } , { "\xb3\xe8\xd7\xe8\xcc\xe8\xcd\xda" , "\xa8\x61\xcb\x5d\xcb\xcc\x5e\xe7" } , { "\xb3\xe8\xd7\xe8\xcd\xde" , "\x45\xcb\xf5\xba\xcc\x5e\xc9" } , { "\xb3\xe8\xd7\xe8\xcf\xdd" , "\x6a\x98\xc6" } , { "\xb3\xe8\xd7\xe8\xcf\xe1" , "\xe6\x6a\x98" } , { "\xb3\xe8\xd7\xe8\xcf\xe8" , "\x6a\x98\xcb" } , { "\xb3\xe8\xd7\xe8\xd1" , "\xa8\xd8\xda\xf6" } , { "\xb3\xe8\xd7\xe8\xd1\xdc" , "\xa8\xd8\xda\xf6\xdd" } , { "\xb3\xe8\xd7\xe8\xd1\xdd" , "\xa8\xd8\xda\xf6\xc7" } , { "\xb3\xe8\xd7\xe8\xd1\xe1" , "\xe6\xa8\xd8\xda\xf6" } , { "\xb3\xe8\xd7\xe8\xd1\xe2" , "\xe8\xa8\xd8\xda\xf6" } , { "\xb3\xe8\xd7\xe8\xd1\xe5" , "\xe6\xa8\xd8\xda\xf6\xe7" } , { "\xb3\xe8\xd7\xe8\xd7\xe8" , "\x45\xcb\xf5\xba\x61\xcb" } , { "\xb3\xe8\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x45\xcb\xf5\xba\xba\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd7\xe8\xd8\xe2" , "\x45\xcb\xf5\xe9\xba\x63\xf7" } , { "\xb3\xe8\xd8" , "\xa8\x63\xf7" } , { "\xb3\xe8\xd8\xda" , "\xa8\x63\xf7\xe7" } , { "\xb3\xe8\xd8\xda\xa2" , "\xa8\x63\xf7\xe7\x65" } , { "\xb3\xe8\xd8\xe8" , "\xa8\x63\xcb\xf7" } , { "\xb3\xe8\xd9\xa6" , "\xa8\x2b" } , { "\xb3\xe8\xd9\xb3" , "\xa8\x45\xf5" } , { "\xb3\xe8\xd9\xb3\xdc" , "\xa8\x45\xf5\xdd" } , { "\xb3\xe8\xd9\xb4\xe6" , "\xa8\xe3\x46\xec" } , { "\xb3\xe8\xd9\xbd" , "\xa8\xbb\x4f\xf4" } , { "\xb3\xe8\xd9\xbd\xe8\xcf\xda" , "\xa8\xae\xcf\xf4\xe7" } , { "\xb3\xe8\xd9\xc2" , "\xa8\x54\xf6" } , { "\xb3\xe8\xd9\xc2\xda" , "\xa8\x54\xf6\xe7" } , { "\xb3\xe8\xd9\xc2\xdb" , "\xa8\xd7\x54\xf6" } , { "\xb3\xe8\xd9\xc2\xde" , "\xa8\x54\xc9\xf6" } , { "\xb3\xe8\xd9\xc2\xdf" , "\xa8\x54\xca\xf6" } , { "\xb3\xe8\xd9\xc2\xe5\xa2" , "\xa8\xe3\x54\xf6\xe7\x65" } , { "\xb3\xe8\xd9\xcf\xe8\xbd\xdb" , "\xa8\xd7\xbb\x4f\xf4\xdb" } , { "\xb3\xe8\xd9\xcf\xe8\xcd" , "\xa8\xcc\x5e\xef" } , { "\xb3\xe8\xd9\xcf\xe8\xd7" , "\xa8\x61\xef" } , { "\xb3\xe8\xd9\xd7" , "\xa8\x61" } , { "\xb3\xe8\xd9\xd7\xda" , "\xa8\x61\xe7" } , { "\xb3\xe8\xd9\xd7\xdc" , "\xa8\x61\xdd" } , { "\xb3\xe8\xe8" , "\x45\xcb\xf5" } , { "\xb3\xe8\xe9\xc2" , "\x4e\xfe" } , { "\xb3\xe8\xe9\xcf" , "\x79\xd4" } , { "\xb3\xe8\xe9\xd6" , "\x6c\xf9" } , { "\xb3\xe9" , "\x45\xf5" } , { "\xb3\xe9\xda" , "\x45\xf5\xe7" } , { "\xb3\xe9\xdb" , "\xd7\x45\xf5" } , { "\xb3\xe9\xdb\xa2" , "\xd7\x45\xf5\x65" } , { "\xb3\xe9\xdc" , "\x45\xf5\xdd" } , { "\xb3\xe9\xdd" , "\x45\xc7\xf5" } , { "\xb3\xe9\xde" , "\x45\xc9\xf5" } , { "\xb3\xe9\xe1" , "\xe6\x45\xf5" } , { "\xb3\xe9\xe2" , "\xe9\x45\xf5" } , { "\xb3\xe9\xe5\xa2" , "\xe6\x45\xf5\xe7\x65" } , { "\xb3\xe9\xe6" , "\xe6\x45\xf5\xec" } , { "\xb3\xe9\xe8\xb3\xe9" , "\x68\xf5" } , { "\xb3\xe9\xe8\xc2" , "\x4e\xfe" } , { "\xb3\xe9\xe8\xcc" , "\xa8\xbf" } , { "\xb3\xe9\xe8\xd1" , "\x7a\xf5" } , { "\xb3\xe9\xe8\xd1\xdb" , "\xd7\x7a\xf5" } , { "\xb3\xe9\xe8\xd7\xdc" , "\x6a\xdd" } , { "\xb3\xe9\xe8\xd9\xc2\xe1" , "\xa8\xe3\x54\xf6" } , { "\xb4" , "\x46" } , { "\xb4\xa1" , "\x46\x67" } , { "\xb4\xa2" , "\x46\x65" } , { "\xb4\xa3" , "\x46\x66" } , { "\xb4\xda" , "\x46\xe7" } , { "\xb4\xda\xa1" , "\x46\x67\xe7" } , { "\xb4\xda\xa2" , "\x46\xe7\x65" } , { "\xb4\xda\xa3" , "\x46\xe7\x66" } , { "\xb4\xdb" , "\xd7\x46" } , { "\xb4\xdb\xa2" , "\xd7\x46\x65" } , { "\xb4\xdc" , "\x46\xdd" } , { "\xb4\xdc\xa2" , "\x46\xdd\x65" } , { "\xb4\xdd" , "\x46\xc7" } , { "\xb4\xdd\xa1" , "\x46\x67\xc7" } , { "\xb4\xdd\xa2" , "\x46\xc7\x65" } , { "\xb4\xde" , "\x46\xc9" } , { "\xb4\xde\xa1" , "\x46\x67\xc9" } , { "\xb4\xde\xa2" , "\x46\xc9\x65" } , { "\xb4\xdf" , "\x46\xca" } , { "\xb4\xe1" , "\xe6\x46" } , { "\xb4\xe1\xa1" , "\xe6\x46\x67" } , { "\xb4\xe1\xa2" , "\xe6\x46\x65" } , { "\xb4\xe2" , "\xe9\x46" } , { "\xb4\xe2\xa2" , "\xe9\x46\x65" } , { "\xb4\xe5" , "\xe6\x46\xe7" } , { "\xb4\xe5\xa2" , "\xe6\x46\xe7\x65" } , { "\xb4\xe6" , "\xe6\x46\xec" } , { "\xb4\xe8" , "\x46\xcb" } , { "\xb4\xe8\xb3" , "\x46\xcb\x45\xf5" } , { "\xb4\xe8\xb3\xda" , "\x46\xcb\x45\xf5\xe7" } , { "\xb4\xe8\xb3\xe8\xd6" , "\x46\xcb\x6c\xf9" } , { "\xb4\xe8\xb4" , "\x46\xcb\x46" } , { "\xb4\xe8\xb4\xa2" , "\x46\xcb\x46\x65" } , { "\xb4\xe8\xb4\xa3" , "\x46\xcb\x46\x66" } , { "\xb4\xe8\xb4\xda" , "\x46\xcb\x46\xe7" } , { "\xb4\xe8\xb4\xdb\xa2" , "\x46\xcb\xd7\x46\x65" } , { "\xb4\xe8\xb4\xdc" , "\x46\xcb\x46\xdd" } , { "\xb4\xe8\xb5\xda" , "\x46\xcb\x47\xe7" } , { "\xb4\xe8\xb8\xda" , "\x46\xcb\xbb\x4a\xf4\xe7" } , { "\xb4\xe8\xbd" , "\x46\xcb\xbb\x4f\xf4" } , { "\xb4\xe8\xc2" , "\x46\xcb\x54\xf6" } , { "\xb4\xe8\xc2\xda" , "\x46\xcb\x54\xf6\xe7" } , { "\xb4\xe8\xc2\xdb" , "\x46\xcb\xd7\x54\xf6" } , { "\xb4\xe8\xc2\xdc" , "\x46\xcb\x54\xf6\xdd" } , { "\xb4\xe8\xc2\xdd" , "\x46\xcb\x54\xc7\xf6" } , { "\xb4\xe8\xc2\xe1" , "\x46\xcb\xe6\x54\xf6" } , { "\xb4\xe8\xc2\xe5" , "\x46\xcb\xe6\x54\xf6\xe7" } , { "\xb4\xe8\xc2\xe5\xa2" , "\x46\xcb\xe6\x54\xf6\xe7\x65" } , { "\xb4\xe8\xc2\xe8\xb4\xda" , "\x46\xcb\xb1\x46\xe7" } , { "\xb4\xe8\xc4\xdd\xa2" , "\x46\xcb\x56\xc7\x65" } , { "\xb4\xe8\xc6\xdc" , "\x46\xc2\xdd" } , { "\xb4\xe8\xc6\xdd" , "\x46\xc2\xc7" } , { "\xb4\xe8\xc6\xe2" , "\xe8\x46\xc2" } , { "\xb4\xe8\xc6\xe5" , "\xe6\x46\xc2\xe7" } , { "\xb4\xe8\xc8\xde" , "\x46\xcb\x59\xc9" } , { "\xb4\xe8\xcc" , "\x46\xbd" } , { "\xb4\xe8\xcc\xda" , "\x46\xbd\xe7" } , { "\xb4\xe8\xcc\xdb" , "\xd7\x46\xbd" } , { "\xb4\xe8\xcc\xdc" , "\x46\xbd\xdd" } , { "\xb4\xe8\xcc\xe5\xa2" , "\xe6\x46\xbd\xe7\x65" } , { "\xb4\xe8\xcd" , "\x46\xee" } , { "\xb4\xe8\xcd\xa2" , "\x46\xee\x65" } , { "\xb4\xe8\xcd\xda" , "\x46\xee\xe7" } , { "\xb4\xe8\xcd\xda\xa2" , "\x46\xee\xe7\x65" } , { "\xb4\xe8\xcd\xdb" , "\xd7\x46\xee" } , { "\xb4\xe8\xcd\xdd" , "\x46\xc7\xee" } , { "\xb4\xe8\xcd\xdd\xa2" , "\x46\xc7\xee\x65" } , { "\xb4\xe8\xcd\xde" , "\x46\xc9\xee" } , { "\xb4\xe8\xcd\xdf" , "\x46\xca\xee" } , { "\xb4\xe8\xcd\xe1" , "\xe6\x46\xee" } , { "\xb4\xe8\xcd\xe2" , "\xe9\x46\xee" } , { "\xb4\xe8\xcd\xe5" , "\xe6\x46\xee\xe7" } , { "\xb4\xe8\xcd\xe5\xa2" , "\xe6\x46\xee\xe7\x65" } , { "\xb4\xe8\xcd\xe6" , "\xe6\x46\xee\xec" } , { "\xb4\xe8\xcd\xe8\xcd" , "\x46\xee\xee" } , { "\xb4\xe8\xcd\xe8\xcd\xda" , "\x46\xee\xee\xe7" } , { "\xb4\xe8\xcf" , "\x46\xd0" } , { "\xb4\xe8\xcf\xdd" , "\x46\xd0\xc7" } , { "\xb4\xe8\xd1\xda" , "\x46\xc0\xe7" } , { "\xb4\xe8\xd1\xdd" , "\x46\xc0\xc7" } , { "\xb4\xe8\xd5" , "\x46\xcb\x60" } , { "\xb4\xe8\xd5\xda" , "\x46\xcb\x60\xe7" } , { "\xb4\xe8\xd5\xdc" , "\x46\xcb\x60\xdd" } , { "\xb4\xe8\xd6\xe8\xcd\xda" , "\x46\xcb\xb9\xcc\x5e\xe7" } , { "\xb4\xe8\xd7" , "\x46\xcb\x61" } , { "\xb4\xe8\xd7\xdb" , "\x46\xcb\xd7\x61" } , { "\xb4\xe8\xd7\xdc" , "\x46\xcb\x61\xdd" } , { "\xb4\xe8\xd9\xd5" , "\x46\xcb\x60" } , { "\xb4\xe8\xe8" , "\x46\xcb" } , { "\xb4\xe8\xe9\xcf" , "\x46\xd0" } , { "\xb4\xe9" , "\x46" } , { "\xb4\xe9\xcf\xe8\xb8\xda" , "\x46\xbb\x4a\xf4\xdb\xe7" } , { "\xb4\xe9\xda" , "\x46\xe7" } , { "\xb4\xe9\xda\xa1" , "\x46\x67\xe7" } , { "\xb4\xe9\xdb" , "\xd7\x46" } , { "\xb4\xe9\xdc" , "\x46\xdd" } , { "\xb4\xe9\xdd" , "\x46\xc7" } , { "\xb4\xe9\xde" , "\x46\xc9" } , { "\xb4\xe9\xe2" , "\xe9\x46" } , { "\xb4\xe9\xe5" , "\xe6\x46\xe7" } , { "\xb4\xe9\xe5\xa2" , "\xe6\x46\xe7\x65" } , { "\xb4\xe9\xe8\xc2" , "\x46\xcb\x54\xf6" } , { "\xb4\xe9\xe8\xc2\xe5\xa2" , "\x46\xcb\xe6\x54\xf6\xe7\x65" } , { "\xb4\xe9\xe8\xcd\xda" , "\x46\xcb\xcc\x5e\xe7" } , { "\xb4\xe9\xe8\xd5" , "\x46\xcb\x60" } , { "\xb4\xe9\xe8\xd7" , "\x46\xcb\x61" } , { "\xb5" , "\x47" } , { "\xb5\xa1" , "\x47\x67" } , { "\xb5\xa2" , "\x47\x65" } , { "\xb5\xa3" , "\x47\x66" } , { "\xb5\xda" , "\x47\xe7" } , { "\xb5\xda\xa1" , "\x47\x67\xe7" } , { "\xb5\xda\xa2" , "\x47\xe7\x65" } , { "\xb5\xda\xa3" , "\x47\xe7\x66" } , { "\xb5\xdb" , "\xd7\x47" } , { "\xb5\xdb\xa2" , "\xd7\x47\x65" } , { "\xb5\xdc" , "\x47\xdd" } , { "\xb5\xdc\xa2" , "\x47\xdd\x65" } , { "\xb5\xdc\xa3" , "\x47\xdd\x66" } , { "\xb5\xdd" , "\x6d" } , { "\xb5\xdd\xa1" , "\x6d\x67" } , { "\xb5\xdd\xa2" , "\x6d\x65" } , { "\xb5\xdd\xa2\xa2" , "\x6d\x65\x65" } , { "\xb5\xdd\xa3" , "\x6d\x66" } , { "\xb5\xde" , "\x47\xc9" } , { "\xb5\xde\xa1" , "\x47\x67\xc9" } , { "\xb5\xde\xa2" , "\x47\xc9\x65" } , { "\xb5\xdf" , "\x47\xca" } , { "\xb5\xdf\xa2" , "\x47\xca\x65" } , { "\xb5\xe1" , "\xe6\x47" } , { "\xb5\xe1\xa2" , "\xe6\x47\x65" } , { "\xb5\xe1\xa3" , "\xe6\x47\x66" } , { "\xb5\xe2" , "\xe9\x47" } , { "\xb5\xe2\xa2" , "\xe9\x47\x65" } , { "\xb5\xe2\xa3" , "\xe9\x47\x66" } , { "\xb5\xe5" , "\xe6\x47\xe7" } , { "\xb5\xe5\xa2" , "\xe6\x47\xe7\x65" } , { "\xb5\xe6" , "\xe6\x47\xec" } , { "\xb5\xe6\xa1" , "\xe6\x47\x67\xec" } , { "\xb5\xe6\xa2" , "\xe6\x47\xec\x65" } , { "\xb5\xe8" , "\x47\xcb" } , { "\xb5\xe8\x4d" , "\x47\xcb\x4d" } , { "\xb5\xe8\xb3" , "\xaa\x45\xf5" } , { "\xb5\xe8\xb3\xda" , "\xaa\x45\xf5\xe7" } , { "\xb5\xe8\xb3\xdb" , "\xd7\xaa\x45\xf5" } , { "\xb5\xe8\xb3\xdd" , "\xaa\x45\xc7\xf5" } , { "\xb5\xe8\xb3\xde" , "\xaa\x45\xc9\xf5" } , { "\xb5\xe8\xb3\xe2" , "\xe9\xaa\x45\xf5" } , { "\xb5\xe8\xb3\xe5" , "\xe6\xaa\x45\xf5\xe7" } , { "\xb5\xe8\xb3\xe8\xd1" , "\xaa\x7a\xf5" } , { "\xb5\xe8\xb5" , "\xaa\x47" } , { "\xb5\xe8\xb5\xa2" , "\xaa\x47\x65" } , { "\xb5\xe8\xb5\xda" , "\xaa\x47\xe7" } , { "\xb5\xe8\xb5\xdb" , "\xd7\xaa\x47" } , { "\xb5\xe8\xb5\xdb\xa2" , "\xd7\xaa\x47\x65" } , { "\xb5\xe8\xb5\xdc" , "\xaa\x47\xdd" } , { "\xb5\xe8\xb5\xdd" , "\xaa\x47\xc7" } , { "\xb5\xe8\xb5\xdd\xa2" , "\xaa\x47\xc7\x65" } , { "\xb5\xe8\xb5\xde" , "\xaa\x47\xc9" } , { "\xb5\xe8\xb5\xe1" , "\xe6\xaa\x47" } , { "\xb5\xe8\xb5\xe1\xa2" , "\xe6\xaa\x47\x65" } , { "\xb5\xe8\xb5\xe2" , "\xe9\xaa\x47" } , { "\xb5\xe8\xb5\xe5" , "\xe6\xaa\x47\xe7" } , { "\xb5\xe8\xb5\xe8" , "\xaa\x47\xcb" } , { "\xb5\xe8\xb6" , "\xaa\x48" } , { "\xb5\xe8\xb6\xda" , "\xaa\x48\xe7" } , { "\xb5\xe8\xb6\xdc" , "\xaa\x48\xdd" } , { "\xb5\xe8\xb6\xdd" , "\xaa\x48\xc7" } , { "\xb5\xe8\xb6\xe1" , "\xe6\xaa\x48" } , { "\xb5\xe8\xb7" , "\xaa\x49\xf8" } , { "\xb5\xe8\xb7\xda" , "\xaa\x49\xf8\xe7" } , { "\xb5\xe8\xb7\xdb" , "\xd7\xaa\x49\xf8" } , { "\xb5\xe8\xb7\xdc" , "\xaa\x49\xf8\xdd" } , { "\xb5\xe8\xb7\xe5\xa2" , "\xe6\xaa\x49\xf8\xe7\x65" } , { "\xb5\xe8\xb8\xe1" , "\xe6\xaa\x4a\xf4" } , { "\xb5\xe8\xba" , "\xaa\x4c" } , { "\xb5\xe8\xba\xa2" , "\xaa\x4c\x65" } , { "\xb5\xe8\xba\xda" , "\xaa\x4c\xe7" } , { "\xb5\xe8\xba\xda\xa2" , "\xaa\x4c\xe7\x65" } , { "\xb5\xe8\xba\xdb" , "\xd7\xaa\x4c" } , { "\xb5\xe8\xba\xdc" , "\xaa\x4c\xdd" } , { "\xb5\xe8\xba\xe1\xa2" , "\xe6\xaa\x4c\x65" } , { "\xb5\xe8\xba\xe2" , "\xe9\xaa\x4c" } , { "\xb5\xe8\xba\xe9" , "\xaa\x4c" } , { "\xb5\xe8\xba\xe9\xdb" , "\xd7\xaa\x4c" } , { "\xb5\xe8\xbd" , "\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xda" , "\xaa\x4f\xf4\xe7" } , { "\xb5\xe8\xbd\xda\xa2" , "\xaa\x4f\xf4\xe7\x65" } , { "\xb5\xe8\xbd\xdb" , "\xd7\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xdc" , "\xaa\x4f\xf4\xdd" } , { "\xb5\xe8\xbd\xde" , "\xaa\x4f\xc9\xf4" } , { "\xb5\xe8\xbd\xe1" , "\xe6\xaa\x4f\xf4" } , { "\xb5\xe8\xbd\xe2\xa2" , "\xe8\xaa\x4f\xf4\x65" } , { "\xb5\xe8\xbd\xe8\xba\xe8" , "\x47\xcb\xae\x4c\xcb" } , { "\xb5\xe8\xbd\xe8\xcf\xda" , "\xaa\xae\xcf\xf4\xe7" } , { "\xb5\xe8\xbd\xe8\xd7" , "\x47\xcb\xae\x61" } , { "\xb5\xe8\xbd\xe8\xd7\xda" , "\x47\xcb\xae\x61\xe7" } , { "\xb5\xe8\xbf" , "\xaa\x51\xf6" } , { "\xb5\xe8\xbf\xa2" , "\xaa\x51\xf6\x65" } , { "\xb5\xe8\xbf\xda" , "\xaa\x51\xf6\xe7" } , { "\xb5\xe8\xbf\xda\xa2" , "\xaa\x51\xf6\xe7\x65" } , { "\xb5\xe8\xbf\xdb" , "\xd7\xaa\x51\xf6" } , { "\xb5\xe8\xbf\xdc" , "\xaa\x51\xf6\xdd" } , { "\xb5\xe8\xbf\xe5" , "\xe6\xaa\x51\xf6\xe7" } , { "\xb5\xe8\xbf\xe8" , "\xaa\x51\xcb\xf6" } , { "\xb5\xe8\xc0\xdd" , "\xaa\x52\xc7\xf4" } , { "\xb5\xe8\xc1" , "\xaa\x53" } , { "\xb5\xe8\xc1\xda" , "\xaa\x53\xe7" } , { "\xb5\xe8\xc1\xe5\xa2" , "\xe6\xaa\x53\xe7\x65" } , { "\xb5\xe8\xc2" , "\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xda" , "\xaa\x54\xf6\xe7" } , { "\xb5\xe8\xc2\xdb" , "\xd7\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xdd" , "\xaa\x54\xc7\xf6" } , { "\xb5\xe8\xc2\xe1" , "\xe6\xaa\x54\xf6" } , { "\xb5\xe8\xc2\xe5" , "\xe6\xaa\x54\xf6\xe7" } , { "\xb5\xe8\xc2\xe8" , "\xaa\x54\xcb\xf6" } , { "\xb5\xe8\xc2\xe8\xb3" , "\x47\xcb\xb1\x45\xf5" } , { "\xb5\xe8\xc2\xe8\xb5" , "\x47\xcb\xb1\x47" } , { "\xb5\xe8\xc2\xe8\xc2" , "\xaa\x77\xf8" } , { "\xb5\xe8\xc2\xe8\xcf" , "\xaa\x79" } , { "\xb5\xe8\xc2\xe8\xd7" , "\x47\xcb\xb1\x61" } , { "\xb5\xe8\xc3" , "\xaa\x55" } , { "\xb5\xe8\xc3\xda" , "\xaa\x55\xe7" } , { "\xb5\xe8\xc3\xdc" , "\xaa\x55\xdd" } , { "\xb5\xe8\xc3\xdd" , "\xaa\x55\xc7" } , { "\xb5\xe8\xc3\xe5" , "\xe6\xaa\x55\xe7" } , { "\xb5\xe8\xc3\xe5\xa2" , "\xe6\xaa\x55\xe7\x65" } , { "\xb5\xe8\xc3\xe8\xcd\xda" , "\x47\xcb\x55\xcb\xcc\x5e\xe7" } , { "\xb5\xe8\xc4" , "\xaa\x56" } , { "\xb5\xe8\xc4\xa2" , "\xaa\x56\x65" } , { "\xb5\xe8\xc4\xda" , "\xaa\x56\xe7" } , { "\xb5\xe8\xc4\xdb" , "\xd7\xaa\x56" } , { "\xb5\xe8\xc4\xdd" , "\xaa\x56\xc7" } , { "\xb5\xe8\xc4\xdf" , "\xaa\x56\xca" } , { "\xb5\xe8\xc4\xe1" , "\xe6\xaa\x56" } , { "\xb5\xe8\xc4\xe5" , "\xe6\xaa\x56\xe7" } , { "\xb5\xe8\xc4\xe8\xcd" , "\x47\xcb\xb2\xcc\x5e" } , { "\xb5\xe8\xc4\xe8\xcd\xa2" , "\x47\xcb\xb2\xcc\x5e\x65" } , { "\xb5\xe8\xc5" , "\x84\xf9" } , { "\xb5\xe8\xc5\xa2" , "\x84\xf9\x65" } , { "\xb5\xe8\xc5\xda" , "\x84\xf9\xe7" } , { "\xb5\xe8\xc5\xdb" , "\xd7\x84\xf9" } , { "\xb5\xe8\xc5\xdc" , "\x84\xf9\xdd" } , { "\xb5\xe8\xc5\xdd" , "\x84\xc7\xf9" } , { "\xb5\xe8\xc5\xe1" , "\xe5\x84\xf9" } , { "\xb5\xe8\xc5\xe5" , "\xe5\x84\xf9\xe7" } , { "\xb5\xe8\xc5\xe8\xcd" , "\x47\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xb5\xe8\xc5\xe8\xcd\xa2" , "\x47\xcb\x57\xfd\xcb\xcc\x5e\x65" } , { "\xb5\xe8\xc5\xe8\xcd\xda" , "\x47\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xb5\xe8\xc6" , "\x47\xc2" } , { "\xb5\xe8\xc6\xa2" , "\x47\xc2\x65" } , { "\xb5\xe8\xc6\xda" , "\x47\xc2\xe7" } , { "\xb5\xe8\xc6\xdb" , "\xd7\x47\xc2" } , { "\xb5\xe8\xc6\xdb\xa2" , "\xd7\x47\xc2\x65" } , { "\xb5\xe8\xc6\xdb\xa3" , "\xd7\x47\xc2\x66" } , { "\xb5\xe8\xc6\xdc" , "\x47\xc2\xdd" } , { "\xb5\xe8\xc6\xdd" , "\x47\xc2\xc7" } , { "\xb5\xe8\xc6\xdd\xa2" , "\x47\xc2\xc7\x65" } , { "\xb5\xe8\xc6\xde" , "\x47\xc2\xc9" } , { "\xb5\xe8\xc6\xe1" , "\xe6\x47\xc2" } , { "\xb5\xe8\xc6\xe2" , "\xe8\x47\xc2" } , { "\xb5\xe8\xc6\xe5\xa2" , "\xe6\x47\xc2\xe7\x65" } , { "\xb5\xe8\xc6\xe6" , "\xe6\x47\xc2\xec" } , { "\xb5\xe8\xc6\xe8\xcd\xa2" , "\x47\xcb\xb3\xcc\x5e\x65" } , { "\xb5\xe8\xc6\xe8\xcd\xda" , "\x47\xcb\xb3\xcc\x5e\xe7" } , { "\xb5\xe8\xc6\xe8\xcd\xda\xa1" , "\x47\xcb\xb3\xcc\x5e\x67\xe7" } , { "\xb5\xe8\xc8" , "\xaa\x59" } , { "\xb5\xe8\xc8\xda" , "\xaa\x59\xe7" } , { "\xb5\xe8\xc8\xdb" , "\xd7\xaa\x59" } , { "\xb5\xe8\xc8\xdc" , "\xaa\x59\xdd" } , { "\xb5\xe8\xc8\xdd" , "\xaa\x59\xc7" } , { "\xb5\xe8\xc8\xde" , "\xaa\x59\xc9" } , { "\xb5\xe8\xc8\xe2" , "\xe9\xaa\x59" } , { "\xb5\xe8\xc9" , "\xaa\x5a\xf5" } , { "\xb5\xe8\xc9\xdb" , "\xd7\xaa\x5a\xf5" } , { "\xb5\xe8\xc9\xe5" , "\xe6\xaa\x5a\xf5\xe7" } , { "\xb5\xe8\xca" , "\x47\x9f" } , { "\xb5\xe8\xca\xa2" , "\x47\x9f\x65" } , { "\xb5\xe8\xca\xda" , "\x47\x9f\xe7" } , { "\xb5\xe8\xca\xdb" , "\xd7\x47\x9f" } , { "\xb5\xe8\xca\xdc" , "\x47\x9f\xdd" } , { "\xb5\xe8\xca\xe5" , "\xe6\x47\x9f\xe7" } , { "\xb5\xe8\xca\xe8\xcf" , "\xaa\x5b\xfd\xd0" } , { "\xb5\xe8\xca\xe8\xcf\xe1" , "\xe6\xaa\x5b\xfd\xd0" } , { "\xb5\xe8\xcb" , "\xaa\x5c\xf6" } , { "\xb5\xe8\xcb\xa2" , "\xaa\x5c\xf6\x65" } , { "\xb5\xe8\xcb\xda" , "\xaa\x5c\xf6\xe7" } , { "\xb5\xe8\xcb\xde" , "\xaa\x5c\xc9\xf6" } , { "\xb5\xe8\xcb\xe8\xcf" , "\xaa\x7d" } , { "\xb5\xe8\xcb\xe8\xcf\xda" , "\xaa\x7d\xe7" } , { "\xb5\xe8\xcb\xe8\xcf\xda\xa2" , "\xaa\x7d\xe7\x65" } , { "\xb5\xe8\xcc" , "\x47\xbd" } , { "\xb5\xe8\xcc\xa2" , "\x47\xbd\x65" } , { "\xb5\xe8\xcc\xda" , "\x47\xbd\xe7" } , { "\xb5\xe8\xcc\xdb" , "\xd7\x47\xbd" } , { "\xb5\xe8\xcc\xdc" , "\x47\xbd\xdd" } , { "\xb5\xe8\xcc\xdd" , "\x47\xbd\xc6" } , { "\xb5\xe8\xcc\xde" , "\x47\xbd\xc8" } , { "\xb5\xe8\xcc\xe1" , "\xe6\x47\xbd" } , { "\xb5\xe8\xcc\xe2" , "\xe9\x47\xbd" } , { "\xb5\xe8\xcc\xe2\xa2" , "\xe9\x47\xbd\x65" } , { "\xb5\xe8\xcc\xe5" , "\xe6\x47\xbd\xe7" } , { "\xb5\xe8\xcc\xe5\xa2" , "\xe6\x47\xbd\xe7\x65" } , { "\xb5\xe8\xcd" , "\x47\xee" } , { "\xb5\xe8\xcd\xa2" , "\x47\xee\x65" } , { "\xb5\xe8\xcd\xda" , "\x47\xee\xe7" } , { "\xb5\xe8\xcd\xda\xa2" , "\x47\xee\xe7\x65" } , { "\xb5\xe8\xcd\xdb" , "\xd7\x47\xee" } , { "\xb5\xe8\xcd\xdb\xa2" , "\xd7\x47\xee\x65" } , { "\xb5\xe8\xcd\xdc" , "\x47\xee\xdd" } , { "\xb5\xe8\xcd\xdd" , "\x6d\xee" } , { "\xb5\xe8\xcd\xde" , "\x47\xc9\xee" } , { "\xb5\xe8\xcd\xdf" , "\x47\xca\xee" } , { "\xb5\xe8\xcd\xe1" , "\xe6\x47\xee" } , { "\xb5\xe8\xcd\xe2" , "\xe9\x47\xee" } , { "\xb5\xe8\xcd\xe5" , "\xe6\x47\xee\xe7" } , { "\xb5\xe8\xcd\xe6" , "\xe6\x47\xee\xec" } , { "\xb5\xe8\xcd\xe5\xa2" , "\xe6\x47\xee\xe7\x65" } , { "\xb5\xe8\xcd\xe8\xcd\xda" , "\x47\xee\xee\xe7" } , { "\xb5\xe8\xcf" , "\x47\xd0" } , { "\xb5\xe8\xcf\xa2" , "\x47\xd0\x65" } , { "\xb5\xe8\xcf\xda" , "\x47\xd0\xe7" } , { "\xb5\xe8\xcf\xda\xa1" , "\x47\xd0\x67\xe7" } , { "\xb5\xe8\xcf\xda\xa2" , "\x47\xd0\xe7\x65" } , { "\xb5\xe8\xcf\xdb" , "\xd7\x47\xd0" } , { "\xb5\xe8\xcf\xdb\xa2" , "\xd7\x47\xd0\x65" } , { "\xb5\xe8\xcf\xdc" , "\x47\xd0\xdd" } , { "\xb5\xe8\xcf\xdd" , "\x47\xd0\xd3" } , { "\xb5\xe8\xcf\xdd\xa2" , "\x47\xd0\xd3\x65" } , { "\xb5\xe8\xcf\xde" , "\x47\xd0\xd6" } , { "\xb5\xe8\xcf\xde\xa2" , "\x47\xd0\xd6\x65" } , { "\xb5\xe8\xcf\xe1" , "\xe6\x47\xd0" } , { "\xb5\xe8\xcf\xe1\xa2" , "\xe6\x47\xd0\x65" } , { "\xb5\xe8\xcf\xe2" , "\xe8\x47\xd0" } , { "\xb5\xe8\xcf\xe2\xa2" , "\xe8\x47\xd0\x65" } , { "\xb5\xe8\xcf\xe5" , "\xe6\x47\xd0\xe7" } , { "\xb5\xe8\xcf\xe5\xa2" , "\xe6\x47\xd0\xe7\x65" } , { "\xb5\xe8\xcf\xe6" , "\xe6\x47\xd0\xec" } , { "\xb5\xe8\xcf\xe6\xa2" , "\xe6\x47\xd0\xec\x65" } , { "\xb5\xe8\xcf\xe8\xbf" , "\x47\xcb\xcc\x5b\xfd\xcb\x51\xf6" } , { "\xb5\xe8\xd1" , "\x47\xc0" } , { "\xb5\xe8\xd1\xa2" , "\x47\xc0\x65" } , { "\xb5\xe8\xd1\xda" , "\x47\xc0\xe7" } , { "\xb5\xe8\xd1\xda\xa2" , "\x47\xc0\xe7\x65" } , { "\xb5\xe8\xd1\xdb" , "\xd7\x47\xc0" } , { "\xb5\xe8\xd1\xdb\xa2" , "\xd7\x47\xc0\x65" } , { "\xb5\xe8\xd1\xdc" , "\x47\xc0\xdd" } , { "\xb5\xe8\xd1\xdc\xa2" , "\x47\xc0\xdd\x65" } , { "\xb5\xe8\xd1\xdd" , "\x47\xc0\xc7" } , { "\xb5\xe8\xd1\xdd\xa2" , "\x47\xc0\xc7\x65" } , { "\xb5\xe8\xd1\xde" , "\x47\xc0\xc9" } , { "\xb5\xe8\xd1\xe1" , "\xe6\x47\xc0" } , { "\xb5\xe8\xd1\xe1\xa2" , "\xe6\x47\xc0\x65" } , { "\xb5\xe8\xd1\xe2" , "\xe8\x47\xc0" } , { "\xb5\xe8\xd1\xe2\xa2" , "\xe8\x47\xc0\x65" } , { "\xb5\xe8\xd1\xe5" , "\xe6\x47\xc0\xe7" } , { "\xb5\xe8\xd1\xe5\xa2" , "\xe6\x47\xc0\xe7\x65" } , { "\xb5\xe8\xd1\xe6" , "\xe6\x47\xc0\xec" } , { "\xb5\xe8\xd1\xe8\xcd\xdd" , "\x47\xcb\xb7\xcc\x5e\xc7" } , { "\xb5\xe8\xd5\xda" , "\xaa\x60\xe7" } , { "\xb5\xe8\xd5\xda\xa2" , "\xaa\x60\xe7\x65" } , { "\xb5\xe8\xd6\xdc" , "\xaa\x62\xdd" } , { "\xb5\xe8\xd7" , "\xaa\x61" } , { "\xb5\xe8\xd7\xda" , "\xaa\x61\xe7" } , { "\xb5\xe8\xd7\xdc" , "\xaa\x61\xdd" } , { "\xb5\xe8\xd7\xdd" , "\xaa\x61\xc7" } , { "\xb5\xe8\xd7\xde" , "\xaa\x61\xc9" } , { "\xb5\xe8\xd7\xe2" , "\xe9\xaa\x61" } , { "\xb5\xe8\xd7\xe5" , "\xe6\xaa\x61\xe7" } , { "\xb5\xe8\xd7\xe8" , "\xaa\x61\xcb" } , { "\xb5\xe8\xd7\xe8\xb5\xda" , "\x47\xcb\xba\x47\xe7" } , { "\xb5\xe8\xd7\xe8\xbd" , "\x47\xcb\xba\x4f\xf4" } , { "\xb5\xe8\xd7\xe8\xbd\xa2" , "\x47\xcb\xba\x4f\xf4\x65" } , { "\xb5\xe8\xd7\xe8\xbd\xda" , "\x47\xcb\xba\x4f\xf4\xe7" } , { "\xb5\xe8\xd7\xe8\xbd\xe1" , "\x47\xcb\xe6\xba\x4f\xf4" } , { "\xb5\xe8\xd7\xe8\xbd\xe6" , "\x47\xcb\xe6\xba\x4f\xf4\xec" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xc8\xe8\xd7\xe8\xb3\xdd" , "\x47\xcb\x61\xcb\xb4\xae\x95\xc7\xf5" } , { "\xb5\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xaa\xae\xcf\xf4\xe7" } , { "\xb5\xe8\xd7\xe8\xc2\xe8\xcd\xe1" , "\xaa\x61\xcb\xe6\xb1\xcc\x5e" } , { "\xb5\xe8\xd7\xe8\xc4" , "\x47\xcb\xba\x56" } , { "\xb5\xe8\xd7\xe8\xc6\xdb" , "\xd7\xaa\xd8\x6f\xf6" } , { "\xb5\xe8\xd7\xe8\xc6\xdd" , "\xaa\xd8\x6f\xf6\xc7" } , { "\xb5\xe8\xd7\xe8\xc8\xda" , "\xaa\x26\xe7" } , { "\xb5\xe8\xd7\xe8\xc8\xdb" , "\xd7\xaa\x26" } , { "\xb5\xe8\xd7\xe8\xd1\xdb" , "\xd7\xaa\xd8\xda\xf6" } , { "\xb5\xe8\xd7\xe8\xd1\xe5" , "\xe6\xaa\xd8\xda\xf6\xe7" } , { "\xb5\xe8\xd8" , "\xaa\x63\xf7" } , { "\xb5\xe8\xd8\xda" , "\xaa\x63\xf7\xe7" } , { "\xb5\xe8\xd8\xdb" , "\xd7\xaa\x63\xf7" } , { "\xb5\xe8\xd8\xdc" , "\xaa\x63\xf7\xdd" } , { "\xb5\xe8\xd8\xe5" , "\xe6\xaa\x63\xf7\xe7" } , { "\xb5\xe8\xd8\xe5\xa2" , "\xe6\xaa\x63\xf7\xe7\x65" } , { "\xb5\xe8\xd8\xe8\xcd\xda\xa2" , "\x47\xcb\x63\xcb\xf7\xcc\x5e\xe7\x65" } , { "\xb5\xe8\xd9\xa6" , "\xaa\x2b" } , { "\xb5\xe8\xd9\xcf\xe8\xd7" , "\xaa\x61\xef" } , { "\xb5\xe8\xe8" , "\x47\xcb" } , { "\xb5\xe8\xe9\xcf" , "\x47\xd0" } , { "\xb5\xe9" , "\x47" } , { "\xb5\xe9\xda" , "\x47\xe7" } , { "\xb5\xe9\xdb" , "\xd7\x47" } , { "\xb5\xe9\xdd" , "\x6d" } , { "\xb5\xe9\xe2" , "\xe9\x47" } , { "\xb5\xe9\xe5\xa2" , "\xe6\x47\xe7\x65" } , { "\xb5\xe9\xe6" , "\xe6\x47\xec" } , { "\xb6" , "\x48" } , { "\xb6\xa2" , "\x48\x65" } , { "\xb6\xa2\xa2" , "\x48\x65\x65" } , { "\xb6\xa3" , "\x48\x66" } , { "\xb6\xda" , "\x48\xe7" } , { "\xb6\xda\xa2" , "\x48\xe7\x65" } , { "\xb6\xdb" , "\xd7\x48" } , { "\xb6\xdb\xa2" , "\xd7\x48\x65" } , { "\xb6\xdc" , "\x48\xdd" } , { "\xb6\xdc\xa2" , "\x48\xdd\x65" } , { "\xb6\xdd" , "\x48\xc7" } , { "\xb6\xdd\xa1" , "\x48\x67\xc7" } , { "\xb6\xdd\xa2" , "\x48\xc7\x65" } , { "\xb6\xdd\xa3" , "\x48\xc7\x66" } , { "\xb6\xde" , "\x48\xc9" } , { "\xb6\xde\xa1" , "\x48\x67\xc9" } , { "\xb6\xde\xa2" , "\x48\xc9\x65" } , { "\xb6\xdf" , "\x48\xca" } , { "\xb6\xe1" , "\xe6\x48" } , { "\xb6\xe1\xa2" , "\xe6\x48\x65" } , { "\xb6\xe2" , "\xe9\x48" } , { "\xb6\xe2\xa3" , "\xe9\x48\x66" } , { "\xb6\xe5" , "\xe6\x48\xe7" } , { "\xb6\xe5\xa2" , "\xe6\x48\xe7\x65" } , { "\xb6\xe6" , "\xe6\x48\xec" } , { "\xb6\xe6\xa2" , "\xe6\x48\xec\x65" } , { "\xb6\xe8" , "\x48\xcb" } , { "\xb6\xe8\xb3\xde" , "\x48\xcb\x45\xc9\xf5" } , { "\xb6\xe8\xb6" , "\x48\xcb\x48" } , { "\xb6\xe8\xb6\xdc" , "\x48\xcb\x48\xdd" } , { "\xb6\xe8\xb6\xde" , "\x48\xcb\x48\xc9" } , { "\xb6\xe8\xb8\xe1" , "\x48\xcb\xe6\xbb\x4a\xf4" } , { "\xb6\xe8\xc1\xda" , "\x48\xcb\x53\xe7" } , { "\xb6\xe8\xc1\xdb" , "\x48\xcb\xd7\x53" } , { "\xb6\xe8\xc2" , "\x48\xcb\x54\xf6" } , { "\xb6\xe8\xc4" , "\x48\xcb\x56" } , { "\xb6\xe8\xc6" , "\x48\xc2" } , { "\xb6\xe8\xc6\xa2" , "\x48\xc2\x65" } , { "\xb6\xe8\xc6\xa3" , "\x48\xc2\x66" } , { "\xb6\xe8\xc6\xda" , "\x48\xc2\xe7" } , { "\xb6\xe8\xc6\xdb" , "\xd7\x48\xc2" } , { "\xb6\xe8\xc6\xdc" , "\x48\xc2\xdd" } , { "\xb6\xe8\xc6\xdd" , "\x48\xc2\xc7" } , { "\xb6\xe8\xc6\xe1" , "\xe6\x48\xc2" } , { "\xb6\xe8\xc6\xe5" , "\xe6\x48\xc2\xe7" } , { "\xb6\xe8\xcd" , "\x48\xee" } , { "\xb6\xe8\xcd\xda" , "\x48\xee\xe7" } , { "\xb6\xe8\xcd\xdb" , "\xd7\x48\xee" } , { "\xb6\xe8\xcd\xdd" , "\x48\xc7\xee" } , { "\xb6\xe8\xcd\xde" , "\x48\xc9\xee" } , { "\xb6\xe8\xcd\xdf" , "\x48\xca\xee" } , { "\xb6\xe8\xcd\xe1" , "\xe6\x48\xee" } , { "\xb6\xe8\xcd\xe2" , "\xe9\x48\xee" } , { "\xb6\xe8\xcd\xe5" , "\xe6\x48\xee\xe7" } , { "\xb6\xe8\xcd\xe6" , "\xe6\x48\xee\xec" } , { "\xb6\xe8\xcd\xe8" , "\x48\xee\xcb" } , { "\xb6\xe8\xcf" , "\x48\xd0" } , { "\xb6\xe8\xcf\xa2" , "\x48\xd0\x65" } , { "\xb6\xe8\xcf\xda" , "\x48\xd0\xe7" } , { "\xb6\xe8\xcf\xda\xa2" , "\x48\xd0\xe7\x65" } , { "\xb6\xe8\xcf\xdb" , "\xd7\x48\xd0" } , { "\xb6\xe8\xcf\xdd" , "\x48\xd0\xc7" } , { "\xb6\xe8\xcf\xe5\xa2" , "\xe6\x48\xd0\xe7\x65" } , { "\xb6\xe8\xd1" , "\x48\xc0" } , { "\xb6\xe8\xe8" , "\x48\xcb" } , { "\xb6\xe8\xe9\xcf" , "\x48\xd0" } , { "\xb6\xe9" , "\x48" } , { "\xb7" , "\x49\xf8" } , { "\xb7\xa2" , "\x49\xf8\x65" } , { "\xb7\xa3" , "\x49\xf8\x66" } , { "\xb7\xda" , "\x49\xf8\xe7" } , { "\xb7\xdb" , "\xd7\x49\xf8" } , { "\xb7\xdb\xa2" , "\xd7\x49\xf8\x65" } , { "\xb7\xdc" , "\x49\xf8\xdd" } , { "\xb7\xdd" , "\x49\xc7\xf8" } , { "\xb7\xde" , "\x49\xc9\xf8" } , { "\xb7\xdf" , "\x49\xca\xf8" } , { "\xb7\xe1" , "\xe6\x49\xf8" } , { "\xb7\xe1\xa2" , "\xe6\x49\xf8\x65" } , { "\xb7\xe2" , "\xe9\x49\xf8" } , { "\xb7\xe5" , "\xe6\x49\xf8\xe7" } , { "\xb7\xe6" , "\xe6\x49\xf8\xec" } , { "\xb7\xe8" , "\x49\xcb\xf8" } , { "\xb7\xe8\xb3" , "\xe1\xf8" } , { "\xb7\xe8\xb3\xda" , "\xe1\xf8\xe7" } , { "\xb7\xe8\xb3\xdb" , "\xd7\xe1\xf8" } , { "\xb7\xe8\xb3\xe5" , "\xe6\xe1\xf8\xe7" } , { "\xb7\xe8\xb5" , "\x86" } , { "\xb7\xe8\xb5\xda" , "\x86\xe7" } , { "\xb7\xe8\xb5\xdb" , "\xd7\x86" } , { "\xb7\xe8\xb5\xdc" , "\x86\xdd" } , { "\xb7\xe8\xb5\xe1" , "\xe6\x86" } , { "\xb7\xe8\xb5\xe5\xa2" , "\xe6\x86\xe7\x65" } , { "\xb7\xe8\xb5\xe8\xcf\xda" , "\x86\x98\xe7" } , { "\xb7\xe8\xb6" , "\x49\x48" } , { "\xb7\xe8\xb6\xda" , "\x49\x48\xe7" } , { "\xb7\xe8\xb6\xdb" , "\xd7\x49\x48" } , { "\xb7\xe8\xbd\xe8\xb5" , "\x49\xcb\xf8\xae\x47" } , { "\xb7\xe8\xc4" , "\xab\x56" } , { "\xb7\xe8\xc6" , "\xab\xf3\xf8" } , { "\xb7\xe8\xc6\xda" , "\xab\xf3\xf8\xe7" } , { "\xb7\xe8\xc6\xdb" , "\xd7\xab\xf3\xf8" } , { "\xb7\xe8\xc6\xdd" , "\xab\xf3\xc7\xf8" } , { "\xb7\xe8\xc6\xde" , "\xab\xf3\xc9\xf8" } , { "\xb7\xe8\xc9\xe5" , "\xe6\xab\x5a\xf5\xe7" } , { "\xb7\xe8\xcc" , "\xab\xc1" } , { "\xb7\xe8\xcc\xa2" , "\xab\xc1\x65" } , { "\xb7\xe8\xcc\xda" , "\xab\xc1\xe7" } , { "\xb7\xe8\xcc\xdd" , "\xab\xc1\xc7" } , { "\xb7\xe8\xcc\xde" , "\xab\xc1\xc9" } , { "\xb7\xe8\xcd" , "\x49\xee" } , { "\xb7\xe8\xcd\xda" , "\x49\xee\xe7" } , { "\xb7\xe8\xcd\xdb" , "\xd7\x49\xee" } , { "\xb7\xe8\xcd\xdd" , "\x49\xc7\xee" } , { "\xb7\xe8\xcd\xde" , "\x49\xc9\xee" } , { "\xb7\xe8\xcd\xdf" , "\x49\xca\xee" } , { "\xb7\xe8\xcd\xe1" , "\xe6\x49\xee" } , { "\xb7\xe8\xcd\xe2" , "\xe9\x49\xee" } , { "\xb7\xe8\xcd\xe5" , "\xe6\x49\xee\xe7" } , { "\xb7\xe8\xcd\xe6" , "\xe6\x49\xee\xec" } , { "\xb7\xe8\xcd\xe8" , "\x49\xee\xcb" } , { "\xb7\xe8\xcf" , "\x49\xce\xf8" } , { "\xb7\xe8\xcf\xdc" , "\x49\xce\xf8\xdd" } , { "\xb7\xe8\xd8\xda" , "\xab\x63\xf7\xe7" } , { "\xb7\xe8\xe8" , "\x49\xcb\xf8" } , { "\xb8" , "\xbb\x4a\xf4" } , { "\xb8\xa1" , "\xbb\x4a\x67\xf4" } , { "\xb8\xa2" , "\xbb\x4a\xf4\x65" } , { "\xb8\xa3" , "\xbb\x4a\xf4\x66" } , { "\xb8\xda" , "\xbb\x4a\xf4\xe7" } , { "\xb8\xda\xa1" , "\xbb\x4a\x67\xf4\xe7" } , { "\xb8\xda\xa2" , "\xbb\x4a\xf4\xe7\x65" } , { "\xb8\xdb" , "\xd7\xbb\x4a\xf4" } , { "\xb8\xdb\xa2" , "\xd7\xbb\x4a\xf4\x65" } , { "\xb8\xdc" , "\xbb\x4a\xf4\xdd" } , { "\xb8\xdc\xa2" , "\xbb\x4a\xf4\xdd\x65" } , { "\xb8\xdd" , "\xbb\x4a\xc7\xf4" } , { "\xb8\xdd\xa1" , "\xbb\x4a\x67\xc7\xf4" } , { "\xb8\xdd\xa2" , "\xbb\x4a\xc7\xf4\x65" } , { "\xb8\xde" , "\xbb\x4a\xc9\xf4" } , { "\xb8\xde\xa1" , "\xbb\x4a\x67\xc9\xf4" } , { "\xb8\xde\xa2" , "\xbb\x4a\xc9\xf4\x65" } , { "\xb8\xdf" , "\xbb\x4a\xca\xf4" } , { "\xb8\xe1" , "\xe6\xbb\x4a\xf4" } , { "\xb8\xe1\xa2" , "\xe6\xbb\x4a\xf4\x65" } , { "\xb8\xe2" , "\xe8\xbb\x4a\xf4" } , { "\xb8\xe2\xa2" , "\xe8\xbb\x4a\xf4\x65" } , { "\xb8\xe5" , "\xe6\xbb\x4a\xf4\xe7" } , { "\xb8\xe5\xa2" , "\xe6\xbb\x4a\xf4\xe7\x65" } , { "\xb8\xe6" , "\xe6\xbb\x4a\xf4\xec" } , { "\xb8\xe6\xa2" , "\xe6\xbb\x4a\xf4\xec\x65" } , { "\xb8\xe8" , "\xbb\x4a\xcb\xf4" } , { "\xb8\xe8\xb3" , "\xac\x45\xf5" } , { "\xb8\xe8\xb3\xa2" , "\xac\x45\xf5\x65" } , { "\xb8\xe8\xb3\xdb" , "\xd7\xac\x45\xf5" } , { "\xb8\xe8\xb3\xdd" , "\xac\x45\xc7\xf5" } , { "\xb8\xe8\xb3\xe5" , "\xe6\xac\x45\xf5\xe7" } , { "\xb8\xe8\xb5" , "\xac\x47" } , { "\xb8\xe8\xb8" , "\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xa2" , "\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xda" , "\xac\x4a\xf4\xe7" } , { "\xb8\xe8\xb8\xda\xa2" , "\xac\x4a\xf4\xe7\x65" } , { "\xb8\xe8\xb8\xdb" , "\xd7\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xdb\xa2" , "\xd7\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xdc" , "\xac\x4a\xf4\xdd" } , { "\xb8\xe8\xb8\xdd" , "\xac\x4a\xc7\xf4" } , { "\xb8\xe8\xb8\xdd\xa2" , "\xac\x4a\xc7\xf4\x65" } , { "\xb8\xe8\xb8\xde" , "\xac\x4a\xc9\xf4" } , { "\xb8\xe8\xb8\xe1" , "\xe6\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xe1\xa2" , "\xe6\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xe2" , "\xe8\xac\x4a\xf4" } , { "\xb8\xe8\xb8\xe2\xa2" , "\xe8\xac\x4a\xf4\x65" } , { "\xb8\xe8\xb8\xe5" , "\xe6\xac\x4a\xf4\xe7" } , { "\xb8\xe8\xb8\xe5\xa2" , "\xe6\xac\x4a\xf4\xe7\x65" } , { "\xb8\xe8\xb8\xe6" , "\xe6\xac\x4a\xf4\xec" } , { "\xb8\xe8\xb8\xe8\xcf\xdc" , "\xac\xac\xcf\xf4\xdd" } , { "\xb8\xe8\xb8\xe8\xcf\xdd" , "\xac\xac\xcf\xc7\xf4" } , { "\xb8\xe8\xb9" , "\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xa2" , "\xac\x4b\xf7\x65" } , { "\xb8\xe8\xb9\xda" , "\xac\x4b\xf7\xe7" } , { "\xb8\xe8\xb9\xda\xa2" , "\xac\x4b\xf7\xe7\x65" } , { "\xb8\xe8\xb9\xdb" , "\xd7\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xdb\xa2" , "\xd7\xac\x4b\xf7\x65" } , { "\xb8\xe8\xb9\xdc" , "\xac\x4b\xf7\xdd" } , { "\xb8\xe8\xb9\xdd" , "\xac\x4b\xc7\xf7" } , { "\xb8\xe8\xb9\xdd\xa2" , "\xac\x4b\xc7\xf7\x65" } , { "\xb8\xe8\xb9\xde" , "\xac\x4b\xc9\xf7" } , { "\xb8\xe8\xb9\xdf" , "\xac\x4b\xca\xf7" } , { "\xb8\xe8\xb9\xdf\xa2" , "\xac\x4b\xca\xf7\x65" } , { "\xb8\xe8\xb9\xe1" , "\xe6\xac\x4b\xf7" } , { "\xb8\xe8\xb9\xe5" , "\xe6\xac\x4b\xf7\xe7" } , { "\xb8\xe8\xb9\xe5\xa2" , "\xe6\xac\x4b\xf7\xe7\x65" } , { "\xb8\xe8\xb9\xe6" , "\xe6\xac\x4b\xf7\xec" } , { "\xb8\xe8\xb9\xe8" , "\xac\x4b\xcb\xf7" } , { "\xb8\xe8\xb9\xe8\xa2" , "\xac\x4b\xcb\xf7\x65" } , { "\xb8\xe8\xb9\xe8\xc4\xe8\xc5" , "\xac\x4b\xcb\xf7\x88\xf9" } , { "\xb8\xe8\xb9\xe8\xcc\xdc" , "\xac\x4b\x5d\xdd" } , { "\xb8\xe8\xb9\xe8\xcf" , "\xac\x9e\xd1\xf7" } , { "\xb8\xe8\xb9\xe8\xcf\xda" , "\xac\x9e\xd1\xf7\xe7" } , { "\xb8\xe8\xb9\xe8\xcf\xdd" , "\xac\x9e\xd1\xc7\xf7" } , { "\xb8\xe8\xb9\xe8\xd1" , "\xac\x9e\xf2\xf7" } , { "\xb8\xe8\xbd" , "\xac\x4f\xf4" } , { "\xb8\xe8\xbd\xdb" , "\xd7\xac\x4f\xf4" } , { "\xb8\xe8\xbd\xdb\xa2" , "\xd7\xac\x4f\xf4\x65" } , { "\xb8\xe8\xbd\xe1" , "\xe6\xac\x4f\xf4" } , { "\xb8\xe8\xbd\xe2" , "\xe8\xac\x4f\xf4" } , { "\xb8\xe8\xbf\xdb" , "\xd7\xac\x51\xf6" } , { "\xb8\xe8\xbf\xe8" , "\xac\x51\xcb\xf6" } , { "\xb8\xe8\xc2" , "\xac\x54\xf6" } , { "\xb8\xe8\xc2\xe1\xa2" , "\xe6\xac\x54\xf6\x65" } , { "\xb8\xe8\xc3" , "\xac\x55" } , { "\xb8\xe8\xc4\xdb" , "\xd7\xac\x56" } , { "\xb8\xe8\xc6" , "\xac\xf3\xf4" } , { "\xb8\xe8\xc6\xa2" , "\xac\xf3\xf4\x65" } , { "\xb8\xe8\xc6\xdb" , "\xd7\xac\xf3\xf4" } , { "\xb8\xe8\xc6\xdd" , "\xac\xf3\xc7\xf4" } , { "\xb8\xe8\xc8" , "\xac\x59" } , { "\xb8\xe8\xc8\xe8\xcf" , "\xac\x59\xd2" } , { "\xb8\xe8\xca\xda" , "\xac\xbc\xf4\xe7" } , { "\xb8\xe8\xca\xdd" , "\xac\xbc\xc7\xf4" } , { "\xb8\xe8\xca\xe5" , "\xe6\xac\xbc\xf4\xe7" } , { "\xb8\xe8\xcc" , "\x4a\x5d" } , { "\xb8\xe8\xcc\xdc" , "\x4a\x5d\xdd" } , { "\xb8\xe8\xcc\xe8\xcb\xe1" , "\xe6\xac\x90\xf6" } , { "\xb8\xe8\xcd" , "\x4a\xfd\xee" } , { "\xb8\xe8\xcd\xa2" , "\x4a\xfd\xee\x65" } , { "\xb8\xe8\xcd\xda" , "\x4a\xfd\xee\xe7" } , { "\xb8\xe8\xcd\xda\xa2" , "\x4a\xfd\xee\xe7\x65" } , { "\xb8\xe8\xcd\xdb" , "\xd7\x4a\xfd\xee" } , { "\xb8\xe8\xcd\xdd" , "\x4a\xc7\xfd\xee" } , { "\xb8\xe8\xcd\xde" , "\x4a\xc9\xfd\xee" } , { "\xb8\xe8\xcd\xde\xa2" , "\x4a\xc9\xfd\xee\x65" } , { "\xb8\xe8\xcd\xdf" , "\x4a\xca\xfd\xee" } , { "\xb8\xe8\xcd\xe1" , "\xe6\x4a\xfd\xee" } , { "\xb8\xe8\xcd\xe2" , "\xe9\x4a\xfd\xee" } , { "\xb8\xe8\xcd\xe5" , "\xe6\x4a\xfd\xee\xe7" } , { "\xb8\xe8\xcd\xe6" , "\xe6\x4a\xfd\xee\xec" } , { "\xb8\xe8\xcd\xe8" , "\x4a\xfd\xee\xcb" } , { "\xb8\xe8\xcd\xe8\xcd" , "\x4a\xfd\xee\xee" } , { "\xb8\xe8\xcf" , "\xac\xcf\xf4" } , { "\xb8\xe8\xcf\xda" , "\xac\xcf\xf4\xe7" } , { "\xb8\xe8\xcf\xdb" , "\xd7\xac\xcf\xf4" } , { "\xb8\xe8\xcf\xdc" , "\xac\xcf\xf4\xdd" } , { "\xb8\xe8\xcf\xde" , "\xac\xcf\xc9\xf4" } , { "\xb8\xe8\xcf\xde\xa2" , "\xac\xcf\xc9\xf4\x65" } , { "\xb8\xe8\xcf\xe5" , "\xe6\xac\xcf\xf4\xe7" } , { "\xb8\xe8\xcf\xe8\xb9" , "\x4a\xcb\xf4\xcc\x5b\xfd\xcb\xbb\x4b\xf7" } , { "\xb8\xe8\xcf\xe8\xb9\xda" , "\x4a\xcb\xf4\xcc\x5b\xfd\xcb\xbb\x4b\xf7\xe7" } , { "\xb8\xe8\xcf\xe8\xb9\xdb" , "\x4a\xcb\xf4\xcc\x5b\xfd\xcb\xd7\xbb\x4b\xf7" } , { "\xb8\xe8\xcf\xe8\xcd" , "\x4a\xcb\xf4\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xb8\xe8\xd1" , "\xac\xf2\xf4" } , { "\xb8\xe8\xd1\xda" , "\xac\xf2\xf4\xe7" } , { "\xb8\xe8\xd1\xdb" , "\xd7\xac\xf2\xf4" } , { "\xb8\xe8\xd1\xdc" , "\xac\xf2\xf4\xdd" } , { "\xb8\xe8\xd1\xdd" , "\xac\xf2\xc7\xf4" } , { "\xb8\xe8\xd1\xde" , "\xac\xf2\xc9\xf4" } , { "\xb8\xe8\xd1\xe5" , "\xe6\xac\xf2\xf4\xe7" } , { "\xb8\xe8\xd7" , "\xac\x61" } , { "\xb8\xe8\xd7\xe1" , "\xe6\xac\x61" } , { "\xb8\xe8\xd7\xe8\xbd\xdb" , "\x4a\xcb\xf4\xd7\xba\x4f\xf4" } , { "\xb8\xe8\xd7\xe8\xbd\xe5" , "\x4a\xcb\xf4\xe6\xba\x4f\xf4\xe7" } , { "\xb8\xe8\xd8" , "\xac\x63\xf7" } , { "\xb8\xe8\xd8\xda" , "\xac\x63\xf7\xe7" } , { "\xb8\xe8\xd8\xe6" , "\xe6\xac\x63\xf7\xec" } , { "\xb8\xe8\xd9\xa6" , "\xac\x2b" } , { "\xb8\xe8\xe8" , "\xbb\x4a\xcb\xf4" } , { "\xb8\xe8\xe9\xcf" , "\xac\xcf\xf4" } , { "\xb8\xe9" , "\xbb\x4a\xf4" } , { "\xb9" , "\xbb\x4b\xf7" } , { "\xb9\xa1" , "\xbb\x4b\x67\xf7" } , { "\xb9\xa2" , "\xbb\x4b\xf7\x65" } , { "\xb9\xa3" , "\xbb\x4b\xf7\x66" } , { "\xb9\xce\xb4" , "\xbb\x4b\xf7\x5e\x46" } , { "\xb9\xd9\xc5" , "\xbb\x4b\xf7\x57\xfd" } , { "\xb9\xd9\xd1" , "\xbb\x4b\xf7\x5f" } , { "\xb9\xda" , "\xbb\x4b\xf7\xe7" } , { "\xb9\xda\xa1" , "\xbb\x4b\x67\xf7\xe7" } , { "\xb9\xda\xa2" , "\xbb\x4b\xf7\xe7\x65" } , { "\xb9\xdb" , "\xd7\xbb\x4b\xf7" } , { "\xb9\xdb\xa2" , "\xd7\xbb\x4b\xf7\x65" } , { "\xb9\xdc" , "\xbb\x4b\xf7\xdd" } , { "\xb9\xdc\xa2" , "\xbb\x4b\xf7\xdd\x65" } , { "\xb9\xdd" , "\xbb\x4b\xc7\xf7" } , { "\xb9\xdd\xa2" , "\xbb\x4b\xc7\xf7\x65" } , { "\xb9\xde" , "\xbb\x4b\xc9\xf7" } , { "\xb9\xde\xa1" , "\xbb\x4b\x67\xc9\xf7" } , { "\xb9\xde\xa2" , "\xbb\x4b\xc9\xf7\x65" } , { "\xb9\xdf" , "\xbb\x4b\xca\xf7" } , { "\xb9\xe1" , "\xe6\xbb\x4b\xf7" } , { "\xb9\xe1\xa2" , "\xe6\xbb\x4b\xf7\x65" } , { "\xb9\xe2" , "\xe8\xbb\x4b\xf7" } , { "\xb9\xe2\xa2" , "\xe8\xbb\x4b\xf7\x65" } , { "\xb9\xe5" , "\xe6\xbb\x4b\xf7\xe7" } , { "\xb9\xe5\xa2" , "\xe6\xbb\x4b\xf7\xe7\x65" } , { "\xb9\xe6" , "\xe6\xbb\x4b\xf7\xec" } , { "\xb9\xe6\xa2" , "\xe6\xbb\x4b\xf7\xec\x65" } , { "\xb9\xe8" , "\xbb\x4b\xcb\xf7" } , { "\xb9\xe8\xb8" , "\x4b\xcb\xf7\xbb\x4a\xf4" } , { "\xb9\xe8\xb9" , "\x4b\xcb\xf7\xbb\x4b\xf7" } , { "\xb9\xe8\xb9\xda" , "\x4b\xcb\xf7\xbb\x4b\xf7\xe7" } , { "\xb9\xe8\xc2\xda" , "\x4b\xcb\xf7\x54\xf6\xe7" } , { "\xb9\xe8\xc4" , "\x4b\xcb\xf7\x56" } , { "\xb9\xe8\xc6\xdd\xa2" , "\x9e\xf3\xc7\xf7\x65" } , { "\xb9\xe8\xc8\xda" , "\x4b\xcb\xf7\x59\xe7" } , { "\xb9\xe8\xcd" , "\x4b\xfd\xee" } , { "\xb9\xe8\xcd\xda" , "\x4b\xfd\xee\xe7" } , { "\xb9\xe8\xcd\xdb" , "\xd7\x4b\xfd\xee" } , { "\xb9\xe8\xcd\xdd" , "\x4b\xc7\xfd\xee" } , { "\xb9\xe8\xcd\xde" , "\x4b\xc9\xfd\xee" } , { "\xb9\xe8\xcd\xdf" , "\x4b\xca\xfd\xee" } , { "\xb9\xe8\xcd\xe1" , "\xe6\x4b\xfd\xee" } , { "\xb9\xe8\xcd\xe2" , "\xe9\x4b\xfd\xee" } , { "\xb9\xe8\xcd\xe5" , "\xe6\x4b\xfd\xee\xe7" } , { "\xb9\xe8\xcd\xe6" , "\xe6\x4b\xfd\xee\xec" } , { "\xb9\xe8\xcd\xe8" , "\x4b\xfd\xee\xcb" } , { "\xb9\xe8\xe8" , "\xbb\x4b\xcb\xf7" } , { "\xb9\xe9" , "\xbb\x4b\xf7" } , { "\xba" , "\x4c" } , { "\xba\xa1" , "\x4c\xf1" } , { "\xba\xa2" , "\x4c\x65" } , { "\xba\xa2\xa2" , "\x4c\x65\x65" } , { "\xba\xa3" , "\x4c\x66" } , { "\xba\xd9\xc5" , "\x4c\x57\xfd" } , { "\xba\xda" , "\x4c\xe7" } , { "\xba\xda\xa1" , "\x4c\xf1\xe7" } , { "\xba\xda\xa2" , "\x4c\xe7\x65" } , { "\xba\xda\xa3" , "\x4c\xe7\x66" } , { "\xba\xdb" , "\xd7\x4c" } , { "\xba\xdb\xa2" , "\xd7\x4c\x65" } , { "\xba\xdc" , "\x4c\xdd" } , { "\xba\xdc\xa2" , "\x4c\xdd\x65" } , { "\xba\xdd" , "\x4c\xc7" } , { "\xba\xdd\xa2" , "\x4c\xc7\x65" } , { "\xba\xdd\xa3" , "\x4c\xc7\x66" } , { "\xba\xde" , "\x4c\xc9" } , { "\xba\xde\xa1" , "\x4c\xf1\xc9" } , { "\xba\xde\xa2" , "\x4c\xc9\x65" } , { "\xba\xdf" , "\x4c\xca" } , { "\xba\xdf\xa2" , "\x4c\xca\x65" } , { "\xba\xe1" , "\xe6\x4c" } , { "\xba\xe1\xa2" , "\xe6\x4c\x65" } , { "\xba\xe2" , "\xe9\x4c" } , { "\xba\xe2\xa2" , "\xe9\x4c\x65" } , { "\xba\xe5" , "\xe6\x4c\xe7" } , { "\xba\xe5\xa2" , "\xe6\x4c\xe7\x65" } , { "\xba\xe6" , "\xe6\x4c\xec" } , { "\xba\xe8" , "\x4c\xcb" } , { "\xba\xe8\xb3" , "\x4c\xcb\x45\xf5" } , { "\xba\xe8\xb3\xda" , "\x4c\xcb\x45\xf5\xe7" } , { "\xba\xe8\xb3\xdb" , "\x4c\xcb\xd7\x45\xf5" } , { "\xba\xe8\xb3\xdc" , "\x4c\xcb\x45\xf5\xdd" } , { "\xba\xe8\xb3\xdd" , "\x4c\xcb\x45\xc7\xf5" } , { "\xba\xe8\xb3\xe1" , "\x4c\xcb\xe6\x45\xf5" } , { "\xba\xe8\xb3\xe2" , "\x4c\xcb\xe9\x45\xf5" } , { "\xba\xe8\xb3\xe5" , "\x4c\xcb\xe6\x45\xf5\xe7" } , { "\xba\xe8\xb3\xe8\xbd" , "\x4c\xcb\x6b\xf4" } , { "\xba\xe8\xb3\xe8\xd7\xe8\xd1\xe5" , "\x4c\xcb\xe6\xa8\xd8\xda\xf6\xe7" } , { "\xba\xe8\xb4\xda" , "\x4c\xcb\x46\xe7" } , { "\xba\xe8\xb5" , "\x4c\xcb\x47" } , { "\xba\xe8\xb5\xa2" , "\x4c\xcb\x47\x65" } , { "\xba\xe8\xb5\xda" , "\x4c\xcb\x47\xe7" } , { "\xba\xe8\xb5\xda\xa2" , "\x4c\xcb\x47\xe7\x65" } , { "\xba\xe8\xb5\xe1" , "\x4c\xcb\xe6\x47" } , { "\xba\xe8\xb5\xe8\xcf\xda" , "\x4c\xcb\x47\xd0\xe7" } , { "\xba\xe8\xb5\xe8\xcf\xe1" , "\x4c\xcb\xe6\x47\xd0" } , { "\xba\xe8\xb6" , "\x4c\xcb\x48" } , { "\xba\xe8\xb6\xda" , "\x4c\xcb\x48\xe7" } , { "\xba\xe8\xb8\xda" , "\x4c\xcb\xbb\x4a\xf4\xe7" } , { "\xba\xe8\xb8\xdd" , "\x4c\xcb\xbb\x4a\xc7\xf4" } , { "\xba\xe8\xb8\xe1" , "\x4c\xcb\xe6\xbb\x4a\xf4" } , { "\xba\xe8\xba" , "\x80" } , { "\xba\xe8\xba\xa2" , "\x80\x65" } , { "\xba\xe8\xba\xda" , "\x80\xe7" } , { "\xba\xe8\xba\xdb" , "\xd7\x80" } , { "\xba\xe8\xba\xdc" , "\x80\xdd" } , { "\xba\xe8\xba\xdd" , "\x80\xc7" } , { "\xba\xe8\xba\xde" , "\x80\xc9" } , { "\xba\xe8\xba\xdf\xa2" , "\x80\xca\x65" } , { "\xba\xe8\xba\xe1" , "\xe6\x80" } , { "\xba\xe8\xba\xe2" , "\xe9\x80" } , { "\xba\xe8\xba\xe5" , "\xe6\x80\xe7" } , { "\xba\xe8\xba\xe5\xa2" , "\xe6\x80\xe7\x65" } , { "\xba\xe8\xba\xe8" , "\x80\xcb" } , { "\xba\xe8\xba\xe8\xcd" , "\x4c\xcb\x4c\xcb\xcc\x5e" } , { "\xba\xe8\xba\xe9" , "\x80" } , { "\xba\xe8\xba\xe9\xdb" , "\xd7\x80" } , { "\xba\xe8\xbb" , "\xad" } , { "\xba\xe8\xbb\xda" , "\xad\xe7" } , { "\xba\xe8\xbb\xdb" , "\xd7\xad" } , { "\xba\xe8\xbb\xdc" , "\xad\xdd" } , { "\xba\xe8\xbb\xdd" , "\xad\xc7" } , { "\xba\xe8\xbb\xde" , "\xad\xc9" } , { "\xba\xe8\xbb\xe1" , "\xe6\xad" } , { "\xba\xe8\xbc" , "\x70\xfb" } , { "\xba\xe8\xbc\xa2" , "\x70\xfb\x65" } , { "\xba\xe8\xbc\xa3" , "\x70\xfb\x66" } , { "\xba\xe8\xbc\xda" , "\x70\xfb\xe7" } , { "\xba\xe8\xbc\xda\xa2" , "\x70\xfb\xe7\x65" } , { "\xba\xe8\xbc\xdb" , "\xd7\x70\xfb" } , { "\xba\xe8\xbc\xdc" , "\x70\xfb\xdd" } , { "\xba\xe8\xbc\xdd" , "\x70\xc7\xfb" } , { "\xba\xe8\xbc\xe1" , "\xe6\x70\xfb" } , { "\xba\xe8\xbc\xe2\xa3" , "\xe9\x70\xfb\x66" } , { "\xba\xe8\xbc\xe5" , "\xe6\x70\xfb\xe7" } , { "\xba\xe8\xbc\xe5\xa2" , "\xe6\x70\xfb\xe7\x65" } , { "\xba\xe8\xbc\xe8\xc6\xda" , "\x4c\xcb\x41\xcb\xd5\x58\xe7" } , { "\xba\xe8\xbc\xe8\xcc" , "\x4c\xcb\x41\xcb\xd5\x5d" } , { "\xba\xe8\xbc\xe8\xcc\xda" , "\x4c\xcb\x41\xcb\xd5\x5d\xe7" } , { "\xba\xe8\xbc\xe8\xcd" , "\x4c\xcb\x41\xcb\xd5\xcc\x5e" } , { "\xba\xe8\xbd\xda" , "\x4c\xcb\xbb\x4f\xf4\xe7" } , { "\xba\xe8\xbd\xdd" , "\x4c\xcb\xbb\x4f\xc7\xf4" } , { "\xba\xe8\xbd\xe5" , "\x4c\xcb\xe6\xbb\x4f\xf4\xe7" } , { "\xba\xe8\xbe" , "\x4c\xcb\x50\xf6" } , { "\xba\xe8\xbe\xdd" , "\x4c\xcb\x50\xc7\xf6" } , { "\xba\xe8\xbe\xe5" , "\x4c\xcb\xe6\x50\xf6\xe7" } , { "\xba\xe8\xbf" , "\x4c\xcb\x51\xf6" } , { "\xba\xe8\xbf\xda" , "\x4c\xcb\x51\xf6\xe7" } , { "\xba\xe8\xbf\xdb" , "\x4c\xcb\xd7\x51\xf6" } , { "\xba\xe8\xbf\xdd" , "\x4c\xcb\x51\xc7\xf6" } , { "\xba\xe8\xbf\xe1" , "\x4c\xcb\xe6\x51\xf6" } , { "\xba\xe8\xbf\xe2" , "\x4c\xcb\xe9\x51\xf6" } , { "\xba\xe8\xbf\xe8" , "\x4c\xcb\x51\xcb\xf6" } , { "\xba\xe8\xbf\xe8\xbc\xda" , "\x4c\xcb\xaf\x41\xd5\xe7" } , { "\xba\xe8\xbf\xe8\xc6\xe1" , "\x4c\xcb\xe6\xaf\xf3\xf6" } , { "\xba\xe8\xbf\xe9" , "\x4c\xcb\x51\xcd\xf6" } , { "\xba\xe8\xc0" , "\x4c\xcb\xbb\x52\xf4" } , { "\xba\xe8\xc0\xa2" , "\x4c\xcb\xbb\x52\xf4\x65" } , { "\xba\xe8\xc0\xda" , "\x4c\xcb\xbb\x52\xf4\xe7" } , { "\xba\xe8\xc0\xdb" , "\x4c\xcb\xd7\xbb\x52\xf4" } , { "\xba\xe8\xc0\xdd" , "\x4c\xcb\xbb\x52\xc7\xf4" } , { "\xba\xe8\xc0\xe1" , "\x4c\xcb\xe6\xbb\x52\xf4" } , { "\xba\xe8\xc0\xe5" , "\x4c\xcb\xe6\xbb\x52\xf4\xe7" } , { "\xba\xe8\xc0\xe8\xbc\xda" , "\x4c\xcb\x52\xcb\xf4\x41\xd5\xe7" } , { "\xba\xe8\xc2" , "\x4c\xcb\x54\xf6" } , { "\xba\xe8\xc2\xe5" , "\x4c\xcb\xe6\x54\xf6\xe7" } , { "\xba\xe8\xc2\xe8\xcf" , "\x4c\xcb\x79" } , { "\xba\xe8\xc4" , "\x4c\xcb\x56" } , { "\xba\xe8\xc4\xda" , "\x4c\xcb\x56\xe7" } , { "\xba\xe8\xc4\xdb" , "\x4c\xcb\xd7\x56" } , { "\xba\xe8\xc4\xde" , "\x4c\xcb\x56\xc9" } , { "\xba\xe8\xc4\xe8\xcf\xde" , "\x4c\xcb\x56\xd0\xd6" } , { "\xba\xe8\xc6" , "\x4c\xcb\x58" } , { "\xba\xe8\xc6\xda" , "\x4c\xcb\x58\xe7" } , { "\xba\xe8\xc6\xdb" , "\xd7\x4c\xcb\x58" } , { "\xba\xe8\xc6\xdc" , "\x4c\xcb\x58\xdd" } , { "\xba\xe8\xc6\xdd" , "\x4c\xcb\x58\xc7" } , { "\xba\xe8\xc6\xdd\xa2" , "\x4c\xcb\x58\xc7\x65" } , { "\xba\xe8\xc6\xde" , "\x4c\xcb\x58\xc9" } , { "\xba\xe8\xc6\xe1" , "\xe6\x4c\xcb\x58" } , { "\xba\xe8\xc6\xe6" , "\xe6\x4c\xcb\x58\xec" } , { "\xba\xe8\xc8" , "\x4c\xcb\x59" } , { "\xba\xe8\xc8\xda" , "\x4c\xcb\x59\xe7" } , { "\xba\xe8\xc8\xdd" , "\x4c\xcb\x59\xc7" } , { "\xba\xe8\xc8\xde" , "\x4c\xcb\x59\xc9" } , { "\xba\xe8\xc8\xe2" , "\x4c\xcb\xe9\x59" } , { "\xba\xe8\xc8\xe5" , "\x4c\xcb\xe6\x59\xe7" } , { "\xba\xe8\xc9\xe2" , "\x4c\xcb\xe9\x5a\xf5" } , { "\xba\xe8\xc9\xe8\xc9" , "\x4c\xcb\x5a\xcb\xf5\x5a\xf5" } , { "\xba\xe8\xca" , "\x4c\x9d" } , { "\xba\xe8\xca\xda" , "\x4c\x9d\xe7" } , { "\xba\xe8\xca\xe1" , "\xe6\x4c\x9d" } , { "\xba\xe8\xca\xe2" , "\xe9\x4c\x9d" } , { "\xba\xe8\xca\xe8\xb3\xe8" , "\x4c\xcb\x5b\xfd\xcb\x45\xcb\xf5" } , { "\xba\xe8\xca\xe8\xb5\xe8" , "\x4c\xcb\x5b\xfd\xcb\x47\xcb" } , { "\xba\xe8\xcb\xde" , "\x4c\xcb\x5c\xc9\xf6" } , { "\xba\xe8\xcb\xe1" , "\x4c\xcb\xe6\x5c\xf6" } , { "\xba\xe8\xcc" , "\x4c\xbd" } , { "\xba\xe8\xcc\xa2" , "\x4c\xbd\x65" } , { "\xba\xe8\xcc\xda" , "\x4c\xbd\xe7" } , { "\xba\xe8\xcc\xdb" , "\xd7\x4c\xbd" } , { "\xba\xe8\xcc\xdc" , "\x4c\xbd\xdd" } , { "\xba\xe8\xcc\xdd" , "\x4c\xbd\xc6" } , { "\xba\xe8\xcc\xde" , "\x4c\xbd\xc8" } , { "\xba\xe8\xcc\xe1" , "\xe6\x4c\xbd" } , { "\xba\xe8\xcc\xe1\xa2" , "\xe6\x4c\xbd\x65" } , { "\xba\xe8\xcc\xe5" , "\xe6\x4c\xbd\xe7" } , { "\xba\xe8\xcd" , "\x4c\xee" } , { "\xba\xe8\xcd\xa2" , "\x4c\xee\x65" } , { "\xba\xe8\xcd\xda" , "\x4c\xee\xe7" } , { "\xba\xe8\xcd\xda\xa1" , "\x4c\xee\xf1\xe7" } , { "\xba\xe8\xcd\xda\xa2" , "\x4c\xee\xe7\x65" } , { "\xba\xe8\xcd\xdb" , "\xd7\x4c\xee" } , { "\xba\xe8\xcd\xdc" , "\x4c\xee\xdd" } , { "\xba\xe8\xcd\xdd" , "\x4c\xc7\xee" } , { "\xba\xe8\xcd\xdd\xa2" , "\x4c\xc7\xee\x65" } , { "\xba\xe8\xcd\xde" , "\x4c\xc9\xee" } , { "\xba\xe8\xcd\xde\xa1" , "\x4c\xc9\xee\x67" } , { "\xba\xe8\xcd\xde\xa2" , "\x4c\xc9\xee\x65" } , { "\xba\xe8\xcd\xdf" , "\x4c\xca\xee" } , { "\xba\xe8\xcd\xe1" , "\xe6\x4c\xee" } , { "\xba\xe8\xcd\xe2" , "\xe9\x4c\xee" } , { "\xba\xe8\xcd\xe5" , "\xe6\x4c\xee\xe7" } , { "\xba\xe8\xcd\xe5\xa2" , "\xe6\x4c\xee\xe7\x65" } , { "\xba\xe8\xcd\xe6" , "\xe6\x4c\xee\xec" } , { "\xba\xe8\xcd\xe8" , "\x4c\xee\xcb" } , { "\xba\xe8\xcd\xe8\xcf" , "\x4c\x5e\xd2" } , { "\xba\xe8\xcd\xe8\xcf\xa2" , "\x4c\x5e\xd2\x65" } , { "\xba\xe8\xcf" , "\x71" } , { "\xba\xe8\xcf\xa2" , "\x71\x65" } , { "\xba\xe8\xcf\xda" , "\x71\xe7" } , { "\xba\xe8\xcf\xda\xa2" , "\x71\xe7\x65" } , { "\xba\xe8\xcf\xdb" , "\xd7\x71" } , { "\xba\xe8\xcf\xdc" , "\x71\xdd" } , { "\xba\xe8\xcf\xe1" , "\xe6\x71" } , { "\xba\xe8\xcf\xe5" , "\xe6\x71\xe7" } , { "\xba\xe8\xd1" , "\x4c\xcb\x5f" } , { "\xba\xe8\xd1\xda" , "\x4c\xcb\x5f\xe7" } , { "\xba\xe8\xd1\xdb" , "\xd7\x4c\xcb\x5f" } , { "\xba\xe8\xd1\xdc" , "\x4c\xcb\x5f\xdd" } , { "\xba\xe8\xd1\xdd" , "\x4c\xcb\x5f\xc7" } , { "\xba\xe8\xd1\xe5" , "\xe6\x4c\xcb\x5f\xe7" } , { "\xba\xe8\xd5\xda" , "\x4c\xcb\x60\xe7" } , { "\xba\xe8\xd6\xda" , "\x4c\xcb\x62\xe7" } , { "\xba\xe8\xd7" , "\x4c\xcb\x61" } , { "\xba\xe8\xd7\xdb\xa2" , "\x4c\xcb\xd7\x61\x65" } , { "\xba\xe8\xd7\xe8\xb3\xdb" , "\x4c\xcb\xd7\x95\xf5" } , { "\xba\xe8\xd9\xba" , "\x4c\xcb\x4c" } , { "\xba\xe8\xd9\xcf\xe8\xcd" , "\x4c\xcb\xcc\x5e\xef" } , { "\xba\xe8\xe8" , "\x4c\xcb" } , { "\xba\xe8\xe9\xbc" , "\x70\xfb" } , { "\xba\xe8\xe9\xcf" , "\x71" } , { "\xba\xe9" , "\x4c" } , { "\xba\xe9\xa2" , "\x4c\x65" } , { "\xba\xe9\xbf\xe9" , "\x4c\x51\xcd\xf6" } , { "\xba\xe9\xbf\xe9\xe5\xa2" , "\x4c\xe4\x51\xcd\xf6\xe7\x65" } , { "\xba\xe9\xcc\xe8\xca\xdd" , "\x4c\xb6\x91\xf6\xc7" } , { "\xba\xe9\xda" , "\x4c\xe7" } , { "\xba\xe9\xdb" , "\xd7\x4c" } , { "\xba\xe9\xdb\xa2" , "\xd7\x4c\x65" } , { "\xba\xe9\xdc" , "\x4c\xdd" } , { "\xba\xe9\xdd" , "\x4c\xc7" } , { "\xba\xe9\xde" , "\x4c\xc9" } , { "\xba\xe9\xe1" , "\xe6\x4c" } , { "\xba\xe9\xe1\xa2" , "\xe6\x4c\x65" } , { "\xba\xe9\xe2" , "\xe9\x4c" } , { "\xba\xe9\xe5" , "\xe6\x4c\xe7" } , { "\xba\xe9\xe5\xa2" , "\xe6\x4c\xe7\x65" } , { "\xba\xe9\xe8\xba" , "\x80" } , { "\xba\xe9\xe8\xba\xe9" , "\x80" } , { "\xba\xe9\xe8\xca\xda" , "\x4c\x9d\xe7" } , { "\xba\xe9\xe8\xcc" , "\x4c\xbd" } , { "\xba\xe9\xe8\xcc\xe5\xa2" , "\xe6\x4c\xbd\xe7\x65" } , { "\xba\xe9\xe8\xcd\xda" , "\x4c\xcb\xcc\x5e\xe7" } , { "\xba\xe9\xe9\xe8\xcd\xda" , "\x4c\xcc\xcb\xcc\x5e\xe7" } , { "\xbb" , "\x4d\xf5" } , { "\xbb\xa1" , "\x4d\x67\xf5" } , { "\xbb\xa2" , "\x4d\xf5\x65" } , { "\xbb\xa3" , "\x4d\xf5\x66" } , { "\xbb\xda" , "\x4d\xf5\xe7" } , { "\xbb\xda\xa1" , "\x4d\x67\xf5\xe7" } , { "\xbb\xda\xa2" , "\x4d\xf5\xe7\x65" } , { "\xbb\xdb" , "\xd7\x4d\xf5" } , { "\xbb\xdb\xa2" , "\xd7\x4d\xf5\x65" } , { "\xbb\xdc" , "\x4d\xf5\xdd" } , { "\xbb\xdc\xa2" , "\x4d\xf5\xdd\x65" } , { "\xbb\xdd" , "\x4d\xc7\xf5" } , { "\xbb\xdd\xa1" , "\x4d\x67\xc7\xf5" } , { "\xbb\xdd\xa2" , "\x4d\xc7\xf5\x65" } , { "\xbb\xde" , "\x4d\xc9\xf5" } , { "\xbb\xde\xa1" , "\x4d\x67\xc9\xf5" } , { "\xbb\xde\xa2" , "\x4d\xc9\xf5\x65" } , { "\xbb\xdf" , "\x4d\xca\xf5" } , { "\xbb\xe1" , "\xe6\x4d\xf5" } , { "\xbb\xe1\xa2" , "\xe6\x4d\xf5\x65" } , { "\xbb\xe2" , "\xe9\x4d\xf5" } , { "\xbb\xe5" , "\xe6\x4d\xf5\xe7" } , { "\xbb\xe5\xa2" , "\xe6\x4d\xf5\xe7\x65" } , { "\xbb\xe6" , "\xe6\x4d\xf5\xec" } , { "\xbb\xe6\xa2" , "\xe6\x4d\xf5\xec\x65" } , { "\xbb\xe8" , "\x4d\xcb\xf5" } , { "\xbb\xe8\xb6\xdd" , "\x4d\xcb\xf5\x48\xc7" } , { "\xbb\xe8\xbb" , "\x4d\xcb\xf5\x4d\xf5" } , { "\xbb\xe8\xcd" , "\x4d\xfd\xee" } , { "\xbb\xe8\xcd\xda" , "\x4d\xfd\xee\xe7" } , { "\xbb\xe8\xcd\xdb" , "\xd7\x4d\xfd\xee" } , { "\xbb\xe8\xcd\xdd" , "\x4d\xfd\xc7\xee" } , { "\xbb\xe8\xcd\xde" , "\x4d\xfd\xc9\xee" } , { "\xbb\xe8\xcd\xdf" , "\x4d\xfd\xca\xee" } , { "\xbb\xe8\xcd\xe1" , "\xe6\x4d\xfd\xee" } , { "\xbb\xe8\xcd\xe2" , "\xe9\x4d\xfd\xee" } , { "\xbb\xe8\xcd\xe5" , "\xe6\x4d\xfd\xee\xe7" } , { "\xbb\xe8\xcd\xe6" , "\xe6\x4d\xfd\xee\xec" } , { "\xbb\xe8\xcd\xe8" , "\x4d\xfd\xee\xcb" } , { "\xbb\xe8\xcf" , "\x4d\xd0\xf5" } , { "\xbb\xe8\xe8" , "\x4d\xcb\xf5" } , { "\xbb\xe8\xe9\xcf" , "\x4d\xd0\xf5" } , { "\xbb\xe9" , "\x4d\xf5" } , { "\xbc" , "\x41\xd5" } , { "\xbc\xa2" , "\x41\xd5\x65" } , { "\xbc\xa3" , "\x41\xd5\x66" } , { "\xbc\xda" , "\x41\xd5\xe7" } , { "\xbc\xdb" , "\xd7\x41\xd5" } , { "\xbc\xdc" , "\x41\xd5\xdd" } , { "\xbc\xdd" , "\x41\xc7\xd5" } , { "\xbc\xde" , "\x41\xc9\xd5" } , { "\xbc\xdf" , "\x41\xca\xd5" } , { "\xbc\xe1" , "\xe6\x41\xd5" } , { "\xbc\xe2" , "\xe9\x41\xd5" } , { "\xbc\xe5" , "\xe6\x41\xd5\xe7" } , { "\xbc\xe5\xa2" , "\xe6\x41\xd5\xe7\x65" } , { "\xbc\xe6" , "\xe6\x41\xd5\xec" } , { "\xbc\xe8" , "\x41\xcb\xd5" } , { "\xbc\xe8\xb8" , "\x87\xfb" } , { "\xbc\xe8\xb8\xda" , "\x87\xfb\xe7" } , { "\xbc\xe8\xb8\xdb" , "\xd7\x87\xfb" } , { "\xbc\xe8\xb8\xdc" , "\x87\xfb\xdd" } , { "\xbc\xe8\xb8\xe1" , "\xe5\x87\xfb" } , { "\xbc\xe8\xb8\xe8\xcd\xda\xa2" , "\x41\xcb\xd5\xac\xcc\x5e\xe7\x65" } , { "\xbc\xe8\xba" , "\x74" } , { "\xbc\xe8\xba\xda" , "\x74\xe7" } , { "\xbc\xe8\xba\xdb" , "\xd7\x74" } , { "\xbc\xe8\xba\xdc" , "\x74\xdd" } , { "\xbc\xe8\xba\xdd" , "\x74\xc7" } , { "\xbc\xe8\xba\xe5\xa2" , "\xe5\x74\xe7\x65" } , { "\xbc\xe8\xbc" , "\x41\xcb\xd5\x41\xd5" } , { "\xbc\xe8\xbc\xda" , "\x41\xcb\xd5\x41\xd5\xe7" } , { "\xbc\xe8\xc1" , "\x41\xcb\xd5\x53" } , { "\xbc\xe8\xcd" , "\x41\xd5\xee" } , { "\xbc\xe8\xcd\xa2" , "\x41\xd5\xee\x65" } , { "\xbc\xe8\xcd\xda" , "\x41\xd5\xee\xe7" } , { "\xbc\xe8\xcd\xdb" , "\xd7\x41\xd5\xee" } , { "\xbc\xe8\xcd\xdd" , "\x41\xc7\xd5\xee" } , { "\xbc\xe8\xcd\xde" , "\x41\xc9\xd5\xee" } , { "\xbc\xe8\xcd\xdf" , "\x41\xca\xd5\xee" } , { "\xbc\xe8\xcd\xe1" , "\xe6\x41\xd5\xee" } , { "\xbc\xe8\xcd\xe2" , "\xe9\x41\xd5\xee" } , { "\xbc\xe8\xcd\xe5" , "\xe6\x41\xd5\xee\xe7" } , { "\xbc\xe8\xcd\xe6" , "\xe6\x41\xd5\xee\xec" } , { "\xbc\xe8\xcd\xe8" , "\x41\xd5\xee\xcb" } , { "\xbc\xe9" , "\x41\xd5" } , { "\xbd" , "\xbb\x4f\xf4" } , { "\xbd\xa1" , "\xbb\x4f\xf0\xf4" } , { "\xbd\xa2" , "\xbb\x4f\xf4\x65" } , { "\xbd\xa2\xa2" , "\xbb\x4f\xf4\x65\x65" } , { "\xbd\xa3" , "\xbb\x4f\xf4\x66" } , { "\xbd\xd9" , "\xbb\x4f\xf4" } , { "\xbd\xda" , "\xbb\x4f\xf4\xe7" } , { "\xbd\xda\xa1" , "\xbb\x4f\xf0\xf4\xe7" } , { "\xbd\xda\xa2" , "\xbb\x4f\xf4\xe7\x65" } , { "\xbd\xda\xa3" , "\xbb\x4f\xf4\xe7\x66" } , { "\xbd\xdb" , "\xd7\xbb\x4f\xf4" } , { "\xbd\xdb\xa2" , "\xd7\xbb\x4f\xf4\x65" } , { "\xbd\xdc" , "\xbb\x4f\xf4\xdd" } , { "\xbd\xdc\xa2" , "\xbb\x4f\xf4\xdd\x65" } , { "\xbd\xdd" , "\xbb\x4f\xc7\xf4" } , { "\xbd\xdd\xa2" , "\xbb\x4f\xc7\xf4\x65" } , { "\xbd\xde" , "\xbb\x4f\xc9\xf4" } , { "\xbd\xde\xa1" , "\xbb\x4f\xf0\xc9\xf4" } , { "\xbd\xde\xa2" , "\xbb\x4f\xc9\xf4\x65" } , { "\xbd\xdf" , "\xbb\x4f\xca\xf4" } , { "\xbd\xe1" , "\xe6\xbb\x4f\xf4" } , { "\xbd\xe1\xa2" , "\xe6\xbb\x4f\xf4\x65" } , { "\xbd\xe2" , "\xe8\xbb\x4f\xf4" } , { "\xbd\xe2\xa2" , "\xe8\xbb\x4f\xf4\x65" } , { "\xbd\xe5" , "\xe6\xbb\x4f\xf4\xe7" } , { "\xbd\xe5\xa2" , "\xe6\xbb\x4f\xf4\xe7\x65" } , { "\xbd\xe6" , "\xe6\xbb\x4f\xf4\xec" } , { "\xbd\xe6\xa2" , "\xe6\xbb\x4f\xf4\xec\x65" } , { "\xbd\xe8" , "\xbb\x4f\xcb\xf4" } , { "\xbd\xe8\xa6" , "\xbb\x4f\xcb\xf4\x2b" } , { "\xbd\xe8\xb3" , "\xae\x45\xf5" } , { "\xbd\xe8\xb3\xa2" , "\xae\x45\xf5\x65" } , { "\xbd\xe8\xb3\xda" , "\xae\x45\xf5\xe7" } , { "\xbd\xe8\xb3\xda\xa2" , "\xae\x45\xf5\xe7\x65" } , { "\xbd\xe8\xb3\xdb" , "\xd7\xae\x45\xf5" } , { "\xbd\xe8\xb3\xdb\xa2" , "\xd7\xae\x45\xf5\x65" } , { "\xbd\xe8\xb3\xdc" , "\xae\x45\xf5\xdd" } , { "\xbd\xe8\xb3\xdd" , "\xae\x45\xc7\xf5" } , { "\xbd\xe8\xb3\xde" , "\xae\x45\xc9\xf5" } , { "\xbd\xe8\xb3\xe1" , "\xe6\xae\x45\xf5" } , { "\xbd\xe8\xb3\xe2" , "\xe9\xae\x45\xf5" } , { "\xbd\xe8\xb3\xe5" , "\xe6\xae\x45\xf5\xe7" } , { "\xbd\xe8\xb3\xe8\xd1" , "\xae\x7a\xf5" } , { "\xbd\xe8\xb3\xe8\xd1\xdc" , "\xae\x7a\xf5\xdd" } , { "\xbd\xe8\xb3\xe8\xd7\xe8" , "\xae\x6a\xcb" } , { "\xbd\xe8\xb5" , "\xae\x47" } , { "\xbd\xe8\xb5\xda" , "\xae\x47\xe7" } , { "\xbd\xe8\xb5\xe1" , "\xe6\xae\x47" } , { "\xbd\xe8\xb5\xe2" , "\xe9\xae\x47" } , { "\xbd\xe8\xb5\xe5" , "\xe6\xae\x47\xe7" } , { "\xbd\xe8\xb5\xe8\xcf\xa2" , "\xae\x47\xd0\x65" } , { "\xbd\xe8\xb7\xe8" , "\xae\x49\xcb\xf8" } , { "\xbd\xe8\xb8" , "\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xa2" , "\xae\x4a\xf4\x65" } , { "\xbd\xe8\xb8\xda" , "\xae\x4a\xf4\xe7" } , { "\xbd\xe8\xb8\xdb" , "\xd7\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xdb\xa2" , "\xd7\xae\x4a\xf4\x65" } , { "\xbd\xe8\xb8\xdd" , "\xae\x4a\xc7\xf4" } , { "\xbd\xe8\xb8\xe1" , "\xe6\xae\x4a\xf4" } , { "\xbd\xe8\xb8\xe8" , "\xae\x4a\xcb\xf4" } , { "\xbd\xe8\xb9\xa2" , "\xae\x4b\xf7\x65" } , { "\xbd\xe8\xba" , "\xae\x4c" } , { "\xbd\xe8\xba\xa2" , "\xae\x4c\x65" } , { "\xbd\xe8\xba\xdc" , "\xae\x4c\xdd" } , { "\xbd\xe8\xba\xe1" , "\xe6\xae\x4c" } , { "\xbd\xe8\xba\xe8" , "\xae\x4c\xcb" } , { "\xbd\xe8\xba\xe8\xc6\xdd\xa2" , "\xae\x4c\xcb\x58\xc7\x65" } , { "\xbd\xe8\xbd" , "\x76\xf4" } , { "\xbd\xe8\xbd\xa2" , "\x76\xf4\x65" } , { "\xbd\xe8\xbd\xa3" , "\x76\xf4\x66" } , { "\xbd\xe8\xbd\xda" , "\x76\xf4\xe7" } , { "\xbd\xe8\xbd\xda\xa2" , "\x76\xf4\xe7\x65" } , { "\xbd\xe8\xbd\xda\xa3" , "\x76\xf4\xe7\x66" } , { "\xbd\xe8\xbd\xdb" , "\xd7\x76\xf4" } , { "\xbd\xe8\xbd\xdb\xa2" , "\xd7\x76\xf4\x65" } , { "\xbd\xe8\xbd\xdc" , "\x76\xf4\xdd" } , { "\xbd\xe8\xbd\xdc\xa2" , "\x76\xf4\xdd\x65" } , { "\xbd\xe8\xbd\xdd" , "\x76\xc7\xf4" } , { "\xbd\xe8\xbd\xdd\xa2" , "\x76\xc7\xf4\x65" } , { "\xbd\xe8\xbd\xde" , "\x76\xc9\xf4" } , { "\xbd\xe8\xbd\xe1" , "\xe6\x76\xf4" } , { "\xbd\xe8\xbd\xe1\xa2" , "\xe6\x76\xf4\x65" } , { "\xbd\xe8\xbd\xe2" , "\xe8\x76\xf4" } , { "\xbd\xe8\xbd\xe2\xa2" , "\xe8\x76\xf4\x65" } , { "\xbd\xe8\xbd\xe5" , "\xe6\x76\xf4\xe7" } , { "\xbd\xe8\xbd\xe5\xa2" , "\xe6\x76\xf4\xe7\x65" } , { "\xbd\xe8\xbd\xe6" , "\xe6\x76\xf4\xec" } , { "\xbd\xe8\xbd\xe8\xb3\xdd" , "\x4f\xcb\xf4\xae\x45\xc7\xf5" } , { "\xbd\xe8\xbd\xe8\xc1" , "\x4f\xcb\xf4\xae\x53" } , { "\xbd\xe8\xbd\xe8\xc6" , "\xae\xae\xf3\xf4" } , { "\xbd\xe8\xbd\xe8\xcf\xda" , "\x76\xf4\x98\xe7" } , { "\xbd\xe8\xbd\xe8\xcf\xe8" , "\x76\xf4\x98\xcb" } , { "\xbd\xe8\xbd\xe8\xcf\xe8\xc6" , "\xae\xae\xcc\x5b\xfd\xc2" } , { "\xbd\xe8\xbd\xe8\xd7\xdd" , "\x4f\xcb\xf4\xae\x61\xc7" } , { "\xbd\xe8\xbe" , "\xae\x50\xf6" } , { "\xbd\xe8\xbe\xda" , "\xae\x50\xf6\xe7" } , { "\xbd\xe8\xbe\xdb" , "\xd7\xae\x50\xf6" } , { "\xbd\xe8\xbe\xdc" , "\xae\x50\xf6\xdd" } , { "\xbd\xe8\xbe\xdd" , "\xae\x50\xc7\xf6" } , { "\xbd\xe8\xbe\xde" , "\xae\x50\xc9\xf6" } , { "\xbd\xe8\xbe\xe1" , "\xe6\xae\x50\xf6" } , { "\xbd\xe8\xbe\xe5" , "\xe6\xae\x50\xf6\xe7" } , { "\xbd\xe8\xbe\xe5\xa2" , "\xe6\xae\x50\xf6\xe7\x65" } , { "\xbd\xe8\xbf" , "\xae\x51\xf6" } , { "\xbd\xe8\xbf\xdb" , "\xd7\xae\x51\xf6" } , { "\xbd\xe8\xbf\xdd" , "\xae\x51\xc7\xf6" } , { "\xbd\xe8\xbf\xe1" , "\xe6\xae\x51\xf6" } , { "\xbd\xe8\xbf\xe5" , "\xe6\xae\x51\xf6\xe7" } , { "\xbd\xe8\xbf\xe6" , "\xe6\xae\x51\xf6\xec" } , { "\xbd\xe8\xbf\xe8" , "\xae\x51\xcb\xf6" } , { "\xbd\xe8\xbf\xe8\xcf\xda" , "\xae\x51\xce\xf6\xe7" } , { "\xbd\xe8\xc0\xdc" , "\xae\x52\xf4\xdd" } , { "\xbd\xe8\xc1\xa2" , "\xae\x53\x65" } , { "\xbd\xe8\xc2" , "\xae\x54\xf6" } , { "\xbd\xe8\xc2\xda" , "\xae\x54\xf6\xe7" } , { "\xbd\xe8\xc2\xdb\xa2" , "\xd7\xae\x54\xf6\x65" } , { "\xbd\xe8\xc2\xdc" , "\xae\x54\xf6\xdd" } , { "\xbd\xe8\xc2\xdd" , "\xae\x54\xc7\xf6" } , { "\xbd\xe8\xc2\xdd\xa2" , "\xae\x54\xc7\xf6\x65" } , { "\xbd\xe8\xc2\xde" , "\xae\x54\xc9\xf6" } , { "\xbd\xe8\xc2\xe1" , "\xe6\xae\x54\xf6" } , { "\xbd\xe8\xc2\xe5" , "\xe6\xae\x54\xf6\xe7" } , { "\xbd\xe8\xc2\xe5\xa2" , "\xe6\xae\x54\xf6\xe7\x65" } , { "\xbd\xe8\xc2\xe8\xcf\xdb\xa2" , "\xd7\xc5\xae\x79\x65" } , { "\xbd\xe8\xc4" , "\xae\x56" } , { "\xbd\xe8\xc4\xda" , "\xae\x56\xe7" } , { "\xbd\xe8\xc5" , "\xae\x57\xfd" } , { "\xbd\xe8\xc6" , "\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xa2" , "\xae\xf3\xf4\x65" } , { "\xbd\xe8\xc6\xda" , "\xae\xf3\xf4\xe7" } , { "\xbd\xe8\xc6\xdb" , "\xd7\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xdb\xa2" , "\xd7\xae\xf3\xf4\x65" } , { "\xbd\xe8\xc6\xdc" , "\xae\xf3\xf4\xdd" } , { "\xbd\xe8\xc6\xdc\xa2" , "\xae\xf3\xf4\xdd\x65" } , { "\xbd\xe8\xc6\xdd" , "\xae\xf3\xc7\xf4" } , { "\xbd\xe8\xc6\xdd\xa2" , "\xae\xf3\xc7\xf4\x65" } , { "\xbd\xe8\xc6\xde" , "\xae\xf3\xc9\xf4" } , { "\xbd\xe8\xc6\xe1" , "\xe6\xae\xf3\xf4" } , { "\xbd\xe8\xc6\xe1\xa2" , "\xe6\xae\xf3\xf4\x65" } , { "\xbd\xe8\xc6\xe5" , "\xe6\xae\xf3\xf4\xe7" } , { "\xbd\xe8\xc6\xe8\xcd\xde" , "\x4f\xcb\xf4\xb3\xcc\x5e\xc9" } , { "\xbd\xe8\xc8" , "\xae\x59" } , { "\xbd\xe8\xc8\xda" , "\xae\x59\xe7" } , { "\xbd\xe8\xc8\xdb" , "\xd7\xae\x59" } , { "\xbd\xe8\xc8\xdd" , "\xae\x59\xc7" } , { "\xbd\xe8\xc8\xde" , "\xae\x59\xc9" } , { "\xbd\xe8\xc8\xe1" , "\xe6\xae\x59" } , { "\xbd\xe8\xc8\xe2" , "\xe9\xae\x59" } , { "\xbd\xe8\xc8\xe8\xcf" , "\xae\x59\xd2" } , { "\xbd\xe8\xc8\xe8\xcf\xda" , "\xae\x59\xd2\xe7" } , { "\xbd\xe8\xc8\xe8\xd1\xe1" , "\xe6\xae\x59\xc0" } , { "\xbd\xe8\xc9" , "\xae\x5a\xf5" } , { "\xbd\xe8\xc9\xa2" , "\xae\x5a\xf5\x65" } , { "\xbd\xe8\xc9\xda" , "\xae\x5a\xf5\xe7" } , { "\xbd\xe8\xc9\xda\xa2" , "\xae\x5a\xf5\xe7\x65" } , { "\xbd\xe8\xc9\xdb" , "\xd7\xae\x5a\xf5" } , { "\xbd\xe8\xc9\xdc" , "\xae\x5a\xf5\xdd" } , { "\xbd\xe8\xc9\xdd" , "\xae\x5a\xc7\xf5" } , { "\xbd\xe8\xc9\xe2" , "\xe9\xae\x5a\xf5" } , { "\xbd\xe8\xc9\xe5" , "\xe6\xae\x5a\xf5\xe7" } , { "\xbd\xe8\xc9\xe8\xcd\xda" , "\x4f\xcb\xf4\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xbd\xe8\xc9\xe8\xcf\xe2" , "\xe8\xae\x5a\xd0\xf5" } , { "\xbd\xe8\xc9\xe8\xd1\xe2" , "\xe8\xae\x6e\xf5" } , { "\xbd\xe8\xca" , "\xae\xbc\xf4" } , { "\xbd\xe8\xca\xda" , "\xae\xbc\xf4\xe7" } , { "\xbd\xe8\xca\xda\xa2" , "\xae\xbc\xf4\xe7\x65" } , { "\xbd\xe8\xca\xdd" , "\xae\xbc\xc7\xf4" } , { "\xbd\xe8\xca\xe5" , "\xe6\xae\xbc\xf4\xe7" } , { "\xbd\xe8\xca\xe8\xcd\xda" , "\x4f\xcb\xf4\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xbd\xe8\xca\xe8\xcd\xda\xa2" , "\x4f\xcb\xf4\x5b\xfd\xcb\xcc\x5e\xe7\x65" } , { "\xbd\xe8\xca\xe8\xd1\xda" , "\xae\x5b\xfd\xc0\xe7" } , { "\xbd\xe8\xcb\xdd" , "\xae\x5c\xc7\xf6" } , { "\xbd\xe8\xcb\xde" , "\xae\x5c\xc9\xf6" } , { "\xbd\xe8\xcb\xe8\xcf" , "\xae\x7d" } , { "\xbd\xe8\xcc" , "\x4f\x5d" } , { "\xbd\xe8\xcc\xa2" , "\x4f\x5d\x65" } , { "\xbd\xe8\xcc\xda" , "\x4f\x5d\xe7" } , { "\xbd\xe8\xcc\xdc" , "\x4f\x5d\xdd" } , { "\xbd\xe8\xcc\xe2" , "\xe8\x4f\x5d" } , { "\xbd\xe8\xcc\xe5" , "\xe6\x4f\x5d\xe7" } , { "\xbd\xe8\xcc\xe8\xca" , "\xae\xb6\x91\xf6" } , { "\xbd\xe8\xcd" , "\xae\xfd\xee" } , { "\xbd\xe8\xcd\xa2" , "\xae\xfd\xee\x65" } , { "\xbd\xe8\xcd\xda" , "\xae\xfd\xee\xe7" } , { "\xbd\xe8\xcd\xda\xa2" , "\xae\xfd\xee\xe7\x65" } , { "\xbd\xe8\xcd\xdb" , "\xd7\xae\xfd\xee" } , { "\xbd\xe8\xcd\xdc\xa2" , "\xae\xfd\xee\xdd\x65" } , { "\xbd\xe8\xcd\xdd" , "\xae\xfd\xc7\xee" } , { "\xbd\xe8\xcd\xde" , "\xae\xfd\xc9\xee" } , { "\xbd\xe8\xcd\xde\xa2" , "\xae\xfd\xc9\xee\x65" } , { "\xbd\xe8\xcd\xdf" , "\xae\xfd\xca\xee" } , { "\xbd\xe8\xcd\xe1" , "\xe6\xae\xfd\xee" } , { "\xbd\xe8\xcd\xe2" , "\xe9\xae\xfd\xee" } , { "\xbd\xe8\xcd\xe5" , "\xe6\xae\xfd\xee\xe7" } , { "\xbd\xe8\xcd\xe5\xa2" , "\xe6\xae\xfd\xee\xe7\x65" } , { "\xbd\xe8\xcd\xe6" , "\xe6\xae\xfd\xee\xec" } , { "\xbd\xe8\xcd\xe8" , "\xae\xfd\xee\xcb" } , { "\xbd\xe8\xcf" , "\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xa2" , "\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xda" , "\xae\xcf\xf4\xe7" } , { "\xbd\xe8\xcf\xda\xa1" , "\xae\xcf\xf0\xf4\xe7" } , { "\xbd\xe8\xcf\xda\xa2" , "\xae\xcf\xf4\xe7\x65" } , { "\xbd\xe8\xcf\xdb" , "\xd7\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xdb\xa2" , "\xd7\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xdc" , "\xae\xcf\xf4\xdd" } , { "\xbd\xe8\xcf\xdd" , "\xae\xcf\xc7\xf4" } , { "\xbd\xe8\xcf\xde" , "\xae\xcf\xc9\xf4" } , { "\xbd\xe8\xcf\xe1" , "\xe6\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xe1\xa2" , "\xe6\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xe2" , "\xe8\xae\xcf\xf4" } , { "\xbd\xe8\xcf\xe2\xa2" , "\xe8\xae\xcf\xf4\x65" } , { "\xbd\xe8\xcf\xe2\xc6\xe8" , "\xe8\xae\xcf\xf4\x58\xcb" } , { "\xbd\xe8\xcf\xe5" , "\xe6\xae\xcf\xf4\xe7" } , { "\xbd\xe8\xcf\xe6" , "\xe6\xae\xcf\xf4\xec" } , { "\xbd\xe8\xcf\xe8\xb3\xdb" , "\x4f\xcb\xf4\xcc\x5b\xfd\xcb\xd7\x45\xf5" } , { "\xbd\xe8\xcf\xe8\xc6" , "\xae\xcc\x5b\xfd\xc2" } , { "\xbd\xe8\xcf\xe8\xd7" , "\x4f\xcb\xf4\xcc\x5b\xfd\xcb\x61" } , { "\xbd\xe8\xcf\xe8\xd7\xe8" , "\x4f\xcb\xf4\xcc\x5b\xfd\xcb\x61\xcb" } , { "\xbd\xe8\xd1" , "\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xa2" , "\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xda" , "\xae\xf2\xf4\xe7" } , { "\xbd\xe8\xd1\xda\xa2" , "\xae\xf2\xf4\xe7\x65" } , { "\xbd\xe8\xd1\xdb" , "\xd7\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xdb\xa2" , "\xd7\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xdc" , "\xae\xf2\xf4\xdd" } , { "\xbd\xe8\xd1\xdd" , "\xae\xf2\xc7\xf4" } , { "\xbd\xe8\xd1\xdd\xa2" , "\xae\xf2\xc7\xf4\x65" } , { "\xbd\xe8\xd1\xde" , "\xae\xf2\xc9\xf4" } , { "\xbd\xe8\xd1\xe1" , "\xe6\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xe2" , "\xe8\xae\xf2\xf4" } , { "\xbd\xe8\xd1\xe2\xa2" , "\xe8\xae\xf2\xf4\x65" } , { "\xbd\xe8\xd1\xe5" , "\xe6\xae\xf2\xf4\xe7" } , { "\xbd\xe8\xd1\xe5\xa2" , "\xe6\xae\xf2\xf4\xe7\x65" } , { "\xbd\xe8\xd1\xe8" , "\xae\xf2\xcb\xf4" } , { "\xbd\xe8\xd1\xe8\xc6\xdd" , "\xae\x5f\xc2\xc7" } , { "\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x4f\xcb\xf4\xb7\xcc\x5e\xe7\x65" } , { "\xbd\xe8\xd5" , "\xae\x60" } , { "\xbd\xe8\xd5\xda" , "\xae\x60\xe7" } , { "\xbd\xe8\xd5\xdb" , "\xd7\xae\x60" } , { "\xbd\xe8\xd6\xdb" , "\xd7\xae\x62" } , { "\xbd\xe8\xd6\xdc" , "\xae\x62\xdd" } , { "\xbd\xe8\xd6\xdd" , "\xae\x62\xc7" } , { "\xbd\xe8\xd6\xe8\xd1\xdb" , "\xd7\xae\x62\xc0" } , { "\xbd\xe8\xd6\xe8\xd1\xdc" , "\xae\x62\xc0\xdd" } , { "\xbd\xe8\xd7" , "\xae\x61" } , { "\xbd\xe8\xd7\xda" , "\xae\x61\xe7" } , { "\xbd\xe8\xd7\xdb" , "\xd7\xae\x61" } , { "\xbd\xe8\xd7\xdb\xa2" , "\xd7\xae\x61\x65" } , { "\xbd\xe8\xd7\xdd" , "\xae\x61\xc7" } , { "\xbd\xe8\xd7\xde" , "\xae\x61\xc9" } , { "\xbd\xe8\xd7\xe1" , "\xe6\xae\x61" } , { "\xbd\xe8\xd7\xe2" , "\xe9\xae\x61" } , { "\xbd\xe8\xd7\xe5" , "\xe6\xae\x61\xe7" } , { "\xbd\xe8\xd7\xe8" , "\xae\x61\xcb" } , { "\xbd\xe8\xd7\xe8\xb3" , "\xae\x95\xf5" } , { "\xbd\xe8\xd7\xe8\xb3\xdb" , "\xd7\xae\x95\xf5" } , { "\xbd\xe8\xd7\xe8\xb3\xdc" , "\xae\x95\xf5\xdd" } , { "\xbd\xe8\xd7\xe8\xb3\xdd" , "\xae\x95\xc7\xf5" } , { "\xbd\xe8\xd7\xe8\xb5\xda" , "\x4f\xcb\xf4\xba\x47\xe7" } , { "\xbd\xe8\xd7\xe8\xb8\xdb" , "\x4f\xcb\xf4\xd7\xba\x4a\xf4" } , { "\xbd\xe8\xd7\xe8\xbd" , "\x4f\xcb\xf4\xba\x4f\xf4" } , { "\xbd\xe8\xd7\xe8\xbd\xda" , "\x4f\xcb\xf4\xba\x4f\xf4\xe7" } , { "\xbd\xe8\xd7\xe8\xc2\xe5" , "\xe6\xae\xd8\x99\xf6\xe7" } , { "\xbd\xe8\xd7\xe8\xc3" , "\xae\xd8\x9a\xf6" } , { "\xbd\xe8\xd7\xe8\xc4" , "\x4f\xcb\xf4\xba\x56" } , { "\xbd\xe8\xd7\xe8\xc6\xdb" , "\xd7\xae\xd8\x6f\xf6" } , { "\xbd\xe8\xd7\xe8\xc6\xdd" , "\xae\xd8\x6f\xf6\xc7" } , { "\xbd\xe8\xd7\xe8\xc6\xdd\xa2" , "\xae\xd8\x6f\xf6\xc7\x65" } , { "\xbd\xe8\xd7\xe8\xca" , "\xae\xd8\x91\xf6" } , { "\xbd\xe8\xd7\xe8\xcc" , "\xae\xd8\xf6\x82" } , { "\xbd\xe8\xd7\xe8\xcc\xdb" , "\xd7\xae\xd8\xf6\x82" } , { "\xbd\xe8\xd7\xe8\xcc\xe1" , "\xe6\xae\xd8\xf6\x82" } , { "\xbd\xe8\xd7\xe8\xcd\xa2" , "\x4f\xcb\xf4\xba\xcc\x5e\x65" } , { "\xbd\xe8\xd7\xe8\xd1" , "\xae\xd8\xda\xf6" } , { "\xbd\xe8\xd7\xe8\xd1\xe5" , "\xe6\xae\xd8\xda\xf6\xe7" } , { "\xbd\xe8\xd8\xda" , "\xae\x63\xf7\xe7" } , { "\xbd\xe8\xd8\xdc" , "\xae\x63\xf7\xdd" } , { "\xbd\xe8\xd8\xde" , "\xae\x63\xc9\xf7" } , { "\xbd\xe8\xd8\xe5" , "\xe6\xae\x63\xf7\xe7" } , { "\xbd\xe8\xd8\xe6" , "\xe6\xae\x63\xf7\xec" } , { "\xbd\xe8\xd9\xa6" , "\xae\x2b" } , { "\xbd\xe8\xd9\xbd" , "\xae\xbb\x4f\xf4" } , { "\xbd\xe8\xd9\xbd\xda" , "\xae\xbb\x4f\xf4\xe7" } , { "\xbd\xe8\xd9\xbd\xdc" , "\xae\xbb\x4f\xf4\xdd" } , { "\xbd\xe8\xd9\xbd\xe5" , "\xae\xe4\xbb\x4f\xf4\xe7" } , { "\xbd\xe8\xd9\xbe\xdc" , "\xae\x50\xf6\xdd" } , { "\xbd\xe8\xd9\xcd\xde\xa2" , "\xae\xcc\x5e\xc9\x65" } , { "\xbd\xe8\xd9\xd7" , "\xae\x61" } , { "\xbd\xe8\xe8" , "\xbb\x4f\xcb\xf4" } , { "\xbe" , "\x50\xf6" } , { "\xbe\xa2" , "\x50\xf6\x65" } , { "\xbe\xa3" , "\x50\xf6\x66" } , { "\xbe\xda" , "\x50\xf6\xe7" } , { "\xbe\xda\xa1" , "\x50\xf6\x67\xe7" } , { "\xbe\xda\xa2" , "\x50\xf6\xe7\x65" } , { "\xbe\xdb" , "\xd7\x50\xf6" } , { "\xbe\xdb\xa2" , "\xd7\x50\xf6\x65" } , { "\xbe\xdc" , "\x50\xf6\xdd" } , { "\xbe\xdc\xa2" , "\x50\xf6\xdd\x65" } , { "\xbe\xdd" , "\x50\xc7\xf6" } , { "\xbe\xdd\xa2" , "\x50\xc7\xf6\x65" } , { "\xbe\xde" , "\x50\xc9\xf6" } , { "\xbe\xde\xa1" , "\x50\xf6\x67\xc9" } , { "\xbe\xde\xa2" , "\x50\xc9\xf6\x65" } , { "\xbe\xdf" , "\x50\xca\xf6" } , { "\xbe\xe1" , "\xe6\x50\xf6" } , { "\xbe\xe1\xa2" , "\xe6\x50\xf6\x65" } , { "\xbe\xe2" , "\xe8\x50\xf6" } , { "\xbe\xe2\xa2" , "\xe8\x50\xf6\x65" } , { "\xbe\xe5" , "\xe6\x50\xf6\xe7" } , { "\xbe\xe5\xa2" , "\xe6\x50\xf6\xe7\x65" } , { "\xbe\xe6" , "\xe6\x50\xf6\xec" } , { "\xbe\xe8" , "\x50\xcb\xf6" } , { "\xbe\xe8\xb3" , "\x50\xcb\xf6\x45\xf5" } , { "\xbe\xe8\xb3\xdd" , "\x50\xcb\xf6\x45\xc7\xf5" } , { "\xbe\xe8\xb3\xe8\xcf" , "\x50\xcb\xf6\x79\xd4" } , { "\xbe\xe8\xb5\xe5" , "\x50\xcb\xf6\xe6\x47\xe7" } , { "\xbe\xe8\xb8" , "\x50\xcb\xf6\xbb\x4a\xf4" } , { "\xbe\xe8\xbd" , "\x50\xcb\xf6\xbb\x4f\xf4" } , { "\xbe\xe8\xbd\xda" , "\x50\xcb\xf6\xbb\x4f\xf4\xe7" } , { "\xbe\xe8\xbd\xdb" , "\x50\xcb\xf6\xd7\xbb\x4f\xf4" } , { "\xbe\xe8\xbd\xdc" , "\x50\xcb\xf6\xbb\x4f\xf4\xdd" } , { "\xbe\xe8\xbe" , "\x50\xcb\xf6\x50\xf6" } , { "\xbe\xe8\xbe\xda" , "\x50\xcb\xf6\x50\xf6\xe7" } , { "\xbe\xe8\xbe\xdb" , "\x50\xcb\xf6\xd7\x50\xf6" } , { "\xbe\xe8\xbe\xdc" , "\x50\xcb\xf6\x50\xf6\xdd" } , { "\xbe\xe8\xbe\xe1" , "\x50\xcb\xf6\xe6\x50\xf6" } , { "\xbe\xe8\xbe\xe5" , "\x50\xcb\xf6\xe6\x50\xf6\xe7" } , { "\xbe\xe8\xc6" , "\x50\xcb\x58" } , { "\xbe\xe8\xc8\xda" , "\x50\xcb\xf6\x59\xe7" } , { "\xbe\xe8\xcd" , "\x50\xfd\xee" } , { "\xbe\xe8\xcd\xa2" , "\x50\xfd\xee\x65" } , { "\xbe\xe8\xcd\xda" , "\x50\xfd\xee\xe7" } , { "\xbe\xe8\xcd\xda\xa1" , "\x50\xfd\xee\x67\xe7" } , { "\xbe\xe8\xcd\xda\xa2" , "\x50\xfd\xee\xe7\x65" } , { "\xbe\xe8\xcd\xdb" , "\xd7\x50\xfd\xee" } , { "\xbe\xe8\xcd\xdd" , "\x50\xc7\xfd\xee" } , { "\xbe\xe8\xcd\xde" , "\x50\xc9\xfd\xee" } , { "\xbe\xe8\xcd\xdf" , "\x50\xca\xfd\xee" } , { "\xbe\xe8\xcd\xe1" , "\xe6\x50\xfd\xee" } , { "\xbe\xe8\xcd\xe2" , "\xe9\x50\xfd\xee" } , { "\xbe\xe8\xcd\xe5" , "\xe6\x50\xfd\xee\xe7" } , { "\xbe\xe8\xcd\xe5\xa2" , "\xe6\x50\xfd\xee\xe7\x65" } , { "\xbe\xe8\xcd\xe6" , "\xe6\x50\xfd\xee\xec" } , { "\xbe\xe8\xcd\xe8" , "\x50\xfd\xee\xcb" } , { "\xbe\xe8\xcd\xe8\xcd" , "\x50\xfd\xee\xee" } , { "\xbe\xe8\xcd\xe8\xcf" , "\x50\xf6\x5e\xd2" } , { "\xbe\xe8\xcd\xe8\xd5\xda" , "\x50\xf6\x5e\xcb\x60\xe7" } , { "\xbe\xe8\xcf\xda" , "\x50\xce\xf6\xe7" } , { "\xbe\xe8\xd1\xdd" , "\x50\xcb\xf6\x5f\xc7" } , { "\xbe\xe8\xd9\xcd" , "\x50\xcb\xf6\xcc\x5e" } , { "\xbe\xe8\xe8" , "\x50\xcb\xf6" } , { "\xbf" , "\x51\xf6" } , { "\xbf\xa1" , "\x51\x67\xf6" } , { "\xbf\xa2" , "\x51\xf6\x65" } , { "\xbf\xa2\xa2" , "\x51\xf6\x65\x65" } , { "\xbf\xa3" , "\x51\xf6\x66" } , { "\xbf\xda" , "\x51\xf6\xe7" } , { "\xbf\xda\xa1" , "\x51\x67\xf6\xe7" } , { "\xbf\xda\xa2" , "\x51\xf6\xe7\x65" } , { "\xbf\xda\xa3" , "\x51\xf6\xe7\x66" } , { "\xbf\xdb" , "\xd7\x51\xf6" } , { "\xbf\xdb\xa2" , "\xd7\x51\xf6\x65" } , { "\xbf\xdb\xa3" , "\xd7\x51\xf6\x66" } , { "\xbf\xdc" , "\x51\xf6\xdd" } , { "\xbf\xdc\xa2" , "\x51\xf6\xdd\x65" } , { "\xbf\xdd" , "\x51\xc7\xf6" } , { "\xbf\xdd\xa2" , "\x51\xc7\xf6\x65" } , { "\xbf\xde" , "\x51\xc9\xf6" } , { "\xbf\xde\xa1" , "\x51\x67\xc9\xf6" } , { "\xbf\xde\xa2" , "\x51\xc9\xf6\x65" } , { "\xbf\xdf" , "\x51\xca\xf6" } , { "\xbf\xe1" , "\xe6\x51\xf6" } , { "\xbf\xe1\xa2" , "\xe6\x51\xf6\x65" } , { "\xbf\xe2" , "\xe9\x51\xf6" } , { "\xbf\xe2\xa2" , "\xe9\x51\xf6\x65" } , { "\xbf\xe2\xa3" , "\xe9\x51\xf6\x66" } , { "\xbf\xe5" , "\xe6\x51\xf6\xe7" } , { "\xbf\xe5\xa2" , "\xe6\x51\xf6\xe7\x65" } , { "\xbf\xe6" , "\xe6\x51\xf6\xec" } , { "\xbf\xe6\xa2" , "\xe6\x51\xf6\xec\x65" } , { "\xbf\xe8" , "\x51\xcb\xf6" } , { "\xbf\xe8\xb3" , "\xaf\x45\xf5" } , { "\xbf\xe8\xb3\xa2" , "\xaf\x45\xf5\x65" } , { "\xbf\xe8\xb3\xda" , "\xaf\x45\xf5\xe7" } , { "\xbf\xe8\xb3\xdb" , "\xd7\xaf\x45\xf5" } , { "\xbf\xe8\xb3\xdc" , "\xaf\x45\xf5\xdd" } , { "\xbf\xe8\xb3\xdd" , "\xaf\x45\xc7\xf5" } , { "\xbf\xe8\xb3\xde" , "\xaf\x45\xc9\xf5" } , { "\xbf\xe8\xb3\xe1" , "\xe6\xaf\x45\xf5" } , { "\xbf\xe8\xb3\xe5" , "\xe6\xaf\x45\xf5\xe7" } , { "\xbf\xe8\xb3\xe8\xb5\xda" , "\x51\xcb\xf6\xa8\x47\xe7" } , { "\xbf\xe8\xb3\xe8\xcf\xda" , "\xaf\x79\xd4\xe7" } , { "\xbf\xe8\xb3\xe8\xd1\xe5" , "\xe6\xaf\x7a\xf5\xe7" } , { "\xbf\xe8\xb4" , "\xaf\x46" } , { "\xbf\xe8\xb5" , "\xaf\x47" } , { "\xbf\xe8\xb5\xa2" , "\xaf\x47\x65" } , { "\xbf\xe8\xb5\xda" , "\xaf\x47\xe7" } , { "\xbf\xe8\xb5\xdb" , "\xd7\xaf\x47" } , { "\xbf\xe8\xb5\xdd" , "\xaf\x47\xc7" } , { "\xbf\xe8\xb5\xde" , "\xaf\x47\xc9" } , { "\xbf\xe8\xb5\xe1" , "\xe6\xaf\x47" } , { "\xbf\xe8\xb5\xe5\xa2" , "\xe6\xaf\x47\xe7\x65" } , { "\xbf\xe8\xb5\xe8\xcf\xda" , "\xaf\x47\xd0\xe7" } , { "\xbf\xe8\xb5\xe8\xd1\xda" , "\xaf\x47\xc0\xe7" } , { "\xbf\xe8\xb5\xe8\xd1\xe2" , "\xe8\xaf\x47\xc0" } , { "\xbf\xe8\xb6" , "\xaf\x48" } , { "\xbf\xe8\xb8" , "\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xda" , "\xaf\x4a\xf4\xe7" } , { "\xbf\xe8\xb8\xda\xa2" , "\xaf\x4a\xf4\xe7\x65" } , { "\xbf\xe8\xb8\xdb" , "\xd7\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xdb\xa2" , "\xd7\xaf\x4a\xf4\x65" } , { "\xbf\xe8\xb8\xdc" , "\xaf\x4a\xf4\xdd" } , { "\xbf\xe8\xb8\xdd" , "\xaf\x4a\xc7\xf4" } , { "\xbf\xe8\xb8\xe1" , "\xe6\xaf\x4a\xf4" } , { "\xbf\xe8\xb8\xe1\xa2" , "\xe6\xaf\x4a\xf4\x65" } , { "\xbf\xe8\xb9\xda\xa2" , "\xaf\x4b\xf7\xe7\x65" } , { "\xbf\xe8\xba" , "\xaf\x4c" } , { "\xbf\xe8\xba\xa2" , "\xaf\x4c\x65" } , { "\xbf\xe8\xba\xda" , "\xaf\x4c\xe7" } , { "\xbf\xe8\xba\xdb" , "\xd7\xaf\x4c" } , { "\xbf\xe8\xba\xdb\xa2" , "\xd7\xaf\x4c\x65" } , { "\xbf\xe8\xba\xdc" , "\xaf\x4c\xdd" } , { "\xbf\xe8\xba\xdd" , "\xaf\x4c\xc7" } , { "\xbf\xe8\xba\xe1" , "\xe6\xaf\x4c" } , { "\xbf\xe8\xba\xe2" , "\xe9\xaf\x4c" } , { "\xbf\xe8\xba\xe5" , "\xe6\xaf\x4c\xe7" } , { "\xbf\xe8\xba\xe8" , "\xaf\x4c\xcb" } , { "\xbf\xe8\xba\xe8\xb3\xdb" , "\x51\xcb\xf6\x4c\xcb\xd7\x45\xf5" } , { "\xbf\xe8\xba\xe8\xb5\xda" , "\x51\xcb\xf6\x4c\xcb\x47\xe7" } , { "\xbf\xe8\xba\xe8\xc6\xdb" , "\xd7\xaf\x4c\xcb\x58" } , { "\xbf\xe8\xba\xe8\xc6\xdd" , "\xaf\x4c\xcb\x58\xc7" } , { "\xbf\xe8\xba\xe8\xc6\xe8" , "\xaf\x4c\xcb\x58\xcb" } , { "\xbf\xe8\xba\xe8\xcd" , "\x51\xcb\xf6\x4c\xcb\xcc\x5e" } , { "\xbf\xe8\xba\xe8\xcd\xda" , "\x51\xcb\xf6\x4c\xcb\xcc\x5e\xe7" } , { "\xbf\xe8\xba\xe8\xcd\xde" , "\x51\xcb\xf6\x4c\xcb\xcc\x5e\xc9" } , { "\xbf\xe8\xba\xe8\xd1\xe5" , "\xe6\xaf\x4c\xcb\x5f\xe7" } , { "\xbf\xe8\xba\xe9" , "\xaf\x4c" } , { "\xbf\xe8\xbc" , "\xaf\x41\xd5" } , { "\xbf\xe8\xbd" , "\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xa2" , "\xaf\x4f\xf4\x65" } , { "\xbf\xe8\xbd\xda\xa2" , "\xaf\x4f\xf4\xe7\x65" } , { "\xbf\xe8\xbd\xdb" , "\xd7\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xdd" , "\xaf\x4f\xc7\xf4" } , { "\xbf\xe8\xbd\xe1" , "\xe6\xaf\x4f\xf4" } , { "\xbf\xe8\xbd\xe8" , "\xaf\x4f\xcb\xf4" } , { "\xbf\xe8\xbd\xe8\xcf\xa2" , "\xaf\xae\xcf\xf4\x65" } , { "\xbf\xe8\xbd\xe8\xcf\xda" , "\xaf\xae\xcf\xf4\xe7" } , { "\xbf\xe8\xbd\xe8\xcf\xe2" , "\xe8\xaf\xae\xcf\xf4" } , { "\xbf\xe8\xbd\xe8\xd7" , "\x51\xcb\xf6\xae\x61" } , { "\xbf\xe8\xbf" , "\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xa2" , "\xaf\x51\xf6\x65" } , { "\xbf\xe8\xbf\xa3" , "\xaf\x51\xf6\x66" } , { "\xbf\xe8\xbf\xda" , "\xaf\x51\xf6\xe7" } , { "\xbf\xe8\xbf\xda\xa2" , "\xaf\x51\xf6\xe7\x65" } , { "\xbf\xe8\xbf\xdb" , "\xd7\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xdb\xa2" , "\xd7\xaf\x51\xf6\x65" } , { "\xbf\xe8\xbf\xdc" , "\xaf\x51\xf6\xdd" } , { "\xbf\xe8\xbf\xdd" , "\xaf\x51\xc7\xf6" } , { "\xbf\xe8\xbf\xdd\xa2" , "\xaf\x51\xc7\xf6\x65" } , { "\xbf\xe8\xbf\xde" , "\xaf\x51\xc9\xf6" } , { "\xbf\xe8\xbf\xe1" , "\xe6\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe2" , "\xe9\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe5" , "\xe6\xaf\x51\xf6\xe7" } , { "\xbf\xe8\xbf\xe5\xa2" , "\xe6\xaf\x51\xf6\xe7\x65" } , { "\xbf\xe8\xbf\xe8" , "\xaf\x51\xcb\xf6" } , { "\xbf\xe8\xbf\xe8\xb3\xdd" , "\x51\xcb\xf6\xaf\x45\xc7\xf5" } , { "\xbf\xe8\xbf\xe8\xbf\xdb" , "\x51\xcb\xf6\xd7\xaf\x51\xf6" } , { "\xbf\xe8\xbf\xe8\xd1\xdd" , "\xaf\xaf\xf2\xc7\xf6" } , { "\xbf\xe8\xbf\xe9\xdc" , "\xaf\x51\xcd\xf6\xdd" } , { "\xbf\xe8\xbf\xe9\xe5\xa2" , "\xe6\xaf\x51\xcd\xf6\xe7\x65" } , { "\xbf\xe8\xc0" , "\xaf\x52\xf4" } , { "\xbf\xe8\xc0\xa2" , "\xaf\x52\xf4\x65" } , { "\xbf\xe8\xc0\xda" , "\xaf\x52\xf4\xe7" } , { "\xbf\xe8\xc0\xdc" , "\xaf\x52\xf4\xdd" } , { "\xbf\xe8\xc0\xdd" , "\xaf\x52\xc7\xf4" } , { "\xbf\xe8\xc0\xe1" , "\xe6\xaf\x52\xf4" } , { "\xbf\xe8\xc0\xe5\xa2" , "\xe6\xaf\x52\xf4\xe7\x65" } , { "\xbf\xe8\xc0\xe9\xda" , "\xaf\x52\xcd\xf4\xe7" } , { "\xbf\xe8\xc0\xe9\xe1" , "\xe6\xaf\x52\xcd\xf4" } , { "\xbf\xe8\xc0\xe9\xe5\xa2" , "\xe6\xaf\x52\xcd\xf4\xe7\x65" } , { "\xbf\xe8\xc1" , "\xaf\x53" } , { "\xbf\xe8\xc2" , "\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xa2" , "\xaf\x54\xf6\x65" } , { "\xbf\xe8\xc2\xda" , "\xaf\x54\xf6\xe7" } , { "\xbf\xe8\xc2\xdb" , "\xd7\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xdd" , "\xaf\x54\xc7\xf6" } , { "\xbf\xe8\xc2\xdd\xa2" , "\xaf\x54\xc7\xf6\x65" } , { "\xbf\xe8\xc2\xde" , "\xaf\x54\xc9\xf6" } , { "\xbf\xe8\xc2\xde\xa2" , "\xaf\x54\xc9\xf6\x65" } , { "\xbf\xe8\xc2\xe1" , "\xe6\xaf\x54\xf6" } , { "\xbf\xe8\xc2\xe5" , "\xe6\xaf\x54\xf6\xe7" } , { "\xbf\xe8\xc2\xe5\xa2" , "\xe6\xaf\x54\xf6\xe7\x65" } , { "\xbf\xe8\xc2\xe8\xcf\xe2" , "\xe8\xaf\x79" } , { "\xbf\xe8\xc4\xda" , "\xaf\x56\xe7" } , { "\xbf\xe8\xc4\xdb" , "\xd7\xaf\x56" } , { "\xbf\xe8\xc4\xdd" , "\xaf\x56\xc7" } , { "\xbf\xe8\xc5" , "\xaf\x57\xfd" } , { "\xbf\xe8\xc6" , "\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xa2" , "\xaf\xf3\xf6\x65" } , { "\xbf\xe8\xc6\xda" , "\xaf\xf3\xf6\xe7" } , { "\xbf\xe8\xc6\xdb" , "\xd7\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xdb\xa2" , "\xd7\xaf\xf3\xf6\x65" } , { "\xbf\xe8\xc6\xdc" , "\xaf\xf3\xf6\xdd" } , { "\xbf\xe8\xc6\xdd" , "\xaf\xf3\xc7\xf6" } , { "\xbf\xe8\xc6\xdd\xa2" , "\xaf\xf3\xc7\xf6\x65" } , { "\xbf\xe8\xc6\xe1" , "\xe6\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xe2" , "\xe8\xaf\xf3\xf6" } , { "\xbf\xe8\xc6\xe5" , "\xe6\xaf\xf3\xf6\xe7" } , { "\xbf\xe8\xc6\xe6" , "\xe6\xaf\xf3\xf6\xec" } , { "\xbf\xe8\xc6\xe8\xc2\xa2" , "\xaf\xdc\x99\xf6\x65" } , { "\xbf\xe8\xc8" , "\xaf\x59" } , { "\xbf\xe8\xc8\xa2" , "\xaf\x59\x65" } , { "\xbf\xe8\xc8\xda" , "\xaf\x59\xe7" } , { "\xbf\xe8\xc8\xdb\xa2" , "\xd7\xaf\x59\x65" } , { "\xbf\xe8\xc8\xdd" , "\xaf\x59\xc7" } , { "\xbf\xe8\xc8\xde" , "\xaf\x59\xc9" } , { "\xbf\xe8\xc8\xe2" , "\xe9\xaf\x59" } , { "\xbf\xe8\xc8\xe5" , "\xe6\xaf\x59\xe7" } , { "\xbf\xe8\xc8\xe8\xcf" , "\xaf\x59\xd2" } , { "\xbf\xe8\xc8\xe8\xcf\xdb" , "\xd7\xaf\x59\xd2" } , { "\xbf\xe8\xc8\xe8\xcf\xde" , "\xaf\x59\xd2\xd6" } , { "\xbf\xe8\xc8\xe8\xd1\xda" , "\xaf\x59\xc0\xe7" } , { "\xbf\xe8\xc8\xe8\xd1\xe1" , "\xe6\xaf\x59\xc0" } , { "\xbf\xe8\xc8\xe8\xd1\xe5" , "\xe6\xaf\x59\xc0\xe7" } , { "\xbf\xe8\xc9\xda" , "\xaf\x5a\xf5\xe7" } , { "\xbf\xe8\xc9\xdb" , "\xd7\xaf\x5a\xf5" } , { "\xbf\xe8\xc9\xdc" , "\xaf\x5a\xf5\xdd" } , { "\xbf\xe8\xc9\xdd" , "\xaf\x5a\xc7\xf5" } , { "\xbf\xe8\xc9\xe2" , "\xe9\xaf\x5a\xf5" } , { "\xbf\xe8\xc9\xe5" , "\xe6\xaf\x5a\xf5\xe7" } , { "\xbf\xe8\xc9\xe8\xcf\xdc" , "\xaf\x5a\xd0\xf5\xdd" } , { "\xbf\xe8\xc9\xe8\xd1\xe5" , "\xe6\xaf\x6e\xf5\xe7" } , { "\xbf\xe8\xca" , "\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xa2" , "\xaf\xbc\xf6\x65" } , { "\xbf\xe8\xca\xda" , "\xaf\xbc\xf6\xe7" } , { "\xbf\xe8\xca\xdb" , "\xd7\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xdc" , "\xaf\xbc\xf6\xdd" } , { "\xbf\xe8\xca\xdd" , "\xaf\xbc\xc7\xf6" } , { "\xbf\xe8\xca\xe2" , "\xe9\xaf\xbc\xf6" } , { "\xbf\xe8\xca\xe5" , "\xe6\xaf\xbc\xf6\xe7" } , { "\xbf\xe8\xca\xe8\xca\xdc" , "\xaf\x5b\x5b\xfd\xdd" } , { "\xbf\xe8\xca\xe8\xcd\xda" , "\x51\xcb\xf6\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xbf\xe8\xca\xe8\xcf" , "\xaf\x5b\xfd\xd0" } , { "\xbf\xe8\xca\xe8\xd1\xe8\xcd\xde" , "\xaf\x5b\xfd\xcb\xb7\xcc\x5e\xc9" } , { "\xbf\xe8\xcb\xda" , "\xaf\x5c\xf6\xe7" } , { "\xbf\xe8\xcb\xdd" , "\xaf\x5c\xc7\xf6" } , { "\xbf\xe8\xcc" , "\xaf\xc1" } , { "\xbf\xe8\xcc\xa2" , "\xaf\xc1\x65" } , { "\xbf\xe8\xcc\xda" , "\xaf\xc1\xe7" } , { "\xbf\xe8\xcc\xdb" , "\xd7\xaf\xc1" } , { "\xbf\xe8\xcc\xdb\xa2" , "\xd7\xaf\xc1\x65" } , { "\xbf\xe8\xcc\xdc" , "\xaf\xc1\xdd" } , { "\xbf\xe8\xcc\xdd" , "\xaf\xc1\xc7" } , { "\xbf\xe8\xcc\xe5" , "\xe6\xaf\xc1\xe7" } , { "\xbf\xe8\xcd" , "\x51\xfd\xee" } , { "\xbf\xe8\xcd\xa2" , "\x51\xfd\xee\x65" } , { "\xbf\xe8\xcd\xda" , "\x51\xfd\xee\xe7" } , { "\xbf\xe8\xcd\xda\xa2" , "\x51\xfd\xee\xe7\x65" } , { "\xbf\xe8\xcd\xdb" , "\xd7\x51\xfd\xee" } , { "\xbf\xe8\xcd\xdd" , "\x51\xc7\xfd\xee" } , { "\xbf\xe8\xcd\xdd\xa2" , "\x51\xc7\xfd\xee\x65" } , { "\xbf\xe8\xcd\xde" , "\x51\xc9\xfd\xee" } , { "\xbf\xe8\xcd\xdf" , "\x51\xca\xfd\xee" } , { "\xbf\xe8\xcd\xe1" , "\xe6\x51\xfd\xee" } , { "\xbf\xe8\xcd\xe2" , "\xe9\x51\xfd\xee" } , { "\xbf\xe8\xcd\xe5" , "\xe6\x51\xfd\xee\xe7" } , { "\xbf\xe8\xcd\xe5\xa2" , "\xe6\x51\xfd\xee\xe7\x65" } , { "\xbf\xe8\xcd\xe6" , "\xe6\x51\xfd\xee\xec" } , { "\xbf\xe8\xcd\xe8" , "\x51\xfd\xee\xcb" } , { "\xbf\xe8\xcf" , "\x51\xce\xf6" } , { "\xbf\xe8\xcf\xa2" , "\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xda" , "\x51\xce\xf6\xe7" } , { "\xbf\xe8\xcf\xda\xa2" , "\x51\xce\xf6\xe7\x65" } , { "\xbf\xe8\xcf\xdb" , "\xd7\x51\xce\xf6" } , { "\xbf\xe8\xcf\xdb\xa2" , "\xd7\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xdc" , "\x51\xce\xf6\xdd" } , { "\xbf\xe8\xcf\xdc\xa2" , "\x51\xce\xf6\xdd\x65" } , { "\xbf\xe8\xcf\xdd" , "\x51\xce\xc7\xf6" } , { "\xbf\xe8\xcf\xdd\xa2" , "\x51\xce\xc7\xf6\x65" } , { "\xbf\xe8\xcf\xde" , "\x51\xce\xc9\xf6" } , { "\xbf\xe8\xcf\xde\xa2" , "\x51\xce\xc9\xf6\x65" } , { "\xbf\xe8\xcf\xe1" , "\xe6\x51\xce\xf6" } , { "\xbf\xe8\xcf\xe1\xa2" , "\xe6\x51\xce\xf6\x65" } , { "\xbf\xe8\xcf\xe2" , "\xe8\x51\xce\xf6" } , { "\xbf\xe8\xcf\xe5" , "\xe6\x51\xce\xf6\xe7" } , { "\xbf\xe8\xcf\xe6" , "\xe6\x51\xce\xf6\xec" } , { "\xbf\xe8\xcf\xe8\xca" , "\xaf\xcc\x5b\xfd\x9d" } , { "\xbf\xe8\xcf\xe8\xcd\xda" , "\x51\xcb\xf6\xcc\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xbf\xe8\xd1" , "\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xa2" , "\xaf\xf2\xf6\x65" } , { "\xbf\xe8\xd1\xda" , "\xaf\xf2\xf6\xe7" } , { "\xbf\xe8\xd1\xda\xa2" , "\xaf\xf2\xf6\xe7\x65" } , { "\xbf\xe8\xd1\xdb" , "\xd7\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xdb\xa2" , "\xd7\xaf\xf2\xf6\x65" } , { "\xbf\xe8\xd1\xdc" , "\xaf\xf2\xf6\xdd" } , { "\xbf\xe8\xd1\xdd" , "\xaf\xf2\xc7\xf6" } , { "\xbf\xe8\xd1\xdd\xa2" , "\xaf\xf2\xc7\xf6\x65" } , { "\xbf\xe8\xd1\xde" , "\xaf\xf2\xc9\xf6" } , { "\xbf\xe8\xd1\xe1" , "\xe6\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xe2" , "\xe8\xaf\xf2\xf6" } , { "\xbf\xe8\xd1\xe5" , "\xe6\xaf\xf2\xf6\xe7" } , { "\xbf\xe8\xd1\xe8" , "\xaf\xf2\xcb\xf6" } , { "\xbf\xe8\xd1\xe8\xd1\xe5" , "\xe6\xaf\x7b\xe7" } , { "\xbf\xe8\xd5" , "\xaf\x60" } , { "\xbf\xe8\xd5\xda" , "\xaf\x60\xe7" } , { "\xbf\xe8\xd6" , "\xaf\x62" } , { "\xbf\xe8\xd6\xdb" , "\xd7\xaf\x62" } , { "\xbf\xe8\xd6\xdc" , "\xaf\x62\xdd" } , { "\xbf\xe8\xd6\xe5" , "\xe6\xaf\x62\xe7" } , { "\xbf\xe8\xd7" , "\xaf\x61" } , { "\xbf\xe8\xd7\xa2" , "\xaf\x61\x65" } , { "\xbf\xe8\xd7\xda" , "\xaf\x61\xe7" } , { "\xbf\xe8\xd7\xdb" , "\xd7\xaf\x61" } , { "\xbf\xe8\xd7\xdc" , "\xaf\x61\xdd" } , { "\xbf\xe8\xd7\xdd" , "\xaf\x61\xc7" } , { "\xbf\xe8\xd7\xde" , "\xaf\x61\xc9" } , { "\xbf\xe8\xd7\xe1" , "\xe6\xaf\x61" } , { "\xbf\xe8\xd7\xe8" , "\xaf\x61\xcb" } , { "\xbf\xe8\xd7\xe8\xb3" , "\xaf\x95\xf5" } , { "\xbf\xe8\xd7\xe8\xb3\xda" , "\xaf\x95\xf5\xe7" } , { "\xbf\xe8\xd7\xe8\xb3\xdb" , "\xd7\xaf\x95\xf5" } , { "\xbf\xe8\xd7\xe8\xb3\xdd" , "\xaf\x95\xc7\xf5" } , { "\xbf\xe8\xd7\xe8\xb3\xe1" , "\xe6\xaf\x95\xf5" } , { "\xbf\xe8\xd7\xe8\xbd\xe1" , "\x51\xcb\xf6\xe6\xba\x4f\xf4" } , { "\xbf\xe8\xd7\xe8\xbf\xdb" , "\x51\xcb\xf6\xd7\xba\x51\xf6" } , { "\xbf\xe8\xd7\xe8\xc2\xe5" , "\xe6\xaf\xd8\x99\xf6\xe7" } , { "\xbf\xe8\xd7\xe8\xc6\xdb" , "\xd7\xaf\xd8\x6f\xf6" } , { "\xbf\xe8\xd7\xe8\xc6\xdd" , "\xaf\xd8\x6f\xf6\xc7" } , { "\xbf\xe8\xd7\xe8\xc8\xda" , "\xaf\x26\xe7" } , { "\xbf\xe8\xd7\xe8\xc8\xdc" , "\xaf\x26\xdd" } , { "\xbf\xe8\xd7\xe8\xca\xa2" , "\xaf\xd8\x91\xf6\x65" } , { "\xbf\xe8\xd7\xe8\xcc\xdb" , "\xd7\xaf\xd8\xf6\x82" } , { "\xbf\xe8\xd7\xe8\xd1\xe5" , "\xe6\xaf\xd8\xda\xf6\xe7" } , { "\xbf\xe8\xd8\xda" , "\xaf\x63\xf7\xe7" } , { "\xbf\xe8\xd8\xda\xa2" , "\xaf\x63\xf7\xe7\x65" } , { "\xbf\xe8\xd8\xdb" , "\xd7\xaf\x63\xf7" } , { "\xbf\xe8\xd8\xe2" , "\xe9\xaf\x63\xf7" } , { "\xbf\xe8\xd8\xe5" , "\xe6\xaf\x63\xf7\xe7" } , { "\xbf\xe8\xd9\xa7" , "\xaf\x3c" } , { "\xbf\xe8\xd9\xcd\xde" , "\xaf\xcc\x5e\xc9" } , { "\xbf\xe8\xd9\xcf" , "\xaf\xcc\x5b\xfd" } , { "\xbf\xe8\xe8" , "\x51\xcb\xf6" } , { "\xbf\xe9" , "\x51\xcd\xf6" } , { "\xbf\xe9\xa1" , "\x51\xcd\x67\xf6" } , { "\xbf\xe9\xa2" , "\x51\xcd\xf6\x65" } , { "\xbf\xe9\xc2\xda" , "\x51\xcd\xf6\x54\xf6\xe7" } , { "\xbf\xe9\xc2\xdc" , "\x51\xcd\xf6\x54\xf6\xdd" } , { "\xbf\xe9\xda" , "\x51\xcd\xf6\xe7" } , { "\xbf\xe9\xda\xa1" , "\x51\xcd\x67\xf6\xe7" } , { "\xbf\xe9\xda\xa2" , "\x51\xcd\xf6\xe7\x65" } , { "\xbf\xe9\xdb" , "\xd7\x51\xcd\xf6" } , { "\xbf\xe9\xdc" , "\x51\xcd\xf6\xdd" } , { "\xbf\xe9\xdc\xa2" , "\x51\xcd\xf6\xdd\x65" } , { "\xbf\xe9\xdd" , "\x51\xcd\xc6\xf6" } , { "\xbf\xe9\xde" , "\x51\xcd\xc8\xf6" } , { "\xbf\xe9\xde\xa1" , "\x51\xcd\x67\xc8\xf6" } , { "\xbf\xe9\xde\xa2" , "\x51\xcd\xc8\xf6\x65" } , { "\xbf\xe9\xe1" , "\xe6\x51\xcd\xf6" } , { "\xbf\xe9\xe1\xa2" , "\xe6\x51\xcd\xf6\x65" } , { "\xbf\xe9\xe2" , "\xe8\x51\xcd\xf6" } , { "\xbf\xe9\xe2\xa2" , "\xe8\x51\xcd\xf6\x65" } , { "\xbf\xe9\xe5" , "\xe6\x51\xcd\xf6\xe7" } , { "\xbf\xe9\xe5\xa2" , "\xe6\x51\xcd\xf6\xe7\x65" } , { "\xbf\xe9\xe6" , "\xe6\x51\xcd\xf6\xec" } , { "\xbf\xe9\xe6\xa2" , "\xe6\x51\xcd\xf6\xec\x65" } , { "\xbf\xe9\xe8" , "\x51\xcd\xcb\xf6" } , { "\xbf\xe9\xe8\xb3" , "\x51\xcd\xcb\xf6\x45\xf5" } , { "\xbf\xe9\xe8\xb3\xda" , "\x51\xcd\xcb\xf6\x45\xf5\xe7" } , { "\xbf\xe9\xe8\xb5" , "\x51\xcd\x47" } , { "\xbf\xe9\xe8\xb5\xda" , "\x51\xcd\x47\xe7" } , { "\xbf\xe9\xe8\xbf\xda" , "\x51\xcd\xcb\xf6\x51\xf6\xe7" } , { "\xbf\xe9\xe8\xbf\xdb" , "\x51\xcd\xcb\xf6\xd7\x51\xf6" } , { "\xbf\xe9\xe8\xbf\xdc" , "\x51\xcd\xcb\xf6\x51\xf6\xdd" } , { "\xbf\xe9\xe8\xbf\xe1" , "\x51\xcd\xcb\xf6\xe6\x51\xf6" } , { "\xbf\xe9\xe8\xc0\xe9\xe1" , "\x51\xcd\xcb\xf6\xe6\xbb\x52\xcd\xf4" } , { "\xbf\xe9\xe8\xc2\xdd" , "\x51\xcd\xcb\xf6\x54\xc6\xf6" } , { "\xbf\xe9\xe8\xcc" , "\xaf\xf6\xc1" } , { "\xc0" , "\xbb\x52\xf4" } , { "\xc0\xa1" , "\xbb\x52\x67\xf4" } , { "\xc0\xa2" , "\xbb\x52\xf4\x65" } , { "\xc0\xa3" , "\xbb\x52\xf4\x66" } , { "\xc0\xda" , "\xbb\x52\xf4\xe7" } , { "\xc0\xda\xa1" , "\xbb\x52\x67\xf4\xe7" } , { "\xc0\xda\xa2" , "\xbb\x52\xf4\xe7\x65" } , { "\xc0\xdb" , "\xd7\xbb\x52\xf4" } , { "\xc0\xdb\xa2" , "\xd7\xbb\x52\xf4\x65" } , { "\xc0\xdc" , "\xbb\x52\xf4\xdd" } , { "\xc0\xdc\xa2" , "\xbb\x52\xf4\xdd\x65" } , { "\xc0\xdd" , "\xbb\x52\xc7\xf4" } , { "\xc0\xdd\xa1" , "\xbb\x52\x67\xc7\xf4" } , { "\xc0\xdd\xa2" , "\xbb\x52\xc7\xf4\x65" } , { "\xc0\xde" , "\xbb\x52\xc9\xf4" } , { "\xc0\xde\xa1" , "\xbb\x52\x67\xc9\xf4" } , { "\xc0\xde\xa2" , "\xbb\x52\xc9\xf4\x65" } , { "\xc0\xdf" , "\xbb\x52\xca\xf4" } , { "\xc0\xe1" , "\xe6\xbb\x52\xf4" } , { "\xc0\xe1\xa2" , "\xe6\xbb\x52\xf4\x65" } , { "\xc0\xe2" , "\xe8\xbb\x52\xf4" } , { "\xc0\xe2\xa3" , "\xe8\xbb\x52\xf4\x66" } , { "\xc0\xe5" , "\xe6\xbb\x52\xf4\xe7" } , { "\xc0\xe5\xa2" , "\xe6\xbb\x52\xf4\xe7\x65" } , { "\xc0\xe6" , "\xe6\xbb\x52\xf4\xec" } , { "\xc0\xe6\xa2" , "\xe6\xbb\x52\xf4\xec\x65" } , { "\xc0\xe8" , "\xbb\x52\xcb\xf4" } , { "\xc0\xe8\xbf\xe1" , "\x52\xcb\xf4\xe6\x51\xf6" } , { "\xc0\xe8\xc0\xda" , "\x52\xcb\xf4\xbb\x52\xf4\xe7" } , { "\xc0\xe8\xc0\xdc" , "\x52\xcb\xf4\xbb\x52\xf4\xdd" } , { "\xc0\xe8\xc0\xe1" , "\x52\xcb\xf4\xe6\xbb\x52\xf4" } , { "\xc0\xe8\xc0\xe9" , "\x52\xcb\xf4\xbb\x52\xcd\xf4" } , { "\xc0\xe8\xc0\xe9\xda" , "\x52\xcb\xf4\xbb\x52\xcd\xf4\xe7" } , { "\xc0\xe8\xc0\xe9\xe1" , "\x52\xcb\xf4\xe6\xbb\x52\xcd\xf4" } , { "\xc0\xe8\xc0\xe9\xe5\xa2" , "\x52\xcb\xf4\xe6\xbb\x52\xcd\xf4\xe7\x65" } , { "\xc0\xe8\xc9\xe5" , "\x52\xcb\xf4\xe6\x5a\xf5\xe7" } , { "\xc0\xe8\xcd" , "\x52\xfd\xee" } , { "\xc0\xe8\xcd\xa2" , "\x52\xfd\xee\x65" } , { "\xc0\xe8\xcd\xda" , "\x52\xfd\xee\xe7" } , { "\xc0\xe8\xcd\xdb" , "\xd7\x52\xfd\xee" } , { "\xc0\xe8\xcd\xdd" , "\x52\xc7\xfd\xee" } , { "\xc0\xe8\xcd\xde" , "\x52\xc9\xfd\xee" } , { "\xc0\xe8\xcd\xdf" , "\x52\xca\xfd\xee" } , { "\xc0\xe8\xcd\xe1" , "\xe6\x52\xfd\xee" } , { "\xc0\xe8\xcd\xe2" , "\xe9\x52\xfd\xee" } , { "\xc0\xe8\xcd\xe5" , "\xe6\x52\xfd\xee\xe7" } , { "\xc0\xe8\xcd\xe5\xa2" , "\xe6\x52\xfd\xee\xe7\x65" } , { "\xc0\xe8\xcd\xe6" , "\xe6\x52\xfd\xee\xec" } , { "\xc0\xe8\xcd\xe8" , "\x52\xfd\xee\xcb" } , { "\xc0\xe8\xcf" , "\x52\xce\xf4" } , { "\xc0\xe8\xcf\xa2" , "\x52\xce\xf4\x65" } , { "\xc0\xe8\xcf\xda" , "\x52\xce\xf4\xe7" } , { "\xc0\xe8\xcf\xdc" , "\x52\xce\xf4\xdd" } , { "\xc0\xe8\xd1\xe5" , "\xe6\x52\xcb\xf4\x5f\xe7" } , { "\xc0\xe8\xe8" , "\xbb\x52\xcb\xf4" } , { "\xc0\xe9" , "\xbb\x52\xcd\xf4" } , { "\xc0\xe9\xa1" , "\xbb\x52\xcd\x67\xf4" } , { "\xc0\xe9\xa2" , "\xbb\x52\xcd\xf4\x65" } , { "\xc0\xe9\xc2\xdc" , "\xbb\x52\xcd\xf4\x54\xf6\xdd" } , { "\xc0\xe9\xc6\xe1" , "\xbb\x52\xcd\xf4\xe3\x58" } , { "\xc0\xe9\xda" , "\xbb\x52\xcd\xf4\xe7" } , { "\xc0\xe9\xda\xa1" , "\xbb\x52\xcd\x67\xf4\xe7" } , { "\xc0\xe9\xda\xa2" , "\xbb\x52\xcd\xf4\xe7\x65" } , { "\xc0\xe9\xdb" , "\xd7\xbb\x52\xcd\xf4" } , { "\xc0\xe9\xdb\xa2" , "\xd7\xbb\x52\xcd\xf4\x65" } , { "\xc0\xe9\xdc" , "\xbb\x52\xcd\xf4\xdd" } , { "\xc0\xe9\xdc\xa2" , "\xbb\x52\xcd\xf4\xdd\x65" } , { "\xc0\xe9\xdd" , "\xbb\x52\xcd\xc6\xf4" } , { "\xc0\xe9\xde" , "\xbb\x52\xcd\xc8\xf4" } , { "\xc0\xe9\xde\xa1" , "\xbb\x52\xcd\x67\xc8\xf4" } , { "\xc0\xe9\xde\xa2" , "\xbb\x52\xcd\xc8\xf4\x65" } , { "\xc0\xe9\xe1" , "\xe6\xbb\x52\xcd\xf4" } , { "\xc0\xe9\xe1\xa2" , "\xe6\xbb\x52\xcd\xf4\x65" } , { "\xc0\xe9\xe2" , "\xe8\xbb\x52\xcd\xf4" } , { "\xc0\xe9\xe5" , "\xe6\xbb\x52\xcd\xf4\xe7" } , { "\xc0\xe9\xe5\xa2" , "\xe6\xbb\x52\xcd\xf4\xe7\x65" } , { "\xc0\xe9\xe6" , "\xe6\xbb\x52\xcd\xf4\xec" } , { "\xc0\xe9\xe8\xcd" , "\x52\xcd\xcb\xf4\xcc\x5e" } , { "\xc1" , "\x53" } , { "\xc1\xa1" , "\x53\x67" } , { "\xc1\xa1\xa1" , "\x53\x67\x67" } , { "\xc1\xa2" , "\x53\x65" } , { "\xc1\xa3" , "\x53\x66" } , { "\xc1\xda" , "\x53\xe7" } , { "\xc1\xda\xa2" , "\x53\xe7\x65" } , { "\xc1\xda\xa3" , "\x53\xe7\x66" } , { "\xc1\xdb" , "\xd7\x53" } , { "\xc1\xdb\xa2" , "\xd7\x53\x65" } , { "\xc1\xdb\xa3" , "\xd7\x53\x66" } , { "\xc1\xdc" , "\x53\xdd" } , { "\xc1\xdc\xa2" , "\x53\xdd\x65" } , { "\xc1\xdd" , "\x53\xc7" } , { "\xc1\xdd\xa2" , "\x53\xc7\x65" } , { "\xc1\xde" , "\x53\xc9" } , { "\xc1\xde\xa2" , "\x53\xc9\x65" } , { "\xc1\xdf" , "\x53\xca" } , { "\xc1\xe1" , "\xe6\x53" } , { "\xc1\xe1\xa2" , "\xe6\x53\x65" } , { "\xc1\xe2" , "\xe9\x53" } , { "\xc1\xe2\xa2" , "\xe9\x53\x65" } , { "\xc1\xe2\xa3" , "\xe9\x53\x66" } , { "\xc1\xe5" , "\xe6\x53\xe7" } , { "\xc1\xe5\xa2" , "\xe6\x53\xe7\x65" } , { "\xc1\xe6" , "\xe6\x53\xec" } , { "\xc1\xe8" , "\x53\xcb" } , { "\xc1\xe8\xb3\xdd" , "\xb0\x45\xc7\xf5" } , { "\xc1\xe8\xb3\xe1" , "\xe6\xb0\x45\xf5" } , { "\xc1\xe8\xb5\xda" , "\xb0\x47\xe7" } , { "\xc1\xe8\xba\xda" , "\xb0\x4c\xe7" } , { "\xc1\xe8\xba\xe5\xa2" , "\xe6\xb0\x4c\xe7\x65" } , { "\xc1\xe8\xbd" , "\xb0\x4f\xf4" } , { "\xc1\xe8\xbd\xda" , "\xb0\x4f\xf4\xe7" } , { "\xc1\xe8\xbd\xdb" , "\xd7\xb0\x4f\xf4" } , { "\xc1\xe8\xbd\xdb\xa2" , "\xd7\xb0\x4f\xf4\x65" } , { "\xc1\xe8\xbd\xdc" , "\xb0\x4f\xf4\xdd" } , { "\xc1\xe8\xbd\xdd" , "\xb0\x4f\xc7\xf4" } , { "\xc1\xe8\xbd\xde" , "\xb0\x4f\xc9\xf4" } , { "\xc1\xe8\xbd\xe1" , "\xe6\xb0\x4f\xf4" } , { "\xc1\xe8\xbd\xe1\xa2" , "\xe6\xb0\x4f\xf4\x65" } , { "\xc1\xe8\xbd\xe5" , "\xe6\xb0\x4f\xf4\xe7" } , { "\xc1\xe8\xbd\xe5\xa2" , "\xe6\xb0\x4f\xf4\xe7\x65" } , { "\xc1\xe8\xbd\xe8\xcf" , "\xb0\xae\xcf\xf4" } , { "\xc1\xe8\xbd\xe8\xcf\xdc" , "\xb0\xae\xcf\xf4\xdd" } , { "\xc1\xe8\xbd\xe8\xcf\xe5" , "\xe6\xb0\xae\xcf\xf4\xe7" } , { "\xc1\xe8\xbd\xe8\xd7" , "\x53\xcb\xae\x61" } , { "\xc1\xe8\xbe" , "\xa2\xf6" } , { "\xc1\xe8\xbe\xa2" , "\xa2\xf6\x65" } , { "\xc1\xe8\xbe\xda" , "\xa2\xf6\xe7" } , { "\xc1\xe8\xbe\xdb" , "\xd7\xa2\xf6" } , { "\xc1\xe8\xbe\xdc" , "\xa2\xf6\xdd" } , { "\xc1\xe8\xbe\xe1" , "\xe5\xa2\xf6" } , { "\xc1\xe8\xbe\xe5" , "\xe5\xa2\xf6\xe7" } , { "\xc1\xe8\xbe\xe5\xa2" , "\xe5\xa2\xf6\xe7\x65" } , { "\xc1\xe8\xbf" , "\x89\xf8" } , { "\xc1\xe8\xbf\xa2" , "\x89\xf8\x65" } , { "\xc1\xe8\xbf\xda" , "\x89\xf8\xe7" } , { "\xc1\xe8\xbf\xda\xa2" , "\x89\xf8\xe7\x65" } , { "\xc1\xe8\xbf\xdb" , "\xd7\x89\xf8" } , { "\xc1\xe8\xbf\xdb\xa2" , "\xd7\x89\xf8\x65" } , { "\xc1\xe8\xbf\xdc" , "\x89\xf8\xdd" } , { "\xc1\xe8\xbf\xdd" , "\x89\xc7\xf8" } , { "\xc1\xe8\xbf\xde" , "\x89\xc9\xf8" } , { "\xc1\xe8\xbf\xe1" , "\xe5\x89\xf8" } , { "\xc1\xe8\xbf\xe1\xa2" , "\xe5\x89\xf8\x65" } , { "\xc1\xe8\xbf\xe2" , "\xe9\x89\xf8" } , { "\xc1\xe8\xbf\xe5" , "\xe5\x89\xf8\xe7" } , { "\xc1\xe8\xbf\xe5\xa2" , "\xe5\x89\xf8\xe7\x65" } , { "\xc1\xe8\xbf\xe6" , "\xe5\x89\xf8\xec" } , { "\xc1\xe8\xbf\xe8\xcd" , "\x53\xcb\xaf\xcc\x5e" } , { "\xc1\xe8\xbf\xe8\xcd\xda" , "\x53\xcb\xaf\xcc\x5e\xe7" } , { "\xc1\xe8\xbf\xe8\xcf" , "\x89\x98\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xda" , "\x89\x98\xf8\xe7" } , { "\xc1\xe8\xbf\xe8\xcf\xdb" , "\xd7\x89\x98\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xdc" , "\x89\x98\xf8\xdd" } , { "\xc1\xe8\xbf\xe8\xcf\xde" , "\x89\x98\xc8\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xe1" , "\xe5\x89\x98\xf8" } , { "\xc1\xe8\xbf\xe8\xcf\xe5" , "\xe5\x89\x98\xf8\xe7" } , { "\xc1\xe8\xbf\xe8\xd7" , "\x53\xcb\xaf\x61" } , { "\xc1\xe8\xbf\xe9" , "\xb0\x51\xcd\xf6" } , { "\xc1\xe8\xbf\xe9\xda" , "\xb0\x51\xcd\xf6\xe7" } , { "\xc1\xe8\xbf\xe9\xdc" , "\xb0\x51\xcd\xf6\xdd" } , { "\xc1\xe8\xbf\xe9\xe1" , "\xe6\xb0\x51\xcd\xf6" } , { "\xc1\xe8\xbf\xe9\xe5" , "\xe6\xb0\x51\xcd\xf6\xe7" } , { "\xc1\xe8\xbf\xe9\xe5\xa2" , "\xe6\xb0\x51\xcd\xf6\xe7\x65" } , { "\xc1\xe8\xc0" , "\xb0\x52\xf4" } , { "\xc1\xe8\xc0\xdb" , "\xd7\xb0\x52\xf4" } , { "\xc1\xe8\xc1" , "\x7c" } , { "\xc1\xe8\xc1\xa2" , "\x7c\x65" } , { "\xc1\xe8\xc1\xda" , "\x7c\xe7" } , { "\xc1\xe8\xc1\xda\xa2" , "\x7c\xe7\x65" } , { "\xc1\xe8\xc1\xdb" , "\xd7\x7c" } , { "\xc1\xe8\xc1\xdb\xa2" , "\xd7\x7c\x65" } , { "\xc1\xe8\xc1\xdc" , "\x7c\xdd" } , { "\xc1\xe8\xc1\xdc\xa2" , "\x7c\xdd\x65" } , { "\xc1\xe8\xc1\xdd" , "\x7c\xc7" } , { "\xc1\xe8\xc1\xdd\xa2" , "\x7c\xc7\x65" } , { "\xc1\xe8\xc1\xde" , "\x7c\xc9" } , { "\xc1\xe8\xc1\xe1" , "\xe6\x7c" } , { "\xc1\xe8\xc1\xe2" , "\xe8\x7c" } , { "\xc1\xe8\xc1\xe5" , "\xe6\x7c\xe7" } , { "\xc1\xe8\xc2\xdb" , "\xd7\xb0\x54\xf6" } , { "\xc1\xe8\xc2\xe5" , "\xe6\xb0\x54\xf6\xe7" } , { "\xc1\xe8\xc4\xdb" , "\xd7\xb0\x56" } , { "\xc1\xe8\xc4\xdd" , "\xb0\x56\xc7" } , { "\xc1\xe8\xc6" , "\x53\xc2" } , { "\xc1\xe8\xc6\xa2" , "\x53\xc2\x65" } , { "\xc1\xe8\xc6\xda" , "\x53\xc2\xe7" } , { "\xc1\xe8\xc6\xdb" , "\xd7\x53\xc2" } , { "\xc1\xe8\xc6\xdb\xa2" , "\xd7\x53\xc2\x65" } , { "\xc1\xe8\xc6\xdc" , "\x53\xc2\xdd" } , { "\xc1\xe8\xc6\xdd" , "\x53\xc2\xc7" } , { "\xc1\xe8\xc6\xdd\xa2" , "\x53\xc2\xc7\x65" } , { "\xc1\xe8\xc6\xe1" , "\xe6\x53\xc2" } , { "\xc1\xe8\xc6\xe1\xa2" , "\xe6\x53\xc2\x65" } , { "\xc1\xe8\xc6\xe5" , "\xe6\x53\xc2\xe7" } , { "\xc1\xe8\xc8" , "\xb0\x59" } , { "\xc1\xe8\xc8\xda" , "\xb0\x59\xe7" } , { "\xc1\xe8\xc8\xe8\xcf" , "\xb0\x59\xd2" } , { "\xc1\xe8\xca\xda" , "\x53\x9f\xe7" } , { "\xc1\xe8\xcc" , "\x53\xbd" } , { "\xc1\xe8\xcc\xda" , "\x53\xbd\xe7" } , { "\xc1\xe8\xcc\xdb" , "\xd7\x53\xbd" } , { "\xc1\xe8\xcc\xdc" , "\x53\xbd\xdd" } , { "\xc1\xe8\xcc\xdd" , "\x53\xbd\xc7" } , { "\xc1\xe8\xcc\xde" , "\x53\xbd\xc9" } , { "\xc1\xe8\xcc\xe1" , "\xe6\x53\xbd" } , { "\xc1\xe8\xcd" , "\x53\xee" } , { "\xc1\xe8\xcd\xa2" , "\x53\xee\x65" } , { "\xc1\xe8\xcd\xa2\xa2" , "\x53\xee\x65\x65" } , { "\xc1\xe8\xcd\xda" , "\x53\xee\xe7" } , { "\xc1\xe8\xcd\xda\xa2" , "\x53\xee\xe7\x65" } , { "\xc1\xe8\xcd\xdb" , "\xd7\x53\xee" } , { "\xc1\xe8\xcd\xdc" , "\x53\xee\xdd" } , { "\xc1\xe8\xcd\xdd" , "\x53\xc7\xee" } , { "\xc1\xe8\xcd\xde" , "\x53\xc9\xee" } , { "\xc1\xe8\xcd\xde\xa2" , "\x53\xc9\xee\x65" } , { "\xc1\xe8\xcd\xdf" , "\x53\xca\xee" } , { "\xc1\xe8\xcd\xe1" , "\xe6\x53\xee" } , { "\xc1\xe8\xcd\xe2" , "\xe9\x53\xee" } , { "\xc1\xe8\xcd\xe5" , "\xe6\x53\xee\xe7" } , { "\xc1\xe8\xcd\xe5\xa2" , "\xe6\x53\xee\xe7\x65" } , { "\xc1\xe8\xcd\xe6" , "\xe6\x53\xee\xec" } , { "\xc1\xe8\xcd\xe8" , "\x53\xee\xcb" } , { "\xc1\xe8\xcd\xe8\xcd" , "\x53\xee\xee" } , { "\xc1\xe8\xcf\xda" , "\x53\xd0\xe7" } , { "\xc1\xe8\xcf\xe8\xcd" , "\x53\xcb\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc1\xe8\xd1" , "\x53\xc0" } , { "\xc1\xe8\xd1\xda\xa2" , "\x53\xc0\xe7\x65" } , { "\xc1\xe8\xd1\xdd" , "\x53\xc0\xc7" } , { "\xc1\xe8\xd5\xe6" , "\xe6\xb0\x60\xec" } , { "\xc1\xe8\xd7\xdb\xa2" , "\xd7\xb0\x61\x65" } , { "\xc1\xe8\xd9\xbf\xdb" , "\xb0\xd7\x51\xf6" } , { "\xc1\xe8\xe8" , "\x53\xcb" } , { "\xc1\xe9" , "\x53" } , { "\xc1\xe9\xe8\xbf" , "\x89\xf8" } , { "\xc1\xe9\xe8\xbf\xda" , "\x89\xf8\xe7" } , { "\xc1\xe9\xe8\xbf\xdb" , "\xd7\x89\xf8" } , { "\xc1\xe9\xe8\xbf\xe1" , "\xe5\x89\xf8" } , { "\xc2" , "\x54\xf6" } , { "\xc2\xa1" , "\x54\x67\xf6" } , { "\xc2\xa2" , "\x54\xf6\x65" } , { "\xc2\xa2\xa2" , "\x54\xf6\x65\x65" } , { "\xc2\xa3" , "\x54\xf6\x66" } , { "\xc2\xda" , "\x54\xf6\xe7" } , { "\xc2\xda\xa1" , "\x54\x67\xf6\xe7" } , { "\xc2\xda\xa2" , "\x54\xf6\xe7\x65" } , { "\xc2\xda\xa2\xa2" , "\x54\xf6\xe7\x65\x65" } , { "\xc2\xda\xa3" , "\x54\xf6\xe7\x66" } , { "\xc2\xdb" , "\xd7\x54\xf6" } , { "\xc2\xdb\xa2" , "\xd7\x54\xf6\x65" } , { "\xc2\xdb\xa3" , "\xd7\x54\xf6\x66" } , { "\xc2\xdc" , "\x54\xf6\xdd" } , { "\xc2\xdc\xa2" , "\x54\xf6\xdd\x65" } , { "\xc2\xdd" , "\x54\xc7\xf6" } , { "\xc2\xdd\xa1" , "\x54\x67\xc7\xf6" } , { "\xc2\xdd\xa2" , "\x54\xc7\xf6\x65" } , { "\xc2\xdd\xa2\xa2" , "\x54\xc7\xf6\x65\x65" } , { "\xc2\xdd\xa3" , "\x54\xc7\xf6\x66" } , { "\xc2\xde" , "\x54\xc9\xf6" } , { "\xc2\xde\xa1" , "\x54\x67\xc9\xf6" } , { "\xc2\xde\xa2" , "\x54\xc9\xf6\x65" } , { "\xc2\xdf" , "\x54\xca\xf6" } , { "\xc2\xdf\xa2" , "\x54\xca\xf6\x65" } , { "\xc2\xe1" , "\xe6\x54\xf6" } , { "\xc2\xe1\xa2" , "\xe6\x54\xf6\x65" } , { "\xc2\xe1\xa3" , "\xe6\x54\xf6\x66" } , { "\xc2\xe2" , "\xe9\x54\xf6" } , { "\xc2\xe2\xa2" , "\xe9\x54\xf6\x65" } , { "\xc2\xe2\xa3" , "\xe9\x54\xf6\x66" } , { "\xc2\xe5" , "\xe6\x54\xf6\xe7" } , { "\xc2\xe5\xa2" , "\xe6\x54\xf6\xe7\x65" } , { "\xc2\xe5\xa3" , "\xe6\x54\xf6\xe7\x66" } , { "\xc2\xe6" , "\xe6\x54\xf6\xec" } , { "\xc2\xe6\xa2" , "\xe6\x54\xf6\xec\x65" } , { "\xc2\xe8" , "\x54\xcb" } , { "\xc2\xe8\xb3" , "\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xa2" , "\xb1\x45\xf5\x65" } , { "\xc2\xe8\xb3\xda" , "\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xb3\xda\xa2" , "\xb1\x45\xf5\xe7\x65" } , { "\xc2\xe8\xb3\xdb" , "\xd7\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xdb\xa2" , "\xd7\xb1\x45\xf5\x65" } , { "\xc2\xe8\xb3\xdc" , "\xb1\x45\xf5\xdd" } , { "\xc2\xe8\xb3\xdd" , "\xb1\x45\xc7\xf5" } , { "\xc2\xe8\xb3\xdd\xa2" , "\xb1\x45\xc7\xf5\x65" } , { "\xc2\xe8\xb3\xde" , "\xb1\x45\xc9\xf5" } , { "\xc2\xe8\xb3\xdf" , "\xb1\x45\xca\xf5" } , { "\xc2\xe8\xb3\xe1" , "\xe6\xb1\x45\xf5" } , { "\xc2\xe8\xb3\xe1\xa2" , "\xe6\xb1\x45\xf5\x65" } , { "\xc2\xe8\xb3\xe5" , "\xe6\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xb3\xe8\xc2" , "\xb1\x4e\xfe" } , { "\xc2\xe8\xb3\xe8\xcf" , "\xb1\x79\xd4" } , { "\xc2\xe8\xb3\xe8\xcf\xa2" , "\xb1\x79\xd4\x65" } , { "\xc2\xe8\xb3\xe8\xcf\xdb" , "\xd7\xb1\x79\xd4" } , { "\xc2\xe8\xb3\xe8\xcf\xe1\xa2" , "\xe6\xb1\x79\xd4\x65" } , { "\xc2\xe8\xb3\xe8\xcf\xe5" , "\xe6\xb1\x79\xd4\xe7" } , { "\xc2\xe8\xb3\xe8\xd1\xe1" , "\xe6\xb1\x7a\xf5" } , { "\xc2\xe8\xb3\xe8\xd1\xe5" , "\xe6\xb1\x7a\xf5\xe7" } , { "\xc2\xe8\xb3\xe8\xd6" , "\xb1\x6c\xf9" } , { "\xc2\xe8\xb3\xe8\xd6\xdb" , "\xd7\xb1\x6c\xf9" } , { "\xc2\xe8\xb3\xe8\xd6\xe1" , "\xe6\xb1\x6c\xf9" } , { "\xc2\xe8\xb3\xe8\xd6\xe8\xbd" , "\xa8\xb1\x72\xf4" } , { "\xc2\xe8\xb4" , "\xb1\x46" } , { "\xc2\xe8\xb4\xa2" , "\xb1\x46\x65" } , { "\xc2\xe8\xb4\xda" , "\xb1\x46\xe7" } , { "\xc2\xe8\xb4\xe1" , "\xe6\xb1\x46" } , { "\xc2\xe8\xb5\xda" , "\xb1\x47\xe7" } , { "\xc2\xe8\xb5\xe8\xd8" , "\x64\xaa\x63\xf7" } , { "\xc2\xe8\xb8" , "\xb1\x4a\xf4" } , { "\xc2\xe8\xb8\xda" , "\xb1\x4a\xf4\xe7" } , { "\xc2\xe8\xb8\xe1" , "\xe6\xb1\x4a\xf4" } , { "\xc2\xe8\xb8\xe8\xb9" , "\x64\xac\x4b\xf7" } , { "\xc2\xe8\xba" , "\xb1\x4c" } , { "\xc2\xe8\xba\xa2" , "\xb1\x4c\x65" } , { "\xc2\xe8\xba\xdb" , "\xd7\xb1\x4c" } , { "\xc2\xe8\xba\xe8\xbc" , "\xb1\x70\xfb" } , { "\xc2\xe8\xba\xe9" , "\xb1\x4c" } , { "\xc2\xe8\xbd\xe2" , "\xe8\xb1\x4f\xf4" } , { "\xc2\xe8\xbf\xdd" , "\xb1\x51\xc7\xf6" } , { "\xc2\xe8\xbf\xe5" , "\xe6\xb1\x51\xf6\xe7" } , { "\xc2\xe8\xbf\xe8\xcf\xda" , "\xb1\x51\xce\xf6\xe7" } , { "\xc2\xe8\xc1" , "\xb1\x53" } , { "\xc2\xe8\xc2" , "\x77\xf8" } , { "\xc2\xe8\xc2\xa2" , "\x77\xf8\x65" } , { "\xc2\xe8\xc2\xda" , "\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xda\xa1" , "\x77\x67\xf8\xe7" } , { "\xc2\xe8\xc2\xda\xa2" , "\x77\xf8\xe7\x65" } , { "\xc2\xe8\xc2\xda\xa3" , "\x77\xf8\xe7\x66" } , { "\xc2\xe8\xc2\xdb" , "\xd7\x77\xf8" } , { "\xc2\xe8\xc2\xdb\xa2" , "\xd7\x77\xf8\x65" } , { "\xc2\xe8\xc2\xdb\xa3" , "\xd7\x77\xf8\x66" } , { "\xc2\xe8\xc2\xdc" , "\x77\xf8\xdd" } , { "\xc2\xe8\xc2\xdc\xa2" , "\x77\xf8\xdd\x65" } , { "\xc2\xe8\xc2\xdd" , "\x77\xc7\xf8" } , { "\xc2\xe8\xc2\xdd\xa2" , "\x77\xc7\xf8\x65" } , { "\xc2\xe8\xc2\xde" , "\x77\xc9\xf8" } , { "\xc2\xe8\xc2\xde\xa2" , "\x77\xc9\xf8\x65" } , { "\xc2\xe8\xc2\xdf" , "\x77\xca\xf8" } , { "\xc2\xe8\xc2\xe1" , "\xe6\x77\xf8" } , { "\xc2\xe8\xc2\xe1\xa2" , "\xe6\x77\xf8\x65" } , { "\xc2\xe8\xc2\xe1\xa3" , "\xe6\x77\xf8\x66" } , { "\xc2\xe8\xc2\xe2" , "\xe9\x77\xf8" } , { "\xc2\xe8\xc2\xe5" , "\xe6\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xe5\xa2" , "\xe6\x77\xf8\xe7\x65" } , { "\xc2\xe8\xc2\xe6" , "\xe6\x77\xf8\xec" } , { "\xc2\xe8\xc2\xe8" , "\x77\xcb\xf8" } , { "\xc2\xe8\xc2\xe8\xb3" , "\x64\xb1\x45\xf5" } , { "\xc2\xe8\xc2\xe8\xb3\xda" , "\x64\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xc2\xe8\xb3\xe8\xd6" , "\xb1\xb1\x6c\xf9" } , { "\xc2\xe8\xc2\xe8\xc2" , "\xb1\x77\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xda" , "\xb1\x77\xf8\xe7" } , { "\xc2\xe8\xc2\xe8\xc2\xdb" , "\xd7\xb1\x77\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xe1" , "\xe6\xb1\x77\xf8" } , { "\xc2\xe8\xc2\xe8\xc2\xe8\xc2\xe8" , "\x64\xb1\x77\xcb\xf8" } , { "\xc2\xe8\xc2\xe8\xc3\xda" , "\xb1\x78\xe7" } , { "\xc2\xe8\xc2\xe8\xc8\xde" , "\x64\xb1\x59\xc9" } , { "\xc2\xe8\xc2\xe8\xcc" , "\xc3\xbf" } , { "\xc2\xe8\xc2\xe8\xcd" , "\x64\xb1\xcc\x5e" } , { "\xc2\xe8\xc2\xe8\xcd\xa2" , "\x64\xb1\xcc\x5e\x65" } , { "\xc2\xe8\xc2\xe8\xcd\xda" , "\x64\xb1\xcc\x5e\xe7" } , { "\xc2\xe8\xc2\xe8\xcd\xdd" , "\x64\xb1\xcc\x5e\xc7" } , { "\xc2\xe8\xc2\xe8\xcf" , "\xbe" } , { "\xc2\xe8\xc2\xe8\xcf\xa2" , "\xbe\x65" } , { "\xc2\xe8\xc2\xe8\xcf\xda" , "\xbe\xe7" } , { "\xc2\xe8\xc2\xe8\xcf\xdb" , "\xd7\xbe" } , { "\xc2\xe8\xc2\xe8\xcf\xe2" , "\xe9\xbe" } , { "\xc2\xe8\xc2\xe8\xcf\xe8\xcd" , "\xb1\x64\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc2\xe8\xc2\xe8\xd9\xc8" , "\x64\xb1\x59" } , { "\xc2\xe8\xc3" , "\x78" } , { "\xc2\xe8\xc3\xa2" , "\x78\x65" } , { "\xc2\xe8\xc3\xda" , "\x78\xe7" } , { "\xc2\xe8\xc3\xdb" , "\xd7\x78" } , { "\xc2\xe8\xc3\xdc" , "\x78\xdd" } , { "\xc2\xe8\xc3\xde" , "\x78\xc9" } , { "\xc2\xe8\xc3\xe1" , "\xe5\x78" } , { "\xc2\xe8\xc3\xe5" , "\xe5\x78\xe7" } , { "\xc2\xe8\xc3\xe5\xa2" , "\xe5\x78\xe7\x65" } , { "\xc2\xe8\xc4" , "\xb1\x56" } , { "\xc2\xe8\xc4\xda" , "\xb1\x56\xe7" } , { "\xc2\xe8\xc4\xdd" , "\xb1\x56\xc7" } , { "\xc2\xe8\xc4\xe1" , "\xe6\xb1\x56" } , { "\xc2\xe8\xc5" , "\xb1\x57\xfd" } , { "\xc2\xe8\xc5\xa2" , "\xb1\x57\xfd\x65" } , { "\xc2\xe8\xc5\xda" , "\xb1\x57\xfd\xe7" } , { "\xc2\xe8\xc5\xda\xa2" , "\xb1\x57\xfd\xe7\x65" } , { "\xc2\xe8\xc5\xdb" , "\xd7\xb1\x57\xfd" } , { "\xc2\xe8\xc5\xe8\xd7" , "\x64\x57\xfd\xcb\x61" } , { "\xc2\xe8\xc6" , "\xb1\xf3\xf6" } , { "\xc2\xe8\xc6\xa2" , "\xb1\xf3\xf6\x65" } , { "\xc2\xe8\xc6\xda" , "\xb1\xf3\xf6\xe7" } , { "\xc2\xe8\xc6\xda\xa2" , "\xb1\xf3\xf6\xe7\x65" } , { "\xc2\xe8\xc6\xdb" , "\xd7\xc5\xb1\xf3\xf6" } , { "\xc2\xe8\xc6\xdb\xa2" , "\xd7\xc5\xb1\xf3\xf6\x65" } , { "\xc2\xe8\xc6\xdc" , "\xb1\xf3\xf6\xdd" } , { "\xc2\xe8\xc6\xdd" , "\xb1\xf3\xc7\xf6" } , { "\xc2\xe8\xc6\xdd\xa2" , "\xb1\xf3\xc7\xf6\x65" } , { "\xc2\xe8\xc6\xe1" , "\xe6\xb1\xf3\xf6" } , { "\xc2\xe8\xc6\xe5" , "\xe6\xb1\xf3\xf6\xe7" } , { "\xc2\xe8\xc6\xe5\xa2" , "\xe6\xb1\xf3\xf6\xe7\x65" } , { "\xc2\xe8\xc6\xe8\xcd" , "\x64\xb3\xcc\x5e" } , { "\xc2\xe8\xc6\xe8\xcd\xda\xa3" , "\x64\xb3\xcc\x5e\xe7\x66" } , { "\xc2\xe8\xc8" , "\xb1\x59" } , { "\xc2\xe8\xc8\xa2" , "\xb1\x59\x65" } , { "\xc2\xe8\xc8\xda" , "\xb1\x59\xe7" } , { "\xc2\xe8\xc8\xda\xa2" , "\xb1\x59\xe7\x65" } , { "\xc2\xe8\xc8\xdb" , "\xd7\xb1\x59" } , { "\xc2\xe8\xc8\xdb\xa2" , "\xd7\xb1\x59\x65" } , { "\xc2\xe8\xc8\xdc" , "\xb1\x59\xdd" } , { "\xc2\xe8\xc8\xdd" , "\xb1\x59\xc7" } , { "\xc2\xe8\xc8\xde" , "\xb1\x59\xc9" } , { "\xc2\xe8\xc8\xdf" , "\xb1\x59\xca" } , { "\xc2\xe8\xc8\xe1" , "\xe6\xb1\x59" } , { "\xc2\xe8\xc8\xe6" , "\xe6\xb1\x59\xec" } , { "\xc2\xe8\xc8\xe8\xc2" , "\xb1\x8a" } , { "\xc2\xe8\xc8\xe8\xc2\xdb" , "\xd7\xb1\x8a" } , { "\xc2\xe8\xc8\xe8\xcf" , "\xb1\x59\xd2" } , { "\xc2\xe8\xc8\xe8\xcf\xda" , "\xb1\x59\xd2\xe7" } , { "\xc2\xe8\xc8\xe8\xcf\xda\xa2" , "\xb1\x59\xd2\xe7\x65" } , { "\xc2\xe8\xc8\xe8\xcf\xdb" , "\xd7\xb1\x59\xd2" } , { "\xc2\xe8\xc8\xe8\xcf\xe1" , "\xe6\xb1\x59\xd2" } , { "\xc2\xe8\xc8\xe8\xd1" , "\xb1\x59\xc0" } , { "\xc2\xe8\xc9" , "\xb1\x5a\xf5" } , { "\xc2\xe8\xc9\xda" , "\xb1\x5a\xf5\xe7" } , { "\xc2\xe8\xc9\xdb" , "\xd7\xb1\x5a\xf5" } , { "\xc2\xe8\xc9\xdd" , "\xb1\x5a\xc7\xf5" } , { "\xc2\xe8\xc9\xe8\xcf" , "\xb1\x5a\xd0\xf5" } , { "\xc2\xe8\xc9\xe9" , "\xb1\x5a\xf5" } , { "\xc2\xe8\xca" , "\xb1\xbc\xf6" } , { "\xc2\xe8\xca\xa2" , "\xb1\xbc\xf6\x65" } , { "\xc2\xe8\xca\xda" , "\xb1\xbc\xf6\xe7" } , { "\xc2\xe8\xca\xdb" , "\xd7\xc5\xb1\xbc\xf6" } , { "\xc2\xe8\xca\xdd" , "\xb1\xbc\xc7\xf6" } , { "\xc2\xe8\xca\xe1" , "\xe6\xb1\xbc\xf6" } , { "\xc2\xe8\xca\xe8\xcf" , "\xb1\x5b\xfd\xd0" } , { "\xc2\xe8\xca\xe8\xd1\xda" , "\xb1\x5b\xfd\xc0\xe7" } , { "\xc2\xe8\xcb" , "\xb1\x5c\xf6" } , { "\xc2\xe8\xcb\xda" , "\xb1\x5c\xf6\xe7" } , { "\xc2\xe8\xcb\xda\xa2" , "\xb1\x5c\xf6\xe7\x65" } , { "\xc2\xe8\xcb\xdb" , "\xd7\xb1\x5c\xf6" } , { "\xc2\xe8\xcb\xdd" , "\xb1\x5c\xc7\xf6" } , { "\xc2\xe8\xcb\xde" , "\xb1\x5c\xc9\xf6" } , { "\xc2\xe8\xcc" , "\xb1\xc1" } , { "\xc2\xe8\xcc\xa2" , "\xb1\xc1\x65" } , { "\xc2\xe8\xcc\xda" , "\xb1\xc1\xe7" } , { "\xc2\xe8\xcc\xdb" , "\xd7\xc5\xb1\xc1" } , { "\xc2\xe8\xcc\xdc" , "\xb1\xc1\xdd" } , { "\xc2\xe8\xcc\xdd" , "\xb1\xc1\xc7" } , { "\xc2\xe8\xcc\xdd\xa2" , "\xb1\xc1\xc7\x65" } , { "\xc2\xe8\xcc\xdf" , "\xb1\xc1\xca" } , { "\xc2\xe8\xcc\xe1" , "\xe6\xb1\xc1" } , { "\xc2\xe8\xcc\xe1\xa2" , "\xe6\xb1\xc1\x65" } , { "\xc2\xe8\xcc\xe2" , "\xe9\xb1\xc1" } , { "\xc2\xe8\xcc\xe5" , "\xe6\xb1\xc1\xe7" } , { "\xc2\xe8\xcc\xe6" , "\xe6\xb1\xc1\xec" } , { "\xc2\xe8\xcc\xe8" , "\xb1\xc1\xcb" } , { "\xc2\xe8\xcc\xe8\xb3" , "\x64\x5d\xcb\x45\xf5" } , { "\xc2\xe8\xcc\xe8\xca" , "\xb1\xb6\x91\xf6" } , { "\xc2\xe8\xcc\xe8\xcd" , "\x64\x5d\xcb\xcc\x5e" } , { "\xc2\xe8\xcc\xe8\xcd\xa2" , "\x64\x5d\xcb\xcc\x5e\x65" } , { "\xc2\xe8\xcc\xe8\xcd\xda" , "\x64\x5d\xcb\xcc\x5e\xe7" } , { "\xc2\xe8\xcc\xe8\xcd\xe5\xa2" , "\x64\x5d\xcb\xe6\xcc\x5e\xe7\x65" } , { "\xc2\xe8\xcd" , "\x54\xfd\xee" } , { "\xc2\xe8\xcd\xa2" , "\x54\xfd\xee\x65" } , { "\xc2\xe8\xcd\xda" , "\x54\xfd\xee\xe7" } , { "\xc2\xe8\xcd\xda\xa2" , "\x54\xfd\xee\xe7\x65" } , { "\xc2\xe8\xcd\xdb" , "\xd7\x54\xfd\xee" } , { "\xc2\xe8\xcd\xdc" , "\x54\xfd\xee\xdd" } , { "\xc2\xe8\xcd\xdd" , "\x54\xc7\xfd\xee" } , { "\xc2\xe8\xcd\xdd\xa2" , "\x54\xc7\xfd\xee\x65" } , { "\xc2\xe8\xcd\xde" , "\x54\xc9\xfd\xee" } , { "\xc2\xe8\xcd\xdf" , "\x54\xca\xfd\xee" } , { "\xc2\xe8\xcd\xe1" , "\xe6\x54\xfd\xee" } , { "\xc2\xe8\xcd\xe1\xa2" , "\xe6\x54\xfd\xee\x65" } , { "\xc2\xe8\xcd\xe2" , "\xe9\x54\xfd\xee" } , { "\xc2\xe8\xcd\xe5" , "\xe6\x54\xfd\xee\xe7" } , { "\xc2\xe8\xcd\xe5\xa2" , "\xe6\x54\xfd\xee\xe7\x65" } , { "\xc2\xe8\xcd\xe6" , "\xe6\x54\xfd\xee\xec" } , { "\xc2\xe8\xcd\xe8\xc2" , "\x64\xcc\x5e\xcb\x54\xf6" } , { "\xc2\xe8\xcd\xe8\xc2\xe8" , "\x64\xcc\x5e\xcb\x64" } , { "\xc2\xe8\xcd\xe8\xcc" , "\xb1\x5e\xbd" } , { "\xc2\xe8\xcd\xe8\xcc\xa2" , "\xb1\x5e\xbd\x65" } , { "\xc2\xe8\xcd\xe8\xcc\xda" , "\xb1\x5e\xbd\xe7" } , { "\xc2\xe8\xcd\xe8\xcd" , "\x64\xcc\x5e\xcb\xcc\x5e" } , { "\xc2\xe8\xcd\xe8\xcd\xa2" , "\x64\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xc2\xe8\xcd\xe8\xcd\xda" , "\x64\xcc\x5e\xcb\xcc\x5e\xe7" } , { "\xc2\xe8\xcd\xe8\xcd\xe1" , "\x64\xcc\x5e\xcb\xe6\xcc\x5e" } , { "\xc2\xe8\xcd\xe8\xcf" , "\xb1\x5e\xd0" } , { "\xc2\xe8\xcd\xe8\xcf\xa2" , "\xb1\x5e\xd0\x65" } , { "\xc2\xe8\xcd\xe8\xcf\xa3" , "\xb1\x5e\xd0\x66" } , { "\xc2\xe8\xcd\xe8\xcf\xda" , "\xb1\x5e\xd0\xe7" } , { "\xc2\xe8\xcd\xe8\xcf\xe5" , "\xe6\xb1\x5e\xd0\xe7" } , { "\xc2\xe8\xcd\xe8\xd7" , "\x64\xcc\x5e\xcb\x61" } , { "\xc2\xe8\xcd\xe8\xd7\xa3" , "\x64\xcc\x5e\xcb\x61\x66" } , { "\xc2\xe8\xcd\xe8\xd7\xda" , "\x64\xcc\x5e\xcb\x61\xe7" } , { "\xc2\xe8\xcd\xe8\xd7\xe1\xa2" , "\x64\xcc\x5e\xcb\xe6\x61\x65" } , { "\xc2\xe8\xcf" , "\x79" } , { "\xc2\xe8\xcf\xa2" , "\x79\x65" } , { "\xc2\xe8\xcf\xa3" , "\x79\x66" } , { "\xc2\xe8\xcf\xda" , "\x79\xe7" } , { "\xc2\xe8\xcf\xda\xa2" , "\x79\xe7\x65" } , { "\xc2\xe8\xcf\xdb" , "\xd7\xc5\x79" } , { "\xc2\xe8\xcf\xdb\xa2" , "\xd7\xc5\x79\x65" } , { "\xc2\xe8\xcf\xdb\xa3" , "\xd7\xc5\x79\x66" } , { "\xc2\xe8\xcf\xdc" , "\x79\xdd" } , { "\xc2\xe8\xcf\xdc\xa2" , "\x79\xdd\x65" } , { "\xc2\xe8\xcf\xdd" , "\x79\xd3" } , { "\xc2\xe8\xcf\xdd\xa2" , "\x79\xd3\x65" } , { "\xc2\xe8\xcf\xde" , "\x79\xd6" } , { "\xc2\xe8\xcf\xde\xa2" , "\x79\xd6\x65" } , { "\xc2\xe8\xcf\xdf" , "\x79\xca" } , { "\xc2\xe8\xcf\xe1" , "\xe6\x79" } , { "\xc2\xe8\xcf\xe1\xa2" , "\xe6\x79\x65" } , { "\xc2\xe8\xcf\xe2" , "\xe8\x79" } , { "\xc2\xe8\xcf\xe2\xa2" , "\xe8\x79\x65" } , { "\xc2\xe8\xcf\xe2\xa3" , "\xe8\x79\x66" } , { "\xc2\xe8\xcf\xe5" , "\xe6\x79\xe7" } , { "\xc2\xe8\xcf\xe5\xa2" , "\xe6\x79\xe7\x65" } , { "\xc2\xe8\xcf\xe5\xa3" , "\xe6\x79\xe7\x66" } , { "\xc2\xe8\xcf\xe6" , "\xe6\x79\xec" } , { "\xc2\xe8\xcf\xe8\xb3" , "\x64\xcc\x5b\xfd\xcb\x45\xf5" } , { "\xc2\xe8\xcf\xe8\xb8\xdb" , "\x64\xcc\x5b\xfd\xcb\xd7\xbb\x4a\xf4" } , { "\xc2\xe8\xcf\xe8\xc2" , "\x64\xcc\x5b\xfd\xcb\x54\xf6" } , { "\xc2\xe8\xcf\xe8\xc2\xda" , "\x64\xcc\x5b\xfd\xcb\x54\xf6\xe7" } , { "\xc2\xe8\xcf\xe8\xc2\xdc" , "\x64\xcc\x5b\xfd\xcb\x54\xf6\xdd" } , { "\xc2\xe8\xcf\xe8\xc8" , "\x64\xcc\x5b\xfd\xcb\x59" } , { "\xc2\xe8\xcf\xe8\xcd" , "\x64\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc2\xe8\xcf\xe8\xcd\xa2" , "\x64\xcc\x5b\xfd\xcb\xcc\x5e\x65" } , { "\xc2\xe8\xcf\xe8\xcd\xda" , "\x64\xcc\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xc2\xe8\xcf\xe8\xcd\xde" , "\x64\xcc\x5b\xfd\xcb\xcc\x5e\xc9" } , { "\xc2\xe8\xcf\xe8\xcd\xe1" , "\x64\xcc\x5b\xfd\xcb\xe6\xcc\x5e" } , { "\xc2\xe8\xcf\xe8\xcd\xe5" , "\x64\xcc\x5b\xfd\xcb\xe6\xcc\x5e\xe7" } , { "\xc2\xe8\xcf\xe8\xd7" , "\x64\xcc\x5b\xfd\xcb\x61" } , { "\xc2\xe8\xcf\xe8\xd7\xa2" , "\x64\xcc\x5b\xfd\xcb\x61\x65" } , { "\xc2\xe8\xcf\xe8\xd9\xcf\xe8\xcd" , "\x64\xcc\x5b\xfd\xcb\xcc\x5e\xef" } , { "\xc2\xe8\xd1" , "\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xa2" , "\xb1\xf2\xf6\x65" } , { "\xc2\xe8\xd1\xda" , "\xb1\xf2\xf6\xe7" } , { "\xc2\xe8\xd1\xdb" , "\xd7\xc5\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xdc" , "\xb1\xf2\xf6\xdd" } , { "\xc2\xe8\xd1\xdd" , "\xb1\xf2\xc7\xf6" } , { "\xc2\xe8\xd1\xe1" , "\xe6\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xe2" , "\xe8\xb1\xf2\xf6" } , { "\xc2\xe8\xd1\xe5" , "\xe6\xb1\xf2\xf6\xe7" } , { "\xc2\xe8\xd1\xe8\xc8" , "\xb1\x94" } , { "\xc2\xe8\xd5" , "\xb1\x60" } , { "\xc2\xe8\xd5\xda" , "\xb1\x60\xe7" } , { "\xc2\xe8\xd5\xdb" , "\xd7\xb1\x60" } , { "\xc2\xe8\xd5\xde" , "\xb1\x60\xc9" } , { "\xc2\xe8\xd5\xe1" , "\xe6\xb1\x60" } , { "\xc2\xe8\xd6" , "\xb1\x62" } , { "\xc2\xe8\xd6\xda" , "\xb1\x62\xe7" } , { "\xc2\xe8\xd6\xdb" , "\xd7\xb1\x62" } , { "\xc2\xe8\xd6\xe1" , "\xe6\xb1\x62" } , { "\xc2\xe8\xd6\xe8\xb3\xe1" , "\xe6\xb1\x9b\xf5" } , { "\xc2\xe8\xd6\xe8\xc1\xda" , "\xb1\x62\xd5\xe7" } , { "\xc2\xe8\xd7" , "\xb1\x61" } , { "\xc2\xe8\xd7\xa2" , "\xb1\x61\x65" } , { "\xc2\xe8\xd7\xa3" , "\xb1\x61\x66" } , { "\xc2\xe8\xd7\xda" , "\xb1\x61\xe7" } , { "\xc2\xe8\xd7\xda\xa2" , "\xb1\x61\xe7\x65" } , { "\xc2\xe8\xd7\xdb" , "\xd7\xb1\x61" } , { "\xc2\xe8\xd7\xdb\xa2" , "\xd7\xb1\x61\x65" } , { "\xc2\xe8\xd7\xdc" , "\xb1\x61\xdd" } , { "\xc2\xe8\xd7\xdd" , "\xb1\x61\xc7" } , { "\xc2\xe8\xd7\xde" , "\xb1\x61\xc9" } , { "\xc2\xe8\xd7\xdf" , "\xb1\x61\xca" } , { "\xc2\xe8\xd7\xe1" , "\xe6\xb1\x61" } , { "\xc2\xe8\xd7\xe5" , "\xe6\xb1\x61\xe7" } , { "\xc2\xe8\xd7\xe6" , "\xe6\xb1\x61\xec" } , { "\xc2\xe8\xd7\xe8" , "\xb1\x61\xcb" } , { "\xc2\xe8\xd7\xe8\xb3\xdc" , "\xb1\x95\xf5\xdd" } , { "\xc2\xe8\xd7\xe8\xc3\xda" , "\xb1\xd8\x9a\xf6\xe7" } , { "\xc2\xe8\xd7\xe8\xc6" , "\xb1\xd8\x6f\xf6" } , { "\xc2\xe8\xd7\xe8\xc6\xda" , "\xb1\xd8\x6f\xf6\xe7" } , { "\xc2\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb1\xd8\x6f\xf6" } , { "\xc2\xe8\xd7\xe8\xc8" , "\xb1\x26" } , { "\xc2\xe8\xd7\xe8\xc8\xda" , "\xb1\x26\xe7" } , { "\xc2\xe8\xd7\xe8\xc8\xdf" , "\xb1\x26\xca" } , { "\xc2\xe8\xd7\xe8\xc9\xde" , "\xb1\xd8\xf6\x8f\xc9\xf5" } , { "\xc2\xe8\xd7\xe8\xc9\xe5" , "\xe6\xb1\xd8\xf6\x8f\xf5\xe7" } , { "\xc2\xe8\xd7\xe8\xcd" , "\x64\xba\xcc\x5e" } , { "\xc2\xe8\xd7\xe8\xcd\xa2" , "\x64\xba\xcc\x5e\x65" } , { "\xc2\xe8\xd7\xe8\xcd\xda" , "\x64\xba\xcc\x5e\xe7" } , { "\xc2\xe8\xd7\xe8\xcd\xda\xa2" , "\x64\xba\xcc\x5e\xe7\x65" } , { "\xc2\xe8\xd7\xe8\xcd\xdb" , "\x64\xd7\xba\xcc\x5e" } , { "\xc2\xe8\xd7\xe8\xcd\xdd" , "\x64\xba\xcc\x5e\xc7" } , { "\xc2\xe8\xd7\xe8\xcd\xe1\xa2" , "\x64\xe6\xba\xcc\x5e\x65" } , { "\xc2\xe8\xd7\xe8\xcf" , "\xb1\xd8\x83\xf6" } , { "\xc2\xe8\xd8\xdb" , "\xd7\xb1\x63\xf7" } , { "\xc2\xe8\xd8\xdc" , "\xb1\x63\xf7\xdd" } , { "\xc2\xe8\xd9\xa6" , "\xb1\x2b" } , { "\xc2\xe8\xd9\xb3\xda" , "\xb1\x45\xf5\xe7" } , { "\xc2\xe8\xd9\xc2" , "\xb1\x54\xf6" } , { "\xc2\xe8\xd9\xc2\xda" , "\xb1\x54\xf6\xe7" } , { "\xc2\xe8\xd9\xc2\xdb" , "\xb1\xd7\x54\xf6" } , { "\xc2\xe8\xd9\xc2\xdc" , "\xb1\x54\xf6\xdd" } , { "\xc2\xe8\xd9\xc2\xe1" , "\xb1\xe3\x54\xf6" } , { "\xc2\xe8\xd9\xc2\xe5\xa2" , "\xb1\xe3\x54\xf6\xe7\x65" } , { "\xc2\xe8\xd9\xc8" , "\xb1\x59" } , { "\xc2\xe8\xd9\xcf\xe8\xc2\xda" , "\xb1\x54\xf6\xdb\xe7" } , { "\xc2\xe8\xd9\xcf\xe8\xd7" , "\xb1\x61\xef" } , { "\xc2\xe8\xd9\xd1" , "\xb1\x5f" } , { "\xc2\xe8\xe8" , "\x54\xcb\xf6" } , { "\xc2\xe8\xe9\xc2" , "\x77\xf8" } , { "\xc2\xe8\xe9\xcf" , "\x79" } , { "\xc2\xe9" , "\x54\xf6" } , { "\xc3" , "\x55" } , { "\xc3\xa1" , "\x55\x67" } , { "\xc3\xa2" , "\x55\x65" } , { "\xc3\xa3" , "\x55\x66" } , { "\xc3\xda" , "\x55\xe7" } , { "\xc3\xda\xa1" , "\x55\x67\xe7" } , { "\xc3\xda\xa2" , "\x55\xe7\x65" } , { "\xc3\xdb" , "\xd7\x55" } , { "\xc3\xdb\xa2" , "\xd7\x55\x65" } , { "\xc3\xdc" , "\x55\xdd" } , { "\xc3\xdc\xa1" , "\x55\xdf" } , { "\xc3\xdc\xa2" , "\x55\xdd\x65" } , { "\xc3\xdd" , "\x55\xc7" } , { "\xc3\xdd\xa2" , "\x55\xc7\x65" } , { "\xc3\xdd\xa3" , "\x55\xc7\x66" } , { "\xc3\xde" , "\x55\xc9" } , { "\xc3\xde\xa2" , "\x55\xc9\x65" } , { "\xc3\xdf" , "\x55\xca" } , { "\xc3\xe1" , "\xe6\x55" } , { "\xc3\xe1\xa2" , "\xe6\x55\x65" } , { "\xc3\xe2" , "\xe9\x55" } , { "\xc3\xe2\xa2" , "\xe9\x55\x65" } , { "\xc3\xe5" , "\xe6\x55\xe7" } , { "\xc3\xe5\xa2" , "\xe6\x55\xe7\x65" } , { "\xc3\xe6" , "\xe6\x55\xec" } , { "\xc3\xe6\xa2" , "\xe6\x55\xec\x65" } , { "\xc3\xe8" , "\x55\xcb" } , { "\xc3\xe8\xb3\xdd" , "\x55\xcb\x45\xc7\xf5" } , { "\xc3\xe8\xb5\xda" , "\x55\xcb\x47\xe7" } , { "\xc3\xe8\xc2\xdb" , "\x55\xcb\xd7\x54\xf6" } , { "\xc3\xe8\xc2\xdd" , "\x55\xcb\x54\xc7\xf6" } , { "\xc3\xe8\xc3" , "\x55\xcb\x55" } , { "\xc3\xe8\xc3\xda" , "\x55\xcb\x55\xe7" } , { "\xc3\xe8\xc8\xde" , "\x55\xcb\x59\xc9" } , { "\xc3\xe8\xcc\xda" , "\x55\xbd\xe7" } , { "\xc3\xe8\xcc\xdc" , "\x55\xbd\xdd" } , { "\xc3\xe8\xcd" , "\x55\xee" } , { "\xc3\xe8\xcd\xda" , "\x55\xee\xe7" } , { "\xc3\xe8\xcd\xda\xa2" , "\x55\xee\xe7\x65" } , { "\xc3\xe8\xcd\xda\xa3" , "\x55\xee\xe7\x66" } , { "\xc3\xe8\xcd\xdb" , "\xd7\x55\xee" } , { "\xc3\xe8\xcd\xdd" , "\x55\xc7\xee" } , { "\xc3\xe8\xcd\xde" , "\x55\xc9\xee" } , { "\xc3\xe8\xcd\xdf" , "\x55\xca\xee" } , { "\xc3\xe8\xcd\xe1" , "\xe6\x55\xee" } , { "\xc3\xe8\xcd\xe2" , "\xe9\x55\xee" } , { "\xc3\xe8\xcd\xe5" , "\xe6\x55\xee\xe7" } , { "\xc3\xe8\xcd\xe5\xa2" , "\xe6\x55\xee\xe7\x65" } , { "\xc3\xe8\xcd\xe6" , "\xe6\x55\xee\xec" } , { "\xc3\xe8\xcd\xe8" , "\x55\xee\xcb" } , { "\xc3\xe8\xcf" , "\x55\xd0" } , { "\xc3\xe8\xcf\xda" , "\x55\xd0\xe7" } , { "\xc3\xe8\xcf\xda\xa2" , "\x55\xd0\xe7\x65" } , { "\xc3\xe8\xcf\xdb" , "\xd7\x55\xd0" } , { "\xc3\xe8\xcf\xdc" , "\x55\xd0\xdd" } , { "\xc3\xe8\xcf\xde" , "\x55\xd0\xc9" } , { "\xc3\xe8\xcf\xe1" , "\xe6\x55\xd0" } , { "\xc3\xe8\xcf\xe2" , "\xe8\x55\xd0" } , { "\xc3\xe8\xcf\xe5" , "\xe6\x55\xd0\xe7" } , { "\xc3\xe8\xcf\xe8\xcd" , "\x55\xcb\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc3\xe8\xd1\xdd" , "\x55\xc0\xc7" } , { "\xc3\xe8\xd1\xe5" , "\xe6\x55\xc0\xe7" } , { "\xc3\xe8\xd5\xe8\xcf\xdc" , "\x55\xcb\x60\xd2\xdd" } , { "\xc3\xe8\xd7" , "\x55\xcb\x61" } , { "\xc3\xe8\xd7\xe8" , "\x55\xcb\x61\xcb" } , { "\xc3\xe8\xd9\xcf\xe8\xcd" , "\x55\xcb\xcc\x5e\xef" } , { "\xc3\xe8\xe8" , "\x55\xcb" } , { "\xc3\xe8\xe9\xcf" , "\x55\xd0" } , { "\xc3\xe9" , "\x55" } , { "\xc4" , "\x56" } , { "\xc4\xa1" , "\x56\xf1" } , { "\xc4\xa2" , "\x56\x65" } , { "\xc4\xa2\xa2" , "\x56\x65\x65" } , { "\xc4\xa3" , "\x56\x66" } , { "\xc4\xd9" , "\x56" } , { "\xc4\xda" , "\x56\xe7" } , { "\xc4\xda\xa1" , "\x56\xf1\xe7" } , { "\xc4\xda\xa2" , "\x56\xe7\x65" } , { "\xc4\xda\xa2\xa2" , "\x56\xe7\x65\x65" } , { "\xc4\xda\xa3" , "\x56\xe7\x66" } , { "\xc4\xdb" , "\xd7\x56" } , { "\xc4\xdb\xa2" , "\xd7\x56\x65" } , { "\xc4\xdb\xa2\xa2" , "\xd7\x56\x65\x65" } , { "\xc4\xdb\xa3" , "\xd7\x56\x66" } , { "\xc4\xdb\xd7\xdf" , "\xd7\x56\x61\xca" } , { "\xc4\xdc" , "\x56\xdd" } , { "\xc4\xdc\xa2" , "\x56\xdd\x65" } , { "\xc4\xdd" , "\x56\xc7" } , { "\xc4\xdd\xa1" , "\x56\xf1\xc7" } , { "\xc4\xdd\xa2" , "\x56\xc7\x65" } , { "\xc4\xdd\xa3" , "\x56\xc7\x66" } , { "\xc4\xde" , "\x56\xc9" } , { "\xc4\xde\xa1" , "\x56\xf1\xc9" } , { "\xc4\xde\xa2" , "\x56\xc9\x65" } , { "\xc4\xdf" , "\x56\xca" } , { "\xc4\xdf\xa2" , "\x56\xca\x65" } , { "\xc4\xe1" , "\xe6\x56" } , { "\xc4\xe1\xa2" , "\xe6\x56\x65" } , { "\xc4\xe2" , "\xe9\x56" } , { "\xc4\xe2\xa2" , "\xe9\x56\x65" } , { "\xc4\xe2\xa3" , "\xe9\x56\x66" } , { "\xc4\xe5" , "\xe6\x56\xe7" } , { "\xc4\xe5\xa2" , "\xe6\x56\xe7\x65" } , { "\xc4\xe6" , "\xe6\x56\xec" } , { "\xc4\xe6\xa2" , "\xe6\x56\xec\x65" } , { "\xc4\xe8" , "\x56\xcb" } , { "\xc4\xe8\xb3" , "\xb2\x45\xf5" } , { "\xc4\xe8\xb3\xda" , "\xb2\x45\xf5\xe7" } , { "\xc4\xe8\xb3\xdb" , "\xd7\xb2\x45\xf5" } , { "\xc4\xe8\xb3\xdd" , "\xb2\x45\xc7\xf5" } , { "\xc4\xe8\xb3\xde" , "\xb2\x45\xc9\xf5" } , { "\xc4\xe8\xb4" , "\xb2\x46" } , { "\xc4\xe8\xb4\xda" , "\xb2\x46\xe7" } , { "\xc4\xe8\xb5" , "\x56\x47" } , { "\xc4\xe8\xb5\xa2" , "\x56\x47\x65" } , { "\xc4\xe8\xb5\xda" , "\x56\x47\xe7" } , { "\xc4\xe8\xb5\xdc" , "\x56\x47\xdd" } , { "\xc4\xe8\xb5\xdd" , "\x56\x47\xc7" } , { "\xc4\xe8\xb5\xdf" , "\x56\x47\xca" } , { "\xc4\xe8\xb5\xe1" , "\xe6\x56\x47" } , { "\xc4\xe8\xb5\xe5" , "\xe6\x56\x47\xe7" } , { "\xc4\xe8\xb5\xe8\xc5" , "\xb2\x84\xf9" } , { "\xc4\xe8\xb5\xe8\xcf" , "\xb2\x47\xd0" } , { "\xc4\xe8\xb5\xe8\xcf\xa2" , "\xb2\x47\xd0\x65" } , { "\xc4\xe8\xb5\xe8\xcf\xda" , "\xb2\x47\xd0\xe7" } , { "\xc4\xe8\xb5\xe8\xcf\xdc" , "\xb2\x47\xd0\xdd" } , { "\xc4\xe8\xb5\xe8\xd8" , "\x56\xcb\xaa\x63\xf7" } , { "\xc4\xe8\xb6" , "\x56\x48" } , { "\xc4\xe8\xb6\xda" , "\x56\x48\xe7" } , { "\xc4\xe8\xb6\xda\xa2" , "\x56\x48\xe7\x65" } , { "\xc4\xe8\xb6\xdf" , "\x56\x48\xca" } , { "\xc4\xe8\xb6\xe5" , "\xe6\x56\x48\xe7" } , { "\xc4\xe8\xb6\xe8\xc2" , "\x56\xcb\x48\xcb\x54\xf6" } , { "\xc4\xe8\xb8" , "\xb2\x4a\xf4" } , { "\xc4\xe8\xb8\xda" , "\xb2\x4a\xf4\xe7" } , { "\xc4\xe8\xb8\xdb" , "\xd7\xb2\x4a\xf4" } , { "\xc4\xe8\xb8\xe8\xb9\xdb" , "\x56\xcb\xd7\xac\x4b\xf7" } , { "\xc4\xe8\xba" , "\xb2\x4c" } , { "\xc4\xe8\xba\xdc" , "\xb2\x4c\xdd" } , { "\xc4\xe8\xba\xdd" , "\xb2\x4c\xc7" } , { "\xc4\xe8\xba\xdf" , "\xb2\x4c\xca" } , { "\xc4\xe8\xba\xe1" , "\xe6\xb2\x4c" } , { "\xc4\xe8\xba\xe5" , "\xe6\xb2\x4c\xe7" } , { "\xc4\xe8\xba\xe8\xbc\xdd" , "\xb2\x70\xc7\xfb" } , { "\xc4\xe8\xbb" , "\xb2\x4d\xf5" } , { "\xc4\xe8\xbf\xda" , "\xb2\x51\xf6\xe7" } , { "\xc4\xe8\xbf\xdb" , "\xd7\xb2\x51\xf6" } , { "\xc4\xe8\xbf\xe9" , "\xb2\x51\xcd\xf6" } , { "\xc4\xe8\xc0" , "\xb2\x52\xf4" } , { "\xc4\xe8\xc0\xe9" , "\xb2\x52\xcd\xf4" } , { "\xc4\xe8\xc2" , "\xb2\x54\xf6" } , { "\xc4\xe8\xc2\xa2" , "\xb2\x54\xf6\x65" } , { "\xc4\xe8\xc2\xdd" , "\xb2\x54\xc7\xf6" } , { "\xc4\xe8\xc2\xe2" , "\xe9\xb2\x54\xf6" } , { "\xc4\xe8\xc2\xe5" , "\xe6\xb2\x54\xf6\xe7" } , { "\xc4\xe8\xc3" , "\xb2\x55" } , { "\xc4\xe8\xc3\xa2" , "\xb2\x55\x65" } , { "\xc4\xe8\xc3\xda" , "\xb2\x55\xe7" } , { "\xc4\xe8\xc3\xda\xa2" , "\xb2\x55\xe7\x65" } , { "\xc4\xe8\xc3\xdb" , "\xd7\xb2\x55" } , { "\xc4\xe8\xc3\xdb\xa3" , "\xd7\xb2\x55\x66" } , { "\xc4\xe8\xc3\xdd" , "\xb2\x55\xc7" } , { "\xc4\xe8\xc4" , "\x81" } , { "\xc4\xe8\xc4\xa2" , "\x81\x65" } , { "\xc4\xe8\xc4\xa3" , "\x81\x66" } , { "\xc4\xe8\xc4\xda" , "\x81\xe7" } , { "\xc4\xe8\xc4\xda\xa2" , "\x81\xe7\x65" } , { "\xc4\xe8\xc4\xdb" , "\xd7\x81" } , { "\xc4\xe8\xc4\xdb\xa2" , "\xd7\x81\x65" } , { "\xc4\xe8\xc4\xdb\xa3" , "\xd7\x81\x66" } , { "\xc4\xe8\xc4\xdc" , "\x81\xdd" } , { "\xc4\xe8\xc4\xdd" , "\x81\xc7" } , { "\xc4\xe8\xc4\xdd\xa2" , "\x81\xc7\x65" } , { "\xc4\xe8\xc4\xde" , "\x81\xc9" } , { "\xc4\xe8\xc4\xdf" , "\x81\xca" } , { "\xc4\xe8\xc4\xe1" , "\xe6\x81" } , { "\xc4\xe8\xc4\xe1\xa2" , "\xe6\x81\x65" } , { "\xc4\xe8\xc4\xe1\xa3" , "\xe6\x81\x66" } , { "\xc4\xe8\xc4\xe2" , "\xe9\x81" } , { "\xc4\xe8\xc4\xe5" , "\xe6\x81\xe7" } , { "\xc4\xe8\xc4\xe5\xa2" , "\xe6\x81\xe7\x65" } , { "\xc4\xe8\xc4\xe6" , "\xe6\x81\xec" } , { "\xc4\xe8\xc4\xe8" , "\x81\xcb" } , { "\xc4\xe8\xc4\xe8\xcd" , "\x56\xcb\xb2\xcc\x5e" } , { "\xc4\xe8\xc4\xe8\xcd\xa2" , "\x56\xcb\xb2\xcc\x5e\x65" } , { "\xc4\xe8\xc4\xe8\xcd\xdd" , "\x56\xcb\xb2\xcc\x5e\xc7" } , { "\xc4\xe8\xc4\xe8\xcd\xe5" , "\x56\xcb\xe6\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xc4\xe8\xcf\xdb" , "\xd7\x81\xd2" } , { "\xc4\xe8\xc4\xe8\xcf\xde" , "\x81\xd2\xc8" } , { "\xc4\xe8\xc5" , "\x88\xf9" } , { "\xc4\xe8\xc5\xa2" , "\x88\xf9\x65" } , { "\xc4\xe8\xc5\xa3" , "\x88\xf9\x66" } , { "\xc4\xe8\xc5\xda" , "\x88\xf9\xe7" } , { "\xc4\xe8\xc5\xda\xa1" , "\x88\x67\xf9\xe7" } , { "\xc4\xe8\xc5\xda\xa2" , "\x88\xf9\xe7\x65" } , { "\xc4\xe8\xc5\xda\xa2\xa2" , "\x88\xf9\xe7\x65\x65" } , { "\xc4\xe8\xc5\xda\xa3" , "\x88\xf9\xe7\x66" } , { "\xc4\xe8\xc5\xdb" , "\xd7\x88\xf9" } , { "\xc4\xe8\xc5\xdb\xa2" , "\xd7\x88\xf9\x65" } , { "\xc4\xe8\xc5\xdb\xa3" , "\xd7\x88\xf9\x66" } , { "\xc4\xe8\xc5\xdc" , "\x88\xf9\xdd" } , { "\xc4\xe8\xc5\xdc\xa2" , "\x88\xf9\xdd\x65" } , { "\xc4\xe8\xc5\xdd" , "\x88\xc7\xf9" } , { "\xc4\xe8\xc5\xdd\xa2" , "\x88\xc7\xf9\x65" } , { "\xc4\xe8\xc5\xde" , "\x88\xc9\xf9" } , { "\xc4\xe8\xc5\xdf" , "\x88\xca\xf9" } , { "\xc4\xe8\xc5\xe1" , "\xe6\x88\xf9" } , { "\xc4\xe8\xc5\xe1\xa2" , "\xe6\x88\xf9\x65" } , { "\xc4\xe8\xc5\xe1\xa3" , "\xe6\x88\xf9\x66" } , { "\xc4\xe8\xc5\xe2" , "\xe9\x88\xf9" } , { "\xc4\xe8\xc5\xe5" , "\xe6\x88\xf9\xe7" } , { "\xc4\xe8\xc5\xe5\xa2" , "\xe6\x88\xf9\xe7\x65" } , { "\xc4\xe8\xc5\xe8\xc2" , "\x56\xcb\x57\xfd\xcb\x54\xf6" } , { "\xc4\xe8\xc5\xe8\xc6\xda" , "\xb2\x57\xfd\xc2\xe7" } , { "\xc4\xe8\xc5\xe8\xca\xdc" , "\x88\x9d\xf9\xdd" } , { "\xc4\xe8\xc5\xe8\xcd" , "\x56\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc4\xe8\xc5\xe8\xcd\xa2" , "\x56\xcb\x57\xfd\xcb\xcc\x5e\x65" } , { "\xc4\xe8\xc5\xe8\xcd\xda" , "\x56\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xc4\xe8\xc5\xe8\xcd\xe5" , "\x56\xcb\x57\xfd\xcb\xe6\xcc\x5e\xe7" } , { "\xc4\xe8\xc5\xe8\xcf\xdb" , "\xd7\x88\x98\xf9" } , { "\xc4\xe8\xc5\xe8\xd5\xdd" , "\x56\xcb\x57\xfd\xcb\xa3" } , { "\xc4\xe8\xc6" , "\x56\xc2" } , { "\xc4\xe8\xc6\xda" , "\x56\xc2\xe7" } , { "\xc4\xe8\xc6\xdb" , "\xd7\x56\xc2" } , { "\xc4\xe8\xc6\xdb\xa2" , "\xd7\x56\xc2\x65" } , { "\xc4\xe8\xc6\xdc" , "\x56\xc2\xdd" } , { "\xc4\xe8\xc6\xdd" , "\x56\xc2\xc7" } , { "\xc4\xe8\xc6\xdd\xa2" , "\x56\xc2\xc7\x65" } , { "\xc4\xe8\xc6\xe5" , "\xe6\x56\xc2\xe7" } , { "\xc4\xe8\xc6\xe8\xc2" , "\xb2\xdc\x99\xf6" } , { "\xc4\xe8\xc8" , "\xb2\x59" } , { "\xc4\xe8\xc8\xa2" , "\xb2\x59\x65" } , { "\xc4\xe8\xc8\xda" , "\xb2\x59\xe7" } , { "\xc4\xe8\xc8\xdd" , "\xb2\x59\xc7" } , { "\xc4\xe8\xc8\xde" , "\xb2\x59\xc9" } , { "\xc4\xe8\xc8\xe2" , "\xe9\xb2\x59" } , { "\xc4\xe8\xca" , "\xa5" } , { "\xc4\xe8\xca\xa2" , "\xa5\x65" } , { "\xc4\xe8\xca\xda" , "\xa5\xe7" } , { "\xc4\xe8\xca\xda\xa2" , "\xa5\xe7\x65" } , { "\xc4\xe8\xca\xdb" , "\xd7\xa5" } , { "\xc4\xe8\xca\xdc" , "\xa5\xdd" } , { "\xc4\xe8\xca\xdd" , "\xa5\xc7" } , { "\xc4\xe8\xca\xe1" , "\xe6\xa5" } , { "\xc4\xe8\xca\xe5" , "\xe6\xa5\xe7" } , { "\xc4\xe8\xca\xe8\xcf" , "\xb2\x5b\xfd\xd0" } , { "\xc4\xe8\xca\xe8\xcf\xda" , "\xb2\x5b\xfd\xd0\xe7" } , { "\xc4\xe8\xcb" , "\xe0\xf6" } , { "\xc4\xe8\xcb\xa2" , "\xe0\xf6\x65" } , { "\xc4\xe8\xcb\xda" , "\xe0\xf6\xe7" } , { "\xc4\xe8\xcb\xda\xa2" , "\xe0\xf6\xe7\x65" } , { "\xc4\xe8\xcb\xdb" , "\xd7\xe0\xf6" } , { "\xc4\xe8\xcb\xdb\xa3" , "\xd7\xe0\xf6\x66" } , { "\xc4\xe8\xcb\xdc" , "\xe0\xf6\xdd" } , { "\xc4\xe8\xcb\xdd" , "\xe0\xc7\xf6" } , { "\xc4\xe8\xcb\xde" , "\xe0\xc9\xf6" } , { "\xc4\xe8\xcb\xe1" , "\xe6\xe0\xf6" } , { "\xc4\xe8\xcb\xe5" , "\xe6\xe0\xf6\xe7" } , { "\xc4\xe8\xcb\xe8\xcf\xda" , "\xe0\xf6\x98\xe7" } , { "\xc4\xe8\xcb\xe8\xcf\xde" , "\xe0\xf6\x98\xc8" } , { "\xc4\xe8\xcc" , "\xb2\xbf" } , { "\xc4\xe8\xcc\xa2" , "\xb2\xbf\x65" } , { "\xc4\xe8\xcc\xda" , "\xb2\xbf\xe7" } , { "\xc4\xe8\xcc\xda\xa2" , "\xb2\xbf\xe7\x65" } , { "\xc4\xe8\xcc\xdb" , "\xd7\xb2\xbf" } , { "\xc4\xe8\xcc\xdd" , "\xb2\xbf\xc7" } , { "\xc4\xe8\xcc\xde" , "\xb2\xbf\xc9" } , { "\xc4\xe8\xcc\xe1" , "\xe6\xb2\xbf" } , { "\xc4\xe8\xcc\xe1\xa2" , "\xe6\xb2\xbf\x65" } , { "\xc4\xe8\xcc\xe5" , "\xe6\xb2\xbf\xe7" } , { "\xc4\xe8\xcd" , "\x56\xee" } , { "\xc4\xe8\xcd\xa1" , "\x56\xee\x67" } , { "\xc4\xe8\xcd\xa2" , "\x56\xee\x65" } , { "\xc4\xe8\xcd\xa3" , "\x56\xee\x66" } , { "\xc4\xe8\xcd\xda" , "\x56\xee\xe7" } , { "\xc4\xe8\xcd\xda\xa2" , "\x56\xee\xe7\x65" } , { "\xc4\xe8\xcd\xda\xa3" , "\x56\xee\xe7\x66" } , { "\xc4\xe8\xcd\xdb" , "\xd7\x56\xee" } , { "\xc4\xe8\xcd\xdd" , "\x56\xc7\xee" } , { "\xc4\xe8\xcd\xdd\xa2" , "\x56\xc7\xee\x65" } , { "\xc4\xe8\xcd\xde" , "\x56\xc9\xee" } , { "\xc4\xe8\xcd\xdf" , "\x56\xca\xee" } , { "\xc4\xe8\xcd\xe1" , "\xe6\x56\xee" } , { "\xc4\xe8\xcd\xe1\xa2" , "\xe6\x56\xee\x65" } , { "\xc4\xe8\xcd\xe2" , "\xe9\x56\xee" } , { "\xc4\xe8\xcd\xe5" , "\xe6\x56\xee\xe7" } , { "\xc4\xe8\xcd\xe5\xa2" , "\xe6\x56\xee\xe7\x65" } , { "\xc4\xe8\xcd\xe6" , "\xe6\x56\xee\xec" } , { "\xc4\xe8\xcd\xe6\xa2" , "\xe6\x56\xee\xec\x65" } , { "\xc4\xe8\xcd\xe8" , "\x56\xee\xcb" } , { "\xc4\xe8\xcd\xe8\xcd" , "\x56\xee\xee" } , { "\xc4\xe8\xcd\xe8\xcd\xda" , "\x56\xee\xee\xe7" } , { "\xc4\xe8\xcd\xe8\xcd\xe5" , "\xe6\x56\xee\xee\xe7" } , { "\xc4\xe8\xcd\xe8\xcf" , "\x56\x5e\xd2" } , { "\xc4\xe8\xcd\xe8\xcf\xa2" , "\x56\x5e\xd2\x65" } , { "\xc4\xe8\xcd\xe8\xcf\xda" , "\x56\x5e\xd2\xe7" } , { "\xc4\xe8\xcf" , "\x56\xd0" } , { "\xc4\xe8\xcf\xa2" , "\x56\xd0\x65" } , { "\xc4\xe8\xcf\xa3" , "\x56\xd0\x66" } , { "\xc4\xe8\xcf\xd9" , "\x56\xd0" } , { "\xc4\xe8\xcf\xda" , "\x56\xd0\xe7" } , { "\xc4\xe8\xcf\xda\xa2" , "\x56\xd0\xe7\x65" } , { "\xc4\xe8\xcf\xdb" , "\xd7\x56\xd0" } , { "\xc4\xe8\xcf\xdb\xa2" , "\xd7\x56\xd0\x65" } , { "\xc4\xe8\xcf\xdc" , "\x56\xd0\xdd" } , { "\xc4\xe8\xcf\xdd" , "\x56\xd0\xd3" } , { "\xc4\xe8\xcf\xdd\xa2" , "\x56\xd0\xd3\x65" } , { "\xc4\xe8\xcf\xde" , "\x56\xd0\xd6" } , { "\xc4\xe8\xcf\xe1" , "\xe6\x56\xd0" } , { "\xc4\xe8\xcf\xe2" , "\xe8\x56\xd0" } , { "\xc4\xe8\xcf\xe5" , "\xe6\x56\xd0\xe7" } , { "\xc4\xe8\xcf\xe5\xa2" , "\xe6\x56\xd0\xe7\x65" } , { "\xc4\xe8\xcf\xe6" , "\xe6\x56\xd0\xec" } , { "\xc4\xe8\xcf\xe8" , "\x56\xd0\xcb" } , { "\xc4\xe8\xcf\xe8\xc3\xa2" , "\x56\xcb\xcc\x5b\xfd\xcb\x55\x65" } , { "\xc4\xe8\xcf\xe8\xc8\xda" , "\x56\xcb\xcc\x5b\xfd\xcb\x59\xe7" } , { "\xc4\xe8\xcf\xe8\xcd" , "\x56\xcb\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc4\xe8\xcf\xe8\xcd\xa2" , "\x56\xcb\xcc\x5b\xfd\xcb\xcc\x5e\x65" } , { "\xc4\xe8\xcf\xe8\xcd\xda" , "\x56\xcb\xcc\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xc4\xe8\xd1" , "\x56\xc0" } , { "\xc4\xe8\xd1\xda\xa2" , "\x56\xc0\xe7\x65" } , { "\xc4\xe8\xd1\xdb" , "\xd7\x56\xc0" } , { "\xc4\xe8\xd1\xdc" , "\x56\xc0\xdd" } , { "\xc4\xe8\xd1\xdd" , "\x56\xc0\xc7" } , { "\xc4\xe8\xd1\xde" , "\x56\xc0\xc9" } , { "\xc4\xe8\xd1\xe5" , "\xe6\x56\xc0\xe7" } , { "\xc4\xe8\xd5" , "\xb2\x60" } , { "\xc4\xe8\xd5\xdb" , "\xd7\xb2\x60" } , { "\xc4\xe8\xd5\xe5" , "\xe6\xb2\x60\xe7" } , { "\xc4\xe8\xd5\xe8\xcc" , "\xb2\x60\xbd" } , { "\xc4\xe8\xd5\xe8\xcd" , "\x56\xcb\xb8\xcc\x5e" } , { "\xc4\xe8\xd5\xe8\xcd\xe5\xa2" , "\x56\xcb\xe6\xb8\xcc\x5e\xe7\x65" } , { "\xc4\xe8\xd6" , "\xb2\x62" } , { "\xc4\xe8\xd6\xda" , "\xb2\x62\xe7" } , { "\xc4\xe8\xd6\xdb" , "\xd7\xb2\x62" } , { "\xc4\xe8\xd6\xe8\xbd" , "\xb2\x72\xf4" } , { "\xc4\xe8\xd6\xe8\xbd\xda\xa2" , "\xb2\x72\xf4\xe7\x65" } , { "\xc4\xe8\xd6\xe8\xbd\xdb" , "\xd7\xb2\x72\xf4" } , { "\xc4\xe8\xd6\xe8\xbd\xdc" , "\xb2\x72\xf4\xdd" } , { "\xc4\xe8\xd6\xe8\xbe\xdb" , "\xd7\xb2\x9c\xf6" } , { "\xc4\xe8\xd6\xe8\xc2\xdb" , "\x56\xcb\xd7\xb9\x54\xf6" } , { "\xc4\xe8\xd7" , "\xb2\x61" } , { "\xc4\xe8\xd7\xda" , "\xb2\x61\xe7" } , { "\xc4\xe8\xd7\xdb" , "\xd7\xb2\x61" } , { "\xc4\xe8\xd8" , "\xb2\x63\xf7" } , { "\xc4\xe8\xd8\xda" , "\xb2\x63\xf7\xe7" } , { "\xc4\xe8\xd8\xdb\xa2" , "\xd7\xb2\x63\xf7\x65" } , { "\xc4\xe8\xd8\xdd" , "\xb2\x63\xc7\xf7" } , { "\xc4\xe8\xd9\xa6" , "\xb2\x2b" } , { "\xc4\xe8\xd9\xc2\xe5\xa2" , "\xb2\xe3\x54\xf6\xe7\x65" } , { "\xc4\xe8\xd9\xc4" , "\xb2\x56" } , { "\xc4\xe8\xd9\xc4\xda" , "\xb2\x56\xe7" } , { "\xc4\xe8\xd9\xc4\xdc" , "\xb2\x56\xdd" } , { "\xc4\xe8\xd9\xc4\xdd" , "\xb2\x56\xc7" } , { "\xc4\xe8\xd9\xc4\xde" , "\xb2\x56\xc9" } , { "\xc4\xe8\xd9\xc4\xe1" , "\xb2\xe3\x56" } , { "\xc4\xe8\xd9\xc4\xe6" , "\xb2\xe3\x56\xec" } , { "\xc4\xe8\xd9\xc5" , "\xb2\x57\xfd" } , { "\xc4\xe8\xd9\xc5\xda" , "\xb2\x57\xfd\xe7" } , { "\xc4\xe8\xd9\xc5\xde" , "\xb2\x57\xfd\xc9" } , { "\xc4\xe8\xd9\xc5\xdf" , "\xb2\x57\xfd\xca" } , { "\xc4\xe8\xd9\xc5\xe5\xa2" , "\xb2\xe3\x57\xfd\xe7\x65" } , { "\xc4\xe8\xd9\xcb\xda" , "\xb2\x5c\xf6\xe7" } , { "\xc4\xe8\xd9\xcb\xdd" , "\xb2\x5c\xc7\xf6" } , { "\xc4\xe8\xd9\xcb\xde" , "\xb2\x5c\xc9\xf6" } , { "\xc4\xe8\xd9\xcb\xdf" , "\xb2\x5c\xca\xf6" } , { "\xc4\xe8\xd9\xcc\xdb" , "\xb2\xd7\x5d" } , { "\xc4\xe8\xd9\xcc\xe1\xa2" , "\xb2\xe3\x5d\x65" } , { "\xc4\xe8\xd9\xcd" , "\xb2\xcc\x5e" } , { "\xc4\xe8\xd9\xcd\xda" , "\xb2\xcc\x5e\xe7" } , { "\xc4\xe8\xd9\xcd\xdd" , "\xb2\xcc\x5e\xc7" } , { "\xc4\xe8\xd9\xcd\xe5" , "\xb2\xe3\xcc\x5e\xe7" } , { "\xc4\xe8\xd9\xcd\xe5\xa2" , "\xb2\xe3\xcc\x5e\xe7\x65" } , { "\xc4\xe8\xd9\xcf\xe8\xc5" , "\xb2\x57\xfd\xef" } , { "\xc4\xe8\xe8" , "\x56\xcb" } , { "\xc4\xe8\xe9\xc4" , "\x81" } , { "\xc4\xe8\xe9\xc5" , "\x88\xf9" } , { "\xc4\xe8\xe9\xcd" , "\xb2\xcc\x5e" } , { "\xc4\xe8\xe9\xcf" , "\x56\xd0" } , { "\xc4\xe9" , "\x56" } , { "\xc5" , "\x57\xfd" } , { "\xc5\xa1" , "\x57\xfd\x67" } , { "\xc5\xa2" , "\x57\xfd\x65" } , { "\xc5\xa3" , "\x57\xfd\x66" } , { "\xc5\xda" , "\x57\xfd\xe7" } , { "\xc5\xda\xa1" , "\x57\xfd\x67\xe7" } , { "\xc5\xda\xa2" , "\x57\xfd\xe7\x65" } , { "\xc5\xdb" , "\xd7\x57\xfd" } , { "\xc5\xdb\xa2" , "\xd7\x57\xfd\x65" } , { "\xc5\xdb\xa3" , "\xd7\x57\xfd\x66" } , { "\xc5\xdc" , "\x57\xfd\xdd" } , { "\xc5\xdc\xa2" , "\x57\xfd\xdd\x65" } , { "\xc5\xdc\xa3" , "\x57\xfd\xdd\x66" } , { "\xc5\xdd" , "\x57\xfd\xc7" } , { "\xc5\xdd\xa1" , "\x57\xfd\x67\xc7" } , { "\xc5\xdd\xa2" , "\x57\xfd\xc7\x65" } , { "\xc5\xdd\xa3" , "\x57\xfd\xc7\x66" } , { "\xc5\xde" , "\x57\xfd\xc9" } , { "\xc5\xde\xa1" , "\x57\xfd\x67\xc9" } , { "\xc5\xde\xa2" , "\x57\xfd\xc9\x65" } , { "\xc5\xdf" , "\x57\xfd\xca" } , { "\xc5\xe1" , "\xe6\x57\xfd" } , { "\xc5\xe1\xa2" , "\xe6\x57\xfd\x65" } , { "\xc5\xe2" , "\xe9\x57\xfd" } , { "\xc5\xe5" , "\xe6\x57\xfd\xe7" } , { "\xc5\xe5\xa2" , "\xe6\x57\xfd\xe7\x65" } , { "\xc5\xe5\xa3" , "\xe6\x57\xfd\xe7\x66" } , { "\xc5\xe6" , "\xe6\x57\xfd\xec" } , { "\xc5\xe6\xa2" , "\xe6\x57\xfd\xec\x65" } , { "\xc5\xe8" , "\x57\xfd\xcb" } , { "\xc5\xe8\xb3\xda" , "\x57\xfd\xcb\x45\xf5\xe7" } , { "\xc5\xe8\xb3\xdd" , "\x57\xfd\xcb\x45\xc7\xf5" } , { "\xc5\xe8\xb3\xe5" , "\x57\xfd\xcb\xe6\x45\xf5\xe7" } , { "\xc5\xe8\xb3\xe8\xd6" , "\x57\xfd\xcb\x6c\xf9" } , { "\xc5\xe8\xb5" , "\x57\xfd\xcb\x47" } , { "\xc5\xe8\xb8" , "\x57\xfd\xcb\xbb\x4a\xf4" } , { "\xc5\xe8\xb8\xda" , "\x57\xfd\xcb\xbb\x4a\xf4\xe7" } , { "\xc5\xe8\xbf\xe9\xda" , "\x57\xfd\xcb\x51\xcd\xf6\xe7" } , { "\xc5\xe8\xc1\xda" , "\x57\xfd\xcb\x53\xe7" } , { "\xc5\xe8\xc1\xdb" , "\x57\xfd\xcb\xd7\x53" } , { "\xc5\xe8\xc2" , "\x57\xfd\xcb\x54\xf6" } , { "\xc5\xe8\xc2\xda" , "\x57\xfd\xcb\x54\xf6\xe7" } , { "\xc5\xe8\xc4" , "\x57\xfd\xcb\x56" } , { "\xc5\xe8\xc4\xda" , "\x57\xfd\xcb\x56\xe7" } , { "\xc5\xe8\xc4\xda\xa2" , "\x57\xfd\xcb\x56\xe7\x65" } , { "\xc5\xe8\xc4\xdb" , "\x57\xfd\xcb\xd7\x56" } , { "\xc5\xe8\xc4\xdd" , "\x57\xfd\xcb\x56\xc7" } , { "\xc5\xe8\xc4\xde" , "\x57\xfd\xcb\x56\xc9" } , { "\xc5\xe8\xc4\xe1\xa2" , "\x57\xfd\xcb\xe6\x56\x65" } , { "\xc5\xe8\xc4\xe5" , "\x57\xfd\xcb\xe6\x56\xe7" } , { "\xc5\xe8\xc4\xe5\xa2" , "\x57\xfd\xcb\xe6\x56\xe7\x65" } , { "\xc5\xe8\xc4\xe8\xc4" , "\x57\xfd\xcb\x81" } , { "\xc5\xe8\xc5" , "\x57\xfd\xcb\x57\xfd" } , { "\xc5\xe8\xc5\xa2" , "\x57\xfd\xcb\x57\xfd\x65" } , { "\xc5\xe8\xc5\xda" , "\x57\xfd\xcb\x57\xfd\xe7" } , { "\xc5\xe8\xc5\xda\xa2" , "\x57\xfd\xcb\x57\xfd\xe7\x65" } , { "\xc5\xe8\xc5\xdb" , "\x57\xfd\xcb\xd7\x57\xfd" } , { "\xc5\xe8\xc5\xdb\xa2" , "\x57\xfd\xcb\xd7\x57\xfd\x65" } , { "\xc5\xe8\xc5\xdd" , "\x57\xfd\xcb\x57\xfd\xc7" } , { "\xc5\xe8\xc5\xe8\xcd" , "\x57\xfd\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc5\xe8\xc5\xe8\xcd\xda" , "\x57\xfd\xcb\x57\xfd\xcb\xcc\x5e\xe7" } , { "\xc5\xe8\xc6" , "\x57\xfd\xc2" } , { "\xc5\xe8\xc6\xda" , "\x57\xfd\xc2\xe7" } , { "\xc5\xe8\xc6\xdd" , "\x57\xfd\xc2\xc7" } , { "\xc5\xe8\xc6\xe8\xcd\xda" , "\x57\xfd\xcb\xb3\xcc\x5e\xe7" } , { "\xc5\xe8\xc8\xdd" , "\x57\xfd\xcb\x59\xc7" } , { "\xc5\xe8\xc8\xde" , "\x57\xfd\xcb\x59\xc9" } , { "\xc5\xe8\xca\xdd" , "\x57\x5b\xfd\xc7" } , { "\xc5\xe8\xca\xe6" , "\xe6\x57\x5b\xfd\xec" } , { "\xc5\xe8\xcb\xdd" , "\x57\xfd\xcb\x5c\xc7\xf6" } , { "\xc5\xe8\xcc" , "\x57\x5d" } , { "\xc5\xe8\xcc\xda" , "\x57\x5d\xe7" } , { "\xc5\xe8\xcc\xdd" , "\x57\x5d\xc7" } , { "\xc5\xe8\xcd" , "\x57\xfd\xee" } , { "\xc5\xe8\xcd\xa2" , "\x57\xfd\xee\x65" } , { "\xc5\xe8\xcd\xa3" , "\x57\xfd\xee\x66" } , { "\xc5\xe8\xcd\xda" , "\x57\xfd\xee\xe7" } , { "\xc5\xe8\xcd\xda\xa2" , "\x57\xfd\xee\xe7\x65" } , { "\xc5\xe8\xcd\xda\xa3" , "\x57\xfd\xee\xe7\x66" } , { "\xc5\xe8\xcd\xdb" , "\xd7\x57\xfd\xee" } , { "\xc5\xe8\xcd\xdc" , "\x57\xfd\xee\xdd" } , { "\xc5\xe8\xcd\xdd" , "\x57\xc7\xfd\xee" } , { "\xc5\xe8\xcd\xde" , "\x57\xc9\xfd\xee" } , { "\xc5\xe8\xcd\xdf" , "\x57\xca\xfd\xee" } , { "\xc5\xe8\xcd\xe1" , "\xe6\x57\xfd\xee" } , { "\xc5\xe8\xcd\xe2" , "\xe9\x57\xfd\xee" } , { "\xc5\xe8\xcd\xe5" , "\xe6\x57\xfd\xee\xe7" } , { "\xc5\xe8\xcd\xe5\xa2" , "\xe6\x57\xfd\xee\xe7\x65" } , { "\xc5\xe8\xcd\xe6" , "\xe6\x57\xfd\xee\xec" } , { "\xc5\xe8\xcd\xe8" , "\x57\xfd\xee\xcb" } , { "\xc5\xe8\xcd\xe8\xc2" , "\x57\xfd\x5e\xcb\x54\xf6" } , { "\xc5\xe8\xcd\xe8\xcd" , "\x57\xfd\xee\xee" } , { "\xc5\xe8\xcd\xe8\xcd\xda" , "\x57\xfd\xee\xee\xe7" } , { "\xc5\xe8\xcf" , "\x57\xfd\xd0" } , { "\xc5\xe8\xcf\xa2" , "\x57\xfd\xd0\x65" } , { "\xc5\xe8\xcf\xda" , "\x57\xfd\xd0\xe7" } , { "\xc5\xe8\xcf\xda\xa2" , "\x57\xfd\xd0\xe7\x65" } , { "\xc5\xe8\xcf\xdb" , "\xd7\x57\xfd\xd0" } , { "\xc5\xe8\xcf\xdc" , "\x57\xfd\xd0\xdd" } , { "\xc5\xe8\xcf\xdd" , "\x57\xfd\xd0\xd3" } , { "\xc5\xe8\xcf\xde" , "\x57\xfd\xd0\xd6" } , { "\xc5\xe8\xcf\xdf" , "\x57\xfd\xd0\xca" } , { "\xc5\xe8\xcf\xe1" , "\xe6\x57\xfd\xd0" } , { "\xc5\xe8\xcf\xe5" , "\xe6\x57\xfd\xd0\xe7" } , { "\xc5\xe8\xcf\xe8\xcc\xe5" , "\x57\xfd\xcb\xe6\xcc\x5b\xfd\xbd\xe7" } , { "\xc5\xe8\xcf\xe8\xcd" , "\x57\xfd\xcb\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc5\xe8\xcf\xe8\xcd\xda" , "\x57\xfd\xcb\xcc\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xc5\xe8\xcf\xe8\xcd\xde" , "\x57\xfd\xcb\xcc\x5b\xfd\xcb\xcc\x5e\xc9" } , { "\xc5\xe8\xd1\xdd" , "\x57\xfd\xc0\xc7" } , { "\xc5\xe8\xd1\xe5" , "\xe6\x57\xfd\xc0\xe7" } , { "\xc5\xe8\xd5\xda" , "\x57\xfd\xcb\x60\xe7" } , { "\xc5\xe8\xd6\xda" , "\x57\xfd\xcb\x62\xe7" } , { "\xc5\xe8\xd6\xdb" , "\x57\xfd\xcb\xd7\x62" } , { "\xc5\xe8\xd6\xe8\xbd" , "\x57\xfd\xcb\x72\xf4" } , { "\xc5\xe8\xd7" , "\x57\xfd\xcb\x61" } , { "\xc5\xe8\xd7\xe1" , "\x57\xfd\xcb\xe6\x61" } , { "\xc5\xe8\xd7\xe8" , "\x57\xfd\xcb\x61\xcb" } , { "\xc5\xe8\xd9\xcd" , "\x57\xfd\xcb\xcc\x5e" } , { "\xc5\xe8\xe8" , "\x57\xfd\xcb" } , { "\xc5\xe9" , "\x57\xfd" } , { "\xc6" , "\x58" } , { "\xc6\xa1" , "\x58\x67" } , { "\xc6\xa2" , "\x58\x65" } , { "\xc6\xa2\xa2" , "\x58\x65\x65" } , { "\xc6\xa3" , "\x58\x66" } , { "\xc6\xda" , "\x58\xe7" } , { "\xc6\xda\xa1" , "\x58\x67\xe7" } , { "\xc6\xda\xa2" , "\x58\xe7\x65" } , { "\xc6\xda\xa3" , "\x58\xe7\x66" } , { "\xc6\xdb" , "\xd7\x58" } , { "\xc6\xdb\xa2" , "\xd7\x58\x65" } , { "\xc6\xdb\xa3" , "\xd7\x58\x66" } , { "\xc6\xdc" , "\x58\xdd" } , { "\xc6\xdc\xa2" , "\x58\xdd\x65" } , { "\xc6\xdd" , "\x58\xc7" } , { "\xc6\xdd\xa1" , "\x58\x67\xc7" } , { "\xc6\xdd\xa2" , "\x58\xc7\x65" } , { "\xc6\xdd\xa2\xa2" , "\x58\xc7\x65\x65" } , { "\xc6\xdd\xa3" , "\x58\xc7\x66" } , { "\xc6\xde" , "\x58\xc9" } , { "\xc6\xde\xa1" , "\x58\x67\xc9" } , { "\xc6\xde\xa2" , "\x58\xc9\x65" } , { "\xc6\xdf" , "\x58\xca" } , { "\xc6\xe1" , "\xe6\x58" } , { "\xc6\xe1\xa2" , "\xe6\x58\x65" } , { "\xc6\xe2" , "\xe9\x58" } , { "\xc6\xe2\xa2" , "\xe9\x58\x65" } , { "\xc6\xe2\xa3" , "\xe9\x58\x66" } , { "\xc6\xe5" , "\xe6\x58\xe7" } , { "\xc6\xe5\xa2" , "\xe6\x58\xe7\x65" } , { "\xc6\xe5\xa3" , "\xe6\x58\xe7\x66" } , { "\xc6\xe6" , "\xe6\x58\xec" } , { "\xc6\xe6\xa2" , "\xe6\x58\xec\x65" } , { "\xc6\xe8" , "\x58\xcb" } , { "\xc6\xe8\xb3" , "\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xa2" , "\xb3\x45\xf5\x65" } , { "\xc6\xe8\xb3\xda" , "\xb3\x45\xf5\xe7" } , { "\xc6\xe8\xb3\xda\xa2" , "\xb3\x45\xf5\xe7\x65" } , { "\xc6\xe8\xb3\xdb" , "\xd7\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xdc" , "\xb3\x45\xf5\xdd" } , { "\xc6\xe8\xb3\xdd" , "\xb3\x45\xc7\xf5" } , { "\xc6\xe8\xb3\xdd\xa2" , "\xb3\x45\xc7\xf5\x65" } , { "\xc6\xe8\xb3\xde" , "\xb3\x45\xc9\xf5" } , { "\xc6\xe8\xb3\xdf" , "\xb3\x45\xca\xf5" } , { "\xc6\xe8\xb3\xe1" , "\xe6\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xe2" , "\xe9\xb3\x45\xf5" } , { "\xc6\xe8\xb3\xe2\xa2" , "\xe9\xb3\x45\xf5\x65" } , { "\xc6\xe8\xb3\xe5" , "\xe6\xb3\x45\xf5\xe7" } , { "\xc6\xe8\xb3\xe5\xa2" , "\xe6\xb3\x45\xf5\xe7\x65" } , { "\xc6\xe8\xb3\xe8" , "\xb3\x45\xcb\xf5" } , { "\xc6\xe8\xb3\xe8\xb3" , "\xb3\x68\xf5" } , { "\xc6\xe8\xb3\xe8\xbd\xdb" , "\xd7\xb3\x6b\xf4" } , { "\xc6\xe8\xb3\xe8\xcd\xdd" , "\x58\xcb\xa8\xcc\x5e\xc7" } , { "\xc6\xe8\xb3\xe8\xcf" , "\xb3\x79\xd4" } , { "\xc6\xe8\xb3\xe8\xcf\xdb" , "\xd7\xb3\x79\xd4" } , { "\xc6\xe8\xb3\xe8\xcf\xdc" , "\xb3\x79\xd4\xdd" } , { "\xc6\xe8\xb3\xe8\xcf\xe5" , "\xe6\xb3\x79\xd4\xe7" } , { "\xc6\xe8\xb3\xe8\xd1\xda" , "\xb3\x7a\xf5\xe7" } , { "\xc6\xe8\xb3\xe8\xd1\xdd" , "\xb3\x7a\xc7\xf5" } , { "\xc6\xe8\xb3\xe8\xd1\xde" , "\xb3\x7a\xc9\xf5" } , { "\xc6\xe8\xb3\xe8\xd1\xe1" , "\xe6\xb3\x7a\xf5" } , { "\xc6\xe8\xb3\xe8\xd1\xe5" , "\xe6\xb3\x7a\xf5\xe7" } , { "\xc6\xe8\xb3\xe8\xd5" , "\x58\xcb\xa8\x60" } , { "\xc6\xe8\xb3\xe8\xd6" , "\xb3\x6c\xf9" } , { "\xc6\xe8\xb3\xe9" , "\xb3\x45\xf5" } , { "\xc6\xe8\xb4" , "\xb3\x46" } , { "\xc6\xe8\xb4\xda" , "\xb3\x46\xe7" } , { "\xc6\xe8\xb4\xdb" , "\xd7\xb3\x46" } , { "\xc6\xe8\xb5" , "\xb3\x47" } , { "\xc6\xe8\xb5\xa2" , "\xb3\x47\x65" } , { "\xc6\xe8\xb5\xda" , "\xb3\x47\xe7" } , { "\xc6\xe8\xb5\xdb" , "\xd7\xb3\x47" } , { "\xc6\xe8\xb5\xdd" , "\xb3\x47\xc7" } , { "\xc6\xe8\xb5\xde" , "\xb3\x47\xc9" } , { "\xc6\xe8\xb5\xe5" , "\xe6\xb3\x47\xe7" } , { "\xc6\xe8\xb5\xe8\xb5\xda" , "\x58\xcb\xaa\x47\xe7" } , { "\xc6\xe8\xb5\xe8\xcf\xda" , "\xb3\x47\xd0\xe7" } , { "\xc6\xe8\xb5\xe8\xcf\xdc" , "\xb3\x47\xd0\xdd" } , { "\xc6\xe8\xb5\xe8\xcf\xe1" , "\xe6\xb3\x47\xd0" } , { "\xc6\xe8\xb5\xe8\xcf\xe5" , "\xe6\xb3\x47\xd0\xe7" } , { "\xc6\xe8\xb6" , "\xb3\x48" } , { "\xc6\xe8\xb6\xdc" , "\xb3\x48\xdd" } , { "\xc6\xe8\xb6\xdd" , "\xb3\x48\xc7" } , { "\xc6\xe8\xb8" , "\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xa2" , "\xb3\x4a\xf4\x65" } , { "\xc6\xe8\xb8\xda" , "\xb3\x4a\xf4\xe7" } , { "\xc6\xe8\xb8\xdb" , "\xd7\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xdb\xa2" , "\xd7\xb3\x4a\xf4\x65" } , { "\xc6\xe8\xb8\xdc" , "\xb3\x4a\xf4\xdd" } , { "\xc6\xe8\xb8\xdd" , "\xb3\x4a\xc7\xf4" } , { "\xc6\xe8\xb8\xde" , "\xb3\x4a\xc9\xf4" } , { "\xc6\xe8\xb8\xe1" , "\xe6\xb3\x4a\xf4" } , { "\xc6\xe8\xb8\xe5" , "\xe6\xb3\x4a\xf4\xe7" } , { "\xc6\xe8\xb8\xe5\xa2" , "\xe6\xb3\x4a\xf4\xe7\x65" } , { "\xc6\xe8\xb8\xe8" , "\xb3\x4a\xcb\xf4" } , { "\xc6\xe8\xb8\xe8\xbf\xe8" , "\x58\xcb\xac\x51\xcb\xf6" } , { "\xc6\xe8\xb9" , "\xb3\x4b\xf7" } , { "\xc6\xe8\xb9\xda" , "\xb3\x4b\xf7\xe7" } , { "\xc6\xe8\xba" , "\xb3\x4c" } , { "\xc6\xe8\xba\xa2" , "\xb3\x4c\x65" } , { "\xc6\xe8\xba\xda" , "\xb3\x4c\xe7" } , { "\xc6\xe8\xba\xdb" , "\xd7\xb3\x4c" } , { "\xc6\xe8\xba\xdb\xa2" , "\xd7\xb3\x4c\x65" } , { "\xc6\xe8\xba\xdc" , "\xb3\x4c\xdd" } , { "\xc6\xe8\xba\xde" , "\xb3\x4c\xc9" } , { "\xc6\xe8\xba\xe1" , "\xe6\xb3\x4c" } , { "\xc6\xe8\xba\xe2" , "\xe9\xb3\x4c" } , { "\xc6\xe8\xba\xe5" , "\xe6\xb3\x4c\xe7" } , { "\xc6\xe8\xba\xe8" , "\xb3\x4c\xcb" } , { "\xc6\xe8\xba\xe8\xbc\xda" , "\xb3\x70\xfb\xe7" } , { "\xc6\xe8\xba\xe8\xcd\xde" , "\x58\xcb\x4c\xcb\xcc\x5e\xc9" } , { "\xc6\xe8\xba\xe9\xda" , "\xb3\x4c\xe7" } , { "\xc6\xe8\xbc\xe8\xb8" , "\xb3\x87\xfb" } , { "\xc6\xe8\xbd" , "\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xda" , "\xb3\x4f\xf4\xe7" } , { "\xc6\xe8\xbd\xdb" , "\xd7\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xdb\xa2" , "\xd7\xb3\x4f\xf4\x65" } , { "\xc6\xe8\xbd\xdc" , "\xb3\x4f\xf4\xdd" } , { "\xc6\xe8\xbd\xdd" , "\xb3\x4f\xc7\xf4" } , { "\xc6\xe8\xbd\xde" , "\xb3\x4f\xc9\xf4" } , { "\xc6\xe8\xbd\xe1" , "\xe6\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xe1\xa2" , "\xe6\xb3\x4f\xf4\x65" } , { "\xc6\xe8\xbd\xe2" , "\xe8\xb3\x4f\xf4" } , { "\xc6\xe8\xbd\xe2\xa2" , "\xe8\xb3\x4f\xf4\x65" } , { "\xc6\xe8\xbd\xe5" , "\xe6\xb3\x4f\xf4\xe7" } , { "\xc6\xe8\xbd\xe5\xa2" , "\xe6\xb3\x4f\xf4\xe7\x65" } , { "\xc6\xe8\xbd\xe8" , "\xb3\x4f\xcb\xf4" } , { "\xc6\xe8\xbd\xe8\xc6\xdb" , "\xd7\xb3\xae\xf3\xf4" } , { "\xc6\xe8\xbd\xe8\xcf" , "\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xda" , "\xb3\xae\xcf\xf4\xe7" } , { "\xc6\xe8\xbd\xe8\xcf\xdb" , "\xd7\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xdc" , "\xb3\xae\xcf\xf4\xdd" } , { "\xc6\xe8\xbd\xe8\xcf\xde" , "\xb3\xae\xcf\xc9\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe1" , "\xe6\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe2" , "\xe8\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xbd\xe8\xcf\xe5" , "\xe6\xb3\xae\xcf\xf4\xe7" } , { "\xc6\xe8\xbd\xe8\xd1" , "\xb3\xae\xf2\xf4" } , { "\xc6\xe8\xbd\xe8\xd1\xdd" , "\xb3\xae\xf2\xc7\xf4" } , { "\xc6\xe8\xbd\xe8\xd1\xde" , "\xb3\xae\xf2\xc9\xf4" } , { "\xc6\xe8\xbd\xe8\xd7" , "\x58\xcb\xae\x61" } , { "\xc6\xe8\xbd\xe8\xd7\xdb" , "\x58\xcb\xd7\xae\x61" } , { "\xc6\xe8\xbe" , "\xb3\x50\xf6" } , { "\xc6\xe8\xbf" , "\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xa2" , "\xb3\x51\xf6\x65" } , { "\xc6\xe8\xbf\xda" , "\xb3\x51\xf6\xe7" } , { "\xc6\xe8\xbf\xdb" , "\xd7\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xdb\xa2" , "\xd7\xb3\x51\xf6\x65" } , { "\xc6\xe8\xbf\xdc" , "\xb3\x51\xf6\xdd" } , { "\xc6\xe8\xbf\xdd" , "\xb3\x51\xc7\xf6" } , { "\xc6\xe8\xbf\xe1" , "\xe6\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xe2" , "\xe9\xb3\x51\xf6" } , { "\xc6\xe8\xbf\xe5" , "\xe6\xb3\x51\xf6\xe7" } , { "\xc6\xe8\xbf\xe5\xa2" , "\xe6\xb3\x51\xf6\xe7\x65" } , { "\xc6\xe8\xbf\xe8" , "\xb3\x51\xcb\xf6" } , { "\xc6\xe8\xbf\xe8\xb3\xda" , "\x58\xcb\xaf\x45\xf5\xe7" } , { "\xc6\xe8\xbf\xe8\xb5\xda" , "\x58\xcb\xaf\x47\xe7" } , { "\xc6\xe8\xbf\xe8\xca\xe8\xcd\xda" , "\xb3\x51\xcb\xf6\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xc6\xe8\xbf\xe8\xcf" , "\xb3\x51\xce\xf6" } , { "\xc6\xe8\xbf\xe8\xcf\xda" , "\xb3\x51\xce\xf6\xe7" } , { "\xc6\xe8\xbf\xe8\xcf\xdb" , "\xd7\xb3\x51\xce\xf6" } , { "\xc6\xe8\xbf\xe8\xcf\xdc" , "\xb3\x51\xce\xf6\xdd" } , { "\xc6\xe8\xbf\xe8\xcf\xe5" , "\xe6\xb3\x51\xce\xf6\xe7" } , { "\xc6\xe8\xc0\xdb" , "\xd7\xb3\x52\xf4" } , { "\xc6\xe8\xc1\xe8\xc1\xde" , "\xb3\x7c\xc9" } , { "\xc6\xe8\xc2" , "\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xa2" , "\xdc\x99\xf6\x65" } , { "\xc6\xe8\xc2\xa3" , "\xdc\x99\xf6\x66" } , { "\xc6\xe8\xc2\xda" , "\xdc\x99\xf6\xe7" } , { "\xc6\xe8\xc2\xdb" , "\xd7\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xdc" , "\xdc\x99\xf6\xdd" } , { "\xc6\xe8\xc2\xdd" , "\xdc\x99\xc7\xf6" } , { "\xc6\xe8\xc2\xde" , "\xdc\x99\xc9\xf6" } , { "\xc6\xe8\xc2\xe1" , "\xe6\xdc\x99\xf6" } , { "\xc6\xe8\xc2\xe5" , "\xe6\xdc\x99\xf6\xe7" } , { "\xc6\xe8\xc2\xe5\xa2" , "\xe6\xdc\x99\xf6\xe7\x65" } , { "\xc6\xe8\xc2\xe8" , "\xdc\x99\xcb\xf6" } , { "\xc6\xe8\xc2\xe8\xc2" , "\xb3\x77\xf8" } , { "\xc6\xe8\xc2\xe8\xc8\xe8\xc2" , "\xb1\xb3\x8a" } , { "\xc6\xe8\xc2\xe8\xcd" , "\x58\xcb\xb1\xcc\x5e" } , { "\xc6\xe8\xc2\xe8\xcd\xda" , "\x58\xcb\xb1\xcc\x5e\xe7" } , { "\xc6\xe8\xc2\xe8\xcd\xe1" , "\x58\xcb\xe6\xb1\xcc\x5e" } , { "\xc6\xe8\xc2\xe8\xcf" , "\xdc\x97\xf6" } , { "\xc6\xe8\xc2\xe8\xcf\xda" , "\xdc\x97\xf6\xe7" } , { "\xc6\xe8\xc2\xe8\xcf\xdb" , "\xd7\xdc\x97\xf6" } , { "\xc6\xe8\xc2\xe8\xcf\xdc" , "\xdc\x97\xf6\xdd" } , { "\xc6\xe8\xc2\xe8\xcf\xe1" , "\xe6\xdc\x97\xf6" } , { "\xc6\xe8\xc2\xe8\xcf\xe5" , "\xe6\xdc\x97\xf6\xe7" } , { "\xc6\xe8\xc2\xe8\xcf\xe5\xa2" , "\xe6\xdc\x97\xf6\xe7\x65" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd" , "\xb3\x64\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc6\xe8\xc2\xe8\xcf\xe8\xcd\xe5" , "\xb3\x64\xcc\x5b\xfd\xcb\xe6\xcc\x5e\xe7" } , { "\xc6\xe8\xc2\xe8\xd7\xda\xa2" , "\x58\xcb\xb1\x61\xe7\x65" } , { "\xc6\xe8\xc2\xe8\xd7\xe5" , "\x58\xcb\xe6\xb1\x61\xe7" } , { "\xc6\xe8\xc3" , "\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xda" , "\xdc\x9a\xf6\xe7" } , { "\xc6\xe8\xc3\xdb" , "\xd7\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xdc" , "\xdc\x9a\xf6\xdd" } , { "\xc6\xe8\xc3\xe1" , "\xe6\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xe2" , "\xe9\xdc\x9a\xf6" } , { "\xc6\xe8\xc3\xe5" , "\xe6\xdc\x9a\xf6\xe7" } , { "\xc6\xe8\xc3\xe5\xa2" , "\xe6\xdc\x9a\xf6\xe7\x65" } , { "\xc6\xe8\xc3\xe8" , "\xdc\x9a\xf6\xcb" } , { "\xc6\xe8\xc3\xe8\xcf\xda\xa2" , "\xdc\x9a\xf6\x98\xe7\x65" } , { "\xc6\xe8\xc3\xe8\xcf\xe1" , "\xe6\xdc\x9a\xf6\x98" } , { "\xc6\xe8\xc3\xe8\xcf\xe2" , "\xe9\xdc\x9a\xf6\x98" } , { "\xc6\xe8\xc4" , "\xb3\x56" } , { "\xc6\xe8\xc4\xda" , "\xb3\x56\xe7" } , { "\xc6\xe8\xc4\xda\xa2" , "\xb3\x56\xe7\x65" } , { "\xc6\xe8\xc4\xdb" , "\xd7\xb3\x56" } , { "\xc6\xe8\xc4\xdc" , "\xb3\x56\xdd" } , { "\xc6\xe8\xc4\xdc\xa2" , "\xb3\x56\xdd\x65" } , { "\xc6\xe8\xc4\xdd" , "\xb3\x56\xc7" } , { "\xc6\xe8\xc4\xde" , "\xb3\x56\xc9" } , { "\xc6\xe8\xc4\xde\xa2" , "\xb3\x56\xc9\x65" } , { "\xc6\xe8\xc4\xe1" , "\xe6\xb3\x56" } , { "\xc6\xe8\xc4\xe1\xa2" , "\xe6\xb3\x56\x65" } , { "\xc6\xe8\xc4\xe2" , "\xe9\xb3\x56" } , { "\xc6\xe8\xc4\xe5" , "\xe6\xb3\x56\xe7" } , { "\xc6\xe8\xc4\xe5\xa2" , "\xe6\xb3\x56\xe7\x65" } , { "\xc6\xe8\xc4\xe6" , "\xe6\xb3\x56\xec" } , { "\xc6\xe8\xc4\xe8\xc5" , "\xb3\x88\xf9" } , { "\xc6\xe8\xc4\xe8\xc5\xda" , "\xb3\x88\xf9\xe7" } , { "\xc6\xe8\xc4\xe8\xc5\xdc" , "\xb3\x88\xf9\xdd" } , { "\xc6\xe8\xc4\xe8\xc6\xda" , "\xb3\x56\xc2\xe7" } , { "\xc6\xe8\xc4\xe8\xcd" , "\x58\xcb\xb2\xcc\x5e" } , { "\xc6\xe8\xc4\xe8\xcd\xdd" , "\x58\xcb\xb2\xcc\x5e\xc7" } , { "\xc6\xe8\xc4\xe8\xcd\xe5" , "\x58\xcb\xe6\xb2\xcc\x5e\xe7" } , { "\xc6\xe8\xc4\xe8\xcf" , "\xb3\x56\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xda" , "\xb3\x56\xd0\xe7" } , { "\xc6\xe8\xc4\xe8\xcf\xda\xa2" , "\xb3\x56\xd0\xe7\x65" } , { "\xc6\xe8\xc4\xe8\xcf\xdb" , "\xd7\xb3\x56\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xdc" , "\xb3\x56\xd0\xdd" } , { "\xc6\xe8\xc4\xe8\xcf\xde" , "\xb3\x56\xd0\xd6" } , { "\xc6\xe8\xc4\xe8\xcf\xe1" , "\xe6\xb3\x56\xd0" } , { "\xc6\xe8\xc4\xe8\xcf\xe5" , "\xe6\xb3\x56\xd0\xe7" } , { "\xc6\xe8\xc4\xe8\xcf\xe5\xa2" , "\xe6\xb3\x56\xd0\xe7\x65" } , { "\xc6\xe8\xc4\xe8\xcf\xe8\xcd\xde" , "\xb3\x56\xcb\xcc\x5b\xfd\xcb\xcc\x5e\xc9" } , { "\xc6\xe8\xc5" , "\xb5\xf9" } , { "\xc6\xe8\xc5\xda" , "\xb5\xf9\xe7" } , { "\xc6\xe8\xc5\xdb" , "\xd7\xb5\xf9" } , { "\xc6\xe8\xc5\xdc" , "\xb5\xf9\xdd" } , { "\xc6\xe8\xc5\xdd" , "\xb5\xc7\xf9" } , { "\xc6\xe8\xc5\xde" , "\xb5\xc9\xf9" } , { "\xc6\xe8\xc5\xe1" , "\xe6\xb5\xf9" } , { "\xc6\xe8\xc5\xe5" , "\xe6\xb5\xf9\xe7" } , { "\xc6\xe8\xc5\xe5\xa2" , "\xe6\xb5\xf9\xe7\x65" } , { "\xc6\xe8\xc5\xe6" , "\xe6\xb5\xf9\xec" } , { "\xc6\xe8\xc5\xe8\xcd" , "\xb5\xf9\xee" } , { "\xc6\xe8\xc5\xe8\xcd\xda" , "\xb5\xf9\xee\xe7" } , { "\xc6\xe8\xc5\xe8\xcd\xdc" , "\xb5\xf9\xee\xdd" } , { "\xc6\xe8\xc5\xe8\xcf" , "\xb5\xd0\xf9" } , { "\xc6\xe8\xc5\xe8\xcf\xda\xa2" , "\xb5\xd0\xf9\xe7\x65" } , { "\xc6\xe8\xc5\xe8\xcf\xdc" , "\xb5\xd0\xf9\xdd" } , { "\xc6\xe8\xc5\xe8\xcf\xe5\xa2" , "\xe6\xb5\xd0\xf9\xe7\x65" } , { "\xc6\xe8\xc6" , "\x7e" } , { "\xc6\xe8\xc6\xa2" , "\x7e\x65" } , { "\xc6\xe8\xc6\xda" , "\x7e\xe7" } , { "\xc6\xe8\xc6\xda\xa2" , "\x7e\xe7\x65" } , { "\xc6\xe8\xc6\xdb" , "\xd7\x7e" } , { "\xc6\xe8\xc6\xdb\xa2" , "\xd7\x7e\x65" } , { "\xc6\xe8\xc6\xdb\xa3" , "\xd7\x7e\x66" } , { "\xc6\xe8\xc6\xdc" , "\x7e\xdd" } , { "\xc6\xe8\xc6\xdc\xa2" , "\x7e\xdd\x65" } , { "\xc6\xe8\xc6\xdd" , "\x7e\xc7" } , { "\xc6\xe8\xc6\xdd\xa2" , "\x7e\xc7\x65" } , { "\xc6\xe8\xc6\xde" , "\x7e\xc9" } , { "\xc6\xe8\xc6\xdf" , "\x7e\xca" } , { "\xc6\xe8\xc6\xe1" , "\xe6\x7e" } , { "\xc6\xe8\xc6\xe1\xa2" , "\xe6\x7e\x65" } , { "\xc6\xe8\xc6\xe2" , "\xe8\x7e" } , { "\xc6\xe8\xc6\xe5" , "\xe6\x7e\xe7" } , { "\xc6\xe8\xc6\xe5\xa2" , "\xe6\x7e\xe7\x65" } , { "\xc6\xe8\xc6\xe6" , "\xe6\x7e\xec" } , { "\xc6\xe8\xc6\xe8" , "\x7e\xcb" } , { "\xc6\xe8\xc6\xe8\xb5\xda" , "\x58\xcb\xb3\x47\xe7" } , { "\xc6\xe8\xc6\xe8\xbd\xe8\xd1\xdd" , "\xb3\xb3\xae\xf2\xc7\xf4" } , { "\xc6\xe8\xc6\xe8\xc2" , "\xb3\xdc\x99\xf6" } , { "\xc6\xe8\xc6\xe8\xc4\xe5" , "\x58\xcb\xe6\xb3\x56\xe7" } , { "\xc6\xe8\xc6\xe8\xc5\xe8\xcd" , "\xb3\x58\xcb\x57\xfd\xcb\xcc\x5e" } , { "\xc6\xe8\xc6\xe8\xc8\xdd" , "\x58\xcb\xb3\x59\xc7" } , { "\xc6\xe8\xc6\xe8\xc9" , "\xb3\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc6\xe8\xcc" , "\x7e\xbd" } , { "\xc6\xe8\xc6\xe8\xcd\xda" , "\x58\xcb\xb3\xcc\x5e\xe7" } , { "\xc6\xe8\xc6\xe8\xcf" , "\x7e\x98" } , { "\xc6\xe8\xc6\xe8\xcf\xe5" , "\xe6\x7e\x98\xe7" } , { "\xc6\xe8\xc8" , "\xb3\x59" } , { "\xc6\xe8\xc8\xa2" , "\xb3\x59\x65" } , { "\xc6\xe8\xc8\xda" , "\xb3\x59\xe7" } , { "\xc6\xe8\xc8\xda\xa2" , "\xb3\x59\xe7\x65" } , { "\xc6\xe8\xc8\xdb" , "\xd7\xb3\x59" } , { "\xc6\xe8\xc8\xdb\xa2" , "\xd7\xb3\x59\x65" } , { "\xc6\xe8\xc8\xdc" , "\xb3\x59\xdd" } , { "\xc6\xe8\xc8\xdd" , "\xb3\x59\xc7" } , { "\xc6\xe8\xc8\xde" , "\xb3\x59\xc9" } , { "\xc6\xe8\xc8\xe1" , "\xe6\xb3\x59" } , { "\xc6\xe8\xc8\xe2" , "\xe9\xb3\x59" } , { "\xc6\xe8\xc8\xe5" , "\xe6\xb3\x59\xe7" } , { "\xc6\xe8\xc8\xe6" , "\xe6\xb3\x59\xec" } , { "\xc6\xe8\xc8\xe8\xc8" , "\x58\xcb\xb4\x59" } , { "\xc6\xe8\xc8\xe8\xcd\xde" , "\x58\xcb\xb4\xcc\x5e\xc9" } , { "\xc6\xe8\xc8\xe8\xcd\xdf\xa2" , "\x58\xcb\xb4\xcc\x5e\xca\x65" } , { "\xc6\xe8\xc8\xe8\xcf" , "\xb3\x59\xd2" } , { "\xc6\xe8\xc8\xe8\xcf\xda" , "\xb3\x59\xd2\xe7" } , { "\xc6\xe8\xc8\xe8\xd1\xda" , "\xb3\x59\xc0\xe7" } , { "\xc6\xe8\xc8\xe8\xd1\xdc" , "\xb3\x59\xc0\xdd" } , { "\xc6\xe8\xc8\xe8\xd1\xdd" , "\xb3\x59\xc0\xc7" } , { "\xc6\xe8\xc8\xe8\xd1\xde" , "\xb3\x59\xc0\xc9" } , { "\xc6\xe8\xc8\xe8\xd1\xe1" , "\xe6\xb3\x59\xc0" } , { "\xc6\xe8\xc9" , "\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xda" , "\xdc\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xc9\xda\xa2" , "\xdc\xf6\x8f\xf5\xe7\x65" } , { "\xc6\xe8\xc9\xdb" , "\xd7\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xdc" , "\xdc\xf6\x8f\xf5\xdd" } , { "\xc6\xe8\xc9\xdd" , "\xdc\xf6\x8f\xc7\xf5" } , { "\xc6\xe8\xc9\xe1" , "\xe6\xdc\xf6\x8f\xf5" } , { "\xc6\xe8\xc9\xe1\xa2" , "\xe6\xdc\xf6\x8f\xf5\x65" } , { "\xc6\xe8\xc9\xe5" , "\xe6\xdc\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xc9\xe8\xcd\xde" , "\x58\xcb\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xc6\xe8\xc9\xe8\xcf\xda" , "\xdc\xf6\x8f\x98\xe7" } , { "\xc6\xe8\xc9\xe8\xcf\xdb" , "\xd7\xdc\xf6\x8f\x98" } , { "\xc6\xe8\xc9\xe8\xcf\xdb\xa2" , "\xd7\xdc\xf6\x8f\x98\x65" } , { "\xc6\xe8\xc9\xe8\xcf\xdc" , "\xdc\xf6\x8f\x98\xdd" } , { "\xc6\xe8\xc9\xe8\xcf\xe1" , "\xe6\xdc\xf6\x8f\x98" } , { "\xc6\xe8\xc9\xe8\xcf\xe1\xa2" , "\xe6\xdc\xf6\x8f\x98\x65" } , { "\xc6\xe8\xc9\xe8\xd1" , "\xb3\x6e\xf5" } , { "\xc6\xe8\xc9\xe8\xd1\xdd" , "\xb3\x6e\xc7\xf5" } , { "\xc6\xe8\xc9\xe8\xd1\xdd\xa2" , "\xb3\x6e\xc7\xf5\x65" } , { "\xc6\xe8\xc9\xe8\xd1\xde" , "\xb3\x6e\xc9\xf5" } , { "\xc6\xe8\xc9\xe8\xd1\xe1" , "\xe6\xb3\x6e\xf5" } , { "\xc6\xe8\xca" , "\x58\x9f" } , { "\xc6\xe8\xca\xda" , "\x58\x9f\xe7" } , { "\xc6\xe8\xca\xda\xa2" , "\x58\x9f\xe7\x65" } , { "\xc6\xe8\xca\xdd" , "\x58\x9f\xc7" } , { "\xc6\xe8\xca\xde" , "\x58\x9f\xc9" } , { "\xc6\xe8\xca\xe1" , "\xe6\x58\x9f" } , { "\xc6\xe8\xca\xe5" , "\xe6\x58\x9f\xe7" } , { "\xc6\xe8\xca\xe5\xa2" , "\xe6\x58\x9f\xe7\x65" } , { "\xc6\xe8\xca\xe8\xcf\xe1" , "\xe6\x58\x9f\x98" } , { "\xc6\xe8\xca\xe8\xcf\xe5" , "\xe6\x58\x9f\x98\xe7" } , { "\xc6\xe8\xca\xe8\xd1\xe1" , "\xe6\xb3\x5b\xfd\xc0" } , { "\xc6\xe8\xcb\xda" , "\xb3\x5c\xf6\xe7" } , { "\xc6\xe8\xcb\xde" , "\xb3\x5c\xc9\xf6" } , { "\xc6\xe8\xcc" , "\x58\xbd" } , { "\xc6\xe8\xcc\xa2" , "\x58\xbd\x65" } , { "\xc6\xe8\xcc\xa3" , "\x58\xbd\x66" } , { "\xc6\xe8\xcc\xda" , "\x58\xbd\xe7" } , { "\xc6\xe8\xcc\xda\xa2" , "\x58\xbd\xe7\x65" } , { "\xc6\xe8\xcc\xdb" , "\xd7\x58\xbd" } , { "\xc6\xe8\xcc\xdb\xa2" , "\xd7\x58\xbd\x65" } , { "\xc6\xe8\xcc\xdc" , "\x58\xbd\xdd" } , { "\xc6\xe8\xcc\xdd" , "\x58\xbd\xc6" } , { "\xc6\xe8\xcc\xdd\xa2" , "\x58\xbd\xc6\x65" } , { "\xc6\xe8\xcc\xde" , "\x58\xbd\xc8" } , { "\xc6\xe8\xcc\xdf" , "\x58\xbd\xca" } , { "\xc6\xe8\xcc\xe1" , "\xe6\x58\xbd" } , { "\xc6\xe8\xcc\xe1\xa2" , "\xe6\x58\xbd\x65" } , { "\xc6\xe8\xcc\xe2" , "\xe9\x58\xbd" } , { "\xc6\xe8\xcc\xe5" , "\xe6\x58\xbd\xe7" } , { "\xc6\xe8\xcc\xe5\xa2" , "\xe6\x58\xbd\xe7\x65" } , { "\xc6\xe8\xcc\xe8\xcc\xdb" , "\xd7\xb3\xb6\xf6\x82" } , { "\xc6\xe8\xcd" , "\x58\xee" } , { "\xc6\xe8\xcd\xa2" , "\x58\xee\x65" } , { "\xc6\xe8\xcd\xa3" , "\x58\xee\x66" } , { "\xc6\xe8\xcd\xda" , "\x58\xee\xe7" } , { "\xc6\xe8\xcd\xda\xa2" , "\x58\xee\xe7\x65" } , { "\xc6\xe8\xcd\xda\xa3" , "\x58\xee\xe7\x66" } , { "\xc6\xe8\xcd\xdb" , "\xd7\x58\xee" } , { "\xc6\xe8\xcd\xdc" , "\x58\xee\xdd" } , { "\xc6\xe8\xcd\xdd" , "\x58\xc7\xee" } , { "\xc6\xe8\xcd\xdd\xa2" , "\x58\xc7\xee\x65" } , { "\xc6\xe8\xcd\xde" , "\x58\xc9\xee" } , { "\xc6\xe8\xcd\xde\xa2" , "\x58\xc9\xee\x65" } , { "\xc6\xe8\xcd\xdf" , "\x58\xca\xee" } , { "\xc6\xe8\xcd\xe1" , "\xe6\x58\xee" } , { "\xc6\xe8\xcd\xe2" , "\xe9\x58\xee" } , { "\xc6\xe8\xcd\xe5" , "\xe6\x58\xee\xe7" } , { "\xc6\xe8\xcd\xe5\xa2" , "\xe6\x58\xee\xe7\x65" } , { "\xc6\xe8\xcd\xe6" , "\xe6\x58\xee\xec" } , { "\xc6\xe8\xcd\xe8" , "\x58\xee\xcb" } , { "\xc6\xe8\xcd\xe8\xcd" , "\x58\xee\xee" } , { "\xc6\xe8\xcd\xe8\xcd\xda" , "\x58\xee\xee\xe7" } , { "\xc6\xe8\xcd\xe8\xcd\xde" , "\x58\xc9\xee\xee" } , { "\xc6\xe8\xcf" , "\x58\xd0" } , { "\xc6\xe8\xcf\xa2" , "\x58\xd0\x65" } , { "\xc6\xe8\xcf\xda" , "\x58\xd0\xe7" } , { "\xc6\xe8\xcf\xdb" , "\xd7\x58\xd0" } , { "\xc6\xe8\xcf\xdc" , "\x58\xd0\xdd" } , { "\xc6\xe8\xcf\xdd" , "\x58\xd0\xc7" } , { "\xc6\xe8\xcf\xde" , "\x58\xd0\xc9" } , { "\xc6\xe8\xcf\xe2" , "\xe8\x58\xd0" } , { "\xc6\xe8\xcf\xe5" , "\xe6\x58\xd0\xe7" } , { "\xc6\xe8\xcf\xe8" , "\x58\xd0\xcb" } , { "\xc6\xe8\xcf\xe8\xbf\xdb" , "\x58\xcb\xcc\x5b\xfd\xcb\xd7\x51\xf6" } , { "\xc6\xe8\xcf\xe8\xc2" , "\x58\xcb\xcc\x5b\xfd\xcb\x54\xf6" } , { "\xc6\xe8\xcf\xe8\xd7\xda" , "\x58\xcb\xcc\x5b\xfd\xcb\x61\xe7" } , { "\xc6\xe8\xd1" , "\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xa2" , "\xdc\xda\xf6\x65" } , { "\xc6\xe8\xd1\xda" , "\xdc\xda\xf6\xe7" } , { "\xc6\xe8\xd1\xda\xa2" , "\xdc\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd1\xdb" , "\xd7\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xdc" , "\xdc\xda\xf6\xdd" } , { "\xc6\xe8\xd1\xdd" , "\xdc\xda\xf6\xc7" } , { "\xc6\xe8\xd1\xdd\xa2" , "\xdc\xda\xf6\xc7\x65" } , { "\xc6\xe8\xd1\xde" , "\xdc\xda\xf6\xc9" } , { "\xc6\xe8\xd1\xe1" , "\xe6\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xe1\xa2" , "\xe6\xdc\xda\xf6\x65" } , { "\xc6\xe8\xd1\xe2" , "\xe8\xdc\xda\xf6" } , { "\xc6\xe8\xd1\xe5" , "\xe6\xdc\xda\xf6\xe7" } , { "\xc6\xe8\xd1\xe5\xa2" , "\xe6\xdc\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd1\xe8" , "\xdc\xda\xf6\xcb" } , { "\xc6\xe8\xd1\xe8\xcd\xda\xa2" , "\x58\xcb\xb7\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd1\xe8\xcd\xde" , "\x58\xcb\xb7\xcc\x5e\xc9" } , { "\xc6\xe8\xd1\xe8\xd7\xe1" , "\x58\xcb\xe6\xb7\x61" } , { "\xc6\xe8\xd5" , "\xb3\x60" } , { "\xc6\xe8\xd5\xa2" , "\xb3\x60\x65" } , { "\xc6\xe8\xd5\xda" , "\xb3\x60\xe7" } , { "\xc6\xe8\xd5\xdb" , "\xd7\xb3\x60" } , { "\xc6\xe8\xd5\xdc" , "\xb3\x60\xdd" } , { "\xc6\xe8\xd6" , "\xb3\x62" } , { "\xc6\xe8\xd6\xda" , "\xb3\x62\xe7" } , { "\xc6\xe8\xd6\xdb" , "\xd7\xb3\x62" } , { "\xc6\xe8\xd6\xdc" , "\xb3\x62\xdd" } , { "\xc6\xe8\xd6\xdd" , "\xb3\x62\xc7" } , { "\xc6\xe8\xd6\xde" , "\xb3\x62\xc9" } , { "\xc6\xe8\xd6\xe2" , "\xe9\xb3\x62" } , { "\xc6\xe8\xd6\xe8\xbd" , "\xb3\x72\xf4" } , { "\xc6\xe8\xd6\xe8\xbd\xe1" , "\xe6\xb3\x72\xf4" } , { "\xc6\xe8\xd6\xe8\xbd\xe8\xcf" , "\xb3\x72\xd1\xf4" } , { "\xc6\xe8\xd6\xe8\xcd\xde" , "\x58\xcb\xb9\xcc\x5e\xc9" } , { "\xc6\xe8\xd7" , "\xb3\x61" } , { "\xc6\xe8\xd7\xa2" , "\xb3\x61\x65" } , { "\xc6\xe8\xd7\xda" , "\xb3\x61\xe7" } , { "\xc6\xe8\xd7\xda\xa2" , "\xb3\x61\xe7\x65" } , { "\xc6\xe8\xd7\xdb" , "\xd7\xb3\x61" } , { "\xc6\xe8\xd7\xdb\xa2" , "\xd7\xb3\x61\x65" } , { "\xc6\xe8\xd7\xdc" , "\xb3\x61\xdd" } , { "\xc6\xe8\xd7\xdc\xa2" , "\xb3\x61\xdd\x65" } , { "\xc6\xe8\xd7\xdd" , "\xb3\x61\xc7" } , { "\xc6\xe8\xd7\xdd\xa2" , "\xb3\x61\xc7\x65" } , { "\xc6\xe8\xd7\xde" , "\xb3\x61\xc9" } , { "\xc6\xe8\xd7\xe1" , "\xe6\xb3\x61" } , { "\xc6\xe8\xd7\xe1\xa2" , "\xe6\xb3\x61\x65" } , { "\xc6\xe8\xd7\xe2" , "\xe9\xb3\x61" } , { "\xc6\xe8\xd7\xe5" , "\xe6\xb3\x61\xe7" } , { "\xc6\xe8\xd7\xe5\xa2" , "\xe6\xb3\x61\xe7\x65" } , { "\xc6\xe8\xd7\xe8" , "\xb3\x61\xcb" } , { "\xc6\xe8\xd7\xe8\xb3\xda" , "\xb3\x95\xf5\xe7" } , { "\xc6\xe8\xd7\xe8\xb3\xdb" , "\xd7\xb3\x95\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xdc" , "\xb3\x95\xf5\xdd" } , { "\xc6\xe8\xd7\xe8\xb3\xdd" , "\xb3\x95\xc7\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xde" , "\xb3\x95\xc9\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe1" , "\xe6\xb3\x95\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe5" , "\xe6\xb3\x95\xf5\xe7" } , { "\xc6\xe8\xd7\xe8\xb3\xe8" , "\xb3\x95\xcb\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcd\xdd" , "\xb3\x61\xcb\xa8\xcc\x5e\xc7" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\xd7\xb3\x95\x98\xf5" } , { "\xc6\xe8\xd7\xe8\xb3\xe8\xcf\xe1" , "\xe6\xb3\x95\x98\xf5" } , { "\xc6\xe8\xd7\xe8\xb5\xda" , "\x58\xcb\xba\x47\xe7" } , { "\xc6\xe8\xd7\xe8\xb8\xe5" , "\x58\xcb\xe6\xba\x4a\xf4\xe7" } , { "\xc6\xe8\xd7\xe8\xba\xda" , "\x58\xcb\xba\x4c\xe7" } , { "\xc6\xe8\xd7\xe8\xba\xe1" , "\x58\xcb\xe6\xba\x4c" } , { "\xc6\xe8\xd7\xe8\xbd" , "\x58\xcb\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xda" , "\x58\xcb\xba\x4f\xf4\xe7" } , { "\xc6\xe8\xd7\xe8\xbd\xda\xa2" , "\x58\xcb\xba\x4f\xf4\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xbd\xdb" , "\x58\xcb\xd7\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xdc" , "\x58\xcb\xba\x4f\xf4\xdd" } , { "\xc6\xe8\xd7\xe8\xbd\xdd" , "\x58\xcb\xba\x4f\xc7\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xde" , "\x58\xcb\xba\x4f\xc9\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe1" , "\x58\xcb\xe6\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe2" , "\x58\xcb\xe8\xba\x4f\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe5" , "\x58\xcb\xe6\xba\x4f\xf4\xe7" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xb3" , "\xb3\x61\xcb\xae\x45\xf5" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xda\xa2" , "\xb3\x61\xcb\xae\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcd\xde" , "\xb3\x61\xcb\xae\xcc\x5e\xc9" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf" , "\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd7\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xdd" , "\xba\xb3\xae\xcf\xc7\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xde" , "\xba\xb3\xae\xcf\xc9\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe1" , "\xe6\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\xe8\xba\xb3\xae\xcf\xf4" } , { "\xc6\xe8\xd7\xe8\xbf\xdb" , "\x58\xcb\xd7\xba\x51\xf6" } , { "\xc6\xe8\xd7\xe8\xbf\xe8\xb5\xda" , "\xb3\x61\xcb\xaf\x47\xe7" } , { "\xc6\xe8\xd7\xe8\xc2" , "\xb3\xd8\x99\xf6" } , { "\xc6\xe8\xd7\xe8\xc2\xe5" , "\xe6\xb3\xd8\x99\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xc3\xda" , "\xb3\xd8\x9a\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xc3\xdb" , "\xd7\xb3\xd8\x9a\xf6" } , { "\xc6\xe8\xd7\xe8\xc6" , "\xb3\xd8\x6f\xf6" } , { "\xc6\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb3\xd8\x6f\xf6" } , { "\xc6\xe8\xd7\xe8\xc6\xdd" , "\xb3\xd8\x6f\xf6\xc7" } , { "\xc6\xe8\xd7\xe8\xc6\xdd\xa2" , "\xb3\xd8\x6f\xf6\xc7\x65" } , { "\xc6\xe8\xd7\xe8\xc8" , "\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xda" , "\xb3\x26\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xdb" , "\xd7\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xdc" , "\xb3\x26\xdd" } , { "\xc6\xe8\xd7\xe8\xc8\xdd" , "\xb3\x26\xc7" } , { "\xc6\xe8\xd7\xe8\xc8\xe1" , "\xe6\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xe2" , "\xe9\xb3\x26" } , { "\xc6\xe8\xd7\xe8\xc8\xe5" , "\xe6\xb3\x26\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\xb3\x26\xc0\xe7" } , { "\xc6\xe8\xd7\xe8\xc8\xe8\xd1\xda\xa2" , "\xb3\x26\xc0\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xc9" , "\xb3\xd8\xf6\x8f\xf5" } , { "\xc6\xe8\xd7\xe8\xc9\xda" , "\xb3\xd8\xf6\x8f\xf5\xe7" } , { "\xc6\xe8\xd7\xe8\xc9\xdb" , "\xd7\xb3\xd8\xf6\x8f\xf5" } , { "\xc6\xe8\xd7\xe8\xca" , "\xb3\xd8\x91\xf6" } , { "\xc6\xe8\xd7\xe8\xca\xe1" , "\xe6\xb3\xd8\x91\xf6" } , { "\xc6\xe8\xd7\xe8\xca\xe8\xcf\xda\xa2" , "\xb3\xd8\x91\xf6\x98\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xcc\xdb" , "\xd7\xb3\xd8\xf6\x82" } , { "\xc6\xe8\xd7\xe8\xcc\xdc" , "\xb3\xd8\xf6\x82\xdd" } , { "\xc6\xe8\xd7\xe8\xcc\xe8\xbd\xdb\xa2" , "\xb3\x61\xcb\x5d\xcb\xd7\xbb\x4f\xf4\x65" } , { "\xc6\xe8\xd7\xe8\xcd\xdd" , "\x58\xcb\xba\xcc\x5e\xc7" } , { "\xc6\xe8\xd7\xe8\xcd\xde" , "\x58\xcb\xba\xcc\x5e\xc9" } , { "\xc6\xe8\xd7\xe8\xcf\xda" , "\xb3\xd8\x83\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xd1" , "\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xda" , "\xb3\xd8\xda\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xd1\xda\xa2" , "\xb3\xd8\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xd1\xdb" , "\xd7\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xdd" , "\xb3\xd8\xda\xf6\xc7" } , { "\xc6\xe8\xd7\xe8\xd1\xe1" , "\xe6\xb3\xd8\xda\xf6" } , { "\xc6\xe8\xd7\xe8\xd1\xe5" , "\xe6\xb3\xd8\xda\xf6\xe7" } , { "\xc6\xe8\xd7\xe8\xd1\xe5\xa2" , "\xe6\xb3\xd8\xda\xf6\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xd1\xe8" , "\xb3\xd8\xda\xf6\xcb" } , { "\xc6\xe8\xd7\xe8\xd1\xe8\xcd\xda\xa2" , "\xb3\x61\xcb\xb7\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd7\xe8\xd7" , "\x58\xcb\xba\x61" } , { "\xc6\xe8\xd7\xe8\xd7\xe8" , "\x58\xcb\xba\x61\xcb" } , { "\xc6\xe8\xd8" , "\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xa2" , "\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xda" , "\xb3\x63\xf7\xe7" } , { "\xc6\xe8\xd8\xda\xa1" , "\xb3\x63\x67\xf7\xe7" } , { "\xc6\xe8\xd8\xda\xa2" , "\xb3\x63\xf7\xe7\x65" } , { "\xc6\xe8\xd8\xdb" , "\xd7\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xdb\xa2" , "\xd7\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xdc" , "\xb3\x63\xf7\xdd" } , { "\xc6\xe8\xd8\xdc\xa2" , "\xb3\x63\xf7\xdd\x65" } , { "\xc6\xe8\xd8\xdd\xa2" , "\xb3\x63\xc7\xf7\x65" } , { "\xc6\xe8\xd8\xe1" , "\xe6\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xe1\xa2" , "\xe6\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xe2" , "\xe9\xb3\x63\xf7" } , { "\xc6\xe8\xd8\xe2\xa2" , "\xe9\xb3\x63\xf7\x65" } , { "\xc6\xe8\xd8\xe5" , "\xe6\xb3\x63\xf7\xe7" } , { "\xc6\xe8\xd8\xe5\xa2" , "\xe6\xb3\x63\xf7\xe7\x65" } , { "\xc6\xe8\xd8\xe6" , "\xe6\xb3\x63\xf7\xec" } , { "\xc6\xe8\xd8\xe8\xcd" , "\x58\xcb\x63\xcb\xf7\xcc\x5e" } , { "\xc6\xe8\xd8\xe8\xcd\xda\xa2" , "\x58\xcb\x63\xcb\xf7\xcc\x5e\xe7\x65" } , { "\xc6\xe8\xd9\xa6" , "\xb3\x2b" } , { "\xc6\xe8\xd9\xc2" , "\xb3\x54\xf6" } , { "\xc6\xe8\xd9\xc2\xdd" , "\xb3\x54\xc7\xf6" } , { "\xc6\xe8\xd9\xc2\xe8\xcf" , "\xb3\x79" } , { "\xc6\xe8\xd9\xc6" , "\xb3\x58" } , { "\xc6\xe8\xd9\xc6\xda" , "\xb3\x58\xe7" } , { "\xc6\xe8\xd9\xc6\xdc" , "\xb3\x58\xdd" } , { "\xc6\xe8\xd9\xc6\xdd" , "\xb3\x58\xc7" } , { "\xc6\xe8\xd9\xc6\xde" , "\xb3\x58\xc9" } , { "\xc6\xe8\xd9\xc6\xe1" , "\xb3\xe3\x58" } , { "\xc6\xe8\xd9\xc6\xe5" , "\xb3\xe3\x58\xe7" } , { "\xc6\xe8\xd9\xc6\xe5\xa2" , "\xb3\xe3\x58\xe7\x65" } , { "\xc6\xe8\xd9\xc6\xe6" , "\xb3\xe3\x58\xec" } , { "\xc6\xe8\xd9\xcc\xde" , "\xb3\x5d\xc9" } , { "\xc6\xe8\xd9\xcf\xe8\xc2" , "\xb3\x54\xf6\xdb" } , { "\xc6\xe8\xd9\xd7\xda" , "\xb3\x61\xe7" } , { "\xc6\xe8\xd9\xd8" , "\xb3\x63\xf7" } , { "\xc6\xe8\xe8" , "\x58\xcb" } , { "\xc6\xe8\xe9\xc6" , "\x7e" } , { "\xc6\xe8\xe9\xcf" , "\x58\xd0" } , { "\xc6\xe9" , "\x58" } , { "\xc6\xe9\xe8\xbf" , "\xb3\x51\xf6" } , { "\xc8" , "\x59" } , { "\xc8\xa1" , "\x59\x67" } , { "\xc8\xa2" , "\x59\x65" } , { "\xc8\xa2\xa2" , "\x59\x65\x65" } , { "\xc8\xa3" , "\x59\x66" } , { "\xc8\xda" , "\x59\xe7" } , { "\xc8\xda\xa1" , "\x59\x67\xe7" } , { "\xc8\xda\xa2" , "\x59\xe7\x65" } , { "\xc8\xda\xa3" , "\x59\xe7\x66" } , { "\xc8\xdb" , "\xd7\x59" } , { "\xc8\xdb\xa2" , "\xd7\x59\x65" } , { "\xc8\xdb\xa2\xa2" , "\xd7\x59\x65\x65" } , { "\xc8\xdc" , "\x59\xdd" } , { "\xc8\xdc\xa2" , "\x59\xdd\x65" } , { "\xc8\xdd" , "\x59\xc7" } , { "\xc8\xdd\xa1" , "\x59\x67\xc7" } , { "\xc8\xdd\xa2" , "\x59\xc7\x65" } , { "\xc8\xdd\xa3" , "\x59\xc7\x66" } , { "\xc8\xde" , "\x59\xc9" } , { "\xc8\xde\xa1" , "\x59\x67\xc9" } , { "\xc8\xde\xa2" , "\x59\xc9\x65" } , { "\xc8\xdf" , "\x59\xca" } , { "\xc8\xe1" , "\xe6\x59" } , { "\xc8\xe1\xa1" , "\xe6\x59\x67" } , { "\xc8\xe1\xa2" , "\xe6\x59\x65" } , { "\xc8\xe2" , "\xe9\x59" } , { "\xc8\xe2\xa2" , "\xe9\x59\x65" } , { "\xc8\xe2\xa3" , "\xe9\x59\x66" } , { "\xc8\xe2\xcf\xe8" , "\xe9\x59\xcc\x5b\xfd\xcb" } , { "\xc8\xe5" , "\xe6\x59\xe7" } , { "\xc8\xe5\xa2" , "\xe6\x59\xe7\x65" } , { "\xc8\xe5\xa3" , "\xe6\x59\xe7\x66" } , { "\xc8\xe6" , "\xe6\x59\xec" } , { "\xc8\xe6\xa2" , "\xe6\x59\xec\x65" } , { "\xc8\xe8" , "\x59\xcb" } , { "\xc8\xe8\xb3" , "\xb4\x45\xf5" } , { "\xc8\xe8\xb3\xa2" , "\xb4\x45\xf5\x65" } , { "\xc8\xe8\xb3\xda" , "\xb4\x45\xf5\xe7" } , { "\xc8\xe8\xb3\xdb" , "\xd7\xb4\x45\xf5" } , { "\xc8\xe8\xb3\xdb\xa2" , "\xd7\xb4\x45\xf5\x65" } , { "\xc8\xe8\xb3\xdd" , "\xb4\x45\xc7\xf5" } , { "\xc8\xe8\xb3\xe1" , "\xe6\xb4\x45\xf5" } , { "\xc8\xe8\xb3\xe5" , "\xe6\xb4\x45\xf5\xe7" } , { "\xc8\xe8\xb3\xe8\xc2" , "\xb4\x4e\xfe" } , { "\xc8\xe8\xb3\xe8\xcf\xe8\xd7\xe8" , "\x59\xcb\x45\xcb\xf5\xcc\x5b\xfd\xcb\x61\xcb" } , { "\xc8\xe8\xb5" , "\xb4\x47" } , { "\xc8\xe8\xb5\xda" , "\xb4\x47\xe7" } , { "\xc8\xe8\xb5\xe8\xcf\xe1" , "\xe6\xb4\x47\xd0" } , { "\xc8\xe8\xb5\xe8\xcf\xe6\xa2" , "\xe6\xb4\x47\xd0\xec\x65" } , { "\xc8\xe8\xb6" , "\xb4\x48" } , { "\xc8\xe8\xb8" , "\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xda" , "\xb4\x4a\xf4\xe7" } , { "\xc8\xe8\xb8\xdb" , "\xd7\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xdd" , "\xb4\x4a\xc7\xf4" } , { "\xc8\xe8\xb8\xde" , "\xb4\x4a\xc9\xf4" } , { "\xc8\xe8\xb8\xe1" , "\xe6\xb4\x4a\xf4" } , { "\xc8\xe8\xb8\xe8" , "\xb4\x4a\xcb\xf4" } , { "\xc8\xe8\xb8\xe8\xb9\xda" , "\x59\xcb\xac\x4b\xf7\xe7" } , { "\xc8\xe8\xb9\xdd" , "\xb4\x4b\xc7\xf7" } , { "\xc8\xe8\xba" , "\xb4\x4c" } , { "\xc8\xe8\xba\xda" , "\xb4\x4c\xe7" } , { "\xc8\xe8\xba\xdb" , "\xd7\xb4\x4c" } , { "\xc8\xe8\xba\xdd" , "\xb4\x4c\xc7" } , { "\xc8\xe8\xbd" , "\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xa2" , "\xb4\x4f\xf4\x65" } , { "\xc8\xe8\xbd\xda" , "\xb4\x4f\xf4\xe7" } , { "\xc8\xe8\xbd\xdb" , "\xd7\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xdb\xa2" , "\xd7\xb4\x4f\xf4\x65" } , { "\xc8\xe8\xbd\xdc" , "\xb4\x4f\xf4\xdd" } , { "\xc8\xe8\xbd\xdd" , "\xb4\x4f\xc7\xf4" } , { "\xc8\xe8\xbd\xde" , "\xb4\x4f\xc9\xf4" } , { "\xc8\xe8\xbd\xe1" , "\xe6\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xe2" , "\xe8\xb4\x4f\xf4" } , { "\xc8\xe8\xbd\xe5" , "\xe6\xb4\x4f\xf4\xe7" } , { "\xc8\xe8\xbd\xe6" , "\xe6\xb4\x4f\xf4\xec" } , { "\xc8\xe8\xbd\xe8" , "\xb4\x4f\xcb\xf4" } , { "\xc8\xe8\xbd\xe8\xb3\xdd" , "\x59\xcb\xae\x45\xc7\xf5" } , { "\xc8\xe8\xbd\xe8\xb5\xda" , "\x59\xcb\xae\x47\xe7" } , { "\xc8\xe8\xbd\xe8\xb8\xe1" , "\x59\xcb\xe6\xae\x4a\xf4" } , { "\xc8\xe8\xbd\xe8\xc2\xe5" , "\x59\xcb\xe6\xae\x54\xf6\xe7" } , { "\xc8\xe8\xbd\xe8\xca\xda" , "\xb4\xae\xbc\xf4\xe7" } , { "\xc8\xe8\xbd\xe8\xcd\xde" , "\x59\xcb\xae\xcc\x5e\xc9" } , { "\xc8\xe8\xbd\xe8\xcf\xda" , "\xb4\xae\xcf\xf4\xe7" } , { "\xc8\xe8\xbd\xe8\xcf\xe5" , "\xe6\xb4\xae\xcf\xf4\xe7" } , { "\xc8\xe8\xbd\xe8\xd1\xdd" , "\xb4\xae\xf2\xc7\xf4" } , { "\xc8\xe8\xbd\xe8\xd7" , "\x59\xcb\xae\x61" } , { "\xc8\xe8\xbd\xe8\xd7\xe8" , "\x59\xcb\xae\x61\xcb" } , { "\xc8\xe8\xbd\xe8\xd8\xda" , "\x59\xcb\xae\x63\xf7\xe7" } , { "\xc8\xe8\xbf" , "\xb4\x51\xf6" } , { "\xc8\xe8\xbf\xda" , "\xb4\x51\xf6\xe7" } , { "\xc8\xe8\xbf\xdb" , "\xd7\xb4\x51\xf6" } , { "\xc8\xe8\xbf\xdd" , "\xb4\x51\xc7\xf6" } , { "\xc8\xe8\xbf\xe1" , "\xe6\xb4\x51\xf6" } , { "\xc8\xe8\xbf\xe8" , "\xb4\x51\xcb\xf6" } , { "\xc8\xe8\xbf\xe8\xcf\xda" , "\xb4\x51\xce\xf6\xe7" } , { "\xc8\xe8\xc1" , "\xb4\x53" } , { "\xc8\xe8\xc2" , "\x8a" } , { "\xc8\xe8\xc2\xa2" , "\x8a\x65" } , { "\xc8\xe8\xc2\xda" , "\x8a\xe7" } , { "\xc8\xe8\xc2\xda\xa2" , "\x8a\xe7\x65" } , { "\xc8\xe8\xc2\xdb" , "\xd7\x8a" } , { "\xc8\xe8\xc2\xdb\xa2" , "\xd7\x8a\x65" } , { "\xc8\xe8\xc2\xdc" , "\x8a\xdd" } , { "\xc8\xe8\xc2\xdd" , "\x8a\xc7" } , { "\xc8\xe8\xc2\xdd\xa2" , "\x8a\xc7\x65" } , { "\xc8\xe8\xc2\xde" , "\x8a\xc9" } , { "\xc8\xe8\xc2\xde\xa2" , "\x8a\xc9\x65" } , { "\xc8\xe8\xc2\xe1" , "\xe5\x8a" } , { "\xc8\xe8\xc2\xe2\xa3" , "\xe9\x8a\x66" } , { "\xc8\xe8\xc2\xe5" , "\xe5\x8a\xe7" } , { "\xc8\xe8\xc2\xe5\xa2" , "\xe5\x8a\xe7\x65" } , { "\xc8\xe8\xc2\xe8" , "\x8a\xcb" } , { "\xc8\xe8\xc2\xe8\xcd" , "\x59\xcb\xb1\xcc\x5e" } , { "\xc8\xe8\xc2\xe8\xcd\xda" , "\x59\xcb\xb1\xcc\x5e\xe7" } , { "\xc8\xe8\xc2\xe8\xcf" , "\x8a\x98" } , { "\xc8\xe8\xc2\xe8\xcf\xe2" , "\xe9\x8a\x98" } , { "\xc8\xe8\xc3" , "\xb4\x55" } , { "\xc8\xe8\xc3\xdc" , "\xb4\x55\xdd" } , { "\xc8\xe8\xc3\xe8" , "\xb4\x55\xcb" } , { "\xc8\xe8\xc3\xe8\xb3" , "\x59\xcb\x55\xcb\x45\xf5" } , { "\xc8\xe8\xc3\xe8\xcd\xda" , "\x59\xcb\x55\xcb\xcc\x5e\xe7" } , { "\xc8\xe8\xc4" , "\xb4\x56" } , { "\xc8\xe8\xc4\xda" , "\xb4\x56\xe7" } , { "\xc8\xe8\xc4\xdc" , "\xb4\x56\xdd" } , { "\xc8\xe8\xc4\xdd" , "\xb4\x56\xc7" } , { "\xc8\xe8\xc4\xe1" , "\xe6\xb4\x56" } , { "\xc8\xe8\xc4\xe8\xc4\xdb" , "\xd7\xb4\x81" } , { "\xc8\xe8\xc5" , "\xb4\x57\xfd" } , { "\xc8\xe8\xc5\xda" , "\xb4\x57\xfd\xe7" } , { "\xc8\xe8\xc5\xdd" , "\xb4\x57\xfd\xc7" } , { "\xc8\xe8\xc6" , "\x59\xc2" } , { "\xc8\xe8\xc6\xa2" , "\x59\xc2\x65" } , { "\xc8\xe8\xc6\xda" , "\x59\xc2\xe7" } , { "\xc8\xe8\xc6\xdb" , "\xd7\x59\xc2" } , { "\xc8\xe8\xc6\xdc" , "\x59\xc2\xdd" } , { "\xc8\xe8\xc6\xdd" , "\x59\xc2\xc7" } , { "\xc8\xe8\xc6\xdd\xa2" , "\x59\xc2\xc7\x65" } , { "\xc8\xe8\xc6\xe5" , "\xe6\x59\xc2\xe7" } , { "\xc8\xe8\xc6\xe5\xa2" , "\xe6\x59\xc2\xe7\x65" } , { "\xc8\xe8\xc8" , "\xb4\x59" } , { "\xc8\xe8\xc8\xa2" , "\xb4\x59\x65" } , { "\xc8\xe8\xc8\xa2\xa2" , "\xb4\x59\x65\x65" } , { "\xc8\xe8\xc8\xda" , "\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xda\xa2" , "\xb4\x59\xe7\x65" } , { "\xc8\xe8\xc8\xdb" , "\xd7\xb4\x59" } , { "\xc8\xe8\xc8\xdb\xa2" , "\xd7\xb4\x59\x65" } , { "\xc8\xe8\xc8\xdc" , "\xb4\x59\xdd" } , { "\xc8\xe8\xc8\xdc\xa2" , "\xb4\x59\xdd\x65" } , { "\xc8\xe8\xc8\xdd" , "\xb4\x59\xc7" } , { "\xc8\xe8\xc8\xdd\xa2" , "\xb4\x59\xc7\x65" } , { "\xc8\xe8\xc8\xde" , "\xb4\x59\xc9" } , { "\xc8\xe8\xc8\xe1" , "\xe6\xb4\x59" } , { "\xc8\xe8\xc8\xe1\xa2" , "\xe6\xb4\x59\x65" } , { "\xc8\xe8\xc8\xe2" , "\xe9\xb4\x59" } , { "\xc8\xe8\xc8\xe2\xa2" , "\xe9\xb4\x59\x65" } , { "\xc8\xe8\xc8\xe5" , "\xe6\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xe5\xa2" , "\xe6\xb4\x59\xe7\x65" } , { "\xc8\xe8\xc8\xe6" , "\xe6\xb4\x59\xec" } , { "\xc8\xe8\xc8\xe8\xbf\xdb" , "\x59\xcb\xd7\xb4\x51\xf6" } , { "\xc8\xe8\xc8\xe8\xc8\xda" , "\x59\xcb\xb4\x59\xe7" } , { "\xc8\xe8\xc8\xe8\xcc" , "\xb4\x59\xbd" } , { "\xc8\xe8\xc8\xe8\xcf" , "\xb4\x59\xd2" } , { "\xc8\xe8\xc8\xe8\xd7\xdd" , "\x59\xcb\xb4\x61\xc7" } , { "\xc8\xe8\xc9" , "\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xdb" , "\xd7\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xdc" , "\xb4\x5a\xf5\xdd" } , { "\xc8\xe8\xc9\xdd" , "\xb4\x5a\xc7\xf5" } , { "\xc8\xe8\xc9\xe1" , "\xe6\xb4\x5a\xf5" } , { "\xc8\xe8\xc9\xe2" , "\xe9\xb4\x5a\xf5" } , { "\xc8\xe8\xca" , "\x59\x9f" } , { "\xc8\xe8\xca\xda" , "\x59\x9f\xe7" } , { "\xc8\xe8\xca\xdb\xa2" , "\xd7\x59\x9f\x65" } , { "\xc8\xe8\xca\xdd" , "\x59\x9f\xc7" } , { "\xc8\xe8\xcb" , "\xb4\x5c\xf6" } , { "\xc8\xe8\xcc" , "\x59\xbd" } , { "\xc8\xe8\xcc\xda" , "\x59\xbd\xe7" } , { "\xc8\xe8\xcc\xdb" , "\xd7\x59\xbd" } , { "\xc8\xe8\xcc\xdc" , "\x59\xbd\xdd" } , { "\xc8\xe8\xcc\xde" , "\x59\xbd\xc8" } , { "\xc8\xe8\xcc\xe5" , "\xe6\x59\xbd\xe7" } , { "\xc8\xe8\xcd" , "\x59\xee" } , { "\xc8\xe8\xcd\xda" , "\x59\xee\xe7" } , { "\xc8\xe8\xcd\xda\xa2" , "\x59\xee\xe7\x65" } , { "\xc8\xe8\xcd\xdb" , "\xd7\x59\xee" } , { "\xc8\xe8\xcd\xdd" , "\x59\xc7\xee" } , { "\xc8\xe8\xcd\xde" , "\x59\xc9\xee" } , { "\xc8\xe8\xcd\xde\xa1" , "\x59\xc9\xee\x67" } , { "\xc8\xe8\xcd\xdf" , "\x59\xca\xee" } , { "\xc8\xe8\xcd\xe1" , "\xe6\x59\xee" } , { "\xc8\xe8\xcd\xe2" , "\xe9\x59\xee" } , { "\xc8\xe8\xcd\xe5" , "\xe6\x59\xee\xe7" } , { "\xc8\xe8\xcd\xe6" , "\xe6\x59\xee\xec" } , { "\xc8\xe8\xcd\xe8" , "\x59\xee\xcb" } , { "\xc8\xe8\xcf" , "\x59\xd2" } , { "\xc8\xe8\xcf\xa2" , "\x59\xd2\x65" } , { "\xc8\xe8\xcf\xda" , "\x59\xd2\xe7" } , { "\xc8\xe8\xcf\xda\xa1" , "\x59\xd2\x67\xe7" } , { "\xc8\xe8\xcf\xda\xa2" , "\x59\xd2\xe7\x65" } , { "\xc8\xe8\xcf\xda\xa2\xa2" , "\x59\xd2\xe7\x65\x65" } , { "\xc8\xe8\xcf\xdb" , "\xd7\x59\xd2" } , { "\xc8\xe8\xcf\xdb\xa2" , "\xd7\x59\xd2\x65" } , { "\xc8\xe8\xcf\xdc" , "\x59\xd2\xdd" } , { "\xc8\xe8\xcf\xdc\xa2" , "\x59\xd2\xdd\x65" } , { "\xc8\xe8\xcf\xdc\xa3" , "\x59\xd2\xdd\x66" } , { "\xc8\xe8\xcf\xdd" , "\x59\xd2\xd3" } , { "\xc8\xe8\xcf\xdd\xa2" , "\x59\xd2\xd3\x65" } , { "\xc8\xe8\xcf\xde" , "\x59\xd2\xd6" } , { "\xc8\xe8\xcf\xde\xa2" , "\x59\xd2\xd6\x65" } , { "\xc8\xe8\xcf\xdf" , "\x59\xd2\xca" } , { "\xc8\xe8\xcf\xe1" , "\xe6\x59\xd2" } , { "\xc8\xe8\xcf\xe1\xa2" , "\xe6\x59\xd2\x65" } , { "\xc8\xe8\xcf\xe2" , "\xe8\x59\xd2" } , { "\xc8\xe8\xcf\xe5" , "\xe6\x59\xd2\xe7" } , { "\xc8\xe8\xcf\xe5\xa2" , "\xe6\x59\xd2\xe7\x65" } , { "\xc8\xe8\xcf\xe6" , "\xe6\x59\xd2\xec" } , { "\xc8\xe8\xcf\xe8\xcd" , "\x59\xcb\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xc8\xe8\xcf\xe8\xd1" , "\xb4\xcc\x5b\xfd\xc0" } , { "\xc8\xe8\xd1" , "\x59\xc0" } , { "\xc8\xe8\xd1\xa2" , "\x59\xc0\x65" } , { "\xc8\xe8\xd1\xda" , "\x59\xc0\xe7" } , { "\xc8\xe8\xd1\xda\xa2" , "\x59\xc0\xe7\x65" } , { "\xc8\xe8\xd1\xdb" , "\xd7\x59\xc0" } , { "\xc8\xe8\xd1\xdb\xa2" , "\xd7\x59\xc0\x65" } , { "\xc8\xe8\xd1\xdc" , "\x59\xc0\xdd" } , { "\xc8\xe8\xd1\xdd" , "\x59\xc0\xc7" } , { "\xc8\xe8\xd1\xde" , "\x59\xc0\xc9" } , { "\xc8\xe8\xd1\xe1" , "\xe6\x59\xc0" } , { "\xc8\xe8\xd1\xe1\xa2" , "\xe6\x59\xc0\x65" } , { "\xc8\xe8\xd1\xe2" , "\xe8\x59\xc0" } , { "\xc8\xe8\xd1\xe2\xa2" , "\xe8\x59\xc0\x65" } , { "\xc8\xe8\xd1\xe5" , "\xe6\x59\xc0\xe7" } , { "\xc8\xe8\xd1\xe8" , "\x59\xc0\xcb" } , { "\xc8\xe8\xd1\xe8\xc8\xdc" , "\xb4\x94\xdd" } , { "\xc8\xe8\xd1\xe8\xcd\xda\xa2" , "\x59\xcb\xb7\xcc\x5e\xe7\x65" } , { "\xc8\xe8\xd1\xe8\xcd\xde" , "\x59\xcb\xb7\xcc\x5e\xc9" } , { "\xc8\xe8\xd1\xe8\xd7\xda\xa2" , "\x59\xcb\xb7\x61\xe7\x65" } , { "\xc8\xe8\xd5" , "\xb4\x60" } , { "\xc8\xe8\xd5\xa2" , "\xb4\x60\x65" } , { "\xc8\xe8\xd6" , "\xb4\x62" } , { "\xc8\xe8\xd6\xdb" , "\xd7\xb4\x62" } , { "\xc8\xe8\xd6\xe2" , "\xe9\xb4\x62" } , { "\xc8\xe8\xd6\xe8\xb9" , "\x59\xcb\xb9\x4b\xf7" } , { "\xc8\xe8\xd6\xe8\xbd" , "\xb4\x72\xf4" } , { "\xc8\xe8\xd6\xe8\xbd\xdb" , "\xd7\xb4\x72\xf4" } , { "\xc8\xe8\xd6\xe8\xbe" , "\xb4\x9c\xf6" } , { "\xc8\xe8\xd6\xe8\xbe\xe5" , "\xe6\xb4\x9c\xf6\xe7" } , { "\xc8\xe8\xd6\xe8\xbe\xe5\xa2" , "\xe6\xb4\x9c\xf6\xe7\x65" } , { "\xc8\xe8\xd7" , "\xb4\x61" } , { "\xc8\xe8\xd7\xa2" , "\xb4\x61\x65" } , { "\xc8\xe8\xd7\xda" , "\xb4\x61\xe7" } , { "\xc8\xe8\xd7\xdb" , "\xd7\xb4\x61" } , { "\xc8\xe8\xd7\xdb\xa2" , "\xd7\xb4\x61\x65" } , { "\xc8\xe8\xd7\xdc" , "\xb4\x61\xdd" } , { "\xc8\xe8\xd7\xdd" , "\xb4\x61\xc7" } , { "\xc8\xe8\xd7\xde" , "\xb4\x61\xc9" } , { "\xc8\xe8\xd7\xe1" , "\xe6\xb4\x61" } , { "\xc8\xe8\xd7\xe2" , "\xe9\xb4\x61" } , { "\xc8\xe8\xd7\xe5" , "\xe6\xb4\x61\xe7" } , { "\xc8\xe8\xd7\xe8" , "\xb4\x61\xcb" } , { "\xc8\xe8\xd7\xe8\xb3\xdd" , "\xb4\x95\xc7\xf5" } , { "\xc8\xe8\xd7\xe8\xb5\xda" , "\x59\xcb\xba\x47\xe7" } , { "\xc8\xe8\xd7\xe8\xb5\xe1" , "\x59\xcb\xe6\xba\x47" } , { "\xc8\xe8\xd7\xe8\xbd" , "\x59\xcb\xba\x4f\xf4" } , { "\xc8\xe8\xd7\xe8\xbd\xdb" , "\x59\xcb\xd7\xba\x4f\xf4" } , { "\xc8\xe8\xd7\xe8\xbd\xdc" , "\x59\xcb\xba\x4f\xf4\xdd" } , { "\xc8\xe8\xd7\xe8\xbd\xe5" , "\x59\xcb\xe6\xba\x4f\xf4\xe7" } , { "\xc8\xe8\xd7\xe8\xc2" , "\xb4\xd8\x99\xf6" } , { "\xc8\xe8\xd7\xe8\xc2\xdd" , "\xb4\xd8\x99\xc7\xf6" } , { "\xc8\xe8\xd7\xe8\xc2\xdd\xa2" , "\xb4\xd8\x99\xc7\xf6\x65" } , { "\xc8\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb4\xd8\x6f\xf6" } , { "\xc8\xe8\xd7\xe8\xc6\xdd" , "\xb4\xd8\x6f\xf6\xc7" } , { "\xc8\xe8\xd7\xe8\xc9\xdb" , "\xd7\xb4\xd8\xf6\x8f\xf5" } , { "\xc8\xe8\xd7\xe8\xca" , "\xb4\xd8\x91\xf6" } , { "\xc8\xe8\xd7\xe8\xcc\xdd\xa2" , "\xb4\xd8\xf6\x82\xc7\x65" } , { "\xc8\xe8\xd7\xe8\xcd\xdd" , "\x59\xcb\xba\xcc\x5e\xc7" } , { "\xc8\xe8\xd7\xe8\xcd\xde" , "\x59\xcb\xba\xcc\x5e\xc9" } , { "\xc8\xe8\xd7\xe8\xd1\xe5" , "\xe6\xb4\xd8\xda\xf6\xe7" } , { "\xc8\xe8\xd7\xe8\xd7\xe8\xbd\xdb" , "\xb4\x61\xcb\xd7\xba\x4f\xf4" } , { "\xc8\xe8\xd8" , "\xb4\x63\xf7" } , { "\xc8\xe8\xd8\xda\xa2" , "\xb4\x63\xf7\xe7\x65" } , { "\xc8\xe8\xd8\xde" , "\xb4\x63\xc9\xf7" } , { "\xc8\xe8\xd8\xe5" , "\xe6\xb4\x63\xf7\xe7" } , { "\xc8\xe8\xd8\xe6" , "\xe6\xb4\x63\xf7\xec" } , { "\xc8\xe8\xe8" , "\x59\xcb" } , { "\xc8\xe8\xe9\xcf" , "\x59\xd2" } , { "\xc8\xe9" , "\x59" } , { "\xc9" , "\x5a\xf5" } , { "\xc9\xa1" , "\x5a\x67\xf5" } , { "\xc9\xa2" , "\x5a\xf5\x65" } , { "\xc9\xa3" , "\x5a\xf5\x66" } , { "\xc9\xc4" , "\x5a\xf5\x56" } , { "\xc9\xca" , "\x5a\xf5\x5b\xfd" } , { "\xc9\xda" , "\x5a\xf5\xe7" } , { "\xc9\xda\xa1" , "\x5a\x67\xf5\xe7" } , { "\xc9\xda\xa2" , "\x5a\xf5\xe7\x65" } , { "\xc9\xdb" , "\xd7\x5a\xf5" } , { "\xc9\xdb\xa2" , "\xd7\x5a\xf5\x65" } , { "\xc9\xdc" , "\x5a\xf5\xdd" } , { "\xc9\xdc\xa1" , "\x5a\xf5\xdf" } , { "\xc9\xdc\xa2" , "\x5a\xf5\xdd\x65" } , { "\xc9\xdd" , "\x5a\xc7\xf5" } , { "\xc9\xdd\xa1" , "\x5a\x67\xc7\xf5" } , { "\xc9\xdd\xa2" , "\x5a\xc7\xf5\x65" } , { "\xc9\xde" , "\x5a\xc9\xf5" } , { "\xc9\xde\xa1" , "\x5a\x67\xc9\xf5" } , { "\xc9\xde\xa2" , "\x5a\xc9\xf5\x65" } , { "\xc9\xdf" , "\x5a\xca\xf5" } , { "\xc9\xe1" , "\xe6\x5a\xf5" } , { "\xc9\xe1\xa2" , "\xe6\x5a\xf5\x65" } , { "\xc9\xe2" , "\xe9\x5a\xf5" } , { "\xc9\xe2\xa2" , "\xe9\x5a\xf5\x65" } , { "\xc9\xe5" , "\xe6\x5a\xf5\xe7" } , { "\xc9\xe5\xa2" , "\xe6\x5a\xf5\xe7\x65" } , { "\xc9\xe6" , "\xe6\x5a\xf5\xec" } , { "\xc9\xe6\xa2" , "\xe6\x5a\xf5\xec\x65" } , { "\xc9\xe8" , "\x5a\xcb\xf5" } , { "\xc9\xe8\xb3\xda" , "\x5a\xcb\xf5\x45\xf5\xe7" } , { "\xc9\xe8\xb3\xdb" , "\x5a\xcb\xf5\xd7\x45\xf5" } , { "\xc9\xe8\xb3\xdc" , "\x5a\xcb\xf5\x45\xf5\xdd" } , { "\xc9\xe8\xb3\xdd" , "\x5a\xcb\xf5\x45\xc7\xf5" } , { "\xc9\xe8\xb3\xe1" , "\x5a\xcb\xf5\xe6\x45\xf5" } , { "\xc9\xe8\xb3\xe5" , "\x5a\xcb\xf5\xe6\x45\xf5\xe7" } , { "\xc9\xe8\xb4" , "\x5a\xcb\xf5\x46" } , { "\xc9\xe8\xb4\xda" , "\x5a\xcb\xf5\x46\xe7" } , { "\xc9\xe8\xb5" , "\x5a\xcb\xf5\x47" } , { "\xc9\xe8\xb5\xda" , "\x5a\xcb\xf5\x47\xe7" } , { "\xc9\xe8\xb5\xde" , "\x5a\xcb\xf5\x47\xc9" } , { "\xc9\xe8\xb6" , "\x5a\xcb\xf5\x48" } , { "\xc9\xe8\xb6\xe8\xc6\xdb" , "\x5a\xcb\xf5\xd7\x48\xc2" } , { "\xc9\xe8\xb6\xe8\xc6\xdd" , "\x5a\xcb\xf5\x48\xc2\xc7" } , { "\xc9\xe8\xb6\xe8\xc6\xe8" , "\x5a\xcb\xf5\x48\xc2\xcb" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1" , "\x5a\xcb\xf5\x48\xcb\xdc\xda\xf6" } , { "\xc9\xe8\xb6\xe8\xc6\xe8\xd1\xdd" , "\x5a\xcb\xf5\x48\xcb\xdc\xda\xf6\xc7" } , { "\xc9\xe8\xba" , "\x5a\xcb\xf5\x4c" } , { "\xc9\xe8\xba\xda" , "\x5a\xcb\xf5\x4c\xe7" } , { "\xc9\xe8\xba\xe5\xa2" , "\x5a\xcb\xf5\xe6\x4c\xe7\x65" } , { "\xc9\xe8\xba\xe9" , "\x5a\xcb\xf5\x4c" } , { "\xc9\xe8\xbb" , "\x5a\xcb\xf5\x4d\xf5" } , { "\xc9\xe8\xbd" , "\x5a\xcb\xf5\xbb\x4f\xf4" } , { "\xc9\xe8\xbd\xdb" , "\x5a\xcb\xf5\xd7\xbb\x4f\xf4" } , { "\xc9\xe8\xbd\xdb\xa2" , "\x5a\xcb\xf5\xd7\xbb\x4f\xf4\x65" } , { "\xc9\xe8\xbd\xdc" , "\x5a\xcb\xf5\xbb\x4f\xf4\xdd" } , { "\xc9\xe8\xbd\xdd" , "\x5a\xcb\xf5\xbb\x4f\xc7\xf4" } , { "\xc9\xe8\xbd\xde" , "\x5a\xcb\xf5\xbb\x4f\xc9\xf4" } , { "\xc9\xe8\xbd\xe1\xa2" , "\x5a\xcb\xf5\xe6\xbb\x4f\xf4\x65" } , { "\xc9\xe8\xbd\xe5" , "\x5a\xcb\xf5\xe6\xbb\x4f\xf4\xe7" } , { "\xc9\xe8\xbd\xe5\xa2" , "\x5a\xcb\xf5\xe6\xbb\x4f\xf4\xe7\x65" } , { "\xc9\xe8\xbd\xe8" , "\x5a\xcb\xf5\xbb\x4f\xcb\xf4" } , { "\xc9\xe8\xbd\xe8\xb3\xda" , "\x5a\xcb\xf5\xae\x45\xf5\xe7" } , { "\xc9\xe8\xbd\xe8\xb3\xe5" , "\x5a\xcb\xf5\xe6\xae\x45\xf5\xe7" } , { "\xc9\xe8\xbd\xe8\xc8\xda" , "\x5a\xcb\xf5\xae\x59\xe7" } , { "\xc9\xe8\xbd\xe8\xc8\xe1" , "\x5a\xcb\xf5\xe6\xae\x59" } , { "\xc9\xe8\xbd\xe8\xcf\xe8" , "\x5a\xcb\xf5\xae\xcf\xcb\xf4" } , { "\xc9\xe8\xbd\xe8\xd1\xdd" , "\x5a\xcb\xf5\xae\xf2\xc7\xf4" } , { "\xc9\xe8\xbd\xe8\xd1\xe5" , "\x5a\xcb\xf5\xe6\xae\xf2\xf4\xe7" } , { "\xc9\xe8\xbd\xe8\xd7" , "\x5a\xcb\xf5\xae\x61" } , { "\xc9\xe8\xbd\xe8\xd7\xe2" , "\x5a\xcb\xf5\xe9\xae\x61" } , { "\xc9\xe8\xbd\xe8\xd7\xe8" , "\x5a\xcb\xf5\xae\x61\xcb" } , { "\xc9\xe8\xbf\xe8" , "\x5a\xcb\xf5\x51\xcb\xf6" } , { "\xc9\xe8\xc2" , "\x5a\xcb\xf5\x54\xf6" } , { "\xc9\xe8\xc2\xda" , "\x5a\xcb\xf5\x54\xf6\xe7" } , { "\xc9\xe8\xc2\xdb" , "\x5a\xcb\xf5\xd7\x54\xf6" } , { "\xc9\xe8\xc2\xdc" , "\x5a\xcb\xf5\x54\xf6\xdd" } , { "\xc9\xe8\xc2\xe1" , "\x5a\xcb\xf5\xe6\x54\xf6" } , { "\xc9\xe8\xc2\xe5" , "\x5a\xcb\xf5\xe6\x54\xf6\xe7" } , { "\xc9\xe8\xc2\xe5\xa2" , "\x5a\xcb\xf5\xe6\x54\xf6\xe7\x65" } , { "\xc9\xe8\xc2\xe8" , "\x5a\xcb\xf5\x64" } , { "\xc9\xe8\xc2\xe8\xb5\xda" , "\x5a\xcb\xf5\xb1\x47\xe7" } , { "\xc9\xe8\xc3" , "\x5a\xcb\xf5\x55" } , { "\xc9\xe8\xc3\xda" , "\x5a\xcb\xf5\x55\xe7" } , { "\xc9\xe8\xc3\xe5" , "\x5a\xcb\xf5\xe6\x55\xe7" } , { "\xc9\xe8\xc4" , "\x5a\xcb\xf5\x56" } , { "\xc9\xe8\xc4\xda" , "\x5a\xcb\xf5\x56\xe7" } , { "\xc9\xe8\xc6" , "\x5a\xc2\xf5" } , { "\xc9\xe8\xc6\xda" , "\x5a\xc2\xf5\xe7" } , { "\xc9\xe8\xc6\xdb" , "\xd7\x5a\xc2\xf5" } , { "\xc9\xe8\xc6\xdc" , "\x5a\xc2\xf5\xdd" } , { "\xc9\xe8\xc6\xdd" , "\x5a\xc2\xc7\xf5" } , { "\xc9\xe8\xc6\xe5" , "\xe6\x5a\xc2\xf5\xe7" } , { "\xc9\xe8\xc8" , "\x5a\xcb\xf5\x59" } , { "\xc9\xe8\xc8\xda" , "\x5a\xcb\xf5\x59\xe7" } , { "\xc9\xe8\xc8\xdc" , "\x5a\xcb\xf5\x59\xdd" } , { "\xc9\xe8\xc8\xe2" , "\x5a\xcb\xf5\xe9\x59" } , { "\xc9\xe8\xc8\xe8" , "\x5a\xcb\xf5\x59\xcb" } , { "\xc9\xe8\xc8\xe8\xcf\xdb" , "\x5a\xcb\xf5\xd7\x59\xd2" } , { "\xc9\xe8\xc9" , "\x5a\xcb\xf5\x5a\xf5" } , { "\xc9\xe8\xc9\xda" , "\x5a\xcb\xf5\x5a\xf5\xe7" } , { "\xc9\xe8\xc9\xdd" , "\x5a\xcb\xf5\x5a\xc7\xf5" } , { "\xc9\xe8\xc9\xe1" , "\x5a\xcb\xf5\xe6\x5a\xf5" } , { "\xc9\xe8\xc9\xe5" , "\x5a\xcb\xf5\xe6\x5a\xf5\xe7" } , { "\xc9\xe8\xca" , "\x5a\x9d\xf5" } , { "\xc9\xe8\xca\xda" , "\x5a\x9d\xf5\xe7" } , { "\xc9\xe8\xca\xdc" , "\x5a\x9d\xf5\xdd" } , { "\xc9\xe8\xca\xe8\xcf\xe1" , "\x5a\xcb\xf5\xe6\x5b\xfd\xd0" } , { "\xc9\xe8\xcc" , "\x5a\xf5\xbd" } , { "\xc9\xe8\xcc\xda" , "\x5a\xf5\xbd\xe7" } , { "\xc9\xe8\xcc\xdc" , "\x5a\xf5\xbd\xdd" } , { "\xc9\xe8\xcc\xdd" , "\x5a\xf5\xbd\xc6" } , { "\xc9\xe8\xcc\xe1" , "\xe6\x5a\xf5\xbd" } , { "\xc9\xe8\xcd" , "\x5a\xfd\xee" } , { "\xc9\xe8\xcd\xda" , "\x5a\xfd\xee\xe7" } , { "\xc9\xe8\xcd\xda\xa2" , "\x5a\xfd\xee\xe7\x65" } , { "\xc9\xe8\xcd\xdb" , "\xd7\x5a\xfd\xee" } , { "\xc9\xe8\xcd\xdd" , "\x5a\xc7\xfd\xee" } , { "\xc9\xe8\xcd\xde" , "\x5a\xc9\xfd\xee" } , { "\xc9\xe8\xcd\xdf" , "\x5a\xca\xfd\xee" } , { "\xc9\xe8\xcd\xe1" , "\xe6\x5a\xfd\xee" } , { "\xc9\xe8\xcd\xe2" , "\xe9\x5a\xfd\xee" } , { "\xc9\xe8\xcd\xe5" , "\xe6\x5a\xfd\xee\xe7" } , { "\xc9\xe8\xcd\xe6" , "\xe6\x5a\xfd\xee\xec" } , { "\xc9\xe8\xcd\xe8" , "\x5a\xfd\xee\xcb" } , { "\xc9\xe8\xcf" , "\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xa2" , "\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xda" , "\x5a\xd0\xf5\xe7" } , { "\xc9\xe8\xcf\xda\xa1" , "\x5a\xd0\x67\xf5\xe7" } , { "\xc9\xe8\xcf\xda\xa2" , "\x5a\xd0\xf5\xe7\x65" } , { "\xc9\xe8\xcf\xdb" , "\xd7\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xdb\xa2" , "\xd7\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xdc" , "\x5a\xd0\xf5\xdd" } , { "\xc9\xe8\xcf\xdd" , "\x5a\xd0\xc7\xf5" } , { "\xc9\xe8\xcf\xde" , "\x5a\xd0\xc9\xf5" } , { "\xc9\xe8\xcf\xe1" , "\xe6\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xe1\xa2" , "\xe6\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xe2" , "\xe8\x5a\xd0\xf5" } , { "\xc9\xe8\xcf\xe2\xa2" , "\xe8\x5a\xd0\xf5\x65" } , { "\xc9\xe8\xcf\xe5" , "\xe6\x5a\xd0\xf5\xe7" } , { "\xc9\xe8\xcf\xe5\xa2" , "\xe6\x5a\xd0\xf5\xe7\x65" } , { "\xc9\xe8\xcf\xe6" , "\xe6\x5a\xd0\xf5\xec" } , { "\xc9\xe8\xcf\xe8" , "\x5a\xd0\xcb\xf5" } , { "\xc9\xe8\xd1" , "\x6e\xf5" } , { "\xc9\xe8\xd1\xda" , "\x6e\xf5\xe7" } , { "\xc9\xe8\xd1\xda\xa2" , "\x6e\xf5\xe7\x65" } , { "\xc9\xe8\xd1\xdb" , "\xd7\x6e\xf5" } , { "\xc9\xe8\xd1\xdb\xa2" , "\xd7\x6e\xf5\x65" } , { "\xc9\xe8\xd1\xdc" , "\x6e\xf5\xdd" } , { "\xc9\xe8\xd1\xdd" , "\x6e\xc7\xf5" } , { "\xc9\xe8\xd1\xde" , "\x6e\xc9\xf5" } , { "\xc9\xe8\xd1\xe1" , "\xe6\x6e\xf5" } , { "\xc9\xe8\xd1\xe1\xa2" , "\xe6\x6e\xf5\x65" } , { "\xc9\xe8\xd1\xe2" , "\xe8\x6e\xf5" } , { "\xc9\xe8\xd1\xe2\xa2" , "\xe8\x6e\xf5\x65" } , { "\xc9\xe8\xd1\xe5" , "\xe6\x6e\xf5\xe7" } , { "\xc9\xe8\xd1\xe5\xa2" , "\xe6\x6e\xf5\xe7\x65" } , { "\xc9\xe8\xd1\xe6" , "\xe6\x6e\xf5\xec" } , { "\xc9\xe8\xd5\xda" , "\x5a\xcb\xf5\x60\xe7" } , { "\xc9\xe8\xd7" , "\x5a\xcb\xf5\x61" } , { "\xc9\xe8\xd7\xdb" , "\x5a\xcb\xf5\xd7\x61" } , { "\xc9\xe8\xd7\xdc" , "\x5a\xcb\xf5\x61\xdd" } , { "\xc9\xe8\xd7\xe2" , "\x5a\xcb\xf5\xe9\x61" } , { "\xc9\xe8\xd7\xe8" , "\x5a\xcb\xf5\x61\xcb" } , { "\xc9\xe8\xd7\xe8\xbd\xe1" , "\x5a\xcb\xf5\xe6\xba\x4f\xf4" } , { "\xc9\xe8\xd7\xe8\xc6\xdd" , "\x5a\xcb\xf5\xd8\x6f\xf6\xc7" } , { "\xc9\xe8\xd7\xe8\xc8\xdb" , "\x5a\xcb\xf5\xd7\x26" } , { "\xc9\xe8\xd8" , "\x5a\xcb\xf5\x63\xf7" } , { "\xc9\xe8\xd8\xdd" , "\x5a\xcb\xf5\xa7" } , { "\xc9\xe8\xd8\xe5" , "\x5a\xcb\xf5\xe6\x63\xf7\xe7" } , { "\xc9\xe8\xd9\xc2" , "\x5a\xcb\xf5\x54\xf6" } , { "\xc9\xe8\xd9\xcf\xe1\xa2" , "\x5a\xcb\xf5\xe3\xcc\x5b\xfd\x65" } , { "\xc9\xe8\xd9\xcf\xe8\xcd\xdd" , "\x5a\xcb\xf5\xcc\x5e\xc7\xef" } , { "\xc9\xe8\xd9\xd1\xe5" , "\x5a\xcb\xf5\xe3\x5f\xe7" } , { "\xc9\xe8\xd9\xd7" , "\x5a\xcb\xf5\x61" } , { "\xc9\xe8\xe8" , "\x5a\xcb\xf5" } , { "\xc9\xe8\xe9\xcf" , "\x5a\xd0\xf5" } , { "\xc9\xe9" , "\x5a\xf5" } , { "\xc9\xe9\xda" , "\x5a\xf5\xe7" } , { "\xc9\xe9\xdb" , "\xd7\x5a\xf5" } , { "\xc9\xe9\xdc" , "\x5a\xf5\xdd" } , { "\xc9\xe9\xdd" , "\x5a\xc7\xf5" } , { "\xc9\xe9\xe1" , "\xe6\x5a\xf5" } , { "\xc9\xe9\xe1\xa2" , "\xe6\x5a\xf5\x65" } , { "\xc9\xe9\xe2" , "\xe9\x5a\xf5" } , { "\xc9\xe9\xe5" , "\xe6\x5a\xf5\xe7" } , { "\xc9\xe9\xe5\xa2" , "\xe6\x5a\xf5\xe7\x65" } , { "\xc9\xe9\xe6" , "\xe6\x5a\xf5\xec" } , { "\xc9\xe9\xe8\xba\xe5\xa2" , "\x5a\xcb\xf5\xe6\x4c\xe7\x65" } , { "\xc9\xe9\xe8\xbd\xdb" , "\x5a\xcb\xf5\xd7\xbb\x4f\xf4" } , { "\xc9\xe9\xe8\xbd\xdc" , "\x5a\xcb\xf5\xbb\x4f\xf4\xdd" } , { "\xc9\xe9\xe8\xc2" , "\x5a\xcb\xf5\x54\xf6" } , { "\xc9\xe9\xe8\xc2\xda" , "\x5a\xcb\xf5\x54\xf6\xe7" } , { "\xc9\xe9\xe8\xc2\xdc" , "\x5a\xcb\xf5\x54\xf6\xdd" } , { "\xc9\xe9\xe8\xc2\xe1" , "\x5a\xcb\xf5\xe6\x54\xf6" } , { "\xc9\xe9\xe8\xcf\xdb" , "\xd7\x5a\xd0\xf5" } , { "\xc9\xe9\xe8\xcf\xe5" , "\xe6\x5a\xd0\xf5\xe7" } , { "\xc9\xe9\xe8\xd1" , "\x6e\xf5" } , { "\xc9\xe9\xe8\xd1\xe5" , "\xe6\x6e\xf5\xe7" } , { "\xc9\xe9\xe9\xe8\xc2" , "\x5a\xf5\xcc\xcb\x54\xf6" } , { "\xca" , "\x5b\xfd" } , { "\xca\xa1" , "\x5b\xfd\x67" } , { "\xca\xa2" , "\x5b\xfd\x65" } , { "\xca\xa2\xa1" , "\x5b\xfd\x65\x67" } , { "\xca\xa3" , "\x5b\xfd\x66" } , { "\xca\xda" , "\x5b\xfd\xe7" } , { "\xca\xda\xa1" , "\x5b\xfd\x67\xe7" } , { "\xca\xda\xa2" , "\x5b\xfd\xe7\x65" } , { "\xca\xda\xa3" , "\x5b\xfd\xe7\x66" } , { "\xca\xdb" , "\xd7\x5b\xfd" } , { "\xca\xdb\xa2" , "\xd7\x5b\xfd\x65" } , { "\xca\xdc" , "\x5b\xfd\xdd" } , { "\xca\xdc\xa2" , "\x5b\xfd\xdd\x65" } , { "\xca\xdd" , "\x5b\xfd\xc7" } , { "\xca\xdd\xa1" , "\x5b\xfd\x67\xc7" } , { "\xca\xdd\xa2" , "\x5b\xfd\xc7\x65" } , { "\xca\xde" , "\x5b\xfd\xc9" } , { "\xca\xde\xa1" , "\x5b\xfd\x67\xc9" } , { "\xca\xde\xa2" , "\x5b\xfd\xc9\x65" } , { "\xca\xdf" , "\x5b\xfd\xca" } , { "\xca\xdf\xa2" , "\x5b\xfd\xca\x65" } , { "\xca\xe1" , "\xe6\x5b\xfd" } , { "\xca\xe1\xa2" , "\xe6\x5b\xfd\x65" } , { "\xca\xe2" , "\xe9\x5b\xfd" } , { "\xca\xe2\xa2" , "\xe9\x5b\xfd\x65" } , { "\xca\xe5" , "\xe6\x5b\xfd\xe7" } , { "\xca\xe5\xa2" , "\xe6\x5b\xfd\xe7\x65" } , { "\xca\xe6" , "\xe6\x5b\xfd\xec" } , { "\xca\xe6\xa2" , "\xe6\x5b\xfd\xec\x65" } , { "\xca\xe8" , "\x5b\xfd\xcb" } , { "\xca\xe8\xb3" , "\x5b\xfd\xcb\x45\xf5" } , { "\xca\xe8\xb3\xda" , "\x5b\xfd\xcb\x45\xf5\xe7" } , { "\xca\xe8\xb3\xdb" , "\x5b\xfd\xcb\xd7\x45\xf5" } , { "\xca\xe8\xb3\xdd" , "\x5b\xfd\xcb\x45\xc7\xf5" } , { "\xca\xe8\xb3\xe8\xcd\xde" , "\x5b\xfd\xcb\xa8\xcc\x5e\xc9" } , { "\xca\xe8\xb3\xe8\xd1\xe1" , "\x5b\xfd\xcb\xe6\x7a\xf5" } , { "\xca\xe8\xb4\xda" , "\x5b\xfd\xcb\x46\xe7" } , { "\xca\xe8\xb5\xda" , "\x5b\xfd\xcb\x47\xe7" } , { "\xca\xe8\xb5\xdd\xa2" , "\x5b\xfd\xcb\x6d\x65" } , { "\xca\xe8\xb6" , "\x5b\xfd\xcb\x48" } , { "\xca\xe8\xb6\xdb" , "\x5b\xfd\xcb\xd7\x48" } , { "\xca\xe8\xba" , "\x8b" } , { "\xca\xe8\xba\xa2" , "\x8b\x65" } , { "\xca\xe8\xba\xda" , "\x8b\xe7" } , { "\xca\xe8\xba\xda\xa2" , "\x8b\xe7\x65" } , { "\xca\xe8\xba\xdb" , "\xd7\x8b" } , { "\xca\xe8\xba\xdc" , "\x8b\xdd" } , { "\xca\xe8\xba\xdd" , "\x8b\xc7" } , { "\xca\xe8\xba\xe1" , "\xe6\x8b" } , { "\xca\xe8\xba\xe1\xa2" , "\xe6\x8b\x65" } , { "\xca\xe8\xba\xe2" , "\xe9\x8b" } , { "\xca\xe8\xba\xe5" , "\xe6\x8b\xe7" } , { "\xca\xe8\xba\xe5\xa2" , "\xe6\x8b\xe7\x65" } , { "\xca\xe8\xba\xe9" , "\x8b" } , { "\xca\xe8\xba\xe9\xda" , "\x8b\xe7" } , { "\xca\xe8\xba\xe9\xdc" , "\x8b\xdd" } , { "\xca\xe8\xba\xe9\xe1" , "\xe6\x8b" } , { "\xca\xe8\xba\xe9\xe1\xa2" , "\xe6\x8b\x65" } , { "\xca\xe8\xbd" , "\x5b\xfd\xcb\xbb\x4f\xf4" } , { "\xca\xe8\xbd\xdb" , "\x5b\xfd\xcb\xd7\xbb\x4f\xf4" } , { "\xca\xe8\xbd\xe2" , "\x5b\xfd\xcb\xe8\xbb\x4f\xf4" } , { "\xca\xe8\xbd\xe5" , "\x5b\xfd\xcb\xe6\xbb\x4f\xf4\xe7" } , { "\xca\xe8\xbd\xe8\xbd\xdb" , "\x5b\xfd\xcb\xd7\x76\xf4" } , { "\xca\xe8\xbd\xe8\xcf\xda" , "\x5b\xfd\xcb\xae\xcf\xf4\xe7" } , { "\xca\xe8\xbd\xe8\xd7\xdb" , "\x5b\xfd\xcb\xd7\xae\x61" } , { "\xca\xe8\xbf" , "\x5b\xfd\xcb\x51\xf6" } , { "\xca\xe8\xbf\xda" , "\x5b\xfd\xcb\x51\xf6\xe7" } , { "\xca\xe8\xbf\xdb" , "\x5b\xfd\xcb\xd7\x51\xf6" } , { "\xca\xe8\xbf\xdb\xa2" , "\x5b\xfd\xcb\xd7\x51\xf6\x65" } , { "\xca\xe8\xbf\xe1" , "\x5b\xfd\xcb\xe6\x51\xf6" } , { "\xca\xe8\xbf\xe5" , "\x5b\xfd\xcb\xe6\x51\xf6\xe7" } , { "\xca\xe8\xbf\xe8" , "\x5b\xfd\xcb\x51\xcb\xf6" } , { "\xca\xe8\xbf\xe8\xcd\xdd" , "\x5b\xfd\xcb\xaf\xcc\x5e\xc7" } , { "\xca\xe8\xc2" , "\x5b\xfd\xcb\x54\xf6" } , { "\xca\xe8\xc2\xa2" , "\x5b\xfd\xcb\x54\xf6\x65" } , { "\xca\xe8\xc2\xda" , "\x5b\xfd\xcb\x54\xf6\xe7" } , { "\xca\xe8\xc2\xdb" , "\x5b\xfd\xcb\xd7\x54\xf6" } , { "\xca\xe8\xc2\xdc" , "\x5b\xfd\xcb\x54\xf6\xdd" } , { "\xca\xe8\xc2\xdd" , "\x5b\xfd\xcb\x54\xc7\xf6" } , { "\xca\xe8\xc2\xdd\xa2" , "\x5b\xfd\xcb\x54\xc7\xf6\x65" } , { "\xca\xe8\xc2\xe1" , "\x5b\xfd\xcb\xe6\x54\xf6" } , { "\xca\xe8\xc2\xe5" , "\x5b\xfd\xcb\xe6\x54\xf6\xe7" } , { "\xca\xe8\xc2\xe8\xc2" , "\x5b\xfd\xcb\x77\xf8" } , { "\xca\xe8\xc2\xe8\xc2\xdb" , "\x5b\xfd\xcb\xd7\x77\xf8" } , { "\xca\xe8\xc3\xda" , "\x5b\xfd\xcb\x55\xe7" } , { "\xca\xe8\xc3\xdb" , "\x5b\xfd\xcb\xd7\x55" } , { "\xca\xe8\xc4" , "\x8c" } , { "\xca\xe8\xc4\xa2" , "\x8c\x65" } , { "\xca\xe8\xc4\xa3" , "\x8c\x66" } , { "\xca\xe8\xc4\xda" , "\x8c\xe7" } , { "\xca\xe8\xc4\xda\xa2" , "\x8c\xe7\x65" } , { "\xca\xe8\xc4\xda\xa3" , "\x8c\xe7\x66" } , { "\xca\xe8\xc4\xdb" , "\xd7\x8c" } , { "\xca\xe8\xc4\xdb\xa2" , "\xd7\x8c\x65" } , { "\xca\xe8\xc4\xdc" , "\x8c\xdd" } , { "\xca\xe8\xc4\xdc\xa2" , "\x8c\xdd\x65" } , { "\xca\xe8\xc4\xdd" , "\x8c\xc7" } , { "\xca\xe8\xc4\xe1" , "\xe6\x8c" } , { "\xca\xe8\xc4\xe2" , "\xe9\x8c" } , { "\xca\xe8\xc4\xe5" , "\xe6\x8c\xe7" } , { "\xca\xe8\xc4\xe5\xa2" , "\xe6\x8c\xe7\x65" } , { "\xca\xe8\xc4\xe8" , "\x8c\xcb" } , { "\xca\xe8\xc4\xe8\xcd\xda" , "\x5b\xfd\xcb\xb2\xcc\x5e\xe7" } , { "\xca\xe8\xc5" , "\x8d\xf9" } , { "\xca\xe8\xc5\xa2" , "\x8d\xf9\x65" } , { "\xca\xe8\xc5\xa3" , "\x8d\xf9\x66" } , { "\xca\xe8\xc5\xda" , "\x8d\xf9\xe7" } , { "\xca\xe8\xc5\xda\xa3" , "\x8d\xf9\xe7\x66" } , { "\xca\xe8\xc5\xdb" , "\xd7\x8d\xf9" } , { "\xca\xe8\xc5\xdd" , "\x8d\xc7\xf9" } , { "\xca\xe8\xc5\xe5" , "\xe6\x8d\xf9\xe7" } , { "\xca\xe8\xc6" , "\x5b\xfd\xc2" } , { "\xca\xe8\xc6\xda" , "\x5b\xfd\xc2\xe7" } , { "\xca\xe8\xc6\xdb" , "\xd7\x5b\xfd\xc2" } , { "\xca\xe8\xc6\xdb\xa2" , "\xd7\x5b\xfd\xc2\x65" } , { "\xca\xe8\xc6\xdc" , "\x5b\xfd\xc2\xdd" } , { "\xca\xe8\xc6\xdd" , "\x5b\xfd\xc2\xc7" } , { "\xca\xe8\xc8" , "\x5b\xfd\xcb\x59" } , { "\xca\xe8\xc8\xdb" , "\x5b\xfd\xcb\xd7\x59" } , { "\xca\xe8\xc8\xe5" , "\x5b\xfd\xcb\xe6\x59\xe7" } , { "\xca\xe8\xc9\xe2" , "\x5b\xfd\xcb\xe9\x5a\xf5" } , { "\xca\xe8\xca" , "\x5b\x5b\xfd" } , { "\xca\xe8\xca\xa2" , "\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xda" , "\x5b\x5b\xfd\xe7" } , { "\xca\xe8\xca\xdb" , "\xd7\x5b\x5b\xfd" } , { "\xca\xe8\xca\xdb\xa2" , "\xd7\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xdc" , "\x5b\x5b\xfd\xdd" } , { "\xca\xe8\xca\xdd" , "\x5b\x5b\xfd\xc7" } , { "\xca\xe8\xca\xdd\xa2" , "\x5b\x5b\xfd\xc7\x65" } , { "\xca\xe8\xca\xde" , "\x5b\x5b\xfd\xc9" } , { "\xca\xe8\xca\xe1" , "\xe6\x5b\x5b\xfd" } , { "\xca\xe8\xca\xe1\xa2" , "\xe6\x5b\x5b\xfd\x65" } , { "\xca\xe8\xca\xe2" , "\xe9\x5b\x5b\xfd" } , { "\xca\xe8\xca\xe5" , "\xe6\x5b\x5b\xfd\xe7" } , { "\xca\xe8\xca\xe5\xa2" , "\xe6\x5b\x5b\xfd\xe7\x65" } , { "\xca\xe8\xca\xe8\xc4\xdb" , "\x5b\xfd\xcb\xd7\x8c" } , { "\xca\xe8\xca\xe8\xd8" , "\x5b\xfd\xcb\x5b\xfd\xcb\x63\xf7" } , { "\xca\xe8\xcb" , "\x5b\xfd\xcb\x5c\xf6" } , { "\xca\xe8\xcb\xa2" , "\x5b\xfd\xcb\x5c\xf6\x65" } , { "\xca\xe8\xcb\xda" , "\x5b\xfd\xcb\x5c\xf6\xe7" } , { "\xca\xe8\xcb\xdb" , "\x5b\xfd\xcb\xd7\x5c\xf6" } , { "\xca\xe8\xcb\xdc" , "\x5b\xfd\xcb\x5c\xf6\xdd" } , { "\xca\xe8\xcb\xdd" , "\x5b\xfd\xcb\x5c\xc7\xf6" } , { "\xca\xe8\xcb\xe2" , "\x5b\xfd\xcb\xe9\x5c\xf6" } , { "\xca\xe8\xcc" , "\x5b\xfd\xbd" } , { "\xca\xe8\xcc\xda" , "\x5b\xfd\xbd\xe7" } , { "\xca\xe8\xcc\xdb" , "\xd7\x5b\xfd\xbd" } , { "\xca\xe8\xcc\xe1" , "\xe6\x5b\xfd\xbd" } , { "\xca\xe8\xcd" , "\x5b\xfd\xee" } , { "\xca\xe8\xcd\xa2" , "\x5b\xfd\xee\x65" } , { "\xca\xe8\xcd\xda" , "\x5b\xfd\xee\xe7" } , { "\xca\xe8\xcd\xda\xa2" , "\x5b\xfd\xee\xe7\x65" } , { "\xca\xe8\xcd\xdb" , "\xd7\x5b\xfd\xee" } , { "\xca\xe8\xcd\xdc" , "\x5b\xfd\xee\xdd" } , { "\xca\xe8\xcd\xdd" , "\x5b\xfd\xc7\xee" } , { "\xca\xe8\xcd\xde" , "\x5b\xfd\xc9\xee" } , { "\xca\xe8\xcd\xe1" , "\xe6\x5b\xfd\xee" } , { "\xca\xe8\xcd\xe2" , "\xe9\x5b\xfd\xee" } , { "\xca\xe8\xcd\xe5" , "\xe6\x5b\xfd\xee\xe7" } , { "\xca\xe8\xcd\xe5\xa2" , "\xe6\x5b\xfd\xee\xe7\x65" } , { "\xca\xe8\xcd\xe6" , "\xe6\x5b\xfd\xee\xec" } , { "\xca\xe8\xcd\xe6\xa2" , "\xe6\x5b\xfd\xee\xec\x65" } , { "\xca\xe8\xcd\xe8\xcd\xda" , "\x5b\xfd\xee\xee\xe7" } , { "\xca\xe8\xcf" , "\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xa2" , "\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xda" , "\x5b\xfd\xd0\xe7" } , { "\xca\xe8\xcf\xda\xa1" , "\x5b\xfd\xd0\x67\xe7" } , { "\xca\xe8\xcf\xda\xa2" , "\x5b\xfd\xd0\xe7\x65" } , { "\xca\xe8\xcf\xdb" , "\xd7\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xdb\xa2" , "\xd7\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xdc" , "\x5b\xfd\xd0\xdd" } , { "\xca\xe8\xcf\xdd" , "\x5b\xfd\xd0\xd3" } , { "\xca\xe8\xcf\xde" , "\x5b\xfd\xd0\xd6" } , { "\xca\xe8\xcf\xe1" , "\xe6\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xe1\xa2" , "\xe6\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xe2" , "\xe8\x5b\xfd\xd0" } , { "\xca\xe8\xcf\xe2\xa2" , "\xe8\x5b\xfd\xd0\x65" } , { "\xca\xe8\xcf\xe5" , "\xe6\x5b\xfd\xd0\xe7" } , { "\xca\xe8\xcf\xe5\xa2" , "\xe6\x5b\xfd\xd0\xe7\x65" } , { "\xca\xe8\xcf\xe6" , "\xe6\x5b\xfd\xd0\xec" } , { "\xca\xe8\xcf\xe8\xbd\xe8" , "\x5b\xfd\xcb\xcc\x5b\xfd\xcb\xbb\x4f\xcb\xf4" } , { "\xca\xe8\xcf\xe8\xbf\xe8" , "\x5b\xfd\xcb\xcc\x5b\xfd\xcb\x51\xcb\xf6" } , { "\xca\xe8\xd1" , "\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xa2" , "\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xda" , "\x5b\xfd\xc0\xe7" } , { "\xca\xe8\xd1\xda\xa2" , "\x5b\xfd\xc0\xe7\x65" } , { "\xca\xe8\xd1\xdb" , "\xd7\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xdb\xa2" , "\xd7\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xdc" , "\x5b\xfd\xc0\xdd" } , { "\xca\xe8\xd1\xdd" , "\x5b\xfd\xc0\xc7" } , { "\xca\xe8\xd1\xde" , "\x5b\xfd\xc0\xc9" } , { "\xca\xe8\xd1\xe1" , "\xe6\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xe1\xa2" , "\xe6\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xe2" , "\xe8\x5b\xfd\xc0" } , { "\xca\xe8\xd1\xe2\xa2" , "\xe8\x5b\xfd\xc0\x65" } , { "\xca\xe8\xd1\xe5" , "\xe6\x5b\xfd\xc0\xe7" } , { "\xca\xe8\xd1\xe6" , "\xe6\x5b\xfd\xc0\xec" } , { "\xca\xe8\xd1\xe8\xb3\xdb" , "\x5b\xfd\xcb\xd7\x92\xf5" } , { "\xca\xe8\xd1\xe8\xcd\xdb" , "\x5b\xfd\xcb\xd7\xb7\xcc\x5e" } , { "\xca\xe8\xd1\xe8\xcd\xdd" , "\x5b\xfd\xcb\xb7\xcc\x5e\xc7" } , { "\xca\xe8\xd1\xe8\xcd\xde" , "\x5b\xfd\xcb\xb7\xcc\x5e\xc9" } , { "\xca\xe8\xd5\xda" , "\x5b\xfd\xcb\x60\xe7" } , { "\xca\xe8\xd5\xdb" , "\x5b\xfd\xcb\xd7\x60" } , { "\xca\xe8\xd5\xdc" , "\x5b\xfd\xcb\x60\xdd" } , { "\xca\xe8\xd6\xda" , "\x5b\xfd\xcb\x62\xe7" } , { "\xca\xe8\xd6\xdb" , "\x5b\xfd\xcb\xd7\x62" } , { "\xca\xe8\xd6\xdc" , "\x5b\xfd\xcb\x62\xdd" } , { "\xca\xe8\xd6\xe8\xbd\xe8\xcf" , "\x5b\xfd\xcb\x72\xd1\xf4" } , { "\xca\xe8\xd7" , "\x5b\xfd\xcb\x61" } , { "\xca\xe8\xd7\xda" , "\x5b\xfd\xcb\x61\xe7" } , { "\xca\xe8\xd7\xdb" , "\x5b\xfd\xcb\xd7\x61" } , { "\xca\xe8\xd7\xdc" , "\x5b\xfd\xcb\x61\xdd" } , { "\xca\xe8\xd7\xdd" , "\x5b\xfd\xcb\x61\xc7" } , { "\xca\xe8\xd7\xe1" , "\x5b\xfd\xcb\xe6\x61" } , { "\xca\xe8\xd7\xe2" , "\x5b\xfd\xcb\xe9\x61" } , { "\xca\xe8\xd7\xe5" , "\x5b\xfd\xcb\xe6\x61\xe7" } , { "\xca\xe8\xd7\xe6" , "\x5b\xfd\xcb\xe6\x61\xec" } , { "\xca\xe8\xd7\xe8" , "\x5b\xfd\xcb\x61\xcb" } , { "\xca\xe8\xd7\xe8\xb3\xdd" , "\x5b\xfd\xcb\x95\xc7\xf5" } , { "\xca\xe8\xd7\xe8\xb3\xe2" , "\x5b\xfd\xcb\xe9\x95\xf5" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xdb" , "\x5b\xfd\xcb\xd7\x95\x98\xf5" } , { "\xca\xe8\xd7\xe8\xb3\xe8\xcf\xe2" , "\x5b\xfd\xcb\xe9\x95\x98\xf5" } , { "\xca\xe8\xd7\xe8\xbd" , "\x5b\xfd\xcb\xba\x4f\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xda" , "\x5b\xfd\xcb\xba\x4f\xf4\xe7" } , { "\xca\xe8\xd7\xe8\xbd\xda\xa2" , "\x5b\xfd\xcb\xba\x4f\xf4\xe7\x65" } , { "\xca\xe8\xd7\xe8\xbd\xdb" , "\x5b\xfd\xcb\xd7\xba\x4f\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xe1" , "\x5b\xfd\xcb\xe6\xba\x4f\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf" , "\x5b\xfd\xcb\xba\xae\xcf\xf4" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\x5b\xfd\xcb\xba\xae\xcf\xf4\xe7" } , { "\xca\xe8\xd7\xe8\xbd\xe8\xcf\xe2" , "\x5b\xfd\xcb\xe8\xba\xae\xcf\xf4" } , { "\xca\xe8\xd7\xe8\xc6\xdd" , "\x5b\xfd\xcb\xd8\x6f\xf6\xc7" } , { "\xca\xe8\xd7\xe8\xd1\xdd" , "\x5b\xfd\xcb\xd8\xda\xf6\xc7" } , { "\xca\xe8\xd7\xe8\xd1\xe5" , "\x5b\xfd\xcb\xe6\xd8\xda\xf6\xe7" } , { "\xca\xe8\xd8" , "\x5b\xfd\xcb\x63\xf7" } , { "\xca\xe8\xd8\xda" , "\x5b\xfd\xcb\x63\xf7\xe7" } , { "\xca\xe8\xd8\xe6" , "\x5b\xfd\xcb\xe6\x63\xf7\xec" } , { "\xca\xe8\xd8\xe8" , "\x5b\xfd\xcb\x63\xcb\xf7" } , { "\xca\xe8\xe8" , "\x5b\xfd\xcb" } , { "\xca\xe8\xe9\xcf" , "\x5b\xfd\xd0" } , { "\xca\xe9" , "\x5b\xfd" } , { "\xcb" , "\x5c\xf6" } , { "\xcb\xa1" , "\x5c\x67\xf6" } , { "\xcb\xa2" , "\x5c\xf6\x65" } , { "\xcb\xa3" , "\x5c\xf6\x66" } , { "\xcb\xda" , "\x5c\xf6\xe7" } , { "\xcb\xda\xa1" , "\x5c\x67\xf6\xe7" } , { "\xcb\xda\xa2" , "\x5c\xf6\xe7\x65" } , { "\xcb\xdb" , "\xd7\x5c\xf6" } , { "\xcb\xdb\xa2" , "\xd7\x5c\xf6\x65" } , { "\xcb\xdb\xa3" , "\xd7\x5c\xf6\x66" } , { "\xcb\xdc" , "\x5c\xf6\xdd" } , { "\xcb\xdc\xa1" , "\x5c\xf6\xdf" } , { "\xcb\xdc\xa2" , "\x5c\xf6\xdd\x65" } , { "\xcb\xdd" , "\x5c\xc7\xf6" } , { "\xcb\xdd\xa2" , "\x5c\xc7\xf6\x65" } , { "\xcb\xde" , "\x5c\xc9\xf6" } , { "\xcb\xde\xa1" , "\x5c\x67\xc9\xf6" } , { "\xcb\xde\xa2" , "\x5c\xc9\xf6\x65" } , { "\xcb\xdf" , "\x5c\xca\xf6" } , { "\xcb\xdf\xa2" , "\x5c\xca\xf6\x65" } , { "\xcb\xe1" , "\xe6\x5c\xf6" } , { "\xcb\xe1\xa2" , "\xe6\x5c\xf6\x65" } , { "\xcb\xe2" , "\xe9\x5c\xf6" } , { "\xcb\xe2\xa2" , "\xe9\x5c\xf6\x65" } , { "\xcb\xe5" , "\xe6\x5c\xf6\xe7" } , { "\xcb\xe5\xa2" , "\xe6\x5c\xf6\xe7\x65" } , { "\xcb\xe6" , "\xe6\x5c\xf6\xec" } , { "\xcb\xe6\xa2" , "\xe6\x5c\xf6\xec\x65" } , { "\xcb\xe8" , "\x5c\xcb\xf6" } , { "\xcb\xe8\xb3\xdd" , "\x5c\xcb\xf6\x45\xc7\xf5" } , { "\xcb\xe8\xbd\xdd" , "\x5c\xcb\xf6\xbb\x4f\xc7\xf4" } , { "\xcb\xe8\xbf" , "\x5c\xcb\xf6\x51\xf6" } , { "\xcb\xe8\xc2" , "\x5c\xcb\xf6\x54\xf6" } , { "\xcb\xe8\xc2\xdb" , "\x5c\xcb\xf6\xd7\x54\xf6" } , { "\xcb\xe8\xc4" , "\x5c\xcb\xf6\x56" } , { "\xcb\xe8\xc4\xa2" , "\x5c\xcb\xf6\x56\x65" } , { "\xcb\xe8\xc4\xda" , "\x5c\xcb\xf6\x56\xe7" } , { "\xcb\xe8\xc4\xdb" , "\x5c\xcb\xf6\xd7\x56" } , { "\xcb\xe8\xc5" , "\x5c\xcb\xf6\x57\xfd" } , { "\xcb\xe8\xc5\xdb" , "\x5c\xcb\xf6\xd7\x57\xfd" } , { "\xcb\xe8\xc6\xdb" , "\xd7\xed\xf3\xf6" } , { "\xcb\xe8\xc6\xe8\xc6" , "\x5c\xcb\xf6\x7e" } , { "\xcb\xe8\xca\xda" , "\xed\xbc\xf6\xe7" } , { "\xcb\xe8\xca\xdb" , "\xd7\xed\xbc\xf6" } , { "\xcb\xe8\xca\xe2" , "\xe9\xed\xbc\xf6" } , { "\xcb\xe8\xcb" , "\x5c\xcb\xf6\x5c\xf6" } , { "\xcb\xe8\xcb\xda" , "\x5c\xcb\xf6\x5c\xf6\xe7" } , { "\xcb\xe8\xcb\xdc" , "\x5c\xcb\xf6\x5c\xf6\xdd" } , { "\xcb\xe8\xcb\xe2" , "\x5c\xcb\xf6\xe9\x5c\xf6" } , { "\xcb\xe8\xcb\xe8\xcf\xda" , "\x5c\xcb\xf6\x7d\xe7" } , { "\xcb\xe8\xcc" , "\xed\xc1" } , { "\xcb\xe8\xcd" , "\x5c\xfd\xee" } , { "\xcb\xe8\xcd\xa2" , "\x5c\xfd\xee\x65" } , { "\xcb\xe8\xcd\xa3" , "\x5c\xfd\xee\x66" } , { "\xcb\xe8\xcd\xda" , "\x5c\xfd\xee\xe7" } , { "\xcb\xe8\xcd\xda\xa2" , "\x5c\xfd\xee\xe7\x65" } , { "\xcb\xe8\xcd\xdb" , "\xd7\x5c\xfd\xee" } , { "\xcb\xe8\xcd\xdd" , "\x5c\xc7\xfd\xee" } , { "\xcb\xe8\xcd\xde" , "\x5c\xc9\xfd\xee" } , { "\xcb\xe8\xcd\xdf" , "\x5c\xca\xfd\xee" } , { "\xcb\xe8\xcd\xe1" , "\xe6\x5c\xfd\xee" } , { "\xcb\xe8\xcd\xe2" , "\xe9\x5c\xfd\xee" } , { "\xcb\xe8\xcd\xe5" , "\xe6\x5c\xfd\xee\xe7" } , { "\xcb\xe8\xcd\xe6" , "\xe6\x5c\xfd\xee\xec" } , { "\xcb\xe8\xcd\xe8" , "\x5c\xfd\xee\xcb" } , { "\xcb\xe8\xcf" , "\x7d" } , { "\xcb\xe8\xcf\xa2" , "\x7d\x65" } , { "\xcb\xe8\xcf\xda" , "\x7d\xe7" } , { "\xcb\xe8\xcf\xda\xa2" , "\x7d\xe7\x65" } , { "\xcb\xe8\xcf\xdb" , "\xd7\x7d" } , { "\xcb\xe8\xcf\xdc" , "\x7d\xdd" } , { "\xcb\xe8\xcf\xdd" , "\x7d\xd3" } , { "\xcb\xe8\xcf\xde" , "\x7d\xd6" } , { "\xcb\xe8\xcf\xdf" , "\x7d\xca" } , { "\xcb\xe8\xcf\xe5" , "\xe6\x7d\xe7" } , { "\xcb\xe8\xd1\xe2" , "\xe8\xed\xf2\xf6" } , { "\xcb\xe8\xd1\xe5" , "\xe6\xed\xf2\xf6\xe7" } , { "\xcb\xe8\xe8" , "\x5c\xcb\xf6" } , { "\xcb\xe8\xe9\xcf" , "\x7d" } , { "\xcb\xe9" , "\x5c\xf6" } , { "\xcc" , "\x5d" } , { "\xcc\xa1" , "\x5d\x67" } , { "\xcc\xa2" , "\x5d\x65" } , { "\xcc\xa3" , "\x5d\x66" } , { "\xcc\xda" , "\x5d\xe7" } , { "\xcc\xda\xa1" , "\x5d\x67\xe7" } , { "\xcc\xda\xa2" , "\x5d\xe7\x65" } , { "\xcc\xda\xa3" , "\x5d\xe7\x66" } , { "\xcc\xdb" , "\xd7\x5d" } , { "\xcc\xdb\xa2" , "\xd7\x5d\x65" } , { "\xcc\xdb\xa2\xa2" , "\xd7\x5d\x65\x65" } , { "\xcc\xdc" , "\x5d\xdd" } , { "\xcc\xdc\xa1" , "\x5d\xdf" } , { "\xcc\xdc\xa2" , "\x5d\xdd\x65" } , { "\xcc\xdd" , "\x5d\xc7" } , { "\xcc\xdd\xa1" , "\x5d\x67\xc7" } , { "\xcc\xdd\xa2" , "\x5d\xc7\x65" } , { "\xcc\xdd\xa2\xa2" , "\x5d\xc7\x65\x65" } , { "\xcc\xde" , "\x5d\xc9" } , { "\xcc\xde\xa1" , "\x5d\x67\xc9" } , { "\xcc\xde\xa2" , "\x5d\xc9\x65" } , { "\xcc\xdf" , "\x5d\xca" } , { "\xcc\xdf\xa2" , "\x5d\xca\x65" } , { "\xcc\xe1" , "\xe6\x5d" } , { "\xcc\xe1\xa1" , "\xe6\x5d\x67" } , { "\xcc\xe1\xa2" , "\xe6\x5d\x65" } , { "\xcc\xe1\xa2\xa2" , "\xe6\x5d\x65\x65" } , { "\xcc\xe2" , "\xe9\x5d" } , { "\xcc\xe2\xa1" , "\xe9\x5d\x67" } , { "\xcc\xe2\xa2" , "\xe9\x5d\x65" } , { "\xcc\xe5" , "\xe6\x5d\xe7" } , { "\xcc\xe5\xa2" , "\xe6\x5d\xe7\x65" } , { "\xcc\xe6" , "\xe6\x5d\xec" } , { "\xcc\xe6\xa2" , "\xe6\x5d\xec\x65" } , { "\xcc\xe6\xa3" , "\xe6\x5d\xec\x66" } , { "\xcc\xe8" , "\x5d\xcb" } , { "\xcc\xe8\xb3\xa2" , "\x5d\xcb\x45\xf5\x65" } , { "\xcc\xe8\xb3\xda" , "\x5d\xcb\x45\xf5\xe7" } , { "\xcc\xe8\xb3\xdb" , "\x5d\xcb\xd7\x45\xf5" } , { "\xcc\xe8\xb3\xdc" , "\x5d\xcb\x45\xf5\xdd" } , { "\xcc\xe8\xb3\xdd" , "\x5d\xcb\x45\xc7\xf5" } , { "\xcc\xe8\xb3\xde" , "\x5d\xcb\x45\xc9\xf5" } , { "\xcc\xe8\xb3\xdf" , "\x5d\xcb\x45\xca\xf5" } , { "\xcc\xe8\xb3\xe1" , "\x5d\xcb\xe6\x45\xf5" } , { "\xcc\xe8\xb3\xe5" , "\x5d\xcb\xe6\x45\xf5\xe7" } , { "\xcc\xe8\xb3\xe8\xcd\xda" , "\x5d\xcb\xa8\xcc\x5e\xe7" } , { "\xcc\xe8\xb3\xe8\xcf\xdb\xa2" , "\x5d\xcb\xd7\x79\xd4\x65" } , { "\xcc\xe8\xb3\xe8\xcf\xde" , "\x5d\xcb\x79\xc9\xd4" } , { "\xcc\xe8\xb3\xe8\xd1\xe5" , "\x5d\xcb\xe6\x7a\xf5\xe7" } , { "\xcc\xe8\xb3\xe8\xd7\xdc" , "\x5d\xcb\x6a\xdd" } , { "\xcc\xe8\xb4\xda" , "\x5d\xcb\x46\xe7" } , { "\xcc\xe8\xb4\xe8" , "\x5d\xcb\x46\xcb" } , { "\xcc\xe8\xb5" , "\x5d\xcb\x47" } , { "\xcc\xe8\xb5\xa2" , "\x5d\xcb\x47\x65" } , { "\xcc\xe8\xb5\xda" , "\x5d\xcb\x47\xe7" } , { "\xcc\xe8\xb5\xdd" , "\x5d\xcb\x6d" } , { "\xcc\xe8\xb8" , "\x5d\xcb\xbb\x4a\xf4" } , { "\xcc\xe8\xb8\xa2" , "\x5d\xcb\xbb\x4a\xf4\x65" } , { "\xcc\xe8\xb8\xda" , "\x5d\xcb\xbb\x4a\xf4\xe7" } , { "\xcc\xe8\xb8\xdc" , "\x5d\xcb\xbb\x4a\xf4\xdd" } , { "\xcc\xe8\xb8\xdd" , "\x5d\xcb\xbb\x4a\xc7\xf4" } , { "\xcc\xe8\xb8\xe1" , "\x5d\xcb\xe6\xbb\x4a\xf4" } , { "\xcc\xe8\xb8\xe8\xc8" , "\x5d\xcb\xac\x59" } , { "\xcc\xe8\xba" , "\x5d\xcb\x4c" } , { "\xcc\xe8\xba\xda" , "\x5d\xcb\x4c\xe7" } , { "\xcc\xe8\xba\xdb" , "\x5d\xcb\xd7\x4c" } , { "\xcc\xe8\xba\xe8" , "\x5d\xcb\x4c\xcb" } , { "\xcc\xe8\xba\xe9" , "\x5d\xcb\x4c" } , { "\xcc\xe8\xbd" , "\x5d\xcb\xbb\x4f\xf4" } , { "\xcc\xe8\xbd\xda" , "\x5d\xcb\xbb\x4f\xf4\xe7" } , { "\xcc\xe8\xbd\xdc" , "\x5d\xcb\xbb\x4f\xf4\xdd" } , { "\xcc\xe8\xbd\xe1" , "\x5d\xcb\xe6\xbb\x4f\xf4" } , { "\xcc\xe8\xbd\xe8\xcd\xde" , "\x5d\xcb\xae\xcc\x5e\xc9" } , { "\xcc\xe8\xbf" , "\x5d\xcb\x51\xf6" } , { "\xcc\xe8\xbf\xda" , "\x5d\xcb\x51\xf6\xe7" } , { "\xcc\xe8\xbf\xdb" , "\x5d\xcb\xd7\x51\xf6" } , { "\xcc\xe8\xbf\xe8" , "\x5d\xcb\x51\xcb\xf6" } , { "\xcc\xe8\xbf\xe8\xcf\xdb" , "\x5d\xcb\xd7\x51\xce\xf6" } , { "\xcc\xe8\xc1" , "\x5d\xcb\x53" } , { "\xcc\xe8\xc1\xe5\xa2" , "\x5d\xcb\xe6\x53\xe7\x65" } , { "\xcc\xe8\xc1\xe8\xcc" , "\x5d\xcb\x53\xbd" } , { "\xcc\xe8\xc1\xe8\xd7" , "\x5d\xcb\xb0\x61" } , { "\xcc\xe8\xc2" , "\xb6\x99\xf6" } , { "\xcc\xe8\xc2\xda" , "\xb6\x99\xf6\xe7" } , { "\xcc\xe8\xc2\xda\xa2" , "\xb6\x99\xf6\xe7\x65" } , { "\xcc\xe8\xc2\xdb" , "\xd7\xb6\x99\xf6" } , { "\xcc\xe8\xc2\xe5" , "\xe6\xb6\x99\xf6\xe7" } , { "\xcc\xe8\xc2\xe8\xc2\xdb" , "\x5d\xcb\xd7\x77\xf8" } , { "\xcc\xe8\xc2\xe8\xc3\xdd" , "\x5d\xcb\x78\xc7" } , { "\xcc\xe8\xc2\xe8\xcd" , "\x5d\xcb\xb1\xcc\x5e" } , { "\xcc\xe8\xc2\xe8\xcd\xdd" , "\x5d\xcb\xb1\xcc\x5e\xc7" } , { "\xcc\xe8\xc2\xe8\xcd\xdd\xa2" , "\x5d\xcb\xb1\xcc\x5e\xc7\x65" } , { "\xcc\xe8\xc2\xe8\xcd\xde" , "\x5d\xcb\xb1\xcc\x5e\xc9" } , { "\xcc\xe8\xc2\xe8\xcd\xe8" , "\x5d\xcb\xb1\xcc\x5e\xcb" } , { "\xcc\xe8\xc2\xe8\xcf\xe8\xcd" , "\x5d\xcb\x64\xcc\x5b\xfd\xcb\xcc\x5e" } , { "\xcc\xe8\xc3" , "\xb6\x9a\xf6" } , { "\xcc\xe8\xc4" , "\x5d\xcb\x56" } , { "\xcc\xe8\xc4\xda" , "\x5d\xcb\x56\xe7" } , { "\xcc\xe8\xc4\xdb" , "\x5d\xcb\xd7\x56" } , { "\xcc\xe8\xc4\xdc" , "\x5d\xcb\x56\xdd" } , { "\xcc\xe8\xc4\xdd" , "\x5d\xcb\x56\xc7" } , { "\xcc\xe8\xc4\xe1" , "\x5d\xcb\xe6\x56" } , { "\xcc\xe8\xc4\xe8\xc5" , "\x5d\xcb\x88\xf9" } , { "\xcc\xe8\xc4\xe8\xc5\xdb" , "\x5d\xcb\xd7\x88\xf9" } , { "\xcc\xe8\xc5\xda" , "\x5d\xcb\x57\xfd\xe7" } , { "\xcc\xe8\xc5\xe5\xa2" , "\x5d\xcb\xe6\x57\xfd\xe7\x65" } , { "\xcc\xe8\xc5\xe8\xc4" , "\x5d\xcb\x57\xfd\xcb\x56" } , { "\xcc\xe8\xc6" , "\xb6\x6f\xf6" } , { "\xcc\xe8\xc6\xa2" , "\xb6\x6f\xf6\x65" } , { "\xcc\xe8\xc6\xda" , "\xb6\x6f\xf6\xe7" } , { "\xcc\xe8\xc6\xda\xa2" , "\xb6\x6f\xf6\xe7\x65" } , { "\xcc\xe8\xc6\xdb" , "\xd7\xb6\x6f\xf6" } , { "\xcc\xe8\xc6\xdc" , "\xb6\x6f\xf6\xdd" } , { "\xcc\xe8\xc6\xdd" , "\xb6\x6f\xf6\xc7" } , { "\xcc\xe8\xc6\xdd\xa2" , "\xb6\x6f\xf6\xc7\x65" } , { "\xcc\xe8\xc6\xde" , "\xb6\x6f\xf6\xc9" } , { "\xcc\xe8\xc6\xe1" , "\xe6\xb6\x6f\xf6" } , { "\xcc\xe8\xc6\xe5" , "\xe6\xb6\x6f\xf6\xe7" } , { "\xcc\xe8\xc8" , "\x8e" } , { "\xcc\xe8\xc8\xda" , "\x8e\xe7" } , { "\xcc\xe8\xc8\xda\xa1" , "\x8e\x67\xe7" } , { "\xcc\xe8\xc8\xdb" , "\xd7\x8e" } , { "\xcc\xe8\xc8\xdb\xa2" , "\xd7\x8e\x65" } , { "\xcc\xe8\xc8\xdc" , "\x8e\xdd" } , { "\xcc\xe8\xc8\xdd" , "\x8e\xc7" } , { "\xcc\xe8\xc8\xde" , "\x8e\xc9" } , { "\xcc\xe8\xc8\xdf" , "\x8e\xca" } , { "\xcc\xe8\xc8\xe1" , "\xe6\x8e" } , { "\xcc\xe8\xc8\xe2" , "\xe9\x8e" } , { "\xcc\xe8\xc8\xe2\xa2" , "\xe9\x8e\x65" } , { "\xcc\xe8\xc8\xe5" , "\xe6\x8e\xe7" } , { "\xcc\xe8\xc8\xe5\xa2" , "\xe6\x8e\xe7\x65" } , { "\xcc\xe8\xc8\xe8" , "\x8e\xcb" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2" , "\x5d\xcb\xb4\x4e\xfe" } , { "\xcc\xe8\xc8\xe8\xb3\xe8\xc2\xdb" , "\x5d\xcb\xd7\xb4\x4e\xfe" } , { "\xcc\xe8\xc8\xe8\xb8" , "\x5d\xcb\xb4\x4a\xf4" } , { "\xcc\xe8\xc8\xe8\xc4\xda" , "\x5d\xcb\xb4\x56\xe7" } , { "\xcc\xe8\xc8\xe8\xcd" , "\x5d\xcb\xb4\xcc\x5e" } , { "\xcc\xe8\xc8\xe8\xcd\xdd" , "\x5d\xcb\xb4\xcc\x5e\xc7" } , { "\xcc\xe8\xc8\xe8\xcd\xde" , "\x5d\xcb\xb4\xcc\x5e\xc9" } , { "\xcc\xe8\xc8\xe8\xcf" , "\x8e\xd2" } , { "\xcc\xe8\xc8\xe8\xcf\xda" , "\x8e\xd2\xe7" } , { "\xcc\xe8\xc8\xe8\xcf\xde" , "\x8e\xd2\xc9" } , { "\xcc\xe8\xc8\xe8\xcf\xe1" , "\xe6\x8e\xd2" } , { "\xcc\xe8\xc8\xe8\xd1" , "\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xda" , "\x8e\xc0\xe7" } , { "\xcc\xe8\xc8\xe8\xd1\xda\xa2" , "\x8e\xc0\xe7\x65" } , { "\xcc\xe8\xc8\xe8\xd1\xdb" , "\xd7\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xe1" , "\xe6\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xe2" , "\xe9\x8e\xc0" } , { "\xcc\xe8\xc8\xe8\xd1\xe5" , "\xe6\x8e\xc0\xe7" } , { "\xcc\xe8\xc8\xe8\xd5" , "\x5d\xcb\xb4\x60" } , { "\xcc\xe8\xc8\xe8\xd6" , "\x5d\xcb\xb4\x62" } , { "\xcc\xe8\xc8\xe8\xd7" , "\x5d\xcb\xb4\x61" } , { "\xcc\xe8\xc9" , "\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xda" , "\xb6\xf6\x8f\xf5\xe7" } , { "\xcc\xe8\xc9\xdb" , "\xd7\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xdc" , "\xb6\xf6\x8f\xf5\xdd" } , { "\xcc\xe8\xc9\xe1" , "\xe6\xb6\xf6\x8f\xf5" } , { "\xcc\xe8\xc9\xe5" , "\xe6\xb6\xf6\x8f\xf5\xe7" } , { "\xcc\xe8\xc9\xe8\xcf\xe1" , "\xe6\xb6\xf6\x8f\xd0\xf5" } , { "\xcc\xe8\xc9\xe8\xd1\xe5" , "\xe6\xb6\xf6\x8f\xc0\xf5\xe7" } , { "\xcc\xe8\xca" , "\xb6\x91\xf6" } , { "\xcc\xe8\xca\xa2" , "\xb6\x91\xf6\x65" } , { "\xcc\xe8\xca\xda" , "\xb6\x91\xf6\xe7" } , { "\xcc\xe8\xca\xda\xa2" , "\xb6\x91\xf6\xe7\x65" } , { "\xcc\xe8\xca\xdb" , "\xd7\xb6\x91\xf6" } , { "\xcc\xe8\xca\xdb\xa2" , "\xd7\xb6\x91\xf6\x65" } , { "\xcc\xe8\xca\xdc" , "\xb6\x91\xf6\xdd" } , { "\xcc\xe8\xca\xdd" , "\xb6\x91\xf6\xc7" } , { "\xcc\xe8\xca\xde" , "\xb6\x91\xf6\xc9" } , { "\xcc\xe8\xca\xe1" , "\xe6\xb6\x91\xf6" } , { "\xcc\xe8\xca\xe1\xa2" , "\xe6\xb6\x91\xf6\x65" } , { "\xcc\xe8\xca\xe5" , "\xe6\xb6\x91\xf6\xe7" } , { "\xcc\xe8\xca\xe5\xa2" , "\xe6\xb6\x91\xf6\xe7\x65" } , { "\xcc\xe8\xca\xe6" , "\xe6\xb6\x91\xf6\xec" } , { "\xcc\xe8\xca\xe8\xc4\xe8\xc5" , "\x5d\xcb\x5b\xfd\xcb\x88\xf9" } , { "\xcc\xe8\xca\xe8\xcf" , "\xb6\x91\xf6\x98" } , { "\xcc\xe8\xca\xe8\xcf\xda\xa2" , "\xb6\x91\xf6\x98\xe7\x65" } , { "\xcc\xe8\xca\xe8\xcf\xdb" , "\xd7\xb6\x91\xf6\x98" } , { "\xcc\xe8\xca\xe8\xcf\xe1" , "\xe6\xb6\x91\xf6\x98" } , { "\xcc\xe8\xcb" , "\x90\xf6" } , { "\xcc\xe8\xcb\xa3" , "\x90\xf6\x66" } , { "\xcc\xe8\xcb\xda" , "\x90\xf6\xe7" } , { "\xcc\xe8\xcb\xdb" , "\xd7\x90\xf6" } , { "\xcc\xe8\xcb\xdc" , "\x90\xf6\xdd" } , { "\xcc\xe8\xcb\xdd" , "\x90\xc7\xf6" } , { "\xcc\xe8\xcb\xde" , "\x90\xc9\xf6" } , { "\xcc\xe8\xcb\xe1" , "\xe6\x90\xf6" } , { "\xcc\xe8\xcb\xe5" , "\xe6\x90\xf6\xe7" } , { "\xcc\xe8\xcb\xe5\xa2" , "\xe6\x90\xf6\xe7\x65" } , { "\xcc\xe8\xcb\xe6" , "\xe6\x90\xf6\xec" } , { "\xcc\xe8\xcb\xe8" , "\x90\xcb\xf6" } , { "\xcc\xe8\xcb\xe8\xcf" , "\xa4" } , { "\xcc\xe8\xcb\xe8\xcf\xda" , "\xa4\xe7" } , { "\xcc\xe8\xcc" , "\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xa2" , "\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xda" , "\xb6\xf6\x82\xe7" } , { "\xcc\xe8\xcc\xda\xa1" , "\xb6\xf6\x82\x67\xe7" } , { "\xcc\xe8\xcc\xda\xa2" , "\xb6\xf6\x82\xe7\x65" } , { "\xcc\xe8\xcc\xdb" , "\xd7\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xdb\xa2" , "\xd7\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xdc" , "\xb6\xf6\x82\xdd" } , { "\xcc\xe8\xcc\xdc\xa2" , "\xb6\xf6\x82\xdd\x65" } , { "\xcc\xe8\xcc\xdd" , "\xb6\xf6\x82\xc7" } , { "\xcc\xe8\xcc\xdd\xa2" , "\xb6\xf6\x82\xc7\x65" } , { "\xcc\xe8\xcc\xde" , "\xb6\xf6\x82\xc9" } , { "\xcc\xe8\xcc\xe1" , "\xe6\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xe1\xa2" , "\xe6\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xe2" , "\xe9\xb6\xf6\x82" } , { "\xcc\xe8\xcc\xe5" , "\xe6\xb6\xf6\x82\xe7" } , { "\xcc\xe8\xcc\xe5\xa2" , "\xe6\xb6\xf6\x82\xe7\x65" } , { "\xcc\xe8\xcc\xe8" , "\xb6\xf6\x82\xcb" } , { "\xcc\xe8\xcc\xe8\xc4" , "\x5d\xcb\x5d\xcb\x56" } , { "\xcc\xe8\xcc\xe8\xc4\xdb" , "\x5d\xcb\x5d\xcb\xd7\x56" } , { "\xcc\xe8\xcc\xe8\xc6\xdb" , "\x5d\xcb\xd7\xb6\x6f\xf6" } , { "\xcc\xe8\xcc\xe8\xcc\xe2\xa2" , "\x5d\xcb\xe9\xb6\xf6\x82\x65" } , { "\xcc\xe8\xcc\xe8\xd1\xe1" , "\x5d\xcb\xe6\xb6\xda\xf6" } , { "\xcc\xe8\xcd" , "\x5d\xee" } , { "\xcc\xe8\xcd\xa2" , "\x5d\xee\x65" } , { "\xcc\xe8\xcd\xda" , "\x5d\xee\xe7" } , { "\xcc\xe8\xcd\xda\xa1" , "\x5d\xee\xe7\x67" } , { "\xcc\xe8\xcd\xda\xa2" , "\x5d\xee\xe7\x65" } , { "\xcc\xe8\xcd\xdb" , "\xd7\x5d\xee" } , { "\xcc\xe8\xcd\xdd" , "\x5d\xc7\xee" } , { "\xcc\xe8\xcd\xde" , "\x5d\xc9\xee" } , { "\xcc\xe8\xcd\xdf" , "\x5d\xca\xee" } , { "\xcc\xe8\xcd\xe1" , "\xe6\x5d\xee" } , { "\xcc\xe8\xcd\xe2" , "\xe9\x5d\xee" } , { "\xcc\xe8\xcd\xe5" , "\xe6\x5d\xee\xe7" } , { "\xcc\xe8\xcd\xe5\xa2" , "\xe6\x5d\xee\xe7\x65" } , { "\xcc\xe8\xcd\xe6" , "\xe6\x5d\xee\xec" } , { "\xcc\xe8\xcd\xe8" , "\x5d\xee\xcb" } , { "\xcc\xe8\xcd\xe8\xcd" , "\x5d\xee\xee" } , { "\xcc\xe8\xcd\xe8\xcd\xda" , "\x5d\xee\xee\xe7" } , { "\xcc\xe8\xcf" , "\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xa2" , "\xb6\x83\xf6\x65" } , { "\xcc\xe8\xcf\xda" , "\xb6\x83\xf6\xe7" } , { "\xcc\xe8\xcf\xda\xa2" , "\xb6\x83\xf6\xe7\x65" } , { "\xcc\xe8\xcf\xdb" , "\xd7\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xdb\xa2" , "\xd7\xb6\x83\xf6\x65" } , { "\xcc\xe8\xcf\xdc" , "\xb6\x83\xf6\xdd" } , { "\xcc\xe8\xcf\xdd" , "\xb6\x83\xf6\xd3" } , { "\xcc\xe8\xcf\xde" , "\xb6\x83\xf6\xd6" } , { "\xcc\xe8\xcf\xe1" , "\xe6\xb6\x83\xf6" } , { "\xcc\xe8\xcf\xe5" , "\xe6\xb6\x83\xf6\xe7" } , { "\xcc\xe8\xcf\xe5\xa2" , "\xe6\xb6\x83\xf6\xe7\x65" } , { "\xcc\xe8\xcf\xe8\xb3" , "\x5d\xcb\xcc\x5b\xfd\xcb\x45\xf5" } , { "\xcc\xe8\xcf\xe8\xc2" , "\x5d\xcb\xcc\x5b\xfd\xcb\x54\xf6" } , { "\xcc\xe8\xcf\xe8\xcd\xda" , "\x5d\xcb\xcc\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xcc\xe8\xd1" , "\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xa2" , "\xb6\xda\xf6\x65" } , { "\xcc\xe8\xd1\xda" , "\xb6\xda\xf6\xe7" } , { "\xcc\xe8\xd1\xda\xa2" , "\xb6\xda\xf6\xe7\x65" } , { "\xcc\xe8\xd1\xdb" , "\xd7\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xdc" , "\xb6\xda\xf6\xdd" } , { "\xcc\xe8\xd1\xdd" , "\xb6\xda\xf6\xc7" } , { "\xcc\xe8\xd1\xdd\xa2" , "\xb6\xda\xf6\xc7\x65" } , { "\xcc\xe8\xd1\xde" , "\xb6\xda\xf6\xc9" } , { "\xcc\xe8\xd1\xe1" , "\xe6\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xe2" , "\xe8\xb6\xda\xf6" } , { "\xcc\xe8\xd1\xe5" , "\xe6\xb6\xda\xf6\xe7" } , { "\xcc\xe8\xd1\xe5\xa2" , "\xe6\xb6\xda\xf6\xe7\x65" } , { "\xcc\xe8\xd1\xe8" , "\xb6\xda\xf6\xcb" } , { "\xcc\xe8\xd1\xe8\xcd\xde" , "\x5d\xcb\xb7\xcc\x5e\xc9" } , { "\xcc\xe8\xd5" , "\x5d\xcb\x60" } , { "\xcc\xe8\xd5\xda" , "\x5d\xcb\x60\xe7" } , { "\xcc\xe8\xd5\xdc" , "\x5d\xcb\x60\xdd" } , { "\xcc\xe8\xd6" , "\x5d\xcb\x62" } , { "\xcc\xe8\xd6\xdc" , "\x5d\xcb\x62\xdd" } , { "\xcc\xe8\xd7" , "\x5d\xcb\x61" } , { "\xcc\xe8\xd7\xda" , "\x5d\xcb\x61\xe7" } , { "\xcc\xe8\xd7\xdb\xa2" , "\x5d\xcb\xd7\x61\x65" } , { "\xcc\xe8\xd7\xdd" , "\x5d\xcb\x61\xc7" } , { "\xcc\xe8\xd7\xde" , "\x5d\xcb\x61\xc9" } , { "\xcc\xe8\xd7\xe1" , "\x5d\xcb\xe6\x61" } , { "\xcc\xe8\xd7\xe8" , "\x5d\xcb\x61\xcb" } , { "\xcc\xe8\xd7\xe8\xb3\xdc" , "\x5d\xcb\x95\xf5\xdd" } , { "\xcc\xe8\xd7\xe8\xb3\xdd" , "\x5d\xcb\x95\xc7\xf5" } , { "\xcc\xe8\xd7\xe8\xb3\xe8\xd1" , "\x5d\xcb\x95\xc0\xf5" } , { "\xcc\xe8\xd7\xe8\xbd" , "\x5d\xcb\xba\x4f\xf4" } , { "\xcc\xe8\xd7\xe8\xbd\xda" , "\x5d\xcb\xba\x4f\xf4\xe7" } , { "\xcc\xe8\xd7\xe8\xbd\xe1" , "\x5d\xcb\xe6\xba\x4f\xf4" } , { "\xcc\xe8\xd7\xe8\xbd\xe5" , "\x5d\xcb\xe6\xba\x4f\xf4\xe7" } , { "\xcc\xe8\xd7\xe8\xbf" , "\x5d\xcb\xba\x51\xf6" } , { "\xcc\xe8\xd7\xe8\xbf\xdb" , "\x5d\xcb\xd7\xba\x51\xf6" } , { "\xcc\xe8\xd7\xe8\xc2" , "\x5d\xcb\xd8\x99\xf6" } , { "\xcc\xe8\xd7\xe8\xc2\xdc" , "\x5d\xcb\xd8\x99\xf6\xdd" } , { "\xcc\xe8\xd7\xe8\xc2\xe5" , "\x5d\xcb\xe6\xd8\x99\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xc6\xdd" , "\x5d\xcb\xd8\x6f\xf6\xc7" } , { "\xcc\xe8\xd7\xe8\xc6\xe8" , "\x5d\xcb\xd8\x6f\xf6\xcb" } , { "\xcc\xe8\xd7\xe8\xc8" , "\x5d\xcb\x26" } , { "\xcc\xe8\xd7\xe8\xc8\xe8\xcf\xdb" , "\x5d\xcb\xd7\x26\xd2" } , { "\xcc\xe8\xd7\xe8\xc9" , "\x5d\xcb\xd8\xf6\x8f\xf5" } , { "\xcc\xe8\xd7\xe8\xca\xda\xa2" , "\x5d\xcb\xd8\x91\xf6\xe7\x65" } , { "\xcc\xe8\xd7\xe8\xcc\xdb" , "\x5d\xcb\xd7\xd8\xf6\x82" } , { "\xcc\xe8\xd7\xe8\xcd\xda" , "\x5d\xcb\xba\xcc\x5e\xe7" } , { "\xcc\xe8\xd7\xe8\xcf\xda" , "\x5d\xcb\xd8\x83\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xd1\xda" , "\x5d\xcb\xd8\xda\xf6\xe7" } , { "\xcc\xe8\xd7\xe8\xd1\xda\xa2" , "\x5d\xcb\xd8\xda\xf6\xe7\x65" } , { "\xcc\xe8\xd7\xe8\xd1\xe5" , "\x5d\xcb\xe6\xd8\xda\xf6\xe7" } , { "\xcc\xe8\xd8" , "\x5d\xcb\x63\xf7" } , { "\xcc\xe8\xd8\xa2" , "\x5d\xcb\x63\xf7\x65" } , { "\xcc\xe8\xd8\xda" , "\x5d\xcb\x63\xf7\xe7" } , { "\xcc\xe8\xd8\xda\xa2" , "\x5d\xcb\x63\xf7\xe7\x65" } , { "\xcc\xe8\xd8\xdb" , "\x5d\xcb\xd7\x63\xf7" } , { "\xcc\xe8\xd8\xdc" , "\x5d\xcb\x63\xf7\xdd" } , { "\xcc\xe8\xd8\xdc\xa2" , "\x5d\xcb\x63\xf7\xdd\x65" } , { "\xcc\xe8\xd8\xde" , "\x5d\xcb\x63\xc9\xf7" } , { "\xcc\xe8\xd8\xe1" , "\x5d\xcb\xe6\x63\xf7" } , { "\xcc\xe8\xd8\xe1\xa2" , "\x5d\xcb\xe6\x63\xf7\x65" } , { "\xcc\xe8\xd8\xe2\xa2" , "\x5d\xcb\xe9\x63\xf7\x65" } , { "\xcc\xe8\xd9\xcc\xe1" , "\x5d\xcb\xe3\x5d" } , { "\xcc\xe8\xd9\xcd" , "\x5d\xcb\xcc\x5e" } , { "\xcc\xe8\xe8" , "\x5d\xcb" } , { "\xcc\xe8\xe9\xcf" , "\xb6\x83\xf6" } , { "\xcc\xe9" , "\x5d" } , { "\xcd" , "\x5e" } , { "\xcd\xa1" , "\x5e\x67" } , { "\xcd\xa2" , "\x5e\x65" } , { "\xcd\xa2\xa3" , "\x5e\x65\x66" } , { "\xcd\xa3" , "\x5e\x66" } , { "\xcd\xda" , "\x5e\xe7" } , { "\xcd\xda\xa1" , "\x5e\x67\xe7" } , { "\xcd\xda\xa2" , "\x5e\xe7\x65" } , { "\xcd\xda\xa3" , "\x5e\xe7\x66" } , { "\xcd\xdb" , "\xd7\x5e" } , { "\xcd\xdb\xa2" , "\xd7\x5e\x65" } , { "\xcd\xdb\xa2\xa2" , "\xd7\x5e\x65\x65" } , { "\xcd\xdb\xa3" , "\xd7\x5e\x66" } , { "\xcd\xdc" , "\x5e\xdd" } , { "\xcd\xdc\xa1" , "\x5e\xdf" } , { "\xcd\xdc\xa2" , "\x5e\xdd\x65" } , { "\xcd\xdd" , "\x5e\xc7" } , { "\xcd\xdd\xa2" , "\x5e\xc7\x65" } , { "\xcd\xdd\xa3" , "\x5e\xc7\x66" } , { "\xcd\xde" , "\x5e\xc9" } , { "\xcd\xde\xa1" , "\x5e\x67\xc9" } , { "\xcd\xde\xa2" , "\x5e\xc9\x65" } , { "\xcd\xdf" , "\x5e\xca" } , { "\xcd\xe1" , "\xe6\x5e" } , { "\xcd\xe1\xa1" , "\xe6\x5e\x67" } , { "\xcd\xe1\xa2" , "\xe6\x5e\x65" } , { "\xcd\xe1\xa3" , "\xe6\x5e\x66" } , { "\xcd\xe2" , "\xe9\x5e" } , { "\xcd\xe2\xa2" , "\xe9\x5e\x65" } , { "\xcd\xe5" , "\xe6\x5e\xe7" } , { "\xcd\xe5\xa1" , "\xe6\x5e\x67\xe7" } , { "\xcd\xe5\xa2" , "\xe6\x5e\xe7\x65" } , { "\xcd\xe5\xa3" , "\xe6\x5e\xe7\x66" } , { "\xcd\xe6" , "\xe6\x5e\xec" } , { "\xcd\xe6\xa2" , "\xe6\x5e\xec\x65" } , { "\xcd\xe8" , "\x5e\xcb" } , { "\xcd\xe8\xb3" , "\x5e\xcb\x45\xf5" } , { "\xcd\xe8\xb3\xdb" , "\x5e\xcb\xd7\x45\xf5" } , { "\xcd\xe8\xb3\xdb\xa2" , "\x5e\xcb\xd7\x45\xf5\x65" } , { "\xcd\xe8\xb3\xdd" , "\x5e\xcb\x45\xc7\xf5" } , { "\xcd\xe8\xb3\xde" , "\x5e\xcb\x45\xc9\xf5" } , { "\xcd\xe8\xb3\xe1" , "\x5e\xcb\xe6\x45\xf5" } , { "\xcd\xe8\xb3\xe5" , "\x5e\xcb\xe6\x45\xf5\xe7" } , { "\xcd\xe8\xb5\xda" , "\x5e\xcb\x47\xe7" } , { "\xcd\xe8\xb8\xe1" , "\x5e\xcb\xe6\xbb\x4a\xf4" } , { "\xcd\xe8\xb8\xe6" , "\x5e\xcb\xe6\xbb\x4a\xf4\xec" } , { "\xcd\xe8\xbd" , "\x5e\xcb\xbb\x4f\xf4" } , { "\xcd\xe8\xbf\xa2" , "\x5e\xcb\x51\xf6\x65" } , { "\xcd\xe8\xbf\xdb" , "\x5e\xcb\xd7\x51\xf6" } , { "\xcd\xe8\xc1" , "\x5e\xcb\x53" } , { "\xcd\xe8\xc2\xda" , "\x5e\xcb\x54\xf6\xe7" } , { "\xcd\xe8\xc2\xdd" , "\x5e\xcb\x54\xc7\xf6" } , { "\xcd\xe8\xc2\xe1" , "\x5e\xcb\xe6\x54\xf6" } , { "\xcd\xe8\xc2\xe5" , "\x5e\xcb\xe6\x54\xf6\xe7" } , { "\xcd\xe8\xc2\xe8\xc2" , "\x5e\xcb\x77\xf8" } , { "\xcd\xe8\xc2\xe8\xc6" , "\x5e\xcb\xb1\xf3\xf6" } , { "\xcd\xe8\xc4\xda" , "\x5e\xcb\x56\xe7" } , { "\xcd\xe8\xc6" , "\x5e\xc2" } , { "\xcd\xe8\xc6\xa2" , "\x5e\xc2\x65" } , { "\xcd\xe8\xc6\xda" , "\x5e\xc2\xe7" } , { "\xcd\xe8\xc6\xdb" , "\xd7\x5e\xc2" } , { "\xcd\xe8\xc6\xdc" , "\x5e\xc2\xdd" } , { "\xcd\xe8\xc6\xdd" , "\x5e\xc2\xc7" } , { "\xcd\xe8\xc6\xe1" , "\xe6\x5e\xc2" } , { "\xcd\xe8\xc6\xe5" , "\xe6\x5e\xc2\xe7" } , { "\xcd\xe8\xc8\xde" , "\x5e\xcb\x59\xc9" } , { "\xcd\xe8\xc9\xe1" , "\x5e\xcb\xe6\x5a\xf5" } , { "\xcd\xe8\xca\xe5" , "\xe6\x5e\x9d\xe7" } , { "\xcd\xe8\xcb\xdd" , "\x5e\xcb\x5c\xc7\xf6" } , { "\xcd\xe8\xcc" , "\x5e\xbd" } , { "\xcd\xe8\xcc\xa2" , "\x5e\xbd\x65" } , { "\xcd\xe8\xcd" , "\x5e\xee" } , { "\xcd\xe8\xcd\xa2" , "\x5e\xee\x65" } , { "\xcd\xe8\xcd\xa2\xa2" , "\x5e\xee\x65\x65" } , { "\xcd\xe8\xcd\xda" , "\x5e\xee\xe7" } , { "\xcd\xe8\xcd\xda\xa2" , "\x5e\xee\xe7\x65" } , { "\xcd\xe8\xcd\xdb" , "\xd7\x5e\xee" } , { "\xcd\xe8\xcd\xdb\xa2" , "\xd7\x5e\xee\x65" } , { "\xcd\xe8\xcd\xdc" , "\x5e\xee\xdd" } , { "\xcd\xe8\xcd\xdd" , "\x5e\xc7\xee" } , { "\xcd\xe8\xcd\xdd\xa2" , "\x5e\xc7\xee\x65" } , { "\xcd\xe8\xcd\xde" , "\x5e\xc9\xee" } , { "\xcd\xe8\xcd\xdf" , "\x5e\xca\xee" } , { "\xcd\xe8\xcd\xe1" , "\xe6\x5e\xee" } , { "\xcd\xe8\xcd\xe1\xa2" , "\xe6\x5e\xee\x65" } , { "\xcd\xe8\xcd\xe2" , "\xe9\x5e\xee" } , { "\xcd\xe8\xcd\xe5" , "\xe6\x5e\xee\xe7" } , { "\xcd\xe8\xcd\xe6" , "\xe6\x5e\xee\xec" } , { "\xcd\xe8\xcd\xe8" , "\x5e\xee\xcb" } , { "\xcd\xe8\xcd\xe8\xb5\xda" , "\x5e\xee\xcb\x47\xe7" } , { "\xcd\xe8\xcd\xe8\xcd" , "\x5e\xee\xee" } , { "\xcd\xe8\xcd\xe8\xcd\xa2" , "\x5e\xee\xee\x65" } , { "\xcd\xe8\xcd\xe8\xcd\xda" , "\x5e\xee\xee\xe7" } , { "\xcd\xe8\xcd\xe8\xcd\xe8\xcd\xda" , "\x5e\xee\xee\xee\xe7" } , { "\xcd\xe8\xcd\xe8\xcf" , "\x5e\x5e\xd2" } , { "\xcd\xe8\xcf" , "\x5e\xd0" } , { "\xcd\xe8\xcf\xde" , "\x5e\xd0\xc9" } , { "\xcd\xe8\xcf\xe5" , "\xe6\x5e\xd0\xe7" } , { "\xcd\xe8\xcf\xe8" , "\x5e\xd0\xcb" } , { "\xcd\xe8\xd1" , "\x5e\xc0" } , { "\xcd\xe8\xd1\xa2" , "\x5e\xc0\x65" } , { "\xcd\xe8\xd1\xda\xa2" , "\x5e\xc0\xe7\x65" } , { "\xcd\xe8\xd1\xdd" , "\x5e\xc0\xc7" } , { "\xcd\xe8\xd1\xde" , "\x5e\xc0\xc9" } , { "\xcd\xe8\xd1\xe1" , "\xe6\x5e\xc0" } , { "\xcd\xe8\xd1\xe5" , "\xe6\x5e\xc0\xe7" } , { "\xcd\xe8\xd1\xe8" , "\x5e\xc0\xcb" } , { "\xcd\xe8\xd5\xda" , "\x5e\xcb\x60\xe7" } , { "\xcd\xe8\xd7" , "\x5e\xcb\x61" } , { "\xcd\xe8\xd7\xda" , "\x5e\xcb\x61\xe7" } , { "\xcd\xe8\xd7\xdb\xa2" , "\x5e\xcb\xd7\x61\x65" } , { "\xcd\xe8\xd7\xe2" , "\x5e\xcb\xe9\x61" } , { "\xcd\xe8\xd7\xe8" , "\x5e\xcb\x61\xcb" } , { "\xcd\xe8\xd7\xe8\xb3" , "\x5e\xcb\x95\xf5" } , { "\xcd\xe8\xe8" , "\x5e\xcb" } , { "\xcd\xe8\xe9\xcf" , "\x5e\xd0" } , { "\xce" , "\xcc\x5e" } , { "\xce\xa3" , "\x5e\x66" } , { "\xce\xe1" , "\xe3\xcc\x5e" } , { "\xce\xe5" , "\xe6\xcc\x5e\xe7" } , { "\xce\xe8\xcd" , "\xcc\x5e\xee" } , { "\xcf" , "\xcc\x5b\xfd" } , { "\xcf\xa1" , "\xcc\x5b\xfd\x67" } , { "\xcf\xa2" , "\xcc\x5b\xfd\x65" } , { "\xcf\xa2\xa2" , "\xcc\x5b\xfd\x65\x65" } , { "\xcf\xa3" , "\xcc\x5b\xfd\x66" } , { "\xcf\xda" , "\xcc\x5b\xfd\xe7" } , { "\xcf\xda\xa1" , "\xcc\x5b\xfd\x67\xe7" } , { "\xcf\xda\xa2" , "\xcc\x5b\xfd\xe7\x65" } , { "\xcf\xda\xa3" , "\xcc\x5b\xfd\xe7\x66" } , { "\xcf\xdb" , "\xd7\xcc\x5b\xfd" } , { "\xcf\xdb\xa1" , "\xd9\xcc\x5b\xfd" } , { "\xcf\xdb\xa2" , "\xd7\xcc\x5b\xfd\x65" } , { "\xcf\xdb\xa2\xa2" , "\xd7\xcc\x5b\xfd\x65\x65" } , { "\xcf\xdb\xa3" , "\xd7\xcc\x5b\xfd\x66" } , { "\xcf\xdb\xce\xda" , "\xd7\xcc\x5b\xfd\x5e\xe7" } , { "\xcf\xdc" , "\xcc\x5b\xfd\xdd" } , { "\xcf\xdc\xa2" , "\xcc\x5b\xfd\xdd\x65" } , { "\xcf\xdc\xa2\xa2" , "\xcc\x5b\xfd\xdd\x65\x65" } , { "\xcf\xdc\xa3" , "\xcc\x5b\xfd\xdd\x66" } , { "\xcf\xdd" , "\xcc\x5b\xfd\xd3" } , { "\xcf\xdd\xa1" , "\xcc\x5b\xfd\x67\xd3" } , { "\xcf\xdd\xa2" , "\xcc\x5b\xfd\xd3\x65" } , { "\xcf\xdd\xa3" , "\xcc\x5b\xfd\xd3\x66" } , { "\xcf\xde" , "\xcc\x5b\xfd\xd6" } , { "\xcf\xde\xa1" , "\xcc\x5b\xfd\x67\xd6" } , { "\xcf\xde\xa2" , "\xcc\x5b\xfd\xd6\x65" } , { "\xcf\xdf" , "\xcc\x5b\xfd\xca" } , { "\xcf\xe1" , "\xe6\xcc\x5b\xfd" } , { "\xcf\xe1\xa2" , "\xe6\xcc\x5b\xfd\x65" } , { "\xcf\xe2" , "\xe9\xcc\x5b\xfd" } , { "\xcf\xe2\xa2" , "\xe9\xcc\x5b\xfd\x65" } , { "\xcf\xe2\xa3" , "\xe9\xcc\x5b\xfd\x66" } , { "\xcf\xe2\xbd\xe8" , "\xe9\xcc\x5b\xfd\xbb\x4f\xcb\xf4" } , { "\xcf\xe5" , "\xe6\xcc\x5b\xfd\xe7" } , { "\xcf\xe5\xa2" , "\xe6\xcc\x5b\xfd\xe7\x65" } , { "\xcf\xe5\xa2\xa2" , "\xe6\xcc\x5b\xfd\xe7\x65\x65" } , { "\xcf\xe6" , "\xe6\xcc\x5b\xfd\xec" } , { "\xcf\xe6\xa2" , "\xe6\xcc\x5b\xfd\xec\x65" } , { "\xcf\xe8" , "\xcc\x5b\xfd\xcb" } , { "\xcf\xe8\xb3" , "\x45\xef\xf5" } , { "\xcf\xe8\xb3\xa2" , "\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xda" , "\x45\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xda\xa2" , "\x45\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xdb" , "\xd7\x45\xef\xf5" } , { "\xcf\xe8\xb3\xdb\xa2" , "\xd7\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xdc" , "\x45\xf5\xde" } , { "\xcf\xe8\xb3\xdd" , "\x45\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xdd\xa2" , "\x45\xc7\xef\xf5\x65" } , { "\xcf\xe8\xb3\xde" , "\x45\xc9\xef\xf5" } , { "\xcf\xe8\xb3\xe1" , "\xe6\x45\xef\xf5" } , { "\xcf\xe8\xb3\xe1\xa2" , "\xe6\x45\xef\xf5\x65" } , { "\xcf\xe8\xb3\xe2" , "\xe9\x45\xef\xf5" } , { "\xcf\xe8\xb3\xe5" , "\xe6\x45\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe5\xa2" , "\xe6\x45\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xe6" , "\xe6\x45\xef\xf5\xec" } , { "\xcf\xe8\xb3\xe6\xa2" , "\xe6\x45\xef\xf5\xec\x65" } , { "\xcf\xe8\xb3\xe8" , "\x45\xcb\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb3" , "\x68\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb3\xdb" , "\xd7\x68\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb3\xdd" , "\x68\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xb5\xda" , "\xa8\x47\xef\xe7" } , { "\xcf\xe8\xb3\xe8\xb5\xe1" , "\xe6\xa8\x47\xef" } , { "\xcf\xe8\xb3\xe8\xbd" , "\x6b\xef\xf4" } , { "\xcf\xe8\xb3\xe8\xbd\xdb" , "\xd7\x6b\xef\xf4" } , { "\xcf\xe8\xb3\xe8\xc2" , "\x4e\xef\xfe" } , { "\xcf\xe8\xb3\xe8\xc6\xdd" , "\x45\xc2\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xc9\xe8\xcd\xde" , "\x45\xcb\xef\xf5\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xcf\xe8\xb3\xe8\xcd\xdd" , "\xa8\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xcd\xde" , "\xa8\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xb3\xe8\xcf\xdb" , "\xd7\x79\xef\xd4" } , { "\xcf\xe8\xb3\xe8\xcf\xdc" , "\x79\xd4\xde" } , { "\xcf\xe8\xb3\xe8\xcf\xde\xa2" , "\x79\xc9\xef\xd4\x65" } , { "\xcf\xe8\xb3\xe8\xcf\xe2" , "\xe9\x79\xef\xd4" } , { "\xcf\xe8\xb3\xe8\xd1" , "\x7a\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xa2" , "\x7a\xef\xf5\x65" } , { "\xcf\xe8\xb3\xe8\xd1\xda" , "\x7a\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe8\xd1\xda\xa2" , "\x7a\xef\xf5\xe7\x65" } , { "\xcf\xe8\xb3\xe8\xd1\xdd" , "\x7a\xc7\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xe1" , "\xe6\x7a\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xe2" , "\xe8\x7a\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd1\xe5" , "\xe6\x7a\xef\xf5\xe7" } , { "\xcf\xe8\xb3\xe8\xd6" , "\x6c\xef\xf9" } , { "\xcf\xe8\xb3\xe8\xd6\xda" , "\x6c\xef\xf9\xe7" } , { "\xcf\xe8\xb3\xe8\xd6\xe2" , "\xe9\x6c\xef\xf9" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd" , "\x45\xcb\xef\xf5\xb9\xcc\x5e" } , { "\xcf\xe8\xb3\xe8\xd6\xe8\xcd\xe5" , "\x45\xcb\xef\xf5\xe6\xb9\xcc\x5e\xe7" } , { "\xcf\xe8\xb3\xe8\xd7" , "\x6a\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xda" , "\x6a\xef\xe7" } , { "\xcf\xe8\xb3\xe8\xd7\xdb" , "\xd7\x6a\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xdd" , "\x6a\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8" , "\x6a\xcb\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb3\xdb" , "\xd7\xa8\x95\xef\xf5" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xb5\xda" , "\x45\xcb\xef\xf5\xba\x47\xe7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xa8\xd8\x6f\xf6\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd1\xdd" , "\xa8\xd8\xda\xf6\xc7\xef" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd5\xda" , "\x45\xcb\xef\xf5\xba\x60\xe7" } , { "\xcf\xe8\xb3\xe8\xd7\xe8\xd6\xe8\xbd\xdd" , "\xcc\x5b\xfd\xcb\xba\xa8\x72\xc7\xf4" } , { "\xcf\xe8\xb3\xe8\xd8\xdb" , "\xd7\xa8\x63\xf7\xdb" } , { "\xcf\xe8\xb3\xe9" , "\x45\xef\xf5" } , { "\xcf\xe8\xb4" , "\x46\xef" } , { "\xcf\xe8\xb4\xa2" , "\x46\xef\x65" } , { "\xcf\xe8\xb4\xda" , "\x46\xef\xe7" } , { "\xcf\xe8\xb4\xdb" , "\xd7\x46\xef" } , { "\xcf\xe8\xb4\xdc" , "\x46\xde" } , { "\xcf\xe8\xb4\xdd" , "\x46\xc7\xef" } , { "\xcf\xe8\xb4\xe2" , "\xe9\x46\xef" } , { "\xcf\xe8\xb4\xe5" , "\xe6\x46\xef\xe7" } , { "\xcf\xe8\xb4\xe5\xa2" , "\xe6\x46\xef\xe7\x65" } , { "\xcf\xe8\xb5" , "\x47\xef" } , { "\xcf\xe8\xb5\xa2" , "\x47\xef\x65" } , { "\xcf\xe8\xb5\xa3" , "\x47\xef\x66" } , { "\xcf\xe8\xb5\xda" , "\x47\xef\xe7" } , { "\xcf\xe8\xb5\xda\xa2" , "\x47\xef\xe7\x65" } , { "\xcf\xe8\xb5\xda\xa3" , "\x47\xef\xe7\x66" } , { "\xcf\xe8\xb5\xdb" , "\xd7\x47\xef" } , { "\xcf\xe8\xb5\xdb\xa2" , "\xd7\x47\xef\x65" } , { "\xcf\xe8\xb5\xdc" , "\x47\xde" } , { "\xcf\xe8\xb5\xdc\xa2" , "\x47\xde\x65" } , { "\xcf\xe8\xb5\xdd" , "\x6d\xef" } , { "\xcf\xe8\xb5\xdd\xa2" , "\x6d\xef\x65" } , { "\xcf\xe8\xb5\xde" , "\x47\xc9\xef" } , { "\xcf\xe8\xb5\xe1" , "\xe6\x47\xef" } , { "\xcf\xe8\xb5\xe2" , "\xe9\x47\xef" } , { "\xcf\xe8\xb5\xe2\xa3" , "\xe9\x47\xef\x66" } , { "\xcf\xe8\xb5\xe5" , "\xe6\x47\xef\xe7" } , { "\xcf\xe8\xb5\xe5\xa2" , "\xe6\x47\xef\xe7\x65" } , { "\xcf\xe8\xb5\xe6\xa2" , "\xe6\x47\xef\xec\x65" } , { "\xcf\xe8\xb5\xe8" , "\x47\xcb\xef" } , { "\xcf\xe8\xb5\xe8\xb3\xdb" , "\xd7\xaa\x45\xef\xf5" } , { "\xcf\xe8\xb5\xe8\xbc" , "\xaa\x41\xef\xd5" } , { "\xcf\xe8\xb5\xe8\xc6\xdb" , "\xd7\x47\xc2\xef" } , { "\xcf\xe8\xb5\xe8\xcc" , "\x47\xbd\xef" } , { "\xcf\xe8\xb5\xe8\xcd" , "\xaa\xcc\x5e\xef" } , { "\xcf\xe8\xb5\xe8\xcd\xda" , "\xaa\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xcd\xdd" , "\xaa\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xb5\xe8\xcd\xde" , "\xaa\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xb5\xe8\xcd\xe5" , "\xe6\xaa\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xcf" , "\x47\xd0\xef" } , { "\xcf\xe8\xb5\xe8\xcf\xa2" , "\x47\xd0\xef\x65" } , { "\xcf\xe8\xb5\xe8\xcf\xda" , "\x47\xd0\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xcf\xdc" , "\x47\xd0\xde" } , { "\xcf\xe8\xb5\xe8\xcf\xe1" , "\xe6\x47\xd0\xef" } , { "\xcf\xe8\xb5\xe8\xd1\xdd" , "\x47\xc0\xc7\xef" } , { "\xcf\xe8\xb5\xe8\xd1\xe5" , "\xe6\x47\xc0\xef\xe7" } , { "\xcf\xe8\xb5\xe8\xd7\xe8" , "\xaa\x61\xcb\xef" } , { "\xcf\xe8\xb5\xe9\xdc" , "\x47\xde" } , { "\xcf\xe8\xb5\xe9\xe1" , "\xe6\x47\xef" } , { "\xcf\xe8\xb6" , "\x48\xef" } , { "\xcf\xe8\xb6\xa2" , "\x48\xef\x65" } , { "\xcf\xe8\xb6\xda" , "\x48\xef\xe7" } , { "\xcf\xe8\xb6\xda\xa2" , "\x48\xef\xe7\x65" } , { "\xcf\xe8\xb6\xdb" , "\xd7\x48\xef" } , { "\xcf\xe8\xb6\xdc" , "\x48\xde" } , { "\xcf\xe8\xb6\xdd" , "\x48\xc7\xef" } , { "\xcf\xe8\xb6\xde" , "\x48\xc9\xef" } , { "\xcf\xe8\xb6\xe5" , "\xe6\x48\xef\xe7" } , { "\xcf\xe8\xb6\xe8" , "\x48\xcb\xef" } , { "\xcf\xe8\xb6\xe8\xcd" , "\x48\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xb6\xe8\xcd\xa2" , "\x48\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xb6\xe8\xcd\xda" , "\x48\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xb6\xe8\xcd\xe2" , "\x48\xcb\xef\xe9\xcc\x5e" } , { "\xcf\xe8\xb7" , "\x49\xef\xf8" } , { "\xcf\xe8\xb7\xa2" , "\x49\xef\xf8\x65" } , { "\xcf\xe8\xb7\xdd" , "\x49\xc7\xef\xf8" } , { "\xcf\xe8\xb7\xe8\xb5" , "\x86\xef" } , { "\xcf\xe8\xb7\xe8\xcd" , "\xab\xcc\x5e\xef" } , { "\xcf\xe8\xb8" , "\xbb\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xa2" , "\xbb\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xda" , "\xbb\x4a\xf4\xdb\xe7" } , { "\xcf\xe8\xb8\xda\xa2" , "\xbb\x4a\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xb8\xdb" , "\xd7\xbb\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xdb\xa2" , "\xd7\xbb\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xdc" , "\xbb\x4a\xf4\xde" } , { "\xcf\xe8\xb8\xdd" , "\xbb\x4a\xc7\xf4\xdb" } , { "\xcf\xe8\xb8\xdd\xa2" , "\xbb\x4a\xc7\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xde" , "\xbb\x4a\xc9\xf4\xdb" } , { "\xcf\xe8\xb8\xe1" , "\xe6\xbb\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xe1\xa2" , "\xe6\xbb\x4a\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xe2" , "\xe8\xbb\x4a\xf4\xdb" } , { "\xcf\xe8\xb8\xe5" , "\xe6\xbb\x4a\xf4\xdb\xe7" } , { "\xcf\xe8\xb8\xe5\xa2" , "\xe6\xbb\x4a\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xb8\xe6" , "\xe6\xbb\x4a\xf4\xdb\xec" } , { "\xcf\xe8\xb8\xe8" , "\xbb\x4a\xcb\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xb5\xda" , "\xac\x47\xef\xe7" } , { "\xcf\xe8\xb8\xe8\xb5\xe8\xcf\xda" , "\xac\x47\xd0\xef\xe7" } , { "\xcf\xe8\xb8\xe8\xb9" , "\xac\x4b\xf7\xdb" } , { "\xcf\xe8\xb8\xe8\xb9\xda" , "\xac\x4b\xf7\xdb\xe7" } , { "\xcf\xe8\xb8\xe8\xb9\xdb" , "\xd7\xac\x4b\xf7\xdb" } , { "\xcf\xe8\xb8\xe8\xc6\xdb" , "\xd7\xac\xf3\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xc6\xdd\xa2" , "\xac\xf3\xc7\xf4\xdb\x65" } , { "\xcf\xe8\xb8\xe8\xc9\xda" , "\xac\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xb8\xe8\xcc\xdc" , "\x4a\x5d\xde" } , { "\xcf\xe8\xb8\xe8\xd1" , "\xac\xf2\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xd1\xe1" , "\xe6\xac\xf2\xf4\xdb" } , { "\xcf\xe8\xb8\xe8\xd1\xe5" , "\xe6\xac\xf2\xf4\xdb\xe7" } , { "\xcf\xe8\xb9" , "\xbb\x4b\xf7\xdb" } , { "\xcf\xe8\xb9\xa2" , "\xbb\x4b\xf7\xdb\x65" } , { "\xcf\xe8\xb9\xda" , "\xbb\x4b\xf7\xdb\xe7" } , { "\xcf\xe8\xb9\xdb" , "\xd7\xbb\x4b\xf7\xdb" } , { "\xcf\xe8\xb9\xdb\xa2" , "\xd7\xbb\x4b\xf7\xdb\x65" } , { "\xcf\xe8\xb9\xdc" , "\xbb\x4b\xf7\xde" } , { "\xcf\xe8\xb9\xdd" , "\xbb\x4b\xc7\xf7\xdb" } , { "\xcf\xe8\xb9\xe1" , "\xe6\xbb\x4b\xf7\xdb" } , { "\xcf\xe8\xb9\xe1\xa2" , "\xe6\xbb\x4b\xf7\xdb\x65" } , { "\xcf\xe8\xb9\xe5\xa2" , "\xe6\xbb\x4b\xf7\xdb\xe7\x65" } , { "\xcf\xe8\xba" , "\x4c\xdb" } , { "\xcf\xe8\xba\xa2" , "\x4c\xdb\x65" } , { "\xcf\xe8\xba\xda" , "\x4c\xdb\xe7" } , { "\xcf\xe8\xba\xda\xa2" , "\x4c\xdb\xe7\x65" } , { "\xcf\xe8\xba\xdb" , "\xd7\x4c\xdb" } , { "\xcf\xe8\xba\xdb\xa2" , "\xd7\x4c\xdb\x65" } , { "\xcf\xe8\xba\xdc" , "\x4c\xde" } , { "\xcf\xe8\xba\xdc\xa2" , "\x4c\xde\x65" } , { "\xcf\xe8\xba\xdd" , "\x4c\xc7\xdb" } , { "\xcf\xe8\xba\xdd\xa2" , "\x4c\xc7\xdb\x65" } , { "\xcf\xe8\xba\xde" , "\x4c\xc9\xdb" } , { "\xcf\xe8\xba\xe1" , "\xe6\x4c\xdb" } , { "\xcf\xe8\xba\xe1\xa2" , "\xe6\x4c\xdb\x65" } , { "\xcf\xe8\xba\xe2" , "\xe9\x4c\xdb" } , { "\xcf\xe8\xba\xe5" , "\xe6\x4c\xdb\xe7" } , { "\xcf\xe8\xba\xe5\xa2" , "\xe6\x4c\xdb\xe7\x65" } , { "\xcf\xe8\xba\xe8" , "\x4c\xcb\xdb" } , { "\xcf\xe8\xba\xe8\xb5" , "\x4c\xcb\xdb\x47" } , { "\xcf\xe8\xba\xe8\xb5\xda" , "\x4c\xcb\xdb\x47\xe7" } , { "\xcf\xe8\xba\xe8\xb6" , "\x4c\xcb\xdb\x48" } , { "\xcf\xe8\xba\xe8\xbc\xda" , "\x70\xef\xfb\xe7" } , { "\xcf\xe8\xba\xe8\xbc\xe1" , "\xe6\x70\xef\xfb" } , { "\xcf\xe8\xba\xe8\xbd\xda\xa2" , "\x4c\xcb\xdb\xbb\x4f\xf4\xe7\x65" } , { "\xcf\xe8\xba\xe8\xbf" , "\x4c\xcb\xdb\x51\xf6" } , { "\xcf\xe8\xba\xe8\xbf\xe8" , "\x4c\xcb\xdb\x51\xcb\xf6" } , { "\xcf\xe8\xba\xe8\xcc\xda" , "\x4c\xbd\xef\xe7" } , { "\xcf\xe8\xba\xe8\xcd" , "\x4c\xcb\xdb\xcc\x5e" } , { "\xcf\xe8\xba\xe8\xcd\xa2" , "\x4c\xcb\xdb\xcc\x5e\x65" } , { "\xcf\xe8\xba\xe8\xcd\xda" , "\x4c\xcb\xdb\xcc\x5e\xe7" } , { "\xcf\xe8\xba\xe8\xcd\xe5" , "\x4c\xcb\xdb\xe6\xcc\x5e\xe7" } , { "\xcf\xe8\xba\xe8\xd1\xdd" , "\x4c\xcb\x5f\xc7\xef" } , { "\xcf\xe8\xba\xe8\xd1\xe5" , "\xe6\x4c\xcb\x5f\xef\xe7" } , { "\xcf\xe8\xba\xe8\xd7\xe8\xb3\xe1" , "\x4c\xcb\xdb\xe6\x95\xf5" } , { "\xcf\xe8\xba\xe9" , "\x4c\xdb" } , { "\xcf\xe8\xba\xe9\xda" , "\x4c\xdb\xe7" } , { "\xcf\xe8\xba\xe9\xdc" , "\x4c\xde" } , { "\xcf\xe8\xba\xe9\xdd" , "\x4c\xc7\xdb" } , { "\xcf\xe8\xba\xe9\xe1" , "\xe6\x4c\xdb" } , { "\xcf\xe8\xba\xe9\xe5" , "\xe6\x4c\xdb\xe7" } , { "\xcf\xe8\xbb" , "\x4d\xf5\xef" } , { "\xcf\xe8\xbb\xda" , "\x4d\xf5\xef\xe7" } , { "\xcf\xe8\xbb\xdb" , "\xd7\x4d\xf5\xef" } , { "\xcf\xe8\xbb\xdd" , "\x4d\xc7\xf5\xef" } , { "\xcf\xe8\xbb\xe8\xd8" , "\x4d\xcb\xef\xf5\x63\xf7" } , { "\xcf\xe8\xbc\xe1" , "\xe6\x41\xef\xd5" } , { "\xcf\xe8\xbc\xe8\xb5" , "\x41\xcb\xef\xd5\x47" } , { "\xcf\xe8\xbc\xe8\xbf\xe1" , "\x41\xcb\xef\xd5\xe6\x51\xf6" } , { "\xcf\xe8\xbd" , "\xbb\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xa2" , "\xbb\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xda" , "\xbb\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xdb" , "\xd7\xbb\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xdb\xa2" , "\xd7\xbb\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xdb\xd1\xe8" , "\xd7\xbb\x4f\xf4\xdb\x5f\xcb" } , { "\xcf\xe8\xbd\xdc" , "\xbb\x4f\xf4\xde" } , { "\xcf\xe8\xbd\xdd" , "\xbb\x4f\xc7\xf4\xdb" } , { "\xcf\xe8\xbd\xde" , "\xbb\x4f\xc9\xf4\xdb" } , { "\xcf\xe8\xbd\xe1" , "\xe6\xbb\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xe1\xa2" , "\xe6\xbb\x4f\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xe2" , "\xe8\xbb\x4f\xf4\xdb" } , { "\xcf\xe8\xbd\xe5" , "\xe6\xbb\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe5\xa2" , "\xe6\xbb\x4f\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8" , "\xbb\x4f\xcb\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xb3\xdb" , "\xd7\xae\x45\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb3\xdd" , "\xae\x45\xc7\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb3\xe1" , "\xe6\xae\x45\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xb5\xe1" , "\xe6\xae\x47\xef" } , { "\xcf\xe8\xbd\xe8\xb5\xe8\xcd\xda" , "\x4f\xcb\xf4\xdb\xaa\xcc\x5e\xe7" } , { "\xcf\xe8\xbd\xe8\xb8\xe1" , "\xe6\xae\x4a\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xba" , "\xae\x4c\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe2" , "\xe9\xae\x4c\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe8" , "\xae\x4c\xcb\xdb" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb3" , "\x4f\xcb\xf4\xdb\x4c\xcb\x45\xf5" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xb5\xda" , "\x4f\xcb\xf4\xdb\x4c\xcb\x47\xe7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc2\xe5" , "\x4f\xcb\xf4\xdb\x4c\xcb\xe6\x54\xf6\xe7" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xc6\xdd" , "\xae\x4c\xcb\x58\xc7\xef" } , { "\xcf\xe8\xbd\xe8\xba\xe8\xd1" , "\xae\x4c\xcb\x5f\xef" } , { "\xcf\xe8\xbd\xe8\xbd\xe2" , "\xe8\x76\xef\xf4" } , { "\xcf\xe8\xbd\xe8\xbd\xe5" , "\xe6\x76\xef\xf4\xe7" } , { "\xcf\xe8\xbd\xe8\xbf\xda" , "\xae\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbd\xe8\xc5" , "\xae\x57\xfd\xef" } , { "\xcf\xe8\xbd\xe8\xc6\xdb" , "\xd7\xae\xf3\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xc6\xdc" , "\xae\xf3\xf4\xde" } , { "\xcf\xe8\xbd\xe8\xc6\xdd\xa2" , "\xae\xf3\xc7\xf4\xdb\x65" } , { "\xcf\xe8\xbd\xe8\xc6\xde" , "\xae\xf3\xc9\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xc8" , "\xae\x59\xef" } , { "\xcf\xe8\xbd\xe8\xc8\xda" , "\xae\x59\xef\xe7" } , { "\xcf\xe8\xbd\xe8\xc8\xe1" , "\xe6\xae\x59\xef" } , { "\xcf\xe8\xbd\xe8\xc9\xda" , "\xae\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xbd\xe8\xc9\xdb" , "\xd7\xae\x5a\xef\xf5" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe1" , "\xe6\xae\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe2" , "\xe8\xae\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xbd\xe8\xca\xe8\xcf\xe6" , "\xe6\xae\x5b\xfd\xd0\xef\xec" } , { "\xcf\xe8\xbd\xe8\xcc\xdb" , "\xd7\x4f\x5d\xef" } , { "\xcf\xe8\xbd\xe8\xcc\xdc" , "\x4f\x5d\xde" } , { "\xcf\xe8\xbd\xe8\xcc\xe6" , "\xe6\x4f\x5d\xef\xec" } , { "\xcf\xe8\xbd\xe8\xcd\xdd" , "\xae\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xbd\xe8\xcd\xde" , "\xae\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xbd\xe8\xcf" , "\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xda" , "\xae\xcf\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xcf\xdb" , "\xd7\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xdc" , "\xae\xcf\xf4\xde" } , { "\xcf\xe8\xbd\xe8\xcf\xe1" , "\xe6\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xe2" , "\xe8\xae\xcf\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xcf\xe8" , "\xae\xcf\xcb\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1" , "\xae\xf2\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1\xda\xa2" , "\xae\xf2\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd1\xdd" , "\xae\xf2\xc7\xf4\xdb" } , { "\xcf\xe8\xbd\xe8\xd1\xe5" , "\xe6\xae\xf2\xf4\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xd1\xe5\xa2" , "\xe6\xae\xf2\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd1\xe8\xcd\xda\xa2" , "\x4f\xcb\xf4\xdb\xb7\xcc\x5e\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd7" , "\xae\x61\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xdb" , "\xd7\xae\x61\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xdd" , "\xae\x61\xc7\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe1\xa2" , "\xe6\xae\x61\xef\x65" } , { "\xcf\xe8\xbd\xe8\xd7\xe8" , "\xae\x61\xcb\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xda" , "\xae\x95\xef\xf5\xe7" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xcc" , "\xae\xd8\xf6\x82\xef" } , { "\xcf\xe8\xbd\xe8\xd7\xe8\xd1\xe5" , "\xe6\xae\xd8\xda\xf6\xef\xe7" } , { "\xcf\xe8\xbd\xe8\xd8\xda" , "\xae\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xd8\xda\xa2" , "\xae\x63\xf7\xdb\xe7\x65" } , { "\xcf\xe8\xbd\xe8\xd8\xdb\xa2" , "\xd7\xae\x63\xf7\xdb\x65" } , { "\xcf\xe8\xbd\xe8\xd8\xde" , "\xae\x63\xc9\xf7\xdb" } , { "\xcf\xe8\xbd\xe8\xd8\xe5" , "\xe6\xae\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xbd\xe8\xd9\xd7" , "\xae\xef\x61" } , { "\xcf\xe8\xbf" , "\x51\xef\xf6" } , { "\xcf\xe8\xbf\xda" , "\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xda\xa2" , "\x51\xef\xf6\xe7\x65" } , { "\xcf\xe8\xbf\xdb" , "\xd7\x51\xef\xf6" } , { "\xcf\xe8\xbf\xdb\xa2" , "\xd7\x51\xef\xf6\x65" } , { "\xcf\xe8\xbf\xdc" , "\x51\xf6\xde" } , { "\xcf\xe8\xbf\xdd" , "\x51\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xde" , "\x51\xc9\xef\xf6" } , { "\xcf\xe8\xbf\xe1" , "\xe6\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe2" , "\xe9\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe5" , "\xe6\x51\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe5\xa2" , "\xe6\x51\xef\xf6\xe7\x65" } , { "\xcf\xe8\xbf\xe8" , "\x51\xcb\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xb3" , "\xaf\x45\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb3\xdb" , "\xd7\xaf\x45\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb3\xdc" , "\xaf\x45\xf5\xde" } , { "\xcf\xe8\xbf\xe8\xb3\xdd" , "\xaf\x45\xc7\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb3\xe5" , "\xe6\xaf\x45\xef\xf5\xe7" } , { "\xcf\xe8\xbf\xe8\xb3\xe8\xd1\xe2" , "\xe8\xaf\x7a\xef\xf5" } , { "\xcf\xe8\xbf\xe8\xb5\xda" , "\xaf\x47\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xb5\xe8\xcf\xdc" , "\xaf\x47\xd0\xde" } , { "\xcf\xe8\xbf\xe8\xb8\xe1" , "\xe6\xaf\x4a\xf4\xdb" } , { "\xcf\xe8\xbf\xe8\xbf" , "\xaf\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xbf\xdb" , "\xd7\xaf\x51\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xc6\xdb" , "\xd7\xaf\xf3\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xc6\xdd" , "\xaf\xf3\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xc6\xe1" , "\xe6\xaf\xf3\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xca\xda" , "\xaf\xbc\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xca\xe5" , "\xe6\xaf\xbc\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xca\xe8\xcf\xe2" , "\xe8\xaf\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xbf\xe8\xcc\xdb\xa2" , "\xd7\xaf\xc1\xef\x65" } , { "\xcf\xe8\xbf\xe8\xcc\xe1" , "\xe6\xaf\xc1\xef" } , { "\xcf\xe8\xbf\xe8\xcd" , "\xaf\xcc\x5e\xef" } , { "\xcf\xe8\xbf\xe8\xcd\xa2" , "\xaf\xcc\x5e\xef\x65" } , { "\xcf\xe8\xbf\xe8\xcd\xda\xa2" , "\xaf\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xbf\xe8\xcd\xde" , "\xaf\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xbf\xe8\xcf\xda" , "\x51\xce\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xcf\xdb" , "\xd7\x51\xce\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xcf\xdd" , "\x51\xce\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xcf\xe1" , "\xe6\x51\xce\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1" , "\xaf\xf2\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1\xdc" , "\xaf\xf2\xf6\xde" } , { "\xcf\xe8\xbf\xe8\xd1\xdd" , "\xaf\xf2\xc7\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1\xe2" , "\xe8\xaf\xf2\xef\xf6" } , { "\xcf\xe8\xbf\xe8\xd1\xe5" , "\xe6\xaf\xf2\xef\xf6\xe7" } , { "\xcf\xe8\xbf\xe8\xd6\xda" , "\xaf\x62\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xd7" , "\xaf\x61\xef" } , { "\xcf\xe8\xbf\xe8\xd7\xdd" , "\xaf\x61\xc7\xef" } , { "\xcf\xe8\xbf\xe8\xd7\xe5" , "\xe6\xaf\x61\xef\xe7" } , { "\xcf\xe8\xbf\xe8\xd7\xe8" , "\xaf\x61\xcb\xef" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xdb" , "\x51\xcb\xef\xf6\xd7\xba\x4f\xf4" } , { "\xcf\xe8\xbf\xe8\xd7\xe8\xbd\xe1" , "\x51\xcb\xef\xf6\xe6\xba\x4f\xf4" } , { "\xcf\xe8\xbf\xe8\xd8\xe1" , "\xe6\xaf\x63\xf7\xdb" } , { "\xcf\xe8\xbf\xe9" , "\x51\xcd\xef\xf6" } , { "\xcf\xe8\xbf\xe9\xe1" , "\xe6\x51\xcd\xef\xf6" } , { "\xcf\xe8\xbf\xe9\xe5" , "\xe6\x51\xcd\xef\xf6\xe7" } , { "\xcf\xe8\xc0" , "\xbb\x52\xf4\xdb" } , { "\xcf\xe8\xc0\xda" , "\xbb\x52\xf4\xdb\xe7" } , { "\xcf\xe8\xc0\xdd" , "\xbb\x52\xc7\xf4\xdb" } , { "\xcf\xe8\xc0\xe8" , "\xbb\x52\xcb\xf4\xdb" } , { "\xcf\xe8\xc0\xe8\xcd" , "\x52\xcb\xf4\xdb\xcc\x5e" } , { "\xcf\xe8\xc0\xe8\xcd\xa2" , "\x52\xcb\xf4\xdb\xcc\x5e\x65" } , { "\xcf\xe8\xc0\xe8\xcd\xda" , "\x52\xcb\xf4\xdb\xcc\x5e\xe7" } , { "\xcf\xe8\xc0\xe8\xd7\xdd" , "\x52\xcb\xf4\xdb\x61\xc7" } , { "\xcf\xe8\xc1" , "\x53\xef" } , { "\xcf\xe8\xc1\xa1" , "\x53\xef\x65" } , { "\xcf\xe8\xc1\xa2" , "\x53\xef\x65" } , { "\xcf\xe8\xc1\xa3" , "\x53\xef\x66" } , { "\xcf\xe8\xc1\xda" , "\x53\xef\xe7" } , { "\xcf\xe8\xc1\xda\xa2" , "\x53\xef\xe7\x65" } , { "\xcf\xe8\xc1\xda\xa3" , "\x53\xef\xe7\x66" } , { "\xcf\xe8\xc1\xdb" , "\xd7\x53\xef" } , { "\xcf\xe8\xc1\xdb\xa2" , "\xd7\x53\xef\x65" } , { "\xcf\xe8\xc1\xdc" , "\x53\xde" } , { "\xcf\xe8\xc1\xdd" , "\x53\xc7\xef" } , { "\xcf\xe8\xc1\xdd\xa2" , "\x53\xc7\xef\x65" } , { "\xcf\xe8\xc1\xe1" , "\xe6\x53\xef" } , { "\xcf\xe8\xc1\xe5" , "\xe6\x53\xef\xe7" } , { "\xcf\xe8\xc1\xe5\xa2" , "\xe6\x53\xef\xe7\x65" } , { "\xcf\xe8\xc1\xe8\xb8\xdd" , "\xb0\x4a\xc7\xf4\xdb" } , { "\xcf\xe8\xc1\xe8\xcd" , "\xb0\xcc\x5e\xef" } , { "\xcf\xe8\xc1\xe8\xcd\xa2" , "\xb0\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc1\xe8\xcd\xda" , "\xb0\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc2" , "\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xa2" , "\x54\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xda" , "\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xc2\xda\xa2" , "\x54\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xc2\xdb" , "\xd7\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xdb\xa2" , "\xd7\x54\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xdb\xa3" , "\xd7\x54\xf6\xdb\x66" } , { "\xcf\xe8\xc2\xdc" , "\x54\xf6\xde" } , { "\xcf\xe8\xc2\xdd" , "\x54\xc7\xf6\xdb" } , { "\xcf\xe8\xc2\xdd\xa2" , "\x54\xc7\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xde" , "\x54\xc9\xf6\xdb" } , { "\xcf\xe8\xc2\xde\xa2" , "\x54\xc9\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xdf" , "\x54\xca\xf6\xdb" } , { "\xcf\xe8\xc2\xe1" , "\xe6\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xe1\xa2" , "\xe6\x54\xf6\xdb\x65" } , { "\xcf\xe8\xc2\xe2" , "\xe9\x54\xf6\xdb" } , { "\xcf\xe8\xc2\xe5" , "\xe6\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xc2\xe5\xa2" , "\xe6\x54\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xc2\xe6" , "\xe6\x54\xf6\xdb\xec" } , { "\xcf\xe8\xc2\xe8" , "\x54\xcb\xf6\xdb" } , { "\xcf\xe8\xc2\xe8\xb3\xe5" , "\xe5\x64\x45\xef\xf5\xe7" } , { "\xcf\xe8\xc2\xe8\xbf\xe1" , "\xe5\x64\x51\xef\xf6" } , { "\xcf\xe8\xc2\xe8\xc2" , "\x77\xef\xf8" } , { "\xcf\xe8\xc2\xe8\xc2\xda" , "\x77\xef\xf8\xe7" } , { "\xcf\xe8\xc2\xe8\xc2\xdb" , "\xd7\x77\xef\xf8" } , { "\xcf\xe8\xc2\xe8\xc2\xdc" , "\x77\xf8\xde" } , { "\xcf\xe8\xc2\xe8\xc2\xe1" , "\xe6\x77\xef\xf8" } , { "\xcf\xe8\xc2\xe8\xc2\xe5" , "\xe6\x77\xef\xf8\xe7" } , { "\xcf\xe8\xc2\xe8\xc3\xe1" , "\xe5\x78\xef" } , { "\xcf\xe8\xc2\xe8\xcc" , "\xb1\xc1\xef" } , { "\xcf\xe8\xc2\xe8\xcd" , "\x64\xcc\x5e\xef" } , { "\xcf\xe8\xc2\xe8\xcd\xa2" , "\x64\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc2\xe8\xcd\xda" , "\x64\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc2\xe8\xcd\xdd" , "\x64\xcc\x5e\xc7\xef" } , { "\xcf\xe8\xc2\xe8\xcd\xe5\xa2" , "\xe5\x64\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xc2\xe8\xcf" , "\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xa2" , "\x79\xef\x65" } , { "\xcf\xe8\xc2\xe8\xcf\xdb" , "\xd7\xc5\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xdc" , "\x79\xde" } , { "\xcf\xe8\xc2\xe8\xcf\xe1" , "\xe6\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xe2" , "\xe8\x79\xef" } , { "\xcf\xe8\xc2\xe8\xcf\xe5" , "\xe6\x79\xef\xe7" } , { "\xcf\xe8\xc2\xe8\xd1\xe1" , "\xe6\xb1\xf2\xef\xf6" } , { "\xcf\xe8\xc2\xe8\xd7" , "\x64\x61\xef" } , { "\xcf\xe8\xc2\xe8\xd7\xe6" , "\xe5\x64\x61\xef\xec" } , { "\xcf\xe8\xc2\xe8\xd7\xe8" , "\x64\x61\xcb\xef" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xc6\xe8\xcd" , "\xcc\x5b\xfd\xcb\xb1\x61\xcb\xb3\xcc\x5e" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd" , "\x64\xba\xcc\x5e\xef" } , { "\xcf\xe8\xc2\xe8\xd7\xe8\xcd\xa2" , "\x64\xba\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc3" , "\x55\xef" } , { "\xcf\xe8\xc3\xa1" , "\x55\xef\x65" } , { "\xcf\xe8\xc3\xa2" , "\x55\xef\x65" } , { "\xcf\xe8\xc3\xa3" , "\x55\xef\x66" } , { "\xcf\xe8\xc3\xda" , "\x55\xef\xe7" } , { "\xcf\xe8\xc3\xda\xa2" , "\x55\xef\xe7\x65" } , { "\xcf\xe8\xc3\xdb" , "\xd7\x55\xef" } , { "\xcf\xe8\xc3\xdb\xa2" , "\xd7\x55\xef\x65" } , { "\xcf\xe8\xc3\xdc" , "\x55\xde" } , { "\xcf\xe8\xc3\xdd" , "\x55\xc7\xef" } , { "\xcf\xe8\xc3\xdd\xa2" , "\x55\xc7\xef\x65" } , { "\xcf\xe8\xc3\xde" , "\x55\xc9\xef" } , { "\xcf\xe8\xc3\xe1" , "\xe6\x55\xef" } , { "\xcf\xe8\xc3\xe2" , "\xe9\x55\xef" } , { "\xcf\xe8\xc3\xe5" , "\xe6\x55\xef\xe7" } , { "\xcf\xe8\xc3\xe5\xa2" , "\xe6\x55\xef\xe7\x65" } , { "\xcf\xe8\xc3\xe6" , "\xe6\x55\xef\xec" } , { "\xcf\xe8\xc3\xe8" , "\x55\xcb\xef" } , { "\xcf\xe8\xc3\xe8\xb8\xe1" , "\x55\xcb\xef\xe6\xbb\x4a\xf4" } , { "\xcf\xe8\xc3\xe8\xcb\xda" , "\x55\xcb\xef\x5c\xf6\xe7" } , { "\xcf\xe8\xc3\xe8\xcd" , "\x55\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xc3\xe8\xcd\xa2" , "\x55\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xc3\xe8\xcd\xda" , "\x55\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xc3\xe8\xcd\xdd" , "\x55\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xc3\xe8\xcd\xe5\xa2" , "\x55\xcb\xef\xe6\xcc\x5e\xe7\x65" } , { "\xcf\xe8\xc3\xe8\xcd\xe6" , "\x55\xcb\xef\xe6\xcc\x5e\xec" } , { "\xcf\xe8\xc3\xe8\xcf" , "\x55\xd0\xef" } , { "\xcf\xe8\xc3\xe8\xcf\xda" , "\x55\xd0\xef\xe7" } , { "\xcf\xe8\xc3\xe8\xcf\xe5" , "\xe6\x55\xd0\xef\xe7" } , { "\xcf\xe8\xc3\xe8\xd7\xe8\xbd\xe1" , "\x55\xcb\xef\xe6\xba\x4f\xf4" } , { "\xcf\xe8\xc4" , "\x56\xdb" } , { "\xcf\xe8\xc4\xa2" , "\x56\xdb\x65" } , { "\xcf\xe8\xc4\xa3" , "\x56\xdb\x66" } , { "\xcf\xe8\xc4\xda" , "\x56\xdb\xe7" } , { "\xcf\xe8\xc4\xda\xa2" , "\x56\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xdb" , "\xd7\x56\xdb" } , { "\xcf\xe8\xc4\xdb\xa2" , "\xd7\x56\xdb\x65" } , { "\xcf\xe8\xc4\xdc" , "\x56\xde" } , { "\xcf\xe8\xc4\xdc\xa2" , "\x56\xde\x65" } , { "\xcf\xe8\xc4\xdd" , "\x56\xc7\xdb" } , { "\xcf\xe8\xc4\xdd\xa2" , "\x56\xc7\xdb\x65" } , { "\xcf\xe8\xc4\xde" , "\x56\xc9\xdb" } , { "\xcf\xe8\xc4\xdf" , "\x56\xca\xdb" } , { "\xcf\xe8\xc4\xe1" , "\xe6\x56\xdb" } , { "\xcf\xe8\xc4\xe1\xa2" , "\xe6\x56\xdb\x65" } , { "\xcf\xe8\xc4\xe2" , "\xe9\x56\xdb" } , { "\xcf\xe8\xc4\xe5" , "\xe6\x56\xdb\xe7" } , { "\xcf\xe8\xc4\xe5\xa2" , "\xe6\x56\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xc4" , "\x81\xdb" } , { "\xcf\xe8\xc4\xe8\xc4\xda\xa2" , "\x81\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xc5" , "\x88\xf9\xdb" } , { "\xcf\xe8\xc4\xe8\xc5\xda" , "\x88\xf9\xdb\xe7" } , { "\xcf\xe8\xc4\xe8\xc5\xda\xa2" , "\x88\xf9\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xc5\xdb" , "\xd7\x88\xf9\xdb" } , { "\xcf\xe8\xc4\xe8\xc5\xe5\xa2" , "\xe6\x88\xf9\xdb\xe7\x65" } , { "\xcf\xe8\xc4\xe8\xcc\xe1" , "\xe6\xb2\xbf\xef" } , { "\xcf\xe8\xc4\xe8\xcd" , "\xb2\xcc\x5e\xef" } , { "\xcf\xe8\xc4\xe8\xcd\xa2" , "\xb2\xcc\x5e\xef\x65" } , { "\xcf\xe8\xc4\xe8\xcd\xda" , "\xb2\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc4\xe8\xcf" , "\x56\xd0\xdb" } , { "\xcf\xe8\xc4\xe8\xcf\xa2" , "\x56\xd0\xdb\x65" } , { "\xcf\xe8\xc4\xe8\xcf\xda" , "\x56\xd0\xdb\xe7" } , { "\xcf\xe8\xc4\xe8\xcf\xdc" , "\x56\xd0\xde" } , { "\xcf\xe8\xc4\xe8\xcf\xe5" , "\xe6\x56\xd0\xdb\xe7" } , { "\xcf\xe8\xc4\xe8\xd6\xe8\xbd\xdb" , "\xd7\xb2\x72\xef\xf4" } , { "\xcf\xe8\xc5" , "\x57\xfd\xef" } , { "\xcf\xe8\xc5\xa2" , "\x57\xfd\xef\x65" } , { "\xcf\xe8\xc5\xda" , "\x57\xfd\xef\xe7" } , { "\xcf\xe8\xc5\xda\xa2" , "\x57\xfd\xef\xe7\x65" } , { "\xcf\xe8\xc5\xdb" , "\xd7\x57\xfd\xef" } , { "\xcf\xe8\xc5\xdb\xa2" , "\xd7\x57\xfd\xef\x65" } , { "\xcf\xe8\xc5\xdc" , "\x57\xfd\xde" } , { "\xcf\xe8\xc5\xdd" , "\x57\xfd\xc7\xef" } , { "\xcf\xe8\xc5\xde" , "\x57\xfd\xc9\xef" } , { "\xcf\xe8\xc5\xdf" , "\x57\xfd\xca\xef" } , { "\xcf\xe8\xc5\xe1" , "\xe6\x57\xfd\xef" } , { "\xcf\xe8\xc5\xe5" , "\xe6\x57\xfd\xef\xe7" } , { "\xcf\xe8\xc5\xe5\xa2" , "\xe6\x57\xfd\xef\xe7\x65" } , { "\xcf\xe8\xc5\xe8" , "\x57\xfd\xcb\xef" } , { "\xcf\xe8\xc5\xe8\xc4" , "\x57\xfd\xcb\xef\x56" } , { "\xcf\xe8\xc5\xe8\xc4\xda" , "\x57\xfd\xcb\xef\x56\xe7" } , { "\xcf\xe8\xc5\xe8\xc4\xda\xa2" , "\x57\xfd\xcb\xef\x56\xe7\x65" } , { "\xcf\xe8\xc5\xe8\xc6\xdb" , "\xd7\x57\xfd\xc2\xef" } , { "\xcf\xe8\xc5\xe8\xcc\xe1" , "\xe6\x57\x5d\xef" } , { "\xcf\xe8\xc5\xe8\xcd" , "\x57\xfd\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xc5\xe8\xcd\xa2" , "\x57\xfd\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xc5\xe8\xcd\xda" , "\x57\xfd\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xc5\xe8\xcd\xe5\xa2" , "\x57\xfd\xcb\xef\xe6\xcc\x5e\xe7\x65" } , { "\xcf\xe8\xc5\xe8\xcf" , "\x57\xfd\xd0\xef" } , { "\xcf\xe8\xc5\xe8\xcf\xda" , "\x57\xfd\xd0\xef\xe7" } , { "\xcf\xe8\xc5\xe8\xcf\xe8\xcd\xe1" , "\x57\xfd\xcb\xef\xcc\x5b\xfd\xcb\xe6\xcc\x5e" } , { "\xcf\xe8\xc6" , "\x58\xef" } , { "\xcf\xe8\xc6\xa2" , "\x58\xef\x65" } , { "\xcf\xe8\xc6\xda" , "\x58\xef\xe7" } , { "\xcf\xe8\xc6\xda\xa2" , "\x58\xef\xe7\x65" } , { "\xcf\xe8\xc6\xdb" , "\xd7\x58\xef" } , { "\xcf\xe8\xc6\xdb\xa2" , "\xd7\x58\xef\x65" } , { "\xcf\xe8\xc6\xdc" , "\x58\xde" } , { "\xcf\xe8\xc6\xdd" , "\x58\xc7\xef" } , { "\xcf\xe8\xc6\xdd\xa2" , "\x58\xc7\xef\x65" } , { "\xcf\xe8\xc6\xde" , "\x58\xc9\xef" } , { "\xcf\xe8\xc6\xdf" , "\x58\xca\xef" } , { "\xcf\xe8\xc6\xe1" , "\xe6\x58\xef" } , { "\xcf\xe8\xc6\xe1\xa2" , "\xe6\x58\xef\x65" } , { "\xcf\xe8\xc6\xe2" , "\xe9\x58\xef" } , { "\xcf\xe8\xc6\xe5" , "\xe6\x58\xef\xe7" } , { "\xcf\xe8\xc6\xe5\xa2" , "\xe6\x58\xef\xe7\x65" } , { "\xcf\xe8\xc6\xe8" , "\x58\xcb\xef" } , { "\xcf\xe8\xc6\xe8\xbf" , "\xb3\x51\xef\xf6" } , { "\xcf\xe8\xc6\xe8\xc2" , "\xdc\x99\xef\xf6" } , { "\xcf\xe8\xc6\xe8\xc4\xe1" , "\xe6\xb3\x56\xdb" } , { "\xcf\xe8\xc6\xe8\xc6\xde" , "\x7e\xc9\xef" } , { "\xcf\xe8\xc6\xe8\xc8\xde" , "\xb3\x59\xc9\xef" } , { "\xcf\xe8\xc6\xe8\xca" , "\x58\x9f\xef" } , { "\xcf\xe8\xc6\xe8\xcc\xda" , "\x58\xbd\xef\xe7" } , { "\xcf\xe8\xc6\xe8\xd1" , "\xdc\xda\xf6\xef" } , { "\xcf\xe8\xc6\xe8\xd1\xdd" , "\xdc\xda\xf6\xc7\xef" } , { "\xcf\xe8\xc6\xe8\xd1\xe1" , "\xe6\xdc\xda\xf6\xef" } , { "\xcf\xe8\xc6\xe8\xd1\xe5" , "\xe6\xdc\xda\xf6\xef\xe7" } , { "\xcf\xe8\xc6\xe8\xd7" , "\xb3\x61\xef" } , { "\xcf\xe8\xc6\xe8\xd7\xe8" , "\xb3\x61\xcb\xef" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xb3" , "\xb3\x95\xef\xf5" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xda" , "\x58\xcb\xef\xba\x4f\xf4\xe7" } , { "\xcf\xe8\xc6\xe8\xd7\xe8\xbd\xe1" , "\x58\xcb\xef\xe6\xba\x4f\xf4" } , { "\xcf\xe8\xc6\xe8\xd8" , "\xb3\x63\xf7\xdb" } , { "\xcf\xe8\xc8" , "\x59\xef" } , { "\xcf\xe8\xc8\xa2" , "\x59\xef\x65" } , { "\xcf\xe8\xc8\xda" , "\x59\xef\xe7" } , { "\xcf\xe8\xc8\xda\xa2" , "\x59\xef\xe7\x65" } , { "\xcf\xe8\xc8\xdb" , "\xd7\x59\xef" } , { "\xcf\xe8\xc8\xdb\xa2" , "\xd7\x59\xef\x65" } , { "\xcf\xe8\xc8\xdc" , "\x59\xde" } , { "\xcf\xe8\xc8\xdd" , "\x59\xc7\xef" } , { "\xcf\xe8\xc8\xdd\xa2" , "\x59\xc7\xef\x65" } , { "\xcf\xe8\xc8\xde" , "\x59\xc9\xef" } , { "\xcf\xe8\xc8\xe1" , "\xe6\x59\xef" } , { "\xcf\xe8\xc8\xe1\xa2" , "\xe6\x59\xef\x65" } , { "\xcf\xe8\xc8\xe2" , "\xe9\x59\xef" } , { "\xcf\xe8\xc8\xe5" , "\xe6\x59\xef\xe7" } , { "\xcf\xe8\xc8\xe5\xa2" , "\xe6\x59\xef\xe7\x65" } , { "\xcf\xe8\xc8\xe8" , "\x59\xcb\xef" } , { "\xcf\xe8\xc8\xe8\xb5\xda" , "\xb4\x47\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xc2\xe5" , "\xe5\x8a\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xc6\xdd" , "\x59\xc2\xc7\xef" } , { "\xcf\xe8\xc8\xe8\xcd\xda" , "\xb4\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xcd\xde" , "\xb4\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xc8\xe8\xcf" , "\x59\xd2\xef" } , { "\xcf\xe8\xc8\xe8\xcf\xda" , "\x59\xd2\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xcf\xdb\xa2" , "\xd7\x59\xd2\xef\x65" } , { "\xcf\xe8\xc8\xe8\xcf\xe2" , "\xe8\x59\xd2\xef" } , { "\xcf\xe8\xc8\xe8\xd1" , "\x59\xc0\xef" } , { "\xcf\xe8\xc8\xe8\xd1\xda" , "\x59\xc0\xef\xe7" } , { "\xcf\xe8\xc8\xe8\xd1\xda\xa2" , "\x59\xc0\xef\xe7\x65" } , { "\xcf\xe8\xc8\xe8\xd1\xdd" , "\x59\xc0\xc7\xef" } , { "\xcf\xe8\xc8\xe8\xd1\xe1" , "\xe6\x59\xc0\xef" } , { "\xcf\xe8\xc8\xe8\xd1\xe5" , "\xe6\x59\xc0\xef\xe7" } , { "\xcf\xe8\xc9" , "\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xda" , "\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xc9\xdb" , "\xd7\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xdc" , "\x5a\xf5\xde" } , { "\xcf\xe8\xc9\xdd" , "\x5a\xc7\xef\xf5" } , { "\xcf\xe8\xc9\xe1" , "\xe6\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe2" , "\xe9\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe5" , "\xe6\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xc9\xe5\xa2" , "\xe6\x5a\xef\xf5\xe7\x65" } , { "\xcf\xe8\xc9\xe8" , "\x5a\xcb\xef\xf5" } , { "\xcf\xe8\xc9\xe8\xb3\xde" , "\x5a\xcb\xef\xf5\x45\xc9\xf5" } , { "\xcf\xe8\xc9\xe8\xbf" , "\x5a\xcb\xef\xf5\x51\xf6" } , { "\xcf\xe8\xc9\xe8\xcd\xde" , "\x5a\xcb\xef\xf5\xcc\x5e\xc9" } , { "\xcf\xe8\xc9\xe8\xd1\xda" , "\x6e\xef\xf5\xe7" } , { "\xcf\xe8\xc9\xe8\xd1\xde" , "\x6e\xc9\xef\xf5" } , { "\xcf\xe8\xc9\xe9" , "\x5a\xef\xf5" } , { "\xcf\xe8\xc9\xe9\xdc" , "\x5a\xf5\xde" } , { "\xcf\xe8\xca" , "\x5b\xfd\xef" } , { "\xcf\xe8\xca\xa2" , "\x5b\xfd\xef\x65" } , { "\xcf\xe8\xca\xda" , "\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xca\xdb" , "\xd7\x5b\xfd\xef" } , { "\xcf\xe8\xca\xdb\xa2" , "\xd7\x5b\xfd\xef\x65" } , { "\xcf\xe8\xca\xdc" , "\x5b\xfd\xde" } , { "\xcf\xe8\xca\xdd" , "\x5b\xfd\xc7\xef" } , { "\xcf\xe8\xca\xde" , "\x5b\xfd\xc9\xef" } , { "\xcf\xe8\xca\xe1" , "\xe6\x5b\xfd\xef" } , { "\xcf\xe8\xca\xe2" , "\xe9\x5b\xfd\xef" } , { "\xcf\xe8\xca\xe5" , "\xe6\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xca\xe5\xa2" , "\xe6\x5b\xfd\xef\xe7\x65" } , { "\xcf\xe8\xca\xe6" , "\xe6\x5b\xfd\xef\xec" } , { "\xcf\xe8\xca\xe8" , "\x5b\xfd\xcb\xef" } , { "\xcf\xe8\xca\xe8\xbf" , "\x5b\xfd\xcb\xef\x51\xf6" } , { "\xcf\xe8\xca\xe8\xc3\xdb" , "\x5b\xfd\xcb\xef\xd7\x55" } , { "\xcf\xe8\xca\xe8\xc6\xe8\xd1\xdd" , "\x5b\xfd\xcb\xef\xdc\xda\xf6\xc7" } , { "\xcf\xe8\xca\xe8\xcd\xda" , "\x5b\xfd\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xca\xe8\xcd\xdd" , "\x5b\xfd\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xca\xe8\xcf" , "\x5b\xfd\xd0\xef" } , { "\xcf\xe8\xca\xe8\xcf\xda" , "\x5b\xfd\xd0\xef\xe7" } , { "\xcf\xe8\xca\xe8\xcf\xe5" , "\xe6\x5b\xfd\xd0\xef\xe7" } , { "\xcf\xe8\xca\xe8\xd1\xe8" , "\x5b\xfd\xc0\xcb\xef" } , { "\xcf\xe8\xca\xe8\xd7" , "\x5b\xfd\xcb\xef\x61" } , { "\xcf\xe8\xca\xe8\xd7\xe8" , "\x5b\xfd\xcb\xef\x61\xcb" } , { "\xcf\xe8\xcb" , "\x5c\xf6\xdb" } , { "\xcf\xe8\xcb\xa2" , "\x5c\xf6\xdb\x65" } , { "\xcf\xe8\xcb\xa3" , "\x5c\xf6\xdb\x66" } , { "\xcf\xe8\xcb\xda" , "\x5c\xf6\xdb\xe7" } , { "\xcf\xe8\xcb\xda\xa2" , "\x5c\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xcb\xdb" , "\xd7\x5c\xf6\xdb" } , { "\xcf\xe8\xcb\xdb\xa2" , "\xd7\x5c\xf6\xdb\x65" } , { "\xcf\xe8\xcb\xdc" , "\x5c\xf6\xde" } , { "\xcf\xe8\xcb\xdd" , "\x5c\xc7\xf6\xdb" } , { "\xcf\xe8\xcb\xde" , "\x5c\xc9\xf6\xdb" } , { "\xcf\xe8\xcb\xde\xa3" , "\x5c\xc9\xf6\xdb\x66" } , { "\xcf\xe8\xcb\xe1" , "\xe6\x5c\xf6\xdb" } , { "\xcf\xe8\xcb\xe5" , "\xe6\x5c\xf6\xdb\xe7" } , { "\xcf\xe8\xcb\xe5\xa2" , "\xe6\x5c\xf6\xdb\xe7\x65" } , { "\xcf\xe8\xcb\xe6" , "\xe6\x5c\xf6\xdb\xec" } , { "\xcf\xe8\xcb\xe8\xcf" , "\x7d\xdb" } , { "\xcf\xe8\xcb\xe8\xcf\xda" , "\x7d\xdb\xe7" } , { "\xcf\xe8\xcb\xe8\xd7\xe8" , "\x5c\xcb\xf6\xdb\x61\xcb" } , { "\xcf\xe8\xcc" , "\x5d\xef" } , { "\xcf\xe8\xcc\xa2" , "\x5d\xef\x65" } , { "\xcf\xe8\xcc\xa3" , "\x5d\xef\x66" } , { "\xcf\xe8\xcc\xda" , "\x5d\xef\xe7" } , { "\xcf\xe8\xcc\xda\xa1" , "\x5d\xef\xe7\x65" } , { "\xcf\xe8\xcc\xda\xa2" , "\x5d\xef\xe7\x65" } , { "\xcf\xe8\xcc\xdb" , "\xd7\x5d\xef" } , { "\xcf\xe8\xcc\xdb\xa2" , "\xd7\x5d\xef\x65" } , { "\xcf\xe8\xcc\xdb\xa2\xa2" , "\xd7\x5d\xef\x65\x65" } , { "\xcf\xe8\xcc\xdc" , "\x5d\xde" } , { "\xcf\xe8\xcc\xdc\xa2" , "\x5d\xde\x65" } , { "\xcf\xe8\xcc\xdd" , "\x5d\xc7\xef" } , { "\xcf\xe8\xcc\xdd\xa2" , "\x5d\xc7\xef\x65" } , { "\xcf\xe8\xcc\xde" , "\x5d\xc9\xef" } , { "\xcf\xe8\xcc\xe1" , "\xe6\x5d\xef" } , { "\xcf\xe8\xcc\xe1\xa2" , "\xe6\x5d\xef\x65" } , { "\xcf\xe8\xcc\xe2" , "\xe9\x5d\xef" } , { "\xcf\xe8\xcc\xe5" , "\xe6\x5d\xef\xe7" } , { "\xcf\xe8\xcc\xe5\xa2" , "\xe6\x5d\xef\xe7\x65" } , { "\xcf\xe8\xcc\xe8" , "\x5d\xcb\xef" } , { "\xcf\xe8\xcc\xe8\xb3\xdd" , "\x5d\xcb\xef\x45\xc7\xf5" } , { "\xcf\xe8\xcc\xe8\xb5\xe8\xcf\xdd" , "\x5d\xcb\xef\x47\xd0\xd3" } , { "\xcf\xe8\xcc\xe8\xb8\xe1" , "\x5d\xcb\xef\xe6\xbb\x4a\xf4" } , { "\xcf\xe8\xcc\xe8\xbd\xdb" , "\x5d\xcb\xef\xd7\xbb\x4f\xf4" } , { "\xcf\xe8\xcc\xe8\xbf" , "\x5d\xcb\xef\x51\xf6" } , { "\xcf\xe8\xcc\xe8\xc2" , "\xb6\x99\xef\xf6" } , { "\xcf\xe8\xcc\xe8\xc2\xe5" , "\xe6\xb6\x99\xef\xf6\xe7" } , { "\xcf\xe8\xcc\xe8\xc6\xa2" , "\xb6\x6f\xf6\xef\x65" } , { "\xcf\xe8\xcc\xe8\xc6\xda" , "\xb6\x6f\xf6\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xc6\xdd" , "\xb6\x6f\xf6\xc7\xef" } , { "\xcf\xe8\xcc\xe8\xc6\xdd\xa2" , "\xb6\x6f\xf6\xc7\xef\x65" } , { "\xcf\xe8\xcc\xe8\xc9\xda" , "\xb6\xf6\x8f\xef\xf5\xe7" } , { "\xcf\xe8\xcc\xe8\xc9\xdc" , "\xb6\xf6\x8f\xf5\xde" } , { "\xcf\xe8\xcc\xe8\xcb\xda" , "\x90\xef\xf6\xe7" } , { "\xcf\xe8\xcc\xe8\xcc" , "\xb6\xf6\x82\xef" } , { "\xcf\xe8\xcc\xe8\xcc\xda" , "\xb6\xf6\x82\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xcd" , "\x5d\xcb\xef\xcc\x5e" } , { "\xcf\xe8\xcc\xe8\xcd\xa2" , "\x5d\xcb\xef\xcc\x5e\x65" } , { "\xcf\xe8\xcc\xe8\xcd\xda" , "\x5d\xcb\xef\xcc\x5e\xe7" } , { "\xcf\xe8\xcc\xe8\xcd\xdd" , "\x5d\xcb\xef\xcc\x5e\xc7" } , { "\xcf\xe8\xcc\xe8\xcf\xe5" , "\xe6\xb6\x83\xf6\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xd1" , "\xb6\xda\xf6\xef" } , { "\xcf\xe8\xcc\xe8\xd1\xdd" , "\xb6\xda\xf6\xc7\xef" } , { "\xcf\xe8\xcc\xe8\xd1\xe5" , "\xe6\xb6\xda\xf6\xef\xe7" } , { "\xcf\xe8\xcc\xe8\xd7\xdd" , "\x5d\xcb\xef\x61\xc7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8" , "\x5d\xcb\xef\x61\xcb" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xcc\x5b\xfd\xcb\x5d\xcb\xba\xae\xcf\xf4\xe7\x65" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc2\xe5" , "\x5d\xcb\xef\xe6\xd8\x99\xf6\xe7" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc6\xdb" , "\x5d\xcb\xef\xd7\xd8\x6f\xf6" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xc8\xdb" , "\x5d\xcb\xef\xd7\x26" } , { "\xcf\xe8\xcc\xe8\xd7\xe8\xcc\xda" , "\x5d\xcb\xef\xd8\xf6\x82\xe7" } , { "\xcf\xe8\xcd" , "\x5e\xef" } , { "\xcf\xe8\xcd\xa2" , "\x5e\xef\x65" } , { "\xcf\xe8\xcd\xa3" , "\x5e\xef\x66" } , { "\xcf\xe8\xcd\xda" , "\x5e\xef\xe7" } , { "\xcf\xe8\xcd\xda\xa2" , "\x5e\xef\xe7\x65" } , { "\xcf\xe8\xcd\xdb" , "\xd7\x5e\xef" } , { "\xcf\xe8\xcd\xdc" , "\x5e\xde" } , { "\xcf\xe8\xcd\xdd" , "\x5e\xc7\xef" } , { "\xcf\xe8\xcd\xdd\xa2" , "\x5e\xc7\xef\x65" } , { "\xcf\xe8\xcd\xde" , "\x5e\xc9\xef" } , { "\xcf\xe8\xcd\xe1" , "\xe6\x5e\xef" } , { "\xcf\xe8\xcd\xe2" , "\xe9\x5e\xef" } , { "\xcf\xe8\xcd\xe5" , "\xe6\x5e\xef\xe7" } , { "\xcf\xe8\xcd\xe5\xa2" , "\xe6\x5e\xef\xe7\x65" } , { "\xcf\xe8\xcd\xe6" , "\xe6\x5e\xef\xec" } , { "\xcf\xe8\xcd\xe8\xb3\xde" , "\x5e\xcb\xef\x45\xc9\xf5" } , { "\xcf\xe8\xcd\xe8\xc3\xa2" , "\x5e\xcb\xef\x55\x65" } , { "\xcf\xe8\xcd\xe8\xc3\xda" , "\x5e\xcb\xef\x55\xe7" } , { "\xcf\xe8\xcd\xe8\xc4\xa2" , "\x5e\xcb\xef\x56\x65" } , { "\xcf\xe8\xcd\xe8\xc4\xda" , "\x5e\xcb\xef\x56\xe7" } , { "\xcf\xe8\xcd\xe8\xc5" , "\x5e\xcb\xef\x57\xfd" } , { "\xcf\xe8\xcd\xe8\xcd" , "\x5e\xef\xee" } , { "\xcf\xe8\xcd\xe8\xcd\xda" , "\x5e\xef\xee\xe7" } , { "\xcf\xe8\xcd\xe8\xcd\xde" , "\x5e\xef\xc9\xee" } , { "\xcf\xe8\xcd\xe8\xcf\xe8\xcd" , "\x5e\xef\xd2\xee" } , { "\xcf\xe8\xcd\xe8\xd6\xdb\xa2" , "\xd7\x5e\xcb\x62\xef\x65" } , { "\xcf\xe8\xcf" , "\xcc\x5b\xfd\xef" } , { "\xcf\xe8\xcf\xa2" , "\xcc\x5b\xfd\xef\x65" } , { "\xcf\xe8\xcf\xda" , "\xcc\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xcf\xda\xa2" , "\xcc\x5b\xfd\xef\xe7\x65" } , { "\xcf\xe8\xcf\xdb" , "\xd7\xcc\x5b\xfd\xef" } , { "\xcf\xe8\xcf\xdb\xa2" , "\xd7\xcc\x5b\xfd\xef\x65" } , { "\xcf\xe8\xcf\xdc" , "\xcc\x5b\xfd\xde" } , { "\xcf\xe8\xcf\xdd" , "\xcc\x5b\xfd\xef\xd3" } , { "\xcf\xe8\xcf\xdd\xa2" , "\xcc\x5b\xfd\xef\xd3\x65" } , { "\xcf\xe8\xcf\xde" , "\xcc\x5b\xfd\xef\xd6" } , { "\xcf\xe8\xcf\xe1" , "\xe6\xcc\x5b\xfd\xef" } , { "\xcf\xe8\xcf\xe1\xa2" , "\xe6\xcc\x5b\xfd\xef\x65" } , { "\xcf\xe8\xcf\xe2" , "\xe9\xcc\x5b\xfd\xef" } , { "\xcf\xe8\xcf\xe5" , "\xe6\xcc\x5b\xfd\xef\xe7" } , { "\xcf\xe8\xcf\xe5\xa2" , "\xe6\xcc\x5b\xfd\xef\xe7\x65" } , { "\xcf\xe8\xcf\xe8\xb8\xdd" , "\xcc\x5b\xfd\xcb\xef\xbb\x4a\xc7\xf4" } , { "\xcf\xe8\xcf\xe8\xbd\xe8" , "\xcc\x5b\xfd\xcb\xef\xbb\x4f\xcb\xf4" } , { "\xcf\xe8\xcf\xe8\xcc" , "\xcc\x5b\xfd\xbd\xef" } , { "\xcf\xe8\xcf\xe8\xcf\xa2" , "\xcc\x5b\xfd\xcb\xef\xcc\x5b\xfd\x65" } , { "\xcf\xe8\xcf\xe8\xd8" , "\xcc\x5b\xfd\xcb\xef\x63\xf7" } , { "\xcf\xe8\xd1" , "\x5f\xef" } , { "\xcf\xe8\xd1\xa2" , "\x5f\xef\x65" } , { "\xcf\xe8\xd1\xda" , "\x5f\xef\xe7" } , { "\xcf\xe8\xd1\xda\xa1" , "\x5f\xef\xe7\x65" } , { "\xcf\xe8\xd1\xda\xa2" , "\x5f\xef\xe7\x65" } , { "\xcf\xe8\xd1\xdb" , "\xd7\x5f\xef" } , { "\xcf\xe8\xd1\xdb\xa2" , "\xd7\x5f\xef\x65" } , { "\xcf\xe8\xd1\xdc" , "\x5f\xde" } , { "\xcf\xe8\xd1\xdd" , "\x5f\xc7\xef" } , { "\xcf\xe8\xd1\xdd\xa2" , "\x5f\xc7\xef\x65" } , { "\xcf\xe8\xd1\xde" , "\x5f\xc9\xef" } , { "\xcf\xe8\xd1\xe1" , "\xe6\x5f\xef" } , { "\xcf\xe8\xd1\xe1\xa2" , "\xe6\x5f\xef\x65" } , { "\xcf\xe8\xd1\xe2" , "\xe9\x5f\xef" } , { "\xcf\xe8\xd1\xe5" , "\xe6\x5f\xef\xe7" } , { "\xcf\xe8\xd1\xe5\xa2" , "\xe6\x5f\xef\xe7\x65" } , { "\xcf\xe8\xd1\xe8" , "\x5f\xcb\xef" } , { "\xcf\xe8\xd1\xe8\xba\xe9" , "\xb7\x4c\xdb" } , { "\xcf\xe8\xd1\xe8\xbf" , "\xb7\x51\xef\xf6" } , { "\xcf\xe8\xd1\xe8\xc2\xe5" , "\xe6\xb7\x54\xf6\xdb\xe7" } , { "\xcf\xe8\xd1\xe8\xc8\xe8\xd1" , "\xb7\x59\xc0\xef" } , { "\xcf\xe8\xd1\xe8\xc9\xda" , "\xb7\x5a\xef\xf5\xe7" } , { "\xcf\xe8\xd1\xe8\xcc\xda" , "\x5f\xbd\xef\xe7" } , { "\xcf\xe8\xd1\xe8\xcd\xda\xa2" , "\xb7\xcc\x5e\xef\xe7\x65" } , { "\xcf\xe8\xd1\xe8\xd7" , "\xb7\x61\xef" } , { "\xcf\xe8\xd1\xe8\xd7\xdd" , "\xb7\x61\xc7\xef" } , { "\xcf\xe8\xd1\xe8\xd7\xe8" , "\xb7\x61\xcb\xef" } , { "\xcf\xe8\xd5" , "\x60\xef" } , { "\xcf\xe8\xd5\xa2" , "\x60\xef\x65" } , { "\xcf\xe8\xd5\xa3" , "\x60\xef\x66" } , { "\xcf\xe8\xd5\xda" , "\x60\xef\xe7" } , { "\xcf\xe8\xd5\xda\xa2" , "\x60\xef\xe7\x65" } , { "\xcf\xe8\xd5\xdb" , "\xd7\x60\xef" } , { "\xcf\xe8\xd5\xdb\xa2" , "\xd7\x60\xef\x65" } , { "\xcf\xe8\xd5\xdc" , "\x60\xde" } , { "\xcf\xe8\xd5\xdd" , "\xa3\xef" } , { "\xcf\xe8\xd5\xe1" , "\xe6\x60\xef" } , { "\xcf\xe8\xd5\xe1\xa2" , "\xe6\x60\xef\x65" } , { "\xcf\xe8\xd5\xe5" , "\xe6\x60\xef\xe7" } , { "\xcf\xe8\xd5\xe5\xa2" , "\xe6\x60\xef\xe7\x65" } , { "\xcf\xe8\xd5\xe8\xcd" , "\xb8\xcc\x5e\xef" } , { "\xcf\xe8\xd5\xe8\xcd\xa2" , "\xb8\xcc\x5e\xef\x65" } , { "\xcf\xe8\xd5\xe8\xcd\xda" , "\xb8\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xd5\xe8\xcf" , "\x60\xd2\xef" } , { "\xcf\xe8\xd5\xe8\xd5" , "\xb8\x60\xef" } , { "\xcf\xe8\xd5\xe8\xd9\xa6" , "\xb8\xef\x2b" } , { "\xcf\xe8\xd6" , "\x62\xef" } , { "\xcf\xe8\xd6\xa1" , "\x62\xef\x65" } , { "\xcf\xe8\xd6\xa2" , "\x62\xef\x65" } , { "\xcf\xe8\xd6\xda" , "\x62\xef\xe7" } , { "\xcf\xe8\xd6\xda\xa2" , "\x62\xef\xe7\x65" } , { "\xcf\xe8\xd6\xdb" , "\xd7\x62\xef" } , { "\xcf\xe8\xd6\xdb\xa2" , "\xd7\x62\xef\x65" } , { "\xcf\xe8\xd6\xdc" , "\x62\xde" } , { "\xcf\xe8\xd6\xdd" , "\x62\xc7\xef" } , { "\xcf\xe8\xd6\xe1" , "\xe6\x62\xef" } , { "\xcf\xe8\xd6\xe2" , "\xe9\x62\xef" } , { "\xcf\xe8\xd6\xe5" , "\xe6\x62\xef\xe7" } , { "\xcf\xe8\xd6\xe5\xa2" , "\xe6\x62\xef\xe7\x65" } , { "\xcf\xe8\xd6\xe8\xb3\xdb" , "\xd7\x9b\xef\xf5" } , { "\xcf\xe8\xd6\xe8\xb3\xe5" , "\xe6\x9b\xef\xf5\xe7" } , { "\xcf\xe8\xd6\xe8\xb5\xe1" , "\xe6\xb9\x47\xef" } , { "\xcf\xe8\xd6\xe8\xbd" , "\x72\xef\xf4" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf" , "\x72\xd1\xf4\xef" } , { "\xcf\xe8\xd6\xe8\xbd\xe8\xcf\xdc" , "\x72\xd1\xf4\xde" } , { "\xcf\xe8\xd6\xe8\xc1\xdb" , "\xd7\x62\xef\xd5" } , { "\xcf\xe8\xd6\xe8\xc1\xe1" , "\xe6\x62\xef\xd5" } , { "\xcf\xe8\xd6\xe8\xcd" , "\xb9\xcc\x5e\xef" } , { "\xcf\xe8\xd6\xe8\xcd\xda" , "\xb9\xcc\x5e\xef\xe7" } , { "\xcf\xe8\xd6\xe8\xcd\xe1" , "\xe6\xb9\xcc\x5e\xef" } , { "\xcf\xe8\xd7" , "\x61\xef" } , { "\xcf\xe8\xd7\xa2" , "\x61\xef\x65" } , { "\xcf\xe8\xd7\xda" , "\x61\xef\xe7" } , { "\xcf\xe8\xd7\xda\xa2" , "\x61\xef\xe7\x65" } , { "\xcf\xe8\xd7\xdb" , "\xd7\x61\xef" } , { "\xcf\xe8\xd7\xdb\xa2" , "\xd7\x61\xef\x65" } , { "\xcf\xe8\xd7\xdc" , "\x61\xde" } , { "\xcf\xe8\xd7\xdd" , "\x61\xc7\xef" } , { "\xcf\xe8\xd7\xde" , "\x61\xc9\xef" } , { "\xcf\xe8\xd7\xdf" , "\x61\xca\xef" } , { "\xcf\xe8\xd7\xe1" , "\xe6\x61\xef" } , { "\xcf\xe8\xd7\xe1\xa2" , "\xe6\x61\xef\x65" } , { "\xcf\xe8\xd7\xe2" , "\xe9\x61\xef" } , { "\xcf\xe8\xd7\xe5" , "\xe6\x61\xef\xe7" } , { "\xcf\xe8\xd7\xe5\xa2" , "\xe6\x61\xef\xe7\x65" } , { "\xcf\xe8\xd7\xe8" , "\x61\xcb\xef" } , { "\xcf\xe8\xd7\xe8\xb3" , "\x95\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xb3\xda" , "\x95\xef\xf5\xe7" } , { "\xcf\xe8\xd7\xe8\xb3\xdb" , "\xd7\x95\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xb3\xdc" , "\x95\xf5\xde" } , { "\xcf\xe8\xd7\xe8\xb3\xdd" , "\x95\xc7\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xb5\xda" , "\xba\x47\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xb8\xe1" , "\xe6\xba\x4a\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd" , "\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xda" , "\xba\x4f\xf4\xdb\xe7" } , { "\xcf\xe8\xd7\xe8\xbd\xda\xa2" , "\xba\x4f\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xd7\xe8\xbd\xdb" , "\xd7\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xdd" , "\xba\x4f\xc7\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe1" , "\xe6\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe2" , "\xe8\xba\x4f\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe8" , "\xba\x4f\xcb\xf4\xdb" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\xae\xcf\xf4\xdb\xe7\x65" } , { "\xcf\xe8\xd7\xe8\xbd\xe8\xd7\xe8\xc3" , "\xcc\x5b\xfd\xcb\xae\xba\xd8\x9a\xf6" } , { "\xcf\xe8\xd7\xe8\xbf" , "\xba\x51\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xbf\xe8" , "\xba\x51\xcb\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xc2\xdd" , "\xd8\x99\xc7\xef\xf6" } , { "\xcf\xe8\xd7\xe8\xc2\xe5" , "\xe6\xd8\x99\xef\xf6\xe7" } , { "\xcf\xe8\xd7\xe8\xc3\xda" , "\xd8\x9a\xf6\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc3\xdc" , "\xd8\x9a\xf6\xde" } , { "\xcf\xe8\xd7\xe8\xc6\xdb" , "\xd7\xd8\x6f\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xc6\xdc" , "\xd8\x6f\xf6\xde" } , { "\xcf\xe8\xd7\xe8\xc6\xdd" , "\xd8\x6f\xf6\xc7\xef" } , { "\xcf\xe8\xd7\xe8\xc6\xdd\xa2" , "\xd8\x6f\xf6\xc7\xef\x65" } , { "\xcf\xe8\xd7\xe8\xc6\xe1" , "\xe6\xd8\x6f\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xc8" , "\x26\xef" } , { "\xcf\xe8\xd7\xe8\xc8\xda" , "\x26\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xdc" , "\x26\xde" } , { "\xcf\xe8\xd7\xe8\xc8\xde" , "\x26\xc9\xef" } , { "\xcf\xe8\xd7\xe8\xc8\xe5" , "\xe6\x26\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xcf\xe5" , "\xe6\x26\xd2\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xda" , "\x26\xc0\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xc8\xe8\xd1\xdb" , "\xd7\x26\xc0\xef" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xcd\xda" , "\x61\xcb\xef\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xcf\xe8\xd7\xe8\xc9\xe8\xd1\xdb" , "\xd7\xba\x6e\xef\xf5" } , { "\xcf\xe8\xd7\xe8\xca" , "\xd8\x91\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xca\xe5" , "\xe6\xd8\x91\xf6\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xcc\xe5" , "\xe6\xd8\xf6\x82\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xcd\xde" , "\xba\xcc\x5e\xc9\xef" } , { "\xcf\xe8\xd7\xe8\xd1" , "\xd8\xda\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xd1\xdb" , "\xd7\xd8\xda\xf6\xef" } , { "\xcf\xe8\xd7\xe8\xd1\xdc" , "\xd8\xda\xf6\xde" } , { "\xcf\xe8\xd7\xe8\xd1\xdd" , "\xd8\xda\xf6\xc7\xef" } , { "\xcf\xe8\xd7\xe8\xd1\xe5" , "\xe6\xd8\xda\xf6\xef\xe7" } , { "\xcf\xe8\xd7\xe8\xd7" , "\xba\x61\xef" } , { "\xcf\xe8\xd7\xe8\xd7\xda" , "\xba\x61\xef\xe7" } , { "\xcf\xe8\xd8" , "\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xa2" , "\x63\xf7\xdb\x65" } , { "\xcf\xe8\xd8\xda" , "\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xd8\xda\xa2" , "\x63\xf7\xdb\xe7\x65" } , { "\xcf\xe8\xd8\xdb" , "\xd7\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xdb\xa2" , "\xd7\x63\xf7\xdb\x65" } , { "\xcf\xe8\xd8\xdc" , "\x63\xf7\xde" } , { "\xcf\xe8\xd8\xdd" , "\xa7\xef" } , { "\xcf\xe8\xd8\xe1" , "\xe6\x63\xf7\xdb" } , { "\xcf\xe8\xd8\xe1\xa2" , "\xe6\x63\xf7\xdb\x65" } , { "\xcf\xe8\xd8\xe5" , "\xe6\x63\xf7\xdb\xe7" } , { "\xcf\xe8\xd8\xe6" , "\xe6\x63\xf7\xdb\xec" } , { "\xcf\xe8\xd8\xe8\xc4" , "\x63\xcb\xf7\xdb\x56" } , { "\xcf\xe8\xd8\xe8\xc6\xda" , "\x63\xf7\xd4\xdb\xe7" } , { "\xcf\xe8\xd8\xe8\xcd" , "\x63\xcb\xf7\xdb\xcc\x5e" } , { "\xcf\xe8\xe8" , "\xcc\x5b\xfd\xcb" } , { "\xcf\xe9" , "\xcc\x5b\xfd" } , { "\xd1" , "\x5f" } , { "\xd1\xa1" , "\x5f\x67" } , { "\xd1\xa1\xa2" , "\x5f\x67\x65" } , { "\xd1\xa2" , "\x5f\x65" } , { "\xd1\xa2\xa2" , "\x5f\x65\x65" } , { "\xd1\xa3" , "\x5f\x66" } , { "\xd1\xd9" , "\x5f" } , { "\xd1\xda" , "\x5f\xe7" } , { "\xd1\xda\xa1" , "\x5f\x67\xe7" } , { "\xd1\xda\xa2" , "\x5f\xe7\x65" } , { "\xd1\xda\xa3" , "\x5f\xe7\x66" } , { "\xd1\xdb" , "\xd7\x5f" } , { "\xd1\xdb\xa1" , "\xd9\x5f" } , { "\xd1\xdb\xa2" , "\xd7\x5f\x65" } , { "\xd1\xdb\xa3" , "\xd7\x5f\x66" } , { "\xd1\xdb\xce\xe1" , "\xd7\x5f\xe3\x5e" } , { "\xd1\xdc" , "\x5f\xdd" } , { "\xd1\xdc\xa2" , "\x5f\xdd\x65" } , { "\xd1\xdd" , "\x5f\xc7" } , { "\xd1\xdd\xa2" , "\x5f\xc7\x65" } , { "\xd1\xdd\xa3" , "\x5f\xc7\x66" } , { "\xd1\xde" , "\x5f\xc9" } , { "\xd1\xde\xa1" , "\x5f\x67\xc9" } , { "\xd1\xde\xa2" , "\x5f\xc9\x65" } , { "\xd1\xdf" , "\x5f\xca" } , { "\xd1\xe1" , "\xe6\x5f" } , { "\xd1\xe1\xa2" , "\xe6\x5f\x65" } , { "\xd1\xe2" , "\xe9\x5f" } , { "\xd1\xe2\xa2" , "\xe9\x5f\x65" } , { "\xd1\xe2\xa3" , "\xe9\x5f\x66" } , { "\xd1\xe5" , "\xe6\x5f\xe7" } , { "\xd1\xe5\xa2" , "\xe6\x5f\xe7\x65" } , { "\xd1\xe6" , "\xe6\x5f\xec" } , { "\xd1\xe6\xa2" , "\xe6\x5f\xec\x65" } , { "\xd1\xe8" , "\x5f\xcb" } , { "\xd1\xe8\xb3" , "\x92\xf5" } , { "\xd1\xe8\xb3\xa2" , "\x92\xf5\x65" } , { "\xd1\xe8\xb3\xda" , "\x92\xf5\xe7" } , { "\xd1\xe8\xb3\xda\xa2" , "\x92\xf5\xe7\x65" } , { "\xd1\xe8\xb3\xdb" , "\xd7\x92\xf5" } , { "\xd1\xe8\xb3\xdb\xa2" , "\xd7\x92\xf5\x65" } , { "\xd1\xe8\xb3\xdc" , "\x92\xf5\xdd" } , { "\xd1\xe8\xb3\xdd" , "\x92\xc7\xf5" } , { "\xd1\xe8\xb3\xdd\xa2" , "\x92\xc7\xf5\x65" } , { "\xd1\xe8\xb3\xde" , "\x92\xc9\xf5" } , { "\xd1\xe8\xb3\xe1" , "\xe6\x92\xf5" } , { "\xd1\xe8\xb3\xe2" , "\xe9\x92\xf5" } , { "\xd1\xe8\xb3\xe5" , "\xe6\x92\xf5\xe7" } , { "\xd1\xe8\xb3\xe5\xa2" , "\xe6\x92\xf5\xe7\x65" } , { "\xd1\xe8\xb3\xe6\xa2" , "\xe6\x92\xf5\xec\x65" } , { "\xd1\xe8\xb3\xe8" , "\x92\xcb\xf5" } , { "\xd1\xe8\xb3\xe8\xbd\xe8\xcf\xda" , "\xb7\x6b\x98\xf4\xe7" } , { "\xd1\xe8\xb3\xe8\xc4\xda" , "\x5f\xcb\xa8\x56\xe7" } , { "\xd1\xe8\xb3\xe8\xc4\xe8\xcd\xdd" , "\xb7\x45\xcb\xf5\xb2\xcc\x5e\xc7" } , { "\xd1\xe8\xb3\xe8\xc6\xdd" , "\xb7\x45\xc2\xc7\xf5" } , { "\xd1\xe8\xb3\xe8\xcd" , "\x5f\xcb\xa8\xcc\x5e" } , { "\xd1\xe8\xb3\xe8\xcd\xda" , "\x5f\xcb\xa8\xcc\x5e\xe7" } , { "\xd1\xe8\xb3\xe8\xcd\xdd" , "\x5f\xcb\xa8\xcc\x5e\xc7" } , { "\xd1\xe8\xb3\xe8\xcd\xde" , "\x5f\xcb\xa8\xcc\x5e\xc9" } , { "\xd1\xe8\xb3\xe8\xcf\xdb" , "\xd7\x92\x98\xf5" } , { "\xd1\xe8\xb3\xe8\xcf\xdb\xa2" , "\xd7\x92\x98\xf5\x65" } , { "\xd1\xe8\xb3\xe8\xcf\xdc" , "\x92\x98\xf5\xdd" } , { "\xd1\xe8\xb3\xe8\xcf\xe2" , "\xe9\x92\x98\xf5" } , { "\xd1\xe8\xb3\xe8\xcf\xe5" , "\xe6\x92\x98\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd1" , "\xb7\x7a\xf5" } , { "\xd1\xe8\xb3\xe8\xd1\xda" , "\xb7\x7a\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd1\xe2" , "\xe8\xb7\x7a\xf5" } , { "\xd1\xe8\xb3\xe8\xd1\xe5" , "\xe6\xb7\x7a\xf5\xe7" } , { "\xd1\xe8\xb3\xe8\xd6\xdd" , "\xb7\x6c\xc7\xf9" } , { "\xd1\xe8\xb3\xe8\xd7\xe8" , "\xb7\x6a\xcb" } , { "\xd1\xe8\xb3\xe8\xd7\xe8\xc6\xdd" , "\xa8\xb7\xd8\x6f\xf6\xc7" } , { "\xd1\xe8\xb3\xe8\xd8" , "\x5f\xcb\xa8\x63\xf7" } , { "\xd1\xe8\xb3\xe8\xd8\xda" , "\x5f\xcb\xa8\x63\xf7\xe7" } , { "\xd1\xe8\xb4" , "\xb7\x46" } , { "\xd1\xe8\xb4\xa2" , "\xb7\x46\x65" } , { "\xd1\xe8\xb4\xda" , "\xb7\x46\xe7" } , { "\xd1\xe8\xb4\xdb" , "\xd7\xb7\x46" } , { "\xd1\xe8\xb4\xdc" , "\xb7\x46\xdd" } , { "\xd1\xe8\xb4\xe8\xcb\xe8\xcf" , "\xb7\x46\xcb\x7d" } , { "\xd1\xe8\xb5" , "\x93" } , { "\xd1\xe8\xb5\xa2" , "\x93\x65" } , { "\xd1\xe8\xb5\xda" , "\x93\xe7" } , { "\xd1\xe8\xb5\xda\xa2" , "\x93\xe7\x65" } , { "\xd1\xe8\xb5\xdb" , "\xd7\x93" } , { "\xd1\xe8\xb5\xdb\xa2" , "\xd7\x93\x65" } , { "\xd1\xe8\xb5\xdc" , "\x93\xdd" } , { "\xd1\xe8\xb5\xdd" , "\x93\xc7" } , { "\xd1\xe8\xb5\xdd\xa2" , "\x93\xc7\x65" } , { "\xd1\xe8\xb5\xde" , "\x93\xc9" } , { "\xd1\xe8\xb5\xe1" , "\xe6\x93" } , { "\xd1\xe8\xb5\xe2" , "\xe9\x93" } , { "\xd1\xe8\xb5\xe5" , "\xe6\x93\xe7" } , { "\xd1\xe8\xb5\xe6" , "\xe6\x93\xec" } , { "\xd1\xe8\xb5\xe8\xcf\xa2" , "\x93\x98\x65" } , { "\xd1\xe8\xb5\xe8\xcf\xda" , "\x93\x98\xe7" } , { "\xd1\xe8\xb5\xe8\xcf\xda\xa2" , "\x93\x98\xe7\x65" } , { "\xd1\xe8\xb5\xe8\xcf\xdb" , "\xd7\x93\x98" } , { "\xd1\xe8\xb5\xe8\xcf\xde" , "\x93\x98\xc8" } , { "\xd1\xe8\xb5\xe8\xd1\xda" , "\xb7\x47\xc0\xe7" } , { "\xd1\xe8\xb5\xe8\xd1\xda\xa2" , "\xb7\x47\xc0\xe7\x65" } , { "\xd1\xe8\xb6" , "\xb7\x48" } , { "\xd1\xe8\xb8" , "\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xa2" , "\xb7\x4a\xf4\x65" } , { "\xd1\xe8\xb8\xda" , "\xb7\x4a\xf4\xe7" } , { "\xd1\xe8\xb8\xdb" , "\xd7\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xdb\xa2" , "\xd7\xb7\x4a\xf4\x65" } , { "\xd1\xe8\xb8\xdc" , "\xb7\x4a\xf4\xdd" } , { "\xd1\xe8\xb8\xdd" , "\xb7\x4a\xc7\xf4" } , { "\xd1\xe8\xb8\xdd\xa2" , "\xb7\x4a\xc7\xf4\x65" } , { "\xd1\xe8\xb8\xde" , "\xb7\x4a\xc9\xf4" } , { "\xd1\xe8\xb8\xe1" , "\xe6\xb7\x4a\xf4" } , { "\xd1\xe8\xb8\xe5" , "\xe6\xb7\x4a\xf4\xe7" } , { "\xd1\xe8\xb8\xe6" , "\xe6\xb7\x4a\xf4\xec" } , { "\xd1\xe8\xb9\xdd" , "\xb7\x4b\xc7\xf7" } , { "\xd1\xe8\xba" , "\xb7\x4c" } , { "\xd1\xe8\xba\xda" , "\xb7\x4c\xe7" } , { "\xd1\xe8\xba\xdb" , "\xd7\xb7\x4c" } , { "\xd1\xe8\xba\xdc" , "\xb7\x4c\xdd" } , { "\xd1\xe8\xba\xdd" , "\xb7\x4c\xc7" } , { "\xd1\xe8\xba\xde" , "\xb7\x4c\xc9" } , { "\xd1\xe8\xba\xe1" , "\xe6\xb7\x4c" } , { "\xd1\xe8\xba\xe8" , "\xb7\x4c\xcb" } , { "\xd1\xe8\xba\xe9" , "\xb7\x4c" } , { "\xd1\xe8\xba\xe9\xda" , "\xb7\x4c\xe7" } , { "\xd1\xe8\xbb\xda" , "\xb7\x4d\xf5\xe7" } , { "\xd1\xe8\xbb\xdc" , "\xb7\x4d\xf5\xdd" } , { "\xd1\xe8\xbd" , "\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xa2" , "\xb7\x4f\xf4\x65" } , { "\xd1\xe8\xbd\xda" , "\xb7\x4f\xf4\xe7" } , { "\xd1\xe8\xbd\xdb" , "\xd7\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xdb\xa2" , "\xd7\xb7\x4f\xf4\x65" } , { "\xd1\xe8\xbd\xdc" , "\xb7\x4f\xf4\xdd" } , { "\xd1\xe8\xbd\xdd" , "\xb7\x4f\xc7\xf4" } , { "\xd1\xe8\xbd\xdd\xa2" , "\xb7\x4f\xc7\xf4\x65" } , { "\xd1\xe8\xbd\xde" , "\xb7\x4f\xc9\xf4" } , { "\xd1\xe8\xbd\xe1" , "\xe6\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xe2" , "\xe8\xb7\x4f\xf4" } , { "\xd1\xe8\xbd\xe5" , "\xe6\xb7\x4f\xf4\xe7" } , { "\xd1\xe8\xbd\xe5\xa2" , "\xe6\xb7\x4f\xf4\xe7\x65" } , { "\xd1\xe8\xbd\xe8" , "\xb7\x4f\xcb\xf4" } , { "\xd1\xe8\xbd\xe8\xb5\xda" , "\x5f\xcb\xae\x47\xe7" } , { "\xd1\xe8\xbd\xe8\xba" , "\x5f\xcb\xae\x4c" } , { "\xd1\xe8\xbd\xe8\xba\xe8" , "\x5f\xcb\xae\x4c\xcb" } , { "\xd1\xe8\xbd\xe8\xba\xe8\xcc" , "\xae\xb7\x4c\xbd" } , { "\xd1\xe8\xbd\xe8\xc6\xdd" , "\xb7\xae\xf3\xc7\xf4" } , { "\xd1\xe8\xbd\xe8\xc8\xdc" , "\x5f\xcb\xae\x59\xdd" } , { "\xd1\xe8\xbd\xe8\xcc" , "\xb7\x4f\x5d" } , { "\xd1\xe8\xbd\xe8\xcc\xdc" , "\xb7\x4f\x5d\xdd" } , { "\xd1\xe8\xbd\xe8\xcf" , "\xb7\xae\xcf\xf4" } , { "\xd1\xe8\xbd\xe8\xcf\xda" , "\xb7\xae\xcf\xf4\xe7" } , { "\xd1\xe8\xbd\xe8\xcf\xdb" , "\xd7\xb7\xae\xcf\xf4" } , { "\xd1\xe8\xbd\xe8\xcf\xdc" , "\xb7\xae\xcf\xf4\xdd" } , { "\xd1\xe8\xbd\xe8\xcf\xe1" , "\xe6\xb7\xae\xcf\xf4" } , { "\xd1\xe8\xbd\xe8\xd1" , "\xb7\xae\xf2\xf4" } , { "\xd1\xe8\xbd\xe8\xd1\xdd" , "\xb7\xae\xf2\xc7\xf4" } , { "\xd1\xe8\xbd\xe8\xd1\xe5" , "\xe6\xb7\xae\xf2\xf4\xe7" } , { "\xd1\xe8\xbd\xe8\xd7" , "\x5f\xcb\xae\x61" } , { "\xd1\xe8\xbd\xe8\xd7\xdd" , "\x5f\xcb\xae\x61\xc7" } , { "\xd1\xe8\xbd\xe8\xd7\xe8" , "\x5f\xcb\xae\x61\xcb" } , { "\xd1\xe8\xbd\xe8\xd7\xe8\xc8\xda" , "\xae\xb7\x26\xe7" } , { "\xd1\xe8\xbf" , "\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xa2" , "\xb7\x51\xf6\x65" } , { "\xd1\xe8\xbf\xda" , "\xb7\x51\xf6\xe7" } , { "\xd1\xe8\xbf\xdb" , "\xd7\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xdb\xa2" , "\xd7\xb7\x51\xf6\x65" } , { "\xd1\xe8\xbf\xdc" , "\xb7\x51\xf6\xdd" } , { "\xd1\xe8\xbf\xdd" , "\xb7\x51\xc7\xf6" } , { "\xd1\xe8\xbf\xde" , "\xb7\x51\xc9\xf6" } , { "\xd1\xe8\xbf\xe1" , "\xe6\xb7\x51\xf6" } , { "\xd1\xe8\xbf\xe5" , "\xe6\xb7\x51\xf6\xe7" } , { "\xd1\xe8\xbf\xe8" , "\xb7\x51\xcb\xf6" } , { "\xd1\xe8\xbf\xe8\xb3" , "\x5f\xcb\xaf\x45\xf5" } , { "\xd1\xe8\xbf\xe8\xb3\xdd" , "\x5f\xcb\xaf\x45\xc7\xf5" } , { "\xd1\xe8\xbf\xe8\xb3\xe8\xcf\xdc" , "\xaf\xb7\x79\xd4\xdd" } , { "\xd1\xe8\xbf\xe8\xb5\xda" , "\x5f\xcb\xaf\x47\xe7" } , { "\xd1\xe8\xbf\xe8\xb5\xe1" , "\x5f\xcb\xe6\xaf\x47" } , { "\xd1\xe8\xbf\xe8\xb5\xe5" , "\x5f\xcb\xe6\xaf\x47\xe7" } , { "\xd1\xe8\xbf\xe8\xbd\xe2" , "\x5f\xcb\xe8\xaf\x4f\xf4" } , { "\xd1\xe8\xbf\xe8\xbf\xe6" , "\x5f\xcb\xe6\xaf\x51\xf6\xec" } , { "\xd1\xe8\xbf\xe8\xc2" , "\x5f\xcb\xaf\x54\xf6" } , { "\xd1\xe8\xbf\xe8\xc8" , "\x5f\xcb\xaf\x59" } , { "\xd1\xe8\xbf\xe8\xc9\xdb\xa2" , "\x5f\xcb\xd7\xaf\x5a\xf5\x65" } , { "\xd1\xe8\xbf\xe8\xc9\xe5" , "\x5f\xcb\xe6\xaf\x5a\xf5\xe7" } , { "\xd1\xe8\xbf\xe8\xcc" , "\xb7\xaf\xc1" } , { "\xd1\xe8\xbf\xe8\xcc\xda" , "\xb7\xaf\xc1\xe7" } , { "\xd1\xe8\xbf\xe8\xcc\xe1" , "\xe6\xb7\xaf\xc1" } , { "\xd1\xe8\xbf\xe8\xcd\xde" , "\x5f\xcb\xaf\xcc\x5e\xc9" } , { "\xd1\xe8\xbf\xe8\xcf" , "\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xdb" , "\xd7\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xdb\xa2" , "\xd7\xb7\x51\xce\xf6\x65" } , { "\xd1\xe8\xbf\xe8\xcf\xdc" , "\xb7\x51\xce\xf6\xdd" } , { "\xd1\xe8\xbf\xe8\xcf\xe1" , "\xe6\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xcf\xe2" , "\xe8\xb7\x51\xce\xf6" } , { "\xd1\xe8\xbf\xe8\xd1" , "\xb7\xaf\xf2\xf6" } , { "\xd1\xe8\xbf\xe8\xd1\xdd" , "\xb7\xaf\xf2\xc7\xf6" } , { "\xd1\xe8\xbf\xe8\xd1\xde" , "\xb7\xaf\xf2\xc9\xf6" } , { "\xd1\xe8\xbf\xe8\xd1\xe5" , "\xe6\xb7\xaf\xf2\xf6\xe7" } , { "\xd1\xe8\xbf\xe8\xd7" , "\x5f\xcb\xaf\x61" } , { "\xd1\xe8\xbf\xe8\xd7\xe8" , "\x5f\xcb\xaf\x61\xcb" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xdc" , "\xb7\x51\xcb\xf6\xba\x4f\xf4\xdd" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xbd\xe2" , "\xb7\x51\xcb\xf6\xe8\xba\x4f\xf4" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc8\xda" , "\xaf\xb7\x26\xe7" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xc9\xda" , "\xaf\xb7\xd8\xf6\x8f\xf5\xe7" } , { "\xd1\xe8\xbf\xe8\xd7\xe8\xcc\xdb" , "\xd7\xaf\xb7\xd8\xf6\x82" } , { "\xd1\xe8\xbf\xe9" , "\xb7\x51\xcd\xf6" } , { "\xd1\xe8\xc0\xda" , "\xb7\x52\xf4\xe7" } , { "\xd1\xe8\xc1" , "\xb7\x53" } , { "\xd1\xe8\xc2" , "\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xda" , "\xb7\x54\xf6\xe7" } , { "\xd1\xe8\xc2\xda\xa2" , "\xb7\x54\xf6\xe7\x65" } , { "\xd1\xe8\xc2\xdb" , "\xd7\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xdb\xa2" , "\xd7\xb7\x54\xf6\x65" } , { "\xd1\xe8\xc2\xdc" , "\xb7\x54\xf6\xdd" } , { "\xd1\xe8\xc2\xdd" , "\xb7\x54\xc7\xf6" } , { "\xd1\xe8\xc2\xdd\xa2" , "\xb7\x54\xc7\xf6\x65" } , { "\xd1\xe8\xc2\xde" , "\xb7\x54\xc9\xf6" } , { "\xd1\xe8\xc2\xe1" , "\xe6\xb7\x54\xf6" } , { "\xd1\xe8\xc2\xe5" , "\xe6\xb7\x54\xf6\xe7" } , { "\xd1\xe8\xc2\xe5\xa2" , "\xe6\xb7\x54\xf6\xe7\x65" } , { "\xd1\xe8\xc2\xe8" , "\xb7\x54\xcb\xf6" } , { "\xd1\xe8\xc2\xe8\xb3\xe8\xd1" , "\xb1\xb7\x7a\xf5" } , { "\xd1\xe8\xc2\xe8\xca\xe8\xd1\xda" , "\xb1\xb7\x5b\xfd\xc0\xe7" } , { "\xd1\xe8\xc2\xe8\xcc\xa2" , "\xb7\xb1\xc1\x65" } , { "\xd1\xe8\xc3" , "\xb7\x55" } , { "\xd1\xe8\xc3\xda" , "\xb7\x55\xe7" } , { "\xd1\xe8\xc3\xdc" , "\xb7\x55\xdd" } , { "\xd1\xe8\xc3\xdd" , "\xb7\x55\xc7" } , { "\xd1\xe8\xc3\xde" , "\xb7\x55\xc9" } , { "\xd1\xe8\xc4" , "\xb7\x56" } , { "\xd1\xe8\xc4\xa2" , "\xb7\x56\x65" } , { "\xd1\xe8\xc4\xda" , "\xb7\x56\xe7" } , { "\xd1\xe8\xc4\xda\xa2" , "\xb7\x56\xe7\x65" } , { "\xd1\xe8\xc4\xdb" , "\xd7\xb7\x56" } , { "\xd1\xe8\xc4\xdc" , "\xb7\x56\xdd" } , { "\xd1\xe8\xc4\xdd" , "\xb7\x56\xc7" } , { "\xd1\xe8\xc4\xe1" , "\xe6\xb7\x56" } , { "\xd1\xe8\xc4\xe1\xa2" , "\xe6\xb7\x56\x65" } , { "\xd1\xe8\xc4\xe5" , "\xe6\xb7\x56\xe7" } , { "\xd1\xe8\xc4\xe5\xa2" , "\xe6\xb7\x56\xe7\x65" } , { "\xd1\xe8\xc4\xe8\xcf\xe1" , "\xe6\xb7\x56\xd0" } , { "\xd1\xe8\xc5" , "\xb7\x57\xfd" } , { "\xd1\xe8\xc5\xda" , "\xb7\x57\xfd\xe7" } , { "\xd1\xe8\xc5\xdb" , "\xd7\xb7\x57\xfd" } , { "\xd1\xe8\xc6" , "\x5f\xc2" } , { "\xd1\xe8\xc6\xa2" , "\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xda" , "\x5f\xc2\xe7" } , { "\xd1\xe8\xc6\xdb" , "\xd7\x5f\xc2" } , { "\xd1\xe8\xc6\xdb\xa2" , "\xd7\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xdc" , "\x5f\xc2\xdd" } , { "\xd1\xe8\xc6\xdd" , "\x5f\xc2\xc7" } , { "\xd1\xe8\xc6\xdd\xa2" , "\x5f\xc2\xc7\x65" } , { "\xd1\xe8\xc6\xde" , "\x5f\xc2\xc9" } , { "\xd1\xe8\xc6\xe1" , "\xe6\x5f\xc2" } , { "\xd1\xe8\xc6\xe1\xa2" , "\xe6\x5f\xc2\x65" } , { "\xd1\xe8\xc6\xe2" , "\xe8\x5f\xc2" } , { "\xd1\xe8\xc6\xe5" , "\xe6\x5f\xc2\xe7" } , { "\xd1\xe8\xc6\xe8" , "\x5f\xc2\xcb" } , { "\xd1\xe8\xc6\xe8\xb3\xdd" , "\x5f\xcb\xb3\x45\xc7\xf5" } , { "\xd1\xe8\xc8" , "\x94" } , { "\xd1\xe8\xc8\xa2" , "\x94\x65" } , { "\xd1\xe8\xc8\xda" , "\x94\xe7" } , { "\xd1\xe8\xc8\xda\xa2" , "\x94\xe7\x65" } , { "\xd1\xe8\xc8\xda\xa3" , "\x94\xe7\x66" } , { "\xd1\xe8\xc8\xdb" , "\xd7\x94" } , { "\xd1\xe8\xc8\xdb\xa2" , "\xd7\x94\x65" } , { "\xd1\xe8\xc8\xdc" , "\x94\xdd" } , { "\xd1\xe8\xc8\xdc\xa2" , "\x94\xdd\x65" } , { "\xd1\xe8\xc8\xdd" , "\x94\xc7" } , { "\xd1\xe8\xc8\xdd\xa2" , "\x94\xc7\x65" } , { "\xd1\xe8\xc8\xde" , "\x94\xc9" } , { "\xd1\xe8\xc8\xe1" , "\xe6\x94" } , { "\xd1\xe8\xc8\xe1\xa2" , "\xe6\x94\x65" } , { "\xd1\xe8\xc8\xe2" , "\xe9\x94" } , { "\xd1\xe8\xc8\xe5" , "\xe6\x94\xe7" } , { "\xd1\xe8\xc8\xe5\xa2" , "\xe6\x94\xe7\x65" } , { "\xd1\xe8\xc8\xe8" , "\x94\xcb" } , { "\xd1\xe8\xc8\xe8\xb5\xe5" , "\x5f\xcb\xe6\xb4\x47\xe7" } , { "\xd1\xe8\xc8\xe8\xcd\xde" , "\x5f\xcb\xb4\xcc\x5e\xc9" } , { "\xd1\xe8\xc8\xe8\xcf\xda" , "\x94\x98\xe7" } , { "\xd1\xe8\xc8\xe8\xcf\xdb" , "\xd7\x94\x98" } , { "\xd1\xe8\xc8\xe8\xcf\xe2" , "\xe9\x94\x98" } , { "\xd1\xe8\xc8\xe8\xd1\xda" , "\xb7\x59\xc0\xe7" } , { "\xd1\xe8\xc8\xe8\xd7" , "\x5f\xcb\xb4\x61" } , { "\xd1\xe8\xc8\xe8\xd7\xe8" , "\x5f\xcb\xb4\x61\xcb" } , { "\xd1\xe8\xc9" , "\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xa2" , "\xb7\x5a\xf5\x65" } , { "\xd1\xe8\xc9\xda" , "\xb7\x5a\xf5\xe7" } , { "\xd1\xe8\xc9\xdb" , "\xd7\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xdb\xa2" , "\xd7\xb7\x5a\xf5\x65" } , { "\xd1\xe8\xc9\xdc" , "\xb7\x5a\xf5\xdd" } , { "\xd1\xe8\xc9\xdd" , "\xb7\x5a\xc7\xf5" } , { "\xd1\xe8\xc9\xde" , "\xb7\x5a\xc9\xf5" } , { "\xd1\xe8\xc9\xe1" , "\xe6\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xe1\xa2" , "\xe6\xb7\x5a\xf5\x65" } , { "\xd1\xe8\xc9\xe2" , "\xe9\xb7\x5a\xf5" } , { "\xd1\xe8\xc9\xe5" , "\xe6\xb7\x5a\xf5\xe7" } , { "\xd1\xe8\xc9\xe5\xa2" , "\xe6\xb7\x5a\xf5\xe7\x65" } , { "\xd1\xe8\xc9\xe8" , "\xb7\x5a\xcb\xf5" } , { "\xd1\xe8\xc9\xe8\xbd\xe8" , "\x5f\xcb\x5a\xcb\xf5\xbb\x4f\xcb\xf4" } , { "\xd1\xe8\xc9\xe8\xcc\xda" , "\xb7\x5a\xf5\xbd\xe7" } , { "\xd1\xe8\xc9\xe8\xcd\xdd" , "\x5f\xcb\x5a\xcb\xf5\xcc\x5e\xc7" } , { "\xd1\xe8\xc9\xe8\xcd\xde" , "\x5f\xcb\x5a\xcb\xf5\xcc\x5e\xc9" } , { "\xd1\xe8\xc9\xe8\xcf\xa2" , "\xb7\x5a\xd0\xf5\x65" } , { "\xd1\xe8\xc9\xe8\xd1" , "\xb7\x6e\xf5" } , { "\xd1\xe8\xc9\xe8\xd1\xe2" , "\xe8\xb7\x6e\xf5" } , { "\xd1\xe8\xc9\xe8\xd1\xe5" , "\xe6\xb7\x6e\xf5\xe7" } , { "\xd1\xe8\xc9\xe8\xd7\xe8" , "\x5f\xcb\x5a\xcb\xf5\x61\xcb" } , { "\xd1\xe8\xc9\xe8\xd8\xdb" , "\x5f\xcb\x5a\xcb\xf5\xd7\x63\xf7" } , { "\xd1\xe8\xca" , "\x5f\x9f" } , { "\xd1\xe8\xca\xa2" , "\x5f\x9f\x65" } , { "\xd1\xe8\xca\xda" , "\x5f\x9f\xe7" } , { "\xd1\xe8\xca\xda\xa2" , "\x5f\x9f\xe7\x65" } , { "\xd1\xe8\xca\xdb" , "\xd7\x5f\x9f" } , { "\xd1\xe8\xca\xdc" , "\x5f\x9f\xdd" } , { "\xd1\xe8\xca\xdd" , "\x5f\x9f\xc7" } , { "\xd1\xe8\xca\xdf" , "\x5f\x9f\xca" } , { "\xd1\xe8\xca\xe1" , "\xe6\x5f\x9f" } , { "\xd1\xe8\xca\xe2" , "\xe9\x5f\x9f" } , { "\xd1\xe8\xca\xe5" , "\xe6\x5f\x9f\xe7" } , { "\xd1\xe8\xca\xe5\xa2" , "\xe6\x5f\x9f\xe7\x65" } , { "\xd1\xe8\xca\xe8" , "\x5f\x9f\xcb" } , { "\xd1\xe8\xca\xe8\xb3\xdd" , "\x5f\xcb\x5b\xfd\xcb\x45\xc7\xf5" } , { "\xd1\xe8\xca\xe8\xc6\xdd" , "\xb7\x5b\xfd\xc2\xc7" } , { "\xd1\xe8\xca\xe8\xcd" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e" } , { "\xd1\xe8\xca\xe8\xcd\xda" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xd1\xe8\xca\xe8\xcd\xdd" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e\xc7" } , { "\xd1\xe8\xca\xe8\xcd\xde" , "\x5f\xcb\x5b\xfd\xcb\xcc\x5e\xc9" } , { "\xd1\xe8\xca\xe8\xcf\xde" , "\xb7\x5b\xfd\xd0\xd6" } , { "\xd1\xe8\xca\xe8\xcf\xe1" , "\xe6\xb7\x5b\xfd\xd0" } , { "\xd1\xe8\xca\xe8\xcf\xe5" , "\xe6\xb7\x5b\xfd\xd0\xe7" } , { "\xd1\xe8\xca\xe8\xcf\xe8\xbd\xe8\xd7\xe8\xb3\xdb" , "\x5f\xcb\x5b\xfd\xcb\xd7\xae\x95\xef\xf5" } , { "\xd1\xe8\xca\xe8\xd1" , "\xb7\x5b\xfd\xc0" } , { "\xd1\xe8\xca\xe8\xd1\xde" , "\xb7\x5b\xfd\xc0\xc9" } , { "\xd1\xe8\xca\xe8\xd1\xe5" , "\xe6\xb7\x5b\xfd\xc0\xe7" } , { "\xd1\xe8\xcb" , "\xb7\x5c\xf6" } , { "\xd1\xe8\xcb\xa2" , "\xb7\x5c\xf6\x65" } , { "\xd1\xe8\xcb\xda" , "\xb7\x5c\xf6\xe7" } , { "\xd1\xe8\xcb\xdb\xa2" , "\xd7\xb7\x5c\xf6\x65" } , { "\xd1\xe8\xcb\xdd" , "\xb7\x5c\xc7\xf6" } , { "\xd1\xe8\xcb\xde" , "\xb7\x5c\xc9\xf6" } , { "\xd1\xe8\xcb\xe2" , "\xe9\xb7\x5c\xf6" } , { "\xd1\xe8\xcb\xe8\xcd" , "\x5f\xcb\x5c\xcb\xf6\xcc\x5e" } , { "\xd1\xe8\xcb\xe8\xcd\xa2" , "\x5f\xcb\x5c\xcb\xf6\xcc\x5e\x65" } , { "\xd1\xe8\xcc" , "\x5f\xbd" } , { "\xd1\xe8\xcc\xa2" , "\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xda" , "\x5f\xbd\xe7" } , { "\xd1\xe8\xcc\xda\xa2" , "\x5f\xbd\xe7\x65" } , { "\xd1\xe8\xcc\xdb" , "\xd7\x5f\xbd" } , { "\xd1\xe8\xcc\xdb\xa2" , "\xd7\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xdc" , "\x5f\xbd\xdd" } , { "\xd1\xe8\xcc\xdd" , "\x5f\xbd\xc6" } , { "\xd1\xe8\xcc\xde" , "\x5f\xbd\xc8" } , { "\xd1\xe8\xcc\xdf" , "\x5f\xbd\xca" } , { "\xd1\xe8\xcc\xe1" , "\xe6\x5f\xbd" } , { "\xd1\xe8\xcc\xe1\xa2" , "\xe6\x5f\xbd\x65" } , { "\xd1\xe8\xcc\xe5" , "\xe6\x5f\xbd\xe7" } , { "\xd1\xe8\xcc\xe5\xa2" , "\xe6\x5f\xbd\xe7\x65" } , { "\xd1\xe8\xcc\xe8" , "\x5f\xbd\xcb" } , { "\xd1\xe8\xcc\xe8\xb3\xe5" , "\x5f\xcb\x5d\xcb\xe6\x45\xf5\xe7" } , { "\xd1\xe8\xcc\xe8\xb5\xda" , "\x5f\xcb\x5d\xcb\x47\xe7" } , { "\xd1\xe8\xcc\xe8\xba" , "\x5f\xcb\x5d\xcb\x4c" } , { "\xd1\xe8\xcc\xe8\xbf\xe2" , "\x5f\xcb\x5d\xcb\xe9\x51\xf6" } , { "\xd1\xe8\xcc\xe8\xc6" , "\xb7\xb6\x6f\xf6" } , { "\xd1\xe8\xcc\xe8\xc6\xdd" , "\xb7\xb6\x6f\xf6\xc7" } , { "\xd1\xe8\xcc\xe8\xcc\xdc" , "\xb7\xb6\xf6\x82\xdd" } , { "\xd1\xe8\xcc\xe8\xcd\xda" , "\x5f\xcb\x5d\xcb\xcc\x5e\xe7" } , { "\xd1\xe8\xcc\xe8\xd1" , "\xb7\xb6\xda\xf6" } , { "\xd1\xe8\xcc\xe8\xd1\xdd" , "\xb7\xb6\xda\xf6\xc7" } , { "\xd1\xe8\xcc\xe8\xd1\xe5" , "\xe6\xb7\xb6\xda\xf6\xe7" } , { "\xd1\xe8\xcc\xe8\xd7" , "\x5f\xcb\x5d\xcb\x61" } , { "\xd1\xe8\xcc\xe8\xd7\xe8\xc9" , "\xb7\x5d\xcb\xd8\xf6\x8f\xf5" } , { "\xd1\xe8\xcc\xe8\xd8\xe5" , "\x5f\xcb\x5d\xcb\xe6\x63\xf7\xe7" } , { "\xd1\xe8\xcd" , "\x5f\xee" } , { "\xd1\xe8\xcd\xa2" , "\x5f\xee\x65" } , { "\xd1\xe8\xcd\xda" , "\x5f\xee\xe7" } , { "\xd1\xe8\xcd\xda\xa2" , "\x5f\xee\xe7\x65" } , { "\xd1\xe8\xcd\xdb" , "\xd7\x5f\xee" } , { "\xd1\xe8\xcd\xdc" , "\x5f\xee\xdd" } , { "\xd1\xe8\xcd\xdd" , "\x5f\xc7\xee" } , { "\xd1\xe8\xcd\xde" , "\x5f\xc9\xee" } , { "\xd1\xe8\xcd\xde\xa2" , "\x5f\xc9\xee\x65" } , { "\xd1\xe8\xcd\xdf" , "\x5f\xca\xee" } , { "\xd1\xe8\xcd\xe1" , "\xe6\x5f\xee" } , { "\xd1\xe8\xcd\xe2" , "\xe9\x5f\xee" } , { "\xd1\xe8\xcd\xe5" , "\xe6\x5f\xee\xe7" } , { "\xd1\xe8\xcd\xe5\xa2" , "\xe6\x5f\xee\xe7\x65" } , { "\xd1\xe8\xcd\xe6" , "\xe6\x5f\xee\xec" } , { "\xd1\xe8\xcd\xe6\xa2" , "\xe6\x5f\xee\xec\x65" } , { "\xd1\xe8\xcd\xe8" , "\x5f\xee\xcb" } , { "\xd1\xe8\xcd\xe8\xcd\xa2" , "\x5f\xcb\xcc\x5e\xcb\xcc\x5e\x65" } , { "\xd1\xe8\xcf" , "\x5f\xd2" } , { "\xd1\xe8\xcf\xa2" , "\x5f\xd2\x65" } , { "\xd1\xe8\xcf\xda" , "\x5f\xd2\xe7" } , { "\xd1\xe8\xcf\xda\xa2" , "\x5f\xd2\xe7\x65" } , { "\xd1\xe8\xcf\xdb" , "\xd7\x5f\xd2" } , { "\xd1\xe8\xcf\xdb\xa2" , "\xd7\x5f\xd2\x65" } , { "\xd1\xe8\xcf\xdd" , "\x5f\xd2\xc7" } , { "\xd1\xe8\xcf\xde" , "\x5f\xd2\xc9" } , { "\xd1\xe8\xcf\xe1" , "\xe6\x5f\xd2" } , { "\xd1\xe8\xcf\xe2" , "\xe8\x5f\xd2" } , { "\xd1\xe8\xcf\xe5" , "\xe6\x5f\xd2\xe7" } , { "\xd1\xe8\xcf\xe6\xa2" , "\xe6\x5f\xd2\xec\x65" } , { "\xd1\xe8\xcf\xe8\xbf" , "\x5f\xcb\xcc\x5b\xfd\xcb\x51\xf6" } , { "\xd1\xe8\xcf\xe8\xd7" , "\x5f\xcb\xcc\x5b\xfd\xcb\x61" } , { "\xd1\xe8\xd1" , "\x7b" } , { "\xd1\xe8\xd1\xa2" , "\x7b\x65" } , { "\xd1\xe8\xd1\xda" , "\x7b\xe7" } , { "\xd1\xe8\xd1\xda\xa2" , "\x7b\xe7\x65" } , { "\xd1\xe8\xd1\xdb" , "\xd7\x7b" } , { "\xd1\xe8\xd1\xdb\xa2" , "\xd7\x7b\x65" } , { "\xd1\xe8\xd1\xdc" , "\x7b\xdd" } , { "\xd1\xe8\xd1\xdd" , "\x7b\xc7" } , { "\xd1\xe8\xd1\xdd\xa2" , "\x7b\xc7\x65" } , { "\xd1\xe8\xd1\xde" , "\x7b\xc9" } , { "\xd1\xe8\xd1\xde\xa1" , "\x7b\x67\xc9" } , { "\xd1\xe8\xd1\xe1" , "\xe6\x7b" } , { "\xd1\xe8\xd1\xe1\xa2" , "\xe6\x7b\x65" } , { "\xd1\xe8\xd1\xe2" , "\xe8\x7b" } , { "\xd1\xe8\xd1\xe5" , "\xe6\x7b\xe7" } , { "\xd1\xe8\xd1\xe5\xa2" , "\xe6\x7b\xe7\x65" } , { "\xd1\xe8\xd1\xe6" , "\xe6\x7b\xec" } , { "\xd1\xe8\xd1\xe8" , "\x7b\xcb" } , { "\xd1\xe8\xd1\xe8\xb5\xda" , "\xb7\x93\xe7" } , { "\xd1\xe8\xd1\xe8\xcd\xde" , "\x7b\xc9\xee" } , { "\xd1\xe8\xd1\xe8\xd1" , "\xb7\x7b" } , { "\xd1\xe8\xd1\xe8\xd1\xe5" , "\xe6\xb7\x7b\xe7" } , { "\xd1\xe8\xd5" , "\xb7\x60" } , { "\xd1\xe8\xd5\xda" , "\xb7\x60\xe7" } , { "\xd1\xe8\xd5\xdb" , "\xd7\xb7\x60" } , { "\xd1\xe8\xd5\xe8" , "\xb7\x60\xcb" } , { "\xd1\xe8\xd6" , "\xb7\x62" } , { "\xd1\xe8\xd6\xda" , "\xb7\x62\xe7" } , { "\xd1\xe8\xd6\xdb" , "\xd7\xb7\x62" } , { "\xd1\xe8\xd6\xe5" , "\xe6\xb7\x62\xe7" } , { "\xd1\xe8\xd7" , "\xb7\x61" } , { "\xd1\xe8\xd7\xa2" , "\xb7\x61\x65" } , { "\xd1\xe8\xd7\xda" , "\xb7\x61\xe7" } , { "\xd1\xe8\xd7\xdb" , "\xd7\xb7\x61" } , { "\xd1\xe8\xd7\xdb\xa2" , "\xd7\xb7\x61\x65" } , { "\xd1\xe8\xd7\xdc" , "\xb7\x61\xdd" } , { "\xd1\xe8\xd7\xdd" , "\xb7\x61\xc7" } , { "\xd1\xe8\xd7\xdd\xa2" , "\xb7\x61\xc7\x65" } , { "\xd1\xe8\xd7\xde" , "\xb7\x61\xc9" } , { "\xd1\xe8\xd7\xe1" , "\xe6\xb7\x61" } , { "\xd1\xe8\xd7\xe2" , "\xe9\xb7\x61" } , { "\xd1\xe8\xd7\xe6" , "\xe6\xb7\x61\xec" } , { "\xd1\xe8\xd7\xe8" , "\xb7\x61\xcb" } , { "\xd1\xe8\xd7\xe8\xb3\xda" , "\xb7\x95\xf5\xe7" } , { "\xd1\xe8\xd7\xe8\xb3\xdb" , "\xd7\xb7\x95\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xdc" , "\xb7\x95\xf5\xdd" } , { "\xd1\xe8\xd7\xe8\xb3\xdd" , "\xb7\x95\xc7\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xde" , "\xb7\x95\xc9\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xe1" , "\xe6\xb7\x95\xf5" } , { "\xd1\xe8\xd7\xe8\xb3\xe5" , "\xe6\xb7\x95\xf5\xe7" } , { "\xd1\xe8\xd7\xe8\xb3\xe8" , "\xb7\x95\xcb\xf5" } , { "\xd1\xe8\xd7\xe8\xb5" , "\x5f\xcb\xba\x47" } , { "\xd1\xe8\xd7\xe8\xb5\xda" , "\x5f\xcb\xba\x47\xe7" } , { "\xd1\xe8\xd7\xe8\xb5\xe1" , "\x5f\xcb\xe6\xba\x47" } , { "\xd1\xe8\xd7\xe8\xbd" , "\x5f\xcb\xba\x4f\xf4" } , { "\xd1\xe8\xd7\xe8\xbd\xda" , "\x5f\xcb\xba\x4f\xf4\xe7" } , { "\xd1\xe8\xd7\xe8\xbd\xda\xa2" , "\x5f\xcb\xba\x4f\xf4\xe7\x65" } , { "\xd1\xe8\xd7\xe8\xbd\xe1" , "\x5f\xcb\xe6\xba\x4f\xf4" } , { "\xd1\xe8\xd7\xe8\xbd\xe2" , "\x5f\xcb\xe8\xba\x4f\xf4" } , { "\xd1\xe8\xd7\xe8\xbd\xe5\xa2" , "\x5f\xcb\xe6\xba\x4f\xf4\xe7\x65" } , { "\xd1\xe8\xd7\xe8\xbd\xe8\xcf\xe5" , "\xe6\xba\xb7\xae\xcf\xf4\xe7" } , { "\xd1\xe8\xd7\xe8\xbf\xda" , "\x5f\xcb\xba\x51\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc2\xe5" , "\xe6\xb7\xd8\x99\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc3\xda" , "\xb7\xd8\x9a\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc4\xda" , "\x5f\xcb\xba\x56\xe7" } , { "\xd1\xe8\xd7\xe8\xc5\xda" , "\x5f\xcb\xba\x57\xfd\xe7" } , { "\xd1\xe8\xd7\xe8\xc6\xda" , "\xb7\xd8\x6f\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xc6\xdb" , "\xd7\xb7\xd8\x6f\xf6" } , { "\xd1\xe8\xd7\xe8\xc6\xdc" , "\xb7\xd8\x6f\xf6\xdd" } , { "\xd1\xe8\xd7\xe8\xc6\xdd" , "\xb7\xd8\x6f\xf6\xc7" } , { "\xd1\xe8\xd7\xe8\xc6\xe8" , "\xb7\xd8\x6f\xf6\xcb" } , { "\xd1\xe8\xd7\xe8\xc8" , "\xb7\x26" } , { "\xd1\xe8\xd7\xe8\xc8\xda" , "\xb7\x26\xe7" } , { "\xd1\xe8\xd7\xe8\xc8\xde" , "\xb7\x26\xc9" } , { "\xd1\xe8\xd7\xe8\xc8\xe1" , "\xe6\xb7\x26" } , { "\xd1\xe8\xd7\xe8\xc8\xe5" , "\xe6\xb7\x26\xe7" } , { "\xd1\xe8\xd7\xe8\xc9\xda" , "\xb7\xd8\xf6\x8f\xf5\xe7" } , { "\xd1\xe8\xd7\xe8\xca" , "\xb7\xd8\x91\xf6" } , { "\xd1\xe8\xd7\xe8\xca\xda" , "\xb7\xd8\x91\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xca\xe5" , "\xe6\xb7\xd8\x91\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xcc" , "\xb7\xd8\xf6\x82" } , { "\xd1\xe8\xd7\xe8\xcc\xdc" , "\xb7\xd8\xf6\x82\xdd" } , { "\xd1\xe8\xd7\xe8\xd1\xda" , "\xb7\xd8\xda\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xd1\xdd" , "\xb7\xd8\xda\xf6\xc7" } , { "\xd1\xe8\xd7\xe8\xd1\xe5" , "\xe6\xb7\xd8\xda\xf6\xe7" } , { "\xd1\xe8\xd7\xe8\xd8\xda" , "\x5f\xcb\xba\x63\xf7\xe7" } , { "\xd1\xe8\xd8" , "\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xda" , "\xb7\x63\xf7\xe7" } , { "\xd1\xe8\xd8\xda\xa2" , "\xb7\x63\xf7\xe7\x65" } , { "\xd1\xe8\xd8\xdb" , "\xd7\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xdc" , "\xb7\x63\xf7\xdd" } , { "\xd1\xe8\xd8\xdd" , "\xb7\x63\xc7\xf7" } , { "\xd1\xe8\xd8\xde" , "\xb7\x63\xc9\xf7" } , { "\xd1\xe8\xd8\xe1" , "\xe6\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xe1\xa2" , "\xe6\xb7\x63\xf7\x65" } , { "\xd1\xe8\xd8\xe2" , "\xe9\xb7\x63\xf7" } , { "\xd1\xe8\xd8\xe5" , "\xe6\xb7\x63\xf7\xe7" } , { "\xd1\xe8\xd8\xe5\xa2" , "\xe6\xb7\x63\xf7\xe7\x65" } , { "\xd1\xe8\xd8\xe6" , "\xe6\xb7\x63\xf7\xec" } , { "\xd1\xe8\xd9\xa6" , "\xb7\x2b" } , { "\xd1\xe8\xd9\xcf\xe8\xba" , "\xb7\x4c\xdb" } , { "\xd1\xe8\xd9\xcf\xe8\xbf" , "\xb7\x51\xef\xf6" } , { "\xd1\xe8\xd9\xcf\xe8\xd7" , "\xb7\x61\xef" } , { "\xd1\xe8\xe8" , "\x5f\xcb" } , { "\xd1\xe9" , "\x5f" } , { "\xd1\xe9\xe8\xbf" , "\xb7\x51\xf6" } , { "\xd1\xe9\xe8\xbf\xdb\xa2" , "\xd7\xb7\x51\xf6\x65" } , { "\xd5" , "\x60" } , { "\xd5\xa1" , "\x60\x67" } , { "\xd5\xa2" , "\x60\x65" } , { "\xd5\xa2\xa3" , "\x60\x65\x66" } , { "\xd5\xa3" , "\x60\x66" } , { "\xd5\xda" , "\x60\xe7" } , { "\xd5\xda\xa1" , "\x60\x67\xe7" } , { "\xd5\xda\xa2" , "\x60\xe7\x65" } , { "\xd5\xda\xa3" , "\x60\xe7\x66" } , { "\xd5\xdb" , "\xd7\x60" } , { "\xd5\xdb\xa2" , "\xd7\x60\x65" } , { "\xd5\xdc" , "\x60\xdd" } , { "\xd5\xdc\xa2" , "\x60\xdd\x65" } , { "\xd5\xdc\xa3" , "\x60\xdd\x66" } , { "\xd5\xdd" , "\xa3" } , { "\xd5\xdd\xa2" , "\xa3\x65" } , { "\xd5\xdd\xa3" , "\xa3\x66" } , { "\xd5\xde" , "\x60\xc9" } , { "\xd5\xde\xa2" , "\x60\xc9\x65" } , { "\xd5\xdf" , "\x60\xca" } , { "\xd5\xdf\xa2" , "\x60\xca\x65" } , { "\xd5\xe1" , "\xe6\x60" } , { "\xd5\xe1\xa2" , "\xe6\x60\x65" } , { "\xd5\xe2" , "\xe9\x60" } , { "\xd5\xe2\xa2" , "\xe9\x60\x65" } , { "\xd5\xe5" , "\xe6\x60\xe7" } , { "\xd5\xe5\xa2" , "\xe6\x60\xe7\x65" } , { "\xd5\xe6" , "\xe6\x60\xec" } , { "\xd5\xe6\xa2" , "\xe6\x60\xec\x65" } , { "\xd5\xe8" , "\x60\xcb" } , { "\xd5\xe8\xa2" , "\x60\xcb\x65" } , { "\xd5\xe8\xb3" , "\xb8\x45\xf5" } , { "\xd5\xe8\xb3\xda" , "\xb8\x45\xf5\xe7" } , { "\xd5\xe8\xb3\xdb" , "\xd7\xb8\x45\xf5" } , { "\xd5\xe8\xb3\xdc" , "\xb8\x45\xf5\xdd" } , { "\xd5\xe8\xb3\xdd" , "\xb8\x45\xc7\xf5" } , { "\xd5\xe8\xb3\xde" , "\xb8\x45\xc9\xf5" } , { "\xd5\xe8\xb3\xe1" , "\xe6\xb8\x45\xf5" } , { "\xd5\xe8\xb3\xe1\xa2" , "\xe6\xb8\x45\xf5\x65" } , { "\xd5\xe8\xb3\xe5\xa2" , "\xe6\xb8\x45\xf5\xe7\x65" } , { "\xd5\xe8\xb3\xe8\xc2\xdb" , "\xd7\xb8\x4e\xfe" } , { "\xd5\xe8\xb3\xe8\xd6" , "\xb8\x6c\xf9" } , { "\xd5\xe8\xb3\xe9" , "\xb8\x45\xf5" } , { "\xd5\xe8\xb4\xa2" , "\xb8\x46\x65" } , { "\xd5\xe8\xb4\xda" , "\xb8\x46\xe7" } , { "\xd5\xe8\xb5\xda" , "\xb8\x47\xe7" } , { "\xd5\xe8\xb5\xdd\xa2" , "\xb8\x47\xc7\x65" } , { "\xd5\xe8\xb6\xda" , "\xb8\x48\xe7" } , { "\xd5\xe8\xb8" , "\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xa2" , "\xb8\x4a\xf4\x65" } , { "\xd5\xe8\xb8\xda" , "\xb8\x4a\xf4\xe7" } , { "\xd5\xe8\xb8\xda\xa2" , "\xb8\x4a\xf4\xe7\x65" } , { "\xd5\xe8\xb8\xdb" , "\xd7\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xdb\xa2" , "\xd7\xb8\x4a\xf4\x65" } , { "\xd5\xe8\xb8\xdb\xa2\xa2" , "\xd7\xb8\x4a\xf4\x65\x65" } , { "\xd5\xe8\xb8\xdd" , "\xb8\x4a\xc7\xf4" } , { "\xd5\xe8\xb8\xe1" , "\xe6\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xe2" , "\xe8\xb8\x4a\xf4" } , { "\xd5\xe8\xb8\xe5" , "\xe6\xb8\x4a\xf4\xe7" } , { "\xd5\xe8\xb8\xe8\xb9" , "\x60\xcb\xac\x4b\xf7" } , { "\xd5\xe8\xb8\xe8\xcd" , "\x60\xcb\xac\xcc\x5e" } , { "\xd5\xe8\xb8\xe8\xcd\xda" , "\x60\xcb\xac\xcc\x5e\xe7" } , { "\xd5\xe8\xb9" , "\xb8\x4b\xf7" } , { "\xd5\xe8\xb9\xda" , "\xb8\x4b\xf7\xe7" } , { "\xd5\xe8\xb9\xdb" , "\xd7\xb8\x4b\xf7" } , { "\xd5\xe8\xb9\xe1" , "\xe6\xb8\x4b\xf7" } , { "\xd5\xe8\xbd" , "\xb8\x4f\xf4" } , { "\xd5\xe8\xbd\xa2" , "\xb8\x4f\xf4\x65" } , { "\xd5\xe8\xbd\xdb" , "\xd7\xb8\x4f\xf4" } , { "\xd5\xe8\xbd\xe5" , "\xe6\xb8\x4f\xf4\xe7" } , { "\xd5\xe8\xbd\xe8\xcd" , "\x60\xcb\xae\xcc\x5e" } , { "\xd5\xe8\xbd\xe8\xcd\xda" , "\x60\xcb\xae\xcc\x5e\xe7" } , { "\xd5\xe8\xbd\xe8\xcd\xde" , "\x60\xcb\xae\xcc\x5e\xc9" } , { "\xd5\xe8\xbd\xe8\xcf" , "\xb8\xae\xcf\xf4" } , { "\xd5\xe8\xbd\xe8\xcf\xe1" , "\xe6\xb8\xae\xcf\xf4" } , { "\xd5\xe8\xbf\xe9\xa1" , "\xb8\x51\xcd\x67\xf6" } , { "\xd5\xe8\xc2" , "\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xda" , "\xb8\x54\xf6\xe7" } , { "\xd5\xe8\xc2\xdb" , "\xd7\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xdc" , "\xb8\x54\xf6\xdd" } , { "\xd5\xe8\xc2\xde" , "\xb8\x54\xc9\xf6" } , { "\xd5\xe8\xc2\xe1" , "\xe6\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xe1\xa2" , "\xe6\xb8\x54\xf6\x65" } , { "\xd5\xe8\xc2\xe2" , "\xe9\xb8\x54\xf6" } , { "\xd5\xe8\xc2\xe5" , "\xe6\xb8\x54\xf6\xe7" } , { "\xd5\xe8\xc2\xe5\xa2" , "\xe6\xb8\x54\xf6\xe7\x65" } , { "\xd5\xe8\xc3" , "\xb8\x55" } , { "\xd5\xe8\xc3\xda" , "\xb8\x55\xe7" } , { "\xd5\xe8\xc5" , "\xb8\x57\xfd" } , { "\xd5\xe8\xc5\xda" , "\xb8\x57\xfd\xe7" } , { "\xd5\xe8\xc6" , "\x60\xc2" } , { "\xd5\xe8\xc6\xa2" , "\x60\xc2\x65" } , { "\xd5\xe8\xc6\xda" , "\x60\xc2\xe7" } , { "\xd5\xe8\xc6\xda\xa2" , "\x60\xc2\xe7\x65" } , { "\xd5\xe8\xc6\xdb" , "\xd7\x60\xc2" } , { "\xd5\xe8\xc6\xdb\xa2" , "\xd7\x60\xc2\x65" } , { "\xd5\xe8\xc6\xdd" , "\x60\xc2\xc7" } , { "\xd5\xe8\xc6\xe1" , "\xe6\x60\xc2" } , { "\xd5\xe8\xc6\xe5" , "\xe6\x60\xc2\xe7" } , { "\xd5\xe8\xc6\xe5\xa2" , "\xe6\x60\xc2\xe7\x65" } , { "\xd5\xe8\xc6\xe8" , "\x60\xc2\xcb" } , { "\xd5\xe8\xc8" , "\xb8\x59" } , { "\xd5\xe8\xc8\xda" , "\xb8\x59\xe7" } , { "\xd5\xe8\xc8\xdd" , "\xb8\x59\xc7" } , { "\xd5\xe8\xc8\xde" , "\xb8\x59\xc9" } , { "\xd5\xe8\xc9" , "\xb8\x5a\xf5" } , { "\xd5\xe8\xc9\xdd" , "\xb8\x5a\xc7\xf5" } , { "\xd5\xe8\xca" , "\x60\x9f" } , { "\xd5\xe8\xca\xe1" , "\xe6\x60\x9f" } , { "\xd5\xe8\xcb" , "\xb8\x5c\xf6" } , { "\xd5\xe8\xcc" , "\x60\xbd" } , { "\xd5\xe8\xcc\xa2" , "\x60\xbd\x65" } , { "\xd5\xe8\xcc\xda" , "\x60\xbd\xe7" } , { "\xd5\xe8\xcc\xdb" , "\xd7\x60\xbd" } , { "\xd5\xe8\xcc\xdb\xa2" , "\xd7\x60\xbd\x65" } , { "\xd5\xe8\xcc\xdc" , "\x60\xbd\xdd" } , { "\xd5\xe8\xcc\xdd" , "\x60\xbd\xc6" } , { "\xd5\xe8\xcc\xdf" , "\x60\xbd\xca" } , { "\xd5\xe8\xcc\xe1" , "\xe6\x60\xbd" } , { "\xd5\xe8\xcc\xe1\xa2" , "\xe6\x60\xbd\x65" } , { "\xd5\xe8\xcc\xe5\xa2" , "\xe6\x60\xbd\xe7\x65" } , { "\xd5\xe8\xcd" , "\x60\xee" } , { "\xd5\xe8\xcd\xa2" , "\x60\xee\x65" } , { "\xd5\xe8\xcd\xda" , "\x60\xee\xe7" } , { "\xd5\xe8\xcd\xda\xa2" , "\x60\xee\xe7\x65" } , { "\xd5\xe8\xcd\xdb" , "\xd7\x60\xee" } , { "\xd5\xe8\xcd\xdc" , "\x60\xee\xdd" } , { "\xd5\xe8\xcd\xdd" , "\x60\xc7\xee" } , { "\xd5\xe8\xcd\xdd\xa2" , "\x60\xc7\xee\x65" } , { "\xd5\xe8\xcd\xde" , "\x60\xc9\xee" } , { "\xd5\xe8\xcd\xdf" , "\x60\xca\xee" } , { "\xd5\xe8\xcd\xe1" , "\xe6\x60\xee" } , { "\xd5\xe8\xcd\xe2" , "\xe9\x60\xee" } , { "\xd5\xe8\xcd\xe5" , "\xe6\x60\xee\xe7" } , { "\xd5\xe8\xcd\xe5\xa2" , "\xe6\x60\xee\xe7\x65" } , { "\xd5\xe8\xcd\xe6" , "\xe6\x60\xee\xec" } , { "\xd5\xe8\xcd\xe8" , "\x60\xee\xcb" } , { "\xd5\xe8\xcd\xe8\xb8" , "\xb8\x5e\xcb\xbb\x4a\xf4" } , { "\xd5\xe8\xcd\xe8\xcd\xda" , "\x60\xee\xee\xe7" } , { "\xd5\xe8\xcd\xe8\xd5\xe8\xcd" , "\xb8\x5e\xcb\x60\xee" } , { "\xd5\xe8\xcf" , "\x60\xd2" } , { "\xd5\xe8\xcf\xa2" , "\x60\xd2\x65" } , { "\xd5\xe8\xcf\xda" , "\x60\xd2\xe7" } , { "\xd5\xe8\xcf\xda\xa2" , "\x60\xd2\xe7\x65" } , { "\xd5\xe8\xcf\xdb" , "\xd7\x60\xd2" } , { "\xd5\xe8\xcf\xdb\xa2" , "\xd7\x60\xd2\x65" } , { "\xd5\xe8\xcf\xdc" , "\x60\xd2\xdd" } , { "\xd5\xe8\xcf\xdc\xa2" , "\x60\xd2\xdd\x65" } , { "\xd5\xe8\xcf\xdd" , "\x60\xd2\xd3" } , { "\xd5\xe8\xcf\xde" , "\x60\xd2\xd6" } , { "\xd5\xe8\xcf\xdf" , "\x60\xd2\xca" } , { "\xd5\xe8\xcf\xdf\xa2" , "\x60\xd2\xca\x65" } , { "\xd5\xe8\xcf\xe1" , "\xe6\x60\xd2" } , { "\xd5\xe8\xcf\xe1\xa2" , "\xe6\x60\xd2\x65" } , { "\xd5\xe8\xcf\xe2" , "\xe8\x60\xd2" } , { "\xd5\xe8\xcf\xe5" , "\xe6\x60\xd2\xe7" } , { "\xd5\xe8\xcf\xe6" , "\xe6\x60\xd2\xec" } , { "\xd5\xe8\xcf\xe8\xa2" , "\x60\xd2\xcb\x65" } , { "\xd5\xe8\xcf\xe8\xcc" , "\xb8\xcc\x5b\xfd\xbd" } , { "\xd5\xe8\xcf\xe8\xd5" , "\x60\xcb\xcc\x5b\xfd\xcb\x60" } , { "\xd5\xe8\xd1" , "\x60\xc0" } , { "\xd5\xe8\xd1\xda" , "\x60\xc0\xe7" } , { "\xd5\xe8\xd1\xda\xa2" , "\x60\xc0\xe7\x65" } , { "\xd5\xe8\xd1\xdb" , "\xd7\x60\xc0" } , { "\xd5\xe8\xd1\xdc" , "\x60\xc0\xdd" } , { "\xd5\xe8\xd1\xdd" , "\x60\xc0\xc7" } , { "\xd5\xe8\xd1\xe1" , "\xe6\x60\xc0" } , { "\xd5\xe8\xd1\xe2" , "\xe8\x60\xc0" } , { "\xd5\xe8\xd1\xe5" , "\xe6\x60\xc0\xe7" } , { "\xd5\xe8\xd1\xe5\xa2" , "\xe6\x60\xc0\xe7\x65" } , { "\xd5\xe8\xd5" , "\xb8\x60" } , { "\xd5\xe8\xd5\xa2" , "\xb8\x60\x65" } , { "\xd5\xe8\xd5\xda" , "\xb8\x60\xe7" } , { "\xd5\xe8\xd5\xda\xa2" , "\xb8\x60\xe7\x65" } , { "\xd5\xe8\xd5\xdb" , "\xd7\xb8\x60" } , { "\xd5\xe8\xd5\xdc" , "\xb8\x60\xdd" } , { "\xd5\xe8\xd5\xdd" , "\xb8\x60\xc7" } , { "\xd5\xe8\xd5\xde" , "\xb8\x60\xc9" } , { "\xd5\xe8\xd5\xdf\xa2" , "\xb8\x60\xca\x65" } , { "\xd5\xe8\xd5\xe1" , "\xe6\xb8\x60" } , { "\xd5\xe8\xd5\xe2" , "\xe9\xb8\x60" } , { "\xd5\xe8\xd5\xe5" , "\xe6\xb8\x60\xe7" } , { "\xd5\xe8\xd5\xe8\xcf\xdc" , "\xb8\x60\xd2\xdd" } , { "\xd5\xe8\xd5\xe8\xcf\xdd" , "\xb8\x60\xd2\xd3" } , { "\xd5\xe8\xd5\xe8\xcf\xe1" , "\xe6\xb8\x60\xd2" } , { "\xd5\xe8\xd6\xe1" , "\xe6\xb8\x62" } , { "\xd5\xe8\xd6\xe8\xbe" , "\xb8\x9c\xf6" } , { "\xd5\xe8\xd7" , "\xb8\x61" } , { "\xd5\xe8\xd7\xe8\xc2" , "\xb8\xd8\x99\xf6" } , { "\xd5\xe8\xd7\xe8\xc2\xdb" , "\xd7\xb8\xd8\x99\xf6" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xa2" , "\xb8\xd8\x97\xf6\x65" } , { "\xd5\xe8\xd7\xe8\xc2\xe8\xcf\xda" , "\xb8\xd8\x97\xf6\xe7" } , { "\xd5\xe8\xd8\xdc" , "\xb8\x63\xf7\xdd" } , { "\xd5\xe8\xd9" , "\xb8" } , { "\xd5\xe8\xd9\xa6" , "\xb8\x2b" } , { "\xd5\xe8\xd9\xb3" , "\xb8\x45\xf5" } , { "\xd5\xe8\xd9\xb8" , "\xb8\xbb\x4a\xf4" } , { "\xd5\xe8\xd9\xb8\xda" , "\xb8\xbb\x4a\xf4\xe7" } , { "\xd5\xe8\xd9\xb8\xdb" , "\xb8\xd7\xbb\x4a\xf4" } , { "\xd5\xe8\xd9\xc2" , "\xb8\x54\xf6" } , { "\xd5\xe8\xd9\xc2\xdc" , "\xb8\x54\xf6\xdd" } , { "\xd5\xe8\xd9\xc2\xe5\xa2" , "\xb8\xe3\x54\xf6\xe7\x65" } , { "\xd5\xe8\xd9\xc6" , "\xb8\x58" } , { "\xd5\xe8\xd9\xc6\xe5" , "\xb8\xe3\x58\xe7" } , { "\xd5\xe8\xd9\xcc" , "\xb8\x5d" } , { "\xd5\xe8\xd9\xcc\xdc" , "\xb8\x5d\xdd" } , { "\xd5\xe8\xd9\xcd" , "\xb8\xcc\x5e" } , { "\xd5\xe8\xd9\xcd\xa2" , "\xb8\xcc\x5e\x65" } , { "\xd5\xe8\xd9\xd1\xe1" , "\xb8\xe3\x5f" } , { "\xd5\xe8\xd9\xd1\xe2" , "\xb8\xea\x5f" } , { "\xd5\xe8\xe8" , "\x60\xcb" } , { "\xd5\xe8\xe9\xcf" , "\x60\xd2" } , { "\xd5\xe9" , "\x60" } , { "\xd6" , "\x62" } , { "\xd6\xa1" , "\x62\x67" } , { "\xd6\xa2" , "\x62\x65" } , { "\xd6\xa3" , "\x62\x66" } , { "\xd6\xd6" , "\x62\x62" } , { "\xd6\xda" , "\x62\xe7" } , { "\xd6\xda\xa2" , "\x62\xe7\x65" } , { "\xd6\xda\xa3" , "\x62\xe7\x66" } , { "\xd6\xdb" , "\xd7\x62" } , { "\xd6\xdb\xa2" , "\xd7\x62\x65" } , { "\xd6\xdb\xa3" , "\xd7\x62\x66" } , { "\xd6\xdb\xcc\xe8" , "\xd7\x62\x5d\xcb" } , { "\xd6\xdc" , "\x62\xdd" } , { "\xd6\xdc\xa2" , "\x62\xdd\x65" } , { "\xd6\xdc\xa3" , "\x62\xdd\x66" } , { "\xd6\xdd" , "\x62\xc7" } , { "\xd6\xdd\xa2" , "\x62\xc7\x65" } , { "\xd6\xde" , "\x62\xc9" } , { "\xd6\xdf" , "\x62\xca" } , { "\xd6\xe1" , "\xe6\x62" } , { "\xd6\xe1\xa2" , "\xe6\x62\x65" } , { "\xd6\xe2" , "\xe9\x62" } , { "\xd6\xe5" , "\xe6\x62\xe7" } , { "\xd6\xe5\xa2" , "\xe6\x62\xe7\x65" } , { "\xd6\xe6" , "\xe6\x62\xec" } , { "\xd6\xe8" , "\x62\xcb" } , { "\xd6\xe8\xb3" , "\x9b\xf5" } , { "\xd6\xe8\xb3\xa2" , "\x9b\xf5\x65" } , { "\xd6\xe8\xb3\xda" , "\x9b\xf5\xe7" } , { "\xd6\xe8\xb3\xda\xa2" , "\x9b\xf5\xe7\x65" } , { "\xd6\xe8\xb3\xdb" , "\xd7\x9b\xf5" } , { "\xd6\xe8\xb3\xdb\xa2" , "\xd7\x9b\xf5\x65" } , { "\xd6\xe8\xb3\xdc" , "\x9b\xf5\xdd" } , { "\xd6\xe8\xb3\xdd" , "\x9b\xc7\xf5" } , { "\xd6\xe8\xb3\xde" , "\x9b\xc9\xf5" } , { "\xd6\xe8\xb3\xdf" , "\x9b\xca\xf5" } , { "\xd6\xe8\xb3\xe5" , "\xe6\x9b\xf5\xe7" } , { "\xd6\xe8\xb3\xe5\xa2" , "\xe6\x9b\xf5\xe7\x65" } , { "\xd6\xe8\xb3\xe8" , "\x9b\xcb\xf5" } , { "\xd6\xe8\xb3\xe8\xc2" , "\xb9\x4e\xfe" } , { "\xd6\xe8\xb3\xe8\xcd\xde" , "\x62\xcb\xa8\xcc\x5e\xc9" } , { "\xd6\xe8\xb3\xe8\xcf" , "\x9b\x98\xf5" } , { "\xd6\xe8\xb3\xe8\xcf\xda" , "\x9b\x98\xf5\xe7" } , { "\xd6\xe8\xb3\xe8\xcf\xdb" , "\xd7\x9b\x98\xf5" } , { "\xd6\xe8\xb3\xe8\xd6" , "\xb9\x6c\xf9" } , { "\xd6\xe8\xb4\xda" , "\xb9\x46\xe7" } , { "\xd6\xe8\xb5\xda" , "\xb9\x47\xe7" } , { "\xd6\xe8\xb5\xdd" , "\xb9\x47\xc7" } , { "\xd6\xe8\xb8" , "\xb9\x4a\xf4" } , { "\xd6\xe8\xb8\xa2" , "\xb9\x4a\xf4\x65" } , { "\xd6\xe8\xb8\xda" , "\xb9\x4a\xf4\xe7" } , { "\xd6\xe8\xb8\xdb" , "\xd7\xb9\x4a\xf4" } , { "\xd6\xe8\xb8\xdb\xa2" , "\xd7\xb9\x4a\xf4\x65" } , { "\xd6\xe8\xb8\xe1" , "\xe6\xb9\x4a\xf4" } , { "\xd6\xe8\xb8\xe8" , "\xb9\x4a\xcb\xf4" } , { "\xd6\xe8\xba" , "\xb9\x4c" } , { "\xd6\xe8\xba\xda" , "\xb9\x4c\xe7" } , { "\xd6\xe8\xba\xe5" , "\xe6\xb9\x4c\xe7" } , { "\xd6\xe8\xbd" , "\x72\xf4" } , { "\xd6\xe8\xbd\xa2" , "\x72\xf4\x65" } , { "\xd6\xe8\xbd\xa3" , "\x72\xf4\x66" } , { "\xd6\xe8\xbd\xda" , "\x72\xf4\xe7" } , { "\xd6\xe8\xbd\xda\xa1" , "\x72\x67\xf4\xe7" } , { "\xd6\xe8\xbd\xda\xa2" , "\x72\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xdb" , "\xd7\x72\xf4" } , { "\xd6\xe8\xbd\xdb\xa2" , "\xd7\x72\xf4\x65" } , { "\xd6\xe8\xbd\xdb\xa3" , "\xd7\x72\xf4\x66" } , { "\xd6\xe8\xbd\xdc" , "\x72\xf4\xdd" } , { "\xd6\xe8\xbd\xdd" , "\x72\xc7\xf4" } , { "\xd6\xe8\xbd\xdd\xa2" , "\x72\xc7\xf4\x65" } , { "\xd6\xe8\xbd\xde" , "\x72\xc9\xf4" } , { "\xd6\xe8\xbd\xdf" , "\x72\xca\xf4" } , { "\xd6\xe8\xbd\xe1" , "\xe6\x72\xf4" } , { "\xd6\xe8\xbd\xe2" , "\xe8\x72\xf4" } , { "\xd6\xe8\xbd\xe5" , "\xe6\x72\xf4\xe7" } , { "\xd6\xe8\xbd\xe5\xa2" , "\xe6\x72\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xe6" , "\xe6\x72\xf4\xec" } , { "\xd6\xe8\xbd\xe8" , "\x72\xcb\xf4" } , { "\xd6\xe8\xbd\xe8\xb3\xe6\xa2" , "\x62\xcb\xe6\xae\x45\xf5\xec\x65" } , { "\xd6\xe8\xbd\xe8\xc1\xe5" , "\x62\xcb\xe6\xae\x53\xe7" } , { "\xd6\xe8\xbd\xe8\xc4\xe5" , "\x62\xcb\xe6\xae\x56\xe7" } , { "\xd6\xe8\xbd\xe8\xc8" , "\x62\xcb\xae\x59" } , { "\xd6\xe8\xbd\xe8\xcd" , "\x62\xcb\xae\xcc\x5e" } , { "\xd6\xe8\xbd\xe8\xcd\xa2" , "\x62\xcb\xae\xcc\x5e\x65" } , { "\xd6\xe8\xbd\xe8\xcd\xda" , "\x62\xcb\xae\xcc\x5e\xe7" } , { "\xd6\xe8\xbd\xe8\xcd\xda\xa2" , "\x62\xcb\xae\xcc\x5e\xe7\x65" } , { "\xd6\xe8\xbd\xe8\xcf" , "\x72\xd1\xf4" } , { "\xd6\xe8\xbd\xe8\xcf\xa2" , "\x72\xd1\xf4\x65" } , { "\xd6\xe8\xbd\xe8\xcf\xda" , "\x72\xd1\xf4\xe7" } , { "\xd6\xe8\xbd\xe8\xcf\xda\xa2" , "\x72\xd1\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xe8\xcf\xdb" , "\xd7\x72\xd1\xf4" } , { "\xd6\xe8\xbd\xe8\xcf\xdc" , "\x72\xd1\xf4\xdd" } , { "\xd6\xe8\xbd\xe8\xcf\xdd" , "\x72\xd1\xf4\xc6" } , { "\xd6\xe8\xbd\xe8\xcf\xe1" , "\xe6\x72\xd1\xf4" } , { "\xd6\xe8\xbd\xe8\xcf\xe5" , "\xe6\x72\xd1\xf4\xe7" } , { "\xd6\xe8\xbd\xe8\xcf\xe5\xa2" , "\xe6\x72\xd1\xf4\xe7\x65" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xcd\xda\xa3" , "\xb9\x4f\xcb\xf4\xcc\x5b\xfd\xcb\xcc\x5e\xe7\x66" } , { "\xd6\xe8\xbd\xe8\xcf\xe8\xd1\xe5" , "\xe6\xae\xb9\xcc\x5b\xfd\xc0\xe7" } , { "\xd6\xe8\xbd\xe8\xd1\xda" , "\xb9\xae\xf2\xf4\xe7" } , { "\xd6\xe8\xbe" , "\x9c\xf6" } , { "\xd6\xe8\xbe\xa2" , "\x9c\xf6\x65" } , { "\xd6\xe8\xbe\xa3" , "\x9c\xf6\x66" } , { "\xd6\xe8\xbe\xda" , "\x9c\xf6\xe7" } , { "\xd6\xe8\xbe\xda\xa2" , "\x9c\xf6\xe7\x65" } , { "\xd6\xe8\xbe\xda\xa3" , "\x9c\xf6\xe7\x66" } , { "\xd6\xe8\xbe\xdb" , "\xd7\x9c\xf6" } , { "\xd6\xe8\xbe\xdb\xa2" , "\xd7\x9c\xf6\x65" } , { "\xd6\xe8\xbe\xdc" , "\x9c\xf6\xdd" } , { "\xd6\xe8\xbe\xdd" , "\x9c\xc7\xf6" } , { "\xd6\xe8\xbe\xde" , "\x9c\xc9\xf6" } , { "\xd6\xe8\xbe\xe1" , "\xe6\x9c\xf6" } , { "\xd6\xe8\xbe\xe5" , "\xe6\x9c\xf6\xe7" } , { "\xd6\xe8\xbe\xe5\xa2" , "\xe6\x9c\xf6\xe7\x65" } , { "\xd6\xe8\xbe\xe8\xc2\xde" , "\x62\xcb\x50\xcb\xf6\x54\xc9\xf6" } , { "\xd6\xe8\xbe\xe8\xcd" , "\x62\xcb\x50\xcb\xf6\xcc\x5e" } , { "\xd6\xe8\xbe\xe8\xcd\xa2" , "\x62\xcb\x50\xcb\xf6\xcc\x5e\x65" } , { "\xd6\xe8\xbe\xe8\xcd\xda" , "\x62\xcb\x50\xcb\xf6\xcc\x5e\xe7" } , { "\xd6\xe8\xbe\xe8\xcd\xdc" , "\x62\xcb\x50\xcb\xf6\xcc\x5e\xdd" } , { "\xd6\xe8\xbe\xe8\xcd\xe1" , "\x62\xcb\x50\xcb\xf6\xe6\xcc\x5e" } , { "\xd6\xe8\xbe\xe8\xcf\xdc" , "\x9c\xce\xf6\xdd" } , { "\xd6\xe8\xbf\xdb\xa3" , "\xd7\xb9\x51\xf6\x66" } , { "\xd6\xe8\xbf\xe8" , "\xb9\x51\xcb\xf6" } , { "\xd6\xe8\xbf\xe8\xcd\xde" , "\x62\xcb\xaf\xcc\x5e\xc9" } , { "\xd6\xe8\xc1" , "\x62\xd5" } , { "\xd6\xe8\xc1\xa1" , "\x62\x67\xd5" } , { "\xd6\xe8\xc1\xa2" , "\x62\xd5\x65" } , { "\xd6\xe8\xc1\xda" , "\x62\xd5\xe7" } , { "\xd6\xe8\xc1\xda\xa2" , "\x62\xd5\xe7\x65" } , { "\xd6\xe8\xc1\xdb" , "\xd7\x62\xd5" } , { "\xd6\xe8\xc1\xdc" , "\x62\xd5\xdd" } , { "\xd6\xe8\xc1\xdd" , "\x62\xc7\xd5" } , { "\xd6\xe8\xc1\xdd\xa2" , "\x62\xc7\xd5\x65" } , { "\xd6\xe8\xc1\xdd\xa3" , "\x62\xc7\xd5\x66" } , { "\xd6\xe8\xc1\xde" , "\x62\xc9\xd5" } , { "\xd6\xe8\xc1\xe1" , "\xe6\x62\xd5" } , { "\xd6\xe8\xc1\xe5" , "\xe6\x62\xd5\xe7" } , { "\xd6\xe8\xc1\xe5\xa2" , "\xe6\x62\xd5\xe7\x65" } , { "\xd6\xe8\xc1\xe5\xa3" , "\xe6\x62\xd5\xe7\x66" } , { "\xd6\xe8\xc1\xe8\xcd" , "\x62\xcb\xb0\xcc\x5e" } , { "\xd6\xe8\xc1\xe8\xcd\xda" , "\x62\xcb\xb0\xcc\x5e\xe7" } , { "\xd6\xe8\xc2" , "\xb9\x54\xf6" } , { "\xd6\xe8\xc2\xda" , "\xb9\x54\xf6\xe7" } , { "\xd6\xe8\xc2\xdb" , "\xd7\xb9\x54\xf6" } , { "\xd6\xe8\xc2\xdc" , "\xb9\x54\xf6\xdd" } , { "\xd6\xe8\xc2\xe5" , "\xe6\xb9\x54\xf6\xe7" } , { "\xd6\xe8\xc2\xe8\xcf" , "\xb9\x79" } , { "\xd6\xe8\xc4" , "\xb9\x56" } , { "\xd6\xe8\xc4\xe1" , "\xe6\xb9\x56" } , { "\xd6\xe8\xc6" , "\x62\xc2" } , { "\xd6\xe8\xc6\xda" , "\x62\xc2\xe7" } , { "\xd6\xe8\xc6\xdb" , "\xd7\x62\xc2" } , { "\xd6\xe8\xc6\xdd" , "\x62\xc2\xc7" } , { "\xd6\xe8\xc6\xdd\xa2" , "\x62\xc2\xc7\x65" } , { "\xd6\xe8\xc6\xde" , "\x62\xc2\xc9" } , { "\xd6\xe8\xc6\xe8\xc6\xdd" , "\xb9\x7e\xc7" } , { "\xd6\xe8\xc6\xe8\xd7\xe8" , "\x62\xcb\xb3\x61\xcb" } , { "\xd6\xe8\xc6\xe8\xd7\xe8\xd1\xe8\xd1\xe5" , "\x62\xcb\xe4\xba\xb3\x7b\xe7" } , { "\xd6\xe8\xc8" , "\xb9\x59" } , { "\xd6\xe8\xc8\xa2" , "\xb9\x59\x65" } , { "\xd6\xe8\xc8\xda" , "\xb9\x59\xe7" } , { "\xd6\xe8\xc8\xda\xa2" , "\xb9\x59\xe7\x65" } , { "\xd6\xe8\xc8\xdb" , "\xd7\xb9\x59" } , { "\xd6\xe8\xc8\xdb\xa2" , "\xd7\xb9\x59\x65" } , { "\xd6\xe8\xc8\xdc" , "\xb9\x59\xdd" } , { "\xd6\xe8\xc8\xdd" , "\xb9\x59\xc7" } , { "\xd6\xe8\xc8\xe1" , "\xe6\xb9\x59" } , { "\xd6\xe8\xc8\xe2" , "\xe9\xb9\x59" } , { "\xd6\xe8\xc8\xe2\xa3" , "\xe9\xb9\x59\x66" } , { "\xd6\xe8\xc8\xe5" , "\xe6\xb9\x59\xe7" } , { "\xd6\xe8\xc8\xe5\xa2" , "\xe6\xb9\x59\xe7\x65" } , { "\xd6\xe8\xc8\xe6" , "\xe6\xb9\x59\xec" } , { "\xd6\xe8\xc8\xe8\xcf" , "\xb9\x59\xd2" } , { "\xd6\xe8\xc8\xe8\xcf\xda" , "\xb9\x59\xd2\xe7" } , { "\xd6\xe8\xc8\xe8\xcf\xe1" , "\xe6\xb9\x59\xd2" } , { "\xd6\xe8\xc9" , "\xb9\x8f\xf5" } , { "\xd6\xe8\xca" , "\x62\x9d" } , { "\xd6\xe8\xca\xda" , "\x62\x9d\xe7" } , { "\xd6\xe8\xca\xe1" , "\xe6\x62\x9d" } , { "\xd6\xe8\xca\xe8\xcf\xde" , "\xb9\x5b\xfd\xd0\xd6" } , { "\xd6\xe8\xcb\xda" , "\xb9\x5c\xf6\xe7" } , { "\xd6\xe8\xcc" , "\xb9\x82" } , { "\xd6\xe8\xcc\xa2" , "\xb9\x82\x65" } , { "\xd6\xe8\xcc\xda" , "\xb9\x82\xe7" } , { "\xd6\xe8\xcc\xda\xa2" , "\xb9\x82\xe7\x65" } , { "\xd6\xe8\xcc\xdb" , "\xd7\xb9\x82" } , { "\xd6\xe8\xcc\xdb\xa2" , "\xd7\xb9\x82\x65" } , { "\xd6\xe8\xcc\xdc" , "\xb9\x82\xdd" } , { "\xd6\xe8\xcc\xdd" , "\xb9\x82\xc7" } , { "\xd6\xe8\xcc\xdd\xa2" , "\xb9\x82\xc7\x65" } , { "\xd6\xe8\xcc\xe1" , "\xe6\xb9\x82" } , { "\xd6\xe8\xcc\xe5" , "\xe6\xb9\x82\xe7" } , { "\xd6\xe8\xcc\xe5\xa2" , "\xe6\xb9\x82\xe7\x65" } , { "\xd6\xe8\xcd" , "\x62\xee" } , { "\xd6\xe8\xcd\xa2" , "\x62\xee\x65" } , { "\xd6\xe8\xcd\xa3" , "\x62\xee\x66" } , { "\xd6\xe8\xcd\xda" , "\x62\xee\xe7" } , { "\xd6\xe8\xcd\xdb" , "\xd7\x62\xee" } , { "\xd6\xe8\xcd\xdd" , "\x62\xc7\xee" } , { "\xd6\xe8\xcd\xdd\xa2" , "\x62\xc7\xee\x65" } , { "\xd6\xe8\xcd\xde" , "\x62\xc9\xee" } , { "\xd6\xe8\xcd\xdf" , "\x62\xca\xee" } , { "\xd6\xe8\xcd\xe1" , "\xe6\x62\xee" } , { "\xd6\xe8\xcd\xe2" , "\xe9\x62\xee" } , { "\xd6\xe8\xcd\xe5" , "\xe6\x62\xee\xe7" } , { "\xd6\xe8\xcd\xe5\xa2" , "\xe6\x62\xee\xe7\x65" } , { "\xd6\xe8\xcd\xe6" , "\xe6\x62\xee\xec" } , { "\xd6\xe8\xcd\xe8" , "\x62\xee\xcb" } , { "\xd6\xe8\xcd\xe8\xbd\xda" , "\xb9\x5e\xcb\xbb\x4f\xf4\xe7" } , { "\xd6\xe8\xcd\xe8\xcd\xda" , "\x62\xee\xee\xe7" } , { "\xd6\xe8\xcd\xe8\xcf" , "\xb9\x5e\xd2" } , { "\xd6\xe8\xcd\xe8\xcf\xda" , "\xb9\x5e\xd2\xe7" } , { "\xd6\xe8\xcf" , "\x62\xd0" } , { "\xd6\xe8\xcf\xa2" , "\x62\xd0\x65" } , { "\xd6\xe8\xcf\xda" , "\x62\xd0\xe7" } , { "\xd6\xe8\xcf\xdc" , "\x62\xd0\xdd" } , { "\xd6\xe8\xcf\xdd" , "\x62\xd0\xc7" } , { "\xd6\xe8\xcf\xde" , "\x62\xd0\xc9" } , { "\xd6\xe8\xcf\xdf" , "\x62\xd0\xca" } , { "\xd6\xe8\xcf\xe2" , "\xe8\x62\xd0" } , { "\xd6\xe8\xcf\xe5" , "\xe6\x62\xd0\xe7" } , { "\xd6\xe8\xcf\xe8" , "\x62\xd0\xcb" } , { "\xd6\xe8\xcf\xe8\xb3" , "\x62\xcb\xcc\x5b\xfd\xcb\x45\xf5" } , { "\xd6\xe8\xcf\xe8\xcd\xda" , "\x62\xcb\xcc\x5b\xfd\xcb\xcc\x5e\xe7" } , { "\xd6\xe8\xd1" , "\x62\xc0" } , { "\xd6\xe8\xd1\xda" , "\x62\xc0\xe7" } , { "\xd6\xe8\xd1\xda\xa2" , "\x62\xc0\xe7\x65" } , { "\xd6\xe8\xd1\xdc" , "\x62\xc0\xdd" } , { "\xd6\xe8\xd1\xdd" , "\x62\xc0\xc7" } , { "\xd6\xe8\xd1\xde" , "\x62\xc0\xc9" } , { "\xd6\xe8\xd1\xe1" , "\xe6\x62\xc0" } , { "\xd6\xe8\xd1\xe2" , "\xe8\x62\xc0" } , { "\xd6\xe8\xd1\xe5" , "\xe6\x62\xc0\xe7" } , { "\xd6\xe8\xd5" , "\xb9\x60" } , { "\xd6\xe8\xd5\xda" , "\xb9\x60\xe7" } , { "\xd6\xe8\xd6" , "\xb9\x62" } , { "\xd6\xe8\xd6\xda" , "\xb9\x62\xe7" } , { "\xd6\xe8\xd6\xdb" , "\xd7\xb9\x62" } , { "\xd6\xe8\xd6\xdd" , "\xb9\x62\xc7" } , { "\xd6\xe8\xd6\xde" , "\xb9\x62\xc9" } , { "\xd6\xe8\xd6\xe8\xc1\xdd" , "\xb9\x62\xc7\xd5" } , { "\xd6\xe8\xd7\xe2" , "\xe9\xb9\x61" } , { "\xd6\xe8\xd9\xcf\xe8\xcd\xda" , "\xb9\xcc\x5e\xef\xe7" } , { "\xd6\xe8\xe8" , "\x62\xcb" } , { "\xd7" , "\x61" } , { "\xd7\xa1" , "\x61\x67" } , { "\xd7\xa2" , "\x61\x65" } , { "\xd7\xa3" , "\x61\x66" } , { "\xd7\xda" , "\x61\xe7" } , { "\xd7\xda\xa1" , "\x61\x67\xe7" } , { "\xd7\xda\xa2" , "\x61\xe7\x65" } , { "\xd7\xda\xa3" , "\x61\xe7\x66" } , { "\xd7\xdb" , "\xd7\x61" } , { "\xd7\xdb\xa2" , "\xd7\x61\x65" } , { "\xd7\xdb\xa2\xa2" , "\xd7\x61\x65\x65" } , { "\xd7\xdb\xa2\xa3" , "\xd7\x61\x65\x66" } , { "\xd7\xdb\xbd\xe8" , "\xd7\x61\xbb\x4f\xcb\xf4" } , { "\xd7\xdc" , "\x61\xdd" } , { "\xd7\xdc\xa2" , "\x61\xdd\x65" } , { "\xd7\xdd" , "\x61\xc7" } , { "\xd7\xdd\xa1" , "\x61\x67\xc7" } , { "\xd7\xdd\xa2" , "\x61\xc7\x65" } , { "\xd7\xdd\xa3" , "\x61\xc7\x66" } , { "\xd7\xde" , "\x61\xc9" } , { "\xd7\xde\xa1" , "\x61\x67\xc9" } , { "\xd7\xde\xa2" , "\x61\xc9\x65" } , { "\xd7\xdf" , "\x61\xca" } , { "\xd7\xdf\xa2" , "\x61\xca\x65" } , { "\xd7\xe1" , "\xe6\x61" } , { "\xd7\xe1\xa2" , "\xe6\x61\x65" } , { "\xd7\xe2" , "\xe9\x61" } , { "\xd7\xe2\xa2" , "\xe9\x61\x65" } , { "\xd7\xe5" , "\xe6\x61\xe7" } , { "\xd7\xe5\xa2" , "\xe6\x61\xe7\x65" } , { "\xd7\xe6" , "\xe6\x61\xec" } , { "\xd7\xe6\xa2" , "\xe6\x61\xec\x65" } , { "\xd7\xe6\xc2\xe8" , "\xe6\x61\xec\x64" } , { "\xd7\xe8" , "\x61\xcb" } , { "\xd7\xe8\xb3" , "\x95\xf5" } , { "\xd7\xe8\xb3\xa2" , "\x95\xf5\x65" } , { "\xd7\xe8\xb3\xda" , "\x95\xf5\xe7" } , { "\xd7\xe8\xb3\xda\xa1" , "\x95\x67\xf5\xe7" } , { "\xd7\xe8\xb3\xda\xa2" , "\x95\xf5\xe7\x65" } , { "\xd7\xe8\xb3\xdb" , "\xd7\x95\xf5" } , { "\xd7\xe8\xb3\xdc" , "\x95\xf5\xdd" } , { "\xd7\xe8\xb3\xdc\xa2" , "\x95\xf5\xdd\x65" } , { "\xd7\xe8\xb3\xdd" , "\x95\xc7\xf5" } , { "\xd7\xe8\xb3\xde" , "\x95\xc9\xf5" } , { "\xd7\xe8\xb3\xdf" , "\x95\xca\xf5" } , { "\xd7\xe8\xb3\xe1" , "\xe6\x95\xf5" } , { "\xd7\xe8\xb3\xe1\xa2" , "\xe6\x95\xf5\x65" } , { "\xd7\xe8\xb3\xe2" , "\xe9\x95\xf5" } , { "\xd7\xe8\xb3\xe2\xa2" , "\xe9\x95\xf5\x65" } , { "\xd7\xe8\xb3\xe5" , "\xe6\x95\xf5\xe7" } , { "\xd7\xe8\xb3\xe5\xa2" , "\xe6\x95\xf5\xe7\x65" } , { "\xd7\xe8\xb3\xe6" , "\xe6\x95\xf5\xec" } , { "\xd7\xe8\xb3\xe6\xa2" , "\xe6\x95\xf5\xec\x65" } , { "\xd7\xe8\xb3\xe8" , "\x95\xcb\xf5" } , { "\xd7\xe8\xb3\xe8\xb3\xdb" , "\xd7\xba\x68\xf5" } , { "\xd7\xe8\xb3\xe8\xb3\xdd" , "\xba\x68\xc7\xf5" } , { "\xd7\xe8\xb3\xe8\xb8\xe1" , "\x61\xcb\xe6\xa8\x4a\xf4" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xb3\xdc" , "\xba\x45\xcb\xf5\xae\x45\xf5\xdd" } , { "\xd7\xe8\xb3\xe8\xbd\xe8\xc6\xdd" , "\xa8\xba\xae\xf3\xc7\xf4" } , { "\xd7\xe8\xb3\xe8\xc2" , "\xba\x4e\xfe" } , { "\xd7\xe8\xb3\xe8\xc2\xdb" , "\xd7\xba\x4e\xfe" } , { "\xd7\xe8\xb3\xe8\xc2\xdd" , "\xba\x4e\xc7\xfe" } , { "\xd7\xe8\xb3\xe8\xc6\xdb" , "\xd7\xba\x45\xc2\xf5" } , { "\xd7\xe8\xb3\xe8\xc6\xdd" , "\xba\x45\xc2\xc7\xf5" } , { "\xd7\xe8\xb3\xe8\xc8\xda" , "\x61\xcb\xa8\x59\xe7" } , { "\xd7\xe8\xb3\xe8\xcc\xdb" , "\xd7\xba\xa8\xbf" } , { "\xd7\xe8\xb3\xe8\xcd\xdd" , "\x61\xcb\xa8\xcc\x5e\xc7" } , { "\xd7\xe8\xb3\xe8\xcd\xde" , "\x61\xcb\xa8\xcc\x5e\xc9" } , { "\xd7\xe8\xb3\xe8\xcf" , "\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xda" , "\x95\x98\xf5\xe7" } , { "\xd7\xe8\xb3\xe8\xcf\xdb" , "\xd7\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xdc" , "\x95\x98\xf5\xdd" } , { "\xd7\xe8\xb3\xe8\xcf\xdc\xa2" , "\x95\x98\xf5\xdd\x65" } , { "\xd7\xe8\xb3\xe8\xcf\xdd" , "\x95\x98\xc6\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xde" , "\x95\x98\xc8\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xe1" , "\xe6\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xe2" , "\xe9\x95\x98\xf5" } , { "\xd7\xe8\xb3\xe8\xcf\xe5" , "\xe6\x95\x98\xf5\xe7" } , { "\xd7\xe8\xb3\xe8\xcf\xe6\xa2" , "\xe6\x95\x98\xf5\xec\x65" } , { "\xd7\xe8\xb3\xe8\xd1\xdb" , "\xd7\x95\xc0\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xdc" , "\x95\xc0\xf5\xdd" } , { "\xd7\xe8\xb3\xe8\xd1\xdd" , "\x95\xc0\xc6\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xe1" , "\xe6\x95\xc0\xf5" } , { "\xd7\xe8\xb3\xe8\xd1\xe5" , "\xe6\x95\xc0\xf5\xe7" } , { "\xd7\xe8\xb3\xe8\xd5" , "\x61\xcb\xa8\x60" } , { "\xd7\xe8\xb3\xe8\xd7" , "\xba\x6a" } , { "\xd7\xe8\xb3\xe9" , "\x95\xf5" } , { "\xd7\xe8\xb4" , "\x96" } , { "\xd7\xe8\xb4\xa2" , "\x96\x65" } , { "\xd7\xe8\xb4\xda" , "\x96\xe7" } , { "\xd7\xe8\xb4\xdb" , "\xd7\x96" } , { "\xd7\xe8\xb4\xdc" , "\x96\xdd" } , { "\xd7\xe8\xb4\xe1" , "\xe6\x96" } , { "\xd7\xe8\xb4\xe5\xa2" , "\xe6\x96\xe7\x65" } , { "\xd7\xe8\xb4\xe8\xcd" , "\x61\xcb\x46\xcb\xcc\x5e" } , { "\xd7\xe8\xb4\xe9\xe1" , "\xe6\x96" } , { "\xd7\xe8\xb5" , "\xba\x47" } , { "\xd7\xe8\xb5\xda" , "\xba\x47\xe7" } , { "\xd7\xe8\xb5\xdd" , "\xba\x47\xc7" } , { "\xd7\xe8\xb5\xde" , "\xba\x47\xc9" } , { "\xd7\xe8\xb5\xe5" , "\xe6\xba\x47\xe7" } , { "\xd7\xe8\xb5\xe6" , "\xe6\xba\x47\xec" } , { "\xd7\xe8\xb5\xe8" , "\xba\x47\xcb" } , { "\xd7\xe8\xb8" , "\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xa2" , "\xba\x4a\xf4\x65" } , { "\xd7\xe8\xb8\xda" , "\xba\x4a\xf4\xe7" } , { "\xd7\xe8\xb8\xdb" , "\xd7\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xdd" , "\xba\x4a\xc7\xf4" } , { "\xd7\xe8\xb8\xde" , "\xba\x4a\xc9\xf4" } , { "\xd7\xe8\xb8\xdf" , "\xba\x4a\xca\xf4" } , { "\xd7\xe8\xb8\xe1" , "\xe6\xba\x4a\xf4" } , { "\xd7\xe8\xb8\xe5" , "\xe6\xba\x4a\xf4\xe7" } , { "\xd7\xe8\xb8\xe8\xcf\xdc" , "\xba\xac\xcf\xf4\xdd" } , { "\xd7\xe8\xb9\xda" , "\xba\x4b\xf7\xe7" } , { "\xd7\xe8\xba" , "\xba\x4c" } , { "\xd7\xe8\xba\xda" , "\xba\x4c\xe7" } , { "\xd7\xe8\xba\xdb" , "\xd7\xba\x4c" } , { "\xd7\xe8\xba\xdc" , "\xba\x4c\xdd" } , { "\xd7\xe8\xba\xe1" , "\xe6\xba\x4c" } , { "\xd7\xe8\xba\xe8\xbc" , "\xba\x70\xfb" } , { "\xd7\xe8\xba\xe9\xdb" , "\xd7\xba\x4c" } , { "\xd7\xe8\xbd" , "\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xa2" , "\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xda" , "\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xbd\xda\xa1" , "\xba\x4f\xf0\xf4\xe7" } , { "\xd7\xe8\xbd\xda\xa2" , "\xba\x4f\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xdb" , "\xd7\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xdb\xa2" , "\xd7\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xdc" , "\xba\x4f\xf4\xdd" } , { "\xd7\xe8\xbd\xdc\xa2" , "\xba\x4f\xf4\xdd\x65" } , { "\xd7\xe8\xbd\xdd" , "\xba\x4f\xc7\xf4" } , { "\xd7\xe8\xbd\xde" , "\xba\x4f\xc9\xf4" } , { "\xd7\xe8\xbd\xde\xa2" , "\xba\x4f\xc9\xf4\x65" } , { "\xd7\xe8\xbd\xe1" , "\xe6\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xe1\xa2" , "\xe6\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xe2" , "\xe8\xba\x4f\xf4" } , { "\xd7\xe8\xbd\xe2\xa2" , "\xe8\xba\x4f\xf4\x65" } , { "\xd7\xe8\xbd\xe5" , "\xe6\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xbd\xe5\xa2" , "\xe6\xba\x4f\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xe6" , "\xe6\xba\x4f\xf4\xec" } , { "\xd7\xe8\xbd\xe8" , "\xba\x4f\xcb\xf4" } , { "\xd7\xe8\xbd\xe8\xb3" , "\x61\xcb\xae\x45\xf5" } , { "\xd7\xe8\xbd\xe8\xb3\xda" , "\x61\xcb\xae\x45\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb3\xdb" , "\x61\xcb\xd7\xae\x45\xf5" } , { "\xd7\xe8\xbd\xe8\xb3\xe5" , "\x61\xcb\xe6\xae\x45\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb3\xe8\xd1\xda" , "\xae\xba\x7a\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xb5\xda" , "\x61\xcb\xae\x47\xe7" } , { "\xd7\xe8\xbd\xe8\xb5\xe1" , "\x61\xcb\xe6\xae\x47" } , { "\xd7\xe8\xbd\xe8\xb5\xe8\xcf\xda" , "\xae\xba\x47\xd0\xe7" } , { "\xd7\xe8\xbd\xe8\xb8" , "\x61\xcb\xae\x4a\xf4" } , { "\xd7\xe8\xbd\xe8\xb8\xe1" , "\x61\xcb\xe6\xae\x4a\xf4" } , { "\xd7\xe8\xbd\xe8\xba" , "\x61\xcb\xae\x4c" } , { "\xd7\xe8\xbd\xe8\xbd\xe2" , "\xe8\xba\x76\xf4" } , { "\xd7\xe8\xbd\xe8\xbd\xe8\xcd\xde" , "\xba\x4f\xcb\xf4\xae\xcc\x5e\xc9" } , { "\xd7\xe8\xbd\xe8\xc2\xe5" , "\x61\xcb\xe6\xae\x54\xf6\xe7" } , { "\xd7\xe8\xbd\xe8\xc6" , "\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xdb" , "\xd7\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xdd" , "\xba\xae\xf3\xc7\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xe1" , "\xe6\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xe2" , "\xe9\xba\xae\xf3\xf4" } , { "\xd7\xe8\xbd\xe8\xc6\xe8" , "\xba\xae\xf3\xcb\xf4" } , { "\xd7\xe8\xbd\xe8\xc8\xda" , "\x61\xcb\xae\x59\xe7" } , { "\xd7\xe8\xbd\xe8\xc8\xdb\xa2" , "\x61\xcb\xd7\xae\x59\x65" } , { "\xd7\xe8\xbd\xe8\xc8\xe2" , "\x61\xcb\xe9\xae\x59" } , { "\xd7\xe8\xbd\xe8\xc8\xe5" , "\x61\xcb\xe6\xae\x59\xe7" } , { "\xd7\xe8\xbd\xe8\xc8\xe8\xcf\xe2" , "\xe8\xae\xba\x59\xd2" } , { "\xd7\xe8\xbd\xe8\xc9\xda" , "\x61\xcb\xae\x5a\xf5\xe7" } , { "\xd7\xe8\xbd\xe8\xc9\xdb" , "\x61\xcb\xd7\xae\x5a\xf5" } , { "\xd7\xe8\xbd\xe8\xca\xda" , "\xba\xae\xbc\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xca\xdb" , "\xd7\xba\xae\xbc\xf4" } , { "\xd7\xe8\xbd\xe8\xca\xe6" , "\xe6\xba\xae\xbc\xf4\xec" } , { "\xd7\xe8\xbd\xe8\xcc" , "\xba\x4f\x5d" } , { "\xd7\xe8\xbd\xe8\xcc\xda" , "\xba\x4f\x5d\xe7" } , { "\xd7\xe8\xbd\xe8\xcd\xde" , "\x61\xcb\xae\xcc\x5e\xc9" } , { "\xd7\xe8\xbd\xe8\xcf" , "\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xa2" , "\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa1" , "\xba\xae\xcf\xf0\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xcf\xda\xa2" , "\xba\xae\xcf\xf4\xe7\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xdb" , "\xd7\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xdb\xa2" , "\xd7\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xdc" , "\xba\xae\xcf\xf4\xdd" } , { "\xd7\xe8\xbd\xe8\xcf\xdd" , "\xba\xae\xcf\xc7\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe1" , "\xe6\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe1\xa2" , "\xe6\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xe2" , "\xe8\xba\xae\xcf\xf4" } , { "\xd7\xe8\xbd\xe8\xcf\xe2\xa2" , "\xe8\xba\xae\xcf\xf4\x65" } , { "\xd7\xe8\xbd\xe8\xcf\xe5" , "\xe6\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xd1" , "\xba\xae\xf2\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xda" , "\xba\xae\xf2\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xd1\xdb" , "\xd7\xba\xae\xf2\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xdc" , "\xba\xae\xf2\xf4\xdd" } , { "\xd7\xe8\xbd\xe8\xd1\xdd" , "\xba\xae\xf2\xc7\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xe2" , "\xe8\xba\xae\xf2\xf4" } , { "\xd7\xe8\xbd\xe8\xd1\xe5" , "\xe6\xba\xae\xf2\xf4\xe7" } , { "\xd7\xe8\xbd\xe8\xd6\xe5" , "\x61\xcb\xe6\xae\x62\xe7" } , { "\xd7\xe8\xbd\xe8\xd7" , "\x61\xcb\xae\x61" } , { "\xd7\xe8\xbd\xe8\xd7\xdb\xa2" , "\x61\xcb\xd7\xae\x61\x65" } , { "\xd7\xe8\xbd\xe8\xd7\xdd" , "\x61\xcb\xae\x61\xc7" } , { "\xd7\xe8\xbd\xe8\xd7\xe1" , "\x61\xcb\xe6\xae\x61" } , { "\xd7\xe8\xbd\xe8\xd7\xe8" , "\x61\xcb\xae\x61\xcb" } , { "\xd7\xe8\xbd\xe8\xd7\xe8\xd1\xdb" , "\xd7\xae\xba\xd8\xda\xf6" } , { "\xd7\xe8\xbd\xe8\xd8\xda" , "\x61\xcb\xae\x63\xf7\xe7" } , { "\xd7\xe8\xbd\xe8\xd8\xdb" , "\x61\xcb\xd7\xae\x63\xf7" } , { "\xd7\xe8\xbd\xe8\xd8\xe5" , "\x61\xcb\xe6\xae\x63\xf7\xe7" } , { "\xd7\xe8\xbd\xe8\xd9\xd7" , "\x61\xcb\xae\x61" } , { "\xd7\xe8\xbe" , "\xba\x50\xf6" } , { "\xd7\xe8\xbe\xda" , "\xba\x50\xf6\xe7" } , { "\xd7\xe8\xbe\xdb" , "\xd7\xba\x50\xf6" } , { "\xd7\xe8\xbe\xdd" , "\xba\x50\xc7\xf6" } , { "\xd7\xe8\xbf" , "\xba\x51\xf6" } , { "\xd7\xe8\xbf\xda" , "\xba\x51\xf6\xe7" } , { "\xd7\xe8\xbf\xdb" , "\xd7\xba\x51\xf6" } , { "\xd7\xe8\xbf\xdd" , "\xba\x51\xc7\xf6" } , { "\xd7\xe8\xbf\xe1" , "\xe6\xba\x51\xf6" } , { "\xd7\xe8\xbf\xe2" , "\xe9\xba\x51\xf6" } , { "\xd7\xe8\xbf\xe8" , "\xba\x51\xcb\xf6" } , { "\xd7\xe8\xbf\xe8\xb3\xda" , "\x61\xcb\xaf\x45\xf5\xe7" } , { "\xd7\xe8\xbf\xe8\xcf\xdb\xa2" , "\xd7\xba\x51\xce\xf6\x65" } , { "\xd7\xe8\xc1" , "\xba\x53" } , { "\xd7\xe8\xc1\xdd" , "\xba\x53\xc7" } , { "\xd7\xe8\xc2" , "\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xa2" , "\xd8\x99\xf6\x65" } , { "\xd7\xe8\xc2\xda" , "\xd8\x99\xf6\xe7" } , { "\xd7\xe8\xc2\xda\xa1" , "\xd8\x99\x67\xf6\xe7" } , { "\xd7\xe8\xc2\xda\xa2" , "\xd8\x99\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xda\xa3" , "\xd8\x99\xf6\xe7\x66" } , { "\xd7\xe8\xc2\xdb" , "\xd7\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xdb\xa2" , "\xd7\xd8\x99\xf6\x65" } , { "\xd7\xe8\xc2\xdc" , "\xd8\x99\xf6\xdd" } , { "\xd7\xe8\xc2\xdc\xa2" , "\xd8\x99\xf6\xdd\x65" } , { "\xd7\xe8\xc2\xdd" , "\xd8\x99\xc7\xf6" } , { "\xd7\xe8\xc2\xdd\xa2" , "\xd8\x99\xc7\xf6\x65" } , { "\xd7\xe8\xc2\xde" , "\xd8\x99\xc9\xf6" } , { "\xd7\xe8\xc2\xde\xa2" , "\xd8\x99\xc9\xf6\x65" } , { "\xd7\xe8\xc2\xdf" , "\xd8\x99\xca\xf6" } , { "\xd7\xe8\xc2\xdf\xa2" , "\xd8\x99\xca\xf6\x65" } , { "\xd7\xe8\xc2\xe1" , "\xe6\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xe1\xa2" , "\xe6\xd8\x99\xf6\x65" } , { "\xd7\xe8\xc2\xe2" , "\xe8\xd8\x99\xf6" } , { "\xd7\xe8\xc2\xe5" , "\xe6\xd8\x99\xf6\xe7" } , { "\xd7\xe8\xc2\xe5\xa2" , "\xe6\xd8\x99\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe6" , "\xe6\xd8\x99\xf6\xec" } , { "\xd7\xe8\xc2\xe8" , "\xd8\x99\xcb\xf6" } , { "\xd7\xe8\xc2\xe8\xc2" , "\xba\x77\xf8" } , { "\xd7\xe8\xc2\xe8\xc2\xdb" , "\xd7\xba\x77\xf8" } , { "\xd7\xe8\xc2\xe8\xc2\xdd" , "\xba\x77\xc7\xf8" } , { "\xd7\xe8\xc2\xe8\xc2\xe8\xcf" , "\xba\xbe" } , { "\xd7\xe8\xc2\xe8\xc6\xda" , "\xba\xb1\xf3\xf6\xe7" } , { "\xd7\xe8\xc2\xe8\xc6\xdb" , "\xd7\xc5\xba\xb1\xf3\xf6" } , { "\xd7\xe8\xc2\xe8\xcc\xdd" , "\xba\xb1\xc1\xc7" } , { "\xd7\xe8\xc2\xe8\xcd" , "\x61\xcb\xb1\xcc\x5e" } , { "\xd7\xe8\xc2\xe8\xcd\xa2" , "\x61\xcb\xb1\xcc\x5e\x65" } , { "\xd7\xe8\xc2\xe8\xcd\xda" , "\x61\xcb\xb1\xcc\x5e\xe7" } , { "\xd7\xe8\xc2\xe8\xcd\xda\xa2" , "\x61\xcb\xb1\xcc\x5e\xe7\x65" } , { "\xd7\xe8\xc2\xe8\xcd\xdd" , "\x61\xcb\xb1\xcc\x5e\xc7" } , { "\xd7\xe8\xc2\xe8\xcd\xe1" , "\x61\xcb\xe6\xb1\xcc\x5e" } , { "\xd7\xe8\xc2\xe8\xcd\xe2" , "\x61\xcb\xe9\xb1\xcc\x5e" } , { "\xd7\xe8\xc2\xe8\xcf" , "\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xa2" , "\xd8\x97\xf6\x65" } , { "\xd7\xe8\xc2\xe8\xcf\xda" , "\xd8\x97\xf6\xe7" } , { "\xd7\xe8\xc2\xe8\xcf\xda\xa2" , "\xd8\x97\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe8\xcf\xdb" , "\xd7\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xdc" , "\xd8\x97\xf6\xdd" } , { "\xd7\xe8\xc2\xe8\xcf\xdd" , "\xd8\x97\xf6\xc7" } , { "\xd7\xe8\xc2\xe8\xcf\xdf" , "\xd8\x97\xf6\xca" } , { "\xd7\xe8\xc2\xe8\xcf\xe1" , "\xe6\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xe2" , "\xe8\xd8\x97\xf6" } , { "\xd7\xe8\xc2\xe8\xcf\xe5" , "\xe6\xd8\x97\xf6\xe7" } , { "\xd7\xe8\xc2\xe8\xcf\xe5\xa2" , "\xe6\xd8\x97\xf6\xe7\x65" } , { "\xd7\xe8\xc2\xe8\xcf\xe8\xcd\xdd" , "\xba\x64\xcc\x5b\xfd\xcb\xcc\x5e\xc7" } , { "\xd7\xe8\xc3" , "\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xa2" , "\xd8\x9a\xf6\x65" } , { "\xd7\xe8\xc3\xa3" , "\xd8\x9a\xf6\x66" } , { "\xd7\xe8\xc3\xda" , "\xd8\x9a\xf6\xe7" } , { "\xd7\xe8\xc3\xda\xa2" , "\xd8\x9a\xf6\xe7\x65" } , { "\xd7\xe8\xc3\xda\xa3" , "\xd8\x9a\xf6\xe7\x66" } , { "\xd7\xe8\xc3\xdb" , "\xd7\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xdb\xa2" , "\xd7\xd8\x9a\xf6\x65" } , { "\xd7\xe8\xc3\xdc" , "\xd8\x9a\xf6\xdd" } , { "\xd7\xe8\xc3\xdd" , "\xd8\x9a\xf6\xc7" } , { "\xd7\xe8\xc3\xde" , "\xd8\x9a\xf6\xc9" } , { "\xd7\xe8\xc3\xe1" , "\xe6\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xe2" , "\xe9\xd8\x9a\xf6" } , { "\xd7\xe8\xc3\xe5" , "\xe6\xd8\x9a\xf6\xe7" } , { "\xd7\xe8\xc3\xe5\xa2" , "\xe6\xd8\x9a\xf6\xe7\x65" } , { "\xd7\xe8\xc3\xe6" , "\xe6\xd8\x9a\xf6\xec" } , { "\xd7\xe8\xc3\xe8" , "\xd8\x9a\xf6\xcb" } , { "\xd7\xe8\xc3\xe8\xb3\xdd" , "\x61\xcb\x55\xcb\x45\xc7\xf5" } , { "\xd7\xe8\xc3\xe8\xc2\xdb" , "\x61\xcb\x55\xcb\xd7\x54\xf6" } , { "\xd7\xe8\xc3\xe8\xc6" , "\xba\x55\xc2" } , { "\xd7\xe8\xc3\xe8\xcd" , "\xd8\x9a\xfd\xee" } , { "\xd7\xe8\xc3\xe8\xcd\xa2" , "\xd8\x9a\xfd\xee\x65" } , { "\xd7\xe8\xc3\xe8\xcd\xda" , "\xd8\x9a\xfd\xee\xe7" } , { "\xd7\xe8\xc3\xe8\xcd\xe8\xc4\xe8\xcd" , "\xd8\xfa\xc4\x5e\xcb\x56\xee" } , { "\xd7\xe8\xc3\xe8\xcf" , "\xd8\x9a\xf6\x98" } , { "\xd7\xe8\xc3\xe8\xcf\xdc" , "\xd8\x9a\xf6\x98\xdd" } , { "\xd7\xe8\xc3\xe8\xd1\xdd" , "\xba\x55\xc0\xc7" } , { "\xd7\xe8\xc3\xe8\xd7\xda" , "\x61\xcb\x55\xcb\x61\xe7" } , { "\xd7\xe8\xc4" , "\xba\x56" } , { "\xd7\xe8\xc4\xda" , "\xba\x56\xe7" } , { "\xd7\xe8\xc4\xdb" , "\xd7\xba\x56" } , { "\xd7\xe8\xc4\xdd" , "\xba\x56\xc7" } , { "\xd7\xe8\xc4\xdd\xa2" , "\xba\x56\xc7\x65" } , { "\xd7\xe8\xc4\xde\xa2" , "\xba\x56\xc9\x65" } , { "\xd7\xe8\xc4\xe1" , "\xe6\xba\x56" } , { "\xd7\xe8\xc4\xe8\xc4\xe5" , "\xe6\xba\x81\xe7" } , { "\xd7\xe8\xc5" , "\xba\x57\xfd" } , { "\xd7\xe8\xc5\xa2" , "\xba\x57\xfd\x65" } , { "\xd7\xe8\xc5\xda" , "\xba\x57\xfd\xe7" } , { "\xd7\xe8\xc5\xdb" , "\xd7\xba\x57\xfd" } , { "\xd7\xe8\xc5\xdd" , "\xba\x57\xfd\xc7" } , { "\xd7\xe8\xc5\xde" , "\xba\x57\xfd\xc9" } , { "\xd7\xe8\xc5\xe8\xcd\xa2" , "\x61\xcb\x57\xfd\xcb\xcc\x5e\x65" } , { "\xd7\xe8\xc6" , "\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xa2" , "\xd8\x6f\xf6\x65" } , { "\xd7\xe8\xc6\xda" , "\xd8\x6f\xf6\xe7" } , { "\xd7\xe8\xc6\xdb" , "\xd7\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xdc" , "\xd8\x6f\xf6\xdd" } , { "\xd7\xe8\xc6\xdd" , "\xd8\x6f\xf6\xc7" } , { "\xd7\xe8\xc6\xdd\xa2" , "\xd8\x6f\xf6\xc7\x65" } , { "\xd7\xe8\xc6\xde" , "\xd8\x6f\xf6\xc9" } , { "\xd7\xe8\xc6\xe1" , "\xe6\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xe2" , "\xe9\xd8\x6f\xf6" } , { "\xd7\xe8\xc6\xe5" , "\xe6\xd8\x6f\xf6\xe7" } , { "\xd7\xe8\xc6\xe8\xc6" , "\xba\x7e" } , { "\xd7\xe8\xc6\xe8\xc6\xdd" , "\xba\x7e\xc7" } , { "\xd7\xe8\xc6\xe8\xc6\xe1" , "\xe6\xba\x7e" } , { "\xd7\xe8\xc8" , "\x26" } , { "\xd7\xe8\xc8\xa2" , "\x26\x65" } , { "\xd7\xe8\xc8\xda" , "\x26\xe7" } , { "\xd7\xe8\xc8\xda\xa2" , "\x26\xe7\x65" } , { "\xd7\xe8\xc8\xdb" , "\xd7\x26" } , { "\xd7\xe8\xc8\xdb\xa2" , "\xd7\x26\x65" } , { "\xd7\xe8\xc8\xdc" , "\x26\xdd" } , { "\xd7\xe8\xc8\xdd" , "\x26\xc7" } , { "\xd7\xe8\xc8\xde" , "\x26\xc9" } , { "\xd7\xe8\xc8\xdf" , "\x26\xca" } , { "\xd7\xe8\xc8\xe1" , "\xe6\x26" } , { "\xd7\xe8\xc8\xe1\xa2" , "\xe6\x26\x65" } , { "\xd7\xe8\xc8\xe2" , "\xe9\x26" } , { "\xd7\xe8\xc8\xe2\xa2" , "\xe9\x26\x65" } , { "\xd7\xe8\xc8\xe2\xbf\xe8" , "\xe9\x26\x51\xcb\xf6" } , { "\xd7\xe8\xc8\xe5" , "\xe6\x26\xe7" } , { "\xd7\xe8\xc8\xe5\xa2" , "\xe6\x26\xe7\x65" } , { "\xd7\xe8\xc8\xe6" , "\xe6\x26\xec" } , { "\xd7\xe8\xc8\xe8" , "\x26\xcb" } , { "\xd7\xe8\xc8\xe8\xcd\xde" , "\x61\xcb\xb4\xcc\x5e\xc9" } , { "\xd7\xe8\xc8\xe8\xcf" , "\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xda" , "\x26\xd2\xe7" } , { "\xd7\xe8\xc8\xe8\xcf\xdb" , "\xd7\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xdb\xa2" , "\xd7\x26\xd2\x65" } , { "\xd7\xe8\xc8\xe8\xcf\xdd" , "\x26\xd2\xc7" } , { "\xd7\xe8\xc8\xe8\xcf\xde" , "\x26\xd2\xc9" } , { "\xd7\xe8\xc8\xe8\xcf\xe1" , "\xe6\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xe2" , "\xe9\x26\xd2" } , { "\xd7\xe8\xc8\xe8\xcf\xe5" , "\xe6\x26\xd2\xe7" } , { "\xd7\xe8\xc8\xe8\xd1\xda" , "\x26\xc0\xe7" } , { "\xd7\xe8\xc8\xe8\xd1\xe1" , "\xe6\x26\xc0" } , { "\xd7\xe8\xc8\xe8\xd5\xe8\xcd" , "\xba\x59\xcb\xb8\xcc\x5e" } , { "\xd7\xe8\xc8\xe8\xd7\xda" , "\x61\xcb\xb4\x61\xe7" } , { "\xd7\xe8\xc8\xe8\xd8" , "\x61\xcb\xb4\x63\xf7" } , { "\xd7\xe8\xc9" , "\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xa2" , "\xd8\xf6\x8f\xf5\x65" } , { "\xd7\xe8\xc9\xda" , "\xd8\xf6\x8f\xf5\xe7" } , { "\xd7\xe8\xc9\xda\xa2" , "\xd8\xf6\x8f\xf5\xe7\x65" } , { "\xd7\xe8\xc9\xdb" , "\xd7\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xdb\xa2" , "\xd7\xd8\xf6\x8f\xf5\x65" } , { "\xd7\xe8\xc9\xdc" , "\xd8\xf6\x8f\xf5\xdd" } , { "\xd7\xe8\xc9\xdd" , "\xd8\xf6\x8f\xc7\xf5" } , { "\xd7\xe8\xc9\xde" , "\xd8\xf6\x8f\xc9\xf5" } , { "\xd7\xe8\xc9\xdf" , "\xd8\xf6\x8f\xca\xf5" } , { "\xd7\xe8\xc9\xe1" , "\xe6\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xe2" , "\xe9\xd8\xf6\x8f\xf5" } , { "\xd7\xe8\xc9\xe5" , "\xe6\xd8\xf6\x8f\xf5\xe7" } , { "\xd7\xe8\xc9\xe6" , "\xe6\xd8\xf6\x8f\xf5\xec" } , { "\xd7\xe8\xc9\xe8\xcd\xda" , "\x61\xcb\x5a\xcb\xf5\xcc\x5e\xe7" } , { "\xd7\xe8\xca" , "\xd8\x91\xf6" } , { "\xd7\xe8\xca\xda" , "\xd8\x91\xf6\xe7" } , { "\xd7\xe8\xca\xdb" , "\xd7\xd8\x91\xf6" } , { "\xd7\xe8\xca\xdd" , "\xd8\x91\xf6\xc7" } , { "\xd7\xe8\xca\xe1" , "\xe6\xd8\x91\xf6" } , { "\xd7\xe8\xca\xe1\xa2" , "\xe6\xd8\x91\xf6\x65" } , { "\xd7\xe8\xca\xe2" , "\xe9\xd8\x91\xf6" } , { "\xd7\xe8\xca\xe5" , "\xe6\xd8\x91\xf6\xe7" } , { "\xd7\xe8\xca\xe5\xa2" , "\xe6\xd8\x91\xf6\xe7\x65" } , { "\xd7\xe8\xca\xe8\xcf\xde" , "\xd8\x91\xf6\x98\xc8" } , { "\xd7\xe8\xcb" , "\xba\x5c\xf6" } , { "\xd7\xe8\xcb\xdb" , "\xd7\xba\x5c\xf6" } , { "\xd7\xe8\xcc" , "\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xa2" , "\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xda" , "\xd8\xf6\x82\xe7" } , { "\xd7\xe8\xcc\xda\xa2" , "\xd8\xf6\x82\xe7\x65" } , { "\xd7\xe8\xcc\xdb" , "\xd7\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xdc" , "\xd8\xf6\x82\xdd" } , { "\xd7\xe8\xcc\xdd" , "\xd8\xf6\x82\xc7" } , { "\xd7\xe8\xcc\xdd\xa2" , "\xd8\xf6\x82\xc7\x65" } , { "\xd7\xe8\xcc\xdf" , "\xd8\xf6\x82\xca" } , { "\xd7\xe8\xcc\xe1" , "\xe6\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xe1\xa2" , "\xe6\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xe2" , "\xe9\xd8\xf6\x82" } , { "\xd7\xe8\xcc\xe2\xa2" , "\xe9\xd8\xf6\x82\x65" } , { "\xd7\xe8\xcc\xe5" , "\xe6\xd8\xf6\x82\xe7" } , { "\xd7\xe8\xcc\xe5\xa2" , "\xe6\xd8\xf6\x82\xe7\x65" } , { "\xd7\xe8\xcc\xe6" , "\xe6\xd8\xf6\x82\xec" } , { "\xd7\xe8\xcc\xe8" , "\xd8\xf6\x82\xcb" } , { "\xd7\xe8\xcc\xe8\xc2" , "\xba\xb6\x99\xf6" } , { "\xd7\xe8\xcc\xe8\xc2\xdb" , "\xd7\xba\xb6\x99\xf6" } , { "\xd7\xe8\xcc\xe8\xcc" , "\xba\xb6\xf6\x82" } , { "\xd7\xe8\xcc\xe8\xcd\xda\xa2" , "\x61\xcb\x5d\xcb\xcc\x5e\xe7\x65" } , { "\xd7\xe8\xcc\xe8\xcd\xdd" , "\x61\xcb\x5d\xcb\xcc\x5e\xc7" } , { "\xd7\xe8\xcc\xe8\xd1" , "\xba\xb6\xda\xf6" } , { "\xd7\xe8\xcd" , "\x61\xee" } , { "\xd7\xe8\xcd\xa2" , "\x61\xee\x65" } , { "\xd7\xe8\xcd\xa3" , "\x61\xee\x66" } , { "\xd7\xe8\xcd\xda" , "\x61\xee\xe7" } , { "\xd7\xe8\xcd\xda\xa2" , "\x61\xee\xe7\x65" } , { "\xd7\xe8\xcd\xda\xa3" , "\x61\xee\xe7\x66" } , { "\xd7\xe8\xcd\xdb" , "\xd7\x61\xee" } , { "\xd7\xe8\xcd\xdc" , "\x61\xee\xdd" } , { "\xd7\xe8\xcd\xdd" , "\x61\xc7\xee" } , { "\xd7\xe8\xcd\xdd\xa3" , "\x61\xc7\xee\x66" } , { "\xd7\xe8\xcd\xde" , "\x61\xc9\xee" } , { "\xd7\xe8\xcd\xde\xa2" , "\x61\xc9\xee\x65" } , { "\xd7\xe8\xcd\xdf" , "\x61\xca\xee" } , { "\xd7\xe8\xcd\xe1" , "\xe6\x61\xee" } , { "\xd7\xe8\xcd\xe2" , "\xe9\x61\xee" } , { "\xd7\xe8\xcd\xe5" , "\xe6\x61\xee\xe7" } , { "\xd7\xe8\xcd\xe5\xa2" , "\xe6\x61\xee\xe7\x65" } , { "\xd7\xe8\xcd\xe5\xa3" , "\xe6\x61\xee\xe7\x66" } , { "\xd7\xe8\xcd\xe6" , "\xe6\x61\xee\xec" } , { "\xd7\xe8\xcd\xe8" , "\x61\xee\xcb" } , { "\xd7\xe8\xcd\xe8\xcd\xda" , "\x61\xee\xee\xe7" } , { "\xd7\xe8\xcd\xe8\xcf\xda" , "\xba\x5e\xd2\xe7" } , { "\xd7\xe8\xcf" , "\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xa2" , "\xd8\x83\xf6\x65" } , { "\xd7\xe8\xcf\xda" , "\xd8\x83\xf6\xe7" } , { "\xd7\xe8\xcf\xda\xa2" , "\xd8\x83\xf6\xe7\x65" } , { "\xd7\xe8\xcf\xdb" , "\xd7\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xdb\xa2" , "\xd7\xd8\x83\xf6\x65" } , { "\xd7\xe8\xcf\xdc" , "\xd8\x83\xf6\xdd" } , { "\xd7\xe8\xcf\xdd" , "\xd8\x83\xf6\xd3" } , { "\xd7\xe8\xcf\xde" , "\xd8\x83\xf6\xd6" } , { "\xd7\xe8\xcf\xde\xa2" , "\xd8\x83\xf6\xd6\x65" } , { "\xd7\xe8\xcf\xdf" , "\xd8\x83\xf6\xca" } , { "\xd7\xe8\xcf\xe1" , "\xe6\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xe2" , "\xe8\xd8\x83\xf6" } , { "\xd7\xe8\xcf\xe5" , "\xe6\xd8\x83\xf6\xe7" } , { "\xd7\xe8\xcf\xe5\xa2" , "\xe6\xd8\x83\xf6\xe7\x65" } , { "\xd7\xe8\xcf\xe8\xbd" , "\x61\xcb\xcc\x5b\xfd\xcb\xbb\x4f\xf4" } , { "\xd7\xe8\xcf\xe8\xc8\xe1" , "\x61\xcb\xcc\x5b\xfd\xcb\xe6\x59" } , { "\xd7\xe8\xd1" , "\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xa2" , "\xd8\xda\xf6\x65" } , { "\xd7\xe8\xd1\xda" , "\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd1\xda\xa2" , "\xd8\xda\xf6\xe7\x65" } , { "\xd7\xe8\xd1\xdb" , "\xd7\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xdb\xa2" , "\xd7\xd8\xda\xf6\x65" } , { "\xd7\xe8\xd1\xdc" , "\xd8\xda\xf6\xdd" } , { "\xd7\xe8\xd1\xdc\xa2" , "\xd8\xda\xf6\xdd\x65" } , { "\xd7\xe8\xd1\xdd" , "\xd8\xda\xf6\xc7" } , { "\xd7\xe8\xd1\xdd\xa2" , "\xd8\xda\xf6\xc7\x65" } , { "\xd7\xe8\xd1\xde" , "\xd8\xda\xf6\xc9" } , { "\xd7\xe8\xd1\xe1" , "\xe6\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xe1\xa2" , "\xe6\xd8\xda\xf6\x65" } , { "\xd7\xe8\xd1\xe2" , "\xe8\xd8\xda\xf6" } , { "\xd7\xe8\xd1\xe5" , "\xe6\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd1\xe5\xa2" , "\xe6\xd8\xda\xf6\xe7\x65" } , { "\xd7\xe8\xd1\xe8\xb3\xdb" , "\xd7\xba\x92\xf5" } , { "\xd7\xe8\xd1\xe8\xb3\xe5" , "\xe6\xba\x92\xf5\xe7" } , { "\xd7\xe8\xd1\xe8\xc8\xda\xa2" , "\xba\x94\xe7\x65" } , { "\xd7\xe8\xd1\xe8\xc8\xdc" , "\xba\x94\xdd" } , { "\xd7\xe8\xd1\xe8\xd7\xda\xa2" , "\x61\xcb\xb7\x61\xe7\x65" } , { "\xd7\xe8\xd5" , "\xba\x60" } , { "\xd7\xe8\xd5\xda" , "\xba\x60\xe7" } , { "\xd7\xe8\xd5\xdb" , "\xd7\xba\x60" } , { "\xd7\xe8\xd5\xdd" , "\xba\x60\xc7" } , { "\xd7\xe8\xd5\xe1" , "\xe6\xba\x60" } , { "\xd7\xe8\xd5\xe8\xcf\xe1" , "\xe6\xba\x60\xd2" } , { "\xd7\xe8\xd6" , "\xba\x62" } , { "\xd7\xe8\xd6\xe8\xbd\xdb" , "\xd7\xba\x72\xf4" } , { "\xd7\xe8\xd7" , "\xba\x61" } , { "\xd7\xe8\xd7\xa2" , "\xba\x61\x65" } , { "\xd7\xe8\xd7\xda" , "\xba\x61\xe7" } , { "\xd7\xe8\xd7\xda\xa2" , "\xba\x61\xe7\x65" } , { "\xd7\xe8\xd7\xdb" , "\xd7\xba\x61" } , { "\xd7\xe8\xd7\xdb\xa2" , "\xd7\xba\x61\x65" } , { "\xd7\xe8\xd7\xdc" , "\xba\x61\xdd" } , { "\xd7\xe8\xd7\xdc\xa2" , "\xba\x61\xdd\x65" } , { "\xd7\xe8\xd7\xdd" , "\xba\x61\xc7" } , { "\xd7\xe8\xd7\xdd\xa2" , "\xba\x61\xc7\x65" } , { "\xd7\xe8\xd7\xde" , "\xba\x61\xc9" } , { "\xd7\xe8\xd7\xdf" , "\xba\x61\xca" } , { "\xd7\xe8\xd7\xe1" , "\xe6\xba\x61" } , { "\xd7\xe8\xd7\xe1\xa2" , "\xe6\xba\x61\x65" } , { "\xd7\xe8\xd7\xe2" , "\xe9\xba\x61" } , { "\xd7\xe8\xd7\xe5" , "\xe6\xba\x61\xe7" } , { "\xd7\xe8\xd7\xe5\xa2" , "\xe6\xba\x61\xe7\x65" } , { "\xd7\xe8\xd7\xe6" , "\xe6\xba\x61\xec" } , { "\xd7\xe8\xd7\xe6\xa2" , "\xe6\xba\x61\xec\x65" } , { "\xd7\xe8\xd7\xe8" , "\xba\x61\xcb" } , { "\xd7\xe8\xd7\xe8\xb3\xda" , "\xba\x95\xf5\xe7" } , { "\xd7\xe8\xd7\xe8\xb3\xdd" , "\xba\x95\xc7\xf5" } , { "\xd7\xe8\xd7\xe8\xb3\xdf" , "\xba\x95\xca\xf5" } , { "\xd7\xe8\xd7\xe8\xbd" , "\x61\xcb\xba\x4f\xf4" } , { "\xd7\xe8\xd7\xe8\xbd\xda" , "\x61\xcb\xba\x4f\xf4\xe7" } , { "\xd7\xe8\xd7\xe8\xbd\xda\xa2" , "\x61\xcb\xba\x4f\xf4\xe7\x65" } , { "\xd7\xe8\xd7\xe8\xbd\xdc" , "\x61\xcb\xba\x4f\xf4\xdd" } , { "\xd7\xe8\xd7\xe8\xbd\xe1" , "\x61\xcb\xe6\xba\x4f\xf4" } , { "\xd7\xe8\xd7\xe8\xbd\xe8\xcf\xda" , "\xba\xba\xae\xcf\xf4\xe7" } , { "\xd7\xe8\xd7\xe8\xc2\xde\xa2" , "\xba\xd8\x99\xc9\xf6\x65" } , { "\xd7\xe8\xd7\xe8\xc3\xda" , "\xba\xd8\x9a\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xc3\xdb" , "\xd7\xba\xd8\x9a\xf6" } , { "\xd7\xe8\xd7\xe8\xc6\xda" , "\xba\xd8\x6f\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xcc" , "\xba\xd8\xf6\x82" } , { "\xd7\xe8\xd7\xe8\xcd" , "\x61\xcb\xba\xcc\x5e" } , { "\xd7\xe8\xd7\xe8\xcd\xda" , "\x61\xcb\xba\xcc\x5e\xe7" } , { "\xd7\xe8\xd7\xe8\xcf" , "\xba\xd8\x83\xf6" } , { "\xd7\xe8\xd7\xe8\xcf\xda" , "\xba\xd8\x83\xf6\xe7" } , { "\xd7\xe8\xd7\xe8\xd1\xdd" , "\xba\xd8\xda\xf6\xc7" } , { "\xd7\xe8\xd7\xe8\xd1\xe5" , "\xe6\xba\xd8\xda\xf6\xe7" } , { "\xd7\xe8\xd8" , "\xba\x63\xf7" } , { "\xd7\xe8\xd8\xda" , "\xba\x63\xf7\xe7" } , { "\xd7\xe8\xd8\xe5" , "\xe6\xba\x63\xf7\xe7" } , { "\xd7\xe8\xd8\xe6" , "\xe6\xba\x63\xf7\xec" } , { "\xd7\xe8\xd9" , "\xba" } , { "\xd7\xe8\xd9\xa6" , "\xba\x2b" } , { "\xd7\xe8\xd9\xcf\xe8\xbd" , "\xba\xbb\x4f\xf4\xdb" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xda" , "\xba\xbb\x4f\xf4\xdb\xe7" } , { "\xd7\xe8\xd9\xcf\xe8\xbd\xe1" , "\xba\xe4\xbb\x4f\xf4\xdb" } , { "\xd7\xe8\xe8" , "\x61\xcb" } , { "\xd7\xe8\xe9\xcf" , "\xd8\x83\xf6" } , { "\xd7\xe9" , "\x61" } , { "\xd8" , "\x63\xf7" } , { "\xd8\xa1" , "\x63\x67\xf7" } , { "\xd8\xa2" , "\x63\xf7\x65" } , { "\xd8\xa3" , "\x63\xf7\x66" } , { "\xd8\xd9" , "\x63\xf7" } , { "\xd8\xd9\xd1\xda" , "\x63\xf7\x5f\xe7" } , { "\xd8\xda" , "\x63\xf7\xe7" } , { "\xd8\xda\xa1" , "\x63\x67\xf7\xe7" } , { "\xd8\xda\xa2" , "\x63\xf7\xe7\x65" } , { "\xd8\xda\xa3" , "\x63\xf7\xe7\x66" } , { "\xd8\xdb" , "\xd7\x63\xf7" } , { "\xd8\xdb\xa2" , "\xd7\x63\xf7\x65" } , { "\xd8\xdb\xa2\xa2" , "\xd7\x63\xf7\x65\x65" } , { "\xd8\xdb\xa3" , "\xd7\x63\xf7\x66" } , { "\xd8\xdc" , "\x63\xf7\xdd" } , { "\xd8\xdc\xa1" , "\x63\xf7\xdf" } , { "\xd8\xdc\xa2" , "\x63\xf7\xdd\x65" } , { "\xd8\xdd" , "\xa7" } , { "\xd8\xdd\xa1" , "\xa7\x67" } , { "\xd8\xdd\xa2" , "\xa7\x65" } , { "\xd8\xdd\xa3" , "\xa7\x66" } , { "\xd8\xde" , "\x63\xc9\xf7" } , { "\xd8\xde\xa1" , "\x63\x67\xc9\xf7" } , { "\xd8\xde\xa2" , "\x63\xc9\xf7\x65" } , { "\xd8\xdf" , "\x63\xf7\xd6" } , { "\xd8\xe1" , "\xe6\x63\xf7" } , { "\xd8\xe1\xa2" , "\xe6\x63\xf7\x65" } , { "\xd8\xe1\xa3" , "\xe6\x63\xf7\x66" } , { "\xd8\xe2" , "\xe9\x63\xf7" } , { "\xd8\xe2\xa1" , "\xe9\x63\x67\xf7" } , { "\xd8\xe2\xa2" , "\xe9\x63\xf7\x65" } , { "\xd8\xe2\xa3" , "\xe9\x63\xf7\x66" } , { "\xd8\xe5" , "\xe6\x63\xf7\xe7" } , { "\xd8\xe5\xa1" , "\xe6\x63\x67\xf7\xe7" } , { "\xd8\xe5\xa2" , "\xe6\x63\xf7\xe7\x65" } , { "\xd8\xe6" , "\xe6\x63\xf7\xec" } , { "\xd8\xe6\xa2" , "\xe6\x63\xf7\xec\x65" } , { "\xd8\xe8" , "\x63\xcb\xf7" } , { "\xd8\xe8\xb3\xdd" , "\x63\xcb\xf7\x45\xc7\xf5" } , { "\xd8\xe8\xb5" , "\x63\xcb\xf7\x47" } , { "\xd8\xe8\xb5\xdd" , "\x63\xcb\xf7\x6d" } , { "\xd8\xe8\xb5\xde" , "\x63\xcb\xf7\x47\xc9" } , { "\xd8\xe8\xb8" , "\x63\xcb\xf7\xbb\x4a\xf4" } , { "\xd8\xe8\xb8\xdd" , "\x63\xcb\xf7\xbb\x4a\xc7\xf4" } , { "\xd8\xe8\xbd\xdb" , "\x63\xcb\xf7\xd7\xbb\x4f\xf4" } , { "\xd8\xe8\xbf" , "\x63\xcb\xf7\x51\xf6" } , { "\xd8\xe8\xc1" , "\xe2\xf3\xf7" } , { "\xd8\xe8\xc1\xda" , "\xe2\xf3\xf7\xe7" } , { "\xd8\xe8\xc1\xe1" , "\xe6\xe2\xf3\xf7" } , { "\xd8\xe8\xc2" , "\x63\xcb\xf7\x54\xf6" } , { "\xd8\xe8\xc2\xa2" , "\x63\xcb\xf7\x54\xf6\x65" } , { "\xd8\xe8\xc2\xda" , "\x63\xcb\xf7\x54\xf6\xe7" } , { "\xd8\xe8\xc2\xdc" , "\x63\xcb\xf7\x54\xf6\xdd" } , { "\xd8\xe8\xc2\xe8" , "\x63\xcb\xf7\x64" } , { "\xd8\xe8\xc2\xe8\xcf\xda" , "\x63\xcb\xf7\x79\xe7" } , { "\xd8\xe8\xc3" , "\x63\xcb\xf7\x55" } , { "\xd8\xe8\xc4" , "\x63\xcb\xf7\x56" } , { "\xd8\xe8\xc4\xe1" , "\x63\xcb\xf7\xe6\x56" } , { "\xd8\xe8\xc4\xe5\xa2" , "\x63\xcb\xf7\xe6\x56\xe7\x65" } , { "\xd8\xe8\xc4\xe8\xc8\xda" , "\x63\xcb\xf7\xb2\x59\xe7" } , { "\xd8\xe8\xc4\xe8\xcd\xa2" , "\x63\xcb\xf7\xb2\xcc\x5e\x65" } , { "\xd8\xe8\xc4\xe8\xcf\xe5" , "\x63\xcb\xf7\xe6\x56\xd0\xe7" } , { "\xd8\xe8\xc6" , "\x63\xf7\xd4" } , { "\xd8\xe8\xc6\xa2" , "\x63\xf7\xd4\x65" } , { "\xd8\xe8\xc6\xda" , "\x63\xf7\xd4\xe7" } , { "\xd8\xe8\xc6\xda\xa2" , "\x63\xf7\xd4\xe7\x65" } , { "\xd8\xe8\xc6\xdb" , "\xd7\x63\xf7\xd4" } , { "\xd8\xe8\xc6\xdd" , "\x63\xf7\xd4\xc7" } , { "\xd8\xe8\xc6\xe5\xa2" , "\xe6\x63\xf7\xd4\xe7\x65" } , { "\xd8\xe8\xca" , "\xe2\xbc\xf7" } , { "\xd8\xe8\xcb" , "\x63\xcb\xf7\x5c\xf6" } , { "\xd8\xe8\xcc" , "\xa1\xf9" } , { "\xd8\xe8\xcc\xa2" , "\xa1\xf9\x65" } , { "\xd8\xe8\xcc\xda" , "\xa1\xf9\xe7" } , { "\xd8\xe8\xcc\xda\xa2" , "\xa1\xf9\xe7\x65" } , { "\xd8\xe8\xcc\xdb" , "\xd7\xa1\xf9" } , { "\xd8\xe8\xcc\xdc" , "\xa1\xf9\xdd" } , { "\xd8\xe8\xcc\xde" , "\xa1\xc9\xf9" } , { "\xd8\xe8\xcc\xe1" , "\xe6\xa1\xf9" } , { "\xd8\xe8\xcc\xe1\xa2" , "\xe6\xa1\xf9\x65" } , { "\xd8\xe8\xcc\xe2" , "\xe9\xa1\xf9" } , { "\xd8\xe8\xcc\xe5" , "\xe6\xa1\xf9\xe7" } , { "\xd8\xe8\xcc\xe8" , "\xa1\xcb\xf9" } , { "\xd8\xe8\xcc\xe8\xb8" , "\x63\xcb\xf7\x5d\xcb\xbb\x4a\xf4" } , { "\xd8\xe8\xcc\xe8\xb8\xda" , "\x63\xcb\xf7\x5d\xcb\xbb\x4a\xf4\xe7" } , { "\xd8\xe8\xcc\xe8\xc1" , "\x63\xcb\xf7\x5d\xcb\x53" } , { "\xd8\xe8\xcc\xe8\xc1\xdc" , "\x63\xcb\xf7\x5d\xcb\x53\xdd" } , { "\xd8\xe8\xcd" , "\x63\xfd\xee" } , { "\xd8\xe8\xcd\xa2" , "\x63\xfd\xee\x65" } , { "\xd8\xe8\xcd\xda" , "\x63\xfd\xee\xe7" } , { "\xd8\xe8\xcd\xda\xa2" , "\x63\xfd\xee\xe7\x65" } , { "\xd8\xe8\xcd\xdb" , "\xd7\x63\xfd\xee" } , { "\xd8\xe8\xcd\xdb\xa2" , "\xd7\x63\xfd\xee\x65" } , { "\xd8\xe8\xcd\xdc\xa2" , "\x63\xfd\xee\xdd\x65" } , { "\xd8\xe8\xcd\xdd" , "\xa7\xee" } , { "\xd8\xe8\xcd\xde" , "\x63\xc9\xfd\xee" } , { "\xd8\xe8\xcd\xde\xa2" , "\x63\xc9\xfd\xee\x65" } , { "\xd8\xe8\xcd\xdf" , "\x63\xfd\xfd\xd6\xee" } , { "\xd8\xe8\xcd\xe1" , "\xe6\x63\xfd\xee" } , { "\xd8\xe8\xcd\xe1\xa2" , "\xe6\x63\xfd\xee\x65" } , { "\xd8\xe8\xcd\xe2" , "\xe9\x63\xfd\xee" } , { "\xd8\xe8\xcd\xe5" , "\xe6\x63\xfd\xee\xe7" } , { "\xd8\xe8\xcd\xe6" , "\xe6\x63\xfd\xee\xec" } , { "\xd8\xe8\xcd\xe8" , "\x63\xfd\xee\xcb" } , { "\xd8\xe8\xcd\xe8\xcf" , "\x63\xfd\xee\xcb\xd2" } , { "\xd8\xe8\xcd\xe8\xd7" , "\x63\xfd\xee\xcb\x61" } , { "\xd8\xe8\xcf" , "\xe2\xd1\xf7" } , { "\xd8\xe8\xcf\xda" , "\xe2\xd1\xf7\xe7" } , { "\xd8\xe8\xcf\xda\xa2" , "\xe2\xd1\xf7\xe7\x65" } , { "\xd8\xe8\xcf\xdb" , "\xd7\xe2\xd1\xf7" } , { "\xd8\xe8\xcf\xdc" , "\xe2\xd1\xf7\xdd" } , { "\xd8\xe8\xcf\xdc\xa2" , "\xe2\xd1\xf7\xdd\x65" } , { "\xd8\xe8\xcf\xdd" , "\xe2\xd1\xc7\xf7" } , { "\xd8\xe8\xcf\xde" , "\xe2\xd1\xc9\xf7" } , { "\xd8\xe8\xcf\xde\xa2" , "\xe2\xd1\xc9\xf7\x65" } , { "\xd8\xe8\xcf\xe1\xa2" , "\xe6\xe2\xd1\xf7\x65" } , { "\xd8\xe8\xd1" , "\xe2\xf2\xf7" } , { "\xd8\xe8\xd1\xda" , "\xe2\xf2\xf7\xe7" } , { "\xd8\xe8\xd1\xda\xa2" , "\xe2\xf2\xf7\xe7\x65" } , { "\xd8\xe8\xd1\xdb" , "\xd7\xe2\xf2\xf7" } , { "\xd8\xe8\xd1\xdc" , "\xe2\xf2\xf7\xdd" } , { "\xd8\xe8\xd6\xdb" , "\x63\xcb\xf7\xd7\x62" } , { "\xd8\xe8\xd6\xe8\xbd" , "\x63\xcb\xf7\x72\xf4" } , { "\xd8\xe8\xd7\xa2" , "\x63\xcb\xf7\x61\x65" } , { "\xd8\xe8\xd7\xe8" , "\x63\xcb\xf7\x61\xcb" } , { "\xd8\xe8\xd7\xe8\xb3\xdc" , "\x63\xcb\xf7\x95\xf5\xdd" } , { "\xd8\xe8\xd8" , "\x63\xcb\xf7\x63\xf7" } , { "\xd8\xe8\xd8\xa2" , "\x63\xcb\xf7\x63\xf7\x65" } , { "\xd8\xe8\xd8\xda" , "\x63\xcb\xf7\x63\xf7\xe7" } , { "\xd8\xe8\xd8\xdb" , "\x63\xcb\xf7\xd7\x63\xf7" } , { "\xd8\xe8\xd8\xdc" , "\x63\xcb\xf7\x63\xf7\xdd" } , { "\xd8\xe8\xd8\xe5\xa2" , "\x63\xcb\xf7\xe6\x63\xf7\xe7\x65" } , { "\xd8\xe8\xd9" , "\x63\xcb\xf7" } , { "\xd8\xe8\xd9\xcc" , "\x63\xcb\xf7\x5d" } , { "\xd8\xe8\xd9\xcd" , "\x63\xcb\xf7\xcc\x5e" } , { "\xd8\xe8\xe8" , "\x63\xcb\xf7" } , { "\xd8\xe8\xe9\xcf" , "\xe2\xd1\xf7" } , { "\xd8\xe9" , "\x63\xf7" } , { "\xda" , "\xe7" } , { "\xdb" , "\xd7" } , { "\xdb\xa2" , "\xd7\x65" } , { "\xdc" , "\xdd" } , { "\xdc\xa2" , "\xdd\x65" } , { "\xdd" , "\xc7" } , { "\xde" , "\xc9" } , { "\xdf" , "\xca" } , { "\xe1" , "\xe5\x23" } , { "\xe1\xa2" , "\xe5\x65" } , { "\xe2" , "\xe9\x23" } , { "\xe2\xa2" , "\xe9\x65" } , { "\xe5" , "\xe6\x23\xe7" } , { "\xe5\xa2" , "\xe6\xe7\x65" } , { "\xe6" , "\xe6\x23\xec" } , { "\xe6\xa2" , "\xe6\xec\x65" } , { "\xe8" , "\x23\xcb" } , { "\xe8\xcd" , "\xee" } , /* for U+09B0 + U+200C + U+09CD + U+09AF */ { "\xe8\xe9" , "\xcb" } , { "\xe9" , "\x23\xcc" } , { "\xe9\xdd" , "\xcc\xc7" } , { "\xe9\xde" , "\xcc\xc9" } , { "\xe9\xe9" , "\xcc" } , } ; ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/table/inscript.table������������������������������������������������������������0100644�0001760�0000144�00000003104�13210547313�0016715�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������static struct a2i_tabl isciikey_inscript_table[] = { { "!" , "\xae" } , { "\"" , "\xbe" } , { "#" , "\xe8\xcf" } , { "$" , "\xcf\xe8" } , { "%" , "\xba\xe8\xbc" } , { "&" , "\xb3\xe8\xd6" } , { "'" , "\xbd" } , { "*" , "\xd5\xe8\xcf" } , { "+" , "\xaa" } , { "/" , "\xcd" } , { ":" , "\xb9" } , { ";" , "\xb8" } , { "<" , "\xd6" } , { "=" , "\xdf" } , { "@" , "\xe3" } , { "A" , "\xb0" } , { "C" , "\xc1" } , { "D" , "\xa4" } , { "E" , "\xa5" } , { "F" , "\xa6" } , { "G" , "\xa8" } , { "H" , "\xc9" } , { "I" , "\xb6" } , { "J" , "\xd0" } , { "K" , "\xb4" } , { "L" , "\xc3" } , { "M" , "\xd5" } , { "N" , "\xd2" } , { "O" , "\xc5" } , { "P" , "\xbb" } , { "Q" , "\xb1" } , { "R" , "\xa7" } , { "S" , "\xac" } , { "T" , "\xa9" } , { "U" , "\xb7" } , { "W" , "\xad" } , { "X" , "\xa1" } , { "Y" , "\xcb" } , { "Z" , "\xab" } , { "[" , "\xbf" } , { "]" , "\xe9" } , { "\\" , "\xe7" } , { "^" , "\xc2\xe8\xcf" } , { "_" , "\xa3" } , { "`" , "\xe4" } , { "a" , "\xe5" } , { "b" , "\xd4" } , { "c" , "\xcc" } , { "d" , "\xe8" } , { "e" , "\xda" } , { "f" , "\xdb" } , { "g" , "\xdd" } , { "h" , "\xc8" } , { "i" , "\xb5" } , { "j" , "\xcf" } , { "k" , "\xb3" } , { "l" , "\xc2" } , { "m" , "\xd7" } , { "n" , "\xd1" } , { "o" , "\xc4" } , { "p" , "\xba" } , { "q" , "\xe6" } , { "r" , "\xdc" } , { "s" , "\xe1" } , { "t" , "\xde" } , { "u" , "\xd8" } , { "v" , "\xc6" } , { "w" , "\xe2" } , { "x" , "\xa2" } , { "y" , "\xca" } , { "z" , "\xe0\x20" } , { "{" , "\xc0" } , { "|" , "\xb2" } , { "}" , "\xbc" } , { "~" , "\xaf" } , } ; ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/inscript.c����������������������������������������������������������������������0100644�0001760�0000144�00000000446�13210547313�0014767�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/inscript.table" struct a2i_tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(isciikey_inscript_table) / sizeof(struct a2i_tabl); return isciikey_inscript_table; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/iitkeyb.c�����������������������������������������������������������������������0100644�0001760�0000144�00000000443�13210547313�0014571�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/iitkeyb.table" struct a2i_tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(isciikey_iitkeyb_table) / sizeof(struct a2i_tabl); return isciikey_iitkeyb_table; } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/hindi.c�������������������������������������������������������������������������0100644�0001760�0000144�00000000417�13210547313�0014225�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/hindi.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_hindi_table) / sizeof(struct tabl); return iscii_hindi_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/indian.c������������������������������������������������������������������������0100644�0001760�0000144�00000001710�13210547313�0014371�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" char *binsearch(struct tabl *table, int sz, char *word) { int result, index, lindex, hindex; if (word[1] == '\0') { if (0xf1 <= ((unsigned char *)word)[0] && ((unsigned char *)word)[0] <= 0xfa) { /* is digit */ word[0] -= 0xc1; return word; } else if (((unsigned char *)word)[0] == 0xea) { /* full stop */ word[0] = 0x2a; return word; } } lindex = 0; hindex = sz; while (1) { index = (lindex + hindex) / 2; result = strcmp(table[index].iscii, word); if (result == 0) return table[index].font; if (result > 0) hindex = index; if (result < 0) lindex = index + 1; if (lindex >= hindex) return NULL; } } int iscii2font(struct tabl *table, char *input, char *output, int sz) { memset(output, 0, strlen(output)); strcat(output, (char *)split(table, input, sz)); return strlen(output); } ��������������������������������������������������������mlterm-3.8.4/libind/oriya.c�������������������������������������������������������������������������0100644�0001760�0000144�00000000417�13210547313�0014255�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/oriya.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_oriya_table) / sizeof(struct tabl); return iscii_oriya_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/bengali.c�����������������������������������������������������������������������0100644�0001760�0000144�00000000425�13210547313�0014532�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/bengali.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_bengali_table) / sizeof(struct tabl); return iscii_bengali_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/punjabi.c�����������������������������������������������������������������������0100644�0001760�0000144�00000000425�13210547313�0014561�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/punjabi.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_punjabi_table) / sizeof(struct tabl); return iscii_punjabi_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/gujarati.c����������������������������������������������������������������������0100644�0001760�0000144�00000000430�13210547313�0014733�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/gujarati.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_gujarati_table) / sizeof(struct tabl); return iscii_gujarati_table; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/tamil.c�������������������������������������������������������������������������0100644�0001760�0000144�00000000417�13210547313�0014240�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/tamil.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_tamil_table) / sizeof(struct tabl); return iscii_tamil_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/LICENSE�������������������������������������������������������������������������0100644�0001760�0000144�00000002000�13210547313�0013761�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Files in this directory is derived from libind project. (http://www.tenet.res.in/Donlab/Indlinux/X-Windows/download.html) Original license is as follows. ------------------------------------------------------------------- Indian ISCII Library Version: 1.1a-pre1 Copyright (C) 1999, Naoshad A. Mehta and Rudrava Roy This program is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this program (file called GPL); if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. mlterm-3.8.4/libind/Makefile.in���������������������������������������������������������������������0100644�0001760�0000144�00000003627�13210547313�0015041�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������top_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ libexecdir = @libexecdir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ LIBDIR = $(DESTDIR)$(libdir) INCDIR = $(DESTDIR)$(prefix)/include LIBEXECDIR = $(libexecdir) VPATH = $(top_srcdir)/libind CFLAGS = $(CFLAGS_LOCAL) @CFLAGS@ @CPPFLAGS@ -I$(top_srcdir)/libind \ -I/usr/local/include -DLIBDIR=\"$(LIBDIR)\" LIBS = $(LIBS_LOCAL) OBJ = indian.o keyboard.o lex.split.o TBL_OBJ = assamese.o bengali.o gujarati.o hindi.o iitkeyb.o inscript.o \ kannada.o malayalam.o oriya.o punjabi.o tamil.o telugu.o LIBNAME = libind MAJOR = 0 MINOR = 0 LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) all : $(LIBNAME).a $(TBL_OBJ:.o=.la) collect-headers debug : $(LIBNAME).a .SUFFIXES : .c.o .c.o : $(LIBTOOL_CC) -c $< $(LIBNAME).a : $(OBJ) $(LIBTOOL_LINK) -o $(LIBNAME).a $(OBJ:.o=.lo) $(LIBS) .SUFFIXES : .o .la .o.la : $(TBL_OBJ) $(LIBTOOL_LINK) -o libind_$(<:.o=.la) $(<:.o=.lo) -rpath $(LIBDIR) \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) clean : rm -rf $(OBJ) $(OBJ:.o=.lo) $(TBL_OBJ) $(TBL_OBJ:.o=.lo) .libs *.a *.so *.la distclean: clean rm -f Makefile if test "$(top_builddir)" != "$(top_srcdir)" ; then \ rm -f indian.h ; \ fi wc : find . -name "*.[ch]" -a \! -name "test_*" | xargs wc -l lex.split.c : lex -Psplit $(top_srcdir)/libind/syllable.lex # Note that lex doesn't necessarily support -P option. # So lex.split.c is generated by lex in advance and added to source tree. collect-headers: if test "$(top_builddir)" != "$(top_srcdir)" ; then \ cp $(top_srcdir)/libind/indian.h $(top_builddir)/libind/ ;\ fi $(LIBDIR)/mlterm: mkdir -p $(LIBDIR)/mlterm install: $(LIBDIR)/mlterm $(LIBTOOL_INSTALL) *.la $(LIBDIR)/mlterm uninstall: rm -f $(LIBDIR)/mlterm/libind_* ���������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/syllable.lex��������������������������������������������������������������������0100644�0001760�0000144�00000002562�13210547313�0015312�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%{ #include "indian.h" char word[1000], outstr[1000]; int process_it(struct tabl *, int, char *); int my_yyinput(char *, int); #undef YY_INPUT #undef YY_DECL #define YY_INPUT(inp,result,maxlen) { \ (result = (word[0] == '\0') ? YY_NULL : my_yyinput(inp,maxlen)); \ word[0] = '\0'; \ } #define YY_DECL int yylex (struct tabl *table, int sz) %} CNS [³-Ø] VOWELS [¤-²] MATRAS [Ú-ç] VOWMOD [¡¢£] HALMWA [è] NUKTA [é] NON_DEV [M] DIGIT_STOP [êñ-ú] %% {VOWELS}?{VOWMOD}?{NUKTA}? | {CNS}{VOWMOD}?{HALMWA}?{NON_DEV} | ({CNS}{NUKTA}?{HALMWA})*{CNS}{NUKTA}?{HALMWA}?{HALMWA}?{MATRAS}?{VOWMOD}? | {MATRAS} | {DIGIT_STOP} | {CNS}?{HALMWA}{NUKTA}?{CNS}? process_it(table, sz, yytext); %% int my_yyinput(char *buf, int max_size) { strcpy(buf,word); return strlen(word); } char *split(struct tabl *table, char *input1, int sz) { memset(outstr,0,1000); strcpy(word,input1); splitlex(table, sz); return outstr; } int process_it(struct tabl *table, int sz, char *inpword) { char *p; size_t len; char tmp; int i; len = strlen(inpword); tmp = '\0'; while(1) { for(i = len; i > 0; i--) { tmp = inpword[i]; inpword[i] = '\0'; p = binsearch(table, sz, inpword); inpword[i] = tmp; if(p) { strcat(outstr,p); break; } } if(i == 0) i = 1; if((len -= i) > 0) { inpword += i; } else { break; } } return 1; } int splitwrap(){ return 1; } ����������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/malayalam.c���������������������������������������������������������������������0100644�0001760�0000144�00000000433�13210547313�0015066�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/malayalam.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_malayalam_table) / sizeof(struct tabl); return iscii_malayalam_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/lex.split.c���������������������������������������������������������������������0100644�0001760�0000144�00000116074�13210547313�0015063�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #define yy_create_buffer split_create_buffer #define yy_delete_buffer split_delete_buffer #define yy_scan_buffer split_scan_buffer #define yy_scan_string split_scan_string #define yy_scan_bytes split_scan_bytes #define yy_flex_debug split_flex_debug #define yy_init_buffer split_init_buffer #define yy_flush_buffer split_flush_buffer #define yy_load_buffer_state split_load_buffer_state #define yy_switch_to_buffer split_switch_to_buffer #define yyin splitin #define yyleng splitleng #define yylex splitlex #define yyout splitout #define yyrestart splitrestart #define yytext splittext #define yywrap splitwrap /* A lexical scanner generated by flex */ /* Scanner skeleton version: * $NetBSD: flex.skl,v 1.20 2004/02/01 21:24:02 christos Exp $ */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #include <stdio.h> /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ #ifdef c_plusplus #ifndef __cplusplus #define __cplusplus #endif #endif #ifdef __cplusplus #include <stdlib.h> #include <unistd.h> /* Use prototypes in function declarations. */ #define YY_USE_PROTOS /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ #if __STDC__ #define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #endif /* ! __cplusplus */ #ifdef __TURBOC__ #pragma warn - rch #pragma warn - use #include <io.h> #include <stdlib.h> #define YY_USE_CONST #define YY_USE_PROTOS #endif #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif #ifdef YY_USE_PROTOS #define YY_PROTO(proto) proto #else #define YY_PROTO(proto) () #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int)(unsigned char)c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN yy_start = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START ((yy_start - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart(yyin) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #define YY_BUF_SIZE 16384 typedef struct yy_buffer_state *YY_BUFFER_STATE; extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 /* The funky do-while in the following #define is used to turn the definition * int a single C statement (which needs a semi-colon terminator). This * avoids problems with code like: * * if ( condition_holds ) * yyless( 5 ); * else * do_something_else(); * * Prior to using the do-while the compiler would get upset at the * "else" because it interpreted the "if" statement as being all * done when it reached the ';' after the yyless() call. */ /* Return all but the first 'n' matched characters back to the input stream. */ #define yyless(n) \ do { \ /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } while (0) #define unput(c) yyunput(c, yytext_ptr) /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). */ typedef unsigned int yy_size_t; struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; static YY_BUFFER_STATE yy_current_buffer = 0; /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". */ #define YY_CURRENT_BUFFER yy_current_buffer /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *)0; static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart YY_PROTO((FILE * input_file)); void yy_switch_to_buffer YY_PROTO((YY_BUFFER_STATE new_buffer)); void yy_load_buffer_state YY_PROTO((void)); YY_BUFFER_STATE yy_create_buffer YY_PROTO((FILE * file, int size)); void yy_delete_buffer YY_PROTO((YY_BUFFER_STATE b)); void yy_init_buffer YY_PROTO((YY_BUFFER_STATE b, FILE *file)); void yy_flush_buffer YY_PROTO((YY_BUFFER_STATE b)); #define YY_FLUSH_BUFFER yy_flush_buffer(yy_current_buffer) YY_BUFFER_STATE yy_scan_buffer YY_PROTO((char *base, yy_size_t size)); YY_BUFFER_STATE yy_scan_string YY_PROTO((yyconst char *yy_str)); YY_BUFFER_STATE yy_scan_bytes YY_PROTO((yyconst char *bytes, yy_size_t len)); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if (!yy_current_buffer) yy_current_buffer = yy_create_buffer(yyin, YY_BUF_SIZE); \ yy_current_buffer->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if (!yy_current_buffer) yy_current_buffer = yy_create_buffer(yyin, YY_BUF_SIZE); \ yy_current_buffer->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) typedef unsigned char YY_CHAR; FILE *yyin = (FILE *)0, *yyout = (FILE *)0; typedef int yy_state_type; extern char *yytext; #define yytext_ptr yytext static void *yy_flex_alloc YY_PROTO((yy_size_t)); static void *yy_flex_realloc YY_PROTO((void *, yy_size_t)) #ifdef __GNUC__ __attribute__((__unused__)) #endif ; static void yy_flex_free YY_PROTO((void *)); static yy_state_type yy_get_previous_state YY_PROTO((void)); static yy_state_type yy_try_NUL_trans YY_PROTO((yy_state_type current_state)); static int yy_get_next_buffer YY_PROTO((void)); static void yy_fatal_error YY_PROTO((yyconst char msg[])); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yytext_ptr = yy_bp; \ yyleng = (int)(yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; #define YY_NUM_RULES 7 #define YY_END_OF_BUFFER 8 static yyconst short int yy_accept[28] = {0, 1, 1, 8, 7, 1, 1, 3, 4, 6, 1, 5, 1, 1, 2, 3, 3, 3, 3, 6, 6, 0, 3, 3, 3, 3, 3, 0}; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 9, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 1, 1, 1, 1, 1}; static yyconst int yy_meta[10] = {0, 1, 1, 1, 1, 1, 1, 1, 1, 1}; static yyconst short int yy_base[28] = {0, 0, 0, 25, 48, 16, 7, 14, 48, 18, 48, 48, 48, 11, 48, 25, 15, 31, 37, 48, 9, 11, 48, 4, 4, 40, 0, 48}; static yyconst short int yy_def[28] = {0, 27, 1, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 18, 18, 18, 23, 0}; static yyconst short int yy_nxt[58] = {0, 4, 4, 5, 6, 7, 8, 9, 10, 11, 13, 27, 18, 14, 19, 12, 14, 15, 22, 12, 16, 17, 18, 19, 12, 27, 20, 14, 27, 27, 27, 27, 21, 14, 22, 27, 23, 16, 24, 20, 22, 27, 27, 16, 25, 26, 27, 24, 3, 27, 27, 27, 27, 27, 27, 27, 27, 27}; static yyconst short int yy_chk[58] = {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 24, 23, 21, 20, 6, 7, 7, 16, 13, 7, 7, 7, 9, 5, 3, 9, 15, 0, 0, 0, 0, 15, 17, 17, 0, 17, 17, 17, 17, 18, 0, 0, 18, 18, 25, 0, 25, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27}; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "../../hgsrc/libind/syllable.lex" #define INITIAL 0 #line 2 "../../hgsrc/libind/syllable.lex" #include "indian.h" char word[1000], outstr[1000]; int process_it(struct tabl *, int, char *); int my_yyinput(char *, int); #undef YY_INPUT #undef YY_DECL #define YY_INPUT(inp, result, maxlen) \ { \ (result = (word[0] == '\0') ? YY_NULL : my_yyinput(inp, maxlen)); \ word[0] = '\0'; \ } #define YY_DECL int yylex(struct tabl *table, int sz) #line 416 "lex.split.c" /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap YY_PROTO((void)); #else extern int yywrap YY_PROTO((void)); #endif #endif #ifndef YY_NO_UNPUT static void yyunput YY_PROTO((int c, char *buf_ptr)) #ifdef __GNUC__ __attribute__((__unused__)) #endif ; #endif #ifndef yytext_ptr static void yy_flex_strncpy YY_PROTO((char *, yyconst char *, yy_size_t)); #endif #ifdef YY_NEED_STRLEN static yy_size_t yy_flex_strlen YY_PROTO((yyconst char *)); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput YY_PROTO((void)); #else static int input YY_PROTO((void)); #endif #endif #if YY_STACK_USED static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = 0; #ifndef YY_NO_PUSH_STATE static void yy_push_state YY_PROTO((int new_state)); #endif #ifndef YY_NO_POP_STATE static void yy_pop_state YY_PROTO((void)); #endif #ifndef YY_NO_TOP_STATE static int yy_top_state YY_PROTO((void)); #endif #else #define YY_NO_PUSH_STATE 1 #define YY_NO_POP_STATE 1 #define YY_NO_TOP_STATE 1 #endif #ifdef YY_MALLOC_DECL YY_MALLOC_DECL #else #if __STDC__ #ifndef __cplusplus #include <stdlib.h> #endif #else /* Just try to get by without declaring the routines. This will fail * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) * or sizeof(void*) != sizeof(int). */ #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO (void) fwrite(yytext, (size_t)yyleng, 1, yyout) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf, result, max_size) \ if (yy_current_buffer->yy_is_interactive) { \ int c = '*', n; \ for (n = 0; n < max_size && (c = getc(yyin)) != EOF && c != '\n'; ++n) buf[n] = (char)c; \ if (c == '\n') buf[n++] = (char)c; \ if (c == EOF && ferror(yyin)) YY_FATAL_ERROR("input in flex scanner failed"); \ result = n; \ } else if (((result = fread(buf, 1, (size_t)max_size, yyin)) == 0) && ferror(yyin)) \ YY_FATAL_ERROR("input in flex scanner failed"); #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error(msg) #endif /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL int yylex YY_PROTO((void)) #endif /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK /*LINTED*/ break; #endif #define YY_RULE_SETUP YY_USER_ACTION YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 27 "../../hgsrc/libind/syllable.lex" #line 574 "lex.split.c" #if defined(YY_USES_REJECT) && (defined(__GNUC__) || defined(lint)) /* XXX: shut up `unused label' warning with %options yylineno */ if (/*CONSTCOND*/ 0 && yy_full_match) goto find_rule; #endif if (yy_init) { yy_init = 0; #ifdef YY_USER_INIT YY_USER_INIT; #endif if (!yy_start) yy_start = 1; /* first start state */ if (!yyin) yyin = stdin; if (!yyout) yyout = stdout; if (!yy_current_buffer) yy_current_buffer = yy_create_buffer(yyin, YY_BUF_SIZE); yy_load_buffer_state(); } while (/*CONSTCOND*/ 1) /* loops until end-of-file is reached */ { yy_cp = yy_c_buf_p; /* Support of yytext. */ *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = yy_start; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if (yy_accept[yy_current_state]) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int)yy_def[yy_current_state]; if (yy_current_state >= 28) yy_c = yy_meta[(unsigned int)yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c]; ++yy_cp; } while (yy_base[yy_current_state] != 48); yy_find_action: yy_act = yy_accept[yy_current_state]; if (yy_act == 0) { /* have to back up */ yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch (yy_act) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = yy_hold_char; yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; goto yy_find_action; case 1: #line 30 "../../hgsrc/libind/syllable.lex" case 2: #line 31 "../../hgsrc/libind/syllable.lex" case 3: #line 32 "../../hgsrc/libind/syllable.lex" case 4: #line 33 "../../hgsrc/libind/syllable.lex" case 5: #line 34 "../../hgsrc/libind/syllable.lex" case 6: YY_RULE_SETUP #line 34 "../../hgsrc/libind/syllable.lex" process_it(table, sz, yytext); YY_BREAK case 7: YY_RULE_SETUP #line 36 "../../hgsrc/libind/syllable.lex" ECHO; YY_BREAK #line 682 "lex.split.c" case YY_STATE_EOF(INITIAL): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int)(yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = yy_hold_char; YY_RESTORE_YY_MORE_OFFSET if (yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between yy_current_buffer and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ yy_n_chars = yy_current_buffer->yy_n_chars; yy_current_buffer->yy_input_file = yyin; yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if (yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars]) { /* This was really a NUL. */ yy_state_type yy_next_state; yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans(yy_current_state); yy_bp = yytext_ptr + YY_MORE_ADJ; if (yy_next_state) { /* Consume the NUL. */ yy_cp = ++yy_c_buf_p; yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = yy_c_buf_p; goto yy_find_action; } } else switch (yy_get_next_buffer()) { case EOB_ACT_END_OF_FILE: { yy_did_buffer_switch_on_eof = 0; if (yywrap()) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if (!yy_did_buffer_switch_on_eof) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: yy_c_buf_p = &yy_current_buffer->yy_ch_buf[yy_n_chars]; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR("fatal flex scanner internal error--no action found"); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer() { register char *dest = yy_current_buffer->yy_ch_buf; register char *source = yytext_ptr; register int number_to_move, i; int ret_val; if (yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1]) YY_FATAL_ERROR("fatal flex scanner internal error--end of buffer missed"); if (yy_current_buffer->yy_fill_buffer == 0) { /* Don't try to fill the buffer, so this is an EOF. */ if (yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int)(yy_c_buf_p - yytext_ptr) - 1; for (i = 0; i < number_to_move; ++i) *(dest++) = *(source++); if (yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ yy_current_buffer->yy_n_chars = yy_n_chars = 0; else { int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */ #ifdef YY_USES_REJECT YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses " "REJECT"); #else /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = yy_current_buffer; int yy_c_buf_p_offset = (int)(yy_c_buf_p - b->yy_ch_buf); if (b->yy_is_our_buffer) { int new_size = b->yy_buf_size * 2; if (new_size <= 0) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yy_flex_realloc((void *)b->yy_ch_buf, b->yy_buf_size + 2); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if (!b->yy_ch_buf) YY_FATAL_ERROR("fatal error - scanner input buffer overflow"); yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; #endif } if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT((&yy_current_buffer->yy_ch_buf[number_to_move]), yy_n_chars, num_to_read); yy_current_buffer->yy_n_chars = yy_n_chars; } if (yy_n_chars == 0) { if (number_to_move == YY_MORE_ADJ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart(yyin); } else { ret_val = EOB_ACT_LAST_MATCH; yy_current_buffer->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; yy_n_chars += number_to_move; yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state() { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = yy_start; for (yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if (yy_accept[yy_current_state]) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int)yy_def[yy_current_state]; if (yy_current_state >= 28) yy_c = yy_meta[(unsigned int)yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c]; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ #ifdef YY_USE_PROTOS static yy_state_type yy_try_NUL_trans(yy_state_type yy_current_state) #else static yy_state_type yy_try_NUL_trans(yy_current_state) yy_state_type yy_current_state; #endif { register int yy_is_jam; register char *yy_cp = yy_c_buf_p; register YY_CHAR yy_c = 1; if (yy_accept[yy_current_state]) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int)yy_def[yy_current_state]; if (yy_current_state >= 28) yy_c = yy_meta[(unsigned int)yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int)yy_c]; yy_is_jam = (yy_current_state == 27); return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_UNPUT #ifdef YY_USE_PROTOS static void yyunput(int c, register char *yy_bp) #else static void yyunput(c, yy_bp) int c; register char *yy_bp; #endif { register char *yy_cp = yy_c_buf_p; /* undo effects of setting up yytext */ *yy_cp = yy_hold_char; if (yy_cp < yy_current_buffer->yy_ch_buf + 2) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = yy_n_chars + 2; register char *dest = &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2]; register char *source = &yy_current_buffer->yy_ch_buf[number_to_move]; while (source > yy_current_buffer->yy_ch_buf) *--dest = *--source; yy_cp += (int)(dest - source); yy_bp += (int)(dest - source); yy_current_buffer->yy_n_chars = yy_n_chars = yy_current_buffer->yy_buf_size; if (yy_cp < yy_current_buffer->yy_ch_buf + 2) YY_FATAL_ERROR("flex scanner push-back overflow"); } *--yy_cp = (char)c; yytext_ptr = yy_bp; yy_hold_char = *yy_cp; yy_c_buf_p = yy_cp; } #endif /* ifndef YY_NO_UNPUT */ #ifdef __cplusplus static int yyinput() #else static int input() #endif { int c; *yy_c_buf_p = yy_hold_char; if (*yy_c_buf_p == YY_END_OF_BUFFER_CHAR) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if (yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars]) /* This was really a NUL. */ *yy_c_buf_p = '\0'; else { /* need more input */ int offset = yy_c_buf_p - yytext_ptr; ++yy_c_buf_p; switch (yy_get_next_buffer()) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart(yyin); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if (yywrap()) return EOF; if (!yy_did_buffer_switch_on_eof) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + offset; break; } } } c = *(unsigned char *)yy_c_buf_p; /* cast for 8-bit char's */ *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; return c; } #ifdef YY_USE_PROTOS void yyrestart(FILE *input_file) #else void yyrestart(input_file) FILE *input_file; #endif { if (!yy_current_buffer) yy_current_buffer = yy_create_buffer(yyin, YY_BUF_SIZE); yy_init_buffer(yy_current_buffer, input_file); yy_load_buffer_state(); } #ifdef YY_USE_PROTOS void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer) #else void yy_switch_to_buffer(new_buffer) YY_BUFFER_STATE new_buffer; #endif { if (yy_current_buffer == new_buffer) return; if (yy_current_buffer) { /* Flush out information for old buffer. */ *yy_c_buf_p = yy_hold_char; yy_current_buffer->yy_buf_pos = yy_c_buf_p; yy_current_buffer->yy_n_chars = yy_n_chars; } yy_current_buffer = new_buffer; yy_load_buffer_state(); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ yy_did_buffer_switch_on_eof = 1; } #ifdef YY_USE_PROTOS void yy_load_buffer_state(void) #else void yy_load_buffer_state() #endif { yy_n_chars = yy_current_buffer->yy_n_chars; yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; yyin = yy_current_buffer->yy_input_file; yy_hold_char = *yy_c_buf_p; } #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_create_buffer(FILE *file, int size) #else YY_BUFFER_STATE yy_create_buffer(file, size) FILE *file; int size; #endif { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state)); if (!b) YY_FATAL_ERROR("out of dynamic memory in yy_create_buffer()"); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *)yy_flex_alloc(b->yy_buf_size + 2); if (!b->yy_ch_buf) YY_FATAL_ERROR("out of dynamic memory in yy_create_buffer()"); b->yy_is_our_buffer = 1; yy_init_buffer(b, file); return b; } #ifdef YY_USE_PROTOS void yy_delete_buffer(YY_BUFFER_STATE b) #else void yy_delete_buffer(b) YY_BUFFER_STATE b; #endif { if (!b) return; if (b == yy_current_buffer) yy_current_buffer = (YY_BUFFER_STATE)0; if (b->yy_is_our_buffer) yy_flex_free((void *)b->yy_ch_buf); yy_flex_free((void *)b); } #ifndef YY_ALWAYS_INTERACTIVE #ifndef YY_NEVER_INTERACTIVE #include <unistd.h> #endif #endif #ifdef YY_USE_PROTOS void yy_init_buffer(YY_BUFFER_STATE b, FILE *file) #else void yy_init_buffer(b, file) YY_BUFFER_STATE b; FILE *file; #endif { yy_flush_buffer(b); b->yy_input_file = file; b->yy_fill_buffer = 1; #if YY_ALWAYS_INTERACTIVE b->yy_is_interactive = 1; #else #if YY_NEVER_INTERACTIVE b->yy_is_interactive = 0; #else b->yy_is_interactive = file ? (isatty(fileno(file)) > 0) : 0; #endif #endif } #ifdef YY_USE_PROTOS void yy_flush_buffer(YY_BUFFER_STATE b) #else void yy_flush_buffer(b) YY_BUFFER_STATE b; #endif { if (!b) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if (b == yy_current_buffer) yy_load_buffer_state(); } #ifndef YY_NO_SCAN_BUFFER #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_buffer(char *base, yy_size_t size) #else YY_BUFFER_STATE yy_scan_buffer(base, size) char *base; yy_size_t size; #endif { YY_BUFFER_STATE b; if (size < 2 || base[size - 2] != YY_END_OF_BUFFER_CHAR || base[size - 1] != YY_END_OF_BUFFER_CHAR) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE)yy_flex_alloc(sizeof(struct yy_buffer_state)); if (!b) YY_FATAL_ERROR("out of dynamic memory in yy_scan_buffer()"); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer(b); return b; } #endif #ifndef YY_NO_SCAN_STRING #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_string(yyconst char *yy_str) #else YY_BUFFER_STATE yy_scan_string(yy_str) yyconst char *yy_str; #endif { yy_size_t len; for (len = 0; yy_str[len]; ++len) ; return yy_scan_bytes(yy_str, len); } #endif #ifndef YY_NO_SCAN_BYTES #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_bytes(yyconst char *bytes, yy_size_t len) #else YY_BUFFER_STATE yy_scan_bytes(bytes, len) yyconst char *bytes; yy_size_t len; #endif { YY_BUFFER_STATE b; char *buf; yy_size_t n, i; /* Get memory for full buffer, including space for trailing EOB's. */ n = len + 2; buf = (char *)yy_flex_alloc(n); if (!buf) YY_FATAL_ERROR("out of dynamic memory in yy_scan_bytes()"); for (i = 0; i < len; ++i) buf[i] = bytes[i]; buf[len] = buf[len + 1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer(buf, n); if (!b) YY_FATAL_ERROR("bad buffer in yy_scan_bytes()"); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #endif #ifndef YY_NO_PUSH_STATE #ifdef YY_USE_PROTOS static void yy_push_state(int new_state) #else static void yy_push_state(new_state) int new_state; #endif { if (yy_start_stack_ptr >= yy_start_stack_depth) { yy_size_t new_size; yy_start_stack_depth += YY_START_STACK_INCR; new_size = yy_start_stack_depth * sizeof(int); if (!yy_start_stack) yy_start_stack = (int *)yy_flex_alloc(new_size); else yy_start_stack = (int *)yy_flex_realloc((void *)yy_start_stack, new_size); if (!yy_start_stack) YY_FATAL_ERROR("out of memory expanding start-condition stack"); } yy_start_stack[yy_start_stack_ptr++] = YY_START; BEGIN(new_state); } #endif #ifndef YY_NO_POP_STATE static void yy_pop_state() { if (--yy_start_stack_ptr < 0) YY_FATAL_ERROR("start-condition stack underflow"); BEGIN(yy_start_stack[yy_start_stack_ptr]); } #endif #ifndef YY_NO_TOP_STATE static int yy_top_state() { return yy_start_stack[yy_start_stack_ptr - 1]; } #endif #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif #ifdef YY_USE_PROTOS static void yy_fatal_error(yyconst char msg[]) #else static void yy_fatal_error(msg) char msg[]; #endif { (void)fprintf(stderr, "%s\n", msg); exit(YY_EXIT_FAILURE); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do { \ /* Undo effects of setting up yytext. */ \ yytext[yyleng] = yy_hold_char; \ yy_c_buf_p = yytext + n; \ yy_hold_char = *yy_c_buf_p; \ *yy_c_buf_p = '\0'; \ yyleng = n; \ } while (0) /* Internal utility routines. */ #ifndef yytext_ptr #ifdef YY_USE_PROTOS static void yy_flex_strncpy(char *s1, yyconst char *s2, yy_size_t n) #else static void yy_flex_strncpy(s1, s2, n) char *s1; yyconst char *s2; yy_size_t n; #endif { register yy_size_t i; for (i = 0; i < n; ++i) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN #ifdef YY_USE_PROTOS static yy_size_t yy_flex_strlen(yyconst char *s) #else static yy_size_t yy_flex_strlen(s) yyconst char *s; #endif { register yy_size_t n; for (n = 0; s[n]; ++n) ; return n; } #endif #ifdef YY_USE_PROTOS static void *yy_flex_alloc(yy_size_t size) #else static void *yy_flex_alloc(size) yy_size_t size; #endif { return (void *)malloc(size); } #ifdef YY_USE_PROTOS static void *yy_flex_realloc(void *ptr, yy_size_t size) #else static void *yy_flex_realloc(ptr, size) void *ptr; yy_size_t size; #endif { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *)realloc((char *)ptr, size); } #ifdef YY_USE_PROTOS static void yy_flex_free(void *ptr) #else static void yy_flex_free(ptr) void *ptr; #endif { free(ptr); } #if YY_MAIN int main() { yylex(); return 0; } #endif #line 36 "../../hgsrc/libind/syllable.lex" int my_yyinput(char *buf, int max_size) { strcpy(buf, word); return strlen(word); } char *split(struct tabl *table, char *input1, int sz) { memset(outstr, 0, 1000); strcpy(word, input1); splitlex(table, sz); return outstr; } int process_it(struct tabl *table, int sz, char *inpword) { char *p; size_t len; char tmp; int i; len = strlen(inpword); tmp = '\0'; while (1) { for (i = len; i > 0; i--) { tmp = inpword[i]; inpword[i] = '\0'; p = binsearch(table, sz, inpword); inpword[i] = tmp; if (p) { strcat(outstr, p); break; } } if (i == 0) i = 1; if ((len -= i) > 0) { inpword += i; } else { break; } } return 1; } int splitwrap() { return 1; } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/indian.h������������������������������������������������������������������������0100644�0001760�0000144�00000001441�13210547313�0014377�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* indian.h - This is the header file used for incorporating Indian Script * support in X Windows Applications. * Copyright (C) 1999, Naoshad A. Mehta, Rudrava Roy */ #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> /* Structure to hold key maps */ struct a2i_tabl { char *ascii; char *iscii; }; /* Structure to hold font map */ struct tabl { char *iscii; char *font; }; /* Private function prototypes */ char *binsearch(struct tabl *, int, char *); char *split(struct tabl *, char *, int); /* Public function prototypes */ int iscii2font(struct tabl *, char *, char *, int); char *ins2iscii(struct a2i_tabl *, char *, int); char *iitk2iscii(struct a2i_tabl *, char *, char *, int); �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/assamese.c����������������������������������������������������������������������0100644�0001760�0000144�00000000430�13210547313�0014726�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/assamese.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_assamese_table) / sizeof(struct tabl); return iscii_assamese_table; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/keyboard.c����������������������������������������������������������������������0100644�0001760�0000144�00000003576�13210547313�0014743�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" static char *a2i_binsearch(struct a2i_tabl *a2i_table, char *word, int lindex, int hindex) { int mindex, result; while (lindex < hindex) { mindex = (lindex + hindex) / 2; result = strcmp(a2i_table[mindex].ascii, word); if (result == 0) return a2i_table[mindex].iscii; if (result > 0) hindex = mindex; if (result < 0) lindex = mindex + 1; } return word; } /* IIT Kanpur WX-Keyboard */ static int matra(char *mstr) { int i; char mvowels[11] = {'A', 'i', 'I', 'H', 'u', 'U', 'q', 'e', 'E', 'o', 'O'}; for (i = 0; i < 11; i++) if (mstr[0] == mvowels[i]) return 1; return 0; } char *iitk2iscii(struct a2i_tabl *a2i_table, char *buf, char *remem, int a2i_sz) { char bufferi[1000], buffer1[1000]; if (buf[0] == 'a') remem[0] = buf[0]; strcpy(bufferi, buf); memset(buffer1, 0, 1000); if (remem[0] == 'a' && (matra(bufferi) == 1) && bufferi[0] != 'a') { bufferi[1] = bufferi[0]; bufferi[0] = 'a'; bufferi[2] = '\0'; sprintf(buffer1 + strlen(buffer1), "\b%s", a2i_binsearch(a2i_table, bufferi, 0, a2i_sz)); } else { memset(remem, 0, 5); strcpy(buffer1, a2i_binsearch(a2i_table, bufferi, 0, a2i_sz)); } memset(buf, 0, 8); strncpy(buf, buffer1, strlen(buffer1)); return buf; } /* Inscript Keyboard */ static char *ins_process(struct a2i_tabl *a2i_table, char *str, int a2i_sz) { char *buffer1; buffer1 = (char *)malloc(1000); sprintf(buffer1, "%s", (char *)a2i_binsearch(a2i_table, str, 0, a2i_sz)); return buffer1; } char *ins2iscii(struct a2i_tabl *a2i_table, char *kbuf, int a2i_sz) { char *buffer1, *bufferi; bufferi = (char *)calloc(1000, sizeof(char)); strcat(bufferi, kbuf); buffer1 = ins_process(a2i_table, bufferi, a2i_sz); strncpy(kbuf, buffer1, strlen(buffer1)); free(bufferi); free(buffer1); return kbuf; } ����������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/kannada.c�����������������������������������������������������������������������0100644�0001760�0000144�00000000425�13210547313�0014526�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/kannada.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_kannada_table) / sizeof(struct tabl); return iscii_kannada_table; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/libind/telugu.c������������������������������������������������������������������������0100644�0001760�0000144�00000000422�13210547313�0014433�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "indian.h" #include "table/telugu.table" struct tabl *libind_get_table(unsigned int *table_size) { *table_size = sizeof(iscii_telugu_table) / sizeof(struct tabl); return iscii_telugu_table; } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java�����������������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547313�0012370�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm����������������������������������������������������������������������������0040755�0001760�0000144�00000000000�13210547313�0013670�5����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/MLTermPtyListener.java�����������������������������������������������������0100644�0001760�0000144�00000000661�13210547313�0020155�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; public interface MLTermPtyListener { public void executeCommand(String cmd); public void linesScrolledOut(int size); /* * If width and height are greater than 0, resize by pixel. * If cols and rows are greater than 0, resize by character. */ public void resize(int width, int height, int cols, int rows); public void bell(); } �������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/MLTermPty.java�������������������������������������������������������������0100644�0001760�0000144�00000016175�13210547313�0016456�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; import java.io.*; import java.util.jar.*; import java.net.*; import java.util.*; public class MLTermPty { final private static boolean DEBUG = false; private Object auxData = null; private native static void setLibDir(String dir); private static void loadLibraryFromJar() { Manifest mf = null; try { Enumeration urls = Thread.currentThread().getContextClassLoader().getResources("META-INF/MANIFEST.MF"); while (urls.hasMoreElements()) { URL url = (URL) urls.nextElement(); int beg_pos = url.getPath().indexOf("mlterm"); if (beg_pos != -1) { int end_pos = url.getPath().indexOf(".jar", beg_pos); if (end_pos != -1 && /* is jar file. */ /* is end element of path. */ url.getPath().lastIndexOf(System.getProperty("file.separator"), end_pos) < beg_pos) { InputStream is = url.openStream(); try { mf = new Manifest(is); } catch (IOException e1) { } is.close(); break; } } } } catch (IOException e2) { return; } if (mf == null) { return; } String dir = getConfigDirectory() + "java" + System.getProperty("file.separator"); File d = new File(dir); d.mkdirs(); d.setWritable(true, true); d.setReadable(true, true); String[] files = mf.getMainAttributes().getValue("Bundle-NativeCode").split(";"); byte[] buf = new byte[4096]; for (int count = 0; count < files.length; count++) { if (true) { System.out.println("Writing " + dir + files[count]); } InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(files[count]); try { OutputStream os = new FileOutputStream(dir + files[count], false); try { while (true) { int size = is.read(buf); if (size < 0) { break; } os.write(buf, 0, size); } } catch (IOException e3) { } os.close(); } catch (IOException e4) { } try { is.close(); } catch (IOException e5) { } } boolean[] results = new boolean[files.length]; /* init value is false. */ boolean errorHappened = false; for (int trial = 0; trial < files.length; trial++) { errorHappened = false; for (int count = 0; count < files.length; count++) { if (!results[count] && files[count].indexOf('_') == -1 && /* libmef_xxx is not loaded. */ files[count].indexOf(".exe") == -1) /* plink.exe is not loaded. */ { try { if (true) { System.out.print("Loading " + dir + files[count]); } System.load(dir + files[count]); results[count] = true; if (true) { System.out.println(" ... done."); } } catch (UnsatisfiedLinkError e) { if (true) { System.out.println(" ... failed."); } errorHappened = true; } } } if (!errorHappened) { break; } } if (errorHappened) { throw new UnsatisfiedLinkError(); } setLibDir(dir); } static { try { if (DEBUG) { System.out.println(System.getProperty("java.library.path")); } System.loadLibrary("MLTermPty"); } catch (UnsatisfiedLinkError e) { if (DEBUG) { e.printStackTrace(); } loadLibraryFromJar(); } } public static String getConfigDirectory() { StringBuilder strb = new StringBuilder(); strb.append(System.getProperty("user.home")); strb.append(System.getProperty("file.separator")); if (System.getProperty("os.name").indexOf("Windows") >= 0) { strb.append("mlterm"); } else { strb.append(".mlterm"); } strb.append(System.getProperty("file.separator")); return strb.toString(); } public void setAuxData(Object data) { auxData = data; } public Object getAuxData() { return auxData; } private long nativeObj = 0; private native long nativeOpen( String host, String pass, int cols, int rows, String encoding, String[] argv); public boolean open( String host, String pass, int cols, int rows, String encoding, String[] argv) { nativeObj = nativeOpen(host, pass, cols, rows, encoding, argv); if (nativeObj == 0) { return false; } else { return true; } } private native void nativeClose(long obj); public void close() { nativeClose(nativeObj); nativeObj = 0; } private native void nativeSetListener(long obj, Object listener); public void setListener(MLTermPtyListener listener) { nativeSetListener(nativeObj, listener); } public native static boolean waitForReading(); private native boolean nativeIsActive(long obj); public boolean isActive() { return nativeIsActive(nativeObj); } private native boolean nativeRead(long obj); public boolean read() { return nativeRead(nativeObj); } private native boolean nativeWrite(long obj, String str); public boolean write(String str) { return nativeWrite(nativeObj, str); } private native boolean nativeWriteModifiedKey(long obj, int key, int modcode); public boolean writeModifiedKey(int key, int modcode) { return nativeWriteModifiedKey(nativeObj, key, modcode); } private native boolean nativeWriteSpecialKey(long obj, int key, int modcode); public boolean writeSpecialKey(int key, int modcode) { return nativeWriteSpecialKey(nativeObj, key, modcode); } private native boolean nativeResize(long obj, int cols, int rows); public void resize(int cols, int rows) { nativeResize(nativeObj, cols, rows); } private native boolean nativeGetRedrawString(long obj, int row, RedrawRegion region); public boolean getRedrawString(int row, RedrawRegion region) { return nativeGetRedrawString(nativeObj, row, region); } private native int nativeGetRows(long obj); public int getRows() { return nativeGetRows(nativeObj); } private native int nativeGetCols(long obj); public int getCols() { return nativeGetCols(nativeObj); } private native int nativeGetCaretRow(long obj); public int getCaretRow() { return nativeGetCaretRow(nativeObj); } private native int nativeGetCaretCol(long obj); public int getCaretCol() { return nativeGetCaretCol(nativeObj); } private native boolean nativeIsTrackingMouse(long obj, int button, boolean isMotion); public boolean isTrackingMouse(int button, boolean isMotion) { return nativeIsTrackingMouse(nativeObj, button, isMotion); } private native void nativeReportMouseTracking(long obj, int char_index, int row, int button, int state, boolean isMotion, boolean isReleased); public void reportMouseTracking( int char_index, int row, int button, int state, boolean isMotion, boolean isReleased) { nativeReportMouseTracking(nativeObj, char_index, row, button, state, isMotion, isReleased); } public native static long getColorRGB(String color); } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/Style.java�����������������������������������������������������������������0100644�0001760�0000144�00000000620�13210547313�0015705�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; public class Style { public int length = 0; public int start = 0; public int fg_color = 0; public int fg_pixel = 0; public int bg_color = 0; public int bg_pixel = 0; public boolean underline = false; public boolean strikeout = false; public boolean bold = false; public boolean italic = false; } ����������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/ConnectDialog.java���������������������������������������������������������0100644�0001760�0000144�00000016307�13210547313�0017327�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.events.*; public class ConnectDialog extends Dialog { private String proto = "ssh"; private boolean okPressed = false; private boolean cancelPressed = false; public ConnectDialog(Shell parent, int style) { super(parent, style); } public ConnectDialog(Shell parent) { this(parent, 0); } /* * Return value: * String[0] -> host * String[1] -> password * String[2] -> encoding (can be null) * String[3] -> exec cmd (can be null) */ public String[] open(String uri) { Shell shell = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); shell.setText(getText()); shell.setLayout(new GridLayout(2, false)); if (uri == null) { uri = ""; } else { String[] array = uri.split("://"); if (array.length == 2) { proto = array[0]; uri = array[1]; } } /* Protocol */ Label label = new Label(shell, SWT.NONE); label.setText("Protocol"); Composite comp = new Composite(shell, SWT.NONE); RowLayout rowLayout = new RowLayout(); rowLayout.fill = true; rowLayout.center = true; rowLayout.justify = true; comp.setLayout(rowLayout); Button ssh = new Button(comp, SWT.RADIO); ssh.setText("SSH"); if (proto.equals("ssh")) { ssh.setSelection(true); } ssh.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { proto = "ssh"; } }); Button telnet = new Button(comp, SWT.RADIO); telnet.setText("TELNET"); if (proto.equals("telnet")) { telnet.setSelection(true); } telnet.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { proto = "telnet"; } }); Button rlogin = new Button(comp, SWT.RADIO); rlogin.setText("RLOGIN"); if (proto.equals("rlogin")) { rlogin.setSelection(true); } rlogin.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { proto = "rlogin"; } }); comp.pack(); /* Server */ label = new Label(shell, SWT.NONE); label.setText("Server"); Text server = new Text(shell, SWT.BORDER); GridData textGrid = new GridData(GridData.FILL_HORIZONTAL); server.setLayoutData(textGrid); /* Port */ label = new Label(shell, SWT.NONE); label.setText("Port"); Text port = new Text(shell, SWT.BORDER); port.setLayoutData(textGrid); /* User */ label = new Label(shell, SWT.NONE); label.setText("User"); Text user = new Text(shell, SWT.BORDER); user.setLayoutData(textGrid); /* Password */ label = new Label(shell, SWT.NONE); label.setText("Password"); Text pass = new Text(shell, SWT.BORDER | SWT.PASSWORD); pass.setLayoutData(textGrid); /* Encoding */ label = new Label(shell, SWT.NONE); label.setText("Encoding"); Text encoding = new Text(shell, SWT.BORDER); encoding.setLayoutData(textGrid); /* Exec cmd */ label = new Label(shell, SWT.NONE); label.setText("Exec cmd"); Text execCmd = new Text(shell, SWT.BORDER); execCmd.setLayoutData(textGrid); /* OK/Cancel */ comp = new Composite(shell, SWT.NONE); comp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); comp.setLayout(rowLayout); Button ok = new Button(comp, SWT.PUSH); ok.setText(" OK "); ok.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { okPressed = true; } }); Button cancel = new Button(comp, SWT.PUSH); cancel.setText("Cancel"); cancel.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { cancelPressed = true; } }); comp.pack(); String[] array = uri.split("@"); if (array.length == 2) { user.setText(array[0]); uri = array[1]; } array = uri.split(":"); server.setText(array[0]); if (array.length == 2) { boolean isPort = true; try { Integer.parseInt(array[1]); } catch (NumberFormatException e) { isPort = false; } if (isPort) { port.setText(array[1]); } else { encoding.setText(array[1]); } } else if (array.length == 3) { port.setText(array[1]); encoding.setText(array[2]); } final Control[] tabList = new Control[] { ssh, telnet, rlogin, server, port, user, pass, encoding, execCmd, ok, cancel}; KeyAdapter keyAdapter = new KeyAdapter() { public void keyPressed( KeyEvent e) { if( e.keyCode == SWT.TAB) { /* Tab list doesn't work in applet, so implement by myself. */ for( int count = 0 ; count < tabList.length; count++) { if (e.widget == tabList[count]) { if ((e.stateMask & SWT.SHIFT) != 0) { if (count < 3) { count = tabList.length - 1; } else { count--; if (count < 3) { for (; count >= 0; count--) { if (((Button) tabList[count]).getSelection()) { break; } } } } } else { if (count + 1 == tabList.length) { for (count = 0; count < 3; count++) { if (((Button) tabList[count]).getSelection()) { break; } } } else { if (count < 3) { count = 3; } else { count++; } } } tabList[count].forceFocus(); break; } } } else if (e.keyCode == SWT.CR) { okPressed = true; } } } ; for (int count = 0; count < tabList.length; count++) { tabList[count].addKeyListener(keyAdapter); } shell.pack(); shell.open(); Display display = shell.getDisplay(); array = null; while (!shell.isDisposed()) { if (okPressed) { uri = server.getText(); if (!uri.equals("")) { array = new String[4]; String str = user.getText(); if (!str.equals("")) { uri = str + "@" + uri; } uri = proto + "://" + uri; str = port.getText(); if (!str.equals("")) { uri = uri + ":" + str; } array[0] = uri; array[1] = pass.getText(); array[2] = encoding.getText(); if (array[2].equals("")) { array[2] = null; } array[3] = execCmd.getText(); if (array[3].equals("")) { array[3] = null; } } } else if (!cancelPressed) { if (!display.readAndDispatch()) { display.sleep(); } continue; } shell.dispose(); break; } return array; } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/MLTermApplet.java����������������������������������������������������������0100644�0001760�0000144�00000005305�13210547313�0017120�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; import java.awt.Dimension; import java.awt.Canvas; import java.applet.Applet; import org.eclipse.swt.awt.*; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.graphics.*; public class MLTermApplet extends Applet { private Thread kick = null; private void resetSize(Shell shell, MLTerm mlterm) { Dimension d = getSize(); mlterm.resizePty(d.width, d.height); mlterm.resetSize(); Point p = mlterm.getSize(); shell.setSize(p); setSize(p.x, p.y); validate(); } public void init() { if (kick != null) { return; } kick = new Thread(new Runnable() { public void run() { setLayout(new java.awt.GridLayout(1, 1)); java.awt.Canvas canvas = new java.awt.Canvas(); add(canvas); Display display = new Display(); final Shell shell = SWT_AWT.new_Shell(display, canvas); shell.setText("mlterm"); shell.setLayout(new FillLayout()); String host = MLTerm.getProperty("default_server"); String pass = null; String encoding = null; String[] argv = null; if (System.getProperty("os.name").indexOf("Windows") >= 0 || host != null) { ConnectDialog dialog = new ConnectDialog(shell); String[] array = dialog.open(host); if (array != null) { host = array[0]; pass = array[1]; if (array[2] != null) { encoding = array[2]; } if (array[3] != null) { argv = array[3].split(" "); } } } final MLTerm mlterm = new MLTerm(shell, SWT.BORDER | SWT.V_SCROLL, host, pass, 80, 24, encoding, argv); if (!mlterm.isActive()) { MessageBox box = new MessageBox(shell, SWT.OK); box.setMessage("Failed to open pty."); box.open(); return; } mlterm.setListener(new MLTermListener() { public void sizeChanged() { resetSize(shell, mlterm); } public void ptyClosed() {} }); resetSize(shell, mlterm); MLTerm.startPtyWatcher(display); while (!shell.isDisposed()) { while (display.readAndDispatch()) ; if (!mlterm.updatePty()) { break; } if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); remove(canvas); } }); kick.start(); } public void stop() { if (kick != null) { kick.interrupt(); kick = null; } } } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/ConfirmDialog.java���������������������������������������������������������0100644�0001760�0000144�00000000660�13210547313�0017326�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.*; public class ConfirmDialog { public static boolean show(String msg) { MessageBox box = new MessageBox(new Shell(Display.getCurrent()), SWT.OK | SWT.CANCEL); box.setMessage(msg); if (box.open() == SWT.OK) { return true; } else { return false; } } } ��������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/MLTerm.java����������������������������������������������������������������0100644�0001760�0000144�00000102521�13210547313�0015750�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; import java.util.Properties; import java.io.*; import org.eclipse.swt.*; import org.eclipse.swt.dnd.*; import org.eclipse.swt.custom.*; import org.eclipse.swt.events.*; import org.eclipse.swt.graphics.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.browser.*; public class MLTerm extends StyledText { /* --- private --- */ final private static boolean DEBUG = false; private MLTermListener listener = null; private MLTermPty pty = null; private int ptyCols = 80; private int ptyRows = 24; private boolean isSelecting = false; private Clipboard clipboard = null; /* StyledText.clipboard is not accessible. */ private int lineHeight = 0; private int columnWidth = 0; private int numOfScrolledOutLines = 0; private int scrolledOutCache = 0; private static Color[] colors = null; private static RedrawRegion region = null; private static Font font = null; private static MLTermPty[] pooledPtys = new MLTermPty[32]; private static int numOfPooledPtys = 0; private static boolean readyReadPty = false; private boolean pushPty(MLTermPty p) { if (numOfPooledPtys == pooledPtys.length) { return false; } p.setListener(null); pooledPtys[numOfPooledPtys] = p; numOfPooledPtys++; return true; } private MLTermPty popPty() { if (numOfPooledPtys == 0) { return null; } numOfPooledPtys--; MLTermPty p = pooledPtys[numOfPooledPtys]; pooledPtys[numOfPooledPtys] = null; return p; } private MLTermPty getNextPty() { if (numOfPooledPtys == 0) { return null; } /* 012 3 => 123 0 => 230 1 */ MLTermPty p = pooledPtys[0]; if (numOfPooledPtys > 1) { System.arraycopy(pooledPtys, 1, pooledPtys, 0, numOfPooledPtys - 1); } numOfPooledPtys--; return p; } private void moveCaret() { int row = pty.getCaretRow() + numOfScrolledOutLines; int lineCount = getLineCount(); int offset; if (row >= lineCount) { for (; lineCount <= row; lineCount++) { append(String.valueOf('\n')); } offset = getCharCount() - 1; } else { offset = getOffsetAtLine(row) + pty.getCaretCol(); } if (!isSelecting) { setCaretOffset(offset); } } private void startBrowser(final MLTerm mlterm, String uri) { final Composite composite = new Composite(mlterm.getParent(), SWT.NONE); composite.setLayout(new GridLayout(2, false)); composite.setLayoutData(mlterm.getLayoutData()); Button button = new Button(composite, SWT.NONE); button.setText("Exit"); button.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { mlterm.setParent(composite.getParent()); composite.dispose(); mlterm.getParent().layout(); } }); final Text urlinput = new Text(composite, SWT.BORDER); urlinput.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); final Browser browser = new Browser(composite, SWT.NONE); browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); browser.addLocationListener(new LocationAdapter() { public void changed(LocationEvent e) { urlinput.setText(e.location); } }); urlinput.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { if (e.keyCode == 13) { browser.setUrl(urlinput.getText()); } } }); mlterm.setParent(browser); browser.setUrl(uri); composite.getParent().layout(); } private void closePty() { if (pty != null) { pty.close(); pty = null; if (listener != null) { listener.ptyClosed(); } } } private int getColumnWidth() { GC gc = new GC(this); int width = gc.stringExtent("W").x; gc.dispose(); return width; } private void checkCellSize(boolean invokeEvent) { int height = getLineHeight(); int width = getColumnWidth(); if (lineHeight == height && columnWidth == width) { return; } else if (DEBUG) { System.err.printf("Line height %d is changed to %d\n", lineHeight, height); System.err.printf("Column width %d is changed to %d\n", columnWidth, width); } lineHeight = height; columnWidth = width; if (invokeEvent && listener != null) { listener.sizeChanged(); } } private void resetScrollBar() { if (numOfScrolledOutLines > 0) { setTopIndex(numOfScrolledOutLines); } } private void checkTextLimit(int num) { if (getTextLimit() != -1 && getTextLimit() < getCharCount() + num) { /* Clear bufOffset, bufStr and bufReplaceLen before removing old text. */ replaceTextBuffering(0, 0, null, null); /* 500 is for buffer. */ getContent().replaceTextRange(0, getCharCount() + num + 500 - getTextLimit(), ""); if (numOfScrolledOutLines > getLineCount() - ptyRows) { numOfScrolledOutLines = getLineCount() - ptyRows; } } } private int bufOffset = 0; private StringBuilder bufStr = null; private int bufReplaceLen = 0; private Object[] bufStylesArray = null; private int numOfBufStylesArray = 0; private int numOfBufStyles = 0; private void replaceTextBuffering(int offset, int replaceLen, String str, StyleRange[] styles) { if (DEBUG) { /* Simple way (output each line) */ if (str != null) { getContent().replaceTextRange(offset, replaceLen, str); } if (styles != null) { replaceStyleRanges(offset, str.length(), styles); } } else { if (styles != null && bufStr != null) { for (int count = 0; count < styles.length; count++) { styles[count].start += (bufStr.length() - bufReplaceLen); } } if ((str == null || bufOffset + bufReplaceLen != offset) && bufStr != null) { getContent().replaceTextRange(bufOffset, bufReplaceLen, bufStr.toString()); if (DEBUG) { System.err.printf("OUTPUT %d characters.%n", bufStr.length()); } if (numOfBufStylesArray > 0) { StyleRange[] bufStyles = new StyleRange[numOfBufStyles]; int destPos = 0; for (int count = 0; count < numOfBufStylesArray; count++) { System.arraycopy((StyleRange[]) bufStylesArray[count], 0, bufStyles, destPos, ((StyleRange[]) bufStylesArray[count]).length); destPos += ((StyleRange[]) bufStylesArray[count]).length; } if (destPos != numOfBufStyles) { System.err.printf("Illegal styles, not applied.\n"); } else { replaceStyleRanges(bufOffset, bufStr.length(), bufStyles); } numOfBufStylesArray = 0; numOfBufStyles = 0; } if (str == null) { bufStr = null; bufOffset = 0; bufReplaceLen = 0; } else { bufOffset = offset + bufStr.length() - bufReplaceLen; bufStr = new StringBuilder(str); bufReplaceLen = replaceLen; } } else if (str != null) { if (bufStr == null) { bufStr = new StringBuilder(str); bufOffset = offset; } else { bufStr.append(str); } bufReplaceLen += replaceLen; } if (styles != null) { if (bufStylesArray == null || bufStylesArray.length < ptyRows) { bufStylesArray = new Object[ptyRows]; } bufStylesArray[numOfBufStylesArray] = styles; numOfBufStylesArray++; numOfBufStyles += styles.length; } } } private void redrawPty() { if (scrolledOutCache > 0) { numOfScrolledOutLines += scrolledOutCache; setRedraw(false); /* Stop moving scrollbar */ } for (int row = 0; row < ptyRows; row++) { if (!pty.getRedrawString(row, region)) { continue; } if (region.start > 0) { replaceTextBuffering(0, 0, null, null); } if (row == ptyRows - 1) { /* Remove '\n' which region.str always contains. */ region.str = region.str.substring(0, region.str.length() - 1); } /* If lineCount is 0, max num of '\n' appended right below is row. */ checkTextLimit(region.str.length() + row); int lineCount = getLineCount() - numOfScrolledOutLines; if (lineCount <= row) { replaceTextBuffering(0, 0, null, null); do { append(String.valueOf('\n')); lineCount++; } while (lineCount <= row); } /* * $: new line * * 0123 -> insert "e$" at 7 -> 012345678 * abc$ abc e$ * * 1) offset: 7, offsetNextRow: 4 * 2) insert 4(offset - offsetNextRow + 1) spaces at offsetNextRow - 1. * 3) offsetNextRow: 4 -> Modified to 8. * 4) replace 1(offsetNextRow - offset) at offset. * * 012 -> insert "e$" at 7 -> 012345678 * abc abc e$ * * 1) offset: 7, offsetNextRow: 3 * 2) insert 4(offset - offsetNextRow) spaces at offsetNextRow. * 3) offsetNextRow: 3 -> Modified to 7. * 4) replace 0(offsetNextRow - offset) at offset. */ int offset = getOffsetAtLine(row + numOfScrolledOutLines) + region.start; int offsetNextRow; boolean hasNewLine = true; if (row + 1 >= lineCount) { offsetNextRow = getCharCount(); if (offsetNextRow == offset - region.start || !getTextRange(offsetNextRow - 1, 1).equals("\n")) { hasNewLine = false; } } else { offsetNextRow = getOffsetAtLine(row + numOfScrolledOutLines + 1); } if (offset >= offsetNextRow) { int padding = offset - offsetNextRow; if (hasNewLine) { padding++; } if (padding > 0) { char[] spaces = new char[padding]; for (int count = 0; count < padding; count++) { spaces[count] = ' '; } getContent().replaceTextRange(offset - padding, 0, new String(spaces)); offsetNextRow += padding; } if (DEBUG) { System.err.printf("%s row %d lineCount %d offset %d offsetNextRow %d%n", region.str, row, lineCount, offset, offsetNextRow); } } StyleRange[] styles = null; if (region.styles != null) { styles = new StyleRange[region.styles.length]; for (int count = 0; count < region.styles.length; count++) { if (colors[region.styles[count].fg_color] == null) { colors[region.styles[count].fg_color] = new Color(getDisplay(), (region.styles[count].fg_pixel >> 16) & 0xff, (region.styles[count].fg_pixel >> 8) & 0xff, region.styles[count].fg_pixel & 0xff); } if (colors[region.styles[count].bg_color] == null) { colors[region.styles[count].bg_color] = new Color(getDisplay(), (region.styles[count].bg_pixel >> 16) & 0xff, (region.styles[count].bg_pixel >> 8) & 0xff, region.styles[count].bg_pixel & 0xff); } styles[count] = new StyleRange(region.styles[count].start + offset, region.styles[count].length, colors[region.styles[count].fg_color], colors[region.styles[count].bg_color]); styles[count].underline = region.styles[count].underline; styles[count].strikeout = region.styles[count].strikeout; styles[count].fontStyle = (region.styles[count].bold ? SWT.BOLD : SWT.NORMAL) | (region.styles[count].italic ? SWT.ITALIC : SWT.NORMAL); } } replaceTextBuffering(offset, offsetNextRow - offset, region.str, styles); } replaceTextBuffering(0, 0, null, null); checkCellSize(true); if (scrolledOutCache > 0) { scrolledOutCache = 0; resetScrollBar(); setRedraw(true); } } private boolean reportMouseTracking( int x, int y, int button, int stateMask, boolean isMotion, boolean isReleased) { if ((stateMask & (SWT.CONTROL | SWT.SHIFT)) != 0 || /* This method can be called just after closing pty. */ pty == null || !pty.isTrackingMouse(button, isMotion)) { return false; } int row = y / lineHeight + numOfScrolledOutLines; int charIndex; try { Point p = new Point(x, y); charIndex = getLine(row).codePointCount(0, getOffsetAtLocation(p) - getOffsetAtLine(row)); } catch (Exception e) { /* There is no character at the specified location of getOffsetAtLocation(). */ if (row < getLineCount()) { charIndex = getLine(row).length(); if (charIndex > 0) { charIndex--; } charIndex += (x - getLocationAtOffset(getOffsetAtLine(row) + charIndex).x) / columnWidth; } else { charIndex = x / columnWidth; } } row -= numOfScrolledOutLines; pty.reportMouseTracking(charIndex, row, button, stateMask, isMotion, isReleased); return true; } private void attachPty(boolean createContent) { ptyCols = pty.getCols(); ptyRows = pty.getRows(); StyledTextContent content = (StyledTextContent) pty.getAuxData(); if (content == null) { if (createContent) { /* New content */ StyledText text = new StyledText(MLTerm.this, 0); setContent(text.getContent()); text.dispose(); } numOfScrolledOutLines = 0; } else { setContent(content); int rows = content.getLineCount(); if (rows > ptyRows) { numOfScrolledOutLines = rows - ptyRows; } else { numOfScrolledOutLines = 0; } } /* * XXX * If scrolledOutCache > 0 , redrawPty() should be called, but * such a case rarely seems to happen. */ scrolledOutCache = 0; pty.setListener(new MLTermPtyListener() { public void executeCommand(String cmd) { String[] argv = cmd.split(" "); if (argv.length == 2 && argv[0].equals("browser")) { startBrowser(MLTerm.this, argv[1]); } } public void linesScrolledOut(int size) { scrolledOutCache += size; if (scrolledOutCache == ptyRows * 2 / 5) { redrawPty(); Display display = getDisplay(); while (display.readAndDispatch()) ; } } public void resize(int width, int height, int cols, int rows) { if (width > 0 && height > 0) { resizePty(width, height); } else if (cols > 0 && rows > 0) { ptyCols = cols; ptyRows = rows; } else { return; } listener.sizeChanged(); } public void bell() { String mode = getProperty("bel_mode"); if (mode == null || mode.equals("sound")) { getDisplay().beep(); } } }); if (content != null || createContent) { /* Content was changed */ listener.sizeChanged(); } } private void init(final String host, final String pass, final int cols, final int rows, final String encoding, final String[] argv) { pty = new MLTermPty(); if (!pty.open(host, pass, cols, rows, encoding, argv)) { pty = null; return; } attachPty(false); if (font == null) { String fontFamily = getProperty("font"); if (fontFamily == null) { if (System.getProperty("os.name").indexOf("Windows") >= 0) { fontFamily = "Courier"; } else { fontFamily = "monospace"; } } int fontSize = 10; try { fontSize = Integer.parseInt(getProperty("fontsize")); } catch (NumberFormatException e) { } font = new Font(getDisplay(), fontFamily, fontSize, SWT.NORMAL); } setFont(font); checkCellSize(false); if (colors == null) { colors = new Color[512]; String color = getProperty("fg_color"); if (color != null) { long pixel = MLTermPty.getColorRGB(color); if (pixel != -1) { colors[0x1f0] = new Color(getDisplay(), (int) ((pixel >> 16) & 0xff), (int) ((pixel >> 8) & 0xff), (int) (pixel & 0xff)); setForeground(colors[0x1f0]); } } if (colors[0x1f0] == null) { colors[0x1f0] = getForeground(); } color = getProperty("bg_color"); if (color != null) { long pixel = MLTermPty.getColorRGB(color); if (pixel != -1) { colors[0x1f1] = new Color(getDisplay(), (int) ((pixel >> 16) & 0xff), (int) ((pixel >> 8)) & 0xff, (int) (pixel & 0xff)); setBackground(colors[0x1f1]); } } if (colors[0x1f1] == null) { colors[0x1f1] = getBackground(); } /* font and color objects will be disposed when display is disposed. */ getDisplay().addListener(SWT.Dispose, new Listener() { public void handleEvent(Event event) { font.dispose(); font = null; for (int count = 0; count < colors.length; count++) { if (colors[count] != null) { colors[count].dispose(); colors[count] = null; } } colors = null; } }); } setTextLimit(100000); setMargins(1, 1, 1, 1); clipboard = new Clipboard(getDisplay()); addListener(SWT.Dispose, new Listener() { public void handleEvent(Event event) { if (pty != null) { if (pushPty(pty)) { pty.setAuxData(getContent()); } else { closePty(); } } } }); addMouseListener(new MouseListener() { public void mouseDown(MouseEvent event) { if (!reportMouseTracking(event.x, event.y, event.button, event.stateMask, false, false)) { isSelecting = true; } } public void mouseUp(MouseEvent event) { if (!reportMouseTracking(event.x, event.y, event.button, event.stateMask, false, true)) { isSelecting = false; if (getSelectionCount() > 0) { copy(); } } } public void mouseDoubleClick(MouseEvent event) {} }); addMouseMoveListener(new MouseMoveListener() { public void mouseMove(MouseEvent event) { int button; if ((event.stateMask & SWT.BUTTON1) != 0) { button = 1; } else if ((event.stateMask & SWT.BUTTON2) != 0) { button = 2; } else if ((event.stateMask & SWT.BUTTON3) != 0) { button = 3; } else { button = 0; } reportMouseTracking(event.x, event.y, button, event.stateMask, true, false); } }); addMouseWheelListener(new MouseWheelListener() { public void mouseScrolled(MouseEvent event) { int button; if (event.count > 0) { button = 4; } else { button = 5; } reportMouseTracking(event.x, event.y, button, event.stateMask, false, false); } }); addTraverseListener(new TraverseListener() { public void keyTraversed(TraverseEvent event) { if (false) { System.out.printf("MASK %x KCODE %x\n", event.stateMask, event.keyCode); } if (event.stateMask == SWT.SHIFT && event.keyCode == SWT.TAB) { pty.write("\u001b[Z"); } } }); addVerifyKeyListener(new VerifyKeyListener() { public void verifyKey(VerifyEvent event) { String str; if (false) { System.out.printf( "MASK %x KCODE %x CHAR %x\n", event.stateMask, event.keyCode, (int) event.character); } if ((event.keyCode & 0x70000) != 0) { /* Control, Shift, Alt */ return; } else if (event.stateMask == SWT.CONTROL && event.keyCode == SWT.F2) { if (pushPty(pty)) { pty.setAuxData(getContent()); pty = new MLTermPty(); if (pty.open(host, pass, cols, rows, encoding, argv)) { attachPty(true); } else { /* restore */ pty = popPty(); } } return; } else if (event.stateMask == SWT.CONTROL && event.keyCode == SWT.F3) { MLTermPty nextPty = getNextPty(); if (nextPty != null) { pushPty(pty); pty.setAuxData(getContent()); pty = nextPty; attachPty(false); } return; } else if (false && event.stateMask == SWT.SHIFT && event.keyCode == SWT.TAB) { /* XXX Shift+tab event is received only at TraverseListener. */ return; } else if (event.stateMask == SWT.SHIFT && event.keyCode == SWT.INSERT) { str = (String) clipboard.getContents(TextTransfer.getInstance(), DND.CLIPBOARD); } else { int otherkey; int modcode; otherkey = (int) event.character; modcode = 0; if ((event.stateMask & SWT.SHIFT) == SWT.SHIFT) { modcode |= 1; } if ((event.stateMask & SWT.ALT) == SWT.ALT) { modcode |= 2; } if ((event.stateMask & SWT.CONTROL) == SWT.CONTROL) { modcode |= 4; if (otherkey < 0x20 && 0x20 <= event.keyCode && event.keyCode < 0x80) { otherkey = event.keyCode; /* For win32 which doesn't tell upper case from lower case. */ if (0x61 <= otherkey && otherkey <= 0x7a && (event.stateMask & SWT.SHIFT) == SWT.SHIFT) { otherkey -= 0x20; } } /* 2, ' ' and @ has been converted to "" above. */ else if ('3' <= otherkey && otherkey <= '7') { event.character = (char) ((int) otherkey - 0x18); } else if (otherkey == '8') { event.character = '\u007f'; } else if (otherkey == '^') { event.character = '\u001d'; } else if (/* otherkey == '_' || */ otherkey == '/') { event.character = '\u001f'; } else if (otherkey == ' ' || otherkey == '2' || otherkey == '@') { event.character = '\u0000'; } } if (modcode > 0) { modcode++; } if (modcode > 0 && otherkey < 0x80 && pty.writeModifiedKey(otherkey, modcode)) { str = null; } else if (pty.writeSpecialKey(event.keyCode, modcode)) { str = null; } else if (event.character == '\u0000') { str = ""; } else { str = String.valueOf(event.character); } } if (str != null) { if (event.stateMask == SWT.ALT) { pty.write("\u001b"); } pty.write(str); } event.doit = false; } }); setCaret(null); DropTarget target = new DropTarget(this, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK); target.setTransfer(new Transfer[] {FileTransfer.getInstance()}); target.addDropListener(new DropTargetAdapter() { public void dragEnter(DropTargetEvent event) { if (event.detail == DND.DROP_NONE) { event.detail = DND.DROP_LINK; } } public void dragOperationChanged(DropTargetEvent event) { if (event.detail == DND.DROP_NONE) { event.detail = DND.DROP_LINK; } } public void drop(DropTargetEvent event) { if (event.data == null) { event.detail = DND.DROP_NONE; return; } String[] files = (String[]) event.data; for (int count = 0; count < files.length; count++) { if (count > 0) { pty.write("\n"); } pty.write(files[count]); } } }); region = new RedrawRegion(); } /* --- public --- */ public MLTerm(Composite parent, int style, String host, String pass, int cols, int rows, String encoding, String[] argv) { /* If SWT.READ_ONLY is specified, tab key doesn't work. */ super(parent, style | SWT.NO_BACKGROUND); init(host, pass, cols, rows, encoding, argv); } public static void startPtyWatcher(final Display display) { (new Thread(new Runnable() { public void run() { while (true) { /* display.isDisposed() should be checked just before display.wake(). */ if (display.isDisposed()) { break; } display.wake(); if (readyReadPty) { if (false) { Thread.yield(); } else { try { Thread.sleep(1); } catch (InterruptedException e) { } } if (readyReadPty) { continue; } } /* block until pty is ready to be read. */ if (!MLTermPty.waitForReading()) { break; } readyReadPty = true; } } })).start(); } public boolean isActive() { if (pty == null) { return false; } else if (!pty.isActive()) { MLTermPty nextPty = popPty(); if (nextPty != null) { pty.close(); pty = nextPty; attachPty(false); return true; } else { closePty(); return false; } } else { return true; } } public void setListener(MLTermListener lsn) { listener = lsn; } public void resetSize() { int width = columnWidth * ptyCols + getLeftMargin() + getRightMargin() + getBorderWidth() * 2 + getVerticalBar().getSize().x; int height = lineHeight * ptyRows + getTopMargin() + getBottomMargin() + getBorderWidth() * 2; setSize(width, height); resetScrollBar(); } public void resizePty(int width, int height) { int cols = (width - getLeftMargin() - getRightMargin() - getBorderWidth() * 2 - getVerticalBar().getSize().x) / columnWidth; int rows = (height - getTopMargin() - getBottomMargin() - getBorderWidth() * 2) / lineHeight; if (cols == ptyCols && rows == ptyRows) { return; } ptyCols = cols; ptyRows = rows; int start = getOffsetAtLine(numOfScrolledOutLines); int length = getCharCount() - start; StringBuilder str = new StringBuilder(); for (int count = 0; count < ptyRows - 1; count++) { str.append("\n"); } replaceTextRange(start, length, str.toString()); pty.resize(ptyCols, ptyRows); } public boolean updatePty() { readyReadPty = false; if (!isActive()) { return false; } else if (pty.read()) { redrawPty(); moveCaret(); } return true; } private static Properties prop = null; private static void loadProperties() { prop = new Properties(); try { prop.load(new FileInputStream(MLTermPty.getConfigDirectory() + "main")); } catch (IOException e) { System.err.println("mlterm/main is not found"); } } public static String getProperty(String key) { if (prop == null) { loadProperties(); } return prop.getProperty(key); } public static void setProperty(String key, String value) { if (prop == null) { loadProperties(); } prop.setProperty(key, value); } /* --- static methods --- */ private static MLTerm[] mlterms = new MLTerm[32]; private static int numOfMLTerms = 0; private static Point decoration = null; private static void resetWindowSize(MLTerm mlterm) { mlterm.resetSize(); Point p = mlterm.getSize(); Shell shell = mlterm.getShell(); if (decoration == null) { shell.setSize(p); Rectangle r = shell.getClientArea(); decoration = new Point(p.x - r.width, p.y - r.height); } shell.setSize(p.x + decoration.x, p.y + decoration.y); } private static void startMLTerm(final Shell shell, final String host, final String pass, final int cols, final int rows, final String encoding, final String[] argv) { final MLTerm mlterm = new MLTerm(shell, SWT.BORDER | SWT.V_SCROLL, host, pass, cols, rows, encoding, argv); if (!mlterm.isActive()) { MessageBox box = new MessageBox(shell, SWT.OK); box.setMessage("Failed to open pty."); box.open(); return; } mlterm.setListener(new MLTermListener() { public void sizeChanged() { resetWindowSize(mlterm); } public void ptyClosed() { for (int count = 0; count < numOfMLTerms; count++) { if (mlterms[count] == mlterm) { mlterms[count] = mlterms[--numOfMLTerms]; break; } } } }); shell.addListener(SWT.Dispose, new Listener() { public void handleEvent(Event e) { for (int count = 0; count < numOfMLTerms; count++) { if (mlterms[count] == mlterm) { mlterms[count] = mlterms[--numOfMLTerms]; break; } } } }); mlterm.addVerifyKeyListener(new VerifyKeyListener() { public void verifyKey(VerifyEvent event) { if (event.stateMask == SWT.CONTROL && event.keyCode == SWT.F1 && numOfMLTerms < mlterms.length) { Shell s = new Shell(shell.getDisplay()); s.setText("mlterm"); s.setLayout(new FillLayout()); startMLTerm(s, host, pass, cols, rows, encoding, argv); } } }); resetWindowSize(mlterm); shell.addListener(SWT.Resize, new Listener() { private boolean processing = false; private int prevWidth = 0; private int prevHeight = 0; public void handleEvent(Event e) { if (!processing) { Rectangle r = shell.getClientArea(); if (r.width != prevWidth || r.height != prevHeight) { prevWidth = r.width; prevHeight = r.height; mlterm.resizePty(r.width, r.height); processing = true; resetWindowSize(mlterm); processing = false; } } } }); shell.open(); mlterms[numOfMLTerms++] = mlterm; } public static void main(String[] args) { String host = MLTerm.getProperty("default_server"); String pass = null; String encoding = null; String[] argv = null; boolean openDialog = false; int cols = 80; int rows = 24; if (System.getProperty("os.name").indexOf("Windows") >= 0 || host != null) { openDialog = true; } String geom = MLTerm.getProperty("geometry"); for (int count = 0; count < args.length; count++) { if (args[count].equals("-h")) { System.out.println("usage: java -jar mlterm.jar [options] -e ..."); System.out.println("options: "); System.out.println(" -dialog : show dialog to specify a server."); System.out.println(" -fn <font> : specify font family."); System.out.println(" -g <col>x<row>: specify size."); System.out.println(" -km <encoding>: specify character encoding."); System.out.println(" -w <point> : specify font size."); System.out.println(" -serv proto://user@host: specify a server."); return; } else if (args[count].equals("-dialog")) { openDialog = true; } else if (count + 1 < args.length) { if (args[count].equals("-serv")) { host = args[++count]; openDialog = true; } else if (args[count].equals("-g")) { geom = args[++count]; } else if (args[count].equals("-km")) { encoding = args[++count]; } else if (args[count].equals("-w")) { MLTerm.setProperty("fontsize", args[++count]); } else if (args[count].equals("-fn")) { MLTerm.setProperty("font", args[++count]); } else if (args[count].equals("-fg")) { MLTerm.setProperty("fg_color", args[++count]); } else if (args[count].equals("-bg")) { MLTerm.setProperty("bg_color", args[++count]); } else if (args[count].equals("-e")) { argv = new String[args.length - (++count)]; for (int count2 = 0; count2 < argv.length; count2++) { argv[count2] = args[count + count2]; } break; } } } if (geom != null) { String[] array = geom.split("x"); if (array.length == 2) { try { int c = Integer.parseInt(array[0]); int r = Integer.parseInt(array[1]); cols = c; rows = r; } catch (NumberFormatException e) { System.err.println(geom + " geometry is illegal."); } } } Display display = new Display(); Shell shell = new Shell(display); shell.setText("mlterm"); shell.setLayout(new FillLayout()); if (openDialog) { ConnectDialog dialog = new ConnectDialog(shell); String[] array = dialog.open(host); if (array == null) { shell.dispose(); return; } host = array[0]; pass = array[1]; if (array[2] != null) { encoding = array[2]; } if (array[3] != null) { argv = array[3].split(" "); } } startMLTerm(shell, host, pass, cols, rows, encoding, argv); MLTerm.startPtyWatcher(display); while (!display.isDisposed() && numOfMLTerms > 0) { while (display.readAndDispatch()) ; /* * count must be descending-order because numOfMLTerms can be * decreased inside this loop. */ for (int count = numOfMLTerms - 1; count >= 0; count--) { shell = mlterms[count].getShell(); /* updatePty() can call ptyClosed() via isActive() -> closePty() */ if (!mlterms[count].updatePty()) { shell.dispose(); } } if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/MLTermListener.java��������������������������������������������������������0100644�0001760�0000144�00000000261�13210547313�0017454�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; public interface MLTermListener { public void sizeChanged(); public void ptyClosed(); } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mlterm/RedrawRegion.java����������������������������������������������������������0100644�0001760�0000144�00000000307�13210547313�0017177�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ package mlterm; public class RedrawRegion { public String str = null; public int start = 0; public Style[] styles = null; } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/manifest.mf.in��������������������������������������������������������������������0100644�0001760�0000144�00000000141�13210547313�0015177�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Manifest-Version: 1.0 Main-Class: mlterm.MLTerm Class-Path: swt.jar Permissions: all-permissions �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mltermlet.html��������������������������������������������������������������������0100644�0001760�0000144�00000000634�13210547313�0015342�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0"> </head> <body> <applet code="mlterm.MLTermApplet.class" archive="mlterm.jar" width=598 height=344> Failed to start mlterm applet. </applet> </body> </html>����������������������������������������������������������������������������������������������������mlterm-3.8.4/java/Makefile.in�����������������������������������������������������������������������0100644�0001760�0000144�00000006644�13210547313�0014523�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Edit following 5 variables. JAVAC = javac # -source 1.5 -target 1.5 CLASSPATH_win32 = .\;swt.jar CLASSPATH = .:swt.jar JAVA_HOME_win32 = /cygdrive/c/Program\ Files/Java/jdk1.7.0_02 JAVA_HOME = /usr/lib/jvm/java-8-openjdk-i386 SWT_JAR = /usr/lib/java/swt-gtk-4.3.2.jar # Don't edit anything below. prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ sysconfdir = @sysconfdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ CYGPATHW = @CYGPATHW@ LIBDIR = $(DESTDIR)$(libdir) CFLAGS = @CFLAGS@ @POBL_CFLAGS@ @MEF_CFLAGS@ @SSH2_CFLAGS@ \ -DSYSCONFDIR=\"$(sysconfdir)\" -D_JNI_IMPLEMENTATION \ -I../baselib/include -I../encodefilter/include -I$(top_srcdir)/vtemu -I. \ -I$(JAVA_HOME@WIN32TAG@)/include -I$(JAVA_HOME@WIN32TAG@)/include/win32 \ -I$(JAVA_HOME@WIN32TAG@)/include/linux $(CFLAGS2@WIN32TAG@) $(CFLAGS_LOCAL) # for Cygwin CFLAGS2_win32 = -I/cygdrive/$(JAVA_HOME)/include -I/cygdrive/$(JAVA_HOME)/include/win32 LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) TARGET_win32 = MLTermPty.dll TARGET = libMLTermPty.la CLASS = mlterm/MLTermPtyListener.class mlterm/MLTermListener.class \ mlterm/ConnectDialog.class mlterm/Style.class mlterm/RedrawRegion.class \ mlterm/MLTermPty.class mlterm/MLTerm.class mlterm/MLTermApplet.class \ mlterm/ConfirmDialog.class OBJ = MLTermPty.o VPATH = $(top_srcdir)/java all : swt.jar mlterm.jar sign : jarsigner mlterm.jar mlterm jarsigner swt.jar mlterm createkey : keytool -genkey -keyalg rsa -alias mlterm swt.jar : if test -e $(SWT_JAR) ; then cp $(SWT_JAR) swt.jar ; fi mlterm.jar : $(CLASS) $(TARGET@WIN32TAG@) manifest.mf jar cmf manifest.mf mlterm.jar mlterm/*.class \ `find * -name "*.dll" -o -name "*.s*" -o -name "plink.exe"` $(TARGET_win32) : MLTermPty.h (cd ../vtemu;rm -f vt_term.o;CFLAGS_LOCAL=-DOPEN_PTY_SYNC make vt_term.o) $(CC) -Wl,--kill-at $(CFLAGS) -shared -o MLTermPty.dll \ $(top_srcdir)/java/MLTermPty.c ../vtemu/.libs/*.o ../baselib/src/.libs/libpobl.dll.a \ ../encodefilter/src/.libs/libmef.dll.a -L/usr/local/lib @SSH2_LIBS_FOR_PROG@ (rm -f ../vtemu/vt_term.o) $(TARGET) : $(CLASS) MLTermPty.h $(OBJ) $(LIBTOOL_LINK) -o $(TARGET) -s $(OBJ:.o=.lo) -rpath $(libdir) \ -avoid-version ../vtemu/*.lo ../baselib/src/libpobl.la ../encodefilter/src/libmef.la \ @SSH2_LIBS_FOR_PROG@ # .s? -> .so or .sl cp .libs/*.s? . manifest.mf : $(TARGET@WIN32TAG@) cp $(top_srcdir)/java/manifest.mf.in manifest.mf # 'sort -r' brings cygpobl.dll before cygmef.dll. If java loads cygmef.dll before cygpobl.dll, # it loads /bin/cygpobl.dll (for cygwin) to solve pobl symbols refered by cygmef.dll. files=`find * -name "*.dll" -o -name "*.s*" -o -name "plink.exe" | sort -r | xargs | sed 's/ /;/g'` ; \ if test "$${files}" != "" ; then \ echo -n "Bundle-NativeCode: " >> manifest.mf ; \ echo $${files} >> manifest.mf ; \ fi .SUFFIXES : .java .class .java.class : $(JAVAC) -classpath $(CLASSPATH@WIN32TAG@) -d . `$(CYGPATHW) $<` .SUFFIXES : .c .o .c.o : $(LIBTOOL_CC) -c $< MLTermPty.h: mlterm/MLTermPty.class javah -jni mlterm.MLTermPty clean : rm -rf *.h $(OBJ) $(OBJ:.o=.lo) $(TARGET@WIN32TAG@) manifest.mf libMLTermPty.so \ mlterm/*.class mlterm.jar *core .libs distclean : clean rm -f Makefile $(LIBDIR) : mkdir -p $(LIBDIR) install : $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET@WIN32TAG@) $(LIBDIR) ��������������������������������������������������������������������������������������������mlterm-3.8.4/java/.java.policy����������������������������������������������������������������������0100644�0001760�0000144�00000000066�13210547313�0014666�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������grant { permission java.security.AllPermission ; } ; ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/MLTermPty.c�����������������������������������������������������������������������0100644�0001760�0000144�00000130102�13210547313�0014442�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include <pobl/bl_config.h> /* HAVE_WINDOWS_H, WORDS_BIGENDIAN */ #ifdef HAVE_WINDOWS_H #include <windows.h> /* In Cygwin <windows.h> is not included and error happens in jni.h. */ #endif #include "mlterm_MLTermPty.h" #include <unistd.h> /* getcwd */ #include <pobl/bl_locale.h> #include <pobl/bl_debug.h> #include <pobl/bl_sig_child.h> #include <pobl/bl_mem.h> /* alloca */ #include <pobl/bl_str.h> /* bl_str_alloca_dup */ #include <pobl/bl_conf.h> #include <pobl/bl_conf_io.h> #include <pobl/bl_path.h> /* bl_basename */ #include <pobl/bl_unistd.h> /* bl_setenv */ #include <pobl/bl_args.h> /* _bl_arg_str_to_array */ #include <pobl/bl_dialog.h> #include <mef/ef_utf16_conv.h> #include <vt_str_parser.h> #include <vt_term_manager.h> #include <../main/version.h> #if defined(USE_WIN32API) #define CONFIG_PATH "." #elif defined(SYSCONFDIR) #define CONFIG_PATH SYSCONFDIR #else #define CONFIG_PATH "/etc" #endif /* Same as those defined in SWT.java */ #define AltMask (1 << 16) #define ShiftMask (1 << 17) #define ControlMask (1 << 18) #if 1 #define TUNEUP_HACK #endif #if 0 #define USE_LOCAL_ECHO_BY_DEFAULT #endif #if 0 #define __DEBUG #endif typedef struct native_obj { JNIEnv *env; jobject obj; /* MLTermPty */ jobject listener; /* MLTermPtyListener */ vt_term_t *term; vt_pty_event_listener_t pty_listener; vt_config_event_listener_t config_listener; vt_screen_event_listener_t screen_listener; vt_xterm_event_listener_t xterm_listener; u_int16_t prev_mouse_report_col; u_int16_t prev_mouse_report_row; } native_obj_t; /* --- static variables --- */ static ef_parser_t *str_parser; static ef_parser_t *utf8_parser; static ef_conv_t *utf16_conv; #if defined(USE_WIN32API) && !defined(USE_LIBSSH2) static char *plink; #endif #ifdef USE_LIBSSH2 static u_int keepalive_interval; #endif /* --- static functions --- */ static void pty_closed(void *p) { ((native_obj_t *)p)->term = NULL; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " PTY CLOSED\n"); #endif } static void show_config(void *p, char *msg) { vt_term_show_message(((native_obj_t *)p)->term, msg); } #ifdef USE_LIBSSH2 static JNIEnv *env_for_dialog; static int dialog_callback(bl_dialog_style_t style, const char *msg) { jclass class; static jmethodID mid; if (style != BL_DIALOG_OKCANCEL || !env_for_dialog) { return -1; } /* This function is called rarely, so jclass is not static. */ class = (*env_for_dialog)->FindClass(env_for_dialog, "mlterm/ConfirmDialog"); if (!mid) { mid = (*env_for_dialog) ->GetStaticMethodID(env_for_dialog, class, "show", "(Ljava/lang/String;)Z"); } if ((*env_for_dialog) ->CallStaticObjectMethod(env_for_dialog, class, mid, (*env_for_dialog)->NewStringUTF(env_for_dialog, msg))) { return 1; } else { return 0; } } #endif static void set_config(void *p, char *dev, char *key, char *value) { native_obj_t *nativeObj; nativeObj = p; if (vt_term_set_config(nativeObj->term, key, value)) { /* do nothing */ } else if (strcmp(key, "encoding") == 0) { vt_char_encoding_t encoding; if ((encoding = vt_get_char_encoding(value)) != VT_UNKNOWN_ENCODING) { vt_term_change_encoding(nativeObj->term, encoding); } } else if (strcmp(key, "use_multi_column_char") == 0) { int flag; if ((flag = true_or_false(value)) != -1) { vt_term_set_use_multi_col_char(nativeObj->term, flag); } } } static void get_config(void *p, char *dev, char *key, int to_menu) { native_obj_t *nativeObj; vt_term_t *term; char *value; nativeObj = p; if (dev) { if (!(term = vt_get_term(dev))) { return; } } else { term = nativeObj->term; } if (vt_term_get_config(term, nativeObj->term, key, to_menu, NULL)) { return; } value = NULL; if (strcmp(key, "use_multi_column_char") == 0) { if (vt_term_is_using_multi_col_char(term)) { value = "true"; } else { value = "false"; } } else if (strcmp(key, "pty_list") == 0) { value = vt_get_pty_list(); } if (!value) { vt_term_response_config(nativeObj->term, "error", NULL, to_menu); } else { vt_term_response_config(nativeObj->term, key, value, to_menu); } } static int exec_cmd(void *p, char *cmd) { static jmethodID mid; native_obj_t *nativeObj; jstring jstr_cmd; nativeObj = p; if (strncmp(cmd, "browser", 7) != 0) { return 0; } jstr_cmd = (*nativeObj->env)->NewStringUTF(nativeObj->env, cmd); if (!mid) { mid = (*nativeObj->env) ->GetMethodID(nativeObj->env, (*nativeObj->env)->FindClass(nativeObj->env, "mlterm/MLTermPtyListener"), "executeCommand", "(Ljava/lang/String;)V"); } if (nativeObj->listener) { (*nativeObj->env)->CallVoidMethod(nativeObj->env, nativeObj->listener, mid, jstr_cmd); } return 1; } static int window_scroll_upward_region(void *p, int beg_row, int end_row, u_int size) { static jmethodID mid; native_obj_t *nativeObj; nativeObj = p; if (!mid) { mid = (*nativeObj->env) ->GetMethodID(nativeObj->env, (*nativeObj->env)->FindClass(nativeObj->env, "mlterm/MLTermPtyListener"), "linesScrolledOut", "(I)V"); } if (nativeObj->listener && beg_row == 0 && !vt_term_has_status_line(nativeObj->term) && end_row + 1 == vt_term_get_logical_rows(nativeObj->term) && !vt_screen_is_alternative_edit(nativeObj->term->screen)) { (*nativeObj->env)->CallVoidMethod(nativeObj->env, nativeObj->listener, mid, size); } return 0; } static void resize(void *p, u_int width, u_int height) { static jmethodID mid; native_obj_t *nativeObj; nativeObj = p; if (!mid) { mid = (*nativeObj->env) ->GetMethodID(nativeObj->env, (*nativeObj->env)->FindClass(nativeObj->env, "mlterm/MLTermPtyListener"), "resize", "(IIII)V"); } if (nativeObj->listener) { (*nativeObj->env) ->CallVoidMethod(nativeObj->env, nativeObj->listener, mid, width, height, vt_term_get_cols(nativeObj->term), vt_term_get_rows(nativeObj->term)); } } static void set_mouse_report(void *p) { if (!vt_term_get_mouse_report_mode(((native_obj_t *)p)->term)) { ((native_obj_t *)p)->prev_mouse_report_col = ((native_obj_t *)p)->prev_mouse_report_row = 0; } } static void bel(void *p) { static jmethodID mid; native_obj_t *nativeObj; nativeObj = p; if (!mid) { mid = (*nativeObj->env) ->GetMethodID(nativeObj->env, (*nativeObj->env)->FindClass(nativeObj->env, "mlterm/MLTermPtyListener"), "bell", "()V"); } if (nativeObj->listener) { (*nativeObj->env)->CallVoidMethod(nativeObj->env, nativeObj->listener, mid); } } /* * 2: New style should be added. * 1: Previous style is continued. * 0: No style. */ static int need_style(vt_char_t *ch, vt_char_t *prev_ch) { int need_style; if (vt_char_fg_color(ch) != VT_FG_COLOR || vt_char_bg_color(ch) != VT_BG_COLOR || vt_char_line_style(ch) || (vt_char_font(ch) & (FONT_BOLD | FONT_ITALIC))) { need_style = 2; } else { need_style = 0; } if (prev_ch && vt_char_fg_color(ch) == vt_char_fg_color(prev_ch) && vt_char_bg_color(ch) == vt_char_bg_color(prev_ch) && vt_char_line_style(ch) == vt_char_line_style(prev_ch) && (vt_char_font(ch) & (FONT_BOLD | FONT_ITALIC)) == (vt_char_font(prev_ch) & (FONT_BOLD | FONT_ITALIC))) { if (need_style) { /* Continual style */ return 1; } } return need_style; } static u_int get_num_filled_chars_except_sp(vt_line_t *line) { if (vt_line_is_empty(line)) { return 0; } else { int char_index; for (char_index = vt_line_end_char_index(line); char_index >= 0; char_index--) { if (!vt_char_equal(line->chars + char_index, vt_sp_ch())) { return char_index + 1; } } return 0; } } static void draw_cursor(vt_term_t *term, int (*func)(vt_line_t *, int)) { vt_line_t *line; if ((line = vt_term_get_cursor_line(term))) { (*func)(line, vt_term_cursor_char_index(term)); } } /* --- global functions --- */ JNIEXPORT void JNICALL Java_mlterm_MLTermPty_setLibDir(JNIEnv *env, jclass class, jstring jstr_dir /* Always ends with '/' or '\\' */ ) { const char *dir; const char *value; #ifdef HAVE_WINDOWS_H const char *key = "PATH"; #else const char *key = "LD_LIBRARY_PATH"; #endif dir = (*env)->GetStringUTFChars(env, jstr_dir, NULL); /* * Reset PATH or LD_LIBRARY_PATH to be able to load shared libraries * in %HOMEPATH%/mlterm/java or ~/.mlterm/java/. */ if ((value = getenv(key))) { char *p; if (!(p = alloca(strlen(value) + 1 + strlen(dir) + 1))) { return; } #ifdef USE_WIN32API sprintf(p, "%s;%s", dir, value); #else sprintf(p, "%s:%s", dir, value); #endif value = p; } else { value = dir; } bl_setenv(key, value, 1); #ifdef DEBUG { #ifdef HAVE_WINDOWS_H char buf[4096]; GetEnvironmentVariable(key, buf, sizeof(buf)); value = buf; #endif bl_debug_printf(BL_DEBUG_TAG " setting environment variable %s=%s\n", key, value); } #endif /* DEBUG */ #if defined(USE_WIN32API) && !defined(USE_LIBSSH2) /* * SetEnvironmentVariable( "PATH" , %HOMEPATH%\mlterm\java;%PATH) doesn't make * effect * for CreateProcess(), differently from LoadLibrary(). */ if ((plink = malloc(strlen(dir) + 9 + 1))) { sprintf(plink, "%s%s", dir, "plink.exe"); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " %s is set for default cmd path.\n", plink); #endif } #endif (*env)->ReleaseStringUTFChars(env, jstr_dir, dir); } JNIEXPORT jlong JNICALL Java_mlterm_MLTermPty_nativeOpen(JNIEnv *env, jobject obj, jstring jstr_host, jstring jstr_pass, /* can be NULL */ jint cols, jint rows, jstring jstr_encoding, jarray jarray_argv) { native_obj_t *nativeObj; vt_char_encoding_t encoding; int is_auto_encoding; char **argv; char *host; char *pass; char *envv[4]; char *cmd_path; int ret; static u_int tab_size; static vt_char_encoding_t encoding_default; static int is_auto_encoding_default; static vt_unicode_policy_t unicode_policy; static u_int col_size_a; static int use_char_combining; static int use_multi_col_char; static int use_login_shell; static int logging_vt_seq; static int use_local_echo; static int use_auto_detect; static int use_ansi_colors; static char *public_key; static char *private_key; static char **default_argv; static char *default_cmd_path; #if defined(USE_WIN32API) && defined(USE_LIBSSH2) static int wsa_inited = 0; if (!wsa_inited) { WSADATA wsadata; WSAStartup(MAKEWORD(2, 0), &wsadata); wsa_inited = 1; /* * Prevent vt_pty_ssh from spawning a thread to watch pty. * If both vt_pty_ssh and MLTerm.java spawn threads to watch ptys, * problems will happen in reloading (that is, finalizing and * starting simultaneously) an applet page (mltermlet.html) * in a web browser. * * This hack doesn't make sense to vt_pty_pipewin32.c. * In the first place, if vt_pty_pipewin32 is used, * Java_mlterm_MLTermPty_waitForReading() returns JNI_FALSE * and PtyWather thread of MLTerm.java immediately exits. * So threads in vt_pty_pipewin32 should not be prevented. */ CreateEvent(NULL, FALSE, FALSE, "PTY_READ_READY"); } #endif if (!str_parser) { bl_conf_t *conf; bl_init_prog("mlterm", "3.8.4"); bl_set_sys_conf_dir(CONFIG_PATH); bl_locale_init(""); bl_sig_child_init(); #ifdef USE_LIBSSH2 bl_dialog_set_callback(dialog_callback); #endif vt_term_manager_init(1); str_parser = vt_str_parser_new(); utf8_parser = vt_char_encoding_parser_new(VT_UTF8); #ifdef WORDS_BIGENDIAN utf16_conv = ef_utf16_conv_new(); #else utf16_conv = ef_utf16le_conv_new(); #endif tab_size = 8; encoding_default = vt_get_char_encoding("auto"); is_auto_encoding_default = 1; if (strcmp(bl_get_lang(), "ja") == 0) { col_size_a = 2; } else { col_size_a = 1; } use_char_combining = 1; use_multi_col_char = 1; #ifdef USE_LOCAL_ECHO_BY_DEFAULT use_local_echo = 1; #endif use_ansi_colors = 1; if ((conf = bl_conf_new())) { char *rcpath; char *value; if ((rcpath = bl_get_sys_rc_path("mlterm/main"))) { bl_conf_read(conf, rcpath); free(rcpath); } if ((rcpath = bl_get_user_rc_path("mlterm/main"))) { bl_conf_read(conf, rcpath); free(rcpath); } if ((value = bl_conf_get_value(conf, "logging_msg")) && strcmp(value, "false") == 0) { bl_set_msg_log_file_name(NULL); } else { bl_set_msg_log_file_name("mlterm/msg.log"); } if ((value = bl_conf_get_value(conf, "logging_vt_seq")) && strcmp(value, "true") == 0) { logging_vt_seq = 1; } if ((value = bl_conf_get_value(conf, "tabsize"))) { bl_str_to_uint(&tab_size, value); } if ((value = bl_conf_get_value(conf, "encoding"))) { vt_char_encoding_t e; if ((e = vt_get_char_encoding(value)) != VT_UNKNOWN_ENCODING) { encoding_default = e; if (strcmp(value, "auto") == 0) { is_auto_encoding_default = 1; } else { is_auto_encoding_default = 0; } } } if ((value = bl_conf_get_value(conf, "not_use_unicode_font"))) { if (strcmp(value, "true") == 0) { unicode_policy = NOT_USE_UNICODE_FONT; } } if ((value = bl_conf_get_value(conf, "only_use_unicode_font"))) { if (strcmp(value, "true") == 0) { if (unicode_policy == NOT_USE_UNICODE_FONT) { unicode_policy = 0; } else { unicode_policy = ONLY_USE_UNICODE_FONT; } } } if ((value = bl_conf_get_value(conf, "col_size_of_width_a"))) { bl_str_to_uint(&col_size_a, value); } if ((value = bl_conf_get_value(conf, "use_combining"))) { if (strcmp(value, "false") == 0) { use_char_combining = 0; } } if ((value = bl_conf_get_value(conf, "use_muti_col_char"))) { if (strcmp(value, "false") == 0) { use_multi_col_char = 0; } } if ((value = bl_conf_get_value(conf, "use_login_shell"))) { if (strcmp(value, "true") == 0) { use_login_shell = 1; } } if ((value = bl_conf_get_value(conf, "use_local_echo"))) { #ifdef USE_LOCAL_ECHO_BY_DEFAULT if (strcmp(value, "false") == 0) { use_local_echo = 0; } #else if (strcmp(value, "true") == 0) { use_local_echo = 1; } #endif } if ((value = bl_conf_get_value(conf, "use_alt_buffer"))) { if (strcmp(value, "false") == 0) { vt_set_use_alt_buffer(0); } } if ((value = bl_conf_get_value(conf, "use_ansi_colors"))) { if (strcmp(value, "false") == 0) { use_ansi_colors = 0; } } if ((value = bl_conf_get_value(conf, "auto_detect_encodings"))) { vt_set_auto_detect_encodings(value); } if ((value = bl_conf_get_value(conf, "use_auto_detect"))) { if (strcmp(value, "true") == 0) { use_auto_detect = 1; } } #ifdef USE_LIBSSH2 if ((value = bl_conf_get_value(conf, "ssh_public_key"))) { public_key = strdup(value); } if ((value = bl_conf_get_value(conf, "ssh_private_key"))) { private_key = strdup(value); } if ((value = bl_conf_get_value(conf, "cipher_list"))) { vt_pty_ssh_set_cipher_list(strdup(value)); } if ((value = bl_conf_get_value(conf, "ssh_keepalive_interval"))) { if (bl_str_to_uint(&keepalive_interval, value) && keepalive_interval > 0) { vt_pty_ssh_set_keepalive_interval(keepalive_interval); } } if ((value = bl_conf_get_value(conf, "ssh_x11_forwarding"))) { if (strcmp(value, "true") == 0) { vt_pty_ssh_set_use_x11_forwarding(NULL, 1); } } if ((value = bl_conf_get_value(conf, "allow_scp"))) { if (strcmp(value, "true") == 0) { vt_set_use_scp_full(1); } } #endif #if 0 /* XXX How to get password ? */ if ((value = bl_conf_get_value(conf, "default_server"))) { default_server = strdup(value); } #endif if (((value = bl_conf_get_value(conf, "exec_cmd")) #if defined(USE_WIN32API) && !defined(USE_LIBSSH2) || (value = plink) #endif ) && (default_argv = malloc(sizeof(char *) * bl_count_char_in_str(value, ' ') + 2))) { int argc; _bl_arg_str_to_array(default_argv, &argc, strdup(value)); default_cmd_path = default_argv[0]; } bl_conf_delete(conf); } unicode_policy |= ONLY_USE_UNICODE_BOXDRAW_FONT; } if (!(nativeObj = calloc(sizeof(native_obj_t), 1))) { return 0; } encoding = encoding_default; is_auto_encoding = is_auto_encoding_default; if (jstr_encoding) { char *p; vt_char_encoding_t e; p = (*env)->GetStringUTFChars(env, jstr_encoding, NULL); if ((e = vt_get_char_encoding(p)) != VT_UNKNOWN_ENCODING) { encoding = e; if (strcmp(p, "auto") == 0) { is_auto_encoding = 1; } else { is_auto_encoding = 0; } } (*env)->ReleaseStringUTFChars(env, jstr_encoding, p); } if (!(nativeObj->term = vt_create_term( "xterm", cols, rows, tab_size, 0, encoding, is_auto_encoding, use_auto_detect, logging_vt_seq, unicode_policy, col_size_a, use_char_combining, use_multi_col_char, 0 /* use_ctl */, 0 /* bidi_mode */, NULL /* bidi_separators */, 0 /* use_dynamic_comb */, BSM_STATIC, 0 /* vertical_mode */, use_local_echo, NULL, NULL, use_ansi_colors, 0 /* alt_color_mode */, 0 /* use_ot_layout */, 0 /* cursor_style */, 0 /* ignore_broadcasted_chars */))) { goto error; } nativeObj->pty_listener.self = nativeObj; nativeObj->pty_listener.closed = pty_closed; nativeObj->pty_listener.show_config = show_config; nativeObj->config_listener.self = nativeObj; nativeObj->config_listener.set = set_config; nativeObj->config_listener.get = get_config; nativeObj->config_listener.exec = exec_cmd; nativeObj->screen_listener.self = nativeObj; nativeObj->screen_listener.window_scroll_upward_region = window_scroll_upward_region; nativeObj->xterm_listener.self = nativeObj; nativeObj->xterm_listener.resize = resize; nativeObj->xterm_listener.set_mouse_report = set_mouse_report; nativeObj->xterm_listener.bel = bel; vt_term_attach(nativeObj->term, &nativeObj->xterm_listener, &nativeObj->config_listener, &nativeObj->screen_listener, &nativeObj->pty_listener); if (jstr_host) { host = (*env)->GetStringUTFChars(env, jstr_host, NULL); } else if (!(host = getenv("DISPLAY"))) { host = ":0.0"; } if (jstr_pass) { pass = (*env)->GetStringUTFChars(env, jstr_pass, NULL); } else { pass = NULL; } if (jarray_argv) { jsize len; jsize count; len = (*env)->GetArrayLength(env, jarray_argv); argv = alloca(sizeof(char *) * (len + 1)); for (count = 0; count < len; count++) { argv[count] = (*env)->GetStringUTFChars( env, (*env)->GetObjectArrayElement(env, jarray_argv, count), NULL); } argv[count] = NULL; cmd_path = argv[0]; } else if (default_argv) { argv = default_argv; cmd_path = default_cmd_path; } else { #ifndef USE_WIN32API if (pass) #endif { cmd_path = NULL; argv = alloca(sizeof(char *)); argv[0] = NULL; } #ifndef USE_WIN32API else { cmd_path = getenv("SHELL"); argv = alloca(sizeof(char *) * 2); argv[1] = NULL; } #endif } if (cmd_path) { if (use_login_shell) { argv[0] = alloca(strlen(cmd_path) + 2); sprintf(argv[0], "-%s", bl_basename(cmd_path)); } else { argv[0] = bl_basename(cmd_path); } } envv[0] = alloca(8 + strlen(host) + 1); sprintf(envv[0], "DISPLAY=%s", host); envv[1] = "TERM=xterm"; envv[2] = "COLORFGBG=default;default"; envv[3] = NULL; #ifdef USE_LIBSSH2 env_for_dialog = env; #endif ret = vt_term_open_pty(nativeObj->term, cmd_path, argv, envv, host, NULL, pass, public_key, private_key, 0, 0); #ifdef USE_LIBSSH2 env_for_dialog = NULL; #endif if (jarray_argv) { jsize count; argv[0] = cmd_path; for (count = 0; argv[count]; count++) { (*env)->ReleaseStringUTFChars(env, (*env)->GetObjectArrayElement(env, jarray_argv, count), argv[count]); } } if (jstr_host) { (*env)->ReleaseStringUTFChars(env, jstr_host, host); } if (pass) { (*env)->ReleaseStringUTFChars(env, jstr_pass, pass); } if (ret) { return nativeObj; } error: #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to open pty.\n"); #endif free(nativeObj); return 0; } JNIEXPORT void JNICALL Java_mlterm_MLTermPty_nativeClose(JNIEnv *env, jobject obj, jlong nobj) { native_obj_t *nativeObj; nativeObj = (native_obj_t *)nobj; if (nativeObj) { if (nativeObj->term) { vt_destroy_term(nativeObj->term); } if (nativeObj->listener) { (*env)->DeleteGlobalRef(env, nativeObj->listener); } free(nativeObj); } } JNIEXPORT void JNICALL Java_mlterm_MLTermPty_nativeSetListener(JNIEnv *env, jobject obj, jlong nobj, jobject listener) { native_obj_t *nativeObj; nativeObj = nobj; if (nativeObj->listener) { (*env)->DeleteGlobalRef(env, nativeObj->listener); } if (listener) { nativeObj->listener = (*env)->NewGlobalRef(env, listener); } else { nativeObj->listener = NULL; } } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_waitForReading(JNIEnv *env, jclass class) { #if defined(USE_WIN32API) && !defined(USE_LIBSSH2) return JNI_FALSE; #else u_int count; vt_term_t **terms; u_int num_terms; int maxfd; int ptyfd; fd_set read_fds; #ifdef USE_LIBSSH2 struct timeval tval; int *xssh_fds; u_int num_xssh_fds; #endif vt_close_dead_terms(); num_terms = vt_get_all_terms(&terms); if (num_terms == 0) { return JNI_FALSE; } #ifdef USE_LIBSSH2 num_xssh_fds = vt_pty_ssh_get_x11_fds(&xssh_fds); #endif while (1) { #ifdef USE_LIBSSH2 if (vt_pty_ssh_poll(&read_fds) > 0) { return JNI_TRUE; } #endif maxfd = 0; FD_ZERO(&read_fds); for (count = 0; count < num_terms; count++) { ptyfd = vt_term_get_master_fd(terms[count]); FD_SET(ptyfd, &read_fds); if (ptyfd > maxfd) { maxfd = ptyfd; } } #ifdef USE_LIBSSH2 for (count = 0; count < num_xssh_fds; count++) { FD_SET(xssh_fds[count], &read_fds); if (xssh_fds[count] > maxfd) { maxfd = xssh_fds[count]; } } tval.tv_usec = 0; tval.tv_sec = keepalive_interval; if (select(maxfd + 1, &read_fds, NULL, NULL, keepalive_interval > 0 ? &tval : NULL) == 0) { vt_pty_ssh_keepalive(keepalive_interval * 1000); } else #else select(maxfd + 1, &read_fds, NULL, NULL, NULL); #endif { break; } } return JNI_TRUE; #endif } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeIsActive(JNIEnv *env, jobject obj, jlong nativeObj) { vt_close_dead_terms(); if (nativeObj && ((native_obj_t *)nativeObj)->term) { return JNI_TRUE; } else { return JNI_FALSE; } } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeRead(JNIEnv *env, jobject obj, jlong nObj) { native_obj_t *nativeObj; nativeObj = nObj; if (nativeObj && nativeObj->term) { int ret; #ifdef USE_LIBSSH2 u_int count; int *xssh_fds; for (count = vt_pty_ssh_get_x11_fds(&xssh_fds); count > 0; count--) { vt_pty_ssh_send_recv_x11(count - 1, 1); } #endif /* For event listeners of vt_term_t. */ nativeObj->env = env; nativeObj->obj = obj; draw_cursor(nativeObj->term, vt_line_restore_color); ret = vt_term_parse_vt100_sequence(nativeObj->term); draw_cursor(nativeObj->term, vt_line_reverse_color); if (ret) { #if 0 /* #ifdef TUNEUP_HACK */ u_int row; u_int num_skip; u_int num_rows; u_int num_mod; int prev_is_modified; vt_line_t *line; prev_is_modified = 0; num_skip = 0; num_mod = 0; num_rows = vt_term_get_rows(nativeObj->term); for (row = 0; row < num_rows; row++) { if ((line = vt_term_get_line(nativeObj->term, row)) && vt_line_is_modified(line)) { if (!prev_is_modified) { num_skip++; } prev_is_modified = 1; num_mod++; } else if (prev_is_modified) { prev_is_modified = 0; } } /* * If 80% of lines are modified, set modified flag to all lines * to decrease the number of calling replaceTextRange(). */ if (num_skip > 2 && num_mod * 5 / 4 > num_rows) { for (row = 0; row < num_rows; row++) { if ((line = vt_term_get_line(nativeObj->term, row))) { vt_line_set_modified_all(line); } } } #endif return JNI_TRUE; } } return JNI_FALSE; } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeWrite(JNIEnv *env, jobject obj, jlong nativeObj, jstring jstr) { char *str; u_char buf[128]; size_t len; if (!nativeObj || !((native_obj_t *)nativeObj)->term) { return JNI_FALSE; } str = (*env)->GetStringUTFChars(env, jstr, NULL); #if 0 bl_debug_printf("WRITE TO PTY: %x", (int)*str); #endif /* In case local echo in vt_term_write(). */ draw_cursor(((native_obj_t *)nativeObj)->term, vt_line_restore_color); if (*str == '\0') { /* Control+space */ vt_term_write(((native_obj_t *)nativeObj)->term, str, 1); } else { (*utf8_parser->init)(utf8_parser); (*utf8_parser->set_str)(utf8_parser, str, strlen(str)); while (!utf8_parser->is_eos && (len = vt_term_convert_to(((native_obj_t *)nativeObj)->term, buf, sizeof(buf), utf8_parser)) > 0) { vt_term_write(((native_obj_t *)nativeObj)->term, buf, len); } #if 0 bl_debug_printf(" => DONE\n"); #endif (*env)->ReleaseStringUTFChars(env, jstr, str); } draw_cursor(((native_obj_t *)nativeObj)->term, vt_line_reverse_color); return JNI_TRUE; } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeWriteModifiedKey(JNIEnv *env, jobject obj, jlong nativeObj, jint key, jint modcode) { if (vt_term_write_modified_key(((native_obj_t *)nativeObj)->term, key, modcode)) { return JNI_TRUE; } else { return JNI_FALSE; } } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeWriteSpecialKey(JNIEnv *env, jobject obj, jlong nativeObj, jint key, jint modcode) { vt_special_key_t spkey; u_int8_t keys[] = { SPKEY_UP, SPKEY_DOWN, SPKEY_LEFT, SPKEY_RIGHT, SPKEY_PRIOR, SPKEY_NEXT, SPKEY_HOME, SPKEY_END, SPKEY_INSERT, SPKEY_F1, SPKEY_F2, SPKEY_F3, SPKEY_F4, SPKEY_F5, SPKEY_F6, SPKEY_F7, SPKEY_F8, SPKEY_F9, SPKEY_F10, SPKEY_F11, SPKEY_F12, SPKEY_F13, SPKEY_F14, SPKEY_F15, SPKEY_F16, SPKEY_F17, SPKEY_F18, SPKEY_F19, SPKEY_F20, }; u_int8_t keypad_keys[] = { SPKEY_KP_MULTIPLY, SPKEY_KP_ADD, SPKEY_KP_MULTIPLY, SPKEY_KP_ADD, SPKEY_KP_SUBTRACT, SPKEY_KP_DELETE, SPKEY_KP_DIVIDE, SPKEY_KP_INSERT, /* 0 */ SPKEY_KP_END, /* 1 */ SPKEY_KP_DOWN, /* 2 */ SPKEY_KP_NEXT, /* 3 */ SPKEY_KP_LEFT, /* 4 */ SPKEY_KP_BEGIN, /* 5 */ SPKEY_KP_RIGHT, /* 6 */ SPKEY_KP_HOME, /* 7 */ SPKEY_KP_UP, /* 8 */ SPKEY_KP_PRIOR, /* 9 */ }; /* Definitions in SWT.java */ enum { KEYCODE_BIT = (1 << 24), ARROW_UP = KEYCODE_BIT + 1, ARROW_DOWN = KEYCODE_BIT + 2, ARROW_LEFT = KEYCODE_BIT + 3, ARROW_RIGHT = KEYCODE_BIT + 4, PAGE_UP = KEYCODE_BIT + 5, PAGE_DOWN = KEYCODE_BIT + 6, HOME = KEYCODE_BIT + 7, END = KEYCODE_BIT + 8, INSERT = KEYCODE_BIT + 9, F1 = KEYCODE_BIT + 10, F2 = KEYCODE_BIT + 11, F3 = KEYCODE_BIT + 12, F4 = KEYCODE_BIT + 13, F5 = KEYCODE_BIT + 14, F6 = KEYCODE_BIT + 15, F7 = KEYCODE_BIT + 16, F8 = KEYCODE_BIT + 17, F9 = KEYCODE_BIT + 18, F10 = KEYCODE_BIT + 19, F11 = KEYCODE_BIT + 20, F12 = KEYCODE_BIT + 21, F13 = KEYCODE_BIT + 22, F14 = KEYCODE_BIT + 23, F15 = KEYCODE_BIT + 24, F16 = KEYCODE_BIT + 25, F17 = KEYCODE_BIT + 26, F18 = KEYCODE_BIT + 27, F19 = KEYCODE_BIT + 28, F20 = KEYCODE_BIT + 29, KEYPAD_MULTIPLY = KEYCODE_BIT + 42, KEYPAD_ADD = KEYCODE_BIT + 43, KEYPAD_SUBTRACT = KEYCODE_BIT + 45, KEYPAD_DECIMAL = KEYCODE_BIT + 46, KEYPAD_DIVIDE = KEYCODE_BIT + 47, KEYPAD_0 = KEYCODE_BIT + 48, KEYPAD_1 = KEYCODE_BIT + 49, KEYPAD_2 = KEYCODE_BIT + 50, KEYPAD_3 = KEYCODE_BIT + 51, KEYPAD_4 = KEYCODE_BIT + 52, KEYPAD_5 = KEYCODE_BIT + 53, KEYPAD_6 = KEYCODE_BIT + 54, KEYPAD_7 = KEYCODE_BIT + 55, KEYPAD_8 = KEYCODE_BIT + 56, KEYPAD_9 = KEYCODE_BIT + 57, KEYPAD_EQUAL = KEYCODE_BIT + 61, KEYPAD_CR = KEYCODE_BIT + 80, HELP = KEYCODE_BIT + 81, CAPS_LOCK = KEYCODE_BIT + 82, NUM_LOCK = KEYCODE_BIT + 83, SCROLL_LOCK = KEYCODE_BIT + 84, PAUSE = KEYCODE_BIT + 85, BREAK = KEYCODE_BIT + 86, PRINT_SCREEN = KEYCODE_BIT + 87, }; if (ARROW_UP <= key && key <= F20) { spkey = keys[key - ARROW_UP]; } else if (KEYPAD_MULTIPLY <= key && key <= KEYPAD_9) { spkey = keypad_keys[key - KEYPAD_MULTIPLY]; } else if (key == '\x1b') { spkey = SPKEY_ESCAPE; } else { return JNI_FALSE; } if (vt_term_write_special_key(((native_obj_t *)nativeObj)->term, spkey, modcode, 0)) { return JNI_TRUE; } else { return JNI_FALSE; } } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeResize(JNIEnv *env, jobject obj, jlong nativeObj, jint cols, jint rows) { if (nativeObj && ((native_obj_t *)nativeObj)->term && vt_term_resize(((native_obj_t *)nativeObj)->term, cols, rows, 0, 0)) { return JNI_TRUE; } else { return JNI_FALSE; } } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeGetRedrawString(JNIEnv *env, jobject obj, jlong nativeObj, jint row, jobject region) { vt_line_t *line; u_char *buf; size_t buf_len; int mod_beg; u_int num_chars; u_int count; u_int start; size_t redraw_len; jobject *styles; u_int num_styles; static jfieldID region_str; static jfieldID region_start; static jfieldID region_styles; static jclass style_class; static jfieldID style_length; static jfieldID style_start; static jfieldID style_fg_color; static jfieldID style_fg_pixel; static jfieldID style_bg_color; static jfieldID style_bg_pixel; static jfieldID style_underline; static jfieldID style_strikeout; static jfieldID style_bold; static jfieldID style_italic; jobjectArray array; if (!nativeObj || !((native_obj_t *)nativeObj)->term || !(line = vt_term_get_line(((native_obj_t *)nativeObj)->term, row)) || !vt_line_is_modified(line)) { return JNI_FALSE; } if (!region_str) { jclass class; class = (*env)->FindClass(env, "mlterm/RedrawRegion"); region_str = (*env)->GetFieldID(env, class, "str", "Ljava/lang/String;"); region_start = (*env)->GetFieldID(env, class, "start", "I"); region_styles = (*env)->GetFieldID(env, class, "styles", "[Lmlterm/Style;"); } mod_beg = vt_line_get_beg_of_modified(line); #if 0 num_chars = vt_line_get_num_redrawn_chars(line, 1 /* to end */); #else if ((num_chars = get_num_filled_chars_except_sp(line)) >= mod_beg) { num_chars -= mod_beg; } else { num_chars = 0; } #endif buf_len = (mod_beg + num_chars) * sizeof(u_int16_t) * 2 /* SURROGATE_PAIR */ + 2 /* NULL */; buf = alloca(buf_len); num_styles = 0; if (mod_beg > 0) { (*str_parser->init)(str_parser); vt_str_parser_set_str(str_parser, line->chars, mod_beg); start = (*utf16_conv->convert)(utf16_conv, buf, buf_len, str_parser) / 2; } else { start = 0; } if (num_chars > 0) { int prev_ch_was_added = 0; styles = alloca(sizeof(jobject) * num_chars); redraw_len = 0; (*str_parser->init)(str_parser); for (count = 0; count < num_chars; count++) { size_t len; int ret; #if 0 if (vt_char_code_equal(line->chars + mod_beg + count, vt_nl_ch())) { prev_ch_was_added = 0; /* Drawing will collapse, but region.str mustn't contain '\n'. */ continue; } #endif vt_str_parser_set_str(str_parser, line->chars + mod_beg + count, 1); if ((len = (*utf16_conv->convert)(utf16_conv, buf + redraw_len, buf_len - redraw_len, str_parser)) < 2) { prev_ch_was_added = 0; continue; } ret = need_style(line->chars + mod_beg + count, prev_ch_was_added ? line->chars + mod_beg + count - 1 : NULL); prev_ch_was_added = 1; if (ret == 1) { (*env)->SetIntField( env, styles[num_styles - 1], style_length, (*env)->GetIntField(env, styles[num_styles - 1], style_length) + len / 2); } else if (ret == 2) { vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; int line_style; if (!style_class) { style_class = (*env)->NewGlobalRef(env, (*env)->FindClass(env, "mlterm/Style")); style_length = (*env)->GetFieldID(env, style_class, "length", "I"); style_start = (*env)->GetFieldID(env, style_class, "start", "I"); style_fg_color = (*env)->GetFieldID(env, style_class, "fg_color", "I"); style_fg_pixel = (*env)->GetFieldID(env, style_class, "fg_pixel", "I"); style_bg_color = (*env)->GetFieldID(env, style_class, "bg_color", "I"); style_bg_pixel = (*env)->GetFieldID(env, style_class, "bg_pixel", "I"); style_underline = (*env)->GetFieldID(env, style_class, "underline", "Z"); style_strikeout = (*env)->GetFieldID(env, style_class, "strikeout", "Z"); style_bold = (*env)->GetFieldID(env, style_class, "bold", "Z"); style_italic = (*env)->GetFieldID(env, style_class, "italic", "Z"); } styles[num_styles++] = (*env)->AllocObject(env, style_class); (*env)->SetIntField(env, styles[num_styles - 1], style_length, len / 2); (*env)->SetIntField(env, styles[num_styles - 1], style_start, redraw_len / 2); color = vt_char_fg_color(line->chars + mod_beg + count); (*env)->SetIntField(env, styles[num_styles - 1], style_fg_color, color); (*env)->SetIntField(env, styles[num_styles - 1], style_fg_pixel, /* return -1(white) for invalid color. */ vt_get_color_rgba(color, &red, &green, &blue, NULL) ? ((red << 16) | (green << 8) | blue) : -1); color = vt_char_bg_color(line->chars + mod_beg + count); (*env)->SetIntField(env, styles[num_styles - 1], style_bg_color, color); (*env)->SetIntField(env, styles[num_styles - 1], style_bg_pixel, /* return -1(white) for invalid color. */ vt_get_color_rgba(color, &red, &green, &blue, NULL) ? ((red << 16) | (green << 8) | blue) : -1); line_style = vt_char_line_style(line->chars + mod_beg + count); (*env)->SetBooleanField(env, styles[num_styles - 1], style_underline, (line_style & LS_UNDERLINE_SINGLE) ? JNI_TRUE : JNI_FALSE); (*env)->SetBooleanField(env, styles[num_styles - 1], style_strikeout, (line_style & LS_CROSSED_OUT) ? JNI_TRUE : JNI_FALSE); (*env)->SetBooleanField( env, styles[num_styles - 1], style_bold, vt_char_font(line->chars + mod_beg + count) & FONT_BOLD ? JNI_TRUE : JNI_FALSE); (*env)->SetBooleanField( env, styles[num_styles - 1], style_italic, vt_char_font(line->chars + mod_beg + count) & FONT_ITALIC ? JNI_TRUE : JNI_FALSE); } redraw_len += len; } } else { redraw_len = 0; } #ifdef WORDS_BIGENDIAN buf[redraw_len++] = '\0'; buf[redraw_len++] = '\n'; #else buf[redraw_len++] = '\n'; buf[redraw_len++] = '\0'; #endif (*env)->SetObjectField(env, region, region_str, ((*env)->NewString)(env, buf, redraw_len / 2)); (*env)->SetIntField(env, region, region_start, start); if (num_styles > 0) { u_int count; array = (*env)->NewObjectArray(env, num_styles, style_class, styles[0]); for (count = 1; count < num_styles; count++) { (*env)->SetObjectArrayElement(env, array, count, styles[count]); } } else { array = NULL; } (*env)->SetObjectField(env, region, region_styles, array); vt_line_set_updated(line); #ifdef TUNEUP_HACK { /* * XXX * It is assumed that lines are sequentially checked from 0th row. * If next line is modified, set mod_beg = 0 to enable combining modified * characters in current line and next line. */ vt_line_t *next_line; if ((next_line = vt_term_get_line(((native_obj_t *)nativeObj)->term, row + 1)) && vt_line_is_modified(next_line) && vt_line_get_beg_of_modified(next_line) < vt_term_get_cols(((native_obj_t *)nativeObj)->term) / 2) { vt_line_set_modified_all(next_line); } } #endif return JNI_TRUE; } JNIEXPORT jint JNICALL Java_mlterm_MLTermPty_nativeGetRows(JNIEnv *env, jobject obj, jlong nativeObj) { if (!nativeObj || !((native_obj_t *)nativeObj)->term) { return 0; } return vt_term_get_rows(((native_obj_t *)nativeObj)->term); } JNIEXPORT jint JNICALL Java_mlterm_MLTermPty_nativeGetCols(JNIEnv *env, jobject obj, jlong nativeObj) { if (!nativeObj || !((native_obj_t *)nativeObj)->term) { return 0; } return vt_term_get_cols(((native_obj_t *)nativeObj)->term); } JNIEXPORT jint JNICALL Java_mlterm_MLTermPty_nativeGetCaretRow(JNIEnv *env, jobject obj, jlong nativeObj) { if (!nativeObj || !((native_obj_t *)nativeObj)->term) { return 0; } return vt_term_cursor_row_in_screen(((native_obj_t *)nativeObj)->term); } JNIEXPORT jint JNICALL Java_mlterm_MLTermPty_nativeGetCaretCol(JNIEnv *env, jobject obj, jlong nativeObj) { vt_line_t *line; int char_index; if (!nativeObj || !((native_obj_t *)nativeObj)->term || !(line = vt_term_get_cursor_line(((native_obj_t *)nativeObj)->term))) { return 0; } char_index = vt_term_cursor_char_index(((native_obj_t *)nativeObj)->term); if (char_index > 0) { char *buf; size_t buf_len; buf_len = char_index * sizeof(int16_t) * 2 /* SURROGATE_PAIR */; buf = alloca(buf_len); (*str_parser->init)(str_parser); vt_str_parser_set_str(str_parser, line->chars, char_index); return (*utf16_conv->convert)(utf16_conv, buf, buf_len, str_parser) / 2; } else { return 0; } } JNIEXPORT jboolean JNICALL Java_mlterm_MLTermPty_nativeIsTrackingMouse(JNIEnv *env, jobject obj, jlong nobj, jint button, jboolean isMotion) { native_obj_t *nativeObj; nativeObj = nobj; if (!nativeObj || !nativeObj->term || !vt_term_get_mouse_report_mode(nativeObj->term) || (isMotion && (vt_term_get_mouse_report_mode(nativeObj->term) < BUTTON_EVENT_MOUSE_REPORT || (button == 0 && vt_term_get_mouse_report_mode(nativeObj->term) == BUTTON_EVENT_MOUSE_REPORT)))) { return JNI_FALSE; } else { return JNI_TRUE; } } JNIEXPORT void JNICALL Java_mlterm_MLTermPty_nativeReportMouseTracking(JNIEnv *env, jobject obj, jlong nobj, jint char_index, jint row, jint button, jint state, jboolean isMotion, jboolean isReleased) { native_obj_t *nativeObj; vt_line_t *line; int col; int key_state; nativeObj = nobj; #if 0 if (!Java_mlterm_MLTermPty_nativeIsTrackingMouse(env, obj, nobj, button, state, isMotion, isReleased)) { return; } #endif if (vt_term_get_mouse_report_mode(nativeObj->term) >= LOCATOR_CHARCELL_REPORT) { /* Not supported */ return; } /* * XXX * Not considering BiDi etc. */ if (!(line = vt_term_get_line(nativeObj->term, row))) { col = char_index; } else { int count; if (vt_line_end_char_index(line) < char_index) { col = char_index - vt_line_end_char_index(line); char_index -= col; } else { col = 0; } for (count = 0; count < char_index; count++) { u_int size; col += vt_char_cols(line->chars + count); if (vt_get_combining_chars(line->chars + count, &size)) { char_index -= size; } } } /* * Following is the same as ui_screen.c:report_mouse_tracking(). */ if (/* isMotion && */ button == 0) { /* PointerMotion */ key_state = 0; } else { /* * Shift = 4 * Meta = 8 * Control = 16 * Button Motion = 32 * * NOTE: with Ctrl/Shift, the click is interpreted as region selection at *present. * So Ctrl/Shift will never be catched here. */ key_state = ((state & ShiftMask) ? 4 : 0) + ((state & AltMask) ? 8 : 0) + ((state & ControlMask) ? 16 : 0) + (isMotion ? 32 : 0); } /* count starts from 1, not 0 */ col++; row++; if (isMotion && button <= 3 && /* not wheel mouse */ nativeObj->prev_mouse_report_col == col && nativeObj->prev_mouse_report_row == row) { /* Pointer is not moved. */ return; } vt_term_report_mouse_tracking(nativeObj->term, col, row, button, isReleased, key_state, 0); nativeObj->prev_mouse_report_col = col; nativeObj->prev_mouse_report_row = row; } JNIEXPORT jlong JNICALL Java_mlterm_MLTermPty_getColorRGB(JNIEnv *env, jclass class, jstring jstr_color) { const char *color_name; vt_color_t color; u_int8_t red; u_int8_t green; u_int8_t blue; int error; color_name = (*env)->GetStringUTFChars(env, jstr_color, NULL); error = 0; /* * The similar processing as that of ui_load_named_xcolor() * in fb/ui_color.c and win32/ui_color.c. */ if (vt_color_parse_rgb_name(&red, &green, &blue, NULL, color_name)) { /* do nothing */ } else if ((color = vt_get_color(color_name)) != VT_UNKNOWN_COLOR && IS_VTSYS_BASE_COLOR(color)) { /* * 0 : 0x00, 0x00, 0x00 * 1 : 0xff, 0x00, 0x00 * 2 : 0x00, 0xff, 0x00 * 3 : 0xff, 0xff, 0x00 * 4 : 0x00, 0x00, 0xff * 5 : 0xff, 0x00, 0xff * 6 : 0x00, 0xff, 0xff * 7 : 0xe5, 0xe5, 0xe5 */ red = (color & 0x1) ? 0xff : 0; green = (color & 0x2) ? 0xff : 0; blue = (color & 0x4) ? 0xff : 0; } else { if (strcmp(color_name, "gray") == 0) { red = green = blue = 190; } else if (strcmp(color_name, "lightgray") == 0) { red = green = blue = 211; } else { error = 1; } } (*env)->ReleaseStringUTFChars(env, jstr_color, color_name); if (!error) { return ((red << 16) | (green << 8) | blue); } else { return -1; } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������mlterm-3.8.4/java/mltermlet.jnlp��������������������������������������������������������������������0100644�0001760�0000144�00000001221�13210547313�0015332�0����������������������������������������������������������������������������������������������������ustar �ken�����������������������������users������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������<?xml version="1.0" encoding="UTF-8"?> <jnlp spec="1.0+" codebase="http://mlterm.sourceforge.net/" href="mltermlet.jnlp"> <information> <title>mltermlet Araki Ken mltermlet terminal emulator mlterm-3.8.4/java/README010064400017600000144000000060201321054731300133220ustar kenuserscomment -*- mode: text -*- How to build & install mlterm co-operating with Java. * Requirements o SWT (http://www.eclipse.org/swt/) o JDK or JRE >=1.5 * Build $ ./configure (options) $ make $ cd java -> Edit Makefile according to your environment. $ make * Install and start mlterm (Unix) $ make install $ LD_LIBRARY_PATH=(where mlterm shared libraries are installed) java -jar mlterm.jar (Windows) $ cp MLTermPty.dll mlterm.jar (where mlterm exec/dll are installed) $ java -jar mlterm.jar o options -dialog : Show dialog to specify a server. (Default behavior: Open dialog in win32. Not open dialog in unix.) -g x: Specify size. -fn : Specify font family. -fg : Specify foreground color. -bg : Specify background color. -km : Specify character encoding. -serv (://)(@)(:): Specify a server. -w : Specify font size. -e ... : Specify a command to be executed. e.g.) java -jar mlterm -serv ssh://guest@192.168.0.1:22 (Applet) $ cp mlterm.jar swt.jar mlterm.html (installation directory) $ appletviewer mlterm.html * Notice o Following options in ~/.mlterm/main or %HOMEPATH%\mlterm\main are applied automatically. ENCODING tabsize use_combining use_dynamic_comb use_multi_col_char col_size_of_width_a logging_msg logging_vt_seq not_use_unicode_font only_use_unicode_font use_unicode_property use_login_shell ssh_public_key ssh_private_key fontsize fg_color bg_color geometry default_server exec_cmd (*) (FYI: Use "exec_cmd = create" to connect user@shell.sf.net with "create" command.) font (*) (e.g. "font = Kochi Gothic", "font = MS Gothic") (*) Unique options of Java version. o Following configuration protocols are supported. encoding is_auto_encoding tabsize use_combining use_multi_column_char col_size_of_width_a locale pwd rows cols pty_name icon_path (Not implemented) logging_vt_seq logging_msg browser (*) (usage: mlcc exec browser http://www.google.co.jp) (*) Unique options of Java version. o Sortcut keys. Control+F1: Open new mlterm window. (Not supported in applet version.) Control+F2: Open new pty in current mlterm window. Control+F3: Switch to a next free pty. * On-line demo (win32 only) http://mlterm.sf.net/mltermlet.html http://mlterm.sf.net/mltermlet.jnpl o If libeay32.dll exits in system foler (c:\windows\system) and it is not compatible with the one which libssh2 depends on, this demo doesn't start. Remove libeay32.dll in system folder in advance. o The path of RSA public key is %HOMEPATH%\mlterm\id_rsa.pub and the one of private key is %HOMEPATH%\mlterm\id_rsa by default. * Tested terminals using vte. o Java 1.6.0_23 on Ubuntu 11.10 o Java 1.7.0_02 on MS Windows 7/Cygwin 1.7.10 (CC="gcc -mno-cygwin") o Java 1.7.0_02 on MS Windows 7/MinGW 5.1.4 mlterm-3.8.4/inputmethod004075500017600000144000000000001321054731300140075ustar kenusersmlterm-3.8.4/inputmethod/ibus004075500017600000144000000000001321054731300147515ustar kenusersmlterm-3.8.4/inputmethod/ibus/im_ibus.c010064400017600000144000000577601321054731300166370ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include #include #include #include #include "../im_common.h" #include "../im_info.h" #if 0 #define IM_IBUS_DEBUG 1 #endif #define IBUS_ID -2 #if IBUS_CHECK_VERSION(1, 5, 0) #define ibus_input_context_is_enabled(context) (TRUE) #define ibus_input_context_disable(context) (0) #define ibus_input_context_enable(context) (0) #endif #if defined(USE_FRAMEBUFFER) || defined(USE_CONSOLE) #define USE_IM_CANDIDATE_SCREEN #define NO_XKB #endif #ifdef USE_WAYLAND #define KeyRelease 3 #define ibus_input_context_set_cursor_location(context, x, y, w, h) \ ibus_input_context_set_cursor_location_relative(context, x, y, w, h) #endif typedef struct im_ibus { /* input method common object */ ui_im_t im; IBusInputContext *context; vt_char_encoding_t term_encoding; #ifdef USE_IM_CANDIDATE_SCREEN ef_parser_t *parser_term; /* for term encoding */ #endif ef_conv_t *conv; /* for term encoding */ /* * Cache a result of ibus_input_context_is_enabled() which uses * DBus connection internally. */ gboolean is_enabled; XKeyEvent prev_key; #ifdef USE_IM_CANDIDATE_SCREEN gchar *prev_first_cand; u_int prev_num_cands; #endif struct im_ibus *next; } im_ibus_t; /* --- static variables --- */ static IBusBus *ibus_bus; static int ibus_bus_fd = -1; static im_ibus_t *ibus_list = NULL; static int ref_count = 0; static ef_parser_t *parser_utf8 = NULL; static ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ #ifdef DEBUG_MODKEY static int mod_key_debug = 0; #endif /* --- static functions --- */ #if 0 static vt_color_t get_near_color(u_int rgb) { u_int rgb_bit = 0; if ((rgb & 0xff0000) > 0x7f0000) { rgb_bit |= 0x4; } if ((rgb & 0xff00) > 0x7f00) { rgb_bit |= 0x2; } if ((rgb & 0xff) > 0x7f) { rgb_bit |= 0x1; } switch (rgb_bit) { case 0: return VT_BLACK; case 1: return VT_BLUE; case 2: return VT_GREEN; case 3: return VT_CYAN; case 4: return VT_RED; case 5: return VT_MAGENTA; case 6: return VT_YELLOW; case 7: return VT_WHITE; default: return VT_BLACK; } } #endif static void update_preedit_text(IBusInputContext *context, IBusText *text, gint cursor_pos, gboolean visible, gpointer data) { im_ibus_t *ibus; vt_char_t *p; u_int len; ef_char_t ch; ibus = (im_ibus_t*)data; if ((len = ibus_text_get_length(text)) > 0) { u_int index; if (ibus->im.preedit.filled_len == 0) { /* Start preediting. */ int x; int y; if ((*ibus->im.listener->get_spot)(ibus->im.listener->self, NULL, 0, &x, &y)) { u_int line_height; line_height = (*ibus->im.listener->get_line_height)(ibus->im.listener->self); ibus_input_context_set_cursor_location(ibus->context, x, y - line_height, 0, line_height); } } if ((p = realloc(ibus->im.preedit.chars, sizeof(vt_char_t) * len)) == NULL) { return; } (*syms->vt_str_init)(ibus->im.preedit.chars = p, ibus->im.preedit.num_chars = len); ibus->im.preedit.filled_len = 0; (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, text->text, strlen(text->text)); index = 0; while ((*parser_utf8->next_char)(parser_utf8, &ch)) { u_int count; IBusAttribute *attr; int is_fullwidth = 0; int is_comb = 0; int is_underlined = 0; vt_color_t fg_color = VT_FG_COLOR; vt_color_t bg_color = VT_BG_COLOR; for (count = 0; (attr = ibus_attr_list_get(text->attrs, count)); count++) { if (attr->start_index <= index && index < attr->end_index) { if (attr->type == IBUS_ATTR_TYPE_UNDERLINE) { is_underlined = (attr->value != IBUS_ATTR_UNDERLINE_NONE); } #if 0 else if (attr->type == IBUS_ATTR_TYPE_FOREGROUND) { fg_color = get_near_color(attr->value); } else if (attr->type == IBUS_ATTR_TYPE_BACKGROUND) { bg_color = get_near_color(attr->value); } #else else if (attr->type == IBUS_ATTR_TYPE_BACKGROUND) { fg_color = VT_BG_COLOR; bg_color = VT_FG_COLOR; } #endif } } if ((*syms->vt_convert_to_internal_ch)(ibus->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, LS_UNDERLINE_SINGLE, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); p++; ibus->im.preedit.filled_len++; index++; } } else { #ifdef USE_IM_CANDIDATE_SCREEN if (ibus->im.cand_screen) { (*ibus->im.cand_screen->delete)(ibus->im.cand_screen); ibus->im.cand_screen = NULL; } #endif if (ibus->im.preedit.filled_len == 0) { return; } /* Stop preediting. */ ibus->im.preedit.filled_len = 0; } ibus->im.preedit.cursor_offset = cursor_pos; (*ibus->im.listener->draw_preedit_str)(ibus->im.listener->self, ibus->im.preedit.chars, ibus->im.preedit.filled_len, ibus->im.preedit.cursor_offset); } static void hide_preedit_text(IBusInputContext *context, gpointer data) { im_ibus_t *ibus; ibus = (im_ibus_t*)data; if (ibus->im.preedit.filled_len == 0) { return; } #ifdef USE_IM_CANDIDATE_SCREEN if (ibus->im.cand_screen) { (*ibus->im.cand_screen->hide)(ibus->im.cand_screen); } #endif /* Stop preediting. */ ibus->im.preedit.filled_len = 0; ibus->im.preedit.cursor_offset = 0; (*ibus->im.listener->draw_preedit_str)(ibus->im.listener->self, ibus->im.preedit.chars, ibus->im.preedit.filled_len, ibus->im.preedit.cursor_offset); } static void commit_text(IBusInputContext *context, IBusText *text, gpointer data) { im_ibus_t *ibus; ibus = (im_ibus_t*)data; if (ibus->im.preedit.filled_len > 0) { /* Reset preedit */ ibus->im.preedit.filled_len = 0; ibus->im.preedit.cursor_offset = 0; (*ibus->im.listener->draw_preedit_str)(ibus->im.listener->self, ibus->im.preedit.chars, ibus->im.preedit.filled_len, ibus->im.preedit.cursor_offset); } if (ibus_text_get_length(text) == 0) { /* do nothing */ } else if (ibus->term_encoding == VT_UTF8) { (*ibus->im.listener->write_to_term)(ibus->im.listener->self, text->text, strlen(text->text)); } else { u_char conv_buf[256]; size_t filled_len; (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, text->text, strlen(text->text)); (*ibus->conv->init)(ibus->conv); while (!parser_utf8->is_eos) { filled_len = (*ibus->conv->convert)(ibus->conv, conv_buf, sizeof(conv_buf), parser_utf8); if (filled_len == 0) { /* finished converting */ break; } (*ibus->im.listener->write_to_term)(ibus->im.listener->self, conv_buf, filled_len); } } #ifdef USE_IM_CANDIDATE_SCREEN if (ibus->im.cand_screen) { (*ibus->im.cand_screen->delete)(ibus->im.cand_screen); ibus->im.cand_screen = NULL; } #endif } static void forward_key_event(IBusInputContext *context, guint keyval, guint keycode, guint state, gpointer data) { im_ibus_t *ibus; ibus = (im_ibus_t*)data; if (ibus->prev_key.keycode == #ifdef NO_XKB keycode #else keycode + 8 #endif ) { ibus->prev_key.state |= IBUS_IGNORED_MASK; #ifdef USE_XLIB XPutBackEvent(ibus->prev_key.display, &ibus->prev_key); #endif memset(&ibus->prev_key, 0, sizeof(XKeyEvent)); } } #ifdef USE_IM_CANDIDATE_SCREEN static void show_lookup_table(IBusInputContext *context, gpointer data) { im_ibus_t *ibus; ibus = (im_ibus_t*)data; if (ibus->im.cand_screen) { (*ibus->im.cand_screen->show)(ibus->im.cand_screen); } } static void hide_lookup_table(IBusInputContext *context, gpointer data) { im_ibus_t *ibus; ibus = (im_ibus_t*)data; if (ibus->im.cand_screen) { (*ibus->im.cand_screen->hide)(ibus->im.cand_screen); } } static void update_lookup_table(IBusInputContext *context, IBusLookupTable *table, gboolean visible, gpointer data) { im_ibus_t *ibus; u_int num_cands; int cur_pos; u_int i; int x; int y; ibus = (im_ibus_t*)data; if ((num_cands = ibus_lookup_table_get_number_of_candidates(table)) == 0) { return; } cur_pos = ibus_lookup_table_get_cursor_pos(table); (*ibus->im.listener->get_spot)(ibus->im.listener->self, ibus->im.preedit.chars, ibus->im.preedit.segment_offset, &x, &y); if (ibus->im.cand_screen == NULL) { if (cur_pos == 0) { return; } if (!(ibus->im.cand_screen = (*syms->ui_im_candidate_screen_new)( ibus->im.disp, ibus->im.font_man, ibus->im.color_man, ibus->im.vtparser, (*ibus->im.listener->is_vertical)(ibus->im.listener->self), 1, (*ibus->im.listener->get_line_height)(ibus->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_candidate_screen_new() failed.\n"); #endif return; } } else { (*ibus->im.cand_screen->show)(ibus->im.cand_screen); } if (!(*ibus->im.cand_screen->init)(ibus->im.cand_screen, num_cands, 10)) { (*ibus->im.cand_screen->delete)(ibus->im.cand_screen); ibus->im.cand_screen = NULL; return; } (*ibus->im.cand_screen->set_spot)(ibus->im.cand_screen, x, y); for (i = 0; i < num_cands; i++) { u_char *str; /* ibus 1.4.1 on Ubuntu 12.10 can return NULL if num_cands > 0. */ if (!(str = ibus_text_get_text(ibus_lookup_table_get_candidate(table, i)))) { continue; } if (ibus->term_encoding != VT_UTF8) { u_char *p; (*parser_utf8->init)(parser_utf8); (*ibus->conv->init)(ibus->conv); if (im_convert_encoding(parser_utf8, ibus->conv, str, &p, strlen(str) + 1)) { (*ibus->im.cand_screen->set)(ibus->im.cand_screen, ibus->parser_term, p, i); free(p); } } else { (*ibus->im.cand_screen->set)(ibus->im.cand_screen, ibus->parser_term, str, i); } } (*ibus->im.cand_screen->select)(ibus->im.cand_screen, cur_pos); } #endif static void connection_handler(void) { #ifdef DBUS_H DBusConnection *connection; connection = ibus_connection_get_connection(ibus_bus_get_connection(ibus_bus)); dbus_connection_read_write(connection, 0); while (dbus_connection_dispatch(connection) == DBUS_DISPATCH_DATA_REMAINS) ; #else #if 0 g_dbus_connection_flush_sync(ibus_bus_get_connection(ibus_bus), NULL, NULL); #endif g_main_context_iteration(g_main_context_default(), FALSE); #endif } static int add_event_source(void) { #ifdef DBUS_H if (!dbus_connection_get_unix_fd( ibus_connection_get_connection(ibus_bus_get_connection(ibus_bus)), &ibus_bus_fd)) { return 0; } #else /* * GIOStream returned by g_dbus_connection_get_stream() is forcibly * regarded as GSocketConnection. */ if ((ibus_bus_fd = g_socket_get_fd(g_socket_connection_get_socket( g_dbus_connection_get_stream(ibus_bus_get_connection(ibus_bus))))) == -1) { return 0; } #endif (*syms->ui_event_source_add_fd)(ibus_bus_fd, connection_handler); (*syms->ui_event_source_add_fd)(IBUS_ID, connection_handler); return 1; } static void remove_event_source(int complete) { if (ibus_bus_fd >= 0) { (*syms->ui_event_source_remove_fd)(ibus_bus_fd); ibus_bus_fd = -1; } #ifndef USE_WAYLAND if (complete) { (*syms->ui_event_source_remove_fd)(IBUS_ID); } #endif } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_ibus_t *ibus; ibus = (im_ibus_t*)im; if (ibus->context) { #ifdef DBUS_H ibus_object_destroy((IBusObject*)ibus->context); #else ibus_proxy_destroy((IBusProxy*)ibus->context); #endif } bl_slist_remove(ibus_list, ibus); if (ibus->conv) { (*ibus->conv->delete)(ibus->conv); } #ifdef USE_IM_CANDIDATE_SCREEN if (ibus->parser_term) { (*ibus->parser_term->delete)(ibus->parser_term); } free(ibus->prev_first_cand); #endif free(ibus); if (--ref_count == 0) { remove_event_source(1); ibus_object_destroy((IBusObject*)ibus_bus); ibus_bus = NULL; if (parser_utf8) { (*parser_utf8->delete)(parser_utf8); parser_utf8 = NULL; } } #ifdef IM_IBUS_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif } #ifdef NO_XKB static KeySym native_to_ibus_ksym(KeySym ksym) { switch (ksym) { case XK_BackSpace: return IBUS_BackSpace; case XK_Tab: return IBUS_Tab; case XK_Return: return IBUS_Return; case XK_Escape: return IBUS_Escape; case XK_Zenkaku_Hankaku: return IBUS_Zenkaku_Hankaku; case XK_Hiragana_Katakana: return IBUS_Hiragana_Katakana; case XK_Muhenkan: return IBUS_Muhenkan; case XK_Henkan_Mode: return IBUS_Henkan_Mode; case XK_Home: return IBUS_Home; case XK_Left: return IBUS_Left; case XK_Up: return IBUS_Up; case XK_Right: return IBUS_Right; case XK_Down: return IBUS_Down; case XK_Prior: return IBUS_Prior; case XK_Next: return IBUS_Next; case XK_Insert: return IBUS_Insert; case XK_End: return IBUS_End; case XK_Num_Lock: return IBUS_Num_Lock; case XK_Shift_L: return IBUS_Shift_L; case XK_Shift_R: return IBUS_Shift_R; case XK_Control_L: return IBUS_Control_L; case XK_Control_R: return IBUS_Control_R; case XK_Caps_Lock: return IBUS_Caps_Lock; #if 0 case XK_Meta_L: return IBUS_Super_L; /* Windows key on linux */ case XK_Meta_R: return IBUS_Super_R; /* Menu key on linux */ #else case XK_Meta_L: return IBUS_Meta_L; case XK_Meta_R: return IBUS_Meta_R; #endif case XK_Alt_L: return IBUS_Alt_L; case XK_Alt_R: return IBUS_Alt_R; case XK_Delete: return IBUS_Delete; case XK_Super_L: return IBUS_Super_L; case XK_Super_R: return IBUS_Super_R; default: break; } return ksym; } #else #define native_to_ibus_ksym(ksym) (ksym) #endif static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_ibus_t *ibus; ibus = (im_ibus_t*)im; if (!ibus->context) { return 1; } if (event->state & IBUS_IGNORED_MASK) { /* Is put back in forward_key_event */ event->state &= ~IBUS_IGNORED_MASK; } else if (ibus_input_context_process_key_event(ibus->context, native_to_ibus_ksym(ksym), #ifdef NO_XKB event->keycode, event->state #else event->keycode - 8, event->state | (event->type == KeyRelease ? IBUS_RELEASE_MASK : 0) #endif )) { gboolean is_enabled_old; is_enabled_old = ibus->is_enabled; ibus->is_enabled = ibus_input_context_is_enabled(ibus->context); #if !IBUS_CHECK_VERSION(1, 5, 0) if (ibus->is_enabled != is_enabled_old) { return 0; } else #endif if (ibus->is_enabled) { #ifndef DBUS_H #if 0 g_dbus_connection_flush_sync(ibus_bus_get_connection(ibus_bus), NULL, NULL); #endif g_main_context_iteration(g_main_context_default(), FALSE); #endif memcpy(&ibus->prev_key, event, sizeof(XKeyEvent)); return 0; } } else if (ibus->im.preedit.filled_len > 0) { /* Pressing "q" in preediting. */ #ifndef DBUS_H #if 0 g_dbus_connection_flush_sync(ibus_bus_get_connection(ibus_bus), NULL, NULL); #endif g_main_context_iteration(g_main_context_default(), FALSE); #endif } return 1; } static void set_engine(IBusInputContext *context, gchar *name) { bl_msg_printf("iBus engine is %s\n", name); ibus_input_context_set_engine(context, name); } #if IBUS_CHECK_VERSION(1, 5, 0) static void next_engine(IBusInputContext *context) { IBusConfig *config; GVariant *var; if ((config = ibus_bus_get_config(ibus_bus)) && (var = ibus_config_get_value(config, "general", "preload-engines"))) { static int show_engines = 1; const gchar *cur_name; GVariantIter *iter; gchar *name; cur_name = ibus_engine_desc_get_name(ibus_input_context_get_engine(context)); g_variant_get(var, "as", &iter); if (show_engines) { bl_msg_printf("iBus engines: "); while (g_variant_iter_loop(iter, "s", &name)) { bl_msg_printf(name); bl_msg_printf(","); } bl_msg_printf("\n"); g_variant_iter_init(iter, var); show_engines = 0; } if (g_variant_iter_loop(iter, "s", &name)) { gchar *first_name; int loop; first_name = g_strdup(name); loop = 1; do { if (strcmp(cur_name, name) == 0) { loop = 0; } if (!g_variant_iter_loop(iter, "s", &name)) { loop = 0; name = first_name; } } while (loop); set_engine(context, name); free(first_name); } g_variant_iter_free(iter); g_variant_unref(var); } } #endif static int switch_mode(ui_im_t *im) { im_ibus_t *ibus; ibus = (im_ibus_t*)im; if (!ibus->context) { return 0; } #if IBUS_CHECK_VERSION(1, 5, 0) next_engine(ibus->context); ibus->is_enabled = !ibus->is_enabled; #else if (ibus->is_enabled) { ibus_input_context_disable(ibus->context); ibus->is_enabled = FALSE; } else { ibus_input_context_enable(ibus->context); ibus->is_enabled = TRUE; } #endif return 1; } static int is_active(ui_im_t *im) { return ((im_ibus_t*)im)->is_enabled; } static void focused(ui_im_t *im) { im_ibus_t *ibus; ibus = (im_ibus_t*)im; if (!ibus->context) { return; } ibus_input_context_focus_in(ibus->context); if (ibus->im.cand_screen) { (*ibus->im.cand_screen->show)(ibus->im.cand_screen); } } static void unfocused(ui_im_t *im) { im_ibus_t *ibus; ibus = (im_ibus_t*)im; if (!ibus->context) { return; } ibus_input_context_focus_out(ibus->context); if (ibus->im.cand_screen) { (*ibus->im.cand_screen->hide)(ibus->im.cand_screen); } } static IBusInputContext *context_new(im_ibus_t *ibus, char *engine) { IBusInputContext *context; if (!(context = ibus_bus_create_input_context(ibus_bus, "mlterm"))) { return NULL; } ibus_input_context_set_capabilities(context, IBUS_CAP_PREEDIT_TEXT | IBUS_CAP_FOCUS #ifdef USE_IM_CANDIDATE_SCREEN | IBUS_CAP_LOOKUP_TABLE #endif #if 0 | IBUS_CAP_SURROUNDING_TEXT #endif ); g_signal_connect(context, "update-preedit-text", G_CALLBACK(update_preedit_text), ibus); g_signal_connect(context, "hide-preedit-text", G_CALLBACK(hide_preedit_text), ibus); g_signal_connect(context, "commit-text", G_CALLBACK(commit_text), ibus); g_signal_connect(context, "forward-key-event", G_CALLBACK(forward_key_event), ibus); #ifdef USE_IM_CANDIDATE_SCREEN g_signal_connect(context, "update-lookup-table", G_CALLBACK(update_lookup_table), ibus); g_signal_connect(context, "show-lookup-table", G_CALLBACK(show_lookup_table), ibus); g_signal_connect(context, "hide-lookup-table", G_CALLBACK(hide_lookup_table), ibus); #endif if (engine) { set_engine(context, engine); } #if (defined(USE_FRAMEBUFFER) || defined(USE_CONSOLE)) && IBUS_CHECK_VERSION(1, 5, 0) else { next_engine(context); } #endif return context; } static void connected(IBusBus *bus, gpointer data) { im_ibus_t *ibus; if (bus != ibus_bus || !ibus_bus_is_connected(ibus_bus) || !add_event_source()) { return; } for (ibus = ibus_list; ibus; ibus = bl_slist_next(ibus_list)) { ibus->context = context_new(ibus, NULL); } } static void disconnected(IBusBus *bus, gpointer data) { im_ibus_t *ibus; if (bus != ibus_bus) { return; } remove_event_source(0); for (ibus = ibus_list; ibus; ibus = bl_slist_next(ibus_list)) { #ifdef DBUS_H ibus_object_destroy((IBusObject*)ibus->context); #else ibus_proxy_destroy((IBusProxy*)ibus->context); #endif ibus->context = NULL; ibus->is_enabled = FALSE; } } /* --- global functions --- */ ui_im_t *im_ibus_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *engine, u_int mod_ignore_mask /* Not used for now. */ ) { static int is_init; im_ibus_t *ibus = NULL; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } #ifdef DEBUG_MODKEY if (getenv("MOD_KEY_DEBUG")) { mod_key_debug = 1; } #endif if (!is_init) { ibus_init(); /* Don't call ibus_init() again if ibus daemon is not found below. */ is_init = 1; } if (!ibus_bus) { syms = export_syms; /* g_getenv( "DISPLAY") will be called in ibus_get_socket_path(). */ #if 0 ibus_set_display(g_getenv("DISPLAY")); #endif ibus_bus = ibus_bus_new(); if (!ibus_bus_is_connected(ibus_bus)) { bl_error_printf("IBus daemon is not found.\n"); goto error; } if (!add_event_source()) { goto error; } if (!(parser_utf8 = (*syms->vt_char_encoding_parser_new)(VT_UTF8))) { goto error; } g_signal_connect(ibus_bus, "connected", G_CALLBACK(connected), NULL); g_signal_connect(ibus_bus, "disconnected", G_CALLBACK(disconnected), NULL); } if (!(ibus = calloc(1, sizeof(im_ibus_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } if (term_encoding != VT_UTF8) { if (!(ibus->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } } #ifdef USE_IM_CANDIDATE_SCREEN if (!(ibus->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } #endif ibus->term_encoding = term_encoding; if (!(ibus->context = context_new(ibus, engine))) { goto error; } ibus->is_enabled = FALSE; /* * set methods of ui_im_t */ ibus->im.delete = delete; ibus->im.key_event = key_event; ibus->im.switch_mode = switch_mode; ibus->im.is_active = is_active; ibus->im.focused = focused; ibus->im.unfocused = unfocused; bl_slist_insert_head(ibus_list, ibus); ref_count++; #ifdef IM_IBUS_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)ibus; error: if (ref_count == 0) { remove_event_source(1); ibus_object_destroy((IBusObject*)ibus_bus); ibus_bus = NULL; if (parser_utf8) { (*parser_utf8->delete)(parser_utf8); parser_utf8 = NULL; } } if (ibus) { if (ibus->conv) { (*ibus->conv->delete)(ibus->conv); } #ifdef USE_IM_CANDIDATE_SCREEN if (ibus->parser_term) { (*ibus->parser_term->delete)(ibus->parser_term); } #endif free(ibus); } return NULL; } /* --- module entry point for external tools --- */ im_info_t *im_ibus_get_info(char *locale, char *encoding) { im_info_t *result; if (!(result = malloc(sizeof(im_info_t)))) { return NULL; } result->id = strdup("ibus"); result->name = strdup("iBus"); result->num_args = 0; result->args = NULL; result->readable_args = NULL; return result; } mlterm-3.8.4/inputmethod/ibus/Makefile.in010064400017600000144000000025361321054731300171000ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/ibus IM_IBUS_OBJ = im_ibus.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @IBUS_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @IBUS_LIBS@ TARGET_xlib = libim-ibus.la TARGET_fb = libim-ibus-fb.la TARGET_console = libim-ibus-fb.la TARGET_wayland = libim-ibus-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_IBUS_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_IBUS_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-ibus* clean: rm -rf $(IM_IBUS_OBJ) $(IM_IBUS_OBJ:.o=.lo) *im-ibus* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/uim004075500017600000144000000000001321054731300146015ustar kenusersmlterm-3.8.4/inputmethod/uim/Makefile.in010064400017600000144000000025171321054731300167270ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/uim IM_UIM_OBJ = im_uim.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @UIM_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @UIM_LIBS@ TARGET_xlib = libim-uim.la TARGET_fb = libim-uim-fb.la TARGET_console = libim-uim-fb.la TARGET_wayland = libim-uim-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_UIM_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_UIM_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-uim* clean: rm -rf $(IM_UIM_OBJ) $(IM_UIM_OBJ:.o=.lo) *im-uim* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/uim/LICENCE010064400017600000144000000026441321054731300156500ustar kenusersCopyright (c) 2004, 2005 Seiichi SATO Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of any author may not be used to endorse or promote products derived from this software without their specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. mlterm-3.8.4/inputmethod/uim/im_uim.c010064400017600000144000001075461321054731300163150ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * im_uim.c - uim plugin for mlterm * * Copyright (C) 2004 Seiichi SATO * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of any author may not be used to endorse or promote * products derived from this software without their specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * * $Id$ */ #include #include #include #include #include /* malloc/alloca/free */ #include /* bl_str_alloca_dup bl_str_sep bl_snprintf*/ #include /* bl_get_locale */ #include #include #include "../im_common.h" #include "../im_info.h" #if 0 #define IM_UIM_DEBUG 1 #endif #if 0 /* Experimental (for twm, framebuffer etc where it's impossible to show status * on system tray.) */ #define SHOW_STATUS_SCREEN #endif /* * When uim encoding is the same as terminal, parser_uim and conv are NULL, * so encoding of received string will not be converted. */ #define NEED_TO_CONV(uim) ((uim)->parser_uim && (uim)->conv) typedef struct im_uim { /* input method common object */ ui_im_t im; uim_context context; vt_char_encoding_t term_encoding; char *encoding_name; /* encoding of conversion engine */ /* parser_uim and conv are NULL if term_encoding == uim encoding */ ef_parser_t *parser_uim; /* for uim encoding */ ef_parser_t *parser_term; /* for term encoding */ ef_conv_t *conv; /* for term encoding */ u_int pressing_mod_key; u_int mod_ignore_mask; u_int cand_limit; int is_mozc; #ifdef SHOW_STATUS_SCREEN int mode; #endif struct im_uim *next; } im_uim_t; /* --- static variables --- */ static im_uim_t *uim_list = NULL; static int ref_count = 0; static int initialized = 0; static int helper_fd = -1; static im_uim_t *focused_uim = NULL; static ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ static int mod_key_debug = 0; /* --- static functions --- */ #ifdef SHOW_STATUS_SCREEN static void update_stat_screen(im_uim_t *uim, int mode_changed) { if (!uim->im.cand_screen) { if (uim->mode == 0 /* direct input */ /* || uim->im.preedit.filled_len == 0 */) { if (uim->im.stat_screen) { (*uim->im.stat_screen->delete)(uim->im.stat_screen); uim->im.stat_screen = NULL; } return; } if (!uim->im.stat_screen) { int x; int y; (*uim->im.listener->get_spot)(uim->im.listener->self, NULL, 0, &x, &y); if (!(uim->im.stat_screen = (*syms->ui_im_status_screen_new)( uim->im.disp, uim->im.font_man, uim->im.color_man, uim->im.vtparser, (*uim->im.listener->is_vertical)(uim->im.listener->self), (*uim->im.listener->get_line_height)(uim->im.listener->self), x, y))) { return; } } else if (!mode_changed) { return; } (*uim->im.stat_screen->set)(uim->im.stat_screen, uim->parser_uim, (u_char *)uim_get_mode_name(uim->context, uim->mode)); } } #else #define update_stat_screen(uim, mode_changed) (0) #endif static int find_engine(const char *engine, char **encoding_name) { uim_context u; int i; int result; if (encoding_name == NULL) { return 0; } if (!(u = uim_create_context(NULL, "UTF-8", NULL, NULL, NULL, NULL))) { return 0; } result = 0; for (i = 0; i < uim_get_nr_im(u); i++) { if (strcmp(uim_get_im_name(u, i), engine) == 0) { *encoding_name = (char *)uim_get_im_encoding(u, i); if (*encoding_name && (*encoding_name = strdup(*encoding_name))) { #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG "conversion engine: %s, native encoding: %s\n", engine, *encoding_name); #endif result = 1; break; } } } uim_release_context(u); return result; } static int xksym_to_ukey(KeySym ksym) { /* Latin 1 */ if (0x20 <= ksym && ksym <= 0x7e) { return ksym; } switch (ksym) { /* TTY Functions */ case XK_BackSpace: return UKey_Backspace; case XK_Tab: return UKey_Tab; case XK_Return: return UKey_Return; case XK_Escape: return UKey_Escape; case XK_Delete: return UKey_Delete; #ifdef XK_Multi_key /* International & multi-key character composition */ case XK_Multi_key: return UKey_Multi_key; #endif /* Japanese keyboard support */ case XK_Muhenkan: return UKey_Muhenkan; case XK_Henkan_Mode: return UKey_Henkan_Mode; case XK_Zenkaku_Hankaku: return UKey_Zenkaku_Hankaku; case XK_Hiragana_Katakana: return UKey_Hiragana_Katakana; /* Cursor control & motion */ case XK_Home: return UKey_Home; case XK_Left: return UKey_Left; case XK_Up: return UKey_Up; case XK_Right: return UKey_Right; case XK_Down: return UKey_Down; case XK_Prior: return UKey_Prior; case XK_Next: return UKey_Next; case XK_End: return UKey_End; case XK_F1: return UKey_F1; case XK_F2: return UKey_F2; case XK_F3: return UKey_F3; case XK_F4: return UKey_F4; case XK_F5: return UKey_F5; case XK_F6: return UKey_F6; case XK_F7: return UKey_F7; case XK_F8: return UKey_F8; case XK_F9: return UKey_F9; case XK_F10: return UKey_F10; case XK_F11: return UKey_F11; case XK_F12: return UKey_F12; case XK_F13: return UKey_F13; case XK_F14: return UKey_F14; case XK_F15: return UKey_F15; case XK_F16: return UKey_F16; case XK_F17: return UKey_F17; case XK_F18: return UKey_F18; case XK_F19: return UKey_F19; case XK_F20: return UKey_F20; case XK_F21: return UKey_F21; case XK_F22: return UKey_F22; case XK_F23: return UKey_F23; case XK_F24: return UKey_F24; #ifdef XK_F25 case XK_F25: return UKey_F25; case XK_F26: return UKey_F26; case XK_F27: return UKey_F27; case XK_F28: return UKey_F28; case XK_F29: return UKey_F29; case XK_F30: return UKey_F30; case XK_F31: return UKey_F31; case XK_F32: return UKey_F32; case XK_F33: return UKey_F33; case XK_F34: return UKey_F34; case XK_F35: return UKey_F35; #endif #ifdef XK_KP_Space case XK_KP_Space: return ' '; #endif #ifdef XK_KP_Tab case XK_KP_Tab: return UKey_Tab; #endif #ifdef XK_KP_Enter case XK_KP_Enter: return UKey_Return; #endif case XK_KP_F1: return UKey_F1; case XK_KP_F2: return UKey_F2; case XK_KP_F3: return UKey_F3; case XK_KP_F4: return UKey_F4; case XK_KP_Home: return UKey_Home; case XK_KP_Left: return UKey_Left; case XK_KP_Up: return UKey_Up; case XK_KP_Right: return UKey_Right; case XK_KP_Down: return UKey_Down; case XK_KP_Prior: return UKey_Prior; case XK_KP_Next: return UKey_Next; case XK_KP_End: return UKey_End; case XK_KP_Delete: return UKey_Delete; #ifdef XK_KP_Equal case XK_KP_Equal: return '='; #endif case XK_KP_Multiply: return '*'; case XK_KP_Add: return '+'; case XK_KP_Separator: return ','; case XK_KP_Subtract: return '-'; case XK_KP_Decimal: return '.'; case XK_KP_Divide: return '/'; /* keypad numbers */ case XK_KP_0: return '0'; case XK_KP_1: return '1'; case XK_KP_2: return '2'; case XK_KP_3: return '3'; case XK_KP_4: return '4'; case XK_KP_5: return '5'; case XK_KP_6: return '6'; case XK_KP_7: return '7'; case XK_KP_8: return '8'; case XK_KP_9: return '9'; default: return UKey_Other; } } static void helper_disconnected(void) { (*syms->ui_event_source_remove_fd)(helper_fd); helper_fd = -1; } static void prop_list_update(void *p, const char *str) { im_uim_t *uim = NULL; char buf[BUFSIZ]; int len; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " str: %s\n", str); #endif uim = (im_uim_t *)p; if (focused_uim != uim) { return; } #define PROP_LIST_FORMAT "prop_list_update\ncharset=%s\n%s" len = strlen(PROP_LIST_FORMAT) + strlen(uim->encoding_name) + strlen(str) + 1; if (len > sizeof(buf)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " property list string is too long."); #endif return; } bl_snprintf(buf, sizeof(buf), PROP_LIST_FORMAT, uim->encoding_name, str); uim_helper_send_message(helper_fd, buf); #undef PROP_LIST_FORMAT } static void prop_label_update(void *p, const char *str) { im_uim_t *uim = NULL; char buf[BUFSIZ]; int len; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " prop_label_update(), str: %s\n", str); #endif uim = (im_uim_t *)p; if (focused_uim != uim) { return; } #define PROP_LABEL_FORMAT "prop_label_update\ncharset=%s\n%s" len = strlen(PROP_LABEL_FORMAT) + strlen(uim->encoding_name) + strlen(str) + 1; if (len > sizeof(buf)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " property label string is too long."); #endif return; } bl_snprintf(buf, sizeof(buf), PROP_LABEL_FORMAT, uim->encoding_name, str); uim_helper_send_message(helper_fd, buf); #undef PROP_LABEL_FORMAT } #ifdef SHOW_STATUS_SCREEN static void mode_update(void *p, int mode) { im_uim_t *uim = NULL; uim = (im_uim_t *)p; uim->mode = mode; update_stat_screen(uim, 1); } #endif static void commit(void *p, const char *str) { im_uim_t *uim; u_char conv_buf[256]; size_t filled_len; size_t len; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG "str: %s\n", str); #endif uim = (im_uim_t *)p; len = strlen(str); if (!NEED_TO_CONV(uim)) { (*uim->im.listener->write_to_term)(uim->im.listener->self, (u_char *)str, len); return; } (*uim->parser_uim->init)(uim->parser_uim); (*uim->parser_uim->set_str)(uim->parser_uim, (u_char *)str, len); (*uim->conv->init)(uim->conv); while (!uim->parser_uim->is_eos) { filled_len = (*uim->conv->convert)(uim->conv, conv_buf, sizeof(conv_buf), uim->parser_uim); if (filled_len == 0) { /* finished converting */ break; } (*uim->im.listener->write_to_term)(uim->im.listener->self, conv_buf, filled_len); } } static void preedit_clear(void *ptr) { im_uim_t *uim; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif uim = (im_uim_t *)ptr; if (uim->im.preedit.chars) { (*syms->vt_str_delete)(uim->im.preedit.chars, uim->im.preedit.num_chars); uim->im.preedit.chars = NULL; } uim->im.preedit.num_chars = 0; uim->im.preedit.filled_len = 0; uim->im.preedit.segment_offset = 0; uim->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; update_stat_screen(uim, 0); } static void preedit_pushback(void *ptr, int attr, const char *_str) { im_uim_t *uim; u_char *str; vt_char_t *p; ef_char_t ch; vt_color_t fg_color = VT_FG_COLOR; vt_color_t bg_color = VT_BG_COLOR; int is_underline = 0; u_int count = 0; size_t len; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " attr: %d, _str:%s, length:%d\n", attr, _str, strlen(_str)); #endif uim = (im_uim_t *)ptr; if (attr & UPreeditAttr_Cursor) { uim->im.preedit.cursor_offset = uim->im.preedit.filled_len; } if (!(len = strlen(_str))) { return; } if (attr & UPreeditAttr_Reverse) { uim->im.preedit.segment_offset = uim->im.preedit.filled_len; uim->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; fg_color = VT_BG_COLOR; bg_color = VT_FG_COLOR; } if (attr & UPreeditAttr_UnderLine) { is_underline = 1; } /* TODO: UPreeditAttr_Separator */ if (NEED_TO_CONV(uim)) { /* uim encoding -> term encoding */ (*uim->parser_uim->init)(uim->parser_uim); if (!im_convert_encoding(uim->parser_uim, uim->conv, (u_char *)_str, &str, len + 1)) { return; } } else { str = (u_char *)_str; } len = strlen(str); /* * count number of characters to re-allocate im.preedit.chars */ (*uim->parser_term->init)(uim->parser_term); (*uim->parser_term->set_str)(uim->parser_term, (u_char *)str, len); while ((*uim->parser_term->next_char)(uim->parser_term, &ch)) { count++; } /* no space left? (current array size < new array size?)*/ if (uim->im.preedit.num_chars < uim->im.preedit.filled_len + count) { if (!(p = realloc(uim->im.preedit.chars, sizeof(vt_char_t) * (uim->im.preedit.filled_len + count)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " realloc failed.\n"); #endif (*syms->vt_str_delete)(uim->im.preedit.chars, uim->im.preedit.num_chars); uim->im.preedit.chars = NULL; uim->im.preedit.num_chars = 0; uim->im.preedit.filled_len = 0; if (NEED_TO_CONV(uim)) { free(str); } return; } uim->im.preedit.chars = p; uim->im.preedit.num_chars = uim->im.preedit.filled_len + count; } /* * u_char --> vt_char_t */ p = &uim->im.preedit.chars[uim->im.preedit.filled_len]; (*syms->vt_str_init)(p, count); (*uim->parser_term->init)(uim->parser_term); (*uim->parser_term->set_str)(uim->parser_term, (u_char *)str, len); count = 0; while ((*uim->parser_term->next_char)(uim->parser_term, &ch)) { int is_fullwidth = 0; int is_comb = 0; if ((*syms->vt_convert_to_internal_ch)(uim->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, is_underline, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, is_underline, 0, 0); p++; uim->im.preedit.filled_len++; } if (NEED_TO_CONV(uim)) { free(str); } } static void preedit_update(void *ptr) { im_uim_t *uim; uim = (im_uim_t *)ptr; (*uim->im.listener->draw_preedit_str)(uim->im.listener->self, uim->im.preedit.chars, uim->im.preedit.filled_len, uim->im.preedit.cursor_offset); update_stat_screen(uim, 0); } /* * callback for candidate screen events */ static void candidate_selected(void *p, u_int index) { #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " index : %d\n", index); #endif uim_set_candidate_index(((im_uim_t *)p)->context, index); } /* * callbacks for candidate selector */ static void candidate_activate(void *p, int num, int limit) { im_uim_t *uim; int x; int y; int i; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " num: %d limit: %d\n", num, limit); #endif uim = (im_uim_t *)p; (*uim->im.listener->get_spot)(uim->im.listener->self, uim->im.preedit.chars, uim->im.preedit.segment_offset, &x, &y); if (uim->im.stat_screen) { (*uim->im.stat_screen->delete)(uim->im.stat_screen); uim->im.stat_screen = NULL; } if (uim->im.cand_screen == NULL) { if (!(uim->im.cand_screen = (*syms->ui_im_candidate_screen_new)( uim->im.disp, uim->im.font_man, uim->im.color_man, uim->im.vtparser, (*uim->im.listener->is_vertical)(uim->im.listener->self), 1, (*uim->im.listener->get_line_height)(uim->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_candidate_screen_new() failed.\n"); #endif return; } uim->im.cand_screen->listener.self = uim; uim->im.cand_screen->listener.selected = candidate_selected; } if (!(*uim->im.cand_screen->init)(uim->im.cand_screen, num, limit)) { (*uim->im.cand_screen->delete)(uim->im.cand_screen); uim->im.cand_screen = NULL; return; } (*uim->im.cand_screen->set_spot)(uim->im.cand_screen, x, y); for (i = 0; i < num; i++) { uim_candidate c; u_char *_p; u_char *p = NULL; const char *heading; u_int info; c = uim_get_candidate(uim->context, i, i); _p = (u_char *)uim_candidate_get_cand_str(c); heading = uim_candidate_get_heading_label(c); if (heading && heading[0]) { /* heading[1] may be '\0' */ info = (((u_int)heading[0]) << 16) | (((u_int)heading[1]) << 24) | i; } else { info = (((u_int)' ') << 16) | i; } #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " %d%s%s%s| %s\n", i, (heading && heading[0]) ? "(" : "", (heading && heading[0]) ? heading : "", (heading && heading[0]) ? ")" : "", _p); #endif if (NEED_TO_CONV(uim)) { (*uim->parser_uim->init)(uim->parser_uim); if (im_convert_encoding(uim->parser_uim, uim->conv, _p, &p, strlen(_p) + 1)) { (*uim->im.cand_screen->set)(uim->im.cand_screen, uim->parser_term, p, info); free(p); } } else { (*uim->im.cand_screen->set)(uim->im.cand_screen, uim->parser_term, _p, i); } uim_candidate_free(c); } (*uim->im.cand_screen->select)(uim->im.cand_screen, 0); uim->cand_limit = limit; } static void candidate_select(void *p, int index) { im_uim_t *uim; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " index: %d\n", index); #endif uim = (im_uim_t *)p; if (uim->im.cand_screen) { /* * XXX Hack for uim-mozc (1.11.1522.102) * If candidate_activate() is called with num == 20 and limit = 10, * uim_get_candidate() on mozc doesn't returns 20 candidates but 10 ones. * (e.g. uim_get_candidate(0) and uim_get_candidate(10) returns the same.) */ if (uim->is_mozc && uim->im.cand_screen->index != index && uim->im.cand_screen->index / uim->cand_limit != index / uim->cand_limit && (index % uim->cand_limit) == 0) { candidate_activate(p, uim->im.cand_screen->num_candidates, uim->cand_limit); } (*uim->im.cand_screen->select)(uim->im.cand_screen, index); } } static void candidate_shift_page(void *p, int direction) { im_uim_t *uim; int index; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " direction: %s\n", direction ? "next" : "prev"); #endif uim = (im_uim_t *)p; if (!uim->im.cand_screen) { return; } index = (int)uim->im.cand_screen->index; if (!direction && index < uim->cand_limit) { /* top page -> last page */ index = (uim->im.cand_screen->num_candidates / uim->cand_limit) * uim->cand_limit + index; } else if (direction && ((index / uim->cand_limit) + 1) * uim->cand_limit > uim->im.cand_screen->num_candidates) { /* last page -> top page */ index = index % uim->cand_limit; } else { /* shift page according to the direction */ index += (direction ? uim->cand_limit : -(uim->cand_limit)); } if (index < 0) { index = 0; } else if (index >= uim->im.cand_screen->num_candidates) { index = uim->im.cand_screen->num_candidates - 1; } (*uim->im.cand_screen->select)(uim->im.cand_screen, index); uim_set_candidate_index(uim->context, index); } static void candidate_deactivate(void *p) { im_uim_t *uim; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif uim = (im_uim_t *)p; if (uim->im.cand_screen) { (*uim->im.cand_screen->delete)(uim->im.cand_screen); uim->im.cand_screen = NULL; } } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_uim_t *uim; uim = (im_uim_t *)im; if (focused_uim == uim) { focused_uim = NULL; } if (uim->parser_uim) { (*uim->parser_uim->delete)(uim->parser_uim); } (*uim->parser_term->delete)(uim->parser_term); if (uim->conv) { (*uim->conv->delete)(uim->conv); } uim_release_context(uim->context); ref_count--; #ifdef IM_UIM_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif bl_slist_remove(uim_list, uim); free(uim->encoding_name); free(uim); if (ref_count == 0 && initialized) { (*syms->ui_event_source_remove_fd)(helper_fd); uim_helper_close_client_fd(helper_fd); helper_fd = -1; uim_quit(); initialized = 0; } } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_uim_t *uim; int key = 0; int state = 0; int ret; int is_shift; int is_lock; int is_ctl; int is_alt; int is_meta; int is_super; int is_hyper; uim = (im_uim_t *)im; if (mod_key_debug) { bl_msg_printf(">>--------------------------------\n"); bl_msg_printf(">>event->state : %.8x\n", event->state); bl_msg_printf(">>mod_ignore_mask : %.8x\n", uim->mod_ignore_mask); bl_msg_printf(">>ksym : %.8x\n", ksym); } #ifdef USE_XLIB if (!(event->state & uim->mod_ignore_mask)) { uim->pressing_mod_key = 0; } switch (ksym) { case XK_Shift_L: case XK_Shift_R: uim->pressing_mod_key |= UMod_Shift; break; case XK_Control_L: case XK_Control_R: uim->pressing_mod_key |= UMod_Control; break; case XK_Alt_L: case XK_Alt_R: uim->pressing_mod_key |= UMod_Alt; break; case XK_Meta_L: case XK_Meta_R: uim->pressing_mod_key |= UMod_Meta; break; case XK_Super_L: case XK_Super_R: uim->pressing_mod_key |= UMod_Super; break; case XK_Hyper_L: case XK_Hyper_R: uim->pressing_mod_key |= UMod_Hyper; break; default: break; } #else uim->pressing_mod_key = ~0; #endif (*uim->im.listener->compare_key_state_with_modmap)(uim->im.listener->self, event->state, &is_shift, &is_lock, &is_ctl, &is_alt, &is_meta, NULL, &is_super, &is_hyper); if (is_shift && (uim->pressing_mod_key & UMod_Shift)) { state |= UMod_Shift; } if (is_ctl && (uim->pressing_mod_key & UMod_Control)) { state |= UMod_Control; } if (is_alt && (uim->pressing_mod_key & UMod_Alt)) { state |= UMod_Alt; } if (is_meta && (uim->pressing_mod_key & UMod_Meta)) { state |= UMod_Meta; } if (is_super && (uim->pressing_mod_key & UMod_Super)) { state |= UMod_Super; } if (is_hyper && (uim->pressing_mod_key & UMod_Hyper)) { state |= UMod_Hyper; } if (mod_key_debug) { bl_msg_printf(">>pressing_mod_key: %.8x\n", uim->pressing_mod_key); bl_msg_printf(">>state : %.8x\n", state); bl_msg_printf(">>--------------------------------\n"); } key = xksym_to_ukey(ksym); ret = uim_press_key(uim->context, key, state); uim_release_key(uim->context, key, state); return ret; } static int switch_mode(ui_im_t *im) { return 0; } static int is_active(ui_im_t *im) { #ifdef SHOW_STATUS_SCREEN if (((im_uim_t *)im)->mode > 0) { return 1; } else #endif { return 0; } } static void focused(ui_im_t *im) { im_uim_t *uim; uim = (im_uim_t *)im; uim_helper_client_focus_in(uim->context); focused_uim = uim; uim_prop_list_update(uim->context); uim_prop_label_update(uim->context); if (uim->im.cand_screen) { (*uim->im.cand_screen->show)(uim->im.cand_screen); } update_stat_screen(uim, 0); uim->pressing_mod_key = 0; } static void unfocused(ui_im_t *im) { im_uim_t *uim; uim = (im_uim_t *)im; uim_helper_client_focus_out(uim->context); if (uim->im.cand_screen) { (*uim->im.cand_screen->hide)(uim->im.cand_screen); } #ifdef SHOW_STATUS_SCREEN if (uim->im.stat_screen) { (*uim->im.stat_screen->hide)(uim->im.stat_screen); } #endif uim->pressing_mod_key = 0; } /* * helper */ static void helper_send_imlist(void) { const char *selected_name; const char *name; const char *lang; const char *dsc; char *buf = NULL; int i; u_int len = 0; u_int filled_len = 0; if (!focused_uim) { return; } #define HEADER_FORMAT "im_list\ncharset=%s\n" len += strlen(HEADER_FORMAT) + strlen(focused_uim->encoding_name); selected_name = uim_get_current_im_name(focused_uim->context); len += strlen(selected_name); len += strlen("selected"); for (i = 0; i < uim_get_nr_im(focused_uim->context); i++) { name = uim_get_im_name(focused_uim->context, i); lang = uim_get_im_language(focused_uim->context, i); dsc = uim_get_im_short_desc(focused_uim->context, i); len += name ? strlen(name) : 0; len += lang ? strlen(lang) : 0; len += dsc ? strlen(dsc) : 0; len += strlen("\t\t\t\n"); } len++; if (!(buf = alloca(sizeof(char) * len))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca failed\n"); #endif return; } filled_len = bl_snprintf(buf, len, HEADER_FORMAT, focused_uim->encoding_name); #undef HEADER_FORMAT for (i = 0; i < uim_get_nr_im(focused_uim->context); i++) { name = uim_get_im_name(focused_uim->context, i); lang = uim_get_im_language(focused_uim->context, i); dsc = uim_get_im_short_desc(focused_uim->context, i); filled_len += bl_snprintf(&buf[filled_len], len - filled_len, "%s\t%s\t%s\t%s\n", name ? name : "", lang ? lang : "", dsc ? dsc : "", strcmp(name, selected_name) == 0 ? "selected" : ""); } #ifdef IM_UIM_DEBUG bl_debug_printf("----\n%s----\n", buf); #endif uim_helper_send_message(helper_fd, buf); } static void helper_im_changed(char *request, char *engine_name) { char *buf; size_t len; len = strlen(engine_name) + 5; if (!(buf = alloca(len))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca failed\n"); #endif return; } bl_snprintf(buf, len, "uim:%s", engine_name); /* * we don't use uim_change_input_method_engine(), since it cannot * specify encoding. */ if (strcmp(request, "im_change_this_text_area_only") == 0) { if (focused_uim) { (*focused_uim->im.listener->im_changed)(focused_uim->im.listener->self, buf); } } else if (strcmp(request, "im_change_whole_desktop") == 0 || strcmp(request, "im_change_this_application_only") == 0) { im_uim_t *uim; uim = uim_list; while (uim) { (*uim->im.listener->im_changed)(uim->im.listener->self, buf); uim = bl_slist_next(uim); } } } static void helper_update_custom(char *custom, char *value) { im_uim_t *uim; uim = uim_list; while (uim) { uim_prop_update_custom(uim->context, custom, value); uim = bl_slist_next(uim); } } static void helper_commit_string(u_char *str /* UTF-8? */ ) { ef_parser_t *parser_utf8; ef_conv_t *conv; u_char conv_buf[256]; size_t filled_len; if (!focused_uim) { return; } if (focused_uim->term_encoding == VT_UTF8) { (*focused_uim->im.listener->write_to_term)(focused_uim->im.listener->self, str, strlen(str)); return; } if (!(conv = (*syms->vt_char_encoding_conv_new)(focused_uim->term_encoding))) { return; } if (!(parser_utf8 = (*syms->vt_char_encoding_parser_new)(VT_UTF8))) { (*conv->delete)(conv); return; } (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, str, strlen(str)); (*conv->init)(conv); while (!parser_utf8->is_eos) { filled_len = (*conv->convert)(conv, conv_buf, sizeof(conv_buf), parser_utf8); if (filled_len == 0) { /* finished converting */ break; } (*focused_uim->im.listener->write_to_term)(focused_uim->im.listener->self, conv_buf, filled_len); } (*parser_utf8->delete)(parser_utf8); (*conv->delete)(conv); } static void helper_read_handler(void) { char *message; uim_helper_read_proc(helper_fd); while ((message = uim_helper_get_message())) { char *first_line; char *second_line; #ifdef IM_UIM_DEBUG bl_debug_printf("message recieved from helper: %s\n", message); #endif if ((first_line = bl_str_sep(&message, "\n"))) { if (strcmp(first_line, "prop_activate") == 0) { second_line = bl_str_sep(&message, "\n"); if (second_line && focused_uim) { uim_prop_activate(focused_uim->context, second_line); } } else if (strcmp(first_line, "im_list_get") == 0) { helper_send_imlist(); } else if (strncmp(first_line, "im_change_", 10) == 0) { if ((second_line = bl_str_sep(&message, "\n"))) { helper_im_changed(first_line, second_line); } } else if (strcmp(first_line, "prop_update_custom") == 0) { if ((second_line = bl_str_sep(&message, "\n"))) { helper_update_custom(second_line, message); } } else if (strcmp(first_line, "focus_in") == 0) { focused_uim = NULL; } else if (strcmp(first_line, "commit_string") == 0) { if ((second_line = bl_str_sep(&message, "\n"))) { helper_commit_string(second_line); } } message = first_line; /* for free() */ } free(message); } } /* --- global functions --- */ ui_im_t *im_uim_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *engine, u_int mod_ignore_mask) { im_uim_t *uim; char *encoding_name; vt_char_encoding_t encoding; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } uim = NULL; encoding_name = NULL; if (getenv("MOD_KEY_DEBUG")) { mod_key_debug = 1; } #if 1 #define RESTORE_LOCALE #endif if (!initialized) { #ifdef RESTORE_LOCALE /* * Workaround against make_locale() of m17nlib. */ char *cur_locale; cur_locale = bl_str_alloca_dup(bl_get_locale()); #endif if (uim_init() == -1) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " failed to initialize uim."); #endif return NULL; } #ifdef RESTORE_LOCALE /* restoring */ /* * TODO: remove valgrind warning. * The memory space pointed to by sys_locale in bl_locale.c * was freed by setlocale() in m17nlib. */ bl_locale_init(cur_locale); #endif syms = export_syms; initialized = 1; } /* * create I/O chanel for uim_helper_server */ if (helper_fd == -1 && syms && syms->ui_event_source_add_fd && syms->ui_event_source_remove_fd) { helper_fd = uim_helper_init_client_fd(helper_disconnected); (*syms->ui_event_source_add_fd)(helper_fd, helper_read_handler); } if ((engine == NULL) || (strlen(engine) == 0)) { engine = (char *)uim_get_default_im_name(bl_get_locale()); /* The returned string's storage is invalidated when we * call uim next, so we need to make a copy. */ engine = bl_str_alloca_dup(engine); } if (!find_engine(engine, &encoding_name)) { bl_error_printf("%s: No such conversion engine.\n", engine); goto error; } if ((encoding = (*syms->vt_get_char_encoding)(encoding_name)) == VT_UNKNOWN_ENCODING) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " %s is unknown encoding.\n", encoding_name); #endif goto error; } if (!(uim = calloc(1, sizeof(im_uim_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } uim->term_encoding = term_encoding; uim->encoding_name = encoding_name; uim->mod_ignore_mask = mod_ignore_mask; if (uim->term_encoding != encoding) { if (!(uim->parser_uim = (*syms->vt_char_encoding_parser_new)(encoding))) { goto error; } if (!(uim->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } } if (!(uim->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } if (!(uim->context = uim_create_context(uim, encoding_name, NULL, engine, NULL, commit))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " could not create uim context.\n"); #endif goto error; } uim->is_mozc = (strcmp(engine, "mozc") == 0); uim_set_preedit_cb(uim->context, preedit_clear, preedit_pushback, preedit_update); uim_set_candidate_selector_cb(uim->context, candidate_activate, candidate_select, candidate_shift_page, candidate_deactivate); uim_set_prop_list_update_cb(uim->context, prop_list_update); uim_set_prop_label_update_cb(uim->context, prop_label_update); #ifdef SHOW_STATUS_SCREEN uim_set_mode_cb(uim->context, mode_update); #endif focused_uim = uim; uim_prop_list_update(uim->context); /* * set methods of ui_im_t */ uim->im.delete = delete; uim->im.key_event = key_event; uim->im.switch_mode = switch_mode; uim->im.is_active = is_active; uim->im.focused = focused; uim->im.unfocused = unfocused; bl_slist_insert_head(uim_list, uim); ref_count++; #ifdef IM_UIM_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t *)uim; error: if (helper_fd != -1) { (*syms->ui_event_source_remove_fd)(helper_fd); uim_helper_close_client_fd(helper_fd); helper_fd = -1; } if (initialized && ref_count == 0) { uim_quit(); initialized = 0; } free(encoding_name); if (uim) { if (uim->parser_uim) { (*uim->parser_uim->delete)(uim->parser_uim); } if (uim->parser_term) { (*uim->parser_term->delete)(uim->parser_term); } if (uim->conv) { (*uim->conv->delete)(uim->conv); } free(uim); } return NULL; } /* --- API for external tools --- */ im_info_t *im_uim_get_info(char *locale, char *encoding) { im_info_t *result = NULL; uim_context u; int i; if (uim_init() == -1) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " failed to initialize uim."); #endif return NULL; } if (!(u = uim_create_context(NULL, "UTF-8", NULL, NULL, NULL, NULL))) { goto error; } if (!(result = malloc(sizeof(im_info_t)))) { goto error; } result->num_args = uim_get_nr_im(u) + 1; if (!(result->args = calloc(result->num_args, sizeof(char *)))) { goto error; } if (!(result->readable_args = calloc(result->num_args, sizeof(char *)))) { free(result->args); goto error; } result->args[0] = strdup(""); result->readable_args[0] = strdup(uim_get_default_im_name(locale)); for (i = 1; i < result->num_args; i++) { const char *im_name; const char *lang_id; size_t len; im_name = uim_get_im_name(u, i - 1); lang_id = uim_get_im_language(u, i - 1); result->args[i] = strdup(im_name); len = strlen(im_name) + strlen(lang_id) + 4; if ((result->readable_args[i] = malloc(len))) { bl_snprintf(result->readable_args[i], len, "%s (%s)", im_name, lang_id); } else { result->readable_args[i] = strdup("error"); } } uim_release_context(u); uim_quit(); result->id = strdup("uim"); result->name = strdup("uim"); return result; error: if (u) { uim_release_context(u); } uim_quit(); if (result) { if (result->args) { free(result->args); } if (result->readable_args) { free(result->readable_args); } free(result); } return NULL; } mlterm-3.8.4/inputmethod/skk004075500017600000144000000000001321054731300145775ustar kenusersmlterm-3.8.4/inputmethod/skk/ef_str_parser.c010064400017600000144000000026011321054731300176540ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "ef_str_parser.h" #include /* --- static functions --- */ /* Same as ef_parser_init */ static void parser_init(ef_parser_t *parser) { parser->str = NULL; parser->marked_left = 0; parser->left = 0; parser->is_eos = 0; } /* Same as ef_parser_n_increment */ static size_t parser_n_increment(ef_parser_t *parser, size_t n) { if (parser->left <= n) { parser->str += parser->left; parser->left = 0; parser->is_eos = 1; } else { parser->str += n; parser->left -= n; } return parser->left; } static void set_str(ef_parser_t *parser, u_char *str, /* ef_char_t* */ size_t size) { parser->str = str; parser->left = size; parser->marked_left = 0; parser->is_eos = 0; } static void delete (ef_parser_t *parser) {} static int next_char(ef_parser_t *parser, ef_char_t *ch) { if (parser->is_eos) { return 0; } *ch = ((ef_char_t*)parser->str)[0]; parser_n_increment(parser, sizeof(ef_char_t)); return 1; } /* --- static variables --- */ static ef_parser_t parser = { NULL, 0, 0, 0, parser_init, set_str, delete, next_char, }; /* --- global functions --- */ ef_parser_t *ef_str_parser_init(ef_char_t *src, u_int src_len) { (*parser.init)(&parser); (*parser.set_str)(&parser, (u_char*)src, src_len * sizeof(ef_char_t)); return &parser; } mlterm-3.8.4/inputmethod/skk/im_skk.c010064400017600000144000001004421321054731300162750ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include /* malloc/alloca/free */ #include /* bl_str_alloca_dup bl_str_sep bl_snprintf*/ #include /* DIGIT_STR_LEN */ #include #include #include "../im_info.h" #include "ef_str_parser.h" #include "dict.h" #if 0 #define IM_SKK_DEBUG 1 #endif #define MAX_CAPTION_LEN 64 typedef u_int16_t wchar; typedef enum input_mode { HIRAGANA, KATAKANA, ALPHABET_FULL, ALPHABET, MAX_INPUT_MODE } input_mode_t; typedef struct im_skk { /* input method common object */ ui_im_t im; int is_enabled; /* * 1: direct input 2: convert 3: convert with okurigana * 4: convert with sokuon okurigana */ int is_preediting; vt_char_encoding_t term_encoding; char *encoding_name; /* encoding of conversion engine */ /* conv is NULL if term_encoding == skk encoding */ ef_parser_t *parser_term; /* for term encoding */ ef_conv_t *conv; /* for term encoding */ ef_char_t preedit[MAX_CAPTION_LEN]; u_int preedit_len; void *candidate; char *status[MAX_INPUT_MODE]; int dan; int prev_dan; input_mode_t mode; int8_t sticky_shift; int8_t start_candidate; int8_t is_editing_new_word; ef_char_t new_word[MAX_CAPTION_LEN]; u_int new_word_len; ef_char_t preedit_orig[MAX_CAPTION_LEN]; u_int preedit_orig_len; int is_preediting_orig; int prev_dan_orig; input_mode_t mode_orig; ef_char_t visual_chars[2]; void *completion; } im_skk_t; /* --- static variables --- */ ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ static int ref_count = 0; static KeySym sticky_shift_ksym; static int sticky_shift_ch; /* --- static functions --- */ static void preedit_add(im_skk_t *skk, wchar wch) { ef_char_t ch; if (skk->preedit_len >= sizeof(skk->preedit) / sizeof(skk->preedit[0])) { return; } if (wch > 0xff) { if (skk->mode == KATAKANA && 0xa4a1 <= wch && wch <= 0xa4f3) { wch += 0x100; } ch.ch[0] = (wch >> 8) & 0x7f; ch.ch[1] = wch & 0x7f; ch.size = 2; ch.cs = JISX0208_1983; } else { ch.ch[0] = wch; ch.size = 1; ch.cs = US_ASCII; } ch.property = 0; skk->preedit[skk->preedit_len++] = ch; } static void preedit_delete(im_skk_t *skk) { --skk->preedit_len; } static void candidate_clear(im_skk_t *skk); static void preedit_clear(im_skk_t *skk) { if (skk->is_preediting && skk->mode == ALPHABET) { skk->mode = HIRAGANA; } skk->preedit_len = 0; skk->is_preediting = 0; skk->dan = 0; skk->prev_dan = 0; candidate_clear(skk); } static void preedit_to_visual(im_skk_t *skk) { if (skk->prev_dan) { if (skk->is_preediting == 4) { skk->preedit[skk->preedit_len] = skk->visual_chars[1]; skk->preedit[skk->preedit_len - 1] = skk->visual_chars[0]; skk->preedit_len++; } else { skk->preedit[skk->preedit_len - 1] = skk->visual_chars[0]; } } } static void preedit_backup_visual_chars(im_skk_t *skk) { if (skk->prev_dan) { if (skk->is_preediting == 4) { skk->visual_chars[1] = skk->preedit[skk->preedit_len - 1]; skk->visual_chars[0] = skk->preedit[skk->preedit_len - 2]; } else { skk->visual_chars[0] = skk->preedit[skk->preedit_len - 1]; } } } static void preedit(im_skk_t *skk, ef_char_t *preedit, u_int preedit_len, int rev_len, char *candidateword, /* already converted to term encoding */ size_t candidateword_len, char *pos) { int x; int y; int rev_pos = 0; if (skk->preedit_orig_len > 0) { ef_char_t *p; if ((p = alloca(sizeof(*p) * (skk->preedit_orig_len + 1 + preedit_len + skk->new_word_len)))) { memcpy(p, skk->preedit_orig, sizeof(*p) * skk->preedit_orig_len); p[skk->preedit_orig_len].ch[0] = ':'; p[skk->preedit_orig_len].size = 1; p[skk->preedit_orig_len].property = 0; p[skk->preedit_orig_len].cs = US_ASCII; if (skk->new_word_len > 0) { memcpy(p + skk->preedit_orig_len + 1, skk->new_word, sizeof(*p) * skk->new_word_len); } if (preedit_len > 0) { memcpy(p + skk->preedit_orig_len + 1 + skk->new_word_len, preedit, preedit_len * sizeof(*p)); } preedit = p; rev_pos = skk->preedit_orig_len + 1 + skk->new_word_len; preedit_len += rev_pos; } } if (preedit == NULL) { goto candidate; } else if (preedit_len == 0) { if (skk->im.preedit.filled_len > 0) { /* Stop preediting. */ skk->im.preedit.filled_len = 0; } } else { ef_char_t ch; vt_char_t *p; size_t pos_len; u_int count; pos_len = strlen(pos); if ((p = realloc(skk->im.preedit.chars, sizeof(vt_char_t) * (preedit_len + pos_len))) == NULL) { return; } (*syms->vt_str_init)(skk->im.preedit.chars = p, skk->im.preedit.num_chars = (preedit_len + pos_len)); skk->im.preedit.filled_len = 0; for (count = 0; count < preedit_len; count++) { int is_fullwidth; int is_comb; ch = preedit[count]; if ((*syms->vt_convert_to_internal_ch)(skk->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } else { is_fullwidth = IS_FULLWIDTH_CS(ch.cs); } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } else { is_comb = 0; } if (rev_pos <= skk->im.preedit.filled_len && skk->im.preedit.filled_len < rev_pos + rev_len) { (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_BG_COLOR, VT_FG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); } else { (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); } p++; skk->im.preedit.filled_len++; } for (; pos_len > 0; pos_len--) { (*syms->vt_char_set)(p++, *(pos++), US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); skk->im.preedit.filled_len++; } } (*skk->im.listener->draw_preedit_str)(skk->im.listener->self, skk->im.preedit.chars, skk->im.preedit.filled_len, skk->im.preedit.cursor_offset); candidate: if (candidateword == NULL) { return; } else if (candidateword_len == 0 && (candidateword_len = strlen(candidateword)) == 0) { if (skk->im.stat_screen) { (*skk->im.stat_screen->delete)(skk->im.stat_screen); skk->im.stat_screen = NULL; } } else { u_char *tmp = NULL; (*skk->im.listener->get_spot)(skk->im.listener->self, skk->im.preedit.chars, skk->im.preedit.segment_offset, &x, &y); if (skk->im.stat_screen == NULL) { if (!(skk->im.stat_screen = (*syms->ui_im_status_screen_new)( skk->im.disp, skk->im.font_man, skk->im.color_man, skk->im.vtparser, (*skk->im.listener->is_vertical)(skk->im.listener->self), (*skk->im.listener->get_line_height)(skk->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_status_screen_new() failed.\n"); #endif return; } } else { (*skk->im.stat_screen->show)(skk->im.stat_screen); (*skk->im.stat_screen->set_spot)(skk->im.stat_screen, x, y); } (*skk->im.stat_screen->set)(skk->im.stat_screen, skk->parser_term, candidateword); if (tmp) { free(tmp); } } } static void commit(im_skk_t *skk) { ef_parser_t *parser; u_char conv_buf[256]; size_t filled_len; parser = ef_str_parser_init(skk->preedit, skk->preedit_len); (*skk->conv->init)(skk->conv); while (!parser->is_eos) { filled_len = (*skk->conv->convert)(skk->conv, conv_buf, sizeof(conv_buf), parser); if (filled_len == 0) { /* finished converting */ break; } (*skk->im.listener->write_to_term)(skk->im.listener->self, conv_buf, filled_len); } } static int insert_char(im_skk_t *skk, u_char key_char) { static struct { wchar a; wchar i; wchar u; wchar e; wchar o; } kana_table[] = { /* a */ /* i */ /* u */ /* e */ /* o */ {0xa4a2, 0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa}, {0xa4d0, 0xa4d3, 0xa4d6, 0xa4d9, 0xa4dc}, /* b */ {0xa4ab, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3}, /* c */ {0xa4c0, 0xa4c2, 0xa4c5, 0xa4c7, 0xa4c9}, /* d */ {0xa4e3, 0xa4a3, 0xa4e5, 0xa4a7, 0xa4e7}, /* xy/dh */ { 0, 0, 0xa4d5, 0, 0, }, /* f */ {0xa4ac, 0xa4ae, 0xa4b0, 0xa4b2, 0xa4b4}, /* g */ {0xa4cf, 0xa4d2, 0xa4d5, 0xa4d8, 0xa4db}, /* h */ {0xa4e3, 0, 0xa4e5, 0xa4a7, 0xa4e7}, /* ch/sh */ { 0, 0xa4b8, 0, 0, 0, }, /* j */ {0xa4ab, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3}, /* k */ {0xa4a1, 0xa4a3, 0xa4a5, 0xa4a7, 0xa4a9}, /* l */ {0xa4de, 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2}, /* m */ {0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce}, /* n */ { 0, 0, 0, 0, 0, }, {0xa4d1, 0xa4d4, 0xa4d7, 0xa4da, 0xa4dd}, /* p */ { 0, 0, 0, 0, 0, }, {0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed}, /* r */ {0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd}, /* s */ {0xa4bf, 0xa4c1, 0xa4c4, 0xa4c6, 0xa4c8}, /* t */ { 0, 0, 0, 0, 0, }, { 0, 0, 0, 0, 0, }, {0xa4ef, 0xa4f0, 0, 0xa4f1, 0xa4f2}, /* w */ {0xa4a1, 0xa4a3, 0xa4a5, 0xa4a7, 0xa4a9}, /* x */ {0xa4e4, 0, 0xa4e6, 0, 0xa4e8}, /* y */ {0xa4b6, 0xa4b8, 0xa4ba, 0xa4bc, 0xa4be}, /* z */ }; static wchar sign_table1[] = { 0xa1aa, 0xa1c9, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0xa1bc, 0xa1a3, 0xa1bf, 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9, 0xa1f7, }; static wchar sign_table2[] = { 0xa1ce, 0xa1ef, 0xa1cf, 0xa1b0, 0xa1b2, }; static wchar sign_table3[] = { 0xa1d0, 0xa1c3, 0xa1d1, 0xa1c1, }; wchar wch; if (skk->dan) { preedit_delete(skk); } if (key_char == 'a' || key_char == 'i' || key_char == 'u' || key_char == 'e' || key_char == 'o') { if (skk->dan == 'f' - 'a') { if (key_char != 'u') { preedit_add(skk, 0xa4d5); /* hu */ skk->dan = 'x' - 'a'; } } else if (skk->dan == 'j' - 'a') { if (key_char != 'i') { preedit_add(skk, 0xa4b8); /* zi */ skk->dan = 'e' - 'a'; } } if (key_char == 'a') { wch = kana_table[skk->dan].a; skk->dan = 0; } else if (key_char == 'i') { if (skk->dan == 'i' - 'a') { skk->dan = 0; return 0; /* shi/chi */ } wch = kana_table[skk->dan].i; skk->dan = 0; } else if (key_char == 'u') { if (skk->dan == 'j' - 'a') { preedit_add(skk, 0xa4b8); /* zi */ skk->dan = 'e' - 'a'; } wch = kana_table[skk->dan].u; skk->dan = 0; } else if (key_char == 'e') { if (skk->dan == 'f' - 'a') { preedit_add(skk, 0xa4d5); /* hu */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'j' - 'a') { preedit_add(skk, 0xa4b8); /* zi */ skk->dan = 'x' - 'a'; } wch = kana_table[skk->dan].e; skk->dan = 0; } else /* if( key_char == 'o') */ { if (skk->dan == 'f' - 'a') { preedit_add(skk, 0xa4d5); /* hu */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'j' - 'a') { preedit_add(skk, 0xa4b8); /* zi */ skk->dan = 'e' - 'a'; } wch = kana_table[skk->dan].o; skk->dan = 0; } } else if (('!' <= key_char && key_char <= '@') || ('[' <= key_char && key_char <= '_') || ('{' <= key_char && key_char <= '~')) { if (skk->dan) { preedit_add(skk, skk->dan + 'a'); skk->dan = 0; } if (key_char <= '@') { wch = sign_table1[key_char - '!']; } else if (key_char <= '_') { wch = sign_table2[key_char - '[']; } else { wch = sign_table3[key_char - '{']; } } else { if (skk->dan == 'n' - 'a' && key_char != 'a' && key_char != 'i' && key_char != 'u' && key_char != 'e' && key_char != 'o' && key_char != 'y') { if (key_char == 'n') { wch = 0xa4f3; /* n */ skk->dan = 0; } else { preedit_add(skk, 0xa4f3); wch = key_char; skk->dan = key_char - 'a'; } } else if (key_char == skk->dan + 'a') { preedit_add(skk, 0xa4c3); wch = key_char; } else if (key_char == 'y') { if (skk->dan == 'k' - 'a') { preedit_add(skk, 0xa4ad); /* ki */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'g' - 'a') { preedit_add(skk, 0xa4ae); /* gi */ skk->dan = 'x' - 'a'; } else if (skk->dan == 's' - 'a') { preedit_add(skk, 0xa4b7); /* si */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'z' - 'a') { preedit_add(skk, 0xa4b8); /* zi */ skk->dan = 'x' - 'a'; } else if (skk->dan == 't' - 'a' || skk->dan == 'c' - 'a') { preedit_add(skk, 0xa4c1); /* ti */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'd' - 'a') { preedit_add(skk, 0xa4c2); /* di */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'n' - 'a') { preedit_add(skk, 0xa4cb); /* ni */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'h' - 'a') { preedit_add(skk, 0xa4d2); /* hi */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'b' - 'a') { preedit_add(skk, 0xa4d3); /* bi */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'p' - 'a') { preedit_add(skk, 0xa4d4); /* pi */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'm' - 'a') { preedit_add(skk, 0xa4df); /* mi */ skk->dan = 'x' - 'a'; } else if (skk->dan == 'r' - 'a') { preedit_add(skk, 0xa4ea); /* ri */ skk->dan = 'x' - 'a'; } if (skk->dan == 'x' - 'a') { skk->dan = 'e' - 'a'; wch = 'y'; } else if (skk->dan == 'v' - 'a') { if (key_char == 'u') { wch = 0xa5f4; skk->dan = 0; } else { preedit_add(skk, 0xa5f4); /* v */ skk->dan = 'x' - 'a'; return insert_char(skk, key_char); } } else { goto normal; } } else if (key_char == 'h') { if (skk->dan == 'c' - 'a') { preedit_add(skk, 0xa4c1); /* ti */ skk->dan = 'i' - 'a'; } else if (skk->dan == 's' - 'a') { preedit_add(skk, 0xa4b7); /* si */ skk->dan = 'i' - 'a'; } else if (skk->dan == 'd' - 'a') { preedit_add(skk, 0xa4c7); /* di */ skk->dan = 'e' - 'a'; } else { goto normal; } wch = 'h'; } else { normal: if (skk->dan) { preedit_add(skk, skk->dan + 'a'); } wch = key_char; if ('a' <= key_char && key_char <= 'z') { skk->dan = key_char - 'a'; } else { skk->dan = 0; } } } if (wch == 0) { return 1; } preedit_add(skk, wch); return 0; } static void insert_alphabet_full(im_skk_t *skk, u_char key_char) { if (('a' <= key_char && key_char <= 'z') || ('A' <= key_char && key_char <= 'Z') || ('0' <= key_char && key_char <= '9')) { preedit_add(skk, 0x2300 + key_char + 0x8080); } else if (0x20 <= key_char && key_char <= 0x7e) { insert_char(skk, key_char); } } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_skk_t *skk; skk = (im_skk_t*)im; (*skk->parser_term->delete)(skk->parser_term); if (skk->conv) { (*skk->conv->delete)(skk->conv); } free(skk->status[HIRAGANA]); free(skk->status[KATAKANA]); free(skk->status[ALPHABET_FULL]); if (skk->completion) { dict_completion_finish(&skk->completion); } if (skk->candidate) { dict_candidate_finish(&skk->candidate); } free(skk); ref_count--; if (ref_count == 0) { dict_final(); } #ifdef IM_SKK_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif } static int switch_mode(ui_im_t *im) { im_skk_t *skk; skk = (im_skk_t*)im; if ((skk->is_enabled = (!skk->is_enabled))) { skk->mode = HIRAGANA; preedit(skk, "", 0, 0, skk->status[skk->mode], 0, ""); } else { preedit_clear(skk); preedit(skk, "", 0, 0, "", 0, ""); } return 1; } static void start_to_register_new_word(im_skk_t *skk) { memcpy(skk->preedit_orig, skk->preedit, sizeof(skk->preedit[0]) * skk->preedit_len); if (skk->prev_dan) { if (skk->is_preediting == 4) { skk->preedit_len--; } skk->preedit_orig[skk->preedit_len - 1].ch[0] = skk->prev_dan + 'a'; skk->preedit_orig[skk->preedit_len - 1].size = 1; skk->preedit_orig[skk->preedit_len - 1].cs = US_ASCII; skk->preedit_orig[skk->preedit_len - 1].property = 0; } skk->preedit_orig_len = skk->preedit_len; skk->is_preediting_orig = skk->is_preediting; skk->dan = 0; skk->prev_dan_orig = skk->prev_dan; skk->mode_orig = skk->mode; candidate_clear(skk); skk->new_word_len = 0; skk->is_editing_new_word = 1; preedit_clear(skk); skk->is_preediting = 0; } static void stop_to_register_new_word(im_skk_t *skk) { memcpy(skk->preedit, skk->preedit_orig, sizeof(skk->preedit_orig[0]) * skk->preedit_orig_len); skk->preedit_len = skk->preedit_orig_len; skk->preedit_orig_len = 0; skk->dan = 0; skk->prev_dan = skk->prev_dan_orig; skk->mode = skk->mode_orig; skk->new_word_len = 0; skk->is_editing_new_word = 0; skk->is_preediting = skk->is_preediting_orig; preedit_to_visual(skk); } static void candidate_set(im_skk_t *skk, int step) { if (skk->preedit_len == 0) { return; } if (skk->prev_dan) { if (skk->is_preediting == 4) { skk->visual_chars[1] = skk->preedit[--skk->preedit_len]; } skk->visual_chars[0] = skk->preedit[skk->preedit_len - 1]; skk->preedit[skk->preedit_len - 1].ch[0] = skk->prev_dan + 'a'; skk->preedit[skk->preedit_len - 1].size = 1; skk->preedit[skk->preedit_len - 1].cs = US_ASCII; skk->preedit[skk->preedit_len - 1].property = 0; } skk->preedit_len = dict_candidate(skk->preedit, skk->preedit_len, &skk->candidate, step); if (!skk->candidate) { if (skk->is_editing_new_word) { return; } #if 0 if (skk->prev_dan) { skk->preedit[skk->preedit_len - 1] = skk->visual_chars[0]; if (skk->is_preediting == 4) { skk->preedit_len++; } } #endif start_to_register_new_word(skk); return; } if (skk->prev_dan) { skk->preedit[skk->preedit_len++] = skk->visual_chars[0]; if (skk->is_preediting == 4) { skk->preedit[skk->preedit_len++] = skk->visual_chars[1]; } } if (skk->dan) { ef_char_t *ch; ch = skk->preedit + (skk->preedit_len++); ch->ch[0] = skk->dan + 'a'; ch->cs = US_ASCII; ch->size = 0; ch->property = 0; } } static void candidate_unset(im_skk_t *skk) { if (skk->candidate) { skk->preedit_len = dict_candidate_reset_and_finish(skk->preedit, &skk->candidate); } preedit_to_visual(skk); } static void candidate_clear(im_skk_t *skk) { if (skk->candidate) { dict_candidate_finish(&skk->candidate); } } static int fix(im_skk_t *skk) { if (skk->preedit_len > 0) { if (skk->candidate) { dict_candidate_add_to_local(skk->candidate); } if (skk->is_editing_new_word) { memcpy(skk->new_word + skk->new_word_len, skk->preedit, skk->preedit_len * sizeof(skk->preedit[0])); skk->new_word_len += skk->preedit_len; preedit(skk, "", 0, 0, skk->status[skk->mode], 0, ""); } else { preedit(skk, "", 0, 0, skk->status[skk->mode], 0, ""); commit(skk); } preedit_clear(skk); candidate_clear(skk); } else if (skk->is_editing_new_word) { if (skk->new_word_len > 0) { dict_add_new_word_to_local(skk->preedit_orig, skk->preedit_orig_len, skk->new_word, skk->new_word_len); candidate_clear(skk); stop_to_register_new_word(skk); candidate_set(skk, 0); commit(skk); preedit_clear(skk); candidate_clear(skk); } else { stop_to_register_new_word(skk); candidate_clear(skk); } } else { return 1; } return 0; } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_skk_t *skk; int ret = 0; char *pos = ""; char *cand = NULL; u_int cand_len = 0; int preedited_alphabet; skk = (im_skk_t*)im; if (skk->preedit_len > 0 && !skk->candidate && (ksym == XK_Tab || ksym == XK_ISO_Left_Tab)) { skk->preedit_len = dict_completion(skk->preedit, skk->preedit_len, &skk->completion, ksym == XK_ISO_Left_Tab || (event->state & ShiftMask) ? -1 : 1); goto end; } else if (skk->completion) { if ((event->state & ControlMask) && key_char == '\x07') { skk->preedit_len = dict_completion_reset_and_finish(skk->preedit, &skk->completion); goto end; } else if (ksym == XK_Shift_L || ksym == XK_Shift_R || ksym == XK_Control_L || ksym == XK_Control_R) { /* Starting Shift+Tab or Control+g */ return 0; } dict_completion_finish(&skk->completion); } if (key_char == ' ' && (event->state & ShiftMask)) { fix(skk); switch_mode(im); if (!skk->is_enabled) { return 0; } goto end; } else if (!skk->is_enabled) { return 1; } /* skk is enabled */ if (skk->mode != ALPHABET && skk->mode != ALPHABET_FULL) { if (sticky_shift_ch ? (key_char == sticky_shift_ch) : (sticky_shift_ksym ? (ksym == sticky_shift_ksym) : 0)) { if (skk->sticky_shift) { skk->sticky_shift = 0; } else { skk->sticky_shift = 1; return 0; } } else if (skk->sticky_shift) { if ('a' <= key_char && key_char <= 'z') { key_char -= 0x20; } event->state |= ShiftMask; skk->sticky_shift = 0; } } if ((skk->mode != ALPHABET && key_char == 'l') || (skk->mode != ALPHABET_FULL && key_char == 'L')) { if (!skk->is_editing_new_word) { fix(skk); } skk->mode = (key_char == 'l') ? ALPHABET : ALPHABET_FULL; cand = skk->status[skk->mode]; } else if (key_char == '\r' || key_char == '\n') { if ((event->state & ControlMask) && key_char == '\n') { if (!skk->is_editing_new_word || skk->preedit_len > 0) { fix(skk); } if (skk->mode == ALPHABET || skk->mode == ALPHABET_FULL) { /* Ctrl+j */ skk->mode = HIRAGANA; cand = skk->status[skk->mode]; } } else { preedited_alphabet = (skk->mode == ALPHABET && skk->is_preediting); ret = fix(skk); if (preedited_alphabet) { cand = skk->status[skk->mode]; } } } else if (ksym == XK_BackSpace || ksym == XK_Delete || key_char == 0x08 /* Ctrl+h */) { if (skk->preedit_len > 0) { if (skk->candidate) { candidate_unset(skk); cand = skk->status[skk->mode]; } else { skk->dan = skk->prev_dan = 0; skk->is_preediting = 1; if (skk->preedit_len == 1) { preedit_clear(skk); } else { preedit_delete(skk); } } } else if (skk->is_editing_new_word) { if (skk->new_word_len > 0) { skk->new_word_len--; } } else { ret = 1; } } else if ((event->state & ControlMask) && key_char == '\x07') { /* Ctrl+g */ if (skk->candidate) { candidate_unset(skk); candidate_clear(skk); skk->dan = skk->prev_dan = 0; skk->is_preediting = 1; } else if (skk->is_editing_new_word && skk->preedit_len == 0) { stop_to_register_new_word(skk); } else { preedit_clear(skk); } cand = skk->status[skk->mode]; } else if (key_char != ' ' && key_char != '\0') { if (key_char < ' ') { ret = 1; } else if (skk->mode != ALPHABET && key_char == 'q') { if (skk->mode == HIRAGANA) { skk->mode = KATAKANA; } else { skk->mode = HIRAGANA; } cand = skk->status[skk->mode]; } else if (skk->mode != ALPHABET && !skk->is_preediting && key_char == '/') { skk->is_preediting = 1; skk->mode = ALPHABET; cand = skk->status[skk->mode]; } else { if (skk->candidate && !skk->dan) { preedited_alphabet = (skk->mode == ALPHABET && skk->is_preediting); fix(skk); if (preedited_alphabet) { cand = skk->status[skk->mode]; } } if (skk->mode != ALPHABET && skk->mode != ALPHABET_FULL) { while (event->state & ShiftMask) { if ('A' <= key_char && key_char <= 'Z') { key_char += 0x20; } else if (key_char < 'a' || 'z' < key_char) { break; } if (skk->preedit_len == 0) { skk->is_preediting = 1; } else if (skk->is_preediting && !skk->dan) { skk->is_preediting = 2; } break; } } if (skk->mode == ALPHABET) { preedit_add(skk, key_char); if (!skk->is_preediting) { fix(skk); } } else if (skk->mode == ALPHABET_FULL) { insert_alphabet_full(skk, key_char); fix(skk); } else if (insert_char(skk, key_char) != 0) { ret = 1; } else if (skk->is_preediting >= 2) { if (skk->dan) { if (skk->dan == skk->prev_dan) { /* sokuon */ skk->is_preediting++; } else { skk->prev_dan = skk->dan; } } else { if (!skk->prev_dan && (key_char == 'i' || key_char == 'u' || key_char == 'e' || key_char == 'o')) { skk->prev_dan = key_char - 'a'; } skk->is_preediting++; candidate_set(skk, 0); } } else if (!skk->dan && !skk->is_preediting) { fix(skk); } } } else if (skk->is_preediting && (key_char == ' ' || ksym == XK_Up || ksym == XK_Down || ksym == XK_Right || ksym == XK_Left)) { int update = 0; int step; int cur_index; u_int num; if (!skk->candidate) { if (key_char != ' ') { return 1; } step = 0; skk->start_candidate = 1; } else { dict_candidate_get_state(skk->candidate, &cur_index, &num); if (ksym == XK_Left) { step = -1; if (cur_index % CAND_UNIT == 0) { update = 1; } } else if (ksym == XK_Up) { step = -CAND_UNIT; update = 1; } else if (ksym == XK_Down) { step = CAND_UNIT; update = 1; } else { step = 1; if (cur_index == num - 1) { if (!skk->is_editing_new_word) { preedit_backup_visual_chars(skk); candidate_unset(skk); candidate_clear(skk); start_to_register_new_word(skk); cand = skk->status[skk->mode]; goto end; } else { update = 1; } } else if ((cur_index % CAND_UNIT == CAND_UNIT - 1) || skk->start_candidate) { update = 1; } } skk->start_candidate = 0; } preedited_alphabet = (skk->mode == ALPHABET && skk->is_preediting); candidate_set(skk, step); if (preedited_alphabet && !skk->is_preediting) { cand = skk->status[skk->mode]; } if (skk->candidate) { dict_candidate_get_state(skk->candidate, &cur_index, &num); if (update) { if ((cand = alloca(1024))) { dict_candidate_get_list(skk->candidate, cand, 1024, skk->conv); } } if ((pos = alloca(4 + DIGIT_STR_LEN(int)*2 + 1))) { sprintf(pos, " [%d/%d]", cur_index + 1, num); } } } else if (skk->is_editing_new_word) { if (key_char == ' ') { preedit_add(skk, key_char); fix(skk); } ret = 0; } else { ret = 1; } end: preedit(skk, skk->preedit, skk->preedit_len, skk->is_preediting ? skk->preedit_len : 0, cand, cand_len, pos); return ret; } static int is_active(ui_im_t *im) { return ((im_skk_t*)im)->is_enabled; } static void focused(ui_im_t *im) { im_skk_t *skk; skk = (im_skk_t*)im; if (skk->im.stat_screen) { (*skk->im.stat_screen->show)(skk->im.stat_screen); } } static void unfocused(ui_im_t *im) { im_skk_t *skk; skk = (im_skk_t*)im; if (skk->im.stat_screen) { (*skk->im.stat_screen->hide)(skk->im.stat_screen); } } static void set_sticky_shift_key(char *key) { int digit; if (strlen(key) == 1) { sticky_shift_ch = *key; } else if (sscanf(key, "\\x%x", &digit) == 1) { sticky_shift_ch = digit; } else { sticky_shift_ksym = (*syms->XStringToKeysym)(key); sticky_shift_ch = 0; return; } sticky_shift_ksym = 0; } /* --- global functions --- */ ui_im_t *im_skk_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *options, u_int mod_ignore_mask) { im_skk_t *skk; ef_parser_t *parser; char *env; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } if (ref_count == 0) { syms = export_syms; } if (!(skk = calloc(1, sizeof(im_skk_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } if ((env = getenv("SKK_DICTIONARY"))) { dict_set_global(env); } if ((env = getenv("SKK_STICKY_SHIFT_KEY"))) { set_sticky_shift_key(env); } /* Same processing as skk_widget_new() in mc_im.c */ if (options) { #if 1 /* XXX Compat with 3.8.3 or before. */ if (!strchr(options, '=')) { dict_set_global(options); } else #endif { char *next; do { if ((next = strchr(options, ','))) { *(next++) = '\0'; } if (strncmp(options, "sskey=", 6) == 0) { set_sticky_shift_key(options + 6); } else if (strncmp(options, "dict=", 5) == 0) { dict_set_global(options + 5); } } while ((options = next)); } } skk->term_encoding = term_encoding; skk->encoding_name = (*syms->vt_get_char_encoding_name)(term_encoding); if (!(skk->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } if (!(skk->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } skk->status[HIRAGANA] = "\xa4\xab\xa4\xca"; skk->status[KATAKANA] = "\xa5\xab\xa5\xca"; skk->status[ALPHABET_FULL] = "\xc1\xb4\xb1\xd1"; skk->status[ALPHABET] = "SKK"; if (term_encoding == VT_EUCJP || !(parser = (*syms->vt_char_encoding_parser_new)(VT_EUCJP))) { input_mode_t mode; for (mode = 0; mode <= ALPHABET_FULL; mode++) { skk->status[mode] = strdup(skk->status[mode]); } } else { input_mode_t mode; u_char buf[64]; /* enough for EUCJP(5bytes) -> Other CS */ for (mode = 0; mode <= ALPHABET_FULL; mode++) { (*parser->init)(parser); (*parser->set_str)(parser, skk->status[mode], 5); (*skk->conv->init)(skk->conv); (*skk->conv->convert)(skk->conv, buf, sizeof(buf) - 1, parser); skk->status[mode] = strdup(buf); } (*parser->delete)(parser); } /* * set methods of ui_im_t */ skk->im.delete = delete; skk->im.key_event = key_event; skk->im.switch_mode = switch_mode; skk->im.is_active = is_active; skk->im.focused = focused; skk->im.unfocused = unfocused; ref_count++; #ifdef IM_SKK_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)skk; error: if (skk) { if (skk->parser_term) { (*skk->parser_term->delete)(skk->parser_term); } if (skk->conv) { (*skk->conv->delete)(skk->conv); } free(skk); } return NULL; } /* --- API for external tools --- */ im_info_t *im_skk_get_info(char *locale, char *encoding) { im_info_t *result; if ((result = malloc(sizeof(im_info_t)))) { result->id = strdup("skk"); result->name = strdup("Skk"); result->num_args = 0; result->args = NULL; result->readable_args = NULL; } return result; } mlterm-3.8.4/inputmethod/skk/dict.c010064400017600000144000000712701321054731300157510ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include "dict.h" #include #include #include #include #include #include #include #include #include #include /* bl_usleep */ #include #include #include #include /* for serv_search() */ #include /* USE_WIN32API */ #ifdef USE_WIN32API #include #endif #include /* getaddrinfo/socket/connect */ #include #include #include "ef_str_parser.h" #include "../im_common.h" #ifndef USE_WIN32API #define closesocket(sock) close(sock) #endif #define MAX_TABLES 256 /* MUST BE 2^N (see calc_index()) */ #define MAX_CAPTIONS 100 #define MAX_CANDS 100 #define UTF_MAX_SIZE 6 /* see vt_char.h */ typedef struct candidate { char *caption; char *caption2; char *cands[MAX_CANDS]; u_int num; u_int local_num; int cur_index; int checked_global_dict; ef_char_t *caption_orig; u_int caption_orig_len; } candidate_t; typedef struct completion { char *captions[MAX_CAPTIONS]; u_int num; u_int local_num; int cur_index; int checked_global_dict; ef_char_t *caption_orig; u_int caption_orig_len; char *serv_response; } completion_t; typedef struct table { char **entries; u_int num; } table_t; /* --- static variables --- */ extern ui_im_export_syms_t *syms; static char *global_dict; /* --- static functions --- */ static int calc_index(char *p) { char *end; u_int idx; if (!(end = strchr(p, ' '))) { return -1; } if (p + 6 < end) { end = p + 6; } idx = 0; while (p < end) { idx += *(p++); } idx &= (MAX_TABLES - 1); return idx; } static u_char *make_entry(u_char *str) { static u_int16_t time = 1; size_t len; u_char *entry; len = strlen(str); if ((entry = malloc(len + 1 + 2))) { strcpy(entry, str); entry[len] = (time >> 8) & 0xff; entry[len + 1] = time & 0xff; time++; } return entry; } static u_int16_t get_entry_time(u_char *entry, char *data, size_t data_size) { if (entry < data || data + data_size <= entry) { size_t len; len = strlen(entry); return (entry[len] << 8) | entry[len + 1]; } else { return 0; } } static void invalidate_entry(char *entry, char *data, size_t data_size) { char *p; if (data <= entry && entry < data + data_size) { if ((p = strchr(entry, ' ')) && p[1] == '/') { p[1] = 'X'; } } else { free(entry); } } static int is_invalid_entry(char *entry) { char *p; if (!(p = strchr(entry, ' ')) || p[1] == 'X') { return 1; } else { return 0; } } static char *file_load(size_t *size, table_t *tables, char *path) { int fd; struct stat st; char *data; char *p; int count; u_int filled_nums[MAX_TABLES]; fd = open(path, O_RDONLY, 0); free(path); if (fd < 0 || fstat(fd, &st) != 0 || st.st_size == 0 || !(data = malloc(st.st_size + 1))) { return NULL; } if (read(fd, data, st.st_size) != st.st_size) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Failed to read skk-jisyo.\n"); #endif free(data); data = NULL; return NULL; } data[st.st_size] = '\0'; p = data; do { if (p[0] != ';' || p[1] != ';') { if ((count = calc_index(p)) != -1) { tables[count].num++; } } if (!(p = strchr(p, '\n'))) { break; } p++; } while (1); for (count = 0; count < MAX_TABLES; count++) { if (!(tables[count].entries = malloc(sizeof(*tables[0].entries) * tables[count].num))) { tables[count].num = 0; } } memset(filled_nums, 0, sizeof(filled_nums)); p = data; do { if (p[0] != ';' || p[1] != ';') { if ((count = calc_index(p)) != -1) { tables[count].entries[filled_nums[count]++] = p; } } if (!(p = strchr(p, '\n'))) { break; } if (*(p - 1) == '\r') { /* CRLF */ *(p - 1) = '\0'; p++; } else { /* LF */ *(p++) = '\0'; } } while (1); #if 0 for (count = 0; count < MAX_TABLES; count++) { bl_debug_printf("%d %d\n", count, filled_nums[count]); } #endif *size = st.st_size; return data; } static void file_unload(table_t *tables, char *data, size_t data_size, char *path) { u_int tbl_idx; u_int ent_idx; FILE *fp; char *p; if (path) { fp = fopen(path, data ? "w" : "a"); free(path); } else { fp = NULL; } if (fp) { p = data; while (p < data + data_size) { if (!is_invalid_entry(p)) { fprintf(fp, "%s\n", p); } p += (strlen(p) + 1); } } for (tbl_idx = 0; tbl_idx < MAX_TABLES; tbl_idx++) { for (ent_idx = 0; ent_idx < tables[tbl_idx].num; ent_idx++) { if (tables[tbl_idx].entries[ent_idx] < data || data + data_size <= tables[tbl_idx].entries[ent_idx]) { #ifdef DEBUG bl_debug_printf("Free %s\n", tables[tbl_idx].entries[ent_idx]); #endif if (fp) { fprintf(fp, "%s\n", tables[tbl_idx].entries[ent_idx]); } free(tables[tbl_idx].entries[ent_idx]); } } free(tables[tbl_idx].entries); tables[tbl_idx].num = 0; } if (fp) { fclose(fp); } } static size_t ef_str_to(char *dst, size_t dst_len, ef_char_t *src, u_int src_len, ef_conv_t *conv) { (*conv->init)(conv); return (*conv->convert)(conv, dst, dst_len, ef_str_parser_init(src, src_len)); } static u_int file_get_completion_list(char **list, u_int list_size, table_t *tables, ef_conv_t *dic_conv, ef_char_t *caption, u_int len) { char buf[1024]; int tbl_idx; int ent_idx; u_int num; len = ef_str_to(buf, sizeof(buf) - 2, caption, len, dic_conv); num = 0; for (tbl_idx = 0; tbl_idx < MAX_TABLES; tbl_idx++) { for (ent_idx = 0; ent_idx < tables[tbl_idx].num; ent_idx++) { if (strncmp(tables[tbl_idx].entries[ent_idx], buf, len) == 0) { list[num++] = tables[tbl_idx].entries[ent_idx]; if (num >= list_size) { return num; } } } } return num; } static u_int serv_get_completion_list(char **list, u_int list_size, int sock, ef_conv_t *dic_conv, ef_char_t *caption, u_int caption_len) { char buf[4096]; char *p; size_t filled_len; int num; buf[0] = '4'; filled_len = ef_str_to(buf + 1, sizeof(buf) - 3, caption, caption_len, dic_conv); buf[1 + filled_len] = ' '; buf[1 + filled_len + 1] = '\n'; send(sock, buf, filled_len + 3, 0); #ifndef USE_WIN32API fsync(sock); #endif #ifdef DEBUG write(0, buf, filled_len + 3); #endif p = buf; if (recv(sock, p, 1, 0) != 1) { return 0; } p++; while (p < buf + sizeof(buf) && recv(sock, p, 1, 0) == 1 && *p != '\n') { p++; } *p = '\0'; if (*buf != '1') { return 0; } #ifdef DEBUG write(0, buf, p - buf); write(0, "\n", 1); #endif p = strdup(buf + 2); /* skip "1/" */ num = 0; list[num++] = p; while ((p = strchr(p, '/'))) { *(p++) = '\0'; list[num++] = p; if (num >= list_size) { break; } } return num - 1; /* -1: last is removed */ } static u_int completion_remove_duplication(char **captions, u_int local_num, u_int num, ef_parser_t *global_parser, ef_conv_t *local_conv) { u_int count; u_int count2; char buf[1024]; size_t len; char *p; for (count = local_num; count < num;) { if ((p = strchr(captions[count], ' '))) { len = p - captions[count]; } else { len = strlen(captions[count]); } (*global_parser->init)(global_parser); (*global_parser->set_str)(global_parser, captions[count], len); (*local_conv->init)(local_conv); len = (*local_conv->convert)(local_conv, buf, sizeof(buf) - 1, global_parser); buf[len] = '\0'; for (count2 = 0; count2 < local_num; count2++) { if (strncmp(captions[count2], buf, len) == 0) { memmove(captions + count, captions + count + 1, sizeof(*captions) * (--num - count)); continue; } } count++; } return num; } static char *file_search(table_t *tables, ef_conv_t *dic_conv, ef_parser_t *dic_parser, ef_char_t *caption, u_int caption_len) { int idx; u_int count; char buf[1024]; size_t filled_len; filled_len = ef_str_to(buf, sizeof(buf) - 2, caption, caption_len, dic_conv); buf[filled_len] = ' '; buf[filled_len + 1] = '\0'; #ifdef DEBUG bl_debug_printf("Searching %s\n", buf); #endif idx = calc_index(buf); for (count = 0; count < tables[idx].num; count++) { if (strncmp(buf, tables[idx].entries[count], filled_len + 1) == 0) { strcpy(buf + filled_len + 1, tables[idx].entries[count] + filled_len + 1); return strdup(buf); } } return NULL; } static char *serv_search(int sock, ef_conv_t *dic_conv, ef_parser_t *dic_parser, ef_char_t *caption, u_int caption_len) { char buf[1024]; char *p; size_t filled_len; buf[0] = '1'; filled_len = ef_str_to(buf + 1, sizeof(buf) - 3, caption, caption_len, dic_conv); buf[1 + filled_len] = ' '; buf[1 + filled_len + 1] = '\n'; send(sock, buf, filled_len + 3, 0); #ifndef USE_WIN32API fsync(sock); #endif #ifdef DEBUG write(0, buf, filled_len + 3); #endif p = buf; if (recv(sock, p, 1, 0) != 1) { return 0; } p += (1 + filled_len + 1); /* skip caption */ while (p < buf + sizeof(buf) && recv(sock, p, 1, 0) == 1 && *p != '\n') { p++; } *p = '\0'; if (*buf != '1') { return 0; } #ifdef DEBUG write(0, buf, p - buf); write(0, "\n", 1); #endif return strdup(buf + 1); } static void set_nonblocking(int fd, int nonblock) { /* Non blocking */ #ifdef USE_WIN32API u_long val = nonblock; ioctlsocket(fd, FIONBIO, &val); #else if (nonblock) { fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) | O_NONBLOCK); } else { fcntl(fd, F_SETFL, fcntl(fd, F_GETFL, 0) & ~O_NONBLOCK); } #endif } static int check_protocol_4(int sock) { char msg[] = "4ab \n"; char p; int count; set_nonblocking(sock, 0); send(sock, msg, sizeof(msg) - 1, 0); #ifndef USE_WIN32API fsync(sock); #endif set_nonblocking(sock, 1); count = 0; while (1) { if (recv(sock, &p, 1, 0) == 1) { if (p == '\n') { break; } } else if (errno == EAGAIN) { if (++count == 10) { break; } bl_usleep(1000); } else { /* recv() of winsock sets errno=ENOENT if skk server doesn't respond to msg. */ count = 10; break; } } set_nonblocking(sock, 0); return (count != 10); } static int connect_to_server(void) { char *serv; int port; struct sockaddr_in sa; struct hostent *host; int sock; port = 1178; if (global_dict && *global_dict) { char *p; if ((p = alloca(strlen(global_dict) + 1))) { char *port_str; strcpy(p, global_dict); if (bl_parse_uri(NULL, NULL, &serv, &port_str, NULL, NULL, p) && port_str) { port = atoi(port_str); } } else { return -1; } } else { serv = "localhost"; } if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) { return -1; } memset(&sa, 0, sizeof(sa)); sa.sin_family = AF_INET; sa.sin_port = htons(port); if (!(host = gethostbyname(serv))) { goto error; } memcpy(&sa.sin_addr, host->h_addr_list[0], sizeof(sa.sin_addr)); if (connect(sock, &sa, sizeof(struct sockaddr_in)) == -1) { goto error; } return sock; error: bl_msg_printf("Failed to connect to skk server (%s)\n", serv); closesocket(sock); return -1; } static void unconcat(char *str) { char *p; if ((p = strstr(str, "(concat")) && (p = strchr(p, '\"'))) { char *end; size_t len; len = 0; while ((end = strchr(++p, '\"'))) { strncpy(str + len, p, end - p); len += (end - p); if (!(p = strchr(end + 1, '\"'))) { break; } } str[len] = '\0'; p = str; while (*p) { if (*p == '\\') { u_int ch; if ('0' <= *(p + 1) && *(p + 1) <= '9') { ch = strtol(p + 1, &end, 8); } else if (*(p + 1) == 'x' && '0' <= *(p + 2) && *(p + 2) <= '9') { ch = strtol(p + 2, &end, 16); } else { p++; continue; } if (ch <= 0xff) { *(p++) = ch; } if (*end) { memmove(p, end, strlen(end) + 1); } else { *p = '\0'; break; } } else { p++; } } } } static int candidate_exists(const char **cands, u_int num_cands, const char *cand) { u_int count; for (count = 0; count < num_cands; count++) { if (strcmp(cands[count], cand) == 0) { return 1; } } return 0; } static u_int candidate_string_to_array(candidate_t *cand, char *str) { u_int num; char *p; char *p2; if (cand->caption) { cand->caption2 = str; } else { cand->caption = str; } num = cand->num; p = strchr(str, ' '); /* skip caption */ *p = '\0'; p += 2; /* skip ' /' */ while (*p) { /* skip [] */ if (*p == '[') { if ((p2 = strstr(p + 1, "]/"))) { p = p2 + 2; continue; } } cand->cands[num] = p; if ((p = strchr(p, '/'))) { *(p++) = '\0'; } if ((p2 = strchr(cand->cands[num], ';'))) { /* Remove comment */ *p2 = '\0'; } unconcat(cand->cands[num]); if (!candidate_exists(cand->cands, num, cand->cands[num])) { num++; } if (!p || num >= MAX_CANDS - 1) { break; } } return num - cand->num; } /* --- static variables --- */ static table_t global_tables[MAX_TABLES]; static char *global_data; static size_t global_data_size; static int global_sock = -1; static int global_is_loaded = 0; static int server_supports_protocol_4 = 0; static ef_conv_t *global_conv; static ef_parser_t *global_parser; static table_t local_tables[MAX_TABLES]; static char *local_data; static size_t local_data_size; static ef_conv_t *local_conv; static ef_parser_t *local_parser; /* --- static variables --- */ static int global_dict_load(void) { if (!global_conv) { global_conv = (*syms->vt_char_encoding_conv_new)(VT_EUCJP); global_parser = (*syms->vt_char_encoding_parser_new)(VT_EUCJP); } if (!global_is_loaded && !global_data && global_sock == -1) { char *path; global_is_loaded = 1; if (global_dict && (path = strdup(global_dict))) { global_data = file_load(&global_data_size, global_tables, path); } if (!global_data) { if ((global_sock = connect_to_server()) != -1) { server_supports_protocol_4 = check_protocol_4(global_sock); } } } if (global_data) { return 1; } else if (global_sock != -1) { return 2; } else { return 0; } } static void local_dict_load(void) { static int is_loaded; char *path; if (!local_conv) { local_conv = (*syms->vt_char_encoding_conv_new)(VT_UTF8); local_parser = (*syms->vt_char_encoding_parser_new)(VT_UTF8); } if (!is_loaded && !local_data && (path = bl_get_user_rc_path("mlterm/skk-jisyo"))) { is_loaded = 1; local_data = file_load(&local_data_size, local_tables, path); } } static int dict_add_to_local(char *caption, size_t caption_len, char *word, size_t word_len) { int idx; u_int count; void *p; idx = calc_index(caption); for (count = 0; count < local_tables[idx].num; count++) { if (strncmp(caption, local_tables[idx].entries[count], caption_len) == 0) { char *tmp; char *p1; char *p2; char *p3; p1 = local_tables[idx].entries[count]; if (!(tmp = alloca(strlen(p1) + word_len + 1))) { return 0; } #ifdef DEBUG bl_debug_printf("Adding to dictionary: %s to %s\n", word, p1); #endif p2 = p1 + caption_len; if (*p2 == '/') { p2++; } memcpy(tmp, p1, p2 - p1); strcpy(tmp + (p2 - p1), word); if ((p3 = strstr(p2, word)) && *(p3 - 1) == '/') { if (p3 > p2) { tmp[strlen(tmp) + p3 - p2] = '\0'; memcpy(tmp + strlen(tmp), p2, p3 - p2); } p3 += word_len; } else { p3 = p2; } strcpy(tmp + strlen(tmp), p3); if (strcmp(tmp, local_tables[idx].entries[count]) != 0) { invalidate_entry(local_tables[idx].entries[count], local_data, local_data_size); local_tables[idx].entries[count] = make_entry(tmp); } return 1; } } if ((p = realloc(local_tables[idx].entries, sizeof(*local_tables[idx].entries) * (local_tables[idx].num + 1)))) { local_tables[idx].entries = p; if ((p = alloca(strlen(caption) + 1 + 1 + strlen(word) + 1 + 1))) { sprintf(p, "%s/%s", caption, word); local_tables[idx].entries[local_tables[idx].num++] = make_entry(p); #ifdef DEBUG bl_debug_printf("Adding to dictionary: %s\n", p); #endif } } return 0; } static int dict_add_to_local_with_concat(char *caption, char *word) { u_int num; size_t caption_len; size_t word_len; num = bl_count_char_in_str(word, '/'); num += bl_count_char_in_str(word, ';'); if (num > 0) { char *new; /* * (concat "\057") * 123456789 ab => 11 */ if ((new = alloca(11 + 4 * num + (strlen(word) - num) + 1))) { char *src; char *dst; char *p; dst = strcpy(new, "(concat \"") + 9; src = word; while ((p = strchr(src, '/')) || (p = strchr(src, ';'))) { memcpy(dst, src, p - src); dst += (p - src); if (*p == '/') { strcpy(dst, "\\057"); } else { strcpy(dst, "\\073"); } dst += 4; src = p + 1; } strcpy(dst, src); strcat(dst, "\")"); word = new; } else { return 0; } } caption_len = strlen(caption); word_len = strlen(word); caption[caption_len++] = ' '; caption[caption_len] = '\0'; word[word_len++] = '/'; word[word_len] = '\0'; return dict_add_to_local(caption, caption_len, word, word_len); } /* --- global functions --- */ void dict_final(void) { file_unload(local_tables, local_data, local_data_size, bl_get_user_rc_path("mlterm/skk-jisyo")); free(local_data); local_data = NULL; if (local_conv) { (*local_conv->delete)(local_conv); (*local_parser->delete)(local_parser); } if (global_data) { file_unload(global_tables, global_data, global_data_size, NULL); free(global_data); global_data = NULL; } else { closesocket(global_sock); global_sock = -1; } if (global_conv) { (*global_conv->delete)(global_conv); (*global_parser->delete)(global_parser); } free(global_dict); global_dict = NULL; } u_int dict_completion(ef_char_t *caption, u_int caption_len, void **aux, int step) { completion_t * compl; int load_global_dict = 0; int move_index; u_int count; u_int max_time; char *str; char *end; ef_parser_t *parser; if (!*aux) { if (!(*aux = compl = calloc(1, sizeof(completion_t) + sizeof(*caption) * caption_len))) { return caption_len; } compl->caption_orig = (char *)(compl + 1); memcpy(compl->caption_orig, caption, sizeof(*caption) * caption_len); compl->caption_orig_len = caption_len; local_dict_load(); compl->local_num = compl->num = file_get_completion_list( compl->captions, MAX_CAPTIONS, local_tables, local_conv, caption, caption_len); if (compl->num == 0) { load_global_dict = 1; } move_index = 0; } else { compl = *aux; if (compl->cur_index + step < 0 || compl->num <= compl->cur_index + step) { load_global_dict = 1; } move_index = 1; } if (load_global_dict) { if (!compl->checked_global_dict) { u_int num; switch (global_dict_load()) { case 1: num = file_get_completion_list(compl->captions + compl->num, MAX_CAPTIONS - compl->num, global_tables, global_conv, compl->caption_orig, compl->caption_orig_len); break; case 2: if (!server_supports_protocol_4) { num = 0; } else { num = serv_get_completion_list(compl->captions + compl->num, MAX_CAPTIONS - compl->num, global_sock, global_conv, compl->caption_orig, compl->caption_orig_len); compl->serv_response = compl->captions[compl->num]; } break; default: num = 0; } if ((compl->num += num) == 0) { return caption_len; } if (num > 0) { compl->num = completion_remove_duplication(compl->captions, compl->local_num, compl->num, global_parser, local_conv); } compl->checked_global_dict = 1; } else if (compl->num == 0) { return caption_len; } } if (move_index) { compl->cur_index += step; while (compl->cur_index < 0) { compl->cur_index += compl->num; } while (compl->cur_index >= compl->num) { compl->cur_index -= compl->num; } } max_time = 0; for (count = compl->cur_index; count < compl->num; count++) { u_int time; if (count < compl->local_num && (time = get_entry_time(compl->captions[count], local_data, local_data_size)) > max_time) { char *tmp; tmp = compl->captions[compl->cur_index]; compl->captions[compl->cur_index] = compl->captions[count]; compl->captions[count] = tmp; max_time = time; } } str = compl->captions[compl->cur_index]; if (compl->cur_index < compl->local_num) { parser = local_parser; } else { parser = global_parser; } (*parser->init)(parser); (*parser->set_str)(parser, str, (end = strchr(str, ' ')) ? end - str : strlen(str)); for (count = 0; count < MAX_CAPTIONS && (*parser->next_char)(parser, caption + count); count++) ; return count; } void dict_completion_finish(void **aux) { if (global_sock != -1) { free(((completion_t *)*aux)->serv_response); } free(*aux); *aux = NULL; } u_int dict_completion_reset_and_finish(ef_char_t *caption, void **aux) { completion_t * compl; u_int len; compl = *aux; memcpy(caption, compl->caption_orig, compl->caption_orig_len * sizeof(*caption)); len = compl->caption_orig_len; dict_completion_finish(aux); return len; } u_int dict_candidate(ef_char_t *caption, u_int caption_len, void **aux, int step) { candidate_t *cand; char *str; int load_global_dict = 0; int move_index; u_int count; u_int max_time; ef_parser_t *parser; if (!*aux) { if (!(*aux = cand = calloc(1, sizeof(candidate_t) + sizeof(*caption) * caption_len))) { return caption_len; } cand->caption_orig = (char *)(cand + 1); memcpy(cand->caption_orig, caption, sizeof(*caption) * caption_len); cand->caption_orig_len = caption_len; local_dict_load(); if ((str = file_search(local_tables, local_conv, local_parser, caption, caption_len))) { cand->local_num = cand->num = candidate_string_to_array(cand, str); } if (cand->num < CAND_UNIT) { load_global_dict = 1; } move_index = 0; } else { cand = *aux; if (cand->cur_index + step < 0 || cand->num <= (cand->cur_index + step + CAND_UNIT) / CAND_UNIT * CAND_UNIT - 1) { load_global_dict = 1; } move_index = 1; } if (load_global_dict) { if (!cand->checked_global_dict) { u_int num; switch (global_dict_load()) { case 1: str = file_search(global_tables, global_conv, global_parser, cand->caption_orig, cand->caption_orig_len); break; case 2: str = serv_search(global_sock, global_conv, global_parser, cand->caption_orig, cand->caption_orig_len); break; default: str = NULL; } if (str) { num = candidate_string_to_array(cand, str); } else { num = 0; } if ((cand->num += num) == 0) { goto error; } cand->checked_global_dict = 1; } else if (cand->num == 0) { goto error; } } if (move_index) { cand->cur_index += step; while (cand->cur_index < 0) { cand->cur_index += cand->num; } while (cand->cur_index >= cand->num) { cand->cur_index -= cand->num; } } max_time = 0; for (count = cand->cur_index; count < cand->num; count++) { u_int time; if (count < cand->local_num && (time = get_entry_time(cand->cands[count], local_data, local_data_size)) > max_time) { char *tmp; tmp = cand->cands[cand->cur_index]; cand->cands[cand->cur_index] = cand->cands[count]; cand->cands[count] = tmp; max_time = time; } } if (cand->cur_index < cand->local_num) { parser = local_parser; } else { parser = global_parser; } (*parser->init)(parser); (*parser->set_str)(parser, cand->cands[cand->cur_index], strlen(cand->cands[cand->cur_index])); for (count = 0; count < MAX_CANDS && (*parser->next_char)(parser, caption + count); count++) ; return count; error: free(*aux); *aux = NULL; return caption_len; } void dict_candidate_get_state(void *aux, int *cur, u_int *num) { *cur = ((candidate_t *)aux)->cur_index; *num = ((candidate_t *)aux)->num; } void dict_candidate_get_list(void *aux, char *list, size_t list_size, ef_conv_t *conv) { candidate_t *cand; ef_parser_t *parser; char *dst; u_int count; int start_index; cand = aux; start_index = cand->cur_index - (cand->cur_index % CAND_UNIT); dst = list; for (count = 0; count < CAND_UNIT && start_index + count < cand->num; count++) { if (dst + MAX_DIGIT_NUM + 1 - list > list_size) { break; } sprintf(dst, "%d ", start_index + count + 1); dst += strlen(dst); if (start_index + count >= cand->local_num) { parser = global_parser; } else { parser = local_parser; } (*parser->init)(parser); (*parser->set_str)(parser, cand->cands[start_index + count], strlen(cand->cands[start_index + count])); (*conv->init)(conv); dst += (*conv->convert)(conv, dst, list_size - (dst - list) - 2, parser); *(dst++) = ' '; *dst = '\0'; } *(dst - 1) = '\0'; } void dict_candidate_finish(void **aux) { candidate_t *cand; cand = *aux; free(cand->caption); free(cand->caption2); free(cand); *aux = NULL; } u_int dict_candidate_reset_and_finish(ef_char_t *caption, void **aux) { candidate_t *cand; u_int len; cand = *aux; memcpy(caption, cand->caption_orig, cand->caption_orig_len * sizeof(*caption)); len = cand->caption_orig_len; dict_candidate_finish(aux); return len; } int dict_add_new_word_to_local(ef_char_t *_caption, u_int _caption_len, ef_char_t *_word, u_int _word_len) { char caption[1024]; char word[1024]; /* -2: ' ' is appended in dict_add_to_local_with_concat() */ caption[ef_str_to(caption, sizeof(caption) - 2, _caption, _caption_len, local_conv)] = '\0'; /* -2: '/' is appended in dict_add_to_local_with_concat() */ word[ef_str_to(word, sizeof(word) - 2, _word, _word_len, local_conv)] = '\0'; return dict_add_to_local_with_concat(caption, word); } int dict_candidate_add_to_local(void *aux) { char caption[1024]; char word[1024]; candidate_t *cand; ef_parser_t *parser; cand = aux; /* -2: ' ' is appended in dict_add_to_local_with_concat() */ caption[ef_str_to(caption, sizeof(caption) - 2, cand->caption_orig, cand->caption_orig_len, local_conv)] = '\0'; if (cand->cur_index < cand->local_num) { parser = local_parser; } else { parser = global_parser; } (*parser->init)(parser); (*parser->set_str)(parser, cand->cands[cand->cur_index], strlen(cand->cands[cand->cur_index])); (*local_conv->init)(local_conv); /* -2: '/' is appended in dict_add_to_local_with_concat() */ word[ (*local_conv->convert)(local_conv, word, sizeof(word) - 2, parser)] = '\0'; return dict_add_to_local_with_concat(caption, word); } void dict_set_global(char *dict) { size_t len; if (global_dict) { if (strcmp(dict, global_dict) == 0) { return; } free(global_dict); } global_dict = strdup(dict); if (global_data) { file_unload(global_tables, global_data, global_data_size, NULL); free(global_data); global_data = NULL; } if (global_sock != -1) { closesocket(global_sock); global_sock = -1; } if (global_conv) { (*global_conv->delete)(global_conv); (*global_parser->delete)(global_parser); } if ((len = strlen(dict)) > 5 && strcmp(dict + len - 5, ":utf8") == 0) { global_conv = (*syms->vt_char_encoding_conv_new)(VT_UTF8); global_parser = (*syms->vt_char_encoding_parser_new)(VT_UTF8); global_dict[len - 5] = '\0'; } else { global_conv = NULL; global_parser = NULL; } } mlterm-3.8.4/inputmethod/skk/Makefile.in010064400017600000144000000026351321054731300167260ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/skk IM_SKK_OBJ = im_skk.o ef_str_parser.o dict.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I${top_srcdir}/common \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @LMEF@ @SKK_LIBS@ TARGET_win32 = libim-skk.la TARGET_xlib = libim-skk.la TARGET_quartz = libim-skk.la TARGET_fb = libim-skk-fb.la TARGET_console = libim-skk-fb.la TARGET_wayland = libim-skk-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_SKK_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_SKK_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-skk* clean: rm -rf $(IM_SKK_OBJ) $(IM_SKK_OBJ:.o=.lo) *im-skk* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/skk/dict.h010064400017600000144000000020121321054731300157420ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __DICT_H__ #define __DICT_H__ #include #include #define MAX_DIGIT_NUM 3 /* 100 */ #define MAX_CANDS 100 #define CAND_UNIT 5 void dict_final(void); u_int dict_completion(ef_char_t *caption, u_int caption_len, void **aux, int step); void dict_completion_finish(void **aux); u_int dict_completion_reset_and_finish(ef_char_t *caption, void **aux); u_int dict_candidate(ef_char_t *caption, u_int caption_len, void **aux, int step); void dict_candidate_get_state(void *aux, int *cur, u_int *num); void dict_candidate_get_list(void *aux, char *list, size_t list_size, ef_conv_t *conv); void dict_candidate_finish(void **aux); u_int dict_candidate_reset_and_finish(ef_char_t *caption, void **aux); int dict_candidate_add_to_local(void *aux); int dict_add_new_word_to_local(ef_char_t *caption, u_int caption_len, ef_char_t *word, u_int word_len); void dict_set_global(char *dict); #endif mlterm-3.8.4/inputmethod/skk/ef_str_parser.h010064400017600000144000000003401321054731300176570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __EF_STR_PARSER_H__ #define __EF_STR_PARSER_H__ #include ef_parser_t *ef_str_parser_init(ef_char_t *src, u_int src_len); #endif mlterm-3.8.4/inputmethod/canna004075500017600000144000000000001321054731300150675ustar kenusersmlterm-3.8.4/inputmethod/canna/Makefile.in010064400017600000144000000026521321054731300172150ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/canna IM_CANNA_OBJ = im_canna.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @CANNA_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @CANNA_LIBS@ TARGET_win32 = libim-canna.la TARGET_xlib = libim-canna.la TARGET_quartz = libim-canna.la TARGET_fb = libim-canna-fb.la TARGET_console = libim-canna-fb.la TARGET_wayland = libim-canna-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_CANNA_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_CANNA_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-canna* clean: rm -rf $(IM_CANNA_OBJ) $(IM_CANNA_OBJ:.o=.lo) *im-canna* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/canna/im_canna.c010064400017600000144000000352311321054731300170600ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include /* malloc/alloca/free */ #include /* bl_str_alloca_dup bl_str_sep bl_snprintf*/ #include #include "../im_common.h" #include "../im_info.h" #if 0 #define IM_CANNA_DEBUG 1 #endif /* When canna encoding is the same as terminal, conv is NULL. */ #define NEED_TO_CONV(canna) ((canna)->conv) typedef struct im_canna { /* input method common object */ ui_im_t im; char buf[1024]; jrKanjiStatus key_status; int is_enabled; int is_selecting_cand; char *mode; vt_char_encoding_t term_encoding; char *encoding_name; /* encoding of conversion engine */ /* conv is NULL if term_encoding == canna encoding */ ef_parser_t *parser_term; /* for term encoding */ ef_conv_t *conv; /* for term encoding */ } im_canna_t; /* --- static variables --- */ static int ref_count = 0; static ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ static ef_parser_t *parser_eucjp = NULL; /* --- static functions --- */ static void change_mode(im_canna_t *canna, int mode) { jrKanjiStatusWithValue ksv; ksv.ks = &canna->key_status; ksv.buffer = canna->buf; ksv.bytes_buffer = sizeof(canna->buf); ksv.val = mode; jrKanjiControl(0, KC_CHANGEMODE, &ksv); } static void preedit(im_canna_t *canna, char *preedit, /* eucjp(null terminated) */ int rev_pos, int rev_len, char *candidateword /* eucjp(null terminated) */ ) { int x; int y; ef_char_t ch; vt_char_t *p; u_int num_chars; size_t preedit_len; if (preedit == NULL) { goto candidate; } else if ((preedit_len = strlen(preedit)) == 0) { if (canna->im.preedit.filled_len > 0) { /* Stop preediting. */ canna->im.preedit.filled_len = 0; } } else { int cols = 0; u_char *tmp = NULL; canna->im.preedit.cursor_offset = -1; num_chars = 0; (*parser_eucjp->init)(parser_eucjp); (*parser_eucjp->set_str)(parser_eucjp, preedit, preedit_len); while ((*parser_eucjp->next_char)(parser_eucjp, &ch)) { num_chars++; if (cols >= 0) { /* eucjp */ if (IS_FULLWIDTH_CS(ch.cs)) { cols += 2; } else if (ch.cs == JISX0201_KATA) { cols += 3; } else { cols++; } if (canna->im.preedit.cursor_offset == -1 && cols > rev_pos) { canna->im.preedit.cursor_offset = num_chars - 1; } if (cols >= rev_pos + rev_len) { if (rev_len == 0) { canna->im.preedit.cursor_offset = num_chars; } else { rev_len = num_chars - canna->im.preedit.cursor_offset; } cols = -1; } } } if ((p = realloc(canna->im.preedit.chars, sizeof(vt_char_t) * num_chars)) == NULL) { return; } if (NEED_TO_CONV(canna)) { (*parser_eucjp->init)(parser_eucjp); if (im_convert_encoding(parser_eucjp, canna->conv, preedit, &tmp, preedit_len)) { preedit = tmp; preedit_len = strlen(preedit); } } (*syms->vt_str_init)(canna->im.preedit.chars = p, canna->im.preedit.num_chars = num_chars); canna->im.preedit.filled_len = 0; (*canna->parser_term->init)(canna->parser_term); (*canna->parser_term->set_str)(canna->parser_term, preedit, preedit_len); while ((*canna->parser_term->next_char)(canna->parser_term, &ch)) { int is_fullwidth; int is_comb; if ((*syms->vt_convert_to_internal_ch)(canna->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } else { is_fullwidth = IS_FULLWIDTH_CS(ch.cs); } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } else { is_comb = 0; } if (canna->im.preedit.cursor_offset <= canna->im.preedit.filled_len && canna->im.preedit.filled_len < canna->im.preedit.cursor_offset + rev_len) { (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_BG_COLOR, VT_FG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); } else { (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); } p++; canna->im.preedit.filled_len++; } if (tmp) { free(tmp); } } (*canna->im.listener->draw_preedit_str)(canna->im.listener->self, canna->im.preedit.chars, canna->im.preedit.filled_len, canna->im.preedit.cursor_offset); candidate: if (candidateword == NULL) { return; } else if (strlen(candidateword) == 0) { if (canna->im.stat_screen) { (*canna->im.stat_screen->delete)(canna->im.stat_screen); canna->im.stat_screen = NULL; } } else { u_char *tmp = NULL; (*canna->im.listener->get_spot)(canna->im.listener->self, canna->im.preedit.chars, canna->im.preedit.segment_offset, &x, &y); if (canna->im.stat_screen == NULL) { if (!(canna->im.stat_screen = (*syms->ui_im_status_screen_new)( canna->im.disp, canna->im.font_man, canna->im.color_man, canna->im.vtparser, (*canna->im.listener->is_vertical)(canna->im.listener->self), (*canna->im.listener->get_line_height)(canna->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_status_screen_new() failed.\n"); #endif return; } } else { (*canna->im.stat_screen->show)(canna->im.stat_screen); (*canna->im.stat_screen->set_spot)(canna->im.stat_screen, x, y); } if (NEED_TO_CONV(canna)) { (*parser_eucjp->init)(parser_eucjp); if (im_convert_encoding(parser_eucjp, canna->conv, candidateword, &tmp, strlen(candidateword))) { candidateword = tmp; } } (*canna->im.stat_screen->set)(canna->im.stat_screen, canna->parser_term, candidateword); if (tmp) { free(tmp); } } } static void commit(im_canna_t *canna, const char *str) { u_char conv_buf[256]; size_t filled_len; size_t len; #ifdef IM_CANNA_DEBUG bl_debug_printf(BL_DEBUG_TAG "str: %s\n", str); #endif len = strlen(str); if (!NEED_TO_CONV(canna)) { (*canna->im.listener->write_to_term)(canna->im.listener->self, (u_char*)str, len); return; } (*parser_eucjp->init)(parser_eucjp); (*parser_eucjp->set_str)(parser_eucjp, (u_char*)str, len); (*canna->conv->init)(canna->conv); while (!parser_eucjp->is_eos) { filled_len = (*canna->conv->convert)(canna->conv, conv_buf, sizeof(conv_buf), parser_eucjp); if (filled_len == 0) { /* finished converting */ break; } (*canna->im.listener->write_to_term)(canna->im.listener->self, conv_buf, filled_len); } } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_canna_t *canna; canna = (im_canna_t*)im; (*canna->parser_term->delete)(canna->parser_term); if (canna->conv) { (*canna->conv->delete)(canna->conv); } free(canna->mode); ref_count--; #ifdef IM_CANNA_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif free(canna); if (ref_count == 0) { (*parser_eucjp->delete)(parser_eucjp); parser_eucjp = NULL; jrKanjiControl(0, KC_FINALIZE, 0); } } static int switch_mode(ui_im_t *im) { im_canna_t *canna; canna = (im_canna_t*)im; change_mode(canna, canna->is_enabled ? CANNA_MODE_AlphaMode : CANNA_MODE_HenkanMode); if ((canna->is_enabled = (!canna->is_enabled))) { preedit(canna, NULL, 0, 0, canna->key_status.mode); jrKanjiControl(0, KC_SETWIDTH, 60); } else { preedit(canna, "", 0, 0, ""); } return 1; } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_canna_t *canna; canna = (im_canna_t*)im; if (key_char == ' ' && (event->state & ShiftMask)) { switch_mode(im); return 0; } else if (canna->is_enabled) { int len; u_char *cand; if (canna->is_selecting_cand) { if (ksym == XK_Up) { ksym = XK_Left; } else if (ksym == XK_Down) { ksym = XK_Right; } else if (ksym == XK_Right) { ksym = XK_Down; } else if (ksym == XK_Left) { ksym = XK_Up; } } #if 0 if (key_char == ' ' && (event->state & ShiftMask)) { ksym = CANNA_KEY_Shift_Space; } else #endif if (canna->im.preedit.filled_len == 0) { if (key_char == '\0') { return 1; } ksym = key_char; } else if (ksym == XK_Up) { if (event->state & ShiftMask) { ksym = CANNA_KEY_Shift_Up; } else if (event->state & ControlMask) { ksym = CANNA_KEY_Cntrl_Up; } else { ksym = CANNA_KEY_Up; } } else if (ksym == XK_Down) { if (event->state & ShiftMask) { ksym = CANNA_KEY_Shift_Down; } else if (event->state & ControlMask) { ksym = CANNA_KEY_Cntrl_Down; } else { ksym = CANNA_KEY_Down; } } else if (ksym == XK_Right) { if (event->state & ShiftMask) { ksym = CANNA_KEY_Shift_Right; } else if (event->state & ControlMask) { ksym = CANNA_KEY_Cntrl_Right; } else { ksym = CANNA_KEY_Right; } } else if (ksym == XK_Left) { if (event->state & ShiftMask) { ksym = CANNA_KEY_Shift_Left; } else if (event->state & ControlMask) { ksym = CANNA_KEY_Cntrl_Left; } else { ksym = CANNA_KEY_Left; } } else if (ksym == XK_Insert) { ksym = CANNA_KEY_Insert; } else if (ksym == XK_Prior) { ksym = CANNA_KEY_PageUp; } else if (ksym == XK_Next) { ksym = CANNA_KEY_PageDown; } else if (ksym == XK_Home) { ksym = CANNA_KEY_Home; } else if (ksym == XK_End) { ksym = CANNA_KEY_End; } else if (XK_F1 <= ksym && ksym <= XK_F10) { ksym = CANNA_KEY_F1 + (ksym - XK_F1); } else if (ksym == XK_Hiragana_Katakana) { ksym = CANNA_KEY_HIRAGANA; } else if (ksym == XK_Zenkaku_Hankaku) { ksym = CANNA_KEY_HANKAKUZENKAKU; } else if (key_char == '\0') { return 1; } else { ksym = key_char; } len = jrKanjiString(0, ksym, canna->buf, sizeof(canna->buf), &canna->key_status); if (canna->key_status.info & KanjiModeInfo) { free(canna->mode); canna->mode = strdup(canna->key_status.mode); } if ((canna->key_status.info & KanjiGLineInfo) && canna->key_status.gline.length > 0) { u_char *p; cand = canna->key_status.gline.line; if ((p = alloca(strlen(cand) + 1))) { cand = strcpy(p, cand); while (*p) { if (*p < 0x80) { if (p[0] == ' ' && p[1] == ' ') { u_char *p2; *(p++) = '\n'; p2 = p; while (*(++p) == ' ') ; strcpy(p2, p); } else { p++; } } else { if (p[0] == 0xa1 && p[1] == 0xa1 && p[2] == 0xa3 && 0xb1 <= p[3] && p[3] <= 0xb9) { p[0] = ' '; p[1] = '\n'; } p += 2; } } } canna->is_selecting_cand = 1; } else { cand = canna->mode; canna->is_selecting_cand = 0; } if (len > 0) { canna->buf[len] = '\0'; commit(canna, canna->buf); preedit(canna, "", 0, 0, cand); } else { preedit(canna, canna->key_status.length > 0 ? canna->key_status.echoStr : "", canna->key_status.revPos, canna->key_status.revLen, cand); } return 0; } return 1; } static int is_active(ui_im_t *im) { return ((im_canna_t*)im)->is_enabled; } static void focused(ui_im_t *im) { im_canna_t *canna; canna = (im_canna_t*)im; if (canna->im.cand_screen) { (*canna->im.cand_screen->show)(canna->im.cand_screen); } } static void unfocused(ui_im_t *im) { im_canna_t *canna; canna = (im_canna_t*)im; if (canna->im.cand_screen) { (*canna->im.cand_screen->hide)(canna->im.cand_screen); } } /* --- global functions --- */ ui_im_t *im_canna_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *engine, u_int mod_ignore_mask) { im_canna_t *canna; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } if (ref_count == 0) { jrKanjiControl(0, KC_INITIALIZE, 0); syms = export_syms; if (!(parser_eucjp = (*syms->vt_char_encoding_parser_new)(VT_EUCJP))) { return NULL; } } if (!(canna = calloc(1, sizeof(im_canna_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } canna->term_encoding = term_encoding; canna->encoding_name = (*syms->vt_get_char_encoding_name)(term_encoding); if (canna->term_encoding != VT_EUCJP) { if (!(canna->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } } if (!(canna->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } /* * set methods of ui_im_t */ canna->im.delete = delete; canna->im.key_event = key_event; canna->im.switch_mode = switch_mode; canna->im.is_active = is_active; canna->im.focused = focused; canna->im.unfocused = unfocused; ref_count++; #ifdef IM_CANNA_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)canna; error: if (ref_count == 0) { if (parser_eucjp) { (*parser_eucjp->delete)(parser_eucjp); parser_eucjp = NULL; } jrKanjiControl(0, KC_FINALIZE, 0); } if (canna) { if (canna->parser_term) { (*canna->parser_term->delete)(canna->parser_term); } if (canna->conv) { (*canna->conv->delete)(canna->conv); } free(canna); } return NULL; } /* --- API for external tools --- */ im_info_t *im_canna_get_info(char *locale, char *encoding) { im_info_t *result; if ((result = malloc(sizeof(im_info_t)))) { result->id = strdup("canna"); result->name = strdup("Canna"); result->num_args = 0; result->args = NULL; result->readable_args = NULL; } return result; } mlterm-3.8.4/inputmethod/iiimf004075500017600000144000000000001321054731300151045ustar kenusersmlterm-3.8.4/inputmethod/iiimf/im_iiimf.h010064400017600000144000000157161321054731300171250ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __IM_IIIMF_H__ #define __IM_IIIMF_H__ #ifndef USE_XLIB typedef int Bool; typedef char *XPointer; #ifndef True #define True 1 #endif #ifndef False #define False 0 #endif #endif #include /* HAVE_STDINT_H */ #include #include typedef struct im_iiimf { /* input method common object */ ui_im_t im; IIIMCF_context context; ef_parser_t *parser_term; ef_conv_t *conv; struct aux *aux; int on; } im_iiimf_t; int im_iiimf_process_event(im_iiimf_t *iiimf); /* * taken from Minami-san's hack in x_dnd.c * * Note: The byte order is the same as client. * (see lib/iiimp/data/im-connect.c:iiimp_connect_new()) */ #define PARSER_INIT_WITH_BOM(parser) \ do { \ u_int16_t BOM[] = {0xfeff}; \ (*(parser)->init)((parser)); \ (*(parser)->set_str)((parser), (u_char*)BOM, 2); \ (*(parser)->next_char)((parser), NULL); \ } while (0) static size_t strlen_utf16(const IIIMP_card16 *str) { size_t len = 0; if (! str) { return 0; } while (*str) { len += 2; str ++; if(len == 0xffff) /* prevent infinity loop */ { return 0; } } return len; } /* * aux related definitions based on iiimpAux.h and iiimpAuxP.h of im-sdk-r2195 */ /* * Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: The above copyright notice and this * permission notice shall be included in all copies or substantial * portions of the Software. * * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH * THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF * ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. * * * Except as contained in this notice, the names of The Open Group and/or * Sun Microsystems, Inc. shall not be used in advertising or otherwise to * promote the sale, use or other dealings in this Software without prior * written authorization from The Open Group and/or Sun Microsystems, * Inc., as applicable. * * * X Window System is a trademark of The Open Group * * OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF * logo, LBX, X Window System, and Xinerama are trademarks of the Open * Group. All other trademarks and registered trademarks mentioned herein * are the property of their respective owners. No right, title or * interest in or to any trademark, service mark, logo or trade name of * Sun Microsystems, Inc. or its licensors is granted. * */ typedef struct aux { im_iiimf_t *iiimf; struct aux_service *service; struct aux_im_data *im_data; struct aux_im_data *im_data_list; } aux_t; typedef struct { int len; IIIMP_card16 *utf16str; } aux_name_t; typedef struct aux_string { int len; u_char *ptr; } aux_string_t; typedef struct aux_im_data { int im_id; int ic_id; struct aux_entry *entry; void *data; struct aux_im_data *next; } aux_im_data_t; typedef struct aux_dir { aux_name_t name; struct aux_method *method; } aux_dir_t; typedef struct aux_entry { int created; aux_dir_t dir; unsigned int if_version; } aux_entry_t; typedef enum aux_data_type { AUX_DATA_NONE = 0, AUX_DATA_START = 1, AUX_DATA_DRAW = 2, AUX_DATA_DONE = 3, AUX_DATA_SETVALUE = 4, AUX_DATA_GETVALUE = 5, AUX_DATA_GETVALUE_REPLY = 6, } aux_data_type_t; typedef struct aux_data { aux_data_type_t type; int im; int ic; int aux_index; int aux_name_length; unsigned char *aux_name; int integer_count; int *integer_list; int string_count; aux_string_t *string_list; unsigned char *string_ptr; } aux_data_t; typedef struct aux_method { Bool (*create)(aux_t *); Bool (*start)(aux_t *, const u_char *, int); Bool (*draw)(aux_t *, const u_char *, int); Bool (*done)(aux_t *, const u_char *, int); Bool (*switched)(aux_t *, int, int); Bool (*destroy)(aux_t *); /* AUX_IF_VERSION_2 */ Bool (*getvalues_reply)(aux_t *, const u_char *, int); Bool (*destroy_ic)(aux_t *); Bool (*set_icfocus)(aux_t *); Bool (*unset_icfocus)(aux_t *); } aux_method_t; typedef struct aux_service { void (*aux_setvalue) (aux_t *, const u_char *, int) ; int (*im_id) (aux_t *) ; int (*ic_id) (aux_t *) ; void (*data_set) (aux_t *, int, void *) ; void *(*data_get) (aux_t *, int) ; Display *(*display) (aux_t *) ; Window (*window)(aux_t *) ; XPoint *(*point)(aux_t *, XPoint *); XPoint *(*point_caret)(aux_t *, XPoint *); size_t (*utf16_mb)(const char **, size_t *, char **, size_t *); size_t (*mb_utf16)(const char **, size_t *, char **, size_t *); u_char *(*compose)(const aux_data_t *, int *); int (*compose_size)(aux_data_type_t, const u_char *); aux_data_t *(*decompose)(aux_data_type_t, const u_char *); void (*decompose_free)(aux_data_t *); void (*register_X_filter)(Display *, Window, int, int, Bool (*filter)(Display *, Window, XEvent *, XPointer), XPointer); void (*unregister_X_filter)(Display *, Window, Bool (* filter)(Display *, Window, XEvent *, XPointer), XPointer); Bool (*server)(aux_t *); Window (*client_window)(aux_t *); Window (*focus_window)(aux_t *); int (*screen_number)(aux_t *); int (*point_screen)(aux_t *, XPoint *); int (*point_caret_screen)(aux_t *, XPoint *); Bool (*get_conversion_mode)(aux_t *); void (*set_conversion_mode)(aux_t *, int); /* AUX_IF_VERSION_2 */ void (*aux_getvalue)(aux_t *, const unsigned char *, int); aux_t *(*aux_get_from_id)(int, int, IIIMP_card16 *, int); } aux_service_t; typedef struct aux_info { unsigned int if_version; Bool (*register_service)(u_int, aux_service_t *); aux_dir_t *dir; } aux_info_t; #ifdef USE_XLIB void aux_init(IIIMCF_handle handle, ui_im_export_syms_t *syms, ef_parser_t *parser); void aux_quit(void); aux_t *aux_new(im_iiimf_t *iiimf); void aux_delete(aux_t *aux); void aux_event(aux_t *aux, IIIMCF_event ev, IIIMCF_event_type); void aux_set_focus(aux_t *aux); void aux_unset_focus(aux_t *aux); #else #define aux_init(handle, syms, parser) (0) #define aux_quit() (0) #define aux_new(iiimf) (NULL) #define aux_delete(aux) (0) #define aux_event(aux, ev, type) (0) #define aux_set_focus(aux) (0) #define aux_unset_focus(aux) (0) #endif #endif mlterm-3.8.4/inputmethod/iiimf/Makefile.in010064400017600000144000000027251321054731300172330ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/iiimf IM_IIIMF_OBJ = im_iiimf.o keymap.o $(IM_IIIMF_AUX_OBJ_@GUI@) IM_IIIMF_AUX_OBJ_xlib = im_iiimf_aux.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @TYPE_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @IIIMCF_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @LMEF@ @IIIMCF_LIBS@ TARGET_xlib = libim-iiimf.la TARGET_fb = libim-iiimf-fb.la TARGET_console = libim-iiimf-fb.la TARGET_wayland = libim-iiimf-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_IIIMF_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_IIIMF_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-iiimf* clean: rm -rf $(IM_IIIMF_OBJ) $(IM_IIIMF_OBJ:.o=.lo) $(TARGET) core *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/iiimf/im_iiimf.c010064400017600000144000001126571321054731300171220ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * im_iiimf.c - iiimf plugin for mlterm * * Copyright (C) 2004 2005 Seiichi SATO * */ /* * im_iiimf_process_event() is based on IMProcessIncomingEvent() of iiimxcf. */ /* * Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: The above copyright notice and this * permission notice shall be included in all copies or substantial * portions of the Software. * * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH * THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF * ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. * * * Except as contained in this notice, the names of The Open Group and/or * Sun Microsystems, Inc. shall not be used in advertising or otherwise to * promote the sale, use or other dealings in this Software without prior * written authorization from The Open Group and/or Sun Microsystems, * Inc., as applicable. * * * X Window System is a trademark of The Open Group * * OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF * logo, LBX, X Window System, and Xinerama are trademarks of the Open * Group. All other trademarks and registered trademarks mentioned herein * are the property of their respective owners. No right, title or * interest in or to any trademark, service mark, logo or trade name of * Sun Microsystems, Inc. or its licensors is granted. * */ #include /* strncmp */ #include #include /* malloc/alloca/free */ #include /* bl_str_sep bl_str_alloca_dup bl_snprintf*/ #include /* bl_get_lang */ #include #include #include #include "im_iiimf.h" #include "keymap.h" #include "../im_common.h" #include "../im_info.h" #if 0 #define IM_IIIMF_DEBUG 1 #endif /* XXX: it seems to be undefined in iiim*.h. why? */ #define IIIMF_SHIFT_MODIFIER 1 #define IIIMF_CONTROL_MODIFIER 2 #define IIIMF_META_MODIFIER 4 #define IIIMF_ALT_MODIFIER 8 /* --- static variables --- */ static int ref_count = 0; static int initialized = 0; static ef_parser_t * parser_utf16 = NULL; static IIIMCF_handle handle = NULL; /* mlterm internal symbols */ static ui_im_export_syms_t * syms = NULL; static int htt_show_status_window = 0; static int htt_generates_kanakey = 0; /* --- static functions --- */ static IIIMCF_language find_language(char * lang) { IIIMCF_language * array; IIIMCF_language best_result = NULL; IIIMCF_language better_result = NULL; char * p = NULL; char * language = NULL; char * country = NULL; int num; int i; if (lang) { p = bl_str_alloca_dup(lang); if ((country = bl_str_sep(&p, ":"))) { p = country; /* hold for free() */ language = bl_str_sep(&country, "_"); } } if (language == NULL && country == NULL) { language = bl_get_lang(); country = bl_get_country(); } if (iiimcf_get_supported_languages(handle, &num, &array) == IIIMF_STATUS_SUCCESS) { for (i = 0; i < num; i++) { const char * lang_id; if (iiimcf_get_language_id(array[i], &lang_id) != IIIMF_STATUS_SUCCESS) { continue; } /* At first, compare with lang_COUNTRY like "zh_CN" */ if (country) { char buf[16]; bl_snprintf(buf, sizeof(buf), "%s_%s", language, country); if (strcmp(buf, lang_id) == 0) { best_result = array[i]; } } /* Next, compare with lang like "ja" */ if (strcmp(language, lang_id) == 0) { better_result = array[i]; } } } return (best_result ? best_result : better_result); } static IIIMCF_input_method find_language_engine(char* lang) { IIIMCF_input_method * array; IIIMCF_input_method result = NULL; char * le_name = NULL; ef_conv_t * conv; int num; int i; if (!lang) { return NULL; } if (!(le_name = strstr(lang, ":"))) { return NULL; } /* eliminate leading ":" */ le_name ++; if (!(conv = (*syms->vt_char_encoding_conv_new)(VT_ISO8859_1))) { return NULL; } if (iiimcf_get_supported_input_methods(handle, &num, &array) == IIIMF_STATUS_SUCCESS) { for (i = 0; i < num; i++) { const IIIMP_card16 * id; const IIIMP_card16 * hrn; /* human readable name */ const IIIMP_card16 * domain; if (iiimcf_get_input_method_desc(array[i], &id, &hrn, &domain) == IIIMF_STATUS_SUCCESS) { u_char * str; PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, conv, (u_char*) id, &str, strlen_utf16(id) + 1); if (strcmp(le_name, str) == 0) { #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG " found le [%s].\n", le_name); #endif result = array[i]; } free(str); } } } (*conv->delete)(conv); return result; } static void show_iiimcf_version(void) { #ifdef IM_IIIMF_DEBUG #define SHOW_VER(flag, str) { \ int ver; \ if (iiimcf_get_version_number(handle, (flag), &ver) \ == IIIMF_STATUS_ARGUMENT) { \ bl_debug_printf(BL_DEBUG_TAG "%s\t\t:%d\n", (str), ver) { \ bl_debug_printf(BL_DEBUG_TAG "%s\t\t:none\n", (str));\ } \ } while (0) SHOW_VER(IIIMCF_LIBRARY_VERSION, "library version"); SHOW_VER(IIIMCF_PROTOCOL_VERSION, "protocol version"); SHOW_VER(IIIMCF_MINOR_VERSION, "minor version"); SHOW_VER(IIIMCF_MAJOR_VERSION, "major version"); #endif } /* * callback for candidate screen events */ static void candidate_selected(void *p, u_int index) { #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG " index : %d\n", index); #endif /* not implemented yet. */ } /* * processing event from IIIMSF */ static void commit(im_iiimf_t *iiimf) { IIIMCF_text iiimcf_text; const IIIMP_card16 *utf16str; u_char buf[256]; size_t filled_len; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (iiimcf_get_committed_text(iiimf->context, &iiimcf_text) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get committed text.\n"); #endif return; } if (iiimcf_get_text_utf16string(iiimcf_text, &utf16str) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get utf16 string.\n"); #endif return; } PARSER_INIT_WITH_BOM(parser_utf16); (*parser_utf16->set_str)(parser_utf16, (u_char*) utf16str, strlen_utf16(utf16str)); (*iiimf->conv->init)(iiimf->conv); while (!parser_utf16->is_eos) { filled_len = (*iiimf->conv->convert)(iiimf->conv, buf, sizeof(buf), parser_utf16); if (filled_len == 0) { /* finished converting */ break; } (*iiimf->im.listener->write_to_term)(iiimf->im.listener->self, buf, filled_len); } } static void preedit_start(im_iiimf_t *iiimf) { #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (iiimf->im.preedit.chars) { (*syms->vt_str_delete)(iiimf->im.preedit.chars, iiimf->im.preedit.num_chars); } iiimf->im.preedit.num_chars = 0; iiimf->im.preedit.filled_len = 0; iiimf->im.preedit.segment_offset = 0; iiimf->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; } static void preedit_change(im_iiimf_t *iiimf) { IIIMCF_text iiimcf_text; const IIIMP_card16 *utf16str; u_char *str; vt_char_t *p; ef_char_t ch; int is_underline = 0; int caret_pos; u_int count = 0; int in_reverse = 0; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif /* * get preedit string without attribute. */ if (iiimcf_get_preedit_text(iiimf->context, &iiimcf_text, &caret_pos) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get preedit text\n"); #endif return; } if (iiimcf_get_text_utf16string(iiimcf_text, &utf16str) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get utf16 string\n"); #endif return; } if (strlen_utf16(utf16str) == 0) { /* clear */ (*iiimf->im.listener->draw_preedit_str)(iiimf->im.listener->self, NULL, 0, 0); if (iiimf->im.preedit.chars) { (*syms->vt_str_delete)(iiimf->im.preedit.chars, iiimf->im.preedit.num_chars); iiimf->im.preedit.chars = NULL; iiimf->im.preedit.num_chars = 0; iiimf->im.preedit.filled_len = 0; iiimf->im.preedit.segment_offset = 0; iiimf->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; } return ; } /* UTF16 -> term encoding */ PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, iiimf->conv, (u_char*) utf16str, &str, strlen_utf16(utf16str) + 1); /* * count number of characters to re-allocate im.preedit.chars */ (*iiimf->parser_term->init)(iiimf->parser_term); (*iiimf->parser_term->set_str)(iiimf->parser_term, str, strlen(str)); while ((*iiimf->parser_term->next_char)(iiimf->parser_term, &ch)) { count ++; } /* * allocate im.preedit.chars */ if (iiimf->im.preedit.chars) { (*syms->vt_str_delete)(iiimf->im.preedit.chars, iiimf->im.preedit.num_chars); iiimf->im.preedit.chars = NULL; iiimf->im.preedit.num_chars = 0; iiimf->im.preedit.filled_len = 0; iiimf->im.preedit.segment_offset = 0; iiimf->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; } if (!(iiimf->im.preedit.chars = calloc(count, sizeof(vt_char_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "calloc failed.\n"); #endif return; } iiimf->im.preedit.num_chars = count; iiimf->im.preedit.filled_len = 0; (*syms->vt_str_init)(iiimf->im.preedit.chars, iiimf->im.preedit.num_chars); /* * IIIMP_card16(UTF16) -> vt_char_t */ p = iiimf->im.preedit.chars; (*syms->vt_str_init)(p, iiimf->im.preedit.num_chars); (*iiimf->parser_term->init)(iiimf->parser_term); (*iiimf->parser_term->set_str)(iiimf->parser_term, str, strlen(str)); count = 0; /* TODO: move to inputmethod/common/im_common.c */ while ((*iiimf->parser_term->next_char)(iiimf->parser_term, &ch)) { IIIMP_card16 iiimcf_ch; const IIIMP_card32 *feedback_ids; const IIIMP_card32 *feedbacks; int num_feedbacks; vt_color_t fg_color = VT_FG_COLOR; vt_color_t bg_color = VT_BG_COLOR; int is_fullwidth = 0; int is_comb = 0; int is_bold = 0; iiimf->im.preedit.cursor_offset = 0; if (iiimcf_get_char_with_feedback(iiimcf_text, iiimf->im.preedit.filled_len, &iiimcf_ch, &num_feedbacks, &feedback_ids, &feedbacks) == IIIMF_STATUS_SUCCESS) { int i; for (i = 0; i < num_feedbacks; i++) { /* IIIMP_FEEDBACK_[1,2,3...]_* don't exist? */ if (feedback_ids[i] != IIIMP_FEEDBACK_0_ID) { continue; } switch(feedbacks[i]) { case IIIMP_FEEDBACK_0_REVERSE_VIDEO: if (!in_reverse) { iiimf->im.preedit.segment_offset = iiimf->im.preedit.filled_len; in_reverse = 1; } iiimf->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; fg_color = VT_BG_COLOR; bg_color = VT_FG_COLOR; break; case IIIMP_FEEDBACK_0_UNDERLINE: is_underline = 1; break; case IIIMP_FEEDBACK_0_HIGHLIGHT: is_bold = 1; break; case IIIMP_FEEDBACK_0_NORMAL_VIDEO: case IIIMP_FEEDBACK_0_PRIMARY: case IIIMP_FEEDBACK_0_SECONDARY: case IIIMP_FEEDBACK_0_TERTIARY: /* not implemented yet */ default: break; } } } if ((*syms->vt_convert_to_internal_ch)(iiimf->im.vtparser, &ch) <= 0) { continue; } if (ch.cs == ISO10646_UCS4_1) { if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, 0, is_underline, 0, 0)) { continue; } /* * if combining failed, char is normally appended. */ } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, 0, is_underline, 0, 0); p++; iiimf->im.preedit.filled_len++; } if (str) { free(str); } if (iiimf->im.preedit.cursor_offset != UI_IM_PREEDIT_NOCURSOR) { iiimf->im.preedit.cursor_offset = iiimf->im.preedit.filled_len; } (*iiimf->im.listener->draw_preedit_str)(iiimf->im.listener->self, iiimf->im.preedit.chars, iiimf->im.preedit.filled_len, iiimf->im.preedit.cursor_offset); } static void preedit_done(im_iiimf_t *iiimf) { #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (iiimf->im.preedit.chars) { (*syms->vt_str_delete)(iiimf->im.preedit.chars, iiimf->im.preedit.num_chars); iiimf->im.preedit.chars = NULL; iiimf->im.preedit.num_chars = 0; iiimf->im.preedit.filled_len = 0; iiimf->im.preedit.segment_offset = 0; iiimf->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; } (*iiimf->im.listener->draw_preedit_str)(iiimf->im.listener->self, iiimf->im.preedit.chars, iiimf->im.preedit.filled_len, iiimf->im.preedit.cursor_offset); } static void lookup_choice_start(im_iiimf_t *iiimf) { } static void lookup_choice_change(im_iiimf_t *iiimf) { ui_im_event_listener_t *listener = iiimf->im.listener; IIIMCF_lookup_choice lookup_choice; int size; int index_first; int index_last; int index_current; int x; int y; int i; int num_per_window; int row; int col; int direction; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (iiimcf_get_lookup_choice(iiimf->context, &lookup_choice) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get lookup table\n"); #endif return; } if (iiimcf_get_lookup_choice_size(lookup_choice, &size, &index_first, &index_last, &index_current) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get lookup table.\n"); #endif return; } if (iiimcf_get_lookup_choice_configuration(lookup_choice, &num_per_window, &row, &col, &direction) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get lookup information.\n"); #endif return; } #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "size: %d\n", size); bl_debug_printf(BL_DEBUG_TAG "index_first: %d\n", index_first); bl_debug_printf(BL_DEBUG_TAG "index_last: %d\n", index_last); bl_debug_printf(BL_DEBUG_TAG "index_current: %d\n", index_current); bl_debug_printf(BL_DEBUG_TAG "num_per_window:%d\n", num_per_window); bl_debug_printf(BL_DEBUG_TAG "row: %d\n", row); bl_debug_printf(BL_DEBUG_TAG "col: %d\n", col); #endif if (num_per_window == 0) { num_per_window = 10; } if (index_first == 0 && index_last == 0) { return; } (*listener->get_spot)(listener->self, iiimf->im.preedit.chars, iiimf->im.preedit.segment_offset, &x, &y); if (!iiimf->im.cand_screen) { int is_vertical_direction = 0; if (direction == IIIMCF_LOOKUP_CHOICE_VERTICAL_DIRECTION) { is_vertical_direction = 1; } if (iiimf->im.stat_screen) { (*iiimf->im.stat_screen->delete)(iiimf->im.stat_screen); iiimf->im.stat_screen = NULL; } if (!(iiimf->im.cand_screen = (*syms->ui_im_candidate_screen_new)(iiimf->im.disp, iiimf->im.font_man, iiimf->im.color_man, iiimf->im.vtparser, (*listener->is_vertical)(listener->self), is_vertical_direction, (*listener->get_line_height)(listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_candidate_screen_new() failed.\n"); #endif return; } iiimf->im.cand_screen->listener.self = iiimf; iiimf->im.cand_screen->listener.selected = candidate_selected; } if (!(*iiimf->im.cand_screen->init)(iiimf->im.cand_screen, size, num_per_window)) { (*iiimf->im.cand_screen->delete)(iiimf->im.cand_screen); iiimf->im.cand_screen = NULL; return; } (*iiimf->im.cand_screen->set_spot)(iiimf->im.cand_screen, x, y); for (i = index_first; i <= index_last; i++) { IIIMCF_text iiimcf_text_cand; IIIMCF_text iiimcf_text_label; const IIIMP_card16 *utf16str; u_char *str = NULL; int flag; if (iiimcf_get_lookup_choice_item(lookup_choice, i, &iiimcf_text_cand, &iiimcf_text_label, &flag) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not candidate item\n"); #endif continue; } if (iiimcf_get_text_utf16string(iiimcf_text_cand, &utf16str) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get utf16 string\n"); #endif continue; } PARSER_INIT_WITH_BOM(parser_utf16); if (im_convert_encoding(parser_utf16, iiimf->conv, (u_char*)utf16str, &str, strlen_utf16(utf16str) + 1)) { (*iiimf->im.cand_screen->set)(iiimf->im.cand_screen, iiimf->parser_term, str, i); free(str); } } (*iiimf->im.cand_screen->select)(iiimf->im.cand_screen, index_current); } static void status_change(im_iiimf_t *iiimf); static void lookup_choice_done(im_iiimf_t *iiimf) { if (iiimf->im.cand_screen) { (*iiimf->im.cand_screen->delete)(iiimf->im.cand_screen); iiimf->im.cand_screen = NULL; status_change(iiimf); } } static void status_start(im_iiimf_t *iiimf) { } static void status_change(im_iiimf_t *iiimf) { ui_im_event_listener_t *listener = iiimf->im.listener; IIIMCF_text iiimcf_text; const IIIMP_card16 *utf16str; u_char *str; int x; int y; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (!iiimf->on || !htt_show_status_window || iiimcf_get_status_text(iiimf->context, &iiimcf_text) != IIIMF_STATUS_SUCCESS) { if (iiimf->im.stat_screen) { (*iiimf->im.stat_screen->delete)(iiimf->im.stat_screen); iiimf->im.stat_screen = NULL; } return; } (*listener->get_spot)(listener->self, iiimf->im.preedit.chars, iiimf->im.preedit.segment_offset, &x, &y); if (iiimf->im.stat_screen == NULL) { if (!(iiimf->im.stat_screen = (*syms->ui_im_status_screen_new)(iiimf->im.disp, iiimf->im.font_man, iiimf->im.color_man, iiimf->im.vtparser, (*listener->is_vertical)(listener->self), (*listener->get_line_height)(listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_satus_screen_new() failed.\n"); #endif return; } } if (iiimcf_get_text_utf16string(iiimcf_text, &utf16str) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not get utf16 string.\n"); #endif return; } PARSER_INIT_WITH_BOM(parser_utf16); if (im_convert_encoding(parser_utf16, iiimf->conv, (u_char*)utf16str, &str, strlen_utf16(utf16str) + 1)) { (*iiimf->im.stat_screen->set)(iiimf->im.stat_screen, iiimf->parser_term, str); free(str); } } static void status_done(im_iiimf_t *iiimf) { if (iiimf->im.stat_screen) { (*iiimf->im.stat_screen->delete)(iiimf->im.stat_screen); iiimf->im.stat_screen = NULL; } } static void dispatch(im_iiimf_t *iiimf, IIIMCF_event event, IIIMCF_event_type event_type) { int trigger_flag; switch(event_type) { #if 0 case IIIMCF_EVENT_TYPE_DESTROY: case IIIMCF_EVENT_TYPE_RESET: case IIIMCF_EVENT_TYPE_EVENTLIKE: /* case IIIMCF_EVENT_TYPE_KEYEVENT: */ /* not implemented yet */ break; #endif case IIIMCF_EVENT_TYPE_TRIGGER_NOTIFY: if (iiimcf_get_trigger_notify_flag(event, &trigger_flag) == IIIMF_STATUS_SUCCESS) { iiimf->on = trigger_flag ? 1 : 0; status_change(iiimf); } break; #if 0 case IIIMCF_EVENT_TYPE_OPERATION: case IIIMCF_EVENT_TYPE_SETICFOCUS: case IIIMCF_EVENT_TYPE_UNSETICFOCUS: #ifdef HAVE_HOTKEY_NOTFY_EVENT case IIIMCF_EVENT_TYPE_HOTKEY_NOTIFY: #endif /* not implemented yet */ break; #endif case IIIMCF_EVENT_TYPE_UI_PREEDIT_START: preedit_start(iiimf); break; case IIIMCF_EVENT_TYPE_UI_PREEDIT_CHANGE: preedit_change(iiimf); break; case IIIMCF_EVENT_TYPE_UI_PREEDIT_DONE: preedit_done(iiimf); break; case IIIMCF_EVENT_TYPE_UI_LOOKUP_CHOICE_START: lookup_choice_start(iiimf); break; case IIIMCF_EVENT_TYPE_UI_LOOKUP_CHOICE_CHANGE: lookup_choice_change(iiimf); break; case IIIMCF_EVENT_TYPE_UI_LOOKUP_CHOICE_DONE: lookup_choice_done(iiimf); break; case IIIMCF_EVENT_TYPE_UI_STATUS_START: status_start(iiimf); break; case IIIMCF_EVENT_TYPE_UI_STATUS_CHANGE: status_change(iiimf); break; case IIIMCF_EVENT_TYPE_UI_STATUS_DONE: status_done(iiimf); break; case IIIMCF_EVENT_TYPE_UI_COMMIT: commit(iiimf); break; case IIIMCF_EVENT_TYPE_AUX_START: case IIIMCF_EVENT_TYPE_AUX_DRAW: case IIIMCF_EVENT_TYPE_AUX_SETVALUES: case IIIMCF_EVENT_TYPE_AUX_DONE: #ifdef HAVE_AUX_GETVALUES_EVENT case IIIMCF_EVENT_TYPE_AUX_GETVALUES: #endif if (iiimf->aux == NULL) { iiimf->aux = aux_new(iiimf); } if (iiimf->aux) { aux_event(iiimf->aux, event, event_type); } break; default: break; } } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_iiimf_t *iiimf; iiimf = (im_iiimf_t*) im; if (iiimf->parser_term) { (*iiimf->parser_term->delete)(iiimf->parser_term); } if (iiimf->conv) { (*iiimf->conv->delete)(iiimf->conv); } if (iiimf->aux) { aux_delete(iiimf->aux); } if (iiimf->context) { iiimcf_destroy_context(iiimf->context); } free(iiimf); ref_count--; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count is %d\n", ref_count); #endif if (ref_count == 0 && initialized) { iiimcf_destroy_handle(handle); handle = NULL; iiimcf_finalize(); if (parser_utf16) { (*parser_utf16->delete)(parser_utf16); parser_utf16 = NULL; } aux_quit(); initialized = 0; } } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *xevent) { im_iiimf_t *iiimf; IIIMCF_keyevent key; IIIMCF_event event; IIIMF_status status; int is_shift; int is_lock; int is_ctl; int is_alt; int is_meta; int is_super; int is_hyper; iiimf = (im_iiimf_t*) im; key.keycode = 0; key.keychar = 0; key.modifier = 0; (*iiimf->im.listener->compare_key_state_with_modmap)(iiimf->im.listener->self, xevent->state, &is_shift, &is_lock, &is_ctl, &is_alt, &is_meta, NULL, &is_super, &is_hyper); if (is_shift) key.modifier |= IIIMF_SHIFT_MODIFIER; if (is_ctl) key.modifier |= IIIMF_CONTROL_MODIFIER; if (is_alt) key.modifier |= IIIMF_ALT_MODIFIER; if (is_meta) key.modifier |= IIIMF_META_MODIFIER; #if 0 if (htt_generates_kanakey && is_shift) { if (!xksym_to_iiimfkey_kana_shift(ksym, &key.keychar, &key.keycode)) { xksym_to_iiimfkey(ksym, &key.keychar, &key.keycode); } } #endif xksym_to_iiimfkey(ksym, &key.keychar, &key.keycode); #if defined(USE_XLIB) || defined(USE_WAYLAND) key.time_stamp = xevent->time; #else key.time_stamp = 0; #endif #if 1 /* * ignore Ctrl+] defined as default hotkey. * (see iiimsf/src/IIIMP_hotkey_profile.cpp) */ if (!iiimf->on && key.keycode == IIIMF_KEYCODE_CLOSE_BRACKET && (key.modifier & IIIMF_CONTROL_MODIFIER)) { return 1; } #endif if (iiimcf_create_keyevent(&key, &event) == IIIMF_STATUS_SUCCESS) { status = iiimcf_forward_event(iiimf->context, event); switch(status) { case IIIMF_STATUS_SUCCESS: return im_iiimf_process_event(iiimf); case IIIMF_STATUS_EVENT_NOT_FORWARDED: break; case IIIMF_STATUS_IC_INVALID: bl_error_printf("Invalid IIIMCF context\n"); break; case IIIMF_STATUS_MALLOC: #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " iiimcf internal error [IIIMF_STATUS_MALLOC]\n"); #endif break; default: bl_error_printf("Could not send key event to IIIMSF\n"); break; } } return 1; } static int switch_mode(ui_im_t *im) { return 0; } static int is_active(ui_im_t *im) { return 0; } static void focused(ui_im_t *im) { im_iiimf_t *iiimf; IIIMCF_event event; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif iiimf = (im_iiimf_t*) im; if (iiimf->aux) { aux_set_focus(iiimf->aux); } if (iiimcf_create_seticfocus_event(&event) == IIIMF_STATUS_SUCCESS) { if (iiimcf_forward_event(iiimf->context, event) == IIIMF_STATUS_SUCCESS) { im_iiimf_process_event(iiimf); } } if (iiimf->im.stat_screen) { (*iiimf->im.stat_screen->show)(iiimf->im.stat_screen); } if (iiimf->im.cand_screen) { (*iiimf->im.cand_screen->show)(iiimf->im.cand_screen); } } static void unfocused(ui_im_t *im) { im_iiimf_t *iiimf; IIIMCF_event event; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif iiimf = (im_iiimf_t*) im; if (iiimf->aux) { aux_unset_focus(iiimf->aux); } if (iiimcf_create_unseticfocus_event(&event) == IIIMF_STATUS_SUCCESS) { if (iiimcf_forward_event(iiimf->context, event) == IIIMF_STATUS_SUCCESS) { im_iiimf_process_event(iiimf); } } if (iiimf->im.stat_screen) { (*iiimf->im.stat_screen->hide)(iiimf->im.stat_screen); } if (iiimf->im.cand_screen) { (*iiimf->im.cand_screen->hide)(iiimf->im.cand_screen); } } static int create_handle(IIIMCF_attr attr) { char *env; if ((env = getenv("HTT_SERVER_ADDRESS"))) { if (iiimcf_attr_put_string_value(attr, IIIMCF_ATTR_SERVER_ADDRESS, env) != IIIMF_STATUS_SUCCESS) { return 0; } } if (iiimcf_create_handle(attr, &handle) != IIIMF_STATUS_SUCCESS) { const char *user; if (env == NULL && ((user = getenv("USER")) || (user = getenv("LOGNAME"))) && (env = alloca(12 + strlen(user) + 5 + 1))) { DIR *dir; sprintf(env, "/tmp/.iiim-%s/", user); if ((dir = opendir(env))) { char *p = env + strlen(env); struct dirent *ent; while ((ent = readdir(dir))) { if (!strchr(ent->d_name, '.') && strlen(ent->d_name) <= 5) { strcpy(p, ent->d_name); if (iiimcf_attr_put_string_value(attr, IIIMCF_ATTR_SERVER_ADDRESS, env) == IIIMF_STATUS_SUCCESS && iiimcf_create_handle(attr, &handle) == IIIMF_STATUS_SUCCESS) { return 1; } } } } } return 0; } return 1; } /* --- global functions --- */ ui_im_t *im_iiimf_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *lang, /* : */ u_int mod_ignore_mask) { im_iiimf_t *iiimf = NULL; IIIMCF_attr attr = NULL; IIIMCF_language language; IIIMCF_input_method language_engine; if (magic != (u_int64_t) IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } if (!initialized) { char *env; if (iiimcf_initialize(IIIMCF_ATTR_NULL) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not initialize\n"); #endif return NULL; } initialized = 1; if (iiimcf_create_attr(&attr) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not create attribute\n"); #endif goto error; } if (iiimcf_attr_put_string_value(attr, IIIMCF_ATTR_CLIENT_TYPE, "IIIMF plugin for mlterm") != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not append a string to the attribute\n"); #endif goto error; } #ifdef USE_XLIB if ((env = getenv("DISPLAY")) && iiimcf_attr_put_string_value(attr, IIIMCF_ATTR_CLIENT_X_DISPLAY_NAME, env) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not append a string to the attribute\n"); #endif } #endif if (iiimcf_attr_put_string_value(attr, IIIMCF_ATTR_SERVER_SERVICE, "") != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not append a server service to the attribute\n"); #endif goto error; } if (!create_handle(attr)) { bl_error_printf("Could not create handle for IIIMF. Try to setenv HTT_SERVER_ADDRESS.\n"); goto error; } iiimcf_destroy_attr(attr); attr = NULL; if (!(parser_utf16 = ef_utf16_parser_new())) { goto error; } if ((env = getenv("HTT_SHOW_STATUS_WINDOW"))) { if (*env == 't' || *env == 'T') { htt_show_status_window = 1; } } if ((env = getenv("HTT_GENERATES_KANAKEY"))) { if (*env == 't' || *env == 'T') { htt_generates_kanakey = 1; } } syms = export_syms; aux_init(handle, syms, parser_utf16); show_iiimcf_version(); } language = find_language(lang); language_engine = find_language_engine(lang); if (!(iiimf = malloc(sizeof(im_iiimf_t)))) { goto error; } /* * set methods of ui_im_t */ iiimf->im.delete = delete; iiimf->im.key_event = key_event; iiimf->im.switch_mode = switch_mode; iiimf->im.is_active = is_active; iiimf->im.focused = focused; iiimf->im.unfocused = unfocused; iiimf->context = NULL; iiimf->parser_term = NULL; iiimf->conv = NULL; iiimf->aux = NULL; iiimf->on = 0; if (!(iiimf->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } if (!(iiimf->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } if (iiimcf_create_attr(&attr) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not create attribute\n"); #endif goto error; } if (language) { if (iiimcf_attr_put_ptr_value(attr, IIIMCF_ATTR_INPUT_LANGUAGE, language) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not append value to the attribute\n"); #endif } } if (language_engine) { if (iiimcf_attr_put_ptr_value(attr, IIIMCF_ATTR_INPUT_METHOD, language_engine) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not append value to the attribute\n"); #endif } } if (iiimcf_create_context(handle, attr, &iiimf->context) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not create context\n"); #endif goto error; } iiimcf_destroy_attr(attr); attr = NULL; ref_count++; #ifdef IM_IIIMF_DEBUG bl_debug_printf(BL_DEBUG_TAG " New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*) iiimf; error: if (attr) { iiimcf_destroy_attr(attr); } if (initialized && ref_count == 0) { if (handle) { iiimcf_destroy_handle(handle); } handle = NULL; if (parser_utf16) { (*parser_utf16->delete)(parser_utf16); } iiimcf_finalize(); aux_quit(); initialized = 0; } if (iiimf) { if (iiimf->parser_term) { (*iiimf->parser_term->delete)(iiimf->parser_term); } if (iiimf->conv) { (*iiimf->conv->delete)(iiimf->conv); } free(iiimf); } return NULL; } int im_iiimf_process_event(im_iiimf_t *iiimf) { int ret = 0; IIIMCF_event received_event; IIIMCF_event_type type; while (iiimcf_get_next_event(iiimf->context, &received_event) == IIIMF_STATUS_SUCCESS) { if (iiimcf_get_event_type(received_event, &type) != IIIMF_STATUS_SUCCESS) { ret = 1; continue; } if (type == IIIMCF_EVENT_TYPE_KEYEVENT) { ret = 1; } dispatch(iiimf, received_event, type); /* * IIICF library specification said: * * NOTICE: old version of libiiimcf had discarded any events * dispatched by iiimcf_dispatch_event. But in the new * version, you MUST call iiimcf_ignore_event to all events * that are obtained by iiimcf_get_next_event even though they * are dispatched by iiimcf_dispatch_event. * */ if (iiimcf_dispatch_event(iiimf->context, received_event) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not dispatch event\n"); #endif } if (iiimcf_ignore_event(received_event) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not dispatch event\n"); #endif } } return ret; } /* --- API for external tools --- */ im_info_t *im_iiimf_get_info(char *locale, char *encoding) { im_info_t *result = NULL; IIIMCF_input_method *input_methods; IIIMCF_language *langs; ef_conv_t *conv = NULL; int num_ims; int num_langs; int total = 0; int idx; int auto_idx = 0; int i; int j; if (iiimcf_initialize(IIIMCF_ATTR_NULL) != IIIMF_STATUS_SUCCESS) { return NULL; } if (iiimcf_create_handle(IIIMCF_ATTR_NULL, &handle) != IIIMF_STATUS_SUCCESS) { iiimcf_finalize(); return NULL; } if (iiimcf_get_supported_input_methods(handle, &num_ims, &input_methods) != IIIMF_STATUS_SUCCESS) { goto error; } for (i = 0; i < num_ims; i++) { if (iiimcf_get_input_method_languages(input_methods[i], &num_langs, &langs) != IIIMF_STATUS_SUCCESS) { goto error; } total += num_langs; } if (!(parser_utf16 = ef_utf16_parser_new())) { goto error; } if (!(conv = ef_iso8859_1_conv_new())) { goto error; } if (!(result = malloc(sizeof(im_info_t)))) { goto error; } result->id = strdup("iiimf"); result->name = strdup("IIIMF"); result->num_args = total + 1; result->args = NULL; result->readable_args = NULL; if (!(result->args = calloc(result->num_args, sizeof(char*)))) { goto error; } if (!(result->readable_args = calloc(result->num_args, sizeof(char*)))) { goto error; } idx = 1; for (i = 0; i < num_ims; i++) { const IIIMP_card16 *im_id; const IIIMP_card16 *im_hrn; const IIIMP_card16 *im_domain; u_char *im; if (iiimcf_get_input_method_desc(input_methods[i], &im_id, &im_hrn, &im_domain) != IIIMF_STATUS_SUCCESS) { continue; } if (iiimcf_get_input_method_languages(input_methods[i], &num_langs, &langs) != IIIMF_STATUS_SUCCESS) { continue; } PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, conv, (u_char*)im_id, &im, strlen_utf16(im_id) + 1); for (j = 0; j < num_langs; j++) { const char *lang_id; size_t len; iiimcf_get_language_id(langs[j], &lang_id); if (strncmp(lang_id, locale, 2) == 0 && auto_idx == 0) { auto_idx = idx; } len = strlen(im) + strlen(lang_id) + 4; if ((result->args[idx] = malloc(len))) { bl_snprintf(result->args[idx], len, "%s:%s", lang_id, im); } else { result->args[idx] = strdup("error"); } if ((result->readable_args[idx] = malloc(len))) { bl_snprintf(result->readable_args[idx], len, "%s (%s)", lang_id, im); } else { result->readable_args[i] = strdup("error"); } idx ++; } free(im); } result->args[0] = strdup(""); if (auto_idx) { result->readable_args[0] = strdup(result->readable_args[auto_idx]); } else { result->readable_args[0] = strdup("unknown"); } if (total != idx - 1) { free(result->id); free(result->name); for (i = 0; i < idx - 1; i++) { free(result->args[i]); free(result->readable_args[i]); } free(result->args); free(result->readable_args); free(result); result = NULL; } iiimcf_destroy_handle(handle); iiimcf_finalize(); return result; error: if (parser_utf16) { (*parser_utf16->delete)(parser_utf16); } if (conv) { (*conv->delete)(conv); } if (handle) { iiimcf_destroy_handle(handle); } iiimcf_finalize(); if (result) { if (result->args) { free(result->args); } if (result->readable_args) { free(result->readable_args); } free(result); } return NULL; } mlterm-3.8.4/inputmethod/iiimf/LICENCE010064400017600000144000000036471321054731300161570ustar kenusersCopyright 2005 Seiichi SATO Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. Except as contained in this notice, the names of The Open Group and/or Sun Microsystems, Inc. shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group and/or Sun Microsystems, Inc., as applicable. X Window System is a trademark of The Open Group OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF logo, LBX, X Window System, and Xinerama are trademarks of the Open Group. All other trademarks and registered trademarks mentioned herein are the property of their respective owners. No right, title or interest in or to any trademark, service mark, logo or trade name of Sun Microsystems, Inc. or its licensors is granted. mlterm-3.8.4/inputmethod/iiimf/im_iiimf_aux.c010064400017600000144000001173101321054731300177660ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * aux.c - iiimf plugin for mlterm (part for handling X aux object) * * Copyright (c) 2005 Seiichi SATO */ /* * This file is heavily based on iiimpAux.c of im-sdk-r2195. */ /* * Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: The above copyright notice and this * permission notice shall be included in all copies or substantial * portions of the Software. * * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH * THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF * ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES. * * * Except as contained in this notice, the names of The Open Group and/or * Sun Microsystems, Inc. shall not be used in advertising or otherwise to * promote the sale, use or other dealings in this Software without prior * written authorization from The Open Group and/or Sun Microsystems, * Inc., as applicable. * * * X Window System is a trademark of The Open Group * * * OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF * logo, LBX, X Window System, and Xinerama are trademarks of the Open * Group. All other trademarks and registered trademarks mentioned herein * are the property of their respective owners. No right, title or * interest in or to any trademark, service mark, logo or trade name of * Sun Microsystems, Inc. or its licensors is granted. * */ #include /* strncmp */ #include #include #include #include #include #include /* malloc/alloca/free */ #include /* bl_snprintf/bl_str_alloca_dup/bl_str_sep*/ #include /* bl_dl_open() */ #include #include #include #include "im_iiimf.h" #include "../im_common.h" #if 0 #define AUX_DEBUG 1 #endif #if 1 #define ATOK12_HACK 1 #endif #if 1 /* iiimf 12.2 or later ? */ #define AUX_BASE_DIR "/usr/lib/iiim/le" #else /* iiimf 12.1 or before ? */ #define AUX_BASE_DIR "/usr/lib/im" #endif #define AUX_DIR_SYMBOL "aux_dir" #define AUX_INFO_SYMBOL "aux_info" #define AUX_CONF_MAGIC "# IIIM X auxiliary" #define AUX_IF_VERSION_2 0x00020000 /* faked "composed" structure */ typedef struct aux_composed { int len; aux_t *aux; IIIMCF_event event; aux_data_t *data; } aux_composed_t; typedef struct aux_module { char *file_name; bl_dl_handle_t handle; int num_entries; aux_entry_t *entries; struct aux_module *next; } aux_module_t; typedef struct aux_module_info { char *aux_name; char *file_name; struct aux_module_info *next; } aux_module_info_t; typedef struct aux_id_info { int im_id; int ic_id; aux_t *aux; struct aux_id_info *next; } aux_id_info_t; typedef struct filter_info { Display *display; Window window; Bool (*filter)(Display *, Window, XEvent *, XPointer); XPointer client_data; struct filter_info *next; } filter_info_t; static aux_service_t aux_service; /* --- static variables --- */ static int initialized = 0; static IIIMCF_handle handle = NULL; static ui_im_export_syms_t *syms = NULL; static ef_parser_t *parser_utf16 = NULL; static ef_conv_t *conv_iso88591 = NULL; #if 0 static ef_parser_t *parser_locale = NULL; static ef_conv_t *conv_locale = NULL; static ef_conv_t *conv_utf16 = NULL; #endif static aux_module_t *module_list = NULL; static aux_module_info_t *module_info_list = NULL; static aux_id_info_t *id_info_list = NULL; static filter_info_t *filter_info_list = NULL; /* --- static functions --- */ static int is_valid_path(char *file_name) { size_t len; /* * may not start with "/" * may not start with "../" * may not contain "/../" * may not end with "/" * may not end with "/." * may not end with "/.." * may not be ".." */ if (file_name == NULL) { return 0; } if ((len = strlen(file_name)) < 5) { return 0; } if (file_name[0] == '/' || strncmp(file_name, "../", 3) == 0 || strstr(file_name, "/../") || file_name[len - 1] == '/' || strcmp(&file_name[len - 2], "/.") == 0 || strcmp(&file_name[len - 3], "/..") == 0 || strcmp(file_name, "..") == 0) { return 0; } return 1; } static int is_conf_file(char *file_name) { int fd; int len; int magic_len; char buf[64]; if (file_name == NULL) { return 0; } /* * must have ".conf" suffix */ if ((len = strlen(file_name)) < 6) { return 0; } if (strcmp(&file_name[len - 5], ".conf")) { return 0; } if ((fd = open(file_name, O_RDONLY, 0)) == -1) { return 0; } magic_len = strlen(AUX_CONF_MAGIC); len = read(fd, buf, magic_len); close(fd); if (len == magic_len && strncmp(buf, AUX_CONF_MAGIC, magic_len) == 0) { return 1; } return 0; } /* * module related functions */ static aux_module_t *load_module(char *file_name) { aux_module_t *module = NULL; aux_info_t *aux_info; aux_dir_t *aux_dir; int num_aux_dir; unsigned int ifversion; bl_dl_handle_t dl_handle = NULL; aux_dir_t *dir; aux_entry_t *entry; int i; char *auxdirname; char *dirname; char *basename; char *dirpath; size_t len; if (!is_valid_path(file_name)) { return NULL; } /* eliminate leading "./" */ if (strncmp(file_name, "./", 2) == 0) { file_name += 2; } /* * TODO: bl_dirname() */ if (!(dirname = bl_str_alloca_dup(file_name)) || !(basename = strrchr(dirname, '/'))) { return NULL; } basename[0] = '\0'; basename ++; len = strlen(basename); if (strncmp(&basename[len - 3], ".so", 3)) { return NULL; } basename[len - 3] = '\0'; /* eliminate suffix ".so" */ if (!(auxdirname = getenv("HTT_AUX_BASE_DIR"))) { auxdirname = AUX_BASE_DIR; } len = strlen(auxdirname) + strlen(dirname) + 3; if (!(dirpath = alloca(len))) { return NULL; } bl_snprintf(dirpath, len, "%s/%s/", auxdirname, dirname); if (!(dl_handle = bl_dl_open(dirpath, basename))) { bl_error_printf("Failed to load iiimf aux module. (%s%s.so)\n", dirpath, basename); return NULL; } aux_info = (aux_info_t*) bl_dl_func_symbol(dl_handle, AUX_INFO_SYMBOL); if (aux_info && aux_info->if_version >= AUX_IF_VERSION_2 && aux_info->register_service) { (*aux_info->register_service)(AUX_IF_VERSION_2, &aux_service); ifversion = aux_info->if_version; aux_dir = aux_info->dir; } else { ifversion = 0; aux_dir = (aux_dir_t *) bl_dl_func_symbol(dl_handle, AUX_DIR_SYMBOL); } if (aux_dir == NULL) { goto error; } /* count available aux_dir_t in the module */ for (num_aux_dir = 0, dir = aux_dir; dir->name.len > 0; dir ++, num_aux_dir ++); if (!(module = malloc(sizeof(aux_module_t)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } module->file_name = strdup(file_name); module->handle = dl_handle; module->entries = NULL; module->num_entries = 0; module->next = NULL; if (!(module->entries = calloc(num_aux_dir, sizeof(aux_entry_t)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " calloc failed. (%d, %d)\n", num_aux_dir, sizeof(aux_entry_t)); #endif goto error; } module->num_entries = num_aux_dir; for (i = 0, entry = module->entries, dir = aux_dir; i < num_aux_dir; i ++, entry ++, dir ++) { entry->created = 0; memcpy(&entry->dir, dir, sizeof(aux_dir_t)); entry->if_version = ifversion; } return module; error: if (dl_handle) { bl_dl_close(dl_handle); } if (module) { if (module->entries) { free(module->entries); } free(module); } return NULL; } static void unload_module(aux_module_t *module) { if (module == NULL) { return; } if (module->handle) { bl_dl_close(module->handle); } if (module->num_entries) { free(module->entries); } if (module->file_name) { free(module->file_name); } free(module); } static void register_module_info(char *aux_name, char *file_name) { aux_module_info_t *info; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "register_aux: %s %s\n", aux_name, file_name); #endif if (!(info = malloc(sizeof(aux_module_info_t)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "malloc failed\n"); #endif return; } info->aux_name = strdup(aux_name); info->file_name = strdup(file_name); bl_slist_insert_head(module_info_list, info); } static char *find_module_name(char *aux_name) { aux_module_info_t *info = module_info_list; while (info) { if (strcmp(info->aux_name, aux_name) == 0) { return info->file_name; } info = bl_slist_next(info); } return NULL; } static aux_im_data_t *create_im_data(IIIMCF_context context, const IIIMP_card16 *aux_name_utf16) { u_char *aux_name = NULL; aux_im_data_t *im_data = NULL; aux_entry_t *entry = NULL; aux_entry_t *e; aux_module_t *module; int i; for (module = module_list; module; module = module->next) { for (i = 0, e = module->entries; i < module->num_entries; i ++, e ++) { if (memcmp(aux_name_utf16, e->dir.name.utf16str, e->dir.name.len) == 0) { entry = e; } } } if (entry == NULL) { PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, conv_iso88591, (u_char*)aux_name_utf16, &aux_name, strlen_utf16(aux_name_utf16) + 1); if (!(module = load_module(find_module_name(aux_name)))) { goto error; } module->next = module_list; module_list = module; for (i = 0, e = module->entries; i < module->num_entries; i ++, e ++) { if (memcmp(aux_name_utf16, e->dir.name.utf16str, e->dir.name.len) == 0) { entry = e; } } free(aux_name); aux_name = NULL; } if (entry == NULL) { goto error; } if (!(im_data = malloc(sizeof(aux_im_data_t)))) { goto error; } im_data->im_id = 0; im_data->ic_id = 0; im_data->entry = entry; im_data->data = NULL; im_data->next = NULL; if (iiimcf_get_im_id(handle, &im_data->im_id) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "iiimcf_get_im_id failed.\n"); #endif goto error; } if (iiimcf_get_ic_id(context, &im_data->ic_id) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "iiimcf_get_ic_id failed.\n"); #endif goto error; } return im_data; error: if (aux_name) { free(aux_name); } if (im_data) { free(im_data); } return NULL; } #ifdef ATOK12_HACK #define ATOK12_SO "./locale/ja/atokserver/atok12aux.so" static void register_atok12_module(void) { aux_module_t *module; aux_entry_t *e; int i; if (!(module = load_module(ATOK12_SO))) { return; } for (i = 0, e = module->entries; i < module->num_entries; i ++, e ++) { u_char *str = NULL; PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, conv_iso88591, (u_char*)e->dir.name.utf16str, &str, e->dir.name.len + 1); register_module_info(str, ATOK12_SO); free(str); } unload_module(module); } #endif /* * X aux service */ #define ROUNDUP(n) (((n) + sizeof(int) - 1) / sizeof(int) * sizeof(int)) static aux_composed_t *create_composed_from_event(aux_t *aux, IIIMCF_event event) { unsigned char *p; aux_composed_t *ac; const IIIMP_card16 *aux_name; IIIMP_card32 class_index; const IIIMP_card32 *int_array; const IIIMP_card16 **str_array; int num_int; int num_str; aux_data_t *data; int i; int n; int aux_data_t_n; int aux_name_len; int aux_name_n; int integer_list_n = 0; int string_list_n = 0; int string_n = 0; int *pstring_len; if (iiimcf_get_aux_event_value(event, &aux_name, &class_index, &num_int, &int_array, &num_str, &str_array) != IIIMF_STATUS_SUCCESS) { return NULL; } /* first of all, caliculate size. */ n = ROUNDUP(sizeof(aux_composed_t)); aux_data_t_n = n; n += sizeof(aux_data_t); aux_name_n = n = ROUNDUP(n); aux_name_len = strlen_utf16(aux_name) / 2 ; n += (aux_name_len + 1) * sizeof(IIIMP_card16); if (num_int > 0) { integer_list_n = n = ROUNDUP(n); n += num_int * sizeof(int); } pstring_len = NULL; if (num_str > 0) { if (!(pstring_len = calloc(num_str, sizeof(int)))) { return NULL; } string_list_n = n = ROUNDUP(n); n += num_str * sizeof(aux_string_t); string_n = n = ROUNDUP(n); for (i = 0; i < num_str; i ++ ) { pstring_len[i] = strlen_utf16(str_array[i]) / 2 ; n += (pstring_len[i] + 1) * sizeof(IIIMP_card16); } } if (!(p = calloc(1, n))) { if (pstring_len) { free(pstring_len); } return NULL; } ac = (aux_composed_t *) p; ac->len = n; ac->event = event; data = (aux_data_t*)(p + aux_data_t_n); ac->data = data; if (aux) { ac->aux = aux; data->im = aux->im_data->im_id; data->ic = aux->im_data->ic_id; } data->aux_index = class_index; data->aux_name = p + aux_name_n; memcpy(data->aux_name, aux_name, (aux_name_len + 1) * sizeof(IIIMP_card16)); data->aux_name_length = aux_name_len * sizeof(IIIMP_card16); data->integer_count = num_int; if (num_int > 0) { data->integer_list = (int*)(p + integer_list_n); for (i = 0; i < num_int; i ++) { data->integer_list[i] = int_array[i]; } } data->string_count = num_str; data->string_ptr = p; if (num_str > 0) { aux_string_t *pas; data->string_list = pas = (aux_string_t*)(p + string_list_n); p += string_n; for (i = 0; i < num_str; i ++, pas ++) { pas->len = pstring_len[i] * sizeof(IIIMP_card16); pas->ptr = p; n = (pstring_len[i] + 1) * sizeof(IIIMP_card16); memcpy(p, str_array[i], n); p += n; } } if (pstring_len) { free(pstring_len); } return ac; } static aux_composed_t *create_composed_from_aux_data(const aux_data_t *data) { u_char *p; aux_composed_t *ac; aux_data_t *data2; int i; int n; int aux_data_t_n; int aux_name_n; int integer_list_n; int string_list_n; int string_n; /* first of all, caliculate size. */ n = ROUNDUP(sizeof(aux_composed_t)); aux_data_t_n = n; n += sizeof(aux_data_t); aux_name_n = n = ROUNDUP(n); n += data->aux_name_length + sizeof(IIIMP_card16); integer_list_n = n = ROUNDUP(n); n += data->integer_count * sizeof(int); string_list_n = n = ROUNDUP(n); n += data->string_count * sizeof(aux_string_t); string_n = n = ROUNDUP(n); for (i = 0; i < data->string_count; i ++) { n += data->string_list[i].len + sizeof(IIIMP_card16); } if (!(p = calloc(1, n))) { return NULL; } ac = (aux_composed_t *) p; ac->len = n; data2 = (aux_data_t*)(p + aux_data_t_n); ac->data = data2; *data2 = *data; data2->aux_name = p + aux_name_n; memcpy(data2->aux_name, data->aux_name, data->aux_name_length); if (data->integer_count > 0) { data2->integer_list = (int*)(p + integer_list_n); memcpy(data2->integer_list, data->integer_list, sizeof(int) * data->integer_count); } else { data2->integer_list = NULL; } data2->string_ptr = p; if (data->string_count > 0) { aux_string_t *pas1; aux_string_t *pas2; pas1= data->string_list; data2->string_list = pas2 = (aux_string_t*)(p + string_list_n); p += string_n; for (i = 0; i < data->string_count; i ++, pas1 ++, pas2 ++) { pas2->len = pas1->len; pas2->ptr = p; memcpy(p, pas1->ptr, pas2->len); p += pas2->len + sizeof(IIIMP_card16); } } else { data2->string_list = NULL; } return ac; } #undef ROUNDUP static void service_setvalue(aux_t *aux, const u_char *p, int len) { aux_composed_t *ac; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif ac = (aux_composed_t *) p; if (ac == NULL) { return; } if (ac->event) { if (iiimcf_forward_event(aux->iiimf->context, ac->event) == IIIMF_STATUS_SUCCESS) { im_iiimf_process_event(aux->iiimf); } } else if (ac->data) { int i; aux_data_t *data = ac->data; IIIMCF_event event; IIIMP_card32 *int_array = NULL; const IIIMP_card16 **str_array = NULL; if (data->integer_count > 0) { if (!(int_array = calloc(data->integer_count, sizeof(IIIMP_card32)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return; } for (i = 0; i < data->integer_count; i ++) { int_array[i] = data->integer_list[i]; } } if (data->string_count > 0) { if (!(str_array = calloc(data->string_count, sizeof(IIIMP_card16 *)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif if (int_array) { free(int_array); } return; } for (i = 0; i < data->string_count; i ++) { str_array[i] = (const IIIMP_card16*)data->string_list[i].ptr; } } if (iiimcf_create_aux_setvalues_event((IIIMP_card16*)data->aux_name, data->aux_index, data->integer_count, int_array, data->string_count, str_array, &event) == IIIMF_STATUS_SUCCESS) { if (iiimcf_forward_event(aux->iiimf->context, event) == IIIMF_STATUS_SUCCESS) { im_iiimf_process_event(aux->iiimf); } } if (int_array) { free(int_array); } if (str_array) { free(str_array); } } } static void service_getvalue(aux_t *aux, const u_char *p, int len) { aux_composed_t *ac; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif ac = (aux_composed_t *) p; if (ac == NULL) { return; } if (ac->event) { if (iiimcf_forward_event(aux->iiimf->context, ac->event) == IIIMF_STATUS_SUCCESS) { im_iiimf_process_event(aux->iiimf); } } else if (ac->data) { int i; aux_data_t *data = ac->data; IIIMCF_event event; IIIMP_card32 *int_array = NULL; const IIIMP_card16 **str_array = NULL; if (data->integer_count > 0) { if (!(int_array = calloc(data->integer_count, sizeof(IIIMP_card32)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " calloc failed.\n"); #endif return; } for (i = 0; i < data->integer_count; i ++) { int_array[i] = data->integer_list[i]; } } if (data->string_count > 0) { if (!(str_array = calloc(data->string_count, sizeof(IIIMP_card16 *)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " calloc failed.\n"); #endif if (int_array) { free(int_array); } return; } for (i = 0; i < data->string_count; i ++) { str_array[i] = (const IIIMP_card16*)data->string_list[i].ptr; } } if (iiimcf_create_aux_getvalues_event((IIIMP_card16*)data->aux_name, data->aux_index, data->integer_count, int_array, data->string_count, str_array, &event) == IIIMF_STATUS_SUCCESS) { if (iiimcf_forward_event(aux->iiimf->context, event) == IIIMF_STATUS_SUCCESS) { im_iiimf_process_event(aux->iiimf); } } if (int_array) { free(int_array); } if (str_array) { free(str_array); } } } static int service_im_id(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return aux->im_data->im_id; } static int service_ic_id(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return aux->im_data->ic_id; } static void service_data_set(aux_t *aux, int im_id, void *data) { aux_im_data_t *im_data; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif #if 0 /* XXX */ for (im_data = aux->im_data; im_data; im_data = im_data->next) #else for (im_data = aux->im_data_list; im_data; im_data = im_data->next) #endif { if (im_data->im_id == im_id) { im_data->data = data; } } return; } static void *service_data_get(aux_t *aux, int im_id) { aux_im_data_t *im_data; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif #if 0 /* XXX */ for (im_data = aux->im_data; im_data; im_data = im_data->next) #else for (im_data = aux->im_data_list; im_data; im_data = im_data->next) #endif { if (im_data->im_id == im_id) { return im_data->data; } } return NULL; } static Display *service_display(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { return NULL; } return ((ui_window_t *)aux->iiimf->im.listener->self)->disp->display; } static Window service_window(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { return None; } return ((ui_window_t *)aux->iiimf->im.listener->self)->my_window; } static XPoint *service_point(aux_t *aux, XPoint *point) { int x; int y; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { point->x = -1; point->y = -1; return point; } (*aux->iiimf->im.listener->get_spot)(aux->iiimf->im.listener->self, aux->iiimf->im.preedit.chars, aux->iiimf->im.preedit.segment_offset, &x, &y); x -= ((ui_window_t *)aux->iiimf->im.listener->self)->x; y -= ((ui_window_t *)aux->iiimf->im.listener->self)->y; point->x = (x > SHRT_MAX) ? SHRT_MAX : x; point->y = (y > SHRT_MAX) ? SHRT_MAX : y; return point; } static XPoint *service_point_caret(aux_t *aux, XPoint *point) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return service_point(aux, point); } static size_t service_utf16_mb(const char **in_buf, size_t *in_bytes_left, char **out_buf, size_t *out_bytes_left) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif /* not implemented yet */ return 0; } static size_t service_mb_utf16(const char **in_buf, size_t *in_bytes_left, char **out_buf, size_t *out_bytes_left) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif /* not implemented yet */ return 0; } static u_char *service_compose(const aux_data_t *data, int *size) { aux_composed_t *ac; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif ac = create_composed_from_aux_data(data); return (u_char *) ac; } static int service_compose_size(aux_data_type_t type, const u_char *p) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return 0; } static aux_data_t *service_decompose(aux_data_type_t type, const u_char *p) { aux_composed_t *ac; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif ac = (aux_composed_t *) p; if (ac->data) { if (!(ac = create_composed_from_aux_data(ac->data))) { return NULL; } ac->data->type = type; return ac->data; } if (ac->event) { if (!(ac = create_composed_from_event(ac->aux, ac->event))) { return NULL; } ac->data->type = type; return ac->data; } return NULL; } static void service_decompose_free(aux_data_t *data) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (data && data->string_ptr) { free(data->string_ptr); } } /* XXX: taken from xc/lib/X11/Xlcint.h */ void _XRegisterFilterByType(Display *display, Window window, int start_type, int end_type, Bool (*filter)(Display *, Window, XEvent *, XPointer), XPointer client_data); void _XUnregisterFilter(Display *display, Window window, Bool (*filter)(Display *, Window, XEvent *, XPointer), XPointer client_data); static void service_register_X_filter(Display *display, Window window, int start_type, int end_type, Bool (*filter)(Display *, Window, XEvent *, XPointer), XPointer client_data) { #ifdef USE_XLIB filter_info_t *filter_info; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif for (filter_info = filter_info_list; filter_info; filter_info = filter_info->next) { if (filter_info->display == display && filter_info->window == window && filter_info->filter == filter && filter_info->client_data == client_data) { return; } } if (!(filter_info = malloc(sizeof(filter_info_t)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return; } filter_info->display = display; filter_info->window = window; filter_info->filter = filter; filter_info->client_data = client_data; filter_info->next = filter_info_list; filter_info_list = filter_info; _XRegisterFilterByType(display, window, start_type, end_type, filter, client_data); #endif } static void service_unregister_X_filter(Display *display, Window window, Bool (*filter)(Display *, Window, XEvent *, XPointer), XPointer client_data) { #ifdef USE_XLIB filter_info_t *filter_info; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif for (filter_info = filter_info_list; filter_info; filter_info = filter_info->next) { if (filter_info->display == display && filter_info->window == window && filter_info->filter == filter && filter_info->client_data == client_data) { filter_info->display = NULL; } } _XUnregisterFilter(display, window, filter, client_data); #endif } static Bool service_server(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return False; /* http://www.openi18n.org/subgroups/im/iiimf/aux/XAuxPrimitive.html#server_client */ } static Window service_client_window(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { return None; } return ((ui_window_t *)aux->iiimf->im.listener->self)->my_window; } static Window service_focus_window(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { return None; } return ((ui_window_t *)aux->iiimf->im.listener->self)->my_window; } static int service_screen_number(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { return -1; } return ((ui_window_t *)aux->iiimf->im.listener->self)->disp->screen; } static int service_point_screen(aux_t *aux, XPoint *point) { int x; int y; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (aux->iiimf == NULL) { point->x = -1; point->y = -1; return -1; } (*aux->iiimf->im.listener->get_spot)(aux->iiimf->im.listener->self, aux->iiimf->im.preedit.chars, aux->iiimf->im.preedit.segment_offset, &x, &y); point->x = (x > SHRT_MAX) ? SHRT_MAX : x; point->y = (y > SHRT_MAX) ? SHRT_MAX : y; return ((ui_window_t *)aux->iiimf->im.listener->self)->disp->screen; } static int service_point_caret_screen(aux_t *aux, XPoint *point) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return service_point_screen(aux, point); } static Bool service_get_conversion_mode(aux_t *aux) { #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif return aux->iiimf->on ? True : False; } static void service_set_conversion_mode(aux_t *aux, int on) { IIIMCF_event event; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (iiimcf_create_trigger_notify_event(on == 1 ? 1 : 0, &event) != IIIMF_STATUS_SUCCESS) { return; } if (iiimcf_forward_event(aux->iiimf->context, event) != IIIMF_STATUS_SUCCESS) { return; } im_iiimf_process_event(aux->iiimf); } static aux_t *service_aux_get_from_id(int im_id, int ic_id, IIIMP_card16 *aux_name, int aux_name_length) { aux_id_info_t *info = id_info_list; aux_t *aux = NULL; aux_im_data_t *im_data; #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif while (info) { if (info->im_id == im_id && info->ic_id == ic_id) { aux = info->aux; break; } info = bl_slist_next(info); } if (aux == NULL) { return NULL; } for (im_data = aux->im_data_list; im_data; im_data = im_data->next) { if (memcmp(aux_name, im_data->entry->dir.name.utf16str, im_data->entry->dir.name.len) == 0) { aux->im_data = im_data; return aux; } } if (!(im_data = create_im_data(aux->iiimf->context, (const IIIMP_card16 *)aux_name))) { return NULL; } im_data->next = aux->im_data_list; aux->im_data_list = im_data; aux->im_data = im_data; if (!im_data->entry->created) { if (!(*im_data->entry->dir.method->create)(aux)) { return NULL; } im_data->entry->created = 1; } return aux; } static aux_service_t aux_service = { service_setvalue, service_im_id, service_ic_id, service_data_set, service_data_get, service_display, service_window, service_point, service_point_caret, service_utf16_mb, service_mb_utf16, service_compose, service_compose_size, service_decompose, service_decompose_free, service_register_X_filter, service_unregister_X_filter, service_server, service_client_window, service_focus_window, service_screen_number, service_point_screen, service_point_caret_screen, service_get_conversion_mode, service_set_conversion_mode, service_getvalue, service_aux_get_from_id }; /* --- global functions --- */ void aux_init(IIIMCF_handle iiimcf_handle, ui_im_export_syms_t *export_syms, ef_parser_t *_parser_utf16) { const IIIMCF_object_descriptor *objdesc_list; const IIIMCF_object_descriptor **bin_objdesc_list = NULL; IIIMCF_downloaded_object * objs = NULL; int num_objs; int num_bin_objs; int i; if (initialized) { return; } #ifdef AUX_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif handle = iiimcf_handle; syms = export_syms; parser_utf16 = _parser_utf16; if (!(conv_iso88591 = (*syms->vt_char_encoding_conv_new)(VT_ISO8859_1))) { return; } initialized = 1; if (iiimcf_get_object_descriptor_list(handle, &num_objs, &objdesc_list) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " iiimcf_get_object_descriptor_list failed.\n"); #endif return; } bin_objdesc_list = alloca(sizeof(IIIMCF_object_descriptor*) * num_objs); objs = alloca(sizeof(IIIMCF_downloaded_object) * num_objs); if (!bin_objdesc_list || !objs) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " alloca failed.\n"); #endif return; } for (i = 0, num_bin_objs = 0; i < num_objs; i ++) { if (objdesc_list[i].predefined_id == IIIMP_IMATTRIBUTE_BINARY_GUI_OBJECT) { bin_objdesc_list[num_bin_objs] = &objdesc_list[i]; num_bin_objs ++; } } if (iiimcf_get_downloaded_objects(handle, num_bin_objs, bin_objdesc_list, objs) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "iiimcf_get_downloaded_objects failed\n"); #endif #ifdef ATOK12_HACK register_atok12_module(); #endif return; } for (i = 0; i < num_bin_objs; i ++) { const IIIMP_card16 *obj_name; u_char *file_name = NULL; if (iiimcf_get_downloaded_object_filename(objs[i], &obj_name) != IIIMF_STATUS_SUCCESS) { continue; } PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, conv_iso88591, (u_char*)obj_name, &file_name, strlen_utf16(obj_name) + 1); if (is_conf_file(file_name)) { bl_file_t *from; /* * [format] * --------------------------------------------- * # IIIM X auxiliary * * * : * : * * --------------------------------------------- */ if ((from = bl_file_open(file_name, "r"))) { char *line; size_t len; while ((line = bl_file_get_line(from, &len))) { char *aux_name; char *mod_name; if (*line == '#' || *line == '\n') { continue; } line[ len - 1] = '\0'; while (*line == ' ' || *line == '\t') { line ++; } aux_name = bl_str_sep(&line, " "); if (!aux_name || !line) { continue; } while (*line == ' ' || *line == '\t') { line ++; } mod_name = bl_str_chop_spaces(line); register_module_info(aux_name, mod_name); } bl_file_close(from); } } else /* !is_conf_file(file_name) */ { aux_module_t *module; if ((module = load_module(file_name))) { aux_entry_t *entry; int j; for (j = 0, entry = module->entries; j < module->num_entries; j ++, entry ++) { u_char *aux_name = NULL; PARSER_INIT_WITH_BOM(parser_utf16); im_convert_encoding(parser_utf16, conv_iso88591, (u_char*)entry->dir.name.utf16str, &aux_name, entry->dir.name.len + 1); register_module_info(aux_name, file_name); free(aux_name); } unload_module(module); } } free(file_name); } } void aux_quit(void) { aux_module_info_t *module_info = module_info_list; aux_id_info_t *id_info = id_info_list; aux_module_t *module; filter_info_t *filter_info; if (!initialized) { return; } while (module_info) { aux_module_info_t *unused = module_info; if (module_info->aux_name) { free(module_info->aux_name); } if (module_info->file_name) { free(module_info->file_name); } module_info = bl_slist_next(module_info); free(unused); } module_info_list = NULL; while (id_info) { aux_id_info_t *unused = id_info; free(unused); id_info = bl_slist_next(id_info); } id_info_list = NULL; for (module = module_list; module; ) { aux_module_t *unused; unused = module; module = module->next; unload_module(unused); } module_list = NULL; for (filter_info = filter_info_list; filter_info; ) { filter_info_t *unused; if (filter_info->display) { /* hack */ _XUnregisterFilter(filter_info->display, filter_info->window, filter_info->filter, filter_info->client_data); } unused = filter_info; filter_info = filter_info->next; free(unused); } filter_info_list = NULL; if (conv_iso88591) { (*conv_iso88591->delete)(conv_iso88591); conv_iso88591 = NULL; } initialized = 0; } aux_t *aux_new(im_iiimf_t *iiimf) { aux_id_info_t *id_info = NULL; aux_t *aux = NULL; if (!(id_info = malloc(sizeof(aux_id_info_t)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } if (!(aux = malloc(sizeof(aux_t)))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } if (iiimcf_get_im_id(handle, &id_info->im_id) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "iiimcf_get_im_id failed.\n"); #endif goto error; } if (iiimcf_get_ic_id(iiimf->context, &id_info->ic_id) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "iiimcf_get_ic_id failed.\n"); #endif goto error; } id_info->aux = aux; aux->iiimf = iiimf; aux->service = &aux_service; aux->im_data = NULL; aux->im_data_list = NULL; bl_slist_insert_head(id_info_list, id_info); return aux; error: if (aux) { free(aux); } if (id_info) { free(id_info); } return NULL; } void aux_event(aux_t *aux, IIIMCF_event event, IIIMCF_event_type type) { aux_im_data_t *im_data; aux_composed_t ac; const IIIMP_card16 *aux_name; if (iiimcf_get_aux_event_value(event, &aux_name, NULL, NULL, NULL, NULL, NULL) != IIIMF_STATUS_SUCCESS) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " iiimcf_get_aux_event_value() failed\n"); #endif return; } for (im_data = aux->im_data_list; im_data; im_data = im_data->next) { if (memcmp(aux_name, im_data->entry->dir.name.utf16str, im_data->entry->dir.name.len) == 0) { aux->im_data = im_data; } } if (im_data == NULL) { if (!(im_data = create_im_data(aux->iiimf->context, aux_name))) { return; } im_data->next = aux->im_data_list; aux->im_data_list = im_data; aux->im_data = im_data; } if (!im_data->entry->created) { if ((*im_data->entry->dir.method->create)(aux) == False) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "aux object internal error. [create]\n"); #endif return; } im_data->entry->created = 1; } ac.len = 0; ac.aux = aux; ac.event = event; ac.data = NULL; switch(type) { case IIIMCF_EVENT_TYPE_AUX_START: if (im_data->entry->dir.method->start) { if ((*im_data->entry->dir.method->start)(aux, (XPointer)&ac, 0) == False) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "aux object internal error. [start]\n"); #endif } } break; case IIIMCF_EVENT_TYPE_AUX_DRAW: if (im_data->entry->dir.method->draw) { if ((*im_data->entry->dir.method->draw)(aux, (XPointer)&ac, 0) == False) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "aux object internal error. [draw]\n"); #endif } } break; #if 0 case IIIMCF_EVENT_TYPE_AUX_SETVALUES: /* XXX */ break; #endif case IIIMCF_EVENT_TYPE_AUX_DONE: if (im_data->entry->dir.method->done) { if ((*im_data->entry->dir.method->done)(aux, (XPointer)&ac, 0) == False) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "aux object internal error. [done]\n"); #endif } } break; #ifdef HAVE_AUX_GETVALUES_EVENT case IIIMCF_EVENT_TYPE_AUX_GETVALUES: if (im_data->entry->dir.method->getvalues_reply) { if ((*im_data->entry->dir.method->getvalues_reply)(aux, (XPointer) &ac, 0) == False) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG "aux object internal error. [getvalues_reply]\n"); #endif } } break; #endif default: break; } } void aux_set_focus(aux_t *aux) { aux_im_data_t *im_data; for (im_data = aux->im_data_list; im_data; im_data = im_data->next) { if (im_data->entry->if_version >= AUX_IF_VERSION_2 && im_data->entry->dir.method->set_icfocus) { aux->im_data = im_data; (*im_data->entry->dir.method->set_icfocus)(aux); } } } void aux_unset_focus(aux_t *aux) { aux_im_data_t *im_data; for (im_data = aux->im_data_list; im_data; im_data = im_data->next) { if (im_data->entry->if_version >= AUX_IF_VERSION_2 && im_data->entry->dir.method->unset_icfocus) { aux->im_data = im_data; (*im_data->entry->dir.method->unset_icfocus)(aux); } } } void aux_delete(aux_t *aux) { aux_id_info_t *info = id_info_list; aux_im_data_t *im_data; aux->iiimf = NULL; for (im_data = aux->im_data_list; im_data;) { aux_im_data_t *unused; if (im_data->entry->if_version >= AUX_IF_VERSION_2 && im_data->entry->dir.method->destroy_ic && im_data->entry->created) { aux->im_data = im_data; (*im_data->entry->dir.method->destroy_ic)(aux); } unused = im_data; im_data = im_data->next; free(unused); } while (info) { if (info->aux == aux) { bl_slist_remove(id_info_list, info); free(info); break; } } free(aux); } mlterm-3.8.4/inputmethod/iiimf/keymap.c010064400017600000144000000443331321054731300166210ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * im_iiimf_keymap.c - IIIMF plugin for mlterm (key mapping part) * * Copyright 2005 Seiichi SATO */ #include /* HAVE_STDINT_H */ #include #include int xksym_to_iiimfkey(KeySym ksym, IIIMP_int32 *kchar, IIIMP_int32 *kcode) { switch (ksym) { /* Latin 1 */ case ' ' /* XK_space */: *kcode = IIIMF_KEYCODE_SPACE; *kchar = 0x0020; break; case '!' /* XK_exclam */: *kcode = IIIMF_KEYCODE_EXCLAMATION_MARK; *kchar = 0x0021; break; case '\"' /* XK_quotedbl */: *kcode = IIIMF_KEYCODE_QUOTEDBL; *kchar = 0x0022; break; case '#' /* XK_numbersign */: *kcode = IIIMF_KEYCODE_NUMBER_SIGN; *kchar = 0x0023; break; case '$' /* XK_dollar */: *kcode = IIIMF_KEYCODE_DOLLAR; *kchar = 0x0024; break; case '%' /* XK_percent */: *kcode = IIIMF_KEYCODE_5; /* XXX */ *kchar = 0x0025; break; case '&' /* XK_ampersand */: *kcode = IIIMF_KEYCODE_AMPERSAND; *kchar = 0x0026; break; case '\'' /* XK_apostrophe */: /* case XK_quoteright: */ *kcode = IIIMF_KEYCODE_QUOTE; *kchar = 0x0027; break; case '(' /* XK_parenleft */: *kcode = IIIMF_KEYCODE_LEFT_PARENTHESIS; *kchar = 0x0028; break; case ')' /* XK_parenright */: *kcode = IIIMF_KEYCODE_RIGHT_PARENTHESIS; *kchar = 0x0029; break; case '*' /* XK_asterisk */: *kcode = IIIMF_KEYCODE_ASTERISK; *kchar = 0x002a; break; case '+' /* XK_plus */: *kcode = IIIMF_KEYCODE_PLUS; *kchar = 0x002b; break; case ',' /* XK_comma */: *kcode = IIIMF_KEYCODE_COMMA; *kchar = 0x002c; break; case '-' /* XK_minus */: *kcode = IIIMF_KEYCODE_MINUS; *kchar = 0x002d; break; case '.' /* XK_period */: *kcode = IIIMF_KEYCODE_PERIOD; *kchar = 0x002e; break; case '/' /* XK_slash */: *kcode = IIIMF_KEYCODE_SLASH; *kchar = 0x002f; break; case '0' /* XK_0 */: *kcode = IIIMF_KEYCODE_0; *kchar = 0x0030; break; case '1' /* XK_1 */: *kcode = IIIMF_KEYCODE_1; *kchar = 0x0031; break; case '2' /* XK_2 */: *kcode = IIIMF_KEYCODE_2; *kchar = 0x0032; break; case '3' /* XK_3 */: *kcode = IIIMF_KEYCODE_3; *kchar = 0x0033; break; case '4' /* XK_4 */: *kcode = IIIMF_KEYCODE_4; *kchar = 0x0034; break; case '5' /* XK_5 */: *kcode = IIIMF_KEYCODE_5; *kchar = 0x0035; break; case '6' /* XK_6 */: *kcode = IIIMF_KEYCODE_6; *kchar = 0x0036; break; case '7' /* XK_7 */: *kcode = IIIMF_KEYCODE_7; *kchar = 0x0037; break; case '8' /* XK_8 */: *kcode = IIIMF_KEYCODE_8; *kchar = 0x0038; break; case '9' /* XK_9 */: *kcode = IIIMF_KEYCODE_9; *kchar = 0x0039; break; case ':' /* XK_colon */: *kcode = IIIMF_KEYCODE_COLON; *kchar = 0x003a; break; case ';' /* XK_semicolon */: *kcode = IIIMF_KEYCODE_SEMICOLON; *kchar = 0x003b; break; case '<' /* XK_less */: *kcode = IIIMF_KEYCODE_LESS; *kchar = 0x003c; break; case '=' /* XK_equal */: *kcode = IIIMF_KEYCODE_EQUALS; /* XXX */ *kchar = 0x003d; break; case '>' /* XK_greater */: *kcode = IIIMF_KEYCODE_GREATER; *kchar = 0x003e; break; case '?' /* XK_question */: *kcode = IIIMF_KEYCODE_SLASH; /* XXX */ *kchar = 0x003f; break; case '@' /* XK_at */: *kcode = IIIMF_KEYCODE_AT; *kchar = 0x0040; break; case 'A' /* XK_A */: *kcode = IIIMF_KEYCODE_A; *kchar = 0x0041; break; case 'B' /* XK_B */: *kcode = IIIMF_KEYCODE_B; *kchar = 0x0042; break; case 'C' /* XK_C */: *kcode = IIIMF_KEYCODE_C; *kchar = 0x0043; break; case 'D' /* XK_D */: *kcode = IIIMF_KEYCODE_D; *kchar = 0x0044; break; case 'E' /* XK_E */: *kcode = IIIMF_KEYCODE_E; *kchar = 0x0045; break; case 'F' /* XK_F */: *kcode = IIIMF_KEYCODE_F; *kchar = 0x0046; break; case 'G' /* XK_G */: *kcode = IIIMF_KEYCODE_G; *kchar = 0x0047; break; case 'H' /* XK_H */: *kcode = IIIMF_KEYCODE_H; *kchar = 0x0048; break; case 'I' /* XK_I */: *kcode = IIIMF_KEYCODE_I; *kchar = 0x0049; break; case 'J' /* XK_J */: *kcode = IIIMF_KEYCODE_J; *kchar = 0x004a; break; case 'K' /* XK_K */: *kcode = IIIMF_KEYCODE_K; *kchar = 0x004b; break; case 'L' /* XK_L */: *kcode = IIIMF_KEYCODE_L; *kchar = 0x004c; break; case 'M' /* XK_M */: *kcode = IIIMF_KEYCODE_M; *kchar = 0x004d; break; case 'N' /* XK_N */: *kcode = IIIMF_KEYCODE_N; *kchar = 0x004e; break; case 'O' /* XK_O */: *kcode = IIIMF_KEYCODE_O; *kchar = 0x004f; break; case 'P' /* XK_P */: *kcode = IIIMF_KEYCODE_P; *kchar = 0x0050; break; case 'Q' /* XK_Q */: *kcode = IIIMF_KEYCODE_Q; *kchar = 0x0051; break; case 'R' /* XK_R */: *kcode = IIIMF_KEYCODE_R; *kchar = 0x0052; break; case 'S' /* XK_S */: *kcode = IIIMF_KEYCODE_S; *kchar = 0x0053; break; case 'T' /* XK_T */: *kcode = IIIMF_KEYCODE_T; *kchar = 0x0054; break; case 'U' /* XK_U */: *kcode = IIIMF_KEYCODE_U; *kchar = 0x0055; break; case 'V' /* XK_V */: *kcode = IIIMF_KEYCODE_V; *kchar = 0x0056; break; case 'W' /* XK_W */: *kcode = IIIMF_KEYCODE_W; *kchar = 0x0057; break; case 'X' /* XK_X */: *kcode = IIIMF_KEYCODE_X; *kchar = 0x0058; break; case 'Y' /* XK_Y */: *kcode = IIIMF_KEYCODE_Y; *kchar = 0x0059; break; case 'Z' /* XK_Z */: *kcode = IIIMF_KEYCODE_Z; *kchar = 0x005a; break; case '[' /* XK_bracketleft */: *kcode = IIIMF_KEYCODE_OPEN_BRACKET; *kchar = 0x005b; break; case '\\' /* XK_backslash */: *kcode = IIIMF_KEYCODE_BACK_SLASH; *kchar = 0x005c; break; case ']' /* XK_bracketright */: *kcode = IIIMF_KEYCODE_CLOSE_BRACKET; *kchar = 0x005d; break; case '^' /* XK_asciicircum */: *kcode = IIIMF_KEYCODE_CIRCUMFLEX; *kchar = 0x005e; break; case '_' /* XK_underscore */: *kcode = IIIMF_KEYCODE_UNDERSCORE; *kchar = 0x005f; break; case '`' /* XK_grave */: /* case XK_quoteleft: */ *kcode = IIIMF_KEYCODE_BACK_QUOTE; /* XXX */ *kchar = 0x0060; break; case 'a' /* XK_a */: *kcode = IIIMF_KEYCODE_A; *kchar = 0x0061; break; case 'b' /* XK_b */: *kcode = IIIMF_KEYCODE_B; *kchar = 0x0062; break; case 'c' /* XK_c */: *kcode = IIIMF_KEYCODE_C; *kchar = 0x0063; break; case 'd' /* XK_d */: *kcode = IIIMF_KEYCODE_D; *kchar = 0x0064; break; case 'e' /* XK_e */: *kcode = IIIMF_KEYCODE_E; *kchar = 0x0065; break; case 'f' /* XK_f */: *kcode = IIIMF_KEYCODE_F; *kchar = 0x0066; break; case 'g' /* XK_g */: *kcode = IIIMF_KEYCODE_G; *kchar = 0x0067; break; case 'h' /* XK_h */: *kcode = IIIMF_KEYCODE_H; *kchar = 0x0068; break; case 'i' /* XK_i */: *kcode = IIIMF_KEYCODE_I; *kchar = 0x0069; break; case 'j' /* XK_j */: *kcode = IIIMF_KEYCODE_J; *kchar = 0x006a; break; case 'k' /* XK_k */: *kcode = IIIMF_KEYCODE_K; *kchar = 0x006b; break; case 'l' /* XK_l */: *kcode = IIIMF_KEYCODE_L; *kchar = 0x006c; break; case 'm' /* XK_m */: *kcode = IIIMF_KEYCODE_M; *kchar = 0x006d; break; case 'n' /* XK_n */: *kcode = IIIMF_KEYCODE_N; *kchar = 0x006e; break; case 'o' /* XK_o */: *kcode = IIIMF_KEYCODE_O; *kchar = 0x006f; break; case 'p' /* XK_p */: *kcode = IIIMF_KEYCODE_P; *kchar = 0x0070; break; case 'q' /* XK_q */: *kcode = IIIMF_KEYCODE_Q; *kchar = 0x0071; break; case 'r' /* XK_r */: *kcode = IIIMF_KEYCODE_R; *kchar = 0x0072; break; case 's' /* XK_s */: *kcode = IIIMF_KEYCODE_S; *kchar = 0x0073; break; case 't' /* XK_t */: *kcode = IIIMF_KEYCODE_T; *kchar = 0x0074; break; case 'u' /* XK_u */: *kcode = IIIMF_KEYCODE_U; *kchar = 0x0075; break; case 'v' /* XK_v */: *kcode = IIIMF_KEYCODE_V; *kchar = 0x0076; break; case 'w' /* XK_w */: *kcode = IIIMF_KEYCODE_W; *kchar = 0x0077; break; case 'x' /* XK_x */: *kcode = IIIMF_KEYCODE_X; *kchar = 0x0078; break; case 'y' /* XK_y */: *kcode = IIIMF_KEYCODE_Y; *kchar = 0x0079; break; case 'z' /* XK_z */: *kcode = IIIMF_KEYCODE_Z; *kchar = 0x007a; break; case '{' /* XK_braceleft */: *kcode = IIIMF_KEYCODE_BRACELEFT; *kchar = 0x007b; break; case '|' /* XK_bar */: *kcode = IIIMF_KEYCODE_BACK_SLASH; /* XXX */ *kchar = 0x007c; break; case '}' /* XK_braceright */: *kcode = IIIMF_KEYCODE_BRACERIGHT; *kchar = 0x007d; break; case '~' /* XK_asciitilde */: *kcode = IIIMF_KEYCODE_BACK_QUOTE; /* XXX */ *kchar = 0x007e; break; case 0xa0 /* XK_nobreakspace */: *kcode = IIIMF_KEYCODE_UNDEFINED; /* FIXME */ *kchar = 0x00a0; break; case 0xa1 /* XK_exclamdown */: *kcode = IIIMF_KEYCODE_INVERTED_EXCLAMATION_MARK; *kchar = 0x00a1; break; case 0xa2 /* XK_cent */: case 0xa3 /* XK_sterling */: case 0xa4 /* XK_currency */: case 0xa5 /* XK_yen */: case 0xa6 /* XK_brokenbar */: case 0xa7 /* XK_section */: case 0xa8 /* XK_diaeresis */: case 0xa9 /* XK_copyright */: case 0xaa /* XK_ordfeminine */: case 0xab /* XK_guillemotleft */: case 0xac /* XK_notsign */: case 0xad /* XK_hyphen */: case 0xae /* XK_registered */: case 0xaf /* XK_macron */: case 0xb0 /* XK_degree */: case 0xb1 /* XK_plusminus */: case 0xb2 /* XK_twosuperior */: case 0xb3 /* XK_threesuperior */: case 0xb4 /* XK_acute */: case 0xb5 /* XK_mu */: case 0xb6 /* XK_paragraph */: case 0xb7 /* XK_periodcentered */: case 0xb8 /* XK_cedilla */: case 0xb9 /* XK_onesuperior */: case 0xba /* XK_masculine */: case 0xbb /* XK_guillemotright */: case 0xbc /* XK_onequarter */: case 0xbd /* XK_onehalf */: case 0xbe /* XK_threequarters */: case 0xbf /* XK_questiondown */: case 0xc0 /* XK_Agrave */: case 0xc1 /* XK_Aacute */: case 0xc2 /* XK_Acircumflex */: case 0xc3 /* XK_Atilde */: case 0xc4 /* XK_Adiaeresis */: case 0xc5 /* XK_Aring */: case 0xc6 /* XK_AE */: case 0xc7 /* XK_Ccedilla */: case 0xc8 /* XK_Egrave */: case 0xc9 /* XK_Eacute */: case 0xca /* XK_Ecircumflex */: case 0xcb /* XK_Ediaeresis */: case 0xcc /* XK_Igrave */: case 0xcd /* XK_Iacute */: case 0xce /* XK_Icircumflex */: case 0xcf /* XK_Idiaeresis */: case 0xd0 /* XK_ETH, XK_Eth */: case 0xd1 /* XK_Ntilde */: case 0xd2 /* XK_Ograve */: case 0xd3 /* XK_Oacute */: case 0xd4 /* XK_Ocircumflex */: case 0xd5 /* XK_Otilde */: case 0xd6 /* XK_Odiaeresis */: case 0xd7 /* XK_multiply */: case 0xd8 /* XK_Ooblique, XK_Oslash */: case 0xd9 /* XK_Ugrave */: case 0xda /* XK_Uacute */: case 0xdb /* XK_Ucircumflex */: case 0xdc /* XK_Udiaeresis */: case 0xdd /* XK_Yacute */: case 0xde /* XK_THORN, XK_Thorn */: case 0xdf /* XK_ssharp */: case 0xe0 /* XK_agrave */: case 0xe1 /* XK_aacute */: case 0xe2 /* XK_acircumflex */: case 0xe3 /* XK_atilde */: case 0xe4 /* XK_adiaeresis */: case 0xe5 /* XK_aring */: case 0xe6 /* XK_ae */: case 0xe7 /* XK_ccedilla */: case 0xe8 /* XK_egrave */: case 0xe9 /* XK_eacute */: case 0xea /* XK_ecircumflex */: case 0xeb /* XK_ediaeresis */: case 0xec /* XK_igrave */: case 0xed /* XK_iacute */: case 0xee /* XK_icircumflex */: case 0xef /* XK_idiaeresis */: case 0xf0 /* XK_eth */: case 0xf1 /* XK_ntilde */: case 0xf2 /* XK_ograve */: case 0xf3 /* XK_oacute */: case 0xf4 /* XK_ocircumflex */: case 0xf5 /* XK_otilde */: case 0xf6 /* XK_odiaeresis */: case 0xf7 /* XK_division */: case 0xf8 /* XK_oslash, XK_ooblique */: case 0xf9 /* XK_ugrave */: case 0xfa /* XK_uacute */: case 0xfb /* XK_ucircumflex */: case 0xfc /* XK_udiaeresis */: case 0xfd /* XK_yacute */: case 0xfe /* XK_thorn */: case 0xff /* XK_ydiaeresis */: *kcode = IIIMF_KEYCODE_UNDEFINED; *kchar = ksym; break; /* * TODO: Latin[23489], Katakana, Arabic, Cyrillic, Greek, Technical, Special * Publishing, APL, Hebrew, Thai, Korean, American, Georgian, Azeri, * Vietnamese, */ /* TTY Functions */ case XK_BackSpace: *kcode = IIIMF_KEYCODE_BACK_SPACE; break; case XK_Tab: *kcode = IIIMF_KEYCODE_TAB; break; case XK_Clear: *kcode = IIIMF_KEYCODE_CLEAR; break; case XK_Return: *kcode = IIIMF_KEYCODE_ENTER; break; case XK_Pause: *kcode = IIIMF_KEYCODE_PAUSE; break; case XK_Scroll_Lock: *kcode = IIIMF_KEYCODE_SCROLL_LOCK; break; case XK_Escape: *kcode = IIIMF_KEYCODE_ESCAPE; break; case XK_Delete: *kcode = IIIMF_KEYCODE_DELETE; break; /* * TODO: * - International & multi-key character composition * - Japanese keyboard support */ /* Cursor control & motion */ case XK_Home: *kcode = IIIMF_KEYCODE_HOME; break; case XK_Left: *kcode = IIIMF_KEYCODE_LEFT; break; case XK_Up: *kcode = IIIMF_KEYCODE_UP; break; case XK_Right: *kcode = IIIMF_KEYCODE_RIGHT; break; case XK_Down: *kcode = IIIMF_KEYCODE_DOWN; break; case XK_Prior: /* case XK_Page_Up:*/ *kcode = IIIMF_KEYCODE_PAGE_UP; break; case XK_Next: /* case XK_Page_Down:*/ *kcode = IIIMF_KEYCODE_PAGE_DOWN; break; case XK_End: *kcode = IIIMF_KEYCODE_END; break; case XK_Begin: *kcode = IIIMF_KEYCODE_UNDEFINED; break; /* * TODO * - Misc Functions */ /* - Keypad Functions, keypad numbers cleverly chosen to map to ascii */ #ifdef XK_KP_Space case XK_KP_Space: *kcode = IIIMF_KEYCODE_SPACE; break; #endif #ifdef XK_KP_Tab case XK_KP_Tab: *kcode = IIIMF_KEYCODE_TAB; break; #endif #ifdef XK_KP_Enter case XK_KP_Enter: *kcode = IIIMF_KEYCODE_ENTER; break; #endif case XK_KP_F1: *kcode = IIIMF_KEYCODE_F1; break; case XK_KP_F2: *kcode = IIIMF_KEYCODE_F2; break; case XK_KP_F3: *kcode = IIIMF_KEYCODE_F3; break; case XK_KP_F4: *kcode = IIIMF_KEYCODE_F4; break; case XK_KP_Home: *kcode = IIIMF_KEYCODE_HOME; break; case XK_KP_Left: *kcode = IIIMF_KEYCODE_LEFT; break; case XK_KP_Up: *kcode = IIIMF_KEYCODE_UP; break; case XK_KP_Right: *kcode = IIIMF_KEYCODE_RIGHT; break; case XK_KP_Down: *kcode = IIIMF_KEYCODE_DOWN; break; case XK_KP_Prior: /* case XK_KP_Page_Up: */ *kcode = IIIMF_KEYCODE_PAGE_UP; break; case XK_KP_Next: /* case XK_KP_Page_Down: */ *kcode = IIIMF_KEYCODE_PAGE_DOWN; break; case XK_KP_End: *kcode = IIIMF_KEYCODE_END; break; #if 0 case XK_KP_Begin: case XK_KP_Insert: *kcode = IIIMF_KEYCODE_UNDEFINED; break; #endif case XK_KP_Delete: *kcode = IIIMF_KEYCODE_DELETE; break; #ifdef XK_KP_Equal case XK_KP_Equal: *kcode = IIIMF_KEYCODE_EQUALS; /* XXX */ *kchar = 0x003d; break; #endif #if 0 case XK_KP_Multiply: case XK_KP_Add: case XK_KP_Separator: case XK_KP_Subtract: case XK_KP_Decimal: case XK_KP_Divide: *kcode = IIIMF_KEYCODE_UNDEFINED; break; #endif case XK_KP_0: *kcode = IIIMF_KEYCODE_0; *kchar = 0x0030; break; case XK_KP_1: *kcode = IIIMF_KEYCODE_1; *kchar = 0x0031; break; case XK_KP_2: *kcode = IIIMF_KEYCODE_2; *kchar = 0x0032; break; case XK_KP_3: *kcode = IIIMF_KEYCODE_3; *kchar = 0x0033; break; case XK_KP_4: *kcode = IIIMF_KEYCODE_4; *kchar = 0x0034; break; case XK_KP_5: *kcode = IIIMF_KEYCODE_5; *kchar = 0x0035; break; case XK_KP_6: *kcode = IIIMF_KEYCODE_6; *kchar = 0x0036; break; case XK_KP_7: *kcode = IIIMF_KEYCODE_7; *kchar = 0x0037; break; case XK_KP_8: *kcode = IIIMF_KEYCODE_8; *kchar = 0x0038; break; case XK_KP_9: *kcode = IIIMF_KEYCODE_9; *kchar = 0x0039; break; /* Auxiliary Functions */ case XK_F1: *kcode = IIIMF_KEYCODE_F1; break; case XK_F2: *kcode = IIIMF_KEYCODE_F2; break; case XK_F3: *kcode = IIIMF_KEYCODE_F3; break; case XK_F4: *kcode = IIIMF_KEYCODE_F4; break; case XK_F5: *kcode = IIIMF_KEYCODE_F5; break; case XK_F6: *kcode = IIIMF_KEYCODE_F6; break; case XK_F7: *kcode = IIIMF_KEYCODE_F7; break; case XK_F8: *kcode = IIIMF_KEYCODE_F8; break; case XK_F9: *kcode = IIIMF_KEYCODE_F9; break; case XK_F10: *kcode = IIIMF_KEYCODE_F10; break; case XK_F11: /* case XK_L1: */ *kcode = IIIMF_KEYCODE_F11; break; case XK_F12: /* case XK_L2: */ *kcode = IIIMF_KEYCODE_F12; break; #ifdef XK_Kanji case XK_Kanji: *kcode = IIIMF_KEYCODE_KANJI; break; #endif case XK_Muhenkan: *kcode = IIIMF_KEYCODE_NONCONVERT; break; case XK_Henkan_Mode: #ifdef __linux__ *kcode = IIIMF_KEYCODE_CONVERT; #else *kcode = IIIMF_KEYCODE_KANJI; #endif break; #ifdef XK_Hiragana case XK_Hiragana: *kcode = IIIMF_KEYCODE_HIRAGANA; break; #endif #ifdef XK_Katakana case XK_Katakana: *kcode = IIIMF_KEYCODE_KATAKANA; break; #endif case XK_Zenkaku_Hankaku: *kcode = IIIMF_KEYCODE_KANJI; break; #if 0 case XK_F13: case XK_L3: case XK_F14: case XK_L4: case XK_F15: case XK_L5: case XK_F16: case XK_L6: case XK_F17: case XK_L7: case XK_F18: case XK_L8: case XK_F19: case XK_L9: case XK_F20: case XK_L10: case XK_F21: case XK_R1: case XK_F22: case XK_R2: case XK_F23: case XK_R3: case XK_F24: case XK_R4: case XK_F25: case XK_R5: case XK_F26: case XK_R6: case XK_F27: case XK_R7: case XK_F28: case XK_R8: case XK_F29: case XK_R9: case XK_F30: case XK_R10: case XK_F31: case XK_R11: case XK_F32: case XK_R12: case XK_F33: case XK_R13: case XK_F34: case XK_R14: case XK_F35: case XK_R15: *kcode = IIIMF_KEYCODE_UNDEFINED; break; #endif /* * TODO * - Modifiers * - ISO 9995 Function and Modifier Keys * - 3270 Terminal Keys */ default: *kcode = IIIMF_KEYCODE_UNDEFINED; return 0; } return 1; } #if 0 /* not implemented yet */ int xksym_to_iiimfkey_kana(KeySym ksym, IIIMP_int32 *kchar, IIIMP_int32 *kcode) { return 0; } int xksym_to_iiimfkey_kana_shift(KeySym ksym, IIIMP_int32 *kchar, IIIMP_int32 *kcode) { return 0; } #endif mlterm-3.8.4/inputmethod/iiimf/keymap.h010064400017600000144000000006131321054731300166170ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __IM_IIIMF_KEYMAP_H__ #define __IM_IIIMF_KEYMAP_H__ int xksym_to_iiimfkey(KeySym ksym, IIIMP_int32 *kchar, IIIMP_int32 *kcode); #if 0 int xksym_to_iiimfkey_kana(KeySym ksym, IIIMP_int32 *kchar, IIIMP_int32 *kcode); int xksym_to_iiimfkey_kana_shift(KeySym ksym, IIIMP_int32 *kchar, IIIMP_int32 *kcode); #endif #endif mlterm-3.8.4/inputmethod/m17nlib004075500017600000144000000000001321054731300152605ustar kenusersmlterm-3.8.4/inputmethod/m17nlib/im_m17nlib.c010064400017600000144000000721761321054731300174530ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * im_m17nlib.c - input method plugin using m17n library * * Copyright (C) 2004 Seiichi SATO * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of any author may not be used to endorse or promote * products derived from this software without their specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * * $Id$ */ #include /* malloc/alloca/free */ #include /* bl_str_alloca_dup bl_snprintf bl_str_sep*/ #include /* bl_get_lang */ #include #include /* merror_code */ #include #include "../im_common.h" #include "../im_info.h" #if 0 #define IM_M17NLIB_DEBUG 1 #endif #define MAX_BYTES_PER_CHAR 4 /* FIXME */ #define MAX_BYTES_ESC_SEQUEACE 5 /* FIXME */ #define MAX_BYTES(n) (((n)*MAX_BYTES_PER_CHAR) + MAX_BYTES_ESC_SEQUEACE + 1) typedef struct im_m17nlib { /* input method common object */ ui_im_t im; MInputMethod *input_method; MInputContext *input_context; MConverter *mconverter; /* MText -> u_char */ ef_parser_t *parser_term; /* for term encoding */ ef_conv_t *conv; } im_m17nlib_t; /* --- static variables --- */ static int ref_count = 0; static int initialized = 0; static ef_parser_t *parser_ascii = NULL; /* mlterm internal symbols */ static ui_im_export_syms_t *syms = NULL; /* --- static functions --- */ #ifdef IM_M17NLIB_DEBUG static void show_available_ims(void) { MPlist *im_list; MSymbol sym_im; int num_ims; int i; sym_im = msymbol("input-method"); im_list = mdatabase_list(sym_im, Mnil, Mnil, Mnil); num_ims = mplist_length(im_list); for (i = 0; i < num_ims; i++, im_list = mplist_next(im_list)) { MDatabase *db; MSymbol *tag; db = mplist_value(im_list); tag = mdatabase_tag(db); printf("%d: %s(%s)\n", i, msymbol_name(tag[2]), msymbol_name(tag[1])); } m17n_object_unref(im_list); } #endif #ifndef USE_XLIB #undef XKeysymToString static char *XKeysymToString(KeySym ksym) { /* Latin 1 */ if (0x20 <= ksym && ksym <= 0x7e) { static char str[2]; str[0] = ksym; str[1] = '\0'; return str; } switch (ksym) { /* TTY Functions */ case XK_BackSpace: return "Backspace"; case XK_Tab: return "Tab"; case XK_Return: return "Return"; case XK_Escape: return "Escape"; case XK_Delete: return "Delete"; #ifdef XK_Multi_key /* International & multi-key character composition */ case XK_Multi_key: return "Multi_key"; #endif /* Japanese keyboard support */ case XK_Muhenkan: return "Muhenkan"; case XK_Henkan_Mode: return "Henkan_Mode"; case XK_Zenkaku_Hankaku: return "Zenkaku_Hankaku"; case XK_Hiragana_Katakana: return "Hiragana_Katakana"; /* Cursor control & motion */ case XK_Home: return "Home"; case XK_Left: return "Left"; case XK_Up: return "Up"; case XK_Right: return "Right"; case XK_Down: return "Down"; case XK_Prior: return "Prior"; case XK_Next: return "Next"; case XK_End: return "End"; case XK_F1: return "F1"; case XK_F2: return "F2"; case XK_F3: return "F3"; case XK_F4: return "F4"; case XK_F5: return "F5"; case XK_F6: return "F6"; case XK_F7: return "F7"; case XK_F8: return "F8"; case XK_F9: return "F9"; case XK_F10: return "F10"; case XK_F11: return "F11"; case XK_F12: return "F12"; case XK_F13: return "F13"; case XK_F14: return "F14"; case XK_F15: return "F15"; case XK_F16: return "F16"; case XK_F17: return "F17"; case XK_F18: return "F18"; case XK_F19: return "F19"; case XK_F20: return "F20"; case XK_F21: return "F21"; case XK_F22: return "F22"; case XK_F23: return "F23"; case XK_F24: return "F24"; #ifdef XK_F25 case XK_F25: return "F25"; case XK_F26: return "F26"; case XK_F27: return "F27"; case XK_F28: return "F28"; case XK_F29: return "F29"; case XK_F30: return "F30"; case XK_F31: return "F31"; case XK_F32: return "F32"; case XK_F33: return "F33"; case XK_F34: return "F34"; case XK_F35: return "F35"; #endif #ifdef XK_KP_Space case XK_KP_Space: return ' '; #endif #ifdef XK_KP_Tab case XK_KP_Tab: return "Tab"; #endif #ifdef XK_KP_Enter case XK_KP_Enter: return "Return"; #endif case XK_KP_F1: return "F1"; case XK_KP_F2: return "F2"; case XK_KP_F3: return "F3"; case XK_KP_F4: return "F4"; case XK_KP_Home: return "Home"; case XK_KP_Left: return "Left"; case XK_KP_Up: return "Up"; case XK_KP_Right: return "Right"; case XK_KP_Down: return "Down"; case XK_KP_Prior: return "Prior"; case XK_KP_Next: return "Next"; case XK_KP_End: return "End"; case XK_KP_Delete: return "Delete"; #ifdef XK_KP_Equal case XK_KP_Equal: return "="; #endif case XK_KP_Multiply: return "*"; case XK_KP_Add: return "+"; case XK_KP_Separator: return ","; case XK_KP_Subtract: return "-"; case XK_KP_Decimal: return "."; case XK_KP_Divide: return "/"; /* keypad numbers */ case XK_KP_0: return "0"; case XK_KP_1: return "1"; case XK_KP_2: return "2"; case XK_KP_3: return "3"; case XK_KP_4: return "4"; case XK_KP_5: return "5"; case XK_KP_6: return "6"; case XK_KP_7: return "7"; case XK_KP_8: return "8"; case XK_KP_9: return "9"; default: return NULL; } } #endif static MSymbol xksym_to_msymbol(im_m17nlib_t *m17nlib, KeySym ksym, u_int state) { char mod[13] = ""; char *key; char *str; int filled_len = 0; size_t len; int is_shift; int is_lock; int is_ctl; int is_alt; int is_meta; int is_super; int is_hyper; if (IsModifierKey(ksym)) { return Mnil; } (*m17nlib->im.listener->compare_key_state_with_modmap)(m17nlib->im.listener->self, state, &is_shift, &is_lock, &is_ctl, &is_alt, &is_meta, NULL, &is_super, &is_hyper); /* Latin 1 */ if (0x20 <= ksym && ksym <= 0x7e) { char buf[2] = " "; buf[0] = ksym; if (is_shift && ('a' <= buf[0] && buf[0] <= 'z')) { buf[0] += ('A' - 'a'); is_shift = 0; } return msymbol(buf); } if (is_shift) filled_len += bl_snprintf(&mod[filled_len], sizeof(mod) - filled_len, "S-"); if (is_ctl) filled_len += bl_snprintf(&mod[filled_len], sizeof(mod) - filled_len, "C-"); if (is_alt) filled_len += bl_snprintf(&mod[filled_len], sizeof(mod) - filled_len, "A-"); if (is_meta) filled_len += bl_snprintf(&mod[filled_len], sizeof(mod) - filled_len, "M-"); if (is_super) filled_len += bl_snprintf(&mod[filled_len], sizeof(mod) - filled_len, "s-"); if (is_hyper) filled_len += bl_snprintf(&mod[filled_len], sizeof(mod) - filled_len, "H-"); if (!(key = XKeysymToString(ksym))) { return Mnil; } len = strlen(mod) + strlen(key) + 1; if (!(str = alloca(len))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " alloca failed\n"); #endif return Mnil; } bl_snprintf(str, len, "%s%s", mod, key); return msymbol(str); } static MInputMethod *find_input_method(char *param) { char *lang = NULL; char *im_name = NULL; MPlist *im_list; MInputMethod *result = NULL; int found = 0; int num_ims; int i; if (param) { lang = bl_str_alloca_dup(param); if (strstr(lang, ":")) { im_name = lang; lang = bl_str_sep(&im_name, ":"); } if (lang && strcmp(lang, "") == 0) { lang = NULL; } if (im_name && strcmp(im_name, "") == 0) { im_name = NULL; } } if (lang == NULL && im_name == NULL) { lang = bl_get_lang(); } if (!(im_list = mdatabase_list(msymbol("input-method"), Mnil, Mnil, Mnil))) { bl_error_printf("There are no available input methods.\n"); return 0; } num_ims = mplist_length(im_list); for (i = 0; i < num_ims; i++, im_list = mplist_next(im_list)) { MDatabase *db; MSymbol *tag; db = mplist_value(im_list); tag = mdatabase_tag(db); if (tag[1] == Mnil) { continue; } if (lang && im_name) { if (strcmp(lang, msymbol_name(tag[1])) == 0 && strcmp(im_name, msymbol_name(tag[2])) == 0) { found = 1; } } else if (lang) { if (strcmp(lang, msymbol_name(tag[1])) == 0) { found = 1; } } else if (im_name) { if (strcmp(im_name, msymbol_name(tag[2])) == 0) { found = 1; } } if (found) { #ifdef IM_M17NLIB_DEBUG bl_debug_printf(BL_DEBUG_TAG " found. language: %s, im_name: %s\n", msymbol_name(tag[1]), msymbol_name(tag[2])); #endif result = minput_open_im(tag[1], tag[2], NULL); break; } } m17n_object_unref(im_list); return result; } static void commit(im_m17nlib_t *m17nlib, MText *text) { u_char *buf = NULL; u_int num_chars; int filled_len; if ((num_chars = mtext_len(text))) { if (!(buf = alloca(MAX_BYTES(num_chars)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG, " alloca failed\n"); #endif } } if (buf) { mconv_reset_converter(m17nlib->mconverter); mconv_rebind_buffer(m17nlib->mconverter, buf, MAX_BYTES(num_chars)); filled_len = mconv_encode(m17nlib->mconverter, text); if (filled_len == -1) { bl_error_printf( "Could not convert the encoding of committed characters. [error " "code: %d]\n", merror_code); } else { (*m17nlib->im.listener->write_to_term)(m17nlib->im.listener->self, buf, filled_len); } } } static void set_candidate(im_m17nlib_t *m17nlib, MText *candidate, int idx) { u_char *buf; u_int num_chars; u_int filled_len; if (!(num_chars = mtext_len(candidate))) { return; } if (!(buf = alloca(MAX_BYTES(num_chars)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG, " alloca failed\n"); #endif return; } mconv_reset_converter(m17nlib->mconverter); mconv_rebind_buffer(m17nlib->mconverter, buf, MAX_BYTES(num_chars)); filled_len = mconv_encode(m17nlib->mconverter, candidate); if (filled_len == -1) { bl_error_printf( "Could not convert the encoding of characters in candidates. [error " "code: %d]\n", merror_code); return; } buf[filled_len] = '\0'; (*m17nlib->im.cand_screen->set)(m17nlib->im.cand_screen, m17nlib->parser_term, buf, idx); } static void preedit_changed(im_m17nlib_t *m17nlib) { int filled_len; u_char *buf; u_int num_chars; vt_char_t *p; ef_char_t ch; u_int pos = 0; #ifdef IM_M17NLIB_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif /* * clear saved preedit */ if (m17nlib->im.preedit.chars) { (*syms->vt_str_delete)(m17nlib->im.preedit.chars, m17nlib->im.preedit.num_chars); m17nlib->im.preedit.chars = NULL; } m17nlib->im.preedit.num_chars = 0; m17nlib->im.preedit.filled_len = 0; m17nlib->im.preedit.segment_offset = 0; m17nlib->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; /* * MText -> u_char */ num_chars = mtext_len(m17nlib->input_context->preedit); if (!num_chars) { goto draw; } if (!(buf = alloca(MAX_BYTES(num_chars)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG, " alloca failed\n"); #endif return; } mconv_reset_converter(m17nlib->mconverter); mconv_rebind_buffer(m17nlib->mconverter, buf, MAX_BYTES(num_chars)); filled_len = mconv_encode(m17nlib->mconverter, m17nlib->input_context->preedit); if (filled_len == -1) { bl_error_printf("Could not convert the preedit string to terminal encoding. [%d]\n", merror_code); return; } /* * allocate im.preedit.chars */ if (!(m17nlib->im.preedit.chars = calloc(num_chars, sizeof(vt_char_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG, " calloc failed\n"); #endif return; } m17nlib->im.preedit.num_chars = num_chars; /* * u_char -> vt_char_t */ p = m17nlib->im.preedit.chars; (*syms->vt_str_init)(p, m17nlib->im.preedit.num_chars); (*m17nlib->parser_term->init)(m17nlib->parser_term); (*m17nlib->parser_term->set_str)(m17nlib->parser_term, (u_char*)buf, filled_len); m17nlib->im.preedit.segment_offset = m17nlib->input_context->candidate_from; m17nlib->im.preedit.cursor_offset = m17nlib->input_context->cursor_pos; while ((*m17nlib->parser_term->next_char)(m17nlib->parser_term, &ch)) { vt_color_t fg_color = VT_FG_COLOR; vt_color_t bg_color = VT_BG_COLOR; int is_underline = 1; int is_fullwidth = 0; int is_comb = 0; if ((*syms->vt_convert_to_internal_ch)(m17nlib->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } if (m17nlib->input_context->candidate_list && m17nlib->input_context->candidate_from <= pos && m17nlib->input_context->candidate_to > pos) { fg_color = VT_BG_COLOR; bg_color = VT_FG_COLOR; is_underline = 0; } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, is_underline, 0, 0)) { pos++; continue; } /* * if combining failed , char is normally appended. */ } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, is_underline, 0, 0); pos++; p++; m17nlib->im.preedit.filled_len++; } draw: (*m17nlib->im.listener->draw_preedit_str)(m17nlib->im.listener->self, m17nlib->im.preedit.chars, m17nlib->im.preedit.filled_len, m17nlib->im.preedit.cursor_offset); } static void candidates_changed(im_m17nlib_t *m17nlib) { MPlist *group; MPlist *candidate; u_int num_candidates = 0; int idx; int x; int y; #ifdef IM_M17NLIB_DEBUG bl_debug_printf(BL_DEBUG_TAG "\n"); #endif if (m17nlib->input_context->candidate_list == NULL || m17nlib->input_context->candidate_show == 0) { if (m17nlib->im.cand_screen) { (*m17nlib->im.cand_screen->delete)(m17nlib->im.cand_screen); m17nlib->im.cand_screen = NULL; } if (m17nlib->im.stat_screen) { (*m17nlib->im.stat_screen->show)(m17nlib->im.stat_screen); } return; } group = m17nlib->input_context->candidate_list; while (mplist_value(group) != Mnil) { if (mplist_key(group) == Mtext) { num_candidates += mtext_len(mplist_value(group)); } else { num_candidates += mplist_length(mplist_value(group)); } group = mplist_next(group); } #ifdef IM_M17NLIB_DEBUG bl_debug_printf(BL_DEBUG_TAG " number of candidates: %d\n", num_candidates); #endif (*m17nlib->im.listener->get_spot)(m17nlib->im.listener->self, m17nlib->im.preedit.chars, m17nlib->im.preedit.segment_offset, &x, &y); if (m17nlib->im.cand_screen == NULL) { int is_vertical_direction = 0; if (strcmp(msymbol_name(m17nlib->input_method->name), "anthy") == 0) { is_vertical_direction = 1; } if (!(m17nlib->im.cand_screen = (*syms->ui_im_candidate_screen_new)( m17nlib->im.disp, m17nlib->im.font_man, m17nlib->im.color_man, m17nlib->im.vtparser, (*m17nlib->im.listener->is_vertical)(m17nlib->im.listener->self), is_vertical_direction, (*m17nlib->im.listener->get_line_height)(m17nlib->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_candidate_screen_new() failed.\n"); #endif return; } m17nlib->im.cand_screen->listener.self = m17nlib; m17nlib->im.cand_screen->listener.selected = NULL; /* XXX */ } if (!(*m17nlib->im.cand_screen->init)(m17nlib->im.cand_screen, num_candidates, 10)) { (*m17nlib->im.cand_screen->delete)(m17nlib->im.cand_screen); m17nlib->im.cand_screen = NULL; return; } group = m17nlib->input_context->candidate_list; if (mplist_key(group) == Mtext) { for (idx = 0; mplist_key(group) != Mnil; group = mplist_next(group)) { int i; for (i = 0; i < mtext_len(mplist_value(group)); i++) { MText *text; text = mtext(); mtext_cat_char(text, mtext_ref_char(mplist_value(group), i)); set_candidate(m17nlib, text, idx); m17n_object_unref(text); idx++; } } } else { for (idx = 0; mplist_key(group) != Mnil; group = mplist_next(group)) { for (candidate = mplist_value(group); mplist_key(candidate) != Mnil; candidate = mplist_next(candidate), idx++) { set_candidate(m17nlib, mplist_value(candidate), idx); } } } (*m17nlib->im.cand_screen->select)(m17nlib->im.cand_screen, m17nlib->input_context->candidate_index); (*m17nlib->im.cand_screen->set_spot)(m17nlib->im.cand_screen, x, y); if (m17nlib->im.stat_screen) { (*m17nlib->im.stat_screen->hide)(m17nlib->im.stat_screen); } } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_m17nlib_t *m17nlib; m17nlib = (im_m17nlib_t*)im; ref_count--; #ifdef IM_M17NLIB_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif if (m17nlib->input_context) { minput_destroy_ic(m17nlib->input_context); } if (m17nlib->input_method) { minput_close_im(m17nlib->input_method); } if (m17nlib->mconverter) { mconv_free_converter(m17nlib->mconverter); } if (m17nlib->parser_term) { (*m17nlib->parser_term->delete)(m17nlib->parser_term); } if (m17nlib->conv) { (*m17nlib->conv->delete)(m17nlib->conv); } free(m17nlib); if (ref_count == 0 && initialized) { M17N_FINI(); initialized = 0; if (parser_ascii) { (*parser_ascii->delete)(parser_ascii); parser_ascii = NULL; } } } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_m17nlib_t *m17nlib; MSymbol mkey; MText *text; int ret = 1; m17nlib = (im_m17nlib_t*)im; if (!m17nlib->input_context->active) { return 1; } if ((mkey = xksym_to_msymbol(m17nlib, ksym, event->state)) == Mnil) { return 1; } if (minput_filter(m17nlib->input_context, mkey, Mnil)) { ret = 0; } if (m17nlib->input_context->preedit_changed) { preedit_changed(m17nlib); } if (m17nlib->input_context->candidates_changed) { candidates_changed(m17nlib); } text = mtext(); if (minput_lookup(m17nlib->input_context, Mnil, NULL, text) == 0) { if (mtext_len(text)) { commit(m17nlib, text); ret = 0; } } m17n_object_unref(text); return ret; } static int switch_mode(ui_im_t *im) { im_m17nlib_t *m17nlib; int x; int y; m17nlib = (im_m17nlib_t*)im; (*m17nlib->im.listener->get_spot)(m17nlib->im.listener->self, m17nlib->im.preedit.chars, m17nlib->im.preedit.segment_offset, &x, &y); if (!m17nlib->input_context->active) { u_char buf[50]; u_int filled_len; if (m17nlib->im.stat_screen == NULL) { if (!(m17nlib->im.stat_screen = (*syms->ui_im_status_screen_new)( m17nlib->im.disp, m17nlib->im.font_man, m17nlib->im.color_man, m17nlib->im.vtparser, (*m17nlib->im.listener->is_vertical)(m17nlib->im.listener->self), (*m17nlib->im.listener->get_line_height)(m17nlib->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_satus_screen_new() failed.\n"); #endif return 1; } } mconv_reset_converter(m17nlib->mconverter); mconv_rebind_buffer(m17nlib->mconverter, buf, sizeof(buf)); filled_len = mconv_encode(m17nlib->mconverter, m17nlib->input_context->status); if (filled_len == -1) { bl_error_printf("Could not convert the encoding of characters for status. [%d]\n", merror_code); } else { buf[filled_len] = 0; (*m17nlib->im.stat_screen->set)(m17nlib->im.stat_screen, m17nlib->parser_term, buf); } } else { /* * commit the last preedit before deactivating the input * method. */ if (mtext_len(m17nlib->input_context->preedit)) { commit(m17nlib, m17nlib->input_context->preedit); } /* * initialize the state of MinputContext. * */ minput_filter(m17nlib->input_context, Mnil, Mnil); /* * clear saved preedit */ if (m17nlib->im.preedit.chars) { (*syms->vt_str_delete)(m17nlib->im.preedit.chars, m17nlib->im.preedit.num_chars); m17nlib->im.preedit.chars = NULL; } m17nlib->im.preedit.num_chars = 0; m17nlib->im.preedit.filled_len = 0; m17nlib->im.preedit.segment_offset = 0; m17nlib->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; if (m17nlib->im.stat_screen) { (*m17nlib->im.stat_screen->delete)(m17nlib->im.stat_screen); m17nlib->im.stat_screen = NULL; } if (m17nlib->im.cand_screen) { (*m17nlib->im.cand_screen->delete)(m17nlib->im.cand_screen); m17nlib->im.cand_screen = NULL; } } minput_toggle(m17nlib->input_context); return 1; } static int is_active(ui_im_t *im) { im_m17nlib_t *m17nlib; m17nlib = (im_m17nlib_t*)im; return m17nlib->input_context->active; } static void focused(ui_im_t *im) { im_m17nlib_t *m17nlib; m17nlib = (im_m17nlib_t*)im; if (m17nlib->im.cand_screen) { (*m17nlib->im.cand_screen->show)(m17nlib->im.cand_screen); } else if (m17nlib->im.stat_screen) { (*m17nlib->im.stat_screen->show)(m17nlib->im.stat_screen); } } static void unfocused(ui_im_t *im) { im_m17nlib_t *m17nlib; m17nlib = (im_m17nlib_t*)im; if (m17nlib->im.stat_screen) { (*m17nlib->im.stat_screen->hide)(m17nlib->im.stat_screen); } if (m17nlib->im.cand_screen) { (*m17nlib->im.cand_screen->hide)(m17nlib->im.cand_screen); } } /* --- global functions --- */ ui_im_t *im_m17nlib_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *param, /* : */ u_int mod_ignore_mask) { im_m17nlib_t *m17nlib; char *encoding_name; MSymbol encoding_sym; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } m17nlib = NULL; #if 1 #define RESTORE_LOCALE #endif if (!initialized) { #ifdef RESTORE_LOCALE /* * Workaround against make_locale() of m17nlib. */ char *cur_locale; cur_locale = bl_str_alloca_dup(bl_get_locale()); #endif M17N_INIT(); #ifdef RESTORE_LOCALE /* restoring */ /* * TODO: remove valgrind warning. * The memory space pointed to by sys_locale in bl_locale.c * was freed by setlocale() in m17nlib. */ bl_locale_init(cur_locale); #endif if (merror_code != MERROR_NONE) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG "failed to initialize m17n library\n"); #endif goto error; } syms = export_syms; initialized = 1; if (!(parser_ascii = (*syms->vt_char_encoding_parser_new)(VT_ISO8859_1))) { goto error; } } #ifdef IM_M17NLIB_DEBUG show_available_ims(); #endif if (!(m17nlib = malloc(sizeof(im_m17nlib_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } m17nlib->input_method = NULL; m17nlib->input_context = NULL; m17nlib->mconverter = NULL; m17nlib->parser_term = NULL; m17nlib->conv = NULL; if (!(m17nlib->input_method = find_input_method(param))) { bl_error_printf("Could not find %s\n", param); goto error; } if (!(m17nlib->input_context = minput_create_ic(m17nlib->input_method, NULL))) { bl_error_printf("Could not crate context for %s\n", param); goto error; } if (term_encoding == VT_EUCJISX0213) { encoding_name = (*syms->vt_get_char_encoding_name)(VT_EUCJP); } else { encoding_name = (*syms->vt_get_char_encoding_name)(term_encoding); } if ((encoding_sym = mconv_resolve_coding(msymbol(encoding_name))) == Mnil) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not resolve encoding name [%s]\n", encoding_name); #endif goto error; } if (!(m17nlib->mconverter = mconv_buffer_converter(encoding_sym, NULL, 0))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " Could not create MConverter\n"); #endif goto error; } if (!(m17nlib->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } if (!(m17nlib->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } minput_toggle(m17nlib->input_context); /* * set methods of ui_im_t */ m17nlib->im.delete = delete; m17nlib->im.key_event = key_event; m17nlib->im.switch_mode = switch_mode; m17nlib->im.is_active = is_active; m17nlib->im.focused = focused; m17nlib->im.unfocused = unfocused; ref_count++; #ifdef IM_M17NLIB_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)m17nlib; error: if (m17nlib) { if (m17nlib->input_context) { minput_destroy_ic(m17nlib->input_context); } if (m17nlib->mconverter) { mconv_free_converter(m17nlib->mconverter); } if (m17nlib->input_method) { minput_close_im(m17nlib->input_method); } if (m17nlib->parser_term) { (*m17nlib->parser_term->delete)(m17nlib->parser_term); } if (m17nlib->conv) { (*m17nlib->conv->delete)(m17nlib->conv); } free(m17nlib); } if (initialized && ref_count == 0) { M17N_FINI(); if (parser_ascii) { (*parser_ascii->delete)(parser_ascii); parser_ascii = NULL; } initialized = 0; } return NULL; } /* --- API for external tools --- */ im_info_t *im_m17nlib_get_info(char *locale, char *encoding) { im_info_t *result = NULL; MPlist *im_list; MSymbol sym_im; int i; int num_ims; int auto_idx = 0; M17N_INIT(); sym_im = msymbol("input-method"); im_list = mdatabase_list(sym_im, Mnil, Mnil, Mnil); num_ims = mplist_length(im_list); if (num_ims == 0) { goto error; } if (!(result = malloc(sizeof(im_info_t)))) { goto error; } result->num_args = num_ims + 1; if (!(result->args = calloc(result->num_args, sizeof(char*)))) { goto error; } if (!(result->readable_args = calloc(result->num_args, sizeof(char*)))) { free(result->args); goto error; } for (i = 1; i < result->num_args; i++, im_list = mplist_next(im_list)) { MDatabase *db; MSymbol *tag; size_t len; char *lang; char *im; db = mplist_value(im_list); tag = mdatabase_tag(db); lang = msymbol_name(tag[1]); im = msymbol_name(tag[2]); len = strlen(im) + strlen(lang) + 4; if ((result->args[i] = malloc(len))) { bl_snprintf(result->args[i], len, "%s:%s", lang, im); } else { result->args[i] = strdup("error"); } if ((result->readable_args[i] = malloc(len))) { bl_snprintf(result->readable_args[i], len, "%s (%s)", lang, im); } else { result->readable_args[i] = strdup("error"); } if (strncmp(lang, locale, 2) == 0 && auto_idx == 0) { auto_idx = i; } } result->args[0] = strdup(""); if (auto_idx) { result->readable_args[0] = strdup(result->readable_args[auto_idx]); } else { result->readable_args[0] = strdup("unknown"); } M17N_FINI(); result->id = strdup("m17nlib"); result->name = strdup("m17n library"); return result; error: M17N_FINI(); if (result) { free(result); } if (parser_ascii) { (*parser_ascii->delete)(parser_ascii); parser_ascii = NULL; } return NULL; } mlterm-3.8.4/inputmethod/m17nlib/LICENCE010064400017600000144000000026441321054731300163270ustar kenusersCopyright (c) 2004, 2005 Seiichi SATO Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of any author may not be used to endorse or promote products derived from this software without their specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. mlterm-3.8.4/inputmethod/m17nlib/Makefile.in010064400017600000144000000026121321054731300174020ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/m17nlib IM_M17NLIB_OBJ = im_m17nlib.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @M17NLIB_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @M17NLIB_LIBS@ TARGET_xlib = libim-m17nlib.la TARGET_fb = libim-m17nlib-fb.la TARGET_console = libim-m17nlib-fb.la TARGET_wayland = libim-m17nlib-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_M17NLIB_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_M17NLIB_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-m17nlib* clean: rm -rf $(IM_M17NLIB_OBJ) $(IM_M17NLIB_OBJ:.o=.lo) *im-m17nlib* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/wnn004075500017600000144000000000001321054731300146115ustar kenusersmlterm-3.8.4/inputmethod/wnn/Makefile.in010064400017600000144000000026641321054731300167420ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/wnn IM_WNN_OBJ = wnnlib.o im_wnn.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @WNN_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I${top_srcdir}/common \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @LMEF@ @WNN_LIBS@ TARGET_win32 = libim-wnn.la TARGET_xlib = libim-wnn.la TARGET_quartz = libim-wnn.la TARGET_fb = libim-wnn-fb.la TARGET_console = libim-wnn-fb.la TARGET_wayland = libim-wnn-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_WNN_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_WNN_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-wnn* clean: rm -rf $(IM_WNN_OBJ) $(IM_WNN_OBJ:.o=.lo) *im-wnn* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/wnn/im_wnn.c010064400017600000144000000606001321054731300163220ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include /* malloc/alloca/free */ #include /* bl_str_alloca_dup bl_str_sep bl_snprintf*/ #include /* DIGIT_STR_LEN */ #include #include "../im_common.h" #include "../im_info.h" #include "wnnlib.h" #if 0 #define IM_WNN_DEBUG 1 #endif /* Don't forget to modify digit_to_wstr() if MAX_DIGIT_NUM is changed. */ #define MAX_DIGIT_NUM 3 /* 999 */ #define CAND_WINDOW_ROWS 5 typedef struct im_wnn { /* input method common object */ ui_im_t im; char buf[1024]; int is_enabled; int is_cand; vt_char_encoding_t term_encoding; char *encoding_name; /* encoding of conversion engine */ /* conv is NULL if term_encoding == wnn encoding */ ef_parser_t *parser_term; /* for term encoding */ ef_conv_t *conv; /* for term encoding */ jcConvBuf *convbuf; int dan; } im_wnn_t; /* --- static variables --- */ static int ref_count = 0; static ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ static ef_parser_t *parser_wchar = NULL; /* --- static functions --- */ static wchar *digit_to_wstr(wchar *dst, int digit) { int num; if (digit >= 1000) { /* Ignore it because MAX_DIGIT_NUM is 3 (=999). */ digit -= (digit / 1000) * 1000; } if (digit >= 100) { num = digit / 100; *(dst++) = num + 0x30; digit -= num * 100; } else if (((digit - 1) / CAND_WINDOW_ROWS + 1) * CAND_WINDOW_ROWS >= 100) { *(dst++) = ' '; } if (digit >= 10) { num = digit / 10; *(dst++) = num + 0x30; digit -= num * 10; } else if (((digit - 1) / CAND_WINDOW_ROWS + 1) * CAND_WINDOW_ROWS >= 10) { *(dst++) = ' '; } *(dst++) = digit + 0x30; return dst; } static void wchar_parser_set_str(ef_parser_t *parser, u_char *str, size_t size) { parser->str = str; parser->left = size; parser->marked_left = 0; parser->is_eos = 0; } static void wchar_parser_delete(ef_parser_t *parser) { free(parser); } static int wchar_parser_next_char(ef_parser_t *parser, ef_char_t *ch) { wchar wch; if (parser->is_eos) { return 0; } ef_parser_mark(parser); wch = ((wchar*)parser->str)[0]; if (wch < 0x100) { ch->size = 1; if (wch < 0x80) { ch->ch[0] = wch; ch->cs = US_ASCII; } else { ch->ch[0] = (wch & 0x7f); ch->cs = JISX0201_KATA; } } else if ((wch & 0x8080) == 0x8080) { ef_int_to_bytes(ch->ch, 2, wch & ~0x8080); ch->size = 2; ch->cs = JISX0208_1983; } else { ef_parser_reset(parser); return 0; } ef_parser_n_increment(parser, 2); ch->property = 0; return 1; } static ef_parser_t *wchar_parser_new(void) { ef_parser_t *parser; if ((parser = malloc(sizeof(ef_parser_t))) == NULL) { return NULL; } ef_parser_init(parser); parser->init = ef_parser_init; parser->set_str = wchar_parser_set_str; parser->delete = wchar_parser_delete; parser->next_char = wchar_parser_next_char; return parser; } static void preedit(im_wnn_t *wnn, char *preedit, /* wchar */ size_t preedit_len, int rev_pos, int rev_len, char *candidateword, /* wchar */ size_t candidateword_len, char *pos) { int x; int y; if (preedit == NULL) { goto candidate; } else if (preedit_len == 0) { if (wnn->im.preedit.filled_len > 0) { /* Stop preediting. */ wnn->im.preedit.filled_len = 0; } } else { ef_char_t ch; vt_char_t *p; u_int num_chars; u_int len; u_char *tmp = NULL; size_t pos_len; wnn->im.preedit.cursor_offset = rev_pos; num_chars = 0; (*parser_wchar->init)(parser_wchar); (*parser_wchar->set_str)(parser_wchar, preedit, preedit_len); while ((*parser_wchar->next_char)(parser_wchar, &ch)) { num_chars++; } pos_len = strlen(pos); if ((p = realloc(wnn->im.preedit.chars, sizeof(vt_char_t) * (num_chars + pos_len))) == NULL) { return; } (*parser_wchar->init)(parser_wchar); if ((len = im_convert_encoding(parser_wchar, wnn->conv, preedit, &tmp, preedit_len))) { preedit = tmp; preedit_len = len; } (*syms->vt_str_init)(wnn->im.preedit.chars = p, wnn->im.preedit.num_chars = (num_chars + pos_len)); wnn->im.preedit.filled_len = 0; (*wnn->parser_term->init)(wnn->parser_term); (*wnn->parser_term->set_str)(wnn->parser_term, preedit, preedit_len); while ((*wnn->parser_term->next_char)(wnn->parser_term, &ch)) { int is_fullwidth; int is_comb; if ((*syms->vt_convert_to_internal_ch)(wnn->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } else { is_fullwidth = IS_FULLWIDTH_CS(ch.cs); } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } else { is_comb = 0; } if (wnn->im.preedit.cursor_offset <= wnn->im.preedit.filled_len && wnn->im.preedit.filled_len < wnn->im.preedit.cursor_offset + rev_len) { (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_BG_COLOR, VT_FG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); } else { (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); } p++; wnn->im.preedit.filled_len++; } for (; pos_len > 0; pos_len--) { (*syms->vt_char_set)(p++, *(pos++), US_ASCII, 0, 0, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); wnn->im.preedit.filled_len++; } if (tmp) { free(tmp); } } (*wnn->im.listener->draw_preedit_str)(wnn->im.listener->self, wnn->im.preedit.chars, wnn->im.preedit.filled_len, wnn->im.preedit.cursor_offset); candidate: if (candidateword == NULL) { return; } else if (candidateword_len == 0) { if (wnn->im.stat_screen) { (*wnn->im.stat_screen->delete)(wnn->im.stat_screen); wnn->im.stat_screen = NULL; } } else { u_char *tmp = NULL; (*wnn->im.listener->get_spot)(wnn->im.listener->self, wnn->im.preedit.chars, wnn->im.preedit.segment_offset, &x, &y); if (wnn->im.stat_screen == NULL) { if (!(wnn->im.stat_screen = (*syms->ui_im_status_screen_new)( wnn->im.disp, wnn->im.font_man, wnn->im.color_man, wnn->im.vtparser, (*wnn->im.listener->is_vertical)(wnn->im.listener->self), (*wnn->im.listener->get_line_height)(wnn->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_status_screen_new() failed.\n"); #endif return; } } else { (*wnn->im.stat_screen->show)(wnn->im.stat_screen); (*wnn->im.stat_screen->set_spot)(wnn->im.stat_screen, x, y); } (*parser_wchar->init)(parser_wchar); if (im_convert_encoding(parser_wchar, wnn->conv, candidateword, &tmp, candidateword_len)) { candidateword = tmp; } (*wnn->im.stat_screen->set)(wnn->im.stat_screen, wnn->parser_term, candidateword); if (tmp) { free(tmp); } } } static void commit(im_wnn_t *wnn, const char *str, size_t len) { u_char conv_buf[256]; size_t filled_len; (*parser_wchar->init)(parser_wchar); (*parser_wchar->set_str)(parser_wchar, (u_char*)str, len); (*wnn->conv->init)(wnn->conv); while (!parser_wchar->is_eos) { filled_len = (*wnn->conv->convert)(wnn->conv, conv_buf, sizeof(conv_buf), parser_wchar); if (filled_len == 0) { /* finished converting */ break; } (*wnn->im.listener->write_to_term)(wnn->im.listener->self, conv_buf, filled_len); } } static int insert_char(im_wnn_t *wnn, u_char key_char) { static struct { wchar a; wchar i; wchar u; wchar e; wchar o; } kana_table[] = { /* a */ /* i */ /* u */ /* e */ /* o */ {0xa4a2, 0xa4a4, 0xa4a6, 0xa4a8, 0xa4aa}, {0xa4d0, 0xa4d3, 0xa4d6, 0xa4d9, 0xa4dc}, /* b */ {0xa4ab, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3}, /* c */ {0xa4c0, 0xa4c2, 0xa4c5, 0xa4c7, 0xa4c9}, /* d */ {0xa4e3, 0xa4a3, 0xa4e5, 0xa4a7, 0xa4e7}, /* xy */ { 0, 0, 0xa4d5, 0, 0, }, /* f */ {0xa4ac, 0xa4ae, 0xa4b0, 0xa4b2, 0xa4b4}, /* g */ {0xa4cf, 0xa4d2, 0xa4d5, 0xa4d8, 0xa4db}, /* h */ {0xa4e3, 0, 0xa4e5, 0xa4a7, 0xa4e7}, /* ch/sh */ { 0, 0xa4b8, 0, 0, 0, }, /* j */ {0xa4ab, 0xa4ad, 0xa4af, 0xa4b1, 0xa4b3}, /* k */ {0xa4a1, 0xa4a3, 0xa4a5, 0xa4a7, 0xa4a9}, /* l */ {0xa4de, 0xa4df, 0xa4e0, 0xa4e1, 0xa4e2}, /* m */ {0xa4ca, 0xa4cb, 0xa4cc, 0xa4cd, 0xa4ce}, /* n */ { 0, 0, 0, 0, 0, }, {0xa4d1, 0xa4d4, 0xa4d7, 0xa4da, 0xa4dd}, /* p */ { 0, 0, 0, 0, 0, }, {0xa4e9, 0xa4ea, 0xa4eb, 0xa4ec, 0xa4ed}, /* r */ {0xa4b5, 0xa4b7, 0xa4b9, 0xa4bb, 0xa4bd}, /* s */ {0xa4bf, 0xa4c1, 0xa4c4, 0xa4c6, 0xa4c8}, /* t */ { 0, 0, 0, 0, 0, }, { 0, 0, 0, 0, 0, }, {0xa4ef, 0xa4f0, 0, 0xa4f1, 0xa4f2}, /* w */ {0xa4a1, 0xa4a3, 0xa4a5, 0xa4a7, 0xa4a9}, /* x */ {0xa4e4, 0, 0xa4e6, 0, 0xa4e8}, /* y */ {0xa4b6, 0xa4b8, 0xa4ba, 0xa4bc, 0xa4be}, /* z */ }; static wchar sign_table1[] = { 0xa1aa, 0xa1c9, 0xa1f4, 0xa1f0, 0xa1f3, 0xa1f5, 0xa1c7, 0xa1ca, 0xa1cb, 0xa1f6, 0xa1dc, 0xa1a4, 0xa1bc, 0xa1a3, 0xa1bf, 0xa3b0, 0xa3b1, 0xa3b2, 0xa3b3, 0xa3b4, 0xa3b5, 0xa3b6, 0xa3b7, 0xa3b8, 0xa3b9, 0xa1a7, 0xa1a8, 0xa1e3, 0xa1e1, 0xa1e4, 0xa1a9, 0xa1f7, }; static wchar sign_table2[] = { 0xa1ce, 0xa1ef, 0xa1cf, 0xa1b0, 0xa1b2, }; static wchar sign_table3[] = { 0xa1d0, 0xa1c3, 0xa1d1, 0xa1c1, }; wchar wch; if (wnn->dan) { jcDeleteChar(wnn->convbuf, 1); } if (key_char == 'a' || key_char == 'i' || key_char == 'u' || key_char == 'e' || key_char == 'o') { if (wnn->dan == 'f' - 'a') { if (key_char != 'u') { jcInsertChar(wnn->convbuf, 0xa4d5); /* hu */ wnn->dan = 'x' - 'a'; } } else if (wnn->dan == 'j' - 'a') { if (key_char != 'i') { jcInsertChar(wnn->convbuf, 0xa4b8); /* zi */ wnn->dan = 'e' - 'a'; } } if (key_char == 'a') { wch = kana_table[wnn->dan].a; wnn->dan = 0; } else if (key_char == 'i') { if (wnn->dan == 'i' - 'a') { wnn->dan = 0; return 0; /* shi/chi */ } wch = kana_table[wnn->dan].i; wnn->dan = 0; } else if (key_char == 'u') { if (wnn->dan == 'j' - 'a') { jcInsertChar(wnn->convbuf, 0xa4b8); /* zi */ wnn->dan = 'e' - 'a'; } wch = kana_table[wnn->dan].u; wnn->dan = 0; } else if (key_char == 'e') { if (wnn->dan == 'f' - 'a') { jcInsertChar(wnn->convbuf, 0xa4d5); /* hu */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'j' - 'a') { jcInsertChar(wnn->convbuf, 0xa4b8); /* zi */ wnn->dan = 'x' - 'a'; } wch = kana_table[wnn->dan].e; wnn->dan = 0; } else /* if( key_char == 'o') */ { if (wnn->dan == 'f' - 'a') { jcInsertChar(wnn->convbuf, 0xa4d5); /* hu */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'j' - 'a') { jcInsertChar(wnn->convbuf, 0xa4b8); /* zi */ wnn->dan = 'e' - 'a'; } wch = kana_table[wnn->dan].o; wnn->dan = 0; } } else if (('!' <= key_char && key_char <= '@') || ('[' <= key_char && key_char <= '_') || ('{' <= key_char && key_char <= '~')) { if (wnn->dan) { jcInsertChar(wnn->convbuf, wnn->dan + 'a'); wnn->dan = 0; } if (key_char <= '@') { wch = sign_table1[key_char - '!']; } else if (key_char <= '_') { wch = sign_table2[key_char - '[']; } else { wch = sign_table3[key_char - '{']; } } else { if (wnn->dan == 'n' - 'a' && key_char != 'a' && key_char != 'i' && key_char != 'u' && key_char != 'e' && key_char != 'o' && key_char != 'y') { if (key_char == 'n') { wch = 0xa4f3; /* n */ wnn->dan = 0; } else { jcInsertChar(wnn->convbuf, 0xa4f3); wch = key_char; wnn->dan = key_char - 'a'; } } else if (key_char == wnn->dan + 'a') { jcInsertChar(wnn->convbuf, 0xa4c3); wch = key_char; } else if (key_char == 'y') { if (wnn->dan == 'k' - 'a') { jcInsertChar(wnn->convbuf, 0xa4ad); /* ki */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'g' - 'a') { jcInsertChar(wnn->convbuf, 0xa4ae); /* gi */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 's' - 'a') { jcInsertChar(wnn->convbuf, 0xa4b7); /* si */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'z' - 'a') { jcInsertChar(wnn->convbuf, 0xa4b8); /* zi */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 't' - 'a' || wnn->dan == 'c' - 'a') { jcInsertChar(wnn->convbuf, 0xa4c1); /* ti */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'd' - 'a') { jcInsertChar(wnn->convbuf, 0xa4c2); /* di */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'n' - 'a') { jcInsertChar(wnn->convbuf, 0xa4cb); /* ni */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'h' - 'a') { jcInsertChar(wnn->convbuf, 0xa4d2); /* hi */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'b' - 'a') { jcInsertChar(wnn->convbuf, 0xa4d3); /* bi */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'p' - 'a') { jcInsertChar(wnn->convbuf, 0xa4d4); /* pi */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'm' - 'a') { jcInsertChar(wnn->convbuf, 0xa4df); /* mi */ wnn->dan = 'x' - 'a'; } else if (wnn->dan == 'r' - 'a') { jcInsertChar(wnn->convbuf, 0xa4ea); /* ri */ wnn->dan = 'x' - 'a'; } if (wnn->dan == 'x' - 'a') { wnn->dan = 'e' - 'a'; wch = 'y'; } else if (wnn->dan == 'v' - 'a') { if (key_char == 'u') { wch = 0xa5f4; wnn->dan = 0; } else { jcInsertChar(wnn->convbuf, 0xa5f4); /* v */ wnn->dan = 'x' - 'a'; return insert_char(wnn, key_char); } } else { goto normal; } } else if (key_char == 'h') { if (wnn->dan == 'c' - 'a') { jcInsertChar(wnn->convbuf, 0xa4c1); /* ti */ wnn->dan = 'i' - 'a'; } else if (wnn->dan == 's' - 'a') { jcInsertChar(wnn->convbuf, 0xa4b7); /* si */ wnn->dan = 'i' - 'a'; } else if (wnn->dan == 'd' - 'a') { jcInsertChar(wnn->convbuf, 0xa4c7); /* di */ wnn->dan = 'e' - 'a'; } else { goto normal; } wch = 'h'; } else { normal: if (wnn->dan) { jcInsertChar(wnn->convbuf, wnn->dan + 'a'); } wch = key_char; if ('a' <= key_char && key_char <= 'z') { wnn->dan = key_char - 'a'; } else { wnn->dan = 0; } } } if (wch == 0) { return 1; } if (jcInsertChar(wnn->convbuf, wch) != 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " InsertChar failed.\n"); #endif } return 0; } static int fix(im_wnn_t *wnn) { if (wnn->convbuf->displayEnd > wnn->convbuf->displayBuf) { wnn->dan = 0; wnn->is_cand = 0; preedit(wnn, "", 0, 0, 0, "", 0, ""); commit(wnn, wnn->convbuf->displayBuf, (wnn->convbuf->displayEnd - wnn->convbuf->displayBuf) * 2); jcFix(wnn->convbuf); jcClear(wnn->convbuf); return 0; } else { return 1; } } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_wnn_t *wnn; struct wnn_buf *buf; wnn = (im_wnn_t*)im; (*wnn->parser_term->delete)(wnn->parser_term); if (wnn->conv) { (*wnn->conv->delete)(wnn->conv); } buf = wnn->convbuf->wnn; jcDestroyBuffer(wnn->convbuf, 1); jcClose(buf); free(wnn); ref_count--; #ifdef IM_WNN_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif if (ref_count == 0) { (*parser_wchar->delete)(parser_wchar); parser_wchar = NULL; } } static int switch_mode(ui_im_t *im) { im_wnn_t *wnn; wnn = (im_wnn_t*)im; if ((wnn->is_enabled = (!wnn->is_enabled))) { preedit(wnn, NULL, 0, 0, 0, NULL, 0, ""); } else { jcClear(wnn->convbuf); preedit(wnn, "", 0, 0, 0, "", 0, ""); } return 1; } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { wchar kana[2] = {0xa4ab, 0xa4ca}; im_wnn_t *wnn; wchar *cand = NULL; size_t cand_len = 0; int ret = 0; char *pos = ""; wnn = (im_wnn_t*)im; if (key_char == ' ' && (event->state & ShiftMask)) { switch_mode(im); if (!wnn->is_enabled) { return 0; } } else if (!wnn->is_enabled) { return 1; } else if (key_char == '\r' || key_char == '\n') { ret = fix(wnn); } else if (ksym == XK_BackSpace || ksym == XK_Delete || key_char == 0x08 /* Ctrl+h */) { if (wnn->im.preedit.filled_len > 0) { wnn->dan = 0; wnn->is_cand = 0; if (jcIsConverted(wnn->convbuf, 0)) { jcCancel(wnn->convbuf); jcBottom(wnn->convbuf); } else { jcDeleteChar(wnn->convbuf, 1); } } else { ret = 1; } } else if (key_char != ' ' && key_char != '\0') { if (wnn->im.preedit.filled_len > 0 && jcIsConverted(wnn->convbuf, 0)) { if (key_char < ' ') { if (key_char == 0x03 || key_char == 0x07) /* Ctrl+c, Ctrl+g */ { jcCancel(wnn->convbuf); jcBottom(wnn->convbuf); } ret = 1; } else { fix(wnn); } } else if (key_char < ' ') { ret = 1; } else { wnn->is_cand = 0; } if (ret == 0 && insert_char(wnn, key_char) != 0) { ret = 1; } } else { if (key_char == ' ' && wnn->im.preedit.filled_len == 0) { ret = 1; } if (key_char == ' ' || ksym == XK_Up || ksym == XK_Down) { if (!jcIsConverted(wnn->convbuf, 0)) { wchar kanji[2] = {0xb4c1, 0xbbfa}; if (key_char != ' ') { ret = 1; } if (jcConvert(wnn->convbuf, 0, 0, 0) != 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " jcConvert failed.\n"); #endif } cand = kanji; cand_len = 2; wnn->dan = 0; wnn->is_cand = 0; } else { int ncand; int curcand; if (jcNext(wnn->convbuf, 0, ksym == XK_Up ? JC_PREV : JC_NEXT) != 0) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " jcNext failed.\n"); #endif } if (jcCandidateInfo(wnn->convbuf, 0, &ncand, &curcand) == 0 && (!wnn->is_cand || (ksym == XK_Up ? (curcand % CAND_WINDOW_ROWS == CAND_WINDOW_ROWS - 1 || curcand == ncand - 1) : (curcand % CAND_WINDOW_ROWS == 0)))) { wchar tmp[1024]; wchar *src; wchar *dst; int count; int beg = curcand - curcand % CAND_WINDOW_ROWS; wnn->is_cand = 1; for (count = 0; count < CAND_WINDOW_ROWS; count++) { if (jcGetCandidate(wnn->convbuf, beg + count, tmp, sizeof(tmp)) == 0) { cand_len += (MAX_DIGIT_NUM + 1); for (src = tmp; *src; src++) { cand_len++; } if (count < CAND_WINDOW_ROWS - 1 && beg + count < ncand - 1) { cand_len++; /* '\n' */ } } } if ((cand = alloca(cand_len * sizeof(wchar)))) { dst = cand; for (count = 0; count < CAND_WINDOW_ROWS; count++) { if (jcGetCandidate(wnn->convbuf, beg + count, tmp, sizeof(tmp)) == 0) { dst = digit_to_wstr(dst, beg + count + 1); *(dst++) = ' '; for (src = tmp; *src; src++) { *(dst++) = *src; } if (count < CAND_WINDOW_ROWS - 1 && beg + count < ncand - 1) { *(dst++) = '\n'; } } } } cand_len = dst - cand; } if ((pos = alloca(4 + DIGIT_STR_LEN(int)*2 + 1))) { sprintf(pos, " [%d/%d]", curcand + 1, ncand); } } } else if (ksym == XK_Right) { if (event->state & ShiftMask) { jcExpand(wnn->convbuf, 0, jcIsConverted(wnn->convbuf, 0)); } else { jcMove(wnn->convbuf, 0, JC_FORWARD); } wnn->dan = 0; wnn->is_cand = 0; } else if (ksym == XK_Left) { if (event->state & ShiftMask) { jcShrink(wnn->convbuf, 0, jcIsConverted(wnn->convbuf, 0)); } else { jcMove(wnn->convbuf, 0, JC_BACKWARD); } wnn->dan = 0; wnn->is_cand = 0; } else { ret = 1; } } if (jcIsConverted(wnn->convbuf, 0)) { preedit(wnn, wnn->convbuf->displayBuf, (wnn->convbuf->displayEnd - wnn->convbuf->displayBuf) * 2, wnn->convbuf->clauseInfo[wnn->convbuf->curLCStart].dispp - wnn->convbuf->displayBuf, wnn->convbuf->clauseInfo[wnn->convbuf->curLCEnd].dispp - wnn->convbuf->clauseInfo[wnn->convbuf->curLCStart].dispp, cand, cand_len * sizeof(wchar), pos); } else { preedit(wnn, wnn->convbuf->displayBuf, (wnn->convbuf->displayEnd - wnn->convbuf->displayBuf) * 2, jcDotOffset(wnn->convbuf), 0, (char*)kana, sizeof(kana), pos); } return ret; } static int is_active(ui_im_t *im) { return ((im_wnn_t*)im)->is_enabled; } static void focused(ui_im_t *im) { im_wnn_t *wnn; wnn = (im_wnn_t*)im; if (wnn->im.cand_screen) { (*wnn->im.cand_screen->show)(wnn->im.cand_screen); } } static void unfocused(ui_im_t *im) { im_wnn_t *wnn; wnn = (im_wnn_t*)im; if (wnn->im.cand_screen) { (*wnn->im.cand_screen->hide)(wnn->im.cand_screen); } } /* --- global functions --- */ ui_im_t *im_wnn_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *server, u_int mod_ignore_mask) { im_wnn_t *wnn; struct wnn_buf *buf; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } if (ref_count == 0) { syms = export_syms; parser_wchar = wchar_parser_new(); } if (!(wnn = calloc(1, sizeof(im_wnn_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } wnn->term_encoding = term_encoding; wnn->encoding_name = (*syms->vt_get_char_encoding_name)(term_encoding); if (!(wnn->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } if (!(wnn->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } if (!(buf = jcOpen(server, "", 0, "", bl_msg_printf, bl_msg_printf, 0))) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " jcOpen failed.\n"); #endif goto error; } wnn->convbuf = jcCreateBuffer(buf, 0, 0); /* * set methods of ui_im_t */ wnn->im.delete = delete; wnn->im.key_event = key_event; wnn->im.switch_mode = switch_mode; wnn->im.is_active = is_active; wnn->im.focused = focused; wnn->im.unfocused = unfocused; ref_count++; #ifdef IM_WNN_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)wnn; error: if (ref_count == 0) { if (parser_wchar) { (*parser_wchar->delete)(parser_wchar); parser_wchar = NULL; } } if (wnn) { if (wnn->parser_term) { (*wnn->parser_term->delete)(wnn->parser_term); } if (wnn->conv) { (*wnn->conv->delete)(wnn->conv); } buf = wnn->convbuf->wnn; jcDestroyBuffer(wnn->convbuf, 1); jcClose(buf); free(wnn); } return NULL; } /* --- API for external tools --- */ im_info_t *im_wnn_get_info(char *locale, char *encoding) { im_info_t *result; if ((result = malloc(sizeof(im_info_t)))) { result->id = strdup("wnn"); result->name = strdup("Wnn"); result->num_args = 0; result->args = NULL; result->readable_args = NULL; } return result; } mlterm-3.8.4/inputmethod/wnn/wnnlib.c010064400017600000144000003122001321054731300163200ustar kenusers/* -*- c-basic-offset:2; tab-width:8; indent-tabs-mode:nil -*- */ /* Copyright (c) 2008-2013 uim Project http://code.google.com/p/uim/ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of authors nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * wnnlib -- $B$+$J4A;zJQ49MQ%i%$%V%i%j(B (jllib $BBP1~HG(B) * * $B$3$N%i%$%V%i%j$O!"(Bkinput V2 $B$KIUB0$7$F$$$?!"(BSRA $B$N@PA>:,$5$s$N(B * jclib 5.2 $B$r%Y!<%9$K:n@.$7$^$7$?!#(B * * $B?9It(B $B1QG7(B */ /* * Copyright (c) 1989 Software Research Associates, Inc. * Copyright (c) 1998 MORIBE, Hideyuki * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of Software Research Associates not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. Software Research * Associates makes no representations about the suitability of this software * for any purpose. It is provided "as is" without express or implied * warranty. * * Author: Makoto Ishisone, Software Research Associates, Inc., Japan * ishisone@sra.co.jp * MORIBE, Hideyuki */ /* * Portability issue: * * + define SYSV, SVR4 or USG if you don't have bcopy() or bzero(). * * if you define USG (which should be defined if your OS is based * on System V Rel 2) or SYSV (in case of System V Rel 3), * memchr() is used for bzero(), and my own version of bcopy() * is used in order to handle overlapping regions. * * if you define SVR4 (yes, System V Rel4), memmove() is used for * bcopy(), and memchr() is used for bzero(). * * + wnnlib assumes bcopy() can handle overlapping data blocks. * If your bcopy() can't, you should define OVERLAP_BCOPY, * which force to use my own bcopy() rather than the one * in libc.a. */ /* * $B35MW(B * * wnnlib $B$O(B Wnn6 $B$K$bBP1~$7$?(B kinput $B$N(B CcWnn $B%*%V%8%'%/%H8~$1$N9b%l%Y%k(B * $B$+$J4A;zJQ49%i%$%V%i%j$G$"$k!#(B * * $B=>Mh$N(B Kinput $B$K$*$$$F$O!"(BWnn $B$H$N%$%s%?%U%'!<%9$O!"(Bjslib $B%Y!<%9$N(B * jilib $B$H(B jclib $B$G$"$C$?!#$H$3$m$,!"(BWnn6 $B$G3HD%$5$l$?5!G=$r;HMQ$7$?$/$F(B * $B$b!"(Bjslib $B%l%Y%k$N;EMM$,$[$H$s$IH=$i$J$+$C$?!#$3$N$?$a!"(Bmule $B$N(B egg $B%$(B * $B%s%?%U%'!<%9$G;HMQ$7$F$$$k(B jllib $B$rMQ$$$F!"=>Mh$N(B jilib $B$H(B jclib $B$N%$(B * $B%s%?%U%'!<%9$r$G$-$k$@$1JQ99$7$J$$$h$&$K$7$F!"?7$?$K(B wnnlib $B$H$7$F=q$-(B * $B49$($?!#(B * * wnnlib $B$O!"(BWnn6 $B$@$1$G$J$/!"$=$l0JA0$N(B Wnn4 $B$K$bBP1~$7$F$$$k$O$:$G(B * $B$"$k$,%F%9%H$O$7$F$$$J$$!#(B * * wnnlib $B$O!"=>Mh$N(B jclib $B$HF1MM$K!"$+$J%P%C%U%!$HI=<(%P%C%U%!$H$$$$D(B * $B$N%P%C%U%!$r;}$D!#$+$J%P%C%U%!$K$OFI$_J8;zNs$,F~$j!"I=<(%P%C%U%!$K$OJQ(B * $B497k2L(B($BI=<(J8;zNs(B)$B$,F~$k!#$+$J%P%C%U%!$H8@$&8F$SJ}$O$"$^$j@53N$G$O$J$$!#(B * Wnn Version 4 $B0J9_$G$O4A;z$+$JJQ49$b$G$-$k$+$i$G$"$k!#(B * * $B%I%C%H$H%+%l%s%HJ8@a$H$$$&35G0$r;}$A!"J8;z$NA^F~(B / $B:o=|$O%I%C%H$N0LCV$K(B * $BBP$7$F9T$J$o$l!"JQ49$=$NB>$NA`:n$O%+%l%s%HJ8@a$KBP$7$F9T$J$o$l$k!#(B * Wnn Version 4 $B0J9_$G$OBgJ8@a$H>.J8@a$H$$$.(B * $B!&%+%l%s%HJ8@a(B / $B%I%C%H$N0\F0(B * $B!&Mh$N(B Kinput2 $B$G$O!"(BWnn $B$H$N%$%s%?!<%U%'!<%9$O!"(Bjslib $B$r%Y!<%9$K(B * $B$7$?(Bjilib $B$H(B jclib $B$G!"$b$H$b$H(B Wnn Version 3 $B$N(B libjd $B$N>e$K:n$i(B * $B$l$?%i%$%V%i%j$G$"$k!#(B * * Wnn Version 6 $BBP1~$K$"$?$C$F!"(Bjslib $B%l%Y%k$NDI2C5!G=$d>\:Y%$%s%?%U%'!<(B * $B%9$,H=$i$J$+$C$?$?$a!"(Bjslib $B$NBe$o$j$K(B mule $B$N(B egg $B%$%s%?%U%'!<%9$G;H(B * $BMQ$5$l$F$$$k(B jllib $B$r%Y!<%9$K$7$F!"(Bjilib $B$H(B jclib $B$r?7$?$K(B wnnlib $B$H$7(B * $B$F=q$-49$($k$3$H$K$7$?!#=q$-49$($O!"0J2<$NJ}?K$G9T$C$?!#(B * * 1. $B%G!<%?9=B$!"%$%s%?%U%'!<%9(B ($B4X?tL>$dJQ?tL>$b(B) $B$r$J$k$Y$/=>Mh$N(B * jclib$B$HF1$8$K$9$k!#(B * * 2. $B$+$J%P%C%U%!$HI=<(%P%C%U%!$NFs$D$NJ8;z%P%C%U%!$r;}$A!"(B * $B$+$J%P%C%U%!$K$OFI$_!"I=<(%P%C%U%!$K$OJQ497k2L$,F~$k$H$+(B * $BMM!9$JA`:n$O%+%l%s%HJ8@a$H8F$P$l$kJ8@a$KBP$7$F9T$J$o$l$k$H$+$$$C$?(B * $B4pK\E*$J%3%s%;%W%H$OJQ$($J$$!#(B * * 3. $B=>Mh$N%i%$%V%i%j$r;H$C$?%"%W%j%1!<%7%g%s$,?7$7$$%i%$%V%i%j$K(B * $B0\9T$7$d$9$$$h$&$K!"4X?t%$%s%?!<%U%'%$%9$b$G$-$k$@$1;w$?$b$N$K$9$k!#(B * * 4. 1,2,3 $B$NJ}?K$r$G$-$k$@$1$$$D$D!"%/%$%C%/!&%O%C%/$9$k!#(B */ /* * $B%a%b(B ($BCm(B: $B:G=i$NItJ,$O!"@PA>:,$5$s$N(B jclib $B:n@.%a%b(B) * * ver 0.0 89/07/21 * $B$H$j$"$($::n$j$O$8$a$k(B * ver 0.1 89/08/02 * $BH>J,$/$i$$$+$1$?(B * $B.$5$/$J$k$s$@$1$I(B * ver 0.6 89/08/22 * jcDeleteChar() $B$rA4LLE*$K=q$-D>$9(B * $B$3$l$G0l1~@5$7$/F0:n$9$k$h$&$K$J$C$?(B * jcInsertChar() $B$G:G8e$N(B clauseInfo $B$N@_Dj$,4V0c$C$F$$$?$N$G(B * $B$=$l$r=$@5(B * jcPrintDetail() $B$K4JC1$J(B clauseInfo $B%G!<%?$N(B consistency check $B$r(B * $BF~$l$k(B * ver 0.7 89/08/26 * jcExpand() $B$N%P%0=$@5(B * $B>.J8@a$NC1J8@aJQ49$r>/$7=$@5(B * ver 0.8 89/08/30 * changecinfo() $B$G(B conv $B%U%i%0$r%;%C%H$9$k$N$rK:$l$F$$$?(B * moveKBuf()/moveDBuf()/moveCInfo() $B$r>/$7=$@5(B * SYSV $B$,(B define $B$5$l$F$$$l$P(B bcopy()/bzero() $B$NBe$o$j$K(B * memcpy()/memset() $B$r;H$&$h$&$K=$@5(B * ver 0.9 89/09/22 * setLCandData() $B$G commonhd.h $B$K$J$C$?$N$G(B * $B$=$l$N=$@5(B * ver 0.11 89/10/18 * USG $B$,(B define $B$5$l$F$$$F$b(B memcpy()/memset() $B$r;H$&$h$&$K=$@5(B * ver 0.12 89/10/19 * resizeBuffer() $B$G%I%C%H$N:F@_Dj$rK:$l$F$$$k$H$$$&=EBg$J%P%0$r=$@5(B * ver 4.0 89/10/27 * $B%P!<%8%g%sHV9f$r=$@5$7$F(B 4.0 $B$K$9$k!#(B * --- kinput $B$r(B R4 $B$K(B contribute --- * ver 4.1 90/06/04 * $B%/%i%$%"%s%HB&$K$"$k<-=q!&IQEY%U%!%$%k$N%;!<%V$,$G$-$J$$$H$$$&(B * $B=EBg$J%P%0$r=$@5(B * ver 4.2 90/06/15 * $B<-=q$,EPO?2DG=$+$I$&$+$NH=Dj$,4V0c$C$F$$$F!"5UJQ492DG=<-=q$N(B * $B%;!<%V$,$G$-$J$$$H$$$&$^$?$^$?=EBg$J%P%0$r=$@5(B * $B:#$N$H$3$m(B kinput/wterm $B$H$bC18lEPO?5!G=$,$D$$$F$J$$$N$G(B * $Bl9g$K$O<+F0E*$K(B OVERLAP_BCOPY * $B$bDj5A$9$k$h$&$K$7$?(B * SVR4 $B$,Dj5A$5$l$F$$$k>l9g$K$O(B bcopy $B$NBe$o$j$K(B memmove() $B$r;HMQ(B * $B$9$k$h$&$K$7$?(B * ver 4.5 91/09/23 * DEBUG $B$r(B DEBUG_JCLIB $B$KJQ99(B * ver 5.0 91/10/01 * kinput2 $B%j%j!<%98~$1$K%P!<%8%g%sHV9f$r=$@5$7$F(B 5.0 $B$K$9$k!#(B * --- kinput2 $B$r(B R5 $B$K(B contribute --- * ver 5.1 92/02/07 * John Yates $B$5$s(B (yates@bldrsoft.com) $B$+$i(B getLCandDataLen() $B$G(B * $BJ8;z?t$r?t$(4V0c$($F$$$?$N$r;XE&$5$l$?$N$G$=$l$N=$@5(B * ver 5.2 92/12/24 * jcInsertChar() $B$G%G!<%?$N=i4|2=$r$7$F$$$J$+$C$?ItJ,$,$"$C$?(B * $B$N$G=$@5(B ($BCM$,BeF~$5$l$k$^$G;HMQ$5$l$J$$$N$G%P%0$G$O$J$$$N$@$,(B * $B$A$g$C$H5$;}$A$o$k$$$N$G(B) * * --- wnnlib $B:n@.%a%b(B --- * * ver 0.1 98/03/12 * $B$H$j$"$($:!"(Bjllib $B%$%s%?%U%'!<%9$K=q49$($r;O$a$k!#(B * ver 0.2 98/03/16 * $B$^$@$$$/$D$+7|G0;v9`$O$"$k$b$N$N!"4pK\E*$J=q49$($,=*$o$C$?$N$G!"(B * $B%G%P%C%0$r;O$a$k!#$=$l$J$j$K!"F0$$$F$$$kMM;R!#(B * ver 0.3 98/03/18 * $B$$$/$+%P%0$,8+$D$+$C$?(B ($B%3%"!&%@%s%W$7$?(B) $B$N$G!"$=$l$i$r=$@5!#(B * $B$^$@!"(BWnn6 $B$N5!G=$,M-8z$K$J$C$F$$$k$+NI$/$o$+$i$J$$!#(B * ver 0.4 98/07/01 * $B0JA0$+$i5$$K$J$C$F$$$?%k!<%W$K4Y$k8=>]$N860x$,$d$C$HH=$C$?!#(B * $B860x$O!"JQ49$N(B cancel $B$N1dD9$G8F$P$l$k(B expandOrShrink $B$NCf$G!"(B * $BL5JQ49;XDj$N;~$G$b(B ltop ($BBgJ8@a(B) $B%U%i%C%0$r%j%;%C%H$7$F$$$J$+$C(B * $B$?$?$a$G!"$=$l$r=$@5$7$?!#(B * ver 0.5 98/10/15 * $B:G8e$N=$@5$+$iLs(B 3 $B%v7n4V!";HMQ$7$?$,FC$KLdBj$,$J$+$C$?$N$G!"(B * kinput2-fix5 $B$N(B alpha $BHG$,$G$?$N$r5!2q$K!"(Bkinput2 $B%a!<%j%s%0!&(B * $B%j%9%H$XEj9F!#(B * ver 0.6 98/12/03 * $B@PA>:,$5$s$h$j!"J8@a3HBg$N$G$N%P%0$NJs9p$,$"$C$?$N$G(B (kinput2 * $B%a!<%j%s%0!&%j%9%H(B 2106 $B!A(B 2118 $B;2>H(B)$B!"$=$l$r=$@5!#(B * * --- kinput2-fix-alpha2 $B$K.J8@a$H$7$FC1J8@aJQ49$7$J$1$l$P$$$1$J$$(B * $B$H$3$m$r!"BgJ8@a$H$7$FJQ49$7$F$$$?%P%0$r=$@5!#(B * * ver 0.8 99/01/06 * kinput2-fix5-alpha4 $B$,$G$?$N$r5!2q$K!"%I%C%H0J9_$r:o=|$9$kJT=8(B * $B5!G=(B (kill-line) $B$re$N(B ver 0.4 $B$G=$@5$7$?$O$:$N(B * $B%P%0$,:F8=!#(B * * ver 0.9 99/01/18 * $B$d$O$j!"(Bcancel $B$N1dD9$N=hM}$,$&$^$/$J$$$3$H$,H=L@!#$D$^$j!"J8(B * $B@a3HBg$K$h$k(B cancel $B=hM}$G$O!"J8@a>pJs$,(B CcWnn $B$,4|BT$9$k$b$N(B * $B$H0[$C$F$$$k$?$a(B ($B$3$l$,!"(Bjclib $B$H(B wnnlib $B$N0c$$(B)$B!"8mF0:n$r$7(B * $B$?!#$3$N$?$a!"FHN)$7$?(B cancel $B=hM}$r(B jcCancel() $B%U%!%s%/%7%g%s(B * $B$H$7$FH(B)$B!#(B * $B$^$?!"(BgetHint() $B$H(B forceStudy() $B$N=hM}$r$7$?!#(B * * ver 0.99 99/03/05 * $BA02s$N(B getHint() $B$N=hM}$NI{:nMQ$G!"(BsetCandiate() $B$GpJs$NJQ99J}K!$K$"$C$?@x:_%P%0$r=$@5!#(B * * ver ?.?? 99/03/29 ishisone * $BA0$Kr7o$r$-$D$/$9$k!#$^$?(B Wnn4 $B$N(B jl $B%i%$%V%i%j$NIT6q9g(B * ($B;EMM$+$b(B) $B$N2sHr:v$NAH$_9~$_!#(B * * ver ?.?? 99/04/12 ishisone * jcOpen() $B$K2C$($F(B jcOpen2() $B$r$l$N(B * $B=i4|2=%U%!%$%k$r;XDj$9$k$3$H$,$G$-!"H!#(B * * ver ?.?? 99/05/25 ishisone * config.h $B$r%$%s%/%k!<%I$7$J$$$h$&$K$9$k!#I,MW$J$N$O(B LIBDIR $B$@$1(B * $B$@$7!"(Bconfig.h $B$N(B LIBDIR $B$NCM$,@5$7$$$H$$$&J]>Z$b$J$$$?$a!#(B * /usr/local/lib/wnn $B$K7h$a$&$A!#(B($B%*!<%P!<%i%$%I$9$k$3$H$O$G$-$k(B) * * --- kinput2 version 3.0 $B%j%j!<%9(B --- * * ver ?.?? 01/01/10 * Wnn7 $BBP1~!#$H$O$$$C$F$b:G>.8B$NBP1~$G!"(BWnn7 $B$N?7$7$$5!G=$r(B * $BMxMQ$G$-$k$o$1$G$O$J$$!#(B * $B;HMQ$5$l$F$$$J$$JQ?t$r:o=|!#(B */ /* * $B%U%!%s%/%7%g%s(B * * struct wnn_buf jcOpen(char *servername, char *envname, * int override, char *rcfilename, * void (*errmsgfunc)(), int (*confirmfunc)(), * int timeout) * jl_open $B$"$k$$$O(B jl_open_lang $B$KBP1~$7$?(B wnnlib $B$N%$%s%?%U%'!<(B * $B%9$G!"$3$N4X?t$NCf$Gl9g!"4{$K4D6-$,%5!<%PB&$K$"$C$F$b!"(B * $B4D6-$r:F=i4|2=$9$k!#(B * * void jcClose(struct wnn_buf *wnnbuf) * jl_close $B$r8F$S=P$7!"(BjcOpen $B$G3MF@$7$?(B wnnbuf $B$N2rJ|$H%5!<%P$H(B * $B$N@\B3$r@Z$k!#(B * * int jcIsConnect(struct wnn_buf *wnnbuf) * $B%5!<%P$H$N@\B3>uBV$r(B jl_isconnect $B$GD4$Y$k!#(Bwnnbuf $B$,(B NULL$B!"(B * $B4D6-$,:n@.$5$l$F$$$J$$!"$"$k$$$O%5!<%P$H@\B3$5$l$F$$$J$$>l9g$K$O(B 0$B!#(B * wnnbuf $B$,%5!<%P$H@\B3$5$l$F$$$l$P!"(B1 $B$rJV$9!#(B * * jcConvBuf *jcCreateBuffer(struct wnn_env *env, int nclause, int buffersize) * $B;XDj$5$l$?4D6-$r;H$C$FJQ49$N%P%C%U%!$r:n@.$9$k!#%P%C%U%!$O(B * $BJ#?t:n$k$3$H$,$G$-$k!#0l$D$N%P%C%U%!$G$OF1;~$KJ#?t$NJ8$r(B * $BJQ49$9$k$3$H$O$G$-$J$$$N$G!"J#?t$NJ8$rJB9T$7$FJQ49$7$?$$>l9g$K$O(B * $B4v$D$+$N%P%C%U%!$rMQ0U$7$J$/$F$O$J$i$J$$!#(B * $B4D6-$N@_Dj$^$G$rM=$a$d$C$F$*$/I,MW$,$"$k!#$D$^$j%5!<%P$H$N@\B3!"(B * $B4D6-$N@8@.!"<-=q$N@_Dj$J$I$O(B jcOpen $B$G9T$C$F$*$/I,MW$,$"$k!#(B * $B0z?t$N(B nclause $B$H(B buffersize $B$G!"$=$l$>$l=i4|2=;~$K%"%m%1!<%H$9$k(B * $BJ8@a>pJs$*$h$S$+$J(B/$BI=<(%P%C%U%!$NBg$-$5$,;XDj$G$-$k!#(B * $B$?$@$7$3$l$i$O!"%5%$%:$,B-$j$J$/$J$l$PI,MW$K1~$8$F<+F0E*$K(B * $BA}$d$5$l$k$?$a!"$3$3$K;XDj$7$?0J>e$N?t$NJ8@a$d!"J8;zNs$,JQ49$G$-$J$$(B * $B$o$1$G$O$J$$!#$=$l$>$l(B 0 $B$^$?$OIi$NCM$r;XDj$9$k$H!"%G%U%)%k%H$N(B * $B%5%$%:$G%"%m%1!<%H$5$l$k!#=>$C$FDL>o$O(B nclause/buffersize $B$H$b(B * 0 $B$r;XDj$7$F$*$1$P$h$$!#(B * $B%j%?!<%s%P%j%e!<$H$7$F%P%C%U%!$rJV$9!#%(%i!<$N;~$K$O(B NULL $B$,(B * $BJV$5$l$k!#(B * * int jcDestroyBuffer(jcConvBuf *buf, int savedic) * $B%P%C%U%!$N;HMQ$r=*N;$9$k!#4D6-$r>C$7$?$j!"%5!<%P$H$N@\B3$r@Z$C$?$j(B * $B$9$k$3$H$O!"(BjcClose $B$G9T$&!#(B * $B0z?t(B savedic $B$,(B 0 $B$G$J$1$l$P!"4D6-Cf$G;HMQ$5$l$F$$$kA4$F$N<-=q$r(B * $B%;!<%V$9$k!#(B * * int jcClear(jcConvBuf *buf) * $B%P%C%U%!$r%/%j%"$9$k!#?7$?$KJQ49$r;O$a$k:]$K$O:G=i$K$3$N(B * $B%U%!%s%/%7%g%s$r8F$P$J$1$l$P$J$i$J$$!#(B * * int jcInsertChar(jcConvBuf *buf, int c) * $B%I%C%H$K#1J8;zA^F~$9$k!#(B * $B%+%l%s%HJ8@a$,4{$KJQ49$5$l$F$$$l$PL5JQ49$N>uBV$KLa$k!#(B * $B%+%l%s%HJ8@a$OBgJ8@a$G$"$k!#(B * * int jcDeleteChar(jcConvBuf *buf, int prev) * $B%I%C%H$NA0Kt$O8e$m$N#1J8;z$r:o=|$9$k!#(B * $B%+%l%s%HJ8@a$,4{$KJQ49$5$l$F$$$l$PL5JQ49$N>uBV$KLa$k!#(B * $B%+%l%s%HJ8@a$OBgJ8@a$G$"$k!#(B * * int jcConvert(jcConvBuf *buf, int small, int tan, int jump) * $B%+%l%s%HJ8@a$+$i8e$m$rJQ49$9$k!#(B * $B0z?t(B tan $B$,(B 0 $B$J$iO"J8@aJQ49!"$=$&$G$J$1$l$P%+%l%s%HJ8@a$r(B * $BC1J8@aJQ49$7!"$=$N$"$H$rO"J8@aJQ49$9$k!#(B * $B0z?t(B small $B$,(B 0 $B$G$J$1$l$P>.J8@a$,!"$=$&$G$J$1$l$PBgJ8@a$,(B * $B%+%l%s%HJ8@a$H$7$F;H$o$l$k!#(B * $B0z?t(B jump $B$G!"JQ498e$N%+%l%s%HJ8@a$N0LCV$,7h$^$k!#(Bjump $B$,(B * 0 $B$J$i%+%l%s%HJ8@a$N0LCV$OJQ49$7$F$bJQ$o$i$J$$(B ($B$?$@$7(B * $B%+%l%s%HJ8@a$H$7$FBgJ8@a$r;XDj$7$?>l9g!"JQ498e$N%+%l%s%H(B * $B>.J8@a$O%+%l%s%HBgJ8@a$N:G=i$N>.J8@a$K$J$k(B) $B$,!"(B0 $B$G$J$1$l$P(B * $B:G8e$NJ8@a$NuBV$KLa$9!#(B * $B%+%l%s%HBgJ8@a$,$$$/$D$+$N>.J8@a$+$i$G$-$F$$$?>l9g!"$3$l$i$N(B * $B>.J8@a$O$^$H$a$i$l!"0l$D$NL5JQ49>uBV$NJ8@a$K$J$k!#(B * $B%+%l%s%H>.J8@a$rL5JQ49$KLa$95!G=$OMQ0U$7$J$$!#$J$<$+$H$$$&$H!"(B * $BBgJ8@a$NCf$N(B 1 $B>.J8@a$N$_$,L5JQ49$K$J$C$F$7$^$&$H!"$=$NJ8@a$K(B * $B4X$7$F(B jcMove() $B$G0\F0$r9T$J$C$?;~!"$I$&0\F0$9$l$P$h$$$N$+(B * $B$h$/$o$+$i$J$$!"$D$^$j0\F0$N%;%^%s%F%#%/%9$,ITL@3N$K$J$C$F$7$^$&(B * $B$+$i$G$"$k!#(B * * int jcKana(jcConvBuf *buf, int small, int kind) * $B%+%l%s%HJ8@a$r$+$J$K$9$k!#(B * $B0z?t(B kind $B$,!"(BJC_HIRAGANA $B$J$i$R$i$,$J!"(BJC_KATAKANA $B$J$i%+%?%+%J$K(B * $BJQ$o$k!#J8@a$NJQ49>uBV$OJQ2=$7$J$$!#$D$^$jJQ49$5$l$F$$$l$P(B * $BJQ49>uBV$N$^$^!"L$JQ49$N>uBV$J$iL$JQ49$N$^$^$G$"$k!#(B * $B0z?t(B small $B$,(B 0 $B$G$J$1$l$P%+%l%s%H>.J8@a$,!"$=$&$G$J$1$l$P(B * $B%+%l%s%HBgJ8@a$,JQ$o$k!#(B * $B%+%l%s%HBgJ8@a$r$+$J$K$9$k>l9g!"$=$NCf$N>.J8@a$O0l$D$K$^$H$a$i$l$k!#(B * * int jcFix(jcConvBuf *buf) * $B8=:_!"%P%C%U%!$K$O$$$C$F$$$kJQ49J8;zNs$r3NDj$5$;$k!#(B * * int jcFix1(jcConvBuf *buf) * $B8=:_!"%P%C%U%!$K$O$$$C$F$$$kJQ49J8;zNs$N@hF,0lJ8;z$@$1$r3NDj$5$;$k!#(B * * int jcExpand(jcConvBuf *buf, int small, int convf) * $B%+%l%s%HJ8@a$ND9$5$r#1J8;z?-$P$9!#0z?t(B convf $B$,(B 0 $B$G$J$1$l$P(B * $B?-$P$7$?$"$H:FJQ49$9$k!#(B * $B0z?t(B small $B$,(B 0 $B$G$J$1$l$P>.J8@a$,!"$=$&$G$J$1$l$PBgJ8@a$,(B * $B%+%l%s%HJ8@a$H$7$F;H$o$l$k!#(B * * int jcShrink(jcConvBuf *buf, int small, int convf) * $B%+%l%s%HJ8@a$ND9$5$r#1J8;z=L$a$k!#0z?t(B convf $B$,(B 0 $B$G$J$1$l$P(B * $B=L$a$?$"$H:FJQ49$9$k!#(B * $B0z?t(B small $B$,(B 0 $B$G$J$1$l$P>.J8@a$,!"$=$&$G$J$1$l$PBgJ8@a$,(B * $B%+%l%s%HJ8@a$H$7$F;H$o$l$k!#(B * * int jcNext(jcConvBuf *buf, int small, int prev) * $B%+%l%s%HJ8@a$r.J8@a$,!"$=$&$G$J$1$l$PBgJ8@a$,(B * $B%+%l%s%HJ8@a$H$7$F;H$o$l$k!#(B * * int jcCandidateInfo(jcConvBuf *buf, int small, int *ncandp, int *curcandp) * $BpJs$rJV$9!#(B * $BuBV(B * 1 $B$J$iJQ49>uBV(B * -1 $B$J$i(B $B%(%i!<(B * * int jcMove(jcConvBuf *buf, int small, int dir) * $B%I%C%H!&%+%l%s%HJ8@a$r0\F0$9$k!#(B * $B%+%l%s%HJ8@a$,JQ49:Q$_$G$"$l$PJ8@a0\F0$7!"$=$&$G$J$1$l$P(B * $B%I%C%H$N$_$,0\F0$9$k!#(B * $BJ8@a0\F0;~$K!"0z?t(B small $B$,(B 0 $B$G$J$1$l$P>.J8@aC10L$G0\F0$7!"(B * $B$=$&$G$J$1$l$PBgJ8@aC10L$K0\F0$9$k!#(B * * int jcTop(jcConvBuf *buf) * $B%I%C%H!&%+%l%s%HJ8@a$rJ8$N@hF,$K0\F0$9$k!#%+%l%s%H>.J8@a!&(B * $B%+%l%s%HBgJ8@a$H$b$K0\F0$9$k!#(B * * int jcBottom(jcConvBuf *buf) * $B%I%C%H!&%+%l%s%HJ8@a$rJ8$N:G8e$K0\F0$9$k!#%+%l%s%H>.J8@a!&(B * $B%+%l%s%HBgJ8@a$H$b$K0\F0$9$k!#(B * $B$b$7!":G8e$NJ8@a$,L5JQ49>uBV$G$"$l$P%+%l%s%HJ8@a$O$=$NJ8@a$K$J$j!"(B * $B%I%C%H$O$=$NJ8@a$N:G8e$KMh$k!#$=$&$G$J$1$l$P%+%l%s%HJ8@a$O(B * $B:G8e$NJ8@a$NuBV$K$J$k!#(B * * int jcSaveDic(jcConvBuf *buf) * $B;HMQCf$N4D6-$G;H$o$l$F$$$kA4$F$N<-=qJB$S$KIQEY%U%!%$%k$r(B * $B%;!<%V$9$k!#(B * $B$3$N%U%!%s%/%7%g%s$O>o$K(B 0 $B$rJV$9!#K\Ev$K%;!<%V$5$l$?$+$N(B * $B%A%'%C%/$O$7$J$$!#(B * * int jcCancel(jcConvBuf *buf) * $B8=:_F~NOCf$N$9$Y$F$NJ8;zNs$r!"JQ49:Q$_$N$b$N$r4^$a$F!"$9$Y$FL$(B * $BJQ49>uBV$K$9$k!#%*%j%8%J%k$N(B CcWnn $B$H(B jclib $B%$%s%?%U%'!<%9$G$O!"(B * $B@hF,J8@a$rA4F~NOJ8;zNs$ND9$5$^$G3HD%$9$k$3$H$G!"$3$N=hM}$r9T$J$C(B * $B$F$$$?$,!"$3$N=hM}$H(B jllib $B$H$N%$%s%?%U%'!<%9$,$&$^$/9g$o$:!"(B * wnnlib $B$G$OFHN)$7$?%U%!%s%/%7%g%s$H$7$?!#(B * * int jcKillLine(jcConvBuf *buf) * $B8=:_$N%I%C%H$"$k$$$O%+%l%s%HJ8@a0J9_$r:o=|$9$k!#%I%C%H$,$"$kJ8(B * $B@a$,4{$KJQ49$5$l$F$$$l$P!"$=$NJ8@a!"$D$^$j%+%l%s%HJ8@a$r4^$a$F(B * $B:o=|$9$k!#%I%C%H$"$k$$$O%+%l%s%HJ8@a$,@hF,$G$"$l$P!"(BjcClear() * $B$HF1$8F0:n$r$9$k!#$D$^$j!"(BjcClear() $B<+BN$OITMW$K$J$k$N$@$,!"5l(B * $B%$%s%?%U%'!<%9$r9MN8$7$F!"(BjcClear() $B$O$=$N$^$^;D$9!#(B * $B$J$*!":o=|8e$N%I%C%H$H%+%l%s%HJ8@a$O!"A4JQ49BP>]J8;zNs$NKvHx!"(B * $B$"$k$$$O:G=*J8@a$NKvHx$K$"$k6uJ8@a$K$J$k!#(B * * $B$3$l$i$N%U%!%s%/%7%g%s$OFC$K=q$+$l$F$$$J$1$l$P@.8y$N>l9g$K$O(B 0, * $B%(%i!<$N>l9g$K$O(B -1 $B$rJV$9!#(B * */ /* * $B%0%m!<%P%kJQ?t(B * * wnnlib $B$G;H$o$l$k%0%m!<%P%kJQ?t$O(B jcErrno $B$?$@0l$D$G$"$k!#(B * * extern int jcErrno * $B%(%i!<$N:]$K!"%(%i!<%3!<%I$,BeF~$5$l$k!#%(%i!<%3!<%I$O(B wnnlib.h $B$G(B * $BDj5A$5$l$F$$$k!#(B */ /* * $B%G!<%?9=B$(B * * wnnlib $B$N;}$D%G!<%?$G!"%"%W%j%1!<%7%g%s$+$iD>@\%"%/%;%9$7$F$h$$$N$O(B * $BJQ49%P%C%U%!(B jcConvBuf $B7?$N(B public member $B$H=q$+$l$?ItJ,$N$_$G$"$k!#(B * $BD>@\%"%/%;%9$7$F$h$$$H$$$C$F$b!"CM$r;2>H$9$k$@$1$G!"CM$rJQ99$9$k$3$H$O(B * $B5v$5$l$J$$!#%"%W%j%1!<%7%g%s$,>!l9g$N(B wnnlib $B$NF0:n$O(B * $BJ]>Z$5$l$J$$!#(B * * <$BJQ49%P%C%U%!(B> * * jcConvBuf $B7?$O(B wnnlib.h $B$GpJs(B * struct wnn_env *wnn; * /-* private member *-/ * [ $B>JN,(B ] * } jcConvBuf; * * nClause $B$O8=:_$NJ8@a?t$rI=$9!#$3$l$O>.J8@a$N?t$G$"$k!#(B * curClause $B$O%+%l%s%H>.J8@a$NHV9f$G$"$k!#(B * curLCStart $B$H(B curLCEnd $B$O%+%l%s%HBgJ8@a$NHO0O$r<($9!#(BcurLCStart $B$+$i(B * curLCEnd-1 $B$NHO0O$NJ8@a$,%+%l%s%HBgJ8@a$G$"$k!#$D$^$j!"(BcurLCEnd $B$O(B * $B$l$N%P%C%U%!$KF~$l$i$l$?J8;zNs$N:G8e(B * $B$NJ8;z$NpJs$NF~$C$?G[Ns$G$"$k!#$3$l$O$"$H$G@bL@$9$k!#(B * * env $B$O$3$NJQ49%P%C%U%!$N;HMQ$9$k4D6-$G$"$k!#(B * * <$BJ8@a>pJs(B> * * $B3FJ8@a$N>pJs$O(B clauseInfo $B$H$$$&L>A0$N(B jcClause $B7?$NG[Ns$KF~$C$F$$$k!#(B * jcClause $B7?$O(B wnnlib.h $B$Ge$N!"$=$NJ8@a$NFI$_$N;O$^$j$N0LCV$r<($9%]%$%s%?(B * $B$G$"$k!#$^$?!"(Bdispp $B$O!"I=<(%P%C%U%!(B $B>e$G!"$=$NJ8@a$N;O$^$j$N0LCV$r<($9!#(B * $B=>$C$F!"(Bn $BHV$NJ8@a$O!"(B * $B$h$_(B: clauseInfo[n].kanap $B$+$i(B clauseInfo[n+1].kanap $B$NA0$^$G(B * $B4A;z(B: clauseInfo[n].dispp $B$+$i(B clauseInfo[n+1].dispp $B$NA0$^$G(B * $B$H$J$k!#$3$N$h$&$K(B n $BHVL\$NJ8@a$NHO0O$r<($9$N$K(B n+1 $BHVL\$N(B clauseInfo $B$,(B * $BI,MW$J$?$a!"(BclauseInfo $B$NG[Ns$NMWAG$O>o$K@hF,$+$iJ8@a?t(B+1$B8D$,M-8z$G$"$k!#(B * $B$J$*!"@hF,J8@a$O(B 0 $BHVL\$+$i;O$^$k$b$N$H$9$k!#(B * * conv $B$O$=$NJ8@a$NJQ49>uBV$rI=$9!#(B0 $B$J$iL$JQ49>uBV!"(B1 $B$J$iJQ49>uBV!"(B * -1 $B$J$i(B jcKana() $B$K$h$C$F5?;wJQ49$5$l$?$3$H$r<($9!#$3$l$O!"JQ49$N3X=,$H(B * $BIQEY>pJs$N99?7$N$?$a$K;HMQ$9$k!#(B * * ltop $B$,(B 0 $B$G$J$1$l$P$=$NJ8@a$,BgJ8@a$N@hF,$G$"$k$3$H$r<($9!#(Bimabit $B$O(B * $B$=$NJ8@a$N448l$N:#;H$C$?$h%S%C%H$,F~$C$F$$$k!#(B * * kanap, dispp $BEy$G!"(Bn $BHVL\$NJ8@a$NHO0O$r<($9$N$K(B n+1 $BHVL\$NJ8@a>pJs$,(B * $BI,MW$J$?$a!"(BclauseInfo $B$NG[Ns$NMWAG$O>o$K@hF,$+$iJ8@a?t(B+1$B8D$,M-8z$G$"$k!#(B * $BJ8@a?t(B+1 $B8DL\$NJ8@a>pJs(B (clauseInfo[nClause]) $B$O(B * kanap, dispp: $B$=$l$>$l(B kanaEnd, displayEnd $B$KEy$7$$(B * conv: 0 ($BL$JQ49>uBV(B) * ltop: 1 * $B$G$"$k!#(B * * $BJ8@a>pJs$N(B kanap, dispp $B$rNc$r;H$C$F<($7$F$*$/!#(B * * $BNcJ8(B: $B$3$l$O%G!<%?9=B$$r<($9$?$a$NNcJ8$G$9(B ($BJ8@a?t(B 6) * * kanap: $B#0(B $B#1(B $B#2(B $B#3(B $B#4(B $B#5(B $B#6(B(=kanaEnd) * $B"-(B $B"-(B $B"-(B $B"-(B $B"-(B $B"-(B $B"-(B * kanaBuf: $B$3$l$O$G!<$?$3$&$>$&$r$7$a$9$?$a$N$l$$$V$s$G$9(B * * dispp: $B#0(B $B#1(B $B#2(B $B#3(B $B#4(B $B#5(B $B#6(B(=displayEnd) * $B"-(B $B"-(B $B"-(B $B"-(B $B"-(B $B"-(B $B"-(B * displayBuf: $B$3$l$O%G!<%?9=B$$r<($9$?$a$NNcJ8$G$9(B */ #ifdef DEBUG_WNNLIB #include #endif #include "wnnlib.h" #include #include #include #include #include #include "gettext.h" #ifndef WNNENVDIR #define WNNENVDIR WNNLIBDIR "/wnn" #endif /* * Wnn7 $B$G$OBgC@$K$b$$$/$D$+$N(B API $B4X?t$K%P%C%U%!%5%$%:$r;XDj$9$k(B * $B0z?t$rDI2C$7$F$$$k$?$a!"%P!<%8%g%s$rD4$Y!"$=$l$K$h$C$F0z?t$r(B * $BJQ99$7$J$1$l$P$J$i$J$$!#$H$j$"$($:K\%W%m%0%i%`$G$O(B Wnn7 $B$N0z?t$K9g$o$;$k!#(B */ /* Wnn7 $B$+$I$&$+$NH=Dj(B */ #ifdef WNN_RENSOU #define WNN7 #endif #ifdef WNN7 #define ki2_jl_get_yomi jl_get_yomi #define ki2_jl_get_kanji jl_get_kanji #define ki2_jl_get_zenkouho_kanji jl_get_zenkouho_kanji #define ki2_jl_fuzokugo_get jl_fuzokugo_get #else #define ki2_jl_get_yomi(a, b, c, d, sz) jl_get_yomi(a, b, c, d) #define ki2_jl_get_kanji(a, b, c, d, sz) jl_get_kanji(a, b, c, d) #define ki2_jl_get_zenkouho_kanji(a, b, c, sz) jl_get_zenkouho_kanji(a, b, c) #define ki2_jl_fuzokugo_get(a, b, sz) jl_fuzokugo_get(a, b) #endif /* WNN7 */ #ifdef DEBUG_WNNLIB static void showBuffers(jcConvBuf *, char *); static void printBuffer(wchar *start, wchar *end); #define TRACE(f, m) fprintf(stderr, "%s: %s\n", (f), (m)); #else #define TRACE(f, m) #endif #define CHECKFIXED(buf) \ { if ((buf)->fixed) { jcErrno = JE_ALREADYFIXED; return -1; } } #define Free(p) {if (p) free((char *)(p));} #define DotSet(buf) (buf)->dot = (buf)->clauseInfo[(buf)->curLCStart].kanap #define KANABEG 0xa4a1 /* '$B$!(B' */ #define KANAEND 0xa4f3 /* '$B$s(B' */ #define KATAOFFSET 0x100 /* $B%+%?%+%J$H$R$i$,$J$N%3!<%I!&%*%U%;%C%H(B */ /* 1$BJ8@a$NFI$_!&4A;z$rcandKind $B$NCM(B */ #define CAND_SMALL 0 /* $B>.J8@a8uJd(B */ #define CAND_LARGE 1 /* $BBgJ8@a8uJd(B */ #define MAXFZK LENGTHBUNSETSU #ifdef SVR4 #define bcopy(p, q, l) memmove(q, p, l) #define bzero(p, l) memset(p, 0, l) #else #if defined(SYSV) || defined(USG) #define OVERLAP_BCOPY extern char *memset(); #define bzero(p, l) memset(p, 0, l) #endif #endif /* $B%U%!%s%/%7%g%s%W%m%H%?%$%W@k8@(B */ static wchar *wstrncpy(wchar *, wchar *, int); static int wstrlen(wchar *); static void moveKBuf(jcConvBuf *, int, int); static void moveDBuf(jcConvBuf *, int, int); static void moveCInfo(jcConvBuf *, int, int); static int resizeBuffer(jcConvBuf *, int); static int resizeCInfo(jcConvBuf *, int); static void setCurClause(jcConvBuf *, int); static int getHint(jcConvBuf *, int, int); static int renConvert(jcConvBuf *, int); static int tanConvert(jcConvBuf *, int); static int doKanrenConvert(jcConvBuf *, int); static int doKantanDConvert(jcConvBuf *, int, int); static int doKantanSConvert(jcConvBuf *, int); static int unconvert(jcConvBuf *, int, int); static int expandOrShrink(jcConvBuf *, int, int, int); static int makeConverted(jcConvBuf *, int); static int getCandidates(jcConvBuf *, int); static int setCandidate(jcConvBuf *, int); static void checkCandidates(jcConvBuf *, int, int); static int forceStudy(jcConvBuf *, int); /* $B%(%i! 0) *--to = *--from; } else { while (n-- > 0) *to++ = *from++; } } #endif /* * wnnlib $BFbIt$G;H$o$l$k%U%!%s%/%7%g%s(B */ static int wstrcmp(wchar *s1, wchar *s2) { while (*s1 && *s1 == *s2) s1++, s2++; return (int)(*s1 - *s2); } wchar * wstrncpy(wchar *s1, wchar *s2, int n) { wchar *ret = s1; while (n-- > 0 && (*s1++ = *s2++)) ; while (n-- > 0) *s1++ = 0; return ret; } /* wstrlen -- wchar $B7?J8;zNs$N(B strlen */ static int wstrlen(wchar *s) { int n = 0; while (*s++) n++; return n; } static int euctows(wchar *wstr, const char *euc, int len) { int i, j; wchar wc; j = 0; for (i = 0; i < len; i++) { wc = (euc[j + 1] << 8) | (euc[j] & 0xff); wstr[i] = htons(wc); j += sizeof(wchar); } return j; } static int wstoeuc(char *euc, const wchar *wstr, int len) { int i, j; wchar wc; j = 0; for (i = 0; i < len; i += sizeof(wchar)) { wc = ntohs(wstr[j]); euc[i] = wc & 0xff; euc[i + 1] = wc >> 8; j++; } return j; } /* moveKBuf -- $B$+$J%P%C%U%!$N;XDj$5$l$?J8@a$N@hF,$+$i$"$H$rF0$+$9(B */ static void moveKBuf(jcConvBuf *buf, int cl, int move) { jcClause *clp = buf->clauseInfo + cl; jcClause *clpend; int movelen; TRACE("moveKBuf", "Enter") if (move == 0) return; if ((movelen = buf->kanaEnd - clp->kanap) > 0) { /* $B$+$J%P%C%U%!$NFbMF$rF0$+$9(B */ (void)bcopy((char *)clp->kanap, (char *)(clp->kanap + move), movelen * sizeof(wchar)); } /* $B$+$J%P%C%U%!$NJQ99$K9g$o$;$F(B clauseInfo $B$r%"%C%W%G!<%H$9$k(B */ clpend = buf->clauseInfo + buf->nClause; while (clp <= clpend) { clp->kanap += move; clp++; } /* kanaEnd $B$N%"%C%W%G!<%H(B */ buf->kanaEnd += move; } /* moveDBuf -- $BI=<(%P%C%U%!$N;XDj$5$l$?J8@a$N@hF,$+$i$"$H$rF0$+$9(B */ static void moveDBuf(jcConvBuf *buf, int cl, int move) { jcClause *clp = buf->clauseInfo + cl; jcClause *clpend; int movelen; TRACE("moveDBuf", "Enter") if (move == 0) return; if ((movelen = buf->displayEnd - clp->dispp) > 0) { /* $BI=<(%P%C%U%!$NFbMF$rF0$+$9(B */ (void)bcopy((char *)clp->dispp, (char *)(clp->dispp + move), movelen * sizeof(wchar)); } /* $BI=<(%P%C%U%!$NJQ99$K9g$o$;$F(B clauseInfo $B$r(B * $B%"%C%W%G!<%H$9$k(B */ clpend = buf->clauseInfo + buf->nClause; while (clp <= clpend) { clp->dispp += move; clp++; } /* displayEnd $B$N%"%C%W%G!<%H(B */ buf->displayEnd += move; } /* moveCInfo -- ClauseInfo $B$N;XDj$5$l$?J8@a$N@hF,$+$i$"$H$rF0$+$9(B */ static void moveCInfo(jcConvBuf *buf, int cl, int move) { jcClause *clp = buf->clauseInfo + cl; int len; TRACE("moveCInfo", "Enter") /* move $B$K@5$N?t$r;XDj$9$l$PJ8@a$NA^F~!"Ii$J$iJ8@a$N:o=|$K$J$k(B */ if (move == 0) return; if ((len = buf->nClause + 1 - cl) > 0) { (void)bcopy((char *)clp, (char *)(clp + move), len * sizeof(jcClause)); } buf->nClause += move; /* * $B8uJd$rl9g$K$O!"(B * setCandidate() $B$NCf$G@_Dj$7$J$*$5$l$k!"$^$?!"(Bjllib $BFb$G$b(B * $BF1$8J8@a$KBP$9$kA48uJdl9g$N9MN8$,$"$k!#(B * $B$H$$$&$3$H$G!"$3$3$O0BA4%5%$%I$G$$$/!#(B */ if (buf->candClause >= 0) { buf->candClause = -1; buf->candClauseEnd = -1; } } /* resizeBuffer -- $B$+$J(B/$BI=<(%P%C%U%!$NBg$-$5$rJQ$($k(B */ static int resizeBuffer(jcConvBuf *buf, int len) { wchar *kbufold, *dbufold; wchar *kbufnew, *dbufnew; int allocsize; jcClause *clp, *clpend; TRACE("resizeBuffer", "Enter") kbufold = buf->kanaBuf; dbufold = buf->displayBuf; /* realloc $B$9$k(B */ allocsize = (len + 1) * sizeof(wchar); kbufnew = (wchar *)realloc((char *)kbufold, allocsize); dbufnew = (wchar *)realloc((char *)dbufold, allocsize); if (kbufnew == NULL || dbufnew == NULL) { Free(kbufnew); Free(dbufnew); jcErrno = JE_NOCORE; return -1; } buf->bufferSize = len; if (kbufnew == kbufold && dbufnew == dbufold) { /* $B%]%$%s%?$OA0$HJQ$o$C$F$$$J$$(B */ return 0; } /* $B3FkanaBuf = kbufnew; buf->kanaEnd = kbufnew + (buf->kanaEnd - kbufold); buf->displayBuf = dbufnew; buf->displayEnd = dbufnew + (buf->displayEnd - dbufold); buf->dot = kbufnew + (buf->dot - kbufold); clp = buf->clauseInfo; clpend = clp + buf->nClause; while (clp <= clpend) { clp->kanap = kbufnew + (clp->kanap - kbufold); clp->dispp = dbufnew + (clp->dispp - dbufold); clp++; } return 0; } /* resizeCInfo -- clauseInfo $B%P%C%U%!$NBg$-$5$rJQ$($k(B */ static int resizeCInfo(jcConvBuf *buf, int size) { jcClause *cinfonew; TRACE("resizeCInfo", "Enter") /* realloc $B$9$k(B */ cinfonew = (jcClause *)realloc((char *)buf->clauseInfo, (size + 1) * sizeof(jcClause)); if (cinfonew == NULL) { jcErrno = JE_NOCORE; return -1; } buf->clauseSize = size; buf->clauseInfo = cinfonew; return 0; } /* setCurClause -- $B%+%l%s%HJ8@a$r@_Dj$9$k(B */ static void setCurClause(jcConvBuf *buf, int cl) { jcClause *clp = buf->clauseInfo; int i; TRACE("setCurClause", "Enter") /* $B%+%l%s%H>.J8@a(B */ buf->curClause = cl; /* $B%+%l%s%HBgJ8@a3+;OJ8@a(B */ for (i = cl; i > 0 && !clp[i].ltop; i--) ; buf->curLCStart = i; /* $B%+%l%s%HBgJ8@a=*N;J8@a(B ($B$NnClause && !clp[i].ltop; i++) ; buf->curLCEnd = i; } /* getHint -- $BJ8@a$NA08e$N@\B3>pJs$rF@$k(B */ static int getHint(jcConvBuf *buf, int start, int end) { jcClause *cinfo = buf->clauseInfo; int hint = 0; TRACE("getHint", "Enter") /* * $B:G=i$NJ8@a$ND>A0$NJ8@a$,JQ49$5$l$F$$$l$P!"A0$NJ8@a$H@\B3$r$9$k(B */ if (start > 0 && cinfo[start - 1].conv == 1) hint |= WNN_USE_MAE; /* * $B:G8e$NJ8@a$ND>8e$,JQ49$5$l$F$$$F$$$l$P!"8e$NJ8@a$H@\B3$r$9$k(B */ if (end > 0 && end < jl_bun_suu(buf->wnn) && cinfo[end].conv == 1) hint |= WNN_USE_ATO; return hint; } /* renConvert -- $B%+%l%s%HJ8@a$+$i8e$m$rO"J8@aJQ49$9$k(B */ static int renConvert(jcConvBuf *buf, int small) { TRACE("renConvert", "Enter") /* $BO"J8@aJQ49$9$k(B */ if (doKanrenConvert(buf, small ? buf->curClause : buf->curLCStart) < 0) { return -1; } /* * $B%+%l%s%HJ8@a$N@_Dj(B * small $B$,(B 0 $B$J$i!"(B * $B%+%l%s%HBgJ8@a$N@hF,$O(B buf->curLCStart $B$GJQ$o$i$:(B * $B%+%l%s%HBgJ8@a=*$j$O(B ltop $B%U%i%0$r%5!<%A$7$FC5$9(B * $B%+%l%s%H>.J8@a$O%+%l%s%HBgJ8@a@hF,$K0\F0(B * small $B$,(B 0 $B$G$J$$$J$i!"(B * $B%+%l%s%H>.J8@a$O(B buf->curClause $B$GJQ$o$i$:(B * $B%+%l%s%HBgJ8@a$N@hF,$*$h$S=*$j$O!"%+%l%s%H>.J8@a$N(B * $BA08e$r(B ltop $B%U%i%0$r%5!<%A$7$FC5$9(B */ setCurClause(buf, small ? buf->curClause : buf->curLCStart); /* $B%I%C%H$N@_Dj(B */ DotSet(buf); return 0; } /* tanConvert -- $B%+%l%s%HJ8@a$rC1J8@aJQ49$9$k(B */ static int tanConvert(jcConvBuf *buf, int small) { TRACE("tanConvert", "Enter") /* * $BC1J8@aJQ49$N>l9g!"4pK\E*$K(B 2 $BCJ3,$N=hM}$r9T$J$&$3$H$K$J$k(B * $B$^$:!"%+%l%s%HJ8@a$rC1J8@aJQ49(B * $BcurClause) < 0) return -1; /* $B%+%l%s%HJ8@a$N@_Dj(B * $B%+%l%s%H>.J8@a$O(B buf->curClause $B$GJQ$o$i$:(B * $B%+%l%s%HBgJ8@a$N@hF,$H:G8e$O%+%l%s%H>.J8@a$N(B * $BA08e$K(B ltop $B%U%i%0$r%5!<%A$7$FC5$9(B */ setCurClause(buf, buf->curClause); /* $B%I%C%H$N@_Dj(B */ DotSet(buf); /* $BO"J8@aJQ49(B */ if (buf->curClause + 1 < buf->nClause && buf->clauseInfo[buf->curClause + 1].conv == 0) { /* $B>.J8@a$NC1J8@aJQ49%b!<%I$G!"l9g!"(Bltop $B%U%i%0$r(B 0 $B$K$7$F(B * $BA0$H@\B3$G$-$k$h$&$K$9$k(B */ buf->clauseInfo[buf->curClause + 1].ltop = 0; } if (doKanrenConvert(buf, buf->curClause + 1) < 0) return -1; /* $B$b$&0lEY%+%l%s%HJ8@a$N@_Dj(B * $BO"J8@aJQ49$N7k2L$K$h$C$F$O%+%l%s%HBgJ8@a$N:G8e$,(B * $B0\F0$9$k$3$H$,$"$k(B */ setCurClause(buf, buf->curClause); /* $B%I%C%H$O0\F0$7$J$$$N$G:F@_Dj$7$J$/$F$h$$(B */ } else { /* $B$^$:C1J8@aJQ49$9$k(B */ if (doKantanDConvert(buf, buf->curLCStart, buf->curLCEnd) < 0) return -1; /* $B%+%l%s%HJ8@a$N@_Dj(B * $B%+%l%s%HBgJ8@a$N@hF,$O(B buf->curLCStart $B$GJQ$o$i$:(B * $B%+%l%s%HBgJ8@a=*$j$O(B ltop $B%U%i%0$r%5!<%A$7$FC5$9(B * $B%+%l%s%H>.J8@a$O%+%l%s%HBgJ8@a@hF,$K0\F0(B */ setCurClause(buf, buf->curLCStart); DotSet(buf); /* $BO"J8@aJQ49(B */ if (doKanrenConvert(buf, buf->curLCEnd) < 0) return -1; /* $B$3$A$i$O(B small $B$N;~$H0c$C$FO"J8@aJQ49$N7k2L%+%l%s%HJ8@a$,(B * $B0\F0$9$k$3$H$O$J$$(B */ } return 0; } /* doKanrenConvert -- $B;XDj$5$l$?J8@a$+$i8e$m$rO"J8@aJQ49$9$k(B */ static int doKanrenConvert(jcConvBuf *buf, int cl) { jcClause *clp; wchar *kanap, *dispp; wchar savechar; int nsbun; int len, n; TRACE("doKanrenConvert", "Enter") /* * $B;XDj$5$l$?J8@a$+$i8e$m$rO"J8@aJQ49$9$k(B * $B%+%l%s%HJ8@a$N:F@_Dj$J$I$O$7$J$$(B */ if (cl >= buf->nClause) { /* $B;XDj$5$l$?J8@a$O$J$$(B * $B%(%i!<$K$O$7$J$$(B * $B6u$NJ8@a$rJQ49$7$h$&$H$7$?;~$K!"$=$l$r;vA0$K%A%'%C%/$7$F(B * $B%(%i!<$K$9$k$N$O>e0L$N4X?t$N@UG$$G$"$k(B */ return 0; } /* * $BJQ49$9$kA0$K!">/$J$/$H$b;XDj$5$l$?J8@a$ND>A0$^$G$,JQ49$5$l$F(B * $B$$$k$3$H$rJ]>Z$9$k(B */ if (makeConverted(buf, cl) < 0) { return -1; } clp = buf->clauseInfo + cl; /* $B$+$J%P%C%U%!$r(B NULL $B%?!<%_%M!<%H$5$;$F$*$/(B */ *(buf->kanaEnd) = 0; /* $BO"J8@aJQ49$9$k(B */ #ifdef WNN6 nsbun = jl_fi_ren_conv(buf->wnn, clp->kanap, cl, -1, getHint(buf, cl, -1)); #else nsbun = jl_ren_conv(buf->wnn, clp->kanap, cl, -1, getHint(buf, cl, -1)); #endif if (nsbun < 0) { jcErrno = JE_WNNERROR; return -1; } /* clauseInfo $B$N%5%$%:$N%A%'%C%/(B */ if (nsbun > buf->clauseSize) { if (resizeCInfo(buf, cl + nsbun) < 0) return -1; } /* $BclauseInfo + cl; len = (clp->dispp - buf->displayBuf) + jl_kanji_len(buf->wnn, cl, -1); if (len > buf->bufferSize) { if (resizeBuffer(buf, len) < 0) return -1; } buf->nClause = nsbun; /* $B$G$O(B clauseInfo $B$KJQ497k2L$rF~$l$F$$$/(B */ clp = buf->clauseInfo + cl; kanap = clp->kanap; dispp = clp->dispp; while (cl < buf->nClause) { n = cl + 1; /* $BJ8@a>pJs$N@_Dj(B */ clp->conv = 1; clp->kanap = kanap; clp->dispp = dispp; clp->ltop = jl_dai_top(buf->wnn, cl); /* $BI=<(%P%C%U%!$XJQ49J8;zNs$r%3%T!<$9$k(B */ /* jl_get_kanji $B$O!"(BNULL $B$^$G%3%T!<$9$k$N$GCm0U(B */ len = jl_kanji_len(buf->wnn, cl, n); savechar = dispp[len]; (void)ki2_jl_get_kanji(buf->wnn, cl, n, dispp, len); dispp[len] = savechar; dispp += len; /* $B$+$J%P%C%U%!$N0LCV$rJ8@a$N:G8e$K$9$k(B */ kanap += jl_yomi_len(buf->wnn, cl, n); /* $B%+%l%s%HJ8@a$N99?7(B */ cl = n; clp++; } /* $B:G8e$N(B clauseInfo $B$N@_Dj(B */ clp->kanap = buf->kanaEnd; clp->dispp = buf->displayEnd = dispp; clp->conv = 0; clp->ltop = 1; #ifdef DEBUG_WNNLIB showBuffers(buf, "after doKanrenConvert"); #endif return 0; } /* doKantanDConvert -- $B;XDj$5$l$?HO0O$NJ8@a$rBgJ8@a$H$7$FC1J8@aJQ49$9$k(B */ static int doKantanDConvert(jcConvBuf *buf, int cls, int cle) { jcClause *clps, *clpe; int len, diff, newlen; int cldiff, nclausenew; wchar *kanap, *dispp; wchar savechar; wchar *savep; int nsbunnew, nsbunold; int i, n; TRACE("doKantanDConvert", "Enter") /* * $BJQ49$9$kA0$K!">/$J$/$H$b;XDj$5$l$?J8@a$ND>A0$^$G$,JQ49$5$l$F(B * $B$$$k$3$H$rJ]>Z$9$k(B */ if (makeConverted(buf, cls) < 0) return -1; /* * $B;XDj$5$l$?HO0O$NJ8@a$rBgJ8@a$H$7$FC1J8@aJQ49$9$k(B * $B%+%l%s%HJ8@a$N:F@_Dj$J$I$O$7$J$$(B */ clps = buf->clauseInfo + cls; clpe = buf->clauseInfo + cle; nsbunold = jl_bun_suu(buf->wnn); if (nsbunold < 0) { jcErrno = JE_WNNERROR; return -1; } /* * $BFI$_$r(B NULL $B%?!<%_%M!<%H$9$k(B * $BC1$K(B 0 $B$rF~$l$k$Hkanap; savechar = *savep; *savep = 0; /* $BC1J8@aJQ49$9$k(B */ nsbunnew = jl_tan_conv(buf->wnn, clps->kanap, cls, cle, getHint(buf, cls, cle), WNN_DAI); /* $B$9$+$5$:%;!<%V$7$F$"$C$?J8;z$r$b$H$KLa$9(B */ *savep = savechar; if (nsbunnew < 0) { jcErrno = JE_WNNERROR; return -1; } cldiff = (cle - cls) - (nsbunold - nsbunnew); nclausenew = buf->nClause + cldiff; /* clauseInfo $B$N%5%$%:$N%A%'%C%/(B */ if (nclausenew > buf->clauseSize) { if (resizeCInfo(buf, nclausenew) < 0) return -1; } /* $BJQ49J8;zNs$ND9$5$N%A%'%C%/(B */ len = jl_kanji_len(buf->wnn, cls, cle + cldiff); diff = len - (clpe->dispp - clps->dispp); newlen = (buf->displayEnd - buf->displayBuf) + diff; if (newlen > buf->bufferSize) { if (resizeBuffer(buf, newlen) < 0) return -1; } /* * $BJ8@a$rA^F~$9$k$N$G!"I=<(%P%C%U%!$NFbMF$r0\F0$5$;$k!#(B * * $B$I$&$;$"$H$+$iO"J8@aJQ49$9$k$+$i$$$$$G$O$J$$$+$H$$$&9M$(J}$b$"$k$,!"(B * $B$I$3$G%(%i!<$,5/$3$C$F$b0l1~$N(B consistency $B$,J]$?$l$k$h$&$K(B * $B$9$k$H$$$&$N$,L\I8$G$"$k(B */ moveDBuf(buf, cle, diff); /* clauseInfo $B$rF0$+$9(B ($BF1;~$K(B nClause $B$b%"%C%W%G!<%H$5$l$k(B) */ moveCInfo(buf, cle, cldiff); /* $B$G$O(B clauseInfo $B$KJQ497k2L$rF~$l$k(B */ clps = buf->clauseInfo + cls; kanap = clps->kanap; dispp = clps->dispp; cldiff += (cle - cls); for (i = 0; i < cldiff; i++) { n = cls + 1; /* $BJ8@a>pJs$r@_Dj$9$k(B */ clps->conv = 1; clps->ltop = jl_dai_top(buf->wnn, cls); clps->kanap = kanap; clps->dispp = dispp; /* $BI=<(%P%C%U%!$X$NJQ49J8;zNs$N%3%T!<(B */ /* jl_get_kanji $B$O!"(BNULL $B$^$G%3%T!<$9$k$N$GCm0U(B */ len = jl_kanji_len(buf->wnn, cls, n); savechar = dispp[len]; (void)ki2_jl_get_kanji(buf->wnn, cls, n, dispp, len); dispp[len] = savechar; dispp += len; /* $B$+$J%P%C%U%!$N0LCV$r99?7(B */ kanap += jl_yomi_len(buf->wnn, cls, n); /* $BpJs$N99?7(B */ cls = n; clps++; } /* $Bwnn)) clps->ltop = jl_dai_top(buf->wnn, cls); else clps->ltop = 1; return 0; } /* doKantanSConvert -- $B;XDj$5$l$?J8@a$r>.J8@a$H$7$FC1J8@aJQ49$9$k(B */ static int doKantanSConvert(jcConvBuf *buf, int cl) { int next = cl + 1; jcClause *clp; int len, newlen, diff; wchar savechar; wchar *savep; int nsbun; TRACE("doKantanSConvert", "Enter") /* * $BJQ49$9$kA0$K!">/$J$/$H$b;XDj$5$l$?J8@a$ND>A0$^$G$,JQ49$5$l$F(B * $B$$$k$3$H$rJ]>Z$9$k(B */ if (makeConverted(buf, cl) < 0) return -1; /* * $B;XDj$5$l$?J8@a$r>.J8@a$H$7$FC1J8@aJQ49$9$k(B * $B%+%l%s%HJ8@a$N:F@_Dj$J$I$O$7$J$$(B */ clp = buf->clauseInfo + cl; /* * $BFI$_$r(B NULL $B%?!<%_%M!<%H$9$k(B * $BC1$K(B 0 $B$rF~$l$k$Hkanap; savechar = *savep; *savep = 0; /* $BC1J8@aJQ49$9$k(B */ nsbun = jl_tan_conv(buf->wnn, clp->kanap, cl, next, getHint(buf, cl, next), WNN_SHO); /* $B$9$+$5$:%;!<%V$7$F$"$C$?J8;z$r$b$H$KLa$9(B */ *savep = savechar; if (nsbun < 0) { jcErrno = JE_WNNERROR; return -1; } /* $BJQ49J8;zNs$ND9$5$N%A%'%C%/(B */ clp = buf->clauseInfo + cl; len = jl_kanji_len(buf->wnn, cl, -1); diff = len - ((clp + 1)->dispp - clp->dispp); newlen = (buf->displayEnd - buf->displayBuf) + diff; if (newlen > buf->bufferSize) { if (resizeBuffer(buf, newlen) < 0) return -1; } /* $BJ8@a$rA^F~$9$k$N$G!"I=<(%P%C%U%!$NFbMF$r0\F0$5$;$k(B */ /* $B$I$&$;$"$H$+$iO"J8@aJQ49$9$k$+$i$$$$$G$O$J$$$+$H$$$&9M$(J}$b$"$k$,!"(B * $B$I$3$G%(%i!<$,5/$3$C$F$b0l1~$N(B consistency $B$,J]$?$l$k$h$&$K(B * $B$9$k$H$$$&$N$,L\I8$G$"$k(B */ moveDBuf(buf, next, diff); /* $B$G$O(B clauseInfo $B$KJQ497k2L$rF~$l$k(B */ clp = buf->clauseInfo + cl; clp->conv = 1; clp->ltop = jl_dai_top(buf->wnn, cl); /* $BI=<(%P%C%U%!$XJQ49J8;zNs$r%3%T!<(B */ /* jl_get_kanji $B$G$O!":G8e$N(B NULL $B$b%3%T!<$5$l$k$N$GCm0U(B */ savechar = clp->dispp[len]; (void)ki2_jl_get_kanji(buf->wnn, cl, next, clp->dispp, len); clp->dispp[len] = savechar; /* $Bwnn)) (clp + 1)->ltop = jl_dai_top(buf->wnn, next); return 0; } /* makeConverted -- $B;XDj$5$l$?J8@a$ND>A0$^$G$,(B jllib $B$GJQ49$5$l$F$$$k(B $B$3$H$rJ]>Z$9$k(B */ static int makeConverted(jcConvBuf *buf, int cl) { int nsbun; int next; int status; wchar savechar; jcClause *clpc, *clpn; TRACE("makeConverted", "Enter") #ifdef DEBUG_WNNLIB showBuffers(buf, "before makeConverted"); #endif /* $B4{$KJQ49$5$l$F$$$k$+%A%'%C%/$9$k(B */ nsbun = jl_bun_suu(buf->wnn); if (cl <= nsbun) return 0; /* $BJQ49$5$l$F$$$J$$J8@a$rEPO?$9$k(B */ clpc = buf->clauseInfo + nsbun; for (; nsbun < cl; nsbun = next, clpc = clpn) { clpn = clpc + 1; next = nsbun + 1; /* $B4{$KEPO?$5$l$F$$$l$P!"2?$b$7$J$$(B */ if (clpc->conv == 1) continue; /* $BI=<(J8;zNs$r(B NULL $B%?!<%_%M!<%H$9$k(B */ savechar = *clpn->dispp; *clpn->dispp = 0; /* * jllib $B$K$OL5JQ49$NJ8@a$rEPO?$9$k5!G=$,$J$$$N$G!"(B * $B$H$j$"$($:A08e$N@\B3$J$7$GC1J8@aJQ49$9$k$3$H$K$9$k(B */ status = jl_tan_conv(buf->wnn, clpc->dispp, nsbun, next, WNN_NO_USE, WNN_SHO); /* $B%;!<%V$7$?J8;z$rLa$9(B */ *clpn->dispp = savechar; if (status < 0) { jcErrno = JE_WNNERROR; return -1; } } #ifdef DEBUG_WNNLIB showBuffers(buf, "after makeConverted"); #endif return 0; } /* unconvert -- $B;XDj$5$l$?HO0O$NJ8@a$r0l$D$NL5JQ49$NJ8@a$K$9$k(B */ static int unconvert(jcConvBuf *buf, int start, int end) { jcClause *clps, *clpe; int diff, len; wchar savechar; TRACE("unconvert", "Enter") if (end <= start) return 0; if (start >= buf->nClause) return 0; #ifdef DEBUG_WNNLIB showBuffers(buf, "before unconvert"); #endif clps = buf->clauseInfo + start; clpe = buf->clauseInfo + end; /* * $BI=<(%P%C%U%!$NFbMF$r$+$J%P%C%U%!$NFbMF$GCV$-49$($k(B * $B!D$H$$$C$F$b$Ke0L$N4X?t$G@_Dj$9$k$3$H(B * $B!&BgJ8@a%U%i%0(B (ltop) $B$N@_Dj(B * $B!&%+%l%s%HJ8@a!"$*$h$Skanap - clps->kanap) - (clpe->dispp - clps->dispp); /* $BCV$-49$($?>l9g$NI=<(%P%C%U%!$ND9$5(B */ len = (buf->displayEnd - buf->displayBuf) + diff; /* $B%P%C%U%!$N%5%$%:$,B-$j$J$1$l$P%5%$%:$rBg$-$/$9$k(B */ if (len > buf->bufferSize) { if (resizeBuffer(buf, len) < 0) { /* $B%5%$%:$,JQ$($i$l$J$+$C$?(B */ return -1; } } /* $BCV$-49$((B */ /* $B$^$:8e$m$NItJ,$rF0$+$7$F$+$i(B */ moveDBuf(buf, end, diff); /* $BFI$_$rF~$l$k(B */ (void)bcopy((char *)clps->kanap, (char *)clps->dispp, (clpe->kanap - clps->kanap) * sizeof(wchar)); /* * start $B$+$i(B end $B$^$G$NJ8@a$r0l$D$K$^$H$a$k(B */ /* $BL5JQ49>uBV$K$J$C$?J8@a$N(B clauseInfo $B$N@_Dj(B */ clps->conv = 0; /* end $B$+$i$"$H$N(B clauseInfo $B$r(B'$B$D$a$k(B' */ moveCInfo(buf, end, start + 1 - end); /* $BJ8@a$rEPO?$9$k(B */ /* $BEPO?$5$l$F$$$kJ8@a$ND9$5$r%A%'%C%/(B */ if (jl_bun_suu(buf->wnn) < end) end = -1; /* $BEPO?$9$kA0$K!"FI$_$r(B NULL $B%?!<%_%M!<%H$7$F$*$/(B */ clpe = clps + 1; savechar = *clpe->kanap; *clpe->kanap = 0; /* $BL5JQ49$GEPO?$7$?$$$,$G$-$J$$$N$G!"A08e$N@\B3$J$7$G!"C1J8@a(B * $BJQ49$9$k(B */ len = jl_tan_conv(buf->wnn, clps->kanap, start, end, WNN_NO_USE, WNN_SHO); /* $BFI$_$r85$K!"La$7$F$*$/(B */ *clpe->kanap = savechar; #ifdef DEBUG_WNNLIB showBuffers(buf, "after unconvert"); #endif /* $BEPO?$G$-$?$+$r!"%A%'%C%/(B */ if (len < 0) { jcErrno = JE_WNNERROR; return -1; } return 0; } static int expandOrShrink(jcConvBuf *buf, int small, int expand, int convf) { jcClause *clp, *clpe; wchar *kanap, *dispp; int start, end; int len; int nsbun; TRACE("expandOrShrink", "Enter") start = small ? buf->curClause : buf->curLCStart; end = small ? start + 1 : buf->curLCEnd; clp = buf->clauseInfo + start; clpe = buf->clauseInfo + end; /* * $B?-$S=L$_$G$-$k$+$N%A%'%C%/(B */ if (expand) { /* * $B%+%l%s%HJ8@a$,:G8e$NJ8@a$N;~$K$O(B * $B$b$&9-$2$i$l$J$$(B */ if (end >= buf->nClause) { jcErrno = JE_CANTEXPAND; return -1; } len = 1; } else { if (buf->curClause == buf->nClause || clpe->kanap - clp->kanap <= 1) { /* $B%+%l%s%HJ8@a$,6u$+!"$"$k$$$OD9$5$,#10J2<(B */ jcErrno = JE_CANTSHRINK; return -1; } len = -1; } /* $BA48uJdJ8@a$,%+%l%s%HBgJ8@a$+$=$l0J9_$K$"$l$PL58z$K$9$k(B */ checkCandidates(buf, start, buf->nClause); /* jclib $B$H8_49$rJ]$D$?$a!":FJQ49;XDj$G$J$$>l9g$O!"FCJL$K=hM}$9$k(B */ if (!convf) { /* jclib $B$HF1MM$K(B unconvert() $B$r;H$C$F!"=hM}$r$7$F$bNI$$$N(B * $B$@$,!"L5BL$,$"$k$N$GFH<+$N=hM}$H$9$k(B */ int ksize; int dsize; /* jllib $B$N>pJs$,$"$l$P!"%+%l%s%HJ8@a0J9_$rL58z$K$9$k(B */ if (start < jl_bun_suu(buf->wnn)) jl_kill(buf->wnn, start, -1); /* $B%+%l%s%HJ8@a0J9_$NI=<(%P%C%U%!$NFbMF$r!"$+$J%P%C%U%!(B * $B$NFbMF$GCV49$($k(B (unconvert() $B;2>H(B) */ clp = buf->clauseInfo + start; /* $B$^$:!"I=<(%P%C%U%!$NBg$-$5$rD4$Y!"I,MW$J$i$P%P%C%U%!(B * $B$r3HD%$9$k(B */ ksize = buf->kanaEnd - clp->kanap; dsize = ksize + (clp->dispp - buf->displayBuf); if (dsize > buf->bufferSize) { if (resizeBuffer(buf, dsize)) return -1; } /* $BI=<(%P%C%U%!$NFbMF$r!"$+$J%P%C%U%!$NFbMF$GCV49$($k(B */ bcopy(clp->kanap, clp->dispp, ksize * sizeof (wchar)); /* $BI=<(%P%C%U%!$N=*$j$r@_Dj$9$k(B */ buf->displayEnd = clp->dispp + ksize; /* $B%+%l%s%HJ8@a$r@_Dj$9$k(B */ buf->curClause = buf->curLCStart = start; buf->dot = clp->kanap; clp->conv = 0; clp->ltop = 1; /* $B?-=L$7$?7k2L!"J8@a?t$O(B start + 1 ($B%+%l%s%HJ8@a$ND9(B * $B$5$,(B 1 $B$G$"$C$?;~!"=L$a$?7k2L%+%l%s%HJ8@a$,$J$/$J$k!#(B * $B$^$?$O!"%+%l%s%HJ8@a$N8e$K$R$H$D$NJ8@a$7$+$J$/!"$=(B * $B$NJ8@a$ND9$5$,(B 1 $B$G$"$C$?>l9g!"?-$P$7$?7k2L%+%l%s%H(B * $BJ8@a$h$j8e$NJ8@a$,$J$/$J$k(B) $B$+(B start + 2 $B$K$J$k(B */ /* $B$^$:!"?-=L8e$N%+%l%s%HJ8@a$ND9$5$r7W;;$9$k(B */ ksize = buf->clauseInfo[end].kanap - clp->kanap + len; /* $B$=$7$F!"%+%l%s%HJ8@a$N8e$K$"$kJ8@a$r@_Dj$9$k(B */ if (ksize == 0 || buf->displayEnd == clp->dispp + ksize) { /* $B=L$a$?7k2L%+%l%s%HJ8@a$,$J$/$J$C$?$+!"(B * $B?-$P$7$?7k2L%+%l%s%HJ8@a$N8e$NJ8@a$,$J$/$J$C$?(B * * $B$3$l$i$N>l9g$O!"A0$N%+%l%s%HJ8@a0J9_$r$R$H(B * $B$^$H$a(B ($B$R$H$D$NBgJ8@a(B) $B$K$7$F!"$=$l$r%+%l(B * $B%s%HJ8@a(B ($BBgJ8@a(B) $B$H$7$F$7$^$&(B * * $B$3$N;~!"(BclauseInfo $B$NBg$-$5$O!"I,$:(B start + 1 * $B$h$jBg$-$$$3$H$,J]>Z$5$l$F$$$k(B */ buf->nClause = buf->curLCEnd = start + 1; /* $BKvHxJ8@a$r%]%$%s%H$5$;$k(B */ clp++; } else if (start + 2 > buf->clauseSize && resizeCInfo(buf, start + 1) < 0) { /* $B=L$a$h$&$H$9$kJ8@a$,:G8e$NJ8@a$@$C$?>l9g!"(B * $BD9$5$,(B 1 $B$NJ8@a$,A}$($k$3$H$K$J$k!#(B * $B$,!"(BclauseInfo $B$NBg$-$5$r%A%'%C%/$7!"$=$l$r(B * $BA}$d$;$J$+$C$?$N$G!"%+%l%s%HJ8@a0J9_$rA4It$R(B * $B$H$^$H$a$K$9$k(B ($B%P%C%U%!$N@09g@-$rJ]$D$?$a(B) */ buf->nClause = buf->curLCEnd = start + 1; clp++; clp->kanap = buf->kanaEnd; clp->dispp = buf->displayEnd; clp->conv = 0; clp->ltop = 1; /* $B$G$b!"%(%i!<$O%(%i!<$J$N$G!"%(%i!<$H$7$FJV$9(B */ #ifdef DEBUG_WNNLIB showBuffers(buf, "after expandOrShrink [noconv, error]"); #endif return -1; } else { /* $B?-=L$G$-$?$N$G!"%+%l%s%HJ8@a$N8e$NJ8@a$r@_Dj$9$k(B * ($B$"$^$j!"0UL#$O$J$$$H$O;W$&$,!">.J8@a$N?-=L8e$N(B * $BBgJ8@a$N@_Dj$O!"(Bjclib $B$N@_Dj$HF1$8$K$7$F$*$/(B) */ buf->curLCEnd = start + (small ? 2 : 1); buf->nClause = start + 2; clpe = clp + 1; clpe->kanap = clp->kanap + ksize; clpe->dispp = clp->dispp + ksize; clpe->conv = 0; clpe->ltop = small ? 0 : 1; /* $BKvHxJ8@a$r%]%$%s%H$5$;$k(B */ clp += 2; } /* $BKvHxJ8@a$N>pJs$r@_Dj$9$k(B */ clp->kanap = buf->kanaEnd; clp->dispp = buf->displayEnd; clp->conv = 0; clp->ltop = 1; #ifdef DEBUG_WNNLIB showBuffers(buf, "after expandOrShrink [noconv]"); #endif return 0; } /* $B$9$Y$F$NJ8@a$,JQ49$5$l$F$$$k$3$H$rJ]>Z$9$k(B */ makeConverted(buf, buf->nClause); /* * $BJ8@a$ND9$5$rJQ99$9$k!#$3$N;~!"A0J8@a$K@\B32DG=$K$7$F$*$/$H(B * $B:$$k$3$H$,$"$k!#Nc$($P!VL5NLBg?t!W$HF~NO$7$h$&$H$7$F!"(B * a) "$B$`$j$g$&$?$$$9$&(B" $B$rJQ49$9$k$H(B"$BL5NA(B $BBP?t(B" $B$H$J$k!#(B * b) "$BL5NA(B" $B$r(B "$BL5NL(B" $B$KD>$9!#(B * c) "$BBP?t(B" $B$r(B "$BBg?t(B" $B$KD>$=$&$H;W$C$?$,8uJd$K$J$$$N$G(B2$BJ8;zJ,(B * $BJ8@a$r=L$a$F(B "$BBg(B $B?t(B" $B$KJ,$1$h$&$H$9$k!#(B * d) $B$H$3$m$,(B "$B$?$$(B" $B$,A08uJd$K@\B3$7$F$7$^$$!"(B"$BL5NLBN(B $B?t(B" $B$K$J$k!#(B * e) "$BL5NLBg(B" $B$H$$$&8uJd$O$J$$$N$G!";EJ}$J$/(B2$BJ8;zJ8@a$r=L$a$k$H(B * "$BL5NA(B $BBP?t(B" $B$K$J$C$F$7$^$C$?!#(B * f) b) $B$KLa$k!#(B * ($B$^!"$3$N>l9g$K$O$O$8$a$+$i!VL5NLBg?t!W$rEPO?$7$F$*$1$P$$$$$N$@$,(B) */ len += jl_yomi_len(buf->wnn, start, end); #ifdef WNN6 nsbun = jl_fi_nobi_conv(buf->wnn, start, len, -1, 0, small ? WNN_SHO : WNN_DAI); #else nsbun = jl_nobi_conv(buf->wnn, start, len, -1, 0, small ? WNN_SHO : WNN_DAI); #endif if (nsbun < 0) { jcErrno = JE_WNNERROR; return -1; } /* clauseInfo $B$N%5%$%:$N%A%'%C%/$7$F!"I,MW$J$i$PA}$d$9(B */ if (nsbun > buf->clauseSize) { if (resizeCInfo(buf, nsbun) < 0) return -1; } buf->nClause = nsbun; /* $BI=<(%P%C%U%!$NBg$-$5$r%A%'%C%/$7$F!"I,MW$J$i$PA}$d$9(B */ clp = buf->clauseInfo + start; len = clp->dispp - buf->displayBuf + jl_kanji_len(buf->wnn, start, -1); if (len > buf->bufferSize) { if (resizeBuffer(buf, len) < 0) return -1; } /* $B%+%l%s%HJ8@a$r3P$($F$*$/(B */ buf->curClause = start; /* $BJQ497k2L$r!"I=<(%P%C%U%!$KF~$l$F$$$/(B */ clp = buf->clauseInfo + start; kanap = clp->kanap; dispp = clp->dispp; while (start < nsbun) { end = start + 1; /* $BJ8@a>pJs$N@_Dj(B */ clp->kanap = kanap; clp->dispp = dispp; /* $BI=<(%P%C%U%!$KJQ49J8;zNs$r%3%T!<(B * jl_get_kanji $B$O:G8e$N(B NULL $B$^$G%3%T!<$5$l$k$N$GCm0U(B */ { int i = jl_kanji_len(buf->wnn, start, end); wchar c = dispp[i]; (void)ki2_jl_get_kanji(buf->wnn, start, end, dispp, i); dispp[i] = c; /* $B85$KLa$9(B */ dispp += i; /* $B0LCV$N99?7(B */ clp->conv = 1; clp->ltop = jl_dai_top(buf->wnn, start); } /* $B$+$J%P%C%U%!$N0LCV$r99?7(B */ kanap += jl_yomi_len(buf->wnn, start, end); /* $Bkanap = buf->kanaEnd; clp->dispp = buf->displayEnd = dispp; clp->conv = 0; clp->ltop = 1; /* $B%+%l%s%HJ8@a$r:F@_Dj$9$k(B */ setCurClause(buf, buf->curClause); /* $B%I%C%H$N:F@_Dj(B */ DotSet(buf); #ifdef DEBUG_WNNLIB showBuffers(buf, "after expand_or_shrink"); #endif return 0; } /* getCandidates -- $BA48uJd$rl9g!"%+%l%s%HJ8@a$H8uJdJ8@a$,0lCW(B * $B$7$J$$$3$H$b$"$k$,!"8uJdJ8@a$N@_Dj$rM%@h$9$k$3$H$K$9$k!#$3$N(B * $B>l9g!"8uJdJ8@a$O!"I,$:%+%l%s%HJ8@a$KEy$7$$$+$=$l$K4^$^$l$F$$(B * $B$k$O$:!#(B */ if (small) { /* $B8uJd$,candKind == CAND_SMALL && buf->candClause == buf->curClause) return 0; /* $B%+%l%s%H>.J8@a$N8uJd$rcurClause; end = start + 1; if (jl_zenkouho(buf->wnn, start, getHint(buf, start, end) & WNN_USE_MAE, WNN_UNIQ) < 0) { buf->candClause = -1; jcErrno = JE_WNNERROR; return -1; } } else { /* $B8uJd$,candKind == CAND_LARGE && buf->candClause >= buf->curLCStart && buf->candClauseEnd <= buf->curLCEnd) return 0; #else if (buf->candKind == CAND_LARGE && buf->candClause >= buf->curLCStart && buf->candClauseEnd <= buf->curLCEnd && buf->candClause <= buf->curClause && buf->candClauseEnd > buf->curClause) return 0; #endif /* $B%+%l%s%HBgJ8@a$N8uJd$rcurLCStart; end = buf->curLCEnd; #ifndef WNN6 /* * jl $B%i%$%V%i%j$N8uJd%P%C%U%!FbMF$rGK4~$9$k!#(B * curLCStart $B$,0JA0$HF1$8$G$+$D(B curLCEnd $B$,(B * $B0[$J$k>l9g(B ($B$D$^$j%+%l%s%HBgJ8@a$,8e$m$K?-$S$?>l9g(B)$B!"(B * $B$3$&$7$J$$$H(B Wnn4 $B$N(B jl $B%i%$%V%i%j$O8uJd$r:Fwnn, 0, 0); #endif if (jl_zenkouho_dai(buf->wnn, start, end, getHint(buf, start, end), WNN_UNIQ) < 0) { buf->candClause = -1; jcErrno = JE_WNNERROR; return -1; } } /* $BpJs$r3P$($F$*$/(B */ buf->candKind = small ? CAND_SMALL : CAND_LARGE; buf->candClause = start; buf->candClauseEnd = end; return 0; } /* setCandidate -- $B;XDj$5$l$?8uJd$G%P%C%U%!$rCV$-49$($k(B */ static int setCandidate(jcConvBuf *buf, int n) { int start = buf->candClause; int end = buf->candClauseEnd; int oldlen, newlen, bdiff; int oldclen, newclen, cdiff; int newend; jcClause *clp; TRACE("setCandidate", "Enter") #ifdef DEBUG_WNNLIB fprintf(stderr, "setCandidate for %d as %s\n", n, buf->candKind == CAND_SMALL ? "small" : "large"); showBuffers(buf, "setCandiate (before)"); #endif clp = buf->clauseInfo + start; oldlen = (buf->clauseInfo + end)->dispp - clp->dispp; oldclen = jl_bun_suu(buf->wnn); if (buf->candKind == CAND_SMALL) { /* $B%+%l%s%H>.J8@a$r!";XDj8uJd$GCV$-49$($k(B */ if (jl_set_jikouho(buf->wnn, n) < 0) { jcErrno = JE_WNNERROR; return -1; } } else { /* $B%+%l%s%HBgJ8@a$r!";XDj8uJd$GCV$-49$($k(B */ if (jl_set_jikouho_dai(buf->wnn, n) < 0) { jcErrno = JE_WNNERROR; return -1; } } /* $BJQ498e$NJ8@a?t$N%A%'%C%/$9$k(B */ newclen = jl_bun_suu(buf->wnn); if (newclen < 0) { jcErrno = JE_WNNERROR; return -1; } cdiff = newclen - oldclen; newend = end + cdiff; /* $BJQ498e$N%G%#%9%W%l%$%P%C%U%!$N%5%$%:$r%A%'%C%/$9$k(B */ newlen = jl_kanji_len(buf->wnn, start, newend); if (newlen <= 0) { jcErrno = JE_WNNERROR; return -1; } bdiff = newlen - oldlen; #ifdef DEBUG_WNNLIB { wchar candstr[1024]; fprintf(stderr, "Candidate[%s]: '", buf->candKind == CAND_SMALL ? "small" : "large"); if (newlen >= 1024) { fprintf(stderr, "* candidate string is too large [%d] *", newlen); } else { candstr[0] = 0; ki2_jl_get_zenkouho_kanji(buf->wnn, n, candstr, sizeof(candstr)); printBuffer (candstr, candstr + newlen); } fprintf(stderr, "'\n"); } #endif /* * $B%G%#%9%W%l%$%P%C%U%!$r:F@_Dj$9$k(B * * $B:G=i$K!"=l=j$r3NJ]$9$k!#:G8e$K!"(B * $BCV$-49$($k8uJdJ8;zNs$r%G%#%9%W%l%$%P%C%U%!$KA^F~$9$k!#(B */ { int buflen = (buf->displayEnd - buf->displayBuf) + bdiff; wchar *dispp = clp->dispp; wchar tmp; if (buflen > buf->bufferSize && resizeBuffer(buf, buflen) < 0) { return -1; } moveDBuf(buf, end, bdiff); /* * $B8uJdJ8;zNs$NA^F~$O!"(Bjl_get_kanji() $B$rMQ$$$k$N$G!"(B * $B$=$l$,@_Dj$9$k:G8e$N(B NUL $BJ8;z$KCm0U!#(B */ tmp = dispp[newlen]; if (ki2_jl_get_kanji(buf->wnn, start, newend, dispp, newlen) <= 0) { jcErrno = JE_WNNERROR; return -1; } dispp[newlen] = tmp; } /* * clauseInfo$B$r:F@_Dj$9$k(B * * $B:G=i$K!"=pJs$N$?$a$N>l=j$r3NJ]$9$k!#:G8e$K!"(B * $BCV$-49$($?8uJd$N%P%C%U%!>pJs$r@_Dj$9$k!#(B */ { wchar *kanap, *dispp; int i, j; if (buf->nClause + cdiff > buf->clauseSize && resizeCInfo(buf, buf->nClause + cdiff) < 0) { return -1; } moveCInfo(buf, end, cdiff); kanap = clp->kanap; dispp = clp->dispp; for (i = start; i < newend; i = j) { clp->kanap = kanap; clp->dispp = dispp; clp->conv = 1; clp->ltop = jl_dai_top(buf->wnn, i); j = i + 1; kanap += jl_yomi_len(buf->wnn, i, j); dispp += jl_kanji_len(buf->wnn, i, j); clp++; } /* * $B8uJd$N8e$NJ8(B * $B@a$@$1$GNI$$$O$:$@$,!"G0$N$?$a!"$9$Y$F$r%A%'%C%/$9(B * $B$k$3$H$K$9$k!#(B */ for (i = 0; i < start; i++) buf->clauseInfo[i].ltop = jl_dai_top(buf->wnn, i); for (i = newend; i < newclen; i++) buf->clauseInfo[i].ltop = jl_dai_top(buf->wnn, i); } /* * $B]J8@a$H$=$NA08e$NBgJ8@a(B * $B$,0\F0$7$F$$$k$+$b$7$l$J$$$N$G!"%+%l%s%HJ8@a$r:F@_Dj$9$k!#(B */ setCurClause(buf, start); /* * $BJ8@a$N0\F0$KH<$$!"8uJdJ8@a$b0\F0$7$F$$$k$O$:$J$N$G!":F@_Dj(B * $B$7$F$*$/(B (moveCInfo() $B;2>H(B) */ buf->candClause = start; buf->candClauseEnd = end + cdiff; #ifdef DEBUG_WNNLIB showBuffers(buf, "setCandiate (after)"); #endif return 0; } /* checkCandidates -- $BA48uJd$,M-8z$+%A%'%C%/$7$F!"I,MW$J=hM}$r9T$J$&(B */ static void checkCandidates(jcConvBuf *buf, int cls, int cle) { /* $BJ8@aHV9f(B cls $B$+$i(B cle - 1 $B$^$G$NJ8@a$,JQ99$5$l$k(B * $Bl9g$+$H$$$&$H!"(B * 1. buf->candKind $B$,(B CAND_SMALL $B$G!"(B * cls <= buf->candClause < cle * 2. buf->candKind $B$,(B CAND_LARGE $B$G!"(B * buf->candClause < cle $B$+$D(B cls < buf->candClauseEnd */ if (buf->candKind == CAND_SMALL) buf->candClauseEnd = buf->candClause + 1; /* $BG0$N$?$a(B */ if (buf->candClause < cle && cls < buf->candClauseEnd) { /* $BL58z$K$9$k(B */ buf->candClause = buf->candClauseEnd = -1; } } /* forceStudy -- $BL$JQ49$*$h$S5?;wJQ49J8@a$N3X=,(B */ static int forceStudy(jcConvBuf *buf, int n) { int i, j, k; int status; wchar yomi[CL_BUFSZ], kanji[CL_BUFSZ]; TRACE("forceStudy", "Enter") #ifdef DEBUG_WNNLIB showBuffers(buf, "forceStudy"); #endif if (n < 0 || n > buf->nClause) n = buf->nClause; /* $B$3$3$G$$$&3X=,$H$O!"IQEY>pJs$N99?7$H9M$($F$h$$(B */ /* * Wnn6 $B$G$O!"L5JQ493X=,5!G=$,$"$j!"(Bwnnlib $B$K$h$k5?;wJQ49$dL$(B * $BJQ49$NJ8@a$r3X=,$5$;$k$3$H$,$G$-$k!#$?$@$7!"L$JQ49$NJ8@a$K(B * $BBP$7$FC1=c$KIQEY$N99?7$O$G$-$J$$$N$GCm0U(B */ /* * $B:G=i$K!"JQ49:Q$_$NJ8@a?t$rD4$Y$k!#F~NO$5$l$?J8@a$,$9$Y$FJQ(B * $B49:Q$_(B (conv == 1) $B$G$"$l$P!"A4J8@a$r$NJ8@a$NIQEY>pJs$r$^$H(B * $B$a$F99?7$9$k!#JQ49:Q$_$G$J$$J8@a$,$"$C$?>l9g!"$H$j$"$($:JQ(B * $B49$7$F!"JQ497k2L$,I=<(%P%C%U%!$NFbMF$H0lCW$7$F$$$l$P!"IQEY(B * $B>pJs$r99?7$9$k$3$H$K$9$k(B */ status = 0; for (i = 0; i < n; i++) { if (buf->clauseInfo[i].conv == 1) status++; } /* $B$9$Y$F$NJ8@a$,JQ49$5$l$F$$$?$i!"A4$F$NJ8@a$NIQEY$r99?7$9$k(B */ if (status == n) { #ifdef WNN6 status = jl_optimize_fi(buf->wnn, 0, -1); #else status = jl_update_hindo(buf->wnn, 0, -1); #endif if (status < 0) { jcErrno = JE_WNNERROR; return -1; } return 0; } /* * $BJ8@aC10L$GIQEY>pJs$r99?7$9$k(B * $BL$JQ49$NJ8@a$,$"$l$P!"L$JQ49$H$7$FIQEY>pJs$r99?7$9$k(B (Wnn6 * $B$NL5JQ493X=,5!G=(B) */ /* $BIQEY>pJs$r99?7$9$kA0$K!"A4J8@a$rJQ49$7$F$*$/(B */ if (makeConverted(buf, n) < 0) return -1; for (i = 0; i < n; i = j) { j = i + 1; /* * $BJQ49:Q$_$NJ8@a$G$"$l$P!"$=$N$^$^IQEY>pJs$r99?7$9$k(B */ if (buf->clauseInfo[i].conv == 1) { #ifdef WNN6 status = jl_optimize_fi(buf->wnn, i, j); #else status = jl_update_hindo(buf->wnn, i, j); #endif if (status < 0) { jcErrno = JE_WNNERROR; return -1; } continue; } /* * $BL$JQ49$H5?;wJQ49$NJ8@a$KBP$7$F$O!"FI$_$r3X=,$9$k(B * $BL$JQ49$H5?;wJQ49$N>l9g$G$b!"(Bwnnlib $B$G$OI=<(%P%C%U%!$H$+(B * $B$J%P%C%U%!$NN>J}$,0lCW$7$F$$$k$N$G(B (jcKana() $B;2>H(B)$B!"(B * $B$3$3$G$O(B jllib $B$NFI$_%G!<%?$r;HMQ$9$k(B */ /* $BFI$_J8;zNs$HJQ49:QJ8;zNs$ND9$5%A%'%C%/(B */ if (jl_yomi_len(buf->wnn, i, j) >= CL_BUFSZ || jl_kanji_len(buf->wnn, i, j) >= CL_BUFSZ) { /* $B%P%C%U%!%*!<%P%U%m!<$rHr$1$k(B */ continue; } /* $BFI$_J8;zNs$Nwnn, i, j, yomi, CL_BUFSZ) < 0) { jcErrno = JE_WNNERROR; return -1; } /* $BJQ49:Q$_J8;zNs$rwnn, i, j, kanji, CL_BUFSZ) < 0) { jcErrno = JE_WNNERROR; return -1; } /* * $BFI$_$HJQ498e$,0lCW$7$F$$$l$P!"3X=,:Q$_$H$_$J$7$F!"(B * $B$=$N$^$^IQEY>pJs$r99?7$9$k(B */ if (wstrcmp (yomi, kanji) == 0) { #ifdef WNN6 status = jl_optimize_fi(buf->wnn, i, j); #else status = jl_update_hindo(buf->wnn, i, j); #endif if (status < 0) { jcErrno = JE_WNNERROR; return -1; } continue; } /* * $BFI$_$HJQ498e$,0lCW$7$J$$$N$G!"A48uJd$NCf$+$iC5$9(B * $B$b$7!"0lCW$9$k$b$N$,$"$l$P!"IQEY>pJs$r99?7$7!"$=$&(B * $B$G$J$1$l$PIQEY>pJs$O99?7$7$J$$(B */ if (jl_zenkouho(buf->wnn, i, getHint(buf, -1, -1), WNN_UNIQ) < 0) { jcErrno = JE_WNNERROR; return -1; } status = jl_zenkouho_suu(buf->wnn); if (status < 0) { jcErrno = JE_WNNERROR; return -1; } for (k = 0; k < status; k++) { ki2_jl_get_zenkouho_kanji(buf->wnn, k, kanji, CL_BUFSZ); /* $BI,$:(B NUL $B%?!<%_%M!<%H$5$l$k$h$&$K$7$F$*$/(B */ kanji[CL_BUFSZ - 1] = 0; if (wstrcmp(yomi, kanji) != 0) continue; if (jl_set_jikouho(buf->wnn, k) < 0) { jcErrno = JE_WNNERROR; return -1; } #ifdef WNN6 status = jl_optimize_fi(buf->wnn, i, j); #else status = jl_update_hindo(buf->wnn, i, j); #endif if (status < 0) { jcErrno = JE_WNNERROR; return -1; } break; } } return 0; } /* * $B$3$3$+$i(B Public $B$J%U%!%s%/%7%g%s(B */ /* jcCreateBuf -- $BJQ49%P%C%U%!$N:n@.(B */ jcConvBuf * jcCreateBuffer(struct wnn_buf *wnn, int nclause, int buffersize) { jcConvBuf *buf; TRACE("jcCreateBuffer", "Enter") /* $B$^$:(B jcConvBuf $B$N3NJ](B */ if ((buf = (jcConvBuf *)malloc(sizeof(jcConvBuf))) == NULL) { jcErrno = JE_NOCORE; return NULL; } (void)bzero((char *)buf, sizeof(jcConvBuf)); buf->wnn = wnn; /* $BbufferSize = (buffersize <= 0) ? DEF_BUFFERSIZE : buffersize; /* $B%P%C%U%!$N:G8e$r(B NULL $B%?!<%_%M!<%H$9$k$3$H$,$"$k$N$G!"(B * 1$BJ8;zJ8Bg$-$/$7$F$*$/(B */ buf->kanaBuf = (wchar *)malloc((buf->bufferSize + 1) * sizeof(wchar)); buf->displayBuf = (wchar *)malloc((buf->bufferSize + 1) * sizeof(wchar)); /* $BclauseSize = (nclause <= 0) ? DEF_CLAUSESIZE : nclause; /* clauseInfo $B%P%C%U%!$O(B nclause + 1 $B8D%"%m%1!<%H$9$k(B * $B$J$<$+$H$$$&$H(B clauseinfo $B$O%G%j%_%?$H$7$FMWAG$r(B * 1$B8D;H$&$N$G(B nclause $B8D$NJ8@a$r07$&$?$a$K$O(B nclause + 1 $B8D$N(B * $BBg$-$5$r;}$?$J$1$l$P$J$i$J$$$+$i$G$"$k(B */ buf->clauseInfo = (jcClause *)malloc((buf->clauseSize + 1) * sizeof(jcClause)); if (buf->kanaBuf == NULL || buf->displayBuf == NULL || buf->clauseInfo == NULL) { /* malloc() $B$G$-$J$+$C$?(B */ Free(buf->kanaBuf); Free(buf->displayBuf); Free(buf->clauseInfo); Free(buf); jcErrno = JE_NOCORE; return NULL; } (void)jcClear(buf); return buf; } /* jcDestroyBuffer -- $BJQ49%P%C%U%!$N>C5n(B */ int jcDestroyBuffer(jcConvBuf *buf, int savedic) { TRACE("jcDestroyBuffer", "Enter") if (buf == NULL) return 0; /* $B%"%m%1!<%H$7$?%a%b%j$N2rJ|(B */ Free(buf->kanaBuf); Free(buf->displayBuf); Free(buf->clauseInfo); /* savedic $B$,(B 0 $B$G$J$1$l$P!"4D6-$K%m!<%I$5$l$F$$$kA4$F$N%U%!%$%k$r(B * save $B$9$k(B */ if (savedic && jl_dic_save_all(buf->wnn) < 0) { jcErrno = JE_WNNERROR; return -1; } Free(buf); return 0; } /* jcClear -- wnnlib $B$N=i4|2=(B ($B?7$?$JJQ49$r;O$a$kKh$K8F$P$J$1$l$P$J$i$J$$(B) */ int jcClear(jcConvBuf *buf) { TRACE("jcClear", "Enter") /* $B=i4|CM$N@_Dj(B */ buf->nClause = buf->curClause = buf->curLCStart = 0; buf->curLCEnd = 1; buf->candClause = buf->candClauseEnd = -1; buf->kanaEnd = buf->kanaBuf; buf->displayEnd = buf->displayBuf; buf->clauseInfo[0].kanap = buf->kanaBuf; buf->clauseInfo[0].dispp = buf->displayBuf; buf->clauseInfo[0].conv = 0; buf->clauseInfo[0].ltop = 1; buf->dot = buf->kanaBuf; buf->fixed = 0; jcErrno = JE_NOERROR; if (jl_bun_suu(buf->wnn) > 0) jl_kill(buf->wnn, 0, -1); return 0; } /* jcConvert -- $B%+%l%s%HJ8@a0J9_$r$+$J4A;zJQ49$9$k(B */ int jcConvert(jcConvBuf *buf, int small, int tan, int jump) { int ret; TRACE("jcConvert", "Enter") CHECKFIXED(buf); if (buf->curClause == buf->nClause) { /* $B%+%l%s%HJ8@a$,:G8e$NJ8@a$G$7$+$b6u(B */ jcErrno = JE_CLAUSEEMPTY; return -1; } /* $BA48uJdJ8@a$,%+%l%s%HBgJ8@a$+$=$l0J9_$K$"$l$PL58z$K$9$k(B */ checkCandidates(buf, small ? buf->curClause : buf->curLCStart, buf->nClause); if (tan) { ret = tanConvert(buf, small); } else { ret = renConvert(buf, small); } if (ret < 0) return ret; if (jump) { /* $B%I%C%H$H%+%l%s%HJ8@a$rJ8$N:G8e$K0\F0$5$;$k(B */ buf->curClause = buf->curLCStart = buf->nClause; buf->curLCEnd = buf->nClause + 1; buf->dot = buf->kanaEnd; } return 0; } /* jcUnconvert -- $B%+%l%s%HBgJ8@a$rL5JQ49$N>uBV$KLa$9(B */ int jcUnconvert(jcConvBuf *buf) { jcClause *clp = buf->clauseInfo + buf->curClause; TRACE("jcUnconvert", "Enter") CHECKFIXED(buf); if (buf->curClause == buf->nClause) { /* $B%+%l%s%HJ8@a$,:G8e$NJ8@a$G$7$+$b6u(B */ jcErrno = JE_CLAUSEEMPTY; return -1; } if (!clp->conv) { /* $B%+%l%s%HJ8@a$OJQ49$5$l$F$$$J$$(B */ /* $BL5JQ49$NJ8@a$O(B wnnlib $BFbIt$G$O>o$KBgJ8@a$H$7$F(B * $B07$o$l$k$N$G!"%+%l%s%H>.J8@a$NJQ49>uBV$r8+$F!"(B * $B$=$l$,JQ49>uBV$J$i%+%l%s%HBgJ8@aFb$N(B * $BA4$F$N>.J8@a$OJQ49>uBV!"$=$&$G$J$1$l$PL5JQ49>uBV!"(B * $B$K$J$k(B */ jcErrno = JE_NOTCONVERTED; return -1; } /* $BA48uJdJ8@a$,%+%l%s%HBgJ8@a$+$=$l0J9_$K$"$l$PL58z$K$9$k(B */ checkCandidates(buf, buf->curLCStart, buf->nClause); /* $BL5JQ49>uBV$K$9$k(B */ if (unconvert(buf, buf->curLCStart, buf->curLCEnd) < 0) return -1; /* $BBgJ8@a$N@_Dj(B */ clp = buf->clauseInfo + buf->curLCStart; clp->ltop = 1; (++clp)->ltop = 1; /* $B%+%l%s%HJ8@a$N:F@_Dj(B */ buf->curClause = buf->curLCStart; buf->curLCEnd = buf->curLCStart + 1; /* $B%I%C%H$N@_Dj(B */ DotSet(buf); return 0; } /* jcCancel -- $BF~NOCf$NA4J8@a$rL5JQ49>uBV$K$9$k(B */ int jcCancel(jcConvBuf *buf) { TRACE("jcCancel", "Enter") CHECKFIXED(buf); if (buf->nClause <= 0) return 0; /* * $BI=<(%P%C%U%!$NFbMF$r$+$J%P%C%U%!$NFbMF$GCV49$($k(B * $B$3$N:]!"%P%C%U%!$NBg$-$5$O5$$K$9$kI,MW$,L5$$!#$J$<$J$i!"I=(B * $B<(%P%C%U%!$H$+$J%P%C%U%!$NBg$-$5$O>o$KF1$8$@$+$i(B */ bcopy(buf->kanaBuf, buf->displayBuf, buf->bufferSize * sizeof (wchar)); /* * $B:#$"$kA4J8@a$r0l$D$NL5JQ49>uBV$NBgJ8@a$K$9$k(B * $B$3$N:]$b!"J8@a?t$r5$$K$9$kI,MW$O$J$$!#$J$<$J$i!">/$/$H$b0l$D(B * $B$NJ8@a$O$"$C$?$O$:$@$+$i(B */ buf->curClause = buf->curLCStart = 0; buf->nClause = buf->curLCEnd = 1; buf->displayEnd = buf->displayBuf + (buf->kanaEnd - buf->kanaBuf); buf->clauseInfo[0].conv = 0; buf->clauseInfo[0].ltop = 1; buf->clauseInfo[1].kanap = buf->kanaEnd; buf->clauseInfo[1].dispp = buf->displayEnd; buf->clauseInfo[1].conv = 0; buf->clauseInfo[1].ltop = 1; /* $BA48uJdJ8@a$bL58z$K$9$k(B */ buf->candClause = buf->candClauseEnd = -1; /* jllib $B$NJQ49>uBV$bL58z$K$9$k(B */ if (jl_bun_suu(buf->wnn) > 0) jl_kill(buf->wnn, 0, -1); return 0; } /* jcExpand -- $B%+%l%s%HJ8@a$r#1J8;z9-$2$k(B */ int jcExpand(jcConvBuf *buf, int small, int convf) { TRACE("jcExpand", "Enter") CHECKFIXED(buf); return expandOrShrink(buf, small, 1, convf); } /* jcShrink -- $B%+%l%s%HJ8@a$r#1J8;z=L$a$k(B */ int jcShrink(jcConvBuf *buf, int small, int convf) { TRACE("jcShrink", "Enter") CHECKFIXED(buf); return expandOrShrink(buf, small, 0, convf); } /* jcKana -- $B%+%l%s%HJ8@a$r$+$J$K$9$k(B */ int jcKana(jcConvBuf *buf, int small, int kind) { jcClause *clp; wchar *kanap, *kanaendp, *dispp; int start, end; int conv; int c; TRACE("jcKana", "Enter") CHECKFIXED(buf); /* $BJ8@aHV9f$N%A%'%C%/(B */ if (buf->curClause >= buf->nClause) { /* $B%+%l%s%HJ8@a$,:G8e$NJ8@a$G$7$+$b6u$@$C$?>l9g(B * $B$3$N>l9g%(%i!<$K$7$F$b$h$$$,(B... */ return 0; } /* * $B%+%l%s%HJ8@a$,JQ49$5$l$F$$$l$P$$$C$?$sL5JQ49$K$9$k(B */ /* $B$"$H$GJQ49>uBV$r$b$H$KLa$9$?$a!"JQ49>uBV$r%;!<%V$7$F$*$/(B */ conv = buf->clauseInfo[buf->curClause].conv; if (small) { start = buf->curClause; end = start + 1; } else { start = buf->curLCStart; end = buf->curLCEnd; } /* $BA48uJdJ8@a$N%A%'%C%/(B */ checkCandidates(buf, start, end); /* $BL5JQ49>uBV$K$9$k(B */ if (unconvert(buf, start, end) < 0) { return -1; } /* * small $B$,(B 0$B!"$D$^$j%+%l%s%HJ8@a$H$7$FBgJ8@a$rA*Br$7$?>l9g!"(B * $B$=$NCf$N>.J8@a$O0l$D$K$^$H$a$i$l$k$N$G!"(BcurClause $B$H(B * curLCEnd $B$rJQ$($kI,MW$,$"$k(B */ if (!small) { buf->curClause = buf->curLCStart; buf->curLCEnd = buf->curLCStart + 1; } /* * $B$+$JJQ49$9$k(B * * $BI=<(%P%C%U%!$@$1$G$O$J$/!"$+$J%P%C%U%!$bJQ49$9$k(B * * $B$3$l$K$O$5$7$?$kM}M3$O$J$$$,!"$^$"!"(BVer3 $BHG$N(B jclib $B$,(B * $B$=$&$@$C$?$N$G!D(B */ clp = buf->clauseInfo + buf->curClause; kanap = clp->kanap; kanaendp = (clp + 1)->kanap; dispp = clp->dispp; if (kind == JC_HIRAGANA) { /* $B%+%?%+%J"*$R$i$,$J(B */ /* $B%+%?%+%J$r$R$i$,$J$KJQ49$9$k:]$K$O$R$i$,$J$K$J$$;z(B * "$B%t%u%v(B" $B$,$"$k$N$G$$$-$*$$$GJQ49$7$F$7$^$o$J$$$h$&$K(B * $B5$$rIU$1$J$1$l$P$J$i$J$$(B * ($B$^$"uBV$r$b$H$KLa$7$F$*$/(B */ /* $B$H$O$$$C$F$b4{$KJQ49$5$l$?J8@a$N>l9g!"$3$l$NIQEY>pJs$r(B * $B%5!<%P$KAw$k$H$^$:$$$N$G!"$"$H$G$+$JJQ49$7$?$3$H$,$o$+$k$h$&$K(B * jcClause.conv $B$O(B -1 $B$K%;%C%H$9$k(B */ clp->conv = conv ? -1 : 0; return 0; } /* jcFix -- $B3NDj$9$k(B */ int jcFix(jcConvBuf *buf) { TRACE("jcFix", "Enter") if (buf->fixed) { /* $B4{$K3NDj$5$l$F$$$k(B * $B%(%i!<$K$7$F$b$h$$$,!D(B */ return 0; } if (forceStudy(buf, buf->nClause) < 0) return -1; /* $B3NDj%U%i%0$rN)$F$k(B */ buf->fixed = 1; return 0; } /* jcFix1 -- $B:G=i$N0lJ8;z$@$1$r3NDj$9$k(B */ int jcFix1(jcConvBuf *buf) { TRACE("jcFix1", "Enter") if (buf->fixed) { /* $B4{$K3NDj$5$l$F$$$k(B * $B%(%i!<$K$7$F$b$h$$$,!D(B */ return 0; } if (buf->nClause >= 1) { /* $B:G=i$NJ8@a$@$1$r3X=,$9$k(B */ if (forceStudy(buf, 1) < 0) return -1; /* $B:G=i$NJ8@a$N0lJ8;z$@$1$K$9$k(B */ buf->nClause = 1; buf->curClause = buf->curLCStart = 0; buf->curLCEnd = 1; buf->kanaEnd = buf->kanaBuf + 1; /* $B%@%_!<(B */ buf->displayEnd = buf->displayBuf + 1; buf->clauseInfo[0].kanap = buf->kanaBuf; buf->clauseInfo[0].dispp = buf->displayBuf; buf->clauseInfo[0].ltop = 1; buf->clauseInfo[1].kanap = buf->kanaBuf + 1; /* $B%@%_!<(B */ buf->clauseInfo[1].dispp = buf->displayBuf + 1; buf->clauseInfo[1].ltop = 1; buf->dot = buf->kanaBuf + 1; buf->candClause = buf->candClauseEnd = -1; } /* $B3NDj%U%i%0$rN)$F$k(B */ buf->fixed = 1; return 0; } /* jcNext -- $B%+%l%s%HJ8@a$rclauseInfo[buf->curClause].conv) { /* $B$^$@JQ49$5$l$F$$$J$$(B */ jcErrno = JE_NOTCONVERTED; return -1; } /* $BA48uJd$,F@$i$l$F$$$J$1$l$P!"A48uJd$rF@$k(B */ if (getCandidates(buf, small) < 0) return -1; n = jl_zenkouho_suu(buf->wnn); if (n <= 1) { /* $Bwnn) + (prev ? -1 : 1); if (n < 0) { n = jl_zenkouho_suu(buf->wnn) - 1; } else if (n >= jl_zenkouho_suu(buf->wnn)) { n = 0; } if (setCandidate(buf, n) < 0) { /* $BclauseInfo[buf->curClause].conv) { /* $B$^$@JQ49$5$l$F$$$J$$(B */ jcErrno = JE_NOTCONVERTED; return -1; } /* $BA48uJd$,F@$i$l$F$$$J$1$l$P!"A48uJd$rF@$k(B */ if (getCandidates(buf, small) < 0) return -1; ncand = jl_zenkouho_suu(buf->wnn); if (ncand <= 1) { /* $B8uJd$,$J$$(B */ jcErrno = (ncand < 0) ? JE_WNNERROR : JE_NOCANDIDATE; return -1; } /* $B8=:_$N8uJdHV9f$rF@$k(B */ cand = jl_c_zenkouho(buf->wnn); if (cand < 0) { /* $B8uJd$,F@$i$l$J$$(B */ jcErrno = JE_WNNERROR; return -1; } if (ncandp != NULL) *ncandp = ncand; if (curcandp != NULL) *curcandp = cand; return 0; } /* jcGetCandidate -- $B;XDj$5$l$?HV9f$N8uJd$rcandClause < 0) { jcErrno = JE_NOCANDIDATE; return -1; } /* $B8uJdHV9f$N%A%'%C%/(B */ if (n < 0 || n >= jl_zenkouho_suu(buf->wnn)) { jcErrno = JE_NOSUCHCANDIDATE; return -1; } /* $BJ8;zNs$r%3%T!<(B */ ki2_jl_get_zenkouho_kanji(buf->wnn, n, tmp, CL_BUFSZ); tmp[CL_BUFSZ - 1] = 0; wstrncpy(candstr, tmp, len / sizeof(wchar)); return 0; } /* jcSelect -- $BI=<(%P%C%U%!$r;XDj$5$l$?8uJd$HCV$-49$($k(B */ int jcSelect(jcConvBuf *buf, int n) { TRACE("jcSelect", "Enter") CHECKFIXED(buf); #ifdef DEBUG_WNNLIB fprintf(stderr, "Select: %d [%s for %d - %d]\n", n, buf->candKind == CAND_SMALL ? "small" : "large", buf->candClause, buf->candClauseEnd); #endif /* $BJ8@a$N%A%'%C%/(B */ if (buf->candClause < 0) { jcErrno = JE_NOCANDIDATE; return -1; } /* $B8uJdHV9f$N%A%'%C%/(B */ if (n < 0 || n >= jl_zenkouho_suu(buf->wnn)) { jcErrno = JE_NOSUCHCANDIDATE; return -1; } /* $B8uJd$,%;%C%H$5$l$F$$$J$1$l$P!"%;%C%H$9$k(B */ if (jl_c_zenkouho(buf->wnn) != n && setCandidate(buf, n) < 0) return -1; return 0; } /* jcDotOffset -- $BBgJ8@a$N@hF,$+$i$N%I%C%H$N%*%U%;%C%H$rJV$9(B */ int jcDotOffset(jcConvBuf *buf) { TRACE("jcDotOffset", "Enter") return buf->dot - buf->clauseInfo[buf->curLCStart].kanap; } /* jcIsConverted -- $B;XDj$5$l$?J8@a$,JQ49$5$l$F$$$k$+$I$&$+$rJV$9(B */ int jcIsConverted(jcConvBuf *buf, int cl) { TRACE("jcIsConverted", "Enter") if (cl < 0 || cl > buf->nClause) { /* cl == jcNClause $B$N$H$-$r%(%i!<$K$7$F$b$$$$$N$@$1$l$I(B * $B%+%l%s%HJ8@a$,(B jcNClause $B$N$H$-$,$"$k$N$G(B * $B%(%i!<$H$O$7$J$$$3$H$K$7$?(B */ return -1; } return (buf->clauseInfo[cl].conv != 0); } /* jcMove -- $B%I%C%H!&%+%l%s%HJ8@a$r0\F0$9$k(B */ int jcMove(jcConvBuf *buf, int small, int dir) { jcClause *clp = buf->clauseInfo + buf->curClause; int i; TRACE("jcMove", "Enter") if (!clp->conv) { /* $B%+%l%s%HJ8@a$,JQ49$5$l$F$$$J$$$N$G!"%I%C%H$N0\F0$K$J$k(B */ if (dir == JC_FORWARD) { if (buf->curClause == buf->nClause) { /* $B$9$G$K0lHV:G8e$K$$$k(B */ jcErrno = JE_CANTMOVE; return -1; } else if (buf->dot == (clp + 1)->kanap) { /* $B%I%C%H$,%+%l%s%HJ8@a$N:G8e$K$"$k$N$G(B * $BJ8@a0\F0$9$k(B */ goto clausemove; } else { buf->dot++; } } else { if (buf->dot == clp->kanap) { /* $B%I%C%H$,%+%l%s%HJ8@a$N@hF,$K$"$k$N$G(B * $BJ8@a0\F0$9$k(B */ goto clausemove; } else buf->dot--; } return 0; } clausemove: /* $BJ8@a0\F0(B */ clp = buf->clauseInfo; if (small) { /* $B>.J8@aC10L$N0\F0(B */ if (dir == JC_FORWARD) { if (buf->curClause == buf->nClause) { jcErrno = JE_CANTMOVE; return -1; } buf->curClause++; if (buf->curClause >= buf->curLCEnd) { /* $BBgJ8@a$b0\F0$9$k(B */ buf->curLCStart = buf->curLCEnd; for (i = buf->curLCStart + 1; i <= buf->nClause && !clp[i].ltop; i++) ; buf->curLCEnd = i; } } else { /* JC_BACKWARD */ if (buf->curClause == 0) { jcErrno = JE_CANTMOVE; return -1; } buf->curClause--; if (buf->curClause < buf->curLCStart) { /* $BBgJ8@a$b0\F0$9$k(B */ buf->curLCEnd = buf->curLCStart; for (i = buf->curClause; !clp[i].ltop; i--) ; buf->curLCStart = i; } } } else { /* $BBgJ8@aC10L$N0\F0(B */ if (dir == JC_FORWARD) { if (buf->curLCStart == buf->nClause) { jcErrno = JE_CANTMOVE; return -1; } buf->curLCStart = buf->curClause = buf->curLCEnd; for (i = buf->curLCStart + 1; i <= buf->nClause && !clp[i].ltop; i++) ; buf->curLCEnd = i; } else { if (buf->curLCStart == 0) { jcErrno = JE_CANTMOVE; return -1; } buf->curLCEnd = buf->curLCStart; for (i = buf->curLCEnd - 1; !clp[i].ltop; i--) ; buf->curLCStart = buf->curClause = i; } } /* $BJ8@a0\F0$7$?$i%I%C%H$O$=$NJ8@a$N@hF,$K0\F0$9$k(B */ buf->dot = clp[buf->curClause].kanap; return 0; } /* jcTop -- $B%I%C%H!&%+%l%s%HJ8@a$rJ8$N@hF,$K0\F0$9$k(B */ int jcTop(jcConvBuf *buf) { TRACE("jcTop", "Enter") /* $B%+%l%s%HJ8@a$r(B 0 $B$K$7$F%I%C%H$r@hF,$K;}$C$F$/$k(B */ setCurClause(buf, 0); buf->dot = buf->kanaBuf; return 0; } /* jcBottom -- $B%I%C%H!&%+%l%s%HJ8@a$rJ8$N:G8e$K0\F0$9$k(B */ int jcBottom(jcConvBuf *buf) { TRACE("jcBottom", "Enter") /* * Ver3 $BBP1~$N(B jclib $B$G$O!"%+%l%s%HJ8@a$r(B jcNClause $B$K$7$F(B * $B%I%C%H$r:G8e$K;}$C$F$/$k$@$1$@$C$?(B * $B$3$l$@$H!":G8e$NJ8@a$K$+$J$rF~$l$F$$$F!"%+!<%=%k$rF0$+$7$F(B * jcBottom() $B$G85$KLa$C$F:F$S$+$J$rF~$l$k$H!"JL$NJ8@a$K(B * $B$J$C$F$7$^$&(B * $B$=$3$G!":G8e$NJ8@a$,L5JQ49>uBV$N;~$K$O!"%+%l%s%HJ8@a$O(B * buf->nClause $B$G$O$J$/!"(Bbuf->nClause - 1 $B$K$9$k$3$H$K$9$k(B */ if (buf->nClause > 0 && !buf->clauseInfo[buf->nClause - 1].conv) { buf->curClause = buf->curLCStart = buf->nClause - 1; buf->curLCEnd = buf->nClause; } else { buf->curClause = buf->curLCStart = buf->nClause; buf->curLCEnd = buf->nClause + 1; } buf->dot = buf->kanaEnd; return 0; } /* jcInsertChar -- $B%I%C%H$N0LCV$K0lJ8;zA^F~$9$k(B */ int jcInsertChar(jcConvBuf *buf, int c) { jcClause *clp; wchar *dot, *dispdot; int ksizenew, dsizenew; TRACE("jcInsertChar", "Enter") CHECKFIXED(buf); /* $BA48uJdJ8@a$,%+%l%s%HBgJ8@a$K$"$l$PL58z$K$9$k(B */ checkCandidates(buf, buf->curLCStart, buf->curLCEnd); /* * $B!&%+%l%s%HJ8@aHV9f$,(B buf->nClause $B$G$"$k>l9g(B * - $B$3$l$O%I%C%H$,:G8e$NJ8@a$Nl9g(B * - $BL5JQ49$N>uBV$KLa$7$F$+$iA^F~(B * $B!&$=$NB>(B * - $BC1$KA^F~$9$l$P$h$$(B */ clp = buf->clauseInfo + buf->curLCStart; if (buf->curLCStart == buf->nClause) { /* $B?7$?$KJ8@a$r:n$k(B */ /* clauseInfo $B$N%5%$%:$N%A%'%C%/(B */ if (buf->nClause >= buf->clauseSize && resizeCInfo(buf, buf->nClause + 1) < 0) { return -1; } /* buf->nClause $B$N%"%C%W%G!<%H$H(B clauseInfo $B$N@_Dj(B */ buf->nClause += 1; clp = buf->clauseInfo + buf->nClause; clp->conv = 0; clp->ltop = 1; clp->kanap = buf->kanaEnd; clp->dispp = buf->displayEnd; } else if (clp->conv) { /* $BL5JQ49>uBV$K$9$k(B */ if (unconvert(buf, buf->curLCStart, buf->curLCEnd) < 0) return -1; buf->curClause = buf->curLCStart; buf->curLCEnd = buf->curLCStart + 1; DotSet(buf); } clp = buf->clauseInfo + buf->curLCStart; /* $B%P%C%U%!$NBg$-$5$N%A%'%C%/(B */ ksizenew = (buf->kanaEnd - buf->kanaBuf) + 1; dsizenew = (buf->displayEnd - buf->displayBuf) + 1; if ((ksizenew > buf->bufferSize || dsizenew > buf->bufferSize) && resizeBuffer(buf, ksizenew > dsizenew ? ksizenew : dsizenew) < 0) { return -1; } /* $B$+$J%P%C%U%!$r%"%C%W%G!<%H(B */ dot = buf->dot; /* $B%+%l%s%HJ8@a$N8e$m$r0lJ8;z$:$i$9(B */ moveKBuf(buf, buf->curLCStart + 1, 1); /* $B%+%l%s%HJ8@aFb$N%I%C%H0J9_$r0lJ8;z$:$i$9(B */ (void)bcopy((char *)dot, (char *)(dot + 1), ((clp + 1)->kanap - dot) * sizeof(wchar)); /* $BA^F~(B */ *dot = c; /* $BI=<(%P%C%U%!$r%"%C%W%G!<%H(B */ dispdot = clp->dispp + (dot - clp->kanap); /* $B%+%l%s%HJ8@a$N8e$m$r0lJ8;z$:$i$9(B */ moveDBuf(buf, buf->curLCStart + 1, 1); /* $B%+%l%s%HJ8@aFb$N%I%C%H0J9_$r0lJ8;z$:$i$9(B */ (void)bcopy((char *)dispdot, (char *)(dispdot + 1), ((clp + 1)->dispp - dispdot) * sizeof(wchar)); /* $BA^F~(B */ *dispdot = c; /* $B%I%C%H$r99?7(B */ buf->dot++; return 0; } /* jcDeleteChar -- $B%I%C%H$NA0$^$?$O8e$m$N0lJ8;z$r:o=|$9$k(B */ int jcDeleteChar(jcConvBuf *buf, int prev) { jcClause *clp; wchar *dot, *dispdot; TRACE("jcDeleteChar", "Enter") CHECKFIXED(buf); clp = buf->clauseInfo; if (buf->nClause == 0) { /* $BJ8@a?t$,(B 0$B!"$D$^$j2?$bF~$C$F$$$J$$;~(B: * - $B%(%i!<(B */ jcErrno = JE_CANTDELETE; return -1; } else if (buf->curClause >= buf->nClause) { /* $B%+%l%s%HJ8@a$,:G8e$NJ8@a$NcurLCStart].conv) { /* $B%+%l%s%HJ8@a$,JQ49$5$l$F$$$k;~(B: * - prev $B$G$"$l$PA0$NJ8@a$N:G8e$NJ8;z$r:o=|(B * $B%+%l%s%HJ8@a$OA0$NJ8@a$K0\F0$9$k(B * $BI,MW$J$i$PA0$NJ8@a$rL5JQ49$KLa$7$F$+$i:o=|$9$k(B * $B%+%l%s%HJ8@a$,@hF,$J$i$P%(%i!<(B * - !prev $B$J$i%+%l%s%HJ8@a$rL5JQ49$KLa$7$F!"J8@a$N(B * $B:G=i$NJ8;z$r:o=|(B */ if (prev) { if (buf->curLCStart == 0) { jcErrno = JE_CANTDELETE; return -1; } (void)jcMove(buf, 0, JC_BACKWARD); } } else { /* $B%+%l%s%HJ8@a$,JQ49$5$l$F$$$J$$;~(B: * - prev $B$G$"$l$P%I%C%H$NA0$NJ8;z$r:o=|(B * $B$?$@$7%I%C%H$,J8@a$N@hF,$K$"$l$PA0$NJ8@a$N(B * $B:G8e$NJ8;z$r:o=|(B * $B$=$N;~$K$O%+%l%s%HJ8@a$OA0$NJ8@a$K0\F0$9$k(B * $BI,MW$J$i$PA0$NJ8@a$rL5JQ49$KLa$7$F$+$i:o=|$9$k(B * $B%+%l%s%HJ8@a$,@hF,$J$i$P%(%i!<(B * - !prev $B$J$i%I%C%H$Ndot == clp[buf->curLCStart].kanap) { if (buf->curLCStart == 0) { jcErrno = JE_CANTDELETE; return -1; } (void)jcMove(buf, 0, JC_BACKWARD); } } else { if (buf->dot == clp[buf->curLCEnd].kanap) { jcErrno = JE_CANTDELETE; return -1; } } } if (buf->clauseInfo[buf->curLCStart].conv) { /* $B%+%l%s%HJ8@a$,JQ49:Q$_$G$"$l$PL5JQ49$KLa$9(B */ if (jcUnconvert(buf) < 0) return -1; /* prev $B$G$"$l$PJ8@a$N:G8e$NJ8;z!"$=$&$G$J$1$l$PJ8@a$N(B * $B@hF,$NJ8;z$r:o=|$9$k(B */ if (prev) { buf->dot = buf->clauseInfo[buf->curLCEnd].kanap - 1; } else { buf->dot = buf->clauseInfo[buf->curLCStart].kanap; } } else { /* prev $B$J$i%I%C%H$r#1J8;zLa$7$F$*$/(B * $B$3$&$9$l$P%I%C%H$N8e$m$NJ8;z$r:o=|$9$k$3$H$K$J$k(B * $B:o=|$7=*$o$C$?$H$-$K%I%C%H$rF0$+$9I,MW$b$J$$(B */ if (prev) buf->dot--; } clp = buf->clauseInfo + buf->curLCStart; /* $B$+$J%P%C%U%!$r%"%C%W%G!<%H(B */ dot = buf->dot; /* $B%+%l%s%HJ8@aFb$N%I%C%H0J9_$r0lJ8;z$:$i$9(B */ (void)bcopy((char *)(dot + 1), (char *)dot, ((clp + 1)->kanap - (dot + 1)) * sizeof(wchar)); /* $B%+%l%s%HJ8@a$N8e$m$r0lJ8;z$:$i$9(B */ moveKBuf(buf, buf->curLCEnd, -1); /* $BI=<(%P%C%U%!$r%"%C%W%G!<%H(B */ dispdot = clp->dispp + (dot - clp->kanap); /* $B%+%l%s%HJ8@aFb$N%I%C%H0J9_$r0lJ8;z$:$i$9(B */ (void)bcopy((char *)(dispdot + 1), (char *)dispdot, ((clp + 1)->dispp - (dispdot + 1)) * sizeof(wchar)); /* $B%+%l%s%HJ8@a$N8e$m$r0lJ8;z$:$i$9(B */ moveDBuf(buf, buf->curLCEnd, -1); /* $B%+%l%s%HJ8@a$ND9$5$,#1$@$C$?>l9g$K$OJ8@a$,#18:$k$3$H$K$J$k(B */ if (clp->kanap == (clp + 1)->kanap) { /* $BJ8@a$,$J$/$J$C$F$7$^$C$?(B */ moveCInfo(buf, buf->curLCEnd, -1); setCurClause(buf, buf->curLCStart); DotSet(buf); } return 0; } /* jcKillLine -- $B%I%C%H0J9_$r:o=|$9$k(B */ int jcKillLine(jcConvBuf *buf) { int cc = buf->curClause; TRACE("jcKillLine", "Enter") CHECKFIXED(buf); /* $BF~NOCf$NJ8@a$,$J$$$+!"%I%C%H$,:G8e$NJ8@a$NnClause <= 0 || cc >= buf->nClause) { jcErrno = JE_CANTDELETE; return -1; } #ifdef DEBUG_WNNLIB showBuffers(buf, "before jcKillLine"); #endif /* $B%I%C%H$,F~NO$N@hF,$G$"$l$P!"(BjcClear $B$r8F=P$7$F=*$j(B */ if (buf->dot == buf->kanaBuf) return jcClear(buf); /* * $B%I%C%H0J9_$r:o=|$9$k(B * $B$H$$$C$F$b!"C1$KJ8@a>pJs$H%]%$%s%?$rJQ99$9$l$PNI$$(B */ checkCandidates(buf, cc, buf->nClause); if (buf->clauseInfo[cc].conv) { /* $BJQ49$5$l$F$$$l$P!"%+%l%s%HJ8@a$r4^$a$F:o=|(B */ buf->kanaEnd = buf->dot = buf->clauseInfo[cc].kanap; buf->displayEnd = buf->clauseInfo[cc].dispp; /* $B%+%l%s%HJ8@a$rKvHxJ8@a$K0\$9(B */ buf->nClause = buf->curClause = buf->curLCStart = cc; buf->curLCEnd = cc + 1; } else { /* $BL$JQ49$J$i$P!"%I%C%H0J9_$r:o=|(B */ buf->kanaEnd = buf->dot; buf->displayEnd = buf->clauseInfo[cc].dispp + (buf->dot - buf->clauseInfo[cc].kanap); /* $B%+%l%s%HJ8@a$O$=$N$^$^$G!"KvHx$@$1$r5$$K$9$l$P$h$$(B */ cc++; buf->nClause = buf->curLCEnd = cc; } /* $B6u$NKvHxJ8@a$N@_Dj$r$9$k(B */ buf->clauseInfo[cc].kanap = buf->kanaEnd; buf->clauseInfo[cc].dispp = buf->displayEnd; buf->clauseInfo[cc].conv = 0; buf->clauseInfo[cc].ltop = 1; /* $B%+%l%s%HJ8@a$H$=$l0J9_$N(B jllib $B$NJ8@a>pJs$bL58z$K$9$k(B */ if (jl_bun_suu(buf->wnn) > cc) jl_kill(buf->wnn, cc, -1); #ifdef DEBUG_WNNLIB showBuffers(buf, "after jcKillLine"); #endif return 0; } /* jcChangeClause -- $B%+%l%s%HBgJ8@a$r;XDj$5$l$?J8;zNs$GCV$-49$($k(B */ int jcChangeClause(jcConvBuf *buf, wchar *str) { jcClause *clps, *clpe; wchar *p; int newlen; int oklen, odlen; int ksize, dsize; TRACE("jcChangeClause", "Enter") CHECKFIXED(buf); clps = buf->clauseInfo + buf->curLCStart; clpe = buf->clauseInfo + buf->curLCEnd; newlen = 0; p = str; while (*p++) newlen++; /* $B$+$J%P%C%U%!$HI=<(%P%C%U%!$N%5%$%:$rD4$Y$F!"(B * $BF~$i$J$+$C$?$iBg$-$/$9$k(B */ if (buf->curLCStart < buf->nClause) { oklen = clpe->kanap - clps->kanap; odlen = clpe->dispp - clps->dispp; } else { oklen = odlen = 0; } ksize = (buf->kanaEnd - buf->kanaBuf) + newlen - oklen; dsize = (buf->displayEnd - buf->displayBuf) + newlen - odlen; if (ksize > buf->bufferSize || dsize > buf->bufferSize) { if (resizeBuffer(buf, ksize > dsize ? ksize : dsize) < 0) return -1; } /* curLCStart $B$,(B nClause $B$KEy$7$$;~$@$1!"?7$?$KJ8@a$,:n$i$l$k(B */ if (buf->curLCStart == buf->nClause) { /* clauseInfo $B$NBg$-$5$rD4$Y$k(B*/ if (buf->nClause + 1 > buf->clauseSize) { if (resizeCInfo(buf, buf->nClause + 1) < 0) return -1; } /* $B?7$?$K$G$-$?(B clauseInfo $B$K$O!"(BnClause $BHVL\(B * ($B$D$^$j:G8e$N(B clauseInfo) $B$NFbMF$r%3%T!<$7$F$*$/(B */ clpe = buf->clauseInfo + buf->nClause + 1; *clpe = *(clpe - 1); buf->nClause++; } clps = buf->clauseInfo + buf->curLCStart; clpe = buf->clauseInfo + buf->curLCEnd; /* $B$+$J%P%C%U%!$NJQ99(B */ /* $B$^$:$O8e$m$r0\F0$5$;$k(B */ moveKBuf(buf, buf->curLCEnd, newlen - oklen); /* str $B$r%3%T!<(B */ (void)bcopy((char *)str, (char *)clps->kanap, newlen * sizeof(wchar)); /* $BI=<(%P%C%U%!$NJQ99(B */ /* $B$^$:$O8e$m$r0\F0$5$;$k(B */ moveDBuf(buf, buf->curLCEnd, newlen - odlen); /* str $B$r%3%T!<(B */ (void)bcopy((char *)str, (char *)clps->dispp, newlen * sizeof(wchar)); /* clauseInfo $B$NJQ99(B */ /* $B$^$:$O8e$m$r0\F0$5$;$k(B */ if (clpe > clps + 1) { (void)bcopy((char *)clpe, (char *)(clps + 1), (buf->nClause + 1 - buf->curLCEnd) * sizeof(jcClause)); } clps->conv = 0; clps->ltop = 1; (clps + 1)->ltop = 1; return 0; } /* jcSaveDic -- $B<-=q!&IQEY%U%!%$%k$r%;!<%V$9$k(B */ int jcSaveDic(jcConvBuf *buf) { TRACE("jcSaveDic", "Enter") return jl_dic_save_all(buf->wnn); } /* $B%5!<%P$H$N@\B3$N$?$a$N4X?t72(B */ struct wnn_buf * jcOpen(char *server, char *envname, int override, char *rcfile, void (*errmsg)(), int (*confirm)(), int timeout) { return jcOpen2(server, envname, override, rcfile, rcfile, errmsg, confirm, timeout); } struct wnn_buf * jcOpen2(char *server, char *envname, int override, char *rcfile4, char *rcfile6, void (*errmsg)(), int (*confirm)(), int timeout) { struct wnn_buf *wnnbuf; struct wnn_env *wnnenv; char *rcfile; int env_exists; int wnn_version; TRACE("jcOpen2", "Enter") /* $B%5!<%PL>$,(B NULL $B$^$?$O6uJ8;zNs$@$C$?>l9g$O4D6-JQ?t(B JSERVER $B$r;HMQ$9$k(B */ if (server == NULL || server[0] == '\0') { server = getenv("JSERVER"); } /* $B4D6-L>$,6uJ8;zNs$@$C$?>l9g$O!"%f!<%6L>$r;HMQ$9$k(B */ if (envname != NULL && *envname == 0) { struct passwd *p = getpwuid(getuid()); if (p != NULL) envname = p->pw_name; } /* * jserver $B$N%P!<%8%g%s$K$h$C$F(B wnnrc $B$rJQ$($?$$$N$@$,!"(B * $B%P!<%8%g%s$rD4$Y$k$?$a$K$O$^$:@\B3$7$J$/$F$O$J$i$J$$!#(B * $B$=$3$G(B wnnrc $B0z?t$r(B NULL $B$K$7$F@\B3$9$k!#(B */ #if JSERVER_VERSION > 0x4030 wnnbuf = jl_open_lang(envname, server, "ja_JP", NULL, confirm, errmsg, timeout); #else wnnbuf = jl_open(envname, server, NULL, confirm, errmsg, timeout); #endif /* * $B!&%P%C%U%!$,:n$l$J$+$C$?(B * $B!&(Bjserver $B$K@\B3$G$-$J$+$C$?(B * $B!&(Bwnnrc $B%U%!%$%k$N;XDj$,$J$$(B ($B$D$^$j=i4|2=$7$J$$(B) * $B>l9g$K$O$3$l$G=*$j!#(B */ if (wnnbuf == NULL || !jl_isconnect(wnnbuf) || (rcfile4 == NULL && rcfile6 == NULL)) { return wnnbuf; } wnnenv = jl_env_get(wnnbuf); /* * $B0JA0$+$i4D6-$,B8:_$7$F$$$?$+$I$&$+$H!"%5!<%P$N%P!<%8%g%s$rD4$Y$k!#(B * $B4D6-$,B8:_$7$F$$$?$+$I$&$+$O(B jl_fuzokugo_get $B$G(B ($B$D$^$jIUB08l(B * $B<-=q$,@_Dj$5$l$F$$$k$+$I$&$+$G(B) $BH=CG$9$k!#(Bjl_open_lang $B$O4D6-$,(B * $B$J$1$l$P:n$C$F$7$^$&$?$a!"(Bjs_env_exist $B$O;H$($J$$!#(B */ { char fzk[1024]; int serv_ver, lib_ver; if (ki2_jl_fuzokugo_get(wnnbuf, fzk, 1024) != -1) { env_exists = 1; TRACE("jcOpen2", "env exists"); } else { env_exists = 0; TRACE("jcOpen2", "no env"); } if (js_version(wnnenv->js_id, &serv_ver, &lib_ver) != -1 && serv_ver >= 0x4f00) { wnn_version = 6; TRACE("jcOpen2", "Wnn6"); } else { wnn_version = 4; TRACE("jcOpen2", "Wnn4"); } } /* wnnrc $B$NA*Br(B */ rcfile = (wnn_version == 4) ? rcfile4 : rcfile6; /* * $B4D6-$,$9$G$KB8:_$7$+$D4D6-$N>e=q$-$,;XDj$5$l$F$$$J$$!"$"$k$$$O(B * rcfile $B$,(B NULL $B$N>l9g$K$O$3$l$G=*$j!#(B */ if ((env_exists && !override) || rcfile == NULL) return wnnbuf; /* * wnnrc $B$,6uJ8;zNs$@$C$?>l9g$O!"%G%U%)%k%H$r;HMQ$9$k!#(B * 1. $B4D6-JQ?t(B WNNENVRC4 $B$^$?$O(B WNNENVRC6 * 2. $B4D6-JQ?t(B WNNENVRC * 3. $B%7%9%F%`$N%G%U%)%k%H(B * $B$N=g$G8!:w$9$k!#:G8e$N$O$A$g$C$H$$$$$+$2$s!#(B */ if (*rcfile == '\0') { rcfile = getenv((wnn_version == 4) ? "WNNENVRC4" : "WNNENVRC6"); if (rcfile == NULL || access(rcfile, R_OK) != 0) { rcfile = getenv("WNNENVRC"); } if (rcfile == NULL || access(rcfile, R_OK) != 0) { if (wnn_version == 6) { #ifdef WNN6 rcfile = "@DEFAULT"; #else rcfile = "wnnenvrc"; #endif } else { #if defined(WNNENVDIR) && JSERVER_VERSION > 0x4030 static char envrc[256]; rcfile = envrc; (void)snprintf(rcfile, sizeof(envrc), "%s/ja_JP/wnnenvrc", WNNENVDIR); if (access(rcfile, R_OK) != 0) (void) snprintf(rcfile, sizeof(envrc), "%s/wnnenvrc", WNNENVDIR); fprintf( stderr , "%s\n" , rcfile) ; #else rcfile = "wnnenvrc"; #endif } } } /* $B4D6-@_Dj$9$k(B */ (void)jl_set_env_wnnrc(wnnenv, rcfile, confirm, errmsg); return wnnbuf; } void jcClose(struct wnn_buf *wnnbuf) { TRACE("jcClose", "Enter") if (wnnbuf != NULL) jl_close(wnnbuf); } int jcIsConnect(struct wnn_buf *wnnbuf) { TRACE("jcIsConnect", "Enter") if (wnnbuf == NULL) return 0; return jl_isconnect(wnnbuf); } #ifdef DEBUG_WNNLIB static void printBuffer(wchar *start, wchar *end) { wchar wc; while (start < end) { wc = *start++; if (wc >= 0200) { putc((wc >> 8) & 0xff, stderr); wc &= 0xff; } else if (wc < 040 || wc == 0177) { putc('^', stderr); wc ^= 0100; } else if (wc == '^' || wc == '\\') { putc('\\', stderr); } putc(wc, stderr); } } static void showBuffers(jcConvBuf *buf, char *tag) { int i; jcClause *clp = buf->clauseInfo; wchar ws[512]; fprintf(stderr, "Buffer Info [%s]\n", tag); fprintf(stderr, "nClause = %d, curClause = %d [%d, %d], ", buf->nClause, buf->curClause, buf->curLCStart, buf->curLCEnd); if (buf->dot < buf->kanaBuf) { fprintf(stderr, "dot < 0\n"); } else if (buf->dot > buf->kanaEnd) { fprintf(stderr, "dot > 0\n"); } else if (buf->nClause == 0) { fprintf(stderr, "dot == 0\n"); } else { for (i = 0; i < buf->nClause; i++) { if (buf->dot <= clp[i].kanap) break; } if (buf->dot < clp[i].kanap) i--; fprintf(stderr, "dot = %d.%d\n", i, buf->dot - clp[i].kanap); } for (i = 0; i < buf->nClause; i++) { fprintf(stderr, "clause[%d]: conv = %d, ltop = %d", i, clp->conv, clp->ltop); if (clp->conv == 1) { fprintf(stderr, " [%d]", jl_dai_top(buf->wnn, i)); } fprintf(stderr, "\n"); fprintf(stderr, "clause[%d]: Kana = '", i); printBuffer(clp->kanap, (clp + 1)->kanap); fprintf(stderr, "'\n"); if (clp->conv == 1) { fprintf(stderr, "clause[%d]: Yomi = '", i); (void)ki2_jl_get_yomi(buf->wnn, i, i + 1, ws, sizeof(ws)); printBuffer(ws, ws + jl_yomi_len(buf->wnn, i, i + 1)); fprintf(stderr, "'\n"); } fprintf(stderr, "clause[%d]: Disp = '", i); printBuffer(clp->dispp, (clp + 1)->dispp); fprintf(stderr, "'\n"); if (clp->conv == 1) { fprintf(stderr, "clause[%d]: Conv = '", i); (void)ki2_jl_get_kanji(buf->wnn, i, i + 1, ws, sizeof(ws)); printBuffer(ws, ws + jl_kanji_len(buf->wnn, i, i + 1)); fprintf(stderr, "'\n"); } clp++; } } #endif /* DEBUG_WNNLIB */ mlterm-3.8.4/inputmethod/wnn/wnnlib.h010064400017600000144000000143041321054731300163310ustar kenusers/* Copyright (c) 2008-2013 uim Project http://code.google.com/p/uim/ All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of authors nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* $Id: wnnlib.h,v 10.8 1999/05/25 06:21:10 ishisone Exp $ */ /* * wnnlib.h -- wnnlib $BMQ%X%C%@%U%!%$%k(B (Wnn Version4/6 $BBP1~HG(B) * version 5.0 * ishisone@sra.co.jp */ /* * Copyright (c) 1989 Software Research Associates, Inc. * Copyright (c) 1998 MORIBE, Hideyuki * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of Software Research Associates not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. Software Research * Associates makes no representations about the suitability of this software * for any purpose. It is provided "as is" without express or implied * warranty. * * Author: Makoto Ishisone, Software Research Associates, Inc., Japan * MORIBE, Hideyuki */ #ifndef _wnnlib_h #define _wnnlib_h #include #include #include #include #ifndef WCHAR_DEFINED #define WCHAR_DEFINED #undef wchar typedef unsigned short wchar; #endif /* $BDj?t(B */ #define JC_FORWARD 1 #define JC_BACKWARD 0 #define JC_NEXT 0 #define JC_PREV 1 #define JC_HIRAGANA 0 #define JC_KATAKANA 1 /* $B%(%i!]J8@a$,$^$@JQ49$5$l$F$$$J$$(B */ #define JE_CANTDELETE 4 /* $B%P%C%U%!$N@hF,$NA0!"$"$k$$$O(B * $B:G8e$N.J8@a$N>pJs(B */ typedef struct { wchar *kanap; /* $BFI$_J8;zNs(B */ wchar *dispp; /* $BI=<(J8;zNs(B */ char conv; /* $BJQ49:Q$_$+(B */ /* 0: $BL$JQ49(B 1: $BJQ49:Q(B -1: $B$G5?;wJQ49(B */ char ltop; /* $BBgJ8@a$N@hF,$+(B? */ } jcClause; /* $B:n6H0h(B */ typedef struct { /* public member */ int nClause; /* $BJ8@a?t(B */ int curClause; /* $B%+%l%s%HJ8@aHV9f(B */ int curLCStart; /* $B%+%l%s%HBgJ8@a3+;OJ8@aHV9f(B */ int curLCEnd; /* $B%+%l%s%HBgJ8@a=*N;J8@aHV9f(B */ wchar *kanaBuf; /* $B$+$J%P%C%U%!(B */ wchar *kanaEnd; wchar *displayBuf; /* $B%G%#%9%W%l%$%P%C%U%!(B */ wchar *displayEnd; jcClause *clauseInfo; /* $BJ8@a>pJs(B */ struct wnn_buf *wnn; /* private member */ int fixed; /* $B3NDj$5$l$?$+$I$&$+(B */ wchar *dot; /* $B%I%C%H$N0LCV(B */ int candKind; /* $BBgJ8@a$NA48uJd$+>.J8@a$N8uJd$+$r(B $BI=$9%U%i%0(B */ int candClause; /* $BA48uJd$r$H$C$F$$$kJ8@aHV9f(B */ int candClauseEnd; /* $BBgJ8@a$NA48uJd$N;~!"=*N;J8@aHV9f(B */ int bufferSize; /* kanaBuf/displayBuf $B$NBg$-$5(B */ int clauseSize; /* clauseInfo $B$NBg$-$5(B */ } jcConvBuf; struct wnn_buf *jcOpen(char *, char *, int, char *, void (*)(), int (*)(), int); struct wnn_buf *jcOpen2(char *, char *, int, char *, char *, void (*)(), int (*)(), int); void jcClose(struct wnn_buf *); int jcIsConnect(struct wnn_buf *); jcConvBuf *jcCreateBuffer(struct wnn_buf *, int, int); int jcDestroyBuffer(jcConvBuf *, int); int jcClear(jcConvBuf *); int jcInsertChar(jcConvBuf *, int); int jcDeleteChar(jcConvBuf *, int); int jcKillLine(jcConvBuf *); int jcConvert(jcConvBuf *, int, int, int); int jcUnconvert(jcConvBuf *); int jcCancel(jcConvBuf *); int jcExpand(jcConvBuf *, int, int); int jcShrink(jcConvBuf *, int, int); int jcKana(jcConvBuf *, int, int); int jcFix(jcConvBuf *); int jcFix1(jcConvBuf *); int jcNext(jcConvBuf *, int, int); int jcCandidateInfo(jcConvBuf *, int, int *, int *); int jcGetCandidate(jcConvBuf *, int, wchar *, int); int jcSelect(jcConvBuf *, int); int jcDotOffset(jcConvBuf *); int jcIsConverted(jcConvBuf *, int); int jcMove(jcConvBuf *, int, int); int jcTop(jcConvBuf *); int jcBottom(jcConvBuf *); int jcChangeClause(jcConvBuf *, wchar *); int jcSaveDic(jcConvBuf *); #endif /* _wnnlib_h */ mlterm-3.8.4/inputmethod/fcitx004075500017600000144000000000001321054731300151245ustar kenusersmlterm-3.8.4/inputmethod/fcitx/im_fcitx.c010064400017600000144000000515511321054731300171550ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include #include #include #include #include #include "../im_common.h" #include "../im_info.h" #define FCITX_ID -3 #if 0 #define IM_FCITX_DEBUG 1 #endif /* * fcitx doesn't support wayland, so the positioning of gtk-based candidate window of fcitx * doesn't work correctly on wayland. */ #if defined(USE_FRAMEBUFFER) || defined(USE_CONSOLE) || defined(USE_WAYLAND) #define KeyPress 2 /* see uitoolkit/fb/ui_display.h */ #define USE_IM_CANDIDATE_SCREEN #endif #if defined(USE_FRAMEBUFFER) || defined(USE_CONSOLE) #define NO_XKB #endif /* When fcitx encoding is the same as terminal, conv is NULL. */ #define NEED_TO_CONV(fcitx) ((fcitx)->conv) typedef struct im_fcitx { /* input method common object */ ui_im_t im; FcitxClient *client; vt_char_encoding_t term_encoding; #ifdef USE_IM_CANDIDATE_SCREEN ef_parser_t *parser_term; /* for term encoding */ #endif ef_conv_t *conv; /* for term encoding */ /* * Cache a result of fcitx_input_context_is_enabled() which uses * DBus connection internally. */ gboolean is_enabled; XKeyEvent prev_key; } im_fcitx_t; /* --- static variables --- */ static int ref_count = 0; static ef_parser_t *parser_utf8 = NULL; static ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ #ifdef DEBUG_MODKEY static int mod_key_debug = 0; #endif /* --- static functions --- */ /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_fcitx_t *fcitx; fcitx = (im_fcitx_t*)im; g_signal_handlers_disconnect_by_data(fcitx->client, fcitx); g_object_unref(fcitx->client); if (fcitx->conv) { (*fcitx->conv->delete)(fcitx->conv); } #ifdef USE_IM_CANDIDATE_SCREEN if (fcitx->parser_term) { (*fcitx->parser_term->delete)(fcitx->parser_term); } #endif free(fcitx); if (--ref_count == 0) { (*syms->ui_event_source_remove_fd)(FCITX_ID); if (parser_utf8) { (*parser_utf8->delete)(parser_utf8); parser_utf8 = NULL; } } #ifdef IM_FCITX_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif } #ifdef NO_XKB static KeySym native_to_fcitx_ksym(KeySym ksym) { switch (ksym) { case XK_BackSpace: return FcitxKey_BackSpace; case XK_Tab: return FcitxKey_Tab; case XK_Return: return FcitxKey_Return; case XK_Escape: return FcitxKey_Escape; case XK_Zenkaku_Hankaku: return FcitxKey_Zenkaku_Hankaku; case XK_Hiragana_Katakana: return FcitxKey_Hiragana_Katakana; case XK_Muhenkan: return FcitxKey_Muhenkan; case XK_Henkan_Mode: return FcitxKey_Henkan_Mode; case XK_Home: return FcitxKey_Home; case XK_Left: return FcitxKey_Left; case XK_Up: return FcitxKey_Up; case XK_Right: return FcitxKey_Right; case XK_Down: return FcitxKey_Down; case XK_Prior: return FcitxKey_Prior; case XK_Next: return FcitxKey_Next; case XK_Insert: return FcitxKey_Insert; case XK_End: return FcitxKey_End; case XK_Num_Lock: return FcitxKey_Num_Lock; case XK_Shift_L: return FcitxKey_Shift_L; case XK_Shift_R: return FcitxKey_Shift_R; case XK_Control_L: return FcitxKey_Control_L; case XK_Control_R: return FcitxKey_Control_R; case XK_Caps_Lock: return FcitxKey_Caps_Lock; case XK_Meta_L: return FcitxKey_Meta_L; case XK_Meta_R: return FcitxKey_Meta_R; case XK_Alt_L: return FcitxKey_Alt_L; case XK_Alt_R: return FcitxKey_Alt_R; case XK_Delete: return FcitxKey_Delete; default: return ksym; } } #else #define native_to_fcitx_ksym(ksym) (ksym) #endif static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_fcitx_t *fcitx; u_int state; fcitx = (im_fcitx_t*)im; #ifdef NO_XKB if (ksym == 0x08 && (event->state & ModMask)) { /* Alt+Backspace => Alt+Control+h (show yourei) */ ksym = 'h'; state = event->state | ControlMask; } else if (ksym == '[' && (event->state & ControlMask)) { /* Control+[ => Escape (exit yourei) */ ksym = XK_Escape; state = event->state & ~ControlMask; } else #endif { state = event->state; } if (event->state & FcitxKeyState_IgnoredMask) { /* Is put back in forward_key_event */ event->state &= ~FcitxKeyState_IgnoredMask; } else if (fcitx_client_process_key_sync( fcitx->client, native_to_fcitx_ksym(ksym), #ifdef NO_XKB event->keycode, #else event->keycode - 8, #endif state, event->type == KeyPress ? FCITX_PRESS_KEY : FCITX_RELEASE_KEY, #ifdef NO_XKB 0L /* CurrentTime */ #else event->time #endif )) { fcitx->is_enabled = TRUE; event->state = state; memcpy(&fcitx->prev_key, event, sizeof(XKeyEvent)); g_main_context_iteration(g_main_context_default(), FALSE); return 0; } else { fcitx->is_enabled = FALSE; if (fcitx->im.preedit.filled_len > 0) { g_main_context_iteration(g_main_context_default(), FALSE); } } return 1; } static int switch_mode(ui_im_t *im) { im_fcitx_t *fcitx; fcitx = (im_fcitx_t*)im; if (fcitx->is_enabled) { fcitx_client_close_ic(fcitx->client); fcitx->is_enabled = FALSE; } else { fcitx_client_enable_ic(fcitx->client); fcitx->is_enabled = TRUE; } return 1; } static int is_active(ui_im_t *im) { return ((im_fcitx_t*)im)->is_enabled; } static void focused(ui_im_t *im) { im_fcitx_t *fcitx; fcitx = (im_fcitx_t*)im; fcitx_client_focus_in(fcitx->client); if (fcitx->im.stat_screen) { (*fcitx->im.stat_screen->show)(fcitx->im.stat_screen); } } static void unfocused(ui_im_t *im) { im_fcitx_t *fcitx; fcitx = (im_fcitx_t*)im; fcitx_client_focus_out(fcitx->client); if (fcitx->im.stat_screen) { (*fcitx->im.stat_screen->hide)(fcitx->im.stat_screen); } } static void connected(FcitxClient *client, void *data) { im_fcitx_t *fcitx; int x; int y; fcitx = data; fcitx_client_set_capacity(client, #ifdef USE_IM_CANDIDATE_SCREEN CAPACITY_CLIENT_SIDE_UI | CAPACITY_CLIENT_SIDE_CONTROL_STATE #else CAPACITY_PREEDIT | CAPACITY_FORMATTED_PREEDIT #endif ); fcitx_client_focus_in(client); #if 1 /* * XXX * To show initial status window (e.g. "Mozc") at the correct position. * Should be moved to enable_im() but "enable-im" event doesn't work. (fcitx 4.2.9.1) */ if ((*fcitx->im.listener->get_spot)(fcitx->im.listener->self, NULL, 0, &x, &y)) { u_int line_height; line_height = (*fcitx->im.listener->get_line_height)(fcitx->im.listener->self); fcitx_client_set_cursor_rect(fcitx->client, x, y - line_height, 0, line_height); } #endif } static void disconnected(FcitxClient *client, void *data) { im_fcitx_t *fcitx; fcitx = data; fcitx->is_enabled = FALSE; if (fcitx->im.stat_screen) { (*fcitx->im.stat_screen->delete)(fcitx->im.stat_screen); fcitx->im.stat_screen = NULL; } } #if 0 static void enable_im(FcitxClient *client, void *data) {} #endif static void close_im(FcitxClient *client, void *data) { disconnected(client, data); } static void commit_string(FcitxClient *client, char *str, void *data) { im_fcitx_t *fcitx; size_t len; fcitx = data; if (fcitx->im.preedit.filled_len > 0) { /* Reset preedit */ fcitx->im.preedit.filled_len = 0; fcitx->im.preedit.cursor_offset = 0; (*fcitx->im.listener->draw_preedit_str)(fcitx->im.listener->self, fcitx->im.preedit.chars, fcitx->im.preedit.filled_len, fcitx->im.preedit.cursor_offset); } if ((len = strlen(str)) == 0) { /* do nothing */ } else if (fcitx->term_encoding == VT_UTF8) { (*fcitx->im.listener->write_to_term)(fcitx->im.listener->self, str, len); } else { u_char conv_buf[256]; size_t filled_len; (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, str, len); (*fcitx->conv->init)(fcitx->conv); while (!parser_utf8->is_eos) { filled_len = (*fcitx->conv->convert)(fcitx->conv, conv_buf, sizeof(conv_buf), parser_utf8); if (filled_len == 0) { /* finished converting */ break; } (*fcitx->im.listener->write_to_term)(fcitx->im.listener->self, conv_buf, filled_len); } } #ifdef USE_IM_CANDIDATE_SCREEN if (fcitx->im.stat_screen) { (*fcitx->im.stat_screen->delete)(fcitx->im.stat_screen); fcitx->im.stat_screen = NULL; } #endif } static void forward_key(FcitxClient *client, guint keyval, guint state, gint type, void *data) { im_fcitx_t *fcitx; fcitx = data; if (fcitx->prev_key.keycode == #ifdef NO_XKB keyval #else keyval + 8 #endif ) { fcitx->prev_key.state |= FcitxKeyState_IgnoredMask; #ifdef USE_XLIB XPutBackEvent(fcitx->prev_key.display, &fcitx->prev_key); #endif memset(&fcitx->prev_key, 0, sizeof(XKeyEvent)); } } #ifdef USE_IM_CANDIDATE_SCREEN static void update_client_side_ui(FcitxClient *client, char *auxup, char *auxdown, char *preedit, char *candidateword, char *imname, int cursor_pos, void *data) { im_fcitx_t *fcitx; int x; int y; ef_char_t ch; vt_char_t *p; u_int num_chars; size_t preedit_len; fcitx = (im_fcitx_t*)data; if ((preedit_len = strlen(preedit)) == 0) { if (fcitx->im.preedit.filled_len == 0) { return; } /* Stop preediting. */ fcitx->im.preedit.filled_len = 0; } else { u_char *tmp = NULL; fcitx->im.preedit.cursor_offset = num_chars = 0; (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, preedit, preedit_len); while ((*parser_utf8->next_char)(parser_utf8, &ch)) { if (preedit_len - parser_utf8->left > cursor_pos) { fcitx->im.preedit.cursor_offset = num_chars; cursor_pos = preedit_len; /* Not to enter here twice. */ } num_chars++; } if ((p = realloc(fcitx->im.preedit.chars, sizeof(vt_char_t) * num_chars)) == NULL) { return; } if (NEED_TO_CONV(fcitx)) { (*parser_utf8->init)(parser_utf8); if (im_convert_encoding(parser_utf8, fcitx->conv, preedit, &tmp, preedit_len + 1)) { preedit = tmp; preedit_len = strlen(preedit); } } (*syms->vt_str_init)(fcitx->im.preedit.chars = p, fcitx->im.preedit.num_chars = num_chars); fcitx->im.preedit.filled_len = 0; (*fcitx->parser_term->init)(fcitx->parser_term); (*fcitx->parser_term->set_str)(fcitx->parser_term, preedit, preedit_len); while ((*fcitx->parser_term->next_char)(fcitx->parser_term, &ch)) { int is_fullwidth; int is_comb; if ((*syms->vt_convert_to_internal_ch)(fcitx->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } else { is_fullwidth = IS_FULLWIDTH_CS(ch.cs); } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } else { is_comb = 0; } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, VT_FG_COLOR, VT_BG_COLOR, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); p++; fcitx->im.preedit.filled_len++; } if (tmp) { free(tmp); } } (*fcitx->im.listener->draw_preedit_str)(fcitx->im.listener->self, fcitx->im.preedit.chars, fcitx->im.preedit.filled_len, fcitx->im.preedit.cursor_offset); if (strlen(candidateword) == 0) { #ifdef USE_IM_CANDIDATE_SCREEN if (fcitx->im.stat_screen) { (*fcitx->im.stat_screen->delete)(fcitx->im.stat_screen); fcitx->im.stat_screen = NULL; } #endif } else { u_char *tmp = NULL; (*fcitx->im.listener->get_spot)(fcitx->im.listener->self, fcitx->im.preedit.chars, fcitx->im.preedit.segment_offset, &x, &y); bl_debug_printf("%d: %d %d\n", fcitx->im.preedit.segment_offset, x, y); if (fcitx->im.stat_screen == NULL) { if (!(fcitx->im.stat_screen = (*syms->ui_im_status_screen_new)( fcitx->im.disp, fcitx->im.font_man, fcitx->im.color_man, fcitx->im.vtparser, (*fcitx->im.listener->is_vertical)(fcitx->im.listener->self), (*fcitx->im.listener->get_line_height)(fcitx->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_candidate_screen_new() failed.\n"); #endif return; } } else { (*fcitx->im.stat_screen->show)(fcitx->im.stat_screen); (*fcitx->im.stat_screen->set_spot)(fcitx->im.stat_screen, x, y); } if (strncmp(candidateword, "1.", 2) == 0) { int count = 2; char *src = candidateword; char *p; char digit[5]; #ifdef __DEBUG bl_msg_printf("Fcitx: %s\n", candidateword); #endif do { sprintf(digit, " %d.", count); if (!(p = strstr(src, digit))) { if (count % 10 == 0 && (src = strstr(src, " 0."))) { count = 1; } else { break; } } else { count++; src = p; } *src = '\n'; src += strlen(digit); } while (count < 100); #ifdef __DEBUG bl_msg_printf("%s\n", candidateword); #endif } if (NEED_TO_CONV(fcitx)) { (*parser_utf8->init)(parser_utf8); if (im_convert_encoding(parser_utf8, fcitx->conv, candidateword, &tmp, strlen(candidateword) + 1)) { candidateword = tmp; } } (*fcitx->im.stat_screen->set)(fcitx->im.stat_screen, fcitx->parser_term, candidateword); if (tmp) { free(tmp); } } } #else static void update_formatted_preedit(FcitxClient *client, GPtrArray *list, int cursor_pos, void *data) { im_fcitx_t *fcitx; fcitx = data; if (list->len > 0) { FcitxPreeditItem *item; ef_char_t ch; vt_char_t *p; u_int num_chars; guint count; if (fcitx->im.preedit.filled_len == 0) { /* Start preediting. */ int x; int y; if ((*fcitx->im.listener->get_spot)(fcitx->im.listener->self, NULL, 0, &x, &y)) { u_int line_height; line_height = (*fcitx->im.listener->get_line_height)(fcitx->im.listener->self); fcitx_client_set_cursor_rect(fcitx->client, x, y - line_height, 0, line_height); } } fcitx->im.preedit.cursor_offset = num_chars = 0; for (count = 0; count < list->len; count++) { size_t str_len; item = g_ptr_array_index(list, count); str_len = strlen(item->string); if (cursor_pos >= 0 && (cursor_pos -= str_len) < 0) { fcitx->im.preedit.cursor_offset = num_chars; } (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, item->string, str_len); while ((*parser_utf8->next_char)(parser_utf8, &ch)) { num_chars++; } } if ((p = realloc(fcitx->im.preedit.chars, sizeof(vt_char_t) * num_chars)) == NULL) { return; } (*syms->vt_str_init)(fcitx->im.preedit.chars = p, fcitx->im.preedit.num_chars = num_chars); fcitx->im.preedit.filled_len = 0; for (count = 0; count < list->len; count++) { item = g_ptr_array_index(list, count); (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, item->string, strlen(item->string)); while ((*parser_utf8->next_char)(parser_utf8, &ch)) { int is_fullwidth = 0; int is_comb = 0; vt_color_t fg_color; vt_color_t bg_color; if (item->type != 0) { fg_color = VT_BG_COLOR; bg_color = VT_FG_COLOR; } else { fg_color = VT_FG_COLOR; bg_color = VT_BG_COLOR; } if ((*syms->vt_convert_to_internal_ch)(fcitx->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, LS_UNDERLINE_SINGLE, 0, 0)) { continue; } /* * if combining failed , char is normally appended. */ } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, 0, 0, LS_UNDERLINE_SINGLE, 0, 0); p++; fcitx->im.preedit.filled_len++; } } } else { if (fcitx->im.preedit.filled_len == 0) { return; } /* Stop preediting. */ fcitx->im.preedit.filled_len = 0; } (*fcitx->im.listener->draw_preedit_str)(fcitx->im.listener->self, fcitx->im.preedit.chars, fcitx->im.preedit.filled_len, fcitx->im.preedit.cursor_offset); } #endif static void connection_handler(void) { g_main_context_iteration(g_main_context_default(), FALSE); } /* --- global functions --- */ ui_im_t *im_fcitx_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *engine, u_int mod_ignore_mask /* Not used for now. */ ) { im_fcitx_t *fcitx = NULL; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } #ifdef DEBUG_MODKEY if (getenv("MOD_KEY_DEBUG")) { mod_key_debug = 1; } #endif if (!syms) { syms = export_syms; g_type_init(); } if (!(fcitx = calloc(1, sizeof(im_fcitx_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif return NULL; } if (!(fcitx->client = fcitx_client_new())) { goto error; } g_signal_connect(fcitx->client, "connected", G_CALLBACK(connected), fcitx); g_signal_connect(fcitx->client, "disconnected", G_CALLBACK(disconnected), fcitx); #if 0 g_signal_connect(fcitx->client, "enable-im", G_CALLBACK(enable_im), fcitx); #endif g_signal_connect(fcitx->client, "close-im", G_CALLBACK(close_im), fcitx); g_signal_connect(fcitx->client, "forward-key", G_CALLBACK(forward_key), fcitx); g_signal_connect(fcitx->client, "commit-string", G_CALLBACK(commit_string), fcitx); #ifdef USE_IM_CANDIDATE_SCREEN g_signal_connect(fcitx->client, "update-client-side-ui", G_CALLBACK(update_client_side_ui), fcitx); #else g_signal_connect(fcitx->client, "update-formatted-preedit", G_CALLBACK(update_formatted_preedit), fcitx); #endif fcitx->term_encoding = term_encoding; fcitx->is_enabled = FALSE; if (term_encoding != VT_UTF8) { if (!(fcitx->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } } #ifdef USE_IM_CANDIDATE_SCREEN if (!(fcitx->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } #endif /* * set methods of ui_im_t */ fcitx->im.delete = delete; fcitx->im.key_event = key_event; fcitx->im.switch_mode = switch_mode; fcitx->im.is_active = is_active; fcitx->im.focused = focused; fcitx->im.unfocused = unfocused; if (ref_count++ == 0) { (*syms->ui_event_source_add_fd)(FCITX_ID, connection_handler); if (!(parser_utf8 = (*syms->vt_char_encoding_parser_new)(VT_UTF8))) { goto error; } } #ifdef IM_FCITX_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)fcitx; error: if (fcitx) { if (fcitx->conv) { (*fcitx->conv->delete)(fcitx->conv); } #ifdef USE_IM_CANDIDATE_SCREEN if (fcitx->parser_term) { (*fcitx->parser_term->delete)(fcitx->parser_term); } #endif if (fcitx->client) { g_object_unref(fcitx->client); } free(fcitx); } return NULL; } /* --- module entry point for external tools --- */ im_info_t *im_fcitx_get_info(char *locale, char *encoding) { im_info_t *result; if (!(result = malloc(sizeof(im_info_t)))) { return NULL; } result->id = strdup("fcitx"); result->name = strdup("fcitx"); result->num_args = 0; result->args = NULL; result->readable_args = NULL; return result; } mlterm-3.8.4/inputmethod/fcitx/Makefile.in010064400017600000144000000025551321054731300172540ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/fcitx IM_FCITX_OBJ = im_fcitx.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @IM_CFLAGS@ \ @FCITX_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @FCITX_LIBS@ TARGET_xlib = libim-fcitx.la TARGET_fb = libim-fcitx-fb.la TARGET_console = libim-fcitx-fb.la TARGET_wayland = libim-fcitx-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_FCITX_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_FCITX_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-fcitx* clean: rm -rf $(IM_FCITX_OBJ) $(IM_FCITX_OBJ:.o=.lo) *im-fcitx* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/scim004075500017600000144000000000001321054731300147425ustar kenusersmlterm-3.8.4/inputmethod/scim/im_scim_mod_if.c010064400017600000144000000330551321054731300201250ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * im_scim_mod_if.c - SCIM plugin for mlterm (part of module interface) * * Copyright (C) 2005 Seiichi SATO * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this program; if not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307 USA * * * $Id$ * */ #include /* bl_get_locale */ #include /* bl_error_printf, bl_warn_printf */ #include /* bl_str_alloca_dup */ #include #include "../im_common.h" #include "../im_info.h" #include "im_scim.h" typedef struct im_scim { /* input method common object */ ui_im_t im; im_scim_context_t context; vt_char_encoding_t term_encoding; ef_parser_t *parser_term; /* for term encoding */ ef_conv_t *conv; } im_scim_t; /* --- static variables --- */ static int ref_count = 0; static int initialized = 0; static ui_im_export_syms_t *syms = NULL; /* mlterm internal symbols */ static ef_parser_t *parser_utf8 = NULL; static int panel_fd = -1; /* --- static functions --- */ /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_scim_t *scim; scim = (im_scim_t *)im; im_scim_destroy_context(scim->context); if (scim->parser_term) { (*scim->parser_term->delete)(scim->parser_term); } if (scim->conv) { (*scim->conv->delete)(scim->conv); } free(scim); ref_count--; if (ref_count == 0) { if (panel_fd >= 0) { (*syms->ui_event_source_remove_fd)(panel_fd); panel_fd = -1; } im_scim_finalize(); if (parser_utf8) { (*parser_utf8->delete)(parser_utf8); parser_utf8 = NULL; } initialized = 0; } } static int key_event(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { return im_scim_key_event(((im_scim_t *)im)->context, ksym, event); } static int switch_mode(ui_im_t *im) { return im_scim_switch_mode(((im_scim_t *)im)->context); } static int is_active(ui_im_t *im) { return im_scim_is_on(((im_scim_t *)im)->context); } static void focused(ui_im_t *im) { im_scim_focused(((im_scim_t *)im)->context); } static void unfocused(ui_im_t *im) { im_scim_unfocused(((im_scim_t *)im)->context); } /* * callbacks (im_scim.cpp --> im_scim_mod_if.c) */ static void commit(void *ptr, char *utf8_str) { im_scim_t *scim; u_char conv_buf[256]; size_t filled_len; scim = (im_scim_t *)ptr; if (scim->term_encoding == VT_UTF8) { (*scim->im.listener->write_to_term)(scim->im.listener->self, (u_char *)utf8_str, strlen(utf8_str)); goto skip; } (*parser_utf8->init)(parser_utf8); (*parser_utf8->set_str)(parser_utf8, (u_char *)utf8_str, strlen(utf8_str)); (*scim->conv->init)(scim->conv); while (!parser_utf8->is_eos) { filled_len = (*scim->conv->convert)(scim->conv, conv_buf, sizeof(conv_buf), parser_utf8); if (filled_len == 0) { /* finished converting */ break; } (*scim->im.listener->write_to_term)(scim->im.listener->self, conv_buf, filled_len); } skip: if (scim->im.cand_screen) { (*scim->im.cand_screen->delete)(scim->im.cand_screen); scim->im.cand_screen = NULL; } } static void preedit_update(void *ptr, char *utf8_str, int cursor_offset) { im_scim_t *scim; u_char *str; vt_char_t *p; ef_char_t ch; u_int count = 0; u_int index = 0; int saved_segment_offset; scim = (im_scim_t *)ptr; if (scim->im.preedit.chars) { (*syms->vt_str_delete)(scim->im.preedit.chars, scim->im.preedit.num_chars); scim->im.preedit.chars = NULL; } saved_segment_offset = scim->im.preedit.segment_offset; scim->im.preedit.num_chars = 0; scim->im.preedit.filled_len = 0; scim->im.preedit.segment_offset = -1; scim->im.preedit.cursor_offset = UI_IM_PREEDIT_NOCURSOR; if (utf8_str == NULL) { goto draw; } if (!strlen(utf8_str)) { goto draw; } if (scim->term_encoding != VT_UTF8) { /* utf8 -> term encoding */ (*parser_utf8->init)(parser_utf8); (*scim->conv->init)(scim->conv); if (!(im_convert_encoding(parser_utf8, scim->conv, (u_char *)utf8_str, &str, strlen(utf8_str) + 1))) { return; } } else { str = (u_char *)utf8_str; } /* * count number of characters to allocate im.preedit.chars */ (*scim->parser_term->init)(scim->parser_term); (*scim->parser_term->set_str)(scim->parser_term, (u_char *)str, strlen(str)); while ((*scim->parser_term->next_char)(scim->parser_term, &ch)) { count++; } /* * allocate im.preedit.chars */ if (!(scim->im.preedit.chars = malloc(sizeof(vt_char_t) * count))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif scim->im.preedit.chars = NULL; scim->im.preedit.num_chars = 0; scim->im.preedit.filled_len = 0; if (scim->term_encoding != VT_UTF8) { free(str); } return; } scim->im.preedit.num_chars = count; /* * u_char --> vt_char_t */ p = scim->im.preedit.chars; (*syms->vt_str_init)(p, count); (*scim->parser_term->init)(scim->parser_term); (*scim->parser_term->set_str)(scim->parser_term, (u_char *)str, strlen(str)); index = 0; while ((*scim->parser_term->next_char)(scim->parser_term, &ch)) { vt_color_t fg_color = VT_FG_COLOR; vt_color_t bg_color = VT_BG_COLOR; u_int attr; int is_fullwidth = 0; int is_comb = 0; int is_underline = 0; int is_bold = 0; if (index == cursor_offset) { scim->im.preedit.cursor_offset = cursor_offset; } if ((*syms->vt_convert_to_internal_ch)(scim->im.vtparser, &ch) <= 0) { continue; } if (ch.property & EF_FULLWIDTH) { is_fullwidth = 1; } else if (ch.property & EF_AWIDTH) { /* TODO: check col_size_of_width_a */ is_fullwidth = 1; } attr = im_scim_preedit_char_attr(scim->context, index); if (attr & CHAR_ATTR_UNDERLINE) { is_underline = 1; } if (attr & CHAR_ATTR_REVERSE) { if (scim->im.preedit.segment_offset == -1) { scim->im.preedit.segment_offset = index; } fg_color = VT_BG_COLOR; bg_color = VT_FG_COLOR; } if (attr & CHAR_ATTR_BOLD) { is_bold = 1; } if (ch.property & EF_COMBINING) { is_comb = 1; if ((*syms->vt_char_combine)(p - 1, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, 0, is_underline, 0, 0)) { index++; continue; } /* * if combining failed , char is normally appended. */ } (*syms->vt_char_set)(p, ef_char_to_int(&ch), ch.cs, is_fullwidth, is_comb, fg_color, bg_color, is_bold, 0, is_underline, 0, 0); p++; scim->im.preedit.filled_len++; index++; } if (scim->term_encoding != VT_UTF8) { free(str); } if (scim->im.preedit.filled_len && scim->im.preedit.cursor_offset == UI_IM_PREEDIT_NOCURSOR) { scim->im.preedit.cursor_offset = scim->im.preedit.filled_len; } draw: (*scim->im.listener->draw_preedit_str)(scim->im.listener->self, scim->im.preedit.chars, scim->im.preedit.filled_len, scim->im.preedit.cursor_offset); /* Drop the current candidates since the segment is changed */ if (saved_segment_offset != scim->im.preedit.segment_offset && scim->im.cand_screen) { (*scim->im.cand_screen->delete)(scim->im.cand_screen); scim->im.cand_screen = NULL; } } static void candidate_update(void *ptr, int is_vertical_lookup, uint num_candiate, char **str, int index) { im_scim_t *scim; int x; int y; int i; scim = (im_scim_t *)ptr; (*scim->im.listener->get_spot)(scim->im.listener->self, scim->im.preedit.chars, scim->im.preedit.segment_offset, &x, &y); if (scim->im.cand_screen == NULL) { if (index == 0) { return; } if (!(scim->im.cand_screen = (*syms->ui_im_candidate_screen_new)( scim->im.disp, scim->im.font_man, scim->im.color_man, scim->im.vtparser, (*scim->im.listener->is_vertical)(scim->im.listener->self), is_vertical_lookup, (*scim->im.listener->get_line_height)(scim->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_candidate_screen_new() failed.\n"); #endif return; } scim->im.cand_screen->listener.self = scim; scim->im.cand_screen->listener.selected = NULL; /* TODO */ } if (!(*scim->im.cand_screen->init)(scim->im.cand_screen, num_candiate, num_candiate)) { (*scim->im.cand_screen->delete)(scim->im.cand_screen); scim->im.cand_screen = NULL; return; } (*scim->im.cand_screen->set_spot)(scim->im.cand_screen, x, y); for (i = 0; i < num_candiate; i++) { u_char *p = NULL; if (scim->term_encoding != VT_UTF8) { (*parser_utf8->init)(parser_utf8); if (im_convert_encoding(parser_utf8, scim->conv, str[i], &p, strlen(str[i]) + 1)) { (*scim->im.cand_screen->set)(scim->im.cand_screen, scim->parser_term, p, i); free(p); } } else { (*scim->im.cand_screen->set)(scim->im.cand_screen, scim->parser_term, str[i], i); } } (*scim->im.cand_screen->select)(scim->im.cand_screen, index); } static void candidate_show(void *ptr) { im_scim_t *scim; scim = (im_scim_t *)ptr; if (scim->im.cand_screen) { (*scim->im.cand_screen->show)(scim->im.cand_screen); } } static void candidate_hide(void *ptr) { im_scim_t *scim; scim = (im_scim_t *)ptr; if (scim->im.cand_screen) { (*scim->im.cand_screen->hide)(scim->im.cand_screen); } } static im_scim_callbacks_t callbacks = {commit, preedit_update, candidate_update, candidate_show, candidate_hide, NULL}; /* * panel */ static void panel_read_handler(void) { if (!im_scim_receive_panel_event()) { (*syms->ui_event_source_remove_fd)(panel_fd); panel_fd = -1; } } /* --- module entry point --- */ ui_im_t *im_scim_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *unused, u_int mod_ignore_mask) { im_scim_t *scim = NULL; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } #if 1 #define RESTORE_LOCALE #endif if (!initialized) { char *cur_locale; #ifdef RESTORE_LOCALE /* * Workaround against make_locale() of m17nlib. */ cur_locale = bl_str_alloca_dup(bl_get_locale()); #else cur_locale = bl_get_locale(); #endif if (!im_scim_initialize(cur_locale)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " failed to initialize SCIM."); #endif return NULL; } #ifdef RESTORE_LOCALE /* restoring */ /* * TODO: remove valgrind warning. * The memory space pointed to by sys_locale in bl_locale.c * was freed by setlocale() in m17nlib. */ bl_locale_init(cur_locale); #endif syms = export_syms; if ((panel_fd = im_scim_get_panel_fd()) >= 0) { (*syms->ui_event_source_add_fd)(panel_fd, panel_read_handler); } if (!(parser_utf8 = (*syms->vt_char_encoding_parser_new)(VT_UTF8))) { goto error; } initialized = 1; } if (!(scim = malloc(sizeof(im_scim_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } scim->context = NULL; scim->term_encoding = term_encoding; scim->conv = NULL; if (scim->term_encoding != VT_UTF8) { if (!(scim->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } } if (!(scim->parser_term = (*syms->vt_char_encoding_parser_new)(term_encoding))) { goto error; } if (!(scim->context = im_scim_create_context(scim, &callbacks))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " im_scim_create_context failed.\n"); #endif goto error; } /* * set methods of ui_im_t */ scim->im.delete = delete; scim->im.key_event = key_event; scim->im.switch_mode = switch_mode; scim->im.is_active = is_active; scim->im.focused = focused; scim->im.unfocused = unfocused; ref_count++; return (ui_im_t *)scim; error: if (scim) { if (scim->context) { im_scim_destroy_context(scim->context); } if (scim->conv) { (*scim->conv->delete)(scim->conv); } if (scim->parser_term) { (*scim->parser_term->delete)(scim->parser_term); } free(scim); } if (ref_count == 0) { if (panel_fd >= 0) { (*syms->ui_event_source_remove_fd)(panel_fd); panel_fd = -1; } im_scim_finalize(); if (parser_utf8) { (*parser_utf8->delete)(parser_utf8); parser_utf8 = NULL; } } return NULL; } /* --- module entry point for external tools --- */ im_info_t *im_scim_get_info(char *locale, char *encoding) { im_info_t *result; if (!(result = malloc(sizeof(im_info_t)))) { return NULL; } result->id = strdup("scim"); result->name = strdup("SCIM"); result->num_args = 0; result->args = NULL; result->readable_args = NULL; return result; } mlterm-3.8.4/inputmethod/scim/im_scim.cpp010064400017600000144000000466341321054731300171570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ // // im_scim_1.4.cpp - SCIM plugin for mlterm (c++ part) // // Copyright (C) 2005 Seiichi SATO // // This file is partially based on gtkimcontextscim.cpp of SCIM // // Copyright (C) 2002-2005 James Su // // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this program; if not, write to the // Free Software Foundation, Inc., 59 Temple Place, Suite 330, // Boston, MA 02111-1307 USA // #include #include #include // KeySym, XKeyEvent #include #include "im_scim.h" #define Uses_SCIM_CONFIG_PATH #define Uses_SCIM_IMENGINE_MODULE #define Uses_SCIM_BACKEND #define Uses_SCIM_PANEL #define Uses_SCIM_TRANSACTION #define Uses_SCIM_HOTKEY #include #define SCIM_TRANS_MAGIC 0x4d494353 #define TIMEOUT 5000 // msec using namespace scim; typedef struct im_scim_context_private { IMEngineFactoryPointer factory; IMEngineInstancePointer instance; int id; int on; int focused; WideString preedit_str; AttributeList preedit_attr; int preedit_caret; void *self; im_scim_callbacks_t *cb; } im_scim_context_private_t; #define C_STR(s) (char *)(utf8_wcstombs((s)).c_str()) // --- static variables --- static std::vector context_table; static String lang; static ConfigModule *config_module = NULL; static ConfigPointer config = NULL; static BackEndPointer be = NULL; static FrontEndHotkeyMatcher keymatcher_frontend; static IMEngineHotkeyMatcher keymatcher_imengine; static PanelClient panel_client; static bool is_vertical_lookup; static int valid_key_mask = 0; static int next_new_id = 0; /* XXX */ // --- static functions --- static im_scim_context_private_t *id_to_context(int id) { size_t i; for (i = 0; i < context_table.size(); i++) { if (context_table[i]->id == id) { return context_table[i]; } } return NULL; } // // callback for config modules // static void cb_config_load(const ConfigPointer &config) { KeyEvent key; keymatcher_frontend.load_hotkeys(config); keymatcher_imengine.load_hotkeys(config); scim_string_to_key(key, config->read(String(SCIM_CONFIG_HOTKEYS_FRONTEND_VALID_KEY_MASK), String("Shift+Control+Alt+Lock"))); valid_key_mask = key.mask > 0 ? key.mask : 0xffff; valid_key_mask |= SCIM_KEY_ReleaseMask; scim_global_config_flush(); // hack is_vertical_lookup = config->read(String("/Panel/Gtk/LookupTableVertical"), false); } // // callbacks for backend // static void cb_commit(IMEngineInstanceBase *instance, const WideString &wstr) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && context->on) { context->preedit_attr.clear(); (*context->cb->commit)(context->self, C_STR(wstr)); (*context->cb->candidate_hide)(context->self); } } static void cb_preedit_update(IMEngineInstanceBase *instance, const WideString &wstr, const AttributeList &attr) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && context->on) { context->preedit_str = wstr; context->preedit_attr = attr; } } static void cb_preedit_hide(IMEngineInstanceBase *instance) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && context->on) { context->preedit_str = WideString(); context->preedit_attr.clear(); (*context->cb->preedit_update)(context->self, NULL, 0); } } static void cb_preedit_caret(IMEngineInstanceBase *instance, int caret) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && context->on) { context->preedit_caret = caret; (*context->cb->preedit_update)(context->self, C_STR(context->preedit_str), caret); } } static void cb_lookup_update(IMEngineInstanceBase *instance, const LookupTable &table) { im_scim_context_private_t *context; int num_candiate; int index; char **str; int i; context = static_cast(instance->get_frontend_data()); if (!context) { return; } if (!context->on) { return; } num_candiate = table.get_current_page_size(); index = table.get_cursor_pos_in_current_page(); str = new char *[num_candiate]; for (i = 0; i < num_candiate; i++) { str[i] = strdup(C_STR(table.get_candidate_in_current_page(i))); } (*context->cb->candidate_update)(context->self, is_vertical_lookup ? 1 : 0, num_candiate, str, index); for (i = 0; i < num_candiate; i++) { free(str[i]); } delete[] str; } static void cb_lookup_show(IMEngineInstanceBase *instance) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && context->on) { (*context->cb->candidate_show)(context->self); } } static void cb_lookup_hide(IMEngineInstanceBase *instance) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && context->on) { (*context->cb->candidate_hide)(context->self); } } static void cb_prop_register(IMEngineInstanceBase *instance, const PropertyList &props) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && panel_client.is_connected()) { panel_client.prepare(context->id); panel_client.register_properties(context->id, props); panel_client.send(); } } static void cb_prop_update(IMEngineInstanceBase *instance, const Property &prop) { im_scim_context_private_t *context; context = static_cast(instance->get_frontend_data()); if (context && panel_client.is_connected()) { panel_client.prepare(context->id); panel_client.update_property(context->id, prop); panel_client.send(); } } static void set_callbacks(im_scim_context_private_t *context) { context->instance->signal_connect_commit_string(slot(cb_commit)); context->instance->signal_connect_update_preedit_string(slot(cb_preedit_update)); context->instance->signal_connect_hide_preedit_string(slot(cb_preedit_hide)); context->instance->signal_connect_update_preedit_caret(slot(cb_preedit_caret)); context->instance->signal_connect_update_lookup_table(slot(cb_lookup_update)); context->instance->signal_connect_show_lookup_table(slot(cb_lookup_show)); context->instance->signal_connect_hide_lookup_table(slot(cb_lookup_hide)); context->instance->signal_connect_register_properties(slot(cb_prop_register)); context->instance->signal_connect_update_property(slot(cb_prop_update)); context->instance->set_frontend_data(static_cast(context)); } // // callbacks for panel clients // static void cb_panel_request_factory_menu(int id) { std::vector factories; std::vector menu; size_t i; be->get_factories_for_encoding(factories, "UTF-8"); for (i = 0; i < factories.size(); i++) { menu.push_back(PanelFactoryInfo(factories[i]->get_uuid(), utf8_wcstombs(factories[i]->get_name()), factories[i]->get_language(), factories[i]->get_icon_file())); } panel_client.prepare(id); panel_client.show_factory_menu(id, menu); panel_client.send(); } static void cb_panel_request_help(int id) { im_scim_context_private_t *context; String desc; String str; context = id_to_context(id); desc += utf8_wcstombs(context->factory->get_name()) + String(":\n\n"); desc += utf8_wcstombs(context->factory->get_authors()) + String("\n\n"); desc += String(" Help:\n ") + utf8_wcstombs(context->factory->get_help()) + String("\n\n"); desc += utf8_wcstombs(context->factory->get_credits()) + String("\n\n"); panel_client.prepare(id); panel_client.show_help(id, desc); panel_client.send(); } static void cb_panel_change_factory(int id, const String &uuid) { im_scim_context_private_t *context; IMEngineFactoryPointer factory; PanelFactoryInfo info; context = id_to_context(id); factory = be->get_factory(uuid); if (factory.null()) { return; } panel_client.prepare(id); if (uuid.length() == 0) { panel_client.turn_off(id); panel_client.focus_out(id); panel_client.send(); context->on = 0; return; } context->factory = factory; context->instance->focus_out(); be->set_default_factory(lang, context->factory->get_uuid()); context->instance = context->factory->create_instance(String("UTF-8"), context->id); set_callbacks(context); info = PanelFactoryInfo(context->factory->get_uuid(), utf8_wcstombs(context->factory->get_name()), context->factory->get_language(), context->factory->get_icon_file()); panel_client.update_factory_info(id, info); panel_client.send(); context->instance->focus_in(); } static void cb_panel_trigger_property(int id, const String &prop) { im_scim_context_private_t *context; context = id_to_context(id); panel_client.prepare(id); context->instance->trigger_property(prop); panel_client.send(); } static int hotkey(im_scim_context_t _context, const KeyEvent &scim_key) { im_scim_context_private_t *context; FrontEndHotkeyAction hotkey_action; PanelFactoryInfo info; context = (im_scim_context_private_t *)_context; keymatcher_frontend.push_key_event(scim_key); keymatcher_imengine.push_key_event(scim_key); hotkey_action = keymatcher_frontend.get_match_result(); if (hotkey_action == SCIM_FRONTEND_HOTKEY_OFF && !context->on) { return 0; } if (hotkey_action == SCIM_FRONTEND_HOTKEY_ON && context->on) { return 0; } if (hotkey_action == SCIM_FRONTEND_HOTKEY_TRIGGER) { if (context->on) { hotkey_action = SCIM_FRONTEND_HOTKEY_OFF; } else { hotkey_action = SCIM_FRONTEND_HOTKEY_ON; } } info = PanelFactoryInfo(context->factory->get_uuid(), utf8_wcstombs(context->factory->get_name()), context->factory->get_language(), context->factory->get_icon_file()); switch (hotkey_action) { case SCIM_FRONTEND_HOTKEY_ON: if (panel_client.is_connected()) { panel_client.prepare(context->id); panel_client.update_factory_info(context->id, info); panel_client.turn_on(context->id); panel_client.focus_in(context->id, context->instance->get_factory_uuid()); panel_client.send(); } (*context->cb->preedit_update)(context->self, C_STR(context->preedit_str), context->preedit_caret); (*context->cb->candidate_show)(context->self); context->instance->focus_in(); context->on = 1; return 0; case SCIM_FRONTEND_HOTKEY_OFF: if (panel_client.is_connected()) { panel_client.prepare(context->id); panel_client.turn_off(context->id); panel_client.focus_out(context->id); panel_client.send(); } (*context->cb->preedit_update)(context->self, NULL, 0); (*context->cb->candidate_hide)(context->self); context->instance->focus_out(); context->on = 0; return 0; case SCIM_FRONTEND_HOTKEY_NEXT_FACTORY: case SCIM_FRONTEND_HOTKEY_PREVIOUS_FACTORY: case SCIM_FRONTEND_HOTKEY_SHOW_FACTORY_MENU: // not implemented yet return 0; default: return 1; } } // --- global functions --- int im_scim_initialize(char *locale) { SocketAddress address; SocketClient client; uint32 magic; std::vector imengines; std::vector config_modules; String config_mod_name; lang = scim_get_locale_language(String(locale)); address.set_address(scim_get_default_socket_frontend_address()); if (!client.connect(address) && !scim_socket_open_connection(magic, String("ConnectionTester"), String("SocketFrontEnd"), client, TIMEOUT)) { bl_error_printf("Unable to connect to the socket frontend.\n"); goto error; } if (scim_get_imengine_module_list(imengines) == 0) { bl_error_printf("Could not find any IMEngines.\n"); goto error; } if (std::find(imengines.begin(), imengines.end(), "socket") == imengines.end()) { bl_error_printf("Could not find socket module.\n"); goto error; } imengines.clear(); imengines.push_back("socket"); if (scim_get_config_module_list(config_modules) == 0) { bl_error_printf("Could not find any config modules.\n"); goto error; } config_mod_name = scim_global_config_read(SCIM_GLOBAL_CONFIG_DEFAULT_CONFIG_MODULE, String("simple")); // String( "socket")); if (std::find(config_modules.begin(), config_modules.end(), config_mod_name) == config_modules.end()) { // fallback config_mod_name = config_modules[0]; } if (!(config_module = new ConfigModule(config_mod_name))) { bl_error_printf("ConfigModule failed. (%s)\n", config_mod_name.c_str()); goto error; } config = config_module->create_config(); if (config.null()) { // TODO fallback DummyConfig bl_error_printf("create_config failed.\n"); goto error; } be = new CommonBackEnd(config, imengines); if (be.null()) { bl_error_printf("CommonBackEnd failed.\n"); goto error; } cb_config_load(config); config->signal_connect_reload(slot(cb_config_load)); panel_client.signal_connect_request_factory_menu(slot(cb_panel_request_factory_menu)); panel_client.signal_connect_request_help(slot(cb_panel_request_help)); panel_client.signal_connect_change_factory(slot(cb_panel_change_factory)); panel_client.signal_connect_trigger_property(slot(cb_panel_trigger_property)); if (panel_client.open_connection(config->get_name(), getenv("DISPLAY")) == false) { goto error; } context_table.clear(); return 1; error: if (!config.null()) { config.reset(); } if (!be.null()) { be.reset(); } if (panel_client.is_connected()) { panel_client.close_connection(); } return 0; } int im_scim_finalize(void) { if (panel_client.is_connected()) { panel_client.close_connection(); } if (!be.null()) { be.reset(); } if (!config.null()) { config.reset(); } if (config_module) { delete config_module; config_module = NULL; } return 1; } im_scim_context_t im_scim_create_context(void *self, im_scim_callbacks_t *callbacks) { im_scim_context_private_t *context = NULL; context = new im_scim_context_private_t; context->factory = be->get_default_factory(lang, String("UTF-8")); if (!(context->instance = context->factory->create_instance(String("UTF-8"), next_new_id))) { bl_error_printf("Could not create new instance.\n"); return NULL; } context_table.push_back(context); context->id = next_new_id; context->on = 0; context->focused = 0; context->self = self; context->cb = callbacks; set_callbacks(context); next_new_id++; return (im_scim_context_t)context; } int im_scim_destroy_context(im_scim_context_t _context) { im_scim_context_private_t *context; context = (im_scim_context_private_t *)_context; context->instance.reset(); context_table.erase(std::find(context_table.begin(), context_table.end(), context)); delete context; return 1; } int im_scim_focused(im_scim_context_t _context) { im_scim_context_private_t *context; context = (im_scim_context_private_t *)_context; if (panel_client.is_connected()) { panel_client.prepare(context->id); panel_client.focus_in(context->id, context->instance->get_factory_uuid()); if (context->on) { PanelFactoryInfo info; info = PanelFactoryInfo(context->factory->get_uuid(), utf8_wcstombs(context->factory->get_name()), context->factory->get_language(), context->factory->get_icon_file()); panel_client.update_factory_info(context->id, info); panel_client.turn_on(context->id); } else { panel_client.turn_off(context->id); } panel_client.send(); } context->instance->focus_in(); (*context->cb->candidate_show)(context->self); context->focused = 1; return 1; } int im_scim_unfocused(im_scim_context_t _context) { im_scim_context_private_t *context; context = (im_scim_context_private_t *)_context; if (panel_client.is_connected()) { panel_client.prepare(context->id); panel_client.turn_off(context->id); panel_client.focus_in(context->id, context->instance->get_factory_uuid()); panel_client.send(); } context->instance->focus_out(); (*context->cb->candidate_hide)(context->self); context->focused = 0; return 1; } int im_scim_is_on(im_scim_context_t context) { if (((im_scim_context_private_t *)context)->on) { return 1; } else { return 0; } } int im_scim_switch_mode(im_scim_context_t context) { KeyEventList keys; size_t size; if ((size = keymatcher_frontend.find_hotkeys(SCIM_FRONTEND_HOTKEY_TRIGGER, keys)) > 0) { return (hotkey(context, keys[0]) == 0); } else { return 0; } } int im_scim_key_event(im_scim_context_t context, KeySym ksym, XKeyEvent *event) { KeyEvent scim_key; scim_key.mask = event->state & valid_key_mask; scim_key.code = ksym; scim_key.layout = SCIM_KEYBOARD_Default; if (hotkey(context, scim_key) == 0) { return 0; } if (!((im_scim_context_private_t *)context)->on) { return 1; } if (((im_scim_context_private_t *)context)->instance->process_key_event(scim_key)) { return 0; } return 1; } unsigned int im_scim_preedit_char_attr(im_scim_context_t _context, unsigned int index) { im_scim_context_private_t *context; AttributeList::const_iterator attr; unsigned int result = CHAR_ATTR_UNDERLINE; context = (im_scim_context_private_t *)_context; for (attr = context->preedit_attr.begin(); attr != context->preedit_attr.end(); attr++) { unsigned int start; unsigned int end; start = attr->get_start(); end = attr->get_end(); #if 0 // XXX if (index < start || end < index) #else if (index < start || end <= index) #endif { continue; } if (attr->get_type() != SCIM_ATTR_DECORATE) { // SCIM_ATTR_FOREGROUND and SCIM_ATTR_BACKGROUND continue; } switch (attr->get_value()) { #if 0 case SCIM_ATTR_DECORATE_UNDERLINE: result |= CHAR_ATTR_UNDERLINE; break; #endif case SCIM_ATTR_DECORATE_REVERSE: result &= ~CHAR_ATTR_UNDERLINE; result |= CHAR_ATTR_REVERSE; break; case SCIM_ATTR_DECORATE_HIGHLIGHT: result |= CHAR_ATTR_BOLD; break; default: break; } } return result; } int im_scim_get_panel_fd(void) { if (panel_client.is_connected()) { return panel_client.get_connection_number(); } return -1; } int im_scim_receive_panel_event(void) { panel_client.filter_event(); return 1; } mlterm-3.8.4/inputmethod/scim/LICENCE010064400017600000144000000014521321054731300160050ustar kenusersCopyright (C) 2005 Seiichi SATO Copyright (C) 2002-2005 James Su This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA mlterm-3.8.4/inputmethod/scim/Makefile.in010064400017600000144000000025511321054731300170660ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/scim IM_SCIM_OBJ = im_scim_mod_if.o im_scim.o CFLAGS = $(CFLAGS_LOCAL) \ @DEB_CFLAGS@ \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ @CXXFLAGS@ \ @IM_CFLAGS@ \ @SCIM_CFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @SCIM_LIBS@ CC = @CC@ CXX = @CXX@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_CXX = $(LIBTOOL) --mode=compile $(CXX) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c .cpp all: libim-scim.la libim-scim.la: $(IM_SCIM_OBJ) $(LIBTOOL_LINK) -o libim-scim.la $(IM_SCIM_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .cpp.o: $(LIBTOOL_CXX) -c $< .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) libim-scim.la $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-scim* clean: rm -rf $(IM_SCIM_OBJ) $(IM_SCIM_OBJ:.o=.lo) *im-scim* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/scim/im_scim.h010064400017600000144000000031601321054731300166070ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __IM_SCIM_H__ #define __IM_SCIM_H__ #ifdef __cplusplus extern "C" { #endif /* * The header files of pobl must be included here, since it does not * supports c++. */ #include /* bl_*_printf() */ #include /* u_int */ #define CHAR_ATTR_UNDERLINE (1U) #define CHAR_ATTR_REVERSE (1U << 1) #define CHAR_ATTR_BOLD (1U << 2) typedef void *im_scim_context_t; /* callbacks */ typedef struct im_scim_callbacks { void (*commit)(void *, char *); void (*preedit_update)(void *, char *, int); void (*candidate_update)(void *, int, u_int, char **, int); void (*candidate_show)(void *); void (*candidate_hide)(void *); void (*im_changed)(void *, char *); } im_scim_callbacks_t; int im_scim_initialize(char *locale); int im_scim_finalize(void); im_scim_context_t im_scim_create_context(void *self, im_scim_callbacks_t *callbacks); int im_scim_destroy_context(im_scim_context_t context); int im_scim_is_on(im_scim_context_t context); int im_scim_switch_mode(im_scim_context_t context); int im_scim_key_event(im_scim_context_t context, KeySym ksym, XKeyEvent *event); int im_scim_focused(im_scim_context_t context); int im_scim_unfocused(im_scim_context_t context); u_int im_scim_preedit_char_attr(im_scim_context_t context, u_int index); int im_scim_get_panel_fd(void); int im_scim_receive_panel_event(void); u_int im_scim_get_number_of_factory(void); char *im_scim_get_default_factory_name(char *locale); char *im_scim_get_factory_name(int index); char *im_scim_get_language(int index); #ifdef __cplusplus } #endif #endif mlterm-3.8.4/inputmethod/kbd004075500017600000144000000000001321054731300145475ustar kenusersmlterm-3.8.4/inputmethod/kbd/Makefile.in010064400017600000144000000025401321054731300166710ustar kenuserstop_builddir = ../.. top_srcdir = @top_srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir)/mlterm VPATH = ${top_srcdir}/inputmethod/kbd IM_KBD_OBJ = im_kbd.o CFLAGS = $(CFLAGS_LOCAL) \ @POBL_CFLAGS@ \ @MEF_CFLAGS@ \ @DEB_CFLAGS@ \ @X_CFLAGS@ \ @GUI_CFLAGS@ \ @CFLAGS@ \ @CPPFLAGS@ \ -I$(top_srcdir)/vtemu \ -I${top_srcdir}/uitoolkit \ -I/usr/local/include LIBS = $(LIBS_LOCAL) @LPOBL@ @LMEF@ TARGET_xlib = libim-kbd.la TARGET_fb = libim-kbd-fb.la TARGET_console = $(TARGET_fb) TARGET_win32 = $(TARGET_xlib) TARGET_quartz = $(TARGET_xlib) TARGET_wayland = libim-kbd-wl.la TARGET = $(TARGET_@GUI@) CC = @CC@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) .SUFFIXES: .o .c all: $(TARGET) $(TARGET): $(IM_KBD_OBJ) $(LIBTOOL_LINK) -o $(TARGET) $(IM_KBD_OBJ:.o=.lo) \ -rpath $(libdir)/mlterm \ -module -avoid-version @NO_UNDEFINED_FLAG@ $(LIBS) .c.o: $(LIBTOOL_CC) -c $< $(LIBDIR): mkdir -p $(LIBDIR) install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET) $(LIBDIR) uninstall: rm -f $(LIBDIR)/*im-kbd* clean: rm -rf $(IM_KBD_OBJ) $(IM_KBD_OBJ:.o=.lo) *im-kbd* *.core .libs distclean: clean rm -f Makefile mlterm-3.8.4/inputmethod/kbd/LICENCE010064400017600000144000000027461321054731300156210ustar kenusersCopyright (C) 2001, 2002, 2003 Araki Ken Copyright (c) 2004, 2005 Seiichi SATO Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of any author may not be used to endorse or promote products derived from this software without their specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. mlterm-3.8.4/inputmethod/kbd/im_kbd.c010064400017600000144000000447441321054731300162310ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ /* * im_kbd.c - keyboard mapping input method for mlterm * * based on x_kbd.c written by Araki Ken. * * Copyright (C) 2001, 2002, 2003 Araki Ken * Copyright (C) 2004 Seiichi SATO * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of any author may not be used to endorse or promote * products derived from this software without their specific prior * written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * * $Id$ */ #include /* sprintf */ #include /* malloc/alloca/free */ #include /* bl_snprintf */ #include /* bl_get_locale */ #include #include #include #include "../im_common.h" #include "../im_info.h" #if 0 #define IM_KBD_DEBUG 1 #endif typedef enum kbd_type { KBD_TYPE_UNKNOWN, KBD_TYPE_ARABIC, KBD_TYPE_HEBREW, KBD_TYPE_ISCII, KBD_TYPE_MAX } kbd_type_t; typedef enum kbd_mode { KBD_MODE_ASCII = 0, /* arabic or hebrew */ KBD_MODE_ON, /* iscii */ KBD_MODE_ISCII_INSCRIPT, KBD_MODE_ISCII_PHONETIC, KBD_MODE_MAX } kbd_mode_t; typedef struct im_kbd { ui_im_t im; kbd_type_t type; kbd_mode_t mode; vt_isciikey_state_t isciikey_state; ef_parser_t *parser; ef_conv_t *conv; } im_kbd_t; /* --- static variables --- */ static int ref_count = 0; static int initialized = 0; static ef_parser_t *parser_ascii = NULL; /* mlterm internal symbols */ static ui_im_export_syms_t *syms = NULL; static u_char *arabic_conv_tbl[] = { "\x06\x37", /* ' */ NULL, /* ( */ NULL, /* ) */ NULL, /* * */ NULL, /* + */ "\x06\x48", /* , */ NULL, /* - */ "\x06\x32", /* . */ "\x06\x38", /* / */ "\x06\x60", /* 0 */ "\x06\x61", /* 1 */ "\x06\x62", /* 2 */ "\x06\x63", /* 3 */ "\x06\x64", /* 4 */ "\x06\x65", /* 5 */ "\x06\x66", /* 6 */ "\x06\x67", /* 7 */ "\x06\x68", /* 8 */ "\x06\x69", /* 9 */ NULL, /* : */ "\x06\x43", /* ; */ "\x00\x2c", /* < */ NULL, /* = */ "\x00\x2e", /* > */ "\x06\x1f", /* ? */ NULL, /* @ */ "\x06\x50", /* A */ "\x06\x44\x06\x22", /* B */ "\x00\x7b", /* C */ "\x00\x5b", /* D */ "\x06\x4f", /* E */ "\x00\x5d", /* F */ "\x06\x44\x06\x23", /* G */ "\x06\x23", /* H */ "\x00\xf7", /* I */ "\x06\x40", /* J */ "\x06\x0c", /* K */ "\x00\x2f", /* L */ "\x00\x27", /* M */ "\x06\x22", /* N */ "\x00\xd7", /* O */ "\x06\x1b", /* P */ "\x06\x4e", /* Q */ "\x06\x4c", /* R */ "\x06\x4d", /* S */ "\x06\x44\x06\x25", /* T */ "\x00\x60", /* U */ "\x00\x7d", /* V */ "\x06\x4b", /* W */ "\x06\x52", /* X */ "\x06\x25", /* Y */ "\x00\x7e", /* Z */ "\x06\x2c", /* [ */ NULL, /* \ */ "\x06\x2f", /* ] */ NULL, /* ^ */ NULL, /* _ */ "\x06\x30", /* ` */ "\x06\x34", /* a */ "\x06\x44\x06\x27", /* b */ "\x06\x24", /* c */ "\x06\x4a", /* d */ "\x06\x2b", /* e */ "\x06\x28", /* f */ "\x06\x44", /* g */ "\x06\x27", /* h */ "\x06\x47", /* i */ "\x06\x2a", /* j */ "\x06\x46", /* k */ "\x06\x45", /* l */ "\x06\x29", /* m */ "\x06\x49", /* n */ "\x06\x2e", /* o */ "\x06\x2d", /* p */ "\x06\x36", /* q */ "\x06\x42", /* r */ "\x06\x33", /* s */ "\x06\x41", /* t */ "\x06\x39", /* u */ "\x06\x31", /* v */ "\x06\x35", /* w */ "\x06\x21", /* x */ "\x06\x3a", /* y */ "\x06\x26", /* z */ "\x00\x3c", /* { */ NULL, /* | */ "\x00\x3e", /* } */ "\x06\x51", /* ~ */ }; static u_char *hebrew_conv_tbl[] = { "\x00\x3b", /* ' */ NULL, /* ( */ NULL, /* ) */ NULL, /* * */ NULL, /* + */ "\x05\xea", /* , */ NULL, /* - */ "\x05\xe5", /* . */ "\x00\x2e", /* / */ NULL, /* 0 */ NULL, /* 1 */ NULL, /* 2 */ NULL, /* 3 */ NULL, /* 4 */ NULL, /* 5 */ NULL, /* 6 */ NULL, /* 7 */ NULL, /* 8 */ NULL, /* 9 */ NULL, /* : */ "\x05\xe3", /* ; */ NULL, /* < */ NULL, /* = */ NULL, /* > */ NULL, /* ? */ NULL, /* @ */ NULL, /* A */ NULL, /* B */ NULL, /* C */ NULL, /* D */ NULL, /* E */ NULL, /* F */ NULL, /* G */ NULL, /* H */ NULL, /* I */ NULL, /* J */ NULL, /* K */ NULL, /* L */ NULL, /* M */ NULL, /* N */ NULL, /* O */ NULL, /* P */ NULL, /* Q */ NULL, /* R */ NULL, /* S */ NULL, /* T */ NULL, /* U */ NULL, /* V */ NULL, /* W */ NULL, /* X */ NULL, /* Y */ NULL, /* Z */ NULL, /* [ */ NULL, /* \ */ NULL, /* ] */ NULL, /* ^ */ NULL, /* _ */ "\x00\x3b", /* ` */ "\x05\xe9", /* a */ "\x05\xe0", /* b */ "\x05\xd1", /* c */ "\x05\xd2", /* d */ "\x05\xe7", /* e */ "\x05\xdb", /* f */ "\x05\xe2", /* g */ "\x05\xd9", /* h */ "\x05\xdf", /* i */ "\x05\xd7", /* j */ "\x05\xdc", /* k */ "\x05\xda", /* l */ "\x05\xe6", /* m */ "\x05\xde", /* n */ "\x05\xdd", /* o */ "\x05\xe4", /* p */ "\x00\x2f", /* q */ "\x05\xe8", /* r */ "\x05\xd3", /* s */ "\x05\xd0", /* t */ "\x05\xd5", /* u */ "\x05\xd4", /* v */ "\x00\x27", /* w */ "\x05\xe1", /* x */ "\x05\xd8", /* y */ "\x05\xd6", /* z */ NULL, /* { */ NULL, /* | */ NULL, /* } */ NULL, /* ~ */ }; /* --- static functions --- */ static kbd_type_t find_kbd_type(char *locale) { if (locale && strncmp(locale, "ar", 2) == 0) { return KBD_TYPE_ARABIC; } if (locale && strncmp(locale, "he", 2) == 0) { return KBD_TYPE_HEBREW; } return KBD_TYPE_UNKNOWN; } /* * methods of ui_im_t */ static void delete(ui_im_t *im) { im_kbd_t *kbd; kbd = (im_kbd_t*)im; if (kbd->isciikey_state) { (*syms->vt_isciikey_state_delete)(kbd->isciikey_state); } if (kbd->parser) { (*kbd->parser->delete)(kbd->parser); } if (kbd->conv) { (*kbd->conv->delete)(kbd->conv); } ref_count--; #ifdef IM_KBD_DEBUG bl_debug_printf(BL_DEBUG_TAG " An object was deleted. ref_count: %d\n", ref_count); #endif free(kbd); if (initialized && ref_count == 0) { (*parser_ascii->delete)(parser_ascii); parser_ascii = NULL; initialized = 0; } } static int key_event_arabic_hebrew(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_kbd_t *kbd; size_t len; u_char *c; u_char conv_buf[10]; kbd = (im_kbd_t*)im; if (kbd->mode != KBD_MODE_ON) { return 1; } if (event->state & ~ShiftMask) { return 1; } if (key_char < 0x27 || key_char > 0x7e) { return 1; } if (kbd->type == KBD_TYPE_ARABIC) { if (!(c = arabic_conv_tbl[key_char - 0x27])) { return 1; } } else { /* kbd->type == KBD_TYPE_HEBREW */ if (!(c = hebrew_conv_tbl[key_char - 0x27])) { return 1; } } if (*c == 0x0) { /* "\x00\xNN" */ len = 1 + strlen(c + 1); } else { len = strlen(c); } (*kbd->parser->init)(kbd->parser); (*kbd->parser->set_str)(kbd->parser, c, len); (*kbd->conv->init)(kbd->conv); while (!kbd->parser->is_eos) { len = (*kbd->conv->convert)(kbd->conv, conv_buf, sizeof(conv_buf), kbd->parser); if (len == 0) { /* finished converting */ break; } (*kbd->im.listener->write_to_term)(kbd->im.listener->self, conv_buf, len); } return 0; } static int key_event_iscii(ui_im_t *im, u_char key_char, KeySym ksym, XKeyEvent *event) { im_kbd_t *kbd; u_char buf[512]; size_t len; u_char conv_buf[10]; kbd = (im_kbd_t*)im; if (kbd->mode == KBD_MODE_ASCII) { return 1; } if (event->state & ~ShiftMask) { return 1; } if (key_char < 0x21 || key_char > 0x7e) { return 1; } len = (*syms->vt_convert_ascii_to_iscii)(kbd->isciikey_state, buf, sizeof(buf), &key_char, 1); (*kbd->parser->init)(kbd->parser); (*kbd->parser->set_str)(kbd->parser, buf, len); (*kbd->conv->init)(kbd->conv); while (!kbd->parser->is_eos) { len = (*kbd->conv->convert)(kbd->conv, conv_buf, sizeof(conv_buf), kbd->parser); if (len == 0) { /* finished converting */ break; } (*kbd->im.listener->write_to_term)(kbd->im.listener->self, conv_buf, len); } return 0; } static int switch_mode(ui_im_t *im) { im_kbd_t *kbd; kbd = (im_kbd_t*)im; if (kbd->type == KBD_TYPE_UNKNOWN) { return 0; } if (kbd->type == KBD_TYPE_ARABIC || kbd->type == KBD_TYPE_HEBREW) { if (kbd->mode == KBD_MODE_ASCII) { kbd->mode = KBD_MODE_ON; } else { kbd->mode = KBD_MODE_ASCII; } } else /* kbd->type == KBD_TYPE_ISCII */ { if (kbd->isciikey_state) { (*syms->vt_isciikey_state_delete)(kbd->isciikey_state); kbd->isciikey_state = NULL; } /* Inscript => Phonetic => US ASCII => Inscript ... */ if (kbd->mode == KBD_MODE_ASCII) { kbd->isciikey_state = (*syms->vt_isciikey_state_new)(1); kbd->mode = KBD_MODE_ISCII_INSCRIPT; #ifdef IM_KBD_DEBUG bl_debug_printf(BL_DEBUG_TAG " switched to inscript.\n"); #endif } else if (kbd->mode == KBD_MODE_ISCII_INSCRIPT) { kbd->isciikey_state = (*syms->vt_isciikey_state_new)(0); kbd->mode = KBD_MODE_ISCII_PHONETIC; #ifdef IM_KBD_DEBUG bl_debug_printf(BL_DEBUG_TAG " switched to phonetic.\n"); #endif } else { kbd->mode = KBD_MODE_ASCII; #ifdef IM_KBD_DEBUG bl_debug_printf(BL_DEBUG_TAG " switched to ascii.\n"); #endif } if ((kbd->type == KBD_MODE_ISCII_INSCRIPT || kbd->type == KBD_MODE_ISCII_PHONETIC) && (kbd->isciikey_state == NULL)) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " vt_isciikey_state_new() failed.\n"); #endif kbd->mode = KBD_MODE_ASCII; } } if (kbd->mode == KBD_MODE_ASCII) { if (kbd->im.stat_screen) { (*kbd->im.stat_screen->delete)(kbd->im.stat_screen); kbd->im.stat_screen = NULL; } } else { int x; int y; (*kbd->im.listener->get_spot)(kbd->im.listener->self, NULL, 0, &x, &y); if (kbd->im.stat_screen == NULL) { if (!(kbd->im.stat_screen = (*syms->ui_im_status_screen_new)( kbd->im.disp, kbd->im.font_man, kbd->im.color_man, kbd->im.vtparser, (*kbd->im.listener->is_vertical)(kbd->im.listener->self), (*kbd->im.listener->get_line_height)(kbd->im.listener->self), x, y))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " ui_im_satus_screen_new() failed.\n"); #endif return 0; } } switch (kbd->mode) { case KBD_MODE_ON: (*kbd->im.stat_screen->set)(kbd->im.stat_screen, parser_ascii, kbd->type == KBD_TYPE_ARABIC ? "Arabic" : "Hebrew"); break; case KBD_MODE_ISCII_INSCRIPT: (*kbd->im.stat_screen->set)(kbd->im.stat_screen, parser_ascii, "ISCII:inscript"); break; case KBD_MODE_ISCII_PHONETIC: (*kbd->im.stat_screen->set)(kbd->im.stat_screen, parser_ascii, "ISCII:phonetic"); break; default: break; } } return 1; } static int is_active(ui_im_t *im) { return (((im_kbd_t*)im)->mode != KBD_MODE_ASCII); } static void focused(ui_im_t *im) { im_kbd_t *kbd; kbd = (im_kbd_t*)im; if (kbd->im.stat_screen) { (*kbd->im.stat_screen->show)(kbd->im.stat_screen); } } static void unfocused(ui_im_t *im) { im_kbd_t *kbd; kbd = (im_kbd_t*)im; if (kbd->im.stat_screen) { (*kbd->im.stat_screen->hide)(kbd->im.stat_screen); } } /* --- global functions --- */ ui_im_t *im_kbd_new(u_int64_t magic, vt_char_encoding_t term_encoding, ui_im_export_syms_t *export_syms, char *opt, /* arabic/hebrew/iscii */ u_int mod_ignore_mask) { im_kbd_t *kbd; kbd_type_t type; if (magic != (u_int64_t)IM_API_COMPAT_CHECK_MAGIC) { bl_error_printf("Incompatible input method API.\n"); return NULL; } if (opt && strcmp(opt, "arabic") == 0) { type = KBD_TYPE_ARABIC; } else if (opt && strcmp(opt, "hebrew") == 0) { type = KBD_TYPE_HEBREW; } else if (opt && strncmp(opt, "iscii", 5) == 0) { type = KBD_TYPE_ISCII; } else { type = find_kbd_type(bl_get_locale()); } if (type == KBD_TYPE_UNKNOWN) { if (IS_ISCII_ENCODING(term_encoding)) { type = KBD_TYPE_ISCII; } } if (!initialized) { syms = export_syms; if (!(parser_ascii = (*syms->vt_char_encoding_parser_new)(VT_ISO8859_1))) { return NULL; } initialized = 1; } kbd = NULL; if (!(kbd = malloc(sizeof(im_kbd_t)))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif goto error; } kbd->type = type; kbd->mode = KBD_MODE_ASCII; kbd->isciikey_state = NULL; kbd->parser = NULL; kbd->conv = NULL; if (kbd->type == KBD_TYPE_ARABIC || kbd->type == KBD_TYPE_HEBREW) { if (!(kbd->parser = ef_utf16_parser_new())) { goto error; } } else /* if( kbd->type == KBD_TYPE_ISCII */ { vt_char_encoding_t iscii_encoding; if (IS_ISCII_ENCODING(term_encoding)) { iscii_encoding = term_encoding; } else if (!opt || (iscii_encoding = (*syms->vt_get_char_encoding)(opt)) == VT_UNKNOWN_ENCODING) { iscii_encoding = VT_ISCII_HINDI; } if (!(kbd->parser = (*syms->vt_char_encoding_parser_new)(iscii_encoding))) { goto error; } } if (!(kbd->conv = (*syms->vt_char_encoding_conv_new)(term_encoding))) { goto error; } /* * set methods of ui_im_t */ kbd->im.delete = delete; kbd->im.key_event = (kbd->type == KBD_TYPE_ISCII) ? key_event_iscii : key_event_arabic_hebrew; kbd->im.switch_mode = switch_mode; kbd->im.is_active = is_active; kbd->im.focused = focused; kbd->im.unfocused = unfocused; ref_count++; #ifdef IM_KBD_DEBUG bl_debug_printf("New object was created. ref_count is %d.\n", ref_count); #endif return (ui_im_t*)kbd; error: if (kbd) { if (kbd->parser) { (*kbd->parser->delete)(kbd->parser); } free(kbd); } if (initialized && ref_count) { (*parser_ascii->delete)(parser_ascii); parser_ascii = NULL; initialized = 0; } return NULL; } /* --- API for external tools --- */ im_info_t *im_kbd_get_info(char *locale, char *encoding) { im_info_t *result; if (!(result = malloc(sizeof(im_info_t)))) { return NULL; } result->num_args = 13; if (!(result->args = malloc(sizeof(char*) * result->num_args))) { free(result); return NULL; } if (!(result->readable_args = malloc(sizeof(char*) * result->num_args))) { free(result->args); free(result); return NULL; } switch (find_kbd_type(locale)) { case KBD_TYPE_ARABIC: result->readable_args[0] = strdup("Arabic"); break; case KBD_TYPE_HEBREW: result->readable_args[0] = strdup("Hebrew"); break; case KBD_TYPE_UNKNOWN: if (strncmp(encoding, "ISCII", 5) == 0) { result->readable_args[0] = malloc(6 /* "Indic " */ + 2 /* () */ + strlen(encoding + 5) + 1); sprintf(result->readable_args[0], "Indic (%s)", encoding + 5); } else { result->readable_args[0] = strdup("unknown"); } break; default: break; } result->readable_args[1] = strdup("Arabic"); result->readable_args[2] = strdup("Hebrew"); result->readable_args[3] = strdup("Indic (ASSAMESE)"); result->readable_args[4] = strdup("Indic (BENGALI)"); result->readable_args[5] = strdup("Indic (GUJARATI)"); result->readable_args[6] = strdup("Indic (HINDI)"); result->readable_args[7] = strdup("Indic (KANNADA)"); result->readable_args[8] = strdup("Indic (MALAYALAM)"); result->readable_args[9] = strdup("Indic (ORIYA)"); result->readable_args[10] = strdup("Indic (PUNJABI)"); result->readable_args[11] = strdup("Indic (TAMIL)"); result->readable_args[12] = strdup("Indic (TELUGU)"); result->args[0] = strdup(""); result->args[1] = strdup("arabic"); result->args[2] = strdup("hebrew"); result->args[3] = strdup("isciiassamese"); result->args[4] = strdup("isciibengali"); result->args[5] = strdup("isciigujarati"); result->args[6] = strdup("isciihindi"); result->args[7] = strdup("isciikannada"); result->args[8] = strdup("isciimalayalam"); result->args[9] = strdup("isciioriya"); result->args[10] = strdup("isciipunjabi"); result->args[11] = strdup("isciitamil"); result->args[12] = strdup("isciitelugu"); result->id = strdup("kbd"); result->name = strdup("keyboard"); return result; } mlterm-3.8.4/inputmethod/im_common.h010064400017600000144000000021021321054731300162040ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __IM_COMMON_H__ #define __IM_COMMON_H__ static inline u_int im_convert_encoding(ef_parser_t *parser, /* must be initialized */ ef_conv_t *conv, u_char *from, u_char **to, u_int from_len) { u_int len; u_int filled_len; if (from == NULL || parser == NULL || conv == NULL) { return 0; } *to = NULL; len = 0; (*parser->set_str)(parser, from, from_len); (*conv->init)(conv); #define UNIT__ 32 while (1) { u_char *p; if (!(p = realloc(*to, len + UNIT__ + 1))) { #ifdef DEBUG bl_warn_printf(BL_DEBUG_TAG " malloc failed.\n"); #endif if (*to) { free(*to); } return 0; } *to = p; p += len; filled_len = (*conv->convert)(conv, p, UNIT__, parser); len += filled_len; if (filled_len == 0 && parser->is_eos) { /* finished converting */ break; } } #undef UNIT__ if (len) { (*to)[len] = '\0'; } return len; } #endif mlterm-3.8.4/inputmethod/im_info.h010064400017600000144000000031101321054731300156470ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #ifndef __IM_INFO_H__ #define __IM_INFO_H__ typedef struct im_info { char *id; char *name; u_int num_args; char **args; char **readable_args; } im_info_t; #define IM_INFO_DELETE(info) \ do { \ int i; \ if ((info)) { \ if ((info)->id) { \ free((info)->id); \ } \ if ((info)->name) { \ free((info)->name); \ } \ for (i = 0; i < (info)->num_args; i++) { \ if ((info)->args[i]) { \ free((info)->args[i]); \ } \ if ((info)->readable_args[i]) { \ free((info)->readable_args[i]); \ } \ } \ if ((info)->args) { \ free((info)->args); \ } \ if ((info)->readable_args) { \ free((info)->readable_args); \ } \ free((info)); \ } \ } while (0) #endif mlterm-3.8.4/gtk004075500017600000144000000000001321054731300122345ustar kenusersmlterm-3.8.4/gtk/vte_wayland.c010064400017600000144000000110701321054731300147700ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include /* wayland/ui_display.h */ int ui_display_resize(ui_display_t *disp, u_int width, u_int height); void ui_display_move(ui_display_t *disp, int x, int y); /* not declared in header files. */ void ui_display_init_wlserv(ui_wlserv_t *wlserv); void ui_display_map(ui_display_t *disp); void ui_display_unmap(ui_display_t *disp); /* --- static functions --- */ static void show_root(ui_display_t *disp, GtkWidget *widget) { GdkWindow *window = gtk_widget_get_window(widget); ui_window_t *win = &PVT(VTE_TERMINAL(widget))->screen->window; const char *class; static GdkCursor *cursor; /* * Don't call gdk_wayland_window_set_use_custom_surface(), which disables VteTerminal * to be mapped. */ #if 1 class = g_get_application_name(); /* returns "Terminal" */ #if 0 setlocale(LC_MESSAGES, ""); bind_textdomain_codeset("gnome-terminal", "UTF-8"); class = dgettext("gnome-terminal", class); #endif #else class = gdk_get_program_class(); /* returns "Gnome-terminal" */ #endif /* Internally calls create_shm_buffer() and *set_listener */ ui_display_show_root(disp, win, 0, 0, 0, class, gdk_wayland_window_get_wl_surface(window)); /* * XXX * pointer_handle_enter() in gdk/gdkdevice-wayland.c uses wl_surface_get_user_data(surface) * for GdkWaylandSeat::pointer_info::focus which is used in * gdk_wayland_device_window_at_position() which is called from * gdk_device_get_window_at_position() in gdk_wayland_window_map() * when you want to show popup menu by clicking right button. * Then, pointer_handle_button() in gdkdevice-wayland.c works. */ wl_surface_set_user_data(win->disp->display->surface, window); if (cursor == NULL) { cursor = gdk_cursor_new_for_display(gdk_window_get_display(window), GDK_XTERM); } /* wl_surface_set_user_data() above disables cursor settings in wayland/ui_display.c */ gdk_window_set_cursor(window, cursor); } static void vte_terminal_map(GtkWidget *widget) { GtkAllocation alloc; (*GTK_WIDGET_CLASS(vte_terminal_parent_class)->map)(widget); ui_display_map(PVT(VTE_TERMINAL(widget))->screen->window.disp); gtk_widget_get_allocation(widget, &alloc); ui_display_move(PVT(VTE_TERMINAL(widget))->screen->window.disp, alloc.x, alloc.y); } static void vte_terminal_unmap(GtkWidget *widget) { /* Multiple displays can coexist on wayland, so '&disp' isn't used. */ ui_display_unmap(PVT(VTE_TERMINAL(widget))->screen->window.disp); (*GTK_WIDGET_CLASS(vte_terminal_parent_class)->unmap)(widget); } static void init_display(ui_display_t *disp, VteTerminalClass *vclass) { GdkDisplay *gdkdisp = gdk_display_get_default(); static Display display; static ui_wlserv_t wlserv; static struct ui_xkb xkb; struct rgb_info rgbinfo = {0, 0, 0, 16, 8, 0}; disp->display = &display; disp->name = strdup(gdk_display_get_name(gdkdisp)); if (!strstr(disp->name, "wayland")) { GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s is not supported on wayland", disp->name); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); exit(1); } disp->depth = 32; display.wlserv = &wlserv; display.rgbinfo = rgbinfo; display.bytes_per_pixel = 4; wlserv.xkb = &xkb; wlserv.display = gdk_wayland_display_get_wl_display(gdkdisp); bl_file_set_cloexec(wl_display_get_fd(wlserv.display)); wlserv.registry = wl_display_get_registry(wlserv.display); #if 0 wlserv.xdg_shell = gdk_wayland_display_get_xdg_shell(gdkdisp); wlserv.compositor = gdk_wayland_display_get_wl_compositor(gdkdisp); { GdkSeat *gdkseat = gdk_display_get_default_seat(gdkdisp); wlserv.seat = gdk_wayland_device_get_wl_seat(gdk_seat_get_keyboard(gdkseat)); wlserv.keyboard = gdk_wayland_device_get_wl_keyboard(gdk_seat_get_keyboard(gdkseat)); wlserv.pointer = gdk_wayland_device_get_wl_pointer(gdk_seat_get_pointer(gdkseat)); } #endif ui_display_init_wlserv(&wlserv); GTK_WIDGET_CLASS(vclass)->map = vte_terminal_map; GTK_WIDGET_CLASS(vclass)->unmap = vte_terminal_unmap; } /* --- global functions --- */ void focus_gtk_window(ui_window_t *win, uint32_t time) { VteTerminal *terminal = VTE_WIDGET((ui_screen_t*)win); if (!gtk_widget_has_focus(GTK_WIDGET(terminal))) { gdk_window_focus(gtk_widget_get_window(gtk_widget_get_toplevel(GTK_WIDGET(terminal))), time /* gtk_window_focus() does nothing if GDK_CURRENT_TIME */); } } mlterm-3.8.4/gtk/README010064400017600000144000000167511321054731300132020ustar kenuserscomment -*- mode: text -*- How to build & install libvte compatible library using mlterm engine. * Requirements o vte library and headers o gtk+ 2.x or 3.x o terminal emulators or other applications using libvte (gnome-terminal, roxterm, synaptic or etc) * Build $ ./configure (--with-type-engine=cairo --with-imagelib=gdk-pixbuf --enable-pty-helper \ --with-gtk=2.0 ...) - Xft and cairo are not required, but strongly recommended because it is impossible to change font settings from preferences menu without them. In addition, you should choose what gtk+ and pango installed to your system depend on such as gdk-pixbuf. - If you want to use gnome-pty-helper, specify --enable-pty-helper option and place gnome-pty-helper (or its symbolic link file) at ${libexecdir}/mlterm/. - If libvte on your system depends on gtk+-2.x, specify --with-gtk=2.0 option. (libvte.so.9 => gtk+-2.x, libvte2_90.so.9 and libvte-2.91.so.9 => gtk+-3.0) $ make $ make vte (== "cd gtk ; make") * Install (Replace official libvte) $ cd baselib ; make install $ cd encodefilter ; make install $ make install-vte (== "cd gtk ; make install") $ ln -sf [where libvte of mlterm is installed]/libvte.so.9 \ [where official libvte is installed]/libvte.so.9 or ln -sf [where libvte of mlterm is installed]/libvte2_90.so.9 \ [where official libvte is installed]/libvte2_90.so.9 or ln -sf [where libvte of mlterm is installed]/libvte-2.91.so.9 \ [where official libvte is installed]/libvte-2.91.so.9 * Start terminal emulators using libvte $ gnome-terminal (roxterm, synaptic or etc) => mlterm inside gnome-terminal is started. * Notice o Because it is mlterm that works inside gnome-terminal or etc, - Configuration files in ~/.mlterm/ are applied. (*) - Configuration protocol (like '$ mlcc [key] [value]') is mostly available. - Pressing Ctrl+Button3 shows 'mlconfig' menu. (*) Following configurations are invalidated by gnome-terminal or etc in startup. - 'DEFAULT' settings in ~/.mlterm/(v)(aa)font - 'bel_mode', 'fg_color', 'bg_color', 'cursor_bg_color', 'wall_picture', 'use_transbg', 'alpha', 'encoding' and 'blink_cursor' options in ~/.mlterm/main o Default value of following options are not same as that of normal mlterm. [Option] [Default Value] [Normal mlterm] type_engine => xft or cairo (if compiled with it) (xft) o Following functions which normal mlterm provides are not available. - Daemon mode - Multiple ptys using Ctrl+F1 / Ctrl+F2 / Ctrl+F3 - Vertical writing mode - 'screen_width_ratio' and 'screen_height_ratio' options - 'inner_border' option - 'use_urgent_bell' option o It is recommended to specify the same font to configuration of gnome-terminal or etc and ~/.mlterm/aafont so as not to load excessive fonts. ex) - gtkterm2 ~/.gtkterm2rc => terminalFont=Terminal 14 ~/.mlterm/aafont => DEFAULT=Terminal 14 o Uim module of mlterm conflicts with the one of gtk+ and segmentation fault is caused. (uim 1.5.7) o Unsupported vte api functions - vte_terminal_copy_primary - vte_terminal_set_font_scale - vte_terminal_get_font_scale - vte_terminal_set_scroll_background - vte_terminal_set_scroll_on_keystroke - vte_terminal_set_rewrap_on_resize - vte_terminal_get_rewrap_on_resize - vte_terminal_set_color_highlight - vte_terminal_set_color_highlight_foreground - vte_terminal_set_background_tint_color - vte_terminal_set_cursor_shape - vte_terminal_get_font - vte_terminal_set_allow_bold - vte_terminal_get_allow_bold - vte_terminal_set_mouse_autohide - vte_terminal_get_mouse_autohide - vte_terminal_get_text - vte_terminal_get_text_include_trailing_spaces - vte_terminal_get_text_range - vte_terminal_match_clear_all - vte_terminal_match_add_gregex (incomplete) - vte_terminal_match_set_cursor - vte_terminal_match_set_cursor_type - vte_terminal_match_set_cursor_name - vte_terminal_match_remove - vte_terminal_match_check (incomplete) - vte_terminal_match_check_event - vte_terminal_search_set_wrap_around - vte_terminal_search_get_wrap_around - vte_get_user_shell - vte_terminal_get_status_line - vte_terminal_get_child_exit_status - vte_terminal_set_alternate_screen_scroll - vte_terminal_set_geometry_hints - vte_pty_new_foreign_sync - vte_pty_close o Unsupported vte signals and properties - signals "eof" "commit" "emulation-changed" "contents-changed" "cursor-moved" "deiconify-window" "iconify-window" "raise-window" "lower-window" "refresh-window" "restore-window" "maximize-window" "resize-window" "move-window" "status-line-changed" "increase-font-size" "decrease-font-size" "text-modified" "text-inserted" "text-deleted" "text-scrolled" "copy-clipboard" "paste-clipboard" - class property "allow-bold" "audible-bell" "background-image-file" "background-image-pixbuf" "background-opacity" "background-saturation" "background-tint-color" "background-transparent" "backspace-binding" "cursor-blink-mode" "cursor-shape" "delete-binding" "emulation" "encoding" "font-desc" "pointer-autohide" "pty" "scroll-background" "scrollback-lines" "scroll-on-keystroke" "scroll-on-output" "word-chars" "visible-bell" * Tested terminals using vte. o gnome-terminal 3.24.2 on Arch Linux ... OK except transparency o gnome-terminal 2.16.0 on CentOS 5 ... OK o roxterm 3.3.2 on Arch Linux ... OK Following platforms are not actually tested by developers, but were tested in the past. o gnome-terminal 3.16.2 on Ubuntu 15.10 o gnome-terminal 3.14.2 on Ubuntu 15.04 o gnome-terminal 3.15.0 on Ubuntu 14.10 o gnome-terminal 3.6.2 on Ubuntu 14.10 o gnome-terminal 3.6.2 on Ubuntu 13.10 o gnome-terminal 3.6.1 on Ubuntu 13.04 o gnome-terminal 3.6.0-0ubuntu1 on Ubuntu 12.10 o gnome-terminal 3.4.1.1-0ubuntu1 on Ubuntu 12.04 o gnome-terminal 3.0.1 on Ubuntu 11.10 o gnome-terminal 2.32.0 on Ubuntu 10.10 o gnome-terminal 3.22.0 on Fedora 25 o gnome-terminal 3.20.2 on Fedora 24 o roxterm 3.1.4 on Ubuntu 15.10 o roxterm 2.9.5 on Ubuntu 15.04 o roxterm 2.8.2 on Ubuntu 14.10 o roxterm 2.7.2 on Ubuntu 13.10 o roxterm 2.6.5-1 on Ubuntu 13.04 o roxterm 1.22.2-1 on Ubuntu 12.04 o roxterm 1.22.2 on Ubuntu 11.10 o roxterm 1.18.5 on Ubuntu 10.10 o roxterm 1.18.5 on NetBSD 3.0.1 o roxterm 3.3.2 on Fedora 25 o roxterm 3.3.2 on Fedora 24 o synaptic 0.80.2 on Ubuntu 13.10 o synaptic 0.80 on Ubuntu 13.04 o synaptic 0.75.12build1 on Ubuntu 12.10 o synaptic 0.75.9ubuntu1 on Ubuntu 12.04 o synaptic 0.63.1 on Ubuntu 10.10 o evilvte 0.5.1 on Ubuntu 13.10 o evilvte 0.5.1-1 on Ubuntu 13.04 o evilvte 0.5.0-1 on Ubuntu 12.04 o evilvte 0.4.8 on Ubuntu 11.10 o evilvte 0.4.9pre4 on NetBSD 3.0.1 o sakura 3.1.5 on Ubuntu 15.04 o sakura 3.1.0 on Ubuntu 13.10 o sakura 3.0.4-2 on Ubuntu 13.04 o sakura 3.0.3-2 on Ubuntu 12.04 o sakura 2.4.2 on Ubuntu 11.10 o sakura 2.3.8 on Ubuntu 10.10 o lxterminal 0.1.11 on Ubuntu 13.10 o lxterminal 0.1.11-4ubuntu2 on Ubuntu 13.04 o lxterminal 0.1.11-2ubuntu1 on Ubuntu 12.04 o lxterminal 0.1.11 on Ubuntu 11.10 o gtkterm2 0.2.3 on NetBSD 3.0.1 mlterm-3.8.4/gtk/vtetypebuiltins.c010064400017600000144000000231131321054731300157260ustar kenusers/* Generated data (by glib-mkenums) */ #include #ifndef VTE_CHECK_VERSION #define VTE_CHECK_VERSION(a,b,c) (0) #endif #if VTE_CHECK_VERSION(0,38,0) /* * Following is based on vtetypebuiltins.h of vte-0.39.1 */ /* enumerations from "vteenums.h" */ GType vte_cursor_blink_mode_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_CURSOR_BLINK_SYSTEM, "VTE_CURSOR_BLINK_SYSTEM", "system" }, { VTE_CURSOR_BLINK_ON, "VTE_CURSOR_BLINK_ON", "on" }, { VTE_CURSOR_BLINK_OFF, "VTE_CURSOR_BLINK_OFF", "off" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteCursorBlinkMode"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } GType vte_cursor_shape_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_CURSOR_SHAPE_BLOCK, "VTE_CURSOR_SHAPE_BLOCK", "block" }, { VTE_CURSOR_SHAPE_IBEAM, "VTE_CURSOR_SHAPE_IBEAM", "ibeam" }, { VTE_CURSOR_SHAPE_UNDERLINE, "VTE_CURSOR_SHAPE_UNDERLINE", "underline" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteCursorShape"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } GType vte_erase_binding_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_ERASE_AUTO, "VTE_ERASE_AUTO", "auto" }, { VTE_ERASE_ASCII_BACKSPACE, "VTE_ERASE_ASCII_BACKSPACE", "ascii-backspace" }, { VTE_ERASE_ASCII_DELETE, "VTE_ERASE_ASCII_DELETE", "ascii-delete" }, { VTE_ERASE_DELETE_SEQUENCE, "VTE_ERASE_DELETE_SEQUENCE", "delete-sequence" }, { VTE_ERASE_TTY, "VTE_ERASE_TTY", "tty" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteEraseBinding"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } GType vte_pty_error_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_PTY_ERROR_PTY_HELPER_FAILED, "VTE_PTY_ERROR_PTY_HELPER_FAILED", "pty-helper-failed" }, { VTE_PTY_ERROR_PTY98_FAILED, "VTE_PTY_ERROR_PTY98_FAILED", "pty98-failed" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VtePtyError"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } GType vte_pty_flags_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GFlagsValue values[] = { { VTE_PTY_NO_LASTLOG, "VTE_PTY_NO_LASTLOG", "no-lastlog" }, { VTE_PTY_NO_UTMP, "VTE_PTY_NO_UTMP", "no-utmp" }, { VTE_PTY_NO_WTMP, "VTE_PTY_NO_WTMP", "no-wtmp" }, { VTE_PTY_NO_HELPER, "VTE_PTY_NO_HELPER", "no-helper" }, { VTE_PTY_NO_FALLBACK, "VTE_PTY_NO_FALLBACK", "no-fallback" }, { VTE_PTY_DEFAULT, "VTE_PTY_DEFAULT", "default" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_flags_register_static (g_intern_static_string ("VtePtyFlags"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } GType vte_write_flags_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_WRITE_DEFAULT, "VTE_WRITE_DEFAULT", "default" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteWriteFlags"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #else /* VTE_CHECK_VERSION(0,38,0) */ /* * Following is based on vtetypebuiltins.h of vte-0.24.0. */ /* enumerations from "vte.h" */ GType vte_terminal_erase_binding_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_ERASE_AUTO, "VTE_ERASE_AUTO", "auto" }, { VTE_ERASE_ASCII_BACKSPACE, "VTE_ERASE_ASCII_BACKSPACE", "ascii-backspace" }, { VTE_ERASE_ASCII_DELETE, "VTE_ERASE_ASCII_DELETE", "ascii-delete" }, { VTE_ERASE_DELETE_SEQUENCE, "VTE_ERASE_DELETE_SEQUENCE", "delete-sequence" }, #if VTE_CHECK_VERSION(0,20,4) { VTE_ERASE_TTY, "VTE_ERASE_TTY", "tty" }, #endif { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteTerminalEraseBinding"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #if VTE_CHECK_VERSION(0,17,1) GType vte_terminal_cursor_blink_mode_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_CURSOR_BLINK_SYSTEM, "VTE_CURSOR_BLINK_SYSTEM", "system" }, { VTE_CURSOR_BLINK_ON, "VTE_CURSOR_BLINK_ON", "on" }, { VTE_CURSOR_BLINK_OFF, "VTE_CURSOR_BLINK_OFF", "off" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteTerminalCursorBlinkMode"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #endif #if VTE_CHECK_VERSION(0,20,0) GType vte_terminal_cursor_shape_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_CURSOR_SHAPE_BLOCK, "VTE_CURSOR_SHAPE_BLOCK", "block" }, { VTE_CURSOR_SHAPE_IBEAM, "VTE_CURSOR_SHAPE_IBEAM", "ibeam" }, { VTE_CURSOR_SHAPE_UNDERLINE, "VTE_CURSOR_SHAPE_UNDERLINE", "underline" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteTerminalCursorShape"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #endif #if VTE_CHECK_VERSION(0,23,4) GType vte_terminal_write_flags_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_TERMINAL_WRITE_DEFAULT, "VTE_TERMINAL_WRITE_DEFAULT", "default" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteTerminalWriteFlags"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #endif #if VTE_CHECK_VERSION(0,26,0) GType vte_pty_flags_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GFlagsValue values[] = { { VTE_PTY_NO_LASTLOG, "VTE_PTY_NO_LASTLOG", "no-lastlog" }, { VTE_PTY_NO_UTMP, "VTE_PTY_NO_UTMP", "no-utmp" }, { VTE_PTY_NO_WTMP, "VTE_PTY_NO_WTMP", "no-wtmp" }, { VTE_PTY_NO_HELPER, "VTE_PTY_NO_HELPER", "no-helper" }, { VTE_PTY_NO_FALLBACK, "VTE_PTY_NO_FALLBACK", "no-fallback" }, { VTE_PTY_DEFAULT, "VTE_PTY_DEFAULT", "default" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_flags_register_static (g_intern_static_string ("VtePtyFlags"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } GType vte_pty_error_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_PTY_ERROR_PTY_HELPER_FAILED, "VTE_PTY_ERROR_PTY_HELPER_FAILED", "pty-helper-failed" }, { VTE_PTY_ERROR_PTY98_FAILED, "VTE_PTY_ERROR_PTY98_FAILED", "pty98-failed" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VtePtyError"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #endif GType vte_terminal_anti_alias_get_type (void) { static volatile gsize g_define_type_id__volatile = 0; if (g_once_init_enter (&g_define_type_id__volatile)) { static const GEnumValue values[] = { { VTE_ANTI_ALIAS_USE_DEFAULT, "VTE_ANTI_ALIAS_USE_DEFAULT", "use-default" }, { VTE_ANTI_ALIAS_FORCE_ENABLE, "VTE_ANTI_ALIAS_FORCE_ENABLE", "force-enable" }, { VTE_ANTI_ALIAS_FORCE_DISABLE, "VTE_ANTI_ALIAS_FORCE_DISABLE", "force-disable" }, { 0, NULL, NULL } }; GType g_define_type_id = \ g_enum_register_static (g_intern_static_string ("VteTerminalAntiAlias"), values); g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); } return g_define_type_id__volatile; } #endif /* VTE_CHECK_VERSION(0,38,0) */ /* Generated data ends here */ mlterm-3.8.4/gtk/dexport-sun.map010064400017600000144000000000001321054731300152650ustar kenusersmlterm-3.8.4/gtk/vte.c010064400017600000144000004105321321054731300132570ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #undef VTE_SEAL_ENABLE #include #ifndef VTE_CHECK_VERSION #define VTE_CHECK_VERSION(a, b, c) (0) #endif /* for wayland/ui.h */ #define COMPAT_LIBVTE #include /* waitpid */ #include /* getpwuid */ #include #include /* bl_alloca_dup */ #include #include #include #include /* DIGIT_STR_LEN */ #include #include #include #include #include /* bl_pty_helper_set_flag */ #include #include #include #include /* XXX for config_menu.pid */ #include #include #include #include #include #ifdef USE_BRLAPI #include #endif #include "../main/version.h" #include "marshal.h" #if !VTE_CHECK_VERSION(0, 38, 0) #include #else typedef struct _VteReaper VteReaper; VteReaper *vte_reaper_get(void); int vte_reaper_add_child(GPid pid); #endif #ifdef SYSCONFDIR #define CONFIG_PATH SYSCONFDIR #endif #if 0 #define __DEBUG #endif #ifndef I_ #define I_(a) a #endif #if !GTK_CHECK_VERSION(2, 14, 0) #define gtk_adjustment_get_upper(adj) ((adj)->upper) #define gtk_adjustment_get_value(adj) ((adj)->value) #define gtk_adjustment_get_page_size(adj) ((adj)->page_size) #define gtk_widget_get_window(widget) ((widget)->window) #endif #if !GTK_CHECK_VERSION(2, 18, 0) #define gtk_widget_set_window(widget, win) ((widget)->window = (win)) #define gtk_widget_set_allocation(widget, alloc) ((widget)->allocation = *(alloc)) #define gtk_widget_get_allocation(widget, alloc) (*(alloc) = (widget)->allocation) #endif #if GTK_CHECK_VERSION(2, 90, 0) #define GTK_WIDGET_SET_REALIZED(widget) gtk_widget_set_realized(widget, TRUE) #define GTK_WIDGET_UNSET_REALIZED(widget) gtk_widget_set_realized(widget, FALSE) #define GTK_WIDGET_REALIZED(widget) gtk_widget_get_realized(widget) #define GTK_WIDGET_SET_HAS_FOCUS(widget) (0) #define GTK_WIDGET_UNSET_HAS_FOCUS(widget) (0) #define GTK_WIDGET_UNSET_MAPPED(widget) gtk_widget_set_mapped(widget, FALSE) #define GTK_WIDGET_MAPPED(widget) gtk_widget_get_mapped(widget) #define GTK_WIDGET_SET_CAN_FOCUS(widget) gtk_widget_set_can_focus(widget, TRUE) #else /* GTK_CHECK_VERSION(2,90,0) */ #define GTK_WIDGET_SET_REALIZED(widget) GTK_WIDGET_SET_FLAGS(widget, GTK_REALIZED) #define GTK_WIDGET_UNSET_REALIZED(widget) GTK_WIDGET_UNSET_FLAGS(widget, GTK_REALIZED) #define GTK_WIDGET_SET_HAS_FOCUS(widget) GTK_WIDGET_SET_FLAGS(widget, GTK_HAS_FOCUS) #define GTK_WIDGET_UNSET_HAS_FOCUS(widget) GTK_WIDGET_UNSET_FLAGS(widget, GTK_HAS_FOCUS) #define GTK_WIDGET_UNSET_MAPPED(widget) GTK_WIDGET_UNSET_FLAGS(widget, GTK_MAPPED) #define GTK_WIDGET_SET_CAN_FOCUS(widget) GTK_WIDGET_SET_FLAGS(widget, GTK_CAN_FOCUS) #endif /* GTK_CHECK_VERSION(2,90,0) */ #define VTE_WIDGET(screen) ((VteTerminal *)(screen)->system_listener->self) /* XXX Hack to distinguish ui_screen_t from ui_{candidate|status}_screent_t */ #define IS_MLTERM_SCREEN(win) (!PARENT_WINDOWID_IS_TOP(win)) #if !VTE_CHECK_VERSION(0, 38, 0) #define WINDOW_MARGIN 1 #define VteCursorBlinkMode VteTerminalCursorBlinkMode #define VteCursorShape VteTerminalCursorShape #define VteEraseBinding VteTerminalEraseBinding #endif #define STATIC_PARAMS (G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB) #if VTE_CHECK_VERSION(0, 46, 0) struct _VteRegex { int ref_count; GRegex *gregex; }; G_DEFINE_BOXED_TYPE(VteRegex, vte_regex, vte_regex_ref, (GBoxedFreeFunc)vte_regex_unref) G_DEFINE_QUARK(vte-regex-error, vte_regex_error) #endif #define VTE_TERMINAL_CSS_NAME "vte-terminal" #if VTE_CHECK_VERSION(0, 40, 0) typedef struct _VteTerminalPrivate VteTerminalPrivate; #endif struct _VteTerminalPrivate { /* Not NULL until finalized. screen->term is NULL until widget is realized. */ ui_screen_t *screen; /* * Not NULL until finalized. term->pty is NULL until pty is forked or * inherited from parent. */ vt_term_t *term; #if VTE_CHECK_VERSION(0, 26, 0) VtePty *pty; #endif ui_system_event_listener_t system_listener; void (*line_scrolled_out)(void *); void (*xterm_resize)(void *, u_int, u_int, int); ui_screen_scroll_event_listener_t screen_scroll_listener; int8_t adj_value_changed_by_myself; /* for roxterm-2.6.5 */ int8_t init_char_size; GIOChannel *io; guint src_id; GdkPixbuf *image; /* Original image which vte_terminal_set_background_image passed */ Pixmap pixmap; u_int pix_width; u_int pix_height; ui_picture_modifier_t *pic_mod; /* caching previous pic_mod in update_wall_picture.*/ #if GLIB_CHECK_VERSION(2, 14, 0) GRegex *gregex; #if VTE_CHECK_VERSION(0, 46, 0) VteRegex *vregex; #endif #endif #if VTE_CHECK_VERSION(0, 38, 0) GtkAdjustment *adjustment; gchar *window_title; gchar *icon_title; glong char_width; glong char_height; glong row_count; glong column_count; #if VTE_CHECK_VERSION(0, 40, 0) #define ADJUSTMENT(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->adjustment #define WINDOW_TITLE(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->window_title #define ICON_TITLE(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->icon_title #define CHAR_WIDTH(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->char_width #define CHAR_HEIGHT(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->char_height #define ROW_COUNT(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->row_count #define COLUMN_COUNT(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0])->column_count #else #define ADJUSTMENT(terminal) (terminal)->pvt->adjustment #define WINDOW_TITLE(terminal) (terminal)->pvt->window_title #define ICON_TITLE(terminal) (terminal)->pvt->icon_title #define CHAR_WIDTH(terminal) (terminal)->pvt->char_width #define CHAR_HEIGHT(terminal) (terminal)->pvt->char_height #define ROW_COUNT(terminal) (terminal)->pvt->row_count #define COLUMN_COUNT(terminal) (terminal)->pvt->column_count #endif #else #define ADJUSTMENT(terminal) (terminal)->adjustment #define WINDOW_TITLE(terminal) (terminal)->window_title #define ICON_TITLE(terminal) (terminal)->icon_title #define CHAR_WIDTH(terminal) (terminal)->char_width #define CHAR_HEIGHT(terminal) (terminal)->char_height #define ROW_COUNT(terminal) (terminal)->row_count #define COLUMN_COUNT(terminal) (terminal)->column_count #endif }; #if VTE_CHECK_VERSION(0, 40, 0) #define PVT(terminal) ((VteTerminalPrivate*)(terminal)->_unused_padding[0]) #else #define PVT(terminal) (terminal)->pvt #endif enum { SIGNAL_BELL, SIGNAL_CHAR_SIZE_CHANGED, SIGNAL_CHILD_EXITED, SIGNAL_COMMIT, SIGNAL_CONTENTS_CHANGED, SIGNAL_COPY_CLIPBOARD, SIGNAL_CURRENT_DIRECTORY_URI_CHANGED, SIGNAL_CURRENT_FILE_URI_CHANGED, SIGNAL_CURSOR_MOVED, SIGNAL_DECREASE_FONT_SIZE, SIGNAL_DEICONIFY_WINDOW, SIGNAL_ENCODING_CHANGED, SIGNAL_EOF, SIGNAL_ICON_TITLE_CHANGED, SIGNAL_ICONIFY_WINDOW, SIGNAL_INCREASE_FONT_SIZE, SIGNAL_LOWER_WINDOW, SIGNAL_MAXIMIZE_WINDOW, SIGNAL_MOVE_WINDOW, SIGNAL_PASTE_CLIPBOARD, SIGNAL_RAISE_WINDOW, SIGNAL_REFRESH_WINDOW, SIGNAL_RESIZE_WINDOW, SIGNAL_RESTORE_WINDOW, SIGNAL_SELECTION_CHANGED, SIGNAL_TEXT_DELETED, SIGNAL_TEXT_INSERTED, SIGNAL_TEXT_MODIFIED, SIGNAL_TEXT_SCROLLED, SIGNAL_WINDOW_TITLE_CHANGED, LAST_SIGNAL }; enum { PROP_0, #if GTK_CHECK_VERSION(2, 90, 0) PROP_HADJUSTMENT, PROP_VADJUSTMENT, PROP_HSCROLL_POLICY, PROP_VSCROLL_POLICY, #endif PROP_ALLOW_BOLD, PROP_AUDIBLE_BELL, PROP_BACKGROUND_IMAGE_FILE, PROP_BACKGROUND_IMAGE_PIXBUF, PROP_BACKGROUND_OPACITY, PROP_BACKGROUND_SATURATION, PROP_BACKGROUND_TINT_COLOR, PROP_BACKGROUND_TRANSPARENT, PROP_BACKSPACE_BINDING, PROP_CURSOR_BLINK_MODE, PROP_CURSOR_SHAPE, PROP_DELETE_BINDING, PROP_EMULATION, PROP_ENCODING, PROP_FONT_DESC, PROP_ICON_TITLE, PROP_MOUSE_POINTER_AUTOHIDE, PROP_PTY, PROP_SCROLL_BACKGROUND, PROP_SCROLLBACK_LINES, PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, PROP_WINDOW_TITLE, PROP_WORD_CHARS, PROP_VISIBLE_BELL }; #if GTK_CHECK_VERSION(2, 90, 0) struct _VteTerminalClassPrivate { GtkStyleProvider *style_provider; }; G_DEFINE_TYPE_WITH_CODE(VteTerminal, vte_terminal, GTK_TYPE_WIDGET, g_type_add_class_private(g_define_type_id, sizeof(VteTerminalClassPrivate)); G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, NULL)) #else G_DEFINE_TYPE(VteTerminal, vte_terminal, GTK_TYPE_WIDGET); #endif /* --- static variables --- */ static ui_main_config_t main_config; static ui_shortcut_t shortcut; static ui_display_t disp; #if VTE_CHECK_VERSION(0, 19, 0) static guint signals[LAST_SIGNAL]; #endif static int (*orig_select_in_window)(void *, vt_char_t **, u_int *, int, int, int, int, int); #if defined(USE_XLIB) #include "vte_xlib.c" #elif defined(USE_WAYLAND) #include "vte_wayland.c" #else #error "Unsupported platform for libvte compatible library." #endif /* --- static functions --- */ #if defined(__DEBUG) && defined(USE_XLIB) static int error_handler(Display *display, XErrorEvent *event) { char buffer[1024]; XGetErrorText(display, event->error_code, buffer, 1024); bl_msg_printf("%s\n", buffer); abort(); return 1; } #endif static int select_in_window(void *p, vt_char_t **chars, u_int *len, int beg_char_index, int beg_row, int end_char_index, int end_row, int is_rect) { int ret = (*orig_select_in_window)(p, chars, len, beg_char_index, beg_row, end_char_index, end_row, is_rect); #if VTE_CHECK_VERSION(0, 19, 0) g_signal_emit(VTE_WIDGET((ui_screen_t*)p), signals[SIGNAL_SELECTION_CHANGED], 0); #endif return ret; } static int selection(ui_selection_t *sel, int char_index_1, int row_1, int char_index_2, int row_2) { ui_sel_clear(sel); ui_start_selection(sel, char_index_1 - 1, row_1, char_index_1, row_1, SEL_CHAR, 0); ui_selecting(sel, char_index_2, row_2); ui_stop_selecting(sel); return 1; } #if GLIB_CHECK_VERSION(2, 14, 0) static int match_gregex(size_t *beg, size_t *len, void *gregex, u_char *str, int backward) { GMatchInfo *info; if (g_regex_match(gregex, str, 0, &info)) { gchar *word; u_char *p; p = str; do { word = g_match_info_fetch(info, 0); p = strstr(p, word); *beg = p - str; *len = strlen(word); g_free(word); p += (*len); } while (g_match_info_next(info, NULL)); g_match_info_free(info); return 1; } return 0; } #if VTE_CHECK_VERSION(0, 46, 0) static int match_vteregex(size_t *beg, size_t *len, void *vregex, u_char *str, int backward) { return match_gregex(beg, len, ((VteRegex*)vregex)->gregex, str, backward); } #endif static gboolean search_find(VteTerminal *terminal, int backward) { int beg_char_index; int beg_row; int end_char_index; int end_row; void *regex; if (!GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { return FALSE; } #if VTE_CHECK_VERSION(0, 46, 0) regex = PVT(terminal)->gregex ? PVT(terminal)->gregex : PVT(terminal)->vregex; #else regex = PVT(terminal)->gregex; #endif if (!regex) { return FALSE; } if (vt_term_search_find(PVT(terminal)->term, &beg_char_index, &beg_row, &end_char_index, &end_row, regex, backward)) { gdouble value; selection(&PVT(terminal)->screen->sel, beg_char_index, beg_row, end_char_index, end_row); value = vt_term_get_num_logged_lines(PVT(terminal)->term) + (beg_row >= 0 ? 0 : beg_row); #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_value(ADJUSTMENT(terminal), value); #else ADJUSTMENT(terminal)->value = value; gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif /* * XXX * Dirty hack, but without this, selection() above is not reflected to * window * if aother word is hit in the same line. (If row is not changed, * gtk_adjustment_set_value() doesn't call ui_screen_scroll_to().) */ ui_window_update(&PVT(terminal)->screen->window, 1 /* UPDATE_SCREEN */); return TRUE; } else { return FALSE; } } #endif #if !GTK_CHECK_VERSION(2, 12, 0) /* gdk_color_to_string() was not supported by gtk+ < 2.12. */ static gchar *gdk_color_to_string(const GdkColor *color) { gchar *str; if ((str = g_malloc(14)) == NULL) { return NULL; } sprintf(str, "#%04x%04x%04x", color->red, color->green, color->blue); return str; } #endif #if GTK_CHECK_VERSION(2, 99, 0) static gchar *gdk_rgba_to_string2(const GdkRGBA *color) { gchar *str; if ((str = g_malloc(10)) == NULL) { return NULL; } sprintf(str, color->alpha > 0.999 ? "#%02x%02x%02x" : "#%02x%02x%02x%02x", (int)((color->red > 0.999 ? 1 : color->red) * 255 + 0.5), (int)((color->green > 0.999 ? 1 : color->green) * 255 + 0.5), (int)((color->blue > 0.999 ? 1 : color->blue) * 255 + 0.5), (int)((color->alpha > 0.999 ? 1 : color->alpha) * 255 + 0.5)); return str; } #endif static int is_initial_allocation(GtkAllocation *allocation) { /* { -1 , -1 , 1 , 1 } is default value of GtkAllocation. */ return (allocation->x == -1 && allocation->y == -1 && allocation->width == 1 && allocation->height == 1); } static gboolean close_dead_terms(gpointer data) { vt_close_dead_terms(); return FALSE; /* Never repeat to call this function. */ } static void catch_child_exited(VteReaper *reaper, int pid, int status, VteTerminal *terminal) { bl_trigger_sig_child(pid); g_timeout_add_full(G_PRIORITY_HIGH, 0, close_dead_terms, NULL, NULL); } /* * This handler works even if VteTerminal widget is not realized and vt_term_t * is not * attached to ui_screen_t. * That's why the time ui_screen_attach is called is delayed(in * vte_terminal_fork* or * vte_terminal_realized). */ static gboolean vte_terminal_io(GIOChannel *source, GIOCondition conditon, gpointer data /* vt_term_t */ ) { vt_term_parse_vt100_sequence((vt_term_t *)data); vt_close_dead_terms(); return TRUE; } static void create_io(VteTerminal *terminal) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Create GIO of pty master %d\n", vt_term_get_master_fd(PVT(terminal)->term)); #endif PVT(terminal)->io = g_io_channel_unix_new(vt_term_get_master_fd(PVT(terminal)->term)); PVT(terminal)->src_id = g_io_add_watch(PVT(terminal)->io, G_IO_IN, vte_terminal_io, PVT(terminal)->term); } static void destroy_io(VteTerminal *terminal) { if (PVT(terminal)->io) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Destroy GIO of pty master %d\n", vt_term_get_master_fd(PVT(terminal)->term)); #endif g_source_destroy(g_main_context_find_source_by_id(NULL, PVT(terminal)->src_id)); #if 0 g_io_channel_shutdown(PVT(terminal)->io, TRUE, NULL); #endif g_io_channel_unref(PVT(terminal)->io); PVT(terminal)->src_id = 0; PVT(terminal)->io = NULL; } } /* * vt_pty_event_listener_t overriding handler. */ static void pty_closed(void *p /* screen->term->pty is NULL */ ) { ui_screen_t *screen; vt_term_t *term; VteTerminal *terminal; screen = p; terminal = VTE_WIDGET(screen); destroy_io(terminal); if ((term = vt_get_detached_term(NULL))) { PVT(terminal)->term = term; create_io(terminal); /* * Not screen->term but screen->term->pty is being deleted in * vt_close_dead_terms() * because of vt_term_manager_enable_zombie_pty(1) in * vte_terminal_class_init(). */ term = screen->term; ui_screen_detach(screen); vt_term_delete(term); /* It is after widget is realized that ui_screen_attach can be called. */ if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_attach(screen, PVT(terminal)->term); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " pty is closed and detached pty is re-attached.\n"); #endif } } else { #if VTE_CHECK_VERSION(0, 38, 0) g_signal_emit_by_name(terminal, "child-exited", 0); #else g_signal_emit_by_name(terminal, "child-exited"); #endif #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " pty is closed\n"); #endif } } /* * ui_system_event_listener_t handlers */ static void font_config_updated(void) { u_int count; ui_font_cache_unload_all(); for (count = 0; count < disp.num_roots; count++) { if (IS_MLTERM_SCREEN(disp.roots[count])) { ui_screen_reset_view((ui_screen_t *)disp.roots[count]); } } } static void color_config_updated(void) { u_int count; ui_color_cache_unload_all(); for (count = 0; count < disp.num_roots; count++) { if (IS_MLTERM_SCREEN(disp.roots[count])) { ui_screen_reset_view((ui_screen_t *)disp.roots[count]); } } } static void open_pty(void *p, ui_screen_t *screen, char *dev) { if (dev) { vt_term_t *new; if ((new = vt_get_detached_term(dev))) { VteTerminal *terminal = VTE_WIDGET(screen); destroy_io(terminal); PVT(terminal)->term = new; create_io(terminal); ui_screen_detach(screen); /* It is after widget is reailzed that ui_screen_attach can be called. */ if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_attach(screen, new); } } } } /* * EXIT_PROGRAM shortcut calls this at last. * this is for debugging. */ #ifdef BL_DEBUG #include /* bl_locale_final */ #endif static void __exit(void *p, int status) { #ifdef BL_DEBUG u_int count; #if 1 bl_mem_dump_all(); #endif vt_free_word_separators(); ui_free_mod_meta_prefix(); bl_set_msg_log_file_name(NULL); /* * Don't loop from 0 to dis.num_roots owing to processing inside * ui_display_remove_root. */ for (count = disp.num_roots; count > 0; count--) { if (IS_MLTERM_SCREEN(disp.roots[count - 1])) { gtk_widget_destroy(GTK_WIDGET(VTE_WIDGET((ui_screen_t *)disp.roots[count - 1]))); } else { ui_display_remove_root(&disp, disp.roots[count - 1]); } } free(disp.roots); ui_gc_delete(disp.gc); #ifdef USE_XLIB ui_xim_display_closed(disp.display); #endif ui_picture_display_closed(disp.display); #ifdef USE_BRLAPI ui_brltty_final(); #endif vt_term_manager_final(); bl_locale_final(); ui_main_config_final(&main_config); vt_color_config_final(); ui_shortcut_final(&shortcut); #ifdef USE_XLIB ui_xim_final(); #endif bl_sig_child_final(); bl_alloca_garbage_collect(); bl_msg_printf("reporting unfreed memories --->\n"); bl_mem_free_all(); bl_dl_close_all(); #endif #if 1 exit(1); #else gtk_main_quit(); #endif } /* * vt_xterm_event_listener_t (overriding) handlers */ static void xterm_resize(void *p, u_int width, u_int height, int flag) { ui_screen_t *screen = p; VteTerminal *terminal = VTE_WIDGET(screen); if (flag) { flag --; /* converting to ui_maximize_flag_t */ if (flag == MAXIMIZE_FULL) { gtk_window_maximize(gtk_widget_get_toplevel(GTK_WIDGET(terminal))); } else if (flag == MAXIMIZE_RESTORE) { gtk_window_unmaximize(gtk_widget_get_toplevel(GTK_WIDGET(terminal))); } } else { (*PVT(terminal)->xterm_resize)(p, width, height, 0); } } static void set_window_name(void *p, u_char *name) { ui_screen_t *screen; VteTerminal *terminal; screen = p; terminal = VTE_WIDGET(screen); WINDOW_TITLE(terminal) = vt_term_window_name(screen->term); gdk_window_set_title(gtk_widget_get_window(GTK_WIDGET(terminal)), WINDOW_TITLE(terminal)); g_signal_emit_by_name(terminal, "window-title-changed"); #if VTE_CHECK_VERSION(0, 20, 0) g_object_notify(G_OBJECT(terminal), "window-title"); #endif } static void set_icon_name(void *p, u_char *name) { ui_screen_t *screen; VteTerminal *terminal; screen = p; terminal = VTE_WIDGET(screen); ICON_TITLE(terminal) = vt_term_icon_name(screen->term); gdk_window_set_icon_name(gtk_widget_get_window(GTK_WIDGET(terminal)), ICON_TITLE(terminal)); g_signal_emit_by_name(terminal, "icon-title-changed"); #if VTE_CHECK_VERSION(0, 20, 0) g_object_notify(G_OBJECT(terminal), "icon-title"); #endif } /* * vt_screen_event_listener_t (overriding) handler */ static void line_scrolled_out(void *p /* must be ui_screen_t */ ) { ui_screen_t *screen; VteTerminal *terminal; gdouble upper; gdouble value; screen = p; terminal = VTE_WIDGET(screen); (*PVT(terminal)->line_scrolled_out)(p); /* * line_scrolled_out is called in vt100 mode * (after vt_xterm_event_listener_t::start_vt100 event), so * don't call ui_screen_scroll_to() in adjustment_value_changed() * in this context. */ PVT(terminal)->adj_value_changed_by_myself = 1; value = gtk_adjustment_get_value(ADJUSTMENT(terminal)); if ((upper = gtk_adjustment_get_upper(ADJUSTMENT(terminal))) < vt_term_get_log_size(PVT(terminal)->term) + ROW_COUNT(terminal)) { #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_upper(ADJUSTMENT(terminal), upper + 1); #else ADJUSTMENT(terminal)->upper++; gtk_adjustment_changed(ADJUSTMENT(terminal)); #endif if (vt_term_is_backscrolling(PVT(terminal)->term) != BSM_STATIC) { #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_value(ADJUSTMENT(terminal), value + 1); #else ADJUSTMENT(terminal)->value++; gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif } } else if (vt_term_is_backscrolling(PVT(terminal)->term) == BSM_STATIC && value > 0) { #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_value(ADJUSTMENT(terminal), value - 1); #else ADJUSTMENT(terminal)->value--; gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif } #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " line_scrolled_out upper %f value %f\n", gtk_adjustment_get_upper(ADJUSTMENT(terminal)), gtk_adjustment_get_value(ADJUSTMENT(terminal))); #endif } /* * ui_screen_scroll_event_listener_t handlers */ static void bs_mode_exited(void *p) { VteTerminal *terminal; int upper; int page_size; terminal = p; PVT(terminal)->adj_value_changed_by_myself = 1; upper = gtk_adjustment_get_upper(ADJUSTMENT(terminal)); page_size = gtk_adjustment_get_page_size(ADJUSTMENT(terminal)); #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_value(ADJUSTMENT(terminal), upper - page_size); #else ADJUSTMENT(terminal)->value = upper - page_size; gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " bs_mode_exited upper %d page_size %d\n", upper, page_size); #endif } static void scrolled_upward(void *p, u_int size) { VteTerminal *terminal; int value; int upper; int page_size; terminal = p; value = gtk_adjustment_get_value(ADJUSTMENT(terminal)); upper = gtk_adjustment_get_upper(ADJUSTMENT(terminal)); page_size = gtk_adjustment_get_page_size(ADJUSTMENT(terminal)); if (value + page_size >= upper) { return; } if (value + page_size + size > upper) { size = upper - value - page_size; } PVT(terminal)->adj_value_changed_by_myself = 1; #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_value(ADJUSTMENT(terminal), value + size); #else ADJUSTMENT(terminal)->value += size; gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif } static void scrolled_downward(void *p, u_int size) { VteTerminal *terminal; int value; terminal = p; if ((value = gtk_adjustment_get_value(ADJUSTMENT(terminal))) == 0) { return; } if (value < size) { value = size; } PVT(terminal)->adj_value_changed_by_myself = 1; #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_value(ADJUSTMENT(terminal), value - size); #else ADJUSTMENT(terminal)->value -= size; gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif } static void log_size_changed(void *p, u_int log_size) { VteTerminal *terminal; terminal = p; #if GTK_CHECK_VERSION(2, 14, 0) gtk_adjustment_set_upper(ADJUSTMENT(terminal), log_size); #else ADJUSTMENT(terminal)->upper = log_size; gtk_adjustment_changed(ADJUSTMENT(terminal)); #endif } static void adjustment_value_changed(VteTerminal *terminal) { int value; int upper; int page_size; if (PVT(terminal)->adj_value_changed_by_myself) { PVT(terminal)->adj_value_changed_by_myself = 0; return; } value = gtk_adjustment_get_value(ADJUSTMENT(terminal)); upper = gtk_adjustment_get_upper(ADJUSTMENT(terminal)); page_size = gtk_adjustment_get_page_size(ADJUSTMENT(terminal)); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " scroll to %d\n", value - (upper - page_size)); #endif ui_screen_scroll_to(PVT(terminal)->screen, value - (upper - page_size)); } static void set_adjustment(VteTerminal *terminal, GtkAdjustment *adjustment) { if (adjustment == ADJUSTMENT(terminal) || adjustment == NULL) { return; } if (ADJUSTMENT(terminal)) { g_signal_handlers_disconnect_by_func(ADJUSTMENT(terminal), G_CALLBACK(adjustment_value_changed), terminal); g_object_unref(ADJUSTMENT(terminal)); } g_object_ref_sink(adjustment); ADJUSTMENT(terminal) = adjustment; g_signal_connect_swapped(ADJUSTMENT(terminal), "value-changed", G_CALLBACK(adjustment_value_changed), terminal); PVT(terminal)->adj_value_changed_by_myself = 0; } static void reset_vte_size_member(VteTerminal *terminal) { int emit; emit = 0; if (/* If char_width == 0, reset_vte_size_member is called from vte_terminal_init */ CHAR_WIDTH(terminal) != 0 && CHAR_WIDTH(terminal) != ui_col_width(PVT(terminal)->screen)) { emit = 1; } CHAR_WIDTH(terminal) = ui_col_width(PVT(terminal)->screen); if (/* If char_height == 0, reset_vte_size_member is called from vte_terminal_init */ CHAR_HEIGHT(terminal) != 0 && CHAR_HEIGHT(terminal) != ui_line_height(PVT(terminal)->screen)) { emit = 1; } CHAR_HEIGHT(terminal) = ui_line_height(PVT(terminal)->screen); if (emit) { g_signal_emit_by_name(terminal, "char-size-changed", CHAR_WIDTH(terminal), CHAR_HEIGHT(terminal)); } #if !VTE_CHECK_VERSION(0, 38, 0) terminal->char_ascent = ui_line_ascent(PVT(terminal)->screen); terminal->char_descent = CHAR_HEIGHT(terminal) - terminal->char_ascent; #endif emit = 0; if (/* If row_count == 0, reset_vte_size_member is called from vte_terminal_init */ ROW_COUNT(terminal) != 0 && ROW_COUNT(terminal) != vt_term_get_rows(PVT(terminal)->term)) { emit = 1; } ROW_COUNT(terminal) = vt_term_get_rows(PVT(terminal)->term); if (/* If column_count == 0, reset_vte_size_member is called from vte_terminal_init */ COLUMN_COUNT(terminal) != 0 && COLUMN_COUNT(terminal) != vt_term_get_cols(PVT(terminal)->term)) { emit = 1; } COLUMN_COUNT(terminal) = vt_term_get_cols(PVT(terminal)->term); if (emit) { #if GTK_CHECK_VERSION(2, 14, 0) int value; value = vt_term_get_num_logged_lines(PVT(terminal)->term); gtk_adjustment_configure(ADJUSTMENT(terminal), value /* value */, 0 /* lower */, value + ROW_COUNT(terminal) /* upper */, 1 /* step increment */, ROW_COUNT(terminal) /* page increment */, ROW_COUNT(terminal) /* page size */); #else ADJUSTMENT(terminal)->value = vt_term_get_num_logged_lines(PVT(terminal)->term); ADJUSTMENT(terminal)->upper = ADJUSTMENT(terminal)->value + ROW_COUNT(terminal); ADJUSTMENT(terminal)->page_increment = ROW_COUNT(terminal); ADJUSTMENT(terminal)->page_size = ROW_COUNT(terminal); gtk_adjustment_changed(ADJUSTMENT(terminal)); gtk_adjustment_value_changed(ADJUSTMENT(terminal)); #endif } #if !GTK_CHECK_VERSION(2, 90, 0) /* * XXX * Vertical writing mode and screen_(width|height)_ratio option are not *supported. * * Processing similar to vte_terminal_get_preferred_{width|height}(). */ GTK_WIDGET(terminal)->requisition.width = COLUMN_COUNT(terminal) * CHAR_WIDTH(terminal) + PVT(terminal)->screen->window.hmargin * 2; GTK_WIDGET(terminal)->requisition.height = ROW_COUNT(terminal) * CHAR_HEIGHT(terminal) + PVT(terminal)->screen->window.vmargin * 2; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " char_width %d char_height %d row_count %d column_count %d " "width %d height %d\n", CHAR_WIDTH(terminal), CHAR_HEIGHT(terminal), ROW_COUNT(terminal), COLUMN_COUNT(terminal), GTK_WIDGET(terminal)->requisition.width, GTK_WIDGET(terminal)->requisition.height); #endif #endif /* ! GTK_CHECK_VERSION(2,90,0) */ } static gboolean vte_terminal_timeout(gpointer data) { /* * If gdk_threads_add_timeout (2.12 or later) doesn't exist, * call gdk_threads_{enter|leave} manually for MT-safe. */ #if !GTK_CHECK_VERSION(2, 12, 0) gdk_threads_enter(); #endif vt_close_dead_terms(); ui_display_idling(&disp); #if !GTK_CHECK_VERSION(2, 12, 0) gdk_threads_leave(); #endif return TRUE; } static void vte_terminal_finalize(GObject *obj) { VteTerminal *terminal; GtkSettings *settings; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " vte terminal finalized.\n"); #endif terminal = VTE_TERMINAL(obj); #if VTE_CHECK_VERSION(0, 26, 0) if (PVT(terminal)->pty) { g_object_unref(PVT(terminal)->pty); } #endif ui_font_manager_delete(PVT(terminal)->screen->font_man); ui_color_manager_delete(PVT(terminal)->screen->color_man); if (PVT(terminal)->image) { g_object_unref(PVT(terminal)->image); PVT(terminal)->image = NULL; } if (PVT(terminal)->pixmap) { #ifdef USE_XLIB XFreePixmap(disp.display, PVT(terminal)->pixmap); #else /* XXX */ #endif PVT(terminal)->pixmap = None; } free(PVT(terminal)->pic_mod); ui_window_final(&PVT(terminal)->screen->window); PVT(terminal)->screen = NULL; if (ADJUSTMENT(terminal)) { g_object_unref(ADJUSTMENT(terminal)); } settings = gtk_widget_get_settings(GTK_WIDGET(obj)); g_signal_handlers_disconnect_matched(settings, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, terminal); G_OBJECT_CLASS(vte_terminal_parent_class)->finalize(obj); #ifdef __DEBUG bl_debug_printf("End of vte_terminal_finalize() \n"); #endif } static void vte_terminal_get_property(GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec) { VteTerminal *terminal; terminal = VTE_TERMINAL(obj); switch (prop_id) { #if GTK_CHECK_VERSION(2, 90, 0) case PROP_VADJUSTMENT: g_value_set_object(value, ADJUSTMENT(terminal)); break; #endif case PROP_ICON_TITLE: g_value_set_string(value, vte_terminal_get_icon_title(terminal)); break; case PROP_WINDOW_TITLE: g_value_set_string(value, vte_terminal_get_window_title(terminal)); break; #if 0 default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); #endif } } static void vte_terminal_set_property(GObject *obj, guint prop_id, const GValue *value, GParamSpec *pspec) { VteTerminal *terminal; terminal = VTE_TERMINAL(obj); switch (prop_id) { #if GTK_CHECK_VERSION(2, 90, 0) case PROP_VADJUSTMENT: set_adjustment(terminal, g_value_get_object(value)); break; #endif #if 0 case PROP_ICON_TITLE: set_icon_name(PVT(terminal)->screen, g_value_get_string(value)); break; case PROP_WINDOW_TITLE: set_window_name(PVT(terminal)->screen, g_value_get_string(value)); break; #endif #if 0 default: G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, prop_id, pspec); #endif } } static void init_screen(VteTerminal *terminal, ui_font_manager_t *font_man, ui_color_manager_t *color_man) { u_int hmargin; u_int vmargin; #if VTE_CHECK_VERSION(0, 38, 0) GtkBorder padding; gtk_style_context_get_padding(gtk_widget_get_style_context(GTK_WIDGET(terminal)), gtk_widget_get_state_flags(GTK_WIDGET(terminal)), &padding); hmargin = K_MIN(padding.left, padding.right); vmargin = K_MIN(padding.top, padding.bottom); #else hmargin = WINDOW_MARGIN; vmargin = WINDOW_MARGIN; #endif /* * XXX * PVT(terminal)->term is specified to ui_screen_new in order to set * ui_window_t::width and height property, but screen->term is NULL * until widget is realized. */ PVT(terminal)->screen = ui_screen_new( PVT(terminal)->term, font_man, color_man, main_config.brightness, main_config.contrast, main_config.gamma, main_config.alpha, main_config.fade_ratio, &shortcut, /* main_config.screen_width_ratio */ 100, main_config.mod_meta_key, main_config.mod_meta_mode, main_config.bel_mode, main_config.receive_string_via_ucs, main_config.pic_file_path, main_config.use_transbg, main_config.use_vertical_cursor, main_config.use_extended_scroll_shortcut, main_config.borderless, main_config.line_space, main_config.input_method, main_config.allow_osc52, hmargin, vmargin, main_config.hide_underline, main_config.underline_offset, main_config.baseline_offset); if (PVT(terminal)->term) { vt_term_detach(PVT(terminal)->term); PVT(terminal)->screen->term = NULL; } else { /* * PVT(terminal)->term can be NULL if this function is called from * vte_terminal_unrealize. */ } memset(&PVT(terminal)->system_listener, 0, sizeof(ui_system_event_listener_t)); PVT(terminal)->system_listener.self = terminal; PVT(terminal)->system_listener.font_config_updated = font_config_updated; PVT(terminal)->system_listener.color_config_updated = color_config_updated; PVT(terminal)->system_listener.open_pty = open_pty; PVT(terminal)->system_listener.exit = __exit; ui_set_system_listener(PVT(terminal)->screen, &PVT(terminal)->system_listener); memset(&PVT(terminal)->screen_scroll_listener, 0, sizeof(ui_screen_scroll_event_listener_t)); PVT(terminal)->screen_scroll_listener.self = terminal; PVT(terminal)->screen_scroll_listener.bs_mode_exited = bs_mode_exited; PVT(terminal)->screen_scroll_listener.scrolled_upward = scrolled_upward; PVT(terminal)->screen_scroll_listener.scrolled_downward = scrolled_downward; PVT(terminal)->screen_scroll_listener.log_size_changed = log_size_changed; ui_set_screen_scroll_listener(PVT(terminal)->screen, &PVT(terminal)->screen_scroll_listener); PVT(terminal)->line_scrolled_out = PVT(terminal)->screen->screen_listener.line_scrolled_out; PVT(terminal)->screen->screen_listener.line_scrolled_out = line_scrolled_out; PVT(terminal)->screen->xterm_listener.set_window_name = set_window_name; PVT(terminal)->screen->xterm_listener.set_icon_name = set_icon_name; PVT(terminal)->xterm_resize = PVT(terminal)->screen->xterm_listener.resize; PVT(terminal)->screen->xterm_listener.resize = xterm_resize; orig_select_in_window = PVT(terminal)->screen->sel_listener.select_in_window; PVT(terminal)->screen->sel_listener.select_in_window = select_in_window; /* overriding */ PVT(terminal)->screen->pty_listener.closed = pty_closed; } #if VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_background_image(VteTerminal *terminal, GdkPixbuf *image); void vte_terminal_set_background_image_file(VteTerminal *terminal, const char *path); #endif static void update_wall_picture(VteTerminal *terminal) { ui_window_t *win; ui_picture_modifier_t *pic_mod; GdkPixbuf *image; char file[7 + DIGIT_STR_LEN(PVT(terminal)->pixmap) + 1]; if (!PVT(terminal)->image) { return; } win = &PVT(terminal)->screen->window; pic_mod = ui_screen_get_picture_modifier(PVT(terminal)->screen); if (PVT(terminal)->pix_width == ACTUAL_WIDTH(win) && PVT(terminal)->pix_height == ACTUAL_WIDTH(win) && ui_picture_modifiers_equal(pic_mod, PVT(terminal)->pic_mod) && PVT(terminal)->pixmap) { goto set_bg_image; } else if (gdk_pixbuf_get_width(PVT(terminal)->image) != ACTUAL_WIDTH(win) || gdk_pixbuf_get_height(PVT(terminal)->image) != ACTUAL_HEIGHT(win)) { #ifdef DEBUG bl_debug_printf( BL_DEBUG_TAG " Scaling bg img %d %d => %d %d\n", gdk_pixbuf_get_width(PVT(terminal)->image), gdk_pixbuf_get_height(PVT(terminal)->image), ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win)); #endif image = gdk_pixbuf_scale_simple(PVT(terminal)->image, ACTUAL_WIDTH(win), ACTUAL_HEIGHT(win), GDK_INTERP_BILINEAR); } else { image = PVT(terminal)->image; } if (PVT(terminal)->pixmap) { #ifdef USE_XLIB XFreePixmap(disp.display, PVT(terminal)->pixmap); #else /* XXX */ #endif } PVT(terminal)->pixmap = ui_imagelib_pixbuf_to_pixmap(win, pic_mod, image); if (image != PVT(terminal)->image) { g_object_unref(image); } if (PVT(terminal)->pixmap == None) { bl_msg_printf( "Failed to convert pixbuf to pixmap. " "Rebuild mlterm with gdk-pixbuf.\n"); PVT(terminal)->pix_width = 0; PVT(terminal)->pix_height = 0; PVT(terminal)->pic_mod = NULL; return; } PVT(terminal)->pix_width = ACTUAL_WIDTH(win); PVT(terminal)->pix_height = ACTUAL_HEIGHT(win); if (pic_mod) { if (PVT(terminal)->pic_mod == NULL) { PVT(terminal)->pic_mod = malloc(sizeof(ui_picture_modifier_t)); } *PVT(terminal)->pic_mod = *pic_mod; } else { free(PVT(terminal)->pic_mod); PVT(terminal)->pic_mod = NULL; } set_bg_image: ui_change_true_transbg_alpha(PVT(terminal)->screen->color_man, 255); sprintf(file, "pixmap:%lu", PVT(terminal)->pixmap); vte_terminal_set_background_image_file(terminal, file); } static void vte_terminal_realize(GtkWidget *widget) { VteTerminal *terminal = VTE_TERMINAL(widget); GdkWindowAttr attr; GtkAllocation allocation; if (gtk_widget_get_window(widget)) { return; } ui_screen_attach(PVT(terminal)->screen, PVT(terminal)->term); gtk_widget_get_allocation(widget, &allocation); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " vte terminal realized with size x %d y %d w %d h %d\n", allocation.x, allocation.y, allocation.width, allocation.height); #endif GTK_WIDGET_SET_REALIZED(widget); attr.window_type = GDK_WINDOW_CHILD; attr.x = allocation.x; attr.y = allocation.y; attr.width = allocation.width; attr.height = allocation.height; attr.wclass = GDK_INPUT_OUTPUT; attr.visual = gtk_widget_get_visual(widget); #if !GTK_CHECK_VERSION(2, 90, 0) attr.colormap = gtk_widget_get_colormap(widget); #endif attr.event_mask = gtk_widget_get_events(widget) | GDK_FOCUS_CHANGE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_SUBSTRUCTURE_MASK; /* DestroyNotify from child */ gtk_widget_set_window(widget, gdk_window_new(gtk_widget_get_parent_window(widget), &attr, GDK_WA_X | GDK_WA_Y | (attr.visual ? GDK_WA_VISUAL : 0) #if !GTK_CHECK_VERSION(2, 90, 0) | (attr.colormap ? GDK_WA_COLORMAP : 0) #endif )); /* * Note that hook key and button events in vte_terminal_filter doesn't work * without this. */ #if GTK_CHECK_VERSION(3, 8, 0) gtk_widget_register_window(widget, gtk_widget_get_window(widget)); #else gdk_window_set_user_data(gtk_widget_get_window(widget), widget); #endif #if !GTK_CHECK_VERSION(2, 90, 0) if (widget->style->font_desc) { pango_font_description_free(widget->style->font_desc); widget->style->font_desc = NULL; } /* private_font(_desc) should be NULL if widget->style->font_desc is set NULL * above. */ if (widget->style->private_font) { gdk_font_unref(widget->style->private_font); widget->style->private_font = NULL; } if (widget->style->private_font_desc) { pango_font_description_free(widget->style->private_font_desc); widget->style->private_font_desc = NULL; } #endif #ifdef USE_XLIB g_signal_connect_swapped(gtk_widget_get_toplevel(widget), "configure-event", G_CALLBACK(toplevel_configure), terminal); #endif show_root(&disp, widget); /* * allocation passed by size_allocate is not necessarily to be reflected * to ui_window_t or vt_term_t, so ui_window_resize must be called here. */ if (PVT(terminal)->term->pty && !is_initial_allocation(&allocation)) { if (ui_window_resize_with_margin(&PVT(terminal)->screen->window, allocation.width, allocation.height, NOTIFY_TO_MYSELF)) { reset_vte_size_member(terminal); } } update_wall_picture(terminal); } static void vte_terminal_unrealize(GtkWidget *widget) { VteTerminal *terminal = VTE_TERMINAL(widget); ui_screen_t *screen = PVT(terminal)->screen; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " vte terminal unrealized.\n"); #endif ui_screen_detach(screen); if (!PVT(terminal)->term->pty) { /* PVT(terminal)->term is not deleted in pty_closed() */ vt_term_delete(PVT(terminal)->term); PVT(terminal)->term = NULL; } /* Create dummy screen in case terminal will be realized again. */ init_screen(terminal, screen->font_man, screen->color_man); ui_display_remove_root(&disp, &screen->window); #ifdef USE_XLIB g_signal_handlers_disconnect_by_func(gtk_widget_get_toplevel(GTK_WIDGET(terminal)), G_CALLBACK(toplevel_configure), terminal); #endif /* gtk_widget_unregister_window() and gdk_window_destroy() are called. */ GTK_WIDGET_CLASS(vte_terminal_parent_class)->unrealize(widget); #ifdef __DEBUG bl_debug_printf("End of vte_terminal_unrealize()\n"); #endif } static gboolean vte_terminal_focus_in(GtkWidget *widget, GdkEventFocus *event) { GTK_WIDGET_SET_HAS_FOCUS(widget); if (GTK_WIDGET_MAPPED(widget)) { ui_window_t *win = &PVT(VTE_TERMINAL(widget))->screen->window; #ifdef USE_WAYLAND win->disp->display->wlserv->current_kbd_surface = win->disp->display->surface; #endif #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " focus in\n"); #endif ui_window_set_input_focus(win); } return FALSE; } static gboolean vte_terminal_focus_out(GtkWidget *widget, GdkEventFocus *event) { #ifdef USE_WAYLAND ui_window_t *win = &PVT(VTE_TERMINAL(widget))->screen->window; if (win->window_unfocused) { win->is_focused = 0; (*win->window_unfocused)(win); } #endif #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " focus out\n"); #endif GTK_WIDGET_UNSET_HAS_FOCUS(widget); return FALSE; } #if GTK_CHECK_VERSION(2, 90, 0) static void vte_terminal_get_preferred_width(GtkWidget *widget, gint *minimum_width, gint *natural_width) { /* Processing similar to setting GtkWidget::requisition in * reset_vte_size_member(). */ VteTerminal *terminal = VTE_TERMINAL(widget); if (minimum_width) { *minimum_width = CHAR_WIDTH(terminal) + PVT(terminal)->screen->window.hmargin * 2; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " preferred minimum width %d\n", *minimum_width); #endif } if (natural_width) { *natural_width = COLUMN_COUNT(terminal) * CHAR_WIDTH(terminal) + PVT(terminal)->screen->window.hmargin * 2; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " preferred natural width %d\n", *natural_width); #endif } } static void vte_terminal_get_preferred_width_for_height(GtkWidget *widget, gint height, gint *minimum_width, gint *natural_width) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " preferred width for height %d\n", height); #endif vte_terminal_get_preferred_width(widget, minimum_width, natural_width); } static void vte_terminal_get_preferred_height(GtkWidget *widget, gint *minimum_height, gint *natural_height) { /* Processing similar to setting GtkWidget::requisition in * reset_vte_size_member(). */ VteTerminal *terminal = VTE_TERMINAL(widget); /* XXX */ if (!PVT(terminal)->init_char_size && (strstr(g_get_prgname(), "roxterm") || /* * Hack for roxterm started by "x-terminal-emulator" or * "exo-open --launch TerminalEmulator" (which calls * "x-terminal-emulator" internally) */ g_object_get_data(gtk_widget_get_parent(widget), "roxterm_tab"))) { /* * XXX * I don't know why, but the size of roxterm 2.6.5 (GTK+3) is * minimized unless "char-size-changed" signal is emit once in * vte_terminal_get_preferred_height() or * vte_terminal_get_preferred_height() in startup. */ g_signal_emit_by_name(widget, "char-size-changed", CHAR_WIDTH(terminal), CHAR_HEIGHT(terminal)); } PVT(terminal)->init_char_size = 1; if (minimum_height) { *minimum_height = CHAR_HEIGHT(terminal) + PVT(terminal)->screen->window.vmargin * 2; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " preferred minimum height %d\n", *minimum_height); #endif } if (natural_height) { *natural_height = ROW_COUNT(terminal) * CHAR_HEIGHT(terminal) + PVT(terminal)->screen->window.vmargin * 2; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " preferred natural height %d\n", *natural_height); #endif } } static void vte_terminal_get_preferred_height_for_width(GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height) { #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " preferred height for width %d\n", width); #endif vte_terminal_get_preferred_height(widget, minimum_height, natural_height); } #else /* GTK_CHECK_VERSION(2,90,0) */ static void vte_terminal_size_request(GtkWidget *widget, GtkRequisition *req) { *req = widget->requisition; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " size_request %d %d cur alloc %d %d\n", req->width, req->height, widget->allocation.width, widget->allocation.height); #endif } #endif /* GTK_CHECK_VERSION(2,90,0) */ static void vte_terminal_size_allocate(GtkWidget *widget, GtkAllocation *allocation) { int is_resized; GtkAllocation cur_allocation; gtk_widget_get_allocation(widget, &cur_allocation); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " size_allocate %d %d %d %d => %d %d %d %d\n", cur_allocation.x, cur_allocation.y, cur_allocation.width, cur_allocation.height, allocation->x, allocation->y, allocation->width, allocation->height); #endif if (!(is_resized = (cur_allocation.width != allocation->width || cur_allocation.height != allocation->height)) && cur_allocation.x == allocation->x && cur_allocation.y == allocation->y) { return; } gtk_widget_set_allocation(widget, allocation); if (GTK_WIDGET_REALIZED(widget)) { VteTerminal *terminal = VTE_TERMINAL(widget); if (is_resized && PVT(terminal)->term->pty) { /* * Even if ui_window_resize_with_margin returns 0, * reset_vte_size_member etc functions must be called, * because VTE_TERMNAL(widget)->pvt->screen can be already * resized and vte_terminal_size_allocate can be called * from vte_terminal_filter. */ ui_window_resize_with_margin(&PVT(terminal)->screen->window, allocation->width, allocation->height, NOTIFY_TO_MYSELF); reset_vte_size_member(terminal); update_wall_picture(terminal); /* * gnome-terminal(2.29.6 or later ?) is not resized correctly * without this. */ gtk_widget_queue_resize_no_redraw(widget); } gdk_window_move_resize(gtk_widget_get_window(widget), allocation->x, allocation->y, allocation->width, allocation->height); #ifdef USE_WAYLAND /* Multiple displays can coexist on wayland, so '&disp' isn't used. */ ui_display_move(PVT(terminal)->screen->window.disp, allocation->x, allocation->y); #endif } else { /* * ui_window_resize_with_margin(widget->allocation.width, height) * will be called in vte_terminal_realize() or vte_terminal_fork*(). */ } } #if VTE_CHECK_VERSION(0, 38, 0) static void vte_terminal_screen_changed(GtkWidget *widget, GdkScreen *previous_screen) { GdkScreen *screen; GtkSettings *settings; screen = gtk_widget_get_screen(widget); if (previous_screen != NULL && (screen != previous_screen || screen == NULL)) { settings = gtk_settings_get_for_screen(previous_screen); g_signal_handlers_disconnect_matched(settings, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, widget); } if (GTK_WIDGET_CLASS(vte_terminal_parent_class)->screen_changed) { GTK_WIDGET_CLASS(vte_terminal_parent_class)->screen_changed(widget, previous_screen); } } #endif #if GTK_CHECK_VERSION(2, 90, 0) static gboolean vte_terminal_draw(GtkWidget *widget, cairo_t *cr) { int width = gtk_widget_get_allocated_width(widget); int height = gtk_widget_get_allocated_height(widget); cairo_rectangle(cr, 0, 0, width, height); cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); cairo_fill(cr); return TRUE; } #endif static gboolean vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event) { /* Check if GtkWidget's behavior already does something with this key. */ GTK_WIDGET_CLASS(vte_terminal_parent_class)->key_press_event(widget, event); /* If FALSE is returned, tab operation is unexpectedly started in * gnome-terminal. */ return TRUE; } static void vte_terminal_class_init(VteTerminalClass *vclass) { char *value; bl_conf_t *conf; char *argv[] = {"mlterm", NULL}; GObjectClass *oclass; GtkWidgetClass *wclass; #if defined(__DEBUG) && defined(USE_XLIB) XSetErrorHandler(error_handler); XSynchronize(gdk_x11_display_get_xdisplay(gdk_display_get_default()), True); #endif /* bl_sig_child_init() calls signal(3) internally. */ #if 0 bl_sig_child_init(); #endif bl_priv_change_euid(bl_getuid()); bl_priv_change_egid(bl_getgid()); #if 0 bindtextdomain("vte", LOCALEDIR); bind_textdomain_codeset("vte", "UTF-8"); #endif if (!bl_locale_init("")) { bl_msg_printf("locale settings failed.\n"); } bl_set_sys_conf_dir(CONFIG_PATH); vt_term_manager_init(1); vt_term_manager_enable_zombie_pty(); #ifdef USE_WAYLAND gdk_threads_add_timeout(25, vte_terminal_timeout, NULL); /* 25 miliseconds */ #else #if GTK_CHECK_VERSION(2, 12, 0) gdk_threads_add_timeout(100, vte_terminal_timeout, NULL); /* 100 miliseconds */ #else g_timeout_add(100, vte_terminal_timeout, NULL); /* 100 miliseconds */ #endif #endif vt_color_config_init(); ui_shortcut_init(&shortcut); ui_shortcut_parse(&shortcut, "Button3", "\"none\""); ui_shortcut_parse(&shortcut, "UNUSED", "OPEN_SCREEN"); ui_shortcut_parse(&shortcut, "UNUSED", "OPEN_PTY"); ui_shortcut_parse(&shortcut, "UNUSED", "NEXT_PTY"); ui_shortcut_parse(&shortcut, "UNUSED", "PREV_PTY"); ui_shortcut_parse(&shortcut, "UNUSED", "HSPLIT_SCREEN"); ui_shortcut_parse(&shortcut, "UNUSED", "VSPLIT_SCREEN"); ui_shortcut_parse(&shortcut, "UNUSED", "NEXT_SCREEN"); ui_shortcut_parse(&shortcut, "UNUSED", "CLOSE_SCREEN"); ui_shortcut_parse(&shortcut, "UNUSED", "HEXPAND_SCREEN"); ui_shortcut_parse(&shortcut, "UNUSED", "VEXPAND_SCREEN"); #ifdef USE_XLIB ui_xim_init(1); #endif ui_font_use_point_size(1); bl_init_prog(g_get_prgname(), VERSION); if ((conf = bl_conf_new()) == NULL) { return; } ui_prepare_for_main_config(conf); /* * Same processing as main_loop_init(). * Following options are not possible to specify as arguments of mlclient. * 1) Options which are used only when mlterm starts up and which aren't * changed dynamically. (e.g. "startup_screens") * 2) Options which change status of all ptys or windows. (Including ones * which are possible to change dynamically.) * (e.g. "font_size_range") */ #if 0 bl_conf_add_opt(conf, 'R', "fsrange", 0, "font_size_range", NULL); #endif bl_conf_add_opt(conf, 'Y', "decsp", 1, "compose_dec_special_font", NULL); bl_conf_add_opt(conf, 'c', "cp932", 1, "use_cp932_ucs_for_xft", NULL); #if 0 bl_conf_add_opt(conf, '\0', "maxptys", 0, "max_ptys", NULL); #endif #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) /* USE_WAYLAND */ bl_conf_add_opt(conf, '\0', "aafont", 1, "use_aafont", "use [tv]aafont files with the use of fontconfig [true]"); #endif ui_main_config_init(&main_config, conf, 1, argv); #if 0 if ((value = bl_conf_get_value(conf, "font_size_range"))) { u_int min_font_size; u_int max_font_size; if (get_font_size_range(&min_font_size, &max_font_size, value)) { ui_set_font_size_range(min_font_size, max_font_size); } } #endif /* BACKWARD COMPAT (3.1.7 or before) */ #if 1 { size_t count; /* * Compat with button3_behavior (shortcut_str[3]) is not applied * because button3 is disabled by * ui_shortcut_parse( &shortcut , "Button3" , "\"none\"") above. */ char key0[] = "Control+Button1"; char key1[] = "Control+Button2"; char key2[] = "Control+Button3"; char *keys[] = { key0, key1, key2, }; for (count = 0; count < sizeof(keys) / sizeof(keys[0]); count++) { if (main_config.shortcut_strs[count]) { ui_shortcut_parse(&shortcut, keys[count], main_config.shortcut_strs[count]); } } } #endif if (main_config.type_engine == TYPE_XCORE) { /* * XXX Hack * Default value of type_engine is TYPE_XCORE in normal mlterm, * but default value in libvte compatible library of mlterm is TYPE_XFT. */ char *value; if ((value = bl_conf_get_value(conf, "type_engine")) == NULL || strcmp(value, "xcore") != 0) { /* * cairo is prefered if mlterm works as libvte because gtk+ * usually depends on cairo. */ #if !defined(USE_TYPE_CAIRO) && defined(USE_TYPE_XFT) main_config.type_engine = TYPE_XFT; #else main_config.type_engine = TYPE_CAIRO; #endif } } /* Default value of vte "audible-bell" is TRUE, while "visible-bell" is FALSE. */ main_config.bel_mode = BEL_SOUND; if ((value = bl_conf_get_value(conf, "compose_dec_special_font"))) { if (strcmp(value, "true") == 0) { ui_compose_dec_special_font(); } } #ifdef USE_XLIB if ((value = bl_conf_get_value(conf, "use_cp932_ucs_for_xft")) == NULL || strcmp(value, "true") == 0) { ui_use_cp932_ucs_for_xft(); } #endif #ifdef KEY_REPEAT_BY_MYSELF if ((value = bl_conf_get_value(conf, "kbd_repeat_1"))) { extern int kbd_repeat_1; bl_str_to_int(&kbd_repeat_1, value); } if ((value = bl_conf_get_value(conf, "kbd_repeat_N"))) { extern int kbd_repeat_N; bl_str_to_int(&kbd_repeat_N, value); } #endif #if defined(USE_FREETYPE) && defined(USE_FONTCONFIG) /* USE_WAYLAND */ if (!(value = bl_conf_get_value(conf, "use_aafont")) || strcmp(value, "false") != 0) { ui_use_aafont(); } #endif bl_conf_delete(conf); #ifdef USE_BRLAPI ui_brltty_init(); #endif g_signal_connect(vte_reaper_get(), "child-exited", G_CALLBACK(catch_child_exited), NULL); g_type_class_add_private(vclass, sizeof(VteTerminalPrivate)); memset(&disp, 0, sizeof(ui_display_t)); init_display(&disp, vclass); ui_picture_display_opened(disp.display); oclass = G_OBJECT_CLASS(vclass); wclass = GTK_WIDGET_CLASS(vclass); oclass->finalize = vte_terminal_finalize; oclass->get_property = vte_terminal_get_property; oclass->set_property = vte_terminal_set_property; wclass->realize = vte_terminal_realize; wclass->unrealize = vte_terminal_unrealize; wclass->focus_in_event = vte_terminal_focus_in; wclass->focus_out_event = vte_terminal_focus_out; wclass->size_allocate = vte_terminal_size_allocate; #if GTK_CHECK_VERSION(2, 90, 0) wclass->get_preferred_width = vte_terminal_get_preferred_width; wclass->get_preferred_height = vte_terminal_get_preferred_height; wclass->get_preferred_width_for_height = vte_terminal_get_preferred_width_for_height; wclass->get_preferred_height_for_width = vte_terminal_get_preferred_height_for_width; #if VTE_CHECK_VERSION(0, 38, 0) wclass->screen_changed = vte_terminal_screen_changed; #endif #else wclass->size_request = vte_terminal_size_request; #endif wclass->key_press_event = vte_terminal_key_press; #if GTK_CHECK_VERSION(3, 0, 0) wclass->draw = vte_terminal_draw; #endif #if GTK_CHECK_VERSION(3, 19, 5) gtk_widget_class_set_css_name(wclass, VTE_TERMINAL_CSS_NAME); #endif #if GTK_CHECK_VERSION(2, 90, 0) g_object_class_override_property(oclass, PROP_HADJUSTMENT, "hadjustment"); g_object_class_override_property(oclass, PROP_VADJUSTMENT, "vadjustment"); g_object_class_override_property(oclass, PROP_HSCROLL_POLICY, "hscroll-policy"); g_object_class_override_property(oclass, PROP_VSCROLL_POLICY, "vscroll-policy"); #endif #if !GTK_CHECK_VERSION(2, 90, 0) vclass->eof_signal = #else signals[SIGNAL_EOF] = #endif g_signal_new(I_("eof"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, eof), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->child_exited_signal = #else signals[SIGNAL_CHILD_EXITED] = #endif #if VTE_CHECK_VERSION(0, 38, 0) g_signal_new(I_("child-exited"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, child_exited), NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); #else g_signal_new(I_("child-exited"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, child_exited), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #endif #if !GTK_CHECK_VERSION(2, 90, 0) vclass->window_title_changed_signal = #else signals[SIGNAL_WINDOW_TITLE_CHANGED] = #endif g_signal_new(I_("window-title-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, window_title_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->icon_title_changed_signal = #else signals[SIGNAL_ICON_TITLE_CHANGED] = #endif g_signal_new(I_("icon-title-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, icon_title_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if VTE_CHECK_VERSION(0, 34, 0) signals[SIGNAL_CURRENT_FILE_URI_CHANGED] = g_signal_new(I_("current-file-uri-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[SIGNAL_CURRENT_DIRECTORY_URI_CHANGED] = g_signal_new(I_("current-directory-uri-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #endif #if !GTK_CHECK_VERSION(2, 90, 0) vclass->encoding_changed_signal = #else signals[SIGNAL_ENCODING_CHANGED] = #endif g_signal_new(I_("encoding-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, encoding_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->commit_signal = #else signals[SIGNAL_COMMIT] = #endif g_signal_new(I_("commit"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, commit), NULL, NULL, _vte_marshal_VOID__STRING_UINT, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_UINT); #if !VTE_CHECK_VERSION(0, 38, 0) #if !GTK_CHECK_VERSION(2, 90, 0) vclass->emulation_changed_signal = #endif g_signal_new(I_("emulation-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, emulation_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #endif #if !GTK_CHECK_VERSION(2, 90, 0) vclass->char_size_changed_signal = #else signals[SIGNAL_CHAR_SIZE_CHANGED] = #endif g_signal_new(I_("char-size-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, char_size_changed), NULL, NULL, _vte_marshal_VOID__UINT_UINT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->selection_changed_signal = #else signals[SIGNAL_SELECTION_CHANGED] = #endif g_signal_new(I_("selection-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, selection_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->contents_changed_signal = #else signals[SIGNAL_CONTENTS_CHANGED] = #endif g_signal_new(I_("contents-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, contents_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->cursor_moved_signal = #else signals[SIGNAL_CURSOR_MOVED] = #endif g_signal_new(I_("cursor-moved"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, cursor_moved), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->deiconify_window_signal = #else signals[SIGNAL_DEICONIFY_WINDOW] = #endif g_signal_new(I_("deiconify-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, deiconify_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->iconify_window_signal = #else signals[SIGNAL_ICONIFY_WINDOW] = #endif g_signal_new(I_("iconify-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, iconify_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->raise_window_signal = #else signals[SIGNAL_RAISE_WINDOW] = #endif g_signal_new(I_("raise-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, raise_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->lower_window_signal = #else signals[SIGNAL_LOWER_WINDOW] = #endif g_signal_new(I_("lower-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, lower_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->refresh_window_signal = #else signals[SIGNAL_REFRESH_WINDOW] = #endif g_signal_new(I_("refresh-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, refresh_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->restore_window_signal = #else signals[SIGNAL_RESTORE_WINDOW] = #endif g_signal_new(I_("restore-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, restore_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->maximize_window_signal = #else signals[SIGNAL_MAXIMIZE_WINDOW] = #endif g_signal_new(I_("maximize-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, maximize_window), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->resize_window_signal = #else signals[SIGNAL_RESIZE_WINDOW] = #endif g_signal_new(I_("resize-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, resize_window), NULL, NULL, _vte_marshal_VOID__UINT_UINT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->move_window_signal = #else signals[SIGNAL_MOVE_WINDOW] = #endif g_signal_new(I_("move-window"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, move_window), NULL, NULL, _vte_marshal_VOID__UINT_UINT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); #if !VTE_CHECK_VERSION(0, 38, 0) #if !GTK_CHECK_VERSION(2, 90, 0) vclass->status_line_changed_signal = #endif g_signal_new(I_("status-line-changed"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, status_line_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #endif #if !GTK_CHECK_VERSION(2, 90, 0) vclass->increase_font_size_signal = #else signals[SIGNAL_INCREASE_FONT_SIZE] = #endif g_signal_new(I_("increase-font-size"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, increase_font_size), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->decrease_font_size_signal = #else signals[SIGNAL_DECREASE_FONT_SIZE] = #endif g_signal_new(I_("decrease-font-size"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, decrease_font_size), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->text_modified_signal = #else signals[SIGNAL_TEXT_MODIFIED] = #endif g_signal_new(I_("text-modified"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, text_modified), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->text_inserted_signal = #else signals[SIGNAL_TEXT_INSERTED] = #endif g_signal_new(I_("text-inserted"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, text_inserted), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->text_deleted_signal = #else signals[SIGNAL_TEXT_DELETED] = #endif g_signal_new(I_("text-deleted"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, text_deleted), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #if !GTK_CHECK_VERSION(2, 90, 0) vclass->text_scrolled_signal = #else signals[SIGNAL_TEXT_SCROLLED] = #endif g_signal_new(I_("text-scrolled"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, text_scrolled), NULL, NULL, g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT); #if VTE_CHECK_VERSION(0, 19, 0) signals[SIGNAL_COPY_CLIPBOARD] = g_signal_new(I_("copy-clipboard"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(VteTerminalClass, copy_clipboard), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); signals[SIGNAL_PASTE_CLIPBOARD] = g_signal_new(I_("paste-clipboard"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET(VteTerminalClass, paste_clipboard), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #endif #if VTE_CHECK_VERSION(0, 44, 0) signals[SIGNAL_BELL] = g_signal_new(I_("bell"), G_OBJECT_CLASS_TYPE(vclass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(VteTerminalClass, bell), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); #endif #if VTE_CHECK_VERSION(0, 20, 0) g_object_class_install_property( oclass, PROP_WINDOW_TITLE, g_param_spec_string("window-title", NULL, NULL, NULL, G_PARAM_READABLE | STATIC_PARAMS)); g_object_class_install_property( oclass, PROP_ICON_TITLE, g_param_spec_string("icon-title", NULL, NULL, NULL, G_PARAM_READABLE | STATIC_PARAMS)); #endif #if VTE_CHECK_VERSION(0, 23, 2) /* * doc/references/html/VteTerminal.html describes that inner-border property * is since 0.24.0, but actually it is added at Nov 30 2009 (between 0.23.1 and * 0.23.2) * in ChangeLog. */ #if !VTE_CHECK_VERSION(0, 38, 0) gtk_widget_class_install_style_property( wclass, g_param_spec_boxed("inner-border", NULL, NULL, GTK_TYPE_BORDER, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); #endif #if GTK_CHECK_VERSION(2, 90, 0) vclass->priv = G_TYPE_CLASS_GET_PRIVATE(vclass, VTE_TYPE_TERMINAL, VteTerminalClassPrivate); vclass->priv->style_provider = GTK_STYLE_PROVIDER(gtk_css_provider_new()); #if !VTE_CHECK_VERSION(0, 38, 0) gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(vclass->priv->style_provider) , "VteTerminal {\n" "-VteTerminal-inner-border: " BL_INT_TO_STR(WINDOW_MARGIN) ";\n" "}\n", -1, NULL) ; #else gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(vclass->priv->style_provider) , "VteTerminal, " VTE_TERMINAL_CSS_NAME " {\n" "padding: 1px 1px 1px 1px;\n" "background-color: @theme_base_color;\n" "color: @theme_fg_color;\n" "}\n", -1 , NULL) ; #endif #else /* VTE_CHECK_VERSION(0,23,2) */ gtk_rc_parse_string("style \"vte-default-style\" {\n" "VteTerminal::inner-border = { " BL_INT_TO_STR(WINDOW_MARGIN) " , " BL_INT_TO_STR(WINDOW_MARGIN) " , " BL_INT_TO_STR(WINDOW_MARGIN) " , " BL_INT_TO_STR(WINDOW_MARGIN) " }\n" "}\n" "class \"VteTerminal\" style : gtk \"vte-default-style\"\n") ; #endif #endif /* VTE_CHECK_VERSION(0,23,2) */ } static void vte_terminal_init(VteTerminal *terminal) { static int init_inherit_ptys; ef_charset_t usascii_font_cs; gdouble dpi; GTK_WIDGET_SET_CAN_FOCUS(GTK_WIDGET(terminal)); #if VTE_CHECK_VERSION(0, 38, 0) gtk_widget_set_app_paintable(GTK_WIDGET(terminal), TRUE); gtk_widget_set_redraw_on_allocate(GTK_WIDGET(terminal), FALSE); #endif #if VTE_CHECK_VERSION(0, 40, 0) terminal->_unused_padding[0] = G_TYPE_INSTANCE_GET_PRIVATE(terminal, VTE_TYPE_TERMINAL, VteTerminalPrivate); #else terminal->pvt = G_TYPE_INSTANCE_GET_PRIVATE(terminal, VTE_TYPE_TERMINAL, VteTerminalPrivate); #endif #if GTK_CHECK_VERSION(2, 18, 0) gtk_widget_set_has_window(GTK_WIDGET(terminal), TRUE); #endif /* We do our own redrawing. */ gtk_widget_set_redraw_on_allocate(GTK_WIDGET(terminal), FALSE); ADJUSTMENT(terminal) = NULL; set_adjustment(terminal, GTK_ADJUSTMENT(gtk_adjustment_new(0, 0, main_config.rows, 1, main_config.rows, main_config.rows))); #ifdef USE_XLIB g_signal_connect(terminal, "hierarchy-changed", G_CALLBACK(vte_terminal_hierarchy_changed), NULL); #endif #if GTK_CHECK_VERSION(2, 90, 0) gtk_style_context_add_provider(gtk_widget_get_style_context(GTK_WIDGET(terminal)), VTE_TERMINAL_GET_CLASS(terminal)->priv->style_provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); #endif PVT(terminal)->term = vt_create_term(main_config.term_type, main_config.cols, main_config.rows, main_config.tab_size, main_config.num_log_lines, main_config.encoding, main_config.is_auto_encoding, main_config.use_auto_detect, main_config.logging_vt_seq, main_config.unicode_policy, main_config.col_size_of_width_a, main_config.use_char_combining, main_config.use_multi_col_char, main_config.use_ctl, main_config.bidi_mode, main_config.bidi_separators, main_config.use_dynamic_comb, main_config.bs_mode, /* main_config.vertical_mode */ 0, main_config.use_local_echo, main_config.title, main_config.icon_name, main_config.use_ansi_colors, main_config.alt_color_mode, main_config.use_ot_layout, main_config.blink_cursor ? CS_BLINK|CS_BLOCK : CS_BLOCK, main_config.ignore_broadcasted_chars); if (!init_inherit_ptys) { u_int num; vt_term_t **terms; u_int count; num = vt_get_all_terms(&terms); for (count = 0; count < num; count++) { if (terms[count] != PVT(terminal)->term) { vte_reaper_add_child(vt_term_get_child_pid(terms[count])); } } init_inherit_ptys = 1; } if (main_config.unlimit_log_size) { vt_term_unlimit_log_size(PVT(terminal)->term); } #if VTE_CHECK_VERSION(0, 26, 0) PVT(terminal)->pty = NULL; #endif if (main_config.unicode_policy & NOT_USE_UNICODE_FONT || main_config.iso88591_font_for_usascii) { usascii_font_cs = ui_get_usascii_font_cs(VT_ISO8859_1); } else if (main_config.unicode_policy & ONLY_USE_UNICODE_FONT) { usascii_font_cs = ui_get_usascii_font_cs(VT_UTF8); } else { usascii_font_cs = ui_get_usascii_font_cs(vt_term_get_encoding(PVT(terminal)->term)); } /* related to ui_font_use_point_size(1) in vte_terminal_class_init. */ if ((dpi = gdk_screen_get_resolution(gtk_widget_get_screen(GTK_WIDGET(terminal)))) != -1) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Setting dpi %f\n", dpi); #endif ui_font_set_dpi_for_fc(dpi); } init_screen(terminal, ui_font_manager_new( disp.display, main_config.type_engine, main_config.font_present, main_config.font_size, usascii_font_cs, main_config.step_in_changing_font_size, main_config.letter_space, main_config.use_bold_font, main_config.use_italic_font), ui_color_manager_new(&disp, main_config.fg_color, main_config.bg_color, main_config.cursor_fg_color, main_config.cursor_bg_color, main_config.bd_color, main_config.it_color, main_config.ul_color, main_config.bl_color, main_config.co_color)); PVT(terminal)->io = NULL; PVT(terminal)->src_id = 0; PVT(terminal)->image = NULL; PVT(terminal)->pixmap = None; PVT(terminal)->pix_width = 0; PVT(terminal)->pix_height = 0; PVT(terminal)->pic_mod = NULL; #if GLIB_CHECK_VERSION(2, 14, 0) PVT(terminal)->gregex = NULL; #if VTE_CHECK_VERSION(0, 46, 0) PVT(terminal)->vregex = NULL; #endif #endif WINDOW_TITLE(terminal) = vt_term_window_name(PVT(terminal)->term); ICON_TITLE(terminal) = vt_term_icon_name(PVT(terminal)->term); #if !GTK_CHECK_VERSION(2, 90, 0) /* XXX */ if (strstr(g_get_prgname(), "roxterm") || /* * Hack for roxterm started by "x-terminal-emulator" or * "exo-open --launch TerminalEmulator" (which calls * "x-terminal-emulator" internally) */ g_object_get_data(gtk_widget_get_parent(GTK_WIDGET(terminal)), "roxterm_tab")) { /* * XXX * I don't know why, but gtk_widget_ensure_style() doesn't apply * "inner-border" * and min width/height of roxterm are not correctly set. */ gtk_widget_set_rc_style(&terminal->widget); } else #endif { /* * gnome-terminal(2.32.1) fails to set "inner-border" and * min width/height without this. */ gtk_widget_ensure_style(&terminal->widget); } reset_vte_size_member(terminal); } static int vt_term_open_pty_wrap(VteTerminal *terminal, const char *cmd_path, char **argv, char **envv, const char *work_dir, const char *pass, const char *pubkey, const char *privkey) { const char *host; char **env_p; u_int num; host = gdk_display_get_name(gtk_widget_get_display(GTK_WIDGET(terminal))); if (argv) { char **argv_p; num = 0; argv_p = argv; while (*(argv_p++)) { num++; } if (num > 0 && !strstr(cmd_path, argv[0]) && (argv_p = alloca(sizeof(char *) * (num + 2)))) { memcpy(argv_p + 1, argv, sizeof(char *) * (num + 1)); argv_p[0] = cmd_path; argv = argv_p; #if 0 for (argv_p = argv; *argv_p; argv_p++) { bl_debug_printf("%s\n", *argv_p); } #endif } } num = 0; if (envv) { env_p = envv; while (*(env_p++)) { num++; } } /* 7 => MLTERM,TERM,WINDOWID,WAYLAND_DISPLAY,DISPLAY,COLORFGBG,NULL */ if ((env_p = alloca(sizeof(char *) * (num + 7)))) { if (num > 0) { envv = memcpy(env_p, envv, sizeof(char *) * num); env_p += num; } else { envv = env_p; } *(env_p++) = "MLTERM=" VERSION; #ifdef USE_XLIB /* "WINDOWID="(9) + [32bit digit] + NULL(1) */ if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal)) && (*env_p = alloca(9 + DIGIT_STR_LEN(Window) + 1))) { sprintf(*(env_p++), "WINDOWID=%ld", #if 1 gdk_x11_drawable_get_xid(gtk_widget_get_window(GTK_WIDGET(terminal))) #else PVT(terminal)->screen->window.my_window #endif ); } #endif #ifdef USE_WAYLAND /* "WAYLAND_DISPLAY="(16) + NULL(1) */ if (host && (*env_p = alloca(16 + strlen(host) + 1))) { sprintf(*(env_p++), "WAYLAND_DISPLAY=%s", host); } *(env_p++) = "DISPLAY=:0.0"; #else /* "DISPLAY="(8) + NULL(1) */ if ((*env_p = alloca(8 + strlen(host) + 1))) { sprintf(*(env_p++), "DISPLAY=%s", host); } #endif /* "TERM="(5) + NULL(1) */ if ((*env_p = alloca(5 + strlen(main_config.term_type) + 1))) { sprintf(*(env_p++), "TERM=%s", main_config.term_type); } *(env_p++) = "COLORFGBG=default;default"; /* NULL terminator */ *env_p = NULL; } #if 0 env_p = envv; while (*env_p) { bl_debug_printf("%s\n", *(env_p++)); } #endif if (vt_term_open_pty(PVT(terminal)->term, cmd_path, argv, envv, host, work_dir, pass, pubkey, privkey, PVT(terminal)->screen->window.width, PVT(terminal)->screen->window.height)) { return 1; } else { return 0; } } static void set_alpha(VteTerminal *terminal, u_int8_t alpha) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ALPHA => %d\n", alpha); #endif if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { char value[DIGIT_STR_LEN(u_int8_t) + 1]; sprintf(value, "%d", (int)alpha); ui_screen_set_config(PVT(terminal)->screen, NULL, "alpha", value); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); update_wall_picture(terminal); } else { PVT(terminal)->screen->pic_mod.alpha = alpha; ui_change_true_transbg_alpha(PVT(terminal)->screen->color_man, alpha); } } static void set_color_bold(VteTerminal *terminal, const void *bold, gchar *(*to_string)(const void *)) { gchar *str; if (!bold) { str = strdup(""); } else { /* #rrrrggggbbbb */ str = (*to_string)(bold); } #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set_color_bold %s\n", str); #endif if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "bd_color", str); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); } else { if (ui_color_manager_set_alt_color(PVT(terminal)->screen->color_man, VT_BOLD_COLOR, *str ? str : NULL)) { vt_term_set_alt_color_mode(PVT(terminal)->term, *str ? (vt_term_get_alt_color_mode(PVT(terminal)->term) | 1) : (vt_term_get_alt_color_mode(PVT(terminal)->term) & ~1)); } } g_free(str); } static void set_color_foreground(VteTerminal *terminal, const void *foreground, gchar *(*to_string)(const void *)) { gchar *str; if (!foreground) { return; } /* #rrrrggggbbbb */ str = (*to_string)(foreground); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set_color_foreground %s\n", str); #endif if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "fg_color", str); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); } else { ui_color_manager_set_fg_color(PVT(terminal)->screen->color_man, str); } g_free(str); } static void set_color_background(VteTerminal *terminal, const void *background, gchar *(*to_string)(const void *)) { gchar *str; if (!background) { return; } /* #rrrrggggbbbb */ str = (*to_string)(background); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set_color_background %s\n", str); #endif if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "bg_color", str); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); if (PVT(terminal)->image && PVT(terminal)->screen->pic_mod.alpha < 255) { update_wall_picture(terminal); } } else { ui_color_manager_set_bg_color(PVT(terminal)->screen->color_man, str); } g_free(str); } static void set_color_cursor(VteTerminal *terminal, const void *cursor_background, gchar *(*to_string)(const void *)) { gchar *str; if (!cursor_background) { return; } /* #rrrrggggbbbb */ str = (*to_string)(cursor_background); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set_color_cursor %s\n", str); #endif if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "cursor_bg_color", str); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); } else { ui_color_manager_set_cursor_bg_color(PVT(terminal)->screen->color_man, str); } g_free(str); } static int set_colors(VteTerminal *terminal, const char *palette, glong palette_size, size_t color_size, gchar *(*to_string)(const char *)) { int need_redraw = 0; vt_color_t color; if (palette_size != 0 && palette_size != 8 && palette_size != 16 && (palette_size < 24 || 256 < palette_size)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " palette_size %d is illegal\n", palette_size); #endif return 0; } if (palette_size >= 8) { for (color = 0; color < palette_size; color++) { gchar *rgb; char *name; rgb = (*to_string)(palette); name = vt_get_color_name(color); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Setting rgb %s=%s\n", name, rgb); #endif need_redraw |= vt_customize_color_file(name, rgb, 0); g_free(rgb); palette += color_size; } } else { for (color = 0; color < 256; color++) { char *name = vt_get_color_name(color); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Erase rgb of %s\n", name); #endif need_redraw |= vt_customize_color_file(name, "", 0); } } if (need_redraw && GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_color_cache_unload_all(); ui_screen_reset_view(PVT(terminal)->screen); } return 1; } /* --- global functions --- */ GtkWidget *vte_terminal_new() { return g_object_new(VTE_TYPE_TERMINAL, NULL); } /* * vte_terminal_spawn_sync, vte_terminal_fork_command or vte_terminal_forkpty * functions * are possible to call before VteTerminal widget is realized. */ pid_t vte_terminal_fork_command(VteTerminal *terminal, const char *command, /* If NULL, open default shell. */ char **argv, /* If NULL, open default shell. */ char **envv, const char *directory, gboolean lastlog, gboolean utmp, gboolean wtmp) { /* * If pty is inherited from dead parent, PVT(terminal)->term->pty is non-NULL * but create_io() and vte_reaper_add_child() aren't executed. * So PVT(terminal)->io is used to check if pty is completely set up. */ if (!PVT(terminal)->io) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " forking with %s\n", command); #endif if (!command) { if (!(command = getenv("SHELL")) || *command == '\0') { struct passwd *pw; if ((pw = getpwuid(getuid())) == NULL || *(command = pw->pw_shell) == '\0') { command = "/bin/sh"; } } } if (!argv || !argv[0]) { argv = alloca(sizeof(char *) * 2); argv[0] = command; argv[1] = NULL; } bl_pty_helper_set_flag(lastlog, utmp, wtmp); if (!vt_term_open_pty_wrap(terminal, command, argv, envv, directory, NULL, NULL, NULL)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " fork failed\n"); #endif return -1; } create_io(terminal); vte_reaper_add_child(vt_term_get_child_pid(PVT(terminal)->term)); if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { GtkAllocation allocation; gtk_widget_get_allocation(GTK_WIDGET(terminal), &allocation); if (!is_initial_allocation(&allocation) && ui_window_resize_with_margin(&PVT(terminal)->screen->window, allocation.width, allocation.height, NOTIFY_TO_MYSELF)) { reset_vte_size_member(terminal); update_wall_picture(terminal); } } /* * In order to receive pty_closed() event even if vte_terminal_realize() * isn't called. */ vt_pty_set_listener(PVT(terminal)->term->pty, &PVT(terminal)->screen->pty_listener); } return vt_term_get_child_pid(PVT(terminal)->term); } #if VTE_CHECK_VERSION(0, 26, 0) gboolean #if VTE_CHECK_VERSION(0, 38, 0) vte_terminal_spawn_sync(VteTerminal *terminal, VtePtyFlags pty_flags, const char *working_directory, char **argv, char **envv, GSpawnFlags spawn_flags, GSpawnChildSetupFunc child_setup, gpointer child_setup_data, GPid *child_pid /* out */, GCancellable *cancellable, GError **error) #else vte_terminal_fork_command_full(VteTerminal *terminal, VtePtyFlags pty_flags, const char *working_directory, char **argv, char **envv, GSpawnFlags spawn_flags, GSpawnChildSetupFunc child_setup, gpointer child_setup_data, GPid *child_pid /* out */, GError **error) #endif { GPid pid; pid = vte_terminal_fork_command(terminal, argv[0], argv + 1, envv, working_directory, (pty_flags & VTE_PTY_NO_LASTLOG) ? FALSE : TRUE, (pty_flags & VTE_PTY_NO_UTMP) ? FALSE : TRUE, (pty_flags & VTE_PTY_NO_WTMP) ? FALSE : TRUE); if (child_pid) { *child_pid = pid; } if (error) { *error = NULL; } if (pid > 0) { return TRUE; } else { return FALSE; } } #endif #if VTE_CHECK_VERSION(0, 48, 0) void vte_terminal_spawn_async(VteTerminal *terminal, VtePtyFlags pty_flags, const char *working_directory, char **argv, char **envv, GSpawnFlags spawn_flags, GSpawnChildSetupFunc child_setup, gpointer child_setup_data, GDestroyNotify child_setup_data_destroy, int timeout, GCancellable *cancellable, VteTerminalSpawnAsyncCallback callback, gpointer user_data) { GPid child_pid; GError *error; vte_terminal_spawn_sync(terminal, pty_flags, working_directory, argv, envv, spawn_flags, child_setup, child_setup_data, &child_pid, cancellable, &error); if (callback) { (*callback)(terminal, child_pid, NULL, user_data); } } #endif pid_t vte_terminal_forkpty(VteTerminal *terminal, char **envv, const char *directory, gboolean lastlog, gboolean utmp, gboolean wtmp) { /* * If pty is inherited from dead parent, PVT(terminal)->term->pty is non-NULL * but create_io() and vte_reaper_add_child() aren't executed. * So PVT(terminal)->io is used to check if pty is completely set up. */ if (!PVT(terminal)->io) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " forking pty\n"); #endif bl_pty_helper_set_flag(lastlog, utmp, wtmp); if (!vt_term_open_pty_wrap(terminal, NULL, NULL, envv, directory, NULL, NULL, NULL)) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " fork failed\n"); #endif return -1; } if (vt_term_get_child_pid(PVT(terminal)->term) == 0) { /* Child process */ return 0; } create_io(terminal); vte_reaper_add_child(vt_term_get_child_pid(PVT(terminal)->term)); if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { GtkAllocation allocation; gtk_widget_get_allocation(GTK_WIDGET(terminal), &allocation); if (!is_initial_allocation(&allocation) && ui_window_resize_with_margin(&PVT(terminal)->screen->window, allocation.width, allocation.height, NOTIFY_TO_MYSELF)) { reset_vte_size_member(terminal); update_wall_picture(terminal); } } /* * In order to receive pty_closed() event even if vte_terminal_realize() * isn't called. */ vt_pty_set_listener(PVT(terminal)->term->pty, &PVT(terminal)->screen->pty_listener); } return vt_term_get_child_pid(PVT(terminal)->term); } void vte_terminal_feed(VteTerminal *terminal, const char *data, #if VTE_CHECK_VERSION(0, 38, 0) gssize length #else glong length #endif ) { vt_term_write_loopback(PVT(terminal)->term, data, length == -1 ? strlen(data) : length); } void vte_terminal_feed_child(VteTerminal *terminal, const char *text, #if VTE_CHECK_VERSION(0, 38, 0) gssize length #else glong length #endif ) { vt_term_write(PVT(terminal)->term, text, length == -1 ? strlen(text) : length); } void vte_terminal_feed_child_binary(VteTerminal *terminal, #if VTE_CHECK_VERSION(0, 38, 0) const guint8 *data, gsize length #else const char *data, glong length #endif ) { vt_term_write(PVT(terminal)->term, data, length); } void vte_terminal_copy_clipboard(VteTerminal *terminal) { GtkClipboard *clipboard; ef_conv_t *conv; ef_parser_t *parser; u_char *buf; size_t len; if (!vte_terminal_get_has_selection(terminal) || !(conv = ui_get_selection_conv(1)) /* utf8 */ || !(parser = vt_str_parser_new())) { return; } len = PVT(terminal)->screen->sel.sel_len * VTCHAR_UTF_MAX_SIZE; /* * Don't use alloca() here because len can be too big value. * (VTCHAR_UTF_MAX_SIZE defined in vt_char.h is 48 byte.) */ if ((buf = malloc(len))) { (*parser->init)(parser); vt_str_parser_set_str(parser, PVT(terminal)->screen->sel.sel_str, PVT(terminal)->screen->sel.sel_len); (*conv->init)(conv); len = (*conv->convert)(conv, buf, len, parser); if (len > 0 && (clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD))) { #ifdef USE_WAYLAND extern gint64 deadline_ignoring_source_cancelled_event; deadline_ignoring_source_cancelled_event = g_get_monotonic_time() + 1000000; /* microsecond */ #endif gtk_clipboard_set_text(clipboard, buf, len); gtk_clipboard_store(clipboard); #if GTK_CHECK_VERSION(2, 6, 0) /* * XXX gnome-terminal 3.24.2 doesn't make "EditPaste" menuitem sensitive after * clicking "EditCopy" menu item without invoking "owner-change" event explicitly. */ g_signal_emit_by_name(clipboard, "owner-change"); #endif } free(buf); } (*parser->delete)(parser); } void vte_terminal_paste_clipboard(VteTerminal *terminal) { if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_exec_cmd(PVT(terminal)->screen, "paste"); } } void vte_terminal_copy_primary(VteTerminal *terminal) {} void vte_terminal_paste_primary(VteTerminal *terminal) { vte_terminal_paste_clipboard(terminal); } void vte_terminal_select_all(VteTerminal *terminal) { int beg_row; int end_row; vt_line_t *line; if (!GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { return; } beg_row = -vt_term_get_num_logged_lines(PVT(terminal)->term); for (end_row = vt_term_get_rows(PVT(terminal)->term) - 1; end_row >= 0; end_row--) { if ((line = vt_term_get_line(PVT(terminal)->term, end_row)) && !vt_line_is_empty(line)) { break; } } selection(&PVT(terminal)->screen->sel, 0, beg_row, line->num_filled_chars - 1, end_row); ui_window_update(&PVT(terminal)->screen->window, 1 /* UPDATE_SCREEN */); } void #if VTE_CHECK_VERSION(0, 38, 0) vte_terminal_select_none( #else vte_terminal_unselect_all( #endif VteTerminal * terminal ) { if (!GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { return; } ui_sel_clear(&PVT(terminal)->screen->sel); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); } void vte_terminal_set_size(VteTerminal *terminal, glong columns, glong rows) { ui_screen_t *screen = PVT(terminal)->screen; vt_term_t *term = PVT(terminal)->term; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set cols %d rows %d\n", columns, rows); #endif vt_term_resize(term, columns, rows, /* * Vertical writing mode and screen_(width|height)_ratio option * aren't supported. * See reset_vte_size_member(). */ CHAR_WIDTH(terminal) * columns, CHAR_HEIGHT(terminal) * rows); reset_vte_size_member(terminal); /* gnome-terminal(2.29.6 or later ?) is not resized correctly without this. */ if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { #ifdef USE_WAYLAND /* * Screen may be redrawn before gtk_widget_queue_resize_no_redraw() results in resizing. * This causes illegal memory access without this ui_window_resize_with_margin() * on wayland. */ gint width; gint height; vte_terminal_get_preferred_width(GTK_WIDGET(terminal), NULL, &width); vte_terminal_get_preferred_height(GTK_WIDGET(terminal), NULL, &height); ui_window_resize_with_margin(&screen->window, width, height, 0); #endif gtk_widget_queue_resize_no_redraw(GTK_WIDGET(terminal)); } else { screen->window.width = CHAR_WIDTH(terminal) * columns; screen->window.height = CHAR_HEIGHT(terminal) * rows; } } #if VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_font_scale(VteTerminal *terminal, gdouble scale) {} gdouble vte_terminal_get_font_scale(VteTerminal *terminal) { return 14; } #endif void vte_terminal_set_audible_bell(VteTerminal *terminal, gboolean is_audible) { ui_screen_set_config( PVT(terminal)->screen, NULL, "bel_mode", ui_get_bel_mode_name(is_audible ? (BEL_SOUND | PVT(terminal)->screen->bel_mode) : (~BEL_SOUND & PVT(terminal)->screen->bel_mode))); } gboolean vte_terminal_get_audible_bell(VteTerminal *terminal) { if (PVT(terminal)->screen->bel_mode & BEL_SOUND) { return TRUE; } else { return FALSE; } } #if !VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_visible_bell(VteTerminal *terminal, gboolean is_visible) { ui_screen_set_config( PVT(terminal)->screen, NULL, "bel_mode", ui_get_bel_mode_name(is_visible ? (BEL_VISUAL | PVT(terminal)->screen->bel_mode) : (~BEL_VISUAL & PVT(terminal)->screen->bel_mode))); } gboolean vte_terminal_get_visible_bell(VteTerminal *terminal) { if (PVT(terminal)->screen->bel_mode & BEL_VISUAL) { return TRUE; } else { return FALSE; } } #endif void vte_terminal_set_scroll_background(VteTerminal *terminal, gboolean scroll) {} void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll) { ui_exit_backscroll_by_pty(scroll); } void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal, gboolean scroll) {} #if VTE_CHECK_VERSION(0, 36, 0) void vte_terminal_set_rewrap_on_resize(VteTerminal *terminal, gboolean rewrap) {} gboolean vte_terminal_get_rewrap_on_resize(VteTerminal *terminal) { return TRUE; } #endif #if !VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_color_dim(VteTerminal *terminal, const GdkColor *dim) {} void vte_terminal_set_color_bold(VteTerminal *terminal, const GdkColor *bold) { set_color_bold(terminal, bold, gdk_color_to_string); } void vte_terminal_set_color_foreground(VteTerminal *terminal, const GdkColor *foreground) { set_color_foreground(terminal, foreground, gdk_color_to_string); } void vte_terminal_set_color_background(VteTerminal *terminal, const GdkColor *background) { set_color_background(terminal, background, gdk_color_to_string); } void vte_terminal_set_color_cursor(VteTerminal *terminal, const GdkColor *cursor_background) { set_color_cursor(terminal, cursor_background, gdk_color_to_string); } void vte_terminal_set_color_highlight(VteTerminal *terminal, const GdkColor *highlight_background) { } #if VTE_CHECK_VERSION(0, 36, 0) void vte_terminal_set_color_highlight_foreground(VteTerminal *terminal, const GdkColor *highlight_foreground) {} #endif void vte_terminal_set_colors(VteTerminal *terminal, const GdkColor *foreground, const GdkColor *background, const GdkColor *palette, glong palette_size) { if (set_colors(terminal, palette, palette_size, sizeof(GdkColor), gdk_color_to_string) && palette_size > 0) { if (foreground == NULL) { foreground = &palette[7]; } if (background == NULL) { background = &palette[0]; } vte_terminal_set_color_foreground(terminal, foreground); vte_terminal_set_color_background(terminal, background); } } #if GTK_CHECK_VERSION(2, 99, 0) void vte_terminal_set_color_dim_rgba(VteTerminal *terminal, const GdkRGBA *dim) {} #endif #else /* VTE_CHECK_VERSION(0,38,0) */ #define vte_terminal_set_color_bold_rgba vte_terminal_set_color_bold #define vte_terminal_set_color_foreground_rgba vte_terminal_set_color_foreground #define vte_terminal_set_color_background_rgba vte_terminal_set_color_background #define vte_terminal_set_color_cursor_rgba vte_terminal_set_color_cursor #define vte_terminal_set_color_highlight_rgba vte_terminal_set_color_highlight #define vte_terminal_set_color_highlight_foreground_rgba vte_terminal_set_color_highlight_foreground #define vte_terminal_set_colors_rgba vte_terminal_set_colors #endif /* VTE_CHECK_VERSION(0,38,0) */ #if GTK_CHECK_VERSION(2, 99, 0) void vte_terminal_set_color_bold_rgba(VteTerminal *terminal, const GdkRGBA *bold) { set_color_bold(terminal, bold, gdk_rgba_to_string2); } void vte_terminal_set_color_foreground_rgba(VteTerminal *terminal, const GdkRGBA *foreground) { set_color_foreground(terminal, foreground, gdk_rgba_to_string2); } void vte_terminal_set_color_background_rgba(VteTerminal *terminal, const GdkRGBA *background) { set_color_background(terminal, background, gdk_rgba_to_string2); } void vte_terminal_set_color_cursor_rgba(VteTerminal *terminal, const GdkRGBA *cursor_background) { set_color_cursor(terminal, cursor_background, gdk_rgba_to_string2); } #if VTE_CHECK_VERSION(0, 44, 0) void vte_terminal_set_color_cursor_foreground(VteTerminal *terminal, const GdkRGBA *cursor_foreground) { gchar *str; if (!cursor_foreground) { return; } /* #rrrrggggbbbb */ str = gdk_rgba_to_string2(cursor_foreground); if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "cursor_fg_color", str); ui_window_update(&PVT(terminal)->screen->window, 3 /* UPDATE_SCREEN|UPDATE_CURSOR */); } else { ui_color_manager_set_cursor_bg_color(PVT(terminal)->screen->color_man, str); } g_free(str); } #endif void vte_terminal_set_color_highlight_rgba(VteTerminal *terminal, const GdkRGBA *highlight_background) {} #if VTE_CHECK_VERSION(0, 36, 0) void vte_terminal_set_color_highlight_foreground_rgba(VteTerminal *terminal, const GdkRGBA *highlight_foreground) {} #endif void vte_terminal_set_colors_rgba(VteTerminal *terminal, const GdkRGBA *foreground, const GdkRGBA *background, const GdkRGBA *palette, gsize palette_size) { if (set_colors(terminal, palette, palette_size, sizeof(GdkRGBA), gdk_rgba_to_string2) && palette_size > 0) { if (foreground == NULL) { foreground = &palette[7]; } if (background == NULL) { background = &palette[0]; } vte_terminal_set_color_foreground_rgba(terminal, foreground); vte_terminal_set_color_background_rgba(terminal, background); } } #endif /* GTK_CHECK_VERSION(2,99,0) */ void vte_terminal_set_default_colors(VteTerminal *terminal) { set_colors(terminal, NULL, 0, 0, NULL); } void vte_terminal_set_background_image( VteTerminal *terminal, GdkPixbuf *image /* can be NULL and same as current PVT(terminal)->image */ ) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Setting image %p\n", image); #endif if (PVT(terminal)->image) { if (PVT(terminal)->image == image) { return; } g_object_unref(PVT(terminal)->image); } if ((PVT(terminal)->image = image) == NULL) { vte_terminal_set_background_image_file(terminal, ""); return; } g_object_ref(image); if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { update_wall_picture(terminal); } } void vte_terminal_set_background_image_file(VteTerminal *terminal, const char *path) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Setting image file %s\n", path); #endif /* * Don't unref PVT(terminal)->image if path is * "pixmap:" (Ex. the case of * vte_terminal_set_background_image_file() * being called from update_wall_picture().) */ if (PVT(terminal)->image && strncmp(path, "pixmap:", 7) != 0) { g_object_unref(PVT(terminal)->image); PVT(terminal)->image = NULL; } if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "wall_picture", path); } else { free(PVT(terminal)->screen->pic_file_path); PVT(terminal)->screen->pic_file_path = (*path == '\0') ? NULL : strdup(path); } } void vte_terminal_set_background_tint_color(VteTerminal *terminal, const GdkColor *color) {} void vte_terminal_set_background_saturation(VteTerminal *terminal, double saturation) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " SATURATION => %f\n", saturation); #endif if (PVT(terminal)->screen->pic_file_path || PVT(terminal)->screen->window.is_transparent) { set_alpha(terminal, 255 * (1.0 - saturation)); } } void vte_terminal_set_background_transparent(VteTerminal *terminal, gboolean transparent) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " Pseudo transparent %s.\n", transparent ? "on" : "off"); #endif if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { char *value; if (transparent) { value = "true"; } else { value = "false"; } ui_screen_set_config(PVT(terminal)->screen, NULL, "use_transbg", value); } else if (transparent) { ui_window_set_transparent(&PVT(terminal)->screen->window, ui_screen_get_picture_modifier(PVT(terminal)->screen)); } } void vte_terminal_set_opacity(VteTerminal *terminal, guint16 opacity) { u_int8_t alpha; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " OPACITY => %x\n", opacity); #endif alpha = ((opacity >> 8) & 0xff); if (!PVT(terminal)->screen->pic_file_path && !PVT(terminal)->screen->window.is_transparent) { set_alpha(terminal, alpha); } } #if VTE_CHECK_VERSION(0, 17, 1) void vte_terminal_set_cursor_blink_mode(VteTerminal *terminal, VteCursorBlinkMode mode) { char *value; if (mode == VTE_CURSOR_BLINK_OFF) { value = "false"; } else { value = "true"; } ui_screen_set_config(PVT(terminal)->screen, NULL, "blink_cursor", value); } VteCursorBlinkMode vte_terminal_get_cursor_blink_mode(VteTerminal *terminal) { if (vt_term_get_cursor_style(PVT(terminal)->term) & CS_BLINK) { return VTE_CURSOR_BLINK_ON; } else { return VTE_CURSOR_BLINK_OFF; } } #endif #if VTE_CHECK_VERSION(0, 20, 0) void vte_terminal_set_cursor_shape(VteTerminal *terminal, VteCursorShape shape) {} VteCursorShape vte_terminal_get_cursor_shape(VteTerminal *terminal) { return VTE_CURSOR_SHAPE_IBEAM; } #endif void vte_terminal_set_scrollback_lines(VteTerminal *terminal, glong lines) { if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { char value[DIGIT_STR_LEN(glong) + 1]; sprintf(value, "%ld", lines); ui_screen_set_config(PVT(terminal)->screen, NULL, "logsize", value); } else { vt_term_change_log_size(PVT(terminal)->term, lines); } } #if !VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_im_append_menuitems(VteTerminal *terminal, GtkMenuShell *menushell) {} #endif void vte_terminal_set_font_from_string(VteTerminal *terminal, const char *name) { char *p; int font_changed; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set_font_from_string %s\n", name); #endif if (!name || strcmp(name, "(null)") == 0) { name = "monospace"; } else { p = name + strlen(name) - 1; if ('0' <= *p && *p <= '9') { int fontsize; do { p--; } while ('0' <= *p && *p <= '9'); if ((fontsize = atoi(p + 1)) > 0) { /* XXX Screen is redraw in ui_screen_reset_view() below. */ ui_change_font_size(PVT(terminal)->screen->font_man, atoi(p + 1)); } } if ((p = strchr(name, ','))) { /* * name contains font list like "Ubuntu Mono,monospace 13" * (see manual of pango_font_description_from_string()) */ char *new_name; if (!(new_name = alloca(p - name + 1))) { return; } memcpy(new_name, name, p - name); new_name[p - name] = '\0'; name = new_name; } } font_changed = ui_customize_font_file("aafont", "DEFAULT", name, 0); font_changed |= ui_customize_font_file("aafont", "ISO10646_UCS4_1", name, 0); if (font_changed) { ui_font_cache_unload_all(); if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_reset_view(PVT(terminal)->screen); } else { /* * XXX * Forcibly fix width and height members of ui_window_t, * or widget->requisition is not set correctly in * reset_vte_size_member. */ PVT(terminal)->screen->window.width = ui_col_width(PVT(terminal)->screen) * vt_term_get_cols(PVT(terminal)->term); PVT(terminal)->screen->window.height = ui_line_height(PVT(terminal)->screen) * vt_term_get_rows(PVT(terminal)->term); PVT(terminal)->screen->window.width_inc = PVT(terminal)->screen->window.min_width = ui_col_width(PVT(terminal)->screen); PVT(terminal)->screen->window.height_inc = PVT(terminal)->screen->window.min_height = ui_line_height(PVT(terminal)->screen); } reset_vte_size_member(terminal); if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { /* * gnome-terminal(2.29.6 or later?) is not resized correctly * without this. */ gtk_widget_queue_resize_no_redraw(GTK_WIDGET(terminal)); } } } void vte_terminal_set_font(VteTerminal *terminal, const PangoFontDescription *font_desc) { char *name; name = pango_font_description_to_string(font_desc); #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set_font %s\n", name); #endif vte_terminal_set_font_from_string(terminal, name); g_free(name); } const PangoFontDescription *vte_terminal_get_font(VteTerminal *terminal) { return NULL; } void vte_terminal_set_allow_bold(VteTerminal *terminal, gboolean allow_bold) {} gboolean vte_terminal_get_allow_bold(VteTerminal *terminal) { return TRUE; } gboolean vte_terminal_get_has_selection(VteTerminal *terminal) { if (PVT(terminal)->screen->sel.sel_str && PVT(terminal)->screen->sel.sel_len > 0) { return TRUE; } else { return FALSE; } } #if VTE_CHECK_VERSION(0, 40, 0) void vte_terminal_set_word_char_exceptions(VteTerminal *terminal, const char *exception) { char *seps; if (!exception || !*exception) { vt_set_word_separators(NULL); return; } seps = bl_str_alloca_dup(vt_get_word_separators()); if (seps) { char *p = seps; char *end = seps + strlen(seps) - 1; int do_replace = 0; while (*p) { if (strchr(exception, *p)) { *p = *end; *(end--) = '\0'; do_replace = 1; } p ++; } if (do_replace) { vt_set_word_separators(seps); } } } const char *vte_terminal_get_word_chars_exceptions(VteTerminal *terminal) { return ""; } #endif #if !VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_word_chars(VteTerminal *terminal, const char *spec) { char *sep; if (!spec || !*spec) { sep = ",. "; } else if ((sep = alloca(0x5f))) { char *sep_p; char c; sep_p = sep; c = 0x20; do { const char *spec_p; spec_p = spec; while (*spec_p) { if (*spec_p == '-' && spec_p > spec && *(spec_p + 1) != '\0') { if (*(spec_p - 1) < c && c < *(spec_p + 1)) { goto next; } } else if (*spec_p == c) { goto next; } spec_p++; } *(sep_p++) = c; next: c++; } while (c < 0x7f); *(sep_p) = '\0'; } else { return; } vt_set_word_separators(sep); } gboolean vte_terminal_is_word_char(VteTerminal *terminal, gunichar c) { return TRUE; } #endif void vte_terminal_set_backspace_binding(VteTerminal *terminal, VteEraseBinding binding) { char *seq; #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " set backtrace binding => %d\n", binding); #endif if (binding == VTE_ERASE_ASCII_BACKSPACE) { seq = "\x08"; } else if (binding == VTE_ERASE_ASCII_DELETE) { seq = "\x7f"; } else if (binding == VTE_ERASE_DELETE_SEQUENCE) { seq = "\x1b[3~"; } #if VTE_CHECK_VERSION(0, 20, 4) else if (binding == VTE_ERASE_TTY) { return; } #endif else { return; } vt_termcap_set_key_seq(PVT(terminal)->term->parser->termcap, SPKEY_BACKSPACE, seq); } void vte_terminal_set_delete_binding(VteTerminal *terminal, VteEraseBinding binding) { char *seq; if (binding == VTE_ERASE_ASCII_BACKSPACE) { seq = "\x08"; } else if (binding == VTE_ERASE_ASCII_DELETE) { seq = "\x7f"; } else if (binding == VTE_ERASE_DELETE_SEQUENCE) { seq = "\x1b[3~"; } #if VTE_CHECK_VERSION(0, 20, 4) else if (binding == VTE_ERASE_TTY) { return; } #endif else { return; } vt_termcap_set_key_seq(PVT(terminal)->term->parser->termcap, SPKEY_DELETE, seq); } void vte_terminal_set_mouse_autohide(VteTerminal *terminal, gboolean setting) {} gboolean vte_terminal_get_mouse_autohide(VteTerminal *terminal) { return FALSE; } void vte_terminal_reset(VteTerminal *terminal, gboolean full, gboolean clear_history) { if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_exec_cmd(PVT(terminal)->screen, "full_reset"); } } char *vte_terminal_get_text(VteTerminal *terminal, gboolean (*is_selected)(VteTerminal *terminal, glong column, glong row, gpointer data), gpointer data, GArray *attributes) { return NULL; } char *vte_terminal_get_text_include_trailing_spaces(VteTerminal *terminal, gboolean (*is_selected)(VteTerminal *terminal, glong column, glong row, gpointer data), gpointer data, GArray *attributes) { return NULL; } char *vte_terminal_get_text_range(VteTerminal *terminal, glong start_row, glong start_col, glong end_row, glong end_col, gboolean (*is_selected)(VteTerminal *terminal, glong column, glong row, gpointer data), gpointer data, GArray *attributes) { return NULL; } void vte_terminal_get_cursor_position(VteTerminal *terminal, glong *column, glong *row) { *column = vt_term_cursor_col(PVT(terminal)->term); *row = vt_term_cursor_row(PVT(terminal)->term); } void vte_terminal_match_clear_all(VteTerminal *terminal) {} #if GLIB_CHECK_VERSION(2, 14, 0) int vte_terminal_match_add_gregex(VteTerminal *terminal, GRegex *regex, GRegexMatchFlags flags) { /* XXX */ if (strstr(g_regex_get_pattern(regex), "http")) { /* tag == 1 */ return 1; } else { /* tag == 0 */ return 0; } } #endif void vte_terminal_match_set_cursor(VteTerminal *terminal, int tag, GdkCursor *cursor) {} void vte_terminal_match_set_cursor_type(VteTerminal *terminal, int tag, GdkCursorType cursor_type) { } void vte_terminal_match_set_cursor_name(VteTerminal *terminal, int tag, const char *cursor_name) {} void vte_terminal_match_remove(VteTerminal *terminal, int tag) {} char *vte_terminal_match_check(VteTerminal *terminal, glong column, glong row, int *tag) { ef_conv_t *conv; ef_parser_t *parser; u_char *buf; size_t len; if (!vte_terminal_get_has_selection(terminal) || !(conv = ui_get_selection_conv(1)) /* utf8 */ || !(parser = vt_str_parser_new())) { return NULL; } len = PVT(terminal)->screen->sel.sel_len * VTCHAR_UTF_MAX_SIZE + 1; if ((buf = g_malloc(len))) { (*parser->init)(parser); vt_str_parser_set_str(parser, PVT(terminal)->screen->sel.sel_str, PVT(terminal)->screen->sel.sel_len); (*conv->init)(conv); *(buf + (*conv->convert)(conv, buf, len, parser)) = '\0'; /* XXX */ if (tag) { *tag = 1; /* For pattern including "http" (see vte_terminal_match_add_gregex) */ } } (*parser->delete)(parser); return buf; } #if VTE_CHECK_VERSION(0, 38, 0) char *vte_terminal_match_check_event(VteTerminal *terminal, GdkEvent *event, int *tag) { return NULL; } #endif #if GLIB_CHECK_VERSION(2, 14, 0) void vte_terminal_search_set_gregex(VteTerminal *terminal, GRegex *regex #if VTE_CHECK_VERSION(0, 38, 0) , GRegexMatchFlags flags #endif ) { if (regex) { if (!PVT(terminal)->gregex) { vt_term_search_init(PVT(terminal)->term, match_gregex); } } else { vt_term_search_final(PVT(terminal)->term); } PVT(terminal)->gregex = regex; } GRegex *vte_terminal_search_get_gregex(VteTerminal *terminal) { return PVT(terminal)->gregex; } gboolean vte_terminal_search_find_previous(VteTerminal *terminal) { return search_find(terminal, 1); } gboolean vte_terminal_search_find_next(VteTerminal *terminal) { return search_find(terminal, 0); } #endif /* VTE_CHECK_VERSION(0, 40, 0) */ #if VTE_CHECK_VERSION(0, 44, 0) gboolean vte_terminal_event_check_gregex_simple(VteTerminal *terminal, GdkEvent *event, GRegex **regexes, gsize n_regexes, GRegexMatchFlags match_flags, char **matches) { return FALSE; } #endif void vte_terminal_search_set_wrap_around(VteTerminal *terminal, gboolean wrap_around) {} gboolean vte_terminal_search_get_wrap_around(VteTerminal *terminal) { return FALSE; } #if VTE_CHECK_VERSION(0, 28, 0) char *vte_get_user_shell(void) { return NULL; } #endif #if VTE_CHECK_VERSION(0, 44, 0) const char *vte_get_features(void) { return "-GNUTLS"; } #endif #if !VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_emulation(VteTerminal *terminal, const char *emulation) {} const char *vte_terminal_get_emulation(VteTerminal *terminal) { return main_config.term_type; } const char *vte_terminal_get_default_emulation(VteTerminal *terminal) { return main_config.term_type; } #endif #if VTE_CHECK_VERSION(0, 38, 0) gboolean vte_terminal_set_encoding(VteTerminal *terminal, const char *codeset, GError **error) #else void vte_terminal_set_encoding(VteTerminal *terminal, const char *codeset) #endif { if (codeset == NULL) { codeset = "AUTO"; } if (GTK_WIDGET_REALIZED(GTK_WIDGET(terminal))) { ui_screen_set_config(PVT(terminal)->screen, NULL, "encoding", codeset); } else { vt_term_change_encoding(PVT(terminal)->term, vt_get_char_encoding(codeset)); } #if VTE_CHECK_VERSION(0, 38, 0) if (error) { *error = NULL; } #endif g_signal_emit_by_name(terminal, "encoding-changed"); #if VTE_CHECK_VERSION(0, 38, 0) return TRUE; #endif } const char *vte_terminal_get_encoding(VteTerminal *terminal) { return vt_get_char_encoding_name(vt_term_get_encoding(PVT(terminal)->term)); } #if VTE_CHECK_VERSION(0, 24, 0) gboolean #if VTE_CHECK_VERSION(0, 38, 0) vte_terminal_write_contents_sync(VteTerminal *terminal, GOutputStream *stream, VteWriteFlags flags, GCancellable *cancellable, GError **error) #else vte_terminal_write_contents(VteTerminal *terminal, GOutputStream *stream, VteTerminalWriteFlags flags, GCancellable *cancellable, GError **error) #endif { char cmd[] = "snapshot vtetmp UTF8"; char *path; gboolean ret; vt_term_exec_cmd(PVT(terminal)->term, cmd); if (error) { *error = NULL; } ret = TRUE; if ((path = bl_get_user_rc_path("mlterm/vtetmp.snp"))) { FILE *fp; if ((fp = fopen(path, "r"))) { char buf[10240]; size_t len; while ((len = fread(buf, 1, sizeof(buf), fp)) > 0) { gsize bytes_written; if (!g_output_stream_write_all(stream, buf, len, &bytes_written, cancellable, error)) { ret = FALSE; break; } } fclose(fp); unlink(path); } free(path); } return ret; } #endif #if VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_cjk_ambiguous_width(VteTerminal *terminal, int width) { vt_term_set_config(PVT(terminal)->term, "col_size_of_width_a", width == 2 ? "2" : "1"); } int vte_terminal_get_cjk_ambiguous_width(VteTerminal *terminal) { return PVT(terminal)->term->parser->col_size_of_width_a; } #endif #if !VTE_CHECK_VERSION(0, 38, 0) const char *vte_terminal_get_status_line(VteTerminal *terminal) { return ""; } void vte_terminal_get_padding(VteTerminal *terminal, int *xpad, int *ypad) { *xpad = PVT(terminal)->screen->window.hmargin * 2 /* left + right */; *ypad = PVT(terminal)->screen->window.vmargin * 2 /* top + bottom */; } void vte_terminal_set_pty(VteTerminal *terminal, int pty_master) {} int vte_terminal_get_pty(VteTerminal *terminal) { return vt_term_get_master_fd(PVT(terminal)->term); } GtkAdjustment *vte_terminal_get_adjustment(VteTerminal *terminal) { return ADJUSTMENT(terminal); } #endif glong vte_terminal_get_char_width(VteTerminal *terminal) { return CHAR_WIDTH(terminal); } glong vte_terminal_get_char_height(VteTerminal *terminal) { return CHAR_HEIGHT(terminal); } glong vte_terminal_get_row_count(VteTerminal *terminal) { return ROW_COUNT(terminal); } glong vte_terminal_get_column_count(VteTerminal *terminal) { return COLUMN_COUNT(terminal); } const char *vte_terminal_get_window_title(VteTerminal *terminal) { return WINDOW_TITLE(terminal); } const char *vte_terminal_get_icon_title(VteTerminal *terminal) { return ICON_TITLE(terminal); } int vte_terminal_get_child_exit_status(VteTerminal *terminal) { return 0; } #if !VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_cursor_blinks(VteTerminal *terminal, gboolean blink) { ui_screen_set_config(PVT(terminal)->screen, NULL, "blink_cursor", blink ? "true" : "false"); } gboolean vte_terminal_get_using_xft(VteTerminal *terminal) { if (ui_get_type_engine(PVT(terminal)->screen->font_man) == TYPE_XFT) { return TRUE; } else { return FALSE; } } int vte_terminal_match_add(VteTerminal *terminal, const char *match) { return 1; } glong vte_terminal_get_char_descent(VteTerminal *terminal) { return terminal->char_descent; } glong vte_terminal_get_char_ascent(VteTerminal *terminal) { return terminal->char_ascent; } static void set_anti_alias(VteTerminal *terminal, VteTerminalAntiAlias antialias) { char *value; int term_is_null; if (antialias == VTE_ANTI_ALIAS_FORCE_ENABLE) { value = "true"; } else if (antialias == VTE_ANTI_ALIAS_FORCE_ENABLE) { value = "false"; } else { return; } /* * XXX * Hack for the case of calling this function before fork pty because * change_font_present() in ui_screen.c calls vt_term_get_vertical_mode(). */ if (PVT(terminal)->screen->term == NULL) { PVT(terminal)->screen->term = PVT(terminal)->term; term_is_null = 1; } else { term_is_null = 0; } ui_screen_set_config(PVT(terminal)->screen, NULL, "use_anti_alias", value); if (term_is_null) { PVT(terminal)->screen->term = NULL; } } void vte_terminal_set_font_full(VteTerminal *terminal, const PangoFontDescription *font_desc, VteTerminalAntiAlias antialias) { set_anti_alias(terminal, antialias); vte_terminal_set_font(terminal, font_desc); } void vte_terminal_set_font_from_string_full(VteTerminal *terminal, const char *name, VteTerminalAntiAlias antialias) { set_anti_alias(terminal, antialias); vte_terminal_set_font_from_string(terminal, name); } #endif #if VTE_CHECK_VERSION(0, 26, 0) #include #include /* XXX in order to operate vt_pty_t::child_pid directly. */ #include /* HAVE_SETSID */ struct _VtePty { GObject parent_instance; VteTerminal *terminal; VtePtyFlags flags; }; struct _VtePtyClass { GObjectClass parent_class; }; G_DEFINE_TYPE(VtePty, vte_pty, G_TYPE_OBJECT); static void vte_pty_init(VtePty *pty) {} static void vte_pty_class_init(VtePtyClass *kclass) {} #if VTE_CHECK_VERSION(0, 38, 0) VtePty *vte_terminal_pty_new_sync(VteTerminal *terminal, VtePtyFlags flags, GCancellable *cancellable, GError **error) { VtePty *pty; if (error) { *error = NULL; } if (PVT(terminal)->pty) { return PVT(terminal)->pty; } if (!(pty = vte_pty_new_sync(flags, cancellable, error))) { return NULL; } vte_terminal_set_pty(terminal, pty); return pty; } #else VtePty *vte_terminal_pty_new(VteTerminal *terminal, VtePtyFlags flags, GError **error) { VtePty *pty; if (error) { *error = NULL; } if (PVT(terminal)->pty) { return PVT(terminal)->pty; } if (!(pty = vte_pty_new(flags, error))) { return NULL; } vte_terminal_set_pty_object(terminal, pty); return pty; } #endif #if !VTE_CHECK_VERSION(0, 38, 0) void vte_pty_set_term(VtePty *pty, const char *emulation) { if (pty->terminal) { vte_terminal_set_emulation(pty->terminal, emulation); } } #endif VtePty * #if VTE_CHECK_VERSION(0, 38, 0) vte_terminal_get_pty( #else vte_terminal_get_pty_object( #endif VteTerminal *terminal) { return PVT(terminal)->pty; } void #if VTE_CHECK_VERSION(0, 38, 0) vte_terminal_set_pty( #else vte_terminal_set_pty_object( #endif VteTerminal * terminal , VtePty * pty ) { pid_t pid; if (PVT(terminal)->pty || !pty) { return; } pty->terminal = terminal; PVT(terminal)->pty = g_object_ref(pty); #if !VTE_CHECK_VERSION(0, 38, 0) vte_pty_set_term(pty, vte_terminal_get_emulation(terminal)); #endif pid = vte_terminal_forkpty(terminal, NULL, NULL, (pty->flags & VTE_PTY_NO_LASTLOG) ? FALSE : TRUE, (pty->flags & VTE_PTY_NO_UTMP) ? FALSE : TRUE, (pty->flags & VTE_PTY_NO_WTMP) ? FALSE : TRUE); if (pid == 0) { /* Child process exits, but master and slave fds survives. */ exit(0); } #if 1 if (pid > 0) { waitpid(pid, NULL, WNOHANG); } #else if (PVT(terminal)->term->pty) { /* Don't catch exit(0) above. */ PVT(terminal)->term->pty->child_pid = -1; } #endif } VtePty * #if VTE_CHECK_VERSION(0, 38, 0) vte_pty_new_sync(VtePtyFlags flags, GCancellable *cancellable, GError **error) #else vte_pty_new(VtePtyFlags flags, GError **error) #endif { VtePty *pty; if ((pty = g_object_new(VTE_TYPE_PTY, NULL))) { pty->flags = flags; pty->terminal = NULL; } if (error) { *error = NULL; } return pty; } VtePty * #if VTE_CHECK_VERSION(0, 38, 0) vte_pty_new_foreign_sync(int fd, GCancellable *cancellable, GError **error) #else vte_pty_new_foreign(int fd, GError **error) #endif { if (error) { error = NULL; } return NULL; } void vte_pty_close(VtePty *pty) {} #if VTE_CHECK_VERSION(0, 48, 0) void vte_pty_spawn_async(VtePty *pty, const char *working_directory, char **argv, char **envv, GSpawnFlags spawn_flags, GSpawnChildSetupFunc child_setup, gpointer child_setup_data, GDestroyNotify child_setup_data_destroy, int timeout, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) {} gboolean vte_pty_spawn_finish(VtePty *pty, GAsyncResult *result, GPid *child_pid, GError **error) { if (error) { *error = NULL; } return FALSE; } #endif #if (!defined(HAVE_SETSID) && defined(TIOCNOTTY)) || !defined(TIOCSCTTY) #include #endif /* Child process (before exec()) */ void vte_pty_child_setup(VtePty *pty) { int slave; int master; #if (!defined(HAVE_SETSID) && defined(TIOCNOTTY)) || !defined(TIOCSCTTY) int fd; #endif if (!pty->terminal) { return; } #ifdef HAVE_SETSID setsid(); #else #ifdef TIOCNOTTY if ((fd = open("/dev/tty", O_RDWR | O_NOCTTY)) >= 0) { ioctl(fd, TIOCNOTTY, NULL); close(fd); } #endif #endif master = vt_term_get_master_fd(PVT(pty->terminal)->term); slave = vt_term_get_slave_fd(PVT(pty->terminal)->term); #ifdef TIOCSCTTY while (ioctl(slave, TIOCSCTTY, NULL) == -1) { /* * Child process which exits in vte_terminal_set_pty() may still have * controll terminal. */ bl_usleep(100); } #else if ((fd = open("/dev/tty", O_RDWR | O_NOCTTY)) >= 0) { close(fd); } if ((fd = open(ptsname(master), O_RDWR)) >= 0) { close(fd); } if ((fd = open("/dev/tty", O_WRONLY)) >= 0) { close(fd); } #endif dup2(slave, 0); dup2(slave, 1); dup2(slave, 2); if (slave > STDERR_FILENO) { close(slave); } close(master); } int vte_pty_get_fd(VtePty *pty) { if (!pty->terminal) { return -1; } return vt_term_get_master_fd(PVT(pty->terminal)->term); } gboolean vte_pty_set_size(VtePty *pty, int rows, int columns, GError **error) { if (error) { *error = NULL; } if (!pty->terminal) { return FALSE; } vte_terminal_set_size(pty->terminal, columns, rows); return TRUE; } gboolean vte_pty_get_size(VtePty *pty, int *rows, int *columns, GError **error) { if (error) { *error = NULL; } if (!pty->terminal) { return FALSE; } *columns = COLUMN_COUNT(pty->terminal); *rows = ROW_COUNT(pty->terminal); return TRUE; } gboolean vte_pty_set_utf8(VtePty *pty, gboolean utf8, GError **error) { if (error) { *error = NULL; } if (!pty->terminal) { return FALSE; } return vt_term_change_encoding(PVT(pty->terminal)->term, utf8 ? VT_UTF8 : vt_get_char_encoding("auto")); } void vte_terminal_watch_child(VteTerminal *terminal, GPid child_pid) { vte_reaper_add_child(child_pid); if (PVT(terminal)->term->pty) { PVT(terminal)->term->pty->child_pid = child_pid; } } #endif #if VTE_CHECK_VERSION(0, 38, 0) void vte_terminal_set_input_enabled(VteTerminal *terminal, gboolean enabled) {} gboolean vte_terminal_get_input_enabled(VteTerminal *terminal) { return TRUE; } void vte_terminal_get_geometry_hints(VteTerminal *terminal, GdkGeometry *hints, int min_rows, int min_columns) { hints->base_width = PVT(terminal)->screen->window.hmargin * 2; hints->base_height = PVT(terminal)->screen->window.vmargin * 2; hints->width_inc = CHAR_WIDTH(terminal); hints->height_inc = CHAR_HEIGHT(terminal); hints->min_width = hints->base_width + hints->width_inc * min_columns; hints->min_height = hints->base_height + hints->height_inc * min_rows; } void vte_terminal_set_geometry_hints_for_window(VteTerminal *terminal, GtkWindow *window) { GdkGeometry hints; vte_terminal_get_geometry_hints(terminal, &hints, 1, 1); gtk_window_set_geometry_hints(window, #if GTK_CHECK_VERSION(3, 19, 5) NULL, #else GTK_WIDGET(terminal), #endif &hints, (GdkWindowHints)(GDK_HINT_RESIZE_INC | GDK_HINT_MIN_SIZE | GDK_HINT_BASE_SIZE)); } #endif #if VTE_CHECK_VERSION(0, 39, 0) guint vte_get_major_version(void) { return VTE_MAJOR_VERSION; } guint vte_get_minor_version(void) { return VTE_MINOR_VERSION; } guint vte_get_micro_version(void) { return VTE_MICRO_VERSION; } #endif #if VTE_CHECK_VERSION(0, 34, 0) const char *vte_terminal_get_current_directory_uri(VteTerminal *terminal) { return NULL; } const char *vte_terminal_get_current_file_uri(VteTerminal *terminal) { return NULL; } #endif /* Ubuntu original function ? */ void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, gboolean scroll) {} /* Hack for input method module */ static GIOChannel *gio; static guint src_id; int ui_event_source_add_fd(int fd, void (*handler)(void)) { if (gio) { #ifdef DEBUG bl_debug_printf(BL_DEBUG_TAG " ui_event_source_add_fd failed\n"); #endif return 0; } gio = g_io_channel_unix_new(fd); src_id = g_io_add_watch(gio, G_IO_IN, (GIOFunc)handler, NULL); return 1; } int ui_event_source_remove_fd(int fd) { if (gio && g_io_channel_unix_get_fd(gio) == fd) { g_source_destroy(g_main_context_find_source_by_id(NULL, src_id)); g_io_channel_unref(gio); gio = NULL; } return 1; } /* * GTK+-3.0 supports XInput2 which enables multi device. * But XInput2 disables popup menu and shortcut key which applications * using libvte show, because mlterm doesn't support it. * So multi device is disabled for now. * * __attribute__((constructor)) hack is necessary because *gdk_disable_multidevice() * must be called before gtk_init(). */ #if GTK_CHECK_VERSION(2, 90, 0) && __GNUC__ static void __attribute__((constructor)) init_vte(void) { gdk_disable_multidevice(); } #endif #if VTE_CHECK_VERSION(0, 46, 0) VteRegex *vte_regex_ref(VteRegex *regex) { g_return_val_if_fail(regex, NULL); g_atomic_int_inc(®ex->ref_count); return regex; } VteRegex *vte_regex_unref(VteRegex *regex) { g_return_val_if_fail(regex, NULL); if (g_atomic_int_dec_and_test(®ex->ref_count)) { g_regex_unref(regex->gregex); g_slice_free(VteRegex, regex); } return NULL; } VteRegex *vte_regex_new_for_match(const char *pattern, gssize pattern_length, guint32 flags, GError **error) { VteRegex *regex = g_slice_new(VteRegex); regex->ref_count = 1; regex->gregex = g_regex_new(pattern, 0, 0, error); return regex; } VteRegex *vte_regex_new_for_search(const char *pattern, gssize pattern_length, guint32 flags, GError **error) { VteRegex *regex = g_slice_new(VteRegex); regex->ref_count = 1; regex->gregex = g_regex_new(pattern, 0, 0, error); return regex; } gboolean vte_regex_jit(VteRegex *regex, guint32 flags, GError **error) { if (error) { *error = NULL; } return TRUE; } int vte_terminal_match_add_regex(VteTerminal *terminal, VteRegex *regex, guint32 flags) { /* XXX */ if (strstr(g_regex_get_pattern(regex->gregex), "http")) { /* tag == 1 */ return 1; } else { /* tag == 0 */ return 0; } } gboolean vte_terminal_event_check_regex_simple(VteTerminal *terminal, GdkEvent *event, VteRegex **regexes, gsize n_regexes, guint32 match_flags, char **matches) { return FALSE; } void vte_terminal_search_set_regex(VteTerminal *terminal, VteRegex *regex, guint32 flags) { if (regex) { if (!PVT(terminal)->vregex) { vt_term_search_init(PVT(terminal)->term, match_vteregex); } vte_regex_ref(regex); } else { vt_term_search_final(PVT(terminal)->term); if (PVT(terminal)->vregex) { vte_regex_unref(PVT(terminal)->vregex); } } PVT(terminal)->vregex = regex; } VteRegex *vte_terminal_search_get_regex(VteTerminal *terminal) { return PVT(terminal)->vregex; } #endif #if VTE_CHECK_VERSION(0, 50, 0) gboolean vte_terminal_get_allow_hyperlink(VteTerminal *terminal) { return FALSE; } void vte_terminal_set_allow_hyperlink(VteTerminal *terminal, gboolean allow_hyperlink) {} char *vte_terminal_hyperlink_check_event(VteTerminal *terminal, GdkEvent *event) { return NULL; } #endif mlterm-3.8.4/gtk/marshal.c010064400017600000144000000236661321054731300141200ustar kenusers/* * This file is based on marshal.h of vte-0.24.0. */ #ifndef ___vte_marshal_MARSHAL_H__ #define ___vte_marshal_MARSHAL_H__ #include G_BEGIN_DECLS #ifdef G_ENABLE_DEBUG #define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) #define g_marshal_value_peek_char(v) g_value_get_char (v) #define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) #define g_marshal_value_peek_int(v) g_value_get_int (v) #define g_marshal_value_peek_uint(v) g_value_get_uint (v) #define g_marshal_value_peek_long(v) g_value_get_long (v) #define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) #define g_marshal_value_peek_int64(v) g_value_get_int64 (v) #define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) #define g_marshal_value_peek_enum(v) g_value_get_enum (v) #define g_marshal_value_peek_flags(v) g_value_get_flags (v) #define g_marshal_value_peek_float(v) g_value_get_float (v) #define g_marshal_value_peek_double(v) g_value_get_double (v) #define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) #define g_marshal_value_peek_param(v) g_value_get_param (v) #define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) #define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) #define g_marshal_value_peek_object(v) g_value_get_object (v) #else /* !G_ENABLE_DEBUG */ /* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. * Do not access GValues directly in your code. Instead, use the * g_value_get_*() functions */ #define g_marshal_value_peek_boolean(v) (v)->data[0].v_int #define g_marshal_value_peek_char(v) (v)->data[0].v_int #define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint #define g_marshal_value_peek_int(v) (v)->data[0].v_int #define g_marshal_value_peek_uint(v) (v)->data[0].v_uint #define g_marshal_value_peek_long(v) (v)->data[0].v_long #define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong #define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 #define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 #define g_marshal_value_peek_enum(v) (v)->data[0].v_long #define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong #define g_marshal_value_peek_float(v) (v)->data[0].v_float #define g_marshal_value_peek_double(v) (v)->data[0].v_double #define g_marshal_value_peek_string(v) (v)->data[0].v_pointer #define g_marshal_value_peek_param(v) (v)->data[0].v_pointer #define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer #define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer #define g_marshal_value_peek_object(v) (v)->data[0].v_pointer #endif /* !G_ENABLE_DEBUG */ /* VOID:INT,INT (marshal.list:1) */ G_GNUC_INTERNAL void _vte_marshal_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); void _vte_marshal_VOID__INT_INT (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, gint arg_1, gint arg_2, gpointer data2); register GMarshalFunc_VOID__INT_INT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_int (param_values + 1), g_marshal_value_peek_int (param_values + 2), data2); } /* VOID:OBJECT,OBJECT (marshal.list:2) */ G_GNUC_INTERNAL void _vte_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); void _vte_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2); register GMarshalFunc_VOID__OBJECT_OBJECT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_object (param_values + 1), g_marshal_value_peek_object (param_values + 2), data2); } /* VOID:STRING,UINT (marshal.list:3) */ G_GNUC_INTERNAL void _vte_marshal_VOID__STRING_UINT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); void _vte_marshal_VOID__STRING_UINT (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__STRING_UINT) (gpointer data1, gpointer arg_1, guint arg_2, gpointer data2); register GMarshalFunc_VOID__STRING_UINT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__STRING_UINT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_string (param_values + 1), g_marshal_value_peek_uint (param_values + 2), data2); } /* VOID:UINT,UINT (marshal.list:4) */ G_GNUC_INTERNAL void _vte_marshal_VOID__UINT_UINT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); void _vte_marshal_VOID__UINT_UINT (GClosure *closure, GValue *return_value G_GNUC_UNUSED, guint n_param_values, const GValue *param_values, gpointer invocation_hint G_GNUC_UNUSED, gpointer marshal_data) { typedef void (*GMarshalFunc_VOID__UINT_UINT) (gpointer data1, guint arg_1, guint arg_2, gpointer data2); register GMarshalFunc_VOID__UINT_UINT callback; register GCClosure *cc = (GCClosure*) closure; register gpointer data1, data2; g_return_if_fail (n_param_values == 3); if (G_CCLOSURE_SWAP_DATA (closure)) { data1 = closure->data; data2 = g_value_peek_pointer (param_values + 0); } else { data1 = g_value_peek_pointer (param_values + 0); data2 = closure->data; } callback = (GMarshalFunc_VOID__UINT_UINT) (marshal_data ? marshal_data : cc->callback); callback (data1, g_marshal_value_peek_uint (param_values + 1), g_marshal_value_peek_uint (param_values + 2), data2); } G_END_DECLS #endif /* ___vte_marshal_MARSHAL_H__ */ mlterm-3.8.4/gtk/marshal.h010064400017600000144000000044041321054731300141120ustar kenusers/* * This file is based on marshal.h of vte-0.24.0. */ #ifndef ___vte_marshal_MARSHAL_H__ #define ___vte_marshal_MARSHAL_H__ #include G_BEGIN_DECLS /* VOID:INT,INT (marshal.list:1) */ G_GNUC_INTERNAL void _vte_marshal_VOID__INT_INT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:OBJECT,OBJECT (marshal.list:2) */ G_GNUC_INTERNAL void _vte_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:STRING,UINT (marshal.list:3) */ G_GNUC_INTERNAL void _vte_marshal_VOID__STRING_UINT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); /* VOID:UINT,UINT (marshal.list:4) */ G_GNUC_INTERNAL void _vte_marshal_VOID__UINT_UINT (GClosure *closure, GValue *return_value, guint n_param_values, const GValue *param_values, gpointer invocation_hint, gpointer marshal_data); G_END_DECLS #endif /* ___vte_marshal_MARSHAL_H__ */ mlterm-3.8.4/gtk/Makefile.in010064400017600000144000000052051321054731300143570ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ exec_prefix = @exec_prefix@ datadir = @datadir@ bindir = @bindir@ libdir = @libdir@ libexecdir = @libexecdir@ LIBDIR = $(DESTDIR)$(libdir) CC = @CC@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ PKG_CONFIG = @PKG_CONFIG@ VPATH = $(top_srcdir)/gtk VTE_ABI = @VTE_ABI@ PKG_NAME = $(PKG_NAME_$(VTE_ABI)) PKG_NAME_ = vte PKG_NAME_2.90 = vte-2.90 PKG_NAME_2.91 = vte-2.91 LIB_VERSION = $(LIB_VERSION_$(VTE_ABI)) LIB_VERSION_ = 9:0:0 LIB_VERSION_2.90 = 9:0:0 LIB_VERSION_2.91 = 0:0:0 TARGET = $(TARGET_$(VTE_ABI)) TARGET_ = libvte TARGET_2.90 = libvte2_90 TARGET_2.91 = libvte-2.91 CFLAGS = $(CFLAGS_LOCAL) @TYPE_CFLAGS@ @DEB_CFLAGS@ @SSH2_CFLAGS@ @GUI_CFLAGS@ @FT_CFLAGS@ \ -DSYSCONFDIR=\"$(sysconfdir)\" `$(PKG_CONFIG) --cflags $(PKG_NAME)` @BRLAPI_CFLAGS@ \ @CFLAGS@ @CPPFLAGS@ LIBS = $(top_builddir)/baselib/src/libpobl.la $(top_builddir)/encodefilter/src/libmef.la \ @IMAGELIB_LIBS@ @DL_LIBS_IM@ @GTK_LIBS@ @CTL_LIBS_FOR_VTE@ @TYPE_LIBS_FOR_VTE@ \ @BRLAPI_LIBS@ @DEXPORT@ LIBTOOL_CC = $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) LIBTOOL_LINK = $(LIBTOOL) --mode=link $(CC) @LDFLAGS@ LIBTOOL_INSTALL = $(LIBTOOL) --mode=install $(INSTALL) OBJ = vte.o marshal.o vtetypebuiltins.o reaper.o UI_DISPLAY_OBJ_wayland = ui_display.o all: $(TARGET).la $(TARGET).la: $(OBJ) $(UI_DISPLAY_OBJ_@GUI@) $(LIBTOOL_LINK) -o $(TARGET).la $(OBJ:.o=.lo) ../vtemu/*.lo \ `echo ../uitoolkit/*.lo| \ sed 's/..\/uitoolkit\/ui_layout.lo//g' | \ sed 's/..\/uitoolkit\/ui_scrollbar.lo//g' | \ sed 's/..\/uitoolkit\/ui_sb_view_factory.lo//g' | \ sed 's/..\/uitoolkit\/ui_connect_dialog.lo//g' | \ sed 's/..\/uitoolkit\/ui_simple_sb_view.lo//g' | \ sed 's/..\/uitoolkit\/ui_screen_manager.lo//g' | \ sed 's/..\/uitoolkit\/ui_event_source.lo//g'` \ $(LIBS) -rpath $(libdir) -version-info $(LIB_VERSION) if test "$(UI_DISPLAY_OBJ_@GUI@)" != ""; then rm -f ../uitoolkit/$(UI_DISPLAY_OBJ_@GUI@) ../uitoolkit/libuitoolkit.a; fi $(UI_DISPLAY_OBJ_@GUI@): (cd ../uitoolkit;rm -f ui_display.o; CFLAGS_LOCAL=-DCOMPAT_LIBVTE make ui_display.o) vte.o: vte.c vte_@GUI@.c $(LIBTOOL_CC) $(CFLAGS) -I$(top_srcdir)/vtemu -I$(top_srcdir)/uitoolkit \ -I$(top_builddir)/uitoolkit -I../encodefilter/include -I../baselib/include -c $< .c.o: $(LIBTOOL_CC) $(CFLAGS) -I$(top_srcdir)/vtemu -I$(top_srcdir)/uitoolkit \ -I$(top_builddir)/uitoolkit -I../encodefilter/include -I../baselib/include -c $< clean: rm -rf $(OBJ) $(OBJ:.o=.lo) $(TARGET).* *.core .libs distclean: clean rm -f Makefile install: $(LIBDIR) $(LIBTOOL_INSTALL) $(TARGET).la $(LIBDIR) $(LIBDIR): mkdir -p $(LIBDIR) uninstall: rm -f $(LIBDIR)/$(TARGET).* mlterm-3.8.4/gtk/dexport.map010064400017600000144000000000501321054731300144670ustar kenusersvte { global: vte_* ; local: * ; } ; mlterm-3.8.4/gtk/vte_xlib.c010064400017600000144000000263101321054731300142720ustar kenusers/* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ #include #include /* ui_xim_display_opened */ #include #if GTK_CHECK_VERSION(2, 90, 0) #define gdk_x11_drawable_get_xid(window) gdk_x11_window_get_xid(window) #endif #if 0 /* Forcibly enable transparency on gnome-terminal which doesn't support it. */ #define FORCE_TRANSPARENCY #endif /* --- static functions --- */ static gboolean toplevel_configure(gpointer data) { VteTerminal *terminal = data; if (PVT(terminal)->screen->window.is_transparent) { XEvent ev; if (!XCheckTypedWindowEvent(disp.display, gdk_x11_drawable_get_xid(gtk_widget_get_window( gtk_widget_get_toplevel(GTK_WIDGET(terminal)))), ConfigureNotify, &ev)) { ui_window_set_transparent(&PVT(terminal)->screen->window, ui_screen_get_picture_modifier(PVT(terminal)->screen)); } else { XPutBackEvent(disp.display, &ev); } } return FALSE; } static void vte_terminal_size_allocate(GtkWidget *widget, GtkAllocation *allocation); /* * Don't call vt_close_dead_terms() before returning GDK_FILTER_CONTINUE, * because vt_close_dead_terms() will destroy widget in pty_closed and * destroyed widget can be touched right after this function. */ static GdkFilterReturn vte_terminal_filter(GdkXEvent *xevent, GdkEvent *event, /* GDK_NOTHING */ gpointer data) { u_int count; int is_key_event; if (XFilterEvent((XEvent *)xevent, None)) { return GDK_FILTER_REMOVE; } if ((((XEvent *)xevent)->type == KeyPress || ((XEvent *)xevent)->type == KeyRelease)) { is_key_event = 1; } else { is_key_event = 0; } for (count = 0; count < disp.num_roots; count++) { VteTerminal *terminal; if (IS_MLTERM_SCREEN(disp.roots[count])) { terminal = VTE_WIDGET((ui_screen_t *)disp.roots[count]); if (!PVT(terminal)->term) { /* pty is already closed and new pty is not attached yet. */ continue; } /* * Key events are ignored if window isn't focused. * This processing is added for key binding of popup menu. */ if (is_key_event && ((XEvent *)xevent)->xany.window == disp.roots[count]->my_window) { vt_term_search_reset_position(PVT(terminal)->term); if (!disp.roots[count]->is_focused) { ((XEvent *)xevent)->xany.window = gdk_x11_drawable_get_xid(gtk_widget_get_window(GTK_WIDGET(terminal))); return GDK_FILTER_CONTINUE; } } if (PVT(terminal)->screen->window.is_transparent && ((XEvent *)xevent)->type == ConfigureNotify && ((XEvent *)xevent)->xconfigure.event == gdk_x11_drawable_get_xid(gtk_widget_get_window(GTK_WIDGET(terminal)))) { /* * If terminal position is changed by adding menu bar or tab, * transparent background is reset. */ gint x; gint y; gdk_window_get_position(gtk_widget_get_window(GTK_WIDGET(terminal)), &x, &y); /* * XXX * I don't know why but the height of menu bar has been already * added to the position of terminal before first * GdkConfigureEvent whose x and y is 0 is received. * But (x != xconfigure.x || y != xconfigure.y) is true eventually * and ui_window_set_transparent() is called expectedly. */ if (x != ((XEvent *)xevent)->xconfigure.x || y != ((XEvent *)xevent)->xconfigure.y) { ui_window_set_transparent(&PVT(terminal)->screen->window, ui_screen_get_picture_modifier(PVT(terminal)->screen)); } return GDK_FILTER_CONTINUE; } } else { terminal = NULL; } if (ui_window_receive_event(disp.roots[count], (XEvent *)xevent)) { static pid_t config_menu_pid = 0; if (!terminal || /* SCIM etc window */ /* XFilterEvent in ui_window_receive_event. */ ((XEvent *)xevent)->xany.window != disp.roots[count]->my_window) { return GDK_FILTER_REMOVE; } /* XXX Hack for waiting for config menu program exiting. */ if (PVT(terminal)->term->pty && config_menu_pid != PVT(terminal)->term->pty->config_menu.pid) { if ((config_menu_pid = PVT(terminal)->term->pty->config_menu.pid)) { vte_reaper_add_child(config_menu_pid); } } if (is_key_event || ((XEvent *)xevent)->type == ButtonPress || ((XEvent *)xevent)->type == ButtonRelease) { /* Hook key and button events for popup menu. */ ((XEvent *)xevent)->xany.window = gdk_x11_drawable_get_xid(gtk_widget_get_window(GTK_WIDGET(terminal))); return GDK_FILTER_CONTINUE; } else { return GDK_FILTER_REMOVE; } } /* * xconfigure.window: window whose size, position, border, and/or stacking * order was changed. * => processed in following. * xconfigure.event: reconfigured window or to its parent. * (=XAnyEvent.window) => processed in ui_window_receive_event() */ else if (/* terminal && */ ((XEvent *)xevent)->type == ConfigureNotify && ((XEvent *)xevent)->xconfigure.window == disp.roots[count]->my_window) { #if 0 /* * This check causes resize problem in opening tab in * gnome-terminal(2.29.6). */ if (((XEvent *)xevent)->xconfigure.width != GTK_WIDGET(terminal)->allocation.width || ((XEvent *)xevent)->xconfigure.height != GTK_WIDGET(terminal)->allocation.height) #else if (CHAR_WIDTH(terminal) != ui_col_width(PVT(terminal)->screen) || CHAR_HEIGHT(terminal) != ui_line_height(PVT(terminal)->screen)) #endif { /* Window was changed due to change of font size inside mlterm. */ GtkAllocation alloc; gtk_widget_get_allocation(GTK_WIDGET(terminal), &alloc); alloc.width = ((XEvent *)xevent)->xconfigure.width; alloc.height = ((XEvent *)xevent)->xconfigure.height; #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " child is resized\n"); #endif vte_terminal_size_allocate(GTK_WIDGET(terminal), &alloc); } return GDK_FILTER_REMOVE; } } return GDK_FILTER_CONTINUE; } #ifdef FORCE_TRANSPARENCY #if VTE_CHECK_VERSION(0, 38, 0) static void set_rgba_visual(GtkWidget *widget) { GdkScreen *screen; if ((screen = gtk_widget_get_screen(widget)) && gdk_screen_is_composited(screen)) { gtk_widget_set_visual(widget, gdk_screen_get_rgba_visual(screen)); } } static gboolean toplevel_draw(GtkWidget *widget, cairo_t *cr, void *user_data) { GtkWidget *child = user_data; gint width = gtk_widget_get_allocated_width(child); gint height = gtk_widget_get_allocated_height(child); gint x; gint y; gtk_widget_translate_coordinates(child, widget, 0, 0, &x, &x); cairo_rectangle(cr, x, y, width, height); cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 0.0); cairo_fill(cr); return FALSE; } #endif #endif static void vte_terminal_hierarchy_changed(GtkWidget *widget, GtkWidget *old_toplevel, gpointer data) { GtkWidget *toplevel = gtk_widget_get_toplevel(widget); if (old_toplevel) { g_signal_handlers_disconnect_by_func(old_toplevel, toplevel_configure, widget); } g_signal_connect_swapped(toplevel, "configure-event", G_CALLBACK(toplevel_configure), VTE_TERMINAL(widget)); #ifdef FORCE_TRANSPARENCY #if VTE_CHECK_VERSION(0, 38, 0) /* * Though vte 0.38.0 or later doesn't support rgba visual, * this forcibly enables it. */ set_rgba_visual(toplevel); /* roxterm calls gtk_widget_set_app_paintable(TRUE) internally. */ if (!gtk_widget_get_app_paintable(toplevel)) { /* * XXX * gtk_widget_set_app_paintable(TRUE) enables transparency, but unexpectedly * makes a menu bar of gnome-terminal(3.24.2) transparent, sigh... */ gtk_widget_set_app_paintable(toplevel, TRUE); g_signal_connect(toplevel, "draw", G_CALLBACK(toplevel_draw), widget); if (old_toplevel) { g_signal_handlers_disconnect_by_func(old_toplevel, toplevel_draw, widget); } } #endif #endif } static void show_root(ui_display_t *disp, GtkWidget *widget) { VteTerminal *terminal = VTE_TERMINAL(widget); XID xid = gdk_x11_drawable_get_xid(gtk_widget_get_window(widget)); if (disp->gc->gc == DefaultGC(disp->display, disp->screen)) { /* * Replace visual, colormap, depth and gc with those inherited from parent * xid. * In some cases that those of parent xid is not DefaultVisual, * DefaultColormap * and so on (e.g. compiz), BadMatch error can happen. */ XWindowAttributes attr; XGCValues gc_value; int depth_is_changed; XGetWindowAttributes(disp->display, xid, &attr); disp->visual = attr.visual; disp->colormap = attr.colormap; depth_is_changed = (disp->depth != attr.depth); disp->depth = attr.depth; /* ui_gc_t using DefaultGC is already created in vte_terminal_class_init */ gc_value.foreground = disp->gc->fg_color; gc_value.background = disp->gc->bg_color; gc_value.graphics_exposures = True; disp->gc->gc = XCreateGC(disp->display, xid, GCForeground | GCBackground | GCGraphicsExposures, &gc_value); #ifdef __DEBUG bl_debug_printf(BL_DEBUG_TAG " Visual %x Colormap %x Depth %d\n", disp->visual, disp->colormap, disp->depth); #endif if (depth_is_changed && /* see ui_screen_new() */ !PVT(terminal)->screen->window.is_transparent && !PVT(terminal)->screen->pic_file_path) { ui_change_true_transbg_alpha(PVT(terminal)->screen->color_man, main_config.alpha); ui_color_manager_reload(PVT(terminal)->screen->color_man); /* No colors are cached for now. */ #if 0 ui_color_cache_unload_all(); #endif } } ui_display_show_root(disp, &PVT(terminal)->screen->window, 0, 0, 0, "mlterm", xid); } static void init_display(ui_display_t *disp, VteTerminalClass *vclass) { GdkDisplay *gdkdisp = gdk_display_get_default(); const char *name = gdk_display_get_name(gdkdisp); if (name && strstr(name, "wayland")) { GtkWidget *dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s display is not supported on xlib", name); gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); exit(1); } disp->display = gdk_x11_display_get_xdisplay(gdkdisp); disp->screen = DefaultScreen(disp->display); disp->my_window = DefaultRootWindow(disp->display); disp->visual = DefaultVisual(disp->display, disp->screen); disp->colormap = DefaultColormap(disp->display, disp->screen); disp->depth = DefaultDepth(disp->display, disp->screen); disp->gc = ui_gc_new(disp->display, None); disp->width = DisplayWidth(disp->display, disp->screen); disp->height = DisplayHeight(disp->display, disp->screen); disp->modmap.serial = 0; disp->modmap.map = XGetModifierMapping(disp->display); ui_xim_display_opened(disp->display); gdk_window_add_filter(NULL, vte_terminal_filter, NULL); } mlterm-3.8.4/gtk/reaper.c010064400017600000144000000140651321054731300137400ustar kenusers/* * Copyright (C) 2002 Red Hat, Inc. * * This is free software; you can redistribute it and/or modify it under * the terms of the GNU Library General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /** * SECTION: vte-reaper * @short_description: A singleton object which catches %SIGCHLD signals and * converts them into GObject-style "child-exited" signals * * Because an application may need to be notified when child processes * exit, and because there is only one %SIGCHLD handler, the #VteTerminal * widget relies on a #VteReaper to watch for %SIGCHLD notifications and * retrieve the exit status of child processes which have exited. When * glib provides child_watch functionality, the #VteReaper merely acts as * a proxy for glib's own functionality. * * Since 0.11.11 */ #include "marshal.h" #include #ifndef VTE_CHECK_VERSION #define VTE_CHECK_VERSION(a,b,c) (0) #endif #if ! VTE_CHECK_VERSION(0,38,0) #include #else struct _VteReaper { GObject object ; } ; typedef struct _VteReaper VteReaper ; struct _VteReaperClass { GObjectClass parent_class ; /* */ guint child_exited_signal ; } ; typedef struct _VteReaperClass VteReaperClass ; #define VTE_TYPE_REAPER (vte_reaper_get_type()) #define VTE_REAPER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), VTE_TYPE_REAPER, VteReaper)) VteReaper * vte_reaper_get(void) ; #endif /* In case GTK_CHECK_CAST which is defined in gtktypeutils.h is used in VTE_REAPER macro. */ #include static VteReaper *singleton_reaper = NULL; G_DEFINE_TYPE(VteReaper, vte_reaper, G_TYPE_OBJECT) static void vte_reaper_child_watch_cb(GPid pid, gint status, gpointer data) { g_signal_emit_by_name(data, "child-exited", pid, status); g_spawn_close_pid (pid); } /** * vte_reaper_add_child: * @pid: the ID of a child process which will be monitored * * Ensures that child-exited signals will be emitted when @pid exits. This is * necessary for correct operation when running with glib versions >= 2.4. * * Returns: the new source ID * * Since 0.11.11 */ int vte_reaper_add_child(GPid pid) { return g_child_watch_add_full(G_PRIORITY_LOW, pid, vte_reaper_child_watch_cb, vte_reaper_get(), (GDestroyNotify)g_object_unref); } static void vte_reaper_init(VteReaper *reaper) { } static GObject* vte_reaper_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties) { if (singleton_reaper) { return g_object_ref (singleton_reaper); } else { GObject *obj; obj = G_OBJECT_CLASS (vte_reaper_parent_class)->constructor (type, n_construct_properties, construct_properties); singleton_reaper = VTE_REAPER (obj); return obj; } } static void vte_reaper_finalize(GObject *reaper) { G_OBJECT_CLASS(vte_reaper_parent_class)->finalize(reaper); singleton_reaper = NULL; } static void vte_reaper_class_init(VteReaperClass *klass) { GObjectClass *gobject_class; /** * VteReaper::child-exited: * @vtereaper: the object which received the signal * @arg1: the process ID of the exited child * @arg2: the status of the exited child, as returned by waitpid() * * Emitted when the #VteReaper object detects that a child of the * current process has exited. * * Since: 0.11.11 */ klass->child_exited_signal = g_signal_new(g_intern_static_string("child-exited"), G_OBJECT_CLASS_TYPE(klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL, _vte_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); gobject_class = G_OBJECT_CLASS(klass); gobject_class->constructor = vte_reaper_constructor; gobject_class->finalize = vte_reaper_finalize; } /** * vte_reaper_get: * * Finds the address of the global #VteReaper object, creating the object if * necessary. * * Returns: the global #VteReaper object, which should not be unreffed. */ VteReaper * vte_reaper_get(void) { return g_object_new(VTE_TYPE_REAPER, NULL); } #ifdef REAPER_MAIN #include GMainContext *context; GMainLoop *loop; pid_t child; static void child_exited(GObject *object, int pid, int status, gpointer data) { g_print("[parent] Child with pid %d exited with code %d, " "was waiting for %d.\n", pid, status, GPOINTER_TO_INT(data)); if (child == pid) { g_print("[parent] Quitting.\n"); g_main_loop_quit(loop); } } int main(int argc, char **argv) { VteReaper *reaper; pid_t p, q; _vte_debug_init(); g_type_init(); context = g_main_context_default(); loop = g_main_loop_new(context, FALSE); reaper = vte_reaper_get(); g_print("[parent] Forking.\n"); p = fork(); switch (p) { case -1: g_print("[parent] Fork failed.\n"); g_assert_not_reached(); break; case 0: g_print("[child] Going to sleep.\n"); sleep(10); g_print("[child] Quitting.\n"); _exit(30); break; default: g_print("[parent] Starting to wait for %d.\n", p); child = p; g_signal_connect(reaper, "child-exited", G_CALLBACK(child_exited), GINT_TO_POINTER(child)); break; } g_print("[parent] Forking.\n"); q = fork(); switch (q) { case -1: g_print("[parent] Fork failed.\n"); g_assert_not_reached(); break; case 0: g_print("[child] Going to sleep.\n"); sleep(5); _exit(5); break; default: g_print("[parent] Not waiting for %d.\n", q); break; } g_main_loop_run(loop); g_object_unref(reaper); return 0; } #endif mlterm-3.8.4/etc004075500017600000144000000000001321054731300122225ustar kenusersmlterm-3.8.4/etc/taafont010064400017600000144000000017451321054731300136640ustar kenusers#DEFAULT=Kochi Gothic #ISO8859_1=Courier 10 Pitch #ISO8859_2=Thryomanes #ISO8859_3=Thryomanes #ISO8859_4=Thryomanes #ISO8859_5=Thryomanes #ISO8859_7=Thryomanes #ISO8859_9=Thryomanes #ISO8859_10=Thryomanes #ISO8859_13=Thryomanes #ISO8859_14=Thryomanes #ISO8859_15=Thryomanes #KOI8_R=Nimbus Mono L #KOI8_U=Nimbus Mono L #JISX0208_1978=Kochi Gothic #JISX0208_1983=Kochi Gothic #JISX0208_1990=Kochi Gothic #KSX1001_1997=dotum #BIG5=AR PL Mingti2L Big5 #GB2312_80=AR PL SungtiL GB #GBK=AR PL SungtiL GB #ISO10646_UCS4_1=Courier 10 Pitch #ISO10646_UCS4_1=Thryomanes # Japanese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=Kochi Gothic # Korean speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=dotum # Traditional Chinese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=AR PL Mingti2L Big5 # Simplified Chinese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=AR PL SungtiL GB mlterm-3.8.4/etc/xim010064400017600000144000000001511321054731300130130ustar kenusersAmi=ko_KR.eucKR kinput2=ja_JP.eucJP xcin=zh_TW.Big5 xcin-zh_CN.GB2312=zh_CN.GB2312 skkinput=ja_JP.eucJP mlterm-3.8.4/etc/font.win32010064400017600000144000000010061321054731300141250ustar kenusers#DEFAULT = MS Gothic #ISCII_ASSAMESE = AS-TTDurga 26 ISCII_BENGALI = BN-TTDurga 26 #ISCII_GUJARATI = GJ-TTAvantika 21 ISCII_HINDI = DV-TTYogesh 23 #ISCII_KANNADA = KN-TTUma 25 #ISCII_MALAYALAM = ML-TTKarthika 23 #ISCII_ORIYA = OR-TTSarala 26 #ISCII_PUNJABI = PN-TTAmar 30 ISCII_TAMIL = TM-TTValluvar 18 #ISCII_TELUGU = TL-TTHemalatha 25 U+900-97f = Kokila # Devanagari U+d00-d7f = Kartika # Malayalam U+b80-bff = Latha # Tamil U+a80-aff = Shruti # Gujarati U+c00-c7f = Vani # Telugu #U+E000-E0FF = PowerlineSymbols mlterm-3.8.4/etc/color010064400017600000144000000004071321054731300133400ustar kenusers#black=#000000 #red=#cd0000 #green=#00cd00 #yellow=#cdcd00 #blue=#0000ee #magenta=#cd00cd #cyan=#00cdcd #white=#e5e5e5 #hl_black=#7f7f7f #hl_red=#ff0000 #hl_green=#00ff00 #hl_yellow=#ffff00 #hl_blue=#5c5cff #hl_magenta=#ff00ff #hl_cyan=#00ffff #hl_white=#ffffff mlterm-3.8.4/etc/font.cocoa010064400017600000144000000002601321054731300142500ustar kenusers#DEFAULT = Menlo #U+600-6ff = Al Bayan #U+590-5ff = Arial Hebrew U+900-97f = Devanagari MT # Devanagari U+a00-a7f = Gurmukhi MT # Punjabi U+a80-aff = Gujarati MT # Gujarati mlterm-3.8.4/etc/font-fb010064400017600000144000000017221321054731300135560ustar kenusers#DEFAULT = /usr/share/fonts/X11/misc/unifont.pcf.gz:100 #ISO8859_1 = /usr/share/fonts/X11/misc/mplus_f12r.pcf.gz #JISX0208_1983 = /usr/share/fonts/X11/misc/mplus_j12r.pcf.gz JISC6226_1978 = &JISX0208_1983 JISX0208_1990 = &JISX0208_1983 JISX0213_2000_1 = &JISX0208_1983 #ISO10646_UCS4_1 = /usr/share/fonts/X11/misc/unifont.pcf.gz:100 ISO10646_UCS4_1_FULLWIDTH = &ISO10646_UCS4_1 #ISCII_ASSAMESE = /usr/share/fonts/truetype/Asdr0ntt.ttf:120 #ISCII_BENGALI = /usr/share/fonts/truetype/BNDR0ntt.ttf:120 #ISCII_GUJARATI = /usr/share/fonts/truetype/GJAV0ntt.ttf:120 #ISCII_HINDI = /usr/share/fonts/truetype/DVYG0ntt.ttf:120 #ISCII_KANNADA = /usr/share/fonts/truetype/KNUM0ntt.ttf:120 #ISCII_MALAYALAM = /usr/share/fonts/truetype/MLKR0ntt.ttf:120 #ISCII_ORIYA = /usr/share/fonts/truetype/ORSR0ntt.ttf:120 #ISCII_PUNJABI = /usr/share/fonts/truetype/PNAM0ntt.ttf:120 #ISCII_TAMIL = /usr/share/fonts/truetype/TMVL0ntt.ttf:120 #ISCII_TELUGU = /usr/share/fonts/truetype/TLHM0ntt.ttf:120 mlterm-3.8.4/etc/main.ja010064400017600000144000000225331321054731300135430ustar kenusers# # main ¤Ë¥³¥Ô¡¼¤·¤Æ»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ # # -- Window ´ØÏ¢ -- # X ¤Î DISPLAY ¤ò»ØÄê # display = # ɽ¼¨°ÌÃÖ¤ò»ØÄê # geometry = # ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾ # app_name = mlterm # ¥¿¥¤¥È¥ë̾ # title = mlterm # ¥¢¥¤¥³¥ó̾ # icon_name = mlterm # ¥¢¥¤¥³¥ó²èÁü¤Î¥Õ¥¡¥¤¥ë̾ # icon_path = # ¼Â¥¹¥¯¥ê¡¼¥ó¤Î²£Éý(ɴʬΨ) # screen_width_ratio = 100 # ¥¦¥£¥ó¥É¥¦¤ÎÆâ¦¤Î¥Ü¡¼¥À¡¼Éý # inner_border = 2 # ¥ì¥¤¥¢¥¦¥È¥Þ¥Í¡¼¥¸¥ã¤ÎÆâ¦¤Î¥Ü¡¼¥À¡¼Éý # layout_inner_border = 0 # -- Terminal ´ØÏ¢ -- # ¥í¥°¥¤¥ó¥·¥§¥ë¤ò»È¤¦¤«¤É¤¦¤« # use_login_shell = false # üËö¥¿¥¤¥×(xterm,mlterm,kterm) # termtype = xterm # Ʊ»þ¤ËΩ¤Á¾å¤²¤é¤ì¤ë pty ¤ÎºÇÂç¿ô # max_ptys = 32 # µ¯Æ°»þ¤ËΩ¤Á¾å¤²¤ë¥¦¥£¥ó¥É¥¦¤Î¿ô # startup_screens = 1 # mlterm-con ¤¬¥»¥ë¤ÎÉý¤È¹â¤µ¤Î¥Ô¥¯¥»¥ë¿ô¤ò¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë»ÈÍѤ¹¤ë¥Ç¥Õ¥©¥ë¥È¤ÎÉý¤È¹â¤µ # default_cell_size = 8,16 # mlterm-con ¤¬Æ°ºî¤¹¤ë¥³¥ó¥½¡¼¥ë¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë Sixel Graphics ¤Î¿§¿ô # console_sixel_colors = 16 # -- Encoding ´ØÏ¢ -- # ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î»ØÄê # (ISO-8859-[1-11], ISO-8859-[13-16], TIS-620 (same as ISO-8859-11), # KOI8-[RUT], ISCII, VISCII, TCVN5712, GEORGIAN_PS, CP125[0-8], CP874, # EUC-JP, EUC-JISX0213, Shift_JIS, Shift_JISX0213, ISO-2022-JP[1-3], # EUC-KR, UHC, JOHAB, ISO-2022-KR, GB2312 (EUC-CN), GBK, GB18030, # ISO-2022-CN, HZ, EUC-TW, BIG5, BIG5HKSCS, UTF-8, AUTO) # ENCODING = auto # Complext Text Layouting ¤òÍ­¸ú¤Ë¤¹¤ë # use_ctl = true # BiDi ¥ì¥ó¥À¥ê¥ó¥°¤ÎÊýË¡(normal,left,right) # bidi_mode = normal # BiDi ¥ì¥ó¥À¥ê¥ó¥°¤ò¹Ô¤¦ÈϰϤò¶èÀÚ¤ëʸ»ú¤ò»ØÄꤹ¤ë # bidi_separators = # ·ë¹çʸ»ú¤ò½èÍý¤¹¤ë # use_combining = true # ·ë¹çʸ»ú¤òưŪ¤Ë¹çÀ®¤¹¤ë # use_dynamic_comb = false # ISCII ¤Ë¤Æ¡¢»ÈÍѤ¹¤ë¸À¸ì¤ò»ØÄꤹ¤ë # (assamese,bengali,gujarati,hindi,kannada,malayalam,oriya,punjabi,roman,tamil,telugu) # iscii_lang = malayalam # Big5 CTEXT ¤Î¥Ð¥° (XFree86 4.1.0 °ÊÁ°) ¤ËÂбþ¤¹¤ë # big5_buggy = false # UNICODE ¤Î EastAsianWidth.txt ¤Î A ¥×¥í¥Ñ¥Æ¥£¤Î¥³¥é¥à¿ô # col_size_of_width_a = 1 # ½Äɽ¼¨¤Î¥¹¥¿¥¤¥ë¤ò»ØÄê (none,cjk,mongol) # vertical_mode = none # ½Ä½ñ¤­ÍÑ¥«¡¼¥½¥ë # use_vertical_cursor = false # 1 ʸ»ú¤ÇÊ£¿ô¥³¥é¥à¤òÀêÍ­¤¹¤ëʸ»ú¤Î½èÍý¤ò¹Ô¤Ê¤¦ # use_multi_column_char = false # copy and paste ¤Ç¼õ¤±¼è¤Ã¤¿ XCOMPOUND TEXT ¤ä¡¢XIM ¤«¤éÆþÎϤµ¤ì¤¿Ê¸»úÎó # ¤ò¡¢°ìö UNICODE ¤ò·Ðͳ¤·¤Æ¤«¤éüËö¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÊÑ´¹¤¹¤ë # receive_string_via_ucs = false # ʸ»ú¥³¡¼¥É¤ò¼«Æ°È½Äꤹ¤ë¾ì¹ç¤Î¸õÊä¤È¤¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° # auto_detect_encodings = # ʸ»ú¥³¡¼¥É¤Î¼«Æ°È½Äê¤ò¹Ô¤¦ # use_auto_detect = false # mlterm-con ¤¬Æ°ºî¤¹¤ë¥³¥ó¥½¡¼¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° # console_encoding = auto # -- Font ´ØÏ¢ -- # ¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È¥µ¥¤¥º # fontsize = 16 # Êѹ¹²Äǽ¤Ê¥Õ¥©¥ó¥È¥µ¥¤¥º¤ÎÈÏ°Ï # font_size_range = 6-30 # fontsize¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¿ôÃͤò¥Ô¥¯¥»¥ë¤Ç¤Ê¤¯¥Ý¥¤¥ó¥È¤È¤·¤Æ°·¤¦¡£ # use_point_size = false # larger,smaller ¥Ü¥¿¥ó¤Ç¤Î¥Õ¥©¥ó¥È¥µ¥¤¥º¤ÎÊѲ½ÎÌ # step_in_changing_font_size = 1 # ²ÄÊÑĹ¥³¥é¥àÉý¤ò»ÈÍѤ¹¤ë # use_variable_column_width = false # ¥Æ¥­¥¹¥Èɽ¼¨¤Ë xcore, xft, cairo ¤Î¤¤¤º¤ì¤ò»ÈÍѤ¹¤ë¤«¤ò»ØÄꤹ¤ë # type_engine = cairo # ¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë # use_anti_alias = false # ¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹(Xft)»þ¡¢JISX0208 ¤Î Unicode ÊÑ´¹¤Ë CP932 ¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë # ¤ò»È¤¦ # use_cp932_ucs_for_xft = true # UNICODE ¤òŬÅö¤Êʸ»ú½¸¹ç¤Ëmap¤·¤Æ¡¢UNICODE ¥Õ¥©¥ó¥È¤ò»È¤ï¤º¤Ëɽ¼¨¤¹¤ë # not_use_unicode_font = false # not_use_unicode_font ¤ò true ¤È¤·¤¿¾ì¹ç¤Ç¤â¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿ÈϰϤΠ# ʸ»ú¤Ï¡¢¾ï¤Ë UNICODE ¤Î¤Þ¤Þɽ¼¨¤¹¤ë¡£ # unicode_noconv_areas = # ¤¹¤Ù¤Æ¤Îʸ»ú¤ò UNICODE ¥Õ¥©¥ó¥È¤À¤±¤ò»È¤Ã¤ÆÉ½¼¨¤¹¤ë # only_use_unicode_font = false # US_ASCII ¤Îɽ¼¨¤Ë¤Ï¡¢É¬¤º ISO8859-1 ¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë # iso88591_font_for_usascii = false # ·ÓÀþʸ»ú¤Ë¤Ä¤¤¤Æ¡¢¾ï¤Ë Unicode ¥Õ¥©¥ó¥ÈËô¤Ï DEC Special ¥Õ¥©¥ó¥È¤Çɽ¼¨¤¹¤ë¡£ # box_drawing_font = noconv # DEC_SPECIAL ¥Õ¥©¥ó¥È¤Î·ÓÀþʸ»ú¤Î¥°¥ê¥Õ¤òưŪ¤Ë¹çÀ® # compose_dec_special_font = false # ¥Ü¡¼¥ë¥É¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë¡£ # use_bold_font = true # ¥¤¥¿¥ê¥Ã¥¯¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë¡£ # use_italic_font = true # medium ¥Õ¥©¥ó¥È¤ò½Å¤ÍÂǤÁ¤¹¤ë¾ì¹ç¤Î³«»Ï°ÌÃÖ¤ò1¥Ô¥¯¥»¥ëº¸(¥Ç¥Õ¥©¥ë¥È¤Ï±¦)¤«¤é¤È # ¤¹¤ë¡£ # leftward_double_drawing = false # EastAsianWidth.txt ¤Ë´Ø¤ï¤é¤º¡¢¾ï¤ËÁ´³ÑÉý¤Çɽ¼¨¤¹¤ëʸ»ú¤ÎÈÏ°Ï # unicode_full_width_areas = # Open Type ¥Õ¥©¥ó¥È¤ÎÃÖ´¹¥°¥ê¥ÕÅù¤ò»È¤Ã¤Æ¥Æ¥­¥¹¥È¤òɽ¼¨ # use_ot_layout = false # Open Type ¥Õ¥©¥ó¥È¤ÎÃÖ´¹¥°¥ê¥ÕÅù¤ò»È¤¦¾ì¹ç¤Î script ¤ò»ØÄê # ot_script = latn # Open Type ¥Õ¥©¥ó¥È¤ÎÃÖ´¹¥°¥ê¥ÕÅù¤ò»È¤¦¾ì¹ç¤Î feature ¤ò»ØÄê # ot_features = liga,clig,dlig,hlig,rlig # -- Appearance ´ØÏ¢ -- # ÇØ·ÊÆ©²á¤¹¤ë # use_transbg = false # ÇØ·ÊÆ©²á¤Î¥¢¥ë¥Õ¥¡ÃÍ # alpha = 255 # Visual ¤Î¿¼¤µ (8,16,24,32) # depth = 0 # ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ò¤Ä¤±¤ë # use_scrollbar = true # ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¤Ä¤±Êý # scrollbar_mode = left # »È¤¤¤¿¤¤¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î̾Á° # (simple,sample,sample2,sample3,next,motif,athena,mozmodern) # scrollbar_view_name = simple scrollbar_view_name = sample # üËö²èÌ̤ÎÁ°·Ê¿§ # fg_color = black # Æ±ÇØ·Ê¿§ # bg_color = white # ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÁ°·Ê¿§ # sb_fg_color = # Æ±ÇØ·Ê¿§ # sb_bg_color = # ¥«¡¼¥½¥ë¤ÎÁ°·Ê¿§ # cursor_fg_color = # Æ±ÇØ·Ê¿§ # cursor_bg_color = # ¥Ü¡¼¥ë¥É¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ # bd_color = # ¥¤¥¿¥ê¥Ã¥¯¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ # it_color = # ¥¢¥ó¥À¡¼¥é¥¤¥ó¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤ò¤Ä¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ # ul_color = # ÅÀÌǤÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ # bl_color = # ÂǤÁ¾Ã¤·Àþ¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ # co_color = # CSI 38;2;r;g;b m Ëô¤Ï CSI 48;2;r;g;b m ¤Ç»ØÄꤵ¤ì¤¿ RGB ¤Ë¤è¤êɽ¼¨¤µ¤ì¤ë¿§¤Ë¤Ä # ¤¤¤Æ¡¢256¿§¤«¤é¤Î¶á»÷ÃͤȤ¹¤ë¤«¡¢high color Ëô¤Ï true color ¤Çɽ¼¨¤¹¤ë¤« # vt_color_mode = high # ¥¢¥ó¥À¡¼¥é¥¤¥ó¤òÉÁ²è¤·¤Ê¤¤¡£ # hide_underline = false # ¥¢¥ó¥À¡¼¥é¥¤¥ó¤Î°ÌÃÖ(¥Õ¥©¥ó¥È¤Î¥Ù¡¼¥¹¥é¥¤¥ó¤«¤é¤ÎÁêÂаÌÃÖ) # underline_offset = 0 # ¥Ù¡¼¥¹¥é¥¤¥ó¤ÎÁêÂаÌÃÖ # baseline_offset = 0 # ÊÉ»æ¤Ë¤¹¤ë²èÁü¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹ # wall_picture = # Focus ¤«¤é³°¤ì¤¿¤È¤­¤ÎÁ°·Ê/ÇØ·Ê¿§¤Î Fade Ψ(ɴʬΨ) # fade_ratio = 100 # ÇØ·Ê²èÁü(Æ©²á½èÍý´Þ¤à)¤Îµ±ÅÙÄ´À°(ɴʬΨ) # brightness = 100 # ÇØ·Ê²èÁü(Æ©²á½èÍý´Þ¤à)¤Î¥³¥ó¥È¥é¥¹¥È(ɴʬΨ) # contrast = 100 # ÇØ·Ê²èÁü(Æ©²á½èÍý´Þ¤à)¤Î¥¬¥ó¥ÞÃÍ(ɴʬΨ) # gamma = 100 # ¹Ô´Ö¤Î¹­¤µ # line_space = 0 # »ú´Ö¤Î¹­¤µ # letter_space = 0 # Window Manager ¤Î¾þ¤ê¤ò³°¤¹ # borderless = false # ¥«¡¼¥½¥ë¤òÅÀÌǤµ¤»¤ë # blink_cursor = false # -- ¤½¤Î¾ -- # XIM ¤ò»È¤¦ # use_xim = true # ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É # (xim,uim,scim,m17n-lib,ibus,fcitx,wnn,canna,skk,iiimf,none) # input_method = xim # ¥¿¥ÖÉý # tabsize = 8 # ¥í¥°¤Î¹Ô¿ô # logsize = 128 # ñ¸ì¤Î¶èÀÚ¤êʸ»ú¤ò»ØÄê # word_separators = " ,.:;/@" # ¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Ç URI ¤òÁªÂò # regard_uri_as_word = false # Meta ¥­¡¼¤È¤·¤Æ»ÈÍѤ¹¤ë¥­¡¼¤ò»ØÄê # (none,mod1,mod2,mod3,mod4,meta,alt,super,hyper) # mod_meta_key = none # Meta ¥­¡¼¤ò²¡²¼¤·¤¿»þ¤Îµóư # (none,esc,8bit) # mod_meta_mode = none # BEL(0x7)¤ò¼õ¤±¼è¤Ã¤¿»þ¤Îµóư(none,sound,visual,sound|visual) # bel_mode = sound # ¥Õ¥©¡¼¥«¥¹¤ò¼º¤Ã¤¿²èÌ̾å¤ÇBEL(0x7)¤ò¼õ¤±¼è¤Ã¤¿»þ¤Ë¡¢¥æ¡¼¥¶¤Ë·Ù¹ð¤¹¤ë¡£ # use_urgent_bell = false # daemon process ¤È¤Ê¤ë¤«¤É¤¦¤«(none,blend,genuine) # daemon_mode = none # ¥¹¥¯¥í¡¼¥ë¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤È¤·¤Æ¡¢PAGE_UP,PAGE_DOWN ¥·¥ç¡¼¥È¥«¥Ã¥È°Ê # ³°¤Ë¡¢Up,Down,j,k,Prior,Next ¥­¡¼µÚ¤Ó¡¢SCROLL_UP,SCROLL_DOWN ¥·¥ç¡¼¥È¥« # ¥Ã¥È¤òÍ­¸ú¤Ë¤¹¤ë¤«¤É¤¦¤« # use_extended_scroll_shortcut = false # pty ¤ò¥ª¡¼¥×¥ó¤·¤¿¤È¤­¤Ë¡¢Ã¼Ëö¤ËÁ÷¤é¤ì¤ë½é´ü²½Ê¸»úÎó¤ò»ØÄꤹ¤ë¡£ # init_str = # ¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Î´Ö³Ö(¥ß¥êÉÃ) # click_interval = 250 # ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë»þ¤ËüËö½ÐÎϤ¬¤¢¤Ã¤Æ¤â²èÌ̤¬Î®¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£ # static_backscroll_mode = false # ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ëÃæ¤Ë¡¢Ã¼Ëö½ÐÎϤ¬¤¢¤Ã¤¿¾ì¹ç¡¢¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¤òÈ´¤±¤ë¡£ # exit_backscroll_by_pty = false # pty ¤«¤éή¤ì¤Æ¤¯¤ë VT sequence ¤ò ~/.mlterm/[device].log ¤Ëµ­Ï¿¤¹¤ë¡£ # logging_vt_seq = false # ~/.mlterm/[device].log ¤Ëµ­Ï¿¤¹¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ØÄꤹ¤ë¡£(raw,ttyrec) # vt_seq_format = raw # ÎΰèÁªÂò¤·¤¿Ê¸»úÎó¤ò¥³¥Ô¡¼¤¹¤ëºÝ¤Ë PRIMARY ¤À¤±¤Ç¤Ê¤¯ CLIPBOARD ¤â»ÈÍѤ¹¤ë¡£ # use_clipboard = true # mlterm ¤¬½ÐÎϤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò ~/.mlterm/msg[pid].log ¤Ë½ÐÎϤ¹¤ë¡£ # logging_msg = true # ssh Åù¤Ë¤è¤êľÀÜ¥í¥°¥¤¥ó¤¹¤ë¥µ¡¼¥Ð¤Î¥ê¥¹¥È¤ò»ØÄꤹ¤ë¡£ # server_list = # ssh Åù¤Ë¤è¤êľÀÜ¥í¥°¥¤¥ó¤¹¤ë¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¡£ # default_server = # always_show_dialog = false # ssh Àܳ¤Îǧ¾Ú¤Ç»ÈÍѤ¹¤ë¸ø³«¸°¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡£ # ssh_public_key = # ssh Àܳ¤Îǧ¾Ú¤Ç»ÈÍѤ¹¤ëÈëÌ©¸°¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡£ # ssh_private_key = # ssh Àܳ¤Ç»ÈÍѤ¹¤ë¶¦Ä̸°°Å¹æ¤ò»ØÄꤹ¤ë¡£ # cipher_list = # ssh ÀÜÂ³Ãæ¤Ë¡¢»ØÄꤷ¤¿Éÿô¤´¤È¤Ë¡¢SSH_MSG_IGNORE ¤òÁ÷¿®¤¹¤ë¡£ # ssh_keepalive_interval = 0 # ssh Àܳ¤Ç x11 forwarding ¤òÍ­¸ú¤Ë¤¹¤ë¡£ # ssh_x11_forwarding = false # ssh Àܳ»þ¤Ë OSC 5379 scp ¤òµö²Ä¤¹¤ë¡£ # allow_scp = false # ssh ¤ÎÀܳ¤¬Í½´ü¤»¤ºÀÚÃǤ·¤¿¾ì¹ç¤Ë¡¢¼«Æ°Åª¤ËºÆÀܳ¤ò»î¤ß¤ë¡£ # ssh_auto_reconnect = false # SIGSEGV, SIGBUS, SIGFPE, SIGILL ¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¡¢mlterm ÆâÉô¤Î console # application (ssh Àܳ¤ò½ü¤¯¡£)¤ò°ú¤­·Ñ¤¤¤À mlterm ¤òµ¯Æ°¤·Ä¾¤¹¡£ # auto_restart = true # OSC 52 ¥·¡¼¥±¥ó¥¹¤Ë¤è¤ë¥¯¥ê¥Ã¥×¥Ü¡¼¥ÉÁàºî # allow_osc52 = false # local echo mode ¤òÍ­¸ú¤Ë¤¹¤ë¡£ # use_local_echo = false # Alternate screen buffer ¤òÍ­¸ú¤Ë¤¹¤ë¡£ # use_alt_buffer = true # ANSI color change escape sequences ¤òÍ­¸ú¤Ë¤¹¤ë¡£ # use_ansi_colors = true # OSC 5379 ¤Î "set_shortcut" ¤Ë¤è¤ëưŪ¤Ê¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ÄêµÁ¤òÍ­¸ú¤Ë¤¹¤ë¡£ # allow_change_shortcut = false # »Ò¥×¥í¥»¥¹(¥·¥§¥ë)¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¡£ # working_directory # ¥Ú¡¼¥¹¥È¤¹¤ëʸ»úÎó¤ÎËöÈø¤Î²þ¹Ô¤òºï½ü¤¹¤ë¡£ # trim_trailing_newline_in_pasting = false # ¥­¡¼ÆþÎϵڤӥڡ¼¥¹¥È¤µ¤ì¤¿Ê¸»úÎó¤ò¡¢Á´¤Æ¤Î pty (ignore_broadcasted_chars ¥ª¥× # ¥·¥ç¥ó¤ÎÃͤ¬ false ¤Ê¤â¤Î¤Ë¸Â¤ë) ¤ËÁ÷¿®¤¹¤ë¡£ # broadcast = false # broadcast ¥ª¥×¥·¥ç¥ó¤¬ true ¤Î¾ì¹ç¤Ç¤â¡¢¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤ò¼õ¤±ÉÕ¤±¤Ê¤¤¡£ # ignore_broadcasted_chars = false mlterm-3.8.4/etc/Makefile.in010064400017600000144000000015111321054731300143410ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ sysconfdir = @sysconfdir@ SYSCONFDIR=$(DESTDIR)$(sysconfdir)/mlterm RCFILES = font vfont tfont font-fb aafont vaafont taafont color termcap key xim main # GEN_RCFILES = FONT_win32 = font.win32 FONT_quartz = font.cocoa INSTALL=@INSTALL@ all .DEFAULT: @echo "no such a target" $(SYSCONFDIR): mkdir -p $(SYSCONFDIR) install: $(SYSCONFDIR) for file in $(RCFILES) ; do $(INSTALL) -m 644 $(top_srcdir)/etc/$${file} $(SYSCONFDIR)/$${file} ; done # for file in $(GEN_RCFILES) ; do $(INSTALL) -m 644 $(top_builddir)/etc/$${file} $(SYSCONFDIR)/$${file} ; done if test "${FONT_@GUI@}" != "" ; then $(INSTALL) -m 644 $(top_srcdir)/etc/${FONT_@GUI@} $(SYSCONFDIR)/font ; fi uninstall: for file in $(RCFILES) ; do rm -f $(SYSCONFDIR)/$${file} ; done distclean: rm -f Makefile mlterm-3.8.4/etc/termcap010064400017600000144000000003001321054731300136450ustar kenusersmlterm:\ k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~ xterm:\ ut rxvt:\ kh=\E[7~:@7=\E[8~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:ut kterm:\ kb=^H:kD=^?:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~ mlterm-3.8.4/etc/vfont010064400017600000144000000007061321054731300133600ustar kenusers#ISO8859_1 = 12,-mona-*-medium-r-*-12-*-jisx0201*:100; #ISO8859_1_BOLD = 12,-mona-*-bold-r-*-12-*-jisx0201*:100; #JISX0201_KATA = 12,-mona-*-medium-r-*-12-*-jisx0201*; #JISX0201_KATA_BOLD = 12,-mona-*-bold-r-*-12-*-jisx0201*; #JISX0201_ROMAN = 12,-mona-*-medium-r-*-12-*-jisx0201*; #JISX0201_ROMAN_BOLD = 12,-mona-*-bold-r-*-12-*-jisx0201*; #JISX0208_1983 = 12,-mona-*-medium-r-*-12-*-jisx0208*; #JISX0208_1983_BOLD = 12,-mona-*-bold-r-*-12-*-jisx0208*; mlterm-3.8.4/etc/tfont010064400017600000144000000003361321054731300133550ustar kenusers# ISO8859_1 = -*-medium-*--%d-*-*-*-vc-*-iso8859-1:100; # ISO8859_1_BOLD = -*-bold-*--%d-*-*-*-vc-*-iso8859-1; # JISX0208_1983 = -*-medium-*--%d-*-vc-*-jisx0208.*; # JISX0208_1983_BOLD = -*-bold-*--%d-*-vc-*-jisx0208.*-0; mlterm-3.8.4/etc/key010064400017600000144000000024061321054731300130130ustar kenusers#### Default settings # UNUSED=IM_HOTKEY # Control+F1=OPEN_SCREEN # Control+F2=OPEN_PTY # Control+F3=NEXT_PTY # Control+F4=PREV_PTY # Shift+F1=HSPLIT_SCREEN # Shift+F2=VSPLIT_SCREEN # Shift+F3=NEXT_SCREEN # Shift+F5=CLOSE_SCREEN # Shift+F6=HEXPAND_SCREEN # Shift+F7=VEXPAND_SCREEN # Shift+Prior=PAGE_UP # Shift+Up=SCROLL_UP # Shift+Insert=INSERT_SELECTION # UNUSED=SWITCH_OSC52 # UNUSED=EXIT_PROGRAM # Control+Button1="menu:mlterm-menu" # Control+Button3="menu:mlconfig" #### Examples # Control+Right=NEXT_PTY # Control+Left=PREV_PTY # Button7=NEXT_PTY # Button6=PREV_PTY # Control+F5="proto:mlclient --serv localhost -e screen -xR" # Control+F6="w3m http://www.google.co.jp/\n" # Control+F7="proto:font_size=12;encoding=utf8" # Control+F8="proto:input_method=ibus" # Control+F9="proto:aafont:DEFAULT=Kochi Gothic" # Control+F10="proto:color:black=rgb:ff/00/00" # Control+F11="proto:use_local_echo=true" # Control+F12="proto:use_local_echo=false" # Control+F13="proto:broadcast=switch" # Control+F14="proto:ignore_broadcasted_chars=switch" # Button3="exesel:mlclient -e w3m" # Button3="exesel:\"/cygdrive/c/Program Files/Internet Explorer/iexplore.exe\"" # Button3="exesel:/cygdrive/c/Program\\ Files/Internet\\ Explorer/iexplore.exe" # Button4="\x1bOA\x1bOA" # Button5="\x1bOB\x1bOB" mlterm-3.8.4/etc/main010064400017600000144000000074121321054731300131510ustar kenusers# # Copy to ~/.mlterm/main # # -- Window -- # display = # geometry = # app_name = mlterm # title = mlterm # icon_name = mlterm # icon_path = # screen_width_ratio = 100 # inner_border = 2 # layout_inner_border = 0 # -- Terminal -- # use_login_shell = false # (xterm,mlterm,kterm) # termtype = xterm # max_ptys = 32 # startup_screens = 1 # default_cell_size = 8,16 # console_sixel_colors = 16 # -- Encoding -- # (ISO-8859-[1-11], ISO-8859-[13-16], TIS-620 (same as ISO-8859-11), # KOI8-[RUT], ISCII, VISCII, TCVN5712, GEORGIAN_PS, CP125[0-8], CP874, # EUC-JP, EUC-JISX0213, Shift_JIS, Shift_JISX0213, ISO-2022-JP[1-3], # EUC-KR, UHC, JOHAB, ISO-2022-KR, GB2312 (EUC-CN), GBK, GB18030, # ISO-2022-CN, HZ, EUC-TW, BIG5, BIG5HKSCS, UTF-8, AUTO) # ENCODING = auto # use_ctl = true # (normal,left,right) # bidi_mode = normal # bidi_separators = # use_combining = true # use_dynamic_comb = false # (assamese,bengali,gujarati,hindi,kannada,malayalam,oriya,punjabi,roman,tamil,telugu) # iscii_lang = malayalam # big5_buggy = false # col_size_of_width_a = 1 # (none,cjk,mongol) # vertical_mode = none # use_vertical_cursor = false # use_multi_column_char = false # receive_string_via_ucs = false # auto_detect_encodings = # use_auto_detect = false # console_encoding = auto # -- Font -- # fontsize = 16 # font_size_range = 6-30 # step_in_changing_font_size = 1 # use_point_size = false # use_variable_column_width = false # type_engine = cairo # use_anti_alias = false # use_cp932_ucs_for_xft = true # not_use_unicode_font = false # unicode_noconv_areas = # only_use_unicode_font = false # iso88591_font_for_usascii = false # box_drawing_font = noconv # compose_dec_special_font = false # use_bold_font = true # use_italic_font = true # leftward_double_drawing = false # unicode_full_width_areas = # use_ot_layout = false # ot_script = latn # ot_features = liga,clig,dlig,hlig,rlig # -- Appearance -- # use_transbg = false # alpha = 255 # (8,16,24,32) # depth = 0 # use_scrollbar = true # scrollbar_mode = left # (simple,sample,sample2,sample3,next,motif,athena,mozmodern) # scrollbar_view_name = simple # fg_color = black # bg_color = white # sb_fg_color = # sb_bg_color = # cursor_fg_color = # cursor_bg_color = # bd_color = # it_color = # ul_color = # bl_color = # co_color = # vt_color_mode = high # hide_underline = false # underline_offset = 0 # baseline_offset = 0 # wall_picture = # fade_ratio = 100 # brightness = 100 # contrast = 100 # gamma = 100 # line_space = 0 # letter_space = 0 # borderless = false # blink_cursor = false # -- Others -- # use_xim = true # (xim,uim,scim,m17n-lib,ibus,fcitx,wnn,canna,skk,iiimf,none) # input_method = xim # tabsize = 8 # logsize = 128 # word_separators = " ,.:;/@" # regard_uri_as_word = false # (none,mod1,mod2,mod3,mod4,meta,alt,super,hyper) # mod_meta_key = none # (none,esc,8bit) # mod_meta_mode = none # (none,sound,visual,sound|visual) # bel_mode = sound # use_urgent_bell = false # (none,blend,genuine) # daemon_mode = none # use_extended_scroll_shortcut = false # init_str = # click_interval = 250 # static_backscroll_mode = false # exit_backscroll_by_pty = false # logging_vt_seq = false # (raw,ttyrec) # vt_seq_format = raw # use_clipboard = true # logging_msg = true # server_list = # default_server = # always_show_dialog = false # ssh_public_key = # ssh_private_key = # cipher_list = # ssh_keepalive_interval = 0 # ssh_x11_forwarding = false # allow_scp = false # ssh_auto_reconnect = false # auto_restart = true # allow_osc52 = false # use_local_echo = false # use_alt_buffer = true # use_ansi_colors = true # allow_change_shortcut = false # working_directory = # trim_trailing_newline_in_pasting = false # broadcast = false # ignore_broadcasted_chars = false mlterm-3.8.4/etc/font010064400017600000144000000013621321054731300131710ustar kenusers#DEFAULT = -kochi-mincho-medium-r-*--%d-*- #DEFAULT_ITALIC = -mona-gothic-medium-i-*--%d-*- #DEC_SPECIAL = 10,a10;12,6x12;14,7x14;16,8x16; #ISO8859_1 = -kochi-mincho-medium-r-*--%d-*-iso8859-1;10,a10;12,6x12; #ISO8859_1_BOLD = 10,a10B;14,7x14bold; #JISX0201_KATA = 10,r10;12,r12;14,r14;16,r16; #JISX0201_KATA_BOLD = 10,r10; #JISX0201_ROMAN = 10,r10;12,r12;14,r14;16,r16; #JISX0208_1983 = 10,k10;12,k12;14,k14;16,kanji16; #JISX0208_1983_BOLD = 10,k10B; #TCVN5712 = 14,-*-.vntime-*--14-*-iso8859-1; ISCII_BENGALI = -freetype-bn ttdurga-medium-r-normal--17-120-100-100-p-57-iso10646-1 ISCII_HINDI = -freetype-dv ttyogesh-medium-r-normal--17-120-100-100-p-63-iso10646-1 ISCII_TAMIL = -freetype-tm ttvalluvar-medium-r-normal--17-120-100-100-p-107-iso10646-1 mlterm-3.8.4/etc/aafont010064400017600000144000000026061321054731300134750ustar kenusers#DEFAULT=Kochi Gothic #ISO8859_1=Courier 10 Pitch #ISO8859_2=Thryomanes #ISO8859_3=Thryomanes #ISO8859_4=Thryomanes #ISO8859_5=Thryomanes #ISO8859_7=Thryomanes #ISO8859_9=Thryomanes #ISO8859_10=Thryomanes #ISO8859_13=Thryomanes #ISO8859_14=Thryomanes #ISO8859_15=Thryomanes #KOI8_R=Nimbus Mono L #KOI8_U=Nimbus Mono L #JISX0208_1978=Kochi Gothic #JISX0208_1983=Kochi Gothic #JISX0208_1990=Kochi Gothic #KSX1001_1997=dotum #BIG5=AR PL Mingti2L Big5 #GB2312_80=AR PL SungtiL GB #GBK=AR PL SungtiL GB #ISO10646_UCS4_1=Courier 10 Pitch #ISO10646_UCS4_1=Thryomanes # Japanese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=Kochi Gothic # Unicode Hankaku kana. #U+FF61-FF9F=Kochi Gothic # Korean speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=dotum # Traditional Chinese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=AR PL Mingti2L Big5 # Simplified Chinese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=AR PL SungtiL GB #ISCII_ASSAMESE = AS-TTDurga 26 ISCII_BENGALI = BN-TTDurga 26 #ISCII_GUJARATI = GJ-TTAvantika 21 ISCII_HINDI = DV-TTYogesh 23 #ISCII_KANNADA = KN-TTUma 25 #ISCII_MALAYALAM = ML-TTKarthika 23 #ISCII_ORIYA = OR-TTSarala 26 #ISCII_PUNJABI = PN-TTAmar 30 ISCII_TAMIL = TM-TTValluvar 18 #ISCII_TELUGU = TL-TTHemalatha 25 # For powerline. #U+E000-E0FF = PowerlineSymbols mlterm-3.8.4/etc/vaafont010064400017600000144000000017451321054731300136660ustar kenusers#DEFAULT=Kochi Gothic #ISO8859_1=Courier 10 Pitch #ISO8859_2=Thryomanes #ISO8859_3=Thryomanes #ISO8859_4=Thryomanes #ISO8859_5=Thryomanes #ISO8859_7=Thryomanes #ISO8859_9=Thryomanes #ISO8859_10=Thryomanes #ISO8859_13=Thryomanes #ISO8859_14=Thryomanes #ISO8859_15=Thryomanes #KOI8_R=Nimbus Mono L #KOI8_U=Nimbus Mono L #JISX0208_1978=Kochi Gothic #JISX0208_1983=Kochi Gothic #JISX0208_1990=Kochi Gothic #KSX1001_1997=dotum #BIG5=AR PL Mingti2L Big5 #GB2312_80=AR PL SungtiL GB #GBK=AR PL SungtiL GB #ISO10646_UCS4_1=Courier 10 Pitch #ISO10646_UCS4_1=Thryomanes # Japanese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=Kochi Gothic # Korean speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=dotum # Traditional Chinese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=AR PL Mingti2L Big5 # Simplified Chinese speakers may want to enable the following setting. #ISO10646_UCS4_1_FULLWIDTH=AR PL SungtiL GB mlterm-3.8.4/win32004075500017600000144000000000001321054731300124115ustar kenusersmlterm-3.8.4/win32/plink004075500017600000144000000000001321054731300135265ustar kenusersmlterm-3.8.4/win32/plink/plink.diff010064400017600000144000000023351321054731300155540ustar kenusersCommon subdirectories: putty-src/WINDOWS/MSVC and mlterm/putty-src/WINDOWS/MSVC diff -u putty-src/WINDOWS/WINPLINK.C mlterm/putty-src/WINDOWS/WINPLINK.C --- putty-src/WINDOWS/WINPLINK.C Wed Mar 18 00:06:07 2009 +++ mlterm/putty-src/WINDOWS/WINPLINK.C Mon Mar 16 20:03:32 2009 @@ -240,6 +240,23 @@ noise_ultralight(len); if (connopen && back->connected(backhandle)) { if (len > 0) { + int i ; + unsigned char *d = data ; + for( i = 0 ; i < len ; i++) { + if( d[i] == 0xff && i + 5 <= len) { + int col ; + int row ; + int ret = 0 ; + if( i > 0) ret += back->send(backhandle, data, i) ; + col = ((d[++i] << 8) & 0xff) + d[++i] ; + row = ((d[++i] << 8) & 0xff) + d[++i] ; + back->size( backhandle, col, row) ; + if( ++i < len) ret += back->send(backhandle, d + i, len - i) ; + fprintf( stderr, "RET VALUE %d\n", ret) ; + return ret ; + } + } + return back->send(backhandle, data, len); } else { back->special(backhandle, TS_EOF); mlterm-3.8.4/win32/plink/LICENCE010064400017600000144000000027361321054731300145770ustar kenusersplink.exe in this directory is derived from "plink" of PuTTY project. (http://www.chiark.greenend.org.uk/~sgtatham/putty/) Original license is as follows. ------------------------------------------------------------------- PuTTY is copyright 1997-2007 Simon Tatham. Portions copyright Robert de Bath, Joris van Rantwijk, Delian Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry, Justin Bradford, Ben Harris, Malcolm Smith, Ahmad Khalifa, Markus Kuhn, and CORE SDI S.A. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. mlterm-3.8.4/win32/plink/plink.exe010075500017600000144000012120001321054731300154210ustar kenusersMZÿÿ¸@€º´ Í!¸LÍ!This program cannot be run in DOS mode. $PELXÈIà 8þ:€@€'Ä P”`4.texttüþ``.data @À.rdata@æ è@@.bss 8€À.idata”Pî@À.rsrc4`þ@ÀU‰åƒì‰]ø‹E1Û‰uü‹1ö‹=‘ÀwC=Àr[¾Ç$1Ò‰T$èÌøƒøtz…ÀtÇ$ÿлÿÿÿÿ‰Ø‹uü‹]ø‰ì]Â=”ÀtÂwJ=“Àt´‰Ø‹uü‹]ø‰ì]Â=Àt[=ÀuÅÇ$1ö‰t$èhøƒøtj…ÀtªÇ$ÿÐëš=–ÀëÑÇ$¸‰D$è8ø…ö„vÿÿÿè“ñélÿÿÿÇ$ 1À‰D$èøƒøt0…À„RÿÿÿÇ$ ÿÐé?ÿÿÿÇ$¹‰L$èä÷é%ÿÿÿÇ$ ¸‰D$èÊ÷é ÿÿÿ¶¼'U‰åSƒì$Ç$@èEùƒìèðèñÇEøEø‰D$¡PDÇ$E‰D$ Eô‰D$¸E‰D$è}÷¡°EE…Àtd£`D‹äSE…Ò…¡ƒúàt¡°EE‰D$¡äSE‹@0‰$è;÷‹äSEƒúÀt(¡°EE‰D$¡äSE‹@P‰$è÷ë èûö‹`D‰èïƒäðèöîèÑö‹‰D$¡E‰D$¡E‰$èÕ«‰Ãè¦ö‰$èFø¶‰D$¡äSE‹@‰$è¤ö‹äSEé@ÿÿÿU‰åƒìÇ$ÿØSEè¸þÿÿ´&U‰åƒìÇ$ÿØSEè˜þÿÿ´&U‹ TE‰å]ÿát&U‹ ìSE‰å]ÿáU‰å]éGðU‰åƒì‰uø‰Æ‹E‰]ô‰}ü@‰×…‹ƒ<E;ƒ@E}"‹“8E‰4‰|Â@‰ƒ<E‹]ô‹uø‹}ü‰ì]ÃÀ º‰ƒ@E‰T$‰D$‹ƒ8E‰$è<3‰ƒ8E‰Â‹ƒ<E‰4‰|Â@‰ƒ<E‹]ô‹uø‹}ü‰ì]ÃvU‰åƒì‰]ø»‰uü¾8E‹ƒÆ ‰$èÝ4Kyð‹]ø‹uü‰ì]ÃU‰åƒì‰]ø‹ E‹U ‰uü‹]…É”À…Ò• Шuƒ{t¸ÿÿÿÿ‹]ø‹uü‰ì]Ãv‹s‹‹B…Àuâ1Àƒ=(EuÜ‹B ‰L$‰D$‹1ö‹@‰$èõ‹C‹‹P‹@ ÆDÿ‹E‰$èñô‰D$‰t$‰$èéô¹¸‰ (Eë‚ë U1ɉåƒì…EuɉÈÉT$Ç$0 Dè,£ɹ‰ÈÃvU¹‰åüƒì8‰]ô‹]‰uø‰}ü‰ÞÇEð¿W Dó¦uH‹E ºþÿÿÿ…Àt-‹Eº…Àx!‹E‰D$‹U ‰$èܲ¸£0GEº‹]ô‰Ð‹uø‹}ü‰ì]Ãü¿] D¹‰Þó¦uo‹Eº…ÀxÔ‰Ú¸è5ÿÿÿ…Àºu¿‹}…ÿ… ‹Eº¾»¹‰°‰0HE‰ˆ‰€GEº‹]ô‰Ð‹uø‹}ü‰ì]Ãü¿b D¹‰Þó¦um‹Eº…ÀˆPÿÿÿ‰Ú¸è±þÿÿ…Àº…7ÿÿÿ‹E…À…‹U¸‰‚¸£0HE¸‰‚¸£€GEºéuÿÿÿfü¿j D¹‰Þó¦ub‹}º…ÿˆÒþÿÿ‰Ú¸è3þÿÿ…Àº…¹þÿÿ‹u…ö…‹E»¹º‰˜‰ 0HE‰¸é|ÿÿÿü¿r D¹‰Þó¦„rü¿w D¹‰Þó¦uÇEð‹Eº…ÀˆCþÿÿƒ ÐGEü¿z D¹‰Þó¦uu‹E ºþÿÿÿ…À„þÿÿÇEð‹Eº…Àˆþÿÿ‰Ú¸èeýÿÿ…Àº…ëýÿÿ‹E…À…P¸d‰D$‹E ‰D$‹Eð‰$èýñ‹UÆ‚Sü¿} D¹‰Þó¦t$¿€ D¹‰Þó¦t¿ƒ D¹‰Þó¦…Ž‹} ºþÿÿÿ…ÿ„qýÿÿÇEð‹uº…öˆZýÿÿ‰Ú¸è»üÿÿ…Àº…Aýÿÿ‹M…É…¦ü‰Þ¿ƒ D¹ó¦”À‹u¶À‰Eè‹EÆ$!€¸$!„»F€>uúF€>ëîÇEð‹}º…ÿˆâüÿÿ‰Ú¸èCüÿÿ…Àº…Éüÿÿ‹u…öu‹U1É1À‰Š£0HEé@þÿÿÇ$‹U ‰ØèwúÿÿºéýÿÿÇ$‹U ‰Øè\úÿÿéuüÿÿ¸þ)ø‰D$‹E ‰4$‰D$èð‹}è…ÿuH‰4$¹:‰L$èmð‰Eì…À‰Çt.Gº:‰T$‰$èPð…Àt‰}ì…À‰Çuß‹Eì…Àt‹UìÆ ‹EÆ€#%Æ€"%‰4$è%ðÆD0ü¿† D¹‰Þó¦…Ï‹} ºþÿÿÿ…ÿ„ÎûÿÿÇEð‹uº…öˆ·ûÿÿ‰Ú¸èûÿÿ…Àº…žûÿÿ‹M…É…ÿÿÿ‹u ¶„À•Â<:•À¶À…„*F¶„É•À1Ò€ù:•Â…Ðuë„É„‹U ‰ð)Ð=ÿv¸ÿ‰D$‹E ‰D$‹E¬ ‰$èjï‹UFÆ‚«‰$è5ï‹U‰‚¬ü¿Š D¹‰Þó¦…‹E ºþÿÿÿ…À„êúÿÿÇEð‹Eº…ÀˆÓúÿÿ‰Ú¸è4úÿÿ…Àº…ºúÿÿ‹E…À…þÿÿÇEภD1ÿÇEä‰D$‹E ‰$èÐî‰EÜ…ÀuéM;}àó¶UØ‹EäˆGFt`‹E܉$èrî‰E؃øÿ‰ÆuÔÇEØëË‹U‰ð)иÜÞÿÿ¶Cˆ‹U F‰$èXÀ)ú9ІŸýÿÿÇ$ DèÊœéúÿÿ‹U1ö¹‰‚0 ‰²4 ‰Š8 ü¿² D¹‰Þó¦u_‹E ºþÿÿÿ…À„ËùÿÿÇEð‹Eº…Àˆ´ùÿÿ‰Ú¸èùÿÿ…Àº…›ùÿÿ‹E…À…6‹E ‰$è¢í‹U‰‚ü¿µ D¹‰Þó¦ug‹E ºþÿÿÿ…À„[ùÿÿÇEð‹Eº…ÀˆDùÿÿ‰Ú¸è¥øÿÿ…Àº…+ùÿÿ‹E…À…Æ‹Eƒ¸„öÇ$¼ DèÁ›ü¿ò D¹‰Þó¦t ¿ù D¹‰Þó¦t¿!D¹ ‰Þó¦uIÇEð‹uº…öˆ¼øÿÿ‰Ú¸èøÿÿ…Àº…£øÿÿ‹M…É…íûÿÿ‹Eº‰d ü¿ !D¹ ‰Þó¦t ¿!D¹ ‰Þó¦t¿!D¹ ‰Þó¦uFÇEð‹Eº…ÀˆBøÿÿ‰Ú¸è£÷ÿÿ…Àº…)øÿÿ‹E…À…sûÿÿ‹U1ÿ‰ºd ü¿(!D¹‰Þó¦uIÇEð‹uº…öˆë÷ÿÿ‰Ú¸èL÷ÿÿ…Àº…Ò÷ÿÿ‹M…É…ûÿÿ‹Eº‰h ü¿+!D¹‰Þó¦uFÇEð‹Eº…Àˆ‘÷ÿÿ‰Ú¸èòöÿÿ…Àº…x÷ÿÿ‹E…À…Âúÿÿ‹U1ÿ‰ºh ü¿.!D¹‰Þó¦uIÇEð‹uº…öˆ:÷ÿÿ‰Ú¸è›öÿÿ…Àº…!÷ÿÿ‹M…É…kúÿÿ‹Eº‰” ü¿1!D¹‰Þó¦uFÇEð‹Eº…Àˆàöÿÿ‰Ú¸èAöÿÿ…Àº…Çöÿÿ‹E…À…úÿÿ‹U1ÿ‰º” ü¿4!D¹‰Þó¦uFÇEð‹uº…öˆ‰öÿÿ‰Ú¸èêõÿÿ…Àº…pöÿÿ‹M…É…€‹E1Ò‰8 ü¿7!D¹‰Þó¦uIÇEð‹Eº…Àˆ2öÿÿ‰Ú¸è“õÿÿ…Àº…öÿÿ‹E…À…)‹U¿‰º8 ü¿:!D¹‰Þó¦uIÇEð‹uº…öˆØõÿÿ‰Ú¸è9õÿÿ…Àº…¿õÿÿ‹M…É… ùÿÿ‹Eº‰¨ ü¿=!D¹‰Þó¦uIÇEð‹Eº…Àˆ~õÿÿ‰Ú¸èßôÿÿ…Àº…eõÿÿ‹E…À…¯øÿÿ‹U¿‰º< ü¿@!D¹‰Þó¦uFÇEð‹uº…öˆ$õÿÿ‰Ú¸è…ôÿÿ…Àº… õÿÿ‹M…É…Uøÿÿ‹E1Ò‰Œ ü¿C!D¹‰Þó¦uIÇEð‹Eº…ÀˆÍôÿÿ‰Ú¸è.ôÿÿ…Àº…´ôÿÿ‹E…À…þ÷ÿÿ‹U¸‰‚Œ ü¿F!D¹‰Þó¦ue‹E ºþÿÿÿ…À„zôÿÿÇEð‹Eº…Àˆcôÿÿ‰Ú¸èÄóÿÿ…Àº…Jôÿÿ‹}…ÿ…¯÷ÿÿ‹E‹U ˆ ‰T$‰$è…gƒìü¿I!D¹‰Þó¦t¿L!D¹‰Þó¦u*ƒ}ÇEðºŒîóÿÿ…‹E¾‰°ü¿R!D¹‰Þó¦t¿U!D¹‰Þó¦u*ƒ}ÇE𺌣óÿÿ…¸‹U¹‰Š‹Uðé‡óÿÿt&—¸‰Uà‰D$‰T$‹Eä‰$èï$‰EäéäøÿÿÇ$éÅöÿÿ‹U ¶ éà÷ÿÿÇ$\!Dèô•é-óÿÿ‹U Ç$ˆ!D‰T$èÜ•éóÿÿ‹U 1ÿ‰$èê#£E‹E ‰$è*ç‰D$‰|$‹U ‰$èçéáùÿÿÇ$é5öÿÿ¶U‰åWV1öSƒì‹}ÇEð‹†<E1Û…À~;ë ‰|$ 1À‰D$‹†8E‹T؉T$‹ØC‰$èòÿÿ9ž<EÔÿEðƒÆ ƒ}ð~­ƒÄ[^_]ÃU‰å‹E ‹U‹Æ ÿ]ö¼'U‰åWVSìl‹u‹†¨&…À…£~4–‰û‰•œþÿÿ…À„àƒ¾°&ÿ„Ó…ÀuY€½Øþÿÿ…è¶…Ùþÿÿ„À„øƒ~@¶À‰†¨&„‹†¨&…À„’9†¬&|¢1ÀÄl[^_]ô&ƒ¾°&ÿ„$‰$èk‹–´&9ÐŒo‰T$…Øþÿÿ‰D$‰$臋†´&‰$‰D$èõ$‹†°&ƒø„öd…Àup€½Øþÿÿ…ÇF@ëZ‰<$èHŽ ‰<$¸‰D$…Øþÿÿ‰D$è ‰<$¸‰D$è$‹†¨&éçþÿÿt&ƒø„k´&ÿ†¬&¸ÿÿÿÿƒ~@‰†°&…ëþÿÿ‹†¨&9†¬&Œßþÿÿ1À1É1Ò‰†´&1À‰Ž¨&‰–¬&érþÿÿt&9†¬&ŒQþÿÿé»þÿÿ¶…Øþÿÿ‰†°&¶…Ùþÿÿ‰†´&é½þÿÿÆ…¸þÿÿÆ…¹þÿÿÆ…ºþÿÿÆ…»þÿÿ‹–´&‰•¤þÿÿè{‰… þÿÿ‹…œþÿÿ‰$è?äƒø@ŽÆ‰D$‹…œþÿÿ•¨þÿÿ‰T$‰$èšz¹•¨þÿÿ‰L$‰T$‹… þÿÿ‰$èéz‹…¤þÿÿ•¼þÿÿ‰T$ •Øþÿÿ‰D$‹… þÿÿ‰T$‰$è­|‹• þÿÿ‰$èŸz‹Fº‹‰T$•¸þÿÿ‰T$‰$ÿQéœþÿÿ€½Øþÿÿ…„þÿÿ‹F »@1ö¹°!D‹‰t$ ‰\$‰L$ë,‰D$‹•œþÿÿéVÿÿÿ‹F 1ÿ¾@»"D‹‰|$ ‰t$‰\$‰$ÿR¸éRýÿÿ‹F 1Û¹@¿8"D‹‰\$ ‰L$‰|$ëÑ‹F »@1ö¹p"D‹‰t$ ‰\$‰L$ë²¶U‰åVSì ‹u€¾œu €¾„ñÆ…èýÿÿžœ‰ÙÆ…éýÿÿÆ…êýÿÿÆ…ëýÿÿÆ…ìýÿÿ…Æ…íýÿÿv¼'‹ƒÃÿþþþ÷Ð!Â €€té÷€€uÁêƒÃÒƒÛ)Ëûÿ~v»ÿˆîýÿÿ…ïýÿÿ‰\$‰L$‰$è[â‹VC‹ ‰D$…èýÿÿ‰D$‰$ÿQÇF@1À‰†¨&1À‰†¬&¸ÿÿÿÿ‰†°&1À‰†´&Ä ¸[^]Ã…Û‹»ë„‹F »@1ö¹¨"D‹‰t$ ‰\$‰L$‰$ÿRÄ ¸[^]ÃU‰åƒì‰T$‹M1Ò‰T$‰L$ ‹@‰$èþÉö¿U‰ÁˆÐ, ‰å<^Svb€úŸwB„Ò»y4‹ ‹Ü…ÀtX€ú¿»w‹™Ü…Ûu]‹Œx éýtN»‰Ø[]Ë‹˜Ü…Ûu²‹€Œx éýt£»‰Ø[]ö‹Œx éýt™‹™Ü…Ût£¾ÂÁè€ú¿–Â1Û…Âu¥»ëž´&¼'UˆÑ‰åV‰ÆˆÐS, ƒì0ˆUç<^†‹‹Ü…Òt1„Éx}€ù²?tˆÊ€Â@ÆEä^EäˆP‰ÂÇ$‰ðè¿þÿÿƒÄ0[^]Ë€Œ‹X ûéý•Â1À€ùŸ—À…Âu2ûéýt©„Éy©¶Á]è‰D$¸ð"D‰D$‰$è;àÇ$‰Úë¢Ç$Uç‰ðèWþÿÿƒÄ0[^]ÃU‰åV‰ÆSƒì‰ÓëfÇ$º÷"D‰ðè-þÿÿKƒûÿuçƒÄ[^]ÃU¹$‰åƒì‰L$‰]ô‰uø‹u ‰}ü‹}Ç$è&Ç@‰Ã…öÇ@Ç@Ç@ ‹E‰{‰3‰C‹E‰C ‹E‰Ct‰ž€…ÿt ‰\$‹E‰$ÿW0‰Ø‹uø‹]ô‹}ü‰ì]ô&U‰åSƒì‹]‹…Àt1Ò‰€‹S…Òu‹C…Àu*‰]ƒÄ[]éM1À‰D$‹C ‰$ÿR0‹C…ÀtÝ´&‰$è(‰]ƒÄ[]ét&¼'U‰åWVSƒì‹}ÇEè‹E ‹U…ÿ‹]‰Eð‰Uì…¶‹K1ö‹(…Àu.¾‰u‹$1ö…Àtsƒøt9‰u ‹C‰EƒÄ[^_]éyƒøuÒ1Ò‹C‰T$‹S ‰$ÿP,…À„U‹K뮿‹C‰|$‹S ‰$ÿP,…Àu¹‰L$‹‰$è…Àt—t&‹C¾‰u ‰EƒÄ[^_]é¶‹C‰$è5Q…ÿˆ‹C‹€(…À…̶¿Oƒÿÿ„¨‹Uð¾‹UèÿEð4‹Eì…À”Â1Àƒþ ”À…ÂtÆ‹C …Àu6ƒþ„¿Wƒþ „c¶ƒþ„Xƒþ„<¶‹S‹K;Sò‰ðˆ ‹CÿC‹€$…À„ȃø„•ÇC Oƒÿÿ…XÿÿÿƒÄ[^_]öƒø„‹S…Ò…E…ÿ~Ú‹C‹€$…À„ƒø„á‹Eè…Àt‹K‹±ƒþ”À1Òƒÿ”Â…Ð…=‹Uð‹C‰}‰U ‹S ‹H ‰UƒÄ[^_]ÿẋC‰T$‹S ‰$ÿP,…À„â¶¼'‰ð¶Ð‰Øè”ûÿÿé0ÿÿÿ‚º‰C‰T$‰ $‰D$è‰C‹S‰Áéãþÿÿt&ƒþtuƒþ„ðƒþ…·þÿÿƒ{ëƒø„w‹CH…À‰CŽ‹C‹€$…ÀuÛ‹C‹S¶Tÿ‰ØèIúÿÿ‰Â‰ØèÀûÿÿëÇÇC éòýÿÿƒþ„^ƒþë—þ „ÔŽüþ…6þÿÿ‹K…ÉJéºýÿÿƒø„Z‹S‹KBÿ‰C‹¶Tÿ‹ˆÜ…Éu‹€Œx éý…ýÿÿ€Â€€ú?‡uýÿÿ‹C‹€$…Àu®‹C‹S¶Tÿ‰Øè–ùÿÿ‰Â‰Øè ûÿÿëš‹C‹…Ò…ªýÿÿ‹S…ÒŽ¢ýÿÿ‹K€|ÿ …—ýÿÿ‹€$…À„’ƒø„fBÿ‰C‹S…Ò~‹C‰T$‹S‰T$‹S ‰$ÿP ‹S‹‚…À„»Hu‹‚…À…¸‹S‰D$¸û"D‰D$‹C ‰$ÿR ‹C‹€$…À„ƒø„ØÇCé€üÿÿ‹Eð‰$è%ÚÇEè‰ÇéJüÿÿ´&‹S…ÒŽUüÿÿ‹C‹€$…À„÷ƒø„ÎBÿ…À‰C~Ñ‹K¶Tÿ¡ÌSEƒ8…˜¡ðSE‹·Pƒà…Àt©¡ÌSE‹S‹Kƒ8¶ …P¡ðSE‹·Pƒà…À…{ÿÿÿéÖûÿÿþéÿýÿÿ¹‰L$‹‰$èxˆ…À„Qüÿÿé ýÿÿ‹Uð¾ƒø „Á®ƒø„Fƒø…œüÿÿ‹…À„Žüÿÿ‹CÇE ‹S ‹H‰UƒÄ[^_]ÿá‹S…Ò…K‹S¹ ‰L$‹C ‰$ÿRé5ûÿÿ1À‰D$‹‰$è凅À…“úÿÿ‹KéCúÿÿt&º‹C‰T$‹S ‰$ÿP‹C‹€…À„Zûÿÿƒþ„ƒþ„pƒþ…Ïúÿÿ‹S¹é{ÿÿÿfº‹C‰T$‹S ‰$ÿP,…À…ˆüÿÿ¹‰L$‹‰$èP‡…À„Qüÿÿéhüÿÿ‰$¾‰t$èRØé`þÿÿº‹C‰T$‹S ‰$ÿP,…À„h‹S‹C¶Tÿ‰Øè~öÿÿ‰Â‰Øèõ÷ÿÿ‹Séòýÿÿº‹C‰T$‹S ‰$ÿP,…Àu¸‰D$‹‰$èÁ†…À„ëúÿÿ‰<$‰Ø‹UðèüõÿÿéÙúÿÿ‹C‰T$‹S‰T$‹S ‰$ÿP ‹Së!‹C¶Tÿ‰Øèüõÿÿ‰Â‰Øès÷ÿÿ‹CH‰Â‰C…ÒÛéuúÿÿ‰$¹‰L$èp×é¨ýÿÿ‹C‹€$…Àt&ƒø…uùÿÿº‹C‰T$‹S ‰$ÿP,…À„KÇ$‰Øºý"DèUõÿÿ‹C1ö…ÀŽ8ùÿÿ‹C¶‰ØFè)öÿÿ9sìéùÿÿ1Ò‹C‰T$‹S ‰$ÿP,…À…ùÿÿ1À‰D$‹‰$èµ……À„¶ùÿÿéèøÿÿ¸‰D$‹‰$è•……À„˜þÿÿ‹Séxþÿÿ‹S¸ ‰D$éqýÿÿ¾‹C‰t$‹S ‰$ÿP,…Àu¹‰L$‹‰$èH……À„ôûÿÿÇ$º#D‰Øè}ôÿÿéÜûÿÿ‹S¾ ‰t$éýÿÿº‹C‰T$‹S ‰$ÿP,…À…Òúÿÿ¾‰t$‹‰$èç„…À„núÿÿé²úÿÿ‹S¸‰D$¸#DéQûÿÿ‹C‰T$‹S‰T$‹S ‰$ÿP é\ûÿÿƒøtƒøéQüÿÿN„ª‹CÇEÇE û"Déâøÿÿ¸‹S‰D$‹C ‰$ÿRéþúÿÿ¹‹C‰L$‹S ‰$ÿP,…À„š‹S‹K¶Tÿ‰Øèµóÿÿ‰Â‰Øè,õÿÿ‹SéZúÿÿ‹‰…É„nøÿÿ‹CÇE éÛûÿÿ‹±…ö„Qøÿÿ‹CÇE é¾ûÿÿ‹…À„Hÿÿÿ‹CÇE é¡ûÿÿ¸‰D$‹‰$躃…À„òöÿÿé•ýÿÿº‰T$‹‰$蚃…À…Kÿÿÿ‹SéÀùÿÿU‰å‹E‹ …Ò~ƒxt]ˉE]é¥Ô¶¼'U‰åSƒì‹]‹…ÀuÇCY[]Ãt&‰$è`ÔÇÇCY[]ô&U¸X'‰åSƒì‰D$Ç$ètljÓÇ@‹E‰ƒ¸<&‰D$‹E ‰$‰D$èÎÓC‰$è3 ƒÄ‰Ø[]Ãt&¼'U‰åSƒì‹]‰$è>ÿÿÿC‰$裉]X[]鸴&U‰åWVS윋E‹X…Ûu ‹ˆ …Éueô[^_]ÃU¸¨þÿÿ‰$èG¸‹Eƒìº‹}‰T$ƒÇ‰D$‰$è!Ó‹E•ˆýÿÿ‰•xýÿÿ‰…„ýÿÿ¸‰…|ýÿÿ‰$èdR‰ÆëBˆ…˜þÿÿF»;|ýÿÿ~‹|ýÿÿ‰\$‹•€ýÿÿ‰T$‹…xýÿÿ‰$èºÒxýÿÿ)|ýÿÿ¶„Àth•˜þÿÿ<&‰•€ýÿÿu§F1Û¶„Àˆ…wýÿÿt£¾ÀF‰$è“Òƒèdƒø†ˆ€½wýÿÿ&Æ…˜þÿÿ&»„rÿÿÿ¶…wýÿÿ»ˆ…™þÿÿé[ÿÿÿ‹•xýÿÿ…ˆýÿÿƉD$‰<$è4Qƒì¸#D‰D$‰<$èÒ‹U…À‰º…‰T$‹U‰$èeô[^_]Ãÿ$…$#DU¸¸#D‰T$ ‰D$ë"U¸¸#D‰T$ ‰D$ëU¸»#D‰T$ ‰\$¹ …˜þÿÿ‰L$‰$èÅщÃéªþÿÿ‹•„ýÿÿ‰•€ýÿÿ‰$èZщÃéþÿÿU¸‰T$ º#D‰T$뵉$èÑ‹U‹‚ƒøÿt1Òƒø”ÂBé?ÿÿÿ‹E1ÒL$‰„$ ¸?@‰„$¶ˆBúrð‹U‹‚‰$è?…À‰Â‰÷þÿÿ‹EÇ@é†ýÿÿ¶U1Ò‰åWVSì ‹} ‹uœ$ìë ¶ˆBúrð1ÒŽ´&¶ˆBúrðèûO…Àt‹‡ð1Û9† t ‰4$»èúûÿÿ‰|$†º<&‰T$‰$è?Ð…Ûu Ä [^_]ÉuÄ [^_]éžüÿÿ´&¼'U‰åƒì(‰]ô‰Ã‰uø‰Ö‰}ü‹@‹}…Àtƒøt.ƒøtI‹]ô‹uø‹}ü‰ì]É$èTüÿÿ‹CƒøuÞ¶¿‰|$C‰t$‰$è­ ‹]ô‹uø‹}ü‰ì]Ë…Àt&‰|$¹‰4$‰D$ ‰L$èÁÏ‹]ô‹uø‹}ü‰ì]ÃÇ$|#D¾-»†#D‰t$‰\$èžÏ¶U‰åESƒì‰D$‹E ‰$è' ‰$‰Ãè ω$‹E‰Úèÿÿÿ‰$èHƒÄ[]ÃfU1À‰åWV1öS쬋U‰…|ÿÿÿ‹} ‹]ÇE„‹‚ ‹MÇE€ƒøtƒø•À…É” Ш…Î…É„G‰L$…ÿ¸“#D‰\$‰\$ t¸œ#D‰D$‹M¿¨#D‰|$‰ $è6ÿÿÿ;u€1É1ÿ‰tÿÿÿv‹U 9U„}H‹M$‹D‹Ð9ð8‹•tÿÿÿfÿE„ƒÇ ‹E ƒ…tÿÿÿ ƒÂ 9E„}‹M$‹D ‹ Ø9ð~Ø´&‹E 1Û9E„}&‹U$‹9ð‹LÈ9ð~‹\´&¼'ƒû•À1Òƒ}€•Â…Ðt6ƒ}€¸Ê#Dt¸Ë#D‰D$ ¸Í#D‹M€‰D$‹E‰L$‰$è^þÿÿÇE€‹•|ÿÿÿ U€u7¸Ê#D…ö‰D$¸C‰D$ ‰ðˆƒàð¹å#D‰D$E˜‰L$‰$èm̓û„ÓK…•fÇEˆXXºX…ö‰•xÿÿÿ‰ðÆEŠˆ¥ƒàð‰ó)ÃUè[жUˆˆP¼¶U‰ˆP½¡ÌSEƒ8…+¡ðSE‹xÿÿÿ‹·H%W¶•xÿÿÿ…Àu².ˆT+Õ…ö‰ðˆYƒàð‰ò)‰Ð@‰…|ÿÿÿF÷Æ”À;u” Шu‹E€…Àtq‹…|ÿÿÿ…Àtg‹|ÿÿÿfÇD Õ ÆD ×M˜´&¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒE˜‰ÂƒÙ)Á‹E‰ $è4üÿÿ1À‰…|ÿÿÿ;uŒÃýÿÿ‹E€…Àt/ƒ}€¸Ê#Dt¸Ë#D‰D$ ‹U€¿Í#D‰|$‹M‰T$‰ $è­üÿÿ‹E‰$èb÷ÿÿĬ[^_]ô&¸W‰D$‹…xÿÿÿ‰$èÙËéÏþÿÿt&‹M¸ñ#D¶ ‰D$Eˆ‰$‰xÿÿÿ‰L$è£Ë…ö‰ð‰[þÿÿFéSþÿÿÿE€é·þÿÿFéŸþÿÿFéñýÿÿ…ÿ¸“#Dt¸œ#D‰D$‹E»ö#D‰\$‰$èûûÿÿéÀüÿÿ¶U‰åƒì‰]ø‹]‰uü¡ÐGE‹u ¨t¨uG…Ût‹ƒ ƒèƒøv‹]ø‹uü‰ì]Ãt&‰t$¸$D‰$‰D$è›ûÿÿ‰]‹uü‹]ø‰ì]éJöÿÿ‰t$¸$D‰D$¡äSEƒÀ@‰$èÝÊ¡äSEƒÀ@‰$èåÊëŠt&¼'U‰åƒì‹E ‹MˆEÿ‹ …À~;EtÉÃÇ$Uÿ‰Èè_úÿÿÉö¼'U‰åWVSì\‹E ‹u…À…ÇF~ƒ~„2‰<$èšI‰D$ º$D‹† ƒøt&ƒøº$Dtƒøº"$Dtƒøº.$Dtº;$Dv‰T$‹U ¸C$D…Òtƒ} ¸T$Dt¸^$D‰D$Ç$l$Dè@‰D$‰Ã‹†‰$èÜ9‰$^èу~uOé嶉$…´þÿÿ‰D$…°þÿÿ‰D$è‹…´þÿÿ‹•°þÿÿ‰$‰ðèNùÿÿ‰$‹…´þÿÿ‰D$蜉$èÔ…Àu°eô[^_]Ã} ¸‘$Dt¸”$D‰D$~‰<$èɉƒøÀ÷ЃÀ‰Fƒ~…Îþÿÿ¸þÿÿ‰$èò­ƒì¸—$D‰\$ »‰\$èþÿÿ‰D$‰$èûȉ\$¹¬$D‰L$‰4$èfùÿÿéþÿÿÇ$ë$D¸w‰D$¸†#D‰D$èÛÈUº ‰åSEøƒì‰D$‹E‰T$‰$èöÈ‹Uø‰Ã€:tdëf¡ðSE‹·Hƒà…Àt0B‰Uø¶„Àt%¶È¡ÌSEƒ8tÖ‰ $¸‰D$è5È…À‹UøuоƒèGƒø&wÿ$…%DÁã‰ö¼'ƒÄ‰Ø[]ÃÁãëóÁã ëî´&¼'U‰åƒì‰]ø‹]‰uü‹u ÆE÷€;^tǾE÷‹]ø‹uü‰ì]ÃC¶ „Étã€ùt ÆE÷éhÿÿÿ@‰똴&U‰åVS‹M‹] ‹u¶Áâƒû~ ¶AÁà ƒû~¶A ‰ÐÁèƒà?¶€°%Dˆ‰ÐÁè ƒà?ƒû¶€°%DˆF~3‰ÐÁèƒà?¶€°%DˆFƒû~ƒâ?¶‚°%DˆF[^]ÃvÆF=[^]ÃÆF=ëÙfU‰å‹EÇ@ÇÇ@]Ãt&U‰å‹E]‹@Ãt&U‰å‹E‹‹H‹P)Ê‹M‰‹PЋU ƒÀ ‰]ö¿U‰åWVSƒì‹E‹]‹U ‹89X‰Uð}6ë^f…ÿ‰Þt8‹G‹W)Ð9؉Ɖt$D: )ó‰D$‹Eð‰$èãÅuð‹?…ÛʃÄ[^_]ÃÇ$ñ%D¾¶»ý%D‰t$‰\$èüÅÇ$&D¸²¿ý%D‰D$‰|$èÞŶU1Ò‰åìè¸ÿÿÿ‹M ‰uü‹u÷ñ‰]ø1Û9ðr¯Î…Éu¹‰ $è¸Å…À‰ÃuDfÆ…6ÿÿÿ¸Out ‰…(ÿÿÿ¸of m‰…,ÿÿÿ¸emor‰…0ÿÿÿ¸y!f‰…4ÿÿÿ…(ÿÿÿ‰$è>r‰Ø‹uü‹]ø‰ì]ÃfU‰åWVSƒì‹}‹E …ÿ‰Eð„ËU‹Bz…À„®‹PúÿŸ»)Ó9û~‰û‰\$D ‹Uð‰$)߉T$è Ä]ð‹U‹BX…ÿ~mÿ‰þ~¾Ç$¸ )÷‰D$èÚþÿÿÇ@‹Uð‰Ã‰p@ ‰T$‰t$‰$èHÄuð‹U‹B…Àu‹E‰X‰‹UljZ…ÿ“ƒÄ[^_]Ãt&¼'U‰åWVu Sƒì ‹E‰$èÙÉÃët&‰$èÈÃÃ‰ð‹ƒÆ…ÀuëºCu ‰T$‰$è4þÿÿ‰Ç‹E‰<$‰D$è+ĉ<$è‹Ã8붉$‰D$è ĉ$èlÃÃ‰ð‹ƒÆ…Àu៎ ‰ø[^_]Ãt&U‰åƒì‰uü‹u‰]ø1Û…öt(‰4$è3Ã@¹‰L$‰$è±ýÿÿ‰$‰Ã‰t$è«Ã‰Ø‹uü‹]ø‰ì]ô&U¸$‰åƒì‰D$Ç$èuýÿÿÇ@‹UÇ@Ç@ ‰PÇÇ@ Ç@Ç@Ç@ÉöU1Ò‰åìø¸ÿÿÿ‹M‰uø‹u ÷ñ‰]ô1Û‰}ü‹}9ðr&¯Î…ÿtp‰L$‰<$èÛÂ…À‰ÃuO¶¼'Æ…&ÿÿÿ¸Out ‰…ÿÿÿ¸of m‰…ÿÿÿ¸emor‰… ÿÿÿ¸y!f‰…$ÿÿÿ…ÿÿÿ‰$è^o‰Ø‹uø‹]ô‹}ü‰ì]É $èwÂë’t&Uº‰åWV¾Sƒì‹} ‰T$Ç$èZüÿÿ‰Ãë ¶q‰$¸‰D$‰t$èÿÿÿ‰Ã‰|$ ‹E‰t$‰$‰D$è‰Á÷ÐÁè9ñœÂ…Âu …É»Æ붃ĉØ[^_]Éö¼'U‰åE ƒì‰D$‹E‰$èXÿÿÿÉöU¸‰åƒì‰}ü‹}‰]ô‰uø‹u‰D$Ç$è¦ûÿÿ‰<$‰Ã¸‰D$è“ûÿÿ‹U ‰C¹‰‹U‰{ ‰S‹F@‰F‰L$‰D$‹F‰$è3þÿÿ‰F‹V‰\ü‹]ô‹uø‹}ü‰ì]ö¿U‰å‹E…Àt]éÁ]ô&¼'U‰åWVSƒì‹}‹] 9_Œ~…Û~T‹ë؉A)w)ó…Û~B‰Mð…ɉÞtA‹Q‹A)Â9ÚÝ‹ ‰Ö‹Eð‰‰$èŒÿÿÿ‹…ÉuË)w)ó…ÛÇGĶƒÄ[^_]ÃÇ$&D¸–‰D$¸ý%D‰D$èbÀÇ$&D¸“‰D$¸ý%D‰D$èDÀ¶¿U‰åSƒì‹]‹…Òt‰Ð‹‰‰$èÿÿÿ‹…ÒuìÇCÇCZ[]Ãv¼'U‰åW1ÿVSƒì »‰\$»Ç$èûùÿÿ‰Æë5´&‰$èX¿Ç€|>ÿ t9‰4$¹Ÿ‰L$‰\$è”üÿÿ‰Æ‹E)û‰\$>‰D$‰$袿…Àu¶…ÿtÆ7‰ðƒÄ [^_]É4$èLþÿÿ1Àëì´&U‰åW1ÿVSƒì ‹u‹F…Àu0‹F‰$è þÿÿ‹F‰$èþÿÿ‹F ‰$è þÿÿ‰uƒÄ [^_]éûýÿÿ‹F‹¸G‹C ‹S‰D$1À‰$‰D$蔾‹C‰$èÑýÿÿ‹‰$èÇýÿÿ‰$è¿ýÿÿ9~w¿ë´&U‰åE Sƒì‰D$‹E‰$èWüÿÿ‰$‰Ãè½>‰$è…ýÿÿƒÄ[]Ãë U‰åWVSƒìL‹E‹} ‰EÄ‹E…À….…ÿŽât&¼'Ç$.&Dèd>‹E…À…ìÇEÈ....1ö9þÇEÌ....ÇEÐ....ÇEÔ....ÆEØ}[‹]Ä;]‚§¶;]‰D$„‡÷Ƹ.tz‰D$Ç$1&Dèÿÿÿ¶ˆÐ, <^wˆT.ÈFCƒþžÀ1Ò9þœÂ…Ðu¨ÆD.ÈEȃï‰D$ ¸:&D‰D$¸)ðÇ$;&DD@‰D$èÅþÿÿƒEÄ…ÿ)ÿÿÿƒÄL[^_]ø é|ÿÿÿ¶Ç$B&Dèt=ÆD.È ë‚Ç$F&D‹EĉD$èzþÿÿéüþÿÿ‰|$‰|$Ç$K&Dèaþÿÿ‹EăàÇ)EÄé®þÿÿU‰å‹Eƒ¸t€8]•À¶Àö€¸À]•À¶ÀÃU‰å‹Uƒº‰Ðt]Ã]‚ÀÃU‰åSƒì‰Ã‹…ÀuÇCƒÄ[]Ãt&‰\$iÀè¹@M@‰L$‰$èÕ‹S…Òt9C~ωCÇCƒÄ[]Éö¼'U‰åSƒì‹]‹E ‹S…Òt-;Cx(¸‹S ‰D$‹C‰$ÿRÇCƒÄ‰Ø[]é_ÿÿÿƒÄ[]Éö¼'U¹‰åSƒì‰L$Ç$è$öÿÿ‰Ã‹E‹€ÇC‰‹E ‰C ‹E‰C‰Øè ÿÿÿƒÄ‰Ø[]Ãt&U‰å‹E‹M‹‹E 9t ‰‰È]éÜþÿÿ]Ãv¼'U‰åSƒì‹]‰$èn‰][[]écúÿÿU‰å]Ãt&¼'U‰å‹E‹@…Àu]ÉE]éçã´&U‰åƒì‰uü‹u‰]ø…öt3‹‰4$ÿP‰Ã‹€,‰$èúÿÿ‰$èýùÿÿ‹‰u‹]ø‹uü‹H‰ì]ÿá‹]ø‹uü‰ì]ÃU‰åWVSƒì\‹]‹u‹K…É„6¶Nƒþÿ„F‹“(ú‡²‹M¶A‰MˆD B‹S‰ƒ(ƒú„A‰ÐÁø ƒø„3ƒút‰ÐÁø ƒø…à€{ …Öƒú„}úP„xúP…µü1ÀÇEÀ¹}Øó«fÇÆEØÆEÛ‹“(ƒúŽEÿÿÿ¶K#ƒù„ȃù„³ƒù„à‹EÀƒÀ9ÂŒÿÿÿ‹C %ÿÿ=…¡‹UÀ¶D$¶T%Áà Љƒ(ƒù„Jƒùt<ÆEÙ¹ ‹C ‹‰L$M؉L$‰$ÿR‹C ‰$èEþÿÿt&ƒÄ\¸[^_]ËC ¿ ‹‰|$}؉|${ ‰$ÿR‰<$‹EÀH‰D$C%‰D$莹‹EÀÆD‹C ‰D$‹C‰$è$™‰C…À‰Ât‹¸p&D‰D$ ‹ƒ(‰$‰|$‰D$èÌ™ÇC‹C ¹‹‰L$‰$ÿR…ö~=‰4$¸‰D$èüòÿÿ‰ƒ,‹U‰t$‰$‰T$ès¸‰³0¶¼'‹{…ÿ„ÿÿÿ‰t$‹M‰L$‹C‰$èò…ÀŽ÷þÿÿÇC‹C ¹‹‰L$‰$ÿRé×þÿÿ´&€{ …ÃýÿÿJ„狃(ƒøŽ`ýÿÿ€{!…ƒøŽMýÿÿ€|…Býÿÿ÷C$ÿÿÿ…!€{'„{@…-ÇC@¿ë}ÇCP‹“(ƒúŽúüÿÿ¶K!A9ÂŒëüÿÿ1Òƒù¿ÿ~‰È¶¼'€|"„ŒB9ÐðÆEƉøºˆEÇ1ÿ‹C ‹‰T$UƉT$‰$ÿQÇCP‰»(éˆüÿÿÇC@é ÿÿÿÇEÀéJýÿÿÇEÀé>ýÿÿÆEÙ¹ }Ø‹C ‹‰L$‰|$é€ýÿÿ¶C$@‰EÀéýÿÿ1ÿérÿÿÿ‹CÁø ƒø…cýÿÿÇEкÇEÔÆEÑ[‹C ‹‰T$UЉT$‰$ÿQé1ýÿÿÆC ‹C ¹ÆC!Z{ ‹‰L$‰|$‰$ÿR¶C"‹‹(¶S#Áàƒé Љƒ(C(‰L$‰D$‰<$è¿¶é4ýÿÿ‹C ¹ ¿{&D‹‰L$M؉L$‰$ÿR¶C'‰D$¶C&‰D$¶C%‰D$ ¶C$‰|${ ‰D$‰<$èãµéàüÿÿÇEȾEÈÇEÌÆEÉ[‹S ‹ ‰t$‰D$‰$ÿQéTüÿÿÆC ‹C ¿ÆC!Z‹‰|${ ‰|$‰$ÿR¶C"¹{&D¶S#Áà Љƒ(¶C'‰D$¶C&‰D$¶C%‰D$ ¶C$‰L$‰D$é]ÿÿÿU‰åSƒì‹]‹C…Àu‹C ‰$è$úÿÿ[¸[]É$èÓð‹C ‰$èúÿÿ[¸[]Ãë U‰åƒì8‰]ô‹E‹U‰uø‰D$‹E‰T$‰}ü‰D$ Eð‰D$‹E ‰$èÊ ‰$‰ÆèZ…À‰Ãt‰4$è’G‰Ø‹]ô‹uø‹}ü‰ì]ÃvÇ$¸4‰D$èëîÿÿ‰Ç1À‹U‰‡,‹ELj&DÇG‰G‹EÇGÇGÇGÇG‰D$ 1À‰D$1À‰D$¸‰D$1À‰D$ ‹Eð‰T$‰|$‰D$‰4$è¶ ‹U‰‰G ‹‹‰$ÿR …À‰Ãt ‰<$èóÿÿé?ÿÿÿ‹U‹‹‰$‰|$ÿR1Àé)ÿÿÿ‰ö¼'U¸4‰åƒì(‰]ô‰uø‰}ü‹}‰D$Ç$è îÿÿ‰Ã1À‰ƒ,‹GÇœ&DÇC‰C‰\$‹E ‰$èÝF‰C ‰Æ‹‰4$ÿP …Àt‰$è„òÿÿ‹]ô¸‹uø‹}ü‰ì]Ãf‹‰\$‰4$ÿPÇC‹GÇCÇC…Àt,ÇC‹1É1ÿ‰»(‰L$‰4$ÿP1À‹]ô‹uø‹}ü‰ì]ÃÇCG ‰D$C ‰Eð‰$èH³‹‡(‰ƒ(‰t$‹G‰$èõ’‰C…À„Nÿÿÿºp&D‰T$ ‹ƒ(‰D$‹Eð‰D$‹C‰$è•“1ÀëˆU¸4‰åWVSƒì‹u‰D$‹}Ç$èÌìÿÿ‰Ã1À…ö‰ƒ,ǰ&DÇC„‰t$C ‰$覲‹E ÇC‰ƒ(ÇC‹EÇCÇC‰C‹E$‰|$‰D$1Àƒ¿!‰\$”À‰D$ ‹E‰D$‹E‰$è2‰C ‰Æ‹‰4$ÿP …À‰Çt‰$èçðÿÿ‰øƒÄ[^_]ÃÇC놋‰\$‰4$ÿP‹E ‰01ÀëÚë U‰å]éwöÿÿ´&U‰åSƒì‹]…Ût&‹‰$ÿP‹Ç@‹@‰$…À•À¶À‰D$ÿRƒÄ[]öU‰åƒì‰]ø‹]‰uü‹u …ÛtJ‹‰$ÿP1É‹‰p‹@…Àt‰]¹‹]ø‰M ‹uü‹J‰ì]ÿá…öuã‰M ‹uü‹J‰]‹]ø‰ì]ÿáv‹]ø‹uü‰ì]öU‰åS‹U…Òt [‹]‹Hÿá[1À]ô&U‰åƒì‰]ø‹]‰uü…Ût=‹‰$ÿP1Ò‰ÆÇ@‹‰T$‰$ÿP‹1É1Ò‰L$‰T$‰$ÿP‹Ž,…Éu‹]ø‹uü‰ì]ö‹†0‰D$‹†,‰D$‹F‰$èñ鋆,‰$èCïÿÿ1Ò‰–,‹]ø‹uü‰ì]ÃU‰åW¿VSƒì‹EÇ@@‹@‹‰|$‰$ÿR‹uƒÆ$‰4$è[éÿÿ‹}‰ÃƒÇ‰<$èKéÿÿÉ]è1ÛëEf‰4$Eð‰D$Eì‰D$è:éÿÿ‹E‹P‹Eð‹ ‰D$‹Eì‰$‰D$ÿQ ËEð‰4$‰D$è½îÿÿ‰4$èõèÿÿ…À±‰<$èéèÿÿ…À~Tt&‰<$Eð‰D$Eì‰D$èÚèÿÿ‹E‹P‹Eð‹ ‰D$‹Eì‰$‰D$ÿQËEð‰<$‰D$è]îÿÿ‰<$è•èÿÿ…À±;]è|‹E‹p0…öu.‹E‹XD…Ût9ƒÄ[^_]ËU‹B ‹‰$‰\$ÿR ‹E‹p0…ötÒ‹@‹‰$ÿR‹E‹XD…Ûulj‹1ɉL$‰$ÿPƒÄ[^_]ô&U‰å‹U ‹M…Ò‹A t‰Q ]Ãt&¼'U‰åSƒì‹]‹C‹‰$ÿR‹C‰$è@A‰]X[]éuíÿÿt&U‰åSƒì‹E‹] ‹M‹P@…Òt ‰\$X‰$‰L$èéÿÿ‰]ƒÄ[]é™çÿÿ‹@‹‰M‰] ‹J‰EƒÄ[]ÿáU‰åƒì‰]ô‹]‰uø‹u‰}ü‹K@‹} …Éu‹C‹uø‹]ô‹‰E‹}ü‹J ‰ì]ÿáCƒÃ$‰$èºíÿÿ‰$è²íÿÿ‰t$‰|$‰$è’èÿÿ‰ð‹]ô‹uø‹}ü‰ì]ÃvU‰å‹E‹P@…Òt Ç@0]Ë@‹‰E]‹Jÿá¶¿U‰å‹E‹@‹‰E]‹Jÿá¶¿U‰å‹E‹@‹‰E]‹Jÿá¶¿U‰åWVSì,‹u‹F@…Àt‹E ‰FDÄ,[^_]Ã^4‰$ènæÿÿ…À޼‹E ½èýÿÿ‰FDéˆt&‰$…äýÿÿ‰D$…àýÿÿ‰D$èDæÿÿ‹…äýÿÿ=v¸‰…äýÿÿ¸‰D$‹…àýÿÿ‰<$‰D$èq¬‰$‹…äýÿÿ‰D$è¯ëÿÿ‹V ‹…äýÿÿ‹ ‰D$ 1À‰|$‰D$‰$ÿQ‹FD…À…Aÿÿÿ‰$è½åÿÿ…Àeÿÿÿ‹ND…É…&ÿÿÿ‹F‹M ‹‰L$‰$ÿRéÿÿÿvU‰å‹E‹H…Éu‹P…Òu]‰ÈˉU]‹H ÿá¶¼'U‰å‹E‹@‹P ‹ ‰U]‹ ÿáv¼'U‰åƒì‰$‰t$‹E‹u ‹]‹@‹M‹P@…Òt"‰HT‹HH‰pL‰XPÇE ‰E‹$‹t$‰ì]ÿá‹@ ‹‰M‰]‹J‰u ‰E‹$‹t$‰ì]ÿát&¼'U‰åƒì(‰uø‹E ‹u‰}ü‹}‰Eð‹E‰]ô‹X‹K@…Ét:‰t$C4‰|$‰$èæÿÿ‰{\‹Mð‰s`‰KX‹uø‰]‹KHÇE ‹]ô‹}ü‰ì]ÿá‹C ‹Mð‹]ô‹‰u‹uø‰}‹}ü‰M ‹J‰E‰ì]ÿá‰ö¼'U‰å‹E‹M ‹@‹P@…Òt‰Hd‹HHÇE ‰E]ÿá‹@ ‹‰M ‰E‹J ]ÿá‰ö¼'U‰å‹E‹M ‹@‹P@…Òt‰Hh‹HHÇE ‰E]ÿá‹@ ‹‰M ‰E‹J]ÿá‰ö¼'U‰åW1ÿVSƒì|‰E¤‹E ‰U ‹€$…À„'‹E¤…Àt^¸@]¨‰D$‰\$‹E¤‰$èÜ8‰]œ‰ö¼'‹Uœ‹ƒÂ‰Uœÿþþþ÷Ð!Â €€tã÷€€uƒEœÁêÒƒ]œ)]œëÇEœ‹E ‰$èw©‰E˜‹U ‹u ¶‚ Æ „ÀˆÂ„m„Ò„e¡ÌSE¶Òƒ8…a¡ðSE‹·Pƒà…À…M¶7€ú,„@„Ò„)‰û¶3„ÀtR‰ö¼'¶Ð¡ÌSEƒ8…ï¡ðSE‹·P%…Àu¶3<-t<.t<*ut&¼'C¶3„Àu·€<7*„€|ÿ*„m‹E¤…À„™‰Ø>)ø‰D$E¨‰U”‰T$‰$訅À„‰Ø)ø‰D$‹U”‰T$‹E ‰$èø§…À„³‰ßë ¡ðSE‹·Hƒà…À…ßþÿÿ€ú,„ÖþÿÿG¶7„Òt:¡ÌSE¶Êƒ8tˉ $»‰\$è6¨¶7ë‰$¸‰D$è¨é ÿÿÿ¸ƒÄ|[^_]É$¸‰D$èü§é—þÿÿ‰$è¿7…Àu‹E¤…À„'þÿÿ‹U¤‰$èå8…À„¯ýÿÿƒÄ|1À[^_]ËM¤…É„•‰Ø)øH‰D$>‰E”@‰D$‹UœD¨‰ú)ÚD‰$èý¦…Àt¼‰Ø)øH‰D$)ß‹E”@‰D$‹E ‹U˜ÐD8éÕþÿÿ‹E¤…ÀtC‰Ø>)øH‰D$E¨‰U”‰T$‰$è°¦…À„kÿÿÿ‰Ø)øHéþÿÿ>‰E”éþÿÿ>‰E”ë’>‰E”‰Ø)øHémþÿÿG¶7ézýÿÿU‰åƒì(‰]ô‹U‹E‰uø‹]‹u‰}ü‹Š(‰Eð‹} …Ét‹‚ …Àt+ƒøt‰u‹Eð‹uø‰]‹}ü‹]ô‰E ‰ì]é™1ItඉT$1À‰Ú‰<$èPüÿÿ…ÀtƉ$èãÿÿ‹Uð‰‹uø‰]‹}ü‹]ô‰ì]é{4t&¼'U‰åƒì8‰]ô‹E(‹]$‰uø‹u‰}ü‹(‹}…Òt‰D$‹U ‰ø‰4$èêûÿÿ…Àu=‰\$‹M ‹E‰t$‹U‰L$‹M‰D$‰T$ ‰L$‰<$èZ>‰Â‹]ô‰Ð‹uø‹}ü‰ì]É\$‹U(‹M ‰t$‹E‰T$ ‹U‰L$‹M‰D$‹E ‰T$‰L$ ‰D$‰<$è/l…À‰Âu±Ç$¹¸&‰L$èôßÿÿÇÐ&Dº<&‰T$‹U(‰EìƒÀl‰T$‰$è`¥‹Mì‰ÈƒÀ4‰Y ‰y‰qÇAÇA0ÇAD‰$è¢Þÿÿ‹EìƒÀ‰$è”Þÿÿ‹EìƒÀ$‰$è†Þÿÿ‹Eì‹U(Ç@@ÿÿÿÿÇ@‹‚(ƒøt1ƒø„ƒø„%ƒø„+‹EìÇ@HÇ@'DéÜþÿÿ‹MìÇAH f@Ç$»‰\$èßÿÿÇô&D‹M(‰Ã‹Uì‰P‹‰D$Eð‰D$‰È,‰$èv/‰$‰ÆèÌI…Àt‹EìÇ@,'Déoþÿÿ‹Eð‰$è~ãÿÿ‰\$‹U ‹M‹E‰T$‹U‰L$‹M(‰T$‰D$ ‹,‰4$‰D$è‰<‹Uì‰B‹‰$ÿR ‹Uì…À…þÿÿ‹B1É‹‰L$‹Mì‹A‰$ÿR‹Eìºÿÿÿÿ‰T$‰$ÿPH‹Uìéçýÿÿ‹EìÇ@H l@éÿÿÿ‹UìÇBHp@éõþÿÿ‹MìÇAH†@éæþÿÿfU‰å‹E‰E]éá<U‰åV‰Æ1ÀS9Ð}v€<0 t@9Ð|õ¸ÿÿÿÿ[^]Ã@ƒø~öX9Ó}¶L€ù t€ù uà‰Ø@ëÒt&¼'U‰åWVSì ‹E‹M ‹P@ƒúÿ„I…ÉtN1Àƒùt9ƒù„Šƒùti‹M1ö»A‹A ¹\'D‹‰t$ ‰\$‰L$‰$ÿR¸Ä [^_]Ãv‹E‹P ‰Ã‹@T‹ ‰D$ ‹CP‰D$‹CL‰$‰D$ÿQÄ [^_]Ãú„8ƒúu‰‹MƒÁ4‰ûÿÿ‰ $èÜÿÿ…À‰ÆŽ‰4$¸‰D$èÓÜÿÿ‰…ûÿÿ‰Ç‰D$‰t$‹ûÿÿ‰$èÜÿÿ‹…ûÿÿ‰òè¨þÿÿ…À‰Ãˆ©ƒû~/‰ö¼'‰\$ß)Þ‹•ûÿÿ‰$èZáÿÿ‰ò‰øèqþÿÿ‰ÃƒûÚƒû„‹•ûÿÿ‰$èáÿÿ¸éûþÿÿèýÿÿ¿‰\$‰|$‹@‰$è«0‹M‹A‰\$ ‰\$‰D$‰D$Ç$€'Dèàÿÿ‰$‰Ãèo¡‹M‹Q‹ ‰\$‰$‰D$ÿQ‰$è¡àÿÿ‹]€»œu €»„ ‹E¾¦'D‰D$ ‹E‰t$µèüÿÿœ‰D$…èüÿÿ‰$è+¡v‹ƒÆÿþþþ÷Ð!Â €€té÷€€„“¸izatÒ•èüÿÿ‰…4ûÿÿ¸ion:ƒÞ»Prox‰…8ûÿÿ¸ Bas)Ö‰…<ûÿÿ¹y-Auºthor‰(ûÿÿ¸ic 1ÿ‰,ûÿÿ(ûÿÿ‰•0ûÿÿ‰…@ûÿÿt&¼'‹ƒÃÿþþþ÷Ð!Â €€té÷€€uÁêƒÃÒ(ûÿÿƒÛ)Ëë4…(ûÿÿ؉D$‰ð)øƒø~¸‰D$…èüÿÿø‰$ƒÇè ÙÿÿƒÃ9÷|ȸ (ûÿÿf‰„+(ûÿÿ1Àˆ„+*ûÿÿ´&‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒ‹U(ûÿÿƒÙ‹B)Ù‹‰L$‰\$‰$ÿR‹]¾¹¬'D‹C‹‰t$‰L$‰$ÿRÇC@Ä 1À[^_]ËU‹B ‹Rh‹‰T$‰$ÿQéŒüÿÿÁêƒÆébþÿÿ‹}ƒÇ4‰<$èáØÿÿ‰Æ…ö¸YŽá¸‰D$F‰$èžÙÿÿ‰…ûÿÿ‰D$‰t$‰<$èèØÿÿ‹…ûÿÿ‰òÆ‹…ûÿÿèqûÿÿ…À‰Ãˆýÿÿ¸ÿÿÿÿ¾¯'D‰…$ûÿÿ…$ûÿÿ‰D$… ûÿÿ‰D$ …ûÿÿ‰D$‰t$‹ûÿÿ‰ $èOŸH~ ƒ½$ûÿÿÿu]‹]¹@¿À'D‹C 1Û‹‰\$ ‰L$‰|$‰$ÿR‹…ûÿÿ‰$è§Ýÿÿéüÿÿ¿‰|$‹ûÿÿ‰ $è«Ýÿÿ‹]‰$èPîÿÿëɉ\$‰<$è’Ýÿÿ‹…$ûÿÿ‹•ûÿÿ€<2„©Æ‹$ûÿÿ9Ë~E¶Dÿ< ”Â< ”À Шt0‹ûÿÿKÆ‹$ûÿÿ9Ë~‹•ûÿÿ¶Dÿ< ”Â< ”À ШuЋ…ûÿÿÇ$æ'D1öȉD$è?Üÿÿ‹M‰Ã‹A ¹@‹‰L$‰\$‰t$ ‰$ÿR‰$èÆÜÿÿ‹ûÿÿ‰$è¸Üÿÿé ûÿÿ‹…ûÿÿ‰$è¥Üÿÿ‹UÇB@éÔúÿÿ¸‰D$¸ö'D‰D$Ç$(Dè´&U‰åWVSì<‹u‹E ‹V@ƒúÿ„…ÀtN1Ƀøt6ƒø„¡ƒøti‹F »A1ö¹\'D‹‰t$ ‰\$‰L$‰$ÿR¹Ä<‰È[^_]Ãt&‹V ‹FT‹ ‰D$ ‹FP‰D$‹FL‰$‰D$ÿQ‰ÁÄ<‰È[^_]ÃJu”^4‰$è"Öÿÿƒø¹~§‰$¸‰D$…Øýÿÿ‰D$è=Öÿÿ€½Øýÿÿ…L¶…Ùýÿÿë‰$è6ºÿÿ‹U‹‚‰T$ ‹U‰D$‹E‰T$‰4$‰D$èïÓÿÿ‰$‰Æè5 …À‰Ãt‰4$è· ‰ØƒÄ,[^_]ËE…Àˆ‰|$‹E»‰\$ ‹U‰D$ ‹E$‰T$‹U‰D$‹E ‰D$1À‰D$‹‰4$‰D$è"Ôÿÿ‰G‹‰$ÿR …ÀužÆEó¹‹G‹Eó‰L$‰D$‹G‰$ÿR‹UšT‰Ù‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁ‹GÒƒÙ)Ù‹‰L$‰\$‹G‰$ÿR‹G‹¸‰D$Eó‰D$‹G‰$ÿR‹Ušð‰Ù‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁ‹GÒƒÙ)Ù‹‰L$‰\$‹G‰$ÿR‹G‹¸‰D$Eó‰D$‹G‰$ÿR‹Uš°‰Ù‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒ‹GƒÙ)Ù‹‰L$‰\$‹G‰$ÿR‹G‹¸‰D$¸ä,D‰D$‹G‰$ÿR‹uÆÐ‰ó¶¡ÌSEƒ8u ¡ðSE‹·Pƒà…Àt0¡ÌSEC¶ƒ8tà‰$¸‰D$èÅxëÛvÇEéòýÿÿ‹G‹‹E‰t$)Ã0ñÿÿ‰D$»‹G‰$ÿR‹G‹Eó‰\$‰D$‹G‰$ÿR‰G1Àé–ýÿÿt&¼'U‰åSƒì‹]‹S…Òu‰]X[]éd·ÿÿt&‹‰$ÿP‰]X[]éM·ÿÿ¶¼'U‰å]Ãt&¼'U1À‰åSƒì‹]‹K…Éu ƒÄ[]ô&‹E‹‰D$‹E ‰ $‰D$ÿR‰CƒÄ[]ÃU‰å‹E]‹@Ãt&U‰å]Ãt&¼'U1À‰å]Éö¼'U‰å‹E]‹@…À•À¶Àö¼'U¸‰å]öU‰å‹E‹P1À} ‹ ‰UŸÀ‹I‰E ]ÿá¶¼'U1À‰å]Éö¼'U‰å]Ãt&¼'U‰å]Ãt&¼'U‰å‹E]‹@ƒøÀ÷Ðô&¼'U1À‰å]ÃU‰åƒì(‰uø‹u‰}ü‹} ‰]ô‰Ó‰t$ ‰|$‰T$‰$èUK…Àt‹]ô‹uø‹}ü‰ì]Ãt&‰$èØê…À‰Ãt*‰t$‰D$‰<$èbv‰$èšµÿÿÆD7ÿ‹]ô‹uø‹}ü‰ì]Ét$‹E‰<$‰D$è5vÆD7ÿëÙ´&¼'U‰åƒì‰uü‹u‰]ø‰Ó‰t$‰T$‰$èK…Àt ‹]ø‹uü‰ì]É\$‰4$èDéƒì‹]ø‹uü‰ì]ô&U‰åƒì‰uü‹u‰]ø‰Ó‰t$‰T$‰$è?M…Àt ‹]ø‹uü‰ì]É\$‰4$ètéƒì‹]ø‹uü‰ì]ô&U‰åƒì‰uü‰Æ‹E‰$‰]ø‰Ó‰D$èê‰D$‰\$‰4$èqJ‹U ‰‹]ø‹uü‰ì]ÃfU‰åW‰×VSƒì‹u‰Eð‹E ‰E츉D$‹]Û‰$蓯ÿÿ‰Eè‰ú‰\$‰4$‰D$‹Eðè;þÿÿ‹]è‹uì¶„ÀˆÁu ëGƒø\t'ˆF¶ „É•À1Ò€ù,•Â…Ðt¾ÁCƒø=uÛ¸ ëÙ¾CëÓÆ1À€ù,”ÀÃF¶ „ÉuÄÆ‹Uè‰UƒÄ[^_]éγÿÿ´&¼'U‰åWVSƒì‹]‰U캉Eð‰T$‹E À‰$èØ®ÿÿ‰Ç‰Æ¶„ÀuëWƒù\t%ƒù t)ˆF¶„Àt7¾ÈCƒù=”Àƒù,” ШtÖÆ\Fƒù u×¹=ˆF¶„ÀuÒ‰ö¼'Æ,CF¶„Àu½Æ‰|$‹Eì‰D$‹Eð‰$è G‰}ƒÄ[^_]é ³ÿÿ¶¿U‰åM˜WVSƒì|‰M”»P‰L$‹MÇEŒ‹}‰\$‰ $èÏüÿÿÇE´&‹]”¾à/D‰t$‰$è,tÇE”…À‰Æt/1Û9û}$‰ö¼'‰t$‹U ‹Ú‰$èt…ÀtLC9û|å9}|°1Ò9ú}4v¼'‹E ‹LЃùY¸Óà…EŒu ‹]‹E‰ ˜C‰]B9ú|ÖƒÄ|[^_]ËE ‹L؃ùÿt­¸Óà…EŒu¡ EŒ‹U‹]‰ “B‰U9}Œ=ÿÿÿë‹Ç$â/D»È¹ô/D‰\$‰L$èõr¶¼'U¹O‰åWV1öSƒì|‹] ‰E”¶0D‰U1Ò‰L$ˆE˜E™‰T$‰$èPrÇEŒO9ÞÆEç};‰ö¼'‹E‹°1À9Ø}t&‹M9TÁt:@9Ø|ò‹}ŒF…ÿŸÀ1Ò9ޜ…Ðu΋MU˜‹E”‰T$‰L$‰$è%EƒÄ|[^_]ËU‹<Â…ÿtÁ‰<$èËq‰Eˆ…ö~‹MŒ¸à/D‰D$E˜‰L$‰$èqrÿMŒ‰|$‹UŒM˜‰ $F‰T$èWr‹Eˆ)EŒ‹}Œ…ÿŸÀ1Ò9ޜ…ЅBÿÿÿéoÿÿÿ¶¼'U¹R0D‰åWVS쌻‰L$‹E|$‰\$‰$èÓD‹U ‹M‰T$ºZ0D‰T$‰ $èXD‹M 1ÒÁì¶¼'¶ˆBúrð¸c0D‰D$‹E‰$è¼H‹U ‹M‹‚ð‰ $‰D$¸o0D‰D$è[D‹U ‹M‹‚ô‰ $‰D$¸w0D‰D$è:D‹U ‹M‹‚ø‰ $‰D$¸„0D‰D$èD‹U ‹M‹‚ü‰ $‰D$¸0D‰D$èøC‹U ‹M‹‚‰ $‰D$¸¡0D‰D$è×C‹5D¹°0D…öt$‹E ‹1À9D„%ƒÀ ‹˜D…Ûuç‰L$‹U¹´0D‰L$¾VUUU»‰ˆˆˆ‰$è"C‹M º½0D‹‰T$‰D$‹E‰$èaC‹U ‹Š ƒÁ‰È÷î‰ÈÁø)ÂR¸È0D‰D$)Ñ‹U‰L$‰$è-C‹M 1Àƒ¹•À‰D$¸Ô0D‰D$‹E‰$èC‹U ‹Š‰È÷ë‰ÈÁøÊÁú)‰T$‹U¸à0D‰D$‰$èÕB‹M ‹‰‰È÷ë»í0D‰„þÿÿ‹…„þÿÿ‰ÑÁ‹…„þÿÿÁùÁø)Á‰ÈÁà)ÈÁà)…„þÿÿ¸û0D‰D$‹„þÿÿ‹E‰L$‰$èwB‹U ‹M‹‚‰ $‰D$¸ 1D‰D$èVB‹U ‹M‹‚‰\$‰ $‰D$è:B‹E ¹1D‰L$°‰D$‹E‰$èºA‹E º$1D‰T$‹UЉD$‰$èšA¸º21D‰D$‹E ð‰$‹EèÉùÿÿ‹M ‹‰D$¸@1D‰D$‹E‰$è¸A‹E ‹U ‰D$¸N1D‰D$‰$è8A‹M ‹™ ƒÃ‰Ø÷î‰Ø¾_1D‰Ñ™)ÑI¸i1D)Ó‰\$‹U»r1D‰D$‰$èZA‹M ‹$‰D$¸|1D‰D$‹E‰$è9A‹U ‹M‹‚(‰ $‰D$¸‹1D‰D$èA‰t$‹E ¾—1D,‰D$‹E‰$è˜@‹U ‹M‹‚,‰\$» 1D‰D$‰ $è×@‹E ¹©1D‰L$0‰D$‹E‰$èW@‹E º·1D‰T$‹U°‰D$‰$è7@‹E ‹M0‰D$¸Å1D‰ $‰D$è@¸ºØ1D‰D$‹E ð‰$‹EèFøÿÿ‹E ð‰D$¸ä1D‰D$‹E‰$èÖ?‹E ‹UT‰D$¸í1D‰$‰D$è¶?‹M ‹8 ‰D$¸û1D‰D$‹E‰$èõ?‹U ‹M‹‚< ‰ $‰D$¸2D‰D$èÔ?‹U ‹M‹‚d ‰t$¾ 2D‰D$‰ $è³?‹U ‹M‹‚h ‰\$»2D‰D$‰ $è’?‹U ¹ 2D‹‚l ‰L$‹M‰D$‰ $èq?Ç$°/D‹E º‰T$º/2Dp ‰D$‹Eè(ùÿÿÇ$p/D‹E º62D@ ‰D$¸‰D$‹Eèÿøÿÿ‹U ‹M‹‚P ‰ $‰D$¸:2D‰D$èþ>‹E T ‰D$¸D2D‰D$‹E‰$è~>‹U ‹M‹‚” ‰ $‰D$¸O2D‰D$è½>‹U ‹M‹‚˜ ‰ $‰D$¸Y2D‰D$èœ>‹U ‹M‹‚œ ‰ $‰D$¸a2D‰D$è{>‹U ‹M‹‚¨ ‰ $‰t$‰D$è_>‹U ‹M‹‚Œ ‰ $‰\$‰D$èC>‹U ¹h2D‹‚ ‰L$‹M‰D$‰ $è">‹M 1ÒÁˆ ´&¶ˆBúrð‹Eºp2D¾~2D‰T$»2D‰$è"B‹E ‹U0 ‰D$¸¥2D‰$‰D$èb=‹M ‹¸‰D$¸³2D‰D$‹E‰$è¡=‹U ‹M‹‚¼‰ $‰D$¸¾2D‰D$è€=‹U ‹M‹‚Ô‰ $‰D$¸Ì2D‰D$è_=‹U ‹M‹‚؉ $‰D$¸Þ2D‰D$è>=‹U ‹M‹‚܉ $‰D$¸ê2D‰D$è=‹U ‹M‹‚ä‰t$¾ü2D‰D$‰ $èü<‹U ‹M‹‚à‰\$»3D‰D$‰ $èÛ<‹U ¹3D‹‚è‰L$‹M‰D$‰ $èº<‹U ‹M‹‚ì‰ $º-3D‰T$‰D$è™<‹U ‹M‹‚ð‰ $‰D$¸<3D‰D$èx<‹U ‹M‹‚ô‰ $‰D$¸H3D‰D$èW<‹U ‹M‹‚‰ $‰D$¸Y3D‰D$è6<‹U ‹M‹‚ø‰ $‰D$¸l3D‰D$è<‹U ‹M‹‚ü‰ $‰D$¸y3D‰D$èô;‹U ‹M‹‚‰ $‰D$¸‰3D‰D$èÓ;‹U ‹M‹‚‰t$¾Ÿ3D‰D$‰ $è²;‹U ‹M‹‚ ‰\$»©3D‰D$‰ $è‘;‹U ¹´3D‹‚‰L$‹M‰D$‰ $èp;‹U ‹M‹‚‰ $ºº3D‰T$‰D$èO;‹U ‹M‹‚ ‰ $‰D$¸Ã3D‰D$è.;‹U ‹M‹‚@‰ $‰D$¸Ë3D‰D$è ;‹U ‹M‹‚D‰ $‰D$¸Ö3D‰D$èì:‹U ‹M‹‚‰ $‰D$¸â3D‰D$èË:‹U ‹M‹‚‰ $‰D$¸ì3D‰D$èª:‹U ‹M‹‚$‰ $‰D$¸ö3D‰D$è‰:‹U ‹M‹‚(‰ $‰t$¾4D‰D$èh:‰\$‹E ‰D$‹E‰$èí9‹U ¹4D‹‚,‰L$‹M‰D$‰ $è,:‹U ‹M‹‚0‰ $º4D‰T$‰D$è :‹U ‹M‹‚‰ $‰D$¸)4D‰D$èê9‹U ‹M‹‚‰ $‰D$¸64D‰D$èÉ9‹U ‹M‹‚ ‰ $‰D$¸A4D‰D$è¨9‹U ‹M‹‚X‰ $‰D$¸N4D‰D$è‡9‹U ‹M‹‚\‰ $‰D$¸V4D‰D$èf9‹U ‹M‹‚`‰ $‰D$¸_4D‰D$èE9‹U ‹M‹‚d‰ $‰t$‰D$è)9‹M 1ÒÁx´&¼'¶ˆBúrð‹E»d4D¾q4D‰\$»†4D‰$è"=‹U ¹’4D‹‚h‰L$‹M‰D$‰ $èÁ8‹U ‹M‹‚l‰ $ºŸ4D‰T$‰D$è 8‹U ‹M‹‚p‰ $‰D$¸­4D‰D$è8‹U ‹M‹‚t‰ $‰D$¸»4D‰D$è^8‹U ‹M‹‚H‰ $‰D$¸É4D‰D$è=8‹U ‹M‹‚L‰ $‰D$¸Ù4D‰D$è8‹U ‹M‹‚P‰ $‰D$¸ç4D‰D$èû7‹U ‹M‹‚T‰ $‰D$¸ô4D‰D$èÚ7‹U ‹M‹‚‰ $‰t$‰D$è¾7‹U ‹M‹‚”‰ $‰\$‰D$è¢7‹U ¹5D‹‚‰L$‹M‰D$‰ $è7‹E º5D‰T$H‰D$‹E‰$è7‹U ‹M‹‚”‰ $‰D$¸5D‰D$è@7‹U ‹M‹‚˜‰ $‰D$¸!5D‰D$è7‹M 1ÒÁœ¶ˆBƒúLró¸,5D¾15D»<5D‰D$‹E‰$è:‹U ‹M‹‚è‰ $‰D$¸G5D‰D$èÈ6‹U ‹M‹‚ ‰ $‰D$¸S5D‰D$è§6‹U ‹M‹‚ ‰ $‰D$¸^5D‰D$è†6‹U ‹M‹‚¤‰t$1ö‰D$‰ $èh6‹U ‹M‹‚˜‰\$‰ $‰D$èL6‹U ¹o5D‹‚œ‰L$‹M‰D$‰ $è+6‹U ‹M‹‚¨‰ $º~5D‰T$‰D$è 6‹] ‰t$¸‹5DF‰D$Eȉ$èvb¶ƒ®U¨‰D$¶ƒ­‰D$ ¶ƒ¬ƒÃ‰$‰D$¸”5D‰D$è>b‹UM¨EȉL$‰D$‰$è=5ƒþ~‘‹M ¾5D‹ø‰D$¸«5D‰D$‹E‰$èr5‹U ‹M‹‚ü‰ $‰D$¸²5D‰D$èQ5‹U ‹M‹‚ð‰ $‰D$¸»5D‰D$è05‹U ‹M‹‚ô‰ $‰D$¸È5D‰D$è5‹U ‹M‹‚‰t$1ö‰D$‰ $èñ4‰t$»Ó5DEˆ‰\$‰óv ‰$è\aÆ…ˆþÿÿ¶¼'ˆþÿÿv¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁ҉ʋM ƒÚ€½ˆþÿÿ¿„Y‰D$ ¸à/Du¸Þ5D‰D$¹ß5DC‰L$‰$èÔ`9Þˆ‹M…ˆþÿÿUˆ‰D$‰T$‰ $èÌ3þÿŽ/ÿÿÿ‹E ºä5D¾ñ5D‰T$»ý5D ‰D$‹E‰$è–3‹U ‹M‹‚ˆ ‰ $‰D$¸ 6D‰D$èÕ3‹U ‹M‹‚Œ ‰ $‰D$¸6D‰D$è´3‹E ‰D$¸$6D‰D$‹E‰$è43‹U ‹M‹‚ ‰ $‰D$¸,6D‰D$ès3‹U ‹M‹‚|‰ $‰D$¸86D‰D$èR3‹U ‹M‹‚€‰ $‰D$¸B6D‰D$è13‹U ‹M‹‚4‰t$¾V6D‰D$‰ $è3‹U ‹M‹‚8‰\$»‰D$‰ $èï2‹U ¹j6D‹‚<‰L$‹M‰D$‰ $èÎ2‹U ‹M‹‚„‰ $º|6D‰T$‰D$è­2‹U ‹M‹‚ˆ‰ $‰D$¸…6D‰D$èŒ2‹U ‹M‹‚Œ‰ $‰D$¸‰6D‰D$èk2‹U ‹M‹‚” ‰ $‰D$¸“6D‰D$èJ2‹E ˜ ‰D$¸ž6D‰D$‹E‰$èÊ1‹U ‹M‹‚!‰ $‰D$¸©6D‰D$è 2‹U ‹M‹‚!‰ $‰D$¸µ6D‰D$èè1‹U ‹M‹‚ !‰ $‰t$¾È6D‰D$èÇ1‰\$‹E ºÓ6D»$!‰$‹Eè–éÿÿ‹U ‰Ø‹Š$%‰t$¾ã6D)ȉD$‹M‰ $è1‹U ‰Ø‹Š(%‰t$¾ï6D)ȉD$‹M‰ $è\1‹U ‰Ø‹Š,%‰t$¾÷6D)ȉD$‹M‰ $è71‹U ‰Ø‹Š0%‰t$¾7D)ȉD$‹M‰ $è1‹U ‰Ø‹Š4%‰t$)È‹M‰D$‰ $èò0‹U ‰Ø‹Š8%)È‹M‰D$¸7D‰D$‰ $èÍ0‹U ¹7D‰Ø‹²<%‰L$‹M)ð‰D$¾&7D‰ $è£0‹E ‹@%¸17D‰D$)Ó‹U‰\$»;7D‰$è{0‹M ‹D%‰D$¸K7D‰D$‹E‰$èZ0‹U ‹M‹‚H%‰ $‰t$‰D$è>0‹U ‹M‹‚L%‰ $‰\$‰D$è"0‹M 1ÒÁT%¶ˆBƒúLró‹E¹U7D‰L$‰$è&3‹M 1ÒÁ %¶ˆBƒúLróº^7D‰T$‹U‰$èú2‹M 1ÒÁì%¶ˆBƒúLró‹M¸g7D¿t7D‰D$¾‡7D»”7D‰ $è¿2‹U ‹M‹‚P%‰ $‰D$¸¦7D‰D$èn/‹U ‹M‹‚8&‰ $‰D$¸±7D‰D$èM/‹E À‰D$¸Â7D‰D$‹E‰$èÍ.‹U ‹M‹‚À‰ $‰D$¸Í7D‰D$è /‹U ‹M‹‚ĉ $‰D$¸Ù7D‰D$èë.‹U ‹M‹‚ȉ|$‰ $‰D$èÏ.‹U ‹M‹‚̉t$‰ $‰D$è³.‹U ‹M‹‚Љ\$‰ $‰D$è—.ÄŒ[^_]ˈDéÝêÿÿU‰åEøSƒì‰D$‹E‰$è÷,…À‰Ãu ‹EøƒÄ[]ËE ‰$‰D$èIéÿÿ‰$è.ƒÄ1À[]Éö¼'U1ɉåWº}ØV1öSìÌ1Û‹E Æ€¬ ‰ˆ4 ‰°  1ö‰˜0 ‰D$‹E‰T$ºZ0DÇ$Þ5DèŒãÿÿ‹E ºc0Dì‰$‹EèdäÿÿÇ$‹E ºo0Dð‰D$‹Eè”äÿÿÇ$ÿÿÿÿ‹E ºw0Dô‰D$‹EètäÿÿÇ$‹E º„0Dø‰D$‹EèTäÿÿÇ$‹E º0Dü‰D$‹Eè4äÿÿÇ$‹E º¡0D‰D$‹Eèäÿÿ‰|$¸ º´0D‰D$‹EÇ$:Dè³âÿÿ¡0HE‹U ‰‚¡€GE‰‚1À‰…tþÿÿ¡D…Àt41Û‰<$‹ƒD‰D$èýY…À„AFƒÃ ‰Æ‰…tþÿÿ‹ƒD…ÀuÎÇ$‹E º@1D¿ ¾ ‰D$‹EèkãÿÿÇ$‹Etþÿÿ‰L$ºÈ0DèMãÿÿ‹tþÿÿºVUUUA‰È÷ê‰ÈÁø)ÂR)Ñ‹U ‰Ð‰Š ºÔ0D‰D$‹EÇ$è ãÿÿÇ$…pþÿÿºà0D‰D$‹EèëâÿÿÇ$…lþÿÿºû0D‰D$‹EèÍâÿÿ‹•pþÿÿ‹M ‰ÐÁà)Ћ•lþÿÿ‚º 1D‰‰È‰D$‹EÇ$èâÿÿÇ$‹E ºí0D‰D$‹Eèoâÿÿ‰|$‹E º1DÇ$˜:D1ÿ°‰D$‹Eè áÿÿ‰t$‹E º$1DÇ$ž:DЉD$‹EèåàÿÿÇ$Þ5Dè9”ÿÿ‰Æ¡P.Dë(‰t$G‰D$Ç$ª:Dè –ÿÿ‰4$‰Ã‰Þ诖ÿÿ‹½P.D…ÀuÔ‰4$‹E º21D»‰\$ð‰D$‹Eèÿáÿÿ‰4$èw–ÿÿÇ$Þ5D‹E ¹‰L$ºN1D ‰D$‹EèNàÿÿÇ$…tþÿÿºi1D‰D$‹Eèpáÿÿ‹tþÿÿºVUUUA‰È÷ê‰ÈÁø)ÂR)Ñ‹U ‰Ð$‰Š º|1D‰D$‹EÇ$è,áÿÿÇ$ÿÿÿÿ‹E º‹1D(‰D$‹Eè áÿÿ‹M ƒ¹(ÿ„ Ç$²:D‹E ¹‰L$º_1D¿°/D,‰D$‹EèŽßÿÿÇ$P‹E ºr1D,‰D$‹Eè®àÿÿÇ$Þ5D‹E º€‰T$º©1D0‰D$‹EèEßÿÿÇ$Þ5D¸€º·1D‰D$‹E °‰D$‹EèßÿÿÇ$¸:D¸ºÅ1D‰D$‹E 0‰D$‹EèóÞÿÿÇ$Þ5D¸ºØ1D‰D$‹E ð‰D$‹EèJàÿÿÇ$Þ5D¸dºä1D‰D$‹E ð‰D$‹Eè¡ÞÿÿÇ$Þ5D¸dºí1D‰D$‹E T‰D$‹EèxÞÿÿÇ$‹E ºû1D8 ‰D$‹Eè˜ßÿÿÇ$‹E º2D< ‰D$‹EèxßÿÿÇ$‹E º—1Dd ‰D$‹EèXßÿÿÇ$‹E º 1Dh ‰D$‹Eè8ßÿÿÇ$‹E º 2Dl ‰D$‹Eèßÿÿ‰|$‹E º/2DÇ$Î:Dp ‰D$ ¸‰D$‹Eè«àÿÿÇ$…tþÿÿºÐ:D‰D$‹EèÍÞÿÿ‹µtþÿÿ¸ºÜ:D)ð…À‰…tþÿÿtº ;D‰$‹E ¹p/D‰L$»º62D‰\$u¸@ ‰D$ ‹E]˜½Xþÿÿè2àÿÿÇ$<‹E º:2DP ‰D$‹EèRÞÿÿÇ$<;D¸ºD2D‰D$‹E T ‰D$‹EèéÜÿÿÇ$‹E º2DŒ ‰D$‹Eè ÞÿÿÇ$‹E ºh2D ‰D$‹EèéÝÿÿÇ$‹E ºO2D” ‰D$‹EèÉÝÿÿÇ$‹E ºY2D˜ ‰D$‹Eè©ÝÿÿÇ$‹E ºa2Dœ ‰D$‹Eè‰ÝÿÿÇ$‹E º 2D¨ ‰D$‹EèiÝÿÿ‹E ºp2Dˆ ‰$‹EèÝÿÿÇ$Þ5D¸º¥2D‰D$‹E 0 ‰D$‹EèèÛÿÿÇ$‹E º³2D¸‰D$‹EèÝÿÿÇ$‹E º¾2D¼‰D$‹EèèÜÿÿÇ$‹E ºÌ2DÔ‰D$‹EèÈÜÿÿÇ$‹E ºÞ2D؉D$‹Eè¨ÜÿÿÇ$‹E ºê2D܉D$‹EèˆÜÿÿÇ$‹E º~2Dä‰D$‹EèhÜÿÿÇ$‹E º2Dà‰D$‹EèHÜÿÿÇ$‹E º3Dè‰D$‹Eè(ÜÿÿÇ$‹E º-3Dì‰D$‹EèÜÿÿÇ$‹E º<3Dð‰D$‹EèèÛÿÿÇ$‹E ºH3Dô‰D$‹EèÈÛÿÿÇ$…dþÿÿº?;D‰D$‹EèªÛÿÿ‹E ºY3Dƒ½dþÿÿ‰D$À÷ЃÀ‰$‹Eè€ÛÿÿÇ$‹E ºl3Dø‰D$‹Eè`ÛÿÿÇ$‹E ºy3Dü‰D$‹Eè@ÛÿÿÇ$‹E º‰3D‰D$‹Eè ÛÿÿÇ$‹E ºü2D‰D$‹EèÛÿÿÇ$‹E º3D ‰D$‹EèàÚÿÿÇ$‹E º´3D‰D$‹EèÀÚÿÿÇ$‹E ºº3D‰D$‹Eè ÚÿÿÇ$‹E ºÃ3D ‰D$‹Eè€ÚÿÿÇ$‹E ºË3D@‰D$‹Eè`ÚÿÿÇ$‹E ºÖ3DD‰D$‹Eè@ÚÿÿÇ$‹E ºâ3D‰D$‹Eè ÚÿÿÇ$‹E ºì3D‰D$‹EèÚÿÿÇ$‹E ºö3D$‰D$‹EèàÙÿÿÇ$‹E ºŸ3D(‰D$‹EèÀÙÿÿÇ$N;D¸º©3D‰D$‹E ‰D$‹EèWØÿÿÇ$‹E º4D,‰D$‹EèwÙÿÿÇ$‹E º4D0‰D$‹EèWÙÿÿÇ$‹E º)4D‰D$‹Eè7ÙÿÿÇ$‹E º64D‰D$‹EèÙÿÿÇ$‹E ºA4D ‰D$‹Eè÷ØÿÿÇ$‹E ºN4DX‰D$‹EèרÿÿÇ$‹E ºV4D\‰D$‹Eè·ØÿÿÇ$‹E º_4D`‰D$‹Eè—ØÿÿÇ$‹E º4Dd‰D$‹EèwØÿÿ‹E ºd4Dx‰$‹EèØÿÿÇ$‹E º’4Dh‰D$‹Eè?ØÿÿÇ$‹E ºŸ4Dl‰D$‹EèØÿÿÇ$ЋE•tþÿÿ‰T$º­4DèØÿÿ‹M º»4D‹…tþÿÿ‰p…tþÿÿ‰D$‹EÇ$ˆèÔ×ÿÿ‹U ‹…tþÿÿ‰‚t‰ÐH‰D$‹EºÉ4DÇ$Èè¦×ÿÿÇ$‹E ºÙ4DL‰D$‹Eè†×ÿÿÇ$‹E ºç4DP‰D$‹Eèf×ÿÿÇ$‹E ºô4DT‰D$‹EèF×ÿÿÇ$‹E ºq4D‰D$‹Eè&×ÿÿÇ$‹E º†4D”‰D$‹Eè×ÿÿÇ$‹E º5D‰D$‹EèæÖÿÿÇ$Þ5D¸º5D‰D$‹E H‰D$‹Eè}ÕÿÿÇ$P‹E º5D”‰D$‹EèÖÿÿÇ$‹E º!5D˜‰D$‹Eè}Öÿÿ‹E º,5Dœ‰$‹EèÅÕÿÿÇ$‹E ºG5Dè‰D$‹EèEÖÿÿÇ$‹E ºS5D ‰D$‹Eè%ÖÿÿÇ$‹E º^5D ‰D$‹EèÖÿÿÇ$‹E º15D¤‰D$‹EèåÕÿÿÇ$‹E º<5D˜‰D$‹EèÅÕÿÿÇ$‹E ºo5Dœ‰D$‹Eè¥ÕÿÿÇ$‹E º~5D¨‰D$‹Eè…Õÿÿ1À‰…tþÿÿ1Àë‹…tþÿÿ@ƒø‰…tþÿÿʼnD$¸‹5D‰D$‰4$èæJ‰\$‹…tþÿÿ¹‰L$‰ò‹…8D‰$‹EèçÓÿÿ‰|$`þÿÿº”5D‰L$…\þÿÿ‰D$ ‰T$‰$è&Kƒøu€‹…tþÿÿ‹•Xþÿÿ‹M @ˆ”¬‹…tþÿÿ‹•\þÿÿ@ˆ”­‹…tþÿÿ‹•`þÿÿ@ˆ”®‹…tþÿÿ@‰…tþÿÿƒøŽ;ÿÿÿÇ$‹E º«5Dø‰D$‹Eè~ÔÿÿÇ$‹E º²5Dü‰D$‹Eè^ÔÿÿÇ$‹E º»5Dð‰D$‹Eè>ÔÿÿÇ$‹E ºÈ5Dô‰D$‹EèÔÿÿÇ$‹E º5D‰D$‹EèþÓÿÿ1À‰…tþÿÿ1À‰D$¸Ó5D‰D$…xÿÿÿ‰$èqI¸•xþÿÿ‰D$‹…tþÿÿ‰T$…Àˆ‰Áø‹…p:D•xÿÿÿxþÿÿ‰$‹EèWÒÿÿ‹•tþÿÿ‰Öë ¶ ‰ßëC¶ „É•À1Ò€ù,•Â…Ðuë€ù,„#‰<$è³H‹M ‹•tþÿÿf‰„qFB 9𺉅tþÿÿ=ÿŽ5ÿÿÿÇ$Þ5D¸€ºä5D‰D$‰È¿ »‰D$‹Eè·ÑÿÿÇ$‹E º 6Dˆ ‰D$‹Eè×ÒÿÿÇ$‹E º6DŒ ‰D$‹Eè·ÒÿÿÇ$Þ5D¸€º$6D‰D$‹E ‰D$‹EèNÑÿÿÇ$‹E º,6D ‰D$‹EènÒÿÿÇ$‹E º86D|‰D$‹EèNÒÿÿÇ$‹E ºB6D€‰D$‹Eè.ÒÿÿÇ$‹E ºñ5D4‰D$‹EèÒÿÿÇ$‹E ºý5D8‰D$‹EèîÑÿÿÇ$‹E ºj6D<‰D$‹EèÎÑÿÿÇ$‹E º|6D„‰D$‹Eè®ÑÿÿÇ$‹E º…6Dˆ‰D$‹EèŽÑÿÿÇ$‹E º‰6DŒ‰D$‹EènÑÿÿÇ$‹E º“6D” ‰D$‹EèNÑÿÿÇ$Þ5D¸€ºž6D‰D$‹E ˜ ‰D$‹EèåÏÿÿÇ$‹E º©6D!‰D$‹EèÑÿÿÇ$‹E ºµ6D!‰D$‹EèåÐÿÿÇ$‹E ºV6D !‰D$‹EèÅÐÿÿ‰|$‹E ºÓ6DÇ$Þ5D½Tþÿÿ$!‰D$‹EèÛÐÿÿÇ$…tþÿÿºÈ6D‰D$‹Eè}Ðÿÿ‹µtþÿÿ‰Ø‹U )ðµtþÿÿ‰‚$%‹Eºã6D‰t$Ç$èLÐÿÿ‹tþÿÿ‰Øºï6D)È‹M ‰(%‹E‰t$Ç$è!Ðÿÿ‹•tþÿÿ‰Ø)ЋU ‰‚,%‹Eº÷6D‰|$Ç$èöÏÿÿ‹…Tþÿÿ‹M )É™0%ƒû„µ‰t$‹Eº7DÇ$»è¿Ïÿÿ‹µtþÿÿ‰Ø‹U )ðµtþÿÿ‰‚4%‹Eº7D‰t$Ç$èŽÏÿÿ‹tþÿÿ‰Øº7D)È‹M ‰8%‹E‰t$Ç$ècÏÿÿ‹•tþÿÿ‰Ø)ЋU ‰‚<%‹Eº17D‰t$¾Ç$è3Ïÿÿ‹M ºK7D‹½tþÿÿ‰È)ûD%‰™@%‰D$‹EÇ$èÏÿÿÇ$‹E º&7DH%‰D$‹EèãÎÿÿÇ$‹E º;7DL%‰D$‹EèÃÎÿÿÇ$‹E º¦7DP%‰D$‹Eè£Îÿÿ‹E ºU7DT%‰$‹EèëÍÿÿ‹E º^7D %‰$‹EèÓÍÿÿ‹E ºg7Dì%‰$‹Eè»ÍÿÿÇ$‹E º±7D8&‰D$‹Eè;Îÿÿ‰t$‹E ºÂ7DÇ$Þ5DÀ‰D$‹Eè×ÌÿÿÇ$€%‹E ºÍ7DÀ‰D$‹Eè÷ÍÿÿÇ$‹E ºÙ7DĉD$‹Eè×ÍÿÿÇ$‹E ºt7DȉD$‹Eè·ÍÿÿÇ$‹E º‡7D̉D$‹Eè—ÍÿÿÇ$‹E º”7DЉD$‹EèwÍÿÿÄÌ[^_]ËU ‹ƒD‰‚‰Ð‰D$¡€GEº½0D‰$‹Eè=Íÿÿé£éÿÿÆCéÔùÿÿƒÀéoùÿÿ‰|$‹EºT;DÇ$èÍÿÿƒ½Tþÿÿ…&ýÿÿ‹E 1ÿ‰¸0%éýÿÿÇ$‹Ehþÿÿ‰\$º];DèÔÌÿÿ‹…hþÿÿ…Àu‹E 1Ò‰(é¾ëÿÿƒøt=ƒøt^ƒøtF‰\$‹Eºg;DÇ$è“Ìÿÿ1Àƒ½hþÿÿ‹M ”À@‰(é|ëÿÿ‹M ¿‰¹(éiëÿÿ‹U »‰š(éVëÿÿ‹E ¾‰°(éCëÿÿë U‰åƒì‰]ø‹E‹] ‰uü‰$膉$‰Æ‰\$èèæÿÿ‰u‹]ø‹uü‰ì]éw´&U‰å]ëºv¼'U¹‰åüƒì‹E‰uø‰}ü¿y;D‰]ô‹‰Eð‹uð‹E 󦋗’À8¹ÿÿÿÿt7¹‰Þ¿y;Dó¦—Â’À8¹t‰] ‹Eð‹]ô‹uø‹}ü‰E‰ì]é¶A‹]ô‰È‹uø‹}ü‰ì]Ãë U‰åWVSìL‹u …ö„r‹E1Û‰ä÷ÿÿ1ÛÇ@èP‰…Ü÷ÿÿ…À„¼µè÷ÿÿ¶¿‰t$¹‰L$‹•Ü÷ÿÿ‰$èu…À‰Çt{‰ñ¶¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒƒÙ)ñD;…ä÷ÿÿ‰t$‹M‹A؉$èˆ@‹U‹B؉$èà?…ÿ\…dÿÿÿ‹Ü÷ÿÿ‰ $èæC¾‰t$‰D$‹U‹B‰$è}ÿÿ‹M‰AÆ‹Alj…Ä÷ÿÿ¶„ÛtTü´&‹µÄ÷ÿÿ¸¿y;D‰Áó¦t‹E‹•Ä÷ÿÿÿ¶„Ûëÿ…Ä÷ÿÿ‹Ä÷ÿÿ€9uïÿ…Ä÷ÿÿ‹…Ä÷ÿÿ¶„Ûu´¹‰L$‹U‹@‰$è­yÿÿÇy;D‹Mº‰…Ø÷ÿÿ‰•à÷ÿÿ‰A‹A‰…Ä÷ÿÿ¶„Û„ü‹•Ø÷ÿÿ‰•Ô÷ÿÿë ‹µÄ÷ÿÿ¸¿y;D‰Áó¦t‹…à÷ÿÿ‹Ä÷ÿÿ‹•Ø÷ÿÿ‰ ‚@‰…à÷ÿÿ¶„Ûë´&ÿ…Ä÷ÿÿ‹…Ä÷ÿÿ€8uïÿ…Ä÷ÿÿ‹•Ä÷ÿÿ¶„Ûuœ¸ðÇ@¿‰|$‰D$ ‹…à÷ÿÿ‰D$‹•Ô÷ÿÿ‰$è?ÄL[^_]ËM‹A‰$èy}ÿÿ‹U‹B‰$èk}ÿÿ‹MÇAÇAÄL[^_]ú‰…ä÷ÿÿ‰T$‰D$‹M‹A‰$è9{ÿÿ‹U‰BéÊýÿÿ‹M‹I‰Ô÷ÿÿéQÿÿÿU‰åSƒì‰Ã€;¸ÿu ƒÄ[]ô&ÇEøEø‰D$‰$èºuÿÿ‹Uø¾À…ÒuÓ¾ƒÄ[]ô&Uº0AD‰åSƒì‰Ã‰T$‰$èî<…Àu¸ƒÄ[]ô&‰$¸4AD‰D$èÇ<…ÀtÙ‰$¸7AD‰D$è²<…Àtĉ$¸AD‰D$èˆ<…Àu1À뛉$¸AAD‰D$èo<…Àtç‰$¸EAD‰D$èZ<…ÀtÒ‰$¹KAD‰L$èE<…Àt½‰$è<…À•À¶ÀéGÿÿÿt&Uƒø‰åºMAD„ƒøºaAD„ƒøºvAD„óƒøºŒAD„åƒøº›AD„׃øº®AD„ɃøºËAD„»ƒø ºçAD„­ƒø ºÿAD„Ÿƒø ºBD„‘ƒø º+BD„ƒƒø º@BD„uƒøºSBD„gƒøºeBD„YƒøºwBD„KƒøºŒBD„=ƒøº¢BD„/ƒøº¸BD„!ƒøºÆBD„ƒøºÜBD„ƒøºÿBD„÷ƒøºCD„éƒøº3CD„ÛƒøºLCD„̓øºpCD„¿ƒøº„CD„±ƒøº£CD„£ƒøº¸CD„•ƒøºÛCD„‡ƒø ºðCD„yƒø!ºDDtoƒø"ºDDteƒø#º=DDt[ƒø$ºWDDtQƒø%ºfDDtGƒø'º„DDt=ƒø(º—DDt3ƒø)º´DDt)ƒøFºÐDDtƒøGºèDDtƒøHºEDt º%ED¶]‰Ðö¿Uƒú‰Á‰å¸-ED„ƒú¸AED„ƒú¸QED„qƒú¸hED„cƒú¸wED„Uƒú¸ED„Gƒú¸¨ED„9ƒú¸¹ED„+ƒú„$ƒú„6ƒú„ƒú„.ƒú ¸ÊED„ ƒú!¸ãED„üƒú2¸ýED„݃ú3¸FD„σú4¸1FD„Áƒú5¸KFD„³ƒú<„؃ú=„íƒúP¸dFD„“ƒúQ¸|FD„…ƒúR¸•FDt{ƒúZ¸®FDtqƒú[¸ÄFDtgƒú\¸çFDt]ƒú]¸GDtSƒú^¸'GDtIƒú_¸@GDt?ƒú`¸_GDt5ƒúa¸tGDt+ƒúb¸‹GDt!ƒúc¸¤GDtƒúd¸½GDt ¸%ED´&]ÃöÁ¸ÖGDuô¸êGDöÁuê¸%EDëãöÁ¸HDuÙ¸HDëãöÁ¸5HDuÈöÁ ¸PHDu¾¸tHDöÁ@ëȸ”HDöÁ@ë¾v¼'U1À‰å]Éö¼'U‰å]Ãt&¼'U1À‰å]Éö¼'U1À‰å]Éö¼'U‰åESƒì‰D$‹E ‰$èvÿÿ‰D$‰Ã‹E‹€Ô‰$è0¨‰$è(wÿÿƒÄ[]ÃfU‹ˆä‰å…Ét‹E‰B$]Ãt&¼'U‹€è‰å…Àt‹E‰B$]Ãt&¼'U‰å]ÇB$Ãt&U‰åW‰×VSƒì‰Eð€:„£‰ö¼'‰<$¸ ‰D$èG7‰Æ‰ó¸‰D$)ûC‰$èÅqÿÿ‰Eì‰\$‰|$‰$è27‹EìÆ€~AtWF‰$èºsÿÿ…À‰Ãt‰D$‹U ‹Eì‰$‰D$ÿU‹Eì‰$è5vÿÿ‰$è-vÿÿ‰<$èÕ6øx€x…fÿÿÿƒÄ[^_]ÉD$‹Uð‹‚Ô‰$èæë´&U¹ÿÿÿÿ‰å‹E ‹P‹E9Pr—À¶È]‰ÈÃU¹ÿÿÿÿ‰å‹E ‹P‹E9r—À¶È]‰ÈÃU‰åƒì‰]ø‹] ‰uü‹uC‰D$V‰$è7…Àt™ƒÊ‹]ø‰Ð‹uü‰ì]ËCº9FwçÒ‹]ø‹uü‰ì‰Ð]ö¼'U¹‰å‹E ‹‹E9wÉ]‰ÈöU1ɉåS‰Ãƒì Ót …À¹ÿÿÿÿt…Ò¹t‰T$‰$è‹6‰ÁƒÄ‰È[]Éö¼'Uº‰åƒì‰}ü‹}‰uø‹u ‰]ô‹_;^^|‹F$º9G$O|p‹V‹Gè‚ÿÿÿ…ÀuN‹Fº9Gw1rRƒûDt‹V‹Gè_ÿÿÿ…Àu+‹F º9G wr/1Òv¼'‹]ô‰Ð‹uø‹}ü‰ì]Ë]ô™‹uø‹}ü‰ìƒÊ]‰ÐúÿÿÿÿëÖ¶U‰åW¿ÿÿÿÿVSƒì‰Eì‹€è‰$è!Œ‰Æ@ƒøv7´&‹Uì>Ñë‰\$‹‚è‰$è¶’“9PtC‰Þ‰ð)øƒøwиÀÒ@‹U쟉D$Eð‰D$‹‚è‰]ð‰$è¶”…ÀuƒÄ‰Ø[^_]É߉ð)øë»Ç$´HD¸‰D$¸èHD‰D$èš4fU‰åW‰ÇV‰ÖSƒì 1Û;]}I¶¿¶3€ú t.…ÿu€ú töÂ`t ‰ö¼'¡äSEƒÀ@‰D$¾Â‰$èÉ4C;]|ÃƒÄ [^_]Ãt&¼'U‰åƒìöÐGE‹Mtɸésÿÿÿv‰T$º‰L$ ‰T$‹€Ô‰$èãÉÃë U‰åƒì‰$‰]ø‰Ó‰uü‰ÆèX3‰$‰Ú‰ðèŒÿÿÿ‹]ø‹uü‰ì]ÃfU‰åSƒì‰Ã‹@‰$è|rÿÿ‰$ètrÿÿY[]ÃU¸0‰åƒì‰D$Ç$è•mÿÿÇ@Ç@Ç@Ç@$Ç@(Ç@,ÉÉö¼'U‰åƒì‰]ô‰Ã‰uø‰}ü9P}8‹p…öt>‹H‰÷)ω $‚º‰C‰T$‰D$èîoÿÿ‰C…ötø‰C‹]ô‹uø‹}ü‰ì]ËH1ÿë´&¼'U‰åW‰×VSƒì<‰Eè‹@…À‰EØ…Ë‹G,‰$è‰qÿÿÇG(‹MèÇG,‹Y<…Û…‹P‰øèAÿÿÿ‹ZøB‰…ۉ؉]܈y‹U܃àø)‰к‰Ñ)Á)ʉȉUà‹M܉Öȃú ‰Eä‹_è8öˆFƒþ ~ï‹Eä‹Wƒè‰D$‹EàЃÀ‰$èrv‹w‰Â‹Mä‹]àÁêñˆ‰Ù‹_‰ÂÁêÙ‹]äˆT‹W‹MàщÂÁêˆT‹Uà‹wòˆD‹EÜ‹W‹MàÁøˆ‹EÜ‹WÁøˆD ‹EÜ‹WÁøˆD ‹G¶]܈\‹Eè‹PT…Ò…ö‹M…Ét‹Eà‹U‰‹EäƒÄ<[ƒÀ^_]ÃEð‰D$Eì‰D$ ‹ƒè ‰D$‹GƒÀ ‰D$‹ˆ‰$èQ[‹Eð‹W‰D$‹EìƒÂ ‰$‰D$èÕ0‹Eì‰$èúoÿÿ‹EðƒÀ P‰‰øèÈýÿÿ‹ZøB‰…ۉ؉]܉‡þÿÿBÿéþÿÿ‹r¶F èíóÿÿ‰D$ ‹W,‹_‰T$‹W(‰Ù‰\$)ñ‰T$‹)ʉT$‹UضF ¾‰t$‰$‰D$èF9Þ~å1ö9Þ/€?u*€ët&F9Þ€<>u€|7yî´&¼'‰<$)ó7‰D$C‰\$èš)‹E쉃ĉø[^_]ÃPéUÿÿÿvU‰åƒì‰$‰t$‰ÆèœõÿÿljÃÇ@‰ð¶Ð‰Øèñùÿÿ‹s‹ð‰C‹t$‰Ø‹$‰ì]Ãv¼'U‰åW‰×VSƒì<‰Eè‹@…À‰EÜ…È‹G,‰$è©gÿÿÇG,‹MèÇG(‹‘€…Ò…C‹U蹋B`…Àt‹HƒùŒë ÇEà‹‹WC9Ð})Ú‰Uà‹Uà™÷ù‰È)Й÷ùUà}àÿöÇEä‹Mè‹Ap…À…·‹Eà1ö‹E䉸èßôÿÿ¶Uà‹GˆP;uà}‹‹GÃèìˆ3F;uà|ë‹Eà‹‹W؃èÁøˆ‹‹Eà‹WȃèÁøˆB‹Eà‹7‹WðƒèÁøˆB‹W¶Eà,ˆB‹Mè‹Qp…Ò…+‹Eè‹P`ÿ€\…Ò…â‹Eà‹ЉG ‹}äƒÄ<[ø^_]Ë@‰Eäé>ÿÿÿ¹éçþÿÿEð‰D$Eì‰D$ ‹ƒè‰D$‹GƒÀ‰D$‹ˆ‰$ÿR …À„ˆþÿÿÇ‹Eð‹Uì‰$‰øè÷ÿÿ‹Eì‰$èñeÿÿébþÿÿ‹r‹Mè¶V‹@è7ìÿÿ‹W,‰T$‹W(‰T$‹_‹‰D$ ‰Ù)ñ‰\$)ʉT$¶F‰D$¸‰D$‹E܉$èVWÿÿéÝýÿÿ‹‹EàȉD$‹G‰D$‹Mè‹Ah‰$ÿR‹Eà‹ЉG ‹}äƒÄ<[ø^_]Ë\‰D$ ‹Eà‹؉D$‹G‰D$‹Ax‰$ÿR é«þÿÿÇ$ ID¸ä‰D$¸èHD‰D$è,&t&U‰åƒì‰uø‰Æ‰}ü‰×‹U‰]ô‹@`…Àtö@$um¶¼'‰ú‰ðèýÿÿ‹–(‰Ã;†,t‹Ž$‹Gʉ\$‰$‰D$èy%ž(‹G †T,‰ø‹]ô‹uø‹}ü‰ì]é÷ñÿÿ´& –(u˜¸èNüÿÿ‰ÃèWøÿÿÇ$‰Ú‰ðèGÿÿÿérÿÿÿfƒè€º‰†,‰T$‰D$‹†$‰$è„Gô=Ü„˜ =ÿu½‹] …Û„‹Hÿÿÿ‹u ‹C49F„æÇ$`ODéÇ$¿à‰|$èë7ÿÿ‰…Hÿÿÿ‹•Tÿÿÿ‰‚ˆéÿÿÿt&‹} …ÿ„`‹•Hÿÿÿ‹B@‹H ‹BD‹P 9ÊŒh‹Hÿÿÿ‹Tÿÿÿ‰‹‹‹A‹@ Áà9Â~‹µHÿÿÿ‰‹q…ö…;»OD‰\$‹½Tÿÿÿ‹‡Ô‰$èmƒ@‹•Hÿÿÿ‹‰ÁIˆÖ Áù¸Óà‹Hÿÿÿ‰A¸èÅÓÿÿ‹Hÿÿÿ‹S‰ƒÐè1Îÿÿ‹“Ћ…Tÿÿÿè$‹µPÿÿÿ1ÀÇÜfÄì[^_]Ã…À„‹=Ó…bþÿÿ‹] …Û„¥‹} ƒ„ÑÇ$´ODè¾:ÿÿ‰Ã‹…Tÿÿÿ1ÒèÝÿÿ‰\$‹•Tÿÿÿ‹‚Ô‰$èGl‰\$¸…ID‰D$‹Tÿÿÿ‹Ô‰$èÆ©‰$è;ÿÿ‹Pÿÿÿ1ÀÇé[ÿÿÿ=„ŽŽ'=…¿ýÿÿ‹E …Àt ‹} ƒt‹E …À•ÀC• Ш…û ‹E …À…¡‹TÿÿÿöAP@…Š ‰t$»àOD‰\$‹µTÿÿÿ‰4$è3Ãÿÿ‹Tÿÿÿ1À‹µHÿÿÿƒ£@ð1Û‰†”¶‹½Tÿÿÿ‹„Ÿ( ƒø„4Žvƒø„Iƒø„¬fCƒû~Ê‹…Hÿÿÿ1ÿ1Û‰¸¨v¼'‹•Tÿÿÿ‹„šX ƒø‡zÿ$…ØVD‰Êé‘ýÿÿ‹µTÿÿÿƒŽ@‰ $è—k‰†¼‹†‹½Hÿÿÿ‹@ÇG0ÇG4‰D$¸PD‰D$‰4$èOÂÿÿ‹•Tÿÿÿ¿‹‚‹@‹@‰$‰D$¸0PD‰D$è#Âÿÿ‰|$‹Tÿÿÿ‹Ô‰$è[e‹Hÿÿÿ‹À‰D$‹µTÿÿÿ‹†¼‰$è l‰C‹C0èÑÿÿ‹½Hÿÿÿ‰Ã•\ÿÿÿ‰‡Ð‹Gè2Ðÿÿ‰Æ‰Øè Íÿÿ‹…\ÿÿÿ‰ò‰$‰Øè·Íÿÿ‰4$¾èú8ÿÿ‹—Ћ…Tÿÿÿè)!‰t$‹•Tÿÿÿ‹‚Ô‰$èÁd‹Pÿÿÿ1ÀÇÿéýÿÿ‹} …ÿ„’Ç$`PDè÷7ÿÿ‰Ã‹…Tÿÿÿ1ÒèÈÚÿÿ‰\$‹½Tÿÿÿ‹‡Ô‰$è€i‰\$¸…ID‰D$‹‡Ô‰$觉$è]8ÿÿ1À‰‡x1Àéžüÿÿ‹M …Ét Ç$¨PDë’…Ûë ‹•Tÿÿÿ‹Hÿÿÿ‹‚,(‰Ô‹…Tÿÿÿ1ÒèñÙÿÿ‹Hÿÿÿ‹“Ô…Ò„u‹½Hÿÿÿ‹G …À…š ‹•Hÿÿÿ‹J…É…Œ‹µTÿÿÿ‹†‹@ÿ‹½Tÿÿÿ‹_‰G ‰Æ‰$èdø‹—‹J‰ò‰D$‰È‰$èûÊÿÿ‹_‰$è@ø‹‹W ‹I‰D$‰$‰ÈèÖÊÿÿ‹Hÿÿÿ‹‡‹W ‹K,‹@‰L$‹K(‰ $è²Êÿÿ‹C(‰$èG7ÿÿ‹u ‹ƒùu‹½Hÿÿÿ‹‡Ü…À„ úÿÿ‹…PÿÿÿǸ1Àébûÿÿ‹…Hÿÿÿ1Ò1ɉȋ•Tÿÿÿ‰ˆÌÇ@DöBPÇ@@Ç@LÇ@HÇ@TÇ@P„ƒÇ@8€DÇ@<éüÿÿ‹µHÿÿÿ¹°D‹†¨‰Œ†¬@‰†¨CƒûŽfüÿÿ‹…Tÿÿÿ‹€$ …À„Æ‹•Hÿÿÿ¸€ÎD‰‚Ä‹Tÿÿÿ¾¿¸‰³\,‰» »èÎÿÿ‹µHÿÿÿ‰†Ðv¼'è;»‹½Hÿÿÿ¶Ð‹‡ÐèÈÿÿKy䋇Ð1ÛèçÉÿÿ‹‡”1ÒƒøŽ‚‹Hÿÿÿ‹´™˜…ötQ‹1ÿ…É~I…Òt‹•Hÿÿÿ‹‚кäPDèÃÉÿÿ‹F‹Hÿÿÿ‹¸‹ÐG‹è©Éÿÿ9>ºÇ‹µHÿÿÿ‹†”C9Øë“‹Hÿÿÿ¾0xD‹¨‰´¬@‰¨éËþÿÿ‹Hÿÿÿ¾°žD‹¨ëÚ‹•Hÿÿÿ¿¼µD‹‚¨‰¼‚¬@‰‚¨é”þÿÿƒû‹þÿÿ‹½Hÿÿÿ1Ò‹‡¨‰”‡¬@‰‡¨éjþÿÿ‹µTÿÿÿ‹Žx…É„Vþÿÿ‹½Hÿÿÿº0µD‹‡¨ëÆ=¥…˜÷ÿÿ‹E …À„F‹} ƒ„ Ç$èPDèô3ÿÿ‰Ã‹…Tÿÿÿ1ÒèÅÖÿÿ‰\$‹•Tÿÿÿ‹‚Ô‰$è}e‰\$¸…ID‰D$‹Tÿÿÿ‹Ô‰$èü¢‰$èT4ÿÿ‹Tÿÿÿ1À‰ƒx1Àéøÿÿ‹HÿÿÿÇA8tDÇA<é“ùÿÿ‹µHÿÿÿ¹ðÂD‹†”‰Œ†˜@‰†”éÂùÿÿ‹Hÿÿÿ¾„ÁD‹”‰´˜@‰”éžùÿÿ…À…–ùÿÿƒûùÿÿ‹½Hÿÿÿ1Ò‹‡”‰”‡˜@‰‡”élùÿÿ‹Hÿÿÿ¸°;D‰Äé5ýÿÿ‹•Hÿÿÿ¿ðÀD‹‚”‰¼‚˜@‰‚”é2ùÿÿ‹•Hÿÿÿ¹‰ŠÌémøÿÿ‹M …É„‘÷ÿÿ‹} ƒ„/Ç$QDéþÿÿ‹E …À„2Ç$¨PDéxþÿÿ…Ûð‹•Tÿÿÿ‹Hÿÿÿ‹‚,(‰Ô‹…Tÿÿÿ1ÒèÔÔÿÿ‹Hÿÿÿ‹³Ô…ö„ü ‹½Hÿÿÿ‹—È…Ò„€‹Hÿÿÿ‹Cd‰$è»2ÿÿ‹C`‰$è°2ÿÿ‹µTÿÿÿ‹Cp‹–”‰$ÿR‹ƒÈ…À…ƒ‹Ct‰†˜‹Cx‰†œ‹C|‰† ‹ƒ€‰†¤‹ƒ„‰†¨‹ƒˆ‰†¬‹ƒŒ‰†°‹ƒ‰†´‹†‹@‹@ ƒø ‰†¸‡`‹½Hÿÿÿ¸‰‡È¸èàÉÿÿ‹•Hÿÿÿ‰‚Љ‹…Tÿÿÿè'‹Tÿÿÿ1À‹Qh‰P,…Ò…Í ‹Hÿÿÿ‹µTÿÿÿ‹C@‰F`ÿ‹Vx…Ò‰Fh… ‹½Hÿÿÿ‹•Tÿÿÿ‹GH‰Bpÿ‹Tÿÿÿ‹‘ˆ‰Ax…Ò…Ž ‹Hÿÿÿ‹µTÿÿÿ‹CP‰†€ÿP‰†ˆ‹†‹@‹@ Àƒø@‡¯‹½Hÿÿÿ¾C]¨‹W$‰t$‰þƒÆt‰\$‰4$‹…Tÿÿÿèpòÿÿ‹…Tÿÿÿ‹H`‹A ‰ÂƒÂˆÛ‹½TÿÿÿÁú‹‡‹@‹@ À9Âk‰\$‹•Tÿÿÿ‹Bh‰$ÿQ ‹Hÿÿÿ¸A‹Q$‰\$‰D$‰4$‹…Tÿÿÿèòÿÿ‹½Tÿÿÿ‹‡‹W`‹@‹@ À9B-‰\$‹Tÿÿÿ‹Ah‰$ÿR‹½Hÿÿÿ¸E‹W$‰\$‰D$‰4$‹…Tÿÿÿè¬ñÿÿ‹…Tÿÿÿ‹Pp‹€‹@‹@ À9B¸‰\$‰ß‹µTÿÿÿ»@QD‹Fx‰$ÿRü1À¹ó«‹F`¿pQD‹@(‰|$‰4$‰D$è¸ÿÿ‹Fp‹@‰\$‰4$‰D$臸ÿÿ‹†€‹@ …À… ‹½Tÿÿÿ1Ò1Û‰— ‹‡…À~0‹•Tÿÿÿ‹‚‹˜Ç$C‹…TÿÿÿèŠÊÿÿ‹Tÿÿÿ9™ЋTÿÿÿ1À‰ƒ‰Øè÷‹µPÿÿÿ1ÀÇ¥é´óÿÿ‹½Hÿÿÿ1Û‹‡ÐèAÃÿÿ‹lD‹Hÿÿÿ‹P0‹ÐèFÃÿÿ…Û„öCƒûv׋½Hÿÿÿ1Û‹‡ÐèÃÿÿ‹‡¨1ÒƒøŽ&‹Hÿÿÿ‹´™¬…ötR‹1ÿ…É~J…Òt‹•Hÿÿÿ‹‚кäPDèáÂÿÿ‹F‹Hÿÿÿ‹¸G‹P‹ÐèÆÂÿÿ9>ºÆ‹µHÿÿÿ‹†¨C9Øë’‹E …À„Ç$¨PDèÕ-ÿÿ‰Ã‹…Tÿÿÿ1Òè¦Ðÿÿ‰\$‹µTÿÿÿ‹†Ô‰$è^_‰\$¹…ID‰L$‹†Ô‰$è㜉$è;.ÿÿ1Ò1À‰–xé|òÿÿH>é"òÿÿ‰t$¸ QD1ÿ‰D$‰ $è­¶ÿÿ‹Tÿÿÿ1À‰ƒP,‹ƒ8 ‰»L,…Àt!‰\$iÀ`ê¾ ÜA‰t$‰$è4C‰ƒ`,‹PÿÿÿÇé™ðÿÿ‹½Hÿÿÿ‹µTÿÿÿ‹Gp‹–”‰$ÿR‹–”‰G`‹Gp‰$ÿR$º‰Gd‰ðèaÏÿÿ‰t$¸rA‰D$‹Gd‰D$‹G`‰D$‹†”‹@4‰D$ ‹†Ä‰D$‹†À‰D$‹†Ô‰$èWY‰‡Ô…À‰(úÿÿ‹…PÿÿÿÇ>1Àéfñÿÿ‹½Hÿÿÿ‰_T…dÿÿÿ1Û•`ÿÿÿ‰$‹E è¤Êÿÿ…dÿÿÿ•`ÿÿÿ‰$‹E èÊÿÿ‹E èUÊÿÿ…Àt‹•Hÿÿÿ‹‚Ø…Àu»‹Hÿÿÿ‹A‰™Ü…À„¨ôÿÿ‹…Tÿÿÿº¿rA¾ÉQDèkÎÿÿ‹Tÿÿÿ‰|$ ‰\$‹ƒ‹‰t$‰D$‹ƒÔ‰$èZ‹µHÿÿÿ…À‰†Ô‰-ôÿÿ‹½Pÿÿÿ1ÀÇjéˆðÿÿ‹µHÿÿÿºäPD‹†Ðè2Àÿÿéïüÿÿ¸àQD‰D$‹•Tÿÿÿ‹‚Ô‰$è]éhñÿÿ…Ûù‹Tÿÿÿ‹µHÿÿÿ‹ƒ,(‰†Ô‹…Tÿÿÿ1Òè®Íÿÿ‹½Hÿÿÿ‹¿Ô…ÿ…ÎóÿÿÇ$¾1Û‰t$ºRD‰\$‹…Tÿÿÿè)‹…PÿÿÿÇ1ÀéÑïÿÿ…Û‚‹½Tÿÿÿ‹•Hÿÿÿ‹‡,(‰‚Ô‹…Tÿÿÿ1Òè4Íÿÿ‹Hÿÿÿ‹Ô…À…eóÿÿÇ$¸ºRD‰D$1À‰D$‹…TÿÿÿèŠ(é÷ïÿÿ‹E è Êÿÿ‹µHÿÿÿ‰F‹E èüÉÿÿ‰F‹V…Òt…À…ò Ç$$RDé2òÿÿ‹½Hÿÿÿ1Û‹‡Ð軾ÿÿ‹‡¨1ÒƒøŽ”‹Hÿÿÿ‹´™¬…ötR‹1ÿ…É~J…Òt‹•Hÿÿÿ‹‚кäPDè—¾ÿÿ‹F‹Hÿÿÿ‹¸G‹P‹Ðè|¾ÿÿ9>ºÆ‹µHÿÿÿ‹†¨C9Øë’‹…Tÿÿÿºè"Ìÿÿ‹…Tÿÿÿ‰D$¸rA‰D$ ‹G@‹@‰D$¸VRD‰D$‹•Tÿÿÿ‹‚Ô‰$è8X‰‡Ô…À‰þÿÿ‹Pÿÿÿ1Àǃé7îÿÿ¹‰L$‹•Tÿÿÿ‹‚Ô‰$èºU‹…Hÿÿÿ‹•HÿÿÿƒÀh‰$ƒÂX‹E è]Çÿÿ‹E è¥Èÿÿ‹Hÿÿÿ…À‰A …ßÇ$pRDéþúÿÿÇ$¸ºšRD‰D$1À‰D$‹…TÿÿÿèÒ&‹µPÿÿÿ1ÀÇéŸíÿÿ‹…TÿÿÿºèËÿÿ‹TÿÿÿºrA‰T$ ‰L$‹Hÿÿÿ‹CD‹@‰D$¸¶RD‰D$‹Ô‰$è5W‰ƒÔ…À‰–ýÿÿ‹µPÿÿÿ1ÀÇœé4íÿÿÇ$»1ɉ\$ºÐRD‰L$éWÿÿÿ‹‡ƒé‹W ‹@‰L$‹NƒÁ‰ $è¼ÿÿéeñÿÿ‹½Tÿÿÿ1À‹Wl‰‡L,…Ò… ‹•Hÿÿÿ‹Tÿÿÿ‹BD‰Adÿ‹½Tÿÿÿ‹W|‰Gl…Ò…Y ‹•Hÿÿÿ‹Tÿÿÿ‹BL‰Atÿ‹½Tÿÿÿ‹—Œ‰G|…Ò… ‹•Hÿÿÿ‹Tÿÿÿ‹BT‰„ÿP‹½Tÿÿÿ‰‡Œ‹‡‹@‹@ Àƒø@‡‹…Hÿÿÿhÿÿÿ‰Ç‹P$ƒÇt‰L$¹D‰L$‰<$‹…Tÿÿÿèéÿÿ‹…Tÿÿÿ‹Hd‹A ‰ÂƒÂˆ\ ‹…TÿÿÿÁú‹€‰…Dÿÿÿ‹@‹@ ‰…4ÿÿÿÀ9¬•hÿÿÿ‰T$‹•Tÿÿÿ‹Bl‰$ÿQ ‹Hÿÿÿ…hÿÿÿ‹Q$‰D$¸B‰D$‰<$‹…Tÿÿÿè“èÿÿ‹Tÿÿÿ‹‹Qd‹@‹@ À9B……hÿÿÿ‰D$‹Tÿÿÿ‹Al‰$ÿR‹…Hÿÿÿhÿÿÿ‹P$‰<$¸F‰L$‰D$‹…Tÿÿÿè0èÿÿ‹½Tÿÿÿ‹‡‹Wt‹@‹@ À9B…hÿÿÿ½hÿÿÿ‰D$‹Tÿÿÿ‹A|‰$ÿRü1À¹ó«‹½Tÿÿÿ‹Gd‹@(‰<$‰D$¸øRD‰D$è¯ÿÿ‹Gt‹@‰<$‰D$¸(SD‰D$èû®ÿÿ‹‡„‹@ …À…¯‹•Hÿÿÿ‹B ‰$èé ‹Hÿÿÿ‹A$‰$èØ ‹½Tÿÿÿ‹‡‹x…ÿ„O‹½Tÿÿÿ‹‡h,…À…‹…Tÿÿÿ1ɉˆ\,è è‹•Tÿÿÿ‰‚d,‹‚8 …À…O‹½Hÿÿÿ‹¿Ì…ÿ„Jòÿÿ‹…PÿÿÿÇ1Àéùéÿÿ‹E 1Ò1É‹µTÿÿÿ‹½Hÿÿÿƒ@‰–”•dÿÿÿ‰ŽÇG@ÇGDÇGHÇGLÇGPÇGTÇGÇG ÇG1ÿ‰$•`ÿÿÿèáÂÿÿ‹Hÿÿÿ1À‰…Lÿÿÿ‹”…ÀŽW‹µLÿÿÿ‹…Hÿÿÿ‹œ°˜…Û„¥‹1ö…À'ëE‹K‹…dÿÿÿ‹ ±‹•`ÿÿÿ‰$‹èôäÿÿ…ÀuF93~ …ÿu׋K‹±‹8ëЋC‹•Tÿÿÿ‹°‰‚‹Tÿÿÿ‹…À…íÿ…Lÿÿÿ‹µHÿÿÿ‹Lÿÿÿ9ž”dÿÿÿ‹…`ÿÿÿ…Àu¸XSD‰D$Ç$`SDèª#ÿÿéçèÿÿÇ@롸˜SD‰D$‹•Tÿÿÿ‹‚Ô‰$è/U‹Gd‰D$‹Tÿÿÿ‹Ô‰$èUéCñÿÿ‹Fp‰$ÿPéUòÿÿ‹A`‰$ÿPé%òÿÿ‹€‰$ÿPéaòÿÿ‹µPÿÿÿÇÓ1Àéèÿÿ‰D$¹±SD‰L$‰4$èZ¬ÿÿéßóÿÿ‹…Hÿÿÿ‹•HÿÿÿƒÀl‰$ƒÂ\‹E èHÁÿÿ‹½Hÿÿÿ‹G ‰D$‹•Tÿÿÿ‹‚¼‰$èÇW‰G$1Ò‰T$‹Tÿÿÿ‹Ô‰$èJO‹Tÿÿÿ‹Oh‹ƒ‹S ‹@‰L$‹OX‰ $è–¶ÿÿ‹‹‹A…À„Ø‹½Tÿÿÿ‹Hÿÿÿ‹A‹W ‹K‰ $èØ¿ÿÿ‹‡‹W ‹K ‹@‰ $èÁ¿ÿÿ‹‡‹W ‹K$‹@‰ $調ÿÿ‹‡‹Pƒz ‡ ‹HÿÿÿƒÃt‰\$‹µTÿÿÿ‹F ‰$ÿR‹†¼‰$èýT‹½Hÿÿÿ1À‹–”‰†¼‹Gh‰D$‹GX‰$ÿ‰Gp…Àt9‹†‹–”‹@‹@ ‰\$ ‰D$‹Gl‰D$‹G\‰D$‹Gp‰$ÿR(…À…}ôÿÿÇ$ÌSD黿ÿÿPéñÿÿ‹½Hÿÿÿ1Û‹‡Ðè¶ÿÿ‹G<…ÀëJC9Ú~E‹•Hÿÿÿ‹Hÿÿÿ‹B8‹˜‹P‹Ðèõµÿÿ‹µHÿÿÿ‹V‹µHÿÿÿ‹žÄ‹…dÿÿÿ‹•`ÿÿÿ‰$‹èáÙÿÿ…À…£ìÿÿÿ…Lÿÿÿƒ½Lÿÿÿv½é˜ìÿÿ‹½Lÿÿÿ‹½`Dë¿‹•Lÿÿÿ‹•`DéKÿÿÿÇ$XUD¸Ž‰D$¸èHD‰D$è~ÚÇ$”UD¸Š‰D$¸èHD‰D$è`ÚÇ$ØUD¸‰D$¸èHD‰D$èBÚ‹µHÿÿÿ‰^Péÿÿÿ‹µHÿÿÿ‹½Lÿÿÿ‹F8‹¸‰FHé!þÿÿ‹•Hÿÿÿ‹Lÿÿÿ‹B8‹ˆ‰BLévþÿÿ¾Å‰t$éFýÿÿÇ$ VD¸È‰D$¸èHD‰D$èÔÙÇ$XVD¸Ð‰D$¸èHD‰D$è¶ÙÇ$”VD¹ÌºèHD‰L$‰T$è˜ÙU‰åVSƒì‰Ã‹$‹€(‰$‰Øè©ÿÿ‰Æ1À‰ƒ,1À‰ƒ(‹ƒ$‰$è@ÿÿ1Àþ€‰ƒ$@‹‹P,‹ƒT,‹“\,È…Ò‰ƒP,u‹“X,…Òt9Ðw%t&1À‰ƒT,ƒÄ[^]É4$º‰ØèáÇÿÿë¯Ç$ÿÿÿÿ1ÀºðVD‰D$‰ØèÚÿÿëÄt&U‰åV‰ÖSƒì‰Ã‹@`…Àtö@$uw‰ò‰Øèίÿÿ‹V‰$‰ØèA¨ÿÿ=€z‹F ‹‹P,‹“\,È…Ò‰ƒP,u/‹“X,…Òt%9Ðv!Ç$ÿÿÿÿ1ÀºðVD‰D$‰Øè˜Ùÿÿ´&ƒÄ‰ð[^]飤ÿÿvÇ$‰Øè²ÿÿƒÄ‰Ø[^]é•þÿÿt&‰$º‰ØèÇÿÿérÿÿÿ¶¿U‹ˆ ‰å…Ét]éͲÿÿ]éÿÿÿ´&U‰åƒì‰uø‰Æ‰}ü‰×‰]ô‹‰Eð‹F…Àu ‹F,À9Ðr ‹]ô‹uø‹}ü‰ì]ø]èq®ÿÿ‹V‰Ãèç¨ÿÿ‹F,‰ú)‰ØèÙ¨ÿÿ‹Eð‰Úèÿÿÿ‰~,‹]ô‹uø‹}ü‰ì]Ãë U‰åƒì‰$‰t$‹]‹u ‹ ƒ¹tBƒ¹Htº@‰Ø)ò‹$‹t$‰ì]éAÿÿÿ‹C…À•À1ÒþÿžÂ…Ðu‰ö¼'‹$‹t$‰ì]Ãt&ÇCºÿÿÿÿ‰È‹$‹t$‰ì]é#ÅÿÿvU‰åWV1öSìl‰…äûÿÿ‹€‰Ó‰•àûÿÿÃ$!…ÀuéÀÇ‹•äûÿÿF‹‚‰t$‰$è04…Àuݶ¿¶ „É„•Æ…ÛûÿÿA€ùA”ÀÆ…ÚûÿÿL€ù4” Ш…ø€ù6„ï€ùL”À€ùR” Ш…ù€ùD„ðÆ…èüÿÿ1ö„É•À1Ò€ù •Â…Ðt.€ù:„6þþwÞˆŒ.èþÿÿCF¶ „É•À1Ò€ù •Â…ÐuÒ1Àˆ„.èþÿÿ€½ÚûÿÿD„ê€ù „é1ö„É•À1Ò€ù:•Â…Ðt%þþw爌.èûÿÿCF¶ „É•À1Ò€ù:•Â…ÐuÛ1À€ù:ˆ„.èûÿÿ„–1ö¶„ÉtþþwôˆŒ.èýÿÿCF¶ „Éuè1ÉCˆŒ.èýÿÿµèýÿÿ‰4$è¼Ô‰…Ôûÿÿ1Ò…À‰•Ìûÿÿ„y•èþÿÿ‰$è˜Ô‰Ç1À…ÿ‰…Ðûÿÿ„Ü…ÿ•À1Òƒ½Ôûÿÿ•…ЄmþÿÿÇ$¹,‰L$èøÿÿ‰Æ¾…Úûÿÿ‰F1À€½èüÿÿ…»‰F‹•Ðûÿÿ1À…Ò…Q‰F1À‰~€½èûÿÿ…_‰F‹½Ìûÿÿ1À…ÿ…m€½Ûûÿÿ4‰F‹…ÔûÿÿÇF(ÇF ‰F ¸t1À€½Ûûÿÿ6”ÀÀ‰F$‹•äûÿÿ‰t$‹‚‰$èq19ð„)Ç…öt,‹F‰$èôÿÿ‹F‰$èéÿÿ‹F‰$èÞÿÿ‹F‰$èÓÿÿ‰4$èËÿÿ¶ „É…kýÿÿ1Û‰Üûÿÿéó‹•äûÿÿƒºHt^¸Pèzªÿÿ‰ÃºWDè§ÿÿ1Ò‰ØèU¦ÿÿ‹V…Òu‹…äûÿÿºWD‹€#…Àuº WD‰Øèݦÿÿ‹V‰Øè³¤ÿÿ‹…äûÿÿ‰ÚèVûÿÿ‰|$‹•äûÿÿ‹‚‰$è:…ÿ…Ú‰<$èÿÿ‹…Üûÿÿ‹•äûÿÿ‰D$‹‚‰$è 9‹F‰$èõÿÿ‹F‰$èêÿÿ‹F‰$èßÿÿ‹F‰$èÔÿÿ‰4$èÌÿÿÿÜûÿÿÿ…Üûÿÿ‹…Üûÿÿ‹•äûÿÿ‰D$‹‚‰$èb0…À‰Æ„æ‹…ÉuÌ‹F‰D$‹V¸*WD…Òu¸uND‰D$ ‹F…Àu¸uND‰D$º,WD‹FƒøLtƒøRº2WDtº9WD‰T$Ç$DWDèŠÿÿƒ~D‰Çt*‹F ‰D$ ‹F‰|$Ç$cWD‰D$èdÿÿ‰<$‰Ã‰ßèÿÿ‰|$¸oWD‰D$‹…äûÿÿ‰$è™ÿÿ‰<$èåÿÿ‹~ …ÿ…'þÿÿ‹F(…À„±þÿÿ‰$è ÿÿé¤þÿÿC¶ éaüÿÿC¶ éüÿÿ1ÀCˆ„.èþÿÿ‹…äûÿÿƒ¸H”À1Ò€½ÚûÿÿR”Â…Ðt+¸€WD•èþÿÿ1ö‰D$‹…äûÿÿ‰T$‰$è™ÿÿ¶ é}ûÿÿ•èþÿÿ1ö…èüÿÿ‰T$‰$è‰Ñ¶ é[ûÿÿˆÛûÿÿC¶ €ùL”À€ùR” Ш„ûÿÿˆÚûÿÿC¶ éûÿÿ¿…èþÿÿ‰½Ðûÿÿ‰$èÁw…À‰Ç…üÿÿ‹…äûÿÿ•èþÿÿ¾ÀWD‰T$‰t$‰$èf˜ÿÿéÛûÿÿ„ÉëC€;uúÆ…èûÿÿ¸ÿÿÿÿC‰…Ìûÿÿ¸ÿÿÿÿÆ…èýÿÿ‰…Ôûÿÿé‡ûÿÿ‰4$¸‰…ÌûÿÿèJw‰…Ôûÿÿ…À…fûÿÿ‰t$¸ìWD‰D$‹…äûÿÿ‰$èñ—ÿÿéFûÿÿ‹‡‰$è>ÿÿéýÿÿ•èþÿÿ‰$è‹ ÿÿ‰F1À‰~€½èûÿÿ„¡ûÿÿ…èûÿÿ‰$èh ÿÿ‰F‹½Ìûÿÿ1À…ÿ„“ûÿÿ…èýÿÿ‰$èG ÿÿé€ûÿÿ…èüÿÿ‰$è4 ÿÿé2ûÿÿÇ$ Ó@èó%‹•äûÿÿ‰‚éRùÿÿ1Û‰Üûÿÿëÿ…Üûÿÿ‹•Üûÿÿ‰T$‹•äûÿÿ‹‚‰$èD-…À‰Æ„ƒ>uÍ‹N¸XD…Éu¸uND‰D$‹F‰D$‹V¸XD…Òu¸uND‰D$‹F…Àu¸uND‰D$ ‹~¸*WD…ÿu¸uND‰D$‹F…Àu¸uND‰D$1ÛÇ$ XDèQ ÿÿƒ~D‰…Èûÿÿ‰Äûÿÿ„V‹N¸XD…Éu¸uND‰D$‹F ‰D$‹V¸XD…Òu¸uND‰D$ ‹F…Àu¸uND‰D$‹FÇ$-XD‰D$èç ÿÿ‰…Äûÿÿ‹FƒøL„°ƒøD„ç‹•äûÿÿ‹Š…Éu%ƒºH„4Ç$@Ó@èƒ$‹•äûÿÿ‰‚Ç$º‰T$èrÿÿ‰Ã¸ÿ‰D$‹F‰D$C‰$èÕÍƃ‹F ‹•äûÿÿ‰C‹F‰‰\$‹‚‰$èK+9؄ӋF ‰D$ ‹F‰D$¸ƒ¿tC‹F…Àu<‹F…ÀtEÇF‹F ƒøt^ƒèƒøwÇF0¹àND‰L$‹‡Ô‰$è4‹]ô‹uø‹}ü‰ì]Ãvƒ¿Ht1¸aèÍšÿÿ‹V‰ÃèC•ÿÿ‰Ú‰øèêëÿÿë“ÇF0»¼ND‰\$ë¨1À‰D$‹F‰<$‰D$ ¸‰D$¸‰D$è³ÿÿéUÿÿÿv¼'U‰åƒì8‰}ü‰Ç‹E ‰uø…Ò‹u‰Eð‹E‰]ô‰Eìtl‰T$Ç$YDè¬ÿÿ…ö‰Ãt‹‡Hƒøtaƒø„~‹Eì¹1Ò‰ø‰‡ü1À‰\$‰<$‰T$ ‰D$覰ÿÿ‰]‹uø‹]ô‹}ü‰ì]éÿÿf…ö‰òuŽÇ$/YDèNÿþÿ‰Ã먉t$ 1À¾‰D$¸‰D$‰t$‰<$è¶²ÿÿ낸èš™ÿÿ‰Eè‹Uðè”ÿÿ‹Eè‰òè%–ÿÿ‹Eèºúÿÿ=à t+= …v÷ÿÿ…ÿ„gÇ$ˆ[Dé¨ùÿÿÇ$È[Déœùÿÿ…ÿ„+ ‹•ÔýÿÿöBP„´ ‹¸ýÿÿÇAÇA‹•¸ýÿÿ‹µÔýÿÿÇB$Æp ÇB 1Ò´&¼'¶ˆBúrðèk3…À„:‹…¸ýÿÿ1Ò‰ ƒ„󋕸ýÿÿ‹‚ éöÿÿ¹ô[D‰L$‹Ôýÿÿ‹Ô‰$è#‹•¸ýÿÿ‹‚ é ôÿÿ1ÿ¾¹‰|$»‰t$‹•¸ýÿÿ‹‚°‹@‹‹@‰\$ ‰L$‰D$‹‚¸‰D$‹Ôýÿÿ‰ $è+£ÿÿ¸\D‰D$‹•Ôýÿÿ‹‚Ô‰$è#‹¸ýÿÿ‹°‰$èÊóþÿ‹…ÐýÿÿÇ-驸ÿÿ‰$èññþÿ‹¸ýÿÿ‹¨‰$èÝñþÿéµõÿÿ‹•¸ýÿÿ¾ ‹Ôýÿÿ‰²¸‹™L …Û…h‹¸ýÿÿ‹ é3óÿÿ…ÿ„®ƒG„Z ¸(\D‰D$‹•Ôýÿÿ‹‚Ô‰$ès"‹…ÔýÿÿºL\Dè£~ÿÿ‹¸ýÿÿÇA$‹Géõÿÿ…ÿ„À‹•ÐýÿÿÇ¢ éå÷ÿÿ…ö.‹•Ôýÿÿ‹¸ýÿÿ‹‚,(‰ ‹…Ôýÿÿ1Òèè’ÿÿ‹…¸ýÿÿ‹ …Ò„Ü ‹¸ýÿÿ‹A8ƒø„øû ƒø„™1À¿¾‰D$@»‹Ôýÿÿ‹AD‰|$8‰D$<‹•¸ýÿÿ‹‰D$4‹B‰t$,‰D$0‹‰\$$Áà%ÿ‰D$(‹ÁàÁø‰D$ ¸‰D$¸‰D$…þÿÿ‰D$¸‰D$‹B8‰ $‰D$ ¸‰D$¸‰D$è"¡ÿÿ¸t\D‰D$‹Ôýÿÿ‹Ô‰$è!‹•¸ýÿÿ‹B‰$èðþÿ‹¸ýÿÿº|ŸD‹A8ƒøtƒøºà´DtºµD‹…Ôýÿÿ¿“\D¾°\D‰PTÿ‹•Ôýÿÿ‹JT‰BXƒÂ‰T$‰$ÿQ‹Ôýÿÿ‹AT‹@‰ $‰|$‰D$è8xÿÿèCõ‹•Ôýÿÿ‰B\‰t$‹‚Ô‰$èx ‹EÀ…À…Î ‹EÄ…À…¯ ‹E…À… ‹E”…À…q ‹ÐýÿÿÇ éëõÿÿ…ÿ„ƒ„N¸Ü\D‰D$‹•Ôýÿÿ‹‚Ô‰$è é‹ïÿÿöÐGE„"ýÿÿºü\D‹…Ôýÿÿè*|ÿÿ‹Gé¢òÿÿ‹Ôýÿÿ¾‰±È‹…ÐýÿÿÇŸépõÿÿ‰øèyÿÿ‰…Äýÿÿ…À„x‹…¸ýÿÿ1Û¾܉D$‹•Äýÿÿ‰$èGz‹¸ýÿÿ‰Ç‹ì‰$è!Ö‰<$‰ð)؉D$è舄+HþÿÿCƒû~ã(ÿÿÿµHþÿÿ‰$èÐ:‰t$º ‰T$‰$èû:¸‰D$‹…¸ýÿÿ‰$ƒÀ(‰D$èÝ:‰\$‰4$èD‰t$ 1À‰D$¸‰D$¸‰D$¸‰D$‹…Ôýÿÿ‰$辞ÿÿ‹•Äýÿÿ‰$èpÕ‰<$èhÕ‹ÐýÿÿÇ"éWôÿÿ‹•¸ýÿÿ‹‚°‰$èSïþÿÇ$*]D¸1Ò‰D$1À‰D$‹…Ôýÿÿèàêÿÿ‹ÐýÿÿÇéôÿÿ…ÿ„cüÿÿ‹…Ôýÿÿº»rAè"ÿÿ‹•Ôýÿÿ‰\$ ‰T$‹Ìýÿÿ‰L$¹A]D‰L$‹‚Ô‰$èC‹•¸ýÿÿ…À‰‚ ‰êûÿÿ‹ÐýÿÿÇJ éžóÿÿ‰<$èæìþÿ‹ðýÿÿé(íÿÿºH]D‰T$‹•Ôýÿÿ‹‚Ô‰$辋‹W)ЃøŒBW‰G„ ‹‰…þÿÿ‹BU¸‰…þÿÿ‹…¸ýÿÿƒÀ‰$‰øèÈŠÿÿ…Àt‹…¸ýÿÿUˆƒÀ ‰$‰øè®Šÿÿ…À…éÇ$`]DéÖëÿÿ¨…·‹•¸ýÿÿ‹‚°‹@‹‹X‰ß‰$èÔ¬ƒø?‰Æ†þ ¸˜]D»‰D$‹•Ôýÿÿ‹‚Ô‰$è÷‰t$1À¹‰D$$º¸‰D$ ‰|$‰\$‰t$‰L$ ‰T$‹¸ýÿÿ‹¸‰D$‹…Ôýÿÿ‰$蘜ÿÿéhùÿÿ…ÿ„‹…ÐýÿÿÇÈ é:òÿÿ…ÿ…±üÿÿ‰t$‰\$‹•¸ýÿÿ‹‚°‰$è&\…Àˆ|üÿÿ‹Ôýÿÿ1Û‰™Èé{íÿÿèÆV…À„ˆ‹…¸ýÿÿ‹H…É…zùÿÿÇ@1Ò¿¸]D‰Ø¾pÚA»‰|$‹•Ôýÿÿ‹‚Ô‰$è÷‹¸ýÿÿƼƽƾƿÆÀ‹…Ôýÿÿ‰t$‰\$‰D$‰È̉D$ …øýÿÿ‰D$‰È¼‰$èHV…À…Ö‹•ÐýÿÿÇ é/ñÿÿ‹™°ÇÇ$Ý]DèÇçþÿ‰C‹•Ôýÿÿ‹‚À‰D$‹…¸ýÿÿÇ$ê]DƒÀ<‰D$è‹éþÿ‰D$¹d1Ò‰L$ ‰T$‹¸ýÿÿ‹°‰$è„éþÿéìÿÿ‹ÐýÿÿÇ¢ é®ðÿÿ¸^D¿¾‰D$‹Ôýÿÿ‹Ô‰$è׉|$1À‰D$¸‰D$C‰D$ ‰t$‹…Ôýÿÿ‰$蛚ÿÿ‰$è£éþÿ‹•ÐýÿÿÇ éBðÿÿÇ$ ^DèÖèþÿ‰Ã‹…Ôýÿÿ1Òè§‹ÿÿ‰\$‹Ôýÿÿ‹Ô‰$è_‰\$¸…ID‰D$‹•Ôýÿÿ‹‚Ô‰$èÞW‰$è6éþÿéÁûÿÿ¹X^D»H‰˜¸‰L$‹•Ôýÿÿ‹‚Ô‰$è 1Ò¸F‰T$‰D$‹Ôýÿÿ‰ $èÜ™ÿÿ‹…ÐýÿÿÇhé‹ïÿÿ¹|^D‰L$‹Ôýÿÿ‹Ô‰$è¾öÐGE…3 ‹…¸ýÿÿº‰Øééÿÿ»)‰™¸¹˜^D‰L$‹‚Ô‰$èy1Ò¸'‰T$‰D$‹Ôýÿÿ‰ $èL™ÿÿ‹…ÐýÿÿÇ=éûîÿÿ‹…Ôýÿÿº¸^Dè{uÿÿé¬ñÿÿ…àýÿÿ•Üýÿÿ‰$‰øèÐ…ÿÿ‹…Üýÿÿ…À„€¸Ü^D‰D$‹•Ôýÿÿ‹‚Ô‰$èõ‹¸ýÿÿ‹™°ÇÇ$ú^Dè7åþÿ‰C‹•¸ýÿÿ‹àýÿÿ‹‚°Ç@¸ ‰\$‰D$‹…Üýÿÿ‰$è0©…À„é Ç$uNDèìäþÿ‰Ã‹…Üýÿÿ‰D$‹…àýÿÿÇ$_D‰D$èºæþÿ‹¸ýÿÿ‰Æ¸_D‹¹°‰\$€;u¸uND‰D$Ç$ _Dè‰æþÿ‰G ‹•¸ýÿÿ1ÿ‹‚°Ç@¸d‰D$ ‰|$‰t$‹‚°‰$èræþÿ‰$èúæþÿéêèÿÿ‹•¸ýÿÿ¾d‹‚°‰ÓƒÃ<‹@‹‹@‰t$‰$‰D$è—§‹¸ýÿÿ‹°‰$èsèþÿ‰\$ ¸1Ò‰D$¸‰D$‰T$‹•Ôýÿÿ‰$èy—ÿÿ‰\$Ç$E_DèÉåþÿ‰D$‰Ã‹Ôýÿÿ‹Ô‰$è_¡ÐGE¨t%¨t¨u‹…Ôýÿÿ‰Úèsÿÿ‹…ÔýÿÿºX_Dèqsÿÿ‰$è)æþÿ‹…ÐýÿÿÇà éÈìÿÿÇ$¸ºRD‰D$1À‰D$‹…Ôýÿÿèbãÿÿ‹•ÐýÿÿÇé‘ìÿÿƒø…õÿÿ¸[_D‰D$‹•Ôýÿÿ‹‚Ô‰$è»éãôÿÿ‹•¸ýÿÿ‹‚ é6çÿÿ‹…Ôýÿÿºu_DèÕrÿÿéeïÿÿ‹…¸ýÿÿÇ@Ç@éGòÿÿ¿_D‰|$éIöÿÿ‹…Ôýÿÿº°_Dè™rÿÿ‰4$è‘%‰Â‹…Ôýÿÿè„rÿÿ‹…ÔýÿÿºÐ_Dètrÿÿ‹•ìýÿÿ‹…Ôýÿÿècrÿÿ‹…ÔýÿÿºÓ_DèSrÿÿé§æÿÿ…ö ‹Ôýÿÿ‹•¸ýÿÿ‹,(‰‚ ‹…Ôýÿÿ1Ò1Û迆ÿÿ‹¸ýÿÿ‹¹ …ÿ„q ‹¸ýÿÿƒû‹Q‹Ôýÿÿ¶Dˆ‹…¸ýÿÿ‹P¶D(0Cƒû~Í‹E¼9EŒŽ*E¸¹ ‰D$‰L$‹•¸ýÿÿ‹B‰$è›k…À…! Ç$Ø_Déããÿÿ1ö¹»‰t$‹•¸ýÿÿ‹‚ä‰\$‰L$‰D$ ‹Ôýÿÿ‰ $è•ÿÿ‹…ÐýÿÿÇü éÀêÿÿ¸`D‰D$‹Ôýÿÿ‹Ô‰$èó‹…ÔýÿÿèhËÿÿ‰<$èàãþÿé ñÿÿ‰$èÓãþÿÇE”é{ôÿÿ‰$è¿ãþÿÇEé\ôÿÿ‰$è«ãþÿÇEÄé=ôÿÿ‰$è—ãþÿÇEÀéôÿÿ‹•¸ýÿÿ‹‚°‹@‹‹@‰$褉ø=`D‰D$‹Ôýÿÿ‹Ô‰$èP‰\$1À‰D$$¸‰D$ ‹•¸ýÿÿ‹‚°‹@‹‹@‰\$‰D$¸‰D$¸‰D$ ¸‰D$‹‚¸‰D$‹Ôýÿÿ‰ $èÞ“ÿÿé®ðÿÿ1À»F‰D$¸‰D$‹¸ýÿÿ‹°‹@‹‹@‰\$‰D$¸‰D$ ‹¸‰D$‹…Ôýÿÿ‰$èçxÿÿévåÿÿÇ$X`DéÆèÿÿ‰t$‰\$‹¸ýÿÿ‹°‰$è*S…Àˆ1‹•Ôýÿÿ1ɉŠÈ…À…Wûÿÿ‹¸ýÿÿ1ÿ‹°‰$èöãþÿ‰|$¸º…`D‰D$Ç$‹…Ôýÿÿè‚ßÿÿéîáÿÿ…öu÷ÿÿ‹Ôýÿÿ‹•¸ýÿÿ‹™$(‹((‰øýÿÿ‰‚Ì‹…¸ýÿÿ…Û‰˜Ätƒ¸ÌŽ'ïÿÿ€{„céÿÿ‹¸ýÿÿ‹ é&ãÿÿ‰4$èá!‰D$¸œ`D‰D$‹Ôýÿÿ‰ $è&jÿÿ‰4$èŽ`ƒø‰Ã„S‰$èb‰D$¸À`D‰D$‹•Ôýÿÿ‰$èðiÿÿ‰$èøa‰4$‰Ãè~!‰D$‰\$Ç$ä`Dèzàþÿ‰Ã‰Â‹…Ôýÿÿè[nÿÿ‰$1Ûèáþÿ‹¸ýÿÿ‰™ é+îÿÿ» aD‰\$‹•Ôýÿÿ‹‚Ô‰$èã¡äSEƒÀ ‰$èÛ¡‹Ôýÿÿ€¹Ø…à‹Ô1ÿ1ö‰$è^Þþÿ‰Ã‹…¸ýÿÿlj˜°Ç$,aDèîÝþÿ‰CÇ$;aDèßÝþÿ‰D$¹dº‰L$ ‰T$‹•¸ýÿÿ‹‚°‰$èÅßþÿ‰|$‰t$‹¸ýÿÿ‹°‰$èùP…À‰Ýýÿÿ‹…Ôýÿÿ»‰˜ÈéÕîÿÿ‰\$½þÿÿF‰<$èP¡ƒþ?‡æóÿÿMèFèeˆƒ þÿÿƒþ?vééÊóÿÿ‰D$Ç$HaDè#ßþÿé_ßÿÿ‹Ôýÿÿ»‰™Èéôÿÿ…èýÿÿ•äýÿÿ‰$‰øèR}ÿÿ‹…äýÿÿ…À„ï¸iaD‰D$‹•Ôýÿÿ‹‚Ô‰$èw‹¸ýÿÿ‹™°ÇÇ$€aDè¹Üþÿ‰C‹èýÿÿ¸ ‰D$‰\$‹…äýÿÿ‰$èÅ …À„Ç$uNDèÜþÿ‰Ã‹…äýÿÿ‰D$‹…èýÿÿÇ$_D‰D$èOÞþÿ‰Æ‹…¸ýÿÿ‹¸°‰\$¸_D€;u¸uND‰D$Ç$—aDèÞþÿ‰G ‹•¸ýÿÿ1ÿ‹‚°Ç@¸d‰D$ ‰|$‰t$‹‚°‰$èÞþÿ‰$èÞþÿ‹Ôýÿÿ‹€éXàÿÿ‹…ÔýÿÿºµaDè®kÿÿ‹…¸ýÿÿ‹‹€‰$‹…Ôýÿÿè>kÿÿ‹…ÔýÿÿºÓaDè~kÿÿéˆõÿÿ‹…ÔýÿÿºâaDèikÿÿéÿéÿÿöÐGE…•¸bD‰D$‹•Ôýÿÿ‹‚Ô‰$èú‹Gé²áÿÿ9щÈ}‰Ð‹•¸ýÿÿ¿¾d‰¸‰D$‹‰$èÙþÿ‹¸ýÿÿ‰AEˆ‰$èi‰$‰|$èåØþÿ‰$Uˆ‰Ã‰T$èôi‰t$Mˆµhþÿÿ‰L$‰4$èk‹…ÔýÿÿºèKÿÿ‹…Ôýÿÿ¹rAºbD‰L$‰T$ ‰Â‰D$‰t$‰\$‹€Ä‰D$‹‚À‰D$‹‚Ô‰$èC ‹¸ýÿÿ‰ ‰$èÝþÿ‹…¸ýÿÿ‹€ …À‰ øÿÿ‹•ÐýÿÿÇø éšãÿÿ¸bDé ÷ÿÿ¹d‰L$‹…Ôýÿÿ؉D$‹¸ýÿÿƒÃ<‰$èw‹…¸ýÿÿÆ€ŸéòõÿÿÇ$4bDéÙâÿÿ‰t$‰\$‹•¸ýÿÿ‹‚°‰$è=M…Àˆ§üÿÿ‹Ôýÿÿ1Ò‰‘ÈédçÿÿEˆº ‰D$‰T$‹•¸ýÿÿ‹B‰$èqc…À„Ö÷ÿÿE¸‰D$‹EŒ‰D$‹¸ýÿÿ‹A‰$èJc…À„¯÷ÿÿ¸ZbD1ö1ÿ‰D$1Û‹•Ôýÿÿ‹‚Ô‰$èï 1À‰…Ìýÿÿ‹Ôýÿÿ‹„™X …Àu;¿C…ö”À1ÒƒûžÂ…ÐuØ…ö…Xîÿÿ‹¸ýÿÿöA…VÇ$pbDé'Ûÿÿƒø„æƒø„µ‰H„¼‹…¸ýÿÿ‹•¸ýÿÿ‹H8¸Óà…Bt¾ë‰Ç$¾1Û‰t$ºÐRD‰\$éùÿÿ¸±bD‰D$‹Ôýÿÿ‹Ôé]õÿÿ…üýÿÿ‰D$‹…¸ýÿÿ¨‰D$ ‹…¸ýÿÿ¤‰D$‹…¸ýÿÿ‰4$ ‰D$èÁ;…À„8‰4$1À‰D$èû:‹•¸ýÿÿ‰‚¬éåçÿÿ‹øýÿÿéÎøÿÿ‹…Üýÿÿ‰\$Ç$_D‰D$èåÙþÿÇ$ÍbD‰Ãèç×þÿéóÿÿ‹…ÔýÿÿºØbDè²gÿÿéVüÿÿ¸˜SDµØþÿÿ‰D$‹•Ôýÿÿ‹‚Ô‰$èJ Æ…Þþÿÿ¸ ‰ñ‰…Øþÿÿ¸ f‰…ÜþÿÿÇE¨‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒ»PƒÙ)ñ)ˉñ‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁ‰\$ÒEˆƒÙ‰D$(ÿÿÿ‰ $èKg‰t$‹•Ôýÿÿ‹‚Ô‰$è“ ‰øè¬vÿÿ‹Ôýÿÿ‰A@‰øèœvÿÿ‹•¸ýÿÿ‰B‰øèŒvÿÿ‹¸ýÿÿ‰A‹…ÔýÿÿÇ@D‰$èÞ%‹EŒ‰D$‹•¸ýÿÿ‹B ‰$‰D$è&‹E¼‰D$‹¸ýÿÿ‹A‰$‰D$èæ%‰$¸‰D$…þÿÿ‰D$èË%‰\$‹…¸ýÿÿ1ÛƒÀ(‰$èô.èÿ]‹•ÔýÿÿˆDCƒû~ë‹UŒÕ9Eˆ‹M¼Í9E¸Ž»úÿÿÇ$èbDéïÿÿ‹…üýÿÿ‰D$¸cD‰D$‹Ôýÿÿ‰ $è aÿÿ‰4$踋•üýÿÿ‰D$Ç$0cD‰T$è®×þÿ‰Ã‰Â‹…Ôýÿÿèeÿÿ‰$èGØþÿé_åÿÿEˆ‰D$‹E¼éüÿÿÇ$È[Dé³×ÿÿ‹…äýÿÿ‰\$Ç$_D‰D$è]×þÿÇ$ÍbD‰Ãè_Õþÿéûøÿÿƒø…uüÿÿ‹•¸ýÿÿ¸`cDÇB8‰…ÌýÿÿéXüÿÿ‹…¸ýÿÿÇ@8¸kcDëዸýÿÿ¸tcDÇA8ë͸|cD‰D$‹•Ôýÿÿ‹‚Ô‰$èé¹ûÿÿÇ$¤cD¸ï ¿èHD‰D$‰|$脘Ç$ÐcD¸ç‰D$¸èHD‰D$ëàÇ$ðcDéÑÖÿÿt&U‰åW‰ÇVSƒìèÐsÿÿ‹G`…ÀtqÇEì‹—(‹H)Uì‹EìDÿ‰Eì™÷ù)Uì‹—€…ÒuS¸1öèÐnÿÿ‰ÃèÙjÿÿ;uì}#t&èû[ˆEóUó‰ØÇ$Fèvkÿÿ;uì|á‰Ú‰øèXsÿÿ‰øè1¾ÿÿƒÄ[^_]ˇˆ‰$ÿR)Eì뜴&U‰åSƒì‹]‹E ƒ»H‰ƒ,(t$Ç$ÿÿÿÿ1À1Ò‰D$‰Øè®˜ÿÿƒÄ‰Ø[]é‚wÿÿfÇ$ÿÿÿÿ1À1Ò‰D$‰Øè*ÕÿÿƒÄ‰Ø[]é^wÿÿ´&¼'U‰åƒì(‰uø‹M ‹u‰]ôƒù ‰}ü„óƒù”Àƒù” Ш…“ƒù„ƒƒù„÷1ÿƒù„$ƒù„¥ƒù„¦ƒù„Œƒù„žƒù„ùƒù„úƒù„ûƒù„üƒù„ýƒù„þƒù„ÿƒù„…ÿ…»ëi‹†ƒø”Â…À”À ШuRƒ¾H„R¸è mÿÿ‰Ãèiÿÿ‹}ü‰Ú‰ð‹]ô‹uø‰ì]éO½ÿÿƒ¾„㸉†´&‹]ô‹uø‹}ü‰ì]ˆƒø”Â…À”À Шu܃¾H„ ‹†ì…ÀtŸbè‹lÿÿ‰Ã‹†ì‹P‰Øèùfÿÿ‰Øº dDè iÿÿ‰Ø1ÒèThÿÿ‰Ø1ÒèÛfÿÿ‹}ü‰Ú‰ð‹]ô‹uø‰ì]év½ÿÿ¶‹†\,…À…bÿÿÿƒ¾H…UÿÿÿÇE ‹]ô‰ðÇEÿÿÿÿ‹uøºdD‹}ü‰ì]éo–ÿÿƒ¾H„A‹†ì…À…ÇE !dD‹†Ô‹]ô‹uø‰E‹}ü‰ì]éãöFP…éþÿÿ‰4$1ÿ»uND‰|$¹º ‰\$ ‰L$‰T$è „ÿÿé»þÿÿ¿2dD¶ƒ¾H…£þÿÿ‹†ì…À„•þÿÿ¸bè[kÿÿ‰Ã‹†ì‹P‰ØèÉeÿÿ‰Øº7dDèÝgÿÿ1Ò‰Øè$gÿÿ‰ú‰ØèËgÿÿ‰ð‰ÚèR¼ÿÿ‰|$¸>dD‰D$‰4$èÍ[ÿÿé8þÿÿ¿PdDë¿TdDéwÿÿÿ¿YdDémÿÿÿ¿]dDécÿÿÿ¸`èÙjÿÿ‰Ã‹†ì‹P‰ØèGeÿÿ‰ð‰Úèî»ÿÿ1À‰†ÈéÍþÿÿ‰4$1À‰D$¸‰D$誃ÿÿé±þÿÿÇE ddDé¬þÿÿ¿‰dDéÿþÿÿ¿ä;Déõþÿÿ¿dDéëþÿÿ¿Ù;Déáþÿÿ¿’dDé×þÿÿ¿—dDéÍþÿÿ¿œdDéÃþÿÿ¿¡dDé¹þÿÿ‰ö¼'U‰å츉uø‹u‰]ô‹]‰}ü‹} ƒ¾tl…Ût‹C‹”†@(…Òuj‹ŽÜ…Ʉމ}„†t‹}‰E€‹†t=»„ìZ…À„D=“„ú‹E€Ç´&¼'‹]ô‹uø‹}ü‰ì]Ãv‰\$‰4$ÿ”†@(‹]ô‹uø‹}ü‰ì]Ãt&=÷„V%=äu¡…Û„¯‹SBòƒø‡!ƒú„d‹†Ü¹¨dD‰D$ ‹†Ø‰L$‰4$‰D$èÓYÿÿ鳉\$‰ú‹E‰$‰ðè Ðÿÿ…À„Sÿÿÿº‰–Üé÷þÿÿv…Û„‹SBòƒø‡©ƒú„M¹ÓdD‰L$‹†Ô‰$èÉÇFLºpþ@‰–¬(‰ð–èèêºÿÿ¸PA‰†´(‹† …À„庸‰–̉†Ð‹†$ …À…º‹† …À„è‹–ˆ…Òt‹– …Ò…Ž€8„i‰D$ 1Û¹‰\$º ‰L$‰T$‰4$è ÿÿ¸êdD‰D$‹†Ô‰$踉†‹† …À…n‹†…À… ‹F…À…v¸‰†ÈÇ$ Ò@èêæ‰†è‹E€Ç1‹]ô‹uø‹}ü‰ì]øý@‹ŽP ¿°@A‰†ˆ(¸ý@»GA‰†„(¸ A…ɉ†”(¸pA‰†˜(¸A‰†¤(¸A‰† (‰¾œ(‰ž(…‹†|"…À„sþÿÿ¿údD»@‰|$‹†Ô}ˆ‰$è ‹†#¹‰\$ ž€"‰D$EȉL$‰|$‰$èŸu‰†D‰\$‰$èmwöFD„W‰$»èÖx‰D$$¸1Ò‰D$ ¸¹‰D$EȉT$(º‰D$ ¸"‰|$‰\$‰L$‰T$‰D$‰4$èXÿÿ‹E€Ç»éšüÿÿ=1…xüÿÿ…Û„þ‹Cƒø„‡þÿÿƒø„~þÿÿ‰D$Ç$eDèrÍþÿ‰Ã1Ò‰ðèGpÿÿ‰\$‹†Ô‰$èÿ‰\$¸…ID‰D$‹†Ô‰$èŠ<‰$èâÍþÿ1À‰†téüÿÿ‰4$1À‰D$¸ ‰D$è®~ÿÿéŸýÿÿ¿‰Ð‰¾0é`ýÿÿÿ‰û~»‰\$1À¹‰D$$¸º‰D$ )ß‹E„‰\$‰L$ ‰D$¸‰D$¸‰T$‰D$‰4$è<~ÿÿ]„…ÿžéŒýÿÿÇ$5eDè„Ìþÿé ÿÿÿ…Û„‹SBòƒøw܃ú„ò¿HeD»\eD‰|$‹†Ô‰$è÷ýÇF<èÛ¶‰†ˆ‰\$‹†Ô‰$èÓý轉†Œ¹„eD‰L$‹†Ô‰$è±ýé?üÿÿ¸–‰†Ø¸–‰†Ü†Ü‰D$ †Ø‰D$¸­eD‰D$†¸‰$èÓ¸ è^ÿÿ–˜‰ÃèÔ`ÿÿ‹–䉨è§^ÿÿ‹–à‰Øèš^ÿÿ1Ò‰Øè‘^ÿÿ1Ò‰Øèˆ^ÿÿ‰\$–؉ðÇ$ Aè@UÿÿºÀ‰Øè^ÿÿ‹–܉ØèW^ÿÿºÁ‰Øèë]ÿÿ‹–؉Øè>^ÿÿ1Ò‰ØèÕ]ÿÿ‰ð‰Úè\|ÿÿ¸‰†‹E€Çäéóùÿÿ‰4$1À‰D$¸‰D$ ¸‰D$¸%‰D$èz|ÿÿ‹E€Ç÷é¼ùÿÿ‹†ä‰D$‹†à‰4$‰D$è°Æÿÿéqûÿÿ‰$1Û1ɉ\$ 1Ò‰L$‰T$è1­þÿékûÿÿ‰4$¿ ‰|$è õÿÿéJûÿÿè¡6…À„áûÿÿº³eD‰T$‹†Ô‰$èü‰4$1À‰D$¸‰D$èÛ{ÿÿ‹E€Ç“éùÿÿ…Ûtî‹SBòƒø‡Šýÿÿƒú„±¸ÏeD‰D$‹†Ô‰$èªûÇFH¸PA‰†¼(é[ûÿÿ»èeD‰\$‹†Ô‰$è|ûéÀùÿÿ† é úÿÿ‰|$1À¿"‰D$ ¸‰D$¸‰D$¸‰D$EȉD$ ¸‰D$‰|$‰4$è{ÿÿé¹ûÿÿºÿeD‰ðèUWÿÿéýüÿÿ¸fD‰D$‹†Ô‰$èùúé¼úÿÿº8fD‰ð¿è#Wÿÿ‰¾Ì»‰žÐéuøÿÿ¶¼'U1ɉåWVSƒìl1Û‹U‹E‰Uì‰Eð‰D$1À‰D$ ¸ÿÿÿÿ‰D$1À‰L$‰\$‰T$‰D$‹U‹B‰$è4»þÿ‹u‹M‹†lÁl‰Mè= t~6=: „þ‹U踋MÇ‹‘ƒút?ƒÄl[^_]ô&…ÀuÑ‹Eð…Àu<‹}èÇ ‹E‹¸ƒúuʉö¼'‹EºèkÿÿƒÄl1À[^_]ËU‹Eì‹’€¶…Ò‰U°„e‹}‹u‹‡hÆh‰uä=Y „†³=U „Ý‹…À…Ž€ûS…c‹EäÇU ´&¼'¸ÿEìÿMð…À…1ÿÿÿ‹Uš4(ë;f‹M‹±0(…ö…V‰$è‡Âþÿ…Àޝ‹EèGiÿÿ‹uƒ¾„ÿÿÿ‰$è_Âþÿ…À»‹Mð…É´‹}èÇ: éÚþÿÿ=_ „[ÿÿÿŽó=h …Ø‹}°‹O‹Aÿ9ˆ‹M°‹Aˆ‹u°‹Fÿ…Àˆ«€û-„‘ƒøw ‹}°ˆ\8@‰G‹uäÇh éÿÿÿ´&EðUì‰$‹Eè/hÿÿéCÿÿÿÇ$¸$‰D$è…Âþÿ‰E°‹M‹}‹u‰€‹‡hÆh‰uä=Y …zþÿÿ€û-t{€û „²‹uäÇ^ éþÿÿ=W „§‹EäÇ1Àé‡þÿÿ=^ uéëÅ‹Eð‰D$‹Eì‰$‰D$è“Âþÿ‹EðEìÇEðé½þÿÿ€ûSu˜‹U¿W ‰ºhé9þÿÿ‹E°»Ç@‰\$‹@‰$è»Áþÿ‹M°‰AÇSSH-Æ@ÇÇAéÔþÿÿ‹}äÇ_ éëýÿÿ€ûH….ÿÿÿ‹M¾Y ‰±héÏýÿÿA¹‰G‰L$‹G‰D$‹G‰$èÄþÿ‰G‹éSþÿÿÆD0ÇFÿÿÿÿénþÿÿ€û …eþÿÿ‹E1Ò¿YfD‹M°Ç@H‰Ô‹‹AƸX_D‰D$‹A‰$èK‡‹u°‹VÆ‹F‰|$‰D$‹}‰<$è3Nÿÿ‹^¾KAD‰t$‰$è‡ùKAD¶‰L$<ƒÛÿ‰$èü†Ã¶ÇGP<‹‡ 'ƒÛÿ…À„)ƒø„‡‹M‹'…À„Sƒø„!‹M‹'…À„íƒø„Í‹M‹'…À„™ƒø„‹}‹‡'…À„܃ø„‹M‹ '…À„[ƒø„&‹}‹‡$'…À„ïƒø„΋M‹('…À„šƒø„‹]°ºlfDƒÃ‰ØèWÿÿ‹}°ÁèºpfD‰G‰ØèÿVÿÿ÷ЋMÁè‰G ‹‘t…Ò…a‹O…É„B…À„JŽóÇ$ufD¹`D‰L$ègÃþÿ‰E´‹Eº‰H‹M´€9S…·‹u´€~S…Œ‹}´€H…a‹E´€x-…J‹U´‹]´¶BƒÃ„À•Â<-•À¶À…„pC¶ „É•À1Ò€ù-•Â…Ðuë€ù-…úC¶ „Ét€ù-”À€ù ” ШtæÆ_C¶ „Éuã‹Mƒ¹H„‹}¸@vA‰‡à1À‹U1ÿ‰¼‚@(@=ÿ~ì¾ A» A¹àA‰²D(¸`ì@‰šÀ(‰ŠÐ(‰‚ä¸X_D‰D$‹M´‰ $è’„‹u´‰D$¸‚fD‰D$‰t$ ‹}‰<$è{Kÿÿ‰4$胃‰$‰ò‰øèwSÿÿ‰4$è¿Âþÿ‹‡Hƒø„5‰D$¸™fD¿ D‰D$‹E‰$è3Kÿÿ‹U‹‚Ô‰$è¢ð‹M¸‰‰Èè‰|$‰L$‰$è]Çþÿ‹u‹}°‰†H,‹G‰$èFÂþÿéOûÿÿ¶ éþÿÿ‹}°‹w…ö„ÿýÿÿº·fD‰Øè¿Tÿÿ…À‰Ú~º·fD‰T$¸`D‰D$Ç$»fDèKÁþÿ‰E´‹U¸‰‚Héßýÿÿƒú…¡ýÿÿ…À…¡ýÿÿÇ$ÈfDèÁþÿ‰Ã‹E1Ò¿…IDèçcÿÿ‰\$‹U‹‚Ô‰$è¢ò‰\$‰|$‹M‹Ô‰$è)0‰$èÁþÿ‹uä1ÀÇéùÿÿ‰\$Ç$ gDè¡ë…Àuh‰\$Ç$gDèë…ÀuT‰\$Ç$(gDèyë…Àu@‰\$Ç$;gDèeë…Àu,‰\$Ç$GgDèQë…Àu‰\$Ç$UgDè=ë…À„oüÿÿ‹u»`gDƒNP@‰\$‹†Ô‰$è×ñéLüÿÿ‰\$Ç$ŽgDèë…À„üÿÿ‹E¾ gDHP€‰t$‹€Ô‰$è™ñéôûÿÿ‰\$Ç$ÞgDèÄê…Àu‰\$Ç$ïgDè°ê…À„®ûÿÿ‹u¿hDƒNP‰|$‹†Ô‰$èJñé‹ûÿÿ‰\$Ç$4hDèuê…À…Yûÿÿ‰\$Ç$=hDè]ê…Àu‰\$Ç$DhDèIê…À„-ûÿÿ‹EºLhDƒHP ‰T$‹€Ô‰$èãðé ûÿÿ‰\$Ç$4hDèê…À…Øúÿÿ‰\$Ç$ƒhDèöé…ÀuT‰\$Ç$ŠhDèâé…Àu@‰\$Ç$hDèÎé…Àu,‰\$Ç$—hDèºé…Àu‰\$Ç$žhDè¦é…À„púÿÿ‹u¹¤hDƒNP‰L$‹†Ô‰$è@ðéMúÿÿü¸ÑhD¹ ‰Þ‰Çó¦…úÿÿ‹E¾ÜhDƒHP‰t$‹€Ô‰$èðéùùÿÿü¸ÑhD¹ ‰Þ‰Çó¦t¸iD¹‰Þ‰Çó¦…¶ùÿÿ‹E¿,iDƒHP‰|$‹€Ô‰$èºïé“ùÿÿü¸ciD¹‰Þ‰Ç󦄂¸jiD¹‰Þ‰Çó¦tp¸qiD¹‰Þ‰Çó¦t^¸xiD¹‰Þ‰Çó¦tL¸iD¹‰Þ‰Çó¦t:¸ÑhD¹ ‰Þ‰Çó¦t(¸iD¹‰Þ‰Çó¦t¸†iD¹‰Þ‰Çó¦…àøÿÿ‹Eº”iDƒHP‰T$‹€Ô‰$èþîé½øÿÿÇ$ÄiDè=½þÿ‰Ã‹E1Òè`ÿÿ‰\$‹u‹†Ô‰$èÌî‰\$¸…ID‰D$‹†Ô‰$èQ,‰$詽þÿ‹}ä1ÀÇé>õÿÿ¸9 ‰D$¸èHD‰D$Ç$jDè“~Ç$ÿÿÿÿ1À1Ò‰D$‰øèµÿÿ‹‡Héªúÿÿ¸X_D‰D$‹u´‰4$èÞ~‰Ã¸‰D$C‰$èp¸þÿ‹}‰G‰\$‰t$¾‰$èå}‹GƸX_D‰D$‹U°‹B‰$è~‰t$‰Ã@‰$è&¸þÿ‰G‹M°‹Q‰\$‰$‰T$è}‹G¹ðÜAÆ1À‰à‹uº`ÜA‰”†@(@=ÿ~é1À1ÿ1Û‰†L(1À1ɉ†T(1À1Ò‰†X(1À‰†(1À‰†Ä(1À‰†)1À‰† )1À‰†)1À‰†)1À‰†0)1À‰†¨)1À‰†¬)1À‰†°)1À‰†´)1À‰†¸)1À‰†¼)1À‰†Ð)¸ÐÚA‰†D(¸ A‰¾”(1ÿ‰ž¸(1Û‰Ž¼(1ɉ–À(1Ò‰†H(¸ÜA‰¾4)1ÿ‰ž€)1Û‰Ž„)1ɉ–ˆ)1Ò‰†P(¸Pñ@‰¾À)‰žÄ)‰ŽÈ)‰–Ì)‰†äé{øÿÿ¸7 éëýÿÿÇ$jD¹6 ºèHD‰L$‰T$éáýÿÿ¾5 ‰t$Ç$jD»èHD‰\$éÃýÿÿ¿4 ‰|$ëà´&U‰åSƒì‰Ã‹@…ÀtX[]ÉØèu±ÿÿ…Àuñ‹C ƒøtƒøuä‹C0‰$èYÊþÿX[]ËC0‰$èºhX[]öU‰åSƒì‹E èñWÿÿ‰Eø¸ÀÒ@‰D$Eø‰D$‹E‹€è‰$è­Û…À‰Ãt‹@…ÀtƒÄ[]ËE è²WÿÿC$‰ØèXÿÿÿƒÄ[]ÃfU‰åWV¾ÀÒ@Sƒì,‹} ‰øèˆWÿÿ‰EðEð‰t$‰D$‹U‹‚è‰$èIÛ…À‰ÆtSƒ_tUEìUè‰$‰øèÝWÿÿ‹Mè…Ét6‹V 1À‹]ì)^,ƒú„½Žyƒút1ƒú„¾º@)‰ðè £ÿÿƒÄ,[^_]ÉøèWÿÿHt¡ƒÄ,[^_]Ã…Ût&Ž0‹V8ƒúw7‹Eì»)Ó9Ãv‰Ã‰\$D24‹Uè‰$‰T$èkz]è‹F8)]ì؉‰F8ƒú„Ÿƒúv:‹Eì…À~3‹^<)Ó9Ãv‰Ã‹N0‰\$‹Eèʉ$‰D$è#z]è‹F8)]ì؉‰F8;V…‡‹E´€8uu¸c‰…tÿÿÿé;ýÿÿ‹EèÇ$dkD‰D$è °þÿ‰Ã1À1Ò‰D$¸‰D$‰$‹Eè ®ÿÿ‰$è”°þÿéýÿÿ‰Øè¨Mÿÿ‹U‰‚ô‰D$¸@YD‰D$‰$è 9ÿÿ닉$è`°þÿë‰4$èV°þÿélÿÿÿ‹E¨…À”À1Òƒ}¤•…Є‚ÇE¼é—þÿÿEäUà‰$‰ØèÌMÿÿ‹Mä…ɉpÿÿÿ…ƒ½pÿÿÿ„Žƒ½pÿÿÿ„Ѓ½pÿÿÿt>‹U¾€‰²ôé‹þÿÿ‹E؉T$Ç$˜kD‰D$è¯þÿ‰E´é‘þÿÿÇEÀéþÿÿƒ½pÿÿÿ¸‹Uàü‰Á‰U€‹u€º’dD‰×ó¦…‘‹Eº‹‰ôé&þÿÿÇE”‹Eàº2dDü‰×¹‰Æó¦u©‹Eº–ë΋Eà‰L$Ç$¢kD‰D$è‚®þÿ‰E¸‹u䉵pÿÿÿéÿÿÿü‹Uà¸YdD‰Ç‰U‹uº‰Ñó¦u>‹E¿ˆ‰¸ôé¨ýÿÿƒ½pÿÿÿº—dD‹u€ü¸‰×‰Áó¦…éþÿÿ‹E¿ëʃ½pÿÿÿº]dD‹uü¸‰×‰Áó¦u‹E¾„‰°ôéMýÿÿÇE¤éÖüÿÿƒ½pÿÿÿº‰dD‹uü¸‰×‰Áó¦…‚þÿÿ‹E¹‚‰ˆôé ýÿÿ´&U‰åEøSUôƒì‹] ‰$‰ØèæKÿÿ‰Øè¯Kÿÿ…Àu ƒÄ[]Ãt&¸RèöEÿÿ‰Â‹Eè—ÿÿƒÄ[]öU1Ò‰åW…ÔþÿÿVSì|‹] ‰•¼þÿÿ•Ðþÿÿ‰$‰ØèƒKÿÿÇ$¸@‰D$èþ¨þÿ‰…¤þÿÿ‹U‰‰ØèÌJÿÿ‰…¸þÿÿ‰Øè¿Jÿÿ‰…´þÿÿ‰Øè²Jÿÿ‰…°þÿÿ‹…Ôþÿÿƒø„½ƒø„tƒø„¾¬kD‰µ¼þÿÿ‹¼þÿÿ‹½¤þÿÿ‹…¸þÿÿ…ÛÇG‰G„̸\èEÿÿ‹W‰Ãèˆ?ÿÿ‰Øºè|?ÿÿ‹•¼þÿÿ‰ØèAÿÿ‰Øº‹<ÿÿÿƒÊ¿ÿÿ…\ÿÿÿ•Xÿÿÿ‰$‹E èº>ÿÿ…Tÿÿÿ•Pÿÿÿ‰$‹E è£>ÿÿ‹µ<ÿÿÿ‹†Ô‰$èžþÿÇ‹•dÿÿÿ‰Ã‹½ÿÿÿ…Ò‰G,…ßÇ$YmDèžþÿ‰C‹…ÿÿÿ‹X,ÇC‹…Xÿÿÿº_D‰D$ ‹…\ÿÿÿ…À‰D$uºuND‰T$Ç$tmD迟þÿ‰C ‹•ÿÿÿ1Û‹B,Ç@‹E èr=ÿÿ‹ÿÿÿƒø‰A0鉵Lÿÿÿ•Hÿÿÿ‰4$‹E èÙ=ÿÿ‹E è¡=ÿÿ‹•Lÿÿÿ‰Æ…Òu¿ D¹ º ‰½Hÿÿÿ‰Lÿÿÿ‹…Hÿÿÿ‰T$CÇ$_D‰D$è/Ÿþÿ‰D$ºd‰T$ ‰t$‹½ÿÿÿ‹G,‰$è-Ÿþÿ‹G09Ørÿÿÿ…À…‘ ¸=1Ûè~7ÿÿ‹•ÿÿÿ‰‚‹R0èê1ÿÿ‹µÿÿÿ‹~0…ÿ~Y¶¼'‹½ÿÿÿ‹—Ç$‹…<ÿÿÿè2(ÿÿ‹G,‹@‹˜C‹P‹‡èº3ÿÿ‹—‹…<ÿÿÿèI(ÿÿ9_0´‹…ÿÿÿ‹Ç$‹…<ÿÿÿèÆÇÿÿ‹•8ÿÿÿÇ_Ä [^_]Ë8ÿÿÿÇ)vÄ [^_]ËM …É„‹U ƒz[„¾ Ç$¨mDèžþÿ‰Ã‹…<ÿÿÿ1ÒèÒ@ÿÿ‰\$‹<ÿÿÿ‹Ô‰$èŠÏ‰\$¸…ID‰D$‹µ<ÿÿÿ‹†Ô‰$è ‰$èažþÿ1À‰†|étÿÿÿ‹E …Àé§úÿÿ‰D$Ç$ÌmDèŠþÿ‰Ã‹…<ÿÿÿ1Òè[@ÿÿ‰\$‹µ<ÿÿÿ‹†Ô‰$èω\$¸…ID‰D$‹†Ô‰$è˜ ‰$èðþÿ‹½8ÿÿÿÇÄ [^_]Ã=„j=ê„î‹…8ÿÿÿÇÄ [^_]Ã=3„f=”u׋E …À„ ‹U ƒz[„2"Ç$nDéÀþÿÿ=º„ä =ÿu¡‹E …À„²Ç$ˆ[Dèœþÿ‰Ã‹…<ÿÿÿ1Òèn?ÿÿ‰\$‹•<ÿÿÿ‹‚Ô‰$è&Ή\$¸…ID‰D$‹<ÿÿÿ‹Ô‰$è¥ ‰$èýœþÿ‹<ÿÿÿ1À‰ƒ|é þÿÿ=ù„=…ÿÿÿ‹} …ÿ„¶"‹U ‹Bƒøc„L%ƒød„¯"‰D$Ç$4nDèñ›þÿéëýÿÿ‹ÿÿÿ‹C…Àt ‹C$…À„p ‹µÿÿÿ‹^…Û„l‹½<ÿÿÿƒÊ ‹‡Ô‰—@‰$èšþÿ‰F,‰ÃÇÇ$Ý]D蟙þÿ‰C‹‡À1ÿÇ$ê]D‰D$‰ðƒÀ4‰D$èk›þÿ‰D$1Ò¹d‰L$ ‰T$‹F,‰$èm›þÿ‰|$1À‰D$‹F,‰$è¨ …ÀˆŸ…À„O‹µÿÿÿ¿\D‹F,‹@‹‹@‰$è™þÿ‰†˜‹F,‰$èiþÿ¸2è3ÿÿ‰†‰òƒÂ4è0ÿÿ‹†º-mDèÿ/ÿÿ‹†ºtnDèï/ÿÿ‹†1Òè2/ÿÿ‹–Ç$‹…<ÿÿÿè*$ÿÿ‹–˜‹†è¹/ÿÿ‹–‹…<ÿÿÿèH$ÿÿ‹–Ç$‹…<ÿÿÿèÐÃÿÿ‰|$‹½<ÿÿÿ‹‡Ô‰$èøËÇ‹…8ÿÿÿǯéüÿÿ‹…`ÿÿÿ‰T$Ç$}nD‰D$èšþÿ‰C‹_,ÇCéúÿÿ‹u …ö„—øÿÿ‹E ƒx<„Á‹•ÿÿÿÇBÇéØöÿÿ‹M …É„Ÿ‹•8ÿÿÿÇîé‰ûÿÿ‹E …À„£‹} ƒ…S‹…ÿÿÿÇ@(é7óÿÿ‹E …À„ž‹U ‹Bƒøc„—ƒød„ ‰D$Ç$nDè\™þÿéVûÿÿÇ$ÄnD1ÿ¾‰|$‰t$‹…<ÿÿÿ1ÒèT—ÿÿéïûÿÿ»ònD‰\$‹µ<ÿÿÿ‹†Ô‰$èÂÊ‹½ÿÿÿÇG(‹…ÿÿÿ‹X(…ÛéQóÿÿ‰$¸‰D$èÔ”þÿ‰…,ÿÿÿ‰\$‰D$‰4$è”þÿöÐGE„L‰$1À‹•,ÿÿÿèá%ÿÿ‹,ÿÿÿ‰ $èS™þÿéØõÿÿÇ$»@‰\$èy”þÿ‹µ<ÿÿÿ‰Ã‰†ì‰0‰ðèâ$ÿÿ‰C¸Zèõ0ÿÿ‹½ÿÿÿºoD‰‡è-ÿÿ‹†ì‹P‹‡èK+ÿÿ‹†ìÇ@,@‹†ì‹P,‹‡è*+ÿÿ‹‡º@è+ÿÿ‹—‰ðè½ÿÿ‹…8ÿÿÿÇ´é¼ùÿÿ‹•<ÿÿÿ1ɉŠ)‹ÿÿÿ‹ …À…V ‹µÿÿÿ‹†¼…À…5 Ç$ Ò@芯‹½<ÿÿÿº°A‰‡è¸@šA‰‡€)‹‡‰—´)…À„€1À‰‡ì‹µ<ÿÿÿ¸ŽA¿ “A»€”A¹šA‹–쉆¼)¸ŽA…Ò‰†¸)¸€A‰†À)¸‘A‰†Ä)¸à’A‰†¬)‰¾°)‰žÈ)‰Ž¨)t‹†ð…Àu‹†|"…À…P‹•<ÿÿÿ‹…<ÿÿÿÂèèËÿÿ‹<ÿÿÿ‹ƒì…Àt:‹‹ð…Éu‹“P …Ò…ó…Àt‹µ<ÿÿÿ‹Žð…Éu‹– …Ò„> ‹<ÿÿÿ¿¾‰»Ì‰³Ð…À„®‹µ<ÿÿÿ‹žð…Û…«€¾Ø„ž‹½ÿÿÿ1ɉóÃØ‰¶†Ø„À„åˆÁ‰ÿÿÿëC¶ „É•À1Ò€ù •Â…Ðuë€ù ‰Þ„( ‰ÿÿÿ„ÉëC€;uú¸bCèr.ÿÿ‹<ÿÿÿ‹•ÿÿÿ‰‚‹‘ì‹RèÒ(ÿÿ‹½ÿÿÿº oD‹‡èÜ*ÿÿ‹‡ºè*ÿÿ‹‡è1*ÿÿ‹•ÿÿÿ‹‡)Ö‰4$‹•ÿÿÿèÕ*ÿÿ‹‡‹•ÿÿÿè”*ÿÿ‹—‹…<ÿÿÿèÿÿÿ‡¶ „É…ÿÿÿ‹•ÿÿÿ1ÿ‹‚‰D$¸ oD‰D$‹<ÿÿÿ‰ $èiÿÿ‹ÿÿÿ‹ƒ‰»…À‰ƒ `ôÿÿ‹ÿÿÿ‹‘9„K%…Ò…"¹,oD‰L$‹µ<ÿÿÿ‹†Ô‰$èpƉðºPoDè¤"ÿÿ‹†ì…À„ç‹<ÿÿÿ‹ð…À…Ó‹<ÿÿÿ‹»0…ÿ„M‹³Œ‹› ¸bèø,ÿÿ‹•ÿÿÿ‹<ÿÿÿ‰‚‹‘ì‹RèX'ÿÿ…ö…;€;„•‹½ÿÿÿº~oD‹‡èQ)ÿÿ‹‡ºè‘(ÿÿ‹‡‰Úè4)ÿÿ‹ÿÿÿ‹…<ÿÿÿ‹“è­}ÿÿ‹µ8ÿÿÿǺé¬õÿÿ¸ƒoD‰D$‹•<ÿÿÿ‹‚Ô‰$èoÅ‹<ÿÿÿ¸‰‹ …À…;‹<ÿÿÿ‹»…ÿ…‹µ<ÿÿÿ‹F…À…7‹½<ÿÿÿ‹‡ì…Àt ¸‰‡È‹…8ÿÿÿÇãéõÿÿ‹E è1ÿÿ‹½<ÿÿÿ‹Ÿì;C„ Ç$œoDè&“þÿ‰Ã1Ò‰øèû5ÿÿ‰\$‹‡Ô‰$è¹Ä‰\$¸…ID‰D$‹‡Ô‰$è>‰$è–“þÿ1À‰‡|é©ôÿÿ‹…ÿÿÿ‹•<ÿÿÿÇ@Ç@(‹’|…Ò…Hìÿÿ¸è7+ÿÿ‹ÿÿÿºÎoD‰èÁ'ÿÿ‹ÿÿÿ‹…<ÿÿÿ‹“è:|ÿÿ‹µ8ÿÿÿÇ0é9ôÿÿ1ÿ1ö‰|$‰t$‹•ÿÿÿ‹B,‰$è¼…Àˆ× …À…Bóÿÿ‹•ÿÿÿ‹B,‰$è›”þÿÇ$*]D¸1Ò‰D$¸ ‰D$‹…<ÿÿÿè%ÿÿ‹8ÿÿÿÇéÄóÿÿ=ã…Öôÿÿ‹} 1À‹•ÿÿÿ…ÿ‰‚„ü‹u ‹FÇ$eD‰D$躑þÿ‰Ã‹…<ÿÿÿ1Òè‹4ÿÿ‰\$‹½<ÿÿÿé…þÿÿ=>…~ôÿÿ‹M …É„>‹8ÿÿÿÇ>éEóÿÿ‰\$‹½,ÿÿÿ‰|$‹•<ÿÿÿ‹‚Ô‰$è“éøÿÿÇ$ÜoDé ôÿÿ¸èÈ)ÿÿ‹ÿÿÿº-mD‰èR&ÿÿ‹ÿÿÿ‹…<ÿÿÿ‹“èËzÿÿ‹µ8ÿÿÿÇ;éÊòÿÿ‹…<ÿÿÿ€¸”„IøÿÿÇ$¸@‰D$èÂŒþÿ‹•<ÿÿÿ‰Ã‰‚쉉Ðè+ÿÿ‰C‹<ÿÿÿ‹”‰ $‰ËÔ‰D$ ¸üoD‰D$‰\$èÛÿÿ¸Zè)ÿÿ‹µÿÿÿº6pD‰†è›%ÿÿ‹½<ÿÿÿ‹‡ì‹P‹†èa#ÿÿ‹‡ìÇ@,@‹‡ì‹P,‹†è@#ÿÿ‹†º@è0#ÿÿ‹†‰ÚèC%ÿÿ‹—”‹†è#ÿÿ‹†ºWDè"%ÿÿ‹†1Òèõ"ÿÿ‹–‰øè˜yÿÿ‹…8ÿÿÿÇ”é—ñÿÿ‹M …É„‹•8ÿÿÿÇ~é{ñÿÿ‹E …À„¸‹E ƒx<„ ïÿÿ‹•ÿÿÿÇBƒx3„ó‹ÿÿÿÇÇC$égìÿÿÇ‹µ<ÿÿÿƒÊ@¸2‰–@èÕ'ÿÿ‰ƒ‰ÚƒÂ4èe$ÿÿ‹ƒº-mDèU$ÿÿ‹ƒºCpDèE$ÿÿ‹ƒºuNDè5$ÿÿ‹ƒºuNDè%$ÿÿ‹“‰ðè¨xÿÿ‹½8ÿÿÿÇîé§ðÿÿ‹] …Û„:‹U ƒz<„¢‹ÿÿÿÇA‹µÿÿÿ‹¾È…ÿ„• ÇF ÇFéŽëÿÿ‹E …À„ï ‹] 1Àƒ{<éáêÿÿ‹u …ö„zúÿÿ‹} ‹Gƒøc„|úÿÿƒød…Ï ‹…<ÿÿÿ‹˜0…Ûu‹ˆ …É…FÇ$XpDè%Žþÿé–ðÿÿ‹E …À„¨ ‹M ‹Aƒøc„’ƒød„ª‰D$¿…IDÇ$€pDèèþÿ‰Ã‹…<ÿÿÿ1Òè¹0ÿÿ‰\$‹µ<ÿÿÿ‹†Ô‰$èq¿‰\$‰|$éíïÿÿ‹E …À„> Ç$ˆ[DèþÿéÞûÿÿ…|ÿÿÿ•xÿÿÿ‰$‰Øèâ+ÿÿ‰Øè«+ÿÿ…À…ó ‹…Òt2Bþƒø‡Wƒú„½¸¾pD‰D$‹½<ÿÿÿ‹‡Ô‰$è뾋…|ÿÿÿ1Û‹•xÿÿÿ‰$¸OmDèðMÿÿ‹½ÿÿÿ‹•xÿÿÿ‰G‹…|ÿÿÿ‰$¸tnDèÎMÿÿ‰G‹…<ÿÿÿ‹¸„…ÿ…‘ ‹•ÿÿÿ‰ZéJêÿÿ‹ÿÿÿ¿ ‹C,‰$è3þÿ‰|$¸1Ò‰D$Ç$*]D‹…<ÿÿÿèŠÿÿ‹µ8ÿÿÿÇéaîÿÿ‹…<ÿÿÿ»‰˜Èé¿üÿÿ‰$¾ ‰t$èú¶ÿÿéÙøÿÿ‹ä‰D$‹à‰ $‰D$èIˆÿÿ餸ÿÿ‰$1Û1ɉ\$ 1Ò‰L$‰T$èÊnþÿéªøÿÿ‹} …ÿ„Ÿ‹½8ÿÿÿÇêéÙíÿÿƒÊ¾hZD‰‘@‹ƒÌ‰t$‰ $‰D$è5ÿÿ‹µÿÿÿ‹½ÿÿÿ‹žÀ¶ ¶CÁáÁà Á¶CÁà Á¶C Á‰Žàs ‰À‰·Ô¶SƒÃ¶FÁâÁà ¶FÁà ¶F‰ŸØ ‰—ä¶¶AÁâÁà ¶AÁà ¶AƒÁ‰Ü ÂщÀ¸2‰—èèÀ#ÿÿ‰‡‰úƒÂ4èP ÿÿ‹‡º-mDè@ ÿÿ‹‡ºOmDè0 ÿÿ‹‡1Òèsÿÿ‹‡èˆÿÿ‹—؋䋇‰ $è. ÿÿ‹‡ècÿÿ‹—Ô‹‡‹à‰ $è ÿÿ‹—‹…<ÿÿÿèXtÿÿÇ‹…8ÿÿÿǺéQìÿÿ‰$è)‹þÿé¾òÿÿ‰$è‹þÿ‹ÿÿÿ‹ƒ°‰$è‹þÿé‰òÿÿ‰ð¿–܉¾Ø»–¹­eD‰žÜ‰D$ ƒè‰D$à‰L$‰$è-L¸bè›"ÿÿ‹–싽ÿÿÿ‹R‰‡èÿÿ‹‡ºØpDèÿÿ‹‡ºèQÿÿ‹‡‰ò˜èîÿÿ‹–à‹‡è½ÿÿ‹–䋇è¬ÿÿ‹‡1ÒèŸÿÿ‹‡1Òè’ÿÿ‹‡èÿÿ‹‡‰òÂØÇ$ A‰D$‰ðè7ÿÿ‹‡º€è÷ÿÿ‹–Ü‹‡èFÿÿ‹‡ºèÖÿÿ‹–Ø‹‡è%ÿÿ‹‡ºàpDÇ$è^ÿÿ‹—‰ðè±rÿÿº‰–‹…8ÿÿÿÇDé¥êÿÿC¶ éÏòÿÿ‹…<ÿÿÿº8fDè¬ÿÿ‹½<ÿÿÿ¸‰‡Ì¸‰‡Ð‹‡ìé òÿÿ¸d‰D$‹…<ÿÿÿ؉D$‹µÿÿÿƒÆ4‰4$èÜI‹½ÿÿÿƇ—¡ÐGE¨u¨„¨ãÿÿ‰t$Ç$âpDè>ˆþÿ‰Ã‰Â‹…<ÿÿÿèÿÿ‰$è׈þÿé|ãÿÿ‹E èê%ÿÿ‰C‹…<ÿÿÿ‹˜ì‹E ÇCÇC ÇCè¾%ÿÿ‰C$‹•<ÿÿÿ‹E ‹šìè§%ÿÿ‰C(‹<ÿÿÿ‹ìƒÀ‰$è­‚þÿ‹<ÿÿÿ‹ƒì‰D$‹ƒè‰$详‹ƒÔ‰$èa¶ºùpD‰T$‹ƒÔ‰$è*¹1À‰ƒðéûïÿÿ‹<ÿÿÿ»‰™ÈéÑõÿÿ…À»qDu»5qD‰\$¿d‹<ÿÿÿ‹Ô‰$èܸ‹…<ÿÿÿ‰Úèÿÿ‹…<ÿÿÿºX_Dèÿÿÿ…Dÿÿÿ•@ÿÿÿ‰$‹E èX%ÿÿ‹<ÿÿÿ‹ƒÔ‰$èD…þÿÇ‹µÿÿÿ‰Ã‰F,Ç$RqDèׄþÿ‰C‹…@ÿÿÿ‹^,‰D$‹…DÿÿÿÇ$_D‰D$衆þÿ‰C ‹F,1ÛÇ@Ç$dqDè–„þÿ‰D$1Ò¹d‰L$ ‰T$‹F,‰$舆þÿÇ$ŸqDèl„þÿ‰D$‰|$ ‰\$‹F,‰$èe†þÿÇ$´qDèI„þÿ‰D$¹d1Ò‰L$ ‰T$‹F,‰$è;†þÿ1ÿ1ö‰|$‰t$‹½ÿÿÿ‹G,‰$èn÷…Àxr…À„È ‹µÿÿÿ‹^,‹C‹‹@€8…g ‹C‹P‹H‹B‰D$‹A‰$èõG…ÀtG‹…<ÿÿÿºËqDè™ÿÿ1ÿ1ö‰|$‰t$‹½ÿÿÿ‹G,‰$èüö…ÀyŽ‹…<ÿÿÿ»‰˜Èé¨ëÿÿ¸2èøÿÿ‹½ÿÿÿ‰úƒÂ4‰‡è‚ÿÿ‹‡º-mDèrÿÿ‹‡ºtnDèbÿÿ‹‡ºè¢ÿÿ‹—Ç$‹…<ÿÿÿèšÿÿ‹—˜‹‡è)ÿÿ‹G,‹@‹@‹P‹‡èÿÿ‹G,‰$èG‡þÿ‹—‹…<ÿÿÿè–ÿÿ‹—Ç$‹…<ÿÿÿè®ÿÿ¸äqD‰D$‹•<ÿÿÿ‹‚Ô‰$èA¶‹8ÿÿÿÇ3éPæÿÿ‰D$Ç$øqDèp„þÿéÎçÿÿ…ö5‹…<ÿÿÿ‹ÿÿÿ‹ˆ$(‹€((‰M€‰ƒÄ‹ÿÿÿ…ɉ‹¼„¬ ƒ»ÄŽÚ€y „˽ÿÿÿ‹G(éQÞÿÿ‹½ÿÿÿ‹‡Ì@;‡Ð‰‡ÌŒíàÿÿÇG éáàÿÿ‹•<ÿÿÿ‹‚܉D$ ‹‚؉$‰D$¸¨dD‰D$è ÿÿ‹<ÿÿÿ‹ìé-íÿÿ¸údD]ˆ‰D$‹†Ô‰$è8µ‹†#uȉ\$‰D$¸@‰D$ ¸‰D$‰4$èÍ*‹½<ÿÿÿ‰‡DÇ€"‰½ÿÿÿ‰|$‰$è‰,¸bè¿ÿÿ‹<ÿÿÿ‹•ÿÿÿ‰‚‹‘ì‹Rèÿÿ‹½ÿÿÿº5rD‹‡è)ÿÿ‹‡ºèiÿÿ‹‡1Òè\ÿÿ‹‡‰òèÿÿÿ‹—Ç$‹…<ÿÿÿèG ÿÿ‹‡‰ÚèÚÿÿ‹—‹…<ÿÿÿèi ÿÿ‹…ÿÿÿ‰$è[-‰Â‹‡èŽÿÿ‹—‹…<ÿÿÿè-lÿÿ‹•8ÿÿÿÇùé,äÿÿè‡î…À…W ‹ÿÿÿ‹A(é‰Üÿÿ‰4$è)ÉD$¸œ`D‰D$‹…<ÿÿÿ‰$èn ÿÿ‰4$èÖƒø‰Ã„¤ ‰$èc‰D$¹À`D‰L$‹½<ÿÿÿ‰<$è8 ÿÿ‰$è@‰4$‰ÃèÆÂ‰D$‰\$Ç$ä`DèÂþÿ‰Â‰Ã‰øè§ÿÿ‰$è_‚þÿ‹…ÿÿÿ1Ò‰ é©Ûÿÿ‹•ÿÿÿƒÀ 1ɉ‚À‰ŠÌéƒÞÿÿ‹…<ÿÿÿº@rDè`ÿÿ¸drD‰D$‹µ<ÿÿÿ‹†Ôéôÿÿ‹…|ÿÿÿ‹•xÿÿÿ‰$¸CpDè Bÿÿ…À„Nôÿÿ»éDôÿÿ‰t$‰\$‹ÿÿÿ‹A,‰$è‚ò…Àˆ‚ûÿÿ‹<ÿÿÿ1Ò‰“Èéýúÿÿ…öD‹…<ÿÿÿ‹ÿÿÿ‹$(‹€((‰•tÿÿÿ‰ƒð‹µÿÿÿ‹†ü‰–‰$èaþÿ‹†…À„ññÿÿ€x„ Ç$„YDè€þÿ‰Ã‹…<ÿÿÿ1Òè^#ÿÿ‰\$‹•<ÿÿÿ‹‚Ô‰$貉\$¸…ID‰D$‹<ÿÿÿ‹Ô‰$è•ï‰$èí€þÿ‹8ÿÿÿÇéüáÿÿ»„rD‰\$‹<ÿÿÿ‹Ô‰$迱öÐGE…— ‹µÿÿÿ1Û‹Ž¨…É…½ ‰\$…pÿÿÿ‰D$‹…<ÿÿÿp ‰$è{鉅(ÿÿÿ…Ût"‰$èA‰D$1ɉL$‰$èA‰$èO€þÿ½(ÿÿÿ E‹•(ÿÿÿ”À…Ò” Ш„i …Ût½(ÿÿÿ Eº¡rD„% ‹…<ÿÿÿº´rDèD ÿÿ‹•pÿÿÿ‹…<ÿÿÿè3 ÿÿ‹…<ÿÿÿºÑrDè# ÿÿé1Üÿÿ‹½8ÿÿÿÇéíàÿÿöÐGE…× ¸2è–ÿÿ‹µÿÿÿ‰†ƒÆ4‰òè ÿÿ‹½ÿÿÿº-mD‹‡è ÿÿ‹‡ºOmDèúÿÿ‹‡ºè:ÿÿ‹‡èOÿÿ‹—؋䋇‰ $èõÿÿ‹‡è*ÿÿ‹—Ô‹‡‹à‰ $èÐÿÿ‹<ÿÿÿ‹‡‹<ÿÿÿ‹‘¸‹ÊJÿ‰ì€{Py Jû‰ì‹µÿÿÿ‹†àƒÀD‰†ô¸‰D$‹†ôƒÀ‰$èùyþÿ¾–÷‰†üˆ‹–ü¿†öˆB‹†ô‹–üÁøˆB‹–ü‹†ôˆB‹†üH‰ŽøÆ@ ‹–ø¾†ãJ‰ŽøˆB‹–ø¿†âˆB‹†à‹–øÁøˆB‹–ø‹†àˆB‹Žø‹–Ô‹†àƒÁ‰Žø‰D$‰T$‰ $èÁ>‹†ø‹ŽàÁ¾†ï‰Žøˆ‹–ø¿†îˆB‹†ì‹–øÁøˆB‹–ø‹†ìˆB‹½<ÿÿÿ‹–ø€PJ‰ŽøxJ¾‡»ˆB‹–ø¿‡ºˆB‹‡¸‹–øÁøˆB‹–ø‹‡¸ˆB‹ŽøƒÁ‰Žø‹<ÿÿÿ‹•<ÿÿÿ‹ƒ¸‰ $˜‰T$‰D$èæ=‹µÿÿÿ‹‹¸‹†‹¾ø‹‹@ùƒêƒÀ‰Žø‰T$‰ $‰D$è«=‹†‹–ø‹ÐPû‰–øÆ@û‹†øÆ@‹†øÆ@‹†øÆ@¸pÚA‰D$‰ðð‰D$ …tÿÿÿ‰\$‰D$‹†ôƒÀ‰D$‹†ü‰$èè…À…‰‹½8ÿÿÿÇÿéjÝÿÿ‹µ<ÿÿÿ¸‰†Èéjïÿÿ‹•ÿÿÿ‹B,‰$èã}þÿÇ$º1À‰T$º…`D‰D$éCéÿÿ¾èeD‰t$‹½<ÿÿÿ‹‡Ô‰$èæ¬é?äÿÿ‹…<ÿÿÿ‹˜ ‹°ˆ…Û…¥æÿÿ‰ÃÃ é˜æÿÿƒú„Æíÿÿ‹…<ÿÿÿºØbDèáÿÿ¸ÕrD‰D$‹•<ÿÿÿ‹‚Ô‰$脬‹ÿÿÿƒ9…Šíÿÿ‹<ÿÿÿ‹ƒT …À„víÿÿÇA(é áÿÿt&‹E èhÿÿ‹½<ÿÿÿ‹Ÿì;C…Qçÿÿ‹E ¿ãrD¾èAÿÿ‰C‹…<ÿÿÿ‹˜ì‹E ÇCÇC ÇCèÿÿ‰C$‹•<ÿÿÿ‹E ‹šìèþÿÿ‰C(‹<ÿÿÿ‹ìƒÀ‰$èuþÿ‹<ÿÿÿ‹ƒì‰D$‹ƒè‰$虋ƒÔ‰$踨‰|$‹ƒÔ‰$膫‰³ðéYâÿÿ¸sD‰D$‹ƒÔ‰$èd«¸bè:ÿÿ‹“싵ÿÿÿ‹R‰†è  ÿÿ‹†º*sDè°ÿÿ‹†ºèð ÿÿ‹–‰Øè#cÿÿ‹½8ÿÿÿÇé"Ûÿÿ¾fD‰t$‹½<ÿÿÿ‹‡Ô‰$è媋‡ìéwâÿÿ‹½ÿÿÿ1ö‹G,‰$è‡{þÿ‹Ÿ˜‰$èi:‰D$‰t$‰$èa:‹‡˜‰$è›yþÿÇ$*]D¹º ‰T$1Ò‰L$‹…<ÿÿÿèåvÿÿé­Ûÿÿèëä…À…èþÿÿ‹<ÿÿÿ‹ƒìéïáÿÿ‹•ÿÿÿ‹‚ºEsDè¼ ÿÿ‹ÿÿÿº‹èö ÿÿémäÿÿ‹ž˜‰$èÃ9‰D$1À‰$‰D$è¹9‹†˜‰$èóxþÿ‹F,‹@‹‹@‰$è@vþÿ‰†˜‹^,éJòÿÿ‹•tÿÿÿéL÷ÿÿ‹…ÿÿÿÇ@éœÑÿÿ‹µÿÿÿºKsD‹†è ÿÿ‹†ºè_ ÿÿ‹†éÉãÿÿ‹<ÿÿÿ‹ì…À…Û‹µÿÿÿ1Û‹Ž…Éu éIäÿÿè$½ÿÿC‰\$‹½<ÿÿÿ‹‡è‰$èû–…ÀuÞé"äÿÿ‹ÿÿÿ‹C(é¼Ñÿÿ»ÓdD‰\$‹•<ÿÿÿ‹‚Ô‰$è©‹<ÿÿÿÇALéSàÿÿ‰D$Ç$XsDè5wþÿé“Úÿÿ‹µÿÿÿÿ†ékÖÿÿ‰t$‰\$‹ÿÿÿ‹A,‰$èvè…Àˆmêÿÿ‹<ÿÿÿ1Ò‰“Èé»Ûÿÿº”sD‰T$‹€Ô‰$脨‹<ÿÿÿ¸‰0é,âÿÿ»ÏeD‰\$‹•<ÿÿÿ‹‚Ô‰$èQ¨‹<ÿÿÿ‹ìÇAHéÖßÿÿ¸ÀsD‰D$‹<ÿÿÿ‹Ô‰$è¨éëæÿÿE„‰D$‹…ÿÿÿ°‰D$ ‹…ÿÿÿ¤‰D$‹…ÿÿÿ‰4$¬‰D$è;ê‹•ÿÿÿ…À‰‚ „#‰4$1ÿ‰|$è)ì‹ÿÿÿ‰¨éÐÿÿº¸]D‰T$‹<ÿÿÿ‹ƒÔ‰$è‹§‹µÿÿÿ¸pÚAƆ´Æ†µÆ†¶Æ†·Ɔ¸ ‰D$‰ðĉD$ E€‰D$¸‰D$‰ð´‰\$‰$èÛá…À„Eöÿÿ‹M€é)ñÿÿ‹…<ÿÿÿºìsDèKÿÿ‹ÿÿÿ‹…<ÿÿÿ‹“°è4ÿÿº tD‹…<ÿÿÿè$ÿÿé-õÿÿ‹½<ÿÿÿ‹‡Ô1ÿ‰$èysþÿ‰F,‰ÃÇÇ$íZDèsþÿ‰C‹†°Ç$[D1Û‰D$èçtþÿ‰D$ºd‰T$ ‰|$‹F,‰$èëtþÿ‰\$1ɉL$‹F,‰$è&æ…Àˆ³…À„ú‹µÿÿÿ‹F,‹@‹‹@‰$èrþÿ‰Ã‹F,‰$èðvþÿéôÿÿ‰t$‰\$‹•ÿÿÿ‹B,‰$èÒå…ÀˆÀøÿÿ‹<ÿÿÿ1Û‰™ÈécÏÿÿ‹µÿÿÿ‹F(éÎÿÿ‹…<ÿÿÿºìsDèÿÿ‹ÿÿÿ‹ƒè‹“܉$‹…<ÿÿÿè©ÿÿ‹…<ÿÿÿºÓaDèéÿÿéäôÿÿ‹E„»cD‰\$‰D$‹<ÿÿÿ‰$è&ýþÿ‰4$è¾´‹U„‰D$Ç$0cD‰T$è·sþÿ‰Ã‰Â‹…<ÿÿÿè˜ÿÿ‰$èPtþÿé¨Íÿÿ‹…<ÿÿÿºtDè{ÿÿé.æÿÿ¸^D‰D$‹½<ÿÿÿ‹‡Ô‰$襋ž‹–¶K¶CÁáÁà Á¶CÁà Á¶C Á‰L$ ‹†ƒÀ ‰D$‹†à‰D$‹†Ô‰$‰øèÿÿ‹–‰øèÆ\ÿÿÇéIäÿÿ‹…<ÿÿÿº‰ÈéÍÑÿÿ‰4$‰Ú¾èÆ$ÿÿ‹ÿÿÿ‰³éûÿÿ)ЉD$¸,tD‰D$‹…<ÿÿÿ‰$èøûþÿ‹…<ÿÿÿºPtDèˆÿÿ‹•<ÿÿÿ‹‚ìéÙÝÿÿ‹‡éƒÝÿÿ‰t$‰\$‹ÿÿÿ‹A,‰$èÓã…Àˆ`ÿÿÿ‹<ÿÿÿ1ö‰³Èéšýÿÿ‰t$‰\$‹µÿÿÿ‹F,‰$èŸã…Àˆºêÿÿ‹½<ÿÿÿ1Ò‰—ÈéÐßÿÿ‹½(ÿÿÿ…ÿ„òÿÿ¸2èŒ ÿÿ‹½ÿÿÿ‰þƒÆ4‰‡‰òèÿÿ‹‡º-mDèÿÿ‹‡ºOmDèôÿÿ‹‡ºè4ÿÿ‹•(ÿÿÿ‹‹P0‹‡èÎÿÿ‹(ÿÿÿ…lÿÿÿ‹‰D$‹A‰$ÿR ‰…$ÿÿÿ‹‡èÿÿ‹•lÿÿÿ‹‡‰$‹•$ÿÿÿè¸ÿÿ‹<ÿÿÿ‹‡‹“¸‹0òrÿ€{P‰µ ÿÿÿy ƒê‰• ÿÿÿ¹1Û‰L$‹½ ÿÿÿ‰<$èmþÿ‰Æ‹…<ÿÿÿ€xPx3¾€»»ˆ‹•<ÿÿÿ¿‚ºˆF‹‚¸ÁøˆF‹‚¸ˆF‹½<ÿÿÿ 3‹•<ÿÿÿ‹‡¸Â˜‰T$‰ $‰D$è%2‹—¸Ó‹•ÿÿÿ 3‹‚‹‹@‰ $ƒêƒÀ‰T$‰D$èó1‹ÿÿÿ‹‹ØXû; ÿÿÿ…â‹(ÿÿÿ…hÿÿÿ‹‰D$ ‹½ ÿÿÿ‰t$‰|$‹C‰$ÿR,‰Ã‹…ÿÿÿ‹‹…hÿÿÿ‰\$‰D$ ‹…lÿÿÿ‰D$‹$ÿÿÿ‰ $‹…<ÿÿÿèáÿÿ‹½$ÿÿÿ‰<$è“pþÿ‰$è‹pþÿ‰4$èƒpþÿ‹…ÿÿÿ‹‹…<ÿÿÿè|Yÿÿ‹(ÿÿÿ‹•ÿÿÿ‹AÇ‹‰$ÿRéÌÿÿ»„tD‰\$‹<ÿÿÿ‹ƒÔ‰$è-¡‹ƒìéÄÚÿÿÇ$¯tD¸Ë‰D$¸èHD‰D$è1¶QqƒÁ ¶FÁâÁà ¶FÁà ¶F‰ÿÿÿ ¸ÀtD‰“ЉD$‰T$‹½<ÿÿÿ‰<$èXøþÿ‹ƒ …À‰…ÿÿÿ„3Éÿÿ‹“Ð1À‰…4ÿÿÿƒú‰•ÿÿÿŽêü‹‹¤‰ ÿÿÿëM‹•ÿÿÿH¶P¶AÁâÁà ¶AÁà ¶Aÿ…4ÿÿÿ‹4ÿÿÿ Â9ÿÿÿT ‰•ÿÿÿŽŽ‹µÿÿÿ‹½ÿÿÿ¶¶FÁãÁà öFÁà öF Ã; ÿÿÿ‰Ÿà…wÿÿÿ‰ð‹½ÿÿÿ‰ÙƒÀ‰Æ9Ûó¦…^ÿÿÿ‹µ4ÿÿÿ¸†4(‰$èhdþÿ‰4$è€cþÿƒÄ[^]é…èt&‹C0…À„~þÿÿ‰$è-iþÿéqþÿÿ‰$èÐhþÿ†4(‰$è"dþÿ‰4$è:cþÿƒÄ[^]é?躉ðèSÿÿévÿÿÿ‰$èöhÇF\é[ÿÿÿ‰$èB éõþÿÿ‹Ft‰$ÿPéýÿÿ‹Fp‰$ÿPéøüÿÿ‹Fd‰$ÿPéßüÿÿ‹F`‰$ÿPéÆüÿÿ‹FT‰$ÿPé­üÿÿ´&U‰åWVSƒì,‹EÇEð‹U ÆEï‰Eäè‰Uà‰T$‰Eè‰D$‹u䋆H,‰$è¿gþÿ‹ž…Û…Q‹}à‹U䋇P 9‚8 t…À…Õ‹}ä‹Eà‹ŸX,T ‰$èlZþÿ‰‡X,9Øt"…Àt9‡P,‡69‡L,‡*¶‹Uà‹uä‹‚< 9†$ t ÇEðãuDÆEï‹}à‹U䋇 9‚x„ÉÇEðÿuDÆEï¸<&‰D$‹Eà‰D$‹Uè‰$ès"‹Eð…Àt‹u䋾\,…ÿt_€}ït ‹Eð‹}䉇h,ƒÄ,[^_]Ãt&iØ`ꋊd,Ëè}#)È…‹u亠ÜA‰T$‰$‰t$èv‰†`,éíþÿÿfÇE ‹Uð‰ðÇEÿÿÿÿƒÄ,[^_]éa#ÿÿ‹Uà‰ðèFKÿÿé þÿÿü‰øÂX p ¹‰Ö‰Çó¦„#ÿÿÿéÿÿÿÇEðvDéÐþÿÿÇEð*vDéþÿÿt&U‰åSƒì‹E…ÀtF‹X…Ût?‹ˆà…Ét5‹T1Û…Òu5‹ˆH‰Úƒùt1Òƒùu‹€ì…Àt‹H…É~‰Úë1Ò‰ÐZ[]Ãt&‹˜PëÃÀ‰$è­ZþÿëÞ´&U‰åSƒì‹]‹M ‹U…Ût‹C…Àt‹ƒà…Àut&¼'ƒÄ1À[]É$ÇD$ ‰T$‰L$ÿЉ]ƒÄ[]é&ÿÿÿ¶U‰åƒì‹U‹‚HƒøtlƒøtÉ1ÀÃv¡hvD¹£`E¡lvD£dE¡pvD£hE¡tvD£lE‹‚ì…ÀuJAƒøwg¡¸wD‰Í`E¡¼wD‰ÍdE¸`EÉÃföBPu“¡LvD¹£`E¡PvD£dEë¶Ç$pE¸ˆ‰D$¸0wD‰D$èñ¹ë‘Ç$ÀwD¹H"ºèHD‰L$‰T$è ¶¿U¸@‰åVSƒì‹u‰D$Ç$èZþÿ‰0‰ÃÇ@‰ðè~êþÿ‰C‹E ÇCÇC ‰C0C‰$èÜXþÿ‰\$‹†è‰$èê|ƒÄ‰Ø[^]ÃU‰åS‹M‹] ƒ¹Htº@‹ì)Ú[]é‰Gÿÿ‹X…À•À1ÒûÿžÂ…Ðu[]Ã1Àºÿÿÿÿ‰X‰È[]é† ÿÿ¶U‰åƒì8‰uø‹E‹u‰}ü‹} ‰]ô‰Eð‹‰Eì‹Eð‰|$‰D$ ¸ôwD‰D$‹Eì‰$èæþÿ‹E샸Ht}¸Zè«õþÿº6pD‰Ãè?òþÿ‹V‰ØèðþÿÇF,@‰Øº@èðþÿ‰Øº@èöïþÿ‰ú‰Øè òþÿ‹Uð‰Øèãïþÿ‰ØºWDè÷ñþÿ‰Ø1ÒèÎïþÿ‹Eì‰Ú‹uø‹]ô‹}ü‰ì]éhFÿÿ1À»¹‰D$ º‹Eð‰|$‰\$‰D$¸‰D$‹F‰L$‰T$‰D$ ‹Eì‰$èÿÿ‹]ô‹uø‹}ü‰ì]Ãt&U‰å‹E]‹@…À•À¶Àö¼'U‰å‹E]‹€ÈÃfU‰å‹U ‹Mƒút1À…Òu‹Ð]Ãt&]‹Ìô&U‰å‹U ‹E‰P]ÃfU‰å‹U ‹E‰P]ÃfU¸ÿÿÿÿ‰å‹U‹J…Éu ‹‚ô…Àx]Ãf]¸ÿÿÿÉö¼'U‰å‹E]‹€HÃfU‰å‹E]‹€0ÃU‰åWVSƒì\‹}ÇEÔ‹‡ìHƒøŽ3‹E ‹U ‹M ‹u ‹‹R‹I‹^ ‰E¼‰U¸‰M´¶¼'‹7ƒÇ‹E¼‹U 1ð‰‹ƒÇ‰E¼‹E¸1ȉB‹7ƒÇ‰E¸‹E´1ð‰B‰E´‰Ø‹ƒÇ1؉ÉB ‹E¸‹U¼ÁèÁê%ÿ‹ •ИD‹4…ДD1΋M´¶Å‹…ÐD¶Ã‰EÐ1Ö‹U¸‰ÈÁèÁê%ÿ‹ •ИD‹…ДD1ȉE̶Nj…ÐD¶E¼Áë1UÌ‹U´‹ …ÐŒD1M̶ÃÁê‹ …ДDÁë‹•ИD‹U¼1Á¶Æ3 …ÐDÁê¶E¸3 …ÐŒD¶Â‹…ДD‹ИD‹]¸1ж׋•ÐD1ضU´‹•ÐŒD‹UÐ1Ø‹•ÐŒD1ó‰]¼‹u ‰M´‹UÌÿEÔ‰N‹M‰‰Ã‰V‰F ‹ì‰U¸H;EÔ¥þÿÿ‹ƒÇ‹E¼‹u 1ȉ‹ƒÇ‰E¼‹E¸1ЉF‹ƒÇ‰E¸‹E´1ȉF‹ƒÇ‰E´‰Ø1ЉF ‰Ã‹E¼‹U´Á趀ЊDÁà‰EÈ‹E¸Áè%ÿ¶€ÐŠDÁà Eȶƶ€ÐŠDÁà Eȶö€ÐŠD‰EÄ‹E¸Á趈ЊD‰ÐÁè%ÿÁᶀЊDÁà Á¶ÇÁ부ЊDÁà Á¶E¼¶€ÐŠD‰EÀ‰ÐÁè¶ÐŠD¶Ã¶€ÐŠDÁâÁà ‹E¼¶ô¶†ÐŠD‹uÄÁà ÂÁë¶E¸Ám¼¶›ÐŠD MÀ¶€ÐŠDÁã‰E¤¶E¼ U¤¶€ÐŠDÁà ËE¸‰M¸¶Ä¶€ÐŠDÁà öE´‰U´¶€ÐŠD‰E ‹EÈ ð‰E¼‹u ‰V‹U ‰‰N Ó‰^ ‹ƒÇ1Љ‹7ƒÇ‹E 1ñ‰H‹1U´‹M´‰H‹W1Ó‰X ƒÄ\[^_]Ë] ‹E ‹U ‹‹M ‹@‰]¼‹R‹Y ‰E¸‰U´é0þÿÿt&U‰åWVSƒì|‹]ÇEÄ‹ƒìHƒøŽ‹E ‹U ‹M ‹‹R‹I‰EŒ‹E ‰U ‹U ‹@ ‰Mœ‹M ‹R‰E˜‹I‰U”‰M´&‹3ƒÃ‹EŒ1ð‹u ‰EŒ‰‹ ƒÃ‹E 1ȉF‹ƒÃ‰E ‹Eœ1ЉF‹;ƒÃ‰Eœ‹E˜1ø‰F ‹ ƒÃ‰E˜‹E”1ȉF‹ƒÃ‰E”‹E1ЉF‹UŒ‰E‹E Áê¶u˜Áè‹<•ИD%ÿ‹Uœ‹…ДD1ø‰E„¶Æ‹ …ÐD1M„‰uÀ‹Eœ‹U ÁèÁê%ÿ‹<•ИD‹…ДD‹U˜Ám˜1ø‰E¼¶Æ‹ …ÐD¶E”‹Uœ1M¼‹4…ÐŒDÁê¶E˜1u¼Ám˜‹4…ДD‹•ИD‹U”1ƶƋ<…ÐD¶E1þ‹ …ÐŒD1΋M˜Áê‰U”¶Â‹…ДD‹ ИD‹U1ȉE¸¶Æ‹ …ÐD¶EŒÁê1M¸‹<…ÐŒD¶Â1}¸‹ …ДDÁm”‰UÁm‹E”‹…ИD1Ñ‹UŒ¶Æ‹<…ÐDÁê¶E 1ù‹<…ÐŒD¶Â‹…ДD1ù‹}‹½Ð˜D1‹E ¶Ä‹<…ÐD‰E€¶Eœ1ú‰uœ‹<…ÐŒD‹E„1ú‹}À3½ÐŒD‹} ‰EŒ‰‹E¼‰w‹u¸‰E ‰G‰u˜‰W‰U‹U‰w ‰O‹‚ìÿEĉM”H;EÄßýÿÿ‹;ƒÃ‹EŒ‹M 1ø‰‹3ƒÃ‰EŒ‹E 1ð‰A‹ƒÃ‰E ‹Eœ1ЉA‹;ƒÃ‰Eœ‹E˜1ø‰A ‹3ƒÃ‰E˜‹E”1ð‰A‹ƒÃ‰E”‹E1ЉE‹Uœ‰A‹EŒÁ趀ЊDÁà‰E´‹E Áè%ÿ¶€ÐŠDÁà E´¶Æ¶€ÐŠDÁà E´¶E˜¶€ÐŠD‰E°‹E Á趈ЊD‰ÐÁè%ÿ‹U˜ÁᶀЊDÁm˜Áà Á¶Æ¶€ÐŠDÁà Á¶E”¶€ÐŠD‰E¬‹EœÁè¶ÐŠDÁâ¶E˜Ám˜¶€ÐŠDÁà ‹E”Ám”¶ô¶†ÐŠDÁà ¶E¶€ÐŠD‰E¨‹E˜¶€ÐŠDÁà‰E˜¶E”¶€ÐŠDÁà E˜‹E¶ô¶†ÐŠDÁà E˜¶EŒÁm”Ám¶€ÐŠD‰E¤‹E”¶€ÐŠDÁà‰E”¶EÁm¶€ÐŠDÁà E”‹EŒÁmŒ¶ô¶†ÐŠDÁà E”¶E ¶°ÐŠD‹E¶€ÐŠDÁà‰E¶EŒ¶€ÐŠDÁà E‹E ¶Ä¶€ÐŠDÁà E‹}°¶Eœ¶€ÐŠD‰E€‹E´ ø‰EŒ‹} u”‹u€‰‹E¬ u Á‹E¨‰O‰M  ‹E¤ E˜‹M”‰W‹E‰Uœ‹U˜‰O‰G‰W ‹ƒÃ1UŒ‹MŒ‰‹3ƒÃ1u ‹E ‰G‹ƒÃ1Uœ‹Mœ‰O‹3ƒÃ1u˜‹E˜‰G ‹1U”‹M”‰O‹s1u‹E‰GƒÄ|[^_]ËM ‹E ‹U ‹ ‹@‹R‰MŒ‹M ‰E ‹E ‹I ‰Uœ‹U ‹@‰M˜‹R‰E”‰Uéýÿÿt&U‰åWVS윋uÇEÄ‹†ìHƒøŽ;‹E ‹U ‹M ‹] ‹‹R‹I‹[ ‰E„‹E ‰U€‹U ‹@‰|ÿÿÿ‹M ‰xÿÿÿ‹] ‰…tÿÿÿ‹R‹I‹[‰•pÿÿÿ‰lÿÿÿ‰hÿÿÿ‹ƒÆ‹E„1ЋU ‰E„‰‹>ƒÆ‹E€1ø‰B‹ƒÆ‰E€‹…|ÿÿÿ1؉B‹ƒÆ‰…|ÿÿÿ‹…xÿÿÿ1ȉB ‹>ƒÆ‰…xÿÿÿ‹…tÿÿÿ1ø‰B‹ƒÆ‰…tÿÿÿ‹…pÿÿÿ1؉B‹ƒÆ‰…pÿÿÿ‹…lÿÿÿ1ȉB‹>ƒÆ‰…lÿÿÿ‹…hÿÿÿ1ø‰B‹U„‰…hÿÿÿ‹E€Áê‹•ИDÁè%ÿ‹ …ДD1Ù‹xÿÿÿ¶Ç‹…ÐD¶…tÿÿÿ1щEÀ‹…|ÿÿÿ‹U€ÁèÁê%ÿ‹…ДD‹•ИD‹•tÿÿÿ1öƋ<…ÐD¶…pÿÿÿ1û‹…ÐŒD‹…xÿÿÿ1Ó‹•|ÿÿÿÁè%ÿÁê‹<…ДD‹•ИD‹•pÿÿÿ1ǶƋ…ÐD1×¶…lÿÿÿÁ­tÿÿÿ‹…ÐŒD¶…tÿÿÿ1׋•xÿÿÿ‹…ДDÁê‰E¼‹•ИD‹•lÿÿÿ1E¼¶Æ‹…ÐD¶…hÿÿÿ1U¼‹…ÐŒD1U¼Á­tÿÿÿ‹•tÿÿÿÁ­pÿÿÿÁ­lÿÿÿ‹•ИD¶…pÿÿÿÁ­pÿÿÿ‹…ДD1ЉE¸‹•hÿÿÿ¶Æ‹…ÐD¶E„1U¸‹…ÐŒD¶…lÿÿÿ1U¸‹•pÿÿÿ‹…ДD‹•ИD1ЋU„‰E´¶Æ‹…ÐD¶E€1U´‹…ÐŒD1U´Á­lÿÿÿ‹•lÿÿÿÁ­hÿÿÿÁm„‹•ИD¶…hÿÿÿÁ­hÿÿÿ‹…ДD1ЉE°‹U€¶Æ‹…ÐD¶…|ÿÿÿ1U°‹…ÐŒD1U°¶E„‹…ДD‹…hÿÿÿ3…ИD‹…|ÿÿÿ¶Ä3…ÐD‰…dÿÿÿ¶…xÿÿÿ3…ÐŒD‹EÀ3 …ÐŒD‹E ‰M„‰‹M ‰X‰]€‹]¼‰x‰•hÿÿÿ‰X ‹E¸‰xÿÿÿ‹]´‰A‰…tÿÿÿ‹E°‰Q‹U‰Y‰A‰…lÿÿÿ‹‚ìÿEĉ½|ÿÿÿH;Eĉpÿÿÿ›üÿÿ‹>ƒÆ‹E„‹M 1ø‰‹ƒÆ‰E„‹E€1؉A‹ƒÆ‰E€‹…|ÿÿÿ1ЉA‹>ƒÆ‰…|ÿÿÿ‹…xÿÿÿ1ø‰A ‹ƒÆ‰…xÿÿÿ‹…tÿÿÿ1؉A‹ƒÆ‰…tÿÿÿ‹…pÿÿÿ1ЉA‹>ƒÆ‰…pÿÿÿ‹…lÿÿÿ1ø‰A‹ƒÆ‰…lÿÿÿ‹…hÿÿÿ1؉…hÿÿÿ‰A‹E„Á趀ЊDÁà‰E¬‹E€‹xÿÿÿ‹•tÿÿÿÁè‹pÿÿÿ%ÿ¶€ÐŠDÁà E¬¶Ç¶€ÐŠDÁà E¬¶…tÿÿÿ¶€ÐŠD‰E¨‹E€Á趀ЊDÁà‰E¤‹…|ÿÿÿÁè%ÿ¶€ÐŠDÁà E¤¶Æ¶€ÐŠDÁà E¤¶…pÿÿÿ¶€ÐŠD‰E ‹…|ÿÿÿÁ趀ЊDÁà‰Eœ‰ØÁè%ÿ¶€ÐŠDÁà Eœ¶ÅÁ鶀ЊDÁà Eœ¶…lÿÿÿÁ­tÿÿÿ‰pÿÿÿÁ­pÿÿÿ¶€ÐŠD‰E˜‰ØÁè¶ÐŠD‹lÿÿÿ¶…tÿÿÿÁ­tÿÿÿÁⶀЊDÁà ¶Njpÿÿÿ¶€ÐŠD¶›ÐŠDÁà ¶…hÿÿÿÁ㶀ЊD‰E”‹…tÿÿÿ¶€ÐŠDÁà‰…tÿÿÿ¶Á‹hÿÿÿ¶€ÐŠDÁà …tÿÿÿ¶Å¶€ÐŠDÁà …tÿÿÿ¶E„¶€ÐŠD‰EÁ­lÿÿÿ‹M„¶…lÿÿÿ¶€ÐŠDÁà ÃÁ­hÿÿÿ¶Å‹M€¶€ÐŠDÁ­lÿÿÿÁm„Áà öE€‰pÿÿÿ‹lÿÿÿ¶€ÐŠD¶›ÐŠD‰EŒÁã¶…hÿÿÿÁ­hÿÿÿ¶€ÐŠDÁà öŋ|ÿÿÿ¶€ÐŠDÁà ö…|ÿÿÿ‰lÿÿÿ‹hÿÿÿ¶€ÐŠD¶›ÐŠD‰EˆÁã¶E„¶€ÐŠDÁà öŶ€ÐŠDÁà Éhÿÿÿ‹M¨‹]¬¶…xÿÿÿ‹}  ˉ]„‹M ¶€ÐŠD‰‹]¤ û‰Y‹Mœ‹}”‰]€‹]˜ ú‰•xÿÿÿ Ù‹] ‰|ÿÿÿ‰S ‹U •tÿÿÿ‰K‹tÿÿÿ‰K‹]Œ‹M pÿÿÿ‹]ˆ lÿÿÿ‹•pÿÿÿ‰Q‹•lÿÿÿ‰Q …hÿÿÿ‹hÿÿÿ‰Y‹ƒÆ1E„‹E ‹U„‰‹1M€ƒÆ‹]€‰X‹ƒÆ1•|ÿÿÿ‹|ÿÿÿ‰H‹ƒÆ1xÿÿÿ‹•xÿÿÿ‰P ‹ƒÆ1tÿÿÿ‹M ‹tÿÿÿ‰X‹ƒÆ1…pÿÿÿ‹•pÿÿÿ‰Q‹1lÿÿÿ‹…lÿÿÿ‰A‹V1•hÿÿÿ‹hÿÿÿ‰YÄœ[^_]ËM ‹] ‹E ‹U ‹ ‹[‹@‹R ‰M„‹M ‰]€‹] ‹I‰…|ÿÿÿ‹E ‰•xÿÿÿ‹U ‰tÿÿÿ‹[‹@‹R‰pÿÿÿ‰…lÿÿÿ‰•hÿÿÿé&ûÿÿU‰åWVSƒì\‹EÇEÔ‹Uà‰EЋ‚ìHƒøŽM‹M ‹] ‹E ‹U ‹ ‹[‹@‹z ‰MÀ‰]¼‰E¸f‹MЋEÀ‹] ‹ƒÁ1Љ‹1ƒÁ‰EÀ‹E¼1ð‰C‹ƒÁ‰E¼‹E¸1ЉC‹UÀ‹1‰E¸ƒÁÁê‰MЉø1ð‰C ‹ •ІD‰Ç‹U¸Áè%ÿ‹4…ЂD¶Æ‹…Ð~D1΋EÀ¶M¼1Ö‹U¼Áè%ÿÁê‰MÌ‹…ЂD‹•ІD‰ú1öƋ …Ð~D¶E¸1Ë‹…ÐzD‹E¼1Ó‹U¸Áè%ÿÁê‹ …ЂD‹•ІD‹UÀ1Á¶Æ‹…Ð~D‰ø%ÿÁï1Ñ‹…ÐzDÁm¸¶E¸1Ñ‹½Ð†D‰M¸‹…ЂD1ЋU¼‰]¼¶Ö‹<•Ð~D‰U´1ø¶UÀÿEÔ‹<•ÐzD1ø‹}Ì‹½ÐzD‰Ç1ò‹u ‰UÀ‰‹U‰^‰N‰F ‹‚ìH;EÔ•þÿÿ‹MЋEÀ‹] ‹ƒÁ1Љ‹1ƒÁ‰EÀ‹E¼1ð‰C‹ƒÁ‰E¼‹E¸1ЉC‰E¸‰ø‹9‹U¸ƒÁ‰MÐ1ø‰Ç‰C ‹EÀÁ趘ЋD‰øÁè%ÿÁ㶀ЋDÁà öƉú¶€Ð‹DÁà öE¼¶€Ð‹D‰EÈ‹E¼Á趈ЋD‹EÀÁè%ÿÁᶀЋDÁà Á¶Æ¶€Ð‹DÁà Á¶E¸¶€Ð‹D‰EÄ‹E¸Áè¶Ð‹D‹E¼Áè%ÿÁⶀЋDÁà ‹EÀ¶ô¶†Ð‹DÁà ‰ø%ÿÁﶀЋD‰E¤‹uÈÁm¸¶¿Ð‹D ó‹u ¶E¸Áç MÄ U¤¶€Ð‹D‰‰N‰VÁà ljU¸‹E¼‰M¼¶Ä‰E°¶€Ð‹DÁà ǶEÀ‰]À¶€Ð‹D Ç‹EЉ~ ƒEЋ‹UЃEÐ1É‹1щN‹MЋ 1M¸‹]¸‹E ‰^‹uЋN1ωx ƒÄ\[^_]ËM ‹] ‹E ‹U ‹ ‹[‹@‹z ‰MÀ‰]¼‰E¸éþÿÿU‰åWVS쌋UÇEÄ‹}‹‚ìÇàHƒøŽ1‹M ‹] ‹E ‹ ‹[‹U ‰M„‹M ‹@‰]˜‹] ‹R ‰E”‹I‹[‰U‰MŒ‰]ˆ¶¿‹ƒÇ‹E„‹u 1؉‹ƒÇ‰E„‹E˜1ȉF‹ƒÇ‰E˜‹E”1ЉF‹ƒÇ‰E”‹E1؉F ‹ƒÇ‰E‹EŒ1ȉF‹ƒÇ‰EŒ‹Eˆ‹]Œ1ЋU„‰F‰EˆÁèÁê%ÿ‹ •ІD‹…ЂD1ȉ…tÿÿÿ¶Ç‹4…Ð~D¶E1µtÿÿÿ‰EÀ‹E„‹U˜‹]ˆÁèÁê%ÿ‹ •ІD‹…ЂD1ȉE¼¶Ç‹4…Ð~D¶EŒ‹]„1u¼‹…ÐzD‹E˜1U¼‹U”Áè%ÿÁê‹…ЂD‹ •ІD1È‹M˜‰E¸¶Ç‹4…Ð~D¶Eˆ1u¸‹…ÐzD‹E”1U¸‹UÁêÁè‹4•ІD%ÿ‹…ЂD¶Å‹ …Ð~D¶E„1ó1Ë‹…ÐzD‹E1Ó‹UŒÁè%ÿ‹ …ЂDÁê‹•ІD‹U”1Á¶Æ‹4…Ð~D¶E˜1ñ‹…ÐzDÁmˆ‹uˆ1ÑÁmŒÿEĶEŒ‰MŒ‹…ЂD‹µÐ†D1‹E‰]¶Ä‹4…Ð~D‰…pÿÿÿ¶E”1ò‹4…ÐzD‹…tÿÿÿ1ò‹uÀ‰Uˆ3µÐzD‹u ‰E„‰‹E¼‰F‹u¸‰E˜‰ð‰u”‹u ‰V‹U‰F‰^ ‰N‹‚ìH;EÄÊýÿÿ‹ƒÇ‹E„‹u 1؉‹ƒÇ‰E„‹E˜1ȉF‹ƒÇ‰E˜‹E”1ЉF‹ƒÇ‰E”‹E1؉F ‹ƒÇ‰E‹EŒ1ȉF‹ƒÇ‰EŒ‹Eˆ1ЉEˆ‹UŒ‰F‹E„Á趀ЋDÁà‰E´‹EˆÁè%ÿ¶€Ð‹DÁà E´¶Æ¶€Ð‹DÁà E´‹Mˆ¶E¶€Ð‹D‰E°‹E˜Á趀ЋDÁà‰E¬‹E„Áè%ÿ¶€Ð‹DÁà E¬¶Å¶€Ð‹DÁà E¬¶Â‹U„¶€Ð‹D‰E¨‹E”Á趘ЋD‹E˜ÁèÁã%ÿ¶€Ð‹DÁà öƋU˜¶€Ð‹DÁà öÁ¶€Ð‹D‰E¤‹EÁ趈ЋD‹E”Áè%ÿÁᶀЋDÁà Á¶Æ¶€Ð‹DÁà Á¶E„¶€Ð‹D‰E ‹EŒÁmˆÁmŒÁè¶Ð‹D‹EÁè%ÿÁⶀЋDÁà ‹E”¶Ä¶€Ð‹DÁà ¶E˜¶€Ð‹D‰Eœ‹Eˆ¶€Ð‹DÁà‰Eˆ¶EŒ¶€Ð‹DÁà Eˆ‹E¶Ä¶€Ð‹DÁà Eˆ¶E”¶€Ð‹D‰…pÿÿÿ‹E´ E°‰E„‰‹E¬ E¨‰E˜‰F‹E¤ É^‰]”‹]  Ù‰N ‰M‹Mœ ʉV‰UŒ‹•pÿÿÿ Uˆ‹Mˆ‰N‹ƒÇ1]„‹E„‰‹ƒÇ1U˜‹M˜‰N‹ƒÇ1]”‹E”‰F‹ƒÇ1U‹M‰N ‹1]Œ‹EŒ‰F‹W1Uˆ‹Mˆ‰NÄŒ[^_]ËM ‹] ‹E ‹ ‹[‹U ‰M„‹M ‹@‰]˜‹] ‹R ‰E”‹I‹[‰U‰MŒ‰]ˆé ýÿÿ¶U‰åWVS쬋UÇEÄ‹}‹‚ìÇàHƒøŽ“‹M ‹] ‹E ‹U ‹ ‹[‹@‹R ‰xÿÿÿ‹M ‰tÿÿÿ‹] ‹I‰…pÿÿÿ‹E ‰•lÿÿÿ‹U ‰hÿÿÿ‹[‹@‹R‰dÿÿÿ‰…`ÿÿÿ‰•\ÿÿÿf‹ƒÇ‹…xÿÿÿ1È‹M ‰…xÿÿÿ‰‹ƒÇ‹…tÿÿÿ1ЉA‹7ƒÇ‰…tÿÿÿ‹…pÿÿÿ1ð‰A‹ƒÇ‰…pÿÿÿ‹…lÿÿÿ1؉A ‹ƒÇ‰…lÿÿÿ‹…hÿÿÿ1ЉA‹7ƒÇ‰…hÿÿÿ‹…dÿÿÿ1ð‰A‹ƒÇ‰…dÿÿÿ‹…`ÿÿÿ1؉A‹ƒÇ‰…`ÿÿÿ‹…\ÿÿÿ1ЉA‹•xÿÿÿ‰…\ÿÿÿÁèÁê%ÿ‹•ІD‹…ЂD1؉EÀ‹•dÿÿÿ¶hÿÿÿ¶Æ‹•tÿÿÿ‰]¼‹ …Ð~D‹…xÿÿÿ1MÀÁê‹4•ІD‹•`ÿÿÿÁè%ÿ‹ …ЂD¶Æ‹…Ð~D¶…dÿÿÿ1ñ1Ù‹…ÐzD‹…tÿÿÿ1Ñ‹•pÿÿÿÁè%ÿ‹…ЂDÁê‹•ІD‹•\ÿÿÿ1öƋ4…Ð~D1ó¶…`ÿÿÿ‹…ÐzD‹…pÿÿÿ1Ó‹•lÿÿÿÁè%ÿ‹4…ЂDÁê‹•ІD‹•xÿÿÿ1ƶƋ…Ð~D¶…\ÿÿÿ1Ö‹…ÐzD‹…lÿÿÿ1ÖÁè‹•hÿÿÿ%ÿ‹…ЂDÁê‰E¸‹•ІD‹•tÿÿÿ1E¸¶Æ‹…Ð~D¶…xÿÿÿ1U¸‹…ÐzD‹…hÿÿÿ1U¸‹•dÿÿÿÁèÁ­dÿÿÿ%ÿ‹…ЂDÁê‰E´‹•ІD‹•pÿÿÿ1E´¶Æ‹…Ð~D¶…tÿÿÿ1U´‹…ÐzD¶…dÿÿÿ1U´‹•`ÿÿÿ‹…ЂDÁê‰E°‹•ІD1E°‹•lÿÿÿÁ­`ÿÿÿÁ­\ÿÿÿ¶Æ‹…Ð~D¶…pÿÿÿ1U°‹…ÐzD1U°‹•\ÿÿÿ¶…`ÿÿÿ‹•ІD‹…ЂD1Љ…Tÿÿÿ‹…hÿÿÿ¶Ä‰…Pÿÿÿ‹…Ð~D¶…lÿÿÿ1•Tÿÿÿ‹…ÐzD‹EÀ1•Tÿÿÿ‹U¼3•ÐzD‹U ‰…xÿÿÿ‰‰tÿÿÿ‹E´‰Z‰pÿÿÿ‹]¸‰J‹M ‰Z‰B‰r ‹U°‰hÿÿÿ‹Tÿÿÿ‰Q‰•`ÿÿÿ‹U‰Y‰…dÿÿÿ‹‚ìÿEĉµlÿÿÿH;Eĉ\ÿÿÿeüÿÿ‹7ƒÇ‹…xÿÿÿ‹M 1ð‰‹ƒÇ‰…xÿÿÿ‹…tÿÿÿ1؉A‹ƒÇ‰…tÿÿÿ‹…pÿÿÿ1ЉA‹7ƒÇ‰…pÿÿÿ‹…lÿÿÿ1ð‰A ‹ƒÇ‰…lÿÿÿ‹…hÿÿÿ1؉A‹ƒÇ‰…hÿÿÿ‹…dÿÿÿ1ЉA‹7ƒÇ‰…dÿÿÿ‹…`ÿÿÿ1ð‰A‹ƒÇ‰…`ÿÿÿ‹…\ÿÿÿ1؉…\ÿÿÿ‰A‹…xÿÿÿÁ趀ЋDÁà‰E¬‹…\ÿÿÿ‹dÿÿÿ‹•`ÿÿÿÁè‹\ÿÿÿ%ÿ¶€Ð‹DÁà E¬¶Ç¶€Ð‹DÁà E¬¶…hÿÿÿ¶€Ð‹D‰E¨‹…tÿÿÿÁ趀ЋDÁà‰E¤‹…xÿÿÿÁè%ÿ¶€Ð‹DÁà E¤¶Æ¶€Ð‹DÁà E¤¶Ã¶€Ð‹D‰E ‹…pÿÿÿÁ趀ЋDÁà‰Eœ‹…tÿÿÿÁè%ÿ¶€Ð‹DÁà Eœ¶Å¶€Ð‹DÁà Eœ¶Â‹xÿÿÿ¶€Ð‹D‹•tÿÿÿ‰E˜‹…lÿÿÿÁ趀ЋDÁà‰E”‹…pÿÿÿÁè%ÿ¶€Ð‹DÁà E”¶Ç¶€Ð‹DÁà E”¶Á¶€Ð‹D‰E‹…hÿÿÿÁ趀ЋDÁà‰EŒ‹…lÿÿÿÁè%ÿ¶€Ð‹DÁà EŒ¶Æ¶€Ð‹DÁà EŒ¶Ã¶€Ð‹D‰Eˆ‹…dÿÿÿÁ趀ЋDÁà‰E„‹…hÿÿÿÁè%ÿ¶€Ð‹DÁà E„‹pÿÿÿ‹lÿÿÿÁ­dÿÿÿ¶Å¶€Ð‹DÁ­\ÿÿÿÁà E„¶Â¶€Ð‹D‰E€‹…`ÿÿÿÁ­`ÿÿÿÁè¶Ð‹D¶…dÿÿÿÁⶀЋDÁà ¶Ƕ€Ð‹DÁà ¶Á‹hÿÿÿ¶€Ð‹D‰…|ÿÿÿ‹…\ÿÿÿ¶€Ð‹DÁà‰…\ÿÿÿ¶…`ÿÿÿ¶€Ð‹DÁà …\ÿÿÿ¶Å‹M¨¶€Ð‹DÁà …\ÿÿÿ¶Ã‹]¬¶€Ð‹D ˉxÿÿÿ‹M ‹u  …\ÿÿÿ‰‹]¤‹…\ÿÿÿ ó‹u‰Y‹Mœ‰tÿÿÿ‹]˜ Ù‰pÿÿÿ‹] ‰K‹M” ñ‰K ‹]Œ‹u€‰lÿÿÿ‹Mˆ ˉhÿÿÿ‹M ‰Y‹]„‰A ó‹µ|ÿÿÿ‰Y‰dÿÿÿ ò‰Q‰•`ÿÿÿ‹ƒÇ1•xÿÿÿ‹xÿÿÿ‰‹1…tÿÿÿƒÇ‹E ‹•tÿÿÿ‰Q‹ƒÇ1pÿÿÿ‹pÿÿÿ‰X‹ƒÇ1•lÿÿÿ‹lÿÿÿ‰H ‹ƒÇ1hÿÿÿ‹•hÿÿÿ‰P‹ƒÇ1dÿÿÿ‹M ‹dÿÿÿ‰X‹1…`ÿÿÿ‹•`ÿÿÿ‰Q‹_1\ÿÿÿ‹…\ÿÿÿ‰AĬ[^_]ËM ‹] ‹E ‹U ‹ ‹[‹@‹R ‰xÿÿÿ‹M ‰tÿÿÿ‹] ‹I‰…pÿÿÿ‹E ‰•lÿÿÿ‹U ‰hÿÿÿ‹[‹@‹R‰dÿÿÿ‰…`ÿÿÿ‰•\ÿÿÿéûÿÿv¼'U‰Ñ‰åWVSƒì<ƒú‰Eð•À1Òƒù‹] •Â…Ðt ƒù …aƒû•À1Òƒû•Â…Ðt ƒû …(…ۉ؈ډljÊÁÿ…ɈËEðÁú9ú‰Uä‰è‰ÐŒ ƒÀƒ}ä‹Uð‰Eà‰‚ì„ ƒ}ä„—ƒ}ä„«ÇEè‹Eà‹]äÇEì@¯ÃƒøŽá‰EÜë@‹M‹Eì‹]ì¶¶DÁâÁà ¶D™Áà ¶D™ÿEì ‹Eð‰˜‹Eì9EÜŽœ9}ì|»‹Uì‹Mð‰Ð‹t‘ü™÷ÿ…Ò…’‰ð‰ñÁè%ÿ¶Õ‹M趀ЊD‰óãÿ¶’ЊDÁЊD1ÈÁà ÐÁà¶“ЊD ÐÁà Æ‹EèƒàÀ€}èyƒð‰Eè‹Eì‹Mð)ø‹1Þ‹]ìÿEì‰4™‹Eì9EÜdÿÿÿƒ}àÇEìŒÃÇEÌ1ÿƒ}䎛‹Eà‹Mì‹Uä)ȯ‹Uð4‚‹Eì‹…Àta‹Mì9MàtY‰Ø‰ÚÁèÁê%ÿ¶Ï¶’ЊD¶€ÐŠD‰Mжˋ…ЂD‹•ІD‹UÐ1ö‚ЊD‹…Ð~D¶ÐŠD1Ó‹…ÐzD1Ó‹M̃Æ‹UðG9}䉜‚àyÿÿÿÿEì‹MäMÌ‹]ì9]àDÿÿÿƒÄ<[^_]Éø‹UðƒÀƒ}ä‰Eà‰‚ì…óýÿÿ¸PõA‰‚À¸PB‰‚Äéìýÿÿƒú”À1ÒƒÿŸÂ…Є¶þÿÿ‰ò‰ðÁê‰óÁèæÿ‰uÔ%ÿ¶²ÐŠD¶ß¶€ÐŠD‹UÔ‰]ØÁæ Æ¶ƒÐŠDÁæ Æ¶‚ЊDÁæ ÆécþÿÿƒÂé5ýÿÿƒÀéýÿÿ‹Mð¸àïA‰À¸°B‰ÄéUýÿÿ‹]ð¸`ìA¾þA‰ƒÀ‰³Äé7ýÿÿÇ$0Dº§¸]D‰T$‰D$è›õÇ$lD»¦¹]D‰\$‰L$è}õt&U‰åƒì‰T$‰$ÿÀÉÃt&¼'U‰åWV‰ÖSƒì<ö‰Åù‹E…ö‹¸È‰}Ø‹ˆÌ‰M܋ЉUà‹€Ô‰EÔ‰E䎡}Øt&1É´&¼'¶D‹¶‹ÁàÁâ ¶D‹Áà ¶D‹ Â1TØAƒù~Ô‹E‰úèJÿÿÿ1É´&‹D؉ÂÁèˆD‹Áê‹D؈‹ÁèˆD‹‹D؈D‹Aƒù~ÔƒîƒÃ…övÿÿÿ‹Eä‹}Ø‹M܉EÔ‹Uà‹E‰¸È‰ˆÌ‰Ð‹UÔ‰ÔƒÄ<[^_]ÃÇ$ŸD¿ ¾]D‰|$‰t$è+ôvU‰åWV‰ÖSƒì\ö‰Ë}…‹‡È…ö‰E´‰E؋̉MÜ‹—ЉUà‹‡Ô‰EäŽÉ´&1É´&¼'¶‹¶D‹ÁâÁà ¶D‹Áà ¶D‹ ‰T¸‰TÈAƒù~Љ<$EȉD$ÿ—Ä1É´&¼'‹TØ‹DÈ1ЉÂÁêÁ舋ˆD‹‹TØ‹DÈ1ÐÁèˆD‹‹DÈ2D؈D‹‹D¸‰DØAƒù~¼ƒîƒÃ…öNÿÿÿ‹]Ø‹MÜ‹Uà‰]´‹Eä‹]´‰Ì‰—ЉŸÈ‰‡ÔƒÄ\[^_]ÃÇ$ŸD»¹]D‰\$‰L$èÖò´&¼'U¸ð‰åƒì‰D$Ç$èÕ,þÿÉÃvU‰å]é‡1þÿ´&U‰å‹U ÇE ‹E‰Uº]éRùÿÿfU‰å‹U ÇE ‹E‰Uº]é2ùÿÿfU‰å‹U ÇE ‹E‰Uº]éùÿÿfU1ɉåV‹uS‹] v¶‹¶D‹ÁâÁà ¶D‹Áà ¶D‹ ‰”ŽÈAƒù~Ñ[^]ö¼'U‰å‹E ‹U]éüÿÿU‰å‹E ‹U]é¡ýÿÿU‰åWVSƒìL‹U‹E ö‰EĉUÀ…‹M‹™È‰Î‰]Ø‹‰Ì‰MÜ‹–ЉUà‹†Ô‹uÀ‰Eä…öŽº´&¼'‰EÔ‹E1ÿ‰UÐUȉ]ȉMÌè×ûÿÿ‹uÄt&¶‹\½ÈG¶FÁáÁà Á¶FÁà Á¶F Á‰Ø1ȉÂÁꈉÂÁèˆFˆØÁêˆV0ȈFƒÆƒÿ~µ¿‹D½Ø@…À‰D½ØuOyðƒmÀƒEÄ‹EÀ…À~‹]Ø‹MÜ‹Uà‹Eäé`ÿÿÿ‹]Ø‹MÜ‹Uà‹Eä‹u‰žÈ‰ŽÌ‰–Љ†ÔƒÄL[^_]ÃÇ$ŸD¸7¿]D‰D$‰|$è{ðvU¸ ‰åWº}ÐSìüÿÿ‰D$‹E‰$‰Øè!÷ÿÿü1À¹ó«‰$‹U‹E èÙúÿÿ‰$¸ð‰D$1À‰D$èºïÄ[_]ô&Uº ‰åW}ÐSìüÿÿ‰T$‹Eº‰$‰Øè±öÿÿü1À¹ó«‰$‹U‹E è™ûÿÿ‰$¸ð‰D$1À‰D$èJïÄ[_]ÃU‰åW1ÿVSƒì‹E‹U‹u¶ƒÆˆEó¶RˆUòë-þEó¶Mó¶Uò¶]ò¶ˆˆ¶Â‹U ¶0G;}|ζEó‹Uˆ¶EòˆBX[^_]ÃfU‰åW‰×VSìX‹uþwuÆ@1ÉÆt&¼'ˆ ‰È1Ò÷ö¶ˆ„)èþÿÿAùÿvã1ö1Éë ¶¶Âð„)èþÿÿ¶ð¶ˆAùÿˆvÚÄ[^_]ÃÇ$|žD¹&ºŒžD‰L$‰T$èyîU¸‰åƒì‰D$Ç$è…(þÿÉÃvU‰å]é7-þÿ´&Uº‰åƒì‰T$‰]ø‰uü‰ÆÇ$èM(þÿ‰Ã¸‰D$1À‰$‰D$è¬í‰\$¸‰D$‰4$è_þÿÿ‰$¸‰D$1À‰D$è€í‰$èÀ,þÿ‹]ø‹uü‰ì]öU‰åSƒì‹]‹U Ç$‰Øè…þÿÿY‰Ø[]é[ÿÿÿt&¼'U‰åSƒì‹]‹U Ç$ ‰ØèUþÿÿ‰Ø[[]é+ÿÿÿt&¼'U‰å]ÃU‰åW‰ÇVSƒì‰Ó‹E ‹U ‹M ÂÁ‰Eð‹E ‰Uì‹U  ‰Eè‹‚‹Uð1ljø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A ‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A ‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A$‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A(1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A,‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A0‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A4‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A81ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A<‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹U ‰Eä‹Eà<‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹AD‹Q@1Æ‹E1ß1׉0‰xƒÄ[^_]ô&U‰åW‰ÇVSƒì‰Ó‹E ‹M ‹U Á‰Eð‹E ‰Uì ‰Eè‹AD1ljú‰øÁê‰Uà‹UðÁè%ÿ‰þ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A@‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A<1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A8‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A4‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A0‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A,1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A(‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A$‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A ‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A 1ß1ljó‰øÁè‰þ‰Eà‹Uð‰øÁè%ÿ‹<‚‹Eà‹U <‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹A‹Uð1ß1Ç‰ó‰ø‰þÁè‰Eà‰øÁè%ÿ‹<‚‹U ‰Eä‹Eà<‚‰ò¶Æ‹Uì3<‚‹Uè‰ð%ÿ<‚‹E ‹1ß‹Y1Ö‹U1߉2‰zƒÄ[^_]ô&U‰åW‰ÇV1öSƒìD¿E‰Uä—‰UÜ—‰Eà‡ ‰M؉EÔ‰Uе‹µ°¯D™‰EÌ÷}à‹MЋE䉱¶ ‹EÌ‹UÐÁá@1Ù‰ ²™÷}à‹Eä¶‹EÌ‹UÐÁãƒÀ1ˉ²™‹Mä÷}à‹EжÁâ1Ú‰U¼‰°‹Ũ‰Й÷}à¶1U¼‹UЋM¼‰ ²FƒþŽtÿÿÿ1ö´&‹µ°«D‹UÜ‹M؉·‹µ°§D‰²‹µ°£D‹UÔ‰±‹µ°ŸD‰²Fþÿ~ÆÇEì]è1öÇEè‹S‰|$‹Eè‰$è‘õÿÿ‹Eè‹MЉ±‹C‰D±ƒÆƒþ~Ö1ö´&‹S‰|$‹Eè‰$è^õÿÿ‹E艷‹C‰D·ƒÆþÿ~Ö1öt&‹S‰|$‹Eè‰$è.õÿÿ‹Eè‹U܉²‹C‰D²ƒÆþÿ~Ó1ö‹S‰|$‹Eè‰$èþôÿÿ‹Eè‹M؉±‹C‰D±ƒÆþÿ~Ó1ö‹S‰|$‹Eè‰$èÎôÿÿ‹Eè‹UÔ‰²‹C‰D²ƒÆþÿ~ÓƒÄD[^_]Ãt&¼'UºP‰åƒì‰T$Ç$èþÿÉÃvU¹P‰åƒì‰L$Ç$èåþÿÉÃvU‰å]é— þÿ´&U‰å‹EÇE‹U ]ézýÿÿv¼'U‰å‹EÇE ‹U ]éZýÿÿv¼'U‰å‹M S‹]¶¶AÁâÁà ¶AÁà ¶A ‰“H¶Q¶AÁâÁà ¶AÁà ¶A ‰“L[]Ãv¼'U‰åSƒì‹]Ç$ ‹U ‰ØèÕüÿÿ1À1ɺP‰ƒHƒP‰‹L‰\$‰T$‰$èzàƒÄ[]Ãt&U‰åWVSƒì,‹E‹] ¨‰Eä…ë‹E‹¸H‹°L‹Eä…ÀŽºEè‰Eà¶¶C¶ ¶SÁà Á¶CÁà Á¶CÁà Á¶C1ÏÁà ¶CÁà ¶CÁà ‹E1Ö‰ò‰D$‹Eà‰$‰øèÉòÿÿ‹}èEè‹uì‰Eà‰øˆ‰øÁèˆC‰øÁèˆC‰øÁèˆC‰ðˆC‰ðÁèˆC‰ðÁèˆC‰ðÁèˆCƒÃƒmä‹Eä…ÀRÿÿÿ‹E‰¸H‰°LƒÄ,[^_]ÃÇ$ø¯D¸‰D$¸°D‰D$è•ß¶¼'U‰åWVSƒì,‹E‹U‹} ‰EäÂP¨‰Uà…ý‹Eà‹Mä‹L…É‹˜H‰UØŽÆUèv¼'¶‰EܶGÁà EܶGÁà EܶGÁà EܶG¶wÁà Æ¶GÁà Æ¶G‰$Áà Æ‹Eà‰ò‰D$‹EÜè)öÿÿ‹Uè‹Eì1EØ1ÓUèˆÁëˆ_Áëˆ_Áëˆ_¶E؈GÁmضE؈GÁmضE؈GÁmضE؈GƒÇƒmä‹]܉uØ‹Eä…ÀGÿÿÿ‹Uà‹E؉šH‰‚LƒÄ,[^_]ÃÇ$ø¯D¾9»°D‰t$‰\$èGÞë U‰åWVSƒì,‹E‹] ¨‰Eä…ë‹E‹¸H‹°L‹Eä…ÀŽºEè‰Eà¶¶ ¶C¶SÁáÁà Á¶CÁâÁà Á¶C Á1϶CÁà ¶CÁà ¶C ‹E1Ö‰ò‰D$‹Eà‰$‰øèIðÿÿ‹}èEè‹uì‰Eà‰øÁ舉øÁèˆC‰øÁèˆC‰øˆC‰ðÁèˆC‰ðÁèˆC‰ðÁèˆC‰ðˆCƒÃƒmä‹Eä…ÀRÿÿÿ‹E‰¸H‰°LƒÄ,[^_]ÃÇ$ø¯D¸U‰D$¸°D‰D$èݶ¼'U‰åWVSƒì,‹E‹} ¨‰Eä…ý‹E‹U‹€L‹’H‰EÜ‹Eä‰Uà…À޽Uè¶7¶G¶_ÁæÁà Æ¶GÁãÁà Æ¶G ƶGÁà öGÁà öG‰$ ËE‰Ú‰D$‰ðèÀóÿÿ‹Uè‹Eì1UàUè1EÜ‹EàÁ舋EàÁèˆG‹EàÁèˆG¶EàˆG‹EÜÁèˆG‹EÜÁèˆG‹EÜÁèˆG¶E܈GƒÇƒmä‰uà‰]Ü‹Eä…ÀFÿÿÿ‹Uà‹E‰H‹U܉LƒÄ,[^_]ÃÇ$ø¯D¹qº°D‰L$‰T$èÓÛt&¼'U‰åWVSƒì,‹E‹u ¨‰Eä…û‹E‹U‹¸L‹Eä‹’H…À‰UàŽÁUè‰UÜ‹E‹U܉D$‹Eà‰$‰úGèîÿÿ¶‹Mè¶FÁãÁà öFÁà öF ÉÈ1؉ÂÁꈉÂÁèˆFˆÈ0؈F¶^Áê¶FˆVÁã‹MìÁà öFÁà öF ÃEè‰E܉È1؉ÂÁêˆV‰ÂÁèˆFˆÈ0؈FÁêƒÿˆVƒUàƒÆƒmä‹]ä…ÛEÿÿÿ‹U‹Eà‰ºL‰‚HƒÄ,[^_]ÃÇ$ø¯D¸‰D$¸°D‰D$è•ÚU‰åWSƒì‰Ã¸‰D$C‰$è’þÿ…À‰ÂtA ‰ÇAƒøvöÂtÇz‰Èt&¼'ü‰ÁÁé1À󫉃ĉÐ[_]Ãè®Ú¶U‰å‹U‹ƒøv#‹ ‚…ÉuHt&¼'‰ƒøv H‹L‚…Étð]ô&¼'U‰åƒì‰uø‹u‰]ô»‰}ü‰\$‹@‰$èÚþÿ…Àt;‹‰ÇSƒúv¨t‰xƒÆ‰Út&ü‰ÑÁéó¥‹]ô‹uø‹}ü‰ì]ÃèþÙ¶U‰åƒì‰|$‰$‹]‹‰ßÁàPƒúvöÃt Ç{‰Âü‰ÑÁé1Àó«‰]‹$‹|$‰ì]éþÿt&U‰åSƒì‹]‹M ‹Áà9È~?…ɉÈx4ÁøPÁà)Á¸Óà‹M…Ét “X[]Ãt&÷Ð!“X[]ô&AëÇèNÙ¶U‰åƒì‰uü‹u‰]ø…ö‰ðx,Áø@èþÿÿ‰t$‰Ã¸‰D$‰$èkÿÿÿ‰Ø‹uü‹]ø‰ì]ÃFëÏv¼'U‰åWVSƒì$‰Uè‹U ‰EìÇEÔƒøë‹MÔ‹]Ç‹A9ȉMÔëJ…Ò‰Uà‰Uäxië ‹}à1Û1ö‰}Ô…ÿë;f‹EÔ‹Uè‹Mä‹}ì‹‚÷$‹MÔ‹}ËEäÖ‹UÁ‹DŠ1ÒÃÖ‰\‰ó1öÿMÔyÅ‹Eä‹U‰‚H‰Eäy¦ƒÄ$[^_]ô&¼'U‰åWVSƒìD‹M ‰Eì‹EƒùÇE䋉Eè~ ‹u‹v‰uäÇE܉Ð)Ȉ ‰EÌJÁà‰UÈ‹UI‰MÄЉEÀ¶¼'ÇEà‹EÜ…Àt‹Uì‹EÜ‹MÜ‹D‚ü‰Eà1À‰DŠü‹uÜ1ÿ9uÈt‹Eì‹|°ÇEØÿÿÿÿ‹Uè9UàsL‰}ЋMÜ‹uìÇEÔ‹މ֋Uà‰Ø÷ö‰EØ‹Eä‰Ñ÷e؉Ã1ÀEЉ։ÊUÔ9òw‚9Ø‚út&ÇE¼‹}Ä…ÿë3f‹M‹EØ÷$¹‹Mì‰Ã‹E¼‰Ö1ÒËEÜÖ‰u¼‹‘9؃U¼)ØO‰‘yÍ‹uà9u¼t9‹}Ä1Û1ö…ÿë)‹M1Ò‹¹ËEÜÖ‹Uì ‹Š1ÒÃÖ‹E쉈‰ó1öOyÕÿMØ‹E…ÀtO‹EÀ…Àˆ‹MÀÁø1ö‹]ØxÁà)Á¥ÞÓãöÁ …„‰ò Úëv‹M1Ò‹¹ÃÖ‰¹‰ó1ö‰ðG ØuæÿE܃mÀ ‹UÜ9ŨþÿÿƒÄD[^_]ÃÿMØ1Ò‹Eä)ËEèÖÁ;Mè‚ñþÿÿ1À‰ÊEÐUÔ9ò‡ßþÿÿr9؃ÕþÿÿÿMØéÍþÿÿƒÀé[ÿÿÿ‰Þ1Ûésÿÿÿ¶¿Uº‰åWVSƒì<‹]‹‰T$‰Eà‰$ènþÿ‰Eì1Òë´&‹‹Mì)Ћƒ‰‘B;Uà|í‹]ì1ö‹ë t&Fƒþ ‰Ð‰ñÓà…Àyð…ötNÇEЋ]àK‰]̃û~/» )óf‹}Љñ‹E싸‹D¸ÓâˆÙÓè ‹E쉸G9}̉}ÐÚ‹]à‰ñ‹}ìÓdŸü‹U‹M ‹‹ 9Á‰Mäs‰Eä‹]三D$‰$è¶þÿ‰Eð‹}1Ò‹)Ã9Ú‰]Ð}v‹EðÇB;UÐ|ð‹U‹1Òƒø~(‹]Ћ}ð Ÿt&¼'‹])ÐB‹ƒ‰‹ƒÁ9Ðì‹}三D$‰<$èHþÿ‰Eè‹U ‹1Ò)Ç9ú‰}Ð}t&‹MèÇ‘B;UÐ|ð‹] ‹1Òƒø~(‹}Ћ]è »t&¼'‹} )ÐB‹‡‰‹ƒÁ9Ðì‹]三D$Û‰$èÖ þÿ‰Ç‹Eä‹Uè‰<$‰D$‹Eðè/ûÿÿ1É‹Uà1À‰L$‹Mì‰D$ ‰ø‰T$‰Ú‰ $èÍûÿÿ…ö„¹‹Uà‰Ø)ÐH‰EÐCÿ;EÐ~6ÇEØ ‰Ã)uض‹EЉñ‹‡‹D‡Óâ¶MØÓè ‹EЉ‡@9ÉEÐÜ‹]ä‰ñ1À‹UìÓdßüÛ‰D$ 1À‰D$‹Eà‰$‰Ú‰D$‰øèOûÿÿKÿ‰Ø‹]à‰MÐ)Ø9È2ÇEÔ ‰Ã)uÔf‹EЉñ‹‡‹D‡üÓê¶MÔÓà ‹EЉ‡H9ÉEÐ~Ü‹uäö;uà~‹uà‰ðèøÿÿÇEÐ9uЉEÜ}3‹Uäµ÷ØÐ8´&‹MÜ‹UÐÿEЋ)ЋƒÃ9uЉ|æ‹]Ü‹ƒøv‹ƒ…ÛuHt&‹U܃ø‰v H‹L‚…ÉtíÇEЋEäÀƒøë‹MÐÇA9ȉMÐî‰<$èòþÿÇEЋ]à9]Ðëv‹}ЋEì‹UàǸG9׉}Ð|è‹Mì‰ $è½þÿÇEЋ]ä9]Ðë‹}ЋEð‹UäǸG9׉}Ð|è‹Mð‰ $è‹þÿÇEЋ]ä9]Ðë‹}ЋEè‹UäǸG9׉}Ð|è‹Mè‰ $èYþÿ‹E܃Ä<[^_]ô&¼'U‰åWVSƒìL‰Ó‰Eð‹ ‹E‹U ‰Mà‰E츉Uè‰ $‰D$èP þÿ‰Eä1Éë‹‹uä)È‹ƒ‰ŽA;Mà|í‹Eä1ÿ‹ëGƒÿ ‰Ð‰ùÓà…Àyð…ÿt`ÇEÌ‹uàN‰uăþ~A» )ûë ‹EÌ‹M䉯‹‰ùÓâ‹Mä‹DˆÙÓè ‹E䉰F9uĉuÌÕ‹uà‰ù‹EäÓd°ü‹Uð‹2;uà‹uàF‰4$¸‰D$èš þÿ‰Ã1Éë t&Ç‹A9ñ|ô‹E𹋅À~T³üf‹Eð‹ˆA‰‹Eðƒê9}í‰|$ ‹Uè‰T$‹Mà‰ò‰L$‹Eä‰$‰Øèløÿÿ…ÿ„¼‹Uà‰ð)ÐHVÿ9‰ẺUÐ~7ÇEÜ )}Üt&‹MÌ‹‹‰ùÓâ‹MÌ‹D‹¶MÜÓè ‹Ẻƒ@9EЉEÌØ1À‰ùÓd³ü‰D$ ‹Eè‰D$‹Uà‰Ø‰T$‹Mä‰ò‰ $èï÷ÿÿ‹Mà‰ò‹EÐ)Ê9‰ẺUÔ3ÇEØ )}Ø‹MÌ‹‹‰ùÓê‹MÌ‹D‹ü¶MØÓà ‹ẺƒH9EÔ‰EÌ~Ø‹}ì…ÿt.ÇEÌ‹Uì‹ …É~‰ð1Ò+EÌx‹ƒ‹MÌ‹E쉈A9‰MÌ}ãÇEÌ‹Uà9UÌët&‹MÌ‹Eä‹UàLjA9щMÌ|è‹Mä‰ $èÍ þÿÇEÌ9uÌë‹EÌǃ@9ð‰EÌ|î‰]ƒÄL[^_]éŸ þÿë U‰åƒì‰]ø‹] ‰uü‹è ôÿÿ‰Æ1À‰Ú‰D$‹E‰4$è%ýÿÿ‰ð‹]ø‹uü‰ì]Éö¼'U‰åWVSƒì<‹U‹‹4‚…ö„i‹M1ö‹E‰L$‰$è“ÿÿÿ‰EÜ‹Eº‹‰T$‰Eà‰$èGþÿ‰Eèëf‹U‹Mè‹)ð‹‚‰±F;uà|êÇEä‹Eè‹ë ÿEäƒ}ä ¶Mä‰ÐÓà…Àyë‹Eä…ÀtO‹uà1ÛNƒþ~6‹Eä¿ )Çt&¼'¶Mä‹E苘‹D˜Óâ‰ùÓè ‹E艘C9Þß¶Mä‹Eà‹UèÓd‚ü‹Mྉt$1ö‰ $è›þÿ‰Eì‹UÜ‹]à‹)Ã9Þ}v¼'‹MìDZF9Þ|ñ‹UÜ‹1öƒø~)‹Mì™ë ‹MÜ)ðF‹‰‹ƒÂ9ðì‹u້\$1Ûö‰4$è$þÿ‰4$¹‰Ç‰L$èþÿ‰Eðƒþ~‰ð´&ÇŸC9Øô‹Eàº1Û‹M ¾‰TÇü‹ƒú~@‹‘…ÀˆÜ‘‰EÐët&9Ú~%‰ñ¸Óà‹MÐ……¸NyåƒmÐC9Ú¾Û‹]ä…Û„˜‹]à‹EàKtÿ9Þ~*ÇEÐ ‹Uä)UжM䋟‹DŸÓâ¶MÐÓè ‰ŸC9Þã¶Mä1Ò‹EàÓdÇü‰ÃÛ‰T$‹Uè1ɉD$‰ø‰$‰ÚK‰L$ èTôÿÿ;]à|+‹Eä¾ )Æt&¶M䋟‹DŸüÓê‰ñÓà ‰ŸK;]à}ä‹U1Û‹è8ñÿÿ;]à‰Æ}#‹Eà ‡t&¼'‹‹ƒÁ)ØC;]à‰†|øv'‹ †…Éu Hë ‰ƒøv H‹T†…Òtð‹Eà1ÛÀƒøët&ÇŸC9Øô‰<$è, þÿ‹Eà1ÛÀƒøë ‹UðÇšC9Øñ‹Mð1Û‰ $è þÿë f‹EèǘC;]à|ð‹Uè1Û‰$èã þÿë ‹MìÇ™C;]à|ð‹Eì‰$èÅ þÿ‹U܉$èjñÿÿƒÄ<‰ð[^_]Ã9ÚŽQþÿÿ‹Eà‹MàÁà‰EØɉMÔ…öyé­‰øN‹}ð‰Eðˆ™‹EØ‹Uà‹Mðø‰T$‰Â‰ $èòÿÿ1À‹Uè1ɉD$ ‹Eà‰$‹UÔ‰D$‹Eð‰L$è²òÿÿ‹M ¸‹‰ñÓà‹M )Ú…‘tœ‰<$‹Uð‹EØЋUà‰T$‹UìèÀñÿÿ1À‹Mà‹UÔ‰D$ 1À‰D$‹Eè‰L$‰$‰øè]òÿÿN‰gÿÿÿ‹M ‹C¾9ÚTÿÿÿéwýÿÿÇ$0°D»'¹A°D‰\$‰L$èÈÉUº‰å‹Mƒ9~0‹A…Àu‰ö¼'Ç‘ÿÿÿÿB9~‹‘…ÀtíH‰‘]ô&‹AH‰‘]Ë‘H‰‘]ô&¼'U‰åWVSƒì ‹E ƒÀˆ€‰Ç»Áÿ‰øèºîÿÿ‰Æë¶ÇžC9û~ô‹] ë ‰× ÝÁÿ…ɶÀ‰Êx:ƒâà)ÑÓà D¾Kƒûÿt9‹U¶B…Û‰U‰ÚyÊS¶À‰× ÝÁÿ…ɉÊyÇQëÁ‹E ƒÀéuÿÿÿ‹ƒøv)‹†…Òu"Pÿë ‰ƒúv J‹|–…ÿtðƒÄ ‰ð[^_]öUºÿÿÿÿ‰åƒì‰}ü‹} ‰]ô‹]ƒÿ‰uø~P1À¹‰ÂÁâ¶CIyñ‰ÂƒÂxD‰ÖÁþºÿÿÿÿF9ø"‹}‰Â…ÿt‰t$‰$è¾þÿÿ‹U‹M‰3)Ê‹]ô‰Ð‹uø‹}ü‰ì]ÃfPë·t&¼'U‰åS‹]‹ÁàPÿë‰Ð‰ÑÁø‹DƒƒáÓè…ÀuJ…Òyç[B]ÃU‰åƒì‹E‰$è¿ÿÿÿ‰ÂƒÂxÉÁúBÃÉPÁúBÃt&U‰åƒì‹E‰$èÿÿÿ‰ÂƒÂxÉÁúBÃÉPÁúBÃt&U1Ò‰åS‹]‹M ‹Áà9È~ …ɉÈx%‰ÂÁú•)Á‹D“ÁáÓè¶Ð[‰Ð]öA‰ÂÁú•)Á‹D“ÁáÓè¶ÐëÖU1Ò‰åS‹]‹M ‹Áà9È~…ɉÈx‰ÂÁú‰Ð‹T“Áà)ÁÓêƒâ[‰Ð]ÃA‰ÂÁú‰Ð‹T“Áà)ÁÓêƒâëáU‰åWVSƒì ‹E ‹}‰$èÙþÿÿ‰Eð‹E ‰$è›þÿÿ‰ÂÁúˆGˆ‹uðGƒîë‰t$‹E ‰ûNG‰$èÿÿÿˆƒþÿuæ‹EðƒÄ [^_]ÃvU‰åWVS‹E‹} ‹‹9؉Æ}‰Ø…Àt$t&1É9Ø‹U‹ ‚1Ò9ð‹‡9Ñr9Ñw Huà[1À^_]Ã[¸^_]Ã[¸ÿÿÿÿ^_]Ãt&U‰åWVSƒì‹E‹] ‰$èéýÿÿ)؉ƒÂˆÁú‰ÐèBëÿÿ…À‰Çtv…ۉ؈~ÇEè Áø‹M‰EðÁà‹Uð)˾)]è‹T‘…À‰]ì‰Uä~éhÿÿÿCézÿÿÿ¶¿U‰åWVSƒì,‹E‹U ‹‹‰Eì9É]è}‰Ã¸‰D$‰$èÿýÿ‰EÜ1É9Ù}=‰Ø´&¼'‹u1Ò;‹†‹}Ü1ö‰‹} ;‹4‡‹}ÜAH9Ù‰4—|Ó‰\$‹E܉Á˜؉$‰Èè*ìÿÿ‹}è‹uìt>‰uä‹}…ÿt ‹}‹9ð|@‰Eä‹EäèáéÿÿÇEà‹0‰Ç¹…ö~'‹UÜ4ÁãDü1Ò9Î|‹‰…Òt‰MàAƒè9}æ‹U‹Eà…ÒtU¹1Û1ö;MäG‰ë‹9È| ‹1ÒÃÖ‹E9| ‹ˆ1ÒÃÖ‰‹‰ó1ö…À•À1Ò;MàŸÂ…Ðt‰MàA;Mä~½‹Mà‹u܉‰4$è§þÿƒÄ,‰ø[^_]ö¼'U1À‰åƒì‰D$‹E ‰D$‹E‰$èbþÿÿÉÃU‰åWVSƒì ‹}‰<$èœéÿÿ‹‰Æë¶I‹…Û”À1Ò…ÉŸÂ…Ðuì…É~$¸ƒûëD9Ãwø‰ŽëÇŽÿÿÿÿI…ÉôƒÄ ‰ð[^_]Ãv¼'U¸‰åƒì‰t$1ö‰$‹]ètèÿÿ‰pƒþÒ‰XƒÂÇ@ ‰‹$‹t$‰ì]ÃfU‰åW1ÿVSƒì1Û‹U‹@è8èÿÿ‰Eì‹1ÉÇEä‹u ÇEè…À~R¶¿1Òñ‹EèÓ‹U9|‰Â‹E‹1ÒÁÓ‹Uè‰þ1ÿ‹Eì‰ ‹‰Ù1Û…Àt‰UäÿEè‹Eì‹Uè9}º‹Eä‹U쉃ĉÐ[^_]ô&U‰åW1ÿV1öSƒì,‹M·E ÇEì‹ ‰Eè…ɉMäެÇ$€‹Eè‹Uì‰D$1À‰T$ ‰D$è彉E؉UÜë ‹EØ÷æ‰Ó‹U؉Á‰Ø¯×ЋUܯ։ދU¤Î‰Ë‹Mä‹EèÛ‹ЉD$1ɉL$‰$‹Uì‰T$ è…½ËMìÖ‹Uè‰t$‰L$ ‰T$‰$èg½ÿM䉯‰×‹Eä…À‰ƒÄ,·Æ[^_]ô&¼'U‰åWVSƒì‹E‹U …À‰Eð‰Uì„á‰D$Ç$]°DèSþÿ‹Eì‰$èùÿÿ‰ÂƒÂˆ³‰×Áÿ…ÿŽœ‹Uì1ö‹…)û9Þ}¶¿Ç$b°DFèþÿ9Þ|ïwÿë?‰óÁëÑû‰\$‹EìÛ‰$è?ùÿÿÇ$d°D‰ñ)ÙÁáNÓøƒà¾€L°D‰D$è»þÿƒþÿu¼‹Uð…ÒtÇEg°DƒÄ[^_]éœþÿƒÄ[^_]ÿéZÿÿÿPéEÿÿÿ¸i°Déÿÿÿ´&U‰åƒì‰]ø‹]‰uü‹èšåÿÿ‰D$‹U ‰ÆÇ$‰Øè³îÿÿ‰ð‹]ø‹uü‰ì]ô&U‰åWVSƒì ‹E‰$è æÿÿ‰Ç‹E ‰$èÿåÿÿ‰Æ¡äD‰D$‰4$èlùÿÿ…Àti´&‹è)åÿÿ‰$1ɉÉL$‰ø‰òèEîÿÿ‹ƒøv‹ƒ…ÒuH¶‰ƒøv H‹Lƒ…Étð‰<$‰÷‰Þèæÿÿ‰4$¡äD‰D$èùÿÿ…ÀuŸ‰4$èçåÿÿƒÄ ‰ø[^_]ö¼'U‰åWVSƒì,‹E ‰$èLåÿÿ‰Eð‹E‰$è>åÿÿ‰Ç¡äD‰$è/åÿÿ‰Eì¡àD‰$èåÿÿ‰EèÇEä¡àD‰D$‰<$è„øÿÿ…À„´¶¿‹è9äÿÿ‹Uð‰Ã‹è-äÿÿ‰D$‰Æ‰ú‰$‹EðèJíÿÿ‹ƒøv#‹ ƒ…ÉuHt&¼'‰ƒøv H‹Tƒ…Òtð‹Mð‰ $èåÿÿ‰}ð‹Eè‰ß‹]ì‰Eì‰D$‰\$‰4$è'ùÿÿ÷]ä‰Eè‰$èÙäÿÿ‰4$èÑäÿÿ‰<$¡àD‰D$èÐ÷ÿÿ…À…Xÿÿÿ‰<$è°äÿÿ‹Uð‰$è¥äÿÿ‹Mì‰ $èšäÿÿ‹Eä…Àx ‹EèƒÄ,[^_]Ë} »‹èYãÿÿÇEà‰Æ‹>1À…ÿëF¶9Ê“À…Ò¶Àt‰]àC9|,‹M 1Ò9|‹™‹}è1É9|‹ Ÿ)Ê)Â…À‰ž÷ÑuÇ9Ê—ÀëÅ‹Eà‹U艉$èäÿÿ‰uè‹EèƒÄ,[^_]ÃfU‰åWVSƒì,‹E‰$è\õÿÿÇEð…À‰Çt&Å»Á ,)ø …\‰È÷ë‰ÈÁøÁú)‰UðÿEðº1ÿ‰T$‹Mð‰ $è0÷ýÿ‰Eä‹U¸‰D$‹‰$è÷ýÿ‰Eà‹M‹ƒøë‹U)ø‹Mà‹‚‰¹‹G9øë‹Eð‹Uä‹MðH‰EìÆD ÿvÇEè‹E1Û1ÿ‹…À~o¶¿‹Mà‰Þ1Û1Ò‹¹ÃÖ¸ ‰D$1À‰$‰D$ ‰t$èEº‹Mà…À‰¹”À¶À‰$÷ØG!Eè¸ ‰D$1À‰D$ ‰t$è6¸‰Ã‹E98ÿMìˆØ‹Uä0‹Mìˆ ‹]è…Û„bÿÿÿ…É~)Mð‰$‹Eð‰D$‰ÐȉD$èD¼‹Uà‰$èÙúýÿ‹EäƒÄ,[^_]ÃU‰å‹MV‹u S‹]ë¶¶ÁÁéF1‹•p°D1ÁKƒûÿuå[‰È^]Ãë U‰åƒì Ç$‹E ‰D$‹E‰D$è ÿÿÿÉÃU¸‰åƒì‰D$Ç$èuõýÿÇÇ@ÉöU‰åSƒì‹]…Ût"‹‰$èúýÿlj]Y[]é÷ùýÿ´&Z[]ö¿U‰åSƒì‰Ã‰T$¸‰D$‹‰$èÿÿÿ‰ƒÄ[]ô&U‰åWVSƒì ‰Ó‰Eì‹} ÇEð…ÿt ü¹‰Æó¦tY‹EØ9؉Eèë ºðDEðƒÃèŒÿÿÿºEEðèÿÿÿ9]èvü‹u칉ßó¦tϺEëÍt&1Àƒ}ð”ÀƒÄ [^_]ÃEðºðDèBÿÿÿºEEðè5ÿÿÿë‹vU‰åWVSƒì,}wöEtÇ$p´D¿r¾µ´D‰|$‰t$èò¹‹E‹@‰Â‰Eà‹EÁè@ÑèëfÁâ9Ðwù‹M‹ …ɉM䄹9Uà‚…ƒ}8‡¿‹M ‹E‰MìÁ‹Eì‰Mè9ÁvZ‹E…Àtü‹u칋}ó¦„-‹] ‹Eì9Ãs(t&¼'ü‹u츉߉Áó¦„ÙƒÃ;]ìrãƒEì‹Mì9Mèw§1ÒƒÄ,‰Ð[^_]ËM‹Eä‰Q¹‰L$‰T$‰$è öýÿ‰Eä‹U‰éPÿÿÿ‹E»‰P‰\$‰$èóýÿëÚ‹U‹Mä‹B‰ $À‰D$¸ÿ‰D$èo¸‹E…Àt8‹E‹M¶¶@ÁâÁà ¶AÁà ¶A‹M ‹AH!‹‰EäfÇPþÿÇEð‹U ‹E‰Uì‹Mì‰Uè9ʆ1ÿÿÿ‹E‹‰Eä‹Uì‹M¶‹I¶BÁãÁà öBÁà öB‹Uä‰Mà ÉÈH!÷Zfƒøÿt4t&fƒøþtLü‹U ·À‹uì¹<Âó¦tlC‹EàH‹Uä!÷ZfƒøÿuЃEì‹Mð‹UäÿEð‹Eì9Eèf‰ Z‡sÿÿÿé—þÿÿü‹u칋}ó¦uº‹E‹M‹U ‰$‹Eì‰L$èæüÿÿ…ÀuP‹M‹ ‰Mä먋E‹M‹U ‰$‹Eì‰L$èÀüÿÿ…Àu*‹E‹‰Eäë‚‹E‹U‰D$‹Eì‰$‹U èšüÿÿ…À„þÿÿºéþÿÿ‹U‹M‹Eì‰T$‹U ‰ $èpüÿÿ…Àº…îýÿÿéçýÿÿU‰åW‰ÇV1öS‰Ó‹UJƒúÿt.t&¼'‹ öƒÃ…Éxä‰ÈÁøƒá‹‡Óèƒà ÆJƒúÿuÝ[‰ð^_]öU‰åW1ÿVSƒì‰U躾D‰EìEèÇ$è‹ÿÿÿÇ$‰Æº¿DEèèuÿÿÿ‰ÃvÇ$ ‹½ÀDº‰Eä‰ð¶MäÓà‹Mä)ʈÑÓî¶Mä Æ‰Øæÿÿÿ‰uìÓàˆÑÓ뺿D ÃãÿÿÿEè‰]èèÿÿÿ‹U‰ººÀDEèÇ$ èÿÿÿ‹M‰D¹@Gƒÿ~ƒ1Ò1À‰‘„‰€ƒÄ[^_]Ãt&¼'U‰åWVSƒì‰Ó‰Uð‹uÁë1óã‰Ú1]Áâ1Uð‹M‹UðÁê1Ê·Ú1]‰ÚÁâ1Uð‹]‹UðÁë1Óã33331]ð1U‹}ð‹]Áë1ûãÿÿ1]ð‰ÚÁâ1U‹]ð‹uÑë1óãUUUU1Uð1]‹U ÑEÑEð‹‹}‹J@‹u1ß1ÎÁljò‰ùÁêÁéƒá?ƒâ?‹¶D‹•·D‰ùÁéƒá? Ú‹¸D‰ñÁéƒá? Ú‹¹D‰ùÁéƒç?ƒá? Ú‹ºD‰ñÁéƒæ?ƒá? Ú‹»D‹ ½¼D‹<µ½D Ú Ê ú1Uð‹U ‹}ð‹Z‹JD‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰ò ÙÁêƒâ?‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1M‹U ‹}‹u‹Z‹JH1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒâ? Ù‹•ºD‰òÁê Ùƒâ?‹•»Dƒç?ƒæ?‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z ‹}ð‹JL‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z‹}‹JP‹u1ß1ÎÁljò‰ûÁêÁëƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1Mð‹U ‹}ð‹uð‹Z‹JT1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z‹}‹JX‹u1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒâ? Ù‹•ºD‰ò ÙÁêƒâ?ƒç?‹•»Dƒæ?‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z‹}ð‹J\‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1M‹U ‹}‹u‹Z ‹J`1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z$‹}ð‹Jd‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z(‹}‹Jh‹u1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒâ? Ù‹•ºD‰ò ÙÁêƒç?ƒâ?‹•»Dƒæ?‹½¼D‹<µ½D Ù Ñ ù1Mð‹U ‹}ð‹uð‹Z,‹Jl1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z0‹}‹Jp‹u1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z4‹}ð‹Jt‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1M‹U ‹}‹u‹Z8‹Jx1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁê Ùƒâ?‹•ºD‰òÁêƒç?ƒâ? Ù‹•»Dƒæ?‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z<‹}ð‹J|‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù‹] Ñ ù1Ù‹]ðÁÁ‰MðÁÉ]‹U‰ËÑë1ÓãUUUU1Uð‹}ð1]‹]Áë1ûãÿÿ‰Ú1]ðÁâ1U‹uð‹]Áë1óã33331]ð1U‹Uð‹MÁê1Ê·Ú1]‰ÚÁâ1Uð‹U‹u‹]ð‹}ðÁë1Óã‰ÚÁâ1ó1ú‰‰X[[^_]ÃU‰åWVSƒì‰Ó‰Uð‹uÁë1óã‰Ú1]Áâ1Uð‹M‹UðÁê1Ê·Ú1]‰ÚÁâ1Uð‹]‹UðÁë1Óã33331]ð1U‹}ð‹]Áë1ûãÿÿ1]ð‰ÚÁâ1U‹]ð‹uÑë1óãUUUU1Uð1]‹U ÑEÑEð‹Z<‹}‹J|‹u1ß1ÎÁljò‰ùÁêÁéƒá?ƒâ?‹¶D‹•·D‰ùÁéƒá? Ú‹¸D‰ñÁéƒá? Ú‹¹D‰ùÁéƒç?ƒá? Ú‹ºD‰ñÁéƒæ?ƒá? Ú‹»D‹ ½¼D‹<µ½D Ú Ê ú1Uð‹U ‹}ð‹Z8‹Jx‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰ò ÙÁêƒâ?‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1M‹U ‹}‹u‹Z4‹Jt1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒâ? Ù‹•ºD‰òÁê Ùƒâ?‹•»Dƒç?ƒæ?‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z0‹}ð‹Jp‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z,‹}‹Jl‹u1ß1ÎÁljò‰ûÁêÁëƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1Mð‹U ‹}ð‹uð‹Z(‹Jh1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z$‹}‹Jd‹u1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒâ? Ù‹•ºD‰ò ÙÁêƒâ?ƒç?‹•»Dƒæ?‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z ‹}ð‹J`‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1M‹U ‹}‹u‹Z‹J\1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z‹}ð‹JX‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z‹}‹JT‹u1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒâ? Ù‹•ºD‰ò ÙÁêƒç?ƒâ?‹•»Dƒæ?‹½¼D‹<µ½D Ù Ñ ù1Mð‹U ‹}ð‹uð‹Z‹JP1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1M‹Z ‹}‹JL‹u1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹Z‹}ð‹JH‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù Ñ ù1M‹U ‹}‹u‹Z‹JD1ß1ÎÁljû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁê Ùƒâ?‹•ºD‰òÁêƒç?ƒâ? Ù‹•»Dƒæ?‹½¼D‹<µ½D Ù Ñ ù‹U 1Mð‹‹}ð‹J@‹uð1ßÁÇ1Ήû‰òÁëÁêƒã?ƒâ?‹ •·D‹¶D щúÁêƒâ?‹•¸D‰òÁêƒâ? Ù‹•¹D‰úÁêƒç?ƒâ? Ù‹•ºD‰òÁêƒæ?ƒâ? Ù‹•»D‹½¼D‹<µ½D Ù‹] Ñ ù1Ù‹]ðÁÁ‰MðÁÉ]‹U‰ËÑë1ÓãUUUU1Uð‹}ð1]‹]Áë1ûãÿÿ‰Ú1]ðÁâ1U‹uð‹]Áë1óã33331]ð1U‹Uð‹MÁê1Ê·Ú1]‰ÚÁâ1Uð‹}‹M‹]ð‹uðÁë1ûã‰ÚÁâ1Ë1ò‰X‰_[^_]ÃU‰åWVSƒì,ö‰Uä‰Ã…Ñ‹E1ÿ‹°€‹ˆ„é›v¶ƒÇ¶CÁâÁà ¶CÁà ¶C Â1Ö¶C¶SÁàÁâ ¶CÁà ¶C ‹E1щò‰D$Eè‰ $èXêÿÿ‹uè‹Mì‰ðˆKÁ舉ðÁèˆC‰ðÁèˆC‰ðˆC‰ÈÁèˆC‰ÈÁèˆC‰ÈÁèˆCƒÃ;}ä‚_ÿÿÿ‹E‰°€‰ˆ„ƒÄ,[^_]ÃÇ$ÐÀD¸a¿ßÀD‰D$‰|$èŸv¼'U‰åW‰ÇVSƒì,ö‰Uä…ÿÇEØ‹E‹U‹€€‹’„‰Eà‰UÜé²t&¶7‹U¶G¶_Áæ‰T$Áà Æ¶GÁãÁà Æ¶G Ɖò¶GÁà öGÁà öG ÃEè‰$èÏóÿÿƒEØ‹Eè‹Uì1Eà1UÜ‹Eà¶UÜÁ舋EàˆWÁèˆG‹EàÁèˆG¶Eà‰uàˆG‹EÜÁèˆG‹EÜÁèˆG‹E܉]ÜÁèˆGƒÇ‹Eä9EØ‚Gÿÿÿ‹Uà‹E‰€‹U܉„ƒÄ,[^_]ÃÇ$ÐÀD¸y‰D$¸ßÀD‰D$脞¶¿U‰åƒì‰]ô‹]‰uø‰Ö‰}ü‰Ç‰$è’ýÿÿƒˆ‰òÉ$‰øèŠþÿÿ‰]‰ò‹]ô‹uø‰ø‹}ü‰ì]ébýÿÿfU‰åWVSƒì,ö‰Uä‰Ã…3ÇEà‹E‹°€‹ˆ„‹Eä9Eàƒú‹E}舉EØ‹E‰EÜ´&¼'¶¶CÁâÁà ¶CÁà ¶C Â1Ö¶C¶SÁàÁâ ¶CÁà ¶C ‹E1щò‰D$Eè‰ $è‹çÿÿ‹EØ‹Uè‰D$‹G‰$‰øèòÿÿ‹EÜ‹Uè‰D$‹G‰$‰øè]çÿÿƒEà‹uè‹O‰ðÁ舉ðÁèˆC‰ðÁèˆC‰ðˆC‰ÈÁèˆC‰ÈÁèˆC‰ÈÁèˆC‹EäˆKƒÃ9Eà‚-ÿÿÿ‹E‰°€‰ˆ„ƒÄ,[^_]ÃÇ$ÐÀD¸›‰D$¸ßÀD‰D$èÀœ´&U‰åƒì‰]ô‹]‰}ü‰Çƒ‰uø‰Ö‰$‰øèÚüÿÿƒˆ‰ò‰$‰øè¸ûÿÿ‰]‰ò‹]ô‹uø‰ø‹}ü‰ì]é°üÿÿU‰åW‰ÇVSƒì<ö‰Uä…OÇEØ‹E‹U‹€€‹’„‰Eà‹Eä9E؉U܃‹U‹E‰UÔˆ‰Eд&¶7‹UÔ¶G¶_Áæ‰T$Áà Æ¶GÁãÁà Æ¶G Ɖò¶GÁà öGÁà öG ÃEè‰$è_ðÿÿ‹EЋUè‰D$‹Eì‰$Eèè·åÿÿ‹E‹Uè‰D$‹Eì‰$Eèè/ðÿÿƒEØ‹Uè‹Eì1Uà1EÜ‹Eà¶UàÁ舋EàˆW‹UäÁèˆG‹Eà‰uàÁèˆG‹EÜÁèˆG‹EÜÁèˆG‹EÜÁèˆG¶E܉]܈GƒÇ9UØ‚ÿÿÿ‹Eà‹U‰‚€‹E܉‚„ƒÄ<[^_]ÃÇ$ÐÀDº½¸ßÀD‰T$‰D$èäš¶¿U¹ˆ‰åƒì‰L$Ç$èåÔýÿÉÃvU¸ˆ‰åƒì‰D$Ç$èÅÔýÿÉÃvU¸ˆ‰åƒì‰D$Ç$è¥ÔýÿÉÃvU¸ˆ‰åƒì‰D$Ç$è…ÔýÿÉÃvU‰å]é7Ùýÿ´&U‰åVSƒì‹] ‹u¶S¶C¶KÁâÁà ¶CÁáÁà ¶C ¶Áà ȶKÁá ȶK‰4$ Èè-ãÿÿ¶S ¶C ¶K ÁâÁà ¶CÁáÁà ¶C ¶CÁà ȶK Áá ȶK ÈŽˆ‰ $èáâÿÿ¶S¶C¶KÁâÁà ¶CÁà ¶C ¶CÁàÁá ȶKÆÁá ȶK‰uƒÄ[ È^]éâÿÿë U‰å‹M S‹]¶¶AÁâÁà ¶AÁà ¶A ‰“€¶Q¶AÁâÁà ¶AÁà ¶A ‰“„[]Ãv¼'U‰åS‹] ¶S¶C¶KÁâÁà ¶CÁáÁà ¶C ¶Áà ȶKÁá ȶK[ È]éÕáÿÿt&U‰åƒì‰]ø‹]‰uü‹u ‰$؉t$è,þÿÿ‰u ‹uü‰]‹]ø‰ì]éþÿÿ´&U‰å‹E ‹U]éÑùÿÿU‰å‹E E˜‹U]ézûÿÿv¼'U‰å‹E ‹U]éñùÿÿU‰å‹E ‹U]é¡ûÿÿU‰åWVSƒì,‹u öE…IÇEà‹E‹U‹€€‹º„‰Eä‹E9Eàƒ‹Eˆ‰U؉EÜ´&¼'‰<$‹UEèG‰T$‹Uäèªáÿÿ‹EØ‹Uè‰D$‹Eì‰$Eèè"ìÿÿ‹EÜ‹Uè‰D$‹Eì‰$Eèèzáÿÿ¶‹Mè¶FÁãÁà öFÁà öF ÉÈ1؉ÂÁꈉÂÁèˆFˆÈ0؈FÁêˆVƒÆ‹Mì¶¶FÁãÁà öFÁà öF ÉÈ1؉ÂÁꈉÂÁèˆFˆÈÁêˆV0؈FƒÆƒÿƒUä‹UƒEà9Uà‚ÿÿÿ‹E‹U䉸„‰€ƒÄ,[^_]ÃÇ$ÐÀD¸Ù‰D$¸ßÀD‰D$è‹–vU‰å‹E ‹U]é±õÿÿU‰å‹E ‹U]é±öÿÿU‰åVµXþÿÿSì°‹]¶S¶C¶KÁâÁà ¶CÁáÁà ¶C ¶Áà ȶKÁá ȶK‰4$ ÈèGßÿÿ¶S ¶C ¶K ÁâÁà ¶CÁáÁà ¶C ¶CÁà ȶK Áá ȶK Èàþÿÿ‰ $èûÞÿÿ¶S¶C¶KÁâÁà ¶CÁà ¶C ¶ÁàÁá ȶKÁá ȶK Èhÿÿÿ‰ $è°Þÿÿ‰4$‹U‹E è²øÿÿ‰4$º˜1À‰T$‰D$èó”İ[^]ÃU‰åVµXþÿÿSì°‹]¶S¶C¶KÁâÁà ¶CÁáÁà ¶C ¶Áà ȶKÁá ȶK‰4$ Èè'Þÿÿ¶S ¶C ¶K ÁâÁà ¶CÁáÁà ¶C ¶CÁà ȶK Áá ȶK Èàþÿÿ‰ $èÛÝÿÿ¶S¶C¶KÁâÁà ¶CÁà ¶C ¶ÁàÁá ȶKÁá ȶK»˜ Èhÿÿÿ‰ $è‹Ýÿÿ‰4$‹U‹E èÍõÿÿ‰\$1ɉ4$‰L$èÓ“İ[^]ÃU‰åW½HþÿÿVS켋]‹u ¶S¶C¶KÁâÁà ¶CÁáÁà ¶C ¶Áà ȶKÁá ȶK‰<$ ÈèÝÿÿ¶S ¶C ¶K ÁâÁà ¶CÁáÁà ¶C ¶CÁà ȶK Áá ȶK ÈÐþÿÿ‰ $è·Üÿÿ¶S¶C¶KÁâÁà ¶CÁà ¶C ¶CÁàÁá ȶKÁá ȶK ÈXÿÿÿ‰ $èkÜÿÿ¶¶FÁâÁà ¶FÁà ¶F ‰•Èþÿÿ¶V¶FÁâÁà ¶FÁà ¶F1ö‰<$ ‹E‰•Ìþÿÿ‹Uèröÿÿ‰t$¸˜‰<$‰D$èe’ļ[^_]ÃfU‰åW½HþÿÿVS켋]‹u ¶S¶C¶KÁâÁà ¶CÁáÁà ¶C ¶Áà ȶKÁá ȶK‰<$ Èè“Ûÿÿ¶S ¶C ¶K ÁâÁà ¶CÁáÁà ¶C ¶CÁà ȶK Áá ȶK ÈÐþÿÿ‰ $èGÛÿÿ¶S¶C¶KÁâÁà ¶CÁà ¶C ¶CÁàÁá ȶKÁá ȶK ÈXÿÿÿ‰ $èûÚÿÿ¶¶FÁâÁà ¶FÁà ¶F ‰•Èþÿÿ¶V¶FÁâÁà ¶FÁà ¶F‰<$ ‹E‰•Ìþÿÿ‹UèDóÿÿ‰<$¸˜‰D$1À‰D$èõļ[^_]ÃfU1ɉåW1ÿVuèSƒì$1Û‰Uà1Ò‰E䶃ù‹EäÁâƒÁ¶G ƒé‰ÐÓèÀˆ3¸CÓà÷Ð!ƒû~ζV¶F¶NÁâÁà ¶FÁáÁà ¶F ¶EèÁà ȶNÁá ȶN È‹Mà‰ $èåÙÿÿƒÄ$[^_]ö¼'U‰åSì¤hÿÿÿ‹E‰Úè6ÿÿÿ‰$‹E ºè¦ïÿÿĤ[]ö¼'U‰åSì¤hÿÿÿ‹E‰Úèöþÿÿ‰$‹E ºèvðÿÿĤ[]ö¼'U‰åƒì‰]ø‹]‰uü‹u ‰$ȉt$è ÷ÿÿ‰u ‹uü‰]‹]ø‰ì]éøöÿÿ´&U‰å‹E ‹U]éïÿÿU‰å‹E Eˆ‹U]éúïÿÿU‰åSƒì‰Ã¸‰D$‹C‰$è“Éÿÿ‰C ‰$èøËÿÿ‰CÇCǃÄ[]ÃfUº‰åVSƒì‹]‰T$Ç$èpÉýÿ‰Æ‹C‰D$‹C‰$èÌÅÿÿ‰F‹C‰D$‹C ‰$è·Åÿÿ‰F‰ðèmÿÿÿƒÄ‰ð[^]Ãt&U¹‰åSƒì‰L$Ç$èÉýÿ‰Ã‹E‰$èµÿÿ‰C‹E ‰$èù´ÿÿ‰C‰ØèÿÿÿƒÄ‰Ø[]ô&U‰åSƒì‹]‹‰$è<µÿÿ‹C‰$è1µÿÿ‹C‰$è&µÿÿ‹C‰$èµÿÿ‹C ‰$èµÿÿ‹C‰$èµÿÿ‰][[]éJÍýÿv¼'U‰åWVSƒì‹U‹B‰$èyÆÿÿ‰Eðº‰T$‰$èUÈýÿ‰Æv‹U‹…À…Ò‹E …Àt‹U‹B‰$èÆÿÿ;E Á‹U»‹B‰4$‰D$è.Çÿÿ;]ð}‰ö¼'èÛQ 3C;]ð|ò‰4$‹E‹Uð‰D$‰T$è,Åÿÿ‹E‹‰$¡àD‰D$èFÇÿÿ…ÀŽnÿÿÿ‹U‹B ‰D$‹‰$è*Çÿÿ…À‰Rÿÿÿ‰4$èZÌýÿ‹U‹B‰D$‹‰D$‹B‰$èï¾ÿÿ‹U‰BƒÄ[^_]É$èÙ³ÿÿé!ÿÿÿ‹U 1Û1ÿ‰$èu´ÿÿ;] ‰Â‹EÇEì‰|.éfÿÿÿ‰\$‰ø‹UƒàCÑÿ‰D$‹‰$èà³ÿÿÿMì;] 8ÿÿÿ‹Eì…ÀuÐÇEìèáP‰ÇëÀ¶¼'U‰åƒì‹U‹B‰D$‹‰D$‹E ‰$è?¾ÿÿÉÃU‰åW‰ÇV‰ÖSƒì‰$è‹Äÿÿ‰ÂƒÂx_‰Ð‰ÓÁøˆEð‰ÐÁú ˆUòÁûºˆ]óÁøˆEñ‰T$ë‰\$‰4$èßÄÿÿˆEð¸‰D$‰<$Eð‰D$è´¤‰ØK…ÀÒƒÄ[^_]ÃPëœU‰åƒì ‰$‰Ó‰t$‰Æ‹E‰|$‹} ƒ:Ç~J‹¶¶AÁâÁà ¶AÁà ¶AƒÁ‰ ‰‹ƒê‰‹9Â|‹})‰‰t&¼'‹$‹t$‹|$‰ì]ÃU‰åMüƒì‰L$Mø‰ $èhÿÿÿ‹Uø1À…Òt€:x‰$‹Eü‰D$èûÁÿÿÉÉö¼'U¹‰åƒì‰L$‰]ø‰Ã‰uü‹‰Ö‰$èÍÁÿÿƒ‹]øƒ.‹uü‰ì]ö¼'U‰åƒì(‰]ô»‰uø‰}ü‰\$Ç$èÅýÿ‰Ã1À…Ût:EðU ‰D$Eì‰$Eè¼þÿÿ‹Eì…Àtü¿ÐÃD¹‰Æó¦t‰$èœÉýÿ1À‹]ô‹uø‹}ü‰ì]ÃU Eèÿÿÿ‰U Eèõþÿÿ‰CU Eèçþÿÿ‰CU EèÙþÿÿ‰C ‹uø‰Ø‹}ü‹]ô‰ì]ô&U‰åSƒì‹]‹‰$èܰÿÿ‹C‰$èѰÿÿ‹C‰$èÆ°ÿÿ‹C ‰$è»°ÿÿ‰]X[]éÉýÿU‰åWVSƒì‹E‹1À…Ò„ª‰$èÂÿÿÁà‰ÂƒÂ<ˆÁÁúZ ‹U‹B‰$èÞÁÿÿÁà‰ÂƒÂ<ˆÄÁúÓ‹U‹B‰$è½ÁÿÿÁà‰ÂƒÂ<ˆÇÁúÓ‹U‹B ‰$èœÁÿÿÁà‰ÂƒÂ<ˆÊÁú¹Ó‰L$‰$è˜Ãýÿ‰Eð‹Uð1À…Ò„ ‹EðfÇ0xÆ@‹UÇE싉$èHÁÿÿ‰ÂƒÂˆ‰‰ÐÁø…ÀŽõxÿë=‰û‹UÁë‹uìÑû‰\$‹ÛÿEì‰$è˜Áÿÿ‰ù‹Uð)ÙÁáOÓøƒà¶€(ÄDˆƒÿÿu¾‹Eì‹UðÇ,0x‹UƒÀ‰Eì‹B‰$èÈÀÿÿ‰ÂƒÂˆ‰ÐÁø…ÀŽkxÿë>‰û‹UÁë‹uìÑû‰\$‹BÛÿEì‰$èÁÿÿ‰ù‹Uð)ÙÁáOÓøƒà¶€(ÄDˆƒÿÿu½‹Eì‹UðÇ,0x‹UƒÀ‰Eì‹B‰$èGÀÿÿ‰ÂƒÂˆ˜‰ÐÁø…ÀŽàxÿë>‰û‹UÁë‹uìÑû‰\$‹BÛÿEì‰$è–Àÿÿ‰ù‹Uð)ÙÁáOÓøƒà¶€(ÄDˆƒÿÿu½‹Eì‹UðÇ,0x‹UƒÀ‰Eì‹B ‰$èÆ¿ÿÿ‰ÂƒÂˆ‰ÐÁø…À~\xÿë>‰û‹UÁë‹uìÑû‰\$‹B ÛÿEì‰$èÀÿÿ‰ù‹Uð)ÙÁáOÓøƒà¶€(ÄDˆƒÿÿu½‹Eì‹UðƉЃÄ[^_]øë¸éÿÿÿ¸é‹þÿÿ¸éþÿÿPKÁúZ ‹U‹B‰$è¿ÿÿÁà‰ÂƒÂ<‰<ýÿÿPKÁúÓ‹U‹B‰$èö¾ÿÿÁà‰ÂƒÂ<‰9ýÿÿPKÁúÓ‹U‹B ‰$èÒ¾ÿÿÁà‰ÂƒÂ<‰6ýÿÿPKé.ýÿÿPé÷ýÿÿPéoýÿÿPééþÿÿPé`þÿÿ¶¿U‰åWVuˆSìü‹}‰4$èæ‰4$¸ ‰D$¸9ÄD‰D$è ‹‰$èR¾ÿÿ‰ÂƒÂˆ‰Ð‰ÓÁøˆ…ÿÿÿ‰ÐÁøˆ…ÿÿÿ¸Áû‰D$Áú …ÿÿÿˆ•ÿÿÿˆÿÿÿë#‰\$‹‰$莾ÿÿˆ…ÿÿÿ¹…ÿÿÿ‰L$‰D$K‰4$范ûÿuË‹G‰$è̽ÿÿ‰ÂƒÂˆ›‰Ð‰ÓÁøˆ…ÿÿÿ‰ÐÁøˆ…ÿÿÿÁú Áûˆ•ÿÿÿ…ÿÿÿºˆÿÿÿ‰T$ë$‰\$‹G‰$è¾ÿÿˆ…ÿÿÿ¸‰D$…ÿÿÿ‰D$K‰4$èƒûÿuÊ‹G‰$èE½ÿÿ‰ÂƒÂˆ$‰Ð‰ÓÁøˆ…ÿÿÿ‰ÐÁøˆ…ÿÿÿ¸Áû‰D$Áú …ÿÿÿˆ•ÿÿÿˆÿÿÿë$‰\$‹G‰$耽ÿÿˆ…ÿÿÿ¸‰D$…ÿÿÿ‰D$K‰4$è~ƒûÿuÊ‹G ‰$è¾¼ÿÿ‰ÂƒÂˆ•‰Ð‰ÓÁøˆ…ÿÿÿ‰ÐÁøˆ…ÿÿÿ¸Áû‰D$Áú …ÿÿÿˆ•ÿÿÿˆÿÿÿë$‰\$‹G ‰$èù¼ÿÿˆ…ÿÿÿ¸‰D$…ÿÿÿ‰D$K‰4$è÷ƒûÿuʉt$…xÿÿÿ1Û‰$苵ÿÿÿ‰$è¼ÿÿ‰D$¸EÄD‰D$‰4$èÁƒ‰ö¼'‰ñ´&¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁ¶„+xÿÿÿ҉ʃÚ…Û‰D$ ¸QÄDu¸SÄD‰D$¿TÄDC‰|$‰$èLƒƒû~‰ñ‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒ»ƒÙ)ñA‰\$‰$èm½ýÿ…À‰Ãt ‰t$‰$ècƒÄü‰Ø[^_]ÃPéßüÿÿPé]ýÿÿPécþÿÿPéÔýÿÿ´&¼'U1Ò‰åƒìx‹E‰]ô‰uø‰}ü‹…ÛtVƒ}(tpEÄU‰D$EÀ‰$E è¨öÿÿ‹uÀ…öt!ƒ}Äuü¸ÐÃD¹‰Çó¦t)v¼'1Ò´&¼'‹]ô‰Ð‹uø‹}ü‰ì]ÃE ƒm‰ö¼'UE è÷ÿÿ‰E¼UE è÷öÿÿ‰E¸‹M¼‹U¸…É”À…Ò” Ð1Ò¨u¬‹U]È‹}¸‹B‰<$‰D$èäÂÿÿ‰E´‹E‰\$‰D$‹E‰$諜‰]ÀUÄEÀÇEÄè–öÿÿ‰E ‹U‹}´‹B‰|$‰D$‹E ‰$èg¬ÿÿ‹U‰Ã‹B‰|$‹}¼‰D$‰<$èL¬ÿÿ‰E¤‹U‹‰\$‰D$‹B‰$è1³ÿÿ‰E°‹}‹‰D$‹E¤‰D$‹G ‰$è³ÿÿ‰E¬‹U¬‹‹}°‰T$‰D$‰<$èø«ÿÿ‰E¨‹U‹}¨‹B‰<$‰D$¡àD‰D$è׫ÿÿ‰Ã‹E¼‰$‰D$èÖºÿÿ…À‹U´”À¶À‰$‰Eœè°§ÿÿ‹} ‰<$襧ÿÿ‹E°‰$èš§ÿÿ‹U¬‰$è§ÿÿ‹}¨‰<$è„§ÿÿ‰$è|§ÿÿ‹E¼‰$èq§ÿÿ‹U¸‰$èf§ÿÿ‹Uœé>þÿÿ´&¼'U‰åWVSƒì,‹U‹‰$誸ÿÿ‰ÃƒÃˆ ‹U‰ÞÁþ‹B‰$茸ÿÿ‰ÂƒÂˆãÁú‰Uð‹U‹B‰$èm¸ÿÿ‰ÂƒÂˆ¼Áú‰Uì‹U‹B ‰$èN¸ÿÿ‰ÂƒÂˆ•Áú‹}칉Uè‹Uð‰L$‹UèøD‰Eä‰$è7ºýÿ‰Eà‰ÇƒÇÆÆ@Æ@Æ@Ç@ssh-‰ØÁøfÇGdsÆGs‹UàƒÇˆB ‰ØÁøˆGÁû ‰ðˆ_ˆG‰×ƒÇë´&‰t$‹U‰ûG‹‰$è<¸ÿÿˆNƒþÿuä‹EðÁøˆ‹EðÁøˆG‹EðÁøˆG¶EðˆG‹uðƒÇë‰t$‹U‰ûG‹B‰$èö·ÿÿˆNƒþÿuã‹EìÁøˆ‹EìÁøˆG‹EìÁøˆG¶EìˆG‹uìƒÇët&‰t$‹U‰ûG‹B‰$è«·ÿÿˆNƒþÿuã‹EèÁøˆ‹EèÁøˆG‹EèÁøˆG¶EèˆG‹uèƒÇë‰t$‹U‰ûG‹B ‰$èe·ÿÿˆNƒþÿuã‹Eà‹UäÐ9øu3‹E ‹U䉋EàƒÄ,[^_]ÃPécþÿÿPé<þÿÿPéþÿÿXéïýÿÿÇ$[ÄD¿S¾oÄD‰|$‰t$èh~U‰åWVSƒì‹U‹B‰$èY¶ÿÿ‰ÆƒÆˆ‚‰ó¹Áû‰L$C‰Eð‰$èR¸ýÿ‰Eì‹Uì‰ðÁø‰×ƒÇˆ‰ðÁøˆBÁþ ‰ðˆBsÿˆZë‰t$‹U‰ûNG‹B‰$è‚¶ÿÿˆƒþÿuã‹Eì‹UðÐ9øu‹E ‹Uð‰‹EìƒÄ[^_]ÃpévÿÿÿÇ$[ÄD¸k‰D$¸oÄD‰D$èž}¶U‰åWVSì¼»ÿÿÿÿ‹E‰…dÿÿÿ‹E ‰D$‹E‰$èTòÿÿ‰…TÿÿÿU…dÿÿÿèÀñÿÿ‰`ÿÿÿ‹•Tÿÿÿ‰B…`ÿÿÿU‰D$…\ÿÿÿ‰$…dÿÿÿèñÿÿƒ½`ÿÿÿtW‹•Tÿÿÿ‹‰D$‹B‰D$‹B‰$è™®ÿÿ‹½Tÿÿÿ‰Ã‹G ‰$‰D$è’¶ÿÿ…À…‰$èr£ÿÿ‹…Tÿÿÿļ[^_]Ã]ˆ‰$è•‹½Tÿÿÿ‰Ø‹èðÿÿ‹W‰Øè ðÿÿ‹W‰Ø½hÿÿÿèüïÿÿ‰$…hÿÿÿ‰D$è –ü‹µ\ÿÿÿ¹ó¦„Oÿÿÿ‹…Tÿÿÿ‰$ë‰<$èòÿÿļ1À[^_]öU¹‰åWVSƒì ‹}‰L$‹u Ç$èL¶ýÿ1Ò…À‰Ã„ž‰ò‰øèwðÿÿ‰‰ò‰øèlðÿÿ‰C‰ò‰øè`ðÿÿ‰C‰ò‰øèTðÿÿ‰C ‰ò‰øèHðÿÿ‰C‰Á‹…Àt‹S…Òt‹{…ÿt‹s …öuP´&‰$蘺ýÿ‹C‰$èºýÿ‹C‰$肺ýÿ‹C ‰$èwºýÿ‹C‰$èlºýÿ‰$èdºýÿ1ÒƒÄ ‰Ð[^_]ÅɉÚuðë°U‰åWVSƒì ‹U‹‰$躳ÿÿ‹U‰Ã‹B‰$誳ÿÿ‹UËB‰$èš³ÿÿ‹UËB ‰$芳ÿÿ‹UËB‰$èz³ÿÿ<;}~ ƒÄ ‰ø[^_]ËU¿‹‰$èV³ÿÿ‹U ƒèÁøˆ‹U‹‰$è>³ÿÿ‹U ƒèÁøˆB‹U‹‰$è%³ÿÿ‹U ƒèÁøˆB‹U‹‰$è ³ÿÿ‹U ,ˆB‹U‹‰$è÷²ÿÿpûëf‰t$‰û‹UGN‹‰$è ³ÿÿ‹U ˆƒþÿuà‹U‹B‰$è²ÿÿ‹U ƒèÁøˆ‹U‹B‰$訲ÿÿ‹U ƒèÁøˆD:‹U‹B‰$è²ÿÿ‹U ƒèÁøˆD:‹U‹B‰$èr²ÿÿ‹U ,ˆD:‹UƒÇ‹B‰$èX²ÿÿpûëv‰t$‰û‹UGN‹B‰$èj²ÿÿ‹U ˆƒþÿuß‹U‹B‰$è!²ÿÿ‹U ƒèÁøˆ‹U‹B‰$è²ÿÿ‹U ƒèÁøˆD:‹U‹B‰$èì±ÿÿ‹U ƒèÁøˆD:‹U‹B‰$èѱÿÿ‹U ,ˆD:‹UƒÇ‹B‰$è·±ÿÿpûëf‰t$‰û‹UGN‹B‰$èʱÿÿ‹U ˆƒþÿuß‹U‹B ‰$è±ÿÿ‹U ƒèÁøˆ‹U‹B ‰$èg±ÿÿ‹U ƒèÁøˆD:‹U‹B ‰$èL±ÿÿ‹U ƒèÁøˆD:‹U‹B ‰$è1±ÿÿ‹U ,ˆD:‹UƒÇ‹B ‰$è±ÿÿpûëf‰t$‰û‹UGN‹B ‰$è*±ÿÿ‹U ˆƒþÿuß‹U‹B‰$èá°ÿÿ‹U ƒèÁøˆ‹U‹B‰$èǰÿÿ‹U ƒèÁøˆD:‹U‹B‰$謰ÿÿ‹U ƒèÁøˆD:‹U‹B‰$è‘°ÿÿ‹U ,ˆD:‹UƒÇ‹B‰$èw°ÿÿpûëf‰t$‰û‹UGN‹B‰$芰ÿÿ‹U ˆƒþÿu៎ ‰ø[^_]Ãt&U‰åƒì‰]ø‹E ‰uü‰D$‹E‰$è¢ìÿÿ‰Æ‹‰$趯ÿÿ‰4$‰ÃèLíÿÿ‰Ø‹uü‹]ø‰ì]ÃU‰å…èþÿÿW¿VµÿÿÿSìl»{ÄD‰D$‹E‰D$‹E ‰$è’‰4$èPe‰|$‰\$‰4$è e‹U‹z‰<$èB¯ÿÿ‰ÂƒÂˆ’‰Ð‰ÓÁøˆ…¤þÿÿ‰ÐÁûˆ§þÿÿÁø¹ˆ…¥þÿÿÁú …¤þÿÿˆ•¦þÿÿ‰L$‰D$ë%‰\$‰<$è|¯ÿÿˆ…¤þÿÿº‰T$•¤þÿÿ‰T$‰4$èe‰ØK…À̉4$½¨þÿÿ1À‰…¤þÿÿ‰|$èzЉ4$è’d‰|$¸@‰D$‰4$èÝd‰4$¸‰D$…èþÿÿ‰D$èÂd‰|$‰4$è6Љ4$¸Ô‰D$1À‰D$èçu‰<$¸@‰D$èάÿÿ‹U‰Ã‹B‰$‰D$èz§ÿÿ‰$‰Æè°œÿÿü1À¹ó«‹U¿‹‰t$‰D$‹B‰$艧ÿÿ‹U‰Ã‹B‰$‰D$è5§ÿÿ‰… þÿÿ‰$ègœÿÿ‰|$…èþÿÿ‰$èU¬ÿÿ‹U‰Ç‹B‰4$‰D$èq¶ÿÿ‰|$‰Æ‹… þÿÿ‹U‰D$‹B‰$èc°ÿÿ‹U‰Ã‹B‰\$‰4$‰D$è  ÿÿ‰$»‰…œþÿÿèø›ÿÿ‰4$1öèî›ÿÿ‰<$èæ›ÿÿ‰\$Ç$7èf¯ýÿÆ‰ÇÆ@Æ@Æ@Ç@ssh-fÇ@dsÆ@ sÆ@ Æ@ Æ@ Æ@(t&‹… þÿÿ»)ó‰\$‰$臭ÿÿˆD7‹•œþÿÿ‰\$‰$èq­ÿÿˆD7#Fƒþ~Ç‹… þÿÿ‰$èY›ÿÿ‹•œþÿÿ‰$èK›ÿÿ‹EÇ7Äl‰ø[^_]ÃPéfýÿÿU‰å‹EÇ#EgÇ@‰«ÍïÇ@þܺ˜Ç@ vT2Ç@PÇ@XÇ@T]ô&U‰åWVSƒìl‹U‹E ‹ZX‰Ñ‰E¤‹EØ;E‰BX‹]’À¶ÀBT‹RPƒø?†°¸@‹])ЉD$‹E¤T‰$‰D$è¢s‹SP‹E¤‹M)ÐL ÀƒÀ@‰M1ɉE¤´&‹]¶T‹¶D‹ÁâÁà ¶D‹Áà ¶D‹ ‰T¨Aƒù~ЋS ‹s‹C‰Uœ‹;‹Mœ‰E ‰Â‰ð÷Ð!ò‹]¬!È‹M¨ Âú” x¤j×ÁÂ<2‹M ‰ø‰ú÷Ð!È!ò‹M´ ‹Eœ”V·ÇèÁ ú‰Uœ‹Eœ!ú‹]œ÷Ð!ð ‹E ‹E°”Ûp $‹EœÁ‰U ‹E !Ú‹] ÷Ð!ø Âò” îνÁÁ‹Mœ4‰ð‰Ú÷Ð!È!ò ‹E¸ú‹M¼”¯|õÁÂ<2‰ø‰ú÷Ð!Ø!ò ‹Eœ” *ƇGÁ ú‰Uœ‹Eœ!ú÷Ð!ð ÂÚ‹]À‹Eœ”F0¨Á‹]œ‹Eœ‰U ‹M !‹E ÷Ð!ø ‹EÄò”•FýÁÂ4 ‰ð‰Ê÷Ð!Ø!ò‹]È Âú”ؘ€iÁÂ<2‰ø‰ú÷Ð!È!ò ‹Eœ‹EÌ”¯÷D‹Á ú‰Uœ‹Eœ!ú‹]œ÷Ð!ð ÂÊ‹MЋEœ” ±[ÿÿÁ‹Mœ‰U ‹E !Ú‹]Ô÷Ð!ø Âò‹E ”¾×\‰Á‹] 4‰Â‰ð÷Ð!ò!È‹MØ Âú” "kÁ‹Mœ<2‰ø‰ú÷Ð!ò!Ø‹]Ü ÂÊ”“q˜ýÁ ú‰Uœ‰Ó‰Ð÷Ó!ø‹Mœ‰Ú!ò ЋU ЋUà„ŽCy¦ÁÀ‹UœȉE ‹M !Ð÷щÊ!ú ЋUäð„!´I‹U ÁÀ4‹Eœ!Ó!ñ!ð Ø‹]¬ø„b%öÁÀ<0‰Ð!ø‹UÀ È‹MœÈ„@³@ÀÁÀ ‰ò‹MÔø÷Ò‰Eœ!ð!ú ЋU ‹]œЄQZ^&‹MœÁÀ‰ú؉E ÷Ò!ø!Ê‹]¨ Ðð‹U „ªÇ¶éÁÀ‹] 4‹Uœ‹Eœ‹M¼÷Ò!Ú!ð ЋU ø„]/Ö‹MœÁÀ<0‹E ÷Ò!ò‹]Ð!ø Ðȉò„SD÷ÒÁÀ ø!ú‰Eœ!ð‹]œ ЋU ‹MœЋU䄿¡ØÁÀ‰ú؉E ÷Ò!Ê!ø‹M¸ Ћ] ð„ÈûÓç‹UœÁÀ4‹Eœ÷Ò‹Mà!ð!Ú Ð‹UÌø„æÍá!ÁÀ‰Ú<0÷Ò‰Ø!ò!ø ЋUœЄÖ7ÉòÁÀ ÷Òø‰Eœ!ú!ð ЋMœØ‹]´‰ú÷Ò!Ê„‡ Õô‹]œÁÀØ‹]܉E !ø‹M  ЋUÈð„íZEÁÀ‹Uœ4‹Eœ÷Ò!Ê!ð Ðø‰Ê„éã©ÁÀ÷Ò<0‰È!ò!ø ЋUœЋU°„ø£ïüÁÀ ‰òø÷Ò‰Eœ!ð!ú Ћ]œÈ‹Mĉú÷Ò„Ùog‹MœÁÀØ‹]Ø!ʉE !ø Ðð‹U „ŠL*ÁÀ‹]œ4‰Ð‹M¼1ð1Øø‹]È„B9úÿÁÀ‹Mœ<0‰ø1ð1ÐÈ„öq‡ÁÀ ø‰Eœ1ø‹]œ1ð‹MàЋUÔ„"am‹UœÁÀЋU¬‰E 1Ø1ø‹] ð„ 8åýÁÀ‹Mœ4‰Ø1ð1Èø‹M¸„D꾤ÁÀ‹Uœ<0‰ø1ð1ØЄ©ÏÞK‹UÐÁÀ ø‰Eœ1ø‹Mœ1ðØ‹]Ä„`K»ö‹]œÁÀØ‹]܉E 1È1ø‹M ð„p¼¿¾ÁÀ‹Uœ4‰È1ð1Ðø‹U¨„Æ~›(ÁÀ‹]œ<0‰ø1ð1ÈØ„ú'¡ê‹]ÀÁÀ ø‰Eœ1ø‹Uœ1ðÈ‹M´„…0ïÔ‹MœÁÀÈ‹M̉E 1Ð1ø‹U ð„ˆÁÀ‹]œ4‰Ð1ð1Øø‹]Ø„9ÐÔÙÁÀ‹Mœ<0‰ø1ð1ÐÈ„å™ÛæÁÀ ø‰Eœ1ø‹]œ1ðЋU䄸|¢ÁÀ؉E ‹Mœ‹] ‹U¨1È‹M°1øð„eV¬ÄÁÀ‹MÄ4‹Eœ÷Ð ð1Øø„D")ôÁÀ‹Uœ<0‰Ø÷Ð ø1ðЄ—ÿ*CÁÀ ø‰Eœ‹Mœ‰ð÷ЋUœ È1ø‹MœØ‹]à„§#”«ÁÀЋU¼‰E ‹] ‰ø÷Ð Ø1Èð‹M „9 “üÁÀ‹]Ø4‹Eœ‹Uœ÷Ð ð1Èø„ÃY[eÁÀ<0‰È÷Ð ø1ðЋU´„’Ì ÁÀ ø‰Eœ‹]œ‰ð÷Ð Ø1øÈ‹MЋ]œ„}ôïÿ‹MœÁÀÈ‹MȉE ‹U ‰ø÷Ð Ð1Ø‹]¬ð‹U „Ñ]„…ÁÀ‹]ä4‹Eœ÷Ð ð1Ðø„O~¨oÁÀ‹Mœ<0‰Ð÷Ð ø1ðÈ„àæ,þÁÀ ø‰Eœ‹]œ‰ð÷ЋMœ Ø1ø‹]œЋUÀ„C£ÁÀÈ‹M܉E ‹U ‰ø÷Ð Ð1Øð‹] „¡NÁÀ‹U¸4‹Eœ‹Mœ÷Ð ð1Øø„‚~S÷ÁÀ<0‰Ø÷Ð ø1ðÈ‹MÔ„5ò:½ÁÀ ø‰Eœ‹Uœ‰ð÷Ð Ð1øØ‹]°‹Uœ„»Ò×*‹]œÁÀØ‹]‰E ‹M ‰ø÷Ð È1ЋUÌðÇCP‹M ;„‘Ó†ëÁÀK4‹EœsC ƒ}?v,1ÒéP÷ÿÿ‰\$D ‹U¤‰$‰T$èüj‹MYPƒÄl[^_]ËU‰ØƒÀ‰T$‹M¤‰$‰L$èÓj‹E‰CPƒÄl[^_]Ãt&U‰åWVSƒìl‹] ‹CPƒø7ŽûÇE¤x)E¤ü‹CT}¨‹SX‹M¤4ʼnÐÁè ÆÁâ1ÀÁé‰U ó«öE¤tfǃÇöE¤tÆÆE¨€‹E¤M¨‰L$‰$‰D$èEöÿÿ¶M ‰ðÁèˆE¯‰ðÁèˆE®‰ðÁèˆE­‰ð¾ˆE¬‹E ˆM¨‰t$ÁèˆE«‹E ‰$ÁèˆEª‹E ÁèˆE©E¨‰D$èîõÿÿ1Ò¶¿¶D“‹MˆD‘·D“ˆD‘‹“ÁèˆD‘‹“ˆ‘Bƒú~ÕƒÄl[^_]ÃÇE¤8éÿÿÿU‰åSƒìt]˜‰$èNõÿÿ‰$‹E ‰D$‹E‰D$èxõÿÿ‰\$‹E‰$è©þÿÿƒÄt[]ÃvU¸\‰åƒì‰D$Ç$èµ£ýÿÉÃvU‰å]ég¨ýÿ´&Uº@‰åW¸6Vu¨Sƒì\‹}‰T$‹] ‰D$‰4$èìh1É9ù}(´&¼'¶0D)¨A9ùœÂ1Àƒù?žÀ…Âuæ‹E‰$è‹ôÿÿ‰t$¸@‰D$‹E‰$è³ôÿÿ‰4$¸@‰D$¸\‰D$èh1É9ù}v¶0D)¨A9ùœÂ1Àƒù?žÀ…Âuæ‹]‰÷ƒÃ\‰$è&ôÿÿ‰t$¸@‰D$‰$èQôÿÿü¹1Àó«ƒÄ\[^_]Ãë U¹‰åƒì‹E ‰L$‰D$‹E‰$èßþÿÿÉö¼'U‰å옉uøuˆ‰}ü‰Ç¸\‰]ô‰Ó‰D$‰|$‰4$èÒg‰\$‹E‰4$‰D$è¿óÿÿ‹M …Ét‰4$‹E‰D$‹E ‰D$è¢óÿÿ‰t$xÿÿÿ‰$èÐüÿÿ‰4$º\G\‰T$¿‰D$èsg‰|$‰\$‰4$ècóÿÿ‰t$‹E‰$è”üÿÿ‹]ô‹uø‹}ü‰ì]ô&U‰å‹MÇE‹E‹U ‰MÇE ]éÿÿÿ¶¼'U‰åSƒì$‹] ‰T$Ç$‰ÙÁéˆMè‰ÙÁéˆMé‰ÙÁéˆMê‹Mˆ]ë]è‰Ú‰L$ ‹M‰L$èÈþÿÿƒÄ$[]ÃfU‰åS‹]‹U ‹E‰] ‰M‹M‰M []ëU‰åƒì8‰}ü‹U‹} ‰]ô‹E‹]‰uøu؉T$‰ú<;‰t$‰$è]ÿÿÿü¹‹]ôó¦”À‹uø‹}ü‰ì¶À]ÃU‰åP¸Ä@è’e‰]ô‹Eü¹‰uø¾@‰Ã‰}ü‹E1ÿ‰•t¿ÿÿ•è¿ÿÿlj½h¿ÿÿ‰$‰t$‰L$‰\$ èáf‰$‰Æèf‰ò1ÀÁêþ@”À Â…W‹}…öÇðÄDŽ€½è¿ÿÿ… Fÿ…ÀŽþ¶é¿ÿÿ…Û•À1Òƒû•Â…Ð…âFþƒøŽÖ€½ê¿ÿÿ…É€½ë¿ÿÿ…¼€½ì¿ÿÿ…¯€½í¿ÿÿ…¢‰t$1Àº‰D$ ‹…t¿ÿÿ‰T$‰D$…î¿ÿÿ‰$è'*‰Á‰ÂƒÁ‰p¿ÿÿˆd¶¼)è¿ÿÿƒÂ Á牽l¿ÿÿ¶„ é¿ÿÿÁà lj½l¿ÿÿ¶„ ê¿ÿÿÁà lj½l¿ÿÿ¶„ ë¿ÿÿ‰•p¿ÿÿ ljð‰½l¿ÿÿ)Ð9øŒ¸‰D$‰ø@‰$èŸýÿ‰…d¿ÿÿ…Àt-‰|$‹•p¿ÿÿ‹d¿ÿÿ„*è¿ÿÿ‰D$‰ $èwd‹…d¿ÿÿÆ‹E ‹•l¿ÿÿ•p¿ÿÿ…Àt‹d¿ÿÿ‰ $èÜ ýÿ‹} ‰‹…t¿ÿÿ…À„O‹•d¿ÿÿ‹…t¿ÿÿ‰P ‹E…À…ª‹½t¿ÿÿ…ÿ„:…Û…¡‹½p¿ÿÿ‰ð)øƒø~J‹•p¿ÿÿ¶„*ê¿ÿÿ8„*è¿ÿÿu¶„*ë¿ÿÿ8„*é¿ÿÿ„‹M¾ÿÿÿÿ‰µh¿ÿÿÇÅDv¼'º@1À‰T$•è¿ÿÿ‰D$‰$è{c‹…h¿ÿÿ‹]ô‹uø‹}ü‰ì]ËMÇÅD량…h¿ÿÿë¸x¿ÿÿ‰$èïÿÿ‹E‰$è/c‰D$‹U‰$‰T$è<ïÿÿ‰\$Ø¿ÿÿ‰ß‰$èhøÿÿ‰$‹p¿ÿÿ‰ð‹•p¿ÿÿ)ȃÀƒàø‰D$…è¿ÿÿЉD$èÚÌÿÿü‹E¹ó«éáþÿÿ‹d¿ÿÿ‰ $è ¢ýÿé­þÿÿ‹}1À…Û•À‰…h¿ÿÿÇé ÿÿÿƒ…p¿ÿÿ‰ð‹½t¿ÿÿ‹p¿ÿÿ‹p¿ÿÿ‰|$)؉D$…è¿ÿÿȉ$è×(‰…l¿ÿÿ…ÀˆÉþÿÿ…p¿ÿÿ‰øƒÀ‰D$‹•p¿ÿÿ‰ð‹p¿ÿÿ)ЉD$…è¿ÿÿ؉$èšÿÿ‰…l¿ÿÿ…Àˆˆþÿÿ…p¿ÿÿ‰øƒÀ‰D$‹p¿ÿÿ‰ð‹•p¿ÿÿ)ȉD$…è¿ÿÿЉ$èÅ™ÿÿ‰…l¿ÿÿ…ÀˆGþÿÿ…p¿ÿÿ‰øƒÀ‰D$‹…p¿ÿÿ)Ɖt$‹µp¿ÿÿ…è¿ÿÿð‰$膙ÿÿ…Àˆþÿÿ‰<$è†0»…À‰h¿ÿÿ…óýÿÿ‹EÇ&ÅD‰<$èò21ɉh¿ÿÿéÕýÿÿt&U¸8ÅD‰åƒìx‰D$‹E‰]ô‰uø‰}üÇE ÇE¤‰$èGa…À‰Ã„—‰D$¸@‰D$E¨‰$è•a…Àu?ÇE¤;ÅD…Ût‰$è>aƒ} •À1Òƒ}•Â…Ðt‹E¤‹U‰‹E ‹]ô‹uø‹}ü‰ì]Ãü¿TÅD¹!u¨ó¦u¯Ç$E¤‹U ‰D$ ‹E‰D$1À‰D$‰Øècúÿÿ‰E ë˜ÇE¤uÅDët&U¸8ÅD‰åƒìx‰]ô‰uø‰}ü‰D$‹E‰$èu`‰Ã1À…Ût8‰\$¸@‰D$E¨‰$èÅ`…Àtü¿TÅD¹!u¨ó¦t‰$èg`1À‹]ô‹uø‹}ü‰ì]ÃE¤1Ò‰D$ 1À‰D$‹E Ç$‰D$‰Øè¼ùÿÿ‹]ô‹uø‹}ü‰ì]Ãë U1À‰å쨋U‰…tÿÿÿ‹E ‰]ô‰uø‰}üÇ1À‰…pÿÿÿ¸8ÅDljD$‹E‰$è _…À‰Ã„ô‰D$¸@‰D$E¨‰$èî_…ÀuRº;ÅD‰•tÿÿÿ…Ût‰$è“_ƒ½pÿÿÿ•À1Òƒ}•Â…Ðt ‹…tÿÿÿ‹U‰‹…pÿÿÿ‹]ô‹uø‹}ü‰ì]öü¿TÅD¹!u¨ó¦uœ‹…pÿÿÿ½xÿÿÿ¹ µxÿÿÿ‰òó«Ç$…tÿÿÿ1ÿ‰D$ ‹E‰|$‰D$‰ØèŽøÿÿ…À„_ÿÿÿ‰4$‹U‰T$è÷.‹U ‰‰4$è0¹‰pÿÿÿé?ÿÿÿ¸uÅD‰…tÿÿÿé/ÿÿÿv¼'U¸œ@‰åWVSèÐ]ƒ}¸ATE Æ…Àÿÿ‹} ‰…ð¿ÿÿ¸KEY ¹SSH ‰…ô¿ÿÿ¸FILEºPRIV‰…ø¿ÿÿ¸ FORµÀÿÿ‰…ü¿ÿÿ¸MAT ‰…Àÿÿ¸1.1 ‰…ÀÿÿÀöЉè¿ÿÿ$‰•ì¿ÿÿˆ… ÀÿÿÆ… ÀÿÿÆ… ÀÿÿÆ… ÀÿÿÆ… Àÿÿ‹G‰$è1–ÿÿÁøˆ…Àÿÿ‹G‰$è–ÿÿÁøˆ…Àÿÿ‹G‰$è –ÿÿÁøˆ…Àÿÿ‹G‰$èõ•ÿÿˆ…Àÿÿ‹G‰4$‰D$è —ÿÿÆ‹G ‰4$‰D$è—ÿÿ‹_ Æ…Û…mÆÆFÆFÆFƒÆ‰µt¿ÿÿF‰óè¢!‹•t¿ÿÿFˆè”!ˆ¶Fþˆ¶FÿˆF‹GƒÆ‰4$‰D$è³–ÿÿÆ‹G‰4$‰D$袖ÿÿÆ‹G‰4$‰D$è‘–ÿÿÆ‹G‰4$‰D$耖ÿÿÆëÆF‹½t¿ÿÿ‰ð)ø¨uî‹]…Ûthx¿ÿÿ½Ø¿ÿÿ‰$èèÿÿ‹E‰$è”\‰D$‹U‰$‰T$è¡èÿÿ‰<$‰\$èÕñÿÿ‰<$‹t¿ÿÿ‰ð)ȉD$‹…t¿ÿÿ‰D$èuÇÿÿü¹1Àó«‹Eº…ÅD‰T$‰$èO\‰Ç1À…ÿt?‰|$ •è¿ÿÿ‰ó‰$)Ó¸‰\$‰D$èl\‰<$9Ø”À¶ØèD\…À”À¶À÷Ø!ØÄœ@[^_]É$èÝ[Á舉$èÐ[ÁèˆF‰$èÂ[ÁèˆF‰$è´[ˆFƒÆ‰$è¦[‰D$‰4$‰\$è¶[‹G ‰$è‹[ÆéDþÿÿt&U‰åW‰ÇV¾'Sƒì ‰Ó´&¼'‰<$è@[‰Áƒø ”Àƒù ” Шuƒùÿtƒù:t…ötˆ NC…öÎ1ÀƒÄ [^_]É<$è[‰Á1Àƒù uçÆ¸ë݉ö¼'U‰åWVSƒì‰Eð¸ÇE耉D$Ç$€èh•ýÿÇEì‰ÇÆë ‹Eìˆ8‰uìÆ>‹Eð‰$èšZ‰Ãƒø ”Àƒû ” Шu.ƒûÿtf‹uìF;uè|ƃm耸‰D$‹Eè‰<$‰D$èÔ—ýÿ‰Ç릋Eð‰$èMZƒø ‰Ã•À1Òƒû •Â…Ðtƒûÿt‹Eð‰$‰D$è=[ƒÄ‰ø[^_]É<$è{™ýÿƒÄ1À[^_]ÃU1ɉåWVSƒì‹]f¶ˆÐ,A<‡€¾ÂƒèA‰DØAƒù~à‹U؃úÿ„µ‹]܃ûÿ„©‹Màƒùÿ„±‹u促þÿ„ªÁâƒá?Áã Áá Ú Êƒæ?‹M ò‰ÐÁèƒÿˆrƒÿ~‹E ˆPƒÄ‰ø[^_]ÃfˆÐ,a<w ¾ÂƒèGésÿÿÿˆÐ,0< v+€ú+¸>„]ÿÿÿ€ú/¸?„Oÿÿÿ€ú=u¸ÿÿÿÿé@ÿÿÿ¾ÂƒÀé5ÿÿÿ1ÀƒÄ[^_]ÉÐÁèˆAë„‹uä1Àƒþÿuäƒùÿ•À¶øGéGÿÿÿfU¹‰åWVSƒì‰EðRÁà‰Uì‰L$‰$èj“ýÿ‰Eè‹EìÇEä9EäÇEà}i‹Eðè¹ýÿÿ…À‰Çtv‰$è«X‰Æ¨•Àƒþ@ŸÂ Шup1Û9ó}'f‹Eè‹UäЉD$‰$èYþÿÿ…Àt0EäƒÃ9ó|Û‰<$è³—ýÿÿEà‹Eì9Eà|—‹E‹U䉋EèƒÄ[^_]É<$è—ýÿ‹Uè‰$è‚—ýÿƒÄ1À[^_]ËEè‰$èm—ýÿ‰<$ëá´&U¹‰åüƒì‰4$‹u‰|$¿ˆÅDó¦—Â’À8¹@ÈDt‹u¹¿ÅDó¦—Â’À8¹ðÃDu ‹4$‰È‹|$‰ì]Ã1Éëït&U1ɉåWVSì\‹U ‰þÿÿ…Òt‹E ‰$èŠW‰…þÿÿ1À1ÿ¾8ÅD‰…üýÿÿ1À‰…þÿÿ1À‰…$þÿÿ1À‰…(þÿÿ1À‰…,þÿÿ1À‰… þÿÿ‹E‰½þÿÿ‰t$‰$èPW‰…Äýÿÿ…À„]‹…ÄýÿÿU¸èœûÿÿ…À„”ü¹¿˜ÅDu¸ó¦—Â’À1ɉþÿÿ8Â…!‹…Äýÿÿ»ðÄD‰üýÿÿèØûÿÿ…À‰ÃtR‰$èºþÿÿ‰… þÿÿ…À„E‰$è–ýÿ‹…ÄýÿÿU¸è&ûÿÿ…Àt"ü¿®ÅD¹ u¸ó¦„ü¶¿‹…Äýÿÿ…Àt‹µÄýÿÿ‰4$è°V‹…(þÿÿ…Àt‹…(þÿÿ‰$è •ýÿ‹…,þÿÿ…Àt‹•,þÿÿ‰$舕ýÿ‹…$þÿÿ…Àt‹$þÿÿ‰ $èp•ýÿ‹½þÿÿ…ÿt‹µþÿÿ‰4$èX•ýÿ‹µ þÿÿ…öt‹… þÿÿ‰$è@•ýÿ‹]…Ût ‹üýÿÿ‹U‰ ‹…þÿÿÄ\[^_]ÿ¹ÅD¹u¸ó¦—Â’À¿ÏÅD‰½üýÿÿ8Â…%ÿÿÿè€Å¾‰µþÿÿé¢þÿÿ‹…Äýÿÿè…úÿÿ‰…,þÿÿ…À„÷þÿÿü¿íÅD¹ ‰Æó¦—Â’À¹‰þÿÿ¿8‰½þÿÿ…‡‹…ÄýÿÿU¸è¶ùÿÿ…À„®þÿÿü¿øÅD¹u¸ó¦…˜þÿÿ‹…Äýÿÿè úÿÿ‰…(þÿÿ…À„þÿÿ‹…ÄýÿÿU¸èqùÿÿ…À„iþÿÿü¿ÆD¹ u¸ó¦…Sþÿÿ‹…ÄýÿÿèÈùÿÿ…À‰Ã„>þÿÿ‰$è¦T‰$‰Çèü“ýÿ…4þÿÿ‰ú‰$‹…Äýÿÿè–ûÿÿ‰…þÿÿ…À„þÿÿ‹…ÄýÿÿU¸èúøÿÿ…À„òýÿÿü¿ ÆD¹u¸ó¦…Üýÿÿ‹…ÄýÿÿèQùÿÿ…À‰Ã„Çýÿÿ‰$è/T‰$‰Çè…“ýÿ…0þÿÿ‰ú‰$‹…Äýÿÿèûÿÿ‰… þÿÿ…À„‘ýÿÿ‹…ÄýÿÿU¸èƒøÿÿ…À„{ýÿÿü¿ÆD¹ u¸ó¦„|ü¿'ÆD¹ u¸ó¦…Oýÿÿ‹•þÿÿ…Ò„Aýÿÿ‹…Äýÿÿè¶øÿÿ‰…$þÿÿ…À„(ýÿÿ1À‰…þÿÿ‹…Äýÿÿ‰$èÚS‹…þÿÿ…À„Ö‹E …À„ýÿÿ‹…0þÿÿ™÷½þÿÿ…Ò…üüÿÿ(ÿÿÿ¾4ÆD}ˆ‰$èþk‰$¸‰D$¸9ÆD‰D$è$l‰$‹•þÿÿ‹M ‰T$‰L$è l‰|$‰$èÿl‰$è·k‰t$¸‰D$‰$èâk‰$‹E ‹µþÿÿ‰D$‰t$èÉk‰$Eœ‰D$èºl‰<$‹…0þÿÿ‹• þÿÿ‰D$‰T$ècÿÿ‹þÿÿ…Û„]‹ þÿÿ‹µ0þÿÿ‰Ðýÿÿ1ɉµÌýÿÿ‰Èýÿÿ‹…þÿÿ…À„ü¸@ÆD»‰Æ‰Ù½8þÿÿó¥·\ÆDµxþÿÿ‰Ëf‰¶^ÆDˆG‰4$èçj‰4$¸‰D$…8þÿÿ‰D$è k‹½þÿÿ…ÿ•Â1Àƒ} •À…Ât‰4$‹…þÿÿ‹U ‰D$‰T$èÛj‰4$½Xþÿÿ‰|$èÉk‰<$‹Ìýÿÿ…Øþÿÿ‰D$‹…Ðýÿÿ‰L$ ¹‰D$‰L$èÚpü‰Ø¹ó«‰4$º`1À‰T$‰D$è‘Q‹…Èýÿÿ…Àt,1À‹µÌýÿÿ‰D$‹…Ðýÿÿ‰t$‰$èiQ‹•Ðýÿÿ‰$è£ýÿµøþÿÿ1ÿ‰ó¶„/ØþÿÿG‰$ƒÃ‰D$¸_ÆD‰D$èPQƒÿ~Ú‰t$‹$þÿÿ‰ $èéQ…À„É‹½þÿÿ¸ÅD‰…üýÿÿ¸ E…ÿ‰…þÿÿ…}úÿÿ¾dÆD1Û‰µüýÿÿ‰þÿÿéeúÿÿ»uÅD‰üýÿÿéÍúÿÿ‹µ,þÿÿ¿oÆD¹»ó¦‰þÿÿ—Â’À1ö8‰µþÿÿ„Fûÿÿ‹…,þÿÿ‰$èÌýÿé÷ùÿÿ‰$è¿ýÿéêùÿÿ‹•Ìýÿÿ…Øþÿÿ‹Ðýÿÿ‰D$‰T$‰ $èXkéºþÿÿ‹• þÿÿ‹B0‰$è2P‹,þÿÿ‰Ã‰ $è"P‰Æ‹…(þÿÿ‰$èP‹•4þÿÿ‰Ç3‹0þÿÿøÐȺƒÀ‰T$‰…Ìýÿÿ‰$èqŠýÿ‰…Ðýÿÿ‹•Ðýÿÿ‰ØÁøˆ‰ØÁøˆB‰ØÁøˆZˆB‹ þÿÿ‹•Ðýÿÿ‹A0ƒÂ‰\$‰$‰D$è¹O‹•Ðýÿÿ‰ðÁøÚZˆB‰ðÁøˆC‰ðÁøˆC‰ðˆCB‹•,þÿÿ‰t$‰$‰T$èxO‰ø3ÁøˆB‰øZÁø‰ùˆC‰øÁøˆKˆC‹µ(þÿÿB‰|$‰$‰t$èÇ$ìE‹@E‰ð)Ð|:Àp@¸E‰D$èØS‹èEf¶ƒEJ0‚8E1Òù¯‰ÊCƒû~Þ‰èEƒú~<1À1Ò£@E¸@9øŽpÿÿÿ1ɉ|$E‰t$‰$è•==@EƒÄ [^_]Ãè²ýÿÿë½U‰åVS‹u ‹]þ¯~-1Òt&¼'¶C0‚8EBú¯~íèxýÿÿî°ëË1Òë ¶C0‚8EB9ò|ñ[^]éUýÿÿt&U¸°‰åWVSƒì ‹ èE‹} ‹])È9øD¸°1Ò)ȃø~‰Æ¶C0„8EB9Öðè ýÿÿ¡èE1Éø¸Pûÿÿ1À£èE¸°9ø~¼1Òë ¶C0‚8EB9ú|ñ‰èEƒÄ [^_]Ãt&¼'U‰åƒì‹0E…Ò~2¡0FE9E x(èqåÇ$à“¸8E‰D$¸ÐÌB‰D$èã£0FEÉö¿U‰åƒì¡0E…Àt@£0EÉÃÇ$8E¸‰D$1À‰D$èö;Ç$@ÌBèâãè-üÿÿÇ$à“¸8E¹ÐÌB‰D$‰L$èo£0FE¡0E@£0EÉö¼'U‰åÿ 0E]Ãt&U‰åƒì‹èEú¯¶‚8EB‰èEÉÃè·ûÿÿ‹èE¶‚8EB‰èEÉÃU¹‰åƒì‰]ô‰uø‹u ‰}ü‹}‰L$Ç$Xè¶uýÿ‰Ãèoûÿÿ¡èEºX‰$‰T$8E‰D$è ;ÇX‰‹]ô‹uø‹}ü‰ì]é7ûÿÿU¸ÿÿÿÿ‰åWVSƒì ‹} ‹]ƒÿŽØ‹E…À„‹E¹Çv¼'‹U‹¶CÁàЋUI‰yê‹uƒï…öu.‹M1À…Ét‹EƒÀ ‰D$‰|$‰$èArÿÿ‰Æ…ö¸ÿÿÿÿxkó)÷‹U1À…Òt‹EƒÀ‰D$‰|$‰$èrÿÿ…À‰ÆxM‹E…Àt‹U‹B‰$èˆrÿÿ…Àt4‹UFþ‰B‹E…Àt‹UC‰ó)÷ƒ}t‹U‰Ø)ÐƒÄ [^_]ÃvƒÄ ¸ÿÿÿÿ[^_]ËM1À…Ét‹EƒÀ ‰D$‰|$‰$è”qÿÿ‰Æ…ö¸ÿÿÿÿx¾ó볋]ƒÃéÿÿÿv¼'U‰åƒE]écqÿÿvU‰åWVSƒì‹M‹} ‹]‹QG1É9Â} ƒÄ‰È[^_]É|$¾‰\$)ø‰$èî9ÆÆC‹E‹P‰Ð)øHƒøë!´&è‹ýÿÿˆ„Àtô‹MF‹Q‰Ð)øH9ðä)ú‰ßÆDÿ‹U‹B‰$‰D$èéoÿÿ‰Eð‹M‹A‰D$‹A ‰D$‹Eð‰$èÊjÿÿ‰Eì‹U‹rë‰t$‰û‹MìG‰ $è­qÿÿˆNƒþÿuæ‹Eð‰$èš_ÿÿ‹Uì‰$è_ÿÿƒÄ¹‰È[^_]ÃU‰åW‰ÇV‰ÖSƒì‰$èÛpÿÿ‰ÂƒÂx[‰Ð‰ÓÁøˆEð‰ÐÁøˆEñÁû¸ˆ]óÁú ˆUòë‰\$‰4$è3qÿÿˆEð¸‰D$Eð‰D$‰<$èØ&‰ØK…ÀÒƒÄ[^_]ÃPë t&U‰åWV¾@S1Ûì\‰…Àþÿÿ‰•¼þÿÿ‰µ¬þÿÿ‰¨þÿÿt&‹•¼þÿÿ1ö1ÿ‹B‰$èK^ÿÿ‰…¸þÿÿ‰$èpÿÿ‰Ãë‰\$‹•¸þÿÿ‰ðƒàÑþO‰D$‰$èÛ^ÿÿKƒûÿt)…ÿ؃½¬þÿÿ?¿wh‹…¬þÿÿ¶´(Èþÿÿ@‰…¬þÿÿ볡äD‰D$‹…¸þÿÿ‰$èUqÿÿ…À~#‹•¼þÿÿ‹B‰D$‹…¸þÿÿ‰$è6qÿÿ…Àˆ3‹•¸þÿÿ‰$è^ÿÿé;ÿÿÿ‹…¨þÿÿ•ÿÿÿ‰$Áøˆ…Äþÿÿ‹…¨þÿÿÁøˆ…Åþÿÿ‹…¨þÿÿÁøˆ…Æþÿÿ¶…¨þÿÿˆ…Çþÿÿè#%¹ºˆÈD…ÿÿÿ‰L$‰T$‰$èc%¸•Äþÿÿ‰D$…ÿÿÿ‰T$‰$èB%‹…¼þÿÿ‹P…ÿÿÿèîýÿÿ…ÿÿÿ•Èþÿÿ‰$‰T$è–Jÿ…¨þÿÿ•ÿÿÿ‰$è¢$¸@•ÿÿÿ‰D$…Èþÿÿ‰D$‰$èá$‹•Àþÿÿ…ÿÿÿèýÿÿ…Èþÿÿ•ÿÿÿ‰D$‰$è8J1À‰…¬þÿÿéxþÿÿ‹•¼þÿÿ‹B‰D$‹B ‰D$‹…¸þÿÿ‰$èÉgÿÿ‰…´þÿÿ‹•¼þÿÿ‹B‰D$‹…¸þÿÿ‰$èØvÿÿ‰…°þÿÿ‹•¼þÿÿ‹B‹•Àþÿÿ‰D$‹…´þÿÿ‰$‰D$è}`ÿÿ‹•¼þÿÿ‰Æ‹B‰D$‹B‰4$‰D$è_gÿÿ‹•¼þÿÿ‰Ã‹B‰$‰D$‹…°þÿÿ‰D$è>`ÿÿ‰$‰Çè4\ÿÿ‰4$è,\ÿÿ‹•°þÿÿ‰$è\ÿÿ‹…´þÿÿ‰$è\ÿÿ‹•¸þÿÿ‰$è\ÿÿÄ\‰ø[^_]Ãt&U‰å‹E‹U ]éáüÿÿU‰åƒì‰]ø‹E‰uü‹P‹X ‰$è3mÿÿ‰ÂƒÂx,‰$‰ÖÁþèmÿÿ‰ÂƒÂx8Áú‹]ø‹uü‰ì…]É$P‰Öèólÿÿ‰ÂÁþƒÂyщö¼'P‹]øÁú‹uü‰ì]…öU‰åWVSƒì‹E ‹P‹@ ‰Uð‰Eì‹EfÇ0xÆ@‹UìÇEè‰$èŠlÿÿ‰ÂƒÂˆí‰ÐÁø…ÀŽÑxÿë;‰û‹EìÁë‹uèÑû‰\$ÛÿEè‰$èÜlÿÿ‰ù‹U)ÙÁáOÓøƒà¶€£ÈDˆƒÿÿuÀ‹Eè‹UÇ,0xƒÀ‰Eè‹Eð‰$èlÿÿ‰ÂƒÂxq‰ÐÁø…À~Wxÿë;‰û‹UðÁë‹uèÑû‰\$Û‰$ÿEèèilÿÿ‰ù‹U)ÙÁáOÓøƒà¶€£ÈDˆƒÿÿuÀ‹Eè‹UƃÄ[^_]ø뢸é%ÿÿÿPëŠPé ÿÿÿv¼'U‰åWVuˆSìü‰4$èÙ¾ÿÿ‹U‹B‰$è‹kÿÿXýƒûÿt9½ÿÿÿ‰\$‹MK‹A‰$èÊkÿÿˆ…ÿÿÿ¸‰D$‰|$‰4$èϾÿÿƒûÿuÍ‹U‹B ‰$è5ÁǃûO‹µ¤þÿÿ‰…¤þÿÿ~ª‹•”þÿÿ‹ þÿÿ‹œþÿÿЋU‰‹…þÿÿð‰B‹…Œþÿÿø‰B‹…ˆþÿÿ؉B ‹…˜þÿÿȉBÄl[^_]Ãv¼'U‰å‹EÇ#EgÇ@‰«ÍïÇ@þܺ˜Ç@ vT2Ç@ðáÒÃÇ@TÇ@\Ç@X]ÃU‰åWVSƒì\‹]‹u‹} ‹C\‹STð9ð‰C\’À¶ÀCX…Òt 2ƒø?Ž 2ƒø?~z‰|$¸@)ЉD$T‰$èÕæ‹ST‰ø1É)Ðt2Àx@t&¶T‹¶D‹ÁâÁà ¶D‹Áà ¶D‹ ‰T¨Aƒù~Ó‰$E¨‰D$èdüÿÿÇCT1Òƒþ?†‰t$C‰|$‰$ècæ‰sTƒÄ\[^_]Ét$D‰|$‰$èDæsTƒÄ\[^_]Éö¼'U‰åWVSƒìl‹]‹CTƒø7ŽûÇE¤x)E¤ü‹CX}¨‹S\‹M¤4ʼnÐÁè ÆÁâ1ÀÁé‰U ó«öE¤tfǃÇöE¤tÆÆE¨€‹E¤M¨‰L$¿‰$‰D$è€þÿÿ¶M ‰ðÁèˆE¨‰ðÁèˆE©‰ðÁèˆEª‰ðˆE«‹E ˆM¯‰|$ÁèˆE¬‹E ‰$ÁèˆE­‹E ÁèˆE®E¨‰D$è.þÿÿ1Ò¶¿¶D“‹M ˆ‘·D“ˆD‘‹“ÁèˆD‘‹“ˆD‘Bƒú~ÕƒÄl[^_]ÃÇE¤8éÿÿÿU‰åSƒìt]˜‰$èŽýÿÿ‰$‹E ‰D$‹E‰D$è¸ýÿÿ‰$‹E‰D$è©þÿÿƒÄt[]ÃvU¸`‰åSƒì‰D$Ç$è$ýÿ‰$‰Ãè:ýÿÿƒÄ‰Ø[]ÃfU‰å]égýÿÿ´&U‰åSƒì‹]‹E ‰$‰D$èGþÿÿ‰]ƒÄ[]éš#ýÿv¼'U¸`‰åƒì‰D$Ç$èµýÿÉÃvU‰å]ég#ýÿ´&U¹@‰åW‰×º6V‰ÆE¨Sƒì\‹]‰L$‰T$‰$èëã1É9Ù}'¶¼'¶90D)¨A9ÙœÂ1Àƒù?žÀ…Âuæ‰4$è^üÿÿ‰4$¸@‰D$E¨‰D$è†üÿÿ¸@‰D$¸\‰D$E¨‰$èã1É9Ù}v¶90D)¨A9ÙœÂ1Àƒù?žÀ…Âuæ^`}¨‰$èøûÿÿ‰$¸@‰D$E¨‰D$è üÿÿü¹1Àó«ƒÄ\[^_]ô&¼'U‰å‹EÇE‹U ]éêþÿÿv¼'U‰å‹EÇE‹U ]éÊþÿÿv¼'U‰åW‰ÇV¾`S쬉•dÿÿÿ‹U ]ˆ‰t$µhÿÿÿ‰Ðˆ•kÿÿÿÁ舅hÿÿÿ‰ÐÁ舅iÿÿÿ‰ÐÁè‰|$‰$ˆ…jÿÿÿè”â‰t$¹‰L$‰$èOûÿÿ‰$‹E‰D$‹…dÿÿÿ‰D$è6ûÿÿ‰t$‰$è*üÿÿ‰$º`G`‰T$¿‰D$è=â‰|$‰t$‰$èýúÿÿ‰$‹E‰D$èîûÿÿĬ[^_]ÃvU‰åS‹]‹U ‹E‰] ‰M‹M‰M []éýþÿÿ¶¼'U‰åƒìH‰}ü‹U‹} ‰]ô‹E‹]‰uøuȉT$‰ú<;‰t$‰$è½þÿÿü¹‹]ôó¦”À‹uø‹}ü‰ì¶À]ÃfU‰åU؃ì8‹E‰uü‹u ‰T$‹U‰]ø‹]‰T$‰ò‰$èsþÿÿ‹E؉3‹E܉D3‹Eà‰D3‹]ø‹uü‰ì]Ãt&U‰åƒìH‰}ü‹U‹} ‰]ô‹E‹]‰uøuȉT$‰ú<;‰t$‰$èþÿÿü¹ ‹]ôó¦”À‹uø‹}ü‰ì¶À]ÃfU‰åVµ8ÿÿÿSìðÿÿÿ‹E ‹U‰$‰ðè™üÿÿ‰4$‹E‰D$‹E‰D$èƒùÿÿ‰\$‰4$èwúÿÿ‰\$¸]˜‰D$‰$è_ùÿÿ‰$‹E‰D$èPúÿÿÄð[^]ÃU‰Á‰åƒì ‰$‰t$‹t$‰|$‹|$¶‰ÐÁàжQiÒжQ¹WiÒ ‰Ø÷éÁúiÒ÷)Ӊ؋$‰ì]Ãt&U‰Á‰åVSƒì‹˜€ˆU÷‹u[·D fƒøÿtZ˜@fÇAÿÿ[Àf‰tfÇDÿÿ¿”q€ƒúÿf‰f‰œq€tRf‰\A¶E÷ˆ„C%ÿ‰€X[^]÷D fƒøÿt¥˜ºÿÿÿÿf‰”A€ë•t&U1ɉåWVSì\‰…Ôþÿÿ‹1Û‰Àþÿÿ1Û‹°ø‰Äþÿÿ‰•Ðþÿÿƒþ‰…ÌþÿÿŽ˜‹U)؃øŽ)1É 9ð}0‹…Ìþÿÿȶ„òˆ„)ØþÿÿAƒù,‹…Ìþÿÿ‹°ø 9ð|Ћ•Ðþÿÿ)𶈄)ØþÿÿAƒù~Ô…ØþÿÿCèPþÿÿ¶•Øþÿÿ‰$‹…Ìþÿÿè›þÿÿ‹Ìþÿÿ‹±ø9Þhÿÿÿ1À‹½Ìþÿÿ)Þ‰…Àþÿÿ1À‰…Äþÿÿ1À‰·ø‰…¼þÿÿ‹E…ÀŽC‹} …ÿ•À1Òƒ}ŸÂ…Є™‹…Ðþÿÿ1öèÐýÿÿ‰µÈþÿÿ‹•Ìþÿÿ¿„B€‰…´þÿÿ@„kë ‹Ìþÿÿ‹‰€‰¸þÿÿ‹¸þÿÿ‹´þÿÿ)Ù‘€…҉Ј!%€ÿÿ‹¸þÿÿ¾€)Â1Û)Ö)ñ…Ûˆ·‹…Ðþÿÿ¶‰Ø)ðˆÌ‹½Ðþÿÿ¶9ÂuCAƒû~σû„‹•´þÿÿ‹ÌþÿÿR¿A‰…´þÿÿ@…^ÿÿÿ‹…Èþÿÿ…Àެ¾;u²f‹½Èþÿÿ1Û1À‰…´þÿÿ9û|é—´&C;Èþÿÿ}g…öˆ‹½Ðþÿÿ¶ >‹”Ýèþÿÿ‰ð)Ј8‹•Ðþÿÿ¶9ÁuÆ‹´þÿÿ‹„Ýèþÿÿ‹”ÝìþÿÿC‰„Íèþÿÿ‰”ÍìþÿÿA;Èþÿÿ‰´þÿÿ|t&‹…´þÿÿ…Àt‹½´þÿÿF‰½Èþÿÿ;uŒPÿÿÿ‰µìþÿÿ‹½Äþÿÿ…ÿŽ_‹…Äþÿÿ@9ÆŽ+¶…¼þÿÿ»‰D$‹…Ôþÿÿ‰$ÿP‹ìþÿÿ‹•èþÿÿ‰Äþÿÿ‹Ðþÿÿ‰•Àþÿÿ¶ ‰¼þÿÿƒ}ŽË‹…Ðþÿÿèµûÿÿ‹½Ðþÿÿ¶‰$‹…ÌþÿÿèþûÿÿéÍ‹•¸þÿÿ‰Ø‹½ÌþÿÿÚâÿ)𶔉7þÿÿv‰Ï‹…Ìþÿÿçÿ‰½°þÿÿ¶„8éþÿÿÿÿéÔýÿÿ‹Äþÿÿ…ÛŽŽ‹Äþÿÿ‹½Àþÿÿ‹…Ôþÿÿ‰L$‰|$‰$ÿP ‹Äþÿÿ1ɉÄþÿÿK…ÛŽþüÿÿƒ}5ÿÿÿ‹•Ìþÿÿ‹Ðþÿÿ‹½Ìþÿÿ‹‚ø¶ˆ”ò@‰‡øÿ…ÐþÿÿKÿM…Û¿‹E…À½üÿÿÄ\[^_]Ë•Ðþÿÿ»‹Ôþÿÿ¶‰ $‰D$ÿQé»þÿÿ‰Ù9Þ닽Ìþÿÿ‰Ê)Ú¶„òA9Έ„òâé5üÿÿ‹…Ìþÿÿ‹¸€÷)×çÿ‰½°þÿÿ¶„8é©ýÿÿv‹•Ìþÿÿ‹‚€ð%ÿ¶Œékýÿÿ‹…Èþÿÿº‰´Åèþÿÿ‰”Åìþÿÿ@ƒø‰…ÈþÿÿŽÉüÿÿéäüÿÿ‹½Äþÿÿ‹…Àþÿÿ‹•Ôþÿÿ‰|$‰D$‰$ÿR é§þÿÿ‹•ìþÿÿ»‹…èþÿÿ‰•Äþÿÿ‹•Ðþÿÿ‰…Àþÿÿ¶‰•¼þÿÿéÂýÿÿ¶¿U‰åSƒì‰Ã‹H‰ÈEƒø s‰CÓâ‹K ʃø‰S ~[‹Kë*v‹ˆ‹C@‰C‰Á‹C Áè‰Â‰C ‹Cƒè‰Cƒø~,;K|ÔA@º‰C‰T$‰D$‹‰$è·ýÿ‰‹S ‹K믃Ä[]ÃÇ$ ÒD¸r»¼ÒD‰D$‰\$è‘Ù‰ö¼'U‰å‹E¶U ‹H‹A…Àu€úw¶Â¶ÐÑDÇE‰È]éÿÿÿ¶ÒëìÇE ¶Â¶ ÑD‰È]Téüþÿÿ¶¿U‰åWVSƒì‹E‹} ‹@‰Eð‹@…À…µ‹]…ÛŽY}¾ ‹uþx)u¹ÿÿÿÿ»ë ‰Ø)ÈH~$ ‰ÂÁêÑúRÁà9°DÐD~.‰Ó‰Ø)ÈHܹ‰L$Ç$ÉÒD»¼ÒD‰\$èØ´&9°HÐD} ‰Ñ뤃î냘@ÐD·€@ÐDf=xÇ$˜¶” ÏD‹Eðèþÿÿ·Cf…Àuw¹ÿÿÿÿ»‰Ø)ÈH~$ ‰ÂÁêÑúRÁà9¸ÄÎD~‰Ó‰Ø)ÈHܾA‰t$é[ÿÿÿ´&9¸ÈÎD}D‰Ñë´Ç$˜¶HÑD‹Eðèýÿÿ·Cf…Àt‰‹S˜‰$‹Eð)Ö‰òèqýÿÿéqÿÿÿƒÄ[^_]ØÀÎD¿€ÀÎD¶Å ÑD‹EðÇ$è@ýÿÿ·Cf…À„cþÿÿ‹K˜‰ú‰$‹Eð)Êè ýÿÿéKþÿÿÇ$ÔÒD¿¾¼ÒD‰|$‰t$è5×¶¼'U‰åSƒì»‰\$Ç$è4ýÿÇ$¹ü‰Ã‰L$èýÿ…ÀtO‰1Ò¹ÿfÇDÿÿfÇDÿÿfÇÿÿƒÂIyæ1Ét&ºÿÿÿÿf‰”H€Aùö~ê1É1Ò‰ˆ€‰øÇC 0C¸ÇC €0C‰D$Ç$è§ýÿÇ@Ç@ Ç@Ç@‰CƒÄ‰Ø[]ÃU‰åSƒì‹]‹C‰$è+ýÿ‹‰$è!ýÿ‰]X[]éýÿ¶U‰å‹E‹P¸‹JÇB…Éu ‹R‰ÐƒÀ x Áø]ƒÀÃfBÁøëñ´&U‰åWVSƒì ‹E‹}‹p¸Ç‹NÇFÇF…É…,‹V…Òt#…À„êÇ$1Ò‰ðè[ûÿÿéÕ¶…À„‰<$‹U »‰\$‹Eè±õÿÿÇ$1Ò‰ðè!ûÿÿÇ$ º‰ðèûÿÿÇ$‰ðºèûúÿÿÇF‹‹E‰‹E‹V‰ƒÄ ¸[^_]ø)Ð1Ò‰$‰ðèÅúÿÿt&Ç$‰Ú‰ðè°úÿÿÇ$‰Ú‰ðòÿÿ)ßè˜úÿÿ‰$1À‹U ‰D$‹Eèõÿÿ] …ÿŽkÿÿÿÿÿÿ‰û~»ÿÿÇ$1Ò‰ðèZúÿÿ‹V…Òt“évÿÿÿÇ$‰ðºxœè;úÿÿÇF1Àé³þÿÿÇ$º‰ðèúÿÿéÍþÿÿt&U‰åWV1öSƒì,»‰Uì‰\$»‰EðÇ$èEýÿ¶M‰Eè‰ØÓà¹H‰L$¶M‰EäÓã{ÿ‰$èýÿ‹Uèƒÿ‰B‰:ëÆð1Ò‹MèfÇDðÿÿ‹A‹9‰TðF9÷}âÇEà‹E9Eàë fÿEà‹U9Uà…‹Uà‹Mì¶ ;E~â‹Mð‹Eä‹‘!Ð;E uÒ¶MÓú!ú‰ÖëQ¶‹Eè‹Uà‹X‹Eàf‰Tó‹Uì¶ ‹E¶Ñ)¶ó9Ð}ˆó‹Mè‹Eà‹Uì‹9¶ ‹]¶É¸)ÙÓàÆ9÷}±élÿÿÿ1öƒÿ|t&‹Mè‹A¶ð;UF9÷}ì‹EèƒÄ,[^_]ÃfÇDðÿÿ‹M)ʃú~º¶Mˆ ð‹Eè‹} ¶M‹X‹E‰T$ ‹UЉD$‰ðÓà ø‹Uì‰D$‹E‰$‹Eðè[þÿÿ‰Dó‹UèF‹:9÷ë¶¼'U‰åW¿VSì,‰…äúÿÿ1À‰•àúÿÿ‰…Üúÿÿt&¼'1À‰D½¨Gƒÿ~ô1ÿ;½àúÿÿ}/v¼'‹•äúÿÿ¶ÿD…¨;…Üúÿÿ~‰…ÜúÿÿG;½àúÿÿ|Û1Ò¿t&‰”½hÿÿÿ‹D½¨GÂÒƒÿ~ë1ÿ;½àúÿÿ}Q‹…äúÿÿ1Û¶4‹”µhÿÿÿB‰„µhÿÿÿ1Àƒþ‰„½èúÿÿ~1Év‰ÐɃàC ÁÑú9Þð‰Œ½èúÿÿG;½àúÿÿ|°‹•Üúÿÿ…èúÿÿƒú ~º ‰T$ ‹•àúÿÿ1ÿ‰|$1ö‰t$‰$‹•äúÿÿèýÿÿÄ,[^_]Ãt&¼'U‰åW‰Ç¸ÿÿÿÿVSƒì …ÿt[‹71À…ötS‹1Ûƒú|R‹Fë ¶C9Ú|‹LØ…ÉtóDØCè¹ÿÿÿ‹‹F9Ú}å‰$èØýÿÇF‰4$èÉýÿÇ1ÀƒÄ [^_]ËFëÔt&Uº¬‰åVµØþÿÿSì0‰T$Ç$èÊ ýÿ‰4$‰Ã¸‰D$¸‰D$è&иp‰D$¸ ‰D$…hÿÿÿ‰$èÐÇEغ ‰ðÇEÜÇEàÇEäÇEèÇEìÇEðÇEôèšýÿÿ‰¸º‰…Øþÿÿ¸¹‰…Üþÿÿ¸‰…èþÿÿ¸‰…ìþÿÿ¸‰…ðþÿÿ¸‰•äþÿÿº ‰…ôþÿÿ‰ð1ö‰àþÿÿè2ýÿÿ‰C1À‰ƒ”1À‰ƒ˜‰ØÇCÇCÇC ÇC‰³œÄ0[^]ÃU‰åSƒì‹]‹C…Àt;t Cèþÿÿv‹C …Àt;CtC èüýÿÿ¶¿‹C…Àu‰ØèâýÿÿCèÚýÿÿ‰]Y[]éÿ ýÿCèÇýÿÿ‰ØèÀýÿÿCè¸ýÿÿ‰]Y[]éÝ ýÿ¶¼'U‰åW‰ÇVSƒì‹E‰Uð‹‹2t&¼'‹‹@!Úж 9ñ ·BÓë)Îfƒøÿu‹B…ÀuÚ¸þÿÿÿZ[^_]ÃZ¸ÿÿÿÿ[^_]É‹Uð˜‰2Z[^_]öU‰åƒì‰]ø‰Ã‰uü‹€œ‰Öˆ”œ@%ÿ‰ƒœ‹ƒ¤;ƒ¨}‹“ ‰ñˆ ÿƒ¤‹]ø‹uü‰ì]ù‰ƒ¨‰L$‰D$‹ƒ ‰$èø ýÿ‰ƒ ‰Â‹ƒ¤‰ñˆ ÿƒ¤‹]ø‹uü‰ì]Ãt&U¸‰åW¿V1öSƒì‰D$Ç$èÛýÿ‹]‹U…Û‰‚ ‰º¨‰²¤Ž‹M‹™˜fƒû‰ÞžÀ1Òƒ}ŸÂ…Ðt^‹EƒÃ‰]苸”¶¿‹U ‰ñ‹]‹u¶B‰U Óà lj»”‹]èC‰ž˜‰ÞÿMƒûžÂ‰Eè1Àƒ}ŸÀ…Âu½‹U‹Bƒø wRÿ$…üÒD‹}‹U‹E‹O ˜”‰ $èüýÿÿƒøÿt:ƒøþ„ÇG ‰G‹Ÿ˜´&¼'‹u…ö%ÿÿÿ…Ûÿÿÿ‹U‹M‹]‹‚ ‰‹‚¤‰¸ƒÄ[^_]Ëš˜ëʃû~Í‹M‰È¶‘”èéýÿÿ‹u‹F<‹ž˜Á®”Hƒë‰ž˜…À‰FÖDèüýÿ‰D$‰Ã‹G‰$è›2‰]‹uø‹]ô‹}ü‰ì]é‡ýÿ´&U‰åƒì8‰uø‹u‰]ô‰Ã‰ð‰}ü‰×ˆUÙ‹SˆEÚ¸ÆEØÿ‹ ‰D$E؉$‰D$ÿQ‰t$ºHÖD‰<$‰CL‰Øè ÿÿÿ‹]ô‹uø‹}ü‰ì]ÃU‰åSƒì‰Ã‹B‹Mƒøtlƒøt{‹C …Àu@‹KH…Éu3¡pÓDƒ|ƒt|¡ÔDƒ|ƒ„¬¡TÓDƒ|ƒ„|ÇCHƒÄ[]É$1Ò1ɉT$ 1Ò‰L$‰T$è–âüÿë¤t&:ýu‘1À…É”À‰C@ë…:ý…yÿÿÿ1À…É”À‰CDéjÿÿÿ1Ò‰Tƒ¡lÓD‹\ÓD‰$‰ØèÖþÿÿédÿÿÿ1Ò‰Tƒ¡PÓD‹@ÓD‰$‰Øè¶þÿÿédÿÿÿ1É‹ÔD‰Lƒ¡ÔD‰$‰Øè–þÿÿé4ÿÿÿU‰åƒì8‰uü‹u‹U ‰]ø‹E‹N‰V‰F…Ét ¡¨ÓDƒ|†t ‹]ø‹uü‰ì]ÃÆEØÿ‰Ð]ØÆEÙúÁø¹ˆEÛþÀÆEÚ„–‹FˆD)ØA€|)×ÿ„¤‹V‰ÐÁøˆD)ØA€|)×ÿ„ˆT)ØA€|)×ÿtmÆD)ØÿAÆD)Øð‹FA‹‰L$‰\$‰$ÿR‰FL‹F‰D$‹FÇ$OÖD‰D$è‘þüÿ‰D$‰Ã‹F‰$è00‰$è(ÿüÿ‹]ø‹uü‰ì]ÃÆEÜÿ¹é\ÿÿÿÆD)ØÿAë‹ÆD)ØÿAétÿÿÿÆD)ØÿAéQÿÿÿfU‰åƒì‰]ô‰Ó‰uø‰Æ‰}ü:ûtÇ$‰Ú‰ðè¥ýÿÿ‹]ô‹uø‹}ü‰ì]ÃztT‹Kƒù'”Àƒù$” Шtȃù'¿@ÔDt¿$ÔD‹Gƒ|†vJ¿‰Ú‰|†‰ðÇ$èKýÿÿ‹]ô‹uø‹}ü‰ì]Ë@‰D$‹F‰4$‰D$è8þÿÿ;û…gÿÿÿ눋G‹W‰$‰ðèªüÿÿ‹Gë¡t&U‰åW‰×VSƒì‹u‰Eð‰$ºeÖD‰t$èÞûÿÿÇEìÀÓD‹ÀÓD…Òt}¡TÔD‰Ó‰EèëƒEì‹Uì‹…Ûtc9suî9{„9suà9{ uÛ‹C‹Mð‹T…Ò„£Jui‹Mðº‰T‹S‰È‰4$è üÿÿÇE‹Eì‹‹EðƒÄ[^_]éRüÿÿf1Òÿû”Â1Àÿý”À Ðt”ü‰u‹EðƒÄ[^_]é½ûÿÿƒÄ[^_]ËS‹Mð‹D‘ƒøtL@…Àuã‹Eð¹‰L‰ÚƒÄ[^_]éþÿÿ‹Uð¾‰t‚;ût:ÇE‰Úécÿÿÿƒøu¢‹Së‹‹Mð¿‰È‰|‘‰4$‹èBûÿÿ‹Eì‹‹Eð릃{'uÀ‹Mèƒ|Šu¶Ç$$ºû‹Eðèûÿÿ‹Eè1É‹Uð‰L‚ë”¶U¸‰åSìøþÿÿ‰D$‰\$‹E‰$èL‹E …Àu2‹E‰\$Ç$lÖD‰D$èŠûüÿ‰D$‹E‹@‰$è(-Ä[]ËE‰\$Ç$…ÖD‰D$èXûüÿ‰D$‹E‹@‰$èö,Ä[]ö¼'U‰åƒì‰]ø‹]‰uü‹u ‹S…Òu7…öt'‰t$‹C‰$è´,‰t$¸¡ÖD‰D$‹C‰$è„‹´&¼'‰×EU èÃýÿÿ…À|&~-‹U€:u¥‹] €;u3‹U€:u•‹E €8”À¶ÀƒÄ [^_]ËU B‰Æ‰E €zt,‹U몉4$)óè •‰}ðU )؉E Eè[ýÿÿƒÄ [^_]Ã1À붸ë¯Ç$ŽÚDºá¸ŸÚD‰T$‰D$è•v¼'U‰åVS‹] ‹u¶ „Ét>´&¼'€ù\t;€ù*”À€ù?” Шu3€ù[t.€ù]t)…ötˆFC¶ „ÉuÐÆ¸[^]Ãt&C¶ „ÉuÙëæ[1À^]ÃU‰åƒìè5è€<‹E‰$èÝ•t&U‰å]Ãt&¼'U‰å]Ãt&¼'U‰å]Ãt&¼'U‰åƒìh‰uø‹u‰}ü‹}‰]ô‹]‰|$ ‰t$‹E‰D$‹E ‰$è.o…Àº„Áƒø„ÈH„BÇ$öÿÿÿèÍ•‰ÃƒìEĉD$‰$豕‹Eăì‰$ƒÈ‰D$蔕ƒìEÀ1ɉD$ ºEȉL$‰T$‰D$‰$èd•‹Eăì‰$‰D$èZ•¶Mȃì„É•Â1À€ù •À…Âtz€ù tu€ùy”À€ùY” Ш…|ºv¼'‹]ô‰Ð‹uø‹}ü‰ì]á€E…À„‰\$ ¸0ÝD‰t$‰D$¡äSEƒÀ@‰$è’“1Ò‹]ô‰Ð‹uø‹}ü‰ì]ø5áD‰D$¡äSEƒÀ@‰$èg“1ÒëÓ‰|$ ‰t$‹E‰D$‹E ‰$èÙpºéoÿÿÿ¡€E…ÀtI‰t$¾°ÚD‰\$ ‰t$ë‰\$ ¸ÞD‰t$‰D$¡äSEƒÀ@‰$è“¡äSEƒÀ@‰$è “élþÿÿ‰\$ »pÛD‰t$‰\$ëÈv¼'U‰å]Ãt&¼'U‰åSƒìT‹ €E‹U ‹E…Ét*‰D$ ¡äSE»ÐáD‰T$ƒÀ@‰\$‰$舒1Ò‹]ü‰ÐÉÉD$ ¡äSE¹PáD‰L$ƒÀ@‰T$‰$è^’¡äSEƒÀ@‰$èf’Ç$öÿÿÿèš“‰ÃƒìEÔ‰D$‰$è~“‹EÔƒì‰$ƒÈ‰D$èa“ƒìEÐ1Ò‰D$ ¸‰D$E؉T$‰D$‰$è1“‹EÔƒì‰$‰D$è'“¶E؃ì‰D$¸ŠçD‰D$è¿´&U‰åƒì‹E‹…Òt ƒÀ8‰EÉéåºüÿÇ$€çD¸D‰D$¸ŠçD‰D$è´&U‰å‹E]‹@ ÃU‰å]Ãt&¼'U‰åƒìÇ$êçDèþ‰$膽üÿÉÃt&Uº‰åì(‹E ‰]ø‹]‰uüµèþÿÿ‰T$‰4$‰D$è°€‰t$¸‰$ÆEë‰D$è§€‰Ø‹uü‹]ø‰ì]‰ö¼'U‰å‹E]ô&U‰å… ƒì‰D$E‰$èÉ…À”À¶ÀÃt&¼'U1À‰å€}]”ÀÃfU‰åVuôSƒì‰t$ÇEôÇ$è¾vƒì…ÀuÇEô‹Eô¹‰L$‰$èlºüÿ‰$‰Ã‰t$èŽvƒìeø‰Ø[^]ÃfU¸”‰åƒì‰D$1À‰D$Ç$@FEè§Ç$@FE¸”£@FEèiƒìÉÃt&U‰åVSƒì ¡ÀE‹u…Àt}¡°E…ÀtX‹àDƒûÿt-‰4$èP‰D$1Ò‰T$Uô‰T$ ‰t$‰$è«€¡°Eƒì‰4$‰D$è/€¡°E‰$èjeø[^]ÃÇ$òçD¹üçD‰L$裰EëŒè€…À„vÿÿÿÇ$õÿÿÿ»‰ÀEèc€£àDƒìéRÿÿÿU¹ÿÿÿÿ‰å‹E ‹P‹E9Pr—À¶È]‰ÈÃUºÿÿÿÿ‰å‹E ‹@9Er—À¶Ð]‰ÐÃvU‰åSƒì¶E ¶]Áà É$¸°E‰D$ÿE1Òƒì…Àu 1Ò8°E”‹]ü‰ÐÉÃë U‰åƒìÇ$ èD耣àEƒì…À£ðE„ ‰$¹+èD‰L$èØƒì…À„}¡àE1Ò…À… ‰`E1Ò…À…>‰pE1Ò…À…^‰€E1Ò…À…~‰E‹ðE1À…Ò… £ E¡àE1Ò…À…׉ðFE1Ò…À…§‰ GE1Ò…À…w‰GE1Ò…À…G‰GE1Ò…À…‰àFE1Ò…À…ç‰E1Ò…À…·‰ E1Ò…À…‡‰0E1Ò…À…W‰@E1Ò…À…'‰PE1Ò…À…÷‰`E1Ò…À…ljpE1Ò…À…—‰€E1Ò…À…g‰E1Ò…À…7‰ E1Ò…À…‰°E1Ò…À…׉ÀE1Ò…À…§‰ÐE1Ò…À…w‰àE1Ò…À…G‰ðE1Ò…À…‰E1Ò…À…ç‰E1Ò…À…·‰ E1Ò…À…‡‰0E1Ò…À…W‰@E1Ò…À…,‰PE¸‰D$Ç$èYýÿÿ…À„ÁÇ$ŠCè5Òÿÿ£EÉÉ$º+èD‰T$è}‰Â¡àEƒì‰`E1Ò…À„Åýÿÿv‰$¹7èD‰L$è_}‰Â¡àEƒì‰pE1Ò…À„§ýÿÿt&‰$ºDèD‰T$è/}‰Â¡àEƒì‰€E1Ò…À„‡ýÿÿt&‰$ºPèD‰T$èÿ|ƒì‰Âégýÿÿt&Ç$1ɉL$è~üÿÿ…À…%ÿÿÿÇ$º‰T$èaüÿÿ…À…ÿÿÿÇ$]èDèm'é÷þÿÿ‰$ºzèD‰T$è—|ƒì‰Âé¹þÿÿ‰$¹ƒèD‰L$è||‰Â¡àEƒìé‰þÿÿ‰$ºˆèD‰T$è\|‰Â¡àEƒìéYþÿÿ‰$¹èD‰L$è<|‰Â¡àEƒìé)þÿÿ‰$º›èD‰T$è|‰Â¡àEƒìéùýÿÿ‰$¹ èD‰L$èü{‰Â¡àEƒìéÉýÿÿ‰$º§èD‰T$èÜ{‰Â¡àEƒìé™ýÿÿ‰$¹®èD‰L$è¼{‰Â¡àEƒìéiýÿÿ‰$º¹èD‰T$èœ{‰Â¡àEƒìé9ýÿÿ‰$¹¾èD‰L$è|{‰Â¡àEƒìé ýÿÿ‰$ºÆèD‰T$è\{‰Â¡àEƒìéÙüÿÿ‰$¹ÐèD‰L$è<{‰Â¡àEƒìé©üÿÿ‰$ºÚèD‰T$è{‰Â¡àEƒìéyüÿÿ‰$¹èèD‰L$èüz‰Â¡àEƒìéIüÿÿ‰$ºöèD‰T$èÜz‰Â¡àEƒìéüÿÿ‰$¹üèD‰L$è¼z‰Â¡àEƒìééûÿÿ‰$ºéD‰T$èœz‰Â¡àEƒìé¹ûÿÿ‰$¹éD‰L$è|z‰Â¡àEƒìé‰ûÿÿ‰$ºéD‰T$è\z‰Â¡àEƒìéYûÿÿ‰$¹éD‰L$è1À…ÒuxÉÃf‹@ 1Ò‹@‹…Éu"‹H…Éu‹H…Éux u º¶É‰ÐËP …Òu-‹H…Ét‹P;P|HÇ$tñD¸k‰D$¸©ñD‰D$è n‹B‹@Éé\þÿÿÇ$ññD¸p¹©ñD‰D$‰L$èvn‹‘‰$ÿPEƒìë˶¼'U‰å‹E‹P¸ƒút 1Àƒú•ÀƒÀ]ÃU‰åSƒì‹M‹] ‹A…À„Š‹Q …Òt1ƒøt^ƒø…“‹R‹B‰‹B ‰C‹B‰C‹B‰C ‹]üÉÃt&ƒøuò‹Q…Òt‹A;A|+Ç$tñD¸»©ñD‰D$‰\$è¶m‹B‹@‰‹]üÉË‚‰$ÿPE‰ƒìëèÇ$ òD¸€‰D$¸©ñD‰D$èxmÇ$%òD¸Š‰D$¸©ñD‰D$èZmfU‰åSƒì‹]‹C…Àt ‹pE…Òu)‹C…Àu‰]‹]üÉé¬üÿf‰$è¬üÿ‰]‹]üÉéü«üÿ‰$ÿÒƒìëÍfU‰å‹U ‹M…Ò‹A t‰Q ]Ãt&¼'U‰å]Ãt&¼'Uº`‰åVSƒì‹]‰T$Ç$èà¦üÿÇ@òD‰ÆÇ@‹E ‰F F‰$èÀ¥üÿ‰^CÇF$ÇF8ÇF(ÇF,ÇF0ÇFTÇF\ÇFXÇFLt>ÇF<¸‰D$‹F‰$è …Àt ‰FƒÄ‰ð[^]Ét$¡E‰$è_ÉÿÿëäÿGE‰$èŸõÿÿëѶ¼'U‰åWV‰ÆSƒì|‹@ƒøÿt‰$1Ò‰T$è?‹F‰$ÿ0Eƒì‹V 1À1ÿ1Û‹ ‰D$‰|$‹FP‰D$ ‹FL‰\$‰$‰D$ÿÇE¤‹FL‹@ …Àt‹@‰E¤1À‰D$¸‰D$‹E¤‰$ÿðE‰E¨ƒì ‰F@„3‹F<…À…‹~@…ÿ…Æ‹FD…À…~‹FHƒøÛ÷ÓãÿéŠfÇE¸Ç$ÿPE‰E¼ƒì·Ã‰$ÿ`Ef‰Eºƒì‹VL1Àƒz”ÀHƒàôƒÀ‰D$EȃztE¸‰D$‹E¨‰$ÿÐEƒì @u^ÿGE=@'‰ÇuK…Û„¨Cÿ¿Ø…Û„šƒ}¤…lÿÿÿü1À}ȹó«fÇEȷÉ$ÿ`Ef‰Eʃìémÿÿÿ…Àua‹FL‹P …Ò„Oƒ}¤„vfÇE¸‹B‹@‰E¼·FP‰$ÿ`Ef‰Eºƒì¿‰|$‹E¨‰$è|…À„‰‰F¿ë‰<$è’óÿÿ‰F…ÿt,‹V »‹ ‰|$‹F‰D$‹FP‰D$ ‹FL‰\$‰$‰D$ÿeô‰ø[^_]ÃÇE¬¸‰D$E¬‰D$ ¸‰D$¸ÿÿ‰D$‹E¨‰$ÿàEƒìéEþÿÿÇE°E°¹‰D$ º»‰\$‰L$‰T$‹E¨‰$ÿàEƒìéýýÿÿÇE´¸‰D$E´‰D$ ¸‰D$¸ÿÿ‰D$‹E¨‰$ÿàEƒìéµýÿÿ‹H…Ét ‹P;PŒßÇ$dòD¸{‰D$¸©ñD‰D$èÕh·FPfÇEȉ$ÿ`E‹NLƒìf‰EÊ‹A ‹P‹B‰EЋB ‰EÔ‹B‰EØ‹B‰EÜ‹A ‹P‹B‰EÌ‹B‰Eàé[þÿÿ1Àƒ}¤”ÀHƒàôƒÀ‰D$Eȃ}¤tE¸‰D$‹E¨‰$ÿÀEƒì @tSÇF$‰t$1ÿ¡E‰$è{Åÿÿeô‰ø[^_]ÃÿGE‰$‰Çè±ñÿÿéþÿÿfÇE¸‹‘‰$ÿPEƒìé»ýÿÿÿGE=3'‰Çt¥‰$è{ñÿÿéäýÿÿ¶U¹`‰åSƒì‰L$Ç$èä¡üÿÇÀòD‰ÃÇ@‹E ‰C C‰$èÄ üÿÇC ‹EÇC$ÇC8‰C<‹EÇC(ÇC,‰C@‹EÇC0ÇCT‰CD‹EÇC\ÇCX‰CH‹E ÇCÿÿÿÿ‰CP‹E‰CLv¼'‰Øè)ûÿÿ…Àt‹CL‰$èjõÿÿ…ÀuæƒÄ‰Ø[]ô&¼'U¸`‰åWVSƒìlÇE´‰D$Ç$èû üÿÇóD‰ÃÇ@‹E‰C C‰$èÛŸüÿƒ}ÇC$‹EÇC8ÇC(ÇC,‰C0ÇCTÇC\ÇCXÇCLÇE°t1Àƒ}”ÀHƒàëƒÀ‰E°1ÿ¾‰t$‰|$‹E°‰$ÿðE‰Cƒì ƒøÿ‰Æ„aÇC<E´¹‰D$ º¸ÿÿ‰L$‰T$‰D$‰4$ÿàEƒìƒ}°„BfÇE¸‹E…Àt\‹E‰$ÿ E‰E¼ƒìƒøÿtE‰$ÿ@E%ÿƒì=”À¶À‰C0·E ‰$ÿ`Ef‰Eºƒì¸ƒ}°uD¸ë=‹E…À…&Ç$ÿPE‰E¼·E ƒì‰$ÿ`Ef‰Eºƒì¸ƒ}°t¼‰D$Eȃ}°tE¸‰D$‰4$ÿÐEƒì @„‰4$¸ÿÿÿ‰D$ÿEƒì@„܉4$¸‰D$èX…À‰Ç„‰4$ÿ0E‰{‰Øƒìeô[^_]Ãt&ÿGE‰$èRîÿÿ‰Ceô‰Ø[^_]Ãt&ü1À}ȹó«fÇEÈ‹E…ÀuJ¡èD‰EСèD‰EÔ¡èD‰EØ¡èD‰EÜ·E ‰$ÿ`Ef‰Eʃì¸é ÿÿÿÇ$éÕþÿÿ¡èD‰EСèD‰EÔ¡èD‰EØ¡ èDë´‰4$ÿ0EƒìÇ$è¥íÿÿéNÿÿÿÿGE…À‰Ç„Ûþÿÿ‰4$ÿ0Eƒì‰<$è|íÿÿé%ÿÿÿ‰\$¡E‰$èÁÿÿƒ}°”Â1Àƒ}”À…„ÿþÿÿ¿‰|$‹E‰D$ ‹E‰D$‹E ‰D$‹E‰$è•üÿÿ…À„Îþÿÿ‹p…öu ‰XX‰C\é¼þÿÿ‰$èS¢üÿé¯þÿÿ´&¼'U‰åSƒì‹]‹C\…ÀuD‰\$¡E‰$èÊÿÿ1À‰D$‹C‰$è‹C‰$ÿ0E‹CLƒì…Àu‰]‹]üÉéë¡üÿ‰$è£ÿÿÿ벉$è˜õÿÿ‰]‹]üÉéÌ¡üÿ¶¿U‰åWVSƒì‹}G‰Eè´&¼'‹G8…ÀtY‰Eð‰ÂG4‰E컉\$ ‰T$‰D$‹G‰$ÿEƒì‰Ã‰$èt …Û~t‹G8…ÀtY‹Eð9ÃŒÞÇG8‹G8…Àu§‹Eè‰$è•›üÿ…ÀŽæ‹G8…ÀuEð1Û‰D$Eì‰D$‹Eè‰$è{›üÿ‹Uð‹Eìéwÿÿÿ‰\$‹Eè‰$è¡üÿéLÿÿÿŒ§1ö‰Øþ'–ÂÁè…Â…­þ3'„¡…Û”ÀþE'” ШudþF't\‰4$èNëÿÿ‰D$Ç$èŽÑÿÿ‰4$è6ëÿÿ‰D$Ç$$óDèÖ éÑþÿÿ)؉D$D4‰D$G4‰$è·a‹Eð)؉G8éªþÿÿ‰wTeô[^_]ÃÿGE‰Æþ'‰Ø–ÂÁè…„SÿÿÿÇG$eô[^_]ÃfU‰åƒì‰]ø‹E‹]‰uü‰D$‹E s‰4$‰D$踛üÿ‹C$…Àu‰u‹]ø‹uü‰ì]é0šüÿ‰$èþÿÿ‰u‹]ø‹uü‰ì]éšüÿ´&U‰åƒì‰uü‹u‰]ø‹]F‰$ès üÿƒûwC‰\$V4‹E ‰$‰D$èH`‰^8‹V$‰Ø…Òu ‹]ø‹uü‰ì]Ãf‰4$è˜ýÿÿ‹F8‹]ø‹uü‰ì]ÃÇ$'óD»¹©ñD‰\$‰L$èE`¶¼'U¸ÈP‰åè3_‰]ô‹U¸‰uø‹] ‰}ü…Òu ‹]ô‹uø‹}ü‰ì]ÉT$¸°ŠC‰D$¡E‰$èÔ¿ÿÿ‰Ç…ÿ¸tΉÞÁît6‹GL…ÀuJ…ö¸t·‰4$èZéÿÿ‹W 1Û‹‰\$ ‰t$‰D$‹G ‰$ÿR둉$è” ·Ãƒø ‡éÿ$…`óD‰4$»èéÿÿ‹W ‹‰t$‰D$‹GP‰D$ ‹GL‰\$‰D$‹G ‰$ÿë‰$è£íÿÿ…À„pÿÿÿ‰øèDóÿÿ‰Æ‹GL…Àuàé[ÿÿÿ¸€h¯ÿÿ‰…`¯ÿÿ¸€‰D$1À‰$‰D$è¦^‰\$…`¯ÿÿ‰D$‹G‰$ÿ0Eƒì ƒøÿ‰Ã„òfƒ½h¯ÿÿu ‹w0…ö…ø‹G ‹‰\$‹G ‰$ÿR…Àt ‰$ÿ0Eƒì¸éŠþÿÿ¸µè¯ÿÿ‰…\¯ÿÿ‰t$1À‰D$ ¸P‰D$‹G‰$ÿ@Eƒì…À‰ÃŒ"„ñ‹G ‹1À‰\$ ‰t$‰D$‹G ‰$ÿR!…\¯ÿÿ…Û¨‹…\¯ÿÿéþÿÿÇG$‹GLÇG …À„iÿÿÿ‰$è°ðÿÿÇGL¸éäýÿÿ¹ºPµè¯ÿÿ‰L$ ‰T$‰t$‹G‰$ÿ@Eƒì‰Ã‰$躅ێþ‹G ‹¸‰\$ ‰t$‰D$‹G ‰$ÿRéƒýÿÿÇG$w‰4$èÌ–üÿ‰Ã‹G8‰<$Ãèúÿÿ‰4$èµ–üÿ‰Á‹G8Á9Ù·þÿÿ‹G ‹‰L$‹G ‰$ÿR ¸é/ýÿÿ‹O(…ÉtÇG,¸éýÿÿ‹W<…Ò…¸‰…d¯ÿÿ1Àµè¯ÿÿ‰D$ ¸P‰D$‰t$‹G‰$ÿ@Eƒì‰Ã‰$èÚ…ÛŒ6uQ‹G 1ö1Û‹1À‰D$ ‰t$‰\$é ýÿÿ…ý»AóD‰\$Ç$è‰Ìÿÿ‰\$Ç$$óDèÙ¸étüÿÿ‹G ‹1Àƒ½d¯ÿÿ‰\$ ‰t$”ÀéÁþÿÿ‹G 1É‹‰L$ 1À‰D$1À‰D$‹G ‰$ÿR!…\¯ÿÿé þÿÿÿGE=3'‰Æ„÷ýÿÿ‰$è»åÿÿé\üÿÿ¸‰…d¯ÿÿ…d¯ÿÿ‰D$¸s@‰D$‹G‰$ÿ Eƒì éØþÿÿÿGE=ú*…ýüÿÿ¸é¾ûÿÿ‹…l¯ÿÿèŽëÿÿ…À…õüÿÿéýÿÿÿGE‰$èCåÿÿ‰ÃéóþÿÿÿGE=3'‰Æ„êüÿÿ‰$è!åÿÿéÂûÿÿ¶¿U‰åVSƒì1öë t&‹CT…Àu#F‰t$¡E‰$è÷¸ÿÿ…À‰Ãuá…ÛuÕƒÄ[^]É$èÎäÿÿ‹S ‹ 1Ò‰T$ ‹ST‰D$‰T$‹C ‰$ÿQ…Ûu£ë̉ö¼'U‰å‹U ‹E‰P]ÃfU‰å‹E]‹@Ãt&U‰å‹E]‹Ã¶U‰å‹E]‹@Ãt&U‰åSƒì‹]‹E 9C(t‰C(…Àt ÇC,‹]üÉø‰D$‹C‰$è÷ ‹C,…ÀtÙ¸¹‰D$ Eû‰L$‰D$‹C‰$ÿ@Eƒì믶U‰åSƒì1Û‰\$¡E‰$èæ·ÿÿ…Àtf‹H(…ÉtC‰\$¡E‰$èÇ·ÿÿ…ÀuãƒÄ[]úC‰T$‹@‰$èh ëζU1À‰åƒì‰D$‹EÇ¡E‰$è~·ÿÿ…Àºÿÿÿÿt‹PɉÐô&¼'U‰åƒì‹E‹‰T$B‰¡E‰$èA·ÿÿ…Àºÿÿÿÿt‹PɉÐÃU¸°ŠC‰åƒì‰D$‹E‰D$¡E‰$èM¹ÿÿ1Ò…ÀtƒÀ‰$蜒üÿ1Ò…ÀŸÂɉÐÃU1À‰åƒì‰D$‹E‰$ÿE1Òƒì…Àt·@‰$ÿpEƒì·ÐɉÐô&U¸‰åSƒì‰D$Ç$è“üÿ‰Ã¸‰D$1À‰$‰D$èsXÇäóDƒÄ‰Ø[]ÃU‰åƒì¡0E…ÀuÉÃEü‰D$Eø‰$èÝÿÿ‹Eü‰D$‹Eø‰$èû:‹Eø‰$è`—üÿÉô&¼'U‰åWVµ¨þÿÿSì|»‰\$˜ýÿÿ‹}‰$è4Zƒì‰$èÉWfÇ\*ÆD‰$‰t$è Zƒìƒøÿ‰Ãt4´&‰4$¹@‰L$ÿ׉t$‰$èÖYƒì…Àu߉$è¿Yƒìè¯Y‰…”ýÿÿº…”ýÿÿ‰T$‰$ÿ׉<$è­9èøþÿÿeô[^_]ÃU‰åƒì8‰]ø]è‰uü‹u‰$è^Yƒì¸‰D$‰$]ØÿÖ‰$Eä‰D$E܉D$è,Yƒì ¸‰$‰D$ÿÖ‹]ø‹uü‰ì]ÃU‰åW¿V¾Sƒì|]¤èåM‰E¤‰|$}¸‰$ècÿÿèÆM‰E¤‰t$u°‰$èLÿÿè§M‰E¤¹‰L$‰$]˜è0ÿÿÇ$¿è|M‰E ºƒì‰T$E ‰$è ÿÿ‰$èRMƒì¸‰$]ȉD$èëÿÿ‰$è[Xƒì¸ ‰D$‰$]¨èÌÿÿè/X‰$UÀ‰T$‰|$ ‰t$‰\$èXƒì¸ ‰D$‰$è˜ÿÿèëW‰$UÀ‰T$‰|$ ‰t$‰\$èØWƒì¸ ‰$‰D$èdÿÿeô[^_]ö¿U¸‰åSƒì$]è‰D$E‰$è2ÿÿèíV‰Eô¸‰D$Eô‰$èÿÿ‰$è^Wƒì…Àu‹]üÉÃf‰$¸‰D$èïÿÿ‹]üÉÃU¸ ôD‰åƒì‰D$Ç$ ôDèELƒì…À•ÀɶÀô&U‰åƒìX‰}ü‹E¿ ôD‰]ô‹U‰uøÇlj|$Ç$ ôDèúK‰EÔƒì…Àt[è;W‰D$¾ Ç$(ôDèF“üÿ‰D$1ɺ‰T$‰Ã1À‰t$‰L$ ‰D$Ç$ÿÿÿÿèóVƒì…À”ƒøÿ‰Ç”À Шt‹]ô¸‹uø‹}ü‰ì]Ãv‰<$1À‰D$1À‰D$ 1À‰D$¸‰D$èV‰Æ‹E ƒì‰D$‹E‰4$‰D$è2TÇEغPN€‰$èT‰]à@»J‰EÜE؉D$ 1À‰D$‰\$‹EÔ‰$èKƒì…À~[¶¹¶FÁâÁà ¶FÁà ¶F ƒÂ‰UЉL$‰$è/Žüÿ…À‰Ãt ‹UЉt$‰$‰T$è¦S‹E‹U‰‹EЉ‰4$èÙUƒì‰<$èUƒì‹]ô¸‹uø‹}ü‰ì]ÃU¹ ‰åƒìº¡äSE‰L$‰T$ƒÀ@‰D$ Ç$@ôDè€SE ‰D$‹E‰D$¡äSEƒÀ@‰$èJT¡äSEÇ$ ƒÀ@‰D$èÚS¡HE…ÀuÇ$èõ½ÿÿÉÃv‰$è8üÿ1À£HEÇ$èÕ½ÿÿÉÃvU‰åƒì¡äSEÇ$@ôDƒÀ@‰D$ ¸ ‰D$¸‰D$èàRE ‰D$‹E‰D$¡äSEƒÀ@‰$èªS¡äSEÇ$ ƒÀ@‰D$è:S¡HE…ÀuÇ$èU½ÿÿÉÃv‰$è˜~üÿ1À£HEÇ$è5½ÿÿÉÃvU‰åƒì¡äSEÇ$@ôDƒÀ@‰D$ ¸ ‰D$¸‰D$è@RE‰D$‹E ‰D$¡äSEƒÀ@‰$è S¡äSEÇ$ ƒÀ@‰D$èšR¡HE…ÀuÇ$èµ¼ÿÿÉÃv‰$èø}üÿ1À£HEÇ$蕼ÿÿÉÃvU¹‰åƒìº¡äSE‰L$‰T$ƒÀ@‰D$ Ç$NôDè QE ‰D$‹E‰D$¡äSEƒÀ@‰$èjRÇ$ ¡äSEƒÀ@‰D$èúQÇ$èR´&¼'U1À‰å]Éö¼'U‰åƒìƒ} ‹UÀƒàüƒÀ…ÒtƒÈ‰D$¡ðGE‰$è;RƒìÉÃàý‰D$¡ðGE‰$è"RƒìÉÃt&U1À‰å]Éö¼'U‰åSƒì‹M ‹U‹E…Ét<‰D$¡ÀGE‰T$‰$è—Ëÿÿ¡PGE‰$èúÎÿÿ‰Ã¡ÀGE‰$èëÎÿÿÃĉØ[]ÉD$¡PGE‰T$ëÂU¸‰åƒì‰D$¸VôD‰D$Ç$lôDèdP¶¿U‰åƒì‰]ô‹]‰uø‹u ‰}ü‹}‰\$‰t$‰<$èHZüÿƒøÿt‹]ô‹uø‹}ü‰ì]ö‰\$‰t$‰<$è@Àÿÿ‹]ô‹uø‹}ü‰ì]ÃvU¸‰åƒì‰D$Ç$èŠüÿ‹U‰‹U ‰P‹U‰P‹U‰P ‰D$ 1À‰D$¸€‰D$¡pEE‰$è†FƒìÉÉö¼'U‰åƒìƒ} À÷Ѓà?‰D$¡ HE‰D$‹E‰$ÿ GE1Òƒì @uÿGEº›ôD=B'tº¬ôDɉÐÃvU¸H‰åèCN‰uø‹u‰}ü‹} …ö‰]ôˆì‰4$èùÿÿ‹ pGE…Éu1À‹]ô‹uø‹}ü‰ì]á E‰$¡EÿP …ÀtÝ…öަ1Û9ó}‰ö¼'€<;ÿt*C9ó|õ‰t$‰|$¡ E‰$¡EÿP ‹]ô‹uø‹}ü‰ì]ÃC9ðÏ1Ò…Û‰•äïÿÿ~‰\$‰|$¡ E‰$¡EÿP ‰…äïÿÿƒÃ¶ƒÃ¶C‰T$‰D$¡ E‰$¡EÿP9óŒ%‹…äïÿÿé-ÿÿÿt&Ç$1Àèïÿÿ‰D$¸‰D$1À‰D$ ‰ð÷؉D$1À‰\$‰D$è'PÆEçƒì‰Ù´&¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒƒÙ)Ù€¼)çïÿÿ t.‰\$»ÌôD‰\$¡äSEƒÀ@‰$èmMÇ$èA¸ÿÿé`þÿÿ‰Ùv¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒƒÙ)Ù1Àˆ„)çïÿÿë¸ ‰D$¡ E‰$¡EÿPéþÿÿ)Þ‰t$‰D$¡ E‰$¡EÿP …äïÿÿé³þÿÿvU¸$‰åSèòK‹E …Àx[¡pGE…Àu‹]üÉá E‰$¡EÿP …Àtç¡PGE‰$èüÊÿÿ‰Ã¡ÀGE‰$èíÊÿÿ‰D$¡ E‰$¡EÿP8‹]üÉÃÇ$1Û÷؉\$¹øïÿÿ‰D$1Ò1À‰L$‰\$‰T$ ‰D$èyNÆE÷ƒì‰Ù‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒƒÙ)Ù€¼)÷ïÿÿ tG‰\$ ºôôD‹E;PGEtºûôD‰T$ºõD‰T$¡äSEƒÀ@‰$è´KÇ$舶ÿÿéèþÿÿ‰Ù‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÒƒÙ)Ù1Àˆ„)÷ïÿÿé|ÿÿÿ¶U¸'‰åWVSè€Jƒäð¸èsJèÞBÇ$¸1É£€GE¸1ö£ÐGEº¸0E‰µ,Ùÿÿ1Û¿ÿÿÿÿ‰4Ùÿÿ‰0HE‰D$‰½@Ùÿÿ‰<ÙÿÿèG ýÿÇ$põD1À£0GE¡4!E£0HE¡0!E£€GE1À‰…0Ùÿÿè˜K…À‰Æt9¡D…Àt01Û´&‰t$‹ƒD‰$è&K…À„Ѓà ‹»D…ÿuÙÿMu预À…ÇÿM„~ƒE ‹E ‹¶<-uß1Àƒ}¾0E¹‰t$ ‰L$~‹U ‹B‰D$‰$èRUüÿƒøþ„Pƒø„³Ht¦ü¿õD¹‰Þó¦…§ÿM¸£€Eu‹‰ö¼'‹•0Ùÿÿ¸…Ò…Ç$0EèÑŒüÿ…À„i Ç$0E¸†õD‰D$è”J‰Ã¹0E¶¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁÇ$0EÒƒ0EƒÙ)Ùé/E‰L$‰D$è´IÇ$0EèHŒüÿ…ÀtGÇ$0E¸@‰D$èJ…À‰Ãt,-0Eƒøc†ÅC‰$èÂH‰\$@‰D$Ç$0Eè]IÇ$0Eè¡aüÿ‹…,Ùÿÿ…Àt ¸£Ð+EÇ$0E¸‰õD1ö‰D$1Ûè\IÆ€0E¶0E„Àt'ˆÁ€ù •À1Ò€ù •Â…ÐtˆŽ0EFC¶‹0E„ÉuÛÆ†0E‹=`*E…ÿu€=`(Eu€=Ü+Euƒ ÐGE‹5D…öt+‹ 4!E¸D1Ò‰ö¼'9Hø„:ƒÀ ƒÂ ‹…Ûuë1ÿ‰=E‹5E…ö„ƒ½@Ùÿÿÿt ‹@Ùÿÿ‰ 0!Eè‹Éÿÿ‹ GE…Ò…#Ç$‹õD¡äSEƒÀ@‰D$ ¸‰D$¸‰D$èÓG¸eô[^_]öÇ$0E褊üÿ…À…Y ü¿¥õD¹‰Þó¦…¢€{/s„ܸ‰ó£4!E¶„É•À1Ò€ù:•…Є]€ù/„I¶¼'C¶ „É•À1Ò€ù:•…Є1€ù/uâÆC€ù:„­¿ÿÿÿÿ‰=0!E‰t$»ÿ‰\$Ç$0Eè±FÆ/!Eénüÿÿ‰$¹,‰L$è|F‰…Ùÿÿ…À„–‹D…Ò„ˆ)؉…Ùÿÿ1À‰…Ùÿÿ붃…Ùÿÿ ‹•Ùÿÿ‹‚D…ÀtY‹Ùÿÿ‹±D‰4$è%F9…ÙÿÿuÍü‹…Ùÿÿ‰ß9À‰Áó¦u¼‹•Ùÿÿ‹Ùÿÿ‹‚DC£4!E£0HE‹‚D‹@@‰…@Ùÿÿ‰$¸@‰D$èG‰…Ùÿÿ9Ø„A‹…Ùÿÿ…À„4‹Ùÿÿ‰ßqƉ4$…¨Ùÿÿ‰D$è3ýÿ¡0GE…Àu•¨Ùÿÿ‰$è̈üÿ…À…8‰t$¸ÿ‰D$Ç$0EèkEÆ/!E¡€GE£0!E…ÿ„ûÿÿ‰|$¹c‰L$Ç$ 5Eè9Eƃ5EéöúÿÿÿMƒE éêúÿÿü¿­õD¹‰Þó¦tgü¿°õD¹‰Þó¦„Ò ü¿³õD¹‰Þ󦄶 ‰\$¸ºõD‰D$¡äSEƒÀ@‰$èùD¸‰…0Ùÿÿé‚úÿÿ¶„É„ÐýÿÿéÇýÿÿ¸‰…,Ùÿÿébúÿÿ‰\$ºØõD‰T$ë±Ç$¸0E1Û‰D$ècpüÿ‰$£HEè–´ÿÿÇ$1À‰D$ 1À‰D$1À‰D$èF£ HE‹=H!Eƒì…ÿ…A‰\$¡L!E¹ E‰L$¾0E»0E‰t$ ‰D$…TÙÿÿ‰D$¡0!E‰\$Ç$‰D$¡Eÿ…À„4‰D$¡äSEºöD‰T$ƒÀ@‰$èôCé<üÿÿÇ$ öD¡äSE»+‰\$¹‰L$ƒÀ@‰D$ èåCé üÿÿC1ÿ‰ÞéÑýÿÿ‹ƒD£4!E£0HE‹ƒD‹@@£0!E£€GEéùÿÿ€~/…üÿÿs éüÿÿÇ$0E»<&¨Ùÿÿ‰\$‰L$è=CéÎýÿÿ‰$èC£0!EéLüÿÿ‰D$¸0E‰D$Ç$ 5EèýBƃðéúÿÿÇ$öÿÿÿèmDƒì‰$èREƒìƒø…œþÿÿ»é’þÿÿ±/éþÿÿ‹‚D£EéÊúÿÿ¡HE1ö1ÿ»°¼C‰D$¡ E‰$¡EÿP4‹…TÙÿÿ‰$è½üÿÇ$öÿÿÿ¸£pGEèïC£ðGEƒìÇ$õÿÿÿèÛC£@GEƒìÇ$ôÿÿÿèÇC£@HEƒì¸°GE‰D$¡ðGE‰$è¡Cƒì¸‰D$¡ðGE‰$è€Cƒì1À‰D$ 1À‰D$¸°¼C‰D$¡@GE‰$èó»ÿÿ£PGE¡@HE‰t$‰|$ ‰\$‰$èÕ»ÿÿ£ÀGEè+D£pEE1ɉDÙÿÿè C‰Æ‹•DÙÿÿ…Ò„B‰4$…PÙÿÿ»ÿÿÿÿ‰D$èâ–ÿÿ…À…•LÙÿÿ1ÿ‰$è ½ÿÿ‰…Ùÿÿ¸‹Ùÿÿ‰D$‹…LÙÿÿ‰ $@‰D$è’~üÿ‰…Ùÿÿ‹•LÙÿÿ¡ HE‹µÙÿÿ‰–B¸‰D$‰\$ ‰|$‰t$‰$è:8‰…Ùÿÿ‹…LÙÿÿƒì9…Ùÿÿ‚p„á@;…Ùÿÿ„±½Ùÿÿ…ß‹…Ùÿÿ‹µPÙÿÿ‰$èøüÿ‹…DÙÿÿ…À…à¡pGE…À…¡PGE‰$è0¿ÿÿ‰Ã¡ÀGE‰$è!¿ÿÿ…À…Ïþÿÿ¡ E‰$¡EÿP$…Àˆú‰$èf«ÿÿ1ÀéÑøÿÿ‹dÙÿÿ‹C ‰D$‹C‰D$‹C‰$ÿ‰$èküÿ¸XÙÿÿ‰D$¸€‰D$ ¸€‰D$¸ÿÿÿÿ‰D$‰ $è!7ƒì…Àu£éÿÿÿèHA‰Æ‹…Ùÿÿ‰$èüÿ‹…DÙÿÿ…À„ ÿÿÿ¡ E‰$¡EÿP‰D$¡HE‰$è ¾ÿÿ¡pGE…À„ÿþÿÿ¡ E‰$¡EÿP …À…Ýýÿÿéâþÿÿ‹•Ùÿÿ‹–‰$è~¼ÿÿéþÿÿèÄ@‹PÙÿÿ)ÃéÝýÿÿ¡ E‰$¡EÿP(…À„¦ýÿÿ1À‰D$ 1À‰D$¸`ºC‰D$¡ðGE‰$è¸ÿÿ£HE¸‰…DÙÿÿéoýÿÿHÙÿÿ1ö‰ $èXåÿÿë…HÙÿÿF‰$è‡åÿÿ@uî;µ4Ùÿÿ‰1ɉ8ÙÿÿHÙÿÿ‰ $è"åÿÿë$‹µ8ÙÿÿHÙÿÿ‹•<Ùÿÿ‰²F‰µ8Ùÿÿ‰ $è<åÿÿƒøÿu×1ö;µ8Ùÿÿ­ýÿÿ‹…<Ùÿÿ•xÙÿÿ‹<°‰T$1Ò‰T$‰<$ÿàFEƒì …ÀtFëȉ<$è¥èÿÿ‹…xÙÿÿ1Û‰$è•èÿÿëCƒûwÝ‹ÝDõD…•xÙÿÿtë‰<$‹Ý@õD·Ò·„…|ÙÿÿÁà ‰T$è+Þÿÿ!pGEëÀ‹U1ÿ1ö1À…Ò„†¶ „Étt&¼'9þ}%ˆ CF¶ „Éuð9þ}:Æ FÿMtMƒE ‹U ‹ëʼn$¹¾‰L$‰|$èìzüÿ¶ Cˆ F뻉$¾º‰T$‰|$èÇzüÿë©…ötÆDÿ£`*E1Û¹‰d*E‰ h*EéŸóÿÿ‹•<ÙÿÿƒÆ»‰µ4Ùÿÿ‰\$‰t$‰$è{züÿ‰…<ÙÿÿéHþÿÿÇ$LöDè,>Ç$ Dè >Ç$xöDè>Ç$¨öDè>Ç$ßöDèü=Ç$èöDèð=Ç$÷Dèä=Ç$H÷DèØ=Ç$l÷DèÌ=Ç$Ÿ÷DèÀ=Ç$¼÷Dè´=Ç$ì÷Dè¨=Ç$øDèœ=Ç$@øDè=Ç$løDè„=Ç$¤øDèx=Ç$ÎøDèl=Ç$ìøDè`=Ç$ùDèT=Ç$DùDèH=Ç$xùDè<=Ç$ ùDè0=Ç$ÔùDè$=Ç$úDè=Ç$0úDè =Ç$\úDè=Ç$”úDèô<Ç$¼úDèè<Ç$ÜúDèÜ<Ç$ ûDèÐ<Ç$0ûDèÄ<Ç$TûDè¸<Ç$„ûDè¬<Ç$ÀûDè <Ç$õûDè”<Ç$üDèˆ<Ç$èl<Ç$DüD¡äSE¿%‰|$¾‰t$ƒÀ@‰D$ èŠ;¸éÒúÿÿè«ÿÿë¹Ç$jüD¸ D‰D$èD<ë¢U‰åSƒì‹]‹E‰$èÛ¹ÿÿ…Û‰Á|Uu&‹@1Û‹‰\$1À‰D$ 1À‰D$‹A‰$ÿRƒÄ[]Ë@‹‰\$ ‹E ‰D$¸‰D$‹A‰$ÿRƒÄ[]Ãt&‹@‹1À‰D$ 1À‰D$¸€üD‰D$ë¨t&U‰åSƒì‹E‹] ‰$èK¹ÿÿ‹@‹‰] ‰E‹J ƒÄ[]ÿá¶U‰å‹U ‹M…Ò‹At‰Q]Ãt&¼'U‰åSƒì‹]‹C ‰$è«¶ÿÿ‹C‰$è ¶ÿÿ‹C‰$è;‹Cƒì‰$è;‰]ƒì‹]üÉé(yüÿ´&U‰å‹E‹@ ‰E]éþ´ÿÿ´&¼'U‰å]ëÚv¼'U‰å]Ãt&¼'U‰å‹U ‹E‰P]ÃfU‰å‹E]‹@Ãt&U‰å]Ãt&¼'U‰å‹E]‹@Ãt&U1À‰åWVS켋U(ƒº(…¾‰T$‹Eu؉D$‹E‰$èÙ©üÿ‰D$‰ÇÇ$äüDè§wüÿ‰D$‰ÃÇ$èE©ÿÿ‰$è=xüÿÇ$¸ ‰D$èhsüÿÇÀüD‰Ã‹E$ÇCÇEØ ‰C1À‰D$ …tÿÿÿ‰D$…pÿÿÿÇEÜÇEà‰t$‰$è4;ƒì…ÀuÇ$ýDèwüÿ‰C‰Øeô[^_]Ét$1À‰D$ …lÿÿÿ‰D$…hÿÿÿ‰$èò:ƒì…Àu3‹…pÿÿÿ‰$èÝ9‹…tÿÿÿƒì‰$èÌ9ƒìÇ$ýDèµvüÿ‰Cëš1À¾‰D$‹…lÿÿÿ‰t$1ö‰$è‘:‹…pÿÿÿ1ɺƒì ‰T$‰L$‰$èq:ÇEˆD‹…hÿÿÿƒì ÇEŒÇE‰EÀ‹…tÿÿÿÇE”ÇE´‰EÄ…xÿÿÿ‰D$$Eˆ‰D$ 1À‰D$1À‰D$¸ ‰D$¸‰D$1À‰D$ 1ÀfÇEºÇE¼ÇEȉ|$‰D$Ç$èÒ9‹…hÿÿÿƒì(‰$èÑ8‹…tÿÿÿƒì‰$èÀ8‹…lÿÿÿƒì¹@ÎC‰C‹…pÿÿÿ‰C‰L$‰t$ ‰\$‹C‰$è÷¯ÿÿ‰C1Ò¸ÐÎC‰T$ ‰\$‰D$‹C‰$èæ°ÿÿ‰C ‹E‰$èÈÉÿÿé=þÿÿU‰åSƒì‰Ã‹@…Àua‹C…ÀuI‹ƒøÿt‹S…Òu‰$è+8Çÿÿÿÿƒì‹]üÉÃt&‰$è@9‹ƒì‰$è8ÇÿÿÿÿƒìëÖ‰$èè²ÿÿÇC릉$èײÿÿÇC뎴&¼'U‰åVSƒì‹u‹E‰$èú´ÿÿ…ö‰Ã~$‰t$ 1É‹E ‰L$‰D$‹C ‰$èhåÿÿƒÄ[^]ÃtN¾@ýD‰Øè"ÿÿÿ‹C ‰$è¡ÿÿ‰t$‹C ‰$è¦ÿÿ‰t$¾aýD‰t$‹C ‰$èãÿÿƒÄ1À[^]ô&¾dýDë°‰ö¼'U‰åƒì‰uü‹E‹u ‰]ø‰$èV´ÿÿ…ö‰Ãx‰p‹]ø‹uü‰ì]Ãvè›þÿÿ‹C ‰$è ÿÿ¸ŒýD‰D$‹C ‰$è|¥ÿÿ¸ŒýD‰D$¸aýD‰D$‹C ‰$èÿâÿÿ‹]ø‹uü‰ì]Ãt&U‰åWV‰ÆEÈSƒìl‰U¤‰D$‰$è³7ƒì…À„ȶUжEÑ€â߀Ê€â3 $ˆUЋUˆEÑ‹‚À‰ẺD$Ç$«ýDèAsüÿ‰D$‰Ã‹F ‰$èà¤ÿÿ‰$èØsüÿ‹U‹‚ĈEÚ‰D$Ç$ÄýDè süÿ‰D$‰Ã‹F ‰$諤ÿÿ‰$è£süÿ‹U‹‚ȃø„Aƒø„ºàýDeô‰Ð[^_]ô&ƒøuåÆEÜ¿þDéÆEÛ¿þDt&‰|$Ç$þDèrüÿ‰D$‰Ã‹F ‰$è/¤ÿÿ‰$è'süÿ‹U‹‚Ѓø„Ž<ƒø„ƒø„t¶¼'‰|$Ç$-þDè0rüÿ‰D$‰Ã‹F ‰$èÏ£ÿÿ‰$èÇrüÿEȉD$‹U¤‰$è-6ƒì…ÀºLþD„$ÿÿÿÇE¨E¨ÇE¬ÇE°ÇE´ÇE¸‰D$‹E¤‰$èà5ƒì…ÀºlþD„ßþÿÿeô1Ò‰Ð[^_]Ãt&ÆEÜ¿þD‰|$Ç$”þDè‡qüÿ‰D$‰Ã‹F ‰$è&£ÿÿ‰$èrüÿ‹U‹‚̃ø‡¼þÿÿÿ$…ÜþDÆEÜ¿­þDë³€MÑ¿¯þDéüþÿÿ¶EÑ¿¸þD€MÐ$Ï ˆEÑéãþÿÿ…À…Ûþÿÿ¿ÀþDéÑþÿÿÆEÛ¿ÃþDécþÿÿÆEÛ¿ÈþDéUþÿÿÆEÛ¿ÍþDéGþÿÿÆEÛ¿ÀþDé9þÿÿ¶EпÑþD$Ï (ˆEÐé„þÿÿt&U¸‰åWVSƒì,‰D$Ç$è’lüÿÇÿÿÿÿ‰ÆÇ@Ç@Ç@Ç@‹E ‰0‹E‰F ‹EÇ$ðþDÀ‰Eð‰D$èXpüÿ‰D$‹F ‰$èù¡ÿÿ¸\‰D$‹Eð‰$è1…Àº ÿD„€‰T$‹Eð1ÿÇ$ ÿD‰D$èpüÿ‰|$‰Ã1À‰D$¸@¹À‰D$¸‰D$1À‰L$‰D$ ‰$èò3ƒì‰Ç‰$è}püÿƒÿÿ¸ÿDt‹E‰ú‰$‰ðèüÿÿ…Àteô[^_]ú*ÿDévÿÿÿ‰>º¸ÀÓC‰T$ ‰t$‰D$‰<$èþªÿÿ‰F¸‰D$ ¸ ÓC‰t$‰D$‰<$èÍ©ÿÿ‰F‹Eð‰$è_müÿ‹U‰‹F ‰$èžÿÿ1Àë‹t&¼'U‰åSƒì‹]‰ØèÏùÿÿ‰$èdžÿÿ‰]Z[]é¼oüÿ¶¿U‰å‹U ‹E‰U‹]éLûÿÿ¶¿U1À‰åSƒì‹]‹S…Òu ƒÄ[]ô&‹E‰D$‹E ‰$‰D$èJ«ÿÿ‰CƒÄ[]ÃU‰å‹E]‹@Ãt&U‰å]Ãt&¼'U‰åSƒì‹]‹C;E ‹…Àu‹]üÉÃv‰$è2ÇC‹C ƒìÇE /ÿD‹]ü‰EÉéèŸÿÿ´&U‰åSƒì‹]‹…À•À1Òƒ} ”Â…Ðu‹]üÉøHÿD‰D$‹C ‰$詟ÿÿ‹‰$èÿ1ƒì¹`ÙC‰\$‰L$Ç$èãƒÿÿ‰CÇC‹]üÉÃt&U¸tÿD‰å]öU¸‰å]öU¸‰å]öU‰å‹E‹@…Àu]ÉE]éG­ÿÿ´&U1À‰å]Éö¼'U‰å]Ãt&¼'U‰å]Ãt&¼'U‰å‹E]ƒ8ÿ•À¶ÀH%€Hô&U1À‰å]ÃU‰åW1ÿV‰Æ¶S‰Ó„É„}‰ö¼'€ù ”À€ù\” Шu.€ù*t)€ù?t$€ù%t€ù~€ùt€ù.”À1Ò…ÿ”Â…Ðt@t&Æ%C¶Àè¶À¶€ÿDˆC¶ƒà¶€ÿDˆCF¿¶„ÉuŒÆ[^_]È ëæU‰åWVSƒì‹]‹} …ÛÇ„”€;„‹‰$¾è-‰t$D@‰$èhüÿ‰Â‰Æ‰ØèÿÿÿÇ$€Eð¹ ÿD‰D$‰L$è^$ƒì …ÀuJ‰t$Eì‰D$‹Eð‰$èA$‰Ã‹Eðƒì ‰$è)$ƒì…ÛuF‰4$èzlüÿ‹Eìeô[^_]ûÄÿDékÿÿÿ‰4$è]lüÿÇ$ØÿDº ÿD‰T$è˜küÿ‰1Àeô[^_]Ét$¸ ÿD‰D$Ç$ Eèsküÿ‰‰4$èlüÿ1ÀëÑt&U‰åƒì(‰uü‹u‰]ø‹]…öt2‰$è¢,‰\$@‰D$¸‰D$ 1À‰D$‹E ‰4$‰D$èc#ƒì‹]ø‹uü‰ì]ô&¼'U‰åƒì‹U…Òt1‰$¸‰D$E‰D$¸‰D$ 1À‰D$‹E ‰D$è #ƒìÉÃU‰åƒì‹E‰$èÿ"ƒìÉÃv¼'U‰åVSƒì ‹]…Ûti€;td‰$èä+D@º‰T$‰$è_füÿ‰Â‰Æ‰ØèTýÿÿÇ$€Eô‰D$¸ ÿD‰D$èˆ"ƒì …Àt!ÇEð‰4$èâjüÿ‹Eðeø[^]ûÄÿD땉t$Eð‰D$‹Eô‰$èJ"ƒì …ÀtÇEð‹Eô‰$èA"ƒì‰4$è–jüÿ‹Eðeø[^]ö¿U‰åSƒì$‹U‹E‹]…Ò‰Eøt6‰\$Eø1ɉD$Eô‰D$ ‹E ‰L$‰$‰D$èÊ!ƒì…Àuƒ}ô‰Øt1À‹]üÉö¿U‰åƒì(ÇEü‹U…ÒttÆ,FGÿMÌy‡Æ‹U‰T$‹}ä‰<$èw#…À…dþÿÿ‰<$¾1Ûèˆ"‰|$@‰D$‰t$ ‰\$‹Eà‰D$‹Eð‰$èMƒìé*þÿÿ1ÒI„Åýÿÿt&eôº‰Ð[^_]ÃAé/ÿÿÿ‰ö¼'U‰åƒì(‰uø‹u‰]ô‹]‰}ü‰4$è"‰$‰Çè "ºD@‰T$‰$è\üÿ‰\$‰Ç‰ò‹E ‰$‰øè,üÿÿÇ$€Eð‰D$¸\E‰D$è¸ƒì …Àt‰<$èaüÿ‹]ô‹uø‹}ü‰ì]Ãt&‹E¾1Û‰$èŽ!@‰D$‹E‰t$ ‰\$‰|$‰D$‹Eð‰$èS‹Eðƒì‰$èMƒì‰<$è¢`üÿ‹]ô‹uø‹}ü‰ì]Ãt&U‰Á‰åSƒì$…Ò‹]t`‰ $1Àƒú‰D$•¶ÂH%€‰D$¶ÂƒÀ‰D$1À‰D$ ¶Â@‰D$¶ÂH%À-€‰D$è›#‰ƒì‹]üÉ@•À¶ÀÃf‰$è"Çÿÿÿÿ1À‹]üÉÃt&¼'U1Ò‰åW¹½¸ýÿÿV‰ÆSì\Èýÿÿ·‹E‰L$‰T$f‰…Èýÿÿ…Êýÿÿ‰$ès Ç$€¸‰…Àýÿÿ…Äýÿÿ‰D$¸E‰D$è!ƒì …À„¸‹  EE…É„.¡€EE…À„ˉ\$1É1Ò‰L$ ¹‰T$‰L$Ç$ÿЃì…Àx8‰$èêÇ\PUTºTY.R‰T‰òfÇDNDÆD ‰Ø‰<$è‚þÿÿ…À…,‰\$1À¹‰D$ 1À‰D$‰L$Ç$ÿ€EEƒì…Àx=‰$è…Ç\PUTºTY.R‰T‰òfÇDNDÆD ‰Ø‰<$èþÿÿ…À…Çt&‰\$¹‰L$Ç$¸Eè"ºƒì )‰T$‰D$Ç$ÂEèö!ƒì …Àt4‰$èÇ\PUTºTY.R‰T‰òfÇDNDÆD ‰Ø‰<$èŸýÿÿ…ÀuM‰$¹‰L$è*!ƒì‰$è¿Ç\PUTºTY.R‰T‰òfÇDNDÆD ‰Ø‰<$èWýÿÿ…Àºÿÿÿÿt‹•¸ýÿÿeô‰Ð[^_]É\$…Àýÿÿ¿ËE‰D$…¼ýÿÿ‰D$ 1À‰D$‹…Äýÿÿ‰|$‰$è!ƒì…À„~Æ…Èýÿÿ‹…Äýÿÿ½¸ýÿÿ‰$èƒì€½Èýÿÿ„Ýýÿÿ‰<$‰ò‰ØèÇüÿÿ…À…qÿÿÿéÄýÿÿÇ$ØEèæ£EEƒì…À„¶ýÿÿ‰$ºäE‰T$è½£€EEƒìéýÿÿƒ½¼ýÿÿ…uÿÿÿéwÿÿÿ´&¼'U¸‰åWVSì<èÚüÿÿƒøÿ‰ÃtX½äûÿÿµèûÿÿët&‹…äûÿÿ…Àt0‰D$‰4$ÿU‰|$ 1À‰D$¸‰D$‰t$‰$轃ì…ÀuƉ$èÖƒìeô[^_]ÃvU¸‰åSƒì$è_üÿÿƒøÿ‰Ãt1‰$1À‰D$Eø‰D$ ‹E ‰D$‹E‰D$è]ƒì‰$肃ì‹]üÉÃfU‰åVµèþÿÿSì0‰Ãë‰t$‰$èƒì‰t$¸‰D$ 1À‰D$‰$èYƒì…Àu;‰t$…äþÿÿ‰D$‰$èTƒì …Àu²‹…äþÿÿè’ÿÿÿ‹…äþÿÿ‰$èDƒìë”eø[^]ô&U1À‰åVµäþÿÿSì0èxûÿÿ‰t$¸E‰D$Ç$€èïƒì …Àt(‰t$¸õE‰D$Ç$€èÏƒì …ÀtHeø[^]Ë…äþÿÿèÿÿÿ‹…äþÿÿ‰$è·ƒì¸õE‰t$‰D$Ç$€è‹ƒì …Àu¼t&¸ E»‰D$‹…äþÿÿ‰$èTƒì…èþÿÿ1ɉD$‹…äþÿÿ‰\$ ‰L$‰$è'‰Ã‹…äþÿÿƒì‰$è<ƒì…Û„Yÿÿÿ‰t$ºE‰T$Ç$€èƒì …À…5ÿÿÿ¸E‰D$‹…äþÿÿ‰$èÖ‹…äþÿÿƒì‰$èåƒìéÿÿÿU‰åEèSƒìT‹]‰$è³·Eôƒì1ɉE¸·Eò‰E¼·Eð‰EÀ·Eî‰EÄ·EêH‰EÈ‹Eèf=kv ·Àˆ”øÿÿ·Uì‹E¸‰‹E¼‰C‹EÀ‰C‹EĉC ‹EȉK‰S‰C‰ØÇCÿÿÿÿÇC ‹]üÉÂUº‰åƒì‰4$‰|$‹} ‹M‹9wr&üƒÇq¹ó¦—Â’À(¾ҋ4$‰Ð‹|$‰ì]Ë4$ºÿÿÿÿ‹|$‰ì‰Ð]ô&U¸”‰åWVSƒì\‹]‰D$Ç$è_Tüÿƒû‰Æ„ƒû…$»¹‰˜€1Û‰ˆˆv1ÀƒûtèÞþÿˆ3Cƒû~ëÇ$ðîCèÿoÿÿ‰†‹E 1Û}¨‰D$‹†€‹…XE‰D$‹E‰$èaÆE¨‹–ˆ…Ò~_v‰ù´&¼'‹ƒÁÿþþþ÷Ð!Â €€té÷€€uÁêƒÁ¶3ÒƒÙC‰ $‰D$¸dE‰D$è9žˆ¤‰|$‹E‰D$‹E‰$èÞƒÄ\‰ð[^_]ø1Û‰†€¸‰†ˆèÝþÿˆ3Cƒû~ò1ÀéÿÿÿÇ$iE¿L¾}E‰|$‰t$èá‰ö¼'U‰åSƒì‹]‹ƒ…Àt0ë‰$è¢Wüÿ‹ƒ‰$1Ò‰T$è.ÿÿ…Àuà‹ƒ‰$èoÿÿ‰]ƒÄ[]éoWüÿë U1Ò‰åƒì¹@‹E‰„Œ‰ˆŒ‰T$ P@„‰D$‹E ‰T$‰$èÏ–ÿÿÉö¼'U‰å]Ãt&¼'U‰åƒì‰]ø‹]‰uü…Ût-‹‰$ÿP‰Æ‹@…Àu,‰4$èÔVüÿ‹‰]‹uü‹]ø‹H‰ì]ÿá‹]ø‹uü‰ì]ö‰$è¨Vüÿ‹F‰$èVüÿ‰4$è•Vüÿ‹‰]‹uü‹]ø‹H‰ì]ÿáfU‰åSƒì‹]‹CD‰$èûRýÿ‹CH‰$è`ÿÿÿY¸[]ô&U‰åSƒì‹E‹]‰D$‹E‰D$‹CD‰$èÍPýÿ…À~ÇC4‹CH»‹‰\$‰$ÿRƒÄ¸[]ÃvU‰å‹E‹@D‰E]éž?ýÿ´&¼'U¸‰E‰åSƒì‹]‰D$‰$è]€<t‰$¸‹E‰D$èF€<uƒÄ1À[]ÃD‰EƒÄ[]é/ë U‰åƒì‰]ø‹E‰uü…Àt€8u8è#•ÿÿ…À‰Æt¶„ÒuÇ$EèªRüÿ¶‰Æ€ú:‰ðt‹]ø‹uü‰ì]Ãt&‰$ë܉t$1À‰D$Ç$àçDèÕQüÿ‰4$‰Ãè Uüÿ‰Ø‹uü‹]ø‰ì]Ãë U‰åWV¾‰ESìÜ‹] ‰$èTÿÿÿ‰$‰Ã‰t$è^…À‰Æ„11À‰…Lÿÿÿ€<…šƒþ‡!‰t$…hÿÿÿ¿¤E‰\$‰$èF‰$1Àˆ„.hÿÿÿµhÿÿÿèoTüÿü¹ó¦…ñ‹•Lÿÿÿ…Tÿÿÿ‰D$‰$èY¼ÿÿ‰Ç1À‰…PÿÿÿÇ$¸L1Û‰D$èhOüÿÇE‰Æ1ÒÇ@‹E¹ÇF0‰F‹EÇFÇF8‰FD‹E ÇF4‰T$ ‹•Pÿÿÿ‰D$ 1À‰D$‹…Tÿÿÿ‰\$‰L$‰T$‰t$‰D$‰<$è1nüÿ‹U‰‰FH‹‹‰$ÿR …À‰Ã„œ‰4$èSüÿ‰ØÄÜ[^_]þéÕþÿÿ¶‹…Lÿÿÿ‹U p‰…Pÿÿÿ1À‰D$…Tÿÿÿ‰D$‹…Pÿÿÿ‰T$ •hÿÿÿ‰$‰D$èmüÿ‰$‰ÇèV¹ÿÿ…À‰Ã„Ýþÿÿ‰<$èÔ¦ÿÿë…fD3‰$褉…LÿÿÿéOþÿÿ‹E…ÀtA…dÿÿÿ•Xÿÿÿ‰D$…`ÿÿÿ‰D$…\ÿÿÿ‰D$ ¸©E‰D$‹E‰T$‰$èƒøtDÇF<ÇF@ÿÿÿÿ‹U‹‹‰$‰t$ÿR1ÀéÿÿÿÇ$µE¹%º}E‰L$‰T$è…‹•Xÿÿÿ‹…\ÿÿÿÁâÁà ‹…`ÿÿÿÁà ‹…dÿÿÿ ‹E‰V<‰F@ë˜t&¼'U‰åSƒì‹]…Ût&‹‰$ÿP‹Ç@4‹@8‰$…À•À¶À‰D$ÿRƒÄ[]öU‰åƒì‰]ø‹]‰uü‹u …ÛtJ‹‰$ÿP1É‹‰p8‹@4…Àt‰]¹‹]ø‰M ‹uü‹J‰ì]ÿá…öuã‰M ‹uü‹J‰]‹]ø‰ì]ÿáv‹]ø‹uü‰ì]öU1Ò‰åWVS켋u…ö„7‹U‹‰$ÿP‹]…Û‰…TÿÿÿŽ8‹Xƒû 2CÿM‰Ã‹Tÿÿÿ‹u ‰A¶F‰u ˆD ‹M…ÉŽƒû C~Ñ‹…Tÿÿÿ‹P…Ò…¤¶P€úB„ЋTÿÿÿ¶C ¶K Áà‹µTÿÿÿ Á€úB‰N „³‹½Tÿÿÿ¶G ¶W Áà ‹…Tÿÿÿ¿‰P(A‹Tÿÿÿƒàü‰A$Bƒàü‰A,¸‰D$‹A$@‰$èÀKüÿ‹Tÿÿÿ‰C‰|$‹C,‰$è¨Küÿ‰C‹µTÿÿÿ‹^‹u…öŽF‹½Tÿÿÿ‹W$B 9Ã}@ÿM‰Ú‹…TÿÿÿC‹H‰XÊ‹M ¶A‰M ˆBô‹}…ÿŽè‹Tÿÿÿ‹S$‹[B 9Ã|Á‹u…öŽù‹µTÿÿÿ‹N,D 9Ã}Ct&ÿM‰Ù‹½TÿÿÿC)Ñ‹W‰_‹] ¶C‰] ˆD ô‹]…ÛŽs‹W$‹O,‹_D 9Ã|ÂD 1Ò9ÃŒd‹…Tÿÿÿ‹H0…É…/‰Á‹P ‹@Æ‹Y<‹y‹A‹q@‰]¤‹Ÿ€‰}œ‹Q‹I(‰E˜‹XE‰M”‰u ‰D$‰$èÅ…À¹ÀE…ÇK„T‹Eœƒ¸€„*‹•Tÿÿÿ1À‰…pÿÿÿ‹R‹š„‰•lÿÿÿ‹XE‰$艅hÿÿÿK„‹Tÿÿÿ€yB„ɶ•hÿÿÿ‹TÿÿÿˆQ ‹…hÿÿÿÁøˆA ¶pÿÿÿˆY ‹…pÿÿÿÁøˆA ‹u¸ ‹‰D$‹…Tÿÿÿ‰4$ƒÀ‰D$ÿR‹½hÿÿÿ…ÿ…‹pÿÿÿ…É…Ä‹TÿÿÿÇC0‹u‹}‹‰|$‹U ‰4$‰T$ÿP‰Â‰ö¼'ļ‰Ð[^_]öH ¶@ Ááé1ýÿÿ‹½Tÿÿÿ‹_1Òƒû îüÿÿļ‰Ð[^_]ÃÇ$èî‹Uˆ¹èE)‰Й1Ð)Ð=°eÇ$¸ ‰D$èùHüÿ‹Mˆ‰Ã‰‹G‰C·G f‰C‹uœ‹†…À„ʉ\$‹}œ‹‡‰$èÞkÿÿ9Ø„]‰$ènMüÿ¹E‰L$Ç$:Eè©Lüÿ‰…|ÿÿÿ‰$èû ‰…tÿÿÿºƒÀ ‰T$‰$èqHüÿ‰…xÿÿÿ‹µtÿÿÿƶtÿÿÿƒÆƒæüˆX‹½Tÿÿÿ‹•xÿÿÿ‹G‰B€B„‹xÿÿÿ‰ðÁøˆC‰ðÁø ˆC‹xÿÿÿ1À‰t$‰D$ƒÃ‰$è} ‹½tÿÿÿ‰|$‹…|ÿÿÿ‰$‰D$èy F‰D$‹•xÿÿÿ‰T$‹Tÿÿÿ‹AD‰$è'Gýÿ‹Tÿÿÿ‹CD‰$èIýÿ‹u‰4$èkõÿÿ‹½xÿÿÿ‰<$è]Lüÿ‹…|ÿÿÿ‰$èOLüÿļ1Ò‰Ð[^_]˽Tÿÿÿ‹_‹W$‹O,éŠüÿÿ‹…Tÿÿÿ‹X‹P$éüÿÿ¶V ¶F ÁâéNûÿÿ‹½Tÿÿÿ‹W$éüûÿÿ‹µTÿÿÿ‹N,éMüÿÿƒ}”¹PE…wþÿÿƒ} ÿ¹|E„hþÿÿºƒÀ ‰T$‹U˜‰$‰T$èv|þÿü‹uœ¹‹}˜ó¦—Â’À8¹¸E…,þÿÿ‹E˜‹M˜¶P¶@ ÁâÁà ¶A Áà ¶A ¹¸E Â;U¤…ùýÿÿ‹]˜¶C ¶S Áà Ð;E …àýÿÿ¶sÁæ‰uˆ¶CÁà Ɖuˆ¶CÁà Ɖuˆ¶C Ƹ‰uˆë´&@ƒøýÿÿ‹}˜€<8tí¹¸EéŠýÿÿv‹xÿÿÿ‰ò‰ðÁúÁø ˆAˆQéõýÿÿ‹]”¹àE9Ÿˆ…Xýÿÿü‰þ‹}˜‰Ù9Ûó¦—Â’À8¹ E…9ýÿÿétûÿÿ‹]‹•pÿÿÿ‹‰T$U¨‰T$‰$ÿP÷pÿÿÿº¼E‹ƒ¥pÿÿÿ‹pÿÿÿ‰T$‰$‰L$ÿPéóûÿÿ‹½hÿÿÿ»¼E‹‰|$‹Tÿÿÿ‹A‹€„‰4$‹…XE‰D$ÿR‰ø‹÷؉\$ƒà‰D$‰4$ÿRé˜ûÿÿ‹…hÿÿÿÁøˆA ¶hÿÿÿˆY ‹…pÿÿÿÁøˆA ¶…pÿÿÿé8ûÿÿ‹lÿÿÿ‹Œƒø@‡‰…pÿÿÿ‹•lÿÿÿ]¨‰dÿÿÿ‰ÃƒÂ@ƒøv&ö…dÿÿÿt‹µlÿÿÿ}¬ƒë‹F@‰òƒÂD‰½dÿÿÿ‰E¨ü‰Ù‹½dÿÿÿÁé‰ÖöÃ󥉽dÿÿÿ‰òt·ƒÂf‰ƒÇ‰½dÿÿÿöÄgúÿÿ¶‹•dÿÿÿˆéWúÿÿÇ$4E¸í‰D$¸}E‰D$è1 1À‰D$‹Uœ‹‚‰$èÂgÿÿ…À‰ÃtN‹Eˆ‹3)ð=°†Ñùÿÿ1ɉL$‹Mœ‹‰$èspÿÿ‰$èËHüÿë°Ç$]E¸¦‰D$¸}E‰D$ëÇ$sE¸¯¿}E‰D$‰|$érÿÿÿÿ%´REÿ%ÄREÿ%ÀREÿ%ÌREÿ%ÈREÿ%ÐREÿ%¸REÿ%¼REÿ%ÈTEÿ%ÐTEÿ%ÄTEÿ%ÀTEÿ%ÌTEÿ%àTEÿ%¼TEÿ%ØTEÿ%ÔTEÿ%ÜTEU‰åƒì¡pDƒ8tÿ‹pDB‹R£pD…ÒuéÉô&U‰åSƒì¡` Dƒøÿt)…À‰Ãt‰ö¼'ÿ` DKuöÇ$DèÊüÿY[]Ã1Àƒ=d Dë @‹…d D…Ûuôë¾¶¼'U¡ÀEE‰å…Àt]Ãf]¸£ÀEEëƒU¹@E‰åë¶‹Q‹ƒÁ‚@ù@Erê]ÃU‰åSœœX‰Ã5 PœX1Ø© „À1À¢…À„´¸¢öÆ…§‰Ð%€f…Àtƒ ÐEE÷€tƒ ÐEE÷Âtƒ ÐEE÷Âtƒ ÐEEâtƒ ÐEE öÁtƒ ÐEE@öÅ t ÐEE€¸€¢=€v,¸€¢¡ÐEE‰ÁÉâ@t £ÐEE¶[]à ÐEEéMÿÿÿ[‰ ÐEE]ÃU‰åÛã]ÃU¡`HE‰å]‹Hÿá‰öUºB‰åS·Àƒìd‰T$U¨1Û‰T$‰$ÿ SEº¹ƒì …Àuë=ÉJx€|*¨Auô ËÉJyòƒ;Tu‰Ø‹]üÉÃÇ$¤Eº÷¸ÔE‰T$‰D$è£Ç$E»ñ¹ÔE‰\$‰L$è…¶¼'U‰åWVS켋=`HE…ÿteô[^_]ÃÇE˜AAAA¡€E}˜ÇEœAAAAÇE AAAA‰E¸¡„EÇE¤AAAAÇE¨AAAA‰E¼¡ˆEÇE¬AAAAÇE°AAAA‰EÀ¡ŒEÇE´AAAA‰EÄ¡E‰EÈ¡”E‰EÌ¡˜E‰EСœE‰EÔ· Ef‰E؉<$ÿSE·Àƒì…À…qÇ$TèÉ…À‰Ã„‰$1ɾT‰L$‰t$è0ÇC8 D¹ÇC€D¡ðEEÇT‹ôEEÇC(‰C¡€D‰S‹„D‰C¡FEÇC,ÿÿÿÿ‰S ‰C0¡ˆD‹ŒD‰C4¡FE‰S8‹FE‰C<¡ FEÇCDÿÿÿÿ‰S@‰CH‹”D¡D‰SPº‰CL‰Ø!ȃøÀ$ ÉAˆ„*HÿÿÿJyç¡€E‰…hÿÿÿ¡„E‰…lÿÿÿ¡ˆE‰…pÿÿÿ¡ŒE‰…tÿÿÿ¡E‰…xÿÿÿ¡”E‰…|ÿÿÿ¡˜E‰E€¡œE‰E„· Ef‰Eˆ…Hÿÿÿ‰$ÿÜRE·ðƒì…öuB1Ò…Òu‰$èc‰<$ÿSEƒì·Àè/ýÿÿ‰Ã‰`HEC£PHEC£pHEeô[^_]Éðèýÿÿ9؉òu±ë±è£U‰åƒì8‰uø‹U‹u‰}ü‹E‹} ‰]ô…Ò‰ÃÇEàÇEä‰U܉u؉}ÌuH9ø†°‰ð‰ú÷ó‰UØMè…É„lÇEä‹E؉Eà‹Uà‹Mä‹]ô‰Uè‹uø‰Ð‰Mì‹}ü‰ì]‰ÊÉö‹MÌ9MÜv‰uà‰Mä‹Eà‹Uä‹]ô‰Eè‹uø‹}ü‰Uì‰ì]ýE܃ð‰EÐua‹EÜ9EÌ—À9]Ø“ Шt‹MÌ‹UØ)ÚM܉U؉MÌEè…À„Ü‹UØ‹M̉Uà뜅Àu ¸1Ò÷ó‰Ã‹EÌ‹UÜ÷ó‰UÌ‹EØ÷óé2ÿÿÿ¶Mи ‹UЋuÌ)ЋU܉EÔ‰ØÓâ¶MÔÓè ¶MЉUÜ‹UÌ‹EØÓã¶MÔÓê¶MÐÓæ¶MÔÓè Æ¶MЉủð÷u܉UÌÓeØ÷ã;Ủ։Çw”À1Ò;}Ø—Â…Ðt)ßuÜMè…Ét.¶MÔ‹UÌ‹EØ)øò‰UÌÓâ¶MЉEØÓè ‰Uà‹EÌÓè‰Eäé¡þÿÿ‹Eè‹Uì‹]ô‹uø‹}ü‰ì]ÃU‰åƒì‰]ô‹U‹M‰uø‹E…Ò‰}ü‹] ‰Æ‰Mðu,9ØvZ‰È‰Ú÷ö‰ÁÇEì‹Uì‰È‹]ô‹uø‹}ü‰ì]ô&ÇEì1É9Úwڽƒð‰EèuM9Ó¹—À9uð“ Шu²1Éë®…Àu ¸1É1Ò÷ñ‰Æ‰Ø1Ò÷ö‰Eì‹]ô‹Eð‹}ü÷ö‹Uì‰Á‹uø‰ì‰È]ËEè¹ )Á‰Mä¶Mè‰ðÓâ¶Mä‰×‰ÚÓè Ç‹Eð¶MèÓæ¶MäÓê¶MèÓã¶MäÓè öMè‰Ø÷÷‰ÓÓeð‰Á÷æ9Ú‰Æw”À1Ò;uð—…ЄÿÿÿIé ÿÿÿQ‰áƒÁ=réƒ -ëé)Áƒ ‰à‰Ì‹‹@ÿàÿ%¼SEÿ%¸SEÿ%ØSEÿ%àSEÿ%ÐSEÿ%dTEÿ%ÔSEÿ%ôSEÿ%ÈSEÿ%TEÿ%TEÿ%pTEÿ%„TEÿ%LTEÿ%ŒTEÿ%TEÿ%DTEÿ%hTEÿ%èSEÿ%¨TEÿ% TEÿ% TEÿ%€TEÿ%TEÿ%4TEÿ%ÜSEÿ%0TEÿ%\TEÿ%: èDE@VC XCYC`YC`ZC€HCpZC \C0\Cà\CP\C\CÀ\CÐ\C`\C]CPuTTY-Local: Mar 16 2009 19:57:05Unidentified build, Mar 16 2009 19:57:05ÿÿÿÿ ×C°ØCàØCÙC@ÙCPÙC°ÙC ÚC0ÚC ÚC@ÚCpÚC€ÚCÚCPÚCÀÚCÿÿÿÿ@p DÿÿÿÿÿÿÿÿÿÿÿÿsshtelnetrloginrawserialPuTTY$ Doption "%s" not available in this tool-load-ssh-telnet-rlogin-raw-v-l-L-R-D-nc-mrout of space for port forwardings-P-pwthe -pw option can only be used with the SSH protocol-agent-pagent-pageant-noagent-nopagent-nopageant-A-a-X-x-t-T-N-C-1-2-i-4-ipv4-6-ipv6-nc expects argument of form 'host:port'unable to open command file "%s"Proxy error: Server chose CHAP of other than HMAC-MD5 but we didn't offer it!Proxy error: SOCKS proxy refused CHAP authenticationProxy error: SOCKS proxy wants a different CHAP versionProxy error: SOCKS proxy won't negotiate CHAP with usProxy error: Server chose CHAP authentication but we didn't offer it!<%02X>  ^R r%Y%H%M%S%m%dí7@ñ6@ñ6@ñ6@Ò7@ñ6@ñ6@ñ6@ñ6@¤7@ñ6@ñ6@ñ6@ñ6@ñ6@ñ6@’7@ñ6@ñ6@ñ6@ñ6@€7@ctx->lgfp../logging.cIncomingOutgoing%s packet type %d / 0x%02x (%s) s (%d byte%s omitted) %08x%*s %02x%s raw data Event Log: %s %s ASCIIrawSSH packetsSSH raw dataunknownDisabled writingAppendingWriting new%s session log (%s mode) to file: %sabwb%Y.%m.%d %H:%M:%S=~=~=~=~=~=~=~=~=~=~=~= PuTTY log %s =~=~=~=~=~=~=~=~=~=~=~= ctx->state != L_OPENINGTA@`A@`A@`A@mA@`A@hA@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@`A@TA@`A@`A@`A@mA@`A@hA@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/tmp != NULL../misc.cch->buffersize >= lench->head != NULL %c%02.2x%*s%s %p: %d (0x%x) bytes: forwarding%d.%d.%d.%d0N@ T@°N@@N@0N@ T@°N@@N@0N@ T@°N@@N@ U@ÐZ@ðZ@ [@p[@à[@\@0\@P\@`]@]@°]@ ^@°^@ð^@Proxy error: Unknown proxy methodProxy error: Unable to resolve proxy host nameProxy error: unexpected proxy errorCONNECT %s:%i HTTP/1.1 Host: %s:%i %s:%s HTTP/%i.%i %nProxy error: HTTP response was absentProxy error: %s../proxy.clen > 0Proxy error: Error while communicating with proxyProxy error: SOCKS version 4 does not support IPv6Proxy error: SOCKS proxy responded with unexpected reply code versiontype == ADDRTYPE_NAMEProxy error: SOCKS server wanted IDENTD on clientProxy error: Username and IDENTD on client don't agreeProxy error: Unexpected proxy errorProxy error: SOCKS proxy returned unexpected versionProxy error: SOCKS password subnegotiation contained wrong version numberProxy error: SOCKS proxy returned wrong version numberProxy error: We don't support GSSAPI authenticationProxy error: SOCKS proxy refused password authenticationProxy error: Server chose username/password authentication but we didn't offer it!Proxy error: SOCKS proxy did not accept our authenticationProxy error: SOCKS proxy returned unrecognised address formatUnrecognised SOCKS error code %dív@*x@Êw@¾y@„y@Cy@y@Òx@x@hostport%iuserpassproxyhostproxyport%dConnecting to %s port %dFailed to connect to %s: %s%s‡@°‡@ ˆ@pˆ@ (IPv4) (IPv6)Looking up host "%s"%sConnecting to %s port %dFailed to connect to %s: %s%sP‹@ð‹@@ @ (IPv4) (IPv6)Looking up host "%s"%s/INTRQUITERASEKILLEOFEOLEOL2STARTSTOPSUSPDSUSPREPRINTWERASELNEXTFLUSHSWTCHSTATUSDISCARDIGNPARPARMRKINPCKISTRIPINLCRIGNCRICRNLIUCLCIXONIXANYIXOFFIMAXBELISIGICANONXCASEECHOECHOEECHOKECHONLNOFLSHTOSTOPIEXTENECHOCTLECHOKEPENDINOPOSTOLCUCONLCROCRNLONOCRONLRETCS7CS8PARENBPARODDð,Dõ,Dú,D-D-D -D -D-D-D-D"-D(-D0-D7-D=-DC-DI-DP-DX-D_-Df-Dl-Ds-Dy-D-D…-D‹-D-D–-Dœ-D¤-D©-D°-D¶-D»-DÁ-DÇ-DÎ-DÕ-DÜ-Dã-Dë-Dò-Dù-Dÿ-D.D .D.D.D.D".D&.D-.Ddh-gex-sha1dh-group14-sha1dh-group1-sha1WARN(/D4/DD/DS/Daesblowfish3desarcfourdes/D”/D/DS/D¢/Dª/D,mapping[i].v < 32../settings.cPresentHostNameLogFileNameLogTypeLogFileClashLogFlushSSHLogOmitPasswordsSSHLogOmitDatarawProtocolPortNumberCloseOnExitWarnOnClosePingIntervalTCPKeepalivesPingIntervalSecsTCPNoDelayTerminalTypeTerminalSpeedTerminalModesAddressFamilyProxyExcludeListProxyHostProxyDNSProxyPortProxyLocalhostProxyMethodTryAgentAgentFwdProxyUsernameProxyPasswordProxyTelnetCommandEnvironmentUserNameLocalUserNameNoPTYCompressionSshNoShellSshProtChangeUsernameCipherKEXRekeyTimeRekeyBytesSshNoAuthAuthTISAuthKISSH2DESPublicKeyFileNoApplicationKeysNoApplicationCursorsRemoteCommandRFCEnvironPassiveTelnetBackspaceIsDeleteRXVTHomeEndLinuxFunctionKeysApplicationKeypadNetHackKeypadNoMouseReportingNoRemoteResizeNoAltScreenNoRemoteWinTitleRemoteQTitleActionNoDBackspaceNoRemoteCharsetApplicationCursorKeysLocalEditAnswerbackAltF4AltSpaceAltOnlyComposeKeyCtrlAltKeysTelnetKeyTelnetRetLocalEchoBeepIndAlwaysOnTopFullScreenOnAltEnterHideMousePtrSunkenEdgeWindowBorderCurTypeBlinkCurBeepBellWaveFileDisableArabicShapingDisableBidiBellOverloadBellOverloadNBellOverloadTBellOverloadSScrollbackLinesDECOriginModeAutoWrapModeLFImpliesCRWinNameAlwaysWinTitleTermWidthTermHeightFontTryPaletteANSIColourFontQualityFontVTModeUseSystemColoursXterm256ColourBoldAsColourColour%d%d,%d,%dMouseOverrideRawCNPPasteRTFMouseIsXtermRectSelectWordness%d%s%dLineCodePageScrollOnKeyScrollOnDispCJKAmbigWideUTF8OverridePrinterCapsLockCyrScrollBarScrollBarFullScreenRemotePortAcceptAllEraseToScrollbackLockSizeBCEBlinkTextX11ForwardX11DisplayX11AuthTypeLocalPortAcceptAllBugIgnore1PortForwardingsBugPlainPW1BugRSA1BugHMAC2BugDeriveKey2BugRSAPad2BugPKSessID2LoginShellBugRekey2ScrollbarOnLeftStampUtmpBoldFontWideFontWideBoldFontSerialStopHalfbitsSerialParitySerialFlowControlShadowBoldShadowBoldOffsetSerialLineSerialSpeedSerialDataBits187,187,187255,255,2550,0,085,85,850,255,0187,0,0255,85,850,187,085,255,85187,187,0255,255,850,0,18785,85,255187,0,187255,85,2550,187,18785,255,255è7Dô7D8D8D8D8D8D8D8D8D)8D18D;8DE8DP8DX8Db8Dl8Dw8D8Dè7Dô7D0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,00,1,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,11,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,21,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2è8D(9Dh9D¨9Dè9Dè9D(:D(:Ddefaultxterm38400,38400%s%s=A,proxyconnect %host %port\nBugDHGEx2dh-group14-sha1,dh-group1-sha1,WARN,dh-gex-sha1dh-gex-sha1,dh-group14-sha1,dh-group1-sha1,WARN1GNoRemoteQTitlePuTTYBuggyMACProxyTypeProxySOCKSVersionDefault Settingsnone;DðÐ@Ñ@Ñ@ðÐ@Ñ@Ñ@ Ñ@INTRQUITERASEKILLEOFEOLEOL2STARTSTOPSUSPDSUSPREPRINTWERASELNEXTFLUSHSWTCHSTATUSDISCARDIGNPARPARMRKINPCKISTRIPINLCRIGNCRICRNLIUCLCIXONIXANYIXOFFIMAXBELISIGICANONXCASEECHOECHOEECHOKECHONLNOFLSHTOSTOPIEXTENECHOCTLECHOKEPENDINOPOSTOLCUCONLCROCRNLONOCRONLRETCS7CS8PARENBPARODDÔ;DÙ;DÞ;Dä;Dé;Dí;Dñ;Dö;Dü;D channels, &i, ssh_channelfind)../ssh.cpkt->bodyÀÝ@ÁÞ@¬Þ@ŽÞ@zÞ@,Þ@Þ@ Þ@×Ý@padding <= 255ssh->queueingpkt->savedpos < pkt->lengthssh-rsaIncorrect CRC received on packet%sExtremely large packet length from server suggests data stream corruptionNetwork attack (CRC compensation) detected!Zlib decompression encountered invalid dataIncoming packet was garbled on decryptionIncorrect MAC received on packetConnecting to %s port %dFailed to connect to %s: %sServer unexpectedly closed network connectionServer closed network connectionssh->v1_throttle_count >= 0qh != NULLssh->packet_dispatch[qh->msg1] == ssh_queueing_handlerssh->packet_dispatch[qh->msg2] == ssh_queueing_handlerpktin->type == qh->msg1 || pktin->type == qh->msg2ssh->packet_dispatch[ssh->qhead->msg1] == NULLssh->packet_dispatch[ssh->qhead->msg2] == NULLssh->packet_dispatch[qh->msg1] == NULLssh->packet_dispatch[qh->msg2] == NULLRemote port forwarding from %s refusedRemote port forwarding from %s enabledrpf == pfIncoming terminal data packet was badly formedReceived X11 connect requestRejected X11 connect requestOpening X11 forward connection succeededOpened X11 forward channelOpening X11 forward connection failedReceived remote port open request for %s:%dPort open failed: %sRejected remote port open request for %s:%dForwarded port opened successfullyForwarded connection refused by serverhalf-open_CONFIRMATIONReceived CHANNEL_CLOSE%s for %s channel %d nonexistentForwarded X11 connection terminatedForwarded port closedc->u.x11.s != NULLc->u.pfd.s != NULLRemote debug message: %.*sServer sent disconnect message: "%.*s"expected key exchange reply packet from serverDoing Diffie-Hellman group exchangeexpected key exchange packet from serverInitiating key re-exchange (%s)Using Diffie-Hellman with standard group "%s"Doing Diffie-Hellman key exchange with hash %sUnexpected data from server while waiting for user host key responseUnexpected data from server while waiting for user response,expected new-keys packet from serverexpected key exchange group packet from serverInitialised %.200s client->server MAC algorithmInitialised %.200s client->server encryptionServer bug prevents key re-exchange (%s)key-exchange algorithmServer initiated key re-exchangeUser aborted at cipher warningunable to read mp-ints from incoming group packetclient-to-server cipherunable to parse key exchange reply packetUser aborted at kex warningserver-to-client cipherUser aborted at host key verificationInitialised %.200s server->client encryptionInitialised %.200s server->client MAC algorithm(null)Couldn't agree a key exchange algorithm (available: %s)Host key fingerprint is:Initialised %s compressionServer's host key did not match the signature suppliedCouldn't agree a client-to-server cipher (available: %s)Initialised %s decompressionCouldn't agree a server-to-client cipher (available: %s)ssh->v2_session_id_len <= sizeof(ssh->v2_session_id)sizeof(keyspace) >= ssh->kex->hash->hlen * SSH2_MKKEY_ITERS(ssh->cscipher->keylen+7) / 8 <= ssh->kex->hash->hlen * SSH2_MKKEY_ITERSssh->csmac->len <= ssh->kex->hash->hlen * SSH2_MKKEY_ITERSssh->cscipher->blksize <= ssh->kex->hash->hlen * SSH2_MKKEY_ITERSssh->kex->hash->hlen <= sizeof(s->exchange_hash)(ssh->sccipher->keylen+7) / 8 <= ssh->kex->hash->hlen * SSH2_MKKEY_ITERSssh->scmac->len <= ssh->kex->hash->hlen * SSH2_MKKEY_ITERSssh->sccipher->blksize <= ssh->kex->hash->hlen * SSH2_MKKEY_ITERSlAHA5AA–AáAtoo much data sentcancel-tcpip-forward0.0.0.0127.0.0.1:localremotedynamic%s port forwarding from %s%s%d%s to %s:%dCancelling %sSSH-1 cannot handle remote source address spec "%s"; ignoringService lookup failed for source port "%s"Service lookup failed for destination port "%s")(%s%s%s%s%d%s%s:%s%s%d%sDuplicate remote port forwarding to %s:%d failed: IPv4 IPv6 Local %sport %s SOCKS dynamic forwarding%s%sLocal %sport %s forwarding to %s%s%sRequesting remote port %s forward to %stcpip-forwardwindow-changeDisconnected: %sDisconnectedenServer sent command exit status %dPublic key packet not receivedPageant failed to answer challengeKey refusedEncryption not successfully enabledAuthentication successfulReceived RSA challengeBizarre response to RSA authentication responsePageant key #%d matches configured key fileTrying Pageant key #%dPageant has %d SSH-1 keysPageant key list packet was truncatedTrying public key "%s"Wrong passphrase. SSH key passphrasePassphrase for key "%.100s": Server refused our public key. Bizarre response to offer of public keyTIS authentication declinedUnexpected data from server while waiting for agent responseServer's RSA challenge was badly formattedConfigured key file not in PageantSent passwordCryptoCard authentication declinedCryptoCard authentication refused. Trying to enable encryption...Initialised %s encryptionInstalling CRC compensation attack detectorPageant's response not acceptedFailed to authenticate with our public key. Unable to authenticatecipherReceived public keysFailed to read SSH-1 public keys from public key packetSending length-padded passwordPageant is running. Requesting keys.SSH password%.90s@%.90s's password: Sending Pageant's responseSSH-1 public key packet stopped before random cookieRequested CryptoCard authenticationPageant's response acceptedRequested TIS authenticationTrying public key authentication. Received CryptoCard challengeSSH CryptoCard authentication%.*s Using CryptoCard authentication.%s%sSent username "%s" Using Blowfish encryptionNo passphrase required. No reply received from PageantCouldn't load private key from (). SSH-1 public key encryptions failed due to bad formattingSending password with camouflage packetsSending unpadded passwordCryptoCard challenge packet was badly formedNo username providedReading private key file "%.150s"Unable to use this key file (%s)Unable to use key file "%.150s" (%s) Successfully started encryptionSSH login namelogin as: Strange packet received, type %dReceived TIS challengeSSH TIS authenticationUsing TIS authentication.%s%sAuthenticated using RSA key "" from agent TIS authentication refused. Authentication refusedrsaUsing 3DES encryptionTIS challenge packet was badly formedEncrypted session keyServer violates SSH-1 protocol by not supporting 3DES encryptionUsing single-DES encryptionResponse: Access denied SSH-1 public keys were badly formattedUnable to load private key (%s)Unable to load private key file "%.150s" (%s) single-DESBlowfish3DESAES not supported in SSH-1, skipping0 && "unexpected return from loadrsakey()"pwlen >= bottom && pwlen <= topNo supported ciphers foundbreakat user requestSent EOF messageABRTsignalSent signal SIG%sHUPALRMFPEILLUnable to send BREAK signal in SSH-1INTPIPESEGVTERMUSR1USR2Allocated pty (ospeed %dbps, ispeed %dbps)X11 forwarding enabledStarted sessionRequesting X11 forwardingStrange packet received: type %dProtocol confusionStarted compressionInitialised zlib (RFC1950) compressionInitialised zlib (RFC1950) decompression%d,%dRequesting agent forwardingAgent forwarding enabledX11 forwarding refusedServer refused to compress Agent forwarding refusedServer refused to allocate pty Server version: %s2.01.99SSH-2.0-%s We claim version: %.*sUsing SSH protocol version %d1.5SSH-%s-%s SSH protocol version 2 required by user but not provided by serverDigiSSH_2.0OpenSSH_2.[0-4]*OpenSSH_2.5.[0-3]*Sun_SSH_1.0Sun_SSH_1.0.1WeOnlyDo-*We believe remote version has SSH-2 rekey bugOpenSSH_2.[0-2]*We believe remote version has SSH-2 public-key-session-ID bugOpenSSH_2.[5-9]*OpenSSH_3.[0-2]*We believe remote version has SSH-2 RSA padding bug* VShell2.0.0*2.0.10*We believe remote version has SSH-2 key-derivation bug2.1.0*2.0.*2.2.0*2.3.0*2.1 *We believe remote version has SSH-2 HMAC bugCisco-1.25We believe remote version can't handle SSH-1 RSA authenticationOSU_1.4alpha3We believe remote version needs a plain SSH-1 password1.2.181.2.191.2.201.2.211.2.22OSU_1.5alpha4We believe remote version has SSH-1 ignore bugSSH protocol version 1 required by user but not provided by server*str == '-'*str == 'H'*str == 'S'Received CHANNEL_CLOSE for %s channel %d All channels closedAdministratively prohibitedConnect failedUnknown channel typeResource shortagejjD€jDœjD«jDÀjDForwarded connection refused by server: %s [%.*s]exit-statusexit-signal %d (core dumped)Server exited on signal%s%s%sReceived channel request for nonexistent channel %d ("%.*s") "%.*s"Unsupported channel type requestedRejected channel open: %sx11Received X11 connect request from %s:%dX11 forwarding is not enabledforwarded-tcpipReceived remote port %d open request from %s:%dAttempting to forward remote port to %s:%dPort open failedauth-agent@openssh.comAgent forwarding is not enabledRemote port is not recognisedUnable to open an X11 connectionssh-connectionOffered public keypublickeySSH server authenticationUsing keyboard-interactive authentication.%s%.*sServer refused to open a sessionStrange packet received during authentication: type %dServer refused to open a direct-tcpip channelUnexpected response to agent forwarding request: packet type %dpasswordSSH server: %.*sUnexpected response to pty request: packet type %dNo supported authentication methods availableAccess grantedsessionenvSent %d environment variablesAll environment variables refusedServer refused to set environment variables execStarted a shell/commandServer's channel confirmation cited wrong channelssh-userauthServer refused service requestOpening direct-tcpip channel to %s:%d in place of sessiondirect-tcpipkeyboard-interactiveServer refused to start a shell/commandUnexpected response to X11 forwarding request: packet type %dServer refused public keypty-reqUsing username "%s". Opened channel for sessionServer requested password changeServer rejected new passwordNew SSH passwordCurrent password (blank for previously entered password): Enter new password: Confirm new password: Passwords do not match Sent new passwordUnexpected response to shell/command request: packet type %dx11-reqFurther authentication required Further authentication requiredOffer of public key acceptedWrong passphrase Unable to load private key () Access deniedOpened direct-tcpip channelRequesting OpenSSH-style agent forwardingauth-agent-req@openssh.comshellsubsystemUnexpected response to environment request: packet type %dPrimary command failed; attempting fallbackKeyboard-interactive authentication refusedAuthenticating with public key "" Server refused our key %d environment variables refusedServer refused to set all environment variables All environment variables successfully setp == sigdata_lenPageant has %d SSH-2 keysReceived disconnect message (%s)Disconnection message text: %n%.*sServer sent disconnect message type %d (%s): "%s"Received disconnect message (unknown type %d)timeouttoo much data receivedö@ ÷@Ð~A°ù@ (IPv4) (IPv6)Looking up host "%s"%scompression setting changedcipher settings changeddata limit loweredtimeout shortenedIGNORE messageX'Ýq¹¾¶Oáð­ˆÉf¬ }´:ÎcJßå‚1—`3QbES±àwd»„®kþ ù”+pXhHýE”‡lÞR·ø{«#ÓsrâKãWf*«U²(ë/µ†š{ÅÓ¥70ò‡(#²¥¿ºjí\‚Š+ϧ’´yóðòN¡âieÍôÚÕ¾Ñb4ÄŠþ¦4S.¢ Uó2ኤuëö 9ìƒ@ªï`^Ÿq½Qn>ùŠ!–=ÝÝ®>MF½æ‘µTq]ÄoÔ`ÿP$û˜Ö—齉ÌC@gwžÙ°½B舋‰ç8[yÛîÈ¡G ||éBøÉ„ ƒ†€2Hí+¬plNrZýûÿV8…=Õ®6'9- dÙh!¦\›ÑT[$:.6 ±g “çW´Ò–îž‘›€OÅÀa¢ ÜZiKwâ º“Àå* Äh8,4$Â_@£rü %â(‹I<ÿA• 9q¨Þ³ Øœä´dÁV{a„ËÕp¶2Ht\lÐBW¸ôQP§A~Seä':–^«;ËkñEú¬«XãK“0 Uúv­öm̈‘võ%LåOü×*Å×Ë5&€Dbµ£±ÞIZº%gêE˜þ]áÀ/ÃuLðF£—ÓkÆùç_’•œm¿ëzR•ÚY¾Ô-ƒtXÓ!àI)iÉŽDÈÂuj‰ŽôxyX™k>¹'Ýqá¾¶Oˆð­ Éf¬Î}´:ßcJå‚1Q—`3SbEd±àwk»„®þ ù”+HpXhEýÞ”‡l{R·øs«#ÓKrâãWUf*«ë²(µ/Âņš{7Ó¥(0ò‡¿#²¥ºjí\‚ÏŠ+y§’´óðòiN¡âÚeÍôÕ¾4Ñb¦ÄŠþ.4Só¢ UŠ2áö¤uëƒ 9ì`@ªïq^Ÿn½Q!>ùŠÝ–=>Ý®æMF½T‘µÄq]oÔP`ÿ˜$û½Ö—é@‰ÌCÙgwžè°½B‰ˆ‹ç8[ÈyÛî|¡G B|鄸ɀ ƒ†+2Hí¬pZlNrýûÿ…V8®=Õ-6'9 dÙ\h!¦[›ÑT6$:. ±gW“çî´Ò–›ž‘À€OÅÜa¢ wZiK“â º Àå*"Ä$8,4£Â_@rÃâ¼ %<(‹I ÿA•¨9q Þ³´ØœäVdÁË{a„2Õp¶lHt\¸ÐBW§ôQPeA~S¤Ã^':–k«;ËEñXú¬«ãK“ú0 Umv­öv̈‘Lõ%×åOüË*Å×D5&€£bµZ±ÞIº%gêE˜Àþ]áu/ÃðL—F£ùÓkÆ_眒•zm¿ëYR•Úƒ¾Ô-!tXÓiàI)ÈÉŽD‰ÂujyŽôx>X™kq¹'ÝOá¾¶­ˆð¬ Éf:Î}´Jßc1å‚3Q—`SbEwd±à®k»„ þ+ù”hHpXýElÞ”‡ø{R·Ós«#KrâãW«Uf*(ë²µ/{ņš7Ó¥‡(0ò¥¿#²jº‚í\ÏŠ+´y§’òóðâiN¡ôÚe;Õb4Ñþ¦ÄŠS.4Uó¢ áŠ2ëö¤uìƒ 9ï`@ªŸq^n½QŠ!>ùÝ–=>Ý®½æMFT‘µ]ÄqÔoP`ÿû˜$é½Ö—C@‰ÌžÙgwBè°½‹‰ˆ[ç8îÈyÛ |¡GB|鄸Ɇ€ ƒí+2Hp¬rZlNÿýû8…VÕ®=9-6'Ù d¦\h!T[›Ñ.6$:g ±çW“–î´Ò‘›žÅÀ€O Üa¢KwZiº“â * Àåà"4$8,@£Â_Ãr%â¼ I<(‹• ÿA¨9q³ Þä´ØœÁVd„Ë{a¶2Õp\lHtW¸ÐBP§ôQSeA~ä–^':Ëk«;ñE«Xú¬“ãKUú0 ömv­‘v̈%Lõü×åO×Ë*Å€D5&£bµIZ±Þgº%˜êEáÀþ]u/ÃðL£—FÆùÓkç_•œ’ëzm¿ÚYR•-ƒ¾ÔÓ!tX)iàIDÈÉŽj‰ÂuxyŽôk>X™Ýq¹'¶Oá¾­ˆðf¬ É´:Î}Jßc‚1å`3Q—ESbàwd±„®k» þ”+ùXhHpýE‡lÞ”·ø{R#Ós«âKrWã*«Uf(ë²µ/š{ņ¥7Óò‡(0²¥¿#ºj\‚í+ÏŠ’´y§ðòó¡âiNÍôÚeÕ¾b4ÑŠþ¦ÄS.4 Uó¢2áŠuëö¤9ìƒ ªï`@Ÿq^Qn½ùŠ!>=Ý–®>ÝF½æMµT‘]ÄqoÔÿP`$û˜—é½ÖÌC@‰wžÙg½Bè°ˆ‹‰8[çÛîÈyG |¡éB|É„øƒ†€ Hí+2¬pNrZlûÿýV8…Õ®='9-6dÙ !¦\hÑT[›:.6$±g çW“Ò–î´ž‘›OÅÀ€¢ ÜaiKwZ º“âå* ÀCà"< ­Ç‹ò¹¨¶-È©…ñWLu¯»Ý™îý`£Ÿ&÷¼õr\Å;fD4~û[v)C‹ÜÆ#Ëhüí¶cñä¸ÊÜ1×…cB@"— Æ„}$J…ø=»Ò2ù®m¡)ÇK/žó0²ÜìR† ÐãÁwl³+™¹p©úH”"déGÄŒü¨?ð Ø,}Vï3"ÇNI‡ÁÑ8Ùþ¢ÊŒ6 Ô˜Ïõ¦(Þz¥&Ž·Ú¤¿­?ä:, ’xP›Ì_jbF~TÂöè¸Ø^÷9.õ¯Ã‚¾€]Ÿ|“Ði©-Õo³%Ï;™¬È§}ncœè{»;Û x&ÍôYn·šì¨šOƒen•æ~æÿªϼ!æèïÙ›çºÎ6oJÔ ŸêÖ|°)¯²¤11#?*0”¥ÆÀf¢57¼Nt¦Ê‚ü°Ðàا3J˜ñ÷ÚìAPÍ/ö‘ÖMvM°ïCTMªÌß–äãµÑžˆjL¸,ÁQeFê^]5Œst‡ú.A ûZg³RÒÛ’3VéGÖmŒaךz ¡7ŽøY‰<ëî'©Î5Éa·íåá<±GzYßÒœ?sòUyο7ÇsêÍ÷S[ªý_o=߆ÛDxó¯Ê>Äh¹,4$8_@£Ârà %⼋I<(A• ÿq¨9Þ³ œä´ØÁVda„Ë{p¶2Õt\lHBW¸Ðc|w{òkoÅ0g+þ׫vÊ‚É}úYGð­Ô¢¯œ¤rÀ·ý“&6?÷Ì4¥åñqØ1Ç#Öš€âë'²u ƒ,nZ R;Ö³)ã/„SÑí ü±[j˾9JLXÏÐïªûCM3…EùP<Ÿ¨Q£@’8õ¼¶Ú!ÿóÒÍ ì_—Dħ~=d]s`OÜ"*ˆFî¸Þ^ Ûà2: I$\ÂÓ¬b‘•äyçÈ7mÕN©lVôêez®ºx%.¦´ÆèÝtK½‹Šp>µfHöa5W¹†Ážáø˜iÙŽ”›‡éÎU(ߌ¡‰ ¿æBhA™-°T»R jÕ06¥8¿@£žó×û|ã9‚›/ÿ‡4ŽCDÄÞéËT{”2¦Â#=îL• BúÃN.¡f(Ù$²v[¢Im‹Ñ%røöd†h˜Ô¤\Ì]e¶’lpHPýí¹Ú^FW§„Ø«Œ¼Ó ÷äX¸³EÐ,Ê?Á¯½Šk:‘AOgÜê—òÏÎð´æs–¬t"ç­5…âù7èußnGñq)ʼno·bª¾üV>KÆÒy šÛÀþxÍZôݨ3ˆÇ1±Y'€ì_`Q©µJ -åzŸ“Éœï à;M®*õ°Èë»<ƒS™a+~ºwÖ&áicU! }Æ¥ccø„||î™wwö{{ÿ òòÖ½kkÞ±oo‘TÅÅ`P00ΩggV}++çþþµb××Mæ««ìšvvEÊÊ‚‚‰@ÉÉú‡}}ïúú²ëYYŽÉGGû ððAì­­³gÔÔ_ý¢¢E꯯#¿œœS÷¤¤ä–rr›[ÀÀu··áýý=®““Lj&&lZ66~A??õ÷÷ƒOÌÌh\44Qô¥¥Ñ4ååùññâ“qq«sØØbS11*? •RÇÇFe##^ÃÃ0(7¡–– /µšš $6›€€ß=ââÍ&ëëNi''Ͳ²êŸuu žƒƒXt,,4.6-ܲnn´îZZ[û  ¤öRRvM;;·aÖÖ}γ³R{))Ý>ãã^q//—„„¦õSS¹hÑÑÁ,íí@` ãüüyȱ±¶í[[Ô¾jjFËËgÙ¾¾rK99”ÞJJ˜ÔLL°èXX…JÏÏ»kÐÐÅ*ïïO媪íûû†ÅCCš×MMfU33”……ŠÏEEéùùþ ðPPxD<<%ºŸŸK㨨¢óQQ]þ££€À@@Š?­’’!¼pH88ñõõcß¼¼wÁ¶¶¯uÚÚBc!! 0åÿÿýóó¿mÒÒLÍÍ &5Ã/ìì¾á__5¢——ˆÌDD.9“WÄÄUò§§ü‚~~zG==Ȭddºç]]2+æ•ssÀ ``˜žÑOO£ÜÜDf""T~**;« ƒˆˆŒÊFFÇ)îîkÓ¸¸(<§yÞÞ¼â^^ ­vÛÛÛ;ààdV22tN:: ’ÛII Hl$$¸ä\\Ÿ]½nÓÓCשּׁĦbb9¨‘‘1¤••Ó7ääò‹yyÕ2çç‹CÈÈnY77Ú·mmŒ±dÕÕœÒNNIà©©Ø´ll¬úVVóôôÏ%êêʯeeôŽzzGé®®oÕººðˆxxJo%%\r..8$Wñ¦¦sÇ´´—QÆÆË#èè¡|ÝÝèœtt>!–ÝKKaܽ½ †‹‹…ŠŠàpp|B>>qĵµÌªffØHH÷öö£aaj_55®ùWWiй¹‘††™XÁÁ:''¹žžÙ8ááëøø+³˜˜"3Ò»ii©pÙÙ‰ŽŽ3§””-¶››<"’‡‡É éé‡IÎΪÿUUPx((¥zßߌŒYø¡¡ €‰‰ eÚ¿¿×1ææ„ÆBBиhh‚ÃAA)°™™Zw--{˰°¨üTTmÖ»»,:cÆ¥c|ø„|wî™w{ö{òÿ òkÖ½koÞ±oÅ‘TÅ0`P0gΩg+V}+þçþ×µb׫Mæ«vìšvÊEÊ‚‚ɉ@É}ú‡}úïúY²ëYGŽÉGðû ð­Aì­Ô³gÔ¢_ý¢¯Eꯜ#¿œ¤S÷¤rä–rÀ›[À·u·ýáý“=®“&Lj&6lZ6?~A?÷õ÷̃OÌ4h\4¥Qô¥åÑ4åñùñqâ“qØ«sØ1bS1*? Ç•RÇ#Fe#Ã^Ã0(–7¡– š/µš $6€›€âß=âëÍ&ë'Ni'²ͲuêŸu  ƒžƒ,Xt,4.6-nܲnZ´îZ [û R¤öR;vM;Ö·aÖ³}γ)R{)ãÝ>ã/^q/„—„S¦õSѹhÑíÁ,í @` üãü±yȱ[¶í[jÔ¾jËF˾gÙ¾9rK9J”ÞJL˜ÔLX°èXÏ…JÏлkÐïÅ*ïªOåªûíûC†ÅCMš×M3fU3…”…EŠÏEùéùþP ðP!K–ÝK½aܽ‹ †‹Š…Špàp>|B>µqĵf̪fHØHö÷öa£a5j_5W®ùW¹i醑†Á™XÁ:'ž'¹žáÙ8áøëø˜+³˜"3iÒ»iÙ©pÙŽ‰Ž”3§”›-¶›<"‡’‡éÉ é·IÎUªÿU(Px(ߥzߌŒ¡Yø¡‰ €‰  ¿eÚ¿æ×1æB„ÆBhиhA‚ÃA™)°™-Zw-°{˰T¨üT»mÖ»,:ccÆ¥||ø„wwî™{{öòòÿ kkÖ½ooÞ±ÅÅ‘T00`PggΩ++V}þþç××µb««MævvìšÊÊE‚‚Éɉ@}}ú‡úúïYY²ëGGŽÉððû ­­AìÔÔ³g¢¢_ý¯¯Eꜜ#¿¤¤S÷rrä–ÀÀ›[··uÂýýá““=®&&Lj66lZ??~A÷÷õÌ̃O44h\¥¥QôååÑ4ññùqqâ“ØØ«s11bS*? ÇÇ•R##FeÃÃ^0(––7¡ šš/µ $6€€›ââß=ëëÍ&''Ni²²ÍuuêŸ ƒƒž,,Xt4.6-nnܲZZ´î  [ûRR¤ö;;vMÖÖ·a³³}Î))R{ããÝ>//^q„„—SS¦õÑѹhííÁ, @`üüã±±yÈ[[¶íjjÔ¾ËËF¾¾gÙ99rKJJ”ÞLL˜ÔXX°èÏÏ…JÐлkïïÅ*ªªOåûûíCC†ÅMMš×33fU……”EEŠÏùùéþPP ð<!KK–ݽ½aÜ‹‹ †ŠŠ…ppà>>|BµµqÄff̪HHØöö÷aa£55j_WW®ù¹¹iІ†‘ÁÁ™X:'žž'¹ááÙ8øøë˜˜+³"3iiÒ»ÙÙ©pŽŽ‰””3§››-¶<"‡‡’ééÉ Î·IUUªÿ((PxßߥzŒŒ¡¡Yø‰‰ € ¿¿eÚææ×1BB„ÆhhиAA‚Ù™)°--Zw°°{ËTT¨ü»»mÖ,:¥ccÆ„||ø™wwî{{ö òòÿ½kkÖ±ooÞTÅÅ‘P00`©ggÎ}++Vþþçb×׵櫫MšvvìEÊÊ‚‚@Éɉ‡}}úúúïëYY²ÉGGŽ ððûì­­AgÔÔ³ý¢¢_꯯E¿œœ#÷¤¤S–rrä[ÀÀ›Â··uýýᮓ“=j&&LZ66lA??~÷÷õOÌ̃\44hô¥¥Q4ååÑññù“qqâsØØ«S11b?* RÇÇ•e##F^ÃÃ(0¡––7 µšš/ 6$›€€=ââß&ëëÍi''NͲ²Ÿuuê žƒƒt,,X.4-6²nnÜîZZ´û  [öRR¤M;;vaÖַγ³}{))R>ããÝq//^—„„õSS¦hÑѹ,ííÁ` @üüãȱ±yí[[¶¾jjÔFËËÙ¾¾gK99rÞJJ”ÔLL˜èXX°JÏÏ…kÐл*ïïÅ媪OûûíÅCC†×MMšU33f”……ÏEEŠùùéþðPP D<ÝKK–ܽ½a†‹‹ …ŠŠppàB>>|ĵµqªffÌØHHöö÷£aaÂ_55jùWW®Ð¹¹i‘††XÁÁ™':¹žž'8ááÙøøë³˜˜+3"»iiÒpÙÙ©‰ŽŽ§””3¶››-"<’‡‡ ééÉIηÿUUªx((PzßߥŒŒø¡¡Y€‰‰  Ú¿¿e1ææ×ÆBB„¸hhÐÃAA‚°™™)w--Z˰°{üTT¨Ö»»m:,keylen == 16 || keylen == 24 || keylen == 32../sshaes.cblocklen == 16 || blocklen == 24 || blocklen == 32(len & 15) == 0¸DðDPžDarcfour256Arcfour-2560BPB@BBBBÀDËDarcfour128Arcfour-1280BPB@BàBBBžD€'žDkeybytes <= 256../ssharcf.c¸žDPŸDðžDblowfish-cbcBlowfish-128 CBC°'Bð'B@(B(Bp+B ,BÀžD€ÍžDblowfish-ctrBlowfish-256 SDCTR°'Bð'B@(B (Bà-Bà-BŸD)ŸDÐ'Bð'B (Bð(B *BÍžD7Î9:ÏõúÓ7w«-ÅZžg°\B7£O@'‚Ó¾›¼™ŽÕs¿~-Ö{ÄÇkŒ·E¡!¾±n²´n6j/«HWyn”¼Òv£ÆÈÂIeîøS}ÞF sÕÆMÐLÛ»9)PFº©è&•¬ã^¾ðÕú¡šQ-jâŒïc"¸Â‰Àö.$Cª¥¤ÐòœºaÀƒMjé›PåÖ[dºù¢&(á::§†•©KébUïÓï/ÇÚ÷R÷io?Y úw©ä€†°‡­æ ›“å>;Zýé—×4žÙ·ð,Q‹+:¬Õ–}¦}Ö>ÏÑ(-}|Ï%Ÿ›¸ò­r´ÖZLõˆZq¬)àæ¥àý¬°G›ú“íÄÓèÌW;()fÕø(.y‘_xU`uíD–÷Œ^ÓãÔmºmôˆ%a¡½ðdžëâW<ì'—*:©›m?õ!cûfœõóÜ&(Ù3uõýU±‚4V»<ºŠwQ(øÙ ÂgQÌ«_’­ÌQèMŽÜ08bX7‘ù “ÂzêÎ{>ûdÎ!Q2¾Ow~㶨F=)ÃiSÞH€æd®¢$²mÝý-…if! Fš³ÝÀEdÏÞlX®È Ý÷¾[@XÒÌ»ã´k~j¢ÝEÿY:D 5>ÕÍ´¼¨Îêr»„dú®fGo<¿cä›Òž]/Tw®pcNö tW[çqrø]}S¯Ë@@Ìâ´NjFÒ4„¯(°á:˜•´Ÿ¸H n΂;?o‚« 5Kø'r'±`aÜ?“ç+y:»½%E4á9ˆ KyÎQ·É2/ɺ ~ÈàöÑǼÃÏǪè¡I‡š½OÔËÞÚÐ8Ú Õ*Ã9g6‘Æ|1ùO+±à·Yž÷:»õCÿÕòœEÙ',"—¿*üæqü‘%”›a“åú뜶ÎYd¨ÂѨº^Á¶ jãePÒB¤Ënìà;Û˜¾ ˜Ldéx22•Ÿß’Óà+4 Óòq‰At Œ4£K q¾ÅØ2vß5ß./™›Go æñãTÚL周ÚÏybÎo~>Íf±,ýÅÒ„™"ûöWó#õ#v2¦15¨“ÍÌVbð¬µëuZ—6nÌsÒˆ’b–ÞÐI¹PLVÆq½ÇÆæ z2ÐáEš{òÃýSªÉ¨bâ¿%»öÒ½5iq"²|Ï˶+œvÍÀ>SÓã@`½«8ð­G%œ 8ºvÎF÷Å¡¯w``u NþË…Øèаùªz~ªùL\ÂHŒŠûäjÃùáëÖiøÔ Þ\¦-% ?ŸæÂ2aN·[âwÎãßWærÃ:hZ=é÷@”&Lö4)i”÷ A÷Ôv.kô¼h¢Ôq$Ôjô 3·Ô·C¯aP.ö9FE$—tO!@ˆ‹¿ü•M¯‘µ–ÓÝôpE/ fì ¼¿…—½Ðm¬…Ë1³'ë–A9ýUæG%Úš Ê«%xP(ô)SÚ†, ûm¶ébÜhiHפÀhî¡'¢þ?OŒ­‡èàŒµ¶Öôz|Ϊì_7Ó™£xÎB*k@5žþ ¹…óÙ«×9î‹N;÷úÉVmK1f£&²—ãêtún:2C[Ý÷çAhû xÊNõ û—³þجV@E'•Hº::SU‡ƒ ·©kþK•–мg¨UXš¡c)©Ì3Ûá™VJ*¦ù%1?~ô^|1)èøýp/'\»€ã,(HÁ•"mÆä?ÁH܆ÇîÉùA¤yG@nˆ]ëQ_2ÑÀ›ÕÁ¼òd5A4x{%`œ*`£èøßlc´ž2áÑOf¯ÑÊà•#ká’>3b $;"¹¾î¢²…™ ºæŒ rÞ(÷¢-ExÐý”·•b}dðõÌço£ITúH}‡'ýÃ>óAcG tÿ.™«no:7ýøô`ܨøÝë¡Lá™ knÛU{Æ7,gm;Ôe'èÐÜÇ )ñ£ÿÌ’9µ íiûŸ{fœ}ÛÎ Ï‘ £^Ùˆ/»$­[Q¿y”{ëÖ;v³.97yYÌ—â&€-1.ô§­Bh;+jÆÌLuñ.x7BjçQ’·æ»¡PcûKkúíÊؽ%=ÉÃáâYBD† nì Ù*ê«ÕNg¯d_¨†Úˆé¿¾þÃädW€¼†À÷ðø{x`M``FƒýѰ8ö®EwÌü6×3kBƒq«ð‡A€°_^<¾W w$®è½™BFUa.X¿ôXN¢ýÝò8ïtô½‰‡ÃùfSt޳ÈUòu´¹ÙüFa&ëz„ß‹yj„â•_‘ŽYnFpW´ ‘UÕŒLÞÉᬠ¹Ð‚»Hb¨ž©tu¶· ܩࡠ-f3F2ÄZ茾ð % ™Jþn=¹ߤ¥ ò†¡iñh(ƒÚ·Üþ9W›Îâ¡RÍO^Púƒ§Äµ 'Ðæ 'ŒøšA†?wL`õ¨a(zðà†õÀªX`b}Ü0מæcê8#”ÝÂS4ÂÂVî˻޶¼¡}üëvYÎ äoˆ|K= r9$|’|_rㆹMr´[Áü¸žÓxUTíµ¥üÓ|=ØÄ­M^ïPøæa±Ù…¢<QlçÇÕoÄNáVο*67ÈÆÝ42š×‚c’Žúgà`@épzKD)³µ. uÛ#&ݦn­}ß§I¸`îœf²íqŒªìÿšilRdVឱ¥6)L u@Y >:䚘T?eB[ÖäkÖ?÷™œÒ¡õ0èïæ8-MÁ]%ð† ÝL&ëp„Æé‚c^Ì?kh Éïº>—<¡pjk„5h†â RSœ·7Pª„>\®ÞìD}ޏòW7Ú:° Pððÿ³õ ®²tµÇÈìAu¤™Í8â/ê;¡»€21³>8‹TN¹mO Bo¿ ö¸,y|—$r°yV¯‰¯¼wšÞ“Ù®‹³.?ÏÜrU$qk.æÝP‡Í„ŸGXzÚt¼šŸ¼Œ}Ké:ìzìú…ÛfC cÒÃdÄGïÙ27;CݺÂ$CM¡QÄe*”PÝä:žøßqUN1Öw¬›_ñV5kÇ£×;< ¥$Yíæòúûñ—,¿ºžn<pEㆱoéê ^†³*>Zçwú=N¹Üe)ç™Ö‰>€%ÈfRxÉL.j³œºÆxêâ”S<ü¥ô- §N÷ò=+6&9`y§#R¶÷nþ­ëfÃê•E¼ãƒÈ{¦Ñ7±(ÿŒïÝ2Ã¥Zl¾…!Xe˜«h¥Îî;•/Û­}ï*„/n[(¶!pa)uGÝìŸa0¨Ì–½aëþ4Ïcª\sµ9¢pL žžÕު˼†Ìî§,b`«\«œn„󲯋dÊð½¹i# P»Ze2Zh@³´*<Õéž1÷¸!À T›™ _‡~™÷•¨}=bšˆ7øw-ã—_“íh)ˆ5ÖæÇ¡ßÞ–™ºXx¥„õWcr"ÿÛ–FÂë ³ÍT0.SäHÙ(1¼mïòëXêÿÆ4aí(þs<|îÙJ]ã·dè]Bà> ¶âîEꫪ£OlÛÐOËúBôBǵ»jï;Oe!ÍAžyØÇM…†jGKäPb=ò¡bÏF&[ ƒˆü£¶ÇÁÃ$’tËi Š„G…²’V¿[ H­t±b‚#*BXêõU >ô­ap?#’ðr3A~“ñì_ÖÛ;"lY7Þ|`tî˧ò…@n2w΄€¦žPøUØïè5—Ùaª§i©Â Åü«ZÜÊ €.zDž„4EÃgÕýÉžÓÛsÛ͈UyÚ_g@Cgãe4ÄÅØ8>qžø(= ÿmñç!>J=°+Ÿãæ÷­ƒÛ¦ 1Ѭµß˜Ûrý/·ßÐí¯á¸–~&jE|º™,ñG™¡$÷l‘³âòüŽ…Ø iciNWq£þX¤~=“ôt• X¶ŽrXÍ‹qîJ‚¤T{µYZÂ9Õ0œ`ò*#°ÑÅð…`(yAÊï8Û¸°ÜyŽ:`‹žl>аÁw×'K1½Ú/¯x`\`Uó%U攫Uªb˜HW@ècj9ÊU¶«*4\Ì´ÎèA¯†T¡“ér|î³*¼oc]Å©+ö1t>\Γ‡›3ºÖ¯\Ï$lS2zw†•(˜H;¯¹Kkè¿Ä“!(fÌ Øa‘©!û`¬|H2€ì]]]„ï±u…é#&܈eë>‰#Ŭ–Óóom9Bôƒ‚D . „¤JðÈi^›žBhÆ!šléöaœ gðˆÓ«Ò Qjh/TØ(§–£3Q«l ïnä;zPð;º˜*û~eñ¡v¯9>YÊfˆC‚†îŒ´ŸoEÃ¥„}¾^‹;Øuoàs Á…ŸD@¦jÁVbªÓNw?6rßþ=›B$×Ð7H ÐÓêÛ›ÀñIÉrS{™€ØyÔ%÷ÞèöPþã;Ly¶½àl—ºÀ¶O©ÁÄ`Ÿ@ž\^c$j¯oûhµSl>ë²9oìR;Qüm,•0›DEÌ ½^¯Ðã¾ýJ3Þ(f³K.W¨ËÀtÈE9_ ÒÛûÓ¹½ÀyU 2`Æ¡Öyr,@þ%ŸgÌ£ûøé¥Žø"2Ûßu<kaýÈP/«R­úµ=2`‡#ýH{1S‚ß>»W\ž ŒoÊ.V‡Ûißö¨BÕÃÿ~(Æ2g¬sUOŒ°'[iÈXÊ»]£ÿá ð¸˜=ú¸ƒ!ýlµüJ[ÓÑ-yäSšeEø¶¼IŽÒ—ûKÚòÝá3~ˤAûbèÆäÎÚÊ ïLw6þž~дñ+MÚÛ•˜‘®qŽ­ê Õ“kÐÑŽÐà%ǯ/[<Ž·”uŽûâöd+ò¸ˆˆð  ^­OÃh‘ñÏÑ­Á¨³"//w¾þ-uê¡‹Ì åètoµÖó¬™â‰ÎàO¨´·àý;Ä|Ù¨­Òf¢_w•€sÌ“w!e ­æ†úµwõBTÇÏ5û ¯Íë ‰>{ÓAÖI~®-%^³q »h"¯à¸W›6d$¹ ð‘cUª¦ßY‰CÁxSZÙ¢[} Źåv&ƒ©Ï•bhÈAJsNÊ-G³J©{RQ)Sš?WÖ䯛¼v¤`+tæµoºéWkì–òÙ *!ec¶¶ù¹ç.4ÿdV…Å]-°S¡Ÿ©™Gºj…nˆj?$Ó£….ŠDsp"8 ¤Ð1Ÿ)˜ú.‰lNìæ!(EwÐ8ÏfT¾l é4·)¬ÀÝP|ɵՄ? GµÙÕ’ûy‰(len & 7) == 0../sshblowf.cmod[mod[0]] != 0../sshbn.c0123456789ABCDEF%s0x-%c –0w,aîºQ ™Ämôjp5¥c飕dž2ˆÛ¤¸ÜyéÕàˆÙÒ—+L¶ ½|±~-¸ç‘¿d·ò °jHq¹óÞA¾„}ÔÚëäÝmQµÔôÇ…ÓƒV˜lÀ¨kdzùbýìÉeŠO\Ùlcc=úõ È n;^iLäA`Õrqg¢Ñäjm ¨Zjz Ïäÿ “'® ±ž}D“ðÒ£‡hòþÂi]Wb÷Ëge€q6lçknvÔþà+Ó‰ZzÚÌJÝgoß¹ùùホC¾·Õް`è£ÖÖ~“Ñ¡ÄÂØ8RòßOñg»ÑgW¼¦Ýµ?K6²HÚ+ ØL ¯öJ6`zAÃï`ßUßg¨ïŽn1y¾iFŒ³a˃f¼ Òo%6âhR•w ÌG »¹"/&U¾;ºÅ( ½²’Z´+j³\§ÿ×Â1Ïе‹žÙ,®Þ[°Âd›&òc윣ju “m© œ?6ë…grW‚J¿•z¸â®+±{8¶ ›ŽÒ’ ¾Õå·ïÜ|!ßÛ ÔÒÓ†BâÔñø³ÝhnƒÚ;[&¹öáw°owG·æZˆpjÿÊ;f\ ÿžei®bøÓÿkaEÏlxâ  îÒ ×TƒN³9a&g§÷`ÐMGiIÛwn>JjÑ®ÜZÖÙf ß@ð;Ø7S®¼©Åž»ÞϲGéÿµ0ò½½ŠÂºÊ0“³S¦£´$6к“×Í)WÞT¿gÙ#.zf³¸JaÄh]”+o*7¾ ´¡Ž ÃßZï-!(len > (SSH_MAXBLOCKS * SSH_BLOCKSIZE) || len % SSH_BLOCKSIZE != 0)../sshcrcda.csingle-DES CBC0oBPoByBÐyBàyBдDtriple-DES inner-CBCðnBPoBqBPqB`qBü´D8µDµDPµDdes-cbc@ssh.comoBPoB`pBÀpB sB0sB@µD8дDdes-cbcoBPoB`pBÀpB sB0sB|µD8дDĵDP¶DðµD3des-cbctriple-DES CBCÐnBPoB`pB`oB€qBqB̵D¨ÕµD3des-ctrtriple-DES SDCTRÐnBPoB`pB`oB qB qB¶D¨%¶D €€€€€ € € €€ € €€€€€€€ €€  €€€€ €€  €€ €€€€ € € € €€€€€€€€€ €€ € €€ €€€ €  €€ € €€€ €€ € €€€ € €€ €€€ € € €€€€ € €€€ € €€ €€ € € €€€€ € € €€ €€€ € € € € € €€ € € €€€ € €B@@@BB@@@@BBB@BBB@B@@B@BBBB@B@@@ @ @@@ @ @@ @@ @@@ @@ @@@ @@@@ @ @ @@@@ @@@@@ @ @ @@@@ @@ @@ @ @@ @@@ @@@@ @ @@ @@@@@ @@ @@                             @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'/7?&.6> %-5=  !)19 "*2: #+3;$,4<1$;7ÿÿÿÿÿÿÿÿ%)08"4ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ.+ÿÿÿÿÿÿÿÿ9 -6'2ÿÿÿÿÿÿÿÿ,5!(/:ÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿ (len & 7) == 0../sshdes.cøÀDhÁD$ÁDdiffie-hellman-group-exchange-sha1ÁDHÎDdiffie-hellman-group-exchange-sha256@ÁD(ÉDŒÁD´ÁDdiffie-hellman-group14-sha1group14ÁD¬ÁDðÁDÐÁDHÎDÿÿÿÿÿÿÿÿÉÚ¢!hÂ4ÄÆb‹€ÜÑ)NŠgÌt ¾¦;›"QJyŽ4ÝÍ:C0+ mò_7Oá5mmQÂEä…µvb^~ÆôLBé¦7ík ÿ\¶ô·íî8kûZ‰Ÿ¥®Ÿ$|KæI(fQìä[=Â|¸¡c¿˜ÚH6UÓši?¨ý$Ï_ƒe]#Ü£­–bóV …R»žÕ)p––mg 5NJ¼˜ñtlÊ!|2^F.6Î;ãžw,†›'ƒ¢ì¢µÅ]ðoLRÉÞ+Ëö•X9•I|ê•jåÒ&˜úrŽZЬªhÿÿÿÿÿÿÿÿøÂD ÃDdiffie-hellman-group1-sha1group1üÂDÃDPÃDÐÁD€HÎDÿÿÿÿÿÿÿÿÉÚ¢!hÂ4ÄÆb‹€ÜÑ)NŠgÌt ¾¦;›"QJyŽ4ÝÍ:C0+ mò_7Oá5mmQÂEä…µvb^~ÆôLBé¦7ík ÿ\¶ô·íî8kûZ‰Ÿ¥®Ÿ$|KæI(fQìæSÿÿÿÿÿÿÿÿssh-dssdss~BPBBðˆB@‹BŒB`B@ŽBБB ƒB°†B’BÐÃDØÃD0123456789abcdefssh-dssssh-dss %d :%s%02xp == blob + bloblen../sshdss.cDSA deterministic k generatorhmac-md5HMAC-MD5 B  B0¡B ¢BÀ¢B°ÄD¹ÄDfile format errorwrong passphraseerror reading filersa_verify failedrbnot an SSH-1 RSA fileSSH PRIVATE KEY FILE FORMAT 1.1 can't open filewbssh-rsassh-dssPuTTY-User-Key-File-2EncryptionPuTTY-User-Key-File-1not a PuTTY SSH-2 private keyaes256-cbcCommentPublic-LinesPrivate-LinesPrivate-MACPrivate-Hashputty-private-key-file-mac-key%02xMAC failednonecreatekey failedwPublic-Lines: %d PuTTY-User-Key-File-2: %s Encryption: %s Comment: %s Private-Lines: %d Private-MAC: priv_encrypted_len - priv_blob_len < 20../sshpubk.crPuTTY-User-Key-File----- BEGIN SSH2 ENCRYPTED PRIVAT-----BEGIN INTERNAL ERRORssh.com SSH-2 private keyunable to open filenot a private keySSH-1 private keyPuTTY SSH-2 private keyOpenSSH SSH-2 private keybÉBiÉBpÉBwÉB~ÉBWÉBssh-rsarsa2ðÛB ÜBÀÜBÝBpÞBàBáB âBpæBÀæB`éBëB ÈD(ÈD0!0 +RSA deterministic blinding0123456789abcdef%d :%s%02xp == blob + bloblen../sshrsa.cssh-rsassh-rsa %d 1 <= nbytes - 20 - ASN1_LENSHA-2560÷B`÷Bp÷B ÉD˜/ŠB‘D7qÏûÀµ¥Ûµé[ÂV9ññY¤‚?’Õ^«˜ªØ[ƒ¾…1$Ã} Ut]¾rþ±Þ€§Ü›tñ›ÁÁi›ä†G¾ïÆÁÌ¡ $o,é-ª„tJÜ©°\ÚˆùvRQ>˜mÆ1¨È'°ÇY¿ó àÆG‘§ÕQcÊg))… ·'8!.üm,M 8STs e» jv.ÉÂ…,r’¡è¿¢Kf¨p‹K£QlÇè’Ñ$™Ö…5ôp jÁ¤l7LwH'µ¼°4³ 9JªØNOÊœ[óo.hî‚toc¥xxȄnjúÿ¾ëlP¤÷£ù¾òxqÆgæ jɼó…®g»;§Ê„rón<+ø”þ:õO¥ñ6_RQт歌h›l>+«Ùƒk½AûÍà[y!~˜/ŠB"®(בD7qÍeï#ÏûÀµ/;Mì¥Ûµé¼Û‰[ÂV98µHóññY椂?’›O¯Õ^«mÚ˜ªØB£[ƒ¾opE¾…1$Œ²äNÃ} Uâ´ÿÕt]¾ro‰{òþ±Þ€±–;§Ü›5Ç%tñ›Á”&iÏÁi›äÒJñž†G¾ïã%O8ÆÁµÕŒ‹Ì¡ $eœ¬wo,é-u+Yª„tJƒä¦nÜ©°\ÔûA½ÚˆùvµSƒRQ>˜«ßfîmÆ1¨2´-È'°?!û˜ÇY¿äï¾ó àÆÂ¨=G‘§Õ%§ “QcÊo‚àg))pn … ·'ü/ÒF8!.&É&\üm,Mí*ÄZ 8Sß³•Ts eÞc¯‹» jv¨²w<.ÉÂæ®íG…,r’;5‚¡è¿¢dñLKf¨0B¼p‹K‘—øÐ£QlÇ0¾Tè’ÑRïÖ$™Ö©eU…5ô* qWp j¸Ñ»2Á¤ÈÐÒ¸l7S«AQLwH'™ëŽßµ¼°4¨H›á³ 9cZÉÅJªØNËŠAãOÊœ[sãcwóo.h£¸²Öî‚tü²ï]oc¥x`/CxÈ„r«ð¡ÇŒì9dúÿ¾(c#ëlP¤é½‚Þ÷£ù¾yƲòxqÆ+SrãÎ>'Êœa&êǸ†ÑÂÀ!Ö}ÚêëàÍO}õxÑnîªgðºorÅ}c ¦˜È¢˜?® ù¾5 qGõwÛ(„}#{«Ê2“$Ç@ ¾ž<¼¾ÉÄgCL œ¾ÔÅL¶B>Ëœ)Y*~eü«oË_ìúÖ:ŒDlXGJhmac-sha1-96bug-compatible HMAC-SHA1-96%C %CP&CÐ'C (CÍD ÍDhmac-sha1bug-compatible HMAC-SHA1%C %CP&CP'C€'C`ÍDjÍDHMAC-SHA1-96%C %C0&CÐ'C (CÍD ÀÍDHMAC-SHA1%C %C0&CP'C€'C`ÍDÎDSHA-1$CÀ$CÐ$C@ÎDzlibzlib (RFC1950)`ÎD€2CP3CÀ3Cà8C0:CÐ;C€3CeÎD    !0 1@ A` a€ÀÁ€           0 0@ @` `€       "#*+23:;BCRSbcrs‚ƒ¢£ÂÃâã€@À  `àPÐ0°pðˆHÈ(¨hè˜XØ8¸xø„DÄ$¤dä”TÔ4´tô ŒLÌ,¬lìœ\Ü<¼|ü‚BÂ"¢bâ’RÒ2²rò ŠJÊ*ªjêšZÚ:ºzú†FÆ&¦fæ–VÖ6¶vöŽNÎ.®nîž^Þ>¾~þAÁ!¡aá‘QÑ1±qñ ‰IÉ)©ié™YÙ9¹yù…EÅ%¥eå•UÕ5µuõ MÍ-­mí]Ý=½}ýƒCÃ#£cã“SÓ3³só ‹KË+«kë›[Û;»{û‡GÇ'§gç—W×7·w÷OÏ/¯oïŸ_ß?¿ÿout->noutbits + nbits <= 32../sshzlib.cj - i >= 2!out->comp_disabled     hACAC•@Cù?C¡?C%?C½>Cl>C¥WILLWONTDODONT%s: %s %sclientclient: SB NAWS %d,%dserverConnecting to %s port %dFailed to connect to %s: %s%sserver: SB TTYPE server: SB TSPEED server: SB %s SENDserver: SB TSPEED SENDclient: SB TSPEED IS %sserver: SB TTYPE SENDclient: SB TTYPE IS %s USER=client: SB %s IS %s%s%s%sMCÝNC`OC®NC‰OCmOCzOCuNC6NCMCLC°LC MC0VC (IPv4) (IPv6)Looking up host "%s"%sÿÿ ˆ[C‘[Cš[Cß[Cè[Cñ[CÒZC[C [C[C[C[C"[C”ZC([CÆZCS[CAre You ThereBreakSynchErase CharacterErase LineGo AheadNo OperationAbort ProcessAbort OutputInterrupt ProcessSuspend ProcessEnd Of RecordEnd Of FileDØDRØDXØD^ØDnØDyØD‚ØDØDØDªØD ¼ØD ÌØD ÚØD !relation == REL234_LT || relation == REL234_GT../tree234.cexpected ']' to close character classcharacter range was not terminated (']' just after '-')INTERNAL ERROR: unrecognised wildcard error number'' occurred at end of string (expected another character)*wildcard == '*'../wildcard.cThe server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's %s key fingerprint is: %s Connection abandoned. The server's host key is not cached in the registry. You have no guarantee that the server is the computer you think it is. The server's %s key fingerprint is: %s If you trust this host, enter "y" to add the key to PuTTY's cache and carry on connecting. If you want to carry on connecting just once, without adding the key to the cache, enter "n". If you do not trust this host, press Return to abandon the connection. Store key in cache? (y/n) WARNING - POTENTIAL SECURITY BREACH! The server's host key does not match the one PuTTY has cached in the registry. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server. The new %s key fingerprint is: %s Connection abandoned. WARNING - POTENTIAL SECURITY BREACH! The server's host key does not match the one PuTTY has cached in the registry. This means that either the server administrator has changed the host key, or you have actually connected to another computer pretending to be the server. The new %s key fingerprint is: %s If you were expecting this change and trust the new key, enter "y" to update PuTTY's cache and continue connecting. If you want to carry on connecting but without updating the cache, enter "n". If you want to abandon the connection completely, press Return to cancel. Pressing Return is the ONLY guaranteed safe choice. Update cached key? (y/n, Return cancels connection) Connection abandoned. The first %s supported by the server is %s, which is below the configured warning threshold. Continue with connection? (y/n) The first %s supported by the server is %s, which is below the configured warning threshold. Connection abandoned. Connection abandoned. The session log file "%.*s" already exists. You can overwrite it with a new session log, append your session log to the end of it, or disable session logging for this session. Enter "y" to wipe the file, "n" to append to it, or just press Return to disable logging. Wipe the log file? (y/n, Return cancels logging) The session log file "%.*s" already exists. Logging will not be enabled. You are loading an SSH-2 private key which has an old version of the file format. This means your key file is not fully tamperproof. Future versions of PuTTY may stop supporting this private key format, so we recommend you convert your key to the new format. Once the key is loaded into PuTTYgen, you can perform this conversion simply by saving it again. These are the fingerprints of the PuTTY PGP Master Keys. They can be used to establish a trust path from this executable to another one. See the manual for more information. (Note: these fingerprints have nothing to do with SSH!) PuTTY Master Key (RSA), 1024-bit: 8F 15 97 DA 25 30 AB 0D 88 D1 92 54 11 CF 0C 4C PuTTY Master Key (DSA), 1024-bit: 313C 3E76 4B74 C2C5 F2AE 83A8 4F5E 6DF5 6A93 B34E Cannot get standard input/output handles FontLogFileNameSerialLineCOM1h->output../windows/winhandl.ch && !h->u.g.moribundhandles_by_evtomain!h->outputlocalhostDISPLAYdebug.logwWS2_32.DLLgetaddrinfofreeaddrinfogetnameinfogai_strerrorUnable to initialise WinSockWSAIoctlrecvacceptioctlsocketsendlistensocketsetsockoptbindconnectinet_ntoainet_addrgetservbynamegethostbynamentohshtonshtonlntohlclosesocketWSACleanupWSAStartupWSAEnumNetworkEventsWSAGetLastErrorselectWSAEventSelectWSAAsyncSelectWSAAddressToStringAwship6.dllWSOCK32.DLLUnable to load any WinSock libraryUnknown network errorNetwork error: Graceful shutdown in progressNetwork error: Too many processesNetwork error: No route to hostNetwork error: Host is downNetwork error: Connection refusedNetwork error: Connection timed outNetwork error: Cannot send after socket shutdownNetwork error: Socket is not connectedNetwork error: Socket is already connectedNetwork error: No buffer space availableNetwork error: Connection reset by peerNetwork error: Software caused connection abortNetwork error: Network dropped connection on resetNetwork error: Network is unreachableNetwork error: Network is downNetwork error: Cannot assign requested addressNetwork error: Address already in useNetwork error: Address family not supported by protocol familyNetwork error: Protocol family not supportedNetwork error: Operation not supportedNetwork error: Socket type not supportedNetwork error: Protocol not supportedNetwork error: Bad protocol optionNetwork error: Protocol wrong type for socketNetwork error: Message too longNetwork error: Destination address requiredNetwork error: Socket operation on non-socketNetwork error: Operation already in progressNetwork error: Operation now in progressNetwork error: Resource temporarily unavailableNetwork error: Too many open filesNetwork error: Invalid argumentNetwork error: Bad addressNetwork error: Permission deniedNetwork error: Interrupted function callL”CW“CW“CW“CW“CW“CW“CW“CW“CE”C>”CW“CW“CW“CW“CW“CW“CW“C7”CW“C0”CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“C)”C"”C”C”C ”C”Cÿ“Cø“Cñ“Cê“Cã“CÜ“CÕ“CΓCÇ“CÀ“C¹“C²“C«“C¤“C“C–“C“Cˆ“CW“C“Cz“CW“CW“Cs“Cl“CW“Ce“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“CW“C^“CNetwork is downHost does not existHost not foundgethostbyname: unknown errorIPv6addr->addresses && addr->curraddr < addr->naddresses../windows/winnet.clocalhostUnable to get list of local IP addressesaddr->family == AF_UNSPECaddr->family != AF_UNSPECFALSE œCP¦C€¨Cà¨CÀœC ®C°®Cà®CЮCsock->addr->addresses && sock->addr->curraddr < sock->addr->naddresses œCP¦C€¨Cà¨CÀœC ®C°®Cà®CЮC œCP¦C€¨Cà¨CÀœC ®C°®Cà®CЮC%slen <= sizeof(s->oobdata)Internal networking trouble«Cf¬C¬C«C±«C«C«C«CzªC«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C«C «Cunix sockets not supported on this platformPageantPageantRequest%08xFATAL ERROR: plink: ../windows/winplink.c!"Unexpected call to from_backend_untrusted()"Network is downWSAEventSelect(): unknown errorUnable to read from standard input: %s outputerrorUnable to write to standard %s: %s  PLINK_PROTOCOL-batch :Plink requires WinSock 2 telnet:-s-V-pgpfpplink: unknown option "%s" plink: option "%s" requires an argument Unable to open connection: %sInternal fault: Unsupported protocol found PuTTY Link: command-line connection utilityUsage: plink [options] [user@]host [command] ("host" can also be a PuTTY saved session name)Options: -V print version information and exit -pgpfp print PGP key fingerprints and exit -v show verbose messages -load sessname Load settings from saved session -ssh -telnet -rlogin -raw force use of a particular protocol -P port connect to specified port -l user connect with specified username -batch disable all interactive promptsThe following options only apply to SSH connections: -pw passw login with specified password -D [listen-IP:]listen-port Dynamic SOCKS-based port forwarding -L [listen-IP:]listen-port:host:port Forward local port to remote address -R [listen-IP:]listen-port:host:port Forward remote port to local address -X -x enable / disable X11 forwarding -A -a enable / disable agent forwarding -t -T enable / disable pty allocation -1 -2 force use of particular protocol version -4 -6 force use of IPv4 or IPv6 -C enable compression -i key private key file for authentication -noagent disable use of Pageant -agent enable use of Pageant -m file read remote command(s) from file -s remote command is an SSH subsystem (SSH-2 only) -N don't start a shell/command (SSH-2 only) -nc host:port open tunnel in place of session (SSH-2 only)Remote process exit code unavailable plink: %s Read error from local proxy commandÏC ÏCpÏCÏC ÏC°ÏCÀÏCÐÏCàÏCStarting local proxy command: %sUnable to create pipes for proxy commandError reading from serial device%sEnd of file reading from serial deviceError writing to serial deviceConfiguring baud rate %dConfiguring %d data bitsInvalid number of stop bits (need 1, 1.5 or 2)2spaceConfiguring %s parityConfiguring %s flow controlUnable to configure serial portUnable to configure serial timeouts1.5Configuring %s data bits1XON/XOFFRTS/CTSnomarkevenoddDSR/DTRùÖCëÖCÝÖCÏÖC3ÕCOpening serial device %s%s%sUnable to open serial port\\.\Finished serial breakStarting serial break at user requestBreaknÿD!0123456789ABCDEFSoftware\SimonTatham\PuTTY\SessionsDefault SettingsUnable to create registry key HKEY_CURRENT_USER\%sUnable to create registry key HKEY_CURRENT_USER\%s\%sIsBoldCharSetHeight%d:Software\SimonTatham\PuTTY\SshHostKeysrsa:/Software\SimonTatham\PuTTYHOMEDRIVEHOMEPATHRandSeedFileSHELL32.DLLSHGetFolderPathASoftware\SimonTathamPuTTYSoftwareSimonTathamMIT-MAGIC-COOKIE-1XDM-AUTHORIZATION-10E1EDE%02xproto_id == X11_XDM../x11fwd.c:.:0€ñCòC@òCòCunix%d.%d.%d.%dn != 0wrong authentication protocol attemptedXDM-AUTHORIZATION-1 time stamp was too far outXDM-AUTHORIZATION-1 data replayedPuTTY X11 proxy: %sXDM-AUTHORIZATION-1 data was wrong lengthcannot do XDM-AUTHORIZATION-1 without remote address dataXDM-AUTHORIZATION-1 data failed checkMIT-MAGIC-COOKIE-1 data was wrong lengthMIT-MAGIC-COOKIE-1 data did not matchpr->auth->reallen <= lenof(realauthdata)auth->xdmseen != NULLseen != NULL-LIBGCCW32-EH-3-SJLJ-GTHR-MINGW32w32_sharedptr->size == sizeof(W32_EH_SHARED)../../gcc-3.4.5/gcc/config/i386/w32-shared-ptr.cGetAtomNameA (atom, s, sizeof(s)) != 0|P`\´R¤PD]ÜR€Q\]¸SQT^ÈS„Rˆ^¼TèTøTUU&U4UBUVUhUtU„U–U¤U´UÂUØUæUøUVV"V.V@VPVbVpV€VV¢V¶VÌVàVöVWW.W>WTWfWxWˆW˜W²WÄWÔWäWüWX"X2XLXXXhXxXŠXœX¨XÀXÞXðXYYY*Y:YJYZYhYzY„YŽY–Y¢Y¬Y¶YÂYÐYØYâYêYòYüYZZZZ(Z0Z8Z@ZHZRZ\ZfZpZzZ„ZŽZ˜Z Z¨Z²Z¼ZÆZÐZÚZäZîZøZ[[["[,[6[@[J[T[^[f[p[z[†[”[¢[¶[Æ[Ü[î[ \\0\èTøTUU&U4UBUVUhUtU„U–U¤U´UÂUØUæUøUVV"V.V@VPVbVpV€VV¢V¶VÌVàVöVWW.W>WTWfWxWˆW˜W²WÄWÔWäWüWX"X2XLXXXhXxXŠXœX¨XÀXÞXðXYYY*Y:YJYZYhYzY„YŽY–Y¢Y¬Y¶YÂYÐYØYâYêYòYüYZZZZ(Z0Z8Z@ZHZRZ\ZfZpZzZ„ZŽZ˜Z Z¨Z²Z¼ZÆZÐZÚZäZîZøZ[[["[,[6[@[J[T[^[f[p[z[†[”[¢[¶[Æ[Ü[î[ \\0\õGetUserNameA‚RegCloseKey…RegCreateKeyA‰RegDeleteKeyARegEnumKeyAœRegOpenKeyA§RegQueryValueExA²RegSetValueExAAddAtomA AllocConsole#ClearCommBreak&CloseHandle@CreateEventADCreateFileAECreateFileMappingATCreatePipeUCreateProcessA[CreateThreadœExitProcess°FindAtomA²FindClose¶FindFirstFileA¿FindNextFileAÑFormatMessageAÖFreeLibraryÝGetAtomNameAëGetCommStateGetConsoleModeGetCurrentProcessGetCurrentProcessIdGetCurrentThreadGetCurrentThreadId/GetEnvironmentVariableA<GetFileTypeEGetLastErrorFGetLocalTime`GetOverlappedResultlGetProcAddressuGetProcessTimes„GetStdHandle‘GetSystemTime’GetSystemTimeAdjustment¦GetThreadTimes§GetTickCount±GetVersionExA»GetWindowsDirectoryAÌGlobalMemoryStatus LoadLibraryA"MapViewOfFileUQueryPerformanceCounterhReadFileŒSetCommBreakSetCommStateSetCommTimeouts¥SetConsoleModeºSetEventÆSetHandleInformationãSetUnhandledExceptionFilterUnmapViewOfFile*WaitForSingleObject;WriteFileR_stricmpU_strnicmp'__getmainargs0__mb_cur_max<__p__environ>__p__fmodeP__set_app_typeo_asserty_cexité_iobë_isctype^_onexitg_pctype„_setmode½_vsnprintfabortatexitatoi*exit-fclose0fflush1fgetc3fgets8fopen9fprintf:fputc;fputs>fread?freeGfwriteKgetenvrmallocvmemchrxmemcpyymemmovezmemsetprintf‚puts…qsortˆrealloc‰removesignal“sprintf–sscanf˜strchr™strcmp›strcpyœstrcspnžstrftimeŸstrlen strncat¢strncpy¤strrchr¥strspn¨strtok©strtolªstrtoul±time´tolower¸ungetcºvfprintfÑFindWindowAßGetCaptureðGetClipboardOwneröGetCursorPosGetForegroundWindow5GetQueueStatus»MsgWaitForMultipleObjectsÍPeekMessageAÒPostThreadMessageA÷SendMessageAPPPPPPPPADVAPI32.DLLPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPKERNEL32.dll(P(Pmsvcrt.dll mlterm.bat echo set PATH=%MSYS_DIR%\bin;%%PATH%%>> mlterm.bat echo set CYGWIN=tty>> mlterm.bat echo start mlterm -S sample -e /bin/sh --login -i>> mlterm.bat echo exit>> mlterm.bat mlterm-3.8.4/doc004075500017600000144000000000001321054731300122145ustar kenusersmlterm-3.8.4/doc/ja004075500017600000144000000000001321054731300126065ustar kenusersmlterm-3.8.4/doc/ja/ReleaseNote.old010064400017600000144000000544471321054731300156060ustar kenusersver 2.1.0 °Ê¹ß => Changes,doc/en/History ver 2.0.0(2001/11/29) * ¥É¥­¥å¥á¥ó¥È¤ò¼ã´³Äɲᣠ* --enable-ucs4 ¤·¤¿¤È¤­¤Ë font/aafont ¤Ç¡¢ISO10646_UCS4_1 ¤È»ØÄꤷ¤¿¥Õ¥©¥ó¥È¤¬Í­¸ú¤Ë¤Ê¤é ¤Ê¤¤¥Ð¥°¤ò½¤Àµ ver 2.0.0pre2(2001/11/28) * doc,doc-ja => doc/en doc/ja ¤ËÊѹ¹ * Linux ¤Ç¡¢select()¤¬¤¹¤°¤Ë¥¿¥¤¥à¥¢¥¦¥È¤·¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ(thanks to Minami Hirokazu san) * man/mlterm.1 ¥É¥­¥å¥á¥ó¥È¤Î¹¹¿· ver 2.0.0pre1(2001/11/28) * ¥Õ¥©¥ó¥È¾ðÊó¤ÎÉý¡¢¹â¤µ¡¢¥¢¥»¥ó¥È¤È¤·¤Æ¡¢0 ¤¬ÊÖ¤µ¤ì¤¿¾ì¹ç¤Ç¤â¡¢core dump¤·¤Ê¤¤¤è¤¦¤Ë ¤·¤¿(thanks to Minami Hirokazu san) * Æ©²á½èÍý¤Îưºî¾õ¶·¤òÎóµó¤·¤¿README.tp¤òźÉÕ * XIMÆþÎÏÃæ¤Ë¡¢Backspace/Delete¤ò²¡²¼¤·¤¿¾ì¹ç¡¢ÆþÎÏʸ»úÎó¤¬Ìµ»ë¤µ¤ì¤ëÌäÂê¤ò½¤Àµ * ³Æ¼ï¥É¥­¥å¥á¥ó¥È¥Õ¥¡¥¤¥ë¤òdoc/,doc-ja/°Ê²¼¤Ë°Üư * XSetWindowBackground{Pixmap}¤ÎÌá¤êÃÍ¥Á¥§¥Ã¥¯¤ò¤ä¤á¤¿(EWS4800¤ÎX11R6¥é¥¤¥Ö¥é¥êÂкö) (thanks to Sakamoto Hironori san) ver 1.9.47(2001/11/26) * README.dev ¤ò¡¢1.9.47 ¤ËÄÉ¿ï ¤½¤Î¾¡¢ÆüËܸì¥É¥­¥å¥á¥ó¥È¤ò½¤Àµ * s390,hppa¤Ê¤É¡¢°ìÉô¤Î´Ä¶­¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ë¼ºÇÔ¤¹¤ëÌäÂê¤ò½¤Àµ(¤Ä¤¤¤Ç¤Ëlibtool¤ò1.4.2¥Ù¡¼¥¹¤ËÊѹ¹) * johab¤ò¡¢ksc5601(ksx1001)¥Õ¥©¥ó¥È¤ò»È¤Ã¤ÆÉ½¼¨¤Ç¤­¤Ê¤«¤Ã¤¿ÌäÂê¤ò½¤Àµ * over the spot => root ¤È¤¤¤¦½ç¤Ç¡¢XIM ¥¹¥¿¥¤¥ë¤ò¸¡º÷¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.46(2001/11/24) * icewm,blackbox¤Ê¤É¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ç¡¢ÇØ·ÊÆ©²á¤Ç¤­¤Ê¤¤¥Ð¥°¤ò½¤Àµ * ·ë¹çʸ»ú¤ò¥­¡¼¥Ü¡¼¥ÉÆþÎϤ¹¤ëºÝ¤Ë¡¢¤½¤ÎÁ°¤Îʸ»ú¤È·ë¹ç¤·¤ÆÉ½¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ * mlconfig¤«¤é¡¢ÇطʲèÁü¤òoff¤ËÀßÄꤷ¤Æ¤â¡¢¥¦¥£¥ó¥É¥¦¤ò¥ê¥µ¥¤¥º¤¹¤ë¤ÈºÆ¤ÓÇØ·Ê²èÁü ¤¬É½¼¨¤µ¤ì¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * ´ðÄìʸ»ú¤ËÂФ·¤Æ¡¢·ë¹çʸ»ú¤¬4¤Ä°Ê¾å¤Ä¤Ê¤¬¤ë¤È¡¢core dump¤¹¤ë¥Ð¥°¤ò½¤Àµ * ~/.mlterm/main ¤ÎÀßÄ꤬ȿ±Ç¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ * Linux ¤Ë¤Æ¡¢BSD¥¿¥¤¥×¤Îpty¤¬ÁªÂò¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.45(2001/11/23) * --enable-debug »þ¤Ë¡¢¥ê¥¹¥ÈÁàºî¤ÇÉÔÀµ¤Ê¥á¥â¥ê¥¢¥¯¥»¥¹¤ò¤·¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ * ¥Õ¥©¥ó¥È¥»¥Ã¥È¤ÎÀ¸À®¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¡¢core dump¤·¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ (thanks to Minami Hirokazu san) * XSetIMValues() ¤Î°ú¿ô¤¬¡¢NULL½ªÃ¼¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ (thanks to Sakamoto Hironori-san) * Anti Alias¤µ¤»¤¿¥Õ¥©¥ó¥È¤ò»È¤Ã¤ÆÉ½¼¨¤·¤¿¾ì¹ç¡¢³ÆÊ¸»ú¤¬ÅÓÃæ¤ÇÀÚ¤ì¤Æ¤·¤Þ¤¦¾ì¹ç¤¬¤¢¤ë ÌäÂê¤ò½¤Àµ (thanks to Kubota Tomohiro san) * .mlterm/aafont ¤Î¥Õ¥©¥ó¥È»ØÄê·Á¼°¤òÊѹ¹(see README) * ÀßÄê¥Õ¥¡¥¤¥ë¤Î .mlterm/core ¤ò¡¢.mlterm/main ¤ËÊѹ¹(.mlterm/core ¤â¸¡º÷¤·¤Þ¤¹¤Î¤Ç¡¢ µìÍè¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤òÊѹ¹¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó) * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Ê¤· & XIM¤òµ¯Æ°»þ¤Ë³«¤¯¤È¤¤¤¦ÀßÄê¤Ç¡¢¥¦¥£¥ó¥É¥¦¥ê¥µ¥¤¥º¡¢ÇØ·ÊÆ©²á ¤Ê¤É¤¬¤Ç¤­¤Ê¤¤¥Ð¥°¤ò½¤Àµ * HPA/VPA ¤Î¥Ð¥°½¤Àµ * config.sub/config.guess ¤ò2001/11/08ÈǤ˹¹¿· * XIM ÆþÎÏ»þ¤Ë¡¢¥«¡¼¥½¥ë°Üư¤Ê¤É¤ò¤·¤Æ¤·¤Þ¤¦¤È¡¢ÆþÎÏʸ»ú¤ò¼õ¤±¼è¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ * ʸ»ú¤òÁÞÆþ¤¹¤ëºÝ¤Ë¡¢core dump¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë¥Ð¥°¤ò½¤Àµ * ¥­¡¼¥Ü¡¼¥É¥·¥ç¡¼¥È¥«¥Ã¥È¤Ç¡¢INSERT_SELECTION(¥Ç¥Õ¥©¥ë¥È¤Ï¡¢Shift+Insert)¤òÄɲà * ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Ê¤É¤«¤éµ¯Æ°¤·¤¿¤È¤­¤Ë¡¢tty¤ÎccharsÀßÄ꤬¤Ê¤µ¤ì¤Ê¤¤¾ì¹ç¤Î¤¢ ¤ë¥Ð¥°¤ò½¤Àµ¡£ * Tis620¤Î0x20(NBSP)¤ò¡¢Unicode¤Î0xa0(NBSP)¤Ë¥Þ¥Ã¥×¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * 2,3¤Î¥á¥â¥ê¥ê¡¼¥¯¤ò½¤Àµ ver 1.9.44(2001/11/17) * ÀßÄê¥Õ¥¡¥¤¥ë¤Î¹½À®¤òÊѹ¹ * --enable-anti-alias ¤Î¾ì¹ç¤â¡¢Ã±°ì mlterm ¥Ð¥¤¥Ê¥ê¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤·¡¢Xft¥Õ¥©¥ó¥È ¤È¡¢Ä̾ï¤ÎX¥Õ¥©¥ó¥È¤òưŪ¤ËÀÚÂØ¤¨¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ * DSR(ESC [ ps n])¥·¡¼¥±¥ó¥¹¤ËÂбþ(resize¤¬Time out¤¹¤ëÌäÂê¤ò½¤Àµ) * ¥¦¥£¥ó¥É¥¦¥ê¥µ¥¤¥º¡¢¥Õ¥©¥ó¥È¥µ¥¤¥ºÊѹ¹¸å¡¢¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤Î¥ê¥µ¥¤¥ºÆ°ºî¤¬¡¢1¥Ô¥¯ ¥»¥ëñ°Ì¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦ÌäÂê¤ò½¤Àµ * XIM ¤ÎưŪ¤ËÀÚÂØ¤¨¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿(see README) ver 1.9.43(2001/11/14) * libtool ¤Î¼«Æ°À¸À®¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤¿¡£ * HP-UX , Solaris , EWS4800 ¤Ë¤Æ¡¢native cc + native make ¤Ç¤Î¥Ó¥ë¥É¤¬¤Ç¤­¤ë ¤³¤È¤ò³Îǧ¡£ * Solaris ¤Ç XIM ÆþÎϤǤ­¤Ê¤¤ÌäÂê¤ò½¤Àµ(XmbLookupString¤òXLookupString¤è¤êÀè¤Ë¼Â¹Ô) * size_t => u_int ÊÑ´¹ * ${SYSCONFDIR}/°Ê²¼¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤È¡¢${HOME}/°Ê²¼¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ÎÆó¤Ä¤ÇƱ¤¸ ÀßÄê¤ò¾å½ñ¤­¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤Æ¤·¤Þ¤¦ÌäÂê¤ò½¤Àµ (thanks to Blend -san) * Ê£¿ô¤Îpty¥¦¥£¥ó¥É¥¦¤òΩ¤Á¾å¤²¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢¤½¤Î¤¦¤Á¤Î°ì¤Ä¤Î¥¦¥£¥ó¥É¥¦¤Ç XIM ¤ò»È¤ª¤¦¤È¤¹¤ë¤È¡¢Â¾Á´Éô¤Ç¤âXIM¤¬activate¤µ¤ì¤Æ¤·¤Þ¤¦²ÄǽÀ­¤Î¤¢¤ëÌäÂê¤ò½¤Àµ * mlterm.spec(for RPM package)¤òÄɲà (contributed by Blend -san) * ÀßÄê¤Ë¡¢mod_meta_mode/-k/-meta¤òÄɲà * ISO2022KR/ISO2022CN/ISO2022JP¤Ç¡¢copy & paste¤·¤¿¾ì¹ç¤Ëʸ»ú²½¤±¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.42(2001/11/10) * simple ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ò»È¤Ã¤Æ¡¢Æ©²á¡¢È󯩲á¤Õ¤¿¤Ä¤Î¥¦¥£¥ó¥É¥¦¤òΩ¤Á¾å¤²¤ë¤È¡¢ ξÊýÆ©²á¡¢¤Þ¤¿¤ÏÈ󯩲á¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¥Þ¥¦¥¹°ÌÃÖ·×»»¤Î¥Ð¥°¤ò½¤Àµ * contrib/scrollbar/sample °Ê²¼¤â¤Þ¤È¤á¤Æ¥Ó¥ë¥É¤·¤Æ¤·¤Þ¤¦¤è¤¦¤Ë¤·¤¿¡£ * sample2 ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÄɲà * ½¾Íè¤ÎÆüËܸìREADME¤ò¡¢README.ja ¤È¤·¡¢Tomohiro KUBOTA ¤Ë½ñ¤¤¤Æ¤¤¤¿¤À¤¤¤¿±Ñ¸ì README ¤È¡¢ man/mlterm.1 ¤òÄɲà * HP-UX(gcc ɬ¿Ü) ¤Ç¤Î¥³¥ó¥Ñ¥¤¥ë/ưºî³Îǧ shl_load()¤Ë¤âÂбþ ver 1.9.41(2001/11/10) * scrollbar ¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÁ°·Ê¡¢ÇØ·Ê¿§¤òÄÌÃΤǤ­¤ë¤è¤¦¤Ë¤·¤¿¡£ * .mltermrc.termcap ¤Ç¡¢¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¥­¡¼¡¢¥Ç¥ê¡¼¥È¥­¡¼¤Î¥·¡¼¥±¥ó¥¹¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë»þ¤Ë¡¢ÉÁ²è¤¬¶Ëü¤ËÃÙ¤¯¤Ê¤ëÌäÂê¤ò½¤Àµ * XFree86 4.1.0 °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¡¢--enable-anti-alias ¤·¤¿¾ì¹ç¤Ë¥³¥ó¥Ñ¥¤¥ë¤¬ Ä̤é¤Ê¤¤¥Ð¥°¤ò½¤Àµ(thanks to Blend -san) ver 1.9.41pre2(2001/11/9) * ÎΰèÁªÂò¤Î»ÅÍͤòMozilla¤Î¤½¤ì¤Ë¹ç¤ï¤»¤¿¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¾å²¼¥Ü¥¿¥ó¤Î°ÌÃÖ¤ò°ìÈÌŪ¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¹ç¤ï¤»¤¿¡£ * ¥Ð¡¼¤Î¤Ê¤¤¤È¤³¤í¤ò¥¯¥ê¥Ã¥¯¤·¤¿¤é¤½¤Á¤é¤ÎÊý¸þ¤Ø°ì²èÌÌʬ¥¹¥¯¥í¡¼¥ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * alloca() ¤Î¤Ê¤¤´Ä¶­¤Ø¤ÎÂбþ * Makefile ¤ÎÀ¸À®¤ò¤¹¤Ù¤Æautoconf¤Ç¹Ô¤¦¤è¤¦¤Ë¤·¤¿¡£ * inline, __FUNCTION__ ¤Î¥Á¥§¥Ã¥¯ * VT100¤ÎHPA,VPAÂбþ * STREAMS·¿¤Îpty(SYSV)¤ËÂбþ(Thanks to Sakamoto Hironori-san) * ZzzThaiÇÛÉÛ¤Îtis620¥Õ¥©¥ó¥È¤Ç¤Ê¤¤¤È¡¢tis620¤Î·ë¹çʸ»ú¤¬É½¼¨¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ * ¥á¥¿¥­¡¼¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥­¡¼¤¬²¡²¼¤µ¤ì¤¿¤È¤­¤À¤±¡¢\x1b ¤òÅǤ­½Ð¤¹¤è¤¦¤Ë¤·¤¿¡£ * ${SYSCONFDIR}/mlterm.key ¤òÀè¤Ë¤è¤ß¤Ë¤¤¤¯¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.40(2001/11/7) * ÎΰèÁªÂò¤Î»ÅÍͤò¤Ç¤­¤ë¤À¤±xterm¤Î¤½¤ì¤Ë¹ç¤ï¤¿¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼Æ°ºî¤Î»ÅÍͤò¤Ç¤­¤ë¤À¤±aterm¤Î¤½¤ì¤Ë¹ç¤ï¤¿¡£ * ·ë¹çʸ»ú¤ò´Þ¤à¥Õ¥©¥ó¥È¤ä¡¢È¾³ÑÍÑUnicode¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢W¤Èi¤Îʸ»úÉýÈæ³Ó¤Ç¥× ¥í¥Ý¡¼¥·¥ç¥Ê¥ë¡¢Ê¸»úÉýȽÄꤹ¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¾å²¼¥¹¥¯¥í¡¼¥ë¥Ü¥¿¥ó¤¬È¿Å¾¤µ¤ì¤¿¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¾ì¹ç¤¬ ¤¢¤ë¥Ð¥°¤ò½¤Àµ * GNU Unifont ¤Î¼«Æ°¸¡º÷¤ò¥µ¥Ý¡¼¥È(thanks to Kubota Tomohiro-san) * ÉÔÀµ¤Ê¥á¥â¥êÎΰè¤ò²òÊü¤·¤è¤¦¤È¤¹¤ë¥Ð¥°¤ò½¤Àµ(thanks to Sakamoto Hironori-san) * ISO-2022¥Ñ¡¼¥µ¤¬¡¢ISO2022¤Ë½àµò¤·¤Ê¤¤¥·¡¼¥±¥ó¥¹¤ò¼õ¤±¼è¤Ã¤¿¾ì¹ç¤Ëcore dump¤¹¤ë ¥Ð¥°¤ò½¤Àµ ver 1.9.39(2001/11/4) * Linux¤Ë¤Æ¡¢DISPLAY´Ä¶­ÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ(thanks to Kubota Tomohiro-san) * CONFIG_PATH/mltermrc ¤òÁ´¥æ¡¼¥¶¶¦ÄÌÀßÄê¥Õ¥¡¥¤¥ë¤È¤·¤ÆÍøÍѤǤ­¤ë¤è¤¦¤Ë¤·¤¿¡£ (thanks to Kubota-Tomohiro-san) * ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤Î»ÈÍѤòÀµ¼°¤Ë¥µ¥Ý¡¼¥È * ISO8859-[13-16]¤Î¥µ¥Ý¡¼¥È * ¥Ú¡¼¥¹¥È¤·¤¿¤À¤±¤Ç¡¢¿·¤¿¤Ê¥»¥ì¥¯¥·¥ç¥ó¤¬³«»Ï¤µ¤ì¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * UCSÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º¤ò¤µ¤é¤Ë30¡óºï¸º ver 1.9.38(2001/11/3) * UCSÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º¤ò¤µ¤é¤Ë20¡ó°Ê¾åºï¸º * ISO2022CN,EUCKR,JOHAB¤Ø¤ÎÊÑ´¹¤¬¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¾å¤ä¡¢¥¿¥¤¥È¥ë¥Ð¡¼¾å¤«¤é¡¢XIM¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ * ÇØ·Ê¿§¤ÈÁ°·Ê¿§¤¬Æ±¤¸¾ì¹ç¤Ë¡¢½¾Íè¤ÎÇØ·Ê¿§¤Î¤º¤é¤·Êý¤Ç¤Ï¡¢¤º¤é¤·¤¿·ë²Ì¤â¤½¤ì¤Û¤É ÊѲ½¤¬¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ëÌäÂê¤ò½¤Àµ * ISO2022{JP,KR,CN}¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎüËö¤Ë¡¢USASCIIʸ»ú°Ê³°¤ò¥Ú¡¼¥¹¥È¤·¤¿¾ì¹ç ¤Ëʸ»ú²½¤±¤¹¤ëÌäÂê¤ò°ìÉô½¤Àµ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¡¢¾å²¼¥¹¥¯¥í¡¼¥ë¥Ü¥¿¥ó²¡¤·¤Ã¤Ñ¤Ê¤·¤Ç¡¢¾å²¼¥¹¥¯¥í¡¼¥ë¤Ç¤­¤ë¤è¤¦ ¤Ë¤·¤¿¡£ * ¥Þ¥¦¥¹¤ò¥¦¥£¥ó¥É¥¦¤Î³°¤Ë¸ÇÄꤹ¤ë¤³¤È¤Ç¥¹¥¯¥í¡¼¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * LINCENCE¥Õ¥¡¥¤¥ë¤ÎÉÔÈ÷¤ò½¤Àµ(thanks to Kubota Tomohiro-san) * Ê£¿ô¤Îpty¥¦¥£¥ó¥É¥¦¤Ç¡¢sampleÆ©²á¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤È¤½¤¦¤Ç¤Ê¤¤sample¥¹¥¯¥í¡¼¥ë¥Ð ¡¼¤òƱ»þ¤Ë»È¤Ã¤¿¾ì¹ç¤ËÆ©²áÉôʬ¤ÈÈ󯩲áÉôʬ¤Î¸ò¤¸¤Ã¤¿¥Ð¡¼¤¬É½¼¨¤µ¤ì¤Æ¤·¤Þ¤¦¥Ð¥° ¤ò½¤Àµ * sample¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Ç¡¢¥ê¥½¡¼¥¹¥ê¡¼¥¯¤¬È¯À¸¤·¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ * UNICODE¥Õ¥©¥ó¥È¤Ç¡¢Á´³ÑȾ³ÑξÊýÆþ¤Ã¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤òȾ³ÑÍѤȤ·¤Æ»È¤Ã¤Æ¤â¡¢²èÌ̤Π²£Éý¤¬2Çܤˤʤé¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.37(2001/11/2) * LIB,LIBEXEC¥Þ¥¯¥í¤¬¡¢src/Makefile¤Î³Æ¥¿¡¼¥²¥Ã¥È¤Ë·Ñ¾µ¤µ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ * sample¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Ç¡¢sb_fg,sb_bg»ØÄ꤬¤­¤«¤Ê¤¤ÌäÂê¤ò½¤Àµ * UCSÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º¤òȾ¸º * Ami¤Ç¤Î¥Ï¥ó¥°¥ëÆþÎϤ¬¤Ç¤­¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ * word_separators(-W) ¥ª¥×¥·¥ç¥ó¤òÄɲÃ(see README) * PAGE_UP SCROLL_UP¥­¡¼¥Ð¥¤¥ó¥É¤òÄɲÃ(see README) * priv_fg , priv_bg ¤È¤·¤Æ¡¢¥æ¡¼¥¶ÄêµÁÁ°·Ê,ÇØ·Ê¿§¤òÄêµÁ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£(see README) * Á°·Ê¿§¤ÈÇØ·Ê¿§¤¬Æ±¤¸¾ì¹ç¡¢ÇØ·Ê¿§¤ò¾¯¤·ÊѤ¨¤Æ¡¢¾¯¤Ê¤¯¤È¤âɽ¼¨¤µ¤ì¤ëʸ»ú¤òȽÊÌ ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * XIM ¥¦¥£¥ó¥É¥¦¤Îɽ¼¨°ÌÃÖ¤¬¥«¡¼¥½¥ë°ÌÃ֤Ȥº¤ì¤ë¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * »ØÄê²Äǽ¤Ê¿§¤Ë¡¢gray¤òÄɲà ver 1.9.36(2001/11/1) * ÀßÄê¥á¥Ë¥å¡¼¤«¤éÆ©²á½èÍý¤ò¹Ô¤Ê¤ª¤¦¤È¤¹¤ë¤Ècore dump¤·¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * LICENCE¤Ë¡¢contrib/°Ê²¼¤Î°·¤¤¤Ë¤Ä¤¤¤Æ¤ÎÃí°Õ½ñ¤­¤òÄɲÃ(Thanks to Kubota Tomohiro-san) * mlterm/out/°Ê²¼¤Ø¤Î²¾¥¤¥ó¥¹¥È¡¼¥ë¤ò¤ä¤á¤¿¡£ * üËöÀßÄê¤Î·Ñ¾µ¤ò¥µ¥Ý¡¼¥È(1.9.35¤Ç¤Ï¼ÂÁõ¤Ç¤­¤Æ¤Ê¤«¤Ã¤¿) * \033 [ ps m ¥·¡¼¥±¥ó¥¹¤Ç¡¢ps¤¬¡¢;¤Ç¶èÀÚ¤é¤ì¤ÆÊ£¿ô»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËÂбþ * make¥×¥í¥»¥¹¤òÂçÉý¤Ë½¤Àµ(Linux,FreeBSD¤Ç¡¢¤Á¤ã¤ó¤Èlibtool¤¬Æ°¤¯¤è¤¦¤Ë¤·¤¿) * Á°·Ê¡¢ÇØ·Ê¿§¤ÎÊѹ¹¤Ë¡¢XIM¤Î¤½¤ì¤òϢư¤µ¤»¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¿¥¤¥È¥ë̾¡¢¥¢¥¤¥³¥ó̾¤Ë¸½ºß¤Î¥í¡¼¥±¡¼¥ë¤Î¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»ú¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥á¥Ë¥å¡¼¤ò¡¢Control + ±¦¥¯¥ê¥Ã¥¯¤ËÊѹ¹ * contrib/scrollbar/sample/Makefile ¤ÎźÉÕ¤·Ëº¤ì¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÁ°·Ê/ÇØ·Ê¿§¤ò¥ª¥×¥·¥ç¥ó»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£(-F/-B) (see README) * °ìÉô¤Îwindow manager¤Ç¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬Æ°¤«¤»¤Ê¤¤¥Ð¥°¤ò½¤Àµ * ´Ä¶­ÊÑ¿ôDISPLAY¤òÀßÄꤹ¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬¤Æ¤Ã¤Ú¤ó¤Þ¤Ç¤¤¤«¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * ¥»¥ì¥¯¥·¥ç¥ó¤Î½êÍ­¼Ô¤ò¼º¤Ã¤Æ¤â¡¢È¿Å¾É½¼¨¤¬²ò½ü¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ * contrib/scrollbar/sample/°Ê²¼¤Ë¡¢¥Þ¥È¥â¤Ê¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÍÑ°Õ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼API¤òÊѹ¹(¥¤¥Ù¥ó¥È¤ÎÄɲÃ) * skkinput¤ò»È¤Ã¤¿¾ì¹ç¤Ë¡¢skkinput¤òclose¤·¤¿Ä¾¸å¤Îʸ»ú¤¬ÆþÎϤµ¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ ver 1.9.35(2001/10/30) * --display/--sl/--name/--title/--icon °ú¿ô¤òÄɲÃ(see README) * -t ¥ª¥×¥·¥ç¥ó¤¬¤À¤Ö¤Ã¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ * ´û¸¤ÎüËöÀßÄê¤ò·Ñ¾µ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼API¤ÎÊѹ¹(dl*()´Ø¿ô¤ò»ÈÍÑ) * Makefile ¤Î¥Ð¥°¤ò½¤Àµ ver 1.9.34pl1(2001/10/29) * µ¯Æ°»þ¤Ë-t¤ò»ØÄꤷ¤Æ¤â¡¢Çطʤ¬Æ©²á¤·¤Ê¤¤ÌäÂê¤ò½¤Àµ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼API¤ÎÊѹ¹ * Ʊ¥É¥­¥å¥á¥ó¥ÈźÉÕ(README.sb) * ÊÉ»æ¤ÎÂ礭¤µ¤¬¡¢¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤ÈÈù̯¤Ë¤º¤ì¤ë¥Ð¥°¤ò½¤Àµ * libtoolÂбþ (Ãí°Õ: 1.9.34°ÊÁ°¤Îlibmkf*.so¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤òºï½ü¤· ¤Æ¤«¤é¥Ó¥ë¥É¤·¤Ê¤¤¤ÈÌäÂ꤬ȯÀ¸¤¹¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹¡£) ver 1.9.34(2001/10/28) * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÆ©²á½èÍý * Æ©²á½èÍý¡¢ÇطʲèÁü¤ÎưŪÊѹ¹ * fg color/bg color¤ÎưŪÊѹ¹ * 3rd partyÀ½¥¹¥¯¥í¡¼¥ë¥Ð¡¼¼ÂÁõ(contrib°·¤¤)¤Î¤¿¤á¤ÎAPIÀ°È÷ * ¥»¥ì¥¯¥·¥ç¥óʸ»úÎó¤Î¥á¥â¥ê¥ê¡¼¥¯½¤Àµ * ¥«¡¼¥½¥ë¤Î¥Ï¥¤¥é¥¤¥È½èÍý¤ÎÃ×̿Ū¤Ê¥Ð¥°¤ò½¤Àµ * ÉÁ²è®Å٤ι⮲½ ver 1.9.33(2001/10/27) * Hironori Sakamoto -san o DEC_SPECIAL¥Õ¥©¥ó¥È»ØÄ꤬¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ o FreeBSD¤Îmake¤ËÂбþ * Daichi Goto -san o ¥Û¥¤¡¼¥ë¥Þ¥¦¥¹Âбþ o Ⱦ¥Ú¡¼¥¸¥¹¥¯¥í¡¼¥ë¼ÂÁõ * ÇØ·ÊÆ©²á¤ËÂбþ * configure.in¤Ç¡¢gtk-config¤Î¥Ñ¥¹¥Á¥§¥Ã¥¯¤ò¹Ô¤Ê¤¦¤è¤¦¤Ë¤·¤¿¡£ * double buffering ¤òÇÑ»ß * ¥Þ¥ë¥Ápty¤Ç¡¢¥¦¥£¥ó¥É¥¦°ì¤Ä¤¬»à¤Ì¤È¾¤âƻϢ¤ì¤Ë¤Ê¤ëÌäÂê¤ò½¤Àµ * {u_}int{8,16,32,64}_t ¤ò autoconf ¤Ç̵ͭ¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * pre_conv_xct_to_ucs ¥ª¥×¥·¥ç¥ó¤ËÂбþ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬¶Ëü¤Ëû¤¯¤Ê¤ë¥Ð¥°¤ò½¤Àµ * (JIS)0x2140 <-> (UCS)0x005c ¤ò¡¢(JIS)0x2140 <-> (UCS)0xff3c ¤Ë½¤Àµ * °ìÉô¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¡¢UCS¤«¤é¤ÎÊÑ´¹¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ ver 1.9.32(2001/10/26) * ÀßÄê²èÌ̤«¤é¥Õ¥©¥ó¥È¤ò¾®¤µ¤¯¤¹¤ë¤È¤­¤Ë¡¢ºÇ¾®¥µ¥¤¥º¤Î¥Õ¥©¥ó¥È¤¬É½¼¨¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ * ESC ] ps ; pt ¥·¡¼¥±¥ó¥¹¤Îps==0,1,2¤Î¾ì¹ç(¥¦¥£¥ó¥É¥¦Ì¾/¥¢¥¤¥³¥ó̾¤Îʸ»úÎó¤ÎÊѹ¹)¤ËÂбþ * ²èÌ̤Υꥵ¥¤¥º¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¤ÎÊѹ¹¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÊѹ¹¤ÎºÝ¤Ë¡¢XIC¤òdeactivate¤¹¤ë ¤Î¤ò¤ä¤á¤¿¡£ * ko_KR.EUC¤Èja_JP.EUC¤Îcodeset¤ò¡¢eucKR/eucJP¤ÈÆÉ¤ßÂØ¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£ * F1 - F16 , Help , Menu ¥­¡¼¤ËÂбþ * libmkf_ch_map -> libmkf_cn_map ¤ËÊѹ¹(Thanks to Hironori Sakamoto -san) * ¥á¥Ë¥å¡¼¤«¤é¡¢EUCCN,GBK,GB18030,HZ,ISO2022CN¤òÁªÂò¤·¤Æ¤â¡¢¤¿¤À¤·¤¤¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ¥â¡¼¥É¤Ë¤Ê¤é¤Ê¤¤¥Ð¥°¤ò½¤Àµ ver 1.9.31(2001/10/25) * codeset̾ "EUC" ¤ËÂбþ(FreeBSD¤Îja_JP.EUC¥í¡¼¥±¡¼¥ëÂкö)(thanks to Daichi Goto ) * ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ÄêµÁ¤Ë¡¢Mod¤ò»È¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥³¥é¥à¿ô<->ʸ»ú¿ôÊÑ´¹¤Î¥Ð¥°¤ò½¤Àµ * ¥«¡¼¥½¥ë¤Îsave/restore¤Î¥Ð¥°¤ò½¤Àµ ver 1.9.30(2001/10/24) * ³«È¯¼ÔÍѤΥɥ­¥å¥á¥ó¥È¤òźÉÕ(README.dev) * ¥Þ¥ë¥Ápty»ÈÍÑ»þ¡¢Ê£¿ô¤ÎXüËö¤¬¤Û¤ÜƱ»þ¤Ëexit¤¹¤ë¤È¡¢²òÊü¤µ¤ì¤Ê¤¤¤Þ¤Þ¤Î¥Ç¡¼¥¿¤¬ ¤Î¤³¤ê¤¦¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.30pre3(2001/10/24) * ÎΰèÁªÂò¤·¤¿¤Þ¤Þexit¤¹¤ë¤È¡¢Â¾¤Îpty¥¦¥£¥ó¥É¥¦¤òÎΰèÁªÂò¤·¤¿¤È¤­¤Ë¡¢core dump¤· ¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * WINDOWID´Ä¶­ÊÑ¿ô¤¬Àµ¤·¤¯ÀßÄꤵ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ ver 1.9.30pre2(2001/10/23) * ¥¿¥ÖÉý0¤È»ØÄꤹ¤ë¤Ècore dump¤¹¤ë¥Ð¥°¤ò½¤Àµ(thanks to Tomohiro KUBOTA san) * use_xim=true/xim_open_in_startup=true/wall_picture=[path]¤·¤Æ¤¤¤ë¤È¡¢µ¯Æ°»þ¤Ëcore dump¤·¤Æ¤· ¤Þ¤¦¥Ð¥°¤ò½¤Àµ * ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤Ç¡¢¿·¤·¤¤pty¥¦¥£¥ó¥É¥¦¤òµ¯Æ°¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¿¿ô¤Î¥á¥â¥ê¥ê¡¼¥¯¤ò½¤Àµ * ¥Þ¥ë¥Ápty¥¦¥£¥ó¥É¥¦´Ö¤Ç¡¢¥»¥ì¥¯¥·¥ç¥ó¤Î½êÍ­¼Ô¤¬ÊѤï¤é¤Ê¤¤ÌäÂê¤ò½¤Àµ¡£ ver 1.9.30pre1(2001/10/23) -- Èó¸ø³« * ÀßÄ꤬¾¯¡¹¤ª¤«¤·¤¯¤Æ¤â¡¢¥¦¥©¡¼¥Ë¥ó¥°¤ò½Ð¤¹¤Ëα¤á¡¢½èÍý¤ò³¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥Þ¥ë¥Ápty¥µ¥Ý¡¼¥È * UTF-8¤ò¾¤Îʸ»ú½¸¹ç¤ËÊÑ´¹¤¹¤ëºÝ¤Ë¡¢ÊÑ´¹Àè¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë±þ¤¸¤Æ¡¢Í¥Àè½ç°Ì¡¢ ÊÑ´¹Àè¤Îʸ»ú½¸¹ç¤òÊѤ¨¤ë¤è¤¦¤Ë¤·¤¿¡£ * XmbLookupString()¤Ç¼èÆÀ¤µ¤ì¤ëʸ»úÎó¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò¡¢¥í¡¼¥±¡¼¥ë¾ðÊ󤫤é·èÄê ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£(thanks to Tomohiro KUBOTA san) * nl_langinfo()¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤¿¤Þ¤Þ¤À¤Ã¤¿¥Ð¥°¤ò½¤Àµ ver 1.9.29pl2(2001/10/22) * ml_char_font()Ìá¤êÃÍ¥Á¥§¥Ã¥¯¤½¤Î¾¤Î¥¨¥é¡¼¥Á¥§¥Ã¥¯¤ò¶¯²½ * »ØÄꤷ¤¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°/¥µ¥¤¥º¤Î¥Õ¥©¥ó¥È¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ë¡¢µ¯Æ°Ä¾¸å¤Ë½ªÎ»¤· ¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ¡£(Ê̤Υµ¥¤¥º¤â¸¡º÷¤¹¤ë) ver 1.9.29pl1(2001/10/22) * --enable-debug¤Ç¥Ó¥ë¥É¤Ë¼ºÇÔ¤¹¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.29(2001/10/21) * ÀßÄê²èÌ̤ÇÁªÂò²Äǽ¤Ê¥Õ¥©¥ó¥È¥µ¥¤¥º¤Î¥ê¥¹¥È¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * gtk¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë´Ä¶­¤Ç¤Ï¡¢mlconfig(GUIÀßÄê²èÌÌ)¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¥³¥ó¥Ñ ¥¤¥ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£Æ±»þ¤Ë¡¢mlconfig¤Î¥Ñ¥¹¤òÀßÄꤹ¤ëconf_menu_path¥ª¥×¥·¥ç¥ó¤òÄɲà * BSD make¤ò¥µ¥Ý¡¼¥È * -g¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * ENCODING¤ËautoÃͤòÄɲà * koi8-r , koi8-u¤ò¥µ¥Ý¡¼¥È * ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÊѹ¹¤¹¤ëºÝ¤Ë¡¢¤½¤ì¤Þ¤Ç»È¤Ã¤Æ¤¤¤¿¥Õ¥©¥ó¥È¤¬µï»Ä¤Ã¤Æ¡¢°­¤µ¤¹¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.28(2001/10/21) * ¥Ç¥Õ¥©¥ë¥È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò¡¢¥í¡¼¥±¡¼¥ë¤Ë±þ¤¸¤ÆºÇŬ¤Ê¤â¤Î¤òÁª¤Ö¤è¤¦¤Ë¤·¤¿¡£ * -*-[ja/ko/zh]-*-iso10646-1 ·Á¼°¤ÎUnicode¥Õ¥©¥ó¥È¤ò¸¡º÷¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * µ¯Æ°»þ¤Ë¡¢XIM¤òopen¤¹¤ë¤«¤É¤¦¤«¤Î¥ª¥×¥·¥ç¥ó(xim_open_in_startup)¤òÍÑ°Õ (the above mentioned , thanks to Tomohiro KUBOTA san) * log size¤òÊѹ¹¤¹¤ë¤Ècore dump¤¹¤ë¥Ð¥°¤ò½¤Àµ * log size¤òÊѹ¹¤·¤¿¤È¤­¤Ë¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÂ礭¤µ¤¬ÊѤï¤ë¤è¤¦¤Ë¤·¤¿¡£ * eucjisx0213/sjisx0213¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¡¢kinput2¤«¤é¤ÎÆüËܸìÆþÎϤò¥µ¥Ý¡¼¥È * ¤½¤Î¾¡¢»¨Â¿¤Î¥Ð¥°½¤Àµ(¤È¤¯¤Ë¥Õ¥©¥ó¥È¼þ¤ê) ver 1.9.27(2001/10/20) * ¿ô»ú¤ò»ØÄꤹ¤Ù¤­¤È¤³¤í¤Ç¡¢¿ô»ú°Ê³°¤Îʸ»ú¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ë¥¨¥é¡¼¤ò½Ð¤¹¤è¤¦¤Ë¤·¤¿¡£ * ÀßÄê²èÌ̤ˡ¢¸½ºß¤Î¥Õ¥©¥ó¥È¥µ¥¤¥º¤òɽ¼¨¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * utf8/sjis¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤â¡¢kinput2¤«¤éÆüËܸìÆþÎϤǤ­¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬Êѹ¹¤µ¤ì¤ë¤È¡¢XIM¤òclose¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * use_unicode_font¥ª¥×¥·¥ç¥ó¤òÇÑ»ß -> Âå¤ê¤ËµÕ¤Î°ÕÌ£¤Î¡¢unicode_to_other_cs¥ª¥×¥·¥ç¥ó¤òÍÑ°Õ * conv_to_generic_iso2022¥ª¥×¥·¥ç¥ó¤ÎÄɲÃ(see README) ver 1.9.26pl2 * ISO2022½àµò¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¡¢DEC SPECIAL¤¬Àµ¤·¤¯É½¼¨¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ * US ASCII¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥Õ¥©¥ó¥È¤È¤·¤Æ¡¢»ØÄꤵ¤ì¤¿¥µ¥¤¥º¤Î¤â¤Î¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢ Ê̤Υµ¥¤¥º¤Î¥Õ¥©¥ó¥È¤â¸¡º÷¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * scrollbar¤ò¤Ä¤±¤Æ¤¤¤Ê¤¤¾õÂ֤ǥꥵ¥¤¥º¤¹¤ë¤Ècore dump¤¹¤ë¥Ð¥°¤ò½¤Àµ * »¨Â¿¤Ê¥Ð¥°½¤Àµ ver 1.9.26(2001/10/18) * BACKSCROLL_MODE/CHANGE_FONT/EUCJP_MODE/SJIS_MODE/ISO2022JP_MODE/UTF8_MODE¥­¡¼³ä¤êÅö¤Æ¤òºï½ü * Shift+¢¬¤Ç¡¢¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥×¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * viscii/tcvn5712-3 <-> UCS ÊÑ´¹¤ò¥µ¥Ý¡¼¥È¡£ * ISO2022½àµò¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°°Ê³°¤Ç¤Ï¡¢as/ae¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤ÌäÂê¤ò½¤Àµ * °ìÉô¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¡¢DEC_SPECIAL¤òɽ¼¨¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ * tool/mlconfig/* ¤ò²¾¼ÂÁõ(depends on gtk+) ±¦¥¯¥ê¥Ã¥¯¤ÇÀßÄê²èÌ̤¬¤Ç¤ë¤è¤¦¤Ë¤·¤¿¡£ ¤³¤ÎÀßÄê²èÌ̤Ǥϡ¢½¾Íè¤ËÈæ¤Ù¤Æ¡¢ o ưŪ¤Ë¤¹¤Ù¤Æ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ø¤ÎÊѹ¹¤ËÂбþ o ·ë¹çʸ»ú»ÈÍÑ¤ÎÆ°ÅªÊѹ¹¤ËÂбþ o ¥Õ¥©¥ó¥È¥µ¥¤¥º¤òÂ礭¤¯¤¹¤ë¤À¤±¤Ç¤Ê¤¯¡¢¾®¤µ¤¯¤â o ¥í¥°¥µ¥¤¥º¤ÎưŪÊѹ¹¤ËÂбþ o ¥¿¥Ö¥µ¥¤¥º¤ÎưŪÊѹ¹¤ËÂбþ ¤·¤Æ¤¤¤ë¡£ (¾ÜºÙ¤ÏREADME»²¾È) ver 1.9.25(2001/10/17) * UTF8Âбþ¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óƱ»Î¤Ç¤Ï¡¢UTF8ʸ»úÎó¤òľÀܤä¤ê¤È¤ê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ (XCOMPOUND_TEXT¤ò»È¤ï¤Ê¤¤) * -t/-term¥ª¥×¥·¥ç¥ó¡¢termtypeÀßÄê¤òÄɲÃ(kterm/xterm¤Î¤ß¥µ¥Ý¡¼¥È) * Shift+PageUp¤Ç¡¢¥Ú¡¼¥¸¥¢¥Ã¥×¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥­¡¼³ä¤êÅö¤Æ¤Ç¡¢UTF8¥â¡¼¥É¤òÄɲᣠ¤¿¤À¤·¡¢CHANGE_FONT/EUCJP_MODE/SJIS_MODE/ISO2022JP_MODE/UTF8_MODE¤Ï¥Ç¥Õ¥©¥ë¥È ¤Ç¥­¡¼³ä¤êÅö¤Æ¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.24(2001/10/16) * -km utf8¤Ç¡¢copy&paste¤Ë¼ºÇÔ¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë¥Ð¥°¤ò½¤Àµ * UCS <-> ISO8859_2,3,4,5,10 ¤Î¥Ð¥°½¤Àµ * configure¤Ç¡¢-lxpg4 checkÄɲÃ(FreeBSDÂбþ) * ¤½¤Î¾»¨Â¿¤Ê¥Ð¥°½¤Àµ (Thanks to hsaka-san) ver 1.9.23(2001/10/14) * UCS <-> GB2312/KSX1001/JISX0213/ISO8859 ¤Î¥Ð¥°¤ò½¤Àµ ver 1.9.22(2001/10/12) * hz¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò¤¿¤À¤·¤¯²ò¼á¤Ç¤­¤Æ¤¤¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ * iso8859-[2-10]¤òcopy & paste¤¹¤ë¤Èiso8859-1¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * US_ASCII¤òcopy & paste¤¹¤ë¤ÈÀèÆ¬Ê¸»ú¤¬iso8859-N¤Ê¤É¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * UNICODE¤ÎFullWidth¤ÈHalfWidth¤òµÕ¤Ë¤·¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ * ISO10646_UCS2_1_BIWIDTH=[2¥«¥é¥àÍÑ¥Õ¥©¥ó¥È]»ØÄê¤ò¥µ¥Ý¡¼¥È¡£ µìÍè¤ÎISO10646_UCS2_1¤Ï¡¢1¥«¥é¥àÍÑ¥Õ¥©¥ó¥È¤Ë¤Î¤ß»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿(Èó¸ß´¹) * ¤½¤Î¾»¨Â¿¤Ê¥Ð¥°½¤Àµ ver 1.9.21(2001/10/10) * ¥Õ¥©¥ó¥È¤ò»ØÄꤹ¤ëʸ»ú½¸¹ç¤Î̾¾Î¤Î¤¦¤Á¡¢ISO8859_N_R¤ò¡¢ISO8859_N¤ËÊѹ¹¤·¡¢US_ASCII ¤ÏÇѻߡ£ ¤³¤ì¤Ë¤è¤Ã¤Æ¡¢VISCII/TIS620/TCVN5712¤Î¥Õ¥©¥ó¥È¤¬¡¢¤­¤ì¤¤¤Ëɽ¼¨¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ ver 1.9.20(2001/10/9) * ISO8859-1°Ê³°¤ÎISO8859¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬¡¢¤¹¤Ù¤ÆISO8859-1¤È¤·¤Æ°·¤ï¤ì¤Æ¤·¤Þ¤¦¥Ð¥°¤ò ½¤Àµ * TCVN5712,TIS620,VISCII¥µ¥Ý¡¼¥È ver 1.9.19(2001/10/7) * ̵Â̤ÊÊÑ´¹¥Æ¡¼¥Ö¥ë¤òºï½ü * JOHAB ¥¨¥ó¥³¡¼¥É¤Î¥µ¥Ý¡¼¥È ver 1.9.18pl1 * GB18030¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÂбþ * -u/-n¥ª¥×¥·¥ç¥ó¤òÄɲà ver 1.9.18(2001/10/5) * XIM_OPEN¤ò¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¡¢Shift-space¤Ë³ä¤êÅö¤Æ * GBK/UHC¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÂбþ * all_cs_to_unicode ¥ª¥×¥·¥ç¥ó¤òÄɲà * ¥Õ¥©¥ó¥È¸¡º÷¤ÎºÝ¤Ë¡¢XLFD¤Îʸ»ú½¸¹ç»ØÄ꤬¡¢Æ±°ì¤Îʸ»ú½¸¹ç¤ËÂФ·¤Æ¡¢Ê£¿ô¤Î¥Ñ¥¿¡¼¥ó ¸ºß¤¹¤ë¾ì¹ç¤ËÂбþ * BIG5¤Î¥æ¡¼¥¶ÄêµÁÎΰè¤ò̵»ë¤·¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ ver 1.9.17pl2 * ¥Ü¡¼¥ë¥ÉÂÎ¥Õ¥©¥ó¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Æ±Åù¤Îmedium¥Õ¥©¥ó¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤ì¤Ð¡¢ Âå¤ê¤Ë¤½¤Á¤é¤òÍøÍѤ¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * ISO8859_N¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÂбþ * JISX0208_1978/JISX0208_1990ʸ»ú½¸¹ç¤ËÂбþ ver 1.9.17pl1 * ¥Ü¡¼¥ë¥ÉÂÎ¥Õ¥©¥ó¥È¤¬¤ß¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢½Å¤Í¤¬¤­¤·¤Æ¤½¤ì¤é¤·¤¯¤ß¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°»ØÄê¤ò½ÀÆð¤Ë¤·¤¿¡£ * UTF8¤Ç¡¢ÆüËܸì¤Ê¤É¤ÎÁ´³Ñʸ»ú¤ò¡¢2¥«¥é¥à¤Ç¤Ê¤¯1¥«¥é¥à¤Èǧ¼±¤·¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ¡£ * Thanks to Hironori Sakamoto ¤µ¤ó ver 1.9.17(2001/10/2) * ANTI_ALIAS¤òÍ­¸ú¤Ë¤·¤¿¾ì¹ç¡¢µ¯Æ°»þ¤Ëcore dump¤¹¤ë¥Ð¥°¤ò½¤Àµ * ANTI_ALIAS¤·¤¿¤È¤­¤Ë¡¢copy & paste¤¬Ê¸»ú²½¤±¤¹¤ë¥Ð¥°¤ò½¤Àµ * ANTI_ALIAS¥Õ¥©¥ó¥È¤Î»ØÄêÊýË¡¤ò½¤Àµ(see README)¡£ Ʊ¤¸¤¯¡¢XFree86 4.1.x¤Ç¥Þ¥ë¥Á¥Ð¥¤¥È¥Õ¥©¥ó¥È¤òANTI_ALIAS¤Ç¤­¤Ê¤¤¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * configure¤Ë¡¢--enable-debug¥ª¥×¥·¥ç¥ó¤òÄɲà ver 1.9.16(2001/9/28) * backscroll¤·¤¿¾õÂ֤ǡ¢¥í¥°¤¬Î®¤ì¤ë¤È¡¢²èÌ̤¬¤Á¤ã¤ó¤È¥ê¥É¥í¡¼¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ * ESC - D¤Î¥Ð¥°¤ò½¤Àµ(FreeBSD¤Îvi version 1.79(10/23/96)¤ÇÌäÂ꤬µ¯¤³¤ë) ver 1.9.15pl1 * ¥¹¥¯¥í¡¼¥ë»þ¤Ë²èÌ̤˥´¥ß¤¬»Ä¤ë¤«¡¢ºÇ°­core dump¤¹¤ë²ÄǽÀ­¤Î¤¢¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.15(2001/9/21) * ¥Ú¡¼¥¹¥È¤ÎºÝ¤Ë¡¢ASCIIʸ»ú¤¬Ê¸»ú²½¤±¤¹¤ë¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * "ESC [ @"¥·¡¼¥±¥ó¥¹¤Î¥Ð¥°¤ò½¤Àµ ver 1.9.14pl2 * 2¹Ô°Ê¾å¤ËÅϤäÆÊ¸»úÎ󤬽ÐÎϤµ¤ì¤¿¾ì¹ç¤Ëcore dump¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * -p/--pic¥ª¥×¥·¥ç¥ó¤Ç¡¢ÊÉ»æ²èÁü¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¿¥ÖÉý»ØÄꥪ¥×¥·¥ç¥ó¤ò¡¢-t/--tw¤«¤é¡¢-x/--tw¤ËÊѹ¹(less¤ËÊ»¤»¤¿) ver 1.9.14pl1 * logsize¤ò±Û¤¨¤ë¥í¥°¤¬¤Ê¤¬¤ì¤¿¾ì¹ç¡¢¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë»þ¤Î¹Ôɽ¼¨¤¬¤º¤ì¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.14(2001/9/16) * backscroll¥í¥°¤¬°ìÇդˤʤäƤ¤¤ë¾õÂ֤ǡ¢°ìÈÖ¾å¤Þ¤Çscrollup¤¹¤ë¤È²èÌ̤¬¥ê¥É¥í¡¼ ¤µ¤ì¤Ê¤¯¤Ê¤ë¥Ð¥°¤ò½¤Àµ¡£ * ²èÌ̤ΰìÈÖ²¼¤Î¹Ô¤Ç¡¢¹ÔÀÞÊÖ¤·¤ÎºÝ¤Ëcore dump¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * ¤½¤Î¾¡¢àôËö¤Ê¥Ð¥°¤ò½¤Àµ ver 1.9.13pl1 * ¹ÔÀÞÊÖ¤·¤Ç¡¢ÀÞÊÖ¤·¹Ô¤Î¹ÔƬ¤Îʸ»ú¤¬¾Ã¤¨¤ë¥Ð¥°¤ò½¤Àµ * option¤ò¡¢¤Ç¤­¤ë¤À¤±kterm¤È¸ß´¹¤¹¤ë¤è¤¦¤ËÊѹ¹(1.9.13°ÊÁ°¤È¤Ïnot compatible) ver 1.9.13(2001/9/15) * ¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¦¤Ç¹Ô¤ÎÀÞÊÖ¤·¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¤½¤ì¤Ê¤ê ¤Ëɽ¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.12pl3 ver 1.9.12pl2 * MORI Kouji ¤µ¤Þ¤Î¥Ñ¥Ã¥Á¤ò¥Þ¡¼¥¸ ¡¦´Ä¶­ÊÑ¿ô SHELL ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È¤­¤Ë core ¤òÅǤ¯¡£ ¡¦SHELL=tcsh ¤À¤È¥·¥§¥ë¤¬½ªÎ»¤·¤Æ¤·¤Þ¤¦¡£ ver 1.9.12pl1 * ²èÌ̤˥´¥ß¤¬»Ä¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.12(2001/7/31) * ¤½¤ì¤¾¤ì¤Î¿§¤ÎRGB¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.11(2001/7/21) * ANTIALIAS¤Î¤È¤­¡¢XIMÆþÎϤǤ­¤Ê¤¤¥Ð¥°¤ò½¤Àµ¡£ Ʊ¤¸¤¯¡¢ANTIALIAS¥Õ¥©¥ó¥È¤ò¥í¡¼¥É¤¹¤ëºÝ¤Îʸ»úÉý·×»»¤Î¥Ð¥°¤ò½¤Àµ * ²èÁüɽ¼¨¤¹¤ë»þ¤Ç¤â¥«¡¼¥½¥ë¤¬¤ß¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£ * basename()/libgen.h¤Ë°Í¸¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£ * ·ë¹çʸ»ú¤ÎưŪ¹çÀ®¤ËÂбþ¡£ ver 1.9.10(2001/7/19) * ¥­¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * Ctrl-FN¥­¡¼¤Î¥Ç¥Õ¥©¥ë¥È³äÅö¤òÊѹ¹ * ÀßÄꥭ¡¼/ÀßÄêÃÍ»ØÄê¤ÎÁ°¸å¤Ë¶õÇò¤ò¤¤¤ì¤é¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£ * SJISX0213/EUCJISX0213/ISO2022-JP-2/ISO2022-JP-3¤ò¥µ¥Ý¡¼¥È * UCS2(UCS4)/UTF8¤Î¥µ¥Ý¡¼¥È * ¤Ê¤ó¤È¤Ê¤¯¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¥µ¥Ý¡¼¥È * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ò¤Ä¤±¤Æ¤¤¤ë¤È¡¢window¥¿¥¤¥È¥ë¥Ð¡¼¤ÇXIM_OPEN¤Ç¤­¤Ê¤¤¥Ð¥°¤ò½¤Àµ * ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É»þ¤Î¥­¡¼³ä¤êÅö¤Æ¤òless¤ÈƱ¤¸¤Ë¤¹¤ë¡£ ver 1.9.9(2001/7/16) * ¥Ú¡¼¥¹¥È»þ¤Ë¡¢¥Ú¡¼¥¹¥Èʸ»úÎó¤Î¹ÔËöʸ»ú¤¬ºï½ü¤µ¤ì¤Æ¤·¤Þ¤¦¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * ¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Ë¤è¤ëñ¸ìÁªÂò¡¢¥È¥ê¥×¥ë¥¯¥ê¥Ã¥¯¤Ë¤è¤ë¹ÔÁªÂò¤ò¥µ¥Ý¡¼¥È * ¥Þ¥¦¥¹¥¹¥¯¥í¡¼¥ë¤¹¤ë¤È¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬¾Ã¤¨¤ë¾ì¹ç¤¬¤¢¤ë¥Ð¥°¤ò½¤Àµ * ¥Þ¥ë¥Á¥Ð¥¤¥Èʸ»úÆó¥Ð¥¤¥ÈÌܤ˥«¡¼¥½¥ë¤¬¤¢¤ë¾õÂ֤ǤÎʸ»úÁàºî¥Ð¥°¤ò½¤Àµ¡£ ver 1.9.8(2001/7/15) * kterm¤Î-e¥ª¥×¥·¥ç¥óÁêÅö¤Î¼ÂÁõ ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°»ØÄê¤Ï¡¢-e¤«¤é-E¤ËÊѹ¹¡£ * WINDOWID´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¥Þ¥¦¥¹¥«¡¼¥½¥ë·Á¾õÊѹ¹ * ºÙ¤«¤¤¥Ð¥°¥Õ¥£¥¯¥¹ * ver 1.9.4¤Ç½¤Àµ¤·¤¿¤È»×¤Ã¤Æ¤¤¤¿¡¢Â礭¤Ê¥Ç¡¼¥¿¤ò¥Ú¡¼¥¹¥È¤·¤¿ºÝ¤Î¥Ð¥°¤ò¡¢¤Á¤ã¤ó¤È½¤Àµ ver 1.9.7.pl1 * autoconfÂбþ * mkf.so¤Î¥ê¥ó¥¯¤Ë¼ºÇÔ¤¹¤ë¥Ð¥°¤ò½¤Àµ ver 1.9.7(2001/7/13) * ʸ»ú¤òÁÞÆþ¤¹¤ëºÝ¤Î¥Ð¥°¤ò½¤Àµ * w3m-img¤òµ¯Æ°¤¹¤ë¤È¡¢Broken Pipe¤·¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼Îΰè¤Ë¶èÀÚ¤êÀþ¤ò¤¤¤ì¤¿¡£ * ÊÉ»æ¤òޤì¤ë¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.6(2001/7/12) * ModNMask¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢ESC¤òÅǤ­½Ð¤¹¤è¤¦¤Ë¤·¤¿¡£(emacsÂкö) * ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ò¤Ä¤±¤Æ¤ß¤¿¡£(-s option) * ¥¹¥¯¥í¡¼¥ë¥­¡¼°Ê³°¤Î¤É¤ó¤Ê¥­¡¼¤Ç¤â¤ª¤»¤Ð¡¢¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É¤«¤éÉüµ¢¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£ * ¥Þ¥¦¥¹¤ò¥É¥é¥Ã¥°¤¹¤ì¤Ð¡¢¼«Æ°Åª¤Ë¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É¤ËÆþ¤ë¤è¤¦¤Ë¤·¤¿¡£ ver 1.9.5(2001/7/8) * ¥¿¥Ö¥µ¥¤¥º¤òÀßÄê¥Õ¥¡¥¤¥ë/°ú¿ô¥ª¥×¥·¥ç¥ó¤Ç»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£ * Ctrl - y¤Ë¤è¤ë¥Ú¡¼¥¹¥È¤ò»ß¤á¡£ * ESC [ Ps {M|L} ¥³¥Þ¥ó¥É¤Ë¡¢ESC [ ; Ps ; Ps ; r¤Ç»ØÄꤷ¤¿¥ê¡¼¥¸¥ç¥ó¤¬Í­¸ú¤ËƯ¤¤¤Æ¤¤¤Ê¤«¤Ã¤¿ ¥Ð¥°¤ò½¤Àµ * ¿åÊ¿¥¿¥Ö¤Ë¡¢¶õÇòʸ»ú¤ò*ÁÞÆþ*¤·¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ¡£ * DEC Special Characters¤ËÂбþ ver 1.9.4(2001/7/7) * ¥µ¥¤¥º¤ÎÂ礭¤Ê¥Ç¡¼¥¿¤ò¥Ú¡¼¥¹¥È¤¹¤ë¤È¡¢ÅÓÃæ¤ÇÅÓÀÚ¤ì¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ * ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É¤Ø¤Î°Ü¹Ô¤ò¡¢Control - Escape¥­¡¼¤Ë¡¢Éüµ¢¤ò Escape¥­¡¼¤Ë³ä¤êÅö¤ÆÄ¾¤·¤¿¡£ ver 1.9.3(2001/7/6) * w3m-img ¤Ø¤ÎÂбþ * ºÆÉÁ²èÎΰè¤ÎÆÃÄêÊýË¡¤ò²þÎÉ * ¥Þ¥¦¥¹¥µ¥Ý¡¼¥È * ¥Þ¥ë¥Á¥Ð¥Ã¥Õ¥¡¥µ¥Ý¡¼¥È ver 1.9.2(2001/7/2) * ml_char_t¤Î¥µ¥¤¥º¤ò½Ì¾® ver 1.9.1(2001/6/30) * ¥Õ¥©¥ó¥È¸¡º÷ÊýË¡¤ò²þÎÉ * Hz¤ò¥µ¥Ý¡¼¥È ver 1.9.0(2001/6/28) * ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ëÃæ¤Î¥Ú¡¼¥¸¥¢¥Ã¥×/¥Ú¡¼¥¸¥À¥¦¥ó¤ò¼ÂÁõ * -e ¥ª¥×¥·¥ç¥ó¤òÄɲà * JISX0213¤ò¥µ¥Ý¡¼¥È ver 0.9.6(2001/6/25) * ÈëÌ© mlterm-3.8.4/doc/ja/Usage.win32010064400017600000144000000165171321054731300146240ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- cygwin/win32gdi ÈÇ mlterm ¤Ë¤è¤ë¥³¥ó¥½¡¼¥ë´Ä¶­À°È÷¤Ë´Ø¤¹¤ëÈ÷˺Ͽ * ³µÍ× Windows ¤ò¥Û¥¹¥È OS¤È¤·¡¢vmware player ¤Ê¤É¤ËÊ£¿ô¤Î²¾Á۴Ķ­¤òΩ¤Á¾å¤²¡¢¤½¤ì¤é ¤Ë ssh ¤ÇÀܳ¤·¤Æ³Æ¼ïÁàºî¤ò¹Ô¤¦¡¢¤È¤¤¤¦¤Î¤Ï¤è¤¯¤¢¤ë(?)¤³¤È¤À¤È»×¤¤¤Þ¤¹¤¬¡¢¤½¤Î ¤è¤¦¤Ê¾ì¹ç¤Ë¤ª¤±¤ë mlterm ¤Î»È¤¤Êý¤ò¤Þ¤È¤á¤¿¥á¥â¤Ç¤¹¡£ * ¤ä¤ê¤¿¤¤¤³¤È 1) Ê£¿ô¤Î¥²¥¹¥È OS ¤Ø¤ÎÀܳ¤ò¤Ç¤­¤ë¤À¤±¼«Æ°²½¤·¤¿¤¤¡£ 2) ¥²¥¹¥È OS ¤Î X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Û¥¹¥È OS ¤Î X ¥µ¡¼¥Ð(cygwin)¤Ëɽ¼¨¤·¤¿¤¤¡£ 3) ¥²¥¹¥È OS ¤Î emacs ¥µ¡¼¥Ð¤ËÀܳ¤·¤¿¤¤¡£ 4) ¥²¥¹¥È OS ¾å¤Ç²èÁü¤òɽ¼¨¤·¤¿¤¤¡£ http://mlterm.sf.net/mlterm-cygwin.png * cygwin/win32gdi ÈÇ mlterm ¤ÎÆþ¼ê http://mlterm.sf.net/bin.html ¤Ë¤¢¤ë http://mlterm.sourceforge.net/mlterm-cygwin17-YYYYMMDD.zip ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢ c:\cygwin °Ê²¼¤ËŸ³«¡£ ÀßÄêÅù¤Ë¤Ä¤¤¤Æ¤Ï¡¢ http://bitbucket.org/arakiken/mlterm/raw/tip/doc/ja/README.win32 http://bitbucket.org/arakiken/mlterm/raw/tip/doc/ja/README.ja ¤ò»²¾È¡£ * ¥²¥¹¥È OS ¤Ø¤ÎÀܳ mlterm ¤Ï¡¢libssh2 ¤ò»È¤Ã¤Æ ssh ¥µ¡¼¥Ð ¤ËÀܳ¤¹¤ëµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£ Àܳ¤¹¤ë¥µ¡¼¥Ð¤Ï¡¢--serv ¥ª¥×¥·¥ç¥ó¤Ç»ØÄê¤Ç¤­¤ë¤Î¤Ç¡¢cygwin/win32gdi ÈǤΠmlterm ¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æµ¯Æ°¤·¤¿¸å¡¢¼¡¤Î¤è¤¦¤Ê¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç¡¢(ñ°ì¤Î ¥×¥í¥»¥¹Ãæ¤Ç)Àܳ¤·¤¿¤¤¥²¥¹¥È OS ¤Ø¤ÎÀܳ¤ò½ç¼¡³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (ǧ¾Ú¤Ë¤Ï¡¢~/.ssh/id_rsa.pub µÚ¤Ó ~/.ssh/id_rsa ¤ò»ÈÍѤ·¤Þ¤¹¡£) #!/bin/sh mlcc exec mlclient --serv user@host:port mlcc exec mlclient --serv user@host:port mlcc exec mlclient --serv user@host:port .... ¤Þ¤¿¡¢~/.mlterm/key ¤Ë Control+F5="proto:mlclient --serv user@host:port" ¤Î¤è¤¦¤Ë¥·¥ç¡¼¥È¥«¥Ã¥È¤È¤·¤Æ³ä¤êÅö¤Æ¤Æ¤ª¤¯¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¤Ê¤ª¡¢windows 7 ¤Ç¡¢¥Û¥¹¥È OS ¤ò¥µ¥¹¥Ú¥ó¥É¤·¤¿»þ¤Ë ssh ¤ÎÀܳ¤¬ÀÚÃǤµ¤ì¤ë (ARP ¥Æ¡¼¥Ö¥ë¤¬¥ê¥»¥Ã¥È¤µ¤ì¤ë) ¤È¤¤¤¦ÌäÂ꤬À¸¤¸¤ë¾ì¹ç¤Ï vmware player ÉÕ°¥Ä¡¼¥ë¤Î vmnetcfg ¤Î¡ÖNATÀܳ¡×¤Ç¡¢Àܳ¤·¤¿¤¤¥µ¡¼¥Ð¡¦¥Ý¡¼¥È¤ò¡¢¥í¡¼¥«¥ë¥Û¥¹¥È (127.0.0.1)¤ÎÆÃÄê¤Î¥Ý¡¼¥È¤ËžÁ÷¤¹¤ë¤³¤È¤Ç²óÈò¤Ç¤­¤Þ¤¹¡£ Î㤨¤Ð¡¢192.168.146.10 ¤Î22È֥ݡ¼¥È¤ËÀܳ¤·¤¿¤¤¾ì¹ç¡¢¤³¤ì¤ò127.0.0.1¤Î9910ÈÖ¥Ý ¡¼¥È¤ËžÁ÷¤·¡¢ $ mlcc exec mlclient --serv user@127.0.0.1:9910 ¤È¤¹¤ì¤Ð¡¢¥Û¥¹¥È OS ¤ò¥µ¥¹¥Ú¥ó¥É¤·¤Æ¤â¡¢ssh Àܳ¤¬ÀÚÃǤµ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó¡£ (¾¤Ë¤â²ò·èÊýË¡¤¬¤¢¤ë¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¤¬) ¤µ¤Æ¡¢¾åµ­¤Î¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤È¡¢½ç¼¡¡¢¥Ñ¥¹¥ï¡¼¥ÉÆþÎϲèÌ̤¬É½¼¨¤µ¤ì¡¢OK ¥Ü ¥¿¥ó¤ò²¡²¼¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥µ¡¼¥Ð¤Ø¤ÎÀܳ¤ò³«»Ï¤·¤Æ¤¤¤­¤Þ¤¹¡£ ¤³¤Î¤È¤­¡¢°ì¡¹¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ¹¤ë¤Î¤¬ÌÌÅݤʤΤǡ¢pageant ¤ò»È¤¤¡¢¥Ñ¥¹¥ï¡¼¥É¤ò ÆþÎϤ»¤º¤Ë OK ¥Ü¥¿¥ó¤ò²¡¤¹¤À¤±¤Çǧ¾Ú¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¤¿¤À¤·¡¢cygwin ɸ½à¤Î libssh2 ¤Ç¤Ï pageant ¤¬»È¤¨¤Ê¤¤¤¿¤á¡¢ http://bitbucket.org/arakiken/libssh2/get/camellia.tar.gz ¤ò¥Ó¥ë¥É¤·¡¢ /usr/bin/cygssh2-1.dll ¤òÃÖ¤­´¹¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ (¾åµ­»ä²ÈÈÇ libssh2 ¤Î changeset 16:07dc06414623 ¤ò¥Ó¥ë¥É¤·¤¿¥Ð¥¤¥Ê¥ê => http://mlterm.sf.net/cygssh2-1.dll.tar.gz [2016/09/04¹¹¿·] MD5 (cygssh2-1.dll.tar.gz) = e020e8575c89836a5bc0924b77e3a39f) ¤Ê¤ª¡¢¾åµ­¥Ð¥¤¥Ê¥ê¤Ï Agent forwarding ¤Ë¤âÂбþ¤·¤Æ¤¤¤ë¤¿¤á¡¢Î㤨¤Ð¡¢¥Ñ¥¹¥ï¡¼¥É ÆþÎϲèÌ̤Π"Server" ¤Ë HostA¡¢"Exec cmd" ¤Ë ssh -A HostB ¤ÈÆþÎϤ¹¤ì¤Ð¡¢HostA ¤òƧ¤ßÂæ¤È¤·¤Æ HostB ¤Ë pageant ¤ò»È¤Ã¤Æ¥í¥°¥¤¥ó¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ °ìö ssh ¥µ¡¼¥Ð¤ËÀܳ¤·¤¿¸å¡¢Æ±¤¸¥µ¡¼¥Ð¤ËÂФ·¤Æ¤Ï¡¢ $ mlcc exec mlclient --serv user@host:port ¤¹¤ë¤«¡¢¤½¤Î¥µ¡¼¥Ð¤ËÀܳ¤·¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¾å¤Ç Control+F1 Ëô¤Ï Control+F2 ¤ò²¡ ²¼¤¹¤ë¤È¡¢¥Ñ¥¹¥ï¡¼¥ÉÅù¤ÎÆþÎϲèÌ̤ʤ·¤Ë¤¹¤°¤Ë¿·¤·¤¤¥¦¥£¥ó¥É¥¦¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ ¤¹(¸å¼Ô¤ÎÊýË¡¤Î¾ì¹ç¡¢mlcc exec mlclient ¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ï ̵»ë¤µ¤ì¤ë¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£)¡£ * X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÎÍøÍÑ ¤Þ¤º¡¢ssh ¥µ¡¼¥Ð¦¤Î /etc/ssh/sshd_config ¤Ç X11Forwarding yes ¤ÈÀßÄꤷ¤Æ¤ª¤¯¤È¤È¤â¤Ë¡¢¥Û¥¹¥È OS ¾å¤Ç X ¥µ¡¼¥Ð (cygwin) ¤òµ¯Æ°¤·¤Æ¤ª¤¯É¬Íפ¬ ¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¾å¤Ç¡¢mlterm ¤«¤é ssh ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ëºÝ¤Ë -x11 ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ X11 forwarding ¤Ë¤è¤ê¡¢¥ê¥â¡¼¥È¤Î X ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥Û¥¹¥È OS ¾å¤Î X ¥µ¡¼¥Ð ¤Ëɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥Ñ¥¹¥ï¡¼¥ÉÅù¤ÎÆþÎϲèÌ̤ΡÖX11 forwarding¡×¤È¤¤¤¦¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤Ç¤â¡¢Í­¸úËô¤Ï ̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ * emacs ¥µ¡¼¥Ð¤Ø¤ÎÀܳ ¥²¥¹¥È OS ¾å¤Î emacs ¥µ¡¼¥Ð¤ËÀܳ¤·¤ÆÊÔ½¸ºî¶È¤ò¹Ô¤Ê¤¨¤Ð¡¢mlterm ¤Î¥¦¥£¥ó¥É¥¦¤ò ÊĤ¸¤Æ¤â¡¢emacs ¥µ¡¼¥Ð¤¬À¸¤­¤Æ¤¤¤ë¸Â¤ê¡¢ÊÔ½¸Ãæ¤Î¥Õ¥¡¥¤¥ë¤ä twittering-mode ¤Ê ¤É¤Î¥í¥°¤¬»Ä¤ë¤Î¤ÇÊØÍø¤Ç¤¹¡£ ¤Þ¤º¡¢¥²¥¹¥È OS ¾å¤Ç emacs --daemon ¤òµ¯Æ°¤·¤¿¾å¤Ç¡¢¼¡¤Î¤è¤¦¤Ë ~/.mlterm/key ¤ËÀßÄꤷ¡¢»ØÄꥭ¡¼¤ò²¡²¼¤¹¤ë¤³¤È¤Ç emacsclient ·Ðͳ¤Ç emacs ¥µ¡¼¥Ð¤Î²èÌ̤òɽ¼¨ ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Control+F5="proto:mlclient --serv user@host:port -e /usr/.../bin/emacsclient -t" ¤Ê¤ª¡¢emacsclient ¤«¤é emacs ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤È keyboard-coding-system ¤¬¥ê¥» ¥Ã¥È¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Àܳ¤¹¤ëÅÔÅÙ¡¢(set-keyboard-coding-system 'euc-jp) ¤Ê¤É¤ò ¼Â¹Ô¤·¤Ê¤¤¤È¡¢MS-IME ¤«¤é¤ÎÆüËܸìÆþÎϤ¬¤Ç¤­¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¥Û¥¹¥È OS ¤Î ~/.mlterm/main ¤Ë¤ª¤¤¤Æ¡¢ allow_osc52=true ¤ÈÀßÄꤷ¤¿¾å¤Ç¡¢¥²¥¹¥È OS ¤Î ~/.emacs.d/init.el ¤Ë¤ª¤¤¤Æ¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤷ¤Æ¤ª ¤±¤Ð¡¢emacs ¾å¤Ç¥³¥Ô¡¼¤·¤¿Ê¸»úÎó¤ò¡¢Â¾¤Î mlterm ¥¦¥£¥ó¥É¥¦¤ä¡¢Â¾¤Î windows ¥¢¥× ¥ê¥±¡¼¥·¥ç¥ó¤ËޤêÉÕ¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹(mlterm ·Ðͳ¤ÇǤ°Õ¤Î¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼ ¥·¥ç¥ó¤¬¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¤¿¤á¡¢Ãí°Õ¤¬É¬ÍפǤ¹¡£)¡£ (defun my-cut-function (text &optional rest) (interactive) (send-string-to-terminal "\x1b]52;") (send-string-to-terminal (base64-encode-string (encode-coding-string text 'euc-jp) t)) (send-string-to-terminal "\x07")) (setq interprogram-cut-function 'my-cut-function) ²Ã¤¨¤Æ¡¢X11 forwading ¤òÍ­¸ú¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¡¢emacs ÆâÉô¤«¤éµ¯Æ°¤¹¤ë¥Ö¥é¥¦¥¶¤ò¼¡ ¤Î¤è¤¦¤ËÀßÄꤹ¤ì¤Ð¡¢¥í¡¼¥«¥ë¤Î X ¥µ¡¼¥Ð¤Ë¥Ö¥é¥¦¥¶¤òɽ¼¨¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ (defun xterm-w3m (URL &rest ARGS) (let ((args (concat "-g 100x35 -e w3m " URL))) (start-process-shell-command "xterm" "w3m" "xterm" args))) (setq browse-url-browser-function 'xterm-w3m) emacs ¤ò¥³¥ó¥½¡¼¥ë¤Ç»ÈÍѤ¹¤ë¾ì¹ç¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÏÆÃ¤ËɬÍפʤ¤¤È»×¤¤¤Þ¤¹¤¬¡¢ -sbmod=none ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ì¤Ð¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÏÈóɽ¼¨¤È¤Ê¤ê¤Þ¤¹¡£ Control+F5="proto:mlclient -sbmod=none --serv user@host:port -e /usr/.../bin/emacsclient -t" * ²èÁü¤ÎÍøÍÑ cygwin/win32gdi ÈǤâ Sixel Graphics ¤ËÂбþ¤·¤Æ¤ª¤ê¡¢¤³¤ì¤Ë¤è¤ê²èÁü¤òɽ¼¨¤¹¤ë¤³ ¤È¤¬¤Ç¤­¤Þ¤¹¡£(Sixel Graphics ¤Ë¤è¤ë²èÁüɽ¼¨¤Ë¤Ä¤¤¤Æ¤Ï¡¢ http://qiita.com/arakiken/items/3e4bc9a6e43af0198e46 ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£) ¤Ê¤ª¡¢É½¼¨¤·¤¿²èÁü¤Ï¡¢¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ç¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤Ë¥³¥Ô¡¼¤¹¤ë¤³¤È¤¬ ¤Ç¤­¤Þ¤¹(3.3.3 °Ê¹ß)¡£ * ¤½¤Î¾ Tips o ÀßÄê¤òÊѹ¹¤¹¤ë¾ì¹ç¤Ï¡¢Ctrl+±¦¥¯¥ê¥Ã¥¯¤Ç mlconfig ¤òµ¯Æ°¤¹¤ë¤«¡¢Ä¾ÀÜ ~/.mlterm/main ¤òÊÔ½¸¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ÀßÄê¥Õ¥¡¥¤¥ë¤Î¿÷·¿¤Ï¡¢http://mlterm.sourceforge.net/mlterm-cygwin17-YYYYMMDD.zip ¤Ë´Þ¤Þ¤ì¤ë etc/mlterm/main ¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ ÀßÄê¤òưŪ¤ËÊѹ¹¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢mlcc ¥³¥Þ¥ó¥É¤ò¼¡¤Î¤è¤¦¤Ë»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£ $ mlcc encoding eucjp o ~/.mlterm/key ¤Ë¼¡¤Î¤è¤¦¤ËÀßÄꤷ¡¢URL ¤òÁªÂò¤·¤Æ Shift + ±¦¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢ ÁªÂò¤·¤¿ URL ¤ò°ú¿ô¤È¤·¤Æ Internet Explorer ¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Shift+Button3="exesel:/cygdrive/c/Program\\ Files/Internet\\ Explorer/iexplore.exe" o ~/.mlterm/main ¤Ë¼¡¤Î¤È¤ª¤êÀßÄꤹ¤ë¤³¤È¤Ç¡¢Ê¸»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¼«Æ°È½Äê¤ò ¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ auto_detect_encodings = utf8,sjis,eucjp use_auto_detect = true use_auto_detect ¥ª¥×¥·¥ç¥ó¤ÏưŪ¤ËÊѹ¹¤Ç¤­¤ë¤¿¤á¡¢É¬Íפʾì¹ç¤À¤± $ mlcc use_auto_detect true ¤ò¼Â¹Ô¤¹¤ëÊýË¡¤ä¡¢~/.mlterm/key ¤Ë¼¡¤Î¤è¤¦¤ËÀßÄꤷ¡¢¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤ÇÊѹ¹ ¤¹¤ëÊýË¡¤â¤¢¤ê¤Þ¤¹¡£ Control+F6="proto:use_auto_detect=true" Control+F7="proto:use_auto_detect=false" (3.3.3 °Ê¹ß¤Ç¤¢¤ì¤Ð "proto:use_auto_detect=switch" ¤ÇÀÚ¤êÂØ¤¨¤é¤ì¤Þ¤¹¡£) mlterm-3.8.4/doc/ja/README.pty010064400017600000144000000043031321054731300143550ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- ¥Þ¥ë¥Á PTY ¤Î»È¤¤Êý¤Ë¤Ä¤¤¤Æ * ¿·¤·¤¤ pty ¥»¥Ã¥·¥ç¥ó¤Î³«»Ï ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ OPEN_PTY(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï Ctrl+F2) ¤Ç¡¢¸½ºßɽ¼¨¤µ¤ì¤Æ¤¤¤ë¥¦¥£ ¥ó¥É¥¦Æâ¤Ë¿·¤·¤¤ pty ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤·¤Þ¤¹¡£ ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ OPEN_SCREEN(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï Ctrl+F1) ¤Ç¡¢¿·¤·¤¤ ¥¦¥£¥ó¥É¥¦¤ò Ω¤Á¾å¤²¡¢¤½¤ÎÃæ¤Ç¿·¤·¤¤ pty ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤·¤Þ¤¹¡£ * Foreground ¤È background ¤ÎÁ«°Ü ¤Þ¤º¡¢pty ¤¬ foreground ¤Ë¤¢¤ë¤È¤Ï¡¢¤½¤Î pty ¤¬¡¢¤¤¤º¤ì¤«¤Î¥¦¥£¥ó¥É¥¦¤Çɽ¼¨¤µ ¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ µÕ¤Ë background ¤Ë¤¢¤ë¤È¤Ï¡¢¤½¤Î pty ¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤Æ¡¢¤½¤ÎÃæ¤Ç¤Ê¤ó¤é¤«¤Î ¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æ°ºî¤·¤Æ¤¤¤ë¤â¤Î¤Î¡¢¤É¤Î¥¦¥£¥ó¥É¥¦¤Ë¤âɽ¼¨¤µ¤ì¤Æ¤¤ ¤Ê¤¤¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ Background ¤Ë¤¢¤ë pty ¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ NEXT_PTY(¥Ç¥Õ¥©¥ë¥È¤Ç ¤Ï Ctrl+F3)¡¢PREV_PTY(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï Ctrl+F4) ¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤Ê¤ª¡¢Ctrl+º¸¥¯¥ê¥Ã¥¯¤Çµ¯Æ°¤¹¤ë mlterm-menu ¤Ë¤è¤ê¡¢background ¤Ë¤¢¤ë pty ¤Î°ì Í÷¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤³¤ÎÃæ¤«¤éŬÅö¤Ê pty ¤òÁªÂò¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¤½¤Î pty ¤òɽ¼¨¤¹ ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ * mlclient ¤«¤é¤ÎÍøÍÑ o ¸½ºß³«¤¤¤Æ¤¤¤ë pty ¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤Ë¤Ï $ mlclient -P /dev/ttyp0 is active:) /dev/ttyp1 is sleeping.zZ /dev/ttyp1 ¤¬ background ¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¤³¤È¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤¹¡£ o Background ¤Ë¤¢¤ë pty ¤ò¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º 12 ¤Çɽ¼¨¤¹¤ë¤Ë¤Ï $ mlclient /dev/ttyp1 -w 12 ^^^^^^^^^^-> background ¤Î pty * pty ¤Î̾Á° pty ¤Ï¡¢/dev/ttyp0 ¤Î¤è¤¦¤Ë pty ¤Î slave ¥Ç¥Ð¥¤¥¹Ì¾¤ÇÆÃÄꤵ¤ì¤Þ¤¹¡£ ¤·¤«¤·¡¢ echo -e "\x1b]0;unique_name\x07" echo -e "\x1b]2;unique_name\x07" ¤Ë¤è¤ê¡¢¤½¤Î pty ¤Î window title ¤ò»ØÄꤷ¤Æ¤ä¤ë¤³¤È¤Ë¤è¤ê¡¢¤ï¤«¤ê¤ä¤¹¤¤Ì¾Á°¤ò ¤Ä¤±¤Æ¤ä¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î̾Á°¤Ï¡¢mlterm-menu ¤ä mlconfig ¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£ * pty ¥»¥Ã¥·¥ç¥ó¤Î½ªÎ» ¤½¤Î pty ¤Çưºî¤·¤Æ¤¤¤ë¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò½ªÎ»(shell ¤Ç¤¢¤ì¤Ð¡¢exit) ¤Ë¤è¤ê¡¢pty ¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤·¤Þ¤¹¡£ ¤Ê¤ª¡¢¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Î [X] ¥Ü¥¿¥ó¤ò²¡²¼¤·¤¿¾ì¹ç¡¢¤½¤³¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤¿ pty ¤Ï background ¤ËÁ«°Ü¤¹¤ë¤À¤±¤Ç¡¢¥»¥Ã¥·¥ç¥ó¤Ï½ªÎ»¤·¤Þ¤»¤ó¡£ ¤Þ¤¿¡¢¤¹¤Ù¤Æ¤Î pty ¥»¥Ã¥·¥ç¥ó¤¬½ªÎ»¤·¤¿¾ì¹ç¡¢--daemon=blend or --daemon=none ¤Î¾ì¹ç¡¢mlterm ¥×¥í¥»¥¹¤â½ªÎ»¤·¤Þ¤¹¤¬¡¢--daemon=genuine ¤Î¾ì¹ç¤Ï¡¢mlterm ¥×¥í ¥»¥¹¤Ï½ªÎ»¤»¤º¡¢mlclient ¤ËºÆ¤Ó pty ¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ mlterm-3.8.4/doc/ja/README.utf8010064400017600000144000000023561321054731300144350ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- UTF-8 ¤Î°·¤¤¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤Ê¥á¥â * copy&paste¤Ë¤ª¤±¤ë¡¢XCOMPOUND TEXT¤È¤ÎÁê¸ßÊÑ´¹¤Ë¤Ä¤¤¤Æ o Á÷¿®»þ¤ÎÊÑ´¹Áàºî¤Ë¤Ä¤¤¤Æ UTF-8 ¤«¤é XCOMPOUND_TEXT ¤ËÊÑ´¹¤¹¤ë¾ì¹ç¡¢¸½ºß¤Î¥í¡¼¥±¡¼¥ë¾ðÊó¤ò»²¾È¤·¡¢¤½¤ì ¤Ë¤è¤êŬ¹çŪ¤Êʸ»ú½¸¹ç¤ËÊÑ´¹¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢mlterm¤ÎUTF-8 ¥â¡¼¥É¤Ë¤ÆÉ½¼¨¤µ¤ì¤Æ¤¤¤ë¥­¥ê¥ëʸ»ú¤ò¡¢Â¾¤ÎX¥¯¥é¥¤¥¢ ¥ó¥È¤Ëcopy & paste¤·¤¿¾ì¹ç¡¢ja_JP.eucJP ¥í¡¼¥±¡¼¥ë¤Çư¤¤¤Æ¤¤¤ë¤È¤­¤Ë¤Ï¡¢¤½¤ì ¤é¤Î¥­¥ê¥ëʸ»ú¤Ï¡¢JISX0208 ¤ËÊÑ´¹¤µ¤ì¤Æ¡¢Áê¼ê¤ÎX¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤é¤ì¤Þ¤¹¡£ µÕ¤Ë¡¢ru_RU.KOI8-R ¥í¡¼¥±¡¼¥ë¤Çư¤¤¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢KOI8-R ¤È¤·¤ÆÁ÷¤é¤ì¤Þ¤¹¡£ o ¼õ¿®»þ¤ÎÊÑ´¹Áàºî¤Ë¤Ä¤¤¤Æ XCOMPOUND TEXT ¤ò¼õ¤±¼è¤Ã¤¿¾ì¹ç¡¢mlterm ¤¬ UTF-8 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Çư¤¤¤Æ¤¤ ¤ë¾ì¹ç¤Ë¤Ï¡¢ÅöÁ³¡¢¼õ¤±¼è¤Ã¤¿Ê¸»ú¤Ï¤¹¤Ù¤ÆUCS¤ËÊÑ´¹¤µ¤ì¤ë¤ï¤±¤Ç¤¹¤¬¡¢¤½¤ì°Ê³° ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î¾ì¹ç¤Ë¤â¡¢¶¯À©Åª¤Ë¡¢°ìöUCS¤ËÊÑ´¹¤¹¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤¬ ÍѰդµ¤ì¤Æ¤¤¤Þ¤¹(receive_string_via_ucs) ¾å¤ÎÎã¤Ç¤¤¤¨¤Ð¡¢Áê¼ê¤¬ ru_RU.KOI8-R ¥í¡¼¥±¡¼¥ë¤Çư¤¤¤Æ¤ª¤ê¡¢¥­¥ê¥ëʸ»ú¤ò KOI8-R ¤È¤·¤ÆÁ÷¤Ã¤Æ¤­¤¿¾ì¹ç¡¢receive_string_via_ucs ¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë ¤È¡¢Á÷¤é¤ì¤Æ¤­¤¿ XCOMPOUND TEXT ¤ò¡¢°ìö UCS ¤ËÊÑ´¹¤·¤¿¾å¤Ç¡¢EUC-JP ¤ËºÆÊÑ´¹ ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¤Î¤Ç¡¢JISX0208 ¤Î¥­¥ê¥ëʸ»ú¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ mlterm-3.8.4/doc/ja/README.win32010064400017600000144000000176421321054731300145150ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- WIN32 native GUI Âбþ¤Ë´Ø¤¹¤ë¥á¥â * ¥Æ¥¹¥È´Ä¶­ Windows 7 + MinGW 5.1.4 or MSYS 1.0.10(MSYS-DTK 1.0.1) or MSYS2 or Cygwin 2.8.0 + libssh2 1.4.3(win32 native) + GTK+ 2.12.9(win32 native) + Fribidi 0.19.2(win32 native) * ¥Ó¥ë¥É (CC="i686-pc-mingw32-gcc") ./configure (--enable-ssh2) (--with-gui=win32) (--config-cache) \ (--with-libintl-prefix=[GTK+(win32) installed directory]) \ (--with-libiconv-prefix=[GTK+(win32) installed directory]) make * configure ¥ª¥×¥·¥ç¥ó --with-gui=(xlib|win32) GUI ¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ xlib ¤Î API ¤ò»ÈÍѤ¹¤ë¤« win32 ¤Î API ¤ò»ÈÍÑ ¤¹¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢MSYS ´Ä¶­¤Ç¤Ï win32 ¤ÈȽÃǤ·¡¢ CYGWIN ´Ä¶­¤Ç¤Ï X ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð xlib ¤È¡¢X ¤¬¥¤¥ó¥¹ ¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð win32 ¤ÈȽÃǤ·¤Þ¤¹¡£ * ¥¤¥ó¥¹¥È¡¼¥ë ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢ baselib/src/.libs/*.dll encodefilter/src/.libs/*.dll encodefilter/module/.libs/*.dll vtemu/.libs/*.dll vtemu/libctl/.libs/*.dll main/.libs/mlterm.exe scrollbar/sample/.libs/*.dll inputmethod/kbd/.libs/*.dll libind/.libs/*.dll tool/mlimgloader/.libs/mlimgloader.exe ¤ò¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£ o MinGW or Cygwin(gcc -mno-cygwin, i686-pc-mingw32-gcc ¤Ê¤É) ¤Ç --enable-ssh2 ¤Ê¤·¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç¤Ï¡¢win32/plink/plink.exe ¤â¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£ libssh2 ¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¤ÎÀܳ¤Ë¤Ï plink.exe ¤ò»ÈÍѤ·¤Þ¤¹¡£ o MSYS-DTK or MSYS2 or Cygwin ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î contrib/tool/mlcc/mlcc.exe, tool/mlclient/mlclient.exe ¤â¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£ o mlconfig,mlterm-menu ¤ò¥Ó¥ë¥É¤Ç¤­¤¿¾ì¹ç(¤¢¤é¤«¤¸¤á GTK+ >= 2.0 ¤ò¥¤¥ó¥¹¥È¡¼ ¥ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹)¤Ï¡¢¥½¡¼¥¹¥Ä¥ê¡¼¤Î tool/mlconfig/.libs/mlconfig.exe contrib/tool/mlterm-menu/.libs/mlterm-menu.exe ¤â¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£ o MSYS-DTK or MSYS2 or Cygwin ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç¤Ï¡¢make install ¤Ç¥¤¥ó¥¹¥È¡¼¥ë ¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¤¬¡¢libmef ¤Î relink ¤Ë¼ºÇÔ¤¹¤ë¤³¤È¤¬¤¢¤ë¤¿¤á¡¢make install ¤ÎÁ°¤Ë libmef.la ¤Î relink_command ¹Ô¤òºï½ü¤·¤Æ¤«¤é make install ¤·¤Æ¤¯¤À¤µ ¤¤¡£ * ´Ä¶­ÀßÄê (MSYS-DTK or MSYS2 or Cygwin ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç) SYSCONFDIR/mlterm µÚ¤Ó³Æ¥æ¡¼¥¶¤´¤È¤Î $HOME/.mlterm/ °Ê²¼¤ËÀßÄê¥Õ¥¡¥¤¥ë (¥½¡¼¥¹¥Ä¥ê¡¼¤Î etc/ °Ê²¼¤Î¥Õ¥¡¥¤¥ë)¤òÇÛÃÖ¤¹¤ë¤³¤È¤Ë¤è¤ê´Ä¶­ÀßÄê¤ò¹Ô¤¦¤³¤È¤¬ ¤Ç¤­¤Þ¤¹¡£ (MinGW or Cygwin(gcc -mno-cygwin, i686-pc-mingw32-gcc ¤Ê¤É) ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç) [mlterm ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê]\mlterm\ µÚ¤Ó³Æ¥æ¡¼¥¶¤´¤È¤Î %HOMEPATH%\mlterm\ (%HOMEPATH% ¤¬Â¸ºß¤·¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¤Ï %HOME%\.mlterm\) °Ê²¼¤ÎÀßÄê¥Õ¥¡¥¤¥ë(¥½¡¼¥¹¥Ä¥ê¡¼¤Î etc/ °Ê²¼¤Î¥Õ¥¡¥¤¥ë) ¤òÇÛÃÖ¤¹¤ë¤³¤È¤Ë¤è¤ê ´Ä¶­ÀßÄê¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (¥Õ¥©¥ó¥È»ØÄê) font,vfont,tfont ¤Ï¡¢¼¡¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤È¤Ê¤ê¤Þ¤¹¡£ [font family]( Bold Italic [font size]:[percentage]) ¢¨ [font family]¤Îʸ»úÎó¤Ë'-'¤¬´Þ¤Þ¤ì¤ë¾ì¹ç¡¢aafont¤Î·Á¼°¤È°Û¤Ê¤ê¡¢'\'¤Ç¥¨¥¹¥± ¡¼¥×¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£ ¢¨ aafont,vaafont,taafont ¤Ï»ÈÍѤ·¤Þ¤»¤ó¡£ (¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°) -E/--km/encoding ¥ª¥×¥·¥ç¥ó¤Ç AUTO ¤ò»ØÄêËô¤ÏƱ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã ¤¿¾ì¹ç¤Ë¤ª¤±¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ï¡¢MSYS-DTK or MSYS2 or Cygwin ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç ¤Ï UTF-8¡¢MinGW or Cygwin(gcc -mno-cygwin, i686-pc-mingw32-gcc ¤Ê¤É) ¤Ç¥Ó¥ë¥É ¤·¤¿¾ì¹ç¤Ë¤Ï Windows ¤Î CodePage¤ËÂбþ¤·¤¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤È¤Ê¤ê¤Þ¤¹¡£ * µ¯Æ°ÊýË¡ ¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥ÈÅù¤«¤é¼¡¤Î¤È¤ª¤êµ¯Æ° (Ëô¤Ï win32/mlterm-{win32|msys_cygwin}.bat ¤Î¤è¤¦¤Ê¥Ð¥Ã¥Á¥Õ¥¡¥¤¥ë¤òÍѰÕ) (MSYS-DTK or MSYS2 or Cygwin ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç) set HOME=c:\msys\...\home\... set CYGWIN=tty mlterm.exe (options...) -e /bin/sh --login -i (MinGW or Cygwin(gcc -mno-cygwin, i686-pc-mingw32-gcc ¤Ê¤É) ¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç) set HOMEPATH=... mlterm.exe (options...) (-e plink.exe [-telnet/-ssh/-rlogin/-raw] [host]) ¢¨ -e ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢µ¯Æ°»þ¤Ë¡¢Àܳ¤¹¤ë¥µ¡¼¥Ð¡¢¥×¥í¥È¥³¥ë¡¢ ¥æ¡¼¥¶Ì¾¡¢¥Ñ¥¹¥ï¡¼¥É¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÆþÎϤ¹¤ë¥À¥¤¥¢¥í¥°¤¬É½¼¨¤µ¤ì ¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤Î¤È¤­¡¢¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Ê¤±¤ì¤Ð¡¢Authentication Agent ¤Ë ¤è¤ëǧ¾Ú¤ò»î¤ß¤Þ¤¹¡£ ¤Þ¤¿¡¢main ÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤Æ¡¢¤¢¤é¤«¤¸¤á¼¡¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤â ¤Ç¤­¤Þ¤¹(³ç¸Ì½ñ¤­¤Ï mlterm ¤Îµ¯Æ°»þ¤Î°ú¿ô¤È¤·¤Æ»ØÄꤹ¤ë¾ì¹ç ¤Î¥ª¥×¥·¥ç¥ó̾)¡£ o default_server(--serv) = (://)(@)(:)(:) ¥À¥¤¥¢¥í¥°¤Î´ûÄêÃͤȤ·¤ÆÉ½¼¨¤¹¤ë¥æ¡¼¥¶Ì¾¡¢¥×¥í¥È¥³¥ëµÚ¤Ó¥µ¡¼¥Ð¤ò »ØÄꤷ¤Þ¤¹(¥æ¡¼¥¶Ì¾Ëô¤Ï¥×¥í¥È¥³¥ë¤ò¾Êά¤·¤¿¾ì¹ç¤Ï¡¢¥æ¡¼¥¶Ì¾¤Ï´Ä¶­ÊÑ¿ô USERNAME ¤ÎÃÍ¡¢¥×¥í¥È¥³¥ë¤Ï SSH ¤È¤Ê¤ê¤Þ¤¹¡£)¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢µ¯Æ°»þ¤Î¥À¥¤¥¢¥í¥°¤ËÆþÎϤ·¤¿ ÆâÍÆ¤¬¡¢¤½¤Î¸å pty ¤ò³«¤¯¾ì¹ç¤Î¥À¥¤¥¢¥í¥°¤Î´ûÄêÃͤȤʤê¤Þ¤¹¡£ o server_list(--servlist) = (://)(@)(:)(:),(://)(@)(:)(:),... ¥À¥¤¥¢¥í¥°¤Î "List" Íó¤Ë¡¢Àܳ¤¹¤ë¥µ¡¼¥Ð¤Î¸õÊä¤òɽ¼¨¤·¤Þ¤¹¡£ default_server ¤Ç»ØÄꤷ¤¿¥µ¡¼¥Ð¤¬ server_list ¤Ë¤Ê¤¤¾ì¹ç¡¢¼«Æ°Åª¤Ë default_server ¤¬ server_list ¤ËÄɲ䵤ì¤Þ¤¹¡£ o always_show_dialog(--dialog) = true/false ´û¤Ë³ÎΩ¤µ¤ì¤¿ SSH ¥»¥Ã¥·¥ç¥ó¤¬¤¢¤ê¡¢¤½¤Î¥»¥Ã¥·¥ç¥ó¾å¤Ë¿·¤·¤¤¥Á¥ã¥ó¥Í¥ë¤ò ³«¤¯¤³¤È¤¬¤Ç¤­¤ë¾ì¹ç¤Ç¤â¡¢É¬¤ºÀܳÀè¤Î¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¤¿¤á¤Î¥À¥¤¥¢¥í¥°¤ò ɽ¼¨¤·¤Þ¤¹¡£ * WIN32 GUI ÈǤÎÀ©¸Â o -I/--icon, --iconpath, -Y/--decsp, -&/--borderless, -d/--display µÚ¤Ó -t/--transbg¥ª¥×¥·¥ç¥ó¤Ï»ÈÍѤǤ­¤Þ¤»¤ó¡£ o mlterm server µ¡Ç½¤Ç genuine ¥â¡¼¥É¤Ï»ÈÍѤǤ­¤Þ¤»¤ó(ÂбþͽÄê¤â¤¢¤ê¤Þ¤»¤ó¡£)¡£ MinGW ÈǤǤϡ¢mlterm server µ¡Ç½¼«ÂΤ¬»ÈÍѤǤ­¤Þ¤»¤ó(ÂбþͽÄê¤â¤¢¤ê¤Þ¤»¤ó¡£)¡£ Âå¤ï¤ê¤Ë¡¢"\x1b]5379;mlclient \x07" sequence (see doc/en/PROTOCOL) ¤¬»ÈÍѤǤ­¤Þ¤¹(mlclient Ëô¤Ï mlclientx ¥³¥Þ¥ó¥É¤â¡¢ Ʊ sequence ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£)¡£ o -X/--alpha ¥ª¥×¥·¥ç¥ó¤ÇÆ©²áΨ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢win32 ¤Î¥ì¥¤¥ä¡¼¥É¥¦¥£¥ó¥É¥¦¤Î µ¡Ç½¤ò»È¤Ã¤Æ¥¦¥£¥ó¥É¥¦¤òȾƩÌÀ¤Ë¤·¤Þ¤¹¡£ o Bold ¤Êʸ»ú¤Ï¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤Ç»ÈÍѤ¹¤ë¥Õ¥©¥ó¥È¤ò»ØÄꤷ¤Ê¤¤¸Â¤ê¡¢´ðËÜŪ¤Ë¤Ï¡¢ ½Å¤ÍÂǤÁ¤Ë¤è¤ëµ¼»÷Ū¤Ê bold ɽ¼¨¤ò¹Ô¤¤¤Þ¤¹(Bold ¤È Normal ¤Ç¥Õ¥©¥ó¥ÈÉý¤¬°Û ¤Ê¤ë¾ì¹ç¤¬¤¢¤ë¤¿¤á) o ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Ï¡¢"simple" Ëô¤Ï "sample" ¤Î¤ß»ÈÍѤǤ­¤Þ¤¹¡£ o MinGW ¤Ç¤Ï¡¢~/.mlterm/key ¤Î OPERATION ¤Î "exesel:..." ¤Ç¤Ï¡¢mlclient °Ê³°¤ò ¼Â¹Ô¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£ o utmp ¤Ï¾ï¤Ë̵¸ú¤È¤Ê¤ê¤Þ¤¹¡£ * ¥½¡¼¥¹¥³¡¼¥É o USE_WIN32API¥Þ¥¯¥í: MinGW Ëô¤Ï CYGWIN(gcc -mno-cygwin, i686-pc-mingw32-gcc ¤Ê¤É) ¤Ç¥Ó¥ë¥É¤¹¤ëºÝ¤Ë define ¤µ¤ì¤Þ¤¹¡£ o USE_WIN32GUI¥Þ¥¯¥í: --with-gui=win32 ¤Î¾ì¹ç define ¤µ¤ì¤Þ¤¹¡£ o ¥Õ¥¡¥¤¥ë̾ *_win32.c: --with-gui=win32 ¤Î¾ì¹ç¤Ë compile ¤µ¤ì¤Þ¤¹¡£ * α°Õ»ö¹à o MSYS-DTK 1.0.1 ¤Ë´Þ¤Þ¤ì¤ë winuser.h / libuser32.a ¤Ï¸Å¤¤¤¿¤á¡¢ ÇØ·ÊÆ©²á¤Ë»ÈÍѤ¹¤ë SetLayeredWindowAttributes() ¤¬»ÈÍѤǤ­¤Þ¤»¤ó¡£ ÇØ·ÊÆ©²á¤ò»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢mlterm ¤Î¥Ó¥ë¥É¤ÎÁ°¤Ë MSYS-DTK 1.0.1 ¤Î winuser.h / libuser32.a ¤ò ºÇ¿·¤Î MinGW ¤Î ¤â¤Î¤ËÃÖ¤­¤«¤¨¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ o MinGW / Gtk+(win32 native) ¤Ç¥Ó¥ë¥É¤·¤¿ mlconfig.exe µÚ¤Ó mlterm-menu.exe ¤Ï¡¢MSYS ¤ä Cygwin ¤Ç¥Ó¥ë¥É¤·¤¿ mlterm ¤È °ì½ï¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ o mlterm-menu ¤Ï¡¢MinGW ¤Ç¥Ó¥ë¥É¤¹¤ë¾ì¹ç¤Ë¤Ï win32 native ¤Î GTK+ ¤È¡¢ Cygwin ¤Ç¥Ó¥ë¥É¤¹¤ë¾ì¹ç¤Ë¤Ï Cygwin ÍѤΠGTK+ ¤È¥ê¥ó¥¯¤·¤Ê¤¤¤È¡¢ÀßÄê¥Õ¥¡¥¤ ¥ë(menu)¤ÎÆÉ¤ß¹þ¤ß¤¬¤Ç¤­¤ºÀµ¾ï¤Ëưºî¤·¤Þ¤»¤ó¡£ o MSYS ¤Ç¥Ó¥ë¥É¤·¤¿ mlterm ¤Ï¡¢CYGWIN=tty ´Ä¶­ÊÑ¿ô¤ò¥»¥Ã¥È¤·¤¿¾å¤Ç¡¢ ¼Â¹Ô¤·¤Æ¤¯¤À¤µ¤¤¡£¤½¤¦¤·¤Ê¤¤¤È¡¢mlterm ¾å¤Ç Windows native ¤Î¥³¥ó ¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(MinGW ¤Î gcc Åù)¤ò¼Â¹Ô¤·¤¿¾ì¹ç¤Ë¡¢console ¤¬·Ñ¾µ¤µ¤ì¤º¡¢¿·¤·¤¤ console window ¤¬É½¼¨¤µ¤ì¤Æ¤·¤Þ¤¦ÌäÂ꤬À¸¤¸ ¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ o DEC SPECIAL ʸ»ú¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢Tera Term (http://teraterm.sourceforge.jp) ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë "Tera Special" ¥Õ¥©¥ó¥È (TSPECIAL1.TTF) ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë ɬÍפ¬¤¢¤ê¤Þ¤¹¡£ o Cygwin/X 1.17 °Ê¹ß¤Ç¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢X ¥µ¡¼¥Ð¤¬ 127.0.0.1:6000 ¤Ç¤ÎÀܳ¤ò ÂÔ¤Á¼õ¤±¤Ê¤¯¤Ê¤ê¤Þ¤·¤¿¡£MinGW ¤Ç¥Ó¥ë¥É¤·¤¿ mlterm ¤¬ X ¥µ¡¼¥Ð¤ËÀܳ¤· x11 forwarding ¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢X ¥µ¡¼¥Ð¤ò¼¡¤Î¤È¤ª¤êµ¯Æ°¤¹¤ëɬÍפ¬¤¢ ¤ê¤Þ¤¹¡£ $ startxwin -- :0 -listen tcp & * ¼Â¹Ô²Äǽ¥Ð¥¤¥Ê¥ê¤ÎÆþ¼ê http://mlterm.sf.net/bin.html ¤«¤é cygwin/msys ÍѤμ¹ԲÄǽ¥Ð¥¤¥Ê¥ê¤òÆþ¼ê¤¹¤ë ¤³¤È¤¬¤Ç¤­¤Þ¤¹(ÉÔÄê´ü¹¹¿·)¡£ mlterm-3.8.4/doc/ja/README.ssh010064400017600000144000000015241321054731300143400ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- ssh2 Âбþ¤Ë´Ø¤¹¤ë¥á¥â * mlterm with ssh2 mlterm ¤ò --enable-ssh2 ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ configure ¤·¡¢¥Ó¥ë¥É¤¹¤ë¤È¡¢libssh2 (http://www.libssh2.org) ¤ò»È¤Ã¤Æ¡¢mlterm ¤¬Ä¾ÀÜ ssh2 ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ë¤³¤È¤¬¤Ç ¤­¤Þ¤¹¡£ ssh2 ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ëºÝ¤Îµóư¤Ë´Ø¤¹¤ë³Æ¼ï¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢ doc/ja/README.ja ¤ò»²¾È¡£ * libssh2 camellia branch https://bitbucket.org/arakiken/libssh2/branch/camellia https://bitbucket.org/arakiken/libssh2/get/camellia.tar.gz ¸ø¼°¤Î libssh2 ¤Ë¼¡¤Îµ¡Ç½¤òÄɲ䷤Ƥ¤¤Þ¤¹¡£ o ¶¦Ä̸°°Å¹æÊý¼°¤È¤·¤Æ camellia ¤ò¥µ¥Ý¡¼¥È o Agent Forwarding ¤ò¥µ¥Ý¡¼¥È o Cygwin ÈǤǤâ pageant ¤¬ÍøÍѲÄǽ o ¤½¤Î¾¸ø¼°¤Î libssh2 ¤Î¥Ð¥°¤ò¤¤¤¯¤Ä¤«½¤Àµ mlterm ¤«¤é¤³¤ì¤é¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤Ë¤Ï¡¢¤¢¤é¤«¤¸¤á libssh2 camellia branch ¤ò¥Ó ¥ë¥É¡¢¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ mlterm-3.8.4/doc/ja/FAQ010064400017600000144000000115551321054731300132230ustar kenuserscomment -*- mode: text -*- comment $Id$ Frequently Asked Questions ¤è¤¯¤¢¤ë(¤«¤É¤¦¤«¤Ïʬ¤«¤ê¤Þ¤»¤ó¤¬)¼ÁÌä¤È²óÅú½¸ 1. ¥Õ¥©¥ó¥È [Q1] README.ja ¤Ë²ÄÊÑĹ¥³¥é¥àÉý±¾¡¹¤È½ñ¤«¤ì¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢°ÕÌ£¤¬Ê¬¤«¤ê¤Þ¤»¤ó¡£ ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤È¤Ï´Ø·¸¤¢¤ë¤Î¤Ç¤¹¤«? [A1] ·ëÏÀ¤«¤é¤¤¤¨¤Ð¡¢¤¢¤ë¥Õ¥©¥ó¥È¤¬¡¢¸ÇÄê¥Ô¥Ã¥Á¤Ç¤¢¤ë¤«¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¤Ç¤¢¤ë¤«¡¢¤È ¤¤¤¦ÌäÂê¤È¡¢mlterm ¤¬¸ÇÄêĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç¤¢¤ë¤«¡¢²ÄÊÑĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç¤¢¤ë¤«¡¢ ¤È¤¤¤¦ÌäÂê¤Ïľ¸ò¤·¤Æ¤ª¤ê¡¢Ä¾ÀÜ´Ø·¸¤Ï¤¢¤ê¤Þ¤»¤ó¡£ °Ê²¼¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¤¬¤É¤¦¤¤¤¦¤â¤Î¤Ê¤Î¤«¤òÀâÌÀ¤·¤Þ¤¹¡£ ¤Þ¤º¡¢mlterm ¤¬¸ÇÄêĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç»ÈÍѤµ¤ì¤ë¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Ç¤¹¡£ ¤â¤Á¤í¤ó¡¢¸ÇÄê¥Ô¥Ã¥Á¥Õ¥©¥ó¥È¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢Ê¸»úÉý¤¬¸ÇÄêĹ¤Ë¤Ê¤ë¤Î¤ÏÅöÁ³¤Ç¤¹¤¬¡¢ Î㤨¤Ð¡¢~/.mlterm/font ¤Ë¡¢ ISO8859_1 = 12,-adobe-utopia-regular-i-normal--12-120-75-75-p-67-iso8859-1; ¤Î¤è¤¦¤Ë¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤òµ­½Ò¤·¡¢mlterm ¤ò -w 12 -V=false ¥ª¥×¥·¥ç¥ó ¤Çµ¯Æ°¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤¹¤ë¤È¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ò»ÈÍѤ·¤Æ¤¤¤ë¤Ë¤â´Ø¤ï¤é¤º¡¢¸ÇÄê¥Ô¥Ã¥Á¥Õ¥©¥ó¥È ¤Î¤è¤¦¤Ë¡¢°ìÄê¤Î´Ö³Ö¤Çʸ»ú¤¬É½¼¨¤µ¤ì¤ë¤È»×¤¤¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ë¡¢mlterm ¤¬¡¢¸ÇÄêĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢¸ÇÄê¥Ô¥Ã¥Á¡¢¥×¥í¥Ý ¡¼¥·¥ç¥Ê¥ëÌä¤ï¤º¡¢¤¢¤é¤æ¤ë¥Õ¥©¥ó¥È¤¬¡¢(¾ì¹ç¤Ë¤è¤Ã¤Æ¤Ï̵ÍýÌðÍý)¸ÇÄêÉý¤Çɽ¼¨¤µ¤ì¤ë ¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¤¹¡£ °ìÊý¡¢mlterm ¤¬²ÄÊÑĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ï¤É¤¦¤Ê¤ë¤Ç¤·¤ç¤¦¤«? ¤³¤Î¾ì¹ç¤â¡¢¸ÇÄê¥Ô¥Ã¥Á¥Õ¥©¥ó¥È¤¬»ÈÍѤµ¤ì¤¿¾ì¹ç¤Ï¡¢ÁêÊѤ餺ʸ»úÉý¤Ï¸ÇÄêŤǤ¹¡£ ¤·¤«¤·¡¢¤³¤³¤Ç¡¢¸ÇÄêĹ¥³¥é¥àÉý¥â¡¼¥É¤Î¾ì¹ç¤ÈƱ¤¸¤¯¡¢~/.mlterm/vfont ¤Ë¡¢ ISO8859_1 = 12,-adobe-utopia-regular-i-normal--12-120-75-75-p-67-iso8859-1; ¤Èµ­½Ò¤·¡¢mlterm ¤ò -w 12 -V ¥ª¥×¥·¥ç¥ó¤Çµ¯Æ°¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤¹¤ë¤Èº£Å٤ϡ¢¥³¥é¥àÉý¤¬°ìÄê¤Ç¤Ê¤¯¤Ê¤ê¡¢Ê¸»úƱ»Î¤¬µÍ¤á¤ÆÉ½¼¨¤µ¤ì¤ë¤È»×¤¤¤Þ¤¹¡£ ¤³¤Î¤è¤¦¤Ë¡¢mlterm ¤¬¡¢²ÄÊÑĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç»ÈÍѤµ¤ì¤¿¾ì¹ç¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ ¥©¥ó¥È¤¬¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤ï¤±¤Ç¤¹¡£ ¤³¤ì¤é¤Î¥â¡¼¥É¤Ï¡¢¼Â¹Ô»þ¤ËÊѹ¹¤Ç¤­¤Þ¤¹¤·¡¢¥Õ¥©¥ó¥È»ØÄê¤â¡¢font,aafont / vfont,vaafont ¤Î¤è¤¦¤Ëʬ¤«¤ì¤Æ¤¤¤Þ¤¹¤«¤é¡¢ÍÑÅӤ˱þ¤¸¤ÆÅ¬µ¹ÀÚ¤êÂØ¤¨¤Æ»ÈÍѤ·¤Æ¤¯¤À ¤µ¤¤¡£ ¤Á¤Ê¤ß¤Ë¡¢¸ÇÄêĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢Ê¸»ú´Ö ³Ö¤¬°ìÄê¤Ë¤Ê¤ë¤è¤¦¤Ë¡¢°ìʸ»ú¤º¤ÄÉÁ²è¤·¤Þ¤¹¤Î¤Ç¡¢½èÍý®Å٤Ϥ«¤Ê¤êÄã²¼¤¹¤ë¤³¤È¤Ë¤Ê ¤ê¤Þ¤¹¡£Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ [Q2] ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ò²ÄÊÑĹ¥³¥é¥àÉý¤Ç»ÈÍѤ·¤¿¾ì¹ç¡¢²èÌ̤α¦Ã¼¤Ë¶õ¤­¤¬¤Ç¤­¤Æ ¤·¤Þ¤Ã¤Æ¸«¤Å¤é¤¤¤Ç¤¹¡£ ¤Þ¤¿¡¢¸ÇÄêĹ¥³¥é¥àÉý¤Ç»ÈÍѤ·¤¿¾ì¹ç¤â¡¢Ê¸»ú´Ö³Ö¤¬¶õ¤­¤¹¤®¤Æ¡¢µ¤»ý¤Á°­¤¤¤Ç¤¹¡£ ¤Ê¤ó¤È¤«¤Ê¤ê¤Þ¤»¤ó¤«? [A2] mlterm ¤Ï¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤òɽ¼¨¤¹¤ëºÝ¡¢¤¹¤Ù¤Æ¤Îʸ»ú¤¬²èÌ̤˼ý¤Þ¤ë¤è¤¦ ¤Ë¡¢Ä̾ï¤Î X ¥Õ¥©¥ó¥È¤Î¾ì¹ç¤Ï¥Õ¥©¥ó¥È¤ÎºÇÂçÉý¤ò¡¢xft ¥Õ¥©¥ó¥È¤Î¾ì¹ç¤Ï 'W' ¤Îʸ»ú Éý¤ò¼èÆÀ¤·¤Æ¥³¥é¥àÉý¤È¤·¡¢¤½¤ì¤Ë¥³¥é¥à¿ô¤ò³Ý¤±¤ë¤³¤È¤Ç¡¢²èÌ̤Υµ¥¤¥º¤ò·èÄꤷ¤Æ¤¤ ¤Þ¤¹¡£ ¤Þ¤¿¡¢¸ÇÄêĹ¥³¥é¥àÉý¥â¡¼¥É¤Ç¤Ï¡¢¤½¤Î¤è¤¦¤Ë·èÄꤵ¤ì¤¿¥³¥é¥àÉý¤¬¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë ¥Õ¥©¥ó¥È¤ò̵ÍýÌðÍý¸ÇÄêŤÇɽ¼¨¤¹¤ëºÝ¤Îʸ»úÉý¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤Ç¡¢Éý¤Î¾®¤µ¤¤Ê¸»ú¤Ð¤«¤ê»ÈÍѤ¹¤ë¤È¡¢[Q2] ¤Î¤è ¤¦¤ÊÌäÂ꤬À¸¤¸¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤³¤ÎÌäÂê¤Ï¡¢º¬ËÜŪ¤Ë¤Ï²ò·èÉÔ²Äǽ¤Ç¤¹¤¬¡¢font ¤òÀßÄꤹ¤ëºÝ¤Ë¡¢[Percentage]»ØÄê (see README.ja)¤ò¤Ä¤±¤ë¤³¤È¤Ç¡¢¤¢¤ëÄøÅÙ¤ÎÂнè¤Ï²Äǽ¤Ç¤¹¡£ [Percentage]»ØÄê¤Ï¡¢Î㤨¤Ð¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£ ISO8859_1 = 12,-adobe-utopia-regular-i-normal--12-120-75-75-p-67-iso8859-1:100; ¤³¤³¤Ç¡¢¥Õ¥©¥ó¥È»ØÄê¤ÎºÇ¸å¤Ë¡¢":100" ¤òÉÕ¤±¤Æ¤¤¤ë¤Î¤¬¤½¤¦¤Ç¤¹¡£ ¤â¤·¡¢¤³¤Î¤è¤¦¤ËÌÀ¼¨Åª¤Ë¡¢[Percentage] ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢mlterm ¤Ï¡¢½é¤á¤Ë½Ò ¤Ù¤¿¤è¤¦¤Ê¥³¥é¥àÉý·èÄê¤ò¹Ô¤Ê¤ï¤º¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¤Ë¡¢»ØÄꤵ¤ì¤¿É´Ê¬Î¨¤ò³Ý¤±¤¿Ãͤò ¥³¥é¥àÉý¤È¤·¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¾åµ­¤ÎÎã¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¡¢¥³¥é¥àÉý¤ò¡¢¶¯À©Åª¤Ë 6 ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤ï ¤±¤Ç¤¹¡£ ¤â¤Á¤í¤ó¡¢¤³¤¦¤¹¤ë¤È¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ÇÉý¤ÎÂ礭¤Êʸ»ú¤òɽ¼¨¤·¤¿¾ì¹ç¤Ë¡¢ ʸ»ú¤Î±¦Â¦¤¬ÀÚ¤ì¤ÆÉ½¼¨¤µ¤ì¤¿¤ê¡¢°ì¹Ô¤¬¡¢²èÌ̤«¤é¤Ï¤ß¤À¤·¤Æ¤·¤Þ¤Ã¤¿¤ê¤¹¤ë¶ó¤ì¤¬¤¢ ¤ê¤Þ¤¹¡£ ¤½¤ÎÊդϡ¢½½Ê¬Ãí°Õ¤·¤Æ¤¤¤¿¤À¤¤¤¿¾å¤Ç¡¢Å¬Åö¤ËÂŶ¨¤·¤¿Ãͤòõ¤·¤Æ¤À¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ ¤â¤¦°ì¤Ä¤Î²ò·èºö¤È¤·¤Æ¡¢-1 , --wscr , screen_width_ratio ¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ¹¤ëÊýË¡ ¤â¤¢¤ê¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢column , line ¤Ç»ØÄꤵ¤ì¤¿Ã¼Ëö¥µ¥¤¥º¤¬¤ª¤µ¤Þ¤ë¤À¤±¤Î²èÌ̤ËÂФ· ¤Æ¡¢¤É¤ì¤À¤±Ê¬¤ò¼Â²èÌÌ¥µ¥¤¥º¤È¤¹¤ë¤«¡¢¤ò»ØÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢font size 10 ¤Ç¡¢²£ 80 ¡¢½Ä 30 ¤ÎüËö¤òµ¯Æ°¤·¤¿¾ì¹ç¡¢²èÌÌ¥µ¥¤¥º¤Ï¡¢ ²£ 80 * 5 = 400 dot ½Ä 30 * 10 = 300 dot ¤È¤Ê¤ê¤Þ¤¹¤¬¡¢¤³¤³¤Ç¡¢screen_width_ratio ¥ª¥×¥·¥ç¥ó¤Ë¡¢50 ¤ò»ØÄꤹ¤ë¤È¡¢²èÌ̤Π²£Éý¤¬¡¢È¾Ê¬¤Î 200 dot ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤â¤·¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ò»È¤Ã¤¿·ë²Ì¡¢²èÌ̤¬¡¢²£Ä¹¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¡¢¤³ ¤Î¥ª¥×¥·¥ç¥ó¤ËŬÅö¤ÊÃͤò»ØÄꤹ¤ë¤³¤È¤Ç¡¢²èÌ̤ÎÂ礭¤µ¤ò½Ì¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ [Q3] ÅìÉ÷¥Õ¥©¥ó¥È¤ä Dynalab ¥Õ¥©¥ó¥È¤ò¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤µ¤»¤ë¤È¡¢¡Ö¡Á¡×¤Ê¤É¤Îʸ»ú¤¬É½ ¼¨¤µ¤ì¤Þ¤»¤ó¡£ [A3] ¤³¤ì¤Ï¡¢JISX0208 => UNICODE ¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤¬¡¢mlterm ¤Î»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤È¡¢¤½¤ì ¤é¤Î¥Õ¥©¥ó¥È¤¬»ÈÍѤ·¤Æ¤¤¤ë¤â¤Î¤Ç¡¢°Û¤Ê¤Ã¤Æ¤¤¤ë¤Î¤¬¸¶°ø¤Ç¤¹¡£ -c , --cp932 ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ mlterm ¤òµ¯Æ°¤¹¤ë¤«¡¢~/.mlterm/main ¤Ë¡¢ use_cp932_ucs_for_xft = true ¤ÈÀßÄꤹ¤ë¤³¤È¤Ç²óÈò¤Ç¤­¤Þ¤¹¡£ (¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹) [Q4] ²èÌ̤ξåü¤ä²¼Ã¼¤ËÅÀ¤äÀþ¤Î¤è¤¦¤Ê¤â¤Î¤¬¾Ã¤¨¤º¤Ë»Ä¤Ã¤¿¤Þ¤Þ¤È¤Ê¤ê¤Þ¤¹¡£ [A4] ¹Ô¤Î¹â¤µ¤è¤ê¤â¹â¤µ¤ÎÂ礭¤¤¥Õ¥©¥ó¥È¤¬ÉÁ²è¤µ¤ì¤¿¤¿¤á¤È»×¤ï¤ì¤Þ¤¹¡£ line_space ¥ª¥×¥·¥ç¥ó¤Ë¤è¤ê¡¢Å¬µ¹¹Ô´Ö¤ò¹­¤²¤Æ¤¯¤À¤µ¤¤¡£ mlterm-3.8.4/doc/ja/README.fontproto010064400017600000144000000020221321054731300155670ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- ¥Õ¥©¥ó¥È¤ÎưŪ¤ÊÊѹ¹¤Ë¤Ä¤¤¤Æ * »ÅÍÍ o OSC 5379 ¤Ç»ØÄꤷ¤¿¥Õ¥©¥ó¥È̾¤Ï¡¢³Æ¼ï font ¥Õ¥¡¥¤¥ë¤Ç»ØÄꤷ¤¿¥Õ¥©¥ó¥È̾¤ò¾å½ñ¤­¤¹¤ë¡£ ¾å½ñ¤­¤Î½çÈ֤ϡ¢(aa)font -> OSC 5379 (aa)font -> (tv)(aa)font -> OSC 5379 (tv)(aa)font o OSC 5379 ¤Ç»ØÄꤷ¤¿¥Õ¥©¥ó¥È̾¤òÊÝ»ý¤·¤Æ¤¤¤ë¥á¥â¥ê¤Ï¡¢Æ±¤¸Ê¸»ú½¸¹ç¡¦¥Õ¥©¥ó¥È¥µ¥¤¥º ¤ÎÀßÄ꤬ OSC 5383 ¤Ç¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤµ¤ì¤¿»þÅÀ¤Ç¡¢²òÊü¤µ¤ì¤ë¡£ (¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢mlterm ½ªÎ»¤Þ¤Ç²òÊü¤µ¤ì¤Ê¤¤¡£) o OSC 5379 ¤Ç "" ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥Õ¥©¥ó¥È̾ÀßÄ꤬¥¯¥ê¥¢¤µ¤ì¤ë¡£ ex) $ printf "\x1b]5379;font:ISO8859_1=\x07" => ¥Ç¥Õ¥©¥ë¥È¥Õ¥©¥ó¥È̾ ¤¬¥¯¥ê¥¢¤µ¤ì¤ë¡£ ¤Ê¤ª¡¢OSC 5383 ¤Ç¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ¹¤ëºÝ¤Ë¤Ï¡¢"" ¤È¤¤¤¦¥Õ¥©¥ó¥È̾¤Ï̵»ë¤µ¤ì¤ë(½ÐÎϤ·¤Ê¤¤)¡£ ¤Þ¤¿¡¢OSC 5379 ¤Ç (tv)(aa)font ¤Î¥Õ¥©¥ó¥È̾¤È¤·¤Æ "" ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢(tv)(aa)font ¥Õ¥¡ ¥¤¥ë¤Î¥Õ¥©¥ó¥È̾¤À¤±¤Ç¤Ê¤¯¡¢(aa)font ¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¥ó¥È̾¤â°ìö¥¯¥ê¥¢¤µ¤ì¤Æ¤·¤Þ¤¦ ¤Î¤ÇÃí°Õ¤¹¤ë¤³¤È¡£¤³¤ì¤Ï¡¢OSC 5383 ¤Ç¥Õ¥©¥ó¥È̾ÀßÄê¤ò¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤ·¤¿¸å¡¢mlterm ¤ò ºÆµ¯Æ°¤¹¤ì¤Ðľ¤ë¡£ mlterm-3.8.4/doc/ja/README.confapp010064400017600000144000000025151321054731300151720ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- ³°ÉôÀßÄê¥×¥í¥°¥é¥à¤ÎºîÀ®ÊýË¡ * ³µÎ¬ mlterm ËÜÂΤȡ¢³°ÉôÀßÄê¥×¥í¥°¥é¥à¤Ï¡¢doc/en/PROTOCOL ¤Ëµ¬Äꤵ¤ì¤¿¥×¥í¥È¥³¥ë¤ò »ÈÍѤ·¤Æ¡¢ÀßÄê¤Î¼èÆÀ¡¦¹¹¿·¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ * ¥³¥ó¥½¡¼¥ë·¿ÀßÄê¥×¥í¥°¥é¥à mlterm ¤Î¥³¥ó¥½¡¼¥ë¾å¤Çµ¯Æ°¤¹¤ë¥¿¥¤¥×¤ÎÀßÄê¥×¥í¥°¥é¥à¤Ç¤¹¡£ main() ´Ø¿ô¤«¤é»Ï¤Þ¤ë¡¢Ä̾ï¤Î¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤ÆÀ߷פ·¤Æ¤¯¤À ¤µ¤¤¡£ ¤³¤Î¾ì¹ç¡¢ÁÇľ¤Ë¡¢É¸½àÆþ½ÐÎϤò»ÈÍѤ·¤Æ¡¢mlterm ËÜÂÎ¤È doc/en/PROTOCOL ¤Ê¤ä¤ê¤È ¤ê¤ò¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Ê¤ª¡¢ESC ] 5380 ¥×¥í¥È¥³¥ë¤ò»È¤¦¾ì¹ç¤Ï¡¢ºÇ½é¤Ë ~/.mlterm/challenge ¤òÆÉ¤ß¤³¤ß (°ìÅÙ¤À¤±¤ÇÎɤ¤¤Ç¤¹)¡¢¤½¤ÎÃͤò ESC ] 5380 ; ; BEL ¤Î ¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¼ÂÁõÎã) contrib/tool/mlcc * GUI ·¿ÀßÄê¥×¥í¥°¥é¥à mlterm ¾å¤Ç¡¢Ctrl+Button1,Ctrl+Button2,Ctrl+Button3 ¤Çµ¯Æ°¤µ¤»¤ë¥¿¥¤¥×¤ÎÀßÄê¥× ¥í¥°¥é¥à¤Ç¤¹¡£ main() ´Ø¿ô¤«¤é»Ï¤Þ¤ë¡¢Ä̾ï¤Î¥¹¥¿¥ó¥É¥¢¥í¥ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¤·¤ÆÀ߷פ·¤Æ¤¯¤À ¤µ¤¤¡£ µ¯Æ°¤µ¤»¤ëÀßÄê¥×¥í¥°¥é¥à¤Ï¡¢~/.mlterm/main ¤Î conf_menu_path_[1-3] ¥ª¥×¥·¥ç¥ó ¤Ç»ØÄê¤Ç¤­¤Þ¤¹¡£(see README.ja) Ctrl+Button[1-3] ¤Çµ¯Æ°¤µ¤ì¤¿¥×¥í¥°¥é¥à¤Ë¤Ï¡¢mlterm ËÜÂΦ¤Ç¿ä¾©¤¹¤ëɽ¼¨ºÂɸ¤¬ ÅϤµ¤ì¤Þ¤¹¡£ ¤½¤Î¸å¤Î mlterm ËÜÂΤȤÎÄÌ¿®¤Ï¡¢É¸½àÆþ½ÐÎϤò²ð¤·¤¿ doc/en/PROTOCOL ¤Ê¤ä¤ê¤È¤ê ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢GUI ¤ò¼ÂÁõ¤¹¤ëºÝ¤Ë»ÈÍѤ¹¤ë Tookit ¤ÏÌ䤤¤Þ¤»¤ó¡£ ¼ÂÁõÎã) tool/mlconfig contrib/tool/mlterm-menu mlterm-3.8.4/doc/ja/README.tate010064400017600000144000000071261321054731300145040ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- mlterm ¤Ç½Äɽ¼¨ * ½Äɽ¼¨¤ÎÀßÄê ÀßÄê¥Õ¥¡¥¤¥ë main ¤Ë¡¢vertical_mode = cjk ¤È¤«¤¯¤«¡¢-G cjk , --vertical cjk ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¡¢mlterm ¤òµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¤Ï¡¢ÀßÄê²èÌ̤«¤éÊѹ¹¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ½Äɽ¼¨ÍѤΥե©¥ó¥È¤Ï tfont ¤Ë¤ÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤³¤Ç»ØÄꤷ¤¿¥Õ¥©¥ó¥È¤Ï¡¢½Äɽ¼¨¤Î¾ì¹ç¤Î¤ß»ÈÍѤµ¤ì¤Þ¤¹¡£ ½ÄÍÑ¥Õ¥©¥ó¥È¤Ï¡¢ http://www.geocities.co.jp/SiliconValley-Cupertino/6461/vertfonts.html ¤«¤éÆþ¼ê¤Ç¤­¤Þ¤¹¡£ vertfonts-20020201.tar.gz ¤Ë¤Ï¡¢naga10 1.1 ¤ª¤è¤Ó shinonme 0.9.7(12-16 point) ¤Î JISX0208 ¥Õ¥©¥ó¥È¤Ø¤Î¥Ñ¥Ã¥Á¤¬¡¢vertfonts-half-20020209.tar.gz ¤Ë¤Ï¡¢Æ± ISO8859-1 ¥Õ¥©¥ó¥È¤Ø¤Î¥Ñ¥Ã¥Á¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ mlterm-fb (framebuffer), mlterm-wl (wayland) Ëô¤Ï android ÈÇ mlterm ¤Ç¡¢ freetype ¤òÍ­¸ú¤Ë¤·¤Æ¥Ó¥ë¥É¤·¤¿¾ì¹ç¡¢TrueType ¥Õ¥©¥ó¥È¤«¤é¼«Æ°Åª¤Ë½Ä½ñ¤­ÍѤΥ° ¥ê¥Õ¤òÀ¸À®¤·É½¼¨¤·¤Þ¤¹¡£ (3.8.4¡Á) * Ⱦ³Ñ¡¢Á´³Ñ¤Î°·¤¤¤Ë¤Ä¤¤¤Æ ½Äɽ¼¨¤Î¾ì¹ç¡¢È¾³Ñʸ»ú¤Ï¡¢Á´³Ñʸ»ú¤ÈƱ¤¸Éý¤Çɽ¼¨¤µ¤ì¤Þ¤¹¡£¤·¤«¤·¡¢Ä̾Ⱦ³Ñʸ »úÍѤΥե©¥ó¥È¤Ï¡¢Á´³Ñʸ»ú¤ÎȾʬ¤ÎÂ礭¤µ¤·¤«¤Ê¤¤¤¿¤á¡¢Å¬Åö¤Ë´Ö³Ö¤ò¶õ¤±¤Ê¤¬¤é¡¢ °ìʸ»ú¤º¤ÄÉÁ²è¤¹¤ë¤³¤È¤Ç¡¢ÌµÍýÌðÍýÁ´³ÑÉý¤Çɽ¼¨¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤¿¤À¡¢¤³¤ì¤Ç¤ÏÉÁ²è®ÅÙ¤¬ÂçÊÑÃÙ¤¯¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢½é¤á¤«¤éÁ´³ÑÉý¤ò¤â¤Ã¤¿È¾³Ñ¥Õ¥©¥ó ¥È¤òÍѰդ·¤Æ¤ª¤ê¤Þ¤¹(¾åµ­ vertfonts-half-20020209.tar.gz) ¤³¤Î¥Õ¥©¥ó¥È¤ò¡¢tfont ¤ËÀßÄꤷ¤Æ¤ª¤¯¤³¤È¤Ç¡¢²£É½¼¨¤Î¾ì¹ç¤È¤Û¤ÜÊѤï¤é¤Ê¤¤ÉÁ²è® Å٤ˤʤë¤Ï¤º¤Ç¤¹¡£ --- tfont ÀßÄê¤ÎÎã ISO8859_1 = -*-medium-*--%d-*-*-*-vc-*-iso8859-1:100; ISO8859_1_BOLD = -*-bold-*--%d-*-*-*-vc-*-iso8859-1; JISX0208_1983 = -*-medium-*--%d-*-vc-*-jisx0208.*; JISX0208_1983_BOLD = -*-bold-*--%d-*-vc-*-jisx0208.*-0; --- ¤³¤³¤Ç¡¢ISO8859_1 ¤ÎºÇ¸å¤Ë¡¢":100" ¤È¤Ä¤±¤ë¤Î¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤(percentage »ØÄê¤Ë¤Ä¤¤¤Æ¤Ï¡¢README.ja »²¾È) ½Äɽ¼¨¤Î¾ì¹ç¡¢Ä̾ïȾ³Ñ¤È¤·¤Æ°·¤ï¤ì¤ë¥Õ¥©¥ó¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢²£Éý¤òÆóÇܤˤ· ¤ÆÉÁ²è¤¹¤ë¤è¤¦ÀßÄꤵ¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢½é¤á¤«¤éÁ´³ÑÉý¤ò¤â¤Ã¤¿¥Õ¥©¥ó¥È¤ò°·¤¦¾ì¹ç¤Ï¡¢²£Éý¤òÆóÇܤˤ»¤º¡¢¥Õ¥© ¥ó¥È¥µ¥¤¥º¤¬ 14 ¤Î¾ì¹ç¤Ê¤é¡¢²£Éý¤¬ 14 point ¤Ë¤Ê¤ë¤è¤¦¶¯À©¤·¤Ê¤¯¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó¡£ * ¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤ÎÄ´À° mlterm ¤Î½Äɽ¼¨¤Ï¡¢È¾³Ñʸ»ú¤òÁ´³Ñʸ»ú¤ÈƱ¤¸Â礭¤µ¤Î¥°¥ê¥Õ¤È¤·¤Æ°·¤¤¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢Á´³Ñʸ»ú¤¬Â¿¿ôɽ¼¨¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¡¢¥¦¥£¥ó¥É¥¦¤Î²¼Â¦¤Ë¶õÇò¤¬¤Ç¤­¤Æ¤·¤Þ ¤¤¤Þ¤¹¡£ Á´³ÑȾ³Ñ¤Î semantics ¤òÊø¤¹¤³¤È¤¬¤Ç¤­¤Ê¤¤°Ê¾å¡¢¤³¤ì¤òº¬ËÜŪ¤Ë²ò·è¤¹¤ë¤³¤È¤Ï¤Ç ¤­¤Þ¤»¤ó¤¬¡¢-1 , --wscr ¥ª¥×¥·¥ç¥ó¡¢-2 , --hscr ¥ª¥×¥·¥ç¥ó¤ò¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢ ¸«¤¿Ìܤò¤½¤ì¤é¤·¤¯¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤ì¤é¤Ï¡¢¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤é¸«¤¨¤ëüËö¥µ¥¤¥º¤È¤Ï̵´Ø·¸¤Ë¡¢¥¦¥£¥ó¥É ¥¦¤ÎÉý¡¢¹â¤µ¤òÄ´À᤹¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¹(ɴʬΨ»ØÄê) ¤¿¤È¤¨¤Ð¡¢½Äɽ¼¨¥â¡¼¥É¤Ç¡¢less ¤Ê¤É¤ò»È¤Ã¤ÆÀĶõʸ¸Ë¤òɽ¼¨¤¹¤ë¾ì¹ç¡¢¤Û¤È¤ó¤É¤Î ʸ»ú¤ÏÁ´³Ñʸ»ú¤Ë¤Ê¤ê¤Þ¤¹¤«¤é¡¢¥¦¥£¥ó¥É¥¦¤Î²¼È¾Ê¬¤¬´Ý¡¹¶õÇò¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¤Ï¡¢--hscr 50 ¤È¤·¤Æ¡¢¥¦¥£¥ó¥É¥¦¤Î¹â¤µ¤ò 50 ¥Ñ¡¼¥»¥ó¥È(Ⱦʬ)¤Ë¤¹¤ë¤³¤È ¤Ç¡¢ÌµÂ̤ʶõÇò¤ò¾Ã¤¹¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢ÀßÄê²èÌ̤«¤éưŪ¤ËÊѹ¹¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ * ¤ª¤Þ¤±(w3m-m17n ¤Ç½Äɽ¼¨) w3m-m17n ¤Ç¤Ï¡¢mlterm ¤Î½Äɽ¼¨µ¡Ç½¤òÍøÍѤ·¤Æ¡¢½Ä½ñ¤­¥Ö¥é¥¦¥¶¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç ¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ http://www2u.biglobe.ne.jp/~hsaka/bbs.cgi#20020208011642.09930 ½Ä½ñ¤­ w3m ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢mlterm ¦¤Ç¤Ï¡¢vertical_mode , tfont ¤ÎÀßÄê¤Ë²Ã¤¨¤Æ ¡¢¤µ¤é¤Ë¡¢°Ê²¼¤ÎÆó¤Ä¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ o -Z=false , --multicol=false , use_multi_column_char = false Á´³Ñʸ»ú¤ò¡¢Ä̾ï¤Î ¥³¥é¥àÉý 2 ¤Ç¤Ï¤Ê¤¯¡¢¥³¥é¥àÉý 1 ¤È¤·¤Æ°·¤¦(ɬ¿Ü) o -Q , --vcur , use_vertical_cursor = true ½½»ú¥«¡¼¥½¥ë¤ò¡¢½Äɽ¼¨¤Ë¼«Á³¤Ê·Á¤Ë³äÅö¤ÆÄ¾¤¹(¿ä¾©) ÆÃ¤Ë¡¢-Z ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤ò˺¤ì¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ -Z ¥ª¥×¥·¥ç¥ó¤Ï¡¢ÀßÄê²èÌ̤è¤êưŪÊѹ¹¤¬²Äǽ¤Ç¤¹¡£ * À©¸Â ½Ä½ñ¤­¥â¡¼¥É¤Ç¤Ï¡¢ÎΰèÁªÂòµÚ¤Ó¥¹¥¯¥í¡¼¥ë¥Ð¥Ã¥¯¤ËÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ mlterm-3.8.4/doc/ja/README.fb010064400017600000144000000175441321054731300141430ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- Framebuffer $BBP1~$K4X$9$k%a%b(B * $B%F%9%H4D6-(B Arch Linux CentOS 5 (Linux kernel 2.6 $B0J9_BP1~(B) FreeBSD 9.0 NetBSD teokure 6.1.4 OpenBSD 5.3 * $B%S%k%I(B ./configure --with-gui=fb (--enable-anti-alias) ... make sudo make install ($B%$%s%9%H!<%k@h$O!"(BX $BHG(B mlterm $B$HF1$8%G%#%l%/%H%j$G9=$$$^$;$s!#(B $B$3$N>l9g!"$9$G$K(B X$BHG(B mlterm $B$,%$%s%9%H!<%k$5$l$F$$$l$P!"A4$F$N%U%!%$%k$r(B make install $B$7$J$/$F$b!"(Bmake install-fb $B$G!"(Bmlterm-fb $B5Z$S(B libim-*-fb.so $B%U%!%$%k$@$1%$%s%9%H!<%k$7$F$b!"LdBj$"$j$^$;$s!#(B) * $B@_Dj(B $B%U%)%s%H@_Dj0J30$O!"(BX $BHG(B mlterm $B$HF1$8$G$9!#(B $B$J$*!"(Bmlterm-fb $B$r5/F0$9$kA0$K!"I,$:%U%)%s%H$N@_Dj$r9T$C$F$/$@$5$$!#(B o $B%U%)%s%H$N@_DjJ}K!(B ~/.mlterm/font $B$G$J$/!"(B~/.mlterm/font-fb $B$K!";HMQ$7$?$$(B pcf $BKt$O(B true type $B%U%)%s%H$r@_Dj$7$F$/$@$5$$!#(Bfont-fb $B$N%U%)!<%^%C%H$O(B font $B$H4pK\E*$K$OF1$8(B $B$G$9$,!"(BXLFD $B$G$O$J$/!";HMQ$9$k%U%)%s%H%U%!%$%k$N%Q%9$r5-:\$7$^$9!#(B (etc/font-fb $B$,%5%s%W%k$G$9!#(B) $B$J$*!"(Btrue type $B%U%)%s%H$r;HMQ$9$k>l9g$O!"(Bmlterm-fb $B$r(B ./configure --enable-anti-alias $B$7$F%S%k%I$7$F$/$@$5$$!#(B mlfc $B%3%^%s%I$r $B$,B8:_$7$J$$!"Kt$O%"%/%;%9$9$k8"(B $B8B$,$J$$>l9g!"%7%g!<%H%+%C%H%-!<$O;HMQ$G$-$^$;$s!#(B $B$J$*!"%-!<%\!<%I$KBP1~$9$k(B /dev/input/event $B$O!"(B /sys/class/input/input/name $B$NJ8;zNs$K(B "key" $B$,4^$^$l$F$$$k$+$I$&$+$GH=(B $BDj$7$F$$$^$9!#(B KBD_INPUT_NUM $B4D6-JQ?t$K$h$j!"(B$B$NCM$r;XDj$9$k$3$H$b$G$-$^$9!#(B o $B%^%&%9$KBP1~$9$k(B /dev/input/event $B$,B8:_$7$J$$!"Kt$O%"%/%;%9$9$k8"8B$,(B $B$J$$>l9g!"%^%&%9$r;H$&$3$H$O$G$-$^$;$s!#(B $B$J$*!"%^%&%9$KBP1~$9$k(B /dev/input/event $B$O!"(B /sys/class/input/input/name $B$NJ8;zNs$K(B "mouse" $B$,4^$^$l$F$$$k$+$I$&$+$G(B $BH=Dj$7$F$$$^$9!#(B MOUSE_INPUT_NUM $B4D6-JQ?t$K$h$j!"(B$B$NCM$r;XDj$9$k$3$H$b$G$-$^$9!#(B o $B%^%&%9$r;HMQ$9$k>l9g!"(Bgpm $B$ODd;_$7$F$*$$$F$/$@$5$$!#(B (/etc/init.d/gpm stop) (for FreeBSD) o $B$"$i$+$8$a!"(BSC_PIXEL_MODE $B5Z$S(B VESA $B%*%W%7%g%sIU$-$N%+!<%M%k$G5/F0(B($BKt$O5/F0(B $B8e$K%+!<%M%k%b%8%e!<%k$r%m!<%I(B)$B$7!"(Bvidcontrol $B%3%^%s%IEy$K$h$j!"E,@Z$JI=<(%b(B $B!<%I$r;XDj$7$F$/$@$5$$!#(B $ vidcontrol MODE_XXX (vidcontrol -i mode$B$GI=<($5$l$kA4$F$N%b!<%I$G(B mlterm-fb $B$,5/F0$9$k$o$1$G$O$J(B $B$$$N$GCm0U$7$F$/$@$5$$!#(B) o $B%-!<%j%T!<%H$rJQ99$9$k>l9g$O(B kbdcontrol -r [delay.repeat] $B$G!"(Bwrite-combine $B$rM-8z$K$9$k>l9g$O(B memcontrol set -b 0x.... -l 0x.... write-combine $B$G!"$=$l(B $B$>$l$"$i$+$8$a@_Dj$7$F$*$$$F$/$@$5$$!#(B o $B%^%&%9(B(/dev/sysmouse)$B$r;HMQ$9$k>l9g!"$"$i$+$8$a!"l9g$O!"(BWSKBD $B4D6-JQ?t$K$=$N%G%P%$%9L>$r;XDj$7$F$/$@$5$$!#(B (e.g. export WSKBD=/dev/wskbd0) o 8 bpp $B$G;HMQ$7$?>l9g!"?'$,@5$7$/I=<($5$l$^$;$s(B($BMW=$@5(B)$B!#(B o Input method plugin $B$H$7$F(B iBus $B$r;HMQ$9$k>l9g$O!"(B./configure $B$K(B --without-pthread $B$r;XDj$7$F%S%k%I$7$J$$$G$/$@$5$$(B(mlterm-fb $B$K(B pthread $B%i%$(B $B%V%i%j$r%j%s%/$7$F$*$+$J$$$H!"(Bibus module $B$N(B dlopen $B$K<:GT$7$^$9!#(B)$B!#(B o 1$B!&(B2$B!&(B4 bpp $B$G$O!"JI;fEy$O(B ANSI color $B$+$i6a;w?'$r8!:w$7$FI=<($7$^$9$,!"(B 4 bpp $B$G(B --colors=false (use_ansi_colors=false)$B$r;XDj$7!"(B16$B?'0J2<$N(B sixel $B$r(B $BGX7J$K%;%C%H$7$?>l9g$OEv3:2hA|$N%Q%l%C%H$r;HMQ$7$^$9!#(B o NetBSD/luna68k $B$G$O!"(B--depth=1 $BKt$O(B --depth=4 $B$K$h$j!"(B1bpp $B$H(B 4bpp $B$r@Z$jBX(B $B$($k$3$H$,$G$-$^$9!#(B o NetBSD/x68k $B$G$O(B ~/.mlterm/main $B$K$O(B Graphic VRAM) $B$KIA2h$7$^$9!#$3$l$K(B $B$h$j!"%9%/%m!<%kB.EY$,2~A1$7$^$9!#(B (for OpenBSD) o $Bl9g$O!"(BWSKBD $B4D6-JQ?t$K$=$N%G%P%$%9L>$r;XDj$7$F$/$@$5$$!#(B (e.g. export WSKBD=/dev/wskbd0) (Common) o $B2hLL$N1&2<6y$G%^%&%9$N:8%\%?%s$r%@%V%k%/%j%C%/$9$k$H!"%=%U%H%&%'%"%-!<%\!<%I(B $B$r;HMQ$9$k$3$H$,$G$-$^$9(B(1$B!&(B2$B!&(B4 bpp$B$r=|$/!#(B)$B!#(B o mlcc $B$r;H$C$F%U%)%s%H@_Dj$rF0E*$KJQ99$9$k>l9g$K$O!"(B $ mlcc font-fb ... $B$G$J$/!"(BX $BHG$HF1MM!"(B $ mlcc font ... $B$H$7$F$/$@$5$$!#(B o $B2hLL$K%4%_$,;D$C$?$j!"(B8 bpp $B$G$N(B cmap $B$N@_Dj$,JQ$o$C$F$7$^$C$?>l9g$K$O!"(B $ mlcc exec update_all $B$H$7$F$/$@$5$$!#(B o $B;HMQ2DG=$J%9%/%m!<%k%P!<$O!"(Bsimple$B$N$_$G$9!#(B $B$?$@$7!"(B1 bpp $B$N>l9g$O!"%9%/%m!<%k%P!<$"$j$N>uBV$G2hLL%9%/%m!<%k$r9T$&$H!"%9(B $B%/%m!<%k%P!<$NI=<($,Mp$l$k$3$H$,$"$k$?$a!";HMQ$O?d>)$7$^$;$s!#(B o $B;HMQ2DG=$J(BInput method plugin$B$O!"(Bkbd$B!"(Bm17nlib$B!"(Buim$B!"(BiBus$B5Z$S(Bfcitx$B$G$9!#(B (iBus $B$r;HMQ$9$k>l9g$O!"$"$i$+$8$a!"(Bibus-daemon -d $B5Z$S(B /usr/lib/ibus-*/ibus-engine-* & $B$re$G$O%F%9%H$7$F$$$^$;$s!#(B) o $B%G%#%9%W%l%$$,(B 8 bpp $B0J>e$N>l9g$O!"(B--rotate=right $BKt$O(B --rotate=left $B%*%W%7(B $B%g%s$rIU$1$F(Bmlterm $B$r5/F0$9$k$+!"(B~/.mlterm/main $B$K(B rotate_display = right $BKt$O(B rotate_display = left $B$H;XDj$9$k$3$H$K$h$j!"(B90$BEY2sE>$9$k$3$H$,$G$-$^$9!#(Bmlterm $B5/F08e$K(B $ mlcc rotate_display right $BKt$O(B $ mlcc rotate_display left $B$H comment $Id$ * NetBSD 5.1 + scim 1.4.9 ¤Ç mlterm --im scim ¤¹¤ë¤È¡¢segmentation fault ¤¹¤ë¡£ (mlterm 2.9.4, 3.0.6) * °ìÉô¤Î´Ä¶­(NetBSD 3.0.1) ¤Ç¤Ï¡¢mlterm ËÜÂΤò pthread ¤Ë¥ê¥ó¥¯(Ëô¤Ï LD_PRELOAD ´Ä¶­ÊÑ¿ô¤Ë libpthread.so ¥é¥¤¥Ö¥é¥ê¤ò»ØÄê)¤·¤Æ¤ª¤«¤Ê¤¤¤È¡¢pthread ¤Ë°Í¸¤¹¤ë module (libtype_cairo, libptyssh) ¤ò dlopen ¤·¤¿¾ì¹ç¤Ë abort ¤¹¤ë¡£ NetBSD 5.1, Ubuntu 11.04 ¤Ç¤ÏÌäÂê¤Ê¤¤¡£ (mlterm 3.0.7pre 2011-09-16) * ÇØ·ÊÆ©²á + µ±ÅÙÄ´ÀáÃæ¤Ë¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î°ÌÃÖ¤òÊѤ¨¤ë¤È¡¢Æ©²á¤·¤Æ¤¤¤ë ÇØ·Ê¤¬¤º¤ì¤ë¡£ (ÅöÌÌľ¤¹Í½Äê¤Ê¤·) * Gnome + Sawfish 0.36-7 ¤Ë¤Æ¡¢app_name ¤Þ¤¿¤Ï title ¤ò»ØÄꤷ¤Ê¤¤¤È¡¢Window ¥¿¥¤¥È¥ë¤¬²½¤±¤ë¡£ (reported by K.Kawabata san) * mlterm --display hoge ¤Ç¡¢µ¯Æ°¤·¡¢ mlclient --display fuga ¤·¤¿¤¢¤È¡¢ ºÇ½é¤Î¥¦¥£¥ó¥É¥¦¤ò»¦¤¹¤È¡¢Æó¤ÄÌܤΥ¦¥£¥ó¥É¥¦¤Ë¡¢²¿¤âÆþÎϤǤ­¤Ê¤¯¤Ê¤ë¡£ x_display_close() ¤Î x_xim_display_closed() ¤È XCloseDisplay() ¤ò¥³¥á ¥ó¥È¥¢¥¦¥È¤¹¤ë¤ÈÌäÂê¤Ê¤¤¡£ * Ê£¿ô¤Î Display ¤ËÀܳ¤·¤Æ¤¤¤ë¾ì¹ç¡¢°ìÊý¤Î Display ¤Ç¤·¤« XIM ¤òµ¯Æ°¤Ç¤­¤Ê ¤¤¾ì¹ç¤¬¤¢¤ë¡£ ¤Ë¤è¤ê¤ÎÊ£¿ô¥Ç¥£¥¹¥×¥ì¥¤¤È XIM ¤ÎÌäÂê¤Ïľ¤Ã¤Æ¤¤¤ëȦ¤Ç¤¹¡£¤¿¤À¤·¡¢XIM ¤ò»È¤¤¤Ä ¤Ä Xsun ¤È XFree86 ¤Ê¤É°Û¤Ê¤ë X ¥µ¡¼¥Ð¤Î Display ¤ËÀܳ¤¹¤ë¤ÈÍî¤Á¤Þ¤¹¡£Á´¤Æ¤Î Display ¤¬ XFree86 ¤Ç¤¢¤ì¤ÐÌäÂê¤Ê¤µ¤½¤¦¤Ç¤¹¡£(2004-10-20 º´Æ£Àº°ì) * Win32 ÈÇ¤Ç user,project@shell.sourceforge.net ¤Î¤è¤¦¤Ë ',' ¤ò´Þ¤à¥æ¡¼¥¶Ì¾¤ò server_list ¥ª¥×¥·¥ç¥ó¤Ë»ØÄꤹ¤ë¤È¡¢',' ¤Ç¶èÀÚ¤é¤ì¡¢user ¤È project@shell.sourceforge.net ¤òÊÌ¡¹¤Î¥µ¡¼¥Ð¤Èǧ¼±¤·¤Æ¤·¤Þ¤¦¡£ mlterm-3.8.4/doc/ja/README.server010064400017600000144000000035251321054731300150540ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- mlterm server * ²¿¤½¤ì? mlterm ¤Ï¡¢client ¤«¤é¤ÎÍ×µá¤Ë±þ¤¸¤Æ¡¢Ã±°ì¥×¥í¥»¥¹Ãæ¤Ë¿·¤¿¤ÊüËö¥¦¥£¥ó¥É¥¦¤òµ¯ ư¤¹¤ë server ¤È¤·¤ÆÆ°ºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢°ìÄê¤ÎÀ©Ìó(¶ñÂÎŪ¤Ë¤Ï Imlib ´ØÏ¢)¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢Ê£¿ô¤Î Display ¤Ø¤ÎƱ»þÀÜ Â³¤ò¤³¤Ê¤¹¤³¤È¤â²Äǽ¤Ç¤¹(¿ʬ) * mlterm server ¤ÎÀßÄê °ú¿ô¥ª¥×¥·¥ç¥ó -j , --daemon ¤Þ¤¿¤Ï¡¢main ÀßÄê¥Õ¥¡¥¤¥ë¤Î daemon_mode ¤Ë¡¢blend ¤Þ¤¿¤Ï genuine ¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤Æ¤¯¤À¤µ¤¤¡£ blend ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢ºÇ¸å¤ÎüËö¥¦¥£¥ó¥É¥¦¤¬ÊĤ¸¤é¤ì¤¿Ãʳ¬¤Ç¡¢¥×¥í¥»¥¹¤¬½ªÎ»¤¹ ¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢genuine ¤ò»ØÄꤹ¤ë¤È¡¢ºÇ¸å¤ÎüËö¥¦¥£¥ó¥É¥¦¤¬ÊĤ¸¤é¤ì¤¿¸å¤â daemon process ¤È¤·¤ÆÆ°ºî¤·¤Ä¤Å¤±¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢genuine ¤Î¾ì¹ç¤Ë¤Ï¡¢-P 0 ¥ª¥×¥·¥ç¥ó¤ò°ì½ï¤Ë»ØÄꤹ¤ë¤³¤È¤Ç¡¢X ¤Ê¤·¤Çµ¯ ư¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¤·¡¢¤¹¤Ù¤Æ¤ÎüËö¥¦¥£¥ó¥É¥¦¤òÊĤ¸¡¢X ¤È¤ÎÀܳ¤òÀڤäơ¢X ¤Î shutdown ¤Ë¤Þ¤­¤³¤Þ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ì¤Ð¡¢X ½ªÎ»¸å¤âưºî¤·¤Ä¤Å¤±¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ mlterm server ¤Ï¡¢~/.mlterm/socket ¤ò»È¤Ã¤¿ Unix Domain Socket ¤Ë¤Æ¡¢client ¥×¥í¥°¥é¥à¤ÈÄÌ¿®¤·¤Þ¤¹¡£ µ¯Æ°»þ¤Ë¡¢´û¤Ë ~/.mlterm/socket ¤¬¤¢¤ê¡¢mlterm server ¥×¥í¥»¥¹¤¬Æ°¤¤¤Æ¤¤¤ë¾ì¹ç ¤Ë¤Ï¡¢ daemon process ¤Ë¤Ê¤ê¤Þ¤»¤ó¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤(³Æ¥æ¡¼¥¶¤´¤È¤Ë 1 ¤Ä¤Î mlterm server ¤·¤«µ¯Æ°¤Ç¤­¤Þ¤»¤ó¡£)¡£¤Ê¤ª¡¢~/.mlterm/socket ¤¬¤¢¤Ã¤Æ¤â¡¢ mlterm server ¥×¥í¥»¥¹¤¬Æ°¤¤¤Æ¤¤¤Ê¤¤(°Û¾ï½ªÎ»¤Ê¤É)¾ì¹ç¤Ë¤Ï¡¢daemon process ¤Ë¤Ê¤ê¤Þ¤¹¡£ * client ¤Îµ¯Æ° ¥Ó¥ë¥É¤ËÀ®¸ù¤¹¤ë¤È¡¢mlclient ¤È¤¤¤¦¥×¥í¥°¥é¥à¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Þ¤¹¡£ mlterm server ¤¬²ÔƯ¤·¤Æ¤¤¤ë¥Û¥¹¥È¾å¤Ç¡¢mlclient ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¿·¤·¤¤Ã¼Ëö¥¦¥£ ¥ó¥É¥¦¤¬³«¤­¤Þ¤¹¡£ mlclient ¤Ï¡¢°ìÉô¤ò½ü¤¯¡¢¤Û¤Ü¤¹¤Ù¤Æ¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (»ØÄê¤Ç¤­¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Ï¡¢README.ja ¤Î¡Ö°ú¿ô¥ª¥×¥·¥ç¥ó¡×¤Î¹àÌܤò»²¾È ²¼¤µ¤¤) * Ãí°Õ mlterm server ¤Ï¡¢¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤Û¤È¤ó¤É¹Íθ¤·¤Æ¤ª¤ê¤Þ¤»¤ó¡£ ³°Éô¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤Ä¤Ê¤¬¤Ã¤¿´Ä¶­¤Ç¤Î»ÈÍѤϿ侩¤·¤Þ¤»¤ó¡£ mlterm-3.8.4/doc/ja/README.sb010064400017600000144000000103241321054731300141450ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- mlterm¤Ç¤Ï¡¢¥ª¥ê¥¸¥Ê¥ë¤Î¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÈæ³ÓŪ´Êñ¤Ë¼ÂÁõ¤¹¤ë¤¿¤á¤Î¥Õ¥ì¡¼¥à¥ï¡¼¥¯ ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ °Ê²¼¤Ç¤Ï¡¢¤½¤Î¼ÂÁõÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ * ¼ÂÁõÊýË¡¤Î³µÎ¬ 1. x_sb_view_t ¤Î³Æ¥¤¥Ù¥ó¥È¤´¤È¤ÎÉÁ²è½èÍý¤ò¼ÂÁõ¡£ 2. ¥³¥ó¥Ñ¥¤¥ë¡¢¶¦Í­¥é¥¤¥Ö¥é¥ê¤ÎºîÀ® 3. ½êÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡¢¥é¥¤¥Ö¥é¥ê¤òÇÛÃÖ * ɬÍפʴĶ­ ²¼µ­¤Î¤¤¤º¤ì¤«¤¬»ÈÍѲÄǽ¤Ç¤¢¤ë¤³¤È¡£ o UNIX98 dlopen ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ o HP-UX sh_load ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ o Win32API LoadLibrary o Mac OS X NSModule ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹ (EXPERIMENTAL) o libltdl ¥é¥¤¥Ö¥é¥ê * x_sb_view_t ¸½ºßÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥¤¥Ù¥ó¥È o void (*get_geometry_hints)(struct x_sb_view *, unsigned int *width, unsigned int *top_margin, unsigned int *bottom_margin, int *up_button_y, unsigned int *up_button_height, int *down_button_y, unsigned int *down_button_height); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¥¸¥ª¥á¥È¥ê¾ðÊó¤òÅϤ¹¥¤¥Ù¥ó¥È ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÉý¡¢¤ª¤è¤Ó¡¢¿âľÊý¸þ¤Î¥Þ¡¼¥¸¥ó¡¢¤½¤·¤Æ¡¢¾å²¼¥¹¥¯¥í¡¼¥ë¥Ü¥¿¥ó ¤Î°ÌÃÖ¤òÅϤ·¤Þ¤¹¡£ (ɬ¿Ü) o void (*get_default_color)(struct x_sb_view *, char **fg_color, char **bg_color); ¥Ç¥Õ¥©¥ë¥È¤ÎÁ°·ÊÇØ·Ê¿§¤òÅϤ¹¥¤¥Ù¥ó¥È Á°·ÊÇØ·Ê¿§¤Ë»È¤¨¤ë̾Á°¤Ï¡¢{fg|bg}_color ÀßÄê¤Ç»È¤¨¤ë¤â¤Î¤ÈƱ¤¸¤Ç¤¹¡£ ʸ»úÎó¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤Ç¤Ï²òÊü¤·¤Þ¤»¤ó¤Î¤Ç¡¢ÆâÉô¤Ç½èÍý¤·¤Æ²¼¤µ¤¤¡£ (¿ä¾©) o void (*realized)(struct x_sb_view *, Display *, int, Window, GC, unsigned int win_height); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬¡¢²èÌ̤ËMAP¤µ¤ì¤ëľÁ°¤Ç¸Æ¤Ð¤ì¤ë¥¤¥Ù¥ó¥È ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆâÉô¾õÂ֤νé´ü²½¤·¤Þ¤¹¡£ ¼õ¤±¼è¤Ã¤¿Display,screen,Window,GC¤ò¡¢x_sb_view_t ¤Î³Æ¥á¥ó¥Ð¤ËÀßÄꤹ¤ë¤Î¤ò˺ ¤ì¤Ê¤¤¤Ç²¼¤µ¤¤¡£ (ɬ¿Ü) o void (*resized)(struct x_sb_view *, Window, unsigned int height); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¹â¤µ¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ë¸Æ¤Ð¤ì¤ë¥¤¥Ù¥ó¥È ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¥ª¥Ö¥¸¥§¥¯¥ÈÆâÉô¤Î¾õÂÖ¤òºÆÀßÄꤷ¤Þ¤¹¡£ ¼õ¤±¼è¤Ã¤¿ Window ¤ò¡¢x_sb_view_t ¤Î¥á¥ó¥Ð¤ËÀßÄꤹ¤ë¤Î¤ò˺¤ì¤Ê¤¤¤Ç²¼¤µ¤¤¡£ (ɬ¿Ü) o void (*color_changed)(struct x_sb_view *, int is_fg); Á°·Ê¿§Ëô¤ÏÇØ·Ê¿§¤¬Êѹ¹¤µ¤ì¤¿¾ì¹ç¤Ë¸Æ¤Ð¤ì¤ë¥¤¥Ù¥ó¥È o void (*delete)(struct x_sb_view *); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ÎÇ˲õ¥¤¥Ù¥ó¥È ÉÔÍפˤʤ俥ǡ¼¥¿¤ò²òÊü¤·¤Æ²¼¤µ¤¤¡£ (ɬ¿Ü) o void (*draw_scrollbar)(struct x_sb_view *, int bar_top_y, unsigned int bar_height); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÉÁ²è¥¤¥Ù¥ó¥È bar_top_y °ÌÃÖ(top_margin ¤È¤·¤ÆÅϤ·¤¿Ãͤϴޤޤì¤Þ¤¹)¤«¤é¡¢bar_height ʬ¤Î ¹â¤µ¤Î¥Ð¡¼¤òÉÁ²è¤·¤Þ¤¹¡£ (ɬ¿Ü) o void (*draw_background)(struct x_sb_view *, int y, unsigned int height); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÇØ·Ê¤ÎÉÁ²è¥¤¥Ù¥ó¥È (¿ä¾©) o void (*draw_up_button)(struct x_sb_view *, int is_pressed); o void (*draw_down_button)(struct x_sb_view *, int is_pressed); ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¥Ü¥¿¥ó¤òÉÁ²è¤¹¤ë¥¤¥Ù¥ó¥È (¿ä¾©) * ¼ÂÁõ¡¢¥³¥ó¥Ñ¥¤¥ë ¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢É¬¤º¡¢ x_sb_view_t *x_[yourbar]_sb_view_new(void); /* Ä̾ïÈÇ */ x_sb_view_t *x_[yourbar]_transparent_sb_view_new(void); /* Æ©²á½èÍýÂбþÈÇ */ ¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ Ä̾ï¤Î¥Ð¡¼¤È¡¢Æ©²á½èÍý¤ËÂбþ¤·¤¿¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎξÊý¤òÍѰդ¹¤ë¤Î¤¬Ë¾¤Þ¤·¤¤¤Ç¤¹¡£ (Æ©²á½èÍýÈǤ¬¤Ê¤¤¾ì¹ç¤Ï¡¢Æ©²á½èÍýÃæ¤Ç¤â¡¢Ä̾ïÈǤ¬»È¤ï¤ì¤Þ¤¹) Ê£¿ô¤Îpty¥¦¥£¥ó¥É¥¦¤òµ¯Æ°¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¥ª¥Ö¥¸¥§¥¯¥È¤âÊ£¿ôÀ¸ À®¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÆÈ¼«¤Î¥Ç¡¼¥¿¹½Â¤¤òstatic¤Ë¤â¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤ì ¤é¤Î°·¤¤¤Ë¤Ï½½Ê¬Ãí°Õ¤·¤Æ²¼¤µ¤¤¡£ x_sb_view_t ¤ò³ÈÄ¥¤·¡¢ x_your_sb_view_t { x_sb_view_t ; your own data ; }; ¤òºî¤Ã¤Æ¡¢ÆÈ¼«¥Ç¡¼¥¿¤ò¡¢¹½Â¤ÂΤΥá¥ó¥Ð¤Ë¤â¤Ä¤Î¤¬°ìÈֳμ¤Ǥ¹¡£ ¥é¥¤¥Ö¥é¥ê̾¤Ë¤Ä¤¤¤Æ¤Ï¡¢É¬¤º¡¢ lib[yourbar].so ¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Þ¤¿¡¢¥×¥ê¥×¥í¥»¥Ã¥µ¤¬¡¢x_sb_view.h ¤ò¸«¤Ä¤±¤é¤ì¤ë¤è¤¦¡¢x_sb_view.h¤Î¤¢¤ë¥Ñ¥¹ ¤ò -I ¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤ë¤è¤¦¤Ë¤·¤Æ²¼¤µ¤¤¡£ * ÅÐÏ¿ºî¶È ¸½ºß¤Î¤È¤³¤í¡¢$(PREFIX)/lib/mlterm°Ê²¼¤Ë¡¢¤Ç¤­¤¢¤¬¤Ã¤¿¥é¥¤¥Ö¥é¥ê¤ò¥³¥Ô¡¼¤·¤Æ¤¯ ¤À¤µ¤¤¡£ * ¼ÂºÝ¤Ë»È¤Ã¤Æ¤ß¤ë $ mlterm -S "your_sb" ¤Ç¡¢ºîÀ®¤µ¤ì¤¿¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬É½¼¨¤µ¤ì¤ë¤Ï¤º¤Ç¤¹¡£ ¤â¤·¡¢»ØÄꤷ¤¿Ì¾Á°¤Î¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢"simple"(mltermËÜÂΤËÁÈ ¤ß¹þ¤ß)¤¬»È¤ï¤ì¤Þ¤¹¡£ * Êä­ ºÙ¤«¤¤¼ê½ç¤Ê¤É¤Ë¤Ä¤¤¤Æ¤Ï¡¢xwindow/x_simple_sb_view.[ch],scrollbar/sample ¤ò»² ¾È²¼¤µ¤¤¡£ mlterm-3.8.4/doc/ja/README.ja010064400017600000144000001561421321054731300141440ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- * mlterm¤È¤Ï Multi Lingual TERMinal ¤Îά¤Ç¤¹¡£ * ¼ç¤Êµ¡Ç½ o Complex Text Layouting BiDi ¤ä¥¤¥ó¥É½ô¸ì¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Bidi ¥ì¥ó¥À¥ê¥ó¥°¤Ë¤Ï¡¢Fribidi 0.9.x °Ê¾å(?) ¤¬É¬ÍפǤ¹¡£ (see doc/en/README.bidi) ¥¤¥ó¥É½ô¸ì¤Îɽ¼¨¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼¡¤Î2¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ 1) libind (mlterm¤Î¥½¡¼¥¹¥¢¡¼¥«¥¤¥Ö¤ËƱº­) ¤È ISCII ¥Õ¥©¥ó¥È¤ò»È¤¦ÊýË¡ 2) harfbuzz ¤È OpenType Layout ¥Õ¥©¥ó¥È¤ò»È¤¦ÊýË¡ (see doc/en/README.indic) o ¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹ ¥Õ¥©¥ó¥È¤Î¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹É½¼¨¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ë¤Ï¡¢X ¤Î Xrender extension ¤ËÂбþ¤·¤¿ Xft or cairo ¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£ ¤Ê¤ª¡¢Xft¡¢cairo¡¢Ä̾ï¤Î X ¥Õ¥©¥ó¥È¤Î¤É¤ì¤ò»È¤¦¤«¤Ï¡¢Æ°Åª¤ËÀÚÂØ¤¨²Äǽ¤Ç¤¹¡£ XFree86 4.0.2 °Ê¾å freetype 2.0.2 °Ê¾å ¤¬É¬ÍפǤ¹¡£ o ÊÉ»æ¡¢ÇØ·ÊÆ©²á ÊÉ»æ¤òŽ¤Ã¤¿¤êÇØ·Ê¤òµ¼»÷Ū¤ËÆ©²á¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ÊÉ»æ¤òޤë¤Ë¤Ï¡¢gdk-pixbuf (GTK+ 2.x °Ê¾å) ¤¬É¬ÍפǤ¹¡£ o ¥Þ¥ë¥ÁPTY ñ°ì¥×¥í¥»¥¹Ã椫¤é¡¢--maxptys ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¾å¸Â¿ô(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 32) ¤Þ¤Ç¤Î pty ¥»¥Ã¥·¥ç¥ó¤òΩ¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Ctrl+F2(¥Ç¥Õ¥©¥ë¥È)¤Ç¡¢¿·¤·¤¤ pty ¥»¥Ã¥·¥ç¥ó¤òΩ¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -@ ¥ª¥×¥·¥ç¥ó¤Ç¡¢mlterm µ¯Æ°»þ¤ËΩ¤Á¾å¤²¤ë ¥¦¥£¥ó¥É¥¦¤Î¿ô¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ Ctrl+F1(¥Ç¥Õ¥©¥ë¥È)¤Ç¡¢¿·¤·¤¤¥¦¥£¥ó¥É¥¦¤òΩ¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Ctrl+F3(NEXT)¡¢Ctrl+F4(PREV)¤Ç¡¢¥¦¥£¥ó¥É¥¦¾å¤Çɽ¼¨¤¹¤ë pty ¥»¥Ã¥·¥ç¥ó¤òÀÚ¤ê ÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Ctrl+º¸¥Ü¥¿¥ó(¥Ç¥Õ¥©¥ë¥È)¤Ç¤Ï¡¢mlterm-menu ¤¬µ¯Æ°¤·¡¢¸½ºß background ¤Ë¤¢¤ë pty ¤ËÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (see doc/ja/README.pty) o ²èÌÌʬ³ä °ì¤Ä¤Î¥¦¥£¥ó¥É¥¦¤òʬ³ä¤·¡¢Ê£¿ô¤Î pty ¥»¥Ã¥·¥ç¥ó¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Shift+F1(¥Ç¥Õ¥©¥ë¥È)¤Ç²£Êý¸þ¤Ë¡¢Shift+F2(¥Ç¥Õ¥©¥ë¥È)¤Ç½ÄÊý¸þ¤Ëʬ³ä¤Ç¤­¤Þ¤¹¡£ Shift+F3(NEXT)¡¢Shift+F4(PREV)¤Ç¡¢Ê¬³ä¤µ¤ì¤¿²èÌ̤ò°Üư¤Ç¤­¤Þ¤¹¡£ Shift+F5(¥Ç¥Õ¥©¥ë¥È)¤Çʬ³ä¤ò²ò½ü¤Ç¤­¤Þ¤¹¡£ o ¥Þ¥ë¥ÁXIM Ê£¿ô¤Î XIM ¤òưŪ¤ËÀÚÂØ¤¨¤Æ»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢Ã¼Ëö¦¤¬ UTF8 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¡¢kinput2 ¤È Ami ¤òÀÚÂØ¤¨¤Ê¤¬¤é¡¢ ÆüËܸì¥Ï¥ó¥°¥ëº®ºß¤Îʸ¾Ï¤òÆþÎϤǤ­¤Þ¤¹¡£ (see doc/ja/README.xim) o ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É ¥×¥é¥°¥¤¥ó uim¡¢m17n library¡¢scim¡¢ibus¡¢fcitx¡¢canna¡¢wnn¡¢skk µÚ¤Ó iiimf ¤ËÂбþ¤·¤Æ ¤¤¤Þ¤¹¡£ ¥×¥é¥°¥¤¥ó¤È¤·¤Æ»ÈÍÑ»þ¤À¤±¥í¡¼¥É¤µ¤ì¤Þ¤¹¡£¥Þ¥ë¥ÁXIM¤ÈƱÍÍ¤ËÆ°ÅªÊѹ¹¤¬²Äǽ¤Ç üËö¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ë°Í¸¤·¤Þ¤»¤ó¡£ o ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤â»ÈÍѤǤ­¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢-V ¥ª¥×¥·¥ç¥ó¤Ç¡¢¥³¥é¥àÉý¤ò²ÄÊѤˤ¹¤ë¤«¡¢¸ÇÄê¤Ë¤¹¤ë¤«¤ò»ØÄꤹ¤ë¤³ ¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ò¥³¥é¥àÉý¸ÇÄê¤Ç»ÈÍѤ¹¤ë¾ì¹ç¡¢°ìʸ»ú¤º¤ÄÉÁ²è¤·¤ÆÌµÍý ÌðÍý·ä´Ö¤òËä¤á¤Þ¤¹¤Î¤Ç¡¢ÉÁ²è¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬Äã²¼¤·¤Þ¤¹¡£ o ½Ä½ñ¤­É½¼¨ ±¦¤«¤éº¸¡¢º¸¤«¤é±¦¤Î½Ä½ñ¤­É½¼¨¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ Ä̾ïÆüËܸì¤Î½Ä½ñ¤­É½¼¨¤ò¤¹¤ë¤¿¤á¤Ë¤Ï¡¢-G cjk ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ (see doc/ja/README.tate) o mlterm configuration protocol ÀßÄêÊѹ¹¤Î¤¿¤á¤ÎÀìÍÑ¥·¡¼¥±¥ó¥¹¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢ÀßÄê¤òưŪ¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ (see doc/en/PROTOCOL, doc/ja/README.confapp) o mlterm server mlterm ¤Ï daemon process ¤È¤·¤ÆÆ°ºî¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤½¤Î¾ì¹ç¡¢X ¤Ê¤·¤Ç¤Îµ¯Æ°¤ä¡¢Ê£¿ô¤Î¥Ç¥£¥¹¥×¥ì¥¤Àܳ¤¬²Äǽ¤Ç¤¹¡£ mlterm server ¤¬µ¯Æ°¤·¤Æ¤¤¤ì¤Ð¡¢mlclient ¤ò¥Õ¥í¥ó¥È¥¨¥ó¥É¤È¤·¤Æ»ÈÍѤ¹¤ë¤³¤È ¤Ç¡¢Ã¼Ëö¥¦¥£¥ó¥É¥¦¤ò³«¤±¤Þ¤¹¡£ (see doc/ja/README.server) o vte compatible library mlterm ¤Îµ¡Ç½(°ìÉôÀ©¸Â¤¢¤ê)¤ò¡¢(¤Û¤Ü) vte ¸ß´¹¤Î API ¤Ç wrap ¤·¤¿¥é¥¤¥Ö¥é¥ê (libvte.so.9, libvte2_90.so.9, libvte-2.91.so.0) ¤òÄ󶡤·¤Æ¤¤¤Þ¤¹¡£ ¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë libvte.so.9 Åù¤òÃÖ¤­¤«¤¨¤ë¤³¤È¤Ë¤è¤ê¡¢ gnome-terminal ¤ä roxterm Åù¤ÎÃæ¤Ç¡¢mlterm ¤òưºî¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ GTK+ (2.x °Ê¾å) ¤¬É¬ÍפȤʤê¤Þ¤¹¡£ (see gtk/README) o ssh2 client ssh2 client ¤È¤·¤ÆÄ¾ÀÜ ssh2 server ¤ËÀܳ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ libssh2 (http://www.libssh2.org) ¤¬É¬ÍפȤʤê¤Þ¤¹¡£ ¤Ê¤ª¡¢¶¦Ä̸°°Å¹æÊý¼°¤È¤·¤Æ camellia ¤òÍøÍѤ¹¤ë¾ì¹ç¤ä¡¢Agent forwarding µ¡Ç½ ¤¬É¬Íפʾì¹ç¤Ï¡¢ https://bitbucket.org/arakiken/libssh2/downloads ¤«¤é¡¢camellia branch ¤Î libssh2 ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ (Îã mlterm(mlclient) --serv ssh://user@host:22) (see doc/ja/README.ssh) o auto-restart ¥Ð¥°Åù¤Ë¤è¤ê mlterm ¤¬¼Â¹ÔÉÔǽ¤È¤Ê¤Ã¤¿¾ì¹ç¤Ç¤â¡¢(¤Ç¤­¤ë¤À¤±)¤½¤ÎÃæ¤Çư¤¤¤Æ¤¤ ¤ë¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò°ú¤­·Ñ¤¤¤À mlterm ¤ò¼«Æ°Åª¤ËºÆµ¯Æ°¤·¡¢¥³¥ó¥½¡¼ ¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òÊݸ¤Þ¤¹¡£ (see "auto_restart" option) o local echo mode ¥­¡¼ÆþÎϤËÂФ¹¤ë½èÍý·ë²Ì¤¬¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤«¤éÊ֤äƤ¯¤ëÁ°¤Ë¡¢ Á°¤â¤Ã¤Æ²èÌ̤Ëɽ¼¨¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢Âδ¶Åª¤Ê±þÅú®ÅÙ¤ò¸þ¾å¤·¤Þ¤¹¡£ (see "use_local_echo" option) o ReGIS µÚ¤Ó Sixel Graphics ReGIS ¤Î°ìÉôµ¡Ç½µÚ¤Ó Sixel Graphics ¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ ReGIS ¤Ë¤Ä¤¤¤Æ¤Ï¡¢SDL, SDL_ttf µÚ¤Ó fontconfig ¤¬É¬ÍפȤʤê¤Þ¤¹¡£ * Âбþ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à o Linux, *BSD (X11, Framebuffer, Wayland or Console) o Solaris (X11 or Console) o MacOSX 10.6 (X11, Cocoa or Console) o Windows XP or later o Cygwin (X11, Win32GDI or Console) o MSYS2 (Win32GDI or Console) o Android 3.x or later. o Java (SWT) ¾ÜºÙ¤Ï¡¢doc/ja Æâ¤Î README.fb, README.win32, Usage.win32 Ëô¤Ï doc/en Æâ¤Î README.android, README.cocoa, README.console, README.wayland ¤ò»²¾È¤·¤Æ¤¯¤À¤µ ¤¤¡£ * ¥³¥ó¥Ñ¥¤¥ëÊýË¡ $ ./configure $ make o ɬÍפʤâ¤Î ´ðËÜŪ¤Êµ¡Ç½¤Ï¡¢libc / Xlib¤¬¤¢¤ì¤Ðư¤­¤Þ¤¹¡£ ¿¸À¸ì½èÍýµ¡Ç½¤Î¿¤¯¤Ï¡¢¼«Á°¤Ç¤â¤Ã¤Æ¤Þ¤¹¤Î¤Ç¡¢OS ¤Î¥µ¥Ý¡¼¥È¤¬¤Ê¤¯¤Æ¤â¡¢¤Û¤È ¤ó¤É¤Îµ¡Ç½¤Ï»È¤¨¤Þ¤¹¡£ (¤¿¤È¤¨¤Ð¡¢libc ¤Ë ja_JP.UTF-8 ¥í¡¼¥±¡¼¥ë¤¬¤Ê¤¯¤Æ¤â¡¢ja_JP.eucJP ¥í¡¼¥±¡¼¥ë ¤¬¤¢¤ì¤Ð¡¢UTF-8 ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎüËö¤ËÆüËܸìÆþÎϤǤ­¤ë¡¢¤Ê¤É) ¾åµ­¡Ö¼ç¤Êµ¡Ç½¡×¤Î¤È¤ª¤ê¡¢³°Éô¥é¥¤¥Ö¥é¥ê¤Ë°Í¸¤¹¤ëµ¡Ç½¤â¤¢¤ê¤Þ¤¹¡£ ³°Éô¥é¥¤¥Ö¥é¥ê¤Î̵ͭ¤Ï¡¢configure ¥¹¥¯¥ê¥×¥È¤Ë¤è¤ê¥Á¥§¥Ã¥¯¤·¤Þ¤¹¡£ o configure ¥ª¥×¥·¥ç¥ó --prefix ¥¤¥ó¥¹¥È¡¼¥ë¥×¥ì¥Õ¥£¥¯¥¹ --disable-dl-table ʸ»úÊÑ´¹¥Æ¡¼¥Ö¥ë¤äʸ»ú¥×¥í¥Ñ¥Æ¥£¥Æ¡¼¥Ö¥ë¤òưŪ¤Ë¥í¡¼¥É¤»¤º¡¢ libmef ¤ËÀÅŪ¤Ë¥ê¥ó¥¯¤·¤Þ¤¹¡£ --without-map-table ʸ»úÊÑ´¹¥Æ¡¼¥Ö¥ë¤òÁȹþ¤ß¤Þ¤»¤ó¡£ ¤³¤Î¾ì¹ç¡¢UNICODE <=> ³Æ¼ïʸ»ú½¸¹ç¤ÎÊÑ´¹Åù¤ò°·¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ --without-prop-table Unicode ¤Îʸ»ú¥×¥í¥Ñ¥Æ¥£¥Æ¡¼¥Ö¥ë¤òÁȤ߹þ¤ß¤Þ¤»¤ó¡£ ¤³¤Î¾ì¹ç¡¢·ë¹çʸ»úÅù¤ò°·¤¨¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ --with-gui GUI ¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ xlib / win32 / fb / quartz / console / wayland ¤Î¤¤¤º ¤ì¤ò»ÈÍѤ¹¤ë¤«»ØÄꤷ¤Þ¤¹¡£ (¡ÖÂбþ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¡×¤Î¹àÌÜ»²¾È) --with-imagelib=(gdk-pixbuf) mlterm ËÜÂÎ¤Ë gdk-pixbuf ¤ò¥ê¥ó¥¯¤·¡¢ÊÉ»æ¤ä¥¢¥¤¥³¥ó¤Î²èÁü¤ò°·¤¨¤ë¤è¤¦¤Ë¤· ¤Þ¤¹¡£ ¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Ê¤¤¾ì¹ç¡¢--with-tools ¥ª¥×¥·¥ç¥ó¤Ç mlimgloader (³° Éô¥×¥í¥°¥é¥à)¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¤¤ì¤Ð¡¢mlimgloader ¤ò»ÈÍѤ·¤Æ²èÁüɽ¼¨¤ò¹Ô ¤¤¤Þ¤¹(mlterm ËÜÂÎ¤Ë gdk-pixbuf ¤ò¥ê¥ó¥¯¤·¤Ê¤¯¤Æ¤â¡¢²èÁüɽ¼¨¤¬²Äǽ¤Ç¤¹¡£)¡£ --with-libltdl ¥â¥¸¥å¡¼¥ë¤ÎưŪ¥í¡¼¥Ç¥£¥ó¥°¤Ë libltdl ¤ò»ÈÍѤ·¤Þ¤¹¡£ --with-type-engines=(xcore|xft|cairo) ¥Æ¥­¥¹¥È¥ì¥ó¥À¥ê¥ó¥°¥¨¥ó¥¸¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ --disable-anti-alias xlibÈǤǤϡ¢--with-type-engines=xcore¤ÈƱ¤¸¡£ (--enable-anti-alias ¥ª¥×¥·¥ç¥ó¤Ï --with-type-engines=xcore,xft,cairo ¤ÈƱ¤¸) ¤Ê¤ª¡¢xlibÈǤǡ¢--with-type-engines ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¤³¤Î¥ª¥×¥·¥ç ¥ó¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ framebuffer Ëô¤Ï wayland ÈǤǤϡ¢freetype ¤òÍøÍѤ·¤¿ True Type ¥Õ¥©¥ó¥È¤Î ¥µ¥Ý¡¼¥È¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --enable-fontconfig framebuffer Ëô¤Ï wayland ÈǤǡ¢¥Õ¥©¥ó¥È¤Î¸¡º÷¤Ë fontconfig ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ (~/.mlterm/*aafont ¤ÎÀßÄê¤ò»ÈÍѤ·¤Þ¤¹¡£) --disable-dl-type type engine ¥â¥¸¥å¡¼¥ë¤ÎưŪ¥í¡¼¥Ç¥£¥ó¥°¤ò̵¸ú¤Ë¤·¡¢mlterm ËÜÂΤ˥ê¥ó¥¯¤¹¤ë ¤è¤¦¤Ë¤·¤Þ¤¹¡£ --disable-fribidi Fribidi ¤òÍѤ¤¤¿ Bidi ¥ì¥ó¥À¥ê¥ó¥°¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ (see doc/en/README.bidi) --disable-ind ¥¤¥ó¥É½ô¸ì¤Îɽ¼¨¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ (see doc/en/README.indic) --disable-dl-ctl BiDi µÚ¤Ó ¥¤¥ó¥É½ô¸ì¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥â¥¸¥å¡¼¥ë¤ÎưŪ¥í¡¼¥Ç¥£¥ó¥°¤ò̵¸ú¤Ë¤·¡¢ mlterm ËÜÂΤ˥ê¥ó¥¯¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ --disable-ssh2 libssh2 (http://www.libssh2.org) ¤òÍѤ¤¤Æ ssh ¥µ¡¼¥Ð¤ËÀܳ¤¹¤ëµ¡Ç½¤ò̵¸ú¤Ë ¤·¤Þ¤¹¡£ ¤Ê¤ª¡¢¶¦Ä̸°°Å¹æÊý¼°¤È¤·¤Æ camellia ¤ò»ÈÍѤ·¤¿¤¤¾ì¹ç¤ä SSH agent forwarding ¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ï¡¢https://bitbucket.org/arakiken/libssh2/downloads ¤Ë¤¢¤ë camellia branch ¤Î libssh2 ¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£ --without-pthread ssh ¥µ¡¼¥Ð¤È¤Î (doc/en/PROTOCOL ¤Î scp ¥³¥Þ¥ó¥É¤Ë¤è¤ë) secure copy ¤Ë¤ª¤¤¤Æ pthread ¤ò»ÈÍѤ·¤Þ¤»¤ó¡£ --disable-utmp utmp ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --enable-debug ¥Ç¥Ð¥Ã¥°¥Ð¡¼¥¸¥ç¥ó¤ò¥Ó¥ë¥É¤·¤Þ¤¹¡£ --enable-optimize-redrawing ¹Ô¤ÎºÆÉÁ²è½èÍý¤ò¹â®²½¤·¤Þ¤¹¡£(⤷¡¢w3m-img ¤ÇÉûºîÍѤ¬½Ð¤Þ¤¹) --with-scrollbars scrollbar/ Ëô¤Ï contrib/scrollbar/ °Ê²¼¤Î»ØÄꤵ¤ì¤¿¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ò¥Ó¥ë¥É ¤·¤Þ¤¹¡£ --with-tools tool/ Ëô¤Ï contrib/tool/ °Ê²¼¤Î»ØÄꤵ¤ì¤¿¥Ä¡¼¥ë¤ò¥Ó¥ë¥É¤·¤Þ¤¹¡£ --disable-use-tools tool/ Ëô¤Ï contrib/tool/ °Ê²¼¤Î¥Ä¡¼¥ë¤ò°ìÀÚ¥Ó¥ë¥É¤»¤º¡¢¤³¤ì¤é¤Î¥Ä¡¼¥ë¤ò¸Æ ¤Ó½Ð¤¹µ¡Ç½¤ò mlterm ËÜÂΤ«¤éºï½ü¤·¤Þ¤¹¡£ --disable-dnd XDnD ¥×¥í¥È¥³¥ë¤Ë¤è¤ë¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¥µ¥Ý¡¼¥È¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --disable-kdb kbd (¥¢¥é¥Ó¥¢¸ì/¥Ø¥Ö¥é¥¤¸ì/¥¤¥ó¥É½ô¸ìÍÑ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É)¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --disable-uim uim ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£libuim ¤¬É¬ÍפǤ¹¡£ --disable-m17nlib m17n library ¤¬Ä󶡤¹¤ë¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ m17n-lib ¤È m17n-db ¤¬É¬ÍפǤ¹¡£ --disable-scim SCIM (Smart Common Input Method platform) ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ libscim ¤¬É¬ÍפǤ¹¡£ --disable-ibus iBUS (Intelligent Input Bus) ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ libibus ¤¬É¬ÍפǤ¹¡£ --disable-fcitx Fcitx ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ fcitx-gclient ¤¬É¬ÍפǤ¹¡£ --disable-canna Canna ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --disable-wnn Freewnn ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --disable-skk SKK ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ --disable-iiimf IIIMF (Internet/Intranet Input Method Framework) ¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ Í­¸ú¤Ë¤¹¤ë¾ì¹ç¡¢libiiimcf ¤¬É¬ÍפǤ¹¡£ --enable-pty-helper gnome-pty-helper ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£(BSD style pty ¤Î¥·¥¹¥Æ¥à¤Ç¤Ï̵¸ú¤Ç¤¹¡£) ¤Ê¤ª¡¢gnome-pty-helper ¤Ï ${libexecdir}/ ¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤ëɬÍפ¬¤¢¤ê ¤Þ¤¹¡£ --with-gtk=(2.0|3.0) »ÈÍѤ¹¤ë GTK+ ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ --enable-vt52 VT52 ¥¨¥ß¥å¥ì¡¼¥·¥ç¥óµ¡Ç½¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤¹¡£ --disable-image Êɻ桢¥¢¥¤¥³¥ó¡¢µ¼»÷Æ©²áµÚ¤Ó Sixel graphics ¤È¤¤¤Ã¤¿²èÁü½èÍý´ØÏ¢¤Îµ¡Ç½¤òÁ´ ¤ÆÌµ¸ú¤Ë¤·¤Þ¤¹¡£ --disable-otl OpenType ¥Õ¥©¥ó¥È¤ÎÃÖ´¹¥°¥ê¥ÕÅù¤ò»È¤Ã¤¿É½¼¨¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ Í­¸ú¤Ë¤¹¤ë¾ì¹ç¡¢harfbuzz ¤¬É¬ÍפǤ¹(libotf ¤â»È¤¨¤Þ¤¹¤¬¡¢¿ä¾©¤·¤Þ¤»¤ó)¡£ --enable-brlapi brlapi ¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ brltty ¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤¹¡£(Experimental) (see doc/en/README.brltty) --disable-shared ¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¹½ÃÛ¤·¤Þ¤»¤ó¡£ --disable-static ÀÅۥ饤¥Ö¥é¥ê¤ò¹½ÃÛ¤·¤Þ¤»¤ó¡£ --with-libtool=[path] libtool ¤ò¼«Æ°À¸À®¤»¤º¡¢¥·¥¹¥Æ¥à¤Îlibtool¤ò»È¤¦¤è¤¦»ØÄꤷ¤Þ¤¹¡£ * »È¤¤Êý $ mlterm ¤¦¤Þ¤¯Æ°ºî¤·¤Ê¤¤¾ì¹ç¤Ï¡¢~/.mlterm/msg.log ¤Ë¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬½Ð¤Æ¤¤¤Ê¤¤¤«³Îǧ ¤·¤Æ¤¯¤À¤µ¤¤¡£ * ÀßÄê o ÀßÄê¥Õ¥¡¥¤¥ë ${SYSCONFDIR}/mlterm °Ê²¼¡¢¤ª¤è¤Ó¡¢~/.mlterm °Ê²¼¤Ë¤ª¤«¤ì¤Þ¤¹¡£ Á°¼Ô¤¬Àè¤ËÆÉ¤Þ¤ì¡¢¼¡¤Ë¤½¤ì¤ò¸å¼Ô¤Ç¾å½ñ¤­¤Ç¤­¤Þ¤¹¡£ main ... °ú¿ô¥ª¥×¥·¥ç¥ó¤Ç¾å½ñ¤­²Äǽ¤Ê¡¢¥×¥ê¥ß¥Æ¥£¥Ö¤ÊÀßÄê font ... ¥Õ¥©¥ó¥ÈÀßÄê vfont ... ²ÄÊÑĹ¥³¥é¥àÉý»ÈÍÑ»þ¤Î¥Õ¥©¥ó¥ÈÀßÄê aafont ... Xft or cairoÍÑ¥Õ¥©¥ó¥ÈÀßÄê vaafont ... Xft or cairoÍѤ«¤Ä²ÄÊÑĹ¥³¥é¥àÉý»ÈÍÑ»þ¤Î¥Õ¥©¥ó¥ÈÀßÄê tfont ... ½ÄÍÑ¥Õ¥©¥ó¥È»ØÄê taafont ... Xft or cairoÍѤ«¤Ä½ÄÍÑ¥Õ¥©¥ó¥È»ØÄê color ... ¿§ÄêµÁ key ... ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ÄêµÁ termcap ... termcap¤â¤É¤­ xim ... XIM ¥í¡¼¥±¡¼¥ë»ØÄê o main KEY=VALUE ¹ÔƬ¤Î # ¤Ç¡¢¤½¤Î¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤Ç¤­¤Þ¤¹¡£ ** ¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ëÊý¤Î¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǤ¹¡£ (#) ¤Î¤Ä¤¤¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢ÀßÄê²èÌ̤«¤é¤ÎưŪÊѹ¹¤¬²Äǽ¤Ç¤¹¡£ -- Window ´ØÏ¢ -- o display X ¤Î DISPLAY ¤ò»ØÄê o depth Visual ¤Î¿¼¤µ (8, 16, 24, 32) ¤Ê¤ª¡¢depth ¤¬ 32 ¤Î¾ì¹ç¡¢--alpha ¥ª¥×¥·¥ç¥óËô¤ÏÇØ·Ê¿§¤È¤·¤Æ "rgba:RR/GG/BB/AA" ¤È»ØÄꤹ¤ë¤³¤È¤Ç¡¢È¾Æ©ÌÀ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ o parent_window (*0*) ¿Æ Window ¤Î Window ID ¤ò»ØÄê o geometry ɽ¼¨°ÌÃÖ¤ò»ØÄê o app_name (*mlterm*) ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó̾ o title (*mlterm*) ¥¿¥¤¥È¥ë̾ o icon_name (*mlterm*) ¥¢¥¤¥³¥ó̾ o icon_path ¥¢¥¤¥³¥ó²èÁü¤Î¥Õ¥¡¥¤¥ë̾ o screen_width_ratio (*100*) (#) ¼Â¥¹¥¯¥ê¡¼¥ó¤Î²£Éý(ɴʬΨ) ½Ä½ñ¤­¥â¡¼¥É¤Î¾ì¹ç¤Ï½ÄÉý o inner_border (*2*) Window ¤Î inner border (0-224) "H,V"·Á¼°¤ÇÃͤò»ØÄꤹ¤ë¤È¡¢²£Êý¸þ¤È½ÄÊý¸þ¤ÇÊÌ¡¹¤Ë inner border ¤ÎÃͤò»Ø Äê¤Ç¤­¤Þ¤¹¡£ o layout_inner_border (*0*) Layout Manager ¤Î inner border (0-224) "H,V"·Á¼°¤ÇÃͤò»ØÄꤹ¤ë¤È¡¢²£Êý¸þ¤È½ÄÊý¸þ¤ÇÊÌ¡¹¤Ë inner border ¤ÎÃͤò»Ø Äê¤Ç¤­¤Þ¤¹¡£ -- Terminal ´ØÏ¢ -- o use_login_shell (true/*false*) ¥í¥°¥¤¥ó¥·¥§¥ë¤ò»È¤¦¤«¤É¤¦¤« o termtype (*xterm*) üËö¥¿¥¤¥× o max_ptys (*32*) Ʊ»þ¤ËΩ¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤­¤ë pty ¤ÎºÇÂç¿ô (32¤ÎÇÜ¿ô¤Ç»ØÄê) o startup_screens (*1*) µ¯Æ°»þ¤ËΩ¤Á¾å¤²¤ë¥¦¥£¥ó¥É¥¦¤Î¿ô o default_cell_size (*8,16*) mlterm-con ¤¬¥»¥ë¤ÎÉý¤È¹â¤µ¤Î¥Ô¥¯¥»¥ë¿ô¤ò¼èÆÀ¤Ç¤­¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë»ÈÍѤ¹¤ë ¥Ç¥Õ¥©¥ë¥È¤ÎÉý¤È¹â¤µ o console_sixel_colors (*16*) mlterm-con ¤¬Æ°ºî¤¹¤ë¥³¥ó¥½¡¼¥ë¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë Sixel Graphics ¤Î¿§¿ô 16, 256, full ¤Î¤¤¤º¤ì¤«¤ò»ØÄꤷ¤Þ¤¹¡£ o primary_da (*63;1;2;3;4;7;29*) CSI c ¤ËÂФ¹¤ë±þÅúʸ»úÎó o secondary_da (*24;279;0*) CSI > c ¤ËÂФ¹¤ë±þÅúʸ»úÎó -- Encoding ´ØÏ¢ -- o encoding (*auto*) (#) ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î»ØÄê ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ï¡¢°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ ISO-8859-[1-11], ISO-8859-[13-16], TIS-620(same as ISO-8859-11), KOI8-[RUT], ISCII_(ASSAMESE|BENGALI|GUJARATI|HINDI|KANNADA|MALAYALAM| ORIYA|PUNJABI|TAMIL|TELUGU), VISCII, TCVN5712, GEORGIAN_PS, CP125[0-8], CP874, EUC-JP, EUC-JISX0213, Shift_JIS, Shift_JISX0213, ISO-2022-JP[1-3], EUC-KR, UHC, JOHAB, ISO-2022-KR, GB2312 (EUC-CN), GBK, GB18030, ISO-2022-CN, HZ, EUC-TW, BIG5, BIG5HKSCS, UTF-8, AUTO '-' , '_' ¤ª¤è¤Ó¡¢Âçʸ»ú¾®Ê¸»ú¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ (Ãí) o pty ¤«¤éή¤ì¤Æ¤¯¤ëʸ»úÎó¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò¼«Æ°Ç§¼±¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤» ¤ó¡£ o TIS620,TCVN5712,JISX0213 ¤Î¹çÀ®ÍÑ¥À¥¤¥¢¥¯¥ê¥Æ¥£¥«¥ë¥Þ¡¼¥¯¡¢¤ª¤è¤Ó UNICODE ¤Î·ë¹ç¥¯¥é¥¹·ë¹çʸ»ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢·ë¹çʸ»ú¤òưŪ¹çÀ®¤Ç¤­¤Þ¤¹¤Î ¤Ç¡¢¤½¤ì¤é¤ò»È¤¦¾ì¹ç¤Ï¡¢-m ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ¡¢·ë¹çʸ»ú¥µ¥Ý¡¼¥È¤òÍ­ ¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ o KOI8_T, GEORGIAN_PS, CP125[0-8], CP874 ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ÀìÍѤΥե©¥ó¥È¤Ï¸ ºß¤»¤º¡¢Unicode ·Ðͳ¤Ç¤·¤«ÍøÍѤǤ­¤Ê¤¤¤¿¤á¡¢É¬¤º -u ¥ª¥×¥·¥ç¥ó¤òÊ»ÍѤ· ¤Æ¤¯¤À¤µ¤¤¡£ o AUTO ¤ò»ØÄꤷ¤¿¾ì¹ç¡¢nl_langinfo -> LC_ALL -> LC_CTYPE -> LANG¤ò½çÈÖ¤Ë Ä´¤Ù¡¢Å¬Åö¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁªÂò¤·¤Þ¤¹¡£ ENCODING »ØÄê¤ò¹Ô¤Ê¤ï¤Ê¤«¤Ã¤¿¾ì¹ç¤âƱÍͤǤ¹¡£ o use_ctl (*true*/false) (#) BiDi µÚ¤Ó ¥¤¥ó¥É½ô¸ì ¤Î¥ì¥ó¥À¥ê¥ó¥°¤ò¹Ô¤¦¡£ (ɬÍפʤ¤¾ì¹ç¤Ï false ¤ËÀßÄꤹ¤ë¤³¤È¤ò¿ä¾©¤·¤Þ¤¹¡£) o bidi_mode (*normal*/left/right) left Ëô¤Ï right ¤ò»ØÄꤹ¤ë¤È¡¢Á´¤Æ¤Î¹Ô¤òº¸´ó¤»Ëô¤Ï±¦´ó¤»¤Çɽ¼¨¤¹¤ë¡£ o bidi_separators (#) BiDi ¥ì¥ó¥À¥ê¥ó¥°¤ò¹Ô¤¦ÈϰϤò¶èÀÚ¤ëʸ»ú¤ò»ØÄꤹ¤ë¡£ ('\x'¤«¤é»Ï¤Þ¤ë16¿Ê¿ô¤Î»ÈÍѤâ²Ä) o use_combining (*true*/false) (#) ·ë¹çʸ»ú¤ò½èÍý¤¹¤ë(ľÁ°¤Î´ðÄìʸ»ú¤Ë·ë¹ç¤¹¤ë) ¤Ê¤ª¡¢use_dynamic_comb ¤¬ true ¤Î¾ì¹ç¤Ï¡¢¼«Æ°Åª¤Ë false ¤Ë¤Ê¤ê¤Þ¤¹¡£ o use_dynamic_comb (true/*false*) (#) ·ë¹çʸ»ú¤Ë¤Ä¤¤¤Æ¡¢1¥«¥é¥àʬÀêÍ­¤¹¤ë¤¬¡¢Ä¾Á°¤Î´ðÄìʸ»ú¤Ë·ë¹ç¤·¤ÆÉ½¼¨¤¹¤ë¡£ üËö¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬·ë¹çʸ»ú¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤â¡¢·ë¹çʸ»ú¤òÀµ ¤·¤¯É½¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ o big5_buggy (true/*false*) Big5 CTEXT ¤Î¥Ð¥° (XFree86 4.1.0 °ÊÁ°) ¤ËÂбþ¤¹¤ë o col_size_of_width_a (1/2) (#) UNICODE ¤Î EastAsianWidth.txt ¤Î A ¥×¥í¥Ñ¥Æ¥£¤Î¥³¥é¥à¿ô ¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢ja_XX.XX locale ´Ä¶­¤Ç¤Ï 2 , ¤½¤Î¾¤Î´Ä¶­¤Ç¤Ï 1 ¤Ç¤¹¡£. o vertical_mode (*none*/cjk/mongol) (#) ½Äɽ¼¨¤Î¥¹¥¿¥¤¥ë¤ò»ØÄê cjk ¤Ï¡¢±¦¤«¤éº¸¤Î½Äɽ¼¨¡¢mongol ¤Ï¡¢º¸¤«¤é±¦¤Î½Äɽ¼¨¤Ç¤¹¡£ o use_vertical_cursor (*true*/false) ½Ä½ñ¤­ÍÑ¥«¡¼¥½¥ë ½½»ú¥«¡¼¥½¥ë¥­¡¼¤ò¡¢cjk ½Äɽ¼¨¤Î¾ì¹ç¤Ç¤¢¤ì¤Ð¡¢ ±¦ => ²¼ º¸ => ¾å ¾å => ±¦ ²¼ => º¸ ¤Ë³äÅö¤ÆÄ¾¤·¤Þ¤¹¡£ o use_multi_column_char (*true*/false) (#) 1 ʸ»ú¤ÇÊ£¿ô¥³¥é¥à¤òÀêÍ­¤¹¤ëʸ»ú¤Î½èÍý¤ò¹Ô¤Ê¤¦ ¤¤¤ï¤æ¤ëÁ´³Ñʸ»ú¤ò½èÍý¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ w3m-m17n ¤ò½Äɽ¼¨¤Ç»È ÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò̵¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ o receive_string_via_ucs (true/*false*) (#) copy and paste ¤Ç¼õ¤±¼è¤Ã¤¿ XCOMPOUND TEXT ¤ä¡¢XIM ¤«¤éÆþÎϤµ¤ì¤¿Ê¸»úÎó ¤ò¡¢°ìö UNICODE ¤ò·Ðͳ¤·¤Æ¤«¤éüËö¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÊÑ´¹¤¹¤ë o auto_detect_encodings (#) ʸ»ú¥³¡¼¥É¤ò¼«Æ°È½Äꤹ¤ë¾ì¹ç¤Î¸õÊä¤È¤¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° (¥«¥ó¥Þ¤Ç¶èÀڤäÆÊ£¿ô»ØÄê²Ä) o use_auto_detect (#) ʸ»ú¥³¡¼¥É¤Î¼«Æ°È½Äê¤ò¹Ô¤¦ ¤¢¤é¤«¤¸¤á¡¢auto_detect_encodings ¥ª¥×¥·¥ç¥ó¤Ç¸õÊä¤È¤¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° ¤ò»ØÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ o console_encoding (*auto*) mlterm-con ¤¬Æ°ºî¤¹¤ë¥³¥ó¥½¡¼¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° -- Font ´ØÏ¢ -- o fontsize (*16*) (#) ¥Õ¥©¥ó¥È¥µ¥¤¥º ¤Ê¤ª¡¢Î㤨¤Ð¡¢(tv)font ÀßÄê¥Õ¥¡¥¤¥ë¤Ç¡¢ DEFAULT=-kochi-mincho-medium-*--14-*- ¤Î¤è¤¦¤Ë¡¢ÆÃÄê¤Î¥µ¥¤¥º(¾åµ­Îã¤Ç¤Ï 14 pixel)¤Î¥Õ¥©¥ó¥È¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ »ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢fontsize ¥ª¥×¥·¥ç¥ó¤òÊѹ¹¤·¤Æ¤â¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¤Ï(¾åµ­ Îã¤Ç¤Ï 14 pixel ¤Î¤Þ¤Þ)ÊѤï¤é¤Ê¤¯¤Ê¤ë¤¿¤á¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ o font_size_range (*6-30*) Êѹ¹²Äǽ¤Ê¥Õ¥©¥ó¥È¥µ¥¤¥º¤ÎÈÏ°Ï ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£ [min]-[max] e.g.) font_size_range = 10-24 10 ¤«¤é 24 ¥Ý¥¤¥ó¥È¤Þ¤ÇÊѹ¹¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ o step_in_changing_font_size (*1*) larger,smaller ¥Ü¥¿¥ó¤Ç¤Î¥Õ¥©¥ó¥È¥µ¥¤¥º¤ÎÊѲ½ÎÌ(*1*) o use_point_size (true/*false*) fontsize¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿¿ôÃͤò¥Ô¥¯¥»¥ë¤Ç¤Ê¤¯¥Ý¥¤¥ó¥È¤È¤·¤Æ°·¤¦¡£ (cairo¡¢xftËô¤Ïwin32¤Î¾ì¹ç¤Î¤ßÍ­¸ú) o use_variable_column_width (true/*false*) (#) ²ÄÊÑĹ¥³¥é¥àÉý¤ò»ÈÍѤ¹¤ë ¤Ê¤ª¡¢vertical_mode ¤¬ cjk Ëô¤Ï mongol ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ ¼«Æ°Åª¤Ë false ¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ o type_engine (xcore/xft/*cairo*) (#) xcore, xft Ëô¤Ï cairo¤Î¤¤¤º¤ì¤Ë¤è¤ê¥Õ¥©¥ó¥È¤òÉÁ²è¤¹¤ë¤«¤ò»ØÄꤹ¤ë¡£ ¤Ê¤ª¡¢use_anti_alias = true ¤Ë¤·¤¿¾ì¹ç¤Ï¡¢¼«Æ°Åª¤Ë type_engine = cairo ¤È ¤Ê¤ê¤Þ¤¹¡£ o use_anti_alias (true/false/*default*) (#) ¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¥Õ¥©¥ó¥È¤ò¶¯À©Åª¤Ë»ÈÍѤ¹¤ë¡£ ¤Ê¤ª¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹çËô¤Ï use_anti_alias = default ¤Ë¤·¤¿¾ì¹ç¡¢¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹¤¹¤ë¤«¤É¤¦¤«¤Ï¡¢¥·¥¹¥Æ¥à¤ÎÀßÄê¤Ë¤è¤ê¤Þ¤¹¡£ o use_cp932_ucs_for_xft (*true*/false) Xft Ëô¤Ï cairo »ÈÍÑ»þ¡¢JISX0208 ¤Î Unicode ÊÑ´¹¤Ë CP932 ¤ÎÊÑ´¹¥Æ¡¼¥Ö¥ë ¤ò»È¤¦ ¿¤¯¤Î Unicode ¥Õ¥©¥ó¥È(ÅìÉ÷¡¢Dynalab ¥Õ¥©¥ó¥È)¤Ï¡¢CP932 ¤ÎÊÑ´¹¥Æ¡¼¥Ö ¥ë¤ò¸µ¤Ë¡¢JISX0208 ÍѤΥե©¥ó¥È¤ò³ÊǼ¤·¤Æ¤¤¤Þ¤¹¡£¡Ö¡Á¡×¤Ê¤É¤¬É½¼¨¤µ¤ì ¤Ê¤¤¤È¤¤¤¦¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ o not_use_unicode_font (true/*false*) (#) UNICODE ¤òŬÅö¤Êʸ»ú½¸¹ç¤Ëmap¤·¤Æ¡¢UNICODE ¥Õ¥©¥ó¥È¤ò»È¤ï¤º¤Ëɽ¼¨¤¹¤ë o unicode_noconv_areas (#) not_use_unicode_font ¤ò true ¤È¤·¤¿¾ì¹ç¤Ç¤â¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿ÈÏ °Ï¤Îʸ»ú¤Ï¡¢¾ï¤Ë UNICODE ¤Î¤Þ¤Þɽ¼¨¤¹¤ë¡£ ÈϰϤλØÄêÊýË¡¤Ï¼¡¤Î¤È¤ª¤ê¡£ e.g.) U+1234-5678,U+0123-4567 o only_use_unicode_font (true/*false*) (#) ¤¹¤Ù¤Æ¤Îʸ»ú¤ò UNICODE ¥Õ¥©¥ó¥È¤À¤±¤ò»È¤Ã¤ÆÉ½¼¨¤¹¤ë o iso88591_font_for_usascii (true/*false*) US_ASCII ¤Îɽ¼¨¤Ë¤Ï¡¢É¬¤º ISO8859-1 ¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë o box_drawing_font (unicode/decsp/*noconv*) (#) ·ÓÀþʸ»ú¤Ë¤Ä¤¤¤Æ¡¢¾ï¤Ë Unicode ¥Õ¥©¥ó¥ÈËô¤Ï DEC Special ¥Õ¥©¥ó¥È¤Çɽ¼¨¤¹ ¤ë¡£ o compose_dec_special_font (true/*false*) DEC special (ÆÃ¼ìʸ»ú¤ò½ü¤¯) ¤Î¥°¥ê¥Õ¤òưŪ¤Ë¹çÀ® ¤³¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢"font" ¥Õ¥¡¥¤¥ë¤Ç DEC_SPECIAL ¤È¤·¤Æ »ØÄꤷ¤¿¥Õ¥©¥ó¥È¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ o use_bold_font (*true*/false) ¥Ü¡¼¥ë¥É¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë¡£ o use_italic_font (*true*/false) ¥¤¥¿¥ê¥Ã¥¯¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë¡£ o leftward_double_drawing (true/*false*) medium ¥Õ¥©¥ó¥È¤ò½Å¤ÍÂǤÁ¤¹¤ë¾ì¹ç¤Î³«»Ï°ÌÃÖ¤ò1¥Ô¥¯¥»¥ëº¸(¥Ç¥Õ¥©¥ë¥È¤Ï±¦) ¤«¤é¤È¤¹¤ë¡£ o unicode_full_width_areas (#) EastAsianWidth.txt ¤Ë´Ø¤ï¤é¤º¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿ÈϰϤÎʸ»ú¤Ï¡¢¾ï ¤ËÁ´³ÑÉý¤È¤¹¤ë¡£ÈϰϤλØÄêÊýË¡¤Ï¡¢unicode_noconv_areas ¥ª¥×¥·¥ç¥ó»²¾È o use_ot_layout (true/*false*) (#) Open Type ¥Õ¥©¥ó¥È¤ÎÃÖ´¹¥°¥ê¥ÕÅù¤ò»È¤Ã¤Æ¥Æ¥­¥¹¥È¤òɽ¼¨¤·¤Þ¤¹¡£ use_ctl ¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ ¤Ê¤ª¡¢use_ot_layout=true ¤Î¾ì¹ç¡¢cairo on xlib µÚ¤Ó freetype+fontconfig on framebuffer/wayland ¤Ë¤ª¤±¤ëÂåÂØ¥°¥ê¥Õ¸¡º÷¤Ë¤è¤ë¼«Æ°¥Õ¥©¥ó¥ÈÊä´°µ¡Ç½¤Ï̵¸ú ¤È¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢º£¤Î¤È¤³¤í¡¢FiraCode ¥Õ¥©¥ó¥ÈµÚ¤Ó¤½¤ì¤ÈƱÍͤÎÊýË¡¤Ë¤è¤êÅùÉý¤Ç¥ê¥¬¥Á¥ã ¤¹¤ë¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢freetype on framebuffer/wayland ¤Ç¤Ïɽ¼¨¤Ç¤­¤Þ¤»¤ó¡£ o ot_script (latn) (#) ¥°¥ê¥ÕÃÖ´¹¤ò¹Ô¤¦¾ì¹ç¤Î script ¤ò»ØÄꤷ¤Þ¤¹¡£ o ot_features (liga,clig,dlig,hlig,rlig) (#) ¥°¥ê¥ÕÃÖ´¹¤ò¹Ô¤¦¾ì¹ç¤Î feature ¤ò»ØÄꤷ¤Þ¤¹¡£ -- Appearance ´ØÏ¢ -- o use_transbg (true/*false*) (#) µ¼»÷Ū¤ÊÇØ·ÊÆ©²á¤ò¹Ô¤¦¡£ o use_mdi (*true*/false) ¥¹¥¯¥í¡¼¥ë¥Ð¡¼µÚ¤Ó²èÌÌʬ³ä¤òÍ­¸ú¤Ë¤¹¤ë¡£ scrollbar_mode , scrollbar_view_name ¥ª¥×¥·¥ç¥ó¤Ï¡¢¤³¤ì¤¬ true ¤Î¾ì¹ç¤Î ¤ßÍ­¸ú¤Ç¤¹¡£ o scrollbar_mode (none/*left*/right/autohide) (#) ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î¤Ä¤±Êý autohide ¤Î¾ì¹ç¡¢¥Þ¥¦¥¹¥«¡¼¥½¥ë¤ò²èÌ̤α¦Ã¼¤Ë¶á¤Å¤±¤¿¤È¤­¤À¤±°ì»þŪ¤Ë¥¹¥¯ ¥í¡¼¥ë¥Ð¡¼¤òɽ¼¨¤·¤Þ¤¹¡£ o scrollbar_view_name (*simple*/sample/sample2/sample3/next/motif/athena/mozmodern) (#) »È¤¤¤¿¤¤¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Î̾Á° o fg_color (*black*) (#) üËö²èÌ̤ÎÁ°·Ê¿§ fg_color,bg_color¤Ë»ØÄê¤Ç¤­¤ëÃͤϡ¢rgb.txt ¤ÇÄêµÁ¤µ¤ì¤¿¿§Ì¾¡¢#RRGGBB¡¢ #RRGGBBAA¡¢rgb:RR/GG/BB Ëô¤Ï rgba:RR/GG/BB/AA ·Á¼°¤Î¿§»ØÄê¤Ç¤¹¡£ e.g.) fg_color = blue fg_color = #aabbcc o bg_color (*white*) (#) Æ±ÇØ·Ê¿§ o sb_fg_color (#) ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÎÁ°·Ê¿§ o sb_bg_color (#) Æ±ÇØ·Ê¿§ o cursor_fg_color (#) ¥«¡¼¥½¥ë¤ÎÁ°·Ê¿§ o cursor_bg_color (#) Æ±ÇØ·Ê¿§ o bd_color (#) ¥Ü¡¼¥ë¥É¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ o it_color (#) ¥¤¥¿¥ê¥Ã¥¯¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ o ul_color (#) ¥¢¥ó¥À¡¼¥é¥¤¥ó¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ o bl_color (#) ÅÀÌǤÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ o co_color (#) ÂǤÁ¾Ã¤·Àþ¤ÎÂå¤ï¤ê¤Ëʸ»ú¤Ë¿§¤òÉÕ¤±¤ë¤Î¤Ë»ÈÍѤ¹¤ë¿§ o vt_color_mode (256/*high*/true) CSI 38;2;r;g;b m Ëô¤Ï CSI 48;2;r;g;b m ¤Ç»ØÄꤵ¤ì¤¿ RGB ¤Ë¤è¤êɽ¼¨¤µ¤ì¤ë ¿§¤Ë¤Ä¤¤¤Æ¡¢256¿§¤«¤é¤Î¶á»÷ÃͤȤ¹¤ë¤«¡¢high color Ëô¤Ï true color ¤Çɽ¼¨ ¤¹¤ë¤«¤ò»ØÄꤹ¤ë¡£ o hide_underline (true/*false*) ¥¢¥ó¥À¡¼¥é¥¤¥ó¤òÉÁ²è¤·¤Ê¤¤¡£ o underline_offset (0) (#) ¥¢¥ó¥À¡¼¥é¥¤¥ó¤Î°ÌÃÖ(¥Õ¥©¥ó¥È¤Î¥Ù¡¼¥¹¥é¥¤¥ó¤«¤é¤ÎÁêÂаÌÃÖ) o baseline_offset (0) (#) ¥Ù¡¼¥¹¥é¥¤¥ó¤ÎÁêÂаÌÃÖ o wall_picture (*¤Ê¤·*) (#) ÊÉ»æ¤Ë¤¹¤ë²èÁü¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹ ¤Ê¤ª¡¢use_transbg ¤¬ true ¤È¤Ê¤Ã¤Æ¤¤¤ë´Ö¤Ï¡¢ÊÉ»æ¤Îɽ¼¨¤Ï¹Ô¤Ê¤ï¤ì¤Þ¤»¤ó¡£ o fade_ratio (*100*) (#) Focus ¤«¤é³°¤ì¤¿¤È¤­¤ÎÁ°·Ê/ÇØ·Ê¿§¤Î Fade Ψ(ɴʬΨ)[0-100] o brightness (*100*) (#) ÇØ·Ê²èÁü(Æ©²á½èÍý´Þ¤à)¤Îµ±ÅÙÄ´À°(ɴʬΨ)[0-100] o contrast (*100*) (#) ÇØ·Ê²èÁü(Æ©²á½èÍý´Þ¤à)¤Î¥³¥ó¥È¥é¥¹¥È(ɴʬΨ)[0-100] o gamma (*100*) (#) ÇØ·Ê²èÁü(Æ©²á½èÍý´Þ¤à)¤Î¥¬¥ó¥ÞÃÍ(ɴʬΨ)[0-100] o alpha (*255*) (#) ÇØ·Ê²èÁü»ÈÍÑ»þµÚ¤ÓÆ©²á½èÍý»þ¤Ë¡¢bg_color ¤Ç»ØÄꤷ¤¿¿§¤ÈÇØ·Ê¤ò¥Ö¥ì¥ó¥É¤¹ ¤ëÈæÎ¨[0-255] ¤Ê¤ª¡¢ÇطʲèÁüËô¤Ïµ¼»÷Ū¤ÊÇØ·ÊÆ©²á¤ò»ÈÍѤ¹¤ëºÝ¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¥Ç¥Õ¥© ¥ë¥ÈÃÍ (255) ¤Î¤Þ¤Þ¤À¤Ã¤¿¾ì¹ç¤Ï¡¢¼«Æ°Åª¤Ë 0 ¤ËÊѹ¹¤µ¤ì¤Þ¤¹¡£ depth ¥ª¥×¥·¥ç¥ó¤ÎÀâÌÀ¤â»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ o line_space (*0*) (#) ¹Ô´Ö¤Î¹­¤µ[0-255] ¹â¤µ¤¬ÉÔ·¤¤¤ÎÊ£¿ô¤Î¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¹Ô´Ö¤òŬµ¹ Ä´À°¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Þ¥¤¥Ê¥¹¤ÎÃͤò»ØÄꤹ¤ë¤È¹Ô´Ö¤¬¶¹¤¯¤Ê¤ê¤Þ¤¹¡£ o letter_space (*0*) (#) »ú´Ö¤Î¹­¤µ[0-255] Éý¤¬ÉÔ·¤¤¤ÎÊ£¿ô¤Î¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç»ú´Ö¤òŬµ¹ Ä´À°¤·¤Æ¤¯¤À¤µ¤¤¡£ ¤Ê¤ª¡¢-V ¥ª¥×¥·¥ç¥ó¤ÈƱ»þ¤Ë»ØÄꤹ¤ë¤È̵¸ú¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤Þ¤¿¡¢type_engine=xcore ¤Ç letter_space ¤Ë 1 °Ê¾å¤ÎÃͤò»ØÄꤹ¤ë¤È¡¢ ÉÁ²è¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤¬ÂçÉý¤ËÄã²¼¤·¤Þ¤¹¡£ ¥Þ¥¤¥Ê¥¹¤ÎÃͤϻØÄê¤Ç¤­¤Þ¤»¤ó¡£ o borderless (true/*false*) Window Manager ¤Î¾þ¤ê¤ò³°¤¹¡£ o blink_cursor (true/*false*) (#) ¥«¡¼¥½¥ë¤òÅÀÌǤµ¤»¤ë¡£ -- ¤½¤Î¾ -- o locale »ØÄꤷ¤¿¥í¡¼¥±¡¼¥ë¤Ë setlocale() ¤·¤Þ¤¹¡£ o use_xim (*true*/false) XIM ¤ò»È¤¦ ¤³¤ì¤ò false ¤Ë¤¹¤ë¤È¡¢XIM ¤Ï°ìÀÚ»ÈÍѤǤ­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£ o input_method (#) »ÈÍѤ¹¤ë¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ [input method];[option1]:[option2] [input method] ¤Ë¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É(xim/uim/m17nlib/scim/kbd/skk/wnn/ canna/iiimf)¤ò»ØÄꤷ¡¢É¬ÍפǤ¢¤ì¤Ð ":" ¤Ç¶èÀڤäƥª¥×¥·¥ç¥ó¤òÎóµó¤·¤Þ¤¹¡£ ³Æ¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤Î¥ª¥×¥·¥ç¥ó¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ xim ¤Î¾ì¹ç: xim:[xim server]:[locale] [xim server] ¤Ç XIM ¥µ¡¼¥Ð¡¼Ì¾(kinput2, Ami, xcin ¤Ê¤É)¤ò»ØÄꤷ¤Þ¤¹¡£ »ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢´Ä¶­ÊÑ¿ô XMODIFIERS ¤Ç»ØÄꤷ¤¿ XIM ¥µ¡¼¥Ð¡¼¤¬ »ÈÍѤµ¤ì¤Þ¤¹¡£[locale] ¤Ë¤Ï XIM ¥µ¡¼¥Ð¡¼¤Î¥í¡¼¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£»ØÄꤷ ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¥·¥¹¥Æ¥à¤Î¥í¡¼¥±¡¼¥ë¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£use_xim ¥ª¥×¥·¥ç¥ó¤Ç xim ¤ò̵¸ú¤Ë¤·¤¿¾ì¹ç¡¢xim ¤ò»ØÄꤷ¤Æ¤â̵»ë¤µ¤ì¤Þ¤¹¡£ uim ¤Î¾ì¹ç: uim:[conversion engine] [conversion engine] ¤ËÊÑ´¹¥¨¥ó¥¸¥ó(anthy, prime, hangul2¤Ê¤É)¤ò»ØÄꤷ¤Þ ¤¹¡£»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï uim ¤Î¥Ç¥Õ¥©¥ë¥ÈÊÑ´¹¥¨¥ó¥¸¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ m17nlib ¤Î¾ì¹ç: m17nlib:[language id]:[input method] [language id] ¤Ë¤Ï ISO-639 ¤Ë½¾¤Ã¤Æ¸À¸ì(ar, zh, ja ¤Ê¤É)¤ò»ØÄꤷ¤Þ¤¹¡£ »ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¥·¥¹¥Æ¥à¤Î¥í¡¼¥±¡¼¥ë¤«¤é¼èÆÀ¤·¤¿¸À¸ì¤¬»È¤ï¤ì¤Þ¤¹ [input_method] ¤Ç»ÈÍѤ¹¤ë¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É(anthy, py ¤Ê¤É)¤ò»ØÄꤷ¤Þ¤¹ »ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï [language id] ¤Î¥Ç¥Õ¥©¥ë¥È¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É¤¬»È ÍѤµ¤ì¤Þ¤¹¡£m17nlib ¤ò»ØÄꤷ¤¿»þ¤Ï key ¥Õ¥¡¥¤¥ë¤Ç IM_HOTKEY ¤ò»ØÄꤷ¤Æ ¤¯¤À¤µ¤¤¡£ scim ¤Î¾ì¹ç: scim (¥ª¥×¥·¥ç¥ó̵¤·) ibus ¤Î¾ì¹ç¡§ ibus:[conversion engine] [conversion engine] ¤ËÊÑ´¹¥¨¥ó¥¸¥ó(anthy, prime, hangul2¤Ê¤É)¤ò»ØÄꤷ¤Þ ¤¹¡£»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï ibus ¤Î¥Ç¥Õ¥©¥ë¥ÈÊÑ´¹¥¨¥ó¥¸¥ó¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ (ibus¤ò»ÈÍѤ¹¤ëºÝ¤ÎÃí°ÕÅÀ) ibus ¤Î preferences ²èÌ̤«¤é¥­¡¼¥Ü¡¼¥É¥·¥ç¡¼¥È¥«¥Ã¥È¤òÀßÄꤹ¤ë¾ì¹ç¡¢¥â¥Ç ¥£¥Õ¥¡¥¤¥¢¤Î Release ¤Ë¤Ï¥Á¥§¥Ã¥¯¤òÉÕ¤±¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ fcitx ¤Î¾ì¹ç: fcitx (¥ª¥×¥·¥ç¥ó̵¤·) wnn ¤Î¾ì¹ç: wnn:[server] [server] ¤Ë¤Ï¡¢Àܳ¤¹¤ë¤«¤Ê´Á»úÊÑ´¹¥µ¡¼¥Ð¤ò»ØÄꤷ¤Þ¤¹¡£ ¤Ê¤ª¡¢JSERVER ´Ä¶­ÊÑ¿ô¤Ë¤è¤ê»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ ¤Þ¤¿¡¢WNNENVRC ´Ä¶­ÊÑ¿ô¤Ë¤è¤ê wnnenvrc ¥Õ¥¡¥¤¥ë¤Î¾ì½ê¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ canna ¤Î¾ì¹ç: canna (¥ª¥×¥·¥ç¥ó̵¤·) skk ¤Î¾ì¹ç: skk:dict=[dictionary](:utf8),sskey=[sticky shift key] [dictionary] ¤Ë¡¢Àܳ¤¹¤ë¼­½ñ¥µ¡¼¥Ð(skkserv)¤Î "¥Û¥¹¥È̾:¥Ý¡¼¥ÈÈÖ¹æ" Ëô ¤Ï¡¢¼­½ñ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡£¼­½ñ¤¬ UTF-8 ¤Î¾ì¹ç¤Ë¤Ï¡¢ËöÈø¤Ë :utf8 ¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£ SKK_DICTIONARY ´Ä¶­ÊÑ¿ô¤Ë¤è¤ê»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ »ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢localhost ¤Î¼­½ñ¥µ¡¼¥Ð¤ËÀܳ¤·¤Þ¤¹¡£ ¤Ê¤ª¡¢¾åµ­¤È¤ÏÊ̤ˡ¢~/.mlterm/skk-jisyo ¤ò¥í¡¼¥«¥ë¤Î¼­½ñ¤È¤·¤Æ»ÈÍѤ·¤Þ¤¹¡£ [sticky shift key] ¤Ë¤Ï¡¢sticky shift key ¤È¤·¤Æ»ÈÍѤ¹¤ë¥­¡¼¤ò»ØÄꤷ¤Æ¤¯ ¤À¤µ¤¤¡£°õºþ²Äǽ¤Êʸ»ú¤Î¥­¡¼¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¤½¤Îʸ»ú(\x3b¤Î¤è¤¦¤Ë16¿Ê¿ô ¤Ç»ØÄꤹ¤ë¤³¤È¤â²Ä)¤ò¡¢¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï ¤ËÄêµÁ¤µ¤ì¤¿¥· ¥ó¥Ü¥ë(XK_¤ò½ü¤¯)¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ SKK_STICKY_SHIFT_KEY ´Ä¶­ÊÑ¿ô¤Ë¤è¤ê»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ kbd ¤Î¾ì¹ç: kbd:[mode] [mode]¤Ë¤Ï¡¢isciixxx¡¢arabic Ëô¤Ï hebrew ¤ò»ØÄꤷ¤Þ¤¹¡£ ¤Ê¤ª¡¢[mode]¤ò¾Êά¤·¤¿¾ì¹ç¡¢ISCII ¥â¡¼¥É¤Î»þ¤Ï ISCII ÇÛÎ󡢤½¤ì°Ê³°¤Ç¤Ï ¥í¡¼¥±¡¼¥ë¤¬ ar_* ¤Î¾ì¹ç¤Ï¥¢¥é¥Ó¥¢¸ìÇÛÎó¡¢he_* ¤Î¾ì¹ç¤Ï¥Ø¥Ö¥é¥¤¸ìÇÛÎó¤Î ¥­¡¼¥Þ¥Ã¥Ô¥ó¥°¤Ë¤Ê¤ê¤Þ¤¹¡£ kbd ¤ò»ØÄꤷ¤¿»þ¤Ï key ¥Õ¥¡¥¤¥ë¤Ç IM_HOTKEY ¤ò»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ iiimf ¤Î¾ì¹ç: iiimf:[language id]:[language engine] [language id] ¤Ë¤Ï RFC1766 ¤Ë½¾¤Ã¤Æ¸À¸ì(ar, zh_CN, ja ¤Ê¤É)¤ò»ØÄꤷ¤Þ ¤¹¡£»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¥·¥¹¥Æ¥à¤Î¥í¡¼¥±¡¼¥ë¤«¤é¼èÆÀ¤·¤¿¸À¸ì¤¬»È¤ï¤ì ¤Þ¤¹¡£[language engine] ¤Ç¤Ï»ÈÍѤ¹¤ë LE (CannaLE, newpy ¤Ê¤É)¤ò»ØÄꤷ¤Þ ¤¹¡£»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï [language id] ¤Î¥Ç¥Õ¥©¥ë¥È LE ¤¬»ÈÍѤµ¤ì¤Þ ¤¹¡£ ¤Ê¤ª¡¢HTT_SERVER_ADDRESS ´Ä¶­ÊÑ¿ô¤Ë¤è¤ê¡¢Àܳ¤¹¤ë¥µ¡¼¥Ð¤Î¥¢¥É¥ì¥¹(Unix Domain Socket ¤Î¾ì¹ç¤Ï¥Õ¥¡¥¤¥ë¥Ñ¥¹)¤ò»ØÄê¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢HTT_SHOW_STATUS_WINDOW=true¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤ê¡¢¥¹¥Æ¡¼¥¿¥¹É½¼¨ÍѤΠ¥¦¥£¥ó¥É¥¦¤òɽ¼¨¤·¤Þ¤¹¡£ HTT_AUX_BASE_DIR ´Ä¶­ÊÑ¿ô¤Ë¤è¤ê¡¢aux ¥â¥¸¥å¡¼¥ë¤Î¤¢¤ë¥Ñ¥¹¤ò»ØÄꤹ¤ë¤³ ¤È¤¬¤Ç¤­¤Þ¤¹(¥Ç¥Õ¥©¥ë¥È¤Ï/usr/lib/iiim/le)¡£ o tabsize (*8*) (#) ¥¿¥ÖÉý o logsize (*128*) (#) ¥í¥°¤Î¹Ô¿ô unlimited ¤ò»ØÄꤹ¤ë¤È¥í¥°¤Î¹Ô¿ô¤Ï̵À©¸Â¤Ë¤Ê¤ê¤Þ¤¹¡£ o word_separators ( ,.:;/|@()[]{}) (#) ñ¸ì¤Î¶èÀÚ¤êʸ»ú¤ò»ØÄê('\x'¤«¤é»Ï¤Þ¤ë16¿Ê¿ô¤Î»ÈÍѤâ²Ä) ¥Þ¥¦¥¹¤Î¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Ç¡¢Ã±¸ìÁªÂò¤¹¤ëºÝ¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ o regard_uri_as_word (true/*false*) (#) URI ¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢word_separators ¥ª¥×¥·¥ç¥ó¤Ë´Ø¤ï¤é¤º¡¢Åö³º URI ¤ò°ìñ¸ì¤È¤·¤ÆÁªÂò¤¹¤ë¡£ o mod_meta_key (*none*/mod1/mod2/mod3/mod4/meta/alt/super/hyper) Meta ¥­¡¼¤È¤·¤Æ»ÈÍѤ¹¤ë¥­¡¼¤ò»ØÄê o mod_meta_mode (none/esc/*8bit*) (#) Meta ¥­¡¼¤ò²¡²¼¤·¤¿»þ¤Îµóư esc ¤Î¾ì¹ç¤Ï"0x1b"¤ò½ÐÎϤ·¡¢8bit ¤Î¾ì¹ç¤ÏÆþÎÏʸ»ú¤Î8¥Ó¥Ã¥ÈÌܤò¤¿¤Æ¤Þ¤¹¡£ o bel_mode (none/*sound*/visual/sound|visual) (#) BEL(0x7)¤ò¼õ¤±¼è¤Ã¤¿»þ¤Îµóư sound¤Î¾ì¹ç¤Ï¥Ó¡¼¥×²»¤Ç¡¢visual¤Î¾ì¹ç¤Ï²èÌÌ¥Ö¥é¥ó¥¯¤ÇBEL¤òÄÌÃΤ·¤Þ¤¹¡£ sound|visual¤ò»ØÄꤹ¤ë¤È¡¢Î¾Êý¹Ô¤¤¤Þ¤¹¡£ o use_urgent_bell (true/*false*) ¥Õ¥©¡¼¥«¥¹¤ò¼º¤Ê¤Ã¤¿²èÌ̾å¤ÇBEL(0x7)¤ò¼õ¤±¼è¤Ã¤¿»þ¤Ë¡¢¥æ¡¼¥¶¤Ë·Ù¹ð¤¹¤ë¡£ o daemon_mode (*none*/blend/genuine) daemon process ¤È¤Ê¤ë¤«¤É¤¦¤« blend ¤Î¾ì¹ç¡¢ºÇ¸å¤ÎüËö¥¦¥£¥ó¥É¥¦¤¬ÊĤ¸¤é¤ì¤¿Ãʳ¬¤Ç¡¢daemon process ¤Ï½ªÎ»¤·¤Þ¤¹¡£ °ìÊý¡¢genuine ¤Î¾ì¹ç¡¢ºÇ¸å¤ÎüËö¥¦¥£¥ó¥É¥¦¤¬ÊĤ¸¤é¤ì¤¿¸å¤â¡¢¤Þ¤¿¡¢X ¤¬½ªÎ»¤·¤¿¤Î¤Á¤â¡¢daemon process ¤È¤·¤ÆÆ°ºî¤·¤Ä¤Å¤±¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ¤Ê¤ª¡¢´û¤Ëdaemon process¤¬µ¯Æ°¤·¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢mlclient¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ o use_extended_scroll_shortcut (true/*false*) (#) ¥¹¥¯¥í¡¼¥ë¤Î¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤È¤·¤Æ¡¢PAGE_UP,PAGE_DOWN ¥·¥ç¡¼¥È¥«¥Ã¥È°Ê ³°¤Ë¡¢Up,Down,j,k,Prior,Next ¥­¡¼µÚ¤Ó¡¢SCROLL_UP,SCROLL_DOWN ¥·¥ç¡¼¥È¥« ¥Ã¥È¤òÍ­¸ú¤Ë¤¹¤ë¤«¤É¤¦¤« o init_str pty ¤ò¥ª¡¼¥×¥ó¤·¤¿¤È¤­¤Ë¡¢Ã¼Ëö¤ËÁ÷¤é¤ì¤ë½é´ü²½Ê¸»úÎó¤ò»ØÄꤹ¤ë¡£ o click_interval (*250*) (#) ¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤Î´Ö³Ö(¥ß¥êÉÃ) o static_backscroll_mode (true/*false*) (#) ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë»þ¤ËüËö½ÐÎϤ¬¤¢¤Ã¤Æ¤â²èÌ̤¬Î®¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£ o exit_backscroll_by_pty (true/*false*) ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ëÃæ¤Ë¡¢Ã¼Ëö½ÐÎϤ¬¤¢¤Ã¤¿¾ì¹ç¡¢¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¤òÈ´¤±¤ë¡£ o logging_vt_seq (true/*false*) (#) pty ¤«¤éή¤ì¤Æ¤¯¤ë VT sequence ¤ò ~/.mlterm/[device].log ¤Ëµ­Ï¿¤¹¤ë¡£ o vt_seq_format (*raw*/ttyrec) (#) ~/.mlterm/[device].log ¤Ëµ­Ï¿¤¹¤ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»ØÄꤹ¤ë¡£ raw¤Ï¤½¤Î¤Þ¤Þ¡¢ttyrec¤Ïttyrec·Á¼°¤ÇÊݸ¤¹¤ë¡£ o use_clipboard (*true*/false) (#) ÎΰèÁªÂò¤·¤¿Ê¸»úÎó¤ò¥³¥Ô¡¼¤¹¤ëºÝ¤Ë PRIMARY ¤À¤±¤Ç¤Ê¤¯ CLIPBOARD ¤â»ÈÍѤ¹¤ë¡£ o logging_msg (*true*/false) mlterm ¤¬½ÐÎϤ¹¤ë¥á¥Ã¥»¡¼¥¸¤ò ~/.mlterm/msg.log ¤Ë½ÐÎϤ¹¤ë¡£ o default_server ssh Åù¤Ë¤è¤êľÀÜ¥í¥°¥¤¥ó¤¹¤ë¥µ¡¼¥Ð¤ò»ØÄꤹ¤ë¡£ MinGW Ëô¤Ï --enable-ssh2 ¥ª¥×¥·¥ç¥ó¤Ç¥Ó¥ë¥É¤·¤¿¾ì¹ç¤ËÍ­¸ú¡£ ÃͤηÁ¼°¤Ï¡¢(://)(@)(:)(:) Îã) mlterm --serv ssh://user@host:22:eucjp o ssh_public_key (~/.ssh/id_rsa.pub (win32 ¤Ç¤Ï %HOMEPATH%\mlterm\id_rsa.pub)) ssh Àܳ¤Îǧ¾Ú¤Ç»ÈÍѤ¹¤ë¸ø³«¸°¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡£ o ssh_private_key (~/.ssh/id_rsa (win32 ¤Ç¤Ï %HOMEPATH%\mlterm\id_rsa)) ssh Àܳ¤Îǧ¾Ú¤Ç»ÈÍѤ¹¤ëÈëÌ©¸°¤Î¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¡£ o cipher_list ssh Àܳ¤Ç»ÈÍѤ¹¤ë¶¦Ä̸°°Å¹æ¤ò»ØÄꤹ¤ë¡£ (¥³¥ó¥Þ¶èÀÚ¤ê¤ÇÊ£¿ô»ØÄê) o ssh_keepalive_interval (0) ssh ÀÜÂ³Ãæ¤Ë¡¢»ØÄꤷ¤¿Éÿô¤´¤È¤Ë¡¢SSH_MSG_IGNORE ¤òÁ÷¿®¤¹¤ë¡£ (0 ¤Î¾ì¹ç¤ÏÁ÷¿®¤·¤Ê¤¤¡£) o ssh_x11_forwarding (true/*false*) ssh Àܳ¤Ç x11 forwarding ¤òÍ­¸ú¤Ë¤¹¤ë¡£ o allow_scp (true/*false*) ssh Àܳ»þ¤Ë OSC 5379 scp ¤òµö²Ä¤¹¤ë¡£ ¤Ê¤ª¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òưŪ¤ËÊѹ¹¤¹¤ë¤Ë¤Ï¡¢"proto:allow_scp=switch" ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ false ¤Î¾ì¹ç¤Ç¤â¡¢Å¾Á÷Àè¥Û¥¹¥È¤Î "." (~/.mlterm/scp) ¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë Êݸ¤¹¤ë¤³¤È¤Ï²Äǽ¤Ç¤¹¡£ o ssh_auto_reconnect (true/*false*) ssh ¤ÎÀܳ¤¬Í½´ü¤»¤ºÀÚÃǤ·¤¿¾ì¹ç¤Ë¡¢¼«Æ°Åª¤ËºÆÀܳ¤ò»î¤ß¤ë¡£ o auto_restart (*true*/false) SIGSEGV, SIGBUS, SIGFPE, SIGILL ¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¡¢mlterm ÆâÉô¤Î console application (ssh Àܳ¤ò½ü¤¯¡£)¤ò°ú¤­·Ñ¤¤¤À mlterm ¤òµ¯Æ°¤·Ä¾¤¹¡£ ¥Ç¥Ð¥Ã¥°¤Î¤¿¤á core dump ¤ò¼èÆÀ¤¹¤ë¾ì¹ç¤Ï¡¢É¬¤º false ¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ o allow_osc52 (true/*false*) OSC 52 sequence ¤Ë¤è¤ë¥¯¥ê¥Ã¥×¥Ü¡¼¥É(¥»¥ì¥¯¥·¥ç¥ó)¤Ø¤Î¥¢¥¯¥»¥¹¤òµö²Ä¤¹¤ë¡£ ¤Ê¤ª¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤òưŪ¤ËÊѹ¹¤¹¤ë¤Ë¤Ï¡¢"proto:allow_osc52=switch" ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ o use_local_echo (true/*false*) (#) local echo mode ¤òÍ­¸ú¤Ë¤¹¤ë¡£ o use_alt_buffer (*true*/false) Alternate screen buffer ¤òÍ­¸ú¤Ë¤¹¤ë¡£ xterm ¤Î "titeInhibit" ÁêÅö¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¹¤¬¡¢"titeInhibit" ¤È¤Ï¡¢ true/false ¤¬µÕ¤Ë¤Ê¤ë¤Î¤ÇÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ o use_ansi_colors (*true*/false) ANSI color change escape sequences ¤òÍ­¸ú¤Ë¤¹¤ë¡£ xterm ¤Î "colorMode" ÁêÅö¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£ o allow_change_shortcut (true/*false*) OSC 5379 ¤Î "set_shortcut" ¤Ë¤è¤ëưŪ¤Ê¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼ÄêµÁ¤òÍ­¸ú¤Ë¤¹ ¤ë¡£ o working_directory »Ò¥×¥í¥»¥¹(¥·¥§¥ë)¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¡£ o trim_trailing_newline_in_pasting (true/*false*) (#) ¥Ú¡¼¥¹¥È¤¹¤ëʸ»úÎó¤ÎËöÈø¤Î²þ¹Ô¤òºï½ü¤¹¤ë¡£ o broadcast (true/*false*) (#) ¥­¡¼ÆþÎϵڤӥڡ¼¥¹¥È¤µ¤ì¤¿Ê¸»úÎó¤ò¡¢Á´¤Æ¤Î pty (ignore_broadcasted_chars ¥ª¥×¥·¥ç¥ó¤ÎÃͤ¬ false ¤Ê¤â¤Î¤Ë¸Â¤ë) ¤ËÁ÷¿®¤¹¤ë¡£ o ignore_broadcasted_chars (true/*false*) broadcast ¥ª¥×¥·¥ç¥ó¤¬ true ¤Î¾ì¹ç¤Ç¤â¡¢¥Ö¥í¡¼¥É¥­¥ã¥¹¥È¤ò¼õ¤±ÉÕ¤±¤Ê¤¤¡£ --- Çѻߤµ¤ì¤¿¤â¤Î --- o xim_open_in_startup (*true*/false) µ¯Æ°»þ¤Ë XIM ¤ò open ¤¹¤ë¤È¤¤¤¦µ¡Ç½¤Ç¤·¤¿¤¬¡¢¥¤¥ó¥×¥Ã¥È¥á¥½¥Ã¥É´ØÏ¢ ¤Î¥ª¥×¥·¥ç¥ó¤ò input_method ¤ËÅý¹ç¤·¤¿¤Î¤ÇÇѻߤ·¤Þ¤·¤¿¡£ ¸½ºß input_method ¤Ë xim ¤ò»ØÄꤹ¤ë¤È XIM ¤Ïɬ¤º open ¤µ¤ì¤Þ¤¹¡£ ÂåÂØ¼êÃʤȤ·¤Æ --im=none ¤ò»ØÄꤷ¤Æ¡¢mlterm µ¯Æ°¸å¤Ë mlconfig ¤Ê¤É¤«¤é¡¢ xim ¤ò»ØÄꤹ¤ë¤È¤¹¤ë¤³¤È¤ÇÂбþ¤·¤Æ¤¯¤À¤µ¤¤¡£ o font/vfont/aafont/vaafont/tfont/taafont o DEFAULT ... ²¼µ­Ê¸»ú½¸¹ç¤´¤È¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¤Î¥Õ¥©¥ó¥È o DEC_SPECIAL ... ·ÓÀþʸ»úÍѤΥե©¥ó¥È o ISO8859_N ... ISO8859_N¥Õ¥©¥ó¥È o TIS620 ... TIS 620 ¥Õ¥©¥ó¥È o VISCII ... VISCII ¥Õ¥©¥ó¥È o TCVN5712_3_1993 ... TCVN5712_3_1993 ¥Õ¥©¥ó¥È o ISCII_XXX ... ISCII ¥Õ¥©¥ó¥È(XXX ¤Ï¡¢ASSAMESE, BENGALI, GUJARATI, HINDI, KANNADA, MALAYALAM, ORIYA, PUNJABI, ROMAN, TAMIL, TELUGU ¤Î¤¤¤º¤ì¤«) o KOI8_R ... KOI8_R ¥Õ¥©¥ó¥È o KOI8_U ... KOI8_U ¥Õ¥©¥ó¥È o JISX0201_ROMAN ... JISX0201º¸ÌÌ¥Õ¥©¥ó¥È o JISX0201_KATA ... JISX0201±¦ÌÌ(Ⱦ³Ñ¥«¥Ê)¥Õ¥©¥ó¥È o JISX0208_1978 ... JISX0208¥Õ¥©¥ó¥È(JISC6226_1978¤â²Ä) o JISX0208_1983 ... JISX0208¥Õ¥©¥ó¥È o JISX0208_1990 ... JISX0208¥Õ¥©¥ó¥È o JISX0212_1990 ... JISX0212(Êä½õ´Á»ú)¥Õ¥©¥ó¥È o JISX0213_2000_1 ... JISX0213_1¥Õ¥©¥ó¥È o JISX0213_2000_2 ... JISX0213_2¥Õ¥©¥ó¥È o KSX1001_1997 ... KSC5601_1987¥Õ¥©¥ó¥È(KSC5601_1987¤â²Ä) o GB2312_80 ... GB2312_80¥Õ¥©¥ó¥È o GBK ... GBK¥Õ¥©¥ó¥È o BIG5 ... BIG5¥Õ¥©¥ó¥È o HKSCS ... HKSCS¥Õ¥©¥ó¥È o CNS11643_1992_N ... CNS11643_1992_N¥Õ¥©¥ó¥È o ISO10646_UCS4_1 ... UNICODE¥Õ¥©¥ó¥È(1¥«¥é¥àÍÑ) o ISO10646_UCS4_1_FULLWIDTH ... UNICODE¥Õ¥©¥ó¥È(2¥«¥é¥àÍÑ) o U+XXXX-XXXX ... UNICODE¥Õ¥©¥ó¥È(»ØÄꤷ¤¿Èϰϡ£ºÇÂç255¸Ä¤Þ¤Ç¡£) (*) KOI8_T,GEORGIAN_PS,CP125[0-8],CP874 ¤Ï -u ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Æ Unicode ¥Õ¥©¥ó¥È¤ò»ÈÍѤ¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ UHC,JOHAB ¤Ï ¼«Æ°Åª¤Ë KSX1001 ¥Õ¥©¥ó¥È¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ (*) Unicode ¤Î¥¤¥ó¥É½ô¸ì¤Ï¡¢mlterm ÆâÉô¤Ç°ìö ISCII ¤ËÊÑ´¹¤µ¤ì¡¢ISCII_XXX ¥Õ¥©¥ó¥È¤Ë¤è¤êɽ¼¨¤µ¤ì¤Þ¤¹¡£ ¤½¤ì¤¾¤ì¤Î¥Ü¡¼¥ë¥ÉÂΤΥե©¥ó¥È¤ò»ØÄꤷ¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ ISO8859_1_BOLD ¤Î¤è¤¦¤Ë¡¢"_BOLD"¤ò¤Ä¤±¤¿Ì¾Á°¤Ç»ØÄꤷ¤Æ²¼¤µ¤¤¡£ ¤Þ¤¿¡¢¥¤¥¿¥ê¥Ã¥¯¤Î¥Õ¥©¥ó¥È¤ò»ØÄꤷ¤¿¤¤¾ì¹ç¤Ë¤Ï¡¢ ISO8859_1_ITALIC ¤Î¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ _BOLD_ITALIC ¤Î¤è¤¦¤ËξÊý»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¾åµ­Ê¸»ú½¸¹ç¤´¤È¤Ë»ÈÍѤ·¤¿¤¤¥Õ¥©¥ó¥È̾¤ò»ØÄꤷ¤Þ¤¹¡£ o font/vfont/tfont (--with-gui=xlib ¤Î¾ì¹ç) [XLFD(*)](:[percentage]) (*) ¤â¤·¤¯¤Ï¡¢fonts.alias¤ÇÄêµÁ¤·¤Æ¤¤¤ë¾Êάµ­Ë¡¡£ ¥Õ¥©¥ó¥È̾¤Ë %d ¤ò´Þ¤á¤Æ¤ª¤¯¤È¡¢¤½¤³¤Ë¥Õ¥©¥ó¥È¥µ¥¤¥º¤¬Æþ¤ê¤Þ¤¹¡£ Îã) ISO8859_1 = -kochi-mincho-medium-*--%d-*-iso8859-1 (--with-gui=win32, --with-gui=quartz ¤Î¾ì¹ç) [font family]( Bold Italic [font size]:[percentage]) (--with-gui=fb ¤Î¾ì¹ç) [font file path] o aafont/vaafont/taafont [font family]( Bold Italic [font size]:[percentage]) percentage ¤Ï¡¢¤½¤Î¥Õ¥©¥ó¥È¤Î¥°¥ê¥Õ¤òɽ¼¨¤¹¤ë¤Ë¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¤Î²¿¥Ñ¡¼ ¥»¥ó¥Èʬ¤ÎÉý¤ò¤È¤ë¤«¤ò»ØÄꤷ¤Þ¤¹¡£ Î㤨¤Ð¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¤¬ 12 ¤Î¾ì¹ç¤Ë¡¢percentage ¤È¤·¤Æ 100 ¤ò»ØÄꤹ¤ë ¤È¡¢È¾³Ñʸ»ú¤Ê¤éÉý 6 , Á´³Ñʸ»ú¤Ê¤éÉý 12 ¤¬¤È¤é¤ì¤Þ¤¹¡£ percentage »ØÄ꤬¤Ê¤¤¾ì¹ç¡¢Ä̾ï¤Î X ¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤Î¥Õ¥©¥ó¥È¤Î ºÇÂçÉý¤¬¡¢Xft or cairo ¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢'M'¤¬¼ý¤Þ¤ë¤À¤±¤ÎÉý¤¬¤È¤é¤ì ¤Þ¤¹¡£ percentage ¤Ï¡¢Èù̯¤ËÂ礭¤µ¤Î°Û¤Ê¤ë¥Õ¥©¥ó¥È¤òÁȤ߹ç¤ï¤»¤ë¾ì¹ç¤ÎÈùÄ´À° ¤ä¡¢¥Õ¥©¥ó¥È¤ÎºÇÂçÉý¡¢'M' ¤ÎÉý¤¬Â礭¤¹¤®¤ë¤è¤¦¤Ê¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ê¤É¤Ë»È¤¤¤Þ¤¹¡£ e.g.) JISX0208_1983 = Hoge:100; ⤷¡¢É½¼¨¤ÎºÝ¤Ë´ð½à¤È¤Ê¤ë¥Õ¥©¥ó¥È(US-ASCIIÁêÅö¤Î¥°¥ê¥Õ¤òɽ¼¨¤¹¤ë¥Õ¥©¥ó ¥È) °Ê³°¤Î¥Õ¥©¥ó¥È¤Î percentage »ØÄê¤Ï̵»ë¤µ¤ì¡¢¤Ç¤­¤ë¤À¤±´ð½à¥Õ¥©¥ó¥È ¤Ë¹ç¤¦¤è¤¦¤Êɽ¼¨¤¬Í¥À褵¤ì¤Þ¤¹¡£ ¤Þ¤¿¡¢½ÄÍÑ¥Õ¥©¥ó¥È¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¡¢¤¹¤Ù¤ÆÁ´³ÑÉý¤È¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ ISO8859_1 = a10:100; ¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢a10 ¥Õ¥©¥ó¥È¤ò̵ÍýÌðÍý²£Éý 10 point ¤Çɽ¼¨¤·¤Þ¤¹¡£ percentage »ØÄê¤Î·ë²Ì¡¢¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¥Õ¥©¥ó¥È¤ò¸ÇÄêÉý¤Çɽ¼¨¤¹¤ë¾ì¹ç¤È Ʊ¤¸°·¤¤¤Ë¤Ê¤ë¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£¤½¤ÎºÝ¤Ï¡¢ÉÁ²è®ÅÙ¤¬Äã²¼¤·¤Þ¤¹¤Î¤ÇÃí°Õ¤·¤Æ ¤¯¤À¤µ¤¤¡£ ¤Ê¤ª¡¢mlfc ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢~/.mlterm/aafont ¤ò¼«Æ°Åª¤ËÀ¸À®¤·¤Þ¤¹¡£ vfont ¤Þ¤¿¤Ï¡¢vaafont, taafont ¤Ë¡¢¾ò·ï¤Ë¤¢¤¦¥Õ¥©¥ó¥È¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢ ¤½¤ì¤¾¤ì font, aafont ¤¬»²¾È¤µ¤ì¤Þ¤¹¡£ ¥Õ¥©¥ó¥È¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤Ê¸»ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢mlterm¤¬Å¬Åö¤ËȽÃǤ·¤ÆÉ½¼¨¤·¤Þ ¤¹¡£¤¿¤À¤·¡¢TCVN5712¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¼«Æ°¸¡º÷¤·¤Þ¤»¤ó¤Î¤Ç¡¢font, aafont ¤Ë¤Æ»ØÄꤹ¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥Ü¡¼¥ë¥ÉÂΤ¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢medium¥Õ¥©¥ó¥È¤È¤·¤Æ»ØÄê¤ì¤¿¥Õ¥©¥ó¥È¡¢ ¤â¤·¤¯¤Ï¡¢mlterm¤¬Å¬Åö¤Ë¸«¤Ä¤±½Ð¤·¤¿medium¥Õ¥©¥ó¥È¤ò½Å¤ÍÂǤÁ¤·¤Æ¡¢¤½¤ì¤Ã¤Ý ¤¯¤ß¤»¤Þ¤¹¡£ ¥Ü¡¼¥ë¥ÉÂÎ¥Õ¥©¥ó¥È¤È¤·¤Æ¡¢medium¥Õ¥©¥ó¥È¤ò»ØÄꤷ¤Æ¤ä¤ì¤Ð¡¢½Å¤ÍÂǤÁ¤Ï¤·¤Þ¤» ¤ó¡£ ¤Ê¤ª¡¢cairo ¤Î¾ì¹ç¤Ïɬ¤º½Å¤ÍÂǤÁ¤·¡¢xft ¤Î¾ì¹ç¤Ï½Å¤ÍÂǤÁ¤Ï¤·¤Þ¤»¤ó¡£ DEFAULT ¤ò font, vfont µÚ¤Ó tfont ¤Ç»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢XLFD ¥Õ¥©¥ó¥È̾¤ÎËöÈø ¤Ëʸ»ú½¸¹ç¤´¤È¤ËŬÀÚ¤Ê encoding ¤ò¼«Æ°Åª¤ËËöÈø¤ËÄɵ­¤·¤Þ¤¹¤Î¤Ç¡¢Ãí°Õ¤·¤Æ¤¯ ¤À¤µ¤¤¡£ ¤Þ¤¿¡¢DEFAULT ¤ò»ØÄꤷ¤¿¥Õ¥©¥ó¥È̾¤Ï¡¢Input Method ¤Ç»ÈÍѤ¹¤ë¥Õ¥©¥ó¥È (FontSet) ¤Ë¤Ï±Æ¶Á¤·¤Þ¤»¤ó¡£ e.g.) DEFAULT = -kochi-mincho-medium-*--%d-*-;12,-kochi-gothic-medium-*--12-*- => ¥Õ¥©¥ó¥È¥µ¥¤¥º 13 ¤Ç ISO8859_1 ¤òɽ¼¨¤¹¤ë¾ì¹ç¡¢ -kochi-mincho-medium-*--13-*-iso8859-1 ¤È¤Ê¤ê¡¢ ¥Õ¥©¥ó¥È¥µ¥¤¥º 12 ¤Ç ISO8859_1 ¤òɽ¼¨¤¹¤ë¾ì¹ç¡¢ -kochi-gothic-medium-*--12-*-iso8859-1 ¤È¤Ê¤ê¤Þ¤¹¡£ DEC_SPECIAL ¤Ï¡¢·ÓÀþʸ»ú¤Î´Þ¤Þ¤ì¤Æ¤¤¤ë iso8859-1 ¥Õ¥©¥ó¥È¤ò»ØÄꤷ¤Æ¤¯¤À¤µ ¤¤¡£ GB18030 ¤Ë¤Ä¤¤¤Æ¤Ï¡¢ 1-byte char : US_ASCII 2-byte char : GBK 4-byte char : Unicode ¥Õ¥©¥ó¥È¤ò»ÈÍѤ·¤Þ¤¹¡£ CP932 ¤Î³°»ú(NECÆÃ¼ìʸ»ú¡¢NECÁªÄêIBM³Èĥʸ»ú¡¢IBM³Èĥʸ»ú)¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Unicode ¤ËÊÑ´¹¤·¤Æ¡¢Unicode ¥Õ¥©¥ó¥È¤ò»ÈÍѤ·¤Þ¤¹¡£ ¤³¤Î¾ì¹ç¡¢µ­¹æÊ¸»ú¤Ê¤ÉȾ³ÑÁ´³Ñ¤Î¤¢¤¤¤Þ¤¤¤Êʸ»ú¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢-ac 2 ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ mlterm ¤òµ¯Æ°¤·¡¢¤«¤Ä¡¢ISO10646_UCS4_1 ¤Ë¡¢µ­¹æÊ¸»ú¤¬ Á´³Ñ¤Ë¤Ê¤Ã¤Æ¤¤¤ë Unicode ¥Õ¥©¥ó¥È¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ Unicode ¤Î U+1F000-1F6FF ¤Ë¤Ä¤¤¤Æ¤Ï¡¢~/.mlterm/emoji °Ê²¼¤Ë 1fXXX.png ¤È ¤¤¤¦²èÁü¥Õ¥¡¥¤¥ë¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤òŬµ¹³È½Ì¤·¤ÆÉ½¼¨¤·¤Þ¤¹¡£²èÁü¥Õ¥¡¥¤¥ë¤Ï¡¢ https://github.com/github/gemoji/archive/master.zip Æâ¤Î images/emoji/unicode/*.png ¤ò¥³¥Ô¡¼¤·¤Æ¤¯¤À¤µ¤¤¡£ X Input Method ¤Î¥Õ¥©¥ó¥È¤Ï¡¢¤Ê¤ë¤Ù¤¯Ã¼Ëö²èÌ̤ǻÈÍѤµ¤ì¤Æ¤¤¤ë¤½¤ì¤ÈƱ¤¸ ¤â¤Î¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ ¥¢¥ó¥Á¥¨¥¤¥ê¥¢¥¹Ãæ¤Ï¡¢font , vfont ¤«¤éŬÅö¤Ê¥Õ¥©¥ó¥È¤òõ¤·¤Þ¤¹¡£ ¤¿¤À¤·¡¢½ÄÍÑ¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢tfont , taafont ¤Ç¤Ï¤Ê¤¯¡¢font ¤Ç»ØÄꤷ ¤¿¥Õ¥©¥ó¥È¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ ¤Ê¤ª¡¢¥Õ¥©¥ó¥È»ØÄê¤Ë¤Ä¤¤¤Æ¤Ï¡¢Ctrl+±¦¥Ü¥¿¥ó¤Çɽ¼¨¤µ¤ì¤ëÀßÄê²èÌ̤Π"¥Õ¥©¥ó¥È" ¥¿¥Ö¤Î "Select" ¥Ü¥¿¥ó¤ÇÁªÂò¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹("Select" ¥Ü¥¿¥ó ¤ò²¡²¼¤·¤¿¤È¤­¤Ë¡¢XLFD ¤« Xft ¤Î¤É¤Á¤é¤ÎÁªÂò²èÌ̤¬É½¼¨¤µ¤ì¤ë¤«¤Ï¡¢"Xft" ¥Á¥§¥Ã¥¯¥Ü¥Ã¥¯¥¹¤¬¥Á¥§¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë¤è¤ê¤Þ¤¹¡£)¡£ Î㤨¤Ð¡¢"DEFAULT" ¤È¤·¤Æ¡¢ Font: => fixed (misc) Font Style: => medium [C] Size: => 14 ¤òÁªÂò¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ DEFAULT = -misc-fixed-medium-r-normal-*-14-*-*-*-c-*- (¤³¤Î·ë²Ì¡¢fontsize ¥ª¥×¥·¥ç¥ó¤òÊѹ¹¤·¤Æ¤â¾ï¤Ë 14 pixel ¤Î¥Õ¥©¥ó¥È¤¬ ɽ¼¨¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤¿¤á¡¢Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£) ¤Þ¤¿¡¢"ISO10646_1" ¤È¤·¤Æ¡¢ Font: => fixed (misc) Font Style: => medium [C] Size: => 20 ¤òÁªÂò¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤ËÀßÄꤵ¤ì¤Þ¤¹¡£ ISO10646_UCS4_1 = -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 o color ´û¸¤Î¿§Ì¾¤Î RGB ÃͤòÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£ color_name = [red]-[green]-[blue] ([red],[green],[blue]¤Ï¡¢¤½¤ì¤¾¤ì 16 bit 16 ¿Ê¿ôɽµ­¤Ç¤¹) color_name = #RRGGBB (RR,GG,BB ¤Ï¡¢¤½¤ì¤¾¤ì 8 bit 16 ¿Ê¿ôɽµ­¤Ç¤¹) color_name = rgb:RR/GG/BB or rgba:RR/GG/BB/AA color_name = rgb:RRRR/GGGG/BBBB or rgba:RRRR/GGGG/BBBB/AAAA ¿§Ì¾¤ÎÀèÆ¬¤Ë hl_ ¤òÉÕ¤±¤ë¤È¡¢16 ¿§Âбþ¤Ë¤ª¤±¤ë¶¯Ä´¿§¤Î RGB Ãͤò»ØÄê¤Ç¤­ ¤Þ¤¹¡£ ¤Þ¤¿¡¢¿§Ì¾¤Ë 10¿Ê¿ô¤Î 17¡Á230,232¡Á255 ¤Î¿ôÃͤò»ØÄꤹ¤ë¤È¡¢256 ¿§Âбþ ¤Ë¤ª¤±¤ë³Æ¿§¤Î RGB Ãͤò»ØÄê¤Ç¤­¤Þ¤¹¡£ o xim mlterm ¤Ç¤Ï¡¢Ê£¿ô¤Î XIM ¤ÎưŪÀÚÂØ¤¨¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤³¤Ç¤Ï¡¢¤½¤Î¤¿¤á¤Ë¡¢³Æ XIM ¤´¤È¤Î¥í¡¼¥±¡¼¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤³¤Ç¤ÎÀßÄê¤Ï¡¢ÀßÄê²èÌ̤˨ºÂ¤ËÈ¿±Ç¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢ kinput2 = ja_JP.eucJP Ami = ko_KR.eucKR ¤³¤Î¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤Ç¡¢mlterm ¼«ÂΤ¬¡¢zh_TW.Big5 ¥í¡¼¥±¡¼¥ë¤Çư¤¤¤Æ¤¤¤ë ¾ì¹ç¤Ç¤â¡¢Ami ¤ò ko_KR.eucKR ¤Ç¡¢kinput2 ¤ò ja_JP.eucJP ¥í¡¼¥±¡¼¥ë¤Çư¤«¤¹ ¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£(¤Ä¤Þ¤ê¡¢¤½¤ì¤¾¤ì¤Î¸À¸ì¤ÇÆþÎϤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë) o key ¥·¥ç¡¼¥È¥«¥Ã¥È¥­¡¼¤ÎÄêµÁ [SHORTCUT_KEY]=[OPERATION] OPERATION ¤Ï°Ê²¼¤ÎÄ̤ê o IM_HOTKEY m17nlib, kbd (¥¢¥é¥Ó¥¢¸ì/¥Ø¥Ö¥é¥¤¸å/¥¤¥ó¥É½ô¸ì¤ÎÆþÎϥ᥽¥Ã¥É)¤ÎÆþÎϥ⡼ ¥ÉÀÚÂØ¤¨¡£ o EXT_KBD(UNUSED) ¥¢¥é¥Ó¥¢¸ì¡¢¥¤¥ó¥É½ô¸ì¤Î mlterm Æâ¢ÆþÎϥ᥽¥Ã¥É¤òµ¯Æ°¡¢½ªÎ»¤·¤Þ¤¹¡£ (mlterm 2.8.0 °ÊÁ° ¤È¤Î¸ß´¹¥ª¥Ú¥ì¡¼¥·¥ç¥ó) o NEW_PTY(Ctrl+F1) OPEN_SCREEN ¤ÈƱ¤¸¡£2.6.0 °Ê¹ß obsoleted. o OPEN_SCREEN(Ctrl+F1) ¿·¤·¤¤PTY¤ò¡¢¿·¤·¤¤²èÌ̾å¤Ë³«¤­¤Þ¤¹¡£ o OPEN_PTY(Ctrl+F2) ¿·¤·¤¤PTY¤ò¡¢¸½ºß¤Î²èÌ̾å¤Ë³«¤­¤Þ¤¹¡£ o NEXT_PTY(Ctrl+F3) Background ¤Î PTY ¤ò¸½ºß¤Î²èÌ̾å¤Ëɽ¼¨¤·¤Þ¤¹¡£ o PREV_PTY(Ctrl+F4) Background ¤Î PTY ¤ò¸½ºß¤Î²èÌ̾å¤Ëɽ¼¨¤·¤Þ¤¹¡£ o HSPLIT_SCREEN(Shift+F1) ¿·¤·¤¤PTY¤ò¡¢¿·¤·¤¯²£Êý¸þ¤Ëʬ³ä¤·¤¿²èÌ̾å¤Ë³«¤­¤Þ¤¹¡£ o VSPLIT_SCREEN(Shift+F2) ¿·¤·¤¤PTY¤ò¡¢¿·¤·¤¯½ÄÊý¸þ¤Ëʬ³ä¤·¤¿²èÌ̾å¤Ë³«¤­¤Þ¤¹¡£ o NEXT_SCREEN(Shift+F3) ʬ³ä¤µ¤ì¤¿²èÌ̤Τ¦¤Á¥Õ¥©¡¼¥«¥¹¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¼¡¤Î²èÌ̤˥ե©¡¼¥«¥¹¤ò°Ü¤·¤Þ¤¹¡£ o NEXT_SCREEN(Shift+F4) ʬ³ä¤µ¤ì¤¿²èÌ̤Τ¦¤Á¥Õ¥©¡¼¥«¥¹¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤Á°¤Î²èÌ̤˥ե©¡¼¥«¥¹¤ò°Ü¤·¤Þ¤¹¡£ o CLOSE_SCREEN(Ctrl+F5) ʬ³ä¤µ¤ì¤¿²èÌ̤Τ¦¤Á¸½ºßÁªÂò¤µ¤ì¤¿²èÌ̤òÊĤ¸¤Þ¤¹¡£ o HEXPAND_SCREEN(Shift+F6) ʬ³ä¤µ¤ì¤¿²èÌ̤Τ¦¤Á¸½ºßÁªÂò¤µ¤ì¤¿²èÌ̤ò²£Êý¸þ¤Ë¹­¤²¤Þ¤¹¡£ o VEXPAND_SCREEN(Shift+F7) ʬ³ä¤µ¤ì¤¿²èÌ̤Τ¦¤Á¸½ºßÁªÂò¤µ¤ì¤¿²èÌ̤ò½ÄÊý¸þ¤Ë¹­¤²¤Þ¤¹¡£ o PAGE_UP(Shift+Prior) ¥Ú¡¼¥¸¥¢¥Ã¥× o SCROLL_UP(Shift+Up) ¥¹¥¯¥í¡¼¥ë¥¢¥Ã¥× o PAGE_DOWN(Shift+Next) ¥Ú¡¼¥¸¥À¥¦¥ó o SCROLL_DOWN(Shift+Down) ¥¹¥¯¥í¡¼¥ë¥À¥¦¥ó o INSERT_SELECTION(Shift+Insert) ¥»¥ì¥¯¥·¥ç¥ó¤Î¥Ú¡¼¥¹¥È o "" ¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó ʸ»úÎó¤Î½ÐÎÏ °Ê²¼¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï 2.9.0 ¤ÇÇѻߤµ¤ì¤Þ¤·¤¿¡£ o XIM_OPEN(Shift+space) XIM ¥á¥½¥Ã¥É¤ò Open ¤·¤Þ¤¹¡£ xim_open_in_startup ¤¬ true ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢ºÇ½é¤«¤é Open ¤µ¤ì ¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢»È¤ï¤ì¤Þ¤»¤ó¡£ o XIM_CLOSE(UNUSED) SHORTCUT_KEY ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°Ê²¼¤ÎÄ̤ê (MASK+)KEY ¥­¡¼³ä¤êÅö¤Æ¤·¤Ê¤¤¾ì¹ç¤Ï UNUSED ¤È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥­¡¼¤Ë¤Ï¡¢Button1, Button2, Button3, Button4, Button5 ¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­ ¤Þ¤¹¡£ ¤Þ¤¿¡¢¼¡¤Î8¤Ä¤Î¥Þ¥¹¥¯»ØÄê¤â²Äǽ¤Ç¤¹¡£ Control Shift Mod1 Mod2 Mod3 Mod4 Mod5 Mod (Mod1Mask - Mod5Mask ¤Þ¤Ç¤¹¤Ù¤Æ¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹) Alt (Mod¤ÈƱ¤¸) e.g.) Control+n=OPEN_SCREEN Control+n ¤ò²¡²¼¤¹¤ë¤È¡¢¿·¤·¤¤Ã¼ËöÍÑ¥¦¥£¥ó¥É¥¦¤ò³«¤­¤Þ¤¹¡£ "" ¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¤È¤·¤Æ¤Ï¡¢'\x'¤«¤é»Ï¤Þ¤ë16¿Ê¿ô¡¢'\n','\r','\e','\t' ¤¬»È¤¨¤Þ¤¹¡£ ¤Þ¤¿¡¢"" ¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎ󤬡¢'proto:' ¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢°Ê¹ß¤Îʸ»úÎó¤ò doc/en/PROTOCOL ¤Î set ¥×¥í¥È¥³¥ë(¤Î´ÊάÈÇ¡£key=value ¤ò ';' ¤Ç¶èÀÚ¤Ã¤Æ Ê£¿ô»ØÄê)¤È²ò¼á¤µ¤ì¤Þ¤¹¡£ 'exesel:' ¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°Ê¹ß¤Îʸ»úÎó¤ò¥³¥Þ¥ó¥É¤È²ò¼á¤·¡¢ÁªÂòʸ»ú Îó¤ò°ú¿ô¤È¤·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ 'menu:' ¤«¤é»Ï¤Þ¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢°Ê¹ß¤Îʸ»úÎó¤ò configuration program ¤È²ò ¼á¤·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ e.g.) Control+F1="proto:font_size=12;encoding=utf8" => Control+F1 ¤ò²¡²¼¤¹¤ë¤È¡¢¥Õ¥©¥ó¥È¥µ¥¤¥º¤¬ 12¡¢¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬ utf8 ¤Ë ¤Ê¤ê¤Þ¤¹¡£ Control+F2="exesel:mlclient -e w3m" => Control+F2 ¤ò²¡²¼¤¹¤ë¤È¡¢"mlclient -e w3m ÁªÂòʸ»úÎó" ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ Control+F3="menu:mlterm-menu" => Control+F3 ¤ò²¡²¼¤¹¤ë¤È¡¢mlterm-menu ¤ò¼Â¹Ô¤·¤Þ¤¹¡£ o termcap termcap¥Ç¡¼¥¿¥Ù¡¼¥¹¤â¤É¤­ ÍÍ¡¹¤Ê TERM ¤´¤È¤Ë¡¢¤½¤Îµóư¤òÄêµÁ¤Ç¤­¤Þ¤¹(¤Ê¤ª¡¢Î㤨¤Ð¡¢ TERM=xterm-256color ¤Î¾ì¹ç¡¢Ëܥǡ¼¥¿¥Ù¡¼¥¹¤Î xterm ¤Ë¥Þ¥Ã¥Á¤·¤Þ¤¹¡£)¡£ üËö̾ '*' ¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¤òÄêµÁ¤Ç¤­¤Þ¤¹¡£ `\E' , `^A' ¤Ê¤É¤¬»È¤¨¤Þ¤¹¡£ `\' ¤Î¤¢¤È¤Ë8¿Ê¿ô¤ò»ØÄꤹ¤ëµ­Ë¡¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤»¤ó¡£ o kD delete ¥­¡¼¤ò²¡²¼(¤¿¤À¤·¡¢Shift, Control Ëô¤Ï Mod ¥­¡¼¤È°ì½ï¤Ë²¡²¼¤µ¤ì¤¿ ¾ì¹ç¤ò½ü¤¯¡£°Ê²¼Æ±¤¸¡£)¤·¤¿¤È¤­¤Î¥·¡¼¥±¥ó¥¹ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢`\E[3~' o kb ¥Ð¥Ã¥¯¥¹¥Ú¡¼¥¹¥­¡¼¤ò²¡²¼¤·¤¿¤È¤­¤Î¥·¡¼¥±¥ó¥¹ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢`^H' o kh Application cursor key mode ¤Ç¡¢HOME ¥­¡¼¤ò²¡²¼¤·¤¿¤È¤­¤Î¥·¡¼¥±¥ó¥¹ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢'\EOH' o @7 Application cursor key mode ¤Ç¡¢END ¥­¡¼¤ò²¡²¼¤·¤¿¤È¤­¤Î¥·¡¼¥±¥ó¥¹ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢`\EOF' o k1, k2, k3, k4, k5 F1¡ÁF5 ¥­¡¼¤ò²¡²¼¤·¤¿¤È¤­¤Î¥·¡¼¥±¥ó¥¹ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¤½¤ì¤¾¤ì¡¢`\EOP', `\EOQ', `\EOR', `\EOS', '\E[15~' o ut BCE ¤òÍ­¸ú¤Ë¤¹¤ë¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢Ìµ¸ú o °ú¿ô¥ª¥×¥·¥ç¥ó (X) ¤Î¤Ä¤¤¤Æ¤¤¤ë¥ª¥×¥·¥ç¥ó¤Ï¡¢mlclient ¤«¤é¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó¡£ -h/--help(=bool) : ¥Ø¥ë¥× (X) -v/--version(=bool) : ¥Ð¡¼¥¸¥ç¥ó¾ðÊó(¤¢¤Þ¤ê¿®ÍѤǤ­¤Ê¤¤:D) (X) -#/--initstr=value : init_str -%/--logseq : logging_vt_seq -$/--mc=value : click_interval -&/--borderless : borderless -*/--type : type engine -0/--crbg=value : cursor_bg_color -1/--wscr=value : screen_width_ratio -2/--hscr=value : screen_height_ratio -3/--contrast=value: contrast -4/--gamma=value : gamma -5/--big5bug(=bool): big5_buggy -6/--stbs(=bool) : static_backscroll_mode -7/--bel=value : bel_mode -8/--88591(=bool) : iso88591_font_for_usascii -9/--crfg=value : cursor_fg_color -@/--screens=value : startup_screens (X) -A/--aa(=bool) : use_anti_alias -B/--sbbg=value : sb_bg_color -C/--ctl(=bool) : use_ctl -E/--km=value : ENCODING -F/--sbfg=value : sb_fg_color -G/--vertical=value: vertical_mode -H/--bright=value : brightness -I/--icon=value : icon_name -J/--dyncomb(=bool) : use_dynamic_comb -K/--metakey=value : mod_meta_key -L/--ls(=bool) : use_login_shell -M/--im=value : input_method -N/--name=value : app_name -O/--sbmod=value : scrollbar_mode -P/--clip(=bool) : use_clipboard -Q/--vcur(=bool) : use_vertical_cursor -R/--fsrange=value : font_size_range (X) -S/--sbview=value : scrollbar_view_name -T/--title=value : title -U/--viaucs=value : receive_string_via_ucs -V/--varwidth(=bool): use_variable_column_width -W/--sep=value : word_separators (X) -X/--alpha=value : alpha -Y/--decsp(=bool) : compose_dec_special_font (X) -Z/--multicol(=bool): use_multi_column_char -a/--ac=value : col_size_of_width_a -b/--bg=value : bg_color -c/--cp932(=bool) : use_cp932_ucs_for_xft (X) -d/--display : display -f/--fg=value : fg_color -g/--geometry=value : geometry -i/--xim(=bool) : use_xim (X) -j/--daemon=value : daemon_mode (X) -k/--meta=value : mod_meta_mode -l/--sl=value : logsize -m/--comb(=bool) : use_combining -n/--noucsfont(=bool) : not_use_unicode_font -o/--lsp=value : line_space -p/--pic=value : wall_picture -q/--extkey(=bool) : use_extended_scroll_shortcut -r/--fade=value : fade_ratio -s/--sb(=bool) : use_scrollbar -t/--transbg(=bool) : use_transbg -u/--onlyucsfont(=bool) : only_use_unicode_font -w/--fontsize=value : fontsize -x/--tw=value : tabsize -y/--term=value : termtype -z/--largesmall=value : step_in_changing_font_size --bdfont(=bool) : use_bold_font --itfont(=bool) : use_italic_font --iconpath=value : icon_path --bimode=value : bidi_mode --bisep=value : bidi_separators --parent=value : parent_window --bd=value : bd_color --it=value : it_color --ul=value : ul_color --bl=value : bl_color --co=value : co_color --noul(=bool) : hide_underline --ulpos(=bool) : underline_offset --otl(=bool) : use_ot_layout --ost=value : ot_script --oft=value : ot_features --servlist=value : server_list --serv=value : default_server --pubkey=value : ssh_public_key --privkey=value : ssh_private_key --ciphlist=value : cipher_list --x11(=bool) : ssh_x11_forwarding --scp(=bool) : allow_scp --rcn(=bool) : ssh_auto_reconnect --csp=value : letter_space --osc52(=bool) : allow_osc52 --blink(=bool) : blink_cursor --border=value : inner_border --lborder=value : layout_inner_border --restart(=bool): auto_restart --logmsg(=bool) : logging_msg --loecho(=bool) : use_local_echo --altbuf(=bool) : use_alt_buffer --colors(=bool) : use_ansi_colors --exitbs(=bool) : exit_backscroll_by_pty --shortcut(=bool) : allow_change_shortcut --boxdraw=value : box_drawing_font --urgent(=bool) : use_urgent_bell --locale=value : locale --ucsnoconv=value : unicode_noconv_areas --ade=value : auto_detect_encodings --auto(=bool) : use_auto_detect --ldd(=bool) : leftward_double_drawing --working-directory=value : working_directory --seqfmt=value : vt_seq_format --uriword(=bool) : regard_uri_as_word --vtcolor=value : vt_color_mode --da1=value : primary_da --da2=value : secondary_da --deffont=value : DEFAULT in ~/.mlterm/*font --depth=value : depth (X) --maxptys=value : max_ptys (X) --keepalive=value: ssh_keepalive_interval (X) --metaprefix : mod_meta_prefix (X) --ckm=value : console_encoding --csc=value : console_sixel_colors --csz=value : default_cell_size (X) --trim(=bool) : trim_trailing_newline_in_pasting --bc(=bool) : broadcast --ibc(=bool) : ignore_broadcasted_chars -e ... : »ØÄꤷ¤¿¥³¥Þ¥ó¥É¤òµ¯Æ° o ¥ª¥×¥·¥ç¥ó¤Ï¡¢°Ê²¼¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼õ¤±ÉÕ¤±¤Þ¤¹¡£ (-E/--km,-J/--dyncomb¤òÎã¤Ë) -E=euc-jp -E euc-jp -km=euc-jp -km euc-jp --km euc-jp --km=euc-jp -J (-J=true¤ÈƱ¤¸) -J=true -J=false -J true -J false -dyncomb (-dyncomb=true¤ÈƱ¤¸) -dyncomb=true -dyncomb=false -dyncomb true -dyncomb false --dyncomb (-dyncomb=true¤ÈƱ¤¸) --dyncomb=true --dyncomb=false --dyncomb true --dyncomb false * ÁàºîÊýË¡ o ¥­¡¼¥Ü¡¼¥É [Ä̾ï¥â¡¼¥É] Shift-¢¬ ... ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É¤Ø°Ü¹Ô¤·¤Ä¤Ä¾å¥¹¥¯¥í¡¼¥ë Shift-PageUp ... ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É¤Ø°Ü¹Ô¤·¤Ä¤Ä¥Ú¡¼¥¸¥¢¥Ã¥× [¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É] j/¢­ ... ²¼¥¹¥¯¥í¡¼¥ë(use_extended_scroll_shortcut ¤¬ true ¤Î¤È¤­) k/¢¬ ... ¾å¥¹¥¯¥í¡¼¥ë(use_extended_scroll_shortcut ¤¬ true ¤Î¤È¤­) u/PageUP ... ¥Ú¡¼¥¸¥¢¥Ã¥×(use_extended_scroll_shortcut ¤¬ true ¤Î¤È¤­) d/PageDown ... ¥Ú¡¼¥¸¥À¥¦¥ó(use_extended_scroll_shortcut ¤¬ true ¤Î¤È¤­) Shift-¢¬ ... ¾å¥¹¥¯¥í¡¼¥ë Shift+PageUp ... ¥Ú¡¼¥¸¥¢¥Ã¥× Shift+PageDown ... ¥Ú¡¼¥¸¥À¥¦¥ó ¤½¤Î¾¤Î¥­¡¼ÆþÎÏ ... ¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¥â¡¼¥É¤«¤éÄ̾ï¥â¡¼¥É¤Ø¤ÎÉüµ¢ o ¥Þ¥¦¥¹ ¥É¥é¥Ã¥°¤¹¤ì¤ÐÎΰèÁªÂò¤Ç¤­¤Þ¤¹¡£ ¤Þ¤¿¡¢¤½¤Î¤Þ¤Þ¡¢¥¹¥¯¥í¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£ ¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥Þ¥¦¥¹¥¤¥Ù¥ó¥È¤ò²£¼è¤ê¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Shift + Button ¤ÇÎΰèÁªÂò¤Ç¤­¤Þ¤¹¡£ ÁªÂò¤·¤¿Îΰ褬ȿžɽ¼¨¤µ¤ì¤Æ¤¤¤ë¾õÂ֤ǡ¢Shift + Button3 ¤ò²¡¤¹¤È¡¢ÁªÂòÃæ¤ÎÎÎ °è¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ Mod(Alt)¤ò²¡¤·¤Ê¤¬¤é¥Þ¥¦¥¹¤Ç¥É¥é¥Ã¥°¤¹¤ë¤È¶ë·ÁÎΰè¤òÁªÂò¤Ç¤­¤Þ¤¹¡£ ¥Õ¥¡¥¤¥ë¤ò¥É¥é¥Ã¥°¤·¡¢mlterm ¤Î²èÌ̤˥ɥí¥Ã¥×¤¹¤ë¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò¥Ú ¡¼¥¹¥È¤·¤Þ¤¹¡£ssh ÀÜÂ³Ãæ¤Î²èÌ̤ˡ¢Shift ¥­¡¼¤ò²¡¤·¤Ê¤¬¤é¥É¥í¥Ã¥×¤·¤¿¾ì¹ç¤Ï¡¢ ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ë scp ¤·¤Þ¤¹¡£ Ctrl+º¸¥Ü¥¿¥ó(¥Ü¥¿¥ó1)¤Ç¡¢¥á¥Ë¥å¡¼¤¬¤Ç¤Þ¤¹¡£ Ctrl+±¦¥Ü¥¿¥ó(¥Ü¥¿¥ó3)¤Ç¡¢ÀßÄê²èÌ̤¬¤Ç¤Þ¤¹¡£ ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤Ï¡¢¥Þ¥¦¥¹¤Ç¥É¥é¥Ã¥°¤¹¤ì¤Ð¡¢¥¹¥¯¥í¡¼¥ë¤µ¤ì¤Þ¤¹¡£ ¥¤¥ó¥é¥¤¥ó¤Çɽ¼¨¤·¤Æ¤¤¤ë²èÁü¤Ï¡¢¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤È¡¢¥¯¥ê¥Ã¥×¥Ü¡¼¥É¤Ë¥³¥Ô¡¼ ¤·¤Þ¤¹¡£ * Ï¢ÍíÀè mlterm-dev-ja ML(http://lists.sourceforge.net/lists/listinfo/mlterm-dev-ja) * ÍøÍѤ˺ݤ·¤Æ¤Î¾ò·ï BSD¥é¥¤¥»¥ó¥¹¤È¤·¤Þ¤¹¡£¾ÜºÙ¤ÏÉí°¤ÎLICENCE¥Õ¥¡¥¤¥ë¤ò»²¾È¡£ mlterm-3.8.4/doc/ja/README.comb010064400017600000144000000023471321054731300144670ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- $B7k9gJ8;z$N07$$$K$D$$$F(B * $BCl9g(B (vim,w3m-m17n $B$J$I(B) -m $B%*%W%7%g%s$rM-8z$K$9$k$@$1$G!"7k9gJ8;z$rI=<($G$-$k$h$&$K$J$j$^$9!#(B * $BCl9g(B (nvi-m17n $B$J$I(B) -m $B%*%W%7%g%s$K2C$(!"(B-J $B%*%W%7%g%s$b;XDj$7$F$/$@$5$$!#(B $B$3$&$9$k$3$H$G!"Ce$G!"(B*BSD $B$N(B /usr/bin/vi $B$r(B LC_CTYPE=en_US.ISO8859-1 $B$G(B $B5/F0$9$l$P!"(BTIS620($B%?%$8l(B)$B$N%U%!%$%k$r@5$7$/I=<($9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B $BC"$7!"$3$l$K$O!"0J2<$N(B 2 $BE@$NI{:nMQ$,$"$j$^$9$N$GCm0U$7$F$/$@$5$$!#(B 1. $B7k9gJ8;z$r4^$`9T$O!"Ce$r%+!<%=%k0\F0$9$k>l9g$K!"(B2 $B2s%+!<%=%k%-!<$r2!2<$7$J$/$F$O$J$i$J(B $B$+$C$?$j!"7k9gJ8;z$r:o=|$9$k>l9g!"(B2 $B2s:o=|%-!<$r2!2<$7$J$$$H!"40A4$K:o=|$G(B $B$-$J$+$C$?$j$7$^$9!#(B mlterm-3.8.4/doc/ja/README.aafont010064400017600000144000000025141321054731300150130ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- * etc/aafont ¤Ëµ­ºÜ¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤Ë¤Ä¤¤¤Æ --- mlterm-dev-ja ¤è¤ê°úÍÑ Subject: [Mlterm-dev-ja] sample font configuration file Message-ID: <200204170258.g3H2wF906187@side.riken.go.jp> From: Tomohiro KUBOTA To: mlterm-dev-ja Date: Wed, 17 Apr 2002 12:04:54 +0900 Courier 10 Pitch ¤Ï¡¢/etc/X11/XftConfig ¤Ë dir "/usr/X11R6/lib/X11/fonts/Type1" ¤È½ñ¤«¤ì¤Æ¤¤¤ë¤¢¤¿¤ê¤Î¥Õ¥©¥ó¥È¤Ç¤¹¡£¤¿¤Ö¤ó Debian ÆÃÍ­¤Ç¤·¤ç¤¦¡£ Thryomanes ¤È¤¤¤¦¤Î¤Ï¡¢ftp://ftp.io.com/pub/usr/hmiller/fonts/ ¤Ë¤¢¤ë¥Õ¥©¥ó¥È¤Ç¡¢¥é¥Æ¥ó¡¦¥­¥ê¥ë¡¦¥®¥ê¥·¥ã·Ï¤Î¿¤¯¤Î¥°¥ê¥Õ¤ò»ý¤Ã¤Æ ¤¤¤Þ¤¹¡£¥×¥í¥Ý¡¼¥·¥ç¥Ê¥ë¤Ê¤Î¤Ç¤¤¤Þ¤¤¤Á¤«¤â¡£ ´Ú¹ñ¸ì¤Ï baekmuk ¥Õ¥©¥ó¥È¡¢Ãæ¹ñ¸ì¤Ï arphic ¥Õ¥©¥ó¥È¤Ç¤¹¡£ ¤³¤ì¤é (¤ÈÅìÉ÷) ¤òÅý¹ç¤·¤¿¥Õ¥©¥ó¥È¤¬¤¢¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¤¬... ¤Þ¤¢¡¢Åý¹ç´Á»ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤­¤ì¤¤¤Ê²ò¤È¤¤¤¦¤Î¤Ï̵Íý¤Ç¤¹¤Í¡£ ¥í¥·¥¢Ê¸»ú¤Ï¡¢ 1) urw-fonts-1.0.7pre4.tar.bz2 and oldslavic.tar.bz2 from ftp://ftp.gnome.ru/fonts/ Maintainer: Valek Filippov 2) ftp://ftp.ice.ru/pub/fonts/type1/teams-1.1.tar.gz Maintainer: TopTeam Co. Alexander Shopov ¤Î¤¢¤¿¤ê¤Ë¤¢¤ë¤½¤¦¤Ç¤¹¡£(scalable-cyrfonts ¥Ñ¥Ã¥±¡¼¥¸¤Î ¥É¥­¥å¥á¥ó¥È¤«¤é¤ÎÈ´¿è)¡£ÅùÉý¥Õ¥©¥ó¥È¤Ê¤Î¤Ç¡¢thryomanes ¤è¤ê¤â ¤­¤ì¤¤¤Ëɽ¼¨¤Ç¤­¤Þ¤¹¡£ mlterm-3.8.4/doc/ja/README.xim010064400017600000144000000013411321054731300143350ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- mlterm ¤Î XIM ½èÍý¤Ë¤Ä¤¤¤Æ¤Î¥á¥â mlterm ¤Ç¤Ï¡¢XIM ¤«¤é¤Îʸ»úÎó¤ò½èÍý¤¹¤ë¤Ë¤¢¤¿¤Ã¤Æ¡¢ 1 »ØÄꤵ¤ì¤¿ locale (µ¯Æ°»þ¤Î LC_CTYPE ´Ä¶­ÊÑ¿ô¡¢¤â¤·¤¯¤ÏÀßÄê²èÌ̤ǻØÄꤷ¤¿ locale) ¤Ë¤Æ¡¢OpenXIM() 2 ¤½¤Î locale ¤Î codeset ¤ËŬ¹ç¤¹¤ë parser object ¤ò¡¢¤½¤Î XIM ¤Ë bind 3 XIM ¤«¤é¼õ¤±¼è¤Ã¤¿Ê¸»úÎó¤ò¡¢¤½¤Î XIM ¤Ë bind ¤µ¤ì¤Æ¤¤¤ë parser object ¤ò»È¤Ã¤Æ ²ò¼á¤·¡¢pty ¦¤Î encoding ¤ËÊÑ´¹¡¢½ÐÎÏ¡£ ¤È¤¤¤¦¼ê½ç¤ò¤È¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£ ¤³¤ì¤Ë¤è¤ê¡¢Ã¼Ëö encoding ¤È¡¢XIM ¦¤Î locale ¤¬¡¢Ì·½â¤·¤Æ¤¤¤Æ¤â¹½¤ï¤Ê¤¤(Î㤨¤Ð ¡¢Ã¼Ëö encoding ¤¬¡¢UTF-8 ¤Ç¡¢XIM ¤Î locale ¤¬ ko_KR.eucKR ¤Ç¤â¹½¤ï¤Ê¤¤)¤è¤¦¤Ë¤Ê ¤Ã¤Æ¤ª¤ê¤Þ¤¹¡£ Ê£¿ô¤Î XIM ¤ÎưŪÀÚÂØ¤¨¤Ë¤Ä¤¤¤Æ¤â¡¢¤³¤Î¤è¤¦¤ÊÏÈÁȤò´ðÈפˤ·¤Æ¼Â¸½¤µ¤ì¤Æ¤ª¤ê¤Þ¤¹¡£ mlterm-3.8.4/doc/icon004075500017600000144000000000001321054731300131445ustar kenusersmlterm-3.8.4/doc/icon/mlterm_48x48.xpm010064400017600000144000000052571321054731300161360ustar kenusers/* XPM */ static char * mlterm_48x48_xpm[] = { "48 48 12 1", " c None", ". c #FFFFFF", "+ c #E5E5E5", "@ c #CCCCCC", "# c #B2B2B2", "$ c #000000", "% c #666667", "& c #4C4C4C", "* c #0000FF", "= c #00FF00", "- c #999999", "; c #7F7F7F", " ", " ", " ", " ..........+.++++++++++@+@@@@@@@#@########### ", " .........+.+.++++++++@+@+@@@@@#@#@##########$ ", " ..........+.++++++++++@+@@@@@@@#@###########$ ", " ...$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%###$ ", " ...$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.###$ ", " ...$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.###$ ", " ...$&&&&&&&&&&&&&&**+++****&&&&&&&&&&&&&.###$ ", " ...$&&&&&&&&&&&&=+++++++++***&&&&&&&&&&&.#-#$ ", " ...$&&&&&&&&&&&==+++++++++****&&&&&&&&&&.-#-$ ", " ...$&&&&&&&&&&======+++======**&&&&&&&&&.#-#$ ", " .+.$&&&&&&&&&=======*++=======**&&&&&&&&.-#-$ ", " +.+$&&&&&&&&========*++========**&&&&&&&.---$ ", " .+.$&&&&&&&&=====*=*******======*&&&&&&&.---$ ", " +.+$&&&&&&&======*********======**&&&&&&.---$ ", " +++$&&&&&&&======*********======**&&&&&&.---$ ", " +++$&&&&&&&=====**********+++===**&&&&&&.---$ ", " +++$&&&&&&&====************++===**&&&&&&.---$ ", " +++$&&&&&&&====*************+===**&&&&&&.---$ ", " +++$&&&&&&&***+++************===**&&&&&&.---$ ", " +++$&&&&&&&***+**************===**&&&&&&.---$ ", " +++$&&&&&&&***+**************===**&&&&&&.---$ ", " +++$&&&&&&&****==************==***&&&&&&.---$ ", " +@+$&&&&&&&&***********###***==**&&&&&&&.---$ ", " @+@$&&&&&&&&***********###***=***&&&&&&&.---$ ", " +@+$&&&&&&&&&****===************&&&&&&&&.---$ ", " @+@$&&&&&&&&&&***====**********&&&&&&&&&.-;-$ ", " @@@$&&&&&&&&&&&**====*********&&&&&&&&&&.;-;$ ", " @@@$&&&&&&&&&&&&********.....&&&&&&&&&&&.-;-$ ", " @@@$&&&&&&&&&&&&&&.........&&&&&&&&&&&&&.;-;$ ", " @@@$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.;;;$ ", " @@@$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.;;;$ ", " @#@$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.;;;$ ", " #@#;.....................................;;;$ ", " @#@###################-#-------====;;;;;;;;;$ ", " #@###################-#-#------====;;;;;;;;;$ ", " ######################-#-------====;;;;;;;;;$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " %%%%%%%%%%%%%%%% ", " %%%%%%%%%%%%%%%% ", " @@@@@@@@@@@@@@@@ ", " ............................ ", " .@@@@@@@@@@@@@@@@@@@@@@@@@@@ ", " .@@@@@@@@@@@@@@@@@@@@@@@@@@@$ ", " $$$$$$$$$$$$$$$$$$$$$$$$$$$ ", " "}; mlterm-3.8.4/doc/icon/mlterm_32x32.xpm010064400017600000144000000030431321054731300161070ustar kenusers/* XPM */ static char * mlterm_32x32_xpm[] = { "32 32 24 1", " c None", ". c #000000", "+ c #FF0000", "@ c #FF00FF", "# c #0000FF", "$ c #00FFFF", "% c #00FF00", "& c #FFFF00", "* c #7F0000", "= c #7F007F", "- c #00007F", "; c #007F7F", "> c #007F00", ", c #7F7F00", "' c #191919", ") c #333333", "! c #4C4C4C", "~ c #666667", "{ c #7F7F7F", "] c #999999", "^ c #B2B2B2", "/ c #CCCCCC", "( c #E5E5E5", "_ c #FFFFFF", " ", " ", "________((((((((//////^^^^^^^^ ", "________((((((((//////^^^^^^^^ ", "__.........................~^^. ", "__.!!!!!!!!!!!!!!!!!!!!!!!!_^^. ", "__.!!!!!!!!!!#((###!!!!!!!!_^^. ", "__.!!!!!!!!%((((((###!!!!!!_^^. ", "__.!!!!!!!%%%%((%%%%##!!!!!_]]. ", "__.!!!!!!%%%%%#(%%%%%##!!!!_]]. ", "((.!!!!!!%%%######%%%%#!!!!_]]. ", "((.!!!!!%%%%######%%%%##!!!_]]. ", "((.!!!!!%%%%%%####((%%##!!!_]]. ", "((.!!!!!%%%%%%#####(%%##!!!_]]. ", "((.!!!!!##((########%%##!!!_]]. ", "((.!!!!!##(#########%%##!!!_]]. ", "((.!!!!!###%########%###!!!_]]. ", "((.!!!!!!#######^^#####!!!!_]]. ", "//.!!!!!!###%%#########!!!!_]]. ", "//.!!!!!!!##%%%#######!!!!!_]]. ", "//.!!!!!!!!######____!!!!!!_{{. ", "//.!!!!!!!!!!______!!!!!!!!_{{. ", "//.!!!!!!!!!!!!!!!!!!!!!!!!_{{. ", "//~_________________________{{. ", "^^^^^^^^^^^^^^^^]]]]%%%%{{{{{{. ", "^^^^^^^^^^^^^^^^]]]]%%%%{{{{{{. ", " .............................. ", " ~~~~~~~~~~~ ", " /////////// ", " ___________________ ", " _//////////////////. ", " .................. "}; mlterm-3.8.4/doc/icon/mlterm_16x16.xpm010064400017600000144000000010401321054731300161060ustar kenusers/* XPM */ static char * mlterm_16x16_xpm[] = { "16 16 11 1", " c None", ". c #FFFFFF", "+ c #E5E5E5", "@ c #CCCCCC", "# c #B2B2B2", "$ c #000000", "% c #4C4C4C", "& c #0000FF", "* c #00FF00", "= c #999999", "- c #7F7F7F", " ", "....++++@@@#### ", ".$$$$$$$$$$$$-#$", ".$%%%%++&&%%%.#$", ".$%%%**+**&%%.=$", "+$%%**&&&**&%.=$", "+$%%***&&+*&%.=$", "+$%%&+&&&&*&%.=$", "+$%%&&&&&&&&%.=$", "@$%%%&*&&&&%%.=$", "@$%%%%&&&&%%%.-$", "@-............-$", "########==**---$", " $$$$$$$$$$$$$$$", " ......... ", " $$$$$$$$$ "}; mlterm-3.8.4/doc/kbd004075500017600000144000000000001321054731300127545ustar kenusersmlterm-3.8.4/doc/kbd/pressed_kbd.six010064400017600000144000001356661321054731300160630ustar kenusers0;0;8q"1;1 #0;2;0;0;0#1;2;100;100;100 #0!469@#1!119@#0!37@$ #0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!119A#0A#1!35A#0A$ #0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!119C#0C#1!35C#0C$ #0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!119G#0G#1!35G#0G$ #0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!119O#0O#1!35O#0O$ #0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!119_#0_#1!35_#0_$ - #0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!119@#0@#1!35@#0@$ #0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!119A#0A#1!35A#0A$ #0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!119C#0C#1!35C#0C$ #0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!119G#0G#1!35G#0G$ #0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!119O#0O#1!35O#0O$ #0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!119_#0_#1!35_#0_$ - #0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!119@#0@#1!35@#0@$ #0A#1!6A#0!5A#1!24A#0A#1!10A#0!5A#1!5A#0A#1!14A#0A#1!10A#0!5A#1!4A#0!3A#1!13A#0A#1!10A#0!5A#1!4A#0!3A#1!13A#0A#1!10A#0!5A#1!7A#0A#1!12A#0A#1!10A#0!5A#1!3A#0!5A#1!12A#0A#1!10A#0!5A#1!4A#0!3A#1!13A#0A#1!10A#0!5A#1!3A#0!5A#1!12A#0A#1!10A#0!5A#1!4A#0!3A#1!13A#0A#1!10A#0!5A#1!4A#0!3A#1!13A#0A#1!6A#0!5A#1!5A#0A#1!6A#0!3A#1!9A#0A#1!6A#0!5A#1!5A#0A#1!7A#0A#1!10A#0A#1!6A#0!5A#1!5A#0A#1!6A#0!3A#1!9A#0A#1!119A#0A#1!35A#0A$ #0C#1!6C#0C#1!28C#0C#1!10C#0C#1!8C#0!2C#1!14C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!10C#0C#1!10C#0!2C#1!12C#0C#1!10C#0C#1!7C#0C#1!16C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!10C#0C#1!11C#0C#1!12C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!6C#0C#1!8C#0!2C#1!5C#0C#1!3C#0C#1!8C#0C#1!6C#0C#1!8C#0!2C#1!6C#0!2C#1!10C#0C#1!6C#0C#1!8C#0!2C#1!5C#0C#1!3C#0C#1!8C#0C#1!119C#0C#1!13C#0C#1!7C#0C#1!13C#0C$ #0G#1!6G#0G#1!28G#0G#1!10G#0G#1!9G#0G#1!14G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!10G#0!2G#1!12G#0G#1!10G#0G#1!7G#0G#1!16G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!11G#0G#1!12G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!6G#0G#1!9G#0G#1!5G#0G#1!3G#0G#1!8G#0G#1!6G#0G#1!9G#0G#1!7G#0G#1!10G#0G#1!6G#0G#1!9G#0G#1!5G#0G#1!3G#0G#1!8G#0G#1!119G#0G#1!14G#0G#1!5G#0G#1!14G#0G$ #0O#1!6O#0O#1!28O#0O#1!10O#0O#1!9O#0O#1!14O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!10O#0O#1!11O#0O#1!12O#0O#1!10O#0O#1!9O#0O#1O#0O#1!12O#0O#1!10O#0O#1!7O#0O#1!16O#0O#1!10O#0O#1!7O#0O#1!16O#0O#1!10O#0O#1!10O#0O#1!13O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!6O#0O#1!9O#0O#1!5O#0O#1!3O#0O#1!8O#0O#1!6O#0O#1!9O#0O#1!7O#0O#1!10O#0O#1!6O#0O#1!9O#0O#1!5O#0O#1!3O#0O#1!8O#0O#1!119O#0O#1!15O#0O#1!3O#0O#1!15O#0O$ #0_#1!6_#0_#1!8_#0!3_#1!5_#0!3_#1!9_#0_#1!10_#0_#1!9_#0_#1!14_#0_#1!10_#0_#1!10_#0_#1!13_#0_#1!10_#0_#1!11_#0_#1!12_#0_#1!10_#0_#1!9_#0_#1_#0_#1!12_#0_#1!10_#0_#1!7_#0!4_#1!13_#0_#1!10_#0_#1!7_#0_#1_#0!2_#1!13_#0_#1!10_#0_#1!10_#0_#1!13_#0_#1!10_#0_#1!7_#0_#1!3_#0_#1!12_#0_#1!10_#0_#1!7_#0_#1!3_#0_#1!12_#0_#1!6_#0_#1!9_#0_#1!5_#0_#1!3_#0_#1!8_#0_#1!6_#0_#1!9_#0_#1!7_#0_#1!10_#0_#1!6_#0_#1!9_#0_#1!8_#0_#1!9_#0_#1!119_#0_#1!16_#0_#1_#0_#1!16_#0_$ - #0@#1!6@#0!4@#1!4@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!8@#0@#1!10@#0!4@#1!6@#0@#1!14@#0@#1!10@#0!4@#1!7@#0@#1!13@#0@#1!10@#0!4@#1!5@#0!3@#1!13@#0@#1!10@#0!4@#1!5@#0@#1!2@#0@#1!12@#0@#1!10@#0!4@#1!4@#0@#1!3@#0@#1!12@#0@#1!10@#0!4@#1!4@#0!2@#1!2@#0@#1!12@#0@#1!10@#0!4@#1!7@#0@#1!13@#0@#1!10@#0!4@#1!5@#0!3@#1!13@#0@#1!10@#0!4@#1!4@#0@#1!2@#0!2@#1!12@#0@#1!6@#0!4@#1!6@#0@#1!5@#0@#1!3@#0@#1!8@#0@#1!6@#0!4@#1!6@#0@#1!7@#0@#1!10@#0@#1!6@#0!4@#1!6@#0@#1!8@#0@#1!9@#0@#1!119@#0@#1!17@#0@#1!17@#0@$ #0A#1!6A#0A#1!7A#0A#1!7A#0A#1!12A#0A#1!10A#0A#1!9A#0A#1!14A#0A#1!10A#0A#1!9A#0A#1!14A#0A#1!10A#0A#1!11A#0A#1!12A#0A#1!10A#0A#1!8A#0A#1!2A#0A#1!12A#0A#1!10A#0A#1!11A#0A#1!12A#0A#1!10A#0A#1!7A#0A#1!3A#0A#1!12A#0A#1!10A#0A#1!10A#0A#1!13A#0A#1!10A#0A#1!7A#0A#1!3A#0A#1!12A#0A#1!10A#0A#1!8A#0!2A#1A#0A#1!12A#0A#1!6A#0A#1!9A#0A#1!5A#0A#1!3A#0A#1!8A#0A#1!6A#0A#1!9A#0A#1!7A#0A#1!10A#0A#1!6A#0A#1!9A#0A#1!7A#0A#1!10A#0A#1!119A#0A#1!16A#0A#1A#0A#1!16A#0A$ #0C#1!6C#0C#1!8C#0!3C#1!4C#0C#1!12C#0C#1!10C#0C#1!9C#0C#1!14C#0C#1!10C#0C#1!8C#0C#1!15C#0C#1!10C#0C#1!11C#0C#1!12C#0C#1!10C#0C#1!7C#0!6C#1!11C#0C#1!10C#0C#1!11C#0C#1!12C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!10C#0C#1!9C#0C#1!14C#0C#1!10C#0C#1!7C#0C#1!3C#0C#1!12C#0C#1!10C#0C#1!11C#0C#1!12C#0C#1!6C#0C#1!9C#0C#1!5C#0C#1!3C#0C#1!8C#0C#1!6C#0C#1!9C#0C#1!7C#0C#1!10C#0C#1!6C#0C#1!9C#0C#1!6C#0C#1!11C#0C#1!119C#0C#1!15C#0C#1!3C#0C#1!15C#0C$ #0G#1!6G#0G#1!11G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!9G#0G#1!14G#0G#1!10G#0G#1!8G#0G#1!15G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!11G#0G#1!12G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!9G#0G#1!14G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!10G#0G#1!7G#0G#1!3G#0G#1!12G#0G#1!6G#0G#1!9G#0G#1!5G#0G#1!3G#0G#1!8G#0G#1!6G#0G#1!9G#0G#1!7G#0G#1!10G#0G#1!6G#0G#1!9G#0G#1!6G#0G#1!11G#0G#1!119G#0G#1!14G#0G#1!5G#0G#1!14G#0G$ #0O#1!6O#0O#1!7O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!8O#0O#1!10O#0O#1!9O#0O#1!14O#0O#1!10O#0O#1!7O#0O#1!16O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!10O#0O#1!11O#0O#1!12O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!10O#0O#1!9O#0O#1!14O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!10O#0O#1!7O#0O#1!3O#0O#1!12O#0O#1!6O#0O#1!9O#0O#1!5O#0O#1!3O#0O#1!8O#0O#1!6O#0O#1!9O#0O#1!7O#0O#1!10O#0O#1!6O#0O#1!9O#0O#1!5O#0O#1!12O#0O#1!119O#0O#1!13O#0O#1!7O#0O#1!13O#0O$ #0_#1!6_#0!5_#1!4_#0!3_#1!5_#0!3_#1!9_#0_#1!10_#0_#1!9_#0_#1!14_#0_#1!10_#0_#1!7_#0!5_#1!12_#0_#1!10_#0_#1!8_#0!3_#1!13_#0_#1!10_#0_#1!11_#0_#1!12_#0_#1!10_#0_#1!8_#0!3_#1!13_#0_#1!10_#0_#1!8_#0!3_#1!13_#0_#1!10_#0_#1!9_#0_#1!14_#0_#1!10_#0_#1!8_#0!3_#1!13_#0_#1!10_#0_#1!8_#0!3_#1!13_#0_#1!6_#0_#1!9_#0_#1!6_#0!3_#1!9_#0_#1!6_#0_#1!9_#0_#1!7_#0_#1!10_#0_#1!6_#0_#1!9_#0_#1!5_#0!5_#1!8_#0_#1!119_#0_#1!35_#0_$ - #0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!119@#0@#1!35@#0@$ #0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!119A#0A#1!35A#0A$ #0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!119C#0C#1!35C#0C$ #0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!119G#0G#1!35G#0G$ #0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!119O#0O#1!35O#0O$ #0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!119_#0_#1!35_#0_$ - #0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!119@#0@#1!35@#0@$ #0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!119A#0A#1!35A#0A$ #0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!119C#0C#1!35C#0C$ #0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!119G#0G#1!35G#0G$ #0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!119O#0O#1!35O#0O$ #0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!119_#0_#1!35_#0_$ - #0!625@$ #0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!47A#0A#1!35A#0A#1!35A#0A#1!35A#0A$ #0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!47C#0C#1!35C#0C#1!35C#0C#1!35C#0C$ #0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!47G#0G#1!35G#0G#1!35G#0G#1!35G#0G$ #0O#1!15O#0!2O#1!2O#0O#1!15O#0O#1!35O#0O#1!35O#0O#1!15O#0O#1!2O#0O#1!16O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!35O#0O#1!18O#0O#1!16O#0O#1!15O#0O#1!19O#0O#1!35O#0O#1!35O#0O#1!47O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!14_#0_#1!2_#0!2_#1!16_#0_#1!16_#0_#1!18_#0_#1!16_#0!2_#1!17_#0_#1!15_#0_#1!2_#0_#1!16_#0_#1!15_#0!3_#1!17_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!15_#0_#1_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!35_#0_#1!17_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!35_#0_#1!35_#0_#1!8_#0!4_#1!20_#0_#1!14_#0_#1!35_#0_#1!35_#0_#1!10_#0!4_#1!21_#0_$ - #0@#1!35@#0@#1!16@#0@#1!18@#0@#1!15@#0@#1!2@#0@#1!16@#0@#1!15@#0@#1!2@#0@#1!16@#0@#1!14@#0@#1@#0@#1@#0@#1!16@#0@#1!14@#0@#1@#0@#1!2@#0@#1!15@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!15@#0@#1@#0@#1!17@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!16@#0@#1!18@#0@#1!35@#0@#1!35@#0@#1!8@#0@#1!3@#0@#1!19@#0@#1!14@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!3@#0@#1!20@#0@$ #0A#1!35A#0A#1!16A#0A#1!18A#0A#1!14A#0A#1!4A#0A#1!15A#0A#1!14A#0!6A#1!15A#0A#1!14A#0A#1A#0A#1A#0A#1!16A#0A#1!14A#0A#1A#0A#1A#0A#1!16A#0A#1!35A#0A#1!15A#0A#1A#0A#1!17A#0A#1!16A#0A#1!18A#0A#1!16A#0A#1!18A#0A#1!17A#0A#1!17A#0A#1!35A#0A#1!16A#0A#1!18A#0A#1!8A#0A#1!3A#0A#1!19A#0A#1!14A#0A#1!35A#0A#1!35A#0A#1!10A#0A#1!3A#0A#1!20A#0A$ #0C#1!35C#0C#1!16C#0C#1!18C#0C#1!14C#0C#1C#0!2C#1C#0C#1!15C#0C#1!15C#0C#1!2C#0C#1!16C#0C#1!14C#0C#1C#0C#1!18C#0C#1!14C#0C#1C#0C#1C#0C#1!16C#0C#1!35C#0C#1!15C#0C#1C#0C#1!17C#0C#1!14C#0C#1C#0C#1C#0C#1!16C#0C#1!16C#0C#1!18C#0C#1!17C#0C#1!17C#0C#1!35C#0C#1!16C#0C#1!18C#0C#1!8C#0C#1!3C#0C#1!19C#0C#1!14C#0C#1!35C#0C#1!35C#0C#1!10C#0C#1!3C#0C#1!20C#0C$ #0G#1!35G#0G#1!16G#0G#1!18G#0G#1!14G#0!2G#1G#0G#1G#0G#1!15G#0G#1!15G#0G#1!2G#0G#1!16G#0G#1!15G#0!2G#1!18G#0G#1!15G#0G#1G#0G#1!17G#0G#1!35G#0G#1!16G#0G#1!18G#0G#1!15G#0!3G#1!17G#0G#1!16G#0G#1!18G#0G#1!17G#0G#1!17G#0G#1!35G#0G#1!16G#0G#1!18G#0G#1!8G#0G#1!3G#0G#1!4G#0!3G#1!5G#0!3G#1!4G#0G#1!3G#0G#1!10G#0G#1!35G#0G#1!35G#0G#1!10G#0G#1!3G#0G#1!5G#0!2G#1G#0G#1!11G#0G$ #0O#1!35O#0O#1!16O#0O#1!18O#0O#1!14O#0!2O#1O#0O#1O#0O#1!15O#0O#1!15O#0O#1!2O#0O#1!16O#0O#1!16O#0!2O#1!17O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!15O#0!2O#1!18O#0O#1!16O#0O#1!18O#0O#1!16O#0O#1!18O#0O#1!17O#0O#1!17O#0O#1!35O#0O#1!14O#0!5O#1!16O#0O#1!8O#0!4O#1!4O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!2O#0O#1!11O#0O#1!35O#0O#1!35O#0O#1!10O#0!4O#1!5O#0O#1!2O#0O#1!12O#0O$ #0_#1!35_#0_#1!16_#0_#1!18_#0_#1!14_#0!2_#1_#0_#1_#0_#1!15_#0_#1!15_#0_#1!2_#0_#1!16_#0_#1!16_#0_#1_#0_#1!16_#0_#1!16_#0_#1_#0_#1!16_#0_#1!35_#0_#1!14_#0_#1!2_#0_#1_#0_#1!15_#0_#1!15_#0!3_#1!17_#0_#1!16_#0_#1!18_#0_#1!17_#0_#1!17_#0_#1!35_#0_#1!16_#0_#1!18_#0_#1!8_#0_#1!3_#0_#1!7_#0_#1!3_#0_#1!7_#0_#1_#0_#1!12_#0_#1!35_#0_#1!35_#0_#1!10_#0_#1!8_#0_#1!2_#0_#1!12_#0_$ - #0@#1!35@#0@#1!35@#0@#1!14@#0@#1@#0@#1@#0@#1!16@#0@#1!14@#0!6@#1!15@#0@#1!14@#0@#1@#0@#1@#0@#1!16@#0@#1!15@#0@#1@#0@#1@#0@#1!15@#0@#1!35@#0@#1!14@#0@#1!2@#0@#1@#0@#1!15@#0@#1!14@#0@#1@#0@#1@#0@#1!16@#0@#1!16@#0@#1!18@#0@#1!17@#0@#1!17@#0@#1!35@#0@#1!16@#0@#1!18@#0@#1!8@#0@#1!3@#0@#1!4@#0!4@#1!3@#0@#1!7@#0!2@#1!13@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!9@#0!2@#1!13@#0@$ #0A#1!35A#0A#1!35A#0A#1!14A#0A#1!20A#0A#1!15A#0A#1!2A#0A#1!16A#0A#1!14A#0A#1A#0A#1A#0A#1!16A#0A#1!15A#0A#1A#0A#1A#0A#1!15A#0A#1!35A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!16A#0A#1!18A#0A#1!16A#0A#1!18A#0A#1!17A#0A#1!17A#0A#1!35A#0A#1!16A#0A#1!18A#0A#1!8A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!7A#0A#1A#0A#1!12A#0A#1!7A#0!3A#1!25A#0A#1!3A#0A#1!3A#0A#1!27A#0A#1!10A#0A#1!8A#0A#1!15A#0A$ #0C#1!35C#0C#1!16C#0C#1!18C#0C#1!15C#0C#1!2C#0C#1!16C#0C#1!15C#0C#1!2C#0C#1!16C#0C#1!14C#0C#1C#0C#1C#0C#1!16C#0C#1!14C#0C#1!2C#0C#1C#0C#1!15C#0C#1!35C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!35C#0C#1!17C#0C#1!17C#0C#1!16C#0C#1!18C#0C#1!35C#0C#1!35C#0C#1!8C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!2C#0C#1!11C#0C#1!8C#0C#1!26C#0C#1!3C#0C#1!3C#0C#1!27C#0C#1!10C#0C#1!8C#0!4C#1!12C#0C$ #0G#1!35G#0G#1!16G#0G#1!18G#0G#1!16G#0!2G#1!17G#0G#1!15G#0G#1!2G#0G#1!16G#0G#1!15G#0!3G#1!17G#0G#1!14G#0G#1!3G#0G#1!16G#0G#1!35G#0G#1!15G#0!3G#1G#0G#1!15G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!16G#0G#1!18G#0G#1!35G#0G#1!35G#0G#1!8G#0!4G#1!5G#0!3G#1G#0G#1!3G#0!3G#1!4G#0G#1!3G#0G#1!10G#0G#1!8G#0G#1!26G#0G#1!3G#0G#1!3G#0G#1!27G#0G#1!10G#0G#1!7G#0G#1!4G#0G#1!11G#0G$ #0O#1!35O#0O#1!35O#0O#1!35O#0O#1!15O#0O#1!2O#0O#1!16O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!18O#0O#1!16O#0O#1!15O#0O#1!19O#0O#1!35O#0O#1!35O#0O#1!47O#0O#1!8O#0O#1!26O#0O#1!3O#0O#1!3O#0O#1!27O#0O#1!19O#0!4O#1!12O#0O$ #0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!14_#0!7_#1!14_#0_#1!35_#0_#1!47_#0_#1!8_#0_#1!5_#0_#1_#0!2_#1!5_#0!3_#1!9_#0_#1!3_#0_#1!3_#0_#1!4_#0!3_#1!4_#0!2_#1_#0_#1!5_#0!3_#1!4_#0_#1!35_#0_$ - #0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!47@#0@#1!8@#0@#1!5@#0!2@#1!2@#0@#1!3@#0@#1!3@#0@#1!8@#0@#1!3@#0!5@#1!3@#0@#1!3@#0@#1!3@#0@#1@#0@#1@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!35@#0@$ #0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!47A#0A#1!8A#0A#1!5A#0A#1!3A#0A#1!3A#0A#1!12A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1A#0A#1A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!35A#0A$ #0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!47C#0C#1!8C#0C#1!5C#0C#1!3C#0C#1!4C#0!3C#1!9C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1C#0C#1C#0C#1!3C#0!5C#1!3C#0C#1!35C#0C$ #0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!47G#0G#1!8G#0G#1!5G#0G#1!3G#0G#1!7G#0G#1!8G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1G#0G#1G#0G#1!3G#0G#1!7G#0G#1!35G#0G$ #0O#1!16O#0O#1!18O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!47O#0O#1!8O#0O#1!5O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!8O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1O#0O#1O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!35O#0O$ #0_#1!17_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!15_#0!3_#1!17_#0_#1!15_#0!3_#1!17_#0_#1!18_#0_#1!16_#0_#1!14_#0!5_#1!16_#0_#1!15_#0!3_#1!17_#0_#1!14_#0!5_#1!16_#0_#1!15_#0!3_#1!17_#0_#1!15_#0!3_#1!17_#0_#1!15_#0!3_#1!17_#0_#1!35_#0_#1!35_#0_#1!47_#0_#1!7_#0!3_#1!4_#0_#1!3_#0_#1!4_#0!3_#1!9_#0_#1!3_#0_#1!3_#0_#1!4_#0!3_#1!4_#0_#1_#0_#1_#0_#1!4_#0!3_#1!4_#0_#1!10_#0_#1!3_#0_#1!20_#0_$ - #0@#1!35@#0@#1!15@#0!2@#1!18@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!17@#0!2@#1!16@#0@#1!14@#0@#1!20@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!18@#0@#1!16@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!35@#0@#1!35@#0@#1!47@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!3@#0@#1!20@#0@$ #0A#1!35A#0A#1!16A#0A#1!18A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!17A#0!2A#1!16A#0A#1!14A#0A#1!20A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!18A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!35A#0A#1!35A#0A#1!47A#0A#1!35A#0A#1!35A#0A#1!10A#0A#1!3A#0A#1!20A#0A$ #0C#1!35C#0C#1!16C#0C#1!18C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!18C#0C#1!16C#0C#1!16C#0C#1C#0C#1!16C#0C#1!14C#0C#1!20C#0C#1!14C#0C#1!20C#0C#1!17C#0C#1!17C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!35C#0C#1!14C#0!5C#1!16C#0C#1!47C#0C#1!35C#0C#1!35C#0C#1!10C#0C#1!3C#0C#1!20C#0C$ #0G#1!35G#0G#1!16G#0G#1!18G#0G#1!17G#0G#1!17G#0G#1!18G#0G#1!16G#0G#1!16G#0G#1G#0G#1!16G#0G#1!14G#0!4G#1!17G#0G#1!14G#0G#1G#0!2G#1!17G#0G#1!17G#0G#1!17G#0G#1!14G#0G#1!3G#0G#1!16G#0G#1!14G#0G#1!3G#0G#1!16G#0G#1!14G#0G#1!3G#0G#1!16G#0G#1!35G#0G#1!35G#0G#1!5G#0!3G#1!4G#0G#1G#0!2G#1!5G#0!3G#1!5G#0!3G#1!5G#0!3G#1!7G#0G#1!35G#0G#1!35G#0G#1!10G#0G#1!3G#0G#1!3G#0G#1G#0!2G#1!13G#0G$ #0O#1!35O#0O#1!16O#0O#1!18O#0O#1!17O#0O#1!17O#0O#1!15O#0!3O#1!17O#0O#1!15O#0O#1!2O#0O#1!16O#0O#1!14O#0O#1!3O#0O#1!16O#0O#1!14O#0!2O#1!2O#0O#1!16O#0O#1!17O#0O#1!17O#0O#1!15O#0!3O#1!17O#0O#1!14O#0O#1!2O#0!2O#1!16O#0O#1!14O#0O#1!3O#0O#1!16O#0O#1!14O#0!5O#1!16O#0O#1!35O#0O#1!4O#0O#1!3O#0O#1!3O#0!2O#1!2O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!6O#0O#1!35O#0O#1!35O#0O#1!10O#0O#1!3O#0O#1!3O#0!2O#1!2O#0O#1!12O#0O$ #0_#1!35_#0_#1!16_#0_#1!18_#0_#1!16_#0_#1!18_#0_#1!18_#0_#1!16_#0_#1!15_#0_#1!2_#0_#1!16_#0_#1!18_#0_#1!16_#0_#1!14_#0_#1!3_#0_#1!16_#0_#1!17_#0_#1!17_#0_#1!14_#0_#1!3_#0_#1!16_#0_#1!15_#0!2_#1_#0_#1!16_#0_#1!14_#0_#1!3_#0_#1!16_#0_#1!35_#0_#1!35_#0_#1!4_#0_#1!7_#0_#1!3_#0_#1!7_#0_#1!3_#0_#1!7_#0_#1!3_#0_#1!6_#0_#1!35_#0_#1!35_#0_#1!10_#0_#1!3_#0_#1!3_#0_#1!3_#0_#1!12_#0_$ - #0@#1!35@#0@#1!16@#0@#1!18@#0@#1!15@#0@#1!19@#0@#1!18@#0@#1!16@#0@#1!14@#0!6@#1!15@#0@#1!18@#0@#1!16@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!16@#0@#1!18@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!18@#0@#1!16@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!35@#0@#1!14@#0!5@#1!16@#0@#1!5@#0!3@#1!4@#0@#1!3@#0@#1!4@#0!4@#1!3@#0@#1!7@#0!5@#1!6@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!12@#0@$ #0A#1!35A#0A#1!16A#0A#1!18A#0A#1!15A#0A#1!19A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!18A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!16A#0A#1!18A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!35A#0A#1!35A#0A#1!8A#0A#1!3A#0!2A#1!2A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!7A#0A#1!10A#0A#1!35A#0A#1!35A#0A#1!10A#0A#1!3A#0A#1!3A#0!2A#1!2A#0A#1!12A#0A$ #0C#1!35C#0C#1!16C#0C#1!18C#0C#1!14C#0C#1!20C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!18C#0C#1!16C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!16C#0C#1!18C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!14C#0C#1!3C#0C#1!16C#0C#1!35C#0C#1!35C#0C#1!4C#0C#1!3C#0C#1!3C#0C#1C#0!2C#1!4C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!6C#0C#1!35C#0C#1!35C#0C#1!10C#0C#1!3C#0C#1!3C#0C#1C#0!2C#1!13C#0C$ #0G#1!35G#0G#1!16G#0G#1!18G#0G#1!14G#0!5G#1!16G#0G#1!15G#0!3G#1!17G#0G#1!18G#0G#1!16G#0G#1!15G#0!3G#1!17G#0G#1!15G#0!3G#1!17G#0G#1!16G#0G#1!18G#0G#1!15G#0!3G#1!17G#0G#1!15G#0!3G#1!17G#0G#1!15G#0!3G#1!17G#0G#1!35G#0G#1!35G#0G#1!5G#0!3G#1!4G#0G#1!8G#0!3G#1G#0G#1!3G#0!3G#1!5G#0!3G#1!7G#0G#1!35G#0G#1!35G#0G#1!11G#0!3G#1!4G#0G#1!16G#0G$ #0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!12O#0O#1!34O#0O#1!35O#0O#1!35O#0O#1!18O#0O#1!16O#0O$ #0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!47_#0_#1!35_#0_#1!35_#0_#1!35_#0_$ - #0!625@$ #0A#1!47A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A$ #0C#1!47C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C$ #0G#1!47G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G$ #0O#1!47O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!17O#0!2O#1!16O#0O#1!15O#0!2O#1!18O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!47_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!17_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!16_#0_#1!18_#0_#1!35_#0_#1!35_#0_#1!10_#0!4_#1!21_#0_$ - #0@#1!47@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!16@#0@#1!18@#0@#1!16@#0@#1!18@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!3@#0@#1!20@#0@$ #0A#1!47A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!17A#0A#1!17A#0A#1!16A#0A#1!18A#0A#1!16A#0A#1!18A#0A#1!35A#0A#1!35A#0A#1!10A#0A#1!3A#0A#1!20A#0A$ #0C#1!47C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!17C#0C#1!17C#0C#1!16C#0C#1!18C#0C#1!16C#0C#1!18C#0C#1!35C#0C#1!35C#0C#1!10C#0C#1!3C#0C#1!20C#0C$ #0G#1!47G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!16G#0G#1!18G#0G#1!16G#0G#1!18G#0G#1!35G#0G#1!35G#0G#1!10G#0G#1!3G#0G#1!5G#0!2G#1G#0G#1!11G#0G$ #0O#1!47O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!16O#0O#1!18O#0O#1!17O#0O#1!17O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!35O#0O#1!10O#0!4O#1!5O#0O#1!2O#0O#1!12O#0O$ #0_#1!47_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!17_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!16_#0_#1!18_#0_#1!35_#0_#1!35_#0_#1!10_#0_#1!8_#0_#1!2_#0_#1!12_#0_$ - #0@#1!47@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!16@#0@#1!18@#0@#1!16@#0@#1!18@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!9@#0!2@#1!13@#0@$ #0A#1!13A#0!5A#1!11A#0A#1!17A#0A#1!17A#0!2A#1!16A#0A#1!15A#0A#1A#0A#1A#0A#1!15A#0A#1!15A#0!5A#1!15A#0A#1!15A#0!4A#1!16A#0A#1!15A#0!5A#1!15A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!16A#0!3A#1!16A#0A#1!17A#0!2A#1!16A#0A#1!15A#0!4A#1!16A#0A#1!17A#0A#1!17A#0A#1!16A#0A#1!18A#0A#1!16A#0A#1!18A#0A#1!6A#0!3A#1!15A#0A#1!10A#0A#1!6A#0!5A#1!15A#0A#1!8A#0A#1!10A#0A#1!8A#0A#1!15A#0A$ #0C#1!15C#0C#1!13C#0C#1!17C#0C#1!16C#0C#1!2C#0C#1!15C#0C#1!15C#0C#1C#0C#1C#0C#1!15C#0C#1!15C#0C#1!19C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!17C#0C#1!17C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!17C#0C#1!17C#0C#1!16C#0C#1!2C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!17C#0C#1!17C#0C#1!16C#0C#1!18C#0C#1!16C#0C#1!18C#0C#1!6C#0C#1!2C#0C#1!14C#0C#1!10C#0C#1!6C#0C#1!19C#0C#1!8C#0C#1!10C#0C#1!8C#0!4C#1!12C#0C$ #0G#1!15G#0G#1!13G#0G#1!17G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!15G#0G#1G#0G#1G#0G#1!15G#0G#1!15G#0G#1!19G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!17G#0G#1!17G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!17G#0G#1!17G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!17G#0G#1!17G#0G#1!16G#0G#1!18G#0G#1!16G#0G#1!18G#0G#1!6G#0G#1!3G#0G#1!13G#0G#1!10G#0G#1!6G#0G#1!19G#0G#1!8G#0G#1!10G#0G#1!7G#0G#1!4G#0G#1!11G#0G$ #0O#1!15O#0O#1!13O#0O#1!17O#0O#1!15O#0O#1!4O#0O#1!14O#0O#1!15O#0O#1O#0O#1O#0O#1!15O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!17O#0O#1!17O#0O#1!16O#0O#1O#0O#1!16O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!17O#0O#1!17O#0O#1!15O#0O#1!4O#0O#1!14O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!17O#0!2O#1!16O#0O#1!15O#0!2O#1!18O#0O#1!16O#0O#1!18O#0O#1!6O#0O#1!3O#0O#1!13O#0O#1!10O#0O#1!6O#0O#1!19O#0O#1!8O#0O#1!19O#0!4O#1!12O#0O$ #0_#1!15_#0_#1!6_#0!3_#1!4_#0_#1_#0!2_#1!14_#0_#1!15_#0_#1!4_#0_#1!14_#0_#1!15_#0_#1_#0_#1_#0_#1!15_#0_#1!15_#0_#1!19_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!17_#0_#1!17_#0_#1!16_#0_#1_#0_#1!16_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!17_#0_#1!17_#0_#1!15_#0_#1!4_#0_#1!14_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!35_#0_#1!35_#0_#1!16_#0_#1!18_#0_#1!6_#0_#1!3_#0_#1!4_#0!3_#1!6_#0_#1!10_#0_#1!6_#0_#1!7_#0_#1_#0!2_#1!5_#0!2_#1_#0_#1!8_#0_#1!35_#0_$ - #0@#1!15@#0@#1!5@#0@#1!3@#0@#1!3@#0!2@#1!2@#0@#1!13@#0@#1!15@#0@#1!4@#0@#1!14@#0@#1!15@#0@#1@#0@#1@#0@#1!15@#0@#1!15@#0!4@#1!16@#0@#1!15@#0!4@#1!16@#0@#1!17@#0@#1!17@#0@#1!17@#0@#1!17@#0@#1!15@#0@#1!3@#0@#1!15@#0@#1!17@#0@#1!17@#0@#1!15@#0@#1!4@#0@#1!14@#0@#1!15@#0!4@#1!16@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!6@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!5@#0@#1!10@#0@#1!6@#0!4@#1!4@#0!2@#1!2@#0@#1!3@#0@#1!2@#0!2@#1!8@#0@#1!35@#0@$ #0A#1!15A#0A#1!9A#0A#1!3A#0A#1!3A#0A#1!13A#0A#1!15A#0A#1!4A#0A#1!14A#0A#1!16A#0A#1A#0A#1!16A#0A#1!15A#0A#1!19A#0A#1!15A#0A#1!2A#0A#1!16A#0A#1!17A#0A#1!17A#0A#1!17A#0A#1!17A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!17A#0A#1!17A#0A#1!15A#0A#1!4A#0A#1!14A#0A#1!15A#0A#1!19A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!6A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!5A#0A#1!10A#0A#1!6A#0A#1!7A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!8A#0A#1!35A#0A$ #0C#1!15C#0C#1!6C#0!4C#1!3C#0C#1!3C#0C#1!13C#0C#1!15C#0C#1!2C#0C#1C#0C#1!14C#0C#1!16C#0C#1C#0C#1!16C#0C#1!15C#0C#1!19C#0C#1!15C#0C#1!2C#0C#1!16C#0C#1!17C#0C#1!17C#0C#1!17C#0C#1!17C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!17C#0C#1!17C#0C#1!15C#0C#1!4C#0C#1!14C#0C#1!15C#0C#1!19C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!6C#0C#1!3C#0C#1!3C#0!5C#1!5C#0C#1!10C#0C#1!6C#0C#1!7C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!8C#0C#1!35C#0C$ #0G#1!15G#0G#1!5G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!13G#0G#1!15G#0G#1!3G#0!2G#1!14G#0G#1!16G#0G#1G#0G#1!16G#0G#1!15G#0G#1!19G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!17G#0G#1!17G#0G#1!17G#0G#1!17G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!17G#0G#1!17G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!15G#0G#1!19G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!6G#0G#1!3G#0G#1!3G#0G#1!9G#0G#1!10G#0G#1!6G#0G#1!7G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!8G#0G#1!35G#0G$ #0O#1!15O#0O#1!5O#0O#1!3O#0O#1!3O#0!2O#1!2O#0O#1!13O#0O#1!16O#0O#1!2O#0O#1!15O#0O#1!16O#0O#1O#0O#1!16O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!17O#0O#1!17O#0O#1!17O#0O#1!17O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!17O#0O#1!17O#0O#1!16O#0O#1!2O#0O#1!15O#0O#1!15O#0O#1!19O#0O#1!16O#0!3O#1!16O#0O#1!15O#0!3O#1!17O#0O#1!35O#0O#1!6O#0O#1!2O#0O#1!4O#0O#1!3O#0O#1!5O#0O#1!10O#0O#1!6O#0O#1!7O#0O#1!3O#0O#1!3O#0O#1!2O#0!2O#1!8O#0O#1!35O#0O$ #0_#1!15_#0_#1!6_#0!3_#1_#0_#1!2_#0_#1_#0!2_#1!14_#0_#1!17_#0!2_#1_#0_#1!14_#0_#1!16_#0_#1_#0_#1!16_#0_#1!15_#0!5_#1!15_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!17_#0_#1!17_#0_#1!17_#0_#1!17_#0_#1!16_#0!3_#1!16_#0_#1!16_#0!3_#1!16_#0_#1!17_#0!2_#1!16_#0_#1!15_#0_#1!19_#0_#1!16_#0_#1!18_#0_#1!17_#0_#1!17_#0_#1!14_#0_#1!3_#0_#1!16_#0_#1!6_#0!3_#1!6_#0!3_#1!6_#0_#1!10_#0_#1!6_#0!5_#1!3_#0_#1!3_#0_#1!4_#0!2_#1_#0_#1!8_#0_#1!10_#0!3_#1!22_#0_$ - #0@#1!47@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!16@#0@#1!18@#0@#1!17@#0@#1!17@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!2@#0@#1!21@#0@$ #0A#1!47A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!16A#0A#1!18A#0A#1!17A#0A#1!17A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!35A#0A#1!35A#0A#1!10A#0A#1!3A#0A#1!20A#0A$ #0C#1!47C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0C#1!18C#0C#1!17C#0C#1!17C#0C#1!15C#0C#1C#0C#1!17C#0C#1!35C#0C#1!35C#0C#1!10C#0C#1!3C#0C#1!20C#0C$ #0G#1!47G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!16G#0G#1!18G#0G#1!17G#0G#1!17G#0G#1!15G#0G#1G#0G#1!17G#0G#1!35G#0G#1!35G#0G#1!10G#0G#1!3G#0G#1!3G#0G#1G#0!2G#1!13G#0G$ #0O#1!47O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!16O#0O#1!18O#0O#1!17O#0O#1!17O#0O#1!14O#0!5O#1!16O#0O#1!35O#0O#1!35O#0O#1!10O#0O#1!3O#0O#1!3O#0!2O#1!2O#0O#1!12O#0O$ #0_#1!47_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!16_#0_#1!18_#0_#1!17_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!35_#0_#1!35_#0_#1!10_#0_#1!3_#0_#1!3_#0_#1!3_#0_#1!12_#0_$ - #0@#1!47@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!16@#0@#1!18@#0@#1!17@#0@#1!17@#0@#1!16@#0@#1!18@#0@#1!35@#0@#1!35@#0@#1!10@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!12@#0@$ #0A#1!47A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!16A#0A#1!18A#0A#1!17A#0A#1!17A#0A#1!14A#0!5A#1!16A#0A#1!35A#0A#1!35A#0A#1!10A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!12A#0A$ #0C#1!47C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0C#1!18C#0C#1!17C#0C#1!17C#0C#1!16C#0C#1!18C#0C#1!35C#0C#1!35C#0C#1!10C#0C#1!2C#0C#1!4C#0C#1!3C#0C#1!12C#0C$ #0G#1!47G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!16G#0G#1!18G#0G#1!17G#0G#1!17G#0G#1!16G#0G#1!18G#0G#1!35G#0G#1!35G#0G#1!10G#0!3G#1!5G#0G#1!3G#0G#1!12G#0G$ #0O#1!47O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!16O#0!3O#1!16O#0O#1!15O#0!3O#1!17O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!47_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_$ - #0!625@$ #0A#1!59A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!59A#0A#1!108A$ #0C#1!59C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!59C#0C#1!108C$ #0G#1!59G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!59G#0G#1!108G$ #0O#1!59O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!15O#0!2O#1O#0!2O#1!15O#0O#1!59O#0O#1!108O$ #0_#1!59_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!15_#0_#1!2_#0_#1!16_#0_#1!59_#0_#1!108_$ - #0@#1!59@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!14@#0@#1!2@#0@#1!17@#0@#1!59@#0@#1!108@$ #0A#1!59A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!59A#0A#1!108A$ #0C#1!59C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0!2C#1!17C#0C#1!35C#0C#1!59C#0C#1!108C$ #0G#1!59G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!16G#0!2G#1!17G#0G#1!35G#0G#1!59G#0G#1!108G$ #0O#1!59O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!59O#0O#1!108O$ #0_#1!59_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!59_#0_#1!108_$ - #0@#1!59@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!59@#0@#1!108@$ #0A#1!17A#0!2A#1!40A#0A#1!17A#0A#1!17A#0A#1!16A#0!3A#1!16A#0A#1!15A#0!3A#1!17A#0A#1!15A#0!5A#1!15A#0A#1!17A#0!2A#1!16A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!19A#0A#1!15A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!15A#0A#1!19A#0A#1!16A#0!2A#1!17A#0A#1!35A#0A#1!11A#0!5A#1!43A#0A#1!108A$ #0C#1!16C#0C#1!2C#0C#1!39C#0C#1!17C#0C#1!17C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!2C#0C#1!16C#0C#1!15C#0C#1!19C#0C#1!16C#0C#1!2C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!19C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!19C#0C#1!16C#0!2C#1!17C#0C#1!35C#0C#1!11C#0C#1!16C#0C#1!30C#0C#1!108C$ #0G#1!15G#0G#1!4G#0G#1!38G#0G#1!16G#0G#1G#0G#1!16G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!19G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!19G#0G#1!15G#0G#1!15G#0G#1!2G#0G#1!16G#0G#1!15G#0G#1!19G#0G#1!35G#0G#1!35G#0G#1!11G#0G#1!16G#0G#1!30G#0G#1!108G$ #0O#1!15O#0O#1!4O#0O#1!38O#0O#1!16O#0O#1O#0O#1!16O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!15O#0O#1!2O#0O#1!16O#0O#1!15O#0O#1!19O#0O#1!35O#0O#1!35O#0O#1!11O#0O#1!16O#0O#1!30O#0O#1!108O$ #0_#1!15_#0_#1!8_#0!3_#1!4_#0_#1_#0!2_#1!5_#0!3_#1!16_#0_#1!16_#0_#1_#0_#1!16_#0_#1!16_#0_#1!18_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!15_#0_#1!19_#0_#1!15_#0_#1!19_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!19_#0_#1!15_#0_#1!15_#0_#1_#0_#1!17_#0_#1!15_#0_#1!19_#0_#1!35_#0_#1!35_#0_#1!11_#0_#1!7_#0_#1_#0!2_#1!4_#0!3_#1!6_#0!3_#1!5_#0_#1_#0!2_#1!11_#0_#1!108_$ - #0@#1!15@#0@#1!7@#0@#1!3@#0@#1!3@#0!2@#1!2@#0@#1!3@#0@#1!3@#0@#1!15@#0@#1!16@#0@#1@#0@#1!16@#0@#1!17@#0@#1!17@#0@#1!15@#0@#1!3@#0@#1!15@#0@#1!15@#0!4@#1!16@#0@#1!15@#0@#1!2@#0!3@#1!14@#0@#1!15@#0!5@#1!15@#0@#1!19@#0@#1!15@#0@#1!15@#0@#1@#0@#1!17@#0@#1!15@#0@#1!19@#0@#1!35@#0@#1!35@#0@#1!11@#0!4@#1!4@#0!2@#1!2@#0@#1!4@#0@#1!6@#0@#1!3@#0@#1!4@#0!2@#1!13@#0@#1!108@$ #0A#1!15A#0A#1!11A#0A#1!3A#0A#1!3A#0A#1!3A#0A#1!19A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!18A#0A#1!16A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!15A#0A#1!19A#0A#1!15A#0A#1!4A#0A#1!14A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!19A#0A#1!15A#0A#1!15A#0!2A#1A#0A#1!16A#0A#1!15A#0A#1!19A#0A#1!35A#0A#1!35A#0A#1!11A#0A#1!7A#0A#1!3A#0A#1!4A#0A#1!6A#0A#1!3A#0A#1!4A#0A#1!14A#0A#1!108A$ #0C#1!15C#0C#1!4C#0C#1!3C#0!4C#1!3C#0C#1!3C#0C#1!4C#0!3C#1!16C#0C#1!15C#0!5C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!19C#0C#1!15C#0C#1!4C#0C#1!14C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!19C#0C#1!35C#0C#1!35C#0C#1!11C#0C#1!7C#0C#1!3C#0C#1!4C#0C#1!6C#0!5C#1!4C#0C#1!14C#0C#1!108C$ #0G#1!15G#0G#1!4G#0G#1!2G#0G#1!3G#0G#1!3G#0!2G#1!2G#0G#1!7G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!19G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!19G#0G#1!35G#0G#1!35G#0G#1!11G#0G#1!7G#0G#1!3G#0G#1!4G#0G#1!6G#0G#1!8G#0G#1!14G#0G#1!108G$ #0O#1!16O#0O#1!2O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1O#0!2O#1!4O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!2O#0O#1!16O#0O#1!15O#0O#1!19O#0O#1!16O#0O#1!2O#0!2O#1!14O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!4O#0O#1!14O#0O#1!15O#0O#1!19O#0O#1!35O#0O#1!16O#0!2O#1!17O#0O#1!11O#0O#1!7O#0O#1!3O#0O#1!4O#0O#1!6O#0O#1!3O#0O#1!4O#0O#1!14O#0O#1!108O$ #0_#1!17_#0!2_#1!5_#0!3_#1_#0_#1!2_#0_#1!8_#0!3_#1!16_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!16_#0!3_#1!16_#0_#1!15_#0!3_#1!17_#0_#1!15_#0_#1!19_#0_#1!17_#0!2_#1_#0_#1!14_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!16_#0!3_#1!16_#0_#1!15_#0_#1!4_#0_#1!14_#0_#1!15_#0!6_#1!14_#0_#1!35_#0_#1!16_#0!2_#1!17_#0_#1!11_#0!5_#1!3_#0_#1!3_#0_#1!5_#0!2_#1!5_#0!3_#1!5_#0_#1!14_#0_#1!108_$ - #0@#1!31@#0@#1!27@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!59@#0@#1!108@$ #0A#1!59A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!16A#0A#1!18A#0A#1!59A#0A#1!108A$ #0C#1!59C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0!2C#1!17C#0C#1!35C#0C#1!59C#0C#1!108C$ #0G#1!59G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!16G#0!2G#1!17G#0G#1!35G#0G#1!59G#0G#1!108G$ #0O#1!59O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!59O#0O#1!108O$ #0_#1!59_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!59_#0_#1!108_$ - #0@#1!59@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!59@#0@#1!108@$ #0A#1!59A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!16A#0!2A#1!17A#0A#1!35A#0A#1!59A#0A#1!108A$ #0C#1!59C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0!2C#1!17C#0C#1!35C#0C#1!59C#0C#1!108C$ #0G#1!59G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!35G#0G#1!59G#0G#1!108G$ #0O#1!59O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!59O#0O#1!108O$ #0_#1!59_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!59_#0_#1!108_$ - #0!517@#1!35@#0!37@#1!36@$ #0A#1!71A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!36A$ #0C#1!71C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!36C$ #0G#1!71G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!36G$ #0O#1!71O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!36O$ #0_#1!71_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!15_#0!3_#1!17_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!36_$ - #0@#1!71@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!18@#0@#1!16@#0@#1!14@#0@#1!20@#0@#1!14@#0@#1!3@#0@#1!16@#0@#1!83@#0@#1!35@#0@#1!35@#0@#1!36@$ #0A#1!71A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!17A#0A#1!17A#0A#1!15A#0A#1!19A#0A#1!14A#0A#1!3A#0A#1!16A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!36A$ #0C#1!71C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0C#1!18C#0C#1!16C#0C#1!18C#0C#1!18C#0C#1!16C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!36C$ #0G#1!71G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!15G#0G#1!19G#0G#1!17G#0G#1!17G#0G#1!17G#0G#1!17G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!36G$ #0O#1!71O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!14O#0O#1!20O#0O#1!18O#0O#1!16O#0O#1!16O#0O#1!18O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!36O$ #0_#1!71_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!15_#0_#1!19_#0_#1!17_#0_#1!17_#0_#1!16_#0_#1!18_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!36_$ - #0@#1!71@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!16@#0@#1!18@#0@#1!16@#0@#1!18@#0@#1!16@#0@#1!18@#0@#1!83@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!36@$ #0A#1!18A#0!3A#1!4A#0A#1!17A#0!2A#1!26A#0A#1!15A#0!5A#1!15A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!17A#0!2A#1!16A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!15A#0!4A#1!16A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!17A#0A#1!17A#0A#1!15A#0A#1!19A#0A#1!35A#0A#1!23A#0!3A#1!4A#0A#1!17A#0!2A#1!33A#0A#1!35A#0A#1!16A#0!3A#1!16A#0A#1!36A$ #0C#1!17C#0C#1!3C#0C#1!3C#0C#1!9C#0C#1!6C#0C#1!7C#0C#1!20C#0C#1!19C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!16C#0C#1!2C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!18C#0C#1!16C#0C#1!14C#0C#1!20C#0C#1!16C#0C#1!18C#0C#1!22C#0C#1!3C#0C#1!3C#0C#1!9C#0C#1!6C#0C#1!7C#0C#1!27C#0C#1!35C#0C#1!15C#0C#1C#0C#1C#0C#1!15C#0C#1!36C$ #0G#1!17G#0G#1!3G#0G#1!3G#0G#1!9G#0G#1!6G#0G#1!7G#0G#1!20G#0G#1!18G#0G#1!16G#0G#1!16G#0G#1G#0G#1!16G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0!2G#1!2G#0G#1!15G#0G#1!15G#0!2G#1G#0!2G#1!15G#0G#1!35G#0G#1!35G#0G#1!16G#0G#1!18G#0G#1!22G#0G#1!3G#0G#1!3G#0G#1!9G#0G#1!6G#0G#1!7G#0G#1!27G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!36G$ #0O#1!17O#0O#1!7O#0O#1!16O#0O#1!7O#0O#1!20O#0O#1!18O#0O#1!16O#0O#1!16O#0O#1O#0O#1!16O#0O#1!15O#0O#1!4O#0O#1!14O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0!2O#1!2O#0O#1!15O#0O#1!15O#0!2O#1O#0!2O#1!15O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!22O#0O#1!7O#0O#1!16O#0O#1!7O#0O#1!27O#0O#1!35O#0O#1!17O#0O#1!17O#0O#1!36O$ #0_#1!18_#0_#1!6_#0_#1_#0!2_#1!6_#0_#1!5_#0!4_#1!4_#0!3_#1!19_#0_#1!17_#0_#1!17_#0_#1!17_#0_#1!17_#0_#1!15_#0_#1!19_#0_#1!16_#0_#1_#0_#1!16_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!15_#0!2_#1!2_#0_#1!15_#0_#1!15_#0!2_#1_#0!2_#1!15_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!23_#0_#1!6_#0_#1_#0!2_#1!6_#0_#1!5_#0!4_#1!4_#0!3_#1!26_#0_#1!35_#0_#1!17_#0_#1!17_#0_#1!36_$ - #0@#1!19@#0@#1!5@#0!2@#1!2@#0@#1!5@#0@#1!6@#0@#1!7@#0@#1!20@#0@#1!17@#0@#1!17@#0@#1!17@#0@#1!17@#0@#1!15@#0@#1!19@#0@#1!16@#0@#1@#0@#1!16@#0@#1!15@#0!4@#1!16@#0@#1!15@#0@#1@#0@#1@#0@#1!15@#0@#1!15@#0!2@#1@#0!2@#1!15@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!24@#0@#1!5@#0!2@#1!2@#0@#1!5@#0@#1!6@#0@#1!7@#0@#1!27@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!36@$ #0A#1!20A#0A#1!4A#0A#1!3A#0A#1!5A#0A#1!6A#0A#1!7A#0A#1!20A#0A#1!17A#0A#1!17A#0A#1!16A#0A#1A#0A#1!16A#0A#1!15A#0A#1!19A#0A#1!16A#0A#1A#0A#1!16A#0A#1!15A#0A#1!3A#0A#1!15A#0A#1!15A#0A#1A#0A#1A#0A#1!15A#0A#1!15A#0A#1A#0A#1A#0A#1!15A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!25A#0A#1!4A#0A#1!3A#0A#1!5A#0A#1!6A#0A#1!7A#0A#1!27A#0A#1!35A#0A#1!17A#0A#1!17A#0A#1!36A$ #0C#1!17C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!5C#0C#1!6C#0C#1!7C#0C#1!20C#0C#1!16C#0C#1!18C#0C#1!16C#0C#1C#0C#1!16C#0C#1!15C#0C#1!4C#0C#1!14C#0C#1!16C#0C#1C#0C#1!16C#0C#1!15C#0C#1!3C#0C#1!15C#0C#1!15C#0C#1!2C#0!2C#1!15C#0C#1!15C#0C#1C#0C#1C#0C#1!15C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!22C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!5C#0C#1!6C#0C#1!7C#0C#1!27C#0C#1!35C#0C#1!17C#0C#1!17C#0C#1!36C$ #0G#1!17G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!5G#0G#1!6G#0G#1!7G#0G#1!20G#0G#1!16G#0G#1!18G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!4G#0G#1!14G#0G#1!17G#0G#1!17G#0G#1!15G#0G#1!3G#0G#1!15G#0G#1!15G#0G#1!2G#0!2G#1!15G#0G#1!15G#0G#1G#0G#1G#0G#1!15G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!22G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!5G#0G#1!6G#0G#1!7G#0G#1!27G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!36G$ #0O#1!17O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!5O#0O#1!6O#0O#1!7O#0O#1!20O#0O#1!15O#0O#1!19O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!16O#0O#1!2O#0O#1!15O#0O#1!17O#0O#1!17O#0O#1!15O#0O#1!3O#0O#1!15O#0O#1!15O#0O#1!2O#0!2O#1!15O#0O#1!15O#0O#1O#0O#1O#0O#1!15O#0O#1!35O#0O#1!35O#0O#1!19O#0O#1!15O#0O#1!22O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!5O#0O#1!6O#0O#1!7O#0O#1!27O#0O#1!35O#0O#1!17O#0O#1!17O#0O#1!36O$ #0_#1!18_#0!3_#1!4_#0_#1!3_#0_#1!5_#0_#1!6_#0_#1!8_#0!2_#1!18_#0_#1!15_#0!5_#1!15_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!17_#0!2_#1!16_#0_#1!17_#0_#1!17_#0_#1!15_#0!4_#1!16_#0_#1!15_#0_#1!3_#0_#1!15_#0_#1!15_#0_#1_#0_#1_#0_#1!15_#0_#1!35_#0_#1!35_#0_#1!19_#0_#1!15_#0_#1!23_#0!3_#1!4_#0_#1!3_#0_#1!5_#0_#1!6_#0_#1!8_#0!2_#1!25_#0_#1!35_#0_#1!17_#0_#1!17_#0_#1!36_$ - #0@#1!71@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!18@#0@#1!16@#0@#1!83@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!36@$ #0A#1!71A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!18A#0A#1!16A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!36A$ #0C#1!71C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!17C#0C#1!17C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!36C$ #0G#1!71G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!36G$ #0O#1!71O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!17O#0O#1!17O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!36O$ #0_#1!71_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!16_#0_#1!18_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!36_$ - #0@#1!71@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!35@#0@#1!16@#0@#1!18@#0@#1!83@#0@#1!35@#0@#1!35@#0@#1!36@$ #0A#1!71A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!35A#0A#1!16A#0!2A#1!17A#0A#1!16A#0!2A#1!17A#0A#1!15A#0A#1!19A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!36A$ #0C#1!71C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!35C#0C#1!16C#0!2C#1!17C#0C#1!16C#0!2C#1!17C#0C#1!15C#0C#1!19C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!36C$ #0G#1!71G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!35G#0G#1!14G#0G#1!20G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!36G$ #0O#1!71O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!35O#0O#1!16O#0O#1!18O#0O#1!35O#0O#1!14O#0O#1!20O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!36O$ #0_#1!71_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!35_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!36_$ - #0!625@$ #0A#1!71A#0A#1!71A#0A#1!215A#0A#1!71A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!35A#0A$ #0C#1!71C#0C#1!71C#0C#1!215C#0C#1!71C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!35C#0C$ #0G#1!71G#0G#1!71G#0G#1!215G#0G#1!71G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!35G#0G$ #0O#1!71O#0O#1!71O#0O#1!215O#0O#1!71O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!71_#0_#1!71_#0_#1!215_#0_#1!71_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!35_#0_$ - #0@#1!71@#0@#1!71@#0@#1!215@#0@#1!71@#0@#1!83@#0@#1!35@#0@#1!35@#0@#1!35@#0@$ #0A#1!71A#0A#1!71A#0A#1!215A#0A#1!71A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!35A#0A$ #0C#1!71C#0C#1!71C#0C#1!215C#0C#1!71C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!35C#0C$ #0G#1!71G#0G#1!71G#0G#1!215G#0G#1!71G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!35G#0G$ #0O#1!71O#0O#1!71O#0O#1!215O#0O#1!71O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!71_#0_#1!71_#0_#1!215_#0_#1!71_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!35_#0_$ - #0@#1!71@#0@#1!71@#0@#1!215@#0@#1!71@#0@#1!83@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!35@#0@$ #0A#1!23A#0!2A#1!22A#0A#1!23A#0A#1!27A#0A#1!7A#0A#1!35A#0A#1!90A#0!3A#1!122A#0A#1!27A#0A#1!7A#0A#1!35A#0A#1!29A#0!2A#1!22A#0A#1!29A#0A#1!35A#0A#1!17A#0A#1!17A#0A#1!35A#0A$ #0C#1!22C#0C#1!2C#0C#1!4C#0C#1!16C#0C#1!23C#0C#1!27C#0C#1!7C#0C#1!6C#0C#1!28C#0C#1!89C#0C#1!3C#0C#1!121C#0C#1!27C#0C#1!7C#0C#1!6C#0C#1!28C#0C#1!28C#0C#1!2C#0C#1!4C#0C#1!16C#0C#1!29C#0C#1!35C#0C#1!17C#0C#1!17C#0C#1!35C#0C$ #0G#1!21G#0G#1!4G#0G#1!3G#0G#1!16G#0G#1!23G#0G#1!26G#0G#1G#0G#1!6G#0G#1!6G#0G#1!28G#0G#1!89G#0G#1!3G#0G#1!121G#0G#1!26G#0G#1G#0G#1!6G#0G#1!6G#0G#1!28G#0G#1!27G#0G#1!4G#0G#1!3G#0G#1!16G#0G#1!29G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!35G#0G$ #0O#1!21O#0O#1!4O#0O#1!3O#0O#1!16O#0O#1!23O#0O#1!26O#0O#1O#0O#1!6O#0O#1!6O#0O#1!28O#0O#1!89O#0O#1!125O#0O#1!26O#0O#1O#0O#1!6O#0O#1!6O#0O#1!28O#0O#1!27O#0O#1!4O#0O#1!3O#0O#1!16O#0O#1!29O#0O#1!13O#0O#1!21O#0O#1!17O#0O#1!17O#0O#1!21O#0O#1!13O#0O$ #0_#1!21_#0_#1!7_#0!3_#1!6_#0_#1_#0!2_#1!5_#0_#1!23_#0_#1!26_#0_#1_#0_#1!6_#0_#1!5_#0!3_#1!27_#0_#1!90_#0_#1!6_#0_#1_#0!2_#1!5_#0!3_#1!5_#0!3_#1!5_#0!3_#1!90_#0_#1!26_#0_#1_#0_#1!6_#0_#1!5_#0!3_#1!27_#0_#1!27_#0_#1!7_#0!3_#1!6_#0_#1_#0!2_#1!5_#0_#1!29_#0_#1!12_#0_#1!22_#0_#1!17_#0_#1!17_#0_#1!22_#0_#1!12_#0_$ - #0@#1!21@#0@#1!8@#0@#1!7@#0!2@#1!7@#0@#1!23@#0@#1!26@#0@#1@#0@#1!6@#0@#1!6@#0@#1!28@#0@#1!91@#0@#1!5@#0!2@#1!2@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!3@#0@#1!89@#0@#1!26@#0@#1@#0@#1!6@#0@#1!6@#0@#1!28@#0@#1!27@#0@#1!8@#0@#1!7@#0!2@#1!7@#0@#1!29@#0@#1!11@#0!13@#1!11@#0@#1!17@#0@#1!17@#0@#1!11@#0!13@#1!11@#0@$ #0A#1!21A#0A#1!8A#0A#1!7A#0A#1!8A#0A#1!23A#0A#1!25A#0A#1!3A#0A#1!5A#0A#1!6A#0A#1!28A#0A#1!92A#0A#1!4A#0A#1!3A#0A#1!7A#0A#1!3A#0A#1!7A#0A#1!3A#0A#1!89A#0A#1!25A#0A#1!3A#0A#1!5A#0A#1!6A#0A#1!28A#0A#1!27A#0A#1!8A#0A#1!7A#0A#1!8A#0A#1!29A#0A#1!12A#0A#1!22A#0A#1!17A#0A#1!17A#0A#1!22A#0A#1!12A#0A$ #0C#1!21C#0C#1!4C#0C#1!3C#0C#1!7C#0C#1!8C#0C#1!23C#0C#1!25C#0!5C#1!5C#0C#1!6C#0C#1!28C#0C#1!89C#0C#1!3C#0C#1!3C#0C#1!3C#0C#1!4C#0!4C#1!3C#0C#1!7C#0!5C#1!89C#0C#1!25C#0!5C#1!5C#0C#1!6C#0C#1!28C#0C#1!27C#0C#1!4C#0C#1!3C#0C#1!7C#0C#1!8C#0C#1!29C#0C#1!13C#0C#1!21C#0C#1!17C#0C#1!17C#0C#1!21C#0C#1!13C#0C$ #0G#1!21G#0G#1!4G#0G#1!3G#0G#1!7G#0G#1!8G#0G#1!23G#0G#1!25G#0G#1!3G#0G#1!5G#0G#1!6G#0G#1!28G#0G#1!89G#0G#1!3G#0G#1!3G#0!2G#1!2G#0G#1!3G#0G#1!3G#0G#1!3G#0G#1!7G#0G#1!93G#0G#1!25G#0G#1!3G#0G#1!5G#0G#1!6G#0G#1!28G#0G#1!27G#0G#1!4G#0G#1!3G#0G#1!7G#0G#1!8G#0G#1!29G#0G#1!35G#0G#1!17G#0G#1!17G#0G#1!35G#0G$ #0O#1!22O#0O#1!2O#0O#1!4O#0O#1!7O#0O#1!8O#0O#1!23O#0O#1!25O#0O#1!3O#0O#1!5O#0O#1!6O#0O#1!28O#0O#1!89O#0O#1!3O#0O#1!3O#0O#1O#0!2O#1!4O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!3O#0O#1!89O#0O#1!25O#0O#1!3O#0O#1!5O#0O#1!6O#0O#1!28O#0O#1!28O#0O#1!2O#0O#1!4O#0O#1!7O#0O#1!8O#0O#1!29O#0O#1!35O#0O#1!15O#0O#1O#0O#1O#0O#1!15O#0O#1!35O#0O$ #0_#1!23_#0!2_#1!6_#0!2_#1!5_#0_#1!8_#0_#1!23_#0_#1!25_#0_#1!3_#0_#1!5_#0_#1!7_#0!2_#1!26_#0_#1!90_#0!3_#1!4_#0_#1!8_#0!3_#1_#0_#1!3_#0!3_#1!5_#0!3_#1!90_#0_#1!25_#0_#1!3_#0_#1!5_#0_#1!7_#0!2_#1!26_#0_#1!29_#0!2_#1!6_#0!2_#1!5_#0_#1!8_#0_#1!29_#0_#1!35_#0_#1!16_#0!3_#1!16_#0_#1!35_#0_$ - #0@#1!71@#0@#1!71@#0@#1!97@#0@#1!117@#0@#1!71@#0@#1!83@#0@#1!35@#0@#1!17@#0@#1!17@#0@#1!35@#0@$ #0A#1!71A#0A#1!71A#0A#1!215A#0A#1!71A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!35A#0A$ #0C#1!71C#0C#1!71C#0C#1!215C#0C#1!71C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!35C#0C$ #0G#1!71G#0G#1!71G#0G#1!215G#0G#1!71G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!35G#0G$ #0O#1!71O#0O#1!71O#0O#1!215O#0O#1!71O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!71_#0_#1!71_#0_#1!215_#0_#1!71_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!35_#0_$ - #0@#1!71@#0@#1!71@#0@#1!215@#0@#1!71@#0@#1!83@#0@#1!35@#0@#1!35@#0@#1!35@#0@$ #0A#1!71A#0A#1!71A#0A#1!215A#0A#1!71A#0A#1!83A#0A#1!35A#0A#1!35A#0A#1!35A#0A$ #0C#1!71C#0C#1!71C#0C#1!215C#0C#1!71C#0C#1!83C#0C#1!35C#0C#1!35C#0C#1!35C#0C$ #0G#1!71G#0G#1!71G#0G#1!215G#0G#1!71G#0G#1!83G#0G#1!35G#0G#1!35G#0G#1!35G#0G$ #0O#1!71O#0O#1!71O#0O#1!215O#0O#1!71O#0O#1!83O#0O#1!35O#0O#1!35O#0O#1!35O#0O$ #0_#1!71_#0_#1!71_#0_#1!215_#0_#1!71_#0_#1!83_#0_#1!35_#0_#1!35_#0_#1!35_#0_$ - #0!625@$ œ mlterm-3.8.4/doc/kbd/kbd.six010064400017600000144000001357031321054731300143260ustar kenusers0;0;8q"1;1 #0;2;0;0;0#1;2;100;100;100#2;2;49;49;49 #0!469@#2!119@#0!37@$ #0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!119A#0A#2!35A#0A$ #0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!119C#0C#2!35C#0C$ #0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!119G#0G#2!35G#0G$ #0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!119O#0O#2!35O#0O$ #0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!119_#0_#2!35_#0_$ - #0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!119@#0@#2!35@#0@$ #0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!119A#0A#2!35A#0A$ #0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!119C#0C#2!35C#0C$ #0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!119G#0G#2!35G#0G$ #0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!119O#0O#2!35O#0O$ #0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!119_#0_#2!35_#0_$ - #0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!119@#0@#2!35@#0@$ #0A#2!6A#1!5A#2!24A#0A#2!10A#1!5A#2!5A#1A#2!14A#0A#2!10A#1!5A#2!4A#1!3A#2!13A#0A#2!10A#1!5A#2!4A#1!3A#2!13A#0A#2!10A#1!5A#2!7A#1A#2!12A#0A#2!10A#1!5A#2!3A#1!5A#2!12A#0A#2!10A#1!5A#2!4A#1!3A#2!13A#0A#2!10A#1!5A#2!3A#1!5A#2!12A#0A#2!10A#1!5A#2!4A#1!3A#2!13A#0A#2!10A#1!5A#2!4A#1!3A#2!13A#0A#2!6A#1!5A#2!5A#1A#2!6A#1!3A#2!9A#0A#2!6A#1!5A#2!5A#1A#2!7A#1A#2!10A#0A#2!6A#1!5A#2!5A#1A#2!6A#1!3A#2!9A#0A#2!119A#0A#2!35A#0A$ #0C#2!6C#1C#2!28C#0C#2!10C#1C#2!8C#1!2C#2!14C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!10C#1C#2!10C#1!2C#2!12C#0C#2!10C#1C#2!7C#1C#2!16C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!10C#1C#2!11C#1C#2!12C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!6C#1C#2!8C#1!2C#2!5C#1C#2!3C#1C#2!8C#0C#2!6C#1C#2!8C#1!2C#2!6C#1!2C#2!10C#0C#2!6C#1C#2!8C#1!2C#2!5C#1C#2!3C#1C#2!8C#0C#2!119C#0C#2!13C#1C#2!7C#1C#2!13C#0C$ #0G#2!6G#1G#2!28G#0G#2!10G#1G#2!9G#1G#2!14G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!10G#1!2G#2!12G#0G#2!10G#1G#2!7G#1G#2!16G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!11G#1G#2!12G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!6G#1G#2!9G#1G#2!5G#1G#2!3G#1G#2!8G#0G#2!6G#1G#2!9G#1G#2!7G#1G#2!10G#0G#2!6G#1G#2!9G#1G#2!5G#1G#2!3G#1G#2!8G#0G#2!119G#0G#2!14G#1G#2!5G#1G#2!14G#0G$ #0O#2!6O#1O#2!28O#0O#2!10O#1O#2!9O#1O#2!14O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!10O#1O#2!11O#1O#2!12O#0O#2!10O#1O#2!9O#1O#2O#1O#2!12O#0O#2!10O#1O#2!7O#1O#2!16O#0O#2!10O#1O#2!7O#1O#2!16O#0O#2!10O#1O#2!10O#1O#2!13O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!6O#1O#2!9O#1O#2!5O#1O#2!3O#1O#2!8O#0O#2!6O#1O#2!9O#1O#2!7O#1O#2!10O#0O#2!6O#1O#2!9O#1O#2!5O#1O#2!3O#1O#2!8O#0O#2!119O#0O#2!15O#1O#2!3O#1O#2!15O#0O$ #0_#2!6_#1_#2!8_#1!3_#2!5_#1!3_#2!9_#0_#2!10_#1_#2!9_#1_#2!14_#0_#2!10_#1_#2!10_#1_#2!13_#0_#2!10_#1_#2!11_#1_#2!12_#0_#2!10_#1_#2!9_#1_#2_#1_#2!12_#0_#2!10_#1_#2!7_#1!4_#2!13_#0_#2!10_#1_#2!7_#1_#2_#1!2_#2!13_#0_#2!10_#1_#2!10_#1_#2!13_#0_#2!10_#1_#2!7_#1_#2!3_#1_#2!12_#0_#2!10_#1_#2!7_#1_#2!3_#1_#2!12_#0_#2!6_#1_#2!9_#1_#2!5_#1_#2!3_#1_#2!8_#0_#2!6_#1_#2!9_#1_#2!7_#1_#2!10_#0_#2!6_#1_#2!9_#1_#2!8_#1_#2!9_#0_#2!119_#0_#2!16_#1_#2_#1_#2!16_#0_$ - #0@#2!6@#1!4@#2!4@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!8@#0@#2!10@#1!4@#2!6@#1@#2!14@#0@#2!10@#1!4@#2!7@#1@#2!13@#0@#2!10@#1!4@#2!5@#1!3@#2!13@#0@#2!10@#1!4@#2!5@#1@#2!2@#1@#2!12@#0@#2!10@#1!4@#2!4@#1@#2!3@#1@#2!12@#0@#2!10@#1!4@#2!4@#1!2@#2!2@#1@#2!12@#0@#2!10@#1!4@#2!7@#1@#2!13@#0@#2!10@#1!4@#2!5@#1!3@#2!13@#0@#2!10@#1!4@#2!4@#1@#2!2@#1!2@#2!12@#0@#2!6@#1!4@#2!6@#1@#2!5@#1@#2!3@#1@#2!8@#0@#2!6@#1!4@#2!6@#1@#2!7@#1@#2!10@#0@#2!6@#1!4@#2!6@#1@#2!8@#1@#2!9@#0@#2!119@#0@#2!17@#1@#2!17@#0@$ #0A#2!6A#1A#2!7A#1A#2!7A#1A#2!12A#0A#2!10A#1A#2!9A#1A#2!14A#0A#2!10A#1A#2!9A#1A#2!14A#0A#2!10A#1A#2!11A#1A#2!12A#0A#2!10A#1A#2!8A#1A#2!2A#1A#2!12A#0A#2!10A#1A#2!11A#1A#2!12A#0A#2!10A#1A#2!7A#1A#2!3A#1A#2!12A#0A#2!10A#1A#2!10A#1A#2!13A#0A#2!10A#1A#2!7A#1A#2!3A#1A#2!12A#0A#2!10A#1A#2!8A#1!2A#2A#1A#2!12A#0A#2!6A#1A#2!9A#1A#2!5A#1A#2!3A#1A#2!8A#0A#2!6A#1A#2!9A#1A#2!7A#1A#2!10A#0A#2!6A#1A#2!9A#1A#2!7A#1A#2!10A#0A#2!119A#0A#2!16A#1A#2A#1A#2!16A#0A$ #0C#2!6C#1C#2!8C#1!3C#2!4C#1C#2!12C#0C#2!10C#1C#2!9C#1C#2!14C#0C#2!10C#1C#2!8C#1C#2!15C#0C#2!10C#1C#2!11C#1C#2!12C#0C#2!10C#1C#2!7C#1!6C#2!11C#0C#2!10C#1C#2!11C#1C#2!12C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!10C#1C#2!9C#1C#2!14C#0C#2!10C#1C#2!7C#1C#2!3C#1C#2!12C#0C#2!10C#1C#2!11C#1C#2!12C#0C#2!6C#1C#2!9C#1C#2!5C#1C#2!3C#1C#2!8C#0C#2!6C#1C#2!9C#1C#2!7C#1C#2!10C#0C#2!6C#1C#2!9C#1C#2!6C#1C#2!11C#0C#2!119C#0C#2!15C#1C#2!3C#1C#2!15C#0C$ #0G#2!6G#1G#2!11G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!9G#1G#2!14G#0G#2!10G#1G#2!8G#1G#2!15G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!11G#1G#2!12G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!9G#1G#2!14G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!10G#1G#2!7G#1G#2!3G#1G#2!12G#0G#2!6G#1G#2!9G#1G#2!5G#1G#2!3G#1G#2!8G#0G#2!6G#1G#2!9G#1G#2!7G#1G#2!10G#0G#2!6G#1G#2!9G#1G#2!6G#1G#2!11G#0G#2!119G#0G#2!14G#1G#2!5G#1G#2!14G#0G$ #0O#2!6O#1O#2!7O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!8O#0O#2!10O#1O#2!9O#1O#2!14O#0O#2!10O#1O#2!7O#1O#2!16O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!10O#1O#2!11O#1O#2!12O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!10O#1O#2!9O#1O#2!14O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!10O#1O#2!7O#1O#2!3O#1O#2!12O#0O#2!6O#1O#2!9O#1O#2!5O#1O#2!3O#1O#2!8O#0O#2!6O#1O#2!9O#1O#2!7O#1O#2!10O#0O#2!6O#1O#2!9O#1O#2!5O#1O#2!12O#0O#2!119O#0O#2!13O#1O#2!7O#1O#2!13O#0O$ #0_#2!6_#1!5_#2!4_#1!3_#2!5_#1!3_#2!9_#0_#2!10_#1_#2!9_#1_#2!14_#0_#2!10_#1_#2!7_#1!5_#2!12_#0_#2!10_#1_#2!8_#1!3_#2!13_#0_#2!10_#1_#2!11_#1_#2!12_#0_#2!10_#1_#2!8_#1!3_#2!13_#0_#2!10_#1_#2!8_#1!3_#2!13_#0_#2!10_#1_#2!9_#1_#2!14_#0_#2!10_#1_#2!8_#1!3_#2!13_#0_#2!10_#1_#2!8_#1!3_#2!13_#0_#2!6_#1_#2!9_#1_#2!6_#1!3_#2!9_#0_#2!6_#1_#2!9_#1_#2!7_#1_#2!10_#0_#2!6_#1_#2!9_#1_#2!5_#1!5_#2!8_#0_#2!119_#0_#2!35_#0_$ - #0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!119@#0@#2!35@#0@$ #0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!119A#0A#2!35A#0A$ #0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!119C#0C#2!35C#0C$ #0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!119G#0G#2!35G#0G$ #0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!119O#0O#2!35O#0O$ #0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!119_#0_#2!35_#0_$ - #0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!119@#0@#2!35@#0@$ #0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!119A#0A#2!35A#0A$ #0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!119C#0C#2!35C#0C$ #0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!119G#0G#2!35G#0G$ #0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!119O#0O#2!35O#0O$ #0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!119_#0_#2!35_#0_$ - #0!625@$ #0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!47A#0A#2!35A#0A#2!35A#0A#2!35A#0A$ #0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!47C#0C#2!35C#0C#2!35C#0C#2!35C#0C$ #0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!47G#0G#2!35G#0G#2!35G#0G#2!35G#0G$ #0O#2!15O#1!2O#2!2O#1O#2!15O#0O#2!35O#0O#2!35O#0O#2!15O#1O#2!2O#1O#2!16O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!35O#0O#2!18O#1O#2!16O#0O#2!15O#1O#2!19O#0O#2!35O#0O#2!35O#0O#2!47O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!14_#1_#2!2_#1!2_#2!16_#0_#2!16_#1_#2!18_#0_#2!16_#1!2_#2!17_#0_#2!15_#1_#2!2_#1_#2!16_#0_#2!15_#1!3_#2!17_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!15_#1_#2_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!35_#0_#2!17_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!35_#0_#2!35_#0_#2!8_#1!4_#2!20_#1_#2!14_#0_#2!35_#0_#2!35_#0_#2!10_#1!4_#2!21_#0_$ - #0@#2!35@#0@#2!16@#1@#2!18@#0@#2!15@#1@#2!2@#1@#2!16@#0@#2!15@#1@#2!2@#1@#2!16@#0@#2!14@#1@#2@#1@#2@#1@#2!16@#0@#2!14@#1@#2@#1@#2!2@#1@#2!15@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!15@#1@#2@#1@#2!17@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!16@#1@#2!18@#0@#2!35@#0@#2!35@#0@#2!8@#1@#2!3@#1@#2!19@#1@#2!14@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!3@#1@#2!20@#0@$ #0A#2!35A#0A#2!16A#1A#2!18A#0A#2!14A#1A#2!4A#1A#2!15A#0A#2!14A#1!6A#2!15A#0A#2!14A#1A#2A#1A#2A#1A#2!16A#0A#2!14A#1A#2A#1A#2A#1A#2!16A#0A#2!35A#0A#2!15A#1A#2A#1A#2!17A#0A#2!16A#1A#2!18A#0A#2!16A#1A#2!18A#0A#2!17A#1A#2!17A#0A#2!35A#0A#2!16A#1A#2!18A#0A#2!8A#1A#2!3A#1A#2!19A#1A#2!14A#0A#2!35A#0A#2!35A#0A#2!10A#1A#2!3A#1A#2!20A#0A$ #0C#2!35C#0C#2!16C#1C#2!18C#0C#2!14C#1C#2C#1!2C#2C#1C#2!15C#0C#2!15C#1C#2!2C#1C#2!16C#0C#2!14C#1C#2C#1C#2!18C#0C#2!14C#1C#2C#1C#2C#1C#2!16C#0C#2!35C#0C#2!15C#1C#2C#1C#2!17C#0C#2!14C#1C#2C#1C#2C#1C#2!16C#0C#2!16C#1C#2!18C#0C#2!17C#1C#2!17C#0C#2!35C#0C#2!16C#1C#2!18C#0C#2!8C#1C#2!3C#1C#2!19C#1C#2!14C#0C#2!35C#0C#2!35C#0C#2!10C#1C#2!3C#1C#2!20C#0C$ #0G#2!35G#0G#2!16G#1G#2!18G#0G#2!14G#1!2G#2G#1G#2G#1G#2!15G#0G#2!15G#1G#2!2G#1G#2!16G#0G#2!15G#1!2G#2!18G#0G#2!15G#1G#2G#1G#2!17G#0G#2!35G#0G#2!16G#1G#2!18G#0G#2!15G#1!3G#2!17G#0G#2!16G#1G#2!18G#0G#2!17G#1G#2!17G#0G#2!35G#0G#2!16G#1G#2!18G#0G#2!8G#1G#2!3G#1G#2!4G#1!3G#2!5G#1!3G#2!4G#1G#2!3G#1G#2!10G#0G#2!35G#0G#2!35G#0G#2!10G#1G#2!3G#1G#2!5G#1!2G#2G#1G#2!11G#0G$ #0O#2!35O#0O#2!16O#1O#2!18O#0O#2!14O#1!2O#2O#1O#2O#1O#2!15O#0O#2!15O#1O#2!2O#1O#2!16O#0O#2!16O#1!2O#2!17O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!15O#1!2O#2!18O#0O#2!16O#1O#2!18O#0O#2!16O#1O#2!18O#0O#2!17O#1O#2!17O#0O#2!35O#0O#2!14O#1!5O#2!16O#0O#2!8O#1!4O#2!4O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!2O#1O#2!11O#0O#2!35O#0O#2!35O#0O#2!10O#1!4O#2!5O#1O#2!2O#1O#2!12O#0O$ #0_#2!35_#0_#2!16_#1_#2!18_#0_#2!14_#1!2_#2_#1_#2_#1_#2!15_#0_#2!15_#1_#2!2_#1_#2!16_#0_#2!16_#1_#2_#1_#2!16_#0_#2!16_#1_#2_#1_#2!16_#0_#2!35_#0_#2!14_#1_#2!2_#1_#2_#1_#2!15_#0_#2!15_#1!3_#2!17_#0_#2!16_#1_#2!18_#0_#2!17_#1_#2!17_#0_#2!35_#0_#2!16_#1_#2!18_#0_#2!8_#1_#2!3_#1_#2!7_#1_#2!3_#1_#2!7_#1_#2_#1_#2!12_#0_#2!35_#0_#2!35_#0_#2!10_#1_#2!8_#1_#2!2_#1_#2!12_#0_$ - #0@#2!35@#0@#2!35@#0@#2!14@#1@#2@#1@#2@#1@#2!16@#0@#2!14@#1!6@#2!15@#0@#2!14@#1@#2@#1@#2@#1@#2!16@#0@#2!15@#1@#2@#1@#2@#1@#2!15@#0@#2!35@#0@#2!14@#1@#2!2@#1@#2@#1@#2!15@#0@#2!14@#1@#2@#1@#2@#1@#2!16@#0@#2!16@#1@#2!18@#0@#2!17@#1@#2!17@#0@#2!35@#0@#2!16@#1@#2!18@#0@#2!8@#1@#2!3@#1@#2!4@#1!4@#2!3@#1@#2!7@#1!2@#2!13@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!9@#1!2@#2!13@#0@$ #0A#2!35A#0A#2!35A#0A#2!14A#1A#2!20A#0A#2!15A#1A#2!2A#1A#2!16A#0A#2!14A#1A#2A#1A#2A#1A#2!16A#0A#2!15A#1A#2A#1A#2A#1A#2!15A#0A#2!35A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!16A#1A#2!18A#0A#2!16A#1A#2!18A#0A#2!17A#1A#2!17A#0A#2!35A#0A#2!16A#1A#2!18A#0A#2!8A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!7A#1A#2A#1A#2!12A#0A#2!7A#1!3A#2!25A#0A#2!3A#1A#2!3A#1A#2!27A#0A#2!10A#1A#2!8A#1A#2!15A#0A$ #0C#2!35C#0C#2!16C#1C#2!18C#0C#2!15C#1C#2!2C#1C#2!16C#0C#2!15C#1C#2!2C#1C#2!16C#0C#2!14C#1C#2C#1C#2C#1C#2!16C#0C#2!14C#1C#2!2C#1C#2C#1C#2!15C#0C#2!35C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!35C#0C#2!17C#1C#2!17C#0C#2!16C#1C#2!18C#0C#2!35C#0C#2!35C#0C#2!8C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!2C#1C#2!11C#0C#2!8C#1C#2!26C#0C#2!3C#1C#2!3C#1C#2!27C#0C#2!10C#1C#2!8C#1!4C#2!12C#0C$ #0G#2!35G#0G#2!16G#1G#2!18G#0G#2!16G#1!2G#2!17G#0G#2!15G#1G#2!2G#1G#2!16G#0G#2!15G#1!3G#2!17G#0G#2!14G#1G#2!3G#1G#2!16G#0G#2!35G#0G#2!15G#1!3G#2G#1G#2!15G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!16G#1G#2!18G#0G#2!35G#0G#2!35G#0G#2!8G#1!4G#2!5G#1!3G#2G#1G#2!3G#1!3G#2!4G#1G#2!3G#1G#2!10G#0G#2!8G#1G#2!26G#0G#2!3G#1G#2!3G#1G#2!27G#0G#2!10G#1G#2!7G#1G#2!4G#1G#2!11G#0G$ #0O#2!35O#0O#2!35O#0O#2!35O#0O#2!15O#1O#2!2O#1O#2!16O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!18O#1O#2!16O#0O#2!15O#1O#2!19O#0O#2!35O#0O#2!35O#0O#2!47O#0O#2!8O#1O#2!26O#0O#2!3O#1O#2!3O#1O#2!27O#0O#2!19O#1!4O#2!12O#0O$ #0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!14_#1!7_#2!14_#0_#2!35_#0_#2!47_#0_#2!8_#1_#2!5_#1_#2_#1!2_#2!5_#1!3_#2!9_#0_#2!3_#1_#2!3_#1_#2!4_#1!3_#2!4_#1!2_#2_#1_#2!5_#1!3_#2!4_#0_#2!35_#0_$ - #0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!47@#0@#2!8@#1@#2!5@#1!2@#2!2@#1@#2!3@#1@#2!3@#1@#2!8@#0@#2!3@#1!5@#2!3@#1@#2!3@#1@#2!3@#1@#2@#1@#2@#1@#2!3@#1@#2!3@#1@#2!3@#0@#2!35@#0@$ #0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!47A#0A#2!8A#1A#2!5A#1A#2!3A#1A#2!3A#1A#2!12A#0A#2!3A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2A#1A#2A#1A#2!3A#1A#2!3A#1A#2!3A#0A#2!35A#0A$ #0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!47C#0C#2!8C#1C#2!5C#1C#2!3C#1C#2!4C#1!3C#2!9C#0C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2C#1C#2C#1C#2!3C#1!5C#2!3C#0C#2!35C#0C$ #0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!47G#0G#2!8G#1G#2!5G#1G#2!3G#1G#2!7G#1G#2!8G#0G#2!3G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2G#1G#2G#1G#2!3G#1G#2!7G#0G#2!35G#0G$ #0O#2!16O#1O#2!18O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!47O#0O#2!8O#1O#2!5O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!8O#0O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2O#1O#2O#1O#2!3O#1O#2!3O#1O#2!3O#0O#2!35O#0O$ #0_#2!17_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!15_#1!3_#2!17_#0_#2!15_#1!3_#2!17_#0_#2!18_#1_#2!16_#0_#2!14_#1!5_#2!16_#0_#2!15_#1!3_#2!17_#0_#2!14_#1!5_#2!16_#0_#2!15_#1!3_#2!17_#0_#2!15_#1!3_#2!17_#0_#2!15_#1!3_#2!17_#0_#2!35_#0_#2!35_#0_#2!47_#0_#2!7_#1!3_#2!4_#1_#2!3_#1_#2!4_#1!3_#2!9_#0_#2!3_#1_#2!3_#1_#2!4_#1!3_#2!4_#1_#2_#1_#2_#1_#2!4_#1!3_#2!4_#0_#2!10_#1_#2!3_#1_#2!20_#0_$ - #0@#2!35@#0@#2!15@#1!2@#2!18@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!17@#1!2@#2!16@#0@#2!14@#1@#2!20@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!18@#1@#2!16@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!35@#0@#2!35@#0@#2!47@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!3@#1@#2!20@#0@$ #0A#2!35A#0A#2!16A#1A#2!18A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!17A#1!2A#2!16A#0A#2!14A#1A#2!20A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!18A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!35A#0A#2!35A#0A#2!47A#0A#2!35A#0A#2!35A#0A#2!10A#1A#2!3A#1A#2!20A#0A$ #0C#2!35C#0C#2!16C#1C#2!18C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!18C#1C#2!16C#0C#2!16C#1C#2C#1C#2!16C#0C#2!14C#1C#2!20C#0C#2!14C#1C#2!20C#0C#2!17C#1C#2!17C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!35C#0C#2!14C#1!5C#2!16C#0C#2!47C#0C#2!35C#0C#2!35C#0C#2!10C#1C#2!3C#1C#2!20C#0C$ #0G#2!35G#0G#2!16G#1G#2!18G#0G#2!17G#1G#2!17G#0G#2!18G#1G#2!16G#0G#2!16G#1G#2G#1G#2!16G#0G#2!14G#1!4G#2!17G#0G#2!14G#1G#2G#1!2G#2!17G#0G#2!17G#1G#2!17G#0G#2!14G#1G#2!3G#1G#2!16G#0G#2!14G#1G#2!3G#1G#2!16G#0G#2!14G#1G#2!3G#1G#2!16G#0G#2!35G#0G#2!35G#0G#2!5G#1!3G#2!4G#1G#2G#1!2G#2!5G#1!3G#2!5G#1!3G#2!5G#1!3G#2!7G#0G#2!35G#0G#2!35G#0G#2!10G#1G#2!3G#1G#2!3G#1G#2G#1!2G#2!13G#0G$ #0O#2!35O#0O#2!16O#1O#2!18O#0O#2!17O#1O#2!17O#0O#2!15O#1!3O#2!17O#0O#2!15O#1O#2!2O#1O#2!16O#0O#2!14O#1O#2!3O#1O#2!16O#0O#2!14O#1!2O#2!2O#1O#2!16O#0O#2!17O#1O#2!17O#0O#2!15O#1!3O#2!17O#0O#2!14O#1O#2!2O#1!2O#2!16O#0O#2!14O#1O#2!3O#1O#2!16O#0O#2!14O#1!5O#2!16O#0O#2!35O#0O#2!4O#1O#2!3O#1O#2!3O#1!2O#2!2O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!6O#0O#2!35O#0O#2!35O#0O#2!10O#1O#2!3O#1O#2!3O#1!2O#2!2O#1O#2!12O#0O$ #0_#2!35_#0_#2!16_#1_#2!18_#0_#2!16_#1_#2!18_#0_#2!18_#1_#2!16_#0_#2!15_#1_#2!2_#1_#2!16_#0_#2!18_#1_#2!16_#0_#2!14_#1_#2!3_#1_#2!16_#0_#2!17_#1_#2!17_#0_#2!14_#1_#2!3_#1_#2!16_#0_#2!15_#1!2_#2_#1_#2!16_#0_#2!14_#1_#2!3_#1_#2!16_#0_#2!35_#0_#2!35_#0_#2!4_#1_#2!7_#1_#2!3_#1_#2!7_#1_#2!3_#1_#2!7_#1_#2!3_#1_#2!6_#0_#2!35_#0_#2!35_#0_#2!10_#1_#2!3_#1_#2!3_#1_#2!3_#1_#2!12_#0_$ - #0@#2!35@#0@#2!16@#1@#2!18@#0@#2!15@#1@#2!19@#0@#2!18@#1@#2!16@#0@#2!14@#1!6@#2!15@#0@#2!18@#1@#2!16@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!16@#1@#2!18@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!18@#1@#2!16@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!35@#0@#2!14@#1!5@#2!16@#0@#2!5@#1!3@#2!4@#1@#2!3@#1@#2!4@#1!4@#2!3@#1@#2!7@#1!5@#2!6@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!12@#0@$ #0A#2!35A#0A#2!16A#1A#2!18A#0A#2!15A#1A#2!19A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!18A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!16A#1A#2!18A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!35A#0A#2!35A#0A#2!8A#1A#2!3A#1!2A#2!2A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!7A#1A#2!10A#0A#2!35A#0A#2!35A#0A#2!10A#1A#2!3A#1A#2!3A#1!2A#2!2A#1A#2!12A#0A$ #0C#2!35C#0C#2!16C#1C#2!18C#0C#2!14C#1C#2!20C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!18C#1C#2!16C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!16C#1C#2!18C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!14C#1C#2!3C#1C#2!16C#0C#2!35C#0C#2!35C#0C#2!4C#1C#2!3C#1C#2!3C#1C#2C#1!2C#2!4C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!6C#0C#2!35C#0C#2!35C#0C#2!10C#1C#2!3C#1C#2!3C#1C#2C#1!2C#2!13C#0C$ #0G#2!35G#0G#2!16G#1G#2!18G#0G#2!14G#1!5G#2!16G#0G#2!15G#1!3G#2!17G#0G#2!18G#1G#2!16G#0G#2!15G#1!3G#2!17G#0G#2!15G#1!3G#2!17G#0G#2!16G#1G#2!18G#0G#2!15G#1!3G#2!17G#0G#2!15G#1!3G#2!17G#0G#2!15G#1!3G#2!17G#0G#2!35G#0G#2!35G#0G#2!5G#1!3G#2!4G#1G#2!8G#1!3G#2G#1G#2!3G#1!3G#2!5G#1!3G#2!7G#0G#2!35G#0G#2!35G#0G#2!11G#1!3G#2!4G#1G#2!16G#0G$ #0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!12O#1O#2!34O#0O#2!35O#0O#2!35O#0O#2!18O#1O#2!16O#0O$ #0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!47_#0_#2!35_#0_#2!35_#0_#2!35_#0_$ - #0!625@$ #0A#2!47A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A$ #0C#2!47C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C$ #0G#2!47G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G$ #0O#2!47O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!17O#1!2O#2!16O#0O#2!15O#1!2O#2!18O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!47_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!17_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!16_#1_#2!18_#0_#2!35_#0_#2!35_#0_#2!10_#1!4_#2!21_#0_$ - #0@#2!47@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!16@#1@#2!18@#0@#2!16@#1@#2!18@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!3@#1@#2!20@#0@$ #0A#2!47A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!17A#1A#2!17A#0A#2!16A#1A#2!18A#0A#2!16A#1A#2!18A#0A#2!35A#0A#2!35A#0A#2!10A#1A#2!3A#1A#2!20A#0A$ #0C#2!47C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!17C#1C#2!17C#0C#2!16C#1C#2!18C#0C#2!16C#1C#2!18C#0C#2!35C#0C#2!35C#0C#2!10C#1C#2!3C#1C#2!20C#0C$ #0G#2!47G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!16G#1G#2!18G#0G#2!16G#1G#2!18G#0G#2!35G#0G#2!35G#0G#2!10G#1G#2!3G#1G#2!5G#1!2G#2G#1G#2!11G#0G$ #0O#2!47O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!16O#1O#2!18O#0O#2!17O#1O#2!17O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!35O#0O#2!10O#1!4O#2!5O#1O#2!2O#1O#2!12O#0O$ #0_#2!47_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!17_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!16_#1_#2!18_#0_#2!35_#0_#2!35_#0_#2!10_#1_#2!8_#1_#2!2_#1_#2!12_#0_$ - #0@#2!47@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!16@#1@#2!18@#0@#2!16@#1@#2!18@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!9@#1!2@#2!13@#0@$ #0A#2!13A#1!5A#2!11A#1A#2!17A#0A#2!17A#1!2A#2!16A#0A#2!15A#1A#2A#1A#2A#1A#2!15A#0A#2!15A#1!5A#2!15A#0A#2!15A#1!4A#2!16A#0A#2!15A#1!5A#2!15A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!16A#1!3A#2!16A#0A#2!17A#1!2A#2!16A#0A#2!15A#1!4A#2!16A#0A#2!17A#1A#2!17A#0A#2!16A#1A#2!18A#0A#2!16A#1A#2!18A#0A#2!6A#1!3A#2!15A#1A#2!10A#0A#2!6A#1!5A#2!15A#1A#2!8A#0A#2!10A#1A#2!8A#1A#2!15A#0A$ #0C#2!15C#1C#2!13C#1C#2!17C#0C#2!16C#1C#2!2C#1C#2!15C#0C#2!15C#1C#2C#1C#2C#1C#2!15C#0C#2!15C#1C#2!19C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!17C#1C#2!17C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!17C#1C#2!17C#0C#2!16C#1C#2!2C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!17C#1C#2!17C#0C#2!16C#1C#2!18C#0C#2!16C#1C#2!18C#0C#2!6C#1C#2!2C#1C#2!14C#1C#2!10C#0C#2!6C#1C#2!19C#1C#2!8C#0C#2!10C#1C#2!8C#1!4C#2!12C#0C$ #0G#2!15G#1G#2!13G#1G#2!17G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!15G#1G#2G#1G#2G#1G#2!15G#0G#2!15G#1G#2!19G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!17G#1G#2!17G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!17G#1G#2!17G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!17G#1G#2!17G#0G#2!16G#1G#2!18G#0G#2!16G#1G#2!18G#0G#2!6G#1G#2!3G#1G#2!13G#1G#2!10G#0G#2!6G#1G#2!19G#1G#2!8G#0G#2!10G#1G#2!7G#1G#2!4G#1G#2!11G#0G$ #0O#2!15O#1O#2!13O#1O#2!17O#0O#2!15O#1O#2!4O#1O#2!14O#0O#2!15O#1O#2O#1O#2O#1O#2!15O#0O#2!15O#1O#2!19O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!17O#1O#2!17O#0O#2!16O#1O#2O#1O#2!16O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!17O#1O#2!17O#0O#2!15O#1O#2!4O#1O#2!14O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!17O#1!2O#2!16O#0O#2!15O#1!2O#2!18O#0O#2!16O#1O#2!18O#0O#2!6O#1O#2!3O#1O#2!13O#1O#2!10O#0O#2!6O#1O#2!19O#1O#2!8O#0O#2!19O#1!4O#2!12O#0O$ #0_#2!15_#1_#2!6_#1!3_#2!4_#1_#2_#1!2_#2!14_#0_#2!15_#1_#2!4_#1_#2!14_#0_#2!15_#1_#2_#1_#2_#1_#2!15_#0_#2!15_#1_#2!19_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!17_#1_#2!17_#0_#2!16_#1_#2_#1_#2!16_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!17_#1_#2!17_#0_#2!15_#1_#2!4_#1_#2!14_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!35_#0_#2!35_#0_#2!16_#1_#2!18_#0_#2!6_#1_#2!3_#1_#2!4_#1!3_#2!6_#1_#2!10_#0_#2!6_#1_#2!7_#1_#2_#1!2_#2!5_#1!2_#2_#1_#2!8_#0_#2!35_#0_$ - #0@#2!15@#1@#2!5@#1@#2!3@#1@#2!3@#1!2@#2!2@#1@#2!13@#0@#2!15@#1@#2!4@#1@#2!14@#0@#2!15@#1@#2@#1@#2@#1@#2!15@#0@#2!15@#1!4@#2!16@#0@#2!15@#1!4@#2!16@#0@#2!17@#1@#2!17@#0@#2!17@#1@#2!17@#0@#2!15@#1@#2!3@#1@#2!15@#0@#2!17@#1@#2!17@#0@#2!15@#1@#2!4@#1@#2!14@#0@#2!15@#1!4@#2!16@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!6@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!5@#1@#2!10@#0@#2!6@#1!4@#2!4@#1!2@#2!2@#1@#2!3@#1@#2!2@#1!2@#2!8@#0@#2!35@#0@$ #0A#2!15A#1A#2!9A#1A#2!3A#1A#2!3A#1A#2!13A#0A#2!15A#1A#2!4A#1A#2!14A#0A#2!16A#1A#2A#1A#2!16A#0A#2!15A#1A#2!19A#0A#2!15A#1A#2!2A#1A#2!16A#0A#2!17A#1A#2!17A#0A#2!17A#1A#2!17A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!17A#1A#2!17A#0A#2!15A#1A#2!4A#1A#2!14A#0A#2!15A#1A#2!19A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!6A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!5A#1A#2!10A#0A#2!6A#1A#2!7A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!8A#0A#2!35A#0A$ #0C#2!15C#1C#2!6C#1!4C#2!3C#1C#2!3C#1C#2!13C#0C#2!15C#1C#2!2C#1C#2C#1C#2!14C#0C#2!16C#1C#2C#1C#2!16C#0C#2!15C#1C#2!19C#0C#2!15C#1C#2!2C#1C#2!16C#0C#2!17C#1C#2!17C#0C#2!17C#1C#2!17C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!17C#1C#2!17C#0C#2!15C#1C#2!4C#1C#2!14C#0C#2!15C#1C#2!19C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!6C#1C#2!3C#1C#2!3C#1!5C#2!5C#1C#2!10C#0C#2!6C#1C#2!7C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!8C#0C#2!35C#0C$ #0G#2!15G#1G#2!5G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2!13G#0G#2!15G#1G#2!3G#1!2G#2!14G#0G#2!16G#1G#2G#1G#2!16G#0G#2!15G#1G#2!19G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!17G#1G#2!17G#0G#2!17G#1G#2!17G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!17G#1G#2!17G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!15G#1G#2!19G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!6G#1G#2!3G#1G#2!3G#1G#2!9G#1G#2!10G#0G#2!6G#1G#2!7G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2!8G#0G#2!35G#0G$ #0O#2!15O#1O#2!5O#1O#2!3O#1O#2!3O#1!2O#2!2O#1O#2!13O#0O#2!16O#1O#2!2O#1O#2!15O#0O#2!16O#1O#2O#1O#2!16O#0O#2!15O#1O#2!19O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!17O#1O#2!17O#0O#2!17O#1O#2!17O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!17O#1O#2!17O#0O#2!16O#1O#2!2O#1O#2!15O#0O#2!15O#1O#2!19O#0O#2!16O#1!3O#2!16O#0O#2!15O#1!3O#2!17O#0O#2!35O#0O#2!6O#1O#2!2O#1O#2!4O#1O#2!3O#1O#2!5O#1O#2!10O#0O#2!6O#1O#2!7O#1O#2!3O#1O#2!3O#1O#2!2O#1!2O#2!8O#0O#2!35O#0O$ #0_#2!15_#1_#2!6_#1!3_#2_#1_#2!2_#1_#2_#1!2_#2!14_#0_#2!17_#1!2_#2_#1_#2!14_#0_#2!16_#1_#2_#1_#2!16_#0_#2!15_#1!5_#2!15_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!17_#1_#2!17_#0_#2!17_#1_#2!17_#0_#2!16_#1!3_#2!16_#0_#2!16_#1!3_#2!16_#0_#2!17_#1!2_#2!16_#0_#2!15_#1_#2!19_#0_#2!16_#1_#2!18_#0_#2!17_#1_#2!17_#0_#2!14_#1_#2!3_#1_#2!16_#0_#2!6_#1!3_#2!6_#1!3_#2!6_#1_#2!10_#0_#2!6_#1!5_#2!3_#1_#2!3_#1_#2!4_#1!2_#2_#1_#2!8_#0_#2!10_#1!3_#2!22_#0_$ - #0@#2!47@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!16@#1@#2!18@#0@#2!17@#1@#2!17@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!2@#1@#2!21@#0@$ #0A#2!47A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!16A#1A#2!18A#0A#2!17A#1A#2!17A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!35A#0A#2!35A#0A#2!10A#1A#2!3A#1A#2!20A#0A$ #0C#2!47C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1C#2!18C#0C#2!17C#1C#2!17C#0C#2!15C#1C#2C#1C#2!17C#0C#2!35C#0C#2!35C#0C#2!10C#1C#2!3C#1C#2!20C#0C$ #0G#2!47G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!16G#1G#2!18G#0G#2!17G#1G#2!17G#0G#2!15G#1G#2G#1G#2!17G#0G#2!35G#0G#2!35G#0G#2!10G#1G#2!3G#1G#2!3G#1G#2G#1!2G#2!13G#0G$ #0O#2!47O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!16O#1O#2!18O#0O#2!17O#1O#2!17O#0O#2!14O#1!5O#2!16O#0O#2!35O#0O#2!35O#0O#2!10O#1O#2!3O#1O#2!3O#1!2O#2!2O#1O#2!12O#0O$ #0_#2!47_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!16_#1_#2!18_#0_#2!17_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!35_#0_#2!35_#0_#2!10_#1_#2!3_#1_#2!3_#1_#2!3_#1_#2!12_#0_$ - #0@#2!47@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!16@#1@#2!18@#0@#2!17@#1@#2!17@#0@#2!16@#1@#2!18@#0@#2!35@#0@#2!35@#0@#2!10@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!12@#0@$ #0A#2!47A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!16A#1A#2!18A#0A#2!17A#1A#2!17A#0A#2!14A#1!5A#2!16A#0A#2!35A#0A#2!35A#0A#2!10A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!12A#0A$ #0C#2!47C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1C#2!18C#0C#2!17C#1C#2!17C#0C#2!16C#1C#2!18C#0C#2!35C#0C#2!35C#0C#2!10C#1C#2!2C#1C#2!4C#1C#2!3C#1C#2!12C#0C$ #0G#2!47G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!16G#1G#2!18G#0G#2!17G#1G#2!17G#0G#2!16G#1G#2!18G#0G#2!35G#0G#2!35G#0G#2!10G#1!3G#2!5G#1G#2!3G#1G#2!12G#0G$ #0O#2!47O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!16O#1!3O#2!16O#0O#2!15O#1!3O#2!17O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!47_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_$ - #0!625@$ #0A#2!59A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!59A#0A#2!108A$ #0C#2!59C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!59C#0C#2!108C$ #0G#2!59G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!59G#0G#2!108G$ #0O#2!59O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!15O#1!2O#2O#1!2O#2!15O#0O#2!59O#0O#2!108O$ #0_#2!59_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!15_#1_#2!2_#1_#2!16_#0_#2!59_#0_#2!108_$ - #0@#2!59@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!14@#1@#2!2@#1@#2!17@#0@#2!59@#0@#2!108@$ #0A#2!59A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!59A#0A#2!108A$ #0C#2!59C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1!2C#2!17C#0C#2!35C#0C#2!59C#0C#2!108C$ #0G#2!59G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!16G#1!2G#2!17G#0G#2!35G#0G#2!59G#0G#2!108G$ #0O#2!59O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!59O#0O#2!108O$ #0_#2!59_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!59_#0_#2!108_$ - #0@#2!59@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!59@#0@#2!108@$ #0A#2!17A#1!2A#2!40A#0A#2!17A#1A#2!17A#0A#2!16A#1!3A#2!16A#0A#2!15A#1!3A#2!17A#0A#2!15A#1!5A#2!15A#0A#2!17A#1!2A#2!16A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!19A#1A#2!15A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!15A#1A#2!19A#0A#2!16A#1!2A#2!17A#0A#2!35A#0A#2!11A#1!5A#2!43A#0A#2!108A$ #0C#2!16C#1C#2!2C#1C#2!39C#0C#2!17C#1C#2!17C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!2C#1C#2!16C#0C#2!15C#1C#2!19C#0C#2!16C#1C#2!2C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!19C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!19C#0C#2!16C#1!2C#2!17C#0C#2!35C#0C#2!11C#1C#2!16C#1C#2!30C#0C#2!108C$ #0G#2!15G#1G#2!4G#1G#2!38G#0G#2!16G#1G#2G#1G#2!16G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!19G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!19G#1G#2!15G#0G#2!15G#1G#2!2G#1G#2!16G#0G#2!15G#1G#2!19G#0G#2!35G#0G#2!35G#0G#2!11G#1G#2!16G#1G#2!30G#0G#2!108G$ #0O#2!15O#1O#2!4O#1O#2!38O#0O#2!16O#1O#2O#1O#2!16O#0O#2!15O#1O#2!19O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!19O#0O#2!15O#1O#2!19O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!19O#1O#2!15O#0O#2!15O#1O#2!2O#1O#2!16O#0O#2!15O#1O#2!19O#0O#2!35O#0O#2!35O#0O#2!11O#1O#2!16O#1O#2!30O#0O#2!108O$ #0_#2!15_#1_#2!8_#1!3_#2!4_#1_#2_#1!2_#2!5_#1!3_#2!16_#0_#2!16_#1_#2_#1_#2!16_#0_#2!16_#1_#2!18_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!15_#1_#2!19_#0_#2!15_#1_#2!19_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!19_#1_#2!15_#0_#2!15_#1_#2_#1_#2!17_#0_#2!15_#1_#2!19_#0_#2!35_#0_#2!35_#0_#2!11_#1_#2!7_#1_#2_#1!2_#2!4_#1!3_#2!6_#1!3_#2!5_#1_#2_#1!2_#2!11_#0_#2!108_$ - #0@#2!15@#1@#2!7@#1@#2!3@#1@#2!3@#1!2@#2!2@#1@#2!3@#1@#2!3@#1@#2!15@#0@#2!16@#1@#2@#1@#2!16@#0@#2!17@#1@#2!17@#0@#2!15@#1@#2!3@#1@#2!15@#0@#2!15@#1!4@#2!16@#0@#2!15@#1@#2!2@#1!3@#2!14@#0@#2!15@#1!5@#2!15@#0@#2!19@#1@#2!15@#0@#2!15@#1@#2@#1@#2!17@#0@#2!15@#1@#2!19@#0@#2!35@#0@#2!35@#0@#2!11@#1!4@#2!4@#1!2@#2!2@#1@#2!4@#1@#2!6@#1@#2!3@#1@#2!4@#1!2@#2!13@#0@#2!108@$ #0A#2!15A#1A#2!11A#1A#2!3A#1A#2!3A#1A#2!3A#1A#2!19A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!18A#1A#2!16A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!15A#1A#2!19A#0A#2!15A#1A#2!4A#1A#2!14A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!19A#1A#2!15A#0A#2!15A#1!2A#2A#1A#2!16A#0A#2!15A#1A#2!19A#0A#2!35A#0A#2!35A#0A#2!11A#1A#2!7A#1A#2!3A#1A#2!4A#1A#2!6A#1A#2!3A#1A#2!4A#1A#2!14A#0A#2!108A$ #0C#2!15C#1C#2!4C#1C#2!3C#1!4C#2!3C#1C#2!3C#1C#2!4C#1!3C#2!16C#0C#2!15C#1!5C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!19C#0C#2!15C#1C#2!4C#1C#2!14C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!19C#0C#2!35C#0C#2!35C#0C#2!11C#1C#2!7C#1C#2!3C#1C#2!4C#1C#2!6C#1!5C#2!4C#1C#2!14C#0C#2!108C$ #0G#2!15G#1G#2!4G#1G#2!2G#1G#2!3G#1G#2!3G#1!2G#2!2G#1G#2!7G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!19G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!19G#0G#2!35G#0G#2!35G#0G#2!11G#1G#2!7G#1G#2!3G#1G#2!4G#1G#2!6G#1G#2!8G#1G#2!14G#0G#2!108G$ #0O#2!16O#1O#2!2O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2O#1!2O#2!4O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!2O#1O#2!16O#0O#2!15O#1O#2!19O#0O#2!16O#1O#2!2O#1!2O#2!14O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!4O#1O#2!14O#0O#2!15O#1O#2!19O#0O#2!35O#0O#2!16O#1!2O#2!17O#0O#2!11O#1O#2!7O#1O#2!3O#1O#2!4O#1O#2!6O#1O#2!3O#1O#2!4O#1O#2!14O#0O#2!108O$ #0_#2!17_#1!2_#2!5_#1!3_#2_#1_#2!2_#1_#2!8_#1!3_#2!16_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!16_#1!3_#2!16_#0_#2!15_#1!3_#2!17_#0_#2!15_#1_#2!19_#0_#2!17_#1!2_#2_#1_#2!14_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!16_#1!3_#2!16_#0_#2!15_#1_#2!4_#1_#2!14_#0_#2!15_#1!6_#2!14_#0_#2!35_#0_#2!16_#1!2_#2!17_#0_#2!11_#1!5_#2!3_#1_#2!3_#1_#2!5_#1!2_#2!5_#1!3_#2!5_#1_#2!14_#0_#2!108_$ - #0@#2!31@#1@#2!27@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!59@#0@#2!108@$ #0A#2!59A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!16A#1A#2!18A#0A#2!59A#0A#2!108A$ #0C#2!59C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1!2C#2!17C#0C#2!35C#0C#2!59C#0C#2!108C$ #0G#2!59G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!16G#1!2G#2!17G#0G#2!35G#0G#2!59G#0G#2!108G$ #0O#2!59O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!59O#0O#2!108O$ #0_#2!59_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!59_#0_#2!108_$ - #0@#2!59@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!59@#0@#2!108@$ #0A#2!59A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!16A#1!2A#2!17A#0A#2!35A#0A#2!59A#0A#2!108A$ #0C#2!59C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1!2C#2!17C#0C#2!35C#0C#2!59C#0C#2!108C$ #0G#2!59G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!35G#0G#2!59G#0G#2!108G$ #0O#2!59O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!59O#0O#2!108O$ #0_#2!59_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!59_#0_#2!108_$ - #0!517@#2!35@#0!37@#2!36@$ #0A#2!71A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!36A$ #0C#2!71C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!36C$ #0G#2!71G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!36G$ #0O#2!71O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!36O$ #0_#2!71_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!15_#1!3_#2!17_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!36_$ - #0@#2!71@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!18@#1@#2!16@#0@#2!14@#1@#2!20@#0@#2!14@#1@#2!3@#1@#2!16@#0@#2!83@#0@#2!35@#0@#2!35@#0@#2!36@$ #0A#2!71A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!17A#1A#2!17A#0A#2!15A#1A#2!19A#0A#2!14A#1A#2!3A#1A#2!16A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!36A$ #0C#2!71C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1C#2!18C#0C#2!16C#1C#2!18C#0C#2!18C#1C#2!16C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!36C$ #0G#2!71G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!15G#1G#2!19G#0G#2!17G#1G#2!17G#0G#2!17G#1G#2!17G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!36G$ #0O#2!71O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!14O#1O#2!20O#0O#2!18O#1O#2!16O#0O#2!16O#1O#2!18O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!36O$ #0_#2!71_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!15_#1_#2!19_#0_#2!17_#1_#2!17_#0_#2!16_#1_#2!18_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!36_$ - #0@#2!71@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!16@#1@#2!18@#0@#2!16@#1@#2!18@#0@#2!16@#1@#2!18@#0@#2!83@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!36@$ #0A#2!18A#1!3A#2!4A#1A#2!17A#1!2A#2!26A#0A#2!15A#1!5A#2!15A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!17A#1!2A#2!16A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!15A#1!4A#2!16A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!17A#1A#2!17A#0A#2!15A#1A#2!19A#0A#2!35A#0A#2!23A#1!3A#2!4A#1A#2!17A#1!2A#2!33A#0A#2!35A#0A#2!16A#1!3A#2!16A#0A#2!36A$ #0C#2!17C#1C#2!3C#1C#2!3C#1C#2!9C#1C#2!6C#1C#2!7C#1C#2!20C#0C#2!19C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!16C#1C#2!2C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!18C#1C#2!16C#0C#2!14C#1C#2!20C#0C#2!16C#1C#2!18C#0C#2!22C#1C#2!3C#1C#2!3C#1C#2!9C#1C#2!6C#1C#2!7C#1C#2!27C#0C#2!35C#0C#2!15C#1C#2C#1C#2C#1C#2!15C#0C#2!36C$ #0G#2!17G#1G#2!3G#1G#2!3G#1G#2!9G#1G#2!6G#1G#2!7G#1G#2!20G#0G#2!18G#1G#2!16G#0G#2!16G#1G#2G#1G#2!16G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1!2G#2!2G#1G#2!15G#0G#2!15G#1!2G#2G#1!2G#2!15G#0G#2!35G#0G#2!35G#0G#2!16G#1G#2!18G#0G#2!22G#1G#2!3G#1G#2!3G#1G#2!9G#1G#2!6G#1G#2!7G#1G#2!27G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!36G$ #0O#2!17O#1O#2!7O#1O#2!16O#1O#2!7O#1O#2!20O#0O#2!18O#1O#2!16O#0O#2!16O#1O#2O#1O#2!16O#0O#2!15O#1O#2!4O#1O#2!14O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1!2O#2!2O#1O#2!15O#0O#2!15O#1!2O#2O#1!2O#2!15O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!22O#1O#2!7O#1O#2!16O#1O#2!7O#1O#2!27O#0O#2!35O#0O#2!17O#1O#2!17O#0O#2!36O$ #0_#2!18_#1_#2!6_#1_#2_#1!2_#2!6_#1_#2!5_#1!4_#2!4_#1!3_#2!19_#0_#2!17_#1_#2!17_#0_#2!17_#1_#2!17_#0_#2!15_#1_#2!19_#0_#2!16_#1_#2_#1_#2!16_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!15_#1!2_#2!2_#1_#2!15_#0_#2!15_#1!2_#2_#1!2_#2!15_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!23_#1_#2!6_#1_#2_#1!2_#2!6_#1_#2!5_#1!4_#2!4_#1!3_#2!26_#0_#2!35_#0_#2!17_#1_#2!17_#0_#2!36_$ - #0@#2!19@#1@#2!5@#1!2@#2!2@#1@#2!5@#1@#2!6@#1@#2!7@#1@#2!20@#0@#2!17@#1@#2!17@#0@#2!17@#1@#2!17@#0@#2!15@#1@#2!19@#0@#2!16@#1@#2@#1@#2!16@#0@#2!15@#1!4@#2!16@#0@#2!15@#1@#2@#1@#2@#1@#2!15@#0@#2!15@#1!2@#2@#1!2@#2!15@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!24@#1@#2!5@#1!2@#2!2@#1@#2!5@#1@#2!6@#1@#2!7@#1@#2!27@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!36@$ #0A#2!20A#1A#2!4A#1A#2!3A#1A#2!5A#1A#2!6A#1A#2!7A#1A#2!20A#0A#2!17A#1A#2!17A#0A#2!16A#1A#2A#1A#2!16A#0A#2!15A#1A#2!19A#0A#2!16A#1A#2A#1A#2!16A#0A#2!15A#1A#2!3A#1A#2!15A#0A#2!15A#1A#2A#1A#2A#1A#2!15A#0A#2!15A#1A#2A#1A#2A#1A#2!15A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!25A#1A#2!4A#1A#2!3A#1A#2!5A#1A#2!6A#1A#2!7A#1A#2!27A#0A#2!35A#0A#2!17A#1A#2!17A#0A#2!36A$ #0C#2!17C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!5C#1C#2!6C#1C#2!7C#1C#2!20C#0C#2!16C#1C#2!18C#0C#2!16C#1C#2C#1C#2!16C#0C#2!15C#1C#2!4C#1C#2!14C#0C#2!16C#1C#2C#1C#2!16C#0C#2!15C#1C#2!3C#1C#2!15C#0C#2!15C#1C#2!2C#1!2C#2!15C#0C#2!15C#1C#2C#1C#2C#1C#2!15C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!22C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!5C#1C#2!6C#1C#2!7C#1C#2!27C#0C#2!35C#0C#2!17C#1C#2!17C#0C#2!36C$ #0G#2!17G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2!5G#1G#2!6G#1G#2!7G#1G#2!20G#0G#2!16G#1G#2!18G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!4G#1G#2!14G#0G#2!17G#1G#2!17G#0G#2!15G#1G#2!3G#1G#2!15G#0G#2!15G#1G#2!2G#1!2G#2!15G#0G#2!15G#1G#2G#1G#2G#1G#2!15G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!22G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2!5G#1G#2!6G#1G#2!7G#1G#2!27G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!36G$ #0O#2!17O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!5O#1O#2!6O#1O#2!7O#1O#2!20O#0O#2!15O#1O#2!19O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!16O#1O#2!2O#1O#2!15O#0O#2!17O#1O#2!17O#0O#2!15O#1O#2!3O#1O#2!15O#0O#2!15O#1O#2!2O#1!2O#2!15O#0O#2!15O#1O#2O#1O#2O#1O#2!15O#0O#2!35O#0O#2!35O#0O#2!19O#1O#2!15O#0O#2!22O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!5O#1O#2!6O#1O#2!7O#1O#2!27O#0O#2!35O#0O#2!17O#1O#2!17O#0O#2!36O$ #0_#2!18_#1!3_#2!4_#1_#2!3_#1_#2!5_#1_#2!6_#1_#2!8_#1!2_#2!18_#0_#2!15_#1!5_#2!15_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!17_#1!2_#2!16_#0_#2!17_#1_#2!17_#0_#2!15_#1!4_#2!16_#0_#2!15_#1_#2!3_#1_#2!15_#0_#2!15_#1_#2_#1_#2_#1_#2!15_#0_#2!35_#0_#2!35_#0_#2!19_#1_#2!15_#0_#2!23_#1!3_#2!4_#1_#2!3_#1_#2!5_#1_#2!6_#1_#2!8_#1!2_#2!25_#0_#2!35_#0_#2!17_#1_#2!17_#0_#2!36_$ - #0@#2!71@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!18@#1@#2!16@#0@#2!83@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!36@$ #0A#2!71A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!18A#1A#2!16A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!36A$ #0C#2!71C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!17C#1C#2!17C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!36C$ #0G#2!71G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!36G$ #0O#2!71O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!17O#1O#2!17O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!36O$ #0_#2!71_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!16_#1_#2!18_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!36_$ - #0@#2!71@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!35@#0@#2!16@#1@#2!18@#0@#2!83@#0@#2!35@#0@#2!35@#0@#2!36@$ #0A#2!71A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!35A#0A#2!16A#1!2A#2!17A#0A#2!16A#1!2A#2!17A#0A#2!15A#1A#2!19A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!36A$ #0C#2!71C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!35C#0C#2!16C#1!2C#2!17C#0C#2!16C#1!2C#2!17C#0C#2!15C#1C#2!19C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!36C$ #0G#2!71G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!35G#0G#2!14G#1G#2!20G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!36G$ #0O#2!71O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!35O#0O#2!16O#1O#2!18O#0O#2!35O#0O#2!14O#1O#2!20O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!36O$ #0_#2!71_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!35_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!36_$ - #0!625@$ #0A#2!71A#0A#2!71A#0A#2!215A#0A#2!71A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!35A#0A$ #0C#2!71C#0C#2!71C#0C#2!215C#0C#2!71C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!35C#0C$ #0G#2!71G#0G#2!71G#0G#2!215G#0G#2!71G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!35G#0G$ #0O#2!71O#0O#2!71O#0O#2!215O#0O#2!71O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!71_#0_#2!71_#0_#2!215_#0_#2!71_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!35_#0_$ - #0@#2!71@#0@#2!71@#0@#2!215@#0@#2!71@#0@#2!83@#0@#2!35@#0@#2!35@#0@#2!35@#0@$ #0A#2!71A#0A#2!71A#0A#2!215A#0A#2!71A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!35A#0A$ #0C#2!71C#0C#2!71C#0C#2!215C#0C#2!71C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!35C#0C$ #0G#2!71G#0G#2!71G#0G#2!215G#0G#2!71G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!35G#0G$ #0O#2!71O#0O#2!71O#0O#2!215O#0O#2!71O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!71_#0_#2!71_#0_#2!215_#0_#2!71_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!35_#0_$ - #0@#2!71@#0@#2!71@#0@#2!215@#0@#2!71@#0@#2!83@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!35@#0@$ #0A#2!23A#1!2A#2!22A#1A#2!23A#0A#2!27A#1A#2!7A#1A#2!35A#0A#2!90A#1!3A#2!122A#0A#2!27A#1A#2!7A#1A#2!35A#0A#2!29A#1!2A#2!22A#1A#2!29A#0A#2!35A#0A#2!17A#1A#2!17A#0A#2!35A#0A$ #0C#2!22C#1C#2!2C#1C#2!4C#1C#2!16C#1C#2!23C#0C#2!27C#1C#2!7C#1C#2!6C#1C#2!28C#0C#2!89C#1C#2!3C#1C#2!121C#0C#2!27C#1C#2!7C#1C#2!6C#1C#2!28C#0C#2!28C#1C#2!2C#1C#2!4C#1C#2!16C#1C#2!29C#0C#2!35C#0C#2!17C#1C#2!17C#0C#2!35C#0C$ #0G#2!21G#1G#2!4G#1G#2!3G#1G#2!16G#1G#2!23G#0G#2!26G#1G#2G#1G#2!6G#1G#2!6G#1G#2!28G#0G#2!89G#1G#2!3G#1G#2!121G#0G#2!26G#1G#2G#1G#2!6G#1G#2!6G#1G#2!28G#0G#2!27G#1G#2!4G#1G#2!3G#1G#2!16G#1G#2!29G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!35G#0G$ #0O#2!21O#1O#2!4O#1O#2!3O#1O#2!16O#1O#2!23O#0O#2!26O#1O#2O#1O#2!6O#1O#2!6O#1O#2!28O#0O#2!89O#1O#2!125O#0O#2!26O#1O#2O#1O#2!6O#1O#2!6O#1O#2!28O#0O#2!27O#1O#2!4O#1O#2!3O#1O#2!16O#1O#2!29O#0O#2!13O#1O#2!21O#0O#2!17O#1O#2!17O#0O#2!21O#1O#2!13O#0O$ #0_#2!21_#1_#2!7_#1!3_#2!6_#1_#2_#1!2_#2!5_#1_#2!23_#0_#2!26_#1_#2_#1_#2!6_#1_#2!5_#1!3_#2!27_#0_#2!90_#1_#2!6_#1_#2_#1!2_#2!5_#1!3_#2!5_#1!3_#2!5_#1!3_#2!90_#0_#2!26_#1_#2_#1_#2!6_#1_#2!5_#1!3_#2!27_#0_#2!27_#1_#2!7_#1!3_#2!6_#1_#2_#1!2_#2!5_#1_#2!29_#0_#2!12_#1_#2!22_#0_#2!17_#1_#2!17_#0_#2!22_#1_#2!12_#0_$ - #0@#2!21@#1@#2!8@#1@#2!7@#1!2@#2!7@#1@#2!23@#0@#2!26@#1@#2@#1@#2!6@#1@#2!6@#1@#2!28@#0@#2!91@#1@#2!5@#1!2@#2!2@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!3@#1@#2!89@#0@#2!26@#1@#2@#1@#2!6@#1@#2!6@#1@#2!28@#0@#2!27@#1@#2!8@#1@#2!7@#1!2@#2!7@#1@#2!29@#0@#2!11@#1!13@#2!11@#0@#2!17@#1@#2!17@#0@#2!11@#1!13@#2!11@#0@$ #0A#2!21A#1A#2!8A#1A#2!7A#1A#2!8A#1A#2!23A#0A#2!25A#1A#2!3A#1A#2!5A#1A#2!6A#1A#2!28A#0A#2!92A#1A#2!4A#1A#2!3A#1A#2!7A#1A#2!3A#1A#2!7A#1A#2!3A#1A#2!89A#0A#2!25A#1A#2!3A#1A#2!5A#1A#2!6A#1A#2!28A#0A#2!27A#1A#2!8A#1A#2!7A#1A#2!8A#1A#2!29A#0A#2!12A#1A#2!22A#0A#2!17A#1A#2!17A#0A#2!22A#1A#2!12A#0A$ #0C#2!21C#1C#2!4C#1C#2!3C#1C#2!7C#1C#2!8C#1C#2!23C#0C#2!25C#1!5C#2!5C#1C#2!6C#1C#2!28C#0C#2!89C#1C#2!3C#1C#2!3C#1C#2!3C#1C#2!4C#1!4C#2!3C#1C#2!7C#1!5C#2!89C#0C#2!25C#1!5C#2!5C#1C#2!6C#1C#2!28C#0C#2!27C#1C#2!4C#1C#2!3C#1C#2!7C#1C#2!8C#1C#2!29C#0C#2!13C#1C#2!21C#0C#2!17C#1C#2!17C#0C#2!21C#1C#2!13C#0C$ #0G#2!21G#1G#2!4G#1G#2!3G#1G#2!7G#1G#2!8G#1G#2!23G#0G#2!25G#1G#2!3G#1G#2!5G#1G#2!6G#1G#2!28G#0G#2!89G#1G#2!3G#1G#2!3G#1!2G#2!2G#1G#2!3G#1G#2!3G#1G#2!3G#1G#2!7G#1G#2!93G#0G#2!25G#1G#2!3G#1G#2!5G#1G#2!6G#1G#2!28G#0G#2!27G#1G#2!4G#1G#2!3G#1G#2!7G#1G#2!8G#1G#2!29G#0G#2!35G#0G#2!17G#1G#2!17G#0G#2!35G#0G$ #0O#2!22O#1O#2!2O#1O#2!4O#1O#2!7O#1O#2!8O#1O#2!23O#0O#2!25O#1O#2!3O#1O#2!5O#1O#2!6O#1O#2!28O#0O#2!89O#1O#2!3O#1O#2!3O#1O#2O#1!2O#2!4O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!3O#1O#2!89O#0O#2!25O#1O#2!3O#1O#2!5O#1O#2!6O#1O#2!28O#0O#2!28O#1O#2!2O#1O#2!4O#1O#2!7O#1O#2!8O#1O#2!29O#0O#2!35O#0O#2!15O#1O#2O#1O#2O#1O#2!15O#0O#2!35O#0O$ #0_#2!23_#1!2_#2!6_#1!2_#2!5_#1_#2!8_#1_#2!23_#0_#2!25_#1_#2!3_#1_#2!5_#1_#2!7_#1!2_#2!26_#0_#2!90_#1!3_#2!4_#1_#2!8_#1!3_#2_#1_#2!3_#1!3_#2!5_#1!3_#2!90_#0_#2!25_#1_#2!3_#1_#2!5_#1_#2!7_#1!2_#2!26_#0_#2!29_#1!2_#2!6_#1!2_#2!5_#1_#2!8_#1_#2!29_#0_#2!35_#0_#2!16_#1!3_#2!16_#0_#2!35_#0_$ - #0@#2!71@#0@#2!71@#0@#2!97@#1@#2!117@#0@#2!71@#0@#2!83@#0@#2!35@#0@#2!17@#1@#2!17@#0@#2!35@#0@$ #0A#2!71A#0A#2!71A#0A#2!215A#0A#2!71A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!35A#0A$ #0C#2!71C#0C#2!71C#0C#2!215C#0C#2!71C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!35C#0C$ #0G#2!71G#0G#2!71G#0G#2!215G#0G#2!71G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!35G#0G$ #0O#2!71O#0O#2!71O#0O#2!215O#0O#2!71O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!71_#0_#2!71_#0_#2!215_#0_#2!71_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!35_#0_$ - #0@#2!71@#0@#2!71@#0@#2!215@#0@#2!71@#0@#2!83@#0@#2!35@#0@#2!35@#0@#2!35@#0@$ #0A#2!71A#0A#2!71A#0A#2!215A#0A#2!71A#0A#2!83A#0A#2!35A#0A#2!35A#0A#2!35A#0A$ #0C#2!71C#0C#2!71C#0C#2!215C#0C#2!71C#0C#2!83C#0C#2!35C#0C#2!35C#0C#2!35C#0C$ #0G#2!71G#0G#2!71G#0G#2!215G#0G#2!71G#0G#2!83G#0G#2!35G#0G#2!35G#0G#2!35G#0G$ #0O#2!71O#0O#2!71O#0O#2!215O#0O#2!71O#0O#2!83O#0O#2!35O#0O#2!35O#0O#2!35O#0O$ #0_#2!71_#0_#2!71_#0_#2!215_#0_#2!71_#0_#2!83_#0_#2!35_#0_#2!35_#0_#2!35_#0_$ - #0!625@$ œ mlterm-3.8.4/doc/kbd/Makefile.in010064400017600000144000000006631321054731300151020ustar kenuserstop_builddir = .. top_srcdir = @top_srcdir@ prefix = @prefix@ datadir = @datadir@ DATADIR = $(DESTDIR)$(datadir)/mlterm/kbd FILES = kbd.six pressed_kbd.six INSTALL=@INSTALL@ all .DEFAULT: @echo "no such a target" $(DATADIR): mkdir -p $(DATADIR) install: $(DATADIR) for file in $(FILES) ; do $(INSTALL) -m 644 $(top_srcdir)/doc/kbd/$${file} $(DATADIR)/$${file} ; done uninstall: rm -rf $(DATADIR) distclean: rm -f Makefile mlterm-3.8.4/doc/en004075500017600000144000000000001321054731300126165ustar kenusersmlterm-3.8.4/doc/en/ControlSequences010064400017600000144000000634711321054731300161240ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- List of escape/control sequences which mlterm supports. O: Support, -: Not support MNEMONIC SEQUENCE https://vt100.net/docs/vt520-rm/ek-vt520-rm.pdf O CBT (Cursor Backward Tabulation) CSI Pn Z O CHA (Cursor Horizontal Absolute) CSI Pn G O CHT (Cursor Horizontal Forward Tabulation) CSI Pn I O CNL (Cursor Next Line) CSI Pn E O CPL (Cursor Previous Line) CSI Pn F O CPR (Cursor Position Report) CSI 6 n - CRM (Show Control Character Mode) CSI 3 [hl] O CUB (Cursor Backward) CSI Pn D O CUD (Cursor Down) CSI Pn B O CUF (Cursor Forward) CSI Pn C O CUP (Cursor Position) CSI Pl;Pc H O CUU (Cursor Up) CSI Pn A O DA1 (Primary Device Attributes) CSI c O DA2 (Secondary Device Attributes) CSI > c O DA3 (Tertiary Device Attributes) CSI = c O DCH (Delete Character) CSI Pn P - DECAAM (Set/Reset Auto Answerback Mode) CSI ? 100 [hl] O DECAC (Assign Color) CSI Ps1;Ps2;Ps3 , l O DECALN (Screen Alignment Pattern) ESC # 8 O DECANM (ANSI Mode) CSI ? 2 [hl] - DECARM (Autorepeat Mode) CSI ? 8 [hl] - DECARR (Select Auto Repeat Rate) CSI Ps - p - DECARSM (Set/Reset Auto Resize Mode) CSI ? 98 [hl] O DECATC (Alternate Text Color) CSI Ps1;Ps2;Ps3 , } - DECATCBM (Set/Reset Alternate Text Color Blink Mode) CSI ? 115 [hl] - DECATCUM (Set/Reset Alternate Text Color Underline Mode) CSI ? 114 [hl] - DECAUPSS (Assigning User-Preferred Supplemental Sets) DCS Pn ! u Dscs ST O DECAWM (Autowrap Mode) CSI ? 7 [hl] O DECBI (Back Index) ESC 6 O DECBBSM (Bold and Blink Style Mode) CSI ? 116 [hl] O DECBKM (Backarrow Key Mode) CSI ? 67 [hl] - DECCANSM (Conceal Answerback Message Mode) CSI ? 101 [hl] - DECCAPSLK (Caps Lock Mode) CSI ? 109 [hl] O DECCARA (Change Attributes in Rectangular Area) CSI Pt;Pl;Pb;Pr;Ps1;...;Psn $ r - DECCKD (Copy Key Default) DCS " z D...D ST O DECCKM (Cursor Keys Mode) CSI ? 1 [hl] - DECCKSR (Memory Checksum Report) CSI ? 63;Pid n O DECCOLM (Select 80 or 132 Columns per Page) CSI ? 3 [hl] O DECCRA (Copy Rectangular Area) CSI Pts;Pls;Pbs;Prs;Pps;Ptd;Pld;Ppd $ v - DECCRTSM (Set/Reset CRT Save Mode) CSI ? 97 [hl] - DECCRTST (CRT Saver Timing) CSI Ps - q O DECCTR (Color Table Request) CSI 2;Pu $ u O DECDC (Delete Column) CSI Pn ' ~ O DECDHL (Double-WidthDouble-Height Line) ESC # [34] O DECDLD (Dynamically Redefinable Character Sets) DCS Pfn;Pcn;Pe;Pcmw;Pss;Pt;Pcmh;Pcss f Dscs Sxbp1;...;Sxbpn ST O DECDMAC (Define Macro) DCS Pid;Pdt;Pen ! z D...D ST - DECDLDA (Down Line Load Allocation) CSI Ps , z O DECDWL (Double-WidthSingle-Height Line) ESC # 6 O DECECM (Erase Color Mode) CSI ? 117 [hl] - DECEKBD (Extended Keyboard Report) APC : ppp mm ST - DECELF (Enable Local Functions) CSI Pf1;Pc1;...;Pfn;Pcn + q O DECERA (Erase Rectangular Area) CSI Pt;Pl;Pb;Pr $ z - DECES (Enable Session) CSI & x - DECESKM (Enable Secondary Keyboard Language Mode) CSI ? 104 [hl] O DECFI (Forward Index) ESC 9 O DECFRA (Fill Rectangular Area) CSI Pch;Pt;Pl;Pb;Pr $ x - DECFWM (Set/Reset Framed Windows Mode) CSI ? 111 [hl] - DECHDPXM (Set/Reset Half-Duplex Mode) CSI ? 103 [hl] - DECHEBM (Hebrew/N-A Keyboard Mapping) CSI ? 35 [hl] - DECHEM (Hebrew Encoding Mode) CSI ? 36 [hl] - DECHWUM (Host Wake-Up Mode (CRT and Energy Saver)) CSI ? 113 [hl] O DECIC (Insert Column) CSI Pn ' } O DECID (Identify Device) ESC Z O DECINVM (Invoke Macro) CSI Pid * z - DECIPEM (Enter/Return from IBM ProPrinter Emulation Mode) CSI ? 58 [hl] - DECKBD (Keyboard Language Selection) CSI Ps1;Ps2 SP } - DECKBUM (Typewriter or Data Processing Keys) CSI ? 68 [hl] O DECKLHIM (Keyboard LED's Host Indicator Mode) CSI ? 110 [hl] O DECKPAM (Keypad Application Mode) ESC = - DECKPM (Key Position Mode) CSI ? 81 [hl] O DECKPNM (Keypad Numeric Mode) ESC > - DECLANS (Load Answerback Message) DCS Ps v D...D ST - DECLBAN (Load Banner Message) DCS Ps r D...D ST - DECLFKC (Local Function Key Control) CSI Pk1;Pf1;...;Kpn;Pfn * } - DECLL (Load LEDs) CSI Ps q O DECLRMM (Left Right Margin Mode) CSI ? 69 [hl] - DECLTOD (Load Time of Day) CSI Ps1;Ps2 , p - DECMCM (Set/Reset Modem Control Mode) CSI ? 99 [hl] - DECNAKB (Greek/N-A Keyboard Mapping) CSI ? 57 [hl] O DECNCSM (Set/Reset No Clearing Screen On Column Change) CSI ? 95 [hl] O DECNKM (Numeric Keypad Mode) CSI ? 66 [hl] - DECNRCM (National Replacement Character Set Mode) CSI ? 42 [hl] - DECNULM (Set/Reset Ignoring Null Mode) CSI ? 102 [hl] - DECNUMLK (Num Lock Mode) CSI ? 108 [hl] O DECOM (Origin Mode) CSI ? 6 [hl] - DECOSCNM (Set/Reset Overscan Mode) CSI ? 106 [hl] - DECPAK (Program Alphanumeric Key) DCS " y D...D ST - DECPCCM (Page Cursor-Coupling Mode) CSI ? 64 [hl] - DECPCTERM (Enter/Exit PCTerm or Scancode Mode) CSI ? Ps1;Ps2 r - DECPEX (Printer Extent Mode) CSI ? 19 [hl] - DECPFF (Print Form Feed Mode) CSI ? 18 [hl] - DECPFK (Program Function Key) DCS " x D...D ST - DECPKA (Program Key Action) CSI Ps + z - DECPS (Play Sound) CSI Pv;Pd;Pn , ~ O DECRARA (Reverse Attributes in Rectangular Area) CSI Pt;Pl;Pb;Pr;Ps1;...;Psn $ t O DECRC (Restore Cursor) ESC 8 - DECRLCM (Right-to-Left Copy) CSI ? 96 [hl] - DECRLM (Cursor Right to Left Mode) CSI ? 34 [hl] - DECRQCRA (Request Checksum of Rectangular Area) CSI Pid;Pp;Pt;Pl;Pb;Pr * y O DECRQDE (Request Displayed Extent) CSI " v - DECRQKD (Request Key Definition) CSI Ps1;Ps2 , w - DECRQKT (Key Type Inquiry) CSI Ps , u O DECRQM (Request Mode Host To Terminal) (ANSI) CSI Pa $ p (DEC) CSI ? Pd $ p - DECRQPKFM (Program Key Free Memory Inquiry) CSI + x O DECRQPSR (Request Presentation State Report) CSI Ps $ w O DECRQSS (Request Selection or Setting) DCS $ q D...D ST O DECRQTSR (Request Terminal State Report) CSI Ps $ u - DECRQUPSS (User-Preferred Supplemental Set) CSI & u O DECRSPS (Restore Presentation State) DCS Ps $ t D...D ST - DECRSTS (Restore Terminal State) DCS Ps $ p D...D ST O DECSACE (Select Attribute Change Extent) CSI Ps * x O DECSASD (Select Active Status Display) CSI Ps $ } O DECSC (Save Cursor) ESC 7 O DECSCA (Select Character Protection Attribute) CSI Ps " q - DECSCL (Select Conformance Level) (L1) CSI 61 " p (L4) CSI 6 n ; Pn " p - DECSCLM (Scrolling Mode) CSI ? 4 [hl] O DECSCNM (Screen ModeLight or Dark Screen) CSI ? 5 [hl] - DECSCP (Select Communication Port) CSI Ps1;Ps2 * u O DECSCPP (Select 80 or 132 Columns per Page) CSI Ps $ | - DECSCS (Select Communication Speed) CSI Ps1;Ps2 * r O DECSCUSR (Set Cursor Style) CSI Ps SP q - DECSDDT (Select Disconnect Delay Time) CSI Ps $ q - DECSDPT (Select Digital Printed Data Type) CSI Ps ) p O DECSED (Selective Erase in Display) CSI ? Ps J O DECSEL (Selective Erase in Line) CSI ? Ps K - DECSEST (Energy Saver Timing) CSI Ps - r O DECSERA (Selective Erase Rectangular Area) CSI Pt;Pl;Pb;Pr $ { - DECSFC (Select Flow Control) CSI Ps1;Ps2;Ps3;Ps4 * s - DECSIN (Set Icon Name) OSC 2 L; ST - DECSKCV (Set Key Click Volume) CSI Ps SP r - DECSLCK (Set Lock Key Style) CSI Ps SP v O DECSLPP (Set Lines Per Page) CSI Pn t O DECSLRM (Set Left and Right Margins) CSI Pl;Pr s - DECSMBV (Set Margin Bell Volume) CSI Ps SP u - DECSMKR (Select Modifier Key Reporting) CSI Pm1;Pf1;...;Pmn;Pfn + r O DECSNLS (Set Lines Per Screen) CSI Pn * | - DECSPMA (Session Page Memory Allocation) CSI Pn1;Pn2;Pn3;Pn4; ' x - DECSPP (Set Port Parameter) CSI Ps1;Ps2;Ps3;Ps4 + w - DECSPPCS (Select ProPrinter Character Set) CSI Pn * p - DECSPRTT (Select Printer Type) CSI Ps $ s O DECSR (Secure Reset) CSI Pr + p - DECSSCLS (Set Scroll Speed) CSI Ps SP p O DECSSDT (Select Status Display (LineType)) CSI Ps $ ~ - DECSSL (Select Set-Up Language) CSI Ps p O DECST8C (Set Tab at Every Columns) CSI ? 5 W O DECSTBM (Set Top and Bottom Margins) CSI Pt;Pb r O DECSTGLT (Select Color Look-Up Table) CSI Pn ) { O DECSTR (Soft Terminal Reset) CSI ! p - DECSTUI (Setting Terminal Unit ID) DCS ! { D...D ST - DECSTRL (Set Transmit Rate Limit) CSI Ps1;Ps2 " u - DECSWBV (Set Warning Bell Volume) CSI Ps SP t O DECSWL (Single-Width, Single-Height Line) ESC # 5 - DECSZS (Select Zero Symbol) CSI Ps , { - DECSWT (Set Window Title) OSC 2 1; ST O DECTCEM (Text Cursor Enable Mode) CSI ? 25 [hl] - DECTID (Select Terminal ID) CSI Ps , q - DECTME (Terminal Mode Emulation) CSI Ps SP ~ - DECTST (Invoke Confidence Test) CSI 4;Ps;...;Ps y - DECUDK (User Defined Keys) DCS Ps1;Ps2;Ps3 | D...D ST - DECUS (Update Session) CSI PS , y - DECVCCM (Vertical Cursor-Coupling Mode) CSI ? 61 [hl] - DECXRLM (Transmit Rate Limiting) CSI ? 73 [hl] O DL (Delete Line) CSI Pn M O DSR (Cursor Position Report (CPR)) CSI 6 n O DSR (Data Integrity Report) CSI ? 75 n O DSR (Extended Cursor Position Report (DECXCPR)) CSI ? 6 n O DSR (Keyboard) CSI ? 26 n O DSR (Locator) CSI ? 53 n or CSI ? 55 n O DSR (Locator Exist) CSI ? 56 n O DSR (Macro Space Report) CSI ? 62 n O DSR (Memory Checksum (DECCKSR)) CSI ? 63;Pid n O DSR (Multiple Session) CSI ? 83 n O DSR (Operating Status) CSI 5 n O DSR (Printer Port) CSI ? 15 n O DSR (User-Defined Keys (VT Level Only)) CSI ? 25 n O ECH (Erase Character) CSI Pn X O ED (Erase in Display) CSI Ps J O EL (Erase in Line) CSI Ps K O HPA (Horizontal Position Absolute) CSI Pn ` O HPR (Horizontal Position Relative) CSI Pn a O HTS (Horizontal Tab Set) ESC H O HVP (Horizontal and Vertical Position) CSI Pl;Pc f O ICH (Insert Character) CSI Pn @ O IL (Insert Line) CSI Pn L O IND (Index) ESC D O IRM (Insert/Replace Mode) CSI 4 [hl] O KAM (Keyboard Action Mode) CSI 2 [hl] O LNM (Line Feed/New Line Mode) CSI 20 [hl] O MC (Media Copy) (ANSI) CSI Pn i (DEC) CSI ? Pn i O NEL (Next Line) ESC E O NP (Next Page) CSI Pn U O PP (Preceding Page) CSI Pn V O PPA (Page Position Absolute) CSI Pn SP P O PPB (Page Position Backward) CSI Pn SP R O PPR (Page Position Relative) CSI Pn SP Q O RIS (Reset to Initial State) ESC c - S7C1T (Send CControl Character to the Host) ESC SP F - S8C1T (Send CControl Character to the Host) ESC SP G O SD (Pan Up) CSI Pn T O SGR (Select Graphic Rendition) CSI Ps;Ps;... m O SRM (Local Echo: Send/Receive Mode) CSI 12 [hl] O SU (Pan Down) CSI Pn S O TBC (Tab Clear) CSI Ps g O VPA (Vertical Line Position Absolute) CSI Pn d O VPR (Vertical Position Relative) CSI Pn e --- SCO Console Emulation - SCODFK (Define Function Key) ESC Q Fn string - SCODPCC (Display PC Characters) ESC xx (xx = hex value) O SCOSC CSI s O SCORC CSI u https://vt100.net/docs/vt510-rm/contents.html - DECSRFR (Select Refresh Rate) CSI Ps " t ftp://ftp.invisible-island.net/shuford/terminal/dec_vt_mouse.html https://www.vt100.net/docs/vt3xx-gp/contents.html O DECEFR (Enable Filter Rectangle) CSI Pt;Pl;Pb;Pr ' w O DECELR (Enable Locator Reports) CSI Pn;Ps ' z O DECREGIS DCS Pn p D...D ST O DECRQLP (Request Locator Position) CSI ' | O DECSIXEL DCS Pn1;Pn2;Pn3;Pn4 q D...D ST O DECSDM (Sixel Scrolling) CSI ? 80 [hl] O DECSLE (Select Locator Events) CSI Pn ' { https://vt100.net/docs/vt100-ug/chapter3.html O DECREQTPARM (Request Terminal Parameters) CSI Pn x https://vt100.net/emu/ctrlfunc_dec.html O DECCAHT (Clear All Horizontal Tabs) ESC 2 - DECCAVT (Clear All Vertical Tabs) ESC 4 - DECHTS (Horizontal Tab Set) ESC 1 - DECVTS (Vertical Tab Set) ESC 3 - DECSHTS (Set Horizontal Tabulation Stops) CSI Pn u - DECSVTS (Set Vertical Tabulation Stops) CSI Pn v ftp://ftp.invisible-island.net/shuford/terminal/ansi_dec_controls_news.txt O WYSTCURM (Wyse Steady Cursor Mode) CSI 33 [hl] O WYULCURM (Wyse Underline Cursor Mode) CSI 34 [hl] https://www.vt100.net/docs/vt220-rm/table4-11.html O CUP (Cursor Up) ESC A O BPH (Cursor Down) ESC B - ESA (Exit Graphics Mode) ESC G O MCP (Direct Cursor Address) ESC Y y x O NBH (Cursor Right) ESC C O V5EX (Exiting ANSI(VT52) Mode) ESC < - SCI (Identify) ESC Z - SSA (Enter Graphics Mode) ESC F O (Cursor Left) ESC D O (Cursor to Home Position) ESC H O (Reverse Line Feed) ESC I O (Erase to end of screen) ESC J O (Erase to end of line) ESC K - (Enter Alternate Keypad Mode) ESC = - (Exit Alternate Keypad Mode) ESC > - (Enter Auto Print Mode) ESC ^ - (Exit Auto Print Mode) ESC _ - (Enter Printer Contoller Mode) ESC W - (Exit Printer COntroller Mode) ESC X - (Print Screen) ESC ] - (Print cursor line) ESC V http://invisible-island.net/xterm/ctlseqs/ctlseqs.txt O XTALTSCRN (Use Alternate Screen Buffer) CSI ? 47 [hl] O XTALTS47 (Use Alternate Screen Buffer) CSI ? 1047 [hl] O XTALTS48 (Save cursor as in DECSC) CSI ? 1048 [hl] O XTEXTSCRN (Save cursor as in DECSC and use Alternate Screen Buffer) CSI ? 1049 [hl] O XTBRACKET (Set bracketed paste mode) CSI ? 2004 [hl] O XTMDKEY CSI > Pn;Ps m O XTMDKYD CSI > Pn n O XTMSEANY (Use All Motion Mouse Tracking) CSI ? 1003 [hl] O XTMSEBTN (Use Cell Motion Mouse Tracking) CSI ? 1002 [hl] O XTMSERXVT (Enable urxvt Mouse Mode) CSI ? 1015 [hl] O XTMSESGR (Enable SGR Mouse Mode) CSI ? 1006 [hl] O XTMSEUTF (Enable UTF-8 Mouse Mode) CSI ? 1005 [hl] O XTMSEWIN (Send FocusIn/FocusOut events) CSI ? 1004 [hl] O XTMSEX11 (Send Mouse X & Y on button press and release) CSI ? 1000 [hl] O XTHDPT (Set resource value pointerMode) CSI > Pn p O XTREST (Restore DEC Private Mode Values) CSI ? Pn r O XTSAVE (Save DEC Private Mode Values) CSI ? Pn s O XTSMTT (Set one or more features of the title modes) CSI > Pn t O XTRMTT (Reset one or more features of the title modes to the default value) CSI > Pn T O XTWOP (Window manipulation) CSI Pn;P1;P2 t - XTSTCAP (Set Termcap/Terminfo Data) DCS + p D...D ST O XTRQCAP (Request Termcap/Terminfo String) DCS + q D...D ST - XTCOLREG CSI ? Pi;Pa;Pv S - XTMSEX10 (X10 xterm mouse protocol) CSI ? 9 [hl] - XTCBLINK (Start Blinking Cursor (att610)) CSI ? 12 [hl] O (Allow 80 -> 132 Mode) CSI ? 40 [hl] - (more(1) fix) CSI ? 41 [hl] - (Reverse-wraparound Mode) CSI ? 45 [hl] - (Use Hilite Mouse Tracking) CSI ? 1001 [hl] O (Enable Urgency window manager hint) CSI ? 1042 [hl] O (Change Icon Name and Window Title) OSC 0;Pt ST O (Change Icon Name) OSC 1;Pt ST O (Change Window Title) OSC 2;Pt ST - (Set X property on top-level window) OSC 3;Pt ST O (Change Color Number c to the color spec) OSC 4;c;spec ST O (Change Special Color Number c to the color spec) OSC 5;c;spec - (Enable/disable Special Color Number c) OSC 6;c;f OSC 106;c;f O (Change VT100 text foreground color) OSC 10;Pt ST O (Change VT100 text background color) OSC 11;Pt ST O (Change text cursor color) OSC 12;Pt ST - (Change mouse foreground color) OSC 13;Pt ST - (Change mouse background color) OSC 14;Pt ST - (Change Tektronix foreground color) OSC 15;Pt ST - (Change Tektronix background color) OSC 16;Pt ST - (Change highlight background color) OSC 17;Pt ST - (Change Tektronix cursor color) OSC 18;Pt ST - (Change highlight foreground color) OSC 19;Pt ST - (Change Log File) OSC 46;Pt ST - (Set Font) OSC 50;Pt ST O (Manipulate Selection Data) OSC 52;Pt ST O (Reset Color Number c) OSC 104;c ST O (Reset Special Color Number c) OSC 105;c ST - (Reset VT100 text foreground color) OSC 110;Pt ST - (Reset VT100 text background color) OSC 111;Pt ST - (Reset text cursor color) OSC 112;Pt ST - (Reset mouse foreground color) OSC 113;Pt ST - (Reset mouse background color) OSC 114;Pt ST - (Reset Tektronix foreground color) OSC 115;Pt ST - (Reset Tektronix background color) OSC 116;Pt ST - (Reset highlight color) OSC 117;Pt ST - (Reset Tektronix cursor color) OSC 118;Pt ST - (Reset highlight foreground color) OSC 119;Pt ST https://www.ecma-international.org/publications/standards/Ecma-048.htm O CTC (Cursor Tabulation Control) CSI Pn W - DAQ (Define Area Qualification) CSI Pn o - EA (Erase in Area) CSI Pn O - EF (Erase in Field) CSI Pn N - EPA (End of Guarded Area) ESC W - FNT (Font Selection) CSI Pn SP D O HPB (Character Position Backward) CSI Pn j O HTJ (Character Tabulation with Justification) ESC I - PLD (Partial Line Forward) ESC K - PLU (Partial Line Backward) ESC L O REP (Repeat) CSI Pn b O RI (Reverse Line Feed) ESC M O SL (Scroll Left) CSI Pn SP @ - SPA (Start of Guarded Area) ESC V O SR (Scroll Right) CSI Pn SP A O VPB (Line Position Backward) CSI Pn k - VTS (Line Tabulation Set) ESC J https://ttssh2.osdn.jp/manual/ja/about/ctrlseq.html O TTIMERS CSI < r O TTIMEST CSI < Pn t O TTIMESV CSI < s https://github.com/mintty/mintty/wiki/CtrlSeqs O (Application Escape Mode) CSI ? 7727 [hl] - CSI ? 7700/7728/7730/7766/7767/7783/7786/7787/7796/ http://nanno.dip.jp/softlib/man/rlogin/ctrlcode.html - C25LCT CSI = Pn S O RLAMBCHM CSI ? 8428 [hl] - RLBFAT CSI Pn p - RLCURCOL CSI < Pn ! q - RLIMGCP CSI < Pn ! i - RLSCD CSI Pn v O (Sixel scrolling leaves cursor to right of graphic) CSI ? 8452 [hl] - CSI ? 8400/8401/8402/8403/8405/8406/8435/8437/8440/8441/8442/8443/8448/8449/8450/8451/8453/8455/8456/8457/8458 [hl] https://www.iterm2.com/documentation-escape-codes.html O OSC 1337;Pt ST O DRCSMMv1 CSI ? 8800 [hl] O TNREPTAMB CSI ? 8840 n O OSC 20;Pt ST O OSC 5379/5380/5381/5383;Pt ST * References http://bjh21.me.uk/all-escapes/all-escapes.txt mlterm-3.8.4/doc/en/PROTOCOL010064400017600000144000000305251321054731300140630ustar kenuserscomment -*- mode: text; tab-width:2; indent-tabs-mode:nil -*- mlterm configuration protocol version 20171202 * Protocol exec = "\x1b]5379;" "\x07" set = "\x1b]5379" ( ";" ( "/dev/..." ":" ) "=" )* "\x07" get(pty) = "\x1b]5380;" ( ";") ( "/dev/..." ":" ) "\x07" get(GUI menu) = "\x1b]5381;" ( "/dev/..." ":" ) "\x07" set&save = "\x1b]5383;" ( ";" ( "/dev/..." ":" ) "=" )* "\x07" set font = "\x1b]5379;" ":" "=" "\x07" get(pty) = "\x1b]5380;" ( ";") ":" "\x07" get(GUI menu) = "\x1b]5381;" ":" "\x07" set&save = "\x1b]5383;" ";" ":" "=" "\x07" set color = "\x1b]5379;color:" "=" "\x07" get(pty) = "\x1b]5380;" ( ";color:") "\x07" get(GUI menu) = "\x1b]5381;color:" "\x07" set&save = "\x1b]5383;" ";color:" "=" "\x07" return value = "#" "=" "\x0a" | "#error\x0a" | "#forbidden\x0a" exec command = paste (*) | select_pty | next_pty | prev_pty | full_reset | open_pty | close_pty () | open_screen | vsplit_screen (|%) | hsplit_screen (|%) | next_screen | prev_screen | vresize_screen (+|-) | hresize_screen (+|-) | close_screen | snapshot ("") ("") | gen_proto_challenge | mlclient "" "" | mlclientx "" "" | search_prev | search_next | update_all | show_picture "" "(WxH)" "(WxH+X+Y)" | add_frame "" "(WxH)" | mlconfig | set_shortcut = (*) | scp "(local:|remote:)" "(local:|remote:)" "()" set key = encoding | fg_color | bg_color | tabsize | logsize | fontsize | fade_ratio | mod_meta_key | mod_meta_mode | bel_mode | type_engine | use_anti_alias | use_variable_column_width | use_combining | use_transbg | use_ctl | bidi_mode | bidi_separators | receive_string_via_ucs | input_method | locale | wall_picture | brightness | gamma | contrast | line_space | letter_space | geometry | screen_width_ratio | vertical_mode | scrollbar_mode | static_backscroll_mode | use_multi_column_char | col_size_of_width_a | scrollbar_view_name | sb_fg_color | sb_bg_color | use_dynamic_comb | cursor_fg_color | cursor_bg_color | bd_color | it_color | ul_color | bl_color | co_color | use_bold_font | use_italic_font | hide_underline | icon_path | logging_vt_seq | vt_seq_format | logging_msg | word_separators | use_clipboard | auto_restart | use_alt_buffer | use_ansi_colors | exit_backscroll_by_pty | only_use_unicode_font | not_use_unicode_font | unicode_noconv_areas | unicode_full_width_areas | box_drawing_font | use_urgent_bell | allow_osc52 (*) | allow_scp (*) | auto_detect_encodings | use_auto_detect | use_extended_scroll_shortcut | use_ot_layout | ot_script | ot_features | regard_uri_as_word | vt_color_mode | console_encoding | console_sixel_colors | borderless | underline_offset | baseline_offset | trim_trailing_newline_in_pasting | use_vertical_cursor | click_interval get key = encoding | is_auto_encoding | fg_color | bg_color | tabsize | logsize | fontsize | fade_ratio | mod_meta_key | mod_meta_mode | bel_mode | type_engine | use_anti_alias | use_variable_column_width | use_combining | use_transbg | use_ctl | bidi_mode | bidi_separators | receive_string_via_ucs | input_method | locale | wall_picture | pwd | brightness | gamma | contrast | line_space | letter_space | screen_width_ratio | screen_height_ratio | vertical_mode | scrollbar_mode | static_backscroll_mode | use_multi_column_char | col_size_of_width_a | scrollbar_view_name | sb_fg_color | sb_bg_color | use_dynamic_comb | rows | cols | cursor_fg_color | cursor_bg_color | bd_color | it_color | ul_color | bl_color | co_color | use_bold_font | use_italic_font | hide_underline | pty_list | pty_name | use_clipboard | use_alt_buffer | use_ansi_colors | icon_path | logging_vt_seq | vt_seq_format | word_separators | gui | allow_osc52 | allow_scp | only_use_unicode_font | not_use_unicode_font | unicode_noconv_areas | unicode_full_width_areas | box_drawing_font | auto_detect_encodings | use_auto_detect | use_ot_layout | ot_script | ot_features | regard_uri_as_word | borderless | use_aafont | underline_offset | baseline_offset | trim_trailing_newline_in_pasting | fontconfig | use_vertical_cursor | click_interval (*): Works in "proto:xxxx" in ~/.mlterm/key. value = challenge = font filename = font | aafont | vfont | tfont | vaafont | taafont font key = see man/mlterm.1 or "USASCII" font value = see man/mlterm.1 fontsize = color key = see man/mlterm.1 color value = see man/mlterm.1 * Values for each key allow_osc52 = true | false | switch allow_scp = true | false | switch auto_restart = true | false | switch | auto_detect_encodings = (,)* baseline_offset = bidi_separators = * bd_color = | bl_color = | bel_mode = none | sound | visual bg_color = | box_drawing_font = unicode | decsp | noconv brightness = click_interval = cols = col_size_of_width_a = 1 | 2 contrast = co_colors = | console_encoding = | auto console_sixel_colors = 16 | 256 | full cursor_bg_color = | cursor_fg_color = | encoding = | auto fade_ratio = fg_color = | fontsize = | larger | smaller gamma = hide_underline = true | false | switch icon_path = input_method = ":" ... it_color = | line_space = locale = logsize = mod_meta_key = none | mod1 | mod2 | mod3 | mod4 | meta | alt | super | hyper mod_meta_mode = none | esc | 8bit not_use_unicode_font = true | false | switch only_use_unicode_font = true | false | switch ot_script =